From f4850b870f28f4ccbcc74a76c1eee8c7955c4b94 Mon Sep 17 00:00:00 2001 From: patel-zeel Date: Thu, 31 Oct 2024 16:45:19 +0530 Subject: [PATCH 001/420] replace cv2 with PIL for speed --- supervision/dataset/formats/yolo.py | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/supervision/dataset/formats/yolo.py b/supervision/dataset/formats/yolo.py index 1f9033fc5d..bae938c234 100644 --- a/supervision/dataset/formats/yolo.py +++ b/supervision/dataset/formats/yolo.py @@ -2,8 +2,8 @@ from pathlib import Path from typing import TYPE_CHECKING, Dict, List, Optional, Tuple -import cv2 import numpy as np +from PIL import Image from supervision.config import ORIENTED_BOX_COORDINATES from supervision.dataset.utils import approximate_mask_with_polygons @@ -153,7 +153,7 @@ def load_yolo_annotations( image_paths = [ str(path) for path in list_files_with_extensions( - directory=images_directory_path, extensions=["jpg", "jpeg", "png"] + directory=images_directory_path, extensions=["*"] ) ] @@ -167,10 +167,15 @@ def load_yolo_annotations( annotations[image_path] = Detections.empty() continue - image = cv2.imread(image_path) + # PIL is much faster than cv2 for checking image shape and mode: https://github.com/roboflow/supervision/issues/1554 + image = Image.open(image_path) lines = read_txt_file(file_path=annotation_path, skip_empty=True) - h, w, _ = image.shape + w, h = image.size resolution_wh = (w, h) + if image.mode != "RGB": + raise ValueError( + f"Images must be 'RGB', but {image_path} is '{image.mode}'." + ) with_masks = _with_mask(lines=lines) with_masks = force_masks if force_masks else with_masks From fdb036ecd5ea9af540973c5b2766b4df4a9a557b Mon Sep 17 00:00:00 2001 From: Onuralp SEZER Date: Fri, 8 Nov 2024 09:44:15 +0300 Subject: [PATCH 002/420] =?UTF-8?q?fix(tests):=20=F0=9F=90=9E=20update=20i?= =?UTF-8?q?nference=20slicer=20tests=20to=20new=20overlap=20system=20for?= =?UTF-8?q?=20removing=20test=20warnings?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Onuralp SEZER --- test/detection/tools/test_inference_slicer.py | 37 ++++++++----------- 1 file changed, 15 insertions(+), 22 deletions(-) diff --git a/test/detection/tools/test_inference_slicer.py b/test/detection/tools/test_inference_slicer.py index 812e794139..1e03e158bd 100644 --- a/test/detection/tools/test_inference_slicer.py +++ b/test/detection/tools/test_inference_slicer.py @@ -22,33 +22,26 @@ def callback(_: np.ndarray) -> Detections: @pytest.mark.parametrize( "slice_wh, overlap_ratio_wh, overlap_wh, expected_overlap, exception", [ - # Valid case: overlap_ratio_wh provided, overlap calculated from the ratio - ((128, 128), (0.2, 0.2), None, None, DoesNotRaise()), - # Valid case: overlap_wh in pixels, no ratio provided + # Valid case: explicit overlap_wh in pixels + ((128, 128), None, (26, 26), (26, 26), DoesNotRaise()), + # Valid case: overlap_wh in pixels ((128, 128), None, (20, 20), (20, 20), DoesNotRaise()), - # Invalid case: overlap_ratio_wh greater than 1, should raise ValueError - ((128, 128), (1.1, 0.5), None, None, pytest.raises(ValueError)), # Invalid case: negative overlap_wh, should raise ValueError ((128, 128), None, (-10, 20), None, pytest.raises(ValueError)), - # Invalid case: - # overlap_ratio_wh and overlap_wh provided, should raise ValueError - ((128, 128), (0.5, 0.5), (20, 20), (20, 20), pytest.raises(ValueError)), - # Valid case: no overlap_ratio_wh, overlap_wh = 50 pixels + # Invalid case: no overlaps defined + ((128, 128), None, None, None, pytest.raises(ValueError)), + # Valid case: overlap_wh = 50 pixels ((256, 256), None, (50, 50), (50, 50), DoesNotRaise()), - # Valid case: overlap_ratio_wh provided, overlap calculated from (0.3, 0.3) - ((200, 200), (0.3, 0.3), None, None, DoesNotRaise()), - # Valid case: small overlap_ratio_wh values - ((100, 100), (0.1, 0.1), None, None, DoesNotRaise()), - # Invalid case: negative overlap_ratio_wh value, should raise ValueError - ((128, 128), (-0.1, 0.2), None, None, pytest.raises(ValueError)), - # Invalid case: negative overlap_ratio_wh with overlap_wh provided - ((128, 128), (-0.1, 0.2), (30, 30), None, pytest.raises(ValueError)), - # Invalid case: overlap_wh greater than slice size, should raise ValueError + # Valid case: overlap_wh = 60 pixels + ((200, 200), None, (60, 60), (60, 60), DoesNotRaise()), + # Valid case: small overlap_wh values + ((100, 100), None, (0.1, 0.1), (0.1, 0.1), DoesNotRaise()), + # Invalid case: negative overlap_wh values + ((128, 128), None, (-10, -10), None, pytest.raises(ValueError)), + # Invalid case: overlap_wh greater than slice size ((128, 128), None, (150, 150), (150, 150), DoesNotRaise()), - # Valid case: overlap_ratio_wh is 0, no overlap - ((128, 128), (0.0, 0.0), None, None, DoesNotRaise()), - # Invalid case: no overlaps defined, no overlap - ((128, 128), None, None, None, pytest.raises(ValueError)), + # Valid case: zero overlap + ((128, 128), None, (0, 0), (0, 0), DoesNotRaise()), ], ) def test_inference_slicer_overlap( From 89769e49f790a7c80396139b1fb29b3d79e6b3c5 Mon Sep 17 00:00:00 2001 From: Onuralp SEZER Date: Fri, 15 Nov 2024 16:24:34 +0300 Subject: [PATCH 003/420] =?UTF-8?q?ci:=20=F0=9F=91=B7=20update=20numpy=20d?= =?UTF-8?q?ependency=20to=20a=20simplified=20version=20constraint?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Onuralp SEZER --- poetry.lock | 1272 +++++++++++++++++++++++++++--------------------- pyproject.toml | 17 +- 2 files changed, 723 insertions(+), 566 deletions(-) diff --git a/poetry.lock b/poetry.lock index 0d69292c69..0afa448e5e 100644 --- a/poetry.lock +++ b/poetry.lock @@ -1,14 +1,14 @@ -# This file is automatically @generated by Poetry 1.8.3 and should not be changed by hand. +# This file is automatically @generated by Poetry 1.8.4 and should not be changed by hand. [[package]] name = "anyio" -version = "4.6.2" +version = "4.5.2" description = "High level compatibility layer for multiple asynchronous event loop implementations" optional = false python-versions = ">=3.8" files = [ - {file = "anyio-4.6.2-py3-none-any.whl", hash = "sha256:6caec6b1391f6f6d7b2ef2258d2902d36753149f67478f7df4be8e54d03a8f54"}, - {file = "anyio-4.6.2.tar.gz", hash = "sha256:f72a7bb3dd0752b3bd8b17a844a019d7fbf6ae218c588f4f9ba1b2f600b12347"}, + {file = "anyio-4.5.2-py3-none-any.whl", hash = "sha256:c011ee36bc1e8ba40e5a81cb9df91925c218fe9b778554e0b56a21e1b5d4716f"}, + {file = "anyio-4.5.2.tar.gz", hash = "sha256:23009af4ed04ce05991845451e11ef02fc7c5ed29179ac9a420e5ad0ac7ddc5b"}, ] [package.dependencies] @@ -737,76 +737,65 @@ test-no-images = ["pytest", "pytest-cov", "wurlitzer"] [[package]] name = "contourpy" -version = "1.3.0" +version = "1.3.1" description = "Python library for calculating contours of 2D quadrilateral grids" optional = false -python-versions = ">=3.9" +python-versions = ">=3.10" files = [ - {file = "contourpy-1.3.0-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:880ea32e5c774634f9fcd46504bf9f080a41ad855f4fef54f5380f5133d343c7"}, - {file = "contourpy-1.3.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:76c905ef940a4474a6289c71d53122a4f77766eef23c03cd57016ce19d0f7b42"}, - {file = "contourpy-1.3.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:92f8557cbb07415a4d6fa191f20fd9d2d9eb9c0b61d1b2f52a8926e43c6e9af7"}, - {file = "contourpy-1.3.0-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:36f965570cff02b874773c49bfe85562b47030805d7d8360748f3eca570f4cab"}, - {file = "contourpy-1.3.0-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:cacd81e2d4b6f89c9f8a5b69b86490152ff39afc58a95af002a398273e5ce589"}, - {file = "contourpy-1.3.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:69375194457ad0fad3a839b9e29aa0b0ed53bb54db1bfb6c3ae43d111c31ce41"}, - {file = "contourpy-1.3.0-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:7a52040312b1a858b5e31ef28c2e865376a386c60c0e248370bbea2d3f3b760d"}, - {file = "contourpy-1.3.0-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:3faeb2998e4fcb256542e8a926d08da08977f7f5e62cf733f3c211c2a5586223"}, - {file = "contourpy-1.3.0-cp310-cp310-win32.whl", hash = "sha256:36e0cff201bcb17a0a8ecc7f454fe078437fa6bda730e695a92f2d9932bd507f"}, - {file = "contourpy-1.3.0-cp310-cp310-win_amd64.whl", hash = "sha256:87ddffef1dbe5e669b5c2440b643d3fdd8622a348fe1983fad7a0f0ccb1cd67b"}, - {file = "contourpy-1.3.0-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:0fa4c02abe6c446ba70d96ece336e621efa4aecae43eaa9b030ae5fb92b309ad"}, - {file = "contourpy-1.3.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:834e0cfe17ba12f79963861e0f908556b2cedd52e1f75e6578801febcc6a9f49"}, - {file = "contourpy-1.3.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:dbc4c3217eee163fa3984fd1567632b48d6dfd29216da3ded3d7b844a8014a66"}, - {file = "contourpy-1.3.0-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:4865cd1d419e0c7a7bf6de1777b185eebdc51470800a9f42b9e9decf17762081"}, - {file = "contourpy-1.3.0-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:303c252947ab4b14c08afeb52375b26781ccd6a5ccd81abcdfc1fafd14cf93c1"}, - {file = "contourpy-1.3.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:637f674226be46f6ba372fd29d9523dd977a291f66ab2a74fbeb5530bb3f445d"}, - {file = "contourpy-1.3.0-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:76a896b2f195b57db25d6b44e7e03f221d32fe318d03ede41f8b4d9ba1bff53c"}, - {file = "contourpy-1.3.0-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:e1fd23e9d01591bab45546c089ae89d926917a66dceb3abcf01f6105d927e2cb"}, - {file = "contourpy-1.3.0-cp311-cp311-win32.whl", hash = "sha256:d402880b84df3bec6eab53cd0cf802cae6a2ef9537e70cf75e91618a3801c20c"}, - {file = "contourpy-1.3.0-cp311-cp311-win_amd64.whl", hash = "sha256:6cb6cc968059db9c62cb35fbf70248f40994dfcd7aa10444bbf8b3faeb7c2d67"}, - {file = "contourpy-1.3.0-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:570ef7cf892f0afbe5b2ee410c507ce12e15a5fa91017a0009f79f7d93a1268f"}, - {file = "contourpy-1.3.0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:da84c537cb8b97d153e9fb208c221c45605f73147bd4cadd23bdae915042aad6"}, - {file = "contourpy-1.3.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:0be4d8425bfa755e0fd76ee1e019636ccc7c29f77a7c86b4328a9eb6a26d0639"}, - {file = "contourpy-1.3.0-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:9c0da700bf58f6e0b65312d0a5e695179a71d0163957fa381bb3c1f72972537c"}, - {file = "contourpy-1.3.0-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:eb8b141bb00fa977d9122636b16aa67d37fd40a3d8b52dd837e536d64b9a4d06"}, - {file = "contourpy-1.3.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:3634b5385c6716c258d0419c46d05c8aa7dc8cb70326c9a4fb66b69ad2b52e09"}, - {file = "contourpy-1.3.0-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:0dce35502151b6bd35027ac39ba6e5a44be13a68f55735c3612c568cac3805fd"}, - {file = "contourpy-1.3.0-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:aea348f053c645100612b333adc5983d87be69acdc6d77d3169c090d3b01dc35"}, - {file = "contourpy-1.3.0-cp312-cp312-win32.whl", hash = "sha256:90f73a5116ad1ba7174341ef3ea5c3150ddf20b024b98fb0c3b29034752c8aeb"}, - {file = "contourpy-1.3.0-cp312-cp312-win_amd64.whl", hash = "sha256:b11b39aea6be6764f84360fce6c82211a9db32a7c7de8fa6dd5397cf1d079c3b"}, - {file = "contourpy-1.3.0-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:3e1c7fa44aaae40a2247e2e8e0627f4bea3dd257014764aa644f319a5f8600e3"}, - {file = "contourpy-1.3.0-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:364174c2a76057feef647c802652f00953b575723062560498dc7930fc9b1cb7"}, - {file = "contourpy-1.3.0-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:32b238b3b3b649e09ce9aaf51f0c261d38644bdfa35cbaf7b263457850957a84"}, - {file = "contourpy-1.3.0-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:d51fca85f9f7ad0b65b4b9fe800406d0d77017d7270d31ec3fb1cc07358fdea0"}, - {file = "contourpy-1.3.0-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:732896af21716b29ab3e988d4ce14bc5133733b85956316fb0c56355f398099b"}, - {file = "contourpy-1.3.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:d73f659398a0904e125280836ae6f88ba9b178b2fed6884f3b1f95b989d2c8da"}, - {file = "contourpy-1.3.0-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:c6c7c2408b7048082932cf4e641fa3b8ca848259212f51c8c59c45aa7ac18f14"}, - {file = "contourpy-1.3.0-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:f317576606de89da6b7e0861cf6061f6146ead3528acabff9236458a6ba467f8"}, - {file = "contourpy-1.3.0-cp313-cp313-win32.whl", hash = "sha256:31cd3a85dbdf1fc002280c65caa7e2b5f65e4a973fcdf70dd2fdcb9868069294"}, - {file = "contourpy-1.3.0-cp313-cp313-win_amd64.whl", hash = "sha256:4553c421929ec95fb07b3aaca0fae668b2eb5a5203d1217ca7c34c063c53d087"}, - {file = "contourpy-1.3.0-cp313-cp313t-macosx_10_13_x86_64.whl", hash = "sha256:345af746d7766821d05d72cb8f3845dfd08dd137101a2cb9b24de277d716def8"}, - {file = "contourpy-1.3.0-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:3bb3808858a9dc68f6f03d319acd5f1b8a337e6cdda197f02f4b8ff67ad2057b"}, - {file = "contourpy-1.3.0-cp313-cp313t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:420d39daa61aab1221567b42eecb01112908b2cab7f1b4106a52caaec8d36973"}, - {file = "contourpy-1.3.0-cp313-cp313t-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:4d63ee447261e963af02642ffcb864e5a2ee4cbfd78080657a9880b8b1868e18"}, - {file = "contourpy-1.3.0-cp313-cp313t-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:167d6c890815e1dac9536dca00828b445d5d0df4d6a8c6adb4a7ec3166812fa8"}, - {file = "contourpy-1.3.0-cp313-cp313t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:710a26b3dc80c0e4febf04555de66f5fd17e9cf7170a7b08000601a10570bda6"}, - {file = "contourpy-1.3.0-cp313-cp313t-musllinux_1_2_aarch64.whl", hash = "sha256:75ee7cb1a14c617f34a51d11fa7524173e56551646828353c4af859c56b766e2"}, - {file = "contourpy-1.3.0-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:33c92cdae89ec5135d036e7218e69b0bb2851206077251f04a6c4e0e21f03927"}, - {file = "contourpy-1.3.0-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:a11077e395f67ffc2c44ec2418cfebed032cd6da3022a94fc227b6faf8e2acb8"}, - {file = "contourpy-1.3.0-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:e8134301d7e204c88ed7ab50028ba06c683000040ede1d617298611f9dc6240c"}, - {file = "contourpy-1.3.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:e12968fdfd5bb45ffdf6192a590bd8ddd3ba9e58360b29683c6bb71a7b41edca"}, - {file = "contourpy-1.3.0-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:fd2a0fc506eccaaa7595b7e1418951f213cf8255be2600f1ea1b61e46a60c55f"}, - {file = "contourpy-1.3.0-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:4cfb5c62ce023dfc410d6059c936dcf96442ba40814aefbfa575425a3a7f19dc"}, - {file = "contourpy-1.3.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:68a32389b06b82c2fdd68276148d7b9275b5f5cf13e5417e4252f6d1a34f72a2"}, - {file = "contourpy-1.3.0-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:94e848a6b83da10898cbf1311a815f770acc9b6a3f2d646f330d57eb4e87592e"}, - {file = "contourpy-1.3.0-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:d78ab28a03c854a873787a0a42254a0ccb3cb133c672f645c9f9c8f3ae9d0800"}, - {file = "contourpy-1.3.0-cp39-cp39-win32.whl", hash = "sha256:81cb5ed4952aae6014bc9d0421dec7c5835c9c8c31cdf51910b708f548cf58e5"}, - {file = "contourpy-1.3.0-cp39-cp39-win_amd64.whl", hash = "sha256:14e262f67bd7e6eb6880bc564dcda30b15e351a594657e55b7eec94b6ef72843"}, - {file = "contourpy-1.3.0-pp310-pypy310_pp73-macosx_10_15_x86_64.whl", hash = "sha256:fe41b41505a5a33aeaed2a613dccaeaa74e0e3ead6dd6fd3a118fb471644fd6c"}, - {file = "contourpy-1.3.0-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:eca7e17a65f72a5133bdbec9ecf22401c62bcf4821361ef7811faee695799779"}, - {file = "contourpy-1.3.0-pp310-pypy310_pp73-win_amd64.whl", hash = "sha256:1ec4dc6bf570f5b22ed0d7efba0dfa9c5b9e0431aeea7581aa217542d9e809a4"}, - {file = "contourpy-1.3.0-pp39-pypy39_pp73-macosx_10_15_x86_64.whl", hash = "sha256:00ccd0dbaad6d804ab259820fa7cb0b8036bda0686ef844d24125d8287178ce0"}, - {file = "contourpy-1.3.0-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:8ca947601224119117f7c19c9cdf6b3ab54c5726ef1d906aa4a69dfb6dd58102"}, - {file = "contourpy-1.3.0-pp39-pypy39_pp73-win_amd64.whl", hash = "sha256:c6ec93afeb848a0845a18989da3beca3eec2c0f852322efe21af1931147d12cb"}, - {file = "contourpy-1.3.0.tar.gz", hash = "sha256:7ffa0db17717a8ffb127efd0c95a4362d996b892c2904db72428d5b52e1938a4"}, + {file = "contourpy-1.3.1-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:a045f341a77b77e1c5de31e74e966537bba9f3c4099b35bf4c2e3939dd54cdab"}, + {file = "contourpy-1.3.1-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:500360b77259914f7805af7462e41f9cb7ca92ad38e9f94d6c8641b089338124"}, + {file = "contourpy-1.3.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:b2f926efda994cdf3c8d3fdb40b9962f86edbc4457e739277b961eced3d0b4c1"}, + {file = "contourpy-1.3.1-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:adce39d67c0edf383647a3a007de0a45fd1b08dedaa5318404f1a73059c2512b"}, + {file = "contourpy-1.3.1-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:abbb49fb7dac584e5abc6636b7b2a7227111c4f771005853e7d25176daaf8453"}, + {file = "contourpy-1.3.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:a0cffcbede75c059f535725c1680dfb17b6ba8753f0c74b14e6a9c68c29d7ea3"}, + {file = "contourpy-1.3.1-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:ab29962927945d89d9b293eabd0d59aea28d887d4f3be6c22deaefbb938a7277"}, + {file = "contourpy-1.3.1-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:974d8145f8ca354498005b5b981165b74a195abfae9a8129df3e56771961d595"}, + {file = "contourpy-1.3.1-cp310-cp310-win32.whl", hash = "sha256:ac4578ac281983f63b400f7fe6c101bedc10651650eef012be1ccffcbacf3697"}, + {file = "contourpy-1.3.1-cp310-cp310-win_amd64.whl", hash = "sha256:174e758c66bbc1c8576992cec9599ce8b6672b741b5d336b5c74e35ac382b18e"}, + {file = "contourpy-1.3.1-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:3e8b974d8db2c5610fb4e76307e265de0edb655ae8169e8b21f41807ccbeec4b"}, + {file = "contourpy-1.3.1-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:20914c8c973f41456337652a6eeca26d2148aa96dd7ac323b74516988bea89fc"}, + {file = "contourpy-1.3.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:19d40d37c1c3a4961b4619dd9d77b12124a453cc3d02bb31a07d58ef684d3d86"}, + {file = "contourpy-1.3.1-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:113231fe3825ebf6f15eaa8bc1f5b0ddc19d42b733345eae0934cb291beb88b6"}, + {file = "contourpy-1.3.1-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:4dbbc03a40f916a8420e420d63e96a1258d3d1b58cbdfd8d1f07b49fcbd38e85"}, + {file = "contourpy-1.3.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:3a04ecd68acbd77fa2d39723ceca4c3197cb2969633836ced1bea14e219d077c"}, + {file = "contourpy-1.3.1-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:c414fc1ed8ee1dbd5da626cf3710c6013d3d27456651d156711fa24f24bd1291"}, + {file = "contourpy-1.3.1-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:31c1b55c1f34f80557d3830d3dd93ba722ce7e33a0b472cba0ec3b6535684d8f"}, + {file = "contourpy-1.3.1-cp311-cp311-win32.whl", hash = "sha256:f611e628ef06670df83fce17805c344710ca5cde01edfdc72751311da8585375"}, + {file = "contourpy-1.3.1-cp311-cp311-win_amd64.whl", hash = "sha256:b2bdca22a27e35f16794cf585832e542123296b4687f9fd96822db6bae17bfc9"}, + {file = "contourpy-1.3.1-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:0ffa84be8e0bd33410b17189f7164c3589c229ce5db85798076a3fa136d0e509"}, + {file = "contourpy-1.3.1-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:805617228ba7e2cbbfb6c503858e626ab528ac2a32a04a2fe88ffaf6b02c32bc"}, + {file = "contourpy-1.3.1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:ade08d343436a94e633db932e7e8407fe7de8083967962b46bdfc1b0ced39454"}, + {file = "contourpy-1.3.1-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:47734d7073fb4590b4a40122b35917cd77be5722d80683b249dac1de266aac80"}, + {file = "contourpy-1.3.1-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:2ba94a401342fc0f8b948e57d977557fbf4d515f03c67682dd5c6191cb2d16ec"}, + {file = "contourpy-1.3.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:efa874e87e4a647fd2e4f514d5e91c7d493697127beb95e77d2f7561f6905bd9"}, + {file = "contourpy-1.3.1-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:1bf98051f1045b15c87868dbaea84f92408337d4f81d0e449ee41920ea121d3b"}, + {file = "contourpy-1.3.1-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:61332c87493b00091423e747ea78200659dc09bdf7fd69edd5e98cef5d3e9a8d"}, + {file = "contourpy-1.3.1-cp312-cp312-win32.whl", hash = "sha256:e914a8cb05ce5c809dd0fe350cfbb4e881bde5e2a38dc04e3afe1b3e58bd158e"}, + {file = "contourpy-1.3.1-cp312-cp312-win_amd64.whl", hash = "sha256:08d9d449a61cf53033612cb368f3a1b26cd7835d9b8cd326647efe43bca7568d"}, + {file = "contourpy-1.3.1-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:a761d9ccfc5e2ecd1bf05534eda382aa14c3e4f9205ba5b1684ecfe400716ef2"}, + {file = "contourpy-1.3.1-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:523a8ee12edfa36f6d2a49407f705a6ef4c5098de4f498619787e272de93f2d5"}, + {file = "contourpy-1.3.1-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:ece6df05e2c41bd46776fbc712e0996f7c94e0d0543af1656956d150c4ca7c81"}, + {file = "contourpy-1.3.1-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:573abb30e0e05bf31ed067d2f82500ecfdaec15627a59d63ea2d95714790f5c2"}, + {file = "contourpy-1.3.1-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:a9fa36448e6a3a1a9a2ba23c02012c43ed88905ec80163f2ffe2421c7192a5d7"}, + {file = "contourpy-1.3.1-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:3ea9924d28fc5586bf0b42d15f590b10c224117e74409dd7a0be3b62b74a501c"}, + {file = "contourpy-1.3.1-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:5b75aa69cb4d6f137b36f7eb2ace9280cfb60c55dc5f61c731fdf6f037f958a3"}, + {file = "contourpy-1.3.1-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:041b640d4ec01922083645a94bb3b2e777e6b626788f4095cf21abbe266413c1"}, + {file = "contourpy-1.3.1-cp313-cp313-win32.whl", hash = "sha256:36987a15e8ace5f58d4d5da9dca82d498c2bbb28dff6e5d04fbfcc35a9cb3a82"}, + {file = "contourpy-1.3.1-cp313-cp313-win_amd64.whl", hash = "sha256:a7895f46d47671fa7ceec40f31fae721da51ad34bdca0bee83e38870b1f47ffd"}, + {file = "contourpy-1.3.1-cp313-cp313t-macosx_10_13_x86_64.whl", hash = "sha256:9ddeb796389dadcd884c7eb07bd14ef12408aaae358f0e2ae24114d797eede30"}, + {file = "contourpy-1.3.1-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:19c1555a6801c2f084c7ddc1c6e11f02eb6a6016ca1318dd5452ba3f613a1751"}, + {file = "contourpy-1.3.1-cp313-cp313t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:841ad858cff65c2c04bf93875e384ccb82b654574a6d7f30453a04f04af71342"}, + {file = "contourpy-1.3.1-cp313-cp313t-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:4318af1c925fb9a4fb190559ef3eec206845f63e80fb603d47f2d6d67683901c"}, + {file = "contourpy-1.3.1-cp313-cp313t-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:14c102b0eab282427b662cb590f2e9340a9d91a1c297f48729431f2dcd16e14f"}, + {file = "contourpy-1.3.1-cp313-cp313t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:05e806338bfeaa006acbdeba0ad681a10be63b26e1b17317bfac3c5d98f36cda"}, + {file = "contourpy-1.3.1-cp313-cp313t-musllinux_1_2_aarch64.whl", hash = "sha256:4d76d5993a34ef3df5181ba3c92fabb93f1eaa5729504fb03423fcd9f3177242"}, + {file = "contourpy-1.3.1-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:89785bb2a1980c1bd87f0cb1517a71cde374776a5f150936b82580ae6ead44a1"}, + {file = "contourpy-1.3.1-cp313-cp313t-win32.whl", hash = "sha256:8eb96e79b9f3dcadbad2a3891672f81cdcab7f95b27f28f1c67d75f045b6b4f1"}, + {file = "contourpy-1.3.1-cp313-cp313t-win_amd64.whl", hash = "sha256:287ccc248c9e0d0566934e7d606201abd74761b5703d804ff3df8935f523d546"}, + {file = "contourpy-1.3.1-pp310-pypy310_pp73-macosx_10_15_x86_64.whl", hash = "sha256:b457d6430833cee8e4b8e9b6f07aa1c161e5e0d52e118dc102c8f9bd7dd060d6"}, + {file = "contourpy-1.3.1-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:cb76c1a154b83991a3cbbf0dfeb26ec2833ad56f95540b442c73950af2013750"}, + {file = "contourpy-1.3.1-pp310-pypy310_pp73-win_amd64.whl", hash = "sha256:44a29502ca9c7b5ba389e620d44f2fbe792b1fb5734e8b931ad307071ec58c53"}, + {file = "contourpy-1.3.1.tar.gz", hash = "sha256:dfd97abd83335045a913e3bcc4a09c0ceadbe66580cf573fe961f4a825efa699"}, ] [package.dependencies] @@ -821,38 +810,38 @@ test-no-images = ["pytest", "pytest-cov", "pytest-rerunfailures", "pytest-xdist" [[package]] name = "cryptography" -version = "43.0.1" +version = "43.0.3" description = "cryptography is a package which provides cryptographic recipes and primitives to Python developers." optional = false python-versions = ">=3.7" files = [ - {file = "cryptography-43.0.1-cp37-abi3-macosx_10_9_universal2.whl", hash = "sha256:8385d98f6a3bf8bb2d65a73e17ed87a3ba84f6991c155691c51112075f9ffc5d"}, - {file = "cryptography-43.0.1-cp37-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:27e613d7077ac613e399270253259d9d53872aaf657471473ebfc9a52935c062"}, - {file = "cryptography-43.0.1-cp37-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:68aaecc4178e90719e95298515979814bda0cbada1256a4485414860bd7ab962"}, - {file = "cryptography-43.0.1-cp37-abi3-manylinux_2_28_aarch64.whl", hash = "sha256:de41fd81a41e53267cb020bb3a7212861da53a7d39f863585d13ea11049cf277"}, - {file = "cryptography-43.0.1-cp37-abi3-manylinux_2_28_x86_64.whl", hash = "sha256:f98bf604c82c416bc829e490c700ca1553eafdf2912a91e23a79d97d9801372a"}, - {file = "cryptography-43.0.1-cp37-abi3-musllinux_1_2_aarch64.whl", hash = "sha256:61ec41068b7b74268fa86e3e9e12b9f0c21fcf65434571dbb13d954bceb08042"}, - {file = "cryptography-43.0.1-cp37-abi3-musllinux_1_2_x86_64.whl", hash = "sha256:014f58110f53237ace6a408b5beb6c427b64e084eb451ef25a28308270086494"}, - {file = "cryptography-43.0.1-cp37-abi3-win32.whl", hash = "sha256:2bd51274dcd59f09dd952afb696bf9c61a7a49dfc764c04dd33ef7a6b502a1e2"}, - {file = "cryptography-43.0.1-cp37-abi3-win_amd64.whl", hash = "sha256:666ae11966643886c2987b3b721899d250855718d6d9ce41b521252a17985f4d"}, - {file = "cryptography-43.0.1-cp39-abi3-macosx_10_9_universal2.whl", hash = "sha256:ac119bb76b9faa00f48128b7f5679e1d8d437365c5d26f1c2c3f0da4ce1b553d"}, - {file = "cryptography-43.0.1-cp39-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:1bbcce1a551e262dfbafb6e6252f1ae36a248e615ca44ba302df077a846a8806"}, - {file = "cryptography-43.0.1-cp39-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:58d4e9129985185a06d849aa6df265bdd5a74ca6e1b736a77959b498e0505b85"}, - {file = "cryptography-43.0.1-cp39-abi3-manylinux_2_28_aarch64.whl", hash = "sha256:d03a475165f3134f773d1388aeb19c2d25ba88b6a9733c5c590b9ff7bbfa2e0c"}, - {file = "cryptography-43.0.1-cp39-abi3-manylinux_2_28_x86_64.whl", hash = "sha256:511f4273808ab590912a93ddb4e3914dfd8a388fed883361b02dea3791f292e1"}, - {file = "cryptography-43.0.1-cp39-abi3-musllinux_1_2_aarch64.whl", hash = "sha256:80eda8b3e173f0f247f711eef62be51b599b5d425c429b5d4ca6a05e9e856baa"}, - {file = "cryptography-43.0.1-cp39-abi3-musllinux_1_2_x86_64.whl", hash = "sha256:38926c50cff6f533f8a2dae3d7f19541432610d114a70808f0926d5aaa7121e4"}, - {file = "cryptography-43.0.1-cp39-abi3-win32.whl", hash = "sha256:a575913fb06e05e6b4b814d7f7468c2c660e8bb16d8d5a1faf9b33ccc569dd47"}, - {file = "cryptography-43.0.1-cp39-abi3-win_amd64.whl", hash = "sha256:d75601ad10b059ec832e78823b348bfa1a59f6b8d545db3a24fd44362a1564cb"}, - {file = "cryptography-43.0.1-pp310-pypy310_pp73-macosx_10_9_x86_64.whl", hash = "sha256:ea25acb556320250756e53f9e20a4177515f012c9eaea17eb7587a8c4d8ae034"}, - {file = "cryptography-43.0.1-pp310-pypy310_pp73-manylinux_2_28_aarch64.whl", hash = "sha256:c1332724be35d23a854994ff0b66530119500b6053d0bd3363265f7e5e77288d"}, - {file = "cryptography-43.0.1-pp310-pypy310_pp73-manylinux_2_28_x86_64.whl", hash = "sha256:fba1007b3ef89946dbbb515aeeb41e30203b004f0b4b00e5e16078b518563289"}, - {file = "cryptography-43.0.1-pp310-pypy310_pp73-win_amd64.whl", hash = "sha256:5b43d1ea6b378b54a1dc99dd8a2b5be47658fe9a7ce0a58ff0b55f4b43ef2b84"}, - {file = "cryptography-43.0.1-pp39-pypy39_pp73-macosx_10_9_x86_64.whl", hash = "sha256:88cce104c36870d70c49c7c8fd22885875d950d9ee6ab54df2745f83ba0dc365"}, - {file = "cryptography-43.0.1-pp39-pypy39_pp73-manylinux_2_28_aarch64.whl", hash = "sha256:9d3cdb25fa98afdd3d0892d132b8d7139e2c087da1712041f6b762e4f807cc96"}, - {file = "cryptography-43.0.1-pp39-pypy39_pp73-manylinux_2_28_x86_64.whl", hash = "sha256:e710bf40870f4db63c3d7d929aa9e09e4e7ee219e703f949ec4073b4294f6172"}, - {file = "cryptography-43.0.1-pp39-pypy39_pp73-win_amd64.whl", hash = "sha256:7c05650fe8023c5ed0d46793d4b7d7e6cd9c04e68eabe5b0aeea836e37bdcec2"}, - {file = "cryptography-43.0.1.tar.gz", hash = "sha256:203e92a75716d8cfb491dc47c79e17d0d9207ccffcbcb35f598fbe463ae3444d"}, + {file = "cryptography-43.0.3-cp37-abi3-macosx_10_9_universal2.whl", hash = "sha256:bf7a1932ac4176486eab36a19ed4c0492da5d97123f1406cf15e41b05e787d2e"}, + {file = "cryptography-43.0.3-cp37-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:63efa177ff54aec6e1c0aefaa1a241232dcd37413835a9b674b6e3f0ae2bfd3e"}, + {file = "cryptography-43.0.3-cp37-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:7e1ce50266f4f70bf41a2c6dc4358afadae90e2a1e5342d3c08883df1675374f"}, + {file = "cryptography-43.0.3-cp37-abi3-manylinux_2_28_aarch64.whl", hash = "sha256:443c4a81bb10daed9a8f334365fe52542771f25aedaf889fd323a853ce7377d6"}, + {file = "cryptography-43.0.3-cp37-abi3-manylinux_2_28_x86_64.whl", hash = "sha256:74f57f24754fe349223792466a709f8e0c093205ff0dca557af51072ff47ab18"}, + {file = "cryptography-43.0.3-cp37-abi3-musllinux_1_2_aarch64.whl", hash = "sha256:9762ea51a8fc2a88b70cf2995e5675b38d93bf36bd67d91721c309df184f49bd"}, + {file = "cryptography-43.0.3-cp37-abi3-musllinux_1_2_x86_64.whl", hash = "sha256:81ef806b1fef6b06dcebad789f988d3b37ccaee225695cf3e07648eee0fc6b73"}, + {file = "cryptography-43.0.3-cp37-abi3-win32.whl", hash = "sha256:cbeb489927bd7af4aa98d4b261af9a5bc025bd87f0e3547e11584be9e9427be2"}, + {file = "cryptography-43.0.3-cp37-abi3-win_amd64.whl", hash = "sha256:f46304d6f0c6ab8e52770addfa2fc41e6629495548862279641972b6215451cd"}, + {file = "cryptography-43.0.3-cp39-abi3-macosx_10_9_universal2.whl", hash = "sha256:8ac43ae87929a5982f5948ceda07001ee5e83227fd69cf55b109144938d96984"}, + {file = "cryptography-43.0.3-cp39-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:846da004a5804145a5f441b8530b4bf35afbf7da70f82409f151695b127213d5"}, + {file = "cryptography-43.0.3-cp39-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:0f996e7268af62598f2fc1204afa98a3b5712313a55c4c9d434aef49cadc91d4"}, + {file = "cryptography-43.0.3-cp39-abi3-manylinux_2_28_aarch64.whl", hash = "sha256:f7b178f11ed3664fd0e995a47ed2b5ff0a12d893e41dd0494f406d1cf555cab7"}, + {file = "cryptography-43.0.3-cp39-abi3-manylinux_2_28_x86_64.whl", hash = "sha256:c2e6fc39c4ab499049df3bdf567f768a723a5e8464816e8f009f121a5a9f4405"}, + {file = "cryptography-43.0.3-cp39-abi3-musllinux_1_2_aarch64.whl", hash = "sha256:e1be4655c7ef6e1bbe6b5d0403526601323420bcf414598955968c9ef3eb7d16"}, + {file = "cryptography-43.0.3-cp39-abi3-musllinux_1_2_x86_64.whl", hash = "sha256:df6b6c6d742395dd77a23ea3728ab62f98379eff8fb61be2744d4679ab678f73"}, + {file = "cryptography-43.0.3-cp39-abi3-win32.whl", hash = "sha256:d56e96520b1020449bbace2b78b603442e7e378a9b3bd68de65c782db1507995"}, + {file = "cryptography-43.0.3-cp39-abi3-win_amd64.whl", hash = "sha256:0c580952eef9bf68c4747774cde7ec1d85a6e61de97281f2dba83c7d2c806362"}, + {file = "cryptography-43.0.3-pp310-pypy310_pp73-macosx_10_9_x86_64.whl", hash = "sha256:d03b5621a135bffecad2c73e9f4deb1a0f977b9a8ffe6f8e002bf6c9d07b918c"}, + {file = "cryptography-43.0.3-pp310-pypy310_pp73-manylinux_2_28_aarch64.whl", hash = "sha256:a2a431ee15799d6db9fe80c82b055bae5a752bef645bba795e8e52687c69efe3"}, + {file = "cryptography-43.0.3-pp310-pypy310_pp73-manylinux_2_28_x86_64.whl", hash = "sha256:281c945d0e28c92ca5e5930664c1cefd85efe80e5c0d2bc58dd63383fda29f83"}, + {file = "cryptography-43.0.3-pp310-pypy310_pp73-win_amd64.whl", hash = "sha256:f18c716be16bc1fea8e95def49edf46b82fccaa88587a45f8dc0ff6ab5d8e0a7"}, + {file = "cryptography-43.0.3-pp39-pypy39_pp73-macosx_10_9_x86_64.whl", hash = "sha256:4a02ded6cd4f0a5562a8887df8b3bd14e822a90f97ac5e544c162899bc467664"}, + {file = "cryptography-43.0.3-pp39-pypy39_pp73-manylinux_2_28_aarch64.whl", hash = "sha256:53a583b6637ab4c4e3591a15bc9db855b8d9dee9a669b550f311480acab6eb08"}, + {file = "cryptography-43.0.3-pp39-pypy39_pp73-manylinux_2_28_x86_64.whl", hash = "sha256:1ec0bcf7e17c0c5669d881b1cd38c4972fade441b27bda1051665faaa89bdcaa"}, + {file = "cryptography-43.0.3-pp39-pypy39_pp73-win_amd64.whl", hash = "sha256:2ce6fae5bdad59577b44e4dfed356944fbf1d925269114c28be377692643b4ff"}, + {file = "cryptography-43.0.3.tar.gz", hash = "sha256:315b9001266a492a6ff443b61238f956b214dbec9910a081ba5b6646a055a805"}, ] [package.dependencies] @@ -865,7 +854,7 @@ nox = ["nox"] pep8test = ["check-sdist", "click", "mypy", "ruff"] sdist = ["build"] ssh = ["bcrypt (>=3.1.5)"] -test = ["certifi", "cryptography-vectors (==43.0.1)", "pretend", "pytest (>=6.2.0)", "pytest-benchmark", "pytest-cov", "pytest-xdist"] +test = ["certifi", "cryptography-vectors (==43.0.3)", "pretend", "pytest (>=6.2.0)", "pytest-benchmark", "pytest-cov", "pytest-xdist"] test-randomorder = ["pytest-randomly"] [[package]] @@ -904,37 +893,37 @@ tests = ["pytest", "pytest-cov", "pytest-xdist"] [[package]] name = "debugpy" -version = "1.8.7" +version = "1.8.8" description = "An implementation of the Debug Adapter Protocol for Python" optional = false python-versions = ">=3.8" files = [ - {file = "debugpy-1.8.7-cp310-cp310-macosx_14_0_x86_64.whl", hash = "sha256:95fe04a573b8b22896c404365e03f4eda0ce0ba135b7667a1e57bd079793b96b"}, - {file = "debugpy-1.8.7-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:628a11f4b295ffb4141d8242a9bb52b77ad4a63a2ad19217a93be0f77f2c28c9"}, - {file = "debugpy-1.8.7-cp310-cp310-win32.whl", hash = "sha256:85ce9c1d0eebf622f86cc68618ad64bf66c4fc3197d88f74bb695a416837dd55"}, - {file = "debugpy-1.8.7-cp310-cp310-win_amd64.whl", hash = "sha256:29e1571c276d643757ea126d014abda081eb5ea4c851628b33de0c2b6245b037"}, - {file = "debugpy-1.8.7-cp311-cp311-macosx_14_0_universal2.whl", hash = "sha256:caf528ff9e7308b74a1749c183d6808ffbedbb9fb6af78b033c28974d9b8831f"}, - {file = "debugpy-1.8.7-cp311-cp311-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:cba1d078cf2e1e0b8402e6bda528bf8fda7ccd158c3dba6c012b7897747c41a0"}, - {file = "debugpy-1.8.7-cp311-cp311-win32.whl", hash = "sha256:171899588bcd412151e593bd40d9907133a7622cd6ecdbdb75f89d1551df13c2"}, - {file = "debugpy-1.8.7-cp311-cp311-win_amd64.whl", hash = "sha256:6e1c4ffb0c79f66e89dfd97944f335880f0d50ad29525dc792785384923e2211"}, - {file = "debugpy-1.8.7-cp312-cp312-macosx_14_0_universal2.whl", hash = "sha256:4d27d842311353ede0ad572600c62e4bcd74f458ee01ab0dd3a1a4457e7e3706"}, - {file = "debugpy-1.8.7-cp312-cp312-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:703c1fd62ae0356e194f3e7b7a92acd931f71fe81c4b3be2c17a7b8a4b546ec2"}, - {file = "debugpy-1.8.7-cp312-cp312-win32.whl", hash = "sha256:2f729228430ef191c1e4df72a75ac94e9bf77413ce5f3f900018712c9da0aaca"}, - {file = "debugpy-1.8.7-cp312-cp312-win_amd64.whl", hash = "sha256:45c30aaefb3e1975e8a0258f5bbd26cd40cde9bfe71e9e5a7ac82e79bad64e39"}, - {file = "debugpy-1.8.7-cp313-cp313-macosx_14_0_universal2.whl", hash = "sha256:d050a1ec7e925f514f0f6594a1e522580317da31fbda1af71d1530d6ea1f2b40"}, - {file = "debugpy-1.8.7-cp313-cp313-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f2f4349a28e3228a42958f8ddaa6333d6f8282d5edaea456070e48609c5983b7"}, - {file = "debugpy-1.8.7-cp313-cp313-win32.whl", hash = "sha256:11ad72eb9ddb436afb8337891a986302e14944f0f755fd94e90d0d71e9100bba"}, - {file = "debugpy-1.8.7-cp313-cp313-win_amd64.whl", hash = "sha256:2efb84d6789352d7950b03d7f866e6d180284bc02c7e12cb37b489b7083d81aa"}, - {file = "debugpy-1.8.7-cp38-cp38-macosx_14_0_x86_64.whl", hash = "sha256:4b908291a1d051ef3331484de8e959ef3e66f12b5e610c203b5b75d2725613a7"}, - {file = "debugpy-1.8.7-cp38-cp38-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:da8df5b89a41f1fd31503b179d0a84a5fdb752dddd5b5388dbd1ae23cda31ce9"}, - {file = "debugpy-1.8.7-cp38-cp38-win32.whl", hash = "sha256:b12515e04720e9e5c2216cc7086d0edadf25d7ab7e3564ec8b4521cf111b4f8c"}, - {file = "debugpy-1.8.7-cp38-cp38-win_amd64.whl", hash = "sha256:93176e7672551cb5281577cdb62c63aadc87ec036f0c6a486f0ded337c504596"}, - {file = "debugpy-1.8.7-cp39-cp39-macosx_14_0_x86_64.whl", hash = "sha256:90d93e4f2db442f8222dec5ec55ccfc8005821028982f1968ebf551d32b28907"}, - {file = "debugpy-1.8.7-cp39-cp39-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:b6db2a370e2700557a976eaadb16243ec9c91bd46f1b3bb15376d7aaa7632c81"}, - {file = "debugpy-1.8.7-cp39-cp39-win32.whl", hash = "sha256:a6cf2510740e0c0b4a40330640e4b454f928c7b99b0c9dbf48b11efba08a8cda"}, - {file = "debugpy-1.8.7-cp39-cp39-win_amd64.whl", hash = "sha256:6a9d9d6d31846d8e34f52987ee0f1a904c7baa4912bf4843ab39dadf9b8f3e0d"}, - {file = "debugpy-1.8.7-py2.py3-none-any.whl", hash = "sha256:57b00de1c8d2c84a61b90880f7e5b6deaf4c312ecbde3a0e8912f2a56c4ac9ae"}, - {file = "debugpy-1.8.7.zip", hash = "sha256:18b8f731ed3e2e1df8e9cdaa23fb1fc9c24e570cd0081625308ec51c82efe42e"}, + {file = "debugpy-1.8.8-cp310-cp310-macosx_14_0_x86_64.whl", hash = "sha256:e59b1607c51b71545cb3496876544f7186a7a27c00b436a62f285603cc68d1c6"}, + {file = "debugpy-1.8.8-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:a6531d952b565b7cb2fbd1ef5df3d333cf160b44f37547a4e7cf73666aca5d8d"}, + {file = "debugpy-1.8.8-cp310-cp310-win32.whl", hash = "sha256:b01f4a5e5c5fb1d34f4ccba99a20ed01eabc45a4684f4948b5db17a319dfb23f"}, + {file = "debugpy-1.8.8-cp310-cp310-win_amd64.whl", hash = "sha256:535f4fb1c024ddca5913bb0eb17880c8f24ba28aa2c225059db145ee557035e9"}, + {file = "debugpy-1.8.8-cp311-cp311-macosx_14_0_universal2.whl", hash = "sha256:c399023146e40ae373753a58d1be0a98bf6397fadc737b97ad612886b53df318"}, + {file = "debugpy-1.8.8-cp311-cp311-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:09cc7b162586ea2171eea055985da2702b0723f6f907a423c9b2da5996ad67ba"}, + {file = "debugpy-1.8.8-cp311-cp311-win32.whl", hash = "sha256:eea8821d998ebeb02f0625dd0d76839ddde8cbf8152ebbe289dd7acf2cdc6b98"}, + {file = "debugpy-1.8.8-cp311-cp311-win_amd64.whl", hash = "sha256:d4483836da2a533f4b1454dffc9f668096ac0433de855f0c22cdce8c9f7e10c4"}, + {file = "debugpy-1.8.8-cp312-cp312-macosx_14_0_universal2.whl", hash = "sha256:0cc94186340be87b9ac5a707184ec8f36547fb66636d1029ff4f1cc020e53996"}, + {file = "debugpy-1.8.8-cp312-cp312-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:64674e95916e53c2e9540a056e5f489e0ad4872645399d778f7c598eacb7b7f9"}, + {file = "debugpy-1.8.8-cp312-cp312-win32.whl", hash = "sha256:5c6e885dbf12015aed73770f29dec7023cb310d0dc2ba8bfbeb5c8e43f80edc9"}, + {file = "debugpy-1.8.8-cp312-cp312-win_amd64.whl", hash = "sha256:19ffbd84e757a6ca0113574d1bf5a2298b3947320a3e9d7d8dc3377f02d9f864"}, + {file = "debugpy-1.8.8-cp313-cp313-macosx_14_0_universal2.whl", hash = "sha256:705cd123a773d184860ed8dae99becd879dfec361098edbefb5fc0d3683eb804"}, + {file = "debugpy-1.8.8-cp313-cp313-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:890fd16803f50aa9cb1a9b9b25b5ec321656dd6b78157c74283de241993d086f"}, + {file = "debugpy-1.8.8-cp313-cp313-win32.whl", hash = "sha256:90244598214bbe704aa47556ec591d2f9869ff9e042e301a2859c57106649add"}, + {file = "debugpy-1.8.8-cp313-cp313-win_amd64.whl", hash = "sha256:4b93e4832fd4a759a0c465c967214ed0c8a6e8914bced63a28ddb0dd8c5f078b"}, + {file = "debugpy-1.8.8-cp38-cp38-macosx_14_0_x86_64.whl", hash = "sha256:143ef07940aeb8e7316de48f5ed9447644da5203726fca378f3a6952a50a9eae"}, + {file = "debugpy-1.8.8-cp38-cp38-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f95651bdcbfd3b27a408869a53fbefcc2bcae13b694daee5f1365b1b83a00113"}, + {file = "debugpy-1.8.8-cp38-cp38-win32.whl", hash = "sha256:26b461123a030e82602a750fb24d7801776aa81cd78404e54ab60e8b5fecdad5"}, + {file = "debugpy-1.8.8-cp38-cp38-win_amd64.whl", hash = "sha256:f3cbf1833e644a3100eadb6120f25be8a532035e8245584c4f7532937edc652a"}, + {file = "debugpy-1.8.8-cp39-cp39-macosx_14_0_x86_64.whl", hash = "sha256:53709d4ec586b525724819dc6af1a7703502f7e06f34ded7157f7b1f963bb854"}, + {file = "debugpy-1.8.8-cp39-cp39-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:3a9c013077a3a0000e83d97cf9cc9328d2b0bbb31f56b0e99ea3662d29d7a6a2"}, + {file = "debugpy-1.8.8-cp39-cp39-win32.whl", hash = "sha256:ffe94dd5e9a6739a75f0b85316dc185560db3e97afa6b215628d1b6a17561cb2"}, + {file = "debugpy-1.8.8-cp39-cp39-win_amd64.whl", hash = "sha256:5c0e5a38c7f9b481bf31277d2f74d2109292179081f11108e668195ef926c0f9"}, + {file = "debugpy-1.8.8-py2.py3-none-any.whl", hash = "sha256:ec684553aba5b4066d4de510859922419febc710df7bba04fe9e7ef3de15d34f"}, + {file = "debugpy-1.8.8.zip", hash = "sha256:e6355385db85cbd666be703a96ab7351bc9e6c61d694893206f8001e22aee091"}, ] [[package]] @@ -1052,59 +1041,61 @@ typing = ["typing-extensions (>=4.12.2)"] [[package]] name = "fonttools" -version = "4.54.1" +version = "4.55.0" description = "Tools to manipulate font files" optional = false python-versions = ">=3.8" files = [ - {file = "fonttools-4.54.1-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:7ed7ee041ff7b34cc62f07545e55e1468808691dddfd315d51dd82a6b37ddef2"}, - {file = "fonttools-4.54.1-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:41bb0b250c8132b2fcac148e2e9198e62ff06f3cc472065dff839327945c5882"}, - {file = "fonttools-4.54.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:7965af9b67dd546e52afcf2e38641b5be956d68c425bef2158e95af11d229f10"}, - {file = "fonttools-4.54.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:278913a168f90d53378c20c23b80f4e599dca62fbffae4cc620c8eed476b723e"}, - {file = "fonttools-4.54.1-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:0e88e3018ac809b9662615072dcd6b84dca4c2d991c6d66e1970a112503bba7e"}, - {file = "fonttools-4.54.1-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:4aa4817f0031206e637d1e685251ac61be64d1adef111060df84fdcbc6ab6c44"}, - {file = "fonttools-4.54.1-cp310-cp310-win32.whl", hash = "sha256:7e3b7d44e18c085fd8c16dcc6f1ad6c61b71ff463636fcb13df7b1b818bd0c02"}, - {file = "fonttools-4.54.1-cp310-cp310-win_amd64.whl", hash = "sha256:dd9cc95b8d6e27d01e1e1f1fae8559ef3c02c76317da650a19047f249acd519d"}, - {file = "fonttools-4.54.1-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:5419771b64248484299fa77689d4f3aeed643ea6630b2ea750eeab219588ba20"}, - {file = "fonttools-4.54.1-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:301540e89cf4ce89d462eb23a89464fef50915255ece765d10eee8b2bf9d75b2"}, - {file = "fonttools-4.54.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:76ae5091547e74e7efecc3cbf8e75200bc92daaeb88e5433c5e3e95ea8ce5aa7"}, - {file = "fonttools-4.54.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:82834962b3d7c5ca98cb56001c33cf20eb110ecf442725dc5fdf36d16ed1ab07"}, - {file = "fonttools-4.54.1-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:d26732ae002cc3d2ecab04897bb02ae3f11f06dd7575d1df46acd2f7c012a8d8"}, - {file = "fonttools-4.54.1-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:58974b4987b2a71ee08ade1e7f47f410c367cdfc5a94fabd599c88165f56213a"}, - {file = "fonttools-4.54.1-cp311-cp311-win32.whl", hash = "sha256:ab774fa225238986218a463f3fe151e04d8c25d7de09df7f0f5fce27b1243dbc"}, - {file = "fonttools-4.54.1-cp311-cp311-win_amd64.whl", hash = "sha256:07e005dc454eee1cc60105d6a29593459a06321c21897f769a281ff2d08939f6"}, - {file = "fonttools-4.54.1-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:54471032f7cb5fca694b5f1a0aaeba4af6e10ae989df408e0216f7fd6cdc405d"}, - {file = "fonttools-4.54.1-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:8fa92cb248e573daab8d032919623cc309c005086d743afb014c836636166f08"}, - {file = "fonttools-4.54.1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:0a911591200114969befa7f2cb74ac148bce5a91df5645443371aba6d222e263"}, - {file = "fonttools-4.54.1-cp312-cp312-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:93d458c8a6a354dc8b48fc78d66d2a8a90b941f7fec30e94c7ad9982b1fa6bab"}, - {file = "fonttools-4.54.1-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:5eb2474a7c5be8a5331146758debb2669bf5635c021aee00fd7c353558fc659d"}, - {file = "fonttools-4.54.1-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:c9c563351ddc230725c4bdf7d9e1e92cbe6ae8553942bd1fb2b2ff0884e8b714"}, - {file = "fonttools-4.54.1-cp312-cp312-win32.whl", hash = "sha256:fdb062893fd6d47b527d39346e0c5578b7957dcea6d6a3b6794569370013d9ac"}, - {file = "fonttools-4.54.1-cp312-cp312-win_amd64.whl", hash = "sha256:e4564cf40cebcb53f3dc825e85910bf54835e8a8b6880d59e5159f0f325e637e"}, - {file = "fonttools-4.54.1-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:6e37561751b017cf5c40fce0d90fd9e8274716de327ec4ffb0df957160be3bff"}, - {file = "fonttools-4.54.1-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:357cacb988a18aace66e5e55fe1247f2ee706e01debc4b1a20d77400354cddeb"}, - {file = "fonttools-4.54.1-cp313-cp313-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f8e953cc0bddc2beaf3a3c3b5dd9ab7554677da72dfaf46951e193c9653e515a"}, - {file = "fonttools-4.54.1-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:58d29b9a294573d8319f16f2f79e42428ba9b6480442fa1836e4eb89c4d9d61c"}, - {file = "fonttools-4.54.1-cp313-cp313-win32.whl", hash = "sha256:9ef1b167e22709b46bf8168368b7b5d3efeaaa746c6d39661c1b4405b6352e58"}, - {file = "fonttools-4.54.1-cp313-cp313-win_amd64.whl", hash = "sha256:262705b1663f18c04250bd1242b0515d3bbae177bee7752be67c979b7d47f43d"}, - {file = "fonttools-4.54.1-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:ed2f80ca07025551636c555dec2b755dd005e2ea8fbeb99fc5cdff319b70b23b"}, - {file = "fonttools-4.54.1-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:9dc080e5a1c3b2656caff2ac2633d009b3a9ff7b5e93d0452f40cd76d3da3b3c"}, - {file = "fonttools-4.54.1-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:1d152d1be65652fc65e695e5619e0aa0982295a95a9b29b52b85775243c06556"}, - {file = "fonttools-4.54.1-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:8583e563df41fdecef31b793b4dd3af8a9caa03397be648945ad32717a92885b"}, - {file = "fonttools-4.54.1-cp38-cp38-musllinux_1_2_aarch64.whl", hash = "sha256:0d1d353ef198c422515a3e974a1e8d5b304cd54a4c2eebcae708e37cd9eeffb1"}, - {file = "fonttools-4.54.1-cp38-cp38-musllinux_1_2_x86_64.whl", hash = "sha256:fda582236fee135d4daeca056c8c88ec5f6f6d88a004a79b84a02547c8f57386"}, - {file = "fonttools-4.54.1-cp38-cp38-win32.whl", hash = "sha256:e7d82b9e56716ed32574ee106cabca80992e6bbdcf25a88d97d21f73a0aae664"}, - {file = "fonttools-4.54.1-cp38-cp38-win_amd64.whl", hash = "sha256:ada215fd079e23e060157aab12eba0d66704316547f334eee9ff26f8c0d7b8ab"}, - {file = "fonttools-4.54.1-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:f5b8a096e649768c2f4233f947cf9737f8dbf8728b90e2771e2497c6e3d21d13"}, - {file = "fonttools-4.54.1-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:4e10d2e0a12e18f4e2dd031e1bf7c3d7017be5c8dbe524d07706179f355c5dac"}, - {file = "fonttools-4.54.1-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:31c32d7d4b0958600eac75eaf524b7b7cb68d3a8c196635252b7a2c30d80e986"}, - {file = "fonttools-4.54.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:c39287f5c8f4a0c5a55daf9eaf9ccd223ea59eed3f6d467133cc727d7b943a55"}, - {file = "fonttools-4.54.1-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:a7a310c6e0471602fe3bf8efaf193d396ea561486aeaa7adc1f132e02d30c4b9"}, - {file = "fonttools-4.54.1-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:d3b659d1029946f4ff9b6183984578041b520ce0f8fb7078bb37ec7445806b33"}, - {file = "fonttools-4.54.1-cp39-cp39-win32.whl", hash = "sha256:e96bc94c8cda58f577277d4a71f51c8e2129b8b36fd05adece6320dd3d57de8a"}, - {file = "fonttools-4.54.1-cp39-cp39-win_amd64.whl", hash = "sha256:e8a4b261c1ef91e7188a30571be6ad98d1c6d9fa2427244c545e2fa0a2494dd7"}, - {file = "fonttools-4.54.1-py3-none-any.whl", hash = "sha256:37cddd62d83dc4f72f7c3f3c2bcf2697e89a30efb152079896544a93907733bd"}, - {file = "fonttools-4.54.1.tar.gz", hash = "sha256:957f669d4922f92c171ba01bef7f29410668db09f6c02111e22b2bce446f3285"}, + {file = "fonttools-4.55.0-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:51c029d4c0608a21a3d3d169dfc3fb776fde38f00b35ca11fdab63ba10a16f61"}, + {file = "fonttools-4.55.0-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:bca35b4e411362feab28e576ea10f11268b1aeed883b9f22ed05675b1e06ac69"}, + {file = "fonttools-4.55.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:9ce4ba6981e10f7e0ccff6348e9775ce25ffadbee70c9fd1a3737e3e9f5fa74f"}, + {file = "fonttools-4.55.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:31d00f9852a6051dac23294a4cf2df80ced85d1d173a61ba90a3d8f5abc63c60"}, + {file = "fonttools-4.55.0-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:e198e494ca6e11f254bac37a680473a311a88cd40e58f9cc4dc4911dfb686ec6"}, + {file = "fonttools-4.55.0-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:7208856f61770895e79732e1dcbe49d77bd5783adf73ae35f87fcc267df9db81"}, + {file = "fonttools-4.55.0-cp310-cp310-win32.whl", hash = "sha256:e7e6a352ff9e46e8ef8a3b1fe2c4478f8a553e1b5a479f2e899f9dc5f2055880"}, + {file = "fonttools-4.55.0-cp310-cp310-win_amd64.whl", hash = "sha256:636caaeefe586d7c84b5ee0734c1a5ab2dae619dc21c5cf336f304ddb8f6001b"}, + {file = "fonttools-4.55.0-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:fa34aa175c91477485c44ddfbb51827d470011e558dfd5c7309eb31bef19ec51"}, + {file = "fonttools-4.55.0-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:37dbb3fdc2ef7302d3199fb12468481cbebaee849e4b04bc55b77c24e3c49189"}, + {file = "fonttools-4.55.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:b5263d8e7ef3c0ae87fbce7f3ec2f546dc898d44a337e95695af2cd5ea21a967"}, + {file = "fonttools-4.55.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f307f6b5bf9e86891213b293e538d292cd1677e06d9faaa4bf9c086ad5f132f6"}, + {file = "fonttools-4.55.0-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:f0a4b52238e7b54f998d6a56b46a2c56b59c74d4f8a6747fb9d4042190f37cd3"}, + {file = "fonttools-4.55.0-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:3e569711464f777a5d4ef522e781dc33f8095ab5efd7548958b36079a9f2f88c"}, + {file = "fonttools-4.55.0-cp311-cp311-win32.whl", hash = "sha256:2b3ab90ec0f7b76c983950ac601b58949f47aca14c3f21eed858b38d7ec42b05"}, + {file = "fonttools-4.55.0-cp311-cp311-win_amd64.whl", hash = "sha256:aa046f6a63bb2ad521004b2769095d4c9480c02c1efa7d7796b37826508980b6"}, + {file = "fonttools-4.55.0-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:838d2d8870f84fc785528a692e724f2379d5abd3fc9dad4d32f91cf99b41e4a7"}, + {file = "fonttools-4.55.0-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:f46b863d74bab7bb0d395f3b68d3f52a03444964e67ce5c43ce43a75efce9246"}, + {file = "fonttools-4.55.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:33b52a9cfe4e658e21b1f669f7309b4067910321757fec53802ca8f6eae96a5a"}, + {file = "fonttools-4.55.0-cp312-cp312-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:732a9a63d6ea4a81b1b25a1f2e5e143761b40c2e1b79bb2b68e4893f45139a40"}, + {file = "fonttools-4.55.0-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:7dd91ac3fcb4c491bb4763b820bcab6c41c784111c24172616f02f4bc227c17d"}, + {file = "fonttools-4.55.0-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:1f0e115281a32ff532118aa851ef497a1b7cda617f4621c1cdf81ace3e36fb0c"}, + {file = "fonttools-4.55.0-cp312-cp312-win32.whl", hash = "sha256:6c99b5205844f48a05cb58d4a8110a44d3038c67ed1d79eb733c4953c628b0f6"}, + {file = "fonttools-4.55.0-cp312-cp312-win_amd64.whl", hash = "sha256:f8c8c76037d05652510ae45be1cd8fb5dd2fd9afec92a25374ac82255993d57c"}, + {file = "fonttools-4.55.0-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:8118dc571921dc9e4b288d9cb423ceaf886d195a2e5329cc427df82bba872cd9"}, + {file = "fonttools-4.55.0-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:01124f2ca6c29fad4132d930da69158d3f49b2350e4a779e1efbe0e82bd63f6c"}, + {file = "fonttools-4.55.0-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:81ffd58d2691f11f7c8438796e9f21c374828805d33e83ff4b76e4635633674c"}, + {file = "fonttools-4.55.0-cp313-cp313-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:5435e5f1eb893c35c2bc2b9cd3c9596b0fcb0a59e7a14121562986dd4c47b8dd"}, + {file = "fonttools-4.55.0-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:d12081729280c39d001edd0f4f06d696014c26e6e9a0a55488fabc37c28945e4"}, + {file = "fonttools-4.55.0-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:a7ad1f1b98ab6cb927ab924a38a8649f1ffd7525c75fe5b594f5dab17af70e18"}, + {file = "fonttools-4.55.0-cp313-cp313-win32.whl", hash = "sha256:abe62987c37630dca69a104266277216de1023cf570c1643bb3a19a9509e7a1b"}, + {file = "fonttools-4.55.0-cp313-cp313-win_amd64.whl", hash = "sha256:2863555ba90b573e4201feaf87a7e71ca3b97c05aa4d63548a4b69ea16c9e998"}, + {file = "fonttools-4.55.0-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:00f7cf55ad58a57ba421b6a40945b85ac7cc73094fb4949c41171d3619a3a47e"}, + {file = "fonttools-4.55.0-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:f27526042efd6f67bfb0cc2f1610fa20364396f8b1fc5edb9f45bb815fb090b2"}, + {file = "fonttools-4.55.0-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:e8e67974326af6a8879dc2a4ec63ab2910a1c1a9680ccd63e4a690950fceddbe"}, + {file = "fonttools-4.55.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:61dc0a13451143c5e987dec5254d9d428f3c2789a549a7cf4f815b63b310c1cc"}, + {file = "fonttools-4.55.0-cp38-cp38-musllinux_1_2_aarch64.whl", hash = "sha256:b2e526b325a903868c62155a6a7e24df53f6ce4c5c3160214d8fe1be2c41b478"}, + {file = "fonttools-4.55.0-cp38-cp38-musllinux_1_2_x86_64.whl", hash = "sha256:b7ef9068a1297714e6fefe5932c33b058aa1d45a2b8be32a4c6dee602ae22b5c"}, + {file = "fonttools-4.55.0-cp38-cp38-win32.whl", hash = "sha256:55718e8071be35dff098976bc249fc243b58efa263768c611be17fe55975d40a"}, + {file = "fonttools-4.55.0-cp38-cp38-win_amd64.whl", hash = "sha256:553bd4f8cc327f310c20158e345e8174c8eed49937fb047a8bda51daf2c353c8"}, + {file = "fonttools-4.55.0-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:3f901cef813f7c318b77d1c5c14cf7403bae5cb977cede023e22ba4316f0a8f6"}, + {file = "fonttools-4.55.0-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:8c9679fc0dd7e8a5351d321d8d29a498255e69387590a86b596a45659a39eb0d"}, + {file = "fonttools-4.55.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:dd2820a8b632f3307ebb0bf57948511c2208e34a4939cf978333bc0a3f11f838"}, + {file = "fonttools-4.55.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:23bbbb49bec613a32ed1b43df0f2b172313cee690c2509f1af8fdedcf0a17438"}, + {file = "fonttools-4.55.0-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:a656652e1f5d55b9728937a7e7d509b73d23109cddd4e89ee4f49bde03b736c6"}, + {file = "fonttools-4.55.0-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:f50a1f455902208486fbca47ce33054208a4e437b38da49d6721ce2fef732fcf"}, + {file = "fonttools-4.55.0-cp39-cp39-win32.whl", hash = "sha256:161d1ac54c73d82a3cded44202d0218ab007fde8cf194a23d3dd83f7177a2f03"}, + {file = "fonttools-4.55.0-cp39-cp39-win_amd64.whl", hash = "sha256:ca7fd6987c68414fece41c96836e945e1f320cda56fc96ffdc16e54a44ec57a2"}, + {file = "fonttools-4.55.0-py3-none-any.whl", hash = "sha256:12db5888cd4dd3fcc9f0ee60c6edd3c7e1fd44b7dd0f31381ea03df68f8a153f"}, + {file = "fonttools-4.55.0.tar.gz", hash = "sha256:7636acc6ab733572d5e7eec922b254ead611f1cdad17be3f0be7418e8bfaca71"}, ] [package.extras] @@ -1209,13 +1200,13 @@ files = [ [[package]] name = "httpcore" -version = "1.0.6" +version = "1.0.7" description = "A minimal low-level HTTP client." optional = false python-versions = ">=3.8" files = [ - {file = "httpcore-1.0.6-py3-none-any.whl", hash = "sha256:27b59625743b85577a8c0e10e55b50b5368a4f2cfe8cc7bcfa9cf00829c2682f"}, - {file = "httpcore-1.0.6.tar.gz", hash = "sha256:73f6dbd6eb8c21bbf7ef8efad555481853f5f6acdeaff1edb0694289269ee17f"}, + {file = "httpcore-1.0.7-py3-none-any.whl", hash = "sha256:a3fff8f43dc260d5bd363d9f9cf1830fa3a458b332856f34282de498ed420edd"}, + {file = "httpcore-1.0.7.tar.gz", hash = "sha256:8551cb62a169ec7162ac7be8d4817d561f60e08eaa485234898414bb5a8a0b4c"}, ] [package.dependencies] @@ -1504,22 +1495,22 @@ type = ["pytest-mypy"] [[package]] name = "jedi" -version = "0.19.1" +version = "0.19.2" description = "An autocompletion tool for Python that can be used for text editors." optional = false python-versions = ">=3.6" files = [ - {file = "jedi-0.19.1-py2.py3-none-any.whl", hash = "sha256:e983c654fe5c02867aef4cdfce5a2fbb4a50adc0af145f70504238f18ef5e7e0"}, - {file = "jedi-0.19.1.tar.gz", hash = "sha256:cf0496f3651bc65d7174ac1b7d043eff454892c708a87d1b683e57b569927ffd"}, + {file = "jedi-0.19.2-py2.py3-none-any.whl", hash = "sha256:a8ef22bde8490f57fe5c7681a3c83cb58874daf72b4784de3cce5b6ef6edb5b9"}, + {file = "jedi-0.19.2.tar.gz", hash = "sha256:4770dc3de41bde3966b02eb84fbcf557fb33cce26ad23da12c742fb50ecb11f0"}, ] [package.dependencies] -parso = ">=0.8.3,<0.9.0" +parso = ">=0.8.4,<0.9.0" [package.extras] docs = ["Jinja2 (==2.11.3)", "MarkupSafe (==1.1.1)", "Pygments (==2.8.1)", "alabaster (==0.7.12)", "babel (==2.9.1)", "chardet (==4.0.0)", "commonmark (==0.8.1)", "docutils (==0.17.1)", "future (==0.18.2)", "idna (==2.10)", "imagesize (==1.2.0)", "mock (==1.0.1)", "packaging (==20.9)", "pyparsing (==2.4.7)", "pytz (==2021.1)", "readthedocs-sphinx-ext (==2.1.4)", "recommonmark (==0.5.0)", "requests (==2.25.1)", "six (==1.15.0)", "snowballstemmer (==2.1.0)", "sphinx (==1.8.5)", "sphinx-rtd-theme (==0.4.3)", "sphinxcontrib-serializinghtml (==1.1.4)", "sphinxcontrib-websupport (==1.2.4)", "urllib3 (==1.26.4)"] qa = ["flake8 (==5.0.4)", "mypy (==0.971)", "types-setuptools (==67.2.0.1)"] -testing = ["Django", "attrs", "colorama", "docopt", "pytest (<7.0.0)"] +testing = ["Django", "attrs", "colorama", "docopt", "pytest (<9.0.0)"] [[package]] name = "jeepney" @@ -1555,15 +1546,18 @@ i18n = ["Babel (>=2.7)"] [[package]] name = "json5" -version = "0.9.25" +version = "0.9.28" description = "A Python implementation of the JSON5 data format." optional = false -python-versions = ">=3.8" +python-versions = ">=3.8.0" files = [ - {file = "json5-0.9.25-py3-none-any.whl", hash = "sha256:34ed7d834b1341a86987ed52f3f76cd8ee184394906b6e22a1e0deb9ab294e8f"}, - {file = "json5-0.9.25.tar.gz", hash = "sha256:548e41b9be043f9426776f05df8635a00fe06104ea51ed24b67f908856e151ae"}, + {file = "json5-0.9.28-py3-none-any.whl", hash = "sha256:29c56f1accdd8bc2e037321237662034a7e07921e2b7223281a5ce2c46f0c4df"}, + {file = "json5-0.9.28.tar.gz", hash = "sha256:1f82f36e615bc5b42f1bbd49dbc94b12563c56408c6ffa06414ea310890e9a6e"}, ] +[package.extras] +dev = ["build (==1.2.2.post1)", "coverage (==7.5.3)", "mypy (==1.13.0)", "pip (==24.3.1)", "pylint (==3.2.3)", "ruff (==0.7.3)", "twine (==5.1.1)", "uv (==0.5.1)"] + [[package]] name = "jsonpointer" version = "3.0.0" @@ -1761,13 +1755,13 @@ test = ["jupyter-server (>=2.0.0)", "pytest (>=7.0)", "pytest-jupyter[server] (> [[package]] name = "jupyterlab" -version = "4.2.5" +version = "4.2.6" description = "JupyterLab computational environment" optional = false python-versions = ">=3.8" files = [ - {file = "jupyterlab-4.2.5-py3-none-any.whl", hash = "sha256:73b6e0775d41a9fee7ee756c80f58a6bed4040869ccc21411dc559818874d321"}, - {file = "jupyterlab-4.2.5.tar.gz", hash = "sha256:ae7f3a1b8cb88b4f55009ce79fa7c06f99d70cd63601ee4aa91815d054f46f75"}, + {file = "jupyterlab-4.2.6-py3-none-any.whl", hash = "sha256:78dd42cae5b460f377624b03966a8730e3b0692102ddf5933a2a3730c1bc0a20"}, + {file = "jupyterlab-4.2.6.tar.gz", hash = "sha256:625f3ac19da91f9706baf66df25723b2f1307c1159fc7293035b066786d62a4a"}, ] [package.dependencies] @@ -1874,13 +1868,13 @@ test-ui = ["calysto-bash"] [[package]] name = "keyring" -version = "25.4.1" +version = "25.5.0" description = "Store and access your passwords safely." optional = false python-versions = ">=3.8" files = [ - {file = "keyring-25.4.1-py3-none-any.whl", hash = "sha256:5426f817cf7f6f007ba5ec722b1bcad95a75b27d780343772ad76b17cb47b0bf"}, - {file = "keyring-25.4.1.tar.gz", hash = "sha256:b07ebc55f3e8ed86ac81dd31ef14e81ace9dd9c3d4b5d77a6e9a2016d0d71a1b"}, + {file = "keyring-25.5.0-py3-none-any.whl", hash = "sha256:e67f8ac32b04be4714b42fe84ce7dad9c40985b9ca827c592cc303e7c26d9741"}, + {file = "keyring-25.5.0.tar.gz", hash = "sha256:4c753b3ec91717fe713c4edd522d625889d8973a349b0e582622f49766de58e6"}, ] [package.dependencies] @@ -2198,6 +2192,74 @@ pillow = ">=6.2.0" pyparsing = ">=2.3.1,<3.1" python-dateutil = ">=2.7" +[[package]] +name = "matplotlib" +version = "3.7.5" +description = "Python plotting package" +optional = false +python-versions = ">=3.8" +files = [ + {file = "matplotlib-3.7.5-cp310-cp310-macosx_10_12_universal2.whl", hash = "sha256:4a87b69cb1cb20943010f63feb0b2901c17a3b435f75349fd9865713bfa63925"}, + {file = "matplotlib-3.7.5-cp310-cp310-macosx_10_12_x86_64.whl", hash = "sha256:d3ce45010fefb028359accebb852ca0c21bd77ec0f281952831d235228f15810"}, + {file = "matplotlib-3.7.5-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:fbea1e762b28400393d71be1a02144aa16692a3c4c676ba0178ce83fc2928fdd"}, + {file = "matplotlib-3.7.5-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:ec0e1adc0ad70ba8227e957551e25a9d2995e319c29f94a97575bb90fa1d4469"}, + {file = "matplotlib-3.7.5-cp310-cp310-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:6738c89a635ced486c8a20e20111d33f6398a9cbebce1ced59c211e12cd61455"}, + {file = "matplotlib-3.7.5-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:1210b7919b4ed94b5573870f316bca26de3e3b07ffdb563e79327dc0e6bba515"}, + {file = "matplotlib-3.7.5-cp310-cp310-win32.whl", hash = "sha256:068ebcc59c072781d9dcdb82f0d3f1458271c2de7ca9c78f5bd672141091e9e1"}, + {file = "matplotlib-3.7.5-cp310-cp310-win_amd64.whl", hash = "sha256:f098ffbaab9df1e3ef04e5a5586a1e6b1791380698e84938d8640961c79b1fc0"}, + {file = "matplotlib-3.7.5-cp311-cp311-macosx_10_12_universal2.whl", hash = "sha256:f65342c147572673f02a4abec2d5a23ad9c3898167df9b47c149f32ce61ca078"}, + {file = "matplotlib-3.7.5-cp311-cp311-macosx_10_12_x86_64.whl", hash = "sha256:4ddf7fc0e0dc553891a117aa083039088d8a07686d4c93fb8a810adca68810af"}, + {file = "matplotlib-3.7.5-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:0ccb830fc29442360d91be48527809f23a5dcaee8da5f4d9b2d5b867c1b087b8"}, + {file = "matplotlib-3.7.5-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:efc6bb28178e844d1f408dd4d6341ee8a2e906fc9e0fa3dae497da4e0cab775d"}, + {file = "matplotlib-3.7.5-cp311-cp311-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:3b15c4c2d374f249f324f46e883340d494c01768dd5287f8bc00b65b625ab56c"}, + {file = "matplotlib-3.7.5-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:3d028555421912307845e59e3de328260b26d055c5dac9b182cc9783854e98fb"}, + {file = "matplotlib-3.7.5-cp311-cp311-win32.whl", hash = "sha256:fe184b4625b4052fa88ef350b815559dd90cc6cc8e97b62f966e1ca84074aafa"}, + {file = "matplotlib-3.7.5-cp311-cp311-win_amd64.whl", hash = "sha256:084f1f0f2f1010868c6f1f50b4e1c6f2fb201c58475494f1e5b66fed66093647"}, + {file = "matplotlib-3.7.5-cp312-cp312-macosx_10_12_universal2.whl", hash = "sha256:34bceb9d8ddb142055ff27cd7135f539f2f01be2ce0bafbace4117abe58f8fe4"}, + {file = "matplotlib-3.7.5-cp312-cp312-macosx_10_12_x86_64.whl", hash = "sha256:c5a2134162273eb8cdfd320ae907bf84d171de948e62180fa372a3ca7cf0f433"}, + {file = "matplotlib-3.7.5-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:039ad54683a814002ff37bf7981aa1faa40b91f4ff84149beb53d1eb64617980"}, + {file = "matplotlib-3.7.5-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:4d742ccd1b09e863b4ca58291728db645b51dab343eebb08d5d4b31b308296ce"}, + {file = "matplotlib-3.7.5-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:743b1c488ca6a2bc7f56079d282e44d236bf375968bfd1b7ba701fd4d0fa32d6"}, + {file = "matplotlib-3.7.5-cp312-cp312-win_amd64.whl", hash = "sha256:fbf730fca3e1f23713bc1fae0a57db386e39dc81ea57dc305c67f628c1d7a342"}, + {file = "matplotlib-3.7.5-cp38-cp38-macosx_10_12_universal2.whl", hash = "sha256:cfff9b838531698ee40e40ea1a8a9dc2c01edb400b27d38de6ba44c1f9a8e3d2"}, + {file = "matplotlib-3.7.5-cp38-cp38-macosx_10_12_x86_64.whl", hash = "sha256:1dbcca4508bca7847fe2d64a05b237a3dcaec1f959aedb756d5b1c67b770c5ee"}, + {file = "matplotlib-3.7.5-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:4cdf4ef46c2a1609a50411b66940b31778db1e4b73d4ecc2eaa40bd588979b13"}, + {file = "matplotlib-3.7.5-cp38-cp38-manylinux_2_12_i686.manylinux2010_i686.whl", hash = "sha256:167200ccfefd1674b60e957186dfd9baf58b324562ad1a28e5d0a6b3bea77905"}, + {file = "matplotlib-3.7.5-cp38-cp38-manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:53e64522934df6e1818b25fd48cf3b645b11740d78e6ef765fbb5fa5ce080d02"}, + {file = "matplotlib-3.7.5-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d3e3bc79b2d7d615067bd010caff9243ead1fc95cf735c16e4b2583173f717eb"}, + {file = "matplotlib-3.7.5-cp38-cp38-win32.whl", hash = "sha256:6b641b48c6819726ed47c55835cdd330e53747d4efff574109fd79b2d8a13748"}, + {file = "matplotlib-3.7.5-cp38-cp38-win_amd64.whl", hash = "sha256:f0b60993ed3488b4532ec6b697059897891927cbfc2b8d458a891b60ec03d9d7"}, + {file = "matplotlib-3.7.5-cp39-cp39-macosx_10_12_universal2.whl", hash = "sha256:090964d0afaff9c90e4d8de7836757e72ecfb252fb02884016d809239f715651"}, + {file = "matplotlib-3.7.5-cp39-cp39-macosx_10_12_x86_64.whl", hash = "sha256:9fc6fcfbc55cd719bc0bfa60bde248eb68cf43876d4c22864603bdd23962ba25"}, + {file = "matplotlib-3.7.5-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:5e7cc3078b019bb863752b8b60e8b269423000f1603cb2299608231996bd9d54"}, + {file = "matplotlib-3.7.5-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:1e4e9a868e8163abaaa8259842d85f949a919e1ead17644fb77a60427c90473c"}, + {file = "matplotlib-3.7.5-cp39-cp39-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:fa7ebc995a7d747dacf0a717d0eb3aa0f0c6a0e9ea88b0194d3a3cd241a1500f"}, + {file = "matplotlib-3.7.5-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:3785bfd83b05fc0e0c2ae4c4a90034fe693ef96c679634756c50fe6efcc09856"}, + {file = "matplotlib-3.7.5-cp39-cp39-win32.whl", hash = "sha256:29b058738c104d0ca8806395f1c9089dfe4d4f0f78ea765c6c704469f3fffc81"}, + {file = "matplotlib-3.7.5-cp39-cp39-win_amd64.whl", hash = "sha256:fd4028d570fa4b31b7b165d4a685942ae9cdc669f33741e388c01857d9723eab"}, + {file = "matplotlib-3.7.5-pp38-pypy38_pp73-macosx_10_12_x86_64.whl", hash = "sha256:2a9a3f4d6a7f88a62a6a18c7e6a84aedcaf4faf0708b4ca46d87b19f1b526f88"}, + {file = "matplotlib-3.7.5-pp38-pypy38_pp73-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:b9b3fd853d4a7f008a938df909b96db0b454225f935d3917520305b90680579c"}, + {file = "matplotlib-3.7.5-pp38-pypy38_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f0ad550da9f160737d7890217c5eeed4337d07e83ca1b2ca6535078f354e7675"}, + {file = "matplotlib-3.7.5-pp38-pypy38_pp73-win_amd64.whl", hash = "sha256:20da7924a08306a861b3f2d1da0d1aa9a6678e480cf8eacffe18b565af2813e7"}, + {file = "matplotlib-3.7.5-pp39-pypy39_pp73-macosx_10_12_x86_64.whl", hash = "sha256:b45c9798ea6bb920cb77eb7306409756a7fab9db9b463e462618e0559aecb30e"}, + {file = "matplotlib-3.7.5-pp39-pypy39_pp73-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:a99866267da1e561c7776fe12bf4442174b79aac1a47bd7e627c7e4d077ebd83"}, + {file = "matplotlib-3.7.5-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:2b6aa62adb6c268fc87d80f963aca39c64615c31830b02697743c95590ce3fbb"}, + {file = "matplotlib-3.7.5-pp39-pypy39_pp73-win_amd64.whl", hash = "sha256:e530ab6a0afd082d2e9c17eb1eb064a63c5b09bb607b2b74fa41adbe3e162286"}, + {file = "matplotlib-3.7.5.tar.gz", hash = "sha256:1e5c971558ebc811aa07f54c7b7c677d78aa518ef4c390e14673a09e0860184a"}, +] + +[package.dependencies] +contourpy = ">=1.0.1" +cycler = ">=0.10" +fonttools = ">=4.22.0" +importlib-resources = {version = ">=3.2.0", markers = "python_version < \"3.10\""} +kiwisolver = ">=1.0.1" +numpy = ">=1.20,<2" +packaging = ">=20.0" +pillow = ">=6.2.0" +pyparsing = ">=2.3.1" +python-dateutil = ">=2.7" + [[package]] name = "matplotlib-inline" version = "0.1.7" @@ -2741,103 +2803,161 @@ test = ["pytest", "pytest-console-scripts", "pytest-jupyter", "pytest-tornasync" [[package]] name = "numpy" -version = "1.23.2" -description = "NumPy is the fundamental package for array computing with Python." +version = "1.24.3" +description = "Fundamental package for array computing in Python" optional = false python-versions = ">=3.8" files = [ - {file = "numpy-1.23.2-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:e603ca1fb47b913942f3e660a15e55a9ebca906857edfea476ae5f0fe9b457d5"}, - {file = "numpy-1.23.2-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:633679a472934b1c20a12ed0c9a6c9eb167fbb4cb89031939bfd03dd9dbc62b8"}, - {file = "numpy-1.23.2-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:17e5226674f6ea79e14e3b91bfbc153fdf3ac13f5cc54ee7bc8fdbe820a32da0"}, - {file = "numpy-1.23.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:bdc02c0235b261925102b1bd586579b7158e9d0d07ecb61148a1799214a4afd5"}, - {file = "numpy-1.23.2-cp310-cp310-win32.whl", hash = "sha256:df28dda02c9328e122661f399f7655cdcbcf22ea42daa3650a26bce08a187450"}, - {file = "numpy-1.23.2-cp310-cp310-win_amd64.whl", hash = "sha256:8ebf7e194b89bc66b78475bd3624d92980fca4e5bb86dda08d677d786fefc414"}, - {file = "numpy-1.23.2-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:dc76bca1ca98f4b122114435f83f1fcf3c0fe48e4e6f660e07996abf2f53903c"}, - {file = "numpy-1.23.2-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:ecfdd68d334a6b97472ed032b5b37a30d8217c097acfff15e8452c710e775524"}, - {file = "numpy-1.23.2-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:5593f67e66dea4e237f5af998d31a43e447786b2154ba1ad833676c788f37cde"}, - {file = "numpy-1.23.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ac987b35df8c2a2eab495ee206658117e9ce867acf3ccb376a19e83070e69418"}, - {file = "numpy-1.23.2-cp311-cp311-win32.whl", hash = "sha256:d98addfd3c8728ee8b2c49126f3c44c703e2b005d4a95998e2167af176a9e722"}, - {file = "numpy-1.23.2-cp311-cp311-win_amd64.whl", hash = "sha256:8ecb818231afe5f0f568c81f12ce50f2b828ff2b27487520d85eb44c71313b9e"}, - {file = "numpy-1.23.2-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:909c56c4d4341ec8315291a105169d8aae732cfb4c250fbc375a1efb7a844f8f"}, - {file = "numpy-1.23.2-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:8247f01c4721479e482cc2f9f7d973f3f47810cbc8c65e38fd1bbd3141cc9842"}, - {file = "numpy-1.23.2-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:b8b97a8a87cadcd3f94659b4ef6ec056261fa1e1c3317f4193ac231d4df70215"}, - {file = "numpy-1.23.2-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:bd5b7ccae24e3d8501ee5563e82febc1771e73bd268eef82a1e8d2b4d556ae66"}, - {file = "numpy-1.23.2-cp38-cp38-win32.whl", hash = "sha256:9b83d48e464f393d46e8dd8171687394d39bc5abfe2978896b77dc2604e8635d"}, - {file = "numpy-1.23.2-cp38-cp38-win_amd64.whl", hash = "sha256:dec198619b7dbd6db58603cd256e092bcadef22a796f778bf87f8592b468441d"}, - {file = "numpy-1.23.2-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:4f41f5bf20d9a521f8cab3a34557cd77b6f205ab2116651f12959714494268b0"}, - {file = "numpy-1.23.2-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:806cc25d5c43e240db709875e947076b2826f47c2c340a5a2f36da5bb10c58d6"}, - {file = "numpy-1.23.2-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:8f9d84a24889ebb4c641a9b99e54adb8cab50972f0166a3abc14c3b93163f074"}, - {file = "numpy-1.23.2-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:c403c81bb8ffb1c993d0165a11493fd4bf1353d258f6997b3ee288b0a48fce77"}, - {file = "numpy-1.23.2-cp39-cp39-win32.whl", hash = "sha256:cf8c6aed12a935abf2e290860af8e77b26a042eb7f2582ff83dc7ed5f963340c"}, - {file = "numpy-1.23.2-cp39-cp39-win_amd64.whl", hash = "sha256:5e28cd64624dc2354a349152599e55308eb6ca95a13ce6a7d5679ebff2962913"}, - {file = "numpy-1.23.2-pp38-pypy38_pp73-macosx_10_9_x86_64.whl", hash = "sha256:806970e69106556d1dd200e26647e9bee5e2b3f1814f9da104a943e8d548ca38"}, - {file = "numpy-1.23.2-pp38-pypy38_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:2bd879d3ca4b6f39b7770829f73278b7c5e248c91d538aab1e506c628353e47f"}, - {file = "numpy-1.23.2-pp38-pypy38_pp73-win_amd64.whl", hash = "sha256:be6b350dfbc7f708d9d853663772a9310783ea58f6035eec649fb9c4371b5389"}, - {file = "numpy-1.23.2.tar.gz", hash = "sha256:b78d00e48261fbbd04aa0d7427cf78d18401ee0abd89c7559bbf422e5b1c7d01"}, + {file = "numpy-1.24.3-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:3c1104d3c036fb81ab923f507536daedc718d0ad5a8707c6061cdfd6d184e570"}, + {file = "numpy-1.24.3-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:202de8f38fc4a45a3eea4b63e2f376e5f2dc64ef0fa692838e31a808520efaf7"}, + {file = "numpy-1.24.3-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:8535303847b89aa6b0f00aa1dc62867b5a32923e4d1681a35b5eef2d9591a463"}, + {file = "numpy-1.24.3-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:2d926b52ba1367f9acb76b0df6ed21f0b16a1ad87c6720a1121674e5cf63e2b6"}, + {file = "numpy-1.24.3-cp310-cp310-win32.whl", hash = "sha256:f21c442fdd2805e91799fbe044a7b999b8571bb0ab0f7850d0cb9641a687092b"}, + {file = "numpy-1.24.3-cp310-cp310-win_amd64.whl", hash = "sha256:ab5f23af8c16022663a652d3b25dcdc272ac3f83c3af4c02eb8b824e6b3ab9d7"}, + {file = "numpy-1.24.3-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:9a7721ec204d3a237225db3e194c25268faf92e19338a35f3a224469cb6039a3"}, + {file = "numpy-1.24.3-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:d6cc757de514c00b24ae8cf5c876af2a7c3df189028d68c0cb4eaa9cd5afc2bf"}, + {file = "numpy-1.24.3-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:76e3f4e85fc5d4fd311f6e9b794d0c00e7002ec122be271f2019d63376f1d385"}, + {file = "numpy-1.24.3-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:a1d3c026f57ceaad42f8231305d4653d5f05dc6332a730ae5c0bea3513de0950"}, + {file = "numpy-1.24.3-cp311-cp311-win32.whl", hash = "sha256:c91c4afd8abc3908e00a44b2672718905b8611503f7ff87390cc0ac3423fb096"}, + {file = "numpy-1.24.3-cp311-cp311-win_amd64.whl", hash = "sha256:5342cf6aad47943286afa6f1609cad9b4266a05e7f2ec408e2cf7aea7ff69d80"}, + {file = "numpy-1.24.3-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:7776ea65423ca6a15255ba1872d82d207bd1e09f6d0894ee4a64678dd2204078"}, + {file = "numpy-1.24.3-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:ae8d0be48d1b6ed82588934aaaa179875e7dc4f3d84da18d7eae6eb3f06c242c"}, + {file = "numpy-1.24.3-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:ecde0f8adef7dfdec993fd54b0f78183051b6580f606111a6d789cd14c61ea0c"}, + {file = "numpy-1.24.3-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:4749e053a29364d3452c034827102ee100986903263e89884922ef01a0a6fd2f"}, + {file = "numpy-1.24.3-cp38-cp38-win32.whl", hash = "sha256:d933fabd8f6a319e8530d0de4fcc2e6a61917e0b0c271fded460032db42a0fe4"}, + {file = "numpy-1.24.3-cp38-cp38-win_amd64.whl", hash = "sha256:56e48aec79ae238f6e4395886b5eaed058abb7231fb3361ddd7bfdf4eed54289"}, + {file = "numpy-1.24.3-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:4719d5aefb5189f50887773699eaf94e7d1e02bf36c1a9d353d9f46703758ca4"}, + {file = "numpy-1.24.3-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:0ec87a7084caa559c36e0a2309e4ecb1baa03b687201d0a847c8b0ed476a7187"}, + {file = "numpy-1.24.3-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:ea8282b9bcfe2b5e7d491d0bf7f3e2da29700cec05b49e64d6246923329f2b02"}, + {file = "numpy-1.24.3-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:210461d87fb02a84ef243cac5e814aad2b7f4be953b32cb53327bb49fd77fbb4"}, + {file = "numpy-1.24.3-cp39-cp39-win32.whl", hash = "sha256:784c6da1a07818491b0ffd63c6bbe5a33deaa0e25a20e1b3ea20cf0e43f8046c"}, + {file = "numpy-1.24.3-cp39-cp39-win_amd64.whl", hash = "sha256:d5036197ecae68d7f491fcdb4df90082b0d4960ca6599ba2659957aafced7c17"}, + {file = "numpy-1.24.3-pp38-pypy38_pp73-macosx_10_9_x86_64.whl", hash = "sha256:352ee00c7f8387b44d19f4cada524586f07379c0d49270f87233983bc5087ca0"}, + {file = "numpy-1.24.3-pp38-pypy38_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:1a7d6acc2e7524c9955e5c903160aa4ea083736fde7e91276b0e5d98e6332812"}, + {file = "numpy-1.24.3-pp38-pypy38_pp73-win_amd64.whl", hash = "sha256:35400e6a8d102fd07c71ed7dcadd9eb62ee9a6e84ec159bd48c28235bbb0f8e4"}, + {file = "numpy-1.24.3.tar.gz", hash = "sha256:ab344f1bf21f140adab8e47fdbc7c35a477dc01408791f8ba00d018dd0bc5155"}, ] [[package]] name = "numpy" -version = "2.1.2" +version = "1.24.4" +description = "Fundamental package for array computing in Python" +optional = false +python-versions = ">=3.8" +files = [ + {file = "numpy-1.24.4-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:c0bfb52d2169d58c1cdb8cc1f16989101639b34c7d3ce60ed70b19c63eba0b64"}, + {file = "numpy-1.24.4-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:ed094d4f0c177b1b8e7aa9cba7d6ceed51c0e569a5318ac0ca9a090680a6a1b1"}, + {file = "numpy-1.24.4-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:79fc682a374c4a8ed08b331bef9c5f582585d1048fa6d80bc6c35bc384eee9b4"}, + {file = "numpy-1.24.4-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:7ffe43c74893dbf38c2b0a1f5428760a1a9c98285553c89e12d70a96a7f3a4d6"}, + {file = "numpy-1.24.4-cp310-cp310-win32.whl", hash = "sha256:4c21decb6ea94057331e111a5bed9a79d335658c27ce2adb580fb4d54f2ad9bc"}, + {file = "numpy-1.24.4-cp310-cp310-win_amd64.whl", hash = "sha256:b4bea75e47d9586d31e892a7401f76e909712a0fd510f58f5337bea9572c571e"}, + {file = "numpy-1.24.4-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:f136bab9c2cfd8da131132c2cf6cc27331dd6fae65f95f69dcd4ae3c3639c810"}, + {file = "numpy-1.24.4-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:e2926dac25b313635e4d6cf4dc4e51c8c0ebfed60b801c799ffc4c32bf3d1254"}, + {file = "numpy-1.24.4-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:222e40d0e2548690405b0b3c7b21d1169117391c2e82c378467ef9ab4c8f0da7"}, + {file = "numpy-1.24.4-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:7215847ce88a85ce39baf9e89070cb860c98fdddacbaa6c0da3ffb31b3350bd5"}, + {file = "numpy-1.24.4-cp311-cp311-win32.whl", hash = "sha256:4979217d7de511a8d57f4b4b5b2b965f707768440c17cb70fbf254c4b225238d"}, + {file = "numpy-1.24.4-cp311-cp311-win_amd64.whl", hash = "sha256:b7b1fc9864d7d39e28f41d089bfd6353cb5f27ecd9905348c24187a768c79694"}, + {file = "numpy-1.24.4-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:1452241c290f3e2a312c137a9999cdbf63f78864d63c79039bda65ee86943f61"}, + {file = "numpy-1.24.4-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:04640dab83f7c6c85abf9cd729c5b65f1ebd0ccf9de90b270cd61935eef0197f"}, + {file = "numpy-1.24.4-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a5425b114831d1e77e4b5d812b69d11d962e104095a5b9c3b641a218abcc050e"}, + {file = "numpy-1.24.4-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:dd80e219fd4c71fc3699fc1dadac5dcf4fd882bfc6f7ec53d30fa197b8ee22dc"}, + {file = "numpy-1.24.4-cp38-cp38-win32.whl", hash = "sha256:4602244f345453db537be5314d3983dbf5834a9701b7723ec28923e2889e0bb2"}, + {file = "numpy-1.24.4-cp38-cp38-win_amd64.whl", hash = "sha256:692f2e0f55794943c5bfff12b3f56f99af76f902fc47487bdfe97856de51a706"}, + {file = "numpy-1.24.4-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:2541312fbf09977f3b3ad449c4e5f4bb55d0dbf79226d7724211acc905049400"}, + {file = "numpy-1.24.4-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:9667575fb6d13c95f1b36aca12c5ee3356bf001b714fc354eb5465ce1609e62f"}, + {file = "numpy-1.24.4-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:f3a86ed21e4f87050382c7bc96571755193c4c1392490744ac73d660e8f564a9"}, + {file = "numpy-1.24.4-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:d11efb4dbecbdf22508d55e48d9c8384db795e1b7b51ea735289ff96613ff74d"}, + {file = "numpy-1.24.4-cp39-cp39-win32.whl", hash = "sha256:6620c0acd41dbcb368610bb2f4d83145674040025e5536954782467100aa8835"}, + {file = "numpy-1.24.4-cp39-cp39-win_amd64.whl", hash = "sha256:befe2bf740fd8373cf56149a5c23a0f601e82869598d41f8e188a0e9869926f8"}, + {file = "numpy-1.24.4-pp38-pypy38_pp73-macosx_10_9_x86_64.whl", hash = "sha256:31f13e25b4e304632a4619d0e0777662c2ffea99fcae2029556b17d8ff958aef"}, + {file = "numpy-1.24.4-pp38-pypy38_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:95f7ac6540e95bc440ad77f56e520da5bf877f87dca58bd095288dce8940532a"}, + {file = "numpy-1.24.4-pp38-pypy38_pp73-win_amd64.whl", hash = "sha256:e98f220aa76ca2a977fe435f5b04d7b3470c0a2e6312907b37ba6068f26787f2"}, + {file = "numpy-1.24.4.tar.gz", hash = "sha256:80f5e3a4e498641401868df4208b74581206afbee7cf7b8329daae82676d9463"}, +] + +[[package]] +name = "numpy" +version = "2.1.3" description = "Fundamental package for array computing in Python" optional = false python-versions = ">=3.10" files = [ - {file = "numpy-2.1.2-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:30d53720b726ec36a7f88dc873f0eec8447fbc93d93a8f079dfac2629598d6ee"}, - {file = "numpy-2.1.2-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:e8d3ca0a72dd8846eb6f7dfe8f19088060fcb76931ed592d29128e0219652884"}, - {file = "numpy-2.1.2-cp310-cp310-macosx_14_0_arm64.whl", hash = "sha256:fc44e3c68ff00fd991b59092a54350e6e4911152682b4782f68070985aa9e648"}, - {file = "numpy-2.1.2-cp310-cp310-macosx_14_0_x86_64.whl", hash = "sha256:7c1c60328bd964b53f8b835df69ae8198659e2b9302ff9ebb7de4e5a5994db3d"}, - {file = "numpy-2.1.2-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:6cdb606a7478f9ad91c6283e238544451e3a95f30fb5467fbf715964341a8a86"}, - {file = "numpy-2.1.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:d666cb72687559689e9906197e3bec7b736764df6a2e58ee265e360663e9baf7"}, - {file = "numpy-2.1.2-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:c6eef7a2dbd0abfb0d9eaf78b73017dbfd0b54051102ff4e6a7b2980d5ac1a03"}, - {file = "numpy-2.1.2-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:12edb90831ff481f7ef5f6bc6431a9d74dc0e5ff401559a71e5e4611d4f2d466"}, - {file = "numpy-2.1.2-cp310-cp310-win32.whl", hash = "sha256:a65acfdb9c6ebb8368490dbafe83c03c7e277b37e6857f0caeadbbc56e12f4fb"}, - {file = "numpy-2.1.2-cp310-cp310-win_amd64.whl", hash = "sha256:860ec6e63e2c5c2ee5e9121808145c7bf86c96cca9ad396c0bd3e0f2798ccbe2"}, - {file = "numpy-2.1.2-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:b42a1a511c81cc78cbc4539675713bbcf9d9c3913386243ceff0e9429ca892fe"}, - {file = "numpy-2.1.2-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:faa88bc527d0f097abdc2c663cddf37c05a1c2f113716601555249805cf573f1"}, - {file = "numpy-2.1.2-cp311-cp311-macosx_14_0_arm64.whl", hash = "sha256:c82af4b2ddd2ee72d1fc0c6695048d457e00b3582ccde72d8a1c991b808bb20f"}, - {file = "numpy-2.1.2-cp311-cp311-macosx_14_0_x86_64.whl", hash = "sha256:13602b3174432a35b16c4cfb5de9a12d229727c3dd47a6ce35111f2ebdf66ff4"}, - {file = "numpy-2.1.2-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:1ebec5fd716c5a5b3d8dfcc439be82a8407b7b24b230d0ad28a81b61c2f4659a"}, - {file = "numpy-2.1.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:e2b49c3c0804e8ecb05d59af8386ec2f74877f7ca8fd9c1e00be2672e4d399b1"}, - {file = "numpy-2.1.2-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:2cbba4b30bf31ddbe97f1c7205ef976909a93a66bb1583e983adbd155ba72ac2"}, - {file = "numpy-2.1.2-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:8e00ea6fc82e8a804433d3e9cedaa1051a1422cb6e443011590c14d2dea59146"}, - {file = "numpy-2.1.2-cp311-cp311-win32.whl", hash = "sha256:5006b13a06e0b38d561fab5ccc37581f23c9511879be7693bd33c7cd15ca227c"}, - {file = "numpy-2.1.2-cp311-cp311-win_amd64.whl", hash = "sha256:f1eb068ead09f4994dec71c24b2844f1e4e4e013b9629f812f292f04bd1510d9"}, - {file = "numpy-2.1.2-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:d7bf0a4f9f15b32b5ba53147369e94296f5fffb783db5aacc1be15b4bf72f43b"}, - {file = "numpy-2.1.2-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:b1d0fcae4f0949f215d4632be684a539859b295e2d0cb14f78ec231915d644db"}, - {file = "numpy-2.1.2-cp312-cp312-macosx_14_0_arm64.whl", hash = "sha256:f751ed0a2f250541e19dfca9f1eafa31a392c71c832b6bb9e113b10d050cb0f1"}, - {file = "numpy-2.1.2-cp312-cp312-macosx_14_0_x86_64.whl", hash = "sha256:bd33f82e95ba7ad632bc57837ee99dba3d7e006536200c4e9124089e1bf42426"}, - {file = "numpy-2.1.2-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:1b8cde4f11f0a975d1fd59373b32e2f5a562ade7cde4f85b7137f3de8fbb29a0"}, - {file = "numpy-2.1.2-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:6d95f286b8244b3649b477ac066c6906fbb2905f8ac19b170e2175d3d799f4df"}, - {file = "numpy-2.1.2-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:ab4754d432e3ac42d33a269c8567413bdb541689b02d93788af4131018cbf366"}, - {file = "numpy-2.1.2-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:e585c8ae871fd38ac50598f4763d73ec5497b0de9a0ab4ef5b69f01c6a046142"}, - {file = "numpy-2.1.2-cp312-cp312-win32.whl", hash = "sha256:9c6c754df29ce6a89ed23afb25550d1c2d5fdb9901d9c67a16e0b16eaf7e2550"}, - {file = "numpy-2.1.2-cp312-cp312-win_amd64.whl", hash = "sha256:456e3b11cb79ac9946c822a56346ec80275eaf2950314b249b512896c0d2505e"}, - {file = "numpy-2.1.2-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:a84498e0d0a1174f2b3ed769b67b656aa5460c92c9554039e11f20a05650f00d"}, - {file = "numpy-2.1.2-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:4d6ec0d4222e8ffdab1744da2560f07856421b367928026fb540e1945f2eeeaf"}, - {file = "numpy-2.1.2-cp313-cp313-macosx_14_0_arm64.whl", hash = "sha256:259ec80d54999cc34cd1eb8ded513cb053c3bf4829152a2e00de2371bd406f5e"}, - {file = "numpy-2.1.2-cp313-cp313-macosx_14_0_x86_64.whl", hash = "sha256:675c741d4739af2dc20cd6c6a5c4b7355c728167845e3c6b0e824e4e5d36a6c3"}, - {file = "numpy-2.1.2-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:05b2d4e667895cc55e3ff2b56077e4c8a5604361fc21a042845ea3ad67465aa8"}, - {file = "numpy-2.1.2-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:43cca367bf94a14aca50b89e9bc2061683116cfe864e56740e083392f533ce7a"}, - {file = "numpy-2.1.2-cp313-cp313-musllinux_1_1_x86_64.whl", hash = "sha256:76322dcdb16fccf2ac56f99048af32259dcc488d9b7e25b51e5eca5147a3fb98"}, - {file = "numpy-2.1.2-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:32e16a03138cabe0cb28e1007ee82264296ac0983714094380b408097a418cfe"}, - {file = "numpy-2.1.2-cp313-cp313-win32.whl", hash = "sha256:242b39d00e4944431a3cd2db2f5377e15b5785920421993770cddb89992c3f3a"}, - {file = "numpy-2.1.2-cp313-cp313-win_amd64.whl", hash = "sha256:f2ded8d9b6f68cc26f8425eda5d3877b47343e68ca23d0d0846f4d312ecaa445"}, - {file = "numpy-2.1.2-cp313-cp313t-macosx_10_13_x86_64.whl", hash = "sha256:2ffef621c14ebb0188a8633348504a35c13680d6da93ab5cb86f4e54b7e922b5"}, - {file = "numpy-2.1.2-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:ad369ed238b1959dfbade9018a740fb9392c5ac4f9b5173f420bd4f37ba1f7a0"}, - {file = "numpy-2.1.2-cp313-cp313t-macosx_14_0_arm64.whl", hash = "sha256:d82075752f40c0ddf57e6e02673a17f6cb0f8eb3f587f63ca1eaab5594da5b17"}, - {file = "numpy-2.1.2-cp313-cp313t-macosx_14_0_x86_64.whl", hash = "sha256:1600068c262af1ca9580a527d43dc9d959b0b1d8e56f8a05d830eea39b7c8af6"}, - {file = "numpy-2.1.2-cp313-cp313t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a26ae94658d3ba3781d5e103ac07a876b3e9b29db53f68ed7df432fd033358a8"}, - {file = "numpy-2.1.2-cp313-cp313t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:13311c2db4c5f7609b462bc0f43d3c465424d25c626d95040f073e30f7570e35"}, - {file = "numpy-2.1.2-cp313-cp313t-musllinux_1_1_x86_64.whl", hash = "sha256:2abbf905a0b568706391ec6fa15161fad0fb5d8b68d73c461b3c1bab6064dd62"}, - {file = "numpy-2.1.2-cp313-cp313t-musllinux_1_2_aarch64.whl", hash = "sha256:ef444c57d664d35cac4e18c298c47d7b504c66b17c2ea91312e979fcfbdfb08a"}, - {file = "numpy-2.1.2-pp310-pypy310_pp73-macosx_10_15_x86_64.whl", hash = "sha256:bdd407c40483463898b84490770199d5714dcc9dd9b792f6c6caccc523c00952"}, - {file = "numpy-2.1.2-pp310-pypy310_pp73-macosx_14_0_x86_64.whl", hash = "sha256:da65fb46d4cbb75cb417cddf6ba5e7582eb7bb0b47db4b99c9fe5787ce5d91f5"}, - {file = "numpy-2.1.2-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:1c193d0b0238638e6fc5f10f1b074a6993cb13b0b431f64079a509d63d3aa8b7"}, - {file = "numpy-2.1.2-pp310-pypy310_pp73-win_amd64.whl", hash = "sha256:a7d80b2e904faa63068ead63107189164ca443b42dd1930299e0d1cb041cec2e"}, - {file = "numpy-2.1.2.tar.gz", hash = "sha256:13532a088217fa624c99b843eeb54640de23b3414b14aa66d023805eb731066c"}, + {file = "numpy-2.1.3-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:c894b4305373b9c5576d7a12b473702afdf48ce5369c074ba304cc5ad8730dff"}, + {file = "numpy-2.1.3-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:b47fbb433d3260adcd51eb54f92a2ffbc90a4595f8970ee00e064c644ac788f5"}, + {file = "numpy-2.1.3-cp310-cp310-macosx_14_0_arm64.whl", hash = "sha256:825656d0743699c529c5943554d223c021ff0494ff1442152ce887ef4f7561a1"}, + {file = "numpy-2.1.3-cp310-cp310-macosx_14_0_x86_64.whl", hash = "sha256:6a4825252fcc430a182ac4dee5a505053d262c807f8a924603d411f6718b88fd"}, + {file = "numpy-2.1.3-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:e711e02f49e176a01d0349d82cb5f05ba4db7d5e7e0defd026328e5cfb3226d3"}, + {file = "numpy-2.1.3-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:78574ac2d1a4a02421f25da9559850d59457bac82f2b8d7a44fe83a64f770098"}, + {file = "numpy-2.1.3-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:c7662f0e3673fe4e832fe07b65c50342ea27d989f92c80355658c7f888fcc83c"}, + {file = "numpy-2.1.3-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:fa2d1337dc61c8dc417fbccf20f6d1e139896a30721b7f1e832b2bb6ef4eb6c4"}, + {file = "numpy-2.1.3-cp310-cp310-win32.whl", hash = "sha256:72dcc4a35a8515d83e76b58fdf8113a5c969ccd505c8a946759b24e3182d1f23"}, + {file = "numpy-2.1.3-cp310-cp310-win_amd64.whl", hash = "sha256:ecc76a9ba2911d8d37ac01de72834d8849e55473457558e12995f4cd53e778e0"}, + {file = "numpy-2.1.3-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:4d1167c53b93f1f5d8a139a742b3c6f4d429b54e74e6b57d0eff40045187b15d"}, + {file = "numpy-2.1.3-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:c80e4a09b3d95b4e1cac08643f1152fa71a0a821a2d4277334c88d54b2219a41"}, + {file = "numpy-2.1.3-cp311-cp311-macosx_14_0_arm64.whl", hash = "sha256:576a1c1d25e9e02ed7fa5477f30a127fe56debd53b8d2c89d5578f9857d03ca9"}, + {file = "numpy-2.1.3-cp311-cp311-macosx_14_0_x86_64.whl", hash = "sha256:973faafebaae4c0aaa1a1ca1ce02434554d67e628b8d805e61f874b84e136b09"}, + {file = "numpy-2.1.3-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:762479be47a4863e261a840e8e01608d124ee1361e48b96916f38b119cfda04a"}, + {file = "numpy-2.1.3-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:bc6f24b3d1ecc1eebfbf5d6051faa49af40b03be1aaa781ebdadcbc090b4539b"}, + {file = "numpy-2.1.3-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:17ee83a1f4fef3c94d16dc1802b998668b5419362c8a4f4e8a491de1b41cc3ee"}, + {file = "numpy-2.1.3-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:15cb89f39fa6d0bdfb600ea24b250e5f1a3df23f901f51c8debaa6a5d122b2f0"}, + {file = "numpy-2.1.3-cp311-cp311-win32.whl", hash = "sha256:d9beb777a78c331580705326d2367488d5bc473b49a9bc3036c154832520aca9"}, + {file = "numpy-2.1.3-cp311-cp311-win_amd64.whl", hash = "sha256:d89dd2b6da69c4fff5e39c28a382199ddedc3a5be5390115608345dec660b9e2"}, + {file = "numpy-2.1.3-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:f55ba01150f52b1027829b50d70ef1dafd9821ea82905b63936668403c3b471e"}, + {file = "numpy-2.1.3-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:13138eadd4f4da03074851a698ffa7e405f41a0845a6b1ad135b81596e4e9958"}, + {file = "numpy-2.1.3-cp312-cp312-macosx_14_0_arm64.whl", hash = "sha256:a6b46587b14b888e95e4a24d7b13ae91fa22386c199ee7b418f449032b2fa3b8"}, + {file = "numpy-2.1.3-cp312-cp312-macosx_14_0_x86_64.whl", hash = "sha256:0fa14563cc46422e99daef53d725d0c326e99e468a9320a240affffe87852564"}, + {file = "numpy-2.1.3-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:8637dcd2caa676e475503d1f8fdb327bc495554e10838019651b76d17b98e512"}, + {file = "numpy-2.1.3-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:2312b2aa89e1f43ecea6da6ea9a810d06aae08321609d8dc0d0eda6d946a541b"}, + {file = "numpy-2.1.3-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:a38c19106902bb19351b83802531fea19dee18e5b37b36454f27f11ff956f7fc"}, + {file = "numpy-2.1.3-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:02135ade8b8a84011cbb67dc44e07c58f28575cf9ecf8ab304e51c05528c19f0"}, + {file = "numpy-2.1.3-cp312-cp312-win32.whl", hash = "sha256:e6988e90fcf617da2b5c78902fe8e668361b43b4fe26dbf2d7b0f8034d4cafb9"}, + {file = "numpy-2.1.3-cp312-cp312-win_amd64.whl", hash = "sha256:0d30c543f02e84e92c4b1f415b7c6b5326cbe45ee7882b6b77db7195fb971e3a"}, + {file = "numpy-2.1.3-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:96fe52fcdb9345b7cd82ecd34547fca4321f7656d500eca497eb7ea5a926692f"}, + {file = "numpy-2.1.3-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:f653490b33e9c3a4c1c01d41bc2aef08f9475af51146e4a7710c450cf9761598"}, + {file = "numpy-2.1.3-cp313-cp313-macosx_14_0_arm64.whl", hash = "sha256:dc258a761a16daa791081d026f0ed4399b582712e6fc887a95af09df10c5ca57"}, + {file = "numpy-2.1.3-cp313-cp313-macosx_14_0_x86_64.whl", hash = "sha256:016d0f6f5e77b0f0d45d77387ffa4bb89816b57c835580c3ce8e099ef830befe"}, + {file = "numpy-2.1.3-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:c181ba05ce8299c7aa3125c27b9c2167bca4a4445b7ce73d5febc411ca692e43"}, + {file = "numpy-2.1.3-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:5641516794ca9e5f8a4d17bb45446998c6554704d888f86df9b200e66bdcce56"}, + {file = "numpy-2.1.3-cp313-cp313-musllinux_1_1_x86_64.whl", hash = "sha256:ea4dedd6e394a9c180b33c2c872b92f7ce0f8e7ad93e9585312b0c5a04777a4a"}, + {file = "numpy-2.1.3-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:b0df3635b9c8ef48bd3be5f862cf71b0a4716fa0e702155c45067c6b711ddcef"}, + {file = "numpy-2.1.3-cp313-cp313-win32.whl", hash = "sha256:50ca6aba6e163363f132b5c101ba078b8cbd3fa92c7865fd7d4d62d9779ac29f"}, + {file = "numpy-2.1.3-cp313-cp313-win_amd64.whl", hash = "sha256:747641635d3d44bcb380d950679462fae44f54b131be347d5ec2bce47d3df9ed"}, + {file = "numpy-2.1.3-cp313-cp313t-macosx_10_13_x86_64.whl", hash = "sha256:996bb9399059c5b82f76b53ff8bb686069c05acc94656bb259b1d63d04a9506f"}, + {file = "numpy-2.1.3-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:45966d859916ad02b779706bb43b954281db43e185015df6eb3323120188f9e4"}, + {file = "numpy-2.1.3-cp313-cp313t-macosx_14_0_arm64.whl", hash = "sha256:baed7e8d7481bfe0874b566850cb0b85243e982388b7b23348c6db2ee2b2ae8e"}, + {file = "numpy-2.1.3-cp313-cp313t-macosx_14_0_x86_64.whl", hash = "sha256:a9f7f672a3388133335589cfca93ed468509cb7b93ba3105fce780d04a6576a0"}, + {file = "numpy-2.1.3-cp313-cp313t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d7aac50327da5d208db2eec22eb11e491e3fe13d22653dce51b0f4109101b408"}, + {file = "numpy-2.1.3-cp313-cp313t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:4394bc0dbd074b7f9b52024832d16e019decebf86caf909d94f6b3f77a8ee3b6"}, + {file = "numpy-2.1.3-cp313-cp313t-musllinux_1_1_x86_64.whl", hash = "sha256:50d18c4358a0a8a53f12a8ba9d772ab2d460321e6a93d6064fc22443d189853f"}, + {file = "numpy-2.1.3-cp313-cp313t-musllinux_1_2_aarch64.whl", hash = "sha256:14e253bd43fc6b37af4921b10f6add6925878a42a0c5fe83daee390bca80bc17"}, + {file = "numpy-2.1.3-cp313-cp313t-win32.whl", hash = "sha256:08788d27a5fd867a663f6fc753fd7c3ad7e92747efc73c53bca2f19f8bc06f48"}, + {file = "numpy-2.1.3-cp313-cp313t-win_amd64.whl", hash = "sha256:2564fbdf2b99b3f815f2107c1bbc93e2de8ee655a69c261363a1172a79a257d4"}, + {file = "numpy-2.1.3-pp310-pypy310_pp73-macosx_10_15_x86_64.whl", hash = "sha256:4f2015dfe437dfebbfce7c85c7b53d81ba49e71ba7eadbf1df40c915af75979f"}, + {file = "numpy-2.1.3-pp310-pypy310_pp73-macosx_14_0_x86_64.whl", hash = "sha256:3522b0dfe983a575e6a9ab3a4a4dfe156c3e428468ff08ce582b9bb6bd1d71d4"}, + {file = "numpy-2.1.3-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:c006b607a865b07cd981ccb218a04fc86b600411d83d6fc261357f1c0966755d"}, + {file = "numpy-2.1.3-pp310-pypy310_pp73-win_amd64.whl", hash = "sha256:e14e26956e6f1696070788252dcdff11b4aca4c3e8bd166e0df1bb8f315a67cb"}, + {file = "numpy-2.1.3.tar.gz", hash = "sha256:aa08e04e08aaf974d4458def539dece0d28146d866a39da5639596f4921fd761"}, +] + +[[package]] +name = "opencv-python" +version = "4.8.1.78" +description = "Wrapper package for OpenCV python bindings." +optional = false +python-versions = ">=3.6" +files = [ + {file = "opencv-python-4.8.1.78.tar.gz", hash = "sha256:cc7adbbcd1112877a39274106cb2752e04984bc01a031162952e97450d6117f6"}, + {file = "opencv_python-4.8.1.78-cp37-abi3-macosx_10_16_x86_64.whl", hash = "sha256:91d5f6f5209dc2635d496f6b8ca6573ecdad051a09e6b5de4c399b8e673c60da"}, + {file = "opencv_python-4.8.1.78-cp37-abi3-macosx_11_0_arm64.whl", hash = "sha256:bc31f47e05447da8b3089faa0a07ffe80e114c91ce0b171e6424f9badbd1c5cd"}, + {file = "opencv_python-4.8.1.78-cp37-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:9814beca408d3a0eca1bae7e3e5be68b07c17ecceb392b94170881216e09b319"}, + {file = "opencv_python-4.8.1.78-cp37-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:c4c406bdb41eb21ea51b4e90dfbc989c002786c3f601c236a99c59a54670a394"}, + {file = "opencv_python-4.8.1.78-cp37-abi3-win32.whl", hash = "sha256:a7aac3900fbacf55b551e7b53626c3dad4c71ce85643645c43e91fcb19045e47"}, + {file = "opencv_python-4.8.1.78-cp37-abi3-win_amd64.whl", hash = "sha256:b983197f97cfa6fcb74e1da1802c7497a6f94ed561aba6980f1f33123f904956"}, ] +[package.dependencies] +numpy = {version = ">=1.23.5", markers = "python_version >= \"3.11\""} + [[package]] name = "opencv-python" version = "4.10.0.84" @@ -2856,13 +2976,13 @@ files = [ [package.dependencies] numpy = [ - {version = ">=1.26.0", markers = "python_version >= \"3.12\""}, {version = ">=1.21.0", markers = "python_version <= \"3.9\" and platform_system == \"Darwin\" and platform_machine == \"arm64\" and python_version >= \"3.8\""}, {version = ">=1.19.3", markers = "platform_system == \"Linux\" and platform_machine == \"aarch64\" and python_version >= \"3.8\" and python_version < \"3.10\" or python_version > \"3.9\" and python_version < \"3.10\" or python_version >= \"3.9\" and platform_system != \"Darwin\" and python_version < \"3.10\" or python_version >= \"3.9\" and platform_machine != \"arm64\" and python_version < \"3.10\""}, {version = ">=1.17.3", markers = "(platform_system != \"Darwin\" and platform_system != \"Linux\") and python_version >= \"3.8\" and python_version < \"3.9\" or platform_system != \"Darwin\" and python_version >= \"3.8\" and python_version < \"3.9\" and platform_machine != \"aarch64\" or platform_machine != \"arm64\" and python_version >= \"3.8\" and python_version < \"3.9\" and platform_system != \"Linux\" or (platform_machine != \"arm64\" and platform_machine != \"aarch64\") and python_version >= \"3.8\" and python_version < \"3.9\""}, {version = ">=1.21.4", markers = "python_version >= \"3.10\" and platform_system == \"Darwin\" and python_version < \"3.11\""}, {version = ">=1.21.2", markers = "platform_system != \"Darwin\" and python_version >= \"3.10\" and python_version < \"3.11\""}, {version = ">=1.23.5", markers = "python_version >= \"3.11\" and python_version < \"3.12\""}, + {version = ">=1.26.0", markers = "python_version >= \"3.12\""}, ] [[package]] @@ -2878,13 +2998,13 @@ files = [ [[package]] name = "packaging" -version = "24.1" +version = "24.2" description = "Core utilities for Python packages" optional = false python-versions = ">=3.8" files = [ - {file = "packaging-24.1-py3-none-any.whl", hash = "sha256:5b8f2217dbdbd2f7f384c41c628544e6d52f2d0f53c6d0c3ea61aa5d1d7ff124"}, - {file = "packaging-24.1.tar.gz", hash = "sha256:026ed72c8ed3fcce5bf8950572258698927fd1dbda10a5e981cdf0ac37f4f002"}, + {file = "packaging-24.2-py3-none-any.whl", hash = "sha256:09abb1bccd265c01f4a3aa3f7a7db064b36514d2cba19a2f694fe6150451a759"}, + {file = "packaging-24.2.tar.gz", hash = "sha256:c228a6dc5e932d346bc5739379109d49e8853dd8223571c7c5b55260edc0b97f"}, ] [[package]] @@ -2938,9 +3058,9 @@ files = [ [package.dependencies] numpy = [ - {version = ">=1.23.2", markers = "python_version >= \"3.11\""}, {version = ">=1.20.3", markers = "python_version < \"3.10\""}, {version = ">=1.21.0", markers = "python_version >= \"3.10\" and python_version < \"3.11\""}, + {version = ">=1.23.2", markers = "python_version >= \"3.11\""}, ] python-dateutil = ">=2.8.2" pytz = ">=2020.1" @@ -2971,16 +3091,35 @@ xml = ["lxml (>=4.6.3)"] [[package]] name = "pandas-stubs" -version = "2.0.1.230501" +version = "2.0.2.230605" description = "Type annotations for pandas" -optional = true +optional = false +python-versions = ">=3.8" +files = [ + {file = "pandas_stubs-2.0.2.230605-py3-none-any.whl", hash = "sha256:39106b602f3cb6dc5f728b84e1b32bde6ecf41ee34ee714c66228009609fbada"}, + {file = "pandas_stubs-2.0.2.230605.tar.gz", hash = "sha256:624c7bb06d38145a44b61be459ccd19b038e0bf20364a025ecaab78fea65e858"}, +] + +[package.dependencies] +numpy = ">=1.24.3" +types-pytz = ">=2022.1.1" + +[[package]] +name = "pandas-stubs" +version = "2.0.3.230814" +description = "Type annotations for pandas" +optional = false python-versions = ">=3.8" files = [ - {file = "pandas_stubs-2.0.1.230501-py3-none-any.whl", hash = "sha256:7ffc6528290df44881d1d78b7239161ba203e4b6570b71949fc4a4e5eabca8a5"}, - {file = "pandas_stubs-2.0.1.230501.tar.gz", hash = "sha256:2faf2c08ecfd8f5b82823279e06818d92eb642079e73d93921779bad69bd4cb0"}, + {file = "pandas_stubs-2.0.3.230814-py3-none-any.whl", hash = "sha256:4b3dfc027d49779176b7daa031a3405f7b839bcb6e312f4b9f29fea5feec5b4f"}, + {file = "pandas_stubs-2.0.3.230814.tar.gz", hash = "sha256:1d5cc09e36e3d9f9a1ed9dceae4e03eeb26d1b898dd769996925f784365c8769"}, ] [package.dependencies] +numpy = [ + {version = "<=1.24.3", markers = "python_full_version <= \"3.8.0\""}, + {version = ">=1.25.0", markers = "python_version >= \"3.9\""}, +] types-pytz = ">=2022.1.1" [[package]] @@ -3246,32 +3385,33 @@ wcwidth = "*" [[package]] name = "psutil" -version = "6.0.0" +version = "6.1.0" description = "Cross-platform lib for process and system monitoring in Python." optional = false python-versions = "!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*,!=3.4.*,!=3.5.*,>=2.7" files = [ - {file = "psutil-6.0.0-cp27-cp27m-macosx_10_9_x86_64.whl", hash = "sha256:a021da3e881cd935e64a3d0a20983bda0bb4cf80e4f74fa9bfcb1bc5785360c6"}, - {file = "psutil-6.0.0-cp27-cp27m-manylinux2010_i686.whl", hash = "sha256:1287c2b95f1c0a364d23bc6f2ea2365a8d4d9b726a3be7294296ff7ba97c17f0"}, - {file = "psutil-6.0.0-cp27-cp27m-manylinux2010_x86_64.whl", hash = "sha256:a9a3dbfb4de4f18174528d87cc352d1f788b7496991cca33c6996f40c9e3c92c"}, - {file = "psutil-6.0.0-cp27-cp27mu-manylinux2010_i686.whl", hash = "sha256:6ec7588fb3ddaec7344a825afe298db83fe01bfaaab39155fa84cf1c0d6b13c3"}, - {file = "psutil-6.0.0-cp27-cp27mu-manylinux2010_x86_64.whl", hash = "sha256:1e7c870afcb7d91fdea2b37c24aeb08f98b6d67257a5cb0a8bc3ac68d0f1a68c"}, - {file = "psutil-6.0.0-cp27-none-win32.whl", hash = "sha256:02b69001f44cc73c1c5279d02b30a817e339ceb258ad75997325e0e6169d8b35"}, - {file = "psutil-6.0.0-cp27-none-win_amd64.whl", hash = "sha256:21f1fb635deccd510f69f485b87433460a603919b45e2a324ad65b0cc74f8fb1"}, - {file = "psutil-6.0.0-cp36-abi3-macosx_10_9_x86_64.whl", hash = "sha256:c588a7e9b1173b6e866756dde596fd4cad94f9399daf99ad8c3258b3cb2b47a0"}, - {file = "psutil-6.0.0-cp36-abi3-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:6ed2440ada7ef7d0d608f20ad89a04ec47d2d3ab7190896cd62ca5fc4fe08bf0"}, - {file = "psutil-6.0.0-cp36-abi3-manylinux_2_12_x86_64.manylinux2010_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:5fd9a97c8e94059b0ef54a7d4baf13b405011176c3b6ff257c247cae0d560ecd"}, - {file = "psutil-6.0.0-cp36-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:e2e8d0054fc88153ca0544f5c4d554d42e33df2e009c4ff42284ac9ebdef4132"}, - {file = "psutil-6.0.0-cp36-cp36m-win32.whl", hash = "sha256:fc8c9510cde0146432bbdb433322861ee8c3efbf8589865c8bf8d21cb30c4d14"}, - {file = "psutil-6.0.0-cp36-cp36m-win_amd64.whl", hash = "sha256:34859b8d8f423b86e4385ff3665d3f4d94be3cdf48221fbe476e883514fdb71c"}, - {file = "psutil-6.0.0-cp37-abi3-win32.whl", hash = "sha256:a495580d6bae27291324fe60cea0b5a7c23fa36a7cd35035a16d93bdcf076b9d"}, - {file = "psutil-6.0.0-cp37-abi3-win_amd64.whl", hash = "sha256:33ea5e1c975250a720b3a6609c490db40dae5d83a4eb315170c4fe0d8b1f34b3"}, - {file = "psutil-6.0.0-cp38-abi3-macosx_11_0_arm64.whl", hash = "sha256:ffe7fc9b6b36beadc8c322f84e1caff51e8703b88eee1da46d1e3a6ae11b4fd0"}, - {file = "psutil-6.0.0.tar.gz", hash = "sha256:8faae4f310b6d969fa26ca0545338b21f73c6b15db7c4a8d934a5482faa818f2"}, + {file = "psutil-6.1.0-cp27-cp27m-macosx_10_9_x86_64.whl", hash = "sha256:ff34df86226c0227c52f38b919213157588a678d049688eded74c76c8ba4a5d0"}, + {file = "psutil-6.1.0-cp27-cp27m-manylinux2010_i686.whl", hash = "sha256:c0e0c00aa18ca2d3b2b991643b799a15fc8f0563d2ebb6040f64ce8dc027b942"}, + {file = "psutil-6.1.0-cp27-cp27m-manylinux2010_x86_64.whl", hash = "sha256:000d1d1ebd634b4efb383f4034437384e44a6d455260aaee2eca1e9c1b55f047"}, + {file = "psutil-6.1.0-cp27-cp27mu-manylinux2010_i686.whl", hash = "sha256:5cd2bcdc75b452ba2e10f0e8ecc0b57b827dd5d7aaffbc6821b2a9a242823a76"}, + {file = "psutil-6.1.0-cp27-cp27mu-manylinux2010_x86_64.whl", hash = "sha256:045f00a43c737f960d273a83973b2511430d61f283a44c96bf13a6e829ba8fdc"}, + {file = "psutil-6.1.0-cp27-none-win32.whl", hash = "sha256:9118f27452b70bb1d9ab3198c1f626c2499384935aaf55388211ad982611407e"}, + {file = "psutil-6.1.0-cp27-none-win_amd64.whl", hash = "sha256:a8506f6119cff7015678e2bce904a4da21025cc70ad283a53b099e7620061d85"}, + {file = "psutil-6.1.0-cp36-abi3-macosx_10_9_x86_64.whl", hash = "sha256:6e2dcd475ce8b80522e51d923d10c7871e45f20918e027ab682f94f1c6351688"}, + {file = "psutil-6.1.0-cp36-abi3-macosx_11_0_arm64.whl", hash = "sha256:0895b8414afafc526712c498bd9de2b063deaac4021a3b3c34566283464aff8e"}, + {file = "psutil-6.1.0-cp36-abi3-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:9dcbfce5d89f1d1f2546a2090f4fcf87c7f669d1d90aacb7d7582addece9fb38"}, + {file = "psutil-6.1.0-cp36-abi3-manylinux_2_12_x86_64.manylinux2010_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:498c6979f9c6637ebc3a73b3f87f9eb1ec24e1ce53a7c5173b8508981614a90b"}, + {file = "psutil-6.1.0-cp36-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d905186d647b16755a800e7263d43df08b790d709d575105d419f8b6ef65423a"}, + {file = "psutil-6.1.0-cp36-cp36m-win32.whl", hash = "sha256:6d3fbbc8d23fcdcb500d2c9f94e07b1342df8ed71b948a2649b5cb060a7c94ca"}, + {file = "psutil-6.1.0-cp36-cp36m-win_amd64.whl", hash = "sha256:1209036fbd0421afde505a4879dee3b2fd7b1e14fee81c0069807adcbbcca747"}, + {file = "psutil-6.1.0-cp37-abi3-win32.whl", hash = "sha256:1ad45a1f5d0b608253b11508f80940985d1d0c8f6111b5cb637533a0e6ddc13e"}, + {file = "psutil-6.1.0-cp37-abi3-win_amd64.whl", hash = "sha256:a8fb3752b491d246034fa4d279ff076501588ce8cbcdbb62c32fd7a377d996be"}, + {file = "psutil-6.1.0.tar.gz", hash = "sha256:353815f59a7f64cdaca1c0307ee13558a0512f6db064e92fe833784f08539c7a"}, ] [package.extras] -test = ["enum34", "ipaddress", "mock", "pywin32", "wmi"] +dev = ["black", "check-manifest", "coverage", "packaging", "pylint", "pyperf", "pypinfo", "pytest-cov", "requests", "rstcheck", "ruff", "sphinx", "sphinx_rtd_theme", "toml-sort", "twine", "virtualenv", "wheel"] +test = ["pytest", "pytest-xdist", "setuptools"] [[package]] name = "ptyprocess" @@ -3325,13 +3465,13 @@ windows-terminal = ["colorama (>=0.4.6)"] [[package]] name = "pymdown-extensions" -version = "10.11.2" +version = "10.12" description = "Extension pack for Python Markdown." optional = false python-versions = ">=3.8" files = [ - {file = "pymdown_extensions-10.11.2-py3-none-any.whl", hash = "sha256:41cdde0a77290e480cf53892f5c5e50921a7ee3e5cd60ba91bf19837b33badcf"}, - {file = "pymdown_extensions-10.11.2.tar.gz", hash = "sha256:bc8847ecc9e784a098efd35e20cba772bc5a1b529dfcef9dc1972db9021a1049"}, + {file = "pymdown_extensions-10.12-py3-none-any.whl", hash = "sha256:49f81412242d3527b8b4967b990df395c89563043bc51a3d2d7d500e52123b77"}, + {file = "pymdown_extensions-10.12.tar.gz", hash = "sha256:b0ee1e0b2bef1071a47891ab17003bfe5bf824a398e13f49f8ed653b699369a7"}, ] [package.dependencies] @@ -3355,6 +3495,20 @@ files = [ [package.extras] diagrams = ["jinja2", "railroad-diagrams"] +[[package]] +name = "pyparsing" +version = "3.1.4" +description = "pyparsing module - Classes and methods to define and execute parsing grammars" +optional = false +python-versions = ">=3.6.8" +files = [ + {file = "pyparsing-3.1.4-py3-none-any.whl", hash = "sha256:a6a7ee4235a3f944aa1fa2249307708f893fe5717dc603503c6c7969c070fb7c"}, + {file = "pyparsing-3.1.4.tar.gz", hash = "sha256:f86ec8d1a83f11977c9a6ea7598e8c27fc5cddfa5b07ea2241edbbde1d7bc032"}, +] + +[package.extras] +diagrams = ["jinja2", "railroad-diagrams"] + [[package]] name = "pyproject-api" version = "1.8.0" @@ -3483,17 +3637,17 @@ files = [ [[package]] name = "pywinpty" -version = "2.0.13" +version = "2.0.14" description = "Pseudo terminal support for Windows from Python." optional = false python-versions = ">=3.8" files = [ - {file = "pywinpty-2.0.13-cp310-none-win_amd64.whl", hash = "sha256:697bff211fb5a6508fee2dc6ff174ce03f34a9a233df9d8b5fe9c8ce4d5eaf56"}, - {file = "pywinpty-2.0.13-cp311-none-win_amd64.whl", hash = "sha256:b96fb14698db1284db84ca38c79f15b4cfdc3172065b5137383910567591fa99"}, - {file = "pywinpty-2.0.13-cp312-none-win_amd64.whl", hash = "sha256:2fd876b82ca750bb1333236ce98488c1be96b08f4f7647cfdf4129dfad83c2d4"}, - {file = "pywinpty-2.0.13-cp38-none-win_amd64.whl", hash = "sha256:61d420c2116c0212808d31625611b51caf621fe67f8a6377e2e8b617ea1c1f7d"}, - {file = "pywinpty-2.0.13-cp39-none-win_amd64.whl", hash = "sha256:71cb613a9ee24174730ac7ae439fd179ca34ccb8c5349e8d7b72ab5dea2c6f4b"}, - {file = "pywinpty-2.0.13.tar.gz", hash = "sha256:c34e32351a3313ddd0d7da23d27f835c860d32fe4ac814d372a3ea9594f41dde"}, + {file = "pywinpty-2.0.14-cp310-none-win_amd64.whl", hash = "sha256:0b149c2918c7974f575ba79f5a4aad58bd859a52fa9eb1296cc22aa412aa411f"}, + {file = "pywinpty-2.0.14-cp311-none-win_amd64.whl", hash = "sha256:cf2a43ac7065b3e0dc8510f8c1f13a75fb8fde805efa3b8cff7599a1ef497bc7"}, + {file = "pywinpty-2.0.14-cp312-none-win_amd64.whl", hash = "sha256:55dad362ef3e9408ade68fd173e4f9032b3ce08f68cfe7eacb2c263ea1179737"}, + {file = "pywinpty-2.0.14-cp313-none-win_amd64.whl", hash = "sha256:074fb988a56ec79ca90ed03a896d40707131897cefb8f76f926e3834227f2819"}, + {file = "pywinpty-2.0.14-cp39-none-win_amd64.whl", hash = "sha256:5725fd56f73c0531ec218663bd8c8ff5acc43c78962fab28564871b5fce053fd"}, + {file = "pywinpty-2.0.14.tar.gz", hash = "sha256:18bd9529e4a5daf2d9719aa17788ba6013e594ae94c5a0c27e83df3278b0660e"}, ] [[package]] @@ -3729,105 +3883,105 @@ rpds-py = ">=0.7.0" [[package]] name = "regex" -version = "2024.9.11" +version = "2024.11.6" description = "Alternative regular expression module, to replace re." optional = false python-versions = ">=3.8" files = [ - {file = "regex-2024.9.11-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:1494fa8725c285a81d01dc8c06b55287a1ee5e0e382d8413adc0a9197aac6408"}, - {file = "regex-2024.9.11-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:0e12c481ad92d129c78f13a2a3662317e46ee7ef96c94fd332e1c29131875b7d"}, - {file = "regex-2024.9.11-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:16e13a7929791ac1216afde26f712802e3df7bf0360b32e4914dca3ab8baeea5"}, - {file = "regex-2024.9.11-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:46989629904bad940bbec2106528140a218b4a36bb3042d8406980be1941429c"}, - {file = "regex-2024.9.11-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:a906ed5e47a0ce5f04b2c981af1c9acf9e8696066900bf03b9d7879a6f679fc8"}, - {file = "regex-2024.9.11-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:e9a091b0550b3b0207784a7d6d0f1a00d1d1c8a11699c1a4d93db3fbefc3ad35"}, - {file = "regex-2024.9.11-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:5ddcd9a179c0a6fa8add279a4444015acddcd7f232a49071ae57fa6e278f1f71"}, - {file = "regex-2024.9.11-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:6b41e1adc61fa347662b09398e31ad446afadff932a24807d3ceb955ed865cc8"}, - {file = "regex-2024.9.11-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:ced479f601cd2f8ca1fd7b23925a7e0ad512a56d6e9476f79b8f381d9d37090a"}, - {file = "regex-2024.9.11-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:635a1d96665f84b292e401c3d62775851aedc31d4f8784117b3c68c4fcd4118d"}, - {file = "regex-2024.9.11-cp310-cp310-musllinux_1_2_i686.whl", hash = "sha256:c0256beda696edcf7d97ef16b2a33a8e5a875affd6fa6567b54f7c577b30a137"}, - {file = "regex-2024.9.11-cp310-cp310-musllinux_1_2_ppc64le.whl", hash = "sha256:3ce4f1185db3fbde8ed8aa223fc9620f276c58de8b0d4f8cc86fd1360829edb6"}, - {file = "regex-2024.9.11-cp310-cp310-musllinux_1_2_s390x.whl", hash = "sha256:09d77559e80dcc9d24570da3745ab859a9cf91953062e4ab126ba9d5993688ca"}, - {file = "regex-2024.9.11-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:7a22ccefd4db3f12b526eccb129390942fe874a3a9fdbdd24cf55773a1faab1a"}, - {file = "regex-2024.9.11-cp310-cp310-win32.whl", hash = "sha256:f745ec09bc1b0bd15cfc73df6fa4f726dcc26bb16c23a03f9e3367d357eeedd0"}, - {file = "regex-2024.9.11-cp310-cp310-win_amd64.whl", hash = "sha256:01c2acb51f8a7d6494c8c5eafe3d8e06d76563d8a8a4643b37e9b2dd8a2ff623"}, - {file = "regex-2024.9.11-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:2cce2449e5927a0bf084d346da6cd5eb016b2beca10d0013ab50e3c226ffc0df"}, - {file = "regex-2024.9.11-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:3b37fa423beefa44919e009745ccbf353d8c981516e807995b2bd11c2c77d268"}, - {file = "regex-2024.9.11-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:64ce2799bd75039b480cc0360907c4fb2f50022f030bf9e7a8705b636e408fad"}, - {file = "regex-2024.9.11-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a4cc92bb6db56ab0c1cbd17294e14f5e9224f0cc6521167ef388332604e92679"}, - {file = "regex-2024.9.11-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:d05ac6fa06959c4172eccd99a222e1fbf17b5670c4d596cb1e5cde99600674c4"}, - {file = "regex-2024.9.11-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:040562757795eeea356394a7fb13076ad4f99d3c62ab0f8bdfb21f99a1f85664"}, - {file = "regex-2024.9.11-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:6113c008a7780792efc80f9dfe10ba0cd043cbf8dc9a76ef757850f51b4edc50"}, - {file = "regex-2024.9.11-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:8e5fb5f77c8745a60105403a774fe2c1759b71d3e7b4ca237a5e67ad066c7199"}, - {file = "regex-2024.9.11-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:54d9ff35d4515debf14bc27f1e3b38bfc453eff3220f5bce159642fa762fe5d4"}, - {file = "regex-2024.9.11-cp311-cp311-musllinux_1_2_i686.whl", hash = "sha256:df5cbb1fbc74a8305b6065d4ade43b993be03dbe0f8b30032cced0d7740994bd"}, - {file = "regex-2024.9.11-cp311-cp311-musllinux_1_2_ppc64le.whl", hash = "sha256:7fb89ee5d106e4a7a51bce305ac4efb981536301895f7bdcf93ec92ae0d91c7f"}, - {file = "regex-2024.9.11-cp311-cp311-musllinux_1_2_s390x.whl", hash = "sha256:a738b937d512b30bf75995c0159c0ddf9eec0775c9d72ac0202076c72f24aa96"}, - {file = "regex-2024.9.11-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:e28f9faeb14b6f23ac55bfbbfd3643f5c7c18ede093977f1df249f73fd22c7b1"}, - {file = "regex-2024.9.11-cp311-cp311-win32.whl", hash = "sha256:18e707ce6c92d7282dfce370cd205098384b8ee21544e7cb29b8aab955b66fa9"}, - {file = "regex-2024.9.11-cp311-cp311-win_amd64.whl", hash = "sha256:313ea15e5ff2a8cbbad96ccef6be638393041b0a7863183c2d31e0c6116688cf"}, - {file = "regex-2024.9.11-cp312-cp312-macosx_10_9_universal2.whl", hash = "sha256:b0d0a6c64fcc4ef9c69bd5b3b3626cc3776520a1637d8abaa62b9edc147a58f7"}, - {file = "regex-2024.9.11-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:49b0e06786ea663f933f3710a51e9385ce0cba0ea56b67107fd841a55d56a231"}, - {file = "regex-2024.9.11-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:5b513b6997a0b2f10e4fd3a1313568e373926e8c252bd76c960f96fd039cd28d"}, - {file = "regex-2024.9.11-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:ee439691d8c23e76f9802c42a95cfeebf9d47cf4ffd06f18489122dbb0a7ad64"}, - {file = "regex-2024.9.11-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:a8f877c89719d759e52783f7fe6e1c67121076b87b40542966c02de5503ace42"}, - {file = "regex-2024.9.11-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:23b30c62d0f16827f2ae9f2bb87619bc4fba2044911e2e6c2eb1af0161cdb766"}, - {file = "regex-2024.9.11-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:85ab7824093d8f10d44330fe1e6493f756f252d145323dd17ab6b48733ff6c0a"}, - {file = "regex-2024.9.11-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:8dee5b4810a89447151999428fe096977346cf2f29f4d5e29609d2e19e0199c9"}, - {file = "regex-2024.9.11-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:98eeee2f2e63edae2181c886d7911ce502e1292794f4c5ee71e60e23e8d26b5d"}, - {file = "regex-2024.9.11-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:57fdd2e0b2694ce6fc2e5ccf189789c3e2962916fb38779d3e3521ff8fe7a822"}, - {file = "regex-2024.9.11-cp312-cp312-musllinux_1_2_ppc64le.whl", hash = "sha256:d552c78411f60b1fdaafd117a1fca2f02e562e309223b9d44b7de8be451ec5e0"}, - {file = "regex-2024.9.11-cp312-cp312-musllinux_1_2_s390x.whl", hash = "sha256:a0b2b80321c2ed3fcf0385ec9e51a12253c50f146fddb2abbb10f033fe3d049a"}, - {file = "regex-2024.9.11-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:18406efb2f5a0e57e3a5881cd9354c1512d3bb4f5c45d96d110a66114d84d23a"}, - {file = "regex-2024.9.11-cp312-cp312-win32.whl", hash = "sha256:e464b467f1588e2c42d26814231edecbcfe77f5ac414d92cbf4e7b55b2c2a776"}, - {file = "regex-2024.9.11-cp312-cp312-win_amd64.whl", hash = "sha256:9e8719792ca63c6b8340380352c24dcb8cd7ec49dae36e963742a275dfae6009"}, - {file = "regex-2024.9.11-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:c157bb447303070f256e084668b702073db99bbb61d44f85d811025fcf38f784"}, - {file = "regex-2024.9.11-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:4db21ece84dfeefc5d8a3863f101995de646c6cb0536952c321a2650aa202c36"}, - {file = "regex-2024.9.11-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:220e92a30b426daf23bb67a7962900ed4613589bab80382be09b48896d211e92"}, - {file = "regex-2024.9.11-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:eb1ae19e64c14c7ec1995f40bd932448713d3c73509e82d8cd7744dc00e29e86"}, - {file = "regex-2024.9.11-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:f47cd43a5bfa48f86925fe26fbdd0a488ff15b62468abb5d2a1e092a4fb10e85"}, - {file = "regex-2024.9.11-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:9d4a76b96f398697fe01117093613166e6aa8195d63f1b4ec3f21ab637632963"}, - {file = "regex-2024.9.11-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:0ea51dcc0835eea2ea31d66456210a4e01a076d820e9039b04ae8d17ac11dee6"}, - {file = "regex-2024.9.11-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:b7aaa315101c6567a9a45d2839322c51c8d6e81f67683d529512f5bcfb99c802"}, - {file = "regex-2024.9.11-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:c57d08ad67aba97af57a7263c2d9006d5c404d721c5f7542f077f109ec2a4a29"}, - {file = "regex-2024.9.11-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:f8404bf61298bb6f8224bb9176c1424548ee1181130818fcd2cbffddc768bed8"}, - {file = "regex-2024.9.11-cp313-cp313-musllinux_1_2_ppc64le.whl", hash = "sha256:dd4490a33eb909ef5078ab20f5f000087afa2a4daa27b4c072ccb3cb3050ad84"}, - {file = "regex-2024.9.11-cp313-cp313-musllinux_1_2_s390x.whl", hash = "sha256:eee9130eaad130649fd73e5cd92f60e55708952260ede70da64de420cdcad554"}, - {file = "regex-2024.9.11-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:6a2644a93da36c784e546de579ec1806bfd2763ef47babc1b03d765fe560c9f8"}, - {file = "regex-2024.9.11-cp313-cp313-win32.whl", hash = "sha256:e997fd30430c57138adc06bba4c7c2968fb13d101e57dd5bb9355bf8ce3fa7e8"}, - {file = "regex-2024.9.11-cp313-cp313-win_amd64.whl", hash = "sha256:042c55879cfeb21a8adacc84ea347721d3d83a159da6acdf1116859e2427c43f"}, - {file = "regex-2024.9.11-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:35f4a6f96aa6cb3f2f7247027b07b15a374f0d5b912c0001418d1d55024d5cb4"}, - {file = "regex-2024.9.11-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:55b96e7ce3a69a8449a66984c268062fbaa0d8ae437b285428e12797baefce7e"}, - {file = "regex-2024.9.11-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:cb130fccd1a37ed894824b8c046321540263013da72745d755f2d35114b81a60"}, - {file = "regex-2024.9.11-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:323c1f04be6b2968944d730e5c2091c8c89767903ecaa135203eec4565ed2b2b"}, - {file = "regex-2024.9.11-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:be1c8ed48c4c4065ecb19d882a0ce1afe0745dfad8ce48c49586b90a55f02366"}, - {file = "regex-2024.9.11-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:b5b029322e6e7b94fff16cd120ab35a253236a5f99a79fb04fda7ae71ca20ae8"}, - {file = "regex-2024.9.11-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f6fff13ef6b5f29221d6904aa816c34701462956aa72a77f1f151a8ec4f56aeb"}, - {file = "regex-2024.9.11-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:587d4af3979376652010e400accc30404e6c16b7df574048ab1f581af82065e4"}, - {file = "regex-2024.9.11-cp38-cp38-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:079400a8269544b955ffa9e31f186f01d96829110a3bf79dc338e9910f794fca"}, - {file = "regex-2024.9.11-cp38-cp38-musllinux_1_2_aarch64.whl", hash = "sha256:f9268774428ec173654985ce55fc6caf4c6d11ade0f6f914d48ef4719eb05ebb"}, - {file = "regex-2024.9.11-cp38-cp38-musllinux_1_2_i686.whl", hash = "sha256:23f9985c8784e544d53fc2930fc1ac1a7319f5d5332d228437acc9f418f2f168"}, - {file = "regex-2024.9.11-cp38-cp38-musllinux_1_2_ppc64le.whl", hash = "sha256:ae2941333154baff9838e88aa71c1d84f4438189ecc6021a12c7573728b5838e"}, - {file = "regex-2024.9.11-cp38-cp38-musllinux_1_2_s390x.whl", hash = "sha256:e93f1c331ca8e86fe877a48ad64e77882c0c4da0097f2212873a69bbfea95d0c"}, - {file = "regex-2024.9.11-cp38-cp38-musllinux_1_2_x86_64.whl", hash = "sha256:846bc79ee753acf93aef4184c040d709940c9d001029ceb7b7a52747b80ed2dd"}, - {file = "regex-2024.9.11-cp38-cp38-win32.whl", hash = "sha256:c94bb0a9f1db10a1d16c00880bdebd5f9faf267273b8f5bd1878126e0fbde771"}, - {file = "regex-2024.9.11-cp38-cp38-win_amd64.whl", hash = "sha256:2b08fce89fbd45664d3df6ad93e554b6c16933ffa9d55cb7e01182baaf971508"}, - {file = "regex-2024.9.11-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:07f45f287469039ffc2c53caf6803cd506eb5f5f637f1d4acb37a738f71dd066"}, - {file = "regex-2024.9.11-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:4838e24ee015101d9f901988001038f7f0d90dc0c3b115541a1365fb439add62"}, - {file = "regex-2024.9.11-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:6edd623bae6a737f10ce853ea076f56f507fd7726bee96a41ee3d68d347e4d16"}, - {file = "regex-2024.9.11-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:c69ada171c2d0e97a4b5aa78fbb835e0ffbb6b13fc5da968c09811346564f0d3"}, - {file = "regex-2024.9.11-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:02087ea0a03b4af1ed6ebab2c54d7118127fee8d71b26398e8e4b05b78963199"}, - {file = "regex-2024.9.11-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:69dee6a020693d12a3cf892aba4808fe168d2a4cef368eb9bf74f5398bfd4ee8"}, - {file = "regex-2024.9.11-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:297f54910247508e6e5cae669f2bc308985c60540a4edd1c77203ef19bfa63ca"}, - {file = "regex-2024.9.11-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:ecea58b43a67b1b79805f1a0255730edaf5191ecef84dbc4cc85eb30bc8b63b9"}, - {file = "regex-2024.9.11-cp39-cp39-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:eab4bb380f15e189d1313195b062a6aa908f5bd687a0ceccd47c8211e9cf0d4a"}, - {file = "regex-2024.9.11-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:0cbff728659ce4bbf4c30b2a1be040faafaa9eca6ecde40aaff86f7889f4ab39"}, - {file = "regex-2024.9.11-cp39-cp39-musllinux_1_2_i686.whl", hash = "sha256:54c4a097b8bc5bb0dfc83ae498061d53ad7b5762e00f4adaa23bee22b012e6ba"}, - {file = "regex-2024.9.11-cp39-cp39-musllinux_1_2_ppc64le.whl", hash = "sha256:73d6d2f64f4d894c96626a75578b0bf7d9e56dcda8c3d037a2118fdfe9b1c664"}, - {file = "regex-2024.9.11-cp39-cp39-musllinux_1_2_s390x.whl", hash = "sha256:e53b5fbab5d675aec9f0c501274c467c0f9a5d23696cfc94247e1fb56501ed89"}, - {file = "regex-2024.9.11-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:0ffbcf9221e04502fc35e54d1ce9567541979c3fdfb93d2c554f0ca583a19b35"}, - {file = "regex-2024.9.11-cp39-cp39-win32.whl", hash = "sha256:e4c22e1ac1f1ec1e09f72e6c44d8f2244173db7eb9629cc3a346a8d7ccc31142"}, - {file = "regex-2024.9.11-cp39-cp39-win_amd64.whl", hash = "sha256:faa3c142464efec496967359ca99696c896c591c56c53506bac1ad465f66e919"}, - {file = "regex-2024.9.11.tar.gz", hash = "sha256:6c188c307e8433bcb63dc1915022deb553b4203a70722fc542c363bf120a01fd"}, + {file = "regex-2024.11.6-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:ff590880083d60acc0433f9c3f713c51f7ac6ebb9adf889c79a261ecf541aa91"}, + {file = "regex-2024.11.6-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:658f90550f38270639e83ce492f27d2c8d2cd63805c65a13a14d36ca126753f0"}, + {file = "regex-2024.11.6-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:164d8b7b3b4bcb2068b97428060b2a53be050085ef94eca7f240e7947f1b080e"}, + {file = "regex-2024.11.6-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d3660c82f209655a06b587d55e723f0b813d3a7db2e32e5e7dc64ac2a9e86fde"}, + {file = "regex-2024.11.6-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:d22326fcdef5e08c154280b71163ced384b428343ae16a5ab2b3354aed12436e"}, + {file = "regex-2024.11.6-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:f1ac758ef6aebfc8943560194e9fd0fa18bcb34d89fd8bd2af18183afd8da3a2"}, + {file = "regex-2024.11.6-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:997d6a487ff00807ba810e0f8332c18b4eb8d29463cfb7c820dc4b6e7562d0cf"}, + {file = "regex-2024.11.6-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:02a02d2bb04fec86ad61f3ea7f49c015a0681bf76abb9857f945d26159d2968c"}, + {file = "regex-2024.11.6-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:f02f93b92358ee3f78660e43b4b0091229260c5d5c408d17d60bf26b6c900e86"}, + {file = "regex-2024.11.6-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:06eb1be98df10e81ebaded73fcd51989dcf534e3c753466e4b60c4697a003b67"}, + {file = "regex-2024.11.6-cp310-cp310-musllinux_1_2_i686.whl", hash = "sha256:040df6fe1a5504eb0f04f048e6d09cd7c7110fef851d7c567a6b6e09942feb7d"}, + {file = "regex-2024.11.6-cp310-cp310-musllinux_1_2_ppc64le.whl", hash = "sha256:fdabbfc59f2c6edba2a6622c647b716e34e8e3867e0ab975412c5c2f79b82da2"}, + {file = "regex-2024.11.6-cp310-cp310-musllinux_1_2_s390x.whl", hash = "sha256:8447d2d39b5abe381419319f942de20b7ecd60ce86f16a23b0698f22e1b70008"}, + {file = "regex-2024.11.6-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:da8f5fc57d1933de22a9e23eec290a0d8a5927a5370d24bda9a6abe50683fe62"}, + {file = "regex-2024.11.6-cp310-cp310-win32.whl", hash = "sha256:b489578720afb782f6ccf2840920f3a32e31ba28a4b162e13900c3e6bd3f930e"}, + {file = "regex-2024.11.6-cp310-cp310-win_amd64.whl", hash = "sha256:5071b2093e793357c9d8b2929dfc13ac5f0a6c650559503bb81189d0a3814519"}, + {file = "regex-2024.11.6-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:5478c6962ad548b54a591778e93cd7c456a7a29f8eca9c49e4f9a806dcc5d638"}, + {file = "regex-2024.11.6-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:2c89a8cc122b25ce6945f0423dc1352cb9593c68abd19223eebbd4e56612c5b7"}, + {file = "regex-2024.11.6-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:94d87b689cdd831934fa3ce16cc15cd65748e6d689f5d2b8f4f4df2065c9fa20"}, + {file = "regex-2024.11.6-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:1062b39a0a2b75a9c694f7a08e7183a80c63c0d62b301418ffd9c35f55aaa114"}, + {file = "regex-2024.11.6-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:167ed4852351d8a750da48712c3930b031f6efdaa0f22fa1933716bfcd6bf4a3"}, + {file = "regex-2024.11.6-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:2d548dafee61f06ebdb584080621f3e0c23fff312f0de1afc776e2a2ba99a74f"}, + {file = "regex-2024.11.6-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f2a19f302cd1ce5dd01a9099aaa19cae6173306d1302a43b627f62e21cf18ac0"}, + {file = "regex-2024.11.6-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:bec9931dfb61ddd8ef2ebc05646293812cb6b16b60cf7c9511a832b6f1854b55"}, + {file = "regex-2024.11.6-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:9714398225f299aa85267fd222f7142fcb5c769e73d7733344efc46f2ef5cf89"}, + {file = "regex-2024.11.6-cp311-cp311-musllinux_1_2_i686.whl", hash = "sha256:202eb32e89f60fc147a41e55cb086db2a3f8cb82f9a9a88440dcfc5d37faae8d"}, + {file = "regex-2024.11.6-cp311-cp311-musllinux_1_2_ppc64le.whl", hash = "sha256:4181b814e56078e9b00427ca358ec44333765f5ca1b45597ec7446d3a1ef6e34"}, + {file = "regex-2024.11.6-cp311-cp311-musllinux_1_2_s390x.whl", hash = "sha256:068376da5a7e4da51968ce4c122a7cd31afaaec4fccc7856c92f63876e57b51d"}, + {file = "regex-2024.11.6-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:ac10f2c4184420d881a3475fb2c6f4d95d53a8d50209a2500723d831036f7c45"}, + {file = "regex-2024.11.6-cp311-cp311-win32.whl", hash = "sha256:c36f9b6f5f8649bb251a5f3f66564438977b7ef8386a52460ae77e6070d309d9"}, + {file = "regex-2024.11.6-cp311-cp311-win_amd64.whl", hash = "sha256:02e28184be537f0e75c1f9b2f8847dc51e08e6e171c6bde130b2687e0c33cf60"}, + {file = "regex-2024.11.6-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:52fb28f528778f184f870b7cf8f225f5eef0a8f6e3778529bdd40c7b3920796a"}, + {file = "regex-2024.11.6-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:fdd6028445d2460f33136c55eeb1f601ab06d74cb3347132e1c24250187500d9"}, + {file = "regex-2024.11.6-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:805e6b60c54bf766b251e94526ebad60b7de0c70f70a4e6210ee2891acb70bf2"}, + {file = "regex-2024.11.6-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:b85c2530be953a890eaffde05485238f07029600e8f098cdf1848d414a8b45e4"}, + {file = "regex-2024.11.6-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:bb26437975da7dc36b7efad18aa9dd4ea569d2357ae6b783bf1118dabd9ea577"}, + {file = "regex-2024.11.6-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:abfa5080c374a76a251ba60683242bc17eeb2c9818d0d30117b4486be10c59d3"}, + {file = "regex-2024.11.6-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:70b7fa6606c2881c1db9479b0eaa11ed5dfa11c8d60a474ff0e095099f39d98e"}, + {file = "regex-2024.11.6-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:0c32f75920cf99fe6b6c539c399a4a128452eaf1af27f39bce8909c9a3fd8cbe"}, + {file = "regex-2024.11.6-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:982e6d21414e78e1f51cf595d7f321dcd14de1f2881c5dc6a6e23bbbbd68435e"}, + {file = "regex-2024.11.6-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:a7c2155f790e2fb448faed6dd241386719802296ec588a8b9051c1f5c481bc29"}, + {file = "regex-2024.11.6-cp312-cp312-musllinux_1_2_ppc64le.whl", hash = "sha256:149f5008d286636e48cd0b1dd65018548944e495b0265b45e1bffecce1ef7f39"}, + {file = "regex-2024.11.6-cp312-cp312-musllinux_1_2_s390x.whl", hash = "sha256:e5364a4502efca094731680e80009632ad6624084aff9a23ce8c8c6820de3e51"}, + {file = "regex-2024.11.6-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:0a86e7eeca091c09e021db8eb72d54751e527fa47b8d5787caf96d9831bd02ad"}, + {file = "regex-2024.11.6-cp312-cp312-win32.whl", hash = "sha256:32f9a4c643baad4efa81d549c2aadefaeba12249b2adc5af541759237eee1c54"}, + {file = "regex-2024.11.6-cp312-cp312-win_amd64.whl", hash = "sha256:a93c194e2df18f7d264092dc8539b8ffb86b45b899ab976aa15d48214138e81b"}, + {file = "regex-2024.11.6-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:a6ba92c0bcdf96cbf43a12c717eae4bc98325ca3730f6b130ffa2e3c3c723d84"}, + {file = "regex-2024.11.6-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:525eab0b789891ac3be914d36893bdf972d483fe66551f79d3e27146191a37d4"}, + {file = "regex-2024.11.6-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:086a27a0b4ca227941700e0b31425e7a28ef1ae8e5e05a33826e17e47fbfdba0"}, + {file = "regex-2024.11.6-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:bde01f35767c4a7899b7eb6e823b125a64de314a8ee9791367c9a34d56af18d0"}, + {file = "regex-2024.11.6-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:b583904576650166b3d920d2bcce13971f6f9e9a396c673187f49811b2769dc7"}, + {file = "regex-2024.11.6-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:1c4de13f06a0d54fa0d5ab1b7138bfa0d883220965a29616e3ea61b35d5f5fc7"}, + {file = "regex-2024.11.6-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:3cde6e9f2580eb1665965ce9bf17ff4952f34f5b126beb509fee8f4e994f143c"}, + {file = "regex-2024.11.6-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:0d7f453dca13f40a02b79636a339c5b62b670141e63efd511d3f8f73fba162b3"}, + {file = "regex-2024.11.6-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:59dfe1ed21aea057a65c6b586afd2a945de04fc7db3de0a6e3ed5397ad491b07"}, + {file = "regex-2024.11.6-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:b97c1e0bd37c5cd7902e65f410779d39eeda155800b65fc4d04cc432efa9bc6e"}, + {file = "regex-2024.11.6-cp313-cp313-musllinux_1_2_ppc64le.whl", hash = "sha256:f9d1e379028e0fc2ae3654bac3cbbef81bf3fd571272a42d56c24007979bafb6"}, + {file = "regex-2024.11.6-cp313-cp313-musllinux_1_2_s390x.whl", hash = "sha256:13291b39131e2d002a7940fb176e120bec5145f3aeb7621be6534e46251912c4"}, + {file = "regex-2024.11.6-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:4f51f88c126370dcec4908576c5a627220da6c09d0bff31cfa89f2523843316d"}, + {file = "regex-2024.11.6-cp313-cp313-win32.whl", hash = "sha256:63b13cfd72e9601125027202cad74995ab26921d8cd935c25f09c630436348ff"}, + {file = "regex-2024.11.6-cp313-cp313-win_amd64.whl", hash = "sha256:2b3361af3198667e99927da8b84c1b010752fa4b1115ee30beaa332cabc3ef1a"}, + {file = "regex-2024.11.6-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:3a51ccc315653ba012774efca4f23d1d2a8a8f278a6072e29c7147eee7da446b"}, + {file = "regex-2024.11.6-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:ad182d02e40de7459b73155deb8996bbd8e96852267879396fb274e8700190e3"}, + {file = "regex-2024.11.6-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:ba9b72e5643641b7d41fa1f6d5abda2c9a263ae835b917348fc3c928182ad467"}, + {file = "regex-2024.11.6-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:40291b1b89ca6ad8d3f2b82782cc33807f1406cf68c8d440861da6304d8ffbbd"}, + {file = "regex-2024.11.6-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:cdf58d0e516ee426a48f7b2c03a332a4114420716d55769ff7108c37a09951bf"}, + {file = "regex-2024.11.6-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:a36fdf2af13c2b14738f6e973aba563623cb77d753bbbd8d414d18bfaa3105dd"}, + {file = "regex-2024.11.6-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:d1cee317bfc014c2419a76bcc87f071405e3966da434e03e13beb45f8aced1a6"}, + {file = "regex-2024.11.6-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:50153825ee016b91549962f970d6a4442fa106832e14c918acd1c8e479916c4f"}, + {file = "regex-2024.11.6-cp38-cp38-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:ea1bfda2f7162605f6e8178223576856b3d791109f15ea99a9f95c16a7636fb5"}, + {file = "regex-2024.11.6-cp38-cp38-musllinux_1_2_aarch64.whl", hash = "sha256:df951c5f4a1b1910f1a99ff42c473ff60f8225baa1cdd3539fe2819d9543e9df"}, + {file = "regex-2024.11.6-cp38-cp38-musllinux_1_2_i686.whl", hash = "sha256:072623554418a9911446278f16ecb398fb3b540147a7828c06e2011fa531e773"}, + {file = "regex-2024.11.6-cp38-cp38-musllinux_1_2_ppc64le.whl", hash = "sha256:f654882311409afb1d780b940234208a252322c24a93b442ca714d119e68086c"}, + {file = "regex-2024.11.6-cp38-cp38-musllinux_1_2_s390x.whl", hash = "sha256:89d75e7293d2b3e674db7d4d9b1bee7f8f3d1609428e293771d1a962617150cc"}, + {file = "regex-2024.11.6-cp38-cp38-musllinux_1_2_x86_64.whl", hash = "sha256:f65557897fc977a44ab205ea871b690adaef6b9da6afda4790a2484b04293a5f"}, + {file = "regex-2024.11.6-cp38-cp38-win32.whl", hash = "sha256:6f44ec28b1f858c98d3036ad5d7d0bfc568bdd7a74f9c24e25f41ef1ebfd81a4"}, + {file = "regex-2024.11.6-cp38-cp38-win_amd64.whl", hash = "sha256:bb8f74f2f10dbf13a0be8de623ba4f9491faf58c24064f32b65679b021ed0001"}, + {file = "regex-2024.11.6-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:5704e174f8ccab2026bd2f1ab6c510345ae8eac818b613d7d73e785f1310f839"}, + {file = "regex-2024.11.6-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:220902c3c5cc6af55d4fe19ead504de80eb91f786dc102fbd74894b1551f095e"}, + {file = "regex-2024.11.6-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:5e7e351589da0850c125f1600a4c4ba3c722efefe16b297de54300f08d734fbf"}, + {file = "regex-2024.11.6-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:5056b185ca113c88e18223183aa1a50e66507769c9640a6ff75859619d73957b"}, + {file = "regex-2024.11.6-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:2e34b51b650b23ed3354b5a07aab37034d9f923db2a40519139af34f485f77d0"}, + {file = "regex-2024.11.6-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:5670bce7b200273eee1840ef307bfa07cda90b38ae56e9a6ebcc9f50da9c469b"}, + {file = "regex-2024.11.6-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:08986dce1339bc932923e7d1232ce9881499a0e02925f7402fb7c982515419ef"}, + {file = "regex-2024.11.6-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:93c0b12d3d3bc25af4ebbf38f9ee780a487e8bf6954c115b9f015822d3bb8e48"}, + {file = "regex-2024.11.6-cp39-cp39-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:764e71f22ab3b305e7f4c21f1a97e1526a25ebdd22513e251cf376760213da13"}, + {file = "regex-2024.11.6-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:f056bf21105c2515c32372bbc057f43eb02aae2fda61052e2f7622c801f0b4e2"}, + {file = "regex-2024.11.6-cp39-cp39-musllinux_1_2_i686.whl", hash = "sha256:69ab78f848845569401469da20df3e081e6b5a11cb086de3eed1d48f5ed57c95"}, + {file = "regex-2024.11.6-cp39-cp39-musllinux_1_2_ppc64le.whl", hash = "sha256:86fddba590aad9208e2fa8b43b4c098bb0ec74f15718bb6a704e3c63e2cef3e9"}, + {file = "regex-2024.11.6-cp39-cp39-musllinux_1_2_s390x.whl", hash = "sha256:684d7a212682996d21ca12ef3c17353c021fe9de6049e19ac8481ec35574a70f"}, + {file = "regex-2024.11.6-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:a03e02f48cd1abbd9f3b7e3586d97c8f7a9721c436f51a5245b3b9483044480b"}, + {file = "regex-2024.11.6-cp39-cp39-win32.whl", hash = "sha256:41758407fc32d5c3c5de163888068cfee69cb4c2be844e7ac517a52770f9af57"}, + {file = "regex-2024.11.6-cp39-cp39-win_amd64.whl", hash = "sha256:b2837718570f95dd41675328e111345f9b7095d821bac435aac173ac80b19983"}, + {file = "regex-2024.11.6.tar.gz", hash = "sha256:7ab159b063c52a0333c884e4679f8d7a85112ee3078fe3d9004b2dd875585519"}, ] [[package]] @@ -3906,13 +4060,13 @@ files = [ [[package]] name = "rich" -version = "13.9.2" +version = "13.9.4" description = "Render rich text, tables, progress bars, syntax highlighting, markdown and more to the terminal" optional = false python-versions = ">=3.8.0" files = [ - {file = "rich-13.9.2-py3-none-any.whl", hash = "sha256:8c82a3d3f8dcfe9e734771313e606b39d8247bb6b826e196f4914b333b743cf1"}, - {file = "rich-13.9.2.tar.gz", hash = "sha256:51a2c62057461aaf7152b4d611168f93a9fc73068f8ded2790f29fe2b5366d0c"}, + {file = "rich-13.9.4-py3-none-any.whl", hash = "sha256:6049d5e6ec054bf2779ab3358186963bac2ea89175919d699e378b99738c2a90"}, + {file = "rich-13.9.4.tar.gz", hash = "sha256:439594978a49a09530cff7ebc4b5c7103ef57baf48d5ea3184f21d9a2befa098"}, ] [package.dependencies] @@ -3925,141 +4079,141 @@ jupyter = ["ipywidgets (>=7.5.1,<9)"] [[package]] name = "rpds-py" -version = "0.20.0" +version = "0.20.1" description = "Python bindings to Rust's persistent data structures (rpds)" optional = false python-versions = ">=3.8" files = [ - {file = "rpds_py-0.20.0-cp310-cp310-macosx_10_12_x86_64.whl", hash = "sha256:3ad0fda1635f8439cde85c700f964b23ed5fc2d28016b32b9ee5fe30da5c84e2"}, - {file = "rpds_py-0.20.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:9bb4a0d90fdb03437c109a17eade42dfbf6190408f29b2744114d11586611d6f"}, - {file = "rpds_py-0.20.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:c6377e647bbfd0a0b159fe557f2c6c602c159fc752fa316572f012fc0bf67150"}, - {file = "rpds_py-0.20.0-cp310-cp310-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:eb851b7df9dda52dc1415ebee12362047ce771fc36914586b2e9fcbd7d293b3e"}, - {file = "rpds_py-0.20.0-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:1e0f80b739e5a8f54837be5d5c924483996b603d5502bfff79bf33da06164ee2"}, - {file = "rpds_py-0.20.0-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:5a8c94dad2e45324fc74dce25e1645d4d14df9a4e54a30fa0ae8bad9a63928e3"}, - {file = "rpds_py-0.20.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f8e604fe73ba048c06085beaf51147eaec7df856824bfe7b98657cf436623daf"}, - {file = "rpds_py-0.20.0-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:df3de6b7726b52966edf29663e57306b23ef775faf0ac01a3e9f4012a24a4140"}, - {file = "rpds_py-0.20.0-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:cf258ede5bc22a45c8e726b29835b9303c285ab46fc7c3a4cc770736b5304c9f"}, - {file = "rpds_py-0.20.0-cp310-cp310-musllinux_1_2_i686.whl", hash = "sha256:55fea87029cded5df854ca7e192ec7bdb7ecd1d9a3f63d5c4eb09148acf4a7ce"}, - {file = "rpds_py-0.20.0-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:ae94bd0b2f02c28e199e9bc51485d0c5601f58780636185660f86bf80c89af94"}, - {file = "rpds_py-0.20.0-cp310-none-win32.whl", hash = "sha256:28527c685f237c05445efec62426d285e47a58fb05ba0090a4340b73ecda6dee"}, - {file = "rpds_py-0.20.0-cp310-none-win_amd64.whl", hash = "sha256:238a2d5b1cad28cdc6ed15faf93a998336eb041c4e440dd7f902528b8891b399"}, - {file = "rpds_py-0.20.0-cp311-cp311-macosx_10_12_x86_64.whl", hash = "sha256:ac2f4f7a98934c2ed6505aead07b979e6f999389f16b714448fb39bbaa86a489"}, - {file = "rpds_py-0.20.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:220002c1b846db9afd83371d08d239fdc865e8f8c5795bbaec20916a76db3318"}, - {file = "rpds_py-0.20.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:8d7919548df3f25374a1f5d01fbcd38dacab338ef5f33e044744b5c36729c8db"}, - {file = "rpds_py-0.20.0-cp311-cp311-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:758406267907b3781beee0f0edfe4a179fbd97c0be2e9b1154d7f0a1279cf8e5"}, - {file = "rpds_py-0.20.0-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:3d61339e9f84a3f0767b1995adfb171a0d00a1185192718a17af6e124728e0f5"}, - {file = "rpds_py-0.20.0-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:1259c7b3705ac0a0bd38197565a5d603218591d3f6cee6e614e380b6ba61c6f6"}, - {file = "rpds_py-0.20.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:5c1dc0f53856b9cc9a0ccca0a7cc61d3d20a7088201c0937f3f4048c1718a209"}, - {file = "rpds_py-0.20.0-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:7e60cb630f674a31f0368ed32b2a6b4331b8350d67de53c0359992444b116dd3"}, - {file = "rpds_py-0.20.0-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:dbe982f38565bb50cb7fb061ebf762c2f254ca3d8c20d4006878766e84266272"}, - {file = "rpds_py-0.20.0-cp311-cp311-musllinux_1_2_i686.whl", hash = "sha256:514b3293b64187172bc77c8fb0cdae26981618021053b30d8371c3a902d4d5ad"}, - {file = "rpds_py-0.20.0-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:d0a26ffe9d4dd35e4dfdd1e71f46401cff0181c75ac174711ccff0459135fa58"}, - {file = "rpds_py-0.20.0-cp311-none-win32.whl", hash = "sha256:89c19a494bf3ad08c1da49445cc5d13d8fefc265f48ee7e7556839acdacf69d0"}, - {file = "rpds_py-0.20.0-cp311-none-win_amd64.whl", hash = "sha256:c638144ce971df84650d3ed0096e2ae7af8e62ecbbb7b201c8935c370df00a2c"}, - {file = "rpds_py-0.20.0-cp312-cp312-macosx_10_12_x86_64.whl", hash = "sha256:a84ab91cbe7aab97f7446652d0ed37d35b68a465aeef8fc41932a9d7eee2c1a6"}, - {file = "rpds_py-0.20.0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:56e27147a5a4c2c21633ff8475d185734c0e4befd1c989b5b95a5d0db699b21b"}, - {file = "rpds_py-0.20.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:2580b0c34583b85efec8c5c5ec9edf2dfe817330cc882ee972ae650e7b5ef739"}, - {file = "rpds_py-0.20.0-cp312-cp312-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:b80d4a7900cf6b66bb9cee5c352b2d708e29e5a37fe9bf784fa97fc11504bf6c"}, - {file = "rpds_py-0.20.0-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:50eccbf054e62a7b2209b28dc7a22d6254860209d6753e6b78cfaeb0075d7bee"}, - {file = "rpds_py-0.20.0-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:49a8063ea4296b3a7e81a5dfb8f7b2d73f0b1c20c2af401fb0cdf22e14711a96"}, - {file = "rpds_py-0.20.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ea438162a9fcbee3ecf36c23e6c68237479f89f962f82dae83dc15feeceb37e4"}, - {file = "rpds_py-0.20.0-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:18d7585c463087bddcfa74c2ba267339f14f2515158ac4db30b1f9cbdb62c8ef"}, - {file = "rpds_py-0.20.0-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:d4c7d1a051eeb39f5c9547e82ea27cbcc28338482242e3e0b7768033cb083821"}, - {file = "rpds_py-0.20.0-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:e4df1e3b3bec320790f699890d41c59d250f6beda159ea3c44c3f5bac1976940"}, - {file = "rpds_py-0.20.0-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:2cf126d33a91ee6eedc7f3197b53e87a2acdac63602c0f03a02dd69e4b138174"}, - {file = "rpds_py-0.20.0-cp312-none-win32.whl", hash = "sha256:8bc7690f7caee50b04a79bf017a8d020c1f48c2a1077ffe172abec59870f1139"}, - {file = "rpds_py-0.20.0-cp312-none-win_amd64.whl", hash = "sha256:0e13e6952ef264c40587d510ad676a988df19adea20444c2b295e536457bc585"}, - {file = "rpds_py-0.20.0-cp313-cp313-macosx_10_12_x86_64.whl", hash = "sha256:aa9a0521aeca7d4941499a73ad7d4f8ffa3d1affc50b9ea11d992cd7eff18a29"}, - {file = "rpds_py-0.20.0-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:4a1f1d51eccb7e6c32ae89243cb352389228ea62f89cd80823ea7dd1b98e0b91"}, - {file = "rpds_py-0.20.0-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:8a86a9b96070674fc88b6f9f71a97d2c1d3e5165574615d1f9168ecba4cecb24"}, - {file = "rpds_py-0.20.0-cp313-cp313-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:6c8ef2ebf76df43f5750b46851ed1cdf8f109d7787ca40035fe19fbdc1acc5a7"}, - {file = "rpds_py-0.20.0-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:b74b25f024b421d5859d156750ea9a65651793d51b76a2e9238c05c9d5f203a9"}, - {file = "rpds_py-0.20.0-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:57eb94a8c16ab08fef6404301c38318e2c5a32216bf5de453e2714c964c125c8"}, - {file = "rpds_py-0.20.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:e1940dae14e715e2e02dfd5b0f64a52e8374a517a1e531ad9412319dc3ac7879"}, - {file = "rpds_py-0.20.0-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:d20277fd62e1b992a50c43f13fbe13277a31f8c9f70d59759c88f644d66c619f"}, - {file = "rpds_py-0.20.0-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:06db23d43f26478303e954c34c75182356ca9aa7797d22c5345b16871ab9c45c"}, - {file = "rpds_py-0.20.0-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:b2a5db5397d82fa847e4c624b0c98fe59d2d9b7cf0ce6de09e4d2e80f8f5b3f2"}, - {file = "rpds_py-0.20.0-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:5a35df9f5548fd79cb2f52d27182108c3e6641a4feb0f39067911bf2adaa3e57"}, - {file = "rpds_py-0.20.0-cp313-none-win32.whl", hash = "sha256:fd2d84f40633bc475ef2d5490b9c19543fbf18596dcb1b291e3a12ea5d722f7a"}, - {file = "rpds_py-0.20.0-cp313-none-win_amd64.whl", hash = "sha256:9bc2d153989e3216b0559251b0c260cfd168ec78b1fac33dd485750a228db5a2"}, - {file = "rpds_py-0.20.0-cp38-cp38-macosx_10_12_x86_64.whl", hash = "sha256:f2fbf7db2012d4876fb0d66b5b9ba6591197b0f165db8d99371d976546472a24"}, - {file = "rpds_py-0.20.0-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:1e5f3cd7397c8f86c8cc72d5a791071431c108edd79872cdd96e00abd8497d29"}, - {file = "rpds_py-0.20.0-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:ce9845054c13696f7af7f2b353e6b4f676dab1b4b215d7fe5e05c6f8bb06f965"}, - {file = "rpds_py-0.20.0-cp38-cp38-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:c3e130fd0ec56cb76eb49ef52faead8ff09d13f4527e9b0c400307ff72b408e1"}, - {file = "rpds_py-0.20.0-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:4b16aa0107ecb512b568244ef461f27697164d9a68d8b35090e9b0c1c8b27752"}, - {file = "rpds_py-0.20.0-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:aa7f429242aae2947246587d2964fad750b79e8c233a2367f71b554e9447949c"}, - {file = "rpds_py-0.20.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:af0fc424a5842a11e28956e69395fbbeab2c97c42253169d87e90aac2886d751"}, - {file = "rpds_py-0.20.0-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:b8c00a3b1e70c1d3891f0db1b05292747f0dbcfb49c43f9244d04c70fbc40eb8"}, - {file = "rpds_py-0.20.0-cp38-cp38-musllinux_1_2_aarch64.whl", hash = "sha256:40ce74fc86ee4645d0a225498d091d8bc61f39b709ebef8204cb8b5a464d3c0e"}, - {file = "rpds_py-0.20.0-cp38-cp38-musllinux_1_2_i686.whl", hash = "sha256:4fe84294c7019456e56d93e8ababdad5a329cd25975be749c3f5f558abb48253"}, - {file = "rpds_py-0.20.0-cp38-cp38-musllinux_1_2_x86_64.whl", hash = "sha256:338ca4539aad4ce70a656e5187a3a31c5204f261aef9f6ab50e50bcdffaf050a"}, - {file = "rpds_py-0.20.0-cp38-none-win32.whl", hash = "sha256:54b43a2b07db18314669092bb2de584524d1ef414588780261e31e85846c26a5"}, - {file = "rpds_py-0.20.0-cp38-none-win_amd64.whl", hash = "sha256:a1862d2d7ce1674cffa6d186d53ca95c6e17ed2b06b3f4c476173565c862d232"}, - {file = "rpds_py-0.20.0-cp39-cp39-macosx_10_12_x86_64.whl", hash = "sha256:3fde368e9140312b6e8b6c09fb9f8c8c2f00999d1823403ae90cc00480221b22"}, - {file = "rpds_py-0.20.0-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:9824fb430c9cf9af743cf7aaf6707bf14323fb51ee74425c380f4c846ea70789"}, - {file = "rpds_py-0.20.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:11ef6ce74616342888b69878d45e9f779b95d4bd48b382a229fe624a409b72c5"}, - {file = "rpds_py-0.20.0-cp39-cp39-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:c52d3f2f82b763a24ef52f5d24358553e8403ce05f893b5347098014f2d9eff2"}, - {file = "rpds_py-0.20.0-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:9d35cef91e59ebbeaa45214861874bc6f19eb35de96db73e467a8358d701a96c"}, - {file = "rpds_py-0.20.0-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:d72278a30111e5b5525c1dd96120d9e958464316f55adb030433ea905866f4de"}, - {file = "rpds_py-0.20.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:b4c29cbbba378759ac5786730d1c3cb4ec6f8ababf5c42a9ce303dc4b3d08cda"}, - {file = "rpds_py-0.20.0-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:6632f2d04f15d1bd6fe0eedd3b86d9061b836ddca4c03d5cf5c7e9e6b7c14580"}, - {file = "rpds_py-0.20.0-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:d0b67d87bb45ed1cd020e8fbf2307d449b68abc45402fe1a4ac9e46c3c8b192b"}, - {file = "rpds_py-0.20.0-cp39-cp39-musllinux_1_2_i686.whl", hash = "sha256:ec31a99ca63bf3cd7f1a5ac9fe95c5e2d060d3c768a09bc1d16e235840861420"}, - {file = "rpds_py-0.20.0-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:22e6c9976e38f4d8c4a63bd8a8edac5307dffd3ee7e6026d97f3cc3a2dc02a0b"}, - {file = "rpds_py-0.20.0-cp39-none-win32.whl", hash = "sha256:569b3ea770c2717b730b61998b6c54996adee3cef69fc28d444f3e7920313cf7"}, - {file = "rpds_py-0.20.0-cp39-none-win_amd64.whl", hash = "sha256:e6900ecdd50ce0facf703f7a00df12374b74bbc8ad9fe0f6559947fb20f82364"}, - {file = "rpds_py-0.20.0-pp310-pypy310_pp73-macosx_10_12_x86_64.whl", hash = "sha256:617c7357272c67696fd052811e352ac54ed1d9b49ab370261a80d3b6ce385045"}, - {file = "rpds_py-0.20.0-pp310-pypy310_pp73-macosx_11_0_arm64.whl", hash = "sha256:9426133526f69fcaba6e42146b4e12d6bc6c839b8b555097020e2b78ce908dcc"}, - {file = "rpds_py-0.20.0-pp310-pypy310_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:deb62214c42a261cb3eb04d474f7155279c1a8a8c30ac89b7dcb1721d92c3c02"}, - {file = "rpds_py-0.20.0-pp310-pypy310_pp73-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:fcaeb7b57f1a1e071ebd748984359fef83ecb026325b9d4ca847c95bc7311c92"}, - {file = "rpds_py-0.20.0-pp310-pypy310_pp73-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:d454b8749b4bd70dd0a79f428731ee263fa6995f83ccb8bada706e8d1d3ff89d"}, - {file = "rpds_py-0.20.0-pp310-pypy310_pp73-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:d807dc2051abe041b6649681dce568f8e10668e3c1c6543ebae58f2d7e617855"}, - {file = "rpds_py-0.20.0-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:c3c20f0ddeb6e29126d45f89206b8291352b8c5b44384e78a6499d68b52ae511"}, - {file = "rpds_py-0.20.0-pp310-pypy310_pp73-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:b7f19250ceef892adf27f0399b9e5afad019288e9be756d6919cb58892129f51"}, - {file = "rpds_py-0.20.0-pp310-pypy310_pp73-musllinux_1_2_aarch64.whl", hash = "sha256:4f1ed4749a08379555cebf4650453f14452eaa9c43d0a95c49db50c18b7da075"}, - {file = "rpds_py-0.20.0-pp310-pypy310_pp73-musllinux_1_2_i686.whl", hash = "sha256:dcedf0b42bcb4cfff4101d7771a10532415a6106062f005ab97d1d0ab5681c60"}, - {file = "rpds_py-0.20.0-pp310-pypy310_pp73-musllinux_1_2_x86_64.whl", hash = "sha256:39ed0d010457a78f54090fafb5d108501b5aa5604cc22408fc1c0c77eac14344"}, - {file = "rpds_py-0.20.0-pp310-pypy310_pp73-win_amd64.whl", hash = "sha256:bb273176be34a746bdac0b0d7e4e2c467323d13640b736c4c477881a3220a989"}, - {file = "rpds_py-0.20.0-pp39-pypy39_pp73-macosx_10_12_x86_64.whl", hash = "sha256:f918a1a130a6dfe1d7fe0f105064141342e7dd1611f2e6a21cd2f5c8cb1cfb3e"}, - {file = "rpds_py-0.20.0-pp39-pypy39_pp73-macosx_11_0_arm64.whl", hash = "sha256:f60012a73aa396be721558caa3a6fd49b3dd0033d1675c6d59c4502e870fcf0c"}, - {file = "rpds_py-0.20.0-pp39-pypy39_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:3d2b1ad682a3dfda2a4e8ad8572f3100f95fad98cb99faf37ff0ddfe9cbf9d03"}, - {file = "rpds_py-0.20.0-pp39-pypy39_pp73-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:614fdafe9f5f19c63ea02817fa4861c606a59a604a77c8cdef5aa01d28b97921"}, - {file = "rpds_py-0.20.0-pp39-pypy39_pp73-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:fa518bcd7600c584bf42e6617ee8132869e877db2f76bcdc281ec6a4113a53ab"}, - {file = "rpds_py-0.20.0-pp39-pypy39_pp73-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:f0475242f447cc6cb8a9dd486d68b2ef7fbee84427124c232bff5f63b1fe11e5"}, - {file = "rpds_py-0.20.0-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f90a4cd061914a60bd51c68bcb4357086991bd0bb93d8aa66a6da7701370708f"}, - {file = "rpds_py-0.20.0-pp39-pypy39_pp73-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:def7400461c3a3f26e49078302e1c1b38f6752342c77e3cf72ce91ca69fb1bc1"}, - {file = "rpds_py-0.20.0-pp39-pypy39_pp73-musllinux_1_2_aarch64.whl", hash = "sha256:65794e4048ee837494aea3c21a28ad5fc080994dfba5b036cf84de37f7ad5074"}, - {file = "rpds_py-0.20.0-pp39-pypy39_pp73-musllinux_1_2_i686.whl", hash = "sha256:faefcc78f53a88f3076b7f8be0a8f8d35133a3ecf7f3770895c25f8813460f08"}, - {file = "rpds_py-0.20.0-pp39-pypy39_pp73-musllinux_1_2_x86_64.whl", hash = "sha256:5b4f105deeffa28bbcdff6c49b34e74903139afa690e35d2d9e3c2c2fba18cec"}, - {file = "rpds_py-0.20.0-pp39-pypy39_pp73-win_amd64.whl", hash = "sha256:fdfc3a892927458d98f3d55428ae46b921d1f7543b89382fdb483f5640daaec8"}, - {file = "rpds_py-0.20.0.tar.gz", hash = "sha256:d72a210824facfdaf8768cf2d7ca25a042c30320b3020de2fa04640920d4e121"}, + {file = "rpds_py-0.20.1-cp310-cp310-macosx_10_12_x86_64.whl", hash = "sha256:a649dfd735fff086e8a9d0503a9f0c7d01b7912a333c7ae77e1515c08c146dad"}, + {file = "rpds_py-0.20.1-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:f16bc1334853e91ddaaa1217045dd7be166170beec337576818461268a3de67f"}, + {file = "rpds_py-0.20.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:14511a539afee6f9ab492b543060c7491c99924314977a55c98bfa2ee29ce78c"}, + {file = "rpds_py-0.20.1-cp310-cp310-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:3ccb8ac2d3c71cda472b75af42818981bdacf48d2e21c36331b50b4f16930163"}, + {file = "rpds_py-0.20.1-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:c142b88039b92e7e0cb2552e8967077e3179b22359e945574f5e2764c3953dcf"}, + {file = "rpds_py-0.20.1-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:f19169781dddae7478a32301b499b2858bc52fc45a112955e798ee307e294977"}, + {file = "rpds_py-0.20.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:13c56de6518e14b9bf6edde23c4c39dac5b48dcf04160ea7bce8fca8397cdf86"}, + {file = "rpds_py-0.20.1-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:925d176a549f4832c6f69fa6026071294ab5910e82a0fe6c6228fce17b0706bd"}, + {file = "rpds_py-0.20.1-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:78f0b6877bfce7a3d1ff150391354a410c55d3cdce386f862926a4958ad5ab7e"}, + {file = "rpds_py-0.20.1-cp310-cp310-musllinux_1_2_i686.whl", hash = "sha256:3dd645e2b0dcb0fd05bf58e2e54c13875847687d0b71941ad2e757e5d89d4356"}, + {file = "rpds_py-0.20.1-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:4f676e21db2f8c72ff0936f895271e7a700aa1f8d31b40e4e43442ba94973899"}, + {file = "rpds_py-0.20.1-cp310-none-win32.whl", hash = "sha256:648386ddd1e19b4a6abab69139b002bc49ebf065b596119f8f37c38e9ecee8ff"}, + {file = "rpds_py-0.20.1-cp310-none-win_amd64.whl", hash = "sha256:d9ecb51120de61e4604650666d1f2b68444d46ae18fd492245a08f53ad2b7711"}, + {file = "rpds_py-0.20.1-cp311-cp311-macosx_10_12_x86_64.whl", hash = "sha256:762703bdd2b30983c1d9e62b4c88664df4a8a4d5ec0e9253b0231171f18f6d75"}, + {file = "rpds_py-0.20.1-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:0b581f47257a9fce535c4567782a8976002d6b8afa2c39ff616edf87cbeff712"}, + {file = "rpds_py-0.20.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:842c19a6ce894493563c3bd00d81d5100e8e57d70209e84d5491940fdb8b9e3a"}, + {file = "rpds_py-0.20.1-cp311-cp311-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:42cbde7789f5c0bcd6816cb29808e36c01b960fb5d29f11e052215aa85497c93"}, + {file = "rpds_py-0.20.1-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:6c8e9340ce5a52f95fa7d3b552b35c7e8f3874d74a03a8a69279fd5fca5dc751"}, + {file = "rpds_py-0.20.1-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:8ba6f89cac95c0900d932c9efb7f0fb6ca47f6687feec41abcb1bd5e2bd45535"}, + {file = "rpds_py-0.20.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:4a916087371afd9648e1962e67403c53f9c49ca47b9680adbeef79da3a7811b0"}, + {file = "rpds_py-0.20.1-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:200a23239781f46149e6a415f1e870c5ef1e712939fe8fa63035cd053ac2638e"}, + {file = "rpds_py-0.20.1-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:58b1d5dd591973d426cbb2da5e27ba0339209832b2f3315928c9790e13f159e8"}, + {file = "rpds_py-0.20.1-cp311-cp311-musllinux_1_2_i686.whl", hash = "sha256:6b73c67850ca7cae0f6c56f71e356d7e9fa25958d3e18a64927c2d930859b8e4"}, + {file = "rpds_py-0.20.1-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:d8761c3c891cc51e90bc9926d6d2f59b27beaf86c74622c8979380a29cc23ac3"}, + {file = "rpds_py-0.20.1-cp311-none-win32.whl", hash = "sha256:cd945871335a639275eee904caef90041568ce3b42f402c6959b460d25ae8732"}, + {file = "rpds_py-0.20.1-cp311-none-win_amd64.whl", hash = "sha256:7e21b7031e17c6b0e445f42ccc77f79a97e2687023c5746bfb7a9e45e0921b84"}, + {file = "rpds_py-0.20.1-cp312-cp312-macosx_10_12_x86_64.whl", hash = "sha256:36785be22066966a27348444b40389f8444671630063edfb1a2eb04318721e17"}, + {file = "rpds_py-0.20.1-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:142c0a5124d9bd0e2976089484af5c74f47bd3298f2ed651ef54ea728d2ea42c"}, + {file = "rpds_py-0.20.1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:dbddc10776ca7ebf2a299c41a4dde8ea0d8e3547bfd731cb87af2e8f5bf8962d"}, + {file = "rpds_py-0.20.1-cp312-cp312-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:15a842bb369e00295392e7ce192de9dcbf136954614124a667f9f9f17d6a216f"}, + {file = "rpds_py-0.20.1-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:be5ef2f1fc586a7372bfc355986226484e06d1dc4f9402539872c8bb99e34b01"}, + {file = "rpds_py-0.20.1-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:dbcf360c9e3399b056a238523146ea77eeb2a596ce263b8814c900263e46031a"}, + {file = "rpds_py-0.20.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ecd27a66740ffd621d20b9a2f2b5ee4129a56e27bfb9458a3bcc2e45794c96cb"}, + {file = "rpds_py-0.20.1-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:d0b937b2a1988f184a3e9e577adaa8aede21ec0b38320d6009e02bd026db04fa"}, + {file = "rpds_py-0.20.1-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:6889469bfdc1eddf489729b471303739bf04555bb151fe8875931f8564309afc"}, + {file = "rpds_py-0.20.1-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:19b73643c802f4eaf13d97f7855d0fb527fbc92ab7013c4ad0e13a6ae0ed23bd"}, + {file = "rpds_py-0.20.1-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:3c6afcf2338e7f374e8edc765c79fbcb4061d02b15dd5f8f314a4af2bdc7feb5"}, + {file = "rpds_py-0.20.1-cp312-none-win32.whl", hash = "sha256:dc73505153798c6f74854aba69cc75953888cf9866465196889c7cdd351e720c"}, + {file = "rpds_py-0.20.1-cp312-none-win_amd64.whl", hash = "sha256:8bbe951244a838a51289ee53a6bae3a07f26d4e179b96fc7ddd3301caf0518eb"}, + {file = "rpds_py-0.20.1-cp313-cp313-macosx_10_12_x86_64.whl", hash = "sha256:6ca91093a4a8da4afae7fe6a222c3b53ee4eef433ebfee4d54978a103435159e"}, + {file = "rpds_py-0.20.1-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:b9c2fe36d1f758b28121bef29ed1dee9b7a2453e997528e7d1ac99b94892527c"}, + {file = "rpds_py-0.20.1-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:f009c69bc8c53db5dfab72ac760895dc1f2bc1b62ab7408b253c8d1ec52459fc"}, + {file = "rpds_py-0.20.1-cp313-cp313-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:6740a3e8d43a32629bb9b009017ea5b9e713b7210ba48ac8d4cb6d99d86c8ee8"}, + {file = "rpds_py-0.20.1-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:32b922e13d4c0080d03e7b62991ad7f5007d9cd74e239c4b16bc85ae8b70252d"}, + {file = "rpds_py-0.20.1-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:fe00a9057d100e69b4ae4a094203a708d65b0f345ed546fdef86498bf5390982"}, + {file = "rpds_py-0.20.1-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:49fe9b04b6fa685bd39237d45fad89ba19e9163a1ccaa16611a812e682913496"}, + {file = "rpds_py-0.20.1-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:aa7ac11e294304e615b43f8c441fee5d40094275ed7311f3420d805fde9b07b4"}, + {file = "rpds_py-0.20.1-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:6aa97af1558a9bef4025f8f5d8c60d712e0a3b13a2fe875511defc6ee77a1ab7"}, + {file = "rpds_py-0.20.1-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:483b29f6f7ffa6af845107d4efe2e3fa8fb2693de8657bc1849f674296ff6a5a"}, + {file = "rpds_py-0.20.1-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:37fe0f12aebb6a0e3e17bb4cd356b1286d2d18d2e93b2d39fe647138458b4bcb"}, + {file = "rpds_py-0.20.1-cp313-none-win32.whl", hash = "sha256:a624cc00ef2158e04188df5e3016385b9353638139a06fb77057b3498f794782"}, + {file = "rpds_py-0.20.1-cp313-none-win_amd64.whl", hash = "sha256:b71b8666eeea69d6363248822078c075bac6ed135faa9216aa85f295ff009b1e"}, + {file = "rpds_py-0.20.1-cp38-cp38-macosx_10_12_x86_64.whl", hash = "sha256:5b48e790e0355865197ad0aca8cde3d8ede347831e1959e158369eb3493d2191"}, + {file = "rpds_py-0.20.1-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:3e310838a5801795207c66c73ea903deda321e6146d6f282e85fa7e3e4854804"}, + {file = "rpds_py-0.20.1-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:2249280b870e6a42c0d972339e9cc22ee98730a99cd7f2f727549af80dd5a963"}, + {file = "rpds_py-0.20.1-cp38-cp38-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:e79059d67bea28b53d255c1437b25391653263f0e69cd7dec170d778fdbca95e"}, + {file = "rpds_py-0.20.1-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:2b431c777c9653e569986ecf69ff4a5dba281cded16043d348bf9ba505486f36"}, + {file = "rpds_py-0.20.1-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:da584ff96ec95e97925174eb8237e32f626e7a1a97888cdd27ee2f1f24dd0ad8"}, + {file = "rpds_py-0.20.1-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:02a0629ec053fc013808a85178524e3cb63a61dbc35b22499870194a63578fb9"}, + {file = "rpds_py-0.20.1-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:fbf15aff64a163db29a91ed0868af181d6f68ec1a3a7d5afcfe4501252840bad"}, + {file = "rpds_py-0.20.1-cp38-cp38-musllinux_1_2_aarch64.whl", hash = "sha256:07924c1b938798797d60c6308fa8ad3b3f0201802f82e4a2c41bb3fafb44cc28"}, + {file = "rpds_py-0.20.1-cp38-cp38-musllinux_1_2_i686.whl", hash = "sha256:4a5a844f68776a7715ecb30843b453f07ac89bad393431efbf7accca3ef599c1"}, + {file = "rpds_py-0.20.1-cp38-cp38-musllinux_1_2_x86_64.whl", hash = "sha256:518d2ca43c358929bf08f9079b617f1c2ca6e8848f83c1225c88caeac46e6cbc"}, + {file = "rpds_py-0.20.1-cp38-none-win32.whl", hash = "sha256:3aea7eed3e55119635a74bbeb80b35e776bafccb70d97e8ff838816c124539f1"}, + {file = "rpds_py-0.20.1-cp38-none-win_amd64.whl", hash = "sha256:7dca7081e9a0c3b6490a145593f6fe3173a94197f2cb9891183ef75e9d64c425"}, + {file = "rpds_py-0.20.1-cp39-cp39-macosx_10_12_x86_64.whl", hash = "sha256:b41b6321805c472f66990c2849e152aff7bc359eb92f781e3f606609eac877ad"}, + {file = "rpds_py-0.20.1-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:0a90c373ea2975519b58dece25853dbcb9779b05cc46b4819cb1917e3b3215b6"}, + {file = "rpds_py-0.20.1-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:16d4477bcb9fbbd7b5b0e4a5d9b493e42026c0bf1f06f723a9353f5153e75d30"}, + {file = "rpds_py-0.20.1-cp39-cp39-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:84b8382a90539910b53a6307f7c35697bc7e6ffb25d9c1d4e998a13e842a5e83"}, + {file = "rpds_py-0.20.1-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:4888e117dd41b9d34194d9e31631af70d3d526efc363085e3089ab1a62c32ed1"}, + {file = "rpds_py-0.20.1-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:5265505b3d61a0f56618c9b941dc54dc334dc6e660f1592d112cd103d914a6db"}, + {file = "rpds_py-0.20.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:e75ba609dba23f2c95b776efb9dd3f0b78a76a151e96f96cc5b6b1b0004de66f"}, + {file = "rpds_py-0.20.1-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:1791ff70bc975b098fe6ecf04356a10e9e2bd7dc21fa7351c1742fdeb9b4966f"}, + {file = "rpds_py-0.20.1-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:d126b52e4a473d40232ec2052a8b232270ed1f8c9571aaf33f73a14cc298c24f"}, + {file = "rpds_py-0.20.1-cp39-cp39-musllinux_1_2_i686.whl", hash = "sha256:c14937af98c4cc362a1d4374806204dd51b1e12dded1ae30645c298e5a5c4cb1"}, + {file = "rpds_py-0.20.1-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:3d089d0b88996df627693639d123c8158cff41c0651f646cd8fd292c7da90eaf"}, + {file = "rpds_py-0.20.1-cp39-none-win32.whl", hash = "sha256:653647b8838cf83b2e7e6a0364f49af96deec64d2a6578324db58380cff82aca"}, + {file = "rpds_py-0.20.1-cp39-none-win_amd64.whl", hash = "sha256:fa41a64ac5b08b292906e248549ab48b69c5428f3987b09689ab2441f267d04d"}, + {file = "rpds_py-0.20.1-pp310-pypy310_pp73-macosx_10_12_x86_64.whl", hash = "sha256:7a07ced2b22f0cf0b55a6a510078174c31b6d8544f3bc00c2bcee52b3d613f74"}, + {file = "rpds_py-0.20.1-pp310-pypy310_pp73-macosx_11_0_arm64.whl", hash = "sha256:68cb0a499f2c4a088fd2f521453e22ed3527154136a855c62e148b7883b99f9a"}, + {file = "rpds_py-0.20.1-pp310-pypy310_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:fa3060d885657abc549b2a0f8e1b79699290e5d83845141717c6c90c2df38311"}, + {file = "rpds_py-0.20.1-pp310-pypy310_pp73-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:95f3b65d2392e1c5cec27cff08fdc0080270d5a1a4b2ea1d51d5f4a2620ff08d"}, + {file = "rpds_py-0.20.1-pp310-pypy310_pp73-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:2cc3712a4b0b76a1d45a9302dd2f53ff339614b1c29603a911318f2357b04dd2"}, + {file = "rpds_py-0.20.1-pp310-pypy310_pp73-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:5d4eea0761e37485c9b81400437adb11c40e13ef513375bbd6973e34100aeb06"}, + {file = "rpds_py-0.20.1-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:7f5179583d7a6cdb981151dd349786cbc318bab54963a192692d945dd3f6435d"}, + {file = "rpds_py-0.20.1-pp310-pypy310_pp73-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:2fbb0ffc754490aff6dabbf28064be47f0f9ca0b9755976f945214965b3ace7e"}, + {file = "rpds_py-0.20.1-pp310-pypy310_pp73-musllinux_1_2_aarch64.whl", hash = "sha256:a94e52537a0e0a85429eda9e49f272ada715506d3b2431f64b8a3e34eb5f3e75"}, + {file = "rpds_py-0.20.1-pp310-pypy310_pp73-musllinux_1_2_i686.whl", hash = "sha256:92b68b79c0da2a980b1c4197e56ac3dd0c8a149b4603747c4378914a68706979"}, + {file = "rpds_py-0.20.1-pp310-pypy310_pp73-musllinux_1_2_x86_64.whl", hash = "sha256:93da1d3db08a827eda74356f9f58884adb254e59b6664f64cc04cdff2cc19b0d"}, + {file = "rpds_py-0.20.1-pp310-pypy310_pp73-win_amd64.whl", hash = "sha256:754bbed1a4ca48479e9d4182a561d001bbf81543876cdded6f695ec3d465846b"}, + {file = "rpds_py-0.20.1-pp39-pypy39_pp73-macosx_10_12_x86_64.whl", hash = "sha256:ca449520e7484534a2a44faf629362cae62b660601432d04c482283c47eaebab"}, + {file = "rpds_py-0.20.1-pp39-pypy39_pp73-macosx_11_0_arm64.whl", hash = "sha256:9c4cb04a16b0f199a8c9bf807269b2f63b7b5b11425e4a6bd44bd6961d28282c"}, + {file = "rpds_py-0.20.1-pp39-pypy39_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:bb63804105143c7e24cee7db89e37cb3f3941f8e80c4379a0b355c52a52b6780"}, + {file = "rpds_py-0.20.1-pp39-pypy39_pp73-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:55cd1fa4ecfa6d9f14fbd97ac24803e6f73e897c738f771a9fe038f2f11ff07c"}, + {file = "rpds_py-0.20.1-pp39-pypy39_pp73-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:0f8f741b6292c86059ed175d80eefa80997125b7c478fb8769fd9ac8943a16c0"}, + {file = "rpds_py-0.20.1-pp39-pypy39_pp73-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:0fc212779bf8411667234b3cdd34d53de6c2b8b8b958e1e12cb473a5f367c338"}, + {file = "rpds_py-0.20.1-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:0ad56edabcdb428c2e33bbf24f255fe2b43253b7d13a2cdbf05de955217313e6"}, + {file = "rpds_py-0.20.1-pp39-pypy39_pp73-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:0a3a1e9ee9728b2c1734f65d6a1d376c6f2f6fdcc13bb007a08cc4b1ff576dc5"}, + {file = "rpds_py-0.20.1-pp39-pypy39_pp73-musllinux_1_2_aarch64.whl", hash = "sha256:e13de156137b7095442b288e72f33503a469aa1980ed856b43c353ac86390519"}, + {file = "rpds_py-0.20.1-pp39-pypy39_pp73-musllinux_1_2_i686.whl", hash = "sha256:07f59760ef99f31422c49038964b31c4dfcfeb5d2384ebfc71058a7c9adae2d2"}, + {file = "rpds_py-0.20.1-pp39-pypy39_pp73-musllinux_1_2_x86_64.whl", hash = "sha256:59240685e7da61fb78f65a9f07f8108e36a83317c53f7b276b4175dc44151684"}, + {file = "rpds_py-0.20.1-pp39-pypy39_pp73-win_amd64.whl", hash = "sha256:83cba698cfb3c2c5a7c3c6bac12fe6c6a51aae69513726be6411076185a8b24a"}, + {file = "rpds_py-0.20.1.tar.gz", hash = "sha256:e1791c4aabd117653530dccd24108fa03cc6baf21f58b950d0a73c3b3b29a350"}, ] [[package]] name = "ruff" -version = "0.7.3" +version = "0.7.4" description = "An extremely fast Python linter and code formatter, written in Rust." optional = false python-versions = ">=3.7" files = [ - {file = "ruff-0.7.3-py3-none-linux_armv6l.whl", hash = "sha256:34f2339dc22687ec7e7002792d1f50712bf84a13d5152e75712ac08be565d344"}, - {file = "ruff-0.7.3-py3-none-macosx_10_12_x86_64.whl", hash = "sha256:fb397332a1879b9764a3455a0bb1087bda876c2db8aca3a3cbb67b3dbce8cda0"}, - {file = "ruff-0.7.3-py3-none-macosx_11_0_arm64.whl", hash = "sha256:37d0b619546103274e7f62643d14e1adcbccb242efda4e4bdb9544d7764782e9"}, - {file = "ruff-0.7.3-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:5d59f0c3ee4d1a6787614e7135b72e21024875266101142a09a61439cb6e38a5"}, - {file = "ruff-0.7.3-py3-none-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:44eb93c2499a169d49fafd07bc62ac89b1bc800b197e50ff4633aed212569299"}, - {file = "ruff-0.7.3-py3-none-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:6d0242ce53f3a576c35ee32d907475a8d569944c0407f91d207c8af5be5dae4e"}, - {file = "ruff-0.7.3-py3-none-manylinux_2_17_ppc64.manylinux2014_ppc64.whl", hash = "sha256:6b6224af8b5e09772c2ecb8dc9f3f344c1aa48201c7f07e7315367f6dd90ac29"}, - {file = "ruff-0.7.3-py3-none-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:c50f95a82b94421c964fae4c27c0242890a20fe67d203d127e84fbb8013855f5"}, - {file = "ruff-0.7.3-py3-none-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:7f3eff9961b5d2644bcf1616c606e93baa2d6b349e8aa8b035f654df252c8c67"}, - {file = "ruff-0.7.3-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:b8963cab06d130c4df2fd52c84e9f10d297826d2e8169ae0c798b6221be1d1d2"}, - {file = "ruff-0.7.3-py3-none-musllinux_1_2_aarch64.whl", hash = "sha256:61b46049d6edc0e4317fb14b33bd693245281a3007288b68a3f5b74a22a0746d"}, - {file = "ruff-0.7.3-py3-none-musllinux_1_2_armv7l.whl", hash = "sha256:10ebce7696afe4644e8c1a23b3cf8c0f2193a310c18387c06e583ae9ef284de2"}, - {file = "ruff-0.7.3-py3-none-musllinux_1_2_i686.whl", hash = "sha256:3f36d56326b3aef8eeee150b700e519880d1aab92f471eefdef656fd57492aa2"}, - {file = "ruff-0.7.3-py3-none-musllinux_1_2_x86_64.whl", hash = "sha256:5d024301109a0007b78d57ab0ba190087b43dce852e552734ebf0b0b85e4fb16"}, - {file = "ruff-0.7.3-py3-none-win32.whl", hash = "sha256:4ba81a5f0c5478aa61674c5a2194de8b02652f17addf8dfc40c8937e6e7d79fc"}, - {file = "ruff-0.7.3-py3-none-win_amd64.whl", hash = "sha256:588a9ff2fecf01025ed065fe28809cd5a53b43505f48b69a1ac7707b1b7e4088"}, - {file = "ruff-0.7.3-py3-none-win_arm64.whl", hash = "sha256:1713e2c5545863cdbfe2cbce21f69ffaf37b813bfd1fb3b90dc9a6f1963f5a8c"}, - {file = "ruff-0.7.3.tar.gz", hash = "sha256:e1d1ba2e40b6e71a61b063354d04be669ab0d39c352461f3d789cac68b54a313"}, + {file = "ruff-0.7.4-py3-none-linux_armv6l.whl", hash = "sha256:a4919925e7684a3f18e18243cd6bea7cfb8e968a6eaa8437971f681b7ec51478"}, + {file = "ruff-0.7.4-py3-none-macosx_10_12_x86_64.whl", hash = "sha256:cfb365c135b830778dda8c04fb7d4280ed0b984e1aec27f574445231e20d6c63"}, + {file = "ruff-0.7.4-py3-none-macosx_11_0_arm64.whl", hash = "sha256:63a569b36bc66fbadec5beaa539dd81e0527cb258b94e29e0531ce41bacc1f20"}, + {file = "ruff-0.7.4-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:0d06218747d361d06fd2fdac734e7fa92df36df93035db3dc2ad7aa9852cb109"}, + {file = "ruff-0.7.4-py3-none-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:e0cea28d0944f74ebc33e9f934238f15c758841f9f5edd180b5315c203293452"}, + {file = "ruff-0.7.4-py3-none-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:80094ecd4793c68b2571b128f91754d60f692d64bc0d7272ec9197fdd09bf9ea"}, + {file = "ruff-0.7.4-py3-none-manylinux_2_17_ppc64.manylinux2014_ppc64.whl", hash = "sha256:997512325c6620d1c4c2b15db49ef59543ef9cd0f4aa8065ec2ae5103cedc7e7"}, + {file = "ruff-0.7.4-py3-none-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:00b4cf3a6b5fad6d1a66e7574d78956bbd09abfd6c8a997798f01f5da3d46a05"}, + {file = "ruff-0.7.4-py3-none-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:7dbdc7d8274e1422722933d1edddfdc65b4336abf0b16dfcb9dedd6e6a517d06"}, + {file = "ruff-0.7.4-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:0e92dfb5f00eaedb1501b2f906ccabfd67b2355bdf117fea9719fc99ac2145bc"}, + {file = "ruff-0.7.4-py3-none-musllinux_1_2_aarch64.whl", hash = "sha256:3bd726099f277d735dc38900b6a8d6cf070f80828877941983a57bca1cd92172"}, + {file = "ruff-0.7.4-py3-none-musllinux_1_2_armv7l.whl", hash = "sha256:2e32829c429dd081ee5ba39aef436603e5b22335c3d3fff013cd585806a6486a"}, + {file = "ruff-0.7.4-py3-none-musllinux_1_2_i686.whl", hash = "sha256:662a63b4971807623f6f90c1fb664613f67cc182dc4d991471c23c541fee62dd"}, + {file = "ruff-0.7.4-py3-none-musllinux_1_2_x86_64.whl", hash = "sha256:876f5e09eaae3eb76814c1d3b68879891d6fde4824c015d48e7a7da4cf066a3a"}, + {file = "ruff-0.7.4-py3-none-win32.whl", hash = "sha256:75c53f54904be42dd52a548728a5b572344b50d9b2873d13a3f8c5e3b91f5cac"}, + {file = "ruff-0.7.4-py3-none-win_amd64.whl", hash = "sha256:745775c7b39f914238ed1f1b0bebed0b9155a17cd8bc0b08d3c87e4703b990d6"}, + {file = "ruff-0.7.4-py3-none-win_arm64.whl", hash = "sha256:11bff065102c3ae9d3ea4dc9ecdfe5a5171349cdd0787c1fc64761212fc9cf1f"}, + {file = "ruff-0.7.4.tar.gz", hash = "sha256:cd12e35031f5af6b9b93715d8c4f40360070b2041f81273d0527683d5708fce2"}, ] [[package]] @@ -4225,23 +4379,23 @@ win32 = ["pywin32"] [[package]] name = "setuptools" -version = "75.1.0" +version = "75.3.0" description = "Easily download, build, install, upgrade, and uninstall Python packages" optional = false python-versions = ">=3.8" files = [ - {file = "setuptools-75.1.0-py3-none-any.whl", hash = "sha256:35ab7fd3bcd95e6b7fd704e4a1539513edad446c097797f2985e0e4b960772f2"}, - {file = "setuptools-75.1.0.tar.gz", hash = "sha256:d59a21b17a275fb872a9c3dae73963160ae079f1049ed956880cd7c09b120538"}, + {file = "setuptools-75.3.0-py3-none-any.whl", hash = "sha256:f2504966861356aa38616760c0f66568e535562374995367b4e69c7143cf6bcd"}, + {file = "setuptools-75.3.0.tar.gz", hash = "sha256:fba5dd4d766e97be1b1681d98712680ae8f2f26d7881245f2ce9e40714f1a686"}, ] [package.extras] check = ["pytest-checkdocs (>=2.4)", "pytest-ruff (>=0.2.1)", "ruff (>=0.5.2)"] -core = ["importlib-metadata (>=6)", "importlib-resources (>=5.10.2)", "jaraco.collections", "jaraco.functools", "jaraco.text (>=3.7)", "more-itertools", "more-itertools (>=8.8)", "packaging", "packaging (>=24)", "platformdirs (>=2.6.2)", "tomli (>=2.0.1)", "wheel (>=0.43.0)"] +core = ["importlib-metadata (>=6)", "importlib-resources (>=5.10.2)", "jaraco.collections", "jaraco.functools", "jaraco.text (>=3.7)", "more-itertools", "more-itertools (>=8.8)", "packaging", "packaging (>=24)", "platformdirs (>=4.2.2)", "tomli (>=2.0.1)", "wheel (>=0.43.0)"] cover = ["pytest-cov"] doc = ["furo", "jaraco.packaging (>=9.3)", "jaraco.tidelift (>=1.4)", "pygments-github-lexers (==0.0.5)", "pyproject-hooks (!=1.1)", "rst.linker (>=1.9)", "sphinx (>=3.5)", "sphinx-favicon", "sphinx-inline-tabs", "sphinx-lint", "sphinx-notfound-page (>=1,<2)", "sphinx-reredirects", "sphinxcontrib-towncrier", "towncrier (<24.7)"] enabler = ["pytest-enabler (>=2.2)"] -test = ["build[virtualenv] (>=1.0.3)", "filelock (>=3.4.0)", "ini2toml[lite] (>=0.14)", "jaraco.develop (>=7.21)", "jaraco.envs (>=2.2)", "jaraco.path (>=3.2.0)", "jaraco.test", "packaging (>=23.2)", "pip (>=19.1)", "pyproject-hooks (!=1.1)", "pytest (>=6,!=8.1.*)", "pytest-home (>=0.5)", "pytest-perf", "pytest-subprocess", "pytest-timeout", "pytest-xdist (>=3)", "tomli-w (>=1.0.0)", "virtualenv (>=13.0.0)", "wheel (>=0.44.0)"] -type = ["importlib-metadata (>=7.0.2)", "jaraco.develop (>=7.21)", "mypy (==1.11.*)", "pytest-mypy"] +test = ["build[virtualenv] (>=1.0.3)", "filelock (>=3.4.0)", "ini2toml[lite] (>=0.14)", "jaraco.develop (>=7.21)", "jaraco.envs (>=2.2)", "jaraco.path (>=3.2.0)", "jaraco.test (>=5.5)", "packaging (>=23.2)", "pip (>=19.1)", "pyproject-hooks (!=1.1)", "pytest (>=6,!=8.1.*)", "pytest-home (>=0.5)", "pytest-perf", "pytest-subprocess", "pytest-timeout", "pytest-xdist (>=3)", "tomli-w (>=1.0.0)", "virtualenv (>=13.0.0)", "wheel (>=0.44.0)"] +type = ["importlib-metadata (>=7.0.2)", "jaraco.develop (>=7.21)", "mypy (==1.12.*)", "pytest-mypy"] [[package]] name = "six" @@ -4329,13 +4483,13 @@ typing = ["mypy (>=1.6,<2.0)", "traitlets (>=5.11.1)"] [[package]] name = "tinycss2" -version = "1.3.0" +version = "1.4.0" description = "A tiny CSS parser" optional = false python-versions = ">=3.8" files = [ - {file = "tinycss2-1.3.0-py3-none-any.whl", hash = "sha256:54a8dbdffb334d536851be0226030e9505965bb2f30f21a4a82c55fb2a80fae7"}, - {file = "tinycss2-1.3.0.tar.gz", hash = "sha256:152f9acabd296a8375fbca5b84c961ff95971fcfc32e79550c8df8e29118c54d"}, + {file = "tinycss2-1.4.0-py3-none-any.whl", hash = "sha256:3a49cf47b7675da0b15d0c6e1df8df4ebd96e9394bb905a5775adb0d884c5289"}, + {file = "tinycss2-1.4.0.tar.gz", hash = "sha256:10c0972f6fc0fbee87c3edb76549357415e94548c1ae10ebccdea16fb404a9b7"}, ] [package.dependencies] @@ -4347,13 +4501,13 @@ test = ["pytest", "ruff"] [[package]] name = "tomli" -version = "2.0.2" +version = "2.1.0" description = "A lil' TOML parser" optional = false python-versions = ">=3.8" files = [ - {file = "tomli-2.0.2-py3-none-any.whl", hash = "sha256:2ebe24485c53d303f690b0ec092806a085f07af5a5aa1464f3931eec36caaa38"}, - {file = "tomli-2.0.2.tar.gz", hash = "sha256:d46d457a85337051c36524bc5349dd91b1877838e2979ac5ced3e710ed8a60ed"}, + {file = "tomli-2.1.0-py3-none-any.whl", hash = "sha256:a5c57c3d1c56f5ccdf89f6523458f60ef716e210fc47c4cfb188c5ba473e0391"}, + {file = "tomli-2.1.0.tar.gz", hash = "sha256:3f646cae2aec94e17d04973e4249548320197cfabdf130015d023de4b74d8ab8"}, ] [[package]] @@ -4490,7 +4644,7 @@ files = [ name = "types-pytz" version = "2024.2.0.20241003" description = "Typing stubs for pytz" -optional = true +optional = false python-versions = ">=3.8" files = [ {file = "types-pytz-2024.2.0.20241003.tar.gz", hash = "sha256:575dc38f385a922a212bac00a7d6d2e16e141132a3c955078f4a4fd13ed6cb44"}, @@ -4524,13 +4678,13 @@ urllib3 = ">=2" [[package]] name = "types-setuptools" -version = "75.1.0.20241014" +version = "75.5.0.20241116" description = "Typing stubs for setuptools" optional = false python-versions = ">=3.8" files = [ - {file = "types-setuptools-75.1.0.20241014.tar.gz", hash = "sha256:29b0560a8d4b4a91174be085847002c69abfcb048e20b33fc663005aedf56804"}, - {file = "types_setuptools-75.1.0.20241014-py3-none-any.whl", hash = "sha256:caab58366741fb99673d0138b6e2d760717f154cfb981b74fea5e8de40f0b703"}, + {file = "types-setuptools-75.5.0.20241116.tar.gz", hash = "sha256:b6939ffdbc50ffdc0bcfbf14f7a6de1ddc5510906c1ca2bd62c23646e5798b1a"}, + {file = "types_setuptools-75.5.0.20241116-py3-none-any.whl", hash = "sha256:1144b2ab8fa986061f963391fdbde16df20582e3cc39c94340e71aa61cc7203f"}, ] [[package]] @@ -4613,13 +4767,13 @@ test = ["coverage", "flake8 (>=3.7)", "mypy", "pretend", "pytest"] [[package]] name = "virtualenv" -version = "20.26.6" +version = "20.27.1" description = "Virtual Python Environment builder" optional = false -python-versions = ">=3.7" +python-versions = ">=3.8" files = [ - {file = "virtualenv-20.26.6-py3-none-any.whl", hash = "sha256:7345cc5b25405607a624d8418154577459c3e0277f5466dd79c49d5e492995f2"}, - {file = "virtualenv-20.26.6.tar.gz", hash = "sha256:280aede09a2a5c317e409a00102e7077c6432c5a38f0ef938e643805a7ad2c48"}, + {file = "virtualenv-20.27.1-py3-none-any.whl", hash = "sha256:f11f1b8a29525562925f745563bfd48b189450f61fb34c4f9cc79dd5aa32a1f4"}, + {file = "virtualenv-20.27.1.tar.gz", hash = "sha256:142c6be10212543b32c6c45d3d3893dff89112cc588b7d0879ae5a1ec03a47ba"}, ] [package.dependencies] @@ -4777,9 +4931,9 @@ type = ["pytest-mypy"] [extras] assets = ["requests", "tqdm"] -metrics = ["pandas", "pandas-stubs"] +metrics = ["pandas"] [metadata] lock-version = "2.0" python-versions = "^3.8" -content-hash = "85f56a451ee3e0f2c00c8a39b1433d4fb54a239f14f4878e5ded30bc63729734" +content-hash = "7661beeb9043afebaa1e53cd4d9ebc7d07b35dfa97b7006295300e9f16dfe437" diff --git a/pyproject.toml b/pyproject.toml index d3084d52b7..6548094708 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -43,11 +43,14 @@ classifiers = [ [tool.poetry.dependencies] python = "^3.8" + +# For Python versions 3.13 and above, use numpy versions 2.1.0, +# required for poetry to not fail. numpy = [ - { version = ">=1.21.2,<1.23.3", python = "<=3.10" }, - { version = ">=1.23.3", python = ">3.10" }, + { version = ">=1.21.2", python = "<3.13" }, { version = ">=2.1.0", python = ">=3.13" }, ] + scipy = [ { version = "1.10.0", python = "<3.9" }, { version = "^1.10.0", python = ">=3.9" }, @@ -62,7 +65,7 @@ scipy = [ # For Python 3.8 and above, we use version 1.0.7 or higher, as it is the lowest major version that supports Python 3.8. # For Python 3.13 and above, we use version 1.3.0 or higher, as it is the first version that explicitly supports Python 3.13. contourpy = [ - { version = ">=1.0.7", python = ">=3.8" }, + { version = ">=1.0.7", python = ">=3.8,<3.13" }, { version = ">=1.3.0", python = ">=3.13" }, ] @@ -70,16 +73,15 @@ matplotlib = ">=3.6.0" pyyaml = ">=5.3" defusedxml = "^0.7.1" pillow = ">=9.4" -requests = { version = ">=2.26.0,<=2.32.3", optional = true } -tqdm = { version = ">=4.62.3,<=4.67.0", optional = true } +requests = { version = ">=2.26.0", optional = true } +tqdm = { version = ">=4.62.3", optional = true } # pandas: picked lowest major version that supports Python 3.8 pandas = { version = ">=2.0.0", optional = true } -pandas-stubs = { version = ">=2.0.0.230412", optional = true } opencv-python = ">=4.5.5.64" [tool.poetry.extras] assets = ["requests", "tqdm"] -metrics = ["pandas", "pandas-stubs"] +metrics = ["pandas"] [tool.poetry.group.dev.dependencies] twine = "^5.1.1" @@ -118,6 +120,7 @@ types-pyyaml = "^6.0.12.20240808" types-cffi = "^1.16.0.20240331" types-requests = "^2.32.0.20240712" types-tqdm = "^4.66.0.20240417" +pandas-stubs = ">=2.0.0.230412" [tool.bandit] From c88de3641cd74a25d2d37285cc646888dc881806 Mon Sep 17 00:00:00 2001 From: Onuralp SEZER Date: Mon, 18 Nov 2024 19:57:41 +0300 Subject: [PATCH 004/420] =?UTF-8?q?chore:=20=F0=9F=93=A6=20assets=20extra?= =?UTF-8?q?=20removed=20and=20merged=20in=20to=20main=20supervision?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Onuralp SEZER --- docs/assets.md | 5 ++--- poetry.lock | 5 ++--- pyproject.toml | 5 ++--- 3 files changed, 6 insertions(+), 9 deletions(-) diff --git a/docs/assets.md b/docs/assets.md index 2e38ad4722..ffc7a7d4eb 100644 --- a/docs/assets.md +++ b/docs/assets.md @@ -1,6 +1,5 @@ --- comments: true -status: new --- # Assets @@ -11,12 +10,12 @@ that you can use in your demos. ## Install extra To install the Supervision assets utility, you can use `pip`. This utility is available -as an extra within the Supervision package. +within the Supervision package. !!! example "pip install" ```bash - pip install "supervision[assets]" + pip install "supervision" ```
diff --git a/poetry.lock b/poetry.lock index 0afa448e5e..2673f61761 100644 --- a/poetry.lock +++ b/poetry.lock @@ -4561,7 +4561,7 @@ test = ["devpi-process (>=1.0.2)", "pytest (>=8.3.3)", "pytest-mock (>=3.14)"] name = "tqdm" version = "4.67.0" description = "Fast, Extensible Progress Meter" -optional = true +optional = false python-versions = ">=3.7" files = [ {file = "tqdm-4.67.0-py3-none-any.whl", hash = "sha256:0cd8af9d56911acab92182e88d763100d4788bdf421d251616040cc4d44863be"}, @@ -4930,10 +4930,9 @@ test = ["big-O", "importlib-resources", "jaraco.functools", "jaraco.itertools", type = ["pytest-mypy"] [extras] -assets = ["requests", "tqdm"] metrics = ["pandas"] [metadata] lock-version = "2.0" python-versions = "^3.8" -content-hash = "7661beeb9043afebaa1e53cd4d9ebc7d07b35dfa97b7006295300e9f16dfe437" +content-hash = "4b1374cb6ea9100c5bed238a30153051ae9946a23c8c93e0abe1e80a29bb6860" diff --git a/pyproject.toml b/pyproject.toml index 6548094708..d0b8d0bf5e 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -73,14 +73,13 @@ matplotlib = ">=3.6.0" pyyaml = ">=5.3" defusedxml = "^0.7.1" pillow = ">=9.4" -requests = { version = ">=2.26.0", optional = true } -tqdm = { version = ">=4.62.3", optional = true } +requests = ">=2.26.0" +tqdm = ">=4.62.3" # pandas: picked lowest major version that supports Python 3.8 pandas = { version = ">=2.0.0", optional = true } opencv-python = ">=4.5.5.64" [tool.poetry.extras] -assets = ["requests", "tqdm"] metrics = ["pandas"] [tool.poetry.group.dev.dependencies] From 742a824d2c946d54a03a6a5d13c96366822cd814 Mon Sep 17 00:00:00 2001 From: Onuralp SEZER Date: Mon, 18 Nov 2024 20:15:38 +0300 Subject: [PATCH 005/420] =?UTF-8?q?fix:=20=F0=9F=90=9B=20=20install=20sect?= =?UTF-8?q?ion=20removed=20from=20assets?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Onuralp SEZER --- docs/assets.md | 11 ----------- 1 file changed, 11 deletions(-) diff --git a/docs/assets.md b/docs/assets.md index ffc7a7d4eb..7135f33f0b 100644 --- a/docs/assets.md +++ b/docs/assets.md @@ -7,17 +7,6 @@ comments: true Supervision offers an assets download utility that allows you to download video files that you can use in your demos. -## Install extra - -To install the Supervision assets utility, you can use `pip`. This utility is available -within the Supervision package. - -!!! example "pip install" - - ```bash - pip install "supervision" - ``` - From 37b5dd477b813897ebed09252b1fae92c961661d Mon Sep 17 00:00:00 2001 From: LinasKo Date: Mon, 18 Nov 2024 19:30:02 +0200 Subject: [PATCH 006/420] bump version from 0.25.0 to 0.26.0rc1 --- pyproject.toml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pyproject.toml b/pyproject.toml index d0b8d0bf5e..b7e9c6b8d7 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -1,6 +1,6 @@ [tool.poetry] name = "supervision" -version = "0.25.0" +version = "0.26.0rc1" description = "A set of easy-to-use utils that will come in handy in any Computer Vision project" authors = ["Piotr Skalski "] maintainers = [ From b2dc1b2a171baac60567fb04b8f7365e4de36f6c Mon Sep 17 00:00:00 2001 From: "pre-commit-ci[bot]" <66853113+pre-commit-ci[bot]@users.noreply.github.com> Date: Mon, 18 Nov 2024 17:55:51 +0000 Subject: [PATCH 007/420] =?UTF-8?q?chore(pre=5Fcommit):=20=E2=AC=86=20pre?= =?UTF-8?q?=5Fcommit=20autoupdate?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit updates: - [github.com/astral-sh/ruff-pre-commit: v0.7.3 → v0.7.4](https://github.com/astral-sh/ruff-pre-commit/compare/v0.7.3...v0.7.4) --- .pre-commit-config.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index 6767146f46..f550e084eb 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -32,7 +32,7 @@ repos: additional_dependencies: ["bandit[toml]"] - repo: https://github.com/astral-sh/ruff-pre-commit - rev: v0.7.3 + rev: v0.7.4 hooks: - id: ruff args: [--fix, --exit-non-zero-on-fix] From 8d18328dff635b936c1bf8df79d7f66cbb049705 Mon Sep 17 00:00:00 2001 From: "pre-commit-ci[bot]" <66853113+pre-commit-ci[bot]@users.noreply.github.com> Date: Mon, 18 Nov 2024 17:55:51 +0000 Subject: [PATCH 008/420] =?UTF-8?q?chore(pre=5Fcommit):=20=E2=AC=86=20pre?= =?UTF-8?q?=5Fcommit=20autoupdate?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit updates: - [github.com/astral-sh/ruff-pre-commit: v0.7.3 → v0.7.4](https://github.com/astral-sh/ruff-pre-commit/compare/v0.7.3...v0.7.4) --- .pre-commit-config.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index 6767146f46..f550e084eb 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -32,7 +32,7 @@ repos: additional_dependencies: ["bandit[toml]"] - repo: https://github.com/astral-sh/ruff-pre-commit - rev: v0.7.3 + rev: v0.7.4 hooks: - id: ruff args: [--fix, --exit-non-zero-on-fix] From 88f113d14bf81b7dba3835160be56fa312717794 Mon Sep 17 00:00:00 2001 From: Onuralp SEZER Date: Tue, 19 Nov 2024 17:53:18 +0300 Subject: [PATCH 009/420] =?UTF-8?q?docs:=20=F0=9F=93=9D=20git=20clone=20me?= =?UTF-8?q?thods=20are=20extended=20and=20shallow=20copy=20method=20also?= =?UTF-8?q?=20added?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Onuralp SEZER --- CONTRIBUTING.md | 16 ++++++++++++++-- 1 file changed, 14 insertions(+), 2 deletions(-) diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 8a06e34219..9a02f052ed 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -128,15 +128,27 @@ PRs must pass all tests and linting requirements before they can be merged. Before starting your work on the project, set up your development environment: -1. Clone your fork of the project: +1. Clone your fork of the project (recommended to use shallow clone of develop branch): + + **Option A: Recommended for most contributors (shallow clone of develop branch):** ```bash - git clone https://github.com/YOUR_USERNAME/supervision.git + git clone --depth 1 -b develop https://github.com/YOUR_USERNAME/supervision.git cd supervision ``` Replace `YOUR_USERNAME` with your GitHub username. + > Note: Using `--depth 1` creates a shallow clone with minimal history and `-b develop` ensures you start with the development branch. This significantly reduces download size while providing everything needed to contribute. + + **Option B: Full repository clone (if you need complete history):** + + ```bash + git clone https://github.com/YOUR_USERNAME/supervision.git + cd supervision + git checkout develop + ``` + 2. Create and activate a virtual environment: ```bash From a57f4f22aeb2076b0b880b557fc8c74bc9c93544 Mon Sep 17 00:00:00 2001 From: Onuralp SEZER Date: Tue, 19 Nov 2024 17:57:56 +0300 Subject: [PATCH 010/420] =?UTF-8?q?docs:=20=F0=9F=93=9D=20git=20clone=20ex?= =?UTF-8?q?amples=20with=20single=20branch=20and=20single=20depth=20added?= =?UTF-8?q?=20into=20example=20docs?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Onuralp SEZER --- docs/index.md | 4 ++-- examples/count_people_in_zone/README.md | 2 +- examples/heatmap_and_track/README.md | 2 +- examples/speed_estimation/README.md | 2 +- examples/time_in_zone/README.md | 2 +- examples/tracking/README.md | 2 +- examples/traffic_analysis/README.md | 2 +- 7 files changed, 8 insertions(+), 8 deletions(-) diff --git a/docs/index.md b/docs/index.md index 08fdb2400f..b78ce6c5f9 100644 --- a/docs/index.md +++ b/docs/index.md @@ -63,7 +63,7 @@ You can install `supervision` in a === "virtualenv" ```bash # clone repository and navigate to root directory - git clone https://github.com/roboflow/supervision.git + git clone --depth 1 -b develop https://github.com/roboflow/supervision.git cd supervision # setup python environment and activate it @@ -78,7 +78,7 @@ You can install `supervision` in a === "poetry" ```bash # clone repository and navigate to root directory - git clone https://github.com/roboflow/supervision.git + git clone --depth 1 -b develop https://github.com/roboflow/supervision.git cd supervision # setup python environment and activate it diff --git a/examples/count_people_in_zone/README.md b/examples/count_people_in_zone/README.md index 0cb20955d5..994ffec642 100644 --- a/examples/count_people_in_zone/README.md +++ b/examples/count_people_in_zone/README.md @@ -17,7 +17,7 @@ https://github.com/roboflow/supervision/assets/26109316/f84db7b5-79e2-4142-a1da- - clone repository and navigate to example directory ```bash - git clone https://github.com/roboflow/supervision.git + git clone --depth 1 -b develop https://github.com/roboflow/supervision.git cd supervision/examples/count_people_in_zone ``` diff --git a/examples/heatmap_and_track/README.md b/examples/heatmap_and_track/README.md index 2c2fc58c75..2551dadb4c 100644 --- a/examples/heatmap_and_track/README.md +++ b/examples/heatmap_and_track/README.md @@ -11,7 +11,7 @@ supervision package for multiple tasks such as drawing heatmap annotations, trac - clone repository and navigate to example directory ```bash - git clone https://github.com/roboflow/supervision.git + git clone --depth 1 -b develop https://github.com/roboflow/supervision.git cd supervision/examples/heatmap_and_track ``` diff --git a/examples/speed_estimation/README.md b/examples/speed_estimation/README.md index 08a2018b7d..c2e6bcbde8 100644 --- a/examples/speed_estimation/README.md +++ b/examples/speed_estimation/README.md @@ -22,7 +22,7 @@ https://github.com/roboflow/supervision/assets/26109316/d50118c1-2ae4-458d-915a- - clone repository and navigate to example directory ```bash - git clone https://github.com/roboflow/supervision.git + git clone --depth 1 -b develop https://github.com/roboflow/supervision.git cd supervision/examples/speed_estimation ``` diff --git a/examples/time_in_zone/README.md b/examples/time_in_zone/README.md index b40e29eb70..5c91a80b31 100644 --- a/examples/time_in_zone/README.md +++ b/examples/time_in_zone/README.md @@ -16,7 +16,7 @@ https://github.com/roboflow/supervision/assets/26109316/d051cc8a-dd15-41d4-aa36- - clone repository and navigate to example directory ```bash - git clone https://github.com/roboflow/supervision.git + git clone --depth 1 -b develop https://github.com/roboflow/supervision.git cd supervision/examples/time_in_zone ``` diff --git a/examples/tracking/README.md b/examples/tracking/README.md index cb167712b6..53b8a3e510 100644 --- a/examples/tracking/README.md +++ b/examples/tracking/README.md @@ -10,7 +10,7 @@ detection and Supervision for tracking and annotation. - clone repository and navigate to example directory ```bash - git clone https://github.com/roboflow/supervision.git + git clone --depth 1 -b develop https://github.com/roboflow/supervision.git cd supervision/examples/tracking ``` diff --git a/examples/traffic_analysis/README.md b/examples/traffic_analysis/README.md index feac8d91c5..29ed716880 100644 --- a/examples/traffic_analysis/README.md +++ b/examples/traffic_analysis/README.md @@ -13,7 +13,7 @@ https://github.com/roboflow/supervision/assets/26109316/c9436828-9fbf-4c25-ae8c- - clone repository and navigate to example directory ```bash - git clone https://github.com/roboflow/supervision.git + git clone --depth 1 -b develop https://github.com/roboflow/supervision.git cd supervision/examples/traffic_analysis ``` From 987a8f269fb066ce9dddee130764207e6ed27b38 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Thu, 21 Nov 2024 00:50:26 +0000 Subject: [PATCH 011/420] :arrow_up: Bump mkdocs-material from 9.5.44 to 9.5.45 Bumps [mkdocs-material](https://github.com/squidfunk/mkdocs-material) from 9.5.44 to 9.5.45. - [Release notes](https://github.com/squidfunk/mkdocs-material/releases) - [Changelog](https://github.com/squidfunk/mkdocs-material/blob/master/CHANGELOG) - [Commits](https://github.com/squidfunk/mkdocs-material/compare/9.5.44...9.5.45) --- updated-dependencies: - dependency-name: mkdocs-material dependency-type: direct:development update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] --- poetry.lock | 114 +++------------------------------------------------- 1 file changed, 6 insertions(+), 108 deletions(-) diff --git a/poetry.lock b/poetry.lock index 2673f61761..bc0fdcbfc6 100644 --- a/poetry.lock +++ b/poetry.lock @@ -1,4 +1,4 @@ -# This file is automatically @generated by Poetry 1.8.4 and should not be changed by hand. +# This file is automatically @generated by Poetry 1.8.3 and should not be changed by hand. [[package]] name = "anyio" @@ -2192,74 +2192,6 @@ pillow = ">=6.2.0" pyparsing = ">=2.3.1,<3.1" python-dateutil = ">=2.7" -[[package]] -name = "matplotlib" -version = "3.7.5" -description = "Python plotting package" -optional = false -python-versions = ">=3.8" -files = [ - {file = "matplotlib-3.7.5-cp310-cp310-macosx_10_12_universal2.whl", hash = "sha256:4a87b69cb1cb20943010f63feb0b2901c17a3b435f75349fd9865713bfa63925"}, - {file = "matplotlib-3.7.5-cp310-cp310-macosx_10_12_x86_64.whl", hash = "sha256:d3ce45010fefb028359accebb852ca0c21bd77ec0f281952831d235228f15810"}, - {file = "matplotlib-3.7.5-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:fbea1e762b28400393d71be1a02144aa16692a3c4c676ba0178ce83fc2928fdd"}, - {file = "matplotlib-3.7.5-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:ec0e1adc0ad70ba8227e957551e25a9d2995e319c29f94a97575bb90fa1d4469"}, - {file = "matplotlib-3.7.5-cp310-cp310-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:6738c89a635ced486c8a20e20111d33f6398a9cbebce1ced59c211e12cd61455"}, - {file = "matplotlib-3.7.5-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:1210b7919b4ed94b5573870f316bca26de3e3b07ffdb563e79327dc0e6bba515"}, - {file = "matplotlib-3.7.5-cp310-cp310-win32.whl", hash = "sha256:068ebcc59c072781d9dcdb82f0d3f1458271c2de7ca9c78f5bd672141091e9e1"}, - {file = "matplotlib-3.7.5-cp310-cp310-win_amd64.whl", hash = "sha256:f098ffbaab9df1e3ef04e5a5586a1e6b1791380698e84938d8640961c79b1fc0"}, - {file = "matplotlib-3.7.5-cp311-cp311-macosx_10_12_universal2.whl", hash = "sha256:f65342c147572673f02a4abec2d5a23ad9c3898167df9b47c149f32ce61ca078"}, - {file = "matplotlib-3.7.5-cp311-cp311-macosx_10_12_x86_64.whl", hash = "sha256:4ddf7fc0e0dc553891a117aa083039088d8a07686d4c93fb8a810adca68810af"}, - {file = "matplotlib-3.7.5-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:0ccb830fc29442360d91be48527809f23a5dcaee8da5f4d9b2d5b867c1b087b8"}, - {file = "matplotlib-3.7.5-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:efc6bb28178e844d1f408dd4d6341ee8a2e906fc9e0fa3dae497da4e0cab775d"}, - {file = "matplotlib-3.7.5-cp311-cp311-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:3b15c4c2d374f249f324f46e883340d494c01768dd5287f8bc00b65b625ab56c"}, - {file = "matplotlib-3.7.5-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:3d028555421912307845e59e3de328260b26d055c5dac9b182cc9783854e98fb"}, - {file = "matplotlib-3.7.5-cp311-cp311-win32.whl", hash = "sha256:fe184b4625b4052fa88ef350b815559dd90cc6cc8e97b62f966e1ca84074aafa"}, - {file = "matplotlib-3.7.5-cp311-cp311-win_amd64.whl", hash = "sha256:084f1f0f2f1010868c6f1f50b4e1c6f2fb201c58475494f1e5b66fed66093647"}, - {file = "matplotlib-3.7.5-cp312-cp312-macosx_10_12_universal2.whl", hash = "sha256:34bceb9d8ddb142055ff27cd7135f539f2f01be2ce0bafbace4117abe58f8fe4"}, - {file = "matplotlib-3.7.5-cp312-cp312-macosx_10_12_x86_64.whl", hash = "sha256:c5a2134162273eb8cdfd320ae907bf84d171de948e62180fa372a3ca7cf0f433"}, - {file = "matplotlib-3.7.5-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:039ad54683a814002ff37bf7981aa1faa40b91f4ff84149beb53d1eb64617980"}, - {file = "matplotlib-3.7.5-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:4d742ccd1b09e863b4ca58291728db645b51dab343eebb08d5d4b31b308296ce"}, - {file = "matplotlib-3.7.5-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:743b1c488ca6a2bc7f56079d282e44d236bf375968bfd1b7ba701fd4d0fa32d6"}, - {file = "matplotlib-3.7.5-cp312-cp312-win_amd64.whl", hash = "sha256:fbf730fca3e1f23713bc1fae0a57db386e39dc81ea57dc305c67f628c1d7a342"}, - {file = "matplotlib-3.7.5-cp38-cp38-macosx_10_12_universal2.whl", hash = "sha256:cfff9b838531698ee40e40ea1a8a9dc2c01edb400b27d38de6ba44c1f9a8e3d2"}, - {file = "matplotlib-3.7.5-cp38-cp38-macosx_10_12_x86_64.whl", hash = "sha256:1dbcca4508bca7847fe2d64a05b237a3dcaec1f959aedb756d5b1c67b770c5ee"}, - {file = "matplotlib-3.7.5-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:4cdf4ef46c2a1609a50411b66940b31778db1e4b73d4ecc2eaa40bd588979b13"}, - {file = "matplotlib-3.7.5-cp38-cp38-manylinux_2_12_i686.manylinux2010_i686.whl", hash = "sha256:167200ccfefd1674b60e957186dfd9baf58b324562ad1a28e5d0a6b3bea77905"}, - {file = "matplotlib-3.7.5-cp38-cp38-manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:53e64522934df6e1818b25fd48cf3b645b11740d78e6ef765fbb5fa5ce080d02"}, - {file = "matplotlib-3.7.5-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d3e3bc79b2d7d615067bd010caff9243ead1fc95cf735c16e4b2583173f717eb"}, - {file = "matplotlib-3.7.5-cp38-cp38-win32.whl", hash = "sha256:6b641b48c6819726ed47c55835cdd330e53747d4efff574109fd79b2d8a13748"}, - {file = "matplotlib-3.7.5-cp38-cp38-win_amd64.whl", hash = "sha256:f0b60993ed3488b4532ec6b697059897891927cbfc2b8d458a891b60ec03d9d7"}, - {file = "matplotlib-3.7.5-cp39-cp39-macosx_10_12_universal2.whl", hash = "sha256:090964d0afaff9c90e4d8de7836757e72ecfb252fb02884016d809239f715651"}, - {file = "matplotlib-3.7.5-cp39-cp39-macosx_10_12_x86_64.whl", hash = "sha256:9fc6fcfbc55cd719bc0bfa60bde248eb68cf43876d4c22864603bdd23962ba25"}, - {file = "matplotlib-3.7.5-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:5e7cc3078b019bb863752b8b60e8b269423000f1603cb2299608231996bd9d54"}, - {file = "matplotlib-3.7.5-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:1e4e9a868e8163abaaa8259842d85f949a919e1ead17644fb77a60427c90473c"}, - {file = "matplotlib-3.7.5-cp39-cp39-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:fa7ebc995a7d747dacf0a717d0eb3aa0f0c6a0e9ea88b0194d3a3cd241a1500f"}, - {file = "matplotlib-3.7.5-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:3785bfd83b05fc0e0c2ae4c4a90034fe693ef96c679634756c50fe6efcc09856"}, - {file = "matplotlib-3.7.5-cp39-cp39-win32.whl", hash = "sha256:29b058738c104d0ca8806395f1c9089dfe4d4f0f78ea765c6c704469f3fffc81"}, - {file = "matplotlib-3.7.5-cp39-cp39-win_amd64.whl", hash = "sha256:fd4028d570fa4b31b7b165d4a685942ae9cdc669f33741e388c01857d9723eab"}, - {file = "matplotlib-3.7.5-pp38-pypy38_pp73-macosx_10_12_x86_64.whl", hash = "sha256:2a9a3f4d6a7f88a62a6a18c7e6a84aedcaf4faf0708b4ca46d87b19f1b526f88"}, - {file = "matplotlib-3.7.5-pp38-pypy38_pp73-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:b9b3fd853d4a7f008a938df909b96db0b454225f935d3917520305b90680579c"}, - {file = "matplotlib-3.7.5-pp38-pypy38_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f0ad550da9f160737d7890217c5eeed4337d07e83ca1b2ca6535078f354e7675"}, - {file = "matplotlib-3.7.5-pp38-pypy38_pp73-win_amd64.whl", hash = "sha256:20da7924a08306a861b3f2d1da0d1aa9a6678e480cf8eacffe18b565af2813e7"}, - {file = "matplotlib-3.7.5-pp39-pypy39_pp73-macosx_10_12_x86_64.whl", hash = "sha256:b45c9798ea6bb920cb77eb7306409756a7fab9db9b463e462618e0559aecb30e"}, - {file = "matplotlib-3.7.5-pp39-pypy39_pp73-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:a99866267da1e561c7776fe12bf4442174b79aac1a47bd7e627c7e4d077ebd83"}, - {file = "matplotlib-3.7.5-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:2b6aa62adb6c268fc87d80f963aca39c64615c31830b02697743c95590ce3fbb"}, - {file = "matplotlib-3.7.5-pp39-pypy39_pp73-win_amd64.whl", hash = "sha256:e530ab6a0afd082d2e9c17eb1eb064a63c5b09bb607b2b74fa41adbe3e162286"}, - {file = "matplotlib-3.7.5.tar.gz", hash = "sha256:1e5c971558ebc811aa07f54c7b7c677d78aa518ef4c390e14673a09e0860184a"}, -] - -[package.dependencies] -contourpy = ">=1.0.1" -cycler = ">=0.10" -fonttools = ">=4.22.0" -importlib-resources = {version = ">=3.2.0", markers = "python_version < \"3.10\""} -kiwisolver = ">=1.0.1" -numpy = ">=1.20,<2" -packaging = ">=20.0" -pillow = ">=6.2.0" -pyparsing = ">=2.3.1" -python-dateutil = ">=2.7" - [[package]] name = "matplotlib-inline" version = "0.1.7" @@ -2474,13 +2406,13 @@ pygments = ">2.12.0" [[package]] name = "mkdocs-material" -version = "9.5.44" +version = "9.5.45" description = "Documentation that simply works" optional = false python-versions = ">=3.8" files = [ - {file = "mkdocs_material-9.5.44-py3-none-any.whl", hash = "sha256:47015f9c167d58a5ff5e682da37441fc4d66a1c79334bfc08d774763cacf69ca"}, - {file = "mkdocs_material-9.5.44.tar.gz", hash = "sha256:f3a6c968e524166b3f3ed1fb97d3ed3e0091183b0545cedf7156a2a6804c56c0"}, + {file = "mkdocs_material-9.5.45-py3-none-any.whl", hash = "sha256:a9be237cfd0be14be75f40f1726d83aa3a81ce44808dc3594d47a7a592f44547"}, + {file = "mkdocs_material-9.5.45.tar.gz", hash = "sha256:286489cf0beca4a129d91d59d6417419c63bceed1ce5cd0ec1fc7e1ebffb8189"}, ] [package.dependencies] @@ -2955,34 +2887,14 @@ files = [ {file = "opencv_python-4.8.1.78-cp37-abi3-win_amd64.whl", hash = "sha256:b983197f97cfa6fcb74e1da1802c7497a6f94ed561aba6980f1f33123f904956"}, ] -[package.dependencies] -numpy = {version = ">=1.23.5", markers = "python_version >= \"3.11\""} - -[[package]] -name = "opencv-python" -version = "4.10.0.84" -description = "Wrapper package for OpenCV python bindings." -optional = false -python-versions = ">=3.6" -files = [ - {file = "opencv-python-4.10.0.84.tar.gz", hash = "sha256:72d234e4582e9658ffea8e9cae5b63d488ad06994ef12d81dc303b17472f3526"}, - {file = "opencv_python-4.10.0.84-cp37-abi3-macosx_11_0_arm64.whl", hash = "sha256:fc182f8f4cda51b45f01c64e4cbedfc2f00aff799debebc305d8d0210c43f251"}, - {file = "opencv_python-4.10.0.84-cp37-abi3-macosx_12_0_x86_64.whl", hash = "sha256:71e575744f1d23f79741450254660442785f45a0797212852ee5199ef12eed98"}, - {file = "opencv_python-4.10.0.84-cp37-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:09a332b50488e2dda866a6c5573ee192fe3583239fb26ff2f7f9ceb0bc119ea6"}, - {file = "opencv_python-4.10.0.84-cp37-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:9ace140fc6d647fbe1c692bcb2abce768973491222c067c131d80957c595b71f"}, - {file = "opencv_python-4.10.0.84-cp37-abi3-win32.whl", hash = "sha256:2db02bb7e50b703f0a2d50c50ced72e95c574e1e5a0bb35a8a86d0b35c98c236"}, - {file = "opencv_python-4.10.0.84-cp37-abi3-win_amd64.whl", hash = "sha256:32dbbd94c26f611dc5cc6979e6b7aa1f55a64d6b463cc1dcd3c95505a63e48fe"}, -] - [package.dependencies] numpy = [ {version = ">=1.21.0", markers = "python_version <= \"3.9\" and platform_system == \"Darwin\" and platform_machine == \"arm64\" and python_version >= \"3.8\""}, {version = ">=1.19.3", markers = "platform_system == \"Linux\" and platform_machine == \"aarch64\" and python_version >= \"3.8\" and python_version < \"3.10\" or python_version > \"3.9\" and python_version < \"3.10\" or python_version >= \"3.9\" and platform_system != \"Darwin\" and python_version < \"3.10\" or python_version >= \"3.9\" and platform_machine != \"arm64\" and python_version < \"3.10\""}, {version = ">=1.17.3", markers = "(platform_system != \"Darwin\" and platform_system != \"Linux\") and python_version >= \"3.8\" and python_version < \"3.9\" or platform_system != \"Darwin\" and python_version >= \"3.8\" and python_version < \"3.9\" and platform_machine != \"aarch64\" or platform_machine != \"arm64\" and python_version >= \"3.8\" and python_version < \"3.9\" and platform_system != \"Linux\" or (platform_machine != \"arm64\" and platform_machine != \"aarch64\") and python_version >= \"3.8\" and python_version < \"3.9\""}, + {version = ">=1.23.5", markers = "python_version >= \"3.11\""}, {version = ">=1.21.4", markers = "python_version >= \"3.10\" and platform_system == \"Darwin\" and python_version < \"3.11\""}, {version = ">=1.21.2", markers = "platform_system != \"Darwin\" and python_version >= \"3.10\" and python_version < \"3.11\""}, - {version = ">=1.23.5", markers = "python_version >= \"3.11\" and python_version < \"3.12\""}, - {version = ">=1.26.0", markers = "python_version >= \"3.12\""}, ] [[package]] @@ -3059,8 +2971,8 @@ files = [ [package.dependencies] numpy = [ {version = ">=1.20.3", markers = "python_version < \"3.10\""}, - {version = ">=1.21.0", markers = "python_version >= \"3.10\" and python_version < \"3.11\""}, {version = ">=1.23.2", markers = "python_version >= \"3.11\""}, + {version = ">=1.21.0", markers = "python_version >= \"3.10\" and python_version < \"3.11\""}, ] python-dateutil = ">=2.8.2" pytz = ">=2020.1" @@ -3495,20 +3407,6 @@ files = [ [package.extras] diagrams = ["jinja2", "railroad-diagrams"] -[[package]] -name = "pyparsing" -version = "3.1.4" -description = "pyparsing module - Classes and methods to define and execute parsing grammars" -optional = false -python-versions = ">=3.6.8" -files = [ - {file = "pyparsing-3.1.4-py3-none-any.whl", hash = "sha256:a6a7ee4235a3f944aa1fa2249307708f893fe5717dc603503c6c7969c070fb7c"}, - {file = "pyparsing-3.1.4.tar.gz", hash = "sha256:f86ec8d1a83f11977c9a6ea7598e8c27fc5cddfa5b07ea2241edbbde1d7bc032"}, -] - -[package.extras] -diagrams = ["jinja2", "railroad-diagrams"] - [[package]] name = "pyproject-api" version = "1.8.0" From 9ded219dfb4471b2404cdda4438f485ccf906ec4 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Thu, 21 Nov 2024 00:51:34 +0000 Subject: [PATCH 012/420] :arrow_up: Bump types-tqdm from 4.66.0.20240417 to 4.67.0.20241119 Bumps [types-tqdm](https://github.com/python/typeshed) from 4.66.0.20240417 to 4.67.0.20241119. - [Commits](https://github.com/python/typeshed/commits) --- updated-dependencies: - dependency-name: types-tqdm dependency-type: direct:development update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] --- poetry.lock | 117 ++++------------------------------------------------ 1 file changed, 9 insertions(+), 108 deletions(-) diff --git a/poetry.lock b/poetry.lock index 2673f61761..49217c7a71 100644 --- a/poetry.lock +++ b/poetry.lock @@ -1,4 +1,4 @@ -# This file is automatically @generated by Poetry 1.8.4 and should not be changed by hand. +# This file is automatically @generated by Poetry 1.8.3 and should not be changed by hand. [[package]] name = "anyio" @@ -2192,74 +2192,6 @@ pillow = ">=6.2.0" pyparsing = ">=2.3.1,<3.1" python-dateutil = ">=2.7" -[[package]] -name = "matplotlib" -version = "3.7.5" -description = "Python plotting package" -optional = false -python-versions = ">=3.8" -files = [ - {file = "matplotlib-3.7.5-cp310-cp310-macosx_10_12_universal2.whl", hash = "sha256:4a87b69cb1cb20943010f63feb0b2901c17a3b435f75349fd9865713bfa63925"}, - {file = "matplotlib-3.7.5-cp310-cp310-macosx_10_12_x86_64.whl", hash = "sha256:d3ce45010fefb028359accebb852ca0c21bd77ec0f281952831d235228f15810"}, - {file = "matplotlib-3.7.5-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:fbea1e762b28400393d71be1a02144aa16692a3c4c676ba0178ce83fc2928fdd"}, - {file = "matplotlib-3.7.5-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:ec0e1adc0ad70ba8227e957551e25a9d2995e319c29f94a97575bb90fa1d4469"}, - {file = "matplotlib-3.7.5-cp310-cp310-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:6738c89a635ced486c8a20e20111d33f6398a9cbebce1ced59c211e12cd61455"}, - {file = "matplotlib-3.7.5-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:1210b7919b4ed94b5573870f316bca26de3e3b07ffdb563e79327dc0e6bba515"}, - {file = "matplotlib-3.7.5-cp310-cp310-win32.whl", hash = "sha256:068ebcc59c072781d9dcdb82f0d3f1458271c2de7ca9c78f5bd672141091e9e1"}, - {file = "matplotlib-3.7.5-cp310-cp310-win_amd64.whl", hash = "sha256:f098ffbaab9df1e3ef04e5a5586a1e6b1791380698e84938d8640961c79b1fc0"}, - {file = "matplotlib-3.7.5-cp311-cp311-macosx_10_12_universal2.whl", hash = "sha256:f65342c147572673f02a4abec2d5a23ad9c3898167df9b47c149f32ce61ca078"}, - {file = "matplotlib-3.7.5-cp311-cp311-macosx_10_12_x86_64.whl", hash = "sha256:4ddf7fc0e0dc553891a117aa083039088d8a07686d4c93fb8a810adca68810af"}, - {file = "matplotlib-3.7.5-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:0ccb830fc29442360d91be48527809f23a5dcaee8da5f4d9b2d5b867c1b087b8"}, - {file = "matplotlib-3.7.5-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:efc6bb28178e844d1f408dd4d6341ee8a2e906fc9e0fa3dae497da4e0cab775d"}, - {file = "matplotlib-3.7.5-cp311-cp311-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:3b15c4c2d374f249f324f46e883340d494c01768dd5287f8bc00b65b625ab56c"}, - {file = "matplotlib-3.7.5-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:3d028555421912307845e59e3de328260b26d055c5dac9b182cc9783854e98fb"}, - {file = "matplotlib-3.7.5-cp311-cp311-win32.whl", hash = "sha256:fe184b4625b4052fa88ef350b815559dd90cc6cc8e97b62f966e1ca84074aafa"}, - {file = "matplotlib-3.7.5-cp311-cp311-win_amd64.whl", hash = "sha256:084f1f0f2f1010868c6f1f50b4e1c6f2fb201c58475494f1e5b66fed66093647"}, - {file = "matplotlib-3.7.5-cp312-cp312-macosx_10_12_universal2.whl", hash = "sha256:34bceb9d8ddb142055ff27cd7135f539f2f01be2ce0bafbace4117abe58f8fe4"}, - {file = "matplotlib-3.7.5-cp312-cp312-macosx_10_12_x86_64.whl", hash = "sha256:c5a2134162273eb8cdfd320ae907bf84d171de948e62180fa372a3ca7cf0f433"}, - {file = "matplotlib-3.7.5-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:039ad54683a814002ff37bf7981aa1faa40b91f4ff84149beb53d1eb64617980"}, - {file = "matplotlib-3.7.5-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:4d742ccd1b09e863b4ca58291728db645b51dab343eebb08d5d4b31b308296ce"}, - {file = "matplotlib-3.7.5-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:743b1c488ca6a2bc7f56079d282e44d236bf375968bfd1b7ba701fd4d0fa32d6"}, - {file = "matplotlib-3.7.5-cp312-cp312-win_amd64.whl", hash = "sha256:fbf730fca3e1f23713bc1fae0a57db386e39dc81ea57dc305c67f628c1d7a342"}, - {file = "matplotlib-3.7.5-cp38-cp38-macosx_10_12_universal2.whl", hash = "sha256:cfff9b838531698ee40e40ea1a8a9dc2c01edb400b27d38de6ba44c1f9a8e3d2"}, - {file = "matplotlib-3.7.5-cp38-cp38-macosx_10_12_x86_64.whl", hash = "sha256:1dbcca4508bca7847fe2d64a05b237a3dcaec1f959aedb756d5b1c67b770c5ee"}, - {file = "matplotlib-3.7.5-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:4cdf4ef46c2a1609a50411b66940b31778db1e4b73d4ecc2eaa40bd588979b13"}, - {file = "matplotlib-3.7.5-cp38-cp38-manylinux_2_12_i686.manylinux2010_i686.whl", hash = "sha256:167200ccfefd1674b60e957186dfd9baf58b324562ad1a28e5d0a6b3bea77905"}, - {file = "matplotlib-3.7.5-cp38-cp38-manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:53e64522934df6e1818b25fd48cf3b645b11740d78e6ef765fbb5fa5ce080d02"}, - {file = "matplotlib-3.7.5-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d3e3bc79b2d7d615067bd010caff9243ead1fc95cf735c16e4b2583173f717eb"}, - {file = "matplotlib-3.7.5-cp38-cp38-win32.whl", hash = "sha256:6b641b48c6819726ed47c55835cdd330e53747d4efff574109fd79b2d8a13748"}, - {file = "matplotlib-3.7.5-cp38-cp38-win_amd64.whl", hash = "sha256:f0b60993ed3488b4532ec6b697059897891927cbfc2b8d458a891b60ec03d9d7"}, - {file = "matplotlib-3.7.5-cp39-cp39-macosx_10_12_universal2.whl", hash = "sha256:090964d0afaff9c90e4d8de7836757e72ecfb252fb02884016d809239f715651"}, - {file = "matplotlib-3.7.5-cp39-cp39-macosx_10_12_x86_64.whl", hash = "sha256:9fc6fcfbc55cd719bc0bfa60bde248eb68cf43876d4c22864603bdd23962ba25"}, - {file = "matplotlib-3.7.5-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:5e7cc3078b019bb863752b8b60e8b269423000f1603cb2299608231996bd9d54"}, - {file = "matplotlib-3.7.5-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:1e4e9a868e8163abaaa8259842d85f949a919e1ead17644fb77a60427c90473c"}, - {file = "matplotlib-3.7.5-cp39-cp39-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:fa7ebc995a7d747dacf0a717d0eb3aa0f0c6a0e9ea88b0194d3a3cd241a1500f"}, - {file = "matplotlib-3.7.5-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:3785bfd83b05fc0e0c2ae4c4a90034fe693ef96c679634756c50fe6efcc09856"}, - {file = "matplotlib-3.7.5-cp39-cp39-win32.whl", hash = "sha256:29b058738c104d0ca8806395f1c9089dfe4d4f0f78ea765c6c704469f3fffc81"}, - {file = "matplotlib-3.7.5-cp39-cp39-win_amd64.whl", hash = "sha256:fd4028d570fa4b31b7b165d4a685942ae9cdc669f33741e388c01857d9723eab"}, - {file = "matplotlib-3.7.5-pp38-pypy38_pp73-macosx_10_12_x86_64.whl", hash = "sha256:2a9a3f4d6a7f88a62a6a18c7e6a84aedcaf4faf0708b4ca46d87b19f1b526f88"}, - {file = "matplotlib-3.7.5-pp38-pypy38_pp73-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:b9b3fd853d4a7f008a938df909b96db0b454225f935d3917520305b90680579c"}, - {file = "matplotlib-3.7.5-pp38-pypy38_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f0ad550da9f160737d7890217c5eeed4337d07e83ca1b2ca6535078f354e7675"}, - {file = "matplotlib-3.7.5-pp38-pypy38_pp73-win_amd64.whl", hash = "sha256:20da7924a08306a861b3f2d1da0d1aa9a6678e480cf8eacffe18b565af2813e7"}, - {file = "matplotlib-3.7.5-pp39-pypy39_pp73-macosx_10_12_x86_64.whl", hash = "sha256:b45c9798ea6bb920cb77eb7306409756a7fab9db9b463e462618e0559aecb30e"}, - {file = "matplotlib-3.7.5-pp39-pypy39_pp73-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:a99866267da1e561c7776fe12bf4442174b79aac1a47bd7e627c7e4d077ebd83"}, - {file = "matplotlib-3.7.5-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:2b6aa62adb6c268fc87d80f963aca39c64615c31830b02697743c95590ce3fbb"}, - {file = "matplotlib-3.7.5-pp39-pypy39_pp73-win_amd64.whl", hash = "sha256:e530ab6a0afd082d2e9c17eb1eb064a63c5b09bb607b2b74fa41adbe3e162286"}, - {file = "matplotlib-3.7.5.tar.gz", hash = "sha256:1e5c971558ebc811aa07f54c7b7c677d78aa518ef4c390e14673a09e0860184a"}, -] - -[package.dependencies] -contourpy = ">=1.0.1" -cycler = ">=0.10" -fonttools = ">=4.22.0" -importlib-resources = {version = ">=3.2.0", markers = "python_version < \"3.10\""} -kiwisolver = ">=1.0.1" -numpy = ">=1.20,<2" -packaging = ">=20.0" -pillow = ">=6.2.0" -pyparsing = ">=2.3.1" -python-dateutil = ">=2.7" - [[package]] name = "matplotlib-inline" version = "0.1.7" @@ -2955,34 +2887,14 @@ files = [ {file = "opencv_python-4.8.1.78-cp37-abi3-win_amd64.whl", hash = "sha256:b983197f97cfa6fcb74e1da1802c7497a6f94ed561aba6980f1f33123f904956"}, ] -[package.dependencies] -numpy = {version = ">=1.23.5", markers = "python_version >= \"3.11\""} - -[[package]] -name = "opencv-python" -version = "4.10.0.84" -description = "Wrapper package for OpenCV python bindings." -optional = false -python-versions = ">=3.6" -files = [ - {file = "opencv-python-4.10.0.84.tar.gz", hash = "sha256:72d234e4582e9658ffea8e9cae5b63d488ad06994ef12d81dc303b17472f3526"}, - {file = "opencv_python-4.10.0.84-cp37-abi3-macosx_11_0_arm64.whl", hash = "sha256:fc182f8f4cda51b45f01c64e4cbedfc2f00aff799debebc305d8d0210c43f251"}, - {file = "opencv_python-4.10.0.84-cp37-abi3-macosx_12_0_x86_64.whl", hash = "sha256:71e575744f1d23f79741450254660442785f45a0797212852ee5199ef12eed98"}, - {file = "opencv_python-4.10.0.84-cp37-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:09a332b50488e2dda866a6c5573ee192fe3583239fb26ff2f7f9ceb0bc119ea6"}, - {file = "opencv_python-4.10.0.84-cp37-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:9ace140fc6d647fbe1c692bcb2abce768973491222c067c131d80957c595b71f"}, - {file = "opencv_python-4.10.0.84-cp37-abi3-win32.whl", hash = "sha256:2db02bb7e50b703f0a2d50c50ced72e95c574e1e5a0bb35a8a86d0b35c98c236"}, - {file = "opencv_python-4.10.0.84-cp37-abi3-win_amd64.whl", hash = "sha256:32dbbd94c26f611dc5cc6979e6b7aa1f55a64d6b463cc1dcd3c95505a63e48fe"}, -] - [package.dependencies] numpy = [ {version = ">=1.21.0", markers = "python_version <= \"3.9\" and platform_system == \"Darwin\" and platform_machine == \"arm64\" and python_version >= \"3.8\""}, {version = ">=1.19.3", markers = "platform_system == \"Linux\" and platform_machine == \"aarch64\" and python_version >= \"3.8\" and python_version < \"3.10\" or python_version > \"3.9\" and python_version < \"3.10\" or python_version >= \"3.9\" and platform_system != \"Darwin\" and python_version < \"3.10\" or python_version >= \"3.9\" and platform_machine != \"arm64\" and python_version < \"3.10\""}, {version = ">=1.17.3", markers = "(platform_system != \"Darwin\" and platform_system != \"Linux\") and python_version >= \"3.8\" and python_version < \"3.9\" or platform_system != \"Darwin\" and python_version >= \"3.8\" and python_version < \"3.9\" and platform_machine != \"aarch64\" or platform_machine != \"arm64\" and python_version >= \"3.8\" and python_version < \"3.9\" and platform_system != \"Linux\" or (platform_machine != \"arm64\" and platform_machine != \"aarch64\") and python_version >= \"3.8\" and python_version < \"3.9\""}, + {version = ">=1.23.5", markers = "python_version >= \"3.11\""}, {version = ">=1.21.4", markers = "python_version >= \"3.10\" and platform_system == \"Darwin\" and python_version < \"3.11\""}, {version = ">=1.21.2", markers = "platform_system != \"Darwin\" and python_version >= \"3.10\" and python_version < \"3.11\""}, - {version = ">=1.23.5", markers = "python_version >= \"3.11\" and python_version < \"3.12\""}, - {version = ">=1.26.0", markers = "python_version >= \"3.12\""}, ] [[package]] @@ -3059,8 +2971,8 @@ files = [ [package.dependencies] numpy = [ {version = ">=1.20.3", markers = "python_version < \"3.10\""}, - {version = ">=1.21.0", markers = "python_version >= \"3.10\" and python_version < \"3.11\""}, {version = ">=1.23.2", markers = "python_version >= \"3.11\""}, + {version = ">=1.21.0", markers = "python_version >= \"3.10\" and python_version < \"3.11\""}, ] python-dateutil = ">=2.8.2" pytz = ">=2020.1" @@ -3495,20 +3407,6 @@ files = [ [package.extras] diagrams = ["jinja2", "railroad-diagrams"] -[[package]] -name = "pyparsing" -version = "3.1.4" -description = "pyparsing module - Classes and methods to define and execute parsing grammars" -optional = false -python-versions = ">=3.6.8" -files = [ - {file = "pyparsing-3.1.4-py3-none-any.whl", hash = "sha256:a6a7ee4235a3f944aa1fa2249307708f893fe5717dc603503c6c7969c070fb7c"}, - {file = "pyparsing-3.1.4.tar.gz", hash = "sha256:f86ec8d1a83f11977c9a6ea7598e8c27fc5cddfa5b07ea2241edbbde1d7bc032"}, -] - -[package.extras] -diagrams = ["jinja2", "railroad-diagrams"] - [[package]] name = "pyproject-api" version = "1.8.0" @@ -4689,15 +4587,18 @@ files = [ [[package]] name = "types-tqdm" -version = "4.66.0.20240417" +version = "4.67.0.20241119" description = "Typing stubs for tqdm" optional = false python-versions = ">=3.8" files = [ - {file = "types-tqdm-4.66.0.20240417.tar.gz", hash = "sha256:16dce9ef522ea8d40e4f5b8d84dd8a1166eefc13ceee7a7e158bf0f1a1421a31"}, - {file = "types_tqdm-4.66.0.20240417-py3-none-any.whl", hash = "sha256:248aef1f9986b7b8c2c12b3cb4399fc17dba0a29e7e3f3f9cd704babb879383d"}, + {file = "types-tqdm-4.67.0.20241119.tar.gz", hash = "sha256:1769e0e94d5e6d8fa814965f9cf3d9928376dd15dabcbcb784bb8769081092b4"}, + {file = "types_tqdm-4.67.0.20241119-py3-none-any.whl", hash = "sha256:a18d4eb62db0d35c52707ae13d821b5a57970755273ecb56e133ccc0ac7e7c79"}, ] +[package.dependencies] +types-requests = "*" + [[package]] name = "typing-extensions" version = "4.12.2" From 2ad5b60c6608952717a1fc2227bc49a8dedc8792 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Fri, 22 Nov 2024 22:14:53 +0000 Subject: [PATCH 013/420] :arrow_up: Bump tornado from 6.4.1 to 6.4.2 in the pip group Bumps the pip group with 1 update: [tornado](https://github.com/tornadoweb/tornado). Updates `tornado` from 6.4.1 to 6.4.2 - [Changelog](https://github.com/tornadoweb/tornado/blob/v6.4.2/docs/releases.rst) - [Commits](https://github.com/tornadoweb/tornado/compare/v6.4.1...v6.4.2) --- updated-dependencies: - dependency-name: tornado dependency-type: indirect dependency-group: pip ... Signed-off-by: dependabot[bot] --- poetry.lock | 24 ++++++++++++------------ 1 file changed, 12 insertions(+), 12 deletions(-) diff --git a/poetry.lock b/poetry.lock index 59f807cfc7..57a7362d85 100644 --- a/poetry.lock +++ b/poetry.lock @@ -4410,22 +4410,22 @@ files = [ [[package]] name = "tornado" -version = "6.4.1" +version = "6.4.2" description = "Tornado is a Python web framework and asynchronous networking library, originally developed at FriendFeed." optional = false python-versions = ">=3.8" files = [ - {file = "tornado-6.4.1-cp38-abi3-macosx_10_9_universal2.whl", hash = "sha256:163b0aafc8e23d8cdc3c9dfb24c5368af84a81e3364745ccb4427669bf84aec8"}, - {file = "tornado-6.4.1-cp38-abi3-macosx_10_9_x86_64.whl", hash = "sha256:6d5ce3437e18a2b66fbadb183c1d3364fb03f2be71299e7d10dbeeb69f4b2a14"}, - {file = "tornado-6.4.1-cp38-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:e2e20b9113cd7293f164dc46fffb13535266e713cdb87bd2d15ddb336e96cfc4"}, - {file = "tornado-6.4.1-cp38-abi3-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:8ae50a504a740365267b2a8d1a90c9fbc86b780a39170feca9bcc1787ff80842"}, - {file = "tornado-6.4.1-cp38-abi3-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:613bf4ddf5c7a95509218b149b555621497a6cc0d46ac341b30bd9ec19eac7f3"}, - {file = "tornado-6.4.1-cp38-abi3-musllinux_1_2_aarch64.whl", hash = "sha256:25486eb223babe3eed4b8aecbac33b37e3dd6d776bc730ca14e1bf93888b979f"}, - {file = "tornado-6.4.1-cp38-abi3-musllinux_1_2_i686.whl", hash = "sha256:454db8a7ecfcf2ff6042dde58404164d969b6f5d58b926da15e6b23817950fc4"}, - {file = "tornado-6.4.1-cp38-abi3-musllinux_1_2_x86_64.whl", hash = "sha256:a02a08cc7a9314b006f653ce40483b9b3c12cda222d6a46d4ac63bb6c9057698"}, - {file = "tornado-6.4.1-cp38-abi3-win32.whl", hash = "sha256:d9a566c40b89757c9aa8e6f032bcdb8ca8795d7c1a9762910c722b1635c9de4d"}, - {file = "tornado-6.4.1-cp38-abi3-win_amd64.whl", hash = "sha256:b24b8982ed444378d7f21d563f4180a2de31ced9d8d84443907a0a64da2072e7"}, - {file = "tornado-6.4.1.tar.gz", hash = "sha256:92d3ab53183d8c50f8204a51e6f91d18a15d5ef261e84d452800d4ff6fc504e9"}, + {file = "tornado-6.4.2-cp38-abi3-macosx_10_9_universal2.whl", hash = "sha256:e828cce1123e9e44ae2a50a9de3055497ab1d0aeb440c5ac23064d9e44880da1"}, + {file = "tornado-6.4.2-cp38-abi3-macosx_10_9_x86_64.whl", hash = "sha256:072ce12ada169c5b00b7d92a99ba089447ccc993ea2143c9ede887e0937aa803"}, + {file = "tornado-6.4.2-cp38-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:1a017d239bd1bb0919f72af256a970624241f070496635784d9bf0db640d3fec"}, + {file = "tornado-6.4.2-cp38-abi3-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:c36e62ce8f63409301537222faffcef7dfc5284f27eec227389f2ad11b09d946"}, + {file = "tornado-6.4.2-cp38-abi3-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:bca9eb02196e789c9cb5c3c7c0f04fb447dc2adffd95265b2c7223a8a615ccbf"}, + {file = "tornado-6.4.2-cp38-abi3-musllinux_1_2_aarch64.whl", hash = "sha256:304463bd0772442ff4d0f5149c6f1c2135a1fae045adf070821c6cdc76980634"}, + {file = "tornado-6.4.2-cp38-abi3-musllinux_1_2_i686.whl", hash = "sha256:c82c46813ba483a385ab2a99caeaedf92585a1f90defb5693351fa7e4ea0bf73"}, + {file = "tornado-6.4.2-cp38-abi3-musllinux_1_2_x86_64.whl", hash = "sha256:932d195ca9015956fa502c6b56af9eb06106140d844a335590c1ec7f5277d10c"}, + {file = "tornado-6.4.2-cp38-abi3-win32.whl", hash = "sha256:2876cef82e6c5978fde1e0d5b1f919d756968d5b4282418f3146b79b58556482"}, + {file = "tornado-6.4.2-cp38-abi3-win_amd64.whl", hash = "sha256:908b71bf3ff37d81073356a5fadcc660eb10c1476ee6e2725588626ce7e5ca38"}, + {file = "tornado-6.4.2.tar.gz", hash = "sha256:92bad5b4746e9879fd7bf1eb21dce4e3fc5128d71601f80005afa39237ad620b"}, ] [[package]] From e54ce38458ef1e9dd150715530ec4d14eb780d8c Mon Sep 17 00:00:00 2001 From: Onuralp SEZER Date: Sun, 24 Nov 2024 23:52:22 +0300 Subject: [PATCH 014/420] =?UTF-8?q?fix:=20=F0=9F=90=9E=20add=20missing=20e?= =?UTF-8?q?xports=20to=20=5F=5Fall=5F=5F=20in=20supervision=20module?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Onuralp SEZER --- supervision/__init__.py | 105 ++++++++++++++++++++++++++++++++++++++++ 1 file changed, 105 insertions(+) diff --git a/supervision/__init__.py b/supervision/__init__.py index 746b2f67dc..e2ed4bb75c 100644 --- a/supervision/__init__.py +++ b/supervision/__init__.py @@ -118,3 +118,108 @@ get_video_frames_generator, process_video, ) + +__all__ = [ + "LMM", + "BackgroundOverlayAnnotator", + "BaseDataset", + "BlurAnnotator", + "BoundingBoxAnnotator", + "BoxAnnotator", + "BoxCornerAnnotator", + "ByteTrack", + "CSVSink", + "CircleAnnotator", + "ClassificationDataset", + "Classifications", + "Color", + "ColorAnnotator", + "ColorLookup", + "ColorPalette", + "ConfusionMatrix", + "CropAnnotator", + "DetectionDataset", + "Detections", + "DetectionsSmoother", + "DotAnnotator", + "EdgeAnnotator", + "EllipseAnnotator", + "FPSMonitor", + "HaloAnnotator", + "HeatMapAnnotator", + "IconAnnotator", + "ImageSink", + "InferenceSlicer", + "JSONSink", + "KeyPoints", + "LabelAnnotator", + "LineZone", + "LineZoneAnnotator", + "LineZoneAnnotatorMulticlass", + "MaskAnnotator", + "MeanAveragePrecision", + "OrientedBoxAnnotator", + "OverlapFilter", + "PercentageBarAnnotator", + "PixelateAnnotator", + "Point", + "PolygonAnnotator", + "PolygonZone", + "PolygonZoneAnnotator", + "Position", + "Rect", + "RichLabelAnnotator", + "RoundBoxAnnotator", + "TraceAnnotator", + "TriangleAnnotator", + "VertexAnnotator", + "VertexLabelAnnotator", + "VideoInfo", + "VideoSink", + "box_iou_batch", + "box_non_max_merge", + "box_non_max_suppression", + "calculate_masks_centroids", + "calculate_optimal_line_thickness", + "calculate_optimal_text_scale", + "clip_boxes", + "contains_holes", + "contains_multiple_segments", + "create_tiles", + "crop_image", + "cv2_to_pillow", + "draw_filled_polygon", + "draw_filled_rectangle", + "draw_image", + "draw_line", + "draw_polygon", + "draw_rectangle", + "draw_text", + "filter_polygons_by_area", + "get_polygon_center", + "get_video_frames_generator", + "letterbox_image", + "list_files_with_extensions", + "mask_iou_batch", + "mask_non_max_suppression", + "mask_to_polygons", + "mask_to_rle", + "mask_to_xyxy", + "move_boxes", + "move_masks", + "oriented_box_iou_batch", + "overlay_image", + "pad_boxes", + "pillow_to_cv2", + "plot_image", + "plot_images_grid", + "polygon_to_mask", + "polygon_to_xyxy", + "process_video", + "resize_image", + "rle_to_mask", + "scale_boxes", + "scale_image", + "xcycwh_to_xyxy", + "xywh_to_xyxy", +] From 69017093e13077ad1ec922c0ac3510ec6444c9fd Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 25 Nov 2024 00:23:09 +0000 Subject: [PATCH 015/420] :arrow_up: Bump ruff from 0.7.4 to 0.8.0 Bumps [ruff](https://github.com/astral-sh/ruff) from 0.7.4 to 0.8.0. - [Release notes](https://github.com/astral-sh/ruff/releases) - [Changelog](https://github.com/astral-sh/ruff/blob/main/CHANGELOG.md) - [Commits](https://github.com/astral-sh/ruff/compare/0.7.4...0.8.0) --- updated-dependencies: - dependency-name: ruff dependency-type: direct:development update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] --- poetry.lock | 38 +++++++++++++++++++------------------- 1 file changed, 19 insertions(+), 19 deletions(-) diff --git a/poetry.lock b/poetry.lock index 57a7362d85..5cf50ecd56 100644 --- a/poetry.lock +++ b/poetry.lock @@ -4089,29 +4089,29 @@ files = [ [[package]] name = "ruff" -version = "0.7.4" +version = "0.8.0" description = "An extremely fast Python linter and code formatter, written in Rust." optional = false python-versions = ">=3.7" files = [ - {file = "ruff-0.7.4-py3-none-linux_armv6l.whl", hash = "sha256:a4919925e7684a3f18e18243cd6bea7cfb8e968a6eaa8437971f681b7ec51478"}, - {file = "ruff-0.7.4-py3-none-macosx_10_12_x86_64.whl", hash = "sha256:cfb365c135b830778dda8c04fb7d4280ed0b984e1aec27f574445231e20d6c63"}, - {file = "ruff-0.7.4-py3-none-macosx_11_0_arm64.whl", hash = "sha256:63a569b36bc66fbadec5beaa539dd81e0527cb258b94e29e0531ce41bacc1f20"}, - {file = "ruff-0.7.4-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:0d06218747d361d06fd2fdac734e7fa92df36df93035db3dc2ad7aa9852cb109"}, - {file = "ruff-0.7.4-py3-none-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:e0cea28d0944f74ebc33e9f934238f15c758841f9f5edd180b5315c203293452"}, - {file = "ruff-0.7.4-py3-none-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:80094ecd4793c68b2571b128f91754d60f692d64bc0d7272ec9197fdd09bf9ea"}, - {file = "ruff-0.7.4-py3-none-manylinux_2_17_ppc64.manylinux2014_ppc64.whl", hash = "sha256:997512325c6620d1c4c2b15db49ef59543ef9cd0f4aa8065ec2ae5103cedc7e7"}, - {file = "ruff-0.7.4-py3-none-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:00b4cf3a6b5fad6d1a66e7574d78956bbd09abfd6c8a997798f01f5da3d46a05"}, - {file = "ruff-0.7.4-py3-none-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:7dbdc7d8274e1422722933d1edddfdc65b4336abf0b16dfcb9dedd6e6a517d06"}, - {file = "ruff-0.7.4-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:0e92dfb5f00eaedb1501b2f906ccabfd67b2355bdf117fea9719fc99ac2145bc"}, - {file = "ruff-0.7.4-py3-none-musllinux_1_2_aarch64.whl", hash = "sha256:3bd726099f277d735dc38900b6a8d6cf070f80828877941983a57bca1cd92172"}, - {file = "ruff-0.7.4-py3-none-musllinux_1_2_armv7l.whl", hash = "sha256:2e32829c429dd081ee5ba39aef436603e5b22335c3d3fff013cd585806a6486a"}, - {file = "ruff-0.7.4-py3-none-musllinux_1_2_i686.whl", hash = "sha256:662a63b4971807623f6f90c1fb664613f67cc182dc4d991471c23c541fee62dd"}, - {file = "ruff-0.7.4-py3-none-musllinux_1_2_x86_64.whl", hash = "sha256:876f5e09eaae3eb76814c1d3b68879891d6fde4824c015d48e7a7da4cf066a3a"}, - {file = "ruff-0.7.4-py3-none-win32.whl", hash = "sha256:75c53f54904be42dd52a548728a5b572344b50d9b2873d13a3f8c5e3b91f5cac"}, - {file = "ruff-0.7.4-py3-none-win_amd64.whl", hash = "sha256:745775c7b39f914238ed1f1b0bebed0b9155a17cd8bc0b08d3c87e4703b990d6"}, - {file = "ruff-0.7.4-py3-none-win_arm64.whl", hash = "sha256:11bff065102c3ae9d3ea4dc9ecdfe5a5171349cdd0787c1fc64761212fc9cf1f"}, - {file = "ruff-0.7.4.tar.gz", hash = "sha256:cd12e35031f5af6b9b93715d8c4f40360070b2041f81273d0527683d5708fce2"}, + {file = "ruff-0.8.0-py3-none-linux_armv6l.whl", hash = "sha256:fcb1bf2cc6706adae9d79c8d86478677e3bbd4ced796ccad106fd4776d395fea"}, + {file = "ruff-0.8.0-py3-none-macosx_10_12_x86_64.whl", hash = "sha256:295bb4c02d58ff2ef4378a1870c20af30723013f441c9d1637a008baaf928c8b"}, + {file = "ruff-0.8.0-py3-none-macosx_11_0_arm64.whl", hash = "sha256:7b1f1c76b47c18fa92ee78b60d2d20d7e866c55ee603e7d19c1e991fad933a9a"}, + {file = "ruff-0.8.0-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:eb0d4f250a7711b67ad513fde67e8870109e5ce590a801c3722580fe98c33a99"}, + {file = "ruff-0.8.0-py3-none-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:0e55cce9aa93c5d0d4e3937e47b169035c7e91c8655b0974e61bb79cf398d49c"}, + {file = "ruff-0.8.0-py3-none-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:3f4cd64916d8e732ce6b87f3f5296a8942d285bbbc161acee7fe561134af64f9"}, + {file = "ruff-0.8.0-py3-none-manylinux_2_17_ppc64.manylinux2014_ppc64.whl", hash = "sha256:c5c1466be2a2ebdf7c5450dd5d980cc87c8ba6976fb82582fea18823da6fa362"}, + {file = "ruff-0.8.0-py3-none-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:2dabfd05b96b7b8f2da00d53c514eea842bff83e41e1cceb08ae1966254a51df"}, + {file = "ruff-0.8.0-py3-none-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:facebdfe5a5af6b1588a1d26d170635ead6892d0e314477e80256ef4a8470cf3"}, + {file = "ruff-0.8.0-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:87a8e86bae0dbd749c815211ca11e3a7bd559b9710746c559ed63106d382bd9c"}, + {file = "ruff-0.8.0-py3-none-musllinux_1_2_aarch64.whl", hash = "sha256:85e654f0ded7befe2d61eeaf3d3b1e4ef3894469cd664ffa85006c7720f1e4a2"}, + {file = "ruff-0.8.0-py3-none-musllinux_1_2_armv7l.whl", hash = "sha256:83a55679c4cb449fa527b8497cadf54f076603cc36779b2170b24f704171ce70"}, + {file = "ruff-0.8.0-py3-none-musllinux_1_2_i686.whl", hash = "sha256:812e2052121634cf13cd6fddf0c1871d0ead1aad40a1a258753c04c18bb71bbd"}, + {file = "ruff-0.8.0-py3-none-musllinux_1_2_x86_64.whl", hash = "sha256:780d5d8523c04202184405e60c98d7595bdb498c3c6abba3b6d4cdf2ca2af426"}, + {file = "ruff-0.8.0-py3-none-win32.whl", hash = "sha256:5fdb6efecc3eb60bba5819679466471fd7d13c53487df7248d6e27146e985468"}, + {file = "ruff-0.8.0-py3-none-win_amd64.whl", hash = "sha256:582891c57b96228d146725975fbb942e1f30a0c4ba19722e692ca3eb25cc9b4f"}, + {file = "ruff-0.8.0-py3-none-win_arm64.whl", hash = "sha256:ba93e6294e9a737cd726b74b09a6972e36bb511f9a102f1d9a7e1ce94dd206a6"}, + {file = "ruff-0.8.0.tar.gz", hash = "sha256:a7ccfe6331bf8c8dad715753e157457faf7351c2b69f62f32c165c2dbcbacd44"}, ] [[package]] From 17e35e2bcf9fad9cedaf5fe43fefbe0233bb7fbe Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 25 Nov 2024 00:24:18 +0000 Subject: [PATCH 016/420] :arrow_up: Bump wheel from 0.45.0 to 0.45.1 Bumps [wheel](https://github.com/pypa/wheel) from 0.45.0 to 0.45.1. - [Release notes](https://github.com/pypa/wheel/releases) - [Changelog](https://github.com/pypa/wheel/blob/main/docs/news.rst) - [Commits](https://github.com/pypa/wheel/compare/0.45.0...0.45.1) --- updated-dependencies: - dependency-name: wheel dependency-type: direct:development update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] --- poetry.lock | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/poetry.lock b/poetry.lock index 57a7362d85..9d7c0c143c 100644 --- a/poetry.lock +++ b/poetry.lock @@ -4788,13 +4788,13 @@ test = ["websockets"] [[package]] name = "wheel" -version = "0.45.0" +version = "0.45.1" description = "A built-package format for Python" optional = false python-versions = ">=3.8" files = [ - {file = "wheel-0.45.0-py3-none-any.whl", hash = "sha256:52f0baa5e6522155090a09c6bd95718cc46956d1b51d537ea5454249edb671c7"}, - {file = "wheel-0.45.0.tar.gz", hash = "sha256:a57353941a3183b3d5365346b567a260a0602a0f8a635926a7dede41b94c674a"}, + {file = "wheel-0.45.1-py3-none-any.whl", hash = "sha256:708e7481cc80179af0e556bbf0cc00b8444c7321e2700b8d8580231d13017248"}, + {file = "wheel-0.45.1.tar.gz", hash = "sha256:661e1abd9198507b1409a20c02106d9670b2576e916d58f520316666abca6729"}, ] [package.extras] From 7c57a1b8def9a794b513667941b9aef1f998a6f1 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 25 Nov 2024 00:26:16 +0000 Subject: [PATCH 017/420] :arrow_up: Bump tqdm from 4.67.0 to 4.67.1 Bumps [tqdm](https://github.com/tqdm/tqdm) from 4.67.0 to 4.67.1. - [Release notes](https://github.com/tqdm/tqdm/releases) - [Commits](https://github.com/tqdm/tqdm/compare/v4.67.0...v4.67.1) --- updated-dependencies: - dependency-name: tqdm dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] --- poetry.lock | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/poetry.lock b/poetry.lock index 57a7362d85..23541153ef 100644 --- a/poetry.lock +++ b/poetry.lock @@ -4457,20 +4457,20 @@ test = ["devpi-process (>=1.0.2)", "pytest (>=8.3.3)", "pytest-mock (>=3.14)"] [[package]] name = "tqdm" -version = "4.67.0" +version = "4.67.1" description = "Fast, Extensible Progress Meter" optional = false python-versions = ">=3.7" files = [ - {file = "tqdm-4.67.0-py3-none-any.whl", hash = "sha256:0cd8af9d56911acab92182e88d763100d4788bdf421d251616040cc4d44863be"}, - {file = "tqdm-4.67.0.tar.gz", hash = "sha256:fe5a6f95e6fe0b9755e9469b77b9c3cf850048224ecaa8293d7d2d31f97d869a"}, + {file = "tqdm-4.67.1-py3-none-any.whl", hash = "sha256:26445eca388f82e72884e0d580d5464cd801a3ea01e63e5601bdff9ba6a48de2"}, + {file = "tqdm-4.67.1.tar.gz", hash = "sha256:f8aef9c52c08c13a65f30ea34f4e5aac3fd1a34959879d7e59e63027286627f2"}, ] [package.dependencies] colorama = {version = "*", markers = "platform_system == \"Windows\""} [package.extras] -dev = ["pytest (>=6)", "pytest-cov", "pytest-timeout", "pytest-xdist"] +dev = ["nbval", "pytest (>=6)", "pytest-asyncio (>=0.24)", "pytest-cov", "pytest-timeout"] discord = ["requests"] notebook = ["ipywidgets (>=6)"] slack = ["slack-sdk"] From 4bfee1096e07d1760cb53a2c4c40da8d2ebf4542 Mon Sep 17 00:00:00 2001 From: LinasKo Date: Mon, 25 Nov 2024 13:11:54 +0200 Subject: [PATCH 018/420] docs: removed `git checkout develop` Develop is the primary branch, so explicit checkout is not needed --- CONTRIBUTING.md | 1 - 1 file changed, 1 deletion(-) diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 9a02f052ed..57a66af836 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -146,7 +146,6 @@ Before starting your work on the project, set up your development environment: ```bash git clone https://github.com/YOUR_USERNAME/supervision.git cd supervision - git checkout develop ``` 2. Create and activate a virtual environment: From 684522a7e8c651deb7ca70f0b4fd36bae8b44e60 Mon Sep 17 00:00:00 2001 From: "pre-commit-ci[bot]" <66853113+pre-commit-ci[bot]@users.noreply.github.com> Date: Mon, 25 Nov 2024 17:51:21 +0000 Subject: [PATCH 019/420] =?UTF-8?q?chore(pre=5Fcommit):=20=E2=AC=86=20pre?= =?UTF-8?q?=5Fcommit=20autoupdate?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit updates: - [github.com/astral-sh/ruff-pre-commit: v0.7.4 → v0.8.0](https://github.com/astral-sh/ruff-pre-commit/compare/v0.7.4...v0.8.0) --- .pre-commit-config.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index f550e084eb..72fc1a1f0e 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -32,7 +32,7 @@ repos: additional_dependencies: ["bandit[toml]"] - repo: https://github.com/astral-sh/ruff-pre-commit - rev: v0.7.4 + rev: v0.8.0 hooks: - id: ruff args: [--fix, --exit-non-zero-on-fix] From 7626c32a5620af4eb640d994aed246943b2eb731 Mon Sep 17 00:00:00 2001 From: Onuralp SEZER Date: Mon, 25 Nov 2024 23:31:21 +0300 Subject: [PATCH 020/420] =?UTF-8?q?fix:=20=F0=9F=90=9B=20=20add=20missing?= =?UTF-8?q?=20exports=20to=20=5F=5Fall=5F=5F=20in=20supervision=20modules?= =?UTF-8?q?=20for=20assets=20and=20metrics?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Onuralp SEZER --- supervision/assets/__init__.py | 2 ++ supervision/metrics/__init__.py | 19 +++++++++++++++++++ 2 files changed, 21 insertions(+) diff --git a/supervision/assets/__init__.py b/supervision/assets/__init__.py index 3b76c5abab..9af46dd9ce 100644 --- a/supervision/assets/__init__.py +++ b/supervision/assets/__init__.py @@ -1,2 +1,4 @@ from supervision.assets.downloader import download_assets from supervision.assets.list import VideoAssets + +__all__ = ["download_assets", "VideoAssets"] diff --git a/supervision/metrics/__init__.py b/supervision/metrics/__init__.py index 12b243ce67..521030e9f5 100644 --- a/supervision/metrics/__init__.py +++ b/supervision/metrics/__init__.py @@ -19,3 +19,22 @@ get_detection_size_category, get_object_size_category, ) + +__all__ = [ + "AveragingMethod", + "Metric", + "MetricTarget", + "F1Score", + "F1ScoreResult", + "MeanAveragePrecision", + "MeanAveragePrecisionResult", + "MeanAverageRecall", + "MeanAverageRecallResult", + "Precision", + "PrecisionResult", + "Recall", + "RecallResult", + "ObjectSizeCategory", + "get_detection_size_category", + "get_object_size_category", +] From b7e02add3086b126fc70ebfd006b3bf110acb5f2 Mon Sep 17 00:00:00 2001 From: "pre-commit-ci[bot]" <66853113+pre-commit-ci[bot]@users.noreply.github.com> Date: Mon, 25 Nov 2024 20:31:44 +0000 Subject: [PATCH 021/420] =?UTF-8?q?fix(pre=5Fcommit):=20=F0=9F=8E=A8=20aut?= =?UTF-8?q?o=20format=20pre-commit=20hooks?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- supervision/assets/__init__.py | 2 +- supervision/metrics/__init__.py | 6 +++--- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/supervision/assets/__init__.py b/supervision/assets/__init__.py index 9af46dd9ce..4c48bab647 100644 --- a/supervision/assets/__init__.py +++ b/supervision/assets/__init__.py @@ -1,4 +1,4 @@ from supervision.assets.downloader import download_assets from supervision.assets.list import VideoAssets -__all__ = ["download_assets", "VideoAssets"] +__all__ = ["VideoAssets", "download_assets"] diff --git a/supervision/metrics/__init__.py b/supervision/metrics/__init__.py index 521030e9f5..e1cba4c188 100644 --- a/supervision/metrics/__init__.py +++ b/supervision/metrics/__init__.py @@ -22,19 +22,19 @@ __all__ = [ "AveragingMethod", - "Metric", - "MetricTarget", "F1Score", "F1ScoreResult", "MeanAveragePrecision", "MeanAveragePrecisionResult", "MeanAverageRecall", "MeanAverageRecallResult", + "Metric", + "MetricTarget", + "ObjectSizeCategory", "Precision", "PrecisionResult", "Recall", "RecallResult", - "ObjectSizeCategory", "get_detection_size_category", "get_object_size_category", ] From a90b8717eee77c9830f0040ef90b0029a1d851ea Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 26 Nov 2024 00:58:45 +0000 Subject: [PATCH 022/420] :arrow_up: Bump mkdocs-material from 9.5.45 to 9.5.46 Bumps [mkdocs-material](https://github.com/squidfunk/mkdocs-material) from 9.5.45 to 9.5.46. - [Release notes](https://github.com/squidfunk/mkdocs-material/releases) - [Changelog](https://github.com/squidfunk/mkdocs-material/blob/master/CHANGELOG) - [Commits](https://github.com/squidfunk/mkdocs-material/compare/9.5.45...9.5.46) --- updated-dependencies: - dependency-name: mkdocs-material dependency-type: direct:development update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] --- poetry.lock | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/poetry.lock b/poetry.lock index 7981210e27..7a9065e9da 100644 --- a/poetry.lock +++ b/poetry.lock @@ -2406,13 +2406,13 @@ pygments = ">2.12.0" [[package]] name = "mkdocs-material" -version = "9.5.45" +version = "9.5.46" description = "Documentation that simply works" optional = false python-versions = ">=3.8" files = [ - {file = "mkdocs_material-9.5.45-py3-none-any.whl", hash = "sha256:a9be237cfd0be14be75f40f1726d83aa3a81ce44808dc3594d47a7a592f44547"}, - {file = "mkdocs_material-9.5.45.tar.gz", hash = "sha256:286489cf0beca4a129d91d59d6417419c63bceed1ce5cd0ec1fc7e1ebffb8189"}, + {file = "mkdocs_material-9.5.46-py3-none-any.whl", hash = "sha256:98f0a2039c62e551a68aad0791a8d41324ff90c03a6e6cea381a384b84908b83"}, + {file = "mkdocs_material-9.5.46.tar.gz", hash = "sha256:ae2043f4238e572f9a40e0b577f50400d6fc31e2fef8ea141800aebf3bd273d7"}, ] [package.dependencies] From b3d12ed652f6b27535d36f42614fbfff0939e7ed Mon Sep 17 00:00:00 2001 From: Erol444 Date: Tue, 26 Nov 2024 17:31:28 +0700 Subject: [PATCH 023/420] Update core.py Specified that mask is in bool datatype. Used int8 (gpt generated code) and was debugging this issue for 3 hours until I looked into source code of mask annotator --- supervision/detection/core.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/supervision/detection/core.py b/supervision/detection/core.py index 32753a30ac..74c663a897 100644 --- a/supervision/detection/core.py +++ b/supervision/detection/core.py @@ -117,7 +117,7 @@ class simplifies data manipulation and filtering, providing a uniform API for xyxy (np.ndarray): An array of shape `(n, 4)` containing the bounding boxes coordinates in format `[x1, y1, x2, y2]` mask: (Optional[np.ndarray]): An array of shape - `(n, H, W)` containing the segmentation masks. + `(n, H, W)` containing the segmentation masks (`bool` data type). confidence (Optional[np.ndarray]): An array of shape `(n,)` containing the confidence scores of the detections. class_id (Optional[np.ndarray]): An array of shape From ae9628e53720236bce1df044732fb12f99044404 Mon Sep 17 00:00:00 2001 From: Onuralp SEZER Date: Thu, 28 Nov 2024 02:11:02 +0300 Subject: [PATCH 024/420] =?UTF-8?q?fix:=20=F0=9F=90=9E=20add=20poetry=20lo?= =?UTF-8?q?ck=20file=20re-generated=20via=20poetry=201.8.4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Onuralp SEZER --- poetry.lock | 228 +++++++++++++++++++++++++++++++++++++++++----------- 1 file changed, 180 insertions(+), 48 deletions(-) diff --git a/poetry.lock b/poetry.lock index 7981210e27..a3c4d17226 100644 --- a/poetry.lock +++ b/poetry.lock @@ -1,4 +1,4 @@ -# This file is automatically @generated by Poetry 1.8.3 and should not be changed by hand. +# This file is automatically @generated by Poetry 1.8.4 and should not be changed by hand. [[package]] name = "anyio" @@ -893,37 +893,37 @@ tests = ["pytest", "pytest-cov", "pytest-xdist"] [[package]] name = "debugpy" -version = "1.8.8" +version = "1.8.9" description = "An implementation of the Debug Adapter Protocol for Python" optional = false python-versions = ">=3.8" files = [ - {file = "debugpy-1.8.8-cp310-cp310-macosx_14_0_x86_64.whl", hash = "sha256:e59b1607c51b71545cb3496876544f7186a7a27c00b436a62f285603cc68d1c6"}, - {file = "debugpy-1.8.8-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:a6531d952b565b7cb2fbd1ef5df3d333cf160b44f37547a4e7cf73666aca5d8d"}, - {file = "debugpy-1.8.8-cp310-cp310-win32.whl", hash = "sha256:b01f4a5e5c5fb1d34f4ccba99a20ed01eabc45a4684f4948b5db17a319dfb23f"}, - {file = "debugpy-1.8.8-cp310-cp310-win_amd64.whl", hash = "sha256:535f4fb1c024ddca5913bb0eb17880c8f24ba28aa2c225059db145ee557035e9"}, - {file = "debugpy-1.8.8-cp311-cp311-macosx_14_0_universal2.whl", hash = "sha256:c399023146e40ae373753a58d1be0a98bf6397fadc737b97ad612886b53df318"}, - {file = "debugpy-1.8.8-cp311-cp311-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:09cc7b162586ea2171eea055985da2702b0723f6f907a423c9b2da5996ad67ba"}, - {file = "debugpy-1.8.8-cp311-cp311-win32.whl", hash = "sha256:eea8821d998ebeb02f0625dd0d76839ddde8cbf8152ebbe289dd7acf2cdc6b98"}, - {file = "debugpy-1.8.8-cp311-cp311-win_amd64.whl", hash = "sha256:d4483836da2a533f4b1454dffc9f668096ac0433de855f0c22cdce8c9f7e10c4"}, - {file = "debugpy-1.8.8-cp312-cp312-macosx_14_0_universal2.whl", hash = "sha256:0cc94186340be87b9ac5a707184ec8f36547fb66636d1029ff4f1cc020e53996"}, - {file = "debugpy-1.8.8-cp312-cp312-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:64674e95916e53c2e9540a056e5f489e0ad4872645399d778f7c598eacb7b7f9"}, - {file = "debugpy-1.8.8-cp312-cp312-win32.whl", hash = "sha256:5c6e885dbf12015aed73770f29dec7023cb310d0dc2ba8bfbeb5c8e43f80edc9"}, - {file = "debugpy-1.8.8-cp312-cp312-win_amd64.whl", hash = "sha256:19ffbd84e757a6ca0113574d1bf5a2298b3947320a3e9d7d8dc3377f02d9f864"}, - {file = "debugpy-1.8.8-cp313-cp313-macosx_14_0_universal2.whl", hash = "sha256:705cd123a773d184860ed8dae99becd879dfec361098edbefb5fc0d3683eb804"}, - {file = "debugpy-1.8.8-cp313-cp313-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:890fd16803f50aa9cb1a9b9b25b5ec321656dd6b78157c74283de241993d086f"}, - {file = "debugpy-1.8.8-cp313-cp313-win32.whl", hash = "sha256:90244598214bbe704aa47556ec591d2f9869ff9e042e301a2859c57106649add"}, - {file = "debugpy-1.8.8-cp313-cp313-win_amd64.whl", hash = "sha256:4b93e4832fd4a759a0c465c967214ed0c8a6e8914bced63a28ddb0dd8c5f078b"}, - {file = "debugpy-1.8.8-cp38-cp38-macosx_14_0_x86_64.whl", hash = "sha256:143ef07940aeb8e7316de48f5ed9447644da5203726fca378f3a6952a50a9eae"}, - {file = "debugpy-1.8.8-cp38-cp38-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f95651bdcbfd3b27a408869a53fbefcc2bcae13b694daee5f1365b1b83a00113"}, - {file = "debugpy-1.8.8-cp38-cp38-win32.whl", hash = "sha256:26b461123a030e82602a750fb24d7801776aa81cd78404e54ab60e8b5fecdad5"}, - {file = "debugpy-1.8.8-cp38-cp38-win_amd64.whl", hash = "sha256:f3cbf1833e644a3100eadb6120f25be8a532035e8245584c4f7532937edc652a"}, - {file = "debugpy-1.8.8-cp39-cp39-macosx_14_0_x86_64.whl", hash = "sha256:53709d4ec586b525724819dc6af1a7703502f7e06f34ded7157f7b1f963bb854"}, - {file = "debugpy-1.8.8-cp39-cp39-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:3a9c013077a3a0000e83d97cf9cc9328d2b0bbb31f56b0e99ea3662d29d7a6a2"}, - {file = "debugpy-1.8.8-cp39-cp39-win32.whl", hash = "sha256:ffe94dd5e9a6739a75f0b85316dc185560db3e97afa6b215628d1b6a17561cb2"}, - {file = "debugpy-1.8.8-cp39-cp39-win_amd64.whl", hash = "sha256:5c0e5a38c7f9b481bf31277d2f74d2109292179081f11108e668195ef926c0f9"}, - {file = "debugpy-1.8.8-py2.py3-none-any.whl", hash = "sha256:ec684553aba5b4066d4de510859922419febc710df7bba04fe9e7ef3de15d34f"}, - {file = "debugpy-1.8.8.zip", hash = "sha256:e6355385db85cbd666be703a96ab7351bc9e6c61d694893206f8001e22aee091"}, + {file = "debugpy-1.8.9-cp310-cp310-macosx_14_0_x86_64.whl", hash = "sha256:cfe1e6c6ad7178265f74981edf1154ffce97b69005212fbc90ca22ddfe3d017e"}, + {file = "debugpy-1.8.9-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ada7fb65102a4d2c9ab62e8908e9e9f12aed9d76ef44880367bc9308ebe49a0f"}, + {file = "debugpy-1.8.9-cp310-cp310-win32.whl", hash = "sha256:c36856343cbaa448171cba62a721531e10e7ffb0abff838004701454149bc037"}, + {file = "debugpy-1.8.9-cp310-cp310-win_amd64.whl", hash = "sha256:17c5e0297678442511cf00a745c9709e928ea4ca263d764e90d233208889a19e"}, + {file = "debugpy-1.8.9-cp311-cp311-macosx_14_0_universal2.whl", hash = "sha256:b74a49753e21e33e7cf030883a92fa607bddc4ede1aa4145172debc637780040"}, + {file = "debugpy-1.8.9-cp311-cp311-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:62d22dacdb0e296966d7d74a7141aaab4bec123fa43d1a35ddcb39bf9fd29d70"}, + {file = "debugpy-1.8.9-cp311-cp311-win32.whl", hash = "sha256:8138efff315cd09b8dcd14226a21afda4ca582284bf4215126d87342bba1cc66"}, + {file = "debugpy-1.8.9-cp311-cp311-win_amd64.whl", hash = "sha256:ff54ef77ad9f5c425398efb150239f6fe8e20c53ae2f68367eba7ece1e96226d"}, + {file = "debugpy-1.8.9-cp312-cp312-macosx_14_0_universal2.whl", hash = "sha256:957363d9a7a6612a37458d9a15e72d03a635047f946e5fceee74b50d52a9c8e2"}, + {file = "debugpy-1.8.9-cp312-cp312-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:5e565fc54b680292b418bb809f1386f17081d1346dca9a871bf69a8ac4071afe"}, + {file = "debugpy-1.8.9-cp312-cp312-win32.whl", hash = "sha256:3e59842d6c4569c65ceb3751075ff8d7e6a6ada209ceca6308c9bde932bcef11"}, + {file = "debugpy-1.8.9-cp312-cp312-win_amd64.whl", hash = "sha256:66eeae42f3137eb428ea3a86d4a55f28da9bd5a4a3d369ba95ecc3a92c1bba53"}, + {file = "debugpy-1.8.9-cp313-cp313-macosx_14_0_universal2.whl", hash = "sha256:957ecffff80d47cafa9b6545de9e016ae8c9547c98a538ee96ab5947115fb3dd"}, + {file = "debugpy-1.8.9-cp313-cp313-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:1efbb3ff61487e2c16b3e033bc8595aea578222c08aaf3c4bf0f93fadbd662ee"}, + {file = "debugpy-1.8.9-cp313-cp313-win32.whl", hash = "sha256:7c4d65d03bee875bcb211c76c1d8f10f600c305dbd734beaed4077e902606fee"}, + {file = "debugpy-1.8.9-cp313-cp313-win_amd64.whl", hash = "sha256:e46b420dc1bea64e5bbedd678148be512442bc589b0111bd799367cde051e71a"}, + {file = "debugpy-1.8.9-cp38-cp38-macosx_14_0_x86_64.whl", hash = "sha256:472a3994999fe6c0756945ffa359e9e7e2d690fb55d251639d07208dbc37caea"}, + {file = "debugpy-1.8.9-cp38-cp38-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:365e556a4772d7d0d151d7eb0e77ec4db03bcd95f26b67b15742b88cacff88e9"}, + {file = "debugpy-1.8.9-cp38-cp38-win32.whl", hash = "sha256:54a7e6d3014c408eb37b0b06021366ee985f1539e12fe49ca2ee0d392d9ceca5"}, + {file = "debugpy-1.8.9-cp38-cp38-win_amd64.whl", hash = "sha256:8e99c0b1cc7bf86d83fb95d5ccdc4ad0586d4432d489d1f54e4055bcc795f693"}, + {file = "debugpy-1.8.9-cp39-cp39-macosx_14_0_x86_64.whl", hash = "sha256:7e8b079323a56f719977fde9d8115590cb5e7a1cba2fcee0986ef8817116e7c1"}, + {file = "debugpy-1.8.9-cp39-cp39-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:6953b335b804a41f16a192fa2e7851bdcfd92173cbb2f9f777bb934f49baab65"}, + {file = "debugpy-1.8.9-cp39-cp39-win32.whl", hash = "sha256:7e646e62d4602bb8956db88b1e72fe63172148c1e25c041e03b103a25f36673c"}, + {file = "debugpy-1.8.9-cp39-cp39-win_amd64.whl", hash = "sha256:3d9755e77a2d680ce3d2c5394a444cf42be4a592caaf246dbfbdd100ffcf7ae5"}, + {file = "debugpy-1.8.9-py2.py3-none-any.whl", hash = "sha256:cc37a6c9987ad743d9c3a14fa1b1a14b7e4e6041f9dd0c8abf8895fe7a97b899"}, + {file = "debugpy-1.8.9.zip", hash = "sha256:1339e14c7d980407248f09824d1b25ff5c5616651689f1e0f0e51bdead3ea13e"}, ] [[package]] @@ -1011,13 +1011,13 @@ tests = ["asttokens (>=2.1.0)", "coverage", "coverage-enable-subprocess", "ipyth [[package]] name = "fastjsonschema" -version = "2.20.0" +version = "2.21.0" description = "Fastest Python implementation of JSON schema" optional = false python-versions = "*" files = [ - {file = "fastjsonschema-2.20.0-py3-none-any.whl", hash = "sha256:5875f0b0fa7a0043a91e93a9b8f793bcbbba9691e7fd83dca95c28ba26d21f0a"}, - {file = "fastjsonschema-2.20.0.tar.gz", hash = "sha256:3d48fc5300ee96f5d116f10fe6f28d938e6008f59a6a025c2649475b87f76a23"}, + {file = "fastjsonschema-2.21.0-py3-none-any.whl", hash = "sha256:5b23b8e7c9c6adc0ecb91c03a0768cb48cd154d9159378a69c8318532e0b5cbf"}, + {file = "fastjsonschema-2.21.0.tar.gz", hash = "sha256:a02026bbbedc83729da3bfff215564b71902757f33f60089f1abae193daa4771"}, ] [package.extras] @@ -1546,13 +1546,13 @@ i18n = ["Babel (>=2.7)"] [[package]] name = "json5" -version = "0.9.28" +version = "0.10.0" description = "A Python implementation of the JSON5 data format." optional = false python-versions = ">=3.8.0" files = [ - {file = "json5-0.9.28-py3-none-any.whl", hash = "sha256:29c56f1accdd8bc2e037321237662034a7e07921e2b7223281a5ce2c46f0c4df"}, - {file = "json5-0.9.28.tar.gz", hash = "sha256:1f82f36e615bc5b42f1bbd49dbc94b12563c56408c6ffa06414ea310890e9a6e"}, + {file = "json5-0.10.0-py3-none-any.whl", hash = "sha256:19b23410220a7271e8377f81ba8aacba2fdd56947fbb137ee5977cbe1f5e8dfa"}, + {file = "json5-0.10.0.tar.gz", hash = "sha256:e66941c8f0a02026943c52c2eb34ebeb2a6f819a0be05920a6f5243cd30fd559"}, ] [package.extras] @@ -2192,6 +2192,74 @@ pillow = ">=6.2.0" pyparsing = ">=2.3.1,<3.1" python-dateutil = ">=2.7" +[[package]] +name = "matplotlib" +version = "3.7.5" +description = "Python plotting package" +optional = false +python-versions = ">=3.8" +files = [ + {file = "matplotlib-3.7.5-cp310-cp310-macosx_10_12_universal2.whl", hash = "sha256:4a87b69cb1cb20943010f63feb0b2901c17a3b435f75349fd9865713bfa63925"}, + {file = "matplotlib-3.7.5-cp310-cp310-macosx_10_12_x86_64.whl", hash = "sha256:d3ce45010fefb028359accebb852ca0c21bd77ec0f281952831d235228f15810"}, + {file = "matplotlib-3.7.5-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:fbea1e762b28400393d71be1a02144aa16692a3c4c676ba0178ce83fc2928fdd"}, + {file = "matplotlib-3.7.5-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:ec0e1adc0ad70ba8227e957551e25a9d2995e319c29f94a97575bb90fa1d4469"}, + {file = "matplotlib-3.7.5-cp310-cp310-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:6738c89a635ced486c8a20e20111d33f6398a9cbebce1ced59c211e12cd61455"}, + {file = "matplotlib-3.7.5-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:1210b7919b4ed94b5573870f316bca26de3e3b07ffdb563e79327dc0e6bba515"}, + {file = "matplotlib-3.7.5-cp310-cp310-win32.whl", hash = "sha256:068ebcc59c072781d9dcdb82f0d3f1458271c2de7ca9c78f5bd672141091e9e1"}, + {file = "matplotlib-3.7.5-cp310-cp310-win_amd64.whl", hash = "sha256:f098ffbaab9df1e3ef04e5a5586a1e6b1791380698e84938d8640961c79b1fc0"}, + {file = "matplotlib-3.7.5-cp311-cp311-macosx_10_12_universal2.whl", hash = "sha256:f65342c147572673f02a4abec2d5a23ad9c3898167df9b47c149f32ce61ca078"}, + {file = "matplotlib-3.7.5-cp311-cp311-macosx_10_12_x86_64.whl", hash = "sha256:4ddf7fc0e0dc553891a117aa083039088d8a07686d4c93fb8a810adca68810af"}, + {file = "matplotlib-3.7.5-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:0ccb830fc29442360d91be48527809f23a5dcaee8da5f4d9b2d5b867c1b087b8"}, + {file = "matplotlib-3.7.5-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:efc6bb28178e844d1f408dd4d6341ee8a2e906fc9e0fa3dae497da4e0cab775d"}, + {file = "matplotlib-3.7.5-cp311-cp311-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:3b15c4c2d374f249f324f46e883340d494c01768dd5287f8bc00b65b625ab56c"}, + {file = "matplotlib-3.7.5-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:3d028555421912307845e59e3de328260b26d055c5dac9b182cc9783854e98fb"}, + {file = "matplotlib-3.7.5-cp311-cp311-win32.whl", hash = "sha256:fe184b4625b4052fa88ef350b815559dd90cc6cc8e97b62f966e1ca84074aafa"}, + {file = "matplotlib-3.7.5-cp311-cp311-win_amd64.whl", hash = "sha256:084f1f0f2f1010868c6f1f50b4e1c6f2fb201c58475494f1e5b66fed66093647"}, + {file = "matplotlib-3.7.5-cp312-cp312-macosx_10_12_universal2.whl", hash = "sha256:34bceb9d8ddb142055ff27cd7135f539f2f01be2ce0bafbace4117abe58f8fe4"}, + {file = "matplotlib-3.7.5-cp312-cp312-macosx_10_12_x86_64.whl", hash = "sha256:c5a2134162273eb8cdfd320ae907bf84d171de948e62180fa372a3ca7cf0f433"}, + {file = "matplotlib-3.7.5-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:039ad54683a814002ff37bf7981aa1faa40b91f4ff84149beb53d1eb64617980"}, + {file = "matplotlib-3.7.5-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:4d742ccd1b09e863b4ca58291728db645b51dab343eebb08d5d4b31b308296ce"}, + {file = "matplotlib-3.7.5-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:743b1c488ca6a2bc7f56079d282e44d236bf375968bfd1b7ba701fd4d0fa32d6"}, + {file = "matplotlib-3.7.5-cp312-cp312-win_amd64.whl", hash = "sha256:fbf730fca3e1f23713bc1fae0a57db386e39dc81ea57dc305c67f628c1d7a342"}, + {file = "matplotlib-3.7.5-cp38-cp38-macosx_10_12_universal2.whl", hash = "sha256:cfff9b838531698ee40e40ea1a8a9dc2c01edb400b27d38de6ba44c1f9a8e3d2"}, + {file = "matplotlib-3.7.5-cp38-cp38-macosx_10_12_x86_64.whl", hash = "sha256:1dbcca4508bca7847fe2d64a05b237a3dcaec1f959aedb756d5b1c67b770c5ee"}, + {file = "matplotlib-3.7.5-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:4cdf4ef46c2a1609a50411b66940b31778db1e4b73d4ecc2eaa40bd588979b13"}, + {file = "matplotlib-3.7.5-cp38-cp38-manylinux_2_12_i686.manylinux2010_i686.whl", hash = "sha256:167200ccfefd1674b60e957186dfd9baf58b324562ad1a28e5d0a6b3bea77905"}, + {file = "matplotlib-3.7.5-cp38-cp38-manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:53e64522934df6e1818b25fd48cf3b645b11740d78e6ef765fbb5fa5ce080d02"}, + {file = "matplotlib-3.7.5-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d3e3bc79b2d7d615067bd010caff9243ead1fc95cf735c16e4b2583173f717eb"}, + {file = "matplotlib-3.7.5-cp38-cp38-win32.whl", hash = "sha256:6b641b48c6819726ed47c55835cdd330e53747d4efff574109fd79b2d8a13748"}, + {file = "matplotlib-3.7.5-cp38-cp38-win_amd64.whl", hash = "sha256:f0b60993ed3488b4532ec6b697059897891927cbfc2b8d458a891b60ec03d9d7"}, + {file = "matplotlib-3.7.5-cp39-cp39-macosx_10_12_universal2.whl", hash = "sha256:090964d0afaff9c90e4d8de7836757e72ecfb252fb02884016d809239f715651"}, + {file = "matplotlib-3.7.5-cp39-cp39-macosx_10_12_x86_64.whl", hash = "sha256:9fc6fcfbc55cd719bc0bfa60bde248eb68cf43876d4c22864603bdd23962ba25"}, + {file = "matplotlib-3.7.5-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:5e7cc3078b019bb863752b8b60e8b269423000f1603cb2299608231996bd9d54"}, + {file = "matplotlib-3.7.5-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:1e4e9a868e8163abaaa8259842d85f949a919e1ead17644fb77a60427c90473c"}, + {file = "matplotlib-3.7.5-cp39-cp39-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:fa7ebc995a7d747dacf0a717d0eb3aa0f0c6a0e9ea88b0194d3a3cd241a1500f"}, + {file = "matplotlib-3.7.5-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:3785bfd83b05fc0e0c2ae4c4a90034fe693ef96c679634756c50fe6efcc09856"}, + {file = "matplotlib-3.7.5-cp39-cp39-win32.whl", hash = "sha256:29b058738c104d0ca8806395f1c9089dfe4d4f0f78ea765c6c704469f3fffc81"}, + {file = "matplotlib-3.7.5-cp39-cp39-win_amd64.whl", hash = "sha256:fd4028d570fa4b31b7b165d4a685942ae9cdc669f33741e388c01857d9723eab"}, + {file = "matplotlib-3.7.5-pp38-pypy38_pp73-macosx_10_12_x86_64.whl", hash = "sha256:2a9a3f4d6a7f88a62a6a18c7e6a84aedcaf4faf0708b4ca46d87b19f1b526f88"}, + {file = "matplotlib-3.7.5-pp38-pypy38_pp73-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:b9b3fd853d4a7f008a938df909b96db0b454225f935d3917520305b90680579c"}, + {file = "matplotlib-3.7.5-pp38-pypy38_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f0ad550da9f160737d7890217c5eeed4337d07e83ca1b2ca6535078f354e7675"}, + {file = "matplotlib-3.7.5-pp38-pypy38_pp73-win_amd64.whl", hash = "sha256:20da7924a08306a861b3f2d1da0d1aa9a6678e480cf8eacffe18b565af2813e7"}, + {file = "matplotlib-3.7.5-pp39-pypy39_pp73-macosx_10_12_x86_64.whl", hash = "sha256:b45c9798ea6bb920cb77eb7306409756a7fab9db9b463e462618e0559aecb30e"}, + {file = "matplotlib-3.7.5-pp39-pypy39_pp73-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:a99866267da1e561c7776fe12bf4442174b79aac1a47bd7e627c7e4d077ebd83"}, + {file = "matplotlib-3.7.5-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:2b6aa62adb6c268fc87d80f963aca39c64615c31830b02697743c95590ce3fbb"}, + {file = "matplotlib-3.7.5-pp39-pypy39_pp73-win_amd64.whl", hash = "sha256:e530ab6a0afd082d2e9c17eb1eb064a63c5b09bb607b2b74fa41adbe3e162286"}, + {file = "matplotlib-3.7.5.tar.gz", hash = "sha256:1e5c971558ebc811aa07f54c7b7c677d78aa518ef4c390e14673a09e0860184a"}, +] + +[package.dependencies] +contourpy = ">=1.0.1" +cycler = ">=0.10" +fonttools = ">=4.22.0" +importlib-resources = {version = ">=3.2.0", markers = "python_version < \"3.10\""} +kiwisolver = ">=1.0.1" +numpy = ">=1.20,<2" +packaging = ">=20.0" +pillow = ">=6.2.0" +pyparsing = ">=2.3.1" +python-dateutil = ">=2.7" + [[package]] name = "matplotlib-inline" version = "0.1.7" @@ -2406,13 +2474,13 @@ pygments = ">2.12.0" [[package]] name = "mkdocs-material" -version = "9.5.45" +version = "9.5.46" description = "Documentation that simply works" optional = false python-versions = ">=3.8" files = [ - {file = "mkdocs_material-9.5.45-py3-none-any.whl", hash = "sha256:a9be237cfd0be14be75f40f1726d83aa3a81ce44808dc3594d47a7a592f44547"}, - {file = "mkdocs_material-9.5.45.tar.gz", hash = "sha256:286489cf0beca4a129d91d59d6417419c63bceed1ce5cd0ec1fc7e1ebffb8189"}, + {file = "mkdocs_material-9.5.46-py3-none-any.whl", hash = "sha256:98f0a2039c62e551a68aad0791a8d41324ff90c03a6e6cea381a384b84908b83"}, + {file = "mkdocs_material-9.5.46.tar.gz", hash = "sha256:ae2043f4238e572f9a40e0b577f50400d6fc31e2fef8ea141800aebf3bd273d7"}, ] [package.dependencies] @@ -2887,14 +2955,34 @@ files = [ {file = "opencv_python-4.8.1.78-cp37-abi3-win_amd64.whl", hash = "sha256:b983197f97cfa6fcb74e1da1802c7497a6f94ed561aba6980f1f33123f904956"}, ] +[package.dependencies] +numpy = {version = ">=1.23.5", markers = "python_version >= \"3.11\""} + +[[package]] +name = "opencv-python" +version = "4.10.0.84" +description = "Wrapper package for OpenCV python bindings." +optional = false +python-versions = ">=3.6" +files = [ + {file = "opencv-python-4.10.0.84.tar.gz", hash = "sha256:72d234e4582e9658ffea8e9cae5b63d488ad06994ef12d81dc303b17472f3526"}, + {file = "opencv_python-4.10.0.84-cp37-abi3-macosx_11_0_arm64.whl", hash = "sha256:fc182f8f4cda51b45f01c64e4cbedfc2f00aff799debebc305d8d0210c43f251"}, + {file = "opencv_python-4.10.0.84-cp37-abi3-macosx_12_0_x86_64.whl", hash = "sha256:71e575744f1d23f79741450254660442785f45a0797212852ee5199ef12eed98"}, + {file = "opencv_python-4.10.0.84-cp37-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:09a332b50488e2dda866a6c5573ee192fe3583239fb26ff2f7f9ceb0bc119ea6"}, + {file = "opencv_python-4.10.0.84-cp37-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:9ace140fc6d647fbe1c692bcb2abce768973491222c067c131d80957c595b71f"}, + {file = "opencv_python-4.10.0.84-cp37-abi3-win32.whl", hash = "sha256:2db02bb7e50b703f0a2d50c50ced72e95c574e1e5a0bb35a8a86d0b35c98c236"}, + {file = "opencv_python-4.10.0.84-cp37-abi3-win_amd64.whl", hash = "sha256:32dbbd94c26f611dc5cc6979e6b7aa1f55a64d6b463cc1dcd3c95505a63e48fe"}, +] + [package.dependencies] numpy = [ {version = ">=1.21.0", markers = "python_version <= \"3.9\" and platform_system == \"Darwin\" and platform_machine == \"arm64\" and python_version >= \"3.8\""}, {version = ">=1.19.3", markers = "platform_system == \"Linux\" and platform_machine == \"aarch64\" and python_version >= \"3.8\" and python_version < \"3.10\" or python_version > \"3.9\" and python_version < \"3.10\" or python_version >= \"3.9\" and platform_system != \"Darwin\" and python_version < \"3.10\" or python_version >= \"3.9\" and platform_machine != \"arm64\" and python_version < \"3.10\""}, {version = ">=1.17.3", markers = "(platform_system != \"Darwin\" and platform_system != \"Linux\") and python_version >= \"3.8\" and python_version < \"3.9\" or platform_system != \"Darwin\" and python_version >= \"3.8\" and python_version < \"3.9\" and platform_machine != \"aarch64\" or platform_machine != \"arm64\" and python_version >= \"3.8\" and python_version < \"3.9\" and platform_system != \"Linux\" or (platform_machine != \"arm64\" and platform_machine != \"aarch64\") and python_version >= \"3.8\" and python_version < \"3.9\""}, - {version = ">=1.23.5", markers = "python_version >= \"3.11\""}, {version = ">=1.21.4", markers = "python_version >= \"3.10\" and platform_system == \"Darwin\" and python_version < \"3.11\""}, {version = ">=1.21.2", markers = "platform_system != \"Darwin\" and python_version >= \"3.10\" and python_version < \"3.11\""}, + {version = ">=1.23.5", markers = "python_version >= \"3.11\" and python_version < \"3.12\""}, + {version = ">=1.26.0", markers = "python_version >= \"3.12\""}, ] [[package]] @@ -2971,8 +3059,8 @@ files = [ [package.dependencies] numpy = [ {version = ">=1.20.3", markers = "python_version < \"3.10\""}, - {version = ">=1.23.2", markers = "python_version >= \"3.11\""}, {version = ">=1.21.0", markers = "python_version >= \"3.10\" and python_version < \"3.11\""}, + {version = ">=1.23.2", markers = "python_version >= \"3.11\""}, ] python-dateutil = ">=2.8.2" pytz = ">=2020.1" @@ -3407,6 +3495,20 @@ files = [ [package.extras] diagrams = ["jinja2", "railroad-diagrams"] +[[package]] +name = "pyparsing" +version = "3.1.4" +description = "pyparsing module - Classes and methods to define and execute parsing grammars" +optional = false +python-versions = ">=3.6.8" +files = [ + {file = "pyparsing-3.1.4-py3-none-any.whl", hash = "sha256:a6a7ee4235a3f944aa1fa2249307708f893fe5717dc603503c6c7969c070fb7c"}, + {file = "pyparsing-3.1.4.tar.gz", hash = "sha256:f86ec8d1a83f11977c9a6ea7598e8c27fc5cddfa5b07ea2241edbbde1d7bc032"}, +] + +[package.extras] +diagrams = ["jinja2", "railroad-diagrams"] + [[package]] name = "pyproject-api" version = "1.8.0" @@ -4399,13 +4501,43 @@ test = ["pytest", "ruff"] [[package]] name = "tomli" -version = "2.1.0" +version = "2.2.1" description = "A lil' TOML parser" optional = false python-versions = ">=3.8" files = [ - {file = "tomli-2.1.0-py3-none-any.whl", hash = "sha256:a5c57c3d1c56f5ccdf89f6523458f60ef716e210fc47c4cfb188c5ba473e0391"}, - {file = "tomli-2.1.0.tar.gz", hash = "sha256:3f646cae2aec94e17d04973e4249548320197cfabdf130015d023de4b74d8ab8"}, + {file = "tomli-2.2.1-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:678e4fa69e4575eb77d103de3df8a895e1591b48e740211bd1067378c69e8249"}, + {file = "tomli-2.2.1-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:023aa114dd824ade0100497eb2318602af309e5a55595f76b626d6d9f3b7b0a6"}, + {file = "tomli-2.2.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:ece47d672db52ac607a3d9599a9d48dcb2f2f735c6c2d1f34130085bb12b112a"}, + {file = "tomli-2.2.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:6972ca9c9cc9f0acaa56a8ca1ff51e7af152a9f87fb64623e31d5c83700080ee"}, + {file = "tomli-2.2.1-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:c954d2250168d28797dd4e3ac5cf812a406cd5a92674ee4c8f123c889786aa8e"}, + {file = "tomli-2.2.1-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:8dd28b3e155b80f4d54beb40a441d366adcfe740969820caf156c019fb5c7ec4"}, + {file = "tomli-2.2.1-cp311-cp311-musllinux_1_2_i686.whl", hash = "sha256:e59e304978767a54663af13c07b3d1af22ddee3bb2fb0618ca1593e4f593a106"}, + {file = "tomli-2.2.1-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:33580bccab0338d00994d7f16f4c4ec25b776af3ffaac1ed74e0b3fc95e885a8"}, + {file = "tomli-2.2.1-cp311-cp311-win32.whl", hash = "sha256:465af0e0875402f1d226519c9904f37254b3045fc5084697cefb9bdde1ff99ff"}, + {file = "tomli-2.2.1-cp311-cp311-win_amd64.whl", hash = "sha256:2d0f2fdd22b02c6d81637a3c95f8cd77f995846af7414c5c4b8d0545afa1bc4b"}, + {file = "tomli-2.2.1-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:4a8f6e44de52d5e6c657c9fe83b562f5f4256d8ebbfe4ff922c495620a7f6cea"}, + {file = "tomli-2.2.1-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:8d57ca8095a641b8237d5b079147646153d22552f1c637fd3ba7f4b0b29167a8"}, + {file = "tomli-2.2.1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:4e340144ad7ae1533cb897d406382b4b6fede8890a03738ff1683af800d54192"}, + {file = "tomli-2.2.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:db2b95f9de79181805df90bedc5a5ab4c165e6ec3fe99f970d0e302f384ad222"}, + {file = "tomli-2.2.1-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:40741994320b232529c802f8bc86da4e1aa9f413db394617b9a256ae0f9a7f77"}, + {file = "tomli-2.2.1-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:400e720fe168c0f8521520190686ef8ef033fb19fc493da09779e592861b78c6"}, + {file = "tomli-2.2.1-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:02abe224de6ae62c19f090f68da4e27b10af2b93213d36cf44e6e1c5abd19fdd"}, + {file = "tomli-2.2.1-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:b82ebccc8c8a36f2094e969560a1b836758481f3dc360ce9a3277c65f374285e"}, + {file = "tomli-2.2.1-cp312-cp312-win32.whl", hash = "sha256:889f80ef92701b9dbb224e49ec87c645ce5df3fa2cc548664eb8a25e03127a98"}, + {file = "tomli-2.2.1-cp312-cp312-win_amd64.whl", hash = "sha256:7fc04e92e1d624a4a63c76474610238576942d6b8950a2d7f908a340494e67e4"}, + {file = "tomli-2.2.1-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:f4039b9cbc3048b2416cc57ab3bda989a6fcf9b36cf8937f01a6e731b64f80d7"}, + {file = "tomli-2.2.1-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:286f0ca2ffeeb5b9bd4fcc8d6c330534323ec51b2f52da063b11c502da16f30c"}, + {file = "tomli-2.2.1-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a92ef1a44547e894e2a17d24e7557a5e85a9e1d0048b0b5e7541f76c5032cb13"}, + {file = "tomli-2.2.1-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:9316dc65bed1684c9a98ee68759ceaed29d229e985297003e494aa825ebb0281"}, + {file = "tomli-2.2.1-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:e85e99945e688e32d5a35c1ff38ed0b3f41f43fad8df0bdf79f72b2ba7bc5272"}, + {file = "tomli-2.2.1-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:ac065718db92ca818f8d6141b5f66369833d4a80a9d74435a268c52bdfa73140"}, + {file = "tomli-2.2.1-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:d920f33822747519673ee656a4b6ac33e382eca9d331c87770faa3eef562aeb2"}, + {file = "tomli-2.2.1-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:a198f10c4d1b1375d7687bc25294306e551bf1abfa4eace6650070a5c1ae2744"}, + {file = "tomli-2.2.1-cp313-cp313-win32.whl", hash = "sha256:d3f5614314d758649ab2ab3a62d4f2004c825922f9e370b29416484086b264ec"}, + {file = "tomli-2.2.1-cp313-cp313-win_amd64.whl", hash = "sha256:a38aa0308e754b0e3c67e344754dff64999ff9b513e691d0e786265c93583c69"}, + {file = "tomli-2.2.1-py3-none-any.whl", hash = "sha256:cb55c73c5f4408779d0cf3eef9f762b9c9f147a77de7b258bef0a5628adc85cc"}, + {file = "tomli-2.2.1.tar.gz", hash = "sha256:cd45e1dc79c835ce60f7404ec8119f2eb06d38b1deba146f07ced3bbc44505ff"}, ] [[package]] @@ -4576,13 +4708,13 @@ urllib3 = ">=2" [[package]] name = "types-setuptools" -version = "75.5.0.20241116" +version = "75.6.0.20241126" description = "Typing stubs for setuptools" optional = false python-versions = ">=3.8" files = [ - {file = "types-setuptools-75.5.0.20241116.tar.gz", hash = "sha256:b6939ffdbc50ffdc0bcfbf14f7a6de1ddc5510906c1ca2bd62c23646e5798b1a"}, - {file = "types_setuptools-75.5.0.20241116-py3-none-any.whl", hash = "sha256:1144b2ab8fa986061f963391fdbde16df20582e3cc39c94340e71aa61cc7203f"}, + {file = "types_setuptools-75.6.0.20241126-py3-none-any.whl", hash = "sha256:aaae310a0e27033c1da8457d4d26ac673b0c8a0de7272d6d4708e263f2ea3b9b"}, + {file = "types_setuptools-75.6.0.20241126.tar.gz", hash = "sha256:7bf25ad4be39740e469f9268b6beddda6e088891fa5a27e985c6ce68bf62ace0"}, ] [[package]] @@ -4668,13 +4800,13 @@ test = ["coverage", "flake8 (>=3.7)", "mypy", "pretend", "pytest"] [[package]] name = "virtualenv" -version = "20.27.1" +version = "20.28.0" description = "Virtual Python Environment builder" optional = false python-versions = ">=3.8" files = [ - {file = "virtualenv-20.27.1-py3-none-any.whl", hash = "sha256:f11f1b8a29525562925f745563bfd48b189450f61fb34c4f9cc79dd5aa32a1f4"}, - {file = "virtualenv-20.27.1.tar.gz", hash = "sha256:142c6be10212543b32c6c45d3d3893dff89112cc588b7d0879ae5a1ec03a47ba"}, + {file = "virtualenv-20.28.0-py3-none-any.whl", hash = "sha256:23eae1b4516ecd610481eda647f3a7c09aea295055337331bb4e6892ecce47b0"}, + {file = "virtualenv-20.28.0.tar.gz", hash = "sha256:2c9c3262bb8e7b87ea801d715fae4495e6032450c71d2309be9550e7364049aa"}, ] [package.dependencies] From 5f0f90b699607f138bbc82f4c278a2789c8f3533 Mon Sep 17 00:00:00 2001 From: Onuralp SEZER Date: Thu, 28 Nov 2024 02:27:00 +0300 Subject: [PATCH 025/420] =?UTF-8?q?fix:=20=F0=9F=90=9E=20pandas=203.13=20s?= =?UTF-8?q?upport=20fixed?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Onuralp SEZER --- .github/workflows/poetry-test.yml | 11 +++- poetry.lock | 90 +++++++++++++++++++++++++++++-- pyproject.toml | 6 ++- 3 files changed, 101 insertions(+), 6 deletions(-) diff --git a/.github/workflows/poetry-test.yml b/.github/workflows/poetry-test.yml index 95e2eb7fed..d44c0f2d93 100644 --- a/.github/workflows/poetry-test.yml +++ b/.github/workflows/poetry-test.yml @@ -34,4 +34,13 @@ jobs: run: poetry check - name: 🚀 Do Install the package Test - run: poetry install + run: poetry install --with dev --extras metrics + + - name: 🐚 Start Poetry Shell + run: poetry shell + + - name: 📄 Create a simple script + run: echo "import supervision " > simple_script.py + + - name: 🧪 Run the simple script + run: python simple_script.py diff --git a/poetry.lock b/poetry.lock index a3c4d17226..b594dfe87a 100644 --- a/poetry.lock +++ b/poetry.lock @@ -2979,9 +2979,9 @@ numpy = [ {version = ">=1.21.0", markers = "python_version <= \"3.9\" and platform_system == \"Darwin\" and platform_machine == \"arm64\" and python_version >= \"3.8\""}, {version = ">=1.19.3", markers = "platform_system == \"Linux\" and platform_machine == \"aarch64\" and python_version >= \"3.8\" and python_version < \"3.10\" or python_version > \"3.9\" and python_version < \"3.10\" or python_version >= \"3.9\" and platform_system != \"Darwin\" and python_version < \"3.10\" or python_version >= \"3.9\" and platform_machine != \"arm64\" and python_version < \"3.10\""}, {version = ">=1.17.3", markers = "(platform_system != \"Darwin\" and platform_system != \"Linux\") and python_version >= \"3.8\" and python_version < \"3.9\" or platform_system != \"Darwin\" and python_version >= \"3.8\" and python_version < \"3.9\" and platform_machine != \"aarch64\" or platform_machine != \"arm64\" and python_version >= \"3.8\" and python_version < \"3.9\" and platform_system != \"Linux\" or (platform_machine != \"arm64\" and platform_machine != \"aarch64\") and python_version >= \"3.8\" and python_version < \"3.9\""}, + {version = ">=1.23.5", markers = "python_version >= \"3.11\" and python_version < \"3.12\""}, {version = ">=1.21.4", markers = "python_version >= \"3.10\" and platform_system == \"Darwin\" and python_version < \"3.11\""}, {version = ">=1.21.2", markers = "platform_system != \"Darwin\" and python_version >= \"3.10\" and python_version < \"3.11\""}, - {version = ">=1.23.5", markers = "python_version >= \"3.11\" and python_version < \"3.12\""}, {version = ">=1.26.0", markers = "python_version >= \"3.12\""}, ] @@ -3059,8 +3059,8 @@ files = [ [package.dependencies] numpy = [ {version = ">=1.20.3", markers = "python_version < \"3.10\""}, - {version = ">=1.21.0", markers = "python_version >= \"3.10\" and python_version < \"3.11\""}, {version = ">=1.23.2", markers = "python_version >= \"3.11\""}, + {version = ">=1.21.0", markers = "python_version >= \"3.10\" and python_version < \"3.11\""}, ] python-dateutil = ">=2.8.2" pytz = ">=2020.1" @@ -3089,6 +3089,88 @@ sql-other = ["SQLAlchemy (>=1.4.16)"] test = ["hypothesis (>=6.34.2)", "pytest (>=7.3.2)", "pytest-asyncio (>=0.17.0)", "pytest-xdist (>=2.2.0)"] xml = ["lxml (>=4.6.3)"] +[[package]] +name = "pandas" +version = "2.2.3" +description = "Powerful data structures for data analysis, time series, and statistics" +optional = true +python-versions = ">=3.9" +files = [ + {file = "pandas-2.2.3-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:1948ddde24197a0f7add2bdc4ca83bf2b1ef84a1bc8ccffd95eda17fd836ecb5"}, + {file = "pandas-2.2.3-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:381175499d3802cde0eabbaf6324cce0c4f5d52ca6f8c377c29ad442f50f6348"}, + {file = "pandas-2.2.3-cp310-cp310-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:d9c45366def9a3dd85a6454c0e7908f2b3b8e9c138f5dc38fed7ce720d8453ed"}, + {file = "pandas-2.2.3-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:86976a1c5b25ae3f8ccae3a5306e443569ee3c3faf444dfd0f41cda24667ad57"}, + {file = "pandas-2.2.3-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:b8661b0238a69d7aafe156b7fa86c44b881387509653fdf857bebc5e4008ad42"}, + {file = "pandas-2.2.3-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:37e0aced3e8f539eccf2e099f65cdb9c8aa85109b0be6e93e2baff94264bdc6f"}, + {file = "pandas-2.2.3-cp310-cp310-win_amd64.whl", hash = "sha256:56534ce0746a58afaf7942ba4863e0ef81c9c50d3f0ae93e9497d6a41a057645"}, + {file = "pandas-2.2.3-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:66108071e1b935240e74525006034333f98bcdb87ea116de573a6a0dccb6c039"}, + {file = "pandas-2.2.3-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:7c2875855b0ff77b2a64a0365e24455d9990730d6431b9e0ee18ad8acee13dbd"}, + {file = "pandas-2.2.3-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:cd8d0c3be0515c12fed0bdbae072551c8b54b7192c7b1fda0ba56059a0179698"}, + {file = "pandas-2.2.3-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:c124333816c3a9b03fbeef3a9f230ba9a737e9e5bb4060aa2107a86cc0a497fc"}, + {file = "pandas-2.2.3-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:63cc132e40a2e084cf01adf0775b15ac515ba905d7dcca47e9a251819c575ef3"}, + {file = "pandas-2.2.3-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:29401dbfa9ad77319367d36940cd8a0b3a11aba16063e39632d98b0e931ddf32"}, + {file = "pandas-2.2.3-cp311-cp311-win_amd64.whl", hash = "sha256:3fc6873a41186404dad67245896a6e440baacc92f5b716ccd1bc9ed2995ab2c5"}, + {file = "pandas-2.2.3-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:b1d432e8d08679a40e2a6d8b2f9770a5c21793a6f9f47fdd52c5ce1948a5a8a9"}, + {file = "pandas-2.2.3-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:a5a1595fe639f5988ba6a8e5bc9649af3baf26df3998a0abe56c02609392e0a4"}, + {file = "pandas-2.2.3-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:5de54125a92bb4d1c051c0659e6fcb75256bf799a732a87184e5ea503965bce3"}, + {file = "pandas-2.2.3-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:fffb8ae78d8af97f849404f21411c95062db1496aeb3e56f146f0355c9989319"}, + {file = "pandas-2.2.3-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:6dfcb5ee8d4d50c06a51c2fffa6cff6272098ad6540aed1a76d15fb9318194d8"}, + {file = "pandas-2.2.3-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:062309c1b9ea12a50e8ce661145c6aab431b1e99530d3cd60640e255778bd43a"}, + {file = "pandas-2.2.3-cp312-cp312-win_amd64.whl", hash = "sha256:59ef3764d0fe818125a5097d2ae867ca3fa64df032331b7e0917cf5d7bf66b13"}, + {file = "pandas-2.2.3-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:f00d1345d84d8c86a63e476bb4955e46458b304b9575dcf71102b5c705320015"}, + {file = "pandas-2.2.3-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:3508d914817e153ad359d7e069d752cdd736a247c322d932eb89e6bc84217f28"}, + {file = "pandas-2.2.3-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:22a9d949bfc9a502d320aa04e5d02feab689d61da4e7764b62c30b991c42c5f0"}, + {file = "pandas-2.2.3-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f3a255b2c19987fbbe62a9dfd6cff7ff2aa9ccab3fc75218fd4b7530f01efa24"}, + {file = "pandas-2.2.3-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:800250ecdadb6d9c78eae4990da62743b857b470883fa27f652db8bdde7f6659"}, + {file = "pandas-2.2.3-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:6374c452ff3ec675a8f46fd9ab25c4ad0ba590b71cf0656f8b6daa5202bca3fb"}, + {file = "pandas-2.2.3-cp313-cp313-win_amd64.whl", hash = "sha256:61c5ad4043f791b61dd4752191d9f07f0ae412515d59ba8f005832a532f8736d"}, + {file = "pandas-2.2.3-cp313-cp313t-macosx_10_13_x86_64.whl", hash = "sha256:3b71f27954685ee685317063bf13c7709a7ba74fc996b84fc6821c59b0f06468"}, + {file = "pandas-2.2.3-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:38cf8125c40dae9d5acc10fa66af8ea6fdf760b2714ee482ca691fc66e6fcb18"}, + {file = "pandas-2.2.3-cp313-cp313t-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:ba96630bc17c875161df3818780af30e43be9b166ce51c9a18c1feae342906c2"}, + {file = "pandas-2.2.3-cp313-cp313t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:1db71525a1538b30142094edb9adc10be3f3e176748cd7acc2240c2f2e5aa3a4"}, + {file = "pandas-2.2.3-cp313-cp313t-musllinux_1_2_aarch64.whl", hash = "sha256:15c0e1e02e93116177d29ff83e8b1619c93ddc9c49083f237d4312337a61165d"}, + {file = "pandas-2.2.3-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:ad5b65698ab28ed8d7f18790a0dc58005c7629f227be9ecc1072aa74c0c1d43a"}, + {file = "pandas-2.2.3-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:bc6b93f9b966093cb0fd62ff1a7e4c09e6d546ad7c1de191767baffc57628f39"}, + {file = "pandas-2.2.3-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:5dbca4c1acd72e8eeef4753eeca07de9b1db4f398669d5994086f788a5d7cc30"}, + {file = "pandas-2.2.3-cp39-cp39-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:8cd6d7cc958a3910f934ea8dbdf17b2364827bb4dafc38ce6eef6bb3d65ff09c"}, + {file = "pandas-2.2.3-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:99df71520d25fade9db7c1076ac94eb994f4d2673ef2aa2e86ee039b6746d20c"}, + {file = "pandas-2.2.3-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:31d0ced62d4ea3e231a9f228366919a5ea0b07440d9d4dac345376fd8e1477ea"}, + {file = "pandas-2.2.3-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:7eee9e7cea6adf3e3d24e304ac6b8300646e2a5d1cd3a3c2abed9101b0846761"}, + {file = "pandas-2.2.3-cp39-cp39-win_amd64.whl", hash = "sha256:4850ba03528b6dd51d6c5d273c46f183f39a9baf3f0143e566b89450965b105e"}, + {file = "pandas-2.2.3.tar.gz", hash = "sha256:4f18ba62b61d7e192368b84517265a99b4d7ee8912f8708660fb4a366cc82667"}, +] + +[package.dependencies] +numpy = {version = ">=1.26.0", markers = "python_version >= \"3.12\""} +python-dateutil = ">=2.8.2" +pytz = ">=2020.1" +tzdata = ">=2022.7" + +[package.extras] +all = ["PyQt5 (>=5.15.9)", "SQLAlchemy (>=2.0.0)", "adbc-driver-postgresql (>=0.8.0)", "adbc-driver-sqlite (>=0.8.0)", "beautifulsoup4 (>=4.11.2)", "bottleneck (>=1.3.6)", "dataframe-api-compat (>=0.1.7)", "fastparquet (>=2022.12.0)", "fsspec (>=2022.11.0)", "gcsfs (>=2022.11.0)", "html5lib (>=1.1)", "hypothesis (>=6.46.1)", "jinja2 (>=3.1.2)", "lxml (>=4.9.2)", "matplotlib (>=3.6.3)", "numba (>=0.56.4)", "numexpr (>=2.8.4)", "odfpy (>=1.4.1)", "openpyxl (>=3.1.0)", "pandas-gbq (>=0.19.0)", "psycopg2 (>=2.9.6)", "pyarrow (>=10.0.1)", "pymysql (>=1.0.2)", "pyreadstat (>=1.2.0)", "pytest (>=7.3.2)", "pytest-xdist (>=2.2.0)", "python-calamine (>=0.1.7)", "pyxlsb (>=1.0.10)", "qtpy (>=2.3.0)", "s3fs (>=2022.11.0)", "scipy (>=1.10.0)", "tables (>=3.8.0)", "tabulate (>=0.9.0)", "xarray (>=2022.12.0)", "xlrd (>=2.0.1)", "xlsxwriter (>=3.0.5)", "zstandard (>=0.19.0)"] +aws = ["s3fs (>=2022.11.0)"] +clipboard = ["PyQt5 (>=5.15.9)", "qtpy (>=2.3.0)"] +compression = ["zstandard (>=0.19.0)"] +computation = ["scipy (>=1.10.0)", "xarray (>=2022.12.0)"] +consortium-standard = ["dataframe-api-compat (>=0.1.7)"] +excel = ["odfpy (>=1.4.1)", "openpyxl (>=3.1.0)", "python-calamine (>=0.1.7)", "pyxlsb (>=1.0.10)", "xlrd (>=2.0.1)", "xlsxwriter (>=3.0.5)"] +feather = ["pyarrow (>=10.0.1)"] +fss = ["fsspec (>=2022.11.0)"] +gcp = ["gcsfs (>=2022.11.0)", "pandas-gbq (>=0.19.0)"] +hdf5 = ["tables (>=3.8.0)"] +html = ["beautifulsoup4 (>=4.11.2)", "html5lib (>=1.1)", "lxml (>=4.9.2)"] +mysql = ["SQLAlchemy (>=2.0.0)", "pymysql (>=1.0.2)"] +output-formatting = ["jinja2 (>=3.1.2)", "tabulate (>=0.9.0)"] +parquet = ["pyarrow (>=10.0.1)"] +performance = ["bottleneck (>=1.3.6)", "numba (>=0.56.4)", "numexpr (>=2.8.4)"] +plot = ["matplotlib (>=3.6.3)"] +postgresql = ["SQLAlchemy (>=2.0.0)", "adbc-driver-postgresql (>=0.8.0)", "psycopg2 (>=2.9.6)"] +pyarrow = ["pyarrow (>=10.0.1)"] +spss = ["pyreadstat (>=1.2.0)"] +sql-other = ["SQLAlchemy (>=2.0.0)", "adbc-driver-postgresql (>=0.8.0)", "adbc-driver-sqlite (>=0.8.0)"] +test = ["hypothesis (>=6.46.1)", "pytest (>=7.3.2)", "pytest-xdist (>=2.2.0)"] +xml = ["lxml (>=4.9.2)"] + [[package]] name = "pandas-stubs" version = "2.0.2.230605" @@ -4963,9 +5045,9 @@ test = ["big-O", "importlib-resources", "jaraco.functools", "jaraco.itertools", type = ["pytest-mypy"] [extras] -metrics = ["pandas"] +metrics = ["pandas", "pandas"] [metadata] lock-version = "2.0" python-versions = "^3.8" -content-hash = "4b1374cb6ea9100c5bed238a30153051ae9946a23c8c93e0abe1e80a29bb6860" +content-hash = "d4cecb2272cd92fb70c28f890d56cad3d9b98b1b0ade1c070b604b03c2b7ea9a" diff --git a/pyproject.toml b/pyproject.toml index b7e9c6b8d7..b0f1316178 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -76,7 +76,11 @@ pillow = ">=9.4" requests = ">=2.26.0" tqdm = ">=4.62.3" # pandas: picked lowest major version that supports Python 3.8 -pandas = { version = ">=2.0.0", optional = true } +pandas = [ + { version = ">=2.0.0", python = "<3.13",optional = true }, + { version = ">=2.2.3", python = ">=3.13",optional = true }, +] + opencv-python = ">=4.5.5.64" [tool.poetry.extras] From def1cc4b332cf9b891a6fc5b7c37182b88c8e4f8 Mon Sep 17 00:00:00 2001 From: Onuralp SEZER Date: Thu, 28 Nov 2024 02:36:45 +0300 Subject: [PATCH 026/420] =?UTF-8?q?ci:=20=F0=9F=91=B7=20supervision=20impo?= =?UTF-8?q?rt=20check=20and=20version=20print=20added?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Onuralp SEZER --- .github/workflows/poetry-test.yml | 8 +------- 1 file changed, 1 insertion(+), 7 deletions(-) diff --git a/.github/workflows/poetry-test.yml b/.github/workflows/poetry-test.yml index d44c0f2d93..da96cf25d1 100644 --- a/.github/workflows/poetry-test.yml +++ b/.github/workflows/poetry-test.yml @@ -36,11 +36,5 @@ jobs: - name: 🚀 Do Install the package Test run: poetry install --with dev --extras metrics - - name: 🐚 Start Poetry Shell - run: poetry shell - - - name: 📄 Create a simple script - run: echo "import supervision " > simple_script.py - - name: 🧪 Run the simple script - run: python simple_script.py + run: poetry run python -c "import supervision; from supervision import assets; from supervision import metrics; print(supervision.__version__)" From 370996358b1378b0bd51c2c5f3ee2ef10bbcd621 Mon Sep 17 00:00:00 2001 From: Onuralp SEZER Date: Thu, 28 Nov 2024 02:40:28 +0300 Subject: [PATCH 027/420] =?UTF-8?q?docs:=20=F0=9F=93=9D=20update=20pandas?= =?UTF-8?q?=20version=20to=20support=20Python=203.13=20comment=20added=20i?= =?UTF-8?q?nto=20pyproject.toml?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Onuralp SEZER --- pyproject.toml | 1 + 1 file changed, 1 insertion(+) diff --git a/pyproject.toml b/pyproject.toml index b0f1316178..329dc84bd8 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -76,6 +76,7 @@ pillow = ">=9.4" requests = ">=2.26.0" tqdm = ">=4.62.3" # pandas: picked lowest major version that supports Python 3.8 +# pandas 2.2.3 has been released with support for Python 3.13 pandas = [ { version = ">=2.0.0", python = "<3.13",optional = true }, { version = ">=2.2.3", python = ">=3.13",optional = true }, From fdd317e53ec1a98931251085d80d854a361c000e Mon Sep 17 00:00:00 2001 From: Onuralp SEZER Date: Thu, 28 Nov 2024 02:54:04 +0300 Subject: [PATCH 028/420] =?UTF-8?q?fix:=20=F0=9F=90=9E=20update=20matplotl?= =?UTF-8?q?ib=20version=20constraints=20for=20Python=20versions=20compatib?= =?UTF-8?q?ility?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Onuralp SEZER --- poetry.lock | 203 ++++++++++++++++++++++--------------------------- pyproject.toml | 7 +- 2 files changed, 98 insertions(+), 112 deletions(-) diff --git a/poetry.lock b/poetry.lock index b594dfe87a..1f10db2ff6 100644 --- a/poetry.lock +++ b/poetry.lock @@ -2132,52 +2132,52 @@ files = [ [[package]] name = "matplotlib" -version = "3.7.2" +version = "3.7.1" description = "Python plotting package" optional = false python-versions = ">=3.8" files = [ - {file = "matplotlib-3.7.2-cp310-cp310-macosx_10_12_universal2.whl", hash = "sha256:2699f7e73a76d4c110f4f25be9d2496d6ab4f17345307738557d345f099e07de"}, - {file = "matplotlib-3.7.2-cp310-cp310-macosx_10_12_x86_64.whl", hash = "sha256:a8035ba590658bae7562786c9cc6ea1a84aa49d3afab157e414c9e2ea74f496d"}, - {file = "matplotlib-3.7.2-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:2f8e4a49493add46ad4a8c92f63e19d548b2b6ebbed75c6b4c7f46f57d36cdd1"}, - {file = "matplotlib-3.7.2-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:71667eb2ccca4c3537d9414b1bc00554cb7f91527c17ee4ec38027201f8f1603"}, - {file = "matplotlib-3.7.2-cp310-cp310-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:152ee0b569a37630d8628534c628456b28686e085d51394da6b71ef84c4da201"}, - {file = "matplotlib-3.7.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:070f8dddd1f5939e60aacb8fa08f19551f4b0140fab16a3669d5cd6e9cb28fc8"}, - {file = "matplotlib-3.7.2-cp310-cp310-win32.whl", hash = "sha256:fdbb46fad4fb47443b5b8ac76904b2e7a66556844f33370861b4788db0f8816a"}, - {file = "matplotlib-3.7.2-cp310-cp310-win_amd64.whl", hash = "sha256:23fb1750934e5f0128f9423db27c474aa32534cec21f7b2153262b066a581fd1"}, - {file = "matplotlib-3.7.2-cp311-cp311-macosx_10_12_universal2.whl", hash = "sha256:30e1409b857aa8a747c5d4f85f63a79e479835f8dffc52992ac1f3f25837b544"}, - {file = "matplotlib-3.7.2-cp311-cp311-macosx_10_12_x86_64.whl", hash = "sha256:50e0a55ec74bf2d7a0ebf50ac580a209582c2dd0f7ab51bc270f1b4a0027454e"}, - {file = "matplotlib-3.7.2-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:ac60daa1dc83e8821eed155796b0f7888b6b916cf61d620a4ddd8200ac70cd64"}, - {file = "matplotlib-3.7.2-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:305e3da477dc8607336ba10bac96986d6308d614706cae2efe7d3ffa60465b24"}, - {file = "matplotlib-3.7.2-cp311-cp311-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:1c308b255efb9b06b23874236ec0f10f026673ad6515f602027cc8ac7805352d"}, - {file = "matplotlib-3.7.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:60c521e21031632aa0d87ca5ba0c1c05f3daacadb34c093585a0be6780f698e4"}, - {file = "matplotlib-3.7.2-cp311-cp311-win32.whl", hash = "sha256:26bede320d77e469fdf1bde212de0ec889169b04f7f1179b8930d66f82b30cbc"}, - {file = "matplotlib-3.7.2-cp311-cp311-win_amd64.whl", hash = "sha256:af4860132c8c05261a5f5f8467f1b269bf1c7c23902d75f2be57c4a7f2394b3e"}, - {file = "matplotlib-3.7.2-cp38-cp38-macosx_10_12_universal2.whl", hash = "sha256:a1733b8e84e7e40a9853e505fe68cc54339f97273bdfe6f3ed980095f769ddc7"}, - {file = "matplotlib-3.7.2-cp38-cp38-macosx_10_12_x86_64.whl", hash = "sha256:d9881356dc48e58910c53af82b57183879129fa30492be69058c5b0d9fddf391"}, - {file = "matplotlib-3.7.2-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:f081c03f413f59390a80b3e351cc2b2ea0205839714dbc364519bcf51f4b56ca"}, - {file = "matplotlib-3.7.2-cp38-cp38-manylinux_2_12_i686.manylinux2010_i686.whl", hash = "sha256:1cd120fca3407a225168238b790bd5c528f0fafde6172b140a2f3ab7a4ea63e9"}, - {file = "matplotlib-3.7.2-cp38-cp38-manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:a2c1590b90aa7bd741b54c62b78de05d4186271e34e2377e0289d943b3522273"}, - {file = "matplotlib-3.7.2-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:6d2ff3c984b8a569bc1383cd468fc06b70d7b59d5c2854ca39f1436ae8394117"}, - {file = "matplotlib-3.7.2-cp38-cp38-win32.whl", hash = "sha256:5dea00b62d28654b71ca92463656d80646675628d0828e08a5f3b57e12869e13"}, - {file = "matplotlib-3.7.2-cp38-cp38-win_amd64.whl", hash = "sha256:0f506a1776ee94f9e131af1ac6efa6e5bc7cb606a3e389b0ccb6e657f60bb676"}, - {file = "matplotlib-3.7.2-cp39-cp39-macosx_10_12_universal2.whl", hash = "sha256:6515e878f91894c2e4340d81f0911857998ccaf04dbc1bba781e3d89cbf70608"}, - {file = "matplotlib-3.7.2-cp39-cp39-macosx_10_12_x86_64.whl", hash = "sha256:71f7a8c6b124e904db550f5b9fe483d28b896d4135e45c4ea381ad3b8a0e3256"}, - {file = "matplotlib-3.7.2-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:12f01b92ecd518e0697da4d97d163b2b3aa55eb3eb4e2c98235b3396d7dad55f"}, - {file = "matplotlib-3.7.2-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a7e28d6396563955f7af437894a36bf2b279462239a41028323e04b85179058b"}, - {file = "matplotlib-3.7.2-cp39-cp39-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:dbcf59334ff645e6a67cd5f78b4b2cdb76384cdf587fa0d2dc85f634a72e1a3e"}, - {file = "matplotlib-3.7.2-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:318c89edde72ff95d8df67d82aca03861240512994a597a435a1011ba18dbc7f"}, - {file = "matplotlib-3.7.2-cp39-cp39-win32.whl", hash = "sha256:ce55289d5659b5b12b3db4dc9b7075b70cef5631e56530f14b2945e8836f2d20"}, - {file = "matplotlib-3.7.2-cp39-cp39-win_amd64.whl", hash = "sha256:2ecb5be2b2815431c81dc115667e33da0f5a1bcf6143980d180d09a717c4a12e"}, - {file = "matplotlib-3.7.2-pp38-pypy38_pp73-macosx_10_12_x86_64.whl", hash = "sha256:fdcd28360dbb6203fb5219b1a5658df226ac9bebc2542a9e8f457de959d713d0"}, - {file = "matplotlib-3.7.2-pp38-pypy38_pp73-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:0c3cca3e842b11b55b52c6fb8bd6a4088693829acbfcdb3e815fa9b7d5c92c1b"}, - {file = "matplotlib-3.7.2-pp38-pypy38_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ebf577c7a6744e9e1bd3fee45fc74a02710b214f94e2bde344912d85e0c9af7c"}, - {file = "matplotlib-3.7.2-pp38-pypy38_pp73-win_amd64.whl", hash = "sha256:936bba394682049919dda062d33435b3be211dc3dcaa011e09634f060ec878b2"}, - {file = "matplotlib-3.7.2-pp39-pypy39_pp73-macosx_10_12_x86_64.whl", hash = "sha256:bc221ffbc2150458b1cd71cdd9ddd5bb37962b036e41b8be258280b5b01da1dd"}, - {file = "matplotlib-3.7.2-pp39-pypy39_pp73-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:35d74ebdb3f71f112b36c2629cf32323adfbf42679e2751252acd468f5001c07"}, - {file = "matplotlib-3.7.2-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:717157e61b3a71d3d26ad4e1770dc85156c9af435659a25ee6407dc866cb258d"}, - {file = "matplotlib-3.7.2-pp39-pypy39_pp73-win_amd64.whl", hash = "sha256:20f844d6be031948148ba49605c8b96dfe7d3711d1b63592830d650622458c11"}, - {file = "matplotlib-3.7.2.tar.gz", hash = "sha256:a8cdb91dddb04436bd2f098b8fdf4b81352e68cf4d2c6756fcc414791076569b"}, + {file = "matplotlib-3.7.1-cp310-cp310-macosx_10_12_universal2.whl", hash = "sha256:95cbc13c1fc6844ab8812a525bbc237fa1470863ff3dace7352e910519e194b1"}, + {file = "matplotlib-3.7.1-cp310-cp310-macosx_10_12_x86_64.whl", hash = "sha256:08308bae9e91aca1ec6fd6dda66237eef9f6294ddb17f0d0b3c863169bf82353"}, + {file = "matplotlib-3.7.1-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:544764ba51900da4639c0f983b323d288f94f65f4024dc40ecb1542d74dc0500"}, + {file = "matplotlib-3.7.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:56d94989191de3fcc4e002f93f7f1be5da476385dde410ddafbb70686acf00ea"}, + {file = "matplotlib-3.7.1-cp310-cp310-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:e99bc9e65901bb9a7ce5e7bb24af03675cbd7c70b30ac670aa263240635999a4"}, + {file = "matplotlib-3.7.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:eb7d248c34a341cd4c31a06fd34d64306624c8cd8d0def7abb08792a5abfd556"}, + {file = "matplotlib-3.7.1-cp310-cp310-win32.whl", hash = "sha256:ce463ce590f3825b52e9fe5c19a3c6a69fd7675a39d589e8b5fbe772272b3a24"}, + {file = "matplotlib-3.7.1-cp310-cp310-win_amd64.whl", hash = "sha256:3d7bc90727351fb841e4d8ae620d2d86d8ed92b50473cd2b42ce9186104ecbba"}, + {file = "matplotlib-3.7.1-cp311-cp311-macosx_10_12_universal2.whl", hash = "sha256:770a205966d641627fd5cf9d3cb4b6280a716522cd36b8b284a8eb1581310f61"}, + {file = "matplotlib-3.7.1-cp311-cp311-macosx_10_12_x86_64.whl", hash = "sha256:f67bfdb83a8232cb7a92b869f9355d677bce24485c460b19d01970b64b2ed476"}, + {file = "matplotlib-3.7.1-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:2bf092f9210e105f414a043b92af583c98f50050559616930d884387d0772aba"}, + {file = "matplotlib-3.7.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:89768d84187f31717349c6bfadc0e0d8c321e8eb34522acec8a67b1236a66332"}, + {file = "matplotlib-3.7.1-cp311-cp311-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:83111e6388dec67822e2534e13b243cc644c7494a4bb60584edbff91585a83c6"}, + {file = "matplotlib-3.7.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:a867bf73a7eb808ef2afbca03bcdb785dae09595fbe550e1bab0cd023eba3de0"}, + {file = "matplotlib-3.7.1-cp311-cp311-win32.whl", hash = "sha256:fbdeeb58c0cf0595efe89c05c224e0a502d1aa6a8696e68a73c3efc6bc354304"}, + {file = "matplotlib-3.7.1-cp311-cp311-win_amd64.whl", hash = "sha256:c0bd19c72ae53e6ab979f0ac6a3fafceb02d2ecafa023c5cca47acd934d10be7"}, + {file = "matplotlib-3.7.1-cp38-cp38-macosx_10_12_universal2.whl", hash = "sha256:6eb88d87cb2c49af00d3bbc33a003f89fd9f78d318848da029383bfc08ecfbfb"}, + {file = "matplotlib-3.7.1-cp38-cp38-macosx_10_12_x86_64.whl", hash = "sha256:cf0e4f727534b7b1457898c4f4ae838af1ef87c359b76dcd5330fa31893a3ac7"}, + {file = "matplotlib-3.7.1-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:46a561d23b91f30bccfd25429c3c706afe7d73a5cc64ef2dfaf2b2ac47c1a5dc"}, + {file = "matplotlib-3.7.1-cp38-cp38-manylinux_2_12_i686.manylinux2010_i686.whl", hash = "sha256:8704726d33e9aa8a6d5215044b8d00804561971163563e6e6591f9dcf64340cc"}, + {file = "matplotlib-3.7.1-cp38-cp38-manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:4cf327e98ecf08fcbb82685acaf1939d3338548620ab8dfa02828706402c34de"}, + {file = "matplotlib-3.7.1-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:617f14ae9d53292ece33f45cba8503494ee199a75b44de7717964f70637a36aa"}, + {file = "matplotlib-3.7.1-cp38-cp38-win32.whl", hash = "sha256:7c9a4b2da6fac77bcc41b1ea95fadb314e92508bf5493ceff058e727e7ecf5b0"}, + {file = "matplotlib-3.7.1-cp38-cp38-win_amd64.whl", hash = "sha256:14645aad967684e92fc349493fa10c08a6da514b3d03a5931a1bac26e6792bd1"}, + {file = "matplotlib-3.7.1-cp39-cp39-macosx_10_12_universal2.whl", hash = "sha256:81a6b377ea444336538638d31fdb39af6be1a043ca5e343fe18d0f17e098770b"}, + {file = "matplotlib-3.7.1-cp39-cp39-macosx_10_12_x86_64.whl", hash = "sha256:28506a03bd7f3fe59cd3cd4ceb2a8d8a2b1db41afede01f66c42561b9be7b4b7"}, + {file = "matplotlib-3.7.1-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:8c587963b85ce41e0a8af53b9b2de8dddbf5ece4c34553f7bd9d066148dc719c"}, + {file = "matplotlib-3.7.1-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:8bf26ade3ff0f27668989d98c8435ce9327d24cffb7f07d24ef609e33d582439"}, + {file = "matplotlib-3.7.1-cp39-cp39-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:def58098f96a05f90af7e92fd127d21a287068202aa43b2a93476170ebd99e87"}, + {file = "matplotlib-3.7.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f883a22a56a84dba3b588696a2b8a1ab0d2c3d41be53264115c71b0a942d8fdb"}, + {file = "matplotlib-3.7.1-cp39-cp39-win32.whl", hash = "sha256:4f99e1b234c30c1e9714610eb0c6d2f11809c9c78c984a613ae539ea2ad2eb4b"}, + {file = "matplotlib-3.7.1-cp39-cp39-win_amd64.whl", hash = "sha256:3ba2af245e36990facf67fde840a760128ddd71210b2ab6406e640188d69d136"}, + {file = "matplotlib-3.7.1-pp38-pypy38_pp73-macosx_10_12_x86_64.whl", hash = "sha256:3032884084f541163f295db8a6536e0abb0db464008fadca6c98aaf84ccf4717"}, + {file = "matplotlib-3.7.1-pp38-pypy38_pp73-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:3a2cb34336110e0ed8bb4f650e817eed61fa064acbefeb3591f1b33e3a84fd96"}, + {file = "matplotlib-3.7.1-pp38-pypy38_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:b867e2f952ed592237a1828f027d332d8ee219ad722345b79a001f49df0936eb"}, + {file = "matplotlib-3.7.1-pp38-pypy38_pp73-win_amd64.whl", hash = "sha256:57bfb8c8ea253be947ccb2bc2d1bb3862c2bccc662ad1b4626e1f5e004557042"}, + {file = "matplotlib-3.7.1-pp39-pypy39_pp73-macosx_10_12_x86_64.whl", hash = "sha256:438196cdf5dc8d39b50a45cb6e3f6274edbcf2254f85fa9b895bf85851c3a613"}, + {file = "matplotlib-3.7.1-pp39-pypy39_pp73-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:21e9cff1a58d42e74d01153360de92b326708fb205250150018a52c70f43c290"}, + {file = "matplotlib-3.7.1-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:75d4725d70b7c03e082bbb8a34639ede17f333d7247f56caceb3801cb6ff703d"}, + {file = "matplotlib-3.7.1-pp39-pypy39_pp73-win_amd64.whl", hash = "sha256:97cc368a7268141afb5690760921765ed34867ffb9655dd325ed207af85c7529"}, + {file = "matplotlib-3.7.1.tar.gz", hash = "sha256:7b73305f25eab4541bd7ee0b96d87e53ae9c9f1823be5659b806cd85786fe882"}, ] [package.dependencies] @@ -2189,77 +2189,72 @@ kiwisolver = ">=1.0.1" numpy = ">=1.20" packaging = ">=20.0" pillow = ">=6.2.0" -pyparsing = ">=2.3.1,<3.1" +pyparsing = ">=2.3.1" python-dateutil = ">=2.7" [[package]] name = "matplotlib" -version = "3.7.5" +version = "3.9.2" description = "Python plotting package" optional = false -python-versions = ">=3.8" +python-versions = ">=3.9" files = [ - {file = "matplotlib-3.7.5-cp310-cp310-macosx_10_12_universal2.whl", hash = "sha256:4a87b69cb1cb20943010f63feb0b2901c17a3b435f75349fd9865713bfa63925"}, - {file = "matplotlib-3.7.5-cp310-cp310-macosx_10_12_x86_64.whl", hash = "sha256:d3ce45010fefb028359accebb852ca0c21bd77ec0f281952831d235228f15810"}, - {file = "matplotlib-3.7.5-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:fbea1e762b28400393d71be1a02144aa16692a3c4c676ba0178ce83fc2928fdd"}, - {file = "matplotlib-3.7.5-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:ec0e1adc0ad70ba8227e957551e25a9d2995e319c29f94a97575bb90fa1d4469"}, - {file = "matplotlib-3.7.5-cp310-cp310-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:6738c89a635ced486c8a20e20111d33f6398a9cbebce1ced59c211e12cd61455"}, - {file = "matplotlib-3.7.5-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:1210b7919b4ed94b5573870f316bca26de3e3b07ffdb563e79327dc0e6bba515"}, - {file = "matplotlib-3.7.5-cp310-cp310-win32.whl", hash = "sha256:068ebcc59c072781d9dcdb82f0d3f1458271c2de7ca9c78f5bd672141091e9e1"}, - {file = "matplotlib-3.7.5-cp310-cp310-win_amd64.whl", hash = "sha256:f098ffbaab9df1e3ef04e5a5586a1e6b1791380698e84938d8640961c79b1fc0"}, - {file = "matplotlib-3.7.5-cp311-cp311-macosx_10_12_universal2.whl", hash = "sha256:f65342c147572673f02a4abec2d5a23ad9c3898167df9b47c149f32ce61ca078"}, - {file = "matplotlib-3.7.5-cp311-cp311-macosx_10_12_x86_64.whl", hash = "sha256:4ddf7fc0e0dc553891a117aa083039088d8a07686d4c93fb8a810adca68810af"}, - {file = "matplotlib-3.7.5-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:0ccb830fc29442360d91be48527809f23a5dcaee8da5f4d9b2d5b867c1b087b8"}, - {file = "matplotlib-3.7.5-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:efc6bb28178e844d1f408dd4d6341ee8a2e906fc9e0fa3dae497da4e0cab775d"}, - {file = "matplotlib-3.7.5-cp311-cp311-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:3b15c4c2d374f249f324f46e883340d494c01768dd5287f8bc00b65b625ab56c"}, - {file = "matplotlib-3.7.5-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:3d028555421912307845e59e3de328260b26d055c5dac9b182cc9783854e98fb"}, - {file = "matplotlib-3.7.5-cp311-cp311-win32.whl", hash = "sha256:fe184b4625b4052fa88ef350b815559dd90cc6cc8e97b62f966e1ca84074aafa"}, - {file = "matplotlib-3.7.5-cp311-cp311-win_amd64.whl", hash = "sha256:084f1f0f2f1010868c6f1f50b4e1c6f2fb201c58475494f1e5b66fed66093647"}, - {file = "matplotlib-3.7.5-cp312-cp312-macosx_10_12_universal2.whl", hash = "sha256:34bceb9d8ddb142055ff27cd7135f539f2f01be2ce0bafbace4117abe58f8fe4"}, - {file = "matplotlib-3.7.5-cp312-cp312-macosx_10_12_x86_64.whl", hash = "sha256:c5a2134162273eb8cdfd320ae907bf84d171de948e62180fa372a3ca7cf0f433"}, - {file = "matplotlib-3.7.5-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:039ad54683a814002ff37bf7981aa1faa40b91f4ff84149beb53d1eb64617980"}, - {file = "matplotlib-3.7.5-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:4d742ccd1b09e863b4ca58291728db645b51dab343eebb08d5d4b31b308296ce"}, - {file = "matplotlib-3.7.5-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:743b1c488ca6a2bc7f56079d282e44d236bf375968bfd1b7ba701fd4d0fa32d6"}, - {file = "matplotlib-3.7.5-cp312-cp312-win_amd64.whl", hash = "sha256:fbf730fca3e1f23713bc1fae0a57db386e39dc81ea57dc305c67f628c1d7a342"}, - {file = "matplotlib-3.7.5-cp38-cp38-macosx_10_12_universal2.whl", hash = "sha256:cfff9b838531698ee40e40ea1a8a9dc2c01edb400b27d38de6ba44c1f9a8e3d2"}, - {file = "matplotlib-3.7.5-cp38-cp38-macosx_10_12_x86_64.whl", hash = "sha256:1dbcca4508bca7847fe2d64a05b237a3dcaec1f959aedb756d5b1c67b770c5ee"}, - {file = "matplotlib-3.7.5-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:4cdf4ef46c2a1609a50411b66940b31778db1e4b73d4ecc2eaa40bd588979b13"}, - {file = "matplotlib-3.7.5-cp38-cp38-manylinux_2_12_i686.manylinux2010_i686.whl", hash = "sha256:167200ccfefd1674b60e957186dfd9baf58b324562ad1a28e5d0a6b3bea77905"}, - {file = "matplotlib-3.7.5-cp38-cp38-manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:53e64522934df6e1818b25fd48cf3b645b11740d78e6ef765fbb5fa5ce080d02"}, - {file = "matplotlib-3.7.5-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d3e3bc79b2d7d615067bd010caff9243ead1fc95cf735c16e4b2583173f717eb"}, - {file = "matplotlib-3.7.5-cp38-cp38-win32.whl", hash = "sha256:6b641b48c6819726ed47c55835cdd330e53747d4efff574109fd79b2d8a13748"}, - {file = "matplotlib-3.7.5-cp38-cp38-win_amd64.whl", hash = "sha256:f0b60993ed3488b4532ec6b697059897891927cbfc2b8d458a891b60ec03d9d7"}, - {file = "matplotlib-3.7.5-cp39-cp39-macosx_10_12_universal2.whl", hash = "sha256:090964d0afaff9c90e4d8de7836757e72ecfb252fb02884016d809239f715651"}, - {file = "matplotlib-3.7.5-cp39-cp39-macosx_10_12_x86_64.whl", hash = "sha256:9fc6fcfbc55cd719bc0bfa60bde248eb68cf43876d4c22864603bdd23962ba25"}, - {file = "matplotlib-3.7.5-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:5e7cc3078b019bb863752b8b60e8b269423000f1603cb2299608231996bd9d54"}, - {file = "matplotlib-3.7.5-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:1e4e9a868e8163abaaa8259842d85f949a919e1ead17644fb77a60427c90473c"}, - {file = "matplotlib-3.7.5-cp39-cp39-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:fa7ebc995a7d747dacf0a717d0eb3aa0f0c6a0e9ea88b0194d3a3cd241a1500f"}, - {file = "matplotlib-3.7.5-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:3785bfd83b05fc0e0c2ae4c4a90034fe693ef96c679634756c50fe6efcc09856"}, - {file = "matplotlib-3.7.5-cp39-cp39-win32.whl", hash = "sha256:29b058738c104d0ca8806395f1c9089dfe4d4f0f78ea765c6c704469f3fffc81"}, - {file = "matplotlib-3.7.5-cp39-cp39-win_amd64.whl", hash = "sha256:fd4028d570fa4b31b7b165d4a685942ae9cdc669f33741e388c01857d9723eab"}, - {file = "matplotlib-3.7.5-pp38-pypy38_pp73-macosx_10_12_x86_64.whl", hash = "sha256:2a9a3f4d6a7f88a62a6a18c7e6a84aedcaf4faf0708b4ca46d87b19f1b526f88"}, - {file = "matplotlib-3.7.5-pp38-pypy38_pp73-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:b9b3fd853d4a7f008a938df909b96db0b454225f935d3917520305b90680579c"}, - {file = "matplotlib-3.7.5-pp38-pypy38_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f0ad550da9f160737d7890217c5eeed4337d07e83ca1b2ca6535078f354e7675"}, - {file = "matplotlib-3.7.5-pp38-pypy38_pp73-win_amd64.whl", hash = "sha256:20da7924a08306a861b3f2d1da0d1aa9a6678e480cf8eacffe18b565af2813e7"}, - {file = "matplotlib-3.7.5-pp39-pypy39_pp73-macosx_10_12_x86_64.whl", hash = "sha256:b45c9798ea6bb920cb77eb7306409756a7fab9db9b463e462618e0559aecb30e"}, - {file = "matplotlib-3.7.5-pp39-pypy39_pp73-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:a99866267da1e561c7776fe12bf4442174b79aac1a47bd7e627c7e4d077ebd83"}, - {file = "matplotlib-3.7.5-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:2b6aa62adb6c268fc87d80f963aca39c64615c31830b02697743c95590ce3fbb"}, - {file = "matplotlib-3.7.5-pp39-pypy39_pp73-win_amd64.whl", hash = "sha256:e530ab6a0afd082d2e9c17eb1eb064a63c5b09bb607b2b74fa41adbe3e162286"}, - {file = "matplotlib-3.7.5.tar.gz", hash = "sha256:1e5c971558ebc811aa07f54c7b7c677d78aa518ef4c390e14673a09e0860184a"}, + {file = "matplotlib-3.9.2-cp310-cp310-macosx_10_12_x86_64.whl", hash = "sha256:9d78bbc0cbc891ad55b4f39a48c22182e9bdaea7fc0e5dbd364f49f729ca1bbb"}, + {file = "matplotlib-3.9.2-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:c375cc72229614632c87355366bdf2570c2dac01ac66b8ad048d2dabadf2d0d4"}, + {file = "matplotlib-3.9.2-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:1d94ff717eb2bd0b58fe66380bd8b14ac35f48a98e7c6765117fe67fb7684e64"}, + {file = "matplotlib-3.9.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ab68d50c06938ef28681073327795c5db99bb4666214d2d5f880ed11aeaded66"}, + {file = "matplotlib-3.9.2-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:65aacf95b62272d568044531e41de26285d54aec8cb859031f511f84bd8b495a"}, + {file = "matplotlib-3.9.2-cp310-cp310-win_amd64.whl", hash = "sha256:3fd595f34aa8a55b7fc8bf9ebea8aa665a84c82d275190a61118d33fbc82ccae"}, + {file = "matplotlib-3.9.2-cp311-cp311-macosx_10_12_x86_64.whl", hash = "sha256:d8dd059447824eec055e829258ab092b56bb0579fc3164fa09c64f3acd478772"}, + {file = "matplotlib-3.9.2-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:c797dac8bb9c7a3fd3382b16fe8f215b4cf0f22adccea36f1545a6d7be310b41"}, + {file = "matplotlib-3.9.2-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d719465db13267bcef19ea8954a971db03b9f48b4647e3860e4bc8e6ed86610f"}, + {file = "matplotlib-3.9.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:8912ef7c2362f7193b5819d17dae8629b34a95c58603d781329712ada83f9447"}, + {file = "matplotlib-3.9.2-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:7741f26a58a240f43bee74965c4882b6c93df3e7eb3de160126d8c8f53a6ae6e"}, + {file = "matplotlib-3.9.2-cp311-cp311-win_amd64.whl", hash = "sha256:ae82a14dab96fbfad7965403c643cafe6515e386de723e498cf3eeb1e0b70cc7"}, + {file = "matplotlib-3.9.2-cp312-cp312-macosx_10_12_x86_64.whl", hash = "sha256:ac43031375a65c3196bee99f6001e7fa5bdfb00ddf43379d3c0609bdca042df9"}, + {file = "matplotlib-3.9.2-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:be0fc24a5e4531ae4d8e858a1a548c1fe33b176bb13eff7f9d0d38ce5112a27d"}, + {file = "matplotlib-3.9.2-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:bf81de2926c2db243c9b2cbc3917619a0fc85796c6ba4e58f541df814bbf83c7"}, + {file = "matplotlib-3.9.2-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f6ee45bc4245533111ced13f1f2cace1e7f89d1c793390392a80c139d6cf0e6c"}, + {file = "matplotlib-3.9.2-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:306c8dfc73239f0e72ac50e5a9cf19cc4e8e331dd0c54f5e69ca8758550f1e1e"}, + {file = "matplotlib-3.9.2-cp312-cp312-win_amd64.whl", hash = "sha256:5413401594cfaff0052f9d8b1aafc6d305b4bd7c4331dccd18f561ff7e1d3bd3"}, + {file = "matplotlib-3.9.2-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:18128cc08f0d3cfff10b76baa2f296fc28c4607368a8402de61bb3f2eb33c7d9"}, + {file = "matplotlib-3.9.2-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:4876d7d40219e8ae8bb70f9263bcbe5714415acfdf781086601211335e24f8aa"}, + {file = "matplotlib-3.9.2-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:6d9f07a80deab4bb0b82858a9e9ad53d1382fd122be8cde11080f4e7dfedb38b"}, + {file = "matplotlib-3.9.2-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f7c0410f181a531ec4e93bbc27692f2c71a15c2da16766f5ba9761e7ae518413"}, + {file = "matplotlib-3.9.2-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:909645cce2dc28b735674ce0931a4ac94e12f5b13f6bb0b5a5e65e7cea2c192b"}, + {file = "matplotlib-3.9.2-cp313-cp313-win_amd64.whl", hash = "sha256:f32c7410c7f246838a77d6d1eff0c0f87f3cb0e7c4247aebea71a6d5a68cab49"}, + {file = "matplotlib-3.9.2-cp313-cp313t-macosx_10_13_x86_64.whl", hash = "sha256:37e51dd1c2db16ede9cfd7b5cabdfc818b2c6397c83f8b10e0e797501c963a03"}, + {file = "matplotlib-3.9.2-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:b82c5045cebcecd8496a4d694d43f9cc84aeeb49fe2133e036b207abe73f4d30"}, + {file = "matplotlib-3.9.2-cp313-cp313t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:f053c40f94bc51bc03832a41b4f153d83f2062d88c72b5e79997072594e97e51"}, + {file = "matplotlib-3.9.2-cp313-cp313t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:dbe196377a8248972f5cede786d4c5508ed5f5ca4a1e09b44bda889958b33f8c"}, + {file = "matplotlib-3.9.2-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:5816b1e1fe8c192cbc013f8f3e3368ac56fbecf02fb41b8f8559303f24c5015e"}, + {file = "matplotlib-3.9.2-cp39-cp39-macosx_10_12_x86_64.whl", hash = "sha256:cef2a73d06601437be399908cf13aee74e86932a5ccc6ccdf173408ebc5f6bb2"}, + {file = "matplotlib-3.9.2-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:e0830e188029c14e891fadd99702fd90d317df294c3298aad682739c5533721a"}, + {file = "matplotlib-3.9.2-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:03ba9c1299c920964e8d3857ba27173b4dbb51ca4bab47ffc2c2ba0eb5e2cbc5"}, + {file = "matplotlib-3.9.2-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:1cd93b91ab47a3616b4d3c42b52f8363b88ca021e340804c6ab2536344fad9ca"}, + {file = "matplotlib-3.9.2-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:6d1ce5ed2aefcdce11904fc5bbea7d9c21fff3d5f543841edf3dea84451a09ea"}, + {file = "matplotlib-3.9.2-cp39-cp39-win_amd64.whl", hash = "sha256:b2696efdc08648536efd4e1601b5fd491fd47f4db97a5fbfd175549a7365c1b2"}, + {file = "matplotlib-3.9.2-pp39-pypy39_pp73-macosx_10_15_x86_64.whl", hash = "sha256:d52a3b618cb1cbb769ce2ee1dcdb333c3ab6e823944e9a2d36e37253815f9556"}, + {file = "matplotlib-3.9.2-pp39-pypy39_pp73-macosx_11_0_arm64.whl", hash = "sha256:039082812cacd6c6bec8e17a9c1e6baca230d4116d522e81e1f63a74d01d2e21"}, + {file = "matplotlib-3.9.2-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:6758baae2ed64f2331d4fd19be38b7b4eae3ecec210049a26b6a4f3ae1c85dcc"}, + {file = "matplotlib-3.9.2-pp39-pypy39_pp73-win_amd64.whl", hash = "sha256:050598c2b29e0b9832cde72bcf97627bf00262adbc4a54e2b856426bb2ef0697"}, + {file = "matplotlib-3.9.2.tar.gz", hash = "sha256:96ab43906269ca64a6366934106fa01534454a69e471b7bf3d79083981aaab92"}, ] [package.dependencies] contourpy = ">=1.0.1" cycler = ">=0.10" fonttools = ">=4.22.0" -importlib-resources = {version = ">=3.2.0", markers = "python_version < \"3.10\""} -kiwisolver = ">=1.0.1" -numpy = ">=1.20,<2" +kiwisolver = ">=1.3.1" +numpy = ">=1.23" packaging = ">=20.0" -pillow = ">=6.2.0" +pillow = ">=8" pyparsing = ">=2.3.1" python-dateutil = ">=2.7" +[package.extras] +dev = ["meson-python (>=0.13.1)", "numpy (>=1.25)", "pybind11 (>=2.6)", "setuptools (>=64)", "setuptools_scm (>=7)"] + [[package]] name = "matplotlib-inline" version = "0.1.7" @@ -3563,20 +3558,6 @@ pyyaml = "*" [package.extras] extra = ["pygments (>=2.12)"] -[[package]] -name = "pyparsing" -version = "3.0.9" -description = "pyparsing module - Classes and methods to define and execute parsing grammars" -optional = false -python-versions = ">=3.6.8" -files = [ - {file = "pyparsing-3.0.9-py3-none-any.whl", hash = "sha256:5026bae9a10eeaefb61dab2f09052b9f4307d44aee4eda64b309723d8d206bbc"}, - {file = "pyparsing-3.0.9.tar.gz", hash = "sha256:2b020ecf7d21b687f219b71ecad3631f644a47f01403fa1d1036b0c6416d70fb"}, -] - -[package.extras] -diagrams = ["jinja2", "railroad-diagrams"] - [[package]] name = "pyparsing" version = "3.1.4" @@ -5050,4 +5031,4 @@ metrics = ["pandas", "pandas"] [metadata] lock-version = "2.0" python-versions = "^3.8" -content-hash = "d4cecb2272cd92fb70c28f890d56cad3d9b98b1b0ade1c070b604b03c2b7ea9a" +content-hash = "4e9be315f68aec26db7fc83aaba4add0f051ddb2f118ad4f135f8d8ac4efbb7b" diff --git a/pyproject.toml b/pyproject.toml index 329dc84bd8..617174b436 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -69,7 +69,12 @@ contourpy = [ { version = ">=1.3.0", python = ">=3.13" }, ] -matplotlib = ">=3.6.0" +matplotlib = [ + { version = ">=3.6.0,<3.7.3", python = ">=3.8,<3.12" }, + { version = ">=3.7.3", python = ">=3.12" }, +] + + pyyaml = ">=5.3" defusedxml = "^0.7.1" pillow = ">=9.4" From 159c507d7f71938a88ed74f068db0ea98ecf939e Mon Sep 17 00:00:00 2001 From: Onuralp SEZER Date: Thu, 28 Nov 2024 03:35:31 +0300 Subject: [PATCH 029/420] =?UTF-8?q?fix:=20=F0=9F=90=9E=20update=20matplotl?= =?UTF-8?q?ib=20version=20constraints=20for=20Python=203.8=20and=203.13=20?= =?UTF-8?q?compatibility?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Onuralp SEZER --- poetry.lock | 95 +++++++++++++++++++++++++++----------------------- pyproject.toml | 4 ++- 2 files changed, 54 insertions(+), 45 deletions(-) diff --git a/poetry.lock b/poetry.lock index 1f10db2ff6..a98d5313c7 100644 --- a/poetry.lock +++ b/poetry.lock @@ -2132,52 +2132,58 @@ files = [ [[package]] name = "matplotlib" -version = "3.7.1" +version = "3.7.5" description = "Python plotting package" optional = false python-versions = ">=3.8" files = [ - {file = "matplotlib-3.7.1-cp310-cp310-macosx_10_12_universal2.whl", hash = "sha256:95cbc13c1fc6844ab8812a525bbc237fa1470863ff3dace7352e910519e194b1"}, - {file = "matplotlib-3.7.1-cp310-cp310-macosx_10_12_x86_64.whl", hash = "sha256:08308bae9e91aca1ec6fd6dda66237eef9f6294ddb17f0d0b3c863169bf82353"}, - {file = "matplotlib-3.7.1-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:544764ba51900da4639c0f983b323d288f94f65f4024dc40ecb1542d74dc0500"}, - {file = "matplotlib-3.7.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:56d94989191de3fcc4e002f93f7f1be5da476385dde410ddafbb70686acf00ea"}, - {file = "matplotlib-3.7.1-cp310-cp310-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:e99bc9e65901bb9a7ce5e7bb24af03675cbd7c70b30ac670aa263240635999a4"}, - {file = "matplotlib-3.7.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:eb7d248c34a341cd4c31a06fd34d64306624c8cd8d0def7abb08792a5abfd556"}, - {file = "matplotlib-3.7.1-cp310-cp310-win32.whl", hash = "sha256:ce463ce590f3825b52e9fe5c19a3c6a69fd7675a39d589e8b5fbe772272b3a24"}, - {file = "matplotlib-3.7.1-cp310-cp310-win_amd64.whl", hash = "sha256:3d7bc90727351fb841e4d8ae620d2d86d8ed92b50473cd2b42ce9186104ecbba"}, - {file = "matplotlib-3.7.1-cp311-cp311-macosx_10_12_universal2.whl", hash = "sha256:770a205966d641627fd5cf9d3cb4b6280a716522cd36b8b284a8eb1581310f61"}, - {file = "matplotlib-3.7.1-cp311-cp311-macosx_10_12_x86_64.whl", hash = "sha256:f67bfdb83a8232cb7a92b869f9355d677bce24485c460b19d01970b64b2ed476"}, - {file = "matplotlib-3.7.1-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:2bf092f9210e105f414a043b92af583c98f50050559616930d884387d0772aba"}, - {file = "matplotlib-3.7.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:89768d84187f31717349c6bfadc0e0d8c321e8eb34522acec8a67b1236a66332"}, - {file = "matplotlib-3.7.1-cp311-cp311-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:83111e6388dec67822e2534e13b243cc644c7494a4bb60584edbff91585a83c6"}, - {file = "matplotlib-3.7.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:a867bf73a7eb808ef2afbca03bcdb785dae09595fbe550e1bab0cd023eba3de0"}, - {file = "matplotlib-3.7.1-cp311-cp311-win32.whl", hash = "sha256:fbdeeb58c0cf0595efe89c05c224e0a502d1aa6a8696e68a73c3efc6bc354304"}, - {file = "matplotlib-3.7.1-cp311-cp311-win_amd64.whl", hash = "sha256:c0bd19c72ae53e6ab979f0ac6a3fafceb02d2ecafa023c5cca47acd934d10be7"}, - {file = "matplotlib-3.7.1-cp38-cp38-macosx_10_12_universal2.whl", hash = "sha256:6eb88d87cb2c49af00d3bbc33a003f89fd9f78d318848da029383bfc08ecfbfb"}, - {file = "matplotlib-3.7.1-cp38-cp38-macosx_10_12_x86_64.whl", hash = "sha256:cf0e4f727534b7b1457898c4f4ae838af1ef87c359b76dcd5330fa31893a3ac7"}, - {file = "matplotlib-3.7.1-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:46a561d23b91f30bccfd25429c3c706afe7d73a5cc64ef2dfaf2b2ac47c1a5dc"}, - {file = "matplotlib-3.7.1-cp38-cp38-manylinux_2_12_i686.manylinux2010_i686.whl", hash = "sha256:8704726d33e9aa8a6d5215044b8d00804561971163563e6e6591f9dcf64340cc"}, - {file = "matplotlib-3.7.1-cp38-cp38-manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:4cf327e98ecf08fcbb82685acaf1939d3338548620ab8dfa02828706402c34de"}, - {file = "matplotlib-3.7.1-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:617f14ae9d53292ece33f45cba8503494ee199a75b44de7717964f70637a36aa"}, - {file = "matplotlib-3.7.1-cp38-cp38-win32.whl", hash = "sha256:7c9a4b2da6fac77bcc41b1ea95fadb314e92508bf5493ceff058e727e7ecf5b0"}, - {file = "matplotlib-3.7.1-cp38-cp38-win_amd64.whl", hash = "sha256:14645aad967684e92fc349493fa10c08a6da514b3d03a5931a1bac26e6792bd1"}, - {file = "matplotlib-3.7.1-cp39-cp39-macosx_10_12_universal2.whl", hash = "sha256:81a6b377ea444336538638d31fdb39af6be1a043ca5e343fe18d0f17e098770b"}, - {file = "matplotlib-3.7.1-cp39-cp39-macosx_10_12_x86_64.whl", hash = "sha256:28506a03bd7f3fe59cd3cd4ceb2a8d8a2b1db41afede01f66c42561b9be7b4b7"}, - {file = "matplotlib-3.7.1-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:8c587963b85ce41e0a8af53b9b2de8dddbf5ece4c34553f7bd9d066148dc719c"}, - {file = "matplotlib-3.7.1-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:8bf26ade3ff0f27668989d98c8435ce9327d24cffb7f07d24ef609e33d582439"}, - {file = "matplotlib-3.7.1-cp39-cp39-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:def58098f96a05f90af7e92fd127d21a287068202aa43b2a93476170ebd99e87"}, - {file = "matplotlib-3.7.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f883a22a56a84dba3b588696a2b8a1ab0d2c3d41be53264115c71b0a942d8fdb"}, - {file = "matplotlib-3.7.1-cp39-cp39-win32.whl", hash = "sha256:4f99e1b234c30c1e9714610eb0c6d2f11809c9c78c984a613ae539ea2ad2eb4b"}, - {file = "matplotlib-3.7.1-cp39-cp39-win_amd64.whl", hash = "sha256:3ba2af245e36990facf67fde840a760128ddd71210b2ab6406e640188d69d136"}, - {file = "matplotlib-3.7.1-pp38-pypy38_pp73-macosx_10_12_x86_64.whl", hash = "sha256:3032884084f541163f295db8a6536e0abb0db464008fadca6c98aaf84ccf4717"}, - {file = "matplotlib-3.7.1-pp38-pypy38_pp73-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:3a2cb34336110e0ed8bb4f650e817eed61fa064acbefeb3591f1b33e3a84fd96"}, - {file = "matplotlib-3.7.1-pp38-pypy38_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:b867e2f952ed592237a1828f027d332d8ee219ad722345b79a001f49df0936eb"}, - {file = "matplotlib-3.7.1-pp38-pypy38_pp73-win_amd64.whl", hash = "sha256:57bfb8c8ea253be947ccb2bc2d1bb3862c2bccc662ad1b4626e1f5e004557042"}, - {file = "matplotlib-3.7.1-pp39-pypy39_pp73-macosx_10_12_x86_64.whl", hash = "sha256:438196cdf5dc8d39b50a45cb6e3f6274edbcf2254f85fa9b895bf85851c3a613"}, - {file = "matplotlib-3.7.1-pp39-pypy39_pp73-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:21e9cff1a58d42e74d01153360de92b326708fb205250150018a52c70f43c290"}, - {file = "matplotlib-3.7.1-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:75d4725d70b7c03e082bbb8a34639ede17f333d7247f56caceb3801cb6ff703d"}, - {file = "matplotlib-3.7.1-pp39-pypy39_pp73-win_amd64.whl", hash = "sha256:97cc368a7268141afb5690760921765ed34867ffb9655dd325ed207af85c7529"}, - {file = "matplotlib-3.7.1.tar.gz", hash = "sha256:7b73305f25eab4541bd7ee0b96d87e53ae9c9f1823be5659b806cd85786fe882"}, + {file = "matplotlib-3.7.5-cp310-cp310-macosx_10_12_universal2.whl", hash = "sha256:4a87b69cb1cb20943010f63feb0b2901c17a3b435f75349fd9865713bfa63925"}, + {file = "matplotlib-3.7.5-cp310-cp310-macosx_10_12_x86_64.whl", hash = "sha256:d3ce45010fefb028359accebb852ca0c21bd77ec0f281952831d235228f15810"}, + {file = "matplotlib-3.7.5-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:fbea1e762b28400393d71be1a02144aa16692a3c4c676ba0178ce83fc2928fdd"}, + {file = "matplotlib-3.7.5-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:ec0e1adc0ad70ba8227e957551e25a9d2995e319c29f94a97575bb90fa1d4469"}, + {file = "matplotlib-3.7.5-cp310-cp310-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:6738c89a635ced486c8a20e20111d33f6398a9cbebce1ced59c211e12cd61455"}, + {file = "matplotlib-3.7.5-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:1210b7919b4ed94b5573870f316bca26de3e3b07ffdb563e79327dc0e6bba515"}, + {file = "matplotlib-3.7.5-cp310-cp310-win32.whl", hash = "sha256:068ebcc59c072781d9dcdb82f0d3f1458271c2de7ca9c78f5bd672141091e9e1"}, + {file = "matplotlib-3.7.5-cp310-cp310-win_amd64.whl", hash = "sha256:f098ffbaab9df1e3ef04e5a5586a1e6b1791380698e84938d8640961c79b1fc0"}, + {file = "matplotlib-3.7.5-cp311-cp311-macosx_10_12_universal2.whl", hash = "sha256:f65342c147572673f02a4abec2d5a23ad9c3898167df9b47c149f32ce61ca078"}, + {file = "matplotlib-3.7.5-cp311-cp311-macosx_10_12_x86_64.whl", hash = "sha256:4ddf7fc0e0dc553891a117aa083039088d8a07686d4c93fb8a810adca68810af"}, + {file = "matplotlib-3.7.5-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:0ccb830fc29442360d91be48527809f23a5dcaee8da5f4d9b2d5b867c1b087b8"}, + {file = "matplotlib-3.7.5-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:efc6bb28178e844d1f408dd4d6341ee8a2e906fc9e0fa3dae497da4e0cab775d"}, + {file = "matplotlib-3.7.5-cp311-cp311-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:3b15c4c2d374f249f324f46e883340d494c01768dd5287f8bc00b65b625ab56c"}, + {file = "matplotlib-3.7.5-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:3d028555421912307845e59e3de328260b26d055c5dac9b182cc9783854e98fb"}, + {file = "matplotlib-3.7.5-cp311-cp311-win32.whl", hash = "sha256:fe184b4625b4052fa88ef350b815559dd90cc6cc8e97b62f966e1ca84074aafa"}, + {file = "matplotlib-3.7.5-cp311-cp311-win_amd64.whl", hash = "sha256:084f1f0f2f1010868c6f1f50b4e1c6f2fb201c58475494f1e5b66fed66093647"}, + {file = "matplotlib-3.7.5-cp312-cp312-macosx_10_12_universal2.whl", hash = "sha256:34bceb9d8ddb142055ff27cd7135f539f2f01be2ce0bafbace4117abe58f8fe4"}, + {file = "matplotlib-3.7.5-cp312-cp312-macosx_10_12_x86_64.whl", hash = "sha256:c5a2134162273eb8cdfd320ae907bf84d171de948e62180fa372a3ca7cf0f433"}, + {file = "matplotlib-3.7.5-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:039ad54683a814002ff37bf7981aa1faa40b91f4ff84149beb53d1eb64617980"}, + {file = "matplotlib-3.7.5-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:4d742ccd1b09e863b4ca58291728db645b51dab343eebb08d5d4b31b308296ce"}, + {file = "matplotlib-3.7.5-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:743b1c488ca6a2bc7f56079d282e44d236bf375968bfd1b7ba701fd4d0fa32d6"}, + {file = "matplotlib-3.7.5-cp312-cp312-win_amd64.whl", hash = "sha256:fbf730fca3e1f23713bc1fae0a57db386e39dc81ea57dc305c67f628c1d7a342"}, + {file = "matplotlib-3.7.5-cp38-cp38-macosx_10_12_universal2.whl", hash = "sha256:cfff9b838531698ee40e40ea1a8a9dc2c01edb400b27d38de6ba44c1f9a8e3d2"}, + {file = "matplotlib-3.7.5-cp38-cp38-macosx_10_12_x86_64.whl", hash = "sha256:1dbcca4508bca7847fe2d64a05b237a3dcaec1f959aedb756d5b1c67b770c5ee"}, + {file = "matplotlib-3.7.5-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:4cdf4ef46c2a1609a50411b66940b31778db1e4b73d4ecc2eaa40bd588979b13"}, + {file = "matplotlib-3.7.5-cp38-cp38-manylinux_2_12_i686.manylinux2010_i686.whl", hash = "sha256:167200ccfefd1674b60e957186dfd9baf58b324562ad1a28e5d0a6b3bea77905"}, + {file = "matplotlib-3.7.5-cp38-cp38-manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:53e64522934df6e1818b25fd48cf3b645b11740d78e6ef765fbb5fa5ce080d02"}, + {file = "matplotlib-3.7.5-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d3e3bc79b2d7d615067bd010caff9243ead1fc95cf735c16e4b2583173f717eb"}, + {file = "matplotlib-3.7.5-cp38-cp38-win32.whl", hash = "sha256:6b641b48c6819726ed47c55835cdd330e53747d4efff574109fd79b2d8a13748"}, + {file = "matplotlib-3.7.5-cp38-cp38-win_amd64.whl", hash = "sha256:f0b60993ed3488b4532ec6b697059897891927cbfc2b8d458a891b60ec03d9d7"}, + {file = "matplotlib-3.7.5-cp39-cp39-macosx_10_12_universal2.whl", hash = "sha256:090964d0afaff9c90e4d8de7836757e72ecfb252fb02884016d809239f715651"}, + {file = "matplotlib-3.7.5-cp39-cp39-macosx_10_12_x86_64.whl", hash = "sha256:9fc6fcfbc55cd719bc0bfa60bde248eb68cf43876d4c22864603bdd23962ba25"}, + {file = "matplotlib-3.7.5-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:5e7cc3078b019bb863752b8b60e8b269423000f1603cb2299608231996bd9d54"}, + {file = "matplotlib-3.7.5-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:1e4e9a868e8163abaaa8259842d85f949a919e1ead17644fb77a60427c90473c"}, + {file = "matplotlib-3.7.5-cp39-cp39-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:fa7ebc995a7d747dacf0a717d0eb3aa0f0c6a0e9ea88b0194d3a3cd241a1500f"}, + {file = "matplotlib-3.7.5-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:3785bfd83b05fc0e0c2ae4c4a90034fe693ef96c679634756c50fe6efcc09856"}, + {file = "matplotlib-3.7.5-cp39-cp39-win32.whl", hash = "sha256:29b058738c104d0ca8806395f1c9089dfe4d4f0f78ea765c6c704469f3fffc81"}, + {file = "matplotlib-3.7.5-cp39-cp39-win_amd64.whl", hash = "sha256:fd4028d570fa4b31b7b165d4a685942ae9cdc669f33741e388c01857d9723eab"}, + {file = "matplotlib-3.7.5-pp38-pypy38_pp73-macosx_10_12_x86_64.whl", hash = "sha256:2a9a3f4d6a7f88a62a6a18c7e6a84aedcaf4faf0708b4ca46d87b19f1b526f88"}, + {file = "matplotlib-3.7.5-pp38-pypy38_pp73-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:b9b3fd853d4a7f008a938df909b96db0b454225f935d3917520305b90680579c"}, + {file = "matplotlib-3.7.5-pp38-pypy38_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f0ad550da9f160737d7890217c5eeed4337d07e83ca1b2ca6535078f354e7675"}, + {file = "matplotlib-3.7.5-pp38-pypy38_pp73-win_amd64.whl", hash = "sha256:20da7924a08306a861b3f2d1da0d1aa9a6678e480cf8eacffe18b565af2813e7"}, + {file = "matplotlib-3.7.5-pp39-pypy39_pp73-macosx_10_12_x86_64.whl", hash = "sha256:b45c9798ea6bb920cb77eb7306409756a7fab9db9b463e462618e0559aecb30e"}, + {file = "matplotlib-3.7.5-pp39-pypy39_pp73-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:a99866267da1e561c7776fe12bf4442174b79aac1a47bd7e627c7e4d077ebd83"}, + {file = "matplotlib-3.7.5-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:2b6aa62adb6c268fc87d80f963aca39c64615c31830b02697743c95590ce3fbb"}, + {file = "matplotlib-3.7.5-pp39-pypy39_pp73-win_amd64.whl", hash = "sha256:e530ab6a0afd082d2e9c17eb1eb064a63c5b09bb607b2b74fa41adbe3e162286"}, + {file = "matplotlib-3.7.5.tar.gz", hash = "sha256:1e5c971558ebc811aa07f54c7b7c677d78aa518ef4c390e14673a09e0860184a"}, ] [package.dependencies] @@ -2186,7 +2192,7 @@ cycler = ">=0.10" fonttools = ">=4.22.0" importlib-resources = {version = ">=3.2.0", markers = "python_version < \"3.10\""} kiwisolver = ">=1.0.1" -numpy = ">=1.20" +numpy = ">=1.20,<2" packaging = ">=20.0" pillow = ">=6.2.0" pyparsing = ">=2.3.1" @@ -2245,6 +2251,7 @@ files = [ contourpy = ">=1.0.1" cycler = ">=0.10" fonttools = ">=4.22.0" +importlib-resources = {version = ">=3.2.0", markers = "python_version < \"3.10\""} kiwisolver = ">=1.3.1" numpy = ">=1.23" packaging = ">=20.0" @@ -5031,4 +5038,4 @@ metrics = ["pandas", "pandas"] [metadata] lock-version = "2.0" python-versions = "^3.8" -content-hash = "4e9be315f68aec26db7fc83aaba4add0f051ddb2f118ad4f135f8d8ac4efbb7b" +content-hash = "0ddc88a3a3dd4e000b356a8743cfb95e6a8796f7546c4dc9a52a8fd51bab31bc" diff --git a/pyproject.toml b/pyproject.toml index 617174b436..84e674d636 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -70,8 +70,10 @@ contourpy = [ ] matplotlib = [ - { version = ">=3.6.0,<3.7.3", python = ">=3.8,<3.12" }, + { version = ">=3.6.0,<3.8.0", python = "3.8" }, + { version = ">=3.6.0", python = ">=3.9" }, { version = ">=3.7.3", python = ">=3.12" }, + { version = ">=3.9.2", python = ">=3.13" }, ] From c0d5a7fd253d57f0857214bb56118d628ffa79b0 Mon Sep 17 00:00:00 2001 From: Onuralp SEZER Date: Thu, 28 Nov 2024 03:46:25 +0300 Subject: [PATCH 030/420] chore: some ci files tidied Signed-off-by: Onuralp SEZER --- .github/workflows/poetry-test.yml | 5 ++++- .github/workflows/test-min.yml | 2 -- .github/workflows/test.yml | 2 +- 3 files changed, 5 insertions(+), 4 deletions(-) diff --git a/.github/workflows/poetry-test.yml b/.github/workflows/poetry-test.yml index da96cf25d1..52f324f22b 100644 --- a/.github/workflows/poetry-test.yml +++ b/.github/workflows/poetry-test.yml @@ -36,5 +36,8 @@ jobs: - name: 🚀 Do Install the package Test run: poetry install --with dev --extras metrics - - name: 🧪 Run the simple script + - name: 🧪 Run the Import test run: poetry run python -c "import supervision; from supervision import assets; from supervision import metrics; print(supervision.__version__)" + + - name: 🧪 Run the pytests + run: poetry run python -m pytest ./test diff --git a/.github/workflows/test-min.yml b/.github/workflows/test-min.yml index 1537a63fe5..7a61282c08 100644 --- a/.github/workflows/test-min.yml +++ b/.github/workflows/test-min.yml @@ -15,8 +15,6 @@ jobs: uses: actions/checkout@v4 - name: 🐍 Set up Python ${{ matrix.python-version }} uses: actions/setup-python@v5 - # id based on python version - id: python-setup with: python-version: ${{ matrix.python-version }} check-latest: true diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index b33f8e537b..2f814c2ce1 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -25,5 +25,5 @@ jobs: pip install . pip install pytest - - name: 🧪 Test + - name: 🧪 PyTest run: "python -m pytest ./test" From d1c8adb33a94ceded77a150eeec03bf9a0a45ad4 Mon Sep 17 00:00:00 2001 From: LinasKo Date: Fri, 22 Nov 2024 18:05:12 +0200 Subject: [PATCH 031/420] How To: Benchmark Model * Initial version of model benchmarking guide --- docs/how_to/benchmark_a_model.md | 334 +++++++++++++++++++++++++++++++ mkdocs.yml | 1 + 2 files changed, 335 insertions(+) create mode 100644 docs/how_to/benchmark_a_model.md diff --git a/docs/how_to/benchmark_a_model.md b/docs/how_to/benchmark_a_model.md new file mode 100644 index 0000000000..63543bf91f --- /dev/null +++ b/docs/how_to/benchmark_a_model.md @@ -0,0 +1,334 @@ +--- +comments: true +status: new +--- + +# Benchmark a Model + +## Overview + +Have you ever trained multiple object detection models and wondered which one performs best on your specific use case? Or maybe you've downloaded a pre-trained model and want to verify its performance on your dataset? Model benchmarking is essential for making informed decisions about which model to deploy in production. + +This guide will show an easy way to benchmark your results using `supervision`. It will go over: + +1. [Loading a dataset](#loading-a-dataset) +2. [Loading a model](#loading-a-model) +3. [Benchmarking Basics](#benchmarking-basics) +4. [Visual Benchmarking](#visual-benchmarking) +5. [Metric: Mean Average Precision (mAP)](#metric-mean-average-precision-map) +6. [Metric: F1 Score](#metric-f1-score) +7. [Bonus: Model Leaderboard](#model-leaderboard) + +This guide applies to object detection, instance segmentation, and oriented bounding box models (OBB). + +## Loading a Dataset + +Suppose you start with a dataset. Perhaps you found it on [Universe](https://universe.roboflow.com/); perhaps you [labeled your own](https://roboflow.com/how-to-label/yolo11). In either case, this guide assumes you have a dataset with labels in your [Roboflow Workspace](https://app.roboflow.com/). + +Let's use the following libraries: + +- `roboflow` to manage the dataset and deploy models +- `inference` to run the models +- `supervision` to evaluate the model results + +```bash +pip install roboflow inference supervision +``` + +Here's how you can download a dataset: + +```python +from roboflow import Roboflow + +rf = Roboflow(api_key="") +project = rf.workspace("").project("") +dataset = project.version().download("") +``` + +In this guide, we shall use the [car part segmentation dataset](https://universe.roboflow.com/alpaco5-f3woi/part-autolabeld). + +```python +from roboflow import Roboflow + +rf = Roboflow(api_key="") +project = rf.workspace("alpaco5-f3woi").project("part-autolabeld") +dataset = project.version(5).download("yolov11") +``` + +This will create a folder called `part-autolabeld` with the dataset in the current working directory, with `train`, `test`, and `valid` folders and `data.yaml` file. + +## Loading a Model + +Let's load a single model, and see how to evaluate it. To evaluate another, simply return to this step. + +=== "Pretrained Model" + + Roboflow supports a range of state-of-the-art [pre-trained models](https://inference.roboflow.com/quickstart/aliases/) for object detection, instance segmentation, and pose tracking. You don't even need an API key! + + Let's load such a model with inference [`inference`](https://inference.roboflow.com/). + + ```python + from inference import get_model + + model = get_model(model_id="yolov11s-640") + ``` + +=== "Trained on Roboflow Platform" + + You can train and deploy a model without leaving the Roboflow platform. See this [guide](https://docs.roboflow.com/train/train/train-from-scratch) for more details. + + To load a model, you can use inference: + + ```python + from inference import get_model + + model_id = "/" + model = get_model(model_id=model_id) + ``` + +=== "Locally Trained Model" + + To train a model locally, we can use ultralytics. Run the following code in your terminal. Note that it applies to segmentation, but can also be used for object detection and oriented bounding box models, if you change `task` and `model` arguments. + + ```bash + pip install ultralytics + yolo task=segment mode=train model=yolo11s-seg.pt data=part-autolabeld/data.yaml epochs=10 imgsz=640 + ``` + + Once the model is trained, you can deploy it to Roboflow, making it available anywhere. + + Note: if using other model types, change to `-obb` or remove suffix in `model_type` and replace `segment` with `obb`or `detect`. Multiple runs also produce multiple folders such as `segment`, `segment1`, `segment2`, etc. + + ```python + project.version(dataset.version).deploy( + model_type="yolov11-seg", model_path=f"runs/segment/train/weights/best.pt" + ) + + from inference import get_model + model_id = project.id.split("/")[1] + "/" + dataset.version + model = get_model(model_id=model_id) + ``` + +## Benchmarking Basics + +Evaluating your model requires careful selection of the dataset. Which images should you use?Let's go over the different subsets of a dataset. + +- **Training Set**: This is the set of images used to train the model. Since the model learns to maximize its accuracy on this set, it should **never** be used for validation - the results will seem unrealistically good. +- **Validation Set**: This is the set of images used to validate the model during training. Every Nth training epoch, the model is evaluated on the validation set. Often the training is stopped once the validation loss stops improving. Therefore, even while the images aren't used to train the model, it still influences the training outcome. +- **Test Set**: This is the set of images kept aside for model testing. It is exactly the set you should use for benchmarking. If the dataset was split correctly, none of these images would be shown to the model during training. + +Therefore, the `test` set is the best choice for benchmarking. +Several other problems may arise: + +- **Data Contamination**: It's possible that the dataset was not split correctly and some images from the test set were used during training. In this case, the results will be overly optimistic. It also covers the case where **very similar** images were used for training and testing - e.g. those taken in the same environment. +- **Missing Test Set**: Some datasets do not come with a test set. In this case, you should collect and [label](https://roboflow.com/annotate) your own data. Alternatively, a validation set could be used, but the results could be overly optimistic. Make sure to test in the real world asap. + +## Running a Model + +At this stage, we should have: + +- A set of labeled images we'll use to evaluate the model. +- The model we wish to benchmark. + +Let's run the model and obtain the predictions. +We'll use `supervision` to iterate over the images. + +=== "Roboflow Inference" + + ```python + import supervision as sv + + test_set = sv.DetectionDataset.from_yolo( + images_directory_path=f"{dataset.location}/test/images", + annotations_directory_path=f"{dataset.location}/test/labels", + data_yaml_path=f"{dataset.location}/data.yaml" + ) + + image_paths = [] + predictions_list = [] + targets_list = [] + + for image_path, image, label in test_set: + result = model.infer(image)[0] + predictions = sv.Detections.from_inference(result) + + image_paths.append(image_path) + predictions_list.append(predictions) + targets_list.append(label) + ``` + +=== "Ultralytics" + + ```python + import supervision as sv + + test_set = sv.DetectionDataset.from_yolo( + images_directory_path=f"{dataset.location}/test/images", + annotations_directory_path=f"{dataset.location}/test/labels", + data_yaml_path=f"{dataset.location}/data.yaml" + ) + + image_paths = [] + predictions_list = [] + targets_list = [] + + for image_path, image, label in test_set: + result = model(image)[0] + predictions = sv.Detections.from_ultralytics(result) + + image_paths.append(image_path) + predictions_list.append(predictions) + targets_list.append(label) + ``` + +## Visualizing Predictions + +The first step in evaluating your model’s performance is to visualize its predictions. +This gives an intuitive sense of how well your model is detecting objects and where it might be failing. + +```python +import supervision as sv + +N = 9 +GRID_SIZE = (3, 3) + +box_annotator_predictions = sv.BoxAnnotator(color=sv.Color.BLUE) +box_annotator_targets = sv.BoxAnnotator(color=sv.Color.GREEN) + +annotated_images = [] +for image_path, predictions, targets in zip( + image_paths[:N], predictions_list[:N], targets_list[:N] +): + annotated_image = cv2.imread(image_path) + annotated_image = box_annotator_targets.annotate( + scene=annotated_image, detections=targets + ) + annotated_image = box_annotator_predictions.annotate( + scene=annotated_image, detections=predictions + ) + +sv.plot_images_grid(images=annotated_images, grid_size=GRID_SIZE) +``` + + + +!!! tip + + Use `sv.MaskAnnotator` for segmentation and `sv.OrientedBoxAnnotator` for OBB. + + See [annotator documentation](https://supervision.roboflow.com/latest/detection/annotators/) for more details. + +## Benchmarking Metrics + +With multiple models, fine details matter. Visual inspection may not be enough. `supervision` provides a collection of metrics that help obtain precise numerical results of model performance. + +### Mean Average Precision (mAP) + +We'll start with [MeanAveragePrecision (mAP)](https://supervision.roboflow.com/latest/metrics/mean_average_precision/#supervision.metrics.mean_average_precision.MeanAveragePrecision), which is the most commonly used metric for object detection. It measures the average precision across all classes and IoU thresholds. + +For a thorough explanation, check out our [blog](https://blog.roboflow.com/mean-average-precision/) or [Youtube video](https://www.youtube.com/watch?v=oqXDdxF_Wuw). + +Here, the most important value is `mAP 50:95`. It represents the average precision across all classes and IoU thresholds (`0.5` to `0.95`), whereas other values such as `mAP 50` or `mAP 75` only consider a single IoU threshold (`0.5` and `0.75` respectively). + +Let's compute the mAP: + +```python +import supervision as sv + +map_metric = sv.metrics.MeanAveragePrecision() +map_result = map_metric.update(predictions_list, targets_list).compute() +``` + +Try printing the result to see it at a glance: + +```python +print(map_result) +``` + +``` +MeanAveragePrecisionResult: +Metric target: MetricTarget.BOXES +Class agnostic: False +mAP @ 50:95: 0.4674 +mAP @ 50: 0.5048 +mAP @ 75: 0.4796 +mAP scores: [0.50485 0.50377 0.50377 ...] +IoU thresh: [0.5 0.55 0.6 ...] +AP per class: +0: [0.67699 0.67699 0.67699 ...] +... +Small objects: ... +Medium objects: ... +Large objects: ... +``` + +You can also plot the results: + +```python +map_result.plot() +``` + +![mAP Plot](https://media.roboflow.com/supervision-docs/metrics/mAP_plot_example.png) + +The metric also breaks down the results by detected object area. Small, medium and large are simply those with area less than 32², between 32² and 96², and greater than 96² pixels respectively. + +### F1 Score + +The [F1 Score](https://supervision.roboflow.com/latest/metrics/f1_score/) is another useful metric, especially when dealing with an imbalance between false positives and false negatives. It’s the harmonic mean of **precision** (how many predictions are correct) and **recall** (how many actual instances were detected). + +Here's how you can compute the F1 score: + +```python +import supervision as sv + +f1_metric = sv.metrics.F1Score() +f1_result = f1_metric.update(predictions_list, targets_list).compute() +``` + +As with mAP, you can also print the result: + +```python +print(f1_result) +``` + +``` +F1ScoreResult: +Metric target: MetricTarget.BOXES +Averaging method: AveragingMethod.WEIGHTED +F1 @ 50: 0.7618 +F1 @ 75: 0.7487 +F1 @ thresh: [0.76175 0.76068 0.76068] +IoU thresh: [0.5 0.55 0.6 ...] +F1 per class: +0: [0.70968 0.70968 0.70968 ...] +... +Small objects: ... +Medium objects: ... +Large objects: ... +``` + +Similarly, you can plot the results: + +```python +f1_result.plot() +``` + +![F1 Plot](https://media.roboflow.com/supervision-docs/metrics/f1_plot_example.png) + +As with mAP, the metric also breaks down the results by detected object area. Small, medium and large are simply those with area less than 32², between 32² and 96², and greater than 96² pixels respectively. + +## Model Leaderboard + +Here to compare the basic models? We've got you covered. Check out our [Model Leaderboard](https://leaderboard.roboflow.com/) to see how different models perform and to get a sense of the state-of-the-art results. It's a great place to understand what the leading models can achieve and to compare your own results. + +Even better, the repository is open source! You can see how the models were benchmarked, run the evaluation yourself, and even add your own models to the leaderboard. Check it out on [GitHub](https://github.com/roboflow/model-leaderboard)! + +![Model Leaderboard Example](https://media.roboflow.com/model-leaderboard/model-leaderboard-example.png) + +## Conclusion + +In this guide, you've learned how to set up your environment, train or use pre-trained models, visualize predictions, and evaluate model performance with metrics like [mAP](https://supervision.roboflow.com/latest/metrics/mean_average_precision/), [F1 score](https://supervision.roboflow.com/latest/metrics/f1_score/), and got to know our Model Leaderboard. + +For more details, be sure to check out our [documentation](https://supervision.roboflow.com/latest/) and join our community discussions. If you find any issues, please let us know on [GitHub](https://github.com/roboflow/supervision/issues). + +Best of luck with your benchmarking! diff --git a/mkdocs.yml b/mkdocs.yml index 6d013a7308..f326297bf8 100644 --- a/mkdocs.yml +++ b/mkdocs.yml @@ -42,6 +42,7 @@ nav: - Detect Small Objects: how_to/detect_small_objects.md - Track Objects on Video: how_to/track_objects.md - Process Datasets: how_to/process_datasets.md + - Benchmark a Model: how_to/benchmark_a_model.md - Reference - Code API: - Detection and Segmentation: From d3f6570a89d142f3510a901c81ffffe10e587f59 Mon Sep 17 00:00:00 2001 From: LinasKo Date: Fri, 29 Nov 2024 17:24:19 +0200 Subject: [PATCH 032/420] Update model benchmarking guide with model running and metrics * Install inference directly for now --- docs/how_to/benchmark_a_model.md | 251 ++++++++++++++++++++++--------- 1 file changed, 177 insertions(+), 74 deletions(-) diff --git a/docs/how_to/benchmark_a_model.md b/docs/how_to/benchmark_a_model.md index 63543bf91f..1fc59245df 100644 --- a/docs/how_to/benchmark_a_model.md +++ b/docs/how_to/benchmark_a_model.md @@ -7,34 +7,42 @@ status: new ## Overview -Have you ever trained multiple object detection models and wondered which one performs best on your specific use case? Or maybe you've downloaded a pre-trained model and want to verify its performance on your dataset? Model benchmarking is essential for making informed decisions about which model to deploy in production. +Have you ever trained multiple detection models and wondered which one performs best on your specific use case? Or maybe you've downloaded a pre-trained model and want to verify its performance on your dataset? Model benchmarking is essential for making informed decisions about which model to deploy in production. This guide will show an easy way to benchmark your results using `supervision`. It will go over: 1. [Loading a dataset](#loading-a-dataset) 2. [Loading a model](#loading-a-model) 3. [Benchmarking Basics](#benchmarking-basics) -4. [Visual Benchmarking](#visual-benchmarking) -5. [Metric: Mean Average Precision (mAP)](#metric-mean-average-precision-map) -6. [Metric: F1 Score](#metric-f1-score) -7. [Bonus: Model Leaderboard](#model-leaderboard) +4. [Running a Model](#running-a-model) +5. [Remapping Classes](#remapping-classes) +6. [Visual Benchmarking](#visual-benchmarking) +7. [Benchmarking Metrics](#benchmarking-metrics) +8. [Mean Average Precision (mAP)](#mean-average-precision-map) +9. [F1 Score](#f1-score) +10. [Bonus: Model Leaderboard](#model-leaderboard) -This guide applies to object detection, instance segmentation, and oriented bounding box models (OBB). +This guide will use an instance segmentation model, but it applies to object detection, instance segmentation, and oriented bounding box models (OBB) too. ## Loading a Dataset -Suppose you start with a dataset. Perhaps you found it on [Universe](https://universe.roboflow.com/); perhaps you [labeled your own](https://roboflow.com/how-to-label/yolo11). In either case, this guide assumes you have a dataset with labels in your [Roboflow Workspace](https://app.roboflow.com/). +Suppose you start with a dataset. Perhaps you found it on [Universe](https://universe.roboflow.com/); perhaps you [labeled your own](https://roboflow.com/how-to-label/yolo11). In either case, this guide assumes you know of a labelled dataset at hand. -Let's use the following libraries: +We'll use the following libraries: - `roboflow` to manage the dataset and deploy models - `inference` to run the models - `supervision` to evaluate the model results ```bash -pip install roboflow inference supervision +pip install roboflow supervision +pip install git+https://github.com/roboflow/inference.git@linas/allow-latest-rc-supervision ``` +!!! info + + We're updating `inference` at the moment. Please install it as shown above. + Here's how you can download a dataset: ```python @@ -45,23 +53,27 @@ project = rf.workspace("").project("") dataset = project.version().download("") ``` -In this guide, we shall use the [car part segmentation dataset](https://universe.roboflow.com/alpaco5-f3woi/part-autolabeld). +If your dataset is fromUniverse, go to `Dataset > Download Dataset > select the format (e.g. YOLOv11) > Show download code. + +If labeling your own data, go to the [dashboard](https://app.roboflow.com/) and check this [guide](https://docs.roboflow.com/api-reference/workspace-and-project-ids) to find your workspace and project IDs. + +In this guide, we shall use a small [Corgi v2](https://universe.roboflow.com/model-examples/segmented-animals-basic) dataset. It is well-labeled and comes with a test set. ```python from roboflow import Roboflow rf = Roboflow(api_key="") -project = rf.workspace("alpaco5-f3woi").project("part-autolabeld") -dataset = project.version(5).download("yolov11") +project = rf.workspace("fbamse1-gm2os").project("corgi-v2") +dataset = project.version(4).download("yolov11") ``` -This will create a folder called `part-autolabeld` with the dataset in the current working directory, with `train`, `test`, and `valid` folders and `data.yaml` file. +This will create a folder called `Corgi-v2-4` with the dataset in the current working directory, with `train`, `test`, and `valid` folders and a `data.yaml` file. ## Loading a Model -Let's load a single model, and see how to evaluate it. To evaluate another, simply return to this step. +Let's load a model. -=== "Pretrained Model" +=== "Inference, Local" Roboflow supports a range of state-of-the-art [pre-trained models](https://inference.roboflow.com/quickstart/aliases/) for object detection, instance segmentation, and pose tracking. You don't even need an API key! @@ -70,10 +82,10 @@ Let's load a single model, and see how to evaluate it. To evaluate another, simp ```python from inference import get_model - model = get_model(model_id="yolov11s-640") + model = get_model(model_id="yolov11s-seg-640") ``` -=== "Trained on Roboflow Platform" +=== "Inference, Deployed" You can train and deploy a model without leaving the Roboflow platform. See this [guide](https://docs.roboflow.com/train/train/train-from-scratch) for more details. @@ -86,54 +98,48 @@ Let's load a single model, and see how to evaluate it. To evaluate another, simp model = get_model(model_id=model_id) ``` -=== "Locally Trained Model" +=== "Ultralytics" - To train a model locally, we can use ultralytics. Run the following code in your terminal. Note that it applies to segmentation, but can also be used for object detection and oriented bounding box models, if you change `task` and `model` arguments. + Similarly to Inference, Ultralytics allows you to run a variety of models. ```bash pip install ultralytics - yolo task=segment mode=train model=yolo11s-seg.pt data=part-autolabeld/data.yaml epochs=10 imgsz=640 ``` - Once the model is trained, you can deploy it to Roboflow, making it available anywhere. - - Note: if using other model types, change to `-obb` or remove suffix in `model_type` and replace `segment` with `obb`or `detect`. Multiple runs also produce multiple folders such as `segment`, `segment1`, `segment2`, etc. - ```python - project.version(dataset.version).deploy( - model_type="yolov11-seg", model_path=f"runs/segment/train/weights/best.pt" - ) + from ultralytics import YOLO - from inference import get_model - model_id = project.id.split("/")[1] + "/" + dataset.version - model = get_model(model_id=model_id) + model = YOLO("yolo11s-seg.pt") ``` ## Benchmarking Basics -Evaluating your model requires careful selection of the dataset. Which images should you use?Let's go over the different subsets of a dataset. +Evaluating your model requires careful selection of the dataset. Which images should you use?Let's go over the different scenarios. -- **Training Set**: This is the set of images used to train the model. Since the model learns to maximize its accuracy on this set, it should **never** be used for validation - the results will seem unrealistically good. -- **Validation Set**: This is the set of images used to validate the model during training. Every Nth training epoch, the model is evaluated on the validation set. Often the training is stopped once the validation loss stops improving. Therefore, even while the images aren't used to train the model, it still influences the training outcome. +- **Unrelated Dataset**: If you have a dataset that was not used to train the model, this is the best choice. +- **Training Set**: This is the set of images used to train the model. This is fine if the model was not trained on this dataset. Otherwise, **never** use it for benchmarking - the results will seem unrealistically good. +- **Validation Set**: This is the set of images used to validate the model during training. Every Nth training epoch, the model is evaluated on the validation set. Often the training is stopped once the validation loss stops improving. Therefore, even while the images aren't used to train the model, it still indirectly influences the training outcome. - **Test Set**: This is the set of images kept aside for model testing. It is exactly the set you should use for benchmarking. If the dataset was split correctly, none of these images would be shown to the model during training. -Therefore, the `test` set is the best choice for benchmarking. +Therefore, an unrelated dataset or the `test` set is the best choice for benchmarking. Several other problems may arise: -- **Data Contamination**: It's possible that the dataset was not split correctly and some images from the test set were used during training. In this case, the results will be overly optimistic. It also covers the case where **very similar** images were used for training and testing - e.g. those taken in the same environment. -- **Missing Test Set**: Some datasets do not come with a test set. In this case, you should collect and [label](https://roboflow.com/annotate) your own data. Alternatively, a validation set could be used, but the results could be overly optimistic. Make sure to test in the real world asap. +- **Extra Classes**: An unrelated dataset may contain additional classes which you may need to [filter out](https://supervision.roboflow.com/how_to/filter_detections/#by-set-of-classes) before computing metrics. +- **Class Mismatch**: In an unrelated dataset, the class names or IDs may be different to what your model produces, you'll need to remap them, which is [shown in this guide](#running-a-model). +- **Data Contamination**: The `test` set may not be split correctly, with images from the test set also present in `training` or `validation` set and used during training. In this case, the results will be overly optimistic. This also applies when **very similar** images are used for training and testing - e.g. those taken in the same environment, same lighting conditions, similar angle, etc. +- **Missing Test Set**: Some datasets do not come with a test set. In this case, you should collect and [label](https://roboflow.com/annotate) your own data. Alternatively, a validation set could be used, but the results could be overly optimistic. Make sure to test in the real world as soon as possible. ## Running a Model -At this stage, we should have: +At this stage, you should have: -- A set of labeled images we'll use to evaluate the model. -- The model we wish to benchmark. +- A dataset of labeled images to evaluate the model. +- A model prepared for benchmarking. -Let's run the model and obtain the predictions. -We'll use `supervision` to iterate over the images. +With these ready, we can now run the model and obtain predictions. +We'll use `supervision` to create a dataset iterator, and then run the model on each image. -=== "Roboflow Inference" +=== "Inference" ```python import supervision as sv @@ -181,6 +187,103 @@ We'll use `supervision` to iterate over the images. targets_list.append(label) ``` +## Remapping classes + +Did you notice an issue in the above logic? +Since we're using an unrelated dataset, the class names and IDs may be different from what the model was trained on. + +We need to remap them to match the dataset classes. Here's how to do it: + +```python +def remap_classes( + detections: sv.Detections, + class_ids_from_to: dict[int, int], + class_names_from_to: dict[str, str] +) -> None: + new_class_ids = [ + class_ids_from_to.get(class_id, class_id) for class_id in detections.class_id] + detections.class_id = np.array(new_class_ids) + + new_class_names = [ + class_names_from_to.get(name, name) for name in detections["class_name"]] + predictions["class_name"] = np.array(new_class_names) +``` + +Let's also remove the predictions that are not in the dataset classes. + +=== "Inference" + + Dataset class names and IDs can be found in the `data.yaml` file, or by printing `dataset.classes`. + + ```python + import supervision as sv + + test_set = sv.DetectionDataset.from_yolo( + images_directory_path=f"{dataset.location}/test/images", + annotations_directory_path=f"{dataset.location}/test/labels", + data_yaml_path=f"{dataset.location}/data.yaml" + ) + + image_paths = [] + predictions_list = [] + targets_list = [] + + for image_path, image, label in test_set: + result = model.infer(image)[0] + predictions = sv.Detections.from_inference(result) + + remap_classes( + detections=predictions, + class_ids_from_to={16: 0}, + class_names_from_to={"dog": "Corgi"} + ) + predictions = predictions[ + np.isin(predictions["class_name"], test_set.classes) + ] + + image_paths.append(image_path) + predictions_list.append(predictions) + targets_list.append(label) + ``` + +=== "Ultralytics" + + Dataset class names and IDs can be found in the `data.yaml` file, or by printing `dataset.classes`. + + Each model will have a different class mapping, so make sure to check the model's documentation. In this case, the model was trained on the COCO dataset, with a class + configuration found [here](https://github.com/ultralytics/ultralytics/blob/main/ultralytics/cfg/datasets/coco8.yaml). + + ```python + import supervision as sv + + test_set = sv.DetectionDataset.from_yolo( + images_directory_path=f"{dataset.location}/test/images", + annotations_directory_path=f"{dataset.location}/test/labels", + data_yaml_path=f"{dataset.location}/data.yaml" + ) + + image_paths = [] + predictions_list = [] + targets_list = [] + + for image_path, image, label in test_set: + result = model(image)[0] + predictions = sv.Detections.from_ultralytics(result) + + remap_classes( + detections=predictions, + class_ids_from_to={27: 0}, + class_names_from_to={"dog": "Corgi"} + ) + predictions = predictions[ + np.isin(predictions["class_name"], test_set.classes) + ] + + image_paths.append(image_path) + predictions_list.append(predictions) + targets_list.append(label) + ``` + ## Visualizing Predictions The first step in evaluating your model’s performance is to visualize its predictions. @@ -192,31 +295,31 @@ import supervision as sv N = 9 GRID_SIZE = (3, 3) -box_annotator_predictions = sv.BoxAnnotator(color=sv.Color.BLUE) -box_annotator_targets = sv.BoxAnnotator(color=sv.Color.GREEN) +target_annotator = sv.PolygonAnnotator(color=sv.Color.from_hex("#8315f9"), thickness=8) +prediction_annotator = sv.PolygonAnnotator(color=sv.Color.from_hex("#00cfc6"), thickness=6) + annotated_images = [] for image_path, predictions, targets in zip( image_paths[:N], predictions_list[:N], targets_list[:N] ): annotated_image = cv2.imread(image_path) - annotated_image = box_annotator_targets.annotate( - scene=annotated_image, detections=targets - ) - annotated_image = box_annotator_predictions.annotate( - scene=annotated_image, detections=predictions - ) + annotated_image = target_annotator.annotate(scene=annotated_image, detections=targets) + annotated_image = prediction_annotator.annotate(scene=annotated_image, detections=prediction) + annotated_images.append(annotated_image) sv.plot_images_grid(images=annotated_images, grid_size=GRID_SIZE) ``` - +Here, predictions in purple are targets (ground truth), and predictions in teal are model predictions. + +![Basic Model Comparison](https://media.roboflow.com/supervision/image-examples/how-to/benchmark-models/basic-model-comparison-corgi.png) !!! tip - Use `sv.MaskAnnotator` for segmentation and `sv.OrientedBoxAnnotator` for OBB. + Use `sv.BoxAnnotator` for object detection and `sv.OrientedBoxAnnotator` for OBB. - See [annotator documentation](https://supervision.roboflow.com/latest/detection/annotators/) for more details. + See [annotator documentation](https://supervision.roboflow.com/latest/detection/annotators/) for even more options. ## Benchmarking Metrics @@ -226,16 +329,16 @@ With multiple models, fine details matter. Visual inspection may not be enough. We'll start with [MeanAveragePrecision (mAP)](https://supervision.roboflow.com/latest/metrics/mean_average_precision/#supervision.metrics.mean_average_precision.MeanAveragePrecision), which is the most commonly used metric for object detection. It measures the average precision across all classes and IoU thresholds. -For a thorough explanation, check out our [blog](https://blog.roboflow.com/mean-average-precision/) or [Youtube video](https://www.youtube.com/watch?v=oqXDdxF_Wuw). +For a thorough explanation, check out our [blog](https://blog.roboflow.com/mean-average-precision/) and [Youtube video](https://www.youtube.com/watch?v=oqXDdxF_Wuw). -Here, the most important value is `mAP 50:95`. It represents the average precision across all classes and IoU thresholds (`0.5` to `0.95`), whereas other values such as `mAP 50` or `mAP 75` only consider a single IoU threshold (`0.5` and `0.75` respectively). +Here, the most popular value is `mAP 50:95`. It represents the average precision across all classes and IoU thresholds (`0.5` to `0.95`), whereas other values such as `mAP 50` or `mAP 75` only consider a single IoU threshold (`0.5` and `0.75` respectively). Let's compute the mAP: ```python -import supervision as sv +from supervision.metrics import MeanAveragePrecision, MetricTarget -map_metric = sv.metrics.MeanAveragePrecision() +map_metric = MeanAveragePrecision(metric_target=MetricTarget.MASKS) map_result = map_metric.update(predictions_list, targets_list).compute() ``` @@ -247,15 +350,15 @@ print(map_result) ``` MeanAveragePrecisionResult: -Metric target: MetricTarget.BOXES +Metric target: MetricTarget.MASKS Class agnostic: False -mAP @ 50:95: 0.4674 -mAP @ 50: 0.5048 -mAP @ 75: 0.4796 -mAP scores: [0.50485 0.50377 0.50377 ...] -IoU thresh: [0.5 0.55 0.6 ...] +mAP @ 50:95: 0.2409 +mAP @ 50: 0.3591 +mAP @ 75: 0.2915 +mAP scores: [0.35909 0.3468 0.34556 ...] +IoU thresh: [0.5 0.55 0.6 ...] AP per class: -0: [0.67699 0.67699 0.67699 ...] + 0: [0.35909 0.3468 0.34556 ...] ... Small objects: ... Medium objects: ... @@ -268,7 +371,7 @@ You can also plot the results: map_result.plot() ``` -![mAP Plot](https://media.roboflow.com/supervision-docs/metrics/mAP_plot_example.png) +![mAP Plot](https://media.roboflow.com/supervision/image-examples/how-to/benchmark-models/mAP-plot-corgi.png) The metric also breaks down the results by detected object area. Small, medium and large are simply those with area less than 32², between 32² and 96², and greater than 96² pixels respectively. @@ -279,9 +382,9 @@ The [F1 Score](https://supervision.roboflow.com/latest/metrics/f1_score/) is ano Here's how you can compute the F1 score: ```python -import supervision as sv +from supervision.metrics import F1Score, MetricTarget -f1_metric = sv.metrics.F1Score() +f1_metric = F1Score(metric_target=MetricTarget.MASKS) f1_result = f1_metric.update(predictions_list, targets_list).compute() ``` @@ -293,14 +396,14 @@ print(f1_result) ``` F1ScoreResult: -Metric target: MetricTarget.BOXES +Metric target: MetricTarget.MASKS Averaging method: AveragingMethod.WEIGHTED -F1 @ 50: 0.7618 -F1 @ 75: 0.7487 -F1 @ thresh: [0.76175 0.76068 0.76068] -IoU thresh: [0.5 0.55 0.6 ...] +F1 @ 50: 0.5341 +F1 @ 75: 0.4636 +F1 @ thresh: [0.53406 0.5278 0.52153 ...] +IoU thresh: [0.5 0.55 0.6 ...] F1 per class: -0: [0.70968 0.70968 0.70968 ...] + 0: [0.53406 0.5278 0.52153 ...] ... Small objects: ... Medium objects: ... @@ -313,7 +416,7 @@ Similarly, you can plot the results: f1_result.plot() ``` -![F1 Plot](https://media.roboflow.com/supervision-docs/metrics/f1_plot_example.png) +![F1 Plot](https://media.roboflow.com/supervision/image-examples/how-to/benchmark-models/f1-score-corgi.png) As with mAP, the metric also breaks down the results by detected object area. Small, medium and large are simply those with area less than 32², between 32² and 96², and greater than 96² pixels respectively. From 853cbc428f19be16a2d2ee4de36a2121f8758b9b Mon Sep 17 00:00:00 2001 From: LinasKo Date: Fri, 29 Nov 2024 18:38:18 +0200 Subject: [PATCH 033/420] How to Benchmark: typos, images, Colab, correct class remap --- docs/how_to/benchmark_a_model.md | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/docs/how_to/benchmark_a_model.md b/docs/how_to/benchmark_a_model.md index 1fc59245df..ab9b6a13ae 100644 --- a/docs/how_to/benchmark_a_model.md +++ b/docs/how_to/benchmark_a_model.md @@ -3,9 +3,9 @@ comments: true status: new --- -# Benchmark a Model +![Corgi Example](https://media.roboflow.com/supervision/image-examples/how-to/benchmark-models/corgi-sorted-2.png) -## Overview +# Benchmark a Model Have you ever trained multiple detection models and wondered which one performs best on your specific use case? Or maybe you've downloaded a pre-trained model and want to verify its performance on your dataset? Model benchmarking is essential for making informed decisions about which model to deploy in production. @@ -24,6 +24,8 @@ This guide will show an easy way to benchmark your results using `supervision`. This guide will use an instance segmentation model, but it applies to object detection, instance segmentation, and oriented bounding box models (OBB) too. +A condensed version of this guide is available as a [Colab Notebook](https://colab.research.google.com/drive/1HoOY9pZoVwGiRMmLHtir0qT6Uj45w6Ps?usp=sharing). + ## Loading a Dataset Suppose you start with a dataset. Perhaps you found it on [Universe](https://universe.roboflow.com/); perhaps you [labeled your own](https://roboflow.com/how-to-label/yolo11). In either case, this guide assumes you know of a labelled dataset at hand. @@ -53,7 +55,7 @@ project = rf.workspace("").project("") dataset = project.version().download("") ``` -If your dataset is fromUniverse, go to `Dataset > Download Dataset > select the format (e.g. YOLOv11) > Show download code. +If your dataset is from Universe, go to `Dataset` > `Download Dataset` > select the format (e.g. `YOLOv11`) > `Show download code`. If labeling your own data, go to the [dashboard](https://app.roboflow.com/) and check this [guide](https://docs.roboflow.com/api-reference/workspace-and-project-ids) to find your workspace and project IDs. @@ -272,7 +274,7 @@ Let's also remove the predictions that are not in the dataset classes. remap_classes( detections=predictions, - class_ids_from_to={27: 0}, + class_ids_from_to={16: 0}, class_names_from_to={"dog": "Corgi"} ) predictions = predictions[ @@ -432,6 +434,8 @@ Even better, the repository is open source! You can see how the models were benc In this guide, you've learned how to set up your environment, train or use pre-trained models, visualize predictions, and evaluate model performance with metrics like [mAP](https://supervision.roboflow.com/latest/metrics/mean_average_precision/), [F1 score](https://supervision.roboflow.com/latest/metrics/f1_score/), and got to know our Model Leaderboard. +A condensed version of this guide is also available as a [Colab Notebook](https://colab.research.google.com/drive/1HoOY9pZoVwGiRMmLHtir0qT6Uj45w6Ps?usp=sharing). + For more details, be sure to check out our [documentation](https://supervision.roboflow.com/latest/) and join our community discussions. If you find any issues, please let us know on [GitHub](https://github.com/roboflow/supervision/issues). Best of luck with your benchmarking! From 228b4cff0ca7013307f18a0a27004ac9b1d2195b Mon Sep 17 00:00:00 2001 From: Onuralp SEZER Date: Fri, 29 Nov 2024 19:51:39 +0300 Subject: [PATCH 034/420] =?UTF-8?q?docs:=20=F0=9F=93=9D=20extend=20supervi?= =?UTF-8?q?sion=20installation=20methods?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Onuralp SEZER --- docs/index.md | 42 ++++++++++++++++++++++++++++++++++++++++-- 1 file changed, 40 insertions(+), 2 deletions(-) diff --git a/docs/index.md b/docs/index.md index b78ce6c5f9..6ba0748652 100644 --- a/docs/index.md +++ b/docs/index.md @@ -33,8 +33,9 @@ We write your reusable computer vision tools. Whether you need to load your data You can install `supervision` in a [**Python>=3.8**](https://www.python.org/) environment. -!!! example "pip install (recommended)" - === "pip" +!!! example "Installation" + + === "pip (recommended)" [![version](https://badge.fury.io/py/supervision.svg)](https://badge.fury.io/py/supervision) [![downloads](https://img.shields.io/pypi/dm/supervision)](https://pypistats.org/packages/supervision) [![license](https://img.shields.io/pypi/l/supervision)](https://github.com/roboflow/supervision/blob/main/LICENSE.md) @@ -44,6 +45,43 @@ You can install `supervision` in a pip install supervision ``` + === "poetry" + [![version](https://badge.fury.io/py/supervision.svg)](https://badge.fury.io/py/supervision) + [![downloads](https://img.shields.io/pypi/dm/supervision)](https://pypistats.org/packages/supervision) + [![license](https://img.shields.io/pypi/l/supervision)](https://github.com/roboflow/supervision/blob/main/LICENSE.md) + [![python-version](https://img.shields.io/pypi/pyversions/supervision)](https://badge.fury.io/py/supervision) + + ```bash + poetry add supervision + ``` + + === "uv" + [![version](https://badge.fury.io/py/supervision.svg)](https://badge.fury.io/py/supervision) + [![downloads](https://img.shields.io/pypi/dm/supervision)](https://pypistats.org/packages/supervision) + [![license](https://img.shields.io/pypi/l/supervision)](https://github.com/roboflow/supervision/blob/main/LICENSE.md) + [![python-version](https://img.shields.io/pypi/pyversions/supervision)](https://badge.fury.io/py/supervision) + + ```bash + uv pip install supervision + ``` + + For uv projects: + + ```bash + uv add supervision + ``` + + === "rye" + [![version](https://badge.fury.io/py/supervision.svg)](https://badge.fury.io/py/supervision) + [![downloads](https://img.shields.io/pypi/dm/supervision)](https://pypistats.org/packages/supervision) + [![license](https://img.shields.io/pypi/l/supervision)](https://github.com/roboflow/supervision/blob/main/LICENSE.md) + [![python-version](https://img.shields.io/pypi/pyversions/supervision)](https://badge.fury.io/py/supervision) + + ```bash + rye add supervision + ``` + + !!! example "conda/mamba install" === "conda" [![conda-recipe](https://img.shields.io/badge/recipe-supervision-green.svg)](https://anaconda.org/conda-forge/supervision) [![conda-downloads](https://img.shields.io/conda/dn/conda-forge/supervision.svg)](https://anaconda.org/conda-forge/supervision) [![conda-version](https://img.shields.io/conda/vn/conda-forge/supervision.svg)](https://anaconda.org/conda-forge/supervision) [![conda-platforms](https://img.shields.io/conda/pn/conda-forge/supervision.svg)](https://anaconda.org/conda-forge/supervision) From 28fa054fdcd84587d2c37ad8f893f98a489731b7 Mon Sep 17 00:00:00 2001 From: Soham Date: Sat, 30 Nov 2024 13:56:18 +0530 Subject: [PATCH 035/420] fix: is_empty check for filtering --- supervision/detection/core.py | 2 ++ 1 file changed, 2 insertions(+) diff --git a/supervision/detection/core.py b/supervision/detection/core.py index 74c663a897..e4320a1651 100644 --- a/supervision/detection/core.py +++ b/supervision/detection/core.py @@ -1203,6 +1203,8 @@ def __getitem__( return self.data.get(index) if isinstance(index, int): index = [index] + if self.is_empty(): + return Detections.empty() return Detections( xyxy=self.xyxy[index], mask=self.mask[index] if self.mask is not None else None, From d229d2b069d053c606960eeab58a4e68b1525169 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 2 Dec 2024 01:07:27 +0000 Subject: [PATCH 036/420] :arrow_up: Bump ruff from 0.8.0 to 0.8.1 Bumps [ruff](https://github.com/astral-sh/ruff) from 0.8.0 to 0.8.1. - [Release notes](https://github.com/astral-sh/ruff/releases) - [Changelog](https://github.com/astral-sh/ruff/blob/main/CHANGELOG.md) - [Commits](https://github.com/astral-sh/ruff/compare/0.8.0...0.8.1) --- updated-dependencies: - dependency-name: ruff dependency-type: direct:development update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] --- poetry.lock | 38 +++++++++++++++++++------------------- 1 file changed, 19 insertions(+), 19 deletions(-) diff --git a/poetry.lock b/poetry.lock index 7a9065e9da..35c9fb1232 100644 --- a/poetry.lock +++ b/poetry.lock @@ -4089,29 +4089,29 @@ files = [ [[package]] name = "ruff" -version = "0.8.0" +version = "0.8.1" description = "An extremely fast Python linter and code formatter, written in Rust." optional = false python-versions = ">=3.7" files = [ - {file = "ruff-0.8.0-py3-none-linux_armv6l.whl", hash = "sha256:fcb1bf2cc6706adae9d79c8d86478677e3bbd4ced796ccad106fd4776d395fea"}, - {file = "ruff-0.8.0-py3-none-macosx_10_12_x86_64.whl", hash = "sha256:295bb4c02d58ff2ef4378a1870c20af30723013f441c9d1637a008baaf928c8b"}, - {file = "ruff-0.8.0-py3-none-macosx_11_0_arm64.whl", hash = "sha256:7b1f1c76b47c18fa92ee78b60d2d20d7e866c55ee603e7d19c1e991fad933a9a"}, - {file = "ruff-0.8.0-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:eb0d4f250a7711b67ad513fde67e8870109e5ce590a801c3722580fe98c33a99"}, - {file = "ruff-0.8.0-py3-none-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:0e55cce9aa93c5d0d4e3937e47b169035c7e91c8655b0974e61bb79cf398d49c"}, - {file = "ruff-0.8.0-py3-none-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:3f4cd64916d8e732ce6b87f3f5296a8942d285bbbc161acee7fe561134af64f9"}, - {file = "ruff-0.8.0-py3-none-manylinux_2_17_ppc64.manylinux2014_ppc64.whl", hash = "sha256:c5c1466be2a2ebdf7c5450dd5d980cc87c8ba6976fb82582fea18823da6fa362"}, - {file = "ruff-0.8.0-py3-none-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:2dabfd05b96b7b8f2da00d53c514eea842bff83e41e1cceb08ae1966254a51df"}, - {file = "ruff-0.8.0-py3-none-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:facebdfe5a5af6b1588a1d26d170635ead6892d0e314477e80256ef4a8470cf3"}, - {file = "ruff-0.8.0-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:87a8e86bae0dbd749c815211ca11e3a7bd559b9710746c559ed63106d382bd9c"}, - {file = "ruff-0.8.0-py3-none-musllinux_1_2_aarch64.whl", hash = "sha256:85e654f0ded7befe2d61eeaf3d3b1e4ef3894469cd664ffa85006c7720f1e4a2"}, - {file = "ruff-0.8.0-py3-none-musllinux_1_2_armv7l.whl", hash = "sha256:83a55679c4cb449fa527b8497cadf54f076603cc36779b2170b24f704171ce70"}, - {file = "ruff-0.8.0-py3-none-musllinux_1_2_i686.whl", hash = "sha256:812e2052121634cf13cd6fddf0c1871d0ead1aad40a1a258753c04c18bb71bbd"}, - {file = "ruff-0.8.0-py3-none-musllinux_1_2_x86_64.whl", hash = "sha256:780d5d8523c04202184405e60c98d7595bdb498c3c6abba3b6d4cdf2ca2af426"}, - {file = "ruff-0.8.0-py3-none-win32.whl", hash = "sha256:5fdb6efecc3eb60bba5819679466471fd7d13c53487df7248d6e27146e985468"}, - {file = "ruff-0.8.0-py3-none-win_amd64.whl", hash = "sha256:582891c57b96228d146725975fbb942e1f30a0c4ba19722e692ca3eb25cc9b4f"}, - {file = "ruff-0.8.0-py3-none-win_arm64.whl", hash = "sha256:ba93e6294e9a737cd726b74b09a6972e36bb511f9a102f1d9a7e1ce94dd206a6"}, - {file = "ruff-0.8.0.tar.gz", hash = "sha256:a7ccfe6331bf8c8dad715753e157457faf7351c2b69f62f32c165c2dbcbacd44"}, + {file = "ruff-0.8.1-py3-none-linux_armv6l.whl", hash = "sha256:fae0805bd514066f20309f6742f6ee7904a773eb9e6c17c45d6b1600ca65c9b5"}, + {file = "ruff-0.8.1-py3-none-macosx_10_12_x86_64.whl", hash = "sha256:b8a4f7385c2285c30f34b200ca5511fcc865f17578383db154e098150ce0a087"}, + {file = "ruff-0.8.1-py3-none-macosx_11_0_arm64.whl", hash = "sha256:cd054486da0c53e41e0086e1730eb77d1f698154f910e0cd9e0d64274979a209"}, + {file = "ruff-0.8.1-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:2029b8c22da147c50ae577e621a5bfbc5d1fed75d86af53643d7a7aee1d23871"}, + {file = "ruff-0.8.1-py3-none-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:2666520828dee7dfc7e47ee4ea0d928f40de72056d929a7c5292d95071d881d1"}, + {file = "ruff-0.8.1-py3-none-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:333c57013ef8c97a53892aa56042831c372e0bb1785ab7026187b7abd0135ad5"}, + {file = "ruff-0.8.1-py3-none-manylinux_2_17_ppc64.manylinux2014_ppc64.whl", hash = "sha256:288326162804f34088ac007139488dcb43de590a5ccfec3166396530b58fb89d"}, + {file = "ruff-0.8.1-py3-none-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:b12c39b9448632284561cbf4191aa1b005882acbc81900ffa9f9f471c8ff7e26"}, + {file = "ruff-0.8.1-py3-none-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:364e6674450cbac8e998f7b30639040c99d81dfb5bbc6dfad69bc7a8f916b3d1"}, + {file = "ruff-0.8.1-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:b22346f845fec132aa39cd29acb94451d030c10874408dbf776af3aaeb53284c"}, + {file = "ruff-0.8.1-py3-none-musllinux_1_2_aarch64.whl", hash = "sha256:b2f2f7a7e7648a2bfe6ead4e0a16745db956da0e3a231ad443d2a66a105c04fa"}, + {file = "ruff-0.8.1-py3-none-musllinux_1_2_armv7l.whl", hash = "sha256:adf314fc458374c25c5c4a4a9270c3e8a6a807b1bec018cfa2813d6546215540"}, + {file = "ruff-0.8.1-py3-none-musllinux_1_2_i686.whl", hash = "sha256:a885d68342a231b5ba4d30b8c6e1b1ee3a65cf37e3d29b3c74069cdf1ee1e3c9"}, + {file = "ruff-0.8.1-py3-none-musllinux_1_2_x86_64.whl", hash = "sha256:d2c16e3508c8cc73e96aa5127d0df8913d2290098f776416a4b157657bee44c5"}, + {file = "ruff-0.8.1-py3-none-win32.whl", hash = "sha256:93335cd7c0eaedb44882d75a7acb7df4b77cd7cd0d2255c93b28791716e81790"}, + {file = "ruff-0.8.1-py3-none-win_amd64.whl", hash = "sha256:2954cdbe8dfd8ab359d4a30cd971b589d335a44d444b6ca2cb3d1da21b75e4b6"}, + {file = "ruff-0.8.1-py3-none-win_arm64.whl", hash = "sha256:55873cc1a473e5ac129d15eccb3c008c096b94809d693fc7053f588b67822737"}, + {file = "ruff-0.8.1.tar.gz", hash = "sha256:3583db9a6450364ed5ca3f3b4225958b24f78178908d5c4bc0f46251ccca898f"}, ] [[package]] From 93d031346026c7ab00d1af21d64d661608965d63 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 2 Dec 2024 01:09:19 +0000 Subject: [PATCH 037/420] :arrow_up: Bump twine from 5.1.1 to 6.0.1 Bumps [twine](https://github.com/pypa/twine) from 5.1.1 to 6.0.1. - [Release notes](https://github.com/pypa/twine/releases) - [Changelog](https://github.com/pypa/twine/blob/main/docs/changelog.rst) - [Commits](https://github.com/pypa/twine/compare/v5.1.1...6.0.1) --- updated-dependencies: - dependency-name: twine dependency-type: direct:development update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] --- poetry.lock | 18 +++++++++++------- pyproject.toml | 2 +- 2 files changed, 12 insertions(+), 8 deletions(-) diff --git a/poetry.lock b/poetry.lock index 7a9065e9da..e3385bc03d 100644 --- a/poetry.lock +++ b/poetry.lock @@ -4493,19 +4493,20 @@ test = ["argcomplete (>=3.0.3)", "mypy (>=1.7.0)", "pre-commit", "pytest (>=7.0, [[package]] name = "twine" -version = "5.1.1" +version = "6.0.1" description = "Collection of utilities for publishing packages on PyPI" optional = false python-versions = ">=3.8" files = [ - {file = "twine-5.1.1-py3-none-any.whl", hash = "sha256:215dbe7b4b94c2c50a7315c0275d2258399280fbb7d04182c7e55e24b5f93997"}, - {file = "twine-5.1.1.tar.gz", hash = "sha256:9aa0825139c02b3434d913545c7b847a21c835e11597f5255842d457da2322db"}, + {file = "twine-6.0.1-py3-none-any.whl", hash = "sha256:9c6025b203b51521d53e200f4a08b116dee7500a38591668c6a6033117bdc218"}, + {file = "twine-6.0.1.tar.gz", hash = "sha256:36158b09df5406e1c9c1fb8edb24fc2be387709443e7376689b938531582ee27"}, ] [package.dependencies] -importlib-metadata = ">=3.6" -keyring = ">=15.1" -pkginfo = ">=1.8.1,<1.11" +importlib-metadata = {version = ">=3.6", markers = "python_version < \"3.10\""} +keyring = {version = ">=15.1", markers = "platform_machine != \"ppc64le\" and platform_machine != \"s390x\""} +packaging = "*" +pkginfo = ">=1.8.1" readme-renderer = ">=35.0" requests = ">=2.20" requests-toolbelt = ">=0.8.0,<0.9.0 || >0.9.0" @@ -4513,6 +4514,9 @@ rfc3986 = ">=1.4.0" rich = ">=12.0.0" urllib3 = ">=1.26.0" +[package.extras] +keyring = ["keyring (>=15.1)"] + [[package]] name = "types-cffi" version = "1.16.0.20240331" @@ -4836,4 +4840,4 @@ metrics = ["pandas"] [metadata] lock-version = "2.0" python-versions = "^3.8" -content-hash = "4b1374cb6ea9100c5bed238a30153051ae9946a23c8c93e0abe1e80a29bb6860" +content-hash = "59d4b27ceced6305239faf417ad95293fe8fff2901b86b223447aecc31a8df45" diff --git a/pyproject.toml b/pyproject.toml index b7e9c6b8d7..2d34bfa396 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -83,7 +83,7 @@ opencv-python = ">=4.5.5.64" metrics = ["pandas"] [tool.poetry.group.dev.dependencies] -twine = "^5.1.1" +twine = ">=5.1.1,<7.0.0" pytest = ">=7.2.2,<9.0.0" wheel = ">=0.40,<0.46" build = ">=0.10,<1.3" From 816a990083014cb32111c7166f973490d840c94b Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 2 Dec 2024 01:12:05 +0000 Subject: [PATCH 038/420] :arrow_up: Bump mkdocs-material from 9.5.46 to 9.5.47 Bumps [mkdocs-material](https://github.com/squidfunk/mkdocs-material) from 9.5.46 to 9.5.47. - [Release notes](https://github.com/squidfunk/mkdocs-material/releases) - [Changelog](https://github.com/squidfunk/mkdocs-material/blob/master/CHANGELOG) - [Commits](https://github.com/squidfunk/mkdocs-material/compare/9.5.46...9.5.47) --- updated-dependencies: - dependency-name: mkdocs-material dependency-type: direct:development update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] --- poetry.lock | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/poetry.lock b/poetry.lock index 7a9065e9da..a3af7776c3 100644 --- a/poetry.lock +++ b/poetry.lock @@ -2406,13 +2406,13 @@ pygments = ">2.12.0" [[package]] name = "mkdocs-material" -version = "9.5.46" +version = "9.5.47" description = "Documentation that simply works" optional = false python-versions = ">=3.8" files = [ - {file = "mkdocs_material-9.5.46-py3-none-any.whl", hash = "sha256:98f0a2039c62e551a68aad0791a8d41324ff90c03a6e6cea381a384b84908b83"}, - {file = "mkdocs_material-9.5.46.tar.gz", hash = "sha256:ae2043f4238e572f9a40e0b577f50400d6fc31e2fef8ea141800aebf3bd273d7"}, + {file = "mkdocs_material-9.5.47-py3-none-any.whl", hash = "sha256:53fb9c9624e7865da6ec807d116cd7be24b3cb36ab31b1d1d1a9af58c56009a2"}, + {file = "mkdocs_material-9.5.47.tar.gz", hash = "sha256:fc3b7a8e00ad896660bd3a5cc12ca0cb28bdc2bcbe2a946b5714c23ac91b0ede"}, ] [package.dependencies] From 66e02b77b01e9d3518ca80cb2e1af6cda7fd2651 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 2 Dec 2024 01:15:47 +0000 Subject: [PATCH 039/420] :arrow_up: Bump pytest from 8.3.3 to 8.3.4 Bumps [pytest](https://github.com/pytest-dev/pytest) from 8.3.3 to 8.3.4. - [Release notes](https://github.com/pytest-dev/pytest/releases) - [Changelog](https://github.com/pytest-dev/pytest/blob/main/CHANGELOG.rst) - [Commits](https://github.com/pytest-dev/pytest/compare/8.3.3...8.3.4) --- updated-dependencies: - dependency-name: pytest dependency-type: direct:development update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] --- poetry.lock | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/poetry.lock b/poetry.lock index 7a9065e9da..1be86d3cb4 100644 --- a/poetry.lock +++ b/poetry.lock @@ -3439,13 +3439,13 @@ files = [ [[package]] name = "pytest" -version = "8.3.3" +version = "8.3.4" description = "pytest: simple powerful testing with Python" optional = false python-versions = ">=3.8" files = [ - {file = "pytest-8.3.3-py3-none-any.whl", hash = "sha256:a6853c7375b2663155079443d2e45de913a911a11d669df02a50814944db57b2"}, - {file = "pytest-8.3.3.tar.gz", hash = "sha256:70b98107bd648308a7952b06e6ca9a50bc660be218d53c257cc1fc94fda10181"}, + {file = "pytest-8.3.4-py3-none-any.whl", hash = "sha256:50e16d954148559c9a74109af1eaf0c945ba2d8f30f0a3d3335edde19788b6f6"}, + {file = "pytest-8.3.4.tar.gz", hash = "sha256:965370d062bce11e73868e0335abac31b4d3de0e82f4007408d242b4f8610761"}, ] [package.dependencies] From eac2691c6ee4256cfd38be0e799f8a24f96be7ed Mon Sep 17 00:00:00 2001 From: Onuralp SEZER Date: Mon, 2 Dec 2024 15:33:35 +0300 Subject: [PATCH 040/420] =?UTF-8?q?chore:=20=F0=9F=93=A6=20lock=20file=20u?= =?UTF-8?q?pdated?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Onuralp SEZER --- poetry.lock | 177 ++++++++++++++++++++++++++-------------------------- 1 file changed, 89 insertions(+), 88 deletions(-) diff --git a/poetry.lock b/poetry.lock index 0c782ebede..780a707659 100644 --- a/poetry.lock +++ b/poetry.lock @@ -111,21 +111,18 @@ test = ["dateparser (==1.*)", "pre-commit", "pytest", "pytest-cov", "pytest-mock [[package]] name = "asttokens" -version = "2.4.1" +version = "3.0.0" description = "Annotate AST trees with source code positions" optional = false -python-versions = "*" +python-versions = ">=3.8" files = [ - {file = "asttokens-2.4.1-py2.py3-none-any.whl", hash = "sha256:051ed49c3dcae8913ea7cd08e46a606dba30b79993209636c4875bc1d637bc24"}, - {file = "asttokens-2.4.1.tar.gz", hash = "sha256:b03869718ba9a6eb027e134bfdf69f38a236d681c83c160d510768af11254ba0"}, + {file = "asttokens-3.0.0-py3-none-any.whl", hash = "sha256:e3078351a059199dd5138cb1c706e6430c05eff2ff136af5eb4790f9d28932e2"}, + {file = "asttokens-3.0.0.tar.gz", hash = "sha256:0dcd8baa8d62b0c1d118b399b2ddba3c4aff271d0d7a9e0d4c1681c79035bbc7"}, ] -[package.dependencies] -six = ">=1.12.0" - [package.extras] -astroid = ["astroid (>=1,<2)", "astroid (>=2,<4)"] -test = ["astroid (>=1,<2)", "astroid (>=2,<4)", "pytest"] +astroid = ["astroid (>=2,<4)"] +test = ["astroid (>=2,<4)", "pytest", "pytest-cov", "pytest-xdist"] [[package]] name = "astunparse" @@ -1011,13 +1008,13 @@ tests = ["asttokens (>=2.1.0)", "coverage", "coverage-enable-subprocess", "ipyth [[package]] name = "fastjsonschema" -version = "2.21.0" +version = "2.21.1" description = "Fastest Python implementation of JSON schema" optional = false python-versions = "*" files = [ - {file = "fastjsonschema-2.21.0-py3-none-any.whl", hash = "sha256:5b23b8e7c9c6adc0ecb91c03a0768cb48cd154d9159378a69c8318532e0b5cbf"}, - {file = "fastjsonschema-2.21.0.tar.gz", hash = "sha256:a02026bbbedc83729da3bfff215564b71902757f33f60089f1abae193daa4771"}, + {file = "fastjsonschema-2.21.1-py3-none-any.whl", hash = "sha256:c9e5b7e908310918cf494a434eeb31384dd84a98b57a30bcb1f535015b554667"}, + {file = "fastjsonschema-2.21.1.tar.gz", hash = "sha256:794d4f0a58f848961ba16af7b9c85a3e88cd360df008c59aac6fc5ae9323b5d4"}, ] [package.extras] @@ -1221,13 +1218,13 @@ trio = ["trio (>=0.22.0,<1.0)"] [[package]] name = "httpx" -version = "0.27.2" +version = "0.28.0" description = "The next generation HTTP client." optional = false python-versions = ">=3.8" files = [ - {file = "httpx-0.27.2-py3-none-any.whl", hash = "sha256:7bb2708e112d8fdd7829cd4243970f0c223274051cb35ee80c03301ee29a3df0"}, - {file = "httpx-0.27.2.tar.gz", hash = "sha256:f7c2be1d2f3c3c3160d441802406b206c2b76f5947b11115e6df10c6c65e66c2"}, + {file = "httpx-0.28.0-py3-none-any.whl", hash = "sha256:dc0b419a0cfeb6e8b34e85167c0da2671206f5095f1baa9663d23bcfd6b535fc"}, + {file = "httpx-0.28.0.tar.gz", hash = "sha256:0858d3bab51ba7e386637f22a61d8ccddaeec5f3fe4209da3a6168dbb91573e0"}, ] [package.dependencies] @@ -1235,7 +1232,6 @@ anyio = "*" certifi = "*" httpcore = "==1.*" idna = "*" -sniffio = "*" [package.extras] brotli = ["brotli", "brotlicffi"] @@ -2200,51 +2196,52 @@ python-dateutil = ">=2.7" [[package]] name = "matplotlib" -version = "3.9.2" +version = "3.9.3" description = "Python plotting package" optional = false python-versions = ">=3.9" files = [ - {file = "matplotlib-3.9.2-cp310-cp310-macosx_10_12_x86_64.whl", hash = "sha256:9d78bbc0cbc891ad55b4f39a48c22182e9bdaea7fc0e5dbd364f49f729ca1bbb"}, - {file = "matplotlib-3.9.2-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:c375cc72229614632c87355366bdf2570c2dac01ac66b8ad048d2dabadf2d0d4"}, - {file = "matplotlib-3.9.2-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:1d94ff717eb2bd0b58fe66380bd8b14ac35f48a98e7c6765117fe67fb7684e64"}, - {file = "matplotlib-3.9.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ab68d50c06938ef28681073327795c5db99bb4666214d2d5f880ed11aeaded66"}, - {file = "matplotlib-3.9.2-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:65aacf95b62272d568044531e41de26285d54aec8cb859031f511f84bd8b495a"}, - {file = "matplotlib-3.9.2-cp310-cp310-win_amd64.whl", hash = "sha256:3fd595f34aa8a55b7fc8bf9ebea8aa665a84c82d275190a61118d33fbc82ccae"}, - {file = "matplotlib-3.9.2-cp311-cp311-macosx_10_12_x86_64.whl", hash = "sha256:d8dd059447824eec055e829258ab092b56bb0579fc3164fa09c64f3acd478772"}, - {file = "matplotlib-3.9.2-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:c797dac8bb9c7a3fd3382b16fe8f215b4cf0f22adccea36f1545a6d7be310b41"}, - {file = "matplotlib-3.9.2-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d719465db13267bcef19ea8954a971db03b9f48b4647e3860e4bc8e6ed86610f"}, - {file = "matplotlib-3.9.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:8912ef7c2362f7193b5819d17dae8629b34a95c58603d781329712ada83f9447"}, - {file = "matplotlib-3.9.2-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:7741f26a58a240f43bee74965c4882b6c93df3e7eb3de160126d8c8f53a6ae6e"}, - {file = "matplotlib-3.9.2-cp311-cp311-win_amd64.whl", hash = "sha256:ae82a14dab96fbfad7965403c643cafe6515e386de723e498cf3eeb1e0b70cc7"}, - {file = "matplotlib-3.9.2-cp312-cp312-macosx_10_12_x86_64.whl", hash = "sha256:ac43031375a65c3196bee99f6001e7fa5bdfb00ddf43379d3c0609bdca042df9"}, - {file = "matplotlib-3.9.2-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:be0fc24a5e4531ae4d8e858a1a548c1fe33b176bb13eff7f9d0d38ce5112a27d"}, - {file = "matplotlib-3.9.2-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:bf81de2926c2db243c9b2cbc3917619a0fc85796c6ba4e58f541df814bbf83c7"}, - {file = "matplotlib-3.9.2-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f6ee45bc4245533111ced13f1f2cace1e7f89d1c793390392a80c139d6cf0e6c"}, - {file = "matplotlib-3.9.2-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:306c8dfc73239f0e72ac50e5a9cf19cc4e8e331dd0c54f5e69ca8758550f1e1e"}, - {file = "matplotlib-3.9.2-cp312-cp312-win_amd64.whl", hash = "sha256:5413401594cfaff0052f9d8b1aafc6d305b4bd7c4331dccd18f561ff7e1d3bd3"}, - {file = "matplotlib-3.9.2-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:18128cc08f0d3cfff10b76baa2f296fc28c4607368a8402de61bb3f2eb33c7d9"}, - {file = "matplotlib-3.9.2-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:4876d7d40219e8ae8bb70f9263bcbe5714415acfdf781086601211335e24f8aa"}, - {file = "matplotlib-3.9.2-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:6d9f07a80deab4bb0b82858a9e9ad53d1382fd122be8cde11080f4e7dfedb38b"}, - {file = "matplotlib-3.9.2-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f7c0410f181a531ec4e93bbc27692f2c71a15c2da16766f5ba9761e7ae518413"}, - {file = "matplotlib-3.9.2-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:909645cce2dc28b735674ce0931a4ac94e12f5b13f6bb0b5a5e65e7cea2c192b"}, - {file = "matplotlib-3.9.2-cp313-cp313-win_amd64.whl", hash = "sha256:f32c7410c7f246838a77d6d1eff0c0f87f3cb0e7c4247aebea71a6d5a68cab49"}, - {file = "matplotlib-3.9.2-cp313-cp313t-macosx_10_13_x86_64.whl", hash = "sha256:37e51dd1c2db16ede9cfd7b5cabdfc818b2c6397c83f8b10e0e797501c963a03"}, - {file = "matplotlib-3.9.2-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:b82c5045cebcecd8496a4d694d43f9cc84aeeb49fe2133e036b207abe73f4d30"}, - {file = "matplotlib-3.9.2-cp313-cp313t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:f053c40f94bc51bc03832a41b4f153d83f2062d88c72b5e79997072594e97e51"}, - {file = "matplotlib-3.9.2-cp313-cp313t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:dbe196377a8248972f5cede786d4c5508ed5f5ca4a1e09b44bda889958b33f8c"}, - {file = "matplotlib-3.9.2-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:5816b1e1fe8c192cbc013f8f3e3368ac56fbecf02fb41b8f8559303f24c5015e"}, - {file = "matplotlib-3.9.2-cp39-cp39-macosx_10_12_x86_64.whl", hash = "sha256:cef2a73d06601437be399908cf13aee74e86932a5ccc6ccdf173408ebc5f6bb2"}, - {file = "matplotlib-3.9.2-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:e0830e188029c14e891fadd99702fd90d317df294c3298aad682739c5533721a"}, - {file = "matplotlib-3.9.2-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:03ba9c1299c920964e8d3857ba27173b4dbb51ca4bab47ffc2c2ba0eb5e2cbc5"}, - {file = "matplotlib-3.9.2-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:1cd93b91ab47a3616b4d3c42b52f8363b88ca021e340804c6ab2536344fad9ca"}, - {file = "matplotlib-3.9.2-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:6d1ce5ed2aefcdce11904fc5bbea7d9c21fff3d5f543841edf3dea84451a09ea"}, - {file = "matplotlib-3.9.2-cp39-cp39-win_amd64.whl", hash = "sha256:b2696efdc08648536efd4e1601b5fd491fd47f4db97a5fbfd175549a7365c1b2"}, - {file = "matplotlib-3.9.2-pp39-pypy39_pp73-macosx_10_15_x86_64.whl", hash = "sha256:d52a3b618cb1cbb769ce2ee1dcdb333c3ab6e823944e9a2d36e37253815f9556"}, - {file = "matplotlib-3.9.2-pp39-pypy39_pp73-macosx_11_0_arm64.whl", hash = "sha256:039082812cacd6c6bec8e17a9c1e6baca230d4116d522e81e1f63a74d01d2e21"}, - {file = "matplotlib-3.9.2-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:6758baae2ed64f2331d4fd19be38b7b4eae3ecec210049a26b6a4f3ae1c85dcc"}, - {file = "matplotlib-3.9.2-pp39-pypy39_pp73-win_amd64.whl", hash = "sha256:050598c2b29e0b9832cde72bcf97627bf00262adbc4a54e2b856426bb2ef0697"}, - {file = "matplotlib-3.9.2.tar.gz", hash = "sha256:96ab43906269ca64a6366934106fa01534454a69e471b7bf3d79083981aaab92"}, + {file = "matplotlib-3.9.3-cp310-cp310-macosx_10_12_x86_64.whl", hash = "sha256:41b016e3be4e740b66c79a031a0a6e145728dbc248142e751e8dab4f3188ca1d"}, + {file = "matplotlib-3.9.3-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:8e0143975fc2a6d7136c97e19c637321288371e8f09cff2564ecd73e865ea0b9"}, + {file = "matplotlib-3.9.3-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:9f459c8ee2c086455744723628264e43c884be0c7d7b45d84b8cd981310b4815"}, + {file = "matplotlib-3.9.3-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:687df7ceff57b8f070d02b4db66f75566370e7ae182a0782b6d3d21b0d6917dc"}, + {file = "matplotlib-3.9.3-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:edd14cf733fdc4f6e6fe3f705af97676a7e52859bf0044aa2c84e55be739241c"}, + {file = "matplotlib-3.9.3-cp310-cp310-win_amd64.whl", hash = "sha256:1c40c244221a1adbb1256692b1133c6fb89418df27bf759a31a333e7912a4010"}, + {file = "matplotlib-3.9.3-cp311-cp311-macosx_10_12_x86_64.whl", hash = "sha256:cf2a60daf6cecff6828bc608df00dbc794380e7234d2411c0ec612811f01969d"}, + {file = "matplotlib-3.9.3-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:213d6dc25ce686516208d8a3e91120c6a4fdae4a3e06b8505ced5b716b50cc04"}, + {file = "matplotlib-3.9.3-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:c52f48eb75fcc119a4fdb68ba83eb5f71656999420375df7c94cc68e0e14686e"}, + {file = "matplotlib-3.9.3-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:d3c93796b44fa111049b88a24105e947f03c01966b5c0cc782e2ee3887b790a3"}, + {file = "matplotlib-3.9.3-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:cd1077b9a09b16d8c3c7075a8add5ffbfe6a69156a57e290c800ed4d435bef1d"}, + {file = "matplotlib-3.9.3-cp311-cp311-win_amd64.whl", hash = "sha256:c96eeeb8c68b662c7747f91a385688d4b449687d29b691eff7068a4602fe6dc4"}, + {file = "matplotlib-3.9.3-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:0a361bd5583bf0bcc08841df3c10269617ee2a36b99ac39d455a767da908bbbc"}, + {file = "matplotlib-3.9.3-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:e14485bb1b83eeb3d55b6878f9560240981e7bbc7a8d4e1e8c38b9bd6ec8d2de"}, + {file = "matplotlib-3.9.3-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:4a8d279f78844aad213c4935c18f8292a9432d51af2d88bca99072c903948045"}, + {file = "matplotlib-3.9.3-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:b6c12514329ac0d03128cf1dcceb335f4fbf7c11da98bca68dca8dcb983153a9"}, + {file = "matplotlib-3.9.3-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:6e9de2b390d253a508dd497e9b5579f3a851f208763ed67fdca5dc0c3ea6849c"}, + {file = "matplotlib-3.9.3-cp312-cp312-win_amd64.whl", hash = "sha256:d796272408f8567ff7eaa00eb2856b3a00524490e47ad505b0b4ca6bb8a7411f"}, + {file = "matplotlib-3.9.3-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:203d18df84f5288973b2d56de63d4678cc748250026ca9e1ad8f8a0fd8a75d83"}, + {file = "matplotlib-3.9.3-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:b651b0d3642991259109dc0351fc33ad44c624801367bb8307be9bfc35e427ad"}, + {file = "matplotlib-3.9.3-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:66d7b171fecf96940ce069923a08ba3df33ef542de82c2ff4fe8caa8346fa95a"}, + {file = "matplotlib-3.9.3-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:6be0ba61f6ff2e6b68e4270fb63b6813c9e7dec3d15fc3a93f47480444fd72f0"}, + {file = "matplotlib-3.9.3-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:9d6b2e8856dec3a6db1ae51aec85c82223e834b228c1d3228aede87eee2b34f9"}, + {file = "matplotlib-3.9.3-cp313-cp313-win_amd64.whl", hash = "sha256:90a85a004fefed9e583597478420bf904bb1a065b0b0ee5b9d8d31b04b0f3f70"}, + {file = "matplotlib-3.9.3-cp313-cp313t-macosx_10_13_x86_64.whl", hash = "sha256:3119b2f16de7f7b9212ba76d8fe6a0e9f90b27a1e04683cd89833a991682f639"}, + {file = "matplotlib-3.9.3-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:87ad73763d93add1b6c1f9fcd33af662fd62ed70e620c52fcb79f3ac427cf3a6"}, + {file = "matplotlib-3.9.3-cp313-cp313t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:026bdf3137ab6022c866efa4813b6bbeddc2ed4c9e7e02f0e323a7bca380dfa0"}, + {file = "matplotlib-3.9.3-cp313-cp313t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:760a5e89ebbb172989e8273024a1024b0f084510b9105261b3b00c15e9c9f006"}, + {file = "matplotlib-3.9.3-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:a42b9dc42de2cfe357efa27d9c50c7833fc5ab9b2eb7252ccd5d5f836a84e1e4"}, + {file = "matplotlib-3.9.3-cp313-cp313t-win_amd64.whl", hash = "sha256:e0fcb7da73fbf67b5f4bdaa57d85bb585a4e913d4a10f3e15b32baea56a67f0a"}, + {file = "matplotlib-3.9.3-cp39-cp39-macosx_10_12_x86_64.whl", hash = "sha256:031b7f5b8e595cc07def77ec5b58464e9bb67dc5760be5d6f26d9da24892481d"}, + {file = "matplotlib-3.9.3-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:9fa6e193c14d6944e0685cdb527cb6b38b0e4a518043e7212f214113af7391da"}, + {file = "matplotlib-3.9.3-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:4e6eefae6effa0c35bbbc18c25ee6e0b1da44d2359c3cd526eb0c9e703cf055d"}, + {file = "matplotlib-3.9.3-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:10d3e5c7a99bd28afb957e1ae661323b0800d75b419f24d041ed1cc5d844a764"}, + {file = "matplotlib-3.9.3-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:816a966d5d376bf24c92af8f379e78e67278833e4c7cbc9fa41872eec629a060"}, + {file = "matplotlib-3.9.3-cp39-cp39-win_amd64.whl", hash = "sha256:3fb0b37c896172899a4a93d9442ffdc6f870165f59e05ce2e07c6fded1c15749"}, + {file = "matplotlib-3.9.3-pp39-pypy39_pp73-macosx_10_15_x86_64.whl", hash = "sha256:5f2a4ea08e6876206d511365b0bc234edc813d90b930be72c3011bbd7898796f"}, + {file = "matplotlib-3.9.3-pp39-pypy39_pp73-macosx_11_0_arm64.whl", hash = "sha256:9b081dac96ab19c54fd8558fac17c9d2c9cb5cc4656e7ed3261ddc927ba3e2c5"}, + {file = "matplotlib-3.9.3-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:0a0a63cb8404d1d1f94968ef35738900038137dab8af836b6c21bb6f03d75465"}, + {file = "matplotlib-3.9.3-pp39-pypy39_pp73-win_amd64.whl", hash = "sha256:896774766fd6be4571a43bc2fcbcb1dcca0807e53cab4a5bf88c4aa861a08e12"}, + {file = "matplotlib-3.9.3.tar.gz", hash = "sha256:cd5dbbc8e25cad5f706845c4d100e2c8b34691b412b93717ce38d8ae803bcfa5"}, ] [package.dependencies] @@ -2260,7 +2257,7 @@ pyparsing = ">=2.3.1" python-dateutil = ">=2.7" [package.extras] -dev = ["meson-python (>=0.13.1)", "numpy (>=1.25)", "pybind11 (>=2.6)", "setuptools (>=64)", "setuptools_scm (>=7)"] +dev = ["meson-python (>=0.13.1)", "numpy (>=1.25)", "pybind11 (>=2.6,!=2.13.3)", "setuptools (>=64)", "setuptools_scm (>=7)"] [[package]] name = "matplotlib-inline" @@ -2637,13 +2634,13 @@ files = [ [[package]] name = "nbclient" -version = "0.10.0" +version = "0.10.1" description = "A client library for executing notebooks. Formerly nbconvert's ExecutePreprocessor." optional = false python-versions = ">=3.8.0" files = [ - {file = "nbclient-0.10.0-py3-none-any.whl", hash = "sha256:f13e3529332a1f1f81d82a53210322476a168bb7090a0289c795fe9cc11c9d3f"}, - {file = "nbclient-0.10.0.tar.gz", hash = "sha256:4b3f1b7dba531e498449c4db4f53da339c91d449dc11e9af3a43b4eb5c5abb09"}, + {file = "nbclient-0.10.1-py3-none-any.whl", hash = "sha256:949019b9240d66897e442888cfb618f69ef23dc71c01cb5fced8499c2cfc084d"}, + {file = "nbclient-0.10.1.tar.gz", hash = "sha256:3e93e348ab27e712acd46fccd809139e356eb9a31aab641d1a7991a6eb4e6f68"}, ] [package.dependencies] @@ -2654,7 +2651,7 @@ traitlets = ">=5.4" [package.extras] dev = ["pre-commit"] -docs = ["autodoc-traits", "mock", "moto", "myst-parser", "nbclient[test]", "sphinx (>=1.7)", "sphinx-book-theme", "sphinxcontrib-spelling"] +docs = ["autodoc-traits", "flaky", "ipykernel (>=6.19.3)", "ipython", "ipywidgets", "mock", "moto", "myst-parser", "nbconvert (>=7.0.0)", "pytest (>=7.0,<8)", "pytest-asyncio", "pytest-cov (>=4.0)", "sphinx (>=1.7)", "sphinx-book-theme", "sphinxcontrib-spelling", "testpath", "xmltodict"] test = ["flaky", "ipykernel (>=6.19.3)", "ipython", "ipywidgets", "nbconvert (>=7.0.0)", "pytest (>=7.0,<8)", "pytest-asyncio", "pytest-cov (>=4.0)", "testpath", "xmltodict"] [[package]] @@ -2729,27 +2726,35 @@ files = [ [[package]] name = "nh3" -version = "0.2.18" +version = "0.2.19" description = "Python bindings to the ammonia HTML sanitization library." optional = false python-versions = "*" files = [ - {file = "nh3-0.2.18-cp37-abi3-macosx_10_12_x86_64.macosx_11_0_arm64.macosx_10_12_universal2.whl", hash = "sha256:14c5a72e9fe82aea5fe3072116ad4661af5cf8e8ff8fc5ad3450f123e4925e86"}, - {file = "nh3-0.2.18-cp37-abi3-macosx_10_12_x86_64.whl", hash = "sha256:7b7c2a3c9eb1a827d42539aa64091640bd275b81e097cd1d8d82ef91ffa2e811"}, - {file = "nh3-0.2.18-cp37-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:42c64511469005058cd17cc1537578eac40ae9f7200bedcfd1fc1a05f4f8c200"}, - {file = "nh3-0.2.18-cp37-abi3-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:0411beb0589eacb6734f28d5497ca2ed379eafab8ad8c84b31bb5c34072b7164"}, - {file = "nh3-0.2.18-cp37-abi3-manylinux_2_17_ppc64.manylinux2014_ppc64.whl", hash = "sha256:5f36b271dae35c465ef5e9090e1fdaba4a60a56f0bb0ba03e0932a66f28b9189"}, - {file = "nh3-0.2.18-cp37-abi3-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:34c03fa78e328c691f982b7c03d4423bdfd7da69cd707fe572f544cf74ac23ad"}, - {file = "nh3-0.2.18-cp37-abi3-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:19aaba96e0f795bd0a6c56291495ff59364f4300d4a39b29a0abc9cb3774a84b"}, - {file = "nh3-0.2.18-cp37-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:de3ceed6e661954871d6cd78b410213bdcb136f79aafe22aa7182e028b8c7307"}, - {file = "nh3-0.2.18-cp37-abi3-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:6955369e4d9f48f41e3f238a9e60f9410645db7e07435e62c6a9ea6135a4907f"}, - {file = "nh3-0.2.18-cp37-abi3-musllinux_1_2_aarch64.whl", hash = "sha256:f0eca9ca8628dbb4e916ae2491d72957fdd35f7a5d326b7032a345f111ac07fe"}, - {file = "nh3-0.2.18-cp37-abi3-musllinux_1_2_armv7l.whl", hash = "sha256:3a157ab149e591bb638a55c8c6bcb8cdb559c8b12c13a8affaba6cedfe51713a"}, - {file = "nh3-0.2.18-cp37-abi3-musllinux_1_2_i686.whl", hash = "sha256:c8b3a1cebcba9b3669ed1a84cc65bf005728d2f0bc1ed2a6594a992e817f3a50"}, - {file = "nh3-0.2.18-cp37-abi3-musllinux_1_2_x86_64.whl", hash = "sha256:36c95d4b70530b320b365659bb5034341316e6a9b30f0b25fa9c9eff4c27a204"}, - {file = "nh3-0.2.18-cp37-abi3-win32.whl", hash = "sha256:a7f1b5b2c15866f2db413a3649a8fe4fd7b428ae58be2c0f6bca5eefd53ca2be"}, - {file = "nh3-0.2.18-cp37-abi3-win_amd64.whl", hash = "sha256:8ce0f819d2f1933953fca255db2471ad58184a60508f03e6285e5114b6254844"}, - {file = "nh3-0.2.18.tar.gz", hash = "sha256:94a166927e53972a9698af9542ace4e38b9de50c34352b962f4d9a7d4c927af4"}, + {file = "nh3-0.2.19-cp313-cp313t-macosx_10_12_x86_64.macosx_11_0_arm64.macosx_10_12_universal2.whl", hash = "sha256:ec9c8bf86e397cb88c560361f60fdce478b5edb8b93f04ead419b72fbe937ea6"}, + {file = "nh3-0.2.19-cp313-cp313t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:d0adf00e2b2026fa10a42537b60d161e516f206781c7515e4e97e09f72a8c5d0"}, + {file = "nh3-0.2.19-cp313-cp313t-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:3805161c4e12088bd74752ba69630e915bc30fe666034f47217a2f16b16efc37"}, + {file = "nh3-0.2.19-cp313-cp313t-musllinux_1_2_aarch64.whl", hash = "sha256:e3dedd7858a21312f7675841529941035a2ac91057db13402c8fe907aa19205a"}, + {file = "nh3-0.2.19-cp313-cp313t-musllinux_1_2_armv7l.whl", hash = "sha256:0b6820fc64f2ff7ef3e7253a093c946a87865c877b3889149a6d21d322ed8dbd"}, + {file = "nh3-0.2.19-cp313-cp313t-musllinux_1_2_i686.whl", hash = "sha256:833b3b5f1783ce95834a13030300cea00cbdfd64ea29260d01af9c4821da0aa9"}, + {file = "nh3-0.2.19-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:5d4f5e2189861b352b73acb803b5f4bb409c2f36275d22717e27d4e0c217ae55"}, + {file = "nh3-0.2.19-cp313-cp313t-win32.whl", hash = "sha256:2b926f179eb4bce72b651bfdf76f8aa05d167b2b72bc2f3657fd319f40232adc"}, + {file = "nh3-0.2.19-cp313-cp313t-win_amd64.whl", hash = "sha256:ac536a4b5c073fdadd8f5f4889adabe1cbdae55305366fb870723c96ca7f49c3"}, + {file = "nh3-0.2.19-cp38-abi3-macosx_10_12_x86_64.macosx_11_0_arm64.macosx_10_12_universal2.whl", hash = "sha256:c2e3f0d18cc101132fe10ab7ef5c4f41411297e639e23b64b5e888ccaad63f41"}, + {file = "nh3-0.2.19-cp38-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:11270b16c1b012677e3e2dd166c1aa273388776bf99a3e3677179db5097ee16a"}, + {file = "nh3-0.2.19-cp38-abi3-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:fc483dd8d20f8f8c010783a25a84db3bebeadced92d24d34b40d687f8043ac69"}, + {file = "nh3-0.2.19-cp38-abi3-manylinux_2_17_ppc64.manylinux2014_ppc64.whl", hash = "sha256:d53a4577b6123ca1d7e8483fad3e13cb7eda28913d516bd0a648c1a473aa21a9"}, + {file = "nh3-0.2.19-cp38-abi3-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:fdb20740d24ab9f2a1341458a00a11205294e97e905de060eeab1ceca020c09c"}, + {file = "nh3-0.2.19-cp38-abi3-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:d8325d51e47cb5b11f649d55e626d56c76041ba508cd59e0cb1cf687cc7612f1"}, + {file = "nh3-0.2.19-cp38-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:b8eb7affc590e542fa7981ef508cd1644f62176bcd10d4429890fc629b47f0bc"}, + {file = "nh3-0.2.19-cp38-abi3-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:2eb021804e9df1761abeb844bb86648d77aa118a663c82f50ea04110d87ed707"}, + {file = "nh3-0.2.19-cp38-abi3-musllinux_1_2_aarch64.whl", hash = "sha256:a7b928862daddb29805a1010a0282f77f4b8b238a37b5f76bc6c0d16d930fd22"}, + {file = "nh3-0.2.19-cp38-abi3-musllinux_1_2_armv7l.whl", hash = "sha256:ed06ed78f6b69d57463b46a04f68f270605301e69d80756a8adf7519002de57d"}, + {file = "nh3-0.2.19-cp38-abi3-musllinux_1_2_i686.whl", hash = "sha256:df8eac98fec80bd6f5fd0ae27a65de14f1e1a65a76d8e2237eb695f9cd1121d9"}, + {file = "nh3-0.2.19-cp38-abi3-musllinux_1_2_x86_64.whl", hash = "sha256:00810cd5275f5c3f44b9eb0e521d1a841ee2f8023622de39ffc7d88bd533d8e0"}, + {file = "nh3-0.2.19-cp38-abi3-win32.whl", hash = "sha256:7e98621856b0a911c21faa5eef8f8ea3e691526c2433f9afc2be713cb6fbdb48"}, + {file = "nh3-0.2.19-cp38-abi3-win_amd64.whl", hash = "sha256:75c7cafb840f24430b009f7368945cb5ca88b2b54bb384ebfba495f16bc9c121"}, + {file = "nh3-0.2.19.tar.gz", hash = "sha256:790056b54c068ff8dceb443eaefb696b84beff58cca6c07afd754d17692a4804"}, ] [[package]] @@ -3367,13 +3372,13 @@ xmp = ["defusedxml"] [[package]] name = "pkginfo" -version = "1.10.0" +version = "1.11.2" description = "Query metadata from sdists / bdists / installed packages." optional = false -python-versions = ">=3.6" +python-versions = ">=3.8" files = [ - {file = "pkginfo-1.10.0-py3-none-any.whl", hash = "sha256:889a6da2ed7ffc58ab5b900d888ddce90bce912f2d2de1dc1c26f4cb9fe65097"}, - {file = "pkginfo-1.10.0.tar.gz", hash = "sha256:5df73835398d10db79f8eecd5cd86b1f6d29317589ea70796994d49399af6297"}, + {file = "pkginfo-1.11.2-py3-none-any.whl", hash = "sha256:9ec518eefccd159de7ed45386a6bb4c6ca5fa2cb3bd9b71154fae44f6f1b36a3"}, + {file = "pkginfo-1.11.2.tar.gz", hash = "sha256:c6bc916b8298d159e31f2c216e35ee5b86da7da18874f879798d0a1983537c86"}, ] [package.extras] @@ -5042,8 +5047,4 @@ metrics = ["pandas", "pandas"] [metadata] lock-version = "2.0" python-versions = "^3.8" -<<<<<<< HEAD -content-hash = "0ddc88a3a3dd4e000b356a8743cfb95e6a8796f7546c4dc9a52a8fd51bab31bc" -======= -content-hash = "59d4b27ceced6305239faf417ad95293fe8fff2901b86b223447aecc31a8df45" ->>>>>>> develop +content-hash = "6d745f512b187236f021aa37a9350d8d330baf2eeddf905ed3116ed7e5b67811" From fac1581fcd5e80614ed663df8816f555a74bbed6 Mon Sep 17 00:00:00 2001 From: LinasKo Date: Mon, 2 Dec 2024 16:38:59 +0200 Subject: [PATCH 041/420] from_inference now supports roboflow results without json() --- supervision/detection/core.py | 5 +++-- supervision/keypoint/core.py | 6 +++--- 2 files changed, 6 insertions(+), 5 deletions(-) diff --git a/supervision/detection/core.py b/supervision/detection/core.py index 74c663a897..8c893eeb2b 100644 --- a/supervision/detection/core.py +++ b/supervision/detection/core.py @@ -1,6 +1,5 @@ from __future__ import annotations -from contextlib import suppress from dataclasses import dataclass, field from typing import Any, Dict, Iterator, List, Optional, Tuple, Union @@ -606,8 +605,10 @@ def from_inference(cls, roboflow_result: Union[dict, Any]) -> Detections: detections = sv.Detections.from_inference(result) ``` """ - with suppress(AttributeError): + if hasattr(roboflow_result, "dict"): roboflow_result = roboflow_result.dict(exclude_none=True, by_alias=True) + elif hasattr(roboflow_result, "json"): + roboflow_result = roboflow_result.json() xyxy, confidence, class_id, masks, trackers, data = process_roboflow_result( roboflow_result=roboflow_result ) diff --git a/supervision/keypoint/core.py b/supervision/keypoint/core.py index 4b8e9d55b5..9455241560 100644 --- a/supervision/keypoint/core.py +++ b/supervision/keypoint/core.py @@ -1,6 +1,5 @@ from __future__ import annotations -from contextlib import suppress from dataclasses import dataclass, field from typing import Any, Dict, Iterable, Iterator, List, Optional, Tuple, Union @@ -204,9 +203,10 @@ def from_inference(cls, inference_result: Union[dict, Any]) -> KeyPoints: "You can retrieve it like so: inference_result = model.infer(image)[0]" ) - with suppress(AttributeError): + if hasattr(inference_result, "dict"): inference_result = inference_result.dict(exclude_none=True, by_alias=True) - + elif hasattr(inference_result, "json"): + inference_result = inference_result.json() if not inference_result.get("predictions"): return cls.empty() From 348069fb07f73359f9784a7752223a83b7b63ebe Mon Sep 17 00:00:00 2001 From: "pre-commit-ci[bot]" <66853113+pre-commit-ci[bot]@users.noreply.github.com> Date: Mon, 2 Dec 2024 18:00:40 +0000 Subject: [PATCH 042/420] =?UTF-8?q?chore(pre=5Fcommit):=20=E2=AC=86=20pre?= =?UTF-8?q?=5Fcommit=20autoupdate?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit updates: - [github.com/PyCQA/bandit: 1.7.10 → 1.8.0](https://github.com/PyCQA/bandit/compare/1.7.10...1.8.0) - [github.com/astral-sh/ruff-pre-commit: v0.8.0 → v0.8.1](https://github.com/astral-sh/ruff-pre-commit/compare/v0.8.0...v0.8.1) --- .pre-commit-config.yaml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index 72fc1a1f0e..d9b77aafee 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -25,14 +25,14 @@ repos: - id: mixed-line-ending - repo: https://github.com/PyCQA/bandit - rev: '1.7.10' + rev: '1.8.0' hooks: - id: bandit args: ["-c", "pyproject.toml"] additional_dependencies: ["bandit[toml]"] - repo: https://github.com/astral-sh/ruff-pre-commit - rev: v0.8.0 + rev: v0.8.1 hooks: - id: ruff args: [--fix, --exit-non-zero-on-fix] From a4dfcacbfd87f0909d63df4f938cd69e2db0eaff Mon Sep 17 00:00:00 2001 From: LinasKo Date: Tue, 3 Dec 2024 13:12:14 +0200 Subject: [PATCH 043/420] detections __getitem__: earlier check for empty detections --- supervision/detection/core.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/supervision/detection/core.py b/supervision/detection/core.py index e4320a1651..14f4c0ef8c 100644 --- a/supervision/detection/core.py +++ b/supervision/detection/core.py @@ -1201,10 +1201,10 @@ def __getitem__( """ if isinstance(index, str): return self.data.get(index) - if isinstance(index, int): - index = [index] if self.is_empty(): return Detections.empty() + if isinstance(index, int): + index = [index] return Detections( xyxy=self.xyxy[index], mask=self.mask[index] if self.mask is not None else None, From 37eadfe3059cb8d37b0ad25fb91462ef3e7469ef Mon Sep 17 00:00:00 2001 From: Soham Date: Tue, 3 Dec 2024 19:24:41 +0530 Subject: [PATCH 044/420] test: empty detection check in getitem --- test/detection/test_core.py | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/test/detection/test_core.py b/test/detection/test_core.py index 61796bef24..402d9ef1cd 100644 --- a/test/detection/test_core.py +++ b/test/detection/test_core.py @@ -223,6 +223,12 @@ None, pytest.raises(IndexError), ), + ( + Detections.empty(), + np.isin(Detections.empty()["class_name"], [0, 1, 2]), + Detections.empty(), + DoesNotRaise(), + ), ], ) def test_getitem( From 7141f11c0b2a738fb24f0c99d044df55c34df63a Mon Sep 17 00:00:00 2001 From: LinasKo Date: Wed, 4 Dec 2024 12:13:33 +0200 Subject: [PATCH 045/420] detections __getitem__ test: minor class name correction --- test/detection/test_core.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/test/detection/test_core.py b/test/detection/test_core.py index 402d9ef1cd..dfa784fcb4 100644 --- a/test/detection/test_core.py +++ b/test/detection/test_core.py @@ -225,10 +225,10 @@ ), ( Detections.empty(), - np.isin(Detections.empty()["class_name"], [0, 1, 2]), + np.isin(Detections.empty()["class_name"], ["cat", "dog"]), Detections.empty(), DoesNotRaise(), - ), + ), # Filter an empty detections by specific class names ], ) def test_getitem( From f3d27d838175135474156543acd1e95a83579434 Mon Sep 17 00:00:00 2001 From: LinasKo Date: Thu, 5 Dec 2024 17:23:05 +0200 Subject: [PATCH 046/420] Cap ultralytics version --- demo.ipynb | 2 +- docs/how_to/benchmark_a_model.md | 2 +- docs/notebooks/count-objects-crossing-the-line.ipynb | 2 +- docs/notebooks/quickstart.ipynb | 2 +- examples/count_people_in_zone/requirements.txt | 2 +- examples/heatmap_and_track/requirements.txt | 2 +- examples/time_in_zone/requirements.txt | 2 +- examples/tracking/requirements.txt | 2 +- examples/traffic_analysis/requirements.txt | 2 +- 9 files changed, 9 insertions(+), 9 deletions(-) diff --git a/demo.ipynb b/demo.ipynb index 3b8cf2dc16..453c8014a9 100644 --- a/demo.ipynb +++ b/demo.ipynb @@ -353,7 +353,7 @@ }, "outputs": [], "source": [ - "!pip install -q ultralytics" + "!pip install -q \"ultralytics<=8.3.40\"" ] }, { diff --git a/docs/how_to/benchmark_a_model.md b/docs/how_to/benchmark_a_model.md index ab9b6a13ae..bf23ee0890 100644 --- a/docs/how_to/benchmark_a_model.md +++ b/docs/how_to/benchmark_a_model.md @@ -105,7 +105,7 @@ Let's load a model. Similarly to Inference, Ultralytics allows you to run a variety of models. ```bash - pip install ultralytics + pip install "ultralytics<=8.3.40" ``` ```python diff --git a/docs/notebooks/count-objects-crossing-the-line.ipynb b/docs/notebooks/count-objects-crossing-the-line.ipynb index a26d8c00f0..043bb17a08 100644 --- a/docs/notebooks/count-objects-crossing-the-line.ipynb +++ b/docs/notebooks/count-objects-crossing-the-line.ipynb @@ -130,7 +130,7 @@ }, "outputs": [], "source": [ - "!pip install -q ultralytics supervision==0.18.0" + "!pip install -q \"ultralytics<=8.3.40\" \"supervision==0.18.0\"" ] }, { diff --git a/docs/notebooks/quickstart.ipynb b/docs/notebooks/quickstart.ipynb index 325dd6bc49..f760f63d15 100644 --- a/docs/notebooks/quickstart.ipynb +++ b/docs/notebooks/quickstart.ipynb @@ -300,7 +300,7 @@ }, "outputs": [], "source": [ - "!pip install -q ultralytics" + "!pip install -q \"ultralytics<=8.3.40\"" ] }, { diff --git a/examples/count_people_in_zone/requirements.txt b/examples/count_people_in_zone/requirements.txt index 1cd58655de..e07ecb06c1 100644 --- a/examples/count_people_in_zone/requirements.txt +++ b/examples/count_people_in_zone/requirements.txt @@ -2,4 +2,4 @@ gdown inference==0.9.17 supervision>=0.20.0 tqdm -ultralytics +ultralytics<=8.3.40 diff --git a/examples/heatmap_and_track/requirements.txt b/examples/heatmap_and_track/requirements.txt index 27e5e57a84..dcf7f53fab 100644 --- a/examples/heatmap_and_track/requirements.txt +++ b/examples/heatmap_and_track/requirements.txt @@ -1,2 +1,2 @@ supervision[assets]==0.19.0 -ultralytics +ultralytics<=8.3.40 diff --git a/examples/time_in_zone/requirements.txt b/examples/time_in_zone/requirements.txt index 6154c3ebfe..58e3b78d80 100644 --- a/examples/time_in_zone/requirements.txt +++ b/examples/time_in_zone/requirements.txt @@ -1,5 +1,5 @@ opencv-python supervision>=0.20.0 -ultralytics +ultralytics<=8.3.40 inference==0.9.17 pytube diff --git a/examples/tracking/requirements.txt b/examples/tracking/requirements.txt index a45d9291b4..f31453c46f 100644 --- a/examples/tracking/requirements.txt +++ b/examples/tracking/requirements.txt @@ -1,4 +1,4 @@ inference==0.9.17 supervision==0.19.0 tqdm -ultralytics +ultralytics<=8.3.40 diff --git a/examples/traffic_analysis/requirements.txt b/examples/traffic_analysis/requirements.txt index 1cd58655de..e07ecb06c1 100644 --- a/examples/traffic_analysis/requirements.txt +++ b/examples/traffic_analysis/requirements.txt @@ -2,4 +2,4 @@ gdown inference==0.9.17 supervision>=0.20.0 tqdm -ultralytics +ultralytics<=8.3.40 From 37943b2d6f7454303f8a563ec0feafdb55271824 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Fri, 6 Dec 2024 01:11:02 +0000 Subject: [PATCH 047/420] :arrow_up: Bump notebook from 7.2.2 to 7.3.1 Bumps [notebook](https://github.com/jupyter/notebook) from 7.2.2 to 7.3.1. - [Release notes](https://github.com/jupyter/notebook/releases) - [Changelog](https://github.com/jupyter/notebook/blob/main/CHANGELOG.md) - [Commits](https://github.com/jupyter/notebook/compare/@jupyter-notebook/tree@7.2.2...@jupyter-notebook/tree@7.3.1) --- updated-dependencies: - dependency-name: notebook dependency-type: direct:development update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] --- poetry.lock | 48 ++++++++++++++---------------------------------- 1 file changed, 14 insertions(+), 34 deletions(-) diff --git a/poetry.lock b/poetry.lock index 780a707659..2c3e473f03 100644 --- a/poetry.lock +++ b/poetry.lock @@ -1,4 +1,4 @@ -# This file is automatically @generated by Poetry 1.8.4 and should not be changed by hand. +# This file is automatically @generated by Poetry 1.8.3 and should not be changed by hand. [[package]] name = "anyio" @@ -1751,18 +1751,18 @@ test = ["jupyter-server (>=2.0.0)", "pytest (>=7.0)", "pytest-jupyter[server] (> [[package]] name = "jupyterlab" -version = "4.2.6" +version = "4.3.2" description = "JupyterLab computational environment" optional = false python-versions = ">=3.8" files = [ - {file = "jupyterlab-4.2.6-py3-none-any.whl", hash = "sha256:78dd42cae5b460f377624b03966a8730e3b0692102ddf5933a2a3730c1bc0a20"}, - {file = "jupyterlab-4.2.6.tar.gz", hash = "sha256:625f3ac19da91f9706baf66df25723b2f1307c1159fc7293035b066786d62a4a"}, + {file = "jupyterlab-4.3.2-py3-none-any.whl", hash = "sha256:e87100cbab8b886ff7a4f325c856100ba6fdfe916162a85409daf0e707e19d1d"}, + {file = "jupyterlab-4.3.2.tar.gz", hash = "sha256:3c0a6882dbddcc0a7bfdd5e2236f351b2b263e48780236e6996c2aca13ac5b22"}, ] [package.dependencies] async-lru = ">=1.0.0" -httpx = ">=0.25.0" +httpx = ">=0.28.0,<0.29.0" importlib-metadata = {version = ">=4.8.3", markers = "python_version < \"3.10\""} importlib-resources = {version = ">=1.4", markers = "python_version < \"3.9\""} ipykernel = ">=6.5.0" @@ -1773,15 +1773,15 @@ jupyter-server = ">=2.4.0,<3" jupyterlab-server = ">=2.27.1,<3" notebook-shim = ">=0.2" packaging = "*" -setuptools = ">=40.1.0" +setuptools = ">=40.8.0" tomli = {version = ">=1.2.2", markers = "python_version < \"3.11\""} tornado = ">=6.2.0" traitlets = "*" [package.extras] -dev = ["build", "bump2version", "coverage", "hatch", "pre-commit", "pytest-cov", "ruff (==0.3.5)"] -docs = ["jsx-lexer", "myst-parser", "pydata-sphinx-theme (>=0.13.0)", "pytest", "pytest-check-links", "pytest-jupyter", "sphinx (>=1.8,<7.3.0)", "sphinx-copybutton"] -docs-screenshots = ["altair (==5.3.0)", "ipython (==8.16.1)", "ipywidgets (==8.1.2)", "jupyterlab-geojson (==3.4.0)", "jupyterlab-language-pack-zh-cn (==4.1.post2)", "matplotlib (==3.8.3)", "nbconvert (>=7.0.0)", "pandas (==2.2.1)", "scipy (==1.12.0)", "vega-datasets (==0.9.0)"] +dev = ["build", "bump2version", "coverage", "hatch", "pre-commit", "pytest-cov", "ruff (==0.6.9)"] +docs = ["jsx-lexer", "myst-parser", "pydata-sphinx-theme (>=0.13.0)", "pytest", "pytest-check-links", "pytest-jupyter", "sphinx (>=1.8,<8.1.0)", "sphinx-copybutton"] +docs-screenshots = ["altair (==5.4.1)", "ipython (==8.16.1)", "ipywidgets (==8.1.5)", "jupyterlab-geojson (==3.4.0)", "jupyterlab-language-pack-zh-cn (==4.2.post3)", "matplotlib (==3.9.2)", "nbconvert (>=7.0.0)", "pandas (==2.2.3)", "scipy (==1.14.1)", "vega-datasets (==0.9.0)"] test = ["coverage", "pytest (>=7.0)", "pytest-check-links (>=0.7)", "pytest-console-scripts", "pytest-cov", "pytest-jupyter (>=0.5.3)", "pytest-timeout", "pytest-tornasync", "requests", "requests-cache", "virtualenv"] upgrade-extension = ["copier (>=9,<10)", "jinja2-time (<0.3)", "pydantic (<3.0)", "pyyaml-include (<3.0)", "tomli-w (<2.0)"] @@ -2770,18 +2770,18 @@ files = [ [[package]] name = "notebook" -version = "7.2.2" +version = "7.3.1" description = "Jupyter Notebook - A web-based notebook environment for interactive computing" optional = false python-versions = ">=3.8" files = [ - {file = "notebook-7.2.2-py3-none-any.whl", hash = "sha256:c89264081f671bc02eec0ed470a627ed791b9156cad9285226b31611d3e9fe1c"}, - {file = "notebook-7.2.2.tar.gz", hash = "sha256:2ef07d4220421623ad3fe88118d687bc0450055570cdd160814a59cf3a1c516e"}, + {file = "notebook-7.3.1-py3-none-any.whl", hash = "sha256:212e1486b2230fe22279043f33c7db5cf9a01d29feb063a85cb139747b7c9483"}, + {file = "notebook-7.3.1.tar.gz", hash = "sha256:84381c2a82d867517fd25b86e986dae1fe113a70b98f03edff9b94e499fec8fa"}, ] [package.dependencies] jupyter-server = ">=2.4.0,<3" -jupyterlab = ">=4.2.0,<4.3" +jupyterlab = ">=4.3.2,<4.4" jupyterlab-server = ">=2.27.1,<3" notebook-shim = ">=0.2,<0.3" tornado = ">=6.2.0" @@ -2962,34 +2962,14 @@ files = [ {file = "opencv_python-4.8.1.78-cp37-abi3-win_amd64.whl", hash = "sha256:b983197f97cfa6fcb74e1da1802c7497a6f94ed561aba6980f1f33123f904956"}, ] -[package.dependencies] -numpy = {version = ">=1.23.5", markers = "python_version >= \"3.11\""} - -[[package]] -name = "opencv-python" -version = "4.10.0.84" -description = "Wrapper package for OpenCV python bindings." -optional = false -python-versions = ">=3.6" -files = [ - {file = "opencv-python-4.10.0.84.tar.gz", hash = "sha256:72d234e4582e9658ffea8e9cae5b63d488ad06994ef12d81dc303b17472f3526"}, - {file = "opencv_python-4.10.0.84-cp37-abi3-macosx_11_0_arm64.whl", hash = "sha256:fc182f8f4cda51b45f01c64e4cbedfc2f00aff799debebc305d8d0210c43f251"}, - {file = "opencv_python-4.10.0.84-cp37-abi3-macosx_12_0_x86_64.whl", hash = "sha256:71e575744f1d23f79741450254660442785f45a0797212852ee5199ef12eed98"}, - {file = "opencv_python-4.10.0.84-cp37-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:09a332b50488e2dda866a6c5573ee192fe3583239fb26ff2f7f9ceb0bc119ea6"}, - {file = "opencv_python-4.10.0.84-cp37-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:9ace140fc6d647fbe1c692bcb2abce768973491222c067c131d80957c595b71f"}, - {file = "opencv_python-4.10.0.84-cp37-abi3-win32.whl", hash = "sha256:2db02bb7e50b703f0a2d50c50ced72e95c574e1e5a0bb35a8a86d0b35c98c236"}, - {file = "opencv_python-4.10.0.84-cp37-abi3-win_amd64.whl", hash = "sha256:32dbbd94c26f611dc5cc6979e6b7aa1f55a64d6b463cc1dcd3c95505a63e48fe"}, -] - [package.dependencies] numpy = [ {version = ">=1.21.0", markers = "python_version <= \"3.9\" and platform_system == \"Darwin\" and platform_machine == \"arm64\" and python_version >= \"3.8\""}, {version = ">=1.19.3", markers = "platform_system == \"Linux\" and platform_machine == \"aarch64\" and python_version >= \"3.8\" and python_version < \"3.10\" or python_version > \"3.9\" and python_version < \"3.10\" or python_version >= \"3.9\" and platform_system != \"Darwin\" and python_version < \"3.10\" or python_version >= \"3.9\" and platform_machine != \"arm64\" and python_version < \"3.10\""}, {version = ">=1.17.3", markers = "(platform_system != \"Darwin\" and platform_system != \"Linux\") and python_version >= \"3.8\" and python_version < \"3.9\" or platform_system != \"Darwin\" and python_version >= \"3.8\" and python_version < \"3.9\" and platform_machine != \"aarch64\" or platform_machine != \"arm64\" and python_version >= \"3.8\" and python_version < \"3.9\" and platform_system != \"Linux\" or (platform_machine != \"arm64\" and platform_machine != \"aarch64\") and python_version >= \"3.8\" and python_version < \"3.9\""}, - {version = ">=1.23.5", markers = "python_version >= \"3.11\" and python_version < \"3.12\""}, + {version = ">=1.23.5", markers = "python_version >= \"3.11\""}, {version = ">=1.21.4", markers = "python_version >= \"3.10\" and platform_system == \"Darwin\" and python_version < \"3.11\""}, {version = ">=1.21.2", markers = "platform_system != \"Darwin\" and python_version >= \"3.10\" and python_version < \"3.11\""}, - {version = ">=1.26.0", markers = "python_version >= \"3.12\""}, ] [[package]] From 4c88e03b6c503143ee11a0e2e1bb924f861f36bd Mon Sep 17 00:00:00 2001 From: LinasKo Date: Fri, 6 Dec 2024 17:00:51 +0200 Subject: [PATCH 048/420] Add xyxy_to_polygons, ComparisonAnnotator --- supervision/__init__.py | 4 + supervision/annotators/core.py | 251 ++++++++++++++++++++++++++++++++- supervision/detection/utils.py | 19 +++ 3 files changed, 271 insertions(+), 3 deletions(-) diff --git a/supervision/__init__.py b/supervision/__init__.py index e2ed4bb75c..2b2a0082dd 100644 --- a/supervision/__init__.py +++ b/supervision/__init__.py @@ -14,6 +14,7 @@ BoxCornerAnnotator, CircleAnnotator, ColorAnnotator, + ComparisonAnnotator, CropAnnotator, DotAnnotator, EllipseAnnotator, @@ -76,6 +77,7 @@ scale_boxes, xcycwh_to_xyxy, xywh_to_xyxy, + xyxy_to_polygons, ) from supervision.draw.color import Color, ColorPalette from supervision.draw.utils import ( @@ -136,6 +138,7 @@ "ColorAnnotator", "ColorLookup", "ColorPalette", + "ComparisonAnnotator", "ConfusionMatrix", "CropAnnotator", "DetectionDataset", @@ -222,4 +225,5 @@ "scale_image", "xcycwh_to_xyxy", "xywh_to_xyxy", + "xyxy_to_polygons", ] diff --git a/supervision/annotators/core.py b/supervision/annotators/core.py index 02ab47d6fc..902a573b2a 100644 --- a/supervision/annotators/core.py +++ b/supervision/annotators/core.py @@ -16,10 +16,16 @@ ) from supervision.config import CLASS_NAME_DATA_FIELD, ORIENTED_BOX_COORDINATES from supervision.detection.core import Detections -from supervision.detection.utils import clip_boxes, mask_to_polygons, spread_out_boxes +from supervision.detection.utils import ( + clip_boxes, + mask_to_polygons, + polygon_to_mask, + spread_out_boxes, + xyxy_to_polygons, +) from supervision.draw.color import Color, ColorPalette -from supervision.draw.utils import draw_polygon -from supervision.geometry.core import Position +from supervision.draw.utils import draw_polygon, draw_rounded_rectangle, draw_text +from supervision.geometry.core import Point, Position, Rect from supervision.utils.conversion import ( ensure_cv2_image_for_annotation, ensure_pil_image_for_annotation, @@ -2683,3 +2689,242 @@ def annotate(self, scene: ImageType, detections: Detections) -> ImageType: np.copyto(scene, colored_mask) return scene + + +class ComparisonAnnotator: + """ + Highlights the differences between two sets of detections. + Useful for comparing results from two different models, or the difference + between a ground truth and a prediction. + + If present, uses the oriented bounding box data. + Otherwise, if present, uses a mask. + Otherwise, uses the bounding box data. + """ + + def __init__( + self, + color_1: Color = Color.RED, + color_2: Color = Color.GREEN, + color_overlap: Color = Color.BLUE, + *, + opacity: float = 0.75, + label_1: str = "", + label_2: str = "", + label_overlap: str = "", + label_scale: float = 1.0, + ): + """ + Args: + color_1 (Color): Color of areas only present in the first set of + detections. + color_2 (Color): Color of areas only present in the second set of + detections. + color_overlap (Color): Color of areas present in both sets of detections. + opacity (float): Annotator opacity, from `0` to `1`. + label_1 (str): Label for the first set of detections. + label_2 (str): Label for the second set of detections. + label_overlap (str): Label for areas present in both sets of detections. + label_scale (float): Controls how large the labels are. + """ + + self.color_1 = color_1 + self.color_2 = color_2 + self.color_overlap = color_overlap + + self.opacity = opacity + self.label_1 = label_1 + self.label_2 = label_2 + self.label_overlap = label_overlap + self.label_scale = label_scale + self.text_thickness = int(self.label_scale + 1.2) + + @ensure_cv2_image_for_annotation + def annotate( + self, scene: ImageType, detections_1: Detections, detections_2: Detections + ) -> ImageType: + """ + Highlights the differences between two sets of detections. + + Args: + scene (ImageType): The image where detections will be drawn. + `ImageType` is a flexible type, accepting either `numpy.ndarray` + or `PIL.Image.Image`. + detections_1 (Detections): The first set of detections or predictions. + detections_2 (Detections): The second set of detections to compare or + ground truth. + + Returns: + The annotated image. + """ + assert isinstance(scene, np.ndarray) + if detections_1.is_empty() and detections_2.is_empty(): + return scene + + use_obb = self._use_obb(detections_1, detections_2) + use_mask = self._use_mask(detections_1, detections_2) + + if use_obb: + mask_1 = self._mask_from_obb(scene, detections_1) + mask_2 = self._mask_from_obb(scene, detections_2) + + elif use_mask: + mask_1 = self._mask_from_mask(scene, detections_1) + mask_2 = self._mask_from_mask(scene, detections_2) + + else: + mask_1 = self._mask_from_xyxy(scene, detections_1) + mask_2 = self._mask_from_xyxy(scene, detections_2) + + mask_overlap = mask_1 & mask_2 + mask_1 = mask_1 & ~mask_overlap + mask_2 = mask_2 & ~mask_overlap + + color_layer = np.zeros_like(scene, dtype=np.uint8) + color_layer[mask_overlap] = self.color_overlap.as_bgr() + color_layer[mask_1] = self.color_1.as_bgr() + color_layer[mask_2] = self.color_2.as_bgr() + + scene[mask_overlap] = (1 - self.opacity) * scene[ + mask_overlap + ] + self.opacity * color_layer[mask_overlap] + scene[mask_1] = (1 - self.opacity) * scene[mask_1] + self.opacity * color_layer[ + mask_1 + ] + scene[mask_2] = (1 - self.opacity) * scene[mask_2] + self.opacity * color_layer[ + mask_2 + ] + + self._draw_labels(scene) + + return scene + + @staticmethod + def _use_obb(detections_1: Detections, detections_2: Detections) -> bool: + assert not detections_1.is_empty() or not detections_2.is_empty() + is_obb_1 = ORIENTED_BOX_COORDINATES in detections_1.data + is_obb_2 = ORIENTED_BOX_COORDINATES in detections_2.data + return ( + (is_obb_1 and is_obb_2) + or (is_obb_1 and detections_2.is_empty()) + or (detections_1.is_empty() and is_obb_2) + ) + + @staticmethod + def _use_mask(detections_1: Detections, detections_2: Detections) -> bool: + assert not detections_1.is_empty() or not detections_2.is_empty() + is_mask_1 = detections_1.mask is not None + is_mask_2 = detections_2.mask is not None + return ( + (is_mask_1 and is_mask_2) + or (is_mask_1 and detections_2.is_empty()) + or (detections_1.is_empty() and is_mask_2) + ) + + @staticmethod + def _mask_from_xyxy(scene: np.ndarray, detections: Detections) -> np.ndarray: + mask = np.zeros(scene.shape[:2], dtype=np.bool_) + if detections.is_empty(): + return mask + + resolution_wh = scene.shape[1], scene.shape[0] + polygons = xyxy_to_polygons(detections.xyxy) + + for polygon in polygons: + polygon_mask = polygon_to_mask(polygon, resolution_wh=resolution_wh) + mask |= polygon_mask.astype(np.bool_) + return mask + + @staticmethod + def _mask_from_obb(scene: np.ndarray, detections: Detections) -> np.ndarray: + mask = np.zeros(scene.shape[:2], dtype=np.bool_) + if detections.is_empty(): + return mask + + resolution_wh = scene.shape[1], scene.shape[0] + + for polygon in detections.data[ORIENTED_BOX_COORDINATES]: + polygon_mask = polygon_to_mask(polygon, resolution_wh=resolution_wh) + mask |= polygon_mask.astype(np.bool_) + return mask + + @staticmethod + def _mask_from_mask(scene: np.ndarray, detections: Detections) -> np.ndarray: + mask = np.zeros(scene.shape[:2], dtype=np.bool_) + if detections.is_empty(): + return mask + assert detections.mask is not None + + for detections_mask in detections.mask: + mask |= detections_mask.astype(np.bool_) + return mask + + def _draw_labels(self, scene: np.ndarray) -> None: + """ + Draw the labels, explaining what each color represents, with automatically + computed positions. + + Args: + scene (np.ndarray): The image where the labels will be drawn. + """ + margin = int(50 * self.label_scale) + gap = int(40 * self.label_scale) + y0 = int(50 * self.label_scale) + height = int(50 * self.label_scale) + + marker_size = int(20 * self.label_scale) + padding = int(10 * self.label_scale) + text_box_corner_radius = int(10 * self.label_scale) + marker_corner_radius = int(4 * self.label_scale) + text_scale = self.label_scale + + label_color_pairs = [ + (self.label_1, self.color_1), + (self.label_2, self.color_2), + (self.label_overlap, self.color_overlap), + ] + + x0 = margin + for text, color in label_color_pairs: + if not text: + continue + + (text_w, _) = cv2.getTextSize( + text=text, + fontFace=CV2_FONT, + fontScale=self.label_scale, + thickness=self.text_thickness, + )[0] + + width = text_w + marker_size + padding * 4 + center_x = x0 + width // 2 + center_y = y0 + height // 2 + + draw_rounded_rectangle( + scene=scene, + rect=Rect(x=x0, y=y0, width=width, height=height), + color=Color.WHITE, + border_radius=text_box_corner_radius, + ) + + draw_rounded_rectangle( + scene=scene, + rect=Rect( + x=x0 + padding, + y=center_y - marker_size / 2, + width=marker_size, + height=marker_size, + ), + color=color, + border_radius=marker_corner_radius, + ) + + draw_text( + scene, + text, + text_anchor=Point(x=center_x + marker_size, y=center_y), + text_scale=text_scale, + text_thickness=self.text_thickness, + ) + + x0 += width + gap diff --git a/supervision/detection/utils.py b/supervision/detection/utils.py index f6bcd33bce..a2cbd87bd1 100644 --- a/supervision/detection/utils.py +++ b/supervision/detection/utils.py @@ -11,6 +11,25 @@ MIN_POLYGON_POINT_COUNT = 3 +def xyxy_to_polygons(box: np.ndarray) -> np.ndarray: + """ + Convert an array of boxes to an array of polygons. + Retains the input datatype. + + Args: + box (np.ndarray): An array of boxes (N, 4), where each box is represented as a + list of four coordinates in the format `(x_min, y_min, x_max, y_max)`. + + Returns: + np.ndarray: An array of polygons (N, 4, 2), where each polygon is + represented as a list of four coordinates in the format `(x, y)`. + """ + polygon = np.zeros((box.shape[0], 4, 2), dtype=box.dtype) + polygon[:, :, 0] = box[:, [0, 2, 2, 0]] + polygon[:, :, 1] = box[:, [1, 1, 3, 3]] + return polygon + + def polygon_to_mask(polygon: np.ndarray, resolution_wh: Tuple[int, int]) -> np.ndarray: """Generate a mask from a polygon. From 34229c7ad72c3d432bd16e3ebf7f6b4c5c8177b2 Mon Sep 17 00:00:00 2001 From: Onuralp SEZER Date: Sun, 8 Dec 2024 23:33:30 +0300 Subject: [PATCH 049/420] chore: poetry version updated 1.8.5, notebook,ruff,numpy package updated properly Signed-off-by: Onuralp SEZER --- poetry.lock | 314 ++++++++++++++++++++++++++++------------------------ 1 file changed, 167 insertions(+), 147 deletions(-) diff --git a/poetry.lock b/poetry.lock index 2c3e473f03..16eb091740 100644 --- a/poetry.lock +++ b/poetry.lock @@ -1,4 +1,4 @@ -# This file is automatically @generated by Poetry 1.8.3 and should not be changed by hand. +# This file is automatically @generated by Poetry 1.8.5 and should not be changed by hand. [[package]] name = "anyio" @@ -1038,61 +1038,61 @@ typing = ["typing-extensions (>=4.12.2)"] [[package]] name = "fonttools" -version = "4.55.0" +version = "4.55.2" description = "Tools to manipulate font files" optional = false python-versions = ">=3.8" files = [ - {file = "fonttools-4.55.0-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:51c029d4c0608a21a3d3d169dfc3fb776fde38f00b35ca11fdab63ba10a16f61"}, - {file = "fonttools-4.55.0-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:bca35b4e411362feab28e576ea10f11268b1aeed883b9f22ed05675b1e06ac69"}, - {file = "fonttools-4.55.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:9ce4ba6981e10f7e0ccff6348e9775ce25ffadbee70c9fd1a3737e3e9f5fa74f"}, - {file = "fonttools-4.55.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:31d00f9852a6051dac23294a4cf2df80ced85d1d173a61ba90a3d8f5abc63c60"}, - {file = "fonttools-4.55.0-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:e198e494ca6e11f254bac37a680473a311a88cd40e58f9cc4dc4911dfb686ec6"}, - {file = "fonttools-4.55.0-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:7208856f61770895e79732e1dcbe49d77bd5783adf73ae35f87fcc267df9db81"}, - {file = "fonttools-4.55.0-cp310-cp310-win32.whl", hash = "sha256:e7e6a352ff9e46e8ef8a3b1fe2c4478f8a553e1b5a479f2e899f9dc5f2055880"}, - {file = "fonttools-4.55.0-cp310-cp310-win_amd64.whl", hash = "sha256:636caaeefe586d7c84b5ee0734c1a5ab2dae619dc21c5cf336f304ddb8f6001b"}, - {file = "fonttools-4.55.0-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:fa34aa175c91477485c44ddfbb51827d470011e558dfd5c7309eb31bef19ec51"}, - {file = "fonttools-4.55.0-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:37dbb3fdc2ef7302d3199fb12468481cbebaee849e4b04bc55b77c24e3c49189"}, - {file = "fonttools-4.55.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:b5263d8e7ef3c0ae87fbce7f3ec2f546dc898d44a337e95695af2cd5ea21a967"}, - {file = "fonttools-4.55.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f307f6b5bf9e86891213b293e538d292cd1677e06d9faaa4bf9c086ad5f132f6"}, - {file = "fonttools-4.55.0-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:f0a4b52238e7b54f998d6a56b46a2c56b59c74d4f8a6747fb9d4042190f37cd3"}, - {file = "fonttools-4.55.0-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:3e569711464f777a5d4ef522e781dc33f8095ab5efd7548958b36079a9f2f88c"}, - {file = "fonttools-4.55.0-cp311-cp311-win32.whl", hash = "sha256:2b3ab90ec0f7b76c983950ac601b58949f47aca14c3f21eed858b38d7ec42b05"}, - {file = "fonttools-4.55.0-cp311-cp311-win_amd64.whl", hash = "sha256:aa046f6a63bb2ad521004b2769095d4c9480c02c1efa7d7796b37826508980b6"}, - {file = "fonttools-4.55.0-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:838d2d8870f84fc785528a692e724f2379d5abd3fc9dad4d32f91cf99b41e4a7"}, - {file = "fonttools-4.55.0-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:f46b863d74bab7bb0d395f3b68d3f52a03444964e67ce5c43ce43a75efce9246"}, - {file = "fonttools-4.55.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:33b52a9cfe4e658e21b1f669f7309b4067910321757fec53802ca8f6eae96a5a"}, - {file = "fonttools-4.55.0-cp312-cp312-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:732a9a63d6ea4a81b1b25a1f2e5e143761b40c2e1b79bb2b68e4893f45139a40"}, - {file = "fonttools-4.55.0-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:7dd91ac3fcb4c491bb4763b820bcab6c41c784111c24172616f02f4bc227c17d"}, - {file = "fonttools-4.55.0-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:1f0e115281a32ff532118aa851ef497a1b7cda617f4621c1cdf81ace3e36fb0c"}, - {file = "fonttools-4.55.0-cp312-cp312-win32.whl", hash = "sha256:6c99b5205844f48a05cb58d4a8110a44d3038c67ed1d79eb733c4953c628b0f6"}, - {file = "fonttools-4.55.0-cp312-cp312-win_amd64.whl", hash = "sha256:f8c8c76037d05652510ae45be1cd8fb5dd2fd9afec92a25374ac82255993d57c"}, - {file = "fonttools-4.55.0-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:8118dc571921dc9e4b288d9cb423ceaf886d195a2e5329cc427df82bba872cd9"}, - {file = "fonttools-4.55.0-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:01124f2ca6c29fad4132d930da69158d3f49b2350e4a779e1efbe0e82bd63f6c"}, - {file = "fonttools-4.55.0-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:81ffd58d2691f11f7c8438796e9f21c374828805d33e83ff4b76e4635633674c"}, - {file = "fonttools-4.55.0-cp313-cp313-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:5435e5f1eb893c35c2bc2b9cd3c9596b0fcb0a59e7a14121562986dd4c47b8dd"}, - {file = "fonttools-4.55.0-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:d12081729280c39d001edd0f4f06d696014c26e6e9a0a55488fabc37c28945e4"}, - {file = "fonttools-4.55.0-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:a7ad1f1b98ab6cb927ab924a38a8649f1ffd7525c75fe5b594f5dab17af70e18"}, - {file = "fonttools-4.55.0-cp313-cp313-win32.whl", hash = "sha256:abe62987c37630dca69a104266277216de1023cf570c1643bb3a19a9509e7a1b"}, - {file = "fonttools-4.55.0-cp313-cp313-win_amd64.whl", hash = "sha256:2863555ba90b573e4201feaf87a7e71ca3b97c05aa4d63548a4b69ea16c9e998"}, - {file = "fonttools-4.55.0-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:00f7cf55ad58a57ba421b6a40945b85ac7cc73094fb4949c41171d3619a3a47e"}, - {file = "fonttools-4.55.0-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:f27526042efd6f67bfb0cc2f1610fa20364396f8b1fc5edb9f45bb815fb090b2"}, - {file = "fonttools-4.55.0-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:e8e67974326af6a8879dc2a4ec63ab2910a1c1a9680ccd63e4a690950fceddbe"}, - {file = "fonttools-4.55.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:61dc0a13451143c5e987dec5254d9d428f3c2789a549a7cf4f815b63b310c1cc"}, - {file = "fonttools-4.55.0-cp38-cp38-musllinux_1_2_aarch64.whl", hash = "sha256:b2e526b325a903868c62155a6a7e24df53f6ce4c5c3160214d8fe1be2c41b478"}, - {file = "fonttools-4.55.0-cp38-cp38-musllinux_1_2_x86_64.whl", hash = "sha256:b7ef9068a1297714e6fefe5932c33b058aa1d45a2b8be32a4c6dee602ae22b5c"}, - {file = "fonttools-4.55.0-cp38-cp38-win32.whl", hash = "sha256:55718e8071be35dff098976bc249fc243b58efa263768c611be17fe55975d40a"}, - {file = "fonttools-4.55.0-cp38-cp38-win_amd64.whl", hash = "sha256:553bd4f8cc327f310c20158e345e8174c8eed49937fb047a8bda51daf2c353c8"}, - {file = "fonttools-4.55.0-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:3f901cef813f7c318b77d1c5c14cf7403bae5cb977cede023e22ba4316f0a8f6"}, - {file = "fonttools-4.55.0-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:8c9679fc0dd7e8a5351d321d8d29a498255e69387590a86b596a45659a39eb0d"}, - {file = "fonttools-4.55.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:dd2820a8b632f3307ebb0bf57948511c2208e34a4939cf978333bc0a3f11f838"}, - {file = "fonttools-4.55.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:23bbbb49bec613a32ed1b43df0f2b172313cee690c2509f1af8fdedcf0a17438"}, - {file = "fonttools-4.55.0-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:a656652e1f5d55b9728937a7e7d509b73d23109cddd4e89ee4f49bde03b736c6"}, - {file = "fonttools-4.55.0-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:f50a1f455902208486fbca47ce33054208a4e437b38da49d6721ce2fef732fcf"}, - {file = "fonttools-4.55.0-cp39-cp39-win32.whl", hash = "sha256:161d1ac54c73d82a3cded44202d0218ab007fde8cf194a23d3dd83f7177a2f03"}, - {file = "fonttools-4.55.0-cp39-cp39-win_amd64.whl", hash = "sha256:ca7fd6987c68414fece41c96836e945e1f320cda56fc96ffdc16e54a44ec57a2"}, - {file = "fonttools-4.55.0-py3-none-any.whl", hash = "sha256:12db5888cd4dd3fcc9f0ee60c6edd3c7e1fd44b7dd0f31381ea03df68f8a153f"}, - {file = "fonttools-4.55.0.tar.gz", hash = "sha256:7636acc6ab733572d5e7eec922b254ead611f1cdad17be3f0be7418e8bfaca71"}, + {file = "fonttools-4.55.2-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:bef0f8603834643b1a6419d57902f18e7d950ec1a998fb70410635c598dc1a1e"}, + {file = "fonttools-4.55.2-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:944228b86d472612d3b48bcc83b31c25c2271e63fdc74539adfcfa7a96d487fb"}, + {file = "fonttools-4.55.2-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:9f0e55f5da594b85f269cfbecd2f6bd3e07d0abba68870bc3f34854de4fa4678"}, + {file = "fonttools-4.55.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:5b1a6e576db0c83c1b91925bf1363478c4bb968dbe8433147332fb5782ce6190"}, + {file = "fonttools-4.55.2-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:616368b15716781bc84df5c2191dc0540137aaef56c2771eb4b89b90933f347a"}, + {file = "fonttools-4.55.2-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:7bbae4f3915225c2c37670da68e2bf18a21206060ad31dfb95fec91ef641caa7"}, + {file = "fonttools-4.55.2-cp310-cp310-win32.whl", hash = "sha256:8b02b10648d69d67a7eb055f4d3eedf4a85deb22fb7a19fbd9acbae7c7538199"}, + {file = "fonttools-4.55.2-cp310-cp310-win_amd64.whl", hash = "sha256:bbea0ab841113ac8e8edde067e099b7288ffc6ac2dded538b131c2c0595d5f77"}, + {file = "fonttools-4.55.2-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:d34525e8141286fa976e14806639d32294bfb38d28bbdb5f6be9f46a1cd695a6"}, + {file = "fonttools-4.55.2-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:0ecd1c2b1c2ec46bb73685bc5473c72e16ed0930ef79bc2919ccadc43a99fb16"}, + {file = "fonttools-4.55.2-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:9008438ad59e5a8e403a62fbefef2b2ff377eb3857d90a3f2a5f4d674ff441b2"}, + {file = "fonttools-4.55.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:131591ac8d7a47043aaf29581aba755ae151d46e49d2bf49608601efd71e8b4d"}, + {file = "fonttools-4.55.2-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:4c83381c3e3e3d9caa25527c4300543578341f21aae89e4fbbb4debdda8d82a2"}, + {file = "fonttools-4.55.2-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:42aca564b575252fd9954ed0d91d97a24de24289a16ce8ff74ed0bdf5ecebf11"}, + {file = "fonttools-4.55.2-cp311-cp311-win32.whl", hash = "sha256:c6457f650ebe15baa17fc06e256227f0a47f46f80f27ec5a0b00160de8dc2c13"}, + {file = "fonttools-4.55.2-cp311-cp311-win_amd64.whl", hash = "sha256:5cfa67414d7414442a5635ff634384101c54f53bb7b0e04aa6a61b013fcce194"}, + {file = "fonttools-4.55.2-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:18f082445b8fe5e91c53e6184f4c1c73f3f965c8bcc614c6cd6effd573ce6c1a"}, + {file = "fonttools-4.55.2-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:27c0f91adbbd706e8acd1db73e3e510118e62d0ffb651864567dccc5b2339f90"}, + {file = "fonttools-4.55.2-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:3d8ccce035320d63dba0c35f52499322f5531dbe85bba1514c7cea26297e4c54"}, + {file = "fonttools-4.55.2-cp312-cp312-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:96e126df9615df214ec7f04bebcf60076297fbc10b75c777ce58b702d7708ffb"}, + {file = "fonttools-4.55.2-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:508ebb42956a7a931c4092dfa2d9b4ffd4f94cea09b8211199090d2bd082506b"}, + {file = "fonttools-4.55.2-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:c1b9de46ef7b683d50400abf9f1578eaceee271ff51c36bf4b7366f2be29f498"}, + {file = "fonttools-4.55.2-cp312-cp312-win32.whl", hash = "sha256:2df61d9fc15199cc86dad29f64dd686874a3a52dda0c2d8597d21f509f95c332"}, + {file = "fonttools-4.55.2-cp312-cp312-win_amd64.whl", hash = "sha256:d337ec087da8216a828574aa0525d869df0a2ac217a2efc1890974ddd1fbc5b9"}, + {file = "fonttools-4.55.2-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:10aff204e2edee1d312fa595c06f201adf8d528a3b659cfb34cd47eceaaa6a26"}, + {file = "fonttools-4.55.2-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:09fe922a3eff181fd07dd724cdb441fb6b9fc355fd1c0f1aa79aca60faf1fbdd"}, + {file = "fonttools-4.55.2-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:487e1e8b524143a799bda0169c48b44a23a6027c1bb1957d5a172a7d3a1dd704"}, + {file = "fonttools-4.55.2-cp313-cp313-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:9b1726872e09268bbedb14dc02e58b7ea31ecdd1204c6073eda4911746b44797"}, + {file = "fonttools-4.55.2-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:6fc88cfb58b0cd7b48718c3e61dd0d0a3ee8e2c86b973342967ce09fbf1db6d4"}, + {file = "fonttools-4.55.2-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:e857fe1859901ad8c5cab32e0eebc920adb09f413d2d73b74b677cf47b28590c"}, + {file = "fonttools-4.55.2-cp313-cp313-win32.whl", hash = "sha256:81ccd2b3a420b8050c7d9db3be0555d71662973b3ef2a1d921a2880b58957db8"}, + {file = "fonttools-4.55.2-cp313-cp313-win_amd64.whl", hash = "sha256:d559eb1744c7dcfa90ae60cb1a4b3595e898e48f4198738c321468c01180cd83"}, + {file = "fonttools-4.55.2-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:6b5917ef79cac8300b88fd6113003fd01bbbbea2ea060a27b95d8f77cb4c65c2"}, + {file = "fonttools-4.55.2-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:663eba5615d6abaaf616432354eb7ce951d518e43404371bcc2b0694ef21e8d6"}, + {file = "fonttools-4.55.2-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:803d5cef5fc47f44f5084d154aa3d6f069bb1b60e32390c225f897fa19b0f939"}, + {file = "fonttools-4.55.2-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:8bc5f100de0173cc39102c0399bd6c3bd544bbdf224957933f10ee442d43cddd"}, + {file = "fonttools-4.55.2-cp38-cp38-musllinux_1_2_aarch64.whl", hash = "sha256:3d9bbc1e380fdaf04ad9eabd8e3e6a4301eaf3487940893e9fd98537ea2e283b"}, + {file = "fonttools-4.55.2-cp38-cp38-musllinux_1_2_x86_64.whl", hash = "sha256:42a9afedff07b6f75aa0f39b5e49922ac764580ef3efce035ca30284b2ee65c8"}, + {file = "fonttools-4.55.2-cp38-cp38-win32.whl", hash = "sha256:f1c76f423f1a241df08f87614364dff6e0b7ce23c962c1b74bd995ec7c0dad13"}, + {file = "fonttools-4.55.2-cp38-cp38-win_amd64.whl", hash = "sha256:25062b6ca03464dd5179fc2040fb19e03391b7cc49b9cc4f879312e638605c5c"}, + {file = "fonttools-4.55.2-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:d1100d8e665fe386a79cab59446992de881ea74d0d6c191bb988642692aa2421"}, + {file = "fonttools-4.55.2-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:dbdc251c5e472e5ae6bc816f9b82718b8e93ff7992e7331d6cf3562b96aa268e"}, + {file = "fonttools-4.55.2-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d0bf24d2b02dbc9376d795a63062632ff73e3e9e60c0229373f500aed7e86dd7"}, + {file = "fonttools-4.55.2-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:d4ff250ed4ff05015dfd9cf2adf7570c7a383ca80f4d9732ac484a5ed0d8453c"}, + {file = "fonttools-4.55.2-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:44cf2a98aa661dbdeb8c03f5e405b074e2935196780bb729888639f5276067d9"}, + {file = "fonttools-4.55.2-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:22ef222740eb89d189bf0612eb98fbae592c61d7efeac51bfbc2a1592d469557"}, + {file = "fonttools-4.55.2-cp39-cp39-win32.whl", hash = "sha256:93f439ca27e55f585e7aaa04a74990acd983b5f2245e41d6b79f0a8b44e684d8"}, + {file = "fonttools-4.55.2-cp39-cp39-win_amd64.whl", hash = "sha256:627cf10d6f5af5bec6324c18a2670f134c29e1b7dce3fb62e8ef88baa6cba7a9"}, + {file = "fonttools-4.55.2-py3-none-any.whl", hash = "sha256:8e2d89fbe9b08d96e22c7a81ec04a4e8d8439c31223e2dc6f2f9fc8ff14bdf9f"}, + {file = "fonttools-4.55.2.tar.gz", hash = "sha256:45947e7b3f9673f91df125d375eb57b9a23f2a603f438a1aebf3171bffa7a205"}, ] [package.extras] @@ -1218,13 +1218,13 @@ trio = ["trio (>=0.22.0,<1.0)"] [[package]] name = "httpx" -version = "0.28.0" +version = "0.28.1" description = "The next generation HTTP client." optional = false python-versions = ">=3.8" files = [ - {file = "httpx-0.28.0-py3-none-any.whl", hash = "sha256:dc0b419a0cfeb6e8b34e85167c0da2671206f5095f1baa9663d23bcfd6b535fc"}, - {file = "httpx-0.28.0.tar.gz", hash = "sha256:0858d3bab51ba7e386637f22a61d8ccddaeec5f3fe4209da3a6168dbb91573e0"}, + {file = "httpx-0.28.1-py3-none-any.whl", hash = "sha256:d909fcccc110f8c7faf814ca82a9a4d816bc5a6dbfea25d6591d6985b8ba59ad"}, + {file = "httpx-0.28.1.tar.gz", hash = "sha256:75e98c5f16b0f35b567856f597f06ff2270a374470a5c2392242528e3e3e42fc"}, ] [package.dependencies] @@ -2473,13 +2473,13 @@ pygments = ">2.12.0" [[package]] name = "mkdocs-material" -version = "9.5.47" +version = "9.5.48" description = "Documentation that simply works" optional = false python-versions = ">=3.8" files = [ - {file = "mkdocs_material-9.5.47-py3-none-any.whl", hash = "sha256:53fb9c9624e7865da6ec807d116cd7be24b3cb36ab31b1d1d1a9af58c56009a2"}, - {file = "mkdocs_material-9.5.47.tar.gz", hash = "sha256:fc3b7a8e00ad896660bd3a5cc12ca0cb28bdc2bcbe2a946b5714c23ac91b0ede"}, + {file = "mkdocs_material-9.5.48-py3-none-any.whl", hash = "sha256:b695c998f4b939ce748adbc0d3bff73fa886a670ece948cf27818fa115dc16f8"}, + {file = "mkdocs_material-9.5.48.tar.gz", hash = "sha256:a582531e8b34f4c7ed38c29d5c44763053832cf2a32f7409567e0c74749a47db"}, ] [package.dependencies] @@ -2884,66 +2884,66 @@ files = [ [[package]] name = "numpy" -version = "2.1.3" +version = "2.2.0" description = "Fundamental package for array computing in Python" optional = false python-versions = ">=3.10" files = [ - {file = "numpy-2.1.3-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:c894b4305373b9c5576d7a12b473702afdf48ce5369c074ba304cc5ad8730dff"}, - {file = "numpy-2.1.3-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:b47fbb433d3260adcd51eb54f92a2ffbc90a4595f8970ee00e064c644ac788f5"}, - {file = "numpy-2.1.3-cp310-cp310-macosx_14_0_arm64.whl", hash = "sha256:825656d0743699c529c5943554d223c021ff0494ff1442152ce887ef4f7561a1"}, - {file = "numpy-2.1.3-cp310-cp310-macosx_14_0_x86_64.whl", hash = "sha256:6a4825252fcc430a182ac4dee5a505053d262c807f8a924603d411f6718b88fd"}, - {file = "numpy-2.1.3-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:e711e02f49e176a01d0349d82cb5f05ba4db7d5e7e0defd026328e5cfb3226d3"}, - {file = "numpy-2.1.3-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:78574ac2d1a4a02421f25da9559850d59457bac82f2b8d7a44fe83a64f770098"}, - {file = "numpy-2.1.3-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:c7662f0e3673fe4e832fe07b65c50342ea27d989f92c80355658c7f888fcc83c"}, - {file = "numpy-2.1.3-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:fa2d1337dc61c8dc417fbccf20f6d1e139896a30721b7f1e832b2bb6ef4eb6c4"}, - {file = "numpy-2.1.3-cp310-cp310-win32.whl", hash = "sha256:72dcc4a35a8515d83e76b58fdf8113a5c969ccd505c8a946759b24e3182d1f23"}, - {file = "numpy-2.1.3-cp310-cp310-win_amd64.whl", hash = "sha256:ecc76a9ba2911d8d37ac01de72834d8849e55473457558e12995f4cd53e778e0"}, - {file = "numpy-2.1.3-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:4d1167c53b93f1f5d8a139a742b3c6f4d429b54e74e6b57d0eff40045187b15d"}, - {file = "numpy-2.1.3-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:c80e4a09b3d95b4e1cac08643f1152fa71a0a821a2d4277334c88d54b2219a41"}, - {file = "numpy-2.1.3-cp311-cp311-macosx_14_0_arm64.whl", hash = "sha256:576a1c1d25e9e02ed7fa5477f30a127fe56debd53b8d2c89d5578f9857d03ca9"}, - {file = "numpy-2.1.3-cp311-cp311-macosx_14_0_x86_64.whl", hash = "sha256:973faafebaae4c0aaa1a1ca1ce02434554d67e628b8d805e61f874b84e136b09"}, - {file = "numpy-2.1.3-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:762479be47a4863e261a840e8e01608d124ee1361e48b96916f38b119cfda04a"}, - {file = "numpy-2.1.3-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:bc6f24b3d1ecc1eebfbf5d6051faa49af40b03be1aaa781ebdadcbc090b4539b"}, - {file = "numpy-2.1.3-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:17ee83a1f4fef3c94d16dc1802b998668b5419362c8a4f4e8a491de1b41cc3ee"}, - {file = "numpy-2.1.3-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:15cb89f39fa6d0bdfb600ea24b250e5f1a3df23f901f51c8debaa6a5d122b2f0"}, - {file = "numpy-2.1.3-cp311-cp311-win32.whl", hash = "sha256:d9beb777a78c331580705326d2367488d5bc473b49a9bc3036c154832520aca9"}, - {file = "numpy-2.1.3-cp311-cp311-win_amd64.whl", hash = "sha256:d89dd2b6da69c4fff5e39c28a382199ddedc3a5be5390115608345dec660b9e2"}, - {file = "numpy-2.1.3-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:f55ba01150f52b1027829b50d70ef1dafd9821ea82905b63936668403c3b471e"}, - {file = "numpy-2.1.3-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:13138eadd4f4da03074851a698ffa7e405f41a0845a6b1ad135b81596e4e9958"}, - {file = "numpy-2.1.3-cp312-cp312-macosx_14_0_arm64.whl", hash = "sha256:a6b46587b14b888e95e4a24d7b13ae91fa22386c199ee7b418f449032b2fa3b8"}, - {file = "numpy-2.1.3-cp312-cp312-macosx_14_0_x86_64.whl", hash = "sha256:0fa14563cc46422e99daef53d725d0c326e99e468a9320a240affffe87852564"}, - {file = "numpy-2.1.3-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:8637dcd2caa676e475503d1f8fdb327bc495554e10838019651b76d17b98e512"}, - {file = "numpy-2.1.3-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:2312b2aa89e1f43ecea6da6ea9a810d06aae08321609d8dc0d0eda6d946a541b"}, - {file = "numpy-2.1.3-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:a38c19106902bb19351b83802531fea19dee18e5b37b36454f27f11ff956f7fc"}, - {file = "numpy-2.1.3-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:02135ade8b8a84011cbb67dc44e07c58f28575cf9ecf8ab304e51c05528c19f0"}, - {file = "numpy-2.1.3-cp312-cp312-win32.whl", hash = "sha256:e6988e90fcf617da2b5c78902fe8e668361b43b4fe26dbf2d7b0f8034d4cafb9"}, - {file = "numpy-2.1.3-cp312-cp312-win_amd64.whl", hash = "sha256:0d30c543f02e84e92c4b1f415b7c6b5326cbe45ee7882b6b77db7195fb971e3a"}, - {file = "numpy-2.1.3-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:96fe52fcdb9345b7cd82ecd34547fca4321f7656d500eca497eb7ea5a926692f"}, - {file = "numpy-2.1.3-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:f653490b33e9c3a4c1c01d41bc2aef08f9475af51146e4a7710c450cf9761598"}, - {file = "numpy-2.1.3-cp313-cp313-macosx_14_0_arm64.whl", hash = "sha256:dc258a761a16daa791081d026f0ed4399b582712e6fc887a95af09df10c5ca57"}, - {file = "numpy-2.1.3-cp313-cp313-macosx_14_0_x86_64.whl", hash = "sha256:016d0f6f5e77b0f0d45d77387ffa4bb89816b57c835580c3ce8e099ef830befe"}, - {file = "numpy-2.1.3-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:c181ba05ce8299c7aa3125c27b9c2167bca4a4445b7ce73d5febc411ca692e43"}, - {file = "numpy-2.1.3-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:5641516794ca9e5f8a4d17bb45446998c6554704d888f86df9b200e66bdcce56"}, - {file = "numpy-2.1.3-cp313-cp313-musllinux_1_1_x86_64.whl", hash = "sha256:ea4dedd6e394a9c180b33c2c872b92f7ce0f8e7ad93e9585312b0c5a04777a4a"}, - {file = "numpy-2.1.3-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:b0df3635b9c8ef48bd3be5f862cf71b0a4716fa0e702155c45067c6b711ddcef"}, - {file = "numpy-2.1.3-cp313-cp313-win32.whl", hash = "sha256:50ca6aba6e163363f132b5c101ba078b8cbd3fa92c7865fd7d4d62d9779ac29f"}, - {file = "numpy-2.1.3-cp313-cp313-win_amd64.whl", hash = "sha256:747641635d3d44bcb380d950679462fae44f54b131be347d5ec2bce47d3df9ed"}, - {file = "numpy-2.1.3-cp313-cp313t-macosx_10_13_x86_64.whl", hash = "sha256:996bb9399059c5b82f76b53ff8bb686069c05acc94656bb259b1d63d04a9506f"}, - {file = "numpy-2.1.3-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:45966d859916ad02b779706bb43b954281db43e185015df6eb3323120188f9e4"}, - {file = "numpy-2.1.3-cp313-cp313t-macosx_14_0_arm64.whl", hash = "sha256:baed7e8d7481bfe0874b566850cb0b85243e982388b7b23348c6db2ee2b2ae8e"}, - {file = "numpy-2.1.3-cp313-cp313t-macosx_14_0_x86_64.whl", hash = "sha256:a9f7f672a3388133335589cfca93ed468509cb7b93ba3105fce780d04a6576a0"}, - {file = "numpy-2.1.3-cp313-cp313t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d7aac50327da5d208db2eec22eb11e491e3fe13d22653dce51b0f4109101b408"}, - {file = "numpy-2.1.3-cp313-cp313t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:4394bc0dbd074b7f9b52024832d16e019decebf86caf909d94f6b3f77a8ee3b6"}, - {file = "numpy-2.1.3-cp313-cp313t-musllinux_1_1_x86_64.whl", hash = "sha256:50d18c4358a0a8a53f12a8ba9d772ab2d460321e6a93d6064fc22443d189853f"}, - {file = "numpy-2.1.3-cp313-cp313t-musllinux_1_2_aarch64.whl", hash = "sha256:14e253bd43fc6b37af4921b10f6add6925878a42a0c5fe83daee390bca80bc17"}, - {file = "numpy-2.1.3-cp313-cp313t-win32.whl", hash = "sha256:08788d27a5fd867a663f6fc753fd7c3ad7e92747efc73c53bca2f19f8bc06f48"}, - {file = "numpy-2.1.3-cp313-cp313t-win_amd64.whl", hash = "sha256:2564fbdf2b99b3f815f2107c1bbc93e2de8ee655a69c261363a1172a79a257d4"}, - {file = "numpy-2.1.3-pp310-pypy310_pp73-macosx_10_15_x86_64.whl", hash = "sha256:4f2015dfe437dfebbfce7c85c7b53d81ba49e71ba7eadbf1df40c915af75979f"}, - {file = "numpy-2.1.3-pp310-pypy310_pp73-macosx_14_0_x86_64.whl", hash = "sha256:3522b0dfe983a575e6a9ab3a4a4dfe156c3e428468ff08ce582b9bb6bd1d71d4"}, - {file = "numpy-2.1.3-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:c006b607a865b07cd981ccb218a04fc86b600411d83d6fc261357f1c0966755d"}, - {file = "numpy-2.1.3-pp310-pypy310_pp73-win_amd64.whl", hash = "sha256:e14e26956e6f1696070788252dcdff11b4aca4c3e8bd166e0df1bb8f315a67cb"}, - {file = "numpy-2.1.3.tar.gz", hash = "sha256:aa08e04e08aaf974d4458def539dece0d28146d866a39da5639596f4921fd761"}, + {file = "numpy-2.2.0-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:1e25507d85da11ff5066269d0bd25d06e0a0f2e908415534f3e603d2a78e4ffa"}, + {file = "numpy-2.2.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:a62eb442011776e4036af5c8b1a00b706c5bc02dc15eb5344b0c750428c94219"}, + {file = "numpy-2.2.0-cp310-cp310-macosx_14_0_arm64.whl", hash = "sha256:b606b1aaf802e6468c2608c65ff7ece53eae1a6874b3765f69b8ceb20c5fa78e"}, + {file = "numpy-2.2.0-cp310-cp310-macosx_14_0_x86_64.whl", hash = "sha256:36b2b43146f646642b425dd2027730f99bac962618ec2052932157e213a040e9"}, + {file = "numpy-2.2.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:7fe8f3583e0607ad4e43a954e35c1748b553bfe9fdac8635c02058023277d1b3"}, + {file = "numpy-2.2.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:122fd2fcfafdefc889c64ad99c228d5a1f9692c3a83f56c292618a59aa60ae83"}, + {file = "numpy-2.2.0-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:3f2f5cddeaa4424a0a118924b988746db6ffa8565e5829b1841a8a3bd73eb59a"}, + {file = "numpy-2.2.0-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:7fe4bb0695fe986a9e4deec3b6857003b4cfe5c5e4aac0b95f6a658c14635e31"}, + {file = "numpy-2.2.0-cp310-cp310-win32.whl", hash = "sha256:b30042fe92dbd79f1ba7f6898fada10bdaad1847c44f2dff9a16147e00a93661"}, + {file = "numpy-2.2.0-cp310-cp310-win_amd64.whl", hash = "sha256:54dc1d6d66f8d37843ed281773c7174f03bf7ad826523f73435deb88ba60d2d4"}, + {file = "numpy-2.2.0-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:9874bc2ff574c40ab7a5cbb7464bf9b045d617e36754a7bc93f933d52bd9ffc6"}, + {file = "numpy-2.2.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:0da8495970f6b101ddd0c38ace92edea30e7e12b9a926b57f5fabb1ecc25bb90"}, + {file = "numpy-2.2.0-cp311-cp311-macosx_14_0_arm64.whl", hash = "sha256:0557eebc699c1c34cccdd8c3778c9294e8196df27d713706895edc6f57d29608"}, + {file = "numpy-2.2.0-cp311-cp311-macosx_14_0_x86_64.whl", hash = "sha256:3579eaeb5e07f3ded59298ce22b65f877a86ba8e9fe701f5576c99bb17c283da"}, + {file = "numpy-2.2.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:40deb10198bbaa531509aad0cd2f9fadb26c8b94070831e2208e7df543562b74"}, + {file = "numpy-2.2.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:c2aed8fcf8abc3020d6a9ccb31dbc9e7d7819c56a348cc88fd44be269b37427e"}, + {file = "numpy-2.2.0-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:a222d764352c773aa5ebde02dd84dba3279c81c6db2e482d62a3fa54e5ece69b"}, + {file = "numpy-2.2.0-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:4e58666988605e251d42c2818c7d3d8991555381be26399303053b58a5bbf30d"}, + {file = "numpy-2.2.0-cp311-cp311-win32.whl", hash = "sha256:4723a50e1523e1de4fccd1b9a6dcea750c2102461e9a02b2ac55ffeae09a4410"}, + {file = "numpy-2.2.0-cp311-cp311-win_amd64.whl", hash = "sha256:16757cf28621e43e252c560d25b15f18a2f11da94fea344bf26c599b9cf54b73"}, + {file = "numpy-2.2.0-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:cff210198bb4cae3f3c100444c5eaa573a823f05c253e7188e1362a5555235b3"}, + {file = "numpy-2.2.0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:58b92a5828bd4d9aa0952492b7de803135038de47343b2aa3cc23f3b71a3dc4e"}, + {file = "numpy-2.2.0-cp312-cp312-macosx_14_0_arm64.whl", hash = "sha256:ebe5e59545401fbb1b24da76f006ab19734ae71e703cdb4a8b347e84a0cece67"}, + {file = "numpy-2.2.0-cp312-cp312-macosx_14_0_x86_64.whl", hash = "sha256:e2b8cd48a9942ed3f85b95ca4105c45758438c7ed28fff1e4ce3e57c3b589d8e"}, + {file = "numpy-2.2.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:57fcc997ffc0bef234b8875a54d4058afa92b0b0c4223fc1f62f24b3b5e86038"}, + {file = "numpy-2.2.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:85ad7d11b309bd132d74397fcf2920933c9d1dc865487128f5c03d580f2c3d03"}, + {file = "numpy-2.2.0-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:cb24cca1968b21355cc6f3da1a20cd1cebd8a023e3c5b09b432444617949085a"}, + {file = "numpy-2.2.0-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:0798b138c291d792f8ea40fe3768610f3c7dd2574389e37c3f26573757c8f7ef"}, + {file = "numpy-2.2.0-cp312-cp312-win32.whl", hash = "sha256:afe8fb968743d40435c3827632fd36c5fbde633b0423da7692e426529b1759b1"}, + {file = "numpy-2.2.0-cp312-cp312-win_amd64.whl", hash = "sha256:3a4199f519e57d517ebd48cb76b36c82da0360781c6a0353e64c0cac30ecaad3"}, + {file = "numpy-2.2.0-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:f8c8b141ef9699ae777c6278b52c706b653bf15d135d302754f6b2e90eb30367"}, + {file = "numpy-2.2.0-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:0f0986e917aca18f7a567b812ef7ca9391288e2acb7a4308aa9d265bd724bdae"}, + {file = "numpy-2.2.0-cp313-cp313-macosx_14_0_arm64.whl", hash = "sha256:1c92113619f7b272838b8d6702a7f8ebe5edea0df48166c47929611d0b4dea69"}, + {file = "numpy-2.2.0-cp313-cp313-macosx_14_0_x86_64.whl", hash = "sha256:5a145e956b374e72ad1dff82779177d4a3c62bc8248f41b80cb5122e68f22d13"}, + {file = "numpy-2.2.0-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:18142b497d70a34b01642b9feabb70156311b326fdddd875a9981f34a369b671"}, + {file = "numpy-2.2.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:a7d41d1612c1a82b64697e894b75db6758d4f21c3ec069d841e60ebe54b5b571"}, + {file = "numpy-2.2.0-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:a98f6f20465e7618c83252c02041517bd2f7ea29be5378f09667a8f654a5918d"}, + {file = "numpy-2.2.0-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:e09d40edfdb4e260cb1567d8ae770ccf3b8b7e9f0d9b5c2a9992696b30ce2742"}, + {file = "numpy-2.2.0-cp313-cp313-win32.whl", hash = "sha256:3905a5fffcc23e597ee4d9fb3fcd209bd658c352657548db7316e810ca80458e"}, + {file = "numpy-2.2.0-cp313-cp313-win_amd64.whl", hash = "sha256:a184288538e6ad699cbe6b24859206e38ce5fba28f3bcfa51c90d0502c1582b2"}, + {file = "numpy-2.2.0-cp313-cp313t-macosx_10_13_x86_64.whl", hash = "sha256:7832f9e8eb00be32f15fdfb9a981d6955ea9adc8574c521d48710171b6c55e95"}, + {file = "numpy-2.2.0-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:f0dd071b95bbca244f4cb7f70b77d2ff3aaaba7fa16dc41f58d14854a6204e6c"}, + {file = "numpy-2.2.0-cp313-cp313t-macosx_14_0_arm64.whl", hash = "sha256:b0b227dcff8cdc3efbce66d4e50891f04d0a387cce282fe1e66199146a6a8fca"}, + {file = "numpy-2.2.0-cp313-cp313t-macosx_14_0_x86_64.whl", hash = "sha256:6ab153263a7c5ccaf6dfe7e53447b74f77789f28ecb278c3b5d49db7ece10d6d"}, + {file = "numpy-2.2.0-cp313-cp313t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:e500aba968a48e9019e42c0c199b7ec0696a97fa69037bea163b55398e390529"}, + {file = "numpy-2.2.0-cp313-cp313t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:440cfb3db4c5029775803794f8638fbdbf71ec702caf32735f53b008e1eaece3"}, + {file = "numpy-2.2.0-cp313-cp313t-musllinux_1_2_aarch64.whl", hash = "sha256:a55dc7a7f0b6198b07ec0cd445fbb98b05234e8b00c5ac4874a63372ba98d4ab"}, + {file = "numpy-2.2.0-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:4bddbaa30d78c86329b26bd6aaaea06b1e47444da99eddac7bf1e2fab717bd72"}, + {file = "numpy-2.2.0-cp313-cp313t-win32.whl", hash = "sha256:30bf971c12e4365153afb31fc73f441d4da157153f3400b82db32d04de1e4066"}, + {file = "numpy-2.2.0-cp313-cp313t-win_amd64.whl", hash = "sha256:d35717333b39d1b6bb8433fa758a55f1081543de527171543a2b710551d40881"}, + {file = "numpy-2.2.0-pp310-pypy310_pp73-macosx_10_15_x86_64.whl", hash = "sha256:e12c6c1ce84628c52d6367863773f7c8c8241be554e8b79686e91a43f1733773"}, + {file = "numpy-2.2.0-pp310-pypy310_pp73-macosx_14_0_x86_64.whl", hash = "sha256:b6207dc8fb3c8cb5668e885cef9ec7f70189bec4e276f0ff70d5aa078d32c88e"}, + {file = "numpy-2.2.0-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:a50aeff71d0f97b6450d33940c7181b08be1441c6c193e678211bff11aa725e7"}, + {file = "numpy-2.2.0-pp310-pypy310_pp73-win_amd64.whl", hash = "sha256:df12a1f99b99f569a7c2ae59aa2d31724e8d835fc7f33e14f4792e3071d11221"}, + {file = "numpy-2.2.0.tar.gz", hash = "sha256:140dd80ff8981a583a60980be1a655068f8adebf7a45a06a6858c873fcdcd4a0"}, ] [[package]] @@ -2962,14 +2962,34 @@ files = [ {file = "opencv_python-4.8.1.78-cp37-abi3-win_amd64.whl", hash = "sha256:b983197f97cfa6fcb74e1da1802c7497a6f94ed561aba6980f1f33123f904956"}, ] +[package.dependencies] +numpy = {version = ">=1.23.5", markers = "python_version >= \"3.11\""} + +[[package]] +name = "opencv-python" +version = "4.10.0.84" +description = "Wrapper package for OpenCV python bindings." +optional = false +python-versions = ">=3.6" +files = [ + {file = "opencv-python-4.10.0.84.tar.gz", hash = "sha256:72d234e4582e9658ffea8e9cae5b63d488ad06994ef12d81dc303b17472f3526"}, + {file = "opencv_python-4.10.0.84-cp37-abi3-macosx_11_0_arm64.whl", hash = "sha256:fc182f8f4cda51b45f01c64e4cbedfc2f00aff799debebc305d8d0210c43f251"}, + {file = "opencv_python-4.10.0.84-cp37-abi3-macosx_12_0_x86_64.whl", hash = "sha256:71e575744f1d23f79741450254660442785f45a0797212852ee5199ef12eed98"}, + {file = "opencv_python-4.10.0.84-cp37-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:09a332b50488e2dda866a6c5573ee192fe3583239fb26ff2f7f9ceb0bc119ea6"}, + {file = "opencv_python-4.10.0.84-cp37-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:9ace140fc6d647fbe1c692bcb2abce768973491222c067c131d80957c595b71f"}, + {file = "opencv_python-4.10.0.84-cp37-abi3-win32.whl", hash = "sha256:2db02bb7e50b703f0a2d50c50ced72e95c574e1e5a0bb35a8a86d0b35c98c236"}, + {file = "opencv_python-4.10.0.84-cp37-abi3-win_amd64.whl", hash = "sha256:32dbbd94c26f611dc5cc6979e6b7aa1f55a64d6b463cc1dcd3c95505a63e48fe"}, +] + [package.dependencies] numpy = [ {version = ">=1.21.0", markers = "python_version <= \"3.9\" and platform_system == \"Darwin\" and platform_machine == \"arm64\" and python_version >= \"3.8\""}, {version = ">=1.19.3", markers = "platform_system == \"Linux\" and platform_machine == \"aarch64\" and python_version >= \"3.8\" and python_version < \"3.10\" or python_version > \"3.9\" and python_version < \"3.10\" or python_version >= \"3.9\" and platform_system != \"Darwin\" and python_version < \"3.10\" or python_version >= \"3.9\" and platform_machine != \"arm64\" and python_version < \"3.10\""}, {version = ">=1.17.3", markers = "(platform_system != \"Darwin\" and platform_system != \"Linux\") and python_version >= \"3.8\" and python_version < \"3.9\" or platform_system != \"Darwin\" and python_version >= \"3.8\" and python_version < \"3.9\" and platform_machine != \"aarch64\" or platform_machine != \"arm64\" and python_version >= \"3.8\" and python_version < \"3.9\" and platform_system != \"Linux\" or (platform_machine != \"arm64\" and platform_machine != \"aarch64\") and python_version >= \"3.8\" and python_version < \"3.9\""}, - {version = ">=1.23.5", markers = "python_version >= \"3.11\""}, + {version = ">=1.23.5", markers = "python_version >= \"3.11\" and python_version < \"3.12\""}, {version = ">=1.21.4", markers = "python_version >= \"3.10\" and platform_system == \"Darwin\" and python_version < \"3.11\""}, {version = ">=1.21.2", markers = "platform_system != \"Darwin\" and python_version >= \"3.10\" and python_version < \"3.11\""}, + {version = ">=1.26.0", markers = "python_version >= \"3.12\""}, ] [[package]] @@ -3352,13 +3372,13 @@ xmp = ["defusedxml"] [[package]] name = "pkginfo" -version = "1.11.2" +version = "1.12.0" description = "Query metadata from sdists / bdists / installed packages." optional = false python-versions = ">=3.8" files = [ - {file = "pkginfo-1.11.2-py3-none-any.whl", hash = "sha256:9ec518eefccd159de7ed45386a6bb4c6ca5fa2cb3bd9b71154fae44f6f1b36a3"}, - {file = "pkginfo-1.11.2.tar.gz", hash = "sha256:c6bc916b8298d159e31f2c216e35ee5b86da7da18874f879798d0a1983537c86"}, + {file = "pkginfo-1.12.0-py3-none-any.whl", hash = "sha256:dcd589c9be4da8973eceffa247733c144812759aa67eaf4bbf97016a02f39088"}, + {file = "pkginfo-1.12.0.tar.gz", hash = "sha256:8ad91a0445a036782b9366ef8b8c2c50291f83a553478ba8580c73d3215700cf"}, ] [package.extras] @@ -3426,13 +3446,13 @@ virtualenv = ">=20.10.0" [[package]] name = "prometheus-client" -version = "0.21.0" +version = "0.21.1" description = "Python client for the Prometheus monitoring system." optional = false python-versions = ">=3.8" files = [ - {file = "prometheus_client-0.21.0-py3-none-any.whl", hash = "sha256:4fa6b4dd0ac16d58bb587c04b1caae65b8c5043e85f778f42f5f632f6af2e166"}, - {file = "prometheus_client-0.21.0.tar.gz", hash = "sha256:96c83c606b71ff2b0a433c98889d275f51ffec6c5e267de37c7a2b5c9aa9233e"}, + {file = "prometheus_client-0.21.1-py3-none-any.whl", hash = "sha256:594b45c410d6f4f8888940fe80b5cc2521b305a1fafe1c58609ef715a001f301"}, + {file = "prometheus_client-0.21.1.tar.gz", hash = "sha256:252505a722ac04b0456be05c05f75f45d760c2911ffc45f2a06bcaed9f3ae3fb"}, ] [package.extras] @@ -4246,29 +4266,29 @@ files = [ [[package]] name = "ruff" -version = "0.8.1" +version = "0.8.2" description = "An extremely fast Python linter and code formatter, written in Rust." optional = false python-versions = ">=3.7" files = [ - {file = "ruff-0.8.1-py3-none-linux_armv6l.whl", hash = "sha256:fae0805bd514066f20309f6742f6ee7904a773eb9e6c17c45d6b1600ca65c9b5"}, - {file = "ruff-0.8.1-py3-none-macosx_10_12_x86_64.whl", hash = "sha256:b8a4f7385c2285c30f34b200ca5511fcc865f17578383db154e098150ce0a087"}, - {file = "ruff-0.8.1-py3-none-macosx_11_0_arm64.whl", hash = "sha256:cd054486da0c53e41e0086e1730eb77d1f698154f910e0cd9e0d64274979a209"}, - {file = "ruff-0.8.1-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:2029b8c22da147c50ae577e621a5bfbc5d1fed75d86af53643d7a7aee1d23871"}, - {file = "ruff-0.8.1-py3-none-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:2666520828dee7dfc7e47ee4ea0d928f40de72056d929a7c5292d95071d881d1"}, - {file = "ruff-0.8.1-py3-none-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:333c57013ef8c97a53892aa56042831c372e0bb1785ab7026187b7abd0135ad5"}, - {file = "ruff-0.8.1-py3-none-manylinux_2_17_ppc64.manylinux2014_ppc64.whl", hash = "sha256:288326162804f34088ac007139488dcb43de590a5ccfec3166396530b58fb89d"}, - {file = "ruff-0.8.1-py3-none-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:b12c39b9448632284561cbf4191aa1b005882acbc81900ffa9f9f471c8ff7e26"}, - {file = "ruff-0.8.1-py3-none-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:364e6674450cbac8e998f7b30639040c99d81dfb5bbc6dfad69bc7a8f916b3d1"}, - {file = "ruff-0.8.1-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:b22346f845fec132aa39cd29acb94451d030c10874408dbf776af3aaeb53284c"}, - {file = "ruff-0.8.1-py3-none-musllinux_1_2_aarch64.whl", hash = "sha256:b2f2f7a7e7648a2bfe6ead4e0a16745db956da0e3a231ad443d2a66a105c04fa"}, - {file = "ruff-0.8.1-py3-none-musllinux_1_2_armv7l.whl", hash = "sha256:adf314fc458374c25c5c4a4a9270c3e8a6a807b1bec018cfa2813d6546215540"}, - {file = "ruff-0.8.1-py3-none-musllinux_1_2_i686.whl", hash = "sha256:a885d68342a231b5ba4d30b8c6e1b1ee3a65cf37e3d29b3c74069cdf1ee1e3c9"}, - {file = "ruff-0.8.1-py3-none-musllinux_1_2_x86_64.whl", hash = "sha256:d2c16e3508c8cc73e96aa5127d0df8913d2290098f776416a4b157657bee44c5"}, - {file = "ruff-0.8.1-py3-none-win32.whl", hash = "sha256:93335cd7c0eaedb44882d75a7acb7df4b77cd7cd0d2255c93b28791716e81790"}, - {file = "ruff-0.8.1-py3-none-win_amd64.whl", hash = "sha256:2954cdbe8dfd8ab359d4a30cd971b589d335a44d444b6ca2cb3d1da21b75e4b6"}, - {file = "ruff-0.8.1-py3-none-win_arm64.whl", hash = "sha256:55873cc1a473e5ac129d15eccb3c008c096b94809d693fc7053f588b67822737"}, - {file = "ruff-0.8.1.tar.gz", hash = "sha256:3583db9a6450364ed5ca3f3b4225958b24f78178908d5c4bc0f46251ccca898f"}, + {file = "ruff-0.8.2-py3-none-linux_armv6l.whl", hash = "sha256:c49ab4da37e7c457105aadfd2725e24305ff9bc908487a9bf8d548c6dad8bb3d"}, + {file = "ruff-0.8.2-py3-none-macosx_10_12_x86_64.whl", hash = "sha256:ec016beb69ac16be416c435828be702ee694c0d722505f9c1f35e1b9c0cc1bf5"}, + {file = "ruff-0.8.2-py3-none-macosx_11_0_arm64.whl", hash = "sha256:f05cdf8d050b30e2ba55c9b09330b51f9f97d36d4673213679b965d25a785f3c"}, + {file = "ruff-0.8.2-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:60f578c11feb1d3d257b2fb043ddb47501ab4816e7e221fbb0077f0d5d4e7b6f"}, + {file = "ruff-0.8.2-py3-none-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:cbd5cf9b0ae8f30eebc7b360171bd50f59ab29d39f06a670b3e4501a36ba5897"}, + {file = "ruff-0.8.2-py3-none-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:b402ddee3d777683de60ff76da801fa7e5e8a71038f57ee53e903afbcefdaa58"}, + {file = "ruff-0.8.2-py3-none-manylinux_2_17_ppc64.manylinux2014_ppc64.whl", hash = "sha256:705832cd7d85605cb7858d8a13d75993c8f3ef1397b0831289109e953d833d29"}, + {file = "ruff-0.8.2-py3-none-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:32096b41aaf7a5cc095fa45b4167b890e4c8d3fd217603f3634c92a541de7248"}, + {file = "ruff-0.8.2-py3-none-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:e769083da9439508833cfc7c23e351e1809e67f47c50248250ce1ac52c21fb93"}, + {file = "ruff-0.8.2-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:5fe716592ae8a376c2673fdfc1f5c0c193a6d0411f90a496863c99cd9e2ae25d"}, + {file = "ruff-0.8.2-py3-none-musllinux_1_2_aarch64.whl", hash = "sha256:81c148825277e737493242b44c5388a300584d73d5774defa9245aaef55448b0"}, + {file = "ruff-0.8.2-py3-none-musllinux_1_2_armv7l.whl", hash = "sha256:d261d7850c8367704874847d95febc698a950bf061c9475d4a8b7689adc4f7fa"}, + {file = "ruff-0.8.2-py3-none-musllinux_1_2_i686.whl", hash = "sha256:1ca4e3a87496dc07d2427b7dd7ffa88a1e597c28dad65ae6433ecb9f2e4f022f"}, + {file = "ruff-0.8.2-py3-none-musllinux_1_2_x86_64.whl", hash = "sha256:729850feed82ef2440aa27946ab39c18cb4a8889c1128a6d589ffa028ddcfc22"}, + {file = "ruff-0.8.2-py3-none-win32.whl", hash = "sha256:ac42caaa0411d6a7d9594363294416e0e48fc1279e1b0e948391695db2b3d5b1"}, + {file = "ruff-0.8.2-py3-none-win_amd64.whl", hash = "sha256:2aae99ec70abf43372612a838d97bfe77d45146254568d94926e8ed5bbb409ea"}, + {file = "ruff-0.8.2-py3-none-win_arm64.whl", hash = "sha256:fb88e2a506b70cfbc2de6fae6681c4f944f7dd5f2fe87233a7233d888bad73e8"}, + {file = "ruff-0.8.2.tar.gz", hash = "sha256:b84f4f414dda8ac7f75075c1fa0b905ac0ff25361f42e6d5da681a465e0f78e5"}, ] [[package]] @@ -4454,13 +4474,13 @@ type = ["importlib-metadata (>=7.0.2)", "jaraco.develop (>=7.21)", "mypy (==1.12 [[package]] name = "six" -version = "1.16.0" +version = "1.17.0" description = "Python 2 and 3 compatibility utilities" optional = false -python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*" +python-versions = "!=3.0.*,!=3.1.*,!=3.2.*,>=2.7" files = [ - {file = "six-1.16.0-py2.py3-none-any.whl", hash = "sha256:8abb2f1d86890a2dfb989f9a77cfcfd3e47c2a354b01111771326f8aa26e0254"}, - {file = "six-1.16.0.tar.gz", hash = "sha256:1e61c37477a1626458e36f7b1d82aa5c9b094fa4802892072e49de9c60c4c926"}, + {file = "six-1.17.0-py2.py3-none-any.whl", hash = "sha256:4721f391ed90541fddacab5acf947aa0d3dc7d27b2e1e8eda2be8970586c3274"}, + {file = "six-1.17.0.tar.gz", hash = "sha256:ff70335d468e7eb6ec65b95b99d3a2836546063f63acc5171de367e834932a81"}, ] [[package]] @@ -4720,13 +4740,13 @@ types-setuptools = "*" [[package]] name = "types-python-dateutil" -version = "2.9.0.20241003" +version = "2.9.0.20241206" description = "Typing stubs for python-dateutil" optional = false python-versions = ">=3.8" files = [ - {file = "types-python-dateutil-2.9.0.20241003.tar.gz", hash = "sha256:58cb85449b2a56d6684e41aeefb4c4280631246a0da1a719bdbe6f3fb0317446"}, - {file = "types_python_dateutil-2.9.0.20241003-py3-none-any.whl", hash = "sha256:250e1d8e80e7bbc3a6c99b907762711d1a1cdd00e978ad39cb5940f6f0a87f3d"}, + {file = "types_python_dateutil-2.9.0.20241206-py3-none-any.whl", hash = "sha256:e248a4bc70a486d3e3ec84d0dc30eec3a5f979d6e7ee4123ae043eedbb987f53"}, + {file = "types_python_dateutil-2.9.0.20241206.tar.gz", hash = "sha256:18f493414c26ffba692a72369fea7a154c502646301ebfe3d56a04b3767284cb"}, ] [[package]] From a713d3650a7438aaf4560b02dce48eeaacdcaa6a Mon Sep 17 00:00:00 2001 From: Sachin Agarwal Date: Mon, 9 Dec 2024 07:27:24 -0500 Subject: [PATCH 050/420] Improving github actions 1. Default permission restrictions 2. Action version pinning 3. Timeout limits 4. Python dependency version pinning in scripts 5. Adding basic CODEOWNERS 6. More eror handling 7. Concurrency controls (same action cannot be running in parallel) --- .github/workflows/clear-cache.yml | 35 ++++++++++++-------- .github/workflows/notebook-bot.yml | 44 ++++++++++++++---------- .github/workflows/publish-dev-docs.yml | 46 +++++++++++++------------- .github/workflows/publish-test.yml | 18 ++++++---- .github/workflows/publish.yml | 17 ++++++---- .github/workflows/test-doc.yml | 24 +++++++++++--- .github/workflows/test-min.yml | 12 +++++-- .github/workflows/test.yml | 12 +++++-- 8 files changed, 134 insertions(+), 74 deletions(-) diff --git a/.github/workflows/clear-cache.yml b/.github/workflows/clear-cache.yml index 5b96de4279..2d25840cf3 100644 --- a/.github/workflows/clear-cache.yml +++ b/.github/workflows/clear-cache.yml @@ -2,32 +2,41 @@ name: Clear cache on: - schedule: - - cron: '0 0 1 * *' - workflow_dispatch: + schedule: + - cron: '0 0 1 * *' # Run at midnight on the first day of every month + workflow_dispatch: +# Restrict permissions by default permissions: - actions: write + actions: write # Required for cache management jobs: clear-cache: runs-on: ubuntu-latest + timeout-minutes: 10 steps: - name: Clear cache - uses: actions/github-script@v7 + uses: actions/github-script@d7906e4ad0b1822421a7e6a35d5ca353c962f410 # v6.4.1 with: script: | - console.log("About to clear") + console.log("Starting cache cleanup...") const caches = await github.rest.actions.getActionsCacheList({ owner: context.repo.owner, repo: context.repo.repo, }) + + let deletedCount = 0 for (const cache of caches.data.actions_caches) { - console.log(cache) - github.rest.actions.deleteActionsCacheById({ - owner: context.repo.owner, - repo: context.repo.repo, - cache_id: cache.id, - }) + console.log(`Deleting cache: ${cache.key} (${cache.size_in_bytes} bytes)`) + try { + await github.rest.actions.deleteActionsCacheById({ + owner: context.repo.owner, + repo: context.repo.repo, + cache_id: cache.id, + }) + deletedCount++ + } catch (error) { + console.error(`Failed to delete cache ${cache.key}: ${error.message}`) + } } - console.log("Clear completed") + console.log(`Cache cleanup completed. Deleted ${deletedCount} caches.`) diff --git a/.github/workflows/notebook-bot.yml b/.github/workflows/notebook-bot.yml index 17175f3d4d..7b22d2d888 100644 --- a/.github/workflows/notebook-bot.yml +++ b/.github/workflows/notebook-bot.yml @@ -4,24 +4,28 @@ on: pull_request_target: types: [opened, reopened] -permissions: - contents: read +# Restrict permissions by default +permissions: {} jobs: comment-welcome: permissions: contents: read - pull-requests: write - + pull-requests: write # Required for commenting on PRs + runs-on: ubuntu-latest + timeout-minutes: 10 + steps: - name: Fetch pull request branch - uses: actions/checkout@v4 + uses: actions/checkout@8ade135a41bc03ea155e62e844d188df1ea18608 # v4.1.0 with: repository: ${{ github.event.pull_request.head.repo.full_name }} ref: ${{ github.event.pull_request.head.sha }} + - name: Fetch base develop branch run: git fetch -u "$GITHUB_SERVER_URL/$GITHUB_REPOSITORY" develop:develop + - name: Create message env: HEAD_REPOSITORY: ${{ github.event.pull_request.head.repo.full_name }} @@ -49,16 +53,20 @@ jobs: msg+="If commits are added to the pull request, synchronize your local branch: git pull origin $HEAD_REF\n" fi echo "MESSAGE=$msg" >> $GITHUB_ENV - - name: Post comment - env: - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - ISSUE_URL: ${{ github.event.pull_request.issue_url }} - run: | - # Env var defined in previous step. Escape string for JSON. - body="$(echo -n -e $MESSAGE | python3 -c 'import json,sys; print(json.dumps(sys.stdin.read()))')" - # Add comment to pull request. - curl -X POST \ - -H "Accept: application/vnd.github.v3+json" \ - -H "Authorization: token $GITHUB_TOKEN" \ - "${ISSUE_URL}/comments" \ - --data "{\"body\": $body}" + + - name: Find Comment + uses: peter-evans/find-comment@a54c31d7fa095754bfef525c0c8e5e5674c4b4b1 # v2.4.0 + id: find-comment + with: + issue-number: ${{ github.event.pull_request.number }} + body-includes: Preview and run these notebook edits + comment-author: github-actions[bot] + + - name: Add or update comment + uses: peter-evans/create-or-update-comment@23ff15729ef2fc348714a3bb66d2f655ca9066f2 # v3.1.0 + if: env.MESSAGE != '' + with: + comment-id: ${{ steps.find-comment.outputs.comment-id }} + issue-number: ${{ github.event.pull_request.number }} + body: ${{ env.MESSAGE }} + edit-mode: replace diff --git a/.github/workflows/publish-dev-docs.yml b/.github/workflows/publish-dev-docs.yml index 0661929e34..d93775d0e7 100644 --- a/.github/workflows/publish-dev-docs.yml +++ b/.github/workflows/publish-dev-docs.yml @@ -6,48 +6,48 @@ on: - develop workflow_dispatch: +# Ensure only one concurrent deployment concurrency: group: ${{ github.workflow }}-${{ github.event_name == 'push' && github.ref}} cancel-in-progress: true +# Restrict permissions by default permissions: - contents: write - pages: write - pull-requests: write - + contents: write # Required for committing to gh-pages + pages: write # Required for deploying to Pages + pull-requests: write # Required for PR comments jobs: deploy: runs-on: ubuntu-latest + timeout-minutes: 30 steps: - name: 🔄 Checkout code - uses: actions/checkout@v4 + uses: actions/checkout@8ade135a41bc03ea155e62e844d188df1ea18608 # v4.1.0 with: fetch-depth: 0 + - name: 🐍 Set up Python - uses: actions/setup-python@v5 + uses: actions/setup-python@b64ffcaf5b410884ad320a9cfac8866006a109aa # v5.0.0 with: python-version: '3.10' - - name: 📦 Install mkdocs-material - run: pip install "mkdocs-material" - - name: 📦 Install mkdocstrings[python] - run: pip install "mkdocstrings[python]" - - name: 📦 Install mkdocs-material[imaging] - run: pip install "mkdocs-material[imaging]" - - name: 📦 Install mike - run: pip install "mike" - - name: 📦 Install mkdocs-git-revision-date-localized-plugin - run: pip install "mkdocs-git-revision-date-localized-plugin" - - name: 📦 Install JupyterLab - run: pip install jupyterlab - - name: 📦 Install mkdocs-jupyter - run: pip install mkdocs-jupyter - - name: 📦 Install mkdocs-git-committers-plugin-2 - run: pip install mkdocs-git-committers-plugin-2 + + - name: 📦 Install dependencies + run: | + pip install "mkdocs-material==9.5.2" \ + "mkdocstrings[python]==0.24.0" \ + "mkdocs-material[imaging]==9.5.2" \ + "mike==2.0.0" \ + "mkdocs-git-revision-date-localized-plugin==1.2.1" \ + "jupyterlab==4.0.9" \ + "mkdocs-jupyter==0.24.6" \ + "mkdocs-git-committers-plugin-2==2.2.2" + - name: ⚙️ Configure git for github-actions run: | git config --global user.name "github-actions[bot]" git config --global user.email "41898282+github-actions[bot]@users.noreply.github.com" + - name: 🚀 Deploy MkDoc-Material with mike run: | - MKDOCS_GIT_COMMITTERS_APIKEY=${{ secrets.GITHUB_TOKEN }} mike deploy --push develop + MKDOCS_GIT_COMMITTERS_APIKEY=${{ secrets.GITHUB_TOKEN }} mike deploy --push --update-aliases develop latest diff --git a/.github/workflows/publish-test.yml b/.github/workflows/publish-test.yml index 2cd05bf13d..2b8504b37f 100644 --- a/.github/workflows/publish-test.yml +++ b/.github/workflows/publish-test.yml @@ -1,30 +1,36 @@ name: Publish Supervision Pre-Releases to PyPI and TestPyPI + on: push: tags: - "[0-9]+.[0-9]+[0-9]+.[0-9]+a[0-9]" - "[0-9]+.[0-9]+[0-9]+.[0-9]+b[0-9]" - "[0-9]+.[0-9]+[0-9]+.[0-9]+rc[0-9]" - workflow_dispatch: +# Restrict permissions by default +permissions: {} + jobs: build-and-publish-pre-release-pypi: name: Build and publish to PyPI runs-on: ubuntu-latest environment: test + timeout-minutes: 15 permissions: - id-token: write + id-token: write # Required for PyPI publishing + contents: read # Required for checkout strategy: matrix: python-version: ["3.10"] steps: - name: 🛎️ Checkout - uses: actions/checkout@v4 + uses: actions/checkout@8ade135a41bc03ea155e62e844d188df1ea18608 # v4.1.0 with: ref: ${{ github.head_ref }} + - name: 🐍 Set up Python ${{ matrix.python-version }} - uses: actions/setup-python@v5 + uses: actions/setup-python@b64ffcaf5b410884ad320a9cfac8866006a109aa # v5.0.0 with: python-version: ${{ matrix.python-version }} @@ -35,9 +41,9 @@ jobs: twine check --strict dist/* - name: 🚀 Publish to PyPi - uses: pypa/gh-action-pypi-publish@release/v1.10 + uses: pypa/gh-action-pypi-publish@2f6f737ca5f74c637829c0f5c3acd0e29ea5e8bf # v1.8.11 - name: 🚀 Publish to Test-PyPi - uses: pypa/gh-action-pypi-publish@release/v1.10 + uses: pypa/gh-action-pypi-publish@2f6f737ca5f74c637829c0f5c3acd0e29ea5e8bf # v1.8.11 with: repository-url: https://test.pypi.org/legacy/ diff --git a/.github/workflows/publish.yml b/.github/workflows/publish.yml index 17c2629a89..bf44ef4057 100644 --- a/.github/workflows/publish.yml +++ b/.github/workflows/publish.yml @@ -1,27 +1,32 @@ name: Publish Supervision Releases to PyPI and TestPyPI + on: push: tags: - "[0-9]+.[0-9]+[0-9]+.[0-9]" - workflow_dispatch: +permissions: {} # Explicitly remove all permissions by default + jobs: build-and-publish-pre-release: runs-on: ubuntu-latest environment: release + timeout-minutes: 15 permissions: - id-token: write + id-token: write # Required for PyPI publishing + contents: read # Required for checkout strategy: matrix: python-version: ["3.10"] steps: - name: 🛎️ Checkout - uses: actions/checkout@v4 + uses: actions/checkout@8ade135a41bc03ea155e62e844d188df1ea18608 # v4.1.0 with: ref: ${{ github.head_ref }} + - name: 🐍 Set up Python ${{ matrix.python-version }} - uses: actions/setup-python@v5 + uses: actions/setup-python@b64ffcaf5b410884ad320a9cfac8866006a109aa # v5.0.0 with: python-version: ${{ matrix.python-version }} @@ -32,9 +37,9 @@ jobs: twine check --strict dist/* - name: 🚀 Publish to PyPi - uses: pypa/gh-action-pypi-publish@release/v1.10 + uses: pypa/gh-action-pypi-publish@2f6f737ca5f74c637829c0f5c3acd0e29ea5e8bf # v1.8.11 - name: 🚀 Publish to Test-PyPi - uses: pypa/gh-action-pypi-publish@release/v1.10 + uses: pypa/gh-action-pypi-publish@2f6f737ca5f74c637829c0f5c3acd0e29ea5e8bf # v1.8.11 with: repository-url: https://test.pypi.org/legacy/ diff --git a/.github/workflows/test-doc.yml b/.github/workflows/test-doc.yml index b15072902d..567fe8af3e 100644 --- a/.github/workflows/test-doc.yml +++ b/.github/workflows/test-doc.yml @@ -4,18 +4,34 @@ on: pull_request: branches: [main, develop] +# Restrict permissions by default +permissions: + contents: read # Required for checkout + checks: write # Required for test reporting + jobs: docs-build-test: runs-on: ubuntu-latest + timeout-minutes: 15 steps: - name: 🔄 Checkout code - uses: actions/checkout@v4 + uses: actions/checkout@8ade135a41bc03ea155e62e844d188df1ea18608 # v4.1.0 + - name: 🐍 Set up Python - uses: actions/setup-python@v5 + uses: actions/setup-python@b64ffcaf5b410884ad320a9cfac8866006a109aa # v5.0.0 with: python-version: '3.10' - - name: 🏗️ Install dependencies and Test Docs Build + + - name: 🏗️ Install dependencies and Test Docs Build run: | python -m pip install --upgrade pip - pip install "mkdocs-material" "mkdocstrings[python]" "mkdocs-material[imaging]" mike "mkdocs-git-revision-date-localized-plugin" jupyterlab mkdocs-jupyter mkdocs-git-committers-plugin-2 + pip install \ + "mkdocs-material==9.5.2" \ + "mkdocstrings[python]==0.24.0" \ + "mkdocs-material[imaging]==9.5.2" \ + "mike==2.0.0" \ + "mkdocs-git-revision-date-localized-plugin==1.2.1" \ + "jupyterlab==4.0.9" \ + "mkdocs-jupyter==0.24.6" \ + "mkdocs-git-committers-plugin-2==2.2.2" mkdocs build --verbose diff --git a/.github/workflows/test-min.yml b/.github/workflows/test-min.yml index 7a61282c08..cb5d627f87 100644 --- a/.github/workflows/test-min.yml +++ b/.github/workflows/test-min.yml @@ -4,17 +4,25 @@ on: pull_request: branches: [main, develop] +# Restrict permissions by default +permissions: + contents: read # Required for checkout + checks: write # Required for test reporting + jobs: build-min-dep-test: runs-on: ubuntu-latest + timeout-minutes: 20 strategy: matrix: python-version: ["3.8"] + fail-fast: false # Continue with other steps if one fails steps: - name: 🛎️ Checkout - uses: actions/checkout@v4 + uses: actions/checkout@8ade135a41bc03ea155e62e844d188df1ea18608 # v4.1.0 + - name: 🐍 Set up Python ${{ matrix.python-version }} - uses: actions/setup-python@v5 + uses: actions/setup-python@b64ffcaf5b410884ad320a9cfac8866006a109aa # v5.0.0 with: python-version: ${{ matrix.python-version }} check-latest: true diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index 2f814c2ce1..e7fef9af26 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -4,17 +4,25 @@ on: pull_request: branches: [main, develop] +permissions: + contents: read + checks: write # Required for test reporting + pull-requests: write # Required for PR comments + jobs: build-dev-test: runs-on: ubuntu-latest + timeout-minutes: 30 strategy: matrix: python-version: ["3.8", "3.9", "3.10", "3.11", "3.12", "3.13"] + fail-fast: false # Continue with other versions if one fails steps: - name: 🛎️ Checkout - uses: actions/checkout@v4 + uses: actions/checkout@8ade135a41bc03ea155e62e844d188df1ea18608 # v4.1.0 + - name: 🐍 Set up Python ${{ matrix.python-version }} - uses: actions/setup-python@v5 + uses: actions/setup-python@b64ffcaf5b410884ad320a9cfac8866006a109aa # v5.0.0 with: python-version: ${{ matrix.python-version }} check-latest: true From f7d7786c56b44662519e7548ff3dbc50115c0ae3 Mon Sep 17 00:00:00 2001 From: "pre-commit-ci[bot]" <66853113+pre-commit-ci[bot]@users.noreply.github.com> Date: Mon, 9 Dec 2024 12:30:12 +0000 Subject: [PATCH 051/420] =?UTF-8?q?fix(pre=5Fcommit):=20=F0=9F=8E=A8=20aut?= =?UTF-8?q?o=20format=20pre-commit=20hooks?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .github/workflows/clear-cache.yml | 2 +- .github/workflows/notebook-bot.yml | 8 ++++---- .github/workflows/publish-dev-docs.yml | 8 ++++---- .github/workflows/publish-test.yml | 2 +- .github/workflows/publish.yml | 2 +- .github/workflows/test-doc.yml | 4 ++-- .github/workflows/test-min.yml | 2 +- 7 files changed, 14 insertions(+), 14 deletions(-) diff --git a/.github/workflows/clear-cache.yml b/.github/workflows/clear-cache.yml index 2d25840cf3..38aad5aaf1 100644 --- a/.github/workflows/clear-cache.yml +++ b/.github/workflows/clear-cache.yml @@ -24,7 +24,7 @@ jobs: owner: context.repo.owner, repo: context.repo.repo, }) - + let deletedCount = 0 for (const cache of caches.data.actions_caches) { console.log(`Deleting cache: ${cache.key} (${cache.size_in_bytes} bytes)`) diff --git a/.github/workflows/notebook-bot.yml b/.github/workflows/notebook-bot.yml index 7b22d2d888..eb470b3cba 100644 --- a/.github/workflows/notebook-bot.yml +++ b/.github/workflows/notebook-bot.yml @@ -12,20 +12,20 @@ jobs: permissions: contents: read pull-requests: write # Required for commenting on PRs - + runs-on: ubuntu-latest timeout-minutes: 10 - + steps: - name: Fetch pull request branch uses: actions/checkout@8ade135a41bc03ea155e62e844d188df1ea18608 # v4.1.0 with: repository: ${{ github.event.pull_request.head.repo.full_name }} ref: ${{ github.event.pull_request.head.sha }} - + - name: Fetch base develop branch run: git fetch -u "$GITHUB_SERVER_URL/$GITHUB_REPOSITORY" develop:develop - + - name: Create message env: HEAD_REPOSITORY: ${{ github.event.pull_request.head.repo.full_name }} diff --git a/.github/workflows/publish-dev-docs.yml b/.github/workflows/publish-dev-docs.yml index d93775d0e7..119b6591de 100644 --- a/.github/workflows/publish-dev-docs.yml +++ b/.github/workflows/publish-dev-docs.yml @@ -26,12 +26,12 @@ jobs: uses: actions/checkout@8ade135a41bc03ea155e62e844d188df1ea18608 # v4.1.0 with: fetch-depth: 0 - + - name: 🐍 Set up Python uses: actions/setup-python@b64ffcaf5b410884ad320a9cfac8866006a109aa # v5.0.0 with: python-version: '3.10' - + - name: 📦 Install dependencies run: | pip install "mkdocs-material==9.5.2" \ @@ -42,12 +42,12 @@ jobs: "jupyterlab==4.0.9" \ "mkdocs-jupyter==0.24.6" \ "mkdocs-git-committers-plugin-2==2.2.2" - + - name: ⚙️ Configure git for github-actions run: | git config --global user.name "github-actions[bot]" git config --global user.email "41898282+github-actions[bot]@users.noreply.github.com" - + - name: 🚀 Deploy MkDoc-Material with mike run: | MKDOCS_GIT_COMMITTERS_APIKEY=${{ secrets.GITHUB_TOKEN }} mike deploy --push --update-aliases develop latest diff --git a/.github/workflows/publish-test.yml b/.github/workflows/publish-test.yml index 2b8504b37f..df5c48c493 100644 --- a/.github/workflows/publish-test.yml +++ b/.github/workflows/publish-test.yml @@ -28,7 +28,7 @@ jobs: uses: actions/checkout@8ade135a41bc03ea155e62e844d188df1ea18608 # v4.1.0 with: ref: ${{ github.head_ref }} - + - name: 🐍 Set up Python ${{ matrix.python-version }} uses: actions/setup-python@b64ffcaf5b410884ad320a9cfac8866006a109aa # v5.0.0 with: diff --git a/.github/workflows/publish.yml b/.github/workflows/publish.yml index bf44ef4057..98918255ad 100644 --- a/.github/workflows/publish.yml +++ b/.github/workflows/publish.yml @@ -24,7 +24,7 @@ jobs: uses: actions/checkout@8ade135a41bc03ea155e62e844d188df1ea18608 # v4.1.0 with: ref: ${{ github.head_ref }} - + - name: 🐍 Set up Python ${{ matrix.python-version }} uses: actions/setup-python@b64ffcaf5b410884ad320a9cfac8866006a109aa # v5.0.0 with: diff --git a/.github/workflows/test-doc.yml b/.github/workflows/test-doc.yml index 567fe8af3e..131accd9ca 100644 --- a/.github/workflows/test-doc.yml +++ b/.github/workflows/test-doc.yml @@ -16,12 +16,12 @@ jobs: steps: - name: 🔄 Checkout code uses: actions/checkout@8ade135a41bc03ea155e62e844d188df1ea18608 # v4.1.0 - + - name: 🐍 Set up Python uses: actions/setup-python@b64ffcaf5b410884ad320a9cfac8866006a109aa # v5.0.0 with: python-version: '3.10' - + - name: 🏗️ Install dependencies and Test Docs Build run: | python -m pip install --upgrade pip diff --git a/.github/workflows/test-min.yml b/.github/workflows/test-min.yml index cb5d627f87..47021ea230 100644 --- a/.github/workflows/test-min.yml +++ b/.github/workflows/test-min.yml @@ -20,7 +20,7 @@ jobs: steps: - name: 🛎️ Checkout uses: actions/checkout@8ade135a41bc03ea155e62e844d188df1ea18608 # v4.1.0 - + - name: 🐍 Set up Python ${{ matrix.python-version }} uses: actions/setup-python@b64ffcaf5b410884ad320a9cfac8866006a109aa # v5.0.0 with: From ea3b9a5584e9e91b85ada26f4be69c8c941adee8 Mon Sep 17 00:00:00 2001 From: "pre-commit-ci[bot]" <66853113+pre-commit-ci[bot]@users.noreply.github.com> Date: Mon, 9 Dec 2024 17:52:49 +0000 Subject: [PATCH 052/420] =?UTF-8?q?chore(pre=5Fcommit):=20=E2=AC=86=20pre?= =?UTF-8?q?=5Fcommit=20autoupdate?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit updates: - [github.com/astral-sh/ruff-pre-commit: v0.8.1 → v0.8.2](https://github.com/astral-sh/ruff-pre-commit/compare/v0.8.1...v0.8.2) --- .pre-commit-config.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index d9b77aafee..0cce04ccc9 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -32,7 +32,7 @@ repos: additional_dependencies: ["bandit[toml]"] - repo: https://github.com/astral-sh/ruff-pre-commit - rev: v0.8.1 + rev: v0.8.2 hooks: - id: ruff args: [--fix, --exit-non-zero-on-fix] From fcf8b7f378db3c542b272695cbf8928aba48d2f5 Mon Sep 17 00:00:00 2001 From: LinasKo Date: Tue, 10 Dec 2024 11:54:46 +0200 Subject: [PATCH 053/420] Fix Kapa widget initialization --- mkdocs.yml | 1 - 1 file changed, 1 deletion(-) diff --git a/mkdocs.yml b/mkdocs.yml index f326297bf8..421018248b 100644 --- a/mkdocs.yml +++ b/mkdocs.yml @@ -178,7 +178,6 @@ markdown_extensions: anchor_linenums: true extra_javascript: - - "https://widget.kapa.ai/kapa-widget.bundle.js" - "javascripts/init_kapa_widget.js" - "javascripts/cookbooks-card.js" - "https://cdnjs.cloudflare.com/ajax/libs/dompurify/3.0.8/purify.min.js" From 001f85ad0f79a9ebd38094437adfc88d4fc1f7dc Mon Sep 17 00:00:00 2001 From: LinasKo Date: Wed, 11 Dec 2024 16:58:36 +0200 Subject: [PATCH 054/420] Add ComparisonAnnotator docs, remove Crop & RoundBox annotator from preview * Up to 20 tabs can be made at once. This is likely a bug relating to the underlying mkdocs plugin, but a quick check for hardcoded values yielded nothing. --- docs/detection/annotators.md | 112 ++++++++++++++++++++++----------- supervision/annotators/core.py | 21 ++++++- 2 files changed, 97 insertions(+), 36 deletions(-) diff --git a/docs/detection/annotators.md b/docs/detection/annotators.md index e1071121cd..3399ccfcef 100644 --- a/docs/detection/annotators.md +++ b/docs/detection/annotators.md @@ -28,26 +28,28 @@ Annotators accept detections and apply box or mask visualizations to the detecti
-=== "RoundBox" + === "BoxCorner" @@ -234,7 +236,8 @@ Annotators accept detections and apply box or mask visualizations to the detecti
- ![mask-annotator-example](https://media.roboflow.com/supervision-annotator-examples/mask-annotator-example-purple.png){ align=center width="800" } + ![mask-annotator-example](https://media.roboflow.com/supervision-annotator-examples/ + mask-annotator-example-purple.png){ align=center width="800" }
@@ -255,7 +258,8 @@ Annotators accept detections and apply box or mask visualizations to the detecti
- ![polygon-annotator-example](https://media.roboflow.com/supervision-annotator-examples/polygon-annotator-example-purple.png){ align=center width="800" } + ![polygon-annotator-example](https://media.roboflow.com/supervision-annotator-examples/ + polygon-annotator-example-purple.png){ align=center width="800" }
@@ -283,7 +287,8 @@ Annotators accept detections and apply box or mask visualizations to the detecti
- ![label-annotator-example](https://media.roboflow.com/supervision-annotator-examples/label-annotator-example-purple.png){ align=center width="800" } + ![label-annotator-example](https://media.roboflow.com/supervision-annotator-examples/ + label-annotator-example-purple.png){ align=center width="800" }
@@ -314,7 +319,8 @@ Annotators accept detections and apply box or mask visualizations to the detecti
- ![label-annotator-example](https://media.roboflow.com/supervision-annotator-examples/label-annotator-example-purple.png){ align=center width="800" } + ![label-annotator-example](https://media.roboflow.com/supervision-annotator-examples/ + label-annotator-example-purple.png){ align=center width="800" }
@@ -341,24 +347,26 @@ Annotators accept detections and apply box or mask visualizations to the detecti
- ![icon-annotator-example](https://media.roboflow.com/supervision-annotator-examples/icon-annotator-example.png){ align=center width="800" } + ![icon-annotator-example](https://media.roboflow.com/supervision-annotator-examples/ + icon-annotator-example.png){ align=center width="800" }
-=== "Crop" + === "Blur" @@ -377,7 +385,8 @@ Annotators accept detections and apply box or mask visualizations to the detecti
- ![blur-annotator-example](https://media.roboflow.com/supervision-annotator-examples/blur-annotator-example-purple.png){ align=center width="800" } + ![blur-annotator-example](https://media.roboflow.com/supervision-annotator-examples/ + blur-annotator-example-purple.png){ align=center width="800" }
@@ -398,7 +407,8 @@ Annotators accept detections and apply box or mask visualizations to the detecti
- ![pixelate-annotator-example](https://media.roboflow.com/supervision-annotator-examples/pixelate-annotator-example-10.png){ align=center width="800" } + ![pixelate-annotator-example](https://media.roboflow.com/supervision-annotator-examples/ + pixelate-annotator-example-10.png){ align=center width="800" }
@@ -429,7 +439,8 @@ Annotators accept detections and apply box or mask visualizations to the detecti
- ![trace-annotator-example](https://media.roboflow.com/supervision-annotator-examples/trace-annotator-example-purple.png){ align=center width="800" } + ![trace-annotator-example](https://media.roboflow.com/supervision-annotator-examples/ + trace-annotator-example-purple.png){ align=center width="800" }
@@ -458,7 +469,8 @@ Annotators accept detections and apply box or mask visualizations to the detecti
- ![heat-map-annotator-example](https://media.roboflow.com/supervision-annotator-examples/heat-map-annotator-example-purple.png){ align=center width="800" } + ![heat-map-annotator-example](https://media.roboflow.com/supervision-annotator-examples/ + heat-map-annotator-example-purple.png){ align=center width="800" }
@@ -479,7 +491,31 @@ Annotators accept detections and apply box or mask visualizations to the detecti
- ![background-overlay-annotator-example](https://media.roboflow.com/supervision-annotator-examples/background-color-annotator-example-purple.png) + ![background-overlay-annotator-example](https://media.roboflow.com/supervision-annotator-examples/background-color-annotator-example-purple.png){ align=center width="800" } + +
+ +=== "Comparison" + + ```python + import supervision as sv + + image = ... + detections_1 = sv.Detections(...) + detections_2 = sv.Detections(...) + + comparison_annotator = sv.ComparisonAnnotator() + annotated_frame = comparison_annotator.annotate( + scene=image.copy(), + detections_1=detections_1, + detections_2=detections_2 + ) + ``` + +
+ + ![comparison-annotator-example](https://media.roboflow.com/supervision-annotator-examples/ + comparison-annotator-example.png){ align=center width="800" }
@@ -622,6 +658,12 @@ Annotators accept detections and apply box or mask visualizations to the detecti :::supervision.annotators.core.BackgroundOverlayAnnotator + + +:::supervision.annotators.core.ComparisonAnnotator + diff --git a/supervision/annotators/core.py b/supervision/annotators/core.py index 902a573b2a..8b00db94f6 100644 --- a/supervision/annotators/core.py +++ b/supervision/annotators/core.py @@ -10,7 +10,7 @@ from supervision.annotators.base import BaseAnnotator, ImageType from supervision.annotators.utils import ( ColorLookup, - Trace, + Trace, resolve_color, resolve_text_background_xyxy, ) @@ -2756,6 +2756,25 @@ def annotate( Returns: The annotated image. + + Example: + ```python + import supervision as sv + + image = ... + detections_1 = sv.Detections(...) + detections_2 = sv.Detections(...) + + comparison_annotator = sv.ComparisonAnnotator() + annotated_frame = comparison_annotator.annotate( + scene=image.copy(), + detections_1=detections_1, + detections_2=detections_2 + ) + ``` + + ![comparison-annotator-example](https://media.roboflow.com/ + supervision-annotator-examples/comparison-annotator-example.png) """ assert isinstance(scene, np.ndarray) if detections_1.is_empty() and detections_2.is_empty(): From 059633435c06f362b2f67fcd04a608965e416a3e Mon Sep 17 00:00:00 2001 From: "pre-commit-ci[bot]" <66853113+pre-commit-ci[bot]@users.noreply.github.com> Date: Wed, 11 Dec 2024 15:05:52 +0000 Subject: [PATCH 055/420] =?UTF-8?q?fix(pre=5Fcommit):=20=F0=9F=8E=A8=20aut?= =?UTF-8?q?o=20format=20pre-commit=20hooks?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- supervision/annotators/core.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/supervision/annotators/core.py b/supervision/annotators/core.py index 8b00db94f6..24568577be 100644 --- a/supervision/annotators/core.py +++ b/supervision/annotators/core.py @@ -10,7 +10,7 @@ from supervision.annotators.base import BaseAnnotator, ImageType from supervision.annotators.utils import ( ColorLookup, - Trace, + Trace, resolve_color, resolve_text_background_xyxy, ) From d061a4c89be6263cd86d7108cfd5a1ebfb780550 Mon Sep 17 00:00:00 2001 From: LinasKo Date: Wed, 11 Dec 2024 18:09:31 +0200 Subject: [PATCH 056/420] Add CropAnnotator image example --- docs/detection/annotators.md | 6 ++++++ supervision/annotators/core.py | 3 +++ 2 files changed, 9 insertions(+) diff --git a/docs/detection/annotators.md b/docs/detection/annotators.md index 3399ccfcef..afe64ace07 100644 --- a/docs/detection/annotators.md +++ b/docs/detection/annotators.md @@ -366,6 +366,12 @@ Annotators accept detections and apply box or mask visualizations to the detecti detections=detections ) ``` +
+ + ![crop-annotator-example](https://media.roboflow.com/supervision-annotator-examples/ + crop-annotator-example.png){ align=center width="800" } + +
--> === "Blur" diff --git a/supervision/annotators/core.py b/supervision/annotators/core.py index 24568577be..a2b2ed565b 100644 --- a/supervision/annotators/core.py +++ b/supervision/annotators/core.py @@ -2533,6 +2533,9 @@ def annotate( detections=detections ) ``` + + ![crop-annotator-example](https://media.roboflow.com/ + supervision-annotator-examples/crop-annotator-example.png) """ assert isinstance(scene, np.ndarray) crops = [ From 9a4781f2a5863f4a28c2aadf55ec21262a1daabd Mon Sep 17 00:00:00 2001 From: LinasKo Date: Wed, 11 Dec 2024 18:33:06 +0200 Subject: [PATCH 057/420] Remove import check for `assets` * The dependencies were already merged into the main requirements --- supervision/assets/downloader.py | 15 +++------------ 1 file changed, 3 insertions(+), 12 deletions(-) diff --git a/supervision/assets/downloader.py b/supervision/assets/downloader.py index 8e86359a33..c8e3e56d5c 100644 --- a/supervision/assets/downloader.py +++ b/supervision/assets/downloader.py @@ -4,19 +4,10 @@ from shutil import copyfileobj from typing import Union -from supervision.assets.list import VIDEO_ASSETS, VideoAssets +from requests import get +from tqdm.auto import tqdm -try: - from requests import get - from tqdm.auto import tqdm -except ImportError: - raise ValueError( - "\n" - "Please install requests and tqdm to download assets \n" - "or install supervision with assets \n" - "pip install supervision[assets] \n" - "\n" - ) +from supervision.assets.list import VIDEO_ASSETS, VideoAssets def is_md5_hash_matching(filename: str, original_md5_hash: str) -> bool: From 10f372fe28ed0a4ddc01b4a0e69c5a6d820fb40b Mon Sep 17 00:00:00 2001 From: Alex Norell Date: Wed, 11 Dec 2024 10:46:10 -0800 Subject: [PATCH 058/420] Refactor builds --- .github/dependabot.yml | 6 +- .github/workflows/clear-cache.yml | 2 +- .github/workflows/combine-dependabot-prs.yml | 22 ++ .github/workflows/notebook-bot.yml | 72 ----- .github/workflows/poetry-test.yml | 19 +- .github/workflows/publish-dev-docs.yml | 53 ---- .github/workflows/publish-docs.yml | 59 ++++ .github/workflows/publish-release-docs.yml | 55 ---- .github/workflows/publish-test.yml | 34 +- .github/workflows/publish.yml | 28 +- .github/workflows/test-doc.yml | 19 +- .github/workflows/test-min.yml | 64 ---- .github/workflows/test.yml | 24 +- poetry.lock | 316 +++++++++---------- pyproject.toml | 9 +- 15 files changed, 317 insertions(+), 465 deletions(-) create mode 100644 .github/workflows/combine-dependabot-prs.yml delete mode 100644 .github/workflows/notebook-bot.yml delete mode 100644 .github/workflows/publish-dev-docs.yml create mode 100644 .github/workflows/publish-docs.yml delete mode 100644 .github/workflows/publish-release-docs.yml delete mode 100644 .github/workflows/test-min.yml diff --git a/.github/dependabot.yml b/.github/dependabot.yml index 6de587d18f..9df71d0fbe 100644 --- a/.github/dependabot.yml +++ b/.github/dependabot.yml @@ -4,13 +4,15 @@ updates: - package-ecosystem: "github-actions" directory: "/" schedule: - interval: "daily" + interval: "weekly" commit-message: prefix: ⬆️ + target-branch: "develop" # Python - package-ecosystem: "pip" directory: "/" schedule: - interval: "daily" + interval: "weekly" commit-message: prefix: ⬆️ + target-branch: "develop" \ No newline at end of file diff --git a/.github/workflows/clear-cache.yml b/.github/workflows/clear-cache.yml index 38aad5aaf1..386b3d703b 100644 --- a/.github/workflows/clear-cache.yml +++ b/.github/workflows/clear-cache.yml @@ -16,7 +16,7 @@ jobs: timeout-minutes: 10 steps: - name: Clear cache - uses: actions/github-script@d7906e4ad0b1822421a7e6a35d5ca353c962f410 # v6.4.1 + uses: actions/github-script@60a0d83039c74a4aee543508d2ffcb1c3799cdea # v7.0.1 with: script: | console.log("Starting cache cleanup...") diff --git a/.github/workflows/combine-dependabot-prs.yml b/.github/workflows/combine-dependabot-prs.yml new file mode 100644 index 0000000000..d6ed8a0308 --- /dev/null +++ b/.github/workflows/combine-dependabot-prs.yml @@ -0,0 +1,22 @@ +name: Combine Dependabot PRs + +on: + schedule: + - cron: "0 1 * * 3" # Wednesday at 01:00 + workflow_dispatch: # allows you to manually trigger the workflow + +permissions: + contents: write + pull-requests: write + checks: read + +jobs: + combine-prs: + runs-on: ubuntu-latest + + steps: + - name: combine-prs + id: combine-prs + uses: github/combine-prs@2909f404763c3177a456e052bdb7f2e85d3a7cb3 # v5.2.0 + with: + labels: combined-pr diff --git a/.github/workflows/notebook-bot.yml b/.github/workflows/notebook-bot.yml deleted file mode 100644 index eb470b3cba..0000000000 --- a/.github/workflows/notebook-bot.yml +++ /dev/null @@ -1,72 +0,0 @@ -name: Notebook Check Pull Request - -on: - pull_request_target: - types: [opened, reopened] - -# Restrict permissions by default -permissions: {} - -jobs: - comment-welcome: - permissions: - contents: read - pull-requests: write # Required for commenting on PRs - - runs-on: ubuntu-latest - timeout-minutes: 10 - - steps: - - name: Fetch pull request branch - uses: actions/checkout@8ade135a41bc03ea155e62e844d188df1ea18608 # v4.1.0 - with: - repository: ${{ github.event.pull_request.head.repo.full_name }} - ref: ${{ github.event.pull_request.head.sha }} - - - name: Fetch base develop branch - run: git fetch -u "$GITHUB_SERVER_URL/$GITHUB_REPOSITORY" develop:develop - - - name: Create message - env: - HEAD_REPOSITORY: ${{ github.event.pull_request.head.repo.full_name }} - HEAD_REF: ${{ github.event.pull_request.head.ref }} - PR_NUM: ${{ github.event.pull_request.number }} - run: | - # Preview links and tool usage only needed for notebook changes. - readarray -t changed_notebooks < <(git diff --name-only develop | grep '\.ipynb$' || true) - if [[ ${#changed_notebooks[@]} == 0 ]]; then - echo "No notebooks modified in this pull request." - else - msg="

Preview

\n" - msg+="Preview and run these notebook edits with Google Colab:\n
    \n" - # Link to PR branch in user's fork that is always current. - for fp in "${changed_notebooks[@]}"; do - gh_path="${HEAD_REPOSITORY}/blob/${HEAD_REF}/${fp}" - colab_url="https://colab.research.google.com/github/${gh_path}" - msg+="
  • ${fp}
  • \n" - done - msg+="
\n" - - reviewnb_url="https://app.reviewnb.com/${GITHUB_REPOSITORY}/pull/${PR_NUM}/files/" - msg+="Rendered notebook diffs available on ReviewNB.com.\n" - - msg+="If commits are added to the pull request, synchronize your local branch: git pull origin $HEAD_REF\n" - fi - echo "MESSAGE=$msg" >> $GITHUB_ENV - - - name: Find Comment - uses: peter-evans/find-comment@a54c31d7fa095754bfef525c0c8e5e5674c4b4b1 # v2.4.0 - id: find-comment - with: - issue-number: ${{ github.event.pull_request.number }} - body-includes: Preview and run these notebook edits - comment-author: github-actions[bot] - - - name: Add or update comment - uses: peter-evans/create-or-update-comment@23ff15729ef2fc348714a3bb66d2f655ca9066f2 # v3.1.0 - if: env.MESSAGE != '' - with: - comment-id: ${{ steps.find-comment.outputs.comment-id }} - issue-number: ${{ github.event.pull_request.number }} - body: ${{ env.MESSAGE }} - edit-mode: replace diff --git a/.github/workflows/poetry-test.yml b/.github/workflows/poetry-test.yml index 52f324f22b..07b2aadbfe 100644 --- a/.github/workflows/poetry-test.yml +++ b/.github/workflows/poetry-test.yml @@ -2,12 +2,12 @@ name: 🔧 Poetry Check and Installation Test Workflow on: push: paths: - - 'poetry.lock' - - 'pyproject.toml' + - "poetry.lock" + - "pyproject.toml" pull_request: paths: - - 'poetry.lock' - - 'pyproject.toml' + - "poetry.lock" + - "pyproject.toml" workflow_dispatch: jobs: @@ -20,15 +20,15 @@ jobs: runs-on: ${{ matrix.os }} steps: - name: 📥 Checkout the repository - uses: actions/checkout@v4 + uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 - name: 🐍 Set up Python ${{ matrix.python-version }} - uses: actions/setup-python@v5 + uses: actions/setup-python@0b93645e9fea7318ecaed2b359559ac225c90a2b # v5.3.0 with: python-version: ${{ matrix.python-version }} - - name: 📦 Install the base dependencies - run: python -m pip install --upgrade poetry + - name: 📜 Setup Poetry + uses: abatilo/actions-poetry@e78f54a89cb052fff327414dd9ff010b5d2b4dbd # v3.0.1 - name: 🔍 Check the correctness of the project config run: poetry check @@ -38,6 +38,3 @@ jobs: - name: 🧪 Run the Import test run: poetry run python -c "import supervision; from supervision import assets; from supervision import metrics; print(supervision.__version__)" - - - name: 🧪 Run the pytests - run: poetry run python -m pytest ./test diff --git a/.github/workflows/publish-dev-docs.yml b/.github/workflows/publish-dev-docs.yml deleted file mode 100644 index 119b6591de..0000000000 --- a/.github/workflows/publish-dev-docs.yml +++ /dev/null @@ -1,53 +0,0 @@ -name: Docs WorkFlow - Develop Tag 📚 - -on: - push: - branches: - - develop - workflow_dispatch: - -# Ensure only one concurrent deployment -concurrency: - group: ${{ github.workflow }}-${{ github.event_name == 'push' && github.ref}} - cancel-in-progress: true - -# Restrict permissions by default -permissions: - contents: write # Required for committing to gh-pages - pages: write # Required for deploying to Pages - pull-requests: write # Required for PR comments - -jobs: - deploy: - runs-on: ubuntu-latest - timeout-minutes: 30 - steps: - - name: 🔄 Checkout code - uses: actions/checkout@8ade135a41bc03ea155e62e844d188df1ea18608 # v4.1.0 - with: - fetch-depth: 0 - - - name: 🐍 Set up Python - uses: actions/setup-python@b64ffcaf5b410884ad320a9cfac8866006a109aa # v5.0.0 - with: - python-version: '3.10' - - - name: 📦 Install dependencies - run: | - pip install "mkdocs-material==9.5.2" \ - "mkdocstrings[python]==0.24.0" \ - "mkdocs-material[imaging]==9.5.2" \ - "mike==2.0.0" \ - "mkdocs-git-revision-date-localized-plugin==1.2.1" \ - "jupyterlab==4.0.9" \ - "mkdocs-jupyter==0.24.6" \ - "mkdocs-git-committers-plugin-2==2.2.2" - - - name: ⚙️ Configure git for github-actions - run: | - git config --global user.name "github-actions[bot]" - git config --global user.email "41898282+github-actions[bot]@users.noreply.github.com" - - - name: 🚀 Deploy MkDoc-Material with mike - run: | - MKDOCS_GIT_COMMITTERS_APIKEY=${{ secrets.GITHUB_TOKEN }} mike deploy --push --update-aliases develop latest diff --git a/.github/workflows/publish-docs.yml b/.github/workflows/publish-docs.yml new file mode 100644 index 0000000000..f9a67f46cf --- /dev/null +++ b/.github/workflows/publish-docs.yml @@ -0,0 +1,59 @@ +name: Build and Publish Docs + +on: + push: + branches: + - develop + workflow_dispatch: + release: + types: [published] + +# Ensure only one concurrent deployment +concurrency: + group: ${{ github.workflow }}-${{ github.event_name == 'push' && github.ref}} + cancel-in-progress: true + +# Restrict permissions by default +permissions: + contents: write # Required for committing to gh-pages + pages: write # Required for deploying to Pages + pull-requests: write # Required for PR comments + +jobs: + deploy: + runs-on: ubuntu-latest + timeout-minutes: 30 + strategy: + matrix: + python-version: ["3.10"] + steps: + - name: 📥 Checkout the repository + uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 + + - name: 🐍 Set up Python ${{ matrix.python-version }} + uses: actions/setup-python@0b93645e9fea7318ecaed2b359559ac225c90a2b # v5.3.0 + with: + python-version: ${{ matrix.python-version }} + + - name: 📜 Setup Poetry + uses: abatilo/actions-poetry@e78f54a89cb052fff327414dd9ff010b5d2b4dbd # v3.0.1 + + - name: 📦 Install dependencies + run: | + poetry install --with=docs + + - name: ⚙️ Configure git for github-actions + run: | + git config --global user.name "github-actions[bot]" + git config --global user.email "41898282+github-actions[bot]@users.noreply.github.com" + + - name: 🚀 Deploy Development Docs + if: github.event_name == 'push' && github.ref == 'refs/heads/develop' + run: | + MKDOCS_GIT_COMMITTERS_APIKEY=${{ secrets.GITHUB_TOKEN }} mike deploy --push --update-aliases develop + + - name: 🚀 Deploy Release Docs + if: github.event_name == 'release' && github.event.action == 'published' + run: | + latest_tag=$(git describe --tags `git rev-list --tags --max-count=1`) + MKDOCS_GIT_COMMITTERS_APIKEY=${{ secrets.GITHUB_TOKEN }} mike deploy --push --update-aliases $latest_tag latest diff --git a/.github/workflows/publish-release-docs.yml b/.github/workflows/publish-release-docs.yml deleted file mode 100644 index 227100332e..0000000000 --- a/.github/workflows/publish-release-docs.yml +++ /dev/null @@ -1,55 +0,0 @@ -name: Supervision Release Documentation Workflow 📚 -on: - workflow_dispatch: - -concurrency: - group: ${{ github.workflow }}-${{ github.event_name == 'push' && github.ref}} - cancel-in-progress: true - -permissions: - contents: write - pages: write - pull-requests: write - - -jobs: - doc-build-deploy: - runs-on: ubuntu-latest - strategy: - matrix: - python-version: ["3.10"] - steps: - - name: 🛎️ Checkout - uses: actions/checkout@v4 - with: - fetch-depth: 0 - ref: ${{ github.head_ref }} - - - name: 🐍 Set up Python - uses: actions/setup-python@v5 - with: - python-version: '3.10' - - name: 📦 Install mkdocs-material - run: pip install "mkdocs-material" - - name: 📦 Install mkdocstrings[python] - run: pip install "mkdocstrings[python]" - - name: 📦 Install mkdocs-material[imaging] - run: pip install "mkdocs-material[imaging]" - - name: 📦 Install mike - run: pip install "mike" - - name: 📦 Install mkdocs-git-revision-date-localized-plugin - run: pip install "mkdocs-git-revision-date-localized-plugin" - - name: 📦 Install JupyterLab - run: pip install jupyterlab - - name: 📦 Install mkdocs-jupyter - run: pip install mkdocs-jupyter - - name: 📦 Install mkdocs-git-committers-plugin-2 - run: pip install mkdocs-git-committers-plugin-2 - - name: ⚙️ Configure git for github-actions 👷 - run: | - git config --global user.name "github-actions[bot]" - git config --global user.email "41898282+github-actions[bot]@users.noreply.github.com" - - name: 🚀 Deploy MkDoc-Material 📚 - run: | - latest_tag=$(git describe --tags `git rev-list --tags --max-count=1`) - MKDOCS_GIT_COMMITTERS_APIKEY=${{ secrets.GITHUB_TOKEN }} mike deploy --push --update-aliases $latest_tag latest diff --git a/.github/workflows/publish-test.yml b/.github/workflows/publish-test.yml index df5c48c493..722a899b1f 100644 --- a/.github/workflows/publish-test.yml +++ b/.github/workflows/publish-test.yml @@ -8,42 +8,44 @@ on: - "[0-9]+.[0-9]+[0-9]+.[0-9]+rc[0-9]" workflow_dispatch: -# Restrict permissions by default -permissions: {} +permissions: {} # Explicitly remove all permissions by default jobs: - build-and-publish-pre-release-pypi: - name: Build and publish to PyPI + build-and-publish-pre-release: runs-on: ubuntu-latest - environment: test + environment: release timeout-minutes: 15 permissions: - id-token: write # Required for PyPI publishing - contents: read # Required for checkout + id-token: write # Required for PyPI publishing + contents: read # Required for checkout strategy: matrix: python-version: ["3.10"] steps: - - name: 🛎️ Checkout - uses: actions/checkout@8ade135a41bc03ea155e62e844d188df1ea18608 # v4.1.0 - with: - ref: ${{ github.head_ref }} + - name: 📥 Checkout the repository + uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 - name: 🐍 Set up Python ${{ matrix.python-version }} - uses: actions/setup-python@b64ffcaf5b410884ad320a9cfac8866006a109aa # v5.0.0 + uses: actions/setup-python@0b93645e9fea7318ecaed2b359559ac225c90a2b # v5.3.0 with: python-version: ${{ matrix.python-version }} + - name: 📜 Setup Poetry + uses: abatilo/actions-poetry@e78f54a89cb052fff327414dd9ff010b5d2b4dbd # v3.0.1 + - name: 🏗️ Build source and wheel distributions run: | - python -m pip install --upgrade build twine - python -m build + poetry install --with=build + poetry build twine check --strict dist/* - name: 🚀 Publish to PyPi - uses: pypa/gh-action-pypi-publish@2f6f737ca5f74c637829c0f5c3acd0e29ea5e8bf # v1.8.11 + uses: pypa/gh-action-pypi-publish@67339c736fd9354cd4f8cb0b744f2b82a74b5c70 # v1.12.3 + with: + attestations: true - name: 🚀 Publish to Test-PyPi - uses: pypa/gh-action-pypi-publish@2f6f737ca5f74c637829c0f5c3acd0e29ea5e8bf # v1.8.11 + uses: pypa/gh-action-pypi-publish@67339c736fd9354cd4f8cb0b744f2b82a74b5c70 # v1.12.3 with: repository-url: https://test.pypi.org/legacy/ + attestations: true diff --git a/.github/workflows/publish.yml b/.github/workflows/publish.yml index 98918255ad..c03789b9ab 100644 --- a/.github/workflows/publish.yml +++ b/.github/workflows/publish.yml @@ -6,7 +6,7 @@ on: - "[0-9]+.[0-9]+[0-9]+.[0-9]" workflow_dispatch: -permissions: {} # Explicitly remove all permissions by default +permissions: {} # Explicitly remove all permissions by default jobs: build-and-publish-pre-release: @@ -14,32 +14,36 @@ jobs: environment: release timeout-minutes: 15 permissions: - id-token: write # Required for PyPI publishing - contents: read # Required for checkout + id-token: write # Required for PyPI publishing + contents: read # Required for checkout strategy: matrix: python-version: ["3.10"] steps: - - name: 🛎️ Checkout - uses: actions/checkout@8ade135a41bc03ea155e62e844d188df1ea18608 # v4.1.0 - with: - ref: ${{ github.head_ref }} + - name: 📥 Checkout the repository + uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 - name: 🐍 Set up Python ${{ matrix.python-version }} - uses: actions/setup-python@b64ffcaf5b410884ad320a9cfac8866006a109aa # v5.0.0 + uses: actions/setup-python@0b93645e9fea7318ecaed2b359559ac225c90a2b # v5.3.0 with: python-version: ${{ matrix.python-version }} + - name: 📜 Setup Poetry + uses: abatilo/actions-poetry@e78f54a89cb052fff327414dd9ff010b5d2b4dbd # v3.0.1 + - name: 🏗️ Build source and wheel distributions run: | - python -m pip install --upgrade build twine - python -m build + poetry install --with=build + poetry build twine check --strict dist/* - name: 🚀 Publish to PyPi - uses: pypa/gh-action-pypi-publish@2f6f737ca5f74c637829c0f5c3acd0e29ea5e8bf # v1.8.11 + uses: pypa/gh-action-pypi-publish@67339c736fd9354cd4f8cb0b744f2b82a74b5c70 # v1.12.3 + with: + attestations: true - name: 🚀 Publish to Test-PyPi - uses: pypa/gh-action-pypi-publish@2f6f737ca5f74c637829c0f5c3acd0e29ea5e8bf # v1.8.11 + uses: pypa/gh-action-pypi-publish@67339c736fd9354cd4f8cb0b744f2b82a74b5c70 # v1.12.3 with: repository-url: https://test.pypi.org/legacy/ + attestations: true diff --git a/.github/workflows/test-doc.yml b/.github/workflows/test-doc.yml index 131accd9ca..3b77721097 100644 --- a/.github/workflows/test-doc.yml +++ b/.github/workflows/test-doc.yml @@ -22,16 +22,13 @@ jobs: with: python-version: '3.10' - - name: 🏗️ Install dependencies and Test Docs Build + - name: 📜 Setup Poetry + uses: abatilo/actions-poetry@e78f54a89cb052fff327414dd9ff010b5d2b4dbd # v3.0.1 + + - name: 🏗️ Install dependencies + run: | + python install --group docs + + - name: 🧪 Test Docs Build run: | - python -m pip install --upgrade pip - pip install \ - "mkdocs-material==9.5.2" \ - "mkdocstrings[python]==0.24.0" \ - "mkdocs-material[imaging]==9.5.2" \ - "mike==2.0.0" \ - "mkdocs-git-revision-date-localized-plugin==1.2.1" \ - "jupyterlab==4.0.9" \ - "mkdocs-jupyter==0.24.6" \ - "mkdocs-git-committers-plugin-2==2.2.2" mkdocs build --verbose diff --git a/.github/workflows/test-min.yml b/.github/workflows/test-min.yml deleted file mode 100644 index 47021ea230..0000000000 --- a/.github/workflows/test-min.yml +++ /dev/null @@ -1,64 +0,0 @@ -name: Python 3.8 - Min Dep Test WorkFlow - -on: - pull_request: - branches: [main, develop] - -# Restrict permissions by default -permissions: - contents: read # Required for checkout - checks: write # Required for test reporting - -jobs: - build-min-dep-test: - runs-on: ubuntu-latest - timeout-minutes: 20 - strategy: - matrix: - python-version: ["3.8"] - fail-fast: false # Continue with other steps if one fails - steps: - - name: 🛎️ Checkout - uses: actions/checkout@8ade135a41bc03ea155e62e844d188df1ea18608 # v4.1.0 - - - name: 🐍 Set up Python ${{ matrix.python-version }} - uses: actions/setup-python@b64ffcaf5b410884ad320a9cfac8866006a109aa # v5.0.0 - with: - python-version: ${{ matrix.python-version }} - check-latest: true - - - name: 📦 Install dependencies - run: | - python -m pip install --upgrade pip - pip install \ - attrs==23.1.0 \ - certifi==2023.7.22 \ - charset-normalizer==2.0.12 \ - cycler==0.12.1 \ - exceptiongroup==1.1.3 \ - fonttools==4.43.1 \ - idna==3.4 \ - iniconfig==2.0.0 \ - kiwisolver==1.4.5 \ - matplotlib==3.5.0 \ - numpy==1.21.2 \ - opencv-python==4.5.5.64 \ - Pillow==10.1.0 \ - packaging==23.2 \ - pluggy==1.3.0 \ - pyparsing==3.1.1 \ - pytest==7.2.0 \ - python-dateutil==2.8.2 \ - PyYAML==5.3 \ - requests==2.26.0 \ - scipy==1.10.0 \ - setuptools-scm==8.0.4 \ - six==1.16.0 \ - tomli==2.0.1 \ - tqdm==4.62.3 \ - typing_extensions==4.8.0 \ - urllib3==1.26.18 \ - defusedxml==0.7.1 - - - name: 🧪 Test - run: "python -m pytest ./test" diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index e7fef9af26..e929cc0b6e 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -6,8 +6,8 @@ on: permissions: contents: read - checks: write # Required for test reporting - pull-requests: write # Required for PR comments + checks: write # Required for test reporting + pull-requests: write # Required for PR comments jobs: build-dev-test: @@ -16,7 +16,7 @@ jobs: strategy: matrix: python-version: ["3.8", "3.9", "3.10", "3.11", "3.12", "3.13"] - fail-fast: false # Continue with other versions if one fails + fail-fast: false # Continue with other versions if one fails steps: - name: 🛎️ Checkout uses: actions/checkout@8ade135a41bc03ea155e62e844d188df1ea18608 # v4.1.0 @@ -27,11 +27,19 @@ jobs: python-version: ${{ matrix.python-version }} check-latest: true + - name: 📜 Setup Poetry + uses: abatilo/actions-poetry@e78f54a89cb052fff327414dd9ff010b5d2b4dbd # v3.0.1 + - name: 📦 Install dependencies run: | - python -m pip install --upgrade pip - pip install . - pip install pytest + poetry install --with=test - - name: 🧪 PyTest - run: "python -m pytest ./test" + - name: Run pytest + uses: pavelzw/pytest-action@510c5e90c360a185039bea56ce8b3e7e51a16507 # v2.2.0 + with: + verbose: true + emoji: true + job-summary: true + custom-arguments: "-q" + click-to-expand: true + report-title: "Test Report" diff --git a/poetry.lock b/poetry.lock index 780a707659..09afe1de39 100644 --- a/poetry.lock +++ b/poetry.lock @@ -1,4 +1,4 @@ -# This file is automatically @generated by Poetry 1.8.4 and should not be changed by hand. +# This file is automatically @generated by Poetry 1.8.3 and should not be changed by hand. [[package]] name = "anyio" @@ -1038,61 +1038,61 @@ typing = ["typing-extensions (>=4.12.2)"] [[package]] name = "fonttools" -version = "4.55.0" +version = "4.55.3" description = "Tools to manipulate font files" optional = false python-versions = ">=3.8" files = [ - {file = "fonttools-4.55.0-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:51c029d4c0608a21a3d3d169dfc3fb776fde38f00b35ca11fdab63ba10a16f61"}, - {file = "fonttools-4.55.0-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:bca35b4e411362feab28e576ea10f11268b1aeed883b9f22ed05675b1e06ac69"}, - {file = "fonttools-4.55.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:9ce4ba6981e10f7e0ccff6348e9775ce25ffadbee70c9fd1a3737e3e9f5fa74f"}, - {file = "fonttools-4.55.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:31d00f9852a6051dac23294a4cf2df80ced85d1d173a61ba90a3d8f5abc63c60"}, - {file = "fonttools-4.55.0-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:e198e494ca6e11f254bac37a680473a311a88cd40e58f9cc4dc4911dfb686ec6"}, - {file = "fonttools-4.55.0-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:7208856f61770895e79732e1dcbe49d77bd5783adf73ae35f87fcc267df9db81"}, - {file = "fonttools-4.55.0-cp310-cp310-win32.whl", hash = "sha256:e7e6a352ff9e46e8ef8a3b1fe2c4478f8a553e1b5a479f2e899f9dc5f2055880"}, - {file = "fonttools-4.55.0-cp310-cp310-win_amd64.whl", hash = "sha256:636caaeefe586d7c84b5ee0734c1a5ab2dae619dc21c5cf336f304ddb8f6001b"}, - {file = "fonttools-4.55.0-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:fa34aa175c91477485c44ddfbb51827d470011e558dfd5c7309eb31bef19ec51"}, - {file = "fonttools-4.55.0-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:37dbb3fdc2ef7302d3199fb12468481cbebaee849e4b04bc55b77c24e3c49189"}, - {file = "fonttools-4.55.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:b5263d8e7ef3c0ae87fbce7f3ec2f546dc898d44a337e95695af2cd5ea21a967"}, - {file = "fonttools-4.55.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f307f6b5bf9e86891213b293e538d292cd1677e06d9faaa4bf9c086ad5f132f6"}, - {file = "fonttools-4.55.0-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:f0a4b52238e7b54f998d6a56b46a2c56b59c74d4f8a6747fb9d4042190f37cd3"}, - {file = "fonttools-4.55.0-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:3e569711464f777a5d4ef522e781dc33f8095ab5efd7548958b36079a9f2f88c"}, - {file = "fonttools-4.55.0-cp311-cp311-win32.whl", hash = "sha256:2b3ab90ec0f7b76c983950ac601b58949f47aca14c3f21eed858b38d7ec42b05"}, - {file = "fonttools-4.55.0-cp311-cp311-win_amd64.whl", hash = "sha256:aa046f6a63bb2ad521004b2769095d4c9480c02c1efa7d7796b37826508980b6"}, - {file = "fonttools-4.55.0-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:838d2d8870f84fc785528a692e724f2379d5abd3fc9dad4d32f91cf99b41e4a7"}, - {file = "fonttools-4.55.0-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:f46b863d74bab7bb0d395f3b68d3f52a03444964e67ce5c43ce43a75efce9246"}, - {file = "fonttools-4.55.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:33b52a9cfe4e658e21b1f669f7309b4067910321757fec53802ca8f6eae96a5a"}, - {file = "fonttools-4.55.0-cp312-cp312-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:732a9a63d6ea4a81b1b25a1f2e5e143761b40c2e1b79bb2b68e4893f45139a40"}, - {file = "fonttools-4.55.0-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:7dd91ac3fcb4c491bb4763b820bcab6c41c784111c24172616f02f4bc227c17d"}, - {file = "fonttools-4.55.0-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:1f0e115281a32ff532118aa851ef497a1b7cda617f4621c1cdf81ace3e36fb0c"}, - {file = "fonttools-4.55.0-cp312-cp312-win32.whl", hash = "sha256:6c99b5205844f48a05cb58d4a8110a44d3038c67ed1d79eb733c4953c628b0f6"}, - {file = "fonttools-4.55.0-cp312-cp312-win_amd64.whl", hash = "sha256:f8c8c76037d05652510ae45be1cd8fb5dd2fd9afec92a25374ac82255993d57c"}, - {file = "fonttools-4.55.0-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:8118dc571921dc9e4b288d9cb423ceaf886d195a2e5329cc427df82bba872cd9"}, - {file = "fonttools-4.55.0-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:01124f2ca6c29fad4132d930da69158d3f49b2350e4a779e1efbe0e82bd63f6c"}, - {file = "fonttools-4.55.0-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:81ffd58d2691f11f7c8438796e9f21c374828805d33e83ff4b76e4635633674c"}, - {file = "fonttools-4.55.0-cp313-cp313-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:5435e5f1eb893c35c2bc2b9cd3c9596b0fcb0a59e7a14121562986dd4c47b8dd"}, - {file = "fonttools-4.55.0-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:d12081729280c39d001edd0f4f06d696014c26e6e9a0a55488fabc37c28945e4"}, - {file = "fonttools-4.55.0-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:a7ad1f1b98ab6cb927ab924a38a8649f1ffd7525c75fe5b594f5dab17af70e18"}, - {file = "fonttools-4.55.0-cp313-cp313-win32.whl", hash = "sha256:abe62987c37630dca69a104266277216de1023cf570c1643bb3a19a9509e7a1b"}, - {file = "fonttools-4.55.0-cp313-cp313-win_amd64.whl", hash = "sha256:2863555ba90b573e4201feaf87a7e71ca3b97c05aa4d63548a4b69ea16c9e998"}, - {file = "fonttools-4.55.0-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:00f7cf55ad58a57ba421b6a40945b85ac7cc73094fb4949c41171d3619a3a47e"}, - {file = "fonttools-4.55.0-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:f27526042efd6f67bfb0cc2f1610fa20364396f8b1fc5edb9f45bb815fb090b2"}, - {file = "fonttools-4.55.0-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:e8e67974326af6a8879dc2a4ec63ab2910a1c1a9680ccd63e4a690950fceddbe"}, - {file = "fonttools-4.55.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:61dc0a13451143c5e987dec5254d9d428f3c2789a549a7cf4f815b63b310c1cc"}, - {file = "fonttools-4.55.0-cp38-cp38-musllinux_1_2_aarch64.whl", hash = "sha256:b2e526b325a903868c62155a6a7e24df53f6ce4c5c3160214d8fe1be2c41b478"}, - {file = "fonttools-4.55.0-cp38-cp38-musllinux_1_2_x86_64.whl", hash = "sha256:b7ef9068a1297714e6fefe5932c33b058aa1d45a2b8be32a4c6dee602ae22b5c"}, - {file = "fonttools-4.55.0-cp38-cp38-win32.whl", hash = "sha256:55718e8071be35dff098976bc249fc243b58efa263768c611be17fe55975d40a"}, - {file = "fonttools-4.55.0-cp38-cp38-win_amd64.whl", hash = "sha256:553bd4f8cc327f310c20158e345e8174c8eed49937fb047a8bda51daf2c353c8"}, - {file = "fonttools-4.55.0-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:3f901cef813f7c318b77d1c5c14cf7403bae5cb977cede023e22ba4316f0a8f6"}, - {file = "fonttools-4.55.0-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:8c9679fc0dd7e8a5351d321d8d29a498255e69387590a86b596a45659a39eb0d"}, - {file = "fonttools-4.55.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:dd2820a8b632f3307ebb0bf57948511c2208e34a4939cf978333bc0a3f11f838"}, - {file = "fonttools-4.55.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:23bbbb49bec613a32ed1b43df0f2b172313cee690c2509f1af8fdedcf0a17438"}, - {file = "fonttools-4.55.0-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:a656652e1f5d55b9728937a7e7d509b73d23109cddd4e89ee4f49bde03b736c6"}, - {file = "fonttools-4.55.0-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:f50a1f455902208486fbca47ce33054208a4e437b38da49d6721ce2fef732fcf"}, - {file = "fonttools-4.55.0-cp39-cp39-win32.whl", hash = "sha256:161d1ac54c73d82a3cded44202d0218ab007fde8cf194a23d3dd83f7177a2f03"}, - {file = "fonttools-4.55.0-cp39-cp39-win_amd64.whl", hash = "sha256:ca7fd6987c68414fece41c96836e945e1f320cda56fc96ffdc16e54a44ec57a2"}, - {file = "fonttools-4.55.0-py3-none-any.whl", hash = "sha256:12db5888cd4dd3fcc9f0ee60c6edd3c7e1fd44b7dd0f31381ea03df68f8a153f"}, - {file = "fonttools-4.55.0.tar.gz", hash = "sha256:7636acc6ab733572d5e7eec922b254ead611f1cdad17be3f0be7418e8bfaca71"}, + {file = "fonttools-4.55.3-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:1dcc07934a2165ccdc3a5a608db56fb3c24b609658a5b340aee4ecf3ba679dc0"}, + {file = "fonttools-4.55.3-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:f7d66c15ba875432a2d2fb419523f5d3d347f91f48f57b8b08a2dfc3c39b8a3f"}, + {file = "fonttools-4.55.3-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:27e4ae3592e62eba83cd2c4ccd9462dcfa603ff78e09110680a5444c6925d841"}, + {file = "fonttools-4.55.3-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:62d65a3022c35e404d19ca14f291c89cc5890032ff04f6c17af0bd1927299674"}, + {file = "fonttools-4.55.3-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:d342e88764fb201286d185093781bf6628bbe380a913c24adf772d901baa8276"}, + {file = "fonttools-4.55.3-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:dd68c87a2bfe37c5b33bcda0fba39b65a353876d3b9006fde3adae31f97b3ef5"}, + {file = "fonttools-4.55.3-cp310-cp310-win32.whl", hash = "sha256:1bc7ad24ff98846282eef1cbeac05d013c2154f977a79886bb943015d2b1b261"}, + {file = "fonttools-4.55.3-cp310-cp310-win_amd64.whl", hash = "sha256:b54baf65c52952db65df39fcd4820668d0ef4766c0ccdf32879b77f7c804d5c5"}, + {file = "fonttools-4.55.3-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:8c4491699bad88efe95772543cd49870cf756b019ad56294f6498982408ab03e"}, + {file = "fonttools-4.55.3-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:5323a22eabddf4b24f66d26894f1229261021dacd9d29e89f7872dd8c63f0b8b"}, + {file = "fonttools-4.55.3-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:5480673f599ad410695ca2ddef2dfefe9df779a9a5cda89503881e503c9c7d90"}, + {file = "fonttools-4.55.3-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:da9da6d65cd7aa6b0f806556f4985bcbf603bf0c5c590e61b43aa3e5a0f822d0"}, + {file = "fonttools-4.55.3-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:e894b5bd60d9f473bed7a8f506515549cc194de08064d829464088d23097331b"}, + {file = "fonttools-4.55.3-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:aee3b57643827e237ff6ec6d28d9ff9766bd8b21e08cd13bff479e13d4b14765"}, + {file = "fonttools-4.55.3-cp311-cp311-win32.whl", hash = "sha256:eb6ca911c4c17eb51853143624d8dc87cdcdf12a711fc38bf5bd21521e79715f"}, + {file = "fonttools-4.55.3-cp311-cp311-win_amd64.whl", hash = "sha256:6314bf82c54c53c71805318fcf6786d986461622dd926d92a465199ff54b1b72"}, + {file = "fonttools-4.55.3-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:f9e736f60f4911061235603a6119e72053073a12c6d7904011df2d8fad2c0e35"}, + {file = "fonttools-4.55.3-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:7a8aa2c5e5b8b3bcb2e4538d929f6589a5c6bdb84fd16e2ed92649fb5454f11c"}, + {file = "fonttools-4.55.3-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:07f8288aacf0a38d174445fc78377a97fb0b83cfe352a90c9d9c1400571963c7"}, + {file = "fonttools-4.55.3-cp312-cp312-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:b8d5e8916c0970fbc0f6f1bece0063363bb5857a7f170121a4493e31c3db3314"}, + {file = "fonttools-4.55.3-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:ae3b6600565b2d80b7c05acb8e24d2b26ac407b27a3f2e078229721ba5698427"}, + {file = "fonttools-4.55.3-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:54153c49913f45065c8d9e6d0c101396725c5621c8aee744719300f79771d75a"}, + {file = "fonttools-4.55.3-cp312-cp312-win32.whl", hash = "sha256:827e95fdbbd3e51f8b459af5ea10ecb4e30af50221ca103bea68218e9615de07"}, + {file = "fonttools-4.55.3-cp312-cp312-win_amd64.whl", hash = "sha256:e6e8766eeeb2de759e862004aa11a9ea3d6f6d5ec710551a88b476192b64fd54"}, + {file = "fonttools-4.55.3-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:a430178ad3e650e695167cb53242dae3477b35c95bef6525b074d87493c4bf29"}, + {file = "fonttools-4.55.3-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:529cef2ce91dc44f8e407cc567fae6e49a1786f2fefefa73a294704c415322a4"}, + {file = "fonttools-4.55.3-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:8e75f12c82127486fac2d8bfbf5bf058202f54bf4f158d367e41647b972342ca"}, + {file = "fonttools-4.55.3-cp313-cp313-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:859c358ebf41db18fb72342d3080bce67c02b39e86b9fbcf1610cca14984841b"}, + {file = "fonttools-4.55.3-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:546565028e244a701f73df6d8dd6be489d01617863ec0c6a42fa25bf45d43048"}, + {file = "fonttools-4.55.3-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:aca318b77f23523309eec4475d1fbbb00a6b133eb766a8bdc401faba91261abe"}, + {file = "fonttools-4.55.3-cp313-cp313-win32.whl", hash = "sha256:8c5ec45428edaa7022f1c949a632a6f298edc7b481312fc7dc258921e9399628"}, + {file = "fonttools-4.55.3-cp313-cp313-win_amd64.whl", hash = "sha256:11e5de1ee0d95af4ae23c1a138b184b7f06e0b6abacabf1d0db41c90b03d834b"}, + {file = "fonttools-4.55.3-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:caf8230f3e10f8f5d7593eb6d252a37caf58c480b19a17e250a63dad63834cf3"}, + {file = "fonttools-4.55.3-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:b586ab5b15b6097f2fb71cafa3c98edfd0dba1ad8027229e7b1e204a58b0e09d"}, + {file = "fonttools-4.55.3-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a8c2794ded89399cc2169c4d0bf7941247b8d5932b2659e09834adfbb01589aa"}, + {file = "fonttools-4.55.3-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:cf4fe7c124aa3f4e4c1940880156e13f2f4d98170d35c749e6b4f119a872551e"}, + {file = "fonttools-4.55.3-cp38-cp38-musllinux_1_2_aarch64.whl", hash = "sha256:86721fbc389ef5cc1e2f477019e5069e8e4421e8d9576e9c26f840dbb04678de"}, + {file = "fonttools-4.55.3-cp38-cp38-musllinux_1_2_x86_64.whl", hash = "sha256:89bdc5d88bdeec1b15af790810e267e8332d92561dce4f0748c2b95c9bdf3926"}, + {file = "fonttools-4.55.3-cp38-cp38-win32.whl", hash = "sha256:bc5dbb4685e51235ef487e4bd501ddfc49be5aede5e40f4cefcccabc6e60fb4b"}, + {file = "fonttools-4.55.3-cp38-cp38-win_amd64.whl", hash = "sha256:cd70de1a52a8ee2d1877b6293af8a2484ac82514f10b1c67c1c5762d38073e56"}, + {file = "fonttools-4.55.3-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:bdcc9f04b36c6c20978d3f060e5323a43f6222accc4e7fcbef3f428e216d96af"}, + {file = "fonttools-4.55.3-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:c3ca99e0d460eff46e033cd3992a969658c3169ffcd533e0a39c63a38beb6831"}, + {file = "fonttools-4.55.3-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:22f38464daa6cdb7b6aebd14ab06609328fe1e9705bb0fcc7d1e69de7109ee02"}, + {file = "fonttools-4.55.3-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ed63959d00b61959b035c7d47f9313c2c1ece090ff63afea702fe86de00dbed4"}, + {file = "fonttools-4.55.3-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:5e8d657cd7326eeaba27de2740e847c6b39dde2f8d7cd7cc56f6aad404ddf0bd"}, + {file = "fonttools-4.55.3-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:fb594b5a99943042c702c550d5494bdd7577f6ef19b0bc73877c948a63184a32"}, + {file = "fonttools-4.55.3-cp39-cp39-win32.whl", hash = "sha256:dc5294a3d5c84226e3dbba1b6f61d7ad813a8c0238fceea4e09aa04848c3d851"}, + {file = "fonttools-4.55.3-cp39-cp39-win_amd64.whl", hash = "sha256:aedbeb1db64496d098e6be92b2e63b5fac4e53b1b92032dfc6988e1ea9134a4d"}, + {file = "fonttools-4.55.3-py3-none-any.whl", hash = "sha256:f412604ccbeee81b091b420272841e5ec5ef68967a9790e80bffd0e30b8e2977"}, + {file = "fonttools-4.55.3.tar.gz", hash = "sha256:3983313c2a04d6cc1fe9251f8fc647754cf49a61dac6cb1e7249ae67afaafc45"}, ] [package.extras] @@ -1218,13 +1218,13 @@ trio = ["trio (>=0.22.0,<1.0)"] [[package]] name = "httpx" -version = "0.28.0" +version = "0.28.1" description = "The next generation HTTP client." optional = false python-versions = ">=3.8" files = [ - {file = "httpx-0.28.0-py3-none-any.whl", hash = "sha256:dc0b419a0cfeb6e8b34e85167c0da2671206f5095f1baa9663d23bcfd6b535fc"}, - {file = "httpx-0.28.0.tar.gz", hash = "sha256:0858d3bab51ba7e386637f22a61d8ccddaeec5f3fe4209da3a6168dbb91573e0"}, + {file = "httpx-0.28.1-py3-none-any.whl", hash = "sha256:d909fcccc110f8c7faf814ca82a9a4d816bc5a6dbfea25d6591d6985b8ba59ad"}, + {file = "httpx-0.28.1.tar.gz", hash = "sha256:75e98c5f16b0f35b567856f597f06ff2270a374470a5c2392242528e3e3e42fc"}, ] [package.dependencies] @@ -1751,13 +1751,13 @@ test = ["jupyter-server (>=2.0.0)", "pytest (>=7.0)", "pytest-jupyter[server] (> [[package]] name = "jupyterlab" -version = "4.2.6" +version = "4.3.3" description = "JupyterLab computational environment" optional = false python-versions = ">=3.8" files = [ - {file = "jupyterlab-4.2.6-py3-none-any.whl", hash = "sha256:78dd42cae5b460f377624b03966a8730e3b0692102ddf5933a2a3730c1bc0a20"}, - {file = "jupyterlab-4.2.6.tar.gz", hash = "sha256:625f3ac19da91f9706baf66df25723b2f1307c1159fc7293035b066786d62a4a"}, + {file = "jupyterlab-4.3.3-py3-none-any.whl", hash = "sha256:32a8fd30677e734ffcc3916a4758b9dab21b02015b668c60eb36f84357b7d4b1"}, + {file = "jupyterlab-4.3.3.tar.gz", hash = "sha256:76fa39e548fdac94dc1204af5956c556f54c785f70ee26aa47ea08eda4d5bbcd"}, ] [package.dependencies] @@ -1773,15 +1773,15 @@ jupyter-server = ">=2.4.0,<3" jupyterlab-server = ">=2.27.1,<3" notebook-shim = ">=0.2" packaging = "*" -setuptools = ">=40.1.0" +setuptools = ">=40.8.0" tomli = {version = ">=1.2.2", markers = "python_version < \"3.11\""} tornado = ">=6.2.0" traitlets = "*" [package.extras] -dev = ["build", "bump2version", "coverage", "hatch", "pre-commit", "pytest-cov", "ruff (==0.3.5)"] -docs = ["jsx-lexer", "myst-parser", "pydata-sphinx-theme (>=0.13.0)", "pytest", "pytest-check-links", "pytest-jupyter", "sphinx (>=1.8,<7.3.0)", "sphinx-copybutton"] -docs-screenshots = ["altair (==5.3.0)", "ipython (==8.16.1)", "ipywidgets (==8.1.2)", "jupyterlab-geojson (==3.4.0)", "jupyterlab-language-pack-zh-cn (==4.1.post2)", "matplotlib (==3.8.3)", "nbconvert (>=7.0.0)", "pandas (==2.2.1)", "scipy (==1.12.0)", "vega-datasets (==0.9.0)"] +dev = ["build", "bump2version", "coverage", "hatch", "pre-commit", "pytest-cov", "ruff (==0.6.9)"] +docs = ["jsx-lexer", "myst-parser", "pydata-sphinx-theme (>=0.13.0)", "pytest", "pytest-check-links", "pytest-jupyter", "sphinx (>=1.8,<8.1.0)", "sphinx-copybutton"] +docs-screenshots = ["altair (==5.4.1)", "ipython (==8.16.1)", "ipywidgets (==8.1.5)", "jupyterlab-geojson (==3.4.0)", "jupyterlab-language-pack-zh-cn (==4.2.post3)", "matplotlib (==3.9.2)", "nbconvert (>=7.0.0)", "pandas (==2.2.3)", "scipy (==1.14.1)", "vega-datasets (==0.9.0)"] test = ["coverage", "pytest (>=7.0)", "pytest-check-links (>=0.7)", "pytest-console-scripts", "pytest-cov", "pytest-jupyter (>=0.5.3)", "pytest-timeout", "pytest-tornasync", "requests", "requests-cache", "virtualenv"] upgrade-extension = ["copier (>=9,<10)", "jinja2-time (<0.3)", "pydantic (<3.0)", "pyyaml-include (<3.0)", "tomli-w (<2.0)"] @@ -2473,13 +2473,13 @@ pygments = ">2.12.0" [[package]] name = "mkdocs-material" -version = "9.5.47" +version = "9.5.48" description = "Documentation that simply works" optional = false python-versions = ">=3.8" files = [ - {file = "mkdocs_material-9.5.47-py3-none-any.whl", hash = "sha256:53fb9c9624e7865da6ec807d116cd7be24b3cb36ab31b1d1d1a9af58c56009a2"}, - {file = "mkdocs_material-9.5.47.tar.gz", hash = "sha256:fc3b7a8e00ad896660bd3a5cc12ca0cb28bdc2bcbe2a946b5714c23ac91b0ede"}, + {file = "mkdocs_material-9.5.48-py3-none-any.whl", hash = "sha256:b695c998f4b939ce748adbc0d3bff73fa886a670ece948cf27818fa115dc16f8"}, + {file = "mkdocs_material-9.5.48.tar.gz", hash = "sha256:a582531e8b34f4c7ed38c29d5c44763053832cf2a32f7409567e0c74749a47db"}, ] [package.dependencies] @@ -2770,18 +2770,18 @@ files = [ [[package]] name = "notebook" -version = "7.2.2" +version = "7.3.1" description = "Jupyter Notebook - A web-based notebook environment for interactive computing" optional = false python-versions = ">=3.8" files = [ - {file = "notebook-7.2.2-py3-none-any.whl", hash = "sha256:c89264081f671bc02eec0ed470a627ed791b9156cad9285226b31611d3e9fe1c"}, - {file = "notebook-7.2.2.tar.gz", hash = "sha256:2ef07d4220421623ad3fe88118d687bc0450055570cdd160814a59cf3a1c516e"}, + {file = "notebook-7.3.1-py3-none-any.whl", hash = "sha256:212e1486b2230fe22279043f33c7db5cf9a01d29feb063a85cb139747b7c9483"}, + {file = "notebook-7.3.1.tar.gz", hash = "sha256:84381c2a82d867517fd25b86e986dae1fe113a70b98f03edff9b94e499fec8fa"}, ] [package.dependencies] jupyter-server = ">=2.4.0,<3" -jupyterlab = ">=4.2.0,<4.3" +jupyterlab = ">=4.3.2,<4.4" jupyterlab-server = ">=2.27.1,<3" notebook-shim = ">=0.2,<0.3" tornado = ">=6.2.0" @@ -2884,66 +2884,66 @@ files = [ [[package]] name = "numpy" -version = "2.1.3" +version = "2.2.0" description = "Fundamental package for array computing in Python" optional = false python-versions = ">=3.10" files = [ - {file = "numpy-2.1.3-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:c894b4305373b9c5576d7a12b473702afdf48ce5369c074ba304cc5ad8730dff"}, - {file = "numpy-2.1.3-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:b47fbb433d3260adcd51eb54f92a2ffbc90a4595f8970ee00e064c644ac788f5"}, - {file = "numpy-2.1.3-cp310-cp310-macosx_14_0_arm64.whl", hash = "sha256:825656d0743699c529c5943554d223c021ff0494ff1442152ce887ef4f7561a1"}, - {file = "numpy-2.1.3-cp310-cp310-macosx_14_0_x86_64.whl", hash = "sha256:6a4825252fcc430a182ac4dee5a505053d262c807f8a924603d411f6718b88fd"}, - {file = "numpy-2.1.3-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:e711e02f49e176a01d0349d82cb5f05ba4db7d5e7e0defd026328e5cfb3226d3"}, - {file = "numpy-2.1.3-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:78574ac2d1a4a02421f25da9559850d59457bac82f2b8d7a44fe83a64f770098"}, - {file = "numpy-2.1.3-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:c7662f0e3673fe4e832fe07b65c50342ea27d989f92c80355658c7f888fcc83c"}, - {file = "numpy-2.1.3-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:fa2d1337dc61c8dc417fbccf20f6d1e139896a30721b7f1e832b2bb6ef4eb6c4"}, - {file = "numpy-2.1.3-cp310-cp310-win32.whl", hash = "sha256:72dcc4a35a8515d83e76b58fdf8113a5c969ccd505c8a946759b24e3182d1f23"}, - {file = "numpy-2.1.3-cp310-cp310-win_amd64.whl", hash = "sha256:ecc76a9ba2911d8d37ac01de72834d8849e55473457558e12995f4cd53e778e0"}, - {file = "numpy-2.1.3-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:4d1167c53b93f1f5d8a139a742b3c6f4d429b54e74e6b57d0eff40045187b15d"}, - {file = "numpy-2.1.3-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:c80e4a09b3d95b4e1cac08643f1152fa71a0a821a2d4277334c88d54b2219a41"}, - {file = "numpy-2.1.3-cp311-cp311-macosx_14_0_arm64.whl", hash = "sha256:576a1c1d25e9e02ed7fa5477f30a127fe56debd53b8d2c89d5578f9857d03ca9"}, - {file = "numpy-2.1.3-cp311-cp311-macosx_14_0_x86_64.whl", hash = "sha256:973faafebaae4c0aaa1a1ca1ce02434554d67e628b8d805e61f874b84e136b09"}, - {file = "numpy-2.1.3-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:762479be47a4863e261a840e8e01608d124ee1361e48b96916f38b119cfda04a"}, - {file = "numpy-2.1.3-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:bc6f24b3d1ecc1eebfbf5d6051faa49af40b03be1aaa781ebdadcbc090b4539b"}, - {file = "numpy-2.1.3-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:17ee83a1f4fef3c94d16dc1802b998668b5419362c8a4f4e8a491de1b41cc3ee"}, - {file = "numpy-2.1.3-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:15cb89f39fa6d0bdfb600ea24b250e5f1a3df23f901f51c8debaa6a5d122b2f0"}, - {file = "numpy-2.1.3-cp311-cp311-win32.whl", hash = "sha256:d9beb777a78c331580705326d2367488d5bc473b49a9bc3036c154832520aca9"}, - {file = "numpy-2.1.3-cp311-cp311-win_amd64.whl", hash = "sha256:d89dd2b6da69c4fff5e39c28a382199ddedc3a5be5390115608345dec660b9e2"}, - {file = "numpy-2.1.3-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:f55ba01150f52b1027829b50d70ef1dafd9821ea82905b63936668403c3b471e"}, - {file = "numpy-2.1.3-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:13138eadd4f4da03074851a698ffa7e405f41a0845a6b1ad135b81596e4e9958"}, - {file = "numpy-2.1.3-cp312-cp312-macosx_14_0_arm64.whl", hash = "sha256:a6b46587b14b888e95e4a24d7b13ae91fa22386c199ee7b418f449032b2fa3b8"}, - {file = "numpy-2.1.3-cp312-cp312-macosx_14_0_x86_64.whl", hash = "sha256:0fa14563cc46422e99daef53d725d0c326e99e468a9320a240affffe87852564"}, - {file = "numpy-2.1.3-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:8637dcd2caa676e475503d1f8fdb327bc495554e10838019651b76d17b98e512"}, - {file = "numpy-2.1.3-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:2312b2aa89e1f43ecea6da6ea9a810d06aae08321609d8dc0d0eda6d946a541b"}, - {file = "numpy-2.1.3-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:a38c19106902bb19351b83802531fea19dee18e5b37b36454f27f11ff956f7fc"}, - {file = "numpy-2.1.3-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:02135ade8b8a84011cbb67dc44e07c58f28575cf9ecf8ab304e51c05528c19f0"}, - {file = "numpy-2.1.3-cp312-cp312-win32.whl", hash = "sha256:e6988e90fcf617da2b5c78902fe8e668361b43b4fe26dbf2d7b0f8034d4cafb9"}, - {file = "numpy-2.1.3-cp312-cp312-win_amd64.whl", hash = "sha256:0d30c543f02e84e92c4b1f415b7c6b5326cbe45ee7882b6b77db7195fb971e3a"}, - {file = "numpy-2.1.3-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:96fe52fcdb9345b7cd82ecd34547fca4321f7656d500eca497eb7ea5a926692f"}, - {file = "numpy-2.1.3-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:f653490b33e9c3a4c1c01d41bc2aef08f9475af51146e4a7710c450cf9761598"}, - {file = "numpy-2.1.3-cp313-cp313-macosx_14_0_arm64.whl", hash = "sha256:dc258a761a16daa791081d026f0ed4399b582712e6fc887a95af09df10c5ca57"}, - {file = "numpy-2.1.3-cp313-cp313-macosx_14_0_x86_64.whl", hash = "sha256:016d0f6f5e77b0f0d45d77387ffa4bb89816b57c835580c3ce8e099ef830befe"}, - {file = "numpy-2.1.3-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:c181ba05ce8299c7aa3125c27b9c2167bca4a4445b7ce73d5febc411ca692e43"}, - {file = "numpy-2.1.3-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:5641516794ca9e5f8a4d17bb45446998c6554704d888f86df9b200e66bdcce56"}, - {file = "numpy-2.1.3-cp313-cp313-musllinux_1_1_x86_64.whl", hash = "sha256:ea4dedd6e394a9c180b33c2c872b92f7ce0f8e7ad93e9585312b0c5a04777a4a"}, - {file = "numpy-2.1.3-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:b0df3635b9c8ef48bd3be5f862cf71b0a4716fa0e702155c45067c6b711ddcef"}, - {file = "numpy-2.1.3-cp313-cp313-win32.whl", hash = "sha256:50ca6aba6e163363f132b5c101ba078b8cbd3fa92c7865fd7d4d62d9779ac29f"}, - {file = "numpy-2.1.3-cp313-cp313-win_amd64.whl", hash = "sha256:747641635d3d44bcb380d950679462fae44f54b131be347d5ec2bce47d3df9ed"}, - {file = "numpy-2.1.3-cp313-cp313t-macosx_10_13_x86_64.whl", hash = "sha256:996bb9399059c5b82f76b53ff8bb686069c05acc94656bb259b1d63d04a9506f"}, - {file = "numpy-2.1.3-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:45966d859916ad02b779706bb43b954281db43e185015df6eb3323120188f9e4"}, - {file = "numpy-2.1.3-cp313-cp313t-macosx_14_0_arm64.whl", hash = "sha256:baed7e8d7481bfe0874b566850cb0b85243e982388b7b23348c6db2ee2b2ae8e"}, - {file = "numpy-2.1.3-cp313-cp313t-macosx_14_0_x86_64.whl", hash = "sha256:a9f7f672a3388133335589cfca93ed468509cb7b93ba3105fce780d04a6576a0"}, - {file = "numpy-2.1.3-cp313-cp313t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d7aac50327da5d208db2eec22eb11e491e3fe13d22653dce51b0f4109101b408"}, - {file = "numpy-2.1.3-cp313-cp313t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:4394bc0dbd074b7f9b52024832d16e019decebf86caf909d94f6b3f77a8ee3b6"}, - {file = "numpy-2.1.3-cp313-cp313t-musllinux_1_1_x86_64.whl", hash = "sha256:50d18c4358a0a8a53f12a8ba9d772ab2d460321e6a93d6064fc22443d189853f"}, - {file = "numpy-2.1.3-cp313-cp313t-musllinux_1_2_aarch64.whl", hash = "sha256:14e253bd43fc6b37af4921b10f6add6925878a42a0c5fe83daee390bca80bc17"}, - {file = "numpy-2.1.3-cp313-cp313t-win32.whl", hash = "sha256:08788d27a5fd867a663f6fc753fd7c3ad7e92747efc73c53bca2f19f8bc06f48"}, - {file = "numpy-2.1.3-cp313-cp313t-win_amd64.whl", hash = "sha256:2564fbdf2b99b3f815f2107c1bbc93e2de8ee655a69c261363a1172a79a257d4"}, - {file = "numpy-2.1.3-pp310-pypy310_pp73-macosx_10_15_x86_64.whl", hash = "sha256:4f2015dfe437dfebbfce7c85c7b53d81ba49e71ba7eadbf1df40c915af75979f"}, - {file = "numpy-2.1.3-pp310-pypy310_pp73-macosx_14_0_x86_64.whl", hash = "sha256:3522b0dfe983a575e6a9ab3a4a4dfe156c3e428468ff08ce582b9bb6bd1d71d4"}, - {file = "numpy-2.1.3-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:c006b607a865b07cd981ccb218a04fc86b600411d83d6fc261357f1c0966755d"}, - {file = "numpy-2.1.3-pp310-pypy310_pp73-win_amd64.whl", hash = "sha256:e14e26956e6f1696070788252dcdff11b4aca4c3e8bd166e0df1bb8f315a67cb"}, - {file = "numpy-2.1.3.tar.gz", hash = "sha256:aa08e04e08aaf974d4458def539dece0d28146d866a39da5639596f4921fd761"}, + {file = "numpy-2.2.0-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:1e25507d85da11ff5066269d0bd25d06e0a0f2e908415534f3e603d2a78e4ffa"}, + {file = "numpy-2.2.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:a62eb442011776e4036af5c8b1a00b706c5bc02dc15eb5344b0c750428c94219"}, + {file = "numpy-2.2.0-cp310-cp310-macosx_14_0_arm64.whl", hash = "sha256:b606b1aaf802e6468c2608c65ff7ece53eae1a6874b3765f69b8ceb20c5fa78e"}, + {file = "numpy-2.2.0-cp310-cp310-macosx_14_0_x86_64.whl", hash = "sha256:36b2b43146f646642b425dd2027730f99bac962618ec2052932157e213a040e9"}, + {file = "numpy-2.2.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:7fe8f3583e0607ad4e43a954e35c1748b553bfe9fdac8635c02058023277d1b3"}, + {file = "numpy-2.2.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:122fd2fcfafdefc889c64ad99c228d5a1f9692c3a83f56c292618a59aa60ae83"}, + {file = "numpy-2.2.0-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:3f2f5cddeaa4424a0a118924b988746db6ffa8565e5829b1841a8a3bd73eb59a"}, + {file = "numpy-2.2.0-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:7fe4bb0695fe986a9e4deec3b6857003b4cfe5c5e4aac0b95f6a658c14635e31"}, + {file = "numpy-2.2.0-cp310-cp310-win32.whl", hash = "sha256:b30042fe92dbd79f1ba7f6898fada10bdaad1847c44f2dff9a16147e00a93661"}, + {file = "numpy-2.2.0-cp310-cp310-win_amd64.whl", hash = "sha256:54dc1d6d66f8d37843ed281773c7174f03bf7ad826523f73435deb88ba60d2d4"}, + {file = "numpy-2.2.0-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:9874bc2ff574c40ab7a5cbb7464bf9b045d617e36754a7bc93f933d52bd9ffc6"}, + {file = "numpy-2.2.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:0da8495970f6b101ddd0c38ace92edea30e7e12b9a926b57f5fabb1ecc25bb90"}, + {file = "numpy-2.2.0-cp311-cp311-macosx_14_0_arm64.whl", hash = "sha256:0557eebc699c1c34cccdd8c3778c9294e8196df27d713706895edc6f57d29608"}, + {file = "numpy-2.2.0-cp311-cp311-macosx_14_0_x86_64.whl", hash = "sha256:3579eaeb5e07f3ded59298ce22b65f877a86ba8e9fe701f5576c99bb17c283da"}, + {file = "numpy-2.2.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:40deb10198bbaa531509aad0cd2f9fadb26c8b94070831e2208e7df543562b74"}, + {file = "numpy-2.2.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:c2aed8fcf8abc3020d6a9ccb31dbc9e7d7819c56a348cc88fd44be269b37427e"}, + {file = "numpy-2.2.0-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:a222d764352c773aa5ebde02dd84dba3279c81c6db2e482d62a3fa54e5ece69b"}, + {file = "numpy-2.2.0-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:4e58666988605e251d42c2818c7d3d8991555381be26399303053b58a5bbf30d"}, + {file = "numpy-2.2.0-cp311-cp311-win32.whl", hash = "sha256:4723a50e1523e1de4fccd1b9a6dcea750c2102461e9a02b2ac55ffeae09a4410"}, + {file = "numpy-2.2.0-cp311-cp311-win_amd64.whl", hash = "sha256:16757cf28621e43e252c560d25b15f18a2f11da94fea344bf26c599b9cf54b73"}, + {file = "numpy-2.2.0-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:cff210198bb4cae3f3c100444c5eaa573a823f05c253e7188e1362a5555235b3"}, + {file = "numpy-2.2.0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:58b92a5828bd4d9aa0952492b7de803135038de47343b2aa3cc23f3b71a3dc4e"}, + {file = "numpy-2.2.0-cp312-cp312-macosx_14_0_arm64.whl", hash = "sha256:ebe5e59545401fbb1b24da76f006ab19734ae71e703cdb4a8b347e84a0cece67"}, + {file = "numpy-2.2.0-cp312-cp312-macosx_14_0_x86_64.whl", hash = "sha256:e2b8cd48a9942ed3f85b95ca4105c45758438c7ed28fff1e4ce3e57c3b589d8e"}, + {file = "numpy-2.2.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:57fcc997ffc0bef234b8875a54d4058afa92b0b0c4223fc1f62f24b3b5e86038"}, + {file = "numpy-2.2.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:85ad7d11b309bd132d74397fcf2920933c9d1dc865487128f5c03d580f2c3d03"}, + {file = "numpy-2.2.0-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:cb24cca1968b21355cc6f3da1a20cd1cebd8a023e3c5b09b432444617949085a"}, + {file = "numpy-2.2.0-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:0798b138c291d792f8ea40fe3768610f3c7dd2574389e37c3f26573757c8f7ef"}, + {file = "numpy-2.2.0-cp312-cp312-win32.whl", hash = "sha256:afe8fb968743d40435c3827632fd36c5fbde633b0423da7692e426529b1759b1"}, + {file = "numpy-2.2.0-cp312-cp312-win_amd64.whl", hash = "sha256:3a4199f519e57d517ebd48cb76b36c82da0360781c6a0353e64c0cac30ecaad3"}, + {file = "numpy-2.2.0-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:f8c8b141ef9699ae777c6278b52c706b653bf15d135d302754f6b2e90eb30367"}, + {file = "numpy-2.2.0-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:0f0986e917aca18f7a567b812ef7ca9391288e2acb7a4308aa9d265bd724bdae"}, + {file = "numpy-2.2.0-cp313-cp313-macosx_14_0_arm64.whl", hash = "sha256:1c92113619f7b272838b8d6702a7f8ebe5edea0df48166c47929611d0b4dea69"}, + {file = "numpy-2.2.0-cp313-cp313-macosx_14_0_x86_64.whl", hash = "sha256:5a145e956b374e72ad1dff82779177d4a3c62bc8248f41b80cb5122e68f22d13"}, + {file = "numpy-2.2.0-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:18142b497d70a34b01642b9feabb70156311b326fdddd875a9981f34a369b671"}, + {file = "numpy-2.2.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:a7d41d1612c1a82b64697e894b75db6758d4f21c3ec069d841e60ebe54b5b571"}, + {file = "numpy-2.2.0-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:a98f6f20465e7618c83252c02041517bd2f7ea29be5378f09667a8f654a5918d"}, + {file = "numpy-2.2.0-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:e09d40edfdb4e260cb1567d8ae770ccf3b8b7e9f0d9b5c2a9992696b30ce2742"}, + {file = "numpy-2.2.0-cp313-cp313-win32.whl", hash = "sha256:3905a5fffcc23e597ee4d9fb3fcd209bd658c352657548db7316e810ca80458e"}, + {file = "numpy-2.2.0-cp313-cp313-win_amd64.whl", hash = "sha256:a184288538e6ad699cbe6b24859206e38ce5fba28f3bcfa51c90d0502c1582b2"}, + {file = "numpy-2.2.0-cp313-cp313t-macosx_10_13_x86_64.whl", hash = "sha256:7832f9e8eb00be32f15fdfb9a981d6955ea9adc8574c521d48710171b6c55e95"}, + {file = "numpy-2.2.0-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:f0dd071b95bbca244f4cb7f70b77d2ff3aaaba7fa16dc41f58d14854a6204e6c"}, + {file = "numpy-2.2.0-cp313-cp313t-macosx_14_0_arm64.whl", hash = "sha256:b0b227dcff8cdc3efbce66d4e50891f04d0a387cce282fe1e66199146a6a8fca"}, + {file = "numpy-2.2.0-cp313-cp313t-macosx_14_0_x86_64.whl", hash = "sha256:6ab153263a7c5ccaf6dfe7e53447b74f77789f28ecb278c3b5d49db7ece10d6d"}, + {file = "numpy-2.2.0-cp313-cp313t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:e500aba968a48e9019e42c0c199b7ec0696a97fa69037bea163b55398e390529"}, + {file = "numpy-2.2.0-cp313-cp313t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:440cfb3db4c5029775803794f8638fbdbf71ec702caf32735f53b008e1eaece3"}, + {file = "numpy-2.2.0-cp313-cp313t-musllinux_1_2_aarch64.whl", hash = "sha256:a55dc7a7f0b6198b07ec0cd445fbb98b05234e8b00c5ac4874a63372ba98d4ab"}, + {file = "numpy-2.2.0-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:4bddbaa30d78c86329b26bd6aaaea06b1e47444da99eddac7bf1e2fab717bd72"}, + {file = "numpy-2.2.0-cp313-cp313t-win32.whl", hash = "sha256:30bf971c12e4365153afb31fc73f441d4da157153f3400b82db32d04de1e4066"}, + {file = "numpy-2.2.0-cp313-cp313t-win_amd64.whl", hash = "sha256:d35717333b39d1b6bb8433fa758a55f1081543de527171543a2b710551d40881"}, + {file = "numpy-2.2.0-pp310-pypy310_pp73-macosx_10_15_x86_64.whl", hash = "sha256:e12c6c1ce84628c52d6367863773f7c8c8241be554e8b79686e91a43f1733773"}, + {file = "numpy-2.2.0-pp310-pypy310_pp73-macosx_14_0_x86_64.whl", hash = "sha256:b6207dc8fb3c8cb5668e885cef9ec7f70189bec4e276f0ff70d5aa078d32c88e"}, + {file = "numpy-2.2.0-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:a50aeff71d0f97b6450d33940c7181b08be1441c6c193e678211bff11aa725e7"}, + {file = "numpy-2.2.0-pp310-pypy310_pp73-win_amd64.whl", hash = "sha256:df12a1f99b99f569a7c2ae59aa2d31724e8d835fc7f33e14f4792e3071d11221"}, + {file = "numpy-2.2.0.tar.gz", hash = "sha256:140dd80ff8981a583a60980be1a655068f8adebf7a45a06a6858c873fcdcd4a0"}, ] [[package]] @@ -3372,13 +3372,13 @@ xmp = ["defusedxml"] [[package]] name = "pkginfo" -version = "1.11.2" +version = "1.12.0" description = "Query metadata from sdists / bdists / installed packages." optional = false python-versions = ">=3.8" files = [ - {file = "pkginfo-1.11.2-py3-none-any.whl", hash = "sha256:9ec518eefccd159de7ed45386a6bb4c6ca5fa2cb3bd9b71154fae44f6f1b36a3"}, - {file = "pkginfo-1.11.2.tar.gz", hash = "sha256:c6bc916b8298d159e31f2c216e35ee5b86da7da18874f879798d0a1983537c86"}, + {file = "pkginfo-1.12.0-py3-none-any.whl", hash = "sha256:dcd589c9be4da8973eceffa247733c144812759aa67eaf4bbf97016a02f39088"}, + {file = "pkginfo-1.12.0.tar.gz", hash = "sha256:8ad91a0445a036782b9366ef8b8c2c50291f83a553478ba8580c73d3215700cf"}, ] [package.extras] @@ -3446,13 +3446,13 @@ virtualenv = ">=20.10.0" [[package]] name = "prometheus-client" -version = "0.21.0" +version = "0.21.1" description = "Python client for the Prometheus monitoring system." optional = false python-versions = ">=3.8" files = [ - {file = "prometheus_client-0.21.0-py3-none-any.whl", hash = "sha256:4fa6b4dd0ac16d58bb587c04b1caae65b8c5043e85f778f42f5f632f6af2e166"}, - {file = "prometheus_client-0.21.0.tar.gz", hash = "sha256:96c83c606b71ff2b0a433c98889d275f51ffec6c5e267de37c7a2b5c9aa9233e"}, + {file = "prometheus_client-0.21.1-py3-none-any.whl", hash = "sha256:594b45c410d6f4f8888940fe80b5cc2521b305a1fafe1c58609ef715a001f301"}, + {file = "prometheus_client-0.21.1.tar.gz", hash = "sha256:252505a722ac04b0456be05c05f75f45d760c2911ffc45f2a06bcaed9f3ae3fb"}, ] [package.extras] @@ -4266,29 +4266,29 @@ files = [ [[package]] name = "ruff" -version = "0.8.1" +version = "0.8.2" description = "An extremely fast Python linter and code formatter, written in Rust." optional = false python-versions = ">=3.7" files = [ - {file = "ruff-0.8.1-py3-none-linux_armv6l.whl", hash = "sha256:fae0805bd514066f20309f6742f6ee7904a773eb9e6c17c45d6b1600ca65c9b5"}, - {file = "ruff-0.8.1-py3-none-macosx_10_12_x86_64.whl", hash = "sha256:b8a4f7385c2285c30f34b200ca5511fcc865f17578383db154e098150ce0a087"}, - {file = "ruff-0.8.1-py3-none-macosx_11_0_arm64.whl", hash = "sha256:cd054486da0c53e41e0086e1730eb77d1f698154f910e0cd9e0d64274979a209"}, - {file = "ruff-0.8.1-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:2029b8c22da147c50ae577e621a5bfbc5d1fed75d86af53643d7a7aee1d23871"}, - {file = "ruff-0.8.1-py3-none-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:2666520828dee7dfc7e47ee4ea0d928f40de72056d929a7c5292d95071d881d1"}, - {file = "ruff-0.8.1-py3-none-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:333c57013ef8c97a53892aa56042831c372e0bb1785ab7026187b7abd0135ad5"}, - {file = "ruff-0.8.1-py3-none-manylinux_2_17_ppc64.manylinux2014_ppc64.whl", hash = "sha256:288326162804f34088ac007139488dcb43de590a5ccfec3166396530b58fb89d"}, - {file = "ruff-0.8.1-py3-none-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:b12c39b9448632284561cbf4191aa1b005882acbc81900ffa9f9f471c8ff7e26"}, - {file = "ruff-0.8.1-py3-none-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:364e6674450cbac8e998f7b30639040c99d81dfb5bbc6dfad69bc7a8f916b3d1"}, - {file = "ruff-0.8.1-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:b22346f845fec132aa39cd29acb94451d030c10874408dbf776af3aaeb53284c"}, - {file = "ruff-0.8.1-py3-none-musllinux_1_2_aarch64.whl", hash = "sha256:b2f2f7a7e7648a2bfe6ead4e0a16745db956da0e3a231ad443d2a66a105c04fa"}, - {file = "ruff-0.8.1-py3-none-musllinux_1_2_armv7l.whl", hash = "sha256:adf314fc458374c25c5c4a4a9270c3e8a6a807b1bec018cfa2813d6546215540"}, - {file = "ruff-0.8.1-py3-none-musllinux_1_2_i686.whl", hash = "sha256:a885d68342a231b5ba4d30b8c6e1b1ee3a65cf37e3d29b3c74069cdf1ee1e3c9"}, - {file = "ruff-0.8.1-py3-none-musllinux_1_2_x86_64.whl", hash = "sha256:d2c16e3508c8cc73e96aa5127d0df8913d2290098f776416a4b157657bee44c5"}, - {file = "ruff-0.8.1-py3-none-win32.whl", hash = "sha256:93335cd7c0eaedb44882d75a7acb7df4b77cd7cd0d2255c93b28791716e81790"}, - {file = "ruff-0.8.1-py3-none-win_amd64.whl", hash = "sha256:2954cdbe8dfd8ab359d4a30cd971b589d335a44d444b6ca2cb3d1da21b75e4b6"}, - {file = "ruff-0.8.1-py3-none-win_arm64.whl", hash = "sha256:55873cc1a473e5ac129d15eccb3c008c096b94809d693fc7053f588b67822737"}, - {file = "ruff-0.8.1.tar.gz", hash = "sha256:3583db9a6450364ed5ca3f3b4225958b24f78178908d5c4bc0f46251ccca898f"}, + {file = "ruff-0.8.2-py3-none-linux_armv6l.whl", hash = "sha256:c49ab4da37e7c457105aadfd2725e24305ff9bc908487a9bf8d548c6dad8bb3d"}, + {file = "ruff-0.8.2-py3-none-macosx_10_12_x86_64.whl", hash = "sha256:ec016beb69ac16be416c435828be702ee694c0d722505f9c1f35e1b9c0cc1bf5"}, + {file = "ruff-0.8.2-py3-none-macosx_11_0_arm64.whl", hash = "sha256:f05cdf8d050b30e2ba55c9b09330b51f9f97d36d4673213679b965d25a785f3c"}, + {file = "ruff-0.8.2-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:60f578c11feb1d3d257b2fb043ddb47501ab4816e7e221fbb0077f0d5d4e7b6f"}, + {file = "ruff-0.8.2-py3-none-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:cbd5cf9b0ae8f30eebc7b360171bd50f59ab29d39f06a670b3e4501a36ba5897"}, + {file = "ruff-0.8.2-py3-none-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:b402ddee3d777683de60ff76da801fa7e5e8a71038f57ee53e903afbcefdaa58"}, + {file = "ruff-0.8.2-py3-none-manylinux_2_17_ppc64.manylinux2014_ppc64.whl", hash = "sha256:705832cd7d85605cb7858d8a13d75993c8f3ef1397b0831289109e953d833d29"}, + {file = "ruff-0.8.2-py3-none-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:32096b41aaf7a5cc095fa45b4167b890e4c8d3fd217603f3634c92a541de7248"}, + {file = "ruff-0.8.2-py3-none-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:e769083da9439508833cfc7c23e351e1809e67f47c50248250ce1ac52c21fb93"}, + {file = "ruff-0.8.2-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:5fe716592ae8a376c2673fdfc1f5c0c193a6d0411f90a496863c99cd9e2ae25d"}, + {file = "ruff-0.8.2-py3-none-musllinux_1_2_aarch64.whl", hash = "sha256:81c148825277e737493242b44c5388a300584d73d5774defa9245aaef55448b0"}, + {file = "ruff-0.8.2-py3-none-musllinux_1_2_armv7l.whl", hash = "sha256:d261d7850c8367704874847d95febc698a950bf061c9475d4a8b7689adc4f7fa"}, + {file = "ruff-0.8.2-py3-none-musllinux_1_2_i686.whl", hash = "sha256:1ca4e3a87496dc07d2427b7dd7ffa88a1e597c28dad65ae6433ecb9f2e4f022f"}, + {file = "ruff-0.8.2-py3-none-musllinux_1_2_x86_64.whl", hash = "sha256:729850feed82ef2440aa27946ab39c18cb4a8889c1128a6d589ffa028ddcfc22"}, + {file = "ruff-0.8.2-py3-none-win32.whl", hash = "sha256:ac42caaa0411d6a7d9594363294416e0e48fc1279e1b0e948391695db2b3d5b1"}, + {file = "ruff-0.8.2-py3-none-win_amd64.whl", hash = "sha256:2aae99ec70abf43372612a838d97bfe77d45146254568d94926e8ed5bbb409ea"}, + {file = "ruff-0.8.2-py3-none-win_arm64.whl", hash = "sha256:fb88e2a506b70cfbc2de6fae6681c4f944f7dd5f2fe87233a7233d888bad73e8"}, + {file = "ruff-0.8.2.tar.gz", hash = "sha256:b84f4f414dda8ac7f75075c1fa0b905ac0ff25361f42e6d5da681a465e0f78e5"}, ] [[package]] @@ -4474,13 +4474,13 @@ type = ["importlib-metadata (>=7.0.2)", "jaraco.develop (>=7.21)", "mypy (==1.12 [[package]] name = "six" -version = "1.16.0" +version = "1.17.0" description = "Python 2 and 3 compatibility utilities" optional = false -python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*" +python-versions = "!=3.0.*,!=3.1.*,!=3.2.*,>=2.7" files = [ - {file = "six-1.16.0-py2.py3-none-any.whl", hash = "sha256:8abb2f1d86890a2dfb989f9a77cfcfd3e47c2a354b01111771326f8aa26e0254"}, - {file = "six-1.16.0.tar.gz", hash = "sha256:1e61c37477a1626458e36f7b1d82aa5c9b094fa4802892072e49de9c60c4c926"}, + {file = "six-1.17.0-py2.py3-none-any.whl", hash = "sha256:4721f391ed90541fddacab5acf947aa0d3dc7d27b2e1e8eda2be8970586c3274"}, + {file = "six-1.17.0.tar.gz", hash = "sha256:ff70335d468e7eb6ec65b95b99d3a2836546063f63acc5171de367e834932a81"}, ] [[package]] @@ -4740,13 +4740,13 @@ types-setuptools = "*" [[package]] name = "types-python-dateutil" -version = "2.9.0.20241003" +version = "2.9.0.20241206" description = "Typing stubs for python-dateutil" optional = false python-versions = ">=3.8" files = [ - {file = "types-python-dateutil-2.9.0.20241003.tar.gz", hash = "sha256:58cb85449b2a56d6684e41aeefb4c4280631246a0da1a719bdbe6f3fb0317446"}, - {file = "types_python_dateutil-2.9.0.20241003-py3-none-any.whl", hash = "sha256:250e1d8e80e7bbc3a6c99b907762711d1a1cdd00e978ad39cb5940f6f0a87f3d"}, + {file = "types_python_dateutil-2.9.0.20241206-py3-none-any.whl", hash = "sha256:e248a4bc70a486d3e3ec84d0dc30eec3a5f979d6e7ee4123ae043eedbb987f53"}, + {file = "types_python_dateutil-2.9.0.20241206.tar.gz", hash = "sha256:18f493414c26ffba692a72369fea7a154c502646301ebfe3d56a04b3767284cb"}, ] [[package]] @@ -5047,4 +5047,4 @@ metrics = ["pandas", "pandas"] [metadata] lock-version = "2.0" python-versions = "^3.8" -content-hash = "6d745f512b187236f021aa37a9350d8d330baf2eeddf905ed3116ed7e5b67811" +content-hash = "0c0b4c90836b0ca79844bc9ca1bccd6752f374f6690f3a2d9531ff615212fae1" diff --git a/pyproject.toml b/pyproject.toml index 24fe306293..306157cc5f 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -85,8 +85,8 @@ tqdm = ">=4.62.3" # pandas: picked lowest major version that supports Python 3.8 # pandas 2.2.3 has been released with support for Python 3.13 pandas = [ - { version = ">=2.0.0", python = "<3.13",optional = true }, - { version = ">=2.2.3", python = ">=3.13",optional = true }, + { version = ">=2.0.0", python = "<3.13", optional = true }, + { version = ">=2.2.3", python = ">=3.13", optional = true }, ] opencv-python = ">=4.5.5.64" @@ -94,6 +94,9 @@ opencv-python = ">=4.5.5.64" [tool.poetry.extras] metrics = ["pandas"] +[tool.poetry.group.test.dependencies] +pytest = ">=7.2.2,<9.0.0" + [tool.poetry.group.dev.dependencies] twine = ">=5.1.1,<7.0.0" pytest = ">=7.2.2,<9.0.0" @@ -133,6 +136,8 @@ types-requests = "^2.32.0.20240712" types-tqdm = "^4.66.0.20240417" pandas-stubs = ">=2.0.0.230412" +[tool.poetry.group.build.dependencies] +twine = ">=5.1.1,<7.0.0" [tool.bandit] target = ["test", "supervision"] From 7c5320409cc69f283449632fed533afa000ae0f2 Mon Sep 17 00:00:00 2001 From: Alex Norell Date: Wed, 11 Dec 2024 10:55:04 -0800 Subject: [PATCH 059/420] Change timeouts and bump action versions --- .github/workflows/clear-cache.yml | 5 ++--- .github/workflows/poetry-test.yml | 1 + .github/workflows/publish-docs.yml | 2 +- .github/workflows/publish-test.yml | 2 +- .github/workflows/publish.yml | 2 +- .github/workflows/test-doc.yml | 23 +++++++++++++---------- .github/workflows/test.yml | 9 ++++----- 7 files changed, 23 insertions(+), 21 deletions(-) diff --git a/.github/workflows/clear-cache.yml b/.github/workflows/clear-cache.yml index 386b3d703b..9bef937929 100644 --- a/.github/workflows/clear-cache.yml +++ b/.github/workflows/clear-cache.yml @@ -1,14 +1,13 @@ - name: Clear cache on: schedule: - - cron: '0 0 1 * *' # Run at midnight on the first day of every month + - cron: "0 0 1 * *" # Run at midnight on the first day of every month workflow_dispatch: # Restrict permissions by default permissions: - actions: write # Required for cache management + actions: write # Required for cache management jobs: clear-cache: diff --git a/.github/workflows/poetry-test.yml b/.github/workflows/poetry-test.yml index 07b2aadbfe..139409d591 100644 --- a/.github/workflows/poetry-test.yml +++ b/.github/workflows/poetry-test.yml @@ -12,6 +12,7 @@ on: jobs: poetry-tests: + timeout-minutes: 10 strategy: fail-fast: false matrix: diff --git a/.github/workflows/publish-docs.yml b/.github/workflows/publish-docs.yml index f9a67f46cf..3b658ff886 100644 --- a/.github/workflows/publish-docs.yml +++ b/.github/workflows/publish-docs.yml @@ -22,7 +22,7 @@ permissions: jobs: deploy: runs-on: ubuntu-latest - timeout-minutes: 30 + timeout-minutes: 10 strategy: matrix: python-version: ["3.10"] diff --git a/.github/workflows/publish-test.yml b/.github/workflows/publish-test.yml index 722a899b1f..b28354ec89 100644 --- a/.github/workflows/publish-test.yml +++ b/.github/workflows/publish-test.yml @@ -14,7 +14,7 @@ jobs: build-and-publish-pre-release: runs-on: ubuntu-latest environment: release - timeout-minutes: 15 + timeout-minutes: 10 permissions: id-token: write # Required for PyPI publishing contents: read # Required for checkout diff --git a/.github/workflows/publish.yml b/.github/workflows/publish.yml index c03789b9ab..96d78ac6d5 100644 --- a/.github/workflows/publish.yml +++ b/.github/workflows/publish.yml @@ -12,7 +12,7 @@ jobs: build-and-publish-pre-release: runs-on: ubuntu-latest environment: release - timeout-minutes: 15 + timeout-minutes: 10 permissions: id-token: write # Required for PyPI publishing contents: read # Required for checkout diff --git a/.github/workflows/test-doc.yml b/.github/workflows/test-doc.yml index 3b77721097..109929748a 100644 --- a/.github/workflows/test-doc.yml +++ b/.github/workflows/test-doc.yml @@ -6,29 +6,32 @@ on: # Restrict permissions by default permissions: - contents: read # Required for checkout - checks: write # Required for test reporting + contents: read # Required for checkout + checks: write # Required for test reporting jobs: docs-build-test: runs-on: ubuntu-latest - timeout-minutes: 15 + timeout-minutes: 10 + strategy: + matrix: + python-version: ["3.10"] steps: - - name: 🔄 Checkout code - uses: actions/checkout@8ade135a41bc03ea155e62e844d188df1ea18608 # v4.1.0 + - name: 📥 Checkout the repository + uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 - - name: 🐍 Set up Python - uses: actions/setup-python@b64ffcaf5b410884ad320a9cfac8866006a109aa # v5.0.0 + - name: 🐍 Set up Python ${{ matrix.python-version }} + uses: actions/setup-python@0b93645e9fea7318ecaed2b359559ac225c90a2b # v5.3.0 with: - python-version: '3.10' + python-version: ${{ matrix.python-version }} - name: 📜 Setup Poetry uses: abatilo/actions-poetry@e78f54a89cb052fff327414dd9ff010b5d2b4dbd # v3.0.1 - + - name: 🏗️ Install dependencies run: | python install --group docs - + - name: 🧪 Test Docs Build run: | mkdocs build --verbose diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index e929cc0b6e..c1a1fdae3a 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -12,20 +12,19 @@ permissions: jobs: build-dev-test: runs-on: ubuntu-latest - timeout-minutes: 30 + timeout-minutes: 10 strategy: matrix: python-version: ["3.8", "3.9", "3.10", "3.11", "3.12", "3.13"] fail-fast: false # Continue with other versions if one fails steps: - - name: 🛎️ Checkout - uses: actions/checkout@8ade135a41bc03ea155e62e844d188df1ea18608 # v4.1.0 + - name: 📥 Checkout the repository + uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 - name: 🐍 Set up Python ${{ matrix.python-version }} - uses: actions/setup-python@b64ffcaf5b410884ad320a9cfac8866006a109aa # v5.0.0 + uses: actions/setup-python@0b93645e9fea7318ecaed2b359559ac225c90a2b # v5.3.0 with: python-version: ${{ matrix.python-version }} - check-latest: true - name: 📜 Setup Poetry uses: abatilo/actions-poetry@e78f54a89cb052fff327414dd9ff010b5d2b4dbd # v3.0.1 From c257221fe00e8ffbb6142435e54f75d08cebf7fa Mon Sep 17 00:00:00 2001 From: Alex Norell Date: Wed, 11 Dec 2024 10:57:58 -0800 Subject: [PATCH 060/420] Fix EOF --- .github/dependabot.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/dependabot.yml b/.github/dependabot.yml index 9df71d0fbe..42aa0e9c6c 100644 --- a/.github/dependabot.yml +++ b/.github/dependabot.yml @@ -15,4 +15,4 @@ updates: interval: "weekly" commit-message: prefix: ⬆️ - target-branch: "develop" \ No newline at end of file + target-branch: "develop" From 3d62caf4f3c8e2101d8425bf0be03d5004015570 Mon Sep 17 00:00:00 2001 From: Alex Norell Date: Wed, 11 Dec 2024 11:08:56 -0800 Subject: [PATCH 061/420] Update workflows --- .github/workflows/test-doc.yml | 2 +- .github/workflows/test.yml | 1 + pyproject.toml | 2 +- 3 files changed, 3 insertions(+), 2 deletions(-) diff --git a/.github/workflows/test-doc.yml b/.github/workflows/test-doc.yml index 109929748a..24fd6e8c67 100644 --- a/.github/workflows/test-doc.yml +++ b/.github/workflows/test-doc.yml @@ -30,7 +30,7 @@ jobs: - name: 🏗️ Install dependencies run: | - python install --group docs + poetry install --with=docs - name: 🧪 Test Docs Build run: | diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index c1a1fdae3a..93aca8d178 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -42,3 +42,4 @@ jobs: custom-arguments: "-q" click-to-expand: true report-title: "Test Report" + custom-pytest: "poetry run pytest" diff --git a/pyproject.toml b/pyproject.toml index 306157cc5f..770317bf84 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -121,7 +121,7 @@ mkdocstrings = ">=0.25.2,<0.27.0" mkdocstrings-python = "^1.10.9" mike = "^2.0.0" # For Documentation Development use Python 3.10 or above -# Use Latest mkdocs-jupyter min 0.24.6 for Jupyter Notebook Theme support +# Use Latest mkdocs-jupyter min 0.24.6 for Jupyter Notebook Theme support mkdocs-jupyter = "^0.24.3" mkdocs-git-committers-plugin-2 = "^2.4.1" mkdocs-git-revision-date-localized-plugin = "^1.2.4" From 40340ef8a69ff8b71b3092ae13cf6955c080fbca Mon Sep 17 00:00:00 2001 From: Alex Norell Date: Wed, 11 Dec 2024 11:14:11 -0800 Subject: [PATCH 062/420] Update builds and tests --- .github/workflows/publish-docs.yml | 4 ++-- .github/workflows/test-doc.yml | 2 +- poetry.lock | 34 +++++++++++++++++++++++++++--- pyproject.toml | 2 ++ 4 files changed, 36 insertions(+), 6 deletions(-) diff --git a/.github/workflows/publish-docs.yml b/.github/workflows/publish-docs.yml index 3b658ff886..041ef34e5f 100644 --- a/.github/workflows/publish-docs.yml +++ b/.github/workflows/publish-docs.yml @@ -50,10 +50,10 @@ jobs: - name: 🚀 Deploy Development Docs if: github.event_name == 'push' && github.ref == 'refs/heads/develop' run: | - MKDOCS_GIT_COMMITTERS_APIKEY=${{ secrets.GITHUB_TOKEN }} mike deploy --push --update-aliases develop + MKDOCS_GIT_COMMITTERS_APIKEY=${{ secrets.GITHUB_TOKEN }} poetry run mike deploy --push develop - name: 🚀 Deploy Release Docs if: github.event_name == 'release' && github.event.action == 'published' run: | latest_tag=$(git describe --tags `git rev-list --tags --max-count=1`) - MKDOCS_GIT_COMMITTERS_APIKEY=${{ secrets.GITHUB_TOKEN }} mike deploy --push --update-aliases $latest_tag latest + MKDOCS_GIT_COMMITTERS_APIKEY=${{ secrets.GITHUB_TOKEN }} poetry run mike deploy --push --update-aliases $latest_tag latest diff --git a/.github/workflows/test-doc.yml b/.github/workflows/test-doc.yml index 24fd6e8c67..5071966270 100644 --- a/.github/workflows/test-doc.yml +++ b/.github/workflows/test-doc.yml @@ -34,4 +34,4 @@ jobs: - name: 🧪 Test Docs Build run: | - mkdocs build --verbose + poetry run mkdocs build --verbose diff --git a/poetry.lock b/poetry.lock index 551e9931e1..ac6f913e12 100644 --- a/poetry.lock +++ b/poetry.lock @@ -1,4 +1,4 @@ -# This file is automatically @generated by Poetry 1.8.5 and should not be changed by hand. +# This file is automatically @generated by Poetry 1.8.3 and should not be changed by hand. [[package]] name = "anyio" @@ -1762,7 +1762,7 @@ files = [ [package.dependencies] async-lru = ">=1.0.0" -httpx = ">=0.28.0,<0.29.0" +httpx = ">=0.25.0" importlib-metadata = {version = ">=4.8.3", markers = "python_version < \"3.10\""} importlib-resources = {version = ">=1.4", markers = "python_version < \"3.9\""} ipykernel = ">=6.5.0" @@ -3636,6 +3636,34 @@ tomli = {version = ">=1", markers = "python_version < \"3.11\""} [package.extras] dev = ["argcomplete", "attrs (>=19.2)", "hypothesis (>=3.56)", "mock", "pygments (>=2.7.2)", "requests", "setuptools", "xmlschema"] +[[package]] +name = "pytest-emoji" +version = "0.2.0" +description = "A pytest plugin that adds emojis to your test result report" +optional = false +python-versions = ">=3.4" +files = [ + {file = "pytest-emoji-0.2.0.tar.gz", hash = "sha256:e1bd4790d87649c2d09c272c88bdfc4d37c1cc7c7a46583087d7c510944571e8"}, + {file = "pytest_emoji-0.2.0-py3-none-any.whl", hash = "sha256:6e34ed21970fa4b80a56ad11417456bd873eb066c02315fe9df0fafe6d4d4436"}, +] + +[package.dependencies] +pytest = ">=4.2.1" + +[[package]] +name = "pytest-md" +version = "0.2.0" +description = "Plugin for generating Markdown reports for pytest results" +optional = false +python-versions = ">=3.6" +files = [ + {file = "pytest-md-0.2.0.tar.gz", hash = "sha256:3b248d5b360ea5198e05b4f49c7442234812809a63137ec6cdd3643a40cf0112"}, + {file = "pytest_md-0.2.0-py3-none-any.whl", hash = "sha256:4c4cd16fea6d1485e87ee254558712c804a96d2aa9674b780e7eb8fb6526e1d1"}, +] + +[package.dependencies] +pytest = ">=4.2.1" + [[package]] name = "python-dateutil" version = "2.9.0.post0" @@ -5047,4 +5075,4 @@ metrics = ["pandas", "pandas"] [metadata] lock-version = "2.0" python-versions = "^3.8" -content-hash = "0c0b4c90836b0ca79844bc9ca1bccd6752f374f6690f3a2d9531ff615212fae1" +content-hash = "621eea8ec013d7be2bb4b7d7093f81e57b74b6e668379de34488e34bcd88ab87" diff --git a/pyproject.toml b/pyproject.toml index 770317bf84..f5106d33c3 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -96,6 +96,8 @@ metrics = ["pandas"] [tool.poetry.group.test.dependencies] pytest = ">=7.2.2,<9.0.0" +pytest-md = "^0.2.0" +pytest-emoji = "^0.2.0" [tool.poetry.group.dev.dependencies] twine = ">=5.1.1,<7.0.0" From 517b25f27f1f59d539c8cf784eef387ea52a60ce Mon Sep 17 00:00:00 2001 From: Alex Norell Date: Wed, 11 Dec 2024 11:16:51 -0800 Subject: [PATCH 063/420] Run tests on all platforms --- .github/workflows/test.yml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index 93aca8d178..52ac6888ec 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -11,12 +11,13 @@ permissions: jobs: build-dev-test: - runs-on: ubuntu-latest timeout-minutes: 10 strategy: matrix: + os: [ubuntu-latest, windows-latest, macos-latest] python-version: ["3.8", "3.9", "3.10", "3.11", "3.12", "3.13"] fail-fast: false # Continue with other versions if one fails + runs-on: ${{ matrix.os }} steps: - name: 📥 Checkout the repository uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 From c9ea75e3cae1a668cdc10e16f41a6646122b6b77 Mon Sep 17 00:00:00 2001 From: Alex Norell Date: Wed, 11 Dec 2024 11:27:39 -0800 Subject: [PATCH 064/420] Add workflow job names --- .github/workflows/clear-cache.yml | 1 + .github/workflows/combine-dependabot-prs.yml | 2 +- .github/workflows/poetry-test.yml | 1 + .github/workflows/publish-docs.yml | 3 ++- .github/workflows/publish-test.yml | 1 + .github/workflows/publish.yml | 1 + .github/workflows/test-doc.yml | 1 + .github/workflows/test.yml | 3 ++- 8 files changed, 10 insertions(+), 3 deletions(-) diff --git a/.github/workflows/clear-cache.yml b/.github/workflows/clear-cache.yml index 9bef937929..a9cf4544fe 100644 --- a/.github/workflows/clear-cache.yml +++ b/.github/workflows/clear-cache.yml @@ -11,6 +11,7 @@ permissions: jobs: clear-cache: + name: Clear cache runs-on: ubuntu-latest timeout-minutes: 10 steps: diff --git a/.github/workflows/combine-dependabot-prs.yml b/.github/workflows/combine-dependabot-prs.yml index d6ed8a0308..803f2e1c1d 100644 --- a/.github/workflows/combine-dependabot-prs.yml +++ b/.github/workflows/combine-dependabot-prs.yml @@ -12,8 +12,8 @@ permissions: jobs: combine-prs: + name: Combine runs-on: ubuntu-latest - steps: - name: combine-prs id: combine-prs diff --git a/.github/workflows/poetry-test.yml b/.github/workflows/poetry-test.yml index 139409d591..e8570d41ad 100644 --- a/.github/workflows/poetry-test.yml +++ b/.github/workflows/poetry-test.yml @@ -12,6 +12,7 @@ on: jobs: poetry-tests: + name: Poetry install and check timeout-minutes: 10 strategy: fail-fast: false diff --git a/.github/workflows/publish-docs.yml b/.github/workflows/publish-docs.yml index 041ef34e5f..e57063a9e8 100644 --- a/.github/workflows/publish-docs.yml +++ b/.github/workflows/publish-docs.yml @@ -21,6 +21,7 @@ permissions: jobs: deploy: + name: Publish Docs runs-on: ubuntu-latest timeout-minutes: 10 strategy: @@ -48,7 +49,7 @@ jobs: git config --global user.email "41898282+github-actions[bot]@users.noreply.github.com" - name: 🚀 Deploy Development Docs - if: github.event_name == 'push' && github.ref == 'refs/heads/develop' + if: (github.event_name == 'push' && github.ref == 'refs/heads/develop') || github.event_name == 'workflow_dispatch') run: | MKDOCS_GIT_COMMITTERS_APIKEY=${{ secrets.GITHUB_TOKEN }} poetry run mike deploy --push develop diff --git a/.github/workflows/publish-test.yml b/.github/workflows/publish-test.yml index b28354ec89..4b969a2102 100644 --- a/.github/workflows/publish-test.yml +++ b/.github/workflows/publish-test.yml @@ -12,6 +12,7 @@ permissions: {} # Explicitly remove all permissions by default jobs: build-and-publish-pre-release: + name: Publish Pre-releasePackage runs-on: ubuntu-latest environment: release timeout-minutes: 10 diff --git a/.github/workflows/publish.yml b/.github/workflows/publish.yml index 96d78ac6d5..ebc2ff2287 100644 --- a/.github/workflows/publish.yml +++ b/.github/workflows/publish.yml @@ -10,6 +10,7 @@ permissions: {} # Explicitly remove all permissions by default jobs: build-and-publish-pre-release: + name: Publish Release Package runs-on: ubuntu-latest environment: release timeout-minutes: 10 diff --git a/.github/workflows/test-doc.yml b/.github/workflows/test-doc.yml index 5071966270..6d12dd9f4f 100644 --- a/.github/workflows/test-doc.yml +++ b/.github/workflows/test-doc.yml @@ -11,6 +11,7 @@ permissions: jobs: docs-build-test: + name: Test docs build runs-on: ubuntu-latest timeout-minutes: 10 strategy: diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index 52ac6888ec..a5167958c6 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -10,7 +10,8 @@ permissions: pull-requests: write # Required for PR comments jobs: - build-dev-test: + pytest: + name: PyTest timeout-minutes: 10 strategy: matrix: From 47c98173eaff1ab3abdb98e8dcd8a2f78dfa75b5 Mon Sep 17 00:00:00 2001 From: Sachin Agarwal Date: Mon, 9 Dec 2024 08:56:51 -0500 Subject: [PATCH 065/420] Added codeowners --- .github/CODEOWNERS | 6 ++++++ 1 file changed, 6 insertions(+) create mode 100644 .github/CODEOWNERS diff --git a/.github/CODEOWNERS b/.github/CODEOWNERS new file mode 100644 index 0000000000..b43a590734 --- /dev/null +++ b/.github/CODEOWNERS @@ -0,0 +1,6 @@ +# These owners will be the default owners for everything in +# the repo. They will be requested for review when someone +# opens a pull request. +* @SkalskiP @LinasKo @onuralpszr + + From 06f678e5d2d0e9a28aeafa29ebc84af18e3c39d4 Mon Sep 17 00:00:00 2001 From: "pre-commit-ci[bot]" <66853113+pre-commit-ci[bot]@users.noreply.github.com> Date: Thu, 12 Dec 2024 16:48:58 +0000 Subject: [PATCH 066/420] =?UTF-8?q?fix(pre=5Fcommit):=20=F0=9F=8E=A8=20aut?= =?UTF-8?q?o=20format=20pre-commit=20hooks?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .github/CODEOWNERS | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/.github/CODEOWNERS b/.github/CODEOWNERS index b43a590734..b5d52a996e 100644 --- a/.github/CODEOWNERS +++ b/.github/CODEOWNERS @@ -1,6 +1,4 @@ # These owners will be the default owners for everything in -# the repo. They will be requested for review when someone +# the repo. They will be requested for review when someone # opens a pull request. * @SkalskiP @LinasKo @onuralpszr - - From e6f29a45a374b1f10e85154a0ab4b5f86ab267cf Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Fri, 13 Dec 2024 00:28:00 +0000 Subject: [PATCH 067/420] :arrow_up: Bump ruff from 0.8.2 to 0.8.3 Bumps [ruff](https://github.com/astral-sh/ruff) from 0.8.2 to 0.8.3. - [Release notes](https://github.com/astral-sh/ruff/releases) - [Changelog](https://github.com/astral-sh/ruff/blob/main/CHANGELOG.md) - [Commits](https://github.com/astral-sh/ruff/compare/0.8.2...0.8.3) --- updated-dependencies: - dependency-name: ruff dependency-type: direct:development update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] --- poetry.lock | 60 ++++++++++++++++++----------------------------------- 1 file changed, 20 insertions(+), 40 deletions(-) diff --git a/poetry.lock b/poetry.lock index 16eb091740..f9ab7fe07a 100644 --- a/poetry.lock +++ b/poetry.lock @@ -2962,34 +2962,14 @@ files = [ {file = "opencv_python-4.8.1.78-cp37-abi3-win_amd64.whl", hash = "sha256:b983197f97cfa6fcb74e1da1802c7497a6f94ed561aba6980f1f33123f904956"}, ] -[package.dependencies] -numpy = {version = ">=1.23.5", markers = "python_version >= \"3.11\""} - -[[package]] -name = "opencv-python" -version = "4.10.0.84" -description = "Wrapper package for OpenCV python bindings." -optional = false -python-versions = ">=3.6" -files = [ - {file = "opencv-python-4.10.0.84.tar.gz", hash = "sha256:72d234e4582e9658ffea8e9cae5b63d488ad06994ef12d81dc303b17472f3526"}, - {file = "opencv_python-4.10.0.84-cp37-abi3-macosx_11_0_arm64.whl", hash = "sha256:fc182f8f4cda51b45f01c64e4cbedfc2f00aff799debebc305d8d0210c43f251"}, - {file = "opencv_python-4.10.0.84-cp37-abi3-macosx_12_0_x86_64.whl", hash = "sha256:71e575744f1d23f79741450254660442785f45a0797212852ee5199ef12eed98"}, - {file = "opencv_python-4.10.0.84-cp37-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:09a332b50488e2dda866a6c5573ee192fe3583239fb26ff2f7f9ceb0bc119ea6"}, - {file = "opencv_python-4.10.0.84-cp37-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:9ace140fc6d647fbe1c692bcb2abce768973491222c067c131d80957c595b71f"}, - {file = "opencv_python-4.10.0.84-cp37-abi3-win32.whl", hash = "sha256:2db02bb7e50b703f0a2d50c50ced72e95c574e1e5a0bb35a8a86d0b35c98c236"}, - {file = "opencv_python-4.10.0.84-cp37-abi3-win_amd64.whl", hash = "sha256:32dbbd94c26f611dc5cc6979e6b7aa1f55a64d6b463cc1dcd3c95505a63e48fe"}, -] - [package.dependencies] numpy = [ {version = ">=1.21.0", markers = "python_version <= \"3.9\" and platform_system == \"Darwin\" and platform_machine == \"arm64\" and python_version >= \"3.8\""}, {version = ">=1.19.3", markers = "platform_system == \"Linux\" and platform_machine == \"aarch64\" and python_version >= \"3.8\" and python_version < \"3.10\" or python_version > \"3.9\" and python_version < \"3.10\" or python_version >= \"3.9\" and platform_system != \"Darwin\" and python_version < \"3.10\" or python_version >= \"3.9\" and platform_machine != \"arm64\" and python_version < \"3.10\""}, {version = ">=1.17.3", markers = "(platform_system != \"Darwin\" and platform_system != \"Linux\") and python_version >= \"3.8\" and python_version < \"3.9\" or platform_system != \"Darwin\" and python_version >= \"3.8\" and python_version < \"3.9\" and platform_machine != \"aarch64\" or platform_machine != \"arm64\" and python_version >= \"3.8\" and python_version < \"3.9\" and platform_system != \"Linux\" or (platform_machine != \"arm64\" and platform_machine != \"aarch64\") and python_version >= \"3.8\" and python_version < \"3.9\""}, - {version = ">=1.23.5", markers = "python_version >= \"3.11\" and python_version < \"3.12\""}, + {version = ">=1.23.5", markers = "python_version >= \"3.11\""}, {version = ">=1.21.4", markers = "python_version >= \"3.10\" and platform_system == \"Darwin\" and python_version < \"3.11\""}, {version = ">=1.21.2", markers = "platform_system != \"Darwin\" and python_version >= \"3.10\" and python_version < \"3.11\""}, - {version = ">=1.26.0", markers = "python_version >= \"3.12\""}, ] [[package]] @@ -4266,29 +4246,29 @@ files = [ [[package]] name = "ruff" -version = "0.8.2" +version = "0.8.3" description = "An extremely fast Python linter and code formatter, written in Rust." optional = false python-versions = ">=3.7" files = [ - {file = "ruff-0.8.2-py3-none-linux_armv6l.whl", hash = "sha256:c49ab4da37e7c457105aadfd2725e24305ff9bc908487a9bf8d548c6dad8bb3d"}, - {file = "ruff-0.8.2-py3-none-macosx_10_12_x86_64.whl", hash = "sha256:ec016beb69ac16be416c435828be702ee694c0d722505f9c1f35e1b9c0cc1bf5"}, - {file = "ruff-0.8.2-py3-none-macosx_11_0_arm64.whl", hash = "sha256:f05cdf8d050b30e2ba55c9b09330b51f9f97d36d4673213679b965d25a785f3c"}, - {file = "ruff-0.8.2-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:60f578c11feb1d3d257b2fb043ddb47501ab4816e7e221fbb0077f0d5d4e7b6f"}, - {file = "ruff-0.8.2-py3-none-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:cbd5cf9b0ae8f30eebc7b360171bd50f59ab29d39f06a670b3e4501a36ba5897"}, - {file = "ruff-0.8.2-py3-none-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:b402ddee3d777683de60ff76da801fa7e5e8a71038f57ee53e903afbcefdaa58"}, - {file = "ruff-0.8.2-py3-none-manylinux_2_17_ppc64.manylinux2014_ppc64.whl", hash = "sha256:705832cd7d85605cb7858d8a13d75993c8f3ef1397b0831289109e953d833d29"}, - {file = "ruff-0.8.2-py3-none-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:32096b41aaf7a5cc095fa45b4167b890e4c8d3fd217603f3634c92a541de7248"}, - {file = "ruff-0.8.2-py3-none-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:e769083da9439508833cfc7c23e351e1809e67f47c50248250ce1ac52c21fb93"}, - {file = "ruff-0.8.2-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:5fe716592ae8a376c2673fdfc1f5c0c193a6d0411f90a496863c99cd9e2ae25d"}, - {file = "ruff-0.8.2-py3-none-musllinux_1_2_aarch64.whl", hash = "sha256:81c148825277e737493242b44c5388a300584d73d5774defa9245aaef55448b0"}, - {file = "ruff-0.8.2-py3-none-musllinux_1_2_armv7l.whl", hash = "sha256:d261d7850c8367704874847d95febc698a950bf061c9475d4a8b7689adc4f7fa"}, - {file = "ruff-0.8.2-py3-none-musllinux_1_2_i686.whl", hash = "sha256:1ca4e3a87496dc07d2427b7dd7ffa88a1e597c28dad65ae6433ecb9f2e4f022f"}, - {file = "ruff-0.8.2-py3-none-musllinux_1_2_x86_64.whl", hash = "sha256:729850feed82ef2440aa27946ab39c18cb4a8889c1128a6d589ffa028ddcfc22"}, - {file = "ruff-0.8.2-py3-none-win32.whl", hash = "sha256:ac42caaa0411d6a7d9594363294416e0e48fc1279e1b0e948391695db2b3d5b1"}, - {file = "ruff-0.8.2-py3-none-win_amd64.whl", hash = "sha256:2aae99ec70abf43372612a838d97bfe77d45146254568d94926e8ed5bbb409ea"}, - {file = "ruff-0.8.2-py3-none-win_arm64.whl", hash = "sha256:fb88e2a506b70cfbc2de6fae6681c4f944f7dd5f2fe87233a7233d888bad73e8"}, - {file = "ruff-0.8.2.tar.gz", hash = "sha256:b84f4f414dda8ac7f75075c1fa0b905ac0ff25361f42e6d5da681a465e0f78e5"}, + {file = "ruff-0.8.3-py3-none-linux_armv6l.whl", hash = "sha256:8d5d273ffffff0acd3db5bf626d4b131aa5a5ada1276126231c4174543ce20d6"}, + {file = "ruff-0.8.3-py3-none-macosx_10_12_x86_64.whl", hash = "sha256:e4d66a21de39f15c9757d00c50c8cdd20ac84f55684ca56def7891a025d7e939"}, + {file = "ruff-0.8.3-py3-none-macosx_11_0_arm64.whl", hash = "sha256:c356e770811858bd20832af696ff6c7e884701115094f427b64b25093d6d932d"}, + {file = "ruff-0.8.3-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:9c0a60a825e3e177116c84009d5ebaa90cf40dfab56e1358d1df4e29a9a14b13"}, + {file = "ruff-0.8.3-py3-none-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:75fb782f4db39501210ac093c79c3de581d306624575eddd7e4e13747e61ba18"}, + {file = "ruff-0.8.3-py3-none-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:7f26bc76a133ecb09a38b7868737eded6941b70a6d34ef53a4027e83913b6502"}, + {file = "ruff-0.8.3-py3-none-manylinux_2_17_ppc64.manylinux2014_ppc64.whl", hash = "sha256:01b14b2f72a37390c1b13477c1c02d53184f728be2f3ffc3ace5b44e9e87b90d"}, + {file = "ruff-0.8.3-py3-none-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:53babd6e63e31f4e96ec95ea0d962298f9f0d9cc5990a1bbb023a6baf2503a82"}, + {file = "ruff-0.8.3-py3-none-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:1ae441ce4cf925b7f363d33cd6570c51435972d697e3e58928973994e56e1452"}, + {file = "ruff-0.8.3-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:d7c65bc0cadce32255e93c57d57ecc2cca23149edd52714c0c5d6fa11ec328cd"}, + {file = "ruff-0.8.3-py3-none-musllinux_1_2_aarch64.whl", hash = "sha256:5be450bb18f23f0edc5a4e5585c17a56ba88920d598f04a06bd9fd76d324cb20"}, + {file = "ruff-0.8.3-py3-none-musllinux_1_2_armv7l.whl", hash = "sha256:8faeae3827eaa77f5721f09b9472a18c749139c891dbc17f45e72d8f2ca1f8fc"}, + {file = "ruff-0.8.3-py3-none-musllinux_1_2_i686.whl", hash = "sha256:db503486e1cf074b9808403991663e4277f5c664d3fe237ee0d994d1305bb060"}, + {file = "ruff-0.8.3-py3-none-musllinux_1_2_x86_64.whl", hash = "sha256:6567be9fb62fbd7a099209257fef4ad2c3153b60579818b31a23c886ed4147ea"}, + {file = "ruff-0.8.3-py3-none-win32.whl", hash = "sha256:19048f2f878f3ee4583fc6cb23fb636e48c2635e30fb2022b3a1cd293402f964"}, + {file = "ruff-0.8.3-py3-none-win_amd64.whl", hash = "sha256:f7df94f57d7418fa7c3ffb650757e0c2b96cf2501a0b192c18e4fb5571dfada9"}, + {file = "ruff-0.8.3-py3-none-win_arm64.whl", hash = "sha256:fe2756edf68ea79707c8d68b78ca9a58ed9af22e430430491ee03e718b5e4936"}, + {file = "ruff-0.8.3.tar.gz", hash = "sha256:5e7558304353b84279042fc584a4f4cb8a07ae79b2bf3da1a7551d960b5626d3"}, ] [[package]] From b6a6746f8b4c29fc787a36ad32b81bdd8713e25a Mon Sep 17 00:00:00 2001 From: LinasKo Date: Fri, 13 Dec 2024 12:13:39 +0200 Subject: [PATCH 068/420] Disable kapa until we test its functionality --- mkdocs.yml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/mkdocs.yml b/mkdocs.yml index 421018248b..81560e7b74 100644 --- a/mkdocs.yml +++ b/mkdocs.yml @@ -178,7 +178,8 @@ markdown_extensions: anchor_linenums: true extra_javascript: - - "javascripts/init_kapa_widget.js" + # disabled until 0.27.0, so we can test its functionality + # - "javascripts/init_kapa_widget.js" - "javascripts/cookbooks-card.js" - "https://cdnjs.cloudflare.com/ajax/libs/dompurify/3.0.8/purify.min.js" From 9975b632167aaf48cce4d0f148e6ddecf1020695 Mon Sep 17 00:00:00 2001 From: LinasKo Date: Fri, 13 Dec 2024 12:22:45 +0200 Subject: [PATCH 069/420] Enable kapa for 0.27.0 --- mkdocs.yml | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/mkdocs.yml b/mkdocs.yml index 81560e7b74..421018248b 100644 --- a/mkdocs.yml +++ b/mkdocs.yml @@ -178,8 +178,7 @@ markdown_extensions: anchor_linenums: true extra_javascript: - # disabled until 0.27.0, so we can test its functionality - # - "javascripts/init_kapa_widget.js" + - "javascripts/init_kapa_widget.js" - "javascripts/cookbooks-card.js" - "https://cdnjs.cloudflare.com/ajax/libs/dompurify/3.0.8/purify.min.js" From eb3b1721396a5a95d982ffc2fc337b770dc6d73f Mon Sep 17 00:00:00 2001 From: Onuralp SEZER Date: Fri, 13 Dec 2024 15:44:11 +0300 Subject: [PATCH 070/420] =?UTF-8?q?feat:=20=E2=9C=A8=20poetry=20lock=20fil?= =?UTF-8?q?e=20correction?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Onuralp SEZER --- poetry.lock | 234 +++++++++++++++++++++++++++++----------------------- 1 file changed, 130 insertions(+), 104 deletions(-) diff --git a/poetry.lock b/poetry.lock index f9ab7fe07a..d7a703bee9 100644 --- a/poetry.lock +++ b/poetry.lock @@ -1038,61 +1038,61 @@ typing = ["typing-extensions (>=4.12.2)"] [[package]] name = "fonttools" -version = "4.55.2" +version = "4.55.3" description = "Tools to manipulate font files" optional = false python-versions = ">=3.8" files = [ - {file = "fonttools-4.55.2-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:bef0f8603834643b1a6419d57902f18e7d950ec1a998fb70410635c598dc1a1e"}, - {file = "fonttools-4.55.2-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:944228b86d472612d3b48bcc83b31c25c2271e63fdc74539adfcfa7a96d487fb"}, - {file = "fonttools-4.55.2-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:9f0e55f5da594b85f269cfbecd2f6bd3e07d0abba68870bc3f34854de4fa4678"}, - {file = "fonttools-4.55.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:5b1a6e576db0c83c1b91925bf1363478c4bb968dbe8433147332fb5782ce6190"}, - {file = "fonttools-4.55.2-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:616368b15716781bc84df5c2191dc0540137aaef56c2771eb4b89b90933f347a"}, - {file = "fonttools-4.55.2-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:7bbae4f3915225c2c37670da68e2bf18a21206060ad31dfb95fec91ef641caa7"}, - {file = "fonttools-4.55.2-cp310-cp310-win32.whl", hash = "sha256:8b02b10648d69d67a7eb055f4d3eedf4a85deb22fb7a19fbd9acbae7c7538199"}, - {file = "fonttools-4.55.2-cp310-cp310-win_amd64.whl", hash = "sha256:bbea0ab841113ac8e8edde067e099b7288ffc6ac2dded538b131c2c0595d5f77"}, - {file = "fonttools-4.55.2-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:d34525e8141286fa976e14806639d32294bfb38d28bbdb5f6be9f46a1cd695a6"}, - {file = "fonttools-4.55.2-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:0ecd1c2b1c2ec46bb73685bc5473c72e16ed0930ef79bc2919ccadc43a99fb16"}, - {file = "fonttools-4.55.2-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:9008438ad59e5a8e403a62fbefef2b2ff377eb3857d90a3f2a5f4d674ff441b2"}, - {file = "fonttools-4.55.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:131591ac8d7a47043aaf29581aba755ae151d46e49d2bf49608601efd71e8b4d"}, - {file = "fonttools-4.55.2-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:4c83381c3e3e3d9caa25527c4300543578341f21aae89e4fbbb4debdda8d82a2"}, - {file = "fonttools-4.55.2-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:42aca564b575252fd9954ed0d91d97a24de24289a16ce8ff74ed0bdf5ecebf11"}, - {file = "fonttools-4.55.2-cp311-cp311-win32.whl", hash = "sha256:c6457f650ebe15baa17fc06e256227f0a47f46f80f27ec5a0b00160de8dc2c13"}, - {file = "fonttools-4.55.2-cp311-cp311-win_amd64.whl", hash = "sha256:5cfa67414d7414442a5635ff634384101c54f53bb7b0e04aa6a61b013fcce194"}, - {file = "fonttools-4.55.2-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:18f082445b8fe5e91c53e6184f4c1c73f3f965c8bcc614c6cd6effd573ce6c1a"}, - {file = "fonttools-4.55.2-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:27c0f91adbbd706e8acd1db73e3e510118e62d0ffb651864567dccc5b2339f90"}, - {file = "fonttools-4.55.2-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:3d8ccce035320d63dba0c35f52499322f5531dbe85bba1514c7cea26297e4c54"}, - {file = "fonttools-4.55.2-cp312-cp312-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:96e126df9615df214ec7f04bebcf60076297fbc10b75c777ce58b702d7708ffb"}, - {file = "fonttools-4.55.2-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:508ebb42956a7a931c4092dfa2d9b4ffd4f94cea09b8211199090d2bd082506b"}, - {file = "fonttools-4.55.2-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:c1b9de46ef7b683d50400abf9f1578eaceee271ff51c36bf4b7366f2be29f498"}, - {file = "fonttools-4.55.2-cp312-cp312-win32.whl", hash = "sha256:2df61d9fc15199cc86dad29f64dd686874a3a52dda0c2d8597d21f509f95c332"}, - {file = "fonttools-4.55.2-cp312-cp312-win_amd64.whl", hash = "sha256:d337ec087da8216a828574aa0525d869df0a2ac217a2efc1890974ddd1fbc5b9"}, - {file = "fonttools-4.55.2-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:10aff204e2edee1d312fa595c06f201adf8d528a3b659cfb34cd47eceaaa6a26"}, - {file = "fonttools-4.55.2-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:09fe922a3eff181fd07dd724cdb441fb6b9fc355fd1c0f1aa79aca60faf1fbdd"}, - {file = "fonttools-4.55.2-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:487e1e8b524143a799bda0169c48b44a23a6027c1bb1957d5a172a7d3a1dd704"}, - {file = "fonttools-4.55.2-cp313-cp313-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:9b1726872e09268bbedb14dc02e58b7ea31ecdd1204c6073eda4911746b44797"}, - {file = "fonttools-4.55.2-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:6fc88cfb58b0cd7b48718c3e61dd0d0a3ee8e2c86b973342967ce09fbf1db6d4"}, - {file = "fonttools-4.55.2-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:e857fe1859901ad8c5cab32e0eebc920adb09f413d2d73b74b677cf47b28590c"}, - {file = "fonttools-4.55.2-cp313-cp313-win32.whl", hash = "sha256:81ccd2b3a420b8050c7d9db3be0555d71662973b3ef2a1d921a2880b58957db8"}, - {file = "fonttools-4.55.2-cp313-cp313-win_amd64.whl", hash = "sha256:d559eb1744c7dcfa90ae60cb1a4b3595e898e48f4198738c321468c01180cd83"}, - {file = "fonttools-4.55.2-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:6b5917ef79cac8300b88fd6113003fd01bbbbea2ea060a27b95d8f77cb4c65c2"}, - {file = "fonttools-4.55.2-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:663eba5615d6abaaf616432354eb7ce951d518e43404371bcc2b0694ef21e8d6"}, - {file = "fonttools-4.55.2-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:803d5cef5fc47f44f5084d154aa3d6f069bb1b60e32390c225f897fa19b0f939"}, - {file = "fonttools-4.55.2-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:8bc5f100de0173cc39102c0399bd6c3bd544bbdf224957933f10ee442d43cddd"}, - {file = "fonttools-4.55.2-cp38-cp38-musllinux_1_2_aarch64.whl", hash = "sha256:3d9bbc1e380fdaf04ad9eabd8e3e6a4301eaf3487940893e9fd98537ea2e283b"}, - {file = "fonttools-4.55.2-cp38-cp38-musllinux_1_2_x86_64.whl", hash = "sha256:42a9afedff07b6f75aa0f39b5e49922ac764580ef3efce035ca30284b2ee65c8"}, - {file = "fonttools-4.55.2-cp38-cp38-win32.whl", hash = "sha256:f1c76f423f1a241df08f87614364dff6e0b7ce23c962c1b74bd995ec7c0dad13"}, - {file = "fonttools-4.55.2-cp38-cp38-win_amd64.whl", hash = "sha256:25062b6ca03464dd5179fc2040fb19e03391b7cc49b9cc4f879312e638605c5c"}, - {file = "fonttools-4.55.2-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:d1100d8e665fe386a79cab59446992de881ea74d0d6c191bb988642692aa2421"}, - {file = "fonttools-4.55.2-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:dbdc251c5e472e5ae6bc816f9b82718b8e93ff7992e7331d6cf3562b96aa268e"}, - {file = "fonttools-4.55.2-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d0bf24d2b02dbc9376d795a63062632ff73e3e9e60c0229373f500aed7e86dd7"}, - {file = "fonttools-4.55.2-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:d4ff250ed4ff05015dfd9cf2adf7570c7a383ca80f4d9732ac484a5ed0d8453c"}, - {file = "fonttools-4.55.2-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:44cf2a98aa661dbdeb8c03f5e405b074e2935196780bb729888639f5276067d9"}, - {file = "fonttools-4.55.2-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:22ef222740eb89d189bf0612eb98fbae592c61d7efeac51bfbc2a1592d469557"}, - {file = "fonttools-4.55.2-cp39-cp39-win32.whl", hash = "sha256:93f439ca27e55f585e7aaa04a74990acd983b5f2245e41d6b79f0a8b44e684d8"}, - {file = "fonttools-4.55.2-cp39-cp39-win_amd64.whl", hash = "sha256:627cf10d6f5af5bec6324c18a2670f134c29e1b7dce3fb62e8ef88baa6cba7a9"}, - {file = "fonttools-4.55.2-py3-none-any.whl", hash = "sha256:8e2d89fbe9b08d96e22c7a81ec04a4e8d8439c31223e2dc6f2f9fc8ff14bdf9f"}, - {file = "fonttools-4.55.2.tar.gz", hash = "sha256:45947e7b3f9673f91df125d375eb57b9a23f2a603f438a1aebf3171bffa7a205"}, + {file = "fonttools-4.55.3-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:1dcc07934a2165ccdc3a5a608db56fb3c24b609658a5b340aee4ecf3ba679dc0"}, + {file = "fonttools-4.55.3-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:f7d66c15ba875432a2d2fb419523f5d3d347f91f48f57b8b08a2dfc3c39b8a3f"}, + {file = "fonttools-4.55.3-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:27e4ae3592e62eba83cd2c4ccd9462dcfa603ff78e09110680a5444c6925d841"}, + {file = "fonttools-4.55.3-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:62d65a3022c35e404d19ca14f291c89cc5890032ff04f6c17af0bd1927299674"}, + {file = "fonttools-4.55.3-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:d342e88764fb201286d185093781bf6628bbe380a913c24adf772d901baa8276"}, + {file = "fonttools-4.55.3-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:dd68c87a2bfe37c5b33bcda0fba39b65a353876d3b9006fde3adae31f97b3ef5"}, + {file = "fonttools-4.55.3-cp310-cp310-win32.whl", hash = "sha256:1bc7ad24ff98846282eef1cbeac05d013c2154f977a79886bb943015d2b1b261"}, + {file = "fonttools-4.55.3-cp310-cp310-win_amd64.whl", hash = "sha256:b54baf65c52952db65df39fcd4820668d0ef4766c0ccdf32879b77f7c804d5c5"}, + {file = "fonttools-4.55.3-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:8c4491699bad88efe95772543cd49870cf756b019ad56294f6498982408ab03e"}, + {file = "fonttools-4.55.3-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:5323a22eabddf4b24f66d26894f1229261021dacd9d29e89f7872dd8c63f0b8b"}, + {file = "fonttools-4.55.3-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:5480673f599ad410695ca2ddef2dfefe9df779a9a5cda89503881e503c9c7d90"}, + {file = "fonttools-4.55.3-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:da9da6d65cd7aa6b0f806556f4985bcbf603bf0c5c590e61b43aa3e5a0f822d0"}, + {file = "fonttools-4.55.3-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:e894b5bd60d9f473bed7a8f506515549cc194de08064d829464088d23097331b"}, + {file = "fonttools-4.55.3-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:aee3b57643827e237ff6ec6d28d9ff9766bd8b21e08cd13bff479e13d4b14765"}, + {file = "fonttools-4.55.3-cp311-cp311-win32.whl", hash = "sha256:eb6ca911c4c17eb51853143624d8dc87cdcdf12a711fc38bf5bd21521e79715f"}, + {file = "fonttools-4.55.3-cp311-cp311-win_amd64.whl", hash = "sha256:6314bf82c54c53c71805318fcf6786d986461622dd926d92a465199ff54b1b72"}, + {file = "fonttools-4.55.3-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:f9e736f60f4911061235603a6119e72053073a12c6d7904011df2d8fad2c0e35"}, + {file = "fonttools-4.55.3-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:7a8aa2c5e5b8b3bcb2e4538d929f6589a5c6bdb84fd16e2ed92649fb5454f11c"}, + {file = "fonttools-4.55.3-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:07f8288aacf0a38d174445fc78377a97fb0b83cfe352a90c9d9c1400571963c7"}, + {file = "fonttools-4.55.3-cp312-cp312-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:b8d5e8916c0970fbc0f6f1bece0063363bb5857a7f170121a4493e31c3db3314"}, + {file = "fonttools-4.55.3-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:ae3b6600565b2d80b7c05acb8e24d2b26ac407b27a3f2e078229721ba5698427"}, + {file = "fonttools-4.55.3-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:54153c49913f45065c8d9e6d0c101396725c5621c8aee744719300f79771d75a"}, + {file = "fonttools-4.55.3-cp312-cp312-win32.whl", hash = "sha256:827e95fdbbd3e51f8b459af5ea10ecb4e30af50221ca103bea68218e9615de07"}, + {file = "fonttools-4.55.3-cp312-cp312-win_amd64.whl", hash = "sha256:e6e8766eeeb2de759e862004aa11a9ea3d6f6d5ec710551a88b476192b64fd54"}, + {file = "fonttools-4.55.3-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:a430178ad3e650e695167cb53242dae3477b35c95bef6525b074d87493c4bf29"}, + {file = "fonttools-4.55.3-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:529cef2ce91dc44f8e407cc567fae6e49a1786f2fefefa73a294704c415322a4"}, + {file = "fonttools-4.55.3-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:8e75f12c82127486fac2d8bfbf5bf058202f54bf4f158d367e41647b972342ca"}, + {file = "fonttools-4.55.3-cp313-cp313-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:859c358ebf41db18fb72342d3080bce67c02b39e86b9fbcf1610cca14984841b"}, + {file = "fonttools-4.55.3-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:546565028e244a701f73df6d8dd6be489d01617863ec0c6a42fa25bf45d43048"}, + {file = "fonttools-4.55.3-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:aca318b77f23523309eec4475d1fbbb00a6b133eb766a8bdc401faba91261abe"}, + {file = "fonttools-4.55.3-cp313-cp313-win32.whl", hash = "sha256:8c5ec45428edaa7022f1c949a632a6f298edc7b481312fc7dc258921e9399628"}, + {file = "fonttools-4.55.3-cp313-cp313-win_amd64.whl", hash = "sha256:11e5de1ee0d95af4ae23c1a138b184b7f06e0b6abacabf1d0db41c90b03d834b"}, + {file = "fonttools-4.55.3-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:caf8230f3e10f8f5d7593eb6d252a37caf58c480b19a17e250a63dad63834cf3"}, + {file = "fonttools-4.55.3-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:b586ab5b15b6097f2fb71cafa3c98edfd0dba1ad8027229e7b1e204a58b0e09d"}, + {file = "fonttools-4.55.3-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a8c2794ded89399cc2169c4d0bf7941247b8d5932b2659e09834adfbb01589aa"}, + {file = "fonttools-4.55.3-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:cf4fe7c124aa3f4e4c1940880156e13f2f4d98170d35c749e6b4f119a872551e"}, + {file = "fonttools-4.55.3-cp38-cp38-musllinux_1_2_aarch64.whl", hash = "sha256:86721fbc389ef5cc1e2f477019e5069e8e4421e8d9576e9c26f840dbb04678de"}, + {file = "fonttools-4.55.3-cp38-cp38-musllinux_1_2_x86_64.whl", hash = "sha256:89bdc5d88bdeec1b15af790810e267e8332d92561dce4f0748c2b95c9bdf3926"}, + {file = "fonttools-4.55.3-cp38-cp38-win32.whl", hash = "sha256:bc5dbb4685e51235ef487e4bd501ddfc49be5aede5e40f4cefcccabc6e60fb4b"}, + {file = "fonttools-4.55.3-cp38-cp38-win_amd64.whl", hash = "sha256:cd70de1a52a8ee2d1877b6293af8a2484ac82514f10b1c67c1c5762d38073e56"}, + {file = "fonttools-4.55.3-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:bdcc9f04b36c6c20978d3f060e5323a43f6222accc4e7fcbef3f428e216d96af"}, + {file = "fonttools-4.55.3-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:c3ca99e0d460eff46e033cd3992a969658c3169ffcd533e0a39c63a38beb6831"}, + {file = "fonttools-4.55.3-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:22f38464daa6cdb7b6aebd14ab06609328fe1e9705bb0fcc7d1e69de7109ee02"}, + {file = "fonttools-4.55.3-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ed63959d00b61959b035c7d47f9313c2c1ece090ff63afea702fe86de00dbed4"}, + {file = "fonttools-4.55.3-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:5e8d657cd7326eeaba27de2740e847c6b39dde2f8d7cd7cc56f6aad404ddf0bd"}, + {file = "fonttools-4.55.3-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:fb594b5a99943042c702c550d5494bdd7577f6ef19b0bc73877c948a63184a32"}, + {file = "fonttools-4.55.3-cp39-cp39-win32.whl", hash = "sha256:dc5294a3d5c84226e3dbba1b6f61d7ad813a8c0238fceea4e09aa04848c3d851"}, + {file = "fonttools-4.55.3-cp39-cp39-win_amd64.whl", hash = "sha256:aedbeb1db64496d098e6be92b2e63b5fac4e53b1b92032dfc6988e1ea9134a4d"}, + {file = "fonttools-4.55.3-py3-none-any.whl", hash = "sha256:f412604ccbeee81b091b420272841e5ec5ef68967a9790e80bffd0e30b8e2977"}, + {file = "fonttools-4.55.3.tar.gz", hash = "sha256:3983313c2a04d6cc1fe9251f8fc647754cf49a61dac6cb1e7249ae67afaafc45"}, ] [package.extras] @@ -1751,18 +1751,18 @@ test = ["jupyter-server (>=2.0.0)", "pytest (>=7.0)", "pytest-jupyter[server] (> [[package]] name = "jupyterlab" -version = "4.3.2" +version = "4.3.3" description = "JupyterLab computational environment" optional = false python-versions = ">=3.8" files = [ - {file = "jupyterlab-4.3.2-py3-none-any.whl", hash = "sha256:e87100cbab8b886ff7a4f325c856100ba6fdfe916162a85409daf0e707e19d1d"}, - {file = "jupyterlab-4.3.2.tar.gz", hash = "sha256:3c0a6882dbddcc0a7bfdd5e2236f351b2b263e48780236e6996c2aca13ac5b22"}, + {file = "jupyterlab-4.3.3-py3-none-any.whl", hash = "sha256:32a8fd30677e734ffcc3916a4758b9dab21b02015b668c60eb36f84357b7d4b1"}, + {file = "jupyterlab-4.3.3.tar.gz", hash = "sha256:76fa39e548fdac94dc1204af5956c556f54c785f70ee26aa47ea08eda4d5bbcd"}, ] [package.dependencies] async-lru = ">=1.0.0" -httpx = ">=0.28.0,<0.29.0" +httpx = ">=0.25.0" importlib-metadata = {version = ">=4.8.3", markers = "python_version < \"3.10\""} importlib-resources = {version = ">=1.4", markers = "python_version < \"3.9\""} ipykernel = ">=6.5.0" @@ -2196,52 +2196,52 @@ python-dateutil = ">=2.7" [[package]] name = "matplotlib" -version = "3.9.3" +version = "3.9.4" description = "Python plotting package" optional = false python-versions = ">=3.9" files = [ - {file = "matplotlib-3.9.3-cp310-cp310-macosx_10_12_x86_64.whl", hash = "sha256:41b016e3be4e740b66c79a031a0a6e145728dbc248142e751e8dab4f3188ca1d"}, - {file = "matplotlib-3.9.3-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:8e0143975fc2a6d7136c97e19c637321288371e8f09cff2564ecd73e865ea0b9"}, - {file = "matplotlib-3.9.3-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:9f459c8ee2c086455744723628264e43c884be0c7d7b45d84b8cd981310b4815"}, - {file = "matplotlib-3.9.3-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:687df7ceff57b8f070d02b4db66f75566370e7ae182a0782b6d3d21b0d6917dc"}, - {file = "matplotlib-3.9.3-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:edd14cf733fdc4f6e6fe3f705af97676a7e52859bf0044aa2c84e55be739241c"}, - {file = "matplotlib-3.9.3-cp310-cp310-win_amd64.whl", hash = "sha256:1c40c244221a1adbb1256692b1133c6fb89418df27bf759a31a333e7912a4010"}, - {file = "matplotlib-3.9.3-cp311-cp311-macosx_10_12_x86_64.whl", hash = "sha256:cf2a60daf6cecff6828bc608df00dbc794380e7234d2411c0ec612811f01969d"}, - {file = "matplotlib-3.9.3-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:213d6dc25ce686516208d8a3e91120c6a4fdae4a3e06b8505ced5b716b50cc04"}, - {file = "matplotlib-3.9.3-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:c52f48eb75fcc119a4fdb68ba83eb5f71656999420375df7c94cc68e0e14686e"}, - {file = "matplotlib-3.9.3-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:d3c93796b44fa111049b88a24105e947f03c01966b5c0cc782e2ee3887b790a3"}, - {file = "matplotlib-3.9.3-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:cd1077b9a09b16d8c3c7075a8add5ffbfe6a69156a57e290c800ed4d435bef1d"}, - {file = "matplotlib-3.9.3-cp311-cp311-win_amd64.whl", hash = "sha256:c96eeeb8c68b662c7747f91a385688d4b449687d29b691eff7068a4602fe6dc4"}, - {file = "matplotlib-3.9.3-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:0a361bd5583bf0bcc08841df3c10269617ee2a36b99ac39d455a767da908bbbc"}, - {file = "matplotlib-3.9.3-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:e14485bb1b83eeb3d55b6878f9560240981e7bbc7a8d4e1e8c38b9bd6ec8d2de"}, - {file = "matplotlib-3.9.3-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:4a8d279f78844aad213c4935c18f8292a9432d51af2d88bca99072c903948045"}, - {file = "matplotlib-3.9.3-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:b6c12514329ac0d03128cf1dcceb335f4fbf7c11da98bca68dca8dcb983153a9"}, - {file = "matplotlib-3.9.3-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:6e9de2b390d253a508dd497e9b5579f3a851f208763ed67fdca5dc0c3ea6849c"}, - {file = "matplotlib-3.9.3-cp312-cp312-win_amd64.whl", hash = "sha256:d796272408f8567ff7eaa00eb2856b3a00524490e47ad505b0b4ca6bb8a7411f"}, - {file = "matplotlib-3.9.3-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:203d18df84f5288973b2d56de63d4678cc748250026ca9e1ad8f8a0fd8a75d83"}, - {file = "matplotlib-3.9.3-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:b651b0d3642991259109dc0351fc33ad44c624801367bb8307be9bfc35e427ad"}, - {file = "matplotlib-3.9.3-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:66d7b171fecf96940ce069923a08ba3df33ef542de82c2ff4fe8caa8346fa95a"}, - {file = "matplotlib-3.9.3-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:6be0ba61f6ff2e6b68e4270fb63b6813c9e7dec3d15fc3a93f47480444fd72f0"}, - {file = "matplotlib-3.9.3-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:9d6b2e8856dec3a6db1ae51aec85c82223e834b228c1d3228aede87eee2b34f9"}, - {file = "matplotlib-3.9.3-cp313-cp313-win_amd64.whl", hash = "sha256:90a85a004fefed9e583597478420bf904bb1a065b0b0ee5b9d8d31b04b0f3f70"}, - {file = "matplotlib-3.9.3-cp313-cp313t-macosx_10_13_x86_64.whl", hash = "sha256:3119b2f16de7f7b9212ba76d8fe6a0e9f90b27a1e04683cd89833a991682f639"}, - {file = "matplotlib-3.9.3-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:87ad73763d93add1b6c1f9fcd33af662fd62ed70e620c52fcb79f3ac427cf3a6"}, - {file = "matplotlib-3.9.3-cp313-cp313t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:026bdf3137ab6022c866efa4813b6bbeddc2ed4c9e7e02f0e323a7bca380dfa0"}, - {file = "matplotlib-3.9.3-cp313-cp313t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:760a5e89ebbb172989e8273024a1024b0f084510b9105261b3b00c15e9c9f006"}, - {file = "matplotlib-3.9.3-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:a42b9dc42de2cfe357efa27d9c50c7833fc5ab9b2eb7252ccd5d5f836a84e1e4"}, - {file = "matplotlib-3.9.3-cp313-cp313t-win_amd64.whl", hash = "sha256:e0fcb7da73fbf67b5f4bdaa57d85bb585a4e913d4a10f3e15b32baea56a67f0a"}, - {file = "matplotlib-3.9.3-cp39-cp39-macosx_10_12_x86_64.whl", hash = "sha256:031b7f5b8e595cc07def77ec5b58464e9bb67dc5760be5d6f26d9da24892481d"}, - {file = "matplotlib-3.9.3-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:9fa6e193c14d6944e0685cdb527cb6b38b0e4a518043e7212f214113af7391da"}, - {file = "matplotlib-3.9.3-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:4e6eefae6effa0c35bbbc18c25ee6e0b1da44d2359c3cd526eb0c9e703cf055d"}, - {file = "matplotlib-3.9.3-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:10d3e5c7a99bd28afb957e1ae661323b0800d75b419f24d041ed1cc5d844a764"}, - {file = "matplotlib-3.9.3-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:816a966d5d376bf24c92af8f379e78e67278833e4c7cbc9fa41872eec629a060"}, - {file = "matplotlib-3.9.3-cp39-cp39-win_amd64.whl", hash = "sha256:3fb0b37c896172899a4a93d9442ffdc6f870165f59e05ce2e07c6fded1c15749"}, - {file = "matplotlib-3.9.3-pp39-pypy39_pp73-macosx_10_15_x86_64.whl", hash = "sha256:5f2a4ea08e6876206d511365b0bc234edc813d90b930be72c3011bbd7898796f"}, - {file = "matplotlib-3.9.3-pp39-pypy39_pp73-macosx_11_0_arm64.whl", hash = "sha256:9b081dac96ab19c54fd8558fac17c9d2c9cb5cc4656e7ed3261ddc927ba3e2c5"}, - {file = "matplotlib-3.9.3-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:0a0a63cb8404d1d1f94968ef35738900038137dab8af836b6c21bb6f03d75465"}, - {file = "matplotlib-3.9.3-pp39-pypy39_pp73-win_amd64.whl", hash = "sha256:896774766fd6be4571a43bc2fcbcb1dcca0807e53cab4a5bf88c4aa861a08e12"}, - {file = "matplotlib-3.9.3.tar.gz", hash = "sha256:cd5dbbc8e25cad5f706845c4d100e2c8b34691b412b93717ce38d8ae803bcfa5"}, + {file = "matplotlib-3.9.4-cp310-cp310-macosx_10_12_x86_64.whl", hash = "sha256:c5fdd7abfb706dfa8d307af64a87f1a862879ec3cd8d0ec8637458f0885b9c50"}, + {file = "matplotlib-3.9.4-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:d89bc4e85e40a71d1477780366c27fb7c6494d293e1617788986f74e2a03d7ff"}, + {file = "matplotlib-3.9.4-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:ddf9f3c26aae695c5daafbf6b94e4c1a30d6cd617ba594bbbded3b33a1fcfa26"}, + {file = "matplotlib-3.9.4-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:18ebcf248030173b59a868fda1fe42397253f6698995b55e81e1f57431d85e50"}, + {file = "matplotlib-3.9.4-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:974896ec43c672ec23f3f8c648981e8bc880ee163146e0312a9b8def2fac66f5"}, + {file = "matplotlib-3.9.4-cp310-cp310-win_amd64.whl", hash = "sha256:4598c394ae9711cec135639374e70871fa36b56afae17bdf032a345be552a88d"}, + {file = "matplotlib-3.9.4-cp311-cp311-macosx_10_12_x86_64.whl", hash = "sha256:d4dd29641d9fb8bc4492420c5480398dd40a09afd73aebe4eb9d0071a05fbe0c"}, + {file = "matplotlib-3.9.4-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:30e5b22e8bcfb95442bf7d48b0d7f3bdf4a450cbf68986ea45fca3d11ae9d099"}, + {file = "matplotlib-3.9.4-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:2bb0030d1d447fd56dcc23b4c64a26e44e898f0416276cac1ebc25522e0ac249"}, + {file = "matplotlib-3.9.4-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:aca90ed222ac3565d2752b83dbb27627480d27662671e4d39da72e97f657a423"}, + {file = "matplotlib-3.9.4-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:a181b2aa2906c608fcae72f977a4a2d76e385578939891b91c2550c39ecf361e"}, + {file = "matplotlib-3.9.4-cp311-cp311-win_amd64.whl", hash = "sha256:1f6882828231eca17f501c4dcd98a05abb3f03d157fbc0769c6911fe08b6cfd3"}, + {file = "matplotlib-3.9.4-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:dfc48d67e6661378a21c2983200a654b72b5c5cdbd5d2cf6e5e1ece860f0cc70"}, + {file = "matplotlib-3.9.4-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:47aef0fab8332d02d68e786eba8113ffd6f862182ea2999379dec9e237b7e483"}, + {file = "matplotlib-3.9.4-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:fba1f52c6b7dc764097f52fd9ab627b90db452c9feb653a59945de16752e965f"}, + {file = "matplotlib-3.9.4-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:173ac3748acaac21afcc3fa1633924609ba1b87749006bc25051c52c422a5d00"}, + {file = "matplotlib-3.9.4-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:320edea0cadc07007765e33f878b13b3738ffa9745c5f707705692df70ffe0e0"}, + {file = "matplotlib-3.9.4-cp312-cp312-win_amd64.whl", hash = "sha256:a4a4cfc82330b27042a7169533da7991e8789d180dd5b3daeaee57d75cd5a03b"}, + {file = "matplotlib-3.9.4-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:37eeffeeca3c940985b80f5b9a7b95ea35671e0e7405001f249848d2b62351b6"}, + {file = "matplotlib-3.9.4-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:3e7465ac859ee4abcb0d836137cd8414e7bb7ad330d905abced457217d4f0f45"}, + {file = "matplotlib-3.9.4-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:f4c12302c34afa0cf061bea23b331e747e5e554b0fa595c96e01c7b75bc3b858"}, + {file = "matplotlib-3.9.4-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:2b8c97917f21b75e72108b97707ba3d48f171541a74aa2a56df7a40626bafc64"}, + {file = "matplotlib-3.9.4-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:0229803bd7e19271b03cb09f27db76c918c467aa4ce2ae168171bc67c3f508df"}, + {file = "matplotlib-3.9.4-cp313-cp313-win_amd64.whl", hash = "sha256:7c0d8ef442ebf56ff5e206f8083d08252ee738e04f3dc88ea882853a05488799"}, + {file = "matplotlib-3.9.4-cp313-cp313t-macosx_10_13_x86_64.whl", hash = "sha256:a04c3b00066a688834356d196136349cb32f5e1003c55ac419e91585168b88fb"}, + {file = "matplotlib-3.9.4-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:04c519587f6c210626741a1e9a68eefc05966ede24205db8982841826af5871a"}, + {file = "matplotlib-3.9.4-cp313-cp313t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:308afbf1a228b8b525fcd5cec17f246bbbb63b175a3ef6eb7b4d33287ca0cf0c"}, + {file = "matplotlib-3.9.4-cp313-cp313t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ddb3b02246ddcffd3ce98e88fed5b238bc5faff10dbbaa42090ea13241d15764"}, + {file = "matplotlib-3.9.4-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:8a75287e9cb9eee48cb79ec1d806f75b29c0fde978cb7223a1f4c5848d696041"}, + {file = "matplotlib-3.9.4-cp313-cp313t-win_amd64.whl", hash = "sha256:488deb7af140f0ba86da003e66e10d55ff915e152c78b4b66d231638400b1965"}, + {file = "matplotlib-3.9.4-cp39-cp39-macosx_10_12_x86_64.whl", hash = "sha256:3c3724d89a387ddf78ff88d2a30ca78ac2b4c89cf37f2db4bd453c34799e933c"}, + {file = "matplotlib-3.9.4-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:d5f0a8430ffe23d7e32cfd86445864ccad141797f7d25b7c41759a5b5d17cfd7"}, + {file = "matplotlib-3.9.4-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:6bb0141a21aef3b64b633dc4d16cbd5fc538b727e4958be82a0e1c92a234160e"}, + {file = "matplotlib-3.9.4-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:57aa235109e9eed52e2c2949db17da185383fa71083c00c6c143a60e07e0888c"}, + {file = "matplotlib-3.9.4-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:b18c600061477ccfdd1e6fd050c33d8be82431700f3452b297a56d9ed7037abb"}, + {file = "matplotlib-3.9.4-cp39-cp39-win_amd64.whl", hash = "sha256:ef5f2d1b67d2d2145ff75e10f8c008bfbf71d45137c4b648c87193e7dd053eac"}, + {file = "matplotlib-3.9.4-pp39-pypy39_pp73-macosx_10_15_x86_64.whl", hash = "sha256:44e0ed786d769d85bc787b0606a53f2d8d2d1d3c8a2608237365e9121c1a338c"}, + {file = "matplotlib-3.9.4-pp39-pypy39_pp73-macosx_11_0_arm64.whl", hash = "sha256:09debb9ce941eb23ecdbe7eab972b1c3e0276dcf01688073faff7b0f61d6c6ca"}, + {file = "matplotlib-3.9.4-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:bcc53cf157a657bfd03afab14774d54ba73aa84d42cfe2480c91bd94873952db"}, + {file = "matplotlib-3.9.4-pp39-pypy39_pp73-win_amd64.whl", hash = "sha256:ad45da51be7ad02387801fd154ef74d942f49fe3fcd26a64c94842ba7ec0d865"}, + {file = "matplotlib-3.9.4.tar.gz", hash = "sha256:1e00e8be7393cbdc6fedfa8a6fba02cf3e83814b285db1c60b906a023ba41bc3"}, ] [package.dependencies] @@ -2257,7 +2257,7 @@ pyparsing = ">=2.3.1" python-dateutil = ">=2.7" [package.extras] -dev = ["meson-python (>=0.13.1)", "numpy (>=1.25)", "pybind11 (>=2.6,!=2.13.3)", "setuptools (>=64)", "setuptools_scm (>=7)"] +dev = ["meson-python (>=0.13.1,<0.17.0)", "numpy (>=1.25)", "pybind11 (>=2.6,!=2.13.3)", "setuptools (>=64)", "setuptools_scm (>=7)"] [[package]] name = "matplotlib-inline" @@ -2962,14 +2962,34 @@ files = [ {file = "opencv_python-4.8.1.78-cp37-abi3-win_amd64.whl", hash = "sha256:b983197f97cfa6fcb74e1da1802c7497a6f94ed561aba6980f1f33123f904956"}, ] +[package.dependencies] +numpy = {version = ">=1.23.5", markers = "python_version >= \"3.11\""} + +[[package]] +name = "opencv-python" +version = "4.10.0.84" +description = "Wrapper package for OpenCV python bindings." +optional = false +python-versions = ">=3.6" +files = [ + {file = "opencv-python-4.10.0.84.tar.gz", hash = "sha256:72d234e4582e9658ffea8e9cae5b63d488ad06994ef12d81dc303b17472f3526"}, + {file = "opencv_python-4.10.0.84-cp37-abi3-macosx_11_0_arm64.whl", hash = "sha256:fc182f8f4cda51b45f01c64e4cbedfc2f00aff799debebc305d8d0210c43f251"}, + {file = "opencv_python-4.10.0.84-cp37-abi3-macosx_12_0_x86_64.whl", hash = "sha256:71e575744f1d23f79741450254660442785f45a0797212852ee5199ef12eed98"}, + {file = "opencv_python-4.10.0.84-cp37-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:09a332b50488e2dda866a6c5573ee192fe3583239fb26ff2f7f9ceb0bc119ea6"}, + {file = "opencv_python-4.10.0.84-cp37-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:9ace140fc6d647fbe1c692bcb2abce768973491222c067c131d80957c595b71f"}, + {file = "opencv_python-4.10.0.84-cp37-abi3-win32.whl", hash = "sha256:2db02bb7e50b703f0a2d50c50ced72e95c574e1e5a0bb35a8a86d0b35c98c236"}, + {file = "opencv_python-4.10.0.84-cp37-abi3-win_amd64.whl", hash = "sha256:32dbbd94c26f611dc5cc6979e6b7aa1f55a64d6b463cc1dcd3c95505a63e48fe"}, +] + [package.dependencies] numpy = [ {version = ">=1.21.0", markers = "python_version <= \"3.9\" and platform_system == \"Darwin\" and platform_machine == \"arm64\" and python_version >= \"3.8\""}, {version = ">=1.19.3", markers = "platform_system == \"Linux\" and platform_machine == \"aarch64\" and python_version >= \"3.8\" and python_version < \"3.10\" or python_version > \"3.9\" and python_version < \"3.10\" or python_version >= \"3.9\" and platform_system != \"Darwin\" and python_version < \"3.10\" or python_version >= \"3.9\" and platform_machine != \"arm64\" and python_version < \"3.10\""}, {version = ">=1.17.3", markers = "(platform_system != \"Darwin\" and platform_system != \"Linux\") and python_version >= \"3.8\" and python_version < \"3.9\" or platform_system != \"Darwin\" and python_version >= \"3.8\" and python_version < \"3.9\" and platform_machine != \"aarch64\" or platform_machine != \"arm64\" and python_version >= \"3.8\" and python_version < \"3.9\" and platform_system != \"Linux\" or (platform_machine != \"arm64\" and platform_machine != \"aarch64\") and python_version >= \"3.8\" and python_version < \"3.9\""}, - {version = ">=1.23.5", markers = "python_version >= \"3.11\""}, + {version = ">=1.23.5", markers = "python_version >= \"3.11\" and python_version < \"3.12\""}, {version = ">=1.21.4", markers = "python_version >= \"3.10\" and platform_system == \"Darwin\" and python_version < \"3.11\""}, {version = ">=1.21.2", markers = "platform_system != \"Darwin\" and python_version >= \"3.10\" and python_version < \"3.11\""}, + {version = ">=1.26.0", markers = "python_version >= \"3.12\""}, ] [[package]] @@ -3632,15 +3652,21 @@ six = ">=1.5" [[package]] name = "python-json-logger" -version = "2.0.7" -description = "A python library adding a json log formatter" +version = "3.2.0" +description = "JSON Log Formatter for the Python Logging Package" optional = false -python-versions = ">=3.6" +python-versions = ">=3.8" files = [ - {file = "python-json-logger-2.0.7.tar.gz", hash = "sha256:23e7ec02d34237c5aa1e29a070193a4ea87583bb4e7f8fd06d3de8264c4b2e1c"}, - {file = "python_json_logger-2.0.7-py3-none-any.whl", hash = "sha256:f380b826a991ebbe3de4d897aeec42760035ac760345e57b812938dc8b35e2bd"}, + {file = "python_json_logger-3.2.0-py3-none-any.whl", hash = "sha256:d73522ddcfc6d0461394120feaddea9025dc64bf804d96357dd42fa878cc5fe8"}, + {file = "python_json_logger-3.2.0.tar.gz", hash = "sha256:2c11056458d3f56614480b24e9cb28f7aba69cbfbebddbb77c92f0ec0d4947ab"}, ] +[package.dependencies] +typing_extensions = {version = "*", markers = "python_version < \"3.10\""} + +[package.extras] +dev = ["backports.zoneinfo", "black", "build", "freezegun", "mdx_truly_sane_lists", "mike", "mkdocs", "mkdocs-awesome-pages-plugin", "mkdocs-gen-files", "mkdocs-literate-nav", "mkdocs-material (>=8.5)", "mkdocstrings[python]", "msgspec", "msgspec-python313-pre", "mypy", "orjson", "pylint", "pytest", "tzdata", "validate-pyproject[all]"] + [[package]] name = "pytz" version = "2024.2" From c894a7a763631bfbe9b11a9e94d6a64516b15a30 Mon Sep 17 00:00:00 2001 From: Alex Norell Date: Fri, 13 Dec 2024 07:23:46 -0800 Subject: [PATCH 071/420] Fix release docs workflow file --- .github/workflows/publish-docs.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/publish-docs.yml b/.github/workflows/publish-docs.yml index e57063a9e8..c344099e97 100644 --- a/.github/workflows/publish-docs.yml +++ b/.github/workflows/publish-docs.yml @@ -49,7 +49,7 @@ jobs: git config --global user.email "41898282+github-actions[bot]@users.noreply.github.com" - name: 🚀 Deploy Development Docs - if: (github.event_name == 'push' && github.ref == 'refs/heads/develop') || github.event_name == 'workflow_dispatch') + if: (github.event_name == 'push' && github.ref == 'refs/heads/develop') || github.event_name == 'workflow_dispatch' run: | MKDOCS_GIT_COMMITTERS_APIKEY=${{ secrets.GITHUB_TOKEN }} poetry run mike deploy --push develop From 55378df392808cad85d4b3a1fe7ff391c5d44ad4 Mon Sep 17 00:00:00 2001 From: Alex Norell Date: Fri, 13 Dec 2024 07:29:50 -0800 Subject: [PATCH 072/420] Update docs checkout to use fetch-depth: 0 --- .github/workflows/publish-docs.yml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.github/workflows/publish-docs.yml b/.github/workflows/publish-docs.yml index c344099e97..a38482fca1 100644 --- a/.github/workflows/publish-docs.yml +++ b/.github/workflows/publish-docs.yml @@ -30,6 +30,8 @@ jobs: steps: - name: 📥 Checkout the repository uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 + with: + fetch-depth: 0 - name: 🐍 Set up Python ${{ matrix.python-version }} uses: actions/setup-python@0b93645e9fea7318ecaed2b359559ac225c90a2b # v5.3.0 From 4b75b9bd825caff45d5775aa9fdb6a4741710253 Mon Sep 17 00:00:00 2001 From: Alex Norell Date: Fri, 13 Dec 2024 07:31:43 -0800 Subject: [PATCH 073/420] Update the test docs action too --- .github/workflows/test-doc.yml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.github/workflows/test-doc.yml b/.github/workflows/test-doc.yml index 6d12dd9f4f..d5cd8acb05 100644 --- a/.github/workflows/test-doc.yml +++ b/.github/workflows/test-doc.yml @@ -20,6 +20,8 @@ jobs: steps: - name: 📥 Checkout the repository uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 + with: + fetch-depth: 0 - name: 🐍 Set up Python ${{ matrix.python-version }} uses: actions/setup-python@0b93645e9fea7318ecaed2b359559ac225c90a2b # v5.3.0 From b8d62f6e2999c1630a08c6894f63618cddf94b04 Mon Sep 17 00:00:00 2001 From: Alex Norell Date: Fri, 13 Dec 2024 07:56:45 -0800 Subject: [PATCH 074/420] Update CODEOWNERS --- .github/CODEOWNERS | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/CODEOWNERS b/.github/CODEOWNERS index b5d52a996e..6e7fcd59e8 100644 --- a/.github/CODEOWNERS +++ b/.github/CODEOWNERS @@ -1,4 +1,4 @@ # These owners will be the default owners for everything in # the repo. They will be requested for review when someone # opens a pull request. -* @SkalskiP @LinasKo @onuralpszr +* @SkalskiP @onuralpszr From 092085efb110337592f4259c9643a377ca65c164 Mon Sep 17 00:00:00 2001 From: Anirudh Date: Sat, 14 Dec 2024 14:59:58 -0500 Subject: [PATCH 075/420] fix: allow negative offsets in move_masks function (#1715) --- supervision/detection/utils.py | 49 +++++++++++++++++----- test/detection/test_utils.py | 75 ++++++++++++++++++++++++++++++++++ 2 files changed, 114 insertions(+), 10 deletions(-) diff --git a/supervision/detection/utils.py b/supervision/detection/utils.py index a2cbd87bd1..48340a32d2 100644 --- a/supervision/detection/utils.py +++ b/supervision/detection/utils.py @@ -720,25 +720,54 @@ def move_masks( masks (npt.NDArray[np.bool_]): A 3D array of binary masks corresponding to the predictions. Shape: `(N, H, W)`, where N is the number of predictions, and H, W are the dimensions of each mask. - offset (npt.NDArray[np.int32]): An array of shape `(2,)` containing non-negative - int values `[dx, dy]`. + offset (npt.NDArray[np.int32]): An array of shape `(2,)` containing int values + `[dx, dy]`. Supports both positive and negative values for bidirectional + movement. resolution_wh (Tuple[int, int]): The width and height of the desired mask resolution. Returns: (npt.NDArray[np.bool_]) repositioned masks, optionally padded to the specified shape. - """ - if offset[0] < 0 or offset[1] < 0: - raise ValueError(f"Offset values must be non-negative integers. Got: {offset}") + Examples: + ```python + import numpy as np + import supervision as sv + + # Create a sample mask + mask = np.zeros((1, 4, 4), dtype=bool) + mask[0, 1:3, 1:3] = True + # Move mask left and up + offset = np.array([-1, -1]) + moved_mask = sv.move_masks(mask, offset, resolution_wh=(4, 4)) + + # Move mask right and down + offset = np.array([1, 1]) + moved_mask = sv.move_masks(mask, offset, resolution_wh=(4, 4)) + ``` + """ mask_array = np.full((masks.shape[0], resolution_wh[1], resolution_wh[0]), False) - mask_array[ - :, - offset[1] : masks.shape[1] + offset[1], - offset[0] : masks.shape[2] + offset[0], - ] = masks + + # For negative offsets, copying starting portion of mask + if offset[0] <= 0 and offset[1] <= 0: + w = min( + masks.shape[2], resolution_wh[0] + offset[0] + ) # How much to copy horizontally + h = min( + masks.shape[1], resolution_wh[1] + offset[1] + ) # How much to copy vertically + + mask_array[:, 0:h, 0:w] = masks[:, 0:h, 0:w] + else: + # For positive offsets, using original logic + w = min(masks.shape[2], resolution_wh[0] - offset[0]) + h = min(masks.shape[1], resolution_wh[1] - offset[1]) + + mask_array[:, offset[1] : offset[1] + h, offset[0] : offset[0] + w] = masks[ + :, 0:h, 0:w + ] return mask_array diff --git a/test/detection/test_utils.py b/test/detection/test_utils.py index 87e50f6a40..812d0b28c4 100644 --- a/test/detection/test_utils.py +++ b/test/detection/test_utils.py @@ -16,6 +16,7 @@ merge_data, merge_metadata, move_boxes, + move_masks, process_roboflow_result, scale_boxes, xcycwh_to_xyxy, @@ -442,6 +443,80 @@ def test_move_boxes( assert np.array_equal(result, expected_result) +@pytest.mark.parametrize( + "masks, offset, resolution_wh, expected_result, exception", + [ + # Test case 1: Positive offset (existing behavior) + ( + np.array([[[True, True], [True, True]]]), + np.array([1, 1]), + (3, 3), + np.array( + [[[False, False, False], [False, True, True], [False, True, True]]] + ), + DoesNotRaise(), + ), + # Test case 2: Negative offset (new behavior) + ( + np.array([[[True, True], [True, True]]]), + np.array([-1, -1]), + (3, 3), + np.array( + [[[True, True, False], [True, True, False], [False, False, False]]] + ), + DoesNotRaise(), + ), + # Test case 3: Zero offset + ( + np.array([[[True, True], [True, True]]]), + np.array([0, 0]), + (2, 2), + np.array([[[True, True], [True, True]]]), + DoesNotRaise(), + ), + # Test case 4: Partial out of bounds (positive) + ( + np.array([[[True, True], [True, True]]]), + np.array([1, 1]), + (2, 2), + np.array([[[False, False], [False, True]]]), + DoesNotRaise(), + ), + # Test case 5: Partial out of bounds (negative) + ( + np.array([[[True, True], [True, True]]]), + np.array([-1, -1]), + (2, 2), + np.array([[[True, False], [False, False]]]), + DoesNotRaise(), + ), + # Test case 6: Multiple masks + ( + np.array([[[True, True], [True, True]], [[True, False], [False, True]]]), + np.array([1, 1]), + (3, 3), + np.array( + [ + [[False, False, False], [False, True, True], [False, True, True]], + [[False, False, False], [False, True, False], [False, False, True]], + ] + ), + DoesNotRaise(), + ), + ], +) +def test_move_masks( + masks: np.ndarray, + offset: np.ndarray, + resolution_wh: Tuple[int, int], + expected_result: np.ndarray, + exception: Exception, +) -> None: + with exception: + result = move_masks(masks=masks, offset=offset, resolution_wh=resolution_wh) + np.testing.assert_array_equal(result, expected_result) + + @pytest.mark.parametrize( "xyxy, factor, expected_result, exception", [ From b46607638313b60668d99a555e8292e6cde8f239 Mon Sep 17 00:00:00 2001 From: SkalskiP Date: Mon, 16 Dec 2024 14:27:13 +0100 Subject: [PATCH 076/420] making sure code works with mixed offset like [2, -2]; dostring updates --- supervision/detection/utils.py | 67 +++++++++------- test/detection/test_utils.py | 138 ++++++++++++++++++++++++--------- 2 files changed, 141 insertions(+), 64 deletions(-) diff --git a/supervision/detection/utils.py b/supervision/detection/utils.py index 48340a32d2..3f5e723346 100644 --- a/supervision/detection/utils.py +++ b/supervision/detection/utils.py @@ -735,39 +735,54 @@ def move_masks( import numpy as np import supervision as sv - # Create a sample mask - mask = np.zeros((1, 4, 4), dtype=bool) - mask[0, 1:3, 1:3] = True + mask = np.array([[[False, False, False, False], + [False, True, True, False], + [False, True, True, False], + [False, False, False, False]]], dtype=bool) - # Move mask left and up - offset = np.array([-1, -1]) - moved_mask = sv.move_masks(mask, offset, resolution_wh=(4, 4)) - - # Move mask right and down offset = np.array([1, 1]) - moved_mask = sv.move_masks(mask, offset, resolution_wh=(4, 4)) + sv.move_masks(mask, offset, resolution_wh=(4, 4)) + # array([[[False, False, False, False], + # [False, False, False, False], + # [False, False, True, True], + # [False, False, True, True]]], dtype=bool) + + offset = np.array([-2, 2]) + sv.move_masks(mask, offset, resolution_wh=(4, 4)) + # array([[[False, False, False, False], + # [False, False, False, False], + # [False, False, False, False], + # [True, False, False, False]]], dtype=bool) ``` """ mask_array = np.full((masks.shape[0], resolution_wh[1], resolution_wh[0]), False) - # For negative offsets, copying starting portion of mask - if offset[0] <= 0 and offset[1] <= 0: - w = min( - masks.shape[2], resolution_wh[0] + offset[0] - ) # How much to copy horizontally - h = min( - masks.shape[1], resolution_wh[1] + offset[1] - ) # How much to copy vertically - - mask_array[:, 0:h, 0:w] = masks[:, 0:h, 0:w] + if offset[0] < 0: + source_x_start = -offset[0] + source_x_end = min(masks.shape[2], resolution_wh[0] - offset[0]) + destination_x_start = 0 + destination_x_end = min(resolution_wh[0], masks.shape[2] + offset[0]) else: - # For positive offsets, using original logic - w = min(masks.shape[2], resolution_wh[0] - offset[0]) - h = min(masks.shape[1], resolution_wh[1] - offset[1]) - - mask_array[:, offset[1] : offset[1] + h, offset[0] : offset[0] + w] = masks[ - :, 0:h, 0:w - ] + source_x_start = 0 + source_x_end = min(masks.shape[2], resolution_wh[0] - offset[0]) + destination_x_start = offset[0] + destination_x_end = offset[0] + source_x_end - source_x_start + + if offset[1] < 0: + source_y_start = -offset[1] + source_y_end = min(masks.shape[1], resolution_wh[1] - offset[1]) + destination_y_start = 0 + destination_y_end = min(resolution_wh[1], masks.shape[1] + offset[1]) + else: + source_y_start = 0 + source_y_end = min(masks.shape[1], resolution_wh[1] - offset[1]) + destination_y_start = offset[1] + destination_y_end = offset[1] + source_y_end - source_y_start + + if source_x_end > source_x_start and source_y_end > source_y_start: + mask_array[:, destination_y_start:destination_y_end, + destination_x_start:destination_x_end] = \ + masks[:, source_y_start:source_y_end, source_x_start:source_x_end] return mask_array diff --git a/test/detection/test_utils.py b/test/detection/test_utils.py index 812d0b28c4..721fb2acad 100644 --- a/test/detection/test_utils.py +++ b/test/detection/test_utils.py @@ -446,61 +446,123 @@ def test_move_boxes( @pytest.mark.parametrize( "masks, offset, resolution_wh, expected_result, exception", [ - # Test case 1: Positive offset (existing behavior) ( - np.array([[[True, True], [True, True]]]), - np.array([1, 1]), - (3, 3), - np.array( - [[[False, False, False], [False, True, True], [False, True, True]]] - ), + np.array([[[False, False, False, False], + [False, True, True, False], + [False, True, True, False], + [False, False, False, False]]], dtype=bool), + np.array([0, 0]), + (4, 4), + np.array([[[False, False, False, False], + [False, True, True, False], + [False, True, True, False], + [False, False, False, False]]], dtype=bool), DoesNotRaise(), ), - # Test case 2: Negative offset (new behavior) ( - np.array([[[True, True], [True, True]]]), + np.array([[[False, False, False, False], + [False, True, True, False], + [False, True, True, False], + [False, False, False, False]]], dtype=bool), np.array([-1, -1]), - (3, 3), - np.array( - [[[True, True, False], [True, True, False], [False, False, False]]] - ), + (4, 4), + np.array([[[ True, True, False, False], + [ True, True, False, False], + [False, False, False, False], + [False, False, False, False]]], dtype=bool), DoesNotRaise(), ), - # Test case 3: Zero offset ( - np.array([[[True, True], [True, True]]]), - np.array([0, 0]), - (2, 2), - np.array([[[True, True], [True, True]]]), + np.array([[[False, False, False, False], + [False, True, True, False], + [False, True, True, False], + [False, False, False, False]]], dtype=bool), + np.array([-2, -2]), + (4, 4), + np.array([[[ True, False, False, False], + [False, False, False, False], + [False, False, False, False], + [False, False, False, False]]], dtype=bool), DoesNotRaise(), ), - # Test case 4: Partial out of bounds (positive) ( - np.array([[[True, True], [True, True]]]), - np.array([1, 1]), - (2, 2), - np.array([[[False, False], [False, True]]]), + np.array([[[False, False, False, False], + [False, True, True, False], + [False, True, True, False], + [False, False, False, False]]], dtype=bool), + np.array([-3, -3]), + (4, 4), + np.array([[[False, False, False, False], + [False, False, False, False], + [False, False, False, False], + [False, False, False, False]]], dtype=bool), DoesNotRaise(), ), - # Test case 5: Partial out of bounds (negative) ( - np.array([[[True, True], [True, True]]]), - np.array([-1, -1]), - (2, 2), - np.array([[[True, False], [False, False]]]), + np.array([[[False, False, False, False], + [False, True, True, False], + [False, True, True, False], + [False, False, False, False]]], dtype=bool), + np.array([-2, -1]), + (4, 4), + np.array([[[ True, False, False, False], + [ True, False, False, False], + [False, False, False, False], + [False, False, False, False]]], dtype=bool), DoesNotRaise(), ), - # Test case 6: Multiple masks ( - np.array([[[True, True], [True, True]], [[True, False], [False, True]]]), - np.array([1, 1]), - (3, 3), - np.array( - [ - [[False, False, False], [False, True, True], [False, True, True]], - [[False, False, False], [False, True, False], [False, False, True]], - ] - ), + np.array([[[False, False, False, False], + [False, True, True, False], + [False, True, True, False], + [False, False, False, False]]], dtype=bool), + np.array([-1, -2]), + (4, 4), + np.array([[[ True, True, False, False], + [False, False, False, False], + [False, False, False, False], + [False, False, False, False]]], dtype=bool), + DoesNotRaise(), + ), + ( + np.array([[[False, False, False, False], + [False, True, True, False], + [False, True, True, False], + [False, False, False, False]]], dtype=bool), + np.array([-2, 2]), + (4, 4), + np.array([[[False, False, False, False], + [False, False, False, False], + [False, False, False, False], + [ True, False, False, False]]], dtype=bool), + DoesNotRaise(), + ), + ( + np.array([[[False, False, False, False], + [False, True, True, False], + [False, True, True, False], + [False, False, False, False]]], dtype=bool), + np.array([3, 3]), + (4, 4), + np.array([[[False, False, False, False], + [False, False, False, False], + [False, False, False, False], + [False, False, False, False]]], dtype=bool), + DoesNotRaise(), + ), + ( + np.array([[[False, False, False, False], + [False, True, True, False], + [False, True, True, False], + [False, False, False, False]]], dtype=bool), + np.array([3, 3]), + (6, 6), + np.array([[[False, False, False, False, False, False], + [False, False, False, False, False, False], + [False, False, False, False, False, False], + [False, False, False, False, False, False], + [False, False, False, False, True, True], + [False, False, False, False, True, True]]], dtype=bool), DoesNotRaise(), ), ], From 63392ab6403e248e3c1c60d6eb59ef59649f4153 Mon Sep 17 00:00:00 2001 From: "pre-commit-ci[bot]" <66853113+pre-commit-ci[bot]@users.noreply.github.com> Date: Mon, 16 Dec 2024 13:27:36 +0000 Subject: [PATCH 077/420] =?UTF-8?q?fix(pre=5Fcommit):=20=F0=9F=8E=A8=20aut?= =?UTF-8?q?o=20format=20pre-commit=20hooks?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- supervision/detection/utils.py | 10 +- test/detection/test_utils.py | 274 ++++++++++++++++++++++++--------- 2 files changed, 206 insertions(+), 78 deletions(-) diff --git a/supervision/detection/utils.py b/supervision/detection/utils.py index 3f5e723346..0d5ec475ed 100644 --- a/supervision/detection/utils.py +++ b/supervision/detection/utils.py @@ -747,7 +747,7 @@ def move_masks( # [False, False, True, True], # [False, False, True, True]]], dtype=bool) - offset = np.array([-2, 2]) + offset = np.array([-2, 2]) sv.move_masks(mask, offset, resolution_wh=(4, 4)) # array([[[False, False, False, False], # [False, False, False, False], @@ -780,9 +780,11 @@ def move_masks( destination_y_end = offset[1] + source_y_end - source_y_start if source_x_end > source_x_start and source_y_end > source_y_start: - mask_array[:, destination_y_start:destination_y_end, - destination_x_start:destination_x_end] = \ - masks[:, source_y_start:source_y_end, source_x_start:source_x_end] + mask_array[ + :, + destination_y_start:destination_y_end, + destination_x_start:destination_x_end, + ] = masks[:, source_y_start:source_y_end, source_x_start:source_x_end] return mask_array diff --git a/test/detection/test_utils.py b/test/detection/test_utils.py index 721fb2acad..d93c72c834 100644 --- a/test/detection/test_utils.py +++ b/test/detection/test_utils.py @@ -447,122 +447,248 @@ def test_move_boxes( "masks, offset, resolution_wh, expected_result, exception", [ ( - np.array([[[False, False, False, False], - [False, True, True, False], - [False, True, True, False], - [False, False, False, False]]], dtype=bool), + np.array( + [ + [ + [False, False, False, False], + [False, True, True, False], + [False, True, True, False], + [False, False, False, False], + ] + ], + dtype=bool, + ), np.array([0, 0]), (4, 4), - np.array([[[False, False, False, False], - [False, True, True, False], - [False, True, True, False], - [False, False, False, False]]], dtype=bool), + np.array( + [ + [ + [False, False, False, False], + [False, True, True, False], + [False, True, True, False], + [False, False, False, False], + ] + ], + dtype=bool, + ), DoesNotRaise(), ), ( - np.array([[[False, False, False, False], - [False, True, True, False], - [False, True, True, False], - [False, False, False, False]]], dtype=bool), + np.array( + [ + [ + [False, False, False, False], + [False, True, True, False], + [False, True, True, False], + [False, False, False, False], + ] + ], + dtype=bool, + ), np.array([-1, -1]), (4, 4), - np.array([[[ True, True, False, False], - [ True, True, False, False], - [False, False, False, False], - [False, False, False, False]]], dtype=bool), + np.array( + [ + [ + [True, True, False, False], + [True, True, False, False], + [False, False, False, False], + [False, False, False, False], + ] + ], + dtype=bool, + ), DoesNotRaise(), ), ( - np.array([[[False, False, False, False], - [False, True, True, False], - [False, True, True, False], - [False, False, False, False]]], dtype=bool), + np.array( + [ + [ + [False, False, False, False], + [False, True, True, False], + [False, True, True, False], + [False, False, False, False], + ] + ], + dtype=bool, + ), np.array([-2, -2]), (4, 4), - np.array([[[ True, False, False, False], - [False, False, False, False], - [False, False, False, False], - [False, False, False, False]]], dtype=bool), + np.array( + [ + [ + [True, False, False, False], + [False, False, False, False], + [False, False, False, False], + [False, False, False, False], + ] + ], + dtype=bool, + ), DoesNotRaise(), ), ( - np.array([[[False, False, False, False], - [False, True, True, False], - [False, True, True, False], - [False, False, False, False]]], dtype=bool), + np.array( + [ + [ + [False, False, False, False], + [False, True, True, False], + [False, True, True, False], + [False, False, False, False], + ] + ], + dtype=bool, + ), np.array([-3, -3]), (4, 4), - np.array([[[False, False, False, False], - [False, False, False, False], - [False, False, False, False], - [False, False, False, False]]], dtype=bool), + np.array( + [ + [ + [False, False, False, False], + [False, False, False, False], + [False, False, False, False], + [False, False, False, False], + ] + ], + dtype=bool, + ), DoesNotRaise(), ), ( - np.array([[[False, False, False, False], - [False, True, True, False], - [False, True, True, False], - [False, False, False, False]]], dtype=bool), + np.array( + [ + [ + [False, False, False, False], + [False, True, True, False], + [False, True, True, False], + [False, False, False, False], + ] + ], + dtype=bool, + ), np.array([-2, -1]), (4, 4), - np.array([[[ True, False, False, False], - [ True, False, False, False], - [False, False, False, False], - [False, False, False, False]]], dtype=bool), + np.array( + [ + [ + [True, False, False, False], + [True, False, False, False], + [False, False, False, False], + [False, False, False, False], + ] + ], + dtype=bool, + ), DoesNotRaise(), ), ( - np.array([[[False, False, False, False], - [False, True, True, False], - [False, True, True, False], - [False, False, False, False]]], dtype=bool), + np.array( + [ + [ + [False, False, False, False], + [False, True, True, False], + [False, True, True, False], + [False, False, False, False], + ] + ], + dtype=bool, + ), np.array([-1, -2]), (4, 4), - np.array([[[ True, True, False, False], - [False, False, False, False], - [False, False, False, False], - [False, False, False, False]]], dtype=bool), + np.array( + [ + [ + [True, True, False, False], + [False, False, False, False], + [False, False, False, False], + [False, False, False, False], + ] + ], + dtype=bool, + ), DoesNotRaise(), ), ( - np.array([[[False, False, False, False], - [False, True, True, False], - [False, True, True, False], - [False, False, False, False]]], dtype=bool), + np.array( + [ + [ + [False, False, False, False], + [False, True, True, False], + [False, True, True, False], + [False, False, False, False], + ] + ], + dtype=bool, + ), np.array([-2, 2]), (4, 4), - np.array([[[False, False, False, False], - [False, False, False, False], - [False, False, False, False], - [ True, False, False, False]]], dtype=bool), + np.array( + [ + [ + [False, False, False, False], + [False, False, False, False], + [False, False, False, False], + [True, False, False, False], + ] + ], + dtype=bool, + ), DoesNotRaise(), ), ( - np.array([[[False, False, False, False], - [False, True, True, False], - [False, True, True, False], - [False, False, False, False]]], dtype=bool), + np.array( + [ + [ + [False, False, False, False], + [False, True, True, False], + [False, True, True, False], + [False, False, False, False], + ] + ], + dtype=bool, + ), np.array([3, 3]), (4, 4), - np.array([[[False, False, False, False], - [False, False, False, False], - [False, False, False, False], - [False, False, False, False]]], dtype=bool), + np.array( + [ + [ + [False, False, False, False], + [False, False, False, False], + [False, False, False, False], + [False, False, False, False], + ] + ], + dtype=bool, + ), DoesNotRaise(), ), ( - np.array([[[False, False, False, False], - [False, True, True, False], - [False, True, True, False], - [False, False, False, False]]], dtype=bool), + np.array( + [ + [ + [False, False, False, False], + [False, True, True, False], + [False, True, True, False], + [False, False, False, False], + ] + ], + dtype=bool, + ), np.array([3, 3]), (6, 6), - np.array([[[False, False, False, False, False, False], - [False, False, False, False, False, False], - [False, False, False, False, False, False], - [False, False, False, False, False, False], - [False, False, False, False, True, True], - [False, False, False, False, True, True]]], dtype=bool), + np.array( + [ + [ + [False, False, False, False, False, False], + [False, False, False, False, False, False], + [False, False, False, False, False, False], + [False, False, False, False, False, False], + [False, False, False, False, True, True], + [False, False, False, False, True, True], + ] + ], + dtype=bool, + ), DoesNotRaise(), ), ], From e6f0a8f3f09c528e7bd50d86de51fe3fdb677fda Mon Sep 17 00:00:00 2001 From: Onuralp SEZER Date: Mon, 16 Dec 2024 20:52:13 +0300 Subject: [PATCH 078/420] =?UTF-8?q?fix:=20=F0=9F=90=9B=20=20run=20twine=20?= =?UTF-8?q?via=20poetry=20run=20command=20to=20make=20sure=20existence=20o?= =?UTF-8?q?f=20twine=20package?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Onuralp SEZER --- .github/workflows/publish-test.yml | 2 +- .github/workflows/publish.yml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/publish-test.yml b/.github/workflows/publish-test.yml index 4b969a2102..71892612b2 100644 --- a/.github/workflows/publish-test.yml +++ b/.github/workflows/publish-test.yml @@ -38,7 +38,7 @@ jobs: run: | poetry install --with=build poetry build - twine check --strict dist/* + poetry run twine check --strict dist/* - name: 🚀 Publish to PyPi uses: pypa/gh-action-pypi-publish@67339c736fd9354cd4f8cb0b744f2b82a74b5c70 # v1.12.3 diff --git a/.github/workflows/publish.yml b/.github/workflows/publish.yml index ebc2ff2287..398c9deb36 100644 --- a/.github/workflows/publish.yml +++ b/.github/workflows/publish.yml @@ -36,7 +36,7 @@ jobs: run: | poetry install --with=build poetry build - twine check --strict dist/* + poetry run twine check --strict dist/* - name: 🚀 Publish to PyPi uses: pypa/gh-action-pypi-publish@67339c736fd9354cd4f8cb0b744f2b82a74b5c70 # v1.12.3 From 7a5672bbcc422f7f87fd695b64e1620363691412 Mon Sep 17 00:00:00 2001 From: "pre-commit-ci[bot]" <66853113+pre-commit-ci[bot]@users.noreply.github.com> Date: Mon, 16 Dec 2024 17:54:25 +0000 Subject: [PATCH 079/420] =?UTF-8?q?chore(pre=5Fcommit):=20=E2=AC=86=20pre?= =?UTF-8?q?=5Fcommit=20autoupdate?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit updates: - [github.com/astral-sh/ruff-pre-commit: v0.8.2 → v0.8.3](https://github.com/astral-sh/ruff-pre-commit/compare/v0.8.2...v0.8.3) --- .pre-commit-config.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index 0cce04ccc9..ba8b552084 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -32,7 +32,7 @@ repos: additional_dependencies: ["bandit[toml]"] - repo: https://github.com/astral-sh/ruff-pre-commit - rev: v0.8.2 + rev: v0.8.3 hooks: - id: ruff args: [--fix, --exit-non-zero-on-fix] From 7c6668b58e36b8f23f1aa1d34fc38e44651ab3da Mon Sep 17 00:00:00 2001 From: Onuralp SEZER Date: Mon, 16 Dec 2024 21:10:14 +0300 Subject: [PATCH 080/420] =?UTF-8?q?fix:=20=F0=9F=90=9B=20=20env=20value=20?= =?UTF-8?q?corrected=20for=20action=20to=20run=20properly?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Onuralp SEZER --- .github/workflows/publish-test.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/publish-test.yml b/.github/workflows/publish-test.yml index 71892612b2..ed80ed454c 100644 --- a/.github/workflows/publish-test.yml +++ b/.github/workflows/publish-test.yml @@ -14,7 +14,7 @@ jobs: build-and-publish-pre-release: name: Publish Pre-releasePackage runs-on: ubuntu-latest - environment: release + environment: test timeout-minutes: 10 permissions: id-token: write # Required for PyPI publishing From 4a0b3bd2cf5bdf4a2adb0976a3d629514c1bf671 Mon Sep 17 00:00:00 2001 From: "pre-commit-ci[bot]" <66853113+pre-commit-ci[bot]@users.noreply.github.com> Date: Mon, 23 Dec 2024 17:55:38 +0000 Subject: [PATCH 081/420] =?UTF-8?q?chore(pre=5Fcommit):=20=E2=AC=86=20pre?= =?UTF-8?q?=5Fcommit=20autoupdate?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit updates: - [github.com/astral-sh/ruff-pre-commit: v0.8.3 → v0.8.4](https://github.com/astral-sh/ruff-pre-commit/compare/v0.8.3...v0.8.4) --- .pre-commit-config.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index ba8b552084..95c5b86bc7 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -32,7 +32,7 @@ repos: additional_dependencies: ["bandit[toml]"] - repo: https://github.com/astral-sh/ruff-pre-commit - rev: v0.8.3 + rev: v0.8.4 hooks: - id: ruff args: [--fix, --exit-non-zero-on-fix] From 2a5ce95472d5f39574a20a9a60e480f450826709 Mon Sep 17 00:00:00 2001 From: Onuralp SEZER Date: Wed, 1 Jan 2025 23:03:51 +0300 Subject: [PATCH 082/420] =?UTF-8?q?chore(deps):=20=F0=9F=93=A6=20poetry=20?= =?UTF-8?q?lock=20file=20=20deps=20are=20updated?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Onuralp SEZER --- poetry.lock | 870 ++++++++++++++++++++++++++++++---------------------- 1 file changed, 506 insertions(+), 364 deletions(-) diff --git a/poetry.lock b/poetry.lock index bb52aeeb58..8922b4a5fc 100644 --- a/poetry.lock +++ b/poetry.lock @@ -155,19 +155,19 @@ typing-extensions = {version = ">=4.0.0", markers = "python_version < \"3.11\""} [[package]] name = "attrs" -version = "24.2.0" +version = "24.3.0" description = "Classes Without Boilerplate" optional = false -python-versions = ">=3.7" +python-versions = ">=3.8" files = [ - {file = "attrs-24.2.0-py3-none-any.whl", hash = "sha256:81921eb96de3191c8258c199618104dd27ac608d9366f5e35d011eae1867ede2"}, - {file = "attrs-24.2.0.tar.gz", hash = "sha256:5cfb1b9148b5b086569baec03f20d7b6bf3bcacc9a42bebf87ffaaca362f6346"}, + {file = "attrs-24.3.0-py3-none-any.whl", hash = "sha256:ac96cd038792094f438ad1f6ff80837353805ac950cd2aa0e0625ef19850c308"}, + {file = "attrs-24.3.0.tar.gz", hash = "sha256:8f5c07333d543103541ba7be0e2ce16eeee8130cb0b3f9238ab904ce1e85baff"}, ] [package.extras] benchmark = ["cloudpickle", "hypothesis", "mypy (>=1.11.1)", "pympler", "pytest (>=4.3.0)", "pytest-codspeed", "pytest-mypy-plugins", "pytest-xdist[psutil]"] cov = ["cloudpickle", "coverage[toml] (>=5.3)", "hypothesis", "mypy (>=1.11.1)", "pympler", "pytest (>=4.3.0)", "pytest-mypy-plugins", "pytest-xdist[psutil]"] -dev = ["cloudpickle", "hypothesis", "mypy (>=1.11.1)", "pre-commit", "pympler", "pytest (>=4.3.0)", "pytest-mypy-plugins", "pytest-xdist[psutil]"] +dev = ["cloudpickle", "hypothesis", "mypy (>=1.11.1)", "pre-commit-uv", "pympler", "pytest (>=4.3.0)", "pytest-mypy-plugins", "pytest-xdist[psutil]"] docs = ["cogapp", "furo", "myst-parser", "sphinx", "sphinx-notfound-page", "sphinxcontrib-towncrier", "towncrier (<24.7)"] tests = ["cloudpickle", "hypothesis", "mypy (>=1.11.1)", "pympler", "pytest (>=4.3.0)", "pytest-mypy-plugins", "pytest-xdist[psutil]"] tests-mypy = ["mypy (>=1.11.1)", "pytest-mypy-plugins"] @@ -249,6 +249,7 @@ files = [ [package.dependencies] six = ">=1.9.0" +tinycss2 = {version = ">=1.1.0,<1.3", optional = true, markers = "extra == \"css\""} webencodings = "*" [package.extras] @@ -333,13 +334,13 @@ test = ["flake8", "isort", "pytest"] [[package]] name = "certifi" -version = "2024.8.30" +version = "2024.12.14" description = "Python package for providing Mozilla's CA Bundle." optional = false python-versions = ">=3.6" files = [ - {file = "certifi-2024.8.30-py3-none-any.whl", hash = "sha256:922820b53db7a7257ffbda3f597266d435245903d80737e34f8a45ff3e3230d8"}, - {file = "certifi-2024.8.30.tar.gz", hash = "sha256:bec941d2aa8195e248a60b31ff9f0558284cf01a52591ceda73ea9afffd69fd9"}, + {file = "certifi-2024.12.14-py3-none-any.whl", hash = "sha256:1275f7a45be9464efc1173084eaa30f866fe2e47d389406136d332ed4967ec56"}, + {file = "certifi-2024.12.14.tar.gz", hash = "sha256:b650d30f370c2b724812bee08008be0c4163b163ddaec3f2546c1caf65f191db"}, ] [[package]] @@ -445,127 +446,114 @@ files = [ [[package]] name = "charset-normalizer" -version = "3.4.0" +version = "3.4.1" description = "The Real First Universal Charset Detector. Open, modern and actively maintained alternative to Chardet." optional = false -python-versions = ">=3.7.0" +python-versions = ">=3.7" files = [ - {file = "charset_normalizer-3.4.0-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:4f9fc98dad6c2eaa32fc3af1417d95b5e3d08aff968df0cd320066def971f9a6"}, - {file = "charset_normalizer-3.4.0-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:0de7b687289d3c1b3e8660d0741874abe7888100efe14bd0f9fd7141bcbda92b"}, - {file = "charset_normalizer-3.4.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:5ed2e36c3e9b4f21dd9422f6893dec0abf2cca553af509b10cd630f878d3eb99"}, - {file = "charset_normalizer-3.4.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:40d3ff7fc90b98c637bda91c89d51264a3dcf210cade3a2c6f838c7268d7a4ca"}, - {file = "charset_normalizer-3.4.0-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:1110e22af8ca26b90bd6364fe4c763329b0ebf1ee213ba32b68c73de5752323d"}, - {file = "charset_normalizer-3.4.0-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:86f4e8cca779080f66ff4f191a685ced73d2f72d50216f7112185dc02b90b9b7"}, - {file = "charset_normalizer-3.4.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:7f683ddc7eedd742e2889d2bfb96d69573fde1d92fcb811979cdb7165bb9c7d3"}, - {file = "charset_normalizer-3.4.0-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:27623ba66c183eca01bf9ff833875b459cad267aeeb044477fedac35e19ba907"}, - {file = "charset_normalizer-3.4.0-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:f606a1881d2663630ea5b8ce2efe2111740df4b687bd78b34a8131baa007f79b"}, - {file = "charset_normalizer-3.4.0-cp310-cp310-musllinux_1_2_i686.whl", hash = "sha256:0b309d1747110feb25d7ed6b01afdec269c647d382c857ef4663bbe6ad95a912"}, - {file = "charset_normalizer-3.4.0-cp310-cp310-musllinux_1_2_ppc64le.whl", hash = "sha256:136815f06a3ae311fae551c3df1f998a1ebd01ddd424aa5603a4336997629e95"}, - {file = "charset_normalizer-3.4.0-cp310-cp310-musllinux_1_2_s390x.whl", hash = "sha256:14215b71a762336254351b00ec720a8e85cada43b987da5a042e4ce3e82bd68e"}, - {file = "charset_normalizer-3.4.0-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:79983512b108e4a164b9c8d34de3992f76d48cadc9554c9e60b43f308988aabe"}, - {file = "charset_normalizer-3.4.0-cp310-cp310-win32.whl", hash = "sha256:c94057af19bc953643a33581844649a7fdab902624d2eb739738a30e2b3e60fc"}, - {file = "charset_normalizer-3.4.0-cp310-cp310-win_amd64.whl", hash = "sha256:55f56e2ebd4e3bc50442fbc0888c9d8c94e4e06a933804e2af3e89e2f9c1c749"}, - {file = "charset_normalizer-3.4.0-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:0d99dd8ff461990f12d6e42c7347fd9ab2532fb70e9621ba520f9e8637161d7c"}, - {file = "charset_normalizer-3.4.0-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:c57516e58fd17d03ebe67e181a4e4e2ccab1168f8c2976c6a334d4f819fe5944"}, - {file = "charset_normalizer-3.4.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:6dba5d19c4dfab08e58d5b36304b3f92f3bd5d42c1a3fa37b5ba5cdf6dfcbcee"}, - {file = "charset_normalizer-3.4.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:bf4475b82be41b07cc5e5ff94810e6a01f276e37c2d55571e3fe175e467a1a1c"}, - {file = "charset_normalizer-3.4.0-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:ce031db0408e487fd2775d745ce30a7cd2923667cf3b69d48d219f1d8f5ddeb6"}, - {file = "charset_normalizer-3.4.0-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:8ff4e7cdfdb1ab5698e675ca622e72d58a6fa2a8aa58195de0c0061288e6e3ea"}, - {file = "charset_normalizer-3.4.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:3710a9751938947e6327ea9f3ea6332a09bf0ba0c09cae9cb1f250bd1f1549bc"}, - {file = "charset_normalizer-3.4.0-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:82357d85de703176b5587dbe6ade8ff67f9f69a41c0733cf2425378b49954de5"}, - {file = "charset_normalizer-3.4.0-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:47334db71978b23ebcf3c0f9f5ee98b8d65992b65c9c4f2d34c2eaf5bcaf0594"}, - {file = "charset_normalizer-3.4.0-cp311-cp311-musllinux_1_2_i686.whl", hash = "sha256:8ce7fd6767a1cc5a92a639b391891bf1c268b03ec7e021c7d6d902285259685c"}, - {file = "charset_normalizer-3.4.0-cp311-cp311-musllinux_1_2_ppc64le.whl", hash = "sha256:f1a2f519ae173b5b6a2c9d5fa3116ce16e48b3462c8b96dfdded11055e3d6365"}, - {file = "charset_normalizer-3.4.0-cp311-cp311-musllinux_1_2_s390x.whl", hash = "sha256:63bc5c4ae26e4bc6be6469943b8253c0fd4e4186c43ad46e713ea61a0ba49129"}, - {file = "charset_normalizer-3.4.0-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:bcb4f8ea87d03bc51ad04add8ceaf9b0f085ac045ab4d74e73bbc2dc033f0236"}, - {file = "charset_normalizer-3.4.0-cp311-cp311-win32.whl", hash = "sha256:9ae4ef0b3f6b41bad6366fb0ea4fc1d7ed051528e113a60fa2a65a9abb5b1d99"}, - {file = "charset_normalizer-3.4.0-cp311-cp311-win_amd64.whl", hash = "sha256:cee4373f4d3ad28f1ab6290684d8e2ebdb9e7a1b74fdc39e4c211995f77bec27"}, - {file = "charset_normalizer-3.4.0-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:0713f3adb9d03d49d365b70b84775d0a0d18e4ab08d12bc46baa6132ba78aaf6"}, - {file = "charset_normalizer-3.4.0-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:de7376c29d95d6719048c194a9cf1a1b0393fbe8488a22008610b0361d834ecf"}, - {file = "charset_normalizer-3.4.0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:4a51b48f42d9358460b78725283f04bddaf44a9358197b889657deba38f329db"}, - {file = "charset_normalizer-3.4.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:b295729485b06c1a0683af02a9e42d2caa9db04a373dc38a6a58cdd1e8abddf1"}, - {file = "charset_normalizer-3.4.0-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:ee803480535c44e7f5ad00788526da7d85525cfefaf8acf8ab9a310000be4b03"}, - {file = "charset_normalizer-3.4.0-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:3d59d125ffbd6d552765510e3f31ed75ebac2c7470c7274195b9161a32350284"}, - {file = "charset_normalizer-3.4.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:8cda06946eac330cbe6598f77bb54e690b4ca93f593dee1568ad22b04f347c15"}, - {file = "charset_normalizer-3.4.0-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:07afec21bbbbf8a5cc3651aa96b980afe2526e7f048fdfb7f1014d84acc8b6d8"}, - {file = "charset_normalizer-3.4.0-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:6b40e8d38afe634559e398cc32b1472f376a4099c75fe6299ae607e404c033b2"}, - {file = "charset_normalizer-3.4.0-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:b8dcd239c743aa2f9c22ce674a145e0a25cb1566c495928440a181ca1ccf6719"}, - {file = "charset_normalizer-3.4.0-cp312-cp312-musllinux_1_2_ppc64le.whl", hash = "sha256:84450ba661fb96e9fd67629b93d2941c871ca86fc38d835d19d4225ff946a631"}, - {file = "charset_normalizer-3.4.0-cp312-cp312-musllinux_1_2_s390x.whl", hash = "sha256:44aeb140295a2f0659e113b31cfe92c9061622cadbc9e2a2f7b8ef6b1e29ef4b"}, - {file = "charset_normalizer-3.4.0-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:1db4e7fefefd0f548d73e2e2e041f9df5c59e178b4c72fbac4cc6f535cfb1565"}, - {file = "charset_normalizer-3.4.0-cp312-cp312-win32.whl", hash = "sha256:5726cf76c982532c1863fb64d8c6dd0e4c90b6ece9feb06c9f202417a31f7dd7"}, - {file = "charset_normalizer-3.4.0-cp312-cp312-win_amd64.whl", hash = "sha256:b197e7094f232959f8f20541ead1d9862ac5ebea1d58e9849c1bf979255dfac9"}, - {file = "charset_normalizer-3.4.0-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:dd4eda173a9fcccb5f2e2bd2a9f423d180194b1bf17cf59e3269899235b2a114"}, - {file = "charset_normalizer-3.4.0-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:e9e3c4c9e1ed40ea53acf11e2a386383c3304212c965773704e4603d589343ed"}, - {file = "charset_normalizer-3.4.0-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:92a7e36b000bf022ef3dbb9c46bfe2d52c047d5e3f3343f43204263c5addc250"}, - {file = "charset_normalizer-3.4.0-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:54b6a92d009cbe2fb11054ba694bc9e284dad30a26757b1e372a1fdddaf21920"}, - {file = "charset_normalizer-3.4.0-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:1ffd9493de4c922f2a38c2bf62b831dcec90ac673ed1ca182fe11b4d8e9f2a64"}, - {file = "charset_normalizer-3.4.0-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:35c404d74c2926d0287fbd63ed5d27eb911eb9e4a3bb2c6d294f3cfd4a9e0c23"}, - {file = "charset_normalizer-3.4.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:4796efc4faf6b53a18e3d46343535caed491776a22af773f366534056c4e1fbc"}, - {file = "charset_normalizer-3.4.0-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:e7fdd52961feb4c96507aa649550ec2a0d527c086d284749b2f582f2d40a2e0d"}, - {file = "charset_normalizer-3.4.0-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:92db3c28b5b2a273346bebb24857fda45601aef6ae1c011c0a997106581e8a88"}, - {file = "charset_normalizer-3.4.0-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:ab973df98fc99ab39080bfb0eb3a925181454d7c3ac8a1e695fddfae696d9e90"}, - {file = "charset_normalizer-3.4.0-cp313-cp313-musllinux_1_2_ppc64le.whl", hash = "sha256:4b67fdab07fdd3c10bb21edab3cbfe8cf5696f453afce75d815d9d7223fbe88b"}, - {file = "charset_normalizer-3.4.0-cp313-cp313-musllinux_1_2_s390x.whl", hash = "sha256:aa41e526a5d4a9dfcfbab0716c7e8a1b215abd3f3df5a45cf18a12721d31cb5d"}, - {file = "charset_normalizer-3.4.0-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:ffc519621dce0c767e96b9c53f09c5d215578e10b02c285809f76509a3931482"}, - {file = "charset_normalizer-3.4.0-cp313-cp313-win32.whl", hash = "sha256:f19c1585933c82098c2a520f8ec1227f20e339e33aca8fa6f956f6691b784e67"}, - {file = "charset_normalizer-3.4.0-cp313-cp313-win_amd64.whl", hash = "sha256:707b82d19e65c9bd28b81dde95249b07bf9f5b90ebe1ef17d9b57473f8a64b7b"}, - {file = "charset_normalizer-3.4.0-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:dbe03226baf438ac4fda9e2d0715022fd579cb641c4cf639fa40d53b2fe6f3e2"}, - {file = "charset_normalizer-3.4.0-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:dd9a8bd8900e65504a305bf8ae6fa9fbc66de94178c420791d0293702fce2df7"}, - {file = "charset_normalizer-3.4.0-cp37-cp37m-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:b8831399554b92b72af5932cdbbd4ddc55c55f631bb13ff8fe4e6536a06c5c51"}, - {file = "charset_normalizer-3.4.0-cp37-cp37m-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:a14969b8691f7998e74663b77b4c36c0337cb1df552da83d5c9004a93afdb574"}, - {file = "charset_normalizer-3.4.0-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:dcaf7c1524c0542ee2fc82cc8ec337f7a9f7edee2532421ab200d2b920fc97cf"}, - {file = "charset_normalizer-3.4.0-cp37-cp37m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:425c5f215d0eecee9a56cdb703203dda90423247421bf0d67125add85d0c4455"}, - {file = "charset_normalizer-3.4.0-cp37-cp37m-musllinux_1_2_aarch64.whl", hash = "sha256:d5b054862739d276e09928de37c79ddeec42a6e1bfc55863be96a36ba22926f6"}, - {file = "charset_normalizer-3.4.0-cp37-cp37m-musllinux_1_2_i686.whl", hash = "sha256:f3e73a4255342d4eb26ef6df01e3962e73aa29baa3124a8e824c5d3364a65748"}, - {file = "charset_normalizer-3.4.0-cp37-cp37m-musllinux_1_2_ppc64le.whl", hash = "sha256:2f6c34da58ea9c1a9515621f4d9ac379871a8f21168ba1b5e09d74250de5ad62"}, - {file = "charset_normalizer-3.4.0-cp37-cp37m-musllinux_1_2_s390x.whl", hash = "sha256:f09cb5a7bbe1ecae6e87901a2eb23e0256bb524a79ccc53eb0b7629fbe7677c4"}, - {file = "charset_normalizer-3.4.0-cp37-cp37m-musllinux_1_2_x86_64.whl", hash = "sha256:0099d79bdfcf5c1f0c2c72f91516702ebf8b0b8ddd8905f97a8aecf49712c621"}, - {file = "charset_normalizer-3.4.0-cp37-cp37m-win32.whl", hash = "sha256:9c98230f5042f4945f957d006edccc2af1e03ed5e37ce7c373f00a5a4daa6149"}, - {file = "charset_normalizer-3.4.0-cp37-cp37m-win_amd64.whl", hash = "sha256:62f60aebecfc7f4b82e3f639a7d1433a20ec32824db2199a11ad4f5e146ef5ee"}, - {file = "charset_normalizer-3.4.0-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:af73657b7a68211996527dbfeffbb0864e043d270580c5aef06dc4b659a4b578"}, - {file = "charset_normalizer-3.4.0-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:cab5d0b79d987c67f3b9e9c53f54a61360422a5a0bc075f43cab5621d530c3b6"}, - {file = "charset_normalizer-3.4.0-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:9289fd5dddcf57bab41d044f1756550f9e7cf0c8e373b8cdf0ce8773dc4bd417"}, - {file = "charset_normalizer-3.4.0-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:6b493a043635eb376e50eedf7818f2f322eabbaa974e948bd8bdd29eb7ef2a51"}, - {file = "charset_normalizer-3.4.0-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:9fa2566ca27d67c86569e8c85297aaf413ffab85a8960500f12ea34ff98e4c41"}, - {file = "charset_normalizer-3.4.0-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:a8e538f46104c815be19c975572d74afb53f29650ea2025bbfaef359d2de2f7f"}, - {file = "charset_normalizer-3.4.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:6fd30dc99682dc2c603c2b315bded2799019cea829f8bf57dc6b61efde6611c8"}, - {file = "charset_normalizer-3.4.0-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:2006769bd1640bdf4d5641c69a3d63b71b81445473cac5ded39740a226fa88ab"}, - {file = "charset_normalizer-3.4.0-cp38-cp38-musllinux_1_2_aarch64.whl", hash = "sha256:dc15e99b2d8a656f8e666854404f1ba54765871104e50c8e9813af8a7db07f12"}, - {file = "charset_normalizer-3.4.0-cp38-cp38-musllinux_1_2_i686.whl", hash = "sha256:ab2e5bef076f5a235c3774b4f4028a680432cded7cad37bba0fd90d64b187d19"}, - {file = "charset_normalizer-3.4.0-cp38-cp38-musllinux_1_2_ppc64le.whl", hash = "sha256:4ec9dd88a5b71abfc74e9df5ebe7921c35cbb3b641181a531ca65cdb5e8e4dea"}, - {file = "charset_normalizer-3.4.0-cp38-cp38-musllinux_1_2_s390x.whl", hash = "sha256:43193c5cda5d612f247172016c4bb71251c784d7a4d9314677186a838ad34858"}, - {file = "charset_normalizer-3.4.0-cp38-cp38-musllinux_1_2_x86_64.whl", hash = "sha256:aa693779a8b50cd97570e5a0f343538a8dbd3e496fa5dcb87e29406ad0299654"}, - {file = "charset_normalizer-3.4.0-cp38-cp38-win32.whl", hash = "sha256:7706f5850360ac01d80c89bcef1640683cc12ed87f42579dab6c5d3ed6888613"}, - {file = "charset_normalizer-3.4.0-cp38-cp38-win_amd64.whl", hash = "sha256:c3e446d253bd88f6377260d07c895816ebf33ffffd56c1c792b13bff9c3e1ade"}, - {file = "charset_normalizer-3.4.0-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:980b4f289d1d90ca5efcf07958d3eb38ed9c0b7676bf2831a54d4f66f9c27dfa"}, - {file = "charset_normalizer-3.4.0-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:f28f891ccd15c514a0981f3b9db9aa23d62fe1a99997512b0491d2ed323d229a"}, - {file = "charset_normalizer-3.4.0-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:a8aacce6e2e1edcb6ac625fb0f8c3a9570ccc7bfba1f63419b3769ccf6a00ed0"}, - {file = "charset_normalizer-3.4.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:bd7af3717683bea4c87acd8c0d3d5b44d56120b26fd3f8a692bdd2d5260c620a"}, - {file = "charset_normalizer-3.4.0-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:5ff2ed8194587faf56555927b3aa10e6fb69d931e33953943bc4f837dfee2242"}, - {file = "charset_normalizer-3.4.0-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:e91f541a85298cf35433bf66f3fab2a4a2cff05c127eeca4af174f6d497f0d4b"}, - {file = "charset_normalizer-3.4.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:309a7de0a0ff3040acaebb35ec45d18db4b28232f21998851cfa709eeff49d62"}, - {file = "charset_normalizer-3.4.0-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:285e96d9d53422efc0d7a17c60e59f37fbf3dfa942073f666db4ac71e8d726d0"}, - {file = "charset_normalizer-3.4.0-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:5d447056e2ca60382d460a604b6302d8db69476fd2015c81e7c35417cfabe4cd"}, - {file = "charset_normalizer-3.4.0-cp39-cp39-musllinux_1_2_i686.whl", hash = "sha256:20587d20f557fe189b7947d8e7ec5afa110ccf72a3128d61a2a387c3313f46be"}, - {file = "charset_normalizer-3.4.0-cp39-cp39-musllinux_1_2_ppc64le.whl", hash = "sha256:130272c698667a982a5d0e626851ceff662565379baf0ff2cc58067b81d4f11d"}, - {file = "charset_normalizer-3.4.0-cp39-cp39-musllinux_1_2_s390x.whl", hash = "sha256:ab22fbd9765e6954bc0bcff24c25ff71dcbfdb185fcdaca49e81bac68fe724d3"}, - {file = "charset_normalizer-3.4.0-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:7782afc9b6b42200f7362858f9e73b1f8316afb276d316336c0ec3bd73312742"}, - {file = "charset_normalizer-3.4.0-cp39-cp39-win32.whl", hash = "sha256:2de62e8801ddfff069cd5c504ce3bc9672b23266597d4e4f50eda28846c322f2"}, - {file = "charset_normalizer-3.4.0-cp39-cp39-win_amd64.whl", hash = "sha256:95c3c157765b031331dd4db3c775e58deaee050a3042fcad72cbc4189d7c8dca"}, - {file = "charset_normalizer-3.4.0-py3-none-any.whl", hash = "sha256:fe9f97feb71aa9896b81973a7bbada8c49501dc73e58a10fcef6663af95e5079"}, - {file = "charset_normalizer-3.4.0.tar.gz", hash = "sha256:223217c3d4f82c3ac5e29032b3f1c2eb0fb591b72161f86d93f5719079dae93e"}, + {file = "charset_normalizer-3.4.1-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:91b36a978b5ae0ee86c394f5a54d6ef44db1de0815eb43de826d41d21e4af3de"}, + {file = "charset_normalizer-3.4.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:7461baadb4dc00fd9e0acbe254e3d7d2112e7f92ced2adc96e54ef6501c5f176"}, + {file = "charset_normalizer-3.4.1-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:e218488cd232553829be0664c2292d3af2eeeb94b32bea483cf79ac6a694e037"}, + {file = "charset_normalizer-3.4.1-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:80ed5e856eb7f30115aaf94e4a08114ccc8813e6ed1b5efa74f9f82e8509858f"}, + {file = "charset_normalizer-3.4.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:b010a7a4fd316c3c484d482922d13044979e78d1861f0e0650423144c616a46a"}, + {file = "charset_normalizer-3.4.1-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:4532bff1b8421fd0a320463030c7520f56a79c9024a4e88f01c537316019005a"}, + {file = "charset_normalizer-3.4.1-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:d973f03c0cb71c5ed99037b870f2be986c3c05e63622c017ea9816881d2dd247"}, + {file = "charset_normalizer-3.4.1-cp310-cp310-musllinux_1_2_i686.whl", hash = "sha256:3a3bd0dcd373514dcec91c411ddb9632c0d7d92aed7093b8c3bbb6d69ca74408"}, + {file = "charset_normalizer-3.4.1-cp310-cp310-musllinux_1_2_ppc64le.whl", hash = "sha256:d9c3cdf5390dcd29aa8056d13e8e99526cda0305acc038b96b30352aff5ff2bb"}, + {file = "charset_normalizer-3.4.1-cp310-cp310-musllinux_1_2_s390x.whl", hash = "sha256:2bdfe3ac2e1bbe5b59a1a63721eb3b95fc9b6817ae4a46debbb4e11f6232428d"}, + {file = "charset_normalizer-3.4.1-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:eab677309cdb30d047996b36d34caeda1dc91149e4fdca0b1a039b3f79d9a807"}, + {file = "charset_normalizer-3.4.1-cp310-cp310-win32.whl", hash = "sha256:c0429126cf75e16c4f0ad00ee0eae4242dc652290f940152ca8c75c3a4b6ee8f"}, + {file = "charset_normalizer-3.4.1-cp310-cp310-win_amd64.whl", hash = "sha256:9f0b8b1c6d84c8034a44893aba5e767bf9c7a211e313a9605d9c617d7083829f"}, + {file = "charset_normalizer-3.4.1-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:8bfa33f4f2672964266e940dd22a195989ba31669bd84629f05fab3ef4e2d125"}, + {file = "charset_normalizer-3.4.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:28bf57629c75e810b6ae989f03c0828d64d6b26a5e205535585f96093e405ed1"}, + {file = "charset_normalizer-3.4.1-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:f08ff5e948271dc7e18a35641d2f11a4cd8dfd5634f55228b691e62b37125eb3"}, + {file = "charset_normalizer-3.4.1-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:234ac59ea147c59ee4da87a0c0f098e9c8d169f4dc2a159ef720f1a61bbe27cd"}, + {file = "charset_normalizer-3.4.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:fd4ec41f914fa74ad1b8304bbc634b3de73d2a0889bd32076342a573e0779e00"}, + {file = "charset_normalizer-3.4.1-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:eea6ee1db730b3483adf394ea72f808b6e18cf3cb6454b4d86e04fa8c4327a12"}, + {file = "charset_normalizer-3.4.1-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:c96836c97b1238e9c9e3fe90844c947d5afbf4f4c92762679acfe19927d81d77"}, + {file = "charset_normalizer-3.4.1-cp311-cp311-musllinux_1_2_i686.whl", hash = "sha256:4d86f7aff21ee58f26dcf5ae81a9addbd914115cdebcbb2217e4f0ed8982e146"}, + {file = "charset_normalizer-3.4.1-cp311-cp311-musllinux_1_2_ppc64le.whl", hash = "sha256:09b5e6733cbd160dcc09589227187e242a30a49ca5cefa5a7edd3f9d19ed53fd"}, + {file = "charset_normalizer-3.4.1-cp311-cp311-musllinux_1_2_s390x.whl", hash = "sha256:5777ee0881f9499ed0f71cc82cf873d9a0ca8af166dfa0af8ec4e675b7df48e6"}, + {file = "charset_normalizer-3.4.1-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:237bdbe6159cff53b4f24f397d43c6336c6b0b42affbe857970cefbb620911c8"}, + {file = "charset_normalizer-3.4.1-cp311-cp311-win32.whl", hash = "sha256:8417cb1f36cc0bc7eaba8ccb0e04d55f0ee52df06df3ad55259b9a323555fc8b"}, + {file = "charset_normalizer-3.4.1-cp311-cp311-win_amd64.whl", hash = "sha256:d7f50a1f8c450f3925cb367d011448c39239bb3eb4117c36a6d354794de4ce76"}, + {file = "charset_normalizer-3.4.1-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:73d94b58ec7fecbc7366247d3b0b10a21681004153238750bb67bd9012414545"}, + {file = "charset_normalizer-3.4.1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:dad3e487649f498dd991eeb901125411559b22e8d7ab25d3aeb1af367df5efd7"}, + {file = "charset_normalizer-3.4.1-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:c30197aa96e8eed02200a83fba2657b4c3acd0f0aa4bdc9f6c1af8e8962e0757"}, + {file = "charset_normalizer-3.4.1-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:2369eea1ee4a7610a860d88f268eb39b95cb588acd7235e02fd5a5601773d4fa"}, + {file = "charset_normalizer-3.4.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:bc2722592d8998c870fa4e290c2eec2c1569b87fe58618e67d38b4665dfa680d"}, + {file = "charset_normalizer-3.4.1-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:ffc9202a29ab3920fa812879e95a9e78b2465fd10be7fcbd042899695d75e616"}, + {file = "charset_normalizer-3.4.1-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:804a4d582ba6e5b747c625bf1255e6b1507465494a40a2130978bda7b932c90b"}, + {file = "charset_normalizer-3.4.1-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:0f55e69f030f7163dffe9fd0752b32f070566451afe180f99dbeeb81f511ad8d"}, + {file = "charset_normalizer-3.4.1-cp312-cp312-musllinux_1_2_ppc64le.whl", hash = "sha256:c4c3e6da02df6fa1410a7680bd3f63d4f710232d3139089536310d027950696a"}, + {file = "charset_normalizer-3.4.1-cp312-cp312-musllinux_1_2_s390x.whl", hash = "sha256:5df196eb874dae23dcfb968c83d4f8fdccb333330fe1fc278ac5ceeb101003a9"}, + {file = "charset_normalizer-3.4.1-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:e358e64305fe12299a08e08978f51fc21fac060dcfcddd95453eabe5b93ed0e1"}, + {file = "charset_normalizer-3.4.1-cp312-cp312-win32.whl", hash = "sha256:9b23ca7ef998bc739bf6ffc077c2116917eabcc901f88da1b9856b210ef63f35"}, + {file = "charset_normalizer-3.4.1-cp312-cp312-win_amd64.whl", hash = "sha256:6ff8a4a60c227ad87030d76e99cd1698345d4491638dfa6673027c48b3cd395f"}, + {file = "charset_normalizer-3.4.1-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:aabfa34badd18f1da5ec1bc2715cadc8dca465868a4e73a0173466b688f29dda"}, + {file = "charset_normalizer-3.4.1-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:22e14b5d70560b8dd51ec22863f370d1e595ac3d024cb8ad7d308b4cd95f8313"}, + {file = "charset_normalizer-3.4.1-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:8436c508b408b82d87dc5f62496973a1805cd46727c34440b0d29d8a2f50a6c9"}, + {file = "charset_normalizer-3.4.1-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:2d074908e1aecee37a7635990b2c6d504cd4766c7bc9fc86d63f9c09af3fa11b"}, + {file = "charset_normalizer-3.4.1-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:955f8851919303c92343d2f66165294848d57e9bba6cf6e3625485a70a038d11"}, + {file = "charset_normalizer-3.4.1-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:44ecbf16649486d4aebafeaa7ec4c9fed8b88101f4dd612dcaf65d5e815f837f"}, + {file = "charset_normalizer-3.4.1-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:0924e81d3d5e70f8126529951dac65c1010cdf117bb75eb02dd12339b57749dd"}, + {file = "charset_normalizer-3.4.1-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:2967f74ad52c3b98de4c3b32e1a44e32975e008a9cd2a8cc8966d6a5218c5cb2"}, + {file = "charset_normalizer-3.4.1-cp313-cp313-musllinux_1_2_ppc64le.whl", hash = "sha256:c75cb2a3e389853835e84a2d8fb2b81a10645b503eca9bcb98df6b5a43eb8886"}, + {file = "charset_normalizer-3.4.1-cp313-cp313-musllinux_1_2_s390x.whl", hash = "sha256:09b26ae6b1abf0d27570633b2b078a2a20419c99d66fb2823173d73f188ce601"}, + {file = "charset_normalizer-3.4.1-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:fa88b843d6e211393a37219e6a1c1df99d35e8fd90446f1118f4216e307e48cd"}, + {file = "charset_normalizer-3.4.1-cp313-cp313-win32.whl", hash = "sha256:eb8178fe3dba6450a3e024e95ac49ed3400e506fd4e9e5c32d30adda88cbd407"}, + {file = "charset_normalizer-3.4.1-cp313-cp313-win_amd64.whl", hash = "sha256:b1ac5992a838106edb89654e0aebfc24f5848ae2547d22c2c3f66454daa11971"}, + {file = "charset_normalizer-3.4.1-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:f30bf9fd9be89ecb2360c7d94a711f00c09b976258846efe40db3d05828e8089"}, + {file = "charset_normalizer-3.4.1-cp37-cp37m-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:97f68b8d6831127e4787ad15e6757232e14e12060bec17091b85eb1486b91d8d"}, + {file = "charset_normalizer-3.4.1-cp37-cp37m-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:7974a0b5ecd505609e3b19742b60cee7aa2aa2fb3151bc917e6e2646d7667dcf"}, + {file = "charset_normalizer-3.4.1-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:fc54db6c8593ef7d4b2a331b58653356cf04f67c960f584edb7c3d8c97e8f39e"}, + {file = "charset_normalizer-3.4.1-cp37-cp37m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:311f30128d7d333eebd7896965bfcfbd0065f1716ec92bd5638d7748eb6f936a"}, + {file = "charset_normalizer-3.4.1-cp37-cp37m-musllinux_1_2_aarch64.whl", hash = "sha256:7d053096f67cd1241601111b698f5cad775f97ab25d81567d3f59219b5f1adbd"}, + {file = "charset_normalizer-3.4.1-cp37-cp37m-musllinux_1_2_i686.whl", hash = "sha256:807f52c1f798eef6cf26beb819eeb8819b1622ddfeef9d0977a8502d4db6d534"}, + {file = "charset_normalizer-3.4.1-cp37-cp37m-musllinux_1_2_ppc64le.whl", hash = "sha256:dccbe65bd2f7f7ec22c4ff99ed56faa1e9f785482b9bbd7c717e26fd723a1d1e"}, + {file = "charset_normalizer-3.4.1-cp37-cp37m-musllinux_1_2_s390x.whl", hash = "sha256:2fb9bd477fdea8684f78791a6de97a953c51831ee2981f8e4f583ff3b9d9687e"}, + {file = "charset_normalizer-3.4.1-cp37-cp37m-musllinux_1_2_x86_64.whl", hash = "sha256:01732659ba9b5b873fc117534143e4feefecf3b2078b0a6a2e925271bb6f4cfa"}, + {file = "charset_normalizer-3.4.1-cp37-cp37m-win32.whl", hash = "sha256:7a4f97a081603d2050bfaffdefa5b02a9ec823f8348a572e39032caa8404a487"}, + {file = "charset_normalizer-3.4.1-cp37-cp37m-win_amd64.whl", hash = "sha256:7b1bef6280950ee6c177b326508f86cad7ad4dff12454483b51d8b7d673a2c5d"}, + {file = "charset_normalizer-3.4.1-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:ecddf25bee22fe4fe3737a399d0d177d72bc22be6913acfab364b40bce1ba83c"}, + {file = "charset_normalizer-3.4.1-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:8c60ca7339acd497a55b0ea5d506b2a2612afb2826560416f6894e8b5770d4a9"}, + {file = "charset_normalizer-3.4.1-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:b7b2d86dd06bfc2ade3312a83a5c364c7ec2e3498f8734282c6c3d4b07b346b8"}, + {file = "charset_normalizer-3.4.1-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:dd78cfcda14a1ef52584dbb008f7ac81c1328c0f58184bf9a84c49c605002da6"}, + {file = "charset_normalizer-3.4.1-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:6e27f48bcd0957c6d4cb9d6fa6b61d192d0b13d5ef563e5f2ae35feafc0d179c"}, + {file = "charset_normalizer-3.4.1-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:01ad647cdd609225c5350561d084b42ddf732f4eeefe6e678765636791e78b9a"}, + {file = "charset_normalizer-3.4.1-cp38-cp38-musllinux_1_2_aarch64.whl", hash = "sha256:619a609aa74ae43d90ed2e89bdd784765de0a25ca761b93e196d938b8fd1dbbd"}, + {file = "charset_normalizer-3.4.1-cp38-cp38-musllinux_1_2_i686.whl", hash = "sha256:89149166622f4db9b4b6a449256291dc87a99ee53151c74cbd82a53c8c2f6ccd"}, + {file = "charset_normalizer-3.4.1-cp38-cp38-musllinux_1_2_ppc64le.whl", hash = "sha256:7709f51f5f7c853f0fb938bcd3bc59cdfdc5203635ffd18bf354f6967ea0f824"}, + {file = "charset_normalizer-3.4.1-cp38-cp38-musllinux_1_2_s390x.whl", hash = "sha256:345b0426edd4e18138d6528aed636de7a9ed169b4aaf9d61a8c19e39d26838ca"}, + {file = "charset_normalizer-3.4.1-cp38-cp38-musllinux_1_2_x86_64.whl", hash = "sha256:0907f11d019260cdc3f94fbdb23ff9125f6b5d1039b76003b5b0ac9d6a6c9d5b"}, + {file = "charset_normalizer-3.4.1-cp38-cp38-win32.whl", hash = "sha256:ea0d8d539afa5eb2728aa1932a988a9a7af94f18582ffae4bc10b3fbdad0626e"}, + {file = "charset_normalizer-3.4.1-cp38-cp38-win_amd64.whl", hash = "sha256:329ce159e82018d646c7ac45b01a430369d526569ec08516081727a20e9e4af4"}, + {file = "charset_normalizer-3.4.1-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:b97e690a2118911e39b4042088092771b4ae3fc3aa86518f84b8cf6888dbdb41"}, + {file = "charset_normalizer-3.4.1-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:78baa6d91634dfb69ec52a463534bc0df05dbd546209b79a3880a34487f4b84f"}, + {file = "charset_normalizer-3.4.1-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:1a2bc9f351a75ef49d664206d51f8e5ede9da246602dc2d2726837620ea034b2"}, + {file = "charset_normalizer-3.4.1-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:75832c08354f595c760a804588b9357d34ec00ba1c940c15e31e96d902093770"}, + {file = "charset_normalizer-3.4.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:0af291f4fe114be0280cdd29d533696a77b5b49cfde5467176ecab32353395c4"}, + {file = "charset_normalizer-3.4.1-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:0167ddc8ab6508fe81860a57dd472b2ef4060e8d378f0cc555707126830f2537"}, + {file = "charset_normalizer-3.4.1-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:2a75d49014d118e4198bcee5ee0a6f25856b29b12dbf7cd012791f8a6cc5c496"}, + {file = "charset_normalizer-3.4.1-cp39-cp39-musllinux_1_2_i686.whl", hash = "sha256:363e2f92b0f0174b2f8238240a1a30142e3db7b957a5dd5689b0e75fb717cc78"}, + {file = "charset_normalizer-3.4.1-cp39-cp39-musllinux_1_2_ppc64le.whl", hash = "sha256:ab36c8eb7e454e34e60eb55ca5d241a5d18b2c6244f6827a30e451c42410b5f7"}, + {file = "charset_normalizer-3.4.1-cp39-cp39-musllinux_1_2_s390x.whl", hash = "sha256:4c0907b1928a36d5a998d72d64d8eaa7244989f7aaaf947500d3a800c83a3fd6"}, + {file = "charset_normalizer-3.4.1-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:04432ad9479fa40ec0f387795ddad4437a2b50417c69fa275e212933519ff294"}, + {file = "charset_normalizer-3.4.1-cp39-cp39-win32.whl", hash = "sha256:3bed14e9c89dcb10e8f3a29f9ccac4955aebe93c71ae803af79265c9ca5644c5"}, + {file = "charset_normalizer-3.4.1-cp39-cp39-win_amd64.whl", hash = "sha256:49402233c892a461407c512a19435d1ce275543138294f7ef013f0b63d5d3765"}, + {file = "charset_normalizer-3.4.1-py3-none-any.whl", hash = "sha256:d98b1668f06378c6dbefec3b92299716b931cd4e6061f3c875a71ced1780ab85"}, + {file = "charset_normalizer-3.4.1.tar.gz", hash = "sha256:44251f18cd68a75b56585dd00dae26183e102cd5e0f9f1466e6df5da2ed64ea3"}, ] [[package]] name = "click" -version = "8.1.7" +version = "8.1.8" description = "Composable command line interface toolkit" optional = false python-versions = ">=3.7" files = [ - {file = "click-8.1.7-py3-none-any.whl", hash = "sha256:ae74fb96c20a0277a1d615f1e4d73c8414f5a98db8b799a7931d1582f3390c28"}, - {file = "click-8.1.7.tar.gz", hash = "sha256:ca9853ad459e787e2192211578cc907e7594e294c7ccc834310722b41b9ca6de"}, + {file = "click-8.1.8-py3-none-any.whl", hash = "sha256:63c132bbbed01578a06712a2d1f497bb62d9c1c0d329b7903a866228027263b2"}, + {file = "click-8.1.8.tar.gz", hash = "sha256:ed53c9d8990d83c2a27deae68e4ee337473f6330c040a31d4225c9574d16096a"}, ] [package.dependencies] @@ -890,37 +878,37 @@ tests = ["pytest", "pytest-cov", "pytest-xdist"] [[package]] name = "debugpy" -version = "1.8.9" +version = "1.8.11" description = "An implementation of the Debug Adapter Protocol for Python" optional = false python-versions = ">=3.8" files = [ - {file = "debugpy-1.8.9-cp310-cp310-macosx_14_0_x86_64.whl", hash = "sha256:cfe1e6c6ad7178265f74981edf1154ffce97b69005212fbc90ca22ddfe3d017e"}, - {file = "debugpy-1.8.9-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ada7fb65102a4d2c9ab62e8908e9e9f12aed9d76ef44880367bc9308ebe49a0f"}, - {file = "debugpy-1.8.9-cp310-cp310-win32.whl", hash = "sha256:c36856343cbaa448171cba62a721531e10e7ffb0abff838004701454149bc037"}, - {file = "debugpy-1.8.9-cp310-cp310-win_amd64.whl", hash = "sha256:17c5e0297678442511cf00a745c9709e928ea4ca263d764e90d233208889a19e"}, - {file = "debugpy-1.8.9-cp311-cp311-macosx_14_0_universal2.whl", hash = "sha256:b74a49753e21e33e7cf030883a92fa607bddc4ede1aa4145172debc637780040"}, - {file = "debugpy-1.8.9-cp311-cp311-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:62d22dacdb0e296966d7d74a7141aaab4bec123fa43d1a35ddcb39bf9fd29d70"}, - {file = "debugpy-1.8.9-cp311-cp311-win32.whl", hash = "sha256:8138efff315cd09b8dcd14226a21afda4ca582284bf4215126d87342bba1cc66"}, - {file = "debugpy-1.8.9-cp311-cp311-win_amd64.whl", hash = "sha256:ff54ef77ad9f5c425398efb150239f6fe8e20c53ae2f68367eba7ece1e96226d"}, - {file = "debugpy-1.8.9-cp312-cp312-macosx_14_0_universal2.whl", hash = "sha256:957363d9a7a6612a37458d9a15e72d03a635047f946e5fceee74b50d52a9c8e2"}, - {file = "debugpy-1.8.9-cp312-cp312-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:5e565fc54b680292b418bb809f1386f17081d1346dca9a871bf69a8ac4071afe"}, - {file = "debugpy-1.8.9-cp312-cp312-win32.whl", hash = "sha256:3e59842d6c4569c65ceb3751075ff8d7e6a6ada209ceca6308c9bde932bcef11"}, - {file = "debugpy-1.8.9-cp312-cp312-win_amd64.whl", hash = "sha256:66eeae42f3137eb428ea3a86d4a55f28da9bd5a4a3d369ba95ecc3a92c1bba53"}, - {file = "debugpy-1.8.9-cp313-cp313-macosx_14_0_universal2.whl", hash = "sha256:957ecffff80d47cafa9b6545de9e016ae8c9547c98a538ee96ab5947115fb3dd"}, - {file = "debugpy-1.8.9-cp313-cp313-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:1efbb3ff61487e2c16b3e033bc8595aea578222c08aaf3c4bf0f93fadbd662ee"}, - {file = "debugpy-1.8.9-cp313-cp313-win32.whl", hash = "sha256:7c4d65d03bee875bcb211c76c1d8f10f600c305dbd734beaed4077e902606fee"}, - {file = "debugpy-1.8.9-cp313-cp313-win_amd64.whl", hash = "sha256:e46b420dc1bea64e5bbedd678148be512442bc589b0111bd799367cde051e71a"}, - {file = "debugpy-1.8.9-cp38-cp38-macosx_14_0_x86_64.whl", hash = "sha256:472a3994999fe6c0756945ffa359e9e7e2d690fb55d251639d07208dbc37caea"}, - {file = "debugpy-1.8.9-cp38-cp38-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:365e556a4772d7d0d151d7eb0e77ec4db03bcd95f26b67b15742b88cacff88e9"}, - {file = "debugpy-1.8.9-cp38-cp38-win32.whl", hash = "sha256:54a7e6d3014c408eb37b0b06021366ee985f1539e12fe49ca2ee0d392d9ceca5"}, - {file = "debugpy-1.8.9-cp38-cp38-win_amd64.whl", hash = "sha256:8e99c0b1cc7bf86d83fb95d5ccdc4ad0586d4432d489d1f54e4055bcc795f693"}, - {file = "debugpy-1.8.9-cp39-cp39-macosx_14_0_x86_64.whl", hash = "sha256:7e8b079323a56f719977fde9d8115590cb5e7a1cba2fcee0986ef8817116e7c1"}, - {file = "debugpy-1.8.9-cp39-cp39-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:6953b335b804a41f16a192fa2e7851bdcfd92173cbb2f9f777bb934f49baab65"}, - {file = "debugpy-1.8.9-cp39-cp39-win32.whl", hash = "sha256:7e646e62d4602bb8956db88b1e72fe63172148c1e25c041e03b103a25f36673c"}, - {file = "debugpy-1.8.9-cp39-cp39-win_amd64.whl", hash = "sha256:3d9755e77a2d680ce3d2c5394a444cf42be4a592caaf246dbfbdd100ffcf7ae5"}, - {file = "debugpy-1.8.9-py2.py3-none-any.whl", hash = "sha256:cc37a6c9987ad743d9c3a14fa1b1a14b7e4e6041f9dd0c8abf8895fe7a97b899"}, - {file = "debugpy-1.8.9.zip", hash = "sha256:1339e14c7d980407248f09824d1b25ff5c5616651689f1e0f0e51bdead3ea13e"}, + {file = "debugpy-1.8.11-cp310-cp310-macosx_14_0_x86_64.whl", hash = "sha256:2b26fefc4e31ff85593d68b9022e35e8925714a10ab4858fb1b577a8a48cb8cd"}, + {file = "debugpy-1.8.11-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:61bc8b3b265e6949855300e84dc93d02d7a3a637f2aec6d382afd4ceb9120c9f"}, + {file = "debugpy-1.8.11-cp310-cp310-win32.whl", hash = "sha256:c928bbf47f65288574b78518449edaa46c82572d340e2750889bbf8cd92f3737"}, + {file = "debugpy-1.8.11-cp310-cp310-win_amd64.whl", hash = "sha256:8da1db4ca4f22583e834dcabdc7832e56fe16275253ee53ba66627b86e304da1"}, + {file = "debugpy-1.8.11-cp311-cp311-macosx_14_0_universal2.whl", hash = "sha256:85de8474ad53ad546ff1c7c7c89230db215b9b8a02754d41cb5a76f70d0be296"}, + {file = "debugpy-1.8.11-cp311-cp311-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:8ffc382e4afa4aee367bf413f55ed17bd91b191dcaf979890af239dda435f2a1"}, + {file = "debugpy-1.8.11-cp311-cp311-win32.whl", hash = "sha256:40499a9979c55f72f4eb2fc38695419546b62594f8af194b879d2a18439c97a9"}, + {file = "debugpy-1.8.11-cp311-cp311-win_amd64.whl", hash = "sha256:987bce16e86efa86f747d5151c54e91b3c1e36acc03ce1ddb50f9d09d16ded0e"}, + {file = "debugpy-1.8.11-cp312-cp312-macosx_14_0_universal2.whl", hash = "sha256:84e511a7545d11683d32cdb8f809ef63fc17ea2a00455cc62d0a4dbb4ed1c308"}, + {file = "debugpy-1.8.11-cp312-cp312-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ce291a5aca4985d82875d6779f61375e959208cdf09fcec40001e65fb0a54768"}, + {file = "debugpy-1.8.11-cp312-cp312-win32.whl", hash = "sha256:28e45b3f827d3bf2592f3cf7ae63282e859f3259db44ed2b129093ca0ac7940b"}, + {file = "debugpy-1.8.11-cp312-cp312-win_amd64.whl", hash = "sha256:44b1b8e6253bceada11f714acf4309ffb98bfa9ac55e4fce14f9e5d4484287a1"}, + {file = "debugpy-1.8.11-cp313-cp313-macosx_14_0_universal2.whl", hash = "sha256:8988f7163e4381b0da7696f37eec7aca19deb02e500245df68a7159739bbd0d3"}, + {file = "debugpy-1.8.11-cp313-cp313-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:6c1f6a173d1140e557347419767d2b14ac1c9cd847e0b4c5444c7f3144697e4e"}, + {file = "debugpy-1.8.11-cp313-cp313-win32.whl", hash = "sha256:bb3b15e25891f38da3ca0740271e63ab9db61f41d4d8541745cfc1824252cb28"}, + {file = "debugpy-1.8.11-cp313-cp313-win_amd64.whl", hash = "sha256:d8768edcbeb34da9e11bcb8b5c2e0958d25218df7a6e56adf415ef262cd7b6d1"}, + {file = "debugpy-1.8.11-cp38-cp38-macosx_14_0_x86_64.whl", hash = "sha256:ad7efe588c8f5cf940f40c3de0cd683cc5b76819446abaa50dc0829a30c094db"}, + {file = "debugpy-1.8.11-cp38-cp38-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:189058d03a40103a57144752652b3ab08ff02b7595d0ce1f651b9acc3a3a35a0"}, + {file = "debugpy-1.8.11-cp38-cp38-win32.whl", hash = "sha256:32db46ba45849daed7ccf3f2e26f7a386867b077f39b2a974bb5c4c2c3b0a280"}, + {file = "debugpy-1.8.11-cp38-cp38-win_amd64.whl", hash = "sha256:116bf8342062246ca749013df4f6ea106f23bc159305843491f64672a55af2e5"}, + {file = "debugpy-1.8.11-cp39-cp39-macosx_14_0_x86_64.whl", hash = "sha256:654130ca6ad5de73d978057eaf9e582244ff72d4574b3e106fb8d3d2a0d32458"}, + {file = "debugpy-1.8.11-cp39-cp39-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:23dc34c5e03b0212fa3c49a874df2b8b1b8fda95160bd79c01eb3ab51ea8d851"}, + {file = "debugpy-1.8.11-cp39-cp39-win32.whl", hash = "sha256:52d8a3166c9f2815bfae05f386114b0b2d274456980d41f320299a8d9a5615a7"}, + {file = "debugpy-1.8.11-cp39-cp39-win_amd64.whl", hash = "sha256:52c3cf9ecda273a19cc092961ee34eb9ba8687d67ba34cc7b79a521c1c64c4c0"}, + {file = "debugpy-1.8.11-py2.py3-none-any.whl", hash = "sha256:0e22f846f4211383e6a416d04b4c13ed174d24cc5d43f5fd52e7821d0ebc8920"}, + {file = "debugpy-1.8.11.tar.gz", hash = "sha256:6ad2688b69235c43b020e04fecccdf6a96c8943ca9c2fb340b8adc103c655e57"}, ] [[package]] @@ -1139,13 +1127,13 @@ dev = ["flake8", "markdown", "twine", "wheel"] [[package]] name = "gitdb" -version = "4.0.11" +version = "4.0.12" description = "Git Object Database" optional = false python-versions = ">=3.7" files = [ - {file = "gitdb-4.0.11-py3-none-any.whl", hash = "sha256:81a3407ddd2ee8df444cbacea00e2d038e40150acfa3001696fe0dcf1d3adfa4"}, - {file = "gitdb-4.0.11.tar.gz", hash = "sha256:bf5421126136d6d0af55bc1e7c1af1c397a34f5b7bd79e776cd3e89785c2b04b"}, + {file = "gitdb-4.0.12-py3-none-any.whl", hash = "sha256:67073e15955400952c6565cc3e707c554a4eea2e428946f7a4c162fab9bd9bcf"}, + {file = "gitdb-4.0.12.tar.gz", hash = "sha256:5ef71f855d191a3326fcfbc0d5da835f26b13fbcba60c32c21091c349ffdb571"}, ] [package.dependencies] @@ -1153,20 +1141,20 @@ smmap = ">=3.0.1,<6" [[package]] name = "gitpython" -version = "3.1.43" +version = "3.1.44" description = "GitPython is a Python library used to interact with Git repositories" optional = false python-versions = ">=3.7" files = [ - {file = "GitPython-3.1.43-py3-none-any.whl", hash = "sha256:eec7ec56b92aad751f9912a73404bc02ba212a23adb2c7098ee668417051a1ff"}, - {file = "GitPython-3.1.43.tar.gz", hash = "sha256:35f314a9f878467f5453cc1fee295c3e18e52f1b99f10f6cf5b1682e968a9e7c"}, + {file = "GitPython-3.1.44-py3-none-any.whl", hash = "sha256:9e0e10cda9bed1ee64bc9a6de50e7e38a9c9943241cd7f585f6df3ed28011110"}, + {file = "gitpython-3.1.44.tar.gz", hash = "sha256:c87e30b26253bf5418b01b0660f818967f3c503193838337fe5e573331249269"}, ] [package.dependencies] gitdb = ">=4.0.1,<5" [package.extras] -doc = ["sphinx (==4.3.2)", "sphinx-autodoc-typehints", "sphinx-rtd-theme", "sphinxcontrib-applehelp (>=1.0.2,<=1.0.4)", "sphinxcontrib-devhelp (==1.0.2)", "sphinxcontrib-htmlhelp (>=2.0.0,<=2.0.1)", "sphinxcontrib-qthelp (==1.0.3)", "sphinxcontrib-serializinghtml (==1.1.5)"] +doc = ["sphinx (>=7.1.2,<7.2)", "sphinx-autodoc-typehints", "sphinx_rtd_theme"] test = ["coverage[toml]", "ddt (>=1.1.1,!=1.4.3)", "mock", "mypy", "pre-commit", "pytest (>=7.3.1)", "pytest-cov", "pytest-instafail", "pytest-mock", "pytest-sugar", "typing-extensions"] [[package]] @@ -1525,13 +1513,13 @@ trio = ["async_generator", "trio"] [[package]] name = "jinja2" -version = "3.1.4" +version = "3.1.5" description = "A very fast and expressive template engine." optional = false python-versions = ">=3.7" files = [ - {file = "jinja2-3.1.4-py3-none-any.whl", hash = "sha256:bc5dd2abb727a5319567b7a813e6a2e7318c39f4f487cfe6c89c6f9c7d25197d"}, - {file = "jinja2-3.1.4.tar.gz", hash = "sha256:4a3aee7acbbe7303aede8e9648d13b8bf88a429282aa6122a993f0ac800cb369"}, + {file = "jinja2-3.1.5-py3-none-any.whl", hash = "sha256:aba0f4dc9ed8013c424088f68a5c226f7d6097ed89b246d7749c2ec4175c6adb"}, + {file = "jinja2-3.1.5.tar.gz", hash = "sha256:8fefff8dc3034e27bb80d67c671eb8a9bc424c0ef4c0826edbff304cceff43bb"}, ] [package.dependencies] @@ -1751,13 +1739,13 @@ test = ["jupyter-server (>=2.0.0)", "pytest (>=7.0)", "pytest-jupyter[server] (> [[package]] name = "jupyterlab" -version = "4.3.3" +version = "4.3.4" description = "JupyterLab computational environment" optional = false python-versions = ">=3.8" files = [ - {file = "jupyterlab-4.3.3-py3-none-any.whl", hash = "sha256:32a8fd30677e734ffcc3916a4758b9dab21b02015b668c60eb36f84357b7d4b1"}, - {file = "jupyterlab-4.3.3.tar.gz", hash = "sha256:76fa39e548fdac94dc1204af5956c556f54c785f70ee26aa47ea08eda4d5bbcd"}, + {file = "jupyterlab-4.3.4-py3-none-any.whl", hash = "sha256:b754c2601c5be6adf87cb5a1d8495d653ffb945f021939f77776acaa94dae952"}, + {file = "jupyterlab-4.3.4.tar.gz", hash = "sha256:f0bb9b09a04766e3423cccc2fc23169aa2ffedcdf8713e9e0fb33cac0b6859d0"}, ] [package.dependencies] @@ -1835,13 +1823,13 @@ files = [ [[package]] name = "jupytext" -version = "1.16.4" +version = "1.16.6" description = "Jupyter notebooks as Markdown documents, Julia, Python or R scripts" optional = false python-versions = ">=3.8" files = [ - {file = "jupytext-1.16.4-py3-none-any.whl", hash = "sha256:76989d2690e65667ea6fb411d8056abe7cd0437c07bd774660b83d62acf9490a"}, - {file = "jupytext-1.16.4.tar.gz", hash = "sha256:28e33f46f2ce7a41fb9d677a4a2c95327285579b64ca104437c4b9eb1e4174e9"}, + {file = "jupytext-1.16.6-py3-none-any.whl", hash = "sha256:900132031f73fee15a1c9ebd862e05eb5f51e1ad6ab3a2c6fdd97ce2f9c913b4"}, + {file = "jupytext-1.16.6.tar.gz", hash = "sha256:dbd03f9263c34b737003f388fc069e9030834fb7136879c4c32c32473557baa0"}, ] [package.dependencies] @@ -1853,11 +1841,11 @@ pyyaml = "*" tomli = {version = "*", markers = "python_version < \"3.11\""} [package.extras] -dev = ["autopep8", "black", "flake8", "gitpython", "ipykernel", "isort", "jupyter-fs (>=1.0)", "jupyter-server (!=2.11)", "nbconvert", "pre-commit", "pytest", "pytest-cov (>=2.6.1)", "pytest-randomly", "pytest-xdist", "sphinx-gallery (<0.8)"] +dev = ["autopep8", "black", "flake8", "gitpython", "ipykernel", "isort", "jupyter-fs (>=1.0)", "jupyter-server (!=2.11)", "nbconvert", "pre-commit", "pytest", "pytest-cov (>=2.6.1)", "pytest-randomly", "pytest-xdist", "sphinx (<8)", "sphinx-gallery (<0.8)"] docs = ["myst-parser", "sphinx", "sphinx-copybutton", "sphinx-rtd-theme"] test = ["pytest", "pytest-randomly", "pytest-xdist"] test-cov = ["ipykernel", "jupyter-server (!=2.11)", "nbconvert", "pytest", "pytest-cov (>=2.6.1)", "pytest-randomly", "pytest-xdist"] -test-external = ["autopep8", "black", "flake8", "gitpython", "ipykernel", "isort", "jupyter-fs (>=1.0)", "jupyter-server (!=2.11)", "nbconvert", "pre-commit", "pytest", "pytest-randomly", "pytest-xdist", "sphinx-gallery (<0.8)"] +test-external = ["autopep8", "black", "flake8", "gitpython", "ipykernel", "isort", "jupyter-fs (>=1.0)", "jupyter-server (!=2.11)", "nbconvert", "pre-commit", "pytest", "pytest-randomly", "pytest-xdist", "sphinx (<8)", "sphinx-gallery (<0.8)"] test-functional = ["pytest", "pytest-randomly", "pytest-xdist"] test-integration = ["ipykernel", "jupyter-server (!=2.11)", "nbconvert", "pytest", "pytest-randomly", "pytest-xdist"] test-ui = ["calysto-bash"] @@ -2015,6 +2003,95 @@ files = [ {file = "kiwisolver-1.4.7.tar.gz", hash = "sha256:9893ff81bd7107f7b685d3017cc6583daadb4fc26e4a888350df530e41980a60"}, ] +[[package]] +name = "kiwisolver" +version = "1.4.8" +description = "A fast implementation of the Cassowary constraint solver" +optional = false +python-versions = ">=3.10" +files = [ + {file = "kiwisolver-1.4.8-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:88c6f252f6816a73b1f8c904f7bbe02fd67c09a69f7cb8a0eecdbf5ce78e63db"}, + {file = "kiwisolver-1.4.8-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:c72941acb7b67138f35b879bbe85be0f6c6a70cab78fe3ef6db9c024d9223e5b"}, + {file = "kiwisolver-1.4.8-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:ce2cf1e5688edcb727fdf7cd1bbd0b6416758996826a8be1d958f91880d0809d"}, + {file = "kiwisolver-1.4.8-cp310-cp310-manylinux_2_12_i686.manylinux2010_i686.whl", hash = "sha256:c8bf637892dc6e6aad2bc6d4d69d08764166e5e3f69d469e55427b6ac001b19d"}, + {file = "kiwisolver-1.4.8-cp310-cp310-manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:034d2c891f76bd3edbdb3ea11140d8510dca675443da7304205a2eaa45d8334c"}, + {file = "kiwisolver-1.4.8-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d47b28d1dfe0793d5e96bce90835e17edf9a499b53969b03c6c47ea5985844c3"}, + {file = "kiwisolver-1.4.8-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:eb158fe28ca0c29f2260cca8c43005329ad58452c36f0edf298204de32a9a3ed"}, + {file = "kiwisolver-1.4.8-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:d5536185fce131780ebd809f8e623bf4030ce1b161353166c49a3c74c287897f"}, + {file = "kiwisolver-1.4.8-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:369b75d40abedc1da2c1f4de13f3482cb99e3237b38726710f4a793432b1c5ff"}, + {file = "kiwisolver-1.4.8-cp310-cp310-musllinux_1_2_i686.whl", hash = "sha256:641f2ddf9358c80faa22e22eb4c9f54bd3f0e442e038728f500e3b978d00aa7d"}, + {file = "kiwisolver-1.4.8-cp310-cp310-musllinux_1_2_ppc64le.whl", hash = "sha256:d561d2d8883e0819445cfe58d7ddd673e4015c3c57261d7bdcd3710d0d14005c"}, + {file = "kiwisolver-1.4.8-cp310-cp310-musllinux_1_2_s390x.whl", hash = "sha256:1732e065704b47c9afca7ffa272f845300a4eb959276bf6970dc07265e73b605"}, + {file = "kiwisolver-1.4.8-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:bcb1ebc3547619c3b58a39e2448af089ea2ef44b37988caf432447374941574e"}, + {file = "kiwisolver-1.4.8-cp310-cp310-win_amd64.whl", hash = "sha256:89c107041f7b27844179ea9c85d6da275aa55ecf28413e87624d033cf1f6b751"}, + {file = "kiwisolver-1.4.8-cp310-cp310-win_arm64.whl", hash = "sha256:b5773efa2be9eb9fcf5415ea3ab70fc785d598729fd6057bea38d539ead28271"}, + {file = "kiwisolver-1.4.8-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:a4d3601908c560bdf880f07d94f31d734afd1bb71e96585cace0e38ef44c6d84"}, + {file = "kiwisolver-1.4.8-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:856b269c4d28a5c0d5e6c1955ec36ebfd1651ac00e1ce0afa3e28da95293b561"}, + {file = "kiwisolver-1.4.8-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:c2b9a96e0f326205af81a15718a9073328df1173a2619a68553decb7097fd5d7"}, + {file = "kiwisolver-1.4.8-cp311-cp311-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:c5020c83e8553f770cb3b5fc13faac40f17e0b205bd237aebd21d53d733adb03"}, + {file = "kiwisolver-1.4.8-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:dace81d28c787956bfbfbbfd72fdcef014f37d9b48830829e488fdb32b49d954"}, + {file = "kiwisolver-1.4.8-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:11e1022b524bd48ae56c9b4f9296bce77e15a2e42a502cceba602f804b32bb79"}, + {file = "kiwisolver-1.4.8-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:3b9b4d2892fefc886f30301cdd80debd8bb01ecdf165a449eb6e78f79f0fabd6"}, + {file = "kiwisolver-1.4.8-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:3a96c0e790ee875d65e340ab383700e2b4891677b7fcd30a699146f9384a2bb0"}, + {file = "kiwisolver-1.4.8-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:23454ff084b07ac54ca8be535f4174170c1094a4cff78fbae4f73a4bcc0d4dab"}, + {file = "kiwisolver-1.4.8-cp311-cp311-musllinux_1_2_i686.whl", hash = "sha256:87b287251ad6488e95b4f0b4a79a6d04d3ea35fde6340eb38fbd1ca9cd35bbbc"}, + {file = "kiwisolver-1.4.8-cp311-cp311-musllinux_1_2_ppc64le.whl", hash = "sha256:b21dbe165081142b1232a240fc6383fd32cdd877ca6cc89eab93e5f5883e1c25"}, + {file = "kiwisolver-1.4.8-cp311-cp311-musllinux_1_2_s390x.whl", hash = "sha256:768cade2c2df13db52475bd28d3a3fac8c9eff04b0e9e2fda0f3760f20b3f7fc"}, + {file = "kiwisolver-1.4.8-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:d47cfb2650f0e103d4bf68b0b5804c68da97272c84bb12850d877a95c056bd67"}, + {file = "kiwisolver-1.4.8-cp311-cp311-win_amd64.whl", hash = "sha256:ed33ca2002a779a2e20eeb06aea7721b6e47f2d4b8a8ece979d8ba9e2a167e34"}, + {file = "kiwisolver-1.4.8-cp311-cp311-win_arm64.whl", hash = "sha256:16523b40aab60426ffdebe33ac374457cf62863e330a90a0383639ce14bf44b2"}, + {file = "kiwisolver-1.4.8-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:d6af5e8815fd02997cb6ad9bbed0ee1e60014438ee1a5c2444c96f87b8843502"}, + {file = "kiwisolver-1.4.8-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:bade438f86e21d91e0cf5dd7c0ed00cda0f77c8c1616bd83f9fc157fa6760d31"}, + {file = "kiwisolver-1.4.8-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:b83dc6769ddbc57613280118fb4ce3cd08899cc3369f7d0e0fab518a7cf37fdb"}, + {file = "kiwisolver-1.4.8-cp312-cp312-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:111793b232842991be367ed828076b03d96202c19221b5ebab421ce8bcad016f"}, + {file = "kiwisolver-1.4.8-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:257af1622860e51b1a9d0ce387bf5c2c4f36a90594cb9514f55b074bcc787cfc"}, + {file = "kiwisolver-1.4.8-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:69b5637c3f316cab1ec1c9a12b8c5f4750a4c4b71af9157645bf32830e39c03a"}, + {file = "kiwisolver-1.4.8-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:782bb86f245ec18009890e7cb8d13a5ef54dcf2ebe18ed65f795e635a96a1c6a"}, + {file = "kiwisolver-1.4.8-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:cc978a80a0db3a66d25767b03688f1147a69e6237175c0f4ffffaaedf744055a"}, + {file = "kiwisolver-1.4.8-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:36dbbfd34838500a31f52c9786990d00150860e46cd5041386f217101350f0d3"}, + {file = "kiwisolver-1.4.8-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:eaa973f1e05131de5ff3569bbba7f5fd07ea0595d3870ed4a526d486fe57fa1b"}, + {file = "kiwisolver-1.4.8-cp312-cp312-musllinux_1_2_ppc64le.whl", hash = "sha256:a66f60f8d0c87ab7f59b6fb80e642ebb29fec354a4dfad687ca4092ae69d04f4"}, + {file = "kiwisolver-1.4.8-cp312-cp312-musllinux_1_2_s390x.whl", hash = "sha256:858416b7fb777a53f0c59ca08190ce24e9abbd3cffa18886a5781b8e3e26f65d"}, + {file = "kiwisolver-1.4.8-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:085940635c62697391baafaaeabdf3dd7a6c3643577dde337f4d66eba021b2b8"}, + {file = "kiwisolver-1.4.8-cp312-cp312-win_amd64.whl", hash = "sha256:01c3d31902c7db5fb6182832713d3b4122ad9317c2c5877d0539227d96bb2e50"}, + {file = "kiwisolver-1.4.8-cp312-cp312-win_arm64.whl", hash = "sha256:a3c44cb68861de93f0c4a8175fbaa691f0aa22550c331fefef02b618a9dcb476"}, + {file = "kiwisolver-1.4.8-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:1c8ceb754339793c24aee1c9fb2485b5b1f5bb1c2c214ff13368431e51fc9a09"}, + {file = "kiwisolver-1.4.8-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:54a62808ac74b5e55a04a408cda6156f986cefbcf0ada13572696b507cc92fa1"}, + {file = "kiwisolver-1.4.8-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:68269e60ee4929893aad82666821aaacbd455284124817af45c11e50a4b42e3c"}, + {file = "kiwisolver-1.4.8-cp313-cp313-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:34d142fba9c464bc3bbfeff15c96eab0e7310343d6aefb62a79d51421fcc5f1b"}, + {file = "kiwisolver-1.4.8-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:3ddc373e0eef45b59197de815b1b28ef89ae3955e7722cc9710fb91cd77b7f47"}, + {file = "kiwisolver-1.4.8-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:77e6f57a20b9bd4e1e2cedda4d0b986ebd0216236f0106e55c28aea3d3d69b16"}, + {file = "kiwisolver-1.4.8-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:08e77738ed7538f036cd1170cbed942ef749137b1311fa2bbe2a7fda2f6bf3cc"}, + {file = "kiwisolver-1.4.8-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:a5ce1e481a74b44dd5e92ff03ea0cb371ae7a0268318e202be06c8f04f4f1246"}, + {file = "kiwisolver-1.4.8-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:fc2ace710ba7c1dfd1a3b42530b62b9ceed115f19a1656adefce7b1782a37794"}, + {file = "kiwisolver-1.4.8-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:3452046c37c7692bd52b0e752b87954ef86ee2224e624ef7ce6cb21e8c41cc1b"}, + {file = "kiwisolver-1.4.8-cp313-cp313-musllinux_1_2_ppc64le.whl", hash = "sha256:7e9a60b50fe8b2ec6f448fe8d81b07e40141bfced7f896309df271a0b92f80f3"}, + {file = "kiwisolver-1.4.8-cp313-cp313-musllinux_1_2_s390x.whl", hash = "sha256:918139571133f366e8362fa4a297aeba86c7816b7ecf0bc79168080e2bd79957"}, + {file = "kiwisolver-1.4.8-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:e063ef9f89885a1d68dd8b2e18f5ead48653176d10a0e324e3b0030e3a69adeb"}, + {file = "kiwisolver-1.4.8-cp313-cp313-win_amd64.whl", hash = "sha256:a17b7c4f5b2c51bb68ed379defd608a03954a1845dfed7cc0117f1cc8a9b7fd2"}, + {file = "kiwisolver-1.4.8-cp313-cp313-win_arm64.whl", hash = "sha256:3cd3bc628b25f74aedc6d374d5babf0166a92ff1317f46267f12d2ed54bc1d30"}, + {file = "kiwisolver-1.4.8-cp313-cp313t-macosx_10_13_universal2.whl", hash = "sha256:370fd2df41660ed4e26b8c9d6bbcad668fbe2560462cba151a721d49e5b6628c"}, + {file = "kiwisolver-1.4.8-cp313-cp313t-macosx_10_13_x86_64.whl", hash = "sha256:84a2f830d42707de1d191b9490ac186bf7997a9495d4e9072210a1296345f7dc"}, + {file = "kiwisolver-1.4.8-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:7a3ad337add5148cf51ce0b55642dc551c0b9d6248458a757f98796ca7348712"}, + {file = "kiwisolver-1.4.8-cp313-cp313t-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:7506488470f41169b86d8c9aeff587293f530a23a23a49d6bc64dab66bedc71e"}, + {file = "kiwisolver-1.4.8-cp313-cp313t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:2f0121b07b356a22fb0414cec4666bbe36fd6d0d759db3d37228f496ed67c880"}, + {file = "kiwisolver-1.4.8-cp313-cp313t-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:d6d6bd87df62c27d4185de7c511c6248040afae67028a8a22012b010bc7ad062"}, + {file = "kiwisolver-1.4.8-cp313-cp313t-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:291331973c64bb9cce50bbe871fb2e675c4331dab4f31abe89f175ad7679a4d7"}, + {file = "kiwisolver-1.4.8-cp313-cp313t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:893f5525bb92d3d735878ec00f781b2de998333659507d29ea4466208df37bed"}, + {file = "kiwisolver-1.4.8-cp313-cp313t-musllinux_1_2_aarch64.whl", hash = "sha256:b47a465040146981dc9db8647981b8cb96366fbc8d452b031e4f8fdffec3f26d"}, + {file = "kiwisolver-1.4.8-cp313-cp313t-musllinux_1_2_i686.whl", hash = "sha256:99cea8b9dd34ff80c521aef46a1dddb0dcc0283cf18bde6d756f1e6f31772165"}, + {file = "kiwisolver-1.4.8-cp313-cp313t-musllinux_1_2_ppc64le.whl", hash = "sha256:151dffc4865e5fe6dafce5480fab84f950d14566c480c08a53c663a0020504b6"}, + {file = "kiwisolver-1.4.8-cp313-cp313t-musllinux_1_2_s390x.whl", hash = "sha256:577facaa411c10421314598b50413aa1ebcf5126f704f1e5d72d7e4e9f020d90"}, + {file = "kiwisolver-1.4.8-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:be4816dc51c8a471749d664161b434912eee82f2ea66bd7628bd14583a833e85"}, + {file = "kiwisolver-1.4.8-pp310-pypy310_pp73-macosx_10_15_x86_64.whl", hash = "sha256:e7a019419b7b510f0f7c9dceff8c5eae2392037eae483a7f9162625233802b0a"}, + {file = "kiwisolver-1.4.8-pp310-pypy310_pp73-macosx_11_0_arm64.whl", hash = "sha256:286b18e86682fd2217a48fc6be6b0f20c1d0ed10958d8dc53453ad58d7be0bf8"}, + {file = "kiwisolver-1.4.8-pp310-pypy310_pp73-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:4191ee8dfd0be1c3666ccbac178c5a05d5f8d689bbe3fc92f3c4abec817f8fe0"}, + {file = "kiwisolver-1.4.8-pp310-pypy310_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:7cd2785b9391f2873ad46088ed7599a6a71e762e1ea33e87514b1a441ed1da1c"}, + {file = "kiwisolver-1.4.8-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:c07b29089b7ba090b6f1a669f1411f27221c3662b3a1b7010e67b59bb5a6f10b"}, + {file = "kiwisolver-1.4.8-pp310-pypy310_pp73-win_amd64.whl", hash = "sha256:65ea09a5a3faadd59c2ce96dc7bf0f364986a315949dc6374f04396b0d60e09b"}, + {file = "kiwisolver-1.4.8.tar.gz", hash = "sha256:23d5f023bdc8c7e54eb65f03ca5d5bb25b601eac4d7f1a042888a1f45237987e"}, +] + [[package]] name = "markdown" version = "3.7" @@ -2259,6 +2336,63 @@ python-dateutil = ">=2.7" [package.extras] dev = ["meson-python (>=0.13.1,<0.17.0)", "numpy (>=1.25)", "pybind11 (>=2.6,!=2.13.3)", "setuptools (>=64)", "setuptools_scm (>=7)"] +[[package]] +name = "matplotlib" +version = "3.10.0" +description = "Python plotting package" +optional = false +python-versions = ">=3.10" +files = [ + {file = "matplotlib-3.10.0-cp310-cp310-macosx_10_12_x86_64.whl", hash = "sha256:2c5829a5a1dd5a71f0e31e6e8bb449bc0ee9dbfb05ad28fc0c6b55101b3a4be6"}, + {file = "matplotlib-3.10.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:a2a43cbefe22d653ab34bb55d42384ed30f611bcbdea1f8d7f431011a2e1c62e"}, + {file = "matplotlib-3.10.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:607b16c8a73943df110f99ee2e940b8a1cbf9714b65307c040d422558397dac5"}, + {file = "matplotlib-3.10.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:01d2b19f13aeec2e759414d3bfe19ddfb16b13a1250add08d46d5ff6f9be83c6"}, + {file = "matplotlib-3.10.0-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:5e6c6461e1fc63df30bf6f80f0b93f5b6784299f721bc28530477acd51bfc3d1"}, + {file = "matplotlib-3.10.0-cp310-cp310-win_amd64.whl", hash = "sha256:994c07b9d9fe8d25951e3202a68c17900679274dadfc1248738dcfa1bd40d7f3"}, + {file = "matplotlib-3.10.0-cp311-cp311-macosx_10_12_x86_64.whl", hash = "sha256:fd44fc75522f58612ec4a33958a7e5552562b7705b42ef1b4f8c0818e304a363"}, + {file = "matplotlib-3.10.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:c58a9622d5dbeb668f407f35f4e6bfac34bb9ecdcc81680c04d0258169747997"}, + {file = "matplotlib-3.10.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:845d96568ec873be63f25fa80e9e7fae4be854a66a7e2f0c8ccc99e94a8bd4ef"}, + {file = "matplotlib-3.10.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:5439f4c5a3e2e8eab18e2f8c3ef929772fd5641876db71f08127eed95ab64683"}, + {file = "matplotlib-3.10.0-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:4673ff67a36152c48ddeaf1135e74ce0d4bce1bbf836ae40ed39c29edf7e2765"}, + {file = "matplotlib-3.10.0-cp311-cp311-win_amd64.whl", hash = "sha256:7e8632baebb058555ac0cde75db885c61f1212e47723d63921879806b40bec6a"}, + {file = "matplotlib-3.10.0-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:4659665bc7c9b58f8c00317c3c2a299f7f258eeae5a5d56b4c64226fca2f7c59"}, + {file = "matplotlib-3.10.0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:d44cb942af1693cced2604c33a9abcef6205601c445f6d0dc531d813af8a2f5a"}, + {file = "matplotlib-3.10.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a994f29e968ca002b50982b27168addfd65f0105610b6be7fa515ca4b5307c95"}, + {file = "matplotlib-3.10.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:9b0558bae37f154fffda54d779a592bc97ca8b4701f1c710055b609a3bac44c8"}, + {file = "matplotlib-3.10.0-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:503feb23bd8c8acc75541548a1d709c059b7184cde26314896e10a9f14df5f12"}, + {file = "matplotlib-3.10.0-cp312-cp312-win_amd64.whl", hash = "sha256:c40ba2eb08b3f5de88152c2333c58cee7edcead0a2a0d60fcafa116b17117adc"}, + {file = "matplotlib-3.10.0-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:96f2886f5c1e466f21cc41b70c5a0cd47bfa0015eb2d5793c88ebce658600e25"}, + {file = "matplotlib-3.10.0-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:12eaf48463b472c3c0f8dbacdbf906e573013df81a0ab82f0616ea4b11281908"}, + {file = "matplotlib-3.10.0-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:2fbbabc82fde51391c4da5006f965e36d86d95f6ee83fb594b279564a4c5d0d2"}, + {file = "matplotlib-3.10.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ad2e15300530c1a94c63cfa546e3b7864bd18ea2901317bae8bbf06a5ade6dcf"}, + {file = "matplotlib-3.10.0-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:3547d153d70233a8496859097ef0312212e2689cdf8d7ed764441c77604095ae"}, + {file = "matplotlib-3.10.0-cp313-cp313-win_amd64.whl", hash = "sha256:c55b20591ced744aa04e8c3e4b7543ea4d650b6c3c4b208c08a05b4010e8b442"}, + {file = "matplotlib-3.10.0-cp313-cp313t-macosx_10_13_x86_64.whl", hash = "sha256:9ade1003376731a971e398cc4ef38bb83ee8caf0aee46ac6daa4b0506db1fd06"}, + {file = "matplotlib-3.10.0-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:95b710fea129c76d30be72c3b38f330269363fbc6e570a5dd43580487380b5ff"}, + {file = "matplotlib-3.10.0-cp313-cp313t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:5cdbaf909887373c3e094b0318d7ff230b2ad9dcb64da7ade654182872ab2593"}, + {file = "matplotlib-3.10.0-cp313-cp313t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:d907fddb39f923d011875452ff1eca29a9e7f21722b873e90db32e5d8ddff12e"}, + {file = "matplotlib-3.10.0-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:3b427392354d10975c1d0f4ee18aa5844640b512d5311ef32efd4dd7db106ede"}, + {file = "matplotlib-3.10.0-cp313-cp313t-win_amd64.whl", hash = "sha256:5fd41b0ec7ee45cd960a8e71aea7c946a28a0b8a4dcee47d2856b2af051f334c"}, + {file = "matplotlib-3.10.0-pp310-pypy310_pp73-macosx_10_15_x86_64.whl", hash = "sha256:81713dd0d103b379de4516b861d964b1d789a144103277769238c732229d7f03"}, + {file = "matplotlib-3.10.0-pp310-pypy310_pp73-macosx_11_0_arm64.whl", hash = "sha256:359f87baedb1f836ce307f0e850d12bb5f1936f70d035561f90d41d305fdacea"}, + {file = "matplotlib-3.10.0-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ae80dc3a4add4665cf2faa90138384a7ffe2a4e37c58d83e115b54287c4f06ef"}, + {file = "matplotlib-3.10.0.tar.gz", hash = "sha256:b886d02a581b96704c9d1ffe55709e49b4d2d52709ccebc4be42db856e511278"}, +] + +[package.dependencies] +contourpy = ">=1.0.1" +cycler = ">=0.10" +fonttools = ">=4.22.0" +kiwisolver = ">=1.3.1" +numpy = ">=1.23" +packaging = ">=20.0" +pillow = ">=8" +pyparsing = ">=2.3.1" +python-dateutil = ">=2.7" + +[package.extras] +dev = ["meson-python (>=0.13.1,<0.17.0)", "pybind11 (>=2.13.2,!=2.13.3)", "setuptools (>=64)", "setuptools_scm (>=7)"] + [[package]] name = "matplotlib-inline" version = "0.1.7" @@ -2341,15 +2475,18 @@ test = ["coverage", "flake8 (>=3.0)", "flake8-quotes", "shtab"] [[package]] name = "mistune" -version = "3.0.2" +version = "3.1.0" description = "A sane and fast Markdown parser with useful plugins and renderers" optional = false -python-versions = ">=3.7" +python-versions = ">=3.8" files = [ - {file = "mistune-3.0.2-py3-none-any.whl", hash = "sha256:71481854c30fdbc938963d3605b72501f5c10a9320ecd412c121c163a1c7d205"}, - {file = "mistune-3.0.2.tar.gz", hash = "sha256:fc7f93ded930c92394ef2cb6f04a8aabab4117a91449e72dcc8dfa646a508be8"}, + {file = "mistune-3.1.0-py3-none-any.whl", hash = "sha256:b05198cf6d671b3deba6c87ec6cf0d4eb7b72c524636eddb6dbf13823b52cee1"}, + {file = "mistune-3.1.0.tar.gz", hash = "sha256:dbcac2f78292b9dc066cd03b7a3a26b62d85f8159f2ea5fd28e55df79908d667"}, ] +[package.dependencies] +typing-extensions = {version = "*", markers = "python_version < \"3.11\""} + [[package]] name = "mkdocs" version = "1.6.1" @@ -2473,13 +2610,13 @@ pygments = ">2.12.0" [[package]] name = "mkdocs-material" -version = "9.5.48" +version = "9.5.49" description = "Documentation that simply works" optional = false python-versions = ">=3.8" files = [ - {file = "mkdocs_material-9.5.48-py3-none-any.whl", hash = "sha256:b695c998f4b939ce748adbc0d3bff73fa886a670ece948cf27818fa115dc16f8"}, - {file = "mkdocs_material-9.5.48.tar.gz", hash = "sha256:a582531e8b34f4c7ed38c29d5c44763053832cf2a32f7409567e0c74749a47db"}, + {file = "mkdocs_material-9.5.49-py3-none-any.whl", hash = "sha256:c3c2d8176b18198435d3a3e119011922f3e11424074645c24019c2dcf08a360e"}, + {file = "mkdocs_material-9.5.49.tar.gz", hash = "sha256:3671bb282b4f53a1c72e08adbe04d2481a98f85fed392530051f80ff94a9621d"}, ] [package.dependencies] @@ -2570,49 +2707,55 @@ files = [ [[package]] name = "mypy" -version = "1.13.0" +version = "1.14.1" description = "Optional static typing for Python" optional = false python-versions = ">=3.8" files = [ - {file = "mypy-1.13.0-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:6607e0f1dd1fb7f0aca14d936d13fd19eba5e17e1cd2a14f808fa5f8f6d8f60a"}, - {file = "mypy-1.13.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:8a21be69bd26fa81b1f80a61ee7ab05b076c674d9b18fb56239d72e21d9f4c80"}, - {file = "mypy-1.13.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:7b2353a44d2179846a096e25691d54d59904559f4232519d420d64da6828a3a7"}, - {file = "mypy-1.13.0-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:0730d1c6a2739d4511dc4253f8274cdd140c55c32dfb0a4cf8b7a43f40abfa6f"}, - {file = "mypy-1.13.0-cp310-cp310-win_amd64.whl", hash = "sha256:c5fc54dbb712ff5e5a0fca797e6e0aa25726c7e72c6a5850cfd2adbc1eb0a372"}, - {file = "mypy-1.13.0-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:581665e6f3a8a9078f28d5502f4c334c0c8d802ef55ea0e7276a6e409bc0d82d"}, - {file = "mypy-1.13.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:3ddb5b9bf82e05cc9a627e84707b528e5c7caaa1c55c69e175abb15a761cec2d"}, - {file = "mypy-1.13.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:20c7ee0bc0d5a9595c46f38beb04201f2620065a93755704e141fcac9f59db2b"}, - {file = "mypy-1.13.0-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:3790ded76f0b34bc9c8ba4def8f919dd6a46db0f5a6610fb994fe8efdd447f73"}, - {file = "mypy-1.13.0-cp311-cp311-win_amd64.whl", hash = "sha256:51f869f4b6b538229c1d1bcc1dd7d119817206e2bc54e8e374b3dfa202defcca"}, - {file = "mypy-1.13.0-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:5c7051a3461ae84dfb5dd15eff5094640c61c5f22257c8b766794e6dd85e72d5"}, - {file = "mypy-1.13.0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:39bb21c69a5d6342f4ce526e4584bc5c197fd20a60d14a8624d8743fffb9472e"}, - {file = "mypy-1.13.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:164f28cb9d6367439031f4c81e84d3ccaa1e19232d9d05d37cb0bd880d3f93c2"}, - {file = "mypy-1.13.0-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:a4c1bfcdbce96ff5d96fc9b08e3831acb30dc44ab02671eca5953eadad07d6d0"}, - {file = "mypy-1.13.0-cp312-cp312-win_amd64.whl", hash = "sha256:a0affb3a79a256b4183ba09811e3577c5163ed06685e4d4b46429a271ba174d2"}, - {file = "mypy-1.13.0-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:a7b44178c9760ce1a43f544e595d35ed61ac2c3de306599fa59b38a6048e1aa7"}, - {file = "mypy-1.13.0-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:5d5092efb8516d08440e36626f0153b5006d4088c1d663d88bf79625af3d1d62"}, - {file = "mypy-1.13.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:de2904956dac40ced10931ac967ae63c5089bd498542194b436eb097a9f77bc8"}, - {file = "mypy-1.13.0-cp313-cp313-musllinux_1_1_x86_64.whl", hash = "sha256:7bfd8836970d33c2105562650656b6846149374dc8ed77d98424b40b09340ba7"}, - {file = "mypy-1.13.0-cp313-cp313-win_amd64.whl", hash = "sha256:9f73dba9ec77acb86457a8fc04b5239822df0c14a082564737833d2963677dbc"}, - {file = "mypy-1.13.0-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:100fac22ce82925f676a734af0db922ecfea991e1d7ec0ceb1e115ebe501301a"}, - {file = "mypy-1.13.0-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:7bcb0bb7f42a978bb323a7c88f1081d1b5dee77ca86f4100735a6f541299d8fb"}, - {file = "mypy-1.13.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:bde31fc887c213e223bbfc34328070996061b0833b0a4cfec53745ed61f3519b"}, - {file = "mypy-1.13.0-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:07de989f89786f62b937851295ed62e51774722e5444a27cecca993fc3f9cd74"}, - {file = "mypy-1.13.0-cp38-cp38-win_amd64.whl", hash = "sha256:4bde84334fbe19bad704b3f5b78c4abd35ff1026f8ba72b29de70dda0916beb6"}, - {file = "mypy-1.13.0-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:0246bcb1b5de7f08f2826451abd947bf656945209b140d16ed317f65a17dc7dc"}, - {file = "mypy-1.13.0-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:7f5b7deae912cf8b77e990b9280f170381fdfbddf61b4ef80927edd813163732"}, - {file = "mypy-1.13.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:7029881ec6ffb8bc233a4fa364736789582c738217b133f1b55967115288a2bc"}, - {file = "mypy-1.13.0-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:3e38b980e5681f28f033f3be86b099a247b13c491f14bb8b1e1e134d23bb599d"}, - {file = "mypy-1.13.0-cp39-cp39-win_amd64.whl", hash = "sha256:a6789be98a2017c912ae6ccb77ea553bbaf13d27605d2ca20a76dfbced631b24"}, - {file = "mypy-1.13.0-py3-none-any.whl", hash = "sha256:9c250883f9fd81d212e0952c92dbfcc96fc237f4b7c92f56ac81fd48460b3e5a"}, - {file = "mypy-1.13.0.tar.gz", hash = "sha256:0291a61b6fbf3e6673e3405cfcc0e7650bebc7939659fdca2702958038bd835e"}, + {file = "mypy-1.14.1-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:52686e37cf13d559f668aa398dd7ddf1f92c5d613e4f8cb262be2fb4fedb0fcb"}, + {file = "mypy-1.14.1-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:1fb545ca340537d4b45d3eecdb3def05e913299ca72c290326be19b3804b39c0"}, + {file = "mypy-1.14.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:90716d8b2d1f4cd503309788e51366f07c56635a3309b0f6a32547eaaa36a64d"}, + {file = "mypy-1.14.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:2ae753f5c9fef278bcf12e1a564351764f2a6da579d4a81347e1d5a15819997b"}, + {file = "mypy-1.14.1-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:e0fe0f5feaafcb04505bcf439e991c6d8f1bf8b15f12b05feeed96e9e7bf1427"}, + {file = "mypy-1.14.1-cp310-cp310-win_amd64.whl", hash = "sha256:7d54bd85b925e501c555a3227f3ec0cfc54ee8b6930bd6141ec872d1c572f81f"}, + {file = "mypy-1.14.1-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:f995e511de847791c3b11ed90084a7a0aafdc074ab88c5a9711622fe4751138c"}, + {file = "mypy-1.14.1-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:d64169ec3b8461311f8ce2fd2eb5d33e2d0f2c7b49116259c51d0d96edee48d1"}, + {file = "mypy-1.14.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:ba24549de7b89b6381b91fbc068d798192b1b5201987070319889e93038967a8"}, + {file = "mypy-1.14.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:183cf0a45457d28ff9d758730cd0210419ac27d4d3f285beda038c9083363b1f"}, + {file = "mypy-1.14.1-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:f2a0ecc86378f45347f586e4163d1769dd81c5a223d577fe351f26b179e148b1"}, + {file = "mypy-1.14.1-cp311-cp311-win_amd64.whl", hash = "sha256:ad3301ebebec9e8ee7135d8e3109ca76c23752bac1e717bc84cd3836b4bf3eae"}, + {file = "mypy-1.14.1-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:30ff5ef8519bbc2e18b3b54521ec319513a26f1bba19a7582e7b1f58a6e69f14"}, + {file = "mypy-1.14.1-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:cb9f255c18052343c70234907e2e532bc7e55a62565d64536dbc7706a20b78b9"}, + {file = "mypy-1.14.1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:8b4e3413e0bddea671012b063e27591b953d653209e7a4fa5e48759cda77ca11"}, + {file = "mypy-1.14.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:553c293b1fbdebb6c3c4030589dab9fafb6dfa768995a453d8a5d3b23784af2e"}, + {file = "mypy-1.14.1-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:fad79bfe3b65fe6a1efaed97b445c3d37f7be9fdc348bdb2d7cac75579607c89"}, + {file = "mypy-1.14.1-cp312-cp312-win_amd64.whl", hash = "sha256:8fa2220e54d2946e94ab6dbb3ba0a992795bd68b16dc852db33028df2b00191b"}, + {file = "mypy-1.14.1-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:92c3ed5afb06c3a8e188cb5da4984cab9ec9a77ba956ee419c68a388b4595255"}, + {file = "mypy-1.14.1-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:dbec574648b3e25f43d23577309b16534431db4ddc09fda50841f1e34e64ed34"}, + {file = "mypy-1.14.1-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:8c6d94b16d62eb3e947281aa7347d78236688e21081f11de976376cf010eb31a"}, + {file = "mypy-1.14.1-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:d4b19b03fdf54f3c5b2fa474c56b4c13c9dbfb9a2db4370ede7ec11a2c5927d9"}, + {file = "mypy-1.14.1-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:0c911fde686394753fff899c409fd4e16e9b294c24bfd5e1ea4675deae1ac6fd"}, + {file = "mypy-1.14.1-cp313-cp313-win_amd64.whl", hash = "sha256:8b21525cb51671219f5307be85f7e646a153e5acc656e5cebf64bfa076c50107"}, + {file = "mypy-1.14.1-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:7084fb8f1128c76cd9cf68fe5971b37072598e7c31b2f9f95586b65c741a9d31"}, + {file = "mypy-1.14.1-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:8f845a00b4f420f693f870eaee5f3e2692fa84cc8514496114649cfa8fd5e2c6"}, + {file = "mypy-1.14.1-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:44bf464499f0e3a2d14d58b54674dee25c031703b2ffc35064bd0df2e0fac319"}, + {file = "mypy-1.14.1-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:c99f27732c0b7dc847adb21c9d47ce57eb48fa33a17bc6d7d5c5e9f9e7ae5bac"}, + {file = "mypy-1.14.1-cp38-cp38-musllinux_1_2_x86_64.whl", hash = "sha256:bce23c7377b43602baa0bd22ea3265c49b9ff0b76eb315d6c34721af4cdf1d9b"}, + {file = "mypy-1.14.1-cp38-cp38-win_amd64.whl", hash = "sha256:8edc07eeade7ebc771ff9cf6b211b9a7d93687ff892150cb5692e4f4272b0837"}, + {file = "mypy-1.14.1-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:3888a1816d69f7ab92092f785a462944b3ca16d7c470d564165fe703b0970c35"}, + {file = "mypy-1.14.1-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:46c756a444117c43ee984bd055db99e498bc613a70bbbc120272bd13ca579fbc"}, + {file = "mypy-1.14.1-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:27fc248022907e72abfd8e22ab1f10e903915ff69961174784a3900a8cba9ad9"}, + {file = "mypy-1.14.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:499d6a72fb7e5de92218db961f1a66d5f11783f9ae549d214617edab5d4dbdbb"}, + {file = "mypy-1.14.1-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:57961db9795eb566dc1d1b4e9139ebc4c6b0cb6e7254ecde69d1552bf7613f60"}, + {file = "mypy-1.14.1-cp39-cp39-win_amd64.whl", hash = "sha256:07ba89fdcc9451f2ebb02853deb6aaaa3d2239a236669a63ab3801bbf923ef5c"}, + {file = "mypy-1.14.1-py3-none-any.whl", hash = "sha256:b66a60cc4073aeb8ae00057f9c1f64d49e90f918fbcef9a977eb121da8b8f1d1"}, + {file = "mypy-1.14.1.tar.gz", hash = "sha256:7ec88144fe9b510e8475ec2f5f251992690fcf89ccb4500b214b4226abcd32d6"}, ] [package.dependencies] -mypy-extensions = ">=1.0.0" +mypy_extensions = ">=1.0.0" tomli = {version = ">=1.1.0", markers = "python_version < \"3.11\""} -typing-extensions = ">=4.6.0" +typing_extensions = ">=4.6.0" [package.extras] dmypy = ["psutil (>=4.0)"] @@ -2656,18 +2799,18 @@ test = ["flaky", "ipykernel (>=6.19.3)", "ipython", "ipywidgets", "nbconvert (>= [[package]] name = "nbconvert" -version = "7.16.4" +version = "7.16.5" description = "Converting Jupyter Notebooks (.ipynb files) to other formats. Output formats include asciidoc, html, latex, markdown, pdf, py, rst, script. nbconvert can be used both as a Python library (`import nbconvert`) or as a command line tool (invoked as `jupyter nbconvert ...`)." optional = false python-versions = ">=3.8" files = [ - {file = "nbconvert-7.16.4-py3-none-any.whl", hash = "sha256:05873c620fe520b6322bf8a5ad562692343fe3452abda5765c7a34b7d1aa3eb3"}, - {file = "nbconvert-7.16.4.tar.gz", hash = "sha256:86ca91ba266b0a448dc96fa6c5b9d98affabde2867b363258703536807f9f7f4"}, + {file = "nbconvert-7.16.5-py3-none-any.whl", hash = "sha256:e12eac052d6fd03040af4166c563d76e7aeead2e9aadf5356db552a1784bd547"}, + {file = "nbconvert-7.16.5.tar.gz", hash = "sha256:c83467bb5777fdfaac5ebbb8e864f300b277f68692ecc04d6dab72f2d8442344"}, ] [package.dependencies] beautifulsoup4 = "*" -bleach = "!=5.0.0" +bleach = {version = "!=5.0.0", extras = ["css"]} defusedxml = "*" importlib-metadata = {version = ">=3.6", markers = "python_version < \"3.10\""} jinja2 = ">=3.0" @@ -2680,7 +2823,6 @@ nbformat = ">=5.7" packaging = "*" pandocfilters = ">=1.4.1" pygments = ">=2.4.1" -tinycss2 = "*" traitlets = ">=5.1" [package.extras] @@ -2726,35 +2868,35 @@ files = [ [[package]] name = "nh3" -version = "0.2.19" -description = "Python bindings to the ammonia HTML sanitization library." +version = "0.2.20" +description = "Python binding to Ammonia HTML sanitizer Rust crate" optional = false -python-versions = "*" +python-versions = ">=3.8" files = [ - {file = "nh3-0.2.19-cp313-cp313t-macosx_10_12_x86_64.macosx_11_0_arm64.macosx_10_12_universal2.whl", hash = "sha256:ec9c8bf86e397cb88c560361f60fdce478b5edb8b93f04ead419b72fbe937ea6"}, - {file = "nh3-0.2.19-cp313-cp313t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:d0adf00e2b2026fa10a42537b60d161e516f206781c7515e4e97e09f72a8c5d0"}, - {file = "nh3-0.2.19-cp313-cp313t-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:3805161c4e12088bd74752ba69630e915bc30fe666034f47217a2f16b16efc37"}, - {file = "nh3-0.2.19-cp313-cp313t-musllinux_1_2_aarch64.whl", hash = "sha256:e3dedd7858a21312f7675841529941035a2ac91057db13402c8fe907aa19205a"}, - {file = "nh3-0.2.19-cp313-cp313t-musllinux_1_2_armv7l.whl", hash = "sha256:0b6820fc64f2ff7ef3e7253a093c946a87865c877b3889149a6d21d322ed8dbd"}, - {file = "nh3-0.2.19-cp313-cp313t-musllinux_1_2_i686.whl", hash = "sha256:833b3b5f1783ce95834a13030300cea00cbdfd64ea29260d01af9c4821da0aa9"}, - {file = "nh3-0.2.19-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:5d4f5e2189861b352b73acb803b5f4bb409c2f36275d22717e27d4e0c217ae55"}, - {file = "nh3-0.2.19-cp313-cp313t-win32.whl", hash = "sha256:2b926f179eb4bce72b651bfdf76f8aa05d167b2b72bc2f3657fd319f40232adc"}, - {file = "nh3-0.2.19-cp313-cp313t-win_amd64.whl", hash = "sha256:ac536a4b5c073fdadd8f5f4889adabe1cbdae55305366fb870723c96ca7f49c3"}, - {file = "nh3-0.2.19-cp38-abi3-macosx_10_12_x86_64.macosx_11_0_arm64.macosx_10_12_universal2.whl", hash = "sha256:c2e3f0d18cc101132fe10ab7ef5c4f41411297e639e23b64b5e888ccaad63f41"}, - {file = "nh3-0.2.19-cp38-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:11270b16c1b012677e3e2dd166c1aa273388776bf99a3e3677179db5097ee16a"}, - {file = "nh3-0.2.19-cp38-abi3-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:fc483dd8d20f8f8c010783a25a84db3bebeadced92d24d34b40d687f8043ac69"}, - {file = "nh3-0.2.19-cp38-abi3-manylinux_2_17_ppc64.manylinux2014_ppc64.whl", hash = "sha256:d53a4577b6123ca1d7e8483fad3e13cb7eda28913d516bd0a648c1a473aa21a9"}, - {file = "nh3-0.2.19-cp38-abi3-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:fdb20740d24ab9f2a1341458a00a11205294e97e905de060eeab1ceca020c09c"}, - {file = "nh3-0.2.19-cp38-abi3-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:d8325d51e47cb5b11f649d55e626d56c76041ba508cd59e0cb1cf687cc7612f1"}, - {file = "nh3-0.2.19-cp38-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:b8eb7affc590e542fa7981ef508cd1644f62176bcd10d4429890fc629b47f0bc"}, - {file = "nh3-0.2.19-cp38-abi3-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:2eb021804e9df1761abeb844bb86648d77aa118a663c82f50ea04110d87ed707"}, - {file = "nh3-0.2.19-cp38-abi3-musllinux_1_2_aarch64.whl", hash = "sha256:a7b928862daddb29805a1010a0282f77f4b8b238a37b5f76bc6c0d16d930fd22"}, - {file = "nh3-0.2.19-cp38-abi3-musllinux_1_2_armv7l.whl", hash = "sha256:ed06ed78f6b69d57463b46a04f68f270605301e69d80756a8adf7519002de57d"}, - {file = "nh3-0.2.19-cp38-abi3-musllinux_1_2_i686.whl", hash = "sha256:df8eac98fec80bd6f5fd0ae27a65de14f1e1a65a76d8e2237eb695f9cd1121d9"}, - {file = "nh3-0.2.19-cp38-abi3-musllinux_1_2_x86_64.whl", hash = "sha256:00810cd5275f5c3f44b9eb0e521d1a841ee2f8023622de39ffc7d88bd533d8e0"}, - {file = "nh3-0.2.19-cp38-abi3-win32.whl", hash = "sha256:7e98621856b0a911c21faa5eef8f8ea3e691526c2433f9afc2be713cb6fbdb48"}, - {file = "nh3-0.2.19-cp38-abi3-win_amd64.whl", hash = "sha256:75c7cafb840f24430b009f7368945cb5ca88b2b54bb384ebfba495f16bc9c121"}, - {file = "nh3-0.2.19.tar.gz", hash = "sha256:790056b54c068ff8dceb443eaefb696b84beff58cca6c07afd754d17692a4804"}, + {file = "nh3-0.2.20-cp313-cp313t-macosx_10_12_x86_64.macosx_11_0_arm64.macosx_10_12_universal2.whl", hash = "sha256:e1061a4ab6681f6bdf72b110eea0c4e1379d57c9de937db3be4202f7ad6043db"}, + {file = "nh3-0.2.20-cp313-cp313t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:eb4254b1dac4a1ee49919a5b3f1caf9803ea8dada1816d9e8289e63d3cd0dd9a"}, + {file = "nh3-0.2.20-cp313-cp313t-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:0ae9cbd713524cdb81e64663d0d6aae26f678db9f2cd9db0bf162606f1f9f20c"}, + {file = "nh3-0.2.20-cp313-cp313t-musllinux_1_2_aarch64.whl", hash = "sha256:e1f7370b4e14cc03f5ae141ef30a1caf81fa5787711f80be9081418dd9eb79d2"}, + {file = "nh3-0.2.20-cp313-cp313t-musllinux_1_2_armv7l.whl", hash = "sha256:ac4d27dc836a476efffc6eb661994426b8b805c951b29c9cf2ff36bc9ad58bc5"}, + {file = "nh3-0.2.20-cp313-cp313t-musllinux_1_2_i686.whl", hash = "sha256:4fd2e9248725ebcedac3997a8d3da0d90a12a28c9179c6ba51f1658938ac30d0"}, + {file = "nh3-0.2.20-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:f7d564871833ddbe54df3aa59053b1110729d3a800cb7628ae8f42adb3d75208"}, + {file = "nh3-0.2.20-cp313-cp313t-win32.whl", hash = "sha256:d2a176fd4306b6f0f178a3f67fac91bd97a3a8d8fafb771c9b9ef675ba5c8886"}, + {file = "nh3-0.2.20-cp313-cp313t-win_amd64.whl", hash = "sha256:6ed834c68452a600f517dd3e1534dbfaff1f67f98899fecf139a055a25d99150"}, + {file = "nh3-0.2.20-cp38-abi3-macosx_10_12_x86_64.macosx_11_0_arm64.macosx_10_12_universal2.whl", hash = "sha256:76e2f603b30c02ff6456b233a83fc377dedab6a50947b04e960a6b905637b776"}, + {file = "nh3-0.2.20-cp38-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:181063c581defe683bd4bb78188ac9936d208aebbc74c7f7c16b6a32ae2ebb38"}, + {file = "nh3-0.2.20-cp38-abi3-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:231addb7643c952cd6d71f1c8702d703f8fe34afcb20becb3efb319a501a12d7"}, + {file = "nh3-0.2.20-cp38-abi3-manylinux_2_17_ppc64.manylinux2014_ppc64.whl", hash = "sha256:1b9a8340a0aab991c68a5ca938d35ef4a8a3f4bf1b455da8855a40bee1fa0ace"}, + {file = "nh3-0.2.20-cp38-abi3-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:10317cd96fe4bbd4eb6b95f3920b71c902157ad44fed103fdcde43e3b8ee8be6"}, + {file = "nh3-0.2.20-cp38-abi3-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:8698db4c04b140800d1a1cd3067fda399e36e1e2b8fc1fe04292a907350a3e9b"}, + {file = "nh3-0.2.20-cp38-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:3eb04b9c3deb13c3a375ea39fd4a3c00d1f92e8fb2349f25f1e3e4506751774b"}, + {file = "nh3-0.2.20-cp38-abi3-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:92f3f1c4f47a2c6f3ca7317b1d5ced05bd29556a75d3a4e2715652ae9d15c05d"}, + {file = "nh3-0.2.20-cp38-abi3-musllinux_1_2_aarch64.whl", hash = "sha256:ddefa9fd6794a87e37d05827d299d4b53a3ec6f23258101907b96029bfef138a"}, + {file = "nh3-0.2.20-cp38-abi3-musllinux_1_2_armv7l.whl", hash = "sha256:ce3731c8f217685d33d9268362e5b4f770914e922bba94d368ab244a59a6c397"}, + {file = "nh3-0.2.20-cp38-abi3-musllinux_1_2_i686.whl", hash = "sha256:09f037c02fc2c43b211ff1523de32801dcfb0918648d8e651c36ef890f1731ec"}, + {file = "nh3-0.2.20-cp38-abi3-musllinux_1_2_x86_64.whl", hash = "sha256:813f1c8012dd64c990514b795508abb90789334f76a561fa0fd4ca32d2275330"}, + {file = "nh3-0.2.20-cp38-abi3-win32.whl", hash = "sha256:47b2946c0e13057855209daeffb45dc910bd0c55daf10190bb0b4b60e2999784"}, + {file = "nh3-0.2.20-cp38-abi3-win_amd64.whl", hash = "sha256:da87573f03084edae8eb87cfe811ec338606288f81d333c07d2a9a0b9b976c0b"}, + {file = "nh3-0.2.20.tar.gz", hash = "sha256:9705c42d7ff88a0bea546c82d7fe5e59135e3d3f057e485394f491248a1f8ed5"}, ] [[package]] @@ -2770,18 +2912,18 @@ files = [ [[package]] name = "notebook" -version = "7.3.1" +version = "7.3.2" description = "Jupyter Notebook - A web-based notebook environment for interactive computing" optional = false python-versions = ">=3.8" files = [ - {file = "notebook-7.3.1-py3-none-any.whl", hash = "sha256:212e1486b2230fe22279043f33c7db5cf9a01d29feb063a85cb139747b7c9483"}, - {file = "notebook-7.3.1.tar.gz", hash = "sha256:84381c2a82d867517fd25b86e986dae1fe113a70b98f03edff9b94e499fec8fa"}, + {file = "notebook-7.3.2-py3-none-any.whl", hash = "sha256:e5f85fc59b69d3618d73cf27544418193ff8e8058d5bf61d315ce4f473556288"}, + {file = "notebook-7.3.2.tar.gz", hash = "sha256:705e83a1785f45b383bf3ee13cb76680b92d24f56fb0c7d2136fe1d850cd3ca8"}, ] [package.dependencies] jupyter-server = ">=2.4.0,<3" -jupyterlab = ">=4.3.2,<4.4" +jupyterlab = ">=4.3.4,<4.4" jupyterlab-server = ">=2.27.1,<3" notebook-shim = ">=0.2,<0.3" tornado = ">=6.2.0" @@ -2884,66 +3026,66 @@ files = [ [[package]] name = "numpy" -version = "2.2.0" +version = "2.2.1" description = "Fundamental package for array computing in Python" optional = false python-versions = ">=3.10" files = [ - {file = "numpy-2.2.0-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:1e25507d85da11ff5066269d0bd25d06e0a0f2e908415534f3e603d2a78e4ffa"}, - {file = "numpy-2.2.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:a62eb442011776e4036af5c8b1a00b706c5bc02dc15eb5344b0c750428c94219"}, - {file = "numpy-2.2.0-cp310-cp310-macosx_14_0_arm64.whl", hash = "sha256:b606b1aaf802e6468c2608c65ff7ece53eae1a6874b3765f69b8ceb20c5fa78e"}, - {file = "numpy-2.2.0-cp310-cp310-macosx_14_0_x86_64.whl", hash = "sha256:36b2b43146f646642b425dd2027730f99bac962618ec2052932157e213a040e9"}, - {file = "numpy-2.2.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:7fe8f3583e0607ad4e43a954e35c1748b553bfe9fdac8635c02058023277d1b3"}, - {file = "numpy-2.2.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:122fd2fcfafdefc889c64ad99c228d5a1f9692c3a83f56c292618a59aa60ae83"}, - {file = "numpy-2.2.0-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:3f2f5cddeaa4424a0a118924b988746db6ffa8565e5829b1841a8a3bd73eb59a"}, - {file = "numpy-2.2.0-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:7fe4bb0695fe986a9e4deec3b6857003b4cfe5c5e4aac0b95f6a658c14635e31"}, - {file = "numpy-2.2.0-cp310-cp310-win32.whl", hash = "sha256:b30042fe92dbd79f1ba7f6898fada10bdaad1847c44f2dff9a16147e00a93661"}, - {file = "numpy-2.2.0-cp310-cp310-win_amd64.whl", hash = "sha256:54dc1d6d66f8d37843ed281773c7174f03bf7ad826523f73435deb88ba60d2d4"}, - {file = "numpy-2.2.0-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:9874bc2ff574c40ab7a5cbb7464bf9b045d617e36754a7bc93f933d52bd9ffc6"}, - {file = "numpy-2.2.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:0da8495970f6b101ddd0c38ace92edea30e7e12b9a926b57f5fabb1ecc25bb90"}, - {file = "numpy-2.2.0-cp311-cp311-macosx_14_0_arm64.whl", hash = "sha256:0557eebc699c1c34cccdd8c3778c9294e8196df27d713706895edc6f57d29608"}, - {file = "numpy-2.2.0-cp311-cp311-macosx_14_0_x86_64.whl", hash = "sha256:3579eaeb5e07f3ded59298ce22b65f877a86ba8e9fe701f5576c99bb17c283da"}, - {file = "numpy-2.2.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:40deb10198bbaa531509aad0cd2f9fadb26c8b94070831e2208e7df543562b74"}, - {file = "numpy-2.2.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:c2aed8fcf8abc3020d6a9ccb31dbc9e7d7819c56a348cc88fd44be269b37427e"}, - {file = "numpy-2.2.0-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:a222d764352c773aa5ebde02dd84dba3279c81c6db2e482d62a3fa54e5ece69b"}, - {file = "numpy-2.2.0-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:4e58666988605e251d42c2818c7d3d8991555381be26399303053b58a5bbf30d"}, - {file = "numpy-2.2.0-cp311-cp311-win32.whl", hash = "sha256:4723a50e1523e1de4fccd1b9a6dcea750c2102461e9a02b2ac55ffeae09a4410"}, - {file = "numpy-2.2.0-cp311-cp311-win_amd64.whl", hash = "sha256:16757cf28621e43e252c560d25b15f18a2f11da94fea344bf26c599b9cf54b73"}, - {file = "numpy-2.2.0-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:cff210198bb4cae3f3c100444c5eaa573a823f05c253e7188e1362a5555235b3"}, - {file = "numpy-2.2.0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:58b92a5828bd4d9aa0952492b7de803135038de47343b2aa3cc23f3b71a3dc4e"}, - {file = "numpy-2.2.0-cp312-cp312-macosx_14_0_arm64.whl", hash = "sha256:ebe5e59545401fbb1b24da76f006ab19734ae71e703cdb4a8b347e84a0cece67"}, - {file = "numpy-2.2.0-cp312-cp312-macosx_14_0_x86_64.whl", hash = "sha256:e2b8cd48a9942ed3f85b95ca4105c45758438c7ed28fff1e4ce3e57c3b589d8e"}, - {file = "numpy-2.2.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:57fcc997ffc0bef234b8875a54d4058afa92b0b0c4223fc1f62f24b3b5e86038"}, - {file = "numpy-2.2.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:85ad7d11b309bd132d74397fcf2920933c9d1dc865487128f5c03d580f2c3d03"}, - {file = "numpy-2.2.0-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:cb24cca1968b21355cc6f3da1a20cd1cebd8a023e3c5b09b432444617949085a"}, - {file = "numpy-2.2.0-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:0798b138c291d792f8ea40fe3768610f3c7dd2574389e37c3f26573757c8f7ef"}, - {file = "numpy-2.2.0-cp312-cp312-win32.whl", hash = "sha256:afe8fb968743d40435c3827632fd36c5fbde633b0423da7692e426529b1759b1"}, - {file = "numpy-2.2.0-cp312-cp312-win_amd64.whl", hash = "sha256:3a4199f519e57d517ebd48cb76b36c82da0360781c6a0353e64c0cac30ecaad3"}, - {file = "numpy-2.2.0-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:f8c8b141ef9699ae777c6278b52c706b653bf15d135d302754f6b2e90eb30367"}, - {file = "numpy-2.2.0-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:0f0986e917aca18f7a567b812ef7ca9391288e2acb7a4308aa9d265bd724bdae"}, - {file = "numpy-2.2.0-cp313-cp313-macosx_14_0_arm64.whl", hash = "sha256:1c92113619f7b272838b8d6702a7f8ebe5edea0df48166c47929611d0b4dea69"}, - {file = "numpy-2.2.0-cp313-cp313-macosx_14_0_x86_64.whl", hash = "sha256:5a145e956b374e72ad1dff82779177d4a3c62bc8248f41b80cb5122e68f22d13"}, - {file = "numpy-2.2.0-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:18142b497d70a34b01642b9feabb70156311b326fdddd875a9981f34a369b671"}, - {file = "numpy-2.2.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:a7d41d1612c1a82b64697e894b75db6758d4f21c3ec069d841e60ebe54b5b571"}, - {file = "numpy-2.2.0-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:a98f6f20465e7618c83252c02041517bd2f7ea29be5378f09667a8f654a5918d"}, - {file = "numpy-2.2.0-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:e09d40edfdb4e260cb1567d8ae770ccf3b8b7e9f0d9b5c2a9992696b30ce2742"}, - {file = "numpy-2.2.0-cp313-cp313-win32.whl", hash = "sha256:3905a5fffcc23e597ee4d9fb3fcd209bd658c352657548db7316e810ca80458e"}, - {file = "numpy-2.2.0-cp313-cp313-win_amd64.whl", hash = "sha256:a184288538e6ad699cbe6b24859206e38ce5fba28f3bcfa51c90d0502c1582b2"}, - {file = "numpy-2.2.0-cp313-cp313t-macosx_10_13_x86_64.whl", hash = "sha256:7832f9e8eb00be32f15fdfb9a981d6955ea9adc8574c521d48710171b6c55e95"}, - {file = "numpy-2.2.0-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:f0dd071b95bbca244f4cb7f70b77d2ff3aaaba7fa16dc41f58d14854a6204e6c"}, - {file = "numpy-2.2.0-cp313-cp313t-macosx_14_0_arm64.whl", hash = "sha256:b0b227dcff8cdc3efbce66d4e50891f04d0a387cce282fe1e66199146a6a8fca"}, - {file = "numpy-2.2.0-cp313-cp313t-macosx_14_0_x86_64.whl", hash = "sha256:6ab153263a7c5ccaf6dfe7e53447b74f77789f28ecb278c3b5d49db7ece10d6d"}, - {file = "numpy-2.2.0-cp313-cp313t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:e500aba968a48e9019e42c0c199b7ec0696a97fa69037bea163b55398e390529"}, - {file = "numpy-2.2.0-cp313-cp313t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:440cfb3db4c5029775803794f8638fbdbf71ec702caf32735f53b008e1eaece3"}, - {file = "numpy-2.2.0-cp313-cp313t-musllinux_1_2_aarch64.whl", hash = "sha256:a55dc7a7f0b6198b07ec0cd445fbb98b05234e8b00c5ac4874a63372ba98d4ab"}, - {file = "numpy-2.2.0-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:4bddbaa30d78c86329b26bd6aaaea06b1e47444da99eddac7bf1e2fab717bd72"}, - {file = "numpy-2.2.0-cp313-cp313t-win32.whl", hash = "sha256:30bf971c12e4365153afb31fc73f441d4da157153f3400b82db32d04de1e4066"}, - {file = "numpy-2.2.0-cp313-cp313t-win_amd64.whl", hash = "sha256:d35717333b39d1b6bb8433fa758a55f1081543de527171543a2b710551d40881"}, - {file = "numpy-2.2.0-pp310-pypy310_pp73-macosx_10_15_x86_64.whl", hash = "sha256:e12c6c1ce84628c52d6367863773f7c8c8241be554e8b79686e91a43f1733773"}, - {file = "numpy-2.2.0-pp310-pypy310_pp73-macosx_14_0_x86_64.whl", hash = "sha256:b6207dc8fb3c8cb5668e885cef9ec7f70189bec4e276f0ff70d5aa078d32c88e"}, - {file = "numpy-2.2.0-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:a50aeff71d0f97b6450d33940c7181b08be1441c6c193e678211bff11aa725e7"}, - {file = "numpy-2.2.0-pp310-pypy310_pp73-win_amd64.whl", hash = "sha256:df12a1f99b99f569a7c2ae59aa2d31724e8d835fc7f33e14f4792e3071d11221"}, - {file = "numpy-2.2.0.tar.gz", hash = "sha256:140dd80ff8981a583a60980be1a655068f8adebf7a45a06a6858c873fcdcd4a0"}, + {file = "numpy-2.2.1-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:5edb4e4caf751c1518e6a26a83501fda79bff41cc59dac48d70e6d65d4ec4440"}, + {file = "numpy-2.2.1-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:aa3017c40d513ccac9621a2364f939d39e550c542eb2a894b4c8da92b38896ab"}, + {file = "numpy-2.2.1-cp310-cp310-macosx_14_0_arm64.whl", hash = "sha256:61048b4a49b1c93fe13426e04e04fdf5a03f456616f6e98c7576144677598675"}, + {file = "numpy-2.2.1-cp310-cp310-macosx_14_0_x86_64.whl", hash = "sha256:7671dc19c7019103ca44e8d94917eba8534c76133523ca8406822efdd19c9308"}, + {file = "numpy-2.2.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:4250888bcb96617e00bfa28ac24850a83c9f3a16db471eca2ee1f1714df0f957"}, + {file = "numpy-2.2.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:a7746f235c47abc72b102d3bce9977714c2444bdfaea7888d241b4c4bb6a78bf"}, + {file = "numpy-2.2.1-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:059e6a747ae84fce488c3ee397cee7e5f905fd1bda5fb18c66bc41807ff119b2"}, + {file = "numpy-2.2.1-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:f62aa6ee4eb43b024b0e5a01cf65a0bb078ef8c395e8713c6e8a12a697144528"}, + {file = "numpy-2.2.1-cp310-cp310-win32.whl", hash = "sha256:48fd472630715e1c1c89bf1feab55c29098cb403cc184b4859f9c86d4fcb6a95"}, + {file = "numpy-2.2.1-cp310-cp310-win_amd64.whl", hash = "sha256:b541032178a718c165a49638d28272b771053f628382d5e9d1c93df23ff58dbf"}, + {file = "numpy-2.2.1-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:40f9e544c1c56ba8f1cf7686a8c9b5bb249e665d40d626a23899ba6d5d9e1484"}, + {file = "numpy-2.2.1-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:f9b57eaa3b0cd8db52049ed0330747b0364e899e8a606a624813452b8203d5f7"}, + {file = "numpy-2.2.1-cp311-cp311-macosx_14_0_arm64.whl", hash = "sha256:bc8a37ad5b22c08e2dbd27df2b3ef7e5c0864235805b1e718a235bcb200cf1cb"}, + {file = "numpy-2.2.1-cp311-cp311-macosx_14_0_x86_64.whl", hash = "sha256:9036d6365d13b6cbe8f27a0eaf73ddcc070cae584e5ff94bb45e3e9d729feab5"}, + {file = "numpy-2.2.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:51faf345324db860b515d3f364eaa93d0e0551a88d6218a7d61286554d190d73"}, + {file = "numpy-2.2.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:38efc1e56b73cc9b182fe55e56e63b044dd26a72128fd2fbd502f75555d92591"}, + {file = "numpy-2.2.1-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:31b89fa67a8042e96715c68e071a1200c4e172f93b0fbe01a14c0ff3ff820fc8"}, + {file = "numpy-2.2.1-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:4c86e2a209199ead7ee0af65e1d9992d1dce7e1f63c4b9a616500f93820658d0"}, + {file = "numpy-2.2.1-cp311-cp311-win32.whl", hash = "sha256:b34d87e8a3090ea626003f87f9392b3929a7bbf4104a05b6667348b6bd4bf1cd"}, + {file = "numpy-2.2.1-cp311-cp311-win_amd64.whl", hash = "sha256:360137f8fb1b753c5cde3ac388597ad680eccbbbb3865ab65efea062c4a1fd16"}, + {file = "numpy-2.2.1-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:694f9e921a0c8f252980e85bce61ebbd07ed2b7d4fa72d0e4246f2f8aa6642ab"}, + {file = "numpy-2.2.1-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:3683a8d166f2692664262fd4900f207791d005fb088d7fdb973cc8d663626faa"}, + {file = "numpy-2.2.1-cp312-cp312-macosx_14_0_arm64.whl", hash = "sha256:780077d95eafc2ccc3ced969db22377b3864e5b9a0ea5eb347cc93b3ea900315"}, + {file = "numpy-2.2.1-cp312-cp312-macosx_14_0_x86_64.whl", hash = "sha256:55ba24ebe208344aa7a00e4482f65742969a039c2acfcb910bc6fcd776eb4355"}, + {file = "numpy-2.2.1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:9b1d07b53b78bf84a96898c1bc139ad7f10fda7423f5fd158fd0f47ec5e01ac7"}, + {file = "numpy-2.2.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:5062dc1a4e32a10dc2b8b13cedd58988261416e811c1dc4dbdea4f57eea61b0d"}, + {file = "numpy-2.2.1-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:fce4f615f8ca31b2e61aa0eb5865a21e14f5629515c9151850aa936c02a1ee51"}, + {file = "numpy-2.2.1-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:67d4cda6fa6ffa073b08c8372aa5fa767ceb10c9a0587c707505a6d426f4e046"}, + {file = "numpy-2.2.1-cp312-cp312-win32.whl", hash = "sha256:32cb94448be47c500d2c7a95f93e2f21a01f1fd05dd2beea1ccd049bb6001cd2"}, + {file = "numpy-2.2.1-cp312-cp312-win_amd64.whl", hash = "sha256:ba5511d8f31c033a5fcbda22dd5c813630af98c70b2661f2d2c654ae3cdfcfc8"}, + {file = "numpy-2.2.1-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:f1d09e520217618e76396377c81fba6f290d5f926f50c35f3a5f72b01a0da780"}, + {file = "numpy-2.2.1-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:3ecc47cd7f6ea0336042be87d9e7da378e5c7e9b3c8ad0f7c966f714fc10d821"}, + {file = "numpy-2.2.1-cp313-cp313-macosx_14_0_arm64.whl", hash = "sha256:f419290bc8968a46c4933158c91a0012b7a99bb2e465d5ef5293879742f8797e"}, + {file = "numpy-2.2.1-cp313-cp313-macosx_14_0_x86_64.whl", hash = "sha256:5b6c390bfaef8c45a260554888966618328d30e72173697e5cabe6b285fb2348"}, + {file = "numpy-2.2.1-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:526fc406ab991a340744aad7e25251dd47a6720a685fa3331e5c59fef5282a59"}, + {file = "numpy-2.2.1-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f74e6fdeb9a265624ec3a3918430205dff1df7e95a230779746a6af78bc615af"}, + {file = "numpy-2.2.1-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:53c09385ff0b72ba79d8715683c1168c12e0b6e84fb0372e97553d1ea91efe51"}, + {file = "numpy-2.2.1-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:f3eac17d9ec51be534685ba877b6ab5edc3ab7ec95c8f163e5d7b39859524716"}, + {file = "numpy-2.2.1-cp313-cp313-win32.whl", hash = "sha256:9ad014faa93dbb52c80d8f4d3dcf855865c876c9660cb9bd7553843dd03a4b1e"}, + {file = "numpy-2.2.1-cp313-cp313-win_amd64.whl", hash = "sha256:164a829b6aacf79ca47ba4814b130c4020b202522a93d7bff2202bfb33b61c60"}, + {file = "numpy-2.2.1-cp313-cp313t-macosx_10_13_x86_64.whl", hash = "sha256:4dfda918a13cc4f81e9118dea249e192ab167a0bb1966272d5503e39234d694e"}, + {file = "numpy-2.2.1-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:733585f9f4b62e9b3528dd1070ec4f52b8acf64215b60a845fa13ebd73cd0712"}, + {file = "numpy-2.2.1-cp313-cp313t-macosx_14_0_arm64.whl", hash = "sha256:89b16a18e7bba224ce5114db863e7029803c179979e1af6ad6a6b11f70545008"}, + {file = "numpy-2.2.1-cp313-cp313t-macosx_14_0_x86_64.whl", hash = "sha256:676f4eebf6b2d430300f1f4f4c2461685f8269f94c89698d832cdf9277f30b84"}, + {file = "numpy-2.2.1-cp313-cp313t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:27f5cdf9f493b35f7e41e8368e7d7b4bbafaf9660cba53fb21d2cd174ec09631"}, + {file = "numpy-2.2.1-cp313-cp313t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:c1ad395cf254c4fbb5b2132fee391f361a6e8c1adbd28f2cd8e79308a615fe9d"}, + {file = "numpy-2.2.1-cp313-cp313t-musllinux_1_2_aarch64.whl", hash = "sha256:08ef779aed40dbc52729d6ffe7dd51df85796a702afbf68a4f4e41fafdc8bda5"}, + {file = "numpy-2.2.1-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:26c9c4382b19fcfbbed3238a14abf7ff223890ea1936b8890f058e7ba35e8d71"}, + {file = "numpy-2.2.1-cp313-cp313t-win32.whl", hash = "sha256:93cf4e045bae74c90ca833cba583c14b62cb4ba2cba0abd2b141ab52548247e2"}, + {file = "numpy-2.2.1-cp313-cp313t-win_amd64.whl", hash = "sha256:bff7d8ec20f5f42607599f9994770fa65d76edca264a87b5e4ea5629bce12268"}, + {file = "numpy-2.2.1-pp310-pypy310_pp73-macosx_10_15_x86_64.whl", hash = "sha256:7ba9cc93a91d86365a5d270dee221fdc04fb68d7478e6bf6af650de78a8339e3"}, + {file = "numpy-2.2.1-pp310-pypy310_pp73-macosx_14_0_x86_64.whl", hash = "sha256:3d03883435a19794e41f147612a77a8f56d4e52822337844fff3d4040a142964"}, + {file = "numpy-2.2.1-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:4511d9e6071452b944207c8ce46ad2f897307910b402ea5fa975da32e0102800"}, + {file = "numpy-2.2.1-pp310-pypy310_pp73-win_amd64.whl", hash = "sha256:5c5cc0cbabe9452038ed984d05ac87910f89370b9242371bd9079cb4af61811e"}, + {file = "numpy-2.2.1.tar.gz", hash = "sha256:45681fd7128c8ad1c379f0ca0776a8b0c6583d2f69889ddac01559dfe4390918"}, ] [[package]] @@ -3474,32 +3616,32 @@ wcwidth = "*" [[package]] name = "psutil" -version = "6.1.0" +version = "6.1.1" description = "Cross-platform lib for process and system monitoring in Python." optional = false python-versions = "!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*,!=3.4.*,!=3.5.*,>=2.7" files = [ - {file = "psutil-6.1.0-cp27-cp27m-macosx_10_9_x86_64.whl", hash = "sha256:ff34df86226c0227c52f38b919213157588a678d049688eded74c76c8ba4a5d0"}, - {file = "psutil-6.1.0-cp27-cp27m-manylinux2010_i686.whl", hash = "sha256:c0e0c00aa18ca2d3b2b991643b799a15fc8f0563d2ebb6040f64ce8dc027b942"}, - {file = "psutil-6.1.0-cp27-cp27m-manylinux2010_x86_64.whl", hash = "sha256:000d1d1ebd634b4efb383f4034437384e44a6d455260aaee2eca1e9c1b55f047"}, - {file = "psutil-6.1.0-cp27-cp27mu-manylinux2010_i686.whl", hash = "sha256:5cd2bcdc75b452ba2e10f0e8ecc0b57b827dd5d7aaffbc6821b2a9a242823a76"}, - {file = "psutil-6.1.0-cp27-cp27mu-manylinux2010_x86_64.whl", hash = "sha256:045f00a43c737f960d273a83973b2511430d61f283a44c96bf13a6e829ba8fdc"}, - {file = "psutil-6.1.0-cp27-none-win32.whl", hash = "sha256:9118f27452b70bb1d9ab3198c1f626c2499384935aaf55388211ad982611407e"}, - {file = "psutil-6.1.0-cp27-none-win_amd64.whl", hash = "sha256:a8506f6119cff7015678e2bce904a4da21025cc70ad283a53b099e7620061d85"}, - {file = "psutil-6.1.0-cp36-abi3-macosx_10_9_x86_64.whl", hash = "sha256:6e2dcd475ce8b80522e51d923d10c7871e45f20918e027ab682f94f1c6351688"}, - {file = "psutil-6.1.0-cp36-abi3-macosx_11_0_arm64.whl", hash = "sha256:0895b8414afafc526712c498bd9de2b063deaac4021a3b3c34566283464aff8e"}, - {file = "psutil-6.1.0-cp36-abi3-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:9dcbfce5d89f1d1f2546a2090f4fcf87c7f669d1d90aacb7d7582addece9fb38"}, - {file = "psutil-6.1.0-cp36-abi3-manylinux_2_12_x86_64.manylinux2010_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:498c6979f9c6637ebc3a73b3f87f9eb1ec24e1ce53a7c5173b8508981614a90b"}, - {file = "psutil-6.1.0-cp36-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d905186d647b16755a800e7263d43df08b790d709d575105d419f8b6ef65423a"}, - {file = "psutil-6.1.0-cp36-cp36m-win32.whl", hash = "sha256:6d3fbbc8d23fcdcb500d2c9f94e07b1342df8ed71b948a2649b5cb060a7c94ca"}, - {file = "psutil-6.1.0-cp36-cp36m-win_amd64.whl", hash = "sha256:1209036fbd0421afde505a4879dee3b2fd7b1e14fee81c0069807adcbbcca747"}, - {file = "psutil-6.1.0-cp37-abi3-win32.whl", hash = "sha256:1ad45a1f5d0b608253b11508f80940985d1d0c8f6111b5cb637533a0e6ddc13e"}, - {file = "psutil-6.1.0-cp37-abi3-win_amd64.whl", hash = "sha256:a8fb3752b491d246034fa4d279ff076501588ce8cbcdbb62c32fd7a377d996be"}, - {file = "psutil-6.1.0.tar.gz", hash = "sha256:353815f59a7f64cdaca1c0307ee13558a0512f6db064e92fe833784f08539c7a"}, + {file = "psutil-6.1.1-cp27-cp27m-macosx_10_9_x86_64.whl", hash = "sha256:9ccc4316f24409159897799b83004cb1e24f9819b0dcf9c0b68bdcb6cefee6a8"}, + {file = "psutil-6.1.1-cp27-cp27m-manylinux2010_i686.whl", hash = "sha256:ca9609c77ea3b8481ab005da74ed894035936223422dc591d6772b147421f777"}, + {file = "psutil-6.1.1-cp27-cp27m-manylinux2010_x86_64.whl", hash = "sha256:8df0178ba8a9e5bc84fed9cfa61d54601b371fbec5c8eebad27575f1e105c0d4"}, + {file = "psutil-6.1.1-cp27-cp27mu-manylinux2010_i686.whl", hash = "sha256:1924e659d6c19c647e763e78670a05dbb7feaf44a0e9c94bf9e14dfc6ba50468"}, + {file = "psutil-6.1.1-cp27-cp27mu-manylinux2010_x86_64.whl", hash = "sha256:018aeae2af92d943fdf1da6b58665124897cfc94faa2ca92098838f83e1b1bca"}, + {file = "psutil-6.1.1-cp27-none-win32.whl", hash = "sha256:6d4281f5bbca041e2292be3380ec56a9413b790579b8e593b1784499d0005dac"}, + {file = "psutil-6.1.1-cp27-none-win_amd64.whl", hash = "sha256:c777eb75bb33c47377c9af68f30e9f11bc78e0f07fbf907be4a5d70b2fe5f030"}, + {file = "psutil-6.1.1-cp36-abi3-macosx_10_9_x86_64.whl", hash = "sha256:fc0ed7fe2231a444fc219b9c42d0376e0a9a1a72f16c5cfa0f68d19f1a0663e8"}, + {file = "psutil-6.1.1-cp36-abi3-macosx_11_0_arm64.whl", hash = "sha256:0bdd4eab935276290ad3cb718e9809412895ca6b5b334f5a9111ee6d9aff9377"}, + {file = "psutil-6.1.1-cp36-abi3-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:b6e06c20c05fe95a3d7302d74e7097756d4ba1247975ad6905441ae1b5b66003"}, + {file = "psutil-6.1.1-cp36-abi3-manylinux_2_12_x86_64.manylinux2010_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:97f7cb9921fbec4904f522d972f0c0e1f4fabbdd4e0287813b21215074a0f160"}, + {file = "psutil-6.1.1-cp36-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:33431e84fee02bc84ea36d9e2c4a6d395d479c9dd9bba2376c1f6ee8f3a4e0b3"}, + {file = "psutil-6.1.1-cp36-cp36m-win32.whl", hash = "sha256:384636b1a64b47814437d1173be1427a7c83681b17a450bfc309a1953e329603"}, + {file = "psutil-6.1.1-cp36-cp36m-win_amd64.whl", hash = "sha256:8be07491f6ebe1a693f17d4f11e69d0dc1811fa082736500f649f79df7735303"}, + {file = "psutil-6.1.1-cp37-abi3-win32.whl", hash = "sha256:eaa912e0b11848c4d9279a93d7e2783df352b082f40111e078388701fd479e53"}, + {file = "psutil-6.1.1-cp37-abi3-win_amd64.whl", hash = "sha256:f35cfccb065fff93529d2afb4a2e89e363fe63ca1e4a5da22b603a85833c2649"}, + {file = "psutil-6.1.1.tar.gz", hash = "sha256:cf8496728c18f2d0b45198f06895be52f36611711746b7f30c464b422b50e2f5"}, ] [package.extras] -dev = ["black", "check-manifest", "coverage", "packaging", "pylint", "pyperf", "pypinfo", "pytest-cov", "requests", "rstcheck", "ruff", "sphinx", "sphinx_rtd_theme", "toml-sort", "twine", "virtualenv", "wheel"] +dev = ["abi3audit", "black", "check-manifest", "coverage", "packaging", "pylint", "pyperf", "pypinfo", "pytest-cov", "requests", "rstcheck", "ruff", "sphinx", "sphinx_rtd_theme", "toml-sort", "twine", "virtualenv", "vulture", "wheel"] test = ["pytest", "pytest-xdist", "setuptools"] [[package]] @@ -3554,13 +3696,13 @@ windows-terminal = ["colorama (>=0.4.6)"] [[package]] name = "pymdown-extensions" -version = "10.12" +version = "10.13" description = "Extension pack for Python Markdown." optional = false python-versions = ">=3.8" files = [ - {file = "pymdown_extensions-10.12-py3-none-any.whl", hash = "sha256:49f81412242d3527b8b4967b990df395c89563043bc51a3d2d7d500e52123b77"}, - {file = "pymdown_extensions-10.12.tar.gz", hash = "sha256:b0ee1e0b2bef1071a47891ab17003bfe5bf824a398e13f49f8ed653b699369a7"}, + {file = "pymdown_extensions-10.13-py3-none-any.whl", hash = "sha256:80bc33d715eec68e683e04298946d47d78c7739e79d808203df278ee8ef89428"}, + {file = "pymdown_extensions-10.13.tar.gz", hash = "sha256:e0b351494dc0d8d14a1f52b39b1499a00ef1566b4ba23dc74f1eba75c736f5dd"}, ] [package.dependencies] @@ -3680,13 +3822,13 @@ six = ">=1.5" [[package]] name = "python-json-logger" -version = "3.2.0" +version = "3.2.1" description = "JSON Log Formatter for the Python Logging Package" optional = false python-versions = ">=3.8" files = [ - {file = "python_json_logger-3.2.0-py3-none-any.whl", hash = "sha256:d73522ddcfc6d0461394120feaddea9025dc64bf804d96357dd42fa878cc5fe8"}, - {file = "python_json_logger-3.2.0.tar.gz", hash = "sha256:2c11056458d3f56614480b24e9cb28f7aba69cbfbebddbb77c92f0ec0d4947ab"}, + {file = "python_json_logger-3.2.1-py3-none-any.whl", hash = "sha256:cdc17047eb5374bd311e748b42f99d71223f3b0e186f4206cc5d52aefe85b090"}, + {file = "python_json_logger-3.2.1.tar.gz", hash = "sha256:8eb0554ea17cb75b05d2848bc14fb02fbdbd9d6972120781b974380bfa162008"}, ] [package.dependencies] @@ -4300,29 +4442,29 @@ files = [ [[package]] name = "ruff" -version = "0.8.3" +version = "0.8.5" description = "An extremely fast Python linter and code formatter, written in Rust." optional = false python-versions = ">=3.7" files = [ - {file = "ruff-0.8.3-py3-none-linux_armv6l.whl", hash = "sha256:8d5d273ffffff0acd3db5bf626d4b131aa5a5ada1276126231c4174543ce20d6"}, - {file = "ruff-0.8.3-py3-none-macosx_10_12_x86_64.whl", hash = "sha256:e4d66a21de39f15c9757d00c50c8cdd20ac84f55684ca56def7891a025d7e939"}, - {file = "ruff-0.8.3-py3-none-macosx_11_0_arm64.whl", hash = "sha256:c356e770811858bd20832af696ff6c7e884701115094f427b64b25093d6d932d"}, - {file = "ruff-0.8.3-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:9c0a60a825e3e177116c84009d5ebaa90cf40dfab56e1358d1df4e29a9a14b13"}, - {file = "ruff-0.8.3-py3-none-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:75fb782f4db39501210ac093c79c3de581d306624575eddd7e4e13747e61ba18"}, - {file = "ruff-0.8.3-py3-none-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:7f26bc76a133ecb09a38b7868737eded6941b70a6d34ef53a4027e83913b6502"}, - {file = "ruff-0.8.3-py3-none-manylinux_2_17_ppc64.manylinux2014_ppc64.whl", hash = "sha256:01b14b2f72a37390c1b13477c1c02d53184f728be2f3ffc3ace5b44e9e87b90d"}, - {file = "ruff-0.8.3-py3-none-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:53babd6e63e31f4e96ec95ea0d962298f9f0d9cc5990a1bbb023a6baf2503a82"}, - {file = "ruff-0.8.3-py3-none-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:1ae441ce4cf925b7f363d33cd6570c51435972d697e3e58928973994e56e1452"}, - {file = "ruff-0.8.3-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:d7c65bc0cadce32255e93c57d57ecc2cca23149edd52714c0c5d6fa11ec328cd"}, - {file = "ruff-0.8.3-py3-none-musllinux_1_2_aarch64.whl", hash = "sha256:5be450bb18f23f0edc5a4e5585c17a56ba88920d598f04a06bd9fd76d324cb20"}, - {file = "ruff-0.8.3-py3-none-musllinux_1_2_armv7l.whl", hash = "sha256:8faeae3827eaa77f5721f09b9472a18c749139c891dbc17f45e72d8f2ca1f8fc"}, - {file = "ruff-0.8.3-py3-none-musllinux_1_2_i686.whl", hash = "sha256:db503486e1cf074b9808403991663e4277f5c664d3fe237ee0d994d1305bb060"}, - {file = "ruff-0.8.3-py3-none-musllinux_1_2_x86_64.whl", hash = "sha256:6567be9fb62fbd7a099209257fef4ad2c3153b60579818b31a23c886ed4147ea"}, - {file = "ruff-0.8.3-py3-none-win32.whl", hash = "sha256:19048f2f878f3ee4583fc6cb23fb636e48c2635e30fb2022b3a1cd293402f964"}, - {file = "ruff-0.8.3-py3-none-win_amd64.whl", hash = "sha256:f7df94f57d7418fa7c3ffb650757e0c2b96cf2501a0b192c18e4fb5571dfada9"}, - {file = "ruff-0.8.3-py3-none-win_arm64.whl", hash = "sha256:fe2756edf68ea79707c8d68b78ca9a58ed9af22e430430491ee03e718b5e4936"}, - {file = "ruff-0.8.3.tar.gz", hash = "sha256:5e7558304353b84279042fc584a4f4cb8a07ae79b2bf3da1a7551d960b5626d3"}, + {file = "ruff-0.8.5-py3-none-linux_armv6l.whl", hash = "sha256:5ad11a5e3868a73ca1fa4727fe7e33735ea78b416313f4368c504dbeb69c0f88"}, + {file = "ruff-0.8.5-py3-none-macosx_10_12_x86_64.whl", hash = "sha256:f69ab37771ea7e0715fead8624ec42996d101269a96e31f4d31be6fc33aa19b7"}, + {file = "ruff-0.8.5-py3-none-macosx_11_0_arm64.whl", hash = "sha256:b5462d7804558ccff9c08fe8cbf6c14b7efe67404316696a2dde48297b1925bb"}, + {file = "ruff-0.8.5-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d56de7220a35607f9fe59f8a6d018e14504f7b71d784d980835e20fc0611cd50"}, + {file = "ruff-0.8.5-py3-none-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:9d99cf80b0429cbebf31cbbf6f24f05a29706f0437c40413d950e67e2d4faca4"}, + {file = "ruff-0.8.5-py3-none-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:7b75ac29715ac60d554a049dbb0ef3b55259076181c3369d79466cb130eb5afd"}, + {file = "ruff-0.8.5-py3-none-manylinux_2_17_ppc64.manylinux2014_ppc64.whl", hash = "sha256:c9d526a62c9eda211b38463528768fd0ada25dad524cb33c0e99fcff1c67b5dc"}, + {file = "ruff-0.8.5-py3-none-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:587c5e95007612c26509f30acc506c874dab4c4abbacd0357400bd1aa799931b"}, + {file = "ruff-0.8.5-py3-none-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:622b82bf3429ff0e346835ec213aec0a04d9730480cbffbb6ad9372014e31bbd"}, + {file = "ruff-0.8.5-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f99be814d77a5dac8a8957104bdd8c359e85c86b0ee0e38dca447cb1095f70fb"}, + {file = "ruff-0.8.5-py3-none-musllinux_1_2_aarch64.whl", hash = "sha256:c01c048f9c3385e0fd7822ad0fd519afb282af9cf1778f3580e540629df89725"}, + {file = "ruff-0.8.5-py3-none-musllinux_1_2_armv7l.whl", hash = "sha256:7512e8cb038db7f5db6aae0e24735ff9ea03bb0ed6ae2ce534e9baa23c1dc9ea"}, + {file = "ruff-0.8.5-py3-none-musllinux_1_2_i686.whl", hash = "sha256:762f113232acd5b768d6b875d16aad6b00082add40ec91c927f0673a8ec4ede8"}, + {file = "ruff-0.8.5-py3-none-musllinux_1_2_x86_64.whl", hash = "sha256:03a90200c5dfff49e4c967b405f27fdfa81594cbb7c5ff5609e42d7fe9680da5"}, + {file = "ruff-0.8.5-py3-none-win32.whl", hash = "sha256:8710ffd57bdaa6690cbf6ecff19884b8629ec2a2a2a2f783aa94b1cc795139ed"}, + {file = "ruff-0.8.5-py3-none-win_amd64.whl", hash = "sha256:4020d8bf8d3a32325c77af452a9976a9ad6455773bcb94991cf15bd66b347e47"}, + {file = "ruff-0.8.5-py3-none-win_arm64.whl", hash = "sha256:134ae019ef13e1b060ab7136e7828a6d83ea727ba123381307eb37c6bd5e01cb"}, + {file = "ruff-0.8.5.tar.gz", hash = "sha256:1098d36f69831f7ff2a1da3e6407d5fbd6dfa2559e4f74ff2d260c5588900317"}, ] [[package]] @@ -4519,13 +4661,13 @@ files = [ [[package]] name = "smmap" -version = "5.0.1" +version = "5.0.2" description = "A pure Python implementation of a sliding window memory map manager" optional = false python-versions = ">=3.7" files = [ - {file = "smmap-5.0.1-py3-none-any.whl", hash = "sha256:e6d8668fa5f93e706934a62d7b4db19c8d9eb8cf2adbb75ef1b675aa332b69da"}, - {file = "smmap-5.0.1.tar.gz", hash = "sha256:dceeb6c0028fdb6734471eb07c0cd2aae706ccaecab45965ee83f11c8d3b1f62"}, + {file = "smmap-5.0.2-py3-none-any.whl", hash = "sha256:b30115f0def7d7531d22a0fb6502488d879e75b260a9db4d0819cfb25403af5e"}, + {file = "smmap-5.0.2.tar.gz", hash = "sha256:26ea65a03958fa0c8a1c7e8c7a58fdc77221b8910f6be2131affade476898ad5"}, ] [[package]] @@ -4592,13 +4734,13 @@ typing = ["mypy (>=1.6,<2.0)", "traitlets (>=5.11.1)"] [[package]] name = "tinycss2" -version = "1.4.0" +version = "1.2.1" description = "A tiny CSS parser" optional = false -python-versions = ">=3.8" +python-versions = ">=3.7" files = [ - {file = "tinycss2-1.4.0-py3-none-any.whl", hash = "sha256:3a49cf47b7675da0b15d0c6e1df8df4ebd96e9394bb905a5775adb0d884c5289"}, - {file = "tinycss2-1.4.0.tar.gz", hash = "sha256:10c0972f6fc0fbee87c3edb76549357415e94548c1ae10ebccdea16fb404a9b7"}, + {file = "tinycss2-1.2.1-py3-none-any.whl", hash = "sha256:2b80a96d41e7c3914b8cda8bc7f705a4d9c49275616e886103dd839dfc847847"}, + {file = "tinycss2-1.2.1.tar.gz", hash = "sha256:8cff3a8f066c2ec677c06dbc7b45619804a6938478d9d73c284b29d14ecb0627"}, ] [package.dependencies] @@ -4606,7 +4748,7 @@ webencodings = ">=0.4" [package.extras] doc = ["sphinx", "sphinx_rtd_theme"] -test = ["pytest", "ruff"] +test = ["flake8", "isort", "pytest"] [[package]] name = "tomli" @@ -4760,13 +4902,13 @@ keyring = ["keyring (>=15.1)"] [[package]] name = "types-cffi" -version = "1.16.0.20240331" +version = "1.16.0.20241221" description = "Typing stubs for cffi" optional = false python-versions = ">=3.8" files = [ - {file = "types-cffi-1.16.0.20240331.tar.gz", hash = "sha256:b8b20d23a2b89cfed5f8c5bc53b0cb8677c3aac6d970dbc771e28b9c698f5dee"}, - {file = "types_cffi-1.16.0.20240331-py3-none-any.whl", hash = "sha256:a363e5ea54a4eb6a4a105d800685fde596bc318089b025b27dee09849fe41ff0"}, + {file = "types_cffi-1.16.0.20241221-py3-none-any.whl", hash = "sha256:e5b76b4211d7a9185f6ab8d06a106d56c7eb80af7cdb8bfcb4186ade10fb112f"}, + {file = "types_cffi-1.16.0.20241221.tar.gz", hash = "sha256:1c96649618f4b6145f58231acb976e0b448be6b847f7ab733dabe62dfbff6591"}, ] [package.dependencies] @@ -4785,24 +4927,24 @@ files = [ [[package]] name = "types-pytz" -version = "2024.2.0.20241003" +version = "2024.2.0.20241221" description = "Typing stubs for pytz" optional = false python-versions = ">=3.8" files = [ - {file = "types-pytz-2024.2.0.20241003.tar.gz", hash = "sha256:575dc38f385a922a212bac00a7d6d2e16e141132a3c955078f4a4fd13ed6cb44"}, - {file = "types_pytz-2024.2.0.20241003-py3-none-any.whl", hash = "sha256:3e22df1336c0c6ad1d29163c8fda82736909eb977281cb823c57f8bae07118b7"}, + {file = "types_pytz-2024.2.0.20241221-py3-none-any.whl", hash = "sha256:8fc03195329c43637ed4f593663df721fef919b60a969066e22606edf0b53ad5"}, + {file = "types_pytz-2024.2.0.20241221.tar.gz", hash = "sha256:06d7cde9613e9f7504766a0554a270c369434b50e00975b3a4a0f6eed0f2c1a9"}, ] [[package]] name = "types-pyyaml" -version = "6.0.12.20240917" +version = "6.0.12.20241230" description = "Typing stubs for PyYAML" optional = false python-versions = ">=3.8" files = [ - {file = "types-PyYAML-6.0.12.20240917.tar.gz", hash = "sha256:d1405a86f9576682234ef83bcb4e6fff7c9305c8b1fbad5e0bcd4f7dbdc9c587"}, - {file = "types_PyYAML-6.0.12.20240917-py3-none-any.whl", hash = "sha256:392b267f1c0fe6022952462bf5d6523f31e37f6cea49b14cee7ad634b6301570"}, + {file = "types_PyYAML-6.0.12.20241230-py3-none-any.whl", hash = "sha256:fa4d32565219b68e6dee5f67534c722e53c00d1cfc09c435ef04d7353e1e96e6"}, + {file = "types_pyyaml-6.0.12.20241230.tar.gz", hash = "sha256:7f07622dbd34bb9c8b264fe860a17e0efcad00d50b5f27e93984909d9363498c"}, ] [[package]] @@ -4821,24 +4963,24 @@ urllib3 = ">=2" [[package]] name = "types-setuptools" -version = "75.6.0.20241126" +version = "75.6.0.20241223" description = "Typing stubs for setuptools" optional = false python-versions = ">=3.8" files = [ - {file = "types_setuptools-75.6.0.20241126-py3-none-any.whl", hash = "sha256:aaae310a0e27033c1da8457d4d26ac673b0c8a0de7272d6d4708e263f2ea3b9b"}, - {file = "types_setuptools-75.6.0.20241126.tar.gz", hash = "sha256:7bf25ad4be39740e469f9268b6beddda6e088891fa5a27e985c6ce68bf62ace0"}, + {file = "types_setuptools-75.6.0.20241223-py3-none-any.whl", hash = "sha256:7cbfd3bf2944f88bbcdd321b86ddd878232a277be95d44c78a53585d78ebc2f6"}, + {file = "types_setuptools-75.6.0.20241223.tar.gz", hash = "sha256:d9478a985057ed48a994c707f548e55aababa85fe1c9b212f43ab5a1fffd3211"}, ] [[package]] name = "types-tqdm" -version = "4.67.0.20241119" +version = "4.67.0.20241221" description = "Typing stubs for tqdm" optional = false python-versions = ">=3.8" files = [ - {file = "types-tqdm-4.67.0.20241119.tar.gz", hash = "sha256:1769e0e94d5e6d8fa814965f9cf3d9928376dd15dabcbcb784bb8769081092b4"}, - {file = "types_tqdm-4.67.0.20241119-py3-none-any.whl", hash = "sha256:a18d4eb62db0d35c52707ae13d821b5a57970755273ecb56e133ccc0ac7e7c79"}, + {file = "types_tqdm-4.67.0.20241221-py3-none-any.whl", hash = "sha256:a1f1c9cda5c2d8482d2c73957a5398bfdedda10f6bc7b3b4e812d5c910486d29"}, + {file = "types_tqdm-4.67.0.20241221.tar.gz", hash = "sha256:e56046631056922385abe89aeb18af5611f471eadd7918a0ad7f34d84cd4c8cc"}, ] [package.dependencies] From dbd6104c8ba0a32784b7161dad38124409b4d8ef Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 6 Jan 2025 00:33:51 +0000 Subject: [PATCH 083/420] :arrow_up: Bump abatilo/actions-poetry from 3.0.1 to 4.0.0 Bumps [abatilo/actions-poetry](https://github.com/abatilo/actions-poetry) from 3.0.1 to 4.0.0. - [Release notes](https://github.com/abatilo/actions-poetry/releases) - [Changelog](https://github.com/abatilo/actions-poetry/blob/master/.releaserc) - [Commits](https://github.com/abatilo/actions-poetry/compare/e78f54a89cb052fff327414dd9ff010b5d2b4dbd...3765cf608f2d4a72178a9fc5b918668e542b89b1) --- updated-dependencies: - dependency-name: abatilo/actions-poetry dependency-type: direct:production update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] --- .github/workflows/poetry-test.yml | 2 +- .github/workflows/publish-docs.yml | 2 +- .github/workflows/publish-test.yml | 2 +- .github/workflows/publish.yml | 2 +- .github/workflows/test-doc.yml | 2 +- .github/workflows/test.yml | 2 +- 6 files changed, 6 insertions(+), 6 deletions(-) diff --git a/.github/workflows/poetry-test.yml b/.github/workflows/poetry-test.yml index e8570d41ad..e8f40881a7 100644 --- a/.github/workflows/poetry-test.yml +++ b/.github/workflows/poetry-test.yml @@ -30,7 +30,7 @@ jobs: python-version: ${{ matrix.python-version }} - name: 📜 Setup Poetry - uses: abatilo/actions-poetry@e78f54a89cb052fff327414dd9ff010b5d2b4dbd # v3.0.1 + uses: abatilo/actions-poetry@3765cf608f2d4a72178a9fc5b918668e542b89b1 # v4.0.0 - name: 🔍 Check the correctness of the project config run: poetry check diff --git a/.github/workflows/publish-docs.yml b/.github/workflows/publish-docs.yml index a38482fca1..08b7f5d0ff 100644 --- a/.github/workflows/publish-docs.yml +++ b/.github/workflows/publish-docs.yml @@ -39,7 +39,7 @@ jobs: python-version: ${{ matrix.python-version }} - name: 📜 Setup Poetry - uses: abatilo/actions-poetry@e78f54a89cb052fff327414dd9ff010b5d2b4dbd # v3.0.1 + uses: abatilo/actions-poetry@3765cf608f2d4a72178a9fc5b918668e542b89b1 # v4.0.0 - name: 📦 Install dependencies run: | diff --git a/.github/workflows/publish-test.yml b/.github/workflows/publish-test.yml index ed80ed454c..e7ab8b53e9 100644 --- a/.github/workflows/publish-test.yml +++ b/.github/workflows/publish-test.yml @@ -32,7 +32,7 @@ jobs: python-version: ${{ matrix.python-version }} - name: 📜 Setup Poetry - uses: abatilo/actions-poetry@e78f54a89cb052fff327414dd9ff010b5d2b4dbd # v3.0.1 + uses: abatilo/actions-poetry@3765cf608f2d4a72178a9fc5b918668e542b89b1 # v4.0.0 - name: 🏗️ Build source and wheel distributions run: | diff --git a/.github/workflows/publish.yml b/.github/workflows/publish.yml index 398c9deb36..d71c239b32 100644 --- a/.github/workflows/publish.yml +++ b/.github/workflows/publish.yml @@ -30,7 +30,7 @@ jobs: python-version: ${{ matrix.python-version }} - name: 📜 Setup Poetry - uses: abatilo/actions-poetry@e78f54a89cb052fff327414dd9ff010b5d2b4dbd # v3.0.1 + uses: abatilo/actions-poetry@3765cf608f2d4a72178a9fc5b918668e542b89b1 # v4.0.0 - name: 🏗️ Build source and wheel distributions run: | diff --git a/.github/workflows/test-doc.yml b/.github/workflows/test-doc.yml index d5cd8acb05..6b2012d8fd 100644 --- a/.github/workflows/test-doc.yml +++ b/.github/workflows/test-doc.yml @@ -29,7 +29,7 @@ jobs: python-version: ${{ matrix.python-version }} - name: 📜 Setup Poetry - uses: abatilo/actions-poetry@e78f54a89cb052fff327414dd9ff010b5d2b4dbd # v3.0.1 + uses: abatilo/actions-poetry@3765cf608f2d4a72178a9fc5b918668e542b89b1 # v4.0.0 - name: 🏗️ Install dependencies run: | diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index a5167958c6..b2acef86c7 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -29,7 +29,7 @@ jobs: python-version: ${{ matrix.python-version }} - name: 📜 Setup Poetry - uses: abatilo/actions-poetry@e78f54a89cb052fff327414dd9ff010b5d2b4dbd # v3.0.1 + uses: abatilo/actions-poetry@3765cf608f2d4a72178a9fc5b918668e542b89b1 # v4.0.0 - name: 📦 Install dependencies run: | From beabf6810cfa2e3bc508d423acf8fecc23780fe3 Mon Sep 17 00:00:00 2001 From: Onuralp SEZER Date: Mon, 6 Jan 2025 04:24:53 +0300 Subject: [PATCH 084/420] =?UTF-8?q?fix:=20=F0=9F=90=9B=20Simplify=20pytest?= =?UTF-8?q?=20execution=20in=20workflow?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Onuralp SEZER --- .github/workflows/test.yml | 13 +++---------- 1 file changed, 3 insertions(+), 10 deletions(-) diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index b2acef86c7..cd197dbea1 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -35,13 +35,6 @@ jobs: run: | poetry install --with=test - - name: Run pytest - uses: pavelzw/pytest-action@510c5e90c360a185039bea56ce8b3e7e51a16507 # v2.2.0 - with: - verbose: true - emoji: true - job-summary: true - custom-arguments: "-q" - click-to-expand: true - report-title: "Test Report" - custom-pytest: "poetry run pytest" + - name: 🧪 Run pytest + run: | + poetry run pytest From 30cf394a7be1fb9eaf79557f98dddb05cc41e275 Mon Sep 17 00:00:00 2001 From: Onuralp SEZER Date: Mon, 6 Jan 2025 05:15:21 +0300 Subject: [PATCH 085/420] =?UTF-8?q?refactor:=20=F0=9F=9B=A0=EF=B8=8F=20upd?= =?UTF-8?q?ate=20pyproject.toml=20structure=20with=20PEP621=20compatibilit?= =?UTF-8?q?y=20=20and=20improve=20metadata=20organization?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- poetry.lock | 1314 ++++++++++++------------------------------------ pyproject.toml | 36 +- 2 files changed, 336 insertions(+), 1014 deletions(-) diff --git a/poetry.lock b/poetry.lock index 8922b4a5fc..83f007a43e 100644 --- a/poetry.lock +++ b/poetry.lock @@ -1,4 +1,4 @@ -# This file is automatically @generated by Poetry 1.8.5 and should not be changed by hand. +# This file is automatically @generated by Poetry 2.0.0 and should not be changed by hand. [[package]] name = "anyio" @@ -6,6 +6,7 @@ version = "4.5.2" description = "High level compatibility layer for multiple asynchronous event loop implementations" optional = false python-versions = ">=3.8" +groups = ["dev"] files = [ {file = "anyio-4.5.2-py3-none-any.whl", hash = "sha256:c011ee36bc1e8ba40e5a81cb9df91925c218fe9b778554e0b56a21e1b5d4716f"}, {file = "anyio-4.5.2.tar.gz", hash = "sha256:23009af4ed04ce05991845451e11ef02fc7c5ed29179ac9a420e5ad0ac7ddc5b"}, @@ -28,6 +29,8 @@ version = "0.1.4" description = "Disable App Nap on macOS >= 10.9" optional = false python-versions = ">=3.6" +groups = ["dev", "docs"] +markers = "platform_system == \"Darwin\" or sys_platform == \"darwin\"" files = [ {file = "appnope-0.1.4-py2.py3-none-any.whl", hash = "sha256:502575ee11cd7a28c0205f379b525beefebab9d161b7c964670864014ed7213c"}, {file = "appnope-0.1.4.tar.gz", hash = "sha256:1de3860566df9caf38f01f86f65e0e13e379af54f9e4bee1e66b48f2efffd1ee"}, @@ -39,6 +42,7 @@ version = "23.1.0" description = "Argon2 for Python" optional = false python-versions = ">=3.7" +groups = ["dev"] files = [ {file = "argon2_cffi-23.1.0-py3-none-any.whl", hash = "sha256:c670642b78ba29641818ab2e68bd4e6a78ba53b7eff7b4c3815ae16abf91c7ea"}, {file = "argon2_cffi-23.1.0.tar.gz", hash = "sha256:879c3e79a2729ce768ebb7d36d4609e3a78a4ca2ec3a9f12286ca057e3d0db08"}, @@ -59,6 +63,7 @@ version = "21.2.0" description = "Low-level CFFI bindings for Argon2" optional = false python-versions = ">=3.6" +groups = ["dev"] files = [ {file = "argon2-cffi-bindings-21.2.0.tar.gz", hash = "sha256:bb89ceffa6c791807d1305ceb77dbfacc5aa499891d2c55661c6459651fc39e3"}, {file = "argon2_cffi_bindings-21.2.0-cp36-abi3-macosx_10_9_x86_64.whl", hash = "sha256:ccb949252cb2ab3a08c02024acb77cfb179492d5701c7cbdbfd776124d4d2367"}, @@ -96,6 +101,7 @@ version = "1.3.0" description = "Better dates & times for Python" optional = false python-versions = ">=3.8" +groups = ["dev"] files = [ {file = "arrow-1.3.0-py3-none-any.whl", hash = "sha256:c728b120ebc00eb84e01882a6f5e7927a53960aa990ce7dd2b10f39005a67f80"}, {file = "arrow-1.3.0.tar.gz", hash = "sha256:d4540617648cb5f895730f1ad8c82a65f2dad0166f57b75f3ca54759c4d67a85"}, @@ -115,6 +121,7 @@ version = "3.0.0" description = "Annotate AST trees with source code positions" optional = false python-versions = ">=3.8" +groups = ["dev", "docs"] files = [ {file = "asttokens-3.0.0-py3-none-any.whl", hash = "sha256:e3078351a059199dd5138cb1c706e6430c05eff2ff136af5eb4790f9d28932e2"}, {file = "asttokens-3.0.0.tar.gz", hash = "sha256:0dcd8baa8d62b0c1d118b399b2ddba3c4aff271d0d7a9e0d4c1681c79035bbc7"}, @@ -130,6 +137,8 @@ version = "1.6.3" description = "An AST unparser for Python" optional = false python-versions = "*" +groups = ["docs"] +markers = "python_version < \"3.9\"" files = [ {file = "astunparse-1.6.3-py2.py3-none-any.whl", hash = "sha256:c2652417f2c8b5bb325c885ae329bdf3f86424075c4fd1a128674bc6fba4b8e8"}, {file = "astunparse-1.6.3.tar.gz", hash = "sha256:5ad93a8456f0d084c3456d059fd9a92cce667963232cbf763eac3bc5b7940872"}, @@ -145,6 +154,7 @@ version = "2.0.4" description = "Simple LRU cache for asyncio" optional = false python-versions = ">=3.8" +groups = ["dev"] files = [ {file = "async-lru-2.0.4.tar.gz", hash = "sha256:b8a59a5df60805ff63220b2a0c5b5393da5521b113cd5465a44eb037d81a5627"}, {file = "async_lru-2.0.4-py3-none-any.whl", hash = "sha256:ff02944ce3c288c5be660c42dbcca0742b32c3b279d6dceda655190240b99224"}, @@ -159,6 +169,7 @@ version = "24.3.0" description = "Classes Without Boilerplate" optional = false python-versions = ">=3.8" +groups = ["dev", "docs"] files = [ {file = "attrs-24.3.0-py3-none-any.whl", hash = "sha256:ac96cd038792094f438ad1f6ff80837353805ac950cd2aa0e0625ef19850c308"}, {file = "attrs-24.3.0.tar.gz", hash = "sha256:8f5c07333d543103541ba7be0e2ce16eeee8130cb0b3f9238ab904ce1e85baff"}, @@ -178,6 +189,7 @@ version = "2.16.0" description = "Internationalization utilities" optional = false python-versions = ">=3.8" +groups = ["dev", "docs"] files = [ {file = "babel-2.16.0-py3-none-any.whl", hash = "sha256:368b5b98b37c06b7daf6696391c3240c938b37767d4584413e8438c5c435fa8b"}, {file = "babel-2.16.0.tar.gz", hash = "sha256:d1f3554ca26605fe173f3de0c65f750f5a42f924499bf134de6423582298e316"}, @@ -195,6 +207,7 @@ version = "0.2.0" description = "Specifications for callback functions passed in to an API" optional = false python-versions = "*" +groups = ["dev", "docs"] files = [ {file = "backcall-0.2.0-py2.py3-none-any.whl", hash = "sha256:fbbce6a29f263178a1f7915c1940bde0ec2b2a967566fe1c65c1dfb7422bd255"}, {file = "backcall-0.2.0.tar.gz", hash = "sha256:5cbdbf27be5e7cfadb448baf0aa95508f91f2bbc6c6437cd9cd06e2a4c215e1e"}, @@ -206,6 +219,8 @@ version = "1.2.0" description = "Backport of CPython tarfile module" optional = false python-versions = ">=3.8" +groups = ["build", "dev"] +markers = "(platform_machine != \"ppc64le\" and platform_machine != \"s390x\") and python_version < \"3.12\"" files = [ {file = "backports.tarfile-1.2.0-py3-none-any.whl", hash = "sha256:77e284d754527b01fb1e6fa8a1afe577858ebe4e9dad8919e34c862cb399bc34"}, {file = "backports_tarfile-1.2.0.tar.gz", hash = "sha256:d75e02c268746e1b8144c278978b6e98e85de6ad16f8e4b0844a154557eca991"}, @@ -221,6 +236,7 @@ version = "4.12.3" description = "Screen-scraping library" optional = false python-versions = ">=3.6.0" +groups = ["dev", "docs"] files = [ {file = "beautifulsoup4-4.12.3-py3-none-any.whl", hash = "sha256:b80878c9f40111313e55da8ba20bdba06d8fa3969fc68304167741bbf9e082ed"}, {file = "beautifulsoup4-4.12.3.tar.gz", hash = "sha256:74e3d1928edc070d21748185c46e3fb33490f22f52a3addee9aee0f4f7781051"}, @@ -242,6 +258,7 @@ version = "6.1.0" description = "An easy safelist-based HTML-sanitizing tool." optional = false python-versions = ">=3.8" +groups = ["dev", "docs"] files = [ {file = "bleach-6.1.0-py3-none-any.whl", hash = "sha256:3225f354cfc436b9789c66c4ee030194bee0568fbf9cbdad3bc8b5c26c5f12b6"}, {file = "bleach-6.1.0.tar.gz", hash = "sha256:0a31f1837963c41d46bbf1331b8778e1308ea0791db03cc4e7357b97cf42a8fe"}, @@ -261,6 +278,7 @@ version = "1.2.2.post1" description = "A simple, correct Python build frontend" optional = false python-versions = ">=3.8" +groups = ["dev"] files = [ {file = "build-1.2.2.post1-py3-none-any.whl", hash = "sha256:1d61c0887fa860c01971625baae8bdd338e517b836a2f70dd1f7aa3a6b2fc5b5"}, {file = "build-1.2.2.post1.tar.gz", hash = "sha256:b36993e92ca9375a219c99e606a122ff365a760a2d4bba0caa09bd5278b608b7"}, @@ -286,6 +304,7 @@ version = "5.5.0" description = "Extensible memoizing collections and decorators" optional = false python-versions = ">=3.7" +groups = ["dev"] files = [ {file = "cachetools-5.5.0-py3-none-any.whl", hash = "sha256:02134e8439cdc2ffb62023ce1debca2944c3f289d66bb17ead3ab3dede74b292"}, {file = "cachetools-5.5.0.tar.gz", hash = "sha256:2cc24fb4cbe39633fb7badd9db9ca6295d766d9c2995f245725a46715d050f2a"}, @@ -297,6 +316,7 @@ version = "1.7.1" description = "cffi-based cairo bindings for Python" optional = false python-versions = ">=3.8" +groups = ["docs"] files = [ {file = "cairocffi-1.7.1-py3-none-any.whl", hash = "sha256:9803a0e11f6c962f3b0ae2ec8ba6ae45e957a146a004697a1ac1bbf16b073b3f"}, {file = "cairocffi-1.7.1.tar.gz", hash = "sha256:2e48ee864884ec4a3a34bfa8c9ab9999f688286eb714a15a43ec9d068c36557b"}, @@ -316,6 +336,7 @@ version = "2.7.1" description = "A Simple SVG Converter based on Cairo" optional = false python-versions = ">=3.5" +groups = ["docs"] files = [ {file = "CairoSVG-2.7.1-py3-none-any.whl", hash = "sha256:8a5222d4e6c3f86f1f7046b63246877a63b49923a1cd202184c3a634ef546b3b"}, {file = "CairoSVG-2.7.1.tar.gz", hash = "sha256:432531d72347291b9a9ebfb6777026b607563fd8719c46ee742db0aef7271ba0"}, @@ -338,6 +359,7 @@ version = "2024.12.14" description = "Python package for providing Mozilla's CA Bundle." optional = false python-versions = ">=3.6" +groups = ["build", "dev", "docs"] files = [ {file = "certifi-2024.12.14-py3-none-any.whl", hash = "sha256:1275f7a45be9464efc1173084eaa30f866fe2e47d389406136d332ed4967ec56"}, {file = "certifi-2024.12.14.tar.gz", hash = "sha256:b650d30f370c2b724812bee08008be0c4163b163ddaec3f2546c1caf65f191db"}, @@ -349,6 +371,7 @@ version = "1.17.1" description = "Foreign Function Interface for Python calling C code." optional = false python-versions = ">=3.8" +groups = ["build", "dev", "docs"] files = [ {file = "cffi-1.17.1-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:df8b1c11f177bc2313ec4b2d46baec87a5f3e71fc8b45dab2ee7cae86d9aba14"}, {file = "cffi-1.17.1-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:8f2cdc858323644ab277e9bb925ad72ae0e67f69e804f4898c070998d50b1a67"}, @@ -418,6 +441,7 @@ files = [ {file = "cffi-1.17.1-cp39-cp39-win_amd64.whl", hash = "sha256:d016c76bdd850f3c626af19b0542c9677ba156e4ee4fccfdd7848803533ef662"}, {file = "cffi-1.17.1.tar.gz", hash = "sha256:1c39c6016c32bc48dd54561950ebd6836e1670f2ae46128f67cf49e789c52824"}, ] +markers = {build = "(platform_machine != \"ppc64le\" and platform_machine != \"s390x\") and sys_platform == \"linux\" and platform_python_implementation != \"PyPy\""} [package.dependencies] pycparser = "*" @@ -428,6 +452,7 @@ version = "3.4.0" description = "Validate configuration and produce human readable error messages." optional = false python-versions = ">=3.8" +groups = ["dev"] files = [ {file = "cfgv-3.4.0-py2.py3-none-any.whl", hash = "sha256:b7265b1f29fd3316bfcd2b330d63d024f2bfd8bcb8b0272f8e19a504856c48f9"}, {file = "cfgv-3.4.0.tar.gz", hash = "sha256:e52591d4c5f5dead8e0f673fb16db7949d2cfb3f7da4582893288f0ded8fe560"}, @@ -439,6 +464,7 @@ version = "5.2.0" description = "Universal encoding detector for Python 3" optional = false python-versions = ">=3.7" +groups = ["dev"] files = [ {file = "chardet-5.2.0-py3-none-any.whl", hash = "sha256:e1cf59446890a00105fe7b7912492ea04b6e6f06d4b742b2c788469e34c82970"}, {file = "chardet-5.2.0.tar.gz", hash = "sha256:1b3b6ff479a8c414bc3fa2c0852995695c4a026dcd6d0633b2dd092ca39c1cf7"}, @@ -450,6 +476,7 @@ version = "3.4.1" description = "The Real First Universal Charset Detector. Open, modern and actively maintained alternative to Chardet." optional = false python-versions = ">=3.7" +groups = ["build", "dev", "docs"] files = [ {file = "charset_normalizer-3.4.1-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:91b36a978b5ae0ee86c394f5a54d6ef44db1de0815eb43de826d41d21e4af3de"}, {file = "charset_normalizer-3.4.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:7461baadb4dc00fd9e0acbe254e3d7d2112e7f92ced2adc96e54ef6501c5f176"}, @@ -551,6 +578,7 @@ version = "8.1.8" description = "Composable command line interface toolkit" optional = false python-versions = ">=3.7" +groups = ["docs"] files = [ {file = "click-8.1.8-py3-none-any.whl", hash = "sha256:63c132bbbed01578a06712a2d1f497bb62d9c1c0d329b7903a866228027263b2"}, {file = "click-8.1.8.tar.gz", hash = "sha256:ed53c9d8990d83c2a27deae68e4ee337473f6330c040a31d4225c9574d16096a"}, @@ -565,10 +593,12 @@ version = "0.4.6" description = "Cross-platform colored terminal text." optional = false python-versions = "!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*,!=3.4.*,!=3.5.*,!=3.6.*,>=2.7" +groups = ["dev", "docs", "test"] files = [ {file = "colorama-0.4.6-py2.py3-none-any.whl", hash = "sha256:4f1d9991f5acc0ca119f9d443620b77f9d6b33703e51011c16baf57afb285fc6"}, {file = "colorama-0.4.6.tar.gz", hash = "sha256:08695f5cb7ed6e0531a20572697297273c47b8cae5a63ffc6d6ed5c201be6e44"}, ] +markers = {test = "sys_platform == \"win32\""} [[package]] name = "comm" @@ -576,6 +606,7 @@ version = "0.2.2" description = "Jupyter Python Comm implementation, for usage in ipykernel, xeus-python etc." optional = false python-versions = ">=3.8" +groups = ["dev", "docs"] files = [ {file = "comm-0.2.2-py3-none-any.whl", hash = "sha256:e6fb86cb70ff661ee8c9c14e7d36d6de3b4066f1441be4063df9c5009f0a64d3"}, {file = "comm-0.2.2.tar.gz", hash = "sha256:3fd7a84065306e07bea1773df6eb8282de51ba82f77c72f9c85716ab11fe980e"}, @@ -587,218 +618,14 @@ traitlets = ">=4" [package.extras] test = ["pytest"] -[[package]] -name = "contourpy" -version = "1.1.0" -description = "Python library for calculating contours of 2D quadrilateral grids" -optional = false -python-versions = ">=3.8" -files = [ - {file = "contourpy-1.1.0-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:89f06eff3ce2f4b3eb24c1055a26981bffe4e7264acd86f15b97e40530b794bc"}, - {file = "contourpy-1.1.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:dffcc2ddec1782dd2f2ce1ef16f070861af4fb78c69862ce0aab801495dda6a3"}, - {file = "contourpy-1.1.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:25ae46595e22f93592d39a7eac3d638cda552c3e1160255258b695f7b58e5655"}, - {file = "contourpy-1.1.0-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:17cfaf5ec9862bc93af1ec1f302457371c34e688fbd381f4035a06cd47324f48"}, - {file = "contourpy-1.1.0-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:18a64814ae7bce73925131381603fff0116e2df25230dfc80d6d690aa6e20b37"}, - {file = "contourpy-1.1.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:90c81f22b4f572f8a2110b0b741bb64e5a6427e0a198b2cdc1fbaf85f352a3aa"}, - {file = "contourpy-1.1.0-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:53cc3a40635abedbec7f1bde60f8c189c49e84ac180c665f2cd7c162cc454baa"}, - {file = "contourpy-1.1.0-cp310-cp310-win32.whl", hash = "sha256:9b2dd2ca3ac561aceef4c7c13ba654aaa404cf885b187427760d7f7d4c57cff8"}, - {file = "contourpy-1.1.0-cp310-cp310-win_amd64.whl", hash = "sha256:1f795597073b09d631782e7245016a4323cf1cf0b4e06eef7ea6627e06a37ff2"}, - {file = "contourpy-1.1.0-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:0b7b04ed0961647691cfe5d82115dd072af7ce8846d31a5fac6c142dcce8b882"}, - {file = "contourpy-1.1.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:27bc79200c742f9746d7dd51a734ee326a292d77e7d94c8af6e08d1e6c15d545"}, - {file = "contourpy-1.1.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:052cc634bf903c604ef1a00a5aa093c54f81a2612faedaa43295809ffdde885e"}, - {file = "contourpy-1.1.0-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:9382a1c0bc46230fb881c36229bfa23d8c303b889b788b939365578d762b5c18"}, - {file = "contourpy-1.1.0-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:e5cec36c5090e75a9ac9dbd0ff4a8cf7cecd60f1b6dc23a374c7d980a1cd710e"}, - {file = "contourpy-1.1.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:1f0cbd657e9bde94cd0e33aa7df94fb73c1ab7799378d3b3f902eb8eb2e04a3a"}, - {file = "contourpy-1.1.0-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:181cbace49874f4358e2929aaf7ba84006acb76694102e88dd15af861996c16e"}, - {file = "contourpy-1.1.0-cp311-cp311-win32.whl", hash = "sha256:edb989d31065b1acef3828a3688f88b2abb799a7db891c9e282df5ec7e46221b"}, - {file = "contourpy-1.1.0-cp311-cp311-win_amd64.whl", hash = "sha256:fb3b7d9e6243bfa1efb93ccfe64ec610d85cfe5aec2c25f97fbbd2e58b531256"}, - {file = "contourpy-1.1.0-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:bcb41692aa09aeb19c7c213411854402f29f6613845ad2453d30bf421fe68fed"}, - {file = "contourpy-1.1.0-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:5d123a5bc63cd34c27ff9c7ac1cd978909e9c71da12e05be0231c608048bb2ae"}, - {file = "contourpy-1.1.0-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:62013a2cf68abc80dadfd2307299bfa8f5aa0dcaec5b2954caeb5fa094171103"}, - {file = "contourpy-1.1.0-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:0b6616375d7de55797d7a66ee7d087efe27f03d336c27cf1f32c02b8c1a5ac70"}, - {file = "contourpy-1.1.0-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:317267d915490d1e84577924bd61ba71bf8681a30e0d6c545f577363157e5e94"}, - {file = "contourpy-1.1.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:d551f3a442655f3dcc1285723f9acd646ca5858834efeab4598d706206b09c9f"}, - {file = "contourpy-1.1.0-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:e7a117ce7df5a938fe035cad481b0189049e8d92433b4b33aa7fc609344aafa1"}, - {file = "contourpy-1.1.0-cp38-cp38-win32.whl", hash = "sha256:108dfb5b3e731046a96c60bdc46a1a0ebee0760418951abecbe0fc07b5b93b27"}, - {file = "contourpy-1.1.0-cp38-cp38-win_amd64.whl", hash = "sha256:d4f26b25b4f86087e7d75e63212756c38546e70f2a92d2be44f80114826e1cd4"}, - {file = "contourpy-1.1.0-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:bc00bb4225d57bff7ebb634646c0ee2a1298402ec10a5fe7af79df9a51c1bfd9"}, - {file = "contourpy-1.1.0-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:189ceb1525eb0655ab8487a9a9c41f42a73ba52d6789754788d1883fb06b2d8a"}, - {file = "contourpy-1.1.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:9f2931ed4741f98f74b410b16e5213f71dcccee67518970c42f64153ea9313b9"}, - {file = "contourpy-1.1.0-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:30f511c05fab7f12e0b1b7730ebdc2ec8deedcfb505bc27eb570ff47c51a8f15"}, - {file = "contourpy-1.1.0-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:143dde50520a9f90e4a2703f367cf8ec96a73042b72e68fcd184e1279962eb6f"}, - {file = "contourpy-1.1.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:e94bef2580e25b5fdb183bf98a2faa2adc5b638736b2c0a4da98691da641316a"}, - {file = "contourpy-1.1.0-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:ed614aea8462735e7d70141374bd7650afd1c3f3cb0c2dbbcbe44e14331bf002"}, - {file = "contourpy-1.1.0-cp39-cp39-win32.whl", hash = "sha256:71551f9520f008b2950bef5f16b0e3587506ef4f23c734b71ffb7b89f8721999"}, - {file = "contourpy-1.1.0-cp39-cp39-win_amd64.whl", hash = "sha256:438ba416d02f82b692e371858143970ed2eb6337d9cdbbede0d8ad9f3d7dd17d"}, - {file = "contourpy-1.1.0-pp38-pypy38_pp73-macosx_10_9_x86_64.whl", hash = "sha256:a698c6a7a432789e587168573a864a7ea374c6be8d4f31f9d87c001d5a843493"}, - {file = "contourpy-1.1.0-pp38-pypy38_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:397b0ac8a12880412da3551a8cb5a187d3298a72802b45a3bd1805e204ad8439"}, - {file = "contourpy-1.1.0-pp38-pypy38_pp73-win_amd64.whl", hash = "sha256:a67259c2b493b00e5a4d0f7bfae51fb4b3371395e47d079a4446e9b0f4d70e76"}, - {file = "contourpy-1.1.0-pp39-pypy39_pp73-macosx_10_9_x86_64.whl", hash = "sha256:2b836d22bd2c7bb2700348e4521b25e077255ebb6ab68e351ab5aa91ca27e027"}, - {file = "contourpy-1.1.0-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:084eaa568400cfaf7179b847ac871582199b1b44d5699198e9602ecbbb5f6104"}, - {file = "contourpy-1.1.0-pp39-pypy39_pp73-win_amd64.whl", hash = "sha256:911ff4fd53e26b019f898f32db0d4956c9d227d51338fb3b03ec72ff0084ee5f"}, - {file = "contourpy-1.1.0.tar.gz", hash = "sha256:e53046c3863828d21d531cc3b53786e6580eb1ba02477e8681009b6aa0870b21"}, -] - -[package.dependencies] -numpy = ">=1.16" - -[package.extras] -bokeh = ["bokeh", "selenium"] -docs = ["furo", "sphinx-copybutton"] -mypy = ["contourpy[bokeh,docs]", "docutils-stubs", "mypy (==1.2.0)", "types-Pillow"] -test = ["Pillow", "contourpy[test-no-images]", "matplotlib"] -test-no-images = ["pytest", "pytest-cov", "wurlitzer"] - -[[package]] -name = "contourpy" -version = "1.1.1" -description = "Python library for calculating contours of 2D quadrilateral grids" -optional = false -python-versions = ">=3.8" -files = [ - {file = "contourpy-1.1.1-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:46e24f5412c948d81736509377e255f6040e94216bf1a9b5ea1eaa9d29f6ec1b"}, - {file = "contourpy-1.1.1-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:0e48694d6a9c5a26ee85b10130c77a011a4fedf50a7279fa0bdaf44bafb4299d"}, - {file = "contourpy-1.1.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a66045af6cf00e19d02191ab578a50cb93b2028c3eefed999793698e9ea768ae"}, - {file = "contourpy-1.1.1-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:4ebf42695f75ee1a952f98ce9775c873e4971732a87334b099dde90b6af6a916"}, - {file = "contourpy-1.1.1-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:f6aec19457617ef468ff091669cca01fa7ea557b12b59a7908b9474bb9674cf0"}, - {file = "contourpy-1.1.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:462c59914dc6d81e0b11f37e560b8a7c2dbab6aca4f38be31519d442d6cde1a1"}, - {file = "contourpy-1.1.1-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:6d0a8efc258659edc5299f9ef32d8d81de8b53b45d67bf4bfa3067f31366764d"}, - {file = "contourpy-1.1.1-cp310-cp310-win32.whl", hash = "sha256:d6ab42f223e58b7dac1bb0af32194a7b9311065583cc75ff59dcf301afd8a431"}, - {file = "contourpy-1.1.1-cp310-cp310-win_amd64.whl", hash = "sha256:549174b0713d49871c6dee90a4b499d3f12f5e5f69641cd23c50a4542e2ca1eb"}, - {file = "contourpy-1.1.1-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:407d864db716a067cc696d61fa1ef6637fedf03606e8417fe2aeed20a061e6b2"}, - {file = "contourpy-1.1.1-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:dfe80c017973e6a4c367e037cb31601044dd55e6bfacd57370674867d15a899b"}, - {file = "contourpy-1.1.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:e30aaf2b8a2bac57eb7e1650df1b3a4130e8d0c66fc2f861039d507a11760e1b"}, - {file = "contourpy-1.1.1-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:3de23ca4f381c3770dee6d10ead6fff524d540c0f662e763ad1530bde5112532"}, - {file = "contourpy-1.1.1-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:566f0e41df06dfef2431defcfaa155f0acfa1ca4acbf8fd80895b1e7e2ada40e"}, - {file = "contourpy-1.1.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:b04c2f0adaf255bf756cf08ebef1be132d3c7a06fe6f9877d55640c5e60c72c5"}, - {file = "contourpy-1.1.1-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:d0c188ae66b772d9d61d43c6030500344c13e3f73a00d1dc241da896f379bb62"}, - {file = "contourpy-1.1.1-cp311-cp311-win32.whl", hash = "sha256:0683e1ae20dc038075d92e0e0148f09ffcefab120e57f6b4c9c0f477ec171f33"}, - {file = "contourpy-1.1.1-cp311-cp311-win_amd64.whl", hash = "sha256:8636cd2fc5da0fb102a2504fa2c4bea3cbc149533b345d72cdf0e7a924decc45"}, - {file = "contourpy-1.1.1-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:560f1d68a33e89c62da5da4077ba98137a5e4d3a271b29f2f195d0fba2adcb6a"}, - {file = "contourpy-1.1.1-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:24216552104ae8f3b34120ef84825400b16eb6133af2e27a190fdc13529f023e"}, - {file = "contourpy-1.1.1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:56de98a2fb23025882a18b60c7f0ea2d2d70bbbcfcf878f9067234b1c4818442"}, - {file = "contourpy-1.1.1-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:07d6f11dfaf80a84c97f1a5ba50d129d9303c5b4206f776e94037332e298dda8"}, - {file = "contourpy-1.1.1-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:f1eaac5257a8f8a047248d60e8f9315c6cff58f7803971170d952555ef6344a7"}, - {file = "contourpy-1.1.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:19557fa407e70f20bfaba7d55b4d97b14f9480856c4fb65812e8a05fe1c6f9bf"}, - {file = "contourpy-1.1.1-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:081f3c0880712e40effc5f4c3b08feca6d064cb8cfbb372ca548105b86fd6c3d"}, - {file = "contourpy-1.1.1-cp312-cp312-win32.whl", hash = "sha256:059c3d2a94b930f4dafe8105bcdc1b21de99b30b51b5bce74c753686de858cb6"}, - {file = "contourpy-1.1.1-cp312-cp312-win_amd64.whl", hash = "sha256:f44d78b61740e4e8c71db1cf1fd56d9050a4747681c59ec1094750a658ceb970"}, - {file = "contourpy-1.1.1-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:70e5a10f8093d228bb2b552beeb318b8928b8a94763ef03b858ef3612b29395d"}, - {file = "contourpy-1.1.1-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:8394e652925a18ef0091115e3cc191fef350ab6dc3cc417f06da66bf98071ae9"}, - {file = "contourpy-1.1.1-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:c5bd5680f844c3ff0008523a71949a3ff5e4953eb7701b28760805bc9bcff217"}, - {file = "contourpy-1.1.1-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:66544f853bfa85c0d07a68f6c648b2ec81dafd30f272565c37ab47a33b220684"}, - {file = "contourpy-1.1.1-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:e0c02b75acfea5cab07585d25069207e478d12309557f90a61b5a3b4f77f46ce"}, - {file = "contourpy-1.1.1-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:41339b24471c58dc1499e56783fedc1afa4bb018bcd035cfb0ee2ad2a7501ef8"}, - {file = "contourpy-1.1.1-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:f29fb0b3f1217dfe9362ec55440d0743fe868497359f2cf93293f4b2701b8251"}, - {file = "contourpy-1.1.1-cp38-cp38-win32.whl", hash = "sha256:f9dc7f933975367251c1b34da882c4f0e0b2e24bb35dc906d2f598a40b72bfc7"}, - {file = "contourpy-1.1.1-cp38-cp38-win_amd64.whl", hash = "sha256:498e53573e8b94b1caeb9e62d7c2d053c263ebb6aa259c81050766beb50ff8d9"}, - {file = "contourpy-1.1.1-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:ba42e3810999a0ddd0439e6e5dbf6d034055cdc72b7c5c839f37a7c274cb4eba"}, - {file = "contourpy-1.1.1-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:6c06e4c6e234fcc65435223c7b2a90f286b7f1b2733058bdf1345d218cc59e34"}, - {file = "contourpy-1.1.1-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:ca6fab080484e419528e98624fb5c4282148b847e3602dc8dbe0cb0669469887"}, - {file = "contourpy-1.1.1-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:93df44ab351119d14cd1e6b52a5063d3336f0754b72736cc63db59307dabb718"}, - {file = "contourpy-1.1.1-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:eafbef886566dc1047d7b3d4b14db0d5b7deb99638d8e1be4e23a7c7ac59ff0f"}, - {file = "contourpy-1.1.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:efe0fab26d598e1ec07d72cf03eaeeba8e42b4ecf6b9ccb5a356fde60ff08b85"}, - {file = "contourpy-1.1.1-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:f08e469821a5e4751c97fcd34bcb586bc243c39c2e39321822060ba902eac49e"}, - {file = "contourpy-1.1.1-cp39-cp39-win32.whl", hash = "sha256:bfc8a5e9238232a45ebc5cb3bfee71f1167064c8d382cadd6076f0d51cff1da0"}, - {file = "contourpy-1.1.1-cp39-cp39-win_amd64.whl", hash = "sha256:c84fdf3da00c2827d634de4fcf17e3e067490c4aea82833625c4c8e6cdea0887"}, - {file = "contourpy-1.1.1-pp38-pypy38_pp73-macosx_10_9_x86_64.whl", hash = "sha256:229a25f68046c5cf8067d6d6351c8b99e40da11b04d8416bf8d2b1d75922521e"}, - {file = "contourpy-1.1.1-pp38-pypy38_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:a10dab5ea1bd4401c9483450b5b0ba5416be799bbd50fc7a6cc5e2a15e03e8a3"}, - {file = "contourpy-1.1.1-pp38-pypy38_pp73-win_amd64.whl", hash = "sha256:4f9147051cb8fdb29a51dc2482d792b3b23e50f8f57e3720ca2e3d438b7adf23"}, - {file = "contourpy-1.1.1-pp39-pypy39_pp73-macosx_10_9_x86_64.whl", hash = "sha256:a75cc163a5f4531a256f2c523bd80db509a49fc23721b36dd1ef2f60ff41c3cb"}, - {file = "contourpy-1.1.1-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:3b53d5769aa1f2d4ea407c65f2d1d08002952fac1d9e9d307aa2e1023554a163"}, - {file = "contourpy-1.1.1-pp39-pypy39_pp73-win_amd64.whl", hash = "sha256:11b836b7dbfb74e049c302bbf74b4b8f6cb9d0b6ca1bf86cfa8ba144aedadd9c"}, - {file = "contourpy-1.1.1.tar.gz", hash = "sha256:96ba37c2e24b7212a77da85004c38e7c4d155d3e72a45eeaf22c1f03f607e8ab"}, -] - -[package.dependencies] -numpy = {version = ">=1.16,<2.0", markers = "python_version <= \"3.11\""} - -[package.extras] -bokeh = ["bokeh", "selenium"] -docs = ["furo", "sphinx (>=7.2)", "sphinx-copybutton"] -mypy = ["contourpy[bokeh,docs]", "docutils-stubs", "mypy (==1.4.1)", "types-Pillow"] -test = ["Pillow", "contourpy[test-no-images]", "matplotlib"] -test-no-images = ["pytest", "pytest-cov", "wurlitzer"] - -[[package]] -name = "contourpy" -version = "1.3.1" -description = "Python library for calculating contours of 2D quadrilateral grids" -optional = false -python-versions = ">=3.10" -files = [ - {file = "contourpy-1.3.1-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:a045f341a77b77e1c5de31e74e966537bba9f3c4099b35bf4c2e3939dd54cdab"}, - {file = "contourpy-1.3.1-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:500360b77259914f7805af7462e41f9cb7ca92ad38e9f94d6c8641b089338124"}, - {file = "contourpy-1.3.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:b2f926efda994cdf3c8d3fdb40b9962f86edbc4457e739277b961eced3d0b4c1"}, - {file = "contourpy-1.3.1-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:adce39d67c0edf383647a3a007de0a45fd1b08dedaa5318404f1a73059c2512b"}, - {file = "contourpy-1.3.1-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:abbb49fb7dac584e5abc6636b7b2a7227111c4f771005853e7d25176daaf8453"}, - {file = "contourpy-1.3.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:a0cffcbede75c059f535725c1680dfb17b6ba8753f0c74b14e6a9c68c29d7ea3"}, - {file = "contourpy-1.3.1-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:ab29962927945d89d9b293eabd0d59aea28d887d4f3be6c22deaefbb938a7277"}, - {file = "contourpy-1.3.1-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:974d8145f8ca354498005b5b981165b74a195abfae9a8129df3e56771961d595"}, - {file = "contourpy-1.3.1-cp310-cp310-win32.whl", hash = "sha256:ac4578ac281983f63b400f7fe6c101bedc10651650eef012be1ccffcbacf3697"}, - {file = "contourpy-1.3.1-cp310-cp310-win_amd64.whl", hash = "sha256:174e758c66bbc1c8576992cec9599ce8b6672b741b5d336b5c74e35ac382b18e"}, - {file = "contourpy-1.3.1-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:3e8b974d8db2c5610fb4e76307e265de0edb655ae8169e8b21f41807ccbeec4b"}, - {file = "contourpy-1.3.1-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:20914c8c973f41456337652a6eeca26d2148aa96dd7ac323b74516988bea89fc"}, - {file = "contourpy-1.3.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:19d40d37c1c3a4961b4619dd9d77b12124a453cc3d02bb31a07d58ef684d3d86"}, - {file = "contourpy-1.3.1-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:113231fe3825ebf6f15eaa8bc1f5b0ddc19d42b733345eae0934cb291beb88b6"}, - {file = "contourpy-1.3.1-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:4dbbc03a40f916a8420e420d63e96a1258d3d1b58cbdfd8d1f07b49fcbd38e85"}, - {file = "contourpy-1.3.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:3a04ecd68acbd77fa2d39723ceca4c3197cb2969633836ced1bea14e219d077c"}, - {file = "contourpy-1.3.1-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:c414fc1ed8ee1dbd5da626cf3710c6013d3d27456651d156711fa24f24bd1291"}, - {file = "contourpy-1.3.1-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:31c1b55c1f34f80557d3830d3dd93ba722ce7e33a0b472cba0ec3b6535684d8f"}, - {file = "contourpy-1.3.1-cp311-cp311-win32.whl", hash = "sha256:f611e628ef06670df83fce17805c344710ca5cde01edfdc72751311da8585375"}, - {file = "contourpy-1.3.1-cp311-cp311-win_amd64.whl", hash = "sha256:b2bdca22a27e35f16794cf585832e542123296b4687f9fd96822db6bae17bfc9"}, - {file = "contourpy-1.3.1-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:0ffa84be8e0bd33410b17189f7164c3589c229ce5db85798076a3fa136d0e509"}, - {file = "contourpy-1.3.1-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:805617228ba7e2cbbfb6c503858e626ab528ac2a32a04a2fe88ffaf6b02c32bc"}, - {file = "contourpy-1.3.1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:ade08d343436a94e633db932e7e8407fe7de8083967962b46bdfc1b0ced39454"}, - {file = "contourpy-1.3.1-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:47734d7073fb4590b4a40122b35917cd77be5722d80683b249dac1de266aac80"}, - {file = "contourpy-1.3.1-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:2ba94a401342fc0f8b948e57d977557fbf4d515f03c67682dd5c6191cb2d16ec"}, - {file = "contourpy-1.3.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:efa874e87e4a647fd2e4f514d5e91c7d493697127beb95e77d2f7561f6905bd9"}, - {file = "contourpy-1.3.1-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:1bf98051f1045b15c87868dbaea84f92408337d4f81d0e449ee41920ea121d3b"}, - {file = "contourpy-1.3.1-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:61332c87493b00091423e747ea78200659dc09bdf7fd69edd5e98cef5d3e9a8d"}, - {file = "contourpy-1.3.1-cp312-cp312-win32.whl", hash = "sha256:e914a8cb05ce5c809dd0fe350cfbb4e881bde5e2a38dc04e3afe1b3e58bd158e"}, - {file = "contourpy-1.3.1-cp312-cp312-win_amd64.whl", hash = "sha256:08d9d449a61cf53033612cb368f3a1b26cd7835d9b8cd326647efe43bca7568d"}, - {file = "contourpy-1.3.1-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:a761d9ccfc5e2ecd1bf05534eda382aa14c3e4f9205ba5b1684ecfe400716ef2"}, - {file = "contourpy-1.3.1-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:523a8ee12edfa36f6d2a49407f705a6ef4c5098de4f498619787e272de93f2d5"}, - {file = "contourpy-1.3.1-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:ece6df05e2c41bd46776fbc712e0996f7c94e0d0543af1656956d150c4ca7c81"}, - {file = "contourpy-1.3.1-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:573abb30e0e05bf31ed067d2f82500ecfdaec15627a59d63ea2d95714790f5c2"}, - {file = "contourpy-1.3.1-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:a9fa36448e6a3a1a9a2ba23c02012c43ed88905ec80163f2ffe2421c7192a5d7"}, - {file = "contourpy-1.3.1-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:3ea9924d28fc5586bf0b42d15f590b10c224117e74409dd7a0be3b62b74a501c"}, - {file = "contourpy-1.3.1-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:5b75aa69cb4d6f137b36f7eb2ace9280cfb60c55dc5f61c731fdf6f037f958a3"}, - {file = "contourpy-1.3.1-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:041b640d4ec01922083645a94bb3b2e777e6b626788f4095cf21abbe266413c1"}, - {file = "contourpy-1.3.1-cp313-cp313-win32.whl", hash = "sha256:36987a15e8ace5f58d4d5da9dca82d498c2bbb28dff6e5d04fbfcc35a9cb3a82"}, - {file = "contourpy-1.3.1-cp313-cp313-win_amd64.whl", hash = "sha256:a7895f46d47671fa7ceec40f31fae721da51ad34bdca0bee83e38870b1f47ffd"}, - {file = "contourpy-1.3.1-cp313-cp313t-macosx_10_13_x86_64.whl", hash = "sha256:9ddeb796389dadcd884c7eb07bd14ef12408aaae358f0e2ae24114d797eede30"}, - {file = "contourpy-1.3.1-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:19c1555a6801c2f084c7ddc1c6e11f02eb6a6016ca1318dd5452ba3f613a1751"}, - {file = "contourpy-1.3.1-cp313-cp313t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:841ad858cff65c2c04bf93875e384ccb82b654574a6d7f30453a04f04af71342"}, - {file = "contourpy-1.3.1-cp313-cp313t-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:4318af1c925fb9a4fb190559ef3eec206845f63e80fb603d47f2d6d67683901c"}, - {file = "contourpy-1.3.1-cp313-cp313t-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:14c102b0eab282427b662cb590f2e9340a9d91a1c297f48729431f2dcd16e14f"}, - {file = "contourpy-1.3.1-cp313-cp313t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:05e806338bfeaa006acbdeba0ad681a10be63b26e1b17317bfac3c5d98f36cda"}, - {file = "contourpy-1.3.1-cp313-cp313t-musllinux_1_2_aarch64.whl", hash = "sha256:4d76d5993a34ef3df5181ba3c92fabb93f1eaa5729504fb03423fcd9f3177242"}, - {file = "contourpy-1.3.1-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:89785bb2a1980c1bd87f0cb1517a71cde374776a5f150936b82580ae6ead44a1"}, - {file = "contourpy-1.3.1-cp313-cp313t-win32.whl", hash = "sha256:8eb96e79b9f3dcadbad2a3891672f81cdcab7f95b27f28f1c67d75f045b6b4f1"}, - {file = "contourpy-1.3.1-cp313-cp313t-win_amd64.whl", hash = "sha256:287ccc248c9e0d0566934e7d606201abd74761b5703d804ff3df8935f523d546"}, - {file = "contourpy-1.3.1-pp310-pypy310_pp73-macosx_10_15_x86_64.whl", hash = "sha256:b457d6430833cee8e4b8e9b6f07aa1c161e5e0d52e118dc102c8f9bd7dd060d6"}, - {file = "contourpy-1.3.1-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:cb76c1a154b83991a3cbbf0dfeb26ec2833ad56f95540b442c73950af2013750"}, - {file = "contourpy-1.3.1-pp310-pypy310_pp73-win_amd64.whl", hash = "sha256:44a29502ca9c7b5ba389e620d44f2fbe792b1fb5734e8b931ad307071ec58c53"}, - {file = "contourpy-1.3.1.tar.gz", hash = "sha256:dfd97abd83335045a913e3bcc4a09c0ceadbe66580cf573fe961f4a825efa699"}, -] - -[package.dependencies] -numpy = ">=1.23" - -[package.extras] -bokeh = ["bokeh", "selenium"] -docs = ["furo", "sphinx (>=7.2)", "sphinx-copybutton"] -mypy = ["contourpy[bokeh,docs]", "docutils-stubs", "mypy (==1.11.1)", "types-Pillow"] -test = ["Pillow", "contourpy[test-no-images]", "matplotlib"] -test-no-images = ["pytest", "pytest-cov", "pytest-rerunfailures", "pytest-xdist", "wurlitzer"] - [[package]] name = "cryptography" version = "43.0.3" description = "cryptography is a package which provides cryptographic recipes and primitives to Python developers." optional = false python-versions = ">=3.7" +groups = ["build", "dev"] +markers = "(platform_machine != \"ppc64le\" and platform_machine != \"s390x\") and sys_platform == \"linux\"" files = [ {file = "cryptography-43.0.3-cp37-abi3-macosx_10_9_universal2.whl", hash = "sha256:bf7a1932ac4176486eab36a19ed4c0492da5d97123f1406cf15e41b05e787d2e"}, {file = "cryptography-43.0.3-cp37-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:63efa177ff54aec6e1c0aefaa1a241232dcd37413835a9b674b6e3f0ae2bfd3e"}, @@ -848,6 +675,7 @@ version = "0.7.0" description = "CSS selectors for Python ElementTree" optional = false python-versions = ">=3.7" +groups = ["docs"] files = [ {file = "cssselect2-0.7.0-py3-none-any.whl", hash = "sha256:fd23a65bfd444595913f02fc71f6b286c29261e354c41d722ca7a261a49b5969"}, {file = "cssselect2-0.7.0.tar.gz", hash = "sha256:1ccd984dab89fc68955043aca4e1b03e0cf29cad9880f6e28e3ba7a74b14aa5a"}, @@ -861,27 +689,13 @@ webencodings = "*" doc = ["sphinx", "sphinx_rtd_theme"] test = ["flake8", "isort", "pytest"] -[[package]] -name = "cycler" -version = "0.12.1" -description = "Composable style cycles" -optional = false -python-versions = ">=3.8" -files = [ - {file = "cycler-0.12.1-py3-none-any.whl", hash = "sha256:85cef7cff222d8644161529808465972e51340599459b8ac3ccbac5a854e0d30"}, - {file = "cycler-0.12.1.tar.gz", hash = "sha256:88bb128f02ba341da8ef447245a9e138fae777f6a23943da4540077d3601eb1c"}, -] - -[package.extras] -docs = ["ipython", "matplotlib", "numpydoc", "sphinx"] -tests = ["pytest", "pytest-cov", "pytest-xdist"] - [[package]] name = "debugpy" version = "1.8.11" description = "An implementation of the Debug Adapter Protocol for Python" optional = false python-versions = ">=3.8" +groups = ["dev", "docs"] files = [ {file = "debugpy-1.8.11-cp310-cp310-macosx_14_0_x86_64.whl", hash = "sha256:2b26fefc4e31ff85593d68b9022e35e8925714a10ab4858fb1b577a8a48cb8cd"}, {file = "debugpy-1.8.11-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:61bc8b3b265e6949855300e84dc93d02d7a3a637f2aec6d382afd4ceb9120c9f"}, @@ -917,6 +731,7 @@ version = "5.1.1" description = "Decorators for Humans" optional = false python-versions = ">=3.5" +groups = ["dev", "docs"] files = [ {file = "decorator-5.1.1-py3-none-any.whl", hash = "sha256:b8c3f85900b9dc423225913c5aace94729fe1fa9763b38939a95226f02d37186"}, {file = "decorator-5.1.1.tar.gz", hash = "sha256:637996211036b6385ef91435e4fae22989472f9d571faba8927ba8253acbc330"}, @@ -928,6 +743,7 @@ version = "0.7.1" description = "XML bomb protection for Python stdlib modules" optional = false python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*" +groups = ["dev", "docs"] files = [ {file = "defusedxml-0.7.1-py2.py3-none-any.whl", hash = "sha256:a352e7e428770286cc899e2542b6cdaedb2b4953ff269a210103ec58f6198a61"}, {file = "defusedxml-0.7.1.tar.gz", hash = "sha256:1bb3032db185915b62d7c6209c5a8792be6a32ab2fedacc84e01b52c51aa3e69"}, @@ -939,6 +755,7 @@ version = "0.3.9" description = "Distribution utilities" optional = false python-versions = "*" +groups = ["dev"] files = [ {file = "distlib-0.3.9-py2.py3-none-any.whl", hash = "sha256:47f8c22fd27c27e25a65601af709b38e4f0a45ea4fc2e710f65755fa8caaaf87"}, {file = "distlib-0.3.9.tar.gz", hash = "sha256:a60f20dea646b8a33f3e7772f74dc0b2d0772d2837ee1342a00645c81edf9403"}, @@ -950,6 +767,8 @@ version = "0.20.1" description = "Docutils -- Python Documentation Utilities" optional = false python-versions = ">=3.7" +groups = ["build", "dev"] +markers = "python_version < \"3.9\"" files = [ {file = "docutils-0.20.1-py3-none-any.whl", hash = "sha256:96f387a2c5562db4476f09f13bbab2192e764cac08ebbf3a34a95d9b1e4a59d6"}, {file = "docutils-0.20.1.tar.gz", hash = "sha256:f08a4e276c3a1583a86dce3e34aba3fe04d02bba2dd51ed16106244e8a923e3b"}, @@ -961,6 +780,8 @@ version = "0.21.2" description = "Docutils -- Python Documentation Utilities" optional = false python-versions = ">=3.9" +groups = ["build", "dev"] +markers = "python_version >= \"3.9\"" files = [ {file = "docutils-0.21.2-py3-none-any.whl", hash = "sha256:dafca5b9e384f0e419294eb4d2ff9fa826435bf15f15b7bd45723e8ad76811b2"}, {file = "docutils-0.21.2.tar.gz", hash = "sha256:3a6b18732edf182daa3cd12775bbb338cf5691468f91eeeb109deff6ebfa986f"}, @@ -972,6 +793,8 @@ version = "1.2.2" description = "Backport of PEP 654 (exception groups)" optional = false python-versions = ">=3.7" +groups = ["dev", "test"] +markers = "python_version < \"3.11\"" files = [ {file = "exceptiongroup-1.2.2-py3-none-any.whl", hash = "sha256:3111b9d131c238bec2f8f516e123e14ba243563fb135d3fe885990585aa7795b"}, {file = "exceptiongroup-1.2.2.tar.gz", hash = "sha256:47c2edf7c6738fafb49fd34290706d1a1a2f4d1c6df275526b62cbb4aa5393cc"}, @@ -986,6 +809,7 @@ version = "2.1.0" description = "Get the currently executing AST node of a frame, and other information" optional = false python-versions = ">=3.8" +groups = ["dev", "docs"] files = [ {file = "executing-2.1.0-py2.py3-none-any.whl", hash = "sha256:8d63781349375b5ebccc3142f4b30350c0cd9c79f921cde38be2be4637e98eaf"}, {file = "executing-2.1.0.tar.gz", hash = "sha256:8ea27ddd260da8150fa5a708269c4a10e76161e2496ec3e587da9e3c0fe4b9ab"}, @@ -1000,6 +824,7 @@ version = "2.21.1" description = "Fastest Python implementation of JSON schema" optional = false python-versions = "*" +groups = ["dev", "docs"] files = [ {file = "fastjsonschema-2.21.1-py3-none-any.whl", hash = "sha256:c9e5b7e908310918cf494a434eeb31384dd84a98b57a30bcb1f535015b554667"}, {file = "fastjsonschema-2.21.1.tar.gz", hash = "sha256:794d4f0a58f848961ba16af7b9c85a3e88cd360df008c59aac6fc5ae9323b5d4"}, @@ -1014,6 +839,7 @@ version = "3.16.1" description = "A platform independent file lock." optional = false python-versions = ">=3.8" +groups = ["dev"] files = [ {file = "filelock-3.16.1-py3-none-any.whl", hash = "sha256:2082e5703d51fbf98ea75855d9d5527e33d8ff23099bec374a134febee6946b0"}, {file = "filelock-3.16.1.tar.gz", hash = "sha256:c249fbfcd5db47e5e2d6d62198e565475ee65e4831e2561c8e313fa7eb961435"}, @@ -1024,85 +850,13 @@ docs = ["furo (>=2024.8.6)", "sphinx (>=8.0.2)", "sphinx-autodoc-typehints (>=2. testing = ["covdefaults (>=2.3)", "coverage (>=7.6.1)", "diff-cover (>=9.2)", "pytest (>=8.3.3)", "pytest-asyncio (>=0.24)", "pytest-cov (>=5)", "pytest-mock (>=3.14)", "pytest-timeout (>=2.3.1)", "virtualenv (>=20.26.4)"] typing = ["typing-extensions (>=4.12.2)"] -[[package]] -name = "fonttools" -version = "4.55.3" -description = "Tools to manipulate font files" -optional = false -python-versions = ">=3.8" -files = [ - {file = "fonttools-4.55.3-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:1dcc07934a2165ccdc3a5a608db56fb3c24b609658a5b340aee4ecf3ba679dc0"}, - {file = "fonttools-4.55.3-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:f7d66c15ba875432a2d2fb419523f5d3d347f91f48f57b8b08a2dfc3c39b8a3f"}, - {file = "fonttools-4.55.3-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:27e4ae3592e62eba83cd2c4ccd9462dcfa603ff78e09110680a5444c6925d841"}, - {file = "fonttools-4.55.3-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:62d65a3022c35e404d19ca14f291c89cc5890032ff04f6c17af0bd1927299674"}, - {file = "fonttools-4.55.3-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:d342e88764fb201286d185093781bf6628bbe380a913c24adf772d901baa8276"}, - {file = "fonttools-4.55.3-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:dd68c87a2bfe37c5b33bcda0fba39b65a353876d3b9006fde3adae31f97b3ef5"}, - {file = "fonttools-4.55.3-cp310-cp310-win32.whl", hash = "sha256:1bc7ad24ff98846282eef1cbeac05d013c2154f977a79886bb943015d2b1b261"}, - {file = "fonttools-4.55.3-cp310-cp310-win_amd64.whl", hash = "sha256:b54baf65c52952db65df39fcd4820668d0ef4766c0ccdf32879b77f7c804d5c5"}, - {file = "fonttools-4.55.3-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:8c4491699bad88efe95772543cd49870cf756b019ad56294f6498982408ab03e"}, - {file = "fonttools-4.55.3-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:5323a22eabddf4b24f66d26894f1229261021dacd9d29e89f7872dd8c63f0b8b"}, - {file = "fonttools-4.55.3-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:5480673f599ad410695ca2ddef2dfefe9df779a9a5cda89503881e503c9c7d90"}, - {file = "fonttools-4.55.3-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:da9da6d65cd7aa6b0f806556f4985bcbf603bf0c5c590e61b43aa3e5a0f822d0"}, - {file = "fonttools-4.55.3-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:e894b5bd60d9f473bed7a8f506515549cc194de08064d829464088d23097331b"}, - {file = "fonttools-4.55.3-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:aee3b57643827e237ff6ec6d28d9ff9766bd8b21e08cd13bff479e13d4b14765"}, - {file = "fonttools-4.55.3-cp311-cp311-win32.whl", hash = "sha256:eb6ca911c4c17eb51853143624d8dc87cdcdf12a711fc38bf5bd21521e79715f"}, - {file = "fonttools-4.55.3-cp311-cp311-win_amd64.whl", hash = "sha256:6314bf82c54c53c71805318fcf6786d986461622dd926d92a465199ff54b1b72"}, - {file = "fonttools-4.55.3-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:f9e736f60f4911061235603a6119e72053073a12c6d7904011df2d8fad2c0e35"}, - {file = "fonttools-4.55.3-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:7a8aa2c5e5b8b3bcb2e4538d929f6589a5c6bdb84fd16e2ed92649fb5454f11c"}, - {file = "fonttools-4.55.3-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:07f8288aacf0a38d174445fc78377a97fb0b83cfe352a90c9d9c1400571963c7"}, - {file = "fonttools-4.55.3-cp312-cp312-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:b8d5e8916c0970fbc0f6f1bece0063363bb5857a7f170121a4493e31c3db3314"}, - {file = "fonttools-4.55.3-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:ae3b6600565b2d80b7c05acb8e24d2b26ac407b27a3f2e078229721ba5698427"}, - {file = "fonttools-4.55.3-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:54153c49913f45065c8d9e6d0c101396725c5621c8aee744719300f79771d75a"}, - {file = "fonttools-4.55.3-cp312-cp312-win32.whl", hash = "sha256:827e95fdbbd3e51f8b459af5ea10ecb4e30af50221ca103bea68218e9615de07"}, - {file = "fonttools-4.55.3-cp312-cp312-win_amd64.whl", hash = "sha256:e6e8766eeeb2de759e862004aa11a9ea3d6f6d5ec710551a88b476192b64fd54"}, - {file = "fonttools-4.55.3-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:a430178ad3e650e695167cb53242dae3477b35c95bef6525b074d87493c4bf29"}, - {file = "fonttools-4.55.3-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:529cef2ce91dc44f8e407cc567fae6e49a1786f2fefefa73a294704c415322a4"}, - {file = "fonttools-4.55.3-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:8e75f12c82127486fac2d8bfbf5bf058202f54bf4f158d367e41647b972342ca"}, - {file = "fonttools-4.55.3-cp313-cp313-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:859c358ebf41db18fb72342d3080bce67c02b39e86b9fbcf1610cca14984841b"}, - {file = "fonttools-4.55.3-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:546565028e244a701f73df6d8dd6be489d01617863ec0c6a42fa25bf45d43048"}, - {file = "fonttools-4.55.3-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:aca318b77f23523309eec4475d1fbbb00a6b133eb766a8bdc401faba91261abe"}, - {file = "fonttools-4.55.3-cp313-cp313-win32.whl", hash = "sha256:8c5ec45428edaa7022f1c949a632a6f298edc7b481312fc7dc258921e9399628"}, - {file = "fonttools-4.55.3-cp313-cp313-win_amd64.whl", hash = "sha256:11e5de1ee0d95af4ae23c1a138b184b7f06e0b6abacabf1d0db41c90b03d834b"}, - {file = "fonttools-4.55.3-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:caf8230f3e10f8f5d7593eb6d252a37caf58c480b19a17e250a63dad63834cf3"}, - {file = "fonttools-4.55.3-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:b586ab5b15b6097f2fb71cafa3c98edfd0dba1ad8027229e7b1e204a58b0e09d"}, - {file = "fonttools-4.55.3-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a8c2794ded89399cc2169c4d0bf7941247b8d5932b2659e09834adfbb01589aa"}, - {file = "fonttools-4.55.3-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:cf4fe7c124aa3f4e4c1940880156e13f2f4d98170d35c749e6b4f119a872551e"}, - {file = "fonttools-4.55.3-cp38-cp38-musllinux_1_2_aarch64.whl", hash = "sha256:86721fbc389ef5cc1e2f477019e5069e8e4421e8d9576e9c26f840dbb04678de"}, - {file = "fonttools-4.55.3-cp38-cp38-musllinux_1_2_x86_64.whl", hash = "sha256:89bdc5d88bdeec1b15af790810e267e8332d92561dce4f0748c2b95c9bdf3926"}, - {file = "fonttools-4.55.3-cp38-cp38-win32.whl", hash = "sha256:bc5dbb4685e51235ef487e4bd501ddfc49be5aede5e40f4cefcccabc6e60fb4b"}, - {file = "fonttools-4.55.3-cp38-cp38-win_amd64.whl", hash = "sha256:cd70de1a52a8ee2d1877b6293af8a2484ac82514f10b1c67c1c5762d38073e56"}, - {file = "fonttools-4.55.3-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:bdcc9f04b36c6c20978d3f060e5323a43f6222accc4e7fcbef3f428e216d96af"}, - {file = "fonttools-4.55.3-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:c3ca99e0d460eff46e033cd3992a969658c3169ffcd533e0a39c63a38beb6831"}, - {file = "fonttools-4.55.3-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:22f38464daa6cdb7b6aebd14ab06609328fe1e9705bb0fcc7d1e69de7109ee02"}, - {file = "fonttools-4.55.3-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ed63959d00b61959b035c7d47f9313c2c1ece090ff63afea702fe86de00dbed4"}, - {file = "fonttools-4.55.3-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:5e8d657cd7326eeaba27de2740e847c6b39dde2f8d7cd7cc56f6aad404ddf0bd"}, - {file = "fonttools-4.55.3-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:fb594b5a99943042c702c550d5494bdd7577f6ef19b0bc73877c948a63184a32"}, - {file = "fonttools-4.55.3-cp39-cp39-win32.whl", hash = "sha256:dc5294a3d5c84226e3dbba1b6f61d7ad813a8c0238fceea4e09aa04848c3d851"}, - {file = "fonttools-4.55.3-cp39-cp39-win_amd64.whl", hash = "sha256:aedbeb1db64496d098e6be92b2e63b5fac4e53b1b92032dfc6988e1ea9134a4d"}, - {file = "fonttools-4.55.3-py3-none-any.whl", hash = "sha256:f412604ccbeee81b091b420272841e5ec5ef68967a9790e80bffd0e30b8e2977"}, - {file = "fonttools-4.55.3.tar.gz", hash = "sha256:3983313c2a04d6cc1fe9251f8fc647754cf49a61dac6cb1e7249ae67afaafc45"}, -] - -[package.extras] -all = ["brotli (>=1.0.1)", "brotlicffi (>=0.8.0)", "fs (>=2.2.0,<3)", "lxml (>=4.0)", "lz4 (>=1.7.4.2)", "matplotlib", "munkres", "pycairo", "scipy", "skia-pathops (>=0.5.0)", "sympy", "uharfbuzz (>=0.23.0)", "unicodedata2 (>=15.1.0)", "xattr", "zopfli (>=0.1.4)"] -graphite = ["lz4 (>=1.7.4.2)"] -interpolatable = ["munkres", "pycairo", "scipy"] -lxml = ["lxml (>=4.0)"] -pathops = ["skia-pathops (>=0.5.0)"] -plot = ["matplotlib"] -repacker = ["uharfbuzz (>=0.23.0)"] -symfont = ["sympy"] -type1 = ["xattr"] -ufo = ["fs (>=2.2.0,<3)"] -unicode = ["unicodedata2 (>=15.1.0)"] -woff = ["brotli (>=1.0.1)", "brotlicffi (>=0.8.0)", "zopfli (>=0.1.4)"] - [[package]] name = "fqdn" version = "1.5.1" description = "Validates fully-qualified domain names against RFC 1123, so that they are acceptable to modern bowsers" optional = false python-versions = ">=2.7, !=3.0, !=3.1, !=3.2, !=3.3, !=3.4, <4" +groups = ["dev"] files = [ {file = "fqdn-1.5.1-py3-none-any.whl", hash = "sha256:3a179af3761e4df6eb2e026ff9e1a3033d3587bf980a0b1b2e1e5d08d7358014"}, {file = "fqdn-1.5.1.tar.gz", hash = "sha256:105ed3677e767fb5ca086a0c1f4bb66ebc3c100be518f0e0d755d9eae164d89f"}, @@ -1114,6 +868,7 @@ version = "2.1.0" description = "Copy your docs directly to the gh-pages branch." optional = false python-versions = "*" +groups = ["docs"] files = [ {file = "ghp-import-2.1.0.tar.gz", hash = "sha256:9c535c4c61193c2df8871222567d7fd7e5014d835f97dc7b7439069e2413d343"}, {file = "ghp_import-2.1.0-py3-none-any.whl", hash = "sha256:8337dd7b50877f163d4c0289bc1f1c7f127550241988d568c1db512c4324a619"}, @@ -1131,6 +886,7 @@ version = "4.0.12" description = "Git Object Database" optional = false python-versions = ">=3.7" +groups = ["docs"] files = [ {file = "gitdb-4.0.12-py3-none-any.whl", hash = "sha256:67073e15955400952c6565cc3e707c554a4eea2e428946f7a4c162fab9bd9bcf"}, {file = "gitdb-4.0.12.tar.gz", hash = "sha256:5ef71f855d191a3326fcfbc0d5da835f26b13fbcba60c32c21091c349ffdb571"}, @@ -1145,6 +901,7 @@ version = "3.1.44" description = "GitPython is a Python library used to interact with Git repositories" optional = false python-versions = ">=3.7" +groups = ["docs"] files = [ {file = "GitPython-3.1.44-py3-none-any.whl", hash = "sha256:9e0e10cda9bed1ee64bc9a6de50e7e38a9c9943241cd7f585f6df3ed28011110"}, {file = "gitpython-3.1.44.tar.gz", hash = "sha256:c87e30b26253bf5418b01b0660f818967f3c503193838337fe5e573331249269"}, @@ -1163,6 +920,7 @@ version = "1.4.0" description = "Signatures for entire Python programs. Extract the structure, the frame, the skeleton of your project, to generate API documentation or find breaking changes in your API." optional = false python-versions = ">=3.8" +groups = ["docs"] files = [ {file = "griffe-1.4.0-py3-none-any.whl", hash = "sha256:e589de8b8c137e99a46ec45f9598fc0ac5b6868ce824b24db09c02d117b89bc5"}, {file = "griffe-1.4.0.tar.gz", hash = "sha256:8fccc585896d13f1221035d32c50dec65830c87d23f9adb9b1e6f3d63574f7f5"}, @@ -1178,6 +936,7 @@ version = "0.14.0" description = "A pure-Python, bring-your-own-I/O implementation of HTTP/1.1" optional = false python-versions = ">=3.7" +groups = ["dev"] files = [ {file = "h11-0.14.0-py3-none-any.whl", hash = "sha256:e3fe4ac4b851c468cc8363d500db52c2ead036020723024a109d37346efaa761"}, {file = "h11-0.14.0.tar.gz", hash = "sha256:8f19fbbe99e72420ff35c00b27a34cb9937e902a8b810e2c88300c6f0a3b699d"}, @@ -1189,6 +948,7 @@ version = "1.0.7" description = "A minimal low-level HTTP client." optional = false python-versions = ">=3.8" +groups = ["dev"] files = [ {file = "httpcore-1.0.7-py3-none-any.whl", hash = "sha256:a3fff8f43dc260d5bd363d9f9cf1830fa3a458b332856f34282de498ed420edd"}, {file = "httpcore-1.0.7.tar.gz", hash = "sha256:8551cb62a169ec7162ac7be8d4817d561f60e08eaa485234898414bb5a8a0b4c"}, @@ -1210,6 +970,7 @@ version = "0.28.1" description = "The next generation HTTP client." optional = false python-versions = ">=3.8" +groups = ["dev"] files = [ {file = "httpx-0.28.1-py3-none-any.whl", hash = "sha256:d909fcccc110f8c7faf814ca82a9a4d816bc5a6dbfea25d6591d6985b8ba59ad"}, {file = "httpx-0.28.1.tar.gz", hash = "sha256:75e98c5f16b0f35b567856f597f06ff2270a374470a5c2392242528e3e3e42fc"}, @@ -1234,6 +995,7 @@ version = "2.6.1" description = "File identification library for Python" optional = false python-versions = ">=3.8" +groups = ["dev"] files = [ {file = "identify-2.6.1-py2.py3-none-any.whl", hash = "sha256:53863bcac7caf8d2ed85bd20312ea5dcfc22226800f6d6881f232d861db5a8f0"}, {file = "identify-2.6.1.tar.gz", hash = "sha256:91478c5fb7c3aac5ff7bf9b4344f803843dc586832d5f110d672b19aa1984c98"}, @@ -1248,6 +1010,7 @@ version = "3.10" description = "Internationalized Domain Names in Applications (IDNA)" optional = false python-versions = ">=3.6" +groups = ["build", "dev", "docs"] files = [ {file = "idna-3.10-py3-none-any.whl", hash = "sha256:946d195a0d259cbba61165e88e65941f16e9b36ea6ddb97f00452bae8b1287d3"}, {file = "idna-3.10.tar.gz", hash = "sha256:12f65c9b470abda6dc35cf8e63cc574b1c52b11df2c86030af0ac09b01b13ea9"}, @@ -1262,10 +1025,12 @@ version = "8.5.0" description = "Read metadata from Python packages" optional = false python-versions = ">=3.8" +groups = ["build", "dev", "docs"] files = [ {file = "importlib_metadata-8.5.0-py3-none-any.whl", hash = "sha256:45e54197d28b7a7f1559e60b95e7c567032b602131fbd588f1497f47880aa68b"}, {file = "importlib_metadata-8.5.0.tar.gz", hash = "sha256:71522656f0abace1d072b9e5481a48f07c138e00f079c38c8f883823f9c26bd7"}, ] +markers = {build = "python_version < \"3.12\" and (platform_machine != \"ppc64le\" and platform_machine != \"s390x\") or python_version < \"3.10\"", dev = "python_version < \"3.12\" and (platform_machine != \"ppc64le\" and platform_machine != \"s390x\") or python_full_version < \"3.10.2\""} [package.dependencies] zipp = ">=3.20" @@ -1285,10 +1050,12 @@ version = "6.4.5" description = "Read resources from Python packages" optional = false python-versions = ">=3.8" +groups = ["build", "dev", "docs"] files = [ {file = "importlib_resources-6.4.5-py3-none-any.whl", hash = "sha256:ac29d5f956f01d5e4bb63102a5a19957f1b9175e45649977264a1416783bb717"}, {file = "importlib_resources-6.4.5.tar.gz", hash = "sha256:980862a1d16c9e147a59603677fa2aa5fd82b87f223b6cb870695bcfce830065"}, ] +markers = {build = "(platform_machine != \"ppc64le\" and platform_machine != \"s390x\") and python_version < \"3.9\"", dev = "python_version < \"3.9\""} [package.dependencies] zipp = {version = ">=3.1.0", markers = "python_version < \"3.10\""} @@ -1307,6 +1074,7 @@ version = "2.0.0" description = "brain-dead simple config-ini parsing" optional = false python-versions = ">=3.7" +groups = ["dev", "test"] files = [ {file = "iniconfig-2.0.0-py3-none-any.whl", hash = "sha256:b6a85871a79d2e3b22d2d1b94ac2824226a63c6b741c88f7ae975f18b6778374"}, {file = "iniconfig-2.0.0.tar.gz", hash = "sha256:2d91e135bf72d31a410b17c16da610a82cb55f6b0477d1a902134b24a455b8b3"}, @@ -1318,6 +1086,7 @@ version = "6.29.5" description = "IPython Kernel for Jupyter" optional = false python-versions = ">=3.8" +groups = ["dev", "docs"] files = [ {file = "ipykernel-6.29.5-py3-none-any.whl", hash = "sha256:afdb66ba5aa354b09b91379bac28ae4afebbb30e8b39510c9690afb7a10421b5"}, {file = "ipykernel-6.29.5.tar.gz", hash = "sha256:f093a22c4a40f8828f8e330a9c297cb93dcab13bd9678ded6de8e5cf81c56215"}, @@ -1351,6 +1120,7 @@ version = "8.12.3" description = "IPython: Productive Interactive Computing" optional = false python-versions = ">=3.8" +groups = ["dev", "docs"] files = [ {file = "ipython-8.12.3-py3-none-any.whl", hash = "sha256:b0340d46a933d27c657b211a329d0be23793c36595acf9e6ef4164bc01a1804c"}, {file = "ipython-8.12.3.tar.gz", hash = "sha256:3910c4b54543c2ad73d06579aa771041b7d5707b033bd488669b4cf544e3b363"}, @@ -1390,6 +1160,7 @@ version = "8.1.5" description = "Jupyter interactive widgets" optional = false python-versions = ">=3.7" +groups = ["dev"] files = [ {file = "ipywidgets-8.1.5-py3-none-any.whl", hash = "sha256:3290f526f87ae6e77655555baba4f36681c555b8bdbbff430b70e52c34c86245"}, {file = "ipywidgets-8.1.5.tar.gz", hash = "sha256:870e43b1a35656a80c18c9503bbf2d16802db1cb487eec6fab27d683381dde17"}, @@ -1411,6 +1182,7 @@ version = "20.11.0" description = "Operations with ISO 8601 durations" optional = false python-versions = ">=3.7" +groups = ["dev"] files = [ {file = "isoduration-20.11.0-py3-none-any.whl", hash = "sha256:b2904c2a4228c3d44f409c8ae8e2370eb21a26f7ac2ec5446df141dde3452042"}, {file = "isoduration-20.11.0.tar.gz", hash = "sha256:ac2f9015137935279eac671f94f89eb00584f940f5dc49462a0c4ee692ba1bd9"}, @@ -1425,6 +1197,8 @@ version = "3.4.0" description = "Utility functions for Python class constructs" optional = false python-versions = ">=3.8" +groups = ["build", "dev"] +markers = "platform_machine != \"ppc64le\" and platform_machine != \"s390x\"" files = [ {file = "jaraco.classes-3.4.0-py3-none-any.whl", hash = "sha256:f662826b6bed8cace05e7ff873ce0f9283b5c924470fe664fff1c2f00f581790"}, {file = "jaraco.classes-3.4.0.tar.gz", hash = "sha256:47a024b51d0239c0dd8c8540c6c7f484be3b8fcf0b2d85c13825780d3b3f3acd"}, @@ -1443,6 +1217,8 @@ version = "6.0.1" description = "Useful decorators and context managers" optional = false python-versions = ">=3.8" +groups = ["build", "dev"] +markers = "platform_machine != \"ppc64le\" and platform_machine != \"s390x\"" files = [ {file = "jaraco.context-6.0.1-py3-none-any.whl", hash = "sha256:f797fc481b490edb305122c9181830a3a5b76d84ef6d1aef2fb9b47ab956f9e4"}, {file = "jaraco_context-6.0.1.tar.gz", hash = "sha256:9bae4ea555cf0b14938dc0aee7c9f32ed303aa20a3b73e7dc80111628792d1b3"}, @@ -1461,6 +1237,8 @@ version = "4.1.0" description = "Functools like those found in stdlib" optional = false python-versions = ">=3.8" +groups = ["build", "dev"] +markers = "platform_machine != \"ppc64le\" and platform_machine != \"s390x\"" files = [ {file = "jaraco.functools-4.1.0-py3-none-any.whl", hash = "sha256:ad159f13428bc4acbf5541ad6dec511f91573b90fba04df61dafa2a1231cf649"}, {file = "jaraco_functools-4.1.0.tar.gz", hash = "sha256:70f7e0e2ae076498e212562325e805204fc092d7b4c17e0e86c959e249701a9d"}, @@ -1483,6 +1261,7 @@ version = "0.19.2" description = "An autocompletion tool for Python that can be used for text editors." optional = false python-versions = ">=3.6" +groups = ["dev", "docs"] files = [ {file = "jedi-0.19.2-py2.py3-none-any.whl", hash = "sha256:a8ef22bde8490f57fe5c7681a3c83cb58874daf72b4784de3cce5b6ef6edb5b9"}, {file = "jedi-0.19.2.tar.gz", hash = "sha256:4770dc3de41bde3966b02eb84fbcf557fb33cce26ad23da12c742fb50ecb11f0"}, @@ -1502,6 +1281,8 @@ version = "0.8.0" description = "Low-level, pure Python DBus protocol wrapper." optional = false python-versions = ">=3.7" +groups = ["build", "dev"] +markers = "(platform_machine != \"ppc64le\" and platform_machine != \"s390x\") and sys_platform == \"linux\"" files = [ {file = "jeepney-0.8.0-py3-none-any.whl", hash = "sha256:c0a454ad016ca575060802ee4d590dd912e35c122fa04e70306de3d076cce755"}, {file = "jeepney-0.8.0.tar.gz", hash = "sha256:5efe48d255973902f6badc3ce55e2aa6c5c3b3bc642059ef3a91247bcfcc5806"}, @@ -1517,6 +1298,7 @@ version = "3.1.5" description = "A very fast and expressive template engine." optional = false python-versions = ">=3.7" +groups = ["dev", "docs"] files = [ {file = "jinja2-3.1.5-py3-none-any.whl", hash = "sha256:aba0f4dc9ed8013c424088f68a5c226f7d6097ed89b246d7749c2ec4175c6adb"}, {file = "jinja2-3.1.5.tar.gz", hash = "sha256:8fefff8dc3034e27bb80d67c671eb8a9bc424c0ef4c0826edbff304cceff43bb"}, @@ -1534,6 +1316,7 @@ version = "0.10.0" description = "A Python implementation of the JSON5 data format." optional = false python-versions = ">=3.8.0" +groups = ["dev"] files = [ {file = "json5-0.10.0-py3-none-any.whl", hash = "sha256:19b23410220a7271e8377f81ba8aacba2fdd56947fbb137ee5977cbe1f5e8dfa"}, {file = "json5-0.10.0.tar.gz", hash = "sha256:e66941c8f0a02026943c52c2eb34ebeb2a6f819a0be05920a6f5243cd30fd559"}, @@ -1548,6 +1331,7 @@ version = "3.0.0" description = "Identify specific nodes in a JSON document (RFC 6901)" optional = false python-versions = ">=3.7" +groups = ["dev"] files = [ {file = "jsonpointer-3.0.0-py2.py3-none-any.whl", hash = "sha256:13e088adc14fca8b6aa8177c044e12701e6ad4b28ff10e65f2267a90109c9942"}, {file = "jsonpointer-3.0.0.tar.gz", hash = "sha256:2b2d729f2091522d61c3b31f82e11870f60b68f43fbc705cb76bf4b832af59ef"}, @@ -1559,6 +1343,7 @@ version = "4.23.0" description = "An implementation of JSON Schema validation for Python" optional = false python-versions = ">=3.8" +groups = ["dev", "docs"] files = [ {file = "jsonschema-4.23.0-py3-none-any.whl", hash = "sha256:fbadb6f8b144a8f8cf9f0b89ba94501d143e50411a1278633f56a7acf7fd5566"}, {file = "jsonschema-4.23.0.tar.gz", hash = "sha256:d71497fef26351a33265337fa77ffeb82423f3ea21283cd9467bb03999266bc4"}, @@ -1590,6 +1375,7 @@ version = "2023.12.1" description = "The JSON Schema meta-schemas and vocabularies, exposed as a Registry" optional = false python-versions = ">=3.8" +groups = ["dev", "docs"] files = [ {file = "jsonschema_specifications-2023.12.1-py3-none-any.whl", hash = "sha256:87e4fdf3a94858b8a2ba2778d9ba57d8a9cafca7c7489c46ba0d30a8bc6a9c3c"}, {file = "jsonschema_specifications-2023.12.1.tar.gz", hash = "sha256:48a76787b3e70f5ed53f1160d2b81f586e4ca6d1548c5de7085d1682674764cc"}, @@ -1605,6 +1391,7 @@ version = "8.6.3" description = "Jupyter protocol implementation and client libraries" optional = false python-versions = ">=3.8" +groups = ["dev", "docs"] files = [ {file = "jupyter_client-8.6.3-py3-none-any.whl", hash = "sha256:e8a19cc986cc45905ac3362915f410f3af85424b4c0905e94fa5f2cb08e8f23f"}, {file = "jupyter_client-8.6.3.tar.gz", hash = "sha256:35b3a0947c4a6e9d589eb97d7d4cd5e90f910ee73101611f01283732bd6d9419"}, @@ -1628,6 +1415,7 @@ version = "5.7.2" description = "Jupyter core package. A base package on which Jupyter projects rely." optional = false python-versions = ">=3.8" +groups = ["dev", "docs"] files = [ {file = "jupyter_core-5.7.2-py3-none-any.whl", hash = "sha256:4f7315d2f6b4bcf2e3e7cb6e46772eba760ae459cd1f59d29eb57b0a01bd7409"}, {file = "jupyter_core-5.7.2.tar.gz", hash = "sha256:aa5f8d32bbf6b431ac830496da7392035d6f61b4f54872f15c4bd2a9c3f536d9"}, @@ -1648,6 +1436,7 @@ version = "0.10.0" description = "Jupyter Event System library" optional = false python-versions = ">=3.8" +groups = ["dev"] files = [ {file = "jupyter_events-0.10.0-py3-none-any.whl", hash = "sha256:4b72130875e59d57716d327ea70d3ebc3af1944d3717e5a498b8a06c6c159960"}, {file = "jupyter_events-0.10.0.tar.gz", hash = "sha256:670b8229d3cc882ec782144ed22e0d29e1c2d639263f92ca8383e66682845e22"}, @@ -1673,6 +1462,7 @@ version = "2.2.5" description = "Multi-Language Server WebSocket proxy for Jupyter Notebook/Lab server" optional = false python-versions = ">=3.8" +groups = ["dev"] files = [ {file = "jupyter-lsp-2.2.5.tar.gz", hash = "sha256:793147a05ad446f809fd53ef1cd19a9f5256fd0a2d6b7ce943a982cb4f545001"}, {file = "jupyter_lsp-2.2.5-py3-none-any.whl", hash = "sha256:45fbddbd505f3fbfb0b6cb2f1bc5e15e83ab7c79cd6e89416b248cb3c00c11da"}, @@ -1688,6 +1478,7 @@ version = "2.14.2" description = "The backend—i.e. core services, APIs, and REST endpoints—to Jupyter web applications." optional = false python-versions = ">=3.8" +groups = ["dev"] files = [ {file = "jupyter_server-2.14.2-py3-none-any.whl", hash = "sha256:47ff506127c2f7851a17bf4713434208fc490955d0e8632e95014a9a9afbeefd"}, {file = "jupyter_server-2.14.2.tar.gz", hash = "sha256:66095021aa9638ced276c248b1d81862e4c50f292d575920bbe960de1c56b12b"}, @@ -1724,6 +1515,7 @@ version = "0.5.3" description = "A Jupyter Server Extension Providing Terminals." optional = false python-versions = ">=3.8" +groups = ["dev"] files = [ {file = "jupyter_server_terminals-0.5.3-py3-none-any.whl", hash = "sha256:41ee0d7dc0ebf2809c668e0fc726dfaf258fcd3e769568996ca731b6194ae9aa"}, {file = "jupyter_server_terminals-0.5.3.tar.gz", hash = "sha256:5ae0295167220e9ace0edcfdb212afd2b01ee8d179fe6f23c899590e9b8a5269"}, @@ -1743,6 +1535,7 @@ version = "4.3.4" description = "JupyterLab computational environment" optional = false python-versions = ">=3.8" +groups = ["dev"] files = [ {file = "jupyterlab-4.3.4-py3-none-any.whl", hash = "sha256:b754c2601c5be6adf87cb5a1d8495d653ffb945f021939f77776acaa94dae952"}, {file = "jupyterlab-4.3.4.tar.gz", hash = "sha256:f0bb9b09a04766e3423cccc2fc23169aa2ffedcdf8713e9e0fb33cac0b6859d0"}, @@ -1779,6 +1572,7 @@ version = "0.3.0" description = "Pygments theme using JupyterLab CSS variables" optional = false python-versions = ">=3.8" +groups = ["dev", "docs"] files = [ {file = "jupyterlab_pygments-0.3.0-py3-none-any.whl", hash = "sha256:841a89020971da1d8693f1a99997aefc5dc424bb1b251fd6322462a1b8842780"}, {file = "jupyterlab_pygments-0.3.0.tar.gz", hash = "sha256:721aca4d9029252b11cfa9d185e5b5af4d54772bb8072f9b7036f4170054d35d"}, @@ -1790,6 +1584,7 @@ version = "2.27.3" description = "A set of server components for JupyterLab and JupyterLab like applications." optional = false python-versions = ">=3.8" +groups = ["dev"] files = [ {file = "jupyterlab_server-2.27.3-py3-none-any.whl", hash = "sha256:e697488f66c3db49df675158a77b3b017520d772c6e1548c7d9bcc5df7944ee4"}, {file = "jupyterlab_server-2.27.3.tar.gz", hash = "sha256:eb36caca59e74471988f0ae25c77945610b887f777255aa21f8065def9e51ed4"}, @@ -1816,6 +1611,7 @@ version = "3.0.13" description = "Jupyter interactive widgets for JupyterLab" optional = false python-versions = ">=3.7" +groups = ["dev"] files = [ {file = "jupyterlab_widgets-3.0.13-py3-none-any.whl", hash = "sha256:e3cda2c233ce144192f1e29914ad522b2f4c40e77214b0cc97377ca3d323db54"}, {file = "jupyterlab_widgets-3.0.13.tar.gz", hash = "sha256:a2966d385328c1942b683a8cd96b89b8dd82c8b8f81dda902bb2bc06d46f5bed"}, @@ -1827,6 +1623,7 @@ version = "1.16.6" description = "Jupyter notebooks as Markdown documents, Julia, Python or R scripts" optional = false python-versions = ">=3.8" +groups = ["dev", "docs"] files = [ {file = "jupytext-1.16.6-py3-none-any.whl", hash = "sha256:900132031f73fee15a1c9ebd862e05eb5f51e1ad6ab3a2c6fdd97ce2f9c913b4"}, {file = "jupytext-1.16.6.tar.gz", hash = "sha256:dbd03f9263c34b737003f388fc069e9030834fb7136879c4c32c32473557baa0"}, @@ -1856,6 +1653,8 @@ version = "25.5.0" description = "Store and access your passwords safely." optional = false python-versions = ">=3.8" +groups = ["build", "dev"] +markers = "platform_machine != \"ppc64le\" and platform_machine != \"s390x\"" files = [ {file = "keyring-25.5.0-py3-none-any.whl", hash = "sha256:e67f8ac32b04be4714b42fe84ce7dad9c40985b9ca827c592cc303e7c26d9741"}, {file = "keyring-25.5.0.tar.gz", hash = "sha256:4c753b3ec91717fe713c4edd522d625889d8973a349b0e582622f49766de58e6"}, @@ -1880,224 +1679,13 @@ enabler = ["pytest-enabler (>=2.2)"] test = ["pyfakefs", "pytest (>=6,!=8.1.*)"] type = ["pygobject-stubs", "pytest-mypy", "shtab", "types-pywin32"] -[[package]] -name = "kiwisolver" -version = "1.4.7" -description = "A fast implementation of the Cassowary constraint solver" -optional = false -python-versions = ">=3.8" -files = [ - {file = "kiwisolver-1.4.7-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:8a9c83f75223d5e48b0bc9cb1bf2776cf01563e00ade8775ffe13b0b6e1af3a6"}, - {file = "kiwisolver-1.4.7-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:58370b1ffbd35407444d57057b57da5d6549d2d854fa30249771775c63b5fe17"}, - {file = "kiwisolver-1.4.7-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:aa0abdf853e09aff551db11fce173e2177d00786c688203f52c87ad7fcd91ef9"}, - {file = "kiwisolver-1.4.7-cp310-cp310-manylinux_2_12_i686.manylinux2010_i686.whl", hash = "sha256:8d53103597a252fb3ab8b5845af04c7a26d5e7ea8122303dd7a021176a87e8b9"}, - {file = "kiwisolver-1.4.7-cp310-cp310-manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:88f17c5ffa8e9462fb79f62746428dd57b46eb931698e42e990ad63103f35e6c"}, - {file = "kiwisolver-1.4.7-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:88a9ca9c710d598fd75ee5de59d5bda2684d9db36a9f50b6125eaea3969c2599"}, - {file = "kiwisolver-1.4.7-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:f4d742cb7af1c28303a51b7a27aaee540e71bb8e24f68c736f6f2ffc82f2bf05"}, - {file = "kiwisolver-1.4.7-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:e28c7fea2196bf4c2f8d46a0415c77a1c480cc0724722f23d7410ffe9842c407"}, - {file = "kiwisolver-1.4.7-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:e968b84db54f9d42046cf154e02911e39c0435c9801681e3fc9ce8a3c4130278"}, - {file = "kiwisolver-1.4.7-cp310-cp310-musllinux_1_2_i686.whl", hash = "sha256:0c18ec74c0472de033e1bebb2911c3c310eef5649133dd0bedf2a169a1b269e5"}, - {file = "kiwisolver-1.4.7-cp310-cp310-musllinux_1_2_ppc64le.whl", hash = "sha256:8f0ea6da6d393d8b2e187e6a5e3fb81f5862010a40c3945e2c6d12ae45cfb2ad"}, - {file = "kiwisolver-1.4.7-cp310-cp310-musllinux_1_2_s390x.whl", hash = "sha256:f106407dda69ae456dd1227966bf445b157ccc80ba0dff3802bb63f30b74e895"}, - {file = "kiwisolver-1.4.7-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:84ec80df401cfee1457063732d90022f93951944b5b58975d34ab56bb150dfb3"}, - {file = "kiwisolver-1.4.7-cp310-cp310-win32.whl", hash = "sha256:71bb308552200fb2c195e35ef05de12f0c878c07fc91c270eb3d6e41698c3bcc"}, - {file = "kiwisolver-1.4.7-cp310-cp310-win_amd64.whl", hash = "sha256:44756f9fd339de0fb6ee4f8c1696cfd19b2422e0d70b4cefc1cc7f1f64045a8c"}, - {file = "kiwisolver-1.4.7-cp310-cp310-win_arm64.whl", hash = "sha256:78a42513018c41c2ffd262eb676442315cbfe3c44eed82385c2ed043bc63210a"}, - {file = "kiwisolver-1.4.7-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:d2b0e12a42fb4e72d509fc994713d099cbb15ebf1103545e8a45f14da2dfca54"}, - {file = "kiwisolver-1.4.7-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:2a8781ac3edc42ea4b90bc23e7d37b665d89423818e26eb6df90698aa2287c95"}, - {file = "kiwisolver-1.4.7-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:46707a10836894b559e04b0fd143e343945c97fd170d69a2d26d640b4e297935"}, - {file = "kiwisolver-1.4.7-cp311-cp311-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:ef97b8df011141c9b0f6caf23b29379f87dd13183c978a30a3c546d2c47314cb"}, - {file = "kiwisolver-1.4.7-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:3ab58c12a2cd0fc769089e6d38466c46d7f76aced0a1f54c77652446733d2d02"}, - {file = "kiwisolver-1.4.7-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:803b8e1459341c1bb56d1c5c010406d5edec8a0713a0945851290a7930679b51"}, - {file = "kiwisolver-1.4.7-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:f9a9e8a507420fe35992ee9ecb302dab68550dedc0da9e2880dd88071c5fb052"}, - {file = "kiwisolver-1.4.7-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:18077b53dc3bb490e330669a99920c5e6a496889ae8c63b58fbc57c3d7f33a18"}, - {file = "kiwisolver-1.4.7-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:6af936f79086a89b3680a280c47ea90b4df7047b5bdf3aa5c524bbedddb9e545"}, - {file = "kiwisolver-1.4.7-cp311-cp311-musllinux_1_2_i686.whl", hash = "sha256:3abc5b19d24af4b77d1598a585b8a719beb8569a71568b66f4ebe1fb0449460b"}, - {file = "kiwisolver-1.4.7-cp311-cp311-musllinux_1_2_ppc64le.whl", hash = "sha256:933d4de052939d90afbe6e9d5273ae05fb836cc86c15b686edd4b3560cc0ee36"}, - {file = "kiwisolver-1.4.7-cp311-cp311-musllinux_1_2_s390x.whl", hash = "sha256:65e720d2ab2b53f1f72fb5da5fb477455905ce2c88aaa671ff0a447c2c80e8e3"}, - {file = "kiwisolver-1.4.7-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:3bf1ed55088f214ba6427484c59553123fdd9b218a42bbc8c6496d6754b1e523"}, - {file = "kiwisolver-1.4.7-cp311-cp311-win32.whl", hash = "sha256:4c00336b9dd5ad96d0a558fd18a8b6f711b7449acce4c157e7343ba92dd0cf3d"}, - {file = "kiwisolver-1.4.7-cp311-cp311-win_amd64.whl", hash = "sha256:929e294c1ac1e9f615c62a4e4313ca1823ba37326c164ec720a803287c4c499b"}, - {file = "kiwisolver-1.4.7-cp311-cp311-win_arm64.whl", hash = "sha256:e33e8fbd440c917106b237ef1a2f1449dfbb9b6f6e1ce17c94cd6a1e0d438376"}, - {file = "kiwisolver-1.4.7-cp312-cp312-macosx_10_9_universal2.whl", hash = "sha256:5360cc32706dab3931f738d3079652d20982511f7c0ac5711483e6eab08efff2"}, - {file = "kiwisolver-1.4.7-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:942216596dc64ddb25adb215c3c783215b23626f8d84e8eff8d6d45c3f29f75a"}, - {file = "kiwisolver-1.4.7-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:48b571ecd8bae15702e4f22d3ff6a0f13e54d3d00cd25216d5e7f658242065ee"}, - {file = "kiwisolver-1.4.7-cp312-cp312-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:ad42ba922c67c5f219097b28fae965e10045ddf145d2928bfac2eb2e17673640"}, - {file = "kiwisolver-1.4.7-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:612a10bdae23404a72941a0fc8fa2660c6ea1217c4ce0dbcab8a8f6543ea9e7f"}, - {file = "kiwisolver-1.4.7-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:9e838bba3a3bac0fe06d849d29772eb1afb9745a59710762e4ba3f4cb8424483"}, - {file = "kiwisolver-1.4.7-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:22f499f6157236c19f4bbbd472fa55b063db77a16cd74d49afe28992dff8c258"}, - {file = "kiwisolver-1.4.7-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:693902d433cf585133699972b6d7c42a8b9f8f826ebcaf0132ff55200afc599e"}, - {file = "kiwisolver-1.4.7-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:4e77f2126c3e0b0d055f44513ed349038ac180371ed9b52fe96a32aa071a5107"}, - {file = "kiwisolver-1.4.7-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:657a05857bda581c3656bfc3b20e353c232e9193eb167766ad2dc58b56504948"}, - {file = "kiwisolver-1.4.7-cp312-cp312-musllinux_1_2_ppc64le.whl", hash = "sha256:4bfa75a048c056a411f9705856abfc872558e33c055d80af6a380e3658766038"}, - {file = "kiwisolver-1.4.7-cp312-cp312-musllinux_1_2_s390x.whl", hash = "sha256:34ea1de54beef1c104422d210c47c7d2a4999bdecf42c7b5718fbe59a4cac383"}, - {file = "kiwisolver-1.4.7-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:90da3b5f694b85231cf93586dad5e90e2d71b9428f9aad96952c99055582f520"}, - {file = "kiwisolver-1.4.7-cp312-cp312-win32.whl", hash = "sha256:18e0cca3e008e17fe9b164b55735a325140a5a35faad8de92dd80265cd5eb80b"}, - {file = "kiwisolver-1.4.7-cp312-cp312-win_amd64.whl", hash = "sha256:58cb20602b18f86f83a5c87d3ee1c766a79c0d452f8def86d925e6c60fbf7bfb"}, - {file = "kiwisolver-1.4.7-cp312-cp312-win_arm64.whl", hash = "sha256:f5a8b53bdc0b3961f8b6125e198617c40aeed638b387913bf1ce78afb1b0be2a"}, - {file = "kiwisolver-1.4.7-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:2e6039dcbe79a8e0f044f1c39db1986a1b8071051efba3ee4d74f5b365f5226e"}, - {file = "kiwisolver-1.4.7-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:a1ecf0ac1c518487d9d23b1cd7139a6a65bc460cd101ab01f1be82ecf09794b6"}, - {file = "kiwisolver-1.4.7-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:7ab9ccab2b5bd5702ab0803676a580fffa2aa178c2badc5557a84cc943fcf750"}, - {file = "kiwisolver-1.4.7-cp313-cp313-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:f816dd2277f8d63d79f9c8473a79fe54047bc0467754962840782c575522224d"}, - {file = "kiwisolver-1.4.7-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:cf8bcc23ceb5a1b624572a1623b9f79d2c3b337c8c455405ef231933a10da379"}, - {file = "kiwisolver-1.4.7-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:dea0bf229319828467d7fca8c7c189780aa9ff679c94539eed7532ebe33ed37c"}, - {file = "kiwisolver-1.4.7-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:7c06a4c7cf15ec739ce0e5971b26c93638730090add60e183530d70848ebdd34"}, - {file = "kiwisolver-1.4.7-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:913983ad2deb14e66d83c28b632fd35ba2b825031f2fa4ca29675e665dfecbe1"}, - {file = "kiwisolver-1.4.7-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:5337ec7809bcd0f424c6b705ecf97941c46279cf5ed92311782c7c9c2026f07f"}, - {file = "kiwisolver-1.4.7-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:4c26ed10c4f6fa6ddb329a5120ba3b6db349ca192ae211e882970bfc9d91420b"}, - {file = "kiwisolver-1.4.7-cp313-cp313-musllinux_1_2_ppc64le.whl", hash = "sha256:c619b101e6de2222c1fcb0531e1b17bbffbe54294bfba43ea0d411d428618c27"}, - {file = "kiwisolver-1.4.7-cp313-cp313-musllinux_1_2_s390x.whl", hash = "sha256:073a36c8273647592ea332e816e75ef8da5c303236ec0167196793eb1e34657a"}, - {file = "kiwisolver-1.4.7-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:3ce6b2b0231bda412463e152fc18335ba32faf4e8c23a754ad50ffa70e4091ee"}, - {file = "kiwisolver-1.4.7-cp313-cp313-win32.whl", hash = "sha256:f4c9aee212bc89d4e13f58be11a56cc8036cabad119259d12ace14b34476fd07"}, - {file = "kiwisolver-1.4.7-cp313-cp313-win_amd64.whl", hash = "sha256:8a3ec5aa8e38fc4c8af308917ce12c536f1c88452ce554027e55b22cbbfbff76"}, - {file = "kiwisolver-1.4.7-cp313-cp313-win_arm64.whl", hash = "sha256:76c8094ac20ec259471ac53e774623eb62e6e1f56cd8690c67ce6ce4fcb05650"}, - {file = "kiwisolver-1.4.7-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:5d5abf8f8ec1f4e22882273c423e16cae834c36856cac348cfbfa68e01c40f3a"}, - {file = "kiwisolver-1.4.7-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:aeb3531b196ef6f11776c21674dba836aeea9d5bd1cf630f869e3d90b16cfade"}, - {file = "kiwisolver-1.4.7-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:b7d755065e4e866a8086c9bdada157133ff466476a2ad7861828e17b6026e22c"}, - {file = "kiwisolver-1.4.7-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:08471d4d86cbaec61f86b217dd938a83d85e03785f51121e791a6e6689a3be95"}, - {file = "kiwisolver-1.4.7-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:7bbfcb7165ce3d54a3dfbe731e470f65739c4c1f85bb1018ee912bae139e263b"}, - {file = "kiwisolver-1.4.7-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:5d34eb8494bea691a1a450141ebb5385e4b69d38bb8403b5146ad279f4b30fa3"}, - {file = "kiwisolver-1.4.7-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:9242795d174daa40105c1d86aba618e8eab7bf96ba8c3ee614da8302a9f95503"}, - {file = "kiwisolver-1.4.7-cp38-cp38-manylinux_2_5_x86_64.manylinux1_x86_64.whl", hash = "sha256:a0f64a48bb81af7450e641e3fe0b0394d7381e342805479178b3d335d60ca7cf"}, - {file = "kiwisolver-1.4.7-cp38-cp38-musllinux_1_2_aarch64.whl", hash = "sha256:8e045731a5416357638d1700927529e2b8ab304811671f665b225f8bf8d8f933"}, - {file = "kiwisolver-1.4.7-cp38-cp38-musllinux_1_2_i686.whl", hash = "sha256:4322872d5772cae7369f8351da1edf255a604ea7087fe295411397d0cfd9655e"}, - {file = "kiwisolver-1.4.7-cp38-cp38-musllinux_1_2_ppc64le.whl", hash = "sha256:e1631290ee9271dffe3062d2634c3ecac02c83890ada077d225e081aca8aab89"}, - {file = "kiwisolver-1.4.7-cp38-cp38-musllinux_1_2_s390x.whl", hash = "sha256:edcfc407e4eb17e037bca59be0e85a2031a2ac87e4fed26d3e9df88b4165f92d"}, - {file = "kiwisolver-1.4.7-cp38-cp38-musllinux_1_2_x86_64.whl", hash = "sha256:4d05d81ecb47d11e7f8932bd8b61b720bf0b41199358f3f5e36d38e28f0532c5"}, - {file = "kiwisolver-1.4.7-cp38-cp38-win32.whl", hash = "sha256:b38ac83d5f04b15e515fd86f312479d950d05ce2368d5413d46c088dda7de90a"}, - {file = "kiwisolver-1.4.7-cp38-cp38-win_amd64.whl", hash = "sha256:d83db7cde68459fc803052a55ace60bea2bae361fc3b7a6d5da07e11954e4b09"}, - {file = "kiwisolver-1.4.7-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:3f9362ecfca44c863569d3d3c033dbe8ba452ff8eed6f6b5806382741a1334bd"}, - {file = "kiwisolver-1.4.7-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:e8df2eb9b2bac43ef8b082e06f750350fbbaf2887534a5be97f6cf07b19d9583"}, - {file = "kiwisolver-1.4.7-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:f32d6edbc638cde7652bd690c3e728b25332acbadd7cad670cc4a02558d9c417"}, - {file = "kiwisolver-1.4.7-cp39-cp39-manylinux_2_12_i686.manylinux2010_i686.whl", hash = "sha256:e2e6c39bd7b9372b0be21456caab138e8e69cc0fc1190a9dfa92bd45a1e6e904"}, - {file = "kiwisolver-1.4.7-cp39-cp39-manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:dda56c24d869b1193fcc763f1284b9126550eaf84b88bbc7256e15028f19188a"}, - {file = "kiwisolver-1.4.7-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:79849239c39b5e1fd906556c474d9b0439ea6792b637511f3fe3a41158d89ca8"}, - {file = "kiwisolver-1.4.7-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:5e3bc157fed2a4c02ec468de4ecd12a6e22818d4f09cde2c31ee3226ffbefab2"}, - {file = "kiwisolver-1.4.7-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:3da53da805b71e41053dc670f9a820d1157aae77b6b944e08024d17bcd51ef88"}, - {file = "kiwisolver-1.4.7-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:8705f17dfeb43139a692298cb6637ee2e59c0194538153e83e9ee0c75c2eddde"}, - {file = "kiwisolver-1.4.7-cp39-cp39-musllinux_1_2_i686.whl", hash = "sha256:82a5c2f4b87c26bb1a0ef3d16b5c4753434633b83d365cc0ddf2770c93829e3c"}, - {file = "kiwisolver-1.4.7-cp39-cp39-musllinux_1_2_ppc64le.whl", hash = "sha256:ce8be0466f4c0d585cdb6c1e2ed07232221df101a4c6f28821d2aa754ca2d9e2"}, - {file = "kiwisolver-1.4.7-cp39-cp39-musllinux_1_2_s390x.whl", hash = "sha256:409afdfe1e2e90e6ee7fc896f3df9a7fec8e793e58bfa0d052c8a82f99c37abb"}, - {file = "kiwisolver-1.4.7-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:5b9c3f4ee0b9a439d2415012bd1b1cc2df59e4d6a9939f4d669241d30b414327"}, - {file = "kiwisolver-1.4.7-cp39-cp39-win32.whl", hash = "sha256:a79ae34384df2b615eefca647a2873842ac3b596418032bef9a7283675962644"}, - {file = "kiwisolver-1.4.7-cp39-cp39-win_amd64.whl", hash = "sha256:cf0438b42121a66a3a667de17e779330fc0f20b0d97d59d2f2121e182b0505e4"}, - {file = "kiwisolver-1.4.7-cp39-cp39-win_arm64.whl", hash = "sha256:764202cc7e70f767dab49e8df52c7455e8de0df5d858fa801a11aa0d882ccf3f"}, - {file = "kiwisolver-1.4.7-pp310-pypy310_pp73-macosx_10_15_x86_64.whl", hash = "sha256:94252291e3fe68001b1dd747b4c0b3be12582839b95ad4d1b641924d68fd4643"}, - {file = "kiwisolver-1.4.7-pp310-pypy310_pp73-macosx_11_0_arm64.whl", hash = "sha256:5b7dfa3b546da08a9f622bb6becdb14b3e24aaa30adba66749d38f3cc7ea9706"}, - {file = "kiwisolver-1.4.7-pp310-pypy310_pp73-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:bd3de6481f4ed8b734da5df134cd5a6a64fe32124fe83dde1e5b5f29fe30b1e6"}, - {file = "kiwisolver-1.4.7-pp310-pypy310_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a91b5f9f1205845d488c928e8570dcb62b893372f63b8b6e98b863ebd2368ff2"}, - {file = "kiwisolver-1.4.7-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:40fa14dbd66b8b8f470d5fc79c089a66185619d31645f9b0773b88b19f7223c4"}, - {file = "kiwisolver-1.4.7-pp310-pypy310_pp73-win_amd64.whl", hash = "sha256:eb542fe7933aa09d8d8f9d9097ef37532a7df6497819d16efe4359890a2f417a"}, - {file = "kiwisolver-1.4.7-pp38-pypy38_pp73-macosx_10_9_x86_64.whl", hash = "sha256:bfa1acfa0c54932d5607e19a2c24646fb4c1ae2694437789129cf099789a3b00"}, - {file = "kiwisolver-1.4.7-pp38-pypy38_pp73-macosx_11_0_arm64.whl", hash = "sha256:eee3ea935c3d227d49b4eb85660ff631556841f6e567f0f7bda972df6c2c9935"}, - {file = "kiwisolver-1.4.7-pp38-pypy38_pp73-manylinux_2_12_i686.manylinux2010_i686.whl", hash = "sha256:f3160309af4396e0ed04db259c3ccbfdc3621b5559b5453075e5de555e1f3a1b"}, - {file = "kiwisolver-1.4.7-pp38-pypy38_pp73-manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:a17f6a29cf8935e587cc8a4dbfc8368c55edc645283db0ce9801016f83526c2d"}, - {file = "kiwisolver-1.4.7-pp38-pypy38_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:10849fb2c1ecbfae45a693c070e0320a91b35dd4bcf58172c023b994283a124d"}, - {file = "kiwisolver-1.4.7-pp38-pypy38_pp73-win_amd64.whl", hash = "sha256:ac542bf38a8a4be2dc6b15248d36315ccc65f0743f7b1a76688ffb6b5129a5c2"}, - {file = "kiwisolver-1.4.7-pp39-pypy39_pp73-macosx_10_15_x86_64.whl", hash = "sha256:8b01aac285f91ca889c800042c35ad3b239e704b150cfd3382adfc9dcc780e39"}, - {file = "kiwisolver-1.4.7-pp39-pypy39_pp73-macosx_11_0_arm64.whl", hash = "sha256:48be928f59a1f5c8207154f935334d374e79f2b5d212826307d072595ad76a2e"}, - {file = "kiwisolver-1.4.7-pp39-pypy39_pp73-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:f37cfe618a117e50d8c240555331160d73d0411422b59b5ee217843d7b693608"}, - {file = "kiwisolver-1.4.7-pp39-pypy39_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:599b5c873c63a1f6ed7eead644a8a380cfbdf5db91dcb6f85707aaab213b1674"}, - {file = "kiwisolver-1.4.7-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:801fa7802e5cfabe3ab0c81a34c323a319b097dfb5004be950482d882f3d7225"}, - {file = "kiwisolver-1.4.7-pp39-pypy39_pp73-win_amd64.whl", hash = "sha256:0c6c43471bc764fad4bc99c5c2d6d16a676b1abf844ca7c8702bdae92df01ee0"}, - {file = "kiwisolver-1.4.7.tar.gz", hash = "sha256:9893ff81bd7107f7b685d3017cc6583daadb4fc26e4a888350df530e41980a60"}, -] - -[[package]] -name = "kiwisolver" -version = "1.4.8" -description = "A fast implementation of the Cassowary constraint solver" -optional = false -python-versions = ">=3.10" -files = [ - {file = "kiwisolver-1.4.8-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:88c6f252f6816a73b1f8c904f7bbe02fd67c09a69f7cb8a0eecdbf5ce78e63db"}, - {file = "kiwisolver-1.4.8-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:c72941acb7b67138f35b879bbe85be0f6c6a70cab78fe3ef6db9c024d9223e5b"}, - {file = "kiwisolver-1.4.8-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:ce2cf1e5688edcb727fdf7cd1bbd0b6416758996826a8be1d958f91880d0809d"}, - {file = "kiwisolver-1.4.8-cp310-cp310-manylinux_2_12_i686.manylinux2010_i686.whl", hash = "sha256:c8bf637892dc6e6aad2bc6d4d69d08764166e5e3f69d469e55427b6ac001b19d"}, - {file = "kiwisolver-1.4.8-cp310-cp310-manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:034d2c891f76bd3edbdb3ea11140d8510dca675443da7304205a2eaa45d8334c"}, - {file = "kiwisolver-1.4.8-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d47b28d1dfe0793d5e96bce90835e17edf9a499b53969b03c6c47ea5985844c3"}, - {file = "kiwisolver-1.4.8-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:eb158fe28ca0c29f2260cca8c43005329ad58452c36f0edf298204de32a9a3ed"}, - {file = "kiwisolver-1.4.8-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:d5536185fce131780ebd809f8e623bf4030ce1b161353166c49a3c74c287897f"}, - {file = "kiwisolver-1.4.8-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:369b75d40abedc1da2c1f4de13f3482cb99e3237b38726710f4a793432b1c5ff"}, - {file = "kiwisolver-1.4.8-cp310-cp310-musllinux_1_2_i686.whl", hash = "sha256:641f2ddf9358c80faa22e22eb4c9f54bd3f0e442e038728f500e3b978d00aa7d"}, - {file = "kiwisolver-1.4.8-cp310-cp310-musllinux_1_2_ppc64le.whl", hash = "sha256:d561d2d8883e0819445cfe58d7ddd673e4015c3c57261d7bdcd3710d0d14005c"}, - {file = "kiwisolver-1.4.8-cp310-cp310-musllinux_1_2_s390x.whl", hash = "sha256:1732e065704b47c9afca7ffa272f845300a4eb959276bf6970dc07265e73b605"}, - {file = "kiwisolver-1.4.8-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:bcb1ebc3547619c3b58a39e2448af089ea2ef44b37988caf432447374941574e"}, - {file = "kiwisolver-1.4.8-cp310-cp310-win_amd64.whl", hash = "sha256:89c107041f7b27844179ea9c85d6da275aa55ecf28413e87624d033cf1f6b751"}, - {file = "kiwisolver-1.4.8-cp310-cp310-win_arm64.whl", hash = "sha256:b5773efa2be9eb9fcf5415ea3ab70fc785d598729fd6057bea38d539ead28271"}, - {file = "kiwisolver-1.4.8-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:a4d3601908c560bdf880f07d94f31d734afd1bb71e96585cace0e38ef44c6d84"}, - {file = "kiwisolver-1.4.8-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:856b269c4d28a5c0d5e6c1955ec36ebfd1651ac00e1ce0afa3e28da95293b561"}, - {file = "kiwisolver-1.4.8-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:c2b9a96e0f326205af81a15718a9073328df1173a2619a68553decb7097fd5d7"}, - {file = "kiwisolver-1.4.8-cp311-cp311-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:c5020c83e8553f770cb3b5fc13faac40f17e0b205bd237aebd21d53d733adb03"}, - {file = "kiwisolver-1.4.8-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:dace81d28c787956bfbfbbfd72fdcef014f37d9b48830829e488fdb32b49d954"}, - {file = "kiwisolver-1.4.8-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:11e1022b524bd48ae56c9b4f9296bce77e15a2e42a502cceba602f804b32bb79"}, - {file = "kiwisolver-1.4.8-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:3b9b4d2892fefc886f30301cdd80debd8bb01ecdf165a449eb6e78f79f0fabd6"}, - {file = "kiwisolver-1.4.8-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:3a96c0e790ee875d65e340ab383700e2b4891677b7fcd30a699146f9384a2bb0"}, - {file = "kiwisolver-1.4.8-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:23454ff084b07ac54ca8be535f4174170c1094a4cff78fbae4f73a4bcc0d4dab"}, - {file = "kiwisolver-1.4.8-cp311-cp311-musllinux_1_2_i686.whl", hash = "sha256:87b287251ad6488e95b4f0b4a79a6d04d3ea35fde6340eb38fbd1ca9cd35bbbc"}, - {file = "kiwisolver-1.4.8-cp311-cp311-musllinux_1_2_ppc64le.whl", hash = "sha256:b21dbe165081142b1232a240fc6383fd32cdd877ca6cc89eab93e5f5883e1c25"}, - {file = "kiwisolver-1.4.8-cp311-cp311-musllinux_1_2_s390x.whl", hash = "sha256:768cade2c2df13db52475bd28d3a3fac8c9eff04b0e9e2fda0f3760f20b3f7fc"}, - {file = "kiwisolver-1.4.8-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:d47cfb2650f0e103d4bf68b0b5804c68da97272c84bb12850d877a95c056bd67"}, - {file = "kiwisolver-1.4.8-cp311-cp311-win_amd64.whl", hash = "sha256:ed33ca2002a779a2e20eeb06aea7721b6e47f2d4b8a8ece979d8ba9e2a167e34"}, - {file = "kiwisolver-1.4.8-cp311-cp311-win_arm64.whl", hash = "sha256:16523b40aab60426ffdebe33ac374457cf62863e330a90a0383639ce14bf44b2"}, - {file = "kiwisolver-1.4.8-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:d6af5e8815fd02997cb6ad9bbed0ee1e60014438ee1a5c2444c96f87b8843502"}, - {file = "kiwisolver-1.4.8-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:bade438f86e21d91e0cf5dd7c0ed00cda0f77c8c1616bd83f9fc157fa6760d31"}, - {file = "kiwisolver-1.4.8-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:b83dc6769ddbc57613280118fb4ce3cd08899cc3369f7d0e0fab518a7cf37fdb"}, - {file = "kiwisolver-1.4.8-cp312-cp312-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:111793b232842991be367ed828076b03d96202c19221b5ebab421ce8bcad016f"}, - {file = "kiwisolver-1.4.8-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:257af1622860e51b1a9d0ce387bf5c2c4f36a90594cb9514f55b074bcc787cfc"}, - {file = "kiwisolver-1.4.8-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:69b5637c3f316cab1ec1c9a12b8c5f4750a4c4b71af9157645bf32830e39c03a"}, - {file = "kiwisolver-1.4.8-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:782bb86f245ec18009890e7cb8d13a5ef54dcf2ebe18ed65f795e635a96a1c6a"}, - {file = "kiwisolver-1.4.8-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:cc978a80a0db3a66d25767b03688f1147a69e6237175c0f4ffffaaedf744055a"}, - {file = "kiwisolver-1.4.8-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:36dbbfd34838500a31f52c9786990d00150860e46cd5041386f217101350f0d3"}, - {file = "kiwisolver-1.4.8-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:eaa973f1e05131de5ff3569bbba7f5fd07ea0595d3870ed4a526d486fe57fa1b"}, - {file = "kiwisolver-1.4.8-cp312-cp312-musllinux_1_2_ppc64le.whl", hash = "sha256:a66f60f8d0c87ab7f59b6fb80e642ebb29fec354a4dfad687ca4092ae69d04f4"}, - {file = "kiwisolver-1.4.8-cp312-cp312-musllinux_1_2_s390x.whl", hash = "sha256:858416b7fb777a53f0c59ca08190ce24e9abbd3cffa18886a5781b8e3e26f65d"}, - {file = "kiwisolver-1.4.8-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:085940635c62697391baafaaeabdf3dd7a6c3643577dde337f4d66eba021b2b8"}, - {file = "kiwisolver-1.4.8-cp312-cp312-win_amd64.whl", hash = "sha256:01c3d31902c7db5fb6182832713d3b4122ad9317c2c5877d0539227d96bb2e50"}, - {file = "kiwisolver-1.4.8-cp312-cp312-win_arm64.whl", hash = "sha256:a3c44cb68861de93f0c4a8175fbaa691f0aa22550c331fefef02b618a9dcb476"}, - {file = "kiwisolver-1.4.8-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:1c8ceb754339793c24aee1c9fb2485b5b1f5bb1c2c214ff13368431e51fc9a09"}, - {file = "kiwisolver-1.4.8-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:54a62808ac74b5e55a04a408cda6156f986cefbcf0ada13572696b507cc92fa1"}, - {file = "kiwisolver-1.4.8-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:68269e60ee4929893aad82666821aaacbd455284124817af45c11e50a4b42e3c"}, - {file = "kiwisolver-1.4.8-cp313-cp313-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:34d142fba9c464bc3bbfeff15c96eab0e7310343d6aefb62a79d51421fcc5f1b"}, - {file = "kiwisolver-1.4.8-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:3ddc373e0eef45b59197de815b1b28ef89ae3955e7722cc9710fb91cd77b7f47"}, - {file = "kiwisolver-1.4.8-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:77e6f57a20b9bd4e1e2cedda4d0b986ebd0216236f0106e55c28aea3d3d69b16"}, - {file = "kiwisolver-1.4.8-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:08e77738ed7538f036cd1170cbed942ef749137b1311fa2bbe2a7fda2f6bf3cc"}, - {file = "kiwisolver-1.4.8-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:a5ce1e481a74b44dd5e92ff03ea0cb371ae7a0268318e202be06c8f04f4f1246"}, - {file = "kiwisolver-1.4.8-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:fc2ace710ba7c1dfd1a3b42530b62b9ceed115f19a1656adefce7b1782a37794"}, - {file = "kiwisolver-1.4.8-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:3452046c37c7692bd52b0e752b87954ef86ee2224e624ef7ce6cb21e8c41cc1b"}, - {file = "kiwisolver-1.4.8-cp313-cp313-musllinux_1_2_ppc64le.whl", hash = "sha256:7e9a60b50fe8b2ec6f448fe8d81b07e40141bfced7f896309df271a0b92f80f3"}, - {file = "kiwisolver-1.4.8-cp313-cp313-musllinux_1_2_s390x.whl", hash = "sha256:918139571133f366e8362fa4a297aeba86c7816b7ecf0bc79168080e2bd79957"}, - {file = "kiwisolver-1.4.8-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:e063ef9f89885a1d68dd8b2e18f5ead48653176d10a0e324e3b0030e3a69adeb"}, - {file = "kiwisolver-1.4.8-cp313-cp313-win_amd64.whl", hash = "sha256:a17b7c4f5b2c51bb68ed379defd608a03954a1845dfed7cc0117f1cc8a9b7fd2"}, - {file = "kiwisolver-1.4.8-cp313-cp313-win_arm64.whl", hash = "sha256:3cd3bc628b25f74aedc6d374d5babf0166a92ff1317f46267f12d2ed54bc1d30"}, - {file = "kiwisolver-1.4.8-cp313-cp313t-macosx_10_13_universal2.whl", hash = "sha256:370fd2df41660ed4e26b8c9d6bbcad668fbe2560462cba151a721d49e5b6628c"}, - {file = "kiwisolver-1.4.8-cp313-cp313t-macosx_10_13_x86_64.whl", hash = "sha256:84a2f830d42707de1d191b9490ac186bf7997a9495d4e9072210a1296345f7dc"}, - {file = "kiwisolver-1.4.8-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:7a3ad337add5148cf51ce0b55642dc551c0b9d6248458a757f98796ca7348712"}, - {file = "kiwisolver-1.4.8-cp313-cp313t-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:7506488470f41169b86d8c9aeff587293f530a23a23a49d6bc64dab66bedc71e"}, - {file = "kiwisolver-1.4.8-cp313-cp313t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:2f0121b07b356a22fb0414cec4666bbe36fd6d0d759db3d37228f496ed67c880"}, - {file = "kiwisolver-1.4.8-cp313-cp313t-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:d6d6bd87df62c27d4185de7c511c6248040afae67028a8a22012b010bc7ad062"}, - {file = "kiwisolver-1.4.8-cp313-cp313t-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:291331973c64bb9cce50bbe871fb2e675c4331dab4f31abe89f175ad7679a4d7"}, - {file = "kiwisolver-1.4.8-cp313-cp313t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:893f5525bb92d3d735878ec00f781b2de998333659507d29ea4466208df37bed"}, - {file = "kiwisolver-1.4.8-cp313-cp313t-musllinux_1_2_aarch64.whl", hash = "sha256:b47a465040146981dc9db8647981b8cb96366fbc8d452b031e4f8fdffec3f26d"}, - {file = "kiwisolver-1.4.8-cp313-cp313t-musllinux_1_2_i686.whl", hash = "sha256:99cea8b9dd34ff80c521aef46a1dddb0dcc0283cf18bde6d756f1e6f31772165"}, - {file = "kiwisolver-1.4.8-cp313-cp313t-musllinux_1_2_ppc64le.whl", hash = "sha256:151dffc4865e5fe6dafce5480fab84f950d14566c480c08a53c663a0020504b6"}, - {file = "kiwisolver-1.4.8-cp313-cp313t-musllinux_1_2_s390x.whl", hash = "sha256:577facaa411c10421314598b50413aa1ebcf5126f704f1e5d72d7e4e9f020d90"}, - {file = "kiwisolver-1.4.8-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:be4816dc51c8a471749d664161b434912eee82f2ea66bd7628bd14583a833e85"}, - {file = "kiwisolver-1.4.8-pp310-pypy310_pp73-macosx_10_15_x86_64.whl", hash = "sha256:e7a019419b7b510f0f7c9dceff8c5eae2392037eae483a7f9162625233802b0a"}, - {file = "kiwisolver-1.4.8-pp310-pypy310_pp73-macosx_11_0_arm64.whl", hash = "sha256:286b18e86682fd2217a48fc6be6b0f20c1d0ed10958d8dc53453ad58d7be0bf8"}, - {file = "kiwisolver-1.4.8-pp310-pypy310_pp73-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:4191ee8dfd0be1c3666ccbac178c5a05d5f8d689bbe3fc92f3c4abec817f8fe0"}, - {file = "kiwisolver-1.4.8-pp310-pypy310_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:7cd2785b9391f2873ad46088ed7599a6a71e762e1ea33e87514b1a441ed1da1c"}, - {file = "kiwisolver-1.4.8-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:c07b29089b7ba090b6f1a669f1411f27221c3662b3a1b7010e67b59bb5a6f10b"}, - {file = "kiwisolver-1.4.8-pp310-pypy310_pp73-win_amd64.whl", hash = "sha256:65ea09a5a3faadd59c2ce96dc7bf0f364986a315949dc6374f04396b0d60e09b"}, - {file = "kiwisolver-1.4.8.tar.gz", hash = "sha256:23d5f023bdc8c7e54eb65f03ca5d5bb25b601eac4d7f1a042888a1f45237987e"}, -] - [[package]] name = "markdown" version = "3.7" description = "Python implementation of John Gruber's Markdown." optional = false python-versions = ">=3.8" +groups = ["docs"] files = [ {file = "Markdown-3.7-py3-none-any.whl", hash = "sha256:7eb6df5690b81a1d7942992c97fad2938e956e79df20cbc6186e9c3a77b1c803"}, {file = "markdown-3.7.tar.gz", hash = "sha256:2ae2471477cfd02dbbf038d5d9bc226d40def84b4fe2986e49b59b6b472bbed2"}, @@ -2116,6 +1704,7 @@ version = "3.0.0" description = "Python port of markdown-it. Markdown parsing, done right!" optional = false python-versions = ">=3.8" +groups = ["build", "dev", "docs"] files = [ {file = "markdown-it-py-3.0.0.tar.gz", hash = "sha256:e3f60a94fa066dc52ec76661e37c851cb232d92f9886b15cb560aaada2df8feb"}, {file = "markdown_it_py-3.0.0-py3-none-any.whl", hash = "sha256:355216845c60bd96232cd8d8c40e8f9765cc86f46880e43a8fd22dc1a1a8cab1"}, @@ -2140,6 +1729,7 @@ version = "2.1.5" description = "Safely add untrusted strings to HTML/XML markup." optional = false python-versions = ">=3.7" +groups = ["dev", "docs"] files = [ {file = "MarkupSafe-2.1.5-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:a17a92de5231666cfbe003f0e4b9b3a7ae3afb1ec2845aadc2bacc93ff85febc"}, {file = "MarkupSafe-2.1.5-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:72b6be590cc35924b02c78ef34b467da4ba07e4e0f0454a2c5907f473fc50ce5"}, @@ -2203,202 +1793,13 @@ files = [ {file = "MarkupSafe-2.1.5.tar.gz", hash = "sha256:d283d37a890ba4c1ae73ffadf8046435c76e7bc2247bbb63c00bd1a709c6544b"}, ] -[[package]] -name = "matplotlib" -version = "3.7.5" -description = "Python plotting package" -optional = false -python-versions = ">=3.8" -files = [ - {file = "matplotlib-3.7.5-cp310-cp310-macosx_10_12_universal2.whl", hash = "sha256:4a87b69cb1cb20943010f63feb0b2901c17a3b435f75349fd9865713bfa63925"}, - {file = "matplotlib-3.7.5-cp310-cp310-macosx_10_12_x86_64.whl", hash = "sha256:d3ce45010fefb028359accebb852ca0c21bd77ec0f281952831d235228f15810"}, - {file = "matplotlib-3.7.5-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:fbea1e762b28400393d71be1a02144aa16692a3c4c676ba0178ce83fc2928fdd"}, - {file = "matplotlib-3.7.5-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:ec0e1adc0ad70ba8227e957551e25a9d2995e319c29f94a97575bb90fa1d4469"}, - {file = "matplotlib-3.7.5-cp310-cp310-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:6738c89a635ced486c8a20e20111d33f6398a9cbebce1ced59c211e12cd61455"}, - {file = "matplotlib-3.7.5-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:1210b7919b4ed94b5573870f316bca26de3e3b07ffdb563e79327dc0e6bba515"}, - {file = "matplotlib-3.7.5-cp310-cp310-win32.whl", hash = "sha256:068ebcc59c072781d9dcdb82f0d3f1458271c2de7ca9c78f5bd672141091e9e1"}, - {file = "matplotlib-3.7.5-cp310-cp310-win_amd64.whl", hash = "sha256:f098ffbaab9df1e3ef04e5a5586a1e6b1791380698e84938d8640961c79b1fc0"}, - {file = "matplotlib-3.7.5-cp311-cp311-macosx_10_12_universal2.whl", hash = "sha256:f65342c147572673f02a4abec2d5a23ad9c3898167df9b47c149f32ce61ca078"}, - {file = "matplotlib-3.7.5-cp311-cp311-macosx_10_12_x86_64.whl", hash = "sha256:4ddf7fc0e0dc553891a117aa083039088d8a07686d4c93fb8a810adca68810af"}, - {file = "matplotlib-3.7.5-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:0ccb830fc29442360d91be48527809f23a5dcaee8da5f4d9b2d5b867c1b087b8"}, - {file = "matplotlib-3.7.5-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:efc6bb28178e844d1f408dd4d6341ee8a2e906fc9e0fa3dae497da4e0cab775d"}, - {file = "matplotlib-3.7.5-cp311-cp311-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:3b15c4c2d374f249f324f46e883340d494c01768dd5287f8bc00b65b625ab56c"}, - {file = "matplotlib-3.7.5-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:3d028555421912307845e59e3de328260b26d055c5dac9b182cc9783854e98fb"}, - {file = "matplotlib-3.7.5-cp311-cp311-win32.whl", hash = "sha256:fe184b4625b4052fa88ef350b815559dd90cc6cc8e97b62f966e1ca84074aafa"}, - {file = "matplotlib-3.7.5-cp311-cp311-win_amd64.whl", hash = "sha256:084f1f0f2f1010868c6f1f50b4e1c6f2fb201c58475494f1e5b66fed66093647"}, - {file = "matplotlib-3.7.5-cp312-cp312-macosx_10_12_universal2.whl", hash = "sha256:34bceb9d8ddb142055ff27cd7135f539f2f01be2ce0bafbace4117abe58f8fe4"}, - {file = "matplotlib-3.7.5-cp312-cp312-macosx_10_12_x86_64.whl", hash = "sha256:c5a2134162273eb8cdfd320ae907bf84d171de948e62180fa372a3ca7cf0f433"}, - {file = "matplotlib-3.7.5-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:039ad54683a814002ff37bf7981aa1faa40b91f4ff84149beb53d1eb64617980"}, - {file = "matplotlib-3.7.5-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:4d742ccd1b09e863b4ca58291728db645b51dab343eebb08d5d4b31b308296ce"}, - {file = "matplotlib-3.7.5-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:743b1c488ca6a2bc7f56079d282e44d236bf375968bfd1b7ba701fd4d0fa32d6"}, - {file = "matplotlib-3.7.5-cp312-cp312-win_amd64.whl", hash = "sha256:fbf730fca3e1f23713bc1fae0a57db386e39dc81ea57dc305c67f628c1d7a342"}, - {file = "matplotlib-3.7.5-cp38-cp38-macosx_10_12_universal2.whl", hash = "sha256:cfff9b838531698ee40e40ea1a8a9dc2c01edb400b27d38de6ba44c1f9a8e3d2"}, - {file = "matplotlib-3.7.5-cp38-cp38-macosx_10_12_x86_64.whl", hash = "sha256:1dbcca4508bca7847fe2d64a05b237a3dcaec1f959aedb756d5b1c67b770c5ee"}, - {file = "matplotlib-3.7.5-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:4cdf4ef46c2a1609a50411b66940b31778db1e4b73d4ecc2eaa40bd588979b13"}, - {file = "matplotlib-3.7.5-cp38-cp38-manylinux_2_12_i686.manylinux2010_i686.whl", hash = "sha256:167200ccfefd1674b60e957186dfd9baf58b324562ad1a28e5d0a6b3bea77905"}, - {file = "matplotlib-3.7.5-cp38-cp38-manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:53e64522934df6e1818b25fd48cf3b645b11740d78e6ef765fbb5fa5ce080d02"}, - {file = "matplotlib-3.7.5-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d3e3bc79b2d7d615067bd010caff9243ead1fc95cf735c16e4b2583173f717eb"}, - {file = "matplotlib-3.7.5-cp38-cp38-win32.whl", hash = "sha256:6b641b48c6819726ed47c55835cdd330e53747d4efff574109fd79b2d8a13748"}, - {file = "matplotlib-3.7.5-cp38-cp38-win_amd64.whl", hash = "sha256:f0b60993ed3488b4532ec6b697059897891927cbfc2b8d458a891b60ec03d9d7"}, - {file = "matplotlib-3.7.5-cp39-cp39-macosx_10_12_universal2.whl", hash = "sha256:090964d0afaff9c90e4d8de7836757e72ecfb252fb02884016d809239f715651"}, - {file = "matplotlib-3.7.5-cp39-cp39-macosx_10_12_x86_64.whl", hash = "sha256:9fc6fcfbc55cd719bc0bfa60bde248eb68cf43876d4c22864603bdd23962ba25"}, - {file = "matplotlib-3.7.5-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:5e7cc3078b019bb863752b8b60e8b269423000f1603cb2299608231996bd9d54"}, - {file = "matplotlib-3.7.5-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:1e4e9a868e8163abaaa8259842d85f949a919e1ead17644fb77a60427c90473c"}, - {file = "matplotlib-3.7.5-cp39-cp39-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:fa7ebc995a7d747dacf0a717d0eb3aa0f0c6a0e9ea88b0194d3a3cd241a1500f"}, - {file = "matplotlib-3.7.5-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:3785bfd83b05fc0e0c2ae4c4a90034fe693ef96c679634756c50fe6efcc09856"}, - {file = "matplotlib-3.7.5-cp39-cp39-win32.whl", hash = "sha256:29b058738c104d0ca8806395f1c9089dfe4d4f0f78ea765c6c704469f3fffc81"}, - {file = "matplotlib-3.7.5-cp39-cp39-win_amd64.whl", hash = "sha256:fd4028d570fa4b31b7b165d4a685942ae9cdc669f33741e388c01857d9723eab"}, - {file = "matplotlib-3.7.5-pp38-pypy38_pp73-macosx_10_12_x86_64.whl", hash = "sha256:2a9a3f4d6a7f88a62a6a18c7e6a84aedcaf4faf0708b4ca46d87b19f1b526f88"}, - {file = "matplotlib-3.7.5-pp38-pypy38_pp73-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:b9b3fd853d4a7f008a938df909b96db0b454225f935d3917520305b90680579c"}, - {file = "matplotlib-3.7.5-pp38-pypy38_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f0ad550da9f160737d7890217c5eeed4337d07e83ca1b2ca6535078f354e7675"}, - {file = "matplotlib-3.7.5-pp38-pypy38_pp73-win_amd64.whl", hash = "sha256:20da7924a08306a861b3f2d1da0d1aa9a6678e480cf8eacffe18b565af2813e7"}, - {file = "matplotlib-3.7.5-pp39-pypy39_pp73-macosx_10_12_x86_64.whl", hash = "sha256:b45c9798ea6bb920cb77eb7306409756a7fab9db9b463e462618e0559aecb30e"}, - {file = "matplotlib-3.7.5-pp39-pypy39_pp73-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:a99866267da1e561c7776fe12bf4442174b79aac1a47bd7e627c7e4d077ebd83"}, - {file = "matplotlib-3.7.5-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:2b6aa62adb6c268fc87d80f963aca39c64615c31830b02697743c95590ce3fbb"}, - {file = "matplotlib-3.7.5-pp39-pypy39_pp73-win_amd64.whl", hash = "sha256:e530ab6a0afd082d2e9c17eb1eb064a63c5b09bb607b2b74fa41adbe3e162286"}, - {file = "matplotlib-3.7.5.tar.gz", hash = "sha256:1e5c971558ebc811aa07f54c7b7c677d78aa518ef4c390e14673a09e0860184a"}, -] - -[package.dependencies] -contourpy = ">=1.0.1" -cycler = ">=0.10" -fonttools = ">=4.22.0" -importlib-resources = {version = ">=3.2.0", markers = "python_version < \"3.10\""} -kiwisolver = ">=1.0.1" -numpy = ">=1.20,<2" -packaging = ">=20.0" -pillow = ">=6.2.0" -pyparsing = ">=2.3.1" -python-dateutil = ">=2.7" - -[[package]] -name = "matplotlib" -version = "3.9.4" -description = "Python plotting package" -optional = false -python-versions = ">=3.9" -files = [ - {file = "matplotlib-3.9.4-cp310-cp310-macosx_10_12_x86_64.whl", hash = "sha256:c5fdd7abfb706dfa8d307af64a87f1a862879ec3cd8d0ec8637458f0885b9c50"}, - {file = "matplotlib-3.9.4-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:d89bc4e85e40a71d1477780366c27fb7c6494d293e1617788986f74e2a03d7ff"}, - {file = "matplotlib-3.9.4-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:ddf9f3c26aae695c5daafbf6b94e4c1a30d6cd617ba594bbbded3b33a1fcfa26"}, - {file = "matplotlib-3.9.4-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:18ebcf248030173b59a868fda1fe42397253f6698995b55e81e1f57431d85e50"}, - {file = "matplotlib-3.9.4-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:974896ec43c672ec23f3f8c648981e8bc880ee163146e0312a9b8def2fac66f5"}, - {file = "matplotlib-3.9.4-cp310-cp310-win_amd64.whl", hash = "sha256:4598c394ae9711cec135639374e70871fa36b56afae17bdf032a345be552a88d"}, - {file = "matplotlib-3.9.4-cp311-cp311-macosx_10_12_x86_64.whl", hash = "sha256:d4dd29641d9fb8bc4492420c5480398dd40a09afd73aebe4eb9d0071a05fbe0c"}, - {file = "matplotlib-3.9.4-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:30e5b22e8bcfb95442bf7d48b0d7f3bdf4a450cbf68986ea45fca3d11ae9d099"}, - {file = "matplotlib-3.9.4-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:2bb0030d1d447fd56dcc23b4c64a26e44e898f0416276cac1ebc25522e0ac249"}, - {file = "matplotlib-3.9.4-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:aca90ed222ac3565d2752b83dbb27627480d27662671e4d39da72e97f657a423"}, - {file = "matplotlib-3.9.4-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:a181b2aa2906c608fcae72f977a4a2d76e385578939891b91c2550c39ecf361e"}, - {file = "matplotlib-3.9.4-cp311-cp311-win_amd64.whl", hash = "sha256:1f6882828231eca17f501c4dcd98a05abb3f03d157fbc0769c6911fe08b6cfd3"}, - {file = "matplotlib-3.9.4-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:dfc48d67e6661378a21c2983200a654b72b5c5cdbd5d2cf6e5e1ece860f0cc70"}, - {file = "matplotlib-3.9.4-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:47aef0fab8332d02d68e786eba8113ffd6f862182ea2999379dec9e237b7e483"}, - {file = "matplotlib-3.9.4-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:fba1f52c6b7dc764097f52fd9ab627b90db452c9feb653a59945de16752e965f"}, - {file = "matplotlib-3.9.4-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:173ac3748acaac21afcc3fa1633924609ba1b87749006bc25051c52c422a5d00"}, - {file = "matplotlib-3.9.4-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:320edea0cadc07007765e33f878b13b3738ffa9745c5f707705692df70ffe0e0"}, - {file = "matplotlib-3.9.4-cp312-cp312-win_amd64.whl", hash = "sha256:a4a4cfc82330b27042a7169533da7991e8789d180dd5b3daeaee57d75cd5a03b"}, - {file = "matplotlib-3.9.4-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:37eeffeeca3c940985b80f5b9a7b95ea35671e0e7405001f249848d2b62351b6"}, - {file = "matplotlib-3.9.4-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:3e7465ac859ee4abcb0d836137cd8414e7bb7ad330d905abced457217d4f0f45"}, - {file = "matplotlib-3.9.4-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:f4c12302c34afa0cf061bea23b331e747e5e554b0fa595c96e01c7b75bc3b858"}, - {file = "matplotlib-3.9.4-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:2b8c97917f21b75e72108b97707ba3d48f171541a74aa2a56df7a40626bafc64"}, - {file = "matplotlib-3.9.4-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:0229803bd7e19271b03cb09f27db76c918c467aa4ce2ae168171bc67c3f508df"}, - {file = "matplotlib-3.9.4-cp313-cp313-win_amd64.whl", hash = "sha256:7c0d8ef442ebf56ff5e206f8083d08252ee738e04f3dc88ea882853a05488799"}, - {file = "matplotlib-3.9.4-cp313-cp313t-macosx_10_13_x86_64.whl", hash = "sha256:a04c3b00066a688834356d196136349cb32f5e1003c55ac419e91585168b88fb"}, - {file = "matplotlib-3.9.4-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:04c519587f6c210626741a1e9a68eefc05966ede24205db8982841826af5871a"}, - {file = "matplotlib-3.9.4-cp313-cp313t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:308afbf1a228b8b525fcd5cec17f246bbbb63b175a3ef6eb7b4d33287ca0cf0c"}, - {file = "matplotlib-3.9.4-cp313-cp313t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ddb3b02246ddcffd3ce98e88fed5b238bc5faff10dbbaa42090ea13241d15764"}, - {file = "matplotlib-3.9.4-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:8a75287e9cb9eee48cb79ec1d806f75b29c0fde978cb7223a1f4c5848d696041"}, - {file = "matplotlib-3.9.4-cp313-cp313t-win_amd64.whl", hash = "sha256:488deb7af140f0ba86da003e66e10d55ff915e152c78b4b66d231638400b1965"}, - {file = "matplotlib-3.9.4-cp39-cp39-macosx_10_12_x86_64.whl", hash = "sha256:3c3724d89a387ddf78ff88d2a30ca78ac2b4c89cf37f2db4bd453c34799e933c"}, - {file = "matplotlib-3.9.4-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:d5f0a8430ffe23d7e32cfd86445864ccad141797f7d25b7c41759a5b5d17cfd7"}, - {file = "matplotlib-3.9.4-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:6bb0141a21aef3b64b633dc4d16cbd5fc538b727e4958be82a0e1c92a234160e"}, - {file = "matplotlib-3.9.4-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:57aa235109e9eed52e2c2949db17da185383fa71083c00c6c143a60e07e0888c"}, - {file = "matplotlib-3.9.4-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:b18c600061477ccfdd1e6fd050c33d8be82431700f3452b297a56d9ed7037abb"}, - {file = "matplotlib-3.9.4-cp39-cp39-win_amd64.whl", hash = "sha256:ef5f2d1b67d2d2145ff75e10f8c008bfbf71d45137c4b648c87193e7dd053eac"}, - {file = "matplotlib-3.9.4-pp39-pypy39_pp73-macosx_10_15_x86_64.whl", hash = "sha256:44e0ed786d769d85bc787b0606a53f2d8d2d1d3c8a2608237365e9121c1a338c"}, - {file = "matplotlib-3.9.4-pp39-pypy39_pp73-macosx_11_0_arm64.whl", hash = "sha256:09debb9ce941eb23ecdbe7eab972b1c3e0276dcf01688073faff7b0f61d6c6ca"}, - {file = "matplotlib-3.9.4-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:bcc53cf157a657bfd03afab14774d54ba73aa84d42cfe2480c91bd94873952db"}, - {file = "matplotlib-3.9.4-pp39-pypy39_pp73-win_amd64.whl", hash = "sha256:ad45da51be7ad02387801fd154ef74d942f49fe3fcd26a64c94842ba7ec0d865"}, - {file = "matplotlib-3.9.4.tar.gz", hash = "sha256:1e00e8be7393cbdc6fedfa8a6fba02cf3e83814b285db1c60b906a023ba41bc3"}, -] - -[package.dependencies] -contourpy = ">=1.0.1" -cycler = ">=0.10" -fonttools = ">=4.22.0" -importlib-resources = {version = ">=3.2.0", markers = "python_version < \"3.10\""} -kiwisolver = ">=1.3.1" -numpy = ">=1.23" -packaging = ">=20.0" -pillow = ">=8" -pyparsing = ">=2.3.1" -python-dateutil = ">=2.7" - -[package.extras] -dev = ["meson-python (>=0.13.1,<0.17.0)", "numpy (>=1.25)", "pybind11 (>=2.6,!=2.13.3)", "setuptools (>=64)", "setuptools_scm (>=7)"] - -[[package]] -name = "matplotlib" -version = "3.10.0" -description = "Python plotting package" -optional = false -python-versions = ">=3.10" -files = [ - {file = "matplotlib-3.10.0-cp310-cp310-macosx_10_12_x86_64.whl", hash = "sha256:2c5829a5a1dd5a71f0e31e6e8bb449bc0ee9dbfb05ad28fc0c6b55101b3a4be6"}, - {file = "matplotlib-3.10.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:a2a43cbefe22d653ab34bb55d42384ed30f611bcbdea1f8d7f431011a2e1c62e"}, - {file = "matplotlib-3.10.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:607b16c8a73943df110f99ee2e940b8a1cbf9714b65307c040d422558397dac5"}, - {file = "matplotlib-3.10.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:01d2b19f13aeec2e759414d3bfe19ddfb16b13a1250add08d46d5ff6f9be83c6"}, - {file = "matplotlib-3.10.0-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:5e6c6461e1fc63df30bf6f80f0b93f5b6784299f721bc28530477acd51bfc3d1"}, - {file = "matplotlib-3.10.0-cp310-cp310-win_amd64.whl", hash = "sha256:994c07b9d9fe8d25951e3202a68c17900679274dadfc1248738dcfa1bd40d7f3"}, - {file = "matplotlib-3.10.0-cp311-cp311-macosx_10_12_x86_64.whl", hash = "sha256:fd44fc75522f58612ec4a33958a7e5552562b7705b42ef1b4f8c0818e304a363"}, - {file = "matplotlib-3.10.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:c58a9622d5dbeb668f407f35f4e6bfac34bb9ecdcc81680c04d0258169747997"}, - {file = "matplotlib-3.10.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:845d96568ec873be63f25fa80e9e7fae4be854a66a7e2f0c8ccc99e94a8bd4ef"}, - {file = "matplotlib-3.10.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:5439f4c5a3e2e8eab18e2f8c3ef929772fd5641876db71f08127eed95ab64683"}, - {file = "matplotlib-3.10.0-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:4673ff67a36152c48ddeaf1135e74ce0d4bce1bbf836ae40ed39c29edf7e2765"}, - {file = "matplotlib-3.10.0-cp311-cp311-win_amd64.whl", hash = "sha256:7e8632baebb058555ac0cde75db885c61f1212e47723d63921879806b40bec6a"}, - {file = "matplotlib-3.10.0-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:4659665bc7c9b58f8c00317c3c2a299f7f258eeae5a5d56b4c64226fca2f7c59"}, - {file = "matplotlib-3.10.0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:d44cb942af1693cced2604c33a9abcef6205601c445f6d0dc531d813af8a2f5a"}, - {file = "matplotlib-3.10.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a994f29e968ca002b50982b27168addfd65f0105610b6be7fa515ca4b5307c95"}, - {file = "matplotlib-3.10.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:9b0558bae37f154fffda54d779a592bc97ca8b4701f1c710055b609a3bac44c8"}, - {file = "matplotlib-3.10.0-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:503feb23bd8c8acc75541548a1d709c059b7184cde26314896e10a9f14df5f12"}, - {file = "matplotlib-3.10.0-cp312-cp312-win_amd64.whl", hash = "sha256:c40ba2eb08b3f5de88152c2333c58cee7edcead0a2a0d60fcafa116b17117adc"}, - {file = "matplotlib-3.10.0-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:96f2886f5c1e466f21cc41b70c5a0cd47bfa0015eb2d5793c88ebce658600e25"}, - {file = "matplotlib-3.10.0-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:12eaf48463b472c3c0f8dbacdbf906e573013df81a0ab82f0616ea4b11281908"}, - {file = "matplotlib-3.10.0-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:2fbbabc82fde51391c4da5006f965e36d86d95f6ee83fb594b279564a4c5d0d2"}, - {file = "matplotlib-3.10.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ad2e15300530c1a94c63cfa546e3b7864bd18ea2901317bae8bbf06a5ade6dcf"}, - {file = "matplotlib-3.10.0-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:3547d153d70233a8496859097ef0312212e2689cdf8d7ed764441c77604095ae"}, - {file = "matplotlib-3.10.0-cp313-cp313-win_amd64.whl", hash = "sha256:c55b20591ced744aa04e8c3e4b7543ea4d650b6c3c4b208c08a05b4010e8b442"}, - {file = "matplotlib-3.10.0-cp313-cp313t-macosx_10_13_x86_64.whl", hash = "sha256:9ade1003376731a971e398cc4ef38bb83ee8caf0aee46ac6daa4b0506db1fd06"}, - {file = "matplotlib-3.10.0-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:95b710fea129c76d30be72c3b38f330269363fbc6e570a5dd43580487380b5ff"}, - {file = "matplotlib-3.10.0-cp313-cp313t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:5cdbaf909887373c3e094b0318d7ff230b2ad9dcb64da7ade654182872ab2593"}, - {file = "matplotlib-3.10.0-cp313-cp313t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:d907fddb39f923d011875452ff1eca29a9e7f21722b873e90db32e5d8ddff12e"}, - {file = "matplotlib-3.10.0-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:3b427392354d10975c1d0f4ee18aa5844640b512d5311ef32efd4dd7db106ede"}, - {file = "matplotlib-3.10.0-cp313-cp313t-win_amd64.whl", hash = "sha256:5fd41b0ec7ee45cd960a8e71aea7c946a28a0b8a4dcee47d2856b2af051f334c"}, - {file = "matplotlib-3.10.0-pp310-pypy310_pp73-macosx_10_15_x86_64.whl", hash = "sha256:81713dd0d103b379de4516b861d964b1d789a144103277769238c732229d7f03"}, - {file = "matplotlib-3.10.0-pp310-pypy310_pp73-macosx_11_0_arm64.whl", hash = "sha256:359f87baedb1f836ce307f0e850d12bb5f1936f70d035561f90d41d305fdacea"}, - {file = "matplotlib-3.10.0-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ae80dc3a4add4665cf2faa90138384a7ffe2a4e37c58d83e115b54287c4f06ef"}, - {file = "matplotlib-3.10.0.tar.gz", hash = "sha256:b886d02a581b96704c9d1ffe55709e49b4d2d52709ccebc4be42db856e511278"}, -] - -[package.dependencies] -contourpy = ">=1.0.1" -cycler = ">=0.10" -fonttools = ">=4.22.0" -kiwisolver = ">=1.3.1" -numpy = ">=1.23" -packaging = ">=20.0" -pillow = ">=8" -pyparsing = ">=2.3.1" -python-dateutil = ">=2.7" - -[package.extras] -dev = ["meson-python (>=0.13.1,<0.17.0)", "pybind11 (>=2.13.2,!=2.13.3)", "setuptools (>=64)", "setuptools_scm (>=7)"] - [[package]] name = "matplotlib-inline" version = "0.1.7" description = "Inline Matplotlib backend for Jupyter" optional = false python-versions = ">=3.8" +groups = ["dev", "docs"] files = [ {file = "matplotlib_inline-0.1.7-py3-none-any.whl", hash = "sha256:df192d39a4ff8f21b1895d72e6a13f5fcc5099f00fa84384e0ea28c2cc0653ca"}, {file = "matplotlib_inline-0.1.7.tar.gz", hash = "sha256:8423b23ec666be3d16e16b60bdd8ac4e86e840ebd1dd11a30b9f117f2fa0ab90"}, @@ -2413,6 +1814,7 @@ version = "0.4.2" description = "Collection of plugins for markdown-it-py" optional = false python-versions = ">=3.8" +groups = ["dev", "docs"] files = [ {file = "mdit_py_plugins-0.4.2-py3-none-any.whl", hash = "sha256:0c673c3f889399a33b95e88d2f0d111b4447bdfea7f237dab2d488f459835636"}, {file = "mdit_py_plugins-0.4.2.tar.gz", hash = "sha256:5f2cd1fdb606ddf152d37ec30e46101a60512bc0e5fa1a7002c36647b09e26b5"}, @@ -2432,6 +1834,7 @@ version = "0.1.2" description = "Markdown URL utilities" optional = false python-versions = ">=3.7" +groups = ["build", "dev", "docs"] files = [ {file = "mdurl-0.1.2-py3-none-any.whl", hash = "sha256:84008a41e51615a49fc9966191ff91509e3c40b939176e643fd50a5c2196b8f8"}, {file = "mdurl-0.1.2.tar.gz", hash = "sha256:bb413d29f5eea38f31dd4754dd7377d4465116fb207585f97bf925588687c1ba"}, @@ -2443,6 +1846,7 @@ version = "1.3.4" description = "A deep merge function for 🐍." optional = false python-versions = ">=3.6" +groups = ["docs"] files = [ {file = "mergedeep-1.3.4-py3-none-any.whl", hash = "sha256:70775750742b25c0d8f36c55aed03d24c3384d17c951b3175d898bd778ef0307"}, {file = "mergedeep-1.3.4.tar.gz", hash = "sha256:0096d52e9dad9939c3d975a774666af186eda617e6ca84df4c94dec30004f2a8"}, @@ -2454,6 +1858,7 @@ version = "2.1.3" description = "Manage multiple versions of your MkDocs-powered documentation" optional = false python-versions = "*" +groups = ["docs"] files = [ {file = "mike-2.1.3-py3-none-any.whl", hash = "sha256:d90c64077e84f06272437b464735130d380703a76a5738b152932884c60c062a"}, {file = "mike-2.1.3.tar.gz", hash = "sha256:abd79b8ea483fb0275b7972825d3082e5ae67a41820f8d8a0dc7a3f49944e810"}, @@ -2479,6 +1884,7 @@ version = "3.1.0" description = "A sane and fast Markdown parser with useful plugins and renderers" optional = false python-versions = ">=3.8" +groups = ["dev", "docs"] files = [ {file = "mistune-3.1.0-py3-none-any.whl", hash = "sha256:b05198cf6d671b3deba6c87ec6cf0d4eb7b72c524636eddb6dbf13823b52cee1"}, {file = "mistune-3.1.0.tar.gz", hash = "sha256:dbcac2f78292b9dc066cd03b7a3a26b62d85f8159f2ea5fd28e55df79908d667"}, @@ -2493,6 +1899,7 @@ version = "1.6.1" description = "Project documentation with Markdown." optional = false python-versions = ">=3.8" +groups = ["docs"] files = [ {file = "mkdocs-1.6.1-py3-none-any.whl", hash = "sha256:db91759624d1647f3f34aa0c3f327dd2601beae39a366d6e064c03468d35c20e"}, {file = "mkdocs-1.6.1.tar.gz", hash = "sha256:7b432f01d928c084353ab39c57282f29f92136665bdd6abf7c1ec8d822ef86f2"}, @@ -2524,6 +1931,7 @@ version = "1.2.0" description = "Automatically link across pages in MkDocs." optional = false python-versions = ">=3.8" +groups = ["docs"] files = [ {file = "mkdocs_autorefs-1.2.0-py3-none-any.whl", hash = "sha256:d588754ae89bd0ced0c70c06f58566a4ee43471eeeee5202427da7de9ef85a2f"}, {file = "mkdocs_autorefs-1.2.0.tar.gz", hash = "sha256:a86b93abff653521bda71cf3fc5596342b7a23982093915cb74273f67522190f"}, @@ -2540,6 +1948,7 @@ version = "0.2.0" description = "MkDocs extension that lists all dependencies according to a mkdocs.yml file" optional = false python-versions = ">=3.8" +groups = ["docs"] files = [ {file = "mkdocs_get_deps-0.2.0-py3-none-any.whl", hash = "sha256:2bf11d0b133e77a0dd036abeeb06dec8775e46efa526dc70667d8863eefc6134"}, {file = "mkdocs_get_deps-0.2.0.tar.gz", hash = "sha256:162b3d129c7fad9b19abfdcb9c1458a651628e4b1dea628ac68790fb3061c60c"}, @@ -2557,6 +1966,7 @@ version = "2.4.1" description = "An MkDocs plugin to create a list of contributors on the page. The git-committers plugin will seed the template context with a list of GitHub or GitLab committers and other useful GIT info such as last modified date" optional = false python-versions = "<4,>=3.8" +groups = ["docs"] files = [ {file = "mkdocs_git_committers_plugin_2-2.4.1-py3-none-any.whl", hash = "sha256:ec9c1d81445606c471337d1c4a1782c643b7377077b545279dc18b86b7362c6d"}, {file = "mkdocs_git_committers_plugin_2-2.4.1.tar.gz", hash = "sha256:ea1f80a79cedc42289e0b8e973276df04fb94f56e0ae3efc5385fb28547cf5cb"}, @@ -2573,6 +1983,7 @@ version = "1.3.0" description = "Mkdocs plugin that enables displaying the localized date of the last git modification of a markdown file." optional = false python-versions = ">=3.8" +groups = ["docs"] files = [ {file = "mkdocs_git_revision_date_localized_plugin-1.3.0-py3-none-any.whl", hash = "sha256:c99377ee119372d57a9e47cff4e68f04cce634a74831c06bc89b33e456e840a1"}, {file = "mkdocs_git_revision_date_localized_plugin-1.3.0.tar.gz", hash = "sha256:439e2f14582204050a664c258861c325064d97cdc848c541e48bb034a6c4d0cb"}, @@ -2595,6 +2006,7 @@ version = "0.24.8" description = "Use Jupyter in mkdocs websites" optional = false python-versions = ">=3.8" +groups = ["docs"] files = [ {file = "mkdocs_jupyter-0.24.8-py3-none-any.whl", hash = "sha256:36438a0a653eee2c27c6a8f7006e645f18693699c9b8ac44ffde830ddb08fa16"}, {file = "mkdocs_jupyter-0.24.8.tar.gz", hash = "sha256:09a762f484d540d9c0e944d34b28cb536a32869e224b460e2fc791b143f76940"}, @@ -2614,6 +2026,7 @@ version = "9.5.49" description = "Documentation that simply works" optional = false python-versions = ">=3.8" +groups = ["docs"] files = [ {file = "mkdocs_material-9.5.49-py3-none-any.whl", hash = "sha256:c3c2d8176b18198435d3a3e119011922f3e11424074645c24019c2dcf08a360e"}, {file = "mkdocs_material-9.5.49.tar.gz", hash = "sha256:3671bb282b4f53a1c72e08adbe04d2481a98f85fed392530051f80ff94a9621d"}, @@ -2645,6 +2058,7 @@ version = "1.3.1" description = "Extension pack for Python Markdown and MkDocs Material." optional = false python-versions = ">=3.8" +groups = ["docs"] files = [ {file = "mkdocs_material_extensions-1.3.1-py3-none-any.whl", hash = "sha256:adff8b62700b25cb77b53358dad940f3ef973dd6db797907c49e3c2ef3ab4e31"}, {file = "mkdocs_material_extensions-1.3.1.tar.gz", hash = "sha256:10c9511cea88f568257f960358a467d12b970e1f7b2c0e5fb2bb48cab1928443"}, @@ -2656,6 +2070,7 @@ version = "0.26.1" description = "Automatic documentation from sources, for MkDocs." optional = false python-versions = ">=3.8" +groups = ["docs"] files = [ {file = "mkdocstrings-0.26.1-py3-none-any.whl", hash = "sha256:29738bfb72b4608e8e55cc50fb8a54f325dc7ebd2014e4e3881a49892d5983cf"}, {file = "mkdocstrings-0.26.1.tar.gz", hash = "sha256:bb8b8854d6713d5348ad05b069a09f3b79edbc6a0f33a34c6821141adb03fe33"}, @@ -2684,6 +2099,7 @@ version = "1.11.1" description = "A Python handler for mkdocstrings." optional = false python-versions = ">=3.8" +groups = ["docs"] files = [ {file = "mkdocstrings_python-1.11.1-py3-none-any.whl", hash = "sha256:a21a1c05acef129a618517bb5aae3e33114f569b11588b1e7af3e9d4061a71af"}, {file = "mkdocstrings_python-1.11.1.tar.gz", hash = "sha256:8824b115c5359304ab0b5378a91f6202324a849e1da907a3485b59208b797322"}, @@ -2700,6 +2116,8 @@ version = "10.5.0" description = "More routines for operating on iterables, beyond itertools" optional = false python-versions = ">=3.8" +groups = ["build", "dev"] +markers = "platform_machine != \"ppc64le\" and platform_machine != \"s390x\"" files = [ {file = "more-itertools-10.5.0.tar.gz", hash = "sha256:5482bfef7849c25dc3c6dd53a6173ae4795da2a41a80faea6700d9f5846c5da6"}, {file = "more_itertools-10.5.0-py3-none-any.whl", hash = "sha256:037b0d3203ce90cca8ab1defbbdac29d5f993fc20131f3664dc8d6acfa872aef"}, @@ -2711,6 +2129,7 @@ version = "1.14.1" description = "Optional static typing for Python" optional = false python-versions = ">=3.8" +groups = ["dev"] files = [ {file = "mypy-1.14.1-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:52686e37cf13d559f668aa398dd7ddf1f92c5d613e4f8cb262be2fb4fedb0fcb"}, {file = "mypy-1.14.1-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:1fb545ca340537d4b45d3eecdb3def05e913299ca72c290326be19b3804b39c0"}, @@ -2770,6 +2189,7 @@ version = "1.0.0" description = "Type system extensions for programs checked with the mypy type checker." optional = false python-versions = ">=3.5" +groups = ["dev"] files = [ {file = "mypy_extensions-1.0.0-py3-none-any.whl", hash = "sha256:4392f6c0eb8a5668a69e23d168ffa70f0be9ccfd32b5cc2d26a34ae5b844552d"}, {file = "mypy_extensions-1.0.0.tar.gz", hash = "sha256:75dbf8955dc00442a438fc4d0666508a9a97b6bd41aa2f0ffe9d2f2725af0782"}, @@ -2781,6 +2201,7 @@ version = "0.10.1" description = "A client library for executing notebooks. Formerly nbconvert's ExecutePreprocessor." optional = false python-versions = ">=3.8.0" +groups = ["dev", "docs"] files = [ {file = "nbclient-0.10.1-py3-none-any.whl", hash = "sha256:949019b9240d66897e442888cfb618f69ef23dc71c01cb5fced8499c2cfc084d"}, {file = "nbclient-0.10.1.tar.gz", hash = "sha256:3e93e348ab27e712acd46fccd809139e356eb9a31aab641d1a7991a6eb4e6f68"}, @@ -2803,6 +2224,7 @@ version = "7.16.5" description = "Converting Jupyter Notebooks (.ipynb files) to other formats. Output formats include asciidoc, html, latex, markdown, pdf, py, rst, script. nbconvert can be used both as a Python library (`import nbconvert`) or as a command line tool (invoked as `jupyter nbconvert ...`)." optional = false python-versions = ">=3.8" +groups = ["dev", "docs"] files = [ {file = "nbconvert-7.16.5-py3-none-any.whl", hash = "sha256:e12eac052d6fd03040af4166c563d76e7aeead2e9aadf5356db552a1784bd547"}, {file = "nbconvert-7.16.5.tar.gz", hash = "sha256:c83467bb5777fdfaac5ebbb8e864f300b277f68692ecc04d6dab72f2d8442344"}, @@ -2840,6 +2262,7 @@ version = "5.10.4" description = "The Jupyter Notebook format" optional = false python-versions = ">=3.8" +groups = ["dev", "docs"] files = [ {file = "nbformat-5.10.4-py3-none-any.whl", hash = "sha256:3b48d6c8fbca4b299bf3982ea7db1af21580e4fec269ad087b9e81588891200b"}, {file = "nbformat-5.10.4.tar.gz", hash = "sha256:322168b14f937a5d11362988ecac2a4952d3d8e3a2cbeb2319584631226d5b3a"}, @@ -2861,6 +2284,7 @@ version = "1.6.0" description = "Patch asyncio to allow nested event loops" optional = false python-versions = ">=3.5" +groups = ["dev", "docs"] files = [ {file = "nest_asyncio-1.6.0-py3-none-any.whl", hash = "sha256:87af6efd6b5e897c81050477ef65c62e2b2f35d51703cae01aff2905b1852e1c"}, {file = "nest_asyncio-1.6.0.tar.gz", hash = "sha256:6f172d5449aca15afd6c646851f4e31e02c598d553a667e38cafa997cfec55fe"}, @@ -2872,6 +2296,7 @@ version = "0.2.20" description = "Python binding to Ammonia HTML sanitizer Rust crate" optional = false python-versions = ">=3.8" +groups = ["build", "dev"] files = [ {file = "nh3-0.2.20-cp313-cp313t-macosx_10_12_x86_64.macosx_11_0_arm64.macosx_10_12_universal2.whl", hash = "sha256:e1061a4ab6681f6bdf72b110eea0c4e1379d57c9de937db3be4202f7ad6043db"}, {file = "nh3-0.2.20-cp313-cp313t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:eb4254b1dac4a1ee49919a5b3f1caf9803ea8dada1816d9e8289e63d3cd0dd9a"}, @@ -2905,6 +2330,7 @@ version = "1.9.1" description = "Node.js virtual environment builder" optional = false python-versions = "!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*,!=3.4.*,!=3.5.*,!=3.6.*,>=2.7" +groups = ["dev"] files = [ {file = "nodeenv-1.9.1-py2.py3-none-any.whl", hash = "sha256:ba11c9782d29c27c70ffbdda2d7415098754709be8a7056d79a737cd901155c9"}, {file = "nodeenv-1.9.1.tar.gz", hash = "sha256:6ec12890a2dab7946721edbfbcd91f3319c6ccc9aec47be7c7e6b7011ee6645f"}, @@ -2916,6 +2342,7 @@ version = "7.3.2" description = "Jupyter Notebook - A web-based notebook environment for interactive computing" optional = false python-versions = ">=3.8" +groups = ["dev"] files = [ {file = "notebook-7.3.2-py3-none-any.whl", hash = "sha256:e5f85fc59b69d3618d73cf27544418193ff8e8058d5bf61d315ce4f473556288"}, {file = "notebook-7.3.2.tar.gz", hash = "sha256:705e83a1785f45b383bf3ee13cb76680b92d24f56fb0c7d2136fe1d850cd3ca8"}, @@ -2939,6 +2366,7 @@ version = "0.2.4" description = "A shim layer for notebook traits and config" optional = false python-versions = ">=3.7" +groups = ["dev"] files = [ {file = "notebook_shim-0.2.4-py3-none-any.whl", hash = "sha256:411a5be4e9dc882a074ccbcae671eda64cceb068767e9a3419096986560e1cef"}, {file = "notebook_shim-0.2.4.tar.gz", hash = "sha256:b4b2cfa1b65d98307ca24361f5b30fe785b53c3fd07b7a47e89acb5e6ac638cb"}, @@ -2956,6 +2384,7 @@ version = "1.24.3" description = "Fundamental package for array computing in Python" optional = false python-versions = ">=3.8" +groups = ["main", "typecheck"] files = [ {file = "numpy-1.24.3-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:3c1104d3c036fb81ab923f507536daedc718d0ad5a8707c6061cdfd6d184e570"}, {file = "numpy-1.24.3-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:202de8f38fc4a45a3eea4b63e2f376e5f2dc64ef0fa692838e31a808520efaf7"}, @@ -2986,13 +2415,16 @@ files = [ {file = "numpy-1.24.3-pp38-pypy38_pp73-win_amd64.whl", hash = "sha256:35400e6a8d102fd07c71ed7dcadd9eb62ee9a6e84ec159bd48c28235bbb0f8e4"}, {file = "numpy-1.24.3.tar.gz", hash = "sha256:ab344f1bf21f140adab8e47fdbc7c35a477dc01408791f8ba00d018dd0bc5155"}, ] +markers = {main = "extra == \"metrics\" and python_full_version <= \"3.8.0\"", typecheck = "python_full_version <= \"3.8.0\""} [[package]] name = "numpy" version = "1.24.4" description = "Fundamental package for array computing in Python" -optional = false +optional = true python-versions = ">=3.8" +groups = ["main"] +markers = "python_full_version > \"3.8.0\" and python_version < \"3.9\" and extra == \"metrics\"" files = [ {file = "numpy-1.24.4-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:c0bfb52d2169d58c1cdb8cc1f16989101639b34c7d3ce60ed70b19c63eba0b64"}, {file = "numpy-1.24.4-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:ed094d4f0c177b1b8e7aa9cba7d6ceed51c0e569a5318ac0ca9a090680a6a1b1"}, @@ -3026,113 +2458,59 @@ files = [ [[package]] name = "numpy" -version = "2.2.1" +version = "2.0.2" description = "Fundamental package for array computing in Python" optional = false -python-versions = ">=3.10" -files = [ - {file = "numpy-2.2.1-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:5edb4e4caf751c1518e6a26a83501fda79bff41cc59dac48d70e6d65d4ec4440"}, - {file = "numpy-2.2.1-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:aa3017c40d513ccac9621a2364f939d39e550c542eb2a894b4c8da92b38896ab"}, - {file = "numpy-2.2.1-cp310-cp310-macosx_14_0_arm64.whl", hash = "sha256:61048b4a49b1c93fe13426e04e04fdf5a03f456616f6e98c7576144677598675"}, - {file = "numpy-2.2.1-cp310-cp310-macosx_14_0_x86_64.whl", hash = "sha256:7671dc19c7019103ca44e8d94917eba8534c76133523ca8406822efdd19c9308"}, - {file = "numpy-2.2.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:4250888bcb96617e00bfa28ac24850a83c9f3a16db471eca2ee1f1714df0f957"}, - {file = "numpy-2.2.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:a7746f235c47abc72b102d3bce9977714c2444bdfaea7888d241b4c4bb6a78bf"}, - {file = "numpy-2.2.1-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:059e6a747ae84fce488c3ee397cee7e5f905fd1bda5fb18c66bc41807ff119b2"}, - {file = "numpy-2.2.1-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:f62aa6ee4eb43b024b0e5a01cf65a0bb078ef8c395e8713c6e8a12a697144528"}, - {file = "numpy-2.2.1-cp310-cp310-win32.whl", hash = "sha256:48fd472630715e1c1c89bf1feab55c29098cb403cc184b4859f9c86d4fcb6a95"}, - {file = "numpy-2.2.1-cp310-cp310-win_amd64.whl", hash = "sha256:b541032178a718c165a49638d28272b771053f628382d5e9d1c93df23ff58dbf"}, - {file = "numpy-2.2.1-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:40f9e544c1c56ba8f1cf7686a8c9b5bb249e665d40d626a23899ba6d5d9e1484"}, - {file = "numpy-2.2.1-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:f9b57eaa3b0cd8db52049ed0330747b0364e899e8a606a624813452b8203d5f7"}, - {file = "numpy-2.2.1-cp311-cp311-macosx_14_0_arm64.whl", hash = "sha256:bc8a37ad5b22c08e2dbd27df2b3ef7e5c0864235805b1e718a235bcb200cf1cb"}, - {file = "numpy-2.2.1-cp311-cp311-macosx_14_0_x86_64.whl", hash = "sha256:9036d6365d13b6cbe8f27a0eaf73ddcc070cae584e5ff94bb45e3e9d729feab5"}, - {file = "numpy-2.2.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:51faf345324db860b515d3f364eaa93d0e0551a88d6218a7d61286554d190d73"}, - {file = "numpy-2.2.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:38efc1e56b73cc9b182fe55e56e63b044dd26a72128fd2fbd502f75555d92591"}, - {file = "numpy-2.2.1-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:31b89fa67a8042e96715c68e071a1200c4e172f93b0fbe01a14c0ff3ff820fc8"}, - {file = "numpy-2.2.1-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:4c86e2a209199ead7ee0af65e1d9992d1dce7e1f63c4b9a616500f93820658d0"}, - {file = "numpy-2.2.1-cp311-cp311-win32.whl", hash = "sha256:b34d87e8a3090ea626003f87f9392b3929a7bbf4104a05b6667348b6bd4bf1cd"}, - {file = "numpy-2.2.1-cp311-cp311-win_amd64.whl", hash = "sha256:360137f8fb1b753c5cde3ac388597ad680eccbbbb3865ab65efea062c4a1fd16"}, - {file = "numpy-2.2.1-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:694f9e921a0c8f252980e85bce61ebbd07ed2b7d4fa72d0e4246f2f8aa6642ab"}, - {file = "numpy-2.2.1-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:3683a8d166f2692664262fd4900f207791d005fb088d7fdb973cc8d663626faa"}, - {file = "numpy-2.2.1-cp312-cp312-macosx_14_0_arm64.whl", hash = "sha256:780077d95eafc2ccc3ced969db22377b3864e5b9a0ea5eb347cc93b3ea900315"}, - {file = "numpy-2.2.1-cp312-cp312-macosx_14_0_x86_64.whl", hash = "sha256:55ba24ebe208344aa7a00e4482f65742969a039c2acfcb910bc6fcd776eb4355"}, - {file = "numpy-2.2.1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:9b1d07b53b78bf84a96898c1bc139ad7f10fda7423f5fd158fd0f47ec5e01ac7"}, - {file = "numpy-2.2.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:5062dc1a4e32a10dc2b8b13cedd58988261416e811c1dc4dbdea4f57eea61b0d"}, - {file = "numpy-2.2.1-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:fce4f615f8ca31b2e61aa0eb5865a21e14f5629515c9151850aa936c02a1ee51"}, - {file = "numpy-2.2.1-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:67d4cda6fa6ffa073b08c8372aa5fa767ceb10c9a0587c707505a6d426f4e046"}, - {file = "numpy-2.2.1-cp312-cp312-win32.whl", hash = "sha256:32cb94448be47c500d2c7a95f93e2f21a01f1fd05dd2beea1ccd049bb6001cd2"}, - {file = "numpy-2.2.1-cp312-cp312-win_amd64.whl", hash = "sha256:ba5511d8f31c033a5fcbda22dd5c813630af98c70b2661f2d2c654ae3cdfcfc8"}, - {file = "numpy-2.2.1-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:f1d09e520217618e76396377c81fba6f290d5f926f50c35f3a5f72b01a0da780"}, - {file = "numpy-2.2.1-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:3ecc47cd7f6ea0336042be87d9e7da378e5c7e9b3c8ad0f7c966f714fc10d821"}, - {file = "numpy-2.2.1-cp313-cp313-macosx_14_0_arm64.whl", hash = "sha256:f419290bc8968a46c4933158c91a0012b7a99bb2e465d5ef5293879742f8797e"}, - {file = "numpy-2.2.1-cp313-cp313-macosx_14_0_x86_64.whl", hash = "sha256:5b6c390bfaef8c45a260554888966618328d30e72173697e5cabe6b285fb2348"}, - {file = "numpy-2.2.1-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:526fc406ab991a340744aad7e25251dd47a6720a685fa3331e5c59fef5282a59"}, - {file = "numpy-2.2.1-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f74e6fdeb9a265624ec3a3918430205dff1df7e95a230779746a6af78bc615af"}, - {file = "numpy-2.2.1-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:53c09385ff0b72ba79d8715683c1168c12e0b6e84fb0372e97553d1ea91efe51"}, - {file = "numpy-2.2.1-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:f3eac17d9ec51be534685ba877b6ab5edc3ab7ec95c8f163e5d7b39859524716"}, - {file = "numpy-2.2.1-cp313-cp313-win32.whl", hash = "sha256:9ad014faa93dbb52c80d8f4d3dcf855865c876c9660cb9bd7553843dd03a4b1e"}, - {file = "numpy-2.2.1-cp313-cp313-win_amd64.whl", hash = "sha256:164a829b6aacf79ca47ba4814b130c4020b202522a93d7bff2202bfb33b61c60"}, - {file = "numpy-2.2.1-cp313-cp313t-macosx_10_13_x86_64.whl", hash = "sha256:4dfda918a13cc4f81e9118dea249e192ab167a0bb1966272d5503e39234d694e"}, - {file = "numpy-2.2.1-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:733585f9f4b62e9b3528dd1070ec4f52b8acf64215b60a845fa13ebd73cd0712"}, - {file = "numpy-2.2.1-cp313-cp313t-macosx_14_0_arm64.whl", hash = "sha256:89b16a18e7bba224ce5114db863e7029803c179979e1af6ad6a6b11f70545008"}, - {file = "numpy-2.2.1-cp313-cp313t-macosx_14_0_x86_64.whl", hash = "sha256:676f4eebf6b2d430300f1f4f4c2461685f8269f94c89698d832cdf9277f30b84"}, - {file = "numpy-2.2.1-cp313-cp313t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:27f5cdf9f493b35f7e41e8368e7d7b4bbafaf9660cba53fb21d2cd174ec09631"}, - {file = "numpy-2.2.1-cp313-cp313t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:c1ad395cf254c4fbb5b2132fee391f361a6e8c1adbd28f2cd8e79308a615fe9d"}, - {file = "numpy-2.2.1-cp313-cp313t-musllinux_1_2_aarch64.whl", hash = "sha256:08ef779aed40dbc52729d6ffe7dd51df85796a702afbf68a4f4e41fafdc8bda5"}, - {file = "numpy-2.2.1-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:26c9c4382b19fcfbbed3238a14abf7ff223890ea1936b8890f058e7ba35e8d71"}, - {file = "numpy-2.2.1-cp313-cp313t-win32.whl", hash = "sha256:93cf4e045bae74c90ca833cba583c14b62cb4ba2cba0abd2b141ab52548247e2"}, - {file = "numpy-2.2.1-cp313-cp313t-win_amd64.whl", hash = "sha256:bff7d8ec20f5f42607599f9994770fa65d76edca264a87b5e4ea5629bce12268"}, - {file = "numpy-2.2.1-pp310-pypy310_pp73-macosx_10_15_x86_64.whl", hash = "sha256:7ba9cc93a91d86365a5d270dee221fdc04fb68d7478e6bf6af650de78a8339e3"}, - {file = "numpy-2.2.1-pp310-pypy310_pp73-macosx_14_0_x86_64.whl", hash = "sha256:3d03883435a19794e41f147612a77a8f56d4e52822337844fff3d4040a142964"}, - {file = "numpy-2.2.1-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:4511d9e6071452b944207c8ce46ad2f897307910b402ea5fa975da32e0102800"}, - {file = "numpy-2.2.1-pp310-pypy310_pp73-win_amd64.whl", hash = "sha256:5c5cc0cbabe9452038ed984d05ac87910f89370b9242371bd9079cb4af61811e"}, - {file = "numpy-2.2.1.tar.gz", hash = "sha256:45681fd7128c8ad1c379f0ca0776a8b0c6583d2f69889ddac01559dfe4390918"}, -] - -[[package]] -name = "opencv-python" -version = "4.8.1.78" -description = "Wrapper package for OpenCV python bindings." -optional = false -python-versions = ">=3.6" -files = [ - {file = "opencv-python-4.8.1.78.tar.gz", hash = "sha256:cc7adbbcd1112877a39274106cb2752e04984bc01a031162952e97450d6117f6"}, - {file = "opencv_python-4.8.1.78-cp37-abi3-macosx_10_16_x86_64.whl", hash = "sha256:91d5f6f5209dc2635d496f6b8ca6573ecdad051a09e6b5de4c399b8e673c60da"}, - {file = "opencv_python-4.8.1.78-cp37-abi3-macosx_11_0_arm64.whl", hash = "sha256:bc31f47e05447da8b3089faa0a07ffe80e114c91ce0b171e6424f9badbd1c5cd"}, - {file = "opencv_python-4.8.1.78-cp37-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:9814beca408d3a0eca1bae7e3e5be68b07c17ecceb392b94170881216e09b319"}, - {file = "opencv_python-4.8.1.78-cp37-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:c4c406bdb41eb21ea51b4e90dfbc989c002786c3f601c236a99c59a54670a394"}, - {file = "opencv_python-4.8.1.78-cp37-abi3-win32.whl", hash = "sha256:a7aac3900fbacf55b551e7b53626c3dad4c71ce85643645c43e91fcb19045e47"}, - {file = "opencv_python-4.8.1.78-cp37-abi3-win_amd64.whl", hash = "sha256:b983197f97cfa6fcb74e1da1802c7497a6f94ed561aba6980f1f33123f904956"}, -] - -[package.dependencies] -numpy = {version = ">=1.23.5", markers = "python_version >= \"3.11\""} - -[[package]] -name = "opencv-python" -version = "4.10.0.84" -description = "Wrapper package for OpenCV python bindings." -optional = false -python-versions = ">=3.6" -files = [ - {file = "opencv-python-4.10.0.84.tar.gz", hash = "sha256:72d234e4582e9658ffea8e9cae5b63d488ad06994ef12d81dc303b17472f3526"}, - {file = "opencv_python-4.10.0.84-cp37-abi3-macosx_11_0_arm64.whl", hash = "sha256:fc182f8f4cda51b45f01c64e4cbedfc2f00aff799debebc305d8d0210c43f251"}, - {file = "opencv_python-4.10.0.84-cp37-abi3-macosx_12_0_x86_64.whl", hash = "sha256:71e575744f1d23f79741450254660442785f45a0797212852ee5199ef12eed98"}, - {file = "opencv_python-4.10.0.84-cp37-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:09a332b50488e2dda866a6c5573ee192fe3583239fb26ff2f7f9ceb0bc119ea6"}, - {file = "opencv_python-4.10.0.84-cp37-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:9ace140fc6d647fbe1c692bcb2abce768973491222c067c131d80957c595b71f"}, - {file = "opencv_python-4.10.0.84-cp37-abi3-win32.whl", hash = "sha256:2db02bb7e50b703f0a2d50c50ced72e95c574e1e5a0bb35a8a86d0b35c98c236"}, - {file = "opencv_python-4.10.0.84-cp37-abi3-win_amd64.whl", hash = "sha256:32dbbd94c26f611dc5cc6979e6b7aa1f55a64d6b463cc1dcd3c95505a63e48fe"}, -] - -[package.dependencies] -numpy = [ - {version = ">=1.21.0", markers = "python_version <= \"3.9\" and platform_system == \"Darwin\" and platform_machine == \"arm64\" and python_version >= \"3.8\""}, - {version = ">=1.19.3", markers = "platform_system == \"Linux\" and platform_machine == \"aarch64\" and python_version >= \"3.8\" and python_version < \"3.10\" or python_version > \"3.9\" and python_version < \"3.10\" or python_version >= \"3.9\" and platform_system != \"Darwin\" and python_version < \"3.10\" or python_version >= \"3.9\" and platform_machine != \"arm64\" and python_version < \"3.10\""}, - {version = ">=1.17.3", markers = "(platform_system != \"Darwin\" and platform_system != \"Linux\") and python_version >= \"3.8\" and python_version < \"3.9\" or platform_system != \"Darwin\" and python_version >= \"3.8\" and python_version < \"3.9\" and platform_machine != \"aarch64\" or platform_machine != \"arm64\" and python_version >= \"3.8\" and python_version < \"3.9\" and platform_system != \"Linux\" or (platform_machine != \"arm64\" and platform_machine != \"aarch64\") and python_version >= \"3.8\" and python_version < \"3.9\""}, - {version = ">=1.23.5", markers = "python_version >= \"3.11\" and python_version < \"3.12\""}, - {version = ">=1.21.4", markers = "python_version >= \"3.10\" and platform_system == \"Darwin\" and python_version < \"3.11\""}, - {version = ">=1.21.2", markers = "platform_system != \"Darwin\" and python_version >= \"3.10\" and python_version < \"3.11\""}, - {version = ">=1.26.0", markers = "python_version >= \"3.12\""}, -] +python-versions = ">=3.9" +groups = ["main", "typecheck"] +files = [ + {file = "numpy-2.0.2-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:51129a29dbe56f9ca83438b706e2e69a39892b5eda6cedcb6b0c9fdc9b0d3ece"}, + {file = "numpy-2.0.2-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:f15975dfec0cf2239224d80e32c3170b1d168335eaedee69da84fbe9f1f9cd04"}, + {file = "numpy-2.0.2-cp310-cp310-macosx_14_0_arm64.whl", hash = "sha256:8c5713284ce4e282544c68d1c3b2c7161d38c256d2eefc93c1d683cf47683e66"}, + {file = "numpy-2.0.2-cp310-cp310-macosx_14_0_x86_64.whl", hash = "sha256:becfae3ddd30736fe1889a37f1f580e245ba79a5855bff5f2a29cb3ccc22dd7b"}, + {file = "numpy-2.0.2-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:2da5960c3cf0df7eafefd806d4e612c5e19358de82cb3c343631188991566ccd"}, + {file = "numpy-2.0.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:496f71341824ed9f3d2fd36cf3ac57ae2e0165c143b55c3a035ee219413f3318"}, + {file = "numpy-2.0.2-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:a61ec659f68ae254e4d237816e33171497e978140353c0c2038d46e63282d0c8"}, + {file = "numpy-2.0.2-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:d731a1c6116ba289c1e9ee714b08a8ff882944d4ad631fd411106a30f083c326"}, + {file = "numpy-2.0.2-cp310-cp310-win32.whl", hash = "sha256:984d96121c9f9616cd33fbd0618b7f08e0cfc9600a7ee1d6fd9b239186d19d97"}, + {file = "numpy-2.0.2-cp310-cp310-win_amd64.whl", hash = "sha256:c7b0be4ef08607dd04da4092faee0b86607f111d5ae68036f16cc787e250a131"}, + {file = "numpy-2.0.2-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:49ca4decb342d66018b01932139c0961a8f9ddc7589611158cb3c27cbcf76448"}, + {file = "numpy-2.0.2-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:11a76c372d1d37437857280aa142086476136a8c0f373b2e648ab2c8f18fb195"}, + {file = "numpy-2.0.2-cp311-cp311-macosx_14_0_arm64.whl", hash = "sha256:807ec44583fd708a21d4a11d94aedf2f4f3c3719035c76a2bbe1fe8e217bdc57"}, + {file = "numpy-2.0.2-cp311-cp311-macosx_14_0_x86_64.whl", hash = "sha256:8cafab480740e22f8d833acefed5cc87ce276f4ece12fdaa2e8903db2f82897a"}, + {file = "numpy-2.0.2-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a15f476a45e6e5a3a79d8a14e62161d27ad897381fecfa4a09ed5322f2085669"}, + {file = "numpy-2.0.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:13e689d772146140a252c3a28501da66dfecd77490b498b168b501835041f951"}, + {file = "numpy-2.0.2-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:9ea91dfb7c3d1c56a0e55657c0afb38cf1eeae4544c208dc465c3c9f3a7c09f9"}, + {file = "numpy-2.0.2-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:c1c9307701fec8f3f7a1e6711f9089c06e6284b3afbbcd259f7791282d660a15"}, + {file = "numpy-2.0.2-cp311-cp311-win32.whl", hash = "sha256:a392a68bd329eafac5817e5aefeb39038c48b671afd242710b451e76090e81f4"}, + {file = "numpy-2.0.2-cp311-cp311-win_amd64.whl", hash = "sha256:286cd40ce2b7d652a6f22efdfc6d1edf879440e53e76a75955bc0c826c7e64dc"}, + {file = "numpy-2.0.2-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:df55d490dea7934f330006d0f81e8551ba6010a5bf035a249ef61a94f21c500b"}, + {file = "numpy-2.0.2-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:8df823f570d9adf0978347d1f926b2a867d5608f434a7cff7f7908c6570dcf5e"}, + {file = "numpy-2.0.2-cp312-cp312-macosx_14_0_arm64.whl", hash = "sha256:9a92ae5c14811e390f3767053ff54eaee3bf84576d99a2456391401323f4ec2c"}, + {file = "numpy-2.0.2-cp312-cp312-macosx_14_0_x86_64.whl", hash = "sha256:a842d573724391493a97a62ebbb8e731f8a5dcc5d285dfc99141ca15a3302d0c"}, + {file = "numpy-2.0.2-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:c05e238064fc0610c840d1cf6a13bf63d7e391717d247f1bf0318172e759e692"}, + {file = "numpy-2.0.2-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:0123ffdaa88fa4ab64835dcbde75dcdf89c453c922f18dced6e27c90d1d0ec5a"}, + {file = "numpy-2.0.2-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:96a55f64139912d61de9137f11bf39a55ec8faec288c75a54f93dfd39f7eb40c"}, + {file = "numpy-2.0.2-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:ec9852fb39354b5a45a80bdab5ac02dd02b15f44b3804e9f00c556bf24b4bded"}, + {file = "numpy-2.0.2-cp312-cp312-win32.whl", hash = "sha256:671bec6496f83202ed2d3c8fdc486a8fc86942f2e69ff0e986140339a63bcbe5"}, + {file = "numpy-2.0.2-cp312-cp312-win_amd64.whl", hash = "sha256:cfd41e13fdc257aa5778496b8caa5e856dc4896d4ccf01841daee1d96465467a"}, + {file = "numpy-2.0.2-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:9059e10581ce4093f735ed23f3b9d283b9d517ff46009ddd485f1747eb22653c"}, + {file = "numpy-2.0.2-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:423e89b23490805d2a5a96fe40ec507407b8ee786d66f7328be214f9679df6dd"}, + {file = "numpy-2.0.2-cp39-cp39-macosx_14_0_arm64.whl", hash = "sha256:2b2955fa6f11907cf7a70dab0d0755159bca87755e831e47932367fc8f2f2d0b"}, + {file = "numpy-2.0.2-cp39-cp39-macosx_14_0_x86_64.whl", hash = "sha256:97032a27bd9d8988b9a97a8c4d2c9f2c15a81f61e2f21404d7e8ef00cb5be729"}, + {file = "numpy-2.0.2-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:1e795a8be3ddbac43274f18588329c72939870a16cae810c2b73461c40718ab1"}, + {file = "numpy-2.0.2-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f26b258c385842546006213344c50655ff1555a9338e2e5e02a0756dc3e803dd"}, + {file = "numpy-2.0.2-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:5fec9451a7789926bcf7c2b8d187292c9f93ea30284802a0ab3f5be8ab36865d"}, + {file = "numpy-2.0.2-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:9189427407d88ff25ecf8f12469d4d39d35bee1db5d39fc5c168c6f088a6956d"}, + {file = "numpy-2.0.2-cp39-cp39-win32.whl", hash = "sha256:905d16e0c60200656500c95b6b8dca5d109e23cb24abc701d41c02d74c6b3afa"}, + {file = "numpy-2.0.2-cp39-cp39-win_amd64.whl", hash = "sha256:a3f4ab0caa7f053f6797fcd4e1e25caee367db3112ef2b6ef82d749530768c73"}, + {file = "numpy-2.0.2-pp39-pypy39_pp73-macosx_10_9_x86_64.whl", hash = "sha256:7f0a0c6f12e07fa94133c8a67404322845220c06a9e80e85999afe727f7438b8"}, + {file = "numpy-2.0.2-pp39-pypy39_pp73-macosx_14_0_x86_64.whl", hash = "sha256:312950fdd060354350ed123c0e25a71327d3711584beaef30cdaa93320c392d4"}, + {file = "numpy-2.0.2-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:26df23238872200f63518dd2aa984cfca675d82469535dc7162dc2ee52d9dd5c"}, + {file = "numpy-2.0.2-pp39-pypy39_pp73-win_amd64.whl", hash = "sha256:a46288ec55ebbd58947d31d72be2c63cbf839f0a63b49cb755022310792a3385"}, + {file = "numpy-2.0.2.tar.gz", hash = "sha256:883c987dee1880e2a864ab0dc9892292582510604156762362d9326444636e78"}, +] +markers = {main = "extra == \"metrics\" and (python_version <= \"3.11\" or python_version >= \"3.12\") and python_version >= \"3.9\"", typecheck = "python_version >= \"3.9\""} [[package]] name = "overrides" @@ -3140,6 +2518,7 @@ version = "7.7.0" description = "A decorator to automatically detect mismatch when overriding a method." optional = false python-versions = ">=3.6" +groups = ["dev"] files = [ {file = "overrides-7.7.0-py3-none-any.whl", hash = "sha256:c7ed9d062f78b8e4c1a7b70bd8796b35ead4d9f510227ef9c5dc7626c60d7e49"}, {file = "overrides-7.7.0.tar.gz", hash = "sha256:55158fa3d93b98cc75299b1e67078ad9003ca27945c76162c1c0766d6f91820a"}, @@ -3151,6 +2530,7 @@ version = "24.2" description = "Core utilities for Python packages" optional = false python-versions = ">=3.8" +groups = ["build", "dev", "docs", "test"] files = [ {file = "packaging-24.2-py3-none-any.whl", hash = "sha256:09abb1bccd265c01f4a3aa3f7a7db064b36514d2cba19a2f694fe6150451a759"}, {file = "packaging-24.2.tar.gz", hash = "sha256:c228a6dc5e932d346bc5739379109d49e8853dd8223571c7c5b55260edc0b97f"}, @@ -3162,6 +2542,7 @@ version = "0.5.7" description = "Divides large result sets into pages for easier browsing" optional = false python-versions = "*" +groups = ["docs"] files = [ {file = "paginate-0.5.7-py2.py3-none-any.whl", hash = "sha256:b885e2af73abcf01d9559fd5216b57ef722f8c42affbb63942377668e35c7591"}, {file = "paginate-0.5.7.tar.gz", hash = "sha256:22bd083ab41e1a8b4f3690544afb2c60c25e5c9a63a30fa2f483f6c60c8e5945"}, @@ -3177,6 +2558,8 @@ version = "2.0.3" description = "Powerful data structures for data analysis, time series, and statistics" optional = true python-versions = ">=3.8" +groups = ["main"] +markers = "extra == \"metrics\" and python_version <= \"3.11\" or extra == \"metrics\" and python_version >= \"3.12\" and python_version < \"3.13\"" files = [ {file = "pandas-2.0.3-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:e4c7c9f27a4185304c7caf96dc7d91bc60bc162221152de697c98eb0b2648dd8"}, {file = "pandas-2.0.3-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:f167beed68918d62bffb6ec64f2e1d8a7d297a038f86d4aed056b9493fca407f"}, @@ -3208,8 +2591,8 @@ files = [ [package.dependencies] numpy = [ {version = ">=1.20.3", markers = "python_version < \"3.10\""}, - {version = ">=1.23.2", markers = "python_version >= \"3.11\""}, {version = ">=1.21.0", markers = "python_version >= \"3.10\" and python_version < \"3.11\""}, + {version = ">=1.23.2", markers = "python_version >= \"3.11\""}, ] python-dateutil = ">=2.8.2" pytz = ">=2020.1" @@ -3244,6 +2627,8 @@ version = "2.2.3" description = "Powerful data structures for data analysis, time series, and statistics" optional = true python-versions = ">=3.9" +groups = ["main"] +markers = "python_version >= \"3.13\" and extra == \"metrics\"" files = [ {file = "pandas-2.2.3-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:1948ddde24197a0f7add2bdc4ca83bf2b1ef84a1bc8ccffd95eda17fd836ecb5"}, {file = "pandas-2.2.3-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:381175499d3802cde0eabbaf6324cce0c4f5d52ca6f8c377c29ad442f50f6348"}, @@ -3320,27 +2705,13 @@ sql-other = ["SQLAlchemy (>=2.0.0)", "adbc-driver-postgresql (>=0.8.0)", "adbc-d test = ["hypothesis (>=6.46.1)", "pytest (>=7.3.2)", "pytest-xdist (>=2.2.0)"] xml = ["lxml (>=4.9.2)"] -[[package]] -name = "pandas-stubs" -version = "2.0.2.230605" -description = "Type annotations for pandas" -optional = false -python-versions = ">=3.8" -files = [ - {file = "pandas_stubs-2.0.2.230605-py3-none-any.whl", hash = "sha256:39106b602f3cb6dc5f728b84e1b32bde6ecf41ee34ee714c66228009609fbada"}, - {file = "pandas_stubs-2.0.2.230605.tar.gz", hash = "sha256:624c7bb06d38145a44b61be459ccd19b038e0bf20364a025ecaab78fea65e858"}, -] - -[package.dependencies] -numpy = ">=1.24.3" -types-pytz = ">=2022.1.1" - [[package]] name = "pandas-stubs" version = "2.0.3.230814" description = "Type annotations for pandas" optional = false python-versions = ">=3.8" +groups = ["typecheck"] files = [ {file = "pandas_stubs-2.0.3.230814-py3-none-any.whl", hash = "sha256:4b3dfc027d49779176b7daa031a3405f7b839bcb6e312f4b9f29fea5feec5b4f"}, {file = "pandas_stubs-2.0.3.230814.tar.gz", hash = "sha256:1d5cc09e36e3d9f9a1ed9dceae4e03eeb26d1b898dd769996925f784365c8769"}, @@ -3359,6 +2730,7 @@ version = "1.5.1" description = "Utilities for writing pandoc filters in python" optional = false python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*" +groups = ["dev", "docs"] files = [ {file = "pandocfilters-1.5.1-py2.py3-none-any.whl", hash = "sha256:93be382804a9cdb0a7267585f157e5d1731bbe5545a85b268d6f5fe6232de2bc"}, {file = "pandocfilters-1.5.1.tar.gz", hash = "sha256:002b4a555ee4ebc03f8b66307e287fa492e4a77b4ea14d3f934328297bb4939e"}, @@ -3370,6 +2742,7 @@ version = "0.8.4" description = "A Python Parser" optional = false python-versions = ">=3.6" +groups = ["dev", "docs"] files = [ {file = "parso-0.8.4-py2.py3-none-any.whl", hash = "sha256:a418670a20291dacd2dddc80c377c5c3791378ee1e8d12bffc35420643d43f18"}, {file = "parso-0.8.4.tar.gz", hash = "sha256:eb3a7b58240fb99099a345571deecc0f9540ea5f4dd2fe14c2a99d6b281ab92d"}, @@ -3385,6 +2758,7 @@ version = "0.12.1" description = "Utility library for gitignore style pattern matching of file paths." optional = false python-versions = ">=3.8" +groups = ["docs"] files = [ {file = "pathspec-0.12.1-py3-none-any.whl", hash = "sha256:a0d503e138a4c123b27490a4f7beda6a01c6f288df0e4a8b79c7eb0dc7b4cc08"}, {file = "pathspec-0.12.1.tar.gz", hash = "sha256:a482d51503a1ab33b1c67a6c3813a26953dbdc71c31dacaef9a838c4e29f5712"}, @@ -3396,6 +2770,8 @@ version = "4.9.0" description = "Pexpect allows easy control of interactive console applications." optional = false python-versions = "*" +groups = ["dev", "docs"] +markers = "sys_platform != \"win32\"" files = [ {file = "pexpect-4.9.0-py2.py3-none-any.whl", hash = "sha256:7236d1e080e4936be2dc3e326cec0af72acf9212a7e1d060210e70a47e253523"}, {file = "pexpect-4.9.0.tar.gz", hash = "sha256:ee7d41123f3c9911050ea2c2dac107568dc43b2d3b0c7557a33212c398ead30f"}, @@ -3410,6 +2786,7 @@ version = "0.7.5" description = "Tiny 'shelve'-like database with concurrency support" optional = false python-versions = "*" +groups = ["dev", "docs"] files = [ {file = "pickleshare-0.7.5-py2.py3-none-any.whl", hash = "sha256:9649af414d74d4df115d5d718f82acb59c9d418196b7b4290ed47a12ce62df56"}, {file = "pickleshare-0.7.5.tar.gz", hash = "sha256:87683d47965c1da65cdacaf31c8441d12b8044cdec9aca500cd78fc2c683afca"}, @@ -3421,6 +2798,7 @@ version = "10.4.0" description = "Python Imaging Library (Fork)" optional = false python-versions = ">=3.8" +groups = ["docs"] files = [ {file = "pillow-10.4.0-cp310-cp310-macosx_10_10_x86_64.whl", hash = "sha256:4d9667937cfa347525b319ae34375c37b9ee6b525440f3ef48542fcf66f2731e"}, {file = "pillow-10.4.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:543f3dc61c18dafb755773efc89aae60d06b6596a63914107f75459cf984164d"}, @@ -3518,6 +2896,7 @@ version = "1.12.0" description = "Query metadata from sdists / bdists / installed packages." optional = false python-versions = ">=3.8" +groups = ["build", "dev"] files = [ {file = "pkginfo-1.12.0-py3-none-any.whl", hash = "sha256:dcd589c9be4da8973eceffa247733c144812759aa67eaf4bbf97016a02f39088"}, {file = "pkginfo-1.12.0.tar.gz", hash = "sha256:8ad91a0445a036782b9366ef8b8c2c50291f83a553478ba8580c73d3215700cf"}, @@ -3532,6 +2911,8 @@ version = "1.3.10" description = "Resolve a name to an object." optional = false python-versions = ">=3.6" +groups = ["dev", "docs"] +markers = "python_version < \"3.9\"" files = [ {file = "pkgutil_resolve_name-1.3.10-py3-none-any.whl", hash = "sha256:ca27cc078d25c5ad71a9de0a7a330146c4e014c2462d9af19c6b828280649c5e"}, {file = "pkgutil_resolve_name-1.3.10.tar.gz", hash = "sha256:357d6c9e6a755653cfd78893817c0853af365dd51ec97f3d358a819373bbd174"}, @@ -3543,6 +2924,7 @@ version = "4.3.6" description = "A small Python package for determining appropriate platform-specific dirs, e.g. a `user data dir`." optional = false python-versions = ">=3.8" +groups = ["dev", "docs"] files = [ {file = "platformdirs-4.3.6-py3-none-any.whl", hash = "sha256:73e575e1408ab8103900836b97580d5307456908a03e92031bab39e4554cc3fb"}, {file = "platformdirs-4.3.6.tar.gz", hash = "sha256:357fb2acbc885b0419afd3ce3ed34564c13c9b95c89360cd9563f73aa5e2b907"}, @@ -3559,6 +2941,7 @@ version = "1.5.0" description = "plugin and hook calling mechanisms for python" optional = false python-versions = ">=3.8" +groups = ["dev", "test"] files = [ {file = "pluggy-1.5.0-py3-none-any.whl", hash = "sha256:44e1ad92c8ca002de6377e165f3e0f1be63266ab4d554740532335b9d75ea669"}, {file = "pluggy-1.5.0.tar.gz", hash = "sha256:2cffa88e94fdc978c4c574f15f9e59b7f4201d439195c3715ca9e2486f1d0cf1"}, @@ -3574,6 +2957,7 @@ version = "3.5.0" description = "A framework for managing and maintaining multi-language pre-commit hooks." optional = false python-versions = ">=3.8" +groups = ["dev"] files = [ {file = "pre_commit-3.5.0-py2.py3-none-any.whl", hash = "sha256:841dc9aef25daba9a0238cd27984041fa0467b4199fc4852e27950664919f660"}, {file = "pre_commit-3.5.0.tar.gz", hash = "sha256:5804465c675b659b0862f07907f96295d490822a450c4c40e747d0b1c6ebcb32"}, @@ -3592,6 +2976,7 @@ version = "0.21.1" description = "Python client for the Prometheus monitoring system." optional = false python-versions = ">=3.8" +groups = ["dev"] files = [ {file = "prometheus_client-0.21.1-py3-none-any.whl", hash = "sha256:594b45c410d6f4f8888940fe80b5cc2521b305a1fafe1c58609ef715a001f301"}, {file = "prometheus_client-0.21.1.tar.gz", hash = "sha256:252505a722ac04b0456be05c05f75f45d760c2911ffc45f2a06bcaed9f3ae3fb"}, @@ -3606,6 +2991,7 @@ version = "3.0.48" description = "Library for building powerful interactive command lines in Python" optional = false python-versions = ">=3.7.0" +groups = ["dev", "docs"] files = [ {file = "prompt_toolkit-3.0.48-py3-none-any.whl", hash = "sha256:f49a827f90062e411f1ce1f854f2aedb3c23353244f8108b89283587397ac10e"}, {file = "prompt_toolkit-3.0.48.tar.gz", hash = "sha256:d6623ab0477a80df74e646bdbc93621143f5caf104206aa29294d53de1a03d90"}, @@ -3620,6 +3006,7 @@ version = "6.1.1" description = "Cross-platform lib for process and system monitoring in Python." optional = false python-versions = "!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*,!=3.4.*,!=3.5.*,>=2.7" +groups = ["dev", "docs"] files = [ {file = "psutil-6.1.1-cp27-cp27m-macosx_10_9_x86_64.whl", hash = "sha256:9ccc4316f24409159897799b83004cb1e24f9819b0dcf9c0b68bdcb6cefee6a8"}, {file = "psutil-6.1.1-cp27-cp27m-manylinux2010_i686.whl", hash = "sha256:ca9609c77ea3b8481ab005da74ed894035936223422dc591d6772b147421f777"}, @@ -3650,10 +3037,12 @@ version = "0.7.0" description = "Run a subprocess in a pseudo terminal" optional = false python-versions = "*" +groups = ["dev", "docs"] files = [ {file = "ptyprocess-0.7.0-py2.py3-none-any.whl", hash = "sha256:4b41f3967fce3af57cc7e94b888626c18bf37a083e3651ca8feeb66d492fef35"}, {file = "ptyprocess-0.7.0.tar.gz", hash = "sha256:5c5d0a3b48ceee0b48485e0c26037c0acd7d29765ca3fbb5cb3831d347423220"}, ] +markers = {dev = "os_name != \"nt\" or sys_platform != \"win32\"", docs = "sys_platform != \"win32\""} [[package]] name = "pure-eval" @@ -3661,6 +3050,7 @@ version = "0.2.3" description = "Safely evaluate AST nodes without side effects" optional = false python-versions = "*" +groups = ["dev", "docs"] files = [ {file = "pure_eval-0.2.3-py3-none-any.whl", hash = "sha256:1db8e35b67b3d218d818ae653e27f06c3aa420901fa7b081ca98cbedc874e0d0"}, {file = "pure_eval-0.2.3.tar.gz", hash = "sha256:5f4e983f40564c576c7c8635ae88db5956bb2229d7e9237d03b3c0b0190eaf42"}, @@ -3675,20 +3065,23 @@ version = "2.22" description = "C parser in Python" optional = false python-versions = ">=3.8" +groups = ["build", "dev", "docs"] files = [ {file = "pycparser-2.22-py3-none-any.whl", hash = "sha256:c3702b6d3dd8c7abc1afa565d7e63d53a1d0bd86cdc24edd75470f4de499cfcc"}, {file = "pycparser-2.22.tar.gz", hash = "sha256:491c8be9c040f5390f5bf44a5b07752bd07f56edf992381b05c701439eec10f6"}, ] +markers = {build = "(platform_machine != \"ppc64le\" and platform_machine != \"s390x\") and sys_platform == \"linux\" and platform_python_implementation != \"PyPy\""} [[package]] name = "pygments" -version = "2.18.0" +version = "2.19.0" description = "Pygments is a syntax highlighting package written in Python." optional = false python-versions = ">=3.8" +groups = ["build", "dev", "docs"] files = [ - {file = "pygments-2.18.0-py3-none-any.whl", hash = "sha256:b8e6aca0523f3ab76fee51799c488e38782ac06eafcf95e7ba832985c8e7b13a"}, - {file = "pygments-2.18.0.tar.gz", hash = "sha256:786ff802f32e91311bff3889f6e9a86e81505fe99f2735bb6d60ae0c5004f199"}, + {file = "pygments-2.19.0-py3-none-any.whl", hash = "sha256:4755e6e64d22161d5b61432c0600c923c5927214e7c956e31c23923c89251a9b"}, + {file = "pygments-2.19.0.tar.gz", hash = "sha256:afc4146269910d4bdfabcd27c24923137a74d562a23a320a41a55ad303e19783"}, ] [package.extras] @@ -3700,6 +3093,7 @@ version = "10.13" description = "Extension pack for Python Markdown." optional = false python-versions = ">=3.8" +groups = ["docs"] files = [ {file = "pymdown_extensions-10.13-py3-none-any.whl", hash = "sha256:80bc33d715eec68e683e04298946d47d78c7739e79d808203df278ee8ef89428"}, {file = "pymdown_extensions-10.13.tar.gz", hash = "sha256:e0b351494dc0d8d14a1f52b39b1499a00ef1566b4ba23dc74f1eba75c736f5dd"}, @@ -3718,6 +3112,7 @@ version = "3.1.4" description = "pyparsing module - Classes and methods to define and execute parsing grammars" optional = false python-versions = ">=3.6.8" +groups = ["docs"] files = [ {file = "pyparsing-3.1.4-py3-none-any.whl", hash = "sha256:a6a7ee4235a3f944aa1fa2249307708f893fe5717dc603503c6c7969c070fb7c"}, {file = "pyparsing-3.1.4.tar.gz", hash = "sha256:f86ec8d1a83f11977c9a6ea7598e8c27fc5cddfa5b07ea2241edbbde1d7bc032"}, @@ -3732,6 +3127,7 @@ version = "1.8.0" description = "API to interact with the python pyproject.toml based projects" optional = false python-versions = ">=3.8" +groups = ["dev"] files = [ {file = "pyproject_api-1.8.0-py3-none-any.whl", hash = "sha256:3d7d347a047afe796fd5d1885b1e391ba29be7169bd2f102fcd378f04273d228"}, {file = "pyproject_api-1.8.0.tar.gz", hash = "sha256:77b8049f2feb5d33eefcc21b57f1e279636277a8ac8ad6b5871037b243778496"}, @@ -3751,6 +3147,7 @@ version = "1.2.0" description = "Wrappers to call pyproject.toml-based build backend hooks." optional = false python-versions = ">=3.7" +groups = ["dev"] files = [ {file = "pyproject_hooks-1.2.0-py3-none-any.whl", hash = "sha256:9e5c6bfa8dcc30091c74b0cf803c81fdd29d94f01992a7707bc97babb1141913"}, {file = "pyproject_hooks-1.2.0.tar.gz", hash = "sha256:1e859bd5c40fae9448642dd871adf459e5e2084186e8d2c2a79a824c970da1f8"}, @@ -3762,6 +3159,7 @@ version = "8.3.4" description = "pytest: simple powerful testing with Python" optional = false python-versions = ">=3.8" +groups = ["dev", "test"] files = [ {file = "pytest-8.3.4-py3-none-any.whl", hash = "sha256:50e16d954148559c9a74109af1eaf0c945ba2d8f30f0a3d3335edde19788b6f6"}, {file = "pytest-8.3.4.tar.gz", hash = "sha256:965370d062bce11e73868e0335abac31b4d3de0e82f4007408d242b4f8610761"}, @@ -3784,6 +3182,7 @@ version = "0.2.0" description = "A pytest plugin that adds emojis to your test result report" optional = false python-versions = ">=3.4" +groups = ["test"] files = [ {file = "pytest-emoji-0.2.0.tar.gz", hash = "sha256:e1bd4790d87649c2d09c272c88bdfc4d37c1cc7c7a46583087d7c510944571e8"}, {file = "pytest_emoji-0.2.0-py3-none-any.whl", hash = "sha256:6e34ed21970fa4b80a56ad11417456bd873eb066c02315fe9df0fafe6d4d4436"}, @@ -3798,6 +3197,7 @@ version = "0.2.0" description = "Plugin for generating Markdown reports for pytest results" optional = false python-versions = ">=3.6" +groups = ["test"] files = [ {file = "pytest-md-0.2.0.tar.gz", hash = "sha256:3b248d5b360ea5198e05b4f49c7442234812809a63137ec6cdd3643a40cf0112"}, {file = "pytest_md-0.2.0-py3-none-any.whl", hash = "sha256:4c4cd16fea6d1485e87ee254558712c804a96d2aa9674b780e7eb8fb6526e1d1"}, @@ -3812,10 +3212,12 @@ version = "2.9.0.post0" description = "Extensions to the standard Python datetime module" optional = false python-versions = "!=3.0.*,!=3.1.*,!=3.2.*,>=2.7" +groups = ["main", "dev", "docs"] files = [ {file = "python-dateutil-2.9.0.post0.tar.gz", hash = "sha256:37dd54208da7e1cd875388217d5e00ebd4179249f90fb72437e91a35459a0ad3"}, {file = "python_dateutil-2.9.0.post0-py2.py3-none-any.whl", hash = "sha256:a8b2bc7bffae282281c8140a97d3aa9c14da0b136dfe83f850eea9a5f7470427"}, ] +markers = {main = "extra == \"metrics\" and (python_version <= \"3.11\" or python_version >= \"3.12\")"} [package.dependencies] six = ">=1.5" @@ -3826,6 +3228,7 @@ version = "3.2.1" description = "JSON Log Formatter for the Python Logging Package" optional = false python-versions = ">=3.8" +groups = ["dev"] files = [ {file = "python_json_logger-3.2.1-py3-none-any.whl", hash = "sha256:cdc17047eb5374bd311e748b42f99d71223f3b0e186f4206cc5d52aefe85b090"}, {file = "python_json_logger-3.2.1.tar.gz", hash = "sha256:8eb0554ea17cb75b05d2848bc14fb02fbdbd9d6972120781b974380bfa162008"}, @@ -3843,10 +3246,12 @@ version = "2024.2" description = "World timezone definitions, modern and historical" optional = false python-versions = "*" +groups = ["main", "dev", "docs"] files = [ {file = "pytz-2024.2-py2.py3-none-any.whl", hash = "sha256:31c7c1817eb7fae7ca4b8c7ee50c72f93aa2dd863de768e1ef4245d426aa0725"}, {file = "pytz-2024.2.tar.gz", hash = "sha256:2aa355083c50a0f93fa581709deac0c9ad65cca8a9e9beac660adcbd493c798a"}, ] +markers = {main = "extra == \"metrics\" and (python_version <= \"3.11\" or python_version >= \"3.12\")", dev = "python_version < \"3.9\""} [[package]] name = "pywin32" @@ -3854,6 +3259,8 @@ version = "308" description = "Python for Window Extensions" optional = false python-versions = "*" +groups = ["dev", "docs"] +markers = "sys_platform == \"win32\" and platform_python_implementation != \"PyPy\"" files = [ {file = "pywin32-308-cp310-cp310-win32.whl", hash = "sha256:796ff4426437896550d2981b9c2ac0ffd75238ad9ea2d3bfa67a1abd546d262e"}, {file = "pywin32-308-cp310-cp310-win_amd64.whl", hash = "sha256:4fc888c59b3c0bef905ce7eb7e2106a07712015ea1c8234b703a088d46110e8e"}, @@ -3881,6 +3288,8 @@ version = "0.2.3" description = "A (partial) reimplementation of pywin32 using ctypes/cffi" optional = false python-versions = ">=3.6" +groups = ["build", "dev"] +markers = "(platform_machine != \"ppc64le\" and platform_machine != \"s390x\") and sys_platform == \"win32\"" files = [ {file = "pywin32-ctypes-0.2.3.tar.gz", hash = "sha256:d162dc04946d704503b2edc4d55f3dba5c1d539ead017afa00142c38b9885755"}, {file = "pywin32_ctypes-0.2.3-py3-none-any.whl", hash = "sha256:8a1513379d709975552d202d942d9837758905c8d01eb82b8bcc30918929e7b8"}, @@ -3892,6 +3301,8 @@ version = "2.0.14" description = "Pseudo terminal support for Windows from Python." optional = false python-versions = ">=3.8" +groups = ["dev"] +markers = "os_name == \"nt\"" files = [ {file = "pywinpty-2.0.14-cp310-none-win_amd64.whl", hash = "sha256:0b149c2918c7974f575ba79f5a4aad58bd859a52fa9eb1296cc22aa412aa411f"}, {file = "pywinpty-2.0.14-cp311-none-win_amd64.whl", hash = "sha256:cf2a43ac7065b3e0dc8510f8c1f13a75fb8fde805efa3b8cff7599a1ef497bc7"}, @@ -3907,6 +3318,7 @@ version = "6.0.2" description = "YAML parser and emitter for Python" optional = false python-versions = ">=3.8" +groups = ["dev", "docs"] files = [ {file = "PyYAML-6.0.2-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:0a9a2848a5b7feac301353437eb7d5957887edbf81d56e903999a75a3d743086"}, {file = "PyYAML-6.0.2-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:29717114e51c84ddfba879543fb232a6ed60086602313ca38cce623c1d62cfbf"}, @@ -3969,6 +3381,7 @@ version = "0.1" description = "A custom YAML tag for referencing environment variables in YAML files. " optional = false python-versions = ">=3.6" +groups = ["docs"] files = [ {file = "pyyaml_env_tag-0.1-py3-none-any.whl", hash = "sha256:af31106dec8a4d68c60207c1886031cbf839b68aa7abccdb19868200532c2069"}, {file = "pyyaml_env_tag-0.1.tar.gz", hash = "sha256:70092675bda14fdec33b31ba77e7543de9ddc88f2e5b99160396572d11525bdb"}, @@ -3983,6 +3396,7 @@ version = "26.2.0" description = "Python bindings for 0MQ" optional = false python-versions = ">=3.7" +groups = ["dev", "docs"] files = [ {file = "pyzmq-26.2.0-cp310-cp310-macosx_10_15_universal2.whl", hash = "sha256:ddf33d97d2f52d89f6e6e7ae66ee35a4d9ca6f36eda89c24591b0c40205a3629"}, {file = "pyzmq-26.2.0-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:dacd995031a01d16eec825bf30802fceb2c3791ef24bcce48fa98ce40918c27b"}, @@ -4104,6 +3518,7 @@ version = "43.0" description = "readme_renderer is a library for rendering readme descriptions for Warehouse" optional = false python-versions = ">=3.8" +groups = ["build", "dev"] files = [ {file = "readme_renderer-43.0-py3-none-any.whl", hash = "sha256:19db308d86ecd60e5affa3b2a98f017af384678c63c88e5d4556a380e674f3f9"}, {file = "readme_renderer-43.0.tar.gz", hash = "sha256:1818dd28140813509eeed8d62687f7cd4f7bad90d4db586001c5dc09d4fde311"}, @@ -4123,6 +3538,7 @@ version = "0.35.1" description = "JSON Referencing + Python" optional = false python-versions = ">=3.8" +groups = ["dev", "docs"] files = [ {file = "referencing-0.35.1-py3-none-any.whl", hash = "sha256:eda6d3234d62814d1c64e305c1331c9a3a6132da475ab6382eaa997b21ee75de"}, {file = "referencing-0.35.1.tar.gz", hash = "sha256:25b42124a6c8b632a425174f24087783efb348a6f1e0008e63cd4466fedf703c"}, @@ -4138,6 +3554,7 @@ version = "2024.11.6" description = "Alternative regular expression module, to replace re." optional = false python-versions = ">=3.8" +groups = ["docs"] files = [ {file = "regex-2024.11.6-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:ff590880083d60acc0433f9c3f713c51f7ac6ebb9adf889c79a261ecf541aa91"}, {file = "regex-2024.11.6-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:658f90550f38270639e83ce492f27d2c8d2cd63805c65a13a14d36ca126753f0"}, @@ -4241,6 +3658,7 @@ version = "2.32.3" description = "Python HTTP for Humans." optional = false python-versions = ">=3.8" +groups = ["build", "dev", "docs"] files = [ {file = "requests-2.32.3-py3-none-any.whl", hash = "sha256:70761cfe03c773ceb22aa2f671b4757976145175cdfca038c02654d061d6dcc6"}, {file = "requests-2.32.3.tar.gz", hash = "sha256:55365417734eb18255590a9ff9eb97e9e1da868d4ccd6402399eaf68af20a760"}, @@ -4262,6 +3680,7 @@ version = "1.0.0" description = "A utility belt for advanced users of python-requests" optional = false python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*" +groups = ["build", "dev"] files = [ {file = "requests-toolbelt-1.0.0.tar.gz", hash = "sha256:7681a0a3d047012b5bdc0ee37d7f8f07ebe76ab08caeccfc3921ce23c88d5bc6"}, {file = "requests_toolbelt-1.0.0-py2.py3-none-any.whl", hash = "sha256:cccfdd665f0a24fcf4726e690f65639d272bb0637b9b92dfd91a5568ccf6bd06"}, @@ -4276,6 +3695,7 @@ version = "0.1.4" description = "A pure python RFC3339 validator" optional = false python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*" +groups = ["dev"] files = [ {file = "rfc3339_validator-0.1.4-py2.py3-none-any.whl", hash = "sha256:24f6ec1eda14ef823da9e36ec7113124b39c04d50a4d3d3a3c2859577e7791fa"}, {file = "rfc3339_validator-0.1.4.tar.gz", hash = "sha256:138a2abdf93304ad60530167e51d2dfb9549521a836871b88d7f4695d0022f6b"}, @@ -4290,6 +3710,7 @@ version = "2.0.0" description = "Validating URI References per RFC 3986" optional = false python-versions = ">=3.7" +groups = ["build", "dev"] files = [ {file = "rfc3986-2.0.0-py2.py3-none-any.whl", hash = "sha256:50b1502b60e289cb37883f3dfd34532b8873c7de9f49bb546641ce9cbd256ebd"}, {file = "rfc3986-2.0.0.tar.gz", hash = "sha256:97aacf9dbd4bfd829baad6e6309fa6573aaf1be3f6fa735c8ab05e46cecb261c"}, @@ -4304,6 +3725,7 @@ version = "0.1.1" description = "Pure python rfc3986 validator" optional = false python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*" +groups = ["dev"] files = [ {file = "rfc3986_validator-0.1.1-py2.py3-none-any.whl", hash = "sha256:2f235c432ef459970b4306369336b9d5dbdda31b510ca1e327636e01f528bfa9"}, {file = "rfc3986_validator-0.1.1.tar.gz", hash = "sha256:3d44bde7921b3b9ec3ae4e3adca370438eccebc676456449b145d533b240d055"}, @@ -4315,6 +3737,7 @@ version = "13.9.4" description = "Render rich text, tables, progress bars, syntax highlighting, markdown and more to the terminal" optional = false python-versions = ">=3.8.0" +groups = ["build", "dev"] files = [ {file = "rich-13.9.4-py3-none-any.whl", hash = "sha256:6049d5e6ec054bf2779ab3358186963bac2ea89175919d699e378b99738c2a90"}, {file = "rich-13.9.4.tar.gz", hash = "sha256:439594978a49a09530cff7ebc4b5c7103ef57baf48d5ea3184f21d9a2befa098"}, @@ -4334,6 +3757,7 @@ version = "0.20.1" description = "Python bindings to Rust's persistent data structures (rpds)" optional = false python-versions = ">=3.8" +groups = ["dev", "docs"] files = [ {file = "rpds_py-0.20.1-cp310-cp310-macosx_10_12_x86_64.whl", hash = "sha256:a649dfd735fff086e8a9d0503a9f0c7d01b7912a333c7ae77e1515c08c146dad"}, {file = "rpds_py-0.20.1-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:f16bc1334853e91ddaaa1217045dd7be166170beec337576818461268a3de67f"}, @@ -4442,167 +3866,40 @@ files = [ [[package]] name = "ruff" -version = "0.8.5" +version = "0.8.6" description = "An extremely fast Python linter and code formatter, written in Rust." optional = false python-versions = ">=3.7" -files = [ - {file = "ruff-0.8.5-py3-none-linux_armv6l.whl", hash = "sha256:5ad11a5e3868a73ca1fa4727fe7e33735ea78b416313f4368c504dbeb69c0f88"}, - {file = "ruff-0.8.5-py3-none-macosx_10_12_x86_64.whl", hash = "sha256:f69ab37771ea7e0715fead8624ec42996d101269a96e31f4d31be6fc33aa19b7"}, - {file = "ruff-0.8.5-py3-none-macosx_11_0_arm64.whl", hash = "sha256:b5462d7804558ccff9c08fe8cbf6c14b7efe67404316696a2dde48297b1925bb"}, - {file = "ruff-0.8.5-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d56de7220a35607f9fe59f8a6d018e14504f7b71d784d980835e20fc0611cd50"}, - {file = "ruff-0.8.5-py3-none-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:9d99cf80b0429cbebf31cbbf6f24f05a29706f0437c40413d950e67e2d4faca4"}, - {file = "ruff-0.8.5-py3-none-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:7b75ac29715ac60d554a049dbb0ef3b55259076181c3369d79466cb130eb5afd"}, - {file = "ruff-0.8.5-py3-none-manylinux_2_17_ppc64.manylinux2014_ppc64.whl", hash = "sha256:c9d526a62c9eda211b38463528768fd0ada25dad524cb33c0e99fcff1c67b5dc"}, - {file = "ruff-0.8.5-py3-none-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:587c5e95007612c26509f30acc506c874dab4c4abbacd0357400bd1aa799931b"}, - {file = "ruff-0.8.5-py3-none-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:622b82bf3429ff0e346835ec213aec0a04d9730480cbffbb6ad9372014e31bbd"}, - {file = "ruff-0.8.5-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f99be814d77a5dac8a8957104bdd8c359e85c86b0ee0e38dca447cb1095f70fb"}, - {file = "ruff-0.8.5-py3-none-musllinux_1_2_aarch64.whl", hash = "sha256:c01c048f9c3385e0fd7822ad0fd519afb282af9cf1778f3580e540629df89725"}, - {file = "ruff-0.8.5-py3-none-musllinux_1_2_armv7l.whl", hash = "sha256:7512e8cb038db7f5db6aae0e24735ff9ea03bb0ed6ae2ce534e9baa23c1dc9ea"}, - {file = "ruff-0.8.5-py3-none-musllinux_1_2_i686.whl", hash = "sha256:762f113232acd5b768d6b875d16aad6b00082add40ec91c927f0673a8ec4ede8"}, - {file = "ruff-0.8.5-py3-none-musllinux_1_2_x86_64.whl", hash = "sha256:03a90200c5dfff49e4c967b405f27fdfa81594cbb7c5ff5609e42d7fe9680da5"}, - {file = "ruff-0.8.5-py3-none-win32.whl", hash = "sha256:8710ffd57bdaa6690cbf6ecff19884b8629ec2a2a2a2f783aa94b1cc795139ed"}, - {file = "ruff-0.8.5-py3-none-win_amd64.whl", hash = "sha256:4020d8bf8d3a32325c77af452a9976a9ad6455773bcb94991cf15bd66b347e47"}, - {file = "ruff-0.8.5-py3-none-win_arm64.whl", hash = "sha256:134ae019ef13e1b060ab7136e7828a6d83ea727ba123381307eb37c6bd5e01cb"}, - {file = "ruff-0.8.5.tar.gz", hash = "sha256:1098d36f69831f7ff2a1da3e6407d5fbd6dfa2559e4f74ff2d260c5588900317"}, -] - -[[package]] -name = "scipy" -version = "1.10.0" -description = "Fundamental algorithms for scientific computing in Python" -optional = false -python-versions = "<3.12,>=3.8" -files = [ - {file = "scipy-1.10.0-cp310-cp310-macosx_10_15_x86_64.whl", hash = "sha256:b901b423c91281a974f6cd1c36f5c6c523e665b5a6d5e80fcb2334e14670eefd"}, - {file = "scipy-1.10.0-cp310-cp310-macosx_12_0_arm64.whl", hash = "sha256:16ba05d3d1b9f2141004f3f36888e05894a525960b07f4c2bfc0456b955a00be"}, - {file = "scipy-1.10.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:151f066fe7d6653c3ffefd489497b8fa66d7316e3e0d0c0f7ff6acca1b802809"}, - {file = "scipy-1.10.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:2f9ea0a37aca111a407cb98aa4e8dfde6e5d9333bae06dfa5d938d14c80bb5c3"}, - {file = "scipy-1.10.0-cp310-cp310-win_amd64.whl", hash = "sha256:27e548276b5a88b51212b61f6dda49a24acf5d770dff940bd372b3f7ced8c6c2"}, - {file = "scipy-1.10.0-cp311-cp311-macosx_10_15_x86_64.whl", hash = "sha256:42ab8b9e7dc1ebe248e55f54eea5307b6ab15011a7883367af48dd781d1312e4"}, - {file = "scipy-1.10.0-cp311-cp311-macosx_12_0_arm64.whl", hash = "sha256:e096b062d2efdea57f972d232358cb068413dc54eec4f24158bcbb5cb8bddfd8"}, - {file = "scipy-1.10.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:4df25a28bd22c990b22129d3c637fd5c3be4b7c94f975dca909d8bab3309b694"}, - {file = "scipy-1.10.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:2ad449db4e0820e4b42baccefc98ec772ad7818dcbc9e28b85aa05a536b0f1a2"}, - {file = "scipy-1.10.0-cp311-cp311-win_amd64.whl", hash = "sha256:6faf86ef7717891195ae0537e48da7524d30bc3b828b30c9b115d04ea42f076f"}, - {file = "scipy-1.10.0-cp38-cp38-macosx_10_15_x86_64.whl", hash = "sha256:4bd0e3278126bc882d10414436e58fa3f1eca0aa88b534fcbf80ed47e854f46c"}, - {file = "scipy-1.10.0-cp38-cp38-macosx_12_0_arm64.whl", hash = "sha256:38bfbd18dcc69eeb589811e77fae552fa923067fdfbb2e171c9eac749885f210"}, - {file = "scipy-1.10.0-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:0ab2a58064836632e2cec31ca197d3695c86b066bc4818052b3f5381bfd2a728"}, - {file = "scipy-1.10.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:5cd7a30970c29d9768a7164f564d1fbf2842bfc77b7d114a99bc32703ce0bf48"}, - {file = "scipy-1.10.0-cp38-cp38-win_amd64.whl", hash = "sha256:9b878c671655864af59c108c20e4da1e796154bd78c0ed6bb02bc41c84625686"}, - {file = "scipy-1.10.0-cp39-cp39-macosx_10_15_x86_64.whl", hash = "sha256:3afcbddb4488ac950ce1147e7580178b333a29cd43524c689b2e3543a080a2c8"}, - {file = "scipy-1.10.0-cp39-cp39-macosx_12_0_arm64.whl", hash = "sha256:6e4497e5142f325a5423ff5fda2fff5b5d953da028637ff7c704378c8c284ea7"}, - {file = "scipy-1.10.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:441cab2166607c82e6d7a8683779cb89ba0f475b983c7e4ab88f3668e268c143"}, - {file = "scipy-1.10.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:0490dc499fe23e4be35b8b6dd1e60a4a34f0c4adb30ac671e6332446b3cbbb5a"}, - {file = "scipy-1.10.0-cp39-cp39-win_amd64.whl", hash = "sha256:954ff69d2d1bf666b794c1d7216e0a746c9d9289096a64ab3355a17c7c59db54"}, - {file = "scipy-1.10.0.tar.gz", hash = "sha256:c8b3cbc636a87a89b770c6afc999baa6bcbb01691b5ccbbc1b1791c7c0a07540"}, -] - -[package.dependencies] -numpy = ">=1.19.5,<1.27.0" - -[package.extras] -dev = ["click", "doit (>=0.36.0)", "flake8", "mypy", "pycodestyle", "pydevtool", "rich-click", "typing_extensions"] -doc = ["matplotlib (>2)", "numpydoc", "pydata-sphinx-theme (==0.9.0)", "sphinx (!=4.1.0)", "sphinx-design (>=0.2.0)"] -test = ["asv", "gmpy2", "mpmath", "pooch", "pytest", "pytest-cov", "pytest-timeout", "pytest-xdist", "scikit-umfpack", "threadpoolctl"] - -[[package]] -name = "scipy" -version = "1.13.1" -description = "Fundamental algorithms for scientific computing in Python" -optional = false -python-versions = ">=3.9" -files = [ - {file = "scipy-1.13.1-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:20335853b85e9a49ff7572ab453794298bcf0354d8068c5f6775a0eabf350aca"}, - {file = "scipy-1.13.1-cp310-cp310-macosx_12_0_arm64.whl", hash = "sha256:d605e9c23906d1994f55ace80e0125c587f96c020037ea6aa98d01b4bd2e222f"}, - {file = "scipy-1.13.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:cfa31f1def5c819b19ecc3a8b52d28ffdcc7ed52bb20c9a7589669dd3c250989"}, - {file = "scipy-1.13.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f26264b282b9da0952a024ae34710c2aff7d27480ee91a2e82b7b7073c24722f"}, - {file = "scipy-1.13.1-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:eccfa1906eacc02de42d70ef4aecea45415f5be17e72b61bafcfd329bdc52e94"}, - {file = "scipy-1.13.1-cp310-cp310-win_amd64.whl", hash = "sha256:2831f0dc9c5ea9edd6e51e6e769b655f08ec6db6e2e10f86ef39bd32eb11da54"}, - {file = "scipy-1.13.1-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:27e52b09c0d3a1d5b63e1105f24177e544a222b43611aaf5bc44d4a0979e32f9"}, - {file = "scipy-1.13.1-cp311-cp311-macosx_12_0_arm64.whl", hash = "sha256:54f430b00f0133e2224c3ba42b805bfd0086fe488835effa33fa291561932326"}, - {file = "scipy-1.13.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:e89369d27f9e7b0884ae559a3a956e77c02114cc60a6058b4e5011572eea9299"}, - {file = "scipy-1.13.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:a78b4b3345f1b6f68a763c6e25c0c9a23a9fd0f39f5f3d200efe8feda560a5fa"}, - {file = "scipy-1.13.1-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:45484bee6d65633752c490404513b9ef02475b4284c4cfab0ef946def50b3f59"}, - {file = "scipy-1.13.1-cp311-cp311-win_amd64.whl", hash = "sha256:5713f62f781eebd8d597eb3f88b8bf9274e79eeabf63afb4a737abc6c84ad37b"}, - {file = "scipy-1.13.1-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:5d72782f39716b2b3509cd7c33cdc08c96f2f4d2b06d51e52fb45a19ca0c86a1"}, - {file = "scipy-1.13.1-cp312-cp312-macosx_12_0_arm64.whl", hash = "sha256:017367484ce5498445aade74b1d5ab377acdc65e27095155e448c88497755a5d"}, - {file = "scipy-1.13.1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:949ae67db5fa78a86e8fa644b9a6b07252f449dcf74247108c50e1d20d2b4627"}, - {file = "scipy-1.13.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:de3ade0e53bc1f21358aa74ff4830235d716211d7d077e340c7349bc3542e884"}, - {file = "scipy-1.13.1-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:2ac65fb503dad64218c228e2dc2d0a0193f7904747db43014645ae139c8fad16"}, - {file = "scipy-1.13.1-cp312-cp312-win_amd64.whl", hash = "sha256:cdd7dacfb95fea358916410ec61bbc20440f7860333aee6d882bb8046264e949"}, - {file = "scipy-1.13.1-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:436bbb42a94a8aeef855d755ce5a465479c721e9d684de76bf61a62e7c2b81d5"}, - {file = "scipy-1.13.1-cp39-cp39-macosx_12_0_arm64.whl", hash = "sha256:8335549ebbca860c52bf3d02f80784e91a004b71b059e3eea9678ba994796a24"}, - {file = "scipy-1.13.1-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d533654b7d221a6a97304ab63c41c96473ff04459e404b83275b60aa8f4b7004"}, - {file = "scipy-1.13.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:637e98dcf185ba7f8e663e122ebf908c4702420477ae52a04f9908707456ba4d"}, - {file = "scipy-1.13.1-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:a014c2b3697bde71724244f63de2476925596c24285c7a637364761f8710891c"}, - {file = "scipy-1.13.1-cp39-cp39-win_amd64.whl", hash = "sha256:392e4ec766654852c25ebad4f64e4e584cf19820b980bc04960bca0b0cd6eaa2"}, - {file = "scipy-1.13.1.tar.gz", hash = "sha256:095a87a0312b08dfd6a6155cbbd310a8c51800fc931b8c0b84003014b874ed3c"}, -] - -[package.dependencies] -numpy = ">=1.22.4,<2.3" - -[package.extras] -dev = ["cython-lint (>=0.12.2)", "doit (>=0.36.0)", "mypy", "pycodestyle", "pydevtool", "rich-click", "ruff", "types-psutil", "typing_extensions"] -doc = ["jupyterlite-pyodide-kernel", "jupyterlite-sphinx (>=0.12.0)", "jupytext", "matplotlib (>=3.5)", "myst-nb", "numpydoc", "pooch", "pydata-sphinx-theme (>=0.15.2)", "sphinx (>=5.0.0)", "sphinx-design (>=0.4.0)"] -test = ["array-api-strict", "asv", "gmpy2", "hypothesis (>=6.30)", "mpmath", "pooch", "pytest", "pytest-cov", "pytest-timeout", "pytest-xdist", "scikit-umfpack", "threadpoolctl"] - -[[package]] -name = "scipy" -version = "1.14.1" -description = "Fundamental algorithms for scientific computing in Python" -optional = false -python-versions = ">=3.10" -files = [ - {file = "scipy-1.14.1-cp310-cp310-macosx_10_13_x86_64.whl", hash = "sha256:b28d2ca4add7ac16ae8bb6632a3c86e4b9e4d52d3e34267f6e1b0c1f8d87e389"}, - {file = "scipy-1.14.1-cp310-cp310-macosx_12_0_arm64.whl", hash = "sha256:d0d2821003174de06b69e58cef2316a6622b60ee613121199cb2852a873f8cf3"}, - {file = "scipy-1.14.1-cp310-cp310-macosx_14_0_arm64.whl", hash = "sha256:8bddf15838ba768bb5f5083c1ea012d64c9a444e16192762bd858f1e126196d0"}, - {file = "scipy-1.14.1-cp310-cp310-macosx_14_0_x86_64.whl", hash = "sha256:97c5dddd5932bd2a1a31c927ba5e1463a53b87ca96b5c9bdf5dfd6096e27efc3"}, - {file = "scipy-1.14.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:2ff0a7e01e422c15739ecd64432743cf7aae2b03f3084288f399affcefe5222d"}, - {file = "scipy-1.14.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:8e32dced201274bf96899e6491d9ba3e9a5f6b336708656466ad0522d8528f69"}, - {file = "scipy-1.14.1-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:8426251ad1e4ad903a4514712d2fa8fdd5382c978010d1c6f5f37ef286a713ad"}, - {file = "scipy-1.14.1-cp310-cp310-win_amd64.whl", hash = "sha256:a49f6ed96f83966f576b33a44257d869756df6cf1ef4934f59dd58b25e0327e5"}, - {file = "scipy-1.14.1-cp311-cp311-macosx_10_13_x86_64.whl", hash = "sha256:2da0469a4ef0ecd3693761acbdc20f2fdeafb69e6819cc081308cc978153c675"}, - {file = "scipy-1.14.1-cp311-cp311-macosx_12_0_arm64.whl", hash = "sha256:c0ee987efa6737242745f347835da2cc5bb9f1b42996a4d97d5c7ff7928cb6f2"}, - {file = "scipy-1.14.1-cp311-cp311-macosx_14_0_arm64.whl", hash = "sha256:3a1b111fac6baec1c1d92f27e76511c9e7218f1695d61b59e05e0fe04dc59617"}, - {file = "scipy-1.14.1-cp311-cp311-macosx_14_0_x86_64.whl", hash = "sha256:8475230e55549ab3f207bff11ebfc91c805dc3463ef62eda3ccf593254524ce8"}, - {file = "scipy-1.14.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:278266012eb69f4a720827bdd2dc54b2271c97d84255b2faaa8f161a158c3b37"}, - {file = "scipy-1.14.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:fef8c87f8abfb884dac04e97824b61299880c43f4ce675dd2cbeadd3c9b466d2"}, - {file = "scipy-1.14.1-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:b05d43735bb2f07d689f56f7b474788a13ed8adc484a85aa65c0fd931cf9ccd2"}, - {file = "scipy-1.14.1-cp311-cp311-win_amd64.whl", hash = "sha256:716e389b694c4bb564b4fc0c51bc84d381735e0d39d3f26ec1af2556ec6aad94"}, - {file = "scipy-1.14.1-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:631f07b3734d34aced009aaf6fedfd0eb3498a97e581c3b1e5f14a04164a456d"}, - {file = "scipy-1.14.1-cp312-cp312-macosx_12_0_arm64.whl", hash = "sha256:af29a935803cc707ab2ed7791c44288a682f9c8107bc00f0eccc4f92c08d6e07"}, - {file = "scipy-1.14.1-cp312-cp312-macosx_14_0_arm64.whl", hash = "sha256:2843f2d527d9eebec9a43e6b406fb7266f3af25a751aa91d62ff416f54170bc5"}, - {file = "scipy-1.14.1-cp312-cp312-macosx_14_0_x86_64.whl", hash = "sha256:eb58ca0abd96911932f688528977858681a59d61a7ce908ffd355957f7025cfc"}, - {file = "scipy-1.14.1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:30ac8812c1d2aab7131a79ba62933a2a76f582d5dbbc695192453dae67ad6310"}, - {file = "scipy-1.14.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:8f9ea80f2e65bdaa0b7627fb00cbeb2daf163caa015e59b7516395fe3bd1e066"}, - {file = "scipy-1.14.1-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:edaf02b82cd7639db00dbff629995ef185c8df4c3ffa71a5562a595765a06ce1"}, - {file = "scipy-1.14.1-cp312-cp312-win_amd64.whl", hash = "sha256:2ff38e22128e6c03ff73b6bb0f85f897d2362f8c052e3b8ad00532198fbdae3f"}, - {file = "scipy-1.14.1-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:1729560c906963fc8389f6aac023739ff3983e727b1a4d87696b7bf108316a79"}, - {file = "scipy-1.14.1-cp313-cp313-macosx_12_0_arm64.whl", hash = "sha256:4079b90df244709e675cdc8b93bfd8a395d59af40b72e339c2287c91860deb8e"}, - {file = "scipy-1.14.1-cp313-cp313-macosx_14_0_arm64.whl", hash = "sha256:e0cf28db0f24a38b2a0ca33a85a54852586e43cf6fd876365c86e0657cfe7d73"}, - {file = "scipy-1.14.1-cp313-cp313-macosx_14_0_x86_64.whl", hash = "sha256:0c2f95de3b04e26f5f3ad5bb05e74ba7f68b837133a4492414b3afd79dfe540e"}, - {file = "scipy-1.14.1-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:b99722ea48b7ea25e8e015e8341ae74624f72e5f21fc2abd45f3a93266de4c5d"}, - {file = "scipy-1.14.1-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:5149e3fd2d686e42144a093b206aef01932a0059c2a33ddfa67f5f035bdfe13e"}, - {file = "scipy-1.14.1-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:e4f5a7c49323533f9103d4dacf4e4f07078f360743dec7f7596949149efeec06"}, - {file = "scipy-1.14.1-cp313-cp313-win_amd64.whl", hash = "sha256:baff393942b550823bfce952bb62270ee17504d02a1801d7fd0719534dfb9c84"}, - {file = "scipy-1.14.1.tar.gz", hash = "sha256:5a275584e726026a5699459aa72f828a610821006228e841b94275c4a7c08417"}, +groups = ["dev"] +files = [ + {file = "ruff-0.8.6-py3-none-linux_armv6l.whl", hash = "sha256:defed167955d42c68b407e8f2e6f56ba52520e790aba4ca707a9c88619e580e3"}, + {file = "ruff-0.8.6-py3-none-macosx_10_12_x86_64.whl", hash = "sha256:54799ca3d67ae5e0b7a7ac234baa657a9c1784b48ec954a094da7c206e0365b1"}, + {file = "ruff-0.8.6-py3-none-macosx_11_0_arm64.whl", hash = "sha256:e88b8f6d901477c41559ba540beeb5a671e14cd29ebd5683903572f4b40a9807"}, + {file = "ruff-0.8.6-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:0509e8da430228236a18a677fcdb0c1f102dd26d5520f71f79b094963322ed25"}, + {file = "ruff-0.8.6-py3-none-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:91a7ddb221779871cf226100e677b5ea38c2d54e9e2c8ed847450ebbdf99b32d"}, + {file = "ruff-0.8.6-py3-none-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:248b1fb3f739d01d528cc50b35ee9c4812aa58cc5935998e776bf8ed5b251e75"}, + {file = "ruff-0.8.6-py3-none-manylinux_2_17_ppc64.manylinux2014_ppc64.whl", hash = "sha256:bc3c083c50390cf69e7e1b5a5a7303898966be973664ec0c4a4acea82c1d4315"}, + {file = "ruff-0.8.6-py3-none-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:52d587092ab8df308635762386f45f4638badb0866355b2b86760f6d3c076188"}, + {file = "ruff-0.8.6-py3-none-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:61323159cf21bc3897674e5adb27cd9e7700bab6b84de40d7be28c3d46dc67cf"}, + {file = "ruff-0.8.6-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:7ae4478b1471fc0c44ed52a6fb787e641a2ac58b1c1f91763bafbc2faddc5117"}, + {file = "ruff-0.8.6-py3-none-musllinux_1_2_aarch64.whl", hash = "sha256:0c000a471d519b3e6cfc9c6680025d923b4ca140ce3e4612d1a2ef58e11f11fe"}, + {file = "ruff-0.8.6-py3-none-musllinux_1_2_armv7l.whl", hash = "sha256:9257aa841e9e8d9b727423086f0fa9a86b6b420fbf4bf9e1465d1250ce8e4d8d"}, + {file = "ruff-0.8.6-py3-none-musllinux_1_2_i686.whl", hash = "sha256:45a56f61b24682f6f6709636949ae8cc82ae229d8d773b4c76c09ec83964a95a"}, + {file = "ruff-0.8.6-py3-none-musllinux_1_2_x86_64.whl", hash = "sha256:496dd38a53aa173481a7d8866bcd6451bd934d06976a2505028a50583e001b76"}, + {file = "ruff-0.8.6-py3-none-win32.whl", hash = "sha256:e169ea1b9eae61c99b257dc83b9ee6c76f89042752cb2d83486a7d6e48e8f764"}, + {file = "ruff-0.8.6-py3-none-win_amd64.whl", hash = "sha256:f1d70bef3d16fdc897ee290d7d20da3cbe4e26349f62e8a0274e7a3f4ce7a905"}, + {file = "ruff-0.8.6-py3-none-win_arm64.whl", hash = "sha256:7d7fc2377a04b6e04ffe588caad613d0c460eb2ecba4c0ccbbfe2bc973cbc162"}, + {file = "ruff-0.8.6.tar.gz", hash = "sha256:dcad24b81b62650b0eb8814f576fc65cfee8674772a6e24c9b747911801eeaa5"}, ] -[package.dependencies] -numpy = ">=1.23.5,<2.3" - -[package.extras] -dev = ["cython-lint (>=0.12.2)", "doit (>=0.36.0)", "mypy (==1.10.0)", "pycodestyle", "pydevtool", "rich-click", "ruff (>=0.0.292)", "types-psutil", "typing_extensions"] -doc = ["jupyterlite-pyodide-kernel", "jupyterlite-sphinx (>=0.13.1)", "jupytext", "matplotlib (>=3.5)", "myst-nb", "numpydoc", "pooch", "pydata-sphinx-theme (>=0.15.2)", "sphinx (>=5.0.0,<=7.3.7)", "sphinx-design (>=0.4.0)"] -test = ["Cython", "array-api-strict (>=2.0)", "asv", "gmpy2", "hypothesis (>=6.30)", "meson", "mpmath", "ninja", "pooch", "pytest", "pytest-cov", "pytest-timeout", "pytest-xdist", "scikit-umfpack", "threadpoolctl"] - [[package]] name = "secretstorage" version = "3.3.3" description = "Python bindings to FreeDesktop.org Secret Service API" optional = false python-versions = ">=3.6" +groups = ["build", "dev"] +markers = "(platform_machine != \"ppc64le\" and platform_machine != \"s390x\") and sys_platform == \"linux\"" files = [ {file = "SecretStorage-3.3.3-py3-none-any.whl", hash = "sha256:f356e6628222568e3af06f2eba8df495efa13b3b63081dafd4f7d9a7b7bc9f99"}, {file = "SecretStorage-3.3.3.tar.gz", hash = "sha256:2403533ef369eca6d2ba81718576c5e0f564d5cca1b58f73a8b23e7d4eeebd77"}, @@ -4618,6 +3915,7 @@ version = "1.8.3" description = "Send file to trash natively under Mac OS X, Windows and Linux" optional = false python-versions = "!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*,!=3.4.*,!=3.5.*,>=2.7" +groups = ["dev"] files = [ {file = "Send2Trash-1.8.3-py3-none-any.whl", hash = "sha256:0c31227e0bd08961c7665474a3d1ef7193929fedda4233843689baa056be46c9"}, {file = "Send2Trash-1.8.3.tar.gz", hash = "sha256:b18e7a3966d99871aefeb00cfbcfdced55ce4871194810fc71f4aa484b953abf"}, @@ -4634,6 +3932,7 @@ version = "75.3.0" description = "Easily download, build, install, upgrade, and uninstall Python packages" optional = false python-versions = ">=3.8" +groups = ["dev"] files = [ {file = "setuptools-75.3.0-py3-none-any.whl", hash = "sha256:f2504966861356aa38616760c0f66568e535562374995367b4e69c7143cf6bcd"}, {file = "setuptools-75.3.0.tar.gz", hash = "sha256:fba5dd4d766e97be1b1681d98712680ae8f2f26d7881245f2ce9e40714f1a686"}, @@ -4654,10 +3953,12 @@ version = "1.17.0" description = "Python 2 and 3 compatibility utilities" optional = false python-versions = "!=3.0.*,!=3.1.*,!=3.2.*,>=2.7" +groups = ["main", "dev", "docs"] files = [ {file = "six-1.17.0-py2.py3-none-any.whl", hash = "sha256:4721f391ed90541fddacab5acf947aa0d3dc7d27b2e1e8eda2be8970586c3274"}, {file = "six-1.17.0.tar.gz", hash = "sha256:ff70335d468e7eb6ec65b95b99d3a2836546063f63acc5171de367e834932a81"}, ] +markers = {main = "extra == \"metrics\" and (python_version <= \"3.11\" or python_version >= \"3.12\")"} [[package]] name = "smmap" @@ -4665,6 +3966,7 @@ version = "5.0.2" description = "A pure Python implementation of a sliding window memory map manager" optional = false python-versions = ">=3.7" +groups = ["docs"] files = [ {file = "smmap-5.0.2-py3-none-any.whl", hash = "sha256:b30115f0def7d7531d22a0fb6502488d879e75b260a9db4d0819cfb25403af5e"}, {file = "smmap-5.0.2.tar.gz", hash = "sha256:26ea65a03958fa0c8a1c7e8c7a58fdc77221b8910f6be2131affade476898ad5"}, @@ -4676,6 +3978,7 @@ version = "1.3.1" description = "Sniff out which async library your code is running under" optional = false python-versions = ">=3.7" +groups = ["dev"] files = [ {file = "sniffio-1.3.1-py3-none-any.whl", hash = "sha256:2f6da418d1f1e0fddd844478f41680e794e6051915791a034ff65e5f100525a2"}, {file = "sniffio-1.3.1.tar.gz", hash = "sha256:f4324edc670a0f49750a81b895f35c3adb843cca46f0530f79fc1babb23789dc"}, @@ -4687,6 +3990,7 @@ version = "2.6" description = "A modern CSS selector implementation for Beautiful Soup." optional = false python-versions = ">=3.8" +groups = ["dev", "docs"] files = [ {file = "soupsieve-2.6-py3-none-any.whl", hash = "sha256:e72c4ff06e4fb6e4b5a9f0f55fe6e81514581fca1515028625d0f299c602ccc9"}, {file = "soupsieve-2.6.tar.gz", hash = "sha256:e2e68417777af359ec65daac1057404a3c8a5455bb8abc36f1a9866ab1a51abb"}, @@ -4698,6 +4002,7 @@ version = "0.6.3" description = "Extract data from python stack frames and tracebacks for informative displays" optional = false python-versions = "*" +groups = ["dev", "docs"] files = [ {file = "stack_data-0.6.3-py3-none-any.whl", hash = "sha256:d5558e0c25a4cb0853cddad3d77da9891a08cb85dd9f9f91b9f8cd66e511e695"}, {file = "stack_data-0.6.3.tar.gz", hash = "sha256:836a778de4fec4dcd1dcd89ed8abff8a221f58308462e1c4aa2a3cf30148f0b9"}, @@ -4717,6 +4022,7 @@ version = "0.18.1" description = "Tornado websocket backend for the Xterm.js Javascript terminal emulator library." optional = false python-versions = ">=3.8" +groups = ["dev"] files = [ {file = "terminado-0.18.1-py3-none-any.whl", hash = "sha256:a4468e1b37bb318f8a86514f65814e1afc977cf29b3992a4500d9dd305dcceb0"}, {file = "terminado-0.18.1.tar.gz", hash = "sha256:de09f2c4b85de4765f7714688fff57d3e75bad1f909b589fde880460c753fd2e"}, @@ -4738,6 +4044,7 @@ version = "1.2.1" description = "A tiny CSS parser" optional = false python-versions = ">=3.7" +groups = ["dev", "docs"] files = [ {file = "tinycss2-1.2.1-py3-none-any.whl", hash = "sha256:2b80a96d41e7c3914b8cda8bc7f705a4d9c49275616e886103dd839dfc847847"}, {file = "tinycss2-1.2.1.tar.gz", hash = "sha256:8cff3a8f066c2ec677c06dbc7b45619804a6938478d9d73c284b29d14ecb0627"}, @@ -4756,6 +4063,8 @@ version = "2.2.1" description = "A lil' TOML parser" optional = false python-versions = ">=3.8" +groups = ["dev", "docs", "test"] +markers = "python_version < \"3.11\"" files = [ {file = "tomli-2.2.1-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:678e4fa69e4575eb77d103de3df8a895e1591b48e740211bd1067378c69e8249"}, {file = "tomli-2.2.1-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:023aa114dd824ade0100497eb2318602af309e5a55595f76b626d6d9f3b7b0a6"}, @@ -4797,6 +4106,7 @@ version = "6.4.2" description = "Tornado is a Python web framework and asynchronous networking library, originally developed at FriendFeed." optional = false python-versions = ">=3.8" +groups = ["dev", "docs"] files = [ {file = "tornado-6.4.2-cp38-abi3-macosx_10_9_universal2.whl", hash = "sha256:e828cce1123e9e44ae2a50a9de3055497ab1d0aeb440c5ac23064d9e44880da1"}, {file = "tornado-6.4.2-cp38-abi3-macosx_10_9_x86_64.whl", hash = "sha256:072ce12ada169c5b00b7d92a99ba089447ccc993ea2143c9ede887e0937aa803"}, @@ -4817,6 +4127,7 @@ version = "4.23.2" description = "tox is a generic virtualenv management and test command line tool" optional = false python-versions = ">=3.8" +groups = ["dev"] files = [ {file = "tox-4.23.2-py3-none-any.whl", hash = "sha256:452bc32bb031f2282881a2118923176445bac783ab97c874b8770ab4c3b76c38"}, {file = "tox-4.23.2.tar.gz", hash = "sha256:86075e00e555df6e82e74cfc333917f91ecb47ffbc868dcafbd2672e332f4a2c"}, @@ -4838,33 +4149,13 @@ virtualenv = ">=20.26.6" [package.extras] test = ["devpi-process (>=1.0.2)", "pytest (>=8.3.3)", "pytest-mock (>=3.14)"] -[[package]] -name = "tqdm" -version = "4.67.1" -description = "Fast, Extensible Progress Meter" -optional = false -python-versions = ">=3.7" -files = [ - {file = "tqdm-4.67.1-py3-none-any.whl", hash = "sha256:26445eca388f82e72884e0d580d5464cd801a3ea01e63e5601bdff9ba6a48de2"}, - {file = "tqdm-4.67.1.tar.gz", hash = "sha256:f8aef9c52c08c13a65f30ea34f4e5aac3fd1a34959879d7e59e63027286627f2"}, -] - -[package.dependencies] -colorama = {version = "*", markers = "platform_system == \"Windows\""} - -[package.extras] -dev = ["nbval", "pytest (>=6)", "pytest-asyncio (>=0.24)", "pytest-cov", "pytest-timeout"] -discord = ["requests"] -notebook = ["ipywidgets (>=6)"] -slack = ["slack-sdk"] -telegram = ["requests"] - [[package]] name = "traitlets" version = "5.14.3" description = "Traitlets Python configuration system" optional = false python-versions = ">=3.8" +groups = ["dev", "docs"] files = [ {file = "traitlets-5.14.3-py3-none-any.whl", hash = "sha256:b74e89e397b1ed28cc831db7aea759ba6640cb3de13090ca145426688ff1ac4f"}, {file = "traitlets-5.14.3.tar.gz", hash = "sha256:9ed0579d3502c94b4b3732ac120375cda96f923114522847de4b3bb98b96b6b7"}, @@ -4880,6 +4171,7 @@ version = "6.0.1" description = "Collection of utilities for publishing packages on PyPI" optional = false python-versions = ">=3.8" +groups = ["build", "dev"] files = [ {file = "twine-6.0.1-py3-none-any.whl", hash = "sha256:9c6025b203b51521d53e200f4a08b116dee7500a38591668c6a6033117bdc218"}, {file = "twine-6.0.1.tar.gz", hash = "sha256:36158b09df5406e1c9c1fb8edb24fc2be387709443e7376689b938531582ee27"}, @@ -4906,6 +4198,7 @@ version = "1.16.0.20241221" description = "Typing stubs for cffi" optional = false python-versions = ">=3.8" +groups = ["typecheck"] files = [ {file = "types_cffi-1.16.0.20241221-py3-none-any.whl", hash = "sha256:e5b76b4211d7a9185f6ab8d06a106d56c7eb80af7cdb8bfcb4186ade10fb112f"}, {file = "types_cffi-1.16.0.20241221.tar.gz", hash = "sha256:1c96649618f4b6145f58231acb976e0b448be6b847f7ab733dabe62dfbff6591"}, @@ -4920,6 +4213,7 @@ version = "2.9.0.20241206" description = "Typing stubs for python-dateutil" optional = false python-versions = ">=3.8" +groups = ["dev"] files = [ {file = "types_python_dateutil-2.9.0.20241206-py3-none-any.whl", hash = "sha256:e248a4bc70a486d3e3ec84d0dc30eec3a5f979d6e7ee4123ae043eedbb987f53"}, {file = "types_python_dateutil-2.9.0.20241206.tar.gz", hash = "sha256:18f493414c26ffba692a72369fea7a154c502646301ebfe3d56a04b3767284cb"}, @@ -4931,6 +4225,7 @@ version = "2024.2.0.20241221" description = "Typing stubs for pytz" optional = false python-versions = ">=3.8" +groups = ["typecheck"] files = [ {file = "types_pytz-2024.2.0.20241221-py3-none-any.whl", hash = "sha256:8fc03195329c43637ed4f593663df721fef919b60a969066e22606edf0b53ad5"}, {file = "types_pytz-2024.2.0.20241221.tar.gz", hash = "sha256:06d7cde9613e9f7504766a0554a270c369434b50e00975b3a4a0f6eed0f2c1a9"}, @@ -4942,6 +4237,7 @@ version = "6.0.12.20241230" description = "Typing stubs for PyYAML" optional = false python-versions = ">=3.8" +groups = ["typecheck"] files = [ {file = "types_PyYAML-6.0.12.20241230-py3-none-any.whl", hash = "sha256:fa4d32565219b68e6dee5f67534c722e53c00d1cfc09c435ef04d7353e1e96e6"}, {file = "types_pyyaml-6.0.12.20241230.tar.gz", hash = "sha256:7f07622dbd34bb9c8b264fe860a17e0efcad00d50b5f27e93984909d9363498c"}, @@ -4953,6 +4249,7 @@ version = "2.32.0.20241016" description = "Typing stubs for requests" optional = false python-versions = ">=3.8" +groups = ["typecheck"] files = [ {file = "types-requests-2.32.0.20241016.tar.gz", hash = "sha256:0d9cad2f27515d0e3e3da7134a1b6f28fb97129d86b867f24d9c726452634d95"}, {file = "types_requests-2.32.0.20241016-py3-none-any.whl", hash = "sha256:4195d62d6d3e043a4eaaf08ff8a62184584d2e8684e9d2aa178c7915a7da3747"}, @@ -4967,6 +4264,7 @@ version = "75.6.0.20241223" description = "Typing stubs for setuptools" optional = false python-versions = ">=3.8" +groups = ["typecheck"] files = [ {file = "types_setuptools-75.6.0.20241223-py3-none-any.whl", hash = "sha256:7cbfd3bf2944f88bbcdd321b86ddd878232a277be95d44c78a53585d78ebc2f6"}, {file = "types_setuptools-75.6.0.20241223.tar.gz", hash = "sha256:d9478a985057ed48a994c707f548e55aababa85fe1c9b212f43ab5a1fffd3211"}, @@ -4978,6 +4276,7 @@ version = "4.67.0.20241221" description = "Typing stubs for tqdm" optional = false python-versions = ">=3.8" +groups = ["typecheck"] files = [ {file = "types_tqdm-4.67.0.20241221-py3-none-any.whl", hash = "sha256:a1f1c9cda5c2d8482d2c73957a5398bfdedda10f6bc7b3b4e812d5c910486d29"}, {file = "types_tqdm-4.67.0.20241221.tar.gz", hash = "sha256:e56046631056922385abe89aeb18af5611f471eadd7918a0ad7f34d84cd4c8cc"}, @@ -4992,10 +4291,12 @@ version = "4.12.2" description = "Backported and Experimental Type Hints for Python 3.8+" optional = false python-versions = ">=3.8" +groups = ["build", "dev", "docs"] files = [ {file = "typing_extensions-4.12.2-py3-none-any.whl", hash = "sha256:04e5ca0351e0f3f85c6853954072df659d0d13fac324d0072316b67d7794700d"}, {file = "typing_extensions-4.12.2.tar.gz", hash = "sha256:1a7ead55c7e559dd4dee8856e3a88b41225abfe1ce8df57b7c13915fe121ffb8"}, ] +markers = {build = "python_version < \"3.11\"", docs = "python_version < \"3.11\""} [[package]] name = "tzdata" @@ -5003,6 +4304,8 @@ version = "2024.2" description = "Provider of IANA time zone data" optional = true python-versions = ">=2" +groups = ["main"] +markers = "extra == \"metrics\" and (python_version <= \"3.11\" or python_version >= \"3.12\")" files = [ {file = "tzdata-2024.2-py2.py3-none-any.whl", hash = "sha256:a48093786cdcde33cad18c2555e8532f34422074448fbc874186f0abd79565cd"}, {file = "tzdata-2024.2.tar.gz", hash = "sha256:7d85cc416e9382e69095b7bdf4afd9e3880418a2413feec7069d533d6b4e31cc"}, @@ -5014,6 +4317,7 @@ version = "1.3.0" description = "RFC 6570 URI Template Processor" optional = false python-versions = ">=3.7" +groups = ["dev"] files = [ {file = "uri-template-1.3.0.tar.gz", hash = "sha256:0e00f8eb65e18c7de20d595a14336e9f337ead580c70934141624b6d1ffdacc7"}, {file = "uri_template-1.3.0-py3-none-any.whl", hash = "sha256:a44a133ea12d44a0c0f06d7d42a52d71282e77e2f937d8abd5655b8d56fc1363"}, @@ -5028,6 +4332,7 @@ version = "2.2.3" description = "HTTP library with thread-safe connection pooling, file post, and more." optional = false python-versions = ">=3.8" +groups = ["build", "dev", "docs", "typecheck"] files = [ {file = "urllib3-2.2.3-py3-none-any.whl", hash = "sha256:ca899ca043dcb1bafa3e262d73aa25c465bfb49e0bd9dd5d59f1d0acba2f8fac"}, {file = "urllib3-2.2.3.tar.gz", hash = "sha256:e7d814a81dad81e6caf2ec9fdedb284ecc9c73076b62654547cc64ccdcae26e9"}, @@ -5045,6 +4350,7 @@ version = "0.1.0" description = "Flexible version handling" optional = false python-versions = "*" +groups = ["docs"] files = [ {file = "verspec-0.1.0-py3-none-any.whl", hash = "sha256:741877d5633cc9464c45a469ae2a31e801e6dbbaa85b9675d481cda100f11c31"}, {file = "verspec-0.1.0.tar.gz", hash = "sha256:c4504ca697b2056cdb4bfa7121461f5a0e81809255b41c03dda4ba823637c01e"}, @@ -5055,13 +4361,14 @@ test = ["coverage", "flake8 (>=3.7)", "mypy", "pretend", "pytest"] [[package]] name = "virtualenv" -version = "20.28.0" +version = "20.28.1" description = "Virtual Python Environment builder" optional = false python-versions = ">=3.8" +groups = ["dev"] files = [ - {file = "virtualenv-20.28.0-py3-none-any.whl", hash = "sha256:23eae1b4516ecd610481eda647f3a7c09aea295055337331bb4e6892ecce47b0"}, - {file = "virtualenv-20.28.0.tar.gz", hash = "sha256:2c9c3262bb8e7b87ea801d715fae4495e6032450c71d2309be9550e7364049aa"}, + {file = "virtualenv-20.28.1-py3-none-any.whl", hash = "sha256:412773c85d4dab0409b83ec36f7a6499e72eaf08c80e81e9576bca61831c71cb"}, + {file = "virtualenv-20.28.1.tar.gz", hash = "sha256:5d34ab240fdb5d21549b76f9e8ff3af28252f5499fb6d6f031adac4e5a8c5329"}, ] [package.dependencies] @@ -5079,6 +4386,7 @@ version = "4.0.2" description = "Filesystem events monitoring" optional = false python-versions = ">=3.8" +groups = ["docs"] files = [ {file = "watchdog-4.0.2-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:ede7f010f2239b97cc79e6cb3c249e72962404ae3865860855d5cbe708b0fd22"}, {file = "watchdog-4.0.2-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:a2cffa171445b0efa0726c561eca9a27d00a1f2b83846dbd5a4f639c4f8ca8e1"}, @@ -5126,6 +4434,7 @@ version = "0.2.13" description = "Measures the displayed width of unicode strings in a terminal" optional = false python-versions = "*" +groups = ["dev", "docs"] files = [ {file = "wcwidth-0.2.13-py2.py3-none-any.whl", hash = "sha256:3da69048e4540d84af32131829ff948f1e022c1c6bdb8d6102117aac784f6859"}, {file = "wcwidth-0.2.13.tar.gz", hash = "sha256:72ea0c06399eb286d978fdedb6923a9eb47e1c486ce63e9b4e64fc18303972b5"}, @@ -5137,6 +4446,7 @@ version = "24.8.0" description = "A library for working with the color formats defined by HTML and CSS." optional = false python-versions = ">=3.8" +groups = ["dev"] files = [ {file = "webcolors-24.8.0-py3-none-any.whl", hash = "sha256:fc4c3b59358ada164552084a8ebee637c221e4059267d0f8325b3b560f6c7f0a"}, {file = "webcolors-24.8.0.tar.gz", hash = "sha256:08b07af286a01bcd30d583a7acadf629583d1f79bfef27dd2c2c5c263817277d"}, @@ -5152,6 +4462,7 @@ version = "0.5.1" description = "Character encoding aliases for legacy web content" optional = false python-versions = "*" +groups = ["dev", "docs"] files = [ {file = "webencodings-0.5.1-py2.py3-none-any.whl", hash = "sha256:a0af1213f3c2226497a97e2b3aa01a7e4bee4f403f95be16fc9acd2947514a78"}, {file = "webencodings-0.5.1.tar.gz", hash = "sha256:b36a1c245f2d304965eb4e0a82848379241dc04b865afcc4aab16748587e1923"}, @@ -5163,6 +4474,7 @@ version = "1.8.0" description = "WebSocket client for Python with low level API options" optional = false python-versions = ">=3.8" +groups = ["dev"] files = [ {file = "websocket_client-1.8.0-py3-none-any.whl", hash = "sha256:17b44cc997f5c498e809b22cdf2d9c7a9e71c02c8cc2b6c56e7c2d1239bfa526"}, {file = "websocket_client-1.8.0.tar.gz", hash = "sha256:3239df9f44da632f96012472805d40a23281a991027ce11d2f45a6f24ac4c3da"}, @@ -5179,6 +4491,7 @@ version = "0.45.1" description = "A built-package format for Python" optional = false python-versions = ">=3.8" +groups = ["dev", "docs"] files = [ {file = "wheel-0.45.1-py3-none-any.whl", hash = "sha256:708e7481cc80179af0e556bbf0cc00b8444c7321e2700b8d8580231d13017248"}, {file = "wheel-0.45.1.tar.gz", hash = "sha256:661e1abd9198507b1409a20c02106d9670b2576e916d58f520316666abca6729"}, @@ -5193,6 +4506,7 @@ version = "4.0.13" description = "Jupyter interactive widgets for Jupyter Notebook" optional = false python-versions = ">=3.7" +groups = ["dev"] files = [ {file = "widgetsnbextension-4.0.13-py3-none-any.whl", hash = "sha256:74b2692e8500525cc38c2b877236ba51d34541e6385eeed5aec15a70f88a6c71"}, {file = "widgetsnbextension-4.0.13.tar.gz", hash = "sha256:ffcb67bc9febd10234a362795f643927f4e0c05d9342c727b65d2384f8feacb6"}, @@ -5204,10 +4518,12 @@ version = "3.20.2" description = "Backport of pathlib-compatible object wrapper for zip files" optional = false python-versions = ">=3.8" +groups = ["build", "dev", "docs"] files = [ {file = "zipp-3.20.2-py3-none-any.whl", hash = "sha256:a817ac80d6cf4b23bf7f2828b7cabf326f15a001bea8b1f9b49631780ba28350"}, {file = "zipp-3.20.2.tar.gz", hash = "sha256:bc9eb26f4506fda01b81bcde0ca78103b6e62f991b381fec825435c836edbc29"}, ] +markers = {build = "python_version < \"3.12\" and (platform_machine != \"ppc64le\" and platform_machine != \"s390x\") or python_version < \"3.10\"", dev = "python_version < \"3.12\" and (platform_machine != \"ppc64le\" and platform_machine != \"s390x\") or python_full_version < \"3.10.2\""} [package.extras] check = ["pytest-checkdocs (>=2.4)", "pytest-ruff (>=0.2.1)"] @@ -5218,9 +4534,9 @@ test = ["big-O", "importlib-resources", "jaraco.functools", "jaraco.itertools", type = ["pytest-mypy"] [extras] -metrics = ["pandas", "pandas"] +metrics = ["pandas"] [metadata] -lock-version = "2.0" +lock-version = "2.1" python-versions = "^3.8" -content-hash = "621eea8ec013d7be2bb4b7d7093f81e57b74b6e668379de34488e34bcd88ab87" +content-hash = "fb2ea88c62572ec05e938d315c2535d38e6f8813eb7bc447b36c1496947ec22d" diff --git a/pyproject.toml b/pyproject.toml index e67cff4a0f..c6858f7d4b 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -1,18 +1,14 @@ -[tool.poetry] +[project] name = "supervision" -version = "0.26.0rc2" description = "A set of easy-to-use utils that will come in handy in any Computer Vision project" -authors = ["Piotr Skalski "] +license = { text = "MIT" } +readme = "README.md" +authors = [ + { name = "Piotr Skalski", email = "piotr.skalski92@gmail.com" } +] maintainers = [ - "Piotr Skalski ", - "Linas Kondrackis ", + { name = "Piotr Skalski", email = "piotr.skalski92@gmail.com" }, ] -readme = "README.md" -license = "MIT" -packages = [{ include = "supervision" }, { include = "supervision/py.typed" }] -homepage = "https://github.com/roboflow/supervision" -repository = "https://github.com/roboflow/supervision" -documentation = "https://supervision.roboflow.com/latest/" keywords = [ "machine-learning", "deep-learning", @@ -22,7 +18,6 @@ keywords = [ "AI", "Roboflow", ] - classifiers = [ 'Development Status :: 4 - Beta', 'Intended Audience :: Developers', @@ -40,6 +35,20 @@ classifiers = [ 'Operating System :: POSIX :: Linux', 'Operating System :: MacOS', ] +dynamic = ["version", "dependencies","requires-python"] + +[project.urls] +Homepage = "https://github.com/roboflow/supervision" +Repository = "https://github.com/roboflow/supervision" +Documentation = "https://supervision.roboflow.com/latest/" + +[project.optional-dependencies] +metrics = ["pandas"] + +[tool.poetry] +# Keep version here since it's dynamic +version = "0.26.0rc2" +packages = [{ include = "supervision" }, { include = "supervision/py.typed" }] [tool.poetry.dependencies] python = "^3.8" @@ -91,9 +100,6 @@ pandas = [ opencv-python = ">=4.5.5.64" -[tool.poetry.extras] -metrics = ["pandas"] - [tool.poetry.group.test.dependencies] pytest = ">=7.2.2,<9.0.0" pytest-md = "^0.2.0" From 4deb9597b2980be2fe0297ca0da51457017a4123 Mon Sep 17 00:00:00 2001 From: Onuralp SEZER Date: Mon, 6 Jan 2025 16:58:56 +0300 Subject: [PATCH 086/420] =?UTF-8?q?refactor:=20=F0=9F=9B=A0=EF=B8=8F=20upd?= =?UTF-8?q?ate=20dependencies=20in=20pyproject.toml=20and=20improve=20vers?= =?UTF-8?q?ioning=20for=20Python=20compatibility?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- poetry.lock | 1336 +++++++++++++++++++++++++++++++----------------- pyproject.toml | 91 +--- 2 files changed, 876 insertions(+), 551 deletions(-) diff --git a/poetry.lock b/poetry.lock index 83f007a43e..0e01b64924 100644 --- a/poetry.lock +++ b/poetry.lock @@ -7,6 +7,7 @@ description = "High level compatibility layer for multiple asynchronous event lo optional = false python-versions = ">=3.8" groups = ["dev"] +markers = "python_version <= \"3.11\" or python_version >= \"3.12\"" files = [ {file = "anyio-4.5.2-py3-none-any.whl", hash = "sha256:c011ee36bc1e8ba40e5a81cb9df91925c218fe9b778554e0b56a21e1b5d4716f"}, {file = "anyio-4.5.2.tar.gz", hash = "sha256:23009af4ed04ce05991845451e11ef02fc7c5ed29179ac9a420e5ad0ac7ddc5b"}, @@ -30,7 +31,7 @@ description = "Disable App Nap on macOS >= 10.9" optional = false python-versions = ">=3.6" groups = ["dev", "docs"] -markers = "platform_system == \"Darwin\" or sys_platform == \"darwin\"" +markers = "(sys_platform == \"darwin\" or platform_system == \"Darwin\") and (python_version <= \"3.11\" or python_version >= \"3.12\")" files = [ {file = "appnope-0.1.4-py2.py3-none-any.whl", hash = "sha256:502575ee11cd7a28c0205f379b525beefebab9d161b7c964670864014ed7213c"}, {file = "appnope-0.1.4.tar.gz", hash = "sha256:1de3860566df9caf38f01f86f65e0e13e379af54f9e4bee1e66b48f2efffd1ee"}, @@ -43,6 +44,7 @@ description = "Argon2 for Python" optional = false python-versions = ">=3.7" groups = ["dev"] +markers = "python_version <= \"3.11\" or python_version >= \"3.12\"" files = [ {file = "argon2_cffi-23.1.0-py3-none-any.whl", hash = "sha256:c670642b78ba29641818ab2e68bd4e6a78ba53b7eff7b4c3815ae16abf91c7ea"}, {file = "argon2_cffi-23.1.0.tar.gz", hash = "sha256:879c3e79a2729ce768ebb7d36d4609e3a78a4ca2ec3a9f12286ca057e3d0db08"}, @@ -64,6 +66,7 @@ description = "Low-level CFFI bindings for Argon2" optional = false python-versions = ">=3.6" groups = ["dev"] +markers = "python_version <= \"3.11\" or python_version >= \"3.12\"" files = [ {file = "argon2-cffi-bindings-21.2.0.tar.gz", hash = "sha256:bb89ceffa6c791807d1305ceb77dbfacc5aa499891d2c55661c6459651fc39e3"}, {file = "argon2_cffi_bindings-21.2.0-cp36-abi3-macosx_10_9_x86_64.whl", hash = "sha256:ccb949252cb2ab3a08c02024acb77cfb179492d5701c7cbdbfd776124d4d2367"}, @@ -102,6 +105,7 @@ description = "Better dates & times for Python" optional = false python-versions = ">=3.8" groups = ["dev"] +markers = "python_version <= \"3.11\" or python_version >= \"3.12\"" files = [ {file = "arrow-1.3.0-py3-none-any.whl", hash = "sha256:c728b120ebc00eb84e01882a6f5e7927a53960aa990ce7dd2b10f39005a67f80"}, {file = "arrow-1.3.0.tar.gz", hash = "sha256:d4540617648cb5f895730f1ad8c82a65f2dad0166f57b75f3ca54759c4d67a85"}, @@ -122,6 +126,7 @@ description = "Annotate AST trees with source code positions" optional = false python-versions = ">=3.8" groups = ["dev", "docs"] +markers = "python_version <= \"3.11\" or python_version >= \"3.12\"" files = [ {file = "asttokens-3.0.0-py3-none-any.whl", hash = "sha256:e3078351a059199dd5138cb1c706e6430c05eff2ff136af5eb4790f9d28932e2"}, {file = "asttokens-3.0.0.tar.gz", hash = "sha256:0dcd8baa8d62b0c1d118b399b2ddba3c4aff271d0d7a9e0d4c1681c79035bbc7"}, @@ -155,6 +160,7 @@ description = "Simple LRU cache for asyncio" optional = false python-versions = ">=3.8" groups = ["dev"] +markers = "python_version <= \"3.11\" or python_version >= \"3.12\"" files = [ {file = "async-lru-2.0.4.tar.gz", hash = "sha256:b8a59a5df60805ff63220b2a0c5b5393da5521b113cd5465a44eb037d81a5627"}, {file = "async_lru-2.0.4-py3-none-any.whl", hash = "sha256:ff02944ce3c288c5be660c42dbcca0742b32c3b279d6dceda655190240b99224"}, @@ -170,6 +176,7 @@ description = "Classes Without Boilerplate" optional = false python-versions = ">=3.8" groups = ["dev", "docs"] +markers = "python_version <= \"3.11\" or python_version >= \"3.12\"" files = [ {file = "attrs-24.3.0-py3-none-any.whl", hash = "sha256:ac96cd038792094f438ad1f6ff80837353805ac950cd2aa0e0625ef19850c308"}, {file = "attrs-24.3.0.tar.gz", hash = "sha256:8f5c07333d543103541ba7be0e2ce16eeee8130cb0b3f9238ab904ce1e85baff"}, @@ -190,6 +197,7 @@ description = "Internationalization utilities" optional = false python-versions = ">=3.8" groups = ["dev", "docs"] +markers = "python_version <= \"3.11\" or python_version >= \"3.12\"" files = [ {file = "babel-2.16.0-py3-none-any.whl", hash = "sha256:368b5b98b37c06b7daf6696391c3240c938b37767d4584413e8438c5c435fa8b"}, {file = "babel-2.16.0.tar.gz", hash = "sha256:d1f3554ca26605fe173f3de0c65f750f5a42f924499bf134de6423582298e316"}, @@ -208,6 +216,7 @@ description = "Specifications for callback functions passed in to an API" optional = false python-versions = "*" groups = ["dev", "docs"] +markers = "python_version <= \"3.11\" or python_version >= \"3.12\"" files = [ {file = "backcall-0.2.0-py2.py3-none-any.whl", hash = "sha256:fbbce6a29f263178a1f7915c1940bde0ec2b2a967566fe1c65c1dfb7422bd255"}, {file = "backcall-0.2.0.tar.gz", hash = "sha256:5cbdbf27be5e7cfadb448baf0aa95508f91f2bbc6c6437cd9cd06e2a4c215e1e"}, @@ -219,8 +228,8 @@ version = "1.2.0" description = "Backport of CPython tarfile module" optional = false python-versions = ">=3.8" -groups = ["build", "dev"] -markers = "(platform_machine != \"ppc64le\" and platform_machine != \"s390x\") and python_version < \"3.12\"" +groups = ["build"] +markers = "python_version < \"3.9\" and (platform_machine == \"arm64\" or platform_machine == \"aarch64\" or platform_machine != \"ppc64le\" and platform_machine != \"s390x\") and (platform_machine == \"arm64\" or platform_machine == \"aarch64\" or platform_system != \"Linux\" or platform_machine != \"ppc64le\" and platform_machine != \"s390x\" and platform_machine != \"aarch64\") and (platform_machine == \"arm64\" or platform_machine == \"aarch64\" or platform_system != \"Darwin\" or platform_machine != \"ppc64le\" and platform_machine != \"s390x\" and platform_machine != \"arm64\") or python_version >= \"3.9\" and python_version <= \"3.11\" and (platform_machine != \"ppc64le\" and platform_machine != \"s390x\")" files = [ {file = "backports.tarfile-1.2.0-py3-none-any.whl", hash = "sha256:77e284d754527b01fb1e6fa8a1afe577858ebe4e9dad8919e34c862cb399bc34"}, {file = "backports_tarfile-1.2.0.tar.gz", hash = "sha256:d75e02c268746e1b8144c278978b6e98e85de6ad16f8e4b0844a154557eca991"}, @@ -237,6 +246,7 @@ description = "Screen-scraping library" optional = false python-versions = ">=3.6.0" groups = ["dev", "docs"] +markers = "python_version <= \"3.11\" or python_version >= \"3.12\"" files = [ {file = "beautifulsoup4-4.12.3-py3-none-any.whl", hash = "sha256:b80878c9f40111313e55da8ba20bdba06d8fa3969fc68304167741bbf9e082ed"}, {file = "beautifulsoup4-4.12.3.tar.gz", hash = "sha256:74e3d1928edc070d21748185c46e3fb33490f22f52a3addee9aee0f4f7781051"}, @@ -259,6 +269,7 @@ description = "An easy safelist-based HTML-sanitizing tool." optional = false python-versions = ">=3.8" groups = ["dev", "docs"] +markers = "python_version <= \"3.11\" or python_version >= \"3.12\"" files = [ {file = "bleach-6.1.0-py3-none-any.whl", hash = "sha256:3225f354cfc436b9789c66c4ee030194bee0568fbf9cbdad3bc8b5c26c5f12b6"}, {file = "bleach-6.1.0.tar.gz", hash = "sha256:0a31f1837963c41d46bbf1331b8778e1308ea0791db03cc4e7357b97cf42a8fe"}, @@ -278,7 +289,8 @@ version = "1.2.2.post1" description = "A simple, correct Python build frontend" optional = false python-versions = ">=3.8" -groups = ["dev"] +groups = ["build"] +markers = "python_version <= \"3.11\" or python_version >= \"3.12\"" files = [ {file = "build-1.2.2.post1-py3-none-any.whl", hash = "sha256:1d61c0887fa860c01971625baae8bdd338e517b836a2f70dd1f7aa3a6b2fc5b5"}, {file = "build-1.2.2.post1.tar.gz", hash = "sha256:b36993e92ca9375a219c99e606a122ff365a760a2d4bba0caa09bd5278b608b7"}, @@ -305,6 +317,7 @@ description = "Extensible memoizing collections and decorators" optional = false python-versions = ">=3.7" groups = ["dev"] +markers = "python_version <= \"3.11\" or python_version >= \"3.12\"" files = [ {file = "cachetools-5.5.0-py3-none-any.whl", hash = "sha256:02134e8439cdc2ffb62023ce1debca2944c3f289d66bb17ead3ab3dede74b292"}, {file = "cachetools-5.5.0.tar.gz", hash = "sha256:2cc24fb4cbe39633fb7badd9db9ca6295d766d9c2995f245725a46715d050f2a"}, @@ -317,6 +330,7 @@ description = "cffi-based cairo bindings for Python" optional = false python-versions = ">=3.8" groups = ["docs"] +markers = "python_version <= \"3.11\" or python_version >= \"3.12\"" files = [ {file = "cairocffi-1.7.1-py3-none-any.whl", hash = "sha256:9803a0e11f6c962f3b0ae2ec8ba6ae45e957a146a004697a1ac1bbf16b073b3f"}, {file = "cairocffi-1.7.1.tar.gz", hash = "sha256:2e48ee864884ec4a3a34bfa8c9ab9999f688286eb714a15a43ec9d068c36557b"}, @@ -337,6 +351,7 @@ description = "A Simple SVG Converter based on Cairo" optional = false python-versions = ">=3.5" groups = ["docs"] +markers = "python_version <= \"3.11\" or python_version >= \"3.12\"" files = [ {file = "CairoSVG-2.7.1-py3-none-any.whl", hash = "sha256:8a5222d4e6c3f86f1f7046b63246877a63b49923a1cd202184c3a634ef546b3b"}, {file = "CairoSVG-2.7.1.tar.gz", hash = "sha256:432531d72347291b9a9ebfb6777026b607563fd8719c46ee742db0aef7271ba0"}, @@ -359,7 +374,8 @@ version = "2024.12.14" description = "Python package for providing Mozilla's CA Bundle." optional = false python-versions = ">=3.6" -groups = ["build", "dev", "docs"] +groups = ["main", "build", "dev", "docs"] +markers = "python_version <= \"3.11\" or python_version >= \"3.12\"" files = [ {file = "certifi-2024.12.14-py3-none-any.whl", hash = "sha256:1275f7a45be9464efc1173084eaa30f866fe2e47d389406136d332ed4967ec56"}, {file = "certifi-2024.12.14.tar.gz", hash = "sha256:b650d30f370c2b724812bee08008be0c4163b163ddaec3f2546c1caf65f191db"}, @@ -441,7 +457,7 @@ files = [ {file = "cffi-1.17.1-cp39-cp39-win_amd64.whl", hash = "sha256:d016c76bdd850f3c626af19b0542c9677ba156e4ee4fccfdd7848803533ef662"}, {file = "cffi-1.17.1.tar.gz", hash = "sha256:1c39c6016c32bc48dd54561950ebd6836e1670f2ae46128f67cf49e789c52824"}, ] -markers = {build = "(platform_machine != \"ppc64le\" and platform_machine != \"s390x\") and sys_platform == \"linux\" and platform_python_implementation != \"PyPy\""} +markers = {build = "(platform_machine != \"ppc64le\" and platform_machine != \"s390x\" or python_version < \"3.9\") and sys_platform == \"linux\" and platform_python_implementation != \"PyPy\" and (python_version <= \"3.11\" or python_version >= \"3.12\") and (platform_machine == \"arm64\" or platform_machine == \"aarch64\" or platform_machine != \"ppc64le\" and platform_machine != \"s390x\") and (platform_machine == \"arm64\" or platform_machine == \"aarch64\" or platform_system != \"Linux\" or platform_machine != \"ppc64le\" and platform_machine != \"s390x\" and platform_machine != \"aarch64\" or python_version >= \"3.9\") and (platform_machine == \"arm64\" or platform_machine == \"aarch64\" or platform_system != \"Darwin\" or platform_machine != \"ppc64le\" and platform_machine != \"s390x\" and platform_machine != \"arm64\" or python_version >= \"3.9\")", dev = "python_version <= \"3.11\" or python_version >= \"3.12\"", docs = "python_version <= \"3.11\" or python_version >= \"3.12\""} [package.dependencies] pycparser = "*" @@ -453,6 +469,7 @@ description = "Validate configuration and produce human readable error messages. optional = false python-versions = ">=3.8" groups = ["dev"] +markers = "python_version <= \"3.11\" or python_version >= \"3.12\"" files = [ {file = "cfgv-3.4.0-py2.py3-none-any.whl", hash = "sha256:b7265b1f29fd3316bfcd2b330d63d024f2bfd8bcb8b0272f8e19a504856c48f9"}, {file = "cfgv-3.4.0.tar.gz", hash = "sha256:e52591d4c5f5dead8e0f673fb16db7949d2cfb3f7da4582893288f0ded8fe560"}, @@ -465,6 +482,7 @@ description = "Universal encoding detector for Python 3" optional = false python-versions = ">=3.7" groups = ["dev"] +markers = "python_version <= \"3.11\" or python_version >= \"3.12\"" files = [ {file = "chardet-5.2.0-py3-none-any.whl", hash = "sha256:e1cf59446890a00105fe7b7912492ea04b6e6f06d4b742b2c788469e34c82970"}, {file = "chardet-5.2.0.tar.gz", hash = "sha256:1b3b6ff479a8c414bc3fa2c0852995695c4a026dcd6d0633b2dd092ca39c1cf7"}, @@ -476,7 +494,8 @@ version = "3.4.1" description = "The Real First Universal Charset Detector. Open, modern and actively maintained alternative to Chardet." optional = false python-versions = ">=3.7" -groups = ["build", "dev", "docs"] +groups = ["main", "build", "dev", "docs"] +markers = "python_version <= \"3.11\" or python_version >= \"3.12\"" files = [ {file = "charset_normalizer-3.4.1-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:91b36a978b5ae0ee86c394f5a54d6ef44db1de0815eb43de826d41d21e4af3de"}, {file = "charset_normalizer-3.4.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:7461baadb4dc00fd9e0acbe254e3d7d2112e7f92ced2adc96e54ef6501c5f176"}, @@ -579,6 +598,7 @@ description = "Composable command line interface toolkit" optional = false python-versions = ">=3.7" groups = ["docs"] +markers = "python_version <= \"3.11\" or python_version >= \"3.12\"" files = [ {file = "click-8.1.8-py3-none-any.whl", hash = "sha256:63c132bbbed01578a06712a2d1f497bb62d9c1c0d329b7903a866228027263b2"}, {file = "click-8.1.8.tar.gz", hash = "sha256:ed53c9d8990d83c2a27deae68e4ee337473f6330c040a31d4225c9574d16096a"}, @@ -593,12 +613,12 @@ version = "0.4.6" description = "Cross-platform colored terminal text." optional = false python-versions = "!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*,!=3.4.*,!=3.5.*,!=3.6.*,>=2.7" -groups = ["dev", "docs", "test"] +groups = ["main", "build", "dev", "docs"] files = [ {file = "colorama-0.4.6-py2.py3-none-any.whl", hash = "sha256:4f1d9991f5acc0ca119f9d443620b77f9d6b33703e51011c16baf57afb285fc6"}, {file = "colorama-0.4.6.tar.gz", hash = "sha256:08695f5cb7ed6e0531a20572697297273c47b8cae5a63ffc6d6ed5c201be6e44"}, ] -markers = {test = "sys_platform == \"win32\""} +markers = {main = "platform_system == \"Windows\" and (python_version <= \"3.11\" or python_version >= \"3.12\")", build = "(python_version <= \"3.11\" or python_version >= \"3.12\") and os_name == \"nt\"", dev = "python_version <= \"3.11\" or python_version >= \"3.12\"", docs = "python_version <= \"3.11\" or python_version >= \"3.12\""} [[package]] name = "comm" @@ -607,6 +627,7 @@ description = "Jupyter Python Comm implementation, for usage in ipykernel, xeus- optional = false python-versions = ">=3.8" groups = ["dev", "docs"] +markers = "python_version <= \"3.11\" or python_version >= \"3.12\"" files = [ {file = "comm-0.2.2-py3-none-any.whl", hash = "sha256:e6fb86cb70ff661ee8c9c14e7d36d6de3b4066f1441be4063df9c5009f0a64d3"}, {file = "comm-0.2.2.tar.gz", hash = "sha256:3fd7a84065306e07bea1773df6eb8282de51ba82f77c72f9c85716ab11fe980e"}, @@ -618,14 +639,151 @@ traitlets = ">=4" [package.extras] test = ["pytest"] +[[package]] +name = "contourpy" +version = "1.1.0" +description = "Python library for calculating contours of 2D quadrilateral grids" +optional = false +python-versions = ">=3.8" +groups = ["main"] +markers = "python_version >= \"3.12\"" +files = [ + {file = "contourpy-1.1.0-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:89f06eff3ce2f4b3eb24c1055a26981bffe4e7264acd86f15b97e40530b794bc"}, + {file = "contourpy-1.1.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:dffcc2ddec1782dd2f2ce1ef16f070861af4fb78c69862ce0aab801495dda6a3"}, + {file = "contourpy-1.1.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:25ae46595e22f93592d39a7eac3d638cda552c3e1160255258b695f7b58e5655"}, + {file = "contourpy-1.1.0-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:17cfaf5ec9862bc93af1ec1f302457371c34e688fbd381f4035a06cd47324f48"}, + {file = "contourpy-1.1.0-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:18a64814ae7bce73925131381603fff0116e2df25230dfc80d6d690aa6e20b37"}, + {file = "contourpy-1.1.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:90c81f22b4f572f8a2110b0b741bb64e5a6427e0a198b2cdc1fbaf85f352a3aa"}, + {file = "contourpy-1.1.0-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:53cc3a40635abedbec7f1bde60f8c189c49e84ac180c665f2cd7c162cc454baa"}, + {file = "contourpy-1.1.0-cp310-cp310-win32.whl", hash = "sha256:9b2dd2ca3ac561aceef4c7c13ba654aaa404cf885b187427760d7f7d4c57cff8"}, + {file = "contourpy-1.1.0-cp310-cp310-win_amd64.whl", hash = "sha256:1f795597073b09d631782e7245016a4323cf1cf0b4e06eef7ea6627e06a37ff2"}, + {file = "contourpy-1.1.0-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:0b7b04ed0961647691cfe5d82115dd072af7ce8846d31a5fac6c142dcce8b882"}, + {file = "contourpy-1.1.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:27bc79200c742f9746d7dd51a734ee326a292d77e7d94c8af6e08d1e6c15d545"}, + {file = "contourpy-1.1.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:052cc634bf903c604ef1a00a5aa093c54f81a2612faedaa43295809ffdde885e"}, + {file = "contourpy-1.1.0-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:9382a1c0bc46230fb881c36229bfa23d8c303b889b788b939365578d762b5c18"}, + {file = "contourpy-1.1.0-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:e5cec36c5090e75a9ac9dbd0ff4a8cf7cecd60f1b6dc23a374c7d980a1cd710e"}, + {file = "contourpy-1.1.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:1f0cbd657e9bde94cd0e33aa7df94fb73c1ab7799378d3b3f902eb8eb2e04a3a"}, + {file = "contourpy-1.1.0-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:181cbace49874f4358e2929aaf7ba84006acb76694102e88dd15af861996c16e"}, + {file = "contourpy-1.1.0-cp311-cp311-win32.whl", hash = "sha256:edb989d31065b1acef3828a3688f88b2abb799a7db891c9e282df5ec7e46221b"}, + {file = "contourpy-1.1.0-cp311-cp311-win_amd64.whl", hash = "sha256:fb3b7d9e6243bfa1efb93ccfe64ec610d85cfe5aec2c25f97fbbd2e58b531256"}, + {file = "contourpy-1.1.0-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:bcb41692aa09aeb19c7c213411854402f29f6613845ad2453d30bf421fe68fed"}, + {file = "contourpy-1.1.0-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:5d123a5bc63cd34c27ff9c7ac1cd978909e9c71da12e05be0231c608048bb2ae"}, + {file = "contourpy-1.1.0-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:62013a2cf68abc80dadfd2307299bfa8f5aa0dcaec5b2954caeb5fa094171103"}, + {file = "contourpy-1.1.0-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:0b6616375d7de55797d7a66ee7d087efe27f03d336c27cf1f32c02b8c1a5ac70"}, + {file = "contourpy-1.1.0-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:317267d915490d1e84577924bd61ba71bf8681a30e0d6c545f577363157e5e94"}, + {file = "contourpy-1.1.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:d551f3a442655f3dcc1285723f9acd646ca5858834efeab4598d706206b09c9f"}, + {file = "contourpy-1.1.0-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:e7a117ce7df5a938fe035cad481b0189049e8d92433b4b33aa7fc609344aafa1"}, + {file = "contourpy-1.1.0-cp38-cp38-win32.whl", hash = "sha256:108dfb5b3e731046a96c60bdc46a1a0ebee0760418951abecbe0fc07b5b93b27"}, + {file = "contourpy-1.1.0-cp38-cp38-win_amd64.whl", hash = "sha256:d4f26b25b4f86087e7d75e63212756c38546e70f2a92d2be44f80114826e1cd4"}, + {file = "contourpy-1.1.0-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:bc00bb4225d57bff7ebb634646c0ee2a1298402ec10a5fe7af79df9a51c1bfd9"}, + {file = "contourpy-1.1.0-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:189ceb1525eb0655ab8487a9a9c41f42a73ba52d6789754788d1883fb06b2d8a"}, + {file = "contourpy-1.1.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:9f2931ed4741f98f74b410b16e5213f71dcccee67518970c42f64153ea9313b9"}, + {file = "contourpy-1.1.0-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:30f511c05fab7f12e0b1b7730ebdc2ec8deedcfb505bc27eb570ff47c51a8f15"}, + {file = "contourpy-1.1.0-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:143dde50520a9f90e4a2703f367cf8ec96a73042b72e68fcd184e1279962eb6f"}, + {file = "contourpy-1.1.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:e94bef2580e25b5fdb183bf98a2faa2adc5b638736b2c0a4da98691da641316a"}, + {file = "contourpy-1.1.0-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:ed614aea8462735e7d70141374bd7650afd1c3f3cb0c2dbbcbe44e14331bf002"}, + {file = "contourpy-1.1.0-cp39-cp39-win32.whl", hash = "sha256:71551f9520f008b2950bef5f16b0e3587506ef4f23c734b71ffb7b89f8721999"}, + {file = "contourpy-1.1.0-cp39-cp39-win_amd64.whl", hash = "sha256:438ba416d02f82b692e371858143970ed2eb6337d9cdbbede0d8ad9f3d7dd17d"}, + {file = "contourpy-1.1.0-pp38-pypy38_pp73-macosx_10_9_x86_64.whl", hash = "sha256:a698c6a7a432789e587168573a864a7ea374c6be8d4f31f9d87c001d5a843493"}, + {file = "contourpy-1.1.0-pp38-pypy38_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:397b0ac8a12880412da3551a8cb5a187d3298a72802b45a3bd1805e204ad8439"}, + {file = "contourpy-1.1.0-pp38-pypy38_pp73-win_amd64.whl", hash = "sha256:a67259c2b493b00e5a4d0f7bfae51fb4b3371395e47d079a4446e9b0f4d70e76"}, + {file = "contourpy-1.1.0-pp39-pypy39_pp73-macosx_10_9_x86_64.whl", hash = "sha256:2b836d22bd2c7bb2700348e4521b25e077255ebb6ab68e351ab5aa91ca27e027"}, + {file = "contourpy-1.1.0-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:084eaa568400cfaf7179b847ac871582199b1b44d5699198e9602ecbbb5f6104"}, + {file = "contourpy-1.1.0-pp39-pypy39_pp73-win_amd64.whl", hash = "sha256:911ff4fd53e26b019f898f32db0d4956c9d227d51338fb3b03ec72ff0084ee5f"}, + {file = "contourpy-1.1.0.tar.gz", hash = "sha256:e53046c3863828d21d531cc3b53786e6580eb1ba02477e8681009b6aa0870b21"}, +] + +[package.dependencies] +numpy = ">=1.16" + +[package.extras] +bokeh = ["bokeh", "selenium"] +docs = ["furo", "sphinx-copybutton"] +mypy = ["contourpy[bokeh,docs]", "docutils-stubs", "mypy (==1.2.0)", "types-Pillow"] +test = ["Pillow", "contourpy[test-no-images]", "matplotlib"] +test-no-images = ["pytest", "pytest-cov", "wurlitzer"] + +[[package]] +name = "contourpy" +version = "1.1.1" +description = "Python library for calculating contours of 2D quadrilateral grids" +optional = false +python-versions = ">=3.8" +groups = ["main"] +markers = "python_version <= \"3.11\"" +files = [ + {file = "contourpy-1.1.1-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:46e24f5412c948d81736509377e255f6040e94216bf1a9b5ea1eaa9d29f6ec1b"}, + {file = "contourpy-1.1.1-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:0e48694d6a9c5a26ee85b10130c77a011a4fedf50a7279fa0bdaf44bafb4299d"}, + {file = "contourpy-1.1.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a66045af6cf00e19d02191ab578a50cb93b2028c3eefed999793698e9ea768ae"}, + {file = "contourpy-1.1.1-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:4ebf42695f75ee1a952f98ce9775c873e4971732a87334b099dde90b6af6a916"}, + {file = "contourpy-1.1.1-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:f6aec19457617ef468ff091669cca01fa7ea557b12b59a7908b9474bb9674cf0"}, + {file = "contourpy-1.1.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:462c59914dc6d81e0b11f37e560b8a7c2dbab6aca4f38be31519d442d6cde1a1"}, + {file = "contourpy-1.1.1-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:6d0a8efc258659edc5299f9ef32d8d81de8b53b45d67bf4bfa3067f31366764d"}, + {file = "contourpy-1.1.1-cp310-cp310-win32.whl", hash = "sha256:d6ab42f223e58b7dac1bb0af32194a7b9311065583cc75ff59dcf301afd8a431"}, + {file = "contourpy-1.1.1-cp310-cp310-win_amd64.whl", hash = "sha256:549174b0713d49871c6dee90a4b499d3f12f5e5f69641cd23c50a4542e2ca1eb"}, + {file = "contourpy-1.1.1-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:407d864db716a067cc696d61fa1ef6637fedf03606e8417fe2aeed20a061e6b2"}, + {file = "contourpy-1.1.1-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:dfe80c017973e6a4c367e037cb31601044dd55e6bfacd57370674867d15a899b"}, + {file = "contourpy-1.1.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:e30aaf2b8a2bac57eb7e1650df1b3a4130e8d0c66fc2f861039d507a11760e1b"}, + {file = "contourpy-1.1.1-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:3de23ca4f381c3770dee6d10ead6fff524d540c0f662e763ad1530bde5112532"}, + {file = "contourpy-1.1.1-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:566f0e41df06dfef2431defcfaa155f0acfa1ca4acbf8fd80895b1e7e2ada40e"}, + {file = "contourpy-1.1.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:b04c2f0adaf255bf756cf08ebef1be132d3c7a06fe6f9877d55640c5e60c72c5"}, + {file = "contourpy-1.1.1-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:d0c188ae66b772d9d61d43c6030500344c13e3f73a00d1dc241da896f379bb62"}, + {file = "contourpy-1.1.1-cp311-cp311-win32.whl", hash = "sha256:0683e1ae20dc038075d92e0e0148f09ffcefab120e57f6b4c9c0f477ec171f33"}, + {file = "contourpy-1.1.1-cp311-cp311-win_amd64.whl", hash = "sha256:8636cd2fc5da0fb102a2504fa2c4bea3cbc149533b345d72cdf0e7a924decc45"}, + {file = "contourpy-1.1.1-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:560f1d68a33e89c62da5da4077ba98137a5e4d3a271b29f2f195d0fba2adcb6a"}, + {file = "contourpy-1.1.1-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:24216552104ae8f3b34120ef84825400b16eb6133af2e27a190fdc13529f023e"}, + {file = "contourpy-1.1.1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:56de98a2fb23025882a18b60c7f0ea2d2d70bbbcfcf878f9067234b1c4818442"}, + {file = "contourpy-1.1.1-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:07d6f11dfaf80a84c97f1a5ba50d129d9303c5b4206f776e94037332e298dda8"}, + {file = "contourpy-1.1.1-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:f1eaac5257a8f8a047248d60e8f9315c6cff58f7803971170d952555ef6344a7"}, + {file = "contourpy-1.1.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:19557fa407e70f20bfaba7d55b4d97b14f9480856c4fb65812e8a05fe1c6f9bf"}, + {file = "contourpy-1.1.1-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:081f3c0880712e40effc5f4c3b08feca6d064cb8cfbb372ca548105b86fd6c3d"}, + {file = "contourpy-1.1.1-cp312-cp312-win32.whl", hash = "sha256:059c3d2a94b930f4dafe8105bcdc1b21de99b30b51b5bce74c753686de858cb6"}, + {file = "contourpy-1.1.1-cp312-cp312-win_amd64.whl", hash = "sha256:f44d78b61740e4e8c71db1cf1fd56d9050a4747681c59ec1094750a658ceb970"}, + {file = "contourpy-1.1.1-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:70e5a10f8093d228bb2b552beeb318b8928b8a94763ef03b858ef3612b29395d"}, + {file = "contourpy-1.1.1-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:8394e652925a18ef0091115e3cc191fef350ab6dc3cc417f06da66bf98071ae9"}, + {file = "contourpy-1.1.1-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:c5bd5680f844c3ff0008523a71949a3ff5e4953eb7701b28760805bc9bcff217"}, + {file = "contourpy-1.1.1-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:66544f853bfa85c0d07a68f6c648b2ec81dafd30f272565c37ab47a33b220684"}, + {file = "contourpy-1.1.1-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:e0c02b75acfea5cab07585d25069207e478d12309557f90a61b5a3b4f77f46ce"}, + {file = "contourpy-1.1.1-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:41339b24471c58dc1499e56783fedc1afa4bb018bcd035cfb0ee2ad2a7501ef8"}, + {file = "contourpy-1.1.1-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:f29fb0b3f1217dfe9362ec55440d0743fe868497359f2cf93293f4b2701b8251"}, + {file = "contourpy-1.1.1-cp38-cp38-win32.whl", hash = "sha256:f9dc7f933975367251c1b34da882c4f0e0b2e24bb35dc906d2f598a40b72bfc7"}, + {file = "contourpy-1.1.1-cp38-cp38-win_amd64.whl", hash = "sha256:498e53573e8b94b1caeb9e62d7c2d053c263ebb6aa259c81050766beb50ff8d9"}, + {file = "contourpy-1.1.1-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:ba42e3810999a0ddd0439e6e5dbf6d034055cdc72b7c5c839f37a7c274cb4eba"}, + {file = "contourpy-1.1.1-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:6c06e4c6e234fcc65435223c7b2a90f286b7f1b2733058bdf1345d218cc59e34"}, + {file = "contourpy-1.1.1-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:ca6fab080484e419528e98624fb5c4282148b847e3602dc8dbe0cb0669469887"}, + {file = "contourpy-1.1.1-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:93df44ab351119d14cd1e6b52a5063d3336f0754b72736cc63db59307dabb718"}, + {file = "contourpy-1.1.1-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:eafbef886566dc1047d7b3d4b14db0d5b7deb99638d8e1be4e23a7c7ac59ff0f"}, + {file = "contourpy-1.1.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:efe0fab26d598e1ec07d72cf03eaeeba8e42b4ecf6b9ccb5a356fde60ff08b85"}, + {file = "contourpy-1.1.1-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:f08e469821a5e4751c97fcd34bcb586bc243c39c2e39321822060ba902eac49e"}, + {file = "contourpy-1.1.1-cp39-cp39-win32.whl", hash = "sha256:bfc8a5e9238232a45ebc5cb3bfee71f1167064c8d382cadd6076f0d51cff1da0"}, + {file = "contourpy-1.1.1-cp39-cp39-win_amd64.whl", hash = "sha256:c84fdf3da00c2827d634de4fcf17e3e067490c4aea82833625c4c8e6cdea0887"}, + {file = "contourpy-1.1.1-pp38-pypy38_pp73-macosx_10_9_x86_64.whl", hash = "sha256:229a25f68046c5cf8067d6d6351c8b99e40da11b04d8416bf8d2b1d75922521e"}, + {file = "contourpy-1.1.1-pp38-pypy38_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:a10dab5ea1bd4401c9483450b5b0ba5416be799bbd50fc7a6cc5e2a15e03e8a3"}, + {file = "contourpy-1.1.1-pp38-pypy38_pp73-win_amd64.whl", hash = "sha256:4f9147051cb8fdb29a51dc2482d792b3b23e50f8f57e3720ca2e3d438b7adf23"}, + {file = "contourpy-1.1.1-pp39-pypy39_pp73-macosx_10_9_x86_64.whl", hash = "sha256:a75cc163a5f4531a256f2c523bd80db509a49fc23721b36dd1ef2f60ff41c3cb"}, + {file = "contourpy-1.1.1-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:3b53d5769aa1f2d4ea407c65f2d1d08002952fac1d9e9d307aa2e1023554a163"}, + {file = "contourpy-1.1.1-pp39-pypy39_pp73-win_amd64.whl", hash = "sha256:11b836b7dbfb74e049c302bbf74b4b8f6cb9d0b6ca1bf86cfa8ba144aedadd9c"}, + {file = "contourpy-1.1.1.tar.gz", hash = "sha256:96ba37c2e24b7212a77da85004c38e7c4d155d3e72a45eeaf22c1f03f607e8ab"}, +] + +[package.dependencies] +numpy = {version = ">=1.16,<2.0", markers = "python_version <= \"3.11\""} + +[package.extras] +bokeh = ["bokeh", "selenium"] +docs = ["furo", "sphinx (>=7.2)", "sphinx-copybutton"] +mypy = ["contourpy[bokeh,docs]", "docutils-stubs", "mypy (==1.4.1)", "types-Pillow"] +test = ["Pillow", "contourpy[test-no-images]", "matplotlib"] +test-no-images = ["pytest", "pytest-cov", "wurlitzer"] + [[package]] name = "cryptography" version = "43.0.3" description = "cryptography is a package which provides cryptographic recipes and primitives to Python developers." optional = false python-versions = ">=3.7" -groups = ["build", "dev"] -markers = "(platform_machine != \"ppc64le\" and platform_machine != \"s390x\") and sys_platform == \"linux\"" +groups = ["build"] +markers = "(platform_machine != \"ppc64le\" and platform_machine != \"s390x\" or python_version < \"3.9\") and sys_platform == \"linux\" and (python_version <= \"3.11\" or python_version >= \"3.12\") and (platform_machine == \"arm64\" or platform_machine == \"aarch64\" or platform_machine != \"ppc64le\" and platform_machine != \"s390x\") and (platform_machine == \"arm64\" or platform_machine == \"aarch64\" or platform_system != \"Linux\" or platform_machine != \"ppc64le\" and platform_machine != \"s390x\" and platform_machine != \"aarch64\" or python_version >= \"3.9\") and (platform_machine == \"arm64\" or platform_machine == \"aarch64\" or platform_system != \"Darwin\" or platform_machine != \"ppc64le\" and platform_machine != \"s390x\" and platform_machine != \"arm64\" or python_version >= \"3.9\")" files = [ {file = "cryptography-43.0.3-cp37-abi3-macosx_10_9_universal2.whl", hash = "sha256:bf7a1932ac4176486eab36a19ed4c0492da5d97123f1406cf15e41b05e787d2e"}, {file = "cryptography-43.0.3-cp37-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:63efa177ff54aec6e1c0aefaa1a241232dcd37413835a9b674b6e3f0ae2bfd3e"}, @@ -676,6 +834,7 @@ description = "CSS selectors for Python ElementTree" optional = false python-versions = ">=3.7" groups = ["docs"] +markers = "python_version <= \"3.11\" or python_version >= \"3.12\"" files = [ {file = "cssselect2-0.7.0-py3-none-any.whl", hash = "sha256:fd23a65bfd444595913f02fc71f6b286c29261e354c41d722ca7a261a49b5969"}, {file = "cssselect2-0.7.0.tar.gz", hash = "sha256:1ccd984dab89fc68955043aca4e1b03e0cf29cad9880f6e28e3ba7a74b14aa5a"}, @@ -689,6 +848,23 @@ webencodings = "*" doc = ["sphinx", "sphinx_rtd_theme"] test = ["flake8", "isort", "pytest"] +[[package]] +name = "cycler" +version = "0.12.1" +description = "Composable style cycles" +optional = false +python-versions = ">=3.8" +groups = ["main"] +markers = "python_version <= \"3.11\" or python_version >= \"3.12\"" +files = [ + {file = "cycler-0.12.1-py3-none-any.whl", hash = "sha256:85cef7cff222d8644161529808465972e51340599459b8ac3ccbac5a854e0d30"}, + {file = "cycler-0.12.1.tar.gz", hash = "sha256:88bb128f02ba341da8ef447245a9e138fae777f6a23943da4540077d3601eb1c"}, +] + +[package.extras] +docs = ["ipython", "matplotlib", "numpydoc", "sphinx"] +tests = ["pytest", "pytest-cov", "pytest-xdist"] + [[package]] name = "debugpy" version = "1.8.11" @@ -696,6 +872,7 @@ description = "An implementation of the Debug Adapter Protocol for Python" optional = false python-versions = ">=3.8" groups = ["dev", "docs"] +markers = "python_version <= \"3.11\" or python_version >= \"3.12\"" files = [ {file = "debugpy-1.8.11-cp310-cp310-macosx_14_0_x86_64.whl", hash = "sha256:2b26fefc4e31ff85593d68b9022e35e8925714a10ab4858fb1b577a8a48cb8cd"}, {file = "debugpy-1.8.11-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:61bc8b3b265e6949855300e84dc93d02d7a3a637f2aec6d382afd4ceb9120c9f"}, @@ -732,6 +909,7 @@ description = "Decorators for Humans" optional = false python-versions = ">=3.5" groups = ["dev", "docs"] +markers = "python_version <= \"3.11\" or python_version >= \"3.12\"" files = [ {file = "decorator-5.1.1-py3-none-any.whl", hash = "sha256:b8c3f85900b9dc423225913c5aace94729fe1fa9763b38939a95226f02d37186"}, {file = "decorator-5.1.1.tar.gz", hash = "sha256:637996211036b6385ef91435e4fae22989472f9d571faba8927ba8253acbc330"}, @@ -743,7 +921,8 @@ version = "0.7.1" description = "XML bomb protection for Python stdlib modules" optional = false python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*" -groups = ["dev", "docs"] +groups = ["main", "dev", "docs"] +markers = "python_version <= \"3.11\" or python_version >= \"3.12\"" files = [ {file = "defusedxml-0.7.1-py2.py3-none-any.whl", hash = "sha256:a352e7e428770286cc899e2542b6cdaedb2b4953ff269a210103ec58f6198a61"}, {file = "defusedxml-0.7.1.tar.gz", hash = "sha256:1bb3032db185915b62d7c6209c5a8792be6a32ab2fedacc84e01b52c51aa3e69"}, @@ -756,6 +935,7 @@ description = "Distribution utilities" optional = false python-versions = "*" groups = ["dev"] +markers = "python_version <= \"3.11\" or python_version >= \"3.12\"" files = [ {file = "distlib-0.3.9-py2.py3-none-any.whl", hash = "sha256:47f8c22fd27c27e25a65601af709b38e4f0a45ea4fc2e710f65755fa8caaaf87"}, {file = "distlib-0.3.9.tar.gz", hash = "sha256:a60f20dea646b8a33f3e7772f74dc0b2d0772d2837ee1342a00645c81edf9403"}, @@ -781,7 +961,7 @@ description = "Docutils -- Python Documentation Utilities" optional = false python-versions = ">=3.9" groups = ["build", "dev"] -markers = "python_version >= \"3.9\"" +markers = "python_version >= \"3.9\" and python_version <= \"3.11\" or python_version >= \"3.12\"" files = [ {file = "docutils-0.21.2-py3-none-any.whl", hash = "sha256:dafca5b9e384f0e419294eb4d2ff9fa826435bf15f15b7bd45723e8ad76811b2"}, {file = "docutils-0.21.2.tar.gz", hash = "sha256:3a6b18732edf182daa3cd12775bbb338cf5691468f91eeeb109deff6ebfa986f"}, @@ -793,7 +973,7 @@ version = "1.2.2" description = "Backport of PEP 654 (exception groups)" optional = false python-versions = ">=3.7" -groups = ["dev", "test"] +groups = ["dev"] markers = "python_version < \"3.11\"" files = [ {file = "exceptiongroup-1.2.2-py3-none-any.whl", hash = "sha256:3111b9d131c238bec2f8f516e123e14ba243563fb135d3fe885990585aa7795b"}, @@ -810,6 +990,7 @@ description = "Get the currently executing AST node of a frame, and other inform optional = false python-versions = ">=3.8" groups = ["dev", "docs"] +markers = "python_version <= \"3.11\" or python_version >= \"3.12\"" files = [ {file = "executing-2.1.0-py2.py3-none-any.whl", hash = "sha256:8d63781349375b5ebccc3142f4b30350c0cd9c79f921cde38be2be4637e98eaf"}, {file = "executing-2.1.0.tar.gz", hash = "sha256:8ea27ddd260da8150fa5a708269c4a10e76161e2496ec3e587da9e3c0fe4b9ab"}, @@ -825,6 +1006,7 @@ description = "Fastest Python implementation of JSON schema" optional = false python-versions = "*" groups = ["dev", "docs"] +markers = "python_version <= \"3.11\" or python_version >= \"3.12\"" files = [ {file = "fastjsonschema-2.21.1-py3-none-any.whl", hash = "sha256:c9e5b7e908310918cf494a434eeb31384dd84a98b57a30bcb1f535015b554667"}, {file = "fastjsonschema-2.21.1.tar.gz", hash = "sha256:794d4f0a58f848961ba16af7b9c85a3e88cd360df008c59aac6fc5ae9323b5d4"}, @@ -840,6 +1022,7 @@ description = "A platform independent file lock." optional = false python-versions = ">=3.8" groups = ["dev"] +markers = "python_version <= \"3.11\" or python_version >= \"3.12\"" files = [ {file = "filelock-3.16.1-py3-none-any.whl", hash = "sha256:2082e5703d51fbf98ea75855d9d5527e33d8ff23099bec374a134febee6946b0"}, {file = "filelock-3.16.1.tar.gz", hash = "sha256:c249fbfcd5db47e5e2d6d62198e565475ee65e4831e2561c8e313fa7eb961435"}, @@ -850,16 +1033,92 @@ docs = ["furo (>=2024.8.6)", "sphinx (>=8.0.2)", "sphinx-autodoc-typehints (>=2. testing = ["covdefaults (>=2.3)", "coverage (>=7.6.1)", "diff-cover (>=9.2)", "pytest (>=8.3.3)", "pytest-asyncio (>=0.24)", "pytest-cov (>=5)", "pytest-mock (>=3.14)", "pytest-timeout (>=2.3.1)", "virtualenv (>=20.26.4)"] typing = ["typing-extensions (>=4.12.2)"] +[[package]] +name = "fonttools" +version = "4.55.3" +description = "Tools to manipulate font files" +optional = false +python-versions = ">=3.8" +groups = ["main"] +markers = "python_version <= \"3.11\" or python_version >= \"3.12\"" +files = [ + {file = "fonttools-4.55.3-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:1dcc07934a2165ccdc3a5a608db56fb3c24b609658a5b340aee4ecf3ba679dc0"}, + {file = "fonttools-4.55.3-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:f7d66c15ba875432a2d2fb419523f5d3d347f91f48f57b8b08a2dfc3c39b8a3f"}, + {file = "fonttools-4.55.3-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:27e4ae3592e62eba83cd2c4ccd9462dcfa603ff78e09110680a5444c6925d841"}, + {file = "fonttools-4.55.3-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:62d65a3022c35e404d19ca14f291c89cc5890032ff04f6c17af0bd1927299674"}, + {file = "fonttools-4.55.3-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:d342e88764fb201286d185093781bf6628bbe380a913c24adf772d901baa8276"}, + {file = "fonttools-4.55.3-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:dd68c87a2bfe37c5b33bcda0fba39b65a353876d3b9006fde3adae31f97b3ef5"}, + {file = "fonttools-4.55.3-cp310-cp310-win32.whl", hash = "sha256:1bc7ad24ff98846282eef1cbeac05d013c2154f977a79886bb943015d2b1b261"}, + {file = "fonttools-4.55.3-cp310-cp310-win_amd64.whl", hash = "sha256:b54baf65c52952db65df39fcd4820668d0ef4766c0ccdf32879b77f7c804d5c5"}, + {file = "fonttools-4.55.3-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:8c4491699bad88efe95772543cd49870cf756b019ad56294f6498982408ab03e"}, + {file = "fonttools-4.55.3-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:5323a22eabddf4b24f66d26894f1229261021dacd9d29e89f7872dd8c63f0b8b"}, + {file = "fonttools-4.55.3-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:5480673f599ad410695ca2ddef2dfefe9df779a9a5cda89503881e503c9c7d90"}, + {file = "fonttools-4.55.3-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:da9da6d65cd7aa6b0f806556f4985bcbf603bf0c5c590e61b43aa3e5a0f822d0"}, + {file = "fonttools-4.55.3-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:e894b5bd60d9f473bed7a8f506515549cc194de08064d829464088d23097331b"}, + {file = "fonttools-4.55.3-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:aee3b57643827e237ff6ec6d28d9ff9766bd8b21e08cd13bff479e13d4b14765"}, + {file = "fonttools-4.55.3-cp311-cp311-win32.whl", hash = "sha256:eb6ca911c4c17eb51853143624d8dc87cdcdf12a711fc38bf5bd21521e79715f"}, + {file = "fonttools-4.55.3-cp311-cp311-win_amd64.whl", hash = "sha256:6314bf82c54c53c71805318fcf6786d986461622dd926d92a465199ff54b1b72"}, + {file = "fonttools-4.55.3-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:f9e736f60f4911061235603a6119e72053073a12c6d7904011df2d8fad2c0e35"}, + {file = "fonttools-4.55.3-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:7a8aa2c5e5b8b3bcb2e4538d929f6589a5c6bdb84fd16e2ed92649fb5454f11c"}, + {file = "fonttools-4.55.3-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:07f8288aacf0a38d174445fc78377a97fb0b83cfe352a90c9d9c1400571963c7"}, + {file = "fonttools-4.55.3-cp312-cp312-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:b8d5e8916c0970fbc0f6f1bece0063363bb5857a7f170121a4493e31c3db3314"}, + {file = "fonttools-4.55.3-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:ae3b6600565b2d80b7c05acb8e24d2b26ac407b27a3f2e078229721ba5698427"}, + {file = "fonttools-4.55.3-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:54153c49913f45065c8d9e6d0c101396725c5621c8aee744719300f79771d75a"}, + {file = "fonttools-4.55.3-cp312-cp312-win32.whl", hash = "sha256:827e95fdbbd3e51f8b459af5ea10ecb4e30af50221ca103bea68218e9615de07"}, + {file = "fonttools-4.55.3-cp312-cp312-win_amd64.whl", hash = "sha256:e6e8766eeeb2de759e862004aa11a9ea3d6f6d5ec710551a88b476192b64fd54"}, + {file = "fonttools-4.55.3-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:a430178ad3e650e695167cb53242dae3477b35c95bef6525b074d87493c4bf29"}, + {file = "fonttools-4.55.3-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:529cef2ce91dc44f8e407cc567fae6e49a1786f2fefefa73a294704c415322a4"}, + {file = "fonttools-4.55.3-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:8e75f12c82127486fac2d8bfbf5bf058202f54bf4f158d367e41647b972342ca"}, + {file = "fonttools-4.55.3-cp313-cp313-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:859c358ebf41db18fb72342d3080bce67c02b39e86b9fbcf1610cca14984841b"}, + {file = "fonttools-4.55.3-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:546565028e244a701f73df6d8dd6be489d01617863ec0c6a42fa25bf45d43048"}, + {file = "fonttools-4.55.3-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:aca318b77f23523309eec4475d1fbbb00a6b133eb766a8bdc401faba91261abe"}, + {file = "fonttools-4.55.3-cp313-cp313-win32.whl", hash = "sha256:8c5ec45428edaa7022f1c949a632a6f298edc7b481312fc7dc258921e9399628"}, + {file = "fonttools-4.55.3-cp313-cp313-win_amd64.whl", hash = "sha256:11e5de1ee0d95af4ae23c1a138b184b7f06e0b6abacabf1d0db41c90b03d834b"}, + {file = "fonttools-4.55.3-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:caf8230f3e10f8f5d7593eb6d252a37caf58c480b19a17e250a63dad63834cf3"}, + {file = "fonttools-4.55.3-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:b586ab5b15b6097f2fb71cafa3c98edfd0dba1ad8027229e7b1e204a58b0e09d"}, + {file = "fonttools-4.55.3-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a8c2794ded89399cc2169c4d0bf7941247b8d5932b2659e09834adfbb01589aa"}, + {file = "fonttools-4.55.3-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:cf4fe7c124aa3f4e4c1940880156e13f2f4d98170d35c749e6b4f119a872551e"}, + {file = "fonttools-4.55.3-cp38-cp38-musllinux_1_2_aarch64.whl", hash = "sha256:86721fbc389ef5cc1e2f477019e5069e8e4421e8d9576e9c26f840dbb04678de"}, + {file = "fonttools-4.55.3-cp38-cp38-musllinux_1_2_x86_64.whl", hash = "sha256:89bdc5d88bdeec1b15af790810e267e8332d92561dce4f0748c2b95c9bdf3926"}, + {file = "fonttools-4.55.3-cp38-cp38-win32.whl", hash = "sha256:bc5dbb4685e51235ef487e4bd501ddfc49be5aede5e40f4cefcccabc6e60fb4b"}, + {file = "fonttools-4.55.3-cp38-cp38-win_amd64.whl", hash = "sha256:cd70de1a52a8ee2d1877b6293af8a2484ac82514f10b1c67c1c5762d38073e56"}, + {file = "fonttools-4.55.3-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:bdcc9f04b36c6c20978d3f060e5323a43f6222accc4e7fcbef3f428e216d96af"}, + {file = "fonttools-4.55.3-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:c3ca99e0d460eff46e033cd3992a969658c3169ffcd533e0a39c63a38beb6831"}, + {file = "fonttools-4.55.3-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:22f38464daa6cdb7b6aebd14ab06609328fe1e9705bb0fcc7d1e69de7109ee02"}, + {file = "fonttools-4.55.3-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ed63959d00b61959b035c7d47f9313c2c1ece090ff63afea702fe86de00dbed4"}, + {file = "fonttools-4.55.3-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:5e8d657cd7326eeaba27de2740e847c6b39dde2f8d7cd7cc56f6aad404ddf0bd"}, + {file = "fonttools-4.55.3-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:fb594b5a99943042c702c550d5494bdd7577f6ef19b0bc73877c948a63184a32"}, + {file = "fonttools-4.55.3-cp39-cp39-win32.whl", hash = "sha256:dc5294a3d5c84226e3dbba1b6f61d7ad813a8c0238fceea4e09aa04848c3d851"}, + {file = "fonttools-4.55.3-cp39-cp39-win_amd64.whl", hash = "sha256:aedbeb1db64496d098e6be92b2e63b5fac4e53b1b92032dfc6988e1ea9134a4d"}, + {file = "fonttools-4.55.3-py3-none-any.whl", hash = "sha256:f412604ccbeee81b091b420272841e5ec5ef68967a9790e80bffd0e30b8e2977"}, + {file = "fonttools-4.55.3.tar.gz", hash = "sha256:3983313c2a04d6cc1fe9251f8fc647754cf49a61dac6cb1e7249ae67afaafc45"}, +] + +[package.extras] +all = ["brotli (>=1.0.1)", "brotlicffi (>=0.8.0)", "fs (>=2.2.0,<3)", "lxml (>=4.0)", "lz4 (>=1.7.4.2)", "matplotlib", "munkres", "pycairo", "scipy", "skia-pathops (>=0.5.0)", "sympy", "uharfbuzz (>=0.23.0)", "unicodedata2 (>=15.1.0)", "xattr", "zopfli (>=0.1.4)"] +graphite = ["lz4 (>=1.7.4.2)"] +interpolatable = ["munkres", "pycairo", "scipy"] +lxml = ["lxml (>=4.0)"] +pathops = ["skia-pathops (>=0.5.0)"] +plot = ["matplotlib"] +repacker = ["uharfbuzz (>=0.23.0)"] +symfont = ["sympy"] +type1 = ["xattr"] +ufo = ["fs (>=2.2.0,<3)"] +unicode = ["unicodedata2 (>=15.1.0)"] +woff = ["brotli (>=1.0.1)", "brotlicffi (>=0.8.0)", "zopfli (>=0.1.4)"] + [[package]] name = "fqdn" -version = "1.5.1" -description = "Validates fully-qualified domain names against RFC 1123, so that they are acceptable to modern bowsers" +version = "1.4.0" +description = "Validate fully-qualified domain names compliant to RFC 1035 and the preferred form in RFC 3686 s. 2." optional = false -python-versions = ">=2.7, !=3.0, !=3.1, !=3.2, !=3.3, !=3.4, <4" +python-versions = "*" groups = ["dev"] +markers = "python_version <= \"3.11\" or python_version >= \"3.12\"" files = [ - {file = "fqdn-1.5.1-py3-none-any.whl", hash = "sha256:3a179af3761e4df6eb2e026ff9e1a3033d3587bf980a0b1b2e1e5d08d7358014"}, - {file = "fqdn-1.5.1.tar.gz", hash = "sha256:105ed3677e767fb5ca086a0c1f4bb66ebc3c100be518f0e0d755d9eae164d89f"}, + {file = "fqdn-1.4.0-py3-none-any.whl", hash = "sha256:e935616ae81c9c60a22267593fe8e6af68cecc68549cc71bb9bfbcbbcb383386"}, + {file = "fqdn-1.4.0.tar.gz", hash = "sha256:30e8f2e685ce87cdace4712fd97c5d09f5e6fa519bbb66e8f188f6a7cb3a5c4e"}, ] [[package]] @@ -869,6 +1128,7 @@ description = "Copy your docs directly to the gh-pages branch." optional = false python-versions = "*" groups = ["docs"] +markers = "python_version <= \"3.11\" or python_version >= \"3.12\"" files = [ {file = "ghp-import-2.1.0.tar.gz", hash = "sha256:9c535c4c61193c2df8871222567d7fd7e5014d835f97dc7b7439069e2413d343"}, {file = "ghp_import-2.1.0-py3-none-any.whl", hash = "sha256:8337dd7b50877f163d4c0289bc1f1c7f127550241988d568c1db512c4324a619"}, @@ -887,6 +1147,7 @@ description = "Git Object Database" optional = false python-versions = ">=3.7" groups = ["docs"] +markers = "python_version <= \"3.11\" or python_version >= \"3.12\"" files = [ {file = "gitdb-4.0.12-py3-none-any.whl", hash = "sha256:67073e15955400952c6565cc3e707c554a4eea2e428946f7a4c162fab9bd9bcf"}, {file = "gitdb-4.0.12.tar.gz", hash = "sha256:5ef71f855d191a3326fcfbc0d5da835f26b13fbcba60c32c21091c349ffdb571"}, @@ -902,6 +1163,7 @@ description = "GitPython is a Python library used to interact with Git repositor optional = false python-versions = ">=3.7" groups = ["docs"] +markers = "python_version <= \"3.11\" or python_version >= \"3.12\"" files = [ {file = "GitPython-3.1.44-py3-none-any.whl", hash = "sha256:9e0e10cda9bed1ee64bc9a6de50e7e38a9c9943241cd7f585f6df3ed28011110"}, {file = "gitpython-3.1.44.tar.gz", hash = "sha256:c87e30b26253bf5418b01b0660f818967f3c503193838337fe5e573331249269"}, @@ -921,6 +1183,7 @@ description = "Signatures for entire Python programs. Extract the structure, the optional = false python-versions = ">=3.8" groups = ["docs"] +markers = "python_version <= \"3.11\" or python_version >= \"3.12\"" files = [ {file = "griffe-1.4.0-py3-none-any.whl", hash = "sha256:e589de8b8c137e99a46ec45f9598fc0ac5b6868ce824b24db09c02d117b89bc5"}, {file = "griffe-1.4.0.tar.gz", hash = "sha256:8fccc585896d13f1221035d32c50dec65830c87d23f9adb9b1e6f3d63574f7f5"}, @@ -937,6 +1200,7 @@ description = "A pure-Python, bring-your-own-I/O implementation of HTTP/1.1" optional = false python-versions = ">=3.7" groups = ["dev"] +markers = "python_version <= \"3.11\" or python_version >= \"3.12\"" files = [ {file = "h11-0.14.0-py3-none-any.whl", hash = "sha256:e3fe4ac4b851c468cc8363d500db52c2ead036020723024a109d37346efaa761"}, {file = "h11-0.14.0.tar.gz", hash = "sha256:8f19fbbe99e72420ff35c00b27a34cb9937e902a8b810e2c88300c6f0a3b699d"}, @@ -949,6 +1213,7 @@ description = "A minimal low-level HTTP client." optional = false python-versions = ">=3.8" groups = ["dev"] +markers = "python_version <= \"3.11\" or python_version >= \"3.12\"" files = [ {file = "httpcore-1.0.7-py3-none-any.whl", hash = "sha256:a3fff8f43dc260d5bd363d9f9cf1830fa3a458b332856f34282de498ed420edd"}, {file = "httpcore-1.0.7.tar.gz", hash = "sha256:8551cb62a169ec7162ac7be8d4817d561f60e08eaa485234898414bb5a8a0b4c"}, @@ -971,6 +1236,7 @@ description = "The next generation HTTP client." optional = false python-versions = ">=3.8" groups = ["dev"] +markers = "python_version <= \"3.11\" or python_version >= \"3.12\"" files = [ {file = "httpx-0.28.1-py3-none-any.whl", hash = "sha256:d909fcccc110f8c7faf814ca82a9a4d816bc5a6dbfea25d6591d6985b8ba59ad"}, {file = "httpx-0.28.1.tar.gz", hash = "sha256:75e98c5f16b0f35b567856f597f06ff2270a374470a5c2392242528e3e3e42fc"}, @@ -996,6 +1262,7 @@ description = "File identification library for Python" optional = false python-versions = ">=3.8" groups = ["dev"] +markers = "python_version <= \"3.11\" or python_version >= \"3.12\"" files = [ {file = "identify-2.6.1-py2.py3-none-any.whl", hash = "sha256:53863bcac7caf8d2ed85bd20312ea5dcfc22226800f6d6881f232d861db5a8f0"}, {file = "identify-2.6.1.tar.gz", hash = "sha256:91478c5fb7c3aac5ff7bf9b4344f803843dc586832d5f110d672b19aa1984c98"}, @@ -1010,7 +1277,8 @@ version = "3.10" description = "Internationalized Domain Names in Applications (IDNA)" optional = false python-versions = ">=3.6" -groups = ["build", "dev", "docs"] +groups = ["main", "build", "dev", "docs"] +markers = "python_version <= \"3.11\" or python_version >= \"3.12\"" files = [ {file = "idna-3.10-py3-none-any.whl", hash = "sha256:946d195a0d259cbba61165e88e65941f16e9b36ea6ddb97f00452bae8b1287d3"}, {file = "idna-3.10.tar.gz", hash = "sha256:12f65c9b470abda6dc35cf8e63cc574b1c52b11df2c86030af0ac09b01b13ea9"}, @@ -1030,7 +1298,7 @@ files = [ {file = "importlib_metadata-8.5.0-py3-none-any.whl", hash = "sha256:45e54197d28b7a7f1559e60b95e7c567032b602131fbd588f1497f47880aa68b"}, {file = "importlib_metadata-8.5.0.tar.gz", hash = "sha256:71522656f0abace1d072b9e5481a48f07c138e00f079c38c8f883823f9c26bd7"}, ] -markers = {build = "python_version < \"3.12\" and (platform_machine != \"ppc64le\" and platform_machine != \"s390x\") or python_version < \"3.10\"", dev = "python_version < \"3.12\" and (platform_machine != \"ppc64le\" and platform_machine != \"s390x\") or python_full_version < \"3.10.2\""} +markers = {build = "python_version <= \"3.11\" and (python_full_version < \"3.10.2\" or platform_machine != \"ppc64le\" and platform_machine != \"s390x\")", dev = "python_version < \"3.10\"", docs = "python_version <= \"3.11\" or python_version >= \"3.12\""} [package.dependencies] zipp = ">=3.20" @@ -1050,12 +1318,12 @@ version = "6.4.5" description = "Read resources from Python packages" optional = false python-versions = ">=3.8" -groups = ["build", "dev", "docs"] +groups = ["main", "build", "dev", "docs"] files = [ {file = "importlib_resources-6.4.5-py3-none-any.whl", hash = "sha256:ac29d5f956f01d5e4bb63102a5a19957f1b9175e45649977264a1416783bb717"}, {file = "importlib_resources-6.4.5.tar.gz", hash = "sha256:980862a1d16c9e147a59603677fa2aa5fd82b87f223b6cb870695bcfce830065"}, ] -markers = {build = "(platform_machine != \"ppc64le\" and platform_machine != \"s390x\") and python_version < \"3.9\"", dev = "python_version < \"3.9\""} +markers = {main = "python_version < \"3.10\"", build = "python_version < \"3.9\" and (platform_machine == \"arm64\" or platform_machine == \"aarch64\" or platform_machine != \"ppc64le\" and platform_machine != \"s390x\") and (platform_machine == \"arm64\" or platform_machine == \"aarch64\" or platform_system != \"Linux\" or platform_machine != \"ppc64le\" and platform_machine != \"s390x\" and platform_machine != \"aarch64\") and (platform_machine == \"arm64\" or platform_machine == \"aarch64\" or platform_system != \"Darwin\" or platform_machine != \"ppc64le\" and platform_machine != \"s390x\" and platform_machine != \"arm64\")", dev = "python_version < \"3.9\"", docs = "python_version <= \"3.11\" or python_version >= \"3.12\""} [package.dependencies] zipp = {version = ">=3.1.0", markers = "python_version < \"3.10\""} @@ -1074,7 +1342,8 @@ version = "2.0.0" description = "brain-dead simple config-ini parsing" optional = false python-versions = ">=3.7" -groups = ["dev", "test"] +groups = ["dev"] +markers = "python_version <= \"3.11\" or python_version >= \"3.12\"" files = [ {file = "iniconfig-2.0.0-py3-none-any.whl", hash = "sha256:b6a85871a79d2e3b22d2d1b94ac2824226a63c6b741c88f7ae975f18b6778374"}, {file = "iniconfig-2.0.0.tar.gz", hash = "sha256:2d91e135bf72d31a410b17c16da610a82cb55f6b0477d1a902134b24a455b8b3"}, @@ -1087,6 +1356,7 @@ description = "IPython Kernel for Jupyter" optional = false python-versions = ">=3.8" groups = ["dev", "docs"] +markers = "python_version <= \"3.11\" or python_version >= \"3.12\"" files = [ {file = "ipykernel-6.29.5-py3-none-any.whl", hash = "sha256:afdb66ba5aa354b09b91379bac28ae4afebbb30e8b39510c9690afb7a10421b5"}, {file = "ipykernel-6.29.5.tar.gz", hash = "sha256:f093a22c4a40f8828f8e330a9c297cb93dcab13bd9678ded6de8e5cf81c56215"}, @@ -1121,6 +1391,7 @@ description = "IPython: Productive Interactive Computing" optional = false python-versions = ">=3.8" groups = ["dev", "docs"] +markers = "python_version <= \"3.11\" or python_version >= \"3.12\"" files = [ {file = "ipython-8.12.3-py3-none-any.whl", hash = "sha256:b0340d46a933d27c657b211a329d0be23793c36595acf9e6ef4164bc01a1804c"}, {file = "ipython-8.12.3.tar.gz", hash = "sha256:3910c4b54543c2ad73d06579aa771041b7d5707b033bd488669b4cf544e3b363"}, @@ -1161,6 +1432,7 @@ description = "Jupyter interactive widgets" optional = false python-versions = ">=3.7" groups = ["dev"] +markers = "python_version <= \"3.11\" or python_version >= \"3.12\"" files = [ {file = "ipywidgets-8.1.5-py3-none-any.whl", hash = "sha256:3290f526f87ae6e77655555baba4f36681c555b8bdbbff430b70e52c34c86245"}, {file = "ipywidgets-8.1.5.tar.gz", hash = "sha256:870e43b1a35656a80c18c9503bbf2d16802db1cb487eec6fab27d683381dde17"}, @@ -1183,6 +1455,7 @@ description = "Operations with ISO 8601 durations" optional = false python-versions = ">=3.7" groups = ["dev"] +markers = "python_version <= \"3.11\" or python_version >= \"3.12\"" files = [ {file = "isoduration-20.11.0-py3-none-any.whl", hash = "sha256:b2904c2a4228c3d44f409c8ae8e2370eb21a26f7ac2ec5446df141dde3452042"}, {file = "isoduration-20.11.0.tar.gz", hash = "sha256:ac2f9015137935279eac671f94f89eb00584f940f5dc49462a0c4ee692ba1bd9"}, @@ -1197,8 +1470,8 @@ version = "3.4.0" description = "Utility functions for Python class constructs" optional = false python-versions = ">=3.8" -groups = ["build", "dev"] -markers = "platform_machine != \"ppc64le\" and platform_machine != \"s390x\"" +groups = ["build"] +markers = "(python_version <= \"3.11\" or python_version >= \"3.12\") and (platform_machine != \"ppc64le\" and platform_machine != \"s390x\" or python_version < \"3.9\") and (platform_machine == \"arm64\" or platform_machine == \"aarch64\" or platform_machine != \"ppc64le\" and platform_machine != \"s390x\") and (platform_machine == \"arm64\" or platform_machine == \"aarch64\" or platform_system != \"Linux\" or platform_machine != \"ppc64le\" and platform_machine != \"s390x\" and platform_machine != \"aarch64\" or python_version >= \"3.9\") and (platform_machine == \"arm64\" or platform_machine == \"aarch64\" or platform_system != \"Darwin\" or platform_machine != \"ppc64le\" and platform_machine != \"s390x\" and platform_machine != \"arm64\" or python_version >= \"3.9\")" files = [ {file = "jaraco.classes-3.4.0-py3-none-any.whl", hash = "sha256:f662826b6bed8cace05e7ff873ce0f9283b5c924470fe664fff1c2f00f581790"}, {file = "jaraco.classes-3.4.0.tar.gz", hash = "sha256:47a024b51d0239c0dd8c8540c6c7f484be3b8fcf0b2d85c13825780d3b3f3acd"}, @@ -1217,8 +1490,8 @@ version = "6.0.1" description = "Useful decorators and context managers" optional = false python-versions = ">=3.8" -groups = ["build", "dev"] -markers = "platform_machine != \"ppc64le\" and platform_machine != \"s390x\"" +groups = ["build"] +markers = "(python_version <= \"3.11\" or python_version >= \"3.12\") and (platform_machine != \"ppc64le\" and platform_machine != \"s390x\" or python_version < \"3.9\") and (platform_machine == \"arm64\" or platform_machine == \"aarch64\" or platform_machine != \"ppc64le\" and platform_machine != \"s390x\") and (platform_machine == \"arm64\" or platform_machine == \"aarch64\" or platform_system != \"Linux\" or platform_machine != \"ppc64le\" and platform_machine != \"s390x\" and platform_machine != \"aarch64\" or python_version >= \"3.9\") and (platform_machine == \"arm64\" or platform_machine == \"aarch64\" or platform_system != \"Darwin\" or platform_machine != \"ppc64le\" and platform_machine != \"s390x\" and platform_machine != \"arm64\" or python_version >= \"3.9\")" files = [ {file = "jaraco.context-6.0.1-py3-none-any.whl", hash = "sha256:f797fc481b490edb305122c9181830a3a5b76d84ef6d1aef2fb9b47ab956f9e4"}, {file = "jaraco_context-6.0.1.tar.gz", hash = "sha256:9bae4ea555cf0b14938dc0aee7c9f32ed303aa20a3b73e7dc80111628792d1b3"}, @@ -1237,8 +1510,8 @@ version = "4.1.0" description = "Functools like those found in stdlib" optional = false python-versions = ">=3.8" -groups = ["build", "dev"] -markers = "platform_machine != \"ppc64le\" and platform_machine != \"s390x\"" +groups = ["build"] +markers = "(python_version <= \"3.11\" or python_version >= \"3.12\") and (platform_machine != \"ppc64le\" and platform_machine != \"s390x\" or python_version < \"3.9\") and (platform_machine == \"arm64\" or platform_machine == \"aarch64\" or platform_machine != \"ppc64le\" and platform_machine != \"s390x\") and (platform_machine == \"arm64\" or platform_machine == \"aarch64\" or platform_system != \"Linux\" or platform_machine != \"ppc64le\" and platform_machine != \"s390x\" and platform_machine != \"aarch64\" or python_version >= \"3.9\") and (platform_machine == \"arm64\" or platform_machine == \"aarch64\" or platform_system != \"Darwin\" or platform_machine != \"ppc64le\" and platform_machine != \"s390x\" and platform_machine != \"arm64\" or python_version >= \"3.9\")" files = [ {file = "jaraco.functools-4.1.0-py3-none-any.whl", hash = "sha256:ad159f13428bc4acbf5541ad6dec511f91573b90fba04df61dafa2a1231cf649"}, {file = "jaraco_functools-4.1.0.tar.gz", hash = "sha256:70f7e0e2ae076498e212562325e805204fc092d7b4c17e0e86c959e249701a9d"}, @@ -1262,6 +1535,7 @@ description = "An autocompletion tool for Python that can be used for text edito optional = false python-versions = ">=3.6" groups = ["dev", "docs"] +markers = "python_version <= \"3.11\" or python_version >= \"3.12\"" files = [ {file = "jedi-0.19.2-py2.py3-none-any.whl", hash = "sha256:a8ef22bde8490f57fe5c7681a3c83cb58874daf72b4784de3cce5b6ef6edb5b9"}, {file = "jedi-0.19.2.tar.gz", hash = "sha256:4770dc3de41bde3966b02eb84fbcf557fb33cce26ad23da12c742fb50ecb11f0"}, @@ -1281,8 +1555,8 @@ version = "0.8.0" description = "Low-level, pure Python DBus protocol wrapper." optional = false python-versions = ">=3.7" -groups = ["build", "dev"] -markers = "(platform_machine != \"ppc64le\" and platform_machine != \"s390x\") and sys_platform == \"linux\"" +groups = ["build"] +markers = "(platform_machine != \"ppc64le\" and platform_machine != \"s390x\" or python_version < \"3.9\") and sys_platform == \"linux\" and (python_version <= \"3.11\" or python_version >= \"3.12\") and (platform_machine == \"arm64\" or platform_machine == \"aarch64\" or platform_machine != \"ppc64le\" and platform_machine != \"s390x\") and (platform_machine == \"arm64\" or platform_machine == \"aarch64\" or platform_system != \"Linux\" or platform_machine != \"ppc64le\" and platform_machine != \"s390x\" and platform_machine != \"aarch64\" or python_version >= \"3.9\") and (platform_machine == \"arm64\" or platform_machine == \"aarch64\" or platform_system != \"Darwin\" or platform_machine != \"ppc64le\" and platform_machine != \"s390x\" and platform_machine != \"arm64\" or python_version >= \"3.9\")" files = [ {file = "jeepney-0.8.0-py3-none-any.whl", hash = "sha256:c0a454ad016ca575060802ee4d590dd912e35c122fa04e70306de3d076cce755"}, {file = "jeepney-0.8.0.tar.gz", hash = "sha256:5efe48d255973902f6badc3ce55e2aa6c5c3b3bc642059ef3a91247bcfcc5806"}, @@ -1299,6 +1573,7 @@ description = "A very fast and expressive template engine." optional = false python-versions = ">=3.7" groups = ["dev", "docs"] +markers = "python_version <= \"3.11\" or python_version >= \"3.12\"" files = [ {file = "jinja2-3.1.5-py3-none-any.whl", hash = "sha256:aba0f4dc9ed8013c424088f68a5c226f7d6097ed89b246d7749c2ec4175c6adb"}, {file = "jinja2-3.1.5.tar.gz", hash = "sha256:8fefff8dc3034e27bb80d67c671eb8a9bc424c0ef4c0826edbff304cceff43bb"}, @@ -1317,6 +1592,7 @@ description = "A Python implementation of the JSON5 data format." optional = false python-versions = ">=3.8.0" groups = ["dev"] +markers = "python_version <= \"3.11\" or python_version >= \"3.12\"" files = [ {file = "json5-0.10.0-py3-none-any.whl", hash = "sha256:19b23410220a7271e8377f81ba8aacba2fdd56947fbb137ee5977cbe1f5e8dfa"}, {file = "json5-0.10.0.tar.gz", hash = "sha256:e66941c8f0a02026943c52c2eb34ebeb2a6f819a0be05920a6f5243cd30fd559"}, @@ -1332,6 +1608,7 @@ description = "Identify specific nodes in a JSON document (RFC 6901)" optional = false python-versions = ">=3.7" groups = ["dev"] +markers = "python_version <= \"3.11\" or python_version >= \"3.12\"" files = [ {file = "jsonpointer-3.0.0-py2.py3-none-any.whl", hash = "sha256:13e088adc14fca8b6aa8177c044e12701e6ad4b28ff10e65f2267a90109c9942"}, {file = "jsonpointer-3.0.0.tar.gz", hash = "sha256:2b2d729f2091522d61c3b31f82e11870f60b68f43fbc705cb76bf4b832af59ef"}, @@ -1344,6 +1621,7 @@ description = "An implementation of JSON Schema validation for Python" optional = false python-versions = ">=3.8" groups = ["dev", "docs"] +markers = "python_version <= \"3.11\" or python_version >= \"3.12\"" files = [ {file = "jsonschema-4.23.0-py3-none-any.whl", hash = "sha256:fbadb6f8b144a8f8cf9f0b89ba94501d143e50411a1278633f56a7acf7fd5566"}, {file = "jsonschema-4.23.0.tar.gz", hash = "sha256:d71497fef26351a33265337fa77ffeb82423f3ea21283cd9467bb03999266bc4"}, @@ -1376,6 +1654,7 @@ description = "The JSON Schema meta-schemas and vocabularies, exposed as a Regis optional = false python-versions = ">=3.8" groups = ["dev", "docs"] +markers = "python_version <= \"3.11\" or python_version >= \"3.12\"" files = [ {file = "jsonschema_specifications-2023.12.1-py3-none-any.whl", hash = "sha256:87e4fdf3a94858b8a2ba2778d9ba57d8a9cafca7c7489c46ba0d30a8bc6a9c3c"}, {file = "jsonschema_specifications-2023.12.1.tar.gz", hash = "sha256:48a76787b3e70f5ed53f1160d2b81f586e4ca6d1548c5de7085d1682674764cc"}, @@ -1392,6 +1671,7 @@ description = "Jupyter protocol implementation and client libraries" optional = false python-versions = ">=3.8" groups = ["dev", "docs"] +markers = "python_version <= \"3.11\" or python_version >= \"3.12\"" files = [ {file = "jupyter_client-8.6.3-py3-none-any.whl", hash = "sha256:e8a19cc986cc45905ac3362915f410f3af85424b4c0905e94fa5f2cb08e8f23f"}, {file = "jupyter_client-8.6.3.tar.gz", hash = "sha256:35b3a0947c4a6e9d589eb97d7d4cd5e90f910ee73101611f01283732bd6d9419"}, @@ -1416,6 +1696,7 @@ description = "Jupyter core package. A base package on which Jupyter projects re optional = false python-versions = ">=3.8" groups = ["dev", "docs"] +markers = "python_version <= \"3.11\" or python_version >= \"3.12\"" files = [ {file = "jupyter_core-5.7.2-py3-none-any.whl", hash = "sha256:4f7315d2f6b4bcf2e3e7cb6e46772eba760ae459cd1f59d29eb57b0a01bd7409"}, {file = "jupyter_core-5.7.2.tar.gz", hash = "sha256:aa5f8d32bbf6b431ac830496da7392035d6f61b4f54872f15c4bd2a9c3f536d9"}, @@ -1437,6 +1718,7 @@ description = "Jupyter Event System library" optional = false python-versions = ">=3.8" groups = ["dev"] +markers = "python_version <= \"3.11\" or python_version >= \"3.12\"" files = [ {file = "jupyter_events-0.10.0-py3-none-any.whl", hash = "sha256:4b72130875e59d57716d327ea70d3ebc3af1944d3717e5a498b8a06c6c159960"}, {file = "jupyter_events-0.10.0.tar.gz", hash = "sha256:670b8229d3cc882ec782144ed22e0d29e1c2d639263f92ca8383e66682845e22"}, @@ -1463,6 +1745,7 @@ description = "Multi-Language Server WebSocket proxy for Jupyter Notebook/Lab se optional = false python-versions = ">=3.8" groups = ["dev"] +markers = "python_version <= \"3.11\" or python_version >= \"3.12\"" files = [ {file = "jupyter-lsp-2.2.5.tar.gz", hash = "sha256:793147a05ad446f809fd53ef1cd19a9f5256fd0a2d6b7ce943a982cb4f545001"}, {file = "jupyter_lsp-2.2.5-py3-none-any.whl", hash = "sha256:45fbddbd505f3fbfb0b6cb2f1bc5e15e83ab7c79cd6e89416b248cb3c00c11da"}, @@ -1479,6 +1762,7 @@ description = "The backend—i.e. core services, APIs, and REST endpoints—to J optional = false python-versions = ">=3.8" groups = ["dev"] +markers = "python_version <= \"3.11\" or python_version >= \"3.12\"" files = [ {file = "jupyter_server-2.14.2-py3-none-any.whl", hash = "sha256:47ff506127c2f7851a17bf4713434208fc490955d0e8632e95014a9a9afbeefd"}, {file = "jupyter_server-2.14.2.tar.gz", hash = "sha256:66095021aa9638ced276c248b1d81862e4c50f292d575920bbe960de1c56b12b"}, @@ -1516,6 +1800,7 @@ description = "A Jupyter Server Extension Providing Terminals." optional = false python-versions = ">=3.8" groups = ["dev"] +markers = "python_version <= \"3.11\" or python_version >= \"3.12\"" files = [ {file = "jupyter_server_terminals-0.5.3-py3-none-any.whl", hash = "sha256:41ee0d7dc0ebf2809c668e0fc726dfaf258fcd3e769568996ca731b6194ae9aa"}, {file = "jupyter_server_terminals-0.5.3.tar.gz", hash = "sha256:5ae0295167220e9ace0edcfdb212afd2b01ee8d179fe6f23c899590e9b8a5269"}, @@ -1536,6 +1821,7 @@ description = "JupyterLab computational environment" optional = false python-versions = ">=3.8" groups = ["dev"] +markers = "python_version <= \"3.11\" or python_version >= \"3.12\"" files = [ {file = "jupyterlab-4.3.4-py3-none-any.whl", hash = "sha256:b754c2601c5be6adf87cb5a1d8495d653ffb945f021939f77776acaa94dae952"}, {file = "jupyterlab-4.3.4.tar.gz", hash = "sha256:f0bb9b09a04766e3423cccc2fc23169aa2ffedcdf8713e9e0fb33cac0b6859d0"}, @@ -1573,6 +1859,7 @@ description = "Pygments theme using JupyterLab CSS variables" optional = false python-versions = ">=3.8" groups = ["dev", "docs"] +markers = "python_version <= \"3.11\" or python_version >= \"3.12\"" files = [ {file = "jupyterlab_pygments-0.3.0-py3-none-any.whl", hash = "sha256:841a89020971da1d8693f1a99997aefc5dc424bb1b251fd6322462a1b8842780"}, {file = "jupyterlab_pygments-0.3.0.tar.gz", hash = "sha256:721aca4d9029252b11cfa9d185e5b5af4d54772bb8072f9b7036f4170054d35d"}, @@ -1585,6 +1872,7 @@ description = "A set of server components for JupyterLab and JupyterLab like app optional = false python-versions = ">=3.8" groups = ["dev"] +markers = "python_version <= \"3.11\" or python_version >= \"3.12\"" files = [ {file = "jupyterlab_server-2.27.3-py3-none-any.whl", hash = "sha256:e697488f66c3db49df675158a77b3b017520d772c6e1548c7d9bcc5df7944ee4"}, {file = "jupyterlab_server-2.27.3.tar.gz", hash = "sha256:eb36caca59e74471988f0ae25c77945610b887f777255aa21f8065def9e51ed4"}, @@ -1612,6 +1900,7 @@ description = "Jupyter interactive widgets for JupyterLab" optional = false python-versions = ">=3.7" groups = ["dev"] +markers = "python_version <= \"3.11\" or python_version >= \"3.12\"" files = [ {file = "jupyterlab_widgets-3.0.13-py3-none-any.whl", hash = "sha256:e3cda2c233ce144192f1e29914ad522b2f4c40e77214b0cc97377ca3d323db54"}, {file = "jupyterlab_widgets-3.0.13.tar.gz", hash = "sha256:a2966d385328c1942b683a8cd96b89b8dd82c8b8f81dda902bb2bc06d46f5bed"}, @@ -1624,6 +1913,7 @@ description = "Jupyter notebooks as Markdown documents, Julia, Python or R scrip optional = false python-versions = ">=3.8" groups = ["dev", "docs"] +markers = "python_version <= \"3.11\" or python_version >= \"3.12\"" files = [ {file = "jupytext-1.16.6-py3-none-any.whl", hash = "sha256:900132031f73fee15a1c9ebd862e05eb5f51e1ad6ab3a2c6fdd97ce2f9c913b4"}, {file = "jupytext-1.16.6.tar.gz", hash = "sha256:dbd03f9263c34b737003f388fc069e9030834fb7136879c4c32c32473557baa0"}, @@ -1653,8 +1943,8 @@ version = "25.5.0" description = "Store and access your passwords safely." optional = false python-versions = ">=3.8" -groups = ["build", "dev"] -markers = "platform_machine != \"ppc64le\" and platform_machine != \"s390x\"" +groups = ["build"] +markers = "(python_version <= \"3.11\" or python_version >= \"3.12\") and (platform_machine != \"ppc64le\" and platform_machine != \"s390x\" or python_version < \"3.9\") and (platform_machine == \"arm64\" or platform_machine == \"aarch64\" or platform_machine != \"ppc64le\" and platform_machine != \"s390x\") and (platform_machine == \"arm64\" or platform_machine == \"aarch64\" or platform_system != \"Linux\" or platform_machine != \"ppc64le\" and platform_machine != \"s390x\" and platform_machine != \"aarch64\" or python_version >= \"3.9\") and (platform_machine == \"arm64\" or platform_machine == \"aarch64\" or platform_system != \"Darwin\" or platform_machine != \"ppc64le\" and platform_machine != \"s390x\" and platform_machine != \"arm64\" or python_version >= \"3.9\")" files = [ {file = "keyring-25.5.0-py3-none-any.whl", hash = "sha256:e67f8ac32b04be4714b42fe84ce7dad9c40985b9ca827c592cc303e7c26d9741"}, {file = "keyring-25.5.0.tar.gz", hash = "sha256:4c753b3ec91717fe713c4edd522d625889d8973a349b0e582622f49766de58e6"}, @@ -1679,6 +1969,131 @@ enabler = ["pytest-enabler (>=2.2)"] test = ["pyfakefs", "pytest (>=6,!=8.1.*)"] type = ["pygobject-stubs", "pytest-mypy", "shtab", "types-pywin32"] +[[package]] +name = "kiwisolver" +version = "1.4.7" +description = "A fast implementation of the Cassowary constraint solver" +optional = false +python-versions = ">=3.8" +groups = ["main"] +markers = "python_version <= \"3.11\" or python_version >= \"3.12\"" +files = [ + {file = "kiwisolver-1.4.7-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:8a9c83f75223d5e48b0bc9cb1bf2776cf01563e00ade8775ffe13b0b6e1af3a6"}, + {file = "kiwisolver-1.4.7-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:58370b1ffbd35407444d57057b57da5d6549d2d854fa30249771775c63b5fe17"}, + {file = "kiwisolver-1.4.7-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:aa0abdf853e09aff551db11fce173e2177d00786c688203f52c87ad7fcd91ef9"}, + {file = "kiwisolver-1.4.7-cp310-cp310-manylinux_2_12_i686.manylinux2010_i686.whl", hash = "sha256:8d53103597a252fb3ab8b5845af04c7a26d5e7ea8122303dd7a021176a87e8b9"}, + {file = "kiwisolver-1.4.7-cp310-cp310-manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:88f17c5ffa8e9462fb79f62746428dd57b46eb931698e42e990ad63103f35e6c"}, + {file = "kiwisolver-1.4.7-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:88a9ca9c710d598fd75ee5de59d5bda2684d9db36a9f50b6125eaea3969c2599"}, + {file = "kiwisolver-1.4.7-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:f4d742cb7af1c28303a51b7a27aaee540e71bb8e24f68c736f6f2ffc82f2bf05"}, + {file = "kiwisolver-1.4.7-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:e28c7fea2196bf4c2f8d46a0415c77a1c480cc0724722f23d7410ffe9842c407"}, + {file = "kiwisolver-1.4.7-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:e968b84db54f9d42046cf154e02911e39c0435c9801681e3fc9ce8a3c4130278"}, + {file = "kiwisolver-1.4.7-cp310-cp310-musllinux_1_2_i686.whl", hash = "sha256:0c18ec74c0472de033e1bebb2911c3c310eef5649133dd0bedf2a169a1b269e5"}, + {file = "kiwisolver-1.4.7-cp310-cp310-musllinux_1_2_ppc64le.whl", hash = "sha256:8f0ea6da6d393d8b2e187e6a5e3fb81f5862010a40c3945e2c6d12ae45cfb2ad"}, + {file = "kiwisolver-1.4.7-cp310-cp310-musllinux_1_2_s390x.whl", hash = "sha256:f106407dda69ae456dd1227966bf445b157ccc80ba0dff3802bb63f30b74e895"}, + {file = "kiwisolver-1.4.7-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:84ec80df401cfee1457063732d90022f93951944b5b58975d34ab56bb150dfb3"}, + {file = "kiwisolver-1.4.7-cp310-cp310-win32.whl", hash = "sha256:71bb308552200fb2c195e35ef05de12f0c878c07fc91c270eb3d6e41698c3bcc"}, + {file = "kiwisolver-1.4.7-cp310-cp310-win_amd64.whl", hash = "sha256:44756f9fd339de0fb6ee4f8c1696cfd19b2422e0d70b4cefc1cc7f1f64045a8c"}, + {file = "kiwisolver-1.4.7-cp310-cp310-win_arm64.whl", hash = "sha256:78a42513018c41c2ffd262eb676442315cbfe3c44eed82385c2ed043bc63210a"}, + {file = "kiwisolver-1.4.7-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:d2b0e12a42fb4e72d509fc994713d099cbb15ebf1103545e8a45f14da2dfca54"}, + {file = "kiwisolver-1.4.7-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:2a8781ac3edc42ea4b90bc23e7d37b665d89423818e26eb6df90698aa2287c95"}, + {file = "kiwisolver-1.4.7-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:46707a10836894b559e04b0fd143e343945c97fd170d69a2d26d640b4e297935"}, + {file = "kiwisolver-1.4.7-cp311-cp311-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:ef97b8df011141c9b0f6caf23b29379f87dd13183c978a30a3c546d2c47314cb"}, + {file = "kiwisolver-1.4.7-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:3ab58c12a2cd0fc769089e6d38466c46d7f76aced0a1f54c77652446733d2d02"}, + {file = "kiwisolver-1.4.7-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:803b8e1459341c1bb56d1c5c010406d5edec8a0713a0945851290a7930679b51"}, + {file = "kiwisolver-1.4.7-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:f9a9e8a507420fe35992ee9ecb302dab68550dedc0da9e2880dd88071c5fb052"}, + {file = "kiwisolver-1.4.7-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:18077b53dc3bb490e330669a99920c5e6a496889ae8c63b58fbc57c3d7f33a18"}, + {file = "kiwisolver-1.4.7-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:6af936f79086a89b3680a280c47ea90b4df7047b5bdf3aa5c524bbedddb9e545"}, + {file = "kiwisolver-1.4.7-cp311-cp311-musllinux_1_2_i686.whl", hash = "sha256:3abc5b19d24af4b77d1598a585b8a719beb8569a71568b66f4ebe1fb0449460b"}, + {file = "kiwisolver-1.4.7-cp311-cp311-musllinux_1_2_ppc64le.whl", hash = "sha256:933d4de052939d90afbe6e9d5273ae05fb836cc86c15b686edd4b3560cc0ee36"}, + {file = "kiwisolver-1.4.7-cp311-cp311-musllinux_1_2_s390x.whl", hash = "sha256:65e720d2ab2b53f1f72fb5da5fb477455905ce2c88aaa671ff0a447c2c80e8e3"}, + {file = "kiwisolver-1.4.7-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:3bf1ed55088f214ba6427484c59553123fdd9b218a42bbc8c6496d6754b1e523"}, + {file = "kiwisolver-1.4.7-cp311-cp311-win32.whl", hash = "sha256:4c00336b9dd5ad96d0a558fd18a8b6f711b7449acce4c157e7343ba92dd0cf3d"}, + {file = "kiwisolver-1.4.7-cp311-cp311-win_amd64.whl", hash = "sha256:929e294c1ac1e9f615c62a4e4313ca1823ba37326c164ec720a803287c4c499b"}, + {file = "kiwisolver-1.4.7-cp311-cp311-win_arm64.whl", hash = "sha256:e33e8fbd440c917106b237ef1a2f1449dfbb9b6f6e1ce17c94cd6a1e0d438376"}, + {file = "kiwisolver-1.4.7-cp312-cp312-macosx_10_9_universal2.whl", hash = "sha256:5360cc32706dab3931f738d3079652d20982511f7c0ac5711483e6eab08efff2"}, + {file = "kiwisolver-1.4.7-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:942216596dc64ddb25adb215c3c783215b23626f8d84e8eff8d6d45c3f29f75a"}, + {file = "kiwisolver-1.4.7-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:48b571ecd8bae15702e4f22d3ff6a0f13e54d3d00cd25216d5e7f658242065ee"}, + {file = "kiwisolver-1.4.7-cp312-cp312-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:ad42ba922c67c5f219097b28fae965e10045ddf145d2928bfac2eb2e17673640"}, + {file = "kiwisolver-1.4.7-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:612a10bdae23404a72941a0fc8fa2660c6ea1217c4ce0dbcab8a8f6543ea9e7f"}, + {file = "kiwisolver-1.4.7-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:9e838bba3a3bac0fe06d849d29772eb1afb9745a59710762e4ba3f4cb8424483"}, + {file = "kiwisolver-1.4.7-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:22f499f6157236c19f4bbbd472fa55b063db77a16cd74d49afe28992dff8c258"}, + {file = "kiwisolver-1.4.7-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:693902d433cf585133699972b6d7c42a8b9f8f826ebcaf0132ff55200afc599e"}, + {file = "kiwisolver-1.4.7-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:4e77f2126c3e0b0d055f44513ed349038ac180371ed9b52fe96a32aa071a5107"}, + {file = "kiwisolver-1.4.7-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:657a05857bda581c3656bfc3b20e353c232e9193eb167766ad2dc58b56504948"}, + {file = "kiwisolver-1.4.7-cp312-cp312-musllinux_1_2_ppc64le.whl", hash = "sha256:4bfa75a048c056a411f9705856abfc872558e33c055d80af6a380e3658766038"}, + {file = "kiwisolver-1.4.7-cp312-cp312-musllinux_1_2_s390x.whl", hash = "sha256:34ea1de54beef1c104422d210c47c7d2a4999bdecf42c7b5718fbe59a4cac383"}, + {file = "kiwisolver-1.4.7-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:90da3b5f694b85231cf93586dad5e90e2d71b9428f9aad96952c99055582f520"}, + {file = "kiwisolver-1.4.7-cp312-cp312-win32.whl", hash = "sha256:18e0cca3e008e17fe9b164b55735a325140a5a35faad8de92dd80265cd5eb80b"}, + {file = "kiwisolver-1.4.7-cp312-cp312-win_amd64.whl", hash = "sha256:58cb20602b18f86f83a5c87d3ee1c766a79c0d452f8def86d925e6c60fbf7bfb"}, + {file = "kiwisolver-1.4.7-cp312-cp312-win_arm64.whl", hash = "sha256:f5a8b53bdc0b3961f8b6125e198617c40aeed638b387913bf1ce78afb1b0be2a"}, + {file = "kiwisolver-1.4.7-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:2e6039dcbe79a8e0f044f1c39db1986a1b8071051efba3ee4d74f5b365f5226e"}, + {file = "kiwisolver-1.4.7-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:a1ecf0ac1c518487d9d23b1cd7139a6a65bc460cd101ab01f1be82ecf09794b6"}, + {file = "kiwisolver-1.4.7-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:7ab9ccab2b5bd5702ab0803676a580fffa2aa178c2badc5557a84cc943fcf750"}, + {file = "kiwisolver-1.4.7-cp313-cp313-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:f816dd2277f8d63d79f9c8473a79fe54047bc0467754962840782c575522224d"}, + {file = "kiwisolver-1.4.7-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:cf8bcc23ceb5a1b624572a1623b9f79d2c3b337c8c455405ef231933a10da379"}, + {file = "kiwisolver-1.4.7-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:dea0bf229319828467d7fca8c7c189780aa9ff679c94539eed7532ebe33ed37c"}, + {file = "kiwisolver-1.4.7-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:7c06a4c7cf15ec739ce0e5971b26c93638730090add60e183530d70848ebdd34"}, + {file = "kiwisolver-1.4.7-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:913983ad2deb14e66d83c28b632fd35ba2b825031f2fa4ca29675e665dfecbe1"}, + {file = "kiwisolver-1.4.7-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:5337ec7809bcd0f424c6b705ecf97941c46279cf5ed92311782c7c9c2026f07f"}, + {file = "kiwisolver-1.4.7-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:4c26ed10c4f6fa6ddb329a5120ba3b6db349ca192ae211e882970bfc9d91420b"}, + {file = "kiwisolver-1.4.7-cp313-cp313-musllinux_1_2_ppc64le.whl", hash = "sha256:c619b101e6de2222c1fcb0531e1b17bbffbe54294bfba43ea0d411d428618c27"}, + {file = "kiwisolver-1.4.7-cp313-cp313-musllinux_1_2_s390x.whl", hash = "sha256:073a36c8273647592ea332e816e75ef8da5c303236ec0167196793eb1e34657a"}, + {file = "kiwisolver-1.4.7-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:3ce6b2b0231bda412463e152fc18335ba32faf4e8c23a754ad50ffa70e4091ee"}, + {file = "kiwisolver-1.4.7-cp313-cp313-win32.whl", hash = "sha256:f4c9aee212bc89d4e13f58be11a56cc8036cabad119259d12ace14b34476fd07"}, + {file = "kiwisolver-1.4.7-cp313-cp313-win_amd64.whl", hash = "sha256:8a3ec5aa8e38fc4c8af308917ce12c536f1c88452ce554027e55b22cbbfbff76"}, + {file = "kiwisolver-1.4.7-cp313-cp313-win_arm64.whl", hash = "sha256:76c8094ac20ec259471ac53e774623eb62e6e1f56cd8690c67ce6ce4fcb05650"}, + {file = "kiwisolver-1.4.7-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:5d5abf8f8ec1f4e22882273c423e16cae834c36856cac348cfbfa68e01c40f3a"}, + {file = "kiwisolver-1.4.7-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:aeb3531b196ef6f11776c21674dba836aeea9d5bd1cf630f869e3d90b16cfade"}, + {file = "kiwisolver-1.4.7-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:b7d755065e4e866a8086c9bdada157133ff466476a2ad7861828e17b6026e22c"}, + {file = "kiwisolver-1.4.7-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:08471d4d86cbaec61f86b217dd938a83d85e03785f51121e791a6e6689a3be95"}, + {file = "kiwisolver-1.4.7-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:7bbfcb7165ce3d54a3dfbe731e470f65739c4c1f85bb1018ee912bae139e263b"}, + {file = "kiwisolver-1.4.7-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:5d34eb8494bea691a1a450141ebb5385e4b69d38bb8403b5146ad279f4b30fa3"}, + {file = "kiwisolver-1.4.7-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:9242795d174daa40105c1d86aba618e8eab7bf96ba8c3ee614da8302a9f95503"}, + {file = "kiwisolver-1.4.7-cp38-cp38-manylinux_2_5_x86_64.manylinux1_x86_64.whl", hash = "sha256:a0f64a48bb81af7450e641e3fe0b0394d7381e342805479178b3d335d60ca7cf"}, + {file = "kiwisolver-1.4.7-cp38-cp38-musllinux_1_2_aarch64.whl", hash = "sha256:8e045731a5416357638d1700927529e2b8ab304811671f665b225f8bf8d8f933"}, + {file = "kiwisolver-1.4.7-cp38-cp38-musllinux_1_2_i686.whl", hash = "sha256:4322872d5772cae7369f8351da1edf255a604ea7087fe295411397d0cfd9655e"}, + {file = "kiwisolver-1.4.7-cp38-cp38-musllinux_1_2_ppc64le.whl", hash = "sha256:e1631290ee9271dffe3062d2634c3ecac02c83890ada077d225e081aca8aab89"}, + {file = "kiwisolver-1.4.7-cp38-cp38-musllinux_1_2_s390x.whl", hash = "sha256:edcfc407e4eb17e037bca59be0e85a2031a2ac87e4fed26d3e9df88b4165f92d"}, + {file = "kiwisolver-1.4.7-cp38-cp38-musllinux_1_2_x86_64.whl", hash = "sha256:4d05d81ecb47d11e7f8932bd8b61b720bf0b41199358f3f5e36d38e28f0532c5"}, + {file = "kiwisolver-1.4.7-cp38-cp38-win32.whl", hash = "sha256:b38ac83d5f04b15e515fd86f312479d950d05ce2368d5413d46c088dda7de90a"}, + {file = "kiwisolver-1.4.7-cp38-cp38-win_amd64.whl", hash = "sha256:d83db7cde68459fc803052a55ace60bea2bae361fc3b7a6d5da07e11954e4b09"}, + {file = "kiwisolver-1.4.7-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:3f9362ecfca44c863569d3d3c033dbe8ba452ff8eed6f6b5806382741a1334bd"}, + {file = "kiwisolver-1.4.7-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:e8df2eb9b2bac43ef8b082e06f750350fbbaf2887534a5be97f6cf07b19d9583"}, + {file = "kiwisolver-1.4.7-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:f32d6edbc638cde7652bd690c3e728b25332acbadd7cad670cc4a02558d9c417"}, + {file = "kiwisolver-1.4.7-cp39-cp39-manylinux_2_12_i686.manylinux2010_i686.whl", hash = "sha256:e2e6c39bd7b9372b0be21456caab138e8e69cc0fc1190a9dfa92bd45a1e6e904"}, + {file = "kiwisolver-1.4.7-cp39-cp39-manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:dda56c24d869b1193fcc763f1284b9126550eaf84b88bbc7256e15028f19188a"}, + {file = "kiwisolver-1.4.7-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:79849239c39b5e1fd906556c474d9b0439ea6792b637511f3fe3a41158d89ca8"}, + {file = "kiwisolver-1.4.7-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:5e3bc157fed2a4c02ec468de4ecd12a6e22818d4f09cde2c31ee3226ffbefab2"}, + {file = "kiwisolver-1.4.7-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:3da53da805b71e41053dc670f9a820d1157aae77b6b944e08024d17bcd51ef88"}, + {file = "kiwisolver-1.4.7-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:8705f17dfeb43139a692298cb6637ee2e59c0194538153e83e9ee0c75c2eddde"}, + {file = "kiwisolver-1.4.7-cp39-cp39-musllinux_1_2_i686.whl", hash = "sha256:82a5c2f4b87c26bb1a0ef3d16b5c4753434633b83d365cc0ddf2770c93829e3c"}, + {file = "kiwisolver-1.4.7-cp39-cp39-musllinux_1_2_ppc64le.whl", hash = "sha256:ce8be0466f4c0d585cdb6c1e2ed07232221df101a4c6f28821d2aa754ca2d9e2"}, + {file = "kiwisolver-1.4.7-cp39-cp39-musllinux_1_2_s390x.whl", hash = "sha256:409afdfe1e2e90e6ee7fc896f3df9a7fec8e793e58bfa0d052c8a82f99c37abb"}, + {file = "kiwisolver-1.4.7-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:5b9c3f4ee0b9a439d2415012bd1b1cc2df59e4d6a9939f4d669241d30b414327"}, + {file = "kiwisolver-1.4.7-cp39-cp39-win32.whl", hash = "sha256:a79ae34384df2b615eefca647a2873842ac3b596418032bef9a7283675962644"}, + {file = "kiwisolver-1.4.7-cp39-cp39-win_amd64.whl", hash = "sha256:cf0438b42121a66a3a667de17e779330fc0f20b0d97d59d2f2121e182b0505e4"}, + {file = "kiwisolver-1.4.7-cp39-cp39-win_arm64.whl", hash = "sha256:764202cc7e70f767dab49e8df52c7455e8de0df5d858fa801a11aa0d882ccf3f"}, + {file = "kiwisolver-1.4.7-pp310-pypy310_pp73-macosx_10_15_x86_64.whl", hash = "sha256:94252291e3fe68001b1dd747b4c0b3be12582839b95ad4d1b641924d68fd4643"}, + {file = "kiwisolver-1.4.7-pp310-pypy310_pp73-macosx_11_0_arm64.whl", hash = "sha256:5b7dfa3b546da08a9f622bb6becdb14b3e24aaa30adba66749d38f3cc7ea9706"}, + {file = "kiwisolver-1.4.7-pp310-pypy310_pp73-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:bd3de6481f4ed8b734da5df134cd5a6a64fe32124fe83dde1e5b5f29fe30b1e6"}, + {file = "kiwisolver-1.4.7-pp310-pypy310_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a91b5f9f1205845d488c928e8570dcb62b893372f63b8b6e98b863ebd2368ff2"}, + {file = "kiwisolver-1.4.7-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:40fa14dbd66b8b8f470d5fc79c089a66185619d31645f9b0773b88b19f7223c4"}, + {file = "kiwisolver-1.4.7-pp310-pypy310_pp73-win_amd64.whl", hash = "sha256:eb542fe7933aa09d8d8f9d9097ef37532a7df6497819d16efe4359890a2f417a"}, + {file = "kiwisolver-1.4.7-pp38-pypy38_pp73-macosx_10_9_x86_64.whl", hash = "sha256:bfa1acfa0c54932d5607e19a2c24646fb4c1ae2694437789129cf099789a3b00"}, + {file = "kiwisolver-1.4.7-pp38-pypy38_pp73-macosx_11_0_arm64.whl", hash = "sha256:eee3ea935c3d227d49b4eb85660ff631556841f6e567f0f7bda972df6c2c9935"}, + {file = "kiwisolver-1.4.7-pp38-pypy38_pp73-manylinux_2_12_i686.manylinux2010_i686.whl", hash = "sha256:f3160309af4396e0ed04db259c3ccbfdc3621b5559b5453075e5de555e1f3a1b"}, + {file = "kiwisolver-1.4.7-pp38-pypy38_pp73-manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:a17f6a29cf8935e587cc8a4dbfc8368c55edc645283db0ce9801016f83526c2d"}, + {file = "kiwisolver-1.4.7-pp38-pypy38_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:10849fb2c1ecbfae45a693c070e0320a91b35dd4bcf58172c023b994283a124d"}, + {file = "kiwisolver-1.4.7-pp38-pypy38_pp73-win_amd64.whl", hash = "sha256:ac542bf38a8a4be2dc6b15248d36315ccc65f0743f7b1a76688ffb6b5129a5c2"}, + {file = "kiwisolver-1.4.7-pp39-pypy39_pp73-macosx_10_15_x86_64.whl", hash = "sha256:8b01aac285f91ca889c800042c35ad3b239e704b150cfd3382adfc9dcc780e39"}, + {file = "kiwisolver-1.4.7-pp39-pypy39_pp73-macosx_11_0_arm64.whl", hash = "sha256:48be928f59a1f5c8207154f935334d374e79f2b5d212826307d072595ad76a2e"}, + {file = "kiwisolver-1.4.7-pp39-pypy39_pp73-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:f37cfe618a117e50d8c240555331160d73d0411422b59b5ee217843d7b693608"}, + {file = "kiwisolver-1.4.7-pp39-pypy39_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:599b5c873c63a1f6ed7eead644a8a380cfbdf5db91dcb6f85707aaab213b1674"}, + {file = "kiwisolver-1.4.7-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:801fa7802e5cfabe3ab0c81a34c323a319b097dfb5004be950482d882f3d7225"}, + {file = "kiwisolver-1.4.7-pp39-pypy39_pp73-win_amd64.whl", hash = "sha256:0c6c43471bc764fad4bc99c5c2d6d16a676b1abf844ca7c8702bdae92df01ee0"}, + {file = "kiwisolver-1.4.7.tar.gz", hash = "sha256:9893ff81bd7107f7b685d3017cc6583daadb4fc26e4a888350df530e41980a60"}, +] + [[package]] name = "markdown" version = "3.7" @@ -1686,6 +2101,7 @@ description = "Python implementation of John Gruber's Markdown." optional = false python-versions = ">=3.8" groups = ["docs"] +markers = "python_version <= \"3.11\" or python_version >= \"3.12\"" files = [ {file = "Markdown-3.7-py3-none-any.whl", hash = "sha256:7eb6df5690b81a1d7942992c97fad2938e956e79df20cbc6186e9c3a77b1c803"}, {file = "markdown-3.7.tar.gz", hash = "sha256:2ae2471477cfd02dbbf038d5d9bc226d40def84b4fe2986e49b59b6b472bbed2"}, @@ -1705,6 +2121,7 @@ description = "Python port of markdown-it. Markdown parsing, done right!" optional = false python-versions = ">=3.8" groups = ["build", "dev", "docs"] +markers = "python_version <= \"3.11\" or python_version >= \"3.12\"" files = [ {file = "markdown-it-py-3.0.0.tar.gz", hash = "sha256:e3f60a94fa066dc52ec76661e37c851cb232d92f9886b15cb560aaada2df8feb"}, {file = "markdown_it_py-3.0.0-py3-none-any.whl", hash = "sha256:355216845c60bd96232cd8d8c40e8f9765cc86f46880e43a8fd22dc1a1a8cab1"}, @@ -1730,6 +2147,7 @@ description = "Safely add untrusted strings to HTML/XML markup." optional = false python-versions = ">=3.7" groups = ["dev", "docs"] +markers = "python_version <= \"3.11\" or python_version >= \"3.12\"" files = [ {file = "MarkupSafe-2.1.5-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:a17a92de5231666cfbe003f0e4b9b3a7ae3afb1ec2845aadc2bacc93ff85febc"}, {file = "MarkupSafe-2.1.5-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:72b6be590cc35924b02c78ef34b467da4ba07e4e0f0454a2c5907f473fc50ce5"}, @@ -1793,6 +2211,76 @@ files = [ {file = "MarkupSafe-2.1.5.tar.gz", hash = "sha256:d283d37a890ba4c1ae73ffadf8046435c76e7bc2247bbb63c00bd1a709c6544b"}, ] +[[package]] +name = "matplotlib" +version = "3.7.5" +description = "Python plotting package" +optional = false +python-versions = ">=3.8" +groups = ["main"] +markers = "python_version <= \"3.11\" or python_version >= \"3.12\"" +files = [ + {file = "matplotlib-3.7.5-cp310-cp310-macosx_10_12_universal2.whl", hash = "sha256:4a87b69cb1cb20943010f63feb0b2901c17a3b435f75349fd9865713bfa63925"}, + {file = "matplotlib-3.7.5-cp310-cp310-macosx_10_12_x86_64.whl", hash = "sha256:d3ce45010fefb028359accebb852ca0c21bd77ec0f281952831d235228f15810"}, + {file = "matplotlib-3.7.5-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:fbea1e762b28400393d71be1a02144aa16692a3c4c676ba0178ce83fc2928fdd"}, + {file = "matplotlib-3.7.5-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:ec0e1adc0ad70ba8227e957551e25a9d2995e319c29f94a97575bb90fa1d4469"}, + {file = "matplotlib-3.7.5-cp310-cp310-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:6738c89a635ced486c8a20e20111d33f6398a9cbebce1ced59c211e12cd61455"}, + {file = "matplotlib-3.7.5-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:1210b7919b4ed94b5573870f316bca26de3e3b07ffdb563e79327dc0e6bba515"}, + {file = "matplotlib-3.7.5-cp310-cp310-win32.whl", hash = "sha256:068ebcc59c072781d9dcdb82f0d3f1458271c2de7ca9c78f5bd672141091e9e1"}, + {file = "matplotlib-3.7.5-cp310-cp310-win_amd64.whl", hash = "sha256:f098ffbaab9df1e3ef04e5a5586a1e6b1791380698e84938d8640961c79b1fc0"}, + {file = "matplotlib-3.7.5-cp311-cp311-macosx_10_12_universal2.whl", hash = "sha256:f65342c147572673f02a4abec2d5a23ad9c3898167df9b47c149f32ce61ca078"}, + {file = "matplotlib-3.7.5-cp311-cp311-macosx_10_12_x86_64.whl", hash = "sha256:4ddf7fc0e0dc553891a117aa083039088d8a07686d4c93fb8a810adca68810af"}, + {file = "matplotlib-3.7.5-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:0ccb830fc29442360d91be48527809f23a5dcaee8da5f4d9b2d5b867c1b087b8"}, + {file = "matplotlib-3.7.5-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:efc6bb28178e844d1f408dd4d6341ee8a2e906fc9e0fa3dae497da4e0cab775d"}, + {file = "matplotlib-3.7.5-cp311-cp311-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:3b15c4c2d374f249f324f46e883340d494c01768dd5287f8bc00b65b625ab56c"}, + {file = "matplotlib-3.7.5-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:3d028555421912307845e59e3de328260b26d055c5dac9b182cc9783854e98fb"}, + {file = "matplotlib-3.7.5-cp311-cp311-win32.whl", hash = "sha256:fe184b4625b4052fa88ef350b815559dd90cc6cc8e97b62f966e1ca84074aafa"}, + {file = "matplotlib-3.7.5-cp311-cp311-win_amd64.whl", hash = "sha256:084f1f0f2f1010868c6f1f50b4e1c6f2fb201c58475494f1e5b66fed66093647"}, + {file = "matplotlib-3.7.5-cp312-cp312-macosx_10_12_universal2.whl", hash = "sha256:34bceb9d8ddb142055ff27cd7135f539f2f01be2ce0bafbace4117abe58f8fe4"}, + {file = "matplotlib-3.7.5-cp312-cp312-macosx_10_12_x86_64.whl", hash = "sha256:c5a2134162273eb8cdfd320ae907bf84d171de948e62180fa372a3ca7cf0f433"}, + {file = "matplotlib-3.7.5-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:039ad54683a814002ff37bf7981aa1faa40b91f4ff84149beb53d1eb64617980"}, + {file = "matplotlib-3.7.5-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:4d742ccd1b09e863b4ca58291728db645b51dab343eebb08d5d4b31b308296ce"}, + {file = "matplotlib-3.7.5-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:743b1c488ca6a2bc7f56079d282e44d236bf375968bfd1b7ba701fd4d0fa32d6"}, + {file = "matplotlib-3.7.5-cp312-cp312-win_amd64.whl", hash = "sha256:fbf730fca3e1f23713bc1fae0a57db386e39dc81ea57dc305c67f628c1d7a342"}, + {file = "matplotlib-3.7.5-cp38-cp38-macosx_10_12_universal2.whl", hash = "sha256:cfff9b838531698ee40e40ea1a8a9dc2c01edb400b27d38de6ba44c1f9a8e3d2"}, + {file = "matplotlib-3.7.5-cp38-cp38-macosx_10_12_x86_64.whl", hash = "sha256:1dbcca4508bca7847fe2d64a05b237a3dcaec1f959aedb756d5b1c67b770c5ee"}, + {file = "matplotlib-3.7.5-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:4cdf4ef46c2a1609a50411b66940b31778db1e4b73d4ecc2eaa40bd588979b13"}, + {file = "matplotlib-3.7.5-cp38-cp38-manylinux_2_12_i686.manylinux2010_i686.whl", hash = "sha256:167200ccfefd1674b60e957186dfd9baf58b324562ad1a28e5d0a6b3bea77905"}, + {file = "matplotlib-3.7.5-cp38-cp38-manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:53e64522934df6e1818b25fd48cf3b645b11740d78e6ef765fbb5fa5ce080d02"}, + {file = "matplotlib-3.7.5-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d3e3bc79b2d7d615067bd010caff9243ead1fc95cf735c16e4b2583173f717eb"}, + {file = "matplotlib-3.7.5-cp38-cp38-win32.whl", hash = "sha256:6b641b48c6819726ed47c55835cdd330e53747d4efff574109fd79b2d8a13748"}, + {file = "matplotlib-3.7.5-cp38-cp38-win_amd64.whl", hash = "sha256:f0b60993ed3488b4532ec6b697059897891927cbfc2b8d458a891b60ec03d9d7"}, + {file = "matplotlib-3.7.5-cp39-cp39-macosx_10_12_universal2.whl", hash = "sha256:090964d0afaff9c90e4d8de7836757e72ecfb252fb02884016d809239f715651"}, + {file = "matplotlib-3.7.5-cp39-cp39-macosx_10_12_x86_64.whl", hash = "sha256:9fc6fcfbc55cd719bc0bfa60bde248eb68cf43876d4c22864603bdd23962ba25"}, + {file = "matplotlib-3.7.5-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:5e7cc3078b019bb863752b8b60e8b269423000f1603cb2299608231996bd9d54"}, + {file = "matplotlib-3.7.5-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:1e4e9a868e8163abaaa8259842d85f949a919e1ead17644fb77a60427c90473c"}, + {file = "matplotlib-3.7.5-cp39-cp39-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:fa7ebc995a7d747dacf0a717d0eb3aa0f0c6a0e9ea88b0194d3a3cd241a1500f"}, + {file = "matplotlib-3.7.5-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:3785bfd83b05fc0e0c2ae4c4a90034fe693ef96c679634756c50fe6efcc09856"}, + {file = "matplotlib-3.7.5-cp39-cp39-win32.whl", hash = "sha256:29b058738c104d0ca8806395f1c9089dfe4d4f0f78ea765c6c704469f3fffc81"}, + {file = "matplotlib-3.7.5-cp39-cp39-win_amd64.whl", hash = "sha256:fd4028d570fa4b31b7b165d4a685942ae9cdc669f33741e388c01857d9723eab"}, + {file = "matplotlib-3.7.5-pp38-pypy38_pp73-macosx_10_12_x86_64.whl", hash = "sha256:2a9a3f4d6a7f88a62a6a18c7e6a84aedcaf4faf0708b4ca46d87b19f1b526f88"}, + {file = "matplotlib-3.7.5-pp38-pypy38_pp73-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:b9b3fd853d4a7f008a938df909b96db0b454225f935d3917520305b90680579c"}, + {file = "matplotlib-3.7.5-pp38-pypy38_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f0ad550da9f160737d7890217c5eeed4337d07e83ca1b2ca6535078f354e7675"}, + {file = "matplotlib-3.7.5-pp38-pypy38_pp73-win_amd64.whl", hash = "sha256:20da7924a08306a861b3f2d1da0d1aa9a6678e480cf8eacffe18b565af2813e7"}, + {file = "matplotlib-3.7.5-pp39-pypy39_pp73-macosx_10_12_x86_64.whl", hash = "sha256:b45c9798ea6bb920cb77eb7306409756a7fab9db9b463e462618e0559aecb30e"}, + {file = "matplotlib-3.7.5-pp39-pypy39_pp73-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:a99866267da1e561c7776fe12bf4442174b79aac1a47bd7e627c7e4d077ebd83"}, + {file = "matplotlib-3.7.5-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:2b6aa62adb6c268fc87d80f963aca39c64615c31830b02697743c95590ce3fbb"}, + {file = "matplotlib-3.7.5-pp39-pypy39_pp73-win_amd64.whl", hash = "sha256:e530ab6a0afd082d2e9c17eb1eb064a63c5b09bb607b2b74fa41adbe3e162286"}, + {file = "matplotlib-3.7.5.tar.gz", hash = "sha256:1e5c971558ebc811aa07f54c7b7c677d78aa518ef4c390e14673a09e0860184a"}, +] + +[package.dependencies] +contourpy = ">=1.0.1" +cycler = ">=0.10" +fonttools = ">=4.22.0" +importlib-resources = {version = ">=3.2.0", markers = "python_version < \"3.10\""} +kiwisolver = ">=1.0.1" +numpy = ">=1.20,<2" +packaging = ">=20.0" +pillow = ">=6.2.0" +pyparsing = ">=2.3.1" +python-dateutil = ">=2.7" + [[package]] name = "matplotlib-inline" version = "0.1.7" @@ -1800,6 +2288,7 @@ description = "Inline Matplotlib backend for Jupyter" optional = false python-versions = ">=3.8" groups = ["dev", "docs"] +markers = "python_version <= \"3.11\" or python_version >= \"3.12\"" files = [ {file = "matplotlib_inline-0.1.7-py3-none-any.whl", hash = "sha256:df192d39a4ff8f21b1895d72e6a13f5fcc5099f00fa84384e0ea28c2cc0653ca"}, {file = "matplotlib_inline-0.1.7.tar.gz", hash = "sha256:8423b23ec666be3d16e16b60bdd8ac4e86e840ebd1dd11a30b9f117f2fa0ab90"}, @@ -1815,6 +2304,7 @@ description = "Collection of plugins for markdown-it-py" optional = false python-versions = ">=3.8" groups = ["dev", "docs"] +markers = "python_version <= \"3.11\" or python_version >= \"3.12\"" files = [ {file = "mdit_py_plugins-0.4.2-py3-none-any.whl", hash = "sha256:0c673c3f889399a33b95e88d2f0d111b4447bdfea7f237dab2d488f459835636"}, {file = "mdit_py_plugins-0.4.2.tar.gz", hash = "sha256:5f2cd1fdb606ddf152d37ec30e46101a60512bc0e5fa1a7002c36647b09e26b5"}, @@ -1835,6 +2325,7 @@ description = "Markdown URL utilities" optional = false python-versions = ">=3.7" groups = ["build", "dev", "docs"] +markers = "python_version <= \"3.11\" or python_version >= \"3.12\"" files = [ {file = "mdurl-0.1.2-py3-none-any.whl", hash = "sha256:84008a41e51615a49fc9966191ff91509e3c40b939176e643fd50a5c2196b8f8"}, {file = "mdurl-0.1.2.tar.gz", hash = "sha256:bb413d29f5eea38f31dd4754dd7377d4465116fb207585f97bf925588687c1ba"}, @@ -1847,6 +2338,7 @@ description = "A deep merge function for 🐍." optional = false python-versions = ">=3.6" groups = ["docs"] +markers = "python_version <= \"3.11\" or python_version >= \"3.12\"" files = [ {file = "mergedeep-1.3.4-py3-none-any.whl", hash = "sha256:70775750742b25c0d8f36c55aed03d24c3384d17c951b3175d898bd778ef0307"}, {file = "mergedeep-1.3.4.tar.gz", hash = "sha256:0096d52e9dad9939c3d975a774666af186eda617e6ca84df4c94dec30004f2a8"}, @@ -1859,6 +2351,7 @@ description = "Manage multiple versions of your MkDocs-powered documentation" optional = false python-versions = "*" groups = ["docs"] +markers = "python_version <= \"3.11\" or python_version >= \"3.12\"" files = [ {file = "mike-2.1.3-py3-none-any.whl", hash = "sha256:d90c64077e84f06272437b464735130d380703a76a5738b152932884c60c062a"}, {file = "mike-2.1.3.tar.gz", hash = "sha256:abd79b8ea483fb0275b7972825d3082e5ae67a41820f8d8a0dc7a3f49944e810"}, @@ -1885,6 +2378,7 @@ description = "A sane and fast Markdown parser with useful plugins and renderers optional = false python-versions = ">=3.8" groups = ["dev", "docs"] +markers = "python_version <= \"3.11\" or python_version >= \"3.12\"" files = [ {file = "mistune-3.1.0-py3-none-any.whl", hash = "sha256:b05198cf6d671b3deba6c87ec6cf0d4eb7b72c524636eddb6dbf13823b52cee1"}, {file = "mistune-3.1.0.tar.gz", hash = "sha256:dbcac2f78292b9dc066cd03b7a3a26b62d85f8159f2ea5fd28e55df79908d667"}, @@ -1900,6 +2394,7 @@ description = "Project documentation with Markdown." optional = false python-versions = ">=3.8" groups = ["docs"] +markers = "python_version <= \"3.11\" or python_version >= \"3.12\"" files = [ {file = "mkdocs-1.6.1-py3-none-any.whl", hash = "sha256:db91759624d1647f3f34aa0c3f327dd2601beae39a366d6e064c03468d35c20e"}, {file = "mkdocs-1.6.1.tar.gz", hash = "sha256:7b432f01d928c084353ab39c57282f29f92136665bdd6abf7c1ec8d822ef86f2"}, @@ -1932,6 +2427,7 @@ description = "Automatically link across pages in MkDocs." optional = false python-versions = ">=3.8" groups = ["docs"] +markers = "python_version <= \"3.11\" or python_version >= \"3.12\"" files = [ {file = "mkdocs_autorefs-1.2.0-py3-none-any.whl", hash = "sha256:d588754ae89bd0ced0c70c06f58566a4ee43471eeeee5202427da7de9ef85a2f"}, {file = "mkdocs_autorefs-1.2.0.tar.gz", hash = "sha256:a86b93abff653521bda71cf3fc5596342b7a23982093915cb74273f67522190f"}, @@ -1949,6 +2445,7 @@ description = "MkDocs extension that lists all dependencies according to a mkdoc optional = false python-versions = ">=3.8" groups = ["docs"] +markers = "python_version <= \"3.11\" or python_version >= \"3.12\"" files = [ {file = "mkdocs_get_deps-0.2.0-py3-none-any.whl", hash = "sha256:2bf11d0b133e77a0dd036abeeb06dec8775e46efa526dc70667d8863eefc6134"}, {file = "mkdocs_get_deps-0.2.0.tar.gz", hash = "sha256:162b3d129c7fad9b19abfdcb9c1458a651628e4b1dea628ac68790fb3061c60c"}, @@ -1967,6 +2464,7 @@ description = "An MkDocs plugin to create a list of contributors on the page. Th optional = false python-versions = "<4,>=3.8" groups = ["docs"] +markers = "python_version <= \"3.11\" or python_version >= \"3.12\" and python_version < \"4\"" files = [ {file = "mkdocs_git_committers_plugin_2-2.4.1-py3-none-any.whl", hash = "sha256:ec9c1d81445606c471337d1c4a1782c643b7377077b545279dc18b86b7362c6d"}, {file = "mkdocs_git_committers_plugin_2-2.4.1.tar.gz", hash = "sha256:ea1f80a79cedc42289e0b8e973276df04fb94f56e0ae3efc5385fb28547cf5cb"}, @@ -1984,6 +2482,7 @@ description = "Mkdocs plugin that enables displaying the localized date of the l optional = false python-versions = ">=3.8" groups = ["docs"] +markers = "python_version <= \"3.11\" or python_version >= \"3.12\"" files = [ {file = "mkdocs_git_revision_date_localized_plugin-1.3.0-py3-none-any.whl", hash = "sha256:c99377ee119372d57a9e47cff4e68f04cce634a74831c06bc89b33e456e840a1"}, {file = "mkdocs_git_revision_date_localized_plugin-1.3.0.tar.gz", hash = "sha256:439e2f14582204050a664c258861c325064d97cdc848c541e48bb034a6c4d0cb"}, @@ -2007,6 +2506,7 @@ description = "Use Jupyter in mkdocs websites" optional = false python-versions = ">=3.8" groups = ["docs"] +markers = "python_version <= \"3.11\" or python_version >= \"3.12\"" files = [ {file = "mkdocs_jupyter-0.24.8-py3-none-any.whl", hash = "sha256:36438a0a653eee2c27c6a8f7006e645f18693699c9b8ac44ffde830ddb08fa16"}, {file = "mkdocs_jupyter-0.24.8.tar.gz", hash = "sha256:09a762f484d540d9c0e944d34b28cb536a32869e224b460e2fc791b143f76940"}, @@ -2027,6 +2527,7 @@ description = "Documentation that simply works" optional = false python-versions = ">=3.8" groups = ["docs"] +markers = "python_version <= \"3.11\" or python_version >= \"3.12\"" files = [ {file = "mkdocs_material-9.5.49-py3-none-any.whl", hash = "sha256:c3c2d8176b18198435d3a3e119011922f3e11424074645c24019c2dcf08a360e"}, {file = "mkdocs_material-9.5.49.tar.gz", hash = "sha256:3671bb282b4f53a1c72e08adbe04d2481a98f85fed392530051f80ff94a9621d"}, @@ -2059,6 +2560,7 @@ description = "Extension pack for Python Markdown and MkDocs Material." optional = false python-versions = ">=3.8" groups = ["docs"] +markers = "python_version <= \"3.11\" or python_version >= \"3.12\"" files = [ {file = "mkdocs_material_extensions-1.3.1-py3-none-any.whl", hash = "sha256:adff8b62700b25cb77b53358dad940f3ef973dd6db797907c49e3c2ef3ab4e31"}, {file = "mkdocs_material_extensions-1.3.1.tar.gz", hash = "sha256:10c9511cea88f568257f960358a467d12b970e1f7b2c0e5fb2bb48cab1928443"}, @@ -2071,6 +2573,7 @@ description = "Automatic documentation from sources, for MkDocs." optional = false python-versions = ">=3.8" groups = ["docs"] +markers = "python_version <= \"3.11\" or python_version >= \"3.12\"" files = [ {file = "mkdocstrings-0.26.1-py3-none-any.whl", hash = "sha256:29738bfb72b4608e8e55cc50fb8a54f325dc7ebd2014e4e3881a49892d5983cf"}, {file = "mkdocstrings-0.26.1.tar.gz", hash = "sha256:bb8b8854d6713d5348ad05b069a09f3b79edbc6a0f33a34c6821141adb03fe33"}, @@ -2100,6 +2603,7 @@ description = "A Python handler for mkdocstrings." optional = false python-versions = ">=3.8" groups = ["docs"] +markers = "python_version <= \"3.11\" or python_version >= \"3.12\"" files = [ {file = "mkdocstrings_python-1.11.1-py3-none-any.whl", hash = "sha256:a21a1c05acef129a618517bb5aae3e33114f569b11588b1e7af3e9d4061a71af"}, {file = "mkdocstrings_python-1.11.1.tar.gz", hash = "sha256:8824b115c5359304ab0b5378a91f6202324a849e1da907a3485b59208b797322"}, @@ -2116,85 +2620,13 @@ version = "10.5.0" description = "More routines for operating on iterables, beyond itertools" optional = false python-versions = ">=3.8" -groups = ["build", "dev"] -markers = "platform_machine != \"ppc64le\" and platform_machine != \"s390x\"" +groups = ["build"] +markers = "(python_version <= \"3.11\" or python_version >= \"3.12\") and (platform_machine != \"ppc64le\" and platform_machine != \"s390x\" or python_version < \"3.9\") and (platform_machine == \"arm64\" or platform_machine == \"aarch64\" or platform_machine != \"ppc64le\" and platform_machine != \"s390x\") and (platform_machine == \"arm64\" or platform_machine == \"aarch64\" or platform_system != \"Linux\" or platform_machine != \"ppc64le\" and platform_machine != \"s390x\" and platform_machine != \"aarch64\" or python_version >= \"3.9\") and (platform_machine == \"arm64\" or platform_machine == \"aarch64\" or platform_system != \"Darwin\" or platform_machine != \"ppc64le\" and platform_machine != \"s390x\" and platform_machine != \"arm64\" or python_version >= \"3.9\")" files = [ {file = "more-itertools-10.5.0.tar.gz", hash = "sha256:5482bfef7849c25dc3c6dd53a6173ae4795da2a41a80faea6700d9f5846c5da6"}, {file = "more_itertools-10.5.0-py3-none-any.whl", hash = "sha256:037b0d3203ce90cca8ab1defbbdac29d5f993fc20131f3664dc8d6acfa872aef"}, ] -[[package]] -name = "mypy" -version = "1.14.1" -description = "Optional static typing for Python" -optional = false -python-versions = ">=3.8" -groups = ["dev"] -files = [ - {file = "mypy-1.14.1-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:52686e37cf13d559f668aa398dd7ddf1f92c5d613e4f8cb262be2fb4fedb0fcb"}, - {file = "mypy-1.14.1-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:1fb545ca340537d4b45d3eecdb3def05e913299ca72c290326be19b3804b39c0"}, - {file = "mypy-1.14.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:90716d8b2d1f4cd503309788e51366f07c56635a3309b0f6a32547eaaa36a64d"}, - {file = "mypy-1.14.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:2ae753f5c9fef278bcf12e1a564351764f2a6da579d4a81347e1d5a15819997b"}, - {file = "mypy-1.14.1-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:e0fe0f5feaafcb04505bcf439e991c6d8f1bf8b15f12b05feeed96e9e7bf1427"}, - {file = "mypy-1.14.1-cp310-cp310-win_amd64.whl", hash = "sha256:7d54bd85b925e501c555a3227f3ec0cfc54ee8b6930bd6141ec872d1c572f81f"}, - {file = "mypy-1.14.1-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:f995e511de847791c3b11ed90084a7a0aafdc074ab88c5a9711622fe4751138c"}, - {file = "mypy-1.14.1-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:d64169ec3b8461311f8ce2fd2eb5d33e2d0f2c7b49116259c51d0d96edee48d1"}, - {file = "mypy-1.14.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:ba24549de7b89b6381b91fbc068d798192b1b5201987070319889e93038967a8"}, - {file = "mypy-1.14.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:183cf0a45457d28ff9d758730cd0210419ac27d4d3f285beda038c9083363b1f"}, - {file = "mypy-1.14.1-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:f2a0ecc86378f45347f586e4163d1769dd81c5a223d577fe351f26b179e148b1"}, - {file = "mypy-1.14.1-cp311-cp311-win_amd64.whl", hash = "sha256:ad3301ebebec9e8ee7135d8e3109ca76c23752bac1e717bc84cd3836b4bf3eae"}, - {file = "mypy-1.14.1-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:30ff5ef8519bbc2e18b3b54521ec319513a26f1bba19a7582e7b1f58a6e69f14"}, - {file = "mypy-1.14.1-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:cb9f255c18052343c70234907e2e532bc7e55a62565d64536dbc7706a20b78b9"}, - {file = "mypy-1.14.1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:8b4e3413e0bddea671012b063e27591b953d653209e7a4fa5e48759cda77ca11"}, - {file = "mypy-1.14.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:553c293b1fbdebb6c3c4030589dab9fafb6dfa768995a453d8a5d3b23784af2e"}, - {file = "mypy-1.14.1-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:fad79bfe3b65fe6a1efaed97b445c3d37f7be9fdc348bdb2d7cac75579607c89"}, - {file = "mypy-1.14.1-cp312-cp312-win_amd64.whl", hash = "sha256:8fa2220e54d2946e94ab6dbb3ba0a992795bd68b16dc852db33028df2b00191b"}, - {file = "mypy-1.14.1-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:92c3ed5afb06c3a8e188cb5da4984cab9ec9a77ba956ee419c68a388b4595255"}, - {file = "mypy-1.14.1-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:dbec574648b3e25f43d23577309b16534431db4ddc09fda50841f1e34e64ed34"}, - {file = "mypy-1.14.1-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:8c6d94b16d62eb3e947281aa7347d78236688e21081f11de976376cf010eb31a"}, - {file = "mypy-1.14.1-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:d4b19b03fdf54f3c5b2fa474c56b4c13c9dbfb9a2db4370ede7ec11a2c5927d9"}, - {file = "mypy-1.14.1-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:0c911fde686394753fff899c409fd4e16e9b294c24bfd5e1ea4675deae1ac6fd"}, - {file = "mypy-1.14.1-cp313-cp313-win_amd64.whl", hash = "sha256:8b21525cb51671219f5307be85f7e646a153e5acc656e5cebf64bfa076c50107"}, - {file = "mypy-1.14.1-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:7084fb8f1128c76cd9cf68fe5971b37072598e7c31b2f9f95586b65c741a9d31"}, - {file = "mypy-1.14.1-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:8f845a00b4f420f693f870eaee5f3e2692fa84cc8514496114649cfa8fd5e2c6"}, - {file = "mypy-1.14.1-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:44bf464499f0e3a2d14d58b54674dee25c031703b2ffc35064bd0df2e0fac319"}, - {file = "mypy-1.14.1-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:c99f27732c0b7dc847adb21c9d47ce57eb48fa33a17bc6d7d5c5e9f9e7ae5bac"}, - {file = "mypy-1.14.1-cp38-cp38-musllinux_1_2_x86_64.whl", hash = "sha256:bce23c7377b43602baa0bd22ea3265c49b9ff0b76eb315d6c34721af4cdf1d9b"}, - {file = "mypy-1.14.1-cp38-cp38-win_amd64.whl", hash = "sha256:8edc07eeade7ebc771ff9cf6b211b9a7d93687ff892150cb5692e4f4272b0837"}, - {file = "mypy-1.14.1-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:3888a1816d69f7ab92092f785a462944b3ca16d7c470d564165fe703b0970c35"}, - {file = "mypy-1.14.1-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:46c756a444117c43ee984bd055db99e498bc613a70bbbc120272bd13ca579fbc"}, - {file = "mypy-1.14.1-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:27fc248022907e72abfd8e22ab1f10e903915ff69961174784a3900a8cba9ad9"}, - {file = "mypy-1.14.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:499d6a72fb7e5de92218db961f1a66d5f11783f9ae549d214617edab5d4dbdbb"}, - {file = "mypy-1.14.1-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:57961db9795eb566dc1d1b4e9139ebc4c6b0cb6e7254ecde69d1552bf7613f60"}, - {file = "mypy-1.14.1-cp39-cp39-win_amd64.whl", hash = "sha256:07ba89fdcc9451f2ebb02853deb6aaaa3d2239a236669a63ab3801bbf923ef5c"}, - {file = "mypy-1.14.1-py3-none-any.whl", hash = "sha256:b66a60cc4073aeb8ae00057f9c1f64d49e90f918fbcef9a977eb121da8b8f1d1"}, - {file = "mypy-1.14.1.tar.gz", hash = "sha256:7ec88144fe9b510e8475ec2f5f251992690fcf89ccb4500b214b4226abcd32d6"}, -] - -[package.dependencies] -mypy_extensions = ">=1.0.0" -tomli = {version = ">=1.1.0", markers = "python_version < \"3.11\""} -typing_extensions = ">=4.6.0" - -[package.extras] -dmypy = ["psutil (>=4.0)"] -faster-cache = ["orjson"] -install-types = ["pip"] -mypyc = ["setuptools (>=50)"] -reports = ["lxml"] - -[[package]] -name = "mypy-extensions" -version = "1.0.0" -description = "Type system extensions for programs checked with the mypy type checker." -optional = false -python-versions = ">=3.5" -groups = ["dev"] -files = [ - {file = "mypy_extensions-1.0.0-py3-none-any.whl", hash = "sha256:4392f6c0eb8a5668a69e23d168ffa70f0be9ccfd32b5cc2d26a34ae5b844552d"}, - {file = "mypy_extensions-1.0.0.tar.gz", hash = "sha256:75dbf8955dc00442a438fc4d0666508a9a97b6bd41aa2f0ffe9d2f2725af0782"}, -] - [[package]] name = "nbclient" version = "0.10.1" @@ -2202,6 +2634,7 @@ description = "A client library for executing notebooks. Formerly nbconvert's Ex optional = false python-versions = ">=3.8.0" groups = ["dev", "docs"] +markers = "python_version <= \"3.11\" or python_version >= \"3.12\"" files = [ {file = "nbclient-0.10.1-py3-none-any.whl", hash = "sha256:949019b9240d66897e442888cfb618f69ef23dc71c01cb5fced8499c2cfc084d"}, {file = "nbclient-0.10.1.tar.gz", hash = "sha256:3e93e348ab27e712acd46fccd809139e356eb9a31aab641d1a7991a6eb4e6f68"}, @@ -2225,6 +2658,7 @@ description = "Converting Jupyter Notebooks (.ipynb files) to other formats. Ou optional = false python-versions = ">=3.8" groups = ["dev", "docs"] +markers = "python_version <= \"3.11\" or python_version >= \"3.12\"" files = [ {file = "nbconvert-7.16.5-py3-none-any.whl", hash = "sha256:e12eac052d6fd03040af4166c563d76e7aeead2e9aadf5356db552a1784bd547"}, {file = "nbconvert-7.16.5.tar.gz", hash = "sha256:c83467bb5777fdfaac5ebbb8e864f300b277f68692ecc04d6dab72f2d8442344"}, @@ -2263,6 +2697,7 @@ description = "The Jupyter Notebook format" optional = false python-versions = ">=3.8" groups = ["dev", "docs"] +markers = "python_version <= \"3.11\" or python_version >= \"3.12\"" files = [ {file = "nbformat-5.10.4-py3-none-any.whl", hash = "sha256:3b48d6c8fbca4b299bf3982ea7db1af21580e4fec269ad087b9e81588891200b"}, {file = "nbformat-5.10.4.tar.gz", hash = "sha256:322168b14f937a5d11362988ecac2a4952d3d8e3a2cbeb2319584631226d5b3a"}, @@ -2285,6 +2720,7 @@ description = "Patch asyncio to allow nested event loops" optional = false python-versions = ">=3.5" groups = ["dev", "docs"] +markers = "python_version <= \"3.11\" or python_version >= \"3.12\"" files = [ {file = "nest_asyncio-1.6.0-py3-none-any.whl", hash = "sha256:87af6efd6b5e897c81050477ef65c62e2b2f35d51703cae01aff2905b1852e1c"}, {file = "nest_asyncio-1.6.0.tar.gz", hash = "sha256:6f172d5449aca15afd6c646851f4e31e02c598d553a667e38cafa997cfec55fe"}, @@ -2296,7 +2732,8 @@ version = "0.2.20" description = "Python binding to Ammonia HTML sanitizer Rust crate" optional = false python-versions = ">=3.8" -groups = ["build", "dev"] +groups = ["build"] +markers = "python_version <= \"3.11\" or python_version >= \"3.12\"" files = [ {file = "nh3-0.2.20-cp313-cp313t-macosx_10_12_x86_64.macosx_11_0_arm64.macosx_10_12_universal2.whl", hash = "sha256:e1061a4ab6681f6bdf72b110eea0c4e1379d57c9de937db3be4202f7ad6043db"}, {file = "nh3-0.2.20-cp313-cp313t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:eb4254b1dac4a1ee49919a5b3f1caf9803ea8dada1816d9e8289e63d3cd0dd9a"}, @@ -2331,6 +2768,7 @@ description = "Node.js virtual environment builder" optional = false python-versions = "!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*,!=3.4.*,!=3.5.*,!=3.6.*,>=2.7" groups = ["dev"] +markers = "python_version <= \"3.11\" or python_version >= \"3.12\"" files = [ {file = "nodeenv-1.9.1-py2.py3-none-any.whl", hash = "sha256:ba11c9782d29c27c70ffbdda2d7415098754709be8a7056d79a737cd901155c9"}, {file = "nodeenv-1.9.1.tar.gz", hash = "sha256:6ec12890a2dab7946721edbfbcd91f3319c6ccc9aec47be7c7e6b7011ee6645f"}, @@ -2343,6 +2781,7 @@ description = "Jupyter Notebook - A web-based notebook environment for interacti optional = false python-versions = ">=3.8" groups = ["dev"] +markers = "python_version <= \"3.11\" or python_version >= \"3.12\"" files = [ {file = "notebook-7.3.2-py3-none-any.whl", hash = "sha256:e5f85fc59b69d3618d73cf27544418193ff8e8058d5bf61d315ce4f473556288"}, {file = "notebook-7.3.2.tar.gz", hash = "sha256:705e83a1785f45b383bf3ee13cb76680b92d24f56fb0c7d2136fe1d850cd3ca8"}, @@ -2367,6 +2806,7 @@ description = "A shim layer for notebook traits and config" optional = false python-versions = ">=3.7" groups = ["dev"] +markers = "python_version <= \"3.11\" or python_version >= \"3.12\"" files = [ {file = "notebook_shim-0.2.4-py3-none-any.whl", hash = "sha256:411a5be4e9dc882a074ccbcae671eda64cceb068767e9a3419096986560e1cef"}, {file = "notebook_shim-0.2.4.tar.gz", hash = "sha256:b4b2cfa1b65d98307ca24361f5b30fe785b53c3fd07b7a47e89acb5e6ac638cb"}, @@ -2378,53 +2818,14 @@ jupyter-server = ">=1.8,<3" [package.extras] test = ["pytest", "pytest-console-scripts", "pytest-jupyter", "pytest-tornasync"] -[[package]] -name = "numpy" -version = "1.24.3" -description = "Fundamental package for array computing in Python" -optional = false -python-versions = ">=3.8" -groups = ["main", "typecheck"] -files = [ - {file = "numpy-1.24.3-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:3c1104d3c036fb81ab923f507536daedc718d0ad5a8707c6061cdfd6d184e570"}, - {file = "numpy-1.24.3-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:202de8f38fc4a45a3eea4b63e2f376e5f2dc64ef0fa692838e31a808520efaf7"}, - {file = "numpy-1.24.3-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:8535303847b89aa6b0f00aa1dc62867b5a32923e4d1681a35b5eef2d9591a463"}, - {file = "numpy-1.24.3-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:2d926b52ba1367f9acb76b0df6ed21f0b16a1ad87c6720a1121674e5cf63e2b6"}, - {file = "numpy-1.24.3-cp310-cp310-win32.whl", hash = "sha256:f21c442fdd2805e91799fbe044a7b999b8571bb0ab0f7850d0cb9641a687092b"}, - {file = "numpy-1.24.3-cp310-cp310-win_amd64.whl", hash = "sha256:ab5f23af8c16022663a652d3b25dcdc272ac3f83c3af4c02eb8b824e6b3ab9d7"}, - {file = "numpy-1.24.3-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:9a7721ec204d3a237225db3e194c25268faf92e19338a35f3a224469cb6039a3"}, - {file = "numpy-1.24.3-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:d6cc757de514c00b24ae8cf5c876af2a7c3df189028d68c0cb4eaa9cd5afc2bf"}, - {file = "numpy-1.24.3-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:76e3f4e85fc5d4fd311f6e9b794d0c00e7002ec122be271f2019d63376f1d385"}, - {file = "numpy-1.24.3-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:a1d3c026f57ceaad42f8231305d4653d5f05dc6332a730ae5c0bea3513de0950"}, - {file = "numpy-1.24.3-cp311-cp311-win32.whl", hash = "sha256:c91c4afd8abc3908e00a44b2672718905b8611503f7ff87390cc0ac3423fb096"}, - {file = "numpy-1.24.3-cp311-cp311-win_amd64.whl", hash = "sha256:5342cf6aad47943286afa6f1609cad9b4266a05e7f2ec408e2cf7aea7ff69d80"}, - {file = "numpy-1.24.3-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:7776ea65423ca6a15255ba1872d82d207bd1e09f6d0894ee4a64678dd2204078"}, - {file = "numpy-1.24.3-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:ae8d0be48d1b6ed82588934aaaa179875e7dc4f3d84da18d7eae6eb3f06c242c"}, - {file = "numpy-1.24.3-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:ecde0f8adef7dfdec993fd54b0f78183051b6580f606111a6d789cd14c61ea0c"}, - {file = "numpy-1.24.3-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:4749e053a29364d3452c034827102ee100986903263e89884922ef01a0a6fd2f"}, - {file = "numpy-1.24.3-cp38-cp38-win32.whl", hash = "sha256:d933fabd8f6a319e8530d0de4fcc2e6a61917e0b0c271fded460032db42a0fe4"}, - {file = "numpy-1.24.3-cp38-cp38-win_amd64.whl", hash = "sha256:56e48aec79ae238f6e4395886b5eaed058abb7231fb3361ddd7bfdf4eed54289"}, - {file = "numpy-1.24.3-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:4719d5aefb5189f50887773699eaf94e7d1e02bf36c1a9d353d9f46703758ca4"}, - {file = "numpy-1.24.3-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:0ec87a7084caa559c36e0a2309e4ecb1baa03b687201d0a847c8b0ed476a7187"}, - {file = "numpy-1.24.3-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:ea8282b9bcfe2b5e7d491d0bf7f3e2da29700cec05b49e64d6246923329f2b02"}, - {file = "numpy-1.24.3-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:210461d87fb02a84ef243cac5e814aad2b7f4be953b32cb53327bb49fd77fbb4"}, - {file = "numpy-1.24.3-cp39-cp39-win32.whl", hash = "sha256:784c6da1a07818491b0ffd63c6bbe5a33deaa0e25a20e1b3ea20cf0e43f8046c"}, - {file = "numpy-1.24.3-cp39-cp39-win_amd64.whl", hash = "sha256:d5036197ecae68d7f491fcdb4df90082b0d4960ca6599ba2659957aafced7c17"}, - {file = "numpy-1.24.3-pp38-pypy38_pp73-macosx_10_9_x86_64.whl", hash = "sha256:352ee00c7f8387b44d19f4cada524586f07379c0d49270f87233983bc5087ca0"}, - {file = "numpy-1.24.3-pp38-pypy38_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:1a7d6acc2e7524c9955e5c903160aa4ea083736fde7e91276b0e5d98e6332812"}, - {file = "numpy-1.24.3-pp38-pypy38_pp73-win_amd64.whl", hash = "sha256:35400e6a8d102fd07c71ed7dcadd9eb62ee9a6e84ec159bd48c28235bbb0f8e4"}, - {file = "numpy-1.24.3.tar.gz", hash = "sha256:ab344f1bf21f140adab8e47fdbc7c35a477dc01408791f8ba00d018dd0bc5155"}, -] -markers = {main = "extra == \"metrics\" and python_full_version <= \"3.8.0\"", typecheck = "python_full_version <= \"3.8.0\""} - [[package]] name = "numpy" version = "1.24.4" description = "Fundamental package for array computing in Python" -optional = true +optional = false python-versions = ">=3.8" groups = ["main"] -markers = "python_full_version > \"3.8.0\" and python_version < \"3.9\" and extra == \"metrics\"" +markers = "python_version <= \"3.11\" or python_version >= \"3.12\"" files = [ {file = "numpy-1.24.4-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:c0bfb52d2169d58c1cdb8cc1f16989101639b34c7d3ce60ed70b19c63eba0b64"}, {file = "numpy-1.24.4-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:ed094d4f0c177b1b8e7aa9cba7d6ceed51c0e569a5318ac0ca9a090680a6a1b1"}, @@ -2457,60 +2858,53 @@ files = [ ] [[package]] -name = "numpy" -version = "2.0.2" -description = "Fundamental package for array computing in Python" +name = "opencv-python" +version = "4.8.1.78" +description = "Wrapper package for OpenCV python bindings." optional = false -python-versions = ">=3.9" -groups = ["main", "typecheck"] -files = [ - {file = "numpy-2.0.2-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:51129a29dbe56f9ca83438b706e2e69a39892b5eda6cedcb6b0c9fdc9b0d3ece"}, - {file = "numpy-2.0.2-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:f15975dfec0cf2239224d80e32c3170b1d168335eaedee69da84fbe9f1f9cd04"}, - {file = "numpy-2.0.2-cp310-cp310-macosx_14_0_arm64.whl", hash = "sha256:8c5713284ce4e282544c68d1c3b2c7161d38c256d2eefc93c1d683cf47683e66"}, - {file = "numpy-2.0.2-cp310-cp310-macosx_14_0_x86_64.whl", hash = "sha256:becfae3ddd30736fe1889a37f1f580e245ba79a5855bff5f2a29cb3ccc22dd7b"}, - {file = "numpy-2.0.2-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:2da5960c3cf0df7eafefd806d4e612c5e19358de82cb3c343631188991566ccd"}, - {file = "numpy-2.0.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:496f71341824ed9f3d2fd36cf3ac57ae2e0165c143b55c3a035ee219413f3318"}, - {file = "numpy-2.0.2-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:a61ec659f68ae254e4d237816e33171497e978140353c0c2038d46e63282d0c8"}, - {file = "numpy-2.0.2-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:d731a1c6116ba289c1e9ee714b08a8ff882944d4ad631fd411106a30f083c326"}, - {file = "numpy-2.0.2-cp310-cp310-win32.whl", hash = "sha256:984d96121c9f9616cd33fbd0618b7f08e0cfc9600a7ee1d6fd9b239186d19d97"}, - {file = "numpy-2.0.2-cp310-cp310-win_amd64.whl", hash = "sha256:c7b0be4ef08607dd04da4092faee0b86607f111d5ae68036f16cc787e250a131"}, - {file = "numpy-2.0.2-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:49ca4decb342d66018b01932139c0961a8f9ddc7589611158cb3c27cbcf76448"}, - {file = "numpy-2.0.2-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:11a76c372d1d37437857280aa142086476136a8c0f373b2e648ab2c8f18fb195"}, - {file = "numpy-2.0.2-cp311-cp311-macosx_14_0_arm64.whl", hash = "sha256:807ec44583fd708a21d4a11d94aedf2f4f3c3719035c76a2bbe1fe8e217bdc57"}, - {file = "numpy-2.0.2-cp311-cp311-macosx_14_0_x86_64.whl", hash = "sha256:8cafab480740e22f8d833acefed5cc87ce276f4ece12fdaa2e8903db2f82897a"}, - {file = "numpy-2.0.2-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a15f476a45e6e5a3a79d8a14e62161d27ad897381fecfa4a09ed5322f2085669"}, - {file = "numpy-2.0.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:13e689d772146140a252c3a28501da66dfecd77490b498b168b501835041f951"}, - {file = "numpy-2.0.2-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:9ea91dfb7c3d1c56a0e55657c0afb38cf1eeae4544c208dc465c3c9f3a7c09f9"}, - {file = "numpy-2.0.2-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:c1c9307701fec8f3f7a1e6711f9089c06e6284b3afbbcd259f7791282d660a15"}, - {file = "numpy-2.0.2-cp311-cp311-win32.whl", hash = "sha256:a392a68bd329eafac5817e5aefeb39038c48b671afd242710b451e76090e81f4"}, - {file = "numpy-2.0.2-cp311-cp311-win_amd64.whl", hash = "sha256:286cd40ce2b7d652a6f22efdfc6d1edf879440e53e76a75955bc0c826c7e64dc"}, - {file = "numpy-2.0.2-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:df55d490dea7934f330006d0f81e8551ba6010a5bf035a249ef61a94f21c500b"}, - {file = "numpy-2.0.2-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:8df823f570d9adf0978347d1f926b2a867d5608f434a7cff7f7908c6570dcf5e"}, - {file = "numpy-2.0.2-cp312-cp312-macosx_14_0_arm64.whl", hash = "sha256:9a92ae5c14811e390f3767053ff54eaee3bf84576d99a2456391401323f4ec2c"}, - {file = "numpy-2.0.2-cp312-cp312-macosx_14_0_x86_64.whl", hash = "sha256:a842d573724391493a97a62ebbb8e731f8a5dcc5d285dfc99141ca15a3302d0c"}, - {file = "numpy-2.0.2-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:c05e238064fc0610c840d1cf6a13bf63d7e391717d247f1bf0318172e759e692"}, - {file = "numpy-2.0.2-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:0123ffdaa88fa4ab64835dcbde75dcdf89c453c922f18dced6e27c90d1d0ec5a"}, - {file = "numpy-2.0.2-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:96a55f64139912d61de9137f11bf39a55ec8faec288c75a54f93dfd39f7eb40c"}, - {file = "numpy-2.0.2-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:ec9852fb39354b5a45a80bdab5ac02dd02b15f44b3804e9f00c556bf24b4bded"}, - {file = "numpy-2.0.2-cp312-cp312-win32.whl", hash = "sha256:671bec6496f83202ed2d3c8fdc486a8fc86942f2e69ff0e986140339a63bcbe5"}, - {file = "numpy-2.0.2-cp312-cp312-win_amd64.whl", hash = "sha256:cfd41e13fdc257aa5778496b8caa5e856dc4896d4ccf01841daee1d96465467a"}, - {file = "numpy-2.0.2-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:9059e10581ce4093f735ed23f3b9d283b9d517ff46009ddd485f1747eb22653c"}, - {file = "numpy-2.0.2-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:423e89b23490805d2a5a96fe40ec507407b8ee786d66f7328be214f9679df6dd"}, - {file = "numpy-2.0.2-cp39-cp39-macosx_14_0_arm64.whl", hash = "sha256:2b2955fa6f11907cf7a70dab0d0755159bca87755e831e47932367fc8f2f2d0b"}, - {file = "numpy-2.0.2-cp39-cp39-macosx_14_0_x86_64.whl", hash = "sha256:97032a27bd9d8988b9a97a8c4d2c9f2c15a81f61e2f21404d7e8ef00cb5be729"}, - {file = "numpy-2.0.2-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:1e795a8be3ddbac43274f18588329c72939870a16cae810c2b73461c40718ab1"}, - {file = "numpy-2.0.2-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f26b258c385842546006213344c50655ff1555a9338e2e5e02a0756dc3e803dd"}, - {file = "numpy-2.0.2-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:5fec9451a7789926bcf7c2b8d187292c9f93ea30284802a0ab3f5be8ab36865d"}, - {file = "numpy-2.0.2-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:9189427407d88ff25ecf8f12469d4d39d35bee1db5d39fc5c168c6f088a6956d"}, - {file = "numpy-2.0.2-cp39-cp39-win32.whl", hash = "sha256:905d16e0c60200656500c95b6b8dca5d109e23cb24abc701d41c02d74c6b3afa"}, - {file = "numpy-2.0.2-cp39-cp39-win_amd64.whl", hash = "sha256:a3f4ab0caa7f053f6797fcd4e1e25caee367db3112ef2b6ef82d749530768c73"}, - {file = "numpy-2.0.2-pp39-pypy39_pp73-macosx_10_9_x86_64.whl", hash = "sha256:7f0a0c6f12e07fa94133c8a67404322845220c06a9e80e85999afe727f7438b8"}, - {file = "numpy-2.0.2-pp39-pypy39_pp73-macosx_14_0_x86_64.whl", hash = "sha256:312950fdd060354350ed123c0e25a71327d3711584beaef30cdaa93320c392d4"}, - {file = "numpy-2.0.2-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:26df23238872200f63518dd2aa984cfca675d82469535dc7162dc2ee52d9dd5c"}, - {file = "numpy-2.0.2-pp39-pypy39_pp73-win_amd64.whl", hash = "sha256:a46288ec55ebbd58947d31d72be2c63cbf839f0a63b49cb755022310792a3385"}, - {file = "numpy-2.0.2.tar.gz", hash = "sha256:883c987dee1880e2a864ab0dc9892292582510604156762362d9326444636e78"}, -] -markers = {main = "extra == \"metrics\" and (python_version <= \"3.11\" or python_version >= \"3.12\") and python_version >= \"3.9\"", typecheck = "python_version >= \"3.9\""} +python-versions = ">=3.6" +groups = ["main"] +markers = "python_version >= \"3.12\"" +files = [ + {file = "opencv-python-4.8.1.78.tar.gz", hash = "sha256:cc7adbbcd1112877a39274106cb2752e04984bc01a031162952e97450d6117f6"}, + {file = "opencv_python-4.8.1.78-cp37-abi3-macosx_10_16_x86_64.whl", hash = "sha256:91d5f6f5209dc2635d496f6b8ca6573ecdad051a09e6b5de4c399b8e673c60da"}, + {file = "opencv_python-4.8.1.78-cp37-abi3-macosx_11_0_arm64.whl", hash = "sha256:bc31f47e05447da8b3089faa0a07ffe80e114c91ce0b171e6424f9badbd1c5cd"}, + {file = "opencv_python-4.8.1.78-cp37-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:9814beca408d3a0eca1bae7e3e5be68b07c17ecceb392b94170881216e09b319"}, + {file = "opencv_python-4.8.1.78-cp37-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:c4c406bdb41eb21ea51b4e90dfbc989c002786c3f601c236a99c59a54670a394"}, + {file = "opencv_python-4.8.1.78-cp37-abi3-win32.whl", hash = "sha256:a7aac3900fbacf55b551e7b53626c3dad4c71ce85643645c43e91fcb19045e47"}, + {file = "opencv_python-4.8.1.78-cp37-abi3-win_amd64.whl", hash = "sha256:b983197f97cfa6fcb74e1da1802c7497a6f94ed561aba6980f1f33123f904956"}, +] + +[package.dependencies] +numpy = {version = ">=1.23.5", markers = "python_version >= \"3.11\""} + +[[package]] +name = "opencv-python" +version = "4.10.0.84" +description = "Wrapper package for OpenCV python bindings." +optional = false +python-versions = ">=3.6" +groups = ["main"] +markers = "python_version <= \"3.11\"" +files = [ + {file = "opencv-python-4.10.0.84.tar.gz", hash = "sha256:72d234e4582e9658ffea8e9cae5b63d488ad06994ef12d81dc303b17472f3526"}, + {file = "opencv_python-4.10.0.84-cp37-abi3-macosx_11_0_arm64.whl", hash = "sha256:fc182f8f4cda51b45f01c64e4cbedfc2f00aff799debebc305d8d0210c43f251"}, + {file = "opencv_python-4.10.0.84-cp37-abi3-macosx_12_0_x86_64.whl", hash = "sha256:71e575744f1d23f79741450254660442785f45a0797212852ee5199ef12eed98"}, + {file = "opencv_python-4.10.0.84-cp37-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:09a332b50488e2dda866a6c5573ee192fe3583239fb26ff2f7f9ceb0bc119ea6"}, + {file = "opencv_python-4.10.0.84-cp37-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:9ace140fc6d647fbe1c692bcb2abce768973491222c067c131d80957c595b71f"}, + {file = "opencv_python-4.10.0.84-cp37-abi3-win32.whl", hash = "sha256:2db02bb7e50b703f0a2d50c50ced72e95c574e1e5a0bb35a8a86d0b35c98c236"}, + {file = "opencv_python-4.10.0.84-cp37-abi3-win_amd64.whl", hash = "sha256:32dbbd94c26f611dc5cc6979e6b7aa1f55a64d6b463cc1dcd3c95505a63e48fe"}, +] + +[package.dependencies] +numpy = [ + {version = ">=1.21.0", markers = "python_version <= \"3.9\" and platform_system == \"Darwin\" and platform_machine == \"arm64\" and python_version >= \"3.8\""}, + {version = ">=1.19.3", markers = "platform_system == \"Linux\" and platform_machine == \"aarch64\" and python_version >= \"3.8\" and python_version < \"3.10\" or python_version > \"3.9\" and python_version < \"3.10\" or python_version >= \"3.9\" and platform_system != \"Darwin\" and python_version < \"3.10\" or python_version >= \"3.9\" and platform_machine != \"arm64\" and python_version < \"3.10\""}, + {version = ">=1.17.3", markers = "(platform_system != \"Darwin\" and platform_system != \"Linux\") and python_version >= \"3.8\" and python_version < \"3.9\" or platform_system != \"Darwin\" and python_version >= \"3.8\" and python_version < \"3.9\" and platform_machine != \"aarch64\" or platform_machine != \"arm64\" and python_version >= \"3.8\" and python_version < \"3.9\" and platform_system != \"Linux\" or (platform_machine != \"arm64\" and platform_machine != \"aarch64\") and python_version >= \"3.8\" and python_version < \"3.9\""}, + {version = ">=1.23.5", markers = "python_version >= \"3.11\" and python_version < \"3.12\""}, + {version = ">=1.21.4", markers = "python_version >= \"3.10\" and platform_system == \"Darwin\" and python_version < \"3.11\""}, + {version = ">=1.21.2", markers = "platform_system != \"Darwin\" and python_version >= \"3.10\" and python_version < \"3.11\""}, +] [[package]] name = "overrides" @@ -2519,6 +2913,7 @@ description = "A decorator to automatically detect mismatch when overriding a me optional = false python-versions = ">=3.6" groups = ["dev"] +markers = "python_version <= \"3.11\" or python_version >= \"3.12\"" files = [ {file = "overrides-7.7.0-py3-none-any.whl", hash = "sha256:c7ed9d062f78b8e4c1a7b70bd8796b35ead4d9f510227ef9c5dc7626c60d7e49"}, {file = "overrides-7.7.0.tar.gz", hash = "sha256:55158fa3d93b98cc75299b1e67078ad9003ca27945c76162c1c0766d6f91820a"}, @@ -2530,7 +2925,8 @@ version = "24.2" description = "Core utilities for Python packages" optional = false python-versions = ">=3.8" -groups = ["build", "dev", "docs", "test"] +groups = ["main", "build", "dev", "docs"] +markers = "python_version <= \"3.11\" or python_version >= \"3.12\"" files = [ {file = "packaging-24.2-py3-none-any.whl", hash = "sha256:09abb1bccd265c01f4a3aa3f7a7db064b36514d2cba19a2f694fe6150451a759"}, {file = "packaging-24.2.tar.gz", hash = "sha256:c228a6dc5e932d346bc5739379109d49e8853dd8223571c7c5b55260edc0b97f"}, @@ -2543,6 +2939,7 @@ description = "Divides large result sets into pages for easier browsing" optional = false python-versions = "*" groups = ["docs"] +markers = "python_version <= \"3.11\" or python_version >= \"3.12\"" files = [ {file = "paginate-0.5.7-py2.py3-none-any.whl", hash = "sha256:b885e2af73abcf01d9559fd5216b57ef722f8c42affbb63942377668e35c7591"}, {file = "paginate-0.5.7.tar.gz", hash = "sha256:22bd083ab41e1a8b4f3690544afb2c60c25e5c9a63a30fa2f483f6c60c8e5945"}, @@ -2556,10 +2953,10 @@ lint = ["black"] name = "pandas" version = "2.0.3" description = "Powerful data structures for data analysis, time series, and statistics" -optional = true +optional = false python-versions = ">=3.8" groups = ["main"] -markers = "extra == \"metrics\" and python_version <= \"3.11\" or extra == \"metrics\" and python_version >= \"3.12\" and python_version < \"3.13\"" +markers = "python_version <= \"3.11\" or python_version >= \"3.12\"" files = [ {file = "pandas-2.0.3-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:e4c7c9f27a4185304c7caf96dc7d91bc60bc162221152de697c98eb0b2648dd8"}, {file = "pandas-2.0.3-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:f167beed68918d62bffb6ec64f2e1d8a7d297a038f86d4aed056b9493fca407f"}, @@ -2591,8 +2988,8 @@ files = [ [package.dependencies] numpy = [ {version = ">=1.20.3", markers = "python_version < \"3.10\""}, - {version = ">=1.21.0", markers = "python_version >= \"3.10\" and python_version < \"3.11\""}, {version = ">=1.23.2", markers = "python_version >= \"3.11\""}, + {version = ">=1.21.0", markers = "python_version >= \"3.10\" and python_version < \"3.11\""}, ] python-dateutil = ">=2.8.2" pytz = ">=2020.1" @@ -2621,109 +3018,6 @@ sql-other = ["SQLAlchemy (>=1.4.16)"] test = ["hypothesis (>=6.34.2)", "pytest (>=7.3.2)", "pytest-asyncio (>=0.17.0)", "pytest-xdist (>=2.2.0)"] xml = ["lxml (>=4.6.3)"] -[[package]] -name = "pandas" -version = "2.2.3" -description = "Powerful data structures for data analysis, time series, and statistics" -optional = true -python-versions = ">=3.9" -groups = ["main"] -markers = "python_version >= \"3.13\" and extra == \"metrics\"" -files = [ - {file = "pandas-2.2.3-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:1948ddde24197a0f7add2bdc4ca83bf2b1ef84a1bc8ccffd95eda17fd836ecb5"}, - {file = "pandas-2.2.3-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:381175499d3802cde0eabbaf6324cce0c4f5d52ca6f8c377c29ad442f50f6348"}, - {file = "pandas-2.2.3-cp310-cp310-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:d9c45366def9a3dd85a6454c0e7908f2b3b8e9c138f5dc38fed7ce720d8453ed"}, - {file = "pandas-2.2.3-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:86976a1c5b25ae3f8ccae3a5306e443569ee3c3faf444dfd0f41cda24667ad57"}, - {file = "pandas-2.2.3-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:b8661b0238a69d7aafe156b7fa86c44b881387509653fdf857bebc5e4008ad42"}, - {file = "pandas-2.2.3-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:37e0aced3e8f539eccf2e099f65cdb9c8aa85109b0be6e93e2baff94264bdc6f"}, - {file = "pandas-2.2.3-cp310-cp310-win_amd64.whl", hash = "sha256:56534ce0746a58afaf7942ba4863e0ef81c9c50d3f0ae93e9497d6a41a057645"}, - {file = "pandas-2.2.3-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:66108071e1b935240e74525006034333f98bcdb87ea116de573a6a0dccb6c039"}, - {file = "pandas-2.2.3-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:7c2875855b0ff77b2a64a0365e24455d9990730d6431b9e0ee18ad8acee13dbd"}, - {file = "pandas-2.2.3-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:cd8d0c3be0515c12fed0bdbae072551c8b54b7192c7b1fda0ba56059a0179698"}, - {file = "pandas-2.2.3-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:c124333816c3a9b03fbeef3a9f230ba9a737e9e5bb4060aa2107a86cc0a497fc"}, - {file = "pandas-2.2.3-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:63cc132e40a2e084cf01adf0775b15ac515ba905d7dcca47e9a251819c575ef3"}, - {file = "pandas-2.2.3-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:29401dbfa9ad77319367d36940cd8a0b3a11aba16063e39632d98b0e931ddf32"}, - {file = "pandas-2.2.3-cp311-cp311-win_amd64.whl", hash = "sha256:3fc6873a41186404dad67245896a6e440baacc92f5b716ccd1bc9ed2995ab2c5"}, - {file = "pandas-2.2.3-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:b1d432e8d08679a40e2a6d8b2f9770a5c21793a6f9f47fdd52c5ce1948a5a8a9"}, - {file = "pandas-2.2.3-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:a5a1595fe639f5988ba6a8e5bc9649af3baf26df3998a0abe56c02609392e0a4"}, - {file = "pandas-2.2.3-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:5de54125a92bb4d1c051c0659e6fcb75256bf799a732a87184e5ea503965bce3"}, - {file = "pandas-2.2.3-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:fffb8ae78d8af97f849404f21411c95062db1496aeb3e56f146f0355c9989319"}, - {file = "pandas-2.2.3-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:6dfcb5ee8d4d50c06a51c2fffa6cff6272098ad6540aed1a76d15fb9318194d8"}, - {file = "pandas-2.2.3-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:062309c1b9ea12a50e8ce661145c6aab431b1e99530d3cd60640e255778bd43a"}, - {file = "pandas-2.2.3-cp312-cp312-win_amd64.whl", hash = "sha256:59ef3764d0fe818125a5097d2ae867ca3fa64df032331b7e0917cf5d7bf66b13"}, - {file = "pandas-2.2.3-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:f00d1345d84d8c86a63e476bb4955e46458b304b9575dcf71102b5c705320015"}, - {file = "pandas-2.2.3-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:3508d914817e153ad359d7e069d752cdd736a247c322d932eb89e6bc84217f28"}, - {file = "pandas-2.2.3-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:22a9d949bfc9a502d320aa04e5d02feab689d61da4e7764b62c30b991c42c5f0"}, - {file = "pandas-2.2.3-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f3a255b2c19987fbbe62a9dfd6cff7ff2aa9ccab3fc75218fd4b7530f01efa24"}, - {file = "pandas-2.2.3-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:800250ecdadb6d9c78eae4990da62743b857b470883fa27f652db8bdde7f6659"}, - {file = "pandas-2.2.3-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:6374c452ff3ec675a8f46fd9ab25c4ad0ba590b71cf0656f8b6daa5202bca3fb"}, - {file = "pandas-2.2.3-cp313-cp313-win_amd64.whl", hash = "sha256:61c5ad4043f791b61dd4752191d9f07f0ae412515d59ba8f005832a532f8736d"}, - {file = "pandas-2.2.3-cp313-cp313t-macosx_10_13_x86_64.whl", hash = "sha256:3b71f27954685ee685317063bf13c7709a7ba74fc996b84fc6821c59b0f06468"}, - {file = "pandas-2.2.3-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:38cf8125c40dae9d5acc10fa66af8ea6fdf760b2714ee482ca691fc66e6fcb18"}, - {file = "pandas-2.2.3-cp313-cp313t-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:ba96630bc17c875161df3818780af30e43be9b166ce51c9a18c1feae342906c2"}, - {file = "pandas-2.2.3-cp313-cp313t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:1db71525a1538b30142094edb9adc10be3f3e176748cd7acc2240c2f2e5aa3a4"}, - {file = "pandas-2.2.3-cp313-cp313t-musllinux_1_2_aarch64.whl", hash = "sha256:15c0e1e02e93116177d29ff83e8b1619c93ddc9c49083f237d4312337a61165d"}, - {file = "pandas-2.2.3-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:ad5b65698ab28ed8d7f18790a0dc58005c7629f227be9ecc1072aa74c0c1d43a"}, - {file = "pandas-2.2.3-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:bc6b93f9b966093cb0fd62ff1a7e4c09e6d546ad7c1de191767baffc57628f39"}, - {file = "pandas-2.2.3-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:5dbca4c1acd72e8eeef4753eeca07de9b1db4f398669d5994086f788a5d7cc30"}, - {file = "pandas-2.2.3-cp39-cp39-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:8cd6d7cc958a3910f934ea8dbdf17b2364827bb4dafc38ce6eef6bb3d65ff09c"}, - {file = "pandas-2.2.3-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:99df71520d25fade9db7c1076ac94eb994f4d2673ef2aa2e86ee039b6746d20c"}, - {file = "pandas-2.2.3-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:31d0ced62d4ea3e231a9f228366919a5ea0b07440d9d4dac345376fd8e1477ea"}, - {file = "pandas-2.2.3-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:7eee9e7cea6adf3e3d24e304ac6b8300646e2a5d1cd3a3c2abed9101b0846761"}, - {file = "pandas-2.2.3-cp39-cp39-win_amd64.whl", hash = "sha256:4850ba03528b6dd51d6c5d273c46f183f39a9baf3f0143e566b89450965b105e"}, - {file = "pandas-2.2.3.tar.gz", hash = "sha256:4f18ba62b61d7e192368b84517265a99b4d7ee8912f8708660fb4a366cc82667"}, -] - -[package.dependencies] -numpy = {version = ">=1.26.0", markers = "python_version >= \"3.12\""} -python-dateutil = ">=2.8.2" -pytz = ">=2020.1" -tzdata = ">=2022.7" - -[package.extras] -all = ["PyQt5 (>=5.15.9)", "SQLAlchemy (>=2.0.0)", "adbc-driver-postgresql (>=0.8.0)", "adbc-driver-sqlite (>=0.8.0)", "beautifulsoup4 (>=4.11.2)", "bottleneck (>=1.3.6)", "dataframe-api-compat (>=0.1.7)", "fastparquet (>=2022.12.0)", "fsspec (>=2022.11.0)", "gcsfs (>=2022.11.0)", "html5lib (>=1.1)", "hypothesis (>=6.46.1)", "jinja2 (>=3.1.2)", "lxml (>=4.9.2)", "matplotlib (>=3.6.3)", "numba (>=0.56.4)", "numexpr (>=2.8.4)", "odfpy (>=1.4.1)", "openpyxl (>=3.1.0)", "pandas-gbq (>=0.19.0)", "psycopg2 (>=2.9.6)", "pyarrow (>=10.0.1)", "pymysql (>=1.0.2)", "pyreadstat (>=1.2.0)", "pytest (>=7.3.2)", "pytest-xdist (>=2.2.0)", "python-calamine (>=0.1.7)", "pyxlsb (>=1.0.10)", "qtpy (>=2.3.0)", "s3fs (>=2022.11.0)", "scipy (>=1.10.0)", "tables (>=3.8.0)", "tabulate (>=0.9.0)", "xarray (>=2022.12.0)", "xlrd (>=2.0.1)", "xlsxwriter (>=3.0.5)", "zstandard (>=0.19.0)"] -aws = ["s3fs (>=2022.11.0)"] -clipboard = ["PyQt5 (>=5.15.9)", "qtpy (>=2.3.0)"] -compression = ["zstandard (>=0.19.0)"] -computation = ["scipy (>=1.10.0)", "xarray (>=2022.12.0)"] -consortium-standard = ["dataframe-api-compat (>=0.1.7)"] -excel = ["odfpy (>=1.4.1)", "openpyxl (>=3.1.0)", "python-calamine (>=0.1.7)", "pyxlsb (>=1.0.10)", "xlrd (>=2.0.1)", "xlsxwriter (>=3.0.5)"] -feather = ["pyarrow (>=10.0.1)"] -fss = ["fsspec (>=2022.11.0)"] -gcp = ["gcsfs (>=2022.11.0)", "pandas-gbq (>=0.19.0)"] -hdf5 = ["tables (>=3.8.0)"] -html = ["beautifulsoup4 (>=4.11.2)", "html5lib (>=1.1)", "lxml (>=4.9.2)"] -mysql = ["SQLAlchemy (>=2.0.0)", "pymysql (>=1.0.2)"] -output-formatting = ["jinja2 (>=3.1.2)", "tabulate (>=0.9.0)"] -parquet = ["pyarrow (>=10.0.1)"] -performance = ["bottleneck (>=1.3.6)", "numba (>=0.56.4)", "numexpr (>=2.8.4)"] -plot = ["matplotlib (>=3.6.3)"] -postgresql = ["SQLAlchemy (>=2.0.0)", "adbc-driver-postgresql (>=0.8.0)", "psycopg2 (>=2.9.6)"] -pyarrow = ["pyarrow (>=10.0.1)"] -spss = ["pyreadstat (>=1.2.0)"] -sql-other = ["SQLAlchemy (>=2.0.0)", "adbc-driver-postgresql (>=0.8.0)", "adbc-driver-sqlite (>=0.8.0)"] -test = ["hypothesis (>=6.46.1)", "pytest (>=7.3.2)", "pytest-xdist (>=2.2.0)"] -xml = ["lxml (>=4.9.2)"] - -[[package]] -name = "pandas-stubs" -version = "2.0.3.230814" -description = "Type annotations for pandas" -optional = false -python-versions = ">=3.8" -groups = ["typecheck"] -files = [ - {file = "pandas_stubs-2.0.3.230814-py3-none-any.whl", hash = "sha256:4b3dfc027d49779176b7daa031a3405f7b839bcb6e312f4b9f29fea5feec5b4f"}, - {file = "pandas_stubs-2.0.3.230814.tar.gz", hash = "sha256:1d5cc09e36e3d9f9a1ed9dceae4e03eeb26d1b898dd769996925f784365c8769"}, -] - -[package.dependencies] -numpy = [ - {version = "<=1.24.3", markers = "python_full_version <= \"3.8.0\""}, - {version = ">=1.25.0", markers = "python_version >= \"3.9\""}, -] -types-pytz = ">=2022.1.1" - [[package]] name = "pandocfilters" version = "1.5.1" @@ -2731,6 +3025,7 @@ description = "Utilities for writing pandoc filters in python" optional = false python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*" groups = ["dev", "docs"] +markers = "python_version <= \"3.11\" or python_version >= \"3.12\"" files = [ {file = "pandocfilters-1.5.1-py2.py3-none-any.whl", hash = "sha256:93be382804a9cdb0a7267585f157e5d1731bbe5545a85b268d6f5fe6232de2bc"}, {file = "pandocfilters-1.5.1.tar.gz", hash = "sha256:002b4a555ee4ebc03f8b66307e287fa492e4a77b4ea14d3f934328297bb4939e"}, @@ -2743,6 +3038,7 @@ description = "A Python Parser" optional = false python-versions = ">=3.6" groups = ["dev", "docs"] +markers = "python_version <= \"3.11\" or python_version >= \"3.12\"" files = [ {file = "parso-0.8.4-py2.py3-none-any.whl", hash = "sha256:a418670a20291dacd2dddc80c377c5c3791378ee1e8d12bffc35420643d43f18"}, {file = "parso-0.8.4.tar.gz", hash = "sha256:eb3a7b58240fb99099a345571deecc0f9540ea5f4dd2fe14c2a99d6b281ab92d"}, @@ -2759,6 +3055,7 @@ description = "Utility library for gitignore style pattern matching of file path optional = false python-versions = ">=3.8" groups = ["docs"] +markers = "python_version <= \"3.11\" or python_version >= \"3.12\"" files = [ {file = "pathspec-0.12.1-py3-none-any.whl", hash = "sha256:a0d503e138a4c123b27490a4f7beda6a01c6f288df0e4a8b79c7eb0dc7b4cc08"}, {file = "pathspec-0.12.1.tar.gz", hash = "sha256:a482d51503a1ab33b1c67a6c3813a26953dbdc71c31dacaef9a838c4e29f5712"}, @@ -2771,7 +3068,7 @@ description = "Pexpect allows easy control of interactive console applications." optional = false python-versions = "*" groups = ["dev", "docs"] -markers = "sys_platform != \"win32\"" +markers = "(python_version <= \"3.11\" or python_version >= \"3.12\") and sys_platform != \"win32\"" files = [ {file = "pexpect-4.9.0-py2.py3-none-any.whl", hash = "sha256:7236d1e080e4936be2dc3e326cec0af72acf9212a7e1d060210e70a47e253523"}, {file = "pexpect-4.9.0.tar.gz", hash = "sha256:ee7d41123f3c9911050ea2c2dac107568dc43b2d3b0c7557a33212c398ead30f"}, @@ -2787,6 +3084,7 @@ description = "Tiny 'shelve'-like database with concurrency support" optional = false python-versions = "*" groups = ["dev", "docs"] +markers = "python_version <= \"3.11\" or python_version >= \"3.12\"" files = [ {file = "pickleshare-0.7.5-py2.py3-none-any.whl", hash = "sha256:9649af414d74d4df115d5d718f82acb59c9d418196b7b4290ed47a12ce62df56"}, {file = "pickleshare-0.7.5.tar.gz", hash = "sha256:87683d47965c1da65cdacaf31c8441d12b8044cdec9aca500cd78fc2c683afca"}, @@ -2798,7 +3096,8 @@ version = "10.4.0" description = "Python Imaging Library (Fork)" optional = false python-versions = ">=3.8" -groups = ["docs"] +groups = ["main", "docs"] +markers = "python_version <= \"3.11\" or python_version >= \"3.12\"" files = [ {file = "pillow-10.4.0-cp310-cp310-macosx_10_10_x86_64.whl", hash = "sha256:4d9667937cfa347525b319ae34375c37b9ee6b525440f3ef48542fcf66f2731e"}, {file = "pillow-10.4.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:543f3dc61c18dafb755773efc89aae60d06b6596a63914107f75459cf984164d"}, @@ -2896,7 +3195,8 @@ version = "1.12.0" description = "Query metadata from sdists / bdists / installed packages." optional = false python-versions = ">=3.8" -groups = ["build", "dev"] +groups = ["build"] +markers = "python_version <= \"3.11\" or python_version >= \"3.12\"" files = [ {file = "pkginfo-1.12.0-py3-none-any.whl", hash = "sha256:dcd589c9be4da8973eceffa247733c144812759aa67eaf4bbf97016a02f39088"}, {file = "pkginfo-1.12.0.tar.gz", hash = "sha256:8ad91a0445a036782b9366ef8b8c2c50291f83a553478ba8580c73d3215700cf"}, @@ -2925,6 +3225,7 @@ description = "A small Python package for determining appropriate platform-speci optional = false python-versions = ">=3.8" groups = ["dev", "docs"] +markers = "python_version <= \"3.11\" or python_version >= \"3.12\"" files = [ {file = "platformdirs-4.3.6-py3-none-any.whl", hash = "sha256:73e575e1408ab8103900836b97580d5307456908a03e92031bab39e4554cc3fb"}, {file = "platformdirs-4.3.6.tar.gz", hash = "sha256:357fb2acbc885b0419afd3ce3ed34564c13c9b95c89360cd9563f73aa5e2b907"}, @@ -2941,7 +3242,8 @@ version = "1.5.0" description = "plugin and hook calling mechanisms for python" optional = false python-versions = ">=3.8" -groups = ["dev", "test"] +groups = ["dev"] +markers = "python_version <= \"3.11\" or python_version >= \"3.12\"" files = [ {file = "pluggy-1.5.0-py3-none-any.whl", hash = "sha256:44e1ad92c8ca002de6377e165f3e0f1be63266ab4d554740532335b9d75ea669"}, {file = "pluggy-1.5.0.tar.gz", hash = "sha256:2cffa88e94fdc978c4c574f15f9e59b7f4201d439195c3715ca9e2486f1d0cf1"}, @@ -2958,6 +3260,7 @@ description = "A framework for managing and maintaining multi-language pre-commi optional = false python-versions = ">=3.8" groups = ["dev"] +markers = "python_version <= \"3.11\" or python_version >= \"3.12\"" files = [ {file = "pre_commit-3.5.0-py2.py3-none-any.whl", hash = "sha256:841dc9aef25daba9a0238cd27984041fa0467b4199fc4852e27950664919f660"}, {file = "pre_commit-3.5.0.tar.gz", hash = "sha256:5804465c675b659b0862f07907f96295d490822a450c4c40e747d0b1c6ebcb32"}, @@ -2977,6 +3280,7 @@ description = "Python client for the Prometheus monitoring system." optional = false python-versions = ">=3.8" groups = ["dev"] +markers = "python_version <= \"3.11\" or python_version >= \"3.12\"" files = [ {file = "prometheus_client-0.21.1-py3-none-any.whl", hash = "sha256:594b45c410d6f4f8888940fe80b5cc2521b305a1fafe1c58609ef715a001f301"}, {file = "prometheus_client-0.21.1.tar.gz", hash = "sha256:252505a722ac04b0456be05c05f75f45d760c2911ffc45f2a06bcaed9f3ae3fb"}, @@ -2992,6 +3296,7 @@ description = "Library for building powerful interactive command lines in Python optional = false python-versions = ">=3.7.0" groups = ["dev", "docs"] +markers = "python_version <= \"3.11\" or python_version >= \"3.12\"" files = [ {file = "prompt_toolkit-3.0.48-py3-none-any.whl", hash = "sha256:f49a827f90062e411f1ce1f854f2aedb3c23353244f8108b89283587397ac10e"}, {file = "prompt_toolkit-3.0.48.tar.gz", hash = "sha256:d6623ab0477a80df74e646bdbc93621143f5caf104206aa29294d53de1a03d90"}, @@ -3007,6 +3312,7 @@ description = "Cross-platform lib for process and system monitoring in Python." optional = false python-versions = "!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*,!=3.4.*,!=3.5.*,>=2.7" groups = ["dev", "docs"] +markers = "python_version <= \"3.11\" or python_version >= \"3.12\"" files = [ {file = "psutil-6.1.1-cp27-cp27m-macosx_10_9_x86_64.whl", hash = "sha256:9ccc4316f24409159897799b83004cb1e24f9819b0dcf9c0b68bdcb6cefee6a8"}, {file = "psutil-6.1.1-cp27-cp27m-manylinux2010_i686.whl", hash = "sha256:ca9609c77ea3b8481ab005da74ed894035936223422dc591d6772b147421f777"}, @@ -3042,7 +3348,7 @@ files = [ {file = "ptyprocess-0.7.0-py2.py3-none-any.whl", hash = "sha256:4b41f3967fce3af57cc7e94b888626c18bf37a083e3651ca8feeb66d492fef35"}, {file = "ptyprocess-0.7.0.tar.gz", hash = "sha256:5c5d0a3b48ceee0b48485e0c26037c0acd7d29765ca3fbb5cb3831d347423220"}, ] -markers = {dev = "os_name != \"nt\" or sys_platform != \"win32\"", docs = "sys_platform != \"win32\""} +markers = {dev = "(os_name != \"nt\" or sys_platform != \"win32\") and (python_version <= \"3.11\" or python_version >= \"3.12\")", docs = "(python_version <= \"3.11\" or python_version >= \"3.12\") and sys_platform != \"win32\""} [[package]] name = "pure-eval" @@ -3051,6 +3357,7 @@ description = "Safely evaluate AST nodes without side effects" optional = false python-versions = "*" groups = ["dev", "docs"] +markers = "python_version <= \"3.11\" or python_version >= \"3.12\"" files = [ {file = "pure_eval-0.2.3-py3-none-any.whl", hash = "sha256:1db8e35b67b3d218d818ae653e27f06c3aa420901fa7b081ca98cbedc874e0d0"}, {file = "pure_eval-0.2.3.tar.gz", hash = "sha256:5f4e983f40564c576c7c8635ae88db5956bb2229d7e9237d03b3c0b0190eaf42"}, @@ -3070,7 +3377,7 @@ files = [ {file = "pycparser-2.22-py3-none-any.whl", hash = "sha256:c3702b6d3dd8c7abc1afa565d7e63d53a1d0bd86cdc24edd75470f4de499cfcc"}, {file = "pycparser-2.22.tar.gz", hash = "sha256:491c8be9c040f5390f5bf44a5b07752bd07f56edf992381b05c701439eec10f6"}, ] -markers = {build = "(platform_machine != \"ppc64le\" and platform_machine != \"s390x\") and sys_platform == \"linux\" and platform_python_implementation != \"PyPy\""} +markers = {build = "(platform_machine != \"ppc64le\" and platform_machine != \"s390x\" or python_version < \"3.9\") and sys_platform == \"linux\" and platform_python_implementation != \"PyPy\" and (python_version <= \"3.11\" or python_version >= \"3.12\") and (platform_machine == \"arm64\" or platform_machine == \"aarch64\" or platform_machine != \"ppc64le\" and platform_machine != \"s390x\") and (platform_machine == \"arm64\" or platform_machine == \"aarch64\" or platform_system != \"Linux\" or platform_machine != \"ppc64le\" and platform_machine != \"s390x\" and platform_machine != \"aarch64\" or python_version >= \"3.9\") and (platform_machine == \"arm64\" or platform_machine == \"aarch64\" or platform_system != \"Darwin\" or platform_machine != \"ppc64le\" and platform_machine != \"s390x\" and platform_machine != \"arm64\" or python_version >= \"3.9\")", dev = "python_version <= \"3.11\" or python_version >= \"3.12\"", docs = "python_version <= \"3.11\" or python_version >= \"3.12\""} [[package]] name = "pygments" @@ -3079,6 +3386,7 @@ description = "Pygments is a syntax highlighting package written in Python." optional = false python-versions = ">=3.8" groups = ["build", "dev", "docs"] +markers = "python_version <= \"3.11\" or python_version >= \"3.12\"" files = [ {file = "pygments-2.19.0-py3-none-any.whl", hash = "sha256:4755e6e64d22161d5b61432c0600c923c5927214e7c956e31c23923c89251a9b"}, {file = "pygments-2.19.0.tar.gz", hash = "sha256:afc4146269910d4bdfabcd27c24923137a74d562a23a320a41a55ad303e19783"}, @@ -3094,6 +3402,7 @@ description = "Extension pack for Python Markdown." optional = false python-versions = ">=3.8" groups = ["docs"] +markers = "python_version <= \"3.11\" or python_version >= \"3.12\"" files = [ {file = "pymdown_extensions-10.13-py3-none-any.whl", hash = "sha256:80bc33d715eec68e683e04298946d47d78c7739e79d808203df278ee8ef89428"}, {file = "pymdown_extensions-10.13.tar.gz", hash = "sha256:e0b351494dc0d8d14a1f52b39b1499a00ef1566b4ba23dc74f1eba75c736f5dd"}, @@ -3112,7 +3421,8 @@ version = "3.1.4" description = "pyparsing module - Classes and methods to define and execute parsing grammars" optional = false python-versions = ">=3.6.8" -groups = ["docs"] +groups = ["main", "docs"] +markers = "python_version <= \"3.11\" or python_version >= \"3.12\"" files = [ {file = "pyparsing-3.1.4-py3-none-any.whl", hash = "sha256:a6a7ee4235a3f944aa1fa2249307708f893fe5717dc603503c6c7969c070fb7c"}, {file = "pyparsing-3.1.4.tar.gz", hash = "sha256:f86ec8d1a83f11977c9a6ea7598e8c27fc5cddfa5b07ea2241edbbde1d7bc032"}, @@ -3128,6 +3438,7 @@ description = "API to interact with the python pyproject.toml based projects" optional = false python-versions = ">=3.8" groups = ["dev"] +markers = "python_version <= \"3.11\" or python_version >= \"3.12\"" files = [ {file = "pyproject_api-1.8.0-py3-none-any.whl", hash = "sha256:3d7d347a047afe796fd5d1885b1e391ba29be7169bd2f102fcd378f04273d228"}, {file = "pyproject_api-1.8.0.tar.gz", hash = "sha256:77b8049f2feb5d33eefcc21b57f1e279636277a8ac8ad6b5871037b243778496"}, @@ -3147,7 +3458,8 @@ version = "1.2.0" description = "Wrappers to call pyproject.toml-based build backend hooks." optional = false python-versions = ">=3.7" -groups = ["dev"] +groups = ["build"] +markers = "python_version <= \"3.11\" or python_version >= \"3.12\"" files = [ {file = "pyproject_hooks-1.2.0-py3-none-any.whl", hash = "sha256:9e5c6bfa8dcc30091c74b0cf803c81fdd29d94f01992a7707bc97babb1141913"}, {file = "pyproject_hooks-1.2.0.tar.gz", hash = "sha256:1e859bd5c40fae9448642dd871adf459e5e2084186e8d2c2a79a824c970da1f8"}, @@ -3159,7 +3471,8 @@ version = "8.3.4" description = "pytest: simple powerful testing with Python" optional = false python-versions = ">=3.8" -groups = ["dev", "test"] +groups = ["dev"] +markers = "python_version <= \"3.11\" or python_version >= \"3.12\"" files = [ {file = "pytest-8.3.4-py3-none-any.whl", hash = "sha256:50e16d954148559c9a74109af1eaf0c945ba2d8f30f0a3d3335edde19788b6f6"}, {file = "pytest-8.3.4.tar.gz", hash = "sha256:965370d062bce11e73868e0335abac31b4d3de0e82f4007408d242b4f8610761"}, @@ -3176,36 +3489,6 @@ tomli = {version = ">=1", markers = "python_version < \"3.11\""} [package.extras] dev = ["argcomplete", "attrs (>=19.2)", "hypothesis (>=3.56)", "mock", "pygments (>=2.7.2)", "requests", "setuptools", "xmlschema"] -[[package]] -name = "pytest-emoji" -version = "0.2.0" -description = "A pytest plugin that adds emojis to your test result report" -optional = false -python-versions = ">=3.4" -groups = ["test"] -files = [ - {file = "pytest-emoji-0.2.0.tar.gz", hash = "sha256:e1bd4790d87649c2d09c272c88bdfc4d37c1cc7c7a46583087d7c510944571e8"}, - {file = "pytest_emoji-0.2.0-py3-none-any.whl", hash = "sha256:6e34ed21970fa4b80a56ad11417456bd873eb066c02315fe9df0fafe6d4d4436"}, -] - -[package.dependencies] -pytest = ">=4.2.1" - -[[package]] -name = "pytest-md" -version = "0.2.0" -description = "Plugin for generating Markdown reports for pytest results" -optional = false -python-versions = ">=3.6" -groups = ["test"] -files = [ - {file = "pytest-md-0.2.0.tar.gz", hash = "sha256:3b248d5b360ea5198e05b4f49c7442234812809a63137ec6cdd3643a40cf0112"}, - {file = "pytest_md-0.2.0-py3-none-any.whl", hash = "sha256:4c4cd16fea6d1485e87ee254558712c804a96d2aa9674b780e7eb8fb6526e1d1"}, -] - -[package.dependencies] -pytest = ">=4.2.1" - [[package]] name = "python-dateutil" version = "2.9.0.post0" @@ -3213,11 +3496,11 @@ description = "Extensions to the standard Python datetime module" optional = false python-versions = "!=3.0.*,!=3.1.*,!=3.2.*,>=2.7" groups = ["main", "dev", "docs"] +markers = "python_version <= \"3.11\" or python_version >= \"3.12\"" files = [ {file = "python-dateutil-2.9.0.post0.tar.gz", hash = "sha256:37dd54208da7e1cd875388217d5e00ebd4179249f90fb72437e91a35459a0ad3"}, {file = "python_dateutil-2.9.0.post0-py2.py3-none-any.whl", hash = "sha256:a8b2bc7bffae282281c8140a97d3aa9c14da0b136dfe83f850eea9a5f7470427"}, ] -markers = {main = "extra == \"metrics\" and (python_version <= \"3.11\" or python_version >= \"3.12\")"} [package.dependencies] six = ">=1.5" @@ -3229,6 +3512,7 @@ description = "JSON Log Formatter for the Python Logging Package" optional = false python-versions = ">=3.8" groups = ["dev"] +markers = "python_version <= \"3.11\" or python_version >= \"3.12\"" files = [ {file = "python_json_logger-3.2.1-py3-none-any.whl", hash = "sha256:cdc17047eb5374bd311e748b42f99d71223f3b0e186f4206cc5d52aefe85b090"}, {file = "python_json_logger-3.2.1.tar.gz", hash = "sha256:8eb0554ea17cb75b05d2848bc14fb02fbdbd9d6972120781b974380bfa162008"}, @@ -3251,7 +3535,7 @@ files = [ {file = "pytz-2024.2-py2.py3-none-any.whl", hash = "sha256:31c7c1817eb7fae7ca4b8c7ee50c72f93aa2dd863de768e1ef4245d426aa0725"}, {file = "pytz-2024.2.tar.gz", hash = "sha256:2aa355083c50a0f93fa581709deac0c9ad65cca8a9e9beac660adcbd493c798a"}, ] -markers = {main = "extra == \"metrics\" and (python_version <= \"3.11\" or python_version >= \"3.12\")", dev = "python_version < \"3.9\""} +markers = {main = "python_version <= \"3.11\" or python_version >= \"3.12\"", dev = "python_version < \"3.9\"", docs = "python_version <= \"3.11\" or python_version >= \"3.12\""} [[package]] name = "pywin32" @@ -3260,7 +3544,7 @@ description = "Python for Window Extensions" optional = false python-versions = "*" groups = ["dev", "docs"] -markers = "sys_platform == \"win32\" and platform_python_implementation != \"PyPy\"" +markers = "sys_platform == \"win32\" and platform_python_implementation != \"PyPy\" and (python_version <= \"3.11\" or python_version >= \"3.12\")" files = [ {file = "pywin32-308-cp310-cp310-win32.whl", hash = "sha256:796ff4426437896550d2981b9c2ac0ffd75238ad9ea2d3bfa67a1abd546d262e"}, {file = "pywin32-308-cp310-cp310-win_amd64.whl", hash = "sha256:4fc888c59b3c0bef905ce7eb7e2106a07712015ea1c8234b703a088d46110e8e"}, @@ -3288,8 +3572,8 @@ version = "0.2.3" description = "A (partial) reimplementation of pywin32 using ctypes/cffi" optional = false python-versions = ">=3.6" -groups = ["build", "dev"] -markers = "(platform_machine != \"ppc64le\" and platform_machine != \"s390x\") and sys_platform == \"win32\"" +groups = ["build"] +markers = "(platform_machine != \"ppc64le\" and platform_machine != \"s390x\" or python_version < \"3.9\") and sys_platform == \"win32\" and (python_version <= \"3.11\" or python_version >= \"3.12\") and (platform_machine == \"arm64\" or platform_machine == \"aarch64\" or platform_machine != \"ppc64le\" and platform_machine != \"s390x\") and (platform_machine == \"arm64\" or platform_machine == \"aarch64\" or platform_system != \"Linux\" or platform_machine != \"ppc64le\" and platform_machine != \"s390x\" and platform_machine != \"aarch64\" or python_version >= \"3.9\") and (platform_machine == \"arm64\" or platform_machine == \"aarch64\" or platform_system != \"Darwin\" or platform_machine != \"ppc64le\" and platform_machine != \"s390x\" and platform_machine != \"arm64\" or python_version >= \"3.9\")" files = [ {file = "pywin32-ctypes-0.2.3.tar.gz", hash = "sha256:d162dc04946d704503b2edc4d55f3dba5c1d539ead017afa00142c38b9885755"}, {file = "pywin32_ctypes-0.2.3-py3-none-any.whl", hash = "sha256:8a1513379d709975552d202d942d9837758905c8d01eb82b8bcc30918929e7b8"}, @@ -3302,7 +3586,7 @@ description = "Pseudo terminal support for Windows from Python." optional = false python-versions = ">=3.8" groups = ["dev"] -markers = "os_name == \"nt\"" +markers = "(python_version <= \"3.11\" or python_version >= \"3.12\") and os_name == \"nt\"" files = [ {file = "pywinpty-2.0.14-cp310-none-win_amd64.whl", hash = "sha256:0b149c2918c7974f575ba79f5a4aad58bd859a52fa9eb1296cc22aa412aa411f"}, {file = "pywinpty-2.0.14-cp311-none-win_amd64.whl", hash = "sha256:cf2a43ac7065b3e0dc8510f8c1f13a75fb8fde805efa3b8cff7599a1ef497bc7"}, @@ -3318,7 +3602,8 @@ version = "6.0.2" description = "YAML parser and emitter for Python" optional = false python-versions = ">=3.8" -groups = ["dev", "docs"] +groups = ["main", "dev", "docs"] +markers = "python_version <= \"3.11\" or python_version >= \"3.12\"" files = [ {file = "PyYAML-6.0.2-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:0a9a2848a5b7feac301353437eb7d5957887edbf81d56e903999a75a3d743086"}, {file = "PyYAML-6.0.2-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:29717114e51c84ddfba879543fb232a6ed60086602313ca38cce623c1d62cfbf"}, @@ -3382,6 +3667,7 @@ description = "A custom YAML tag for referencing environment variables in YAML f optional = false python-versions = ">=3.6" groups = ["docs"] +markers = "python_version <= \"3.11\" or python_version >= \"3.12\"" files = [ {file = "pyyaml_env_tag-0.1-py3-none-any.whl", hash = "sha256:af31106dec8a4d68c60207c1886031cbf839b68aa7abccdb19868200532c2069"}, {file = "pyyaml_env_tag-0.1.tar.gz", hash = "sha256:70092675bda14fdec33b31ba77e7543de9ddc88f2e5b99160396572d11525bdb"}, @@ -3397,6 +3683,7 @@ description = "Python bindings for 0MQ" optional = false python-versions = ">=3.7" groups = ["dev", "docs"] +markers = "python_version <= \"3.11\" or python_version >= \"3.12\"" files = [ {file = "pyzmq-26.2.0-cp310-cp310-macosx_10_15_universal2.whl", hash = "sha256:ddf33d97d2f52d89f6e6e7ae66ee35a4d9ca6f36eda89c24591b0c40205a3629"}, {file = "pyzmq-26.2.0-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:dacd995031a01d16eec825bf30802fceb2c3791ef24bcce48fa98ce40918c27b"}, @@ -3518,7 +3805,8 @@ version = "43.0" description = "readme_renderer is a library for rendering readme descriptions for Warehouse" optional = false python-versions = ">=3.8" -groups = ["build", "dev"] +groups = ["build"] +markers = "python_version <= \"3.11\" or python_version >= \"3.12\"" files = [ {file = "readme_renderer-43.0-py3-none-any.whl", hash = "sha256:19db308d86ecd60e5affa3b2a98f017af384678c63c88e5d4556a380e674f3f9"}, {file = "readme_renderer-43.0.tar.gz", hash = "sha256:1818dd28140813509eeed8d62687f7cd4f7bad90d4db586001c5dc09d4fde311"}, @@ -3539,6 +3827,7 @@ description = "JSON Referencing + Python" optional = false python-versions = ">=3.8" groups = ["dev", "docs"] +markers = "python_version <= \"3.11\" or python_version >= \"3.12\"" files = [ {file = "referencing-0.35.1-py3-none-any.whl", hash = "sha256:eda6d3234d62814d1c64e305c1331c9a3a6132da475ab6382eaa997b21ee75de"}, {file = "referencing-0.35.1.tar.gz", hash = "sha256:25b42124a6c8b632a425174f24087783efb348a6f1e0008e63cd4466fedf703c"}, @@ -3555,6 +3844,7 @@ description = "Alternative regular expression module, to replace re." optional = false python-versions = ">=3.8" groups = ["docs"] +markers = "python_version <= \"3.11\" or python_version >= \"3.12\"" files = [ {file = "regex-2024.11.6-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:ff590880083d60acc0433f9c3f713c51f7ac6ebb9adf889c79a261ecf541aa91"}, {file = "regex-2024.11.6-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:658f90550f38270639e83ce492f27d2c8d2cd63805c65a13a14d36ca126753f0"}, @@ -3658,7 +3948,8 @@ version = "2.32.3" description = "Python HTTP for Humans." optional = false python-versions = ">=3.8" -groups = ["build", "dev", "docs"] +groups = ["main", "build", "dev", "docs"] +markers = "python_version <= \"3.11\" or python_version >= \"3.12\"" files = [ {file = "requests-2.32.3-py3-none-any.whl", hash = "sha256:70761cfe03c773ceb22aa2f671b4757976145175cdfca038c02654d061d6dcc6"}, {file = "requests-2.32.3.tar.gz", hash = "sha256:55365417734eb18255590a9ff9eb97e9e1da868d4ccd6402399eaf68af20a760"}, @@ -3680,7 +3971,8 @@ version = "1.0.0" description = "A utility belt for advanced users of python-requests" optional = false python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*" -groups = ["build", "dev"] +groups = ["build"] +markers = "python_version <= \"3.11\" or python_version >= \"3.12\"" files = [ {file = "requests-toolbelt-1.0.0.tar.gz", hash = "sha256:7681a0a3d047012b5bdc0ee37d7f8f07ebe76ab08caeccfc3921ce23c88d5bc6"}, {file = "requests_toolbelt-1.0.0-py2.py3-none-any.whl", hash = "sha256:cccfdd665f0a24fcf4726e690f65639d272bb0637b9b92dfd91a5568ccf6bd06"}, @@ -3696,6 +3988,7 @@ description = "A pure python RFC3339 validator" optional = false python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*" groups = ["dev"] +markers = "python_version <= \"3.11\" or python_version >= \"3.12\"" files = [ {file = "rfc3339_validator-0.1.4-py2.py3-none-any.whl", hash = "sha256:24f6ec1eda14ef823da9e36ec7113124b39c04d50a4d3d3a3c2859577e7791fa"}, {file = "rfc3339_validator-0.1.4.tar.gz", hash = "sha256:138a2abdf93304ad60530167e51d2dfb9549521a836871b88d7f4695d0022f6b"}, @@ -3710,7 +4003,8 @@ version = "2.0.0" description = "Validating URI References per RFC 3986" optional = false python-versions = ">=3.7" -groups = ["build", "dev"] +groups = ["build"] +markers = "python_version <= \"3.11\" or python_version >= \"3.12\"" files = [ {file = "rfc3986-2.0.0-py2.py3-none-any.whl", hash = "sha256:50b1502b60e289cb37883f3dfd34532b8873c7de9f49bb546641ce9cbd256ebd"}, {file = "rfc3986-2.0.0.tar.gz", hash = "sha256:97aacf9dbd4bfd829baad6e6309fa6573aaf1be3f6fa735c8ab05e46cecb261c"}, @@ -3726,6 +4020,7 @@ description = "Pure python rfc3986 validator" optional = false python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*" groups = ["dev"] +markers = "python_version <= \"3.11\" or python_version >= \"3.12\"" files = [ {file = "rfc3986_validator-0.1.1-py2.py3-none-any.whl", hash = "sha256:2f235c432ef459970b4306369336b9d5dbdda31b510ca1e327636e01f528bfa9"}, {file = "rfc3986_validator-0.1.1.tar.gz", hash = "sha256:3d44bde7921b3b9ec3ae4e3adca370438eccebc676456449b145d533b240d055"}, @@ -3737,7 +4032,8 @@ version = "13.9.4" description = "Render rich text, tables, progress bars, syntax highlighting, markdown and more to the terminal" optional = false python-versions = ">=3.8.0" -groups = ["build", "dev"] +groups = ["build"] +markers = "python_version <= \"3.11\" or python_version >= \"3.12\"" files = [ {file = "rich-13.9.4-py3-none-any.whl", hash = "sha256:6049d5e6ec054bf2779ab3358186963bac2ea89175919d699e378b99738c2a90"}, {file = "rich-13.9.4.tar.gz", hash = "sha256:439594978a49a09530cff7ebc4b5c7103ef57baf48d5ea3184f21d9a2befa098"}, @@ -3758,6 +4054,7 @@ description = "Python bindings to Rust's persistent data structures (rpds)" optional = false python-versions = ">=3.8" groups = ["dev", "docs"] +markers = "python_version <= \"3.11\" or python_version >= \"3.12\"" files = [ {file = "rpds_py-0.20.1-cp310-cp310-macosx_10_12_x86_64.whl", hash = "sha256:a649dfd735fff086e8a9d0503a9f0c7d01b7912a333c7ae77e1515c08c146dad"}, {file = "rpds_py-0.20.1-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:f16bc1334853e91ddaaa1217045dd7be166170beec337576818461268a3de67f"}, @@ -3865,41 +4162,156 @@ files = [ ] [[package]] -name = "ruff" -version = "0.8.6" -description = "An extremely fast Python linter and code formatter, written in Rust." +name = "scipy" +version = "1.10.0" +description = "Fundamental algorithms for scientific computing in Python" optional = false -python-versions = ">=3.7" -groups = ["dev"] +python-versions = "<3.12,>=3.8" +groups = ["main"] +markers = "python_version < \"3.9\"" files = [ - {file = "ruff-0.8.6-py3-none-linux_armv6l.whl", hash = "sha256:defed167955d42c68b407e8f2e6f56ba52520e790aba4ca707a9c88619e580e3"}, - {file = "ruff-0.8.6-py3-none-macosx_10_12_x86_64.whl", hash = "sha256:54799ca3d67ae5e0b7a7ac234baa657a9c1784b48ec954a094da7c206e0365b1"}, - {file = "ruff-0.8.6-py3-none-macosx_11_0_arm64.whl", hash = "sha256:e88b8f6d901477c41559ba540beeb5a671e14cd29ebd5683903572f4b40a9807"}, - {file = "ruff-0.8.6-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:0509e8da430228236a18a677fcdb0c1f102dd26d5520f71f79b094963322ed25"}, - {file = "ruff-0.8.6-py3-none-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:91a7ddb221779871cf226100e677b5ea38c2d54e9e2c8ed847450ebbdf99b32d"}, - {file = "ruff-0.8.6-py3-none-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:248b1fb3f739d01d528cc50b35ee9c4812aa58cc5935998e776bf8ed5b251e75"}, - {file = "ruff-0.8.6-py3-none-manylinux_2_17_ppc64.manylinux2014_ppc64.whl", hash = "sha256:bc3c083c50390cf69e7e1b5a5a7303898966be973664ec0c4a4acea82c1d4315"}, - {file = "ruff-0.8.6-py3-none-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:52d587092ab8df308635762386f45f4638badb0866355b2b86760f6d3c076188"}, - {file = "ruff-0.8.6-py3-none-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:61323159cf21bc3897674e5adb27cd9e7700bab6b84de40d7be28c3d46dc67cf"}, - {file = "ruff-0.8.6-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:7ae4478b1471fc0c44ed52a6fb787e641a2ac58b1c1f91763bafbc2faddc5117"}, - {file = "ruff-0.8.6-py3-none-musllinux_1_2_aarch64.whl", hash = "sha256:0c000a471d519b3e6cfc9c6680025d923b4ca140ce3e4612d1a2ef58e11f11fe"}, - {file = "ruff-0.8.6-py3-none-musllinux_1_2_armv7l.whl", hash = "sha256:9257aa841e9e8d9b727423086f0fa9a86b6b420fbf4bf9e1465d1250ce8e4d8d"}, - {file = "ruff-0.8.6-py3-none-musllinux_1_2_i686.whl", hash = "sha256:45a56f61b24682f6f6709636949ae8cc82ae229d8d773b4c76c09ec83964a95a"}, - {file = "ruff-0.8.6-py3-none-musllinux_1_2_x86_64.whl", hash = "sha256:496dd38a53aa173481a7d8866bcd6451bd934d06976a2505028a50583e001b76"}, - {file = "ruff-0.8.6-py3-none-win32.whl", hash = "sha256:e169ea1b9eae61c99b257dc83b9ee6c76f89042752cb2d83486a7d6e48e8f764"}, - {file = "ruff-0.8.6-py3-none-win_amd64.whl", hash = "sha256:f1d70bef3d16fdc897ee290d7d20da3cbe4e26349f62e8a0274e7a3f4ce7a905"}, - {file = "ruff-0.8.6-py3-none-win_arm64.whl", hash = "sha256:7d7fc2377a04b6e04ffe588caad613d0c460eb2ecba4c0ccbbfe2bc973cbc162"}, - {file = "ruff-0.8.6.tar.gz", hash = "sha256:dcad24b81b62650b0eb8814f576fc65cfee8674772a6e24c9b747911801eeaa5"}, + {file = "scipy-1.10.0-cp310-cp310-macosx_10_15_x86_64.whl", hash = "sha256:b901b423c91281a974f6cd1c36f5c6c523e665b5a6d5e80fcb2334e14670eefd"}, + {file = "scipy-1.10.0-cp310-cp310-macosx_12_0_arm64.whl", hash = "sha256:16ba05d3d1b9f2141004f3f36888e05894a525960b07f4c2bfc0456b955a00be"}, + {file = "scipy-1.10.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:151f066fe7d6653c3ffefd489497b8fa66d7316e3e0d0c0f7ff6acca1b802809"}, + {file = "scipy-1.10.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:2f9ea0a37aca111a407cb98aa4e8dfde6e5d9333bae06dfa5d938d14c80bb5c3"}, + {file = "scipy-1.10.0-cp310-cp310-win_amd64.whl", hash = "sha256:27e548276b5a88b51212b61f6dda49a24acf5d770dff940bd372b3f7ced8c6c2"}, + {file = "scipy-1.10.0-cp311-cp311-macosx_10_15_x86_64.whl", hash = "sha256:42ab8b9e7dc1ebe248e55f54eea5307b6ab15011a7883367af48dd781d1312e4"}, + {file = "scipy-1.10.0-cp311-cp311-macosx_12_0_arm64.whl", hash = "sha256:e096b062d2efdea57f972d232358cb068413dc54eec4f24158bcbb5cb8bddfd8"}, + {file = "scipy-1.10.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:4df25a28bd22c990b22129d3c637fd5c3be4b7c94f975dca909d8bab3309b694"}, + {file = "scipy-1.10.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:2ad449db4e0820e4b42baccefc98ec772ad7818dcbc9e28b85aa05a536b0f1a2"}, + {file = "scipy-1.10.0-cp311-cp311-win_amd64.whl", hash = "sha256:6faf86ef7717891195ae0537e48da7524d30bc3b828b30c9b115d04ea42f076f"}, + {file = "scipy-1.10.0-cp38-cp38-macosx_10_15_x86_64.whl", hash = "sha256:4bd0e3278126bc882d10414436e58fa3f1eca0aa88b534fcbf80ed47e854f46c"}, + {file = "scipy-1.10.0-cp38-cp38-macosx_12_0_arm64.whl", hash = "sha256:38bfbd18dcc69eeb589811e77fae552fa923067fdfbb2e171c9eac749885f210"}, + {file = "scipy-1.10.0-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:0ab2a58064836632e2cec31ca197d3695c86b066bc4818052b3f5381bfd2a728"}, + {file = "scipy-1.10.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:5cd7a30970c29d9768a7164f564d1fbf2842bfc77b7d114a99bc32703ce0bf48"}, + {file = "scipy-1.10.0-cp38-cp38-win_amd64.whl", hash = "sha256:9b878c671655864af59c108c20e4da1e796154bd78c0ed6bb02bc41c84625686"}, + {file = "scipy-1.10.0-cp39-cp39-macosx_10_15_x86_64.whl", hash = "sha256:3afcbddb4488ac950ce1147e7580178b333a29cd43524c689b2e3543a080a2c8"}, + {file = "scipy-1.10.0-cp39-cp39-macosx_12_0_arm64.whl", hash = "sha256:6e4497e5142f325a5423ff5fda2fff5b5d953da028637ff7c704378c8c284ea7"}, + {file = "scipy-1.10.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:441cab2166607c82e6d7a8683779cb89ba0f475b983c7e4ab88f3668e268c143"}, + {file = "scipy-1.10.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:0490dc499fe23e4be35b8b6dd1e60a4a34f0c4adb30ac671e6332446b3cbbb5a"}, + {file = "scipy-1.10.0-cp39-cp39-win_amd64.whl", hash = "sha256:954ff69d2d1bf666b794c1d7216e0a746c9d9289096a64ab3355a17c7c59db54"}, + {file = "scipy-1.10.0.tar.gz", hash = "sha256:c8b3cbc636a87a89b770c6afc999baa6bcbb01691b5ccbbc1b1791c7c0a07540"}, +] + +[package.dependencies] +numpy = ">=1.19.5,<1.27.0" + +[package.extras] +dev = ["click", "doit (>=0.36.0)", "flake8", "mypy", "pycodestyle", "pydevtool", "rich-click", "typing_extensions"] +doc = ["matplotlib (>2)", "numpydoc", "pydata-sphinx-theme (==0.9.0)", "sphinx (!=4.1.0)", "sphinx-design (>=0.2.0)"] +test = ["asv", "gmpy2", "mpmath", "pooch", "pytest", "pytest-cov", "pytest-timeout", "pytest-xdist", "scikit-umfpack", "threadpoolctl"] + +[[package]] +name = "scipy" +version = "1.13.1" +description = "Fundamental algorithms for scientific computing in Python" +optional = false +python-versions = ">=3.9" +groups = ["main"] +markers = "python_version >= \"3.9\" and python_version <= \"3.11\" or python_version >= \"3.12\" and python_version < \"3.13\"" +files = [ + {file = "scipy-1.13.1-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:20335853b85e9a49ff7572ab453794298bcf0354d8068c5f6775a0eabf350aca"}, + {file = "scipy-1.13.1-cp310-cp310-macosx_12_0_arm64.whl", hash = "sha256:d605e9c23906d1994f55ace80e0125c587f96c020037ea6aa98d01b4bd2e222f"}, + {file = "scipy-1.13.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:cfa31f1def5c819b19ecc3a8b52d28ffdcc7ed52bb20c9a7589669dd3c250989"}, + {file = "scipy-1.13.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f26264b282b9da0952a024ae34710c2aff7d27480ee91a2e82b7b7073c24722f"}, + {file = "scipy-1.13.1-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:eccfa1906eacc02de42d70ef4aecea45415f5be17e72b61bafcfd329bdc52e94"}, + {file = "scipy-1.13.1-cp310-cp310-win_amd64.whl", hash = "sha256:2831f0dc9c5ea9edd6e51e6e769b655f08ec6db6e2e10f86ef39bd32eb11da54"}, + {file = "scipy-1.13.1-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:27e52b09c0d3a1d5b63e1105f24177e544a222b43611aaf5bc44d4a0979e32f9"}, + {file = "scipy-1.13.1-cp311-cp311-macosx_12_0_arm64.whl", hash = "sha256:54f430b00f0133e2224c3ba42b805bfd0086fe488835effa33fa291561932326"}, + {file = "scipy-1.13.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:e89369d27f9e7b0884ae559a3a956e77c02114cc60a6058b4e5011572eea9299"}, + {file = "scipy-1.13.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:a78b4b3345f1b6f68a763c6e25c0c9a23a9fd0f39f5f3d200efe8feda560a5fa"}, + {file = "scipy-1.13.1-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:45484bee6d65633752c490404513b9ef02475b4284c4cfab0ef946def50b3f59"}, + {file = "scipy-1.13.1-cp311-cp311-win_amd64.whl", hash = "sha256:5713f62f781eebd8d597eb3f88b8bf9274e79eeabf63afb4a737abc6c84ad37b"}, + {file = "scipy-1.13.1-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:5d72782f39716b2b3509cd7c33cdc08c96f2f4d2b06d51e52fb45a19ca0c86a1"}, + {file = "scipy-1.13.1-cp312-cp312-macosx_12_0_arm64.whl", hash = "sha256:017367484ce5498445aade74b1d5ab377acdc65e27095155e448c88497755a5d"}, + {file = "scipy-1.13.1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:949ae67db5fa78a86e8fa644b9a6b07252f449dcf74247108c50e1d20d2b4627"}, + {file = "scipy-1.13.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:de3ade0e53bc1f21358aa74ff4830235d716211d7d077e340c7349bc3542e884"}, + {file = "scipy-1.13.1-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:2ac65fb503dad64218c228e2dc2d0a0193f7904747db43014645ae139c8fad16"}, + {file = "scipy-1.13.1-cp312-cp312-win_amd64.whl", hash = "sha256:cdd7dacfb95fea358916410ec61bbc20440f7860333aee6d882bb8046264e949"}, + {file = "scipy-1.13.1-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:436bbb42a94a8aeef855d755ce5a465479c721e9d684de76bf61a62e7c2b81d5"}, + {file = "scipy-1.13.1-cp39-cp39-macosx_12_0_arm64.whl", hash = "sha256:8335549ebbca860c52bf3d02f80784e91a004b71b059e3eea9678ba994796a24"}, + {file = "scipy-1.13.1-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d533654b7d221a6a97304ab63c41c96473ff04459e404b83275b60aa8f4b7004"}, + {file = "scipy-1.13.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:637e98dcf185ba7f8e663e122ebf908c4702420477ae52a04f9908707456ba4d"}, + {file = "scipy-1.13.1-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:a014c2b3697bde71724244f63de2476925596c24285c7a637364761f8710891c"}, + {file = "scipy-1.13.1-cp39-cp39-win_amd64.whl", hash = "sha256:392e4ec766654852c25ebad4f64e4e584cf19820b980bc04960bca0b0cd6eaa2"}, + {file = "scipy-1.13.1.tar.gz", hash = "sha256:095a87a0312b08dfd6a6155cbbd310a8c51800fc931b8c0b84003014b874ed3c"}, +] + +[package.dependencies] +numpy = ">=1.22.4,<2.3" + +[package.extras] +dev = ["cython-lint (>=0.12.2)", "doit (>=0.36.0)", "mypy", "pycodestyle", "pydevtool", "rich-click", "ruff", "types-psutil", "typing_extensions"] +doc = ["jupyterlite-pyodide-kernel", "jupyterlite-sphinx (>=0.12.0)", "jupytext", "matplotlib (>=3.5)", "myst-nb", "numpydoc", "pooch", "pydata-sphinx-theme (>=0.15.2)", "sphinx (>=5.0.0)", "sphinx-design (>=0.4.0)"] +test = ["array-api-strict", "asv", "gmpy2", "hypothesis (>=6.30)", "mpmath", "pooch", "pytest", "pytest-cov", "pytest-timeout", "pytest-xdist", "scikit-umfpack", "threadpoolctl"] + +[[package]] +name = "scipy" +version = "1.15.0" +description = "Fundamental algorithms for scientific computing in Python" +optional = false +python-versions = ">=3.10" +groups = ["main"] +markers = "python_version >= \"3.13\"" +files = [ + {file = "scipy-1.15.0-cp310-cp310-macosx_10_13_x86_64.whl", hash = "sha256:aeac60d3562a7bf2f35549bdfdb6b1751c50590f55ce7322b4b2fc821dc27fca"}, + {file = "scipy-1.15.0-cp310-cp310-macosx_12_0_arm64.whl", hash = "sha256:5abbdc6ede5c5fed7910cf406a948e2c0869231c0db091593a6b2fa78be77e5d"}, + {file = "scipy-1.15.0-cp310-cp310-macosx_14_0_arm64.whl", hash = "sha256:eb1533c59f0ec6c55871206f15a5c72d1fae7ad3c0a8ca33ca88f7c309bbbf8c"}, + {file = "scipy-1.15.0-cp310-cp310-macosx_14_0_x86_64.whl", hash = "sha256:de112c2dae53107cfeaf65101419662ac0a54e9a088c17958b51c95dac5de56d"}, + {file = "scipy-1.15.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:2240e1fd0782e62e1aacdc7234212ee271d810f67e9cd3b8d521003a82603ef8"}, + {file = "scipy-1.15.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:d35aef233b098e4de88b1eac29f0df378278e7e250a915766786b773309137c4"}, + {file = "scipy-1.15.0-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:1b29e4fc02e155a5fd1165f1e6a73edfdd110470736b0f48bcbe48083f0eee37"}, + {file = "scipy-1.15.0-cp310-cp310-win_amd64.whl", hash = "sha256:0e5b34f8894f9904cc578008d1a9467829c1817e9f9cb45e6d6eeb61d2ab7731"}, + {file = "scipy-1.15.0-cp311-cp311-macosx_10_13_x86_64.whl", hash = "sha256:46e91b5b16909ff79224b56e19cbad65ca500b3afda69225820aa3afbf9ec020"}, + {file = "scipy-1.15.0-cp311-cp311-macosx_12_0_arm64.whl", hash = "sha256:82bff2eb01ccf7cea8b6ee5274c2dbeadfdac97919da308ee6d8e5bcbe846443"}, + {file = "scipy-1.15.0-cp311-cp311-macosx_14_0_arm64.whl", hash = "sha256:9c8254fe21dd2c6c8f7757035ec0c31daecf3bb3cffd93bc1ca661b731d28136"}, + {file = "scipy-1.15.0-cp311-cp311-macosx_14_0_x86_64.whl", hash = "sha256:c9624eeae79b18cab1a31944b5ef87aa14b125d6ab69b71db22f0dbd962caf1e"}, + {file = "scipy-1.15.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d13bbc0658c11f3d19df4138336e4bce2c4fbd78c2755be4bf7b8e235481557f"}, + {file = "scipy-1.15.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:bdca4c7bb8dc41307e5f39e9e5d19c707d8e20a29845e7533b3bb20a9d4ccba0"}, + {file = "scipy-1.15.0-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:6f376d7c767731477bac25a85d0118efdc94a572c6b60decb1ee48bf2391a73b"}, + {file = "scipy-1.15.0-cp311-cp311-win_amd64.whl", hash = "sha256:61513b989ee8d5218fbeb178b2d51534ecaddba050db949ae99eeb3d12f6825d"}, + {file = "scipy-1.15.0-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:5beb0a2200372b7416ec73fdae94fe81a6e85e44eb49c35a11ac356d2b8eccc6"}, + {file = "scipy-1.15.0-cp312-cp312-macosx_12_0_arm64.whl", hash = "sha256:fde0f3104dfa1dfbc1f230f65506532d0558d43188789eaf68f97e106249a913"}, + {file = "scipy-1.15.0-cp312-cp312-macosx_14_0_arm64.whl", hash = "sha256:35c68f7044b4e7ad73a3e68e513dda946989e523df9b062bd3cf401a1a882192"}, + {file = "scipy-1.15.0-cp312-cp312-macosx_14_0_x86_64.whl", hash = "sha256:52475011be29dfcbecc3dfe3060e471ac5155d72e9233e8d5616b84e2b542054"}, + {file = "scipy-1.15.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:5972e3f96f7dda4fd3bb85906a17338e65eaddfe47f750e240f22b331c08858e"}, + {file = "scipy-1.15.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:fe00169cf875bed0b3c40e4da45b57037dc21d7c7bf0c85ed75f210c281488f1"}, + {file = "scipy-1.15.0-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:161f80a98047c219c257bf5ce1777c574bde36b9d962a46b20d0d7e531f86863"}, + {file = "scipy-1.15.0-cp312-cp312-win_amd64.whl", hash = "sha256:327163ad73e54541a675240708244644294cb0a65cca420c9c79baeb9648e479"}, + {file = "scipy-1.15.0-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:0fcb16eb04d84670722ce8d93b05257df471704c913cb0ff9dc5a1c31d1e9422"}, + {file = "scipy-1.15.0-cp313-cp313-macosx_12_0_arm64.whl", hash = "sha256:767e8cf6562931f8312f4faa7ddea412cb783d8df49e62c44d00d89f41f9bbe8"}, + {file = "scipy-1.15.0-cp313-cp313-macosx_14_0_arm64.whl", hash = "sha256:37ce9394cdcd7c5f437583fc6ef91bd290014993900643fdfc7af9b052d1613b"}, + {file = "scipy-1.15.0-cp313-cp313-macosx_14_0_x86_64.whl", hash = "sha256:6d26f17c64abd6c6c2dfb39920f61518cc9e213d034b45b2380e32ba78fde4c0"}, + {file = "scipy-1.15.0-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:1e2448acd79c6374583581a1ded32ac71a00c2b9c62dfa87a40e1dd2520be111"}, + {file = "scipy-1.15.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:36be480e512d38db67f377add5b759fb117edd987f4791cdf58e59b26962bee4"}, + {file = "scipy-1.15.0-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:ccb6248a9987193fe74363a2d73b93bc2c546e0728bd786050b7aef6e17db03c"}, + {file = "scipy-1.15.0-cp313-cp313-win_amd64.whl", hash = "sha256:952d2e9eaa787f0a9e95b6e85da3654791b57a156c3e6609e65cc5176ccfe6f2"}, + {file = "scipy-1.15.0-cp313-cp313t-macosx_10_13_x86_64.whl", hash = "sha256:b1432102254b6dc7766d081fa92df87832ac25ff0b3d3a940f37276e63eb74ff"}, + {file = "scipy-1.15.0-cp313-cp313t-macosx_12_0_arm64.whl", hash = "sha256:4e08c6a36f46abaedf765dd2dfcd3698fa4bd7e311a9abb2d80e33d9b2d72c34"}, + {file = "scipy-1.15.0-cp313-cp313t-macosx_14_0_arm64.whl", hash = "sha256:ec915cd26d76f6fc7ae8522f74f5b2accf39546f341c771bb2297f3871934a52"}, + {file = "scipy-1.15.0-cp313-cp313t-macosx_14_0_x86_64.whl", hash = "sha256:351899dd2a801edd3691622172bc8ea01064b1cada794f8641b89a7dc5418db6"}, + {file = "scipy-1.15.0-cp313-cp313t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:e9baff912ea4f78a543d183ed6f5b3bea9784509b948227daaf6f10727a0e2e5"}, + {file = "scipy-1.15.0-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:cd9d9198a7fd9a77f0eb5105ea9734df26f41faeb2a88a0e62e5245506f7b6df"}, + {file = "scipy-1.15.0-cp313-cp313t-win_amd64.whl", hash = "sha256:129f899ed275c0515d553b8d31696924e2ca87d1972421e46c376b9eb87de3d2"}, + {file = "scipy-1.15.0.tar.gz", hash = "sha256:300742e2cc94e36a2880ebe464a1c8b4352a7b0f3e36ec3d2ac006cdbe0219ac"}, ] +[package.dependencies] +numpy = ">=1.23.5,<2.5" + +[package.extras] +dev = ["cython-lint (>=0.12.2)", "doit (>=0.36.0)", "mypy (==1.10.0)", "pycodestyle", "pydevtool", "rich-click", "ruff (>=0.0.292)", "types-psutil", "typing_extensions"] +doc = ["intersphinx_registry", "jupyterlite-pyodide-kernel", "jupyterlite-sphinx (>=0.16.5)", "jupytext", "matplotlib (>=3.5)", "myst-nb", "numpydoc", "pooch", "pydata-sphinx-theme (>=0.15.2)", "sphinx (>=5.0.0,<8.0.0)", "sphinx-copybutton", "sphinx-design (>=0.4.0)"] +test = ["Cython", "array-api-strict (>=2.0,<2.1.1)", "asv", "gmpy2", "hypothesis (>=6.30)", "meson", "mpmath", "ninja", "pooch", "pytest", "pytest-cov", "pytest-timeout", "pytest-xdist", "scikit-umfpack", "threadpoolctl"] + [[package]] name = "secretstorage" version = "3.3.3" description = "Python bindings to FreeDesktop.org Secret Service API" optional = false python-versions = ">=3.6" -groups = ["build", "dev"] -markers = "(platform_machine != \"ppc64le\" and platform_machine != \"s390x\") and sys_platform == \"linux\"" +groups = ["build"] +markers = "(platform_machine != \"ppc64le\" and platform_machine != \"s390x\" or python_version < \"3.9\") and sys_platform == \"linux\" and (python_version <= \"3.11\" or python_version >= \"3.12\") and (platform_machine == \"arm64\" or platform_machine == \"aarch64\" or platform_machine != \"ppc64le\" and platform_machine != \"s390x\") and (platform_machine == \"arm64\" or platform_machine == \"aarch64\" or platform_system != \"Linux\" or platform_machine != \"ppc64le\" and platform_machine != \"s390x\" and platform_machine != \"aarch64\" or python_version >= \"3.9\") and (platform_machine == \"arm64\" or platform_machine == \"aarch64\" or platform_system != \"Darwin\" or platform_machine != \"ppc64le\" and platform_machine != \"s390x\" and platform_machine != \"arm64\" or python_version >= \"3.9\")" files = [ {file = "SecretStorage-3.3.3-py3-none-any.whl", hash = "sha256:f356e6628222568e3af06f2eba8df495efa13b3b63081dafd4f7d9a7b7bc9f99"}, {file = "SecretStorage-3.3.3.tar.gz", hash = "sha256:2403533ef369eca6d2ba81718576c5e0f564d5cca1b58f73a8b23e7d4eeebd77"}, @@ -3916,6 +4328,7 @@ description = "Send file to trash natively under Mac OS X, Windows and Linux" optional = false python-versions = "!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*,!=3.4.*,!=3.5.*,>=2.7" groups = ["dev"] +markers = "python_version <= \"3.11\" or python_version >= \"3.12\"" files = [ {file = "Send2Trash-1.8.3-py3-none-any.whl", hash = "sha256:0c31227e0bd08961c7665474a3d1ef7193929fedda4233843689baa056be46c9"}, {file = "Send2Trash-1.8.3.tar.gz", hash = "sha256:b18e7a3966d99871aefeb00cfbcfdced55ce4871194810fc71f4aa484b953abf"}, @@ -3933,6 +4346,7 @@ description = "Easily download, build, install, upgrade, and uninstall Python pa optional = false python-versions = ">=3.8" groups = ["dev"] +markers = "python_version <= \"3.11\" or python_version >= \"3.12\"" files = [ {file = "setuptools-75.3.0-py3-none-any.whl", hash = "sha256:f2504966861356aa38616760c0f66568e535562374995367b4e69c7143cf6bcd"}, {file = "setuptools-75.3.0.tar.gz", hash = "sha256:fba5dd4d766e97be1b1681d98712680ae8f2f26d7881245f2ce9e40714f1a686"}, @@ -3954,11 +4368,11 @@ description = "Python 2 and 3 compatibility utilities" optional = false python-versions = "!=3.0.*,!=3.1.*,!=3.2.*,>=2.7" groups = ["main", "dev", "docs"] +markers = "python_version <= \"3.11\" or python_version >= \"3.12\"" files = [ {file = "six-1.17.0-py2.py3-none-any.whl", hash = "sha256:4721f391ed90541fddacab5acf947aa0d3dc7d27b2e1e8eda2be8970586c3274"}, {file = "six-1.17.0.tar.gz", hash = "sha256:ff70335d468e7eb6ec65b95b99d3a2836546063f63acc5171de367e834932a81"}, ] -markers = {main = "extra == \"metrics\" and (python_version <= \"3.11\" or python_version >= \"3.12\")"} [[package]] name = "smmap" @@ -3967,6 +4381,7 @@ description = "A pure Python implementation of a sliding window memory map manag optional = false python-versions = ">=3.7" groups = ["docs"] +markers = "python_version <= \"3.11\" or python_version >= \"3.12\"" files = [ {file = "smmap-5.0.2-py3-none-any.whl", hash = "sha256:b30115f0def7d7531d22a0fb6502488d879e75b260a9db4d0819cfb25403af5e"}, {file = "smmap-5.0.2.tar.gz", hash = "sha256:26ea65a03958fa0c8a1c7e8c7a58fdc77221b8910f6be2131affade476898ad5"}, @@ -3979,6 +4394,7 @@ description = "Sniff out which async library your code is running under" optional = false python-versions = ">=3.7" groups = ["dev"] +markers = "python_version <= \"3.11\" or python_version >= \"3.12\"" files = [ {file = "sniffio-1.3.1-py3-none-any.whl", hash = "sha256:2f6da418d1f1e0fddd844478f41680e794e6051915791a034ff65e5f100525a2"}, {file = "sniffio-1.3.1.tar.gz", hash = "sha256:f4324edc670a0f49750a81b895f35c3adb843cca46f0530f79fc1babb23789dc"}, @@ -3991,6 +4407,7 @@ description = "A modern CSS selector implementation for Beautiful Soup." optional = false python-versions = ">=3.8" groups = ["dev", "docs"] +markers = "python_version <= \"3.11\" or python_version >= \"3.12\"" files = [ {file = "soupsieve-2.6-py3-none-any.whl", hash = "sha256:e72c4ff06e4fb6e4b5a9f0f55fe6e81514581fca1515028625d0f299c602ccc9"}, {file = "soupsieve-2.6.tar.gz", hash = "sha256:e2e68417777af359ec65daac1057404a3c8a5455bb8abc36f1a9866ab1a51abb"}, @@ -4003,6 +4420,7 @@ description = "Extract data from python stack frames and tracebacks for informat optional = false python-versions = "*" groups = ["dev", "docs"] +markers = "python_version <= \"3.11\" or python_version >= \"3.12\"" files = [ {file = "stack_data-0.6.3-py3-none-any.whl", hash = "sha256:d5558e0c25a4cb0853cddad3d77da9891a08cb85dd9f9f91b9f8cd66e511e695"}, {file = "stack_data-0.6.3.tar.gz", hash = "sha256:836a778de4fec4dcd1dcd89ed8abff8a221f58308462e1c4aa2a3cf30148f0b9"}, @@ -4023,6 +4441,7 @@ description = "Tornado websocket backend for the Xterm.js Javascript terminal em optional = false python-versions = ">=3.8" groups = ["dev"] +markers = "python_version <= \"3.11\" or python_version >= \"3.12\"" files = [ {file = "terminado-0.18.1-py3-none-any.whl", hash = "sha256:a4468e1b37bb318f8a86514f65814e1afc977cf29b3992a4500d9dd305dcceb0"}, {file = "terminado-0.18.1.tar.gz", hash = "sha256:de09f2c4b85de4765f7714688fff57d3e75bad1f909b589fde880460c753fd2e"}, @@ -4045,6 +4464,7 @@ description = "A tiny CSS parser" optional = false python-versions = ">=3.7" groups = ["dev", "docs"] +markers = "python_version <= \"3.11\" or python_version >= \"3.12\"" files = [ {file = "tinycss2-1.2.1-py3-none-any.whl", hash = "sha256:2b80a96d41e7c3914b8cda8bc7f705a4d9c49275616e886103dd839dfc847847"}, {file = "tinycss2-1.2.1.tar.gz", hash = "sha256:8cff3a8f066c2ec677c06dbc7b45619804a6938478d9d73c284b29d14ecb0627"}, @@ -4063,7 +4483,7 @@ version = "2.2.1" description = "A lil' TOML parser" optional = false python-versions = ">=3.8" -groups = ["dev", "docs", "test"] +groups = ["build", "dev", "docs"] markers = "python_version < \"3.11\"" files = [ {file = "tomli-2.2.1-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:678e4fa69e4575eb77d103de3df8a895e1591b48e740211bd1067378c69e8249"}, @@ -4107,6 +4527,7 @@ description = "Tornado is a Python web framework and asynchronous networking lib optional = false python-versions = ">=3.8" groups = ["dev", "docs"] +markers = "python_version <= \"3.11\" or python_version >= \"3.12\"" files = [ {file = "tornado-6.4.2-cp38-abi3-macosx_10_9_universal2.whl", hash = "sha256:e828cce1123e9e44ae2a50a9de3055497ab1d0aeb440c5ac23064d9e44880da1"}, {file = "tornado-6.4.2-cp38-abi3-macosx_10_9_x86_64.whl", hash = "sha256:072ce12ada169c5b00b7d92a99ba089447ccc993ea2143c9ede887e0937aa803"}, @@ -4128,6 +4549,7 @@ description = "tox is a generic virtualenv management and test command line tool optional = false python-versions = ">=3.8" groups = ["dev"] +markers = "python_version <= \"3.11\" or python_version >= \"3.12\"" files = [ {file = "tox-4.23.2-py3-none-any.whl", hash = "sha256:452bc32bb031f2282881a2118923176445bac783ab97c874b8770ab4c3b76c38"}, {file = "tox-4.23.2.tar.gz", hash = "sha256:86075e00e555df6e82e74cfc333917f91ecb47ffbc868dcafbd2672e332f4a2c"}, @@ -4149,6 +4571,29 @@ virtualenv = ">=20.26.6" [package.extras] test = ["devpi-process (>=1.0.2)", "pytest (>=8.3.3)", "pytest-mock (>=3.14)"] +[[package]] +name = "tqdm" +version = "4.67.1" +description = "Fast, Extensible Progress Meter" +optional = false +python-versions = ">=3.7" +groups = ["main"] +markers = "python_version <= \"3.11\" or python_version >= \"3.12\"" +files = [ + {file = "tqdm-4.67.1-py3-none-any.whl", hash = "sha256:26445eca388f82e72884e0d580d5464cd801a3ea01e63e5601bdff9ba6a48de2"}, + {file = "tqdm-4.67.1.tar.gz", hash = "sha256:f8aef9c52c08c13a65f30ea34f4e5aac3fd1a34959879d7e59e63027286627f2"}, +] + +[package.dependencies] +colorama = {version = "*", markers = "platform_system == \"Windows\""} + +[package.extras] +dev = ["nbval", "pytest (>=6)", "pytest-asyncio (>=0.24)", "pytest-cov", "pytest-timeout"] +discord = ["requests"] +notebook = ["ipywidgets (>=6)"] +slack = ["slack-sdk"] +telegram = ["requests"] + [[package]] name = "traitlets" version = "5.14.3" @@ -4156,6 +4601,7 @@ description = "Traitlets Python configuration system" optional = false python-versions = ">=3.8" groups = ["dev", "docs"] +markers = "python_version <= \"3.11\" or python_version >= \"3.12\"" files = [ {file = "traitlets-5.14.3-py3-none-any.whl", hash = "sha256:b74e89e397b1ed28cc831db7aea759ba6640cb3de13090ca145426688ff1ac4f"}, {file = "traitlets-5.14.3.tar.gz", hash = "sha256:9ed0579d3502c94b4b3732ac120375cda96f923114522847de4b3bb98b96b6b7"}, @@ -4171,7 +4617,8 @@ version = "6.0.1" description = "Collection of utilities for publishing packages on PyPI" optional = false python-versions = ">=3.8" -groups = ["build", "dev"] +groups = ["build"] +markers = "python_version <= \"3.11\" or python_version >= \"3.12\"" files = [ {file = "twine-6.0.1-py3-none-any.whl", hash = "sha256:9c6025b203b51521d53e200f4a08b116dee7500a38591668c6a6033117bdc218"}, {file = "twine-6.0.1.tar.gz", hash = "sha256:36158b09df5406e1c9c1fb8edb24fc2be387709443e7376689b938531582ee27"}, @@ -4192,21 +4639,6 @@ urllib3 = ">=1.26.0" [package.extras] keyring = ["keyring (>=15.1)"] -[[package]] -name = "types-cffi" -version = "1.16.0.20241221" -description = "Typing stubs for cffi" -optional = false -python-versions = ">=3.8" -groups = ["typecheck"] -files = [ - {file = "types_cffi-1.16.0.20241221-py3-none-any.whl", hash = "sha256:e5b76b4211d7a9185f6ab8d06a106d56c7eb80af7cdb8bfcb4186ade10fb112f"}, - {file = "types_cffi-1.16.0.20241221.tar.gz", hash = "sha256:1c96649618f4b6145f58231acb976e0b448be6b847f7ab733dabe62dfbff6591"}, -] - -[package.dependencies] -types-setuptools = "*" - [[package]] name = "types-python-dateutil" version = "2.9.0.20241206" @@ -4214,77 +4646,12 @@ description = "Typing stubs for python-dateutil" optional = false python-versions = ">=3.8" groups = ["dev"] +markers = "python_version <= \"3.11\" or python_version >= \"3.12\"" files = [ {file = "types_python_dateutil-2.9.0.20241206-py3-none-any.whl", hash = "sha256:e248a4bc70a486d3e3ec84d0dc30eec3a5f979d6e7ee4123ae043eedbb987f53"}, {file = "types_python_dateutil-2.9.0.20241206.tar.gz", hash = "sha256:18f493414c26ffba692a72369fea7a154c502646301ebfe3d56a04b3767284cb"}, ] -[[package]] -name = "types-pytz" -version = "2024.2.0.20241221" -description = "Typing stubs for pytz" -optional = false -python-versions = ">=3.8" -groups = ["typecheck"] -files = [ - {file = "types_pytz-2024.2.0.20241221-py3-none-any.whl", hash = "sha256:8fc03195329c43637ed4f593663df721fef919b60a969066e22606edf0b53ad5"}, - {file = "types_pytz-2024.2.0.20241221.tar.gz", hash = "sha256:06d7cde9613e9f7504766a0554a270c369434b50e00975b3a4a0f6eed0f2c1a9"}, -] - -[[package]] -name = "types-pyyaml" -version = "6.0.12.20241230" -description = "Typing stubs for PyYAML" -optional = false -python-versions = ">=3.8" -groups = ["typecheck"] -files = [ - {file = "types_PyYAML-6.0.12.20241230-py3-none-any.whl", hash = "sha256:fa4d32565219b68e6dee5f67534c722e53c00d1cfc09c435ef04d7353e1e96e6"}, - {file = "types_pyyaml-6.0.12.20241230.tar.gz", hash = "sha256:7f07622dbd34bb9c8b264fe860a17e0efcad00d50b5f27e93984909d9363498c"}, -] - -[[package]] -name = "types-requests" -version = "2.32.0.20241016" -description = "Typing stubs for requests" -optional = false -python-versions = ">=3.8" -groups = ["typecheck"] -files = [ - {file = "types-requests-2.32.0.20241016.tar.gz", hash = "sha256:0d9cad2f27515d0e3e3da7134a1b6f28fb97129d86b867f24d9c726452634d95"}, - {file = "types_requests-2.32.0.20241016-py3-none-any.whl", hash = "sha256:4195d62d6d3e043a4eaaf08ff8a62184584d2e8684e9d2aa178c7915a7da3747"}, -] - -[package.dependencies] -urllib3 = ">=2" - -[[package]] -name = "types-setuptools" -version = "75.6.0.20241223" -description = "Typing stubs for setuptools" -optional = false -python-versions = ">=3.8" -groups = ["typecheck"] -files = [ - {file = "types_setuptools-75.6.0.20241223-py3-none-any.whl", hash = "sha256:7cbfd3bf2944f88bbcdd321b86ddd878232a277be95d44c78a53585d78ebc2f6"}, - {file = "types_setuptools-75.6.0.20241223.tar.gz", hash = "sha256:d9478a985057ed48a994c707f548e55aababa85fe1c9b212f43ab5a1fffd3211"}, -] - -[[package]] -name = "types-tqdm" -version = "4.67.0.20241221" -description = "Typing stubs for tqdm" -optional = false -python-versions = ">=3.8" -groups = ["typecheck"] -files = [ - {file = "types_tqdm-4.67.0.20241221-py3-none-any.whl", hash = "sha256:a1f1c9cda5c2d8482d2c73957a5398bfdedda10f6bc7b3b4e812d5c910486d29"}, - {file = "types_tqdm-4.67.0.20241221.tar.gz", hash = "sha256:e56046631056922385abe89aeb18af5611f471eadd7918a0ad7f34d84cd4c8cc"}, -] - -[package.dependencies] -types-requests = "*" - [[package]] name = "typing-extensions" version = "4.12.2" @@ -4292,20 +4659,20 @@ description = "Backported and Experimental Type Hints for Python 3.8+" optional = false python-versions = ">=3.8" groups = ["build", "dev", "docs"] +markers = "python_version < \"3.11\"" files = [ {file = "typing_extensions-4.12.2-py3-none-any.whl", hash = "sha256:04e5ca0351e0f3f85c6853954072df659d0d13fac324d0072316b67d7794700d"}, {file = "typing_extensions-4.12.2.tar.gz", hash = "sha256:1a7ead55c7e559dd4dee8856e3a88b41225abfe1ce8df57b7c13915fe121ffb8"}, ] -markers = {build = "python_version < \"3.11\"", docs = "python_version < \"3.11\""} [[package]] name = "tzdata" version = "2024.2" description = "Provider of IANA time zone data" -optional = true +optional = false python-versions = ">=2" groups = ["main"] -markers = "extra == \"metrics\" and (python_version <= \"3.11\" or python_version >= \"3.12\")" +markers = "python_version <= \"3.11\" or python_version >= \"3.12\"" files = [ {file = "tzdata-2024.2-py2.py3-none-any.whl", hash = "sha256:a48093786cdcde33cad18c2555e8532f34422074448fbc874186f0abd79565cd"}, {file = "tzdata-2024.2.tar.gz", hash = "sha256:7d85cc416e9382e69095b7bdf4afd9e3880418a2413feec7069d533d6b4e31cc"}, @@ -4318,6 +4685,7 @@ description = "RFC 6570 URI Template Processor" optional = false python-versions = ">=3.7" groups = ["dev"] +markers = "python_version <= \"3.11\" or python_version >= \"3.12\"" files = [ {file = "uri-template-1.3.0.tar.gz", hash = "sha256:0e00f8eb65e18c7de20d595a14336e9f337ead580c70934141624b6d1ffdacc7"}, {file = "uri_template-1.3.0-py3-none-any.whl", hash = "sha256:a44a133ea12d44a0c0f06d7d42a52d71282e77e2f937d8abd5655b8d56fc1363"}, @@ -4332,7 +4700,8 @@ version = "2.2.3" description = "HTTP library with thread-safe connection pooling, file post, and more." optional = false python-versions = ">=3.8" -groups = ["build", "dev", "docs", "typecheck"] +groups = ["main", "build", "dev", "docs"] +markers = "python_version <= \"3.11\" or python_version >= \"3.12\"" files = [ {file = "urllib3-2.2.3-py3-none-any.whl", hash = "sha256:ca899ca043dcb1bafa3e262d73aa25c465bfb49e0bd9dd5d59f1d0acba2f8fac"}, {file = "urllib3-2.2.3.tar.gz", hash = "sha256:e7d814a81dad81e6caf2ec9fdedb284ecc9c73076b62654547cc64ccdcae26e9"}, @@ -4351,6 +4720,7 @@ description = "Flexible version handling" optional = false python-versions = "*" groups = ["docs"] +markers = "python_version <= \"3.11\" or python_version >= \"3.12\"" files = [ {file = "verspec-0.1.0-py3-none-any.whl", hash = "sha256:741877d5633cc9464c45a469ae2a31e801e6dbbaa85b9675d481cda100f11c31"}, {file = "verspec-0.1.0.tar.gz", hash = "sha256:c4504ca697b2056cdb4bfa7121461f5a0e81809255b41c03dda4ba823637c01e"}, @@ -4366,6 +4736,7 @@ description = "Virtual Python Environment builder" optional = false python-versions = ">=3.8" groups = ["dev"] +markers = "python_version <= \"3.11\" or python_version >= \"3.12\"" files = [ {file = "virtualenv-20.28.1-py3-none-any.whl", hash = "sha256:412773c85d4dab0409b83ec36f7a6499e72eaf08c80e81e9576bca61831c71cb"}, {file = "virtualenv-20.28.1.tar.gz", hash = "sha256:5d34ab240fdb5d21549b76f9e8ff3af28252f5499fb6d6f031adac4e5a8c5329"}, @@ -4387,6 +4758,7 @@ description = "Filesystem events monitoring" optional = false python-versions = ">=3.8" groups = ["docs"] +markers = "python_version <= \"3.11\" or python_version >= \"3.12\"" files = [ {file = "watchdog-4.0.2-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:ede7f010f2239b97cc79e6cb3c249e72962404ae3865860855d5cbe708b0fd22"}, {file = "watchdog-4.0.2-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:a2cffa171445b0efa0726c561eca9a27d00a1f2b83846dbd5a4f639c4f8ca8e1"}, @@ -4435,6 +4807,7 @@ description = "Measures the displayed width of unicode strings in a terminal" optional = false python-versions = "*" groups = ["dev", "docs"] +markers = "python_version <= \"3.11\" or python_version >= \"3.12\"" files = [ {file = "wcwidth-0.2.13-py2.py3-none-any.whl", hash = "sha256:3da69048e4540d84af32131829ff948f1e022c1c6bdb8d6102117aac784f6859"}, {file = "wcwidth-0.2.13.tar.gz", hash = "sha256:72ea0c06399eb286d978fdedb6923a9eb47e1c486ce63e9b4e64fc18303972b5"}, @@ -4447,6 +4820,7 @@ description = "A library for working with the color formats defined by HTML and optional = false python-versions = ">=3.8" groups = ["dev"] +markers = "python_version <= \"3.11\" or python_version >= \"3.12\"" files = [ {file = "webcolors-24.8.0-py3-none-any.whl", hash = "sha256:fc4c3b59358ada164552084a8ebee637c221e4059267d0f8325b3b560f6c7f0a"}, {file = "webcolors-24.8.0.tar.gz", hash = "sha256:08b07af286a01bcd30d583a7acadf629583d1f79bfef27dd2c2c5c263817277d"}, @@ -4463,6 +4837,7 @@ description = "Character encoding aliases for legacy web content" optional = false python-versions = "*" groups = ["dev", "docs"] +markers = "python_version <= \"3.11\" or python_version >= \"3.12\"" files = [ {file = "webencodings-0.5.1-py2.py3-none-any.whl", hash = "sha256:a0af1213f3c2226497a97e2b3aa01a7e4bee4f403f95be16fc9acd2947514a78"}, {file = "webencodings-0.5.1.tar.gz", hash = "sha256:b36a1c245f2d304965eb4e0a82848379241dc04b865afcc4aab16748587e1923"}, @@ -4475,6 +4850,7 @@ description = "WebSocket client for Python with low level API options" optional = false python-versions = ">=3.8" groups = ["dev"] +markers = "python_version <= \"3.11\" or python_version >= \"3.12\"" files = [ {file = "websocket_client-1.8.0-py3-none-any.whl", hash = "sha256:17b44cc997f5c498e809b22cdf2d9c7a9e71c02c8cc2b6c56e7c2d1239bfa526"}, {file = "websocket_client-1.8.0.tar.gz", hash = "sha256:3239df9f44da632f96012472805d40a23281a991027ce11d2f45a6f24ac4c3da"}, @@ -4491,7 +4867,8 @@ version = "0.45.1" description = "A built-package format for Python" optional = false python-versions = ">=3.8" -groups = ["dev", "docs"] +groups = ["build", "docs"] +markers = "python_version <= \"3.11\" or python_version >= \"3.12\"" files = [ {file = "wheel-0.45.1-py3-none-any.whl", hash = "sha256:708e7481cc80179af0e556bbf0cc00b8444c7321e2700b8d8580231d13017248"}, {file = "wheel-0.45.1.tar.gz", hash = "sha256:661e1abd9198507b1409a20c02106d9670b2576e916d58f520316666abca6729"}, @@ -4507,6 +4884,7 @@ description = "Jupyter interactive widgets for Jupyter Notebook" optional = false python-versions = ">=3.7" groups = ["dev"] +markers = "python_version <= \"3.11\" or python_version >= \"3.12\"" files = [ {file = "widgetsnbextension-4.0.13-py3-none-any.whl", hash = "sha256:74b2692e8500525cc38c2b877236ba51d34541e6385eeed5aec15a70f88a6c71"}, {file = "widgetsnbextension-4.0.13.tar.gz", hash = "sha256:ffcb67bc9febd10234a362795f643927f4e0c05d9342c727b65d2384f8feacb6"}, @@ -4518,12 +4896,12 @@ version = "3.20.2" description = "Backport of pathlib-compatible object wrapper for zip files" optional = false python-versions = ">=3.8" -groups = ["build", "dev", "docs"] +groups = ["main", "build", "dev", "docs"] files = [ {file = "zipp-3.20.2-py3-none-any.whl", hash = "sha256:a817ac80d6cf4b23bf7f2828b7cabf326f15a001bea8b1f9b49631780ba28350"}, {file = "zipp-3.20.2.tar.gz", hash = "sha256:bc9eb26f4506fda01b81bcde0ca78103b6e62f991b381fec825435c836edbc29"}, ] -markers = {build = "python_version < \"3.12\" and (platform_machine != \"ppc64le\" and platform_machine != \"s390x\") or python_version < \"3.10\"", dev = "python_version < \"3.12\" and (platform_machine != \"ppc64le\" and platform_machine != \"s390x\") or python_full_version < \"3.10.2\""} +markers = {main = "python_version < \"3.10\"", build = "python_version <= \"3.11\" and (python_full_version < \"3.10.2\" or platform_machine != \"ppc64le\" and platform_machine != \"s390x\")", dev = "python_version < \"3.10\"", docs = "python_version <= \"3.11\" or python_version >= \"3.12\""} [package.extras] check = ["pytest-checkdocs (>=2.4)", "pytest-ruff (>=0.2.1)"] @@ -4538,5 +4916,5 @@ metrics = ["pandas"] [metadata] lock-version = "2.1" -python-versions = "^3.8" -content-hash = "fb2ea88c62572ec05e938d315c2535d38e6f8813eb7bc447b36c1496947ec22d" +python-versions = ">=3.8" +content-hash = "8b6c92aa09b176d5a87df38dcb6be69e298a321756eaf07af171e381bc0ab40e" diff --git a/pyproject.toml b/pyproject.toml index c6858f7d4b..ef3c05bc4b 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -2,7 +2,9 @@ name = "supervision" description = "A set of easy-to-use utils that will come in handy in any Computer Vision project" license = { text = "MIT" } +version = "0.26.0rc2" readme = "README.md" +requires-python = ">=3.8" authors = [ { name = "Piotr Skalski", email = "piotr.skalski92@gmail.com" } ] @@ -35,7 +37,20 @@ classifiers = [ 'Operating System :: POSIX :: Linux', 'Operating System :: MacOS', ] -dynamic = ["version", "dependencies","requires-python"] +dependencies = [ + "numpy>=1.21.2", + "scipy==1.10.0; python_version < '3.9'", + "scipy>=1.10.0; python_version >= '3.9'", + "scipy>=1.14.1; python_version >= '3.13'", + "matplotlib>=3.6.0", + "pyyaml>=5.3", + "defusedxml>=0.7.1", + "pillow>=9.4", + "requests>=2.26.0", + "tqdm>=4.62.3", + "pandas>=2.0.0", + "opencv-python>=4.5.5.64" +] [project.urls] Homepage = "https://github.com/roboflow/supervision" @@ -47,71 +62,11 @@ metrics = ["pandas"] [tool.poetry] # Keep version here since it's dynamic -version = "0.26.0rc2" packages = [{ include = "supervision" }, { include = "supervision/py.typed" }] -[tool.poetry.dependencies] -python = "^3.8" - -# For Python versions 3.13 and above, use numpy versions 2.1.0, -# required for poetry to not fail. -numpy = [ - { version = ">=1.21.2", python = "<3.13" }, - { version = ">=2.1.0", python = ">=3.13" }, -] - -scipy = [ - { version = "1.10.0", python = "<3.9" }, - { version = "^1.10.0", python = ">=3.9" }, - { version = ">=1.14.1", python = ">=3.13" }, - -] - -# Matplotlib sub-dependency -# The 'contourpy' package is required by Matplotlib for contour plotting. -# We need to ensure compatibility with both Python 3.8 and Python 3.13. -# -# For Python 3.8 and above, we use version 1.0.7 or higher, as it is the lowest major version that supports Python 3.8. -# For Python 3.13 and above, we use version 1.3.0 or higher, as it is the first version that explicitly supports Python 3.13. -contourpy = [ - { version = ">=1.0.7", python = ">=3.8,<3.13" }, - { version = ">=1.3.0", python = ">=3.13" }, -] - -matplotlib = [ - { version = ">=3.6.0,<3.8.0", python = "3.8" }, - { version = ">=3.6.0", python = ">=3.9" }, - { version = ">=3.7.3", python = ">=3.12" }, - { version = ">=3.9.2", python = ">=3.13" }, -] - - -pyyaml = ">=5.3" -defusedxml = "^0.7.1" -pillow = ">=9.4" -requests = ">=2.26.0" -tqdm = ">=4.62.3" -# pandas: picked lowest major version that supports Python 3.8 -# pandas 2.2.3 has been released with support for Python 3.13 -pandas = [ - { version = ">=2.0.0", python = "<3.13", optional = true }, - { version = ">=2.2.3", python = ">=3.13", optional = true }, -] - -opencv-python = ">=4.5.5.64" - -[tool.poetry.group.test.dependencies] -pytest = ">=7.2.2,<9.0.0" -pytest-md = "^0.2.0" -pytest-emoji = "^0.2.0" [tool.poetry.group.dev.dependencies] -twine = ">=5.1.1,<7.0.0" pytest = ">=7.2.2,<9.0.0" -wheel = ">=0.40,<0.46" -build = ">=0.10,<1.3" -ruff = ">=0.1.0" -mypy = "^1.4.1" pre-commit = "^3.3.3" tox = "^4.11.4" notebook = ">=6.5.3,<8.0.0" @@ -131,21 +86,13 @@ mike = "^2.0.0" # For Documentation Development use Python 3.10 or above # Use Latest mkdocs-jupyter min 0.24.6 for Jupyter Notebook Theme support mkdocs-jupyter = "^0.24.3" -mkdocs-git-committers-plugin-2 = "^2.4.1" +mkdocs-git-committers-plugin-2 = { version = "^2.4.1", python = ">=3.8,<4" } mkdocs-git-revision-date-localized-plugin = "^1.2.4" -[tool.poetry.group.typecheck] -optional = true - -[tool.poetry.group.typecheck.dependencies] -types-pyyaml = "^6.0.12.20240808" -types-cffi = "^1.16.0.20240331" -types-requests = "^2.32.0.20240712" -types-tqdm = "^4.66.0.20240417" -pandas-stubs = ">=2.0.0.230412" - [tool.poetry.group.build.dependencies] twine = ">=5.1.1,<7.0.0" +wheel = ">=0.40,<0.46" +build = ">=0.10,<1.3" [tool.bandit] target = ["test", "supervision"] From 894ee7f5f9aa64067ce3ce57d5532fa2155f7008 Mon Sep 17 00:00:00 2001 From: Onuralp SEZER Date: Mon, 6 Jan 2025 17:17:00 +0300 Subject: [PATCH 087/420] =?UTF-8?q?refactor:=20=F0=9F=9B=A0=EF=B8=8F=20str?= =?UTF-8?q?eamline=20testing=20workflow=20by=20removing=20deprecated=20tes?= =?UTF-8?q?t.yml=20and=20adding=20pytest=20step=20to=20poetry-test.yml?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .github/workflows/poetry-test.yml | 5 +++- .github/workflows/test.yml | 40 ------------------------------- 2 files changed, 4 insertions(+), 41 deletions(-) delete mode 100644 .github/workflows/test.yml diff --git a/.github/workflows/poetry-test.yml b/.github/workflows/poetry-test.yml index e8f40881a7..831aaf3c81 100644 --- a/.github/workflows/poetry-test.yml +++ b/.github/workflows/poetry-test.yml @@ -1,4 +1,4 @@ -name: 🔧 Poetry Check and Installation Test Workflow +name: 🔧 Poetry Checks and Test Workflow on: push: paths: @@ -40,3 +40,6 @@ jobs: - name: 🧪 Run the Import test run: poetry run python -c "import supervision; from supervision import assets; from supervision import metrics; print(supervision.__version__)" + + - name: 🧪 Run the Test + run: poetry run pytest diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml deleted file mode 100644 index cd197dbea1..0000000000 --- a/.github/workflows/test.yml +++ /dev/null @@ -1,40 +0,0 @@ -name: Test WorkFlow - -on: - pull_request: - branches: [main, develop] - -permissions: - contents: read - checks: write # Required for test reporting - pull-requests: write # Required for PR comments - -jobs: - pytest: - name: PyTest - timeout-minutes: 10 - strategy: - matrix: - os: [ubuntu-latest, windows-latest, macos-latest] - python-version: ["3.8", "3.9", "3.10", "3.11", "3.12", "3.13"] - fail-fast: false # Continue with other versions if one fails - runs-on: ${{ matrix.os }} - steps: - - name: 📥 Checkout the repository - uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 - - - name: 🐍 Set up Python ${{ matrix.python-version }} - uses: actions/setup-python@0b93645e9fea7318ecaed2b359559ac225c90a2b # v5.3.0 - with: - python-version: ${{ matrix.python-version }} - - - name: 📜 Setup Poetry - uses: abatilo/actions-poetry@3765cf608f2d4a72178a9fc5b918668e542b89b1 # v4.0.0 - - - name: 📦 Install dependencies - run: | - poetry install --with=test - - - name: 🧪 Run pytest - run: | - poetry run pytest From 2cca69be0026c4e982a9f2913700be5efd7eafb7 Mon Sep 17 00:00:00 2001 From: Onuralp SEZER Date: Mon, 6 Jan 2025 17:51:00 +0300 Subject: [PATCH 088/420] =?UTF-8?q?refactor:=20=F0=9F=9B=A0=EF=B8=8F=20upd?= =?UTF-8?q?ate=20scipy=20dependency=20specifications=20for=20improved=20ve?= =?UTF-8?q?rsion=20constraints=20based=20on=20Python=20version?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- poetry.lock | 22 +++++++++++----------- pyproject.toml | 6 +++--- 2 files changed, 14 insertions(+), 14 deletions(-) diff --git a/poetry.lock b/poetry.lock index 0e01b64924..b86364a612 100644 --- a/poetry.lock +++ b/poetry.lock @@ -31,7 +31,7 @@ description = "Disable App Nap on macOS >= 10.9" optional = false python-versions = ">=3.6" groups = ["dev", "docs"] -markers = "(sys_platform == \"darwin\" or platform_system == \"Darwin\") and (python_version <= \"3.11\" or python_version >= \"3.12\")" +markers = "(python_version <= \"3.11\" or python_version >= \"3.12\") and (sys_platform == \"darwin\" or platform_system == \"Darwin\")" files = [ {file = "appnope-0.1.4-py2.py3-none-any.whl", hash = "sha256:502575ee11cd7a28c0205f379b525beefebab9d161b7c964670864014ed7213c"}, {file = "appnope-0.1.4.tar.gz", hash = "sha256:1de3860566df9caf38f01f86f65e0e13e379af54f9e4bee1e66b48f2efffd1ee"}, @@ -229,7 +229,7 @@ description = "Backport of CPython tarfile module" optional = false python-versions = ">=3.8" groups = ["build"] -markers = "python_version < \"3.9\" and (platform_machine == \"arm64\" or platform_machine == \"aarch64\" or platform_machine != \"ppc64le\" and platform_machine != \"s390x\") and (platform_machine == \"arm64\" or platform_machine == \"aarch64\" or platform_system != \"Linux\" or platform_machine != \"ppc64le\" and platform_machine != \"s390x\" and platform_machine != \"aarch64\") and (platform_machine == \"arm64\" or platform_machine == \"aarch64\" or platform_system != \"Darwin\" or platform_machine != \"ppc64le\" and platform_machine != \"s390x\" and platform_machine != \"arm64\") or python_version >= \"3.9\" and python_version <= \"3.11\" and (platform_machine != \"ppc64le\" and platform_machine != \"s390x\")" +markers = "python_version <= \"3.11\" and (python_version < \"3.9\" or platform_machine != \"ppc64le\" and platform_machine != \"s390x\") and (platform_machine == \"arm64\" or platform_machine == \"aarch64\" or platform_machine != \"ppc64le\" and platform_machine != \"s390x\") and (platform_machine == \"arm64\" or platform_machine == \"aarch64\" or platform_system != \"Linux\" or platform_machine != \"ppc64le\" and platform_machine != \"s390x\" and platform_machine != \"aarch64\" or python_version >= \"3.9\") and (platform_machine == \"arm64\" or platform_machine == \"aarch64\" or platform_system != \"Darwin\" or platform_machine != \"ppc64le\" and platform_machine != \"s390x\" and platform_machine != \"arm64\" or python_version >= \"3.9\")" files = [ {file = "backports.tarfile-1.2.0-py3-none-any.whl", hash = "sha256:77e284d754527b01fb1e6fa8a1afe577858ebe4e9dad8919e34c862cb399bc34"}, {file = "backports_tarfile-1.2.0.tar.gz", hash = "sha256:d75e02c268746e1b8144c278978b6e98e85de6ad16f8e4b0844a154557eca991"}, @@ -457,7 +457,7 @@ files = [ {file = "cffi-1.17.1-cp39-cp39-win_amd64.whl", hash = "sha256:d016c76bdd850f3c626af19b0542c9677ba156e4ee4fccfdd7848803533ef662"}, {file = "cffi-1.17.1.tar.gz", hash = "sha256:1c39c6016c32bc48dd54561950ebd6836e1670f2ae46128f67cf49e789c52824"}, ] -markers = {build = "(platform_machine != \"ppc64le\" and platform_machine != \"s390x\" or python_version < \"3.9\") and sys_platform == \"linux\" and platform_python_implementation != \"PyPy\" and (python_version <= \"3.11\" or python_version >= \"3.12\") and (platform_machine == \"arm64\" or platform_machine == \"aarch64\" or platform_machine != \"ppc64le\" and platform_machine != \"s390x\") and (platform_machine == \"arm64\" or platform_machine == \"aarch64\" or platform_system != \"Linux\" or platform_machine != \"ppc64le\" and platform_machine != \"s390x\" and platform_machine != \"aarch64\" or python_version >= \"3.9\") and (platform_machine == \"arm64\" or platform_machine == \"aarch64\" or platform_system != \"Darwin\" or platform_machine != \"ppc64le\" and platform_machine != \"s390x\" and platform_machine != \"arm64\" or python_version >= \"3.9\")", dev = "python_version <= \"3.11\" or python_version >= \"3.12\"", docs = "python_version <= \"3.11\" or python_version >= \"3.12\""} +markers = {build = "(python_version <= \"3.11\" or python_version >= \"3.12\") and sys_platform == \"linux\" and platform_python_implementation != \"PyPy\" and (platform_machine != \"ppc64le\" and platform_machine != \"s390x\" or python_version < \"3.9\") and (platform_machine == \"arm64\" or platform_machine == \"aarch64\" or platform_machine != \"ppc64le\" and platform_machine != \"s390x\") and (platform_machine == \"arm64\" or platform_machine == \"aarch64\" or platform_system != \"Linux\" or platform_machine != \"ppc64le\" and platform_machine != \"s390x\" and platform_machine != \"aarch64\" or python_version >= \"3.9\") and (platform_machine == \"arm64\" or platform_machine == \"aarch64\" or platform_system != \"Darwin\" or platform_machine != \"ppc64le\" and platform_machine != \"s390x\" and platform_machine != \"arm64\" or python_version >= \"3.9\")", dev = "python_version <= \"3.11\" or python_version >= \"3.12\"", docs = "python_version <= \"3.11\" or python_version >= \"3.12\""} [package.dependencies] pycparser = "*" @@ -783,7 +783,7 @@ description = "cryptography is a package which provides cryptographic recipes an optional = false python-versions = ">=3.7" groups = ["build"] -markers = "(platform_machine != \"ppc64le\" and platform_machine != \"s390x\" or python_version < \"3.9\") and sys_platform == \"linux\" and (python_version <= \"3.11\" or python_version >= \"3.12\") and (platform_machine == \"arm64\" or platform_machine == \"aarch64\" or platform_machine != \"ppc64le\" and platform_machine != \"s390x\") and (platform_machine == \"arm64\" or platform_machine == \"aarch64\" or platform_system != \"Linux\" or platform_machine != \"ppc64le\" and platform_machine != \"s390x\" and platform_machine != \"aarch64\" or python_version >= \"3.9\") and (platform_machine == \"arm64\" or platform_machine == \"aarch64\" or platform_system != \"Darwin\" or platform_machine != \"ppc64le\" and platform_machine != \"s390x\" and platform_machine != \"arm64\" or python_version >= \"3.9\")" +markers = "(python_version <= \"3.11\" or python_version >= \"3.12\") and sys_platform == \"linux\" and (platform_machine != \"ppc64le\" and platform_machine != \"s390x\" or python_version < \"3.9\") and (platform_machine == \"arm64\" or platform_machine == \"aarch64\" or platform_machine != \"ppc64le\" and platform_machine != \"s390x\") and (platform_machine == \"arm64\" or platform_machine == \"aarch64\" or platform_system != \"Linux\" or platform_machine != \"ppc64le\" and platform_machine != \"s390x\" and platform_machine != \"aarch64\" or python_version >= \"3.9\") and (platform_machine == \"arm64\" or platform_machine == \"aarch64\" or platform_system != \"Darwin\" or platform_machine != \"ppc64le\" and platform_machine != \"s390x\" and platform_machine != \"arm64\" or python_version >= \"3.9\")" files = [ {file = "cryptography-43.0.3-cp37-abi3-macosx_10_9_universal2.whl", hash = "sha256:bf7a1932ac4176486eab36a19ed4c0492da5d97123f1406cf15e41b05e787d2e"}, {file = "cryptography-43.0.3-cp37-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:63efa177ff54aec6e1c0aefaa1a241232dcd37413835a9b674b6e3f0ae2bfd3e"}, @@ -1556,7 +1556,7 @@ description = "Low-level, pure Python DBus protocol wrapper." optional = false python-versions = ">=3.7" groups = ["build"] -markers = "(platform_machine != \"ppc64le\" and platform_machine != \"s390x\" or python_version < \"3.9\") and sys_platform == \"linux\" and (python_version <= \"3.11\" or python_version >= \"3.12\") and (platform_machine == \"arm64\" or platform_machine == \"aarch64\" or platform_machine != \"ppc64le\" and platform_machine != \"s390x\") and (platform_machine == \"arm64\" or platform_machine == \"aarch64\" or platform_system != \"Linux\" or platform_machine != \"ppc64le\" and platform_machine != \"s390x\" and platform_machine != \"aarch64\" or python_version >= \"3.9\") and (platform_machine == \"arm64\" or platform_machine == \"aarch64\" or platform_system != \"Darwin\" or platform_machine != \"ppc64le\" and platform_machine != \"s390x\" and platform_machine != \"arm64\" or python_version >= \"3.9\")" +markers = "(python_version <= \"3.11\" or python_version >= \"3.12\") and sys_platform == \"linux\" and (platform_machine != \"ppc64le\" and platform_machine != \"s390x\" or python_version < \"3.9\") and (platform_machine == \"arm64\" or platform_machine == \"aarch64\" or platform_machine != \"ppc64le\" and platform_machine != \"s390x\") and (platform_machine == \"arm64\" or platform_machine == \"aarch64\" or platform_system != \"Linux\" or platform_machine != \"ppc64le\" and platform_machine != \"s390x\" and platform_machine != \"aarch64\" or python_version >= \"3.9\") and (platform_machine == \"arm64\" or platform_machine == \"aarch64\" or platform_system != \"Darwin\" or platform_machine != \"ppc64le\" and platform_machine != \"s390x\" and platform_machine != \"arm64\" or python_version >= \"3.9\")" files = [ {file = "jeepney-0.8.0-py3-none-any.whl", hash = "sha256:c0a454ad016ca575060802ee4d590dd912e35c122fa04e70306de3d076cce755"}, {file = "jeepney-0.8.0.tar.gz", hash = "sha256:5efe48d255973902f6badc3ce55e2aa6c5c3b3bc642059ef3a91247bcfcc5806"}, @@ -3348,7 +3348,7 @@ files = [ {file = "ptyprocess-0.7.0-py2.py3-none-any.whl", hash = "sha256:4b41f3967fce3af57cc7e94b888626c18bf37a083e3651ca8feeb66d492fef35"}, {file = "ptyprocess-0.7.0.tar.gz", hash = "sha256:5c5d0a3b48ceee0b48485e0c26037c0acd7d29765ca3fbb5cb3831d347423220"}, ] -markers = {dev = "(os_name != \"nt\" or sys_platform != \"win32\") and (python_version <= \"3.11\" or python_version >= \"3.12\")", docs = "(python_version <= \"3.11\" or python_version >= \"3.12\") and sys_platform != \"win32\""} +markers = {dev = "(python_version <= \"3.11\" or python_version >= \"3.12\") and (os_name != \"nt\" or sys_platform != \"win32\")", docs = "(python_version <= \"3.11\" or python_version >= \"3.12\") and sys_platform != \"win32\""} [[package]] name = "pure-eval" @@ -3377,7 +3377,7 @@ files = [ {file = "pycparser-2.22-py3-none-any.whl", hash = "sha256:c3702b6d3dd8c7abc1afa565d7e63d53a1d0bd86cdc24edd75470f4de499cfcc"}, {file = "pycparser-2.22.tar.gz", hash = "sha256:491c8be9c040f5390f5bf44a5b07752bd07f56edf992381b05c701439eec10f6"}, ] -markers = {build = "(platform_machine != \"ppc64le\" and platform_machine != \"s390x\" or python_version < \"3.9\") and sys_platform == \"linux\" and platform_python_implementation != \"PyPy\" and (python_version <= \"3.11\" or python_version >= \"3.12\") and (platform_machine == \"arm64\" or platform_machine == \"aarch64\" or platform_machine != \"ppc64le\" and platform_machine != \"s390x\") and (platform_machine == \"arm64\" or platform_machine == \"aarch64\" or platform_system != \"Linux\" or platform_machine != \"ppc64le\" and platform_machine != \"s390x\" and platform_machine != \"aarch64\" or python_version >= \"3.9\") and (platform_machine == \"arm64\" or platform_machine == \"aarch64\" or platform_system != \"Darwin\" or platform_machine != \"ppc64le\" and platform_machine != \"s390x\" and platform_machine != \"arm64\" or python_version >= \"3.9\")", dev = "python_version <= \"3.11\" or python_version >= \"3.12\"", docs = "python_version <= \"3.11\" or python_version >= \"3.12\""} +markers = {build = "(python_version <= \"3.11\" or python_version >= \"3.12\") and sys_platform == \"linux\" and platform_python_implementation != \"PyPy\" and (platform_machine != \"ppc64le\" and platform_machine != \"s390x\" or python_version < \"3.9\") and (platform_machine == \"arm64\" or platform_machine == \"aarch64\" or platform_machine != \"ppc64le\" and platform_machine != \"s390x\") and (platform_machine == \"arm64\" or platform_machine == \"aarch64\" or platform_system != \"Linux\" or platform_machine != \"ppc64le\" and platform_machine != \"s390x\" and platform_machine != \"aarch64\" or python_version >= \"3.9\") and (platform_machine == \"arm64\" or platform_machine == \"aarch64\" or platform_system != \"Darwin\" or platform_machine != \"ppc64le\" and platform_machine != \"s390x\" and platform_machine != \"arm64\" or python_version >= \"3.9\")", dev = "python_version <= \"3.11\" or python_version >= \"3.12\"", docs = "python_version <= \"3.11\" or python_version >= \"3.12\""} [[package]] name = "pygments" @@ -3544,7 +3544,7 @@ description = "Python for Window Extensions" optional = false python-versions = "*" groups = ["dev", "docs"] -markers = "sys_platform == \"win32\" and platform_python_implementation != \"PyPy\" and (python_version <= \"3.11\" or python_version >= \"3.12\")" +markers = "(python_version <= \"3.11\" or python_version >= \"3.12\") and platform_python_implementation != \"PyPy\" and sys_platform == \"win32\"" files = [ {file = "pywin32-308-cp310-cp310-win32.whl", hash = "sha256:796ff4426437896550d2981b9c2ac0ffd75238ad9ea2d3bfa67a1abd546d262e"}, {file = "pywin32-308-cp310-cp310-win_amd64.whl", hash = "sha256:4fc888c59b3c0bef905ce7eb7e2106a07712015ea1c8234b703a088d46110e8e"}, @@ -3573,7 +3573,7 @@ description = "A (partial) reimplementation of pywin32 using ctypes/cffi" optional = false python-versions = ">=3.6" groups = ["build"] -markers = "(platform_machine != \"ppc64le\" and platform_machine != \"s390x\" or python_version < \"3.9\") and sys_platform == \"win32\" and (python_version <= \"3.11\" or python_version >= \"3.12\") and (platform_machine == \"arm64\" or platform_machine == \"aarch64\" or platform_machine != \"ppc64le\" and platform_machine != \"s390x\") and (platform_machine == \"arm64\" or platform_machine == \"aarch64\" or platform_system != \"Linux\" or platform_machine != \"ppc64le\" and platform_machine != \"s390x\" and platform_machine != \"aarch64\" or python_version >= \"3.9\") and (platform_machine == \"arm64\" or platform_machine == \"aarch64\" or platform_system != \"Darwin\" or platform_machine != \"ppc64le\" and platform_machine != \"s390x\" and platform_machine != \"arm64\" or python_version >= \"3.9\")" +markers = "(python_version <= \"3.11\" or python_version >= \"3.12\") and sys_platform == \"win32\" and (platform_machine != \"ppc64le\" and platform_machine != \"s390x\" or python_version < \"3.9\") and (platform_machine == \"arm64\" or platform_machine == \"aarch64\" or platform_machine != \"ppc64le\" and platform_machine != \"s390x\") and (platform_machine == \"arm64\" or platform_machine == \"aarch64\" or platform_system != \"Linux\" or platform_machine != \"ppc64le\" and platform_machine != \"s390x\" and platform_machine != \"aarch64\" or python_version >= \"3.9\") and (platform_machine == \"arm64\" or platform_machine == \"aarch64\" or platform_system != \"Darwin\" or platform_machine != \"ppc64le\" and platform_machine != \"s390x\" and platform_machine != \"arm64\" or python_version >= \"3.9\")" files = [ {file = "pywin32-ctypes-0.2.3.tar.gz", hash = "sha256:d162dc04946d704503b2edc4d55f3dba5c1d539ead017afa00142c38b9885755"}, {file = "pywin32_ctypes-0.2.3-py3-none-any.whl", hash = "sha256:8a1513379d709975552d202d942d9837758905c8d01eb82b8bcc30918929e7b8"}, @@ -4311,7 +4311,7 @@ description = "Python bindings to FreeDesktop.org Secret Service API" optional = false python-versions = ">=3.6" groups = ["build"] -markers = "(platform_machine != \"ppc64le\" and platform_machine != \"s390x\" or python_version < \"3.9\") and sys_platform == \"linux\" and (python_version <= \"3.11\" or python_version >= \"3.12\") and (platform_machine == \"arm64\" or platform_machine == \"aarch64\" or platform_machine != \"ppc64le\" and platform_machine != \"s390x\") and (platform_machine == \"arm64\" or platform_machine == \"aarch64\" or platform_system != \"Linux\" or platform_machine != \"ppc64le\" and platform_machine != \"s390x\" and platform_machine != \"aarch64\" or python_version >= \"3.9\") and (platform_machine == \"arm64\" or platform_machine == \"aarch64\" or platform_system != \"Darwin\" or platform_machine != \"ppc64le\" and platform_machine != \"s390x\" and platform_machine != \"arm64\" or python_version >= \"3.9\")" +markers = "(python_version <= \"3.11\" or python_version >= \"3.12\") and sys_platform == \"linux\" and (platform_machine != \"ppc64le\" and platform_machine != \"s390x\" or python_version < \"3.9\") and (platform_machine == \"arm64\" or platform_machine == \"aarch64\" or platform_machine != \"ppc64le\" and platform_machine != \"s390x\") and (platform_machine == \"arm64\" or platform_machine == \"aarch64\" or platform_system != \"Linux\" or platform_machine != \"ppc64le\" and platform_machine != \"s390x\" and platform_machine != \"aarch64\" or python_version >= \"3.9\") and (platform_machine == \"arm64\" or platform_machine == \"aarch64\" or platform_system != \"Darwin\" or platform_machine != \"ppc64le\" and platform_machine != \"s390x\" and platform_machine != \"arm64\" or python_version >= \"3.9\")" files = [ {file = "SecretStorage-3.3.3-py3-none-any.whl", hash = "sha256:f356e6628222568e3af06f2eba8df495efa13b3b63081dafd4f7d9a7b7bc9f99"}, {file = "SecretStorage-3.3.3.tar.gz", hash = "sha256:2403533ef369eca6d2ba81718576c5e0f564d5cca1b58f73a8b23e7d4eeebd77"}, @@ -4917,4 +4917,4 @@ metrics = ["pandas"] [metadata] lock-version = "2.1" python-versions = ">=3.8" -content-hash = "8b6c92aa09b176d5a87df38dcb6be69e298a321756eaf07af171e381bc0ab40e" +content-hash = "3200aa271750cb9a5b4518ecd9a72e7244f2137a861f416cfa437e4ae133d216" diff --git a/pyproject.toml b/pyproject.toml index ef3c05bc4b..1628f3f6fb 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -39,9 +39,9 @@ classifiers = [ ] dependencies = [ "numpy>=1.21.2", - "scipy==1.10.0; python_version < '3.9'", - "scipy>=1.10.0; python_version >= '3.9'", - "scipy>=1.14.1; python_version >= '3.13'", + "scipy (==1.10.0); python_version < '3.9'", + "scipy (>=1.10.0,<1.14.1) ; python_version >= '3.9' and python_version < '3.13'", + "scipy (>=1.14.1); python_version >= '3.13'", "matplotlib>=3.6.0", "pyyaml>=5.3", "defusedxml>=0.7.1", From adec783d49194c49534f8d1b620629c30c44f317 Mon Sep 17 00:00:00 2001 From: SkalskiP Date: Mon, 6 Jan 2025 18:56:31 +0100 Subject: [PATCH 089/420] fix loosing data during detection filtering --- pyproject.toml | 2 +- supervision/detection/core.py | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/pyproject.toml b/pyproject.toml index e67cff4a0f..815a87a0f4 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -1,6 +1,6 @@ [tool.poetry] name = "supervision" -version = "0.26.0rc2" +version = "0.26.0rc3" description = "A set of easy-to-use utils that will come in handy in any Computer Vision project" authors = ["Piotr Skalski "] maintainers = [ diff --git a/supervision/detection/core.py b/supervision/detection/core.py index a98676ec72..c61728b9ca 100644 --- a/supervision/detection/core.py +++ b/supervision/detection/core.py @@ -1203,7 +1203,7 @@ def __getitem__( if isinstance(index, str): return self.data.get(index) if self.is_empty(): - return Detections.empty() + return self if isinstance(index, int): index = [index] return Detections( From 6d8d4fdddb90f09eb20305765e461abcc2ac77f2 Mon Sep 17 00:00:00 2001 From: "pre-commit-ci[bot]" <66853113+pre-commit-ci[bot]@users.noreply.github.com> Date: Mon, 6 Jan 2025 18:03:46 +0000 Subject: [PATCH 090/420] =?UTF-8?q?chore(pre=5Fcommit):=20=E2=AC=86=20pre?= =?UTF-8?q?=5Fcommit=20autoupdate?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit updates: - [github.com/astral-sh/ruff-pre-commit: v0.8.4 → v0.8.6](https://github.com/astral-sh/ruff-pre-commit/compare/v0.8.4...v0.8.6) --- .pre-commit-config.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index 95c5b86bc7..a4355c4aa0 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -32,7 +32,7 @@ repos: additional_dependencies: ["bandit[toml]"] - repo: https://github.com/astral-sh/ruff-pre-commit - rev: v0.8.4 + rev: v0.8.6 hooks: - id: ruff args: [--fix, --exit-non-zero-on-fix] From 3f05b107ed8c3ed2c34d49ba2839ce1bc309db55 Mon Sep 17 00:00:00 2001 From: Onuralp SEZER Date: Tue, 7 Jan 2025 01:39:26 +0300 Subject: [PATCH 091/420] =?UTF-8?q?refactor:=20=F0=9F=9B=A0=EF=B8=8F=20upd?= =?UTF-8?q?ate=20numpy,=20scipy,=20and=20matplotlib=20dependencies=20for?= =?UTF-8?q?=20improved=20version=20compatibility=20across=20Python=20versi?= =?UTF-8?q?ons?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- poetry.lock | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/poetry.lock b/poetry.lock index b86364a612..1981d5a6ad 100644 --- a/poetry.lock +++ b/poetry.lock @@ -2901,9 +2901,9 @@ numpy = [ {version = ">=1.21.0", markers = "python_version <= \"3.9\" and platform_system == \"Darwin\" and platform_machine == \"arm64\" and python_version >= \"3.8\""}, {version = ">=1.19.3", markers = "platform_system == \"Linux\" and platform_machine == \"aarch64\" and python_version >= \"3.8\" and python_version < \"3.10\" or python_version > \"3.9\" and python_version < \"3.10\" or python_version >= \"3.9\" and platform_system != \"Darwin\" and python_version < \"3.10\" or python_version >= \"3.9\" and platform_machine != \"arm64\" and python_version < \"3.10\""}, {version = ">=1.17.3", markers = "(platform_system != \"Darwin\" and platform_system != \"Linux\") and python_version >= \"3.8\" and python_version < \"3.9\" or platform_system != \"Darwin\" and python_version >= \"3.8\" and python_version < \"3.9\" and platform_machine != \"aarch64\" or platform_machine != \"arm64\" and python_version >= \"3.8\" and python_version < \"3.9\" and platform_system != \"Linux\" or (platform_machine != \"arm64\" and platform_machine != \"aarch64\") and python_version >= \"3.8\" and python_version < \"3.9\""}, - {version = ">=1.23.5", markers = "python_version >= \"3.11\" and python_version < \"3.12\""}, {version = ">=1.21.4", markers = "python_version >= \"3.10\" and platform_system == \"Darwin\" and python_version < \"3.11\""}, {version = ">=1.21.2", markers = "platform_system != \"Darwin\" and python_version >= \"3.10\" and python_version < \"3.11\""}, + {version = ">=1.23.5", markers = "python_version >= \"3.11\" and python_version < \"3.12\""}, ] [[package]] @@ -2988,8 +2988,8 @@ files = [ [package.dependencies] numpy = [ {version = ">=1.20.3", markers = "python_version < \"3.10\""}, - {version = ">=1.23.2", markers = "python_version >= \"3.11\""}, {version = ">=1.21.0", markers = "python_version >= \"3.10\" and python_version < \"3.11\""}, + {version = ">=1.23.2", markers = "python_version >= \"3.11\""}, ] python-dateutil = ">=2.8.2" pytz = ">=2020.1" @@ -3381,15 +3381,15 @@ markers = {build = "(python_version <= \"3.11\" or python_version >= \"3.12\") a [[package]] name = "pygments" -version = "2.19.0" +version = "2.19.1" description = "Pygments is a syntax highlighting package written in Python." optional = false python-versions = ">=3.8" groups = ["build", "dev", "docs"] markers = "python_version <= \"3.11\" or python_version >= \"3.12\"" files = [ - {file = "pygments-2.19.0-py3-none-any.whl", hash = "sha256:4755e6e64d22161d5b61432c0600c923c5927214e7c956e31c23923c89251a9b"}, - {file = "pygments-2.19.0.tar.gz", hash = "sha256:afc4146269910d4bdfabcd27c24923137a74d562a23a320a41a55ad303e19783"}, + {file = "pygments-2.19.1-py3-none-any.whl", hash = "sha256:9ea1544ad55cecf4b8242fab6dd35a93bbce657034b0611ee383099054ab6d8c"}, + {file = "pygments-2.19.1.tar.gz", hash = "sha256:61c16d2a8576dc0649d9f39e089b5f02bcd27fba10d8fb4dcc28173f7a45151f"}, ] [package.extras] From ba7760f9adad2690c60d40ce87246ee0994442c2 Mon Sep 17 00:00:00 2001 From: Onuralp SEZER Date: Tue, 7 Jan 2025 04:40:03 +0300 Subject: [PATCH 092/420] =?UTF-8?q?refactor:=20=F0=9F=9B=A0=EF=B8=8F=20enh?= =?UTF-8?q?ance=20numpy=20dependency=20specifications=20for=20improved=20v?= =?UTF-8?q?ersion=20compatibility=20across=20Python=20versions?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- poetry.lock | 327 ++++++++++++++++++++++++++++++++----------------- pyproject.toml | 28 ++--- 2 files changed, 227 insertions(+), 128 deletions(-) diff --git a/poetry.lock b/poetry.lock index 1981d5a6ad..09ce4653da 100644 --- a/poetry.lock +++ b/poetry.lock @@ -31,7 +31,7 @@ description = "Disable App Nap on macOS >= 10.9" optional = false python-versions = ">=3.6" groups = ["dev", "docs"] -markers = "(python_version <= \"3.11\" or python_version >= \"3.12\") and (sys_platform == \"darwin\" or platform_system == \"Darwin\")" +markers = "(python_version <= \"3.11\" or python_version >= \"3.12\") and (platform_system == \"Darwin\" or sys_platform == \"darwin\")" files = [ {file = "appnope-0.1.4-py2.py3-none-any.whl", hash = "sha256:502575ee11cd7a28c0205f379b525beefebab9d161b7c964670864014ed7213c"}, {file = "appnope-0.1.4.tar.gz", hash = "sha256:1de3860566df9caf38f01f86f65e0e13e379af54f9e4bee1e66b48f2efffd1ee"}, @@ -229,7 +229,7 @@ description = "Backport of CPython tarfile module" optional = false python-versions = ">=3.8" groups = ["build"] -markers = "python_version <= \"3.11\" and (python_version < \"3.9\" or platform_machine != \"ppc64le\" and platform_machine != \"s390x\") and (platform_machine == \"arm64\" or platform_machine == \"aarch64\" or platform_machine != \"ppc64le\" and platform_machine != \"s390x\") and (platform_machine == \"arm64\" or platform_machine == \"aarch64\" or platform_system != \"Linux\" or platform_machine != \"ppc64le\" and platform_machine != \"s390x\" and platform_machine != \"aarch64\" or python_version >= \"3.9\") and (platform_machine == \"arm64\" or platform_machine == \"aarch64\" or platform_system != \"Darwin\" or platform_machine != \"ppc64le\" and platform_machine != \"s390x\" and platform_machine != \"arm64\" or python_version >= \"3.9\")" +markers = "python_version <= \"3.11\" and (platform_machine == \"arm64\" or platform_machine == \"aarch64\" or platform_machine != \"ppc64le\" and platform_machine != \"s390x\") and (platform_machine == \"arm64\" or platform_machine == \"aarch64\" or platform_system != \"Darwin\" or platform_machine != \"ppc64le\" and platform_machine != \"s390x\" and platform_machine != \"arm64\" or python_version >= \"3.9\") and (platform_machine == \"arm64\" or platform_machine == \"aarch64\" or platform_system != \"Linux\" or platform_machine != \"ppc64le\" and platform_machine != \"s390x\" and platform_machine != \"aarch64\" or python_version >= \"3.9\")" files = [ {file = "backports.tarfile-1.2.0-py3-none-any.whl", hash = "sha256:77e284d754527b01fb1e6fa8a1afe577858ebe4e9dad8919e34c862cb399bc34"}, {file = "backports_tarfile-1.2.0.tar.gz", hash = "sha256:d75e02c268746e1b8144c278978b6e98e85de6ad16f8e4b0844a154557eca991"}, @@ -457,24 +457,11 @@ files = [ {file = "cffi-1.17.1-cp39-cp39-win_amd64.whl", hash = "sha256:d016c76bdd850f3c626af19b0542c9677ba156e4ee4fccfdd7848803533ef662"}, {file = "cffi-1.17.1.tar.gz", hash = "sha256:1c39c6016c32bc48dd54561950ebd6836e1670f2ae46128f67cf49e789c52824"}, ] -markers = {build = "(python_version <= \"3.11\" or python_version >= \"3.12\") and sys_platform == \"linux\" and platform_python_implementation != \"PyPy\" and (platform_machine != \"ppc64le\" and platform_machine != \"s390x\" or python_version < \"3.9\") and (platform_machine == \"arm64\" or platform_machine == \"aarch64\" or platform_machine != \"ppc64le\" and platform_machine != \"s390x\") and (platform_machine == \"arm64\" or platform_machine == \"aarch64\" or platform_system != \"Linux\" or platform_machine != \"ppc64le\" and platform_machine != \"s390x\" and platform_machine != \"aarch64\" or python_version >= \"3.9\") and (platform_machine == \"arm64\" or platform_machine == \"aarch64\" or platform_system != \"Darwin\" or platform_machine != \"ppc64le\" and platform_machine != \"s390x\" and platform_machine != \"arm64\" or python_version >= \"3.9\")", dev = "python_version <= \"3.11\" or python_version >= \"3.12\"", docs = "python_version <= \"3.11\" or python_version >= \"3.12\""} +markers = {build = "sys_platform == \"linux\" and (platform_machine != \"ppc64le\" and platform_machine != \"s390x\" or python_version <= \"3.11\") and platform_python_implementation != \"PyPy\" and (python_version <= \"3.11\" or python_version >= \"3.12\") and (platform_machine == \"arm64\" or platform_machine == \"aarch64\" or platform_machine != \"ppc64le\" and platform_machine != \"s390x\") and (platform_machine == \"arm64\" or platform_machine == \"aarch64\" or platform_system != \"Darwin\" or platform_machine != \"ppc64le\" and platform_machine != \"s390x\" and platform_machine != \"arm64\" or python_version >= \"3.9\") and (platform_machine == \"arm64\" or platform_machine == \"aarch64\" or platform_system != \"Linux\" or platform_machine != \"ppc64le\" and platform_machine != \"s390x\" and platform_machine != \"aarch64\" or python_version >= \"3.9\")", dev = "python_version <= \"3.11\" or python_version >= \"3.12\"", docs = "python_version <= \"3.11\" or python_version >= \"3.12\""} [package.dependencies] pycparser = "*" -[[package]] -name = "cfgv" -version = "3.4.0" -description = "Validate configuration and produce human readable error messages." -optional = false -python-versions = ">=3.8" -groups = ["dev"] -markers = "python_version <= \"3.11\" or python_version >= \"3.12\"" -files = [ - {file = "cfgv-3.4.0-py2.py3-none-any.whl", hash = "sha256:b7265b1f29fd3316bfcd2b330d63d024f2bfd8bcb8b0272f8e19a504856c48f9"}, - {file = "cfgv-3.4.0.tar.gz", hash = "sha256:e52591d4c5f5dead8e0f673fb16db7949d2cfb3f7da4582893288f0ded8fe560"}, -] - [[package]] name = "chardet" version = "5.2.0" @@ -646,7 +633,7 @@ description = "Python library for calculating contours of 2D quadrilateral grids optional = false python-versions = ">=3.8" groups = ["main"] -markers = "python_version >= \"3.12\"" +markers = "python_version >= \"3.13\"" files = [ {file = "contourpy-1.1.0-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:89f06eff3ce2f4b3eb24c1055a26981bffe4e7264acd86f15b97e40530b794bc"}, {file = "contourpy-1.1.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:dffcc2ddec1782dd2f2ce1ef16f070861af4fb78c69862ce0aab801495dda6a3"}, @@ -710,7 +697,7 @@ description = "Python library for calculating contours of 2D quadrilateral grids optional = false python-versions = ">=3.8" groups = ["main"] -markers = "python_version <= \"3.11\"" +markers = "python_version <= \"3.11\" or python_version >= \"3.12\" and python_version < \"3.13\"" files = [ {file = "contourpy-1.1.1-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:46e24f5412c948d81736509377e255f6040e94216bf1a9b5ea1eaa9d29f6ec1b"}, {file = "contourpy-1.1.1-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:0e48694d6a9c5a26ee85b10130c77a011a4fedf50a7279fa0bdaf44bafb4299d"}, @@ -767,7 +754,10 @@ files = [ ] [package.dependencies] -numpy = {version = ">=1.16,<2.0", markers = "python_version <= \"3.11\""} +numpy = [ + {version = ">=1.16,<2.0", markers = "python_version <= \"3.11\""}, + {version = ">=1.26.0rc1,<2.0", markers = "python_version >= \"3.12\""}, +] [package.extras] bokeh = ["bokeh", "selenium"] @@ -783,7 +773,7 @@ description = "cryptography is a package which provides cryptographic recipes an optional = false python-versions = ">=3.7" groups = ["build"] -markers = "(python_version <= \"3.11\" or python_version >= \"3.12\") and sys_platform == \"linux\" and (platform_machine != \"ppc64le\" and platform_machine != \"s390x\" or python_version < \"3.9\") and (platform_machine == \"arm64\" or platform_machine == \"aarch64\" or platform_machine != \"ppc64le\" and platform_machine != \"s390x\") and (platform_machine == \"arm64\" or platform_machine == \"aarch64\" or platform_system != \"Linux\" or platform_machine != \"ppc64le\" and platform_machine != \"s390x\" and platform_machine != \"aarch64\" or python_version >= \"3.9\") and (platform_machine == \"arm64\" or platform_machine == \"aarch64\" or platform_system != \"Darwin\" or platform_machine != \"ppc64le\" and platform_machine != \"s390x\" and platform_machine != \"arm64\" or python_version >= \"3.9\")" +markers = "sys_platform == \"linux\" and (platform_machine != \"ppc64le\" and platform_machine != \"s390x\" or python_version <= \"3.11\") and (python_version <= \"3.11\" or python_version >= \"3.12\") and (platform_machine == \"arm64\" or platform_machine == \"aarch64\" or platform_machine != \"ppc64le\" and platform_machine != \"s390x\") and (platform_machine == \"arm64\" or platform_machine == \"aarch64\" or platform_system != \"Darwin\" or platform_machine != \"ppc64le\" and platform_machine != \"s390x\" and platform_machine != \"arm64\" or python_version >= \"3.9\") and (platform_machine == \"arm64\" or platform_machine == \"aarch64\" or platform_system != \"Linux\" or platform_machine != \"ppc64le\" and platform_machine != \"s390x\" and platform_machine != \"aarch64\" or python_version >= \"3.9\")" files = [ {file = "cryptography-43.0.3-cp37-abi3-macosx_10_9_universal2.whl", hash = "sha256:bf7a1932ac4176486eab36a19ed4c0492da5d97123f1406cf15e41b05e787d2e"}, {file = "cryptography-43.0.3-cp37-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:63efa177ff54aec6e1c0aefaa1a241232dcd37413835a9b674b6e3f0ae2bfd3e"}, @@ -948,25 +938,12 @@ description = "Docutils -- Python Documentation Utilities" optional = false python-versions = ">=3.7" groups = ["build", "dev"] -markers = "python_version < \"3.9\"" +markers = "python_version <= \"3.11\" or python_version >= \"3.12\"" files = [ {file = "docutils-0.20.1-py3-none-any.whl", hash = "sha256:96f387a2c5562db4476f09f13bbab2192e764cac08ebbf3a34a95d9b1e4a59d6"}, {file = "docutils-0.20.1.tar.gz", hash = "sha256:f08a4e276c3a1583a86dce3e34aba3fe04d02bba2dd51ed16106244e8a923e3b"}, ] -[[package]] -name = "docutils" -version = "0.21.2" -description = "Docutils -- Python Documentation Utilities" -optional = false -python-versions = ">=3.9" -groups = ["build", "dev"] -markers = "python_version >= \"3.9\" and python_version <= \"3.11\" or python_version >= \"3.12\"" -files = [ - {file = "docutils-0.21.2-py3-none-any.whl", hash = "sha256:dafca5b9e384f0e419294eb4d2ff9fa826435bf15f15b7bd45723e8ad76811b2"}, - {file = "docutils-0.21.2.tar.gz", hash = "sha256:3a6b18732edf182daa3cd12775bbb338cf5691468f91eeeb109deff6ebfa986f"}, -] - [[package]] name = "exceptiongroup" version = "1.2.2" @@ -1255,22 +1232,6 @@ http2 = ["h2 (>=3,<5)"] socks = ["socksio (==1.*)"] zstd = ["zstandard (>=0.18.0)"] -[[package]] -name = "identify" -version = "2.6.1" -description = "File identification library for Python" -optional = false -python-versions = ">=3.8" -groups = ["dev"] -markers = "python_version <= \"3.11\" or python_version >= \"3.12\"" -files = [ - {file = "identify-2.6.1-py2.py3-none-any.whl", hash = "sha256:53863bcac7caf8d2ed85bd20312ea5dcfc22226800f6d6881f232d861db5a8f0"}, - {file = "identify-2.6.1.tar.gz", hash = "sha256:91478c5fb7c3aac5ff7bf9b4344f803843dc586832d5f110d672b19aa1984c98"}, -] - -[package.extras] -license = ["ukkonen"] - [[package]] name = "idna" version = "3.10" @@ -1323,7 +1284,7 @@ files = [ {file = "importlib_resources-6.4.5-py3-none-any.whl", hash = "sha256:ac29d5f956f01d5e4bb63102a5a19957f1b9175e45649977264a1416783bb717"}, {file = "importlib_resources-6.4.5.tar.gz", hash = "sha256:980862a1d16c9e147a59603677fa2aa5fd82b87f223b6cb870695bcfce830065"}, ] -markers = {main = "python_version < \"3.10\"", build = "python_version < \"3.9\" and (platform_machine == \"arm64\" or platform_machine == \"aarch64\" or platform_machine != \"ppc64le\" and platform_machine != \"s390x\") and (platform_machine == \"arm64\" or platform_machine == \"aarch64\" or platform_system != \"Linux\" or platform_machine != \"ppc64le\" and platform_machine != \"s390x\" and platform_machine != \"aarch64\") and (platform_machine == \"arm64\" or platform_machine == \"aarch64\" or platform_system != \"Darwin\" or platform_machine != \"ppc64le\" and platform_machine != \"s390x\" and platform_machine != \"arm64\")", dev = "python_version < \"3.9\"", docs = "python_version <= \"3.11\" or python_version >= \"3.12\""} +markers = {main = "python_version < \"3.10\"", build = "python_version < \"3.9\" and (platform_machine == \"arm64\" or platform_machine == \"aarch64\" or platform_machine != \"ppc64le\" and platform_machine != \"s390x\") and (platform_machine == \"arm64\" or platform_machine == \"aarch64\" or platform_system != \"Darwin\" or platform_machine != \"ppc64le\" and platform_machine != \"s390x\" and platform_machine != \"arm64\") and (platform_machine == \"arm64\" or platform_machine == \"aarch64\" or platform_system != \"Linux\" or platform_machine != \"ppc64le\" and platform_machine != \"s390x\" and platform_machine != \"aarch64\")", dev = "python_version < \"3.9\"", docs = "python_version <= \"3.11\" or python_version >= \"3.12\""} [package.dependencies] zipp = {version = ">=3.1.0", markers = "python_version < \"3.10\""} @@ -1471,7 +1432,7 @@ description = "Utility functions for Python class constructs" optional = false python-versions = ">=3.8" groups = ["build"] -markers = "(python_version <= \"3.11\" or python_version >= \"3.12\") and (platform_machine != \"ppc64le\" and platform_machine != \"s390x\" or python_version < \"3.9\") and (platform_machine == \"arm64\" or platform_machine == \"aarch64\" or platform_machine != \"ppc64le\" and platform_machine != \"s390x\") and (platform_machine == \"arm64\" or platform_machine == \"aarch64\" or platform_system != \"Linux\" or platform_machine != \"ppc64le\" and platform_machine != \"s390x\" and platform_machine != \"aarch64\" or python_version >= \"3.9\") and (platform_machine == \"arm64\" or platform_machine == \"aarch64\" or platform_system != \"Darwin\" or platform_machine != \"ppc64le\" and platform_machine != \"s390x\" and platform_machine != \"arm64\" or python_version >= \"3.9\")" +markers = "(platform_machine != \"ppc64le\" and platform_machine != \"s390x\" or python_version <= \"3.11\") and (python_version <= \"3.11\" or python_version >= \"3.12\") and (platform_machine == \"arm64\" or platform_machine == \"aarch64\" or platform_machine != \"ppc64le\" and platform_machine != \"s390x\") and (platform_machine == \"arm64\" or platform_machine == \"aarch64\" or platform_system != \"Darwin\" or platform_machine != \"ppc64le\" and platform_machine != \"s390x\" and platform_machine != \"arm64\" or python_version >= \"3.9\") and (platform_machine == \"arm64\" or platform_machine == \"aarch64\" or platform_system != \"Linux\" or platform_machine != \"ppc64le\" and platform_machine != \"s390x\" and platform_machine != \"aarch64\" or python_version >= \"3.9\")" files = [ {file = "jaraco.classes-3.4.0-py3-none-any.whl", hash = "sha256:f662826b6bed8cace05e7ff873ce0f9283b5c924470fe664fff1c2f00f581790"}, {file = "jaraco.classes-3.4.0.tar.gz", hash = "sha256:47a024b51d0239c0dd8c8540c6c7f484be3b8fcf0b2d85c13825780d3b3f3acd"}, @@ -1491,7 +1452,7 @@ description = "Useful decorators and context managers" optional = false python-versions = ">=3.8" groups = ["build"] -markers = "(python_version <= \"3.11\" or python_version >= \"3.12\") and (platform_machine != \"ppc64le\" and platform_machine != \"s390x\" or python_version < \"3.9\") and (platform_machine == \"arm64\" or platform_machine == \"aarch64\" or platform_machine != \"ppc64le\" and platform_machine != \"s390x\") and (platform_machine == \"arm64\" or platform_machine == \"aarch64\" or platform_system != \"Linux\" or platform_machine != \"ppc64le\" and platform_machine != \"s390x\" and platform_machine != \"aarch64\" or python_version >= \"3.9\") and (platform_machine == \"arm64\" or platform_machine == \"aarch64\" or platform_system != \"Darwin\" or platform_machine != \"ppc64le\" and platform_machine != \"s390x\" and platform_machine != \"arm64\" or python_version >= \"3.9\")" +markers = "(platform_machine != \"ppc64le\" and platform_machine != \"s390x\" or python_version <= \"3.11\") and (python_version <= \"3.11\" or python_version >= \"3.12\") and (platform_machine == \"arm64\" or platform_machine == \"aarch64\" or platform_machine != \"ppc64le\" and platform_machine != \"s390x\") and (platform_machine == \"arm64\" or platform_machine == \"aarch64\" or platform_system != \"Darwin\" or platform_machine != \"ppc64le\" and platform_machine != \"s390x\" and platform_machine != \"arm64\" or python_version >= \"3.9\") and (platform_machine == \"arm64\" or platform_machine == \"aarch64\" or platform_system != \"Linux\" or platform_machine != \"ppc64le\" and platform_machine != \"s390x\" and platform_machine != \"aarch64\" or python_version >= \"3.9\")" files = [ {file = "jaraco.context-6.0.1-py3-none-any.whl", hash = "sha256:f797fc481b490edb305122c9181830a3a5b76d84ef6d1aef2fb9b47ab956f9e4"}, {file = "jaraco_context-6.0.1.tar.gz", hash = "sha256:9bae4ea555cf0b14938dc0aee7c9f32ed303aa20a3b73e7dc80111628792d1b3"}, @@ -1511,7 +1472,7 @@ description = "Functools like those found in stdlib" optional = false python-versions = ">=3.8" groups = ["build"] -markers = "(python_version <= \"3.11\" or python_version >= \"3.12\") and (platform_machine != \"ppc64le\" and platform_machine != \"s390x\" or python_version < \"3.9\") and (platform_machine == \"arm64\" or platform_machine == \"aarch64\" or platform_machine != \"ppc64le\" and platform_machine != \"s390x\") and (platform_machine == \"arm64\" or platform_machine == \"aarch64\" or platform_system != \"Linux\" or platform_machine != \"ppc64le\" and platform_machine != \"s390x\" and platform_machine != \"aarch64\" or python_version >= \"3.9\") and (platform_machine == \"arm64\" or platform_machine == \"aarch64\" or platform_system != \"Darwin\" or platform_machine != \"ppc64le\" and platform_machine != \"s390x\" and platform_machine != \"arm64\" or python_version >= \"3.9\")" +markers = "(platform_machine != \"ppc64le\" and platform_machine != \"s390x\" or python_version <= \"3.11\") and (python_version <= \"3.11\" or python_version >= \"3.12\") and (platform_machine == \"arm64\" or platform_machine == \"aarch64\" or platform_machine != \"ppc64le\" and platform_machine != \"s390x\") and (platform_machine == \"arm64\" or platform_machine == \"aarch64\" or platform_system != \"Darwin\" or platform_machine != \"ppc64le\" and platform_machine != \"s390x\" and platform_machine != \"arm64\" or python_version >= \"3.9\") and (platform_machine == \"arm64\" or platform_machine == \"aarch64\" or platform_system != \"Linux\" or platform_machine != \"ppc64le\" and platform_machine != \"s390x\" and platform_machine != \"aarch64\" or python_version >= \"3.9\")" files = [ {file = "jaraco.functools-4.1.0-py3-none-any.whl", hash = "sha256:ad159f13428bc4acbf5541ad6dec511f91573b90fba04df61dafa2a1231cf649"}, {file = "jaraco_functools-4.1.0.tar.gz", hash = "sha256:70f7e0e2ae076498e212562325e805204fc092d7b4c17e0e86c959e249701a9d"}, @@ -1556,7 +1517,7 @@ description = "Low-level, pure Python DBus protocol wrapper." optional = false python-versions = ">=3.7" groups = ["build"] -markers = "(python_version <= \"3.11\" or python_version >= \"3.12\") and sys_platform == \"linux\" and (platform_machine != \"ppc64le\" and platform_machine != \"s390x\" or python_version < \"3.9\") and (platform_machine == \"arm64\" or platform_machine == \"aarch64\" or platform_machine != \"ppc64le\" and platform_machine != \"s390x\") and (platform_machine == \"arm64\" or platform_machine == \"aarch64\" or platform_system != \"Linux\" or platform_machine != \"ppc64le\" and platform_machine != \"s390x\" and platform_machine != \"aarch64\" or python_version >= \"3.9\") and (platform_machine == \"arm64\" or platform_machine == \"aarch64\" or platform_system != \"Darwin\" or platform_machine != \"ppc64le\" and platform_machine != \"s390x\" and platform_machine != \"arm64\" or python_version >= \"3.9\")" +markers = "sys_platform == \"linux\" and (platform_machine != \"ppc64le\" and platform_machine != \"s390x\" or python_version <= \"3.11\") and (python_version <= \"3.11\" or python_version >= \"3.12\") and (platform_machine == \"arm64\" or platform_machine == \"aarch64\" or platform_machine != \"ppc64le\" and platform_machine != \"s390x\") and (platform_machine == \"arm64\" or platform_machine == \"aarch64\" or platform_system != \"Darwin\" or platform_machine != \"ppc64le\" and platform_machine != \"s390x\" and platform_machine != \"arm64\" or python_version >= \"3.9\") and (platform_machine == \"arm64\" or platform_machine == \"aarch64\" or platform_system != \"Linux\" or platform_machine != \"ppc64le\" and platform_machine != \"s390x\" and platform_machine != \"aarch64\" or python_version >= \"3.9\")" files = [ {file = "jeepney-0.8.0-py3-none-any.whl", hash = "sha256:c0a454ad016ca575060802ee4d590dd912e35c122fa04e70306de3d076cce755"}, {file = "jeepney-0.8.0.tar.gz", hash = "sha256:5efe48d255973902f6badc3ce55e2aa6c5c3b3bc642059ef3a91247bcfcc5806"}, @@ -1944,7 +1905,7 @@ description = "Store and access your passwords safely." optional = false python-versions = ">=3.8" groups = ["build"] -markers = "(python_version <= \"3.11\" or python_version >= \"3.12\") and (platform_machine != \"ppc64le\" and platform_machine != \"s390x\" or python_version < \"3.9\") and (platform_machine == \"arm64\" or platform_machine == \"aarch64\" or platform_machine != \"ppc64le\" and platform_machine != \"s390x\") and (platform_machine == \"arm64\" or platform_machine == \"aarch64\" or platform_system != \"Linux\" or platform_machine != \"ppc64le\" and platform_machine != \"s390x\" and platform_machine != \"aarch64\" or python_version >= \"3.9\") and (platform_machine == \"arm64\" or platform_machine == \"aarch64\" or platform_system != \"Darwin\" or platform_machine != \"ppc64le\" and platform_machine != \"s390x\" and platform_machine != \"arm64\" or python_version >= \"3.9\")" +markers = "(platform_machine != \"ppc64le\" and platform_machine != \"s390x\" or python_version <= \"3.11\") and (python_version <= \"3.11\" or python_version >= \"3.12\") and (platform_machine == \"arm64\" or platform_machine == \"aarch64\" or platform_machine != \"ppc64le\" and platform_machine != \"s390x\") and (platform_machine == \"arm64\" or platform_machine == \"aarch64\" or platform_system != \"Darwin\" or platform_machine != \"ppc64le\" and platform_machine != \"s390x\" and platform_machine != \"arm64\" or python_version >= \"3.9\") and (platform_machine == \"arm64\" or platform_machine == \"aarch64\" or platform_system != \"Linux\" or platform_machine != \"ppc64le\" and platform_machine != \"s390x\" and platform_machine != \"aarch64\" or python_version >= \"3.9\")" files = [ {file = "keyring-25.5.0-py3-none-any.whl", hash = "sha256:e67f8ac32b04be4714b42fe84ce7dad9c40985b9ca827c592cc303e7c26d9741"}, {file = "keyring-25.5.0.tar.gz", hash = "sha256:4c753b3ec91717fe713c4edd522d625889d8973a349b0e582622f49766de58e6"}, @@ -2211,6 +2172,70 @@ files = [ {file = "MarkupSafe-2.1.5.tar.gz", hash = "sha256:d283d37a890ba4c1ae73ffadf8046435c76e7bc2247bbb63c00bd1a709c6544b"}, ] +[[package]] +name = "matplotlib" +version = "3.7.2" +description = "Python plotting package" +optional = false +python-versions = ">=3.8" +groups = ["main"] +markers = "python_version >= \"3.13\"" +files = [ + {file = "matplotlib-3.7.2-cp310-cp310-macosx_10_12_universal2.whl", hash = "sha256:2699f7e73a76d4c110f4f25be9d2496d6ab4f17345307738557d345f099e07de"}, + {file = "matplotlib-3.7.2-cp310-cp310-macosx_10_12_x86_64.whl", hash = "sha256:a8035ba590658bae7562786c9cc6ea1a84aa49d3afab157e414c9e2ea74f496d"}, + {file = "matplotlib-3.7.2-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:2f8e4a49493add46ad4a8c92f63e19d548b2b6ebbed75c6b4c7f46f57d36cdd1"}, + {file = "matplotlib-3.7.2-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:71667eb2ccca4c3537d9414b1bc00554cb7f91527c17ee4ec38027201f8f1603"}, + {file = "matplotlib-3.7.2-cp310-cp310-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:152ee0b569a37630d8628534c628456b28686e085d51394da6b71ef84c4da201"}, + {file = "matplotlib-3.7.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:070f8dddd1f5939e60aacb8fa08f19551f4b0140fab16a3669d5cd6e9cb28fc8"}, + {file = "matplotlib-3.7.2-cp310-cp310-win32.whl", hash = "sha256:fdbb46fad4fb47443b5b8ac76904b2e7a66556844f33370861b4788db0f8816a"}, + {file = "matplotlib-3.7.2-cp310-cp310-win_amd64.whl", hash = "sha256:23fb1750934e5f0128f9423db27c474aa32534cec21f7b2153262b066a581fd1"}, + {file = "matplotlib-3.7.2-cp311-cp311-macosx_10_12_universal2.whl", hash = "sha256:30e1409b857aa8a747c5d4f85f63a79e479835f8dffc52992ac1f3f25837b544"}, + {file = "matplotlib-3.7.2-cp311-cp311-macosx_10_12_x86_64.whl", hash = "sha256:50e0a55ec74bf2d7a0ebf50ac580a209582c2dd0f7ab51bc270f1b4a0027454e"}, + {file = "matplotlib-3.7.2-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:ac60daa1dc83e8821eed155796b0f7888b6b916cf61d620a4ddd8200ac70cd64"}, + {file = "matplotlib-3.7.2-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:305e3da477dc8607336ba10bac96986d6308d614706cae2efe7d3ffa60465b24"}, + {file = "matplotlib-3.7.2-cp311-cp311-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:1c308b255efb9b06b23874236ec0f10f026673ad6515f602027cc8ac7805352d"}, + {file = "matplotlib-3.7.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:60c521e21031632aa0d87ca5ba0c1c05f3daacadb34c093585a0be6780f698e4"}, + {file = "matplotlib-3.7.2-cp311-cp311-win32.whl", hash = "sha256:26bede320d77e469fdf1bde212de0ec889169b04f7f1179b8930d66f82b30cbc"}, + {file = "matplotlib-3.7.2-cp311-cp311-win_amd64.whl", hash = "sha256:af4860132c8c05261a5f5f8467f1b269bf1c7c23902d75f2be57c4a7f2394b3e"}, + {file = "matplotlib-3.7.2-cp38-cp38-macosx_10_12_universal2.whl", hash = "sha256:a1733b8e84e7e40a9853e505fe68cc54339f97273bdfe6f3ed980095f769ddc7"}, + {file = "matplotlib-3.7.2-cp38-cp38-macosx_10_12_x86_64.whl", hash = "sha256:d9881356dc48e58910c53af82b57183879129fa30492be69058c5b0d9fddf391"}, + {file = "matplotlib-3.7.2-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:f081c03f413f59390a80b3e351cc2b2ea0205839714dbc364519bcf51f4b56ca"}, + {file = "matplotlib-3.7.2-cp38-cp38-manylinux_2_12_i686.manylinux2010_i686.whl", hash = "sha256:1cd120fca3407a225168238b790bd5c528f0fafde6172b140a2f3ab7a4ea63e9"}, + {file = "matplotlib-3.7.2-cp38-cp38-manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:a2c1590b90aa7bd741b54c62b78de05d4186271e34e2377e0289d943b3522273"}, + {file = "matplotlib-3.7.2-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:6d2ff3c984b8a569bc1383cd468fc06b70d7b59d5c2854ca39f1436ae8394117"}, + {file = "matplotlib-3.7.2-cp38-cp38-win32.whl", hash = "sha256:5dea00b62d28654b71ca92463656d80646675628d0828e08a5f3b57e12869e13"}, + {file = "matplotlib-3.7.2-cp38-cp38-win_amd64.whl", hash = "sha256:0f506a1776ee94f9e131af1ac6efa6e5bc7cb606a3e389b0ccb6e657f60bb676"}, + {file = "matplotlib-3.7.2-cp39-cp39-macosx_10_12_universal2.whl", hash = "sha256:6515e878f91894c2e4340d81f0911857998ccaf04dbc1bba781e3d89cbf70608"}, + {file = "matplotlib-3.7.2-cp39-cp39-macosx_10_12_x86_64.whl", hash = "sha256:71f7a8c6b124e904db550f5b9fe483d28b896d4135e45c4ea381ad3b8a0e3256"}, + {file = "matplotlib-3.7.2-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:12f01b92ecd518e0697da4d97d163b2b3aa55eb3eb4e2c98235b3396d7dad55f"}, + {file = "matplotlib-3.7.2-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a7e28d6396563955f7af437894a36bf2b279462239a41028323e04b85179058b"}, + {file = "matplotlib-3.7.2-cp39-cp39-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:dbcf59334ff645e6a67cd5f78b4b2cdb76384cdf587fa0d2dc85f634a72e1a3e"}, + {file = "matplotlib-3.7.2-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:318c89edde72ff95d8df67d82aca03861240512994a597a435a1011ba18dbc7f"}, + {file = "matplotlib-3.7.2-cp39-cp39-win32.whl", hash = "sha256:ce55289d5659b5b12b3db4dc9b7075b70cef5631e56530f14b2945e8836f2d20"}, + {file = "matplotlib-3.7.2-cp39-cp39-win_amd64.whl", hash = "sha256:2ecb5be2b2815431c81dc115667e33da0f5a1bcf6143980d180d09a717c4a12e"}, + {file = "matplotlib-3.7.2-pp38-pypy38_pp73-macosx_10_12_x86_64.whl", hash = "sha256:fdcd28360dbb6203fb5219b1a5658df226ac9bebc2542a9e8f457de959d713d0"}, + {file = "matplotlib-3.7.2-pp38-pypy38_pp73-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:0c3cca3e842b11b55b52c6fb8bd6a4088693829acbfcdb3e815fa9b7d5c92c1b"}, + {file = "matplotlib-3.7.2-pp38-pypy38_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ebf577c7a6744e9e1bd3fee45fc74a02710b214f94e2bde344912d85e0c9af7c"}, + {file = "matplotlib-3.7.2-pp38-pypy38_pp73-win_amd64.whl", hash = "sha256:936bba394682049919dda062d33435b3be211dc3dcaa011e09634f060ec878b2"}, + {file = "matplotlib-3.7.2-pp39-pypy39_pp73-macosx_10_12_x86_64.whl", hash = "sha256:bc221ffbc2150458b1cd71cdd9ddd5bb37962b036e41b8be258280b5b01da1dd"}, + {file = "matplotlib-3.7.2-pp39-pypy39_pp73-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:35d74ebdb3f71f112b36c2629cf32323adfbf42679e2751252acd468f5001c07"}, + {file = "matplotlib-3.7.2-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:717157e61b3a71d3d26ad4e1770dc85156c9af435659a25ee6407dc866cb258d"}, + {file = "matplotlib-3.7.2-pp39-pypy39_pp73-win_amd64.whl", hash = "sha256:20f844d6be031948148ba49605c8b96dfe7d3711d1b63592830d650622458c11"}, + {file = "matplotlib-3.7.2.tar.gz", hash = "sha256:a8cdb91dddb04436bd2f098b8fdf4b81352e68cf4d2c6756fcc414791076569b"}, +] + +[package.dependencies] +contourpy = ">=1.0.1" +cycler = ">=0.10" +fonttools = ">=4.22.0" +importlib-resources = {version = ">=3.2.0", markers = "python_version < \"3.10\""} +kiwisolver = ">=1.0.1" +numpy = ">=1.20" +packaging = ">=20.0" +pillow = ">=6.2.0" +pyparsing = ">=2.3.1,<3.1" +python-dateutil = ">=2.7" + [[package]] name = "matplotlib" version = "3.7.5" @@ -2218,7 +2243,7 @@ description = "Python plotting package" optional = false python-versions = ">=3.8" groups = ["main"] -markers = "python_version <= \"3.11\" or python_version >= \"3.12\"" +markers = "python_version <= \"3.11\" or python_version >= \"3.12\" and python_version < \"3.13\"" files = [ {file = "matplotlib-3.7.5-cp310-cp310-macosx_10_12_universal2.whl", hash = "sha256:4a87b69cb1cb20943010f63feb0b2901c17a3b435f75349fd9865713bfa63925"}, {file = "matplotlib-3.7.5-cp310-cp310-macosx_10_12_x86_64.whl", hash = "sha256:d3ce45010fefb028359accebb852ca0c21bd77ec0f281952831d235228f15810"}, @@ -2621,7 +2646,7 @@ description = "More routines for operating on iterables, beyond itertools" optional = false python-versions = ">=3.8" groups = ["build"] -markers = "(python_version <= \"3.11\" or python_version >= \"3.12\") and (platform_machine != \"ppc64le\" and platform_machine != \"s390x\" or python_version < \"3.9\") and (platform_machine == \"arm64\" or platform_machine == \"aarch64\" or platform_machine != \"ppc64le\" and platform_machine != \"s390x\") and (platform_machine == \"arm64\" or platform_machine == \"aarch64\" or platform_system != \"Linux\" or platform_machine != \"ppc64le\" and platform_machine != \"s390x\" and platform_machine != \"aarch64\" or python_version >= \"3.9\") and (platform_machine == \"arm64\" or platform_machine == \"aarch64\" or platform_system != \"Darwin\" or platform_machine != \"ppc64le\" and platform_machine != \"s390x\" and platform_machine != \"arm64\" or python_version >= \"3.9\")" +markers = "(platform_machine != \"ppc64le\" and platform_machine != \"s390x\" or python_version <= \"3.11\") and (python_version <= \"3.11\" or python_version >= \"3.12\") and (platform_machine == \"arm64\" or platform_machine == \"aarch64\" or platform_machine != \"ppc64le\" and platform_machine != \"s390x\") and (platform_machine == \"arm64\" or platform_machine == \"aarch64\" or platform_system != \"Darwin\" or platform_machine != \"ppc64le\" and platform_machine != \"s390x\" and platform_machine != \"arm64\" or python_version >= \"3.9\") and (platform_machine == \"arm64\" or platform_machine == \"aarch64\" or platform_system != \"Linux\" or platform_machine != \"ppc64le\" and platform_machine != \"s390x\" and platform_machine != \"aarch64\" or python_version >= \"3.9\")" files = [ {file = "more-itertools-10.5.0.tar.gz", hash = "sha256:5482bfef7849c25dc3c6dd53a6173ae4795da2a41a80faea6700d9f5846c5da6"}, {file = "more_itertools-10.5.0-py3-none-any.whl", hash = "sha256:037b0d3203ce90cca8ab1defbbdac29d5f993fc20131f3664dc8d6acfa872aef"}, @@ -2761,19 +2786,6 @@ files = [ {file = "nh3-0.2.20.tar.gz", hash = "sha256:9705c42d7ff88a0bea546c82d7fe5e59135e3d3f057e485394f491248a1f8ed5"}, ] -[[package]] -name = "nodeenv" -version = "1.9.1" -description = "Node.js virtual environment builder" -optional = false -python-versions = "!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*,!=3.4.*,!=3.5.*,!=3.6.*,>=2.7" -groups = ["dev"] -markers = "python_version <= \"3.11\" or python_version >= \"3.12\"" -files = [ - {file = "nodeenv-1.9.1-py2.py3-none-any.whl", hash = "sha256:ba11c9782d29c27c70ffbdda2d7415098754709be8a7056d79a737cd901155c9"}, - {file = "nodeenv-1.9.1.tar.gz", hash = "sha256:6ec12890a2dab7946721edbfbcd91f3319c6ccc9aec47be7c7e6b7011ee6645f"}, -] - [[package]] name = "notebook" version = "7.3.2" @@ -2825,7 +2837,7 @@ description = "Fundamental package for array computing in Python" optional = false python-versions = ">=3.8" groups = ["main"] -markers = "python_version <= \"3.11\" or python_version >= \"3.12\"" +markers = "python_version <= \"3.11\"" files = [ {file = "numpy-1.24.4-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:c0bfb52d2169d58c1cdb8cc1f16989101639b34c7d3ce60ed70b19c63eba0b64"}, {file = "numpy-1.24.4-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:ed094d4f0c177b1b8e7aa9cba7d6ceed51c0e569a5318ac0ca9a090680a6a1b1"}, @@ -2858,25 +2870,117 @@ files = [ ] [[package]] -name = "opencv-python" -version = "4.8.1.78" -description = "Wrapper package for OpenCV python bindings." +name = "numpy" +version = "1.26.4" +description = "Fundamental package for array computing in Python" optional = false -python-versions = ">=3.6" +python-versions = ">=3.9" groups = ["main"] -markers = "python_version >= \"3.12\"" -files = [ - {file = "opencv-python-4.8.1.78.tar.gz", hash = "sha256:cc7adbbcd1112877a39274106cb2752e04984bc01a031162952e97450d6117f6"}, - {file = "opencv_python-4.8.1.78-cp37-abi3-macosx_10_16_x86_64.whl", hash = "sha256:91d5f6f5209dc2635d496f6b8ca6573ecdad051a09e6b5de4c399b8e673c60da"}, - {file = "opencv_python-4.8.1.78-cp37-abi3-macosx_11_0_arm64.whl", hash = "sha256:bc31f47e05447da8b3089faa0a07ffe80e114c91ce0b171e6424f9badbd1c5cd"}, - {file = "opencv_python-4.8.1.78-cp37-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:9814beca408d3a0eca1bae7e3e5be68b07c17ecceb392b94170881216e09b319"}, - {file = "opencv_python-4.8.1.78-cp37-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:c4c406bdb41eb21ea51b4e90dfbc989c002786c3f601c236a99c59a54670a394"}, - {file = "opencv_python-4.8.1.78-cp37-abi3-win32.whl", hash = "sha256:a7aac3900fbacf55b551e7b53626c3dad4c71ce85643645c43e91fcb19045e47"}, - {file = "opencv_python-4.8.1.78-cp37-abi3-win_amd64.whl", hash = "sha256:b983197f97cfa6fcb74e1da1802c7497a6f94ed561aba6980f1f33123f904956"}, +markers = "python_version >= \"3.12\" and python_version < \"3.13\"" +files = [ + {file = "numpy-1.26.4-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:9ff0f4f29c51e2803569d7a51c2304de5554655a60c5d776e35b4a41413830d0"}, + {file = "numpy-1.26.4-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:2e4ee3380d6de9c9ec04745830fd9e2eccb3e6cf790d39d7b98ffd19b0dd754a"}, + {file = "numpy-1.26.4-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d209d8969599b27ad20994c8e41936ee0964e6da07478d6c35016bc386b66ad4"}, + {file = "numpy-1.26.4-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ffa75af20b44f8dba823498024771d5ac50620e6915abac414251bd971b4529f"}, + {file = "numpy-1.26.4-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:62b8e4b1e28009ef2846b4c7852046736bab361f7aeadeb6a5b89ebec3c7055a"}, + {file = "numpy-1.26.4-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:a4abb4f9001ad2858e7ac189089c42178fcce737e4169dc61321660f1a96c7d2"}, + {file = "numpy-1.26.4-cp310-cp310-win32.whl", hash = "sha256:bfe25acf8b437eb2a8b2d49d443800a5f18508cd811fea3181723922a8a82b07"}, + {file = "numpy-1.26.4-cp310-cp310-win_amd64.whl", hash = "sha256:b97fe8060236edf3662adfc2c633f56a08ae30560c56310562cb4f95500022d5"}, + {file = "numpy-1.26.4-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:4c66707fabe114439db9068ee468c26bbdf909cac0fb58686a42a24de1760c71"}, + {file = "numpy-1.26.4-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:edd8b5fe47dab091176d21bb6de568acdd906d1887a4584a15a9a96a1dca06ef"}, + {file = "numpy-1.26.4-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:7ab55401287bfec946ced39700c053796e7cc0e3acbef09993a9ad2adba6ca6e"}, + {file = "numpy-1.26.4-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:666dbfb6ec68962c033a450943ded891bed2d54e6755e35e5835d63f4f6931d5"}, + {file = "numpy-1.26.4-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:96ff0b2ad353d8f990b63294c8986f1ec3cb19d749234014f4e7eb0112ceba5a"}, + {file = "numpy-1.26.4-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:60dedbb91afcbfdc9bc0b1f3f402804070deed7392c23eb7a7f07fa857868e8a"}, + {file = "numpy-1.26.4-cp311-cp311-win32.whl", hash = "sha256:1af303d6b2210eb850fcf03064d364652b7120803a0b872f5211f5234b399f20"}, + {file = "numpy-1.26.4-cp311-cp311-win_amd64.whl", hash = "sha256:cd25bcecc4974d09257ffcd1f098ee778f7834c3ad767fe5db785be9a4aa9cb2"}, + {file = "numpy-1.26.4-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:b3ce300f3644fb06443ee2222c2201dd3a89ea6040541412b8fa189341847218"}, + {file = "numpy-1.26.4-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:03a8c78d01d9781b28a6989f6fa1bb2c4f2d51201cf99d3dd875df6fbd96b23b"}, + {file = "numpy-1.26.4-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:9fad7dcb1aac3c7f0584a5a8133e3a43eeb2fe127f47e3632d43d677c66c102b"}, + {file = "numpy-1.26.4-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:675d61ffbfa78604709862923189bad94014bef562cc35cf61d3a07bba02a7ed"}, + {file = "numpy-1.26.4-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:ab47dbe5cc8210f55aa58e4805fe224dac469cde56b9f731a4c098b91917159a"}, + {file = "numpy-1.26.4-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:1dda2e7b4ec9dd512f84935c5f126c8bd8b9f2fc001e9f54af255e8c5f16b0e0"}, + {file = "numpy-1.26.4-cp312-cp312-win32.whl", hash = "sha256:50193e430acfc1346175fcbdaa28ffec49947a06918b7b92130744e81e640110"}, + {file = "numpy-1.26.4-cp312-cp312-win_amd64.whl", hash = "sha256:08beddf13648eb95f8d867350f6a018a4be2e5ad54c8d8caed89ebca558b2818"}, + {file = "numpy-1.26.4-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:7349ab0fa0c429c82442a27a9673fc802ffdb7c7775fad780226cb234965e53c"}, + {file = "numpy-1.26.4-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:52b8b60467cd7dd1e9ed082188b4e6bb35aa5cdd01777621a1658910745b90be"}, + {file = "numpy-1.26.4-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d5241e0a80d808d70546c697135da2c613f30e28251ff8307eb72ba696945764"}, + {file = "numpy-1.26.4-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f870204a840a60da0b12273ef34f7051e98c3b5961b61b0c2c1be6dfd64fbcd3"}, + {file = "numpy-1.26.4-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:679b0076f67ecc0138fd2ede3a8fd196dddc2ad3254069bcb9faf9a79b1cebcd"}, + {file = "numpy-1.26.4-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:47711010ad8555514b434df65f7d7b076bb8261df1ca9bb78f53d3b2db02e95c"}, + {file = "numpy-1.26.4-cp39-cp39-win32.whl", hash = "sha256:a354325ee03388678242a4d7ebcd08b5c727033fcff3b2f536aea978e15ee9e6"}, + {file = "numpy-1.26.4-cp39-cp39-win_amd64.whl", hash = "sha256:3373d5d70a5fe74a2c1bb6d2cfd9609ecf686d47a2d7b1d37a8f3b6bf6003aea"}, + {file = "numpy-1.26.4-pp39-pypy39_pp73-macosx_10_9_x86_64.whl", hash = "sha256:afedb719a9dcfc7eaf2287b839d8198e06dcd4cb5d276a3df279231138e83d30"}, + {file = "numpy-1.26.4-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:95a7476c59002f2f6c590b9b7b998306fba6a5aa646b1e22ddfeaf8f78c3a29c"}, + {file = "numpy-1.26.4-pp39-pypy39_pp73-win_amd64.whl", hash = "sha256:7e50d0a0cc3189f9cb0aeb3a6a6af18c16f59f004b866cd2be1c14b36134a4a0"}, + {file = "numpy-1.26.4.tar.gz", hash = "sha256:2a02aba9ed12e4ac4eb3ea9421c420301a0c6460d9830d74a9df87efa4912010"}, ] -[package.dependencies] -numpy = {version = ">=1.23.5", markers = "python_version >= \"3.11\""} +[[package]] +name = "numpy" +version = "2.2.1" +description = "Fundamental package for array computing in Python" +optional = false +python-versions = ">=3.10" +groups = ["main"] +markers = "python_version >= \"3.13\"" +files = [ + {file = "numpy-2.2.1-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:5edb4e4caf751c1518e6a26a83501fda79bff41cc59dac48d70e6d65d4ec4440"}, + {file = "numpy-2.2.1-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:aa3017c40d513ccac9621a2364f939d39e550c542eb2a894b4c8da92b38896ab"}, + {file = "numpy-2.2.1-cp310-cp310-macosx_14_0_arm64.whl", hash = "sha256:61048b4a49b1c93fe13426e04e04fdf5a03f456616f6e98c7576144677598675"}, + {file = "numpy-2.2.1-cp310-cp310-macosx_14_0_x86_64.whl", hash = "sha256:7671dc19c7019103ca44e8d94917eba8534c76133523ca8406822efdd19c9308"}, + {file = "numpy-2.2.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:4250888bcb96617e00bfa28ac24850a83c9f3a16db471eca2ee1f1714df0f957"}, + {file = "numpy-2.2.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:a7746f235c47abc72b102d3bce9977714c2444bdfaea7888d241b4c4bb6a78bf"}, + {file = "numpy-2.2.1-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:059e6a747ae84fce488c3ee397cee7e5f905fd1bda5fb18c66bc41807ff119b2"}, + {file = "numpy-2.2.1-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:f62aa6ee4eb43b024b0e5a01cf65a0bb078ef8c395e8713c6e8a12a697144528"}, + {file = "numpy-2.2.1-cp310-cp310-win32.whl", hash = "sha256:48fd472630715e1c1c89bf1feab55c29098cb403cc184b4859f9c86d4fcb6a95"}, + {file = "numpy-2.2.1-cp310-cp310-win_amd64.whl", hash = "sha256:b541032178a718c165a49638d28272b771053f628382d5e9d1c93df23ff58dbf"}, + {file = "numpy-2.2.1-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:40f9e544c1c56ba8f1cf7686a8c9b5bb249e665d40d626a23899ba6d5d9e1484"}, + {file = "numpy-2.2.1-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:f9b57eaa3b0cd8db52049ed0330747b0364e899e8a606a624813452b8203d5f7"}, + {file = "numpy-2.2.1-cp311-cp311-macosx_14_0_arm64.whl", hash = "sha256:bc8a37ad5b22c08e2dbd27df2b3ef7e5c0864235805b1e718a235bcb200cf1cb"}, + {file = "numpy-2.2.1-cp311-cp311-macosx_14_0_x86_64.whl", hash = "sha256:9036d6365d13b6cbe8f27a0eaf73ddcc070cae584e5ff94bb45e3e9d729feab5"}, + {file = "numpy-2.2.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:51faf345324db860b515d3f364eaa93d0e0551a88d6218a7d61286554d190d73"}, + {file = "numpy-2.2.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:38efc1e56b73cc9b182fe55e56e63b044dd26a72128fd2fbd502f75555d92591"}, + {file = "numpy-2.2.1-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:31b89fa67a8042e96715c68e071a1200c4e172f93b0fbe01a14c0ff3ff820fc8"}, + {file = "numpy-2.2.1-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:4c86e2a209199ead7ee0af65e1d9992d1dce7e1f63c4b9a616500f93820658d0"}, + {file = "numpy-2.2.1-cp311-cp311-win32.whl", hash = "sha256:b34d87e8a3090ea626003f87f9392b3929a7bbf4104a05b6667348b6bd4bf1cd"}, + {file = "numpy-2.2.1-cp311-cp311-win_amd64.whl", hash = "sha256:360137f8fb1b753c5cde3ac388597ad680eccbbbb3865ab65efea062c4a1fd16"}, + {file = "numpy-2.2.1-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:694f9e921a0c8f252980e85bce61ebbd07ed2b7d4fa72d0e4246f2f8aa6642ab"}, + {file = "numpy-2.2.1-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:3683a8d166f2692664262fd4900f207791d005fb088d7fdb973cc8d663626faa"}, + {file = "numpy-2.2.1-cp312-cp312-macosx_14_0_arm64.whl", hash = "sha256:780077d95eafc2ccc3ced969db22377b3864e5b9a0ea5eb347cc93b3ea900315"}, + {file = "numpy-2.2.1-cp312-cp312-macosx_14_0_x86_64.whl", hash = "sha256:55ba24ebe208344aa7a00e4482f65742969a039c2acfcb910bc6fcd776eb4355"}, + {file = "numpy-2.2.1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:9b1d07b53b78bf84a96898c1bc139ad7f10fda7423f5fd158fd0f47ec5e01ac7"}, + {file = "numpy-2.2.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:5062dc1a4e32a10dc2b8b13cedd58988261416e811c1dc4dbdea4f57eea61b0d"}, + {file = "numpy-2.2.1-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:fce4f615f8ca31b2e61aa0eb5865a21e14f5629515c9151850aa936c02a1ee51"}, + {file = "numpy-2.2.1-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:67d4cda6fa6ffa073b08c8372aa5fa767ceb10c9a0587c707505a6d426f4e046"}, + {file = "numpy-2.2.1-cp312-cp312-win32.whl", hash = "sha256:32cb94448be47c500d2c7a95f93e2f21a01f1fd05dd2beea1ccd049bb6001cd2"}, + {file = "numpy-2.2.1-cp312-cp312-win_amd64.whl", hash = "sha256:ba5511d8f31c033a5fcbda22dd5c813630af98c70b2661f2d2c654ae3cdfcfc8"}, + {file = "numpy-2.2.1-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:f1d09e520217618e76396377c81fba6f290d5f926f50c35f3a5f72b01a0da780"}, + {file = "numpy-2.2.1-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:3ecc47cd7f6ea0336042be87d9e7da378e5c7e9b3c8ad0f7c966f714fc10d821"}, + {file = "numpy-2.2.1-cp313-cp313-macosx_14_0_arm64.whl", hash = "sha256:f419290bc8968a46c4933158c91a0012b7a99bb2e465d5ef5293879742f8797e"}, + {file = "numpy-2.2.1-cp313-cp313-macosx_14_0_x86_64.whl", hash = "sha256:5b6c390bfaef8c45a260554888966618328d30e72173697e5cabe6b285fb2348"}, + {file = "numpy-2.2.1-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:526fc406ab991a340744aad7e25251dd47a6720a685fa3331e5c59fef5282a59"}, + {file = "numpy-2.2.1-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f74e6fdeb9a265624ec3a3918430205dff1df7e95a230779746a6af78bc615af"}, + {file = "numpy-2.2.1-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:53c09385ff0b72ba79d8715683c1168c12e0b6e84fb0372e97553d1ea91efe51"}, + {file = "numpy-2.2.1-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:f3eac17d9ec51be534685ba877b6ab5edc3ab7ec95c8f163e5d7b39859524716"}, + {file = "numpy-2.2.1-cp313-cp313-win32.whl", hash = "sha256:9ad014faa93dbb52c80d8f4d3dcf855865c876c9660cb9bd7553843dd03a4b1e"}, + {file = "numpy-2.2.1-cp313-cp313-win_amd64.whl", hash = "sha256:164a829b6aacf79ca47ba4814b130c4020b202522a93d7bff2202bfb33b61c60"}, + {file = "numpy-2.2.1-cp313-cp313t-macosx_10_13_x86_64.whl", hash = "sha256:4dfda918a13cc4f81e9118dea249e192ab167a0bb1966272d5503e39234d694e"}, + {file = "numpy-2.2.1-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:733585f9f4b62e9b3528dd1070ec4f52b8acf64215b60a845fa13ebd73cd0712"}, + {file = "numpy-2.2.1-cp313-cp313t-macosx_14_0_arm64.whl", hash = "sha256:89b16a18e7bba224ce5114db863e7029803c179979e1af6ad6a6b11f70545008"}, + {file = "numpy-2.2.1-cp313-cp313t-macosx_14_0_x86_64.whl", hash = "sha256:676f4eebf6b2d430300f1f4f4c2461685f8269f94c89698d832cdf9277f30b84"}, + {file = "numpy-2.2.1-cp313-cp313t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:27f5cdf9f493b35f7e41e8368e7d7b4bbafaf9660cba53fb21d2cd174ec09631"}, + {file = "numpy-2.2.1-cp313-cp313t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:c1ad395cf254c4fbb5b2132fee391f361a6e8c1adbd28f2cd8e79308a615fe9d"}, + {file = "numpy-2.2.1-cp313-cp313t-musllinux_1_2_aarch64.whl", hash = "sha256:08ef779aed40dbc52729d6ffe7dd51df85796a702afbf68a4f4e41fafdc8bda5"}, + {file = "numpy-2.2.1-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:26c9c4382b19fcfbbed3238a14abf7ff223890ea1936b8890f058e7ba35e8d71"}, + {file = "numpy-2.2.1-cp313-cp313t-win32.whl", hash = "sha256:93cf4e045bae74c90ca833cba583c14b62cb4ba2cba0abd2b141ab52548247e2"}, + {file = "numpy-2.2.1-cp313-cp313t-win_amd64.whl", hash = "sha256:bff7d8ec20f5f42607599f9994770fa65d76edca264a87b5e4ea5629bce12268"}, + {file = "numpy-2.2.1-pp310-pypy310_pp73-macosx_10_15_x86_64.whl", hash = "sha256:7ba9cc93a91d86365a5d270dee221fdc04fb68d7478e6bf6af650de78a8339e3"}, + {file = "numpy-2.2.1-pp310-pypy310_pp73-macosx_14_0_x86_64.whl", hash = "sha256:3d03883435a19794e41f147612a77a8f56d4e52822337844fff3d4040a142964"}, + {file = "numpy-2.2.1-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:4511d9e6071452b944207c8ce46ad2f897307910b402ea5fa975da32e0102800"}, + {file = "numpy-2.2.1-pp310-pypy310_pp73-win_amd64.whl", hash = "sha256:5c5cc0cbabe9452038ed984d05ac87910f89370b9242371bd9079cb4af61811e"}, + {file = "numpy-2.2.1.tar.gz", hash = "sha256:45681fd7128c8ad1c379f0ca0776a8b0c6583d2f69889ddac01559dfe4390918"}, +] [[package]] name = "opencv-python" @@ -2885,7 +2989,7 @@ description = "Wrapper package for OpenCV python bindings." optional = false python-versions = ">=3.6" groups = ["main"] -markers = "python_version <= \"3.11\"" +markers = "python_version <= \"3.11\" or python_version >= \"3.12\"" files = [ {file = "opencv-python-4.10.0.84.tar.gz", hash = "sha256:72d234e4582e9658ffea8e9cae5b63d488ad06994ef12d81dc303b17472f3526"}, {file = "opencv_python-4.10.0.84-cp37-abi3-macosx_11_0_arm64.whl", hash = "sha256:fc182f8f4cda51b45f01c64e4cbedfc2f00aff799debebc305d8d0210c43f251"}, @@ -2904,6 +3008,7 @@ numpy = [ {version = ">=1.21.4", markers = "python_version >= \"3.10\" and platform_system == \"Darwin\" and python_version < \"3.11\""}, {version = ">=1.21.2", markers = "platform_system != \"Darwin\" and python_version >= \"3.10\" and python_version < \"3.11\""}, {version = ">=1.23.5", markers = "python_version >= \"3.11\" and python_version < \"3.12\""}, + {version = ">=1.26.0", markers = "python_version >= \"3.12\""}, ] [[package]] @@ -3253,26 +3358,6 @@ files = [ dev = ["pre-commit", "tox"] testing = ["pytest", "pytest-benchmark"] -[[package]] -name = "pre-commit" -version = "3.5.0" -description = "A framework for managing and maintaining multi-language pre-commit hooks." -optional = false -python-versions = ">=3.8" -groups = ["dev"] -markers = "python_version <= \"3.11\" or python_version >= \"3.12\"" -files = [ - {file = "pre_commit-3.5.0-py2.py3-none-any.whl", hash = "sha256:841dc9aef25daba9a0238cd27984041fa0467b4199fc4852e27950664919f660"}, - {file = "pre_commit-3.5.0.tar.gz", hash = "sha256:5804465c675b659b0862f07907f96295d490822a450c4c40e747d0b1c6ebcb32"}, -] - -[package.dependencies] -cfgv = ">=2.0.0" -identify = ">=1.0.0" -nodeenv = ">=0.11.1" -pyyaml = ">=5.1" -virtualenv = ">=20.10.0" - [[package]] name = "prometheus-client" version = "0.21.1" @@ -3377,7 +3462,7 @@ files = [ {file = "pycparser-2.22-py3-none-any.whl", hash = "sha256:c3702b6d3dd8c7abc1afa565d7e63d53a1d0bd86cdc24edd75470f4de499cfcc"}, {file = "pycparser-2.22.tar.gz", hash = "sha256:491c8be9c040f5390f5bf44a5b07752bd07f56edf992381b05c701439eec10f6"}, ] -markers = {build = "(python_version <= \"3.11\" or python_version >= \"3.12\") and sys_platform == \"linux\" and platform_python_implementation != \"PyPy\" and (platform_machine != \"ppc64le\" and platform_machine != \"s390x\" or python_version < \"3.9\") and (platform_machine == \"arm64\" or platform_machine == \"aarch64\" or platform_machine != \"ppc64le\" and platform_machine != \"s390x\") and (platform_machine == \"arm64\" or platform_machine == \"aarch64\" or platform_system != \"Linux\" or platform_machine != \"ppc64le\" and platform_machine != \"s390x\" and platform_machine != \"aarch64\" or python_version >= \"3.9\") and (platform_machine == \"arm64\" or platform_machine == \"aarch64\" or platform_system != \"Darwin\" or platform_machine != \"ppc64le\" and platform_machine != \"s390x\" and platform_machine != \"arm64\" or python_version >= \"3.9\")", dev = "python_version <= \"3.11\" or python_version >= \"3.12\"", docs = "python_version <= \"3.11\" or python_version >= \"3.12\""} +markers = {build = "sys_platform == \"linux\" and (platform_machine != \"ppc64le\" and platform_machine != \"s390x\" or python_version <= \"3.11\") and platform_python_implementation != \"PyPy\" and (python_version <= \"3.11\" or python_version >= \"3.12\") and (platform_machine == \"arm64\" or platform_machine == \"aarch64\" or platform_machine != \"ppc64le\" and platform_machine != \"s390x\") and (platform_machine == \"arm64\" or platform_machine == \"aarch64\" or platform_system != \"Darwin\" or platform_machine != \"ppc64le\" and platform_machine != \"s390x\" and platform_machine != \"arm64\" or python_version >= \"3.9\") and (platform_machine == \"arm64\" or platform_machine == \"aarch64\" or platform_system != \"Linux\" or platform_machine != \"ppc64le\" and platform_machine != \"s390x\" and platform_machine != \"aarch64\" or python_version >= \"3.9\")", dev = "python_version <= \"3.11\" or python_version >= \"3.12\"", docs = "python_version <= \"3.11\" or python_version >= \"3.12\""} [[package]] name = "pygments" @@ -3415,6 +3500,22 @@ pyyaml = "*" [package.extras] extra = ["pygments (>=2.12)"] +[[package]] +name = "pyparsing" +version = "3.0.9" +description = "pyparsing module - Classes and methods to define and execute parsing grammars" +optional = false +python-versions = ">=3.6.8" +groups = ["main", "docs"] +markers = "python_version >= \"3.13\"" +files = [ + {file = "pyparsing-3.0.9-py3-none-any.whl", hash = "sha256:5026bae9a10eeaefb61dab2f09052b9f4307d44aee4eda64b309723d8d206bbc"}, + {file = "pyparsing-3.0.9.tar.gz", hash = "sha256:2b020ecf7d21b687f219b71ecad3631f644a47f01403fa1d1036b0c6416d70fb"}, +] + +[package.extras] +diagrams = ["jinja2", "railroad-diagrams"] + [[package]] name = "pyparsing" version = "3.1.4" @@ -3422,7 +3523,7 @@ description = "pyparsing module - Classes and methods to define and execute pars optional = false python-versions = ">=3.6.8" groups = ["main", "docs"] -markers = "python_version <= \"3.11\" or python_version >= \"3.12\"" +markers = "python_version <= \"3.11\" or python_version >= \"3.12\" and python_version < \"3.13\"" files = [ {file = "pyparsing-3.1.4-py3-none-any.whl", hash = "sha256:a6a7ee4235a3f944aa1fa2249307708f893fe5717dc603503c6c7969c070fb7c"}, {file = "pyparsing-3.1.4.tar.gz", hash = "sha256:f86ec8d1a83f11977c9a6ea7598e8c27fc5cddfa5b07ea2241edbbde1d7bc032"}, @@ -3573,7 +3674,7 @@ description = "A (partial) reimplementation of pywin32 using ctypes/cffi" optional = false python-versions = ">=3.6" groups = ["build"] -markers = "(python_version <= \"3.11\" or python_version >= \"3.12\") and sys_platform == \"win32\" and (platform_machine != \"ppc64le\" and platform_machine != \"s390x\" or python_version < \"3.9\") and (platform_machine == \"arm64\" or platform_machine == \"aarch64\" or platform_machine != \"ppc64le\" and platform_machine != \"s390x\") and (platform_machine == \"arm64\" or platform_machine == \"aarch64\" or platform_system != \"Linux\" or platform_machine != \"ppc64le\" and platform_machine != \"s390x\" and platform_machine != \"aarch64\" or python_version >= \"3.9\") and (platform_machine == \"arm64\" or platform_machine == \"aarch64\" or platform_system != \"Darwin\" or platform_machine != \"ppc64le\" and platform_machine != \"s390x\" and platform_machine != \"arm64\" or python_version >= \"3.9\")" +markers = "sys_platform == \"win32\" and (platform_machine != \"ppc64le\" and platform_machine != \"s390x\" or python_version <= \"3.11\") and (python_version <= \"3.11\" or python_version >= \"3.12\") and (platform_machine == \"arm64\" or platform_machine == \"aarch64\" or platform_machine != \"ppc64le\" and platform_machine != \"s390x\") and (platform_machine == \"arm64\" or platform_machine == \"aarch64\" or platform_system != \"Darwin\" or platform_machine != \"ppc64le\" and platform_machine != \"s390x\" and platform_machine != \"arm64\" or python_version >= \"3.9\") and (platform_machine == \"arm64\" or platform_machine == \"aarch64\" or platform_system != \"Linux\" or platform_machine != \"ppc64le\" and platform_machine != \"s390x\" and platform_machine != \"aarch64\" or python_version >= \"3.9\")" files = [ {file = "pywin32-ctypes-0.2.3.tar.gz", hash = "sha256:d162dc04946d704503b2edc4d55f3dba5c1d539ead017afa00142c38b9885755"}, {file = "pywin32_ctypes-0.2.3-py3-none-any.whl", hash = "sha256:8a1513379d709975552d202d942d9837758905c8d01eb82b8bcc30918929e7b8"}, @@ -4311,7 +4412,7 @@ description = "Python bindings to FreeDesktop.org Secret Service API" optional = false python-versions = ">=3.6" groups = ["build"] -markers = "(python_version <= \"3.11\" or python_version >= \"3.12\") and sys_platform == \"linux\" and (platform_machine != \"ppc64le\" and platform_machine != \"s390x\" or python_version < \"3.9\") and (platform_machine == \"arm64\" or platform_machine == \"aarch64\" or platform_machine != \"ppc64le\" and platform_machine != \"s390x\") and (platform_machine == \"arm64\" or platform_machine == \"aarch64\" or platform_system != \"Linux\" or platform_machine != \"ppc64le\" and platform_machine != \"s390x\" and platform_machine != \"aarch64\" or python_version >= \"3.9\") and (platform_machine == \"arm64\" or platform_machine == \"aarch64\" or platform_system != \"Darwin\" or platform_machine != \"ppc64le\" and platform_machine != \"s390x\" and platform_machine != \"arm64\" or python_version >= \"3.9\")" +markers = "sys_platform == \"linux\" and (platform_machine != \"ppc64le\" and platform_machine != \"s390x\" or python_version <= \"3.11\") and (python_version <= \"3.11\" or python_version >= \"3.12\") and (platform_machine == \"arm64\" or platform_machine == \"aarch64\" or platform_machine != \"ppc64le\" and platform_machine != \"s390x\") and (platform_machine == \"arm64\" or platform_machine == \"aarch64\" or platform_system != \"Darwin\" or platform_machine != \"ppc64le\" and platform_machine != \"s390x\" and platform_machine != \"arm64\" or python_version >= \"3.9\") and (platform_machine == \"arm64\" or platform_machine == \"aarch64\" or platform_system != \"Linux\" or platform_machine != \"ppc64le\" and platform_machine != \"s390x\" and platform_machine != \"aarch64\" or python_version >= \"3.9\")" files = [ {file = "SecretStorage-3.3.3-py3-none-any.whl", hash = "sha256:f356e6628222568e3af06f2eba8df495efa13b3b63081dafd4f7d9a7b7bc9f99"}, {file = "SecretStorage-3.3.3.tar.gz", hash = "sha256:2403533ef369eca6d2ba81718576c5e0f564d5cca1b58f73a8b23e7d4eeebd77"}, @@ -4917,4 +5018,4 @@ metrics = ["pandas"] [metadata] lock-version = "2.1" python-versions = ">=3.8" -content-hash = "3200aa271750cb9a5b4518ecd9a72e7244f2137a861f416cfa437e4ae133d216" +content-hash = "98f7b50524f3a498de5f7e661977d148ae4341f59803a7147ff132e49d065899" diff --git a/pyproject.toml b/pyproject.toml index 1628f3f6fb..78d9fd9f91 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -38,7 +38,9 @@ classifiers = [ 'Operating System :: MacOS', ] dependencies = [ - "numpy>=1.21.2", + "numpy>=1.21.2,<1.26.0; python_version < '3.12'", + "numpy>=1.26.0,<2.1.0; python_version >= '3.12' and python_version < '3.13'", + "numpy>=2.1.0; python_version >= '3.13'", "scipy (==1.10.0); python_version < '3.9'", "scipy (>=1.10.0,<1.14.1) ; python_version >= '3.9' and python_version < '3.13'", "scipy (>=1.14.1); python_version >= '3.13'", @@ -67,27 +69,23 @@ packages = [{ include = "supervision" }, { include = "supervision/py.typed" }] [tool.poetry.group.dev.dependencies] pytest = ">=7.2.2,<9.0.0" -pre-commit = "^3.3.3" -tox = "^4.11.4" +tox = ">=4.11.4" notebook = ">=6.5.3,<8.0.0" -ipywidgets = "^8.1.1" -jupytext = "^1.16.1" -nbconvert = "^7.14.2" -docutils = [ - { version = "^0.20.1", python = "<3.9" }, - { version = "^0.21.1", python = ">=3.9" }, -] +ipywidgets = ">=8.1.1" +jupytext = ">=1.16.1" +nbconvert = ">=7.14.2" +docutils = "!=0.21" [tool.poetry.group.docs.dependencies] mkdocs-material = { extras = ["imaging"], version = "^9.5.5" } mkdocstrings = ">=0.25.2,<0.27.0" -mkdocstrings-python = "^1.10.9" -mike = "^2.0.0" +mkdocstrings-python = ">=1.10.9" +mike = ">=2.0.0" # For Documentation Development use Python 3.10 or above # Use Latest mkdocs-jupyter min 0.24.6 for Jupyter Notebook Theme support -mkdocs-jupyter = "^0.24.3" -mkdocs-git-committers-plugin-2 = { version = "^2.4.1", python = ">=3.8,<4" } -mkdocs-git-revision-date-localized-plugin = "^1.2.4" +mkdocs-jupyter = ">=0.24.3" +mkdocs-git-committers-plugin-2 = { version = ">=2.4.1", python = ">=3.8,<4" } +mkdocs-git-revision-date-localized-plugin = ">=1.2.4" [tool.poetry.group.build.dependencies] twine = ">=5.1.1,<7.0.0" From c6591f609fc935cb9b1bcdb5819fecb9f27c1cfc Mon Sep 17 00:00:00 2001 From: Onuralp SEZER Date: Tue, 7 Jan 2025 05:04:26 +0300 Subject: [PATCH 093/420] =?UTF-8?q?refactor:=20=F0=9F=9B=A0=EF=B8=8F=20upd?= =?UTF-8?q?ate=20pandas=20dependency=20specifications=20for=20improved=20v?= =?UTF-8?q?ersion=20compatibility=20based=20on=20Python=20version?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- poetry.lock | 128 ++++++++++++++++++++++++++++++++++++++++--------- pyproject.toml | 6 ++- 2 files changed, 110 insertions(+), 24 deletions(-) diff --git a/poetry.lock b/poetry.lock index 09ce4653da..2767d2a182 100644 --- a/poetry.lock +++ b/poetry.lock @@ -229,7 +229,7 @@ description = "Backport of CPython tarfile module" optional = false python-versions = ">=3.8" groups = ["build"] -markers = "python_version <= \"3.11\" and (platform_machine == \"arm64\" or platform_machine == \"aarch64\" or platform_machine != \"ppc64le\" and platform_machine != \"s390x\") and (platform_machine == \"arm64\" or platform_machine == \"aarch64\" or platform_system != \"Darwin\" or platform_machine != \"ppc64le\" and platform_machine != \"s390x\" and platform_machine != \"arm64\" or python_version >= \"3.9\") and (platform_machine == \"arm64\" or platform_machine == \"aarch64\" or platform_system != \"Linux\" or platform_machine != \"ppc64le\" and platform_machine != \"s390x\" and platform_machine != \"aarch64\" or python_version >= \"3.9\")" +markers = "python_version <= \"3.11\" and (platform_machine == \"arm64\" or platform_machine == \"aarch64\" or platform_machine != \"ppc64le\" and platform_machine != \"s390x\") and (platform_machine == \"arm64\" or platform_machine == \"aarch64\" or platform_system != \"Linux\" or platform_machine != \"ppc64le\" and platform_machine != \"s390x\" and platform_machine != \"aarch64\" or python_version >= \"3.9\") and (platform_machine == \"arm64\" or platform_machine == \"aarch64\" or platform_system != \"Darwin\" or platform_machine != \"ppc64le\" and platform_machine != \"s390x\" and platform_machine != \"arm64\" or python_version >= \"3.9\")" files = [ {file = "backports.tarfile-1.2.0-py3-none-any.whl", hash = "sha256:77e284d754527b01fb1e6fa8a1afe577858ebe4e9dad8919e34c862cb399bc34"}, {file = "backports_tarfile-1.2.0.tar.gz", hash = "sha256:d75e02c268746e1b8144c278978b6e98e85de6ad16f8e4b0844a154557eca991"}, @@ -457,7 +457,7 @@ files = [ {file = "cffi-1.17.1-cp39-cp39-win_amd64.whl", hash = "sha256:d016c76bdd850f3c626af19b0542c9677ba156e4ee4fccfdd7848803533ef662"}, {file = "cffi-1.17.1.tar.gz", hash = "sha256:1c39c6016c32bc48dd54561950ebd6836e1670f2ae46128f67cf49e789c52824"}, ] -markers = {build = "sys_platform == \"linux\" and (platform_machine != \"ppc64le\" and platform_machine != \"s390x\" or python_version <= \"3.11\") and platform_python_implementation != \"PyPy\" and (python_version <= \"3.11\" or python_version >= \"3.12\") and (platform_machine == \"arm64\" or platform_machine == \"aarch64\" or platform_machine != \"ppc64le\" and platform_machine != \"s390x\") and (platform_machine == \"arm64\" or platform_machine == \"aarch64\" or platform_system != \"Darwin\" or platform_machine != \"ppc64le\" and platform_machine != \"s390x\" and platform_machine != \"arm64\" or python_version >= \"3.9\") and (platform_machine == \"arm64\" or platform_machine == \"aarch64\" or platform_system != \"Linux\" or platform_machine != \"ppc64le\" and platform_machine != \"s390x\" and platform_machine != \"aarch64\" or python_version >= \"3.9\")", dev = "python_version <= \"3.11\" or python_version >= \"3.12\"", docs = "python_version <= \"3.11\" or python_version >= \"3.12\""} +markers = {build = "sys_platform == \"linux\" and (platform_machine != \"ppc64le\" and platform_machine != \"s390x\" or python_version <= \"3.11\") and platform_python_implementation != \"PyPy\" and (python_version <= \"3.11\" or python_version >= \"3.12\") and (platform_machine == \"arm64\" or platform_machine == \"aarch64\" or platform_machine != \"ppc64le\" and platform_machine != \"s390x\") and (platform_machine == \"arm64\" or platform_machine == \"aarch64\" or platform_system != \"Linux\" or platform_machine != \"ppc64le\" and platform_machine != \"s390x\" and platform_machine != \"aarch64\" or python_version >= \"3.9\") and (platform_machine == \"arm64\" or platform_machine == \"aarch64\" or platform_system != \"Darwin\" or platform_machine != \"ppc64le\" and platform_machine != \"s390x\" and platform_machine != \"arm64\" or python_version >= \"3.9\")", dev = "python_version <= \"3.11\" or python_version >= \"3.12\"", docs = "python_version <= \"3.11\" or python_version >= \"3.12\""} [package.dependencies] pycparser = "*" @@ -773,7 +773,7 @@ description = "cryptography is a package which provides cryptographic recipes an optional = false python-versions = ">=3.7" groups = ["build"] -markers = "sys_platform == \"linux\" and (platform_machine != \"ppc64le\" and platform_machine != \"s390x\" or python_version <= \"3.11\") and (python_version <= \"3.11\" or python_version >= \"3.12\") and (platform_machine == \"arm64\" or platform_machine == \"aarch64\" or platform_machine != \"ppc64le\" and platform_machine != \"s390x\") and (platform_machine == \"arm64\" or platform_machine == \"aarch64\" or platform_system != \"Darwin\" or platform_machine != \"ppc64le\" and platform_machine != \"s390x\" and platform_machine != \"arm64\" or python_version >= \"3.9\") and (platform_machine == \"arm64\" or platform_machine == \"aarch64\" or platform_system != \"Linux\" or platform_machine != \"ppc64le\" and platform_machine != \"s390x\" and platform_machine != \"aarch64\" or python_version >= \"3.9\")" +markers = "sys_platform == \"linux\" and (platform_machine != \"ppc64le\" and platform_machine != \"s390x\" or python_version <= \"3.11\") and (python_version <= \"3.11\" or python_version >= \"3.12\") and (platform_machine == \"arm64\" or platform_machine == \"aarch64\" or platform_machine != \"ppc64le\" and platform_machine != \"s390x\") and (platform_machine == \"arm64\" or platform_machine == \"aarch64\" or platform_system != \"Linux\" or platform_machine != \"ppc64le\" and platform_machine != \"s390x\" and platform_machine != \"aarch64\" or python_version >= \"3.9\") and (platform_machine == \"arm64\" or platform_machine == \"aarch64\" or platform_system != \"Darwin\" or platform_machine != \"ppc64le\" and platform_machine != \"s390x\" and platform_machine != \"arm64\" or python_version >= \"3.9\")" files = [ {file = "cryptography-43.0.3-cp37-abi3-macosx_10_9_universal2.whl", hash = "sha256:bf7a1932ac4176486eab36a19ed4c0492da5d97123f1406cf15e41b05e787d2e"}, {file = "cryptography-43.0.3-cp37-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:63efa177ff54aec6e1c0aefaa1a241232dcd37413835a9b674b6e3f0ae2bfd3e"}, @@ -1284,7 +1284,7 @@ files = [ {file = "importlib_resources-6.4.5-py3-none-any.whl", hash = "sha256:ac29d5f956f01d5e4bb63102a5a19957f1b9175e45649977264a1416783bb717"}, {file = "importlib_resources-6.4.5.tar.gz", hash = "sha256:980862a1d16c9e147a59603677fa2aa5fd82b87f223b6cb870695bcfce830065"}, ] -markers = {main = "python_version < \"3.10\"", build = "python_version < \"3.9\" and (platform_machine == \"arm64\" or platform_machine == \"aarch64\" or platform_machine != \"ppc64le\" and platform_machine != \"s390x\") and (platform_machine == \"arm64\" or platform_machine == \"aarch64\" or platform_system != \"Darwin\" or platform_machine != \"ppc64le\" and platform_machine != \"s390x\" and platform_machine != \"arm64\") and (platform_machine == \"arm64\" or platform_machine == \"aarch64\" or platform_system != \"Linux\" or platform_machine != \"ppc64le\" and platform_machine != \"s390x\" and platform_machine != \"aarch64\")", dev = "python_version < \"3.9\"", docs = "python_version <= \"3.11\" or python_version >= \"3.12\""} +markers = {main = "python_version < \"3.10\"", build = "python_version < \"3.9\" and (platform_machine == \"arm64\" or platform_machine == \"aarch64\" or platform_machine != \"ppc64le\" and platform_machine != \"s390x\") and (platform_machine == \"arm64\" or platform_machine == \"aarch64\" or platform_system != \"Linux\" or platform_machine != \"ppc64le\" and platform_machine != \"s390x\" and platform_machine != \"aarch64\") and (platform_machine == \"arm64\" or platform_machine == \"aarch64\" or platform_system != \"Darwin\" or platform_machine != \"ppc64le\" and platform_machine != \"s390x\" and platform_machine != \"arm64\")", dev = "python_version < \"3.9\"", docs = "python_version <= \"3.11\" or python_version >= \"3.12\""} [package.dependencies] zipp = {version = ">=3.1.0", markers = "python_version < \"3.10\""} @@ -1432,7 +1432,7 @@ description = "Utility functions for Python class constructs" optional = false python-versions = ">=3.8" groups = ["build"] -markers = "(platform_machine != \"ppc64le\" and platform_machine != \"s390x\" or python_version <= \"3.11\") and (python_version <= \"3.11\" or python_version >= \"3.12\") and (platform_machine == \"arm64\" or platform_machine == \"aarch64\" or platform_machine != \"ppc64le\" and platform_machine != \"s390x\") and (platform_machine == \"arm64\" or platform_machine == \"aarch64\" or platform_system != \"Darwin\" or platform_machine != \"ppc64le\" and platform_machine != \"s390x\" and platform_machine != \"arm64\" or python_version >= \"3.9\") and (platform_machine == \"arm64\" or platform_machine == \"aarch64\" or platform_system != \"Linux\" or platform_machine != \"ppc64le\" and platform_machine != \"s390x\" and platform_machine != \"aarch64\" or python_version >= \"3.9\")" +markers = "(platform_machine != \"ppc64le\" and platform_machine != \"s390x\" or python_version <= \"3.11\") and (python_version <= \"3.11\" or python_version >= \"3.12\") and (platform_machine == \"arm64\" or platform_machine == \"aarch64\" or platform_machine != \"ppc64le\" and platform_machine != \"s390x\") and (platform_machine == \"arm64\" or platform_machine == \"aarch64\" or platform_system != \"Linux\" or platform_machine != \"ppc64le\" and platform_machine != \"s390x\" and platform_machine != \"aarch64\" or python_version >= \"3.9\") and (platform_machine == \"arm64\" or platform_machine == \"aarch64\" or platform_system != \"Darwin\" or platform_machine != \"ppc64le\" and platform_machine != \"s390x\" and platform_machine != \"arm64\" or python_version >= \"3.9\")" files = [ {file = "jaraco.classes-3.4.0-py3-none-any.whl", hash = "sha256:f662826b6bed8cace05e7ff873ce0f9283b5c924470fe664fff1c2f00f581790"}, {file = "jaraco.classes-3.4.0.tar.gz", hash = "sha256:47a024b51d0239c0dd8c8540c6c7f484be3b8fcf0b2d85c13825780d3b3f3acd"}, @@ -1452,7 +1452,7 @@ description = "Useful decorators and context managers" optional = false python-versions = ">=3.8" groups = ["build"] -markers = "(platform_machine != \"ppc64le\" and platform_machine != \"s390x\" or python_version <= \"3.11\") and (python_version <= \"3.11\" or python_version >= \"3.12\") and (platform_machine == \"arm64\" or platform_machine == \"aarch64\" or platform_machine != \"ppc64le\" and platform_machine != \"s390x\") and (platform_machine == \"arm64\" or platform_machine == \"aarch64\" or platform_system != \"Darwin\" or platform_machine != \"ppc64le\" and platform_machine != \"s390x\" and platform_machine != \"arm64\" or python_version >= \"3.9\") and (platform_machine == \"arm64\" or platform_machine == \"aarch64\" or platform_system != \"Linux\" or platform_machine != \"ppc64le\" and platform_machine != \"s390x\" and platform_machine != \"aarch64\" or python_version >= \"3.9\")" +markers = "(platform_machine != \"ppc64le\" and platform_machine != \"s390x\" or python_version <= \"3.11\") and (python_version <= \"3.11\" or python_version >= \"3.12\") and (platform_machine == \"arm64\" or platform_machine == \"aarch64\" or platform_machine != \"ppc64le\" and platform_machine != \"s390x\") and (platform_machine == \"arm64\" or platform_machine == \"aarch64\" or platform_system != \"Linux\" or platform_machine != \"ppc64le\" and platform_machine != \"s390x\" and platform_machine != \"aarch64\" or python_version >= \"3.9\") and (platform_machine == \"arm64\" or platform_machine == \"aarch64\" or platform_system != \"Darwin\" or platform_machine != \"ppc64le\" and platform_machine != \"s390x\" and platform_machine != \"arm64\" or python_version >= \"3.9\")" files = [ {file = "jaraco.context-6.0.1-py3-none-any.whl", hash = "sha256:f797fc481b490edb305122c9181830a3a5b76d84ef6d1aef2fb9b47ab956f9e4"}, {file = "jaraco_context-6.0.1.tar.gz", hash = "sha256:9bae4ea555cf0b14938dc0aee7c9f32ed303aa20a3b73e7dc80111628792d1b3"}, @@ -1472,7 +1472,7 @@ description = "Functools like those found in stdlib" optional = false python-versions = ">=3.8" groups = ["build"] -markers = "(platform_machine != \"ppc64le\" and platform_machine != \"s390x\" or python_version <= \"3.11\") and (python_version <= \"3.11\" or python_version >= \"3.12\") and (platform_machine == \"arm64\" or platform_machine == \"aarch64\" or platform_machine != \"ppc64le\" and platform_machine != \"s390x\") and (platform_machine == \"arm64\" or platform_machine == \"aarch64\" or platform_system != \"Darwin\" or platform_machine != \"ppc64le\" and platform_machine != \"s390x\" and platform_machine != \"arm64\" or python_version >= \"3.9\") and (platform_machine == \"arm64\" or platform_machine == \"aarch64\" or platform_system != \"Linux\" or platform_machine != \"ppc64le\" and platform_machine != \"s390x\" and platform_machine != \"aarch64\" or python_version >= \"3.9\")" +markers = "(platform_machine != \"ppc64le\" and platform_machine != \"s390x\" or python_version <= \"3.11\") and (python_version <= \"3.11\" or python_version >= \"3.12\") and (platform_machine == \"arm64\" or platform_machine == \"aarch64\" or platform_machine != \"ppc64le\" and platform_machine != \"s390x\") and (platform_machine == \"arm64\" or platform_machine == \"aarch64\" or platform_system != \"Linux\" or platform_machine != \"ppc64le\" and platform_machine != \"s390x\" and platform_machine != \"aarch64\" or python_version >= \"3.9\") and (platform_machine == \"arm64\" or platform_machine == \"aarch64\" or platform_system != \"Darwin\" or platform_machine != \"ppc64le\" and platform_machine != \"s390x\" and platform_machine != \"arm64\" or python_version >= \"3.9\")" files = [ {file = "jaraco.functools-4.1.0-py3-none-any.whl", hash = "sha256:ad159f13428bc4acbf5541ad6dec511f91573b90fba04df61dafa2a1231cf649"}, {file = "jaraco_functools-4.1.0.tar.gz", hash = "sha256:70f7e0e2ae076498e212562325e805204fc092d7b4c17e0e86c959e249701a9d"}, @@ -1517,7 +1517,7 @@ description = "Low-level, pure Python DBus protocol wrapper." optional = false python-versions = ">=3.7" groups = ["build"] -markers = "sys_platform == \"linux\" and (platform_machine != \"ppc64le\" and platform_machine != \"s390x\" or python_version <= \"3.11\") and (python_version <= \"3.11\" or python_version >= \"3.12\") and (platform_machine == \"arm64\" or platform_machine == \"aarch64\" or platform_machine != \"ppc64le\" and platform_machine != \"s390x\") and (platform_machine == \"arm64\" or platform_machine == \"aarch64\" or platform_system != \"Darwin\" or platform_machine != \"ppc64le\" and platform_machine != \"s390x\" and platform_machine != \"arm64\" or python_version >= \"3.9\") and (platform_machine == \"arm64\" or platform_machine == \"aarch64\" or platform_system != \"Linux\" or platform_machine != \"ppc64le\" and platform_machine != \"s390x\" and platform_machine != \"aarch64\" or python_version >= \"3.9\")" +markers = "sys_platform == \"linux\" and (platform_machine != \"ppc64le\" and platform_machine != \"s390x\" or python_version <= \"3.11\") and (python_version <= \"3.11\" or python_version >= \"3.12\") and (platform_machine == \"arm64\" or platform_machine == \"aarch64\" or platform_machine != \"ppc64le\" and platform_machine != \"s390x\") and (platform_machine == \"arm64\" or platform_machine == \"aarch64\" or platform_system != \"Linux\" or platform_machine != \"ppc64le\" and platform_machine != \"s390x\" and platform_machine != \"aarch64\" or python_version >= \"3.9\") and (platform_machine == \"arm64\" or platform_machine == \"aarch64\" or platform_system != \"Darwin\" or platform_machine != \"ppc64le\" and platform_machine != \"s390x\" and platform_machine != \"arm64\" or python_version >= \"3.9\")" files = [ {file = "jeepney-0.8.0-py3-none-any.whl", hash = "sha256:c0a454ad016ca575060802ee4d590dd912e35c122fa04e70306de3d076cce755"}, {file = "jeepney-0.8.0.tar.gz", hash = "sha256:5efe48d255973902f6badc3ce55e2aa6c5c3b3bc642059ef3a91247bcfcc5806"}, @@ -1905,7 +1905,7 @@ description = "Store and access your passwords safely." optional = false python-versions = ">=3.8" groups = ["build"] -markers = "(platform_machine != \"ppc64le\" and platform_machine != \"s390x\" or python_version <= \"3.11\") and (python_version <= \"3.11\" or python_version >= \"3.12\") and (platform_machine == \"arm64\" or platform_machine == \"aarch64\" or platform_machine != \"ppc64le\" and platform_machine != \"s390x\") and (platform_machine == \"arm64\" or platform_machine == \"aarch64\" or platform_system != \"Darwin\" or platform_machine != \"ppc64le\" and platform_machine != \"s390x\" and platform_machine != \"arm64\" or python_version >= \"3.9\") and (platform_machine == \"arm64\" or platform_machine == \"aarch64\" or platform_system != \"Linux\" or platform_machine != \"ppc64le\" and platform_machine != \"s390x\" and platform_machine != \"aarch64\" or python_version >= \"3.9\")" +markers = "(platform_machine != \"ppc64le\" and platform_machine != \"s390x\" or python_version <= \"3.11\") and (python_version <= \"3.11\" or python_version >= \"3.12\") and (platform_machine == \"arm64\" or platform_machine == \"aarch64\" or platform_machine != \"ppc64le\" and platform_machine != \"s390x\") and (platform_machine == \"arm64\" or platform_machine == \"aarch64\" or platform_system != \"Linux\" or platform_machine != \"ppc64le\" and platform_machine != \"s390x\" and platform_machine != \"aarch64\" or python_version >= \"3.9\") and (platform_machine == \"arm64\" or platform_machine == \"aarch64\" or platform_system != \"Darwin\" or platform_machine != \"ppc64le\" and platform_machine != \"s390x\" and platform_machine != \"arm64\" or python_version >= \"3.9\")" files = [ {file = "keyring-25.5.0-py3-none-any.whl", hash = "sha256:e67f8ac32b04be4714b42fe84ce7dad9c40985b9ca827c592cc303e7c26d9741"}, {file = "keyring-25.5.0.tar.gz", hash = "sha256:4c753b3ec91717fe713c4edd522d625889d8973a349b0e582622f49766de58e6"}, @@ -2646,7 +2646,7 @@ description = "More routines for operating on iterables, beyond itertools" optional = false python-versions = ">=3.8" groups = ["build"] -markers = "(platform_machine != \"ppc64le\" and platform_machine != \"s390x\" or python_version <= \"3.11\") and (python_version <= \"3.11\" or python_version >= \"3.12\") and (platform_machine == \"arm64\" or platform_machine == \"aarch64\" or platform_machine != \"ppc64le\" and platform_machine != \"s390x\") and (platform_machine == \"arm64\" or platform_machine == \"aarch64\" or platform_system != \"Darwin\" or platform_machine != \"ppc64le\" and platform_machine != \"s390x\" and platform_machine != \"arm64\" or python_version >= \"3.9\") and (platform_machine == \"arm64\" or platform_machine == \"aarch64\" or platform_system != \"Linux\" or platform_machine != \"ppc64le\" and platform_machine != \"s390x\" and platform_machine != \"aarch64\" or python_version >= \"3.9\")" +markers = "(platform_machine != \"ppc64le\" and platform_machine != \"s390x\" or python_version <= \"3.11\") and (python_version <= \"3.11\" or python_version >= \"3.12\") and (platform_machine == \"arm64\" or platform_machine == \"aarch64\" or platform_machine != \"ppc64le\" and platform_machine != \"s390x\") and (platform_machine == \"arm64\" or platform_machine == \"aarch64\" or platform_system != \"Linux\" or platform_machine != \"ppc64le\" and platform_machine != \"s390x\" and platform_machine != \"aarch64\" or python_version >= \"3.9\") and (platform_machine == \"arm64\" or platform_machine == \"aarch64\" or platform_system != \"Darwin\" or platform_machine != \"ppc64le\" and platform_machine != \"s390x\" and platform_machine != \"arm64\" or python_version >= \"3.9\")" files = [ {file = "more-itertools-10.5.0.tar.gz", hash = "sha256:5482bfef7849c25dc3c6dd53a6173ae4795da2a41a80faea6700d9f5846c5da6"}, {file = "more_itertools-10.5.0-py3-none-any.whl", hash = "sha256:037b0d3203ce90cca8ab1defbbdac29d5f993fc20131f3664dc8d6acfa872aef"}, @@ -3005,9 +3005,9 @@ numpy = [ {version = ">=1.21.0", markers = "python_version <= \"3.9\" and platform_system == \"Darwin\" and platform_machine == \"arm64\" and python_version >= \"3.8\""}, {version = ">=1.19.3", markers = "platform_system == \"Linux\" and platform_machine == \"aarch64\" and python_version >= \"3.8\" and python_version < \"3.10\" or python_version > \"3.9\" and python_version < \"3.10\" or python_version >= \"3.9\" and platform_system != \"Darwin\" and python_version < \"3.10\" or python_version >= \"3.9\" and platform_machine != \"arm64\" and python_version < \"3.10\""}, {version = ">=1.17.3", markers = "(platform_system != \"Darwin\" and platform_system != \"Linux\") and python_version >= \"3.8\" and python_version < \"3.9\" or platform_system != \"Darwin\" and python_version >= \"3.8\" and python_version < \"3.9\" and platform_machine != \"aarch64\" or platform_machine != \"arm64\" and python_version >= \"3.8\" and python_version < \"3.9\" and platform_system != \"Linux\" or (platform_machine != \"arm64\" and platform_machine != \"aarch64\") and python_version >= \"3.8\" and python_version < \"3.9\""}, + {version = ">=1.23.5", markers = "python_version >= \"3.11\" and python_version < \"3.12\""}, {version = ">=1.21.4", markers = "python_version >= \"3.10\" and platform_system == \"Darwin\" and python_version < \"3.11\""}, {version = ">=1.21.2", markers = "platform_system != \"Darwin\" and python_version >= \"3.10\" and python_version < \"3.11\""}, - {version = ">=1.23.5", markers = "python_version >= \"3.11\" and python_version < \"3.12\""}, {version = ">=1.26.0", markers = "python_version >= \"3.12\""}, ] @@ -3058,10 +3058,10 @@ lint = ["black"] name = "pandas" version = "2.0.3" description = "Powerful data structures for data analysis, time series, and statistics" -optional = false +optional = true python-versions = ">=3.8" groups = ["main"] -markers = "python_version <= \"3.11\" or python_version >= \"3.12\"" +markers = "(python_version <= \"3.11\" or python_version >= \"3.12\") and python_version < \"3.13\" and extra == \"metrics\"" files = [ {file = "pandas-2.0.3-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:e4c7c9f27a4185304c7caf96dc7d91bc60bc162221152de697c98eb0b2648dd8"}, {file = "pandas-2.0.3-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:f167beed68918d62bffb6ec64f2e1d8a7d297a038f86d4aed056b9493fca407f"}, @@ -3093,8 +3093,8 @@ files = [ [package.dependencies] numpy = [ {version = ">=1.20.3", markers = "python_version < \"3.10\""}, - {version = ">=1.21.0", markers = "python_version >= \"3.10\" and python_version < \"3.11\""}, {version = ">=1.23.2", markers = "python_version >= \"3.11\""}, + {version = ">=1.21.0", markers = "python_version >= \"3.10\" and python_version < \"3.11\""}, ] python-dateutil = ">=2.8.2" pytz = ">=2020.1" @@ -3123,6 +3123,90 @@ sql-other = ["SQLAlchemy (>=1.4.16)"] test = ["hypothesis (>=6.34.2)", "pytest (>=7.3.2)", "pytest-asyncio (>=0.17.0)", "pytest-xdist (>=2.2.0)"] xml = ["lxml (>=4.6.3)"] +[[package]] +name = "pandas" +version = "2.2.3" +description = "Powerful data structures for data analysis, time series, and statistics" +optional = true +python-versions = ">=3.9" +groups = ["main"] +markers = "python_version >= \"3.13\" and extra == \"metrics\"" +files = [ + {file = "pandas-2.2.3-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:1948ddde24197a0f7add2bdc4ca83bf2b1ef84a1bc8ccffd95eda17fd836ecb5"}, + {file = "pandas-2.2.3-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:381175499d3802cde0eabbaf6324cce0c4f5d52ca6f8c377c29ad442f50f6348"}, + {file = "pandas-2.2.3-cp310-cp310-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:d9c45366def9a3dd85a6454c0e7908f2b3b8e9c138f5dc38fed7ce720d8453ed"}, + {file = "pandas-2.2.3-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:86976a1c5b25ae3f8ccae3a5306e443569ee3c3faf444dfd0f41cda24667ad57"}, + {file = "pandas-2.2.3-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:b8661b0238a69d7aafe156b7fa86c44b881387509653fdf857bebc5e4008ad42"}, + {file = "pandas-2.2.3-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:37e0aced3e8f539eccf2e099f65cdb9c8aa85109b0be6e93e2baff94264bdc6f"}, + {file = "pandas-2.2.3-cp310-cp310-win_amd64.whl", hash = "sha256:56534ce0746a58afaf7942ba4863e0ef81c9c50d3f0ae93e9497d6a41a057645"}, + {file = "pandas-2.2.3-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:66108071e1b935240e74525006034333f98bcdb87ea116de573a6a0dccb6c039"}, + {file = "pandas-2.2.3-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:7c2875855b0ff77b2a64a0365e24455d9990730d6431b9e0ee18ad8acee13dbd"}, + {file = "pandas-2.2.3-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:cd8d0c3be0515c12fed0bdbae072551c8b54b7192c7b1fda0ba56059a0179698"}, + {file = "pandas-2.2.3-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:c124333816c3a9b03fbeef3a9f230ba9a737e9e5bb4060aa2107a86cc0a497fc"}, + {file = "pandas-2.2.3-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:63cc132e40a2e084cf01adf0775b15ac515ba905d7dcca47e9a251819c575ef3"}, + {file = "pandas-2.2.3-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:29401dbfa9ad77319367d36940cd8a0b3a11aba16063e39632d98b0e931ddf32"}, + {file = "pandas-2.2.3-cp311-cp311-win_amd64.whl", hash = "sha256:3fc6873a41186404dad67245896a6e440baacc92f5b716ccd1bc9ed2995ab2c5"}, + {file = "pandas-2.2.3-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:b1d432e8d08679a40e2a6d8b2f9770a5c21793a6f9f47fdd52c5ce1948a5a8a9"}, + {file = "pandas-2.2.3-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:a5a1595fe639f5988ba6a8e5bc9649af3baf26df3998a0abe56c02609392e0a4"}, + {file = "pandas-2.2.3-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:5de54125a92bb4d1c051c0659e6fcb75256bf799a732a87184e5ea503965bce3"}, + {file = "pandas-2.2.3-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:fffb8ae78d8af97f849404f21411c95062db1496aeb3e56f146f0355c9989319"}, + {file = "pandas-2.2.3-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:6dfcb5ee8d4d50c06a51c2fffa6cff6272098ad6540aed1a76d15fb9318194d8"}, + {file = "pandas-2.2.3-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:062309c1b9ea12a50e8ce661145c6aab431b1e99530d3cd60640e255778bd43a"}, + {file = "pandas-2.2.3-cp312-cp312-win_amd64.whl", hash = "sha256:59ef3764d0fe818125a5097d2ae867ca3fa64df032331b7e0917cf5d7bf66b13"}, + {file = "pandas-2.2.3-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:f00d1345d84d8c86a63e476bb4955e46458b304b9575dcf71102b5c705320015"}, + {file = "pandas-2.2.3-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:3508d914817e153ad359d7e069d752cdd736a247c322d932eb89e6bc84217f28"}, + {file = "pandas-2.2.3-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:22a9d949bfc9a502d320aa04e5d02feab689d61da4e7764b62c30b991c42c5f0"}, + {file = "pandas-2.2.3-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f3a255b2c19987fbbe62a9dfd6cff7ff2aa9ccab3fc75218fd4b7530f01efa24"}, + {file = "pandas-2.2.3-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:800250ecdadb6d9c78eae4990da62743b857b470883fa27f652db8bdde7f6659"}, + {file = "pandas-2.2.3-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:6374c452ff3ec675a8f46fd9ab25c4ad0ba590b71cf0656f8b6daa5202bca3fb"}, + {file = "pandas-2.2.3-cp313-cp313-win_amd64.whl", hash = "sha256:61c5ad4043f791b61dd4752191d9f07f0ae412515d59ba8f005832a532f8736d"}, + {file = "pandas-2.2.3-cp313-cp313t-macosx_10_13_x86_64.whl", hash = "sha256:3b71f27954685ee685317063bf13c7709a7ba74fc996b84fc6821c59b0f06468"}, + {file = "pandas-2.2.3-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:38cf8125c40dae9d5acc10fa66af8ea6fdf760b2714ee482ca691fc66e6fcb18"}, + {file = "pandas-2.2.3-cp313-cp313t-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:ba96630bc17c875161df3818780af30e43be9b166ce51c9a18c1feae342906c2"}, + {file = "pandas-2.2.3-cp313-cp313t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:1db71525a1538b30142094edb9adc10be3f3e176748cd7acc2240c2f2e5aa3a4"}, + {file = "pandas-2.2.3-cp313-cp313t-musllinux_1_2_aarch64.whl", hash = "sha256:15c0e1e02e93116177d29ff83e8b1619c93ddc9c49083f237d4312337a61165d"}, + {file = "pandas-2.2.3-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:ad5b65698ab28ed8d7f18790a0dc58005c7629f227be9ecc1072aa74c0c1d43a"}, + {file = "pandas-2.2.3-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:bc6b93f9b966093cb0fd62ff1a7e4c09e6d546ad7c1de191767baffc57628f39"}, + {file = "pandas-2.2.3-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:5dbca4c1acd72e8eeef4753eeca07de9b1db4f398669d5994086f788a5d7cc30"}, + {file = "pandas-2.2.3-cp39-cp39-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:8cd6d7cc958a3910f934ea8dbdf17b2364827bb4dafc38ce6eef6bb3d65ff09c"}, + {file = "pandas-2.2.3-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:99df71520d25fade9db7c1076ac94eb994f4d2673ef2aa2e86ee039b6746d20c"}, + {file = "pandas-2.2.3-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:31d0ced62d4ea3e231a9f228366919a5ea0b07440d9d4dac345376fd8e1477ea"}, + {file = "pandas-2.2.3-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:7eee9e7cea6adf3e3d24e304ac6b8300646e2a5d1cd3a3c2abed9101b0846761"}, + {file = "pandas-2.2.3-cp39-cp39-win_amd64.whl", hash = "sha256:4850ba03528b6dd51d6c5d273c46f183f39a9baf3f0143e566b89450965b105e"}, + {file = "pandas-2.2.3.tar.gz", hash = "sha256:4f18ba62b61d7e192368b84517265a99b4d7ee8912f8708660fb4a366cc82667"}, +] + +[package.dependencies] +numpy = {version = ">=1.26.0", markers = "python_version >= \"3.12\""} +python-dateutil = ">=2.8.2" +pytz = ">=2020.1" +tzdata = ">=2022.7" + +[package.extras] +all = ["PyQt5 (>=5.15.9)", "SQLAlchemy (>=2.0.0)", "adbc-driver-postgresql (>=0.8.0)", "adbc-driver-sqlite (>=0.8.0)", "beautifulsoup4 (>=4.11.2)", "bottleneck (>=1.3.6)", "dataframe-api-compat (>=0.1.7)", "fastparquet (>=2022.12.0)", "fsspec (>=2022.11.0)", "gcsfs (>=2022.11.0)", "html5lib (>=1.1)", "hypothesis (>=6.46.1)", "jinja2 (>=3.1.2)", "lxml (>=4.9.2)", "matplotlib (>=3.6.3)", "numba (>=0.56.4)", "numexpr (>=2.8.4)", "odfpy (>=1.4.1)", "openpyxl (>=3.1.0)", "pandas-gbq (>=0.19.0)", "psycopg2 (>=2.9.6)", "pyarrow (>=10.0.1)", "pymysql (>=1.0.2)", "pyreadstat (>=1.2.0)", "pytest (>=7.3.2)", "pytest-xdist (>=2.2.0)", "python-calamine (>=0.1.7)", "pyxlsb (>=1.0.10)", "qtpy (>=2.3.0)", "s3fs (>=2022.11.0)", "scipy (>=1.10.0)", "tables (>=3.8.0)", "tabulate (>=0.9.0)", "xarray (>=2022.12.0)", "xlrd (>=2.0.1)", "xlsxwriter (>=3.0.5)", "zstandard (>=0.19.0)"] +aws = ["s3fs (>=2022.11.0)"] +clipboard = ["PyQt5 (>=5.15.9)", "qtpy (>=2.3.0)"] +compression = ["zstandard (>=0.19.0)"] +computation = ["scipy (>=1.10.0)", "xarray (>=2022.12.0)"] +consortium-standard = ["dataframe-api-compat (>=0.1.7)"] +excel = ["odfpy (>=1.4.1)", "openpyxl (>=3.1.0)", "python-calamine (>=0.1.7)", "pyxlsb (>=1.0.10)", "xlrd (>=2.0.1)", "xlsxwriter (>=3.0.5)"] +feather = ["pyarrow (>=10.0.1)"] +fss = ["fsspec (>=2022.11.0)"] +gcp = ["gcsfs (>=2022.11.0)", "pandas-gbq (>=0.19.0)"] +hdf5 = ["tables (>=3.8.0)"] +html = ["beautifulsoup4 (>=4.11.2)", "html5lib (>=1.1)", "lxml (>=4.9.2)"] +mysql = ["SQLAlchemy (>=2.0.0)", "pymysql (>=1.0.2)"] +output-formatting = ["jinja2 (>=3.1.2)", "tabulate (>=0.9.0)"] +parquet = ["pyarrow (>=10.0.1)"] +performance = ["bottleneck (>=1.3.6)", "numba (>=0.56.4)", "numexpr (>=2.8.4)"] +plot = ["matplotlib (>=3.6.3)"] +postgresql = ["SQLAlchemy (>=2.0.0)", "adbc-driver-postgresql (>=0.8.0)", "psycopg2 (>=2.9.6)"] +pyarrow = ["pyarrow (>=10.0.1)"] +spss = ["pyreadstat (>=1.2.0)"] +sql-other = ["SQLAlchemy (>=2.0.0)", "adbc-driver-postgresql (>=0.8.0)", "adbc-driver-sqlite (>=0.8.0)"] +test = ["hypothesis (>=6.46.1)", "pytest (>=7.3.2)", "pytest-xdist (>=2.2.0)"] +xml = ["lxml (>=4.9.2)"] + [[package]] name = "pandocfilters" version = "1.5.1" @@ -3462,7 +3546,7 @@ files = [ {file = "pycparser-2.22-py3-none-any.whl", hash = "sha256:c3702b6d3dd8c7abc1afa565d7e63d53a1d0bd86cdc24edd75470f4de499cfcc"}, {file = "pycparser-2.22.tar.gz", hash = "sha256:491c8be9c040f5390f5bf44a5b07752bd07f56edf992381b05c701439eec10f6"}, ] -markers = {build = "sys_platform == \"linux\" and (platform_machine != \"ppc64le\" and platform_machine != \"s390x\" or python_version <= \"3.11\") and platform_python_implementation != \"PyPy\" and (python_version <= \"3.11\" or python_version >= \"3.12\") and (platform_machine == \"arm64\" or platform_machine == \"aarch64\" or platform_machine != \"ppc64le\" and platform_machine != \"s390x\") and (platform_machine == \"arm64\" or platform_machine == \"aarch64\" or platform_system != \"Darwin\" or platform_machine != \"ppc64le\" and platform_machine != \"s390x\" and platform_machine != \"arm64\" or python_version >= \"3.9\") and (platform_machine == \"arm64\" or platform_machine == \"aarch64\" or platform_system != \"Linux\" or platform_machine != \"ppc64le\" and platform_machine != \"s390x\" and platform_machine != \"aarch64\" or python_version >= \"3.9\")", dev = "python_version <= \"3.11\" or python_version >= \"3.12\"", docs = "python_version <= \"3.11\" or python_version >= \"3.12\""} +markers = {build = "sys_platform == \"linux\" and (platform_machine != \"ppc64le\" and platform_machine != \"s390x\" or python_version <= \"3.11\") and platform_python_implementation != \"PyPy\" and (python_version <= \"3.11\" or python_version >= \"3.12\") and (platform_machine == \"arm64\" or platform_machine == \"aarch64\" or platform_machine != \"ppc64le\" and platform_machine != \"s390x\") and (platform_machine == \"arm64\" or platform_machine == \"aarch64\" or platform_system != \"Linux\" or platform_machine != \"ppc64le\" and platform_machine != \"s390x\" and platform_machine != \"aarch64\" or python_version >= \"3.9\") and (platform_machine == \"arm64\" or platform_machine == \"aarch64\" or platform_system != \"Darwin\" or platform_machine != \"ppc64le\" and platform_machine != \"s390x\" and platform_machine != \"arm64\" or python_version >= \"3.9\")", dev = "python_version <= \"3.11\" or python_version >= \"3.12\"", docs = "python_version <= \"3.11\" or python_version >= \"3.12\""} [[package]] name = "pygments" @@ -3636,7 +3720,7 @@ files = [ {file = "pytz-2024.2-py2.py3-none-any.whl", hash = "sha256:31c7c1817eb7fae7ca4b8c7ee50c72f93aa2dd863de768e1ef4245d426aa0725"}, {file = "pytz-2024.2.tar.gz", hash = "sha256:2aa355083c50a0f93fa581709deac0c9ad65cca8a9e9beac660adcbd493c798a"}, ] -markers = {main = "python_version <= \"3.11\" or python_version >= \"3.12\"", dev = "python_version < \"3.9\"", docs = "python_version <= \"3.11\" or python_version >= \"3.12\""} +markers = {main = "(python_version <= \"3.11\" or python_version >= \"3.12\") and extra == \"metrics\"", dev = "python_version < \"3.9\"", docs = "python_version <= \"3.11\" or python_version >= \"3.12\""} [[package]] name = "pywin32" @@ -3674,7 +3758,7 @@ description = "A (partial) reimplementation of pywin32 using ctypes/cffi" optional = false python-versions = ">=3.6" groups = ["build"] -markers = "sys_platform == \"win32\" and (platform_machine != \"ppc64le\" and platform_machine != \"s390x\" or python_version <= \"3.11\") and (python_version <= \"3.11\" or python_version >= \"3.12\") and (platform_machine == \"arm64\" or platform_machine == \"aarch64\" or platform_machine != \"ppc64le\" and platform_machine != \"s390x\") and (platform_machine == \"arm64\" or platform_machine == \"aarch64\" or platform_system != \"Darwin\" or platform_machine != \"ppc64le\" and platform_machine != \"s390x\" and platform_machine != \"arm64\" or python_version >= \"3.9\") and (platform_machine == \"arm64\" or platform_machine == \"aarch64\" or platform_system != \"Linux\" or platform_machine != \"ppc64le\" and platform_machine != \"s390x\" and platform_machine != \"aarch64\" or python_version >= \"3.9\")" +markers = "sys_platform == \"win32\" and (platform_machine != \"ppc64le\" and platform_machine != \"s390x\" or python_version <= \"3.11\") and (python_version <= \"3.11\" or python_version >= \"3.12\") and (platform_machine == \"arm64\" or platform_machine == \"aarch64\" or platform_machine != \"ppc64le\" and platform_machine != \"s390x\") and (platform_machine == \"arm64\" or platform_machine == \"aarch64\" or platform_system != \"Linux\" or platform_machine != \"ppc64le\" and platform_machine != \"s390x\" and platform_machine != \"aarch64\" or python_version >= \"3.9\") and (platform_machine == \"arm64\" or platform_machine == \"aarch64\" or platform_system != \"Darwin\" or platform_machine != \"ppc64le\" and platform_machine != \"s390x\" and platform_machine != \"arm64\" or python_version >= \"3.9\")" files = [ {file = "pywin32-ctypes-0.2.3.tar.gz", hash = "sha256:d162dc04946d704503b2edc4d55f3dba5c1d539ead017afa00142c38b9885755"}, {file = "pywin32_ctypes-0.2.3-py3-none-any.whl", hash = "sha256:8a1513379d709975552d202d942d9837758905c8d01eb82b8bcc30918929e7b8"}, @@ -4412,7 +4496,7 @@ description = "Python bindings to FreeDesktop.org Secret Service API" optional = false python-versions = ">=3.6" groups = ["build"] -markers = "sys_platform == \"linux\" and (platform_machine != \"ppc64le\" and platform_machine != \"s390x\" or python_version <= \"3.11\") and (python_version <= \"3.11\" or python_version >= \"3.12\") and (platform_machine == \"arm64\" or platform_machine == \"aarch64\" or platform_machine != \"ppc64le\" and platform_machine != \"s390x\") and (platform_machine == \"arm64\" or platform_machine == \"aarch64\" or platform_system != \"Darwin\" or platform_machine != \"ppc64le\" and platform_machine != \"s390x\" and platform_machine != \"arm64\" or python_version >= \"3.9\") and (platform_machine == \"arm64\" or platform_machine == \"aarch64\" or platform_system != \"Linux\" or platform_machine != \"ppc64le\" and platform_machine != \"s390x\" and platform_machine != \"aarch64\" or python_version >= \"3.9\")" +markers = "sys_platform == \"linux\" and (platform_machine != \"ppc64le\" and platform_machine != \"s390x\" or python_version <= \"3.11\") and (python_version <= \"3.11\" or python_version >= \"3.12\") and (platform_machine == \"arm64\" or platform_machine == \"aarch64\" or platform_machine != \"ppc64le\" and platform_machine != \"s390x\") and (platform_machine == \"arm64\" or platform_machine == \"aarch64\" or platform_system != \"Linux\" or platform_machine != \"ppc64le\" and platform_machine != \"s390x\" and platform_machine != \"aarch64\" or python_version >= \"3.9\") and (platform_machine == \"arm64\" or platform_machine == \"aarch64\" or platform_system != \"Darwin\" or platform_machine != \"ppc64le\" and platform_machine != \"s390x\" and platform_machine != \"arm64\" or python_version >= \"3.9\")" files = [ {file = "SecretStorage-3.3.3-py3-none-any.whl", hash = "sha256:f356e6628222568e3af06f2eba8df495efa13b3b63081dafd4f7d9a7b7bc9f99"}, {file = "SecretStorage-3.3.3.tar.gz", hash = "sha256:2403533ef369eca6d2ba81718576c5e0f564d5cca1b58f73a8b23e7d4eeebd77"}, @@ -4770,10 +4854,10 @@ files = [ name = "tzdata" version = "2024.2" description = "Provider of IANA time zone data" -optional = false +optional = true python-versions = ">=2" groups = ["main"] -markers = "python_version <= \"3.11\" or python_version >= \"3.12\"" +markers = "(python_version <= \"3.11\" or python_version >= \"3.12\") and extra == \"metrics\"" files = [ {file = "tzdata-2024.2-py2.py3-none-any.whl", hash = "sha256:a48093786cdcde33cad18c2555e8532f34422074448fbc874186f0abd79565cd"}, {file = "tzdata-2024.2.tar.gz", hash = "sha256:7d85cc416e9382e69095b7bdf4afd9e3880418a2413feec7069d533d6b4e31cc"}, @@ -5013,9 +5097,9 @@ test = ["big-O", "importlib-resources", "jaraco.functools", "jaraco.itertools", type = ["pytest-mypy"] [extras] -metrics = ["pandas"] +metrics = ["pandas", "pandas"] [metadata] lock-version = "2.1" python-versions = ">=3.8" -content-hash = "98f7b50524f3a498de5f7e661977d148ae4341f59803a7147ff132e49d065899" +content-hash = "d47160f903210fd29e15d3eb43b663f0c40004b1a5853395de597b68f9bb56ab" diff --git a/pyproject.toml b/pyproject.toml index 78d9fd9f91..f85052fb2a 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -50,7 +50,6 @@ dependencies = [ "pillow>=9.4", "requests>=2.26.0", "tqdm>=4.62.3", - "pandas>=2.0.0", "opencv-python>=4.5.5.64" ] @@ -60,7 +59,10 @@ Repository = "https://github.com/roboflow/supervision" Documentation = "https://supervision.roboflow.com/latest/" [project.optional-dependencies] -metrics = ["pandas"] +metrics = [ + "pandas>=2.0.0; python_version < '3.13'", + "pandas>=2.2.3; python_version >= '3.13'" +] [tool.poetry] # Keep version here since it's dynamic From 2ed66bfffc20889a8c60dcb52f26dac1bd1ca0a0 Mon Sep 17 00:00:00 2001 From: patel-zeel Date: Tue, 7 Jan 2025 22:16:05 +0530 Subject: [PATCH 094/420] expand support to grayscale similar to cv2 --- supervision/dataset/formats/yolo.py | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/supervision/dataset/formats/yolo.py b/supervision/dataset/formats/yolo.py index bae938c234..602715945d 100644 --- a/supervision/dataset/formats/yolo.py +++ b/supervision/dataset/formats/yolo.py @@ -173,9 +173,13 @@ def load_yolo_annotations( w, h = image.size resolution_wh = (w, h) if image.mode != "RGB": - raise ValueError( - f"Images must be 'RGB', but {image_path} is '{image.mode}'." - ) + if image.mode == "L": + image = image.convert("RGB") + else: + raise ValueError( + f"Images must be 'RGB' or 'grayscale', \ + but {image_path} mode is '{image.mode}'." + ) with_masks = _with_mask(lines=lines) with_masks = force_masks if force_masks else with_masks From d33c159a267b6544e4a507b4b1a1f479aaf60197 Mon Sep 17 00:00:00 2001 From: patel-zeel Date: Wed, 8 Jan 2025 15:02:05 +0530 Subject: [PATCH 095/420] explicit extensions, simplified code, speed improvement --- supervision/dataset/formats/yolo.py | 26 +++++++++++++++++--------- 1 file changed, 17 insertions(+), 9 deletions(-) diff --git a/supervision/dataset/formats/yolo.py b/supervision/dataset/formats/yolo.py index 602715945d..7e5a9d4541 100644 --- a/supervision/dataset/formats/yolo.py +++ b/supervision/dataset/formats/yolo.py @@ -153,7 +153,18 @@ def load_yolo_annotations( image_paths = [ str(path) for path in list_files_with_extensions( - directory=images_directory_path, extensions=["*"] + directory=images_directory_path, + extensions=[ + "bmp", + "dng", + "jpg", + "jpeg", + "mpo", + "png", + "tif", + "tiff", + "webp", + ], ) ] @@ -172,14 +183,11 @@ def load_yolo_annotations( lines = read_txt_file(file_path=annotation_path, skip_empty=True) w, h = image.size resolution_wh = (w, h) - if image.mode != "RGB": - if image.mode == "L": - image = image.convert("RGB") - else: - raise ValueError( - f"Images must be 'RGB' or 'grayscale', \ - but {image_path} mode is '{image.mode}'." - ) + if image.mode not in ("RGB", "L"): + raise ValueError( + f"Images must be 'RGB' or 'grayscale', \ + but {image_path} mode is '{image.mode}'." + ) with_masks = _with_mask(lines=lines) with_masks = force_masks if force_masks else with_masks From 730bbd246c995be76a2b18325ae71d2431a42e1e Mon Sep 17 00:00:00 2001 From: Onuralp SEZER Date: Wed, 8 Jan 2025 23:09:25 +0300 Subject: [PATCH 096/420] =?UTF-8?q?ci:=20=F0=9F=91=B7=20replace=20Poetry?= =?UTF-8?q?=20workflow=20with=20UV=20testing=20workflow=20and=20update=20d?= =?UTF-8?q?ependencies=20in=20pyproject.toml?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Onuralp SEZER --- .github/workflows/poetry-test.yml | 45 - .github/workflows/uv-test.yml | 39 + poetry.lock | 5105 --------------------------- pyproject.toml | 72 +- uv.lock | 5361 +++++++++++++++++++++++++++++ 5 files changed, 5434 insertions(+), 5188 deletions(-) delete mode 100644 .github/workflows/poetry-test.yml create mode 100644 .github/workflows/uv-test.yml delete mode 100644 poetry.lock create mode 100644 uv.lock diff --git a/.github/workflows/poetry-test.yml b/.github/workflows/poetry-test.yml deleted file mode 100644 index 831aaf3c81..0000000000 --- a/.github/workflows/poetry-test.yml +++ /dev/null @@ -1,45 +0,0 @@ -name: 🔧 Poetry Checks and Test Workflow -on: - push: - paths: - - "poetry.lock" - - "pyproject.toml" - pull_request: - paths: - - "poetry.lock" - - "pyproject.toml" - workflow_dispatch: - -jobs: - poetry-tests: - name: Poetry install and check - timeout-minutes: 10 - strategy: - fail-fast: false - matrix: - os: [ubuntu-latest, windows-latest, macos-latest] - python-version: ["3.8", "3.9", "3.10", "3.11", "3.12", "3.13"] - runs-on: ${{ matrix.os }} - steps: - - name: 📥 Checkout the repository - uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 - - - name: 🐍 Set up Python ${{ matrix.python-version }} - uses: actions/setup-python@0b93645e9fea7318ecaed2b359559ac225c90a2b # v5.3.0 - with: - python-version: ${{ matrix.python-version }} - - - name: 📜 Setup Poetry - uses: abatilo/actions-poetry@3765cf608f2d4a72178a9fc5b918668e542b89b1 # v4.0.0 - - - name: 🔍 Check the correctness of the project config - run: poetry check - - - name: 🚀 Do Install the package Test - run: poetry install --with dev --extras metrics - - - name: 🧪 Run the Import test - run: poetry run python -c "import supervision; from supervision import assets; from supervision import metrics; print(supervision.__version__)" - - - name: 🧪 Run the Test - run: poetry run pytest diff --git a/.github/workflows/uv-test.yml b/.github/workflows/uv-test.yml new file mode 100644 index 0000000000..837d624691 --- /dev/null +++ b/.github/workflows/uv-test.yml @@ -0,0 +1,39 @@ +name: 🔧 Uv Checks and Test Workflow +on: + push: + paths: + - "uv.lock" + - "pyproject.toml" + pull_request: + paths: + - "uv.lock" + - "pyproject.toml" + workflow_dispatch: + +jobs: + poetry-tests: + name: Uv install and check + timeout-minutes: 10 + strategy: + fail-fast: false + matrix: + os: [ubuntu-latest, windows-latest, macos-latest] + python-version: ["3.8", "3.9", "3.10", "3.11", "3.12", "3.13"] + runs-on: ${{ matrix.os }} + steps: + - name: 📥 Checkout the repository + uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 + + - name: 🐍 Install uv and set Python version ${{ matrix.python-version }} + uses: astral-sh/setup-uv@v5 + with: + python-version: ${{ matrix.python-version }} + + - name: 🚀 Install Packages + run: uv pip install -r pyproject.toml --extra dev --extra docs --extra metrics + + - name: 🧪 Run the Import test + run: uv run python -c "import supervision; from supervision import assets; from supervision import metrics; print(supervision.__version__)" + + - name: 🧪 Run the Test + run: uv run pytest diff --git a/poetry.lock b/poetry.lock deleted file mode 100644 index 2767d2a182..0000000000 --- a/poetry.lock +++ /dev/null @@ -1,5105 +0,0 @@ -# This file is automatically @generated by Poetry 2.0.0 and should not be changed by hand. - -[[package]] -name = "anyio" -version = "4.5.2" -description = "High level compatibility layer for multiple asynchronous event loop implementations" -optional = false -python-versions = ">=3.8" -groups = ["dev"] -markers = "python_version <= \"3.11\" or python_version >= \"3.12\"" -files = [ - {file = "anyio-4.5.2-py3-none-any.whl", hash = "sha256:c011ee36bc1e8ba40e5a81cb9df91925c218fe9b778554e0b56a21e1b5d4716f"}, - {file = "anyio-4.5.2.tar.gz", hash = "sha256:23009af4ed04ce05991845451e11ef02fc7c5ed29179ac9a420e5ad0ac7ddc5b"}, -] - -[package.dependencies] -exceptiongroup = {version = ">=1.0.2", markers = "python_version < \"3.11\""} -idna = ">=2.8" -sniffio = ">=1.1" -typing-extensions = {version = ">=4.1", markers = "python_version < \"3.11\""} - -[package.extras] -doc = ["Sphinx (>=7.4,<8.0)", "packaging", "sphinx-autodoc-typehints (>=1.2.0)", "sphinx-rtd-theme"] -test = ["anyio[trio]", "coverage[toml] (>=7)", "exceptiongroup (>=1.2.0)", "hypothesis (>=4.0)", "psutil (>=5.9)", "pytest (>=7.0)", "pytest-mock (>=3.6.1)", "trustme", "truststore (>=0.9.1)", "uvloop (>=0.21.0b1)"] -trio = ["trio (>=0.26.1)"] - -[[package]] -name = "appnope" -version = "0.1.4" -description = "Disable App Nap on macOS >= 10.9" -optional = false -python-versions = ">=3.6" -groups = ["dev", "docs"] -markers = "(python_version <= \"3.11\" or python_version >= \"3.12\") and (platform_system == \"Darwin\" or sys_platform == \"darwin\")" -files = [ - {file = "appnope-0.1.4-py2.py3-none-any.whl", hash = "sha256:502575ee11cd7a28c0205f379b525beefebab9d161b7c964670864014ed7213c"}, - {file = "appnope-0.1.4.tar.gz", hash = "sha256:1de3860566df9caf38f01f86f65e0e13e379af54f9e4bee1e66b48f2efffd1ee"}, -] - -[[package]] -name = "argon2-cffi" -version = "23.1.0" -description = "Argon2 for Python" -optional = false -python-versions = ">=3.7" -groups = ["dev"] -markers = "python_version <= \"3.11\" or python_version >= \"3.12\"" -files = [ - {file = "argon2_cffi-23.1.0-py3-none-any.whl", hash = "sha256:c670642b78ba29641818ab2e68bd4e6a78ba53b7eff7b4c3815ae16abf91c7ea"}, - {file = "argon2_cffi-23.1.0.tar.gz", hash = "sha256:879c3e79a2729ce768ebb7d36d4609e3a78a4ca2ec3a9f12286ca057e3d0db08"}, -] - -[package.dependencies] -argon2-cffi-bindings = "*" - -[package.extras] -dev = ["argon2-cffi[tests,typing]", "tox (>4)"] -docs = ["furo", "myst-parser", "sphinx", "sphinx-copybutton", "sphinx-notfound-page"] -tests = ["hypothesis", "pytest"] -typing = ["mypy"] - -[[package]] -name = "argon2-cffi-bindings" -version = "21.2.0" -description = "Low-level CFFI bindings for Argon2" -optional = false -python-versions = ">=3.6" -groups = ["dev"] -markers = "python_version <= \"3.11\" or python_version >= \"3.12\"" -files = [ - {file = "argon2-cffi-bindings-21.2.0.tar.gz", hash = "sha256:bb89ceffa6c791807d1305ceb77dbfacc5aa499891d2c55661c6459651fc39e3"}, - {file = "argon2_cffi_bindings-21.2.0-cp36-abi3-macosx_10_9_x86_64.whl", hash = "sha256:ccb949252cb2ab3a08c02024acb77cfb179492d5701c7cbdbfd776124d4d2367"}, - {file = "argon2_cffi_bindings-21.2.0-cp36-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:9524464572e12979364b7d600abf96181d3541da11e23ddf565a32e70bd4dc0d"}, - {file = "argon2_cffi_bindings-21.2.0-cp36-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:b746dba803a79238e925d9046a63aa26bf86ab2a2fe74ce6b009a1c3f5c8f2ae"}, - {file = "argon2_cffi_bindings-21.2.0-cp36-abi3-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:58ed19212051f49a523abb1dbe954337dc82d947fb6e5a0da60f7c8471a8476c"}, - {file = "argon2_cffi_bindings-21.2.0-cp36-abi3-musllinux_1_1_aarch64.whl", hash = "sha256:bd46088725ef7f58b5a1ef7ca06647ebaf0eb4baff7d1d0d177c6cc8744abd86"}, - {file = "argon2_cffi_bindings-21.2.0-cp36-abi3-musllinux_1_1_i686.whl", hash = "sha256:8cd69c07dd875537a824deec19f978e0f2078fdda07fd5c42ac29668dda5f40f"}, - {file = "argon2_cffi_bindings-21.2.0-cp36-abi3-musllinux_1_1_x86_64.whl", hash = "sha256:f1152ac548bd5b8bcecfb0b0371f082037e47128653df2e8ba6e914d384f3c3e"}, - {file = "argon2_cffi_bindings-21.2.0-cp36-abi3-win32.whl", hash = "sha256:603ca0aba86b1349b147cab91ae970c63118a0f30444d4bc80355937c950c082"}, - {file = "argon2_cffi_bindings-21.2.0-cp36-abi3-win_amd64.whl", hash = "sha256:b2ef1c30440dbbcba7a5dc3e319408b59676e2e039e2ae11a8775ecf482b192f"}, - {file = "argon2_cffi_bindings-21.2.0-cp38-abi3-macosx_10_9_universal2.whl", hash = "sha256:e415e3f62c8d124ee16018e491a009937f8cf7ebf5eb430ffc5de21b900dad93"}, - {file = "argon2_cffi_bindings-21.2.0-pp37-pypy37_pp73-macosx_10_9_x86_64.whl", hash = "sha256:3e385d1c39c520c08b53d63300c3ecc28622f076f4c2b0e6d7e796e9f6502194"}, - {file = "argon2_cffi_bindings-21.2.0-pp37-pypy37_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:2c3e3cc67fdb7d82c4718f19b4e7a87123caf8a93fde7e23cf66ac0337d3cb3f"}, - {file = "argon2_cffi_bindings-21.2.0-pp37-pypy37_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:6a22ad9800121b71099d0fb0a65323810a15f2e292f2ba450810a7316e128ee5"}, - {file = "argon2_cffi_bindings-21.2.0-pp37-pypy37_pp73-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:f9f8b450ed0547e3d473fdc8612083fd08dd2120d6ac8f73828df9b7d45bb351"}, - {file = "argon2_cffi_bindings-21.2.0-pp37-pypy37_pp73-win_amd64.whl", hash = "sha256:93f9bf70084f97245ba10ee36575f0c3f1e7d7724d67d8e5b08e61787c320ed7"}, - {file = "argon2_cffi_bindings-21.2.0-pp38-pypy38_pp73-macosx_10_9_x86_64.whl", hash = "sha256:3b9ef65804859d335dc6b31582cad2c5166f0c3e7975f324d9ffaa34ee7e6583"}, - {file = "argon2_cffi_bindings-21.2.0-pp38-pypy38_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d4966ef5848d820776f5f562a7d45fdd70c2f330c961d0d745b784034bd9f48d"}, - {file = "argon2_cffi_bindings-21.2.0-pp38-pypy38_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:20ef543a89dee4db46a1a6e206cd015360e5a75822f76df533845c3cbaf72670"}, - {file = "argon2_cffi_bindings-21.2.0-pp38-pypy38_pp73-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:ed2937d286e2ad0cc79a7087d3c272832865f779430e0cc2b4f3718d3159b0cb"}, - {file = "argon2_cffi_bindings-21.2.0-pp38-pypy38_pp73-win_amd64.whl", hash = "sha256:5e00316dabdaea0b2dd82d141cc66889ced0cdcbfa599e8b471cf22c620c329a"}, -] - -[package.dependencies] -cffi = ">=1.0.1" - -[package.extras] -dev = ["cogapp", "pre-commit", "pytest", "wheel"] -tests = ["pytest"] - -[[package]] -name = "arrow" -version = "1.3.0" -description = "Better dates & times for Python" -optional = false -python-versions = ">=3.8" -groups = ["dev"] -markers = "python_version <= \"3.11\" or python_version >= \"3.12\"" -files = [ - {file = "arrow-1.3.0-py3-none-any.whl", hash = "sha256:c728b120ebc00eb84e01882a6f5e7927a53960aa990ce7dd2b10f39005a67f80"}, - {file = "arrow-1.3.0.tar.gz", hash = "sha256:d4540617648cb5f895730f1ad8c82a65f2dad0166f57b75f3ca54759c4d67a85"}, -] - -[package.dependencies] -python-dateutil = ">=2.7.0" -types-python-dateutil = ">=2.8.10" - -[package.extras] -doc = ["doc8", "sphinx (>=7.0.0)", "sphinx-autobuild", "sphinx-autodoc-typehints", "sphinx_rtd_theme (>=1.3.0)"] -test = ["dateparser (==1.*)", "pre-commit", "pytest", "pytest-cov", "pytest-mock", "pytz (==2021.1)", "simplejson (==3.*)"] - -[[package]] -name = "asttokens" -version = "3.0.0" -description = "Annotate AST trees with source code positions" -optional = false -python-versions = ">=3.8" -groups = ["dev", "docs"] -markers = "python_version <= \"3.11\" or python_version >= \"3.12\"" -files = [ - {file = "asttokens-3.0.0-py3-none-any.whl", hash = "sha256:e3078351a059199dd5138cb1c706e6430c05eff2ff136af5eb4790f9d28932e2"}, - {file = "asttokens-3.0.0.tar.gz", hash = "sha256:0dcd8baa8d62b0c1d118b399b2ddba3c4aff271d0d7a9e0d4c1681c79035bbc7"}, -] - -[package.extras] -astroid = ["astroid (>=2,<4)"] -test = ["astroid (>=2,<4)", "pytest", "pytest-cov", "pytest-xdist"] - -[[package]] -name = "astunparse" -version = "1.6.3" -description = "An AST unparser for Python" -optional = false -python-versions = "*" -groups = ["docs"] -markers = "python_version < \"3.9\"" -files = [ - {file = "astunparse-1.6.3-py2.py3-none-any.whl", hash = "sha256:c2652417f2c8b5bb325c885ae329bdf3f86424075c4fd1a128674bc6fba4b8e8"}, - {file = "astunparse-1.6.3.tar.gz", hash = "sha256:5ad93a8456f0d084c3456d059fd9a92cce667963232cbf763eac3bc5b7940872"}, -] - -[package.dependencies] -six = ">=1.6.1,<2.0" -wheel = ">=0.23.0,<1.0" - -[[package]] -name = "async-lru" -version = "2.0.4" -description = "Simple LRU cache for asyncio" -optional = false -python-versions = ">=3.8" -groups = ["dev"] -markers = "python_version <= \"3.11\" or python_version >= \"3.12\"" -files = [ - {file = "async-lru-2.0.4.tar.gz", hash = "sha256:b8a59a5df60805ff63220b2a0c5b5393da5521b113cd5465a44eb037d81a5627"}, - {file = "async_lru-2.0.4-py3-none-any.whl", hash = "sha256:ff02944ce3c288c5be660c42dbcca0742b32c3b279d6dceda655190240b99224"}, -] - -[package.dependencies] -typing-extensions = {version = ">=4.0.0", markers = "python_version < \"3.11\""} - -[[package]] -name = "attrs" -version = "24.3.0" -description = "Classes Without Boilerplate" -optional = false -python-versions = ">=3.8" -groups = ["dev", "docs"] -markers = "python_version <= \"3.11\" or python_version >= \"3.12\"" -files = [ - {file = "attrs-24.3.0-py3-none-any.whl", hash = "sha256:ac96cd038792094f438ad1f6ff80837353805ac950cd2aa0e0625ef19850c308"}, - {file = "attrs-24.3.0.tar.gz", hash = "sha256:8f5c07333d543103541ba7be0e2ce16eeee8130cb0b3f9238ab904ce1e85baff"}, -] - -[package.extras] -benchmark = ["cloudpickle", "hypothesis", "mypy (>=1.11.1)", "pympler", "pytest (>=4.3.0)", "pytest-codspeed", "pytest-mypy-plugins", "pytest-xdist[psutil]"] -cov = ["cloudpickle", "coverage[toml] (>=5.3)", "hypothesis", "mypy (>=1.11.1)", "pympler", "pytest (>=4.3.0)", "pytest-mypy-plugins", "pytest-xdist[psutil]"] -dev = ["cloudpickle", "hypothesis", "mypy (>=1.11.1)", "pre-commit-uv", "pympler", "pytest (>=4.3.0)", "pytest-mypy-plugins", "pytest-xdist[psutil]"] -docs = ["cogapp", "furo", "myst-parser", "sphinx", "sphinx-notfound-page", "sphinxcontrib-towncrier", "towncrier (<24.7)"] -tests = ["cloudpickle", "hypothesis", "mypy (>=1.11.1)", "pympler", "pytest (>=4.3.0)", "pytest-mypy-plugins", "pytest-xdist[psutil]"] -tests-mypy = ["mypy (>=1.11.1)", "pytest-mypy-plugins"] - -[[package]] -name = "babel" -version = "2.16.0" -description = "Internationalization utilities" -optional = false -python-versions = ">=3.8" -groups = ["dev", "docs"] -markers = "python_version <= \"3.11\" or python_version >= \"3.12\"" -files = [ - {file = "babel-2.16.0-py3-none-any.whl", hash = "sha256:368b5b98b37c06b7daf6696391c3240c938b37767d4584413e8438c5c435fa8b"}, - {file = "babel-2.16.0.tar.gz", hash = "sha256:d1f3554ca26605fe173f3de0c65f750f5a42f924499bf134de6423582298e316"}, -] - -[package.dependencies] -pytz = {version = ">=2015.7", markers = "python_version < \"3.9\""} - -[package.extras] -dev = ["freezegun (>=1.0,<2.0)", "pytest (>=6.0)", "pytest-cov"] - -[[package]] -name = "backcall" -version = "0.2.0" -description = "Specifications for callback functions passed in to an API" -optional = false -python-versions = "*" -groups = ["dev", "docs"] -markers = "python_version <= \"3.11\" or python_version >= \"3.12\"" -files = [ - {file = "backcall-0.2.0-py2.py3-none-any.whl", hash = "sha256:fbbce6a29f263178a1f7915c1940bde0ec2b2a967566fe1c65c1dfb7422bd255"}, - {file = "backcall-0.2.0.tar.gz", hash = "sha256:5cbdbf27be5e7cfadb448baf0aa95508f91f2bbc6c6437cd9cd06e2a4c215e1e"}, -] - -[[package]] -name = "backports-tarfile" -version = "1.2.0" -description = "Backport of CPython tarfile module" -optional = false -python-versions = ">=3.8" -groups = ["build"] -markers = "python_version <= \"3.11\" and (platform_machine == \"arm64\" or platform_machine == \"aarch64\" or platform_machine != \"ppc64le\" and platform_machine != \"s390x\") and (platform_machine == \"arm64\" or platform_machine == \"aarch64\" or platform_system != \"Linux\" or platform_machine != \"ppc64le\" and platform_machine != \"s390x\" and platform_machine != \"aarch64\" or python_version >= \"3.9\") and (platform_machine == \"arm64\" or platform_machine == \"aarch64\" or platform_system != \"Darwin\" or platform_machine != \"ppc64le\" and platform_machine != \"s390x\" and platform_machine != \"arm64\" or python_version >= \"3.9\")" -files = [ - {file = "backports.tarfile-1.2.0-py3-none-any.whl", hash = "sha256:77e284d754527b01fb1e6fa8a1afe577858ebe4e9dad8919e34c862cb399bc34"}, - {file = "backports_tarfile-1.2.0.tar.gz", hash = "sha256:d75e02c268746e1b8144c278978b6e98e85de6ad16f8e4b0844a154557eca991"}, -] - -[package.extras] -docs = ["furo", "jaraco.packaging (>=9.3)", "rst.linker (>=1.9)", "sphinx (>=3.5)", "sphinx-lint"] -testing = ["jaraco.test", "pytest (!=8.0.*)", "pytest (>=6,!=8.1.*)", "pytest-checkdocs (>=2.4)", "pytest-cov", "pytest-enabler (>=2.2)"] - -[[package]] -name = "beautifulsoup4" -version = "4.12.3" -description = "Screen-scraping library" -optional = false -python-versions = ">=3.6.0" -groups = ["dev", "docs"] -markers = "python_version <= \"3.11\" or python_version >= \"3.12\"" -files = [ - {file = "beautifulsoup4-4.12.3-py3-none-any.whl", hash = "sha256:b80878c9f40111313e55da8ba20bdba06d8fa3969fc68304167741bbf9e082ed"}, - {file = "beautifulsoup4-4.12.3.tar.gz", hash = "sha256:74e3d1928edc070d21748185c46e3fb33490f22f52a3addee9aee0f4f7781051"}, -] - -[package.dependencies] -soupsieve = ">1.2" - -[package.extras] -cchardet = ["cchardet"] -chardet = ["chardet"] -charset-normalizer = ["charset-normalizer"] -html5lib = ["html5lib"] -lxml = ["lxml"] - -[[package]] -name = "bleach" -version = "6.1.0" -description = "An easy safelist-based HTML-sanitizing tool." -optional = false -python-versions = ">=3.8" -groups = ["dev", "docs"] -markers = "python_version <= \"3.11\" or python_version >= \"3.12\"" -files = [ - {file = "bleach-6.1.0-py3-none-any.whl", hash = "sha256:3225f354cfc436b9789c66c4ee030194bee0568fbf9cbdad3bc8b5c26c5f12b6"}, - {file = "bleach-6.1.0.tar.gz", hash = "sha256:0a31f1837963c41d46bbf1331b8778e1308ea0791db03cc4e7357b97cf42a8fe"}, -] - -[package.dependencies] -six = ">=1.9.0" -tinycss2 = {version = ">=1.1.0,<1.3", optional = true, markers = "extra == \"css\""} -webencodings = "*" - -[package.extras] -css = ["tinycss2 (>=1.1.0,<1.3)"] - -[[package]] -name = "build" -version = "1.2.2.post1" -description = "A simple, correct Python build frontend" -optional = false -python-versions = ">=3.8" -groups = ["build"] -markers = "python_version <= \"3.11\" or python_version >= \"3.12\"" -files = [ - {file = "build-1.2.2.post1-py3-none-any.whl", hash = "sha256:1d61c0887fa860c01971625baae8bdd338e517b836a2f70dd1f7aa3a6b2fc5b5"}, - {file = "build-1.2.2.post1.tar.gz", hash = "sha256:b36993e92ca9375a219c99e606a122ff365a760a2d4bba0caa09bd5278b608b7"}, -] - -[package.dependencies] -colorama = {version = "*", markers = "os_name == \"nt\""} -importlib-metadata = {version = ">=4.6", markers = "python_full_version < \"3.10.2\""} -packaging = ">=19.1" -pyproject_hooks = "*" -tomli = {version = ">=1.1.0", markers = "python_version < \"3.11\""} - -[package.extras] -docs = ["furo (>=2023.08.17)", "sphinx (>=7.0,<8.0)", "sphinx-argparse-cli (>=1.5)", "sphinx-autodoc-typehints (>=1.10)", "sphinx-issues (>=3.0.0)"] -test = ["build[uv,virtualenv]", "filelock (>=3)", "pytest (>=6.2.4)", "pytest-cov (>=2.12)", "pytest-mock (>=2)", "pytest-rerunfailures (>=9.1)", "pytest-xdist (>=1.34)", "setuptools (>=42.0.0)", "setuptools (>=56.0.0)", "setuptools (>=56.0.0)", "setuptools (>=67.8.0)", "wheel (>=0.36.0)"] -typing = ["build[uv]", "importlib-metadata (>=5.1)", "mypy (>=1.9.0,<1.10.0)", "tomli", "typing-extensions (>=3.7.4.3)"] -uv = ["uv (>=0.1.18)"] -virtualenv = ["virtualenv (>=20.0.35)"] - -[[package]] -name = "cachetools" -version = "5.5.0" -description = "Extensible memoizing collections and decorators" -optional = false -python-versions = ">=3.7" -groups = ["dev"] -markers = "python_version <= \"3.11\" or python_version >= \"3.12\"" -files = [ - {file = "cachetools-5.5.0-py3-none-any.whl", hash = "sha256:02134e8439cdc2ffb62023ce1debca2944c3f289d66bb17ead3ab3dede74b292"}, - {file = "cachetools-5.5.0.tar.gz", hash = "sha256:2cc24fb4cbe39633fb7badd9db9ca6295d766d9c2995f245725a46715d050f2a"}, -] - -[[package]] -name = "cairocffi" -version = "1.7.1" -description = "cffi-based cairo bindings for Python" -optional = false -python-versions = ">=3.8" -groups = ["docs"] -markers = "python_version <= \"3.11\" or python_version >= \"3.12\"" -files = [ - {file = "cairocffi-1.7.1-py3-none-any.whl", hash = "sha256:9803a0e11f6c962f3b0ae2ec8ba6ae45e957a146a004697a1ac1bbf16b073b3f"}, - {file = "cairocffi-1.7.1.tar.gz", hash = "sha256:2e48ee864884ec4a3a34bfa8c9ab9999f688286eb714a15a43ec9d068c36557b"}, -] - -[package.dependencies] -cffi = ">=1.1.0" - -[package.extras] -doc = ["sphinx", "sphinx_rtd_theme"] -test = ["numpy", "pikepdf", "pytest", "ruff"] -xcb = ["xcffib (>=1.4.0)"] - -[[package]] -name = "cairosvg" -version = "2.7.1" -description = "A Simple SVG Converter based on Cairo" -optional = false -python-versions = ">=3.5" -groups = ["docs"] -markers = "python_version <= \"3.11\" or python_version >= \"3.12\"" -files = [ - {file = "CairoSVG-2.7.1-py3-none-any.whl", hash = "sha256:8a5222d4e6c3f86f1f7046b63246877a63b49923a1cd202184c3a634ef546b3b"}, - {file = "CairoSVG-2.7.1.tar.gz", hash = "sha256:432531d72347291b9a9ebfb6777026b607563fd8719c46ee742db0aef7271ba0"}, -] - -[package.dependencies] -cairocffi = "*" -cssselect2 = "*" -defusedxml = "*" -pillow = "*" -tinycss2 = "*" - -[package.extras] -doc = ["sphinx", "sphinx-rtd-theme"] -test = ["flake8", "isort", "pytest"] - -[[package]] -name = "certifi" -version = "2024.12.14" -description = "Python package for providing Mozilla's CA Bundle." -optional = false -python-versions = ">=3.6" -groups = ["main", "build", "dev", "docs"] -markers = "python_version <= \"3.11\" or python_version >= \"3.12\"" -files = [ - {file = "certifi-2024.12.14-py3-none-any.whl", hash = "sha256:1275f7a45be9464efc1173084eaa30f866fe2e47d389406136d332ed4967ec56"}, - {file = "certifi-2024.12.14.tar.gz", hash = "sha256:b650d30f370c2b724812bee08008be0c4163b163ddaec3f2546c1caf65f191db"}, -] - -[[package]] -name = "cffi" -version = "1.17.1" -description = "Foreign Function Interface for Python calling C code." -optional = false -python-versions = ">=3.8" -groups = ["build", "dev", "docs"] -files = [ - {file = "cffi-1.17.1-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:df8b1c11f177bc2313ec4b2d46baec87a5f3e71fc8b45dab2ee7cae86d9aba14"}, - {file = "cffi-1.17.1-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:8f2cdc858323644ab277e9bb925ad72ae0e67f69e804f4898c070998d50b1a67"}, - {file = "cffi-1.17.1-cp310-cp310-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:edae79245293e15384b51f88b00613ba9f7198016a5948b5dddf4917d4d26382"}, - {file = "cffi-1.17.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:45398b671ac6d70e67da8e4224a065cec6a93541bb7aebe1b198a61b58c7b702"}, - {file = "cffi-1.17.1-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:ad9413ccdeda48c5afdae7e4fa2192157e991ff761e7ab8fdd8926f40b160cc3"}, - {file = "cffi-1.17.1-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:5da5719280082ac6bd9aa7becb3938dc9f9cbd57fac7d2871717b1feb0902ab6"}, - {file = "cffi-1.17.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:2bb1a08b8008b281856e5971307cc386a8e9c5b625ac297e853d36da6efe9c17"}, - {file = "cffi-1.17.1-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:045d61c734659cc045141be4bae381a41d89b741f795af1dd018bfb532fd0df8"}, - {file = "cffi-1.17.1-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:6883e737d7d9e4899a8a695e00ec36bd4e5e4f18fabe0aca0efe0a4b44cdb13e"}, - {file = "cffi-1.17.1-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:6b8b4a92e1c65048ff98cfe1f735ef8f1ceb72e3d5f0c25fdb12087a23da22be"}, - {file = "cffi-1.17.1-cp310-cp310-win32.whl", hash = "sha256:c9c3d058ebabb74db66e431095118094d06abf53284d9c81f27300d0e0d8bc7c"}, - {file = "cffi-1.17.1-cp310-cp310-win_amd64.whl", hash = "sha256:0f048dcf80db46f0098ccac01132761580d28e28bc0f78ae0d58048063317e15"}, - {file = "cffi-1.17.1-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:a45e3c6913c5b87b3ff120dcdc03f6131fa0065027d0ed7ee6190736a74cd401"}, - {file = "cffi-1.17.1-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:30c5e0cb5ae493c04c8b42916e52ca38079f1b235c2f8ae5f4527b963c401caf"}, - {file = "cffi-1.17.1-cp311-cp311-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:f75c7ab1f9e4aca5414ed4d8e5c0e303a34f4421f8a0d47a4d019ceff0ab6af4"}, - {file = "cffi-1.17.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a1ed2dd2972641495a3ec98445e09766f077aee98a1c896dcb4ad0d303628e41"}, - {file = "cffi-1.17.1-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:46bf43160c1a35f7ec506d254e5c890f3c03648a4dbac12d624e4490a7046cd1"}, - {file = "cffi-1.17.1-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:a24ed04c8ffd54b0729c07cee15a81d964e6fee0e3d4d342a27b020d22959dc6"}, - {file = "cffi-1.17.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:610faea79c43e44c71e1ec53a554553fa22321b65fae24889706c0a84d4ad86d"}, - {file = "cffi-1.17.1-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:a9b15d491f3ad5d692e11f6b71f7857e7835eb677955c00cc0aefcd0669adaf6"}, - {file = "cffi-1.17.1-cp311-cp311-musllinux_1_1_i686.whl", hash = "sha256:de2ea4b5833625383e464549fec1bc395c1bdeeb5f25c4a3a82b5a8c756ec22f"}, - {file = "cffi-1.17.1-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:fc48c783f9c87e60831201f2cce7f3b2e4846bf4d8728eabe54d60700b318a0b"}, - {file = "cffi-1.17.1-cp311-cp311-win32.whl", hash = "sha256:85a950a4ac9c359340d5963966e3e0a94a676bd6245a4b55bc43949eee26a655"}, - {file = "cffi-1.17.1-cp311-cp311-win_amd64.whl", hash = "sha256:caaf0640ef5f5517f49bc275eca1406b0ffa6aa184892812030f04c2abf589a0"}, - {file = "cffi-1.17.1-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:805b4371bf7197c329fcb3ead37e710d1bca9da5d583f5073b799d5c5bd1eee4"}, - {file = "cffi-1.17.1-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:733e99bc2df47476e3848417c5a4540522f234dfd4ef3ab7fafdf555b082ec0c"}, - {file = "cffi-1.17.1-cp312-cp312-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:1257bdabf294dceb59f5e70c64a3e2f462c30c7ad68092d01bbbfb1c16b1ba36"}, - {file = "cffi-1.17.1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:da95af8214998d77a98cc14e3a3bd00aa191526343078b530ceb0bd710fb48a5"}, - {file = "cffi-1.17.1-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:d63afe322132c194cf832bfec0dc69a99fb9bb6bbd550f161a49e9e855cc78ff"}, - {file = "cffi-1.17.1-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:f79fc4fc25f1c8698ff97788206bb3c2598949bfe0fef03d299eb1b5356ada99"}, - {file = "cffi-1.17.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:b62ce867176a75d03a665bad002af8e6d54644fad99a3c70905c543130e39d93"}, - {file = "cffi-1.17.1-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:386c8bf53c502fff58903061338ce4f4950cbdcb23e2902d86c0f722b786bbe3"}, - {file = "cffi-1.17.1-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:4ceb10419a9adf4460ea14cfd6bc43d08701f0835e979bf821052f1805850fe8"}, - {file = "cffi-1.17.1-cp312-cp312-win32.whl", hash = "sha256:a08d7e755f8ed21095a310a693525137cfe756ce62d066e53f502a83dc550f65"}, - {file = "cffi-1.17.1-cp312-cp312-win_amd64.whl", hash = "sha256:51392eae71afec0d0c8fb1a53b204dbb3bcabcb3c9b807eedf3e1e6ccf2de903"}, - {file = "cffi-1.17.1-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:f3a2b4222ce6b60e2e8b337bb9596923045681d71e5a082783484d845390938e"}, - {file = "cffi-1.17.1-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:0984a4925a435b1da406122d4d7968dd861c1385afe3b45ba82b750f229811e2"}, - {file = "cffi-1.17.1-cp313-cp313-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:d01b12eeeb4427d3110de311e1774046ad344f5b1a7403101878976ecd7a10f3"}, - {file = "cffi-1.17.1-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:706510fe141c86a69c8ddc029c7910003a17353970cff3b904ff0686a5927683"}, - {file = "cffi-1.17.1-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:de55b766c7aa2e2a3092c51e0483d700341182f08e67c63630d5b6f200bb28e5"}, - {file = "cffi-1.17.1-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:c59d6e989d07460165cc5ad3c61f9fd8f1b4796eacbd81cee78957842b834af4"}, - {file = "cffi-1.17.1-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:dd398dbc6773384a17fe0d3e7eeb8d1a21c2200473ee6806bb5e6a8e62bb73dd"}, - {file = "cffi-1.17.1-cp313-cp313-musllinux_1_1_aarch64.whl", hash = "sha256:3edc8d958eb099c634dace3c7e16560ae474aa3803a5df240542b305d14e14ed"}, - {file = "cffi-1.17.1-cp313-cp313-musllinux_1_1_x86_64.whl", hash = "sha256:72e72408cad3d5419375fc87d289076ee319835bdfa2caad331e377589aebba9"}, - {file = "cffi-1.17.1-cp313-cp313-win32.whl", hash = "sha256:e03eab0a8677fa80d646b5ddece1cbeaf556c313dcfac435ba11f107ba117b5d"}, - {file = "cffi-1.17.1-cp313-cp313-win_amd64.whl", hash = "sha256:f6a16c31041f09ead72d69f583767292f750d24913dadacf5756b966aacb3f1a"}, - {file = "cffi-1.17.1-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:636062ea65bd0195bc012fea9321aca499c0504409f413dc88af450b57ffd03b"}, - {file = "cffi-1.17.1-cp38-cp38-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:c7eac2ef9b63c79431bc4b25f1cd649d7f061a28808cbc6c47b534bd789ef964"}, - {file = "cffi-1.17.1-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:e221cf152cff04059d011ee126477f0d9588303eb57e88923578ace7baad17f9"}, - {file = "cffi-1.17.1-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:31000ec67d4221a71bd3f67df918b1f88f676f1c3b535a7eb473255fdc0b83fc"}, - {file = "cffi-1.17.1-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:6f17be4345073b0a7b8ea599688f692ac3ef23ce28e5df79c04de519dbc4912c"}, - {file = "cffi-1.17.1-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:0e2b1fac190ae3ebfe37b979cc1ce69c81f4e4fe5746bb401dca63a9062cdaf1"}, - {file = "cffi-1.17.1-cp38-cp38-win32.whl", hash = "sha256:7596d6620d3fa590f677e9ee430df2958d2d6d6de2feeae5b20e82c00b76fbf8"}, - {file = "cffi-1.17.1-cp38-cp38-win_amd64.whl", hash = "sha256:78122be759c3f8a014ce010908ae03364d00a1f81ab5c7f4a7a5120607ea56e1"}, - {file = "cffi-1.17.1-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:b2ab587605f4ba0bf81dc0cb08a41bd1c0a5906bd59243d56bad7668a6fc6c16"}, - {file = "cffi-1.17.1-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:28b16024becceed8c6dfbc75629e27788d8a3f9030691a1dbf9821a128b22c36"}, - {file = "cffi-1.17.1-cp39-cp39-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:1d599671f396c4723d016dbddb72fe8e0397082b0a77a4fab8028923bec050e8"}, - {file = "cffi-1.17.1-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:ca74b8dbe6e8e8263c0ffd60277de77dcee6c837a3d0881d8c1ead7268c9e576"}, - {file = "cffi-1.17.1-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:f7f5baafcc48261359e14bcd6d9bff6d4b28d9103847c9e136694cb0501aef87"}, - {file = "cffi-1.17.1-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:98e3969bcff97cae1b2def8ba499ea3d6f31ddfdb7635374834cf89a1a08ecf0"}, - {file = "cffi-1.17.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:cdf5ce3acdfd1661132f2a9c19cac174758dc2352bfe37d98aa7512c6b7178b3"}, - {file = "cffi-1.17.1-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:9755e4345d1ec879e3849e62222a18c7174d65a6a92d5b346b1863912168b595"}, - {file = "cffi-1.17.1-cp39-cp39-musllinux_1_1_i686.whl", hash = "sha256:f1e22e8c4419538cb197e4dd60acc919d7696e5ef98ee4da4e01d3f8cfa4cc5a"}, - {file = "cffi-1.17.1-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:c03e868a0b3bc35839ba98e74211ed2b05d2119be4e8a0f224fba9384f1fe02e"}, - {file = "cffi-1.17.1-cp39-cp39-win32.whl", hash = "sha256:e31ae45bc2e29f6b2abd0de1cc3b9d5205aa847cafaecb8af1476a609a2f6eb7"}, - {file = "cffi-1.17.1-cp39-cp39-win_amd64.whl", hash = "sha256:d016c76bdd850f3c626af19b0542c9677ba156e4ee4fccfdd7848803533ef662"}, - {file = "cffi-1.17.1.tar.gz", hash = "sha256:1c39c6016c32bc48dd54561950ebd6836e1670f2ae46128f67cf49e789c52824"}, -] -markers = {build = "sys_platform == \"linux\" and (platform_machine != \"ppc64le\" and platform_machine != \"s390x\" or python_version <= \"3.11\") and platform_python_implementation != \"PyPy\" and (python_version <= \"3.11\" or python_version >= \"3.12\") and (platform_machine == \"arm64\" or platform_machine == \"aarch64\" or platform_machine != \"ppc64le\" and platform_machine != \"s390x\") and (platform_machine == \"arm64\" or platform_machine == \"aarch64\" or platform_system != \"Linux\" or platform_machine != \"ppc64le\" and platform_machine != \"s390x\" and platform_machine != \"aarch64\" or python_version >= \"3.9\") and (platform_machine == \"arm64\" or platform_machine == \"aarch64\" or platform_system != \"Darwin\" or platform_machine != \"ppc64le\" and platform_machine != \"s390x\" and platform_machine != \"arm64\" or python_version >= \"3.9\")", dev = "python_version <= \"3.11\" or python_version >= \"3.12\"", docs = "python_version <= \"3.11\" or python_version >= \"3.12\""} - -[package.dependencies] -pycparser = "*" - -[[package]] -name = "chardet" -version = "5.2.0" -description = "Universal encoding detector for Python 3" -optional = false -python-versions = ">=3.7" -groups = ["dev"] -markers = "python_version <= \"3.11\" or python_version >= \"3.12\"" -files = [ - {file = "chardet-5.2.0-py3-none-any.whl", hash = "sha256:e1cf59446890a00105fe7b7912492ea04b6e6f06d4b742b2c788469e34c82970"}, - {file = "chardet-5.2.0.tar.gz", hash = "sha256:1b3b6ff479a8c414bc3fa2c0852995695c4a026dcd6d0633b2dd092ca39c1cf7"}, -] - -[[package]] -name = "charset-normalizer" -version = "3.4.1" -description = "The Real First Universal Charset Detector. Open, modern and actively maintained alternative to Chardet." -optional = false -python-versions = ">=3.7" -groups = ["main", "build", "dev", "docs"] -markers = "python_version <= \"3.11\" or python_version >= \"3.12\"" -files = [ - {file = "charset_normalizer-3.4.1-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:91b36a978b5ae0ee86c394f5a54d6ef44db1de0815eb43de826d41d21e4af3de"}, - {file = "charset_normalizer-3.4.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:7461baadb4dc00fd9e0acbe254e3d7d2112e7f92ced2adc96e54ef6501c5f176"}, - {file = "charset_normalizer-3.4.1-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:e218488cd232553829be0664c2292d3af2eeeb94b32bea483cf79ac6a694e037"}, - {file = "charset_normalizer-3.4.1-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:80ed5e856eb7f30115aaf94e4a08114ccc8813e6ed1b5efa74f9f82e8509858f"}, - {file = "charset_normalizer-3.4.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:b010a7a4fd316c3c484d482922d13044979e78d1861f0e0650423144c616a46a"}, - {file = "charset_normalizer-3.4.1-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:4532bff1b8421fd0a320463030c7520f56a79c9024a4e88f01c537316019005a"}, - {file = "charset_normalizer-3.4.1-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:d973f03c0cb71c5ed99037b870f2be986c3c05e63622c017ea9816881d2dd247"}, - {file = "charset_normalizer-3.4.1-cp310-cp310-musllinux_1_2_i686.whl", hash = "sha256:3a3bd0dcd373514dcec91c411ddb9632c0d7d92aed7093b8c3bbb6d69ca74408"}, - {file = "charset_normalizer-3.4.1-cp310-cp310-musllinux_1_2_ppc64le.whl", hash = "sha256:d9c3cdf5390dcd29aa8056d13e8e99526cda0305acc038b96b30352aff5ff2bb"}, - {file = "charset_normalizer-3.4.1-cp310-cp310-musllinux_1_2_s390x.whl", hash = "sha256:2bdfe3ac2e1bbe5b59a1a63721eb3b95fc9b6817ae4a46debbb4e11f6232428d"}, - {file = "charset_normalizer-3.4.1-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:eab677309cdb30d047996b36d34caeda1dc91149e4fdca0b1a039b3f79d9a807"}, - {file = "charset_normalizer-3.4.1-cp310-cp310-win32.whl", hash = "sha256:c0429126cf75e16c4f0ad00ee0eae4242dc652290f940152ca8c75c3a4b6ee8f"}, - {file = "charset_normalizer-3.4.1-cp310-cp310-win_amd64.whl", hash = "sha256:9f0b8b1c6d84c8034a44893aba5e767bf9c7a211e313a9605d9c617d7083829f"}, - {file = "charset_normalizer-3.4.1-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:8bfa33f4f2672964266e940dd22a195989ba31669bd84629f05fab3ef4e2d125"}, - {file = "charset_normalizer-3.4.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:28bf57629c75e810b6ae989f03c0828d64d6b26a5e205535585f96093e405ed1"}, - {file = "charset_normalizer-3.4.1-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:f08ff5e948271dc7e18a35641d2f11a4cd8dfd5634f55228b691e62b37125eb3"}, - {file = "charset_normalizer-3.4.1-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:234ac59ea147c59ee4da87a0c0f098e9c8d169f4dc2a159ef720f1a61bbe27cd"}, - {file = "charset_normalizer-3.4.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:fd4ec41f914fa74ad1b8304bbc634b3de73d2a0889bd32076342a573e0779e00"}, - {file = "charset_normalizer-3.4.1-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:eea6ee1db730b3483adf394ea72f808b6e18cf3cb6454b4d86e04fa8c4327a12"}, - {file = "charset_normalizer-3.4.1-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:c96836c97b1238e9c9e3fe90844c947d5afbf4f4c92762679acfe19927d81d77"}, - {file = "charset_normalizer-3.4.1-cp311-cp311-musllinux_1_2_i686.whl", hash = "sha256:4d86f7aff21ee58f26dcf5ae81a9addbd914115cdebcbb2217e4f0ed8982e146"}, - {file = "charset_normalizer-3.4.1-cp311-cp311-musllinux_1_2_ppc64le.whl", hash = "sha256:09b5e6733cbd160dcc09589227187e242a30a49ca5cefa5a7edd3f9d19ed53fd"}, - {file = "charset_normalizer-3.4.1-cp311-cp311-musllinux_1_2_s390x.whl", hash = "sha256:5777ee0881f9499ed0f71cc82cf873d9a0ca8af166dfa0af8ec4e675b7df48e6"}, - {file = "charset_normalizer-3.4.1-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:237bdbe6159cff53b4f24f397d43c6336c6b0b42affbe857970cefbb620911c8"}, - {file = "charset_normalizer-3.4.1-cp311-cp311-win32.whl", hash = "sha256:8417cb1f36cc0bc7eaba8ccb0e04d55f0ee52df06df3ad55259b9a323555fc8b"}, - {file = "charset_normalizer-3.4.1-cp311-cp311-win_amd64.whl", hash = "sha256:d7f50a1f8c450f3925cb367d011448c39239bb3eb4117c36a6d354794de4ce76"}, - {file = "charset_normalizer-3.4.1-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:73d94b58ec7fecbc7366247d3b0b10a21681004153238750bb67bd9012414545"}, - {file = "charset_normalizer-3.4.1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:dad3e487649f498dd991eeb901125411559b22e8d7ab25d3aeb1af367df5efd7"}, - {file = "charset_normalizer-3.4.1-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:c30197aa96e8eed02200a83fba2657b4c3acd0f0aa4bdc9f6c1af8e8962e0757"}, - {file = "charset_normalizer-3.4.1-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:2369eea1ee4a7610a860d88f268eb39b95cb588acd7235e02fd5a5601773d4fa"}, - {file = "charset_normalizer-3.4.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:bc2722592d8998c870fa4e290c2eec2c1569b87fe58618e67d38b4665dfa680d"}, - {file = "charset_normalizer-3.4.1-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:ffc9202a29ab3920fa812879e95a9e78b2465fd10be7fcbd042899695d75e616"}, - {file = "charset_normalizer-3.4.1-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:804a4d582ba6e5b747c625bf1255e6b1507465494a40a2130978bda7b932c90b"}, - {file = "charset_normalizer-3.4.1-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:0f55e69f030f7163dffe9fd0752b32f070566451afe180f99dbeeb81f511ad8d"}, - {file = "charset_normalizer-3.4.1-cp312-cp312-musllinux_1_2_ppc64le.whl", hash = "sha256:c4c3e6da02df6fa1410a7680bd3f63d4f710232d3139089536310d027950696a"}, - {file = "charset_normalizer-3.4.1-cp312-cp312-musllinux_1_2_s390x.whl", hash = "sha256:5df196eb874dae23dcfb968c83d4f8fdccb333330fe1fc278ac5ceeb101003a9"}, - {file = "charset_normalizer-3.4.1-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:e358e64305fe12299a08e08978f51fc21fac060dcfcddd95453eabe5b93ed0e1"}, - {file = "charset_normalizer-3.4.1-cp312-cp312-win32.whl", hash = "sha256:9b23ca7ef998bc739bf6ffc077c2116917eabcc901f88da1b9856b210ef63f35"}, - {file = "charset_normalizer-3.4.1-cp312-cp312-win_amd64.whl", hash = "sha256:6ff8a4a60c227ad87030d76e99cd1698345d4491638dfa6673027c48b3cd395f"}, - {file = "charset_normalizer-3.4.1-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:aabfa34badd18f1da5ec1bc2715cadc8dca465868a4e73a0173466b688f29dda"}, - {file = "charset_normalizer-3.4.1-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:22e14b5d70560b8dd51ec22863f370d1e595ac3d024cb8ad7d308b4cd95f8313"}, - {file = "charset_normalizer-3.4.1-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:8436c508b408b82d87dc5f62496973a1805cd46727c34440b0d29d8a2f50a6c9"}, - {file = "charset_normalizer-3.4.1-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:2d074908e1aecee37a7635990b2c6d504cd4766c7bc9fc86d63f9c09af3fa11b"}, - {file = "charset_normalizer-3.4.1-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:955f8851919303c92343d2f66165294848d57e9bba6cf6e3625485a70a038d11"}, - {file = "charset_normalizer-3.4.1-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:44ecbf16649486d4aebafeaa7ec4c9fed8b88101f4dd612dcaf65d5e815f837f"}, - {file = "charset_normalizer-3.4.1-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:0924e81d3d5e70f8126529951dac65c1010cdf117bb75eb02dd12339b57749dd"}, - {file = "charset_normalizer-3.4.1-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:2967f74ad52c3b98de4c3b32e1a44e32975e008a9cd2a8cc8966d6a5218c5cb2"}, - {file = "charset_normalizer-3.4.1-cp313-cp313-musllinux_1_2_ppc64le.whl", hash = "sha256:c75cb2a3e389853835e84a2d8fb2b81a10645b503eca9bcb98df6b5a43eb8886"}, - {file = "charset_normalizer-3.4.1-cp313-cp313-musllinux_1_2_s390x.whl", hash = "sha256:09b26ae6b1abf0d27570633b2b078a2a20419c99d66fb2823173d73f188ce601"}, - {file = "charset_normalizer-3.4.1-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:fa88b843d6e211393a37219e6a1c1df99d35e8fd90446f1118f4216e307e48cd"}, - {file = "charset_normalizer-3.4.1-cp313-cp313-win32.whl", hash = "sha256:eb8178fe3dba6450a3e024e95ac49ed3400e506fd4e9e5c32d30adda88cbd407"}, - {file = "charset_normalizer-3.4.1-cp313-cp313-win_amd64.whl", hash = "sha256:b1ac5992a838106edb89654e0aebfc24f5848ae2547d22c2c3f66454daa11971"}, - {file = "charset_normalizer-3.4.1-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:f30bf9fd9be89ecb2360c7d94a711f00c09b976258846efe40db3d05828e8089"}, - {file = "charset_normalizer-3.4.1-cp37-cp37m-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:97f68b8d6831127e4787ad15e6757232e14e12060bec17091b85eb1486b91d8d"}, - {file = "charset_normalizer-3.4.1-cp37-cp37m-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:7974a0b5ecd505609e3b19742b60cee7aa2aa2fb3151bc917e6e2646d7667dcf"}, - {file = "charset_normalizer-3.4.1-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:fc54db6c8593ef7d4b2a331b58653356cf04f67c960f584edb7c3d8c97e8f39e"}, - {file = "charset_normalizer-3.4.1-cp37-cp37m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:311f30128d7d333eebd7896965bfcfbd0065f1716ec92bd5638d7748eb6f936a"}, - {file = "charset_normalizer-3.4.1-cp37-cp37m-musllinux_1_2_aarch64.whl", hash = "sha256:7d053096f67cd1241601111b698f5cad775f97ab25d81567d3f59219b5f1adbd"}, - {file = "charset_normalizer-3.4.1-cp37-cp37m-musllinux_1_2_i686.whl", hash = "sha256:807f52c1f798eef6cf26beb819eeb8819b1622ddfeef9d0977a8502d4db6d534"}, - {file = "charset_normalizer-3.4.1-cp37-cp37m-musllinux_1_2_ppc64le.whl", hash = "sha256:dccbe65bd2f7f7ec22c4ff99ed56faa1e9f785482b9bbd7c717e26fd723a1d1e"}, - {file = "charset_normalizer-3.4.1-cp37-cp37m-musllinux_1_2_s390x.whl", hash = "sha256:2fb9bd477fdea8684f78791a6de97a953c51831ee2981f8e4f583ff3b9d9687e"}, - {file = "charset_normalizer-3.4.1-cp37-cp37m-musllinux_1_2_x86_64.whl", hash = "sha256:01732659ba9b5b873fc117534143e4feefecf3b2078b0a6a2e925271bb6f4cfa"}, - {file = "charset_normalizer-3.4.1-cp37-cp37m-win32.whl", hash = "sha256:7a4f97a081603d2050bfaffdefa5b02a9ec823f8348a572e39032caa8404a487"}, - {file = "charset_normalizer-3.4.1-cp37-cp37m-win_amd64.whl", hash = "sha256:7b1bef6280950ee6c177b326508f86cad7ad4dff12454483b51d8b7d673a2c5d"}, - {file = "charset_normalizer-3.4.1-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:ecddf25bee22fe4fe3737a399d0d177d72bc22be6913acfab364b40bce1ba83c"}, - {file = "charset_normalizer-3.4.1-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:8c60ca7339acd497a55b0ea5d506b2a2612afb2826560416f6894e8b5770d4a9"}, - {file = "charset_normalizer-3.4.1-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:b7b2d86dd06bfc2ade3312a83a5c364c7ec2e3498f8734282c6c3d4b07b346b8"}, - {file = "charset_normalizer-3.4.1-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:dd78cfcda14a1ef52584dbb008f7ac81c1328c0f58184bf9a84c49c605002da6"}, - {file = "charset_normalizer-3.4.1-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:6e27f48bcd0957c6d4cb9d6fa6b61d192d0b13d5ef563e5f2ae35feafc0d179c"}, - {file = "charset_normalizer-3.4.1-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:01ad647cdd609225c5350561d084b42ddf732f4eeefe6e678765636791e78b9a"}, - {file = "charset_normalizer-3.4.1-cp38-cp38-musllinux_1_2_aarch64.whl", hash = "sha256:619a609aa74ae43d90ed2e89bdd784765de0a25ca761b93e196d938b8fd1dbbd"}, - {file = "charset_normalizer-3.4.1-cp38-cp38-musllinux_1_2_i686.whl", hash = "sha256:89149166622f4db9b4b6a449256291dc87a99ee53151c74cbd82a53c8c2f6ccd"}, - {file = "charset_normalizer-3.4.1-cp38-cp38-musllinux_1_2_ppc64le.whl", hash = "sha256:7709f51f5f7c853f0fb938bcd3bc59cdfdc5203635ffd18bf354f6967ea0f824"}, - {file = "charset_normalizer-3.4.1-cp38-cp38-musllinux_1_2_s390x.whl", hash = "sha256:345b0426edd4e18138d6528aed636de7a9ed169b4aaf9d61a8c19e39d26838ca"}, - {file = "charset_normalizer-3.4.1-cp38-cp38-musllinux_1_2_x86_64.whl", hash = "sha256:0907f11d019260cdc3f94fbdb23ff9125f6b5d1039b76003b5b0ac9d6a6c9d5b"}, - {file = "charset_normalizer-3.4.1-cp38-cp38-win32.whl", hash = "sha256:ea0d8d539afa5eb2728aa1932a988a9a7af94f18582ffae4bc10b3fbdad0626e"}, - {file = "charset_normalizer-3.4.1-cp38-cp38-win_amd64.whl", hash = "sha256:329ce159e82018d646c7ac45b01a430369d526569ec08516081727a20e9e4af4"}, - {file = "charset_normalizer-3.4.1-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:b97e690a2118911e39b4042088092771b4ae3fc3aa86518f84b8cf6888dbdb41"}, - {file = "charset_normalizer-3.4.1-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:78baa6d91634dfb69ec52a463534bc0df05dbd546209b79a3880a34487f4b84f"}, - {file = "charset_normalizer-3.4.1-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:1a2bc9f351a75ef49d664206d51f8e5ede9da246602dc2d2726837620ea034b2"}, - {file = "charset_normalizer-3.4.1-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:75832c08354f595c760a804588b9357d34ec00ba1c940c15e31e96d902093770"}, - {file = "charset_normalizer-3.4.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:0af291f4fe114be0280cdd29d533696a77b5b49cfde5467176ecab32353395c4"}, - {file = "charset_normalizer-3.4.1-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:0167ddc8ab6508fe81860a57dd472b2ef4060e8d378f0cc555707126830f2537"}, - {file = "charset_normalizer-3.4.1-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:2a75d49014d118e4198bcee5ee0a6f25856b29b12dbf7cd012791f8a6cc5c496"}, - {file = "charset_normalizer-3.4.1-cp39-cp39-musllinux_1_2_i686.whl", hash = "sha256:363e2f92b0f0174b2f8238240a1a30142e3db7b957a5dd5689b0e75fb717cc78"}, - {file = "charset_normalizer-3.4.1-cp39-cp39-musllinux_1_2_ppc64le.whl", hash = "sha256:ab36c8eb7e454e34e60eb55ca5d241a5d18b2c6244f6827a30e451c42410b5f7"}, - {file = "charset_normalizer-3.4.1-cp39-cp39-musllinux_1_2_s390x.whl", hash = "sha256:4c0907b1928a36d5a998d72d64d8eaa7244989f7aaaf947500d3a800c83a3fd6"}, - {file = "charset_normalizer-3.4.1-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:04432ad9479fa40ec0f387795ddad4437a2b50417c69fa275e212933519ff294"}, - {file = "charset_normalizer-3.4.1-cp39-cp39-win32.whl", hash = "sha256:3bed14e9c89dcb10e8f3a29f9ccac4955aebe93c71ae803af79265c9ca5644c5"}, - {file = "charset_normalizer-3.4.1-cp39-cp39-win_amd64.whl", hash = "sha256:49402233c892a461407c512a19435d1ce275543138294f7ef013f0b63d5d3765"}, - {file = "charset_normalizer-3.4.1-py3-none-any.whl", hash = "sha256:d98b1668f06378c6dbefec3b92299716b931cd4e6061f3c875a71ced1780ab85"}, - {file = "charset_normalizer-3.4.1.tar.gz", hash = "sha256:44251f18cd68a75b56585dd00dae26183e102cd5e0f9f1466e6df5da2ed64ea3"}, -] - -[[package]] -name = "click" -version = "8.1.8" -description = "Composable command line interface toolkit" -optional = false -python-versions = ">=3.7" -groups = ["docs"] -markers = "python_version <= \"3.11\" or python_version >= \"3.12\"" -files = [ - {file = "click-8.1.8-py3-none-any.whl", hash = "sha256:63c132bbbed01578a06712a2d1f497bb62d9c1c0d329b7903a866228027263b2"}, - {file = "click-8.1.8.tar.gz", hash = "sha256:ed53c9d8990d83c2a27deae68e4ee337473f6330c040a31d4225c9574d16096a"}, -] - -[package.dependencies] -colorama = {version = "*", markers = "platform_system == \"Windows\""} - -[[package]] -name = "colorama" -version = "0.4.6" -description = "Cross-platform colored terminal text." -optional = false -python-versions = "!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*,!=3.4.*,!=3.5.*,!=3.6.*,>=2.7" -groups = ["main", "build", "dev", "docs"] -files = [ - {file = "colorama-0.4.6-py2.py3-none-any.whl", hash = "sha256:4f1d9991f5acc0ca119f9d443620b77f9d6b33703e51011c16baf57afb285fc6"}, - {file = "colorama-0.4.6.tar.gz", hash = "sha256:08695f5cb7ed6e0531a20572697297273c47b8cae5a63ffc6d6ed5c201be6e44"}, -] -markers = {main = "platform_system == \"Windows\" and (python_version <= \"3.11\" or python_version >= \"3.12\")", build = "(python_version <= \"3.11\" or python_version >= \"3.12\") and os_name == \"nt\"", dev = "python_version <= \"3.11\" or python_version >= \"3.12\"", docs = "python_version <= \"3.11\" or python_version >= \"3.12\""} - -[[package]] -name = "comm" -version = "0.2.2" -description = "Jupyter Python Comm implementation, for usage in ipykernel, xeus-python etc." -optional = false -python-versions = ">=3.8" -groups = ["dev", "docs"] -markers = "python_version <= \"3.11\" or python_version >= \"3.12\"" -files = [ - {file = "comm-0.2.2-py3-none-any.whl", hash = "sha256:e6fb86cb70ff661ee8c9c14e7d36d6de3b4066f1441be4063df9c5009f0a64d3"}, - {file = "comm-0.2.2.tar.gz", hash = "sha256:3fd7a84065306e07bea1773df6eb8282de51ba82f77c72f9c85716ab11fe980e"}, -] - -[package.dependencies] -traitlets = ">=4" - -[package.extras] -test = ["pytest"] - -[[package]] -name = "contourpy" -version = "1.1.0" -description = "Python library for calculating contours of 2D quadrilateral grids" -optional = false -python-versions = ">=3.8" -groups = ["main"] -markers = "python_version >= \"3.13\"" -files = [ - {file = "contourpy-1.1.0-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:89f06eff3ce2f4b3eb24c1055a26981bffe4e7264acd86f15b97e40530b794bc"}, - {file = "contourpy-1.1.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:dffcc2ddec1782dd2f2ce1ef16f070861af4fb78c69862ce0aab801495dda6a3"}, - {file = "contourpy-1.1.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:25ae46595e22f93592d39a7eac3d638cda552c3e1160255258b695f7b58e5655"}, - {file = "contourpy-1.1.0-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:17cfaf5ec9862bc93af1ec1f302457371c34e688fbd381f4035a06cd47324f48"}, - {file = "contourpy-1.1.0-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:18a64814ae7bce73925131381603fff0116e2df25230dfc80d6d690aa6e20b37"}, - {file = "contourpy-1.1.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:90c81f22b4f572f8a2110b0b741bb64e5a6427e0a198b2cdc1fbaf85f352a3aa"}, - {file = "contourpy-1.1.0-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:53cc3a40635abedbec7f1bde60f8c189c49e84ac180c665f2cd7c162cc454baa"}, - {file = "contourpy-1.1.0-cp310-cp310-win32.whl", hash = "sha256:9b2dd2ca3ac561aceef4c7c13ba654aaa404cf885b187427760d7f7d4c57cff8"}, - {file = "contourpy-1.1.0-cp310-cp310-win_amd64.whl", hash = "sha256:1f795597073b09d631782e7245016a4323cf1cf0b4e06eef7ea6627e06a37ff2"}, - {file = "contourpy-1.1.0-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:0b7b04ed0961647691cfe5d82115dd072af7ce8846d31a5fac6c142dcce8b882"}, - {file = "contourpy-1.1.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:27bc79200c742f9746d7dd51a734ee326a292d77e7d94c8af6e08d1e6c15d545"}, - {file = "contourpy-1.1.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:052cc634bf903c604ef1a00a5aa093c54f81a2612faedaa43295809ffdde885e"}, - {file = "contourpy-1.1.0-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:9382a1c0bc46230fb881c36229bfa23d8c303b889b788b939365578d762b5c18"}, - {file = "contourpy-1.1.0-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:e5cec36c5090e75a9ac9dbd0ff4a8cf7cecd60f1b6dc23a374c7d980a1cd710e"}, - {file = "contourpy-1.1.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:1f0cbd657e9bde94cd0e33aa7df94fb73c1ab7799378d3b3f902eb8eb2e04a3a"}, - {file = "contourpy-1.1.0-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:181cbace49874f4358e2929aaf7ba84006acb76694102e88dd15af861996c16e"}, - {file = "contourpy-1.1.0-cp311-cp311-win32.whl", hash = "sha256:edb989d31065b1acef3828a3688f88b2abb799a7db891c9e282df5ec7e46221b"}, - {file = "contourpy-1.1.0-cp311-cp311-win_amd64.whl", hash = "sha256:fb3b7d9e6243bfa1efb93ccfe64ec610d85cfe5aec2c25f97fbbd2e58b531256"}, - {file = "contourpy-1.1.0-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:bcb41692aa09aeb19c7c213411854402f29f6613845ad2453d30bf421fe68fed"}, - {file = "contourpy-1.1.0-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:5d123a5bc63cd34c27ff9c7ac1cd978909e9c71da12e05be0231c608048bb2ae"}, - {file = "contourpy-1.1.0-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:62013a2cf68abc80dadfd2307299bfa8f5aa0dcaec5b2954caeb5fa094171103"}, - {file = "contourpy-1.1.0-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:0b6616375d7de55797d7a66ee7d087efe27f03d336c27cf1f32c02b8c1a5ac70"}, - {file = "contourpy-1.1.0-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:317267d915490d1e84577924bd61ba71bf8681a30e0d6c545f577363157e5e94"}, - {file = "contourpy-1.1.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:d551f3a442655f3dcc1285723f9acd646ca5858834efeab4598d706206b09c9f"}, - {file = "contourpy-1.1.0-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:e7a117ce7df5a938fe035cad481b0189049e8d92433b4b33aa7fc609344aafa1"}, - {file = "contourpy-1.1.0-cp38-cp38-win32.whl", hash = "sha256:108dfb5b3e731046a96c60bdc46a1a0ebee0760418951abecbe0fc07b5b93b27"}, - {file = "contourpy-1.1.0-cp38-cp38-win_amd64.whl", hash = "sha256:d4f26b25b4f86087e7d75e63212756c38546e70f2a92d2be44f80114826e1cd4"}, - {file = "contourpy-1.1.0-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:bc00bb4225d57bff7ebb634646c0ee2a1298402ec10a5fe7af79df9a51c1bfd9"}, - {file = "contourpy-1.1.0-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:189ceb1525eb0655ab8487a9a9c41f42a73ba52d6789754788d1883fb06b2d8a"}, - {file = "contourpy-1.1.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:9f2931ed4741f98f74b410b16e5213f71dcccee67518970c42f64153ea9313b9"}, - {file = "contourpy-1.1.0-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:30f511c05fab7f12e0b1b7730ebdc2ec8deedcfb505bc27eb570ff47c51a8f15"}, - {file = "contourpy-1.1.0-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:143dde50520a9f90e4a2703f367cf8ec96a73042b72e68fcd184e1279962eb6f"}, - {file = "contourpy-1.1.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:e94bef2580e25b5fdb183bf98a2faa2adc5b638736b2c0a4da98691da641316a"}, - {file = "contourpy-1.1.0-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:ed614aea8462735e7d70141374bd7650afd1c3f3cb0c2dbbcbe44e14331bf002"}, - {file = "contourpy-1.1.0-cp39-cp39-win32.whl", hash = "sha256:71551f9520f008b2950bef5f16b0e3587506ef4f23c734b71ffb7b89f8721999"}, - {file = "contourpy-1.1.0-cp39-cp39-win_amd64.whl", hash = "sha256:438ba416d02f82b692e371858143970ed2eb6337d9cdbbede0d8ad9f3d7dd17d"}, - {file = "contourpy-1.1.0-pp38-pypy38_pp73-macosx_10_9_x86_64.whl", hash = "sha256:a698c6a7a432789e587168573a864a7ea374c6be8d4f31f9d87c001d5a843493"}, - {file = "contourpy-1.1.0-pp38-pypy38_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:397b0ac8a12880412da3551a8cb5a187d3298a72802b45a3bd1805e204ad8439"}, - {file = "contourpy-1.1.0-pp38-pypy38_pp73-win_amd64.whl", hash = "sha256:a67259c2b493b00e5a4d0f7bfae51fb4b3371395e47d079a4446e9b0f4d70e76"}, - {file = "contourpy-1.1.0-pp39-pypy39_pp73-macosx_10_9_x86_64.whl", hash = "sha256:2b836d22bd2c7bb2700348e4521b25e077255ebb6ab68e351ab5aa91ca27e027"}, - {file = "contourpy-1.1.0-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:084eaa568400cfaf7179b847ac871582199b1b44d5699198e9602ecbbb5f6104"}, - {file = "contourpy-1.1.0-pp39-pypy39_pp73-win_amd64.whl", hash = "sha256:911ff4fd53e26b019f898f32db0d4956c9d227d51338fb3b03ec72ff0084ee5f"}, - {file = "contourpy-1.1.0.tar.gz", hash = "sha256:e53046c3863828d21d531cc3b53786e6580eb1ba02477e8681009b6aa0870b21"}, -] - -[package.dependencies] -numpy = ">=1.16" - -[package.extras] -bokeh = ["bokeh", "selenium"] -docs = ["furo", "sphinx-copybutton"] -mypy = ["contourpy[bokeh,docs]", "docutils-stubs", "mypy (==1.2.0)", "types-Pillow"] -test = ["Pillow", "contourpy[test-no-images]", "matplotlib"] -test-no-images = ["pytest", "pytest-cov", "wurlitzer"] - -[[package]] -name = "contourpy" -version = "1.1.1" -description = "Python library for calculating contours of 2D quadrilateral grids" -optional = false -python-versions = ">=3.8" -groups = ["main"] -markers = "python_version <= \"3.11\" or python_version >= \"3.12\" and python_version < \"3.13\"" -files = [ - {file = "contourpy-1.1.1-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:46e24f5412c948d81736509377e255f6040e94216bf1a9b5ea1eaa9d29f6ec1b"}, - {file = "contourpy-1.1.1-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:0e48694d6a9c5a26ee85b10130c77a011a4fedf50a7279fa0bdaf44bafb4299d"}, - {file = "contourpy-1.1.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a66045af6cf00e19d02191ab578a50cb93b2028c3eefed999793698e9ea768ae"}, - {file = "contourpy-1.1.1-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:4ebf42695f75ee1a952f98ce9775c873e4971732a87334b099dde90b6af6a916"}, - {file = "contourpy-1.1.1-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:f6aec19457617ef468ff091669cca01fa7ea557b12b59a7908b9474bb9674cf0"}, - {file = "contourpy-1.1.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:462c59914dc6d81e0b11f37e560b8a7c2dbab6aca4f38be31519d442d6cde1a1"}, - {file = "contourpy-1.1.1-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:6d0a8efc258659edc5299f9ef32d8d81de8b53b45d67bf4bfa3067f31366764d"}, - {file = "contourpy-1.1.1-cp310-cp310-win32.whl", hash = "sha256:d6ab42f223e58b7dac1bb0af32194a7b9311065583cc75ff59dcf301afd8a431"}, - {file = "contourpy-1.1.1-cp310-cp310-win_amd64.whl", hash = "sha256:549174b0713d49871c6dee90a4b499d3f12f5e5f69641cd23c50a4542e2ca1eb"}, - {file = "contourpy-1.1.1-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:407d864db716a067cc696d61fa1ef6637fedf03606e8417fe2aeed20a061e6b2"}, - {file = "contourpy-1.1.1-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:dfe80c017973e6a4c367e037cb31601044dd55e6bfacd57370674867d15a899b"}, - {file = "contourpy-1.1.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:e30aaf2b8a2bac57eb7e1650df1b3a4130e8d0c66fc2f861039d507a11760e1b"}, - {file = "contourpy-1.1.1-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:3de23ca4f381c3770dee6d10ead6fff524d540c0f662e763ad1530bde5112532"}, - {file = "contourpy-1.1.1-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:566f0e41df06dfef2431defcfaa155f0acfa1ca4acbf8fd80895b1e7e2ada40e"}, - {file = "contourpy-1.1.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:b04c2f0adaf255bf756cf08ebef1be132d3c7a06fe6f9877d55640c5e60c72c5"}, - {file = "contourpy-1.1.1-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:d0c188ae66b772d9d61d43c6030500344c13e3f73a00d1dc241da896f379bb62"}, - {file = "contourpy-1.1.1-cp311-cp311-win32.whl", hash = "sha256:0683e1ae20dc038075d92e0e0148f09ffcefab120e57f6b4c9c0f477ec171f33"}, - {file = "contourpy-1.1.1-cp311-cp311-win_amd64.whl", hash = "sha256:8636cd2fc5da0fb102a2504fa2c4bea3cbc149533b345d72cdf0e7a924decc45"}, - {file = "contourpy-1.1.1-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:560f1d68a33e89c62da5da4077ba98137a5e4d3a271b29f2f195d0fba2adcb6a"}, - {file = "contourpy-1.1.1-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:24216552104ae8f3b34120ef84825400b16eb6133af2e27a190fdc13529f023e"}, - {file = "contourpy-1.1.1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:56de98a2fb23025882a18b60c7f0ea2d2d70bbbcfcf878f9067234b1c4818442"}, - {file = "contourpy-1.1.1-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:07d6f11dfaf80a84c97f1a5ba50d129d9303c5b4206f776e94037332e298dda8"}, - {file = "contourpy-1.1.1-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:f1eaac5257a8f8a047248d60e8f9315c6cff58f7803971170d952555ef6344a7"}, - {file = "contourpy-1.1.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:19557fa407e70f20bfaba7d55b4d97b14f9480856c4fb65812e8a05fe1c6f9bf"}, - {file = "contourpy-1.1.1-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:081f3c0880712e40effc5f4c3b08feca6d064cb8cfbb372ca548105b86fd6c3d"}, - {file = "contourpy-1.1.1-cp312-cp312-win32.whl", hash = "sha256:059c3d2a94b930f4dafe8105bcdc1b21de99b30b51b5bce74c753686de858cb6"}, - {file = "contourpy-1.1.1-cp312-cp312-win_amd64.whl", hash = "sha256:f44d78b61740e4e8c71db1cf1fd56d9050a4747681c59ec1094750a658ceb970"}, - {file = "contourpy-1.1.1-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:70e5a10f8093d228bb2b552beeb318b8928b8a94763ef03b858ef3612b29395d"}, - {file = "contourpy-1.1.1-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:8394e652925a18ef0091115e3cc191fef350ab6dc3cc417f06da66bf98071ae9"}, - {file = "contourpy-1.1.1-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:c5bd5680f844c3ff0008523a71949a3ff5e4953eb7701b28760805bc9bcff217"}, - {file = "contourpy-1.1.1-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:66544f853bfa85c0d07a68f6c648b2ec81dafd30f272565c37ab47a33b220684"}, - {file = "contourpy-1.1.1-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:e0c02b75acfea5cab07585d25069207e478d12309557f90a61b5a3b4f77f46ce"}, - {file = "contourpy-1.1.1-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:41339b24471c58dc1499e56783fedc1afa4bb018bcd035cfb0ee2ad2a7501ef8"}, - {file = "contourpy-1.1.1-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:f29fb0b3f1217dfe9362ec55440d0743fe868497359f2cf93293f4b2701b8251"}, - {file = "contourpy-1.1.1-cp38-cp38-win32.whl", hash = "sha256:f9dc7f933975367251c1b34da882c4f0e0b2e24bb35dc906d2f598a40b72bfc7"}, - {file = "contourpy-1.1.1-cp38-cp38-win_amd64.whl", hash = "sha256:498e53573e8b94b1caeb9e62d7c2d053c263ebb6aa259c81050766beb50ff8d9"}, - {file = "contourpy-1.1.1-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:ba42e3810999a0ddd0439e6e5dbf6d034055cdc72b7c5c839f37a7c274cb4eba"}, - {file = "contourpy-1.1.1-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:6c06e4c6e234fcc65435223c7b2a90f286b7f1b2733058bdf1345d218cc59e34"}, - {file = "contourpy-1.1.1-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:ca6fab080484e419528e98624fb5c4282148b847e3602dc8dbe0cb0669469887"}, - {file = "contourpy-1.1.1-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:93df44ab351119d14cd1e6b52a5063d3336f0754b72736cc63db59307dabb718"}, - {file = "contourpy-1.1.1-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:eafbef886566dc1047d7b3d4b14db0d5b7deb99638d8e1be4e23a7c7ac59ff0f"}, - {file = "contourpy-1.1.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:efe0fab26d598e1ec07d72cf03eaeeba8e42b4ecf6b9ccb5a356fde60ff08b85"}, - {file = "contourpy-1.1.1-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:f08e469821a5e4751c97fcd34bcb586bc243c39c2e39321822060ba902eac49e"}, - {file = "contourpy-1.1.1-cp39-cp39-win32.whl", hash = "sha256:bfc8a5e9238232a45ebc5cb3bfee71f1167064c8d382cadd6076f0d51cff1da0"}, - {file = "contourpy-1.1.1-cp39-cp39-win_amd64.whl", hash = "sha256:c84fdf3da00c2827d634de4fcf17e3e067490c4aea82833625c4c8e6cdea0887"}, - {file = "contourpy-1.1.1-pp38-pypy38_pp73-macosx_10_9_x86_64.whl", hash = "sha256:229a25f68046c5cf8067d6d6351c8b99e40da11b04d8416bf8d2b1d75922521e"}, - {file = "contourpy-1.1.1-pp38-pypy38_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:a10dab5ea1bd4401c9483450b5b0ba5416be799bbd50fc7a6cc5e2a15e03e8a3"}, - {file = "contourpy-1.1.1-pp38-pypy38_pp73-win_amd64.whl", hash = "sha256:4f9147051cb8fdb29a51dc2482d792b3b23e50f8f57e3720ca2e3d438b7adf23"}, - {file = "contourpy-1.1.1-pp39-pypy39_pp73-macosx_10_9_x86_64.whl", hash = "sha256:a75cc163a5f4531a256f2c523bd80db509a49fc23721b36dd1ef2f60ff41c3cb"}, - {file = "contourpy-1.1.1-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:3b53d5769aa1f2d4ea407c65f2d1d08002952fac1d9e9d307aa2e1023554a163"}, - {file = "contourpy-1.1.1-pp39-pypy39_pp73-win_amd64.whl", hash = "sha256:11b836b7dbfb74e049c302bbf74b4b8f6cb9d0b6ca1bf86cfa8ba144aedadd9c"}, - {file = "contourpy-1.1.1.tar.gz", hash = "sha256:96ba37c2e24b7212a77da85004c38e7c4d155d3e72a45eeaf22c1f03f607e8ab"}, -] - -[package.dependencies] -numpy = [ - {version = ">=1.16,<2.0", markers = "python_version <= \"3.11\""}, - {version = ">=1.26.0rc1,<2.0", markers = "python_version >= \"3.12\""}, -] - -[package.extras] -bokeh = ["bokeh", "selenium"] -docs = ["furo", "sphinx (>=7.2)", "sphinx-copybutton"] -mypy = ["contourpy[bokeh,docs]", "docutils-stubs", "mypy (==1.4.1)", "types-Pillow"] -test = ["Pillow", "contourpy[test-no-images]", "matplotlib"] -test-no-images = ["pytest", "pytest-cov", "wurlitzer"] - -[[package]] -name = "cryptography" -version = "43.0.3" -description = "cryptography is a package which provides cryptographic recipes and primitives to Python developers." -optional = false -python-versions = ">=3.7" -groups = ["build"] -markers = "sys_platform == \"linux\" and (platform_machine != \"ppc64le\" and platform_machine != \"s390x\" or python_version <= \"3.11\") and (python_version <= \"3.11\" or python_version >= \"3.12\") and (platform_machine == \"arm64\" or platform_machine == \"aarch64\" or platform_machine != \"ppc64le\" and platform_machine != \"s390x\") and (platform_machine == \"arm64\" or platform_machine == \"aarch64\" or platform_system != \"Linux\" or platform_machine != \"ppc64le\" and platform_machine != \"s390x\" and platform_machine != \"aarch64\" or python_version >= \"3.9\") and (platform_machine == \"arm64\" or platform_machine == \"aarch64\" or platform_system != \"Darwin\" or platform_machine != \"ppc64le\" and platform_machine != \"s390x\" and platform_machine != \"arm64\" or python_version >= \"3.9\")" -files = [ - {file = "cryptography-43.0.3-cp37-abi3-macosx_10_9_universal2.whl", hash = "sha256:bf7a1932ac4176486eab36a19ed4c0492da5d97123f1406cf15e41b05e787d2e"}, - {file = "cryptography-43.0.3-cp37-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:63efa177ff54aec6e1c0aefaa1a241232dcd37413835a9b674b6e3f0ae2bfd3e"}, - {file = "cryptography-43.0.3-cp37-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:7e1ce50266f4f70bf41a2c6dc4358afadae90e2a1e5342d3c08883df1675374f"}, - {file = "cryptography-43.0.3-cp37-abi3-manylinux_2_28_aarch64.whl", hash = "sha256:443c4a81bb10daed9a8f334365fe52542771f25aedaf889fd323a853ce7377d6"}, - {file = "cryptography-43.0.3-cp37-abi3-manylinux_2_28_x86_64.whl", hash = "sha256:74f57f24754fe349223792466a709f8e0c093205ff0dca557af51072ff47ab18"}, - {file = "cryptography-43.0.3-cp37-abi3-musllinux_1_2_aarch64.whl", hash = "sha256:9762ea51a8fc2a88b70cf2995e5675b38d93bf36bd67d91721c309df184f49bd"}, - {file = "cryptography-43.0.3-cp37-abi3-musllinux_1_2_x86_64.whl", hash = "sha256:81ef806b1fef6b06dcebad789f988d3b37ccaee225695cf3e07648eee0fc6b73"}, - {file = "cryptography-43.0.3-cp37-abi3-win32.whl", hash = "sha256:cbeb489927bd7af4aa98d4b261af9a5bc025bd87f0e3547e11584be9e9427be2"}, - {file = "cryptography-43.0.3-cp37-abi3-win_amd64.whl", hash = "sha256:f46304d6f0c6ab8e52770addfa2fc41e6629495548862279641972b6215451cd"}, - {file = "cryptography-43.0.3-cp39-abi3-macosx_10_9_universal2.whl", hash = "sha256:8ac43ae87929a5982f5948ceda07001ee5e83227fd69cf55b109144938d96984"}, - {file = "cryptography-43.0.3-cp39-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:846da004a5804145a5f441b8530b4bf35afbf7da70f82409f151695b127213d5"}, - {file = "cryptography-43.0.3-cp39-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:0f996e7268af62598f2fc1204afa98a3b5712313a55c4c9d434aef49cadc91d4"}, - {file = "cryptography-43.0.3-cp39-abi3-manylinux_2_28_aarch64.whl", hash = "sha256:f7b178f11ed3664fd0e995a47ed2b5ff0a12d893e41dd0494f406d1cf555cab7"}, - {file = "cryptography-43.0.3-cp39-abi3-manylinux_2_28_x86_64.whl", hash = "sha256:c2e6fc39c4ab499049df3bdf567f768a723a5e8464816e8f009f121a5a9f4405"}, - {file = "cryptography-43.0.3-cp39-abi3-musllinux_1_2_aarch64.whl", hash = "sha256:e1be4655c7ef6e1bbe6b5d0403526601323420bcf414598955968c9ef3eb7d16"}, - {file = "cryptography-43.0.3-cp39-abi3-musllinux_1_2_x86_64.whl", hash = "sha256:df6b6c6d742395dd77a23ea3728ab62f98379eff8fb61be2744d4679ab678f73"}, - {file = "cryptography-43.0.3-cp39-abi3-win32.whl", hash = "sha256:d56e96520b1020449bbace2b78b603442e7e378a9b3bd68de65c782db1507995"}, - {file = "cryptography-43.0.3-cp39-abi3-win_amd64.whl", hash = "sha256:0c580952eef9bf68c4747774cde7ec1d85a6e61de97281f2dba83c7d2c806362"}, - {file = "cryptography-43.0.3-pp310-pypy310_pp73-macosx_10_9_x86_64.whl", hash = "sha256:d03b5621a135bffecad2c73e9f4deb1a0f977b9a8ffe6f8e002bf6c9d07b918c"}, - {file = "cryptography-43.0.3-pp310-pypy310_pp73-manylinux_2_28_aarch64.whl", hash = "sha256:a2a431ee15799d6db9fe80c82b055bae5a752bef645bba795e8e52687c69efe3"}, - {file = "cryptography-43.0.3-pp310-pypy310_pp73-manylinux_2_28_x86_64.whl", hash = "sha256:281c945d0e28c92ca5e5930664c1cefd85efe80e5c0d2bc58dd63383fda29f83"}, - {file = "cryptography-43.0.3-pp310-pypy310_pp73-win_amd64.whl", hash = "sha256:f18c716be16bc1fea8e95def49edf46b82fccaa88587a45f8dc0ff6ab5d8e0a7"}, - {file = "cryptography-43.0.3-pp39-pypy39_pp73-macosx_10_9_x86_64.whl", hash = "sha256:4a02ded6cd4f0a5562a8887df8b3bd14e822a90f97ac5e544c162899bc467664"}, - {file = "cryptography-43.0.3-pp39-pypy39_pp73-manylinux_2_28_aarch64.whl", hash = "sha256:53a583b6637ab4c4e3591a15bc9db855b8d9dee9a669b550f311480acab6eb08"}, - {file = "cryptography-43.0.3-pp39-pypy39_pp73-manylinux_2_28_x86_64.whl", hash = "sha256:1ec0bcf7e17c0c5669d881b1cd38c4972fade441b27bda1051665faaa89bdcaa"}, - {file = "cryptography-43.0.3-pp39-pypy39_pp73-win_amd64.whl", hash = "sha256:2ce6fae5bdad59577b44e4dfed356944fbf1d925269114c28be377692643b4ff"}, - {file = "cryptography-43.0.3.tar.gz", hash = "sha256:315b9001266a492a6ff443b61238f956b214dbec9910a081ba5b6646a055a805"}, -] - -[package.dependencies] -cffi = {version = ">=1.12", markers = "platform_python_implementation != \"PyPy\""} - -[package.extras] -docs = ["sphinx (>=5.3.0)", "sphinx-rtd-theme (>=1.1.1)"] -docstest = ["pyenchant (>=1.6.11)", "readme-renderer", "sphinxcontrib-spelling (>=4.0.1)"] -nox = ["nox"] -pep8test = ["check-sdist", "click", "mypy", "ruff"] -sdist = ["build"] -ssh = ["bcrypt (>=3.1.5)"] -test = ["certifi", "cryptography-vectors (==43.0.3)", "pretend", "pytest (>=6.2.0)", "pytest-benchmark", "pytest-cov", "pytest-xdist"] -test-randomorder = ["pytest-randomly"] - -[[package]] -name = "cssselect2" -version = "0.7.0" -description = "CSS selectors for Python ElementTree" -optional = false -python-versions = ">=3.7" -groups = ["docs"] -markers = "python_version <= \"3.11\" or python_version >= \"3.12\"" -files = [ - {file = "cssselect2-0.7.0-py3-none-any.whl", hash = "sha256:fd23a65bfd444595913f02fc71f6b286c29261e354c41d722ca7a261a49b5969"}, - {file = "cssselect2-0.7.0.tar.gz", hash = "sha256:1ccd984dab89fc68955043aca4e1b03e0cf29cad9880f6e28e3ba7a74b14aa5a"}, -] - -[package.dependencies] -tinycss2 = "*" -webencodings = "*" - -[package.extras] -doc = ["sphinx", "sphinx_rtd_theme"] -test = ["flake8", "isort", "pytest"] - -[[package]] -name = "cycler" -version = "0.12.1" -description = "Composable style cycles" -optional = false -python-versions = ">=3.8" -groups = ["main"] -markers = "python_version <= \"3.11\" or python_version >= \"3.12\"" -files = [ - {file = "cycler-0.12.1-py3-none-any.whl", hash = "sha256:85cef7cff222d8644161529808465972e51340599459b8ac3ccbac5a854e0d30"}, - {file = "cycler-0.12.1.tar.gz", hash = "sha256:88bb128f02ba341da8ef447245a9e138fae777f6a23943da4540077d3601eb1c"}, -] - -[package.extras] -docs = ["ipython", "matplotlib", "numpydoc", "sphinx"] -tests = ["pytest", "pytest-cov", "pytest-xdist"] - -[[package]] -name = "debugpy" -version = "1.8.11" -description = "An implementation of the Debug Adapter Protocol for Python" -optional = false -python-versions = ">=3.8" -groups = ["dev", "docs"] -markers = "python_version <= \"3.11\" or python_version >= \"3.12\"" -files = [ - {file = "debugpy-1.8.11-cp310-cp310-macosx_14_0_x86_64.whl", hash = "sha256:2b26fefc4e31ff85593d68b9022e35e8925714a10ab4858fb1b577a8a48cb8cd"}, - {file = "debugpy-1.8.11-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:61bc8b3b265e6949855300e84dc93d02d7a3a637f2aec6d382afd4ceb9120c9f"}, - {file = "debugpy-1.8.11-cp310-cp310-win32.whl", hash = "sha256:c928bbf47f65288574b78518449edaa46c82572d340e2750889bbf8cd92f3737"}, - {file = "debugpy-1.8.11-cp310-cp310-win_amd64.whl", hash = "sha256:8da1db4ca4f22583e834dcabdc7832e56fe16275253ee53ba66627b86e304da1"}, - {file = "debugpy-1.8.11-cp311-cp311-macosx_14_0_universal2.whl", hash = "sha256:85de8474ad53ad546ff1c7c7c89230db215b9b8a02754d41cb5a76f70d0be296"}, - {file = "debugpy-1.8.11-cp311-cp311-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:8ffc382e4afa4aee367bf413f55ed17bd91b191dcaf979890af239dda435f2a1"}, - {file = "debugpy-1.8.11-cp311-cp311-win32.whl", hash = "sha256:40499a9979c55f72f4eb2fc38695419546b62594f8af194b879d2a18439c97a9"}, - {file = "debugpy-1.8.11-cp311-cp311-win_amd64.whl", hash = "sha256:987bce16e86efa86f747d5151c54e91b3c1e36acc03ce1ddb50f9d09d16ded0e"}, - {file = "debugpy-1.8.11-cp312-cp312-macosx_14_0_universal2.whl", hash = "sha256:84e511a7545d11683d32cdb8f809ef63fc17ea2a00455cc62d0a4dbb4ed1c308"}, - {file = "debugpy-1.8.11-cp312-cp312-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ce291a5aca4985d82875d6779f61375e959208cdf09fcec40001e65fb0a54768"}, - {file = "debugpy-1.8.11-cp312-cp312-win32.whl", hash = "sha256:28e45b3f827d3bf2592f3cf7ae63282e859f3259db44ed2b129093ca0ac7940b"}, - {file = "debugpy-1.8.11-cp312-cp312-win_amd64.whl", hash = "sha256:44b1b8e6253bceada11f714acf4309ffb98bfa9ac55e4fce14f9e5d4484287a1"}, - {file = "debugpy-1.8.11-cp313-cp313-macosx_14_0_universal2.whl", hash = "sha256:8988f7163e4381b0da7696f37eec7aca19deb02e500245df68a7159739bbd0d3"}, - {file = "debugpy-1.8.11-cp313-cp313-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:6c1f6a173d1140e557347419767d2b14ac1c9cd847e0b4c5444c7f3144697e4e"}, - {file = "debugpy-1.8.11-cp313-cp313-win32.whl", hash = "sha256:bb3b15e25891f38da3ca0740271e63ab9db61f41d4d8541745cfc1824252cb28"}, - {file = "debugpy-1.8.11-cp313-cp313-win_amd64.whl", hash = "sha256:d8768edcbeb34da9e11bcb8b5c2e0958d25218df7a6e56adf415ef262cd7b6d1"}, - {file = "debugpy-1.8.11-cp38-cp38-macosx_14_0_x86_64.whl", hash = "sha256:ad7efe588c8f5cf940f40c3de0cd683cc5b76819446abaa50dc0829a30c094db"}, - {file = "debugpy-1.8.11-cp38-cp38-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:189058d03a40103a57144752652b3ab08ff02b7595d0ce1f651b9acc3a3a35a0"}, - {file = "debugpy-1.8.11-cp38-cp38-win32.whl", hash = "sha256:32db46ba45849daed7ccf3f2e26f7a386867b077f39b2a974bb5c4c2c3b0a280"}, - {file = "debugpy-1.8.11-cp38-cp38-win_amd64.whl", hash = "sha256:116bf8342062246ca749013df4f6ea106f23bc159305843491f64672a55af2e5"}, - {file = "debugpy-1.8.11-cp39-cp39-macosx_14_0_x86_64.whl", hash = "sha256:654130ca6ad5de73d978057eaf9e582244ff72d4574b3e106fb8d3d2a0d32458"}, - {file = "debugpy-1.8.11-cp39-cp39-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:23dc34c5e03b0212fa3c49a874df2b8b1b8fda95160bd79c01eb3ab51ea8d851"}, - {file = "debugpy-1.8.11-cp39-cp39-win32.whl", hash = "sha256:52d8a3166c9f2815bfae05f386114b0b2d274456980d41f320299a8d9a5615a7"}, - {file = "debugpy-1.8.11-cp39-cp39-win_amd64.whl", hash = "sha256:52c3cf9ecda273a19cc092961ee34eb9ba8687d67ba34cc7b79a521c1c64c4c0"}, - {file = "debugpy-1.8.11-py2.py3-none-any.whl", hash = "sha256:0e22f846f4211383e6a416d04b4c13ed174d24cc5d43f5fd52e7821d0ebc8920"}, - {file = "debugpy-1.8.11.tar.gz", hash = "sha256:6ad2688b69235c43b020e04fecccdf6a96c8943ca9c2fb340b8adc103c655e57"}, -] - -[[package]] -name = "decorator" -version = "5.1.1" -description = "Decorators for Humans" -optional = false -python-versions = ">=3.5" -groups = ["dev", "docs"] -markers = "python_version <= \"3.11\" or python_version >= \"3.12\"" -files = [ - {file = "decorator-5.1.1-py3-none-any.whl", hash = "sha256:b8c3f85900b9dc423225913c5aace94729fe1fa9763b38939a95226f02d37186"}, - {file = "decorator-5.1.1.tar.gz", hash = "sha256:637996211036b6385ef91435e4fae22989472f9d571faba8927ba8253acbc330"}, -] - -[[package]] -name = "defusedxml" -version = "0.7.1" -description = "XML bomb protection for Python stdlib modules" -optional = false -python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*" -groups = ["main", "dev", "docs"] -markers = "python_version <= \"3.11\" or python_version >= \"3.12\"" -files = [ - {file = "defusedxml-0.7.1-py2.py3-none-any.whl", hash = "sha256:a352e7e428770286cc899e2542b6cdaedb2b4953ff269a210103ec58f6198a61"}, - {file = "defusedxml-0.7.1.tar.gz", hash = "sha256:1bb3032db185915b62d7c6209c5a8792be6a32ab2fedacc84e01b52c51aa3e69"}, -] - -[[package]] -name = "distlib" -version = "0.3.9" -description = "Distribution utilities" -optional = false -python-versions = "*" -groups = ["dev"] -markers = "python_version <= \"3.11\" or python_version >= \"3.12\"" -files = [ - {file = "distlib-0.3.9-py2.py3-none-any.whl", hash = "sha256:47f8c22fd27c27e25a65601af709b38e4f0a45ea4fc2e710f65755fa8caaaf87"}, - {file = "distlib-0.3.9.tar.gz", hash = "sha256:a60f20dea646b8a33f3e7772f74dc0b2d0772d2837ee1342a00645c81edf9403"}, -] - -[[package]] -name = "docutils" -version = "0.20.1" -description = "Docutils -- Python Documentation Utilities" -optional = false -python-versions = ">=3.7" -groups = ["build", "dev"] -markers = "python_version <= \"3.11\" or python_version >= \"3.12\"" -files = [ - {file = "docutils-0.20.1-py3-none-any.whl", hash = "sha256:96f387a2c5562db4476f09f13bbab2192e764cac08ebbf3a34a95d9b1e4a59d6"}, - {file = "docutils-0.20.1.tar.gz", hash = "sha256:f08a4e276c3a1583a86dce3e34aba3fe04d02bba2dd51ed16106244e8a923e3b"}, -] - -[[package]] -name = "exceptiongroup" -version = "1.2.2" -description = "Backport of PEP 654 (exception groups)" -optional = false -python-versions = ">=3.7" -groups = ["dev"] -markers = "python_version < \"3.11\"" -files = [ - {file = "exceptiongroup-1.2.2-py3-none-any.whl", hash = "sha256:3111b9d131c238bec2f8f516e123e14ba243563fb135d3fe885990585aa7795b"}, - {file = "exceptiongroup-1.2.2.tar.gz", hash = "sha256:47c2edf7c6738fafb49fd34290706d1a1a2f4d1c6df275526b62cbb4aa5393cc"}, -] - -[package.extras] -test = ["pytest (>=6)"] - -[[package]] -name = "executing" -version = "2.1.0" -description = "Get the currently executing AST node of a frame, and other information" -optional = false -python-versions = ">=3.8" -groups = ["dev", "docs"] -markers = "python_version <= \"3.11\" or python_version >= \"3.12\"" -files = [ - {file = "executing-2.1.0-py2.py3-none-any.whl", hash = "sha256:8d63781349375b5ebccc3142f4b30350c0cd9c79f921cde38be2be4637e98eaf"}, - {file = "executing-2.1.0.tar.gz", hash = "sha256:8ea27ddd260da8150fa5a708269c4a10e76161e2496ec3e587da9e3c0fe4b9ab"}, -] - -[package.extras] -tests = ["asttokens (>=2.1.0)", "coverage", "coverage-enable-subprocess", "ipython", "littleutils", "pytest", "rich"] - -[[package]] -name = "fastjsonschema" -version = "2.21.1" -description = "Fastest Python implementation of JSON schema" -optional = false -python-versions = "*" -groups = ["dev", "docs"] -markers = "python_version <= \"3.11\" or python_version >= \"3.12\"" -files = [ - {file = "fastjsonschema-2.21.1-py3-none-any.whl", hash = "sha256:c9e5b7e908310918cf494a434eeb31384dd84a98b57a30bcb1f535015b554667"}, - {file = "fastjsonschema-2.21.1.tar.gz", hash = "sha256:794d4f0a58f848961ba16af7b9c85a3e88cd360df008c59aac6fc5ae9323b5d4"}, -] - -[package.extras] -devel = ["colorama", "json-spec", "jsonschema", "pylint", "pytest", "pytest-benchmark", "pytest-cache", "validictory"] - -[[package]] -name = "filelock" -version = "3.16.1" -description = "A platform independent file lock." -optional = false -python-versions = ">=3.8" -groups = ["dev"] -markers = "python_version <= \"3.11\" or python_version >= \"3.12\"" -files = [ - {file = "filelock-3.16.1-py3-none-any.whl", hash = "sha256:2082e5703d51fbf98ea75855d9d5527e33d8ff23099bec374a134febee6946b0"}, - {file = "filelock-3.16.1.tar.gz", hash = "sha256:c249fbfcd5db47e5e2d6d62198e565475ee65e4831e2561c8e313fa7eb961435"}, -] - -[package.extras] -docs = ["furo (>=2024.8.6)", "sphinx (>=8.0.2)", "sphinx-autodoc-typehints (>=2.4.1)"] -testing = ["covdefaults (>=2.3)", "coverage (>=7.6.1)", "diff-cover (>=9.2)", "pytest (>=8.3.3)", "pytest-asyncio (>=0.24)", "pytest-cov (>=5)", "pytest-mock (>=3.14)", "pytest-timeout (>=2.3.1)", "virtualenv (>=20.26.4)"] -typing = ["typing-extensions (>=4.12.2)"] - -[[package]] -name = "fonttools" -version = "4.55.3" -description = "Tools to manipulate font files" -optional = false -python-versions = ">=3.8" -groups = ["main"] -markers = "python_version <= \"3.11\" or python_version >= \"3.12\"" -files = [ - {file = "fonttools-4.55.3-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:1dcc07934a2165ccdc3a5a608db56fb3c24b609658a5b340aee4ecf3ba679dc0"}, - {file = "fonttools-4.55.3-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:f7d66c15ba875432a2d2fb419523f5d3d347f91f48f57b8b08a2dfc3c39b8a3f"}, - {file = "fonttools-4.55.3-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:27e4ae3592e62eba83cd2c4ccd9462dcfa603ff78e09110680a5444c6925d841"}, - {file = "fonttools-4.55.3-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:62d65a3022c35e404d19ca14f291c89cc5890032ff04f6c17af0bd1927299674"}, - {file = "fonttools-4.55.3-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:d342e88764fb201286d185093781bf6628bbe380a913c24adf772d901baa8276"}, - {file = "fonttools-4.55.3-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:dd68c87a2bfe37c5b33bcda0fba39b65a353876d3b9006fde3adae31f97b3ef5"}, - {file = "fonttools-4.55.3-cp310-cp310-win32.whl", hash = "sha256:1bc7ad24ff98846282eef1cbeac05d013c2154f977a79886bb943015d2b1b261"}, - {file = "fonttools-4.55.3-cp310-cp310-win_amd64.whl", hash = "sha256:b54baf65c52952db65df39fcd4820668d0ef4766c0ccdf32879b77f7c804d5c5"}, - {file = "fonttools-4.55.3-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:8c4491699bad88efe95772543cd49870cf756b019ad56294f6498982408ab03e"}, - {file = "fonttools-4.55.3-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:5323a22eabddf4b24f66d26894f1229261021dacd9d29e89f7872dd8c63f0b8b"}, - {file = "fonttools-4.55.3-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:5480673f599ad410695ca2ddef2dfefe9df779a9a5cda89503881e503c9c7d90"}, - {file = "fonttools-4.55.3-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:da9da6d65cd7aa6b0f806556f4985bcbf603bf0c5c590e61b43aa3e5a0f822d0"}, - {file = "fonttools-4.55.3-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:e894b5bd60d9f473bed7a8f506515549cc194de08064d829464088d23097331b"}, - {file = "fonttools-4.55.3-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:aee3b57643827e237ff6ec6d28d9ff9766bd8b21e08cd13bff479e13d4b14765"}, - {file = "fonttools-4.55.3-cp311-cp311-win32.whl", hash = "sha256:eb6ca911c4c17eb51853143624d8dc87cdcdf12a711fc38bf5bd21521e79715f"}, - {file = "fonttools-4.55.3-cp311-cp311-win_amd64.whl", hash = "sha256:6314bf82c54c53c71805318fcf6786d986461622dd926d92a465199ff54b1b72"}, - {file = "fonttools-4.55.3-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:f9e736f60f4911061235603a6119e72053073a12c6d7904011df2d8fad2c0e35"}, - {file = "fonttools-4.55.3-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:7a8aa2c5e5b8b3bcb2e4538d929f6589a5c6bdb84fd16e2ed92649fb5454f11c"}, - {file = "fonttools-4.55.3-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:07f8288aacf0a38d174445fc78377a97fb0b83cfe352a90c9d9c1400571963c7"}, - {file = "fonttools-4.55.3-cp312-cp312-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:b8d5e8916c0970fbc0f6f1bece0063363bb5857a7f170121a4493e31c3db3314"}, - {file = "fonttools-4.55.3-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:ae3b6600565b2d80b7c05acb8e24d2b26ac407b27a3f2e078229721ba5698427"}, - {file = "fonttools-4.55.3-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:54153c49913f45065c8d9e6d0c101396725c5621c8aee744719300f79771d75a"}, - {file = "fonttools-4.55.3-cp312-cp312-win32.whl", hash = "sha256:827e95fdbbd3e51f8b459af5ea10ecb4e30af50221ca103bea68218e9615de07"}, - {file = "fonttools-4.55.3-cp312-cp312-win_amd64.whl", hash = "sha256:e6e8766eeeb2de759e862004aa11a9ea3d6f6d5ec710551a88b476192b64fd54"}, - {file = "fonttools-4.55.3-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:a430178ad3e650e695167cb53242dae3477b35c95bef6525b074d87493c4bf29"}, - {file = "fonttools-4.55.3-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:529cef2ce91dc44f8e407cc567fae6e49a1786f2fefefa73a294704c415322a4"}, - {file = "fonttools-4.55.3-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:8e75f12c82127486fac2d8bfbf5bf058202f54bf4f158d367e41647b972342ca"}, - {file = "fonttools-4.55.3-cp313-cp313-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:859c358ebf41db18fb72342d3080bce67c02b39e86b9fbcf1610cca14984841b"}, - {file = "fonttools-4.55.3-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:546565028e244a701f73df6d8dd6be489d01617863ec0c6a42fa25bf45d43048"}, - {file = "fonttools-4.55.3-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:aca318b77f23523309eec4475d1fbbb00a6b133eb766a8bdc401faba91261abe"}, - {file = "fonttools-4.55.3-cp313-cp313-win32.whl", hash = "sha256:8c5ec45428edaa7022f1c949a632a6f298edc7b481312fc7dc258921e9399628"}, - {file = "fonttools-4.55.3-cp313-cp313-win_amd64.whl", hash = "sha256:11e5de1ee0d95af4ae23c1a138b184b7f06e0b6abacabf1d0db41c90b03d834b"}, - {file = "fonttools-4.55.3-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:caf8230f3e10f8f5d7593eb6d252a37caf58c480b19a17e250a63dad63834cf3"}, - {file = "fonttools-4.55.3-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:b586ab5b15b6097f2fb71cafa3c98edfd0dba1ad8027229e7b1e204a58b0e09d"}, - {file = "fonttools-4.55.3-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a8c2794ded89399cc2169c4d0bf7941247b8d5932b2659e09834adfbb01589aa"}, - {file = "fonttools-4.55.3-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:cf4fe7c124aa3f4e4c1940880156e13f2f4d98170d35c749e6b4f119a872551e"}, - {file = "fonttools-4.55.3-cp38-cp38-musllinux_1_2_aarch64.whl", hash = "sha256:86721fbc389ef5cc1e2f477019e5069e8e4421e8d9576e9c26f840dbb04678de"}, - {file = "fonttools-4.55.3-cp38-cp38-musllinux_1_2_x86_64.whl", hash = "sha256:89bdc5d88bdeec1b15af790810e267e8332d92561dce4f0748c2b95c9bdf3926"}, - {file = "fonttools-4.55.3-cp38-cp38-win32.whl", hash = "sha256:bc5dbb4685e51235ef487e4bd501ddfc49be5aede5e40f4cefcccabc6e60fb4b"}, - {file = "fonttools-4.55.3-cp38-cp38-win_amd64.whl", hash = "sha256:cd70de1a52a8ee2d1877b6293af8a2484ac82514f10b1c67c1c5762d38073e56"}, - {file = "fonttools-4.55.3-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:bdcc9f04b36c6c20978d3f060e5323a43f6222accc4e7fcbef3f428e216d96af"}, - {file = "fonttools-4.55.3-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:c3ca99e0d460eff46e033cd3992a969658c3169ffcd533e0a39c63a38beb6831"}, - {file = "fonttools-4.55.3-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:22f38464daa6cdb7b6aebd14ab06609328fe1e9705bb0fcc7d1e69de7109ee02"}, - {file = "fonttools-4.55.3-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ed63959d00b61959b035c7d47f9313c2c1ece090ff63afea702fe86de00dbed4"}, - {file = "fonttools-4.55.3-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:5e8d657cd7326eeaba27de2740e847c6b39dde2f8d7cd7cc56f6aad404ddf0bd"}, - {file = "fonttools-4.55.3-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:fb594b5a99943042c702c550d5494bdd7577f6ef19b0bc73877c948a63184a32"}, - {file = "fonttools-4.55.3-cp39-cp39-win32.whl", hash = "sha256:dc5294a3d5c84226e3dbba1b6f61d7ad813a8c0238fceea4e09aa04848c3d851"}, - {file = "fonttools-4.55.3-cp39-cp39-win_amd64.whl", hash = "sha256:aedbeb1db64496d098e6be92b2e63b5fac4e53b1b92032dfc6988e1ea9134a4d"}, - {file = "fonttools-4.55.3-py3-none-any.whl", hash = "sha256:f412604ccbeee81b091b420272841e5ec5ef68967a9790e80bffd0e30b8e2977"}, - {file = "fonttools-4.55.3.tar.gz", hash = "sha256:3983313c2a04d6cc1fe9251f8fc647754cf49a61dac6cb1e7249ae67afaafc45"}, -] - -[package.extras] -all = ["brotli (>=1.0.1)", "brotlicffi (>=0.8.0)", "fs (>=2.2.0,<3)", "lxml (>=4.0)", "lz4 (>=1.7.4.2)", "matplotlib", "munkres", "pycairo", "scipy", "skia-pathops (>=0.5.0)", "sympy", "uharfbuzz (>=0.23.0)", "unicodedata2 (>=15.1.0)", "xattr", "zopfli (>=0.1.4)"] -graphite = ["lz4 (>=1.7.4.2)"] -interpolatable = ["munkres", "pycairo", "scipy"] -lxml = ["lxml (>=4.0)"] -pathops = ["skia-pathops (>=0.5.0)"] -plot = ["matplotlib"] -repacker = ["uharfbuzz (>=0.23.0)"] -symfont = ["sympy"] -type1 = ["xattr"] -ufo = ["fs (>=2.2.0,<3)"] -unicode = ["unicodedata2 (>=15.1.0)"] -woff = ["brotli (>=1.0.1)", "brotlicffi (>=0.8.0)", "zopfli (>=0.1.4)"] - -[[package]] -name = "fqdn" -version = "1.4.0" -description = "Validate fully-qualified domain names compliant to RFC 1035 and the preferred form in RFC 3686 s. 2." -optional = false -python-versions = "*" -groups = ["dev"] -markers = "python_version <= \"3.11\" or python_version >= \"3.12\"" -files = [ - {file = "fqdn-1.4.0-py3-none-any.whl", hash = "sha256:e935616ae81c9c60a22267593fe8e6af68cecc68549cc71bb9bfbcbbcb383386"}, - {file = "fqdn-1.4.0.tar.gz", hash = "sha256:30e8f2e685ce87cdace4712fd97c5d09f5e6fa519bbb66e8f188f6a7cb3a5c4e"}, -] - -[[package]] -name = "ghp-import" -version = "2.1.0" -description = "Copy your docs directly to the gh-pages branch." -optional = false -python-versions = "*" -groups = ["docs"] -markers = "python_version <= \"3.11\" or python_version >= \"3.12\"" -files = [ - {file = "ghp-import-2.1.0.tar.gz", hash = "sha256:9c535c4c61193c2df8871222567d7fd7e5014d835f97dc7b7439069e2413d343"}, - {file = "ghp_import-2.1.0-py3-none-any.whl", hash = "sha256:8337dd7b50877f163d4c0289bc1f1c7f127550241988d568c1db512c4324a619"}, -] - -[package.dependencies] -python-dateutil = ">=2.8.1" - -[package.extras] -dev = ["flake8", "markdown", "twine", "wheel"] - -[[package]] -name = "gitdb" -version = "4.0.12" -description = "Git Object Database" -optional = false -python-versions = ">=3.7" -groups = ["docs"] -markers = "python_version <= \"3.11\" or python_version >= \"3.12\"" -files = [ - {file = "gitdb-4.0.12-py3-none-any.whl", hash = "sha256:67073e15955400952c6565cc3e707c554a4eea2e428946f7a4c162fab9bd9bcf"}, - {file = "gitdb-4.0.12.tar.gz", hash = "sha256:5ef71f855d191a3326fcfbc0d5da835f26b13fbcba60c32c21091c349ffdb571"}, -] - -[package.dependencies] -smmap = ">=3.0.1,<6" - -[[package]] -name = "gitpython" -version = "3.1.44" -description = "GitPython is a Python library used to interact with Git repositories" -optional = false -python-versions = ">=3.7" -groups = ["docs"] -markers = "python_version <= \"3.11\" or python_version >= \"3.12\"" -files = [ - {file = "GitPython-3.1.44-py3-none-any.whl", hash = "sha256:9e0e10cda9bed1ee64bc9a6de50e7e38a9c9943241cd7f585f6df3ed28011110"}, - {file = "gitpython-3.1.44.tar.gz", hash = "sha256:c87e30b26253bf5418b01b0660f818967f3c503193838337fe5e573331249269"}, -] - -[package.dependencies] -gitdb = ">=4.0.1,<5" - -[package.extras] -doc = ["sphinx (>=7.1.2,<7.2)", "sphinx-autodoc-typehints", "sphinx_rtd_theme"] -test = ["coverage[toml]", "ddt (>=1.1.1,!=1.4.3)", "mock", "mypy", "pre-commit", "pytest (>=7.3.1)", "pytest-cov", "pytest-instafail", "pytest-mock", "pytest-sugar", "typing-extensions"] - -[[package]] -name = "griffe" -version = "1.4.0" -description = "Signatures for entire Python programs. Extract the structure, the frame, the skeleton of your project, to generate API documentation or find breaking changes in your API." -optional = false -python-versions = ">=3.8" -groups = ["docs"] -markers = "python_version <= \"3.11\" or python_version >= \"3.12\"" -files = [ - {file = "griffe-1.4.0-py3-none-any.whl", hash = "sha256:e589de8b8c137e99a46ec45f9598fc0ac5b6868ce824b24db09c02d117b89bc5"}, - {file = "griffe-1.4.0.tar.gz", hash = "sha256:8fccc585896d13f1221035d32c50dec65830c87d23f9adb9b1e6f3d63574f7f5"}, -] - -[package.dependencies] -astunparse = {version = ">=1.6", markers = "python_version < \"3.9\""} -colorama = ">=0.4" - -[[package]] -name = "h11" -version = "0.14.0" -description = "A pure-Python, bring-your-own-I/O implementation of HTTP/1.1" -optional = false -python-versions = ">=3.7" -groups = ["dev"] -markers = "python_version <= \"3.11\" or python_version >= \"3.12\"" -files = [ - {file = "h11-0.14.0-py3-none-any.whl", hash = "sha256:e3fe4ac4b851c468cc8363d500db52c2ead036020723024a109d37346efaa761"}, - {file = "h11-0.14.0.tar.gz", hash = "sha256:8f19fbbe99e72420ff35c00b27a34cb9937e902a8b810e2c88300c6f0a3b699d"}, -] - -[[package]] -name = "httpcore" -version = "1.0.7" -description = "A minimal low-level HTTP client." -optional = false -python-versions = ">=3.8" -groups = ["dev"] -markers = "python_version <= \"3.11\" or python_version >= \"3.12\"" -files = [ - {file = "httpcore-1.0.7-py3-none-any.whl", hash = "sha256:a3fff8f43dc260d5bd363d9f9cf1830fa3a458b332856f34282de498ed420edd"}, - {file = "httpcore-1.0.7.tar.gz", hash = "sha256:8551cb62a169ec7162ac7be8d4817d561f60e08eaa485234898414bb5a8a0b4c"}, -] - -[package.dependencies] -certifi = "*" -h11 = ">=0.13,<0.15" - -[package.extras] -asyncio = ["anyio (>=4.0,<5.0)"] -http2 = ["h2 (>=3,<5)"] -socks = ["socksio (==1.*)"] -trio = ["trio (>=0.22.0,<1.0)"] - -[[package]] -name = "httpx" -version = "0.28.1" -description = "The next generation HTTP client." -optional = false -python-versions = ">=3.8" -groups = ["dev"] -markers = "python_version <= \"3.11\" or python_version >= \"3.12\"" -files = [ - {file = "httpx-0.28.1-py3-none-any.whl", hash = "sha256:d909fcccc110f8c7faf814ca82a9a4d816bc5a6dbfea25d6591d6985b8ba59ad"}, - {file = "httpx-0.28.1.tar.gz", hash = "sha256:75e98c5f16b0f35b567856f597f06ff2270a374470a5c2392242528e3e3e42fc"}, -] - -[package.dependencies] -anyio = "*" -certifi = "*" -httpcore = "==1.*" -idna = "*" - -[package.extras] -brotli = ["brotli", "brotlicffi"] -cli = ["click (==8.*)", "pygments (==2.*)", "rich (>=10,<14)"] -http2 = ["h2 (>=3,<5)"] -socks = ["socksio (==1.*)"] -zstd = ["zstandard (>=0.18.0)"] - -[[package]] -name = "idna" -version = "3.10" -description = "Internationalized Domain Names in Applications (IDNA)" -optional = false -python-versions = ">=3.6" -groups = ["main", "build", "dev", "docs"] -markers = "python_version <= \"3.11\" or python_version >= \"3.12\"" -files = [ - {file = "idna-3.10-py3-none-any.whl", hash = "sha256:946d195a0d259cbba61165e88e65941f16e9b36ea6ddb97f00452bae8b1287d3"}, - {file = "idna-3.10.tar.gz", hash = "sha256:12f65c9b470abda6dc35cf8e63cc574b1c52b11df2c86030af0ac09b01b13ea9"}, -] - -[package.extras] -all = ["flake8 (>=7.1.1)", "mypy (>=1.11.2)", "pytest (>=8.3.2)", "ruff (>=0.6.2)"] - -[[package]] -name = "importlib-metadata" -version = "8.5.0" -description = "Read metadata from Python packages" -optional = false -python-versions = ">=3.8" -groups = ["build", "dev", "docs"] -files = [ - {file = "importlib_metadata-8.5.0-py3-none-any.whl", hash = "sha256:45e54197d28b7a7f1559e60b95e7c567032b602131fbd588f1497f47880aa68b"}, - {file = "importlib_metadata-8.5.0.tar.gz", hash = "sha256:71522656f0abace1d072b9e5481a48f07c138e00f079c38c8f883823f9c26bd7"}, -] -markers = {build = "python_version <= \"3.11\" and (python_full_version < \"3.10.2\" or platform_machine != \"ppc64le\" and platform_machine != \"s390x\")", dev = "python_version < \"3.10\"", docs = "python_version <= \"3.11\" or python_version >= \"3.12\""} - -[package.dependencies] -zipp = ">=3.20" - -[package.extras] -check = ["pytest-checkdocs (>=2.4)", "pytest-ruff (>=0.2.1)"] -cover = ["pytest-cov"] -doc = ["furo", "jaraco.packaging (>=9.3)", "jaraco.tidelift (>=1.4)", "rst.linker (>=1.9)", "sphinx (>=3.5)", "sphinx-lint"] -enabler = ["pytest-enabler (>=2.2)"] -perf = ["ipython"] -test = ["flufl.flake8", "importlib-resources (>=1.3)", "jaraco.test (>=5.4)", "packaging", "pyfakefs", "pytest (>=6,!=8.1.*)", "pytest-perf (>=0.9.2)"] -type = ["pytest-mypy"] - -[[package]] -name = "importlib-resources" -version = "6.4.5" -description = "Read resources from Python packages" -optional = false -python-versions = ">=3.8" -groups = ["main", "build", "dev", "docs"] -files = [ - {file = "importlib_resources-6.4.5-py3-none-any.whl", hash = "sha256:ac29d5f956f01d5e4bb63102a5a19957f1b9175e45649977264a1416783bb717"}, - {file = "importlib_resources-6.4.5.tar.gz", hash = "sha256:980862a1d16c9e147a59603677fa2aa5fd82b87f223b6cb870695bcfce830065"}, -] -markers = {main = "python_version < \"3.10\"", build = "python_version < \"3.9\" and (platform_machine == \"arm64\" or platform_machine == \"aarch64\" or platform_machine != \"ppc64le\" and platform_machine != \"s390x\") and (platform_machine == \"arm64\" or platform_machine == \"aarch64\" or platform_system != \"Linux\" or platform_machine != \"ppc64le\" and platform_machine != \"s390x\" and platform_machine != \"aarch64\") and (platform_machine == \"arm64\" or platform_machine == \"aarch64\" or platform_system != \"Darwin\" or platform_machine != \"ppc64le\" and platform_machine != \"s390x\" and platform_machine != \"arm64\")", dev = "python_version < \"3.9\"", docs = "python_version <= \"3.11\" or python_version >= \"3.12\""} - -[package.dependencies] -zipp = {version = ">=3.1.0", markers = "python_version < \"3.10\""} - -[package.extras] -check = ["pytest-checkdocs (>=2.4)", "pytest-ruff (>=0.2.1)"] -cover = ["pytest-cov"] -doc = ["furo", "jaraco.packaging (>=9.3)", "jaraco.tidelift (>=1.4)", "rst.linker (>=1.9)", "sphinx (>=3.5)", "sphinx-lint"] -enabler = ["pytest-enabler (>=2.2)"] -test = ["jaraco.test (>=5.4)", "pytest (>=6,!=8.1.*)", "zipp (>=3.17)"] -type = ["pytest-mypy"] - -[[package]] -name = "iniconfig" -version = "2.0.0" -description = "brain-dead simple config-ini parsing" -optional = false -python-versions = ">=3.7" -groups = ["dev"] -markers = "python_version <= \"3.11\" or python_version >= \"3.12\"" -files = [ - {file = "iniconfig-2.0.0-py3-none-any.whl", hash = "sha256:b6a85871a79d2e3b22d2d1b94ac2824226a63c6b741c88f7ae975f18b6778374"}, - {file = "iniconfig-2.0.0.tar.gz", hash = "sha256:2d91e135bf72d31a410b17c16da610a82cb55f6b0477d1a902134b24a455b8b3"}, -] - -[[package]] -name = "ipykernel" -version = "6.29.5" -description = "IPython Kernel for Jupyter" -optional = false -python-versions = ">=3.8" -groups = ["dev", "docs"] -markers = "python_version <= \"3.11\" or python_version >= \"3.12\"" -files = [ - {file = "ipykernel-6.29.5-py3-none-any.whl", hash = "sha256:afdb66ba5aa354b09b91379bac28ae4afebbb30e8b39510c9690afb7a10421b5"}, - {file = "ipykernel-6.29.5.tar.gz", hash = "sha256:f093a22c4a40f8828f8e330a9c297cb93dcab13bd9678ded6de8e5cf81c56215"}, -] - -[package.dependencies] -appnope = {version = "*", markers = "platform_system == \"Darwin\""} -comm = ">=0.1.1" -debugpy = ">=1.6.5" -ipython = ">=7.23.1" -jupyter-client = ">=6.1.12" -jupyter-core = ">=4.12,<5.0.dev0 || >=5.1.dev0" -matplotlib-inline = ">=0.1" -nest-asyncio = "*" -packaging = "*" -psutil = "*" -pyzmq = ">=24" -tornado = ">=6.1" -traitlets = ">=5.4.0" - -[package.extras] -cov = ["coverage[toml]", "curio", "matplotlib", "pytest-cov", "trio"] -docs = ["myst-parser", "pydata-sphinx-theme", "sphinx", "sphinx-autodoc-typehints", "sphinxcontrib-github-alt", "sphinxcontrib-spelling", "trio"] -pyqt5 = ["pyqt5"] -pyside6 = ["pyside6"] -test = ["flaky", "ipyparallel", "pre-commit", "pytest (>=7.0)", "pytest-asyncio (>=0.23.5)", "pytest-cov", "pytest-timeout"] - -[[package]] -name = "ipython" -version = "8.12.3" -description = "IPython: Productive Interactive Computing" -optional = false -python-versions = ">=3.8" -groups = ["dev", "docs"] -markers = "python_version <= \"3.11\" or python_version >= \"3.12\"" -files = [ - {file = "ipython-8.12.3-py3-none-any.whl", hash = "sha256:b0340d46a933d27c657b211a329d0be23793c36595acf9e6ef4164bc01a1804c"}, - {file = "ipython-8.12.3.tar.gz", hash = "sha256:3910c4b54543c2ad73d06579aa771041b7d5707b033bd488669b4cf544e3b363"}, -] - -[package.dependencies] -appnope = {version = "*", markers = "sys_platform == \"darwin\""} -backcall = "*" -colorama = {version = "*", markers = "sys_platform == \"win32\""} -decorator = "*" -jedi = ">=0.16" -matplotlib-inline = "*" -pexpect = {version = ">4.3", markers = "sys_platform != \"win32\""} -pickleshare = "*" -prompt-toolkit = ">=3.0.30,<3.0.37 || >3.0.37,<3.1.0" -pygments = ">=2.4.0" -stack-data = "*" -traitlets = ">=5" -typing-extensions = {version = "*", markers = "python_version < \"3.10\""} - -[package.extras] -all = ["black", "curio", "docrepr", "ipykernel", "ipyparallel", "ipywidgets", "matplotlib", "matplotlib (!=3.2.0)", "nbconvert", "nbformat", "notebook", "numpy (>=1.21)", "pandas", "pytest (<7)", "pytest (<7.1)", "pytest-asyncio", "qtconsole", "setuptools (>=18.5)", "sphinx (>=1.3)", "sphinx-rtd-theme", "stack-data", "testpath", "trio", "typing-extensions"] -black = ["black"] -doc = ["docrepr", "ipykernel", "matplotlib", "pytest (<7)", "pytest (<7.1)", "pytest-asyncio", "setuptools (>=18.5)", "sphinx (>=1.3)", "sphinx-rtd-theme", "stack-data", "testpath", "typing-extensions"] -kernel = ["ipykernel"] -nbconvert = ["nbconvert"] -nbformat = ["nbformat"] -notebook = ["ipywidgets", "notebook"] -parallel = ["ipyparallel"] -qtconsole = ["qtconsole"] -test = ["pytest (<7.1)", "pytest-asyncio", "testpath"] -test-extra = ["curio", "matplotlib (!=3.2.0)", "nbformat", "numpy (>=1.21)", "pandas", "pytest (<7.1)", "pytest-asyncio", "testpath", "trio"] - -[[package]] -name = "ipywidgets" -version = "8.1.5" -description = "Jupyter interactive widgets" -optional = false -python-versions = ">=3.7" -groups = ["dev"] -markers = "python_version <= \"3.11\" or python_version >= \"3.12\"" -files = [ - {file = "ipywidgets-8.1.5-py3-none-any.whl", hash = "sha256:3290f526f87ae6e77655555baba4f36681c555b8bdbbff430b70e52c34c86245"}, - {file = "ipywidgets-8.1.5.tar.gz", hash = "sha256:870e43b1a35656a80c18c9503bbf2d16802db1cb487eec6fab27d683381dde17"}, -] - -[package.dependencies] -comm = ">=0.1.3" -ipython = ">=6.1.0" -jupyterlab-widgets = ">=3.0.12,<3.1.0" -traitlets = ">=4.3.1" -widgetsnbextension = ">=4.0.12,<4.1.0" - -[package.extras] -test = ["ipykernel", "jsonschema", "pytest (>=3.6.0)", "pytest-cov", "pytz"] - -[[package]] -name = "isoduration" -version = "20.11.0" -description = "Operations with ISO 8601 durations" -optional = false -python-versions = ">=3.7" -groups = ["dev"] -markers = "python_version <= \"3.11\" or python_version >= \"3.12\"" -files = [ - {file = "isoduration-20.11.0-py3-none-any.whl", hash = "sha256:b2904c2a4228c3d44f409c8ae8e2370eb21a26f7ac2ec5446df141dde3452042"}, - {file = "isoduration-20.11.0.tar.gz", hash = "sha256:ac2f9015137935279eac671f94f89eb00584f940f5dc49462a0c4ee692ba1bd9"}, -] - -[package.dependencies] -arrow = ">=0.15.0" - -[[package]] -name = "jaraco-classes" -version = "3.4.0" -description = "Utility functions for Python class constructs" -optional = false -python-versions = ">=3.8" -groups = ["build"] -markers = "(platform_machine != \"ppc64le\" and platform_machine != \"s390x\" or python_version <= \"3.11\") and (python_version <= \"3.11\" or python_version >= \"3.12\") and (platform_machine == \"arm64\" or platform_machine == \"aarch64\" or platform_machine != \"ppc64le\" and platform_machine != \"s390x\") and (platform_machine == \"arm64\" or platform_machine == \"aarch64\" or platform_system != \"Linux\" or platform_machine != \"ppc64le\" and platform_machine != \"s390x\" and platform_machine != \"aarch64\" or python_version >= \"3.9\") and (platform_machine == \"arm64\" or platform_machine == \"aarch64\" or platform_system != \"Darwin\" or platform_machine != \"ppc64le\" and platform_machine != \"s390x\" and platform_machine != \"arm64\" or python_version >= \"3.9\")" -files = [ - {file = "jaraco.classes-3.4.0-py3-none-any.whl", hash = "sha256:f662826b6bed8cace05e7ff873ce0f9283b5c924470fe664fff1c2f00f581790"}, - {file = "jaraco.classes-3.4.0.tar.gz", hash = "sha256:47a024b51d0239c0dd8c8540c6c7f484be3b8fcf0b2d85c13825780d3b3f3acd"}, -] - -[package.dependencies] -more-itertools = "*" - -[package.extras] -docs = ["furo", "jaraco.packaging (>=9.3)", "jaraco.tidelift (>=1.4)", "rst.linker (>=1.9)", "sphinx (>=3.5)", "sphinx-lint"] -testing = ["pytest (>=6)", "pytest-checkdocs (>=2.4)", "pytest-cov", "pytest-enabler (>=2.2)", "pytest-mypy", "pytest-ruff (>=0.2.1)"] - -[[package]] -name = "jaraco-context" -version = "6.0.1" -description = "Useful decorators and context managers" -optional = false -python-versions = ">=3.8" -groups = ["build"] -markers = "(platform_machine != \"ppc64le\" and platform_machine != \"s390x\" or python_version <= \"3.11\") and (python_version <= \"3.11\" or python_version >= \"3.12\") and (platform_machine == \"arm64\" or platform_machine == \"aarch64\" or platform_machine != \"ppc64le\" and platform_machine != \"s390x\") and (platform_machine == \"arm64\" or platform_machine == \"aarch64\" or platform_system != \"Linux\" or platform_machine != \"ppc64le\" and platform_machine != \"s390x\" and platform_machine != \"aarch64\" or python_version >= \"3.9\") and (platform_machine == \"arm64\" or platform_machine == \"aarch64\" or platform_system != \"Darwin\" or platform_machine != \"ppc64le\" and platform_machine != \"s390x\" and platform_machine != \"arm64\" or python_version >= \"3.9\")" -files = [ - {file = "jaraco.context-6.0.1-py3-none-any.whl", hash = "sha256:f797fc481b490edb305122c9181830a3a5b76d84ef6d1aef2fb9b47ab956f9e4"}, - {file = "jaraco_context-6.0.1.tar.gz", hash = "sha256:9bae4ea555cf0b14938dc0aee7c9f32ed303aa20a3b73e7dc80111628792d1b3"}, -] - -[package.dependencies] -"backports.tarfile" = {version = "*", markers = "python_version < \"3.12\""} - -[package.extras] -doc = ["furo", "jaraco.packaging (>=9.3)", "jaraco.tidelift (>=1.4)", "rst.linker (>=1.9)", "sphinx (>=3.5)", "sphinx-lint"] -test = ["portend", "pytest (>=6,!=8.1.*)", "pytest-checkdocs (>=2.4)", "pytest-cov", "pytest-enabler (>=2.2)", "pytest-mypy", "pytest-ruff (>=0.2.1)"] - -[[package]] -name = "jaraco-functools" -version = "4.1.0" -description = "Functools like those found in stdlib" -optional = false -python-versions = ">=3.8" -groups = ["build"] -markers = "(platform_machine != \"ppc64le\" and platform_machine != \"s390x\" or python_version <= \"3.11\") and (python_version <= \"3.11\" or python_version >= \"3.12\") and (platform_machine == \"arm64\" or platform_machine == \"aarch64\" or platform_machine != \"ppc64le\" and platform_machine != \"s390x\") and (platform_machine == \"arm64\" or platform_machine == \"aarch64\" or platform_system != \"Linux\" or platform_machine != \"ppc64le\" and platform_machine != \"s390x\" and platform_machine != \"aarch64\" or python_version >= \"3.9\") and (platform_machine == \"arm64\" or platform_machine == \"aarch64\" or platform_system != \"Darwin\" or platform_machine != \"ppc64le\" and platform_machine != \"s390x\" and platform_machine != \"arm64\" or python_version >= \"3.9\")" -files = [ - {file = "jaraco.functools-4.1.0-py3-none-any.whl", hash = "sha256:ad159f13428bc4acbf5541ad6dec511f91573b90fba04df61dafa2a1231cf649"}, - {file = "jaraco_functools-4.1.0.tar.gz", hash = "sha256:70f7e0e2ae076498e212562325e805204fc092d7b4c17e0e86c959e249701a9d"}, -] - -[package.dependencies] -more-itertools = "*" - -[package.extras] -check = ["pytest-checkdocs (>=2.4)", "pytest-ruff (>=0.2.1)"] -cover = ["pytest-cov"] -doc = ["furo", "jaraco.packaging (>=9.3)", "jaraco.tidelift (>=1.4)", "rst.linker (>=1.9)", "sphinx (>=3.5)", "sphinx-lint"] -enabler = ["pytest-enabler (>=2.2)"] -test = ["jaraco.classes", "pytest (>=6,!=8.1.*)"] -type = ["pytest-mypy"] - -[[package]] -name = "jedi" -version = "0.19.2" -description = "An autocompletion tool for Python that can be used for text editors." -optional = false -python-versions = ">=3.6" -groups = ["dev", "docs"] -markers = "python_version <= \"3.11\" or python_version >= \"3.12\"" -files = [ - {file = "jedi-0.19.2-py2.py3-none-any.whl", hash = "sha256:a8ef22bde8490f57fe5c7681a3c83cb58874daf72b4784de3cce5b6ef6edb5b9"}, - {file = "jedi-0.19.2.tar.gz", hash = "sha256:4770dc3de41bde3966b02eb84fbcf557fb33cce26ad23da12c742fb50ecb11f0"}, -] - -[package.dependencies] -parso = ">=0.8.4,<0.9.0" - -[package.extras] -docs = ["Jinja2 (==2.11.3)", "MarkupSafe (==1.1.1)", "Pygments (==2.8.1)", "alabaster (==0.7.12)", "babel (==2.9.1)", "chardet (==4.0.0)", "commonmark (==0.8.1)", "docutils (==0.17.1)", "future (==0.18.2)", "idna (==2.10)", "imagesize (==1.2.0)", "mock (==1.0.1)", "packaging (==20.9)", "pyparsing (==2.4.7)", "pytz (==2021.1)", "readthedocs-sphinx-ext (==2.1.4)", "recommonmark (==0.5.0)", "requests (==2.25.1)", "six (==1.15.0)", "snowballstemmer (==2.1.0)", "sphinx (==1.8.5)", "sphinx-rtd-theme (==0.4.3)", "sphinxcontrib-serializinghtml (==1.1.4)", "sphinxcontrib-websupport (==1.2.4)", "urllib3 (==1.26.4)"] -qa = ["flake8 (==5.0.4)", "mypy (==0.971)", "types-setuptools (==67.2.0.1)"] -testing = ["Django", "attrs", "colorama", "docopt", "pytest (<9.0.0)"] - -[[package]] -name = "jeepney" -version = "0.8.0" -description = "Low-level, pure Python DBus protocol wrapper." -optional = false -python-versions = ">=3.7" -groups = ["build"] -markers = "sys_platform == \"linux\" and (platform_machine != \"ppc64le\" and platform_machine != \"s390x\" or python_version <= \"3.11\") and (python_version <= \"3.11\" or python_version >= \"3.12\") and (platform_machine == \"arm64\" or platform_machine == \"aarch64\" or platform_machine != \"ppc64le\" and platform_machine != \"s390x\") and (platform_machine == \"arm64\" or platform_machine == \"aarch64\" or platform_system != \"Linux\" or platform_machine != \"ppc64le\" and platform_machine != \"s390x\" and platform_machine != \"aarch64\" or python_version >= \"3.9\") and (platform_machine == \"arm64\" or platform_machine == \"aarch64\" or platform_system != \"Darwin\" or platform_machine != \"ppc64le\" and platform_machine != \"s390x\" and platform_machine != \"arm64\" or python_version >= \"3.9\")" -files = [ - {file = "jeepney-0.8.0-py3-none-any.whl", hash = "sha256:c0a454ad016ca575060802ee4d590dd912e35c122fa04e70306de3d076cce755"}, - {file = "jeepney-0.8.0.tar.gz", hash = "sha256:5efe48d255973902f6badc3ce55e2aa6c5c3b3bc642059ef3a91247bcfcc5806"}, -] - -[package.extras] -test = ["async-timeout", "pytest", "pytest-asyncio (>=0.17)", "pytest-trio", "testpath", "trio"] -trio = ["async_generator", "trio"] - -[[package]] -name = "jinja2" -version = "3.1.5" -description = "A very fast and expressive template engine." -optional = false -python-versions = ">=3.7" -groups = ["dev", "docs"] -markers = "python_version <= \"3.11\" or python_version >= \"3.12\"" -files = [ - {file = "jinja2-3.1.5-py3-none-any.whl", hash = "sha256:aba0f4dc9ed8013c424088f68a5c226f7d6097ed89b246d7749c2ec4175c6adb"}, - {file = "jinja2-3.1.5.tar.gz", hash = "sha256:8fefff8dc3034e27bb80d67c671eb8a9bc424c0ef4c0826edbff304cceff43bb"}, -] - -[package.dependencies] -MarkupSafe = ">=2.0" - -[package.extras] -i18n = ["Babel (>=2.7)"] - -[[package]] -name = "json5" -version = "0.10.0" -description = "A Python implementation of the JSON5 data format." -optional = false -python-versions = ">=3.8.0" -groups = ["dev"] -markers = "python_version <= \"3.11\" or python_version >= \"3.12\"" -files = [ - {file = "json5-0.10.0-py3-none-any.whl", hash = "sha256:19b23410220a7271e8377f81ba8aacba2fdd56947fbb137ee5977cbe1f5e8dfa"}, - {file = "json5-0.10.0.tar.gz", hash = "sha256:e66941c8f0a02026943c52c2eb34ebeb2a6f819a0be05920a6f5243cd30fd559"}, -] - -[package.extras] -dev = ["build (==1.2.2.post1)", "coverage (==7.5.3)", "mypy (==1.13.0)", "pip (==24.3.1)", "pylint (==3.2.3)", "ruff (==0.7.3)", "twine (==5.1.1)", "uv (==0.5.1)"] - -[[package]] -name = "jsonpointer" -version = "3.0.0" -description = "Identify specific nodes in a JSON document (RFC 6901)" -optional = false -python-versions = ">=3.7" -groups = ["dev"] -markers = "python_version <= \"3.11\" or python_version >= \"3.12\"" -files = [ - {file = "jsonpointer-3.0.0-py2.py3-none-any.whl", hash = "sha256:13e088adc14fca8b6aa8177c044e12701e6ad4b28ff10e65f2267a90109c9942"}, - {file = "jsonpointer-3.0.0.tar.gz", hash = "sha256:2b2d729f2091522d61c3b31f82e11870f60b68f43fbc705cb76bf4b832af59ef"}, -] - -[[package]] -name = "jsonschema" -version = "4.23.0" -description = "An implementation of JSON Schema validation for Python" -optional = false -python-versions = ">=3.8" -groups = ["dev", "docs"] -markers = "python_version <= \"3.11\" or python_version >= \"3.12\"" -files = [ - {file = "jsonschema-4.23.0-py3-none-any.whl", hash = "sha256:fbadb6f8b144a8f8cf9f0b89ba94501d143e50411a1278633f56a7acf7fd5566"}, - {file = "jsonschema-4.23.0.tar.gz", hash = "sha256:d71497fef26351a33265337fa77ffeb82423f3ea21283cd9467bb03999266bc4"}, -] - -[package.dependencies] -attrs = ">=22.2.0" -fqdn = {version = "*", optional = true, markers = "extra == \"format-nongpl\""} -idna = {version = "*", optional = true, markers = "extra == \"format-nongpl\""} -importlib-resources = {version = ">=1.4.0", markers = "python_version < \"3.9\""} -isoduration = {version = "*", optional = true, markers = "extra == \"format-nongpl\""} -jsonpointer = {version = ">1.13", optional = true, markers = "extra == \"format-nongpl\""} -jsonschema-specifications = ">=2023.03.6" -pkgutil-resolve-name = {version = ">=1.3.10", markers = "python_version < \"3.9\""} -referencing = ">=0.28.4" -rfc3339-validator = {version = "*", optional = true, markers = "extra == \"format-nongpl\""} -rfc3986-validator = {version = ">0.1.0", optional = true, markers = "extra == \"format-nongpl\""} -rpds-py = ">=0.7.1" -uri-template = {version = "*", optional = true, markers = "extra == \"format-nongpl\""} -webcolors = {version = ">=24.6.0", optional = true, markers = "extra == \"format-nongpl\""} - -[package.extras] -format = ["fqdn", "idna", "isoduration", "jsonpointer (>1.13)", "rfc3339-validator", "rfc3987", "uri-template", "webcolors (>=1.11)"] -format-nongpl = ["fqdn", "idna", "isoduration", "jsonpointer (>1.13)", "rfc3339-validator", "rfc3986-validator (>0.1.0)", "uri-template", "webcolors (>=24.6.0)"] - -[[package]] -name = "jsonschema-specifications" -version = "2023.12.1" -description = "The JSON Schema meta-schemas and vocabularies, exposed as a Registry" -optional = false -python-versions = ">=3.8" -groups = ["dev", "docs"] -markers = "python_version <= \"3.11\" or python_version >= \"3.12\"" -files = [ - {file = "jsonschema_specifications-2023.12.1-py3-none-any.whl", hash = "sha256:87e4fdf3a94858b8a2ba2778d9ba57d8a9cafca7c7489c46ba0d30a8bc6a9c3c"}, - {file = "jsonschema_specifications-2023.12.1.tar.gz", hash = "sha256:48a76787b3e70f5ed53f1160d2b81f586e4ca6d1548c5de7085d1682674764cc"}, -] - -[package.dependencies] -importlib-resources = {version = ">=1.4.0", markers = "python_version < \"3.9\""} -referencing = ">=0.31.0" - -[[package]] -name = "jupyter-client" -version = "8.6.3" -description = "Jupyter protocol implementation and client libraries" -optional = false -python-versions = ">=3.8" -groups = ["dev", "docs"] -markers = "python_version <= \"3.11\" or python_version >= \"3.12\"" -files = [ - {file = "jupyter_client-8.6.3-py3-none-any.whl", hash = "sha256:e8a19cc986cc45905ac3362915f410f3af85424b4c0905e94fa5f2cb08e8f23f"}, - {file = "jupyter_client-8.6.3.tar.gz", hash = "sha256:35b3a0947c4a6e9d589eb97d7d4cd5e90f910ee73101611f01283732bd6d9419"}, -] - -[package.dependencies] -importlib-metadata = {version = ">=4.8.3", markers = "python_version < \"3.10\""} -jupyter-core = ">=4.12,<5.0.dev0 || >=5.1.dev0" -python-dateutil = ">=2.8.2" -pyzmq = ">=23.0" -tornado = ">=6.2" -traitlets = ">=5.3" - -[package.extras] -docs = ["ipykernel", "myst-parser", "pydata-sphinx-theme", "sphinx (>=4)", "sphinx-autodoc-typehints", "sphinxcontrib-github-alt", "sphinxcontrib-spelling"] -test = ["coverage", "ipykernel (>=6.14)", "mypy", "paramiko", "pre-commit", "pytest (<8.2.0)", "pytest-cov", "pytest-jupyter[client] (>=0.4.1)", "pytest-timeout"] - -[[package]] -name = "jupyter-core" -version = "5.7.2" -description = "Jupyter core package. A base package on which Jupyter projects rely." -optional = false -python-versions = ">=3.8" -groups = ["dev", "docs"] -markers = "python_version <= \"3.11\" or python_version >= \"3.12\"" -files = [ - {file = "jupyter_core-5.7.2-py3-none-any.whl", hash = "sha256:4f7315d2f6b4bcf2e3e7cb6e46772eba760ae459cd1f59d29eb57b0a01bd7409"}, - {file = "jupyter_core-5.7.2.tar.gz", hash = "sha256:aa5f8d32bbf6b431ac830496da7392035d6f61b4f54872f15c4bd2a9c3f536d9"}, -] - -[package.dependencies] -platformdirs = ">=2.5" -pywin32 = {version = ">=300", markers = "sys_platform == \"win32\" and platform_python_implementation != \"PyPy\""} -traitlets = ">=5.3" - -[package.extras] -docs = ["myst-parser", "pydata-sphinx-theme", "sphinx-autodoc-typehints", "sphinxcontrib-github-alt", "sphinxcontrib-spelling", "traitlets"] -test = ["ipykernel", "pre-commit", "pytest (<8)", "pytest-cov", "pytest-timeout"] - -[[package]] -name = "jupyter-events" -version = "0.10.0" -description = "Jupyter Event System library" -optional = false -python-versions = ">=3.8" -groups = ["dev"] -markers = "python_version <= \"3.11\" or python_version >= \"3.12\"" -files = [ - {file = "jupyter_events-0.10.0-py3-none-any.whl", hash = "sha256:4b72130875e59d57716d327ea70d3ebc3af1944d3717e5a498b8a06c6c159960"}, - {file = "jupyter_events-0.10.0.tar.gz", hash = "sha256:670b8229d3cc882ec782144ed22e0d29e1c2d639263f92ca8383e66682845e22"}, -] - -[package.dependencies] -jsonschema = {version = ">=4.18.0", extras = ["format-nongpl"]} -python-json-logger = ">=2.0.4" -pyyaml = ">=5.3" -referencing = "*" -rfc3339-validator = "*" -rfc3986-validator = ">=0.1.1" -traitlets = ">=5.3" - -[package.extras] -cli = ["click", "rich"] -docs = ["jupyterlite-sphinx", "myst-parser", "pydata-sphinx-theme", "sphinxcontrib-spelling"] -test = ["click", "pre-commit", "pytest (>=7.0)", "pytest-asyncio (>=0.19.0)", "pytest-console-scripts", "rich"] - -[[package]] -name = "jupyter-lsp" -version = "2.2.5" -description = "Multi-Language Server WebSocket proxy for Jupyter Notebook/Lab server" -optional = false -python-versions = ">=3.8" -groups = ["dev"] -markers = "python_version <= \"3.11\" or python_version >= \"3.12\"" -files = [ - {file = "jupyter-lsp-2.2.5.tar.gz", hash = "sha256:793147a05ad446f809fd53ef1cd19a9f5256fd0a2d6b7ce943a982cb4f545001"}, - {file = "jupyter_lsp-2.2.5-py3-none-any.whl", hash = "sha256:45fbddbd505f3fbfb0b6cb2f1bc5e15e83ab7c79cd6e89416b248cb3c00c11da"}, -] - -[package.dependencies] -importlib-metadata = {version = ">=4.8.3", markers = "python_version < \"3.10\""} -jupyter-server = ">=1.1.2" - -[[package]] -name = "jupyter-server" -version = "2.14.2" -description = "The backend—i.e. core services, APIs, and REST endpoints—to Jupyter web applications." -optional = false -python-versions = ">=3.8" -groups = ["dev"] -markers = "python_version <= \"3.11\" or python_version >= \"3.12\"" -files = [ - {file = "jupyter_server-2.14.2-py3-none-any.whl", hash = "sha256:47ff506127c2f7851a17bf4713434208fc490955d0e8632e95014a9a9afbeefd"}, - {file = "jupyter_server-2.14.2.tar.gz", hash = "sha256:66095021aa9638ced276c248b1d81862e4c50f292d575920bbe960de1c56b12b"}, -] - -[package.dependencies] -anyio = ">=3.1.0" -argon2-cffi = ">=21.1" -jinja2 = ">=3.0.3" -jupyter-client = ">=7.4.4" -jupyter-core = ">=4.12,<5.0.dev0 || >=5.1.dev0" -jupyter-events = ">=0.9.0" -jupyter-server-terminals = ">=0.4.4" -nbconvert = ">=6.4.4" -nbformat = ">=5.3.0" -overrides = ">=5.0" -packaging = ">=22.0" -prometheus-client = ">=0.9" -pywinpty = {version = ">=2.0.1", markers = "os_name == \"nt\""} -pyzmq = ">=24" -send2trash = ">=1.8.2" -terminado = ">=0.8.3" -tornado = ">=6.2.0" -traitlets = ">=5.6.0" -websocket-client = ">=1.7" - -[package.extras] -docs = ["ipykernel", "jinja2", "jupyter-client", "myst-parser", "nbformat", "prometheus-client", "pydata-sphinx-theme", "send2trash", "sphinx-autodoc-typehints", "sphinxcontrib-github-alt", "sphinxcontrib-openapi (>=0.8.0)", "sphinxcontrib-spelling", "sphinxemoji", "tornado", "typing-extensions"] -test = ["flaky", "ipykernel", "pre-commit", "pytest (>=7.0,<9)", "pytest-console-scripts", "pytest-jupyter[server] (>=0.7)", "pytest-timeout", "requests"] - -[[package]] -name = "jupyter-server-terminals" -version = "0.5.3" -description = "A Jupyter Server Extension Providing Terminals." -optional = false -python-versions = ">=3.8" -groups = ["dev"] -markers = "python_version <= \"3.11\" or python_version >= \"3.12\"" -files = [ - {file = "jupyter_server_terminals-0.5.3-py3-none-any.whl", hash = "sha256:41ee0d7dc0ebf2809c668e0fc726dfaf258fcd3e769568996ca731b6194ae9aa"}, - {file = "jupyter_server_terminals-0.5.3.tar.gz", hash = "sha256:5ae0295167220e9ace0edcfdb212afd2b01ee8d179fe6f23c899590e9b8a5269"}, -] - -[package.dependencies] -pywinpty = {version = ">=2.0.3", markers = "os_name == \"nt\""} -terminado = ">=0.8.3" - -[package.extras] -docs = ["jinja2", "jupyter-server", "mistune (<4.0)", "myst-parser", "nbformat", "packaging", "pydata-sphinx-theme", "sphinxcontrib-github-alt", "sphinxcontrib-openapi", "sphinxcontrib-spelling", "sphinxemoji", "tornado"] -test = ["jupyter-server (>=2.0.0)", "pytest (>=7.0)", "pytest-jupyter[server] (>=0.5.3)", "pytest-timeout"] - -[[package]] -name = "jupyterlab" -version = "4.3.4" -description = "JupyterLab computational environment" -optional = false -python-versions = ">=3.8" -groups = ["dev"] -markers = "python_version <= \"3.11\" or python_version >= \"3.12\"" -files = [ - {file = "jupyterlab-4.3.4-py3-none-any.whl", hash = "sha256:b754c2601c5be6adf87cb5a1d8495d653ffb945f021939f77776acaa94dae952"}, - {file = "jupyterlab-4.3.4.tar.gz", hash = "sha256:f0bb9b09a04766e3423cccc2fc23169aa2ffedcdf8713e9e0fb33cac0b6859d0"}, -] - -[package.dependencies] -async-lru = ">=1.0.0" -httpx = ">=0.25.0" -importlib-metadata = {version = ">=4.8.3", markers = "python_version < \"3.10\""} -importlib-resources = {version = ">=1.4", markers = "python_version < \"3.9\""} -ipykernel = ">=6.5.0" -jinja2 = ">=3.0.3" -jupyter-core = "*" -jupyter-lsp = ">=2.0.0" -jupyter-server = ">=2.4.0,<3" -jupyterlab-server = ">=2.27.1,<3" -notebook-shim = ">=0.2" -packaging = "*" -setuptools = ">=40.8.0" -tomli = {version = ">=1.2.2", markers = "python_version < \"3.11\""} -tornado = ">=6.2.0" -traitlets = "*" - -[package.extras] -dev = ["build", "bump2version", "coverage", "hatch", "pre-commit", "pytest-cov", "ruff (==0.6.9)"] -docs = ["jsx-lexer", "myst-parser", "pydata-sphinx-theme (>=0.13.0)", "pytest", "pytest-check-links", "pytest-jupyter", "sphinx (>=1.8,<8.1.0)", "sphinx-copybutton"] -docs-screenshots = ["altair (==5.4.1)", "ipython (==8.16.1)", "ipywidgets (==8.1.5)", "jupyterlab-geojson (==3.4.0)", "jupyterlab-language-pack-zh-cn (==4.2.post3)", "matplotlib (==3.9.2)", "nbconvert (>=7.0.0)", "pandas (==2.2.3)", "scipy (==1.14.1)", "vega-datasets (==0.9.0)"] -test = ["coverage", "pytest (>=7.0)", "pytest-check-links (>=0.7)", "pytest-console-scripts", "pytest-cov", "pytest-jupyter (>=0.5.3)", "pytest-timeout", "pytest-tornasync", "requests", "requests-cache", "virtualenv"] -upgrade-extension = ["copier (>=9,<10)", "jinja2-time (<0.3)", "pydantic (<3.0)", "pyyaml-include (<3.0)", "tomli-w (<2.0)"] - -[[package]] -name = "jupyterlab-pygments" -version = "0.3.0" -description = "Pygments theme using JupyterLab CSS variables" -optional = false -python-versions = ">=3.8" -groups = ["dev", "docs"] -markers = "python_version <= \"3.11\" or python_version >= \"3.12\"" -files = [ - {file = "jupyterlab_pygments-0.3.0-py3-none-any.whl", hash = "sha256:841a89020971da1d8693f1a99997aefc5dc424bb1b251fd6322462a1b8842780"}, - {file = "jupyterlab_pygments-0.3.0.tar.gz", hash = "sha256:721aca4d9029252b11cfa9d185e5b5af4d54772bb8072f9b7036f4170054d35d"}, -] - -[[package]] -name = "jupyterlab-server" -version = "2.27.3" -description = "A set of server components for JupyterLab and JupyterLab like applications." -optional = false -python-versions = ">=3.8" -groups = ["dev"] -markers = "python_version <= \"3.11\" or python_version >= \"3.12\"" -files = [ - {file = "jupyterlab_server-2.27.3-py3-none-any.whl", hash = "sha256:e697488f66c3db49df675158a77b3b017520d772c6e1548c7d9bcc5df7944ee4"}, - {file = "jupyterlab_server-2.27.3.tar.gz", hash = "sha256:eb36caca59e74471988f0ae25c77945610b887f777255aa21f8065def9e51ed4"}, -] - -[package.dependencies] -babel = ">=2.10" -importlib-metadata = {version = ">=4.8.3", markers = "python_version < \"3.10\""} -jinja2 = ">=3.0.3" -json5 = ">=0.9.0" -jsonschema = ">=4.18.0" -jupyter-server = ">=1.21,<3" -packaging = ">=21.3" -requests = ">=2.31" - -[package.extras] -docs = ["autodoc-traits", "jinja2 (<3.2.0)", "mistune (<4)", "myst-parser", "pydata-sphinx-theme", "sphinx", "sphinx-copybutton", "sphinxcontrib-openapi (>0.8)"] -openapi = ["openapi-core (>=0.18.0,<0.19.0)", "ruamel-yaml"] -test = ["hatch", "ipykernel", "openapi-core (>=0.18.0,<0.19.0)", "openapi-spec-validator (>=0.6.0,<0.8.0)", "pytest (>=7.0,<8)", "pytest-console-scripts", "pytest-cov", "pytest-jupyter[server] (>=0.6.2)", "pytest-timeout", "requests-mock", "ruamel-yaml", "sphinxcontrib-spelling", "strict-rfc3339", "werkzeug"] - -[[package]] -name = "jupyterlab-widgets" -version = "3.0.13" -description = "Jupyter interactive widgets for JupyterLab" -optional = false -python-versions = ">=3.7" -groups = ["dev"] -markers = "python_version <= \"3.11\" or python_version >= \"3.12\"" -files = [ - {file = "jupyterlab_widgets-3.0.13-py3-none-any.whl", hash = "sha256:e3cda2c233ce144192f1e29914ad522b2f4c40e77214b0cc97377ca3d323db54"}, - {file = "jupyterlab_widgets-3.0.13.tar.gz", hash = "sha256:a2966d385328c1942b683a8cd96b89b8dd82c8b8f81dda902bb2bc06d46f5bed"}, -] - -[[package]] -name = "jupytext" -version = "1.16.6" -description = "Jupyter notebooks as Markdown documents, Julia, Python or R scripts" -optional = false -python-versions = ">=3.8" -groups = ["dev", "docs"] -markers = "python_version <= \"3.11\" or python_version >= \"3.12\"" -files = [ - {file = "jupytext-1.16.6-py3-none-any.whl", hash = "sha256:900132031f73fee15a1c9ebd862e05eb5f51e1ad6ab3a2c6fdd97ce2f9c913b4"}, - {file = "jupytext-1.16.6.tar.gz", hash = "sha256:dbd03f9263c34b737003f388fc069e9030834fb7136879c4c32c32473557baa0"}, -] - -[package.dependencies] -markdown-it-py = ">=1.0" -mdit-py-plugins = "*" -nbformat = "*" -packaging = "*" -pyyaml = "*" -tomli = {version = "*", markers = "python_version < \"3.11\""} - -[package.extras] -dev = ["autopep8", "black", "flake8", "gitpython", "ipykernel", "isort", "jupyter-fs (>=1.0)", "jupyter-server (!=2.11)", "nbconvert", "pre-commit", "pytest", "pytest-cov (>=2.6.1)", "pytest-randomly", "pytest-xdist", "sphinx (<8)", "sphinx-gallery (<0.8)"] -docs = ["myst-parser", "sphinx", "sphinx-copybutton", "sphinx-rtd-theme"] -test = ["pytest", "pytest-randomly", "pytest-xdist"] -test-cov = ["ipykernel", "jupyter-server (!=2.11)", "nbconvert", "pytest", "pytest-cov (>=2.6.1)", "pytest-randomly", "pytest-xdist"] -test-external = ["autopep8", "black", "flake8", "gitpython", "ipykernel", "isort", "jupyter-fs (>=1.0)", "jupyter-server (!=2.11)", "nbconvert", "pre-commit", "pytest", "pytest-randomly", "pytest-xdist", "sphinx (<8)", "sphinx-gallery (<0.8)"] -test-functional = ["pytest", "pytest-randomly", "pytest-xdist"] -test-integration = ["ipykernel", "jupyter-server (!=2.11)", "nbconvert", "pytest", "pytest-randomly", "pytest-xdist"] -test-ui = ["calysto-bash"] - -[[package]] -name = "keyring" -version = "25.5.0" -description = "Store and access your passwords safely." -optional = false -python-versions = ">=3.8" -groups = ["build"] -markers = "(platform_machine != \"ppc64le\" and platform_machine != \"s390x\" or python_version <= \"3.11\") and (python_version <= \"3.11\" or python_version >= \"3.12\") and (platform_machine == \"arm64\" or platform_machine == \"aarch64\" or platform_machine != \"ppc64le\" and platform_machine != \"s390x\") and (platform_machine == \"arm64\" or platform_machine == \"aarch64\" or platform_system != \"Linux\" or platform_machine != \"ppc64le\" and platform_machine != \"s390x\" and platform_machine != \"aarch64\" or python_version >= \"3.9\") and (platform_machine == \"arm64\" or platform_machine == \"aarch64\" or platform_system != \"Darwin\" or platform_machine != \"ppc64le\" and platform_machine != \"s390x\" and platform_machine != \"arm64\" or python_version >= \"3.9\")" -files = [ - {file = "keyring-25.5.0-py3-none-any.whl", hash = "sha256:e67f8ac32b04be4714b42fe84ce7dad9c40985b9ca827c592cc303e7c26d9741"}, - {file = "keyring-25.5.0.tar.gz", hash = "sha256:4c753b3ec91717fe713c4edd522d625889d8973a349b0e582622f49766de58e6"}, -] - -[package.dependencies] -importlib-metadata = {version = ">=4.11.4", markers = "python_version < \"3.12\""} -importlib-resources = {version = "*", markers = "python_version < \"3.9\""} -"jaraco.classes" = "*" -"jaraco.context" = "*" -"jaraco.functools" = "*" -jeepney = {version = ">=0.4.2", markers = "sys_platform == \"linux\""} -pywin32-ctypes = {version = ">=0.2.0", markers = "sys_platform == \"win32\""} -SecretStorage = {version = ">=3.2", markers = "sys_platform == \"linux\""} - -[package.extras] -check = ["pytest-checkdocs (>=2.4)", "pytest-ruff (>=0.2.1)"] -completion = ["shtab (>=1.1.0)"] -cover = ["pytest-cov"] -doc = ["furo", "jaraco.packaging (>=9.3)", "jaraco.tidelift (>=1.4)", "rst.linker (>=1.9)", "sphinx (>=3.5)", "sphinx-lint"] -enabler = ["pytest-enabler (>=2.2)"] -test = ["pyfakefs", "pytest (>=6,!=8.1.*)"] -type = ["pygobject-stubs", "pytest-mypy", "shtab", "types-pywin32"] - -[[package]] -name = "kiwisolver" -version = "1.4.7" -description = "A fast implementation of the Cassowary constraint solver" -optional = false -python-versions = ">=3.8" -groups = ["main"] -markers = "python_version <= \"3.11\" or python_version >= \"3.12\"" -files = [ - {file = "kiwisolver-1.4.7-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:8a9c83f75223d5e48b0bc9cb1bf2776cf01563e00ade8775ffe13b0b6e1af3a6"}, - {file = "kiwisolver-1.4.7-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:58370b1ffbd35407444d57057b57da5d6549d2d854fa30249771775c63b5fe17"}, - {file = "kiwisolver-1.4.7-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:aa0abdf853e09aff551db11fce173e2177d00786c688203f52c87ad7fcd91ef9"}, - {file = "kiwisolver-1.4.7-cp310-cp310-manylinux_2_12_i686.manylinux2010_i686.whl", hash = "sha256:8d53103597a252fb3ab8b5845af04c7a26d5e7ea8122303dd7a021176a87e8b9"}, - {file = "kiwisolver-1.4.7-cp310-cp310-manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:88f17c5ffa8e9462fb79f62746428dd57b46eb931698e42e990ad63103f35e6c"}, - {file = "kiwisolver-1.4.7-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:88a9ca9c710d598fd75ee5de59d5bda2684d9db36a9f50b6125eaea3969c2599"}, - {file = "kiwisolver-1.4.7-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:f4d742cb7af1c28303a51b7a27aaee540e71bb8e24f68c736f6f2ffc82f2bf05"}, - {file = "kiwisolver-1.4.7-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:e28c7fea2196bf4c2f8d46a0415c77a1c480cc0724722f23d7410ffe9842c407"}, - {file = "kiwisolver-1.4.7-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:e968b84db54f9d42046cf154e02911e39c0435c9801681e3fc9ce8a3c4130278"}, - {file = "kiwisolver-1.4.7-cp310-cp310-musllinux_1_2_i686.whl", hash = "sha256:0c18ec74c0472de033e1bebb2911c3c310eef5649133dd0bedf2a169a1b269e5"}, - {file = "kiwisolver-1.4.7-cp310-cp310-musllinux_1_2_ppc64le.whl", hash = "sha256:8f0ea6da6d393d8b2e187e6a5e3fb81f5862010a40c3945e2c6d12ae45cfb2ad"}, - {file = "kiwisolver-1.4.7-cp310-cp310-musllinux_1_2_s390x.whl", hash = "sha256:f106407dda69ae456dd1227966bf445b157ccc80ba0dff3802bb63f30b74e895"}, - {file = "kiwisolver-1.4.7-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:84ec80df401cfee1457063732d90022f93951944b5b58975d34ab56bb150dfb3"}, - {file = "kiwisolver-1.4.7-cp310-cp310-win32.whl", hash = "sha256:71bb308552200fb2c195e35ef05de12f0c878c07fc91c270eb3d6e41698c3bcc"}, - {file = "kiwisolver-1.4.7-cp310-cp310-win_amd64.whl", hash = "sha256:44756f9fd339de0fb6ee4f8c1696cfd19b2422e0d70b4cefc1cc7f1f64045a8c"}, - {file = "kiwisolver-1.4.7-cp310-cp310-win_arm64.whl", hash = "sha256:78a42513018c41c2ffd262eb676442315cbfe3c44eed82385c2ed043bc63210a"}, - {file = "kiwisolver-1.4.7-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:d2b0e12a42fb4e72d509fc994713d099cbb15ebf1103545e8a45f14da2dfca54"}, - {file = "kiwisolver-1.4.7-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:2a8781ac3edc42ea4b90bc23e7d37b665d89423818e26eb6df90698aa2287c95"}, - {file = "kiwisolver-1.4.7-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:46707a10836894b559e04b0fd143e343945c97fd170d69a2d26d640b4e297935"}, - {file = "kiwisolver-1.4.7-cp311-cp311-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:ef97b8df011141c9b0f6caf23b29379f87dd13183c978a30a3c546d2c47314cb"}, - {file = "kiwisolver-1.4.7-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:3ab58c12a2cd0fc769089e6d38466c46d7f76aced0a1f54c77652446733d2d02"}, - {file = "kiwisolver-1.4.7-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:803b8e1459341c1bb56d1c5c010406d5edec8a0713a0945851290a7930679b51"}, - {file = "kiwisolver-1.4.7-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:f9a9e8a507420fe35992ee9ecb302dab68550dedc0da9e2880dd88071c5fb052"}, - {file = "kiwisolver-1.4.7-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:18077b53dc3bb490e330669a99920c5e6a496889ae8c63b58fbc57c3d7f33a18"}, - {file = "kiwisolver-1.4.7-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:6af936f79086a89b3680a280c47ea90b4df7047b5bdf3aa5c524bbedddb9e545"}, - {file = "kiwisolver-1.4.7-cp311-cp311-musllinux_1_2_i686.whl", hash = "sha256:3abc5b19d24af4b77d1598a585b8a719beb8569a71568b66f4ebe1fb0449460b"}, - {file = "kiwisolver-1.4.7-cp311-cp311-musllinux_1_2_ppc64le.whl", hash = "sha256:933d4de052939d90afbe6e9d5273ae05fb836cc86c15b686edd4b3560cc0ee36"}, - {file = "kiwisolver-1.4.7-cp311-cp311-musllinux_1_2_s390x.whl", hash = "sha256:65e720d2ab2b53f1f72fb5da5fb477455905ce2c88aaa671ff0a447c2c80e8e3"}, - {file = "kiwisolver-1.4.7-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:3bf1ed55088f214ba6427484c59553123fdd9b218a42bbc8c6496d6754b1e523"}, - {file = "kiwisolver-1.4.7-cp311-cp311-win32.whl", hash = "sha256:4c00336b9dd5ad96d0a558fd18a8b6f711b7449acce4c157e7343ba92dd0cf3d"}, - {file = "kiwisolver-1.4.7-cp311-cp311-win_amd64.whl", hash = "sha256:929e294c1ac1e9f615c62a4e4313ca1823ba37326c164ec720a803287c4c499b"}, - {file = "kiwisolver-1.4.7-cp311-cp311-win_arm64.whl", hash = "sha256:e33e8fbd440c917106b237ef1a2f1449dfbb9b6f6e1ce17c94cd6a1e0d438376"}, - {file = "kiwisolver-1.4.7-cp312-cp312-macosx_10_9_universal2.whl", hash = "sha256:5360cc32706dab3931f738d3079652d20982511f7c0ac5711483e6eab08efff2"}, - {file = "kiwisolver-1.4.7-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:942216596dc64ddb25adb215c3c783215b23626f8d84e8eff8d6d45c3f29f75a"}, - {file = "kiwisolver-1.4.7-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:48b571ecd8bae15702e4f22d3ff6a0f13e54d3d00cd25216d5e7f658242065ee"}, - {file = "kiwisolver-1.4.7-cp312-cp312-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:ad42ba922c67c5f219097b28fae965e10045ddf145d2928bfac2eb2e17673640"}, - {file = "kiwisolver-1.4.7-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:612a10bdae23404a72941a0fc8fa2660c6ea1217c4ce0dbcab8a8f6543ea9e7f"}, - {file = "kiwisolver-1.4.7-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:9e838bba3a3bac0fe06d849d29772eb1afb9745a59710762e4ba3f4cb8424483"}, - {file = "kiwisolver-1.4.7-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:22f499f6157236c19f4bbbd472fa55b063db77a16cd74d49afe28992dff8c258"}, - {file = "kiwisolver-1.4.7-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:693902d433cf585133699972b6d7c42a8b9f8f826ebcaf0132ff55200afc599e"}, - {file = "kiwisolver-1.4.7-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:4e77f2126c3e0b0d055f44513ed349038ac180371ed9b52fe96a32aa071a5107"}, - {file = "kiwisolver-1.4.7-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:657a05857bda581c3656bfc3b20e353c232e9193eb167766ad2dc58b56504948"}, - {file = "kiwisolver-1.4.7-cp312-cp312-musllinux_1_2_ppc64le.whl", hash = "sha256:4bfa75a048c056a411f9705856abfc872558e33c055d80af6a380e3658766038"}, - {file = "kiwisolver-1.4.7-cp312-cp312-musllinux_1_2_s390x.whl", hash = "sha256:34ea1de54beef1c104422d210c47c7d2a4999bdecf42c7b5718fbe59a4cac383"}, - {file = "kiwisolver-1.4.7-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:90da3b5f694b85231cf93586dad5e90e2d71b9428f9aad96952c99055582f520"}, - {file = "kiwisolver-1.4.7-cp312-cp312-win32.whl", hash = "sha256:18e0cca3e008e17fe9b164b55735a325140a5a35faad8de92dd80265cd5eb80b"}, - {file = "kiwisolver-1.4.7-cp312-cp312-win_amd64.whl", hash = "sha256:58cb20602b18f86f83a5c87d3ee1c766a79c0d452f8def86d925e6c60fbf7bfb"}, - {file = "kiwisolver-1.4.7-cp312-cp312-win_arm64.whl", hash = "sha256:f5a8b53bdc0b3961f8b6125e198617c40aeed638b387913bf1ce78afb1b0be2a"}, - {file = "kiwisolver-1.4.7-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:2e6039dcbe79a8e0f044f1c39db1986a1b8071051efba3ee4d74f5b365f5226e"}, - {file = "kiwisolver-1.4.7-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:a1ecf0ac1c518487d9d23b1cd7139a6a65bc460cd101ab01f1be82ecf09794b6"}, - {file = "kiwisolver-1.4.7-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:7ab9ccab2b5bd5702ab0803676a580fffa2aa178c2badc5557a84cc943fcf750"}, - {file = "kiwisolver-1.4.7-cp313-cp313-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:f816dd2277f8d63d79f9c8473a79fe54047bc0467754962840782c575522224d"}, - {file = "kiwisolver-1.4.7-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:cf8bcc23ceb5a1b624572a1623b9f79d2c3b337c8c455405ef231933a10da379"}, - {file = "kiwisolver-1.4.7-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:dea0bf229319828467d7fca8c7c189780aa9ff679c94539eed7532ebe33ed37c"}, - {file = "kiwisolver-1.4.7-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:7c06a4c7cf15ec739ce0e5971b26c93638730090add60e183530d70848ebdd34"}, - {file = "kiwisolver-1.4.7-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:913983ad2deb14e66d83c28b632fd35ba2b825031f2fa4ca29675e665dfecbe1"}, - {file = "kiwisolver-1.4.7-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:5337ec7809bcd0f424c6b705ecf97941c46279cf5ed92311782c7c9c2026f07f"}, - {file = "kiwisolver-1.4.7-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:4c26ed10c4f6fa6ddb329a5120ba3b6db349ca192ae211e882970bfc9d91420b"}, - {file = "kiwisolver-1.4.7-cp313-cp313-musllinux_1_2_ppc64le.whl", hash = "sha256:c619b101e6de2222c1fcb0531e1b17bbffbe54294bfba43ea0d411d428618c27"}, - {file = "kiwisolver-1.4.7-cp313-cp313-musllinux_1_2_s390x.whl", hash = "sha256:073a36c8273647592ea332e816e75ef8da5c303236ec0167196793eb1e34657a"}, - {file = "kiwisolver-1.4.7-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:3ce6b2b0231bda412463e152fc18335ba32faf4e8c23a754ad50ffa70e4091ee"}, - {file = "kiwisolver-1.4.7-cp313-cp313-win32.whl", hash = "sha256:f4c9aee212bc89d4e13f58be11a56cc8036cabad119259d12ace14b34476fd07"}, - {file = "kiwisolver-1.4.7-cp313-cp313-win_amd64.whl", hash = "sha256:8a3ec5aa8e38fc4c8af308917ce12c536f1c88452ce554027e55b22cbbfbff76"}, - {file = "kiwisolver-1.4.7-cp313-cp313-win_arm64.whl", hash = "sha256:76c8094ac20ec259471ac53e774623eb62e6e1f56cd8690c67ce6ce4fcb05650"}, - {file = "kiwisolver-1.4.7-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:5d5abf8f8ec1f4e22882273c423e16cae834c36856cac348cfbfa68e01c40f3a"}, - {file = "kiwisolver-1.4.7-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:aeb3531b196ef6f11776c21674dba836aeea9d5bd1cf630f869e3d90b16cfade"}, - {file = "kiwisolver-1.4.7-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:b7d755065e4e866a8086c9bdada157133ff466476a2ad7861828e17b6026e22c"}, - {file = "kiwisolver-1.4.7-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:08471d4d86cbaec61f86b217dd938a83d85e03785f51121e791a6e6689a3be95"}, - {file = "kiwisolver-1.4.7-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:7bbfcb7165ce3d54a3dfbe731e470f65739c4c1f85bb1018ee912bae139e263b"}, - {file = "kiwisolver-1.4.7-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:5d34eb8494bea691a1a450141ebb5385e4b69d38bb8403b5146ad279f4b30fa3"}, - {file = "kiwisolver-1.4.7-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:9242795d174daa40105c1d86aba618e8eab7bf96ba8c3ee614da8302a9f95503"}, - {file = "kiwisolver-1.4.7-cp38-cp38-manylinux_2_5_x86_64.manylinux1_x86_64.whl", hash = "sha256:a0f64a48bb81af7450e641e3fe0b0394d7381e342805479178b3d335d60ca7cf"}, - {file = "kiwisolver-1.4.7-cp38-cp38-musllinux_1_2_aarch64.whl", hash = "sha256:8e045731a5416357638d1700927529e2b8ab304811671f665b225f8bf8d8f933"}, - {file = "kiwisolver-1.4.7-cp38-cp38-musllinux_1_2_i686.whl", hash = "sha256:4322872d5772cae7369f8351da1edf255a604ea7087fe295411397d0cfd9655e"}, - {file = "kiwisolver-1.4.7-cp38-cp38-musllinux_1_2_ppc64le.whl", hash = "sha256:e1631290ee9271dffe3062d2634c3ecac02c83890ada077d225e081aca8aab89"}, - {file = "kiwisolver-1.4.7-cp38-cp38-musllinux_1_2_s390x.whl", hash = "sha256:edcfc407e4eb17e037bca59be0e85a2031a2ac87e4fed26d3e9df88b4165f92d"}, - {file = "kiwisolver-1.4.7-cp38-cp38-musllinux_1_2_x86_64.whl", hash = "sha256:4d05d81ecb47d11e7f8932bd8b61b720bf0b41199358f3f5e36d38e28f0532c5"}, - {file = "kiwisolver-1.4.7-cp38-cp38-win32.whl", hash = "sha256:b38ac83d5f04b15e515fd86f312479d950d05ce2368d5413d46c088dda7de90a"}, - {file = "kiwisolver-1.4.7-cp38-cp38-win_amd64.whl", hash = "sha256:d83db7cde68459fc803052a55ace60bea2bae361fc3b7a6d5da07e11954e4b09"}, - {file = "kiwisolver-1.4.7-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:3f9362ecfca44c863569d3d3c033dbe8ba452ff8eed6f6b5806382741a1334bd"}, - {file = "kiwisolver-1.4.7-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:e8df2eb9b2bac43ef8b082e06f750350fbbaf2887534a5be97f6cf07b19d9583"}, - {file = "kiwisolver-1.4.7-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:f32d6edbc638cde7652bd690c3e728b25332acbadd7cad670cc4a02558d9c417"}, - {file = "kiwisolver-1.4.7-cp39-cp39-manylinux_2_12_i686.manylinux2010_i686.whl", hash = "sha256:e2e6c39bd7b9372b0be21456caab138e8e69cc0fc1190a9dfa92bd45a1e6e904"}, - {file = "kiwisolver-1.4.7-cp39-cp39-manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:dda56c24d869b1193fcc763f1284b9126550eaf84b88bbc7256e15028f19188a"}, - {file = "kiwisolver-1.4.7-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:79849239c39b5e1fd906556c474d9b0439ea6792b637511f3fe3a41158d89ca8"}, - {file = "kiwisolver-1.4.7-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:5e3bc157fed2a4c02ec468de4ecd12a6e22818d4f09cde2c31ee3226ffbefab2"}, - {file = "kiwisolver-1.4.7-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:3da53da805b71e41053dc670f9a820d1157aae77b6b944e08024d17bcd51ef88"}, - {file = "kiwisolver-1.4.7-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:8705f17dfeb43139a692298cb6637ee2e59c0194538153e83e9ee0c75c2eddde"}, - {file = "kiwisolver-1.4.7-cp39-cp39-musllinux_1_2_i686.whl", hash = "sha256:82a5c2f4b87c26bb1a0ef3d16b5c4753434633b83d365cc0ddf2770c93829e3c"}, - {file = "kiwisolver-1.4.7-cp39-cp39-musllinux_1_2_ppc64le.whl", hash = "sha256:ce8be0466f4c0d585cdb6c1e2ed07232221df101a4c6f28821d2aa754ca2d9e2"}, - {file = "kiwisolver-1.4.7-cp39-cp39-musllinux_1_2_s390x.whl", hash = "sha256:409afdfe1e2e90e6ee7fc896f3df9a7fec8e793e58bfa0d052c8a82f99c37abb"}, - {file = "kiwisolver-1.4.7-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:5b9c3f4ee0b9a439d2415012bd1b1cc2df59e4d6a9939f4d669241d30b414327"}, - {file = "kiwisolver-1.4.7-cp39-cp39-win32.whl", hash = "sha256:a79ae34384df2b615eefca647a2873842ac3b596418032bef9a7283675962644"}, - {file = "kiwisolver-1.4.7-cp39-cp39-win_amd64.whl", hash = "sha256:cf0438b42121a66a3a667de17e779330fc0f20b0d97d59d2f2121e182b0505e4"}, - {file = "kiwisolver-1.4.7-cp39-cp39-win_arm64.whl", hash = "sha256:764202cc7e70f767dab49e8df52c7455e8de0df5d858fa801a11aa0d882ccf3f"}, - {file = "kiwisolver-1.4.7-pp310-pypy310_pp73-macosx_10_15_x86_64.whl", hash = "sha256:94252291e3fe68001b1dd747b4c0b3be12582839b95ad4d1b641924d68fd4643"}, - {file = "kiwisolver-1.4.7-pp310-pypy310_pp73-macosx_11_0_arm64.whl", hash = "sha256:5b7dfa3b546da08a9f622bb6becdb14b3e24aaa30adba66749d38f3cc7ea9706"}, - {file = "kiwisolver-1.4.7-pp310-pypy310_pp73-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:bd3de6481f4ed8b734da5df134cd5a6a64fe32124fe83dde1e5b5f29fe30b1e6"}, - {file = "kiwisolver-1.4.7-pp310-pypy310_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a91b5f9f1205845d488c928e8570dcb62b893372f63b8b6e98b863ebd2368ff2"}, - {file = "kiwisolver-1.4.7-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:40fa14dbd66b8b8f470d5fc79c089a66185619d31645f9b0773b88b19f7223c4"}, - {file = "kiwisolver-1.4.7-pp310-pypy310_pp73-win_amd64.whl", hash = "sha256:eb542fe7933aa09d8d8f9d9097ef37532a7df6497819d16efe4359890a2f417a"}, - {file = "kiwisolver-1.4.7-pp38-pypy38_pp73-macosx_10_9_x86_64.whl", hash = "sha256:bfa1acfa0c54932d5607e19a2c24646fb4c1ae2694437789129cf099789a3b00"}, - {file = "kiwisolver-1.4.7-pp38-pypy38_pp73-macosx_11_0_arm64.whl", hash = "sha256:eee3ea935c3d227d49b4eb85660ff631556841f6e567f0f7bda972df6c2c9935"}, - {file = "kiwisolver-1.4.7-pp38-pypy38_pp73-manylinux_2_12_i686.manylinux2010_i686.whl", hash = "sha256:f3160309af4396e0ed04db259c3ccbfdc3621b5559b5453075e5de555e1f3a1b"}, - {file = "kiwisolver-1.4.7-pp38-pypy38_pp73-manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:a17f6a29cf8935e587cc8a4dbfc8368c55edc645283db0ce9801016f83526c2d"}, - {file = "kiwisolver-1.4.7-pp38-pypy38_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:10849fb2c1ecbfae45a693c070e0320a91b35dd4bcf58172c023b994283a124d"}, - {file = "kiwisolver-1.4.7-pp38-pypy38_pp73-win_amd64.whl", hash = "sha256:ac542bf38a8a4be2dc6b15248d36315ccc65f0743f7b1a76688ffb6b5129a5c2"}, - {file = "kiwisolver-1.4.7-pp39-pypy39_pp73-macosx_10_15_x86_64.whl", hash = "sha256:8b01aac285f91ca889c800042c35ad3b239e704b150cfd3382adfc9dcc780e39"}, - {file = "kiwisolver-1.4.7-pp39-pypy39_pp73-macosx_11_0_arm64.whl", hash = "sha256:48be928f59a1f5c8207154f935334d374e79f2b5d212826307d072595ad76a2e"}, - {file = "kiwisolver-1.4.7-pp39-pypy39_pp73-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:f37cfe618a117e50d8c240555331160d73d0411422b59b5ee217843d7b693608"}, - {file = "kiwisolver-1.4.7-pp39-pypy39_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:599b5c873c63a1f6ed7eead644a8a380cfbdf5db91dcb6f85707aaab213b1674"}, - {file = "kiwisolver-1.4.7-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:801fa7802e5cfabe3ab0c81a34c323a319b097dfb5004be950482d882f3d7225"}, - {file = "kiwisolver-1.4.7-pp39-pypy39_pp73-win_amd64.whl", hash = "sha256:0c6c43471bc764fad4bc99c5c2d6d16a676b1abf844ca7c8702bdae92df01ee0"}, - {file = "kiwisolver-1.4.7.tar.gz", hash = "sha256:9893ff81bd7107f7b685d3017cc6583daadb4fc26e4a888350df530e41980a60"}, -] - -[[package]] -name = "markdown" -version = "3.7" -description = "Python implementation of John Gruber's Markdown." -optional = false -python-versions = ">=3.8" -groups = ["docs"] -markers = "python_version <= \"3.11\" or python_version >= \"3.12\"" -files = [ - {file = "Markdown-3.7-py3-none-any.whl", hash = "sha256:7eb6df5690b81a1d7942992c97fad2938e956e79df20cbc6186e9c3a77b1c803"}, - {file = "markdown-3.7.tar.gz", hash = "sha256:2ae2471477cfd02dbbf038d5d9bc226d40def84b4fe2986e49b59b6b472bbed2"}, -] - -[package.dependencies] -importlib-metadata = {version = ">=4.4", markers = "python_version < \"3.10\""} - -[package.extras] -docs = ["mdx-gh-links (>=0.2)", "mkdocs (>=1.5)", "mkdocs-gen-files", "mkdocs-literate-nav", "mkdocs-nature (>=0.6)", "mkdocs-section-index", "mkdocstrings[python]"] -testing = ["coverage", "pyyaml"] - -[[package]] -name = "markdown-it-py" -version = "3.0.0" -description = "Python port of markdown-it. Markdown parsing, done right!" -optional = false -python-versions = ">=3.8" -groups = ["build", "dev", "docs"] -markers = "python_version <= \"3.11\" or python_version >= \"3.12\"" -files = [ - {file = "markdown-it-py-3.0.0.tar.gz", hash = "sha256:e3f60a94fa066dc52ec76661e37c851cb232d92f9886b15cb560aaada2df8feb"}, - {file = "markdown_it_py-3.0.0-py3-none-any.whl", hash = "sha256:355216845c60bd96232cd8d8c40e8f9765cc86f46880e43a8fd22dc1a1a8cab1"}, -] - -[package.dependencies] -mdurl = ">=0.1,<1.0" - -[package.extras] -benchmarking = ["psutil", "pytest", "pytest-benchmark"] -code-style = ["pre-commit (>=3.0,<4.0)"] -compare = ["commonmark (>=0.9,<1.0)", "markdown (>=3.4,<4.0)", "mistletoe (>=1.0,<2.0)", "mistune (>=2.0,<3.0)", "panflute (>=2.3,<3.0)"] -linkify = ["linkify-it-py (>=1,<3)"] -plugins = ["mdit-py-plugins"] -profiling = ["gprof2dot"] -rtd = ["jupyter_sphinx", "mdit-py-plugins", "myst-parser", "pyyaml", "sphinx", "sphinx-copybutton", "sphinx-design", "sphinx_book_theme"] -testing = ["coverage", "pytest", "pytest-cov", "pytest-regressions"] - -[[package]] -name = "markupsafe" -version = "2.1.5" -description = "Safely add untrusted strings to HTML/XML markup." -optional = false -python-versions = ">=3.7" -groups = ["dev", "docs"] -markers = "python_version <= \"3.11\" or python_version >= \"3.12\"" -files = [ - {file = "MarkupSafe-2.1.5-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:a17a92de5231666cfbe003f0e4b9b3a7ae3afb1ec2845aadc2bacc93ff85febc"}, - {file = "MarkupSafe-2.1.5-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:72b6be590cc35924b02c78ef34b467da4ba07e4e0f0454a2c5907f473fc50ce5"}, - {file = "MarkupSafe-2.1.5-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:e61659ba32cf2cf1481e575d0462554625196a1f2fc06a1c777d3f48e8865d46"}, - {file = "MarkupSafe-2.1.5-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:2174c595a0d73a3080ca3257b40096db99799265e1c27cc5a610743acd86d62f"}, - {file = "MarkupSafe-2.1.5-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:ae2ad8ae6ebee9d2d94b17fb62763125f3f374c25618198f40cbb8b525411900"}, - {file = "MarkupSafe-2.1.5-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:075202fa5b72c86ad32dc7d0b56024ebdbcf2048c0ba09f1cde31bfdd57bcfff"}, - {file = "MarkupSafe-2.1.5-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:598e3276b64aff0e7b3451b72e94fa3c238d452e7ddcd893c3ab324717456bad"}, - {file = "MarkupSafe-2.1.5-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:fce659a462a1be54d2ffcacea5e3ba2d74daa74f30f5f143fe0c58636e355fdd"}, - {file = "MarkupSafe-2.1.5-cp310-cp310-win32.whl", hash = "sha256:d9fad5155d72433c921b782e58892377c44bd6252b5af2f67f16b194987338a4"}, - {file = "MarkupSafe-2.1.5-cp310-cp310-win_amd64.whl", hash = "sha256:bf50cd79a75d181c9181df03572cdce0fbb75cc353bc350712073108cba98de5"}, - {file = "MarkupSafe-2.1.5-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:629ddd2ca402ae6dbedfceeba9c46d5f7b2a61d9749597d4307f943ef198fc1f"}, - {file = "MarkupSafe-2.1.5-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:5b7b716f97b52c5a14bffdf688f971b2d5ef4029127f1ad7a513973cfd818df2"}, - {file = "MarkupSafe-2.1.5-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:6ec585f69cec0aa07d945b20805be741395e28ac1627333b1c5b0105962ffced"}, - {file = "MarkupSafe-2.1.5-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:b91c037585eba9095565a3556f611e3cbfaa42ca1e865f7b8015fe5c7336d5a5"}, - {file = "MarkupSafe-2.1.5-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:7502934a33b54030eaf1194c21c692a534196063db72176b0c4028e140f8f32c"}, - {file = "MarkupSafe-2.1.5-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:0e397ac966fdf721b2c528cf028494e86172b4feba51d65f81ffd65c63798f3f"}, - {file = "MarkupSafe-2.1.5-cp311-cp311-musllinux_1_1_i686.whl", hash = "sha256:c061bb86a71b42465156a3ee7bd58c8c2ceacdbeb95d05a99893e08b8467359a"}, - {file = "MarkupSafe-2.1.5-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:3a57fdd7ce31c7ff06cdfbf31dafa96cc533c21e443d57f5b1ecc6cdc668ec7f"}, - {file = "MarkupSafe-2.1.5-cp311-cp311-win32.whl", hash = "sha256:397081c1a0bfb5124355710fe79478cdbeb39626492b15d399526ae53422b906"}, - {file = "MarkupSafe-2.1.5-cp311-cp311-win_amd64.whl", hash = "sha256:2b7c57a4dfc4f16f7142221afe5ba4e093e09e728ca65c51f5620c9aaeb9a617"}, - {file = "MarkupSafe-2.1.5-cp312-cp312-macosx_10_9_universal2.whl", hash = "sha256:8dec4936e9c3100156f8a2dc89c4b88d5c435175ff03413b443469c7c8c5f4d1"}, - {file = "MarkupSafe-2.1.5-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:3c6b973f22eb18a789b1460b4b91bf04ae3f0c4234a0a6aa6b0a92f6f7b951d4"}, - {file = "MarkupSafe-2.1.5-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:ac07bad82163452a6884fe8fa0963fb98c2346ba78d779ec06bd7a6262132aee"}, - {file = "MarkupSafe-2.1.5-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f5dfb42c4604dddc8e4305050aa6deb084540643ed5804d7455b5df8fe16f5e5"}, - {file = "MarkupSafe-2.1.5-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:ea3d8a3d18833cf4304cd2fc9cbb1efe188ca9b5efef2bdac7adc20594a0e46b"}, - {file = "MarkupSafe-2.1.5-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:d050b3361367a06d752db6ead6e7edeb0009be66bc3bae0ee9d97fb326badc2a"}, - {file = "MarkupSafe-2.1.5-cp312-cp312-musllinux_1_1_i686.whl", hash = "sha256:bec0a414d016ac1a18862a519e54b2fd0fc8bbfd6890376898a6c0891dd82e9f"}, - {file = "MarkupSafe-2.1.5-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:58c98fee265677f63a4385256a6d7683ab1832f3ddd1e66fe948d5880c21a169"}, - {file = "MarkupSafe-2.1.5-cp312-cp312-win32.whl", hash = "sha256:8590b4ae07a35970728874632fed7bd57b26b0102df2d2b233b6d9d82f6c62ad"}, - {file = "MarkupSafe-2.1.5-cp312-cp312-win_amd64.whl", hash = "sha256:823b65d8706e32ad2df51ed89496147a42a2a6e01c13cfb6ffb8b1e92bc910bb"}, - {file = "MarkupSafe-2.1.5-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:c8b29db45f8fe46ad280a7294f5c3ec36dbac9491f2d1c17345be8e69cc5928f"}, - {file = "MarkupSafe-2.1.5-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:ec6a563cff360b50eed26f13adc43e61bc0c04d94b8be985e6fb24b81f6dcfdf"}, - {file = "MarkupSafe-2.1.5-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:a549b9c31bec33820e885335b451286e2969a2d9e24879f83fe904a5ce59d70a"}, - {file = "MarkupSafe-2.1.5-cp37-cp37m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:4f11aa001c540f62c6166c7726f71f7573b52c68c31f014c25cc7901deea0b52"}, - {file = "MarkupSafe-2.1.5-cp37-cp37m-musllinux_1_1_aarch64.whl", hash = "sha256:7b2e5a267c855eea6b4283940daa6e88a285f5f2a67f2220203786dfa59b37e9"}, - {file = "MarkupSafe-2.1.5-cp37-cp37m-musllinux_1_1_i686.whl", hash = "sha256:2d2d793e36e230fd32babe143b04cec8a8b3eb8a3122d2aceb4a371e6b09b8df"}, - {file = "MarkupSafe-2.1.5-cp37-cp37m-musllinux_1_1_x86_64.whl", hash = "sha256:ce409136744f6521e39fd8e2a24c53fa18ad67aa5bc7c2cf83645cce5b5c4e50"}, - {file = "MarkupSafe-2.1.5-cp37-cp37m-win32.whl", hash = "sha256:4096e9de5c6fdf43fb4f04c26fb114f61ef0bf2e5604b6ee3019d51b69e8c371"}, - {file = "MarkupSafe-2.1.5-cp37-cp37m-win_amd64.whl", hash = "sha256:4275d846e41ecefa46e2015117a9f491e57a71ddd59bbead77e904dc02b1bed2"}, - {file = "MarkupSafe-2.1.5-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:656f7526c69fac7f600bd1f400991cc282b417d17539a1b228617081106feb4a"}, - {file = "MarkupSafe-2.1.5-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:97cafb1f3cbcd3fd2b6fbfb99ae11cdb14deea0736fc2b0952ee177f2b813a46"}, - {file = "MarkupSafe-2.1.5-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:1f3fbcb7ef1f16e48246f704ab79d79da8a46891e2da03f8783a5b6fa41a9532"}, - {file = "MarkupSafe-2.1.5-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:fa9db3f79de01457b03d4f01b34cf91bc0048eb2c3846ff26f66687c2f6d16ab"}, - {file = "MarkupSafe-2.1.5-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:ffee1f21e5ef0d712f9033568f8344d5da8cc2869dbd08d87c84656e6a2d2f68"}, - {file = "MarkupSafe-2.1.5-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:5dedb4db619ba5a2787a94d877bc8ffc0566f92a01c0ef214865e54ecc9ee5e0"}, - {file = "MarkupSafe-2.1.5-cp38-cp38-musllinux_1_1_i686.whl", hash = "sha256:30b600cf0a7ac9234b2638fbc0fb6158ba5bdcdf46aeb631ead21248b9affbc4"}, - {file = "MarkupSafe-2.1.5-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:8dd717634f5a044f860435c1d8c16a270ddf0ef8588d4887037c5028b859b0c3"}, - {file = "MarkupSafe-2.1.5-cp38-cp38-win32.whl", hash = "sha256:daa4ee5a243f0f20d528d939d06670a298dd39b1ad5f8a72a4275124a7819eff"}, - {file = "MarkupSafe-2.1.5-cp38-cp38-win_amd64.whl", hash = "sha256:619bc166c4f2de5caa5a633b8b7326fbe98e0ccbfacabd87268a2b15ff73a029"}, - {file = "MarkupSafe-2.1.5-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:7a68b554d356a91cce1236aa7682dc01df0edba8d043fd1ce607c49dd3c1edcf"}, - {file = "MarkupSafe-2.1.5-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:db0b55e0f3cc0be60c1f19efdde9a637c32740486004f20d1cff53c3c0ece4d2"}, - {file = "MarkupSafe-2.1.5-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:3e53af139f8579a6d5f7b76549125f0d94d7e630761a2111bc431fd820e163b8"}, - {file = "MarkupSafe-2.1.5-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:17b950fccb810b3293638215058e432159d2b71005c74371d784862b7e4683f3"}, - {file = "MarkupSafe-2.1.5-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:4c31f53cdae6ecfa91a77820e8b151dba54ab528ba65dfd235c80b086d68a465"}, - {file = "MarkupSafe-2.1.5-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:bff1b4290a66b490a2f4719358c0cdcd9bafb6b8f061e45c7a2460866bf50c2e"}, - {file = "MarkupSafe-2.1.5-cp39-cp39-musllinux_1_1_i686.whl", hash = "sha256:bc1667f8b83f48511b94671e0e441401371dfd0f0a795c7daa4a3cd1dde55bea"}, - {file = "MarkupSafe-2.1.5-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:5049256f536511ee3f7e1b3f87d1d1209d327e818e6ae1365e8653d7e3abb6a6"}, - {file = "MarkupSafe-2.1.5-cp39-cp39-win32.whl", hash = "sha256:00e046b6dd71aa03a41079792f8473dc494d564611a8f89bbbd7cb93295ebdcf"}, - {file = "MarkupSafe-2.1.5-cp39-cp39-win_amd64.whl", hash = "sha256:fa173ec60341d6bb97a89f5ea19c85c5643c1e7dedebc22f5181eb73573142c5"}, - {file = "MarkupSafe-2.1.5.tar.gz", hash = "sha256:d283d37a890ba4c1ae73ffadf8046435c76e7bc2247bbb63c00bd1a709c6544b"}, -] - -[[package]] -name = "matplotlib" -version = "3.7.2" -description = "Python plotting package" -optional = false -python-versions = ">=3.8" -groups = ["main"] -markers = "python_version >= \"3.13\"" -files = [ - {file = "matplotlib-3.7.2-cp310-cp310-macosx_10_12_universal2.whl", hash = "sha256:2699f7e73a76d4c110f4f25be9d2496d6ab4f17345307738557d345f099e07de"}, - {file = "matplotlib-3.7.2-cp310-cp310-macosx_10_12_x86_64.whl", hash = "sha256:a8035ba590658bae7562786c9cc6ea1a84aa49d3afab157e414c9e2ea74f496d"}, - {file = "matplotlib-3.7.2-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:2f8e4a49493add46ad4a8c92f63e19d548b2b6ebbed75c6b4c7f46f57d36cdd1"}, - {file = "matplotlib-3.7.2-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:71667eb2ccca4c3537d9414b1bc00554cb7f91527c17ee4ec38027201f8f1603"}, - {file = "matplotlib-3.7.2-cp310-cp310-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:152ee0b569a37630d8628534c628456b28686e085d51394da6b71ef84c4da201"}, - {file = "matplotlib-3.7.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:070f8dddd1f5939e60aacb8fa08f19551f4b0140fab16a3669d5cd6e9cb28fc8"}, - {file = "matplotlib-3.7.2-cp310-cp310-win32.whl", hash = "sha256:fdbb46fad4fb47443b5b8ac76904b2e7a66556844f33370861b4788db0f8816a"}, - {file = "matplotlib-3.7.2-cp310-cp310-win_amd64.whl", hash = "sha256:23fb1750934e5f0128f9423db27c474aa32534cec21f7b2153262b066a581fd1"}, - {file = "matplotlib-3.7.2-cp311-cp311-macosx_10_12_universal2.whl", hash = "sha256:30e1409b857aa8a747c5d4f85f63a79e479835f8dffc52992ac1f3f25837b544"}, - {file = "matplotlib-3.7.2-cp311-cp311-macosx_10_12_x86_64.whl", hash = "sha256:50e0a55ec74bf2d7a0ebf50ac580a209582c2dd0f7ab51bc270f1b4a0027454e"}, - {file = "matplotlib-3.7.2-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:ac60daa1dc83e8821eed155796b0f7888b6b916cf61d620a4ddd8200ac70cd64"}, - {file = "matplotlib-3.7.2-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:305e3da477dc8607336ba10bac96986d6308d614706cae2efe7d3ffa60465b24"}, - {file = "matplotlib-3.7.2-cp311-cp311-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:1c308b255efb9b06b23874236ec0f10f026673ad6515f602027cc8ac7805352d"}, - {file = "matplotlib-3.7.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:60c521e21031632aa0d87ca5ba0c1c05f3daacadb34c093585a0be6780f698e4"}, - {file = "matplotlib-3.7.2-cp311-cp311-win32.whl", hash = "sha256:26bede320d77e469fdf1bde212de0ec889169b04f7f1179b8930d66f82b30cbc"}, - {file = "matplotlib-3.7.2-cp311-cp311-win_amd64.whl", hash = "sha256:af4860132c8c05261a5f5f8467f1b269bf1c7c23902d75f2be57c4a7f2394b3e"}, - {file = "matplotlib-3.7.2-cp38-cp38-macosx_10_12_universal2.whl", hash = "sha256:a1733b8e84e7e40a9853e505fe68cc54339f97273bdfe6f3ed980095f769ddc7"}, - {file = "matplotlib-3.7.2-cp38-cp38-macosx_10_12_x86_64.whl", hash = "sha256:d9881356dc48e58910c53af82b57183879129fa30492be69058c5b0d9fddf391"}, - {file = "matplotlib-3.7.2-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:f081c03f413f59390a80b3e351cc2b2ea0205839714dbc364519bcf51f4b56ca"}, - {file = "matplotlib-3.7.2-cp38-cp38-manylinux_2_12_i686.manylinux2010_i686.whl", hash = "sha256:1cd120fca3407a225168238b790bd5c528f0fafde6172b140a2f3ab7a4ea63e9"}, - {file = "matplotlib-3.7.2-cp38-cp38-manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:a2c1590b90aa7bd741b54c62b78de05d4186271e34e2377e0289d943b3522273"}, - {file = "matplotlib-3.7.2-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:6d2ff3c984b8a569bc1383cd468fc06b70d7b59d5c2854ca39f1436ae8394117"}, - {file = "matplotlib-3.7.2-cp38-cp38-win32.whl", hash = "sha256:5dea00b62d28654b71ca92463656d80646675628d0828e08a5f3b57e12869e13"}, - {file = "matplotlib-3.7.2-cp38-cp38-win_amd64.whl", hash = "sha256:0f506a1776ee94f9e131af1ac6efa6e5bc7cb606a3e389b0ccb6e657f60bb676"}, - {file = "matplotlib-3.7.2-cp39-cp39-macosx_10_12_universal2.whl", hash = "sha256:6515e878f91894c2e4340d81f0911857998ccaf04dbc1bba781e3d89cbf70608"}, - {file = "matplotlib-3.7.2-cp39-cp39-macosx_10_12_x86_64.whl", hash = "sha256:71f7a8c6b124e904db550f5b9fe483d28b896d4135e45c4ea381ad3b8a0e3256"}, - {file = "matplotlib-3.7.2-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:12f01b92ecd518e0697da4d97d163b2b3aa55eb3eb4e2c98235b3396d7dad55f"}, - {file = "matplotlib-3.7.2-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a7e28d6396563955f7af437894a36bf2b279462239a41028323e04b85179058b"}, - {file = "matplotlib-3.7.2-cp39-cp39-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:dbcf59334ff645e6a67cd5f78b4b2cdb76384cdf587fa0d2dc85f634a72e1a3e"}, - {file = "matplotlib-3.7.2-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:318c89edde72ff95d8df67d82aca03861240512994a597a435a1011ba18dbc7f"}, - {file = "matplotlib-3.7.2-cp39-cp39-win32.whl", hash = "sha256:ce55289d5659b5b12b3db4dc9b7075b70cef5631e56530f14b2945e8836f2d20"}, - {file = "matplotlib-3.7.2-cp39-cp39-win_amd64.whl", hash = "sha256:2ecb5be2b2815431c81dc115667e33da0f5a1bcf6143980d180d09a717c4a12e"}, - {file = "matplotlib-3.7.2-pp38-pypy38_pp73-macosx_10_12_x86_64.whl", hash = "sha256:fdcd28360dbb6203fb5219b1a5658df226ac9bebc2542a9e8f457de959d713d0"}, - {file = "matplotlib-3.7.2-pp38-pypy38_pp73-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:0c3cca3e842b11b55b52c6fb8bd6a4088693829acbfcdb3e815fa9b7d5c92c1b"}, - {file = "matplotlib-3.7.2-pp38-pypy38_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ebf577c7a6744e9e1bd3fee45fc74a02710b214f94e2bde344912d85e0c9af7c"}, - {file = "matplotlib-3.7.2-pp38-pypy38_pp73-win_amd64.whl", hash = "sha256:936bba394682049919dda062d33435b3be211dc3dcaa011e09634f060ec878b2"}, - {file = "matplotlib-3.7.2-pp39-pypy39_pp73-macosx_10_12_x86_64.whl", hash = "sha256:bc221ffbc2150458b1cd71cdd9ddd5bb37962b036e41b8be258280b5b01da1dd"}, - {file = "matplotlib-3.7.2-pp39-pypy39_pp73-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:35d74ebdb3f71f112b36c2629cf32323adfbf42679e2751252acd468f5001c07"}, - {file = "matplotlib-3.7.2-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:717157e61b3a71d3d26ad4e1770dc85156c9af435659a25ee6407dc866cb258d"}, - {file = "matplotlib-3.7.2-pp39-pypy39_pp73-win_amd64.whl", hash = "sha256:20f844d6be031948148ba49605c8b96dfe7d3711d1b63592830d650622458c11"}, - {file = "matplotlib-3.7.2.tar.gz", hash = "sha256:a8cdb91dddb04436bd2f098b8fdf4b81352e68cf4d2c6756fcc414791076569b"}, -] - -[package.dependencies] -contourpy = ">=1.0.1" -cycler = ">=0.10" -fonttools = ">=4.22.0" -importlib-resources = {version = ">=3.2.0", markers = "python_version < \"3.10\""} -kiwisolver = ">=1.0.1" -numpy = ">=1.20" -packaging = ">=20.0" -pillow = ">=6.2.0" -pyparsing = ">=2.3.1,<3.1" -python-dateutil = ">=2.7" - -[[package]] -name = "matplotlib" -version = "3.7.5" -description = "Python plotting package" -optional = false -python-versions = ">=3.8" -groups = ["main"] -markers = "python_version <= \"3.11\" or python_version >= \"3.12\" and python_version < \"3.13\"" -files = [ - {file = "matplotlib-3.7.5-cp310-cp310-macosx_10_12_universal2.whl", hash = "sha256:4a87b69cb1cb20943010f63feb0b2901c17a3b435f75349fd9865713bfa63925"}, - {file = "matplotlib-3.7.5-cp310-cp310-macosx_10_12_x86_64.whl", hash = "sha256:d3ce45010fefb028359accebb852ca0c21bd77ec0f281952831d235228f15810"}, - {file = "matplotlib-3.7.5-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:fbea1e762b28400393d71be1a02144aa16692a3c4c676ba0178ce83fc2928fdd"}, - {file = "matplotlib-3.7.5-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:ec0e1adc0ad70ba8227e957551e25a9d2995e319c29f94a97575bb90fa1d4469"}, - {file = "matplotlib-3.7.5-cp310-cp310-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:6738c89a635ced486c8a20e20111d33f6398a9cbebce1ced59c211e12cd61455"}, - {file = "matplotlib-3.7.5-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:1210b7919b4ed94b5573870f316bca26de3e3b07ffdb563e79327dc0e6bba515"}, - {file = "matplotlib-3.7.5-cp310-cp310-win32.whl", hash = "sha256:068ebcc59c072781d9dcdb82f0d3f1458271c2de7ca9c78f5bd672141091e9e1"}, - {file = "matplotlib-3.7.5-cp310-cp310-win_amd64.whl", hash = "sha256:f098ffbaab9df1e3ef04e5a5586a1e6b1791380698e84938d8640961c79b1fc0"}, - {file = "matplotlib-3.7.5-cp311-cp311-macosx_10_12_universal2.whl", hash = "sha256:f65342c147572673f02a4abec2d5a23ad9c3898167df9b47c149f32ce61ca078"}, - {file = "matplotlib-3.7.5-cp311-cp311-macosx_10_12_x86_64.whl", hash = "sha256:4ddf7fc0e0dc553891a117aa083039088d8a07686d4c93fb8a810adca68810af"}, - {file = "matplotlib-3.7.5-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:0ccb830fc29442360d91be48527809f23a5dcaee8da5f4d9b2d5b867c1b087b8"}, - {file = "matplotlib-3.7.5-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:efc6bb28178e844d1f408dd4d6341ee8a2e906fc9e0fa3dae497da4e0cab775d"}, - {file = "matplotlib-3.7.5-cp311-cp311-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:3b15c4c2d374f249f324f46e883340d494c01768dd5287f8bc00b65b625ab56c"}, - {file = "matplotlib-3.7.5-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:3d028555421912307845e59e3de328260b26d055c5dac9b182cc9783854e98fb"}, - {file = "matplotlib-3.7.5-cp311-cp311-win32.whl", hash = "sha256:fe184b4625b4052fa88ef350b815559dd90cc6cc8e97b62f966e1ca84074aafa"}, - {file = "matplotlib-3.7.5-cp311-cp311-win_amd64.whl", hash = "sha256:084f1f0f2f1010868c6f1f50b4e1c6f2fb201c58475494f1e5b66fed66093647"}, - {file = "matplotlib-3.7.5-cp312-cp312-macosx_10_12_universal2.whl", hash = "sha256:34bceb9d8ddb142055ff27cd7135f539f2f01be2ce0bafbace4117abe58f8fe4"}, - {file = "matplotlib-3.7.5-cp312-cp312-macosx_10_12_x86_64.whl", hash = "sha256:c5a2134162273eb8cdfd320ae907bf84d171de948e62180fa372a3ca7cf0f433"}, - {file = "matplotlib-3.7.5-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:039ad54683a814002ff37bf7981aa1faa40b91f4ff84149beb53d1eb64617980"}, - {file = "matplotlib-3.7.5-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:4d742ccd1b09e863b4ca58291728db645b51dab343eebb08d5d4b31b308296ce"}, - {file = "matplotlib-3.7.5-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:743b1c488ca6a2bc7f56079d282e44d236bf375968bfd1b7ba701fd4d0fa32d6"}, - {file = "matplotlib-3.7.5-cp312-cp312-win_amd64.whl", hash = "sha256:fbf730fca3e1f23713bc1fae0a57db386e39dc81ea57dc305c67f628c1d7a342"}, - {file = "matplotlib-3.7.5-cp38-cp38-macosx_10_12_universal2.whl", hash = "sha256:cfff9b838531698ee40e40ea1a8a9dc2c01edb400b27d38de6ba44c1f9a8e3d2"}, - {file = "matplotlib-3.7.5-cp38-cp38-macosx_10_12_x86_64.whl", hash = "sha256:1dbcca4508bca7847fe2d64a05b237a3dcaec1f959aedb756d5b1c67b770c5ee"}, - {file = "matplotlib-3.7.5-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:4cdf4ef46c2a1609a50411b66940b31778db1e4b73d4ecc2eaa40bd588979b13"}, - {file = "matplotlib-3.7.5-cp38-cp38-manylinux_2_12_i686.manylinux2010_i686.whl", hash = "sha256:167200ccfefd1674b60e957186dfd9baf58b324562ad1a28e5d0a6b3bea77905"}, - {file = "matplotlib-3.7.5-cp38-cp38-manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:53e64522934df6e1818b25fd48cf3b645b11740d78e6ef765fbb5fa5ce080d02"}, - {file = "matplotlib-3.7.5-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d3e3bc79b2d7d615067bd010caff9243ead1fc95cf735c16e4b2583173f717eb"}, - {file = "matplotlib-3.7.5-cp38-cp38-win32.whl", hash = "sha256:6b641b48c6819726ed47c55835cdd330e53747d4efff574109fd79b2d8a13748"}, - {file = "matplotlib-3.7.5-cp38-cp38-win_amd64.whl", hash = "sha256:f0b60993ed3488b4532ec6b697059897891927cbfc2b8d458a891b60ec03d9d7"}, - {file = "matplotlib-3.7.5-cp39-cp39-macosx_10_12_universal2.whl", hash = "sha256:090964d0afaff9c90e4d8de7836757e72ecfb252fb02884016d809239f715651"}, - {file = "matplotlib-3.7.5-cp39-cp39-macosx_10_12_x86_64.whl", hash = "sha256:9fc6fcfbc55cd719bc0bfa60bde248eb68cf43876d4c22864603bdd23962ba25"}, - {file = "matplotlib-3.7.5-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:5e7cc3078b019bb863752b8b60e8b269423000f1603cb2299608231996bd9d54"}, - {file = "matplotlib-3.7.5-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:1e4e9a868e8163abaaa8259842d85f949a919e1ead17644fb77a60427c90473c"}, - {file = "matplotlib-3.7.5-cp39-cp39-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:fa7ebc995a7d747dacf0a717d0eb3aa0f0c6a0e9ea88b0194d3a3cd241a1500f"}, - {file = "matplotlib-3.7.5-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:3785bfd83b05fc0e0c2ae4c4a90034fe693ef96c679634756c50fe6efcc09856"}, - {file = "matplotlib-3.7.5-cp39-cp39-win32.whl", hash = "sha256:29b058738c104d0ca8806395f1c9089dfe4d4f0f78ea765c6c704469f3fffc81"}, - {file = "matplotlib-3.7.5-cp39-cp39-win_amd64.whl", hash = "sha256:fd4028d570fa4b31b7b165d4a685942ae9cdc669f33741e388c01857d9723eab"}, - {file = "matplotlib-3.7.5-pp38-pypy38_pp73-macosx_10_12_x86_64.whl", hash = "sha256:2a9a3f4d6a7f88a62a6a18c7e6a84aedcaf4faf0708b4ca46d87b19f1b526f88"}, - {file = "matplotlib-3.7.5-pp38-pypy38_pp73-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:b9b3fd853d4a7f008a938df909b96db0b454225f935d3917520305b90680579c"}, - {file = "matplotlib-3.7.5-pp38-pypy38_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f0ad550da9f160737d7890217c5eeed4337d07e83ca1b2ca6535078f354e7675"}, - {file = "matplotlib-3.7.5-pp38-pypy38_pp73-win_amd64.whl", hash = "sha256:20da7924a08306a861b3f2d1da0d1aa9a6678e480cf8eacffe18b565af2813e7"}, - {file = "matplotlib-3.7.5-pp39-pypy39_pp73-macosx_10_12_x86_64.whl", hash = "sha256:b45c9798ea6bb920cb77eb7306409756a7fab9db9b463e462618e0559aecb30e"}, - {file = "matplotlib-3.7.5-pp39-pypy39_pp73-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:a99866267da1e561c7776fe12bf4442174b79aac1a47bd7e627c7e4d077ebd83"}, - {file = "matplotlib-3.7.5-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:2b6aa62adb6c268fc87d80f963aca39c64615c31830b02697743c95590ce3fbb"}, - {file = "matplotlib-3.7.5-pp39-pypy39_pp73-win_amd64.whl", hash = "sha256:e530ab6a0afd082d2e9c17eb1eb064a63c5b09bb607b2b74fa41adbe3e162286"}, - {file = "matplotlib-3.7.5.tar.gz", hash = "sha256:1e5c971558ebc811aa07f54c7b7c677d78aa518ef4c390e14673a09e0860184a"}, -] - -[package.dependencies] -contourpy = ">=1.0.1" -cycler = ">=0.10" -fonttools = ">=4.22.0" -importlib-resources = {version = ">=3.2.0", markers = "python_version < \"3.10\""} -kiwisolver = ">=1.0.1" -numpy = ">=1.20,<2" -packaging = ">=20.0" -pillow = ">=6.2.0" -pyparsing = ">=2.3.1" -python-dateutil = ">=2.7" - -[[package]] -name = "matplotlib-inline" -version = "0.1.7" -description = "Inline Matplotlib backend for Jupyter" -optional = false -python-versions = ">=3.8" -groups = ["dev", "docs"] -markers = "python_version <= \"3.11\" or python_version >= \"3.12\"" -files = [ - {file = "matplotlib_inline-0.1.7-py3-none-any.whl", hash = "sha256:df192d39a4ff8f21b1895d72e6a13f5fcc5099f00fa84384e0ea28c2cc0653ca"}, - {file = "matplotlib_inline-0.1.7.tar.gz", hash = "sha256:8423b23ec666be3d16e16b60bdd8ac4e86e840ebd1dd11a30b9f117f2fa0ab90"}, -] - -[package.dependencies] -traitlets = "*" - -[[package]] -name = "mdit-py-plugins" -version = "0.4.2" -description = "Collection of plugins for markdown-it-py" -optional = false -python-versions = ">=3.8" -groups = ["dev", "docs"] -markers = "python_version <= \"3.11\" or python_version >= \"3.12\"" -files = [ - {file = "mdit_py_plugins-0.4.2-py3-none-any.whl", hash = "sha256:0c673c3f889399a33b95e88d2f0d111b4447bdfea7f237dab2d488f459835636"}, - {file = "mdit_py_plugins-0.4.2.tar.gz", hash = "sha256:5f2cd1fdb606ddf152d37ec30e46101a60512bc0e5fa1a7002c36647b09e26b5"}, -] - -[package.dependencies] -markdown-it-py = ">=1.0.0,<4.0.0" - -[package.extras] -code-style = ["pre-commit"] -rtd = ["myst-parser", "sphinx-book-theme"] -testing = ["coverage", "pytest", "pytest-cov", "pytest-regressions"] - -[[package]] -name = "mdurl" -version = "0.1.2" -description = "Markdown URL utilities" -optional = false -python-versions = ">=3.7" -groups = ["build", "dev", "docs"] -markers = "python_version <= \"3.11\" or python_version >= \"3.12\"" -files = [ - {file = "mdurl-0.1.2-py3-none-any.whl", hash = "sha256:84008a41e51615a49fc9966191ff91509e3c40b939176e643fd50a5c2196b8f8"}, - {file = "mdurl-0.1.2.tar.gz", hash = "sha256:bb413d29f5eea38f31dd4754dd7377d4465116fb207585f97bf925588687c1ba"}, -] - -[[package]] -name = "mergedeep" -version = "1.3.4" -description = "A deep merge function for 🐍." -optional = false -python-versions = ">=3.6" -groups = ["docs"] -markers = "python_version <= \"3.11\" or python_version >= \"3.12\"" -files = [ - {file = "mergedeep-1.3.4-py3-none-any.whl", hash = "sha256:70775750742b25c0d8f36c55aed03d24c3384d17c951b3175d898bd778ef0307"}, - {file = "mergedeep-1.3.4.tar.gz", hash = "sha256:0096d52e9dad9939c3d975a774666af186eda617e6ca84df4c94dec30004f2a8"}, -] - -[[package]] -name = "mike" -version = "2.1.3" -description = "Manage multiple versions of your MkDocs-powered documentation" -optional = false -python-versions = "*" -groups = ["docs"] -markers = "python_version <= \"3.11\" or python_version >= \"3.12\"" -files = [ - {file = "mike-2.1.3-py3-none-any.whl", hash = "sha256:d90c64077e84f06272437b464735130d380703a76a5738b152932884c60c062a"}, - {file = "mike-2.1.3.tar.gz", hash = "sha256:abd79b8ea483fb0275b7972825d3082e5ae67a41820f8d8a0dc7a3f49944e810"}, -] - -[package.dependencies] -importlib-metadata = "*" -importlib-resources = "*" -jinja2 = ">=2.7" -mkdocs = ">=1.0" -pyparsing = ">=3.0" -pyyaml = ">=5.1" -pyyaml-env-tag = "*" -verspec = "*" - -[package.extras] -dev = ["coverage", "flake8 (>=3.0)", "flake8-quotes", "shtab"] -test = ["coverage", "flake8 (>=3.0)", "flake8-quotes", "shtab"] - -[[package]] -name = "mistune" -version = "3.1.0" -description = "A sane and fast Markdown parser with useful plugins and renderers" -optional = false -python-versions = ">=3.8" -groups = ["dev", "docs"] -markers = "python_version <= \"3.11\" or python_version >= \"3.12\"" -files = [ - {file = "mistune-3.1.0-py3-none-any.whl", hash = "sha256:b05198cf6d671b3deba6c87ec6cf0d4eb7b72c524636eddb6dbf13823b52cee1"}, - {file = "mistune-3.1.0.tar.gz", hash = "sha256:dbcac2f78292b9dc066cd03b7a3a26b62d85f8159f2ea5fd28e55df79908d667"}, -] - -[package.dependencies] -typing-extensions = {version = "*", markers = "python_version < \"3.11\""} - -[[package]] -name = "mkdocs" -version = "1.6.1" -description = "Project documentation with Markdown." -optional = false -python-versions = ">=3.8" -groups = ["docs"] -markers = "python_version <= \"3.11\" or python_version >= \"3.12\"" -files = [ - {file = "mkdocs-1.6.1-py3-none-any.whl", hash = "sha256:db91759624d1647f3f34aa0c3f327dd2601beae39a366d6e064c03468d35c20e"}, - {file = "mkdocs-1.6.1.tar.gz", hash = "sha256:7b432f01d928c084353ab39c57282f29f92136665bdd6abf7c1ec8d822ef86f2"}, -] - -[package.dependencies] -click = ">=7.0" -colorama = {version = ">=0.4", markers = "platform_system == \"Windows\""} -ghp-import = ">=1.0" -importlib-metadata = {version = ">=4.4", markers = "python_version < \"3.10\""} -jinja2 = ">=2.11.1" -markdown = ">=3.3.6" -markupsafe = ">=2.0.1" -mergedeep = ">=1.3.4" -mkdocs-get-deps = ">=0.2.0" -packaging = ">=20.5" -pathspec = ">=0.11.1" -pyyaml = ">=5.1" -pyyaml-env-tag = ">=0.1" -watchdog = ">=2.0" - -[package.extras] -i18n = ["babel (>=2.9.0)"] -min-versions = ["babel (==2.9.0)", "click (==7.0)", "colorama (==0.4)", "ghp-import (==1.0)", "importlib-metadata (==4.4)", "jinja2 (==2.11.1)", "markdown (==3.3.6)", "markupsafe (==2.0.1)", "mergedeep (==1.3.4)", "mkdocs-get-deps (==0.2.0)", "packaging (==20.5)", "pathspec (==0.11.1)", "pyyaml (==5.1)", "pyyaml-env-tag (==0.1)", "watchdog (==2.0)"] - -[[package]] -name = "mkdocs-autorefs" -version = "1.2.0" -description = "Automatically link across pages in MkDocs." -optional = false -python-versions = ">=3.8" -groups = ["docs"] -markers = "python_version <= \"3.11\" or python_version >= \"3.12\"" -files = [ - {file = "mkdocs_autorefs-1.2.0-py3-none-any.whl", hash = "sha256:d588754ae89bd0ced0c70c06f58566a4ee43471eeeee5202427da7de9ef85a2f"}, - {file = "mkdocs_autorefs-1.2.0.tar.gz", hash = "sha256:a86b93abff653521bda71cf3fc5596342b7a23982093915cb74273f67522190f"}, -] - -[package.dependencies] -Markdown = ">=3.3" -markupsafe = ">=2.0.1" -mkdocs = ">=1.1" - -[[package]] -name = "mkdocs-get-deps" -version = "0.2.0" -description = "MkDocs extension that lists all dependencies according to a mkdocs.yml file" -optional = false -python-versions = ">=3.8" -groups = ["docs"] -markers = "python_version <= \"3.11\" or python_version >= \"3.12\"" -files = [ - {file = "mkdocs_get_deps-0.2.0-py3-none-any.whl", hash = "sha256:2bf11d0b133e77a0dd036abeeb06dec8775e46efa526dc70667d8863eefc6134"}, - {file = "mkdocs_get_deps-0.2.0.tar.gz", hash = "sha256:162b3d129c7fad9b19abfdcb9c1458a651628e4b1dea628ac68790fb3061c60c"}, -] - -[package.dependencies] -importlib-metadata = {version = ">=4.3", markers = "python_version < \"3.10\""} -mergedeep = ">=1.3.4" -platformdirs = ">=2.2.0" -pyyaml = ">=5.1" - -[[package]] -name = "mkdocs-git-committers-plugin-2" -version = "2.4.1" -description = "An MkDocs plugin to create a list of contributors on the page. The git-committers plugin will seed the template context with a list of GitHub or GitLab committers and other useful GIT info such as last modified date" -optional = false -python-versions = "<4,>=3.8" -groups = ["docs"] -markers = "python_version <= \"3.11\" or python_version >= \"3.12\" and python_version < \"4\"" -files = [ - {file = "mkdocs_git_committers_plugin_2-2.4.1-py3-none-any.whl", hash = "sha256:ec9c1d81445606c471337d1c4a1782c643b7377077b545279dc18b86b7362c6d"}, - {file = "mkdocs_git_committers_plugin_2-2.4.1.tar.gz", hash = "sha256:ea1f80a79cedc42289e0b8e973276df04fb94f56e0ae3efc5385fb28547cf5cb"}, -] - -[package.dependencies] -gitpython = "*" -mkdocs = ">=1.0.3" -requests = "*" - -[[package]] -name = "mkdocs-git-revision-date-localized-plugin" -version = "1.3.0" -description = "Mkdocs plugin that enables displaying the localized date of the last git modification of a markdown file." -optional = false -python-versions = ">=3.8" -groups = ["docs"] -markers = "python_version <= \"3.11\" or python_version >= \"3.12\"" -files = [ - {file = "mkdocs_git_revision_date_localized_plugin-1.3.0-py3-none-any.whl", hash = "sha256:c99377ee119372d57a9e47cff4e68f04cce634a74831c06bc89b33e456e840a1"}, - {file = "mkdocs_git_revision_date_localized_plugin-1.3.0.tar.gz", hash = "sha256:439e2f14582204050a664c258861c325064d97cdc848c541e48bb034a6c4d0cb"}, -] - -[package.dependencies] -babel = ">=2.7.0" -GitPython = "*" -mkdocs = ">=1.0" -pytz = "*" - -[package.extras] -all = ["GitPython", "babel (>=2.7.0)", "click", "codecov", "mkdocs (>=1.0)", "mkdocs-gen-files", "mkdocs-git-authors-plugin", "mkdocs-material", "mkdocs-static-i18n", "pytest", "pytest-cov", "pytz"] -base = ["GitPython", "babel (>=2.7.0)", "mkdocs (>=1.0)", "pytz"] -dev = ["click", "codecov", "mkdocs-gen-files", "mkdocs-git-authors-plugin", "mkdocs-material", "mkdocs-static-i18n", "pytest", "pytest-cov"] - -[[package]] -name = "mkdocs-jupyter" -version = "0.24.8" -description = "Use Jupyter in mkdocs websites" -optional = false -python-versions = ">=3.8" -groups = ["docs"] -markers = "python_version <= \"3.11\" or python_version >= \"3.12\"" -files = [ - {file = "mkdocs_jupyter-0.24.8-py3-none-any.whl", hash = "sha256:36438a0a653eee2c27c6a8f7006e645f18693699c9b8ac44ffde830ddb08fa16"}, - {file = "mkdocs_jupyter-0.24.8.tar.gz", hash = "sha256:09a762f484d540d9c0e944d34b28cb536a32869e224b460e2fc791b143f76940"}, -] - -[package.dependencies] -ipykernel = ">6.0.0,<7.0.0" -jupytext = ">1.13.8,<2" -mkdocs = ">=1.4.0,<2" -mkdocs-material = ">9.0.0" -nbconvert = ">=7.2.9,<8" -pygments = ">2.12.0" - -[[package]] -name = "mkdocs-material" -version = "9.5.49" -description = "Documentation that simply works" -optional = false -python-versions = ">=3.8" -groups = ["docs"] -markers = "python_version <= \"3.11\" or python_version >= \"3.12\"" -files = [ - {file = "mkdocs_material-9.5.49-py3-none-any.whl", hash = "sha256:c3c2d8176b18198435d3a3e119011922f3e11424074645c24019c2dcf08a360e"}, - {file = "mkdocs_material-9.5.49.tar.gz", hash = "sha256:3671bb282b4f53a1c72e08adbe04d2481a98f85fed392530051f80ff94a9621d"}, -] - -[package.dependencies] -babel = ">=2.10,<3.0" -cairosvg = {version = ">=2.6,<3.0", optional = true, markers = "extra == \"imaging\""} -colorama = ">=0.4,<1.0" -jinja2 = ">=3.0,<4.0" -markdown = ">=3.2,<4.0" -mkdocs = ">=1.6,<2.0" -mkdocs-material-extensions = ">=1.3,<2.0" -paginate = ">=0.5,<1.0" -pillow = {version = ">=10.2,<11.0", optional = true, markers = "extra == \"imaging\""} -pygments = ">=2.16,<3.0" -pymdown-extensions = ">=10.2,<11.0" -regex = ">=2022.4" -requests = ">=2.26,<3.0" - -[package.extras] -git = ["mkdocs-git-committers-plugin-2 (>=1.1,<2.0)", "mkdocs-git-revision-date-localized-plugin (>=1.2.4,<2.0)"] -imaging = ["cairosvg (>=2.6,<3.0)", "pillow (>=10.2,<11.0)"] -recommended = ["mkdocs-minify-plugin (>=0.7,<1.0)", "mkdocs-redirects (>=1.2,<2.0)", "mkdocs-rss-plugin (>=1.6,<2.0)"] - -[[package]] -name = "mkdocs-material-extensions" -version = "1.3.1" -description = "Extension pack for Python Markdown and MkDocs Material." -optional = false -python-versions = ">=3.8" -groups = ["docs"] -markers = "python_version <= \"3.11\" or python_version >= \"3.12\"" -files = [ - {file = "mkdocs_material_extensions-1.3.1-py3-none-any.whl", hash = "sha256:adff8b62700b25cb77b53358dad940f3ef973dd6db797907c49e3c2ef3ab4e31"}, - {file = "mkdocs_material_extensions-1.3.1.tar.gz", hash = "sha256:10c9511cea88f568257f960358a467d12b970e1f7b2c0e5fb2bb48cab1928443"}, -] - -[[package]] -name = "mkdocstrings" -version = "0.26.1" -description = "Automatic documentation from sources, for MkDocs." -optional = false -python-versions = ">=3.8" -groups = ["docs"] -markers = "python_version <= \"3.11\" or python_version >= \"3.12\"" -files = [ - {file = "mkdocstrings-0.26.1-py3-none-any.whl", hash = "sha256:29738bfb72b4608e8e55cc50fb8a54f325dc7ebd2014e4e3881a49892d5983cf"}, - {file = "mkdocstrings-0.26.1.tar.gz", hash = "sha256:bb8b8854d6713d5348ad05b069a09f3b79edbc6a0f33a34c6821141adb03fe33"}, -] - -[package.dependencies] -click = ">=7.0" -importlib-metadata = {version = ">=4.6", markers = "python_version < \"3.10\""} -Jinja2 = ">=2.11.1" -Markdown = ">=3.6" -MarkupSafe = ">=1.1" -mkdocs = ">=1.4" -mkdocs-autorefs = ">=1.2" -platformdirs = ">=2.2" -pymdown-extensions = ">=6.3" -typing-extensions = {version = ">=4.1", markers = "python_version < \"3.10\""} - -[package.extras] -crystal = ["mkdocstrings-crystal (>=0.3.4)"] -python = ["mkdocstrings-python (>=0.5.2)"] -python-legacy = ["mkdocstrings-python-legacy (>=0.2.1)"] - -[[package]] -name = "mkdocstrings-python" -version = "1.11.1" -description = "A Python handler for mkdocstrings." -optional = false -python-versions = ">=3.8" -groups = ["docs"] -markers = "python_version <= \"3.11\" or python_version >= \"3.12\"" -files = [ - {file = "mkdocstrings_python-1.11.1-py3-none-any.whl", hash = "sha256:a21a1c05acef129a618517bb5aae3e33114f569b11588b1e7af3e9d4061a71af"}, - {file = "mkdocstrings_python-1.11.1.tar.gz", hash = "sha256:8824b115c5359304ab0b5378a91f6202324a849e1da907a3485b59208b797322"}, -] - -[package.dependencies] -griffe = ">=0.49" -mkdocs-autorefs = ">=1.2" -mkdocstrings = ">=0.26" - -[[package]] -name = "more-itertools" -version = "10.5.0" -description = "More routines for operating on iterables, beyond itertools" -optional = false -python-versions = ">=3.8" -groups = ["build"] -markers = "(platform_machine != \"ppc64le\" and platform_machine != \"s390x\" or python_version <= \"3.11\") and (python_version <= \"3.11\" or python_version >= \"3.12\") and (platform_machine == \"arm64\" or platform_machine == \"aarch64\" or platform_machine != \"ppc64le\" and platform_machine != \"s390x\") and (platform_machine == \"arm64\" or platform_machine == \"aarch64\" or platform_system != \"Linux\" or platform_machine != \"ppc64le\" and platform_machine != \"s390x\" and platform_machine != \"aarch64\" or python_version >= \"3.9\") and (platform_machine == \"arm64\" or platform_machine == \"aarch64\" or platform_system != \"Darwin\" or platform_machine != \"ppc64le\" and platform_machine != \"s390x\" and platform_machine != \"arm64\" or python_version >= \"3.9\")" -files = [ - {file = "more-itertools-10.5.0.tar.gz", hash = "sha256:5482bfef7849c25dc3c6dd53a6173ae4795da2a41a80faea6700d9f5846c5da6"}, - {file = "more_itertools-10.5.0-py3-none-any.whl", hash = "sha256:037b0d3203ce90cca8ab1defbbdac29d5f993fc20131f3664dc8d6acfa872aef"}, -] - -[[package]] -name = "nbclient" -version = "0.10.1" -description = "A client library for executing notebooks. Formerly nbconvert's ExecutePreprocessor." -optional = false -python-versions = ">=3.8.0" -groups = ["dev", "docs"] -markers = "python_version <= \"3.11\" or python_version >= \"3.12\"" -files = [ - {file = "nbclient-0.10.1-py3-none-any.whl", hash = "sha256:949019b9240d66897e442888cfb618f69ef23dc71c01cb5fced8499c2cfc084d"}, - {file = "nbclient-0.10.1.tar.gz", hash = "sha256:3e93e348ab27e712acd46fccd809139e356eb9a31aab641d1a7991a6eb4e6f68"}, -] - -[package.dependencies] -jupyter-client = ">=6.1.12" -jupyter-core = ">=4.12,<5.0.dev0 || >=5.1.dev0" -nbformat = ">=5.1" -traitlets = ">=5.4" - -[package.extras] -dev = ["pre-commit"] -docs = ["autodoc-traits", "flaky", "ipykernel (>=6.19.3)", "ipython", "ipywidgets", "mock", "moto", "myst-parser", "nbconvert (>=7.0.0)", "pytest (>=7.0,<8)", "pytest-asyncio", "pytest-cov (>=4.0)", "sphinx (>=1.7)", "sphinx-book-theme", "sphinxcontrib-spelling", "testpath", "xmltodict"] -test = ["flaky", "ipykernel (>=6.19.3)", "ipython", "ipywidgets", "nbconvert (>=7.0.0)", "pytest (>=7.0,<8)", "pytest-asyncio", "pytest-cov (>=4.0)", "testpath", "xmltodict"] - -[[package]] -name = "nbconvert" -version = "7.16.5" -description = "Converting Jupyter Notebooks (.ipynb files) to other formats. Output formats include asciidoc, html, latex, markdown, pdf, py, rst, script. nbconvert can be used both as a Python library (`import nbconvert`) or as a command line tool (invoked as `jupyter nbconvert ...`)." -optional = false -python-versions = ">=3.8" -groups = ["dev", "docs"] -markers = "python_version <= \"3.11\" or python_version >= \"3.12\"" -files = [ - {file = "nbconvert-7.16.5-py3-none-any.whl", hash = "sha256:e12eac052d6fd03040af4166c563d76e7aeead2e9aadf5356db552a1784bd547"}, - {file = "nbconvert-7.16.5.tar.gz", hash = "sha256:c83467bb5777fdfaac5ebbb8e864f300b277f68692ecc04d6dab72f2d8442344"}, -] - -[package.dependencies] -beautifulsoup4 = "*" -bleach = {version = "!=5.0.0", extras = ["css"]} -defusedxml = "*" -importlib-metadata = {version = ">=3.6", markers = "python_version < \"3.10\""} -jinja2 = ">=3.0" -jupyter-core = ">=4.7" -jupyterlab-pygments = "*" -markupsafe = ">=2.0" -mistune = ">=2.0.3,<4" -nbclient = ">=0.5.0" -nbformat = ">=5.7" -packaging = "*" -pandocfilters = ">=1.4.1" -pygments = ">=2.4.1" -traitlets = ">=5.1" - -[package.extras] -all = ["flaky", "ipykernel", "ipython", "ipywidgets (>=7.5)", "myst-parser", "nbsphinx (>=0.2.12)", "playwright", "pydata-sphinx-theme", "pyqtwebengine (>=5.15)", "pytest (>=7)", "sphinx (==5.0.2)", "sphinxcontrib-spelling", "tornado (>=6.1)"] -docs = ["ipykernel", "ipython", "myst-parser", "nbsphinx (>=0.2.12)", "pydata-sphinx-theme", "sphinx (==5.0.2)", "sphinxcontrib-spelling"] -qtpdf = ["pyqtwebengine (>=5.15)"] -qtpng = ["pyqtwebengine (>=5.15)"] -serve = ["tornado (>=6.1)"] -test = ["flaky", "ipykernel", "ipywidgets (>=7.5)", "pytest (>=7)"] -webpdf = ["playwright"] - -[[package]] -name = "nbformat" -version = "5.10.4" -description = "The Jupyter Notebook format" -optional = false -python-versions = ">=3.8" -groups = ["dev", "docs"] -markers = "python_version <= \"3.11\" or python_version >= \"3.12\"" -files = [ - {file = "nbformat-5.10.4-py3-none-any.whl", hash = "sha256:3b48d6c8fbca4b299bf3982ea7db1af21580e4fec269ad087b9e81588891200b"}, - {file = "nbformat-5.10.4.tar.gz", hash = "sha256:322168b14f937a5d11362988ecac2a4952d3d8e3a2cbeb2319584631226d5b3a"}, -] - -[package.dependencies] -fastjsonschema = ">=2.15" -jsonschema = ">=2.6" -jupyter-core = ">=4.12,<5.0.dev0 || >=5.1.dev0" -traitlets = ">=5.1" - -[package.extras] -docs = ["myst-parser", "pydata-sphinx-theme", "sphinx", "sphinxcontrib-github-alt", "sphinxcontrib-spelling"] -test = ["pep440", "pre-commit", "pytest", "testpath"] - -[[package]] -name = "nest-asyncio" -version = "1.6.0" -description = "Patch asyncio to allow nested event loops" -optional = false -python-versions = ">=3.5" -groups = ["dev", "docs"] -markers = "python_version <= \"3.11\" or python_version >= \"3.12\"" -files = [ - {file = "nest_asyncio-1.6.0-py3-none-any.whl", hash = "sha256:87af6efd6b5e897c81050477ef65c62e2b2f35d51703cae01aff2905b1852e1c"}, - {file = "nest_asyncio-1.6.0.tar.gz", hash = "sha256:6f172d5449aca15afd6c646851f4e31e02c598d553a667e38cafa997cfec55fe"}, -] - -[[package]] -name = "nh3" -version = "0.2.20" -description = "Python binding to Ammonia HTML sanitizer Rust crate" -optional = false -python-versions = ">=3.8" -groups = ["build"] -markers = "python_version <= \"3.11\" or python_version >= \"3.12\"" -files = [ - {file = "nh3-0.2.20-cp313-cp313t-macosx_10_12_x86_64.macosx_11_0_arm64.macosx_10_12_universal2.whl", hash = "sha256:e1061a4ab6681f6bdf72b110eea0c4e1379d57c9de937db3be4202f7ad6043db"}, - {file = "nh3-0.2.20-cp313-cp313t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:eb4254b1dac4a1ee49919a5b3f1caf9803ea8dada1816d9e8289e63d3cd0dd9a"}, - {file = "nh3-0.2.20-cp313-cp313t-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:0ae9cbd713524cdb81e64663d0d6aae26f678db9f2cd9db0bf162606f1f9f20c"}, - {file = "nh3-0.2.20-cp313-cp313t-musllinux_1_2_aarch64.whl", hash = "sha256:e1f7370b4e14cc03f5ae141ef30a1caf81fa5787711f80be9081418dd9eb79d2"}, - {file = "nh3-0.2.20-cp313-cp313t-musllinux_1_2_armv7l.whl", hash = "sha256:ac4d27dc836a476efffc6eb661994426b8b805c951b29c9cf2ff36bc9ad58bc5"}, - {file = "nh3-0.2.20-cp313-cp313t-musllinux_1_2_i686.whl", hash = "sha256:4fd2e9248725ebcedac3997a8d3da0d90a12a28c9179c6ba51f1658938ac30d0"}, - {file = "nh3-0.2.20-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:f7d564871833ddbe54df3aa59053b1110729d3a800cb7628ae8f42adb3d75208"}, - {file = "nh3-0.2.20-cp313-cp313t-win32.whl", hash = "sha256:d2a176fd4306b6f0f178a3f67fac91bd97a3a8d8fafb771c9b9ef675ba5c8886"}, - {file = "nh3-0.2.20-cp313-cp313t-win_amd64.whl", hash = "sha256:6ed834c68452a600f517dd3e1534dbfaff1f67f98899fecf139a055a25d99150"}, - {file = "nh3-0.2.20-cp38-abi3-macosx_10_12_x86_64.macosx_11_0_arm64.macosx_10_12_universal2.whl", hash = "sha256:76e2f603b30c02ff6456b233a83fc377dedab6a50947b04e960a6b905637b776"}, - {file = "nh3-0.2.20-cp38-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:181063c581defe683bd4bb78188ac9936d208aebbc74c7f7c16b6a32ae2ebb38"}, - {file = "nh3-0.2.20-cp38-abi3-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:231addb7643c952cd6d71f1c8702d703f8fe34afcb20becb3efb319a501a12d7"}, - {file = "nh3-0.2.20-cp38-abi3-manylinux_2_17_ppc64.manylinux2014_ppc64.whl", hash = "sha256:1b9a8340a0aab991c68a5ca938d35ef4a8a3f4bf1b455da8855a40bee1fa0ace"}, - {file = "nh3-0.2.20-cp38-abi3-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:10317cd96fe4bbd4eb6b95f3920b71c902157ad44fed103fdcde43e3b8ee8be6"}, - {file = "nh3-0.2.20-cp38-abi3-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:8698db4c04b140800d1a1cd3067fda399e36e1e2b8fc1fe04292a907350a3e9b"}, - {file = "nh3-0.2.20-cp38-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:3eb04b9c3deb13c3a375ea39fd4a3c00d1f92e8fb2349f25f1e3e4506751774b"}, - {file = "nh3-0.2.20-cp38-abi3-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:92f3f1c4f47a2c6f3ca7317b1d5ced05bd29556a75d3a4e2715652ae9d15c05d"}, - {file = "nh3-0.2.20-cp38-abi3-musllinux_1_2_aarch64.whl", hash = "sha256:ddefa9fd6794a87e37d05827d299d4b53a3ec6f23258101907b96029bfef138a"}, - {file = "nh3-0.2.20-cp38-abi3-musllinux_1_2_armv7l.whl", hash = "sha256:ce3731c8f217685d33d9268362e5b4f770914e922bba94d368ab244a59a6c397"}, - {file = "nh3-0.2.20-cp38-abi3-musllinux_1_2_i686.whl", hash = "sha256:09f037c02fc2c43b211ff1523de32801dcfb0918648d8e651c36ef890f1731ec"}, - {file = "nh3-0.2.20-cp38-abi3-musllinux_1_2_x86_64.whl", hash = "sha256:813f1c8012dd64c990514b795508abb90789334f76a561fa0fd4ca32d2275330"}, - {file = "nh3-0.2.20-cp38-abi3-win32.whl", hash = "sha256:47b2946c0e13057855209daeffb45dc910bd0c55daf10190bb0b4b60e2999784"}, - {file = "nh3-0.2.20-cp38-abi3-win_amd64.whl", hash = "sha256:da87573f03084edae8eb87cfe811ec338606288f81d333c07d2a9a0b9b976c0b"}, - {file = "nh3-0.2.20.tar.gz", hash = "sha256:9705c42d7ff88a0bea546c82d7fe5e59135e3d3f057e485394f491248a1f8ed5"}, -] - -[[package]] -name = "notebook" -version = "7.3.2" -description = "Jupyter Notebook - A web-based notebook environment for interactive computing" -optional = false -python-versions = ">=3.8" -groups = ["dev"] -markers = "python_version <= \"3.11\" or python_version >= \"3.12\"" -files = [ - {file = "notebook-7.3.2-py3-none-any.whl", hash = "sha256:e5f85fc59b69d3618d73cf27544418193ff8e8058d5bf61d315ce4f473556288"}, - {file = "notebook-7.3.2.tar.gz", hash = "sha256:705e83a1785f45b383bf3ee13cb76680b92d24f56fb0c7d2136fe1d850cd3ca8"}, -] - -[package.dependencies] -jupyter-server = ">=2.4.0,<3" -jupyterlab = ">=4.3.4,<4.4" -jupyterlab-server = ">=2.27.1,<3" -notebook-shim = ">=0.2,<0.3" -tornado = ">=6.2.0" - -[package.extras] -dev = ["hatch", "pre-commit"] -docs = ["myst-parser", "nbsphinx", "pydata-sphinx-theme", "sphinx (>=1.3.6)", "sphinxcontrib-github-alt", "sphinxcontrib-spelling"] -test = ["importlib-resources (>=5.0)", "ipykernel", "jupyter-server[test] (>=2.4.0,<3)", "jupyterlab-server[test] (>=2.27.1,<3)", "nbval", "pytest (>=7.0)", "pytest-console-scripts", "pytest-timeout", "pytest-tornasync", "requests"] - -[[package]] -name = "notebook-shim" -version = "0.2.4" -description = "A shim layer for notebook traits and config" -optional = false -python-versions = ">=3.7" -groups = ["dev"] -markers = "python_version <= \"3.11\" or python_version >= \"3.12\"" -files = [ - {file = "notebook_shim-0.2.4-py3-none-any.whl", hash = "sha256:411a5be4e9dc882a074ccbcae671eda64cceb068767e9a3419096986560e1cef"}, - {file = "notebook_shim-0.2.4.tar.gz", hash = "sha256:b4b2cfa1b65d98307ca24361f5b30fe785b53c3fd07b7a47e89acb5e6ac638cb"}, -] - -[package.dependencies] -jupyter-server = ">=1.8,<3" - -[package.extras] -test = ["pytest", "pytest-console-scripts", "pytest-jupyter", "pytest-tornasync"] - -[[package]] -name = "numpy" -version = "1.24.4" -description = "Fundamental package for array computing in Python" -optional = false -python-versions = ">=3.8" -groups = ["main"] -markers = "python_version <= \"3.11\"" -files = [ - {file = "numpy-1.24.4-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:c0bfb52d2169d58c1cdb8cc1f16989101639b34c7d3ce60ed70b19c63eba0b64"}, - {file = "numpy-1.24.4-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:ed094d4f0c177b1b8e7aa9cba7d6ceed51c0e569a5318ac0ca9a090680a6a1b1"}, - {file = "numpy-1.24.4-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:79fc682a374c4a8ed08b331bef9c5f582585d1048fa6d80bc6c35bc384eee9b4"}, - {file = "numpy-1.24.4-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:7ffe43c74893dbf38c2b0a1f5428760a1a9c98285553c89e12d70a96a7f3a4d6"}, - {file = "numpy-1.24.4-cp310-cp310-win32.whl", hash = "sha256:4c21decb6ea94057331e111a5bed9a79d335658c27ce2adb580fb4d54f2ad9bc"}, - {file = "numpy-1.24.4-cp310-cp310-win_amd64.whl", hash = "sha256:b4bea75e47d9586d31e892a7401f76e909712a0fd510f58f5337bea9572c571e"}, - {file = "numpy-1.24.4-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:f136bab9c2cfd8da131132c2cf6cc27331dd6fae65f95f69dcd4ae3c3639c810"}, - {file = "numpy-1.24.4-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:e2926dac25b313635e4d6cf4dc4e51c8c0ebfed60b801c799ffc4c32bf3d1254"}, - {file = "numpy-1.24.4-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:222e40d0e2548690405b0b3c7b21d1169117391c2e82c378467ef9ab4c8f0da7"}, - {file = "numpy-1.24.4-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:7215847ce88a85ce39baf9e89070cb860c98fdddacbaa6c0da3ffb31b3350bd5"}, - {file = "numpy-1.24.4-cp311-cp311-win32.whl", hash = "sha256:4979217d7de511a8d57f4b4b5b2b965f707768440c17cb70fbf254c4b225238d"}, - {file = "numpy-1.24.4-cp311-cp311-win_amd64.whl", hash = "sha256:b7b1fc9864d7d39e28f41d089bfd6353cb5f27ecd9905348c24187a768c79694"}, - {file = "numpy-1.24.4-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:1452241c290f3e2a312c137a9999cdbf63f78864d63c79039bda65ee86943f61"}, - {file = "numpy-1.24.4-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:04640dab83f7c6c85abf9cd729c5b65f1ebd0ccf9de90b270cd61935eef0197f"}, - {file = "numpy-1.24.4-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a5425b114831d1e77e4b5d812b69d11d962e104095a5b9c3b641a218abcc050e"}, - {file = "numpy-1.24.4-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:dd80e219fd4c71fc3699fc1dadac5dcf4fd882bfc6f7ec53d30fa197b8ee22dc"}, - {file = "numpy-1.24.4-cp38-cp38-win32.whl", hash = "sha256:4602244f345453db537be5314d3983dbf5834a9701b7723ec28923e2889e0bb2"}, - {file = "numpy-1.24.4-cp38-cp38-win_amd64.whl", hash = "sha256:692f2e0f55794943c5bfff12b3f56f99af76f902fc47487bdfe97856de51a706"}, - {file = "numpy-1.24.4-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:2541312fbf09977f3b3ad449c4e5f4bb55d0dbf79226d7724211acc905049400"}, - {file = "numpy-1.24.4-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:9667575fb6d13c95f1b36aca12c5ee3356bf001b714fc354eb5465ce1609e62f"}, - {file = "numpy-1.24.4-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:f3a86ed21e4f87050382c7bc96571755193c4c1392490744ac73d660e8f564a9"}, - {file = "numpy-1.24.4-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:d11efb4dbecbdf22508d55e48d9c8384db795e1b7b51ea735289ff96613ff74d"}, - {file = "numpy-1.24.4-cp39-cp39-win32.whl", hash = "sha256:6620c0acd41dbcb368610bb2f4d83145674040025e5536954782467100aa8835"}, - {file = "numpy-1.24.4-cp39-cp39-win_amd64.whl", hash = "sha256:befe2bf740fd8373cf56149a5c23a0f601e82869598d41f8e188a0e9869926f8"}, - {file = "numpy-1.24.4-pp38-pypy38_pp73-macosx_10_9_x86_64.whl", hash = "sha256:31f13e25b4e304632a4619d0e0777662c2ffea99fcae2029556b17d8ff958aef"}, - {file = "numpy-1.24.4-pp38-pypy38_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:95f7ac6540e95bc440ad77f56e520da5bf877f87dca58bd095288dce8940532a"}, - {file = "numpy-1.24.4-pp38-pypy38_pp73-win_amd64.whl", hash = "sha256:e98f220aa76ca2a977fe435f5b04d7b3470c0a2e6312907b37ba6068f26787f2"}, - {file = "numpy-1.24.4.tar.gz", hash = "sha256:80f5e3a4e498641401868df4208b74581206afbee7cf7b8329daae82676d9463"}, -] - -[[package]] -name = "numpy" -version = "1.26.4" -description = "Fundamental package for array computing in Python" -optional = false -python-versions = ">=3.9" -groups = ["main"] -markers = "python_version >= \"3.12\" and python_version < \"3.13\"" -files = [ - {file = "numpy-1.26.4-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:9ff0f4f29c51e2803569d7a51c2304de5554655a60c5d776e35b4a41413830d0"}, - {file = "numpy-1.26.4-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:2e4ee3380d6de9c9ec04745830fd9e2eccb3e6cf790d39d7b98ffd19b0dd754a"}, - {file = "numpy-1.26.4-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d209d8969599b27ad20994c8e41936ee0964e6da07478d6c35016bc386b66ad4"}, - {file = "numpy-1.26.4-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ffa75af20b44f8dba823498024771d5ac50620e6915abac414251bd971b4529f"}, - {file = "numpy-1.26.4-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:62b8e4b1e28009ef2846b4c7852046736bab361f7aeadeb6a5b89ebec3c7055a"}, - {file = "numpy-1.26.4-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:a4abb4f9001ad2858e7ac189089c42178fcce737e4169dc61321660f1a96c7d2"}, - {file = "numpy-1.26.4-cp310-cp310-win32.whl", hash = "sha256:bfe25acf8b437eb2a8b2d49d443800a5f18508cd811fea3181723922a8a82b07"}, - {file = "numpy-1.26.4-cp310-cp310-win_amd64.whl", hash = "sha256:b97fe8060236edf3662adfc2c633f56a08ae30560c56310562cb4f95500022d5"}, - {file = "numpy-1.26.4-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:4c66707fabe114439db9068ee468c26bbdf909cac0fb58686a42a24de1760c71"}, - {file = "numpy-1.26.4-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:edd8b5fe47dab091176d21bb6de568acdd906d1887a4584a15a9a96a1dca06ef"}, - {file = "numpy-1.26.4-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:7ab55401287bfec946ced39700c053796e7cc0e3acbef09993a9ad2adba6ca6e"}, - {file = "numpy-1.26.4-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:666dbfb6ec68962c033a450943ded891bed2d54e6755e35e5835d63f4f6931d5"}, - {file = "numpy-1.26.4-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:96ff0b2ad353d8f990b63294c8986f1ec3cb19d749234014f4e7eb0112ceba5a"}, - {file = "numpy-1.26.4-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:60dedbb91afcbfdc9bc0b1f3f402804070deed7392c23eb7a7f07fa857868e8a"}, - {file = "numpy-1.26.4-cp311-cp311-win32.whl", hash = "sha256:1af303d6b2210eb850fcf03064d364652b7120803a0b872f5211f5234b399f20"}, - {file = "numpy-1.26.4-cp311-cp311-win_amd64.whl", hash = "sha256:cd25bcecc4974d09257ffcd1f098ee778f7834c3ad767fe5db785be9a4aa9cb2"}, - {file = "numpy-1.26.4-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:b3ce300f3644fb06443ee2222c2201dd3a89ea6040541412b8fa189341847218"}, - {file = "numpy-1.26.4-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:03a8c78d01d9781b28a6989f6fa1bb2c4f2d51201cf99d3dd875df6fbd96b23b"}, - {file = "numpy-1.26.4-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:9fad7dcb1aac3c7f0584a5a8133e3a43eeb2fe127f47e3632d43d677c66c102b"}, - {file = "numpy-1.26.4-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:675d61ffbfa78604709862923189bad94014bef562cc35cf61d3a07bba02a7ed"}, - {file = "numpy-1.26.4-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:ab47dbe5cc8210f55aa58e4805fe224dac469cde56b9f731a4c098b91917159a"}, - {file = "numpy-1.26.4-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:1dda2e7b4ec9dd512f84935c5f126c8bd8b9f2fc001e9f54af255e8c5f16b0e0"}, - {file = "numpy-1.26.4-cp312-cp312-win32.whl", hash = "sha256:50193e430acfc1346175fcbdaa28ffec49947a06918b7b92130744e81e640110"}, - {file = "numpy-1.26.4-cp312-cp312-win_amd64.whl", hash = "sha256:08beddf13648eb95f8d867350f6a018a4be2e5ad54c8d8caed89ebca558b2818"}, - {file = "numpy-1.26.4-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:7349ab0fa0c429c82442a27a9673fc802ffdb7c7775fad780226cb234965e53c"}, - {file = "numpy-1.26.4-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:52b8b60467cd7dd1e9ed082188b4e6bb35aa5cdd01777621a1658910745b90be"}, - {file = "numpy-1.26.4-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d5241e0a80d808d70546c697135da2c613f30e28251ff8307eb72ba696945764"}, - {file = "numpy-1.26.4-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f870204a840a60da0b12273ef34f7051e98c3b5961b61b0c2c1be6dfd64fbcd3"}, - {file = "numpy-1.26.4-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:679b0076f67ecc0138fd2ede3a8fd196dddc2ad3254069bcb9faf9a79b1cebcd"}, - {file = "numpy-1.26.4-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:47711010ad8555514b434df65f7d7b076bb8261df1ca9bb78f53d3b2db02e95c"}, - {file = "numpy-1.26.4-cp39-cp39-win32.whl", hash = "sha256:a354325ee03388678242a4d7ebcd08b5c727033fcff3b2f536aea978e15ee9e6"}, - {file = "numpy-1.26.4-cp39-cp39-win_amd64.whl", hash = "sha256:3373d5d70a5fe74a2c1bb6d2cfd9609ecf686d47a2d7b1d37a8f3b6bf6003aea"}, - {file = "numpy-1.26.4-pp39-pypy39_pp73-macosx_10_9_x86_64.whl", hash = "sha256:afedb719a9dcfc7eaf2287b839d8198e06dcd4cb5d276a3df279231138e83d30"}, - {file = "numpy-1.26.4-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:95a7476c59002f2f6c590b9b7b998306fba6a5aa646b1e22ddfeaf8f78c3a29c"}, - {file = "numpy-1.26.4-pp39-pypy39_pp73-win_amd64.whl", hash = "sha256:7e50d0a0cc3189f9cb0aeb3a6a6af18c16f59f004b866cd2be1c14b36134a4a0"}, - {file = "numpy-1.26.4.tar.gz", hash = "sha256:2a02aba9ed12e4ac4eb3ea9421c420301a0c6460d9830d74a9df87efa4912010"}, -] - -[[package]] -name = "numpy" -version = "2.2.1" -description = "Fundamental package for array computing in Python" -optional = false -python-versions = ">=3.10" -groups = ["main"] -markers = "python_version >= \"3.13\"" -files = [ - {file = "numpy-2.2.1-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:5edb4e4caf751c1518e6a26a83501fda79bff41cc59dac48d70e6d65d4ec4440"}, - {file = "numpy-2.2.1-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:aa3017c40d513ccac9621a2364f939d39e550c542eb2a894b4c8da92b38896ab"}, - {file = "numpy-2.2.1-cp310-cp310-macosx_14_0_arm64.whl", hash = "sha256:61048b4a49b1c93fe13426e04e04fdf5a03f456616f6e98c7576144677598675"}, - {file = "numpy-2.2.1-cp310-cp310-macosx_14_0_x86_64.whl", hash = "sha256:7671dc19c7019103ca44e8d94917eba8534c76133523ca8406822efdd19c9308"}, - {file = "numpy-2.2.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:4250888bcb96617e00bfa28ac24850a83c9f3a16db471eca2ee1f1714df0f957"}, - {file = "numpy-2.2.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:a7746f235c47abc72b102d3bce9977714c2444bdfaea7888d241b4c4bb6a78bf"}, - {file = "numpy-2.2.1-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:059e6a747ae84fce488c3ee397cee7e5f905fd1bda5fb18c66bc41807ff119b2"}, - {file = "numpy-2.2.1-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:f62aa6ee4eb43b024b0e5a01cf65a0bb078ef8c395e8713c6e8a12a697144528"}, - {file = "numpy-2.2.1-cp310-cp310-win32.whl", hash = "sha256:48fd472630715e1c1c89bf1feab55c29098cb403cc184b4859f9c86d4fcb6a95"}, - {file = "numpy-2.2.1-cp310-cp310-win_amd64.whl", hash = "sha256:b541032178a718c165a49638d28272b771053f628382d5e9d1c93df23ff58dbf"}, - {file = "numpy-2.2.1-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:40f9e544c1c56ba8f1cf7686a8c9b5bb249e665d40d626a23899ba6d5d9e1484"}, - {file = "numpy-2.2.1-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:f9b57eaa3b0cd8db52049ed0330747b0364e899e8a606a624813452b8203d5f7"}, - {file = "numpy-2.2.1-cp311-cp311-macosx_14_0_arm64.whl", hash = "sha256:bc8a37ad5b22c08e2dbd27df2b3ef7e5c0864235805b1e718a235bcb200cf1cb"}, - {file = "numpy-2.2.1-cp311-cp311-macosx_14_0_x86_64.whl", hash = "sha256:9036d6365d13b6cbe8f27a0eaf73ddcc070cae584e5ff94bb45e3e9d729feab5"}, - {file = "numpy-2.2.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:51faf345324db860b515d3f364eaa93d0e0551a88d6218a7d61286554d190d73"}, - {file = "numpy-2.2.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:38efc1e56b73cc9b182fe55e56e63b044dd26a72128fd2fbd502f75555d92591"}, - {file = "numpy-2.2.1-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:31b89fa67a8042e96715c68e071a1200c4e172f93b0fbe01a14c0ff3ff820fc8"}, - {file = "numpy-2.2.1-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:4c86e2a209199ead7ee0af65e1d9992d1dce7e1f63c4b9a616500f93820658d0"}, - {file = "numpy-2.2.1-cp311-cp311-win32.whl", hash = "sha256:b34d87e8a3090ea626003f87f9392b3929a7bbf4104a05b6667348b6bd4bf1cd"}, - {file = "numpy-2.2.1-cp311-cp311-win_amd64.whl", hash = "sha256:360137f8fb1b753c5cde3ac388597ad680eccbbbb3865ab65efea062c4a1fd16"}, - {file = "numpy-2.2.1-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:694f9e921a0c8f252980e85bce61ebbd07ed2b7d4fa72d0e4246f2f8aa6642ab"}, - {file = "numpy-2.2.1-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:3683a8d166f2692664262fd4900f207791d005fb088d7fdb973cc8d663626faa"}, - {file = "numpy-2.2.1-cp312-cp312-macosx_14_0_arm64.whl", hash = "sha256:780077d95eafc2ccc3ced969db22377b3864e5b9a0ea5eb347cc93b3ea900315"}, - {file = "numpy-2.2.1-cp312-cp312-macosx_14_0_x86_64.whl", hash = "sha256:55ba24ebe208344aa7a00e4482f65742969a039c2acfcb910bc6fcd776eb4355"}, - {file = "numpy-2.2.1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:9b1d07b53b78bf84a96898c1bc139ad7f10fda7423f5fd158fd0f47ec5e01ac7"}, - {file = "numpy-2.2.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:5062dc1a4e32a10dc2b8b13cedd58988261416e811c1dc4dbdea4f57eea61b0d"}, - {file = "numpy-2.2.1-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:fce4f615f8ca31b2e61aa0eb5865a21e14f5629515c9151850aa936c02a1ee51"}, - {file = "numpy-2.2.1-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:67d4cda6fa6ffa073b08c8372aa5fa767ceb10c9a0587c707505a6d426f4e046"}, - {file = "numpy-2.2.1-cp312-cp312-win32.whl", hash = "sha256:32cb94448be47c500d2c7a95f93e2f21a01f1fd05dd2beea1ccd049bb6001cd2"}, - {file = "numpy-2.2.1-cp312-cp312-win_amd64.whl", hash = "sha256:ba5511d8f31c033a5fcbda22dd5c813630af98c70b2661f2d2c654ae3cdfcfc8"}, - {file = "numpy-2.2.1-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:f1d09e520217618e76396377c81fba6f290d5f926f50c35f3a5f72b01a0da780"}, - {file = "numpy-2.2.1-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:3ecc47cd7f6ea0336042be87d9e7da378e5c7e9b3c8ad0f7c966f714fc10d821"}, - {file = "numpy-2.2.1-cp313-cp313-macosx_14_0_arm64.whl", hash = "sha256:f419290bc8968a46c4933158c91a0012b7a99bb2e465d5ef5293879742f8797e"}, - {file = "numpy-2.2.1-cp313-cp313-macosx_14_0_x86_64.whl", hash = "sha256:5b6c390bfaef8c45a260554888966618328d30e72173697e5cabe6b285fb2348"}, - {file = "numpy-2.2.1-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:526fc406ab991a340744aad7e25251dd47a6720a685fa3331e5c59fef5282a59"}, - {file = "numpy-2.2.1-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f74e6fdeb9a265624ec3a3918430205dff1df7e95a230779746a6af78bc615af"}, - {file = "numpy-2.2.1-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:53c09385ff0b72ba79d8715683c1168c12e0b6e84fb0372e97553d1ea91efe51"}, - {file = "numpy-2.2.1-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:f3eac17d9ec51be534685ba877b6ab5edc3ab7ec95c8f163e5d7b39859524716"}, - {file = "numpy-2.2.1-cp313-cp313-win32.whl", hash = "sha256:9ad014faa93dbb52c80d8f4d3dcf855865c876c9660cb9bd7553843dd03a4b1e"}, - {file = "numpy-2.2.1-cp313-cp313-win_amd64.whl", hash = "sha256:164a829b6aacf79ca47ba4814b130c4020b202522a93d7bff2202bfb33b61c60"}, - {file = "numpy-2.2.1-cp313-cp313t-macosx_10_13_x86_64.whl", hash = "sha256:4dfda918a13cc4f81e9118dea249e192ab167a0bb1966272d5503e39234d694e"}, - {file = "numpy-2.2.1-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:733585f9f4b62e9b3528dd1070ec4f52b8acf64215b60a845fa13ebd73cd0712"}, - {file = "numpy-2.2.1-cp313-cp313t-macosx_14_0_arm64.whl", hash = "sha256:89b16a18e7bba224ce5114db863e7029803c179979e1af6ad6a6b11f70545008"}, - {file = "numpy-2.2.1-cp313-cp313t-macosx_14_0_x86_64.whl", hash = "sha256:676f4eebf6b2d430300f1f4f4c2461685f8269f94c89698d832cdf9277f30b84"}, - {file = "numpy-2.2.1-cp313-cp313t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:27f5cdf9f493b35f7e41e8368e7d7b4bbafaf9660cba53fb21d2cd174ec09631"}, - {file = "numpy-2.2.1-cp313-cp313t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:c1ad395cf254c4fbb5b2132fee391f361a6e8c1adbd28f2cd8e79308a615fe9d"}, - {file = "numpy-2.2.1-cp313-cp313t-musllinux_1_2_aarch64.whl", hash = "sha256:08ef779aed40dbc52729d6ffe7dd51df85796a702afbf68a4f4e41fafdc8bda5"}, - {file = "numpy-2.2.1-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:26c9c4382b19fcfbbed3238a14abf7ff223890ea1936b8890f058e7ba35e8d71"}, - {file = "numpy-2.2.1-cp313-cp313t-win32.whl", hash = "sha256:93cf4e045bae74c90ca833cba583c14b62cb4ba2cba0abd2b141ab52548247e2"}, - {file = "numpy-2.2.1-cp313-cp313t-win_amd64.whl", hash = "sha256:bff7d8ec20f5f42607599f9994770fa65d76edca264a87b5e4ea5629bce12268"}, - {file = "numpy-2.2.1-pp310-pypy310_pp73-macosx_10_15_x86_64.whl", hash = "sha256:7ba9cc93a91d86365a5d270dee221fdc04fb68d7478e6bf6af650de78a8339e3"}, - {file = "numpy-2.2.1-pp310-pypy310_pp73-macosx_14_0_x86_64.whl", hash = "sha256:3d03883435a19794e41f147612a77a8f56d4e52822337844fff3d4040a142964"}, - {file = "numpy-2.2.1-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:4511d9e6071452b944207c8ce46ad2f897307910b402ea5fa975da32e0102800"}, - {file = "numpy-2.2.1-pp310-pypy310_pp73-win_amd64.whl", hash = "sha256:5c5cc0cbabe9452038ed984d05ac87910f89370b9242371bd9079cb4af61811e"}, - {file = "numpy-2.2.1.tar.gz", hash = "sha256:45681fd7128c8ad1c379f0ca0776a8b0c6583d2f69889ddac01559dfe4390918"}, -] - -[[package]] -name = "opencv-python" -version = "4.10.0.84" -description = "Wrapper package for OpenCV python bindings." -optional = false -python-versions = ">=3.6" -groups = ["main"] -markers = "python_version <= \"3.11\" or python_version >= \"3.12\"" -files = [ - {file = "opencv-python-4.10.0.84.tar.gz", hash = "sha256:72d234e4582e9658ffea8e9cae5b63d488ad06994ef12d81dc303b17472f3526"}, - {file = "opencv_python-4.10.0.84-cp37-abi3-macosx_11_0_arm64.whl", hash = "sha256:fc182f8f4cda51b45f01c64e4cbedfc2f00aff799debebc305d8d0210c43f251"}, - {file = "opencv_python-4.10.0.84-cp37-abi3-macosx_12_0_x86_64.whl", hash = "sha256:71e575744f1d23f79741450254660442785f45a0797212852ee5199ef12eed98"}, - {file = "opencv_python-4.10.0.84-cp37-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:09a332b50488e2dda866a6c5573ee192fe3583239fb26ff2f7f9ceb0bc119ea6"}, - {file = "opencv_python-4.10.0.84-cp37-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:9ace140fc6d647fbe1c692bcb2abce768973491222c067c131d80957c595b71f"}, - {file = "opencv_python-4.10.0.84-cp37-abi3-win32.whl", hash = "sha256:2db02bb7e50b703f0a2d50c50ced72e95c574e1e5a0bb35a8a86d0b35c98c236"}, - {file = "opencv_python-4.10.0.84-cp37-abi3-win_amd64.whl", hash = "sha256:32dbbd94c26f611dc5cc6979e6b7aa1f55a64d6b463cc1dcd3c95505a63e48fe"}, -] - -[package.dependencies] -numpy = [ - {version = ">=1.21.0", markers = "python_version <= \"3.9\" and platform_system == \"Darwin\" and platform_machine == \"arm64\" and python_version >= \"3.8\""}, - {version = ">=1.19.3", markers = "platform_system == \"Linux\" and platform_machine == \"aarch64\" and python_version >= \"3.8\" and python_version < \"3.10\" or python_version > \"3.9\" and python_version < \"3.10\" or python_version >= \"3.9\" and platform_system != \"Darwin\" and python_version < \"3.10\" or python_version >= \"3.9\" and platform_machine != \"arm64\" and python_version < \"3.10\""}, - {version = ">=1.17.3", markers = "(platform_system != \"Darwin\" and platform_system != \"Linux\") and python_version >= \"3.8\" and python_version < \"3.9\" or platform_system != \"Darwin\" and python_version >= \"3.8\" and python_version < \"3.9\" and platform_machine != \"aarch64\" or platform_machine != \"arm64\" and python_version >= \"3.8\" and python_version < \"3.9\" and platform_system != \"Linux\" or (platform_machine != \"arm64\" and platform_machine != \"aarch64\") and python_version >= \"3.8\" and python_version < \"3.9\""}, - {version = ">=1.23.5", markers = "python_version >= \"3.11\" and python_version < \"3.12\""}, - {version = ">=1.21.4", markers = "python_version >= \"3.10\" and platform_system == \"Darwin\" and python_version < \"3.11\""}, - {version = ">=1.21.2", markers = "platform_system != \"Darwin\" and python_version >= \"3.10\" and python_version < \"3.11\""}, - {version = ">=1.26.0", markers = "python_version >= \"3.12\""}, -] - -[[package]] -name = "overrides" -version = "7.7.0" -description = "A decorator to automatically detect mismatch when overriding a method." -optional = false -python-versions = ">=3.6" -groups = ["dev"] -markers = "python_version <= \"3.11\" or python_version >= \"3.12\"" -files = [ - {file = "overrides-7.7.0-py3-none-any.whl", hash = "sha256:c7ed9d062f78b8e4c1a7b70bd8796b35ead4d9f510227ef9c5dc7626c60d7e49"}, - {file = "overrides-7.7.0.tar.gz", hash = "sha256:55158fa3d93b98cc75299b1e67078ad9003ca27945c76162c1c0766d6f91820a"}, -] - -[[package]] -name = "packaging" -version = "24.2" -description = "Core utilities for Python packages" -optional = false -python-versions = ">=3.8" -groups = ["main", "build", "dev", "docs"] -markers = "python_version <= \"3.11\" or python_version >= \"3.12\"" -files = [ - {file = "packaging-24.2-py3-none-any.whl", hash = "sha256:09abb1bccd265c01f4a3aa3f7a7db064b36514d2cba19a2f694fe6150451a759"}, - {file = "packaging-24.2.tar.gz", hash = "sha256:c228a6dc5e932d346bc5739379109d49e8853dd8223571c7c5b55260edc0b97f"}, -] - -[[package]] -name = "paginate" -version = "0.5.7" -description = "Divides large result sets into pages for easier browsing" -optional = false -python-versions = "*" -groups = ["docs"] -markers = "python_version <= \"3.11\" or python_version >= \"3.12\"" -files = [ - {file = "paginate-0.5.7-py2.py3-none-any.whl", hash = "sha256:b885e2af73abcf01d9559fd5216b57ef722f8c42affbb63942377668e35c7591"}, - {file = "paginate-0.5.7.tar.gz", hash = "sha256:22bd083ab41e1a8b4f3690544afb2c60c25e5c9a63a30fa2f483f6c60c8e5945"}, -] - -[package.extras] -dev = ["pytest", "tox"] -lint = ["black"] - -[[package]] -name = "pandas" -version = "2.0.3" -description = "Powerful data structures for data analysis, time series, and statistics" -optional = true -python-versions = ">=3.8" -groups = ["main"] -markers = "(python_version <= \"3.11\" or python_version >= \"3.12\") and python_version < \"3.13\" and extra == \"metrics\"" -files = [ - {file = "pandas-2.0.3-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:e4c7c9f27a4185304c7caf96dc7d91bc60bc162221152de697c98eb0b2648dd8"}, - {file = "pandas-2.0.3-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:f167beed68918d62bffb6ec64f2e1d8a7d297a038f86d4aed056b9493fca407f"}, - {file = "pandas-2.0.3-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:ce0c6f76a0f1ba361551f3e6dceaff06bde7514a374aa43e33b588ec10420183"}, - {file = "pandas-2.0.3-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ba619e410a21d8c387a1ea6e8a0e49bb42216474436245718d7f2e88a2f8d7c0"}, - {file = "pandas-2.0.3-cp310-cp310-win32.whl", hash = "sha256:3ef285093b4fe5058eefd756100a367f27029913760773c8bf1d2d8bebe5d210"}, - {file = "pandas-2.0.3-cp310-cp310-win_amd64.whl", hash = "sha256:9ee1a69328d5c36c98d8e74db06f4ad518a1840e8ccb94a4ba86920986bb617e"}, - {file = "pandas-2.0.3-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:b084b91d8d66ab19f5bb3256cbd5ea661848338301940e17f4492b2ce0801fe8"}, - {file = "pandas-2.0.3-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:37673e3bdf1551b95bf5d4ce372b37770f9529743d2498032439371fc7b7eb26"}, - {file = "pandas-2.0.3-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:b9cb1e14fdb546396b7e1b923ffaeeac24e4cedd14266c3497216dd4448e4f2d"}, - {file = "pandas-2.0.3-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:d9cd88488cceb7635aebb84809d087468eb33551097d600c6dad13602029c2df"}, - {file = "pandas-2.0.3-cp311-cp311-win32.whl", hash = "sha256:694888a81198786f0e164ee3a581df7d505024fbb1f15202fc7db88a71d84ebd"}, - {file = "pandas-2.0.3-cp311-cp311-win_amd64.whl", hash = "sha256:6a21ab5c89dcbd57f78d0ae16630b090eec626360085a4148693def5452d8a6b"}, - {file = "pandas-2.0.3-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:9e4da0d45e7f34c069fe4d522359df7d23badf83abc1d1cef398895822d11061"}, - {file = "pandas-2.0.3-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:32fca2ee1b0d93dd71d979726b12b61faa06aeb93cf77468776287f41ff8fdc5"}, - {file = "pandas-2.0.3-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:258d3624b3ae734490e4d63c430256e716f488c4fcb7c8e9bde2d3aa46c29089"}, - {file = "pandas-2.0.3-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:9eae3dc34fa1aa7772dd3fc60270d13ced7346fcbcfee017d3132ec625e23bb0"}, - {file = "pandas-2.0.3-cp38-cp38-win32.whl", hash = "sha256:f3421a7afb1a43f7e38e82e844e2bca9a6d793d66c1a7f9f0ff39a795bbc5e02"}, - {file = "pandas-2.0.3-cp38-cp38-win_amd64.whl", hash = "sha256:69d7f3884c95da3a31ef82b7618af5710dba95bb885ffab339aad925c3e8ce78"}, - {file = "pandas-2.0.3-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:5247fb1ba347c1261cbbf0fcfba4a3121fbb4029d95d9ef4dc45406620b25c8b"}, - {file = "pandas-2.0.3-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:81af086f4543c9d8bb128328b5d32e9986e0c84d3ee673a2ac6fb57fd14f755e"}, - {file = "pandas-2.0.3-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:1994c789bf12a7c5098277fb43836ce090f1073858c10f9220998ac74f37c69b"}, - {file = "pandas-2.0.3-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:5ec591c48e29226bcbb316e0c1e9423622bc7a4eaf1ef7c3c9fa1a3981f89641"}, - {file = "pandas-2.0.3-cp39-cp39-win32.whl", hash = "sha256:04dbdbaf2e4d46ca8da896e1805bc04eb85caa9a82e259e8eed00254d5e0c682"}, - {file = "pandas-2.0.3-cp39-cp39-win_amd64.whl", hash = "sha256:1168574b036cd8b93abc746171c9b4f1b83467438a5e45909fed645cf8692dbc"}, - {file = "pandas-2.0.3.tar.gz", hash = "sha256:c02f372a88e0d17f36d3093a644c73cfc1788e876a7c4bcb4020a77512e2043c"}, -] - -[package.dependencies] -numpy = [ - {version = ">=1.20.3", markers = "python_version < \"3.10\""}, - {version = ">=1.23.2", markers = "python_version >= \"3.11\""}, - {version = ">=1.21.0", markers = "python_version >= \"3.10\" and python_version < \"3.11\""}, -] -python-dateutil = ">=2.8.2" -pytz = ">=2020.1" -tzdata = ">=2022.1" - -[package.extras] -all = ["PyQt5 (>=5.15.1)", "SQLAlchemy (>=1.4.16)", "beautifulsoup4 (>=4.9.3)", "bottleneck (>=1.3.2)", "brotlipy (>=0.7.0)", "fastparquet (>=0.6.3)", "fsspec (>=2021.07.0)", "gcsfs (>=2021.07.0)", "html5lib (>=1.1)", "hypothesis (>=6.34.2)", "jinja2 (>=3.0.0)", "lxml (>=4.6.3)", "matplotlib (>=3.6.1)", "numba (>=0.53.1)", "numexpr (>=2.7.3)", "odfpy (>=1.4.1)", "openpyxl (>=3.0.7)", "pandas-gbq (>=0.15.0)", "psycopg2 (>=2.8.6)", "pyarrow (>=7.0.0)", "pymysql (>=1.0.2)", "pyreadstat (>=1.1.2)", "pytest (>=7.3.2)", "pytest-asyncio (>=0.17.0)", "pytest-xdist (>=2.2.0)", "python-snappy (>=0.6.0)", "pyxlsb (>=1.0.8)", "qtpy (>=2.2.0)", "s3fs (>=2021.08.0)", "scipy (>=1.7.1)", "tables (>=3.6.1)", "tabulate (>=0.8.9)", "xarray (>=0.21.0)", "xlrd (>=2.0.1)", "xlsxwriter (>=1.4.3)", "zstandard (>=0.15.2)"] -aws = ["s3fs (>=2021.08.0)"] -clipboard = ["PyQt5 (>=5.15.1)", "qtpy (>=2.2.0)"] -compression = ["brotlipy (>=0.7.0)", "python-snappy (>=0.6.0)", "zstandard (>=0.15.2)"] -computation = ["scipy (>=1.7.1)", "xarray (>=0.21.0)"] -excel = ["odfpy (>=1.4.1)", "openpyxl (>=3.0.7)", "pyxlsb (>=1.0.8)", "xlrd (>=2.0.1)", "xlsxwriter (>=1.4.3)"] -feather = ["pyarrow (>=7.0.0)"] -fss = ["fsspec (>=2021.07.0)"] -gcp = ["gcsfs (>=2021.07.0)", "pandas-gbq (>=0.15.0)"] -hdf5 = ["tables (>=3.6.1)"] -html = ["beautifulsoup4 (>=4.9.3)", "html5lib (>=1.1)", "lxml (>=4.6.3)"] -mysql = ["SQLAlchemy (>=1.4.16)", "pymysql (>=1.0.2)"] -output-formatting = ["jinja2 (>=3.0.0)", "tabulate (>=0.8.9)"] -parquet = ["pyarrow (>=7.0.0)"] -performance = ["bottleneck (>=1.3.2)", "numba (>=0.53.1)", "numexpr (>=2.7.1)"] -plot = ["matplotlib (>=3.6.1)"] -postgresql = ["SQLAlchemy (>=1.4.16)", "psycopg2 (>=2.8.6)"] -spss = ["pyreadstat (>=1.1.2)"] -sql-other = ["SQLAlchemy (>=1.4.16)"] -test = ["hypothesis (>=6.34.2)", "pytest (>=7.3.2)", "pytest-asyncio (>=0.17.0)", "pytest-xdist (>=2.2.0)"] -xml = ["lxml (>=4.6.3)"] - -[[package]] -name = "pandas" -version = "2.2.3" -description = "Powerful data structures for data analysis, time series, and statistics" -optional = true -python-versions = ">=3.9" -groups = ["main"] -markers = "python_version >= \"3.13\" and extra == \"metrics\"" -files = [ - {file = "pandas-2.2.3-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:1948ddde24197a0f7add2bdc4ca83bf2b1ef84a1bc8ccffd95eda17fd836ecb5"}, - {file = "pandas-2.2.3-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:381175499d3802cde0eabbaf6324cce0c4f5d52ca6f8c377c29ad442f50f6348"}, - {file = "pandas-2.2.3-cp310-cp310-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:d9c45366def9a3dd85a6454c0e7908f2b3b8e9c138f5dc38fed7ce720d8453ed"}, - {file = "pandas-2.2.3-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:86976a1c5b25ae3f8ccae3a5306e443569ee3c3faf444dfd0f41cda24667ad57"}, - {file = "pandas-2.2.3-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:b8661b0238a69d7aafe156b7fa86c44b881387509653fdf857bebc5e4008ad42"}, - {file = "pandas-2.2.3-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:37e0aced3e8f539eccf2e099f65cdb9c8aa85109b0be6e93e2baff94264bdc6f"}, - {file = "pandas-2.2.3-cp310-cp310-win_amd64.whl", hash = "sha256:56534ce0746a58afaf7942ba4863e0ef81c9c50d3f0ae93e9497d6a41a057645"}, - {file = "pandas-2.2.3-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:66108071e1b935240e74525006034333f98bcdb87ea116de573a6a0dccb6c039"}, - {file = "pandas-2.2.3-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:7c2875855b0ff77b2a64a0365e24455d9990730d6431b9e0ee18ad8acee13dbd"}, - {file = "pandas-2.2.3-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:cd8d0c3be0515c12fed0bdbae072551c8b54b7192c7b1fda0ba56059a0179698"}, - {file = "pandas-2.2.3-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:c124333816c3a9b03fbeef3a9f230ba9a737e9e5bb4060aa2107a86cc0a497fc"}, - {file = "pandas-2.2.3-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:63cc132e40a2e084cf01adf0775b15ac515ba905d7dcca47e9a251819c575ef3"}, - {file = "pandas-2.2.3-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:29401dbfa9ad77319367d36940cd8a0b3a11aba16063e39632d98b0e931ddf32"}, - {file = "pandas-2.2.3-cp311-cp311-win_amd64.whl", hash = "sha256:3fc6873a41186404dad67245896a6e440baacc92f5b716ccd1bc9ed2995ab2c5"}, - {file = "pandas-2.2.3-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:b1d432e8d08679a40e2a6d8b2f9770a5c21793a6f9f47fdd52c5ce1948a5a8a9"}, - {file = "pandas-2.2.3-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:a5a1595fe639f5988ba6a8e5bc9649af3baf26df3998a0abe56c02609392e0a4"}, - {file = "pandas-2.2.3-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:5de54125a92bb4d1c051c0659e6fcb75256bf799a732a87184e5ea503965bce3"}, - {file = "pandas-2.2.3-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:fffb8ae78d8af97f849404f21411c95062db1496aeb3e56f146f0355c9989319"}, - {file = "pandas-2.2.3-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:6dfcb5ee8d4d50c06a51c2fffa6cff6272098ad6540aed1a76d15fb9318194d8"}, - {file = "pandas-2.2.3-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:062309c1b9ea12a50e8ce661145c6aab431b1e99530d3cd60640e255778bd43a"}, - {file = "pandas-2.2.3-cp312-cp312-win_amd64.whl", hash = "sha256:59ef3764d0fe818125a5097d2ae867ca3fa64df032331b7e0917cf5d7bf66b13"}, - {file = "pandas-2.2.3-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:f00d1345d84d8c86a63e476bb4955e46458b304b9575dcf71102b5c705320015"}, - {file = "pandas-2.2.3-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:3508d914817e153ad359d7e069d752cdd736a247c322d932eb89e6bc84217f28"}, - {file = "pandas-2.2.3-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:22a9d949bfc9a502d320aa04e5d02feab689d61da4e7764b62c30b991c42c5f0"}, - {file = "pandas-2.2.3-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f3a255b2c19987fbbe62a9dfd6cff7ff2aa9ccab3fc75218fd4b7530f01efa24"}, - {file = "pandas-2.2.3-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:800250ecdadb6d9c78eae4990da62743b857b470883fa27f652db8bdde7f6659"}, - {file = "pandas-2.2.3-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:6374c452ff3ec675a8f46fd9ab25c4ad0ba590b71cf0656f8b6daa5202bca3fb"}, - {file = "pandas-2.2.3-cp313-cp313-win_amd64.whl", hash = "sha256:61c5ad4043f791b61dd4752191d9f07f0ae412515d59ba8f005832a532f8736d"}, - {file = "pandas-2.2.3-cp313-cp313t-macosx_10_13_x86_64.whl", hash = "sha256:3b71f27954685ee685317063bf13c7709a7ba74fc996b84fc6821c59b0f06468"}, - {file = "pandas-2.2.3-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:38cf8125c40dae9d5acc10fa66af8ea6fdf760b2714ee482ca691fc66e6fcb18"}, - {file = "pandas-2.2.3-cp313-cp313t-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:ba96630bc17c875161df3818780af30e43be9b166ce51c9a18c1feae342906c2"}, - {file = "pandas-2.2.3-cp313-cp313t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:1db71525a1538b30142094edb9adc10be3f3e176748cd7acc2240c2f2e5aa3a4"}, - {file = "pandas-2.2.3-cp313-cp313t-musllinux_1_2_aarch64.whl", hash = "sha256:15c0e1e02e93116177d29ff83e8b1619c93ddc9c49083f237d4312337a61165d"}, - {file = "pandas-2.2.3-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:ad5b65698ab28ed8d7f18790a0dc58005c7629f227be9ecc1072aa74c0c1d43a"}, - {file = "pandas-2.2.3-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:bc6b93f9b966093cb0fd62ff1a7e4c09e6d546ad7c1de191767baffc57628f39"}, - {file = "pandas-2.2.3-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:5dbca4c1acd72e8eeef4753eeca07de9b1db4f398669d5994086f788a5d7cc30"}, - {file = "pandas-2.2.3-cp39-cp39-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:8cd6d7cc958a3910f934ea8dbdf17b2364827bb4dafc38ce6eef6bb3d65ff09c"}, - {file = "pandas-2.2.3-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:99df71520d25fade9db7c1076ac94eb994f4d2673ef2aa2e86ee039b6746d20c"}, - {file = "pandas-2.2.3-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:31d0ced62d4ea3e231a9f228366919a5ea0b07440d9d4dac345376fd8e1477ea"}, - {file = "pandas-2.2.3-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:7eee9e7cea6adf3e3d24e304ac6b8300646e2a5d1cd3a3c2abed9101b0846761"}, - {file = "pandas-2.2.3-cp39-cp39-win_amd64.whl", hash = "sha256:4850ba03528b6dd51d6c5d273c46f183f39a9baf3f0143e566b89450965b105e"}, - {file = "pandas-2.2.3.tar.gz", hash = "sha256:4f18ba62b61d7e192368b84517265a99b4d7ee8912f8708660fb4a366cc82667"}, -] - -[package.dependencies] -numpy = {version = ">=1.26.0", markers = "python_version >= \"3.12\""} -python-dateutil = ">=2.8.2" -pytz = ">=2020.1" -tzdata = ">=2022.7" - -[package.extras] -all = ["PyQt5 (>=5.15.9)", "SQLAlchemy (>=2.0.0)", "adbc-driver-postgresql (>=0.8.0)", "adbc-driver-sqlite (>=0.8.0)", "beautifulsoup4 (>=4.11.2)", "bottleneck (>=1.3.6)", "dataframe-api-compat (>=0.1.7)", "fastparquet (>=2022.12.0)", "fsspec (>=2022.11.0)", "gcsfs (>=2022.11.0)", "html5lib (>=1.1)", "hypothesis (>=6.46.1)", "jinja2 (>=3.1.2)", "lxml (>=4.9.2)", "matplotlib (>=3.6.3)", "numba (>=0.56.4)", "numexpr (>=2.8.4)", "odfpy (>=1.4.1)", "openpyxl (>=3.1.0)", "pandas-gbq (>=0.19.0)", "psycopg2 (>=2.9.6)", "pyarrow (>=10.0.1)", "pymysql (>=1.0.2)", "pyreadstat (>=1.2.0)", "pytest (>=7.3.2)", "pytest-xdist (>=2.2.0)", "python-calamine (>=0.1.7)", "pyxlsb (>=1.0.10)", "qtpy (>=2.3.0)", "s3fs (>=2022.11.0)", "scipy (>=1.10.0)", "tables (>=3.8.0)", "tabulate (>=0.9.0)", "xarray (>=2022.12.0)", "xlrd (>=2.0.1)", "xlsxwriter (>=3.0.5)", "zstandard (>=0.19.0)"] -aws = ["s3fs (>=2022.11.0)"] -clipboard = ["PyQt5 (>=5.15.9)", "qtpy (>=2.3.0)"] -compression = ["zstandard (>=0.19.0)"] -computation = ["scipy (>=1.10.0)", "xarray (>=2022.12.0)"] -consortium-standard = ["dataframe-api-compat (>=0.1.7)"] -excel = ["odfpy (>=1.4.1)", "openpyxl (>=3.1.0)", "python-calamine (>=0.1.7)", "pyxlsb (>=1.0.10)", "xlrd (>=2.0.1)", "xlsxwriter (>=3.0.5)"] -feather = ["pyarrow (>=10.0.1)"] -fss = ["fsspec (>=2022.11.0)"] -gcp = ["gcsfs (>=2022.11.0)", "pandas-gbq (>=0.19.0)"] -hdf5 = ["tables (>=3.8.0)"] -html = ["beautifulsoup4 (>=4.11.2)", "html5lib (>=1.1)", "lxml (>=4.9.2)"] -mysql = ["SQLAlchemy (>=2.0.0)", "pymysql (>=1.0.2)"] -output-formatting = ["jinja2 (>=3.1.2)", "tabulate (>=0.9.0)"] -parquet = ["pyarrow (>=10.0.1)"] -performance = ["bottleneck (>=1.3.6)", "numba (>=0.56.4)", "numexpr (>=2.8.4)"] -plot = ["matplotlib (>=3.6.3)"] -postgresql = ["SQLAlchemy (>=2.0.0)", "adbc-driver-postgresql (>=0.8.0)", "psycopg2 (>=2.9.6)"] -pyarrow = ["pyarrow (>=10.0.1)"] -spss = ["pyreadstat (>=1.2.0)"] -sql-other = ["SQLAlchemy (>=2.0.0)", "adbc-driver-postgresql (>=0.8.0)", "adbc-driver-sqlite (>=0.8.0)"] -test = ["hypothesis (>=6.46.1)", "pytest (>=7.3.2)", "pytest-xdist (>=2.2.0)"] -xml = ["lxml (>=4.9.2)"] - -[[package]] -name = "pandocfilters" -version = "1.5.1" -description = "Utilities for writing pandoc filters in python" -optional = false -python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*" -groups = ["dev", "docs"] -markers = "python_version <= \"3.11\" or python_version >= \"3.12\"" -files = [ - {file = "pandocfilters-1.5.1-py2.py3-none-any.whl", hash = "sha256:93be382804a9cdb0a7267585f157e5d1731bbe5545a85b268d6f5fe6232de2bc"}, - {file = "pandocfilters-1.5.1.tar.gz", hash = "sha256:002b4a555ee4ebc03f8b66307e287fa492e4a77b4ea14d3f934328297bb4939e"}, -] - -[[package]] -name = "parso" -version = "0.8.4" -description = "A Python Parser" -optional = false -python-versions = ">=3.6" -groups = ["dev", "docs"] -markers = "python_version <= \"3.11\" or python_version >= \"3.12\"" -files = [ - {file = "parso-0.8.4-py2.py3-none-any.whl", hash = "sha256:a418670a20291dacd2dddc80c377c5c3791378ee1e8d12bffc35420643d43f18"}, - {file = "parso-0.8.4.tar.gz", hash = "sha256:eb3a7b58240fb99099a345571deecc0f9540ea5f4dd2fe14c2a99d6b281ab92d"}, -] - -[package.extras] -qa = ["flake8 (==5.0.4)", "mypy (==0.971)", "types-setuptools (==67.2.0.1)"] -testing = ["docopt", "pytest"] - -[[package]] -name = "pathspec" -version = "0.12.1" -description = "Utility library for gitignore style pattern matching of file paths." -optional = false -python-versions = ">=3.8" -groups = ["docs"] -markers = "python_version <= \"3.11\" or python_version >= \"3.12\"" -files = [ - {file = "pathspec-0.12.1-py3-none-any.whl", hash = "sha256:a0d503e138a4c123b27490a4f7beda6a01c6f288df0e4a8b79c7eb0dc7b4cc08"}, - {file = "pathspec-0.12.1.tar.gz", hash = "sha256:a482d51503a1ab33b1c67a6c3813a26953dbdc71c31dacaef9a838c4e29f5712"}, -] - -[[package]] -name = "pexpect" -version = "4.9.0" -description = "Pexpect allows easy control of interactive console applications." -optional = false -python-versions = "*" -groups = ["dev", "docs"] -markers = "(python_version <= \"3.11\" or python_version >= \"3.12\") and sys_platform != \"win32\"" -files = [ - {file = "pexpect-4.9.0-py2.py3-none-any.whl", hash = "sha256:7236d1e080e4936be2dc3e326cec0af72acf9212a7e1d060210e70a47e253523"}, - {file = "pexpect-4.9.0.tar.gz", hash = "sha256:ee7d41123f3c9911050ea2c2dac107568dc43b2d3b0c7557a33212c398ead30f"}, -] - -[package.dependencies] -ptyprocess = ">=0.5" - -[[package]] -name = "pickleshare" -version = "0.7.5" -description = "Tiny 'shelve'-like database with concurrency support" -optional = false -python-versions = "*" -groups = ["dev", "docs"] -markers = "python_version <= \"3.11\" or python_version >= \"3.12\"" -files = [ - {file = "pickleshare-0.7.5-py2.py3-none-any.whl", hash = "sha256:9649af414d74d4df115d5d718f82acb59c9d418196b7b4290ed47a12ce62df56"}, - {file = "pickleshare-0.7.5.tar.gz", hash = "sha256:87683d47965c1da65cdacaf31c8441d12b8044cdec9aca500cd78fc2c683afca"}, -] - -[[package]] -name = "pillow" -version = "10.4.0" -description = "Python Imaging Library (Fork)" -optional = false -python-versions = ">=3.8" -groups = ["main", "docs"] -markers = "python_version <= \"3.11\" or python_version >= \"3.12\"" -files = [ - {file = "pillow-10.4.0-cp310-cp310-macosx_10_10_x86_64.whl", hash = "sha256:4d9667937cfa347525b319ae34375c37b9ee6b525440f3ef48542fcf66f2731e"}, - {file = "pillow-10.4.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:543f3dc61c18dafb755773efc89aae60d06b6596a63914107f75459cf984164d"}, - {file = "pillow-10.4.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:7928ecbf1ece13956b95d9cbcfc77137652b02763ba384d9ab508099a2eca856"}, - {file = "pillow-10.4.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:e4d49b85c4348ea0b31ea63bc75a9f3857869174e2bf17e7aba02945cd218e6f"}, - {file = "pillow-10.4.0-cp310-cp310-manylinux_2_28_aarch64.whl", hash = "sha256:6c762a5b0997f5659a5ef2266abc1d8851ad7749ad9a6a5506eb23d314e4f46b"}, - {file = "pillow-10.4.0-cp310-cp310-manylinux_2_28_x86_64.whl", hash = "sha256:a985e028fc183bf12a77a8bbf36318db4238a3ded7fa9df1b9a133f1cb79f8fc"}, - {file = "pillow-10.4.0-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:812f7342b0eee081eaec84d91423d1b4650bb9828eb53d8511bcef8ce5aecf1e"}, - {file = "pillow-10.4.0-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:ac1452d2fbe4978c2eec89fb5a23b8387aba707ac72810d9490118817d9c0b46"}, - {file = "pillow-10.4.0-cp310-cp310-win32.whl", hash = "sha256:bcd5e41a859bf2e84fdc42f4edb7d9aba0a13d29a2abadccafad99de3feff984"}, - {file = "pillow-10.4.0-cp310-cp310-win_amd64.whl", hash = "sha256:ecd85a8d3e79cd7158dec1c9e5808e821feea088e2f69a974db5edf84dc53141"}, - {file = "pillow-10.4.0-cp310-cp310-win_arm64.whl", hash = "sha256:ff337c552345e95702c5fde3158acb0625111017d0e5f24bf3acdb9cc16b90d1"}, - {file = "pillow-10.4.0-cp311-cp311-macosx_10_10_x86_64.whl", hash = "sha256:0a9ec697746f268507404647e531e92889890a087e03681a3606d9b920fbee3c"}, - {file = "pillow-10.4.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:dfe91cb65544a1321e631e696759491ae04a2ea11d36715eca01ce07284738be"}, - {file = "pillow-10.4.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:5dc6761a6efc781e6a1544206f22c80c3af4c8cf461206d46a1e6006e4429ff3"}, - {file = "pillow-10.4.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:5e84b6cc6a4a3d76c153a6b19270b3526a5a8ed6b09501d3af891daa2a9de7d6"}, - {file = "pillow-10.4.0-cp311-cp311-manylinux_2_28_aarch64.whl", hash = "sha256:bbc527b519bd3aa9d7f429d152fea69f9ad37c95f0b02aebddff592688998abe"}, - {file = "pillow-10.4.0-cp311-cp311-manylinux_2_28_x86_64.whl", hash = "sha256:76a911dfe51a36041f2e756b00f96ed84677cdeb75d25c767f296c1c1eda1319"}, - {file = "pillow-10.4.0-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:59291fb29317122398786c2d44427bbd1a6d7ff54017075b22be9d21aa59bd8d"}, - {file = "pillow-10.4.0-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:416d3a5d0e8cfe4f27f574362435bc9bae57f679a7158e0096ad2beb427b8696"}, - {file = "pillow-10.4.0-cp311-cp311-win32.whl", hash = "sha256:7086cc1d5eebb91ad24ded9f58bec6c688e9f0ed7eb3dbbf1e4800280a896496"}, - {file = "pillow-10.4.0-cp311-cp311-win_amd64.whl", hash = "sha256:cbed61494057c0f83b83eb3a310f0bf774b09513307c434d4366ed64f4128a91"}, - {file = "pillow-10.4.0-cp311-cp311-win_arm64.whl", hash = "sha256:f5f0c3e969c8f12dd2bb7e0b15d5c468b51e5017e01e2e867335c81903046a22"}, - {file = "pillow-10.4.0-cp312-cp312-macosx_10_10_x86_64.whl", hash = "sha256:673655af3eadf4df6b5457033f086e90299fdd7a47983a13827acf7459c15d94"}, - {file = "pillow-10.4.0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:866b6942a92f56300012f5fbac71f2d610312ee65e22f1aa2609e491284e5597"}, - {file = "pillow-10.4.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:29dbdc4207642ea6aad70fbde1a9338753d33fb23ed6956e706936706f52dd80"}, - {file = "pillow-10.4.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:bf2342ac639c4cf38799a44950bbc2dfcb685f052b9e262f446482afaf4bffca"}, - {file = "pillow-10.4.0-cp312-cp312-manylinux_2_28_aarch64.whl", hash = "sha256:f5b92f4d70791b4a67157321c4e8225d60b119c5cc9aee8ecf153aace4aad4ef"}, - {file = "pillow-10.4.0-cp312-cp312-manylinux_2_28_x86_64.whl", hash = "sha256:86dcb5a1eb778d8b25659d5e4341269e8590ad6b4e8b44d9f4b07f8d136c414a"}, - {file = "pillow-10.4.0-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:780c072c2e11c9b2c7ca37f9a2ee8ba66f44367ac3e5c7832afcfe5104fd6d1b"}, - {file = "pillow-10.4.0-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:37fb69d905be665f68f28a8bba3c6d3223c8efe1edf14cc4cfa06c241f8c81d9"}, - {file = "pillow-10.4.0-cp312-cp312-win32.whl", hash = "sha256:7dfecdbad5c301d7b5bde160150b4db4c659cee2b69589705b6f8a0c509d9f42"}, - {file = "pillow-10.4.0-cp312-cp312-win_amd64.whl", hash = "sha256:1d846aea995ad352d4bdcc847535bd56e0fd88d36829d2c90be880ef1ee4668a"}, - {file = "pillow-10.4.0-cp312-cp312-win_arm64.whl", hash = "sha256:e553cad5179a66ba15bb18b353a19020e73a7921296a7979c4a2b7f6a5cd57f9"}, - {file = "pillow-10.4.0-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:8bc1a764ed8c957a2e9cacf97c8b2b053b70307cf2996aafd70e91a082e70df3"}, - {file = "pillow-10.4.0-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:6209bb41dc692ddfee4942517c19ee81b86c864b626dbfca272ec0f7cff5d9fb"}, - {file = "pillow-10.4.0-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:bee197b30783295d2eb680b311af15a20a8b24024a19c3a26431ff83eb8d1f70"}, - {file = "pillow-10.4.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:1ef61f5dd14c300786318482456481463b9d6b91ebe5ef12f405afbba77ed0be"}, - {file = "pillow-10.4.0-cp313-cp313-manylinux_2_28_aarch64.whl", hash = "sha256:297e388da6e248c98bc4a02e018966af0c5f92dfacf5a5ca22fa01cb3179bca0"}, - {file = "pillow-10.4.0-cp313-cp313-manylinux_2_28_x86_64.whl", hash = "sha256:e4db64794ccdf6cb83a59d73405f63adbe2a1887012e308828596100a0b2f6cc"}, - {file = "pillow-10.4.0-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:bd2880a07482090a3bcb01f4265f1936a903d70bc740bfcb1fd4e8a2ffe5cf5a"}, - {file = "pillow-10.4.0-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:4b35b21b819ac1dbd1233317adeecd63495f6babf21b7b2512d244ff6c6ce309"}, - {file = "pillow-10.4.0-cp313-cp313-win32.whl", hash = "sha256:551d3fd6e9dc15e4c1eb6fc4ba2b39c0c7933fa113b220057a34f4bb3268a060"}, - {file = "pillow-10.4.0-cp313-cp313-win_amd64.whl", hash = "sha256:030abdbe43ee02e0de642aee345efa443740aa4d828bfe8e2eb11922ea6a21ea"}, - {file = "pillow-10.4.0-cp313-cp313-win_arm64.whl", hash = "sha256:5b001114dd152cfd6b23befeb28d7aee43553e2402c9f159807bf55f33af8a8d"}, - {file = "pillow-10.4.0-cp38-cp38-macosx_10_10_x86_64.whl", hash = "sha256:8d4d5063501b6dd4024b8ac2f04962d661222d120381272deea52e3fc52d3736"}, - {file = "pillow-10.4.0-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:7c1ee6f42250df403c5f103cbd2768a28fe1a0ea1f0f03fe151c8741e1469c8b"}, - {file = "pillow-10.4.0-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:b15e02e9bb4c21e39876698abf233c8c579127986f8207200bc8a8f6bb27acf2"}, - {file = "pillow-10.4.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:7a8d4bade9952ea9a77d0c3e49cbd8b2890a399422258a77f357b9cc9be8d680"}, - {file = "pillow-10.4.0-cp38-cp38-manylinux_2_28_aarch64.whl", hash = "sha256:43efea75eb06b95d1631cb784aa40156177bf9dd5b4b03ff38979e048258bc6b"}, - {file = "pillow-10.4.0-cp38-cp38-manylinux_2_28_x86_64.whl", hash = "sha256:950be4d8ba92aca4b2bb0741285a46bfae3ca699ef913ec8416c1b78eadd64cd"}, - {file = "pillow-10.4.0-cp38-cp38-musllinux_1_2_aarch64.whl", hash = "sha256:d7480af14364494365e89d6fddc510a13e5a2c3584cb19ef65415ca57252fb84"}, - {file = "pillow-10.4.0-cp38-cp38-musllinux_1_2_x86_64.whl", hash = "sha256:73664fe514b34c8f02452ffb73b7a92c6774e39a647087f83d67f010eb9a0cf0"}, - {file = "pillow-10.4.0-cp38-cp38-win32.whl", hash = "sha256:e88d5e6ad0d026fba7bdab8c3f225a69f063f116462c49892b0149e21b6c0a0e"}, - {file = "pillow-10.4.0-cp38-cp38-win_amd64.whl", hash = "sha256:5161eef006d335e46895297f642341111945e2c1c899eb406882a6c61a4357ab"}, - {file = "pillow-10.4.0-cp39-cp39-macosx_10_10_x86_64.whl", hash = "sha256:0ae24a547e8b711ccaaf99c9ae3cd975470e1a30caa80a6aaee9a2f19c05701d"}, - {file = "pillow-10.4.0-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:298478fe4f77a4408895605f3482b6cc6222c018b2ce565c2b6b9c354ac3229b"}, - {file = "pillow-10.4.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:134ace6dc392116566980ee7436477d844520a26a4b1bd4053f6f47d096997fd"}, - {file = "pillow-10.4.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:930044bb7679ab003b14023138b50181899da3f25de50e9dbee23b61b4de2126"}, - {file = "pillow-10.4.0-cp39-cp39-manylinux_2_28_aarch64.whl", hash = "sha256:c76e5786951e72ed3686e122d14c5d7012f16c8303a674d18cdcd6d89557fc5b"}, - {file = "pillow-10.4.0-cp39-cp39-manylinux_2_28_x86_64.whl", hash = "sha256:b2724fdb354a868ddf9a880cb84d102da914e99119211ef7ecbdc613b8c96b3c"}, - {file = "pillow-10.4.0-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:dbc6ae66518ab3c5847659e9988c3b60dc94ffb48ef9168656e0019a93dbf8a1"}, - {file = "pillow-10.4.0-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:06b2f7898047ae93fad74467ec3d28fe84f7831370e3c258afa533f81ef7f3df"}, - {file = "pillow-10.4.0-cp39-cp39-win32.whl", hash = "sha256:7970285ab628a3779aecc35823296a7869f889b8329c16ad5a71e4901a3dc4ef"}, - {file = "pillow-10.4.0-cp39-cp39-win_amd64.whl", hash = "sha256:961a7293b2457b405967af9c77dcaa43cc1a8cd50d23c532e62d48ab6cdd56f5"}, - {file = "pillow-10.4.0-cp39-cp39-win_arm64.whl", hash = "sha256:32cda9e3d601a52baccb2856b8ea1fc213c90b340c542dcef77140dfa3278a9e"}, - {file = "pillow-10.4.0-pp310-pypy310_pp73-macosx_10_15_x86_64.whl", hash = "sha256:5b4815f2e65b30f5fbae9dfffa8636d992d49705723fe86a3661806e069352d4"}, - {file = "pillow-10.4.0-pp310-pypy310_pp73-macosx_11_0_arm64.whl", hash = "sha256:8f0aef4ef59694b12cadee839e2ba6afeab89c0f39a3adc02ed51d109117b8da"}, - {file = "pillow-10.4.0-pp310-pypy310_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:9f4727572e2918acaa9077c919cbbeb73bd2b3ebcfe033b72f858fc9fbef0026"}, - {file = "pillow-10.4.0-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ff25afb18123cea58a591ea0244b92eb1e61a1fd497bf6d6384f09bc3262ec3e"}, - {file = "pillow-10.4.0-pp310-pypy310_pp73-manylinux_2_28_aarch64.whl", hash = "sha256:dc3e2db6ba09ffd7d02ae9141cfa0ae23393ee7687248d46a7507b75d610f4f5"}, - {file = "pillow-10.4.0-pp310-pypy310_pp73-manylinux_2_28_x86_64.whl", hash = "sha256:02a2be69f9c9b8c1e97cf2713e789d4e398c751ecfd9967c18d0ce304efbf885"}, - {file = "pillow-10.4.0-pp310-pypy310_pp73-win_amd64.whl", hash = "sha256:0755ffd4a0c6f267cccbae2e9903d95477ca2f77c4fcf3a3a09570001856c8a5"}, - {file = "pillow-10.4.0-pp39-pypy39_pp73-macosx_10_15_x86_64.whl", hash = "sha256:a02364621fe369e06200d4a16558e056fe2805d3468350df3aef21e00d26214b"}, - {file = "pillow-10.4.0-pp39-pypy39_pp73-macosx_11_0_arm64.whl", hash = "sha256:1b5dea9831a90e9d0721ec417a80d4cbd7022093ac38a568db2dd78363b00908"}, - {file = "pillow-10.4.0-pp39-pypy39_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:9b885f89040bb8c4a1573566bbb2f44f5c505ef6e74cec7ab9068c900047f04b"}, - {file = "pillow-10.4.0-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:87dd88ded2e6d74d31e1e0a99a726a6765cda32d00ba72dc37f0651f306daaa8"}, - {file = "pillow-10.4.0-pp39-pypy39_pp73-manylinux_2_28_aarch64.whl", hash = "sha256:2db98790afc70118bd0255c2eeb465e9767ecf1f3c25f9a1abb8ffc8cfd1fe0a"}, - {file = "pillow-10.4.0-pp39-pypy39_pp73-manylinux_2_28_x86_64.whl", hash = "sha256:f7baece4ce06bade126fb84b8af1c33439a76d8a6fd818970215e0560ca28c27"}, - {file = "pillow-10.4.0-pp39-pypy39_pp73-win_amd64.whl", hash = "sha256:cfdd747216947628af7b259d274771d84db2268ca062dd5faf373639d00113a3"}, - {file = "pillow-10.4.0.tar.gz", hash = "sha256:166c1cd4d24309b30d61f79f4a9114b7b2313d7450912277855ff5dfd7cd4a06"}, -] - -[package.extras] -docs = ["furo", "olefile", "sphinx (>=7.3)", "sphinx-copybutton", "sphinx-inline-tabs", "sphinxext-opengraph"] -fpx = ["olefile"] -mic = ["olefile"] -tests = ["check-manifest", "coverage", "defusedxml", "markdown2", "olefile", "packaging", "pyroma", "pytest", "pytest-cov", "pytest-timeout"] -typing = ["typing-extensions"] -xmp = ["defusedxml"] - -[[package]] -name = "pkginfo" -version = "1.12.0" -description = "Query metadata from sdists / bdists / installed packages." -optional = false -python-versions = ">=3.8" -groups = ["build"] -markers = "python_version <= \"3.11\" or python_version >= \"3.12\"" -files = [ - {file = "pkginfo-1.12.0-py3-none-any.whl", hash = "sha256:dcd589c9be4da8973eceffa247733c144812759aa67eaf4bbf97016a02f39088"}, - {file = "pkginfo-1.12.0.tar.gz", hash = "sha256:8ad91a0445a036782b9366ef8b8c2c50291f83a553478ba8580c73d3215700cf"}, -] - -[package.extras] -testing = ["pytest", "pytest-cov", "wheel"] - -[[package]] -name = "pkgutil-resolve-name" -version = "1.3.10" -description = "Resolve a name to an object." -optional = false -python-versions = ">=3.6" -groups = ["dev", "docs"] -markers = "python_version < \"3.9\"" -files = [ - {file = "pkgutil_resolve_name-1.3.10-py3-none-any.whl", hash = "sha256:ca27cc078d25c5ad71a9de0a7a330146c4e014c2462d9af19c6b828280649c5e"}, - {file = "pkgutil_resolve_name-1.3.10.tar.gz", hash = "sha256:357d6c9e6a755653cfd78893817c0853af365dd51ec97f3d358a819373bbd174"}, -] - -[[package]] -name = "platformdirs" -version = "4.3.6" -description = "A small Python package for determining appropriate platform-specific dirs, e.g. a `user data dir`." -optional = false -python-versions = ">=3.8" -groups = ["dev", "docs"] -markers = "python_version <= \"3.11\" or python_version >= \"3.12\"" -files = [ - {file = "platformdirs-4.3.6-py3-none-any.whl", hash = "sha256:73e575e1408ab8103900836b97580d5307456908a03e92031bab39e4554cc3fb"}, - {file = "platformdirs-4.3.6.tar.gz", hash = "sha256:357fb2acbc885b0419afd3ce3ed34564c13c9b95c89360cd9563f73aa5e2b907"}, -] - -[package.extras] -docs = ["furo (>=2024.8.6)", "proselint (>=0.14)", "sphinx (>=8.0.2)", "sphinx-autodoc-typehints (>=2.4)"] -test = ["appdirs (==1.4.4)", "covdefaults (>=2.3)", "pytest (>=8.3.2)", "pytest-cov (>=5)", "pytest-mock (>=3.14)"] -type = ["mypy (>=1.11.2)"] - -[[package]] -name = "pluggy" -version = "1.5.0" -description = "plugin and hook calling mechanisms for python" -optional = false -python-versions = ">=3.8" -groups = ["dev"] -markers = "python_version <= \"3.11\" or python_version >= \"3.12\"" -files = [ - {file = "pluggy-1.5.0-py3-none-any.whl", hash = "sha256:44e1ad92c8ca002de6377e165f3e0f1be63266ab4d554740532335b9d75ea669"}, - {file = "pluggy-1.5.0.tar.gz", hash = "sha256:2cffa88e94fdc978c4c574f15f9e59b7f4201d439195c3715ca9e2486f1d0cf1"}, -] - -[package.extras] -dev = ["pre-commit", "tox"] -testing = ["pytest", "pytest-benchmark"] - -[[package]] -name = "prometheus-client" -version = "0.21.1" -description = "Python client for the Prometheus monitoring system." -optional = false -python-versions = ">=3.8" -groups = ["dev"] -markers = "python_version <= \"3.11\" or python_version >= \"3.12\"" -files = [ - {file = "prometheus_client-0.21.1-py3-none-any.whl", hash = "sha256:594b45c410d6f4f8888940fe80b5cc2521b305a1fafe1c58609ef715a001f301"}, - {file = "prometheus_client-0.21.1.tar.gz", hash = "sha256:252505a722ac04b0456be05c05f75f45d760c2911ffc45f2a06bcaed9f3ae3fb"}, -] - -[package.extras] -twisted = ["twisted"] - -[[package]] -name = "prompt-toolkit" -version = "3.0.48" -description = "Library for building powerful interactive command lines in Python" -optional = false -python-versions = ">=3.7.0" -groups = ["dev", "docs"] -markers = "python_version <= \"3.11\" or python_version >= \"3.12\"" -files = [ - {file = "prompt_toolkit-3.0.48-py3-none-any.whl", hash = "sha256:f49a827f90062e411f1ce1f854f2aedb3c23353244f8108b89283587397ac10e"}, - {file = "prompt_toolkit-3.0.48.tar.gz", hash = "sha256:d6623ab0477a80df74e646bdbc93621143f5caf104206aa29294d53de1a03d90"}, -] - -[package.dependencies] -wcwidth = "*" - -[[package]] -name = "psutil" -version = "6.1.1" -description = "Cross-platform lib for process and system monitoring in Python." -optional = false -python-versions = "!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*,!=3.4.*,!=3.5.*,>=2.7" -groups = ["dev", "docs"] -markers = "python_version <= \"3.11\" or python_version >= \"3.12\"" -files = [ - {file = "psutil-6.1.1-cp27-cp27m-macosx_10_9_x86_64.whl", hash = "sha256:9ccc4316f24409159897799b83004cb1e24f9819b0dcf9c0b68bdcb6cefee6a8"}, - {file = "psutil-6.1.1-cp27-cp27m-manylinux2010_i686.whl", hash = "sha256:ca9609c77ea3b8481ab005da74ed894035936223422dc591d6772b147421f777"}, - {file = "psutil-6.1.1-cp27-cp27m-manylinux2010_x86_64.whl", hash = "sha256:8df0178ba8a9e5bc84fed9cfa61d54601b371fbec5c8eebad27575f1e105c0d4"}, - {file = "psutil-6.1.1-cp27-cp27mu-manylinux2010_i686.whl", hash = "sha256:1924e659d6c19c647e763e78670a05dbb7feaf44a0e9c94bf9e14dfc6ba50468"}, - {file = "psutil-6.1.1-cp27-cp27mu-manylinux2010_x86_64.whl", hash = "sha256:018aeae2af92d943fdf1da6b58665124897cfc94faa2ca92098838f83e1b1bca"}, - {file = "psutil-6.1.1-cp27-none-win32.whl", hash = "sha256:6d4281f5bbca041e2292be3380ec56a9413b790579b8e593b1784499d0005dac"}, - {file = "psutil-6.1.1-cp27-none-win_amd64.whl", hash = "sha256:c777eb75bb33c47377c9af68f30e9f11bc78e0f07fbf907be4a5d70b2fe5f030"}, - {file = "psutil-6.1.1-cp36-abi3-macosx_10_9_x86_64.whl", hash = "sha256:fc0ed7fe2231a444fc219b9c42d0376e0a9a1a72f16c5cfa0f68d19f1a0663e8"}, - {file = "psutil-6.1.1-cp36-abi3-macosx_11_0_arm64.whl", hash = "sha256:0bdd4eab935276290ad3cb718e9809412895ca6b5b334f5a9111ee6d9aff9377"}, - {file = "psutil-6.1.1-cp36-abi3-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:b6e06c20c05fe95a3d7302d74e7097756d4ba1247975ad6905441ae1b5b66003"}, - {file = "psutil-6.1.1-cp36-abi3-manylinux_2_12_x86_64.manylinux2010_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:97f7cb9921fbec4904f522d972f0c0e1f4fabbdd4e0287813b21215074a0f160"}, - {file = "psutil-6.1.1-cp36-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:33431e84fee02bc84ea36d9e2c4a6d395d479c9dd9bba2376c1f6ee8f3a4e0b3"}, - {file = "psutil-6.1.1-cp36-cp36m-win32.whl", hash = "sha256:384636b1a64b47814437d1173be1427a7c83681b17a450bfc309a1953e329603"}, - {file = "psutil-6.1.1-cp36-cp36m-win_amd64.whl", hash = "sha256:8be07491f6ebe1a693f17d4f11e69d0dc1811fa082736500f649f79df7735303"}, - {file = "psutil-6.1.1-cp37-abi3-win32.whl", hash = "sha256:eaa912e0b11848c4d9279a93d7e2783df352b082f40111e078388701fd479e53"}, - {file = "psutil-6.1.1-cp37-abi3-win_amd64.whl", hash = "sha256:f35cfccb065fff93529d2afb4a2e89e363fe63ca1e4a5da22b603a85833c2649"}, - {file = "psutil-6.1.1.tar.gz", hash = "sha256:cf8496728c18f2d0b45198f06895be52f36611711746b7f30c464b422b50e2f5"}, -] - -[package.extras] -dev = ["abi3audit", "black", "check-manifest", "coverage", "packaging", "pylint", "pyperf", "pypinfo", "pytest-cov", "requests", "rstcheck", "ruff", "sphinx", "sphinx_rtd_theme", "toml-sort", "twine", "virtualenv", "vulture", "wheel"] -test = ["pytest", "pytest-xdist", "setuptools"] - -[[package]] -name = "ptyprocess" -version = "0.7.0" -description = "Run a subprocess in a pseudo terminal" -optional = false -python-versions = "*" -groups = ["dev", "docs"] -files = [ - {file = "ptyprocess-0.7.0-py2.py3-none-any.whl", hash = "sha256:4b41f3967fce3af57cc7e94b888626c18bf37a083e3651ca8feeb66d492fef35"}, - {file = "ptyprocess-0.7.0.tar.gz", hash = "sha256:5c5d0a3b48ceee0b48485e0c26037c0acd7d29765ca3fbb5cb3831d347423220"}, -] -markers = {dev = "(python_version <= \"3.11\" or python_version >= \"3.12\") and (os_name != \"nt\" or sys_platform != \"win32\")", docs = "(python_version <= \"3.11\" or python_version >= \"3.12\") and sys_platform != \"win32\""} - -[[package]] -name = "pure-eval" -version = "0.2.3" -description = "Safely evaluate AST nodes without side effects" -optional = false -python-versions = "*" -groups = ["dev", "docs"] -markers = "python_version <= \"3.11\" or python_version >= \"3.12\"" -files = [ - {file = "pure_eval-0.2.3-py3-none-any.whl", hash = "sha256:1db8e35b67b3d218d818ae653e27f06c3aa420901fa7b081ca98cbedc874e0d0"}, - {file = "pure_eval-0.2.3.tar.gz", hash = "sha256:5f4e983f40564c576c7c8635ae88db5956bb2229d7e9237d03b3c0b0190eaf42"}, -] - -[package.extras] -tests = ["pytest"] - -[[package]] -name = "pycparser" -version = "2.22" -description = "C parser in Python" -optional = false -python-versions = ">=3.8" -groups = ["build", "dev", "docs"] -files = [ - {file = "pycparser-2.22-py3-none-any.whl", hash = "sha256:c3702b6d3dd8c7abc1afa565d7e63d53a1d0bd86cdc24edd75470f4de499cfcc"}, - {file = "pycparser-2.22.tar.gz", hash = "sha256:491c8be9c040f5390f5bf44a5b07752bd07f56edf992381b05c701439eec10f6"}, -] -markers = {build = "sys_platform == \"linux\" and (platform_machine != \"ppc64le\" and platform_machine != \"s390x\" or python_version <= \"3.11\") and platform_python_implementation != \"PyPy\" and (python_version <= \"3.11\" or python_version >= \"3.12\") and (platform_machine == \"arm64\" or platform_machine == \"aarch64\" or platform_machine != \"ppc64le\" and platform_machine != \"s390x\") and (platform_machine == \"arm64\" or platform_machine == \"aarch64\" or platform_system != \"Linux\" or platform_machine != \"ppc64le\" and platform_machine != \"s390x\" and platform_machine != \"aarch64\" or python_version >= \"3.9\") and (platform_machine == \"arm64\" or platform_machine == \"aarch64\" or platform_system != \"Darwin\" or platform_machine != \"ppc64le\" and platform_machine != \"s390x\" and platform_machine != \"arm64\" or python_version >= \"3.9\")", dev = "python_version <= \"3.11\" or python_version >= \"3.12\"", docs = "python_version <= \"3.11\" or python_version >= \"3.12\""} - -[[package]] -name = "pygments" -version = "2.19.1" -description = "Pygments is a syntax highlighting package written in Python." -optional = false -python-versions = ">=3.8" -groups = ["build", "dev", "docs"] -markers = "python_version <= \"3.11\" or python_version >= \"3.12\"" -files = [ - {file = "pygments-2.19.1-py3-none-any.whl", hash = "sha256:9ea1544ad55cecf4b8242fab6dd35a93bbce657034b0611ee383099054ab6d8c"}, - {file = "pygments-2.19.1.tar.gz", hash = "sha256:61c16d2a8576dc0649d9f39e089b5f02bcd27fba10d8fb4dcc28173f7a45151f"}, -] - -[package.extras] -windows-terminal = ["colorama (>=0.4.6)"] - -[[package]] -name = "pymdown-extensions" -version = "10.13" -description = "Extension pack for Python Markdown." -optional = false -python-versions = ">=3.8" -groups = ["docs"] -markers = "python_version <= \"3.11\" or python_version >= \"3.12\"" -files = [ - {file = "pymdown_extensions-10.13-py3-none-any.whl", hash = "sha256:80bc33d715eec68e683e04298946d47d78c7739e79d808203df278ee8ef89428"}, - {file = "pymdown_extensions-10.13.tar.gz", hash = "sha256:e0b351494dc0d8d14a1f52b39b1499a00ef1566b4ba23dc74f1eba75c736f5dd"}, -] - -[package.dependencies] -markdown = ">=3.6" -pyyaml = "*" - -[package.extras] -extra = ["pygments (>=2.12)"] - -[[package]] -name = "pyparsing" -version = "3.0.9" -description = "pyparsing module - Classes and methods to define and execute parsing grammars" -optional = false -python-versions = ">=3.6.8" -groups = ["main", "docs"] -markers = "python_version >= \"3.13\"" -files = [ - {file = "pyparsing-3.0.9-py3-none-any.whl", hash = "sha256:5026bae9a10eeaefb61dab2f09052b9f4307d44aee4eda64b309723d8d206bbc"}, - {file = "pyparsing-3.0.9.tar.gz", hash = "sha256:2b020ecf7d21b687f219b71ecad3631f644a47f01403fa1d1036b0c6416d70fb"}, -] - -[package.extras] -diagrams = ["jinja2", "railroad-diagrams"] - -[[package]] -name = "pyparsing" -version = "3.1.4" -description = "pyparsing module - Classes and methods to define and execute parsing grammars" -optional = false -python-versions = ">=3.6.8" -groups = ["main", "docs"] -markers = "python_version <= \"3.11\" or python_version >= \"3.12\" and python_version < \"3.13\"" -files = [ - {file = "pyparsing-3.1.4-py3-none-any.whl", hash = "sha256:a6a7ee4235a3f944aa1fa2249307708f893fe5717dc603503c6c7969c070fb7c"}, - {file = "pyparsing-3.1.4.tar.gz", hash = "sha256:f86ec8d1a83f11977c9a6ea7598e8c27fc5cddfa5b07ea2241edbbde1d7bc032"}, -] - -[package.extras] -diagrams = ["jinja2", "railroad-diagrams"] - -[[package]] -name = "pyproject-api" -version = "1.8.0" -description = "API to interact with the python pyproject.toml based projects" -optional = false -python-versions = ">=3.8" -groups = ["dev"] -markers = "python_version <= \"3.11\" or python_version >= \"3.12\"" -files = [ - {file = "pyproject_api-1.8.0-py3-none-any.whl", hash = "sha256:3d7d347a047afe796fd5d1885b1e391ba29be7169bd2f102fcd378f04273d228"}, - {file = "pyproject_api-1.8.0.tar.gz", hash = "sha256:77b8049f2feb5d33eefcc21b57f1e279636277a8ac8ad6b5871037b243778496"}, -] - -[package.dependencies] -packaging = ">=24.1" -tomli = {version = ">=2.0.1", markers = "python_version < \"3.11\""} - -[package.extras] -docs = ["furo (>=2024.8.6)", "sphinx-autodoc-typehints (>=2.4.1)"] -testing = ["covdefaults (>=2.3)", "pytest (>=8.3.3)", "pytest-cov (>=5)", "pytest-mock (>=3.14)", "setuptools (>=75.1)"] - -[[package]] -name = "pyproject-hooks" -version = "1.2.0" -description = "Wrappers to call pyproject.toml-based build backend hooks." -optional = false -python-versions = ">=3.7" -groups = ["build"] -markers = "python_version <= \"3.11\" or python_version >= \"3.12\"" -files = [ - {file = "pyproject_hooks-1.2.0-py3-none-any.whl", hash = "sha256:9e5c6bfa8dcc30091c74b0cf803c81fdd29d94f01992a7707bc97babb1141913"}, - {file = "pyproject_hooks-1.2.0.tar.gz", hash = "sha256:1e859bd5c40fae9448642dd871adf459e5e2084186e8d2c2a79a824c970da1f8"}, -] - -[[package]] -name = "pytest" -version = "8.3.4" -description = "pytest: simple powerful testing with Python" -optional = false -python-versions = ">=3.8" -groups = ["dev"] -markers = "python_version <= \"3.11\" or python_version >= \"3.12\"" -files = [ - {file = "pytest-8.3.4-py3-none-any.whl", hash = "sha256:50e16d954148559c9a74109af1eaf0c945ba2d8f30f0a3d3335edde19788b6f6"}, - {file = "pytest-8.3.4.tar.gz", hash = "sha256:965370d062bce11e73868e0335abac31b4d3de0e82f4007408d242b4f8610761"}, -] - -[package.dependencies] -colorama = {version = "*", markers = "sys_platform == \"win32\""} -exceptiongroup = {version = ">=1.0.0rc8", markers = "python_version < \"3.11\""} -iniconfig = "*" -packaging = "*" -pluggy = ">=1.5,<2" -tomli = {version = ">=1", markers = "python_version < \"3.11\""} - -[package.extras] -dev = ["argcomplete", "attrs (>=19.2)", "hypothesis (>=3.56)", "mock", "pygments (>=2.7.2)", "requests", "setuptools", "xmlschema"] - -[[package]] -name = "python-dateutil" -version = "2.9.0.post0" -description = "Extensions to the standard Python datetime module" -optional = false -python-versions = "!=3.0.*,!=3.1.*,!=3.2.*,>=2.7" -groups = ["main", "dev", "docs"] -markers = "python_version <= \"3.11\" or python_version >= \"3.12\"" -files = [ - {file = "python-dateutil-2.9.0.post0.tar.gz", hash = "sha256:37dd54208da7e1cd875388217d5e00ebd4179249f90fb72437e91a35459a0ad3"}, - {file = "python_dateutil-2.9.0.post0-py2.py3-none-any.whl", hash = "sha256:a8b2bc7bffae282281c8140a97d3aa9c14da0b136dfe83f850eea9a5f7470427"}, -] - -[package.dependencies] -six = ">=1.5" - -[[package]] -name = "python-json-logger" -version = "3.2.1" -description = "JSON Log Formatter for the Python Logging Package" -optional = false -python-versions = ">=3.8" -groups = ["dev"] -markers = "python_version <= \"3.11\" or python_version >= \"3.12\"" -files = [ - {file = "python_json_logger-3.2.1-py3-none-any.whl", hash = "sha256:cdc17047eb5374bd311e748b42f99d71223f3b0e186f4206cc5d52aefe85b090"}, - {file = "python_json_logger-3.2.1.tar.gz", hash = "sha256:8eb0554ea17cb75b05d2848bc14fb02fbdbd9d6972120781b974380bfa162008"}, -] - -[package.dependencies] -typing_extensions = {version = "*", markers = "python_version < \"3.10\""} - -[package.extras] -dev = ["backports.zoneinfo", "black", "build", "freezegun", "mdx_truly_sane_lists", "mike", "mkdocs", "mkdocs-awesome-pages-plugin", "mkdocs-gen-files", "mkdocs-literate-nav", "mkdocs-material (>=8.5)", "mkdocstrings[python]", "msgspec", "msgspec-python313-pre", "mypy", "orjson", "pylint", "pytest", "tzdata", "validate-pyproject[all]"] - -[[package]] -name = "pytz" -version = "2024.2" -description = "World timezone definitions, modern and historical" -optional = false -python-versions = "*" -groups = ["main", "dev", "docs"] -files = [ - {file = "pytz-2024.2-py2.py3-none-any.whl", hash = "sha256:31c7c1817eb7fae7ca4b8c7ee50c72f93aa2dd863de768e1ef4245d426aa0725"}, - {file = "pytz-2024.2.tar.gz", hash = "sha256:2aa355083c50a0f93fa581709deac0c9ad65cca8a9e9beac660adcbd493c798a"}, -] -markers = {main = "(python_version <= \"3.11\" or python_version >= \"3.12\") and extra == \"metrics\"", dev = "python_version < \"3.9\"", docs = "python_version <= \"3.11\" or python_version >= \"3.12\""} - -[[package]] -name = "pywin32" -version = "308" -description = "Python for Window Extensions" -optional = false -python-versions = "*" -groups = ["dev", "docs"] -markers = "(python_version <= \"3.11\" or python_version >= \"3.12\") and platform_python_implementation != \"PyPy\" and sys_platform == \"win32\"" -files = [ - {file = "pywin32-308-cp310-cp310-win32.whl", hash = "sha256:796ff4426437896550d2981b9c2ac0ffd75238ad9ea2d3bfa67a1abd546d262e"}, - {file = "pywin32-308-cp310-cp310-win_amd64.whl", hash = "sha256:4fc888c59b3c0bef905ce7eb7e2106a07712015ea1c8234b703a088d46110e8e"}, - {file = "pywin32-308-cp310-cp310-win_arm64.whl", hash = "sha256:a5ab5381813b40f264fa3495b98af850098f814a25a63589a8e9eb12560f450c"}, - {file = "pywin32-308-cp311-cp311-win32.whl", hash = "sha256:5d8c8015b24a7d6855b1550d8e660d8daa09983c80e5daf89a273e5c6fb5095a"}, - {file = "pywin32-308-cp311-cp311-win_amd64.whl", hash = "sha256:575621b90f0dc2695fec346b2d6302faebd4f0f45c05ea29404cefe35d89442b"}, - {file = "pywin32-308-cp311-cp311-win_arm64.whl", hash = "sha256:100a5442b7332070983c4cd03f2e906a5648a5104b8a7f50175f7906efd16bb6"}, - {file = "pywin32-308-cp312-cp312-win32.whl", hash = "sha256:587f3e19696f4bf96fde9d8a57cec74a57021ad5f204c9e627e15c33ff568897"}, - {file = "pywin32-308-cp312-cp312-win_amd64.whl", hash = "sha256:00b3e11ef09ede56c6a43c71f2d31857cf7c54b0ab6e78ac659497abd2834f47"}, - {file = "pywin32-308-cp312-cp312-win_arm64.whl", hash = "sha256:9b4de86c8d909aed15b7011182c8cab38c8850de36e6afb1f0db22b8959e3091"}, - {file = "pywin32-308-cp313-cp313-win32.whl", hash = "sha256:1c44539a37a5b7b21d02ab34e6a4d314e0788f1690d65b48e9b0b89f31abbbed"}, - {file = "pywin32-308-cp313-cp313-win_amd64.whl", hash = "sha256:fd380990e792eaf6827fcb7e187b2b4b1cede0585e3d0c9e84201ec27b9905e4"}, - {file = "pywin32-308-cp313-cp313-win_arm64.whl", hash = "sha256:ef313c46d4c18dfb82a2431e3051ac8f112ccee1a34f29c263c583c568db63cd"}, - {file = "pywin32-308-cp37-cp37m-win32.whl", hash = "sha256:1f696ab352a2ddd63bd07430080dd598e6369152ea13a25ebcdd2f503a38f1ff"}, - {file = "pywin32-308-cp37-cp37m-win_amd64.whl", hash = "sha256:13dcb914ed4347019fbec6697a01a0aec61019c1046c2b905410d197856326a6"}, - {file = "pywin32-308-cp38-cp38-win32.whl", hash = "sha256:5794e764ebcabf4ff08c555b31bd348c9025929371763b2183172ff4708152f0"}, - {file = "pywin32-308-cp38-cp38-win_amd64.whl", hash = "sha256:3b92622e29d651c6b783e368ba7d6722b1634b8e70bd376fd7610fe1992e19de"}, - {file = "pywin32-308-cp39-cp39-win32.whl", hash = "sha256:7873ca4dc60ab3287919881a7d4f88baee4a6e639aa6962de25a98ba6b193341"}, - {file = "pywin32-308-cp39-cp39-win_amd64.whl", hash = "sha256:71b3322d949b4cc20776436a9c9ba0eeedcbc9c650daa536df63f0ff111bb920"}, -] - -[[package]] -name = "pywin32-ctypes" -version = "0.2.3" -description = "A (partial) reimplementation of pywin32 using ctypes/cffi" -optional = false -python-versions = ">=3.6" -groups = ["build"] -markers = "sys_platform == \"win32\" and (platform_machine != \"ppc64le\" and platform_machine != \"s390x\" or python_version <= \"3.11\") and (python_version <= \"3.11\" or python_version >= \"3.12\") and (platform_machine == \"arm64\" or platform_machine == \"aarch64\" or platform_machine != \"ppc64le\" and platform_machine != \"s390x\") and (platform_machine == \"arm64\" or platform_machine == \"aarch64\" or platform_system != \"Linux\" or platform_machine != \"ppc64le\" and platform_machine != \"s390x\" and platform_machine != \"aarch64\" or python_version >= \"3.9\") and (platform_machine == \"arm64\" or platform_machine == \"aarch64\" or platform_system != \"Darwin\" or platform_machine != \"ppc64le\" and platform_machine != \"s390x\" and platform_machine != \"arm64\" or python_version >= \"3.9\")" -files = [ - {file = "pywin32-ctypes-0.2.3.tar.gz", hash = "sha256:d162dc04946d704503b2edc4d55f3dba5c1d539ead017afa00142c38b9885755"}, - {file = "pywin32_ctypes-0.2.3-py3-none-any.whl", hash = "sha256:8a1513379d709975552d202d942d9837758905c8d01eb82b8bcc30918929e7b8"}, -] - -[[package]] -name = "pywinpty" -version = "2.0.14" -description = "Pseudo terminal support for Windows from Python." -optional = false -python-versions = ">=3.8" -groups = ["dev"] -markers = "(python_version <= \"3.11\" or python_version >= \"3.12\") and os_name == \"nt\"" -files = [ - {file = "pywinpty-2.0.14-cp310-none-win_amd64.whl", hash = "sha256:0b149c2918c7974f575ba79f5a4aad58bd859a52fa9eb1296cc22aa412aa411f"}, - {file = "pywinpty-2.0.14-cp311-none-win_amd64.whl", hash = "sha256:cf2a43ac7065b3e0dc8510f8c1f13a75fb8fde805efa3b8cff7599a1ef497bc7"}, - {file = "pywinpty-2.0.14-cp312-none-win_amd64.whl", hash = "sha256:55dad362ef3e9408ade68fd173e4f9032b3ce08f68cfe7eacb2c263ea1179737"}, - {file = "pywinpty-2.0.14-cp313-none-win_amd64.whl", hash = "sha256:074fb988a56ec79ca90ed03a896d40707131897cefb8f76f926e3834227f2819"}, - {file = "pywinpty-2.0.14-cp39-none-win_amd64.whl", hash = "sha256:5725fd56f73c0531ec218663bd8c8ff5acc43c78962fab28564871b5fce053fd"}, - {file = "pywinpty-2.0.14.tar.gz", hash = "sha256:18bd9529e4a5daf2d9719aa17788ba6013e594ae94c5a0c27e83df3278b0660e"}, -] - -[[package]] -name = "pyyaml" -version = "6.0.2" -description = "YAML parser and emitter for Python" -optional = false -python-versions = ">=3.8" -groups = ["main", "dev", "docs"] -markers = "python_version <= \"3.11\" or python_version >= \"3.12\"" -files = [ - {file = "PyYAML-6.0.2-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:0a9a2848a5b7feac301353437eb7d5957887edbf81d56e903999a75a3d743086"}, - {file = "PyYAML-6.0.2-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:29717114e51c84ddfba879543fb232a6ed60086602313ca38cce623c1d62cfbf"}, - {file = "PyYAML-6.0.2-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:8824b5a04a04a047e72eea5cec3bc266db09e35de6bdfe34c9436ac5ee27d237"}, - {file = "PyYAML-6.0.2-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:7c36280e6fb8385e520936c3cb3b8042851904eba0e58d277dca80a5cfed590b"}, - {file = "PyYAML-6.0.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ec031d5d2feb36d1d1a24380e4db6d43695f3748343d99434e6f5f9156aaa2ed"}, - {file = "PyYAML-6.0.2-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:936d68689298c36b53b29f23c6dbb74de12b4ac12ca6cfe0e047bedceea56180"}, - {file = "PyYAML-6.0.2-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:23502f431948090f597378482b4812b0caae32c22213aecf3b55325e049a6c68"}, - {file = "PyYAML-6.0.2-cp310-cp310-win32.whl", hash = "sha256:2e99c6826ffa974fe6e27cdb5ed0021786b03fc98e5ee3c5bfe1fd5015f42b99"}, - {file = "PyYAML-6.0.2-cp310-cp310-win_amd64.whl", hash = "sha256:a4d3091415f010369ae4ed1fc6b79def9416358877534caf6a0fdd2146c87a3e"}, - {file = "PyYAML-6.0.2-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:cc1c1159b3d456576af7a3e4d1ba7e6924cb39de8f67111c735f6fc832082774"}, - {file = "PyYAML-6.0.2-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:1e2120ef853f59c7419231f3bf4e7021f1b936f6ebd222406c3b60212205d2ee"}, - {file = "PyYAML-6.0.2-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:5d225db5a45f21e78dd9358e58a98702a0302f2659a3c6cd320564b75b86f47c"}, - {file = "PyYAML-6.0.2-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:5ac9328ec4831237bec75defaf839f7d4564be1e6b25ac710bd1a96321cc8317"}, - {file = "PyYAML-6.0.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:3ad2a3decf9aaba3d29c8f537ac4b243e36bef957511b4766cb0057d32b0be85"}, - {file = "PyYAML-6.0.2-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:ff3824dc5261f50c9b0dfb3be22b4567a6f938ccce4587b38952d85fd9e9afe4"}, - {file = "PyYAML-6.0.2-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:797b4f722ffa07cc8d62053e4cff1486fa6dc094105d13fea7b1de7d8bf71c9e"}, - {file = "PyYAML-6.0.2-cp311-cp311-win32.whl", hash = "sha256:11d8f3dd2b9c1207dcaf2ee0bbbfd5991f571186ec9cc78427ba5bd32afae4b5"}, - {file = "PyYAML-6.0.2-cp311-cp311-win_amd64.whl", hash = "sha256:e10ce637b18caea04431ce14fabcf5c64a1c61ec9c56b071a4b7ca131ca52d44"}, - {file = "PyYAML-6.0.2-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:c70c95198c015b85feafc136515252a261a84561b7b1d51e3384e0655ddf25ab"}, - {file = "PyYAML-6.0.2-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:ce826d6ef20b1bc864f0a68340c8b3287705cae2f8b4b1d932177dcc76721725"}, - {file = "PyYAML-6.0.2-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:1f71ea527786de97d1a0cc0eacd1defc0985dcf6b3f17bb77dcfc8c34bec4dc5"}, - {file = "PyYAML-6.0.2-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:9b22676e8097e9e22e36d6b7bda33190d0d400f345f23d4065d48f4ca7ae0425"}, - {file = "PyYAML-6.0.2-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:80bab7bfc629882493af4aa31a4cfa43a4c57c83813253626916b8c7ada83476"}, - {file = "PyYAML-6.0.2-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:0833f8694549e586547b576dcfaba4a6b55b9e96098b36cdc7ebefe667dfed48"}, - {file = "PyYAML-6.0.2-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:8b9c7197f7cb2738065c481a0461e50ad02f18c78cd75775628afb4d7137fb3b"}, - {file = "PyYAML-6.0.2-cp312-cp312-win32.whl", hash = "sha256:ef6107725bd54b262d6dedcc2af448a266975032bc85ef0172c5f059da6325b4"}, - {file = "PyYAML-6.0.2-cp312-cp312-win_amd64.whl", hash = "sha256:7e7401d0de89a9a855c839bc697c079a4af81cf878373abd7dc625847d25cbd8"}, - {file = "PyYAML-6.0.2-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:efdca5630322a10774e8e98e1af481aad470dd62c3170801852d752aa7a783ba"}, - {file = "PyYAML-6.0.2-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:50187695423ffe49e2deacb8cd10510bc361faac997de9efef88badc3bb9e2d1"}, - {file = "PyYAML-6.0.2-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:0ffe8360bab4910ef1b9e87fb812d8bc0a308b0d0eef8c8f44e0254ab3b07133"}, - {file = "PyYAML-6.0.2-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:17e311b6c678207928d649faa7cb0d7b4c26a0ba73d41e99c4fff6b6c3276484"}, - {file = "PyYAML-6.0.2-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:70b189594dbe54f75ab3a1acec5f1e3faa7e8cf2f1e08d9b561cb41b845f69d5"}, - {file = "PyYAML-6.0.2-cp313-cp313-musllinux_1_1_aarch64.whl", hash = "sha256:41e4e3953a79407c794916fa277a82531dd93aad34e29c2a514c2c0c5fe971cc"}, - {file = "PyYAML-6.0.2-cp313-cp313-musllinux_1_1_x86_64.whl", hash = "sha256:68ccc6023a3400877818152ad9a1033e3db8625d899c72eacb5a668902e4d652"}, - {file = "PyYAML-6.0.2-cp313-cp313-win32.whl", hash = "sha256:bc2fa7c6b47d6bc618dd7fb02ef6fdedb1090ec036abab80d4681424b84c1183"}, - {file = "PyYAML-6.0.2-cp313-cp313-win_amd64.whl", hash = "sha256:8388ee1976c416731879ac16da0aff3f63b286ffdd57cdeb95f3f2e085687563"}, - {file = "PyYAML-6.0.2-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:24471b829b3bf607e04e88d79542a9d48bb037c2267d7927a874e6c205ca7e9a"}, - {file = "PyYAML-6.0.2-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d7fded462629cfa4b685c5416b949ebad6cec74af5e2d42905d41e257e0869f5"}, - {file = "PyYAML-6.0.2-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:d84a1718ee396f54f3a086ea0a66d8e552b2ab2017ef8b420e92edbc841c352d"}, - {file = "PyYAML-6.0.2-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:9056c1ecd25795207ad294bcf39f2db3d845767be0ea6e6a34d856f006006083"}, - {file = "PyYAML-6.0.2-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:82d09873e40955485746739bcb8b4586983670466c23382c19cffecbf1fd8706"}, - {file = "PyYAML-6.0.2-cp38-cp38-win32.whl", hash = "sha256:43fa96a3ca0d6b1812e01ced1044a003533c47f6ee8aca31724f78e93ccc089a"}, - {file = "PyYAML-6.0.2-cp38-cp38-win_amd64.whl", hash = "sha256:01179a4a8559ab5de078078f37e5c1a30d76bb88519906844fd7bdea1b7729ff"}, - {file = "PyYAML-6.0.2-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:688ba32a1cffef67fd2e9398a2efebaea461578b0923624778664cc1c914db5d"}, - {file = "PyYAML-6.0.2-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:a8786accb172bd8afb8be14490a16625cbc387036876ab6ba70912730faf8e1f"}, - {file = "PyYAML-6.0.2-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d8e03406cac8513435335dbab54c0d385e4a49e4945d2909a581c83647ca0290"}, - {file = "PyYAML-6.0.2-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:f753120cb8181e736c57ef7636e83f31b9c0d1722c516f7e86cf15b7aa57ff12"}, - {file = "PyYAML-6.0.2-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:3b1fdb9dc17f5a7677423d508ab4f243a726dea51fa5e70992e59a7411c89d19"}, - {file = "PyYAML-6.0.2-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:0b69e4ce7a131fe56b7e4d770c67429700908fc0752af059838b1cfb41960e4e"}, - {file = "PyYAML-6.0.2-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:a9f8c2e67970f13b16084e04f134610fd1d374bf477b17ec1599185cf611d725"}, - {file = "PyYAML-6.0.2-cp39-cp39-win32.whl", hash = "sha256:6395c297d42274772abc367baaa79683958044e5d3835486c16da75d2a694631"}, - {file = "PyYAML-6.0.2-cp39-cp39-win_amd64.whl", hash = "sha256:39693e1f8320ae4f43943590b49779ffb98acb81f788220ea932a6b6c51004d8"}, - {file = "pyyaml-6.0.2.tar.gz", hash = "sha256:d584d9ec91ad65861cc08d42e834324ef890a082e591037abe114850ff7bbc3e"}, -] - -[[package]] -name = "pyyaml-env-tag" -version = "0.1" -description = "A custom YAML tag for referencing environment variables in YAML files. " -optional = false -python-versions = ">=3.6" -groups = ["docs"] -markers = "python_version <= \"3.11\" or python_version >= \"3.12\"" -files = [ - {file = "pyyaml_env_tag-0.1-py3-none-any.whl", hash = "sha256:af31106dec8a4d68c60207c1886031cbf839b68aa7abccdb19868200532c2069"}, - {file = "pyyaml_env_tag-0.1.tar.gz", hash = "sha256:70092675bda14fdec33b31ba77e7543de9ddc88f2e5b99160396572d11525bdb"}, -] - -[package.dependencies] -pyyaml = "*" - -[[package]] -name = "pyzmq" -version = "26.2.0" -description = "Python bindings for 0MQ" -optional = false -python-versions = ">=3.7" -groups = ["dev", "docs"] -markers = "python_version <= \"3.11\" or python_version >= \"3.12\"" -files = [ - {file = "pyzmq-26.2.0-cp310-cp310-macosx_10_15_universal2.whl", hash = "sha256:ddf33d97d2f52d89f6e6e7ae66ee35a4d9ca6f36eda89c24591b0c40205a3629"}, - {file = "pyzmq-26.2.0-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:dacd995031a01d16eec825bf30802fceb2c3791ef24bcce48fa98ce40918c27b"}, - {file = "pyzmq-26.2.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:89289a5ee32ef6c439086184529ae060c741334b8970a6855ec0b6ad3ff28764"}, - {file = "pyzmq-26.2.0-cp310-cp310-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:5506f06d7dc6ecf1efacb4a013b1f05071bb24b76350832c96449f4a2d95091c"}, - {file = "pyzmq-26.2.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:8ea039387c10202ce304af74def5021e9adc6297067f3441d348d2b633e8166a"}, - {file = "pyzmq-26.2.0-cp310-cp310-manylinux_2_28_x86_64.whl", hash = "sha256:a2224fa4a4c2ee872886ed00a571f5e967c85e078e8e8c2530a2fb01b3309b88"}, - {file = "pyzmq-26.2.0-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:28ad5233e9c3b52d76196c696e362508959741e1a005fb8fa03b51aea156088f"}, - {file = "pyzmq-26.2.0-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:1c17211bc037c7d88e85ed8b7d8f7e52db6dc8eca5590d162717c654550f7282"}, - {file = "pyzmq-26.2.0-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:b8f86dd868d41bea9a5f873ee13bf5551c94cf6bc51baebc6f85075971fe6eea"}, - {file = "pyzmq-26.2.0-cp310-cp310-win32.whl", hash = "sha256:46a446c212e58456b23af260f3d9fb785054f3e3653dbf7279d8f2b5546b21c2"}, - {file = "pyzmq-26.2.0-cp310-cp310-win_amd64.whl", hash = "sha256:49d34ab71db5a9c292a7644ce74190b1dd5a3475612eefb1f8be1d6961441971"}, - {file = "pyzmq-26.2.0-cp310-cp310-win_arm64.whl", hash = "sha256:bfa832bfa540e5b5c27dcf5de5d82ebc431b82c453a43d141afb1e5d2de025fa"}, - {file = "pyzmq-26.2.0-cp311-cp311-macosx_10_15_universal2.whl", hash = "sha256:8f7e66c7113c684c2b3f1c83cdd3376103ee0ce4c49ff80a648643e57fb22218"}, - {file = "pyzmq-26.2.0-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:3a495b30fc91db2db25120df5847d9833af237546fd59170701acd816ccc01c4"}, - {file = "pyzmq-26.2.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:77eb0968da535cba0470a5165468b2cac7772cfb569977cff92e240f57e31bef"}, - {file = "pyzmq-26.2.0-cp311-cp311-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:6ace4f71f1900a548f48407fc9be59c6ba9d9aaf658c2eea6cf2779e72f9f317"}, - {file = "pyzmq-26.2.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:92a78853d7280bffb93df0a4a6a2498cba10ee793cc8076ef797ef2f74d107cf"}, - {file = "pyzmq-26.2.0-cp311-cp311-manylinux_2_28_x86_64.whl", hash = "sha256:689c5d781014956a4a6de61d74ba97b23547e431e9e7d64f27d4922ba96e9d6e"}, - {file = "pyzmq-26.2.0-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:0aca98bc423eb7d153214b2df397c6421ba6373d3397b26c057af3c904452e37"}, - {file = "pyzmq-26.2.0-cp311-cp311-musllinux_1_1_i686.whl", hash = "sha256:1f3496d76b89d9429a656293744ceca4d2ac2a10ae59b84c1da9b5165f429ad3"}, - {file = "pyzmq-26.2.0-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:5c2b3bfd4b9689919db068ac6c9911f3fcb231c39f7dd30e3138be94896d18e6"}, - {file = "pyzmq-26.2.0-cp311-cp311-win32.whl", hash = "sha256:eac5174677da084abf378739dbf4ad245661635f1600edd1221f150b165343f4"}, - {file = "pyzmq-26.2.0-cp311-cp311-win_amd64.whl", hash = "sha256:5a509df7d0a83a4b178d0f937ef14286659225ef4e8812e05580776c70e155d5"}, - {file = "pyzmq-26.2.0-cp311-cp311-win_arm64.whl", hash = "sha256:c0e6091b157d48cbe37bd67233318dbb53e1e6327d6fc3bb284afd585d141003"}, - {file = "pyzmq-26.2.0-cp312-cp312-macosx_10_15_universal2.whl", hash = "sha256:ded0fc7d90fe93ae0b18059930086c51e640cdd3baebdc783a695c77f123dcd9"}, - {file = "pyzmq-26.2.0-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:17bf5a931c7f6618023cdacc7081f3f266aecb68ca692adac015c383a134ca52"}, - {file = "pyzmq-26.2.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:55cf66647e49d4621a7e20c8d13511ef1fe1efbbccf670811864452487007e08"}, - {file = "pyzmq-26.2.0-cp312-cp312-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:4661c88db4a9e0f958c8abc2b97472e23061f0bc737f6f6179d7a27024e1faa5"}, - {file = "pyzmq-26.2.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ea7f69de383cb47522c9c208aec6dd17697db7875a4674c4af3f8cfdac0bdeae"}, - {file = "pyzmq-26.2.0-cp312-cp312-manylinux_2_28_x86_64.whl", hash = "sha256:7f98f6dfa8b8ccaf39163ce872bddacca38f6a67289116c8937a02e30bbe9711"}, - {file = "pyzmq-26.2.0-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:e3e0210287329272539eea617830a6a28161fbbd8a3271bf4150ae3e58c5d0e6"}, - {file = "pyzmq-26.2.0-cp312-cp312-musllinux_1_1_i686.whl", hash = "sha256:6b274e0762c33c7471f1a7471d1a2085b1a35eba5cdc48d2ae319f28b6fc4de3"}, - {file = "pyzmq-26.2.0-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:29c6a4635eef69d68a00321e12a7d2559fe2dfccfa8efae3ffb8e91cd0b36a8b"}, - {file = "pyzmq-26.2.0-cp312-cp312-win32.whl", hash = "sha256:989d842dc06dc59feea09e58c74ca3e1678c812a4a8a2a419046d711031f69c7"}, - {file = "pyzmq-26.2.0-cp312-cp312-win_amd64.whl", hash = "sha256:2a50625acdc7801bc6f74698c5c583a491c61d73c6b7ea4dee3901bb99adb27a"}, - {file = "pyzmq-26.2.0-cp312-cp312-win_arm64.whl", hash = "sha256:4d29ab8592b6ad12ebbf92ac2ed2bedcfd1cec192d8e559e2e099f648570e19b"}, - {file = "pyzmq-26.2.0-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:9dd8cd1aeb00775f527ec60022004d030ddc51d783d056e3e23e74e623e33726"}, - {file = "pyzmq-26.2.0-cp313-cp313-macosx_10_15_universal2.whl", hash = "sha256:28c812d9757fe8acecc910c9ac9dafd2ce968c00f9e619db09e9f8f54c3a68a3"}, - {file = "pyzmq-26.2.0-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:4d80b1dd99c1942f74ed608ddb38b181b87476c6a966a88a950c7dee118fdf50"}, - {file = "pyzmq-26.2.0-cp313-cp313-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:8c997098cc65e3208eca09303630e84d42718620e83b733d0fd69543a9cab9cb"}, - {file = "pyzmq-26.2.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:7ad1bc8d1b7a18497dda9600b12dc193c577beb391beae5cd2349184db40f187"}, - {file = "pyzmq-26.2.0-cp313-cp313-manylinux_2_28_x86_64.whl", hash = "sha256:bea2acdd8ea4275e1278350ced63da0b166421928276c7c8e3f9729d7402a57b"}, - {file = "pyzmq-26.2.0-cp313-cp313-musllinux_1_1_aarch64.whl", hash = "sha256:23f4aad749d13698f3f7b64aad34f5fc02d6f20f05999eebc96b89b01262fb18"}, - {file = "pyzmq-26.2.0-cp313-cp313-musllinux_1_1_i686.whl", hash = "sha256:a4f96f0d88accc3dbe4a9025f785ba830f968e21e3e2c6321ccdfc9aef755115"}, - {file = "pyzmq-26.2.0-cp313-cp313-musllinux_1_1_x86_64.whl", hash = "sha256:ced65e5a985398827cc9276b93ef6dfabe0273c23de8c7931339d7e141c2818e"}, - {file = "pyzmq-26.2.0-cp313-cp313-win32.whl", hash = "sha256:31507f7b47cc1ead1f6e86927f8ebb196a0bab043f6345ce070f412a59bf87b5"}, - {file = "pyzmq-26.2.0-cp313-cp313-win_amd64.whl", hash = "sha256:70fc7fcf0410d16ebdda9b26cbd8bf8d803d220a7f3522e060a69a9c87bf7bad"}, - {file = "pyzmq-26.2.0-cp313-cp313-win_arm64.whl", hash = "sha256:c3789bd5768ab5618ebf09cef6ec2b35fed88709b104351748a63045f0ff9797"}, - {file = "pyzmq-26.2.0-cp313-cp313t-macosx_10_13_x86_64.whl", hash = "sha256:034da5fc55d9f8da09015d368f519478a52675e558c989bfcb5cf6d4e16a7d2a"}, - {file = "pyzmq-26.2.0-cp313-cp313t-macosx_10_15_universal2.whl", hash = "sha256:c92d73464b886931308ccc45b2744e5968cbaade0b1d6aeb40d8ab537765f5bc"}, - {file = "pyzmq-26.2.0-cp313-cp313t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:794a4562dcb374f7dbbfb3f51d28fb40123b5a2abadee7b4091f93054909add5"}, - {file = "pyzmq-26.2.0-cp313-cp313t-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:aee22939bb6075e7afededabad1a56a905da0b3c4e3e0c45e75810ebe3a52672"}, - {file = "pyzmq-26.2.0-cp313-cp313t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:2ae90ff9dad33a1cfe947d2c40cb9cb5e600d759ac4f0fd22616ce6540f72797"}, - {file = "pyzmq-26.2.0-cp313-cp313t-manylinux_2_28_x86_64.whl", hash = "sha256:43a47408ac52647dfabbc66a25b05b6a61700b5165807e3fbd40063fcaf46386"}, - {file = "pyzmq-26.2.0-cp313-cp313t-musllinux_1_1_aarch64.whl", hash = "sha256:25bf2374a2a8433633c65ccb9553350d5e17e60c8eb4de4d92cc6bd60f01d306"}, - {file = "pyzmq-26.2.0-cp313-cp313t-musllinux_1_1_i686.whl", hash = "sha256:007137c9ac9ad5ea21e6ad97d3489af654381324d5d3ba614c323f60dab8fae6"}, - {file = "pyzmq-26.2.0-cp313-cp313t-musllinux_1_1_x86_64.whl", hash = "sha256:470d4a4f6d48fb34e92d768b4e8a5cc3780db0d69107abf1cd7ff734b9766eb0"}, - {file = "pyzmq-26.2.0-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:3b55a4229ce5da9497dd0452b914556ae58e96a4381bb6f59f1305dfd7e53fc8"}, - {file = "pyzmq-26.2.0-cp37-cp37m-manylinux_2_12_i686.manylinux2010_i686.whl", hash = "sha256:9cb3a6460cdea8fe8194a76de8895707e61ded10ad0be97188cc8463ffa7e3a8"}, - {file = "pyzmq-26.2.0-cp37-cp37m-manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:8ab5cad923cc95c87bffee098a27856c859bd5d0af31bd346035aa816b081fe1"}, - {file = "pyzmq-26.2.0-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:9ed69074a610fad1c2fda66180e7b2edd4d31c53f2d1872bc2d1211563904cd9"}, - {file = "pyzmq-26.2.0-cp37-cp37m-musllinux_1_1_aarch64.whl", hash = "sha256:cccba051221b916a4f5e538997c45d7d136a5646442b1231b916d0164067ea27"}, - {file = "pyzmq-26.2.0-cp37-cp37m-musllinux_1_1_i686.whl", hash = "sha256:0eaa83fc4c1e271c24eaf8fb083cbccef8fde77ec8cd45f3c35a9a123e6da097"}, - {file = "pyzmq-26.2.0-cp37-cp37m-musllinux_1_1_x86_64.whl", hash = "sha256:9edda2df81daa129b25a39b86cb57dfdfe16f7ec15b42b19bfac503360d27a93"}, - {file = "pyzmq-26.2.0-cp37-cp37m-win32.whl", hash = "sha256:ea0eb6af8a17fa272f7b98d7bebfab7836a0d62738e16ba380f440fceca2d951"}, - {file = "pyzmq-26.2.0-cp37-cp37m-win_amd64.whl", hash = "sha256:4ff9dc6bc1664bb9eec25cd17506ef6672d506115095411e237d571e92a58231"}, - {file = "pyzmq-26.2.0-cp38-cp38-macosx_10_15_universal2.whl", hash = "sha256:2eb7735ee73ca1b0d71e0e67c3739c689067f055c764f73aac4cc8ecf958ee3f"}, - {file = "pyzmq-26.2.0-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:1a534f43bc738181aa7cbbaf48e3eca62c76453a40a746ab95d4b27b1111a7d2"}, - {file = "pyzmq-26.2.0-cp38-cp38-manylinux_2_12_i686.manylinux2010_i686.whl", hash = "sha256:aedd5dd8692635813368e558a05266b995d3d020b23e49581ddd5bbe197a8ab6"}, - {file = "pyzmq-26.2.0-cp38-cp38-manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:8be4700cd8bb02cc454f630dcdf7cfa99de96788b80c51b60fe2fe1dac480289"}, - {file = "pyzmq-26.2.0-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:1fcc03fa4997c447dce58264e93b5aa2d57714fbe0f06c07b7785ae131512732"}, - {file = "pyzmq-26.2.0-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:402b190912935d3db15b03e8f7485812db350d271b284ded2b80d2e5704be780"}, - {file = "pyzmq-26.2.0-cp38-cp38-musllinux_1_1_i686.whl", hash = "sha256:8685fa9c25ff00f550c1fec650430c4b71e4e48e8d852f7ddcf2e48308038640"}, - {file = "pyzmq-26.2.0-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:76589c020680778f06b7e0b193f4b6dd66d470234a16e1df90329f5e14a171cd"}, - {file = "pyzmq-26.2.0-cp38-cp38-win32.whl", hash = "sha256:8423c1877d72c041f2c263b1ec6e34360448decfb323fa8b94e85883043ef988"}, - {file = "pyzmq-26.2.0-cp38-cp38-win_amd64.whl", hash = "sha256:76589f2cd6b77b5bdea4fca5992dc1c23389d68b18ccc26a53680ba2dc80ff2f"}, - {file = "pyzmq-26.2.0-cp39-cp39-macosx_10_15_universal2.whl", hash = "sha256:b1d464cb8d72bfc1a3adc53305a63a8e0cac6bc8c5a07e8ca190ab8d3faa43c2"}, - {file = "pyzmq-26.2.0-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:4da04c48873a6abdd71811c5e163bd656ee1b957971db7f35140a2d573f6949c"}, - {file = "pyzmq-26.2.0-cp39-cp39-manylinux_2_12_i686.manylinux2010_i686.whl", hash = "sha256:d049df610ac811dcffdc147153b414147428567fbbc8be43bb8885f04db39d98"}, - {file = "pyzmq-26.2.0-cp39-cp39-manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:05590cdbc6b902101d0e65d6a4780af14dc22914cc6ab995d99b85af45362cc9"}, - {file = "pyzmq-26.2.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:c811cfcd6a9bf680236c40c6f617187515269ab2912f3d7e8c0174898e2519db"}, - {file = "pyzmq-26.2.0-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:6835dd60355593de10350394242b5757fbbd88b25287314316f266e24c61d073"}, - {file = "pyzmq-26.2.0-cp39-cp39-musllinux_1_1_i686.whl", hash = "sha256:bc6bee759a6bddea5db78d7dcd609397449cb2d2d6587f48f3ca613b19410cfc"}, - {file = "pyzmq-26.2.0-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:c530e1eecd036ecc83c3407f77bb86feb79916d4a33d11394b8234f3bd35b940"}, - {file = "pyzmq-26.2.0-cp39-cp39-win32.whl", hash = "sha256:367b4f689786fca726ef7a6c5ba606958b145b9340a5e4808132cc65759abd44"}, - {file = "pyzmq-26.2.0-cp39-cp39-win_amd64.whl", hash = "sha256:e6fa2e3e683f34aea77de8112f6483803c96a44fd726d7358b9888ae5bb394ec"}, - {file = "pyzmq-26.2.0-cp39-cp39-win_arm64.whl", hash = "sha256:7445be39143a8aa4faec43b076e06944b8f9d0701b669df4af200531b21e40bb"}, - {file = "pyzmq-26.2.0-pp310-pypy310_pp73-macosx_10_15_x86_64.whl", hash = "sha256:706e794564bec25819d21a41c31d4df2d48e1cc4b061e8d345d7fb4dd3e94072"}, - {file = "pyzmq-26.2.0-pp310-pypy310_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:8b435f2753621cd36e7c1762156815e21c985c72b19135dac43a7f4f31d28dd1"}, - {file = "pyzmq-26.2.0-pp310-pypy310_pp73-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:160c7e0a5eb178011e72892f99f918c04a131f36056d10d9c1afb223fc952c2d"}, - {file = "pyzmq-26.2.0-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:2c4a71d5d6e7b28a47a394c0471b7e77a0661e2d651e7ae91e0cab0a587859ca"}, - {file = "pyzmq-26.2.0-pp310-pypy310_pp73-win_amd64.whl", hash = "sha256:90412f2db8c02a3864cbfc67db0e3dcdbda336acf1c469526d3e869394fe001c"}, - {file = "pyzmq-26.2.0-pp37-pypy37_pp73-macosx_10_9_x86_64.whl", hash = "sha256:2ea4ad4e6a12e454de05f2949d4beddb52460f3de7c8b9d5c46fbb7d7222e02c"}, - {file = "pyzmq-26.2.0-pp37-pypy37_pp73-manylinux_2_12_i686.manylinux2010_i686.whl", hash = "sha256:fc4f7a173a5609631bb0c42c23d12c49df3966f89f496a51d3eb0ec81f4519d6"}, - {file = "pyzmq-26.2.0-pp37-pypy37_pp73-manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:878206a45202247781472a2d99df12a176fef806ca175799e1c6ad263510d57c"}, - {file = "pyzmq-26.2.0-pp37-pypy37_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:17c412bad2eb9468e876f556eb4ee910e62d721d2c7a53c7fa31e643d35352e6"}, - {file = "pyzmq-26.2.0-pp37-pypy37_pp73-win_amd64.whl", hash = "sha256:0d987a3ae5a71c6226b203cfd298720e0086c7fe7c74f35fa8edddfbd6597eed"}, - {file = "pyzmq-26.2.0-pp38-pypy38_pp73-macosx_10_9_x86_64.whl", hash = "sha256:39887ac397ff35b7b775db7201095fc6310a35fdbae85bac4523f7eb3b840e20"}, - {file = "pyzmq-26.2.0-pp38-pypy38_pp73-manylinux_2_12_i686.manylinux2010_i686.whl", hash = "sha256:fdb5b3e311d4d4b0eb8b3e8b4d1b0a512713ad7e6a68791d0923d1aec433d919"}, - {file = "pyzmq-26.2.0-pp38-pypy38_pp73-manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:226af7dcb51fdb0109f0016449b357e182ea0ceb6b47dfb5999d569e5db161d5"}, - {file = "pyzmq-26.2.0-pp38-pypy38_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:0bed0e799e6120b9c32756203fb9dfe8ca2fb8467fed830c34c877e25638c3fc"}, - {file = "pyzmq-26.2.0-pp38-pypy38_pp73-win_amd64.whl", hash = "sha256:29c7947c594e105cb9e6c466bace8532dc1ca02d498684128b339799f5248277"}, - {file = "pyzmq-26.2.0-pp39-pypy39_pp73-macosx_10_15_x86_64.whl", hash = "sha256:cdeabcff45d1c219636ee2e54d852262e5c2e085d6cb476d938aee8d921356b3"}, - {file = "pyzmq-26.2.0-pp39-pypy39_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:35cffef589bcdc587d06f9149f8d5e9e8859920a071df5a2671de2213bef592a"}, - {file = "pyzmq-26.2.0-pp39-pypy39_pp73-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:18c8dc3b7468d8b4bdf60ce9d7141897da103c7a4690157b32b60acb45e333e6"}, - {file = "pyzmq-26.2.0-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:7133d0a1677aec369d67dd78520d3fa96dd7f3dcec99d66c1762870e5ea1a50a"}, - {file = "pyzmq-26.2.0-pp39-pypy39_pp73-manylinux_2_28_x86_64.whl", hash = "sha256:6a96179a24b14fa6428cbfc08641c779a53f8fcec43644030328f44034c7f1f4"}, - {file = "pyzmq-26.2.0-pp39-pypy39_pp73-win_amd64.whl", hash = "sha256:4f78c88905461a9203eac9faac157a2a0dbba84a0fd09fd29315db27be40af9f"}, - {file = "pyzmq-26.2.0.tar.gz", hash = "sha256:070672c258581c8e4f640b5159297580a9974b026043bd4ab0470be9ed324f1f"}, -] - -[package.dependencies] -cffi = {version = "*", markers = "implementation_name == \"pypy\""} - -[[package]] -name = "readme-renderer" -version = "43.0" -description = "readme_renderer is a library for rendering readme descriptions for Warehouse" -optional = false -python-versions = ">=3.8" -groups = ["build"] -markers = "python_version <= \"3.11\" or python_version >= \"3.12\"" -files = [ - {file = "readme_renderer-43.0-py3-none-any.whl", hash = "sha256:19db308d86ecd60e5affa3b2a98f017af384678c63c88e5d4556a380e674f3f9"}, - {file = "readme_renderer-43.0.tar.gz", hash = "sha256:1818dd28140813509eeed8d62687f7cd4f7bad90d4db586001c5dc09d4fde311"}, -] - -[package.dependencies] -docutils = ">=0.13.1" -nh3 = ">=0.2.14" -Pygments = ">=2.5.1" - -[package.extras] -md = ["cmarkgfm (>=0.8.0)"] - -[[package]] -name = "referencing" -version = "0.35.1" -description = "JSON Referencing + Python" -optional = false -python-versions = ">=3.8" -groups = ["dev", "docs"] -markers = "python_version <= \"3.11\" or python_version >= \"3.12\"" -files = [ - {file = "referencing-0.35.1-py3-none-any.whl", hash = "sha256:eda6d3234d62814d1c64e305c1331c9a3a6132da475ab6382eaa997b21ee75de"}, - {file = "referencing-0.35.1.tar.gz", hash = "sha256:25b42124a6c8b632a425174f24087783efb348a6f1e0008e63cd4466fedf703c"}, -] - -[package.dependencies] -attrs = ">=22.2.0" -rpds-py = ">=0.7.0" - -[[package]] -name = "regex" -version = "2024.11.6" -description = "Alternative regular expression module, to replace re." -optional = false -python-versions = ">=3.8" -groups = ["docs"] -markers = "python_version <= \"3.11\" or python_version >= \"3.12\"" -files = [ - {file = "regex-2024.11.6-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:ff590880083d60acc0433f9c3f713c51f7ac6ebb9adf889c79a261ecf541aa91"}, - {file = "regex-2024.11.6-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:658f90550f38270639e83ce492f27d2c8d2cd63805c65a13a14d36ca126753f0"}, - {file = "regex-2024.11.6-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:164d8b7b3b4bcb2068b97428060b2a53be050085ef94eca7f240e7947f1b080e"}, - {file = "regex-2024.11.6-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d3660c82f209655a06b587d55e723f0b813d3a7db2e32e5e7dc64ac2a9e86fde"}, - {file = "regex-2024.11.6-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:d22326fcdef5e08c154280b71163ced384b428343ae16a5ab2b3354aed12436e"}, - {file = "regex-2024.11.6-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:f1ac758ef6aebfc8943560194e9fd0fa18bcb34d89fd8bd2af18183afd8da3a2"}, - {file = "regex-2024.11.6-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:997d6a487ff00807ba810e0f8332c18b4eb8d29463cfb7c820dc4b6e7562d0cf"}, - {file = "regex-2024.11.6-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:02a02d2bb04fec86ad61f3ea7f49c015a0681bf76abb9857f945d26159d2968c"}, - {file = "regex-2024.11.6-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:f02f93b92358ee3f78660e43b4b0091229260c5d5c408d17d60bf26b6c900e86"}, - {file = "regex-2024.11.6-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:06eb1be98df10e81ebaded73fcd51989dcf534e3c753466e4b60c4697a003b67"}, - {file = "regex-2024.11.6-cp310-cp310-musllinux_1_2_i686.whl", hash = "sha256:040df6fe1a5504eb0f04f048e6d09cd7c7110fef851d7c567a6b6e09942feb7d"}, - {file = "regex-2024.11.6-cp310-cp310-musllinux_1_2_ppc64le.whl", hash = "sha256:fdabbfc59f2c6edba2a6622c647b716e34e8e3867e0ab975412c5c2f79b82da2"}, - {file = "regex-2024.11.6-cp310-cp310-musllinux_1_2_s390x.whl", hash = "sha256:8447d2d39b5abe381419319f942de20b7ecd60ce86f16a23b0698f22e1b70008"}, - {file = "regex-2024.11.6-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:da8f5fc57d1933de22a9e23eec290a0d8a5927a5370d24bda9a6abe50683fe62"}, - {file = "regex-2024.11.6-cp310-cp310-win32.whl", hash = "sha256:b489578720afb782f6ccf2840920f3a32e31ba28a4b162e13900c3e6bd3f930e"}, - {file = "regex-2024.11.6-cp310-cp310-win_amd64.whl", hash = "sha256:5071b2093e793357c9d8b2929dfc13ac5f0a6c650559503bb81189d0a3814519"}, - {file = "regex-2024.11.6-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:5478c6962ad548b54a591778e93cd7c456a7a29f8eca9c49e4f9a806dcc5d638"}, - {file = "regex-2024.11.6-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:2c89a8cc122b25ce6945f0423dc1352cb9593c68abd19223eebbd4e56612c5b7"}, - {file = "regex-2024.11.6-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:94d87b689cdd831934fa3ce16cc15cd65748e6d689f5d2b8f4f4df2065c9fa20"}, - {file = "regex-2024.11.6-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:1062b39a0a2b75a9c694f7a08e7183a80c63c0d62b301418ffd9c35f55aaa114"}, - {file = "regex-2024.11.6-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:167ed4852351d8a750da48712c3930b031f6efdaa0f22fa1933716bfcd6bf4a3"}, - {file = "regex-2024.11.6-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:2d548dafee61f06ebdb584080621f3e0c23fff312f0de1afc776e2a2ba99a74f"}, - {file = "regex-2024.11.6-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f2a19f302cd1ce5dd01a9099aaa19cae6173306d1302a43b627f62e21cf18ac0"}, - {file = "regex-2024.11.6-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:bec9931dfb61ddd8ef2ebc05646293812cb6b16b60cf7c9511a832b6f1854b55"}, - {file = "regex-2024.11.6-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:9714398225f299aa85267fd222f7142fcb5c769e73d7733344efc46f2ef5cf89"}, - {file = "regex-2024.11.6-cp311-cp311-musllinux_1_2_i686.whl", hash = "sha256:202eb32e89f60fc147a41e55cb086db2a3f8cb82f9a9a88440dcfc5d37faae8d"}, - {file = "regex-2024.11.6-cp311-cp311-musllinux_1_2_ppc64le.whl", hash = "sha256:4181b814e56078e9b00427ca358ec44333765f5ca1b45597ec7446d3a1ef6e34"}, - {file = "regex-2024.11.6-cp311-cp311-musllinux_1_2_s390x.whl", hash = "sha256:068376da5a7e4da51968ce4c122a7cd31afaaec4fccc7856c92f63876e57b51d"}, - {file = "regex-2024.11.6-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:ac10f2c4184420d881a3475fb2c6f4d95d53a8d50209a2500723d831036f7c45"}, - {file = "regex-2024.11.6-cp311-cp311-win32.whl", hash = "sha256:c36f9b6f5f8649bb251a5f3f66564438977b7ef8386a52460ae77e6070d309d9"}, - {file = "regex-2024.11.6-cp311-cp311-win_amd64.whl", hash = "sha256:02e28184be537f0e75c1f9b2f8847dc51e08e6e171c6bde130b2687e0c33cf60"}, - {file = "regex-2024.11.6-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:52fb28f528778f184f870b7cf8f225f5eef0a8f6e3778529bdd40c7b3920796a"}, - {file = "regex-2024.11.6-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:fdd6028445d2460f33136c55eeb1f601ab06d74cb3347132e1c24250187500d9"}, - {file = "regex-2024.11.6-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:805e6b60c54bf766b251e94526ebad60b7de0c70f70a4e6210ee2891acb70bf2"}, - {file = "regex-2024.11.6-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:b85c2530be953a890eaffde05485238f07029600e8f098cdf1848d414a8b45e4"}, - {file = "regex-2024.11.6-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:bb26437975da7dc36b7efad18aa9dd4ea569d2357ae6b783bf1118dabd9ea577"}, - {file = "regex-2024.11.6-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:abfa5080c374a76a251ba60683242bc17eeb2c9818d0d30117b4486be10c59d3"}, - {file = "regex-2024.11.6-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:70b7fa6606c2881c1db9479b0eaa11ed5dfa11c8d60a474ff0e095099f39d98e"}, - {file = "regex-2024.11.6-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:0c32f75920cf99fe6b6c539c399a4a128452eaf1af27f39bce8909c9a3fd8cbe"}, - {file = "regex-2024.11.6-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:982e6d21414e78e1f51cf595d7f321dcd14de1f2881c5dc6a6e23bbbbd68435e"}, - {file = "regex-2024.11.6-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:a7c2155f790e2fb448faed6dd241386719802296ec588a8b9051c1f5c481bc29"}, - {file = "regex-2024.11.6-cp312-cp312-musllinux_1_2_ppc64le.whl", hash = "sha256:149f5008d286636e48cd0b1dd65018548944e495b0265b45e1bffecce1ef7f39"}, - {file = "regex-2024.11.6-cp312-cp312-musllinux_1_2_s390x.whl", hash = "sha256:e5364a4502efca094731680e80009632ad6624084aff9a23ce8c8c6820de3e51"}, - {file = "regex-2024.11.6-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:0a86e7eeca091c09e021db8eb72d54751e527fa47b8d5787caf96d9831bd02ad"}, - {file = "regex-2024.11.6-cp312-cp312-win32.whl", hash = "sha256:32f9a4c643baad4efa81d549c2aadefaeba12249b2adc5af541759237eee1c54"}, - {file = "regex-2024.11.6-cp312-cp312-win_amd64.whl", hash = "sha256:a93c194e2df18f7d264092dc8539b8ffb86b45b899ab976aa15d48214138e81b"}, - {file = "regex-2024.11.6-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:a6ba92c0bcdf96cbf43a12c717eae4bc98325ca3730f6b130ffa2e3c3c723d84"}, - {file = "regex-2024.11.6-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:525eab0b789891ac3be914d36893bdf972d483fe66551f79d3e27146191a37d4"}, - {file = "regex-2024.11.6-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:086a27a0b4ca227941700e0b31425e7a28ef1ae8e5e05a33826e17e47fbfdba0"}, - {file = "regex-2024.11.6-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:bde01f35767c4a7899b7eb6e823b125a64de314a8ee9791367c9a34d56af18d0"}, - {file = "regex-2024.11.6-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:b583904576650166b3d920d2bcce13971f6f9e9a396c673187f49811b2769dc7"}, - {file = "regex-2024.11.6-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:1c4de13f06a0d54fa0d5ab1b7138bfa0d883220965a29616e3ea61b35d5f5fc7"}, - {file = "regex-2024.11.6-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:3cde6e9f2580eb1665965ce9bf17ff4952f34f5b126beb509fee8f4e994f143c"}, - {file = "regex-2024.11.6-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:0d7f453dca13f40a02b79636a339c5b62b670141e63efd511d3f8f73fba162b3"}, - {file = "regex-2024.11.6-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:59dfe1ed21aea057a65c6b586afd2a945de04fc7db3de0a6e3ed5397ad491b07"}, - {file = "regex-2024.11.6-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:b97c1e0bd37c5cd7902e65f410779d39eeda155800b65fc4d04cc432efa9bc6e"}, - {file = "regex-2024.11.6-cp313-cp313-musllinux_1_2_ppc64le.whl", hash = "sha256:f9d1e379028e0fc2ae3654bac3cbbef81bf3fd571272a42d56c24007979bafb6"}, - {file = "regex-2024.11.6-cp313-cp313-musllinux_1_2_s390x.whl", hash = "sha256:13291b39131e2d002a7940fb176e120bec5145f3aeb7621be6534e46251912c4"}, - {file = "regex-2024.11.6-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:4f51f88c126370dcec4908576c5a627220da6c09d0bff31cfa89f2523843316d"}, - {file = "regex-2024.11.6-cp313-cp313-win32.whl", hash = "sha256:63b13cfd72e9601125027202cad74995ab26921d8cd935c25f09c630436348ff"}, - {file = "regex-2024.11.6-cp313-cp313-win_amd64.whl", hash = "sha256:2b3361af3198667e99927da8b84c1b010752fa4b1115ee30beaa332cabc3ef1a"}, - {file = "regex-2024.11.6-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:3a51ccc315653ba012774efca4f23d1d2a8a8f278a6072e29c7147eee7da446b"}, - {file = "regex-2024.11.6-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:ad182d02e40de7459b73155deb8996bbd8e96852267879396fb274e8700190e3"}, - {file = "regex-2024.11.6-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:ba9b72e5643641b7d41fa1f6d5abda2c9a263ae835b917348fc3c928182ad467"}, - {file = "regex-2024.11.6-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:40291b1b89ca6ad8d3f2b82782cc33807f1406cf68c8d440861da6304d8ffbbd"}, - {file = "regex-2024.11.6-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:cdf58d0e516ee426a48f7b2c03a332a4114420716d55769ff7108c37a09951bf"}, - {file = "regex-2024.11.6-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:a36fdf2af13c2b14738f6e973aba563623cb77d753bbbd8d414d18bfaa3105dd"}, - {file = "regex-2024.11.6-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:d1cee317bfc014c2419a76bcc87f071405e3966da434e03e13beb45f8aced1a6"}, - {file = "regex-2024.11.6-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:50153825ee016b91549962f970d6a4442fa106832e14c918acd1c8e479916c4f"}, - {file = "regex-2024.11.6-cp38-cp38-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:ea1bfda2f7162605f6e8178223576856b3d791109f15ea99a9f95c16a7636fb5"}, - {file = "regex-2024.11.6-cp38-cp38-musllinux_1_2_aarch64.whl", hash = "sha256:df951c5f4a1b1910f1a99ff42c473ff60f8225baa1cdd3539fe2819d9543e9df"}, - {file = "regex-2024.11.6-cp38-cp38-musllinux_1_2_i686.whl", hash = "sha256:072623554418a9911446278f16ecb398fb3b540147a7828c06e2011fa531e773"}, - {file = "regex-2024.11.6-cp38-cp38-musllinux_1_2_ppc64le.whl", hash = "sha256:f654882311409afb1d780b940234208a252322c24a93b442ca714d119e68086c"}, - {file = "regex-2024.11.6-cp38-cp38-musllinux_1_2_s390x.whl", hash = "sha256:89d75e7293d2b3e674db7d4d9b1bee7f8f3d1609428e293771d1a962617150cc"}, - {file = "regex-2024.11.6-cp38-cp38-musllinux_1_2_x86_64.whl", hash = "sha256:f65557897fc977a44ab205ea871b690adaef6b9da6afda4790a2484b04293a5f"}, - {file = "regex-2024.11.6-cp38-cp38-win32.whl", hash = "sha256:6f44ec28b1f858c98d3036ad5d7d0bfc568bdd7a74f9c24e25f41ef1ebfd81a4"}, - {file = "regex-2024.11.6-cp38-cp38-win_amd64.whl", hash = "sha256:bb8f74f2f10dbf13a0be8de623ba4f9491faf58c24064f32b65679b021ed0001"}, - {file = "regex-2024.11.6-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:5704e174f8ccab2026bd2f1ab6c510345ae8eac818b613d7d73e785f1310f839"}, - {file = "regex-2024.11.6-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:220902c3c5cc6af55d4fe19ead504de80eb91f786dc102fbd74894b1551f095e"}, - {file = "regex-2024.11.6-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:5e7e351589da0850c125f1600a4c4ba3c722efefe16b297de54300f08d734fbf"}, - {file = "regex-2024.11.6-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:5056b185ca113c88e18223183aa1a50e66507769c9640a6ff75859619d73957b"}, - {file = "regex-2024.11.6-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:2e34b51b650b23ed3354b5a07aab37034d9f923db2a40519139af34f485f77d0"}, - {file = "regex-2024.11.6-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:5670bce7b200273eee1840ef307bfa07cda90b38ae56e9a6ebcc9f50da9c469b"}, - {file = "regex-2024.11.6-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:08986dce1339bc932923e7d1232ce9881499a0e02925f7402fb7c982515419ef"}, - {file = "regex-2024.11.6-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:93c0b12d3d3bc25af4ebbf38f9ee780a487e8bf6954c115b9f015822d3bb8e48"}, - {file = "regex-2024.11.6-cp39-cp39-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:764e71f22ab3b305e7f4c21f1a97e1526a25ebdd22513e251cf376760213da13"}, - {file = "regex-2024.11.6-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:f056bf21105c2515c32372bbc057f43eb02aae2fda61052e2f7622c801f0b4e2"}, - {file = "regex-2024.11.6-cp39-cp39-musllinux_1_2_i686.whl", hash = "sha256:69ab78f848845569401469da20df3e081e6b5a11cb086de3eed1d48f5ed57c95"}, - {file = "regex-2024.11.6-cp39-cp39-musllinux_1_2_ppc64le.whl", hash = "sha256:86fddba590aad9208e2fa8b43b4c098bb0ec74f15718bb6a704e3c63e2cef3e9"}, - {file = "regex-2024.11.6-cp39-cp39-musllinux_1_2_s390x.whl", hash = "sha256:684d7a212682996d21ca12ef3c17353c021fe9de6049e19ac8481ec35574a70f"}, - {file = "regex-2024.11.6-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:a03e02f48cd1abbd9f3b7e3586d97c8f7a9721c436f51a5245b3b9483044480b"}, - {file = "regex-2024.11.6-cp39-cp39-win32.whl", hash = "sha256:41758407fc32d5c3c5de163888068cfee69cb4c2be844e7ac517a52770f9af57"}, - {file = "regex-2024.11.6-cp39-cp39-win_amd64.whl", hash = "sha256:b2837718570f95dd41675328e111345f9b7095d821bac435aac173ac80b19983"}, - {file = "regex-2024.11.6.tar.gz", hash = "sha256:7ab159b063c52a0333c884e4679f8d7a85112ee3078fe3d9004b2dd875585519"}, -] - -[[package]] -name = "requests" -version = "2.32.3" -description = "Python HTTP for Humans." -optional = false -python-versions = ">=3.8" -groups = ["main", "build", "dev", "docs"] -markers = "python_version <= \"3.11\" or python_version >= \"3.12\"" -files = [ - {file = "requests-2.32.3-py3-none-any.whl", hash = "sha256:70761cfe03c773ceb22aa2f671b4757976145175cdfca038c02654d061d6dcc6"}, - {file = "requests-2.32.3.tar.gz", hash = "sha256:55365417734eb18255590a9ff9eb97e9e1da868d4ccd6402399eaf68af20a760"}, -] - -[package.dependencies] -certifi = ">=2017.4.17" -charset-normalizer = ">=2,<4" -idna = ">=2.5,<4" -urllib3 = ">=1.21.1,<3" - -[package.extras] -socks = ["PySocks (>=1.5.6,!=1.5.7)"] -use-chardet-on-py3 = ["chardet (>=3.0.2,<6)"] - -[[package]] -name = "requests-toolbelt" -version = "1.0.0" -description = "A utility belt for advanced users of python-requests" -optional = false -python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*" -groups = ["build"] -markers = "python_version <= \"3.11\" or python_version >= \"3.12\"" -files = [ - {file = "requests-toolbelt-1.0.0.tar.gz", hash = "sha256:7681a0a3d047012b5bdc0ee37d7f8f07ebe76ab08caeccfc3921ce23c88d5bc6"}, - {file = "requests_toolbelt-1.0.0-py2.py3-none-any.whl", hash = "sha256:cccfdd665f0a24fcf4726e690f65639d272bb0637b9b92dfd91a5568ccf6bd06"}, -] - -[package.dependencies] -requests = ">=2.0.1,<3.0.0" - -[[package]] -name = "rfc3339-validator" -version = "0.1.4" -description = "A pure python RFC3339 validator" -optional = false -python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*" -groups = ["dev"] -markers = "python_version <= \"3.11\" or python_version >= \"3.12\"" -files = [ - {file = "rfc3339_validator-0.1.4-py2.py3-none-any.whl", hash = "sha256:24f6ec1eda14ef823da9e36ec7113124b39c04d50a4d3d3a3c2859577e7791fa"}, - {file = "rfc3339_validator-0.1.4.tar.gz", hash = "sha256:138a2abdf93304ad60530167e51d2dfb9549521a836871b88d7f4695d0022f6b"}, -] - -[package.dependencies] -six = "*" - -[[package]] -name = "rfc3986" -version = "2.0.0" -description = "Validating URI References per RFC 3986" -optional = false -python-versions = ">=3.7" -groups = ["build"] -markers = "python_version <= \"3.11\" or python_version >= \"3.12\"" -files = [ - {file = "rfc3986-2.0.0-py2.py3-none-any.whl", hash = "sha256:50b1502b60e289cb37883f3dfd34532b8873c7de9f49bb546641ce9cbd256ebd"}, - {file = "rfc3986-2.0.0.tar.gz", hash = "sha256:97aacf9dbd4bfd829baad6e6309fa6573aaf1be3f6fa735c8ab05e46cecb261c"}, -] - -[package.extras] -idna2008 = ["idna"] - -[[package]] -name = "rfc3986-validator" -version = "0.1.1" -description = "Pure python rfc3986 validator" -optional = false -python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*" -groups = ["dev"] -markers = "python_version <= \"3.11\" or python_version >= \"3.12\"" -files = [ - {file = "rfc3986_validator-0.1.1-py2.py3-none-any.whl", hash = "sha256:2f235c432ef459970b4306369336b9d5dbdda31b510ca1e327636e01f528bfa9"}, - {file = "rfc3986_validator-0.1.1.tar.gz", hash = "sha256:3d44bde7921b3b9ec3ae4e3adca370438eccebc676456449b145d533b240d055"}, -] - -[[package]] -name = "rich" -version = "13.9.4" -description = "Render rich text, tables, progress bars, syntax highlighting, markdown and more to the terminal" -optional = false -python-versions = ">=3.8.0" -groups = ["build"] -markers = "python_version <= \"3.11\" or python_version >= \"3.12\"" -files = [ - {file = "rich-13.9.4-py3-none-any.whl", hash = "sha256:6049d5e6ec054bf2779ab3358186963bac2ea89175919d699e378b99738c2a90"}, - {file = "rich-13.9.4.tar.gz", hash = "sha256:439594978a49a09530cff7ebc4b5c7103ef57baf48d5ea3184f21d9a2befa098"}, -] - -[package.dependencies] -markdown-it-py = ">=2.2.0" -pygments = ">=2.13.0,<3.0.0" -typing-extensions = {version = ">=4.0.0,<5.0", markers = "python_version < \"3.11\""} - -[package.extras] -jupyter = ["ipywidgets (>=7.5.1,<9)"] - -[[package]] -name = "rpds-py" -version = "0.20.1" -description = "Python bindings to Rust's persistent data structures (rpds)" -optional = false -python-versions = ">=3.8" -groups = ["dev", "docs"] -markers = "python_version <= \"3.11\" or python_version >= \"3.12\"" -files = [ - {file = "rpds_py-0.20.1-cp310-cp310-macosx_10_12_x86_64.whl", hash = "sha256:a649dfd735fff086e8a9d0503a9f0c7d01b7912a333c7ae77e1515c08c146dad"}, - {file = "rpds_py-0.20.1-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:f16bc1334853e91ddaaa1217045dd7be166170beec337576818461268a3de67f"}, - {file = "rpds_py-0.20.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:14511a539afee6f9ab492b543060c7491c99924314977a55c98bfa2ee29ce78c"}, - {file = "rpds_py-0.20.1-cp310-cp310-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:3ccb8ac2d3c71cda472b75af42818981bdacf48d2e21c36331b50b4f16930163"}, - {file = "rpds_py-0.20.1-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:c142b88039b92e7e0cb2552e8967077e3179b22359e945574f5e2764c3953dcf"}, - {file = "rpds_py-0.20.1-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:f19169781dddae7478a32301b499b2858bc52fc45a112955e798ee307e294977"}, - {file = "rpds_py-0.20.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:13c56de6518e14b9bf6edde23c4c39dac5b48dcf04160ea7bce8fca8397cdf86"}, - {file = "rpds_py-0.20.1-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:925d176a549f4832c6f69fa6026071294ab5910e82a0fe6c6228fce17b0706bd"}, - {file = "rpds_py-0.20.1-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:78f0b6877bfce7a3d1ff150391354a410c55d3cdce386f862926a4958ad5ab7e"}, - {file = "rpds_py-0.20.1-cp310-cp310-musllinux_1_2_i686.whl", hash = "sha256:3dd645e2b0dcb0fd05bf58e2e54c13875847687d0b71941ad2e757e5d89d4356"}, - {file = "rpds_py-0.20.1-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:4f676e21db2f8c72ff0936f895271e7a700aa1f8d31b40e4e43442ba94973899"}, - {file = "rpds_py-0.20.1-cp310-none-win32.whl", hash = "sha256:648386ddd1e19b4a6abab69139b002bc49ebf065b596119f8f37c38e9ecee8ff"}, - {file = "rpds_py-0.20.1-cp310-none-win_amd64.whl", hash = "sha256:d9ecb51120de61e4604650666d1f2b68444d46ae18fd492245a08f53ad2b7711"}, - {file = "rpds_py-0.20.1-cp311-cp311-macosx_10_12_x86_64.whl", hash = "sha256:762703bdd2b30983c1d9e62b4c88664df4a8a4d5ec0e9253b0231171f18f6d75"}, - {file = "rpds_py-0.20.1-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:0b581f47257a9fce535c4567782a8976002d6b8afa2c39ff616edf87cbeff712"}, - {file = "rpds_py-0.20.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:842c19a6ce894493563c3bd00d81d5100e8e57d70209e84d5491940fdb8b9e3a"}, - {file = "rpds_py-0.20.1-cp311-cp311-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:42cbde7789f5c0bcd6816cb29808e36c01b960fb5d29f11e052215aa85497c93"}, - {file = "rpds_py-0.20.1-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:6c8e9340ce5a52f95fa7d3b552b35c7e8f3874d74a03a8a69279fd5fca5dc751"}, - {file = "rpds_py-0.20.1-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:8ba6f89cac95c0900d932c9efb7f0fb6ca47f6687feec41abcb1bd5e2bd45535"}, - {file = "rpds_py-0.20.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:4a916087371afd9648e1962e67403c53f9c49ca47b9680adbeef79da3a7811b0"}, - {file = "rpds_py-0.20.1-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:200a23239781f46149e6a415f1e870c5ef1e712939fe8fa63035cd053ac2638e"}, - {file = "rpds_py-0.20.1-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:58b1d5dd591973d426cbb2da5e27ba0339209832b2f3315928c9790e13f159e8"}, - {file = "rpds_py-0.20.1-cp311-cp311-musllinux_1_2_i686.whl", hash = "sha256:6b73c67850ca7cae0f6c56f71e356d7e9fa25958d3e18a64927c2d930859b8e4"}, - {file = "rpds_py-0.20.1-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:d8761c3c891cc51e90bc9926d6d2f59b27beaf86c74622c8979380a29cc23ac3"}, - {file = "rpds_py-0.20.1-cp311-none-win32.whl", hash = "sha256:cd945871335a639275eee904caef90041568ce3b42f402c6959b460d25ae8732"}, - {file = "rpds_py-0.20.1-cp311-none-win_amd64.whl", hash = "sha256:7e21b7031e17c6b0e445f42ccc77f79a97e2687023c5746bfb7a9e45e0921b84"}, - {file = "rpds_py-0.20.1-cp312-cp312-macosx_10_12_x86_64.whl", hash = "sha256:36785be22066966a27348444b40389f8444671630063edfb1a2eb04318721e17"}, - {file = "rpds_py-0.20.1-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:142c0a5124d9bd0e2976089484af5c74f47bd3298f2ed651ef54ea728d2ea42c"}, - {file = "rpds_py-0.20.1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:dbddc10776ca7ebf2a299c41a4dde8ea0d8e3547bfd731cb87af2e8f5bf8962d"}, - {file = "rpds_py-0.20.1-cp312-cp312-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:15a842bb369e00295392e7ce192de9dcbf136954614124a667f9f9f17d6a216f"}, - {file = "rpds_py-0.20.1-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:be5ef2f1fc586a7372bfc355986226484e06d1dc4f9402539872c8bb99e34b01"}, - {file = "rpds_py-0.20.1-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:dbcf360c9e3399b056a238523146ea77eeb2a596ce263b8814c900263e46031a"}, - {file = "rpds_py-0.20.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ecd27a66740ffd621d20b9a2f2b5ee4129a56e27bfb9458a3bcc2e45794c96cb"}, - {file = "rpds_py-0.20.1-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:d0b937b2a1988f184a3e9e577adaa8aede21ec0b38320d6009e02bd026db04fa"}, - {file = "rpds_py-0.20.1-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:6889469bfdc1eddf489729b471303739bf04555bb151fe8875931f8564309afc"}, - {file = "rpds_py-0.20.1-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:19b73643c802f4eaf13d97f7855d0fb527fbc92ab7013c4ad0e13a6ae0ed23bd"}, - {file = "rpds_py-0.20.1-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:3c6afcf2338e7f374e8edc765c79fbcb4061d02b15dd5f8f314a4af2bdc7feb5"}, - {file = "rpds_py-0.20.1-cp312-none-win32.whl", hash = "sha256:dc73505153798c6f74854aba69cc75953888cf9866465196889c7cdd351e720c"}, - {file = "rpds_py-0.20.1-cp312-none-win_amd64.whl", hash = "sha256:8bbe951244a838a51289ee53a6bae3a07f26d4e179b96fc7ddd3301caf0518eb"}, - {file = "rpds_py-0.20.1-cp313-cp313-macosx_10_12_x86_64.whl", hash = "sha256:6ca91093a4a8da4afae7fe6a222c3b53ee4eef433ebfee4d54978a103435159e"}, - {file = "rpds_py-0.20.1-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:b9c2fe36d1f758b28121bef29ed1dee9b7a2453e997528e7d1ac99b94892527c"}, - {file = "rpds_py-0.20.1-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:f009c69bc8c53db5dfab72ac760895dc1f2bc1b62ab7408b253c8d1ec52459fc"}, - {file = "rpds_py-0.20.1-cp313-cp313-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:6740a3e8d43a32629bb9b009017ea5b9e713b7210ba48ac8d4cb6d99d86c8ee8"}, - {file = "rpds_py-0.20.1-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:32b922e13d4c0080d03e7b62991ad7f5007d9cd74e239c4b16bc85ae8b70252d"}, - {file = "rpds_py-0.20.1-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:fe00a9057d100e69b4ae4a094203a708d65b0f345ed546fdef86498bf5390982"}, - {file = "rpds_py-0.20.1-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:49fe9b04b6fa685bd39237d45fad89ba19e9163a1ccaa16611a812e682913496"}, - {file = "rpds_py-0.20.1-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:aa7ac11e294304e615b43f8c441fee5d40094275ed7311f3420d805fde9b07b4"}, - {file = "rpds_py-0.20.1-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:6aa97af1558a9bef4025f8f5d8c60d712e0a3b13a2fe875511defc6ee77a1ab7"}, - {file = "rpds_py-0.20.1-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:483b29f6f7ffa6af845107d4efe2e3fa8fb2693de8657bc1849f674296ff6a5a"}, - {file = "rpds_py-0.20.1-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:37fe0f12aebb6a0e3e17bb4cd356b1286d2d18d2e93b2d39fe647138458b4bcb"}, - {file = "rpds_py-0.20.1-cp313-none-win32.whl", hash = "sha256:a624cc00ef2158e04188df5e3016385b9353638139a06fb77057b3498f794782"}, - {file = "rpds_py-0.20.1-cp313-none-win_amd64.whl", hash = "sha256:b71b8666eeea69d6363248822078c075bac6ed135faa9216aa85f295ff009b1e"}, - {file = "rpds_py-0.20.1-cp38-cp38-macosx_10_12_x86_64.whl", hash = "sha256:5b48e790e0355865197ad0aca8cde3d8ede347831e1959e158369eb3493d2191"}, - {file = "rpds_py-0.20.1-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:3e310838a5801795207c66c73ea903deda321e6146d6f282e85fa7e3e4854804"}, - {file = "rpds_py-0.20.1-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:2249280b870e6a42c0d972339e9cc22ee98730a99cd7f2f727549af80dd5a963"}, - {file = "rpds_py-0.20.1-cp38-cp38-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:e79059d67bea28b53d255c1437b25391653263f0e69cd7dec170d778fdbca95e"}, - {file = "rpds_py-0.20.1-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:2b431c777c9653e569986ecf69ff4a5dba281cded16043d348bf9ba505486f36"}, - {file = "rpds_py-0.20.1-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:da584ff96ec95e97925174eb8237e32f626e7a1a97888cdd27ee2f1f24dd0ad8"}, - {file = "rpds_py-0.20.1-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:02a0629ec053fc013808a85178524e3cb63a61dbc35b22499870194a63578fb9"}, - {file = "rpds_py-0.20.1-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:fbf15aff64a163db29a91ed0868af181d6f68ec1a3a7d5afcfe4501252840bad"}, - {file = "rpds_py-0.20.1-cp38-cp38-musllinux_1_2_aarch64.whl", hash = "sha256:07924c1b938798797d60c6308fa8ad3b3f0201802f82e4a2c41bb3fafb44cc28"}, - {file = "rpds_py-0.20.1-cp38-cp38-musllinux_1_2_i686.whl", hash = "sha256:4a5a844f68776a7715ecb30843b453f07ac89bad393431efbf7accca3ef599c1"}, - {file = "rpds_py-0.20.1-cp38-cp38-musllinux_1_2_x86_64.whl", hash = "sha256:518d2ca43c358929bf08f9079b617f1c2ca6e8848f83c1225c88caeac46e6cbc"}, - {file = "rpds_py-0.20.1-cp38-none-win32.whl", hash = "sha256:3aea7eed3e55119635a74bbeb80b35e776bafccb70d97e8ff838816c124539f1"}, - {file = "rpds_py-0.20.1-cp38-none-win_amd64.whl", hash = "sha256:7dca7081e9a0c3b6490a145593f6fe3173a94197f2cb9891183ef75e9d64c425"}, - {file = "rpds_py-0.20.1-cp39-cp39-macosx_10_12_x86_64.whl", hash = "sha256:b41b6321805c472f66990c2849e152aff7bc359eb92f781e3f606609eac877ad"}, - {file = "rpds_py-0.20.1-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:0a90c373ea2975519b58dece25853dbcb9779b05cc46b4819cb1917e3b3215b6"}, - {file = "rpds_py-0.20.1-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:16d4477bcb9fbbd7b5b0e4a5d9b493e42026c0bf1f06f723a9353f5153e75d30"}, - {file = "rpds_py-0.20.1-cp39-cp39-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:84b8382a90539910b53a6307f7c35697bc7e6ffb25d9c1d4e998a13e842a5e83"}, - {file = "rpds_py-0.20.1-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:4888e117dd41b9d34194d9e31631af70d3d526efc363085e3089ab1a62c32ed1"}, - {file = "rpds_py-0.20.1-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:5265505b3d61a0f56618c9b941dc54dc334dc6e660f1592d112cd103d914a6db"}, - {file = "rpds_py-0.20.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:e75ba609dba23f2c95b776efb9dd3f0b78a76a151e96f96cc5b6b1b0004de66f"}, - {file = "rpds_py-0.20.1-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:1791ff70bc975b098fe6ecf04356a10e9e2bd7dc21fa7351c1742fdeb9b4966f"}, - {file = "rpds_py-0.20.1-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:d126b52e4a473d40232ec2052a8b232270ed1f8c9571aaf33f73a14cc298c24f"}, - {file = "rpds_py-0.20.1-cp39-cp39-musllinux_1_2_i686.whl", hash = "sha256:c14937af98c4cc362a1d4374806204dd51b1e12dded1ae30645c298e5a5c4cb1"}, - {file = "rpds_py-0.20.1-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:3d089d0b88996df627693639d123c8158cff41c0651f646cd8fd292c7da90eaf"}, - {file = "rpds_py-0.20.1-cp39-none-win32.whl", hash = "sha256:653647b8838cf83b2e7e6a0364f49af96deec64d2a6578324db58380cff82aca"}, - {file = "rpds_py-0.20.1-cp39-none-win_amd64.whl", hash = "sha256:fa41a64ac5b08b292906e248549ab48b69c5428f3987b09689ab2441f267d04d"}, - {file = "rpds_py-0.20.1-pp310-pypy310_pp73-macosx_10_12_x86_64.whl", hash = "sha256:7a07ced2b22f0cf0b55a6a510078174c31b6d8544f3bc00c2bcee52b3d613f74"}, - {file = "rpds_py-0.20.1-pp310-pypy310_pp73-macosx_11_0_arm64.whl", hash = "sha256:68cb0a499f2c4a088fd2f521453e22ed3527154136a855c62e148b7883b99f9a"}, - {file = "rpds_py-0.20.1-pp310-pypy310_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:fa3060d885657abc549b2a0f8e1b79699290e5d83845141717c6c90c2df38311"}, - {file = "rpds_py-0.20.1-pp310-pypy310_pp73-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:95f3b65d2392e1c5cec27cff08fdc0080270d5a1a4b2ea1d51d5f4a2620ff08d"}, - {file = "rpds_py-0.20.1-pp310-pypy310_pp73-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:2cc3712a4b0b76a1d45a9302dd2f53ff339614b1c29603a911318f2357b04dd2"}, - {file = "rpds_py-0.20.1-pp310-pypy310_pp73-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:5d4eea0761e37485c9b81400437adb11c40e13ef513375bbd6973e34100aeb06"}, - {file = "rpds_py-0.20.1-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:7f5179583d7a6cdb981151dd349786cbc318bab54963a192692d945dd3f6435d"}, - {file = "rpds_py-0.20.1-pp310-pypy310_pp73-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:2fbb0ffc754490aff6dabbf28064be47f0f9ca0b9755976f945214965b3ace7e"}, - {file = "rpds_py-0.20.1-pp310-pypy310_pp73-musllinux_1_2_aarch64.whl", hash = "sha256:a94e52537a0e0a85429eda9e49f272ada715506d3b2431f64b8a3e34eb5f3e75"}, - {file = "rpds_py-0.20.1-pp310-pypy310_pp73-musllinux_1_2_i686.whl", hash = "sha256:92b68b79c0da2a980b1c4197e56ac3dd0c8a149b4603747c4378914a68706979"}, - {file = "rpds_py-0.20.1-pp310-pypy310_pp73-musllinux_1_2_x86_64.whl", hash = "sha256:93da1d3db08a827eda74356f9f58884adb254e59b6664f64cc04cdff2cc19b0d"}, - {file = "rpds_py-0.20.1-pp310-pypy310_pp73-win_amd64.whl", hash = "sha256:754bbed1a4ca48479e9d4182a561d001bbf81543876cdded6f695ec3d465846b"}, - {file = "rpds_py-0.20.1-pp39-pypy39_pp73-macosx_10_12_x86_64.whl", hash = "sha256:ca449520e7484534a2a44faf629362cae62b660601432d04c482283c47eaebab"}, - {file = "rpds_py-0.20.1-pp39-pypy39_pp73-macosx_11_0_arm64.whl", hash = "sha256:9c4cb04a16b0f199a8c9bf807269b2f63b7b5b11425e4a6bd44bd6961d28282c"}, - {file = "rpds_py-0.20.1-pp39-pypy39_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:bb63804105143c7e24cee7db89e37cb3f3941f8e80c4379a0b355c52a52b6780"}, - {file = "rpds_py-0.20.1-pp39-pypy39_pp73-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:55cd1fa4ecfa6d9f14fbd97ac24803e6f73e897c738f771a9fe038f2f11ff07c"}, - {file = "rpds_py-0.20.1-pp39-pypy39_pp73-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:0f8f741b6292c86059ed175d80eefa80997125b7c478fb8769fd9ac8943a16c0"}, - {file = "rpds_py-0.20.1-pp39-pypy39_pp73-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:0fc212779bf8411667234b3cdd34d53de6c2b8b8b958e1e12cb473a5f367c338"}, - {file = "rpds_py-0.20.1-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:0ad56edabcdb428c2e33bbf24f255fe2b43253b7d13a2cdbf05de955217313e6"}, - {file = "rpds_py-0.20.1-pp39-pypy39_pp73-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:0a3a1e9ee9728b2c1734f65d6a1d376c6f2f6fdcc13bb007a08cc4b1ff576dc5"}, - {file = "rpds_py-0.20.1-pp39-pypy39_pp73-musllinux_1_2_aarch64.whl", hash = "sha256:e13de156137b7095442b288e72f33503a469aa1980ed856b43c353ac86390519"}, - {file = "rpds_py-0.20.1-pp39-pypy39_pp73-musllinux_1_2_i686.whl", hash = "sha256:07f59760ef99f31422c49038964b31c4dfcfeb5d2384ebfc71058a7c9adae2d2"}, - {file = "rpds_py-0.20.1-pp39-pypy39_pp73-musllinux_1_2_x86_64.whl", hash = "sha256:59240685e7da61fb78f65a9f07f8108e36a83317c53f7b276b4175dc44151684"}, - {file = "rpds_py-0.20.1-pp39-pypy39_pp73-win_amd64.whl", hash = "sha256:83cba698cfb3c2c5a7c3c6bac12fe6c6a51aae69513726be6411076185a8b24a"}, - {file = "rpds_py-0.20.1.tar.gz", hash = "sha256:e1791c4aabd117653530dccd24108fa03cc6baf21f58b950d0a73c3b3b29a350"}, -] - -[[package]] -name = "scipy" -version = "1.10.0" -description = "Fundamental algorithms for scientific computing in Python" -optional = false -python-versions = "<3.12,>=3.8" -groups = ["main"] -markers = "python_version < \"3.9\"" -files = [ - {file = "scipy-1.10.0-cp310-cp310-macosx_10_15_x86_64.whl", hash = "sha256:b901b423c91281a974f6cd1c36f5c6c523e665b5a6d5e80fcb2334e14670eefd"}, - {file = "scipy-1.10.0-cp310-cp310-macosx_12_0_arm64.whl", hash = "sha256:16ba05d3d1b9f2141004f3f36888e05894a525960b07f4c2bfc0456b955a00be"}, - {file = "scipy-1.10.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:151f066fe7d6653c3ffefd489497b8fa66d7316e3e0d0c0f7ff6acca1b802809"}, - {file = "scipy-1.10.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:2f9ea0a37aca111a407cb98aa4e8dfde6e5d9333bae06dfa5d938d14c80bb5c3"}, - {file = "scipy-1.10.0-cp310-cp310-win_amd64.whl", hash = "sha256:27e548276b5a88b51212b61f6dda49a24acf5d770dff940bd372b3f7ced8c6c2"}, - {file = "scipy-1.10.0-cp311-cp311-macosx_10_15_x86_64.whl", hash = "sha256:42ab8b9e7dc1ebe248e55f54eea5307b6ab15011a7883367af48dd781d1312e4"}, - {file = "scipy-1.10.0-cp311-cp311-macosx_12_0_arm64.whl", hash = "sha256:e096b062d2efdea57f972d232358cb068413dc54eec4f24158bcbb5cb8bddfd8"}, - {file = "scipy-1.10.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:4df25a28bd22c990b22129d3c637fd5c3be4b7c94f975dca909d8bab3309b694"}, - {file = "scipy-1.10.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:2ad449db4e0820e4b42baccefc98ec772ad7818dcbc9e28b85aa05a536b0f1a2"}, - {file = "scipy-1.10.0-cp311-cp311-win_amd64.whl", hash = "sha256:6faf86ef7717891195ae0537e48da7524d30bc3b828b30c9b115d04ea42f076f"}, - {file = "scipy-1.10.0-cp38-cp38-macosx_10_15_x86_64.whl", hash = "sha256:4bd0e3278126bc882d10414436e58fa3f1eca0aa88b534fcbf80ed47e854f46c"}, - {file = "scipy-1.10.0-cp38-cp38-macosx_12_0_arm64.whl", hash = "sha256:38bfbd18dcc69eeb589811e77fae552fa923067fdfbb2e171c9eac749885f210"}, - {file = "scipy-1.10.0-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:0ab2a58064836632e2cec31ca197d3695c86b066bc4818052b3f5381bfd2a728"}, - {file = "scipy-1.10.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:5cd7a30970c29d9768a7164f564d1fbf2842bfc77b7d114a99bc32703ce0bf48"}, - {file = "scipy-1.10.0-cp38-cp38-win_amd64.whl", hash = "sha256:9b878c671655864af59c108c20e4da1e796154bd78c0ed6bb02bc41c84625686"}, - {file = "scipy-1.10.0-cp39-cp39-macosx_10_15_x86_64.whl", hash = "sha256:3afcbddb4488ac950ce1147e7580178b333a29cd43524c689b2e3543a080a2c8"}, - {file = "scipy-1.10.0-cp39-cp39-macosx_12_0_arm64.whl", hash = "sha256:6e4497e5142f325a5423ff5fda2fff5b5d953da028637ff7c704378c8c284ea7"}, - {file = "scipy-1.10.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:441cab2166607c82e6d7a8683779cb89ba0f475b983c7e4ab88f3668e268c143"}, - {file = "scipy-1.10.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:0490dc499fe23e4be35b8b6dd1e60a4a34f0c4adb30ac671e6332446b3cbbb5a"}, - {file = "scipy-1.10.0-cp39-cp39-win_amd64.whl", hash = "sha256:954ff69d2d1bf666b794c1d7216e0a746c9d9289096a64ab3355a17c7c59db54"}, - {file = "scipy-1.10.0.tar.gz", hash = "sha256:c8b3cbc636a87a89b770c6afc999baa6bcbb01691b5ccbbc1b1791c7c0a07540"}, -] - -[package.dependencies] -numpy = ">=1.19.5,<1.27.0" - -[package.extras] -dev = ["click", "doit (>=0.36.0)", "flake8", "mypy", "pycodestyle", "pydevtool", "rich-click", "typing_extensions"] -doc = ["matplotlib (>2)", "numpydoc", "pydata-sphinx-theme (==0.9.0)", "sphinx (!=4.1.0)", "sphinx-design (>=0.2.0)"] -test = ["asv", "gmpy2", "mpmath", "pooch", "pytest", "pytest-cov", "pytest-timeout", "pytest-xdist", "scikit-umfpack", "threadpoolctl"] - -[[package]] -name = "scipy" -version = "1.13.1" -description = "Fundamental algorithms for scientific computing in Python" -optional = false -python-versions = ">=3.9" -groups = ["main"] -markers = "python_version >= \"3.9\" and python_version <= \"3.11\" or python_version >= \"3.12\" and python_version < \"3.13\"" -files = [ - {file = "scipy-1.13.1-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:20335853b85e9a49ff7572ab453794298bcf0354d8068c5f6775a0eabf350aca"}, - {file = "scipy-1.13.1-cp310-cp310-macosx_12_0_arm64.whl", hash = "sha256:d605e9c23906d1994f55ace80e0125c587f96c020037ea6aa98d01b4bd2e222f"}, - {file = "scipy-1.13.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:cfa31f1def5c819b19ecc3a8b52d28ffdcc7ed52bb20c9a7589669dd3c250989"}, - {file = "scipy-1.13.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f26264b282b9da0952a024ae34710c2aff7d27480ee91a2e82b7b7073c24722f"}, - {file = "scipy-1.13.1-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:eccfa1906eacc02de42d70ef4aecea45415f5be17e72b61bafcfd329bdc52e94"}, - {file = "scipy-1.13.1-cp310-cp310-win_amd64.whl", hash = "sha256:2831f0dc9c5ea9edd6e51e6e769b655f08ec6db6e2e10f86ef39bd32eb11da54"}, - {file = "scipy-1.13.1-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:27e52b09c0d3a1d5b63e1105f24177e544a222b43611aaf5bc44d4a0979e32f9"}, - {file = "scipy-1.13.1-cp311-cp311-macosx_12_0_arm64.whl", hash = "sha256:54f430b00f0133e2224c3ba42b805bfd0086fe488835effa33fa291561932326"}, - {file = "scipy-1.13.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:e89369d27f9e7b0884ae559a3a956e77c02114cc60a6058b4e5011572eea9299"}, - {file = "scipy-1.13.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:a78b4b3345f1b6f68a763c6e25c0c9a23a9fd0f39f5f3d200efe8feda560a5fa"}, - {file = "scipy-1.13.1-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:45484bee6d65633752c490404513b9ef02475b4284c4cfab0ef946def50b3f59"}, - {file = "scipy-1.13.1-cp311-cp311-win_amd64.whl", hash = "sha256:5713f62f781eebd8d597eb3f88b8bf9274e79eeabf63afb4a737abc6c84ad37b"}, - {file = "scipy-1.13.1-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:5d72782f39716b2b3509cd7c33cdc08c96f2f4d2b06d51e52fb45a19ca0c86a1"}, - {file = "scipy-1.13.1-cp312-cp312-macosx_12_0_arm64.whl", hash = "sha256:017367484ce5498445aade74b1d5ab377acdc65e27095155e448c88497755a5d"}, - {file = "scipy-1.13.1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:949ae67db5fa78a86e8fa644b9a6b07252f449dcf74247108c50e1d20d2b4627"}, - {file = "scipy-1.13.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:de3ade0e53bc1f21358aa74ff4830235d716211d7d077e340c7349bc3542e884"}, - {file = "scipy-1.13.1-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:2ac65fb503dad64218c228e2dc2d0a0193f7904747db43014645ae139c8fad16"}, - {file = "scipy-1.13.1-cp312-cp312-win_amd64.whl", hash = "sha256:cdd7dacfb95fea358916410ec61bbc20440f7860333aee6d882bb8046264e949"}, - {file = "scipy-1.13.1-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:436bbb42a94a8aeef855d755ce5a465479c721e9d684de76bf61a62e7c2b81d5"}, - {file = "scipy-1.13.1-cp39-cp39-macosx_12_0_arm64.whl", hash = "sha256:8335549ebbca860c52bf3d02f80784e91a004b71b059e3eea9678ba994796a24"}, - {file = "scipy-1.13.1-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d533654b7d221a6a97304ab63c41c96473ff04459e404b83275b60aa8f4b7004"}, - {file = "scipy-1.13.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:637e98dcf185ba7f8e663e122ebf908c4702420477ae52a04f9908707456ba4d"}, - {file = "scipy-1.13.1-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:a014c2b3697bde71724244f63de2476925596c24285c7a637364761f8710891c"}, - {file = "scipy-1.13.1-cp39-cp39-win_amd64.whl", hash = "sha256:392e4ec766654852c25ebad4f64e4e584cf19820b980bc04960bca0b0cd6eaa2"}, - {file = "scipy-1.13.1.tar.gz", hash = "sha256:095a87a0312b08dfd6a6155cbbd310a8c51800fc931b8c0b84003014b874ed3c"}, -] - -[package.dependencies] -numpy = ">=1.22.4,<2.3" - -[package.extras] -dev = ["cython-lint (>=0.12.2)", "doit (>=0.36.0)", "mypy", "pycodestyle", "pydevtool", "rich-click", "ruff", "types-psutil", "typing_extensions"] -doc = ["jupyterlite-pyodide-kernel", "jupyterlite-sphinx (>=0.12.0)", "jupytext", "matplotlib (>=3.5)", "myst-nb", "numpydoc", "pooch", "pydata-sphinx-theme (>=0.15.2)", "sphinx (>=5.0.0)", "sphinx-design (>=0.4.0)"] -test = ["array-api-strict", "asv", "gmpy2", "hypothesis (>=6.30)", "mpmath", "pooch", "pytest", "pytest-cov", "pytest-timeout", "pytest-xdist", "scikit-umfpack", "threadpoolctl"] - -[[package]] -name = "scipy" -version = "1.15.0" -description = "Fundamental algorithms for scientific computing in Python" -optional = false -python-versions = ">=3.10" -groups = ["main"] -markers = "python_version >= \"3.13\"" -files = [ - {file = "scipy-1.15.0-cp310-cp310-macosx_10_13_x86_64.whl", hash = "sha256:aeac60d3562a7bf2f35549bdfdb6b1751c50590f55ce7322b4b2fc821dc27fca"}, - {file = "scipy-1.15.0-cp310-cp310-macosx_12_0_arm64.whl", hash = "sha256:5abbdc6ede5c5fed7910cf406a948e2c0869231c0db091593a6b2fa78be77e5d"}, - {file = "scipy-1.15.0-cp310-cp310-macosx_14_0_arm64.whl", hash = "sha256:eb1533c59f0ec6c55871206f15a5c72d1fae7ad3c0a8ca33ca88f7c309bbbf8c"}, - {file = "scipy-1.15.0-cp310-cp310-macosx_14_0_x86_64.whl", hash = "sha256:de112c2dae53107cfeaf65101419662ac0a54e9a088c17958b51c95dac5de56d"}, - {file = "scipy-1.15.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:2240e1fd0782e62e1aacdc7234212ee271d810f67e9cd3b8d521003a82603ef8"}, - {file = "scipy-1.15.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:d35aef233b098e4de88b1eac29f0df378278e7e250a915766786b773309137c4"}, - {file = "scipy-1.15.0-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:1b29e4fc02e155a5fd1165f1e6a73edfdd110470736b0f48bcbe48083f0eee37"}, - {file = "scipy-1.15.0-cp310-cp310-win_amd64.whl", hash = "sha256:0e5b34f8894f9904cc578008d1a9467829c1817e9f9cb45e6d6eeb61d2ab7731"}, - {file = "scipy-1.15.0-cp311-cp311-macosx_10_13_x86_64.whl", hash = "sha256:46e91b5b16909ff79224b56e19cbad65ca500b3afda69225820aa3afbf9ec020"}, - {file = "scipy-1.15.0-cp311-cp311-macosx_12_0_arm64.whl", hash = "sha256:82bff2eb01ccf7cea8b6ee5274c2dbeadfdac97919da308ee6d8e5bcbe846443"}, - {file = "scipy-1.15.0-cp311-cp311-macosx_14_0_arm64.whl", hash = "sha256:9c8254fe21dd2c6c8f7757035ec0c31daecf3bb3cffd93bc1ca661b731d28136"}, - {file = "scipy-1.15.0-cp311-cp311-macosx_14_0_x86_64.whl", hash = "sha256:c9624eeae79b18cab1a31944b5ef87aa14b125d6ab69b71db22f0dbd962caf1e"}, - {file = "scipy-1.15.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d13bbc0658c11f3d19df4138336e4bce2c4fbd78c2755be4bf7b8e235481557f"}, - {file = "scipy-1.15.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:bdca4c7bb8dc41307e5f39e9e5d19c707d8e20a29845e7533b3bb20a9d4ccba0"}, - {file = "scipy-1.15.0-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:6f376d7c767731477bac25a85d0118efdc94a572c6b60decb1ee48bf2391a73b"}, - {file = "scipy-1.15.0-cp311-cp311-win_amd64.whl", hash = "sha256:61513b989ee8d5218fbeb178b2d51534ecaddba050db949ae99eeb3d12f6825d"}, - {file = "scipy-1.15.0-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:5beb0a2200372b7416ec73fdae94fe81a6e85e44eb49c35a11ac356d2b8eccc6"}, - {file = "scipy-1.15.0-cp312-cp312-macosx_12_0_arm64.whl", hash = "sha256:fde0f3104dfa1dfbc1f230f65506532d0558d43188789eaf68f97e106249a913"}, - {file = "scipy-1.15.0-cp312-cp312-macosx_14_0_arm64.whl", hash = "sha256:35c68f7044b4e7ad73a3e68e513dda946989e523df9b062bd3cf401a1a882192"}, - {file = "scipy-1.15.0-cp312-cp312-macosx_14_0_x86_64.whl", hash = "sha256:52475011be29dfcbecc3dfe3060e471ac5155d72e9233e8d5616b84e2b542054"}, - {file = "scipy-1.15.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:5972e3f96f7dda4fd3bb85906a17338e65eaddfe47f750e240f22b331c08858e"}, - {file = "scipy-1.15.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:fe00169cf875bed0b3c40e4da45b57037dc21d7c7bf0c85ed75f210c281488f1"}, - {file = "scipy-1.15.0-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:161f80a98047c219c257bf5ce1777c574bde36b9d962a46b20d0d7e531f86863"}, - {file = "scipy-1.15.0-cp312-cp312-win_amd64.whl", hash = "sha256:327163ad73e54541a675240708244644294cb0a65cca420c9c79baeb9648e479"}, - {file = "scipy-1.15.0-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:0fcb16eb04d84670722ce8d93b05257df471704c913cb0ff9dc5a1c31d1e9422"}, - {file = "scipy-1.15.0-cp313-cp313-macosx_12_0_arm64.whl", hash = "sha256:767e8cf6562931f8312f4faa7ddea412cb783d8df49e62c44d00d89f41f9bbe8"}, - {file = "scipy-1.15.0-cp313-cp313-macosx_14_0_arm64.whl", hash = "sha256:37ce9394cdcd7c5f437583fc6ef91bd290014993900643fdfc7af9b052d1613b"}, - {file = "scipy-1.15.0-cp313-cp313-macosx_14_0_x86_64.whl", hash = "sha256:6d26f17c64abd6c6c2dfb39920f61518cc9e213d034b45b2380e32ba78fde4c0"}, - {file = "scipy-1.15.0-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:1e2448acd79c6374583581a1ded32ac71a00c2b9c62dfa87a40e1dd2520be111"}, - {file = "scipy-1.15.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:36be480e512d38db67f377add5b759fb117edd987f4791cdf58e59b26962bee4"}, - {file = "scipy-1.15.0-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:ccb6248a9987193fe74363a2d73b93bc2c546e0728bd786050b7aef6e17db03c"}, - {file = "scipy-1.15.0-cp313-cp313-win_amd64.whl", hash = "sha256:952d2e9eaa787f0a9e95b6e85da3654791b57a156c3e6609e65cc5176ccfe6f2"}, - {file = "scipy-1.15.0-cp313-cp313t-macosx_10_13_x86_64.whl", hash = "sha256:b1432102254b6dc7766d081fa92df87832ac25ff0b3d3a940f37276e63eb74ff"}, - {file = "scipy-1.15.0-cp313-cp313t-macosx_12_0_arm64.whl", hash = "sha256:4e08c6a36f46abaedf765dd2dfcd3698fa4bd7e311a9abb2d80e33d9b2d72c34"}, - {file = "scipy-1.15.0-cp313-cp313t-macosx_14_0_arm64.whl", hash = "sha256:ec915cd26d76f6fc7ae8522f74f5b2accf39546f341c771bb2297f3871934a52"}, - {file = "scipy-1.15.0-cp313-cp313t-macosx_14_0_x86_64.whl", hash = "sha256:351899dd2a801edd3691622172bc8ea01064b1cada794f8641b89a7dc5418db6"}, - {file = "scipy-1.15.0-cp313-cp313t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:e9baff912ea4f78a543d183ed6f5b3bea9784509b948227daaf6f10727a0e2e5"}, - {file = "scipy-1.15.0-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:cd9d9198a7fd9a77f0eb5105ea9734df26f41faeb2a88a0e62e5245506f7b6df"}, - {file = "scipy-1.15.0-cp313-cp313t-win_amd64.whl", hash = "sha256:129f899ed275c0515d553b8d31696924e2ca87d1972421e46c376b9eb87de3d2"}, - {file = "scipy-1.15.0.tar.gz", hash = "sha256:300742e2cc94e36a2880ebe464a1c8b4352a7b0f3e36ec3d2ac006cdbe0219ac"}, -] - -[package.dependencies] -numpy = ">=1.23.5,<2.5" - -[package.extras] -dev = ["cython-lint (>=0.12.2)", "doit (>=0.36.0)", "mypy (==1.10.0)", "pycodestyle", "pydevtool", "rich-click", "ruff (>=0.0.292)", "types-psutil", "typing_extensions"] -doc = ["intersphinx_registry", "jupyterlite-pyodide-kernel", "jupyterlite-sphinx (>=0.16.5)", "jupytext", "matplotlib (>=3.5)", "myst-nb", "numpydoc", "pooch", "pydata-sphinx-theme (>=0.15.2)", "sphinx (>=5.0.0,<8.0.0)", "sphinx-copybutton", "sphinx-design (>=0.4.0)"] -test = ["Cython", "array-api-strict (>=2.0,<2.1.1)", "asv", "gmpy2", "hypothesis (>=6.30)", "meson", "mpmath", "ninja", "pooch", "pytest", "pytest-cov", "pytest-timeout", "pytest-xdist", "scikit-umfpack", "threadpoolctl"] - -[[package]] -name = "secretstorage" -version = "3.3.3" -description = "Python bindings to FreeDesktop.org Secret Service API" -optional = false -python-versions = ">=3.6" -groups = ["build"] -markers = "sys_platform == \"linux\" and (platform_machine != \"ppc64le\" and platform_machine != \"s390x\" or python_version <= \"3.11\") and (python_version <= \"3.11\" or python_version >= \"3.12\") and (platform_machine == \"arm64\" or platform_machine == \"aarch64\" or platform_machine != \"ppc64le\" and platform_machine != \"s390x\") and (platform_machine == \"arm64\" or platform_machine == \"aarch64\" or platform_system != \"Linux\" or platform_machine != \"ppc64le\" and platform_machine != \"s390x\" and platform_machine != \"aarch64\" or python_version >= \"3.9\") and (platform_machine == \"arm64\" or platform_machine == \"aarch64\" or platform_system != \"Darwin\" or platform_machine != \"ppc64le\" and platform_machine != \"s390x\" and platform_machine != \"arm64\" or python_version >= \"3.9\")" -files = [ - {file = "SecretStorage-3.3.3-py3-none-any.whl", hash = "sha256:f356e6628222568e3af06f2eba8df495efa13b3b63081dafd4f7d9a7b7bc9f99"}, - {file = "SecretStorage-3.3.3.tar.gz", hash = "sha256:2403533ef369eca6d2ba81718576c5e0f564d5cca1b58f73a8b23e7d4eeebd77"}, -] - -[package.dependencies] -cryptography = ">=2.0" -jeepney = ">=0.6" - -[[package]] -name = "send2trash" -version = "1.8.3" -description = "Send file to trash natively under Mac OS X, Windows and Linux" -optional = false -python-versions = "!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*,!=3.4.*,!=3.5.*,>=2.7" -groups = ["dev"] -markers = "python_version <= \"3.11\" or python_version >= \"3.12\"" -files = [ - {file = "Send2Trash-1.8.3-py3-none-any.whl", hash = "sha256:0c31227e0bd08961c7665474a3d1ef7193929fedda4233843689baa056be46c9"}, - {file = "Send2Trash-1.8.3.tar.gz", hash = "sha256:b18e7a3966d99871aefeb00cfbcfdced55ce4871194810fc71f4aa484b953abf"}, -] - -[package.extras] -nativelib = ["pyobjc-framework-Cocoa", "pywin32"] -objc = ["pyobjc-framework-Cocoa"] -win32 = ["pywin32"] - -[[package]] -name = "setuptools" -version = "75.3.0" -description = "Easily download, build, install, upgrade, and uninstall Python packages" -optional = false -python-versions = ">=3.8" -groups = ["dev"] -markers = "python_version <= \"3.11\" or python_version >= \"3.12\"" -files = [ - {file = "setuptools-75.3.0-py3-none-any.whl", hash = "sha256:f2504966861356aa38616760c0f66568e535562374995367b4e69c7143cf6bcd"}, - {file = "setuptools-75.3.0.tar.gz", hash = "sha256:fba5dd4d766e97be1b1681d98712680ae8f2f26d7881245f2ce9e40714f1a686"}, -] - -[package.extras] -check = ["pytest-checkdocs (>=2.4)", "pytest-ruff (>=0.2.1)", "ruff (>=0.5.2)"] -core = ["importlib-metadata (>=6)", "importlib-resources (>=5.10.2)", "jaraco.collections", "jaraco.functools", "jaraco.text (>=3.7)", "more-itertools", "more-itertools (>=8.8)", "packaging", "packaging (>=24)", "platformdirs (>=4.2.2)", "tomli (>=2.0.1)", "wheel (>=0.43.0)"] -cover = ["pytest-cov"] -doc = ["furo", "jaraco.packaging (>=9.3)", "jaraco.tidelift (>=1.4)", "pygments-github-lexers (==0.0.5)", "pyproject-hooks (!=1.1)", "rst.linker (>=1.9)", "sphinx (>=3.5)", "sphinx-favicon", "sphinx-inline-tabs", "sphinx-lint", "sphinx-notfound-page (>=1,<2)", "sphinx-reredirects", "sphinxcontrib-towncrier", "towncrier (<24.7)"] -enabler = ["pytest-enabler (>=2.2)"] -test = ["build[virtualenv] (>=1.0.3)", "filelock (>=3.4.0)", "ini2toml[lite] (>=0.14)", "jaraco.develop (>=7.21)", "jaraco.envs (>=2.2)", "jaraco.path (>=3.2.0)", "jaraco.test (>=5.5)", "packaging (>=23.2)", "pip (>=19.1)", "pyproject-hooks (!=1.1)", "pytest (>=6,!=8.1.*)", "pytest-home (>=0.5)", "pytest-perf", "pytest-subprocess", "pytest-timeout", "pytest-xdist (>=3)", "tomli-w (>=1.0.0)", "virtualenv (>=13.0.0)", "wheel (>=0.44.0)"] -type = ["importlib-metadata (>=7.0.2)", "jaraco.develop (>=7.21)", "mypy (==1.12.*)", "pytest-mypy"] - -[[package]] -name = "six" -version = "1.17.0" -description = "Python 2 and 3 compatibility utilities" -optional = false -python-versions = "!=3.0.*,!=3.1.*,!=3.2.*,>=2.7" -groups = ["main", "dev", "docs"] -markers = "python_version <= \"3.11\" or python_version >= \"3.12\"" -files = [ - {file = "six-1.17.0-py2.py3-none-any.whl", hash = "sha256:4721f391ed90541fddacab5acf947aa0d3dc7d27b2e1e8eda2be8970586c3274"}, - {file = "six-1.17.0.tar.gz", hash = "sha256:ff70335d468e7eb6ec65b95b99d3a2836546063f63acc5171de367e834932a81"}, -] - -[[package]] -name = "smmap" -version = "5.0.2" -description = "A pure Python implementation of a sliding window memory map manager" -optional = false -python-versions = ">=3.7" -groups = ["docs"] -markers = "python_version <= \"3.11\" or python_version >= \"3.12\"" -files = [ - {file = "smmap-5.0.2-py3-none-any.whl", hash = "sha256:b30115f0def7d7531d22a0fb6502488d879e75b260a9db4d0819cfb25403af5e"}, - {file = "smmap-5.0.2.tar.gz", hash = "sha256:26ea65a03958fa0c8a1c7e8c7a58fdc77221b8910f6be2131affade476898ad5"}, -] - -[[package]] -name = "sniffio" -version = "1.3.1" -description = "Sniff out which async library your code is running under" -optional = false -python-versions = ">=3.7" -groups = ["dev"] -markers = "python_version <= \"3.11\" or python_version >= \"3.12\"" -files = [ - {file = "sniffio-1.3.1-py3-none-any.whl", hash = "sha256:2f6da418d1f1e0fddd844478f41680e794e6051915791a034ff65e5f100525a2"}, - {file = "sniffio-1.3.1.tar.gz", hash = "sha256:f4324edc670a0f49750a81b895f35c3adb843cca46f0530f79fc1babb23789dc"}, -] - -[[package]] -name = "soupsieve" -version = "2.6" -description = "A modern CSS selector implementation for Beautiful Soup." -optional = false -python-versions = ">=3.8" -groups = ["dev", "docs"] -markers = "python_version <= \"3.11\" or python_version >= \"3.12\"" -files = [ - {file = "soupsieve-2.6-py3-none-any.whl", hash = "sha256:e72c4ff06e4fb6e4b5a9f0f55fe6e81514581fca1515028625d0f299c602ccc9"}, - {file = "soupsieve-2.6.tar.gz", hash = "sha256:e2e68417777af359ec65daac1057404a3c8a5455bb8abc36f1a9866ab1a51abb"}, -] - -[[package]] -name = "stack-data" -version = "0.6.3" -description = "Extract data from python stack frames and tracebacks for informative displays" -optional = false -python-versions = "*" -groups = ["dev", "docs"] -markers = "python_version <= \"3.11\" or python_version >= \"3.12\"" -files = [ - {file = "stack_data-0.6.3-py3-none-any.whl", hash = "sha256:d5558e0c25a4cb0853cddad3d77da9891a08cb85dd9f9f91b9f8cd66e511e695"}, - {file = "stack_data-0.6.3.tar.gz", hash = "sha256:836a778de4fec4dcd1dcd89ed8abff8a221f58308462e1c4aa2a3cf30148f0b9"}, -] - -[package.dependencies] -asttokens = ">=2.1.0" -executing = ">=1.2.0" -pure-eval = "*" - -[package.extras] -tests = ["cython", "littleutils", "pygments", "pytest", "typeguard"] - -[[package]] -name = "terminado" -version = "0.18.1" -description = "Tornado websocket backend for the Xterm.js Javascript terminal emulator library." -optional = false -python-versions = ">=3.8" -groups = ["dev"] -markers = "python_version <= \"3.11\" or python_version >= \"3.12\"" -files = [ - {file = "terminado-0.18.1-py3-none-any.whl", hash = "sha256:a4468e1b37bb318f8a86514f65814e1afc977cf29b3992a4500d9dd305dcceb0"}, - {file = "terminado-0.18.1.tar.gz", hash = "sha256:de09f2c4b85de4765f7714688fff57d3e75bad1f909b589fde880460c753fd2e"}, -] - -[package.dependencies] -ptyprocess = {version = "*", markers = "os_name != \"nt\""} -pywinpty = {version = ">=1.1.0", markers = "os_name == \"nt\""} -tornado = ">=6.1.0" - -[package.extras] -docs = ["myst-parser", "pydata-sphinx-theme", "sphinx"] -test = ["pre-commit", "pytest (>=7.0)", "pytest-timeout"] -typing = ["mypy (>=1.6,<2.0)", "traitlets (>=5.11.1)"] - -[[package]] -name = "tinycss2" -version = "1.2.1" -description = "A tiny CSS parser" -optional = false -python-versions = ">=3.7" -groups = ["dev", "docs"] -markers = "python_version <= \"3.11\" or python_version >= \"3.12\"" -files = [ - {file = "tinycss2-1.2.1-py3-none-any.whl", hash = "sha256:2b80a96d41e7c3914b8cda8bc7f705a4d9c49275616e886103dd839dfc847847"}, - {file = "tinycss2-1.2.1.tar.gz", hash = "sha256:8cff3a8f066c2ec677c06dbc7b45619804a6938478d9d73c284b29d14ecb0627"}, -] - -[package.dependencies] -webencodings = ">=0.4" - -[package.extras] -doc = ["sphinx", "sphinx_rtd_theme"] -test = ["flake8", "isort", "pytest"] - -[[package]] -name = "tomli" -version = "2.2.1" -description = "A lil' TOML parser" -optional = false -python-versions = ">=3.8" -groups = ["build", "dev", "docs"] -markers = "python_version < \"3.11\"" -files = [ - {file = "tomli-2.2.1-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:678e4fa69e4575eb77d103de3df8a895e1591b48e740211bd1067378c69e8249"}, - {file = "tomli-2.2.1-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:023aa114dd824ade0100497eb2318602af309e5a55595f76b626d6d9f3b7b0a6"}, - {file = "tomli-2.2.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:ece47d672db52ac607a3d9599a9d48dcb2f2f735c6c2d1f34130085bb12b112a"}, - {file = "tomli-2.2.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:6972ca9c9cc9f0acaa56a8ca1ff51e7af152a9f87fb64623e31d5c83700080ee"}, - {file = "tomli-2.2.1-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:c954d2250168d28797dd4e3ac5cf812a406cd5a92674ee4c8f123c889786aa8e"}, - {file = "tomli-2.2.1-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:8dd28b3e155b80f4d54beb40a441d366adcfe740969820caf156c019fb5c7ec4"}, - {file = "tomli-2.2.1-cp311-cp311-musllinux_1_2_i686.whl", hash = "sha256:e59e304978767a54663af13c07b3d1af22ddee3bb2fb0618ca1593e4f593a106"}, - {file = "tomli-2.2.1-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:33580bccab0338d00994d7f16f4c4ec25b776af3ffaac1ed74e0b3fc95e885a8"}, - {file = "tomli-2.2.1-cp311-cp311-win32.whl", hash = "sha256:465af0e0875402f1d226519c9904f37254b3045fc5084697cefb9bdde1ff99ff"}, - {file = "tomli-2.2.1-cp311-cp311-win_amd64.whl", hash = "sha256:2d0f2fdd22b02c6d81637a3c95f8cd77f995846af7414c5c4b8d0545afa1bc4b"}, - {file = "tomli-2.2.1-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:4a8f6e44de52d5e6c657c9fe83b562f5f4256d8ebbfe4ff922c495620a7f6cea"}, - {file = "tomli-2.2.1-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:8d57ca8095a641b8237d5b079147646153d22552f1c637fd3ba7f4b0b29167a8"}, - {file = "tomli-2.2.1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:4e340144ad7ae1533cb897d406382b4b6fede8890a03738ff1683af800d54192"}, - {file = "tomli-2.2.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:db2b95f9de79181805df90bedc5a5ab4c165e6ec3fe99f970d0e302f384ad222"}, - {file = "tomli-2.2.1-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:40741994320b232529c802f8bc86da4e1aa9f413db394617b9a256ae0f9a7f77"}, - {file = "tomli-2.2.1-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:400e720fe168c0f8521520190686ef8ef033fb19fc493da09779e592861b78c6"}, - {file = "tomli-2.2.1-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:02abe224de6ae62c19f090f68da4e27b10af2b93213d36cf44e6e1c5abd19fdd"}, - {file = "tomli-2.2.1-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:b82ebccc8c8a36f2094e969560a1b836758481f3dc360ce9a3277c65f374285e"}, - {file = "tomli-2.2.1-cp312-cp312-win32.whl", hash = "sha256:889f80ef92701b9dbb224e49ec87c645ce5df3fa2cc548664eb8a25e03127a98"}, - {file = "tomli-2.2.1-cp312-cp312-win_amd64.whl", hash = "sha256:7fc04e92e1d624a4a63c76474610238576942d6b8950a2d7f908a340494e67e4"}, - {file = "tomli-2.2.1-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:f4039b9cbc3048b2416cc57ab3bda989a6fcf9b36cf8937f01a6e731b64f80d7"}, - {file = "tomli-2.2.1-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:286f0ca2ffeeb5b9bd4fcc8d6c330534323ec51b2f52da063b11c502da16f30c"}, - {file = "tomli-2.2.1-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a92ef1a44547e894e2a17d24e7557a5e85a9e1d0048b0b5e7541f76c5032cb13"}, - {file = "tomli-2.2.1-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:9316dc65bed1684c9a98ee68759ceaed29d229e985297003e494aa825ebb0281"}, - {file = "tomli-2.2.1-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:e85e99945e688e32d5a35c1ff38ed0b3f41f43fad8df0bdf79f72b2ba7bc5272"}, - {file = "tomli-2.2.1-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:ac065718db92ca818f8d6141b5f66369833d4a80a9d74435a268c52bdfa73140"}, - {file = "tomli-2.2.1-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:d920f33822747519673ee656a4b6ac33e382eca9d331c87770faa3eef562aeb2"}, - {file = "tomli-2.2.1-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:a198f10c4d1b1375d7687bc25294306e551bf1abfa4eace6650070a5c1ae2744"}, - {file = "tomli-2.2.1-cp313-cp313-win32.whl", hash = "sha256:d3f5614314d758649ab2ab3a62d4f2004c825922f9e370b29416484086b264ec"}, - {file = "tomli-2.2.1-cp313-cp313-win_amd64.whl", hash = "sha256:a38aa0308e754b0e3c67e344754dff64999ff9b513e691d0e786265c93583c69"}, - {file = "tomli-2.2.1-py3-none-any.whl", hash = "sha256:cb55c73c5f4408779d0cf3eef9f762b9c9f147a77de7b258bef0a5628adc85cc"}, - {file = "tomli-2.2.1.tar.gz", hash = "sha256:cd45e1dc79c835ce60f7404ec8119f2eb06d38b1deba146f07ced3bbc44505ff"}, -] - -[[package]] -name = "tornado" -version = "6.4.2" -description = "Tornado is a Python web framework and asynchronous networking library, originally developed at FriendFeed." -optional = false -python-versions = ">=3.8" -groups = ["dev", "docs"] -markers = "python_version <= \"3.11\" or python_version >= \"3.12\"" -files = [ - {file = "tornado-6.4.2-cp38-abi3-macosx_10_9_universal2.whl", hash = "sha256:e828cce1123e9e44ae2a50a9de3055497ab1d0aeb440c5ac23064d9e44880da1"}, - {file = "tornado-6.4.2-cp38-abi3-macosx_10_9_x86_64.whl", hash = "sha256:072ce12ada169c5b00b7d92a99ba089447ccc993ea2143c9ede887e0937aa803"}, - {file = "tornado-6.4.2-cp38-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:1a017d239bd1bb0919f72af256a970624241f070496635784d9bf0db640d3fec"}, - {file = "tornado-6.4.2-cp38-abi3-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:c36e62ce8f63409301537222faffcef7dfc5284f27eec227389f2ad11b09d946"}, - {file = "tornado-6.4.2-cp38-abi3-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:bca9eb02196e789c9cb5c3c7c0f04fb447dc2adffd95265b2c7223a8a615ccbf"}, - {file = "tornado-6.4.2-cp38-abi3-musllinux_1_2_aarch64.whl", hash = "sha256:304463bd0772442ff4d0f5149c6f1c2135a1fae045adf070821c6cdc76980634"}, - {file = "tornado-6.4.2-cp38-abi3-musllinux_1_2_i686.whl", hash = "sha256:c82c46813ba483a385ab2a99caeaedf92585a1f90defb5693351fa7e4ea0bf73"}, - {file = "tornado-6.4.2-cp38-abi3-musllinux_1_2_x86_64.whl", hash = "sha256:932d195ca9015956fa502c6b56af9eb06106140d844a335590c1ec7f5277d10c"}, - {file = "tornado-6.4.2-cp38-abi3-win32.whl", hash = "sha256:2876cef82e6c5978fde1e0d5b1f919d756968d5b4282418f3146b79b58556482"}, - {file = "tornado-6.4.2-cp38-abi3-win_amd64.whl", hash = "sha256:908b71bf3ff37d81073356a5fadcc660eb10c1476ee6e2725588626ce7e5ca38"}, - {file = "tornado-6.4.2.tar.gz", hash = "sha256:92bad5b4746e9879fd7bf1eb21dce4e3fc5128d71601f80005afa39237ad620b"}, -] - -[[package]] -name = "tox" -version = "4.23.2" -description = "tox is a generic virtualenv management and test command line tool" -optional = false -python-versions = ">=3.8" -groups = ["dev"] -markers = "python_version <= \"3.11\" or python_version >= \"3.12\"" -files = [ - {file = "tox-4.23.2-py3-none-any.whl", hash = "sha256:452bc32bb031f2282881a2118923176445bac783ab97c874b8770ab4c3b76c38"}, - {file = "tox-4.23.2.tar.gz", hash = "sha256:86075e00e555df6e82e74cfc333917f91ecb47ffbc868dcafbd2672e332f4a2c"}, -] - -[package.dependencies] -cachetools = ">=5.5" -chardet = ">=5.2" -colorama = ">=0.4.6" -filelock = ">=3.16.1" -packaging = ">=24.1" -platformdirs = ">=4.3.6" -pluggy = ">=1.5" -pyproject-api = ">=1.8" -tomli = {version = ">=2.0.1", markers = "python_version < \"3.11\""} -typing-extensions = {version = ">=4.12.2", markers = "python_version < \"3.11\""} -virtualenv = ">=20.26.6" - -[package.extras] -test = ["devpi-process (>=1.0.2)", "pytest (>=8.3.3)", "pytest-mock (>=3.14)"] - -[[package]] -name = "tqdm" -version = "4.67.1" -description = "Fast, Extensible Progress Meter" -optional = false -python-versions = ">=3.7" -groups = ["main"] -markers = "python_version <= \"3.11\" or python_version >= \"3.12\"" -files = [ - {file = "tqdm-4.67.1-py3-none-any.whl", hash = "sha256:26445eca388f82e72884e0d580d5464cd801a3ea01e63e5601bdff9ba6a48de2"}, - {file = "tqdm-4.67.1.tar.gz", hash = "sha256:f8aef9c52c08c13a65f30ea34f4e5aac3fd1a34959879d7e59e63027286627f2"}, -] - -[package.dependencies] -colorama = {version = "*", markers = "platform_system == \"Windows\""} - -[package.extras] -dev = ["nbval", "pytest (>=6)", "pytest-asyncio (>=0.24)", "pytest-cov", "pytest-timeout"] -discord = ["requests"] -notebook = ["ipywidgets (>=6)"] -slack = ["slack-sdk"] -telegram = ["requests"] - -[[package]] -name = "traitlets" -version = "5.14.3" -description = "Traitlets Python configuration system" -optional = false -python-versions = ">=3.8" -groups = ["dev", "docs"] -markers = "python_version <= \"3.11\" or python_version >= \"3.12\"" -files = [ - {file = "traitlets-5.14.3-py3-none-any.whl", hash = "sha256:b74e89e397b1ed28cc831db7aea759ba6640cb3de13090ca145426688ff1ac4f"}, - {file = "traitlets-5.14.3.tar.gz", hash = "sha256:9ed0579d3502c94b4b3732ac120375cda96f923114522847de4b3bb98b96b6b7"}, -] - -[package.extras] -docs = ["myst-parser", "pydata-sphinx-theme", "sphinx"] -test = ["argcomplete (>=3.0.3)", "mypy (>=1.7.0)", "pre-commit", "pytest (>=7.0,<8.2)", "pytest-mock", "pytest-mypy-testing"] - -[[package]] -name = "twine" -version = "6.0.1" -description = "Collection of utilities for publishing packages on PyPI" -optional = false -python-versions = ">=3.8" -groups = ["build"] -markers = "python_version <= \"3.11\" or python_version >= \"3.12\"" -files = [ - {file = "twine-6.0.1-py3-none-any.whl", hash = "sha256:9c6025b203b51521d53e200f4a08b116dee7500a38591668c6a6033117bdc218"}, - {file = "twine-6.0.1.tar.gz", hash = "sha256:36158b09df5406e1c9c1fb8edb24fc2be387709443e7376689b938531582ee27"}, -] - -[package.dependencies] -importlib-metadata = {version = ">=3.6", markers = "python_version < \"3.10\""} -keyring = {version = ">=15.1", markers = "platform_machine != \"ppc64le\" and platform_machine != \"s390x\""} -packaging = "*" -pkginfo = ">=1.8.1" -readme-renderer = ">=35.0" -requests = ">=2.20" -requests-toolbelt = ">=0.8.0,<0.9.0 || >0.9.0" -rfc3986 = ">=1.4.0" -rich = ">=12.0.0" -urllib3 = ">=1.26.0" - -[package.extras] -keyring = ["keyring (>=15.1)"] - -[[package]] -name = "types-python-dateutil" -version = "2.9.0.20241206" -description = "Typing stubs for python-dateutil" -optional = false -python-versions = ">=3.8" -groups = ["dev"] -markers = "python_version <= \"3.11\" or python_version >= \"3.12\"" -files = [ - {file = "types_python_dateutil-2.9.0.20241206-py3-none-any.whl", hash = "sha256:e248a4bc70a486d3e3ec84d0dc30eec3a5f979d6e7ee4123ae043eedbb987f53"}, - {file = "types_python_dateutil-2.9.0.20241206.tar.gz", hash = "sha256:18f493414c26ffba692a72369fea7a154c502646301ebfe3d56a04b3767284cb"}, -] - -[[package]] -name = "typing-extensions" -version = "4.12.2" -description = "Backported and Experimental Type Hints for Python 3.8+" -optional = false -python-versions = ">=3.8" -groups = ["build", "dev", "docs"] -markers = "python_version < \"3.11\"" -files = [ - {file = "typing_extensions-4.12.2-py3-none-any.whl", hash = "sha256:04e5ca0351e0f3f85c6853954072df659d0d13fac324d0072316b67d7794700d"}, - {file = "typing_extensions-4.12.2.tar.gz", hash = "sha256:1a7ead55c7e559dd4dee8856e3a88b41225abfe1ce8df57b7c13915fe121ffb8"}, -] - -[[package]] -name = "tzdata" -version = "2024.2" -description = "Provider of IANA time zone data" -optional = true -python-versions = ">=2" -groups = ["main"] -markers = "(python_version <= \"3.11\" or python_version >= \"3.12\") and extra == \"metrics\"" -files = [ - {file = "tzdata-2024.2-py2.py3-none-any.whl", hash = "sha256:a48093786cdcde33cad18c2555e8532f34422074448fbc874186f0abd79565cd"}, - {file = "tzdata-2024.2.tar.gz", hash = "sha256:7d85cc416e9382e69095b7bdf4afd9e3880418a2413feec7069d533d6b4e31cc"}, -] - -[[package]] -name = "uri-template" -version = "1.3.0" -description = "RFC 6570 URI Template Processor" -optional = false -python-versions = ">=3.7" -groups = ["dev"] -markers = "python_version <= \"3.11\" or python_version >= \"3.12\"" -files = [ - {file = "uri-template-1.3.0.tar.gz", hash = "sha256:0e00f8eb65e18c7de20d595a14336e9f337ead580c70934141624b6d1ffdacc7"}, - {file = "uri_template-1.3.0-py3-none-any.whl", hash = "sha256:a44a133ea12d44a0c0f06d7d42a52d71282e77e2f937d8abd5655b8d56fc1363"}, -] - -[package.extras] -dev = ["flake8", "flake8-annotations", "flake8-bandit", "flake8-bugbear", "flake8-commas", "flake8-comprehensions", "flake8-continuation", "flake8-datetimez", "flake8-docstrings", "flake8-import-order", "flake8-literal", "flake8-modern-annotations", "flake8-noqa", "flake8-pyproject", "flake8-requirements", "flake8-typechecking-import", "flake8-use-fstring", "mypy", "pep8-naming", "types-PyYAML"] - -[[package]] -name = "urllib3" -version = "2.2.3" -description = "HTTP library with thread-safe connection pooling, file post, and more." -optional = false -python-versions = ">=3.8" -groups = ["main", "build", "dev", "docs"] -markers = "python_version <= \"3.11\" or python_version >= \"3.12\"" -files = [ - {file = "urllib3-2.2.3-py3-none-any.whl", hash = "sha256:ca899ca043dcb1bafa3e262d73aa25c465bfb49e0bd9dd5d59f1d0acba2f8fac"}, - {file = "urllib3-2.2.3.tar.gz", hash = "sha256:e7d814a81dad81e6caf2ec9fdedb284ecc9c73076b62654547cc64ccdcae26e9"}, -] - -[package.extras] -brotli = ["brotli (>=1.0.9)", "brotlicffi (>=0.8.0)"] -h2 = ["h2 (>=4,<5)"] -socks = ["pysocks (>=1.5.6,!=1.5.7,<2.0)"] -zstd = ["zstandard (>=0.18.0)"] - -[[package]] -name = "verspec" -version = "0.1.0" -description = "Flexible version handling" -optional = false -python-versions = "*" -groups = ["docs"] -markers = "python_version <= \"3.11\" or python_version >= \"3.12\"" -files = [ - {file = "verspec-0.1.0-py3-none-any.whl", hash = "sha256:741877d5633cc9464c45a469ae2a31e801e6dbbaa85b9675d481cda100f11c31"}, - {file = "verspec-0.1.0.tar.gz", hash = "sha256:c4504ca697b2056cdb4bfa7121461f5a0e81809255b41c03dda4ba823637c01e"}, -] - -[package.extras] -test = ["coverage", "flake8 (>=3.7)", "mypy", "pretend", "pytest"] - -[[package]] -name = "virtualenv" -version = "20.28.1" -description = "Virtual Python Environment builder" -optional = false -python-versions = ">=3.8" -groups = ["dev"] -markers = "python_version <= \"3.11\" or python_version >= \"3.12\"" -files = [ - {file = "virtualenv-20.28.1-py3-none-any.whl", hash = "sha256:412773c85d4dab0409b83ec36f7a6499e72eaf08c80e81e9576bca61831c71cb"}, - {file = "virtualenv-20.28.1.tar.gz", hash = "sha256:5d34ab240fdb5d21549b76f9e8ff3af28252f5499fb6d6f031adac4e5a8c5329"}, -] - -[package.dependencies] -distlib = ">=0.3.7,<1" -filelock = ">=3.12.2,<4" -platformdirs = ">=3.9.1,<5" - -[package.extras] -docs = ["furo (>=2023.7.26)", "proselint (>=0.13)", "sphinx (>=7.1.2,!=7.3)", "sphinx-argparse (>=0.4)", "sphinxcontrib-towncrier (>=0.2.1a0)", "towncrier (>=23.6)"] -test = ["covdefaults (>=2.3)", "coverage (>=7.2.7)", "coverage-enable-subprocess (>=1)", "flaky (>=3.7)", "packaging (>=23.1)", "pytest (>=7.4)", "pytest-env (>=0.8.2)", "pytest-freezer (>=0.4.8)", "pytest-mock (>=3.11.1)", "pytest-randomly (>=3.12)", "pytest-timeout (>=2.1)", "setuptools (>=68)", "time-machine (>=2.10)"] - -[[package]] -name = "watchdog" -version = "4.0.2" -description = "Filesystem events monitoring" -optional = false -python-versions = ">=3.8" -groups = ["docs"] -markers = "python_version <= \"3.11\" or python_version >= \"3.12\"" -files = [ - {file = "watchdog-4.0.2-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:ede7f010f2239b97cc79e6cb3c249e72962404ae3865860855d5cbe708b0fd22"}, - {file = "watchdog-4.0.2-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:a2cffa171445b0efa0726c561eca9a27d00a1f2b83846dbd5a4f639c4f8ca8e1"}, - {file = "watchdog-4.0.2-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:c50f148b31b03fbadd6d0b5980e38b558046b127dc483e5e4505fcef250f9503"}, - {file = "watchdog-4.0.2-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:7c7d4bf585ad501c5f6c980e7be9c4f15604c7cc150e942d82083b31a7548930"}, - {file = "watchdog-4.0.2-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:914285126ad0b6eb2258bbbcb7b288d9dfd655ae88fa28945be05a7b475a800b"}, - {file = "watchdog-4.0.2-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:984306dc4720da5498b16fc037b36ac443816125a3705dfde4fd90652d8028ef"}, - {file = "watchdog-4.0.2-cp312-cp312-macosx_10_9_universal2.whl", hash = "sha256:1cdcfd8142f604630deef34722d695fb455d04ab7cfe9963055df1fc69e6727a"}, - {file = "watchdog-4.0.2-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:d7ab624ff2f663f98cd03c8b7eedc09375a911794dfea6bf2a359fcc266bff29"}, - {file = "watchdog-4.0.2-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:132937547a716027bd5714383dfc40dc66c26769f1ce8a72a859d6a48f371f3a"}, - {file = "watchdog-4.0.2-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:cd67c7df93eb58f360c43802acc945fa8da70c675b6fa37a241e17ca698ca49b"}, - {file = "watchdog-4.0.2-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:bcfd02377be80ef3b6bc4ce481ef3959640458d6feaae0bd43dd90a43da90a7d"}, - {file = "watchdog-4.0.2-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:980b71510f59c884d684b3663d46e7a14b457c9611c481e5cef08f4dd022eed7"}, - {file = "watchdog-4.0.2-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:aa160781cafff2719b663c8a506156e9289d111d80f3387cf3af49cedee1f040"}, - {file = "watchdog-4.0.2-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:f6ee8dedd255087bc7fe82adf046f0b75479b989185fb0bdf9a98b612170eac7"}, - {file = "watchdog-4.0.2-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:0b4359067d30d5b864e09c8597b112fe0a0a59321a0f331498b013fb097406b4"}, - {file = "watchdog-4.0.2-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:770eef5372f146997638d737c9a3c597a3b41037cfbc5c41538fc27c09c3a3f9"}, - {file = "watchdog-4.0.2-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:eeea812f38536a0aa859972d50c76e37f4456474b02bd93674d1947cf1e39578"}, - {file = "watchdog-4.0.2-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:b2c45f6e1e57ebb4687690c05bc3a2c1fb6ab260550c4290b8abb1335e0fd08b"}, - {file = "watchdog-4.0.2-pp310-pypy310_pp73-macosx_10_15_x86_64.whl", hash = "sha256:10b6683df70d340ac3279eff0b2766813f00f35a1d37515d2c99959ada8f05fa"}, - {file = "watchdog-4.0.2-pp310-pypy310_pp73-macosx_11_0_arm64.whl", hash = "sha256:f7c739888c20f99824f7aa9d31ac8a97353e22d0c0e54703a547a218f6637eb3"}, - {file = "watchdog-4.0.2-pp38-pypy38_pp73-macosx_10_9_x86_64.whl", hash = "sha256:c100d09ac72a8a08ddbf0629ddfa0b8ee41740f9051429baa8e31bb903ad7508"}, - {file = "watchdog-4.0.2-pp38-pypy38_pp73-macosx_11_0_arm64.whl", hash = "sha256:f5315a8c8dd6dd9425b974515081fc0aadca1d1d61e078d2246509fd756141ee"}, - {file = "watchdog-4.0.2-pp39-pypy39_pp73-macosx_10_15_x86_64.whl", hash = "sha256:2d468028a77b42cc685ed694a7a550a8d1771bb05193ba7b24006b8241a571a1"}, - {file = "watchdog-4.0.2-pp39-pypy39_pp73-macosx_11_0_arm64.whl", hash = "sha256:f15edcae3830ff20e55d1f4e743e92970c847bcddc8b7509bcd172aa04de506e"}, - {file = "watchdog-4.0.2-py3-none-manylinux2014_aarch64.whl", hash = "sha256:936acba76d636f70db8f3c66e76aa6cb5136a936fc2a5088b9ce1c7a3508fc83"}, - {file = "watchdog-4.0.2-py3-none-manylinux2014_armv7l.whl", hash = "sha256:e252f8ca942a870f38cf785aef420285431311652d871409a64e2a0a52a2174c"}, - {file = "watchdog-4.0.2-py3-none-manylinux2014_i686.whl", hash = "sha256:0e83619a2d5d436a7e58a1aea957a3c1ccbf9782c43c0b4fed80580e5e4acd1a"}, - {file = "watchdog-4.0.2-py3-none-manylinux2014_ppc64.whl", hash = "sha256:88456d65f207b39f1981bf772e473799fcdc10801062c36fd5ad9f9d1d463a73"}, - {file = "watchdog-4.0.2-py3-none-manylinux2014_ppc64le.whl", hash = "sha256:32be97f3b75693a93c683787a87a0dc8db98bb84701539954eef991fb35f5fbc"}, - {file = "watchdog-4.0.2-py3-none-manylinux2014_s390x.whl", hash = "sha256:c82253cfc9be68e3e49282831afad2c1f6593af80c0daf1287f6a92657986757"}, - {file = "watchdog-4.0.2-py3-none-manylinux2014_x86_64.whl", hash = "sha256:c0b14488bd336c5b1845cee83d3e631a1f8b4e9c5091ec539406e4a324f882d8"}, - {file = "watchdog-4.0.2-py3-none-win32.whl", hash = "sha256:0d8a7e523ef03757a5aa29f591437d64d0d894635f8a50f370fe37f913ce4e19"}, - {file = "watchdog-4.0.2-py3-none-win_amd64.whl", hash = "sha256:c344453ef3bf875a535b0488e3ad28e341adbd5a9ffb0f7d62cefacc8824ef2b"}, - {file = "watchdog-4.0.2-py3-none-win_ia64.whl", hash = "sha256:baececaa8edff42cd16558a639a9b0ddf425f93d892e8392a56bf904f5eff22c"}, - {file = "watchdog-4.0.2.tar.gz", hash = "sha256:b4dfbb6c49221be4535623ea4474a4d6ee0a9cef4a80b20c28db4d858b64e270"}, -] - -[package.extras] -watchmedo = ["PyYAML (>=3.10)"] - -[[package]] -name = "wcwidth" -version = "0.2.13" -description = "Measures the displayed width of unicode strings in a terminal" -optional = false -python-versions = "*" -groups = ["dev", "docs"] -markers = "python_version <= \"3.11\" or python_version >= \"3.12\"" -files = [ - {file = "wcwidth-0.2.13-py2.py3-none-any.whl", hash = "sha256:3da69048e4540d84af32131829ff948f1e022c1c6bdb8d6102117aac784f6859"}, - {file = "wcwidth-0.2.13.tar.gz", hash = "sha256:72ea0c06399eb286d978fdedb6923a9eb47e1c486ce63e9b4e64fc18303972b5"}, -] - -[[package]] -name = "webcolors" -version = "24.8.0" -description = "A library for working with the color formats defined by HTML and CSS." -optional = false -python-versions = ">=3.8" -groups = ["dev"] -markers = "python_version <= \"3.11\" or python_version >= \"3.12\"" -files = [ - {file = "webcolors-24.8.0-py3-none-any.whl", hash = "sha256:fc4c3b59358ada164552084a8ebee637c221e4059267d0f8325b3b560f6c7f0a"}, - {file = "webcolors-24.8.0.tar.gz", hash = "sha256:08b07af286a01bcd30d583a7acadf629583d1f79bfef27dd2c2c5c263817277d"}, -] - -[package.extras] -docs = ["furo", "sphinx", "sphinx-copybutton", "sphinx-inline-tabs", "sphinx-notfound-page", "sphinxext-opengraph"] -tests = ["coverage[toml]"] - -[[package]] -name = "webencodings" -version = "0.5.1" -description = "Character encoding aliases for legacy web content" -optional = false -python-versions = "*" -groups = ["dev", "docs"] -markers = "python_version <= \"3.11\" or python_version >= \"3.12\"" -files = [ - {file = "webencodings-0.5.1-py2.py3-none-any.whl", hash = "sha256:a0af1213f3c2226497a97e2b3aa01a7e4bee4f403f95be16fc9acd2947514a78"}, - {file = "webencodings-0.5.1.tar.gz", hash = "sha256:b36a1c245f2d304965eb4e0a82848379241dc04b865afcc4aab16748587e1923"}, -] - -[[package]] -name = "websocket-client" -version = "1.8.0" -description = "WebSocket client for Python with low level API options" -optional = false -python-versions = ">=3.8" -groups = ["dev"] -markers = "python_version <= \"3.11\" or python_version >= \"3.12\"" -files = [ - {file = "websocket_client-1.8.0-py3-none-any.whl", hash = "sha256:17b44cc997f5c498e809b22cdf2d9c7a9e71c02c8cc2b6c56e7c2d1239bfa526"}, - {file = "websocket_client-1.8.0.tar.gz", hash = "sha256:3239df9f44da632f96012472805d40a23281a991027ce11d2f45a6f24ac4c3da"}, -] - -[package.extras] -docs = ["Sphinx (>=6.0)", "myst-parser (>=2.0.0)", "sphinx-rtd-theme (>=1.1.0)"] -optional = ["python-socks", "wsaccel"] -test = ["websockets"] - -[[package]] -name = "wheel" -version = "0.45.1" -description = "A built-package format for Python" -optional = false -python-versions = ">=3.8" -groups = ["build", "docs"] -markers = "python_version <= \"3.11\" or python_version >= \"3.12\"" -files = [ - {file = "wheel-0.45.1-py3-none-any.whl", hash = "sha256:708e7481cc80179af0e556bbf0cc00b8444c7321e2700b8d8580231d13017248"}, - {file = "wheel-0.45.1.tar.gz", hash = "sha256:661e1abd9198507b1409a20c02106d9670b2576e916d58f520316666abca6729"}, -] - -[package.extras] -test = ["pytest (>=6.0.0)", "setuptools (>=65)"] - -[[package]] -name = "widgetsnbextension" -version = "4.0.13" -description = "Jupyter interactive widgets for Jupyter Notebook" -optional = false -python-versions = ">=3.7" -groups = ["dev"] -markers = "python_version <= \"3.11\" or python_version >= \"3.12\"" -files = [ - {file = "widgetsnbextension-4.0.13-py3-none-any.whl", hash = "sha256:74b2692e8500525cc38c2b877236ba51d34541e6385eeed5aec15a70f88a6c71"}, - {file = "widgetsnbextension-4.0.13.tar.gz", hash = "sha256:ffcb67bc9febd10234a362795f643927f4e0c05d9342c727b65d2384f8feacb6"}, -] - -[[package]] -name = "zipp" -version = "3.20.2" -description = "Backport of pathlib-compatible object wrapper for zip files" -optional = false -python-versions = ">=3.8" -groups = ["main", "build", "dev", "docs"] -files = [ - {file = "zipp-3.20.2-py3-none-any.whl", hash = "sha256:a817ac80d6cf4b23bf7f2828b7cabf326f15a001bea8b1f9b49631780ba28350"}, - {file = "zipp-3.20.2.tar.gz", hash = "sha256:bc9eb26f4506fda01b81bcde0ca78103b6e62f991b381fec825435c836edbc29"}, -] -markers = {main = "python_version < \"3.10\"", build = "python_version <= \"3.11\" and (python_full_version < \"3.10.2\" or platform_machine != \"ppc64le\" and platform_machine != \"s390x\")", dev = "python_version < \"3.10\"", docs = "python_version <= \"3.11\" or python_version >= \"3.12\""} - -[package.extras] -check = ["pytest-checkdocs (>=2.4)", "pytest-ruff (>=0.2.1)"] -cover = ["pytest-cov"] -doc = ["furo", "jaraco.packaging (>=9.3)", "jaraco.tidelift (>=1.4)", "rst.linker (>=1.9)", "sphinx (>=3.5)", "sphinx-lint"] -enabler = ["pytest-enabler (>=2.2)"] -test = ["big-O", "importlib-resources", "jaraco.functools", "jaraco.itertools", "jaraco.test", "more-itertools", "pytest (>=6,!=8.1.*)", "pytest-ignore-flaky"] -type = ["pytest-mypy"] - -[extras] -metrics = ["pandas", "pandas"] - -[metadata] -lock-version = "2.1" -python-versions = ">=3.8" -content-hash = "d47160f903210fd29e15d3eb43b663f0c40004b1a5853395de597b68f9bb56ab" diff --git a/pyproject.toml b/pyproject.toml index 019ea3d8cd..3ca6ab19ff 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -41,9 +41,9 @@ dependencies = [ "numpy>=1.21.2,<1.26.0; python_version < '3.12'", "numpy>=1.26.0,<2.1.0; python_version >= '3.12' and python_version < '3.13'", "numpy>=2.1.0; python_version >= '3.13'", - "scipy (==1.10.0); python_version < '3.9'", - "scipy (>=1.10.0,<1.14.1) ; python_version >= '3.9' and python_version < '3.13'", - "scipy (>=1.14.1); python_version >= '3.13'", + "scipy==1.10.0; python_version < '3.9'", + "scipy>=1.10.0,<1.14.1; python_version >= '3.9' and python_version < '3.13'", + "scipy>=1.14.1; python_version >= '3.13'", "matplotlib>=3.6.0", "pyyaml>=5.3", "defusedxml>=0.7.1", @@ -63,36 +63,29 @@ metrics = [ "pandas>=2.0.0; python_version < '3.13'", "pandas>=2.2.3; python_version >= '3.13'" ] - -[tool.poetry] -# Keep version here since it's dynamic -packages = [{ include = "supervision" }, { include = "supervision/py.typed" }] - - -[tool.poetry.group.dev.dependencies] -pytest = ">=7.2.2,<9.0.0" -tox = ">=4.11.4" -notebook = ">=6.5.3,<8.0.0" -ipywidgets = ">=8.1.1" -jupytext = ">=1.16.1" -nbconvert = ">=7.14.2" -docutils = "!=0.21" - -[tool.poetry.group.docs.dependencies] -mkdocs-material = { extras = ["imaging"], version = "^9.5.5" } -mkdocstrings = ">=0.25.2,<0.27.0" -mkdocstrings-python = ">=1.10.9" -mike = ">=2.0.0" -# For Documentation Development use Python 3.10 or above -# Use Latest mkdocs-jupyter min 0.24.6 for Jupyter Notebook Theme support -mkdocs-jupyter = ">=0.24.3" -mkdocs-git-committers-plugin-2 = { version = ">=2.4.1", python = ">=3.8,<4" } -mkdocs-git-revision-date-localized-plugin = ">=1.2.4" - -[tool.poetry.group.build.dependencies] -twine = ">=5.1.1,<7.0.0" -wheel = ">=0.40,<0.46" -build = ">=0.10,<1.3" +dev = [ + "pytest>=7.2.2,<9.0.0", + "tox>=4.11.4", + "notebook>=6.5.3,<8.0.0", + "ipywidgets>=8.1.1", + "jupytext>=1.16.1", + "nbconvert>=7.14.2", + "docutils!=0.21" +] +docs = [ + "mkdocs-material[imaging]>=9.5.5", + "mkdocstrings>=0.25.2,<0.27.0", + "mkdocstrings-python>=1.10.9", + "mike>=2.0.0", + "mkdocs-jupyter>=0.24.3", + "mkdocs-git-committers-plugin-2>=2.4.1; python_version >= '3.8' and python_version < '4'", + "mkdocs-git-revision-date-localized-plugin>=1.2.4" +] +build = [ + "twine>=5.1.1,<7.0.0", + "wheel>=0.40,<0.46", + "build>=0.10,<1.3" +] [tool.bandit] target = ["test", "supervision"] @@ -102,7 +95,6 @@ tests = ["B201", "B301", "B318", "B314", "B303", "B413", "B412", "B410"] check = true imports = ["cv2", "supervision"] - [tool.ruff] target-version = "py38" @@ -226,17 +218,21 @@ skip-magic-trailing-comma = false line-ending = "auto" [tool.codespell] -skip = "*.ipynb,poetry.lock" +skip = "*.ipynb" count = true quiet-level = 3 ignore-words-list = "STrack,sTrack,strack" [tool.setuptools] -include-package-data = false +include-package-data = true [tool.setuptools.packages.find] +include = ["supervision*"] exclude = ["docs*", "test*", "examples*"] +[tool.setuptools.package-data] +supervision = ["py.typed"] + [build-system] -requires = ["poetry-core"] -build-backend = "poetry.core.masonry.api" +requires = ["setuptools >= 61.0"] +build-backend = "setuptools.build_meta" \ No newline at end of file diff --git a/uv.lock b/uv.lock new file mode 100644 index 0000000000..327de7e242 --- /dev/null +++ b/uv.lock @@ -0,0 +1,5361 @@ +version = 1 +requires-python = ">=3.8" +resolution-markers = [ + "python_full_version >= '3.13' and sys_platform == 'darwin'", + "python_full_version >= '3.13' and platform_machine == 'aarch64' and sys_platform == 'linux'", + "(python_full_version >= '3.13' and platform_machine != 'aarch64' and sys_platform == 'linux') or (python_full_version >= '3.13' and sys_platform != 'darwin' and sys_platform != 'linux')", + "python_full_version == '3.12.*' and sys_platform == 'darwin'", + "python_full_version == '3.12.*' and platform_machine == 'aarch64' and sys_platform == 'linux'", + "(python_full_version == '3.12.*' and platform_machine != 'aarch64' and sys_platform == 'linux') or (python_full_version == '3.12.*' and sys_platform != 'darwin' and sys_platform != 'linux')", + "python_full_version == '3.11.*' and sys_platform == 'darwin'", + "python_full_version == '3.11.*' and platform_machine == 'aarch64' and sys_platform == 'linux'", + "(python_full_version == '3.11.*' and platform_machine != 'aarch64' and sys_platform == 'linux') or (python_full_version == '3.11.*' and sys_platform != 'darwin' and sys_platform != 'linux')", + "python_full_version == '3.10.*' and sys_platform == 'darwin'", + "python_full_version == '3.10.*' and platform_machine == 'aarch64' and sys_platform == 'linux'", + "(python_full_version == '3.10.*' and platform_machine != 'aarch64' and sys_platform == 'linux') or (python_full_version == '3.10.*' and sys_platform != 'darwin' and sys_platform != 'linux')", + "python_full_version == '3.9.*' and platform_machine == 'arm64' and sys_platform == 'darwin'", + "python_full_version == '3.9.*' and platform_machine == 'aarch64' and sys_platform == 'linux'", + "(python_full_version == '3.9.*' and platform_machine != 'arm64' and sys_platform == 'darwin') or (python_full_version == '3.9.*' and platform_machine != 'aarch64' and sys_platform == 'linux') or (python_full_version == '3.9.*' and sys_platform != 'darwin' and sys_platform != 'linux')", + "python_full_version < '3.9' and platform_machine == 'arm64' and sys_platform == 'darwin'", + "python_full_version < '3.9' and platform_machine == 'aarch64' and sys_platform == 'linux'", + "(python_full_version < '3.9' and platform_machine != 'arm64' and sys_platform == 'darwin') or (python_full_version < '3.9' and platform_machine != 'aarch64' and sys_platform == 'linux') or (python_full_version < '3.9' and sys_platform != 'darwin' and sys_platform != 'linux')", +] + +[[package]] +name = "anyio" +version = "4.5.2" +source = { registry = "https://pypi.org/simple" } +resolution-markers = [ + "python_full_version < '3.9' and platform_machine == 'arm64' and sys_platform == 'darwin'", + "python_full_version < '3.9' and platform_machine == 'aarch64' and sys_platform == 'linux'", + "(python_full_version < '3.9' and platform_machine != 'arm64' and sys_platform == 'darwin') or (python_full_version < '3.9' and platform_machine != 'aarch64' and sys_platform == 'linux') or (python_full_version < '3.9' and sys_platform != 'darwin' and sys_platform != 'linux')", +] +dependencies = [ + { name = "exceptiongroup", marker = "python_full_version < '3.9'" }, + { name = "idna", marker = "python_full_version < '3.9'" }, + { name = "sniffio", marker = "python_full_version < '3.9'" }, + { name = "typing-extensions", marker = "python_full_version < '3.9'" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/4d/f9/9a7ce600ebe7804daf90d4d48b1c0510a4561ddce43a596be46676f82343/anyio-4.5.2.tar.gz", hash = "sha256:23009af4ed04ce05991845451e11ef02fc7c5ed29179ac9a420e5ad0ac7ddc5b", size = 171293 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/1b/b4/f7e396030e3b11394436358ca258a81d6010106582422f23443c16ca1873/anyio-4.5.2-py3-none-any.whl", hash = "sha256:c011ee36bc1e8ba40e5a81cb9df91925c218fe9b778554e0b56a21e1b5d4716f", size = 89766 }, +] + +[[package]] +name = "anyio" +version = "4.8.0" +source = { registry = "https://pypi.org/simple" } +resolution-markers = [ + "python_full_version >= '3.13' and sys_platform == 'darwin'", + "python_full_version >= '3.13' and platform_machine == 'aarch64' and sys_platform == 'linux'", + "(python_full_version >= '3.13' and platform_machine != 'aarch64' and sys_platform == 'linux') or (python_full_version >= '3.13' and sys_platform != 'darwin' and sys_platform != 'linux')", + "python_full_version == '3.12.*' and sys_platform == 'darwin'", + "python_full_version == '3.12.*' and platform_machine == 'aarch64' and sys_platform == 'linux'", + "(python_full_version == '3.12.*' and platform_machine != 'aarch64' and sys_platform == 'linux') or (python_full_version == '3.12.*' and sys_platform != 'darwin' and sys_platform != 'linux')", + "python_full_version == '3.11.*' and sys_platform == 'darwin'", + "python_full_version == '3.11.*' and platform_machine == 'aarch64' and sys_platform == 'linux'", + "(python_full_version == '3.11.*' and platform_machine != 'aarch64' and sys_platform == 'linux') or (python_full_version == '3.11.*' and sys_platform != 'darwin' and sys_platform != 'linux')", + "python_full_version == '3.10.*' and sys_platform == 'darwin'", + "python_full_version == '3.10.*' and platform_machine == 'aarch64' and sys_platform == 'linux'", + "(python_full_version == '3.10.*' and platform_machine != 'aarch64' and sys_platform == 'linux') or (python_full_version == '3.10.*' and sys_platform != 'darwin' and sys_platform != 'linux')", + "python_full_version == '3.9.*' and platform_machine == 'arm64' and sys_platform == 'darwin'", + "python_full_version == '3.9.*' and platform_machine == 'aarch64' and sys_platform == 'linux'", + "(python_full_version == '3.9.*' and platform_machine != 'arm64' and sys_platform == 'darwin') or (python_full_version == '3.9.*' and platform_machine != 'aarch64' and sys_platform == 'linux') or (python_full_version == '3.9.*' and sys_platform != 'darwin' and sys_platform != 'linux')", +] +dependencies = [ + { name = "exceptiongroup", marker = "python_full_version >= '3.9' and python_full_version < '3.11'" }, + { name = "idna", marker = "python_full_version >= '3.9'" }, + { name = "sniffio", marker = "python_full_version >= '3.9'" }, + { name = "typing-extensions", marker = "python_full_version >= '3.9' and python_full_version < '3.13'" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/a3/73/199a98fc2dae33535d6b8e8e6ec01f8c1d76c9adb096c6b7d64823038cde/anyio-4.8.0.tar.gz", hash = "sha256:1d9fe889df5212298c0c0723fa20479d1b94883a2df44bd3897aa91083316f7a", size = 181126 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/46/eb/e7f063ad1fec6b3178a3cd82d1a3c4de82cccf283fc42746168188e1cdd5/anyio-4.8.0-py3-none-any.whl", hash = "sha256:b5011f270ab5eb0abf13385f851315585cc37ef330dd88e27ec3d34d651fd47a", size = 96041 }, +] + +[[package]] +name = "appnope" +version = "0.1.4" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/35/5d/752690df9ef5b76e169e68d6a129fa6d08a7100ca7f754c89495db3c6019/appnope-0.1.4.tar.gz", hash = "sha256:1de3860566df9caf38f01f86f65e0e13e379af54f9e4bee1e66b48f2efffd1ee", size = 4170 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/81/29/5ecc3a15d5a33e31b26c11426c45c501e439cb865d0bff96315d86443b78/appnope-0.1.4-py2.py3-none-any.whl", hash = "sha256:502575ee11cd7a28c0205f379b525beefebab9d161b7c964670864014ed7213c", size = 4321 }, +] + +[[package]] +name = "argon2-cffi" +version = "23.1.0" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "argon2-cffi-bindings" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/31/fa/57ec2c6d16ecd2ba0cf15f3c7d1c3c2e7b5fcb83555ff56d7ab10888ec8f/argon2_cffi-23.1.0.tar.gz", hash = "sha256:879c3e79a2729ce768ebb7d36d4609e3a78a4ca2ec3a9f12286ca057e3d0db08", size = 42798 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/a4/6a/e8a041599e78b6b3752da48000b14c8d1e8a04ded09c88c714ba047f34f5/argon2_cffi-23.1.0-py3-none-any.whl", hash = "sha256:c670642b78ba29641818ab2e68bd4e6a78ba53b7eff7b4c3815ae16abf91c7ea", size = 15124 }, +] + +[[package]] +name = "argon2-cffi-bindings" +version = "21.2.0" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "cffi" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/b9/e9/184b8ccce6683b0aa2fbb7ba5683ea4b9c5763f1356347f1312c32e3c66e/argon2-cffi-bindings-21.2.0.tar.gz", hash = "sha256:bb89ceffa6c791807d1305ceb77dbfacc5aa499891d2c55661c6459651fc39e3", size = 1779911 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/d4/13/838ce2620025e9666aa8f686431f67a29052241692a3dd1ae9d3692a89d3/argon2_cffi_bindings-21.2.0-cp36-abi3-macosx_10_9_x86_64.whl", hash = "sha256:ccb949252cb2ab3a08c02024acb77cfb179492d5701c7cbdbfd776124d4d2367", size = 29658 }, + { url = "https://files.pythonhosted.org/packages/b3/02/f7f7bb6b6af6031edb11037639c697b912e1dea2db94d436e681aea2f495/argon2_cffi_bindings-21.2.0-cp36-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:9524464572e12979364b7d600abf96181d3541da11e23ddf565a32e70bd4dc0d", size = 80583 }, + { url = "https://files.pythonhosted.org/packages/ec/f7/378254e6dd7ae6f31fe40c8649eea7d4832a42243acaf0f1fff9083b2bed/argon2_cffi_bindings-21.2.0-cp36-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:b746dba803a79238e925d9046a63aa26bf86ab2a2fe74ce6b009a1c3f5c8f2ae", size = 86168 }, + { url = "https://files.pythonhosted.org/packages/74/f6/4a34a37a98311ed73bb80efe422fed95f2ac25a4cacc5ae1d7ae6a144505/argon2_cffi_bindings-21.2.0-cp36-abi3-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:58ed19212051f49a523abb1dbe954337dc82d947fb6e5a0da60f7c8471a8476c", size = 82709 }, + { url = "https://files.pythonhosted.org/packages/74/2b/73d767bfdaab25484f7e7901379d5f8793cccbb86c6e0cbc4c1b96f63896/argon2_cffi_bindings-21.2.0-cp36-abi3-musllinux_1_1_aarch64.whl", hash = "sha256:bd46088725ef7f58b5a1ef7ca06647ebaf0eb4baff7d1d0d177c6cc8744abd86", size = 83613 }, + { url = "https://files.pythonhosted.org/packages/4f/fd/37f86deef67ff57c76f137a67181949c2d408077e2e3dd70c6c42912c9bf/argon2_cffi_bindings-21.2.0-cp36-abi3-musllinux_1_1_i686.whl", hash = "sha256:8cd69c07dd875537a824deec19f978e0f2078fdda07fd5c42ac29668dda5f40f", size = 84583 }, + { url = "https://files.pythonhosted.org/packages/6f/52/5a60085a3dae8fded8327a4f564223029f5f54b0cb0455a31131b5363a01/argon2_cffi_bindings-21.2.0-cp36-abi3-musllinux_1_1_x86_64.whl", hash = "sha256:f1152ac548bd5b8bcecfb0b0371f082037e47128653df2e8ba6e914d384f3c3e", size = 88475 }, + { url = "https://files.pythonhosted.org/packages/8b/95/143cd64feb24a15fa4b189a3e1e7efbaeeb00f39a51e99b26fc62fbacabd/argon2_cffi_bindings-21.2.0-cp36-abi3-win32.whl", hash = "sha256:603ca0aba86b1349b147cab91ae970c63118a0f30444d4bc80355937c950c082", size = 27698 }, + { url = "https://files.pythonhosted.org/packages/37/2c/e34e47c7dee97ba6f01a6203e0383e15b60fb85d78ac9a15cd066f6fe28b/argon2_cffi_bindings-21.2.0-cp36-abi3-win_amd64.whl", hash = "sha256:b2ef1c30440dbbcba7a5dc3e319408b59676e2e039e2ae11a8775ecf482b192f", size = 30817 }, + { url = "https://files.pythonhosted.org/packages/5a/e4/bf8034d25edaa495da3c8a3405627d2e35758e44ff6eaa7948092646fdcc/argon2_cffi_bindings-21.2.0-cp38-abi3-macosx_10_9_universal2.whl", hash = "sha256:e415e3f62c8d124ee16018e491a009937f8cf7ebf5eb430ffc5de21b900dad93", size = 53104 }, + { url = "https://files.pythonhosted.org/packages/34/da/d105a3235ae86c1c1a80c1e9c46953e6e53cc8c4c61fb3c5ac8a39bbca48/argon2_cffi_bindings-21.2.0-pp38-pypy38_pp73-macosx_10_9_x86_64.whl", hash = "sha256:3b9ef65804859d335dc6b31582cad2c5166f0c3e7975f324d9ffaa34ee7e6583", size = 23689 }, + { url = "https://files.pythonhosted.org/packages/43/f3/20bc53a6e50471dfea16a63dc9b69d2a9ec78fd2b9532cc25f8317e121d9/argon2_cffi_bindings-21.2.0-pp38-pypy38_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d4966ef5848d820776f5f562a7d45fdd70c2f330c961d0d745b784034bd9f48d", size = 28122 }, + { url = "https://files.pythonhosted.org/packages/2e/f1/48888db30b6a4a0c78ab7bc7444058a1135b223b6a2a5f2ac7d6780e7443/argon2_cffi_bindings-21.2.0-pp38-pypy38_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:20ef543a89dee4db46a1a6e206cd015360e5a75822f76df533845c3cbaf72670", size = 27882 }, + { url = "https://files.pythonhosted.org/packages/ee/0f/a2260a207f21ce2ff4cad00a417c31597f08eafb547e00615bcbf403d8ea/argon2_cffi_bindings-21.2.0-pp38-pypy38_pp73-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:ed2937d286e2ad0cc79a7087d3c272832865f779430e0cc2b4f3718d3159b0cb", size = 30745 }, + { url = "https://files.pythonhosted.org/packages/ed/55/f8ba268bc9005d0ca57a862e8f1b55bf1775e97a36bd30b0a8fb568c265c/argon2_cffi_bindings-21.2.0-pp38-pypy38_pp73-win_amd64.whl", hash = "sha256:5e00316dabdaea0b2dd82d141cc66889ced0cdcbfa599e8b471cf22c620c329a", size = 28587 }, +] + +[[package]] +name = "arrow" +version = "1.3.0" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "python-dateutil" }, + { name = "types-python-dateutil" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/2e/00/0f6e8fcdb23ea632c866620cc872729ff43ed91d284c866b515c6342b173/arrow-1.3.0.tar.gz", hash = "sha256:d4540617648cb5f895730f1ad8c82a65f2dad0166f57b75f3ca54759c4d67a85", size = 131960 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/f8/ed/e97229a566617f2ae958a6b13e7cc0f585470eac730a73e9e82c32a3cdd2/arrow-1.3.0-py3-none-any.whl", hash = "sha256:c728b120ebc00eb84e01882a6f5e7927a53960aa990ce7dd2b10f39005a67f80", size = 66419 }, +] + +[[package]] +name = "asttokens" +version = "3.0.0" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/4a/e7/82da0a03e7ba5141f05cce0d302e6eed121ae055e0456ca228bf693984bc/asttokens-3.0.0.tar.gz", hash = "sha256:0dcd8baa8d62b0c1d118b399b2ddba3c4aff271d0d7a9e0d4c1681c79035bbc7", size = 61978 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/25/8a/c46dcc25341b5bce5472c718902eb3d38600a903b14fa6aeecef3f21a46f/asttokens-3.0.0-py3-none-any.whl", hash = "sha256:e3078351a059199dd5138cb1c706e6430c05eff2ff136af5eb4790f9d28932e2", size = 26918 }, +] + +[[package]] +name = "astunparse" +version = "1.6.3" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "six", marker = "python_full_version < '3.9'" }, + { name = "wheel", marker = "python_full_version < '3.9'" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/f3/af/4182184d3c338792894f34a62672919db7ca008c89abee9b564dd34d8029/astunparse-1.6.3.tar.gz", hash = "sha256:5ad93a8456f0d084c3456d059fd9a92cce667963232cbf763eac3bc5b7940872", size = 18290 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/2b/03/13dde6512ad7b4557eb792fbcf0c653af6076b81e5941d36ec61f7ce6028/astunparse-1.6.3-py2.py3-none-any.whl", hash = "sha256:c2652417f2c8b5bb325c885ae329bdf3f86424075c4fd1a128674bc6fba4b8e8", size = 12732 }, +] + +[[package]] +name = "async-lru" +version = "2.0.4" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "typing-extensions", marker = "python_full_version < '3.11'" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/80/e2/2b4651eff771f6fd900d233e175ddc5e2be502c7eb62c0c42f975c6d36cd/async-lru-2.0.4.tar.gz", hash = "sha256:b8a59a5df60805ff63220b2a0c5b5393da5521b113cd5465a44eb037d81a5627", size = 10019 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/fa/9f/3c3503693386c4b0f245eaf5ca6198e3b28879ca0a40bde6b0e319793453/async_lru-2.0.4-py3-none-any.whl", hash = "sha256:ff02944ce3c288c5be660c42dbcca0742b32c3b279d6dceda655190240b99224", size = 6111 }, +] + +[[package]] +name = "attrs" +version = "24.3.0" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/48/c8/6260f8ccc11f0917360fc0da435c5c9c7504e3db174d5a12a1494887b045/attrs-24.3.0.tar.gz", hash = "sha256:8f5c07333d543103541ba7be0e2ce16eeee8130cb0b3f9238ab904ce1e85baff", size = 805984 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/89/aa/ab0f7891a01eeb2d2e338ae8fecbe57fcebea1a24dbb64d45801bfab481d/attrs-24.3.0-py3-none-any.whl", hash = "sha256:ac96cd038792094f438ad1f6ff80837353805ac950cd2aa0e0625ef19850c308", size = 63397 }, +] + +[[package]] +name = "babel" +version = "2.16.0" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "pytz", marker = "python_full_version < '3.9'" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/2a/74/f1bc80f23eeba13393b7222b11d95ca3af2c1e28edca18af487137eefed9/babel-2.16.0.tar.gz", hash = "sha256:d1f3554ca26605fe173f3de0c65f750f5a42f924499bf134de6423582298e316", size = 9348104 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/ed/20/bc79bc575ba2e2a7f70e8a1155618bb1301eaa5132a8271373a6903f73f8/babel-2.16.0-py3-none-any.whl", hash = "sha256:368b5b98b37c06b7daf6696391c3240c938b37767d4584413e8438c5c435fa8b", size = 9587599 }, +] + +[[package]] +name = "backcall" +version = "0.2.0" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/a2/40/764a663805d84deee23043e1426a9175567db89c8b3287b5c2ad9f71aa93/backcall-0.2.0.tar.gz", hash = "sha256:5cbdbf27be5e7cfadb448baf0aa95508f91f2bbc6c6437cd9cd06e2a4c215e1e", size = 18041 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/4c/1c/ff6546b6c12603d8dd1070aa3c3d273ad4c07f5771689a7b69a550e8c951/backcall-0.2.0-py2.py3-none-any.whl", hash = "sha256:fbbce6a29f263178a1f7915c1940bde0ec2b2a967566fe1c65c1dfb7422bd255", size = 11157 }, +] + +[[package]] +name = "backports-tarfile" +version = "1.2.0" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/86/72/cd9b395f25e290e633655a100af28cb253e4393396264a98bd5f5951d50f/backports_tarfile-1.2.0.tar.gz", hash = "sha256:d75e02c268746e1b8144c278978b6e98e85de6ad16f8e4b0844a154557eca991", size = 86406 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/b9/fa/123043af240e49752f1c4bd24da5053b6bd00cad78c2be53c0d1e8b975bc/backports.tarfile-1.2.0-py3-none-any.whl", hash = "sha256:77e284d754527b01fb1e6fa8a1afe577858ebe4e9dad8919e34c862cb399bc34", size = 30181 }, +] + +[[package]] +name = "beautifulsoup4" +version = "4.12.3" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "soupsieve" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/b3/ca/824b1195773ce6166d388573fc106ce56d4a805bd7427b624e063596ec58/beautifulsoup4-4.12.3.tar.gz", hash = "sha256:74e3d1928edc070d21748185c46e3fb33490f22f52a3addee9aee0f4f7781051", size = 581181 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/b1/fe/e8c672695b37eecc5cbf43e1d0638d88d66ba3a44c4d321c796f4e59167f/beautifulsoup4-4.12.3-py3-none-any.whl", hash = "sha256:b80878c9f40111313e55da8ba20bdba06d8fa3969fc68304167741bbf9e082ed", size = 147925 }, +] + +[[package]] +name = "bleach" +version = "6.1.0" +source = { registry = "https://pypi.org/simple" } +resolution-markers = [ + "python_full_version < '3.9' and platform_machine == 'arm64' and sys_platform == 'darwin'", + "python_full_version < '3.9' and platform_machine == 'aarch64' and sys_platform == 'linux'", + "(python_full_version < '3.9' and platform_machine != 'arm64' and sys_platform == 'darwin') or (python_full_version < '3.9' and platform_machine != 'aarch64' and sys_platform == 'linux') or (python_full_version < '3.9' and sys_platform != 'darwin' and sys_platform != 'linux')", +] +dependencies = [ + { name = "six", marker = "python_full_version < '3.9'" }, + { name = "webencodings", marker = "python_full_version < '3.9'" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/6d/10/77f32b088738f40d4f5be801daa5f327879eadd4562f36a2b5ab975ae571/bleach-6.1.0.tar.gz", hash = "sha256:0a31f1837963c41d46bbf1331b8778e1308ea0791db03cc4e7357b97cf42a8fe", size = 202119 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/ea/63/da7237f805089ecc28a3f36bca6a21c31fcbc2eb380f3b8f1be3312abd14/bleach-6.1.0-py3-none-any.whl", hash = "sha256:3225f354cfc436b9789c66c4ee030194bee0568fbf9cbdad3bc8b5c26c5f12b6", size = 162750 }, +] + +[package.optional-dependencies] +css = [ + { name = "tinycss2", version = "1.2.1", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.9'" }, +] + +[[package]] +name = "bleach" +version = "6.2.0" +source = { registry = "https://pypi.org/simple" } +resolution-markers = [ + "python_full_version >= '3.13' and sys_platform == 'darwin'", + "python_full_version >= '3.13' and platform_machine == 'aarch64' and sys_platform == 'linux'", + "(python_full_version >= '3.13' and platform_machine != 'aarch64' and sys_platform == 'linux') or (python_full_version >= '3.13' and sys_platform != 'darwin' and sys_platform != 'linux')", + "python_full_version == '3.12.*' and sys_platform == 'darwin'", + "python_full_version == '3.12.*' and platform_machine == 'aarch64' and sys_platform == 'linux'", + "(python_full_version == '3.12.*' and platform_machine != 'aarch64' and sys_platform == 'linux') or (python_full_version == '3.12.*' and sys_platform != 'darwin' and sys_platform != 'linux')", + "python_full_version == '3.11.*' and sys_platform == 'darwin'", + "python_full_version == '3.11.*' and platform_machine == 'aarch64' and sys_platform == 'linux'", + "(python_full_version == '3.11.*' and platform_machine != 'aarch64' and sys_platform == 'linux') or (python_full_version == '3.11.*' and sys_platform != 'darwin' and sys_platform != 'linux')", + "python_full_version == '3.10.*' and sys_platform == 'darwin'", + "python_full_version == '3.10.*' and platform_machine == 'aarch64' and sys_platform == 'linux'", + "(python_full_version == '3.10.*' and platform_machine != 'aarch64' and sys_platform == 'linux') or (python_full_version == '3.10.*' and sys_platform != 'darwin' and sys_platform != 'linux')", + "python_full_version == '3.9.*' and platform_machine == 'arm64' and sys_platform == 'darwin'", + "python_full_version == '3.9.*' and platform_machine == 'aarch64' and sys_platform == 'linux'", + "(python_full_version == '3.9.*' and platform_machine != 'arm64' and sys_platform == 'darwin') or (python_full_version == '3.9.*' and platform_machine != 'aarch64' and sys_platform == 'linux') or (python_full_version == '3.9.*' and sys_platform != 'darwin' and sys_platform != 'linux')", +] +dependencies = [ + { name = "webencodings", marker = "python_full_version >= '3.9'" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/76/9a/0e33f5054c54d349ea62c277191c020c2d6ef1d65ab2cb1993f91ec846d1/bleach-6.2.0.tar.gz", hash = "sha256:123e894118b8a599fd80d3ec1a6d4cc7ce4e5882b1317a7e1ba69b56e95f991f", size = 203083 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/fc/55/96142937f66150805c25c4d0f31ee4132fd33497753400734f9dfdcbdc66/bleach-6.2.0-py3-none-any.whl", hash = "sha256:117d9c6097a7c3d22fd578fcd8d35ff1e125df6736f554da4e432fdd63f31e5e", size = 163406 }, +] + +[package.optional-dependencies] +css = [ + { name = "tinycss2", version = "1.4.0", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.9'" }, +] + +[[package]] +name = "build" +version = "1.2.2.post1" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "colorama", marker = "(python_full_version < '3.10' and os_name == 'nt' and platform_machine != 'arm64' and sys_platform == 'darwin') or (os_name == 'nt' and platform_machine != 'aarch64' and sys_platform == 'linux') or (os_name == 'nt' and sys_platform != 'darwin' and sys_platform != 'linux')" }, + { name = "importlib-metadata", marker = "python_full_version < '3.10.2'" }, + { name = "packaging" }, + { name = "pyproject-hooks" }, + { name = "tomli", marker = "python_full_version < '3.11'" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/7d/46/aeab111f8e06793e4f0e421fcad593d547fb8313b50990f31681ee2fb1ad/build-1.2.2.post1.tar.gz", hash = "sha256:b36993e92ca9375a219c99e606a122ff365a760a2d4bba0caa09bd5278b608b7", size = 46701 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/84/c2/80633736cd183ee4a62107413def345f7e6e3c01563dbca1417363cf957e/build-1.2.2.post1-py3-none-any.whl", hash = "sha256:1d61c0887fa860c01971625baae8bdd338e517b836a2f70dd1f7aa3a6b2fc5b5", size = 22950 }, +] + +[[package]] +name = "cachetools" +version = "5.5.0" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/c3/38/a0f315319737ecf45b4319a8cd1f3a908e29d9277b46942263292115eee7/cachetools-5.5.0.tar.gz", hash = "sha256:2cc24fb4cbe39633fb7badd9db9ca6295d766d9c2995f245725a46715d050f2a", size = 27661 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/a4/07/14f8ad37f2d12a5ce41206c21820d8cb6561b728e51fad4530dff0552a67/cachetools-5.5.0-py3-none-any.whl", hash = "sha256:02134e8439cdc2ffb62023ce1debca2944c3f289d66bb17ead3ab3dede74b292", size = 9524 }, +] + +[[package]] +name = "cairocffi" +version = "1.7.1" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "cffi" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/70/c5/1a4dc131459e68a173cbdab5fad6b524f53f9c1ef7861b7698e998b837cc/cairocffi-1.7.1.tar.gz", hash = "sha256:2e48ee864884ec4a3a34bfa8c9ab9999f688286eb714a15a43ec9d068c36557b", size = 88096 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/93/d8/ba13451aa6b745c49536e87b6bf8f629b950e84bd0e8308f7dc6883b67e2/cairocffi-1.7.1-py3-none-any.whl", hash = "sha256:9803a0e11f6c962f3b0ae2ec8ba6ae45e957a146a004697a1ac1bbf16b073b3f", size = 75611 }, +] + +[[package]] +name = "cairosvg" +version = "2.7.1" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "cairocffi" }, + { name = "cssselect2" }, + { name = "defusedxml" }, + { name = "pillow" }, + { name = "tinycss2", version = "1.2.1", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.9'" }, + { name = "tinycss2", version = "1.4.0", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.9'" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/d5/e6/ec5900b724e3c44af7f6f51f719919137284e5da4aabe96508baec8a1b40/CairoSVG-2.7.1.tar.gz", hash = "sha256:432531d72347291b9a9ebfb6777026b607563fd8719c46ee742db0aef7271ba0", size = 8399085 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/01/a5/1866b42151f50453f1a0d28fc4c39f5be5f412a2e914f33449c42daafdf1/CairoSVG-2.7.1-py3-none-any.whl", hash = "sha256:8a5222d4e6c3f86f1f7046b63246877a63b49923a1cd202184c3a634ef546b3b", size = 43235 }, +] + +[[package]] +name = "certifi" +version = "2024.12.14" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/0f/bd/1d41ee578ce09523c81a15426705dd20969f5abf006d1afe8aeff0dd776a/certifi-2024.12.14.tar.gz", hash = "sha256:b650d30f370c2b724812bee08008be0c4163b163ddaec3f2546c1caf65f191db", size = 166010 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/a5/32/8f6669fc4798494966bf446c8c4a162e0b5d893dff088afddf76414f70e1/certifi-2024.12.14-py3-none-any.whl", hash = "sha256:1275f7a45be9464efc1173084eaa30f866fe2e47d389406136d332ed4967ec56", size = 164927 }, +] + +[[package]] +name = "cffi" +version = "1.17.1" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "pycparser" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/fc/97/c783634659c2920c3fc70419e3af40972dbaf758daa229a7d6ea6135c90d/cffi-1.17.1.tar.gz", hash = "sha256:1c39c6016c32bc48dd54561950ebd6836e1670f2ae46128f67cf49e789c52824", size = 516621 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/90/07/f44ca684db4e4f08a3fdc6eeb9a0d15dc6883efc7b8c90357fdbf74e186c/cffi-1.17.1-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:df8b1c11f177bc2313ec4b2d46baec87a5f3e71fc8b45dab2ee7cae86d9aba14", size = 182191 }, + { url = "https://files.pythonhosted.org/packages/08/fd/cc2fedbd887223f9f5d170c96e57cbf655df9831a6546c1727ae13fa977a/cffi-1.17.1-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:8f2cdc858323644ab277e9bb925ad72ae0e67f69e804f4898c070998d50b1a67", size = 178592 }, + { url = "https://files.pythonhosted.org/packages/de/cc/4635c320081c78d6ffc2cab0a76025b691a91204f4aa317d568ff9280a2d/cffi-1.17.1-cp310-cp310-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:edae79245293e15384b51f88b00613ba9f7198016a5948b5dddf4917d4d26382", size = 426024 }, + { url = "https://files.pythonhosted.org/packages/b6/7b/3b2b250f3aab91abe5f8a51ada1b717935fdaec53f790ad4100fe2ec64d1/cffi-1.17.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:45398b671ac6d70e67da8e4224a065cec6a93541bb7aebe1b198a61b58c7b702", size = 448188 }, + { url = "https://files.pythonhosted.org/packages/d3/48/1b9283ebbf0ec065148d8de05d647a986c5f22586b18120020452fff8f5d/cffi-1.17.1-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:ad9413ccdeda48c5afdae7e4fa2192157e991ff761e7ab8fdd8926f40b160cc3", size = 455571 }, + { url = "https://files.pythonhosted.org/packages/40/87/3b8452525437b40f39ca7ff70276679772ee7e8b394934ff60e63b7b090c/cffi-1.17.1-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:5da5719280082ac6bd9aa7becb3938dc9f9cbd57fac7d2871717b1feb0902ab6", size = 436687 }, + { url = "https://files.pythonhosted.org/packages/8d/fb/4da72871d177d63649ac449aec2e8a29efe0274035880c7af59101ca2232/cffi-1.17.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:2bb1a08b8008b281856e5971307cc386a8e9c5b625ac297e853d36da6efe9c17", size = 446211 }, + { url = "https://files.pythonhosted.org/packages/ab/a0/62f00bcb411332106c02b663b26f3545a9ef136f80d5df746c05878f8c4b/cffi-1.17.1-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:045d61c734659cc045141be4bae381a41d89b741f795af1dd018bfb532fd0df8", size = 461325 }, + { url = "https://files.pythonhosted.org/packages/36/83/76127035ed2e7e27b0787604d99da630ac3123bfb02d8e80c633f218a11d/cffi-1.17.1-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:6883e737d7d9e4899a8a695e00ec36bd4e5e4f18fabe0aca0efe0a4b44cdb13e", size = 438784 }, + { url = "https://files.pythonhosted.org/packages/21/81/a6cd025db2f08ac88b901b745c163d884641909641f9b826e8cb87645942/cffi-1.17.1-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:6b8b4a92e1c65048ff98cfe1f735ef8f1ceb72e3d5f0c25fdb12087a23da22be", size = 461564 }, + { url = "https://files.pythonhosted.org/packages/f8/fe/4d41c2f200c4a457933dbd98d3cf4e911870877bd94d9656cc0fcb390681/cffi-1.17.1-cp310-cp310-win32.whl", hash = "sha256:c9c3d058ebabb74db66e431095118094d06abf53284d9c81f27300d0e0d8bc7c", size = 171804 }, + { url = "https://files.pythonhosted.org/packages/d1/b6/0b0f5ab93b0df4acc49cae758c81fe4e5ef26c3ae2e10cc69249dfd8b3ab/cffi-1.17.1-cp310-cp310-win_amd64.whl", hash = "sha256:0f048dcf80db46f0098ccac01132761580d28e28bc0f78ae0d58048063317e15", size = 181299 }, + { url = "https://files.pythonhosted.org/packages/6b/f4/927e3a8899e52a27fa57a48607ff7dc91a9ebe97399b357b85a0c7892e00/cffi-1.17.1-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:a45e3c6913c5b87b3ff120dcdc03f6131fa0065027d0ed7ee6190736a74cd401", size = 182264 }, + { url = "https://files.pythonhosted.org/packages/6c/f5/6c3a8efe5f503175aaddcbea6ad0d2c96dad6f5abb205750d1b3df44ef29/cffi-1.17.1-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:30c5e0cb5ae493c04c8b42916e52ca38079f1b235c2f8ae5f4527b963c401caf", size = 178651 }, + { url = "https://files.pythonhosted.org/packages/94/dd/a3f0118e688d1b1a57553da23b16bdade96d2f9bcda4d32e7d2838047ff7/cffi-1.17.1-cp311-cp311-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:f75c7ab1f9e4aca5414ed4d8e5c0e303a34f4421f8a0d47a4d019ceff0ab6af4", size = 445259 }, + { url = "https://files.pythonhosted.org/packages/2e/ea/70ce63780f096e16ce8588efe039d3c4f91deb1dc01e9c73a287939c79a6/cffi-1.17.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a1ed2dd2972641495a3ec98445e09766f077aee98a1c896dcb4ad0d303628e41", size = 469200 }, + { url = "https://files.pythonhosted.org/packages/1c/a0/a4fa9f4f781bda074c3ddd57a572b060fa0df7655d2a4247bbe277200146/cffi-1.17.1-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:46bf43160c1a35f7ec506d254e5c890f3c03648a4dbac12d624e4490a7046cd1", size = 477235 }, + { url = "https://files.pythonhosted.org/packages/62/12/ce8710b5b8affbcdd5c6e367217c242524ad17a02fe5beec3ee339f69f85/cffi-1.17.1-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:a24ed04c8ffd54b0729c07cee15a81d964e6fee0e3d4d342a27b020d22959dc6", size = 459721 }, + { url = "https://files.pythonhosted.org/packages/ff/6b/d45873c5e0242196f042d555526f92aa9e0c32355a1be1ff8c27f077fd37/cffi-1.17.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:610faea79c43e44c71e1ec53a554553fa22321b65fae24889706c0a84d4ad86d", size = 467242 }, + { url = "https://files.pythonhosted.org/packages/1a/52/d9a0e523a572fbccf2955f5abe883cfa8bcc570d7faeee06336fbd50c9fc/cffi-1.17.1-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:a9b15d491f3ad5d692e11f6b71f7857e7835eb677955c00cc0aefcd0669adaf6", size = 477999 }, + { url = "https://files.pythonhosted.org/packages/44/74/f2a2460684a1a2d00ca799ad880d54652841a780c4c97b87754f660c7603/cffi-1.17.1-cp311-cp311-musllinux_1_1_i686.whl", hash = "sha256:de2ea4b5833625383e464549fec1bc395c1bdeeb5f25c4a3a82b5a8c756ec22f", size = 454242 }, + { url = "https://files.pythonhosted.org/packages/f8/4a/34599cac7dfcd888ff54e801afe06a19c17787dfd94495ab0c8d35fe99fb/cffi-1.17.1-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:fc48c783f9c87e60831201f2cce7f3b2e4846bf4d8728eabe54d60700b318a0b", size = 478604 }, + { url = "https://files.pythonhosted.org/packages/34/33/e1b8a1ba29025adbdcda5fb3a36f94c03d771c1b7b12f726ff7fef2ebe36/cffi-1.17.1-cp311-cp311-win32.whl", hash = "sha256:85a950a4ac9c359340d5963966e3e0a94a676bd6245a4b55bc43949eee26a655", size = 171727 }, + { url = "https://files.pythonhosted.org/packages/3d/97/50228be003bb2802627d28ec0627837ac0bf35c90cf769812056f235b2d1/cffi-1.17.1-cp311-cp311-win_amd64.whl", hash = "sha256:caaf0640ef5f5517f49bc275eca1406b0ffa6aa184892812030f04c2abf589a0", size = 181400 }, + { url = "https://files.pythonhosted.org/packages/5a/84/e94227139ee5fb4d600a7a4927f322e1d4aea6fdc50bd3fca8493caba23f/cffi-1.17.1-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:805b4371bf7197c329fcb3ead37e710d1bca9da5d583f5073b799d5c5bd1eee4", size = 183178 }, + { url = "https://files.pythonhosted.org/packages/da/ee/fb72c2b48656111c4ef27f0f91da355e130a923473bf5ee75c5643d00cca/cffi-1.17.1-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:733e99bc2df47476e3848417c5a4540522f234dfd4ef3ab7fafdf555b082ec0c", size = 178840 }, + { url = "https://files.pythonhosted.org/packages/cc/b6/db007700f67d151abadf508cbfd6a1884f57eab90b1bb985c4c8c02b0f28/cffi-1.17.1-cp312-cp312-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:1257bdabf294dceb59f5e70c64a3e2f462c30c7ad68092d01bbbfb1c16b1ba36", size = 454803 }, + { url = "https://files.pythonhosted.org/packages/1a/df/f8d151540d8c200eb1c6fba8cd0dfd40904f1b0682ea705c36e6c2e97ab3/cffi-1.17.1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:da95af8214998d77a98cc14e3a3bd00aa191526343078b530ceb0bd710fb48a5", size = 478850 }, + { url = "https://files.pythonhosted.org/packages/28/c0/b31116332a547fd2677ae5b78a2ef662dfc8023d67f41b2a83f7c2aa78b1/cffi-1.17.1-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:d63afe322132c194cf832bfec0dc69a99fb9bb6bbd550f161a49e9e855cc78ff", size = 485729 }, + { url = "https://files.pythonhosted.org/packages/91/2b/9a1ddfa5c7f13cab007a2c9cc295b70fbbda7cb10a286aa6810338e60ea1/cffi-1.17.1-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:f79fc4fc25f1c8698ff97788206bb3c2598949bfe0fef03d299eb1b5356ada99", size = 471256 }, + { url = "https://files.pythonhosted.org/packages/b2/d5/da47df7004cb17e4955df6a43d14b3b4ae77737dff8bf7f8f333196717bf/cffi-1.17.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:b62ce867176a75d03a665bad002af8e6d54644fad99a3c70905c543130e39d93", size = 479424 }, + { url = "https://files.pythonhosted.org/packages/0b/ac/2a28bcf513e93a219c8a4e8e125534f4f6db03e3179ba1c45e949b76212c/cffi-1.17.1-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:386c8bf53c502fff58903061338ce4f4950cbdcb23e2902d86c0f722b786bbe3", size = 484568 }, + { url = "https://files.pythonhosted.org/packages/d4/38/ca8a4f639065f14ae0f1d9751e70447a261f1a30fa7547a828ae08142465/cffi-1.17.1-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:4ceb10419a9adf4460ea14cfd6bc43d08701f0835e979bf821052f1805850fe8", size = 488736 }, + { url = "https://files.pythonhosted.org/packages/86/c5/28b2d6f799ec0bdecf44dced2ec5ed43e0eb63097b0f58c293583b406582/cffi-1.17.1-cp312-cp312-win32.whl", hash = "sha256:a08d7e755f8ed21095a310a693525137cfe756ce62d066e53f502a83dc550f65", size = 172448 }, + { url = "https://files.pythonhosted.org/packages/50/b9/db34c4755a7bd1cb2d1603ac3863f22bcecbd1ba29e5ee841a4bc510b294/cffi-1.17.1-cp312-cp312-win_amd64.whl", hash = "sha256:51392eae71afec0d0c8fb1a53b204dbb3bcabcb3c9b807eedf3e1e6ccf2de903", size = 181976 }, + { url = "https://files.pythonhosted.org/packages/8d/f8/dd6c246b148639254dad4d6803eb6a54e8c85c6e11ec9df2cffa87571dbe/cffi-1.17.1-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:f3a2b4222ce6b60e2e8b337bb9596923045681d71e5a082783484d845390938e", size = 182989 }, + { url = "https://files.pythonhosted.org/packages/8b/f1/672d303ddf17c24fc83afd712316fda78dc6fce1cd53011b839483e1ecc8/cffi-1.17.1-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:0984a4925a435b1da406122d4d7968dd861c1385afe3b45ba82b750f229811e2", size = 178802 }, + { url = "https://files.pythonhosted.org/packages/0e/2d/eab2e858a91fdff70533cab61dcff4a1f55ec60425832ddfdc9cd36bc8af/cffi-1.17.1-cp313-cp313-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:d01b12eeeb4427d3110de311e1774046ad344f5b1a7403101878976ecd7a10f3", size = 454792 }, + { url = "https://files.pythonhosted.org/packages/75/b2/fbaec7c4455c604e29388d55599b99ebcc250a60050610fadde58932b7ee/cffi-1.17.1-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:706510fe141c86a69c8ddc029c7910003a17353970cff3b904ff0686a5927683", size = 478893 }, + { url = "https://files.pythonhosted.org/packages/4f/b7/6e4a2162178bf1935c336d4da8a9352cccab4d3a5d7914065490f08c0690/cffi-1.17.1-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:de55b766c7aa2e2a3092c51e0483d700341182f08e67c63630d5b6f200bb28e5", size = 485810 }, + { url = "https://files.pythonhosted.org/packages/c7/8a/1d0e4a9c26e54746dc08c2c6c037889124d4f59dffd853a659fa545f1b40/cffi-1.17.1-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:c59d6e989d07460165cc5ad3c61f9fd8f1b4796eacbd81cee78957842b834af4", size = 471200 }, + { url = "https://files.pythonhosted.org/packages/26/9f/1aab65a6c0db35f43c4d1b4f580e8df53914310afc10ae0397d29d697af4/cffi-1.17.1-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:dd398dbc6773384a17fe0d3e7eeb8d1a21c2200473ee6806bb5e6a8e62bb73dd", size = 479447 }, + { url = "https://files.pythonhosted.org/packages/5f/e4/fb8b3dd8dc0e98edf1135ff067ae070bb32ef9d509d6cb0f538cd6f7483f/cffi-1.17.1-cp313-cp313-musllinux_1_1_aarch64.whl", hash = "sha256:3edc8d958eb099c634dace3c7e16560ae474aa3803a5df240542b305d14e14ed", size = 484358 }, + { url = "https://files.pythonhosted.org/packages/f1/47/d7145bf2dc04684935d57d67dff9d6d795b2ba2796806bb109864be3a151/cffi-1.17.1-cp313-cp313-musllinux_1_1_x86_64.whl", hash = "sha256:72e72408cad3d5419375fc87d289076ee319835bdfa2caad331e377589aebba9", size = 488469 }, + { url = "https://files.pythonhosted.org/packages/bf/ee/f94057fa6426481d663b88637a9a10e859e492c73d0384514a17d78ee205/cffi-1.17.1-cp313-cp313-win32.whl", hash = "sha256:e03eab0a8677fa80d646b5ddece1cbeaf556c313dcfac435ba11f107ba117b5d", size = 172475 }, + { url = "https://files.pythonhosted.org/packages/7c/fc/6a8cb64e5f0324877d503c854da15d76c1e50eb722e320b15345c4d0c6de/cffi-1.17.1-cp313-cp313-win_amd64.whl", hash = "sha256:f6a16c31041f09ead72d69f583767292f750d24913dadacf5756b966aacb3f1a", size = 182009 }, + { url = "https://files.pythonhosted.org/packages/48/08/15bf6b43ae9bd06f6b00ad8a91f5a8fe1069d4c9fab550a866755402724e/cffi-1.17.1-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:636062ea65bd0195bc012fea9321aca499c0504409f413dc88af450b57ffd03b", size = 182457 }, + { url = "https://files.pythonhosted.org/packages/c2/5b/f1523dd545f92f7df468e5f653ffa4df30ac222f3c884e51e139878f1cb5/cffi-1.17.1-cp38-cp38-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:c7eac2ef9b63c79431bc4b25f1cd649d7f061a28808cbc6c47b534bd789ef964", size = 425932 }, + { url = "https://files.pythonhosted.org/packages/53/93/7e547ab4105969cc8c93b38a667b82a835dd2cc78f3a7dad6130cfd41e1d/cffi-1.17.1-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:e221cf152cff04059d011ee126477f0d9588303eb57e88923578ace7baad17f9", size = 448585 }, + { url = "https://files.pythonhosted.org/packages/56/c4/a308f2c332006206bb511de219efeff090e9d63529ba0a77aae72e82248b/cffi-1.17.1-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:31000ec67d4221a71bd3f67df918b1f88f676f1c3b535a7eb473255fdc0b83fc", size = 456268 }, + { url = "https://files.pythonhosted.org/packages/ca/5b/b63681518265f2f4060d2b60755c1c77ec89e5e045fc3773b72735ddaad5/cffi-1.17.1-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:6f17be4345073b0a7b8ea599688f692ac3ef23ce28e5df79c04de519dbc4912c", size = 436592 }, + { url = "https://files.pythonhosted.org/packages/bb/19/b51af9f4a4faa4a8ac5a0e5d5c2522dcd9703d07fac69da34a36c4d960d3/cffi-1.17.1-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:0e2b1fac190ae3ebfe37b979cc1ce69c81f4e4fe5746bb401dca63a9062cdaf1", size = 446512 }, + { url = "https://files.pythonhosted.org/packages/e2/63/2bed8323890cb613bbecda807688a31ed11a7fe7afe31f8faaae0206a9a3/cffi-1.17.1-cp38-cp38-win32.whl", hash = "sha256:7596d6620d3fa590f677e9ee430df2958d2d6d6de2feeae5b20e82c00b76fbf8", size = 171576 }, + { url = "https://files.pythonhosted.org/packages/2f/70/80c33b044ebc79527447fd4fbc5455d514c3bb840dede4455de97da39b4d/cffi-1.17.1-cp38-cp38-win_amd64.whl", hash = "sha256:78122be759c3f8a014ce010908ae03364d00a1f81ab5c7f4a7a5120607ea56e1", size = 181229 }, + { url = "https://files.pythonhosted.org/packages/b9/ea/8bb50596b8ffbc49ddd7a1ad305035daa770202a6b782fc164647c2673ad/cffi-1.17.1-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:b2ab587605f4ba0bf81dc0cb08a41bd1c0a5906bd59243d56bad7668a6fc6c16", size = 182220 }, + { url = "https://files.pythonhosted.org/packages/ae/11/e77c8cd24f58285a82c23af484cf5b124a376b32644e445960d1a4654c3a/cffi-1.17.1-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:28b16024becceed8c6dfbc75629e27788d8a3f9030691a1dbf9821a128b22c36", size = 178605 }, + { url = "https://files.pythonhosted.org/packages/ed/65/25a8dc32c53bf5b7b6c2686b42ae2ad58743f7ff644844af7cdb29b49361/cffi-1.17.1-cp39-cp39-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:1d599671f396c4723d016dbddb72fe8e0397082b0a77a4fab8028923bec050e8", size = 424910 }, + { url = "https://files.pythonhosted.org/packages/42/7a/9d086fab7c66bd7c4d0f27c57a1b6b068ced810afc498cc8c49e0088661c/cffi-1.17.1-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:ca74b8dbe6e8e8263c0ffd60277de77dcee6c837a3d0881d8c1ead7268c9e576", size = 447200 }, + { url = "https://files.pythonhosted.org/packages/da/63/1785ced118ce92a993b0ec9e0d0ac8dc3e5dbfbcaa81135be56c69cabbb6/cffi-1.17.1-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:f7f5baafcc48261359e14bcd6d9bff6d4b28d9103847c9e136694cb0501aef87", size = 454565 }, + { url = "https://files.pythonhosted.org/packages/74/06/90b8a44abf3556599cdec107f7290277ae8901a58f75e6fe8f970cd72418/cffi-1.17.1-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:98e3969bcff97cae1b2def8ba499ea3d6f31ddfdb7635374834cf89a1a08ecf0", size = 435635 }, + { url = "https://files.pythonhosted.org/packages/bd/62/a1f468e5708a70b1d86ead5bab5520861d9c7eacce4a885ded9faa7729c3/cffi-1.17.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:cdf5ce3acdfd1661132f2a9c19cac174758dc2352bfe37d98aa7512c6b7178b3", size = 445218 }, + { url = "https://files.pythonhosted.org/packages/5b/95/b34462f3ccb09c2594aa782d90a90b045de4ff1f70148ee79c69d37a0a5a/cffi-1.17.1-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:9755e4345d1ec879e3849e62222a18c7174d65a6a92d5b346b1863912168b595", size = 460486 }, + { url = "https://files.pythonhosted.org/packages/fc/fc/a1e4bebd8d680febd29cf6c8a40067182b64f00c7d105f8f26b5bc54317b/cffi-1.17.1-cp39-cp39-musllinux_1_1_i686.whl", hash = "sha256:f1e22e8c4419538cb197e4dd60acc919d7696e5ef98ee4da4e01d3f8cfa4cc5a", size = 437911 }, + { url = "https://files.pythonhosted.org/packages/e6/c3/21cab7a6154b6a5ea330ae80de386e7665254835b9e98ecc1340b3a7de9a/cffi-1.17.1-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:c03e868a0b3bc35839ba98e74211ed2b05d2119be4e8a0f224fba9384f1fe02e", size = 460632 }, + { url = "https://files.pythonhosted.org/packages/cb/b5/fd9f8b5a84010ca169ee49f4e4ad6f8c05f4e3545b72ee041dbbcb159882/cffi-1.17.1-cp39-cp39-win32.whl", hash = "sha256:e31ae45bc2e29f6b2abd0de1cc3b9d5205aa847cafaecb8af1476a609a2f6eb7", size = 171820 }, + { url = "https://files.pythonhosted.org/packages/8c/52/b08750ce0bce45c143e1b5d7357ee8c55341b52bdef4b0f081af1eb248c2/cffi-1.17.1-cp39-cp39-win_amd64.whl", hash = "sha256:d016c76bdd850f3c626af19b0542c9677ba156e4ee4fccfdd7848803533ef662", size = 181290 }, +] + +[[package]] +name = "chardet" +version = "5.2.0" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/f3/0d/f7b6ab21ec75897ed80c17d79b15951a719226b9fababf1e40ea74d69079/chardet-5.2.0.tar.gz", hash = "sha256:1b3b6ff479a8c414bc3fa2c0852995695c4a026dcd6d0633b2dd092ca39c1cf7", size = 2069618 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/38/6f/f5fbc992a329ee4e0f288c1fe0e2ad9485ed064cac731ed2fe47dcc38cbf/chardet-5.2.0-py3-none-any.whl", hash = "sha256:e1cf59446890a00105fe7b7912492ea04b6e6f06d4b742b2c788469e34c82970", size = 199385 }, +] + +[[package]] +name = "charset-normalizer" +version = "3.4.1" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/16/b0/572805e227f01586461c80e0fd25d65a2115599cc9dad142fee4b747c357/charset_normalizer-3.4.1.tar.gz", hash = "sha256:44251f18cd68a75b56585dd00dae26183e102cd5e0f9f1466e6df5da2ed64ea3", size = 123188 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/0d/58/5580c1716040bc89206c77d8f74418caf82ce519aae06450393ca73475d1/charset_normalizer-3.4.1-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:91b36a978b5ae0ee86c394f5a54d6ef44db1de0815eb43de826d41d21e4af3de", size = 198013 }, + { url = "https://files.pythonhosted.org/packages/d0/11/00341177ae71c6f5159a08168bcb98c6e6d196d372c94511f9f6c9afe0c6/charset_normalizer-3.4.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:7461baadb4dc00fd9e0acbe254e3d7d2112e7f92ced2adc96e54ef6501c5f176", size = 141285 }, + { url = "https://files.pythonhosted.org/packages/01/09/11d684ea5819e5a8f5100fb0b38cf8d02b514746607934134d31233e02c8/charset_normalizer-3.4.1-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:e218488cd232553829be0664c2292d3af2eeeb94b32bea483cf79ac6a694e037", size = 151449 }, + { url = "https://files.pythonhosted.org/packages/08/06/9f5a12939db324d905dc1f70591ae7d7898d030d7662f0d426e2286f68c9/charset_normalizer-3.4.1-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:80ed5e856eb7f30115aaf94e4a08114ccc8813e6ed1b5efa74f9f82e8509858f", size = 143892 }, + { url = "https://files.pythonhosted.org/packages/93/62/5e89cdfe04584cb7f4d36003ffa2936681b03ecc0754f8e969c2becb7e24/charset_normalizer-3.4.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:b010a7a4fd316c3c484d482922d13044979e78d1861f0e0650423144c616a46a", size = 146123 }, + { url = "https://files.pythonhosted.org/packages/a9/ac/ab729a15c516da2ab70a05f8722ecfccc3f04ed7a18e45c75bbbaa347d61/charset_normalizer-3.4.1-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:4532bff1b8421fd0a320463030c7520f56a79c9024a4e88f01c537316019005a", size = 147943 }, + { url = "https://files.pythonhosted.org/packages/03/d2/3f392f23f042615689456e9a274640c1d2e5dd1d52de36ab8f7955f8f050/charset_normalizer-3.4.1-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:d973f03c0cb71c5ed99037b870f2be986c3c05e63622c017ea9816881d2dd247", size = 142063 }, + { url = "https://files.pythonhosted.org/packages/f2/e3/e20aae5e1039a2cd9b08d9205f52142329f887f8cf70da3650326670bddf/charset_normalizer-3.4.1-cp310-cp310-musllinux_1_2_i686.whl", hash = "sha256:3a3bd0dcd373514dcec91c411ddb9632c0d7d92aed7093b8c3bbb6d69ca74408", size = 150578 }, + { url = "https://files.pythonhosted.org/packages/8d/af/779ad72a4da0aed925e1139d458adc486e61076d7ecdcc09e610ea8678db/charset_normalizer-3.4.1-cp310-cp310-musllinux_1_2_ppc64le.whl", hash = "sha256:d9c3cdf5390dcd29aa8056d13e8e99526cda0305acc038b96b30352aff5ff2bb", size = 153629 }, + { url = "https://files.pythonhosted.org/packages/c2/b6/7aa450b278e7aa92cf7732140bfd8be21f5f29d5bf334ae987c945276639/charset_normalizer-3.4.1-cp310-cp310-musllinux_1_2_s390x.whl", hash = "sha256:2bdfe3ac2e1bbe5b59a1a63721eb3b95fc9b6817ae4a46debbb4e11f6232428d", size = 150778 }, + { url = "https://files.pythonhosted.org/packages/39/f4/d9f4f712d0951dcbfd42920d3db81b00dd23b6ab520419626f4023334056/charset_normalizer-3.4.1-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:eab677309cdb30d047996b36d34caeda1dc91149e4fdca0b1a039b3f79d9a807", size = 146453 }, + { url = "https://files.pythonhosted.org/packages/49/2b/999d0314e4ee0cff3cb83e6bc9aeddd397eeed693edb4facb901eb8fbb69/charset_normalizer-3.4.1-cp310-cp310-win32.whl", hash = "sha256:c0429126cf75e16c4f0ad00ee0eae4242dc652290f940152ca8c75c3a4b6ee8f", size = 95479 }, + { url = "https://files.pythonhosted.org/packages/2d/ce/3cbed41cff67e455a386fb5e5dd8906cdda2ed92fbc6297921f2e4419309/charset_normalizer-3.4.1-cp310-cp310-win_amd64.whl", hash = "sha256:9f0b8b1c6d84c8034a44893aba5e767bf9c7a211e313a9605d9c617d7083829f", size = 102790 }, + { url = "https://files.pythonhosted.org/packages/72/80/41ef5d5a7935d2d3a773e3eaebf0a9350542f2cab4eac59a7a4741fbbbbe/charset_normalizer-3.4.1-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:8bfa33f4f2672964266e940dd22a195989ba31669bd84629f05fab3ef4e2d125", size = 194995 }, + { url = "https://files.pythonhosted.org/packages/7a/28/0b9fefa7b8b080ec492110af6d88aa3dea91c464b17d53474b6e9ba5d2c5/charset_normalizer-3.4.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:28bf57629c75e810b6ae989f03c0828d64d6b26a5e205535585f96093e405ed1", size = 139471 }, + { url = "https://files.pythonhosted.org/packages/71/64/d24ab1a997efb06402e3fc07317e94da358e2585165930d9d59ad45fcae2/charset_normalizer-3.4.1-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:f08ff5e948271dc7e18a35641d2f11a4cd8dfd5634f55228b691e62b37125eb3", size = 149831 }, + { url = "https://files.pythonhosted.org/packages/37/ed/be39e5258e198655240db5e19e0b11379163ad7070962d6b0c87ed2c4d39/charset_normalizer-3.4.1-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:234ac59ea147c59ee4da87a0c0f098e9c8d169f4dc2a159ef720f1a61bbe27cd", size = 142335 }, + { url = "https://files.pythonhosted.org/packages/88/83/489e9504711fa05d8dde1574996408026bdbdbd938f23be67deebb5eca92/charset_normalizer-3.4.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:fd4ec41f914fa74ad1b8304bbc634b3de73d2a0889bd32076342a573e0779e00", size = 143862 }, + { url = "https://files.pythonhosted.org/packages/c6/c7/32da20821cf387b759ad24627a9aca289d2822de929b8a41b6241767b461/charset_normalizer-3.4.1-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:eea6ee1db730b3483adf394ea72f808b6e18cf3cb6454b4d86e04fa8c4327a12", size = 145673 }, + { url = "https://files.pythonhosted.org/packages/68/85/f4288e96039abdd5aeb5c546fa20a37b50da71b5cf01e75e87f16cd43304/charset_normalizer-3.4.1-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:c96836c97b1238e9c9e3fe90844c947d5afbf4f4c92762679acfe19927d81d77", size = 140211 }, + { url = "https://files.pythonhosted.org/packages/28/a3/a42e70d03cbdabc18997baf4f0227c73591a08041c149e710045c281f97b/charset_normalizer-3.4.1-cp311-cp311-musllinux_1_2_i686.whl", hash = "sha256:4d86f7aff21ee58f26dcf5ae81a9addbd914115cdebcbb2217e4f0ed8982e146", size = 148039 }, + { url = "https://files.pythonhosted.org/packages/85/e4/65699e8ab3014ecbe6f5c71d1a55d810fb716bbfd74f6283d5c2aa87febf/charset_normalizer-3.4.1-cp311-cp311-musllinux_1_2_ppc64le.whl", hash = "sha256:09b5e6733cbd160dcc09589227187e242a30a49ca5cefa5a7edd3f9d19ed53fd", size = 151939 }, + { url = "https://files.pythonhosted.org/packages/b1/82/8e9fe624cc5374193de6860aba3ea8070f584c8565ee77c168ec13274bd2/charset_normalizer-3.4.1-cp311-cp311-musllinux_1_2_s390x.whl", hash = "sha256:5777ee0881f9499ed0f71cc82cf873d9a0ca8af166dfa0af8ec4e675b7df48e6", size = 149075 }, + { url = "https://files.pythonhosted.org/packages/3d/7b/82865ba54c765560c8433f65e8acb9217cb839a9e32b42af4aa8e945870f/charset_normalizer-3.4.1-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:237bdbe6159cff53b4f24f397d43c6336c6b0b42affbe857970cefbb620911c8", size = 144340 }, + { url = "https://files.pythonhosted.org/packages/b5/b6/9674a4b7d4d99a0d2df9b215da766ee682718f88055751e1e5e753c82db0/charset_normalizer-3.4.1-cp311-cp311-win32.whl", hash = "sha256:8417cb1f36cc0bc7eaba8ccb0e04d55f0ee52df06df3ad55259b9a323555fc8b", size = 95205 }, + { url = "https://files.pythonhosted.org/packages/1e/ab/45b180e175de4402dcf7547e4fb617283bae54ce35c27930a6f35b6bef15/charset_normalizer-3.4.1-cp311-cp311-win_amd64.whl", hash = "sha256:d7f50a1f8c450f3925cb367d011448c39239bb3eb4117c36a6d354794de4ce76", size = 102441 }, + { url = "https://files.pythonhosted.org/packages/0a/9a/dd1e1cdceb841925b7798369a09279bd1cf183cef0f9ddf15a3a6502ee45/charset_normalizer-3.4.1-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:73d94b58ec7fecbc7366247d3b0b10a21681004153238750bb67bd9012414545", size = 196105 }, + { url = "https://files.pythonhosted.org/packages/d3/8c/90bfabf8c4809ecb648f39794cf2a84ff2e7d2a6cf159fe68d9a26160467/charset_normalizer-3.4.1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:dad3e487649f498dd991eeb901125411559b22e8d7ab25d3aeb1af367df5efd7", size = 140404 }, + { url = "https://files.pythonhosted.org/packages/ad/8f/e410d57c721945ea3b4f1a04b74f70ce8fa800d393d72899f0a40526401f/charset_normalizer-3.4.1-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:c30197aa96e8eed02200a83fba2657b4c3acd0f0aa4bdc9f6c1af8e8962e0757", size = 150423 }, + { url = "https://files.pythonhosted.org/packages/f0/b8/e6825e25deb691ff98cf5c9072ee0605dc2acfca98af70c2d1b1bc75190d/charset_normalizer-3.4.1-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:2369eea1ee4a7610a860d88f268eb39b95cb588acd7235e02fd5a5601773d4fa", size = 143184 }, + { url = "https://files.pythonhosted.org/packages/3e/a2/513f6cbe752421f16d969e32f3583762bfd583848b763913ddab8d9bfd4f/charset_normalizer-3.4.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:bc2722592d8998c870fa4e290c2eec2c1569b87fe58618e67d38b4665dfa680d", size = 145268 }, + { url = "https://files.pythonhosted.org/packages/74/94/8a5277664f27c3c438546f3eb53b33f5b19568eb7424736bdc440a88a31f/charset_normalizer-3.4.1-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:ffc9202a29ab3920fa812879e95a9e78b2465fd10be7fcbd042899695d75e616", size = 147601 }, + { url = "https://files.pythonhosted.org/packages/7c/5f/6d352c51ee763623a98e31194823518e09bfa48be2a7e8383cf691bbb3d0/charset_normalizer-3.4.1-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:804a4d582ba6e5b747c625bf1255e6b1507465494a40a2130978bda7b932c90b", size = 141098 }, + { url = "https://files.pythonhosted.org/packages/78/d4/f5704cb629ba5ab16d1d3d741396aec6dc3ca2b67757c45b0599bb010478/charset_normalizer-3.4.1-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:0f55e69f030f7163dffe9fd0752b32f070566451afe180f99dbeeb81f511ad8d", size = 149520 }, + { url = "https://files.pythonhosted.org/packages/c5/96/64120b1d02b81785f222b976c0fb79a35875457fa9bb40827678e54d1bc8/charset_normalizer-3.4.1-cp312-cp312-musllinux_1_2_ppc64le.whl", hash = "sha256:c4c3e6da02df6fa1410a7680bd3f63d4f710232d3139089536310d027950696a", size = 152852 }, + { url = "https://files.pythonhosted.org/packages/84/c9/98e3732278a99f47d487fd3468bc60b882920cef29d1fa6ca460a1fdf4e6/charset_normalizer-3.4.1-cp312-cp312-musllinux_1_2_s390x.whl", hash = "sha256:5df196eb874dae23dcfb968c83d4f8fdccb333330fe1fc278ac5ceeb101003a9", size = 150488 }, + { url = "https://files.pythonhosted.org/packages/13/0e/9c8d4cb99c98c1007cc11eda969ebfe837bbbd0acdb4736d228ccaabcd22/charset_normalizer-3.4.1-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:e358e64305fe12299a08e08978f51fc21fac060dcfcddd95453eabe5b93ed0e1", size = 146192 }, + { url = "https://files.pythonhosted.org/packages/b2/21/2b6b5b860781a0b49427309cb8670785aa543fb2178de875b87b9cc97746/charset_normalizer-3.4.1-cp312-cp312-win32.whl", hash = "sha256:9b23ca7ef998bc739bf6ffc077c2116917eabcc901f88da1b9856b210ef63f35", size = 95550 }, + { url = "https://files.pythonhosted.org/packages/21/5b/1b390b03b1d16c7e382b561c5329f83cc06623916aab983e8ab9239c7d5c/charset_normalizer-3.4.1-cp312-cp312-win_amd64.whl", hash = "sha256:6ff8a4a60c227ad87030d76e99cd1698345d4491638dfa6673027c48b3cd395f", size = 102785 }, + { url = "https://files.pythonhosted.org/packages/38/94/ce8e6f63d18049672c76d07d119304e1e2d7c6098f0841b51c666e9f44a0/charset_normalizer-3.4.1-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:aabfa34badd18f1da5ec1bc2715cadc8dca465868a4e73a0173466b688f29dda", size = 195698 }, + { url = "https://files.pythonhosted.org/packages/24/2e/dfdd9770664aae179a96561cc6952ff08f9a8cd09a908f259a9dfa063568/charset_normalizer-3.4.1-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:22e14b5d70560b8dd51ec22863f370d1e595ac3d024cb8ad7d308b4cd95f8313", size = 140162 }, + { url = "https://files.pythonhosted.org/packages/24/4e/f646b9093cff8fc86f2d60af2de4dc17c759de9d554f130b140ea4738ca6/charset_normalizer-3.4.1-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:8436c508b408b82d87dc5f62496973a1805cd46727c34440b0d29d8a2f50a6c9", size = 150263 }, + { url = "https://files.pythonhosted.org/packages/5e/67/2937f8d548c3ef6e2f9aab0f6e21001056f692d43282b165e7c56023e6dd/charset_normalizer-3.4.1-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:2d074908e1aecee37a7635990b2c6d504cd4766c7bc9fc86d63f9c09af3fa11b", size = 142966 }, + { url = "https://files.pythonhosted.org/packages/52/ed/b7f4f07de100bdb95c1756d3a4d17b90c1a3c53715c1a476f8738058e0fa/charset_normalizer-3.4.1-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:955f8851919303c92343d2f66165294848d57e9bba6cf6e3625485a70a038d11", size = 144992 }, + { url = "https://files.pythonhosted.org/packages/96/2c/d49710a6dbcd3776265f4c923bb73ebe83933dfbaa841c5da850fe0fd20b/charset_normalizer-3.4.1-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:44ecbf16649486d4aebafeaa7ec4c9fed8b88101f4dd612dcaf65d5e815f837f", size = 147162 }, + { url = "https://files.pythonhosted.org/packages/b4/41/35ff1f9a6bd380303dea55e44c4933b4cc3c4850988927d4082ada230273/charset_normalizer-3.4.1-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:0924e81d3d5e70f8126529951dac65c1010cdf117bb75eb02dd12339b57749dd", size = 140972 }, + { url = "https://files.pythonhosted.org/packages/fb/43/c6a0b685fe6910d08ba971f62cd9c3e862a85770395ba5d9cad4fede33ab/charset_normalizer-3.4.1-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:2967f74ad52c3b98de4c3b32e1a44e32975e008a9cd2a8cc8966d6a5218c5cb2", size = 149095 }, + { url = "https://files.pythonhosted.org/packages/4c/ff/a9a504662452e2d2878512115638966e75633519ec11f25fca3d2049a94a/charset_normalizer-3.4.1-cp313-cp313-musllinux_1_2_ppc64le.whl", hash = "sha256:c75cb2a3e389853835e84a2d8fb2b81a10645b503eca9bcb98df6b5a43eb8886", size = 152668 }, + { url = "https://files.pythonhosted.org/packages/6c/71/189996b6d9a4b932564701628af5cee6716733e9165af1d5e1b285c530ed/charset_normalizer-3.4.1-cp313-cp313-musllinux_1_2_s390x.whl", hash = "sha256:09b26ae6b1abf0d27570633b2b078a2a20419c99d66fb2823173d73f188ce601", size = 150073 }, + { url = "https://files.pythonhosted.org/packages/e4/93/946a86ce20790e11312c87c75ba68d5f6ad2208cfb52b2d6a2c32840d922/charset_normalizer-3.4.1-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:fa88b843d6e211393a37219e6a1c1df99d35e8fd90446f1118f4216e307e48cd", size = 145732 }, + { url = "https://files.pythonhosted.org/packages/cd/e5/131d2fb1b0dddafc37be4f3a2fa79aa4c037368be9423061dccadfd90091/charset_normalizer-3.4.1-cp313-cp313-win32.whl", hash = "sha256:eb8178fe3dba6450a3e024e95ac49ed3400e506fd4e9e5c32d30adda88cbd407", size = 95391 }, + { url = "https://files.pythonhosted.org/packages/27/f2/4f9a69cc7712b9b5ad8fdb87039fd89abba997ad5cbe690d1835d40405b0/charset_normalizer-3.4.1-cp313-cp313-win_amd64.whl", hash = "sha256:b1ac5992a838106edb89654e0aebfc24f5848ae2547d22c2c3f66454daa11971", size = 102702 }, + { url = "https://files.pythonhosted.org/packages/10/bd/6517ea94f2672e801011d50b5d06be2a0deaf566aea27bcdcd47e5195357/charset_normalizer-3.4.1-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:ecddf25bee22fe4fe3737a399d0d177d72bc22be6913acfab364b40bce1ba83c", size = 195653 }, + { url = "https://files.pythonhosted.org/packages/e5/0d/815a2ba3f283b4eeaa5ece57acade365c5b4135f65a807a083c818716582/charset_normalizer-3.4.1-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:8c60ca7339acd497a55b0ea5d506b2a2612afb2826560416f6894e8b5770d4a9", size = 140701 }, + { url = "https://files.pythonhosted.org/packages/aa/17/c94be7ee0d142687e047fe1de72060f6d6837f40eedc26e87e6e124a3fc6/charset_normalizer-3.4.1-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:b7b2d86dd06bfc2ade3312a83a5c364c7ec2e3498f8734282c6c3d4b07b346b8", size = 150495 }, + { url = "https://files.pythonhosted.org/packages/f7/33/557ac796c47165fc141e4fb71d7b0310f67e05cb420756f3a82e0a0068e0/charset_normalizer-3.4.1-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:dd78cfcda14a1ef52584dbb008f7ac81c1328c0f58184bf9a84c49c605002da6", size = 142946 }, + { url = "https://files.pythonhosted.org/packages/1e/0d/38ef4ae41e9248d63fc4998d933cae22473b1b2ac4122cf908d0f5eb32aa/charset_normalizer-3.4.1-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:6e27f48bcd0957c6d4cb9d6fa6b61d192d0b13d5ef563e5f2ae35feafc0d179c", size = 144737 }, + { url = "https://files.pythonhosted.org/packages/43/01/754cdb29dd0560f58290aaaa284d43eea343ad0512e6ad3b8b5c11f08592/charset_normalizer-3.4.1-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:01ad647cdd609225c5350561d084b42ddf732f4eeefe6e678765636791e78b9a", size = 147471 }, + { url = "https://files.pythonhosted.org/packages/ba/cd/861883ba5160c7a9bd242c30b2c71074cda2aefcc0addc91118e0d4e0765/charset_normalizer-3.4.1-cp38-cp38-musllinux_1_2_aarch64.whl", hash = "sha256:619a609aa74ae43d90ed2e89bdd784765de0a25ca761b93e196d938b8fd1dbbd", size = 140801 }, + { url = "https://files.pythonhosted.org/packages/6f/7f/0c0dad447819e90b93f8ed238cc8f11b91353c23c19e70fa80483a155bed/charset_normalizer-3.4.1-cp38-cp38-musllinux_1_2_i686.whl", hash = "sha256:89149166622f4db9b4b6a449256291dc87a99ee53151c74cbd82a53c8c2f6ccd", size = 149312 }, + { url = "https://files.pythonhosted.org/packages/8e/09/9f8abcc6fff60fb727268b63c376c8c79cc37b833c2dfe1f535dfb59523b/charset_normalizer-3.4.1-cp38-cp38-musllinux_1_2_ppc64le.whl", hash = "sha256:7709f51f5f7c853f0fb938bcd3bc59cdfdc5203635ffd18bf354f6967ea0f824", size = 152347 }, + { url = "https://files.pythonhosted.org/packages/be/e5/3f363dad2e24378f88ccf63ecc39e817c29f32e308ef21a7a6d9c1201165/charset_normalizer-3.4.1-cp38-cp38-musllinux_1_2_s390x.whl", hash = "sha256:345b0426edd4e18138d6528aed636de7a9ed169b4aaf9d61a8c19e39d26838ca", size = 149888 }, + { url = "https://files.pythonhosted.org/packages/e4/10/a78c0e91f487b4ad0ef7480ac765e15b774f83de2597f1b6ef0eaf7a2f99/charset_normalizer-3.4.1-cp38-cp38-musllinux_1_2_x86_64.whl", hash = "sha256:0907f11d019260cdc3f94fbdb23ff9125f6b5d1039b76003b5b0ac9d6a6c9d5b", size = 145169 }, + { url = "https://files.pythonhosted.org/packages/d3/81/396e7d7f5d7420da8273c91175d2e9a3f569288e3611d521685e4b9ac9cc/charset_normalizer-3.4.1-cp38-cp38-win32.whl", hash = "sha256:ea0d8d539afa5eb2728aa1932a988a9a7af94f18582ffae4bc10b3fbdad0626e", size = 95094 }, + { url = "https://files.pythonhosted.org/packages/40/bb/20affbbd9ea29c71ea123769dc568a6d42052ff5089c5fe23e21e21084a6/charset_normalizer-3.4.1-cp38-cp38-win_amd64.whl", hash = "sha256:329ce159e82018d646c7ac45b01a430369d526569ec08516081727a20e9e4af4", size = 102139 }, + { url = "https://files.pythonhosted.org/packages/7f/c0/b913f8f02836ed9ab32ea643c6fe4d3325c3d8627cf6e78098671cafff86/charset_normalizer-3.4.1-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:b97e690a2118911e39b4042088092771b4ae3fc3aa86518f84b8cf6888dbdb41", size = 197867 }, + { url = "https://files.pythonhosted.org/packages/0f/6c/2bee440303d705b6fb1e2ec789543edec83d32d258299b16eed28aad48e0/charset_normalizer-3.4.1-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:78baa6d91634dfb69ec52a463534bc0df05dbd546209b79a3880a34487f4b84f", size = 141385 }, + { url = "https://files.pythonhosted.org/packages/3d/04/cb42585f07f6f9fd3219ffb6f37d5a39b4fd2db2355b23683060029c35f7/charset_normalizer-3.4.1-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:1a2bc9f351a75ef49d664206d51f8e5ede9da246602dc2d2726837620ea034b2", size = 151367 }, + { url = "https://files.pythonhosted.org/packages/54/54/2412a5b093acb17f0222de007cc129ec0e0df198b5ad2ce5699355269dfe/charset_normalizer-3.4.1-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:75832c08354f595c760a804588b9357d34ec00ba1c940c15e31e96d902093770", size = 143928 }, + { url = "https://files.pythonhosted.org/packages/5a/6d/e2773862b043dcf8a221342954f375392bb2ce6487bcd9f2c1b34e1d6781/charset_normalizer-3.4.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:0af291f4fe114be0280cdd29d533696a77b5b49cfde5467176ecab32353395c4", size = 146203 }, + { url = "https://files.pythonhosted.org/packages/b9/f8/ca440ef60d8f8916022859885f231abb07ada3c347c03d63f283bec32ef5/charset_normalizer-3.4.1-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:0167ddc8ab6508fe81860a57dd472b2ef4060e8d378f0cc555707126830f2537", size = 148082 }, + { url = "https://files.pythonhosted.org/packages/04/d2/42fd330901aaa4b805a1097856c2edf5095e260a597f65def493f4b8c833/charset_normalizer-3.4.1-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:2a75d49014d118e4198bcee5ee0a6f25856b29b12dbf7cd012791f8a6cc5c496", size = 142053 }, + { url = "https://files.pythonhosted.org/packages/9e/af/3a97a4fa3c53586f1910dadfc916e9c4f35eeada36de4108f5096cb7215f/charset_normalizer-3.4.1-cp39-cp39-musllinux_1_2_i686.whl", hash = "sha256:363e2f92b0f0174b2f8238240a1a30142e3db7b957a5dd5689b0e75fb717cc78", size = 150625 }, + { url = "https://files.pythonhosted.org/packages/26/ae/23d6041322a3556e4da139663d02fb1b3c59a23ab2e2b56432bd2ad63ded/charset_normalizer-3.4.1-cp39-cp39-musllinux_1_2_ppc64le.whl", hash = "sha256:ab36c8eb7e454e34e60eb55ca5d241a5d18b2c6244f6827a30e451c42410b5f7", size = 153549 }, + { url = "https://files.pythonhosted.org/packages/94/22/b8f2081c6a77cb20d97e57e0b385b481887aa08019d2459dc2858ed64871/charset_normalizer-3.4.1-cp39-cp39-musllinux_1_2_s390x.whl", hash = "sha256:4c0907b1928a36d5a998d72d64d8eaa7244989f7aaaf947500d3a800c83a3fd6", size = 150945 }, + { url = "https://files.pythonhosted.org/packages/c7/0b/c5ec5092747f801b8b093cdf5610e732b809d6cb11f4c51e35fc28d1d389/charset_normalizer-3.4.1-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:04432ad9479fa40ec0f387795ddad4437a2b50417c69fa275e212933519ff294", size = 146595 }, + { url = "https://files.pythonhosted.org/packages/0c/5a/0b59704c38470df6768aa154cc87b1ac7c9bb687990a1559dc8765e8627e/charset_normalizer-3.4.1-cp39-cp39-win32.whl", hash = "sha256:3bed14e9c89dcb10e8f3a29f9ccac4955aebe93c71ae803af79265c9ca5644c5", size = 95453 }, + { url = "https://files.pythonhosted.org/packages/85/2d/a9790237cb4d01a6d57afadc8573c8b73c609ade20b80f4cda30802009ee/charset_normalizer-3.4.1-cp39-cp39-win_amd64.whl", hash = "sha256:49402233c892a461407c512a19435d1ce275543138294f7ef013f0b63d5d3765", size = 102811 }, + { url = "https://files.pythonhosted.org/packages/0e/f6/65ecc6878a89bb1c23a086ea335ad4bf21a588990c3f535a227b9eea9108/charset_normalizer-3.4.1-py3-none-any.whl", hash = "sha256:d98b1668f06378c6dbefec3b92299716b931cd4e6061f3c875a71ced1780ab85", size = 49767 }, +] + +[[package]] +name = "click" +version = "8.1.8" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "colorama", marker = "sys_platform == 'win32'" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/b9/2e/0090cbf739cee7d23781ad4b89a9894a41538e4fcf4c31dcdd705b78eb8b/click-8.1.8.tar.gz", hash = "sha256:ed53c9d8990d83c2a27deae68e4ee337473f6330c040a31d4225c9574d16096a", size = 226593 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/7e/d4/7ebdbd03970677812aac39c869717059dbb71a4cfc033ca6e5221787892c/click-8.1.8-py3-none-any.whl", hash = "sha256:63c132bbbed01578a06712a2d1f497bb62d9c1c0d329b7903a866228027263b2", size = 98188 }, +] + +[[package]] +name = "colorama" +version = "0.4.6" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/d8/53/6f443c9a4a8358a93a6792e2acffb9d9d5cb0a5cfd8802644b7b1c9a02e4/colorama-0.4.6.tar.gz", hash = "sha256:08695f5cb7ed6e0531a20572697297273c47b8cae5a63ffc6d6ed5c201be6e44", size = 27697 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/d1/d6/3965ed04c63042e047cb6a3e6ed1a63a35087b6a609aa3a15ed8ac56c221/colorama-0.4.6-py2.py3-none-any.whl", hash = "sha256:4f1d9991f5acc0ca119f9d443620b77f9d6b33703e51011c16baf57afb285fc6", size = 25335 }, +] + +[[package]] +name = "comm" +version = "0.2.2" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "traitlets" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/e9/a8/fb783cb0abe2b5fded9f55e5703015cdf1c9c85b3669087c538dd15a6a86/comm-0.2.2.tar.gz", hash = "sha256:3fd7a84065306e07bea1773df6eb8282de51ba82f77c72f9c85716ab11fe980e", size = 6210 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/e6/75/49e5bfe642f71f272236b5b2d2691cf915a7283cc0ceda56357b61daa538/comm-0.2.2-py3-none-any.whl", hash = "sha256:e6fb86cb70ff661ee8c9c14e7d36d6de3b4066f1441be4063df9c5009f0a64d3", size = 7180 }, +] + +[[package]] +name = "contourpy" +version = "1.1.1" +source = { registry = "https://pypi.org/simple" } +resolution-markers = [ + "python_full_version < '3.9' and platform_machine == 'arm64' and sys_platform == 'darwin'", + "python_full_version < '3.9' and platform_machine == 'aarch64' and sys_platform == 'linux'", + "(python_full_version < '3.9' and platform_machine != 'arm64' and sys_platform == 'darwin') or (python_full_version < '3.9' and platform_machine != 'aarch64' and sys_platform == 'linux') or (python_full_version < '3.9' and sys_platform != 'darwin' and sys_platform != 'linux')", +] +dependencies = [ + { name = "numpy", version = "1.24.4", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.9'" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/b1/7d/087ee4295e7580d3f7eb8a8a4e0ec8c7847e60f34135248ccf831cf5bbfc/contourpy-1.1.1.tar.gz", hash = "sha256:96ba37c2e24b7212a77da85004c38e7c4d155d3e72a45eeaf22c1f03f607e8ab", size = 13433167 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/fb/7f/c44a51a83a093bf5c84e07dd1e3cfe9f68c47b6499bd05a9de0c6dbdc2bc/contourpy-1.1.1-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:46e24f5412c948d81736509377e255f6040e94216bf1a9b5ea1eaa9d29f6ec1b", size = 247207 }, + { url = "https://files.pythonhosted.org/packages/a9/65/544d66da0716b20084874297ff7596704e435cf011512f8e576638e83db2/contourpy-1.1.1-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:0e48694d6a9c5a26ee85b10130c77a011a4fedf50a7279fa0bdaf44bafb4299d", size = 232428 }, + { url = "https://files.pythonhosted.org/packages/5b/e6/697085cc34a294bd399548fd99562537a75408f113e3a815807e206246f0/contourpy-1.1.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a66045af6cf00e19d02191ab578a50cb93b2028c3eefed999793698e9ea768ae", size = 285304 }, + { url = "https://files.pythonhosted.org/packages/69/4b/52d0d2e85c59f00f6ddbd6fea819f267008c58ee7708da96d112a293e91c/contourpy-1.1.1-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:4ebf42695f75ee1a952f98ce9775c873e4971732a87334b099dde90b6af6a916", size = 322655 }, + { url = "https://files.pythonhosted.org/packages/82/fc/3decc656a547a6d5d5b4249f81c72668a1f3259a62b2def2504120d38746/contourpy-1.1.1-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:f6aec19457617ef468ff091669cca01fa7ea557b12b59a7908b9474bb9674cf0", size = 296430 }, + { url = "https://files.pythonhosted.org/packages/f1/6b/e4b0f8708f22dd7c321f87eadbb98708975e115ac6582eb46d1f32197ce6/contourpy-1.1.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:462c59914dc6d81e0b11f37e560b8a7c2dbab6aca4f38be31519d442d6cde1a1", size = 301672 }, + { url = "https://files.pythonhosted.org/packages/c3/87/201410522a756e605069078833d806147cad8532fdc164a96689d05c5afc/contourpy-1.1.1-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:6d0a8efc258659edc5299f9ef32d8d81de8b53b45d67bf4bfa3067f31366764d", size = 820145 }, + { url = "https://files.pythonhosted.org/packages/b4/d9/42680a17d43edda04ab2b3f11125cf97b61bce5d3b52721a42960bf748bd/contourpy-1.1.1-cp310-cp310-win32.whl", hash = "sha256:d6ab42f223e58b7dac1bb0af32194a7b9311065583cc75ff59dcf301afd8a431", size = 399542 }, + { url = "https://files.pythonhosted.org/packages/55/14/0dc1884e3c04f9b073a47283f5d424926644250891db392a07c56f05e5c5/contourpy-1.1.1-cp310-cp310-win_amd64.whl", hash = "sha256:549174b0713d49871c6dee90a4b499d3f12f5e5f69641cd23c50a4542e2ca1eb", size = 477974 }, + { url = "https://files.pythonhosted.org/packages/8b/4f/be28a39cd5e988b8d3c2cc642c2c7ffeeb28fe80a86df71b6d1e473c5038/contourpy-1.1.1-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:407d864db716a067cc696d61fa1ef6637fedf03606e8417fe2aeed20a061e6b2", size = 248613 }, + { url = "https://files.pythonhosted.org/packages/2c/8e/656f8e7cd316aa68d9824744773e90dbd71f847429d10c82001e927480a2/contourpy-1.1.1-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:dfe80c017973e6a4c367e037cb31601044dd55e6bfacd57370674867d15a899b", size = 233603 }, + { url = "https://files.pythonhosted.org/packages/60/2a/4d4bd4541212ab98f3411f21bf58b0b246f333ae996e9f57e1acf12bcc45/contourpy-1.1.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:e30aaf2b8a2bac57eb7e1650df1b3a4130e8d0c66fc2f861039d507a11760e1b", size = 287037 }, + { url = "https://files.pythonhosted.org/packages/24/67/8abf919443381585a4eee74069e311c736350549dae02d3d014fef93d50a/contourpy-1.1.1-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:3de23ca4f381c3770dee6d10ead6fff524d540c0f662e763ad1530bde5112532", size = 323274 }, + { url = "https://files.pythonhosted.org/packages/2a/e5/6da11329dd35a2f2e404a95e5374b5702de6ac52e776e8b87dd6ea4b29d0/contourpy-1.1.1-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:566f0e41df06dfef2431defcfaa155f0acfa1ca4acbf8fd80895b1e7e2ada40e", size = 297801 }, + { url = "https://files.pythonhosted.org/packages/b7/f6/78f60fa0b6ae64971178e2542e8b3ad3ba5f4f379b918ab7b18038a3f897/contourpy-1.1.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:b04c2f0adaf255bf756cf08ebef1be132d3c7a06fe6f9877d55640c5e60c72c5", size = 302821 }, + { url = "https://files.pythonhosted.org/packages/da/25/6062395a1c6a06f46a577da821318886b8b939453a098b9cd61671bb497b/contourpy-1.1.1-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:d0c188ae66b772d9d61d43c6030500344c13e3f73a00d1dc241da896f379bb62", size = 820121 }, + { url = "https://files.pythonhosted.org/packages/41/5e/64e78b1e8682cbab10c13fc1a2c070d30acedb805ab2f42afbd3d88f7225/contourpy-1.1.1-cp311-cp311-win32.whl", hash = "sha256:0683e1ae20dc038075d92e0e0148f09ffcefab120e57f6b4c9c0f477ec171f33", size = 401590 }, + { url = "https://files.pythonhosted.org/packages/e5/76/94bc17eb868f8c7397f8fdfdeae7661c1b9a35f3a7219da308596e8c252a/contourpy-1.1.1-cp311-cp311-win_amd64.whl", hash = "sha256:8636cd2fc5da0fb102a2504fa2c4bea3cbc149533b345d72cdf0e7a924decc45", size = 480534 }, + { url = "https://files.pythonhosted.org/packages/94/0f/07a5e26fec7176658f6aecffc615900ff1d303baa2b67bc37fd98ce67c87/contourpy-1.1.1-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:560f1d68a33e89c62da5da4077ba98137a5e4d3a271b29f2f195d0fba2adcb6a", size = 249799 }, + { url = "https://files.pythonhosted.org/packages/32/0b/d7baca3f60d3b3a77c9ba1307c7792befd3c1c775a26c649dca1bfa9b6ba/contourpy-1.1.1-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:24216552104ae8f3b34120ef84825400b16eb6133af2e27a190fdc13529f023e", size = 232739 }, + { url = "https://files.pythonhosted.org/packages/6d/62/a385b4d4b5718e3a933de5791528f45f1f5b364d3c79172ad0309c832041/contourpy-1.1.1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:56de98a2fb23025882a18b60c7f0ea2d2d70bbbcfcf878f9067234b1c4818442", size = 282171 }, + { url = "https://files.pythonhosted.org/packages/91/21/8c6819747fea53557f3963ca936035b3e8bed87d591f5278ad62516a059d/contourpy-1.1.1-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:07d6f11dfaf80a84c97f1a5ba50d129d9303c5b4206f776e94037332e298dda8", size = 321182 }, + { url = "https://files.pythonhosted.org/packages/22/29/d75da9002f9df09c755b12cf0357eb91b081c858e604f4e92b4b8bfc3c15/contourpy-1.1.1-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:f1eaac5257a8f8a047248d60e8f9315c6cff58f7803971170d952555ef6344a7", size = 295869 }, + { url = "https://files.pythonhosted.org/packages/a7/47/4e7e66159f881c131e3b97d1cc5c0ea72be62bdd292c7f63fd13937d07f4/contourpy-1.1.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:19557fa407e70f20bfaba7d55b4d97b14f9480856c4fb65812e8a05fe1c6f9bf", size = 298756 }, + { url = "https://files.pythonhosted.org/packages/d3/bb/bffc99bc3172942b5eda8027ca0cb80ddd336fcdd634d68adce957d37231/contourpy-1.1.1-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:081f3c0880712e40effc5f4c3b08feca6d064cb8cfbb372ca548105b86fd6c3d", size = 818441 }, + { url = "https://files.pythonhosted.org/packages/da/1b/904baf0aaaf6c6e2247801dcd1ff0d7bf84352839927d356b28ae804cbb0/contourpy-1.1.1-cp312-cp312-win32.whl", hash = "sha256:059c3d2a94b930f4dafe8105bcdc1b21de99b30b51b5bce74c753686de858cb6", size = 410294 }, + { url = "https://files.pythonhosted.org/packages/75/d4/c3b7a9a0d1f99b528e5a46266b0b9f13aad5a0dd1156d071418df314c427/contourpy-1.1.1-cp312-cp312-win_amd64.whl", hash = "sha256:f44d78b61740e4e8c71db1cf1fd56d9050a4747681c59ec1094750a658ceb970", size = 486678 }, + { url = "https://files.pythonhosted.org/packages/02/7e/ffaba1bf3719088be3ad6983a5e85e1fc9edccd7b406b98e433436ecef74/contourpy-1.1.1-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:70e5a10f8093d228bb2b552beeb318b8928b8a94763ef03b858ef3612b29395d", size = 247023 }, + { url = "https://files.pythonhosted.org/packages/a6/82/29f5ff4ae074c3230e266bc9efef449ebde43721a727b989dd8ef8f97d73/contourpy-1.1.1-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:8394e652925a18ef0091115e3cc191fef350ab6dc3cc417f06da66bf98071ae9", size = 232380 }, + { url = "https://files.pythonhosted.org/packages/9b/cb/08f884c4c2efd433a38876b1b8069bfecef3f2d21ff0ce635d455962f70f/contourpy-1.1.1-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:c5bd5680f844c3ff0008523a71949a3ff5e4953eb7701b28760805bc9bcff217", size = 285830 }, + { url = "https://files.pythonhosted.org/packages/8e/57/cd4d4c99d999a25e9d518f628b4793e64b1ecb8ad3147f8469d8d4a80678/contourpy-1.1.1-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:66544f853bfa85c0d07a68f6c648b2ec81dafd30f272565c37ab47a33b220684", size = 322038 }, + { url = "https://files.pythonhosted.org/packages/32/b6/c57ed305a6f86731107fc183e97c7e6a6005d145f5c5228a44718082ad12/contourpy-1.1.1-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:e0c02b75acfea5cab07585d25069207e478d12309557f90a61b5a3b4f77f46ce", size = 295797 }, + { url = "https://files.pythonhosted.org/packages/8e/71/7f20855592cc929bc206810432b991ec4c702dc26b0567b132e52c85536f/contourpy-1.1.1-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:41339b24471c58dc1499e56783fedc1afa4bb018bcd035cfb0ee2ad2a7501ef8", size = 301124 }, + { url = "https://files.pythonhosted.org/packages/86/6d/52c2fc80f433e7cdc8624d82e1422ad83ad461463cf16a1953bbc7d10eb1/contourpy-1.1.1-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:f29fb0b3f1217dfe9362ec55440d0743fe868497359f2cf93293f4b2701b8251", size = 819787 }, + { url = "https://files.pythonhosted.org/packages/d0/b0/f8d4548e89f929d6c5ca329df9afad6190af60079ec77d8c31eb48cf6f82/contourpy-1.1.1-cp38-cp38-win32.whl", hash = "sha256:f9dc7f933975367251c1b34da882c4f0e0b2e24bb35dc906d2f598a40b72bfc7", size = 400031 }, + { url = "https://files.pythonhosted.org/packages/96/1b/b05cd42c8d21767a0488b883b38658fb9a45f86c293b7b42521a8113dc5d/contourpy-1.1.1-cp38-cp38-win_amd64.whl", hash = "sha256:498e53573e8b94b1caeb9e62d7c2d053c263ebb6aa259c81050766beb50ff8d9", size = 477949 }, + { url = "https://files.pythonhosted.org/packages/16/d9/8a15ff67fc27c65939e454512955e1b240ec75cd201d82e115b3b63ef76d/contourpy-1.1.1-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:ba42e3810999a0ddd0439e6e5dbf6d034055cdc72b7c5c839f37a7c274cb4eba", size = 247396 }, + { url = "https://files.pythonhosted.org/packages/09/fe/086e6847ee53da10ddf0b6c5e5f877ab43e68e355d2f4c85f67561ee8a57/contourpy-1.1.1-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:6c06e4c6e234fcc65435223c7b2a90f286b7f1b2733058bdf1345d218cc59e34", size = 232598 }, + { url = "https://files.pythonhosted.org/packages/a3/9c/662925239e1185c6cf1da8c334e4c61bddcfa8e528f4b51083b613003170/contourpy-1.1.1-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:ca6fab080484e419528e98624fb5c4282148b847e3602dc8dbe0cb0669469887", size = 286436 }, + { url = "https://files.pythonhosted.org/packages/d3/7e/417cdf65da7140981079eda6a81ecd593ae0239bf8c738f2e2b3f6df8920/contourpy-1.1.1-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:93df44ab351119d14cd1e6b52a5063d3336f0754b72736cc63db59307dabb718", size = 322629 }, + { url = "https://files.pythonhosted.org/packages/a8/22/ffd88aef74cc045698c5e5c400e8b7cd62311199c109245ac7827290df2c/contourpy-1.1.1-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:eafbef886566dc1047d7b3d4b14db0d5b7deb99638d8e1be4e23a7c7ac59ff0f", size = 297117 }, + { url = "https://files.pythonhosted.org/packages/2b/c0/24c34c41a180f875419b536125799c61e2330b997d77a5a818a3bc3e08cd/contourpy-1.1.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:efe0fab26d598e1ec07d72cf03eaeeba8e42b4ecf6b9ccb5a356fde60ff08b85", size = 301855 }, + { url = "https://files.pythonhosted.org/packages/bf/ec/f9877f6378a580cd683bd76c8a781dcd972e82965e0da951a739d3364677/contourpy-1.1.1-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:f08e469821a5e4751c97fcd34bcb586bc243c39c2e39321822060ba902eac49e", size = 820597 }, + { url = "https://files.pythonhosted.org/packages/e1/3a/c41f4bc7122d3a06388acae1bed6f50a665c1031863ca42bd701094dcb1f/contourpy-1.1.1-cp39-cp39-win32.whl", hash = "sha256:bfc8a5e9238232a45ebc5cb3bfee71f1167064c8d382cadd6076f0d51cff1da0", size = 400031 }, + { url = "https://files.pythonhosted.org/packages/87/2b/9b49451f7412cc1a79198e94a771a4e52d65c479aae610b1161c0290ef2c/contourpy-1.1.1-cp39-cp39-win_amd64.whl", hash = "sha256:c84fdf3da00c2827d634de4fcf17e3e067490c4aea82833625c4c8e6cdea0887", size = 435965 }, + { url = "https://files.pythonhosted.org/packages/e6/3c/fc36884b6793e2066a6ff25c86e21b8bd62553456b07e964c260bcf22711/contourpy-1.1.1-pp38-pypy38_pp73-macosx_10_9_x86_64.whl", hash = "sha256:229a25f68046c5cf8067d6d6351c8b99e40da11b04d8416bf8d2b1d75922521e", size = 246493 }, + { url = "https://files.pythonhosted.org/packages/3d/85/f4c5b09ce79828ed4553a8ae2ebdf937794f57b45848b1f5c95d9744ecc2/contourpy-1.1.1-pp38-pypy38_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:a10dab5ea1bd4401c9483450b5b0ba5416be799bbd50fc7a6cc5e2a15e03e8a3", size = 289240 }, + { url = "https://files.pythonhosted.org/packages/18/d3/9d7c0a372baf5130c1417a4b8275079d5379c11355436cb9fc78af7d7559/contourpy-1.1.1-pp38-pypy38_pp73-win_amd64.whl", hash = "sha256:4f9147051cb8fdb29a51dc2482d792b3b23e50f8f57e3720ca2e3d438b7adf23", size = 476043 }, + { url = "https://files.pythonhosted.org/packages/e7/12/643242c3d9b031ca19f9a440f63e568dd883a04711056ca5d607f9bda888/contourpy-1.1.1-pp39-pypy39_pp73-macosx_10_9_x86_64.whl", hash = "sha256:a75cc163a5f4531a256f2c523bd80db509a49fc23721b36dd1ef2f60ff41c3cb", size = 246247 }, + { url = "https://files.pythonhosted.org/packages/e1/37/95716fe235bf441422059e4afcd4b9b7c5821851c2aee992a06d1e9f831a/contourpy-1.1.1-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:3b53d5769aa1f2d4ea407c65f2d1d08002952fac1d9e9d307aa2e1023554a163", size = 289029 }, + { url = "https://files.pythonhosted.org/packages/e5/fd/14852c4a688031e0d8a20d9a1b60078d45507186ef17042093835be2f01a/contourpy-1.1.1-pp39-pypy39_pp73-win_amd64.whl", hash = "sha256:11b836b7dbfb74e049c302bbf74b4b8f6cb9d0b6ca1bf86cfa8ba144aedadd9c", size = 476043 }, +] + +[[package]] +name = "contourpy" +version = "1.3.0" +source = { registry = "https://pypi.org/simple" } +resolution-markers = [ + "python_full_version == '3.9.*' and platform_machine == 'arm64' and sys_platform == 'darwin'", + "python_full_version == '3.9.*' and platform_machine == 'aarch64' and sys_platform == 'linux'", + "(python_full_version == '3.9.*' and platform_machine != 'arm64' and sys_platform == 'darwin') or (python_full_version == '3.9.*' and platform_machine != 'aarch64' and sys_platform == 'linux') or (python_full_version == '3.9.*' and sys_platform != 'darwin' and sys_platform != 'linux')", +] +dependencies = [ + { name = "numpy", version = "1.25.2", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version == '3.9.*'" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/f5/f6/31a8f28b4a2a4fa0e01085e542f3081ab0588eff8e589d39d775172c9792/contourpy-1.3.0.tar.gz", hash = "sha256:7ffa0db17717a8ffb127efd0c95a4362d996b892c2904db72428d5b52e1938a4", size = 13464370 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/6c/e0/be8dcc796cfdd96708933e0e2da99ba4bb8f9b2caa9d560a50f3f09a65f3/contourpy-1.3.0-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:880ea32e5c774634f9fcd46504bf9f080a41ad855f4fef54f5380f5133d343c7", size = 265366 }, + { url = "https://files.pythonhosted.org/packages/50/d6/c953b400219443535d412fcbbc42e7a5e823291236bc0bb88936e3cc9317/contourpy-1.3.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:76c905ef940a4474a6289c71d53122a4f77766eef23c03cd57016ce19d0f7b42", size = 249226 }, + { url = "https://files.pythonhosted.org/packages/6f/b4/6fffdf213ffccc28483c524b9dad46bb78332851133b36ad354b856ddc7c/contourpy-1.3.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:92f8557cbb07415a4d6fa191f20fd9d2d9eb9c0b61d1b2f52a8926e43c6e9af7", size = 308460 }, + { url = "https://files.pythonhosted.org/packages/cf/6c/118fc917b4050f0afe07179a6dcbe4f3f4ec69b94f36c9e128c4af480fb8/contourpy-1.3.0-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:36f965570cff02b874773c49bfe85562b47030805d7d8360748f3eca570f4cab", size = 347623 }, + { url = "https://files.pythonhosted.org/packages/f9/a4/30ff110a81bfe3abf7b9673284d21ddce8cc1278f6f77393c91199da4c90/contourpy-1.3.0-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:cacd81e2d4b6f89c9f8a5b69b86490152ff39afc58a95af002a398273e5ce589", size = 317761 }, + { url = "https://files.pythonhosted.org/packages/99/e6/d11966962b1aa515f5586d3907ad019f4b812c04e4546cc19ebf62b5178e/contourpy-1.3.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:69375194457ad0fad3a839b9e29aa0b0ed53bb54db1bfb6c3ae43d111c31ce41", size = 322015 }, + { url = "https://files.pythonhosted.org/packages/4d/e3/182383743751d22b7b59c3c753277b6aee3637049197624f333dac5b4c80/contourpy-1.3.0-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:7a52040312b1a858b5e31ef28c2e865376a386c60c0e248370bbea2d3f3b760d", size = 1262672 }, + { url = "https://files.pythonhosted.org/packages/78/53/974400c815b2e605f252c8fb9297e2204347d1755a5374354ee77b1ea259/contourpy-1.3.0-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:3faeb2998e4fcb256542e8a926d08da08977f7f5e62cf733f3c211c2a5586223", size = 1321688 }, + { url = "https://files.pythonhosted.org/packages/52/29/99f849faed5593b2926a68a31882af98afbeac39c7fdf7de491d9c85ec6a/contourpy-1.3.0-cp310-cp310-win32.whl", hash = "sha256:36e0cff201bcb17a0a8ecc7f454fe078437fa6bda730e695a92f2d9932bd507f", size = 171145 }, + { url = "https://files.pythonhosted.org/packages/a9/97/3f89bba79ff6ff2b07a3cbc40aa693c360d5efa90d66e914f0ff03b95ec7/contourpy-1.3.0-cp310-cp310-win_amd64.whl", hash = "sha256:87ddffef1dbe5e669b5c2440b643d3fdd8622a348fe1983fad7a0f0ccb1cd67b", size = 216019 }, + { url = "https://files.pythonhosted.org/packages/b3/1f/9375917786cb39270b0ee6634536c0e22abf225825602688990d8f5c6c19/contourpy-1.3.0-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:0fa4c02abe6c446ba70d96ece336e621efa4aecae43eaa9b030ae5fb92b309ad", size = 266356 }, + { url = "https://files.pythonhosted.org/packages/05/46/9256dd162ea52790c127cb58cfc3b9e3413a6e3478917d1f811d420772ec/contourpy-1.3.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:834e0cfe17ba12f79963861e0f908556b2cedd52e1f75e6578801febcc6a9f49", size = 250915 }, + { url = "https://files.pythonhosted.org/packages/e1/5d/3056c167fa4486900dfbd7e26a2fdc2338dc58eee36d490a0ed3ddda5ded/contourpy-1.3.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:dbc4c3217eee163fa3984fd1567632b48d6dfd29216da3ded3d7b844a8014a66", size = 310443 }, + { url = "https://files.pythonhosted.org/packages/ca/c2/1a612e475492e07f11c8e267ea5ec1ce0d89971be496c195e27afa97e14a/contourpy-1.3.0-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:4865cd1d419e0c7a7bf6de1777b185eebdc51470800a9f42b9e9decf17762081", size = 348548 }, + { url = "https://files.pythonhosted.org/packages/45/cf/2c2fc6bb5874158277b4faf136847f0689e1b1a1f640a36d76d52e78907c/contourpy-1.3.0-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:303c252947ab4b14c08afeb52375b26781ccd6a5ccd81abcdfc1fafd14cf93c1", size = 319118 }, + { url = "https://files.pythonhosted.org/packages/03/33/003065374f38894cdf1040cef474ad0546368eea7e3a51d48b8a423961f8/contourpy-1.3.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:637f674226be46f6ba372fd29d9523dd977a291f66ab2a74fbeb5530bb3f445d", size = 323162 }, + { url = "https://files.pythonhosted.org/packages/42/80/e637326e85e4105a802e42959f56cff2cd39a6b5ef68d5d9aee3ea5f0e4c/contourpy-1.3.0-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:76a896b2f195b57db25d6b44e7e03f221d32fe318d03ede41f8b4d9ba1bff53c", size = 1265396 }, + { url = "https://files.pythonhosted.org/packages/7c/3b/8cbd6416ca1bbc0202b50f9c13b2e0b922b64be888f9d9ee88e6cfabfb51/contourpy-1.3.0-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:e1fd23e9d01591bab45546c089ae89d926917a66dceb3abcf01f6105d927e2cb", size = 1324297 }, + { url = "https://files.pythonhosted.org/packages/4d/2c/021a7afaa52fe891f25535506cc861c30c3c4e5a1c1ce94215e04b293e72/contourpy-1.3.0-cp311-cp311-win32.whl", hash = "sha256:d402880b84df3bec6eab53cd0cf802cae6a2ef9537e70cf75e91618a3801c20c", size = 171808 }, + { url = "https://files.pythonhosted.org/packages/8d/2f/804f02ff30a7fae21f98198828d0857439ec4c91a96e20cf2d6c49372966/contourpy-1.3.0-cp311-cp311-win_amd64.whl", hash = "sha256:6cb6cc968059db9c62cb35fbf70248f40994dfcd7aa10444bbf8b3faeb7c2d67", size = 217181 }, + { url = "https://files.pythonhosted.org/packages/c9/92/8e0bbfe6b70c0e2d3d81272b58c98ac69ff1a4329f18c73bd64824d8b12e/contourpy-1.3.0-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:570ef7cf892f0afbe5b2ee410c507ce12e15a5fa91017a0009f79f7d93a1268f", size = 267838 }, + { url = "https://files.pythonhosted.org/packages/e3/04/33351c5d5108460a8ce6d512307690b023f0cfcad5899499f5c83b9d63b1/contourpy-1.3.0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:da84c537cb8b97d153e9fb208c221c45605f73147bd4cadd23bdae915042aad6", size = 251549 }, + { url = "https://files.pythonhosted.org/packages/51/3d/aa0fe6ae67e3ef9f178389e4caaaa68daf2f9024092aa3c6032e3d174670/contourpy-1.3.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:0be4d8425bfa755e0fd76ee1e019636ccc7c29f77a7c86b4328a9eb6a26d0639", size = 303177 }, + { url = "https://files.pythonhosted.org/packages/56/c3/c85a7e3e0cab635575d3b657f9535443a6f5d20fac1a1911eaa4bbe1aceb/contourpy-1.3.0-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:9c0da700bf58f6e0b65312d0a5e695179a71d0163957fa381bb3c1f72972537c", size = 341735 }, + { url = "https://files.pythonhosted.org/packages/dd/8d/20f7a211a7be966a53f474bc90b1a8202e9844b3f1ef85f3ae45a77151ee/contourpy-1.3.0-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:eb8b141bb00fa977d9122636b16aa67d37fd40a3d8b52dd837e536d64b9a4d06", size = 314679 }, + { url = "https://files.pythonhosted.org/packages/6e/be/524e377567defac0e21a46e2a529652d165fed130a0d8a863219303cee18/contourpy-1.3.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:3634b5385c6716c258d0419c46d05c8aa7dc8cb70326c9a4fb66b69ad2b52e09", size = 320549 }, + { url = "https://files.pythonhosted.org/packages/0f/96/fdb2552a172942d888915f3a6663812e9bc3d359d53dafd4289a0fb462f0/contourpy-1.3.0-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:0dce35502151b6bd35027ac39ba6e5a44be13a68f55735c3612c568cac3805fd", size = 1263068 }, + { url = "https://files.pythonhosted.org/packages/2a/25/632eab595e3140adfa92f1322bf8915f68c932bac468e89eae9974cf1c00/contourpy-1.3.0-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:aea348f053c645100612b333adc5983d87be69acdc6d77d3169c090d3b01dc35", size = 1322833 }, + { url = "https://files.pythonhosted.org/packages/73/e3/69738782e315a1d26d29d71a550dbbe3eb6c653b028b150f70c1a5f4f229/contourpy-1.3.0-cp312-cp312-win32.whl", hash = "sha256:90f73a5116ad1ba7174341ef3ea5c3150ddf20b024b98fb0c3b29034752c8aeb", size = 172681 }, + { url = "https://files.pythonhosted.org/packages/0c/89/9830ba00d88e43d15e53d64931e66b8792b46eb25e2050a88fec4a0df3d5/contourpy-1.3.0-cp312-cp312-win_amd64.whl", hash = "sha256:b11b39aea6be6764f84360fce6c82211a9db32a7c7de8fa6dd5397cf1d079c3b", size = 218283 }, + { url = "https://files.pythonhosted.org/packages/53/a1/d20415febfb2267af2d7f06338e82171824d08614084714fb2c1dac9901f/contourpy-1.3.0-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:3e1c7fa44aaae40a2247e2e8e0627f4bea3dd257014764aa644f319a5f8600e3", size = 267879 }, + { url = "https://files.pythonhosted.org/packages/aa/45/5a28a3570ff6218d8bdfc291a272a20d2648104815f01f0177d103d985e1/contourpy-1.3.0-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:364174c2a76057feef647c802652f00953b575723062560498dc7930fc9b1cb7", size = 251573 }, + { url = "https://files.pythonhosted.org/packages/39/1c/d3f51540108e3affa84f095c8b04f0aa833bb797bc8baa218a952a98117d/contourpy-1.3.0-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:32b238b3b3b649e09ce9aaf51f0c261d38644bdfa35cbaf7b263457850957a84", size = 303184 }, + { url = "https://files.pythonhosted.org/packages/00/56/1348a44fb6c3a558c1a3a0cd23d329d604c99d81bf5a4b58c6b71aab328f/contourpy-1.3.0-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:d51fca85f9f7ad0b65b4b9fe800406d0d77017d7270d31ec3fb1cc07358fdea0", size = 340262 }, + { url = "https://files.pythonhosted.org/packages/2b/23/00d665ba67e1bb666152131da07e0f24c95c3632d7722caa97fb61470eca/contourpy-1.3.0-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:732896af21716b29ab3e988d4ce14bc5133733b85956316fb0c56355f398099b", size = 313806 }, + { url = "https://files.pythonhosted.org/packages/5a/42/3cf40f7040bb8362aea19af9a5fb7b32ce420f645dd1590edcee2c657cd5/contourpy-1.3.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:d73f659398a0904e125280836ae6f88ba9b178b2fed6884f3b1f95b989d2c8da", size = 319710 }, + { url = "https://files.pythonhosted.org/packages/05/32/f3bfa3fc083b25e1a7ae09197f897476ee68e7386e10404bdf9aac7391f0/contourpy-1.3.0-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:c6c7c2408b7048082932cf4e641fa3b8ca848259212f51c8c59c45aa7ac18f14", size = 1264107 }, + { url = "https://files.pythonhosted.org/packages/1c/1e/1019d34473a736664f2439542b890b2dc4c6245f5c0d8cdfc0ccc2cab80c/contourpy-1.3.0-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:f317576606de89da6b7e0861cf6061f6146ead3528acabff9236458a6ba467f8", size = 1322458 }, + { url = "https://files.pythonhosted.org/packages/22/85/4f8bfd83972cf8909a4d36d16b177f7b8bdd942178ea4bf877d4a380a91c/contourpy-1.3.0-cp313-cp313-win32.whl", hash = "sha256:31cd3a85dbdf1fc002280c65caa7e2b5f65e4a973fcdf70dd2fdcb9868069294", size = 172643 }, + { url = "https://files.pythonhosted.org/packages/cc/4a/fb3c83c1baba64ba90443626c228ca14f19a87c51975d3b1de308dd2cf08/contourpy-1.3.0-cp313-cp313-win_amd64.whl", hash = "sha256:4553c421929ec95fb07b3aaca0fae668b2eb5a5203d1217ca7c34c063c53d087", size = 218301 }, + { url = "https://files.pythonhosted.org/packages/76/65/702f4064f397821fea0cb493f7d3bc95a5d703e20954dce7d6d39bacf378/contourpy-1.3.0-cp313-cp313t-macosx_10_13_x86_64.whl", hash = "sha256:345af746d7766821d05d72cb8f3845dfd08dd137101a2cb9b24de277d716def8", size = 278972 }, + { url = "https://files.pythonhosted.org/packages/80/85/21f5bba56dba75c10a45ec00ad3b8190dbac7fd9a8a8c46c6116c933e9cf/contourpy-1.3.0-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:3bb3808858a9dc68f6f03d319acd5f1b8a337e6cdda197f02f4b8ff67ad2057b", size = 263375 }, + { url = "https://files.pythonhosted.org/packages/0a/64/084c86ab71d43149f91ab3a4054ccf18565f0a8af36abfa92b1467813ed6/contourpy-1.3.0-cp313-cp313t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:420d39daa61aab1221567b42eecb01112908b2cab7f1b4106a52caaec8d36973", size = 307188 }, + { url = "https://files.pythonhosted.org/packages/3d/ff/d61a4c288dc42da0084b8d9dc2aa219a850767165d7d9a9c364ff530b509/contourpy-1.3.0-cp313-cp313t-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:4d63ee447261e963af02642ffcb864e5a2ee4cbfd78080657a9880b8b1868e18", size = 345644 }, + { url = "https://files.pythonhosted.org/packages/ca/aa/00d2313d35ec03f188e8f0786c2fc61f589306e02fdc158233697546fd58/contourpy-1.3.0-cp313-cp313t-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:167d6c890815e1dac9536dca00828b445d5d0df4d6a8c6adb4a7ec3166812fa8", size = 317141 }, + { url = "https://files.pythonhosted.org/packages/8d/6a/b5242c8cb32d87f6abf4f5e3044ca397cb1a76712e3fa2424772e3ff495f/contourpy-1.3.0-cp313-cp313t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:710a26b3dc80c0e4febf04555de66f5fd17e9cf7170a7b08000601a10570bda6", size = 323469 }, + { url = "https://files.pythonhosted.org/packages/6f/a6/73e929d43028a9079aca4bde107494864d54f0d72d9db508a51ff0878593/contourpy-1.3.0-cp313-cp313t-musllinux_1_2_aarch64.whl", hash = "sha256:75ee7cb1a14c617f34a51d11fa7524173e56551646828353c4af859c56b766e2", size = 1260894 }, + { url = "https://files.pythonhosted.org/packages/2b/1e/1e726ba66eddf21c940821df8cf1a7d15cb165f0682d62161eaa5e93dae1/contourpy-1.3.0-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:33c92cdae89ec5135d036e7218e69b0bb2851206077251f04a6c4e0e21f03927", size = 1314829 }, + { url = "https://files.pythonhosted.org/packages/b3/e3/b9f72758adb6ef7397327ceb8b9c39c75711affb220e4f53c745ea1d5a9a/contourpy-1.3.0-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:a11077e395f67ffc2c44ec2418cfebed032cd6da3022a94fc227b6faf8e2acb8", size = 265518 }, + { url = "https://files.pythonhosted.org/packages/ec/22/19f5b948367ab5260fb41d842c7a78dae645603881ea6bc39738bcfcabf6/contourpy-1.3.0-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:e8134301d7e204c88ed7ab50028ba06c683000040ede1d617298611f9dc6240c", size = 249350 }, + { url = "https://files.pythonhosted.org/packages/26/76/0c7d43263dd00ae21a91a24381b7e813d286a3294d95d179ef3a7b9fb1d7/contourpy-1.3.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:e12968fdfd5bb45ffdf6192a590bd8ddd3ba9e58360b29683c6bb71a7b41edca", size = 309167 }, + { url = "https://files.pythonhosted.org/packages/96/3b/cadff6773e89f2a5a492c1a8068e21d3fccaf1a1c1df7d65e7c8e3ef60ba/contourpy-1.3.0-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:fd2a0fc506eccaaa7595b7e1418951f213cf8255be2600f1ea1b61e46a60c55f", size = 348279 }, + { url = "https://files.pythonhosted.org/packages/e1/86/158cc43aa549d2081a955ab11c6bdccc7a22caacc2af93186d26f5f48746/contourpy-1.3.0-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:4cfb5c62ce023dfc410d6059c936dcf96442ba40814aefbfa575425a3a7f19dc", size = 318519 }, + { url = "https://files.pythonhosted.org/packages/05/11/57335544a3027e9b96a05948c32e566328e3a2f84b7b99a325b7a06d2b06/contourpy-1.3.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:68a32389b06b82c2fdd68276148d7b9275b5f5cf13e5417e4252f6d1a34f72a2", size = 321922 }, + { url = "https://files.pythonhosted.org/packages/0b/e3/02114f96543f4a1b694333b92a6dcd4f8eebbefcc3a5f3bbb1316634178f/contourpy-1.3.0-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:94e848a6b83da10898cbf1311a815f770acc9b6a3f2d646f330d57eb4e87592e", size = 1258017 }, + { url = "https://files.pythonhosted.org/packages/f3/3b/bfe4c81c6d5881c1c643dde6620be0b42bf8aab155976dd644595cfab95c/contourpy-1.3.0-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:d78ab28a03c854a873787a0a42254a0ccb3cb133c672f645c9f9c8f3ae9d0800", size = 1316773 }, + { url = "https://files.pythonhosted.org/packages/f1/17/c52d2970784383cafb0bd918b6fb036d98d96bbf0bc1befb5d1e31a07a70/contourpy-1.3.0-cp39-cp39-win32.whl", hash = "sha256:81cb5ed4952aae6014bc9d0421dec7c5835c9c8c31cdf51910b708f548cf58e5", size = 171353 }, + { url = "https://files.pythonhosted.org/packages/53/23/db9f69676308e094d3c45f20cc52e12d10d64f027541c995d89c11ad5c75/contourpy-1.3.0-cp39-cp39-win_amd64.whl", hash = "sha256:14e262f67bd7e6eb6880bc564dcda30b15e351a594657e55b7eec94b6ef72843", size = 211817 }, + { url = "https://files.pythonhosted.org/packages/d1/09/60e486dc2b64c94ed33e58dcfb6f808192c03dfc5574c016218b9b7680dc/contourpy-1.3.0-pp310-pypy310_pp73-macosx_10_15_x86_64.whl", hash = "sha256:fe41b41505a5a33aeaed2a613dccaeaa74e0e3ead6dd6fd3a118fb471644fd6c", size = 261886 }, + { url = "https://files.pythonhosted.org/packages/19/20/b57f9f7174fcd439a7789fb47d764974ab646fa34d1790551de386457a8e/contourpy-1.3.0-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:eca7e17a65f72a5133bdbec9ecf22401c62bcf4821361ef7811faee695799779", size = 311008 }, + { url = "https://files.pythonhosted.org/packages/74/fc/5040d42623a1845d4f17a418e590fd7a79ae8cb2bad2b2f83de63c3bdca4/contourpy-1.3.0-pp310-pypy310_pp73-win_amd64.whl", hash = "sha256:1ec4dc6bf570f5b22ed0d7efba0dfa9c5b9e0431aeea7581aa217542d9e809a4", size = 215690 }, + { url = "https://files.pythonhosted.org/packages/2b/24/dc3dcd77ac7460ab7e9d2b01a618cb31406902e50e605a8d6091f0a8f7cc/contourpy-1.3.0-pp39-pypy39_pp73-macosx_10_15_x86_64.whl", hash = "sha256:00ccd0dbaad6d804ab259820fa7cb0b8036bda0686ef844d24125d8287178ce0", size = 261894 }, + { url = "https://files.pythonhosted.org/packages/b1/db/531642a01cfec39d1682e46b5457b07cf805e3c3c584ec27e2a6223f8f6c/contourpy-1.3.0-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:8ca947601224119117f7c19c9cdf6b3ab54c5726ef1d906aa4a69dfb6dd58102", size = 311099 }, + { url = "https://files.pythonhosted.org/packages/38/1e/94bda024d629f254143a134eead69e21c836429a2a6ce82209a00ddcb79a/contourpy-1.3.0-pp39-pypy39_pp73-win_amd64.whl", hash = "sha256:c6ec93afeb848a0845a18989da3beca3eec2c0f852322efe21af1931147d12cb", size = 215838 }, +] + +[[package]] +name = "contourpy" +version = "1.3.1" +source = { registry = "https://pypi.org/simple" } +resolution-markers = [ + "python_full_version >= '3.13' and sys_platform == 'darwin'", + "python_full_version >= '3.13' and platform_machine == 'aarch64' and sys_platform == 'linux'", + "(python_full_version >= '3.13' and platform_machine != 'aarch64' and sys_platform == 'linux') or (python_full_version >= '3.13' and sys_platform != 'darwin' and sys_platform != 'linux')", + "python_full_version == '3.12.*' and sys_platform == 'darwin'", + "python_full_version == '3.12.*' and platform_machine == 'aarch64' and sys_platform == 'linux'", + "(python_full_version == '3.12.*' and platform_machine != 'aarch64' and sys_platform == 'linux') or (python_full_version == '3.12.*' and sys_platform != 'darwin' and sys_platform != 'linux')", + "python_full_version == '3.11.*' and sys_platform == 'darwin'", + "python_full_version == '3.11.*' and platform_machine == 'aarch64' and sys_platform == 'linux'", + "(python_full_version == '3.11.*' and platform_machine != 'aarch64' and sys_platform == 'linux') or (python_full_version == '3.11.*' and sys_platform != 'darwin' and sys_platform != 'linux')", + "python_full_version == '3.10.*' and sys_platform == 'darwin'", + "python_full_version == '3.10.*' and platform_machine == 'aarch64' and sys_platform == 'linux'", + "(python_full_version == '3.10.*' and platform_machine != 'aarch64' and sys_platform == 'linux') or (python_full_version == '3.10.*' and sys_platform != 'darwin' and sys_platform != 'linux')", +] +dependencies = [ + { name = "numpy", version = "1.25.2", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.10' and python_full_version < '3.12'" }, + { name = "numpy", version = "2.0.2", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version == '3.12.*'" }, + { name = "numpy", version = "2.2.1", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.13'" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/25/c2/fc7193cc5383637ff390a712e88e4ded0452c9fbcf84abe3de5ea3df1866/contourpy-1.3.1.tar.gz", hash = "sha256:dfd97abd83335045a913e3bcc4a09c0ceadbe66580cf573fe961f4a825efa699", size = 13465753 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/b2/a3/80937fe3efe0edacf67c9a20b955139a1a622730042c1ea991956f2704ad/contourpy-1.3.1-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:a045f341a77b77e1c5de31e74e966537bba9f3c4099b35bf4c2e3939dd54cdab", size = 268466 }, + { url = "https://files.pythonhosted.org/packages/82/1d/e3eaebb4aa2d7311528c048350ca8e99cdacfafd99da87bc0a5f8d81f2c2/contourpy-1.3.1-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:500360b77259914f7805af7462e41f9cb7ca92ad38e9f94d6c8641b089338124", size = 253314 }, + { url = "https://files.pythonhosted.org/packages/de/f3/d796b22d1a2b587acc8100ba8c07fb7b5e17fde265a7bb05ab967f4c935a/contourpy-1.3.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:b2f926efda994cdf3c8d3fdb40b9962f86edbc4457e739277b961eced3d0b4c1", size = 312003 }, + { url = "https://files.pythonhosted.org/packages/bf/f5/0e67902bc4394daee8daa39c81d4f00b50e063ee1a46cb3938cc65585d36/contourpy-1.3.1-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:adce39d67c0edf383647a3a007de0a45fd1b08dedaa5318404f1a73059c2512b", size = 351896 }, + { url = "https://files.pythonhosted.org/packages/1f/d6/e766395723f6256d45d6e67c13bb638dd1fa9dc10ef912dc7dd3dcfc19de/contourpy-1.3.1-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:abbb49fb7dac584e5abc6636b7b2a7227111c4f771005853e7d25176daaf8453", size = 320814 }, + { url = "https://files.pythonhosted.org/packages/a9/57/86c500d63b3e26e5b73a28b8291a67c5608d4aa87ebd17bd15bb33c178bc/contourpy-1.3.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:a0cffcbede75c059f535725c1680dfb17b6ba8753f0c74b14e6a9c68c29d7ea3", size = 324969 }, + { url = "https://files.pythonhosted.org/packages/b8/62/bb146d1289d6b3450bccc4642e7f4413b92ebffd9bf2e91b0404323704a7/contourpy-1.3.1-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:ab29962927945d89d9b293eabd0d59aea28d887d4f3be6c22deaefbb938a7277", size = 1265162 }, + { url = "https://files.pythonhosted.org/packages/18/04/9f7d132ce49a212c8e767042cc80ae390f728060d2eea47058f55b9eff1c/contourpy-1.3.1-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:974d8145f8ca354498005b5b981165b74a195abfae9a8129df3e56771961d595", size = 1324328 }, + { url = "https://files.pythonhosted.org/packages/46/23/196813901be3f97c83ababdab1382e13e0edc0bb4e7b49a7bff15fcf754e/contourpy-1.3.1-cp310-cp310-win32.whl", hash = "sha256:ac4578ac281983f63b400f7fe6c101bedc10651650eef012be1ccffcbacf3697", size = 173861 }, + { url = "https://files.pythonhosted.org/packages/e0/82/c372be3fc000a3b2005061ca623a0d1ecd2eaafb10d9e883a2fc8566e951/contourpy-1.3.1-cp310-cp310-win_amd64.whl", hash = "sha256:174e758c66bbc1c8576992cec9599ce8b6672b741b5d336b5c74e35ac382b18e", size = 218566 }, + { url = "https://files.pythonhosted.org/packages/12/bb/11250d2906ee2e8b466b5f93e6b19d525f3e0254ac8b445b56e618527718/contourpy-1.3.1-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:3e8b974d8db2c5610fb4e76307e265de0edb655ae8169e8b21f41807ccbeec4b", size = 269555 }, + { url = "https://files.pythonhosted.org/packages/67/71/1e6e95aee21a500415f5d2dbf037bf4567529b6a4e986594d7026ec5ae90/contourpy-1.3.1-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:20914c8c973f41456337652a6eeca26d2148aa96dd7ac323b74516988bea89fc", size = 254549 }, + { url = "https://files.pythonhosted.org/packages/31/2c/b88986e8d79ac45efe9d8801ae341525f38e087449b6c2f2e6050468a42c/contourpy-1.3.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:19d40d37c1c3a4961b4619dd9d77b12124a453cc3d02bb31a07d58ef684d3d86", size = 313000 }, + { url = "https://files.pythonhosted.org/packages/c4/18/65280989b151fcf33a8352f992eff71e61b968bef7432fbfde3a364f0730/contourpy-1.3.1-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:113231fe3825ebf6f15eaa8bc1f5b0ddc19d42b733345eae0934cb291beb88b6", size = 352925 }, + { url = "https://files.pythonhosted.org/packages/f5/c7/5fd0146c93220dbfe1a2e0f98969293b86ca9bc041d6c90c0e065f4619ad/contourpy-1.3.1-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:4dbbc03a40f916a8420e420d63e96a1258d3d1b58cbdfd8d1f07b49fcbd38e85", size = 323693 }, + { url = "https://files.pythonhosted.org/packages/85/fc/7fa5d17daf77306840a4e84668a48ddff09e6bc09ba4e37e85ffc8e4faa3/contourpy-1.3.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:3a04ecd68acbd77fa2d39723ceca4c3197cb2969633836ced1bea14e219d077c", size = 326184 }, + { url = "https://files.pythonhosted.org/packages/ef/e7/104065c8270c7397c9571620d3ab880558957216f2b5ebb7e040f85eeb22/contourpy-1.3.1-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:c414fc1ed8ee1dbd5da626cf3710c6013d3d27456651d156711fa24f24bd1291", size = 1268031 }, + { url = "https://files.pythonhosted.org/packages/e2/4a/c788d0bdbf32c8113c2354493ed291f924d4793c4a2e85b69e737a21a658/contourpy-1.3.1-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:31c1b55c1f34f80557d3830d3dd93ba722ce7e33a0b472cba0ec3b6535684d8f", size = 1325995 }, + { url = "https://files.pythonhosted.org/packages/a6/e6/a2f351a90d955f8b0564caf1ebe4b1451a3f01f83e5e3a414055a5b8bccb/contourpy-1.3.1-cp311-cp311-win32.whl", hash = "sha256:f611e628ef06670df83fce17805c344710ca5cde01edfdc72751311da8585375", size = 174396 }, + { url = "https://files.pythonhosted.org/packages/a8/7e/cd93cab453720a5d6cb75588cc17dcdc08fc3484b9de98b885924ff61900/contourpy-1.3.1-cp311-cp311-win_amd64.whl", hash = "sha256:b2bdca22a27e35f16794cf585832e542123296b4687f9fd96822db6bae17bfc9", size = 219787 }, + { url = "https://files.pythonhosted.org/packages/37/6b/175f60227d3e7f5f1549fcb374592be311293132207e451c3d7c654c25fb/contourpy-1.3.1-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:0ffa84be8e0bd33410b17189f7164c3589c229ce5db85798076a3fa136d0e509", size = 271494 }, + { url = "https://files.pythonhosted.org/packages/6b/6a/7833cfae2c1e63d1d8875a50fd23371394f540ce809d7383550681a1fa64/contourpy-1.3.1-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:805617228ba7e2cbbfb6c503858e626ab528ac2a32a04a2fe88ffaf6b02c32bc", size = 255444 }, + { url = "https://files.pythonhosted.org/packages/7f/b3/7859efce66eaca5c14ba7619791b084ed02d868d76b928ff56890d2d059d/contourpy-1.3.1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:ade08d343436a94e633db932e7e8407fe7de8083967962b46bdfc1b0ced39454", size = 307628 }, + { url = "https://files.pythonhosted.org/packages/48/b2/011415f5e3f0a50b1e285a0bf78eb5d92a4df000553570f0851b6e309076/contourpy-1.3.1-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:47734d7073fb4590b4a40122b35917cd77be5722d80683b249dac1de266aac80", size = 347271 }, + { url = "https://files.pythonhosted.org/packages/84/7d/ef19b1db0f45b151ac78c65127235239a8cf21a59d1ce8507ce03e89a30b/contourpy-1.3.1-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:2ba94a401342fc0f8b948e57d977557fbf4d515f03c67682dd5c6191cb2d16ec", size = 318906 }, + { url = "https://files.pythonhosted.org/packages/ba/99/6794142b90b853a9155316c8f470d2e4821fe6f086b03e372aca848227dd/contourpy-1.3.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:efa874e87e4a647fd2e4f514d5e91c7d493697127beb95e77d2f7561f6905bd9", size = 323622 }, + { url = "https://files.pythonhosted.org/packages/3c/0f/37d2c84a900cd8eb54e105f4fa9aebd275e14e266736778bb5dccbf3bbbb/contourpy-1.3.1-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:1bf98051f1045b15c87868dbaea84f92408337d4f81d0e449ee41920ea121d3b", size = 1266699 }, + { url = "https://files.pythonhosted.org/packages/3a/8a/deb5e11dc7d9cc8f0f9c8b29d4f062203f3af230ba83c30a6b161a6effc9/contourpy-1.3.1-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:61332c87493b00091423e747ea78200659dc09bdf7fd69edd5e98cef5d3e9a8d", size = 1326395 }, + { url = "https://files.pythonhosted.org/packages/1a/35/7e267ae7c13aaf12322ccc493531f1e7f2eb8fba2927b9d7a05ff615df7a/contourpy-1.3.1-cp312-cp312-win32.whl", hash = "sha256:e914a8cb05ce5c809dd0fe350cfbb4e881bde5e2a38dc04e3afe1b3e58bd158e", size = 175354 }, + { url = "https://files.pythonhosted.org/packages/a1/35/c2de8823211d07e8a79ab018ef03960716c5dff6f4d5bff5af87fd682992/contourpy-1.3.1-cp312-cp312-win_amd64.whl", hash = "sha256:08d9d449a61cf53033612cb368f3a1b26cd7835d9b8cd326647efe43bca7568d", size = 220971 }, + { url = "https://files.pythonhosted.org/packages/9a/e7/de62050dce687c5e96f946a93546910bc67e483fe05324439e329ff36105/contourpy-1.3.1-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:a761d9ccfc5e2ecd1bf05534eda382aa14c3e4f9205ba5b1684ecfe400716ef2", size = 271548 }, + { url = "https://files.pythonhosted.org/packages/78/4d/c2a09ae014ae984c6bdd29c11e74d3121b25eaa117eca0bb76340efd7e1c/contourpy-1.3.1-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:523a8ee12edfa36f6d2a49407f705a6ef4c5098de4f498619787e272de93f2d5", size = 255576 }, + { url = "https://files.pythonhosted.org/packages/ab/8a/915380ee96a5638bda80cd061ccb8e666bfdccea38d5741cb69e6dbd61fc/contourpy-1.3.1-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:ece6df05e2c41bd46776fbc712e0996f7c94e0d0543af1656956d150c4ca7c81", size = 306635 }, + { url = "https://files.pythonhosted.org/packages/29/5c/c83ce09375428298acd4e6582aeb68b1e0d1447f877fa993d9bf6cd3b0a0/contourpy-1.3.1-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:573abb30e0e05bf31ed067d2f82500ecfdaec15627a59d63ea2d95714790f5c2", size = 345925 }, + { url = "https://files.pythonhosted.org/packages/29/63/5b52f4a15e80c66c8078a641a3bfacd6e07106835682454647aca1afc852/contourpy-1.3.1-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:a9fa36448e6a3a1a9a2ba23c02012c43ed88905ec80163f2ffe2421c7192a5d7", size = 318000 }, + { url = "https://files.pythonhosted.org/packages/9a/e2/30ca086c692691129849198659bf0556d72a757fe2769eb9620a27169296/contourpy-1.3.1-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:3ea9924d28fc5586bf0b42d15f590b10c224117e74409dd7a0be3b62b74a501c", size = 322689 }, + { url = "https://files.pythonhosted.org/packages/6b/77/f37812ef700f1f185d348394debf33f22d531e714cf6a35d13d68a7003c7/contourpy-1.3.1-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:5b75aa69cb4d6f137b36f7eb2ace9280cfb60c55dc5f61c731fdf6f037f958a3", size = 1268413 }, + { url = "https://files.pythonhosted.org/packages/3f/6d/ce84e79cdd128542ebeb268f84abb4b093af78e7f8ec504676673d2675bc/contourpy-1.3.1-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:041b640d4ec01922083645a94bb3b2e777e6b626788f4095cf21abbe266413c1", size = 1326530 }, + { url = "https://files.pythonhosted.org/packages/72/22/8282f4eae20c73c89bee7a82a19c4e27af9b57bb602ecaa00713d5bdb54d/contourpy-1.3.1-cp313-cp313-win32.whl", hash = "sha256:36987a15e8ace5f58d4d5da9dca82d498c2bbb28dff6e5d04fbfcc35a9cb3a82", size = 175315 }, + { url = "https://files.pythonhosted.org/packages/e3/d5/28bca491f65312b438fbf076589dcde7f6f966b196d900777f5811b9c4e2/contourpy-1.3.1-cp313-cp313-win_amd64.whl", hash = "sha256:a7895f46d47671fa7ceec40f31fae721da51ad34bdca0bee83e38870b1f47ffd", size = 220987 }, + { url = "https://files.pythonhosted.org/packages/2f/24/a4b285d6adaaf9746e4700932f579f1a7b6f9681109f694cfa233ae75c4e/contourpy-1.3.1-cp313-cp313t-macosx_10_13_x86_64.whl", hash = "sha256:9ddeb796389dadcd884c7eb07bd14ef12408aaae358f0e2ae24114d797eede30", size = 285001 }, + { url = "https://files.pythonhosted.org/packages/48/1d/fb49a401b5ca4f06ccf467cd6c4f1fd65767e63c21322b29b04ec40b40b9/contourpy-1.3.1-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:19c1555a6801c2f084c7ddc1c6e11f02eb6a6016ca1318dd5452ba3f613a1751", size = 268553 }, + { url = "https://files.pythonhosted.org/packages/79/1e/4aef9470d13fd029087388fae750dccb49a50c012a6c8d1d634295caa644/contourpy-1.3.1-cp313-cp313t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:841ad858cff65c2c04bf93875e384ccb82b654574a6d7f30453a04f04af71342", size = 310386 }, + { url = "https://files.pythonhosted.org/packages/b0/34/910dc706ed70153b60392b5305c708c9810d425bde12499c9184a1100888/contourpy-1.3.1-cp313-cp313t-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:4318af1c925fb9a4fb190559ef3eec206845f63e80fb603d47f2d6d67683901c", size = 349806 }, + { url = "https://files.pythonhosted.org/packages/31/3c/faee6a40d66d7f2a87f7102236bf4780c57990dd7f98e5ff29881b1b1344/contourpy-1.3.1-cp313-cp313t-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:14c102b0eab282427b662cb590f2e9340a9d91a1c297f48729431f2dcd16e14f", size = 321108 }, + { url = "https://files.pythonhosted.org/packages/17/69/390dc9b20dd4bb20585651d7316cc3054b7d4a7b4f8b710b2b698e08968d/contourpy-1.3.1-cp313-cp313t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:05e806338bfeaa006acbdeba0ad681a10be63b26e1b17317bfac3c5d98f36cda", size = 327291 }, + { url = "https://files.pythonhosted.org/packages/ef/74/7030b67c4e941fe1e5424a3d988080e83568030ce0355f7c9fc556455b01/contourpy-1.3.1-cp313-cp313t-musllinux_1_2_aarch64.whl", hash = "sha256:4d76d5993a34ef3df5181ba3c92fabb93f1eaa5729504fb03423fcd9f3177242", size = 1263752 }, + { url = "https://files.pythonhosted.org/packages/f0/ed/92d86f183a8615f13f6b9cbfc5d4298a509d6ce433432e21da838b4b63f4/contourpy-1.3.1-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:89785bb2a1980c1bd87f0cb1517a71cde374776a5f150936b82580ae6ead44a1", size = 1318403 }, + { url = "https://files.pythonhosted.org/packages/b3/0e/c8e4950c77dcfc897c71d61e56690a0a9df39543d2164040301b5df8e67b/contourpy-1.3.1-cp313-cp313t-win32.whl", hash = "sha256:8eb96e79b9f3dcadbad2a3891672f81cdcab7f95b27f28f1c67d75f045b6b4f1", size = 185117 }, + { url = "https://files.pythonhosted.org/packages/c1/31/1ae946f11dfbd229222e6d6ad8e7bd1891d3d48bde5fbf7a0beb9491f8e3/contourpy-1.3.1-cp313-cp313t-win_amd64.whl", hash = "sha256:287ccc248c9e0d0566934e7d606201abd74761b5703d804ff3df8935f523d546", size = 236668 }, + { url = "https://files.pythonhosted.org/packages/3e/4f/e56862e64b52b55b5ddcff4090085521fc228ceb09a88390a2b103dccd1b/contourpy-1.3.1-pp310-pypy310_pp73-macosx_10_15_x86_64.whl", hash = "sha256:b457d6430833cee8e4b8e9b6f07aa1c161e5e0d52e118dc102c8f9bd7dd060d6", size = 265605 }, + { url = "https://files.pythonhosted.org/packages/b0/2e/52bfeeaa4541889f23d8eadc6386b442ee2470bd3cff9baa67deb2dd5c57/contourpy-1.3.1-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:cb76c1a154b83991a3cbbf0dfeb26ec2833ad56f95540b442c73950af2013750", size = 315040 }, + { url = "https://files.pythonhosted.org/packages/52/94/86bfae441707205634d80392e873295652fc313dfd93c233c52c4dc07874/contourpy-1.3.1-pp310-pypy310_pp73-win_amd64.whl", hash = "sha256:44a29502ca9c7b5ba389e620d44f2fbe792b1fb5734e8b931ad307071ec58c53", size = 218221 }, +] + +[[package]] +name = "cryptography" +version = "44.0.0" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "cffi", marker = "(python_full_version < '3.10' and platform_machine != 'arm64' and platform_python_implementation != 'PyPy') or (platform_python_implementation != 'PyPy' and sys_platform != 'darwin')" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/91/4c/45dfa6829acffa344e3967d6006ee4ae8be57af746ae2eba1c431949b32c/cryptography-44.0.0.tar.gz", hash = "sha256:cd4e834f340b4293430701e772ec543b0fbe6c2dea510a5286fe0acabe153a02", size = 710657 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/7e/5b/3759e30a103144e29632e7cb72aec28cedc79e514b2ea8896bb17163c19b/cryptography-44.0.0-cp37-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:b15492a11f9e1b62ba9d73c210e2416724633167de94607ec6069ef724fad092", size = 3922710 }, + { url = "https://files.pythonhosted.org/packages/5f/58/3b14bf39f1a0cfd679e753e8647ada56cddbf5acebffe7db90e184c76168/cryptography-44.0.0-cp37-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:831c3c4d0774e488fdc83a1923b49b9957d33287de923d58ebd3cec47a0ae43f", size = 4137546 }, + { url = "https://files.pythonhosted.org/packages/98/65/13d9e76ca19b0ba5603d71ac8424b5694415b348e719db277b5edc985ff5/cryptography-44.0.0-cp37-abi3-manylinux_2_28_aarch64.whl", hash = "sha256:761817a3377ef15ac23cd7834715081791d4ec77f9297ee694ca1ee9c2c7e5eb", size = 3915420 }, + { url = "https://files.pythonhosted.org/packages/b1/07/40fe09ce96b91fc9276a9ad272832ead0fddedcba87f1190372af8e3039c/cryptography-44.0.0-cp37-abi3-manylinux_2_28_x86_64.whl", hash = "sha256:3c672a53c0fb4725a29c303be906d3c1fa99c32f58abe008a82705f9ee96f40b", size = 4154498 }, + { url = "https://files.pythonhosted.org/packages/75/ea/af65619c800ec0a7e4034207aec543acdf248d9bffba0533342d1bd435e1/cryptography-44.0.0-cp37-abi3-manylinux_2_34_aarch64.whl", hash = "sha256:4ac4c9f37eba52cb6fbeaf5b59c152ea976726b865bd4cf87883a7e7006cc543", size = 3932569 }, + { url = "https://files.pythonhosted.org/packages/c7/af/d1deb0c04d59612e3d5e54203159e284d3e7a6921e565bb0eeb6269bdd8a/cryptography-44.0.0-cp37-abi3-musllinux_1_2_aarch64.whl", hash = "sha256:ed3534eb1090483c96178fcb0f8893719d96d5274dfde98aa6add34614e97c8e", size = 4016721 }, + { url = "https://files.pythonhosted.org/packages/bd/69/7ca326c55698d0688db867795134bdfac87136b80ef373aaa42b225d6dd5/cryptography-44.0.0-cp37-abi3-musllinux_1_2_x86_64.whl", hash = "sha256:f3f6fdfa89ee2d9d496e2c087cebef9d4fcbb0ad63c40e821b39f74bf48d9c5e", size = 4240915 }, + { url = "https://files.pythonhosted.org/packages/1a/07/5f165b6c65696ef75601b781a280fc3b33f1e0cd6aa5a92d9fb96c410e97/cryptography-44.0.0-cp39-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:1923cb251c04be85eec9fda837661c67c1049063305d6be5721643c22dd4e2b7", size = 3922613 }, + { url = "https://files.pythonhosted.org/packages/28/34/6b3ac1d80fc174812486561cf25194338151780f27e438526f9c64e16869/cryptography-44.0.0-cp39-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:404fdc66ee5f83a1388be54300ae978b2efd538018de18556dde92575e05defc", size = 4137925 }, + { url = "https://files.pythonhosted.org/packages/d0/c7/c656eb08fd22255d21bc3129625ed9cd5ee305f33752ef2278711b3fa98b/cryptography-44.0.0-cp39-abi3-manylinux_2_28_aarch64.whl", hash = "sha256:c5eb858beed7835e5ad1faba59e865109f3e52b3783b9ac21e7e47dc5554e289", size = 3915417 }, + { url = "https://files.pythonhosted.org/packages/ef/82/72403624f197af0db6bac4e58153bc9ac0e6020e57234115db9596eee85d/cryptography-44.0.0-cp39-abi3-manylinux_2_28_x86_64.whl", hash = "sha256:f53c2c87e0fb4b0c00fa9571082a057e37690a8f12233306161c8f4b819960b7", size = 4155160 }, + { url = "https://files.pythonhosted.org/packages/a2/cd/2f3c440913d4329ade49b146d74f2e9766422e1732613f57097fea61f344/cryptography-44.0.0-cp39-abi3-manylinux_2_34_aarch64.whl", hash = "sha256:9e6fc8a08e116fb7c7dd1f040074c9d7b51d74a8ea40d4df2fc7aa08b76b9e6c", size = 3932331 }, + { url = "https://files.pythonhosted.org/packages/7f/df/8be88797f0a1cca6e255189a57bb49237402b1880d6e8721690c5603ac23/cryptography-44.0.0-cp39-abi3-musllinux_1_2_aarch64.whl", hash = "sha256:d2436114e46b36d00f8b72ff57e598978b37399d2786fd39793c36c6d5cb1c64", size = 4017372 }, + { url = "https://files.pythonhosted.org/packages/af/36/5ccc376f025a834e72b8e52e18746b927f34e4520487098e283a719c205e/cryptography-44.0.0-cp39-abi3-musllinux_1_2_x86_64.whl", hash = "sha256:a01956ddfa0a6790d594f5b34fc1bfa6098aca434696a03cfdbe469b8ed79285", size = 4239657 }, + { url = "https://files.pythonhosted.org/packages/1a/aa/ba8a7467c206cb7b62f09b4168da541b5109838627f582843bbbe0235e8e/cryptography-44.0.0-pp310-pypy310_pp73-manylinux_2_28_aarch64.whl", hash = "sha256:f677e1268c4e23420c3acade68fac427fffcb8d19d7df95ed7ad17cdef8404f4", size = 3850615 }, + { url = "https://files.pythonhosted.org/packages/89/fa/b160e10a64cc395d090105be14f399b94e617c879efd401188ce0fea39ee/cryptography-44.0.0-pp310-pypy310_pp73-manylinux_2_28_x86_64.whl", hash = "sha256:f5e7cb1e5e56ca0933b4873c0220a78b773b24d40d186b6738080b73d3d0a756", size = 4081622 }, + { url = "https://files.pythonhosted.org/packages/47/8f/20ff0656bb0cf7af26ec1d01f780c5cfbaa7666736063378c5f48558b515/cryptography-44.0.0-pp310-pypy310_pp73-manylinux_2_34_aarch64.whl", hash = "sha256:8b3e6eae66cf54701ee7d9c83c30ac0a1e3fa17be486033000f2a73a12ab507c", size = 3867546 }, + { url = "https://files.pythonhosted.org/packages/38/d9/28edf32ee2fcdca587146bcde90102a7319b2f2c690edfa627e46d586050/cryptography-44.0.0-pp310-pypy310_pp73-manylinux_2_34_x86_64.whl", hash = "sha256:be4ce505894d15d5c5037167ffb7f0ae90b7be6f2a98f9a5c3442395501c32fa", size = 4090937 }, +] + +[[package]] +name = "cssselect2" +version = "0.7.0" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "tinycss2", version = "1.2.1", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.9'" }, + { name = "tinycss2", version = "1.4.0", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.9'" }, + { name = "webencodings" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/e7/fc/326cb6f988905998f09bb54a3f5d98d4462ba119363c0dfad29750d48c09/cssselect2-0.7.0.tar.gz", hash = "sha256:1ccd984dab89fc68955043aca4e1b03e0cf29cad9880f6e28e3ba7a74b14aa5a", size = 35888 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/9d/3a/e39436efe51894243ff145a37c4f9a030839b97779ebcc4f13b3ba21c54e/cssselect2-0.7.0-py3-none-any.whl", hash = "sha256:fd23a65bfd444595913f02fc71f6b286c29261e354c41d722ca7a261a49b5969", size = 15586 }, +] + +[[package]] +name = "cycler" +version = "0.12.1" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/a9/95/a3dbbb5028f35eafb79008e7522a75244477d2838f38cbb722248dabc2a8/cycler-0.12.1.tar.gz", hash = "sha256:88bb128f02ba341da8ef447245a9e138fae777f6a23943da4540077d3601eb1c", size = 7615 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/e7/05/c19819d5e3d95294a6f5947fb9b9629efb316b96de511b418c53d245aae6/cycler-0.12.1-py3-none-any.whl", hash = "sha256:85cef7cff222d8644161529808465972e51340599459b8ac3ccbac5a854e0d30", size = 8321 }, +] + +[[package]] +name = "debugpy" +version = "1.8.11" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/bc/e7/666f4c9b0e24796af50aadc28d36d21c2e01e831a934535f956e09b3650c/debugpy-1.8.11.tar.gz", hash = "sha256:6ad2688b69235c43b020e04fecccdf6a96c8943ca9c2fb340b8adc103c655e57", size = 1640124 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/26/e6/4cf7422eaa591b4c7d6a9fde224095dac25283fdd99d90164f28714242b0/debugpy-1.8.11-cp310-cp310-macosx_14_0_x86_64.whl", hash = "sha256:2b26fefc4e31ff85593d68b9022e35e8925714a10ab4858fb1b577a8a48cb8cd", size = 2075100 }, + { url = "https://files.pythonhosted.org/packages/83/3a/e163de1df5995d95760a4d748b02fbefb1c1bf19e915b664017c40435dbf/debugpy-1.8.11-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:61bc8b3b265e6949855300e84dc93d02d7a3a637f2aec6d382afd4ceb9120c9f", size = 3559724 }, + { url = "https://files.pythonhosted.org/packages/27/6c/327e19fd1bf428a1efe1a6f97b306689c54c2cebcf871b66674ead718756/debugpy-1.8.11-cp310-cp310-win32.whl", hash = "sha256:c928bbf47f65288574b78518449edaa46c82572d340e2750889bbf8cd92f3737", size = 5178068 }, + { url = "https://files.pythonhosted.org/packages/49/80/359ff8aa388f0bd4a48f0fa9ce3606396d576657ac149c6fba3cc7de8adb/debugpy-1.8.11-cp310-cp310-win_amd64.whl", hash = "sha256:8da1db4ca4f22583e834dcabdc7832e56fe16275253ee53ba66627b86e304da1", size = 5210109 }, + { url = "https://files.pythonhosted.org/packages/7c/58/8e3f7ec86c1b7985a232667b5df8f3b1b1c8401028d8f4d75e025c9556cd/debugpy-1.8.11-cp311-cp311-macosx_14_0_universal2.whl", hash = "sha256:85de8474ad53ad546ff1c7c7c89230db215b9b8a02754d41cb5a76f70d0be296", size = 2173656 }, + { url = "https://files.pythonhosted.org/packages/d2/03/95738a68ade2358e5a4d63a2fd8e7ed9ad911001cfabbbb33a7f81343945/debugpy-1.8.11-cp311-cp311-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:8ffc382e4afa4aee367bf413f55ed17bd91b191dcaf979890af239dda435f2a1", size = 3132464 }, + { url = "https://files.pythonhosted.org/packages/ca/f4/18204891ab67300950615a6ad09b9de236203a9138f52b3b596fa17628ca/debugpy-1.8.11-cp311-cp311-win32.whl", hash = "sha256:40499a9979c55f72f4eb2fc38695419546b62594f8af194b879d2a18439c97a9", size = 5103637 }, + { url = "https://files.pythonhosted.org/packages/3b/90/3775e301cfa573b51eb8a108285681f43f5441dc4c3916feed9f386ef861/debugpy-1.8.11-cp311-cp311-win_amd64.whl", hash = "sha256:987bce16e86efa86f747d5151c54e91b3c1e36acc03ce1ddb50f9d09d16ded0e", size = 5127862 }, + { url = "https://files.pythonhosted.org/packages/c6/ae/2cf26f3111e9d94384d9c01e9d6170188b0aeda15b60a4ac6457f7c8a26f/debugpy-1.8.11-cp312-cp312-macosx_14_0_universal2.whl", hash = "sha256:84e511a7545d11683d32cdb8f809ef63fc17ea2a00455cc62d0a4dbb4ed1c308", size = 2498756 }, + { url = "https://files.pythonhosted.org/packages/b0/16/ec551789d547541a46831a19aa15c147741133da188e7e6acf77510545a7/debugpy-1.8.11-cp312-cp312-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ce291a5aca4985d82875d6779f61375e959208cdf09fcec40001e65fb0a54768", size = 4219136 }, + { url = "https://files.pythonhosted.org/packages/72/6f/b2b3ce673c55f882d27a6eb04a5f0c68bcad6b742ac08a86d8392ae58030/debugpy-1.8.11-cp312-cp312-win32.whl", hash = "sha256:28e45b3f827d3bf2592f3cf7ae63282e859f3259db44ed2b129093ca0ac7940b", size = 5224440 }, + { url = "https://files.pythonhosted.org/packages/77/09/b1f05be802c1caef5b3efc042fc6a7cadd13d8118b072afd04a9b9e91e06/debugpy-1.8.11-cp312-cp312-win_amd64.whl", hash = "sha256:44b1b8e6253bceada11f714acf4309ffb98bfa9ac55e4fce14f9e5d4484287a1", size = 5264578 }, + { url = "https://files.pythonhosted.org/packages/2e/66/931dc2479aa8fbf362dc6dcee707d895a84b0b2d7b64020135f20b8db1ed/debugpy-1.8.11-cp313-cp313-macosx_14_0_universal2.whl", hash = "sha256:8988f7163e4381b0da7696f37eec7aca19deb02e500245df68a7159739bbd0d3", size = 2483651 }, + { url = "https://files.pythonhosted.org/packages/10/07/6c171d0fe6b8d237e35598b742f20ba062511b3a4631938cc78eefbbf847/debugpy-1.8.11-cp313-cp313-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:6c1f6a173d1140e557347419767d2b14ac1c9cd847e0b4c5444c7f3144697e4e", size = 4213770 }, + { url = "https://files.pythonhosted.org/packages/89/f1/0711da6ac250d4fe3bf7b3e9b14b4a86e82a98b7825075c07e19bab8da3d/debugpy-1.8.11-cp313-cp313-win32.whl", hash = "sha256:bb3b15e25891f38da3ca0740271e63ab9db61f41d4d8541745cfc1824252cb28", size = 5223911 }, + { url = "https://files.pythonhosted.org/packages/56/98/5e27fa39050749ed460025bcd0034a0a5e78a580a14079b164cc3abdeb98/debugpy-1.8.11-cp313-cp313-win_amd64.whl", hash = "sha256:d8768edcbeb34da9e11bcb8b5c2e0958d25218df7a6e56adf415ef262cd7b6d1", size = 5264166 }, + { url = "https://files.pythonhosted.org/packages/c2/55/5d97e93c50e4417f92c9c2b34df4aba13a448ad71b2cb619773ce39471d6/debugpy-1.8.11-cp38-cp38-macosx_14_0_x86_64.whl", hash = "sha256:ad7efe588c8f5cf940f40c3de0cd683cc5b76819446abaa50dc0829a30c094db", size = 2075869 }, + { url = "https://files.pythonhosted.org/packages/0f/5f/46a536a49a7c4f188bad26257d13ef1a1a369f32ff11a1e4c5fd12145760/debugpy-1.8.11-cp38-cp38-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:189058d03a40103a57144752652b3ab08ff02b7595d0ce1f651b9acc3a3a35a0", size = 3631617 }, + { url = "https://files.pythonhosted.org/packages/1d/b9/241d50a3e4eb6d0aaf549f94eaee46d94ee12e7c941ed2c709fbcb0b6ba8/debugpy-1.8.11-cp38-cp38-win32.whl", hash = "sha256:32db46ba45849daed7ccf3f2e26f7a386867b077f39b2a974bb5c4c2c3b0a280", size = 5182769 }, + { url = "https://files.pythonhosted.org/packages/68/cf/325e0525efd8ed0ae4633fb160c7e025c6db3b052ce6d7e140f4d97380a4/debugpy-1.8.11-cp38-cp38-win_amd64.whl", hash = "sha256:116bf8342062246ca749013df4f6ea106f23bc159305843491f64672a55af2e5", size = 5215130 }, + { url = "https://files.pythonhosted.org/packages/3e/db/cb113a8bbcc4e95bd4ed5941944732512c2d45453c751444049d874ca893/debugpy-1.8.11-cp39-cp39-macosx_14_0_x86_64.whl", hash = "sha256:654130ca6ad5de73d978057eaf9e582244ff72d4574b3e106fb8d3d2a0d32458", size = 2076285 }, + { url = "https://files.pythonhosted.org/packages/12/2e/c73e2744c88c7df7e830c6f7bd4dcb3d39beb7d306e26d21cf1dd439fdf5/debugpy-1.8.11-cp39-cp39-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:23dc34c5e03b0212fa3c49a874df2b8b1b8fda95160bd79c01eb3ab51ea8d851", size = 3554963 }, + { url = "https://files.pythonhosted.org/packages/88/5d/bed2bdb2bd33a74cf647d207e21cc018794782d14049ffffb4ee8d1a7e8f/debugpy-1.8.11-cp39-cp39-win32.whl", hash = "sha256:52d8a3166c9f2815bfae05f386114b0b2d274456980d41f320299a8d9a5615a7", size = 5178909 }, + { url = "https://files.pythonhosted.org/packages/8d/52/38bd3ce8686ef3b69f1462976deb874e70acba527783844b98387b90f4ba/debugpy-1.8.11-cp39-cp39-win_amd64.whl", hash = "sha256:52c3cf9ecda273a19cc092961ee34eb9ba8687d67ba34cc7b79a521c1c64c4c0", size = 5211022 }, + { url = "https://files.pythonhosted.org/packages/77/0a/d29a5aacf47b4383ed569b8478c02d59ee3a01ad91224d2cff8562410e43/debugpy-1.8.11-py2.py3-none-any.whl", hash = "sha256:0e22f846f4211383e6a416d04b4c13ed174d24cc5d43f5fd52e7821d0ebc8920", size = 5226874 }, +] + +[[package]] +name = "decorator" +version = "5.1.1" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/66/0c/8d907af351aa16b42caae42f9d6aa37b900c67308052d10fdce809f8d952/decorator-5.1.1.tar.gz", hash = "sha256:637996211036b6385ef91435e4fae22989472f9d571faba8927ba8253acbc330", size = 35016 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/d5/50/83c593b07763e1161326b3b8c6686f0f4b0f24d5526546bee538c89837d6/decorator-5.1.1-py3-none-any.whl", hash = "sha256:b8c3f85900b9dc423225913c5aace94729fe1fa9763b38939a95226f02d37186", size = 9073 }, +] + +[[package]] +name = "defusedxml" +version = "0.7.1" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/0f/d5/c66da9b79e5bdb124974bfe172b4daf3c984ebd9c2a06e2b8a4dc7331c72/defusedxml-0.7.1.tar.gz", hash = "sha256:1bb3032db185915b62d7c6209c5a8792be6a32ab2fedacc84e01b52c51aa3e69", size = 75520 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/07/6c/aa3f2f849e01cb6a001cd8554a88d4c77c5c1a31c95bdf1cf9301e6d9ef4/defusedxml-0.7.1-py2.py3-none-any.whl", hash = "sha256:a352e7e428770286cc899e2542b6cdaedb2b4953ff269a210103ec58f6198a61", size = 25604 }, +] + +[[package]] +name = "distlib" +version = "0.3.9" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/0d/dd/1bec4c5ddb504ca60fc29472f3d27e8d4da1257a854e1d96742f15c1d02d/distlib-0.3.9.tar.gz", hash = "sha256:a60f20dea646b8a33f3e7772f74dc0b2d0772d2837ee1342a00645c81edf9403", size = 613923 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/91/a1/cf2472db20f7ce4a6be1253a81cfdf85ad9c7885ffbed7047fb72c24cf87/distlib-0.3.9-py2.py3-none-any.whl", hash = "sha256:47f8c22fd27c27e25a65601af709b38e4f0a45ea4fc2e710f65755fa8caaaf87", size = 468973 }, +] + +[[package]] +name = "docutils" +version = "0.20.1" +source = { registry = "https://pypi.org/simple" } +resolution-markers = [ + "python_full_version < '3.9' and platform_machine == 'arm64' and sys_platform == 'darwin'", + "python_full_version < '3.9' and platform_machine == 'aarch64' and sys_platform == 'linux'", + "(python_full_version < '3.9' and platform_machine != 'arm64' and sys_platform == 'darwin') or (python_full_version < '3.9' and platform_machine != 'aarch64' and sys_platform == 'linux') or (python_full_version < '3.9' and sys_platform != 'darwin' and sys_platform != 'linux')", +] +sdist = { url = "https://files.pythonhosted.org/packages/1f/53/a5da4f2c5739cf66290fac1431ee52aff6851c7c8ffd8264f13affd7bcdd/docutils-0.20.1.tar.gz", hash = "sha256:f08a4e276c3a1583a86dce3e34aba3fe04d02bba2dd51ed16106244e8a923e3b", size = 2058365 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/26/87/f238c0670b94533ac0353a4e2a1a771a0cc73277b88bff23d3ae35a256c1/docutils-0.20.1-py3-none-any.whl", hash = "sha256:96f387a2c5562db4476f09f13bbab2192e764cac08ebbf3a34a95d9b1e4a59d6", size = 572666 }, +] + +[[package]] +name = "docutils" +version = "0.21.2" +source = { registry = "https://pypi.org/simple" } +resolution-markers = [ + "python_full_version >= '3.13' and sys_platform == 'darwin'", + "python_full_version >= '3.13' and platform_machine == 'aarch64' and sys_platform == 'linux'", + "(python_full_version >= '3.13' and platform_machine != 'aarch64' and sys_platform == 'linux') or (python_full_version >= '3.13' and sys_platform != 'darwin' and sys_platform != 'linux')", + "python_full_version == '3.12.*' and sys_platform == 'darwin'", + "python_full_version == '3.12.*' and platform_machine == 'aarch64' and sys_platform == 'linux'", + "(python_full_version == '3.12.*' and platform_machine != 'aarch64' and sys_platform == 'linux') or (python_full_version == '3.12.*' and sys_platform != 'darwin' and sys_platform != 'linux')", + "python_full_version == '3.11.*' and sys_platform == 'darwin'", + "python_full_version == '3.11.*' and platform_machine == 'aarch64' and sys_platform == 'linux'", + "(python_full_version == '3.11.*' and platform_machine != 'aarch64' and sys_platform == 'linux') or (python_full_version == '3.11.*' and sys_platform != 'darwin' and sys_platform != 'linux')", + "python_full_version == '3.10.*' and sys_platform == 'darwin'", + "python_full_version == '3.10.*' and platform_machine == 'aarch64' and sys_platform == 'linux'", + "(python_full_version == '3.10.*' and platform_machine != 'aarch64' and sys_platform == 'linux') or (python_full_version == '3.10.*' and sys_platform != 'darwin' and sys_platform != 'linux')", + "python_full_version == '3.9.*' and platform_machine == 'arm64' and sys_platform == 'darwin'", + "python_full_version == '3.9.*' and platform_machine == 'aarch64' and sys_platform == 'linux'", + "(python_full_version == '3.9.*' and platform_machine != 'arm64' and sys_platform == 'darwin') or (python_full_version == '3.9.*' and platform_machine != 'aarch64' and sys_platform == 'linux') or (python_full_version == '3.9.*' and sys_platform != 'darwin' and sys_platform != 'linux')", +] +sdist = { url = "https://files.pythonhosted.org/packages/ae/ed/aefcc8cd0ba62a0560c3c18c33925362d46c6075480bfa4df87b28e169a9/docutils-0.21.2.tar.gz", hash = "sha256:3a6b18732edf182daa3cd12775bbb338cf5691468f91eeeb109deff6ebfa986f", size = 2204444 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/8f/d7/9322c609343d929e75e7e5e6255e614fcc67572cfd083959cdef3b7aad79/docutils-0.21.2-py3-none-any.whl", hash = "sha256:dafca5b9e384f0e419294eb4d2ff9fa826435bf15f15b7bd45723e8ad76811b2", size = 587408 }, +] + +[[package]] +name = "exceptiongroup" +version = "1.2.2" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/09/35/2495c4ac46b980e4ca1f6ad6db102322ef3ad2410b79fdde159a4b0f3b92/exceptiongroup-1.2.2.tar.gz", hash = "sha256:47c2edf7c6738fafb49fd34290706d1a1a2f4d1c6df275526b62cbb4aa5393cc", size = 28883 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/02/cc/b7e31358aac6ed1ef2bb790a9746ac2c69bcb3c8588b41616914eb106eaf/exceptiongroup-1.2.2-py3-none-any.whl", hash = "sha256:3111b9d131c238bec2f8f516e123e14ba243563fb135d3fe885990585aa7795b", size = 16453 }, +] + +[[package]] +name = "executing" +version = "2.1.0" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/8c/e3/7d45f492c2c4a0e8e0fad57d081a7c8a0286cdd86372b070cca1ec0caa1e/executing-2.1.0.tar.gz", hash = "sha256:8ea27ddd260da8150fa5a708269c4a10e76161e2496ec3e587da9e3c0fe4b9ab", size = 977485 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/b5/fd/afcd0496feca3276f509df3dbd5dae726fcc756f1a08d9e25abe1733f962/executing-2.1.0-py2.py3-none-any.whl", hash = "sha256:8d63781349375b5ebccc3142f4b30350c0cd9c79f921cde38be2be4637e98eaf", size = 25805 }, +] + +[[package]] +name = "fastjsonschema" +version = "2.21.1" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/8b/50/4b769ce1ac4071a1ef6d86b1a3fb56cdc3a37615e8c5519e1af96cdac366/fastjsonschema-2.21.1.tar.gz", hash = "sha256:794d4f0a58f848961ba16af7b9c85a3e88cd360df008c59aac6fc5ae9323b5d4", size = 373939 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/90/2b/0817a2b257fe88725c25589d89aec060581aabf668707a8d03b2e9e0cb2a/fastjsonschema-2.21.1-py3-none-any.whl", hash = "sha256:c9e5b7e908310918cf494a434eeb31384dd84a98b57a30bcb1f535015b554667", size = 23924 }, +] + +[[package]] +name = "filelock" +version = "3.16.1" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/9d/db/3ef5bb276dae18d6ec2124224403d1d67bccdbefc17af4cc8f553e341ab1/filelock-3.16.1.tar.gz", hash = "sha256:c249fbfcd5db47e5e2d6d62198e565475ee65e4831e2561c8e313fa7eb961435", size = 18037 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/b9/f8/feced7779d755758a52d1f6635d990b8d98dc0a29fa568bbe0625f18fdf3/filelock-3.16.1-py3-none-any.whl", hash = "sha256:2082e5703d51fbf98ea75855d9d5527e33d8ff23099bec374a134febee6946b0", size = 16163 }, +] + +[[package]] +name = "fonttools" +version = "4.55.3" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/76/61/a300d1574dc381393424047c0396a0e213db212e28361123af9830d71a8d/fonttools-4.55.3.tar.gz", hash = "sha256:3983313c2a04d6cc1fe9251f8fc647754cf49a61dac6cb1e7249ae67afaafc45", size = 3498155 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/bd/f3/9ac8c6705e4a0ff3c29e524df1caeee6f2987b02fb630129f21cc99a8212/fonttools-4.55.3-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:1dcc07934a2165ccdc3a5a608db56fb3c24b609658a5b340aee4ecf3ba679dc0", size = 2769857 }, + { url = "https://files.pythonhosted.org/packages/d8/24/e8b8edd280bdb7d0ecc88a5d952b1dec2ee2335be71cc5a33c64871cdfe8/fonttools-4.55.3-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:f7d66c15ba875432a2d2fb419523f5d3d347f91f48f57b8b08a2dfc3c39b8a3f", size = 2299705 }, + { url = "https://files.pythonhosted.org/packages/f8/9e/e1ba20bd3b71870207fd45ca3b90208a7edd8ae3b001081dc31c45adb017/fonttools-4.55.3-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:27e4ae3592e62eba83cd2c4ccd9462dcfa603ff78e09110680a5444c6925d841", size = 4576104 }, + { url = "https://files.pythonhosted.org/packages/34/db/d423bc646e6703fe3e6aea0edd22a2df47b9d188c5f7f1b49070be4d2205/fonttools-4.55.3-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:62d65a3022c35e404d19ca14f291c89cc5890032ff04f6c17af0bd1927299674", size = 4618282 }, + { url = "https://files.pythonhosted.org/packages/75/a0/e5062ac960a385b984ba74e7b55132e7f2c65e449e8330ab0f595407a3de/fonttools-4.55.3-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:d342e88764fb201286d185093781bf6628bbe380a913c24adf772d901baa8276", size = 4570539 }, + { url = "https://files.pythonhosted.org/packages/1f/33/0d744ff518ebe50020b63e5018b8b278efd6a930c1d2eedda7defc42153b/fonttools-4.55.3-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:dd68c87a2bfe37c5b33bcda0fba39b65a353876d3b9006fde3adae31f97b3ef5", size = 4742411 }, + { url = "https://files.pythonhosted.org/packages/7e/6c/2f768652dba6b801f1567fc5d1829cda369bcd6e95e315a91e628f91c702/fonttools-4.55.3-cp310-cp310-win32.whl", hash = "sha256:1bc7ad24ff98846282eef1cbeac05d013c2154f977a79886bb943015d2b1b261", size = 2175132 }, + { url = "https://files.pythonhosted.org/packages/19/d1/4dcd865360fb2c499749a913fe80e41c26e8ae18629d87dfffa3de27e831/fonttools-4.55.3-cp310-cp310-win_amd64.whl", hash = "sha256:b54baf65c52952db65df39fcd4820668d0ef4766c0ccdf32879b77f7c804d5c5", size = 2219430 }, + { url = "https://files.pythonhosted.org/packages/4b/18/14be25545600bd100e5b74a3ac39089b7c1cb403dc513b7ca348be3381bf/fonttools-4.55.3-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:8c4491699bad88efe95772543cd49870cf756b019ad56294f6498982408ab03e", size = 2771005 }, + { url = "https://files.pythonhosted.org/packages/b2/51/2e1a5d3871cd7c2ae2054b54e92604e7d6abc3fd3656e9583c399648fe1c/fonttools-4.55.3-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:5323a22eabddf4b24f66d26894f1229261021dacd9d29e89f7872dd8c63f0b8b", size = 2300654 }, + { url = "https://files.pythonhosted.org/packages/73/1a/50109bb2703bc6f774b52ea081db21edf2a9fa4b6d7485faadf9d1b997e9/fonttools-4.55.3-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:5480673f599ad410695ca2ddef2dfefe9df779a9a5cda89503881e503c9c7d90", size = 4877541 }, + { url = "https://files.pythonhosted.org/packages/5d/52/c0b9857fa075da1b8806c5dc2d8342918a8cc2065fd14fbddb3303282693/fonttools-4.55.3-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:da9da6d65cd7aa6b0f806556f4985bcbf603bf0c5c590e61b43aa3e5a0f822d0", size = 4906304 }, + { url = "https://files.pythonhosted.org/packages/0b/1b/55f85c7e962d295e456d5209581c919620ee3e877b95cd86245187a5050f/fonttools-4.55.3-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:e894b5bd60d9f473bed7a8f506515549cc194de08064d829464088d23097331b", size = 4888087 }, + { url = "https://files.pythonhosted.org/packages/83/13/6f2809c612ea2ac51391f92468ff861c63473601530fca96458b453212bf/fonttools-4.55.3-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:aee3b57643827e237ff6ec6d28d9ff9766bd8b21e08cd13bff479e13d4b14765", size = 5056958 }, + { url = "https://files.pythonhosted.org/packages/c1/28/d0ea9e872fa4208b9dfca686e1dd9ca22f6c9ef33ecff2f0ebc2dbe7c29b/fonttools-4.55.3-cp311-cp311-win32.whl", hash = "sha256:eb6ca911c4c17eb51853143624d8dc87cdcdf12a711fc38bf5bd21521e79715f", size = 2173939 }, + { url = "https://files.pythonhosted.org/packages/be/36/d74ae1020bc41a1dff3e6f5a99f646563beecb97e386d27abdac3ba07650/fonttools-4.55.3-cp311-cp311-win_amd64.whl", hash = "sha256:6314bf82c54c53c71805318fcf6786d986461622dd926d92a465199ff54b1b72", size = 2220363 }, + { url = "https://files.pythonhosted.org/packages/89/58/fbcf5dff7e3ea844bb00c4d806ca1e339e1f2dce5529633bf4842c0c9a1f/fonttools-4.55.3-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:f9e736f60f4911061235603a6119e72053073a12c6d7904011df2d8fad2c0e35", size = 2765380 }, + { url = "https://files.pythonhosted.org/packages/81/dd/da6e329e51919b4f421c8738f3497e2ab08c168e76aaef7b6d5351862bdf/fonttools-4.55.3-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:7a8aa2c5e5b8b3bcb2e4538d929f6589a5c6bdb84fd16e2ed92649fb5454f11c", size = 2297940 }, + { url = "https://files.pythonhosted.org/packages/00/44/f5ee560858425c99ef07e04919e736db09d6416408e5a8d3bbfb4a6623fd/fonttools-4.55.3-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:07f8288aacf0a38d174445fc78377a97fb0b83cfe352a90c9d9c1400571963c7", size = 4793327 }, + { url = "https://files.pythonhosted.org/packages/24/da/0a001926d791c55e29ac3c52964957a20dbc1963615446b568b7432891c3/fonttools-4.55.3-cp312-cp312-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:b8d5e8916c0970fbc0f6f1bece0063363bb5857a7f170121a4493e31c3db3314", size = 4865624 }, + { url = "https://files.pythonhosted.org/packages/3d/d8/1edd8b13a427a9fb6418373437caa586c0caa57f260af8e0548f4d11e340/fonttools-4.55.3-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:ae3b6600565b2d80b7c05acb8e24d2b26ac407b27a3f2e078229721ba5698427", size = 4774166 }, + { url = "https://files.pythonhosted.org/packages/9c/ec/ade054097976c3d6debc9032e09a351505a0196aa5493edf021be376f75e/fonttools-4.55.3-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:54153c49913f45065c8d9e6d0c101396725c5621c8aee744719300f79771d75a", size = 5001832 }, + { url = "https://files.pythonhosted.org/packages/e2/cd/233f0e31ad799bb91fc78099c8b4e5ec43b85a131688519640d6bae46f6a/fonttools-4.55.3-cp312-cp312-win32.whl", hash = "sha256:827e95fdbbd3e51f8b459af5ea10ecb4e30af50221ca103bea68218e9615de07", size = 2162228 }, + { url = "https://files.pythonhosted.org/packages/46/45/a498b5291f6c0d91b2394b1ed7447442a57d1c9b9cf8f439aee3c316a56e/fonttools-4.55.3-cp312-cp312-win_amd64.whl", hash = "sha256:e6e8766eeeb2de759e862004aa11a9ea3d6f6d5ec710551a88b476192b64fd54", size = 2209118 }, + { url = "https://files.pythonhosted.org/packages/9c/9f/00142a19bad96eeeb1aed93f567adc19b7f2c1af6f5bc0a1c3de90b4b1ac/fonttools-4.55.3-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:a430178ad3e650e695167cb53242dae3477b35c95bef6525b074d87493c4bf29", size = 2752812 }, + { url = "https://files.pythonhosted.org/packages/b0/20/14b8250d63ba65e162091fb0dda07730f90c303bbf5257e9ddacec7230d9/fonttools-4.55.3-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:529cef2ce91dc44f8e407cc567fae6e49a1786f2fefefa73a294704c415322a4", size = 2291521 }, + { url = "https://files.pythonhosted.org/packages/34/47/a681cfd10245eb74f65e491a934053ec75c4af639655446558f29818e45e/fonttools-4.55.3-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:8e75f12c82127486fac2d8bfbf5bf058202f54bf4f158d367e41647b972342ca", size = 4770980 }, + { url = "https://files.pythonhosted.org/packages/d2/6c/a7066afc19db0705a12efd812e19c32cde2b9514eb714659522f2ebd60b6/fonttools-4.55.3-cp313-cp313-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:859c358ebf41db18fb72342d3080bce67c02b39e86b9fbcf1610cca14984841b", size = 4845534 }, + { url = "https://files.pythonhosted.org/packages/0c/a2/3c204fbabbfd845d9bdcab9ae35279d41e9a4bf5c80a0a2708f9c5a195d6/fonttools-4.55.3-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:546565028e244a701f73df6d8dd6be489d01617863ec0c6a42fa25bf45d43048", size = 4753910 }, + { url = "https://files.pythonhosted.org/packages/6e/8c/b4cb3592880340b89e4ef6601b531780bba73862332a6451d78fe135d6cb/fonttools-4.55.3-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:aca318b77f23523309eec4475d1fbbb00a6b133eb766a8bdc401faba91261abe", size = 4976411 }, + { url = "https://files.pythonhosted.org/packages/fc/a8/4bf98840ff89fcc188470b59daec57322178bf36d2f4f756cd19a42a826b/fonttools-4.55.3-cp313-cp313-win32.whl", hash = "sha256:8c5ec45428edaa7022f1c949a632a6f298edc7b481312fc7dc258921e9399628", size = 2160178 }, + { url = "https://files.pythonhosted.org/packages/e6/57/4cc35004605416df3225ff362f3455cf09765db00df578ae9e46d0fefd23/fonttools-4.55.3-cp313-cp313-win_amd64.whl", hash = "sha256:11e5de1ee0d95af4ae23c1a138b184b7f06e0b6abacabf1d0db41c90b03d834b", size = 2206102 }, + { url = "https://files.pythonhosted.org/packages/27/b3/b92d19237b67b27a7f54e76883d7a0777a389115136d5edfc917c9e765ab/fonttools-4.55.3-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:caf8230f3e10f8f5d7593eb6d252a37caf58c480b19a17e250a63dad63834cf3", size = 2768142 }, + { url = "https://files.pythonhosted.org/packages/84/40/be91d5b4fb5ea512ed4a84701dc439019f7bbb19af3d050fb677094573cc/fonttools-4.55.3-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:b586ab5b15b6097f2fb71cafa3c98edfd0dba1ad8027229e7b1e204a58b0e09d", size = 2298400 }, + { url = "https://files.pythonhosted.org/packages/6c/5d/0bf6ec68ae46970ba318528a90acc44c9043c5be9329a81de9dc7a2c2890/fonttools-4.55.3-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a8c2794ded89399cc2169c4d0bf7941247b8d5932b2659e09834adfbb01589aa", size = 4654309 }, + { url = "https://files.pythonhosted.org/packages/b5/10/8057a6c234637e290e7df88fac048108a2f8c8fc36e0da2216945b67f47b/fonttools-4.55.3-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:cf4fe7c124aa3f4e4c1940880156e13f2f4d98170d35c749e6b4f119a872551e", size = 4699836 }, + { url = "https://files.pythonhosted.org/packages/ee/47/8f25f0335be4053742a1561ba964cc2f49a16819bda51b1fd53bd6486d18/fonttools-4.55.3-cp38-cp38-musllinux_1_2_aarch64.whl", hash = "sha256:86721fbc389ef5cc1e2f477019e5069e8e4421e8d9576e9c26f840dbb04678de", size = 4673874 }, + { url = "https://files.pythonhosted.org/packages/32/9d/e9e030a6151b1593e2d6e7c4c17e9fb6fb4255f891dd000ec0515ec3e926/fonttools-4.55.3-cp38-cp38-musllinux_1_2_x86_64.whl", hash = "sha256:89bdc5d88bdeec1b15af790810e267e8332d92561dce4f0748c2b95c9bdf3926", size = 4857363 }, + { url = "https://files.pythonhosted.org/packages/89/86/21a8379678289538f3e5e2cf8f1c9f5db7806bf4cb042c2e566d2a9d6010/fonttools-4.55.3-cp38-cp38-win32.whl", hash = "sha256:bc5dbb4685e51235ef487e4bd501ddfc49be5aede5e40f4cefcccabc6e60fb4b", size = 1501811 }, + { url = "https://files.pythonhosted.org/packages/49/eb/30072d8c7e1d77656e9713774ea06b3de032662b60df4864db7593b4acd7/fonttools-4.55.3-cp38-cp38-win_amd64.whl", hash = "sha256:cd70de1a52a8ee2d1877b6293af8a2484ac82514f10b1c67c1c5762d38073e56", size = 1546624 }, + { url = "https://files.pythonhosted.org/packages/7c/2e/3481bd2f8a501146ceb60fa98e54ac91d3589d22dd0b3605d26d65280f3f/fonttools-4.55.3-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:bdcc9f04b36c6c20978d3f060e5323a43f6222accc4e7fcbef3f428e216d96af", size = 2772598 }, + { url = "https://files.pythonhosted.org/packages/ea/29/532e428003bdd98f728aff4a48ae91d6ba44eb0b7b4f30e746ad18bf56b6/fonttools-4.55.3-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:c3ca99e0d460eff46e033cd3992a969658c3169ffcd533e0a39c63a38beb6831", size = 2300985 }, + { url = "https://files.pythonhosted.org/packages/a4/51/738a32b3f4968b614657d945c5574897c773e5efeae48bdf965480fbd963/fonttools-4.55.3-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:22f38464daa6cdb7b6aebd14ab06609328fe1e9705bb0fcc7d1e69de7109ee02", size = 4579674 }, + { url = "https://files.pythonhosted.org/packages/6b/77/9893aa413e7d839e292685bae0749a319eacba9470c85253529d35248075/fonttools-4.55.3-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ed63959d00b61959b035c7d47f9313c2c1ece090ff63afea702fe86de00dbed4", size = 4627321 }, + { url = "https://files.pythonhosted.org/packages/5d/5b/1f5f813264e7b09f50fdc2ba4cd20ad7136d671c70f022be41e0ad6a3abb/fonttools-4.55.3-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:5e8d657cd7326eeaba27de2740e847c6b39dde2f8d7cd7cc56f6aad404ddf0bd", size = 4573730 }, + { url = "https://files.pythonhosted.org/packages/a7/bf/a68606cbc37b04d604799e039614f145fbf267cb46c46353c647b6471d75/fonttools-4.55.3-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:fb594b5a99943042c702c550d5494bdd7577f6ef19b0bc73877c948a63184a32", size = 4742326 }, + { url = "https://files.pythonhosted.org/packages/bb/c0/2779d167e6b8def68f31cf70e077e91afba10a46e330f22cc3ee206086d1/fonttools-4.55.3-cp39-cp39-win32.whl", hash = "sha256:dc5294a3d5c84226e3dbba1b6f61d7ad813a8c0238fceea4e09aa04848c3d851", size = 2175672 }, + { url = "https://files.pythonhosted.org/packages/e3/05/b0ddd91049475035cc341d1e6fa88a04340f2ef6c38192ca45e4e2b3331f/fonttools-4.55.3-cp39-cp39-win_amd64.whl", hash = "sha256:aedbeb1db64496d098e6be92b2e63b5fac4e53b1b92032dfc6988e1ea9134a4d", size = 2219942 }, + { url = "https://files.pythonhosted.org/packages/99/3b/406d17b1f63e04a82aa621936e6e1c53a8c05458abd66300ac85ea7f9ae9/fonttools-4.55.3-py3-none-any.whl", hash = "sha256:f412604ccbeee81b091b420272841e5ec5ef68967a9790e80bffd0e30b8e2977", size = 1111638 }, +] + +[[package]] +name = "fqdn" +version = "1.5.1" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/30/3e/a80a8c077fd798951169626cde3e239adeba7dab75deb3555716415bd9b0/fqdn-1.5.1.tar.gz", hash = "sha256:105ed3677e767fb5ca086a0c1f4bb66ebc3c100be518f0e0d755d9eae164d89f", size = 6015 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/cf/58/8acf1b3e91c58313ce5cb67df61001fc9dcd21be4fadb76c1a2d540e09ed/fqdn-1.5.1-py3-none-any.whl", hash = "sha256:3a179af3761e4df6eb2e026ff9e1a3033d3587bf980a0b1b2e1e5d08d7358014", size = 9121 }, +] + +[[package]] +name = "ghp-import" +version = "2.1.0" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "python-dateutil" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/d9/29/d40217cbe2f6b1359e00c6c307bb3fc876ba74068cbab3dde77f03ca0dc4/ghp-import-2.1.0.tar.gz", hash = "sha256:9c535c4c61193c2df8871222567d7fd7e5014d835f97dc7b7439069e2413d343", size = 10943 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/f7/ec/67fbef5d497f86283db54c22eec6f6140243aae73265799baaaa19cd17fb/ghp_import-2.1.0-py3-none-any.whl", hash = "sha256:8337dd7b50877f163d4c0289bc1f1c7f127550241988d568c1db512c4324a619", size = 11034 }, +] + +[[package]] +name = "gitdb" +version = "4.0.12" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "smmap" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/72/94/63b0fc47eb32792c7ba1fe1b694daec9a63620db1e313033d18140c2320a/gitdb-4.0.12.tar.gz", hash = "sha256:5ef71f855d191a3326fcfbc0d5da835f26b13fbcba60c32c21091c349ffdb571", size = 394684 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/a0/61/5c78b91c3143ed5c14207f463aecfc8f9dbb5092fb2869baf37c273b2705/gitdb-4.0.12-py3-none-any.whl", hash = "sha256:67073e15955400952c6565cc3e707c554a4eea2e428946f7a4c162fab9bd9bcf", size = 62794 }, +] + +[[package]] +name = "gitpython" +version = "3.1.44" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "gitdb" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/c0/89/37df0b71473153574a5cdef8f242de422a0f5d26d7a9e231e6f169b4ad14/gitpython-3.1.44.tar.gz", hash = "sha256:c87e30b26253bf5418b01b0660f818967f3c503193838337fe5e573331249269", size = 214196 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/1d/9a/4114a9057db2f1462d5c8f8390ab7383925fe1ac012eaa42402ad65c2963/GitPython-3.1.44-py3-none-any.whl", hash = "sha256:9e0e10cda9bed1ee64bc9a6de50e7e38a9c9943241cd7f585f6df3ed28011110", size = 207599 }, +] + +[[package]] +name = "griffe" +version = "1.4.0" +source = { registry = "https://pypi.org/simple" } +resolution-markers = [ + "python_full_version < '3.9' and platform_machine == 'arm64' and sys_platform == 'darwin'", + "python_full_version < '3.9' and platform_machine == 'aarch64' and sys_platform == 'linux'", + "(python_full_version < '3.9' and platform_machine != 'arm64' and sys_platform == 'darwin') or (python_full_version < '3.9' and platform_machine != 'aarch64' and sys_platform == 'linux') or (python_full_version < '3.9' and sys_platform != 'darwin' and sys_platform != 'linux')", +] +dependencies = [ + { name = "astunparse", marker = "python_full_version < '3.9'" }, + { name = "colorama", marker = "python_full_version < '3.9'" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/05/e9/b2c86ad9d69053e497a24ceb25d661094fb321ab4ed39a8b71793dcbae82/griffe-1.4.0.tar.gz", hash = "sha256:8fccc585896d13f1221035d32c50dec65830c87d23f9adb9b1e6f3d63574f7f5", size = 381028 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/22/7c/e9e66869c2e4c9b378474e49c993128ec0131ef4721038b6d06e50538caf/griffe-1.4.0-py3-none-any.whl", hash = "sha256:e589de8b8c137e99a46ec45f9598fc0ac5b6868ce824b24db09c02d117b89bc5", size = 127015 }, +] + +[[package]] +name = "griffe" +version = "1.5.4" +source = { registry = "https://pypi.org/simple" } +resolution-markers = [ + "python_full_version >= '3.13' and sys_platform == 'darwin'", + "python_full_version >= '3.13' and platform_machine == 'aarch64' and sys_platform == 'linux'", + "(python_full_version >= '3.13' and platform_machine != 'aarch64' and sys_platform == 'linux') or (python_full_version >= '3.13' and sys_platform != 'darwin' and sys_platform != 'linux')", + "python_full_version == '3.12.*' and sys_platform == 'darwin'", + "python_full_version == '3.12.*' and platform_machine == 'aarch64' and sys_platform == 'linux'", + "(python_full_version == '3.12.*' and platform_machine != 'aarch64' and sys_platform == 'linux') or (python_full_version == '3.12.*' and sys_platform != 'darwin' and sys_platform != 'linux')", + "python_full_version == '3.11.*' and sys_platform == 'darwin'", + "python_full_version == '3.11.*' and platform_machine == 'aarch64' and sys_platform == 'linux'", + "(python_full_version == '3.11.*' and platform_machine != 'aarch64' and sys_platform == 'linux') or (python_full_version == '3.11.*' and sys_platform != 'darwin' and sys_platform != 'linux')", + "python_full_version == '3.10.*' and sys_platform == 'darwin'", + "python_full_version == '3.10.*' and platform_machine == 'aarch64' and sys_platform == 'linux'", + "(python_full_version == '3.10.*' and platform_machine != 'aarch64' and sys_platform == 'linux') or (python_full_version == '3.10.*' and sys_platform != 'darwin' and sys_platform != 'linux')", + "python_full_version == '3.9.*' and platform_machine == 'arm64' and sys_platform == 'darwin'", + "python_full_version == '3.9.*' and platform_machine == 'aarch64' and sys_platform == 'linux'", + "(python_full_version == '3.9.*' and platform_machine != 'arm64' and sys_platform == 'darwin') or (python_full_version == '3.9.*' and platform_machine != 'aarch64' and sys_platform == 'linux') or (python_full_version == '3.9.*' and sys_platform != 'darwin' and sys_platform != 'linux')", +] +dependencies = [ + { name = "colorama", marker = "python_full_version >= '3.9'" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/22/9b/0bc9d53ed6628aae43223dd3c081637da54f66ed17a8c1d9fd36ee5da244/griffe-1.5.4.tar.gz", hash = "sha256:073e78ad3e10c8378c2f798bd4ef87b92d8411e9916e157fd366a17cc4fd4e52", size = 389376 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/7c/29/d0f156c076ec71eb485e70cbcde4872e3c045cda965a48d1d938aa3d9f76/griffe-1.5.4-py3-none-any.whl", hash = "sha256:ed33af890586a5bebc842fcb919fc694b3dc1bc55b7d9e0228de41ce566b4a1d", size = 128102 }, +] + +[[package]] +name = "h11" +version = "0.14.0" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/f5/38/3af3d3633a34a3316095b39c8e8fb4853a28a536e55d347bd8d8e9a14b03/h11-0.14.0.tar.gz", hash = "sha256:8f19fbbe99e72420ff35c00b27a34cb9937e902a8b810e2c88300c6f0a3b699d", size = 100418 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/95/04/ff642e65ad6b90db43e668d70ffb6736436c7ce41fcc549f4e9472234127/h11-0.14.0-py3-none-any.whl", hash = "sha256:e3fe4ac4b851c468cc8363d500db52c2ead036020723024a109d37346efaa761", size = 58259 }, +] + +[[package]] +name = "httpcore" +version = "1.0.7" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "certifi" }, + { name = "h11" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/6a/41/d7d0a89eb493922c37d343b607bc1b5da7f5be7e383740b4753ad8943e90/httpcore-1.0.7.tar.gz", hash = "sha256:8551cb62a169ec7162ac7be8d4817d561f60e08eaa485234898414bb5a8a0b4c", size = 85196 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/87/f5/72347bc88306acb359581ac4d52f23c0ef445b57157adedb9aee0cd689d2/httpcore-1.0.7-py3-none-any.whl", hash = "sha256:a3fff8f43dc260d5bd363d9f9cf1830fa3a458b332856f34282de498ed420edd", size = 78551 }, +] + +[[package]] +name = "httpx" +version = "0.28.1" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "anyio", version = "4.5.2", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.9'" }, + { name = "anyio", version = "4.8.0", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.9'" }, + { name = "certifi" }, + { name = "httpcore" }, + { name = "idna" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/b1/df/48c586a5fe32a0f01324ee087459e112ebb7224f646c0b5023f5e79e9956/httpx-0.28.1.tar.gz", hash = "sha256:75e98c5f16b0f35b567856f597f06ff2270a374470a5c2392242528e3e3e42fc", size = 141406 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/2a/39/e50c7c3a983047577ee07d2a9e53faf5a69493943ec3f6a384bdc792deb2/httpx-0.28.1-py3-none-any.whl", hash = "sha256:d909fcccc110f8c7faf814ca82a9a4d816bc5a6dbfea25d6591d6985b8ba59ad", size = 73517 }, +] + +[[package]] +name = "idna" +version = "3.10" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/f1/70/7703c29685631f5a7590aa73f1f1d3fa9a380e654b86af429e0934a32f7d/idna-3.10.tar.gz", hash = "sha256:12f65c9b470abda6dc35cf8e63cc574b1c52b11df2c86030af0ac09b01b13ea9", size = 190490 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/76/c6/c88e154df9c4e1a2a66ccf0005a88dfb2650c1dffb6f5ce603dfbd452ce3/idna-3.10-py3-none-any.whl", hash = "sha256:946d195a0d259cbba61165e88e65941f16e9b36ea6ddb97f00452bae8b1287d3", size = 70442 }, +] + +[[package]] +name = "importlib-metadata" +version = "8.5.0" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "zipp", version = "3.20.2", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.9'" }, + { name = "zipp", version = "3.21.0", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.9'" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/cd/12/33e59336dca5be0c398a7482335911a33aa0e20776128f038019f1a95f1b/importlib_metadata-8.5.0.tar.gz", hash = "sha256:71522656f0abace1d072b9e5481a48f07c138e00f079c38c8f883823f9c26bd7", size = 55304 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/a0/d9/a1e041c5e7caa9a05c925f4bdbdfb7f006d1f74996af53467bc394c97be7/importlib_metadata-8.5.0-py3-none-any.whl", hash = "sha256:45e54197d28b7a7f1559e60b95e7c567032b602131fbd588f1497f47880aa68b", size = 26514 }, +] + +[[package]] +name = "importlib-resources" +version = "6.4.5" +source = { registry = "https://pypi.org/simple" } +resolution-markers = [ + "python_full_version < '3.9' and platform_machine == 'arm64' and sys_platform == 'darwin'", + "python_full_version < '3.9' and platform_machine == 'aarch64' and sys_platform == 'linux'", + "(python_full_version < '3.9' and platform_machine != 'arm64' and sys_platform == 'darwin') or (python_full_version < '3.9' and platform_machine != 'aarch64' and sys_platform == 'linux') or (python_full_version < '3.9' and sys_platform != 'darwin' and sys_platform != 'linux')", +] +dependencies = [ + { name = "zipp", version = "3.20.2", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.9'" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/98/be/f3e8c6081b684f176b761e6a2fef02a0be939740ed6f54109a2951d806f3/importlib_resources-6.4.5.tar.gz", hash = "sha256:980862a1d16c9e147a59603677fa2aa5fd82b87f223b6cb870695bcfce830065", size = 43372 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/e1/6a/4604f9ae2fa62ef47b9de2fa5ad599589d28c9fd1d335f32759813dfa91e/importlib_resources-6.4.5-py3-none-any.whl", hash = "sha256:ac29d5f956f01d5e4bb63102a5a19957f1b9175e45649977264a1416783bb717", size = 36115 }, +] + +[[package]] +name = "importlib-resources" +version = "6.5.2" +source = { registry = "https://pypi.org/simple" } +resolution-markers = [ + "python_full_version >= '3.13' and sys_platform == 'darwin'", + "python_full_version >= '3.13' and platform_machine == 'aarch64' and sys_platform == 'linux'", + "(python_full_version >= '3.13' and platform_machine != 'aarch64' and sys_platform == 'linux') or (python_full_version >= '3.13' and sys_platform != 'darwin' and sys_platform != 'linux')", + "python_full_version == '3.12.*' and sys_platform == 'darwin'", + "python_full_version == '3.12.*' and platform_machine == 'aarch64' and sys_platform == 'linux'", + "(python_full_version == '3.12.*' and platform_machine != 'aarch64' and sys_platform == 'linux') or (python_full_version == '3.12.*' and sys_platform != 'darwin' and sys_platform != 'linux')", + "python_full_version == '3.11.*' and sys_platform == 'darwin'", + "python_full_version == '3.11.*' and platform_machine == 'aarch64' and sys_platform == 'linux'", + "(python_full_version == '3.11.*' and platform_machine != 'aarch64' and sys_platform == 'linux') or (python_full_version == '3.11.*' and sys_platform != 'darwin' and sys_platform != 'linux')", + "python_full_version == '3.10.*' and sys_platform == 'darwin'", + "python_full_version == '3.10.*' and platform_machine == 'aarch64' and sys_platform == 'linux'", + "(python_full_version == '3.10.*' and platform_machine != 'aarch64' and sys_platform == 'linux') or (python_full_version == '3.10.*' and sys_platform != 'darwin' and sys_platform != 'linux')", + "python_full_version == '3.9.*' and platform_machine == 'arm64' and sys_platform == 'darwin'", + "python_full_version == '3.9.*' and platform_machine == 'aarch64' and sys_platform == 'linux'", + "(python_full_version == '3.9.*' and platform_machine != 'arm64' and sys_platform == 'darwin') or (python_full_version == '3.9.*' and platform_machine != 'aarch64' and sys_platform == 'linux') or (python_full_version == '3.9.*' and sys_platform != 'darwin' and sys_platform != 'linux')", +] +dependencies = [ + { name = "zipp", version = "3.21.0", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version == '3.9.*'" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/cf/8c/f834fbf984f691b4f7ff60f50b514cc3de5cc08abfc3295564dd89c5e2e7/importlib_resources-6.5.2.tar.gz", hash = "sha256:185f87adef5bcc288449d98fb4fba07cea78bc036455dd44c5fc4a2fe78fed2c", size = 44693 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/a4/ed/1f1afb2e9e7f38a545d628f864d562a5ae64fe6f7a10e28ffb9b185b4e89/importlib_resources-6.5.2-py3-none-any.whl", hash = "sha256:789cfdc3ed28c78b67a06acb8126751ced69a3d5f79c095a98298cd8a760ccec", size = 37461 }, +] + +[[package]] +name = "iniconfig" +version = "2.0.0" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/d7/4b/cbd8e699e64a6f16ca3a8220661b5f83792b3017d0f79807cb8708d33913/iniconfig-2.0.0.tar.gz", hash = "sha256:2d91e135bf72d31a410b17c16da610a82cb55f6b0477d1a902134b24a455b8b3", size = 4646 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/ef/a6/62565a6e1cf69e10f5727360368e451d4b7f58beeac6173dc9db836a5b46/iniconfig-2.0.0-py3-none-any.whl", hash = "sha256:b6a85871a79d2e3b22d2d1b94ac2824226a63c6b741c88f7ae975f18b6778374", size = 5892 }, +] + +[[package]] +name = "ipykernel" +version = "6.29.5" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "appnope", marker = "sys_platform == 'darwin'" }, + { name = "comm" }, + { name = "debugpy" }, + { name = "ipython", version = "8.12.3", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.9'" }, + { name = "ipython", version = "8.18.1", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version == '3.9.*'" }, + { name = "ipython", version = "8.31.0", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.10'" }, + { name = "jupyter-client" }, + { name = "jupyter-core" }, + { name = "matplotlib-inline" }, + { name = "nest-asyncio" }, + { name = "packaging" }, + { name = "psutil" }, + { name = "pyzmq" }, + { name = "tornado" }, + { name = "traitlets" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/e9/5c/67594cb0c7055dc50814b21731c22a601101ea3b1b50a9a1b090e11f5d0f/ipykernel-6.29.5.tar.gz", hash = "sha256:f093a22c4a40f8828f8e330a9c297cb93dcab13bd9678ded6de8e5cf81c56215", size = 163367 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/94/5c/368ae6c01c7628438358e6d337c19b05425727fbb221d2a3c4303c372f42/ipykernel-6.29.5-py3-none-any.whl", hash = "sha256:afdb66ba5aa354b09b91379bac28ae4afebbb30e8b39510c9690afb7a10421b5", size = 117173 }, +] + +[[package]] +name = "ipython" +version = "8.12.3" +source = { registry = "https://pypi.org/simple" } +resolution-markers = [ + "python_full_version < '3.9' and platform_machine == 'arm64' and sys_platform == 'darwin'", + "python_full_version < '3.9' and platform_machine == 'aarch64' and sys_platform == 'linux'", + "(python_full_version < '3.9' and platform_machine != 'arm64' and sys_platform == 'darwin') or (python_full_version < '3.9' and platform_machine != 'aarch64' and sys_platform == 'linux') or (python_full_version < '3.9' and sys_platform != 'darwin' and sys_platform != 'linux')", +] +dependencies = [ + { name = "appnope", marker = "python_full_version < '3.9' and sys_platform == 'darwin'" }, + { name = "backcall", marker = "python_full_version < '3.9'" }, + { name = "colorama", marker = "python_full_version < '3.9' and sys_platform == 'win32'" }, + { name = "decorator", marker = "python_full_version < '3.9'" }, + { name = "jedi", marker = "python_full_version < '3.9'" }, + { name = "matplotlib-inline", marker = "python_full_version < '3.9'" }, + { name = "pexpect", marker = "python_full_version < '3.9' and sys_platform != 'win32'" }, + { name = "pickleshare", marker = "python_full_version < '3.9'" }, + { name = "prompt-toolkit", marker = "python_full_version < '3.9'" }, + { name = "pygments", marker = "python_full_version < '3.9'" }, + { name = "stack-data", marker = "python_full_version < '3.9'" }, + { name = "traitlets", marker = "python_full_version < '3.9'" }, + { name = "typing-extensions", marker = "python_full_version < '3.9'" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/9e/6a/44ef299b1762f5a73841e87fae8a73a8cc8aee538d6dc8c77a5afe1fd2ce/ipython-8.12.3.tar.gz", hash = "sha256:3910c4b54543c2ad73d06579aa771041b7d5707b033bd488669b4cf544e3b363", size = 5470171 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/8d/97/8fe103906cd81bc42d3b0175b5534a9f67dccae47d6451131cf8d0d70bb2/ipython-8.12.3-py3-none-any.whl", hash = "sha256:b0340d46a933d27c657b211a329d0be23793c36595acf9e6ef4164bc01a1804c", size = 798307 }, +] + +[[package]] +name = "ipython" +version = "8.18.1" +source = { registry = "https://pypi.org/simple" } +resolution-markers = [ + "python_full_version == '3.9.*' and platform_machine == 'arm64' and sys_platform == 'darwin'", + "python_full_version == '3.9.*' and platform_machine == 'aarch64' and sys_platform == 'linux'", + "(python_full_version == '3.9.*' and platform_machine != 'arm64' and sys_platform == 'darwin') or (python_full_version == '3.9.*' and platform_machine != 'aarch64' and sys_platform == 'linux') or (python_full_version == '3.9.*' and sys_platform != 'darwin' and sys_platform != 'linux')", +] +dependencies = [ + { name = "colorama", marker = "python_full_version == '3.9.*' and sys_platform == 'win32'" }, + { name = "decorator", marker = "python_full_version == '3.9.*'" }, + { name = "exceptiongroup", marker = "python_full_version == '3.9.*'" }, + { name = "jedi", marker = "python_full_version == '3.9.*'" }, + { name = "matplotlib-inline", marker = "python_full_version == '3.9.*'" }, + { name = "pexpect", marker = "python_full_version == '3.9.*' and sys_platform != 'win32'" }, + { name = "prompt-toolkit", marker = "python_full_version == '3.9.*'" }, + { name = "pygments", marker = "python_full_version == '3.9.*'" }, + { name = "stack-data", marker = "python_full_version == '3.9.*'" }, + { name = "traitlets", marker = "python_full_version == '3.9.*'" }, + { name = "typing-extensions", marker = "python_full_version == '3.9.*'" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/b1/b9/3ba6c45a6df813c09a48bac313c22ff83efa26cbb55011218d925a46e2ad/ipython-8.18.1.tar.gz", hash = "sha256:ca6f079bb33457c66e233e4580ebfc4128855b4cf6370dddd73842a9563e8a27", size = 5486330 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/47/6b/d9fdcdef2eb6a23f391251fde8781c38d42acd82abe84d054cb74f7863b0/ipython-8.18.1-py3-none-any.whl", hash = "sha256:e8267419d72d81955ec1177f8a29aaa90ac80ad647499201119e2f05e99aa397", size = 808161 }, +] + +[[package]] +name = "ipython" +version = "8.31.0" +source = { registry = "https://pypi.org/simple" } +resolution-markers = [ + "python_full_version >= '3.13' and sys_platform == 'darwin'", + "python_full_version >= '3.13' and platform_machine == 'aarch64' and sys_platform == 'linux'", + "(python_full_version >= '3.13' and platform_machine != 'aarch64' and sys_platform == 'linux') or (python_full_version >= '3.13' and sys_platform != 'darwin' and sys_platform != 'linux')", + "python_full_version == '3.12.*' and sys_platform == 'darwin'", + "python_full_version == '3.12.*' and platform_machine == 'aarch64' and sys_platform == 'linux'", + "(python_full_version == '3.12.*' and platform_machine != 'aarch64' and sys_platform == 'linux') or (python_full_version == '3.12.*' and sys_platform != 'darwin' and sys_platform != 'linux')", + "python_full_version == '3.11.*' and sys_platform == 'darwin'", + "python_full_version == '3.11.*' and platform_machine == 'aarch64' and sys_platform == 'linux'", + "(python_full_version == '3.11.*' and platform_machine != 'aarch64' and sys_platform == 'linux') or (python_full_version == '3.11.*' and sys_platform != 'darwin' and sys_platform != 'linux')", + "python_full_version == '3.10.*' and sys_platform == 'darwin'", + "python_full_version == '3.10.*' and platform_machine == 'aarch64' and sys_platform == 'linux'", + "(python_full_version == '3.10.*' and platform_machine != 'aarch64' and sys_platform == 'linux') or (python_full_version == '3.10.*' and sys_platform != 'darwin' and sys_platform != 'linux')", +] +dependencies = [ + { name = "colorama", marker = "python_full_version >= '3.10' and sys_platform == 'win32'" }, + { name = "decorator", marker = "python_full_version >= '3.10'" }, + { name = "exceptiongroup", marker = "python_full_version == '3.10.*'" }, + { name = "jedi", marker = "python_full_version >= '3.10'" }, + { name = "matplotlib-inline", marker = "python_full_version >= '3.10'" }, + { name = "pexpect", marker = "python_full_version >= '3.10' and sys_platform != 'emscripten' and sys_platform != 'win32'" }, + { name = "prompt-toolkit", marker = "python_full_version >= '3.10'" }, + { name = "pygments", marker = "python_full_version >= '3.10'" }, + { name = "stack-data", marker = "python_full_version >= '3.10'" }, + { name = "traitlets", marker = "python_full_version >= '3.10'" }, + { name = "typing-extensions", marker = "python_full_version >= '3.10' and python_full_version < '3.12'" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/01/35/6f90fdddff7a08b7b715fccbd2427b5212c9525cd043d26fdc45bee0708d/ipython-8.31.0.tar.gz", hash = "sha256:b6a2274606bec6166405ff05e54932ed6e5cfecaca1fc05f2cacde7bb074d70b", size = 5501011 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/04/60/d0feb6b6d9fe4ab89fe8fe5b47cbf6cd936bfd9f1e7ffa9d0015425aeed6/ipython-8.31.0-py3-none-any.whl", hash = "sha256:46ec58f8d3d076a61d128fe517a51eb730e3aaf0c184ea8c17d16e366660c6a6", size = 821583 }, +] + +[[package]] +name = "ipywidgets" +version = "8.1.5" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "comm" }, + { name = "ipython", version = "8.12.3", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.9'" }, + { name = "ipython", version = "8.18.1", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version == '3.9.*'" }, + { name = "ipython", version = "8.31.0", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.10'" }, + { name = "jupyterlab-widgets" }, + { name = "traitlets" }, + { name = "widgetsnbextension" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/c7/4c/dab2a281b07596a5fc220d49827fe6c794c66f1493d7a74f1df0640f2cc5/ipywidgets-8.1.5.tar.gz", hash = "sha256:870e43b1a35656a80c18c9503bbf2d16802db1cb487eec6fab27d683381dde17", size = 116723 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/22/2d/9c0b76f2f9cc0ebede1b9371b6f317243028ed60b90705863d493bae622e/ipywidgets-8.1.5-py3-none-any.whl", hash = "sha256:3290f526f87ae6e77655555baba4f36681c555b8bdbbff430b70e52c34c86245", size = 139767 }, +] + +[[package]] +name = "isoduration" +version = "20.11.0" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "arrow" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/7c/1a/3c8edc664e06e6bd06cce40c6b22da5f1429aa4224d0c590f3be21c91ead/isoduration-20.11.0.tar.gz", hash = "sha256:ac2f9015137935279eac671f94f89eb00584f940f5dc49462a0c4ee692ba1bd9", size = 11649 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/7b/55/e5326141505c5d5e34c5e0935d2908a74e4561eca44108fbfb9c13d2911a/isoduration-20.11.0-py3-none-any.whl", hash = "sha256:b2904c2a4228c3d44f409c8ae8e2370eb21a26f7ac2ec5446df141dde3452042", size = 11321 }, +] + +[[package]] +name = "jaraco-classes" +version = "3.4.0" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "more-itertools" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/06/c0/ed4a27bc5571b99e3cff68f8a9fa5b56ff7df1c2251cc715a652ddd26402/jaraco.classes-3.4.0.tar.gz", hash = "sha256:47a024b51d0239c0dd8c8540c6c7f484be3b8fcf0b2d85c13825780d3b3f3acd", size = 11780 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/7f/66/b15ce62552d84bbfcec9a4873ab79d993a1dd4edb922cbfccae192bd5b5f/jaraco.classes-3.4.0-py3-none-any.whl", hash = "sha256:f662826b6bed8cace05e7ff873ce0f9283b5c924470fe664fff1c2f00f581790", size = 6777 }, +] + +[[package]] +name = "jaraco-context" +version = "6.0.1" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "backports-tarfile", marker = "python_full_version < '3.12'" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/df/ad/f3777b81bf0b6e7bc7514a1656d3e637b2e8e15fab2ce3235730b3e7a4e6/jaraco_context-6.0.1.tar.gz", hash = "sha256:9bae4ea555cf0b14938dc0aee7c9f32ed303aa20a3b73e7dc80111628792d1b3", size = 13912 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/ff/db/0c52c4cf5e4bd9f5d7135ec7669a3a767af21b3a308e1ed3674881e52b62/jaraco.context-6.0.1-py3-none-any.whl", hash = "sha256:f797fc481b490edb305122c9181830a3a5b76d84ef6d1aef2fb9b47ab956f9e4", size = 6825 }, +] + +[[package]] +name = "jaraco-functools" +version = "4.1.0" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "more-itertools" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/ab/23/9894b3df5d0a6eb44611c36aec777823fc2e07740dabbd0b810e19594013/jaraco_functools-4.1.0.tar.gz", hash = "sha256:70f7e0e2ae076498e212562325e805204fc092d7b4c17e0e86c959e249701a9d", size = 19159 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/9f/4f/24b319316142c44283d7540e76c7b5a6dbd5db623abd86bb7b3491c21018/jaraco.functools-4.1.0-py3-none-any.whl", hash = "sha256:ad159f13428bc4acbf5541ad6dec511f91573b90fba04df61dafa2a1231cf649", size = 10187 }, +] + +[[package]] +name = "jedi" +version = "0.19.2" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "parso" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/72/3a/79a912fbd4d8dd6fbb02bf69afd3bb72cf0c729bb3063c6f4498603db17a/jedi-0.19.2.tar.gz", hash = "sha256:4770dc3de41bde3966b02eb84fbcf557fb33cce26ad23da12c742fb50ecb11f0", size = 1231287 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/c0/5a/9cac0c82afec3d09ccd97c8b6502d48f165f9124db81b4bcb90b4af974ee/jedi-0.19.2-py2.py3-none-any.whl", hash = "sha256:a8ef22bde8490f57fe5c7681a3c83cb58874daf72b4784de3cce5b6ef6edb5b9", size = 1572278 }, +] + +[[package]] +name = "jeepney" +version = "0.8.0" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/d6/f4/154cf374c2daf2020e05c3c6a03c91348d59b23c5366e968feb198306fdf/jeepney-0.8.0.tar.gz", hash = "sha256:5efe48d255973902f6badc3ce55e2aa6c5c3b3bc642059ef3a91247bcfcc5806", size = 106005 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/ae/72/2a1e2290f1ab1e06f71f3d0f1646c9e4634e70e1d37491535e19266e8dc9/jeepney-0.8.0-py3-none-any.whl", hash = "sha256:c0a454ad016ca575060802ee4d590dd912e35c122fa04e70306de3d076cce755", size = 48435 }, +] + +[[package]] +name = "jinja2" +version = "3.1.5" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "markupsafe", version = "2.1.5", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.9'" }, + { name = "markupsafe", version = "3.0.2", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.9'" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/af/92/b3130cbbf5591acf9ade8708c365f3238046ac7cb8ccba6e81abccb0ccff/jinja2-3.1.5.tar.gz", hash = "sha256:8fefff8dc3034e27bb80d67c671eb8a9bc424c0ef4c0826edbff304cceff43bb", size = 244674 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/bd/0f/2ba5fbcd631e3e88689309dbe978c5769e883e4b84ebfe7da30b43275c5a/jinja2-3.1.5-py3-none-any.whl", hash = "sha256:aba0f4dc9ed8013c424088f68a5c226f7d6097ed89b246d7749c2ec4175c6adb", size = 134596 }, +] + +[[package]] +name = "json5" +version = "0.10.0" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/85/3d/bbe62f3d0c05a689c711cff57b2e3ac3d3e526380adb7c781989f075115c/json5-0.10.0.tar.gz", hash = "sha256:e66941c8f0a02026943c52c2eb34ebeb2a6f819a0be05920a6f5243cd30fd559", size = 48202 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/aa/42/797895b952b682c3dafe23b1834507ee7f02f4d6299b65aaa61425763278/json5-0.10.0-py3-none-any.whl", hash = "sha256:19b23410220a7271e8377f81ba8aacba2fdd56947fbb137ee5977cbe1f5e8dfa", size = 34049 }, +] + +[[package]] +name = "jsonpointer" +version = "3.0.0" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/6a/0a/eebeb1fa92507ea94016a2a790b93c2ae41a7e18778f85471dc54475ed25/jsonpointer-3.0.0.tar.gz", hash = "sha256:2b2d729f2091522d61c3b31f82e11870f60b68f43fbc705cb76bf4b832af59ef", size = 9114 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/71/92/5e77f98553e9e75130c78900d000368476aed74276eb8ae8796f65f00918/jsonpointer-3.0.0-py2.py3-none-any.whl", hash = "sha256:13e088adc14fca8b6aa8177c044e12701e6ad4b28ff10e65f2267a90109c9942", size = 7595 }, +] + +[[package]] +name = "jsonschema" +version = "4.23.0" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "attrs" }, + { name = "importlib-resources", version = "6.4.5", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.9'" }, + { name = "jsonschema-specifications", version = "2023.12.1", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.9'" }, + { name = "jsonschema-specifications", version = "2024.10.1", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.9'" }, + { name = "pkgutil-resolve-name", marker = "python_full_version < '3.9'" }, + { name = "referencing" }, + { name = "rpds-py", version = "0.20.1", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.9'" }, + { name = "rpds-py", version = "0.22.3", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.9'" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/38/2e/03362ee4034a4c917f697890ccd4aec0800ccf9ded7f511971c75451deec/jsonschema-4.23.0.tar.gz", hash = "sha256:d71497fef26351a33265337fa77ffeb82423f3ea21283cd9467bb03999266bc4", size = 325778 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/69/4a/4f9dbeb84e8850557c02365a0eee0649abe5eb1d84af92a25731c6c0f922/jsonschema-4.23.0-py3-none-any.whl", hash = "sha256:fbadb6f8b144a8f8cf9f0b89ba94501d143e50411a1278633f56a7acf7fd5566", size = 88462 }, +] + +[package.optional-dependencies] +format-nongpl = [ + { name = "fqdn" }, + { name = "idna" }, + { name = "isoduration" }, + { name = "jsonpointer" }, + { name = "rfc3339-validator" }, + { name = "rfc3986-validator" }, + { name = "uri-template" }, + { name = "webcolors", version = "24.8.0", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.9'" }, + { name = "webcolors", version = "24.11.1", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.9'" }, +] + +[[package]] +name = "jsonschema-specifications" +version = "2023.12.1" +source = { registry = "https://pypi.org/simple" } +resolution-markers = [ + "python_full_version < '3.9' and platform_machine == 'arm64' and sys_platform == 'darwin'", + "python_full_version < '3.9' and platform_machine == 'aarch64' and sys_platform == 'linux'", + "(python_full_version < '3.9' and platform_machine != 'arm64' and sys_platform == 'darwin') or (python_full_version < '3.9' and platform_machine != 'aarch64' and sys_platform == 'linux') or (python_full_version < '3.9' and sys_platform != 'darwin' and sys_platform != 'linux')", +] +dependencies = [ + { name = "importlib-resources", version = "6.4.5", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.9'" }, + { name = "referencing", marker = "python_full_version < '3.9'" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/f8/b9/cc0cc592e7c195fb8a650c1d5990b10175cf13b4c97465c72ec841de9e4b/jsonschema_specifications-2023.12.1.tar.gz", hash = "sha256:48a76787b3e70f5ed53f1160d2b81f586e4ca6d1548c5de7085d1682674764cc", size = 13983 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/ee/07/44bd408781594c4d0a027666ef27fab1e441b109dc3b76b4f836f8fd04fe/jsonschema_specifications-2023.12.1-py3-none-any.whl", hash = "sha256:87e4fdf3a94858b8a2ba2778d9ba57d8a9cafca7c7489c46ba0d30a8bc6a9c3c", size = 18482 }, +] + +[[package]] +name = "jsonschema-specifications" +version = "2024.10.1" +source = { registry = "https://pypi.org/simple" } +resolution-markers = [ + "python_full_version >= '3.13' and sys_platform == 'darwin'", + "python_full_version >= '3.13' and platform_machine == 'aarch64' and sys_platform == 'linux'", + "(python_full_version >= '3.13' and platform_machine != 'aarch64' and sys_platform == 'linux') or (python_full_version >= '3.13' and sys_platform != 'darwin' and sys_platform != 'linux')", + "python_full_version == '3.12.*' and sys_platform == 'darwin'", + "python_full_version == '3.12.*' and platform_machine == 'aarch64' and sys_platform == 'linux'", + "(python_full_version == '3.12.*' and platform_machine != 'aarch64' and sys_platform == 'linux') or (python_full_version == '3.12.*' and sys_platform != 'darwin' and sys_platform != 'linux')", + "python_full_version == '3.11.*' and sys_platform == 'darwin'", + "python_full_version == '3.11.*' and platform_machine == 'aarch64' and sys_platform == 'linux'", + "(python_full_version == '3.11.*' and platform_machine != 'aarch64' and sys_platform == 'linux') or (python_full_version == '3.11.*' and sys_platform != 'darwin' and sys_platform != 'linux')", + "python_full_version == '3.10.*' and sys_platform == 'darwin'", + "python_full_version == '3.10.*' and platform_machine == 'aarch64' and sys_platform == 'linux'", + "(python_full_version == '3.10.*' and platform_machine != 'aarch64' and sys_platform == 'linux') or (python_full_version == '3.10.*' and sys_platform != 'darwin' and sys_platform != 'linux')", + "python_full_version == '3.9.*' and platform_machine == 'arm64' and sys_platform == 'darwin'", + "python_full_version == '3.9.*' and platform_machine == 'aarch64' and sys_platform == 'linux'", + "(python_full_version == '3.9.*' and platform_machine != 'arm64' and sys_platform == 'darwin') or (python_full_version == '3.9.*' and platform_machine != 'aarch64' and sys_platform == 'linux') or (python_full_version == '3.9.*' and sys_platform != 'darwin' and sys_platform != 'linux')", +] +dependencies = [ + { name = "referencing", marker = "python_full_version >= '3.9'" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/10/db/58f950c996c793472e336ff3655b13fbcf1e3b359dcf52dcf3ed3b52c352/jsonschema_specifications-2024.10.1.tar.gz", hash = "sha256:0f38b83639958ce1152d02a7f062902c41c8fd20d558b0c34344292d417ae272", size = 15561 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/d1/0f/8910b19ac0670a0f80ce1008e5e751c4a57e14d2c4c13a482aa6079fa9d6/jsonschema_specifications-2024.10.1-py3-none-any.whl", hash = "sha256:a09a0680616357d9a0ecf05c12ad234479f549239d0f5b55f3deea67475da9bf", size = 18459 }, +] + +[[package]] +name = "jupyter-client" +version = "8.6.3" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "importlib-metadata", marker = "python_full_version < '3.10'" }, + { name = "jupyter-core" }, + { name = "python-dateutil" }, + { name = "pyzmq" }, + { name = "tornado" }, + { name = "traitlets" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/71/22/bf9f12fdaeae18019a468b68952a60fe6dbab5d67cd2a103cac7659b41ca/jupyter_client-8.6.3.tar.gz", hash = "sha256:35b3a0947c4a6e9d589eb97d7d4cd5e90f910ee73101611f01283732bd6d9419", size = 342019 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/11/85/b0394e0b6fcccd2c1eeefc230978a6f8cb0c5df1e4cd3e7625735a0d7d1e/jupyter_client-8.6.3-py3-none-any.whl", hash = "sha256:e8a19cc986cc45905ac3362915f410f3af85424b4c0905e94fa5f2cb08e8f23f", size = 106105 }, +] + +[[package]] +name = "jupyter-core" +version = "5.7.2" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "platformdirs" }, + { name = "pywin32", marker = "platform_python_implementation != 'PyPy' and sys_platform == 'win32'" }, + { name = "traitlets" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/00/11/b56381fa6c3f4cc5d2cf54a7dbf98ad9aa0b339ef7a601d6053538b079a7/jupyter_core-5.7.2.tar.gz", hash = "sha256:aa5f8d32bbf6b431ac830496da7392035d6f61b4f54872f15c4bd2a9c3f536d9", size = 87629 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/c9/fb/108ecd1fe961941959ad0ee4e12ee7b8b1477247f30b1fdfd83ceaf017f0/jupyter_core-5.7.2-py3-none-any.whl", hash = "sha256:4f7315d2f6b4bcf2e3e7cb6e46772eba760ae459cd1f59d29eb57b0a01bd7409", size = 28965 }, +] + +[[package]] +name = "jupyter-events" +version = "0.10.0" +source = { registry = "https://pypi.org/simple" } +resolution-markers = [ + "python_full_version < '3.9' and platform_machine == 'arm64' and sys_platform == 'darwin'", + "python_full_version < '3.9' and platform_machine == 'aarch64' and sys_platform == 'linux'", + "(python_full_version < '3.9' and platform_machine != 'arm64' and sys_platform == 'darwin') or (python_full_version < '3.9' and platform_machine != 'aarch64' and sys_platform == 'linux') or (python_full_version < '3.9' and sys_platform != 'darwin' and sys_platform != 'linux')", +] +dependencies = [ + { name = "jsonschema", extra = ["format-nongpl"], marker = "python_full_version < '3.9'" }, + { name = "python-json-logger", marker = "python_full_version < '3.9'" }, + { name = "pyyaml", marker = "python_full_version < '3.9'" }, + { name = "referencing", marker = "python_full_version < '3.9'" }, + { name = "rfc3339-validator", marker = "python_full_version < '3.9'" }, + { name = "rfc3986-validator", marker = "python_full_version < '3.9'" }, + { name = "traitlets", marker = "python_full_version < '3.9'" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/8d/53/7537a1aa558229bb0b1b178d814c9d68a9c697d3aecb808a1cb2646acf1f/jupyter_events-0.10.0.tar.gz", hash = "sha256:670b8229d3cc882ec782144ed22e0d29e1c2d639263f92ca8383e66682845e22", size = 61516 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/a5/94/059180ea70a9a326e1815176b2370da56376da347a796f8c4f0b830208ef/jupyter_events-0.10.0-py3-none-any.whl", hash = "sha256:4b72130875e59d57716d327ea70d3ebc3af1944d3717e5a498b8a06c6c159960", size = 18777 }, +] + +[[package]] +name = "jupyter-events" +version = "0.11.0" +source = { registry = "https://pypi.org/simple" } +resolution-markers = [ + "python_full_version >= '3.13' and sys_platform == 'darwin'", + "python_full_version >= '3.13' and platform_machine == 'aarch64' and sys_platform == 'linux'", + "(python_full_version >= '3.13' and platform_machine != 'aarch64' and sys_platform == 'linux') or (python_full_version >= '3.13' and sys_platform != 'darwin' and sys_platform != 'linux')", + "python_full_version == '3.12.*' and sys_platform == 'darwin'", + "python_full_version == '3.12.*' and platform_machine == 'aarch64' and sys_platform == 'linux'", + "(python_full_version == '3.12.*' and platform_machine != 'aarch64' and sys_platform == 'linux') or (python_full_version == '3.12.*' and sys_platform != 'darwin' and sys_platform != 'linux')", + "python_full_version == '3.11.*' and sys_platform == 'darwin'", + "python_full_version == '3.11.*' and platform_machine == 'aarch64' and sys_platform == 'linux'", + "(python_full_version == '3.11.*' and platform_machine != 'aarch64' and sys_platform == 'linux') or (python_full_version == '3.11.*' and sys_platform != 'darwin' and sys_platform != 'linux')", + "python_full_version == '3.10.*' and sys_platform == 'darwin'", + "python_full_version == '3.10.*' and platform_machine == 'aarch64' and sys_platform == 'linux'", + "(python_full_version == '3.10.*' and platform_machine != 'aarch64' and sys_platform == 'linux') or (python_full_version == '3.10.*' and sys_platform != 'darwin' and sys_platform != 'linux')", + "python_full_version == '3.9.*' and platform_machine == 'arm64' and sys_platform == 'darwin'", + "python_full_version == '3.9.*' and platform_machine == 'aarch64' and sys_platform == 'linux'", + "(python_full_version == '3.9.*' and platform_machine != 'arm64' and sys_platform == 'darwin') or (python_full_version == '3.9.*' and platform_machine != 'aarch64' and sys_platform == 'linux') or (python_full_version == '3.9.*' and sys_platform != 'darwin' and sys_platform != 'linux')", +] +dependencies = [ + { name = "jsonschema", extra = ["format-nongpl"], marker = "python_full_version >= '3.9'" }, + { name = "python-json-logger", marker = "python_full_version >= '3.9'" }, + { name = "pyyaml", marker = "python_full_version >= '3.9'" }, + { name = "referencing", marker = "python_full_version >= '3.9'" }, + { name = "rfc3339-validator", marker = "python_full_version >= '3.9'" }, + { name = "rfc3986-validator", marker = "python_full_version >= '3.9'" }, + { name = "traitlets", marker = "python_full_version >= '3.9'" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/f4/65/5791c8a979b5646ca29ea50e42b6708908b789f7ff389d1a03c1b93a1c54/jupyter_events-0.11.0.tar.gz", hash = "sha256:c0bc56a37aac29c1fbc3bcfbddb8c8c49533f9cf11f1c4e6adadba936574ab90", size = 62039 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/3f/8c/9b65cb2cd4ea32d885993d5542244641590530836802a2e8c7449a4c61c9/jupyter_events-0.11.0-py3-none-any.whl", hash = "sha256:36399b41ce1ca45fe8b8271067d6a140ffa54cec4028e95491c93b78a855cacf", size = 19423 }, +] + +[[package]] +name = "jupyter-lsp" +version = "2.2.5" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "importlib-metadata", marker = "python_full_version < '3.10'" }, + { name = "jupyter-server", version = "2.14.2", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.9'" }, + { name = "jupyter-server", version = "2.15.0", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.9'" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/85/b4/3200b0b09c12bc3b72d943d923323c398eff382d1dcc7c0dbc8b74630e40/jupyter-lsp-2.2.5.tar.gz", hash = "sha256:793147a05ad446f809fd53ef1cd19a9f5256fd0a2d6b7ce943a982cb4f545001", size = 48741 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/07/e0/7bd7cff65594fd9936e2f9385701e44574fc7d721331ff676ce440b14100/jupyter_lsp-2.2.5-py3-none-any.whl", hash = "sha256:45fbddbd505f3fbfb0b6cb2f1bc5e15e83ab7c79cd6e89416b248cb3c00c11da", size = 69146 }, +] + +[[package]] +name = "jupyter-server" +version = "2.14.2" +source = { registry = "https://pypi.org/simple" } +resolution-markers = [ + "python_full_version < '3.9' and platform_machine == 'arm64' and sys_platform == 'darwin'", + "python_full_version < '3.9' and platform_machine == 'aarch64' and sys_platform == 'linux'", + "(python_full_version < '3.9' and platform_machine != 'arm64' and sys_platform == 'darwin') or (python_full_version < '3.9' and platform_machine != 'aarch64' and sys_platform == 'linux') or (python_full_version < '3.9' and sys_platform != 'darwin' and sys_platform != 'linux')", +] +dependencies = [ + { name = "anyio", version = "4.5.2", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.9'" }, + { name = "argon2-cffi", marker = "python_full_version < '3.9'" }, + { name = "jinja2", marker = "python_full_version < '3.9'" }, + { name = "jupyter-client", marker = "python_full_version < '3.9'" }, + { name = "jupyter-core", marker = "python_full_version < '3.9'" }, + { name = "jupyter-events", version = "0.10.0", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.9'" }, + { name = "jupyter-server-terminals", marker = "python_full_version < '3.9'" }, + { name = "nbconvert", marker = "python_full_version < '3.9'" }, + { name = "nbformat", marker = "python_full_version < '3.9'" }, + { name = "overrides", marker = "python_full_version < '3.9'" }, + { name = "packaging", marker = "python_full_version < '3.9'" }, + { name = "prometheus-client", marker = "python_full_version < '3.9'" }, + { name = "pywinpty", marker = "(python_full_version < '3.9' and os_name == 'nt' and platform_machine != 'arm64' and sys_platform == 'darwin') or (python_full_version < '3.9' and os_name == 'nt' and platform_machine != 'aarch64' and sys_platform == 'linux') or (python_full_version < '3.9' and os_name == 'nt' and sys_platform != 'darwin' and sys_platform != 'linux')" }, + { name = "pyzmq", marker = "python_full_version < '3.9'" }, + { name = "send2trash", marker = "python_full_version < '3.9'" }, + { name = "terminado", marker = "python_full_version < '3.9'" }, + { name = "tornado", marker = "python_full_version < '3.9'" }, + { name = "traitlets", marker = "python_full_version < '3.9'" }, + { name = "websocket-client", marker = "python_full_version < '3.9'" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/0c/34/88b47749c7fa9358e10eac356c4b97d94a91a67d5c935a73f69bc4a31118/jupyter_server-2.14.2.tar.gz", hash = "sha256:66095021aa9638ced276c248b1d81862e4c50f292d575920bbe960de1c56b12b", size = 719933 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/57/e1/085edea6187a127ca8ea053eb01f4e1792d778b4d192c74d32eb6730fed6/jupyter_server-2.14.2-py3-none-any.whl", hash = "sha256:47ff506127c2f7851a17bf4713434208fc490955d0e8632e95014a9a9afbeefd", size = 383556 }, +] + +[[package]] +name = "jupyter-server" +version = "2.15.0" +source = { registry = "https://pypi.org/simple" } +resolution-markers = [ + "python_full_version >= '3.13' and sys_platform == 'darwin'", + "python_full_version >= '3.13' and platform_machine == 'aarch64' and sys_platform == 'linux'", + "(python_full_version >= '3.13' and platform_machine != 'aarch64' and sys_platform == 'linux') or (python_full_version >= '3.13' and sys_platform != 'darwin' and sys_platform != 'linux')", + "python_full_version == '3.12.*' and sys_platform == 'darwin'", + "python_full_version == '3.12.*' and platform_machine == 'aarch64' and sys_platform == 'linux'", + "(python_full_version == '3.12.*' and platform_machine != 'aarch64' and sys_platform == 'linux') or (python_full_version == '3.12.*' and sys_platform != 'darwin' and sys_platform != 'linux')", + "python_full_version == '3.11.*' and sys_platform == 'darwin'", + "python_full_version == '3.11.*' and platform_machine == 'aarch64' and sys_platform == 'linux'", + "(python_full_version == '3.11.*' and platform_machine != 'aarch64' and sys_platform == 'linux') or (python_full_version == '3.11.*' and sys_platform != 'darwin' and sys_platform != 'linux')", + "python_full_version == '3.10.*' and sys_platform == 'darwin'", + "python_full_version == '3.10.*' and platform_machine == 'aarch64' and sys_platform == 'linux'", + "(python_full_version == '3.10.*' and platform_machine != 'aarch64' and sys_platform == 'linux') or (python_full_version == '3.10.*' and sys_platform != 'darwin' and sys_platform != 'linux')", + "python_full_version == '3.9.*' and platform_machine == 'arm64' and sys_platform == 'darwin'", + "python_full_version == '3.9.*' and platform_machine == 'aarch64' and sys_platform == 'linux'", + "(python_full_version == '3.9.*' and platform_machine != 'arm64' and sys_platform == 'darwin') or (python_full_version == '3.9.*' and platform_machine != 'aarch64' and sys_platform == 'linux') or (python_full_version == '3.9.*' and sys_platform != 'darwin' and sys_platform != 'linux')", +] +dependencies = [ + { name = "anyio", version = "4.8.0", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.9'" }, + { name = "argon2-cffi", marker = "python_full_version >= '3.9'" }, + { name = "jinja2", marker = "python_full_version >= '3.9'" }, + { name = "jupyter-client", marker = "python_full_version >= '3.9'" }, + { name = "jupyter-core", marker = "python_full_version >= '3.9'" }, + { name = "jupyter-events", version = "0.11.0", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.9'" }, + { name = "jupyter-server-terminals", marker = "python_full_version >= '3.9'" }, + { name = "nbconvert", marker = "python_full_version >= '3.9'" }, + { name = "nbformat", marker = "python_full_version >= '3.9'" }, + { name = "overrides", marker = "python_full_version >= '3.9'" }, + { name = "packaging", marker = "python_full_version >= '3.9'" }, + { name = "prometheus-client", marker = "python_full_version >= '3.9'" }, + { name = "pywinpty", marker = "(python_full_version == '3.9.*' and os_name == 'nt' and platform_machine != 'arm64' and sys_platform == 'darwin') or (python_full_version >= '3.9' and os_name == 'nt' and platform_machine != 'aarch64' and sys_platform == 'linux') or (python_full_version >= '3.9' and os_name == 'nt' and sys_platform != 'darwin' and sys_platform != 'linux')" }, + { name = "pyzmq", marker = "python_full_version >= '3.9'" }, + { name = "send2trash", marker = "python_full_version >= '3.9'" }, + { name = "terminado", marker = "python_full_version >= '3.9'" }, + { name = "tornado", marker = "python_full_version >= '3.9'" }, + { name = "traitlets", marker = "python_full_version >= '3.9'" }, + { name = "websocket-client", marker = "python_full_version >= '3.9'" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/61/8c/df09d4ab646141f130f9977b32b206ba8615d1969b2eba6a2e84b7f89137/jupyter_server-2.15.0.tar.gz", hash = "sha256:9d446b8697b4f7337a1b7cdcac40778babdd93ba614b6d68ab1c0c918f1c4084", size = 725227 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/e2/a2/89eeaf0bb954a123a909859fa507fa86f96eb61b62dc30667b60dbd5fdaf/jupyter_server-2.15.0-py3-none-any.whl", hash = "sha256:872d989becf83517012ee669f09604aa4a28097c0bd90b2f424310156c2cdae3", size = 385826 }, +] + +[[package]] +name = "jupyter-server-terminals" +version = "0.5.3" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "pywinpty", marker = "(python_full_version < '3.10' and os_name == 'nt' and platform_machine != 'arm64' and sys_platform == 'darwin') or (os_name == 'nt' and platform_machine != 'aarch64' and sys_platform == 'linux') or (os_name == 'nt' and sys_platform != 'darwin' and sys_platform != 'linux')" }, + { name = "terminado" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/fc/d5/562469734f476159e99a55426d697cbf8e7eb5efe89fb0e0b4f83a3d3459/jupyter_server_terminals-0.5.3.tar.gz", hash = "sha256:5ae0295167220e9ace0edcfdb212afd2b01ee8d179fe6f23c899590e9b8a5269", size = 31430 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/07/2d/2b32cdbe8d2a602f697a649798554e4f072115438e92249624e532e8aca6/jupyter_server_terminals-0.5.3-py3-none-any.whl", hash = "sha256:41ee0d7dc0ebf2809c668e0fc726dfaf258fcd3e769568996ca731b6194ae9aa", size = 13656 }, +] + +[[package]] +name = "jupyterlab" +version = "4.3.4" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "async-lru" }, + { name = "httpx" }, + { name = "importlib-metadata", marker = "python_full_version < '3.10'" }, + { name = "importlib-resources", version = "6.4.5", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.9'" }, + { name = "ipykernel" }, + { name = "jinja2" }, + { name = "jupyter-core" }, + { name = "jupyter-lsp" }, + { name = "jupyter-server", version = "2.14.2", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.9'" }, + { name = "jupyter-server", version = "2.15.0", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.9'" }, + { name = "jupyterlab-server" }, + { name = "notebook-shim" }, + { name = "packaging" }, + { name = "setuptools", version = "75.3.0", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.9'" }, + { name = "setuptools", version = "75.8.0", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.9'" }, + { name = "tomli", marker = "python_full_version < '3.11'" }, + { name = "tornado" }, + { name = "traitlets" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/a7/45/1052f842e066902b1d78126df7e2269b1b9408991e1344e167b2e429f9e1/jupyterlab-4.3.4.tar.gz", hash = "sha256:f0bb9b09a04766e3423cccc2fc23169aa2ffedcdf8713e9e0fb33cac0b6859d0", size = 21797583 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/61/48/af57263e53cfc220e522de047aa0993f53bab734fe812af1e03e33ac6d7c/jupyterlab-4.3.4-py3-none-any.whl", hash = "sha256:b754c2601c5be6adf87cb5a1d8495d653ffb945f021939f77776acaa94dae952", size = 11665373 }, +] + +[[package]] +name = "jupyterlab-pygments" +version = "0.3.0" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/90/51/9187be60d989df97f5f0aba133fa54e7300f17616e065d1ada7d7646b6d6/jupyterlab_pygments-0.3.0.tar.gz", hash = "sha256:721aca4d9029252b11cfa9d185e5b5af4d54772bb8072f9b7036f4170054d35d", size = 512900 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/b1/dd/ead9d8ea85bf202d90cc513b533f9c363121c7792674f78e0d8a854b63b4/jupyterlab_pygments-0.3.0-py3-none-any.whl", hash = "sha256:841a89020971da1d8693f1a99997aefc5dc424bb1b251fd6322462a1b8842780", size = 15884 }, +] + +[[package]] +name = "jupyterlab-server" +version = "2.27.3" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "babel" }, + { name = "importlib-metadata", marker = "python_full_version < '3.10'" }, + { name = "jinja2" }, + { name = "json5" }, + { name = "jsonschema" }, + { name = "jupyter-server", version = "2.14.2", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.9'" }, + { name = "jupyter-server", version = "2.15.0", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.9'" }, + { name = "packaging" }, + { name = "requests" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/0a/c9/a883ce65eb27905ce77ace410d83587c82ea64dc85a48d1f7ed52bcfa68d/jupyterlab_server-2.27.3.tar.gz", hash = "sha256:eb36caca59e74471988f0ae25c77945610b887f777255aa21f8065def9e51ed4", size = 76173 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/54/09/2032e7d15c544a0e3cd831c51d77a8ca57f7555b2e1b2922142eddb02a84/jupyterlab_server-2.27.3-py3-none-any.whl", hash = "sha256:e697488f66c3db49df675158a77b3b017520d772c6e1548c7d9bcc5df7944ee4", size = 59700 }, +] + +[[package]] +name = "jupyterlab-widgets" +version = "3.0.13" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/59/73/fa26bbb747a9ea4fca6b01453aa22990d52ab62dd61384f1ac0dc9d4e7ba/jupyterlab_widgets-3.0.13.tar.gz", hash = "sha256:a2966d385328c1942b683a8cd96b89b8dd82c8b8f81dda902bb2bc06d46f5bed", size = 203556 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/a9/93/858e87edc634d628e5d752ba944c2833133a28fa87bb093e6832ced36a3e/jupyterlab_widgets-3.0.13-py3-none-any.whl", hash = "sha256:e3cda2c233ce144192f1e29914ad522b2f4c40e77214b0cc97377ca3d323db54", size = 214392 }, +] + +[[package]] +name = "jupytext" +version = "1.16.6" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "markdown-it-py" }, + { name = "mdit-py-plugins" }, + { name = "nbformat" }, + { name = "packaging" }, + { name = "pyyaml" }, + { name = "tomli", marker = "python_full_version < '3.11'" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/10/e7/58d6fd374e1065d2bccefd07953d2f1f911d8de03fd7dc33dd5a25ac659c/jupytext-1.16.6.tar.gz", hash = "sha256:dbd03f9263c34b737003f388fc069e9030834fb7136879c4c32c32473557baa0", size = 3726029 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/f4/02/27191f18564d4f2c0e543643aa94b54567de58f359cd6a3bed33adb723ac/jupytext-1.16.6-py3-none-any.whl", hash = "sha256:900132031f73fee15a1c9ebd862e05eb5f51e1ad6ab3a2c6fdd97ce2f9c913b4", size = 154200 }, +] + +[[package]] +name = "keyring" +version = "25.5.0" +source = { registry = "https://pypi.org/simple" } +resolution-markers = [ + "python_full_version < '3.9' and platform_machine == 'arm64' and sys_platform == 'darwin'", + "python_full_version < '3.9' and platform_machine == 'aarch64' and sys_platform == 'linux'", + "(python_full_version < '3.9' and platform_machine != 'arm64' and sys_platform == 'darwin') or (python_full_version < '3.9' and platform_machine != 'aarch64' and sys_platform == 'linux') or (python_full_version < '3.9' and sys_platform != 'darwin' and sys_platform != 'linux')", +] +dependencies = [ + { name = "importlib-metadata", marker = "python_full_version < '3.9'" }, + { name = "importlib-resources", version = "6.4.5", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.9'" }, + { name = "jaraco-classes", marker = "python_full_version < '3.9'" }, + { name = "jaraco-context", marker = "python_full_version < '3.9'" }, + { name = "jaraco-functools", marker = "python_full_version < '3.9'" }, + { name = "jeepney", marker = "python_full_version < '3.9' and sys_platform == 'linux'" }, + { name = "pywin32-ctypes", marker = "python_full_version < '3.9' and sys_platform == 'win32'" }, + { name = "secretstorage", marker = "python_full_version < '3.9' and sys_platform == 'linux'" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/f6/24/64447b13df6a0e2797b586dad715766d756c932ce8ace7f67bd384d76ae0/keyring-25.5.0.tar.gz", hash = "sha256:4c753b3ec91717fe713c4edd522d625889d8973a349b0e582622f49766de58e6", size = 62675 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/32/c9/353c156fa2f057e669106e5d6bcdecf85ef8d3536ce68ca96f18dc7b6d6f/keyring-25.5.0-py3-none-any.whl", hash = "sha256:e67f8ac32b04be4714b42fe84ce7dad9c40985b9ca827c592cc303e7c26d9741", size = 39096 }, +] + +[[package]] +name = "keyring" +version = "25.6.0" +source = { registry = "https://pypi.org/simple" } +resolution-markers = [ + "python_full_version >= '3.13' and sys_platform == 'darwin'", + "python_full_version >= '3.13' and platform_machine == 'aarch64' and sys_platform == 'linux'", + "(python_full_version >= '3.13' and platform_machine != 'aarch64' and sys_platform == 'linux') or (python_full_version >= '3.13' and sys_platform != 'darwin' and sys_platform != 'linux')", + "python_full_version == '3.12.*' and sys_platform == 'darwin'", + "python_full_version == '3.12.*' and platform_machine == 'aarch64' and sys_platform == 'linux'", + "(python_full_version == '3.12.*' and platform_machine != 'aarch64' and sys_platform == 'linux') or (python_full_version == '3.12.*' and sys_platform != 'darwin' and sys_platform != 'linux')", + "python_full_version == '3.11.*' and sys_platform == 'darwin'", + "python_full_version == '3.11.*' and platform_machine == 'aarch64' and sys_platform == 'linux'", + "(python_full_version == '3.11.*' and platform_machine != 'aarch64' and sys_platform == 'linux') or (python_full_version == '3.11.*' and sys_platform != 'darwin' and sys_platform != 'linux')", + "python_full_version == '3.10.*' and sys_platform == 'darwin'", + "python_full_version == '3.10.*' and platform_machine == 'aarch64' and sys_platform == 'linux'", + "(python_full_version == '3.10.*' and platform_machine != 'aarch64' and sys_platform == 'linux') or (python_full_version == '3.10.*' and sys_platform != 'darwin' and sys_platform != 'linux')", + "python_full_version == '3.9.*' and platform_machine == 'arm64' and sys_platform == 'darwin'", + "python_full_version == '3.9.*' and platform_machine == 'aarch64' and sys_platform == 'linux'", + "(python_full_version == '3.9.*' and platform_machine != 'arm64' and sys_platform == 'darwin') or (python_full_version == '3.9.*' and platform_machine != 'aarch64' and sys_platform == 'linux') or (python_full_version == '3.9.*' and sys_platform != 'darwin' and sys_platform != 'linux')", +] +dependencies = [ + { name = "importlib-metadata", marker = "python_full_version >= '3.9' and python_full_version < '3.12'" }, + { name = "jaraco-classes", marker = "python_full_version >= '3.9'" }, + { name = "jaraco-context", marker = "python_full_version >= '3.9'" }, + { name = "jaraco-functools", marker = "python_full_version >= '3.9'" }, + { name = "jeepney", marker = "python_full_version >= '3.9' and sys_platform == 'linux'" }, + { name = "pywin32-ctypes", marker = "python_full_version >= '3.9' and sys_platform == 'win32'" }, + { name = "secretstorage", marker = "python_full_version >= '3.9' and sys_platform == 'linux'" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/70/09/d904a6e96f76ff214be59e7aa6ef7190008f52a0ab6689760a98de0bf37d/keyring-25.6.0.tar.gz", hash = "sha256:0b39998aa941431eb3d9b0d4b2460bc773b9df6fed7621c2dfb291a7e0187a66", size = 62750 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/d3/32/da7f44bcb1105d3e88a0b74ebdca50c59121d2ddf71c9e34ba47df7f3a56/keyring-25.6.0-py3-none-any.whl", hash = "sha256:552a3f7af126ece7ed5c89753650eec89c7eaae8617d0aa4d9ad2b75111266bd", size = 39085 }, +] + +[[package]] +name = "kiwisolver" +version = "1.4.7" +source = { registry = "https://pypi.org/simple" } +resolution-markers = [ + "python_full_version == '3.9.*' and platform_machine == 'arm64' and sys_platform == 'darwin'", + "python_full_version == '3.9.*' and platform_machine == 'aarch64' and sys_platform == 'linux'", + "(python_full_version == '3.9.*' and platform_machine != 'arm64' and sys_platform == 'darwin') or (python_full_version == '3.9.*' and platform_machine != 'aarch64' and sys_platform == 'linux') or (python_full_version == '3.9.*' and sys_platform != 'darwin' and sys_platform != 'linux')", + "python_full_version < '3.9' and platform_machine == 'arm64' and sys_platform == 'darwin'", + "python_full_version < '3.9' and platform_machine == 'aarch64' and sys_platform == 'linux'", + "(python_full_version < '3.9' and platform_machine != 'arm64' and sys_platform == 'darwin') or (python_full_version < '3.9' and platform_machine != 'aarch64' and sys_platform == 'linux') or (python_full_version < '3.9' and sys_platform != 'darwin' and sys_platform != 'linux')", +] +sdist = { url = "https://files.pythonhosted.org/packages/85/4d/2255e1c76304cbd60b48cee302b66d1dde4468dc5b1160e4b7cb43778f2a/kiwisolver-1.4.7.tar.gz", hash = "sha256:9893ff81bd7107f7b685d3017cc6583daadb4fc26e4a888350df530e41980a60", size = 97286 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/97/14/fc943dd65268a96347472b4fbe5dcc2f6f55034516f80576cd0dd3a8930f/kiwisolver-1.4.7-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:8a9c83f75223d5e48b0bc9cb1bf2776cf01563e00ade8775ffe13b0b6e1af3a6", size = 122440 }, + { url = "https://files.pythonhosted.org/packages/1e/46/e68fed66236b69dd02fcdb506218c05ac0e39745d696d22709498896875d/kiwisolver-1.4.7-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:58370b1ffbd35407444d57057b57da5d6549d2d854fa30249771775c63b5fe17", size = 65758 }, + { url = "https://files.pythonhosted.org/packages/ef/fa/65de49c85838681fc9cb05de2a68067a683717321e01ddafb5b8024286f0/kiwisolver-1.4.7-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:aa0abdf853e09aff551db11fce173e2177d00786c688203f52c87ad7fcd91ef9", size = 64311 }, + { url = "https://files.pythonhosted.org/packages/42/9c/cc8d90f6ef550f65443bad5872ffa68f3dee36de4974768628bea7c14979/kiwisolver-1.4.7-cp310-cp310-manylinux_2_12_i686.manylinux2010_i686.whl", hash = "sha256:8d53103597a252fb3ab8b5845af04c7a26d5e7ea8122303dd7a021176a87e8b9", size = 1637109 }, + { url = "https://files.pythonhosted.org/packages/55/91/0a57ce324caf2ff5403edab71c508dd8f648094b18cfbb4c8cc0fde4a6ac/kiwisolver-1.4.7-cp310-cp310-manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:88f17c5ffa8e9462fb79f62746428dd57b46eb931698e42e990ad63103f35e6c", size = 1617814 }, + { url = "https://files.pythonhosted.org/packages/12/5d/c36140313f2510e20207708adf36ae4919416d697ee0236b0ddfb6fd1050/kiwisolver-1.4.7-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:88a9ca9c710d598fd75ee5de59d5bda2684d9db36a9f50b6125eaea3969c2599", size = 1400881 }, + { url = "https://files.pythonhosted.org/packages/56/d0/786e524f9ed648324a466ca8df86298780ef2b29c25313d9a4f16992d3cf/kiwisolver-1.4.7-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:f4d742cb7af1c28303a51b7a27aaee540e71bb8e24f68c736f6f2ffc82f2bf05", size = 1512972 }, + { url = "https://files.pythonhosted.org/packages/67/5a/77851f2f201e6141d63c10a0708e996a1363efaf9e1609ad0441b343763b/kiwisolver-1.4.7-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:e28c7fea2196bf4c2f8d46a0415c77a1c480cc0724722f23d7410ffe9842c407", size = 1444787 }, + { url = "https://files.pythonhosted.org/packages/06/5f/1f5eaab84355885e224a6fc8d73089e8713dc7e91c121f00b9a1c58a2195/kiwisolver-1.4.7-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:e968b84db54f9d42046cf154e02911e39c0435c9801681e3fc9ce8a3c4130278", size = 2199212 }, + { url = "https://files.pythonhosted.org/packages/b5/28/9152a3bfe976a0ae21d445415defc9d1cd8614b2910b7614b30b27a47270/kiwisolver-1.4.7-cp310-cp310-musllinux_1_2_i686.whl", hash = "sha256:0c18ec74c0472de033e1bebb2911c3c310eef5649133dd0bedf2a169a1b269e5", size = 2346399 }, + { url = "https://files.pythonhosted.org/packages/26/f6/453d1904c52ac3b400f4d5e240ac5fec25263716723e44be65f4d7149d13/kiwisolver-1.4.7-cp310-cp310-musllinux_1_2_ppc64le.whl", hash = "sha256:8f0ea6da6d393d8b2e187e6a5e3fb81f5862010a40c3945e2c6d12ae45cfb2ad", size = 2308688 }, + { url = "https://files.pythonhosted.org/packages/5a/9a/d4968499441b9ae187e81745e3277a8b4d7c60840a52dc9d535a7909fac3/kiwisolver-1.4.7-cp310-cp310-musllinux_1_2_s390x.whl", hash = "sha256:f106407dda69ae456dd1227966bf445b157ccc80ba0dff3802bb63f30b74e895", size = 2445493 }, + { url = "https://files.pythonhosted.org/packages/07/c9/032267192e7828520dacb64dfdb1d74f292765f179e467c1cba97687f17d/kiwisolver-1.4.7-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:84ec80df401cfee1457063732d90022f93951944b5b58975d34ab56bb150dfb3", size = 2262191 }, + { url = "https://files.pythonhosted.org/packages/6c/ad/db0aedb638a58b2951da46ddaeecf204be8b4f5454df020d850c7fa8dca8/kiwisolver-1.4.7-cp310-cp310-win32.whl", hash = "sha256:71bb308552200fb2c195e35ef05de12f0c878c07fc91c270eb3d6e41698c3bcc", size = 46644 }, + { url = "https://files.pythonhosted.org/packages/12/ca/d0f7b7ffbb0be1e7c2258b53554efec1fd652921f10d7d85045aff93ab61/kiwisolver-1.4.7-cp310-cp310-win_amd64.whl", hash = "sha256:44756f9fd339de0fb6ee4f8c1696cfd19b2422e0d70b4cefc1cc7f1f64045a8c", size = 55877 }, + { url = "https://files.pythonhosted.org/packages/97/6c/cfcc128672f47a3e3c0d918ecb67830600078b025bfc32d858f2e2d5c6a4/kiwisolver-1.4.7-cp310-cp310-win_arm64.whl", hash = "sha256:78a42513018c41c2ffd262eb676442315cbfe3c44eed82385c2ed043bc63210a", size = 48347 }, + { url = "https://files.pythonhosted.org/packages/e9/44/77429fa0a58f941d6e1c58da9efe08597d2e86bf2b2cce6626834f49d07b/kiwisolver-1.4.7-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:d2b0e12a42fb4e72d509fc994713d099cbb15ebf1103545e8a45f14da2dfca54", size = 122442 }, + { url = "https://files.pythonhosted.org/packages/e5/20/8c75caed8f2462d63c7fd65e16c832b8f76cda331ac9e615e914ee80bac9/kiwisolver-1.4.7-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:2a8781ac3edc42ea4b90bc23e7d37b665d89423818e26eb6df90698aa2287c95", size = 65762 }, + { url = "https://files.pythonhosted.org/packages/f4/98/fe010f15dc7230f45bc4cf367b012d651367fd203caaa992fd1f5963560e/kiwisolver-1.4.7-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:46707a10836894b559e04b0fd143e343945c97fd170d69a2d26d640b4e297935", size = 64319 }, + { url = "https://files.pythonhosted.org/packages/8b/1b/b5d618f4e58c0675654c1e5051bcf42c776703edb21c02b8c74135541f60/kiwisolver-1.4.7-cp311-cp311-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:ef97b8df011141c9b0f6caf23b29379f87dd13183c978a30a3c546d2c47314cb", size = 1334260 }, + { url = "https://files.pythonhosted.org/packages/b8/01/946852b13057a162a8c32c4c8d2e9ed79f0bb5d86569a40c0b5fb103e373/kiwisolver-1.4.7-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:3ab58c12a2cd0fc769089e6d38466c46d7f76aced0a1f54c77652446733d2d02", size = 1426589 }, + { url = "https://files.pythonhosted.org/packages/70/d1/c9f96df26b459e15cf8a965304e6e6f4eb291e0f7a9460b4ad97b047561e/kiwisolver-1.4.7-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:803b8e1459341c1bb56d1c5c010406d5edec8a0713a0945851290a7930679b51", size = 1541080 }, + { url = "https://files.pythonhosted.org/packages/d3/73/2686990eb8b02d05f3de759d6a23a4ee7d491e659007dd4c075fede4b5d0/kiwisolver-1.4.7-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:f9a9e8a507420fe35992ee9ecb302dab68550dedc0da9e2880dd88071c5fb052", size = 1470049 }, + { url = "https://files.pythonhosted.org/packages/a7/4b/2db7af3ed3af7c35f388d5f53c28e155cd402a55432d800c543dc6deb731/kiwisolver-1.4.7-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:18077b53dc3bb490e330669a99920c5e6a496889ae8c63b58fbc57c3d7f33a18", size = 1426376 }, + { url = "https://files.pythonhosted.org/packages/05/83/2857317d04ea46dc5d115f0df7e676997bbd968ced8e2bd6f7f19cfc8d7f/kiwisolver-1.4.7-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:6af936f79086a89b3680a280c47ea90b4df7047b5bdf3aa5c524bbedddb9e545", size = 2222231 }, + { url = "https://files.pythonhosted.org/packages/0d/b5/866f86f5897cd4ab6d25d22e403404766a123f138bd6a02ecb2cdde52c18/kiwisolver-1.4.7-cp311-cp311-musllinux_1_2_i686.whl", hash = "sha256:3abc5b19d24af4b77d1598a585b8a719beb8569a71568b66f4ebe1fb0449460b", size = 2368634 }, + { url = "https://files.pythonhosted.org/packages/c1/ee/73de8385403faba55f782a41260210528fe3273d0cddcf6d51648202d6d0/kiwisolver-1.4.7-cp311-cp311-musllinux_1_2_ppc64le.whl", hash = "sha256:933d4de052939d90afbe6e9d5273ae05fb836cc86c15b686edd4b3560cc0ee36", size = 2329024 }, + { url = "https://files.pythonhosted.org/packages/a1/e7/cd101d8cd2cdfaa42dc06c433df17c8303d31129c9fdd16c0ea37672af91/kiwisolver-1.4.7-cp311-cp311-musllinux_1_2_s390x.whl", hash = "sha256:65e720d2ab2b53f1f72fb5da5fb477455905ce2c88aaa671ff0a447c2c80e8e3", size = 2468484 }, + { url = "https://files.pythonhosted.org/packages/e1/72/84f09d45a10bc57a40bb58b81b99d8f22b58b2040c912b7eb97ebf625bf2/kiwisolver-1.4.7-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:3bf1ed55088f214ba6427484c59553123fdd9b218a42bbc8c6496d6754b1e523", size = 2284078 }, + { url = "https://files.pythonhosted.org/packages/d2/d4/71828f32b956612dc36efd7be1788980cb1e66bfb3706e6dec9acad9b4f9/kiwisolver-1.4.7-cp311-cp311-win32.whl", hash = "sha256:4c00336b9dd5ad96d0a558fd18a8b6f711b7449acce4c157e7343ba92dd0cf3d", size = 46645 }, + { url = "https://files.pythonhosted.org/packages/a1/65/d43e9a20aabcf2e798ad1aff6c143ae3a42cf506754bcb6a7ed8259c8425/kiwisolver-1.4.7-cp311-cp311-win_amd64.whl", hash = "sha256:929e294c1ac1e9f615c62a4e4313ca1823ba37326c164ec720a803287c4c499b", size = 56022 }, + { url = "https://files.pythonhosted.org/packages/35/b3/9f75a2e06f1b4ca00b2b192bc2b739334127d27f1d0625627ff8479302ba/kiwisolver-1.4.7-cp311-cp311-win_arm64.whl", hash = "sha256:e33e8fbd440c917106b237ef1a2f1449dfbb9b6f6e1ce17c94cd6a1e0d438376", size = 48536 }, + { url = "https://files.pythonhosted.org/packages/97/9c/0a11c714cf8b6ef91001c8212c4ef207f772dd84540104952c45c1f0a249/kiwisolver-1.4.7-cp312-cp312-macosx_10_9_universal2.whl", hash = "sha256:5360cc32706dab3931f738d3079652d20982511f7c0ac5711483e6eab08efff2", size = 121808 }, + { url = "https://files.pythonhosted.org/packages/f2/d8/0fe8c5f5d35878ddd135f44f2af0e4e1d379e1c7b0716f97cdcb88d4fd27/kiwisolver-1.4.7-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:942216596dc64ddb25adb215c3c783215b23626f8d84e8eff8d6d45c3f29f75a", size = 65531 }, + { url = "https://files.pythonhosted.org/packages/80/c5/57fa58276dfdfa612241d640a64ca2f76adc6ffcebdbd135b4ef60095098/kiwisolver-1.4.7-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:48b571ecd8bae15702e4f22d3ff6a0f13e54d3d00cd25216d5e7f658242065ee", size = 63894 }, + { url = "https://files.pythonhosted.org/packages/8b/e9/26d3edd4c4ad1c5b891d8747a4f81b1b0aba9fb9721de6600a4adc09773b/kiwisolver-1.4.7-cp312-cp312-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:ad42ba922c67c5f219097b28fae965e10045ddf145d2928bfac2eb2e17673640", size = 1369296 }, + { url = "https://files.pythonhosted.org/packages/b6/67/3f4850b5e6cffb75ec40577ddf54f7b82b15269cc5097ff2e968ee32ea7d/kiwisolver-1.4.7-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:612a10bdae23404a72941a0fc8fa2660c6ea1217c4ce0dbcab8a8f6543ea9e7f", size = 1461450 }, + { url = "https://files.pythonhosted.org/packages/52/be/86cbb9c9a315e98a8dc6b1d23c43cffd91d97d49318854f9c37b0e41cd68/kiwisolver-1.4.7-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:9e838bba3a3bac0fe06d849d29772eb1afb9745a59710762e4ba3f4cb8424483", size = 1579168 }, + { url = "https://files.pythonhosted.org/packages/0f/00/65061acf64bd5fd34c1f4ae53f20b43b0a017a541f242a60b135b9d1e301/kiwisolver-1.4.7-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:22f499f6157236c19f4bbbd472fa55b063db77a16cd74d49afe28992dff8c258", size = 1507308 }, + { url = "https://files.pythonhosted.org/packages/21/e4/c0b6746fd2eb62fe702118b3ca0cb384ce95e1261cfada58ff693aeec08a/kiwisolver-1.4.7-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:693902d433cf585133699972b6d7c42a8b9f8f826ebcaf0132ff55200afc599e", size = 1464186 }, + { url = "https://files.pythonhosted.org/packages/0a/0f/529d0a9fffb4d514f2782c829b0b4b371f7f441d61aa55f1de1c614c4ef3/kiwisolver-1.4.7-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:4e77f2126c3e0b0d055f44513ed349038ac180371ed9b52fe96a32aa071a5107", size = 2247877 }, + { url = "https://files.pythonhosted.org/packages/d1/e1/66603ad779258843036d45adcbe1af0d1a889a07af4635f8b4ec7dccda35/kiwisolver-1.4.7-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:657a05857bda581c3656bfc3b20e353c232e9193eb167766ad2dc58b56504948", size = 2404204 }, + { url = "https://files.pythonhosted.org/packages/8d/61/de5fb1ca7ad1f9ab7970e340a5b833d735df24689047de6ae71ab9d8d0e7/kiwisolver-1.4.7-cp312-cp312-musllinux_1_2_ppc64le.whl", hash = "sha256:4bfa75a048c056a411f9705856abfc872558e33c055d80af6a380e3658766038", size = 2352461 }, + { url = "https://files.pythonhosted.org/packages/ba/d2/0edc00a852e369827f7e05fd008275f550353f1f9bcd55db9363d779fc63/kiwisolver-1.4.7-cp312-cp312-musllinux_1_2_s390x.whl", hash = "sha256:34ea1de54beef1c104422d210c47c7d2a4999bdecf42c7b5718fbe59a4cac383", size = 2501358 }, + { url = "https://files.pythonhosted.org/packages/84/15/adc15a483506aec6986c01fb7f237c3aec4d9ed4ac10b756e98a76835933/kiwisolver-1.4.7-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:90da3b5f694b85231cf93586dad5e90e2d71b9428f9aad96952c99055582f520", size = 2314119 }, + { url = "https://files.pythonhosted.org/packages/36/08/3a5bb2c53c89660863a5aa1ee236912269f2af8762af04a2e11df851d7b2/kiwisolver-1.4.7-cp312-cp312-win32.whl", hash = "sha256:18e0cca3e008e17fe9b164b55735a325140a5a35faad8de92dd80265cd5eb80b", size = 46367 }, + { url = "https://files.pythonhosted.org/packages/19/93/c05f0a6d825c643779fc3c70876bff1ac221f0e31e6f701f0e9578690d70/kiwisolver-1.4.7-cp312-cp312-win_amd64.whl", hash = "sha256:58cb20602b18f86f83a5c87d3ee1c766a79c0d452f8def86d925e6c60fbf7bfb", size = 55884 }, + { url = "https://files.pythonhosted.org/packages/d2/f9/3828d8f21b6de4279f0667fb50a9f5215e6fe57d5ec0d61905914f5b6099/kiwisolver-1.4.7-cp312-cp312-win_arm64.whl", hash = "sha256:f5a8b53bdc0b3961f8b6125e198617c40aeed638b387913bf1ce78afb1b0be2a", size = 48528 }, + { url = "https://files.pythonhosted.org/packages/c4/06/7da99b04259b0f18b557a4effd1b9c901a747f7fdd84cf834ccf520cb0b2/kiwisolver-1.4.7-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:2e6039dcbe79a8e0f044f1c39db1986a1b8071051efba3ee4d74f5b365f5226e", size = 121913 }, + { url = "https://files.pythonhosted.org/packages/97/f5/b8a370d1aa593c17882af0a6f6755aaecd643640c0ed72dcfd2eafc388b9/kiwisolver-1.4.7-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:a1ecf0ac1c518487d9d23b1cd7139a6a65bc460cd101ab01f1be82ecf09794b6", size = 65627 }, + { url = "https://files.pythonhosted.org/packages/2a/fc/6c0374f7503522539e2d4d1b497f5ebad3f8ed07ab51aed2af988dd0fb65/kiwisolver-1.4.7-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:7ab9ccab2b5bd5702ab0803676a580fffa2aa178c2badc5557a84cc943fcf750", size = 63888 }, + { url = "https://files.pythonhosted.org/packages/bf/3e/0b7172793d0f41cae5c923492da89a2ffcd1adf764c16159ca047463ebd3/kiwisolver-1.4.7-cp313-cp313-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:f816dd2277f8d63d79f9c8473a79fe54047bc0467754962840782c575522224d", size = 1369145 }, + { url = "https://files.pythonhosted.org/packages/77/92/47d050d6f6aced2d634258123f2688fbfef8ded3c5baf2c79d94d91f1f58/kiwisolver-1.4.7-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:cf8bcc23ceb5a1b624572a1623b9f79d2c3b337c8c455405ef231933a10da379", size = 1461448 }, + { url = "https://files.pythonhosted.org/packages/9c/1b/8f80b18e20b3b294546a1adb41701e79ae21915f4175f311a90d042301cf/kiwisolver-1.4.7-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:dea0bf229319828467d7fca8c7c189780aa9ff679c94539eed7532ebe33ed37c", size = 1578750 }, + { url = "https://files.pythonhosted.org/packages/a4/fe/fe8e72f3be0a844f257cadd72689c0848c6d5c51bc1d60429e2d14ad776e/kiwisolver-1.4.7-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:7c06a4c7cf15ec739ce0e5971b26c93638730090add60e183530d70848ebdd34", size = 1507175 }, + { url = "https://files.pythonhosted.org/packages/39/fa/cdc0b6105d90eadc3bee525fecc9179e2b41e1ce0293caaf49cb631a6aaf/kiwisolver-1.4.7-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:913983ad2deb14e66d83c28b632fd35ba2b825031f2fa4ca29675e665dfecbe1", size = 1463963 }, + { url = "https://files.pythonhosted.org/packages/6e/5c/0c03c4e542720c6177d4f408e56d1c8315899db72d46261a4e15b8b33a41/kiwisolver-1.4.7-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:5337ec7809bcd0f424c6b705ecf97941c46279cf5ed92311782c7c9c2026f07f", size = 2248220 }, + { url = "https://files.pythonhosted.org/packages/3d/ee/55ef86d5a574f4e767df7da3a3a7ff4954c996e12d4fbe9c408170cd7dcc/kiwisolver-1.4.7-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:4c26ed10c4f6fa6ddb329a5120ba3b6db349ca192ae211e882970bfc9d91420b", size = 2404463 }, + { url = "https://files.pythonhosted.org/packages/0f/6d/73ad36170b4bff4825dc588acf4f3e6319cb97cd1fb3eb04d9faa6b6f212/kiwisolver-1.4.7-cp313-cp313-musllinux_1_2_ppc64le.whl", hash = "sha256:c619b101e6de2222c1fcb0531e1b17bbffbe54294bfba43ea0d411d428618c27", size = 2352842 }, + { url = "https://files.pythonhosted.org/packages/0b/16/fa531ff9199d3b6473bb4d0f47416cdb08d556c03b8bc1cccf04e756b56d/kiwisolver-1.4.7-cp313-cp313-musllinux_1_2_s390x.whl", hash = "sha256:073a36c8273647592ea332e816e75ef8da5c303236ec0167196793eb1e34657a", size = 2501635 }, + { url = "https://files.pythonhosted.org/packages/78/7e/aa9422e78419db0cbe75fb86d8e72b433818f2e62e2e394992d23d23a583/kiwisolver-1.4.7-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:3ce6b2b0231bda412463e152fc18335ba32faf4e8c23a754ad50ffa70e4091ee", size = 2314556 }, + { url = "https://files.pythonhosted.org/packages/a8/b2/15f7f556df0a6e5b3772a1e076a9d9f6c538ce5f05bd590eca8106508e06/kiwisolver-1.4.7-cp313-cp313-win32.whl", hash = "sha256:f4c9aee212bc89d4e13f58be11a56cc8036cabad119259d12ace14b34476fd07", size = 46364 }, + { url = "https://files.pythonhosted.org/packages/0b/db/32e897e43a330eee8e4770bfd2737a9584b23e33587a0812b8e20aac38f7/kiwisolver-1.4.7-cp313-cp313-win_amd64.whl", hash = "sha256:8a3ec5aa8e38fc4c8af308917ce12c536f1c88452ce554027e55b22cbbfbff76", size = 55887 }, + { url = "https://files.pythonhosted.org/packages/c8/a4/df2bdca5270ca85fd25253049eb6708d4127be2ed0e5c2650217450b59e9/kiwisolver-1.4.7-cp313-cp313-win_arm64.whl", hash = "sha256:76c8094ac20ec259471ac53e774623eb62e6e1f56cd8690c67ce6ce4fcb05650", size = 48530 }, + { url = "https://files.pythonhosted.org/packages/57/d6/620247574d9e26fe24384087879e8399e309f0051782f95238090afa6ccc/kiwisolver-1.4.7-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:5d5abf8f8ec1f4e22882273c423e16cae834c36856cac348cfbfa68e01c40f3a", size = 122325 }, + { url = "https://files.pythonhosted.org/packages/bd/c6/572ad7d73dbd898cffa9050ffd7ff7e78a055a1d9b7accd6b4d1f50ec858/kiwisolver-1.4.7-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:aeb3531b196ef6f11776c21674dba836aeea9d5bd1cf630f869e3d90b16cfade", size = 65679 }, + { url = "https://files.pythonhosted.org/packages/14/a7/bb8ab10e12cc8764f4da0245d72dee4731cc720bdec0f085d5e9c6005b98/kiwisolver-1.4.7-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:b7d755065e4e866a8086c9bdada157133ff466476a2ad7861828e17b6026e22c", size = 64267 }, + { url = "https://files.pythonhosted.org/packages/54/a4/3b5a2542429e182a4df0528214e76803f79d016110f5e67c414a0357cd7d/kiwisolver-1.4.7-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:08471d4d86cbaec61f86b217dd938a83d85e03785f51121e791a6e6689a3be95", size = 1387236 }, + { url = "https://files.pythonhosted.org/packages/a6/d7/bc3005e906c1673953a3e31ee4f828157d5e07a62778d835dd937d624ea0/kiwisolver-1.4.7-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:7bbfcb7165ce3d54a3dfbe731e470f65739c4c1f85bb1018ee912bae139e263b", size = 1500555 }, + { url = "https://files.pythonhosted.org/packages/09/a7/87cb30741f13b7af08446795dca6003491755805edc9c321fe996c1320b8/kiwisolver-1.4.7-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:5d34eb8494bea691a1a450141ebb5385e4b69d38bb8403b5146ad279f4b30fa3", size = 1431684 }, + { url = "https://files.pythonhosted.org/packages/37/a4/1e4e2d8cdaa42c73d523413498445247e615334e39401ae49dae74885429/kiwisolver-1.4.7-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:9242795d174daa40105c1d86aba618e8eab7bf96ba8c3ee614da8302a9f95503", size = 1125811 }, + { url = "https://files.pythonhosted.org/packages/76/36/ae40d7a3171e06f55ac77fe5536079e7be1d8be2a8210e08975c7f9b4d54/kiwisolver-1.4.7-cp38-cp38-manylinux_2_5_x86_64.manylinux1_x86_64.whl", hash = "sha256:a0f64a48bb81af7450e641e3fe0b0394d7381e342805479178b3d335d60ca7cf", size = 1179987 }, + { url = "https://files.pythonhosted.org/packages/d8/5d/6e4894b9fdf836d8bd095729dff123bbbe6ad0346289287b45c800fae656/kiwisolver-1.4.7-cp38-cp38-musllinux_1_2_aarch64.whl", hash = "sha256:8e045731a5416357638d1700927529e2b8ab304811671f665b225f8bf8d8f933", size = 2186817 }, + { url = "https://files.pythonhosted.org/packages/f0/2d/603079b2c2fd62890be0b0ebfc8bb6dda8a5253ca0758885596565b0dfc1/kiwisolver-1.4.7-cp38-cp38-musllinux_1_2_i686.whl", hash = "sha256:4322872d5772cae7369f8351da1edf255a604ea7087fe295411397d0cfd9655e", size = 2332538 }, + { url = "https://files.pythonhosted.org/packages/bb/2a/9a28279c865c38a27960db38b07179143aafc94877945c209bfc553d9dd3/kiwisolver-1.4.7-cp38-cp38-musllinux_1_2_ppc64le.whl", hash = "sha256:e1631290ee9271dffe3062d2634c3ecac02c83890ada077d225e081aca8aab89", size = 2293890 }, + { url = "https://files.pythonhosted.org/packages/1a/4d/4da8967f3bf13c764984b8fbae330683ee5fbd555b4a5624ad2b9decc0ab/kiwisolver-1.4.7-cp38-cp38-musllinux_1_2_s390x.whl", hash = "sha256:edcfc407e4eb17e037bca59be0e85a2031a2ac87e4fed26d3e9df88b4165f92d", size = 2434677 }, + { url = "https://files.pythonhosted.org/packages/08/e9/a97a2b6b74dd850fa5974309367e025c06093a143befe9b962d0baebb4f0/kiwisolver-1.4.7-cp38-cp38-musllinux_1_2_x86_64.whl", hash = "sha256:4d05d81ecb47d11e7f8932bd8b61b720bf0b41199358f3f5e36d38e28f0532c5", size = 2250339 }, + { url = "https://files.pythonhosted.org/packages/8a/e7/55507a387ba1766e69f5e13a79e1aefabdafe0532bee5d1972dfc42b3d16/kiwisolver-1.4.7-cp38-cp38-win32.whl", hash = "sha256:b38ac83d5f04b15e515fd86f312479d950d05ce2368d5413d46c088dda7de90a", size = 46932 }, + { url = "https://files.pythonhosted.org/packages/52/77/7e04cca2ff1dc6ee6b7654cebe233de72b7a3ec5616501b6f3144fb70740/kiwisolver-1.4.7-cp38-cp38-win_amd64.whl", hash = "sha256:d83db7cde68459fc803052a55ace60bea2bae361fc3b7a6d5da07e11954e4b09", size = 55836 }, + { url = "https://files.pythonhosted.org/packages/11/88/37ea0ea64512997b13d69772db8dcdc3bfca5442cda3a5e4bb943652ee3e/kiwisolver-1.4.7-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:3f9362ecfca44c863569d3d3c033dbe8ba452ff8eed6f6b5806382741a1334bd", size = 122449 }, + { url = "https://files.pythonhosted.org/packages/4e/45/5a5c46078362cb3882dcacad687c503089263c017ca1241e0483857791eb/kiwisolver-1.4.7-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:e8df2eb9b2bac43ef8b082e06f750350fbbaf2887534a5be97f6cf07b19d9583", size = 65757 }, + { url = "https://files.pythonhosted.org/packages/8a/be/a6ae58978772f685d48dd2e84460937761c53c4bbd84e42b0336473d9775/kiwisolver-1.4.7-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:f32d6edbc638cde7652bd690c3e728b25332acbadd7cad670cc4a02558d9c417", size = 64312 }, + { url = "https://files.pythonhosted.org/packages/f4/04/18ef6f452d311e1e1eb180c9bf5589187fa1f042db877e6fe443ef10099c/kiwisolver-1.4.7-cp39-cp39-manylinux_2_12_i686.manylinux2010_i686.whl", hash = "sha256:e2e6c39bd7b9372b0be21456caab138e8e69cc0fc1190a9dfa92bd45a1e6e904", size = 1626966 }, + { url = "https://files.pythonhosted.org/packages/21/b1/40655f6c3fa11ce740e8a964fa8e4c0479c87d6a7944b95af799c7a55dfe/kiwisolver-1.4.7-cp39-cp39-manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:dda56c24d869b1193fcc763f1284b9126550eaf84b88bbc7256e15028f19188a", size = 1607044 }, + { url = "https://files.pythonhosted.org/packages/fd/93/af67dbcfb9b3323bbd2c2db1385a7139d8f77630e4a37bb945b57188eb2d/kiwisolver-1.4.7-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:79849239c39b5e1fd906556c474d9b0439ea6792b637511f3fe3a41158d89ca8", size = 1391879 }, + { url = "https://files.pythonhosted.org/packages/40/6f/d60770ef98e77b365d96061d090c0cd9e23418121c55fff188fa4bdf0b54/kiwisolver-1.4.7-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:5e3bc157fed2a4c02ec468de4ecd12a6e22818d4f09cde2c31ee3226ffbefab2", size = 1504751 }, + { url = "https://files.pythonhosted.org/packages/fa/3a/5f38667d313e983c432f3fcd86932177519ed8790c724e07d77d1de0188a/kiwisolver-1.4.7-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:3da53da805b71e41053dc670f9a820d1157aae77b6b944e08024d17bcd51ef88", size = 1436990 }, + { url = "https://files.pythonhosted.org/packages/cb/3b/1520301a47326e6a6043b502647e42892be33b3f051e9791cc8bb43f1a32/kiwisolver-1.4.7-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:8705f17dfeb43139a692298cb6637ee2e59c0194538153e83e9ee0c75c2eddde", size = 2191122 }, + { url = "https://files.pythonhosted.org/packages/cf/c4/eb52da300c166239a2233f1f9c4a1b767dfab98fae27681bfb7ea4873cb6/kiwisolver-1.4.7-cp39-cp39-musllinux_1_2_i686.whl", hash = "sha256:82a5c2f4b87c26bb1a0ef3d16b5c4753434633b83d365cc0ddf2770c93829e3c", size = 2338126 }, + { url = "https://files.pythonhosted.org/packages/1a/cb/42b92fd5eadd708dd9107c089e817945500685f3437ce1fd387efebc6d6e/kiwisolver-1.4.7-cp39-cp39-musllinux_1_2_ppc64le.whl", hash = "sha256:ce8be0466f4c0d585cdb6c1e2ed07232221df101a4c6f28821d2aa754ca2d9e2", size = 2298313 }, + { url = "https://files.pythonhosted.org/packages/4f/eb/be25aa791fe5fc75a8b1e0c965e00f942496bc04635c9aae8035f6b76dcd/kiwisolver-1.4.7-cp39-cp39-musllinux_1_2_s390x.whl", hash = "sha256:409afdfe1e2e90e6ee7fc896f3df9a7fec8e793e58bfa0d052c8a82f99c37abb", size = 2437784 }, + { url = "https://files.pythonhosted.org/packages/c5/22/30a66be7f3368d76ff95689e1c2e28d382383952964ab15330a15d8bfd03/kiwisolver-1.4.7-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:5b9c3f4ee0b9a439d2415012bd1b1cc2df59e4d6a9939f4d669241d30b414327", size = 2253988 }, + { url = "https://files.pythonhosted.org/packages/35/d3/5f2ecb94b5211c8a04f218a76133cc8d6d153b0f9cd0b45fad79907f0689/kiwisolver-1.4.7-cp39-cp39-win32.whl", hash = "sha256:a79ae34384df2b615eefca647a2873842ac3b596418032bef9a7283675962644", size = 46980 }, + { url = "https://files.pythonhosted.org/packages/ef/17/cd10d020578764ea91740204edc6b3236ed8106228a46f568d716b11feb2/kiwisolver-1.4.7-cp39-cp39-win_amd64.whl", hash = "sha256:cf0438b42121a66a3a667de17e779330fc0f20b0d97d59d2f2121e182b0505e4", size = 55847 }, + { url = "https://files.pythonhosted.org/packages/91/84/32232502020bd78d1d12be7afde15811c64a95ed1f606c10456db4e4c3ac/kiwisolver-1.4.7-cp39-cp39-win_arm64.whl", hash = "sha256:764202cc7e70f767dab49e8df52c7455e8de0df5d858fa801a11aa0d882ccf3f", size = 48494 }, + { url = "https://files.pythonhosted.org/packages/ac/59/741b79775d67ab67ced9bb38552da688c0305c16e7ee24bba7a2be253fb7/kiwisolver-1.4.7-pp310-pypy310_pp73-macosx_10_15_x86_64.whl", hash = "sha256:94252291e3fe68001b1dd747b4c0b3be12582839b95ad4d1b641924d68fd4643", size = 59491 }, + { url = "https://files.pythonhosted.org/packages/58/cc/fb239294c29a5656e99e3527f7369b174dd9cc7c3ef2dea7cb3c54a8737b/kiwisolver-1.4.7-pp310-pypy310_pp73-macosx_11_0_arm64.whl", hash = "sha256:5b7dfa3b546da08a9f622bb6becdb14b3e24aaa30adba66749d38f3cc7ea9706", size = 57648 }, + { url = "https://files.pythonhosted.org/packages/3b/ef/2f009ac1f7aab9f81efb2d837301d255279d618d27b6015780115ac64bdd/kiwisolver-1.4.7-pp310-pypy310_pp73-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:bd3de6481f4ed8b734da5df134cd5a6a64fe32124fe83dde1e5b5f29fe30b1e6", size = 84257 }, + { url = "https://files.pythonhosted.org/packages/81/e1/c64f50987f85b68b1c52b464bb5bf73e71570c0f7782d626d1eb283ad620/kiwisolver-1.4.7-pp310-pypy310_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a91b5f9f1205845d488c928e8570dcb62b893372f63b8b6e98b863ebd2368ff2", size = 80906 }, + { url = "https://files.pythonhosted.org/packages/fd/71/1687c5c0a0be2cee39a5c9c389e546f9c6e215e46b691d00d9f646892083/kiwisolver-1.4.7-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:40fa14dbd66b8b8f470d5fc79c089a66185619d31645f9b0773b88b19f7223c4", size = 79951 }, + { url = "https://files.pythonhosted.org/packages/ea/8b/d7497df4a1cae9367adf21665dd1f896c2a7aeb8769ad77b662c5e2bcce7/kiwisolver-1.4.7-pp310-pypy310_pp73-win_amd64.whl", hash = "sha256:eb542fe7933aa09d8d8f9d9097ef37532a7df6497819d16efe4359890a2f417a", size = 55715 }, + { url = "https://files.pythonhosted.org/packages/64/f3/2403d90821fffe496df16f6996cb328b90b0d80c06d2938a930a7732b4f1/kiwisolver-1.4.7-pp38-pypy38_pp73-macosx_10_9_x86_64.whl", hash = "sha256:bfa1acfa0c54932d5607e19a2c24646fb4c1ae2694437789129cf099789a3b00", size = 59662 }, + { url = "https://files.pythonhosted.org/packages/fa/7d/8f409736a4a6ac04354fa530ebf46682ddb1539b0bae15f4731ff2c575bc/kiwisolver-1.4.7-pp38-pypy38_pp73-macosx_11_0_arm64.whl", hash = "sha256:eee3ea935c3d227d49b4eb85660ff631556841f6e567f0f7bda972df6c2c9935", size = 57753 }, + { url = "https://files.pythonhosted.org/packages/4c/a5/3937c9abe8eedb1356071739ad437a0b486cbad27d54f4ec4733d24882ac/kiwisolver-1.4.7-pp38-pypy38_pp73-manylinux_2_12_i686.manylinux2010_i686.whl", hash = "sha256:f3160309af4396e0ed04db259c3ccbfdc3621b5559b5453075e5de555e1f3a1b", size = 103564 }, + { url = "https://files.pythonhosted.org/packages/b2/18/a5ae23888f010b90d5eb8d196fed30e268056b2ded54d25b38a193bb70e9/kiwisolver-1.4.7-pp38-pypy38_pp73-manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:a17f6a29cf8935e587cc8a4dbfc8368c55edc645283db0ce9801016f83526c2d", size = 95264 }, + { url = "https://files.pythonhosted.org/packages/f9/d0/c4240ae86306d4395e9701f1d7e6ddcc6d60c28cb0127139176cfcfc9ebe/kiwisolver-1.4.7-pp38-pypy38_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:10849fb2c1ecbfae45a693c070e0320a91b35dd4bcf58172c023b994283a124d", size = 78197 }, + { url = "https://files.pythonhosted.org/packages/62/db/62423f0ab66813376a35c1e7da488ebdb4e808fcb54b7cec33959717bda1/kiwisolver-1.4.7-pp38-pypy38_pp73-win_amd64.whl", hash = "sha256:ac542bf38a8a4be2dc6b15248d36315ccc65f0743f7b1a76688ffb6b5129a5c2", size = 56080 }, + { url = "https://files.pythonhosted.org/packages/d5/df/ce37d9b26f07ab90880923c94d12a6ff4d27447096b4c849bfc4339ccfdf/kiwisolver-1.4.7-pp39-pypy39_pp73-macosx_10_15_x86_64.whl", hash = "sha256:8b01aac285f91ca889c800042c35ad3b239e704b150cfd3382adfc9dcc780e39", size = 58666 }, + { url = "https://files.pythonhosted.org/packages/b0/d3/e4b04f43bc629ac8e186b77b2b1a251cdfa5b7610fa189dc0db622672ce6/kiwisolver-1.4.7-pp39-pypy39_pp73-macosx_11_0_arm64.whl", hash = "sha256:48be928f59a1f5c8207154f935334d374e79f2b5d212826307d072595ad76a2e", size = 57088 }, + { url = "https://files.pythonhosted.org/packages/30/1c/752df58e2d339e670a535514d2db4fe8c842ce459776b8080fbe08ebb98e/kiwisolver-1.4.7-pp39-pypy39_pp73-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:f37cfe618a117e50d8c240555331160d73d0411422b59b5ee217843d7b693608", size = 84321 }, + { url = "https://files.pythonhosted.org/packages/f0/f8/fe6484e847bc6e238ec9f9828089fb2c0bb53f2f5f3a79351fde5b565e4f/kiwisolver-1.4.7-pp39-pypy39_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:599b5c873c63a1f6ed7eead644a8a380cfbdf5db91dcb6f85707aaab213b1674", size = 80776 }, + { url = "https://files.pythonhosted.org/packages/9b/57/d7163c0379f250ef763aba85330a19feefb5ce6cb541ade853aaba881524/kiwisolver-1.4.7-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:801fa7802e5cfabe3ab0c81a34c323a319b097dfb5004be950482d882f3d7225", size = 79984 }, + { url = "https://files.pythonhosted.org/packages/8c/95/4a103776c265d13b3d2cd24fb0494d4e04ea435a8ef97e1b2c026d43250b/kiwisolver-1.4.7-pp39-pypy39_pp73-win_amd64.whl", hash = "sha256:0c6c43471bc764fad4bc99c5c2d6d16a676b1abf844ca7c8702bdae92df01ee0", size = 55811 }, +] + +[[package]] +name = "kiwisolver" +version = "1.4.8" +source = { registry = "https://pypi.org/simple" } +resolution-markers = [ + "python_full_version >= '3.13' and sys_platform == 'darwin'", + "python_full_version >= '3.13' and platform_machine == 'aarch64' and sys_platform == 'linux'", + "(python_full_version >= '3.13' and platform_machine != 'aarch64' and sys_platform == 'linux') or (python_full_version >= '3.13' and sys_platform != 'darwin' and sys_platform != 'linux')", + "python_full_version == '3.12.*' and sys_platform == 'darwin'", + "python_full_version == '3.12.*' and platform_machine == 'aarch64' and sys_platform == 'linux'", + "(python_full_version == '3.12.*' and platform_machine != 'aarch64' and sys_platform == 'linux') or (python_full_version == '3.12.*' and sys_platform != 'darwin' and sys_platform != 'linux')", + "python_full_version == '3.11.*' and sys_platform == 'darwin'", + "python_full_version == '3.11.*' and platform_machine == 'aarch64' and sys_platform == 'linux'", + "(python_full_version == '3.11.*' and platform_machine != 'aarch64' and sys_platform == 'linux') or (python_full_version == '3.11.*' and sys_platform != 'darwin' and sys_platform != 'linux')", + "python_full_version == '3.10.*' and sys_platform == 'darwin'", + "python_full_version == '3.10.*' and platform_machine == 'aarch64' and sys_platform == 'linux'", + "(python_full_version == '3.10.*' and platform_machine != 'aarch64' and sys_platform == 'linux') or (python_full_version == '3.10.*' and sys_platform != 'darwin' and sys_platform != 'linux')", +] +sdist = { url = "https://files.pythonhosted.org/packages/82/59/7c91426a8ac292e1cdd53a63b6d9439abd573c875c3f92c146767dd33faf/kiwisolver-1.4.8.tar.gz", hash = "sha256:23d5f023bdc8c7e54eb65f03ca5d5bb25b601eac4d7f1a042888a1f45237987e", size = 97538 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/47/5f/4d8e9e852d98ecd26cdf8eaf7ed8bc33174033bba5e07001b289f07308fd/kiwisolver-1.4.8-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:88c6f252f6816a73b1f8c904f7bbe02fd67c09a69f7cb8a0eecdbf5ce78e63db", size = 124623 }, + { url = "https://files.pythonhosted.org/packages/1d/70/7f5af2a18a76fe92ea14675f8bd88ce53ee79e37900fa5f1a1d8e0b42998/kiwisolver-1.4.8-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:c72941acb7b67138f35b879bbe85be0f6c6a70cab78fe3ef6db9c024d9223e5b", size = 66720 }, + { url = "https://files.pythonhosted.org/packages/c6/13/e15f804a142353aefd089fadc8f1d985561a15358c97aca27b0979cb0785/kiwisolver-1.4.8-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:ce2cf1e5688edcb727fdf7cd1bbd0b6416758996826a8be1d958f91880d0809d", size = 65413 }, + { url = "https://files.pythonhosted.org/packages/ce/6d/67d36c4d2054e83fb875c6b59d0809d5c530de8148846b1370475eeeece9/kiwisolver-1.4.8-cp310-cp310-manylinux_2_12_i686.manylinux2010_i686.whl", hash = "sha256:c8bf637892dc6e6aad2bc6d4d69d08764166e5e3f69d469e55427b6ac001b19d", size = 1650826 }, + { url = "https://files.pythonhosted.org/packages/de/c6/7b9bb8044e150d4d1558423a1568e4f227193662a02231064e3824f37e0a/kiwisolver-1.4.8-cp310-cp310-manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:034d2c891f76bd3edbdb3ea11140d8510dca675443da7304205a2eaa45d8334c", size = 1628231 }, + { url = "https://files.pythonhosted.org/packages/b6/38/ad10d437563063eaaedbe2c3540a71101fc7fb07a7e71f855e93ea4de605/kiwisolver-1.4.8-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d47b28d1dfe0793d5e96bce90835e17edf9a499b53969b03c6c47ea5985844c3", size = 1408938 }, + { url = "https://files.pythonhosted.org/packages/52/ce/c0106b3bd7f9e665c5f5bc1e07cc95b5dabd4e08e3dad42dbe2faad467e7/kiwisolver-1.4.8-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:eb158fe28ca0c29f2260cca8c43005329ad58452c36f0edf298204de32a9a3ed", size = 1422799 }, + { url = "https://files.pythonhosted.org/packages/d0/87/efb704b1d75dc9758087ba374c0f23d3254505edaedd09cf9d247f7878b9/kiwisolver-1.4.8-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:d5536185fce131780ebd809f8e623bf4030ce1b161353166c49a3c74c287897f", size = 1354362 }, + { url = "https://files.pythonhosted.org/packages/eb/b3/fd760dc214ec9a8f208b99e42e8f0130ff4b384eca8b29dd0efc62052176/kiwisolver-1.4.8-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:369b75d40abedc1da2c1f4de13f3482cb99e3237b38726710f4a793432b1c5ff", size = 2222695 }, + { url = "https://files.pythonhosted.org/packages/a2/09/a27fb36cca3fc01700687cc45dae7a6a5f8eeb5f657b9f710f788748e10d/kiwisolver-1.4.8-cp310-cp310-musllinux_1_2_i686.whl", hash = "sha256:641f2ddf9358c80faa22e22eb4c9f54bd3f0e442e038728f500e3b978d00aa7d", size = 2370802 }, + { url = "https://files.pythonhosted.org/packages/3d/c3/ba0a0346db35fe4dc1f2f2cf8b99362fbb922d7562e5f911f7ce7a7b60fa/kiwisolver-1.4.8-cp310-cp310-musllinux_1_2_ppc64le.whl", hash = "sha256:d561d2d8883e0819445cfe58d7ddd673e4015c3c57261d7bdcd3710d0d14005c", size = 2334646 }, + { url = "https://files.pythonhosted.org/packages/41/52/942cf69e562f5ed253ac67d5c92a693745f0bed3c81f49fc0cbebe4d6b00/kiwisolver-1.4.8-cp310-cp310-musllinux_1_2_s390x.whl", hash = "sha256:1732e065704b47c9afca7ffa272f845300a4eb959276bf6970dc07265e73b605", size = 2467260 }, + { url = "https://files.pythonhosted.org/packages/32/26/2d9668f30d8a494b0411d4d7d4ea1345ba12deb6a75274d58dd6ea01e951/kiwisolver-1.4.8-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:bcb1ebc3547619c3b58a39e2448af089ea2ef44b37988caf432447374941574e", size = 2288633 }, + { url = "https://files.pythonhosted.org/packages/98/99/0dd05071654aa44fe5d5e350729961e7bb535372935a45ac89a8924316e6/kiwisolver-1.4.8-cp310-cp310-win_amd64.whl", hash = "sha256:89c107041f7b27844179ea9c85d6da275aa55ecf28413e87624d033cf1f6b751", size = 71885 }, + { url = "https://files.pythonhosted.org/packages/6c/fc/822e532262a97442989335394d441cd1d0448c2e46d26d3e04efca84df22/kiwisolver-1.4.8-cp310-cp310-win_arm64.whl", hash = "sha256:b5773efa2be9eb9fcf5415ea3ab70fc785d598729fd6057bea38d539ead28271", size = 65175 }, + { url = "https://files.pythonhosted.org/packages/da/ed/c913ee28936c371418cb167b128066ffb20bbf37771eecc2c97edf8a6e4c/kiwisolver-1.4.8-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:a4d3601908c560bdf880f07d94f31d734afd1bb71e96585cace0e38ef44c6d84", size = 124635 }, + { url = "https://files.pythonhosted.org/packages/4c/45/4a7f896f7467aaf5f56ef093d1f329346f3b594e77c6a3c327b2d415f521/kiwisolver-1.4.8-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:856b269c4d28a5c0d5e6c1955ec36ebfd1651ac00e1ce0afa3e28da95293b561", size = 66717 }, + { url = "https://files.pythonhosted.org/packages/5f/b4/c12b3ac0852a3a68f94598d4c8d569f55361beef6159dce4e7b624160da2/kiwisolver-1.4.8-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:c2b9a96e0f326205af81a15718a9073328df1173a2619a68553decb7097fd5d7", size = 65413 }, + { url = "https://files.pythonhosted.org/packages/a9/98/1df4089b1ed23d83d410adfdc5947245c753bddfbe06541c4aae330e9e70/kiwisolver-1.4.8-cp311-cp311-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:c5020c83e8553f770cb3b5fc13faac40f17e0b205bd237aebd21d53d733adb03", size = 1343994 }, + { url = "https://files.pythonhosted.org/packages/8d/bf/b4b169b050c8421a7c53ea1ea74e4ef9c335ee9013216c558a047f162d20/kiwisolver-1.4.8-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:dace81d28c787956bfbfbbfd72fdcef014f37d9b48830829e488fdb32b49d954", size = 1434804 }, + { url = "https://files.pythonhosted.org/packages/66/5a/e13bd341fbcf73325ea60fdc8af752addf75c5079867af2e04cc41f34434/kiwisolver-1.4.8-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:11e1022b524bd48ae56c9b4f9296bce77e15a2e42a502cceba602f804b32bb79", size = 1450690 }, + { url = "https://files.pythonhosted.org/packages/9b/4f/5955dcb376ba4a830384cc6fab7d7547bd6759fe75a09564910e9e3bb8ea/kiwisolver-1.4.8-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:3b9b4d2892fefc886f30301cdd80debd8bb01ecdf165a449eb6e78f79f0fabd6", size = 1376839 }, + { url = "https://files.pythonhosted.org/packages/3a/97/5edbed69a9d0caa2e4aa616ae7df8127e10f6586940aa683a496c2c280b9/kiwisolver-1.4.8-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:3a96c0e790ee875d65e340ab383700e2b4891677b7fcd30a699146f9384a2bb0", size = 1435109 }, + { url = "https://files.pythonhosted.org/packages/13/fc/e756382cb64e556af6c1809a1bbb22c141bbc2445049f2da06b420fe52bf/kiwisolver-1.4.8-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:23454ff084b07ac54ca8be535f4174170c1094a4cff78fbae4f73a4bcc0d4dab", size = 2245269 }, + { url = "https://files.pythonhosted.org/packages/76/15/e59e45829d7f41c776d138245cabae6515cb4eb44b418f6d4109c478b481/kiwisolver-1.4.8-cp311-cp311-musllinux_1_2_i686.whl", hash = "sha256:87b287251ad6488e95b4f0b4a79a6d04d3ea35fde6340eb38fbd1ca9cd35bbbc", size = 2393468 }, + { url = "https://files.pythonhosted.org/packages/e9/39/483558c2a913ab8384d6e4b66a932406f87c95a6080112433da5ed668559/kiwisolver-1.4.8-cp311-cp311-musllinux_1_2_ppc64le.whl", hash = "sha256:b21dbe165081142b1232a240fc6383fd32cdd877ca6cc89eab93e5f5883e1c25", size = 2355394 }, + { url = "https://files.pythonhosted.org/packages/01/aa/efad1fbca6570a161d29224f14b082960c7e08268a133fe5dc0f6906820e/kiwisolver-1.4.8-cp311-cp311-musllinux_1_2_s390x.whl", hash = "sha256:768cade2c2df13db52475bd28d3a3fac8c9eff04b0e9e2fda0f3760f20b3f7fc", size = 2490901 }, + { url = "https://files.pythonhosted.org/packages/c9/4f/15988966ba46bcd5ab9d0c8296914436720dd67fca689ae1a75b4ec1c72f/kiwisolver-1.4.8-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:d47cfb2650f0e103d4bf68b0b5804c68da97272c84bb12850d877a95c056bd67", size = 2312306 }, + { url = "https://files.pythonhosted.org/packages/2d/27/bdf1c769c83f74d98cbc34483a972f221440703054894a37d174fba8aa68/kiwisolver-1.4.8-cp311-cp311-win_amd64.whl", hash = "sha256:ed33ca2002a779a2e20eeb06aea7721b6e47f2d4b8a8ece979d8ba9e2a167e34", size = 71966 }, + { url = "https://files.pythonhosted.org/packages/4a/c9/9642ea855604aeb2968a8e145fc662edf61db7632ad2e4fb92424be6b6c0/kiwisolver-1.4.8-cp311-cp311-win_arm64.whl", hash = "sha256:16523b40aab60426ffdebe33ac374457cf62863e330a90a0383639ce14bf44b2", size = 65311 }, + { url = "https://files.pythonhosted.org/packages/fc/aa/cea685c4ab647f349c3bc92d2daf7ae34c8e8cf405a6dcd3a497f58a2ac3/kiwisolver-1.4.8-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:d6af5e8815fd02997cb6ad9bbed0ee1e60014438ee1a5c2444c96f87b8843502", size = 124152 }, + { url = "https://files.pythonhosted.org/packages/c5/0b/8db6d2e2452d60d5ebc4ce4b204feeb16176a851fd42462f66ade6808084/kiwisolver-1.4.8-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:bade438f86e21d91e0cf5dd7c0ed00cda0f77c8c1616bd83f9fc157fa6760d31", size = 66555 }, + { url = "https://files.pythonhosted.org/packages/60/26/d6a0db6785dd35d3ba5bf2b2df0aedc5af089962c6eb2cbf67a15b81369e/kiwisolver-1.4.8-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:b83dc6769ddbc57613280118fb4ce3cd08899cc3369f7d0e0fab518a7cf37fdb", size = 65067 }, + { url = "https://files.pythonhosted.org/packages/c9/ed/1d97f7e3561e09757a196231edccc1bcf59d55ddccefa2afc9c615abd8e0/kiwisolver-1.4.8-cp312-cp312-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:111793b232842991be367ed828076b03d96202c19221b5ebab421ce8bcad016f", size = 1378443 }, + { url = "https://files.pythonhosted.org/packages/29/61/39d30b99954e6b46f760e6289c12fede2ab96a254c443639052d1b573fbc/kiwisolver-1.4.8-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:257af1622860e51b1a9d0ce387bf5c2c4f36a90594cb9514f55b074bcc787cfc", size = 1472728 }, + { url = "https://files.pythonhosted.org/packages/0c/3e/804163b932f7603ef256e4a715e5843a9600802bb23a68b4e08c8c0ff61d/kiwisolver-1.4.8-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:69b5637c3f316cab1ec1c9a12b8c5f4750a4c4b71af9157645bf32830e39c03a", size = 1478388 }, + { url = "https://files.pythonhosted.org/packages/8a/9e/60eaa75169a154700be74f875a4d9961b11ba048bef315fbe89cb6999056/kiwisolver-1.4.8-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:782bb86f245ec18009890e7cb8d13a5ef54dcf2ebe18ed65f795e635a96a1c6a", size = 1413849 }, + { url = "https://files.pythonhosted.org/packages/bc/b3/9458adb9472e61a998c8c4d95cfdfec91c73c53a375b30b1428310f923e4/kiwisolver-1.4.8-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:cc978a80a0db3a66d25767b03688f1147a69e6237175c0f4ffffaaedf744055a", size = 1475533 }, + { url = "https://files.pythonhosted.org/packages/e4/7a/0a42d9571e35798de80aef4bb43a9b672aa7f8e58643d7bd1950398ffb0a/kiwisolver-1.4.8-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:36dbbfd34838500a31f52c9786990d00150860e46cd5041386f217101350f0d3", size = 2268898 }, + { url = "https://files.pythonhosted.org/packages/d9/07/1255dc8d80271400126ed8db35a1795b1a2c098ac3a72645075d06fe5c5d/kiwisolver-1.4.8-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:eaa973f1e05131de5ff3569bbba7f5fd07ea0595d3870ed4a526d486fe57fa1b", size = 2425605 }, + { url = "https://files.pythonhosted.org/packages/84/df/5a3b4cf13780ef6f6942df67b138b03b7e79e9f1f08f57c49957d5867f6e/kiwisolver-1.4.8-cp312-cp312-musllinux_1_2_ppc64le.whl", hash = "sha256:a66f60f8d0c87ab7f59b6fb80e642ebb29fec354a4dfad687ca4092ae69d04f4", size = 2375801 }, + { url = "https://files.pythonhosted.org/packages/8f/10/2348d068e8b0f635c8c86892788dac7a6b5c0cb12356620ab575775aad89/kiwisolver-1.4.8-cp312-cp312-musllinux_1_2_s390x.whl", hash = "sha256:858416b7fb777a53f0c59ca08190ce24e9abbd3cffa18886a5781b8e3e26f65d", size = 2520077 }, + { url = "https://files.pythonhosted.org/packages/32/d8/014b89fee5d4dce157d814303b0fce4d31385a2af4c41fed194b173b81ac/kiwisolver-1.4.8-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:085940635c62697391baafaaeabdf3dd7a6c3643577dde337f4d66eba021b2b8", size = 2338410 }, + { url = "https://files.pythonhosted.org/packages/bd/72/dfff0cc97f2a0776e1c9eb5bef1ddfd45f46246c6533b0191887a427bca5/kiwisolver-1.4.8-cp312-cp312-win_amd64.whl", hash = "sha256:01c3d31902c7db5fb6182832713d3b4122ad9317c2c5877d0539227d96bb2e50", size = 71853 }, + { url = "https://files.pythonhosted.org/packages/dc/85/220d13d914485c0948a00f0b9eb419efaf6da81b7d72e88ce2391f7aed8d/kiwisolver-1.4.8-cp312-cp312-win_arm64.whl", hash = "sha256:a3c44cb68861de93f0c4a8175fbaa691f0aa22550c331fefef02b618a9dcb476", size = 65424 }, + { url = "https://files.pythonhosted.org/packages/79/b3/e62464a652f4f8cd9006e13d07abad844a47df1e6537f73ddfbf1bc997ec/kiwisolver-1.4.8-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:1c8ceb754339793c24aee1c9fb2485b5b1f5bb1c2c214ff13368431e51fc9a09", size = 124156 }, + { url = "https://files.pythonhosted.org/packages/8d/2d/f13d06998b546a2ad4f48607a146e045bbe48030774de29f90bdc573df15/kiwisolver-1.4.8-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:54a62808ac74b5e55a04a408cda6156f986cefbcf0ada13572696b507cc92fa1", size = 66555 }, + { url = "https://files.pythonhosted.org/packages/59/e3/b8bd14b0a54998a9fd1e8da591c60998dc003618cb19a3f94cb233ec1511/kiwisolver-1.4.8-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:68269e60ee4929893aad82666821aaacbd455284124817af45c11e50a4b42e3c", size = 65071 }, + { url = "https://files.pythonhosted.org/packages/f0/1c/6c86f6d85ffe4d0ce04228d976f00674f1df5dc893bf2dd4f1928748f187/kiwisolver-1.4.8-cp313-cp313-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:34d142fba9c464bc3bbfeff15c96eab0e7310343d6aefb62a79d51421fcc5f1b", size = 1378053 }, + { url = "https://files.pythonhosted.org/packages/4e/b9/1c6e9f6dcb103ac5cf87cb695845f5fa71379021500153566d8a8a9fc291/kiwisolver-1.4.8-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:3ddc373e0eef45b59197de815b1b28ef89ae3955e7722cc9710fb91cd77b7f47", size = 1472278 }, + { url = "https://files.pythonhosted.org/packages/ee/81/aca1eb176de671f8bda479b11acdc42c132b61a2ac861c883907dde6debb/kiwisolver-1.4.8-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:77e6f57a20b9bd4e1e2cedda4d0b986ebd0216236f0106e55c28aea3d3d69b16", size = 1478139 }, + { url = "https://files.pythonhosted.org/packages/49/f4/e081522473671c97b2687d380e9e4c26f748a86363ce5af48b4a28e48d06/kiwisolver-1.4.8-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:08e77738ed7538f036cd1170cbed942ef749137b1311fa2bbe2a7fda2f6bf3cc", size = 1413517 }, + { url = "https://files.pythonhosted.org/packages/8f/e9/6a7d025d8da8c4931522922cd706105aa32b3291d1add8c5427cdcd66e63/kiwisolver-1.4.8-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:a5ce1e481a74b44dd5e92ff03ea0cb371ae7a0268318e202be06c8f04f4f1246", size = 1474952 }, + { url = "https://files.pythonhosted.org/packages/82/13/13fa685ae167bee5d94b415991c4fc7bb0a1b6ebea6e753a87044b209678/kiwisolver-1.4.8-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:fc2ace710ba7c1dfd1a3b42530b62b9ceed115f19a1656adefce7b1782a37794", size = 2269132 }, + { url = "https://files.pythonhosted.org/packages/ef/92/bb7c9395489b99a6cb41d502d3686bac692586db2045adc19e45ee64ed23/kiwisolver-1.4.8-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:3452046c37c7692bd52b0e752b87954ef86ee2224e624ef7ce6cb21e8c41cc1b", size = 2425997 }, + { url = "https://files.pythonhosted.org/packages/ed/12/87f0e9271e2b63d35d0d8524954145837dd1a6c15b62a2d8c1ebe0f182b4/kiwisolver-1.4.8-cp313-cp313-musllinux_1_2_ppc64le.whl", hash = "sha256:7e9a60b50fe8b2ec6f448fe8d81b07e40141bfced7f896309df271a0b92f80f3", size = 2376060 }, + { url = "https://files.pythonhosted.org/packages/02/6e/c8af39288edbce8bf0fa35dee427b082758a4b71e9c91ef18fa667782138/kiwisolver-1.4.8-cp313-cp313-musllinux_1_2_s390x.whl", hash = "sha256:918139571133f366e8362fa4a297aeba86c7816b7ecf0bc79168080e2bd79957", size = 2520471 }, + { url = "https://files.pythonhosted.org/packages/13/78/df381bc7b26e535c91469f77f16adcd073beb3e2dd25042efd064af82323/kiwisolver-1.4.8-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:e063ef9f89885a1d68dd8b2e18f5ead48653176d10a0e324e3b0030e3a69adeb", size = 2338793 }, + { url = "https://files.pythonhosted.org/packages/d0/dc/c1abe38c37c071d0fc71c9a474fd0b9ede05d42f5a458d584619cfd2371a/kiwisolver-1.4.8-cp313-cp313-win_amd64.whl", hash = "sha256:a17b7c4f5b2c51bb68ed379defd608a03954a1845dfed7cc0117f1cc8a9b7fd2", size = 71855 }, + { url = "https://files.pythonhosted.org/packages/a0/b6/21529d595b126ac298fdd90b705d87d4c5693de60023e0efcb4f387ed99e/kiwisolver-1.4.8-cp313-cp313-win_arm64.whl", hash = "sha256:3cd3bc628b25f74aedc6d374d5babf0166a92ff1317f46267f12d2ed54bc1d30", size = 65430 }, + { url = "https://files.pythonhosted.org/packages/34/bd/b89380b7298e3af9b39f49334e3e2a4af0e04819789f04b43d560516c0c8/kiwisolver-1.4.8-cp313-cp313t-macosx_10_13_universal2.whl", hash = "sha256:370fd2df41660ed4e26b8c9d6bbcad668fbe2560462cba151a721d49e5b6628c", size = 126294 }, + { url = "https://files.pythonhosted.org/packages/83/41/5857dc72e5e4148eaac5aa76e0703e594e4465f8ab7ec0fc60e3a9bb8fea/kiwisolver-1.4.8-cp313-cp313t-macosx_10_13_x86_64.whl", hash = "sha256:84a2f830d42707de1d191b9490ac186bf7997a9495d4e9072210a1296345f7dc", size = 67736 }, + { url = "https://files.pythonhosted.org/packages/e1/d1/be059b8db56ac270489fb0b3297fd1e53d195ba76e9bbb30e5401fa6b759/kiwisolver-1.4.8-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:7a3ad337add5148cf51ce0b55642dc551c0b9d6248458a757f98796ca7348712", size = 66194 }, + { url = "https://files.pythonhosted.org/packages/e1/83/4b73975f149819eb7dcf9299ed467eba068ecb16439a98990dcb12e63fdd/kiwisolver-1.4.8-cp313-cp313t-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:7506488470f41169b86d8c9aeff587293f530a23a23a49d6bc64dab66bedc71e", size = 1465942 }, + { url = "https://files.pythonhosted.org/packages/c7/2c/30a5cdde5102958e602c07466bce058b9d7cb48734aa7a4327261ac8e002/kiwisolver-1.4.8-cp313-cp313t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:2f0121b07b356a22fb0414cec4666bbe36fd6d0d759db3d37228f496ed67c880", size = 1595341 }, + { url = "https://files.pythonhosted.org/packages/ff/9b/1e71db1c000385aa069704f5990574b8244cce854ecd83119c19e83c9586/kiwisolver-1.4.8-cp313-cp313t-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:d6d6bd87df62c27d4185de7c511c6248040afae67028a8a22012b010bc7ad062", size = 1598455 }, + { url = "https://files.pythonhosted.org/packages/85/92/c8fec52ddf06231b31cbb779af77e99b8253cd96bd135250b9498144c78b/kiwisolver-1.4.8-cp313-cp313t-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:291331973c64bb9cce50bbe871fb2e675c4331dab4f31abe89f175ad7679a4d7", size = 1522138 }, + { url = "https://files.pythonhosted.org/packages/0b/51/9eb7e2cd07a15d8bdd976f6190c0164f92ce1904e5c0c79198c4972926b7/kiwisolver-1.4.8-cp313-cp313t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:893f5525bb92d3d735878ec00f781b2de998333659507d29ea4466208df37bed", size = 1582857 }, + { url = "https://files.pythonhosted.org/packages/0f/95/c5a00387a5405e68ba32cc64af65ce881a39b98d73cc394b24143bebc5b8/kiwisolver-1.4.8-cp313-cp313t-musllinux_1_2_aarch64.whl", hash = "sha256:b47a465040146981dc9db8647981b8cb96366fbc8d452b031e4f8fdffec3f26d", size = 2293129 }, + { url = "https://files.pythonhosted.org/packages/44/83/eeb7af7d706b8347548313fa3a3a15931f404533cc54fe01f39e830dd231/kiwisolver-1.4.8-cp313-cp313t-musllinux_1_2_i686.whl", hash = "sha256:99cea8b9dd34ff80c521aef46a1dddb0dcc0283cf18bde6d756f1e6f31772165", size = 2421538 }, + { url = "https://files.pythonhosted.org/packages/05/f9/27e94c1b3eb29e6933b6986ffc5fa1177d2cd1f0c8efc5f02c91c9ac61de/kiwisolver-1.4.8-cp313-cp313t-musllinux_1_2_ppc64le.whl", hash = "sha256:151dffc4865e5fe6dafce5480fab84f950d14566c480c08a53c663a0020504b6", size = 2390661 }, + { url = "https://files.pythonhosted.org/packages/d9/d4/3c9735faa36ac591a4afcc2980d2691000506050b7a7e80bcfe44048daa7/kiwisolver-1.4.8-cp313-cp313t-musllinux_1_2_s390x.whl", hash = "sha256:577facaa411c10421314598b50413aa1ebcf5126f704f1e5d72d7e4e9f020d90", size = 2546710 }, + { url = "https://files.pythonhosted.org/packages/4c/fa/be89a49c640930180657482a74970cdcf6f7072c8d2471e1babe17a222dc/kiwisolver-1.4.8-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:be4816dc51c8a471749d664161b434912eee82f2ea66bd7628bd14583a833e85", size = 2349213 }, + { url = "https://files.pythonhosted.org/packages/1f/f9/ae81c47a43e33b93b0a9819cac6723257f5da2a5a60daf46aa5c7226ea85/kiwisolver-1.4.8-pp310-pypy310_pp73-macosx_10_15_x86_64.whl", hash = "sha256:e7a019419b7b510f0f7c9dceff8c5eae2392037eae483a7f9162625233802b0a", size = 60403 }, + { url = "https://files.pythonhosted.org/packages/58/ca/f92b5cb6f4ce0c1ebfcfe3e2e42b96917e16f7090e45b21102941924f18f/kiwisolver-1.4.8-pp310-pypy310_pp73-macosx_11_0_arm64.whl", hash = "sha256:286b18e86682fd2217a48fc6be6b0f20c1d0ed10958d8dc53453ad58d7be0bf8", size = 58657 }, + { url = "https://files.pythonhosted.org/packages/80/28/ae0240f732f0484d3a4dc885d055653c47144bdf59b670aae0ec3c65a7c8/kiwisolver-1.4.8-pp310-pypy310_pp73-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:4191ee8dfd0be1c3666ccbac178c5a05d5f8d689bbe3fc92f3c4abec817f8fe0", size = 84948 }, + { url = "https://files.pythonhosted.org/packages/5d/eb/78d50346c51db22c7203c1611f9b513075f35c4e0e4877c5dde378d66043/kiwisolver-1.4.8-pp310-pypy310_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:7cd2785b9391f2873ad46088ed7599a6a71e762e1ea33e87514b1a441ed1da1c", size = 81186 }, + { url = "https://files.pythonhosted.org/packages/43/f8/7259f18c77adca88d5f64f9a522792e178b2691f3748817a8750c2d216ef/kiwisolver-1.4.8-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:c07b29089b7ba090b6f1a669f1411f27221c3662b3a1b7010e67b59bb5a6f10b", size = 80279 }, + { url = "https://files.pythonhosted.org/packages/3a/1d/50ad811d1c5dae091e4cf046beba925bcae0a610e79ae4c538f996f63ed5/kiwisolver-1.4.8-pp310-pypy310_pp73-win_amd64.whl", hash = "sha256:65ea09a5a3faadd59c2ce96dc7bf0f364986a315949dc6374f04396b0d60e09b", size = 71762 }, +] + +[[package]] +name = "markdown" +version = "3.7" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "importlib-metadata", marker = "python_full_version < '3.10'" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/54/28/3af612670f82f4c056911fbbbb42760255801b3068c48de792d354ff4472/markdown-3.7.tar.gz", hash = "sha256:2ae2471477cfd02dbbf038d5d9bc226d40def84b4fe2986e49b59b6b472bbed2", size = 357086 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/3f/08/83871f3c50fc983b88547c196d11cf8c3340e37c32d2e9d6152abe2c61f7/Markdown-3.7-py3-none-any.whl", hash = "sha256:7eb6df5690b81a1d7942992c97fad2938e956e79df20cbc6186e9c3a77b1c803", size = 106349 }, +] + +[[package]] +name = "markdown-it-py" +version = "3.0.0" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "mdurl" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/38/71/3b932df36c1a044d397a1f92d1cf91ee0a503d91e470cbd670aa66b07ed0/markdown-it-py-3.0.0.tar.gz", hash = "sha256:e3f60a94fa066dc52ec76661e37c851cb232d92f9886b15cb560aaada2df8feb", size = 74596 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/42/d7/1ec15b46af6af88f19b8e5ffea08fa375d433c998b8a7639e76935c14f1f/markdown_it_py-3.0.0-py3-none-any.whl", hash = "sha256:355216845c60bd96232cd8d8c40e8f9765cc86f46880e43a8fd22dc1a1a8cab1", size = 87528 }, +] + +[[package]] +name = "markupsafe" +version = "2.1.5" +source = { registry = "https://pypi.org/simple" } +resolution-markers = [ + "python_full_version < '3.9' and platform_machine == 'arm64' and sys_platform == 'darwin'", + "python_full_version < '3.9' and platform_machine == 'aarch64' and sys_platform == 'linux'", + "(python_full_version < '3.9' and platform_machine != 'arm64' and sys_platform == 'darwin') or (python_full_version < '3.9' and platform_machine != 'aarch64' and sys_platform == 'linux') or (python_full_version < '3.9' and sys_platform != 'darwin' and sys_platform != 'linux')", +] +sdist = { url = "https://files.pythonhosted.org/packages/87/5b/aae44c6655f3801e81aa3eef09dbbf012431987ba564d7231722f68df02d/MarkupSafe-2.1.5.tar.gz", hash = "sha256:d283d37a890ba4c1ae73ffadf8046435c76e7bc2247bbb63c00bd1a709c6544b", size = 19384 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/e4/54/ad5eb37bf9d51800010a74e4665425831a9db4e7c4e0fde4352e391e808e/MarkupSafe-2.1.5-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:a17a92de5231666cfbe003f0e4b9b3a7ae3afb1ec2845aadc2bacc93ff85febc", size = 18206 }, + { url = "https://files.pythonhosted.org/packages/6a/4a/a4d49415e600bacae038c67f9fecc1d5433b9d3c71a4de6f33537b89654c/MarkupSafe-2.1.5-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:72b6be590cc35924b02c78ef34b467da4ba07e4e0f0454a2c5907f473fc50ce5", size = 14079 }, + { url = "https://files.pythonhosted.org/packages/0a/7b/85681ae3c33c385b10ac0f8dd025c30af83c78cec1c37a6aa3b55e67f5ec/MarkupSafe-2.1.5-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:e61659ba32cf2cf1481e575d0462554625196a1f2fc06a1c777d3f48e8865d46", size = 26620 }, + { url = "https://files.pythonhosted.org/packages/7c/52/2b1b570f6b8b803cef5ac28fdf78c0da318916c7d2fe9402a84d591b394c/MarkupSafe-2.1.5-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:2174c595a0d73a3080ca3257b40096db99799265e1c27cc5a610743acd86d62f", size = 25818 }, + { url = "https://files.pythonhosted.org/packages/29/fe/a36ba8c7ca55621620b2d7c585313efd10729e63ef81e4e61f52330da781/MarkupSafe-2.1.5-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:ae2ad8ae6ebee9d2d94b17fb62763125f3f374c25618198f40cbb8b525411900", size = 25493 }, + { url = "https://files.pythonhosted.org/packages/60/ae/9c60231cdfda003434e8bd27282b1f4e197ad5a710c14bee8bea8a9ca4f0/MarkupSafe-2.1.5-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:075202fa5b72c86ad32dc7d0b56024ebdbcf2048c0ba09f1cde31bfdd57bcfff", size = 30630 }, + { url = "https://files.pythonhosted.org/packages/65/dc/1510be4d179869f5dafe071aecb3f1f41b45d37c02329dfba01ff59e5ac5/MarkupSafe-2.1.5-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:598e3276b64aff0e7b3451b72e94fa3c238d452e7ddcd893c3ab324717456bad", size = 29745 }, + { url = "https://files.pythonhosted.org/packages/30/39/8d845dd7d0b0613d86e0ef89549bfb5f61ed781f59af45fc96496e897f3a/MarkupSafe-2.1.5-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:fce659a462a1be54d2ffcacea5e3ba2d74daa74f30f5f143fe0c58636e355fdd", size = 30021 }, + { url = "https://files.pythonhosted.org/packages/c7/5c/356a6f62e4f3c5fbf2602b4771376af22a3b16efa74eb8716fb4e328e01e/MarkupSafe-2.1.5-cp310-cp310-win32.whl", hash = "sha256:d9fad5155d72433c921b782e58892377c44bd6252b5af2f67f16b194987338a4", size = 16659 }, + { url = "https://files.pythonhosted.org/packages/69/48/acbf292615c65f0604a0c6fc402ce6d8c991276e16c80c46a8f758fbd30c/MarkupSafe-2.1.5-cp310-cp310-win_amd64.whl", hash = "sha256:bf50cd79a75d181c9181df03572cdce0fbb75cc353bc350712073108cba98de5", size = 17213 }, + { url = "https://files.pythonhosted.org/packages/11/e7/291e55127bb2ae67c64d66cef01432b5933859dfb7d6949daa721b89d0b3/MarkupSafe-2.1.5-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:629ddd2ca402ae6dbedfceeba9c46d5f7b2a61d9749597d4307f943ef198fc1f", size = 18219 }, + { url = "https://files.pythonhosted.org/packages/6b/cb/aed7a284c00dfa7c0682d14df85ad4955a350a21d2e3b06d8240497359bf/MarkupSafe-2.1.5-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:5b7b716f97b52c5a14bffdf688f971b2d5ef4029127f1ad7a513973cfd818df2", size = 14098 }, + { url = "https://files.pythonhosted.org/packages/1c/cf/35fe557e53709e93feb65575c93927942087e9b97213eabc3fe9d5b25a55/MarkupSafe-2.1.5-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:6ec585f69cec0aa07d945b20805be741395e28ac1627333b1c5b0105962ffced", size = 29014 }, + { url = "https://files.pythonhosted.org/packages/97/18/c30da5e7a0e7f4603abfc6780574131221d9148f323752c2755d48abad30/MarkupSafe-2.1.5-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:b91c037585eba9095565a3556f611e3cbfaa42ca1e865f7b8015fe5c7336d5a5", size = 28220 }, + { url = "https://files.pythonhosted.org/packages/0c/40/2e73e7d532d030b1e41180807a80d564eda53babaf04d65e15c1cf897e40/MarkupSafe-2.1.5-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:7502934a33b54030eaf1194c21c692a534196063db72176b0c4028e140f8f32c", size = 27756 }, + { url = "https://files.pythonhosted.org/packages/18/46/5dca760547e8c59c5311b332f70605d24c99d1303dd9a6e1fc3ed0d73561/MarkupSafe-2.1.5-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:0e397ac966fdf721b2c528cf028494e86172b4feba51d65f81ffd65c63798f3f", size = 33988 }, + { url = "https://files.pythonhosted.org/packages/6d/c5/27febe918ac36397919cd4a67d5579cbbfa8da027fa1238af6285bb368ea/MarkupSafe-2.1.5-cp311-cp311-musllinux_1_1_i686.whl", hash = "sha256:c061bb86a71b42465156a3ee7bd58c8c2ceacdbeb95d05a99893e08b8467359a", size = 32718 }, + { url = "https://files.pythonhosted.org/packages/f8/81/56e567126a2c2bc2684d6391332e357589a96a76cb9f8e5052d85cb0ead8/MarkupSafe-2.1.5-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:3a57fdd7ce31c7ff06cdfbf31dafa96cc533c21e443d57f5b1ecc6cdc668ec7f", size = 33317 }, + { url = "https://files.pythonhosted.org/packages/00/0b/23f4b2470accb53285c613a3ab9ec19dc944eaf53592cb6d9e2af8aa24cc/MarkupSafe-2.1.5-cp311-cp311-win32.whl", hash = "sha256:397081c1a0bfb5124355710fe79478cdbeb39626492b15d399526ae53422b906", size = 16670 }, + { url = "https://files.pythonhosted.org/packages/b7/a2/c78a06a9ec6d04b3445a949615c4c7ed86a0b2eb68e44e7541b9d57067cc/MarkupSafe-2.1.5-cp311-cp311-win_amd64.whl", hash = "sha256:2b7c57a4dfc4f16f7142221afe5ba4e093e09e728ca65c51f5620c9aaeb9a617", size = 17224 }, + { url = "https://files.pythonhosted.org/packages/53/bd/583bf3e4c8d6a321938c13f49d44024dbe5ed63e0a7ba127e454a66da974/MarkupSafe-2.1.5-cp312-cp312-macosx_10_9_universal2.whl", hash = "sha256:8dec4936e9c3100156f8a2dc89c4b88d5c435175ff03413b443469c7c8c5f4d1", size = 18215 }, + { url = "https://files.pythonhosted.org/packages/48/d6/e7cd795fc710292c3af3a06d80868ce4b02bfbbf370b7cee11d282815a2a/MarkupSafe-2.1.5-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:3c6b973f22eb18a789b1460b4b91bf04ae3f0c4234a0a6aa6b0a92f6f7b951d4", size = 14069 }, + { url = "https://files.pythonhosted.org/packages/51/b5/5d8ec796e2a08fc814a2c7d2584b55f889a55cf17dd1a90f2beb70744e5c/MarkupSafe-2.1.5-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:ac07bad82163452a6884fe8fa0963fb98c2346ba78d779ec06bd7a6262132aee", size = 29452 }, + { url = "https://files.pythonhosted.org/packages/0a/0d/2454f072fae3b5a137c119abf15465d1771319dfe9e4acbb31722a0fff91/MarkupSafe-2.1.5-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f5dfb42c4604dddc8e4305050aa6deb084540643ed5804d7455b5df8fe16f5e5", size = 28462 }, + { url = "https://files.pythonhosted.org/packages/2d/75/fd6cb2e68780f72d47e6671840ca517bda5ef663d30ada7616b0462ad1e3/MarkupSafe-2.1.5-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:ea3d8a3d18833cf4304cd2fc9cbb1efe188ca9b5efef2bdac7adc20594a0e46b", size = 27869 }, + { url = "https://files.pythonhosted.org/packages/b0/81/147c477391c2750e8fc7705829f7351cf1cd3be64406edcf900dc633feb2/MarkupSafe-2.1.5-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:d050b3361367a06d752db6ead6e7edeb0009be66bc3bae0ee9d97fb326badc2a", size = 33906 }, + { url = "https://files.pythonhosted.org/packages/8b/ff/9a52b71839d7a256b563e85d11050e307121000dcebc97df120176b3ad93/MarkupSafe-2.1.5-cp312-cp312-musllinux_1_1_i686.whl", hash = "sha256:bec0a414d016ac1a18862a519e54b2fd0fc8bbfd6890376898a6c0891dd82e9f", size = 32296 }, + { url = "https://files.pythonhosted.org/packages/88/07/2dc76aa51b481eb96a4c3198894f38b480490e834479611a4053fbf08623/MarkupSafe-2.1.5-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:58c98fee265677f63a4385256a6d7683ab1832f3ddd1e66fe948d5880c21a169", size = 33038 }, + { url = "https://files.pythonhosted.org/packages/96/0c/620c1fb3661858c0e37eb3cbffd8c6f732a67cd97296f725789679801b31/MarkupSafe-2.1.5-cp312-cp312-win32.whl", hash = "sha256:8590b4ae07a35970728874632fed7bd57b26b0102df2d2b233b6d9d82f6c62ad", size = 16572 }, + { url = "https://files.pythonhosted.org/packages/3f/14/c3554d512d5f9100a95e737502f4a2323a1959f6d0d01e0d0997b35f7b10/MarkupSafe-2.1.5-cp312-cp312-win_amd64.whl", hash = "sha256:823b65d8706e32ad2df51ed89496147a42a2a6e01c13cfb6ffb8b1e92bc910bb", size = 17127 }, + { url = "https://files.pythonhosted.org/packages/f8/ff/2c942a82c35a49df5de3a630ce0a8456ac2969691b230e530ac12314364c/MarkupSafe-2.1.5-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:656f7526c69fac7f600bd1f400991cc282b417d17539a1b228617081106feb4a", size = 18192 }, + { url = "https://files.pythonhosted.org/packages/4f/14/6f294b9c4f969d0c801a4615e221c1e084722ea6114ab2114189c5b8cbe0/MarkupSafe-2.1.5-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:97cafb1f3cbcd3fd2b6fbfb99ae11cdb14deea0736fc2b0952ee177f2b813a46", size = 14072 }, + { url = "https://files.pythonhosted.org/packages/81/d4/fd74714ed30a1dedd0b82427c02fa4deec64f173831ec716da11c51a50aa/MarkupSafe-2.1.5-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:1f3fbcb7ef1f16e48246f704ab79d79da8a46891e2da03f8783a5b6fa41a9532", size = 26928 }, + { url = "https://files.pythonhosted.org/packages/c7/bd/50319665ce81bb10e90d1cf76f9e1aa269ea6f7fa30ab4521f14d122a3df/MarkupSafe-2.1.5-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:fa9db3f79de01457b03d4f01b34cf91bc0048eb2c3846ff26f66687c2f6d16ab", size = 26106 }, + { url = "https://files.pythonhosted.org/packages/4c/6f/f2b0f675635b05f6afd5ea03c094557bdb8622fa8e673387444fe8d8e787/MarkupSafe-2.1.5-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:ffee1f21e5ef0d712f9033568f8344d5da8cc2869dbd08d87c84656e6a2d2f68", size = 25781 }, + { url = "https://files.pythonhosted.org/packages/51/e0/393467cf899b34a9d3678e78961c2c8cdf49fb902a959ba54ece01273fb1/MarkupSafe-2.1.5-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:5dedb4db619ba5a2787a94d877bc8ffc0566f92a01c0ef214865e54ecc9ee5e0", size = 30518 }, + { url = "https://files.pythonhosted.org/packages/f6/02/5437e2ad33047290dafced9df741d9efc3e716b75583bbd73a9984f1b6f7/MarkupSafe-2.1.5-cp38-cp38-musllinux_1_1_i686.whl", hash = "sha256:30b600cf0a7ac9234b2638fbc0fb6158ba5bdcdf46aeb631ead21248b9affbc4", size = 29669 }, + { url = "https://files.pythonhosted.org/packages/0e/7d/968284145ffd9d726183ed6237c77938c021abacde4e073020f920e060b2/MarkupSafe-2.1.5-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:8dd717634f5a044f860435c1d8c16a270ddf0ef8588d4887037c5028b859b0c3", size = 29933 }, + { url = "https://files.pythonhosted.org/packages/bf/f3/ecb00fc8ab02b7beae8699f34db9357ae49d9f21d4d3de6f305f34fa949e/MarkupSafe-2.1.5-cp38-cp38-win32.whl", hash = "sha256:daa4ee5a243f0f20d528d939d06670a298dd39b1ad5f8a72a4275124a7819eff", size = 16656 }, + { url = "https://files.pythonhosted.org/packages/92/21/357205f03514a49b293e214ac39de01fadd0970a6e05e4bf1ddd0ffd0881/MarkupSafe-2.1.5-cp38-cp38-win_amd64.whl", hash = "sha256:619bc166c4f2de5caa5a633b8b7326fbe98e0ccbfacabd87268a2b15ff73a029", size = 17206 }, + { url = "https://files.pythonhosted.org/packages/0f/31/780bb297db036ba7b7bbede5e1d7f1e14d704ad4beb3ce53fb495d22bc62/MarkupSafe-2.1.5-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:7a68b554d356a91cce1236aa7682dc01df0edba8d043fd1ce607c49dd3c1edcf", size = 18193 }, + { url = "https://files.pythonhosted.org/packages/6c/77/d77701bbef72892affe060cdacb7a2ed7fd68dae3b477a8642f15ad3b132/MarkupSafe-2.1.5-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:db0b55e0f3cc0be60c1f19efdde9a637c32740486004f20d1cff53c3c0ece4d2", size = 14073 }, + { url = "https://files.pythonhosted.org/packages/d9/a7/1e558b4f78454c8a3a0199292d96159eb4d091f983bc35ef258314fe7269/MarkupSafe-2.1.5-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:3e53af139f8579a6d5f7b76549125f0d94d7e630761a2111bc431fd820e163b8", size = 26486 }, + { url = "https://files.pythonhosted.org/packages/5f/5a/360da85076688755ea0cceb92472923086993e86b5613bbae9fbc14136b0/MarkupSafe-2.1.5-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:17b950fccb810b3293638215058e432159d2b71005c74371d784862b7e4683f3", size = 25685 }, + { url = "https://files.pythonhosted.org/packages/6a/18/ae5a258e3401f9b8312f92b028c54d7026a97ec3ab20bfaddbdfa7d8cce8/MarkupSafe-2.1.5-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:4c31f53cdae6ecfa91a77820e8b151dba54ab528ba65dfd235c80b086d68a465", size = 25338 }, + { url = "https://files.pythonhosted.org/packages/0b/cc/48206bd61c5b9d0129f4d75243b156929b04c94c09041321456fd06a876d/MarkupSafe-2.1.5-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:bff1b4290a66b490a2f4719358c0cdcd9bafb6b8f061e45c7a2460866bf50c2e", size = 30439 }, + { url = "https://files.pythonhosted.org/packages/d1/06/a41c112ab9ffdeeb5f77bc3e331fdadf97fa65e52e44ba31880f4e7f983c/MarkupSafe-2.1.5-cp39-cp39-musllinux_1_1_i686.whl", hash = "sha256:bc1667f8b83f48511b94671e0e441401371dfd0f0a795c7daa4a3cd1dde55bea", size = 29531 }, + { url = "https://files.pythonhosted.org/packages/02/8c/ab9a463301a50dab04d5472e998acbd4080597abc048166ded5c7aa768c8/MarkupSafe-2.1.5-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:5049256f536511ee3f7e1b3f87d1d1209d327e818e6ae1365e8653d7e3abb6a6", size = 29823 }, + { url = "https://files.pythonhosted.org/packages/bc/29/9bc18da763496b055d8e98ce476c8e718dcfd78157e17f555ce6dd7d0895/MarkupSafe-2.1.5-cp39-cp39-win32.whl", hash = "sha256:00e046b6dd71aa03a41079792f8473dc494d564611a8f89bbbd7cb93295ebdcf", size = 16658 }, + { url = "https://files.pythonhosted.org/packages/f6/f8/4da07de16f10551ca1f640c92b5f316f9394088b183c6a57183df6de5ae4/MarkupSafe-2.1.5-cp39-cp39-win_amd64.whl", hash = "sha256:fa173ec60341d6bb97a89f5ea19c85c5643c1e7dedebc22f5181eb73573142c5", size = 17211 }, +] + +[[package]] +name = "markupsafe" +version = "3.0.2" +source = { registry = "https://pypi.org/simple" } +resolution-markers = [ + "python_full_version >= '3.13' and sys_platform == 'darwin'", + "python_full_version >= '3.13' and platform_machine == 'aarch64' and sys_platform == 'linux'", + "(python_full_version >= '3.13' and platform_machine != 'aarch64' and sys_platform == 'linux') or (python_full_version >= '3.13' and sys_platform != 'darwin' and sys_platform != 'linux')", + "python_full_version == '3.12.*' and sys_platform == 'darwin'", + "python_full_version == '3.12.*' and platform_machine == 'aarch64' and sys_platform == 'linux'", + "(python_full_version == '3.12.*' and platform_machine != 'aarch64' and sys_platform == 'linux') or (python_full_version == '3.12.*' and sys_platform != 'darwin' and sys_platform != 'linux')", + "python_full_version == '3.11.*' and sys_platform == 'darwin'", + "python_full_version == '3.11.*' and platform_machine == 'aarch64' and sys_platform == 'linux'", + "(python_full_version == '3.11.*' and platform_machine != 'aarch64' and sys_platform == 'linux') or (python_full_version == '3.11.*' and sys_platform != 'darwin' and sys_platform != 'linux')", + "python_full_version == '3.10.*' and sys_platform == 'darwin'", + "python_full_version == '3.10.*' and platform_machine == 'aarch64' and sys_platform == 'linux'", + "(python_full_version == '3.10.*' and platform_machine != 'aarch64' and sys_platform == 'linux') or (python_full_version == '3.10.*' and sys_platform != 'darwin' and sys_platform != 'linux')", + "python_full_version == '3.9.*' and platform_machine == 'arm64' and sys_platform == 'darwin'", + "python_full_version == '3.9.*' and platform_machine == 'aarch64' and sys_platform == 'linux'", + "(python_full_version == '3.9.*' and platform_machine != 'arm64' and sys_platform == 'darwin') or (python_full_version == '3.9.*' and platform_machine != 'aarch64' and sys_platform == 'linux') or (python_full_version == '3.9.*' and sys_platform != 'darwin' and sys_platform != 'linux')", +] +sdist = { url = "https://files.pythonhosted.org/packages/b2/97/5d42485e71dfc078108a86d6de8fa46db44a1a9295e89c5d6d4a06e23a62/markupsafe-3.0.2.tar.gz", hash = "sha256:ee55d3edf80167e48ea11a923c7386f4669df67d7994554387f84e7d8b0a2bf0", size = 20537 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/04/90/d08277ce111dd22f77149fd1a5d4653eeb3b3eaacbdfcbae5afb2600eebd/MarkupSafe-3.0.2-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:7e94c425039cde14257288fd61dcfb01963e658efbc0ff54f5306b06054700f8", size = 14357 }, + { url = "https://files.pythonhosted.org/packages/04/e1/6e2194baeae0bca1fae6629dc0cbbb968d4d941469cbab11a3872edff374/MarkupSafe-3.0.2-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:9e2d922824181480953426608b81967de705c3cef4d1af983af849d7bd619158", size = 12393 }, + { url = "https://files.pythonhosted.org/packages/1d/69/35fa85a8ece0a437493dc61ce0bb6d459dcba482c34197e3efc829aa357f/MarkupSafe-3.0.2-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:38a9ef736c01fccdd6600705b09dc574584b89bea478200c5fbf112a6b0d5579", size = 21732 }, + { url = "https://files.pythonhosted.org/packages/22/35/137da042dfb4720b638d2937c38a9c2df83fe32d20e8c8f3185dbfef05f7/MarkupSafe-3.0.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:bbcb445fa71794da8f178f0f6d66789a28d7319071af7a496d4d507ed566270d", size = 20866 }, + { url = "https://files.pythonhosted.org/packages/29/28/6d029a903727a1b62edb51863232152fd335d602def598dade38996887f0/MarkupSafe-3.0.2-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:57cb5a3cf367aeb1d316576250f65edec5bb3be939e9247ae594b4bcbc317dfb", size = 20964 }, + { url = "https://files.pythonhosted.org/packages/cc/cd/07438f95f83e8bc028279909d9c9bd39e24149b0d60053a97b2bc4f8aa51/MarkupSafe-3.0.2-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:3809ede931876f5b2ec92eef964286840ed3540dadf803dd570c3b7e13141a3b", size = 21977 }, + { url = "https://files.pythonhosted.org/packages/29/01/84b57395b4cc062f9c4c55ce0df7d3108ca32397299d9df00fedd9117d3d/MarkupSafe-3.0.2-cp310-cp310-musllinux_1_2_i686.whl", hash = "sha256:e07c3764494e3776c602c1e78e298937c3315ccc9043ead7e685b7f2b8d47b3c", size = 21366 }, + { url = "https://files.pythonhosted.org/packages/bd/6e/61ebf08d8940553afff20d1fb1ba7294b6f8d279df9fd0c0db911b4bbcfd/MarkupSafe-3.0.2-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:b424c77b206d63d500bcb69fa55ed8d0e6a3774056bdc4839fc9298a7edca171", size = 21091 }, + { url = "https://files.pythonhosted.org/packages/11/23/ffbf53694e8c94ebd1e7e491de185124277964344733c45481f32ede2499/MarkupSafe-3.0.2-cp310-cp310-win32.whl", hash = "sha256:fcabf5ff6eea076f859677f5f0b6b5c1a51e70a376b0579e0eadef8db48c6b50", size = 15065 }, + { url = "https://files.pythonhosted.org/packages/44/06/e7175d06dd6e9172d4a69a72592cb3f7a996a9c396eee29082826449bbc3/MarkupSafe-3.0.2-cp310-cp310-win_amd64.whl", hash = "sha256:6af100e168aa82a50e186c82875a5893c5597a0c1ccdb0d8b40240b1f28b969a", size = 15514 }, + { url = "https://files.pythonhosted.org/packages/6b/28/bbf83e3f76936960b850435576dd5e67034e200469571be53f69174a2dfd/MarkupSafe-3.0.2-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:9025b4018f3a1314059769c7bf15441064b2207cb3f065e6ea1e7359cb46db9d", size = 14353 }, + { url = "https://files.pythonhosted.org/packages/6c/30/316d194b093cde57d448a4c3209f22e3046c5bb2fb0820b118292b334be7/MarkupSafe-3.0.2-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:93335ca3812df2f366e80509ae119189886b0f3c2b81325d39efdb84a1e2ae93", size = 12392 }, + { url = "https://files.pythonhosted.org/packages/f2/96/9cdafba8445d3a53cae530aaf83c38ec64c4d5427d975c974084af5bc5d2/MarkupSafe-3.0.2-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:2cb8438c3cbb25e220c2ab33bb226559e7afb3baec11c4f218ffa7308603c832", size = 23984 }, + { url = "https://files.pythonhosted.org/packages/f1/a4/aefb044a2cd8d7334c8a47d3fb2c9f328ac48cb349468cc31c20b539305f/MarkupSafe-3.0.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:a123e330ef0853c6e822384873bef7507557d8e4a082961e1defa947aa59ba84", size = 23120 }, + { url = "https://files.pythonhosted.org/packages/8d/21/5e4851379f88f3fad1de30361db501300d4f07bcad047d3cb0449fc51f8c/MarkupSafe-3.0.2-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:1e084f686b92e5b83186b07e8a17fc09e38fff551f3602b249881fec658d3eca", size = 23032 }, + { url = "https://files.pythonhosted.org/packages/00/7b/e92c64e079b2d0d7ddf69899c98842f3f9a60a1ae72657c89ce2655c999d/MarkupSafe-3.0.2-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:d8213e09c917a951de9d09ecee036d5c7d36cb6cb7dbaece4c71a60d79fb9798", size = 24057 }, + { url = "https://files.pythonhosted.org/packages/f9/ac/46f960ca323037caa0a10662ef97d0a4728e890334fc156b9f9e52bcc4ca/MarkupSafe-3.0.2-cp311-cp311-musllinux_1_2_i686.whl", hash = "sha256:5b02fb34468b6aaa40dfc198d813a641e3a63b98c2b05a16b9f80b7ec314185e", size = 23359 }, + { url = "https://files.pythonhosted.org/packages/69/84/83439e16197337b8b14b6a5b9c2105fff81d42c2a7c5b58ac7b62ee2c3b1/MarkupSafe-3.0.2-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:0bff5e0ae4ef2e1ae4fdf2dfd5b76c75e5c2fa4132d05fc1b0dabcd20c7e28c4", size = 23306 }, + { url = "https://files.pythonhosted.org/packages/9a/34/a15aa69f01e2181ed8d2b685c0d2f6655d5cca2c4db0ddea775e631918cd/MarkupSafe-3.0.2-cp311-cp311-win32.whl", hash = "sha256:6c89876f41da747c8d3677a2b540fb32ef5715f97b66eeb0c6b66f5e3ef6f59d", size = 15094 }, + { url = "https://files.pythonhosted.org/packages/da/b8/3a3bd761922d416f3dc5d00bfbed11f66b1ab89a0c2b6e887240a30b0f6b/MarkupSafe-3.0.2-cp311-cp311-win_amd64.whl", hash = "sha256:70a87b411535ccad5ef2f1df5136506a10775d267e197e4cf531ced10537bd6b", size = 15521 }, + { url = "https://files.pythonhosted.org/packages/22/09/d1f21434c97fc42f09d290cbb6350d44eb12f09cc62c9476effdb33a18aa/MarkupSafe-3.0.2-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:9778bd8ab0a994ebf6f84c2b949e65736d5575320a17ae8984a77fab08db94cf", size = 14274 }, + { url = "https://files.pythonhosted.org/packages/6b/b0/18f76bba336fa5aecf79d45dcd6c806c280ec44538b3c13671d49099fdd0/MarkupSafe-3.0.2-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:846ade7b71e3536c4e56b386c2a47adf5741d2d8b94ec9dc3e92e5e1ee1e2225", size = 12348 }, + { url = "https://files.pythonhosted.org/packages/e0/25/dd5c0f6ac1311e9b40f4af06c78efde0f3b5cbf02502f8ef9501294c425b/MarkupSafe-3.0.2-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:1c99d261bd2d5f6b59325c92c73df481e05e57f19837bdca8413b9eac4bd8028", size = 24149 }, + { url = "https://files.pythonhosted.org/packages/f3/f0/89e7aadfb3749d0f52234a0c8c7867877876e0a20b60e2188e9850794c17/MarkupSafe-3.0.2-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:e17c96c14e19278594aa4841ec148115f9c7615a47382ecb6b82bd8fea3ab0c8", size = 23118 }, + { url = "https://files.pythonhosted.org/packages/d5/da/f2eeb64c723f5e3777bc081da884b414671982008c47dcc1873d81f625b6/MarkupSafe-3.0.2-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:88416bd1e65dcea10bc7569faacb2c20ce071dd1f87539ca2ab364bf6231393c", size = 22993 }, + { url = "https://files.pythonhosted.org/packages/da/0e/1f32af846df486dce7c227fe0f2398dc7e2e51d4a370508281f3c1c5cddc/MarkupSafe-3.0.2-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:2181e67807fc2fa785d0592dc2d6206c019b9502410671cc905d132a92866557", size = 24178 }, + { url = "https://files.pythonhosted.org/packages/c4/f6/bb3ca0532de8086cbff5f06d137064c8410d10779c4c127e0e47d17c0b71/MarkupSafe-3.0.2-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:52305740fe773d09cffb16f8ed0427942901f00adedac82ec8b67752f58a1b22", size = 23319 }, + { url = "https://files.pythonhosted.org/packages/a2/82/8be4c96ffee03c5b4a034e60a31294daf481e12c7c43ab8e34a1453ee48b/MarkupSafe-3.0.2-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:ad10d3ded218f1039f11a75f8091880239651b52e9bb592ca27de44eed242a48", size = 23352 }, + { url = "https://files.pythonhosted.org/packages/51/ae/97827349d3fcffee7e184bdf7f41cd6b88d9919c80f0263ba7acd1bbcb18/MarkupSafe-3.0.2-cp312-cp312-win32.whl", hash = "sha256:0f4ca02bea9a23221c0182836703cbf8930c5e9454bacce27e767509fa286a30", size = 15097 }, + { url = "https://files.pythonhosted.org/packages/c1/80/a61f99dc3a936413c3ee4e1eecac96c0da5ed07ad56fd975f1a9da5bc630/MarkupSafe-3.0.2-cp312-cp312-win_amd64.whl", hash = "sha256:8e06879fc22a25ca47312fbe7c8264eb0b662f6db27cb2d3bbbc74b1df4b9b87", size = 15601 }, + { url = "https://files.pythonhosted.org/packages/83/0e/67eb10a7ecc77a0c2bbe2b0235765b98d164d81600746914bebada795e97/MarkupSafe-3.0.2-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:ba9527cdd4c926ed0760bc301f6728ef34d841f405abf9d4f959c478421e4efd", size = 14274 }, + { url = "https://files.pythonhosted.org/packages/2b/6d/9409f3684d3335375d04e5f05744dfe7e9f120062c9857df4ab490a1031a/MarkupSafe-3.0.2-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:f8b3d067f2e40fe93e1ccdd6b2e1d16c43140e76f02fb1319a05cf2b79d99430", size = 12352 }, + { url = "https://files.pythonhosted.org/packages/d2/f5/6eadfcd3885ea85fe2a7c128315cc1bb7241e1987443d78c8fe712d03091/MarkupSafe-3.0.2-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:569511d3b58c8791ab4c2e1285575265991e6d8f8700c7be0e88f86cb0672094", size = 24122 }, + { url = "https://files.pythonhosted.org/packages/0c/91/96cf928db8236f1bfab6ce15ad070dfdd02ed88261c2afafd4b43575e9e9/MarkupSafe-3.0.2-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:15ab75ef81add55874e7ab7055e9c397312385bd9ced94920f2802310c930396", size = 23085 }, + { url = "https://files.pythonhosted.org/packages/c2/cf/c9d56af24d56ea04daae7ac0940232d31d5a8354f2b457c6d856b2057d69/MarkupSafe-3.0.2-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:f3818cb119498c0678015754eba762e0d61e5b52d34c8b13d770f0719f7b1d79", size = 22978 }, + { url = "https://files.pythonhosted.org/packages/2a/9f/8619835cd6a711d6272d62abb78c033bda638fdc54c4e7f4272cf1c0962b/MarkupSafe-3.0.2-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:cdb82a876c47801bb54a690c5ae105a46b392ac6099881cdfb9f6e95e4014c6a", size = 24208 }, + { url = "https://files.pythonhosted.org/packages/f9/bf/176950a1792b2cd2102b8ffeb5133e1ed984547b75db47c25a67d3359f77/MarkupSafe-3.0.2-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:cabc348d87e913db6ab4aa100f01b08f481097838bdddf7c7a84b7575b7309ca", size = 23357 }, + { url = "https://files.pythonhosted.org/packages/ce/4f/9a02c1d335caabe5c4efb90e1b6e8ee944aa245c1aaaab8e8a618987d816/MarkupSafe-3.0.2-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:444dcda765c8a838eaae23112db52f1efaf750daddb2d9ca300bcae1039adc5c", size = 23344 }, + { url = "https://files.pythonhosted.org/packages/ee/55/c271b57db36f748f0e04a759ace9f8f759ccf22b4960c270c78a394f58be/MarkupSafe-3.0.2-cp313-cp313-win32.whl", hash = "sha256:bcf3e58998965654fdaff38e58584d8937aa3096ab5354d493c77d1fdd66d7a1", size = 15101 }, + { url = "https://files.pythonhosted.org/packages/29/88/07df22d2dd4df40aba9f3e402e6dc1b8ee86297dddbad4872bd5e7b0094f/MarkupSafe-3.0.2-cp313-cp313-win_amd64.whl", hash = "sha256:e6a2a455bd412959b57a172ce6328d2dd1f01cb2135efda2e4576e8a23fa3b0f", size = 15603 }, + { url = "https://files.pythonhosted.org/packages/62/6a/8b89d24db2d32d433dffcd6a8779159da109842434f1dd2f6e71f32f738c/MarkupSafe-3.0.2-cp313-cp313t-macosx_10_13_universal2.whl", hash = "sha256:b5a6b3ada725cea8a5e634536b1b01c30bcdcd7f9c6fff4151548d5bf6b3a36c", size = 14510 }, + { url = "https://files.pythonhosted.org/packages/7a/06/a10f955f70a2e5a9bf78d11a161029d278eeacbd35ef806c3fd17b13060d/MarkupSafe-3.0.2-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:a904af0a6162c73e3edcb969eeeb53a63ceeb5d8cf642fade7d39e7963a22ddb", size = 12486 }, + { url = "https://files.pythonhosted.org/packages/34/cf/65d4a571869a1a9078198ca28f39fba5fbb910f952f9dbc5220afff9f5e6/MarkupSafe-3.0.2-cp313-cp313t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:4aa4e5faecf353ed117801a068ebab7b7e09ffb6e1d5e412dc852e0da018126c", size = 25480 }, + { url = "https://files.pythonhosted.org/packages/0c/e3/90e9651924c430b885468b56b3d597cabf6d72be4b24a0acd1fa0e12af67/MarkupSafe-3.0.2-cp313-cp313t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:c0ef13eaeee5b615fb07c9a7dadb38eac06a0608b41570d8ade51c56539e509d", size = 23914 }, + { url = "https://files.pythonhosted.org/packages/66/8c/6c7cf61f95d63bb866db39085150df1f2a5bd3335298f14a66b48e92659c/MarkupSafe-3.0.2-cp313-cp313t-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:d16a81a06776313e817c951135cf7340a3e91e8c1ff2fac444cfd75fffa04afe", size = 23796 }, + { url = "https://files.pythonhosted.org/packages/bb/35/cbe9238ec3f47ac9a7c8b3df7a808e7cb50fe149dc7039f5f454b3fba218/MarkupSafe-3.0.2-cp313-cp313t-musllinux_1_2_aarch64.whl", hash = "sha256:6381026f158fdb7c72a168278597a5e3a5222e83ea18f543112b2662a9b699c5", size = 25473 }, + { url = "https://files.pythonhosted.org/packages/e6/32/7621a4382488aa283cc05e8984a9c219abad3bca087be9ec77e89939ded9/MarkupSafe-3.0.2-cp313-cp313t-musllinux_1_2_i686.whl", hash = "sha256:3d79d162e7be8f996986c064d1c7c817f6df3a77fe3d6859f6f9e7be4b8c213a", size = 24114 }, + { url = "https://files.pythonhosted.org/packages/0d/80/0985960e4b89922cb5a0bac0ed39c5b96cbc1a536a99f30e8c220a996ed9/MarkupSafe-3.0.2-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:131a3c7689c85f5ad20f9f6fb1b866f402c445b220c19fe4308c0b147ccd2ad9", size = 24098 }, + { url = "https://files.pythonhosted.org/packages/82/78/fedb03c7d5380df2427038ec8d973587e90561b2d90cd472ce9254cf348b/MarkupSafe-3.0.2-cp313-cp313t-win32.whl", hash = "sha256:ba8062ed2cf21c07a9e295d5b8a2a5ce678b913b45fdf68c32d95d6c1291e0b6", size = 15208 }, + { url = "https://files.pythonhosted.org/packages/4f/65/6079a46068dfceaeabb5dcad6d674f5f5c61a6fa5673746f42a9f4c233b3/MarkupSafe-3.0.2-cp313-cp313t-win_amd64.whl", hash = "sha256:e444a31f8db13eb18ada366ab3cf45fd4b31e4db1236a4448f68778c1d1a5a2f", size = 15739 }, + { url = "https://files.pythonhosted.org/packages/a7/ea/9b1530c3fdeeca613faeb0fb5cbcf2389d816072fab72a71b45749ef6062/MarkupSafe-3.0.2-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:eaa0a10b7f72326f1372a713e73c3f739b524b3af41feb43e4921cb529f5929a", size = 14344 }, + { url = "https://files.pythonhosted.org/packages/4b/c2/fbdbfe48848e7112ab05e627e718e854d20192b674952d9042ebd8c9e5de/MarkupSafe-3.0.2-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:48032821bbdf20f5799ff537c7ac3d1fba0ba032cfc06194faffa8cda8b560ff", size = 12389 }, + { url = "https://files.pythonhosted.org/packages/f0/25/7a7c6e4dbd4f867d95d94ca15449e91e52856f6ed1905d58ef1de5e211d0/MarkupSafe-3.0.2-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:1a9d3f5f0901fdec14d8d2f66ef7d035f2157240a433441719ac9a3fba440b13", size = 21607 }, + { url = "https://files.pythonhosted.org/packages/53/8f/f339c98a178f3c1e545622206b40986a4c3307fe39f70ccd3d9df9a9e425/MarkupSafe-3.0.2-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:88b49a3b9ff31e19998750c38e030fc7bb937398b1f78cfa599aaef92d693144", size = 20728 }, + { url = "https://files.pythonhosted.org/packages/1a/03/8496a1a78308456dbd50b23a385c69b41f2e9661c67ea1329849a598a8f9/MarkupSafe-3.0.2-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:cfad01eed2c2e0c01fd0ecd2ef42c492f7f93902e39a42fc9ee1692961443a29", size = 20826 }, + { url = "https://files.pythonhosted.org/packages/e6/cf/0a490a4bd363048c3022f2f475c8c05582179bb179defcee4766fb3dcc18/MarkupSafe-3.0.2-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:1225beacc926f536dc82e45f8a4d68502949dc67eea90eab715dea3a21c1b5f0", size = 21843 }, + { url = "https://files.pythonhosted.org/packages/19/a3/34187a78613920dfd3cdf68ef6ce5e99c4f3417f035694074beb8848cd77/MarkupSafe-3.0.2-cp39-cp39-musllinux_1_2_i686.whl", hash = "sha256:3169b1eefae027567d1ce6ee7cae382c57fe26e82775f460f0b2778beaad66c0", size = 21219 }, + { url = "https://files.pythonhosted.org/packages/17/d8/5811082f85bb88410ad7e452263af048d685669bbbfb7b595e8689152498/MarkupSafe-3.0.2-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:eb7972a85c54febfb25b5c4b4f3af4dcc731994c7da0d8a0b4a6eb0640e1d178", size = 20946 }, + { url = "https://files.pythonhosted.org/packages/7c/31/bd635fb5989440d9365c5e3c47556cfea121c7803f5034ac843e8f37c2f2/MarkupSafe-3.0.2-cp39-cp39-win32.whl", hash = "sha256:8c4e8c3ce11e1f92f6536ff07154f9d49677ebaaafc32db9db4620bc11ed480f", size = 15063 }, + { url = "https://files.pythonhosted.org/packages/b3/73/085399401383ce949f727afec55ec3abd76648d04b9f22e1c0e99cb4bec3/MarkupSafe-3.0.2-cp39-cp39-win_amd64.whl", hash = "sha256:6e296a513ca3d94054c2c881cc913116e90fd030ad1c656b3869762b754f5f8a", size = 15506 }, +] + +[[package]] +name = "matplotlib" +version = "3.7.5" +source = { registry = "https://pypi.org/simple" } +resolution-markers = [ + "python_full_version < '3.9' and platform_machine == 'arm64' and sys_platform == 'darwin'", + "python_full_version < '3.9' and platform_machine == 'aarch64' and sys_platform == 'linux'", + "(python_full_version < '3.9' and platform_machine != 'arm64' and sys_platform == 'darwin') or (python_full_version < '3.9' and platform_machine != 'aarch64' and sys_platform == 'linux') or (python_full_version < '3.9' and sys_platform != 'darwin' and sys_platform != 'linux')", +] +dependencies = [ + { name = "contourpy", version = "1.1.1", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.9'" }, + { name = "cycler", marker = "python_full_version < '3.9'" }, + { name = "fonttools", marker = "python_full_version < '3.9'" }, + { name = "importlib-resources", version = "6.4.5", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.9'" }, + { name = "kiwisolver", version = "1.4.7", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.9'" }, + { name = "numpy", version = "1.24.4", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.9'" }, + { name = "packaging", marker = "python_full_version < '3.9'" }, + { name = "pillow", marker = "python_full_version < '3.9'" }, + { name = "pyparsing", version = "3.1.4", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.9'" }, + { name = "python-dateutil", marker = "python_full_version < '3.9'" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/b6/f0/3836719cc3982fbba3b840d18a59db1d0ee9ac7986f24e8c0a092851b67b/matplotlib-3.7.5.tar.gz", hash = "sha256:1e5c971558ebc811aa07f54c7b7c677d78aa518ef4c390e14673a09e0860184a", size = 38098611 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/f5/b0/3808e86c41e5d97822d77e89d7f3cb0890725845c050d87ec53732a8b150/matplotlib-3.7.5-cp310-cp310-macosx_10_12_universal2.whl", hash = "sha256:4a87b69cb1cb20943010f63feb0b2901c17a3b435f75349fd9865713bfa63925", size = 8322924 }, + { url = "https://files.pythonhosted.org/packages/5b/05/726623be56391ba1740331ad9f1cd30e1adec61c179ddac134957a6dc2e7/matplotlib-3.7.5-cp310-cp310-macosx_10_12_x86_64.whl", hash = "sha256:d3ce45010fefb028359accebb852ca0c21bd77ec0f281952831d235228f15810", size = 7438436 }, + { url = "https://files.pythonhosted.org/packages/15/83/89cdef49ef1e320060ec951ba33c132df211561d866c3ed144c81fd110b2/matplotlib-3.7.5-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:fbea1e762b28400393d71be1a02144aa16692a3c4c676ba0178ce83fc2928fdd", size = 7341849 }, + { url = "https://files.pythonhosted.org/packages/94/29/39fc4acdc296dd86e09cecb65c14966e1cf18e0f091b9cbd9bd3f0c19ee4/matplotlib-3.7.5-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:ec0e1adc0ad70ba8227e957551e25a9d2995e319c29f94a97575bb90fa1d4469", size = 11354141 }, + { url = "https://files.pythonhosted.org/packages/54/36/44c5eeb0d83ae1e3ed34d264d7adee947c4fd56c4a9464ce822de094995a/matplotlib-3.7.5-cp310-cp310-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:6738c89a635ced486c8a20e20111d33f6398a9cbebce1ced59c211e12cd61455", size = 11457668 }, + { url = "https://files.pythonhosted.org/packages/b7/e2/f68aeaedf0ef57cbb793637ee82e62e64ea26cee908db0fe4f8e24d502c0/matplotlib-3.7.5-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:1210b7919b4ed94b5573870f316bca26de3e3b07ffdb563e79327dc0e6bba515", size = 11580088 }, + { url = "https://files.pythonhosted.org/packages/d9/f7/7c88d34afc38943aa5e4e04d27fc9da5289a48c264c0d794f60c9cda0949/matplotlib-3.7.5-cp310-cp310-win32.whl", hash = "sha256:068ebcc59c072781d9dcdb82f0d3f1458271c2de7ca9c78f5bd672141091e9e1", size = 7339332 }, + { url = "https://files.pythonhosted.org/packages/91/99/e5f6f7c9438279581c4a2308d264fe24dc98bb80e3b2719f797227e54ddc/matplotlib-3.7.5-cp310-cp310-win_amd64.whl", hash = "sha256:f098ffbaab9df1e3ef04e5a5586a1e6b1791380698e84938d8640961c79b1fc0", size = 7506405 }, + { url = "https://files.pythonhosted.org/packages/5e/c6/45d0485e59d70b7a6a81eade5d0aed548b42cc65658c0ce0f813b9249165/matplotlib-3.7.5-cp311-cp311-macosx_10_12_universal2.whl", hash = "sha256:f65342c147572673f02a4abec2d5a23ad9c3898167df9b47c149f32ce61ca078", size = 8325506 }, + { url = "https://files.pythonhosted.org/packages/0e/0a/83bd8589f3597745f624fbcc7da1140088b2f4160ca51c71553c561d0df5/matplotlib-3.7.5-cp311-cp311-macosx_10_12_x86_64.whl", hash = "sha256:4ddf7fc0e0dc553891a117aa083039088d8a07686d4c93fb8a810adca68810af", size = 7439905 }, + { url = "https://files.pythonhosted.org/packages/84/c1/a7705b24f8f9b4d7ceea0002c13bae50cf9423f299f56d8c47a5cd2627d2/matplotlib-3.7.5-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:0ccb830fc29442360d91be48527809f23a5dcaee8da5f4d9b2d5b867c1b087b8", size = 7342895 }, + { url = "https://files.pythonhosted.org/packages/94/6e/55d7d8310c96a7459c883aa4be3f5a9338a108278484cbd5c95d480d1cef/matplotlib-3.7.5-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:efc6bb28178e844d1f408dd4d6341ee8a2e906fc9e0fa3dae497da4e0cab775d", size = 11358830 }, + { url = "https://files.pythonhosted.org/packages/55/57/3b36afe104216db1cf2f3889c394b403ea87eda77c4815227c9524462ba8/matplotlib-3.7.5-cp311-cp311-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:3b15c4c2d374f249f324f46e883340d494c01768dd5287f8bc00b65b625ab56c", size = 11462575 }, + { url = "https://files.pythonhosted.org/packages/f3/0b/fabcf5f66b12fab5c4110d06a6c0fed875c7e63bc446403f58f9dadc9999/matplotlib-3.7.5-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:3d028555421912307845e59e3de328260b26d055c5dac9b182cc9783854e98fb", size = 11584280 }, + { url = "https://files.pythonhosted.org/packages/47/a9/1ad7df27a9da70b62109584632f83fe6ef45774701199c44d5777107c240/matplotlib-3.7.5-cp311-cp311-win32.whl", hash = "sha256:fe184b4625b4052fa88ef350b815559dd90cc6cc8e97b62f966e1ca84074aafa", size = 7340429 }, + { url = "https://files.pythonhosted.org/packages/e3/b1/1b6c34b89173d6c206dc5a4028e8518b4dfee3569c13bdc0c88d0486cae7/matplotlib-3.7.5-cp311-cp311-win_amd64.whl", hash = "sha256:084f1f0f2f1010868c6f1f50b4e1c6f2fb201c58475494f1e5b66fed66093647", size = 7507112 }, + { url = "https://files.pythonhosted.org/packages/75/dc/4e341a3ef36f3e7321aec0741317f12c7a23264be708a97972bf018c34af/matplotlib-3.7.5-cp312-cp312-macosx_10_12_universal2.whl", hash = "sha256:34bceb9d8ddb142055ff27cd7135f539f2f01be2ce0bafbace4117abe58f8fe4", size = 8323797 }, + { url = "https://files.pythonhosted.org/packages/af/83/bbb482d678362ceb68cc59ec4fc705dde636025969361dac77be868541ef/matplotlib-3.7.5-cp312-cp312-macosx_10_12_x86_64.whl", hash = "sha256:c5a2134162273eb8cdfd320ae907bf84d171de948e62180fa372a3ca7cf0f433", size = 7439549 }, + { url = "https://files.pythonhosted.org/packages/1a/ee/e49a92d9e369b2b9e4373894171cb4e641771cd7f81bde1d8b6fb8c60842/matplotlib-3.7.5-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:039ad54683a814002ff37bf7981aa1faa40b91f4ff84149beb53d1eb64617980", size = 7341788 }, + { url = "https://files.pythonhosted.org/packages/48/79/89cb2fc5ddcfc3d440a739df04dbe6e4e72b1153d1ebd32b45d42eb71d27/matplotlib-3.7.5-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:4d742ccd1b09e863b4ca58291728db645b51dab343eebb08d5d4b31b308296ce", size = 11356329 }, + { url = "https://files.pythonhosted.org/packages/ff/25/84f181cdae5c9eba6fd1c2c35642aec47233425fe3b0d6fccdb323fb36e0/matplotlib-3.7.5-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:743b1c488ca6a2bc7f56079d282e44d236bf375968bfd1b7ba701fd4d0fa32d6", size = 11577813 }, + { url = "https://files.pythonhosted.org/packages/9f/24/b2db065d40e58033b3350222fb8bbb0ffcb834029df9c1f9349dd9c7dd45/matplotlib-3.7.5-cp312-cp312-win_amd64.whl", hash = "sha256:fbf730fca3e1f23713bc1fae0a57db386e39dc81ea57dc305c67f628c1d7a342", size = 7507667 }, + { url = "https://files.pythonhosted.org/packages/e3/72/50a38c8fd5dc845b06f8e71c9da802db44b81baabf4af8be78bb8a5622ea/matplotlib-3.7.5-cp38-cp38-macosx_10_12_universal2.whl", hash = "sha256:cfff9b838531698ee40e40ea1a8a9dc2c01edb400b27d38de6ba44c1f9a8e3d2", size = 8322659 }, + { url = "https://files.pythonhosted.org/packages/b1/ea/129163dcd21db6da5d559a8160c4a74c1dc5f96ac246a3d4248b43c7648d/matplotlib-3.7.5-cp38-cp38-macosx_10_12_x86_64.whl", hash = "sha256:1dbcca4508bca7847fe2d64a05b237a3dcaec1f959aedb756d5b1c67b770c5ee", size = 7438408 }, + { url = "https://files.pythonhosted.org/packages/aa/59/4d13e5b6298b1ca5525eea8c68d3806ae93ab6d0bb17ca9846aa3156b92b/matplotlib-3.7.5-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:4cdf4ef46c2a1609a50411b66940b31778db1e4b73d4ecc2eaa40bd588979b13", size = 7341782 }, + { url = "https://files.pythonhosted.org/packages/9e/c4/f562df04b08487731743511ff274ae5d31dce2ff3e5621f8b070d20ab54a/matplotlib-3.7.5-cp38-cp38-manylinux_2_12_i686.manylinux2010_i686.whl", hash = "sha256:167200ccfefd1674b60e957186dfd9baf58b324562ad1a28e5d0a6b3bea77905", size = 9196487 }, + { url = "https://files.pythonhosted.org/packages/30/33/cc27211d2ffeee4fd7402dca137b6e8a83f6dcae3d4be8d0ad5068555561/matplotlib-3.7.5-cp38-cp38-manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:53e64522934df6e1818b25fd48cf3b645b11740d78e6ef765fbb5fa5ce080d02", size = 9213051 }, + { url = "https://files.pythonhosted.org/packages/9b/9d/8bd37c86b79312c9dbcfa379dec32303f9b38e8456e0829d7e666a0e0a05/matplotlib-3.7.5-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d3e3bc79b2d7d615067bd010caff9243ead1fc95cf735c16e4b2583173f717eb", size = 11370807 }, + { url = "https://files.pythonhosted.org/packages/c0/1e/b24a07a849c8d458f1b3724f49029f0dedf748bdedb4d5f69491314838b6/matplotlib-3.7.5-cp38-cp38-win32.whl", hash = "sha256:6b641b48c6819726ed47c55835cdd330e53747d4efff574109fd79b2d8a13748", size = 7340461 }, + { url = "https://files.pythonhosted.org/packages/16/51/58b0b9de42fe1e665736d9286f88b5f1556a0e22bed8a71f468231761083/matplotlib-3.7.5-cp38-cp38-win_amd64.whl", hash = "sha256:f0b60993ed3488b4532ec6b697059897891927cbfc2b8d458a891b60ec03d9d7", size = 7507471 }, + { url = "https://files.pythonhosted.org/packages/0d/00/17487e9e8949ca623af87f6c8767408efe7530b7e1f4d6897fa7fa940834/matplotlib-3.7.5-cp39-cp39-macosx_10_12_universal2.whl", hash = "sha256:090964d0afaff9c90e4d8de7836757e72ecfb252fb02884016d809239f715651", size = 8323175 }, + { url = "https://files.pythonhosted.org/packages/6a/84/be0acd521fa9d6697657cf35878153f8009a42b4b75237aebc302559a8a9/matplotlib-3.7.5-cp39-cp39-macosx_10_12_x86_64.whl", hash = "sha256:9fc6fcfbc55cd719bc0bfa60bde248eb68cf43876d4c22864603bdd23962ba25", size = 7438737 }, + { url = "https://files.pythonhosted.org/packages/17/39/175f36a6d68d0cf47a4fecbae9728048355df23c9feca8688f1476b198e6/matplotlib-3.7.5-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:5e7cc3078b019bb863752b8b60e8b269423000f1603cb2299608231996bd9d54", size = 7341916 }, + { url = "https://files.pythonhosted.org/packages/36/c0/9a1c2a79f85c15d41b60877cbc333694ed80605e5c97a33880c4ecfd5bf1/matplotlib-3.7.5-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:1e4e9a868e8163abaaa8259842d85f949a919e1ead17644fb77a60427c90473c", size = 11352264 }, + { url = "https://files.pythonhosted.org/packages/a6/39/b0204e0e7a899b0676733366a55ccafa723799b719bc7f2e85e5ecde26a0/matplotlib-3.7.5-cp39-cp39-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:fa7ebc995a7d747dacf0a717d0eb3aa0f0c6a0e9ea88b0194d3a3cd241a1500f", size = 11454722 }, + { url = "https://files.pythonhosted.org/packages/d8/39/64dd1d36c79e72e614977db338d180cf204cf658927c05a8ef2d47feb4c0/matplotlib-3.7.5-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:3785bfd83b05fc0e0c2ae4c4a90034fe693ef96c679634756c50fe6efcc09856", size = 11576343 }, + { url = "https://files.pythonhosted.org/packages/31/b4/e77bc11394d858bdf15e356980fceb4ac9604b0fa8212ef3ca4f1dc166b8/matplotlib-3.7.5-cp39-cp39-win32.whl", hash = "sha256:29b058738c104d0ca8806395f1c9089dfe4d4f0f78ea765c6c704469f3fffc81", size = 7340455 }, + { url = "https://files.pythonhosted.org/packages/4a/84/081820c596b9555ecffc6819ee71f847f2fbb0d7c70a42c1eeaa54edf3e0/matplotlib-3.7.5-cp39-cp39-win_amd64.whl", hash = "sha256:fd4028d570fa4b31b7b165d4a685942ae9cdc669f33741e388c01857d9723eab", size = 7507711 }, + { url = "https://files.pythonhosted.org/packages/27/6c/1bb10f3d6f337b9faa2e96a251bd87ba5fed85a608df95eb4d69acc109f0/matplotlib-3.7.5-pp38-pypy38_pp73-macosx_10_12_x86_64.whl", hash = "sha256:2a9a3f4d6a7f88a62a6a18c7e6a84aedcaf4faf0708b4ca46d87b19f1b526f88", size = 7397285 }, + { url = "https://files.pythonhosted.org/packages/b2/36/66cfea213e9ba91cda9e257542c249ed235d49021af71c2e8007107d7d4c/matplotlib-3.7.5-pp38-pypy38_pp73-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:b9b3fd853d4a7f008a938df909b96db0b454225f935d3917520305b90680579c", size = 7552612 }, + { url = "https://files.pythonhosted.org/packages/77/df/16655199bf984c37c6a816b854bc032b56aef521aadc04f27928422f3c91/matplotlib-3.7.5-pp38-pypy38_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f0ad550da9f160737d7890217c5eeed4337d07e83ca1b2ca6535078f354e7675", size = 7515564 }, + { url = "https://files.pythonhosted.org/packages/5b/c8/3534c3705a677b71abb6be33609ba129fdeae2ea4e76b2fd3ab62c86fab3/matplotlib-3.7.5-pp38-pypy38_pp73-win_amd64.whl", hash = "sha256:20da7924a08306a861b3f2d1da0d1aa9a6678e480cf8eacffe18b565af2813e7", size = 7521336 }, + { url = "https://files.pythonhosted.org/packages/20/a0/c5c0d410798b387ed3a177a5a7eba21055dd9c41d4b15bd0861241a5a60e/matplotlib-3.7.5-pp39-pypy39_pp73-macosx_10_12_x86_64.whl", hash = "sha256:b45c9798ea6bb920cb77eb7306409756a7fab9db9b463e462618e0559aecb30e", size = 7397931 }, + { url = "https://files.pythonhosted.org/packages/c3/2f/9e9509727d4c7d1b8e2c88e9330a97d54a1dd20bd316a0c8d2f8b38c4513/matplotlib-3.7.5-pp39-pypy39_pp73-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:a99866267da1e561c7776fe12bf4442174b79aac1a47bd7e627c7e4d077ebd83", size = 7553224 }, + { url = "https://files.pythonhosted.org/packages/89/0c/5f3e403dcf5c23799c92b0139dd00e41caf23983e9281f5bfeba3065e7d2/matplotlib-3.7.5-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:2b6aa62adb6c268fc87d80f963aca39c64615c31830b02697743c95590ce3fbb", size = 7513250 }, + { url = "https://files.pythonhosted.org/packages/87/e0/03eba0a8c3775ef910dbb3a287114a64c47abbcaeab2543c59957f155a86/matplotlib-3.7.5-pp39-pypy39_pp73-win_amd64.whl", hash = "sha256:e530ab6a0afd082d2e9c17eb1eb064a63c5b09bb607b2b74fa41adbe3e162286", size = 7521729 }, +] + +[[package]] +name = "matplotlib" +version = "3.9.4" +source = { registry = "https://pypi.org/simple" } +resolution-markers = [ + "python_full_version == '3.9.*' and platform_machine == 'arm64' and sys_platform == 'darwin'", + "python_full_version == '3.9.*' and platform_machine == 'aarch64' and sys_platform == 'linux'", + "(python_full_version == '3.9.*' and platform_machine != 'arm64' and sys_platform == 'darwin') or (python_full_version == '3.9.*' and platform_machine != 'aarch64' and sys_platform == 'linux') or (python_full_version == '3.9.*' and sys_platform != 'darwin' and sys_platform != 'linux')", +] +dependencies = [ + { name = "contourpy", version = "1.3.0", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version == '3.9.*'" }, + { name = "cycler", marker = "python_full_version == '3.9.*'" }, + { name = "fonttools", marker = "python_full_version == '3.9.*'" }, + { name = "importlib-resources", version = "6.5.2", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version == '3.9.*'" }, + { name = "kiwisolver", version = "1.4.7", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version == '3.9.*'" }, + { name = "numpy", version = "1.25.2", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version == '3.9.*'" }, + { name = "packaging", marker = "python_full_version == '3.9.*'" }, + { name = "pillow", marker = "python_full_version == '3.9.*'" }, + { name = "pyparsing", version = "3.2.1", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version == '3.9.*'" }, + { name = "python-dateutil", marker = "python_full_version == '3.9.*'" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/df/17/1747b4154034befd0ed33b52538f5eb7752d05bb51c5e2a31470c3bc7d52/matplotlib-3.9.4.tar.gz", hash = "sha256:1e00e8be7393cbdc6fedfa8a6fba02cf3e83814b285db1c60b906a023ba41bc3", size = 36106529 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/7e/94/27d2e2c30d54b56c7b764acc1874a909e34d1965a427fc7092bb6a588b63/matplotlib-3.9.4-cp310-cp310-macosx_10_12_x86_64.whl", hash = "sha256:c5fdd7abfb706dfa8d307af64a87f1a862879ec3cd8d0ec8637458f0885b9c50", size = 7885089 }, + { url = "https://files.pythonhosted.org/packages/c6/25/828273307e40a68eb8e9df832b6b2aaad075864fdc1de4b1b81e40b09e48/matplotlib-3.9.4-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:d89bc4e85e40a71d1477780366c27fb7c6494d293e1617788986f74e2a03d7ff", size = 7770600 }, + { url = "https://files.pythonhosted.org/packages/f2/65/f841a422ec994da5123368d76b126acf4fc02ea7459b6e37c4891b555b83/matplotlib-3.9.4-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:ddf9f3c26aae695c5daafbf6b94e4c1a30d6cd617ba594bbbded3b33a1fcfa26", size = 8200138 }, + { url = "https://files.pythonhosted.org/packages/07/06/272aca07a38804d93b6050813de41ca7ab0e29ba7a9dd098e12037c919a9/matplotlib-3.9.4-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:18ebcf248030173b59a868fda1fe42397253f6698995b55e81e1f57431d85e50", size = 8312711 }, + { url = "https://files.pythonhosted.org/packages/98/37/f13e23b233c526b7e27ad61be0a771894a079e0f7494a10d8d81557e0e9a/matplotlib-3.9.4-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:974896ec43c672ec23f3f8c648981e8bc880ee163146e0312a9b8def2fac66f5", size = 9090622 }, + { url = "https://files.pythonhosted.org/packages/4f/8c/b1f5bd2bd70e60f93b1b54c4d5ba7a992312021d0ddddf572f9a1a6d9348/matplotlib-3.9.4-cp310-cp310-win_amd64.whl", hash = "sha256:4598c394ae9711cec135639374e70871fa36b56afae17bdf032a345be552a88d", size = 7828211 }, + { url = "https://files.pythonhosted.org/packages/74/4b/65be7959a8fa118a3929b49a842de5b78bb55475236fcf64f3e308ff74a0/matplotlib-3.9.4-cp311-cp311-macosx_10_12_x86_64.whl", hash = "sha256:d4dd29641d9fb8bc4492420c5480398dd40a09afd73aebe4eb9d0071a05fbe0c", size = 7894430 }, + { url = "https://files.pythonhosted.org/packages/e9/18/80f70d91896e0a517b4a051c3fd540daa131630fd75e02e250365353b253/matplotlib-3.9.4-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:30e5b22e8bcfb95442bf7d48b0d7f3bdf4a450cbf68986ea45fca3d11ae9d099", size = 7780045 }, + { url = "https://files.pythonhosted.org/packages/a2/73/ccb381026e3238c5c25c3609ba4157b2d1a617ec98d65a8b4ee4e1e74d02/matplotlib-3.9.4-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:2bb0030d1d447fd56dcc23b4c64a26e44e898f0416276cac1ebc25522e0ac249", size = 8209906 }, + { url = "https://files.pythonhosted.org/packages/ab/33/1648da77b74741c89f5ea95cbf42a291b4b364f2660b316318811404ed97/matplotlib-3.9.4-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:aca90ed222ac3565d2752b83dbb27627480d27662671e4d39da72e97f657a423", size = 8322873 }, + { url = "https://files.pythonhosted.org/packages/57/d3/8447ba78bc6593c9044c372d1609f8ea10fb1e071e7a9e0747bea74fc16c/matplotlib-3.9.4-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:a181b2aa2906c608fcae72f977a4a2d76e385578939891b91c2550c39ecf361e", size = 9099566 }, + { url = "https://files.pythonhosted.org/packages/23/e1/4f0e237bf349c02ff9d1b6e7109f1a17f745263809b9714a8576dc17752b/matplotlib-3.9.4-cp311-cp311-win_amd64.whl", hash = "sha256:1f6882828231eca17f501c4dcd98a05abb3f03d157fbc0769c6911fe08b6cfd3", size = 7838065 }, + { url = "https://files.pythonhosted.org/packages/1a/2b/c918bf6c19d6445d1cefe3d2e42cb740fb997e14ab19d4daeb6a7ab8a157/matplotlib-3.9.4-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:dfc48d67e6661378a21c2983200a654b72b5c5cdbd5d2cf6e5e1ece860f0cc70", size = 7891131 }, + { url = "https://files.pythonhosted.org/packages/c1/e5/b4e8fc601ca302afeeabf45f30e706a445c7979a180e3a978b78b2b681a4/matplotlib-3.9.4-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:47aef0fab8332d02d68e786eba8113ffd6f862182ea2999379dec9e237b7e483", size = 7776365 }, + { url = "https://files.pythonhosted.org/packages/99/06/b991886c506506476e5d83625c5970c656a491b9f80161458fed94597808/matplotlib-3.9.4-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:fba1f52c6b7dc764097f52fd9ab627b90db452c9feb653a59945de16752e965f", size = 8200707 }, + { url = "https://files.pythonhosted.org/packages/c3/e2/556b627498cb27e61026f2d1ba86a78ad1b836fef0996bef5440e8bc9559/matplotlib-3.9.4-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:173ac3748acaac21afcc3fa1633924609ba1b87749006bc25051c52c422a5d00", size = 8313761 }, + { url = "https://files.pythonhosted.org/packages/58/ff/165af33ec766ff818306ea88e91f9f60d2a6ed543be1eb122a98acbf3b0d/matplotlib-3.9.4-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:320edea0cadc07007765e33f878b13b3738ffa9745c5f707705692df70ffe0e0", size = 9095284 }, + { url = "https://files.pythonhosted.org/packages/9f/8b/3d0c7a002db3b1ed702731c2a9a06d78d035f1f2fb0fb936a8e43cc1e9f4/matplotlib-3.9.4-cp312-cp312-win_amd64.whl", hash = "sha256:a4a4cfc82330b27042a7169533da7991e8789d180dd5b3daeaee57d75cd5a03b", size = 7841160 }, + { url = "https://files.pythonhosted.org/packages/49/b1/999f89a7556d101b23a2f0b54f1b6e140d73f56804da1398f2f0bc0924bc/matplotlib-3.9.4-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:37eeffeeca3c940985b80f5b9a7b95ea35671e0e7405001f249848d2b62351b6", size = 7891499 }, + { url = "https://files.pythonhosted.org/packages/87/7b/06a32b13a684977653396a1bfcd34d4e7539c5d55c8cbfaa8ae04d47e4a9/matplotlib-3.9.4-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:3e7465ac859ee4abcb0d836137cd8414e7bb7ad330d905abced457217d4f0f45", size = 7776802 }, + { url = "https://files.pythonhosted.org/packages/65/87/ac498451aff739e515891bbb92e566f3c7ef31891aaa878402a71f9b0910/matplotlib-3.9.4-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:f4c12302c34afa0cf061bea23b331e747e5e554b0fa595c96e01c7b75bc3b858", size = 8200802 }, + { url = "https://files.pythonhosted.org/packages/f8/6b/9eb761c00e1cb838f6c92e5f25dcda3f56a87a52f6cb8fdfa561e6cf6a13/matplotlib-3.9.4-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:2b8c97917f21b75e72108b97707ba3d48f171541a74aa2a56df7a40626bafc64", size = 8313880 }, + { url = "https://files.pythonhosted.org/packages/d7/a2/c8eaa600e2085eec7e38cbbcc58a30fc78f8224939d31d3152bdafc01fd1/matplotlib-3.9.4-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:0229803bd7e19271b03cb09f27db76c918c467aa4ce2ae168171bc67c3f508df", size = 9094637 }, + { url = "https://files.pythonhosted.org/packages/71/1f/c6e1daea55b7bfeb3d84c6cb1abc449f6a02b181e7e2a5e4db34c3afb793/matplotlib-3.9.4-cp313-cp313-win_amd64.whl", hash = "sha256:7c0d8ef442ebf56ff5e206f8083d08252ee738e04f3dc88ea882853a05488799", size = 7841311 }, + { url = "https://files.pythonhosted.org/packages/c0/3a/2757d3f7d388b14dd48f5a83bea65b6d69f000e86b8f28f74d86e0d375bd/matplotlib-3.9.4-cp313-cp313t-macosx_10_13_x86_64.whl", hash = "sha256:a04c3b00066a688834356d196136349cb32f5e1003c55ac419e91585168b88fb", size = 7919989 }, + { url = "https://files.pythonhosted.org/packages/24/28/f5077c79a4f521589a37fe1062d6a6ea3534e068213f7357e7cfffc2e17a/matplotlib-3.9.4-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:04c519587f6c210626741a1e9a68eefc05966ede24205db8982841826af5871a", size = 7809417 }, + { url = "https://files.pythonhosted.org/packages/36/c8/c523fd2963156692916a8eb7d4069084cf729359f7955cf09075deddfeaf/matplotlib-3.9.4-cp313-cp313t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:308afbf1a228b8b525fcd5cec17f246bbbb63b175a3ef6eb7b4d33287ca0cf0c", size = 8226258 }, + { url = "https://files.pythonhosted.org/packages/f6/88/499bf4b8fa9349b6f5c0cf4cead0ebe5da9d67769129f1b5651e5ac51fbc/matplotlib-3.9.4-cp313-cp313t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ddb3b02246ddcffd3ce98e88fed5b238bc5faff10dbbaa42090ea13241d15764", size = 8335849 }, + { url = "https://files.pythonhosted.org/packages/b8/9f/20a4156b9726188646a030774ee337d5ff695a965be45ce4dbcb9312c170/matplotlib-3.9.4-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:8a75287e9cb9eee48cb79ec1d806f75b29c0fde978cb7223a1f4c5848d696041", size = 9102152 }, + { url = "https://files.pythonhosted.org/packages/10/11/237f9c3a4e8d810b1759b67ff2da7c32c04f9c80aa475e7beb36ed43a8fb/matplotlib-3.9.4-cp313-cp313t-win_amd64.whl", hash = "sha256:488deb7af140f0ba86da003e66e10d55ff915e152c78b4b66d231638400b1965", size = 7896987 }, + { url = "https://files.pythonhosted.org/packages/56/eb/501b465c9fef28f158e414ea3a417913dc2ac748564c7ed41535f23445b4/matplotlib-3.9.4-cp39-cp39-macosx_10_12_x86_64.whl", hash = "sha256:3c3724d89a387ddf78ff88d2a30ca78ac2b4c89cf37f2db4bd453c34799e933c", size = 7885919 }, + { url = "https://files.pythonhosted.org/packages/da/36/236fbd868b6c91309a5206bd90c3f881f4f44b2d997cd1d6239ef652f878/matplotlib-3.9.4-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:d5f0a8430ffe23d7e32cfd86445864ccad141797f7d25b7c41759a5b5d17cfd7", size = 7771486 }, + { url = "https://files.pythonhosted.org/packages/e0/4b/105caf2d54d5ed11d9f4335398f5103001a03515f2126c936a752ccf1461/matplotlib-3.9.4-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:6bb0141a21aef3b64b633dc4d16cbd5fc538b727e4958be82a0e1c92a234160e", size = 8201838 }, + { url = "https://files.pythonhosted.org/packages/5d/a7/bb01188fb4013d34d274caf44a2f8091255b0497438e8b6c0a7c1710c692/matplotlib-3.9.4-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:57aa235109e9eed52e2c2949db17da185383fa71083c00c6c143a60e07e0888c", size = 8314492 }, + { url = "https://files.pythonhosted.org/packages/33/19/02e1a37f7141fc605b193e927d0a9cdf9dc124a20b9e68793f4ffea19695/matplotlib-3.9.4-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:b18c600061477ccfdd1e6fd050c33d8be82431700f3452b297a56d9ed7037abb", size = 9092500 }, + { url = "https://files.pythonhosted.org/packages/57/68/c2feb4667adbf882ffa4b3e0ac9967f848980d9f8b5bebd86644aa67ce6a/matplotlib-3.9.4-cp39-cp39-win_amd64.whl", hash = "sha256:ef5f2d1b67d2d2145ff75e10f8c008bfbf71d45137c4b648c87193e7dd053eac", size = 7822962 }, + { url = "https://files.pythonhosted.org/packages/0c/22/2ef6a364cd3f565442b0b055e0599744f1e4314ec7326cdaaa48a4d864d7/matplotlib-3.9.4-pp39-pypy39_pp73-macosx_10_15_x86_64.whl", hash = "sha256:44e0ed786d769d85bc787b0606a53f2d8d2d1d3c8a2608237365e9121c1a338c", size = 7877995 }, + { url = "https://files.pythonhosted.org/packages/87/b8/2737456e566e9f4d94ae76b8aa0d953d9acb847714f9a7ad80184474f5be/matplotlib-3.9.4-pp39-pypy39_pp73-macosx_11_0_arm64.whl", hash = "sha256:09debb9ce941eb23ecdbe7eab972b1c3e0276dcf01688073faff7b0f61d6c6ca", size = 7769300 }, + { url = "https://files.pythonhosted.org/packages/b2/1f/e709c6ec7b5321e6568769baa288c7178e60a93a9da9e682b39450da0e29/matplotlib-3.9.4-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:bcc53cf157a657bfd03afab14774d54ba73aa84d42cfe2480c91bd94873952db", size = 8313423 }, + { url = "https://files.pythonhosted.org/packages/5e/b6/5a1f868782cd13f053a679984e222007ecff654a9bfbac6b27a65f4eeb05/matplotlib-3.9.4-pp39-pypy39_pp73-win_amd64.whl", hash = "sha256:ad45da51be7ad02387801fd154ef74d942f49fe3fcd26a64c94842ba7ec0d865", size = 7854624 }, +] + +[[package]] +name = "matplotlib" +version = "3.10.0" +source = { registry = "https://pypi.org/simple" } +resolution-markers = [ + "python_full_version >= '3.13' and sys_platform == 'darwin'", + "python_full_version >= '3.13' and platform_machine == 'aarch64' and sys_platform == 'linux'", + "(python_full_version >= '3.13' and platform_machine != 'aarch64' and sys_platform == 'linux') or (python_full_version >= '3.13' and sys_platform != 'darwin' and sys_platform != 'linux')", + "python_full_version == '3.12.*' and sys_platform == 'darwin'", + "python_full_version == '3.12.*' and platform_machine == 'aarch64' and sys_platform == 'linux'", + "(python_full_version == '3.12.*' and platform_machine != 'aarch64' and sys_platform == 'linux') or (python_full_version == '3.12.*' and sys_platform != 'darwin' and sys_platform != 'linux')", + "python_full_version == '3.11.*' and sys_platform == 'darwin'", + "python_full_version == '3.11.*' and platform_machine == 'aarch64' and sys_platform == 'linux'", + "(python_full_version == '3.11.*' and platform_machine != 'aarch64' and sys_platform == 'linux') or (python_full_version == '3.11.*' and sys_platform != 'darwin' and sys_platform != 'linux')", + "python_full_version == '3.10.*' and sys_platform == 'darwin'", + "python_full_version == '3.10.*' and platform_machine == 'aarch64' and sys_platform == 'linux'", + "(python_full_version == '3.10.*' and platform_machine != 'aarch64' and sys_platform == 'linux') or (python_full_version == '3.10.*' and sys_platform != 'darwin' and sys_platform != 'linux')", +] +dependencies = [ + { name = "contourpy", version = "1.3.1", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.10'" }, + { name = "cycler", marker = "python_full_version >= '3.10'" }, + { name = "fonttools", marker = "python_full_version >= '3.10'" }, + { name = "kiwisolver", version = "1.4.8", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.10'" }, + { name = "numpy", version = "1.25.2", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.10' and python_full_version < '3.12'" }, + { name = "numpy", version = "2.0.2", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version == '3.12.*'" }, + { name = "numpy", version = "2.2.1", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.13'" }, + { name = "packaging", marker = "python_full_version >= '3.10'" }, + { name = "pillow", marker = "python_full_version >= '3.10'" }, + { name = "pyparsing", version = "3.2.1", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.10'" }, + { name = "python-dateutil", marker = "python_full_version >= '3.10'" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/68/dd/fa2e1a45fce2d09f4aea3cee169760e672c8262325aa5796c49d543dc7e6/matplotlib-3.10.0.tar.gz", hash = "sha256:b886d02a581b96704c9d1ffe55709e49b4d2d52709ccebc4be42db856e511278", size = 36686418 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/09/ec/3cdff7b5239adaaacefcc4f77c316dfbbdf853c4ed2beec467e0fec31b9f/matplotlib-3.10.0-cp310-cp310-macosx_10_12_x86_64.whl", hash = "sha256:2c5829a5a1dd5a71f0e31e6e8bb449bc0ee9dbfb05ad28fc0c6b55101b3a4be6", size = 8160551 }, + { url = "https://files.pythonhosted.org/packages/41/f2/b518f2c7f29895c9b167bf79f8529c63383ae94eaf49a247a4528e9a148d/matplotlib-3.10.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:a2a43cbefe22d653ab34bb55d42384ed30f611bcbdea1f8d7f431011a2e1c62e", size = 8034853 }, + { url = "https://files.pythonhosted.org/packages/ed/8d/45754b4affdb8f0d1a44e4e2bcd932cdf35b256b60d5eda9f455bb293ed0/matplotlib-3.10.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:607b16c8a73943df110f99ee2e940b8a1cbf9714b65307c040d422558397dac5", size = 8446724 }, + { url = "https://files.pythonhosted.org/packages/09/5a/a113495110ae3e3395c72d82d7bc4802902e46dc797f6b041e572f195c56/matplotlib-3.10.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:01d2b19f13aeec2e759414d3bfe19ddfb16b13a1250add08d46d5ff6f9be83c6", size = 8583905 }, + { url = "https://files.pythonhosted.org/packages/12/b1/8b1655b4c9ed4600c817c419f7eaaf70082630efd7556a5b2e77a8a3cdaf/matplotlib-3.10.0-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:5e6c6461e1fc63df30bf6f80f0b93f5b6784299f721bc28530477acd51bfc3d1", size = 9395223 }, + { url = "https://files.pythonhosted.org/packages/5a/85/b9a54d64585a6b8737a78a61897450403c30f39e0bd3214270bb0b96f002/matplotlib-3.10.0-cp310-cp310-win_amd64.whl", hash = "sha256:994c07b9d9fe8d25951e3202a68c17900679274dadfc1248738dcfa1bd40d7f3", size = 8025355 }, + { url = "https://files.pythonhosted.org/packages/0c/f1/e37f6c84d252867d7ddc418fff70fc661cfd363179263b08e52e8b748e30/matplotlib-3.10.0-cp311-cp311-macosx_10_12_x86_64.whl", hash = "sha256:fd44fc75522f58612ec4a33958a7e5552562b7705b42ef1b4f8c0818e304a363", size = 8171677 }, + { url = "https://files.pythonhosted.org/packages/c7/8b/92e9da1f28310a1f6572b5c55097b0c0ceb5e27486d85fb73b54f5a9b939/matplotlib-3.10.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:c58a9622d5dbeb668f407f35f4e6bfac34bb9ecdcc81680c04d0258169747997", size = 8044945 }, + { url = "https://files.pythonhosted.org/packages/c5/cb/49e83f0fd066937a5bd3bc5c5d63093703f3637b2824df8d856e0558beef/matplotlib-3.10.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:845d96568ec873be63f25fa80e9e7fae4be854a66a7e2f0c8ccc99e94a8bd4ef", size = 8458269 }, + { url = "https://files.pythonhosted.org/packages/b2/7d/2d873209536b9ee17340754118a2a17988bc18981b5b56e6715ee07373ac/matplotlib-3.10.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:5439f4c5a3e2e8eab18e2f8c3ef929772fd5641876db71f08127eed95ab64683", size = 8599369 }, + { url = "https://files.pythonhosted.org/packages/b8/03/57d6cbbe85c61fe4cbb7c94b54dce443d68c21961830833a1f34d056e5ea/matplotlib-3.10.0-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:4673ff67a36152c48ddeaf1135e74ce0d4bce1bbf836ae40ed39c29edf7e2765", size = 9405992 }, + { url = "https://files.pythonhosted.org/packages/14/cf/e382598f98be11bf51dd0bc60eca44a517f6793e3dc8b9d53634a144620c/matplotlib-3.10.0-cp311-cp311-win_amd64.whl", hash = "sha256:7e8632baebb058555ac0cde75db885c61f1212e47723d63921879806b40bec6a", size = 8034580 }, + { url = "https://files.pythonhosted.org/packages/44/c7/6b2d8cb7cc251d53c976799cacd3200add56351c175ba89ab9cbd7c1e68a/matplotlib-3.10.0-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:4659665bc7c9b58f8c00317c3c2a299f7f258eeae5a5d56b4c64226fca2f7c59", size = 8172465 }, + { url = "https://files.pythonhosted.org/packages/42/2a/6d66d0fba41e13e9ca6512a0a51170f43e7e7ed3a8dfa036324100775612/matplotlib-3.10.0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:d44cb942af1693cced2604c33a9abcef6205601c445f6d0dc531d813af8a2f5a", size = 8043300 }, + { url = "https://files.pythonhosted.org/packages/90/60/2a60342b27b90a16bada939a85e29589902b41073f59668b904b15ea666c/matplotlib-3.10.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a994f29e968ca002b50982b27168addfd65f0105610b6be7fa515ca4b5307c95", size = 8448936 }, + { url = "https://files.pythonhosted.org/packages/a7/b2/d872fc3d753516870d520595ddd8ce4dd44fa797a240999f125f58521ad7/matplotlib-3.10.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:9b0558bae37f154fffda54d779a592bc97ca8b4701f1c710055b609a3bac44c8", size = 8594151 }, + { url = "https://files.pythonhosted.org/packages/f4/bd/b2f60cf7f57d014ab33e4f74602a2b5bdc657976db8196bbc022185f6f9c/matplotlib-3.10.0-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:503feb23bd8c8acc75541548a1d709c059b7184cde26314896e10a9f14df5f12", size = 9400347 }, + { url = "https://files.pythonhosted.org/packages/9f/6e/264673e64001b99d747aff5a288eca82826c024437a3694e19aed1decf46/matplotlib-3.10.0-cp312-cp312-win_amd64.whl", hash = "sha256:c40ba2eb08b3f5de88152c2333c58cee7edcead0a2a0d60fcafa116b17117adc", size = 8039144 }, + { url = "https://files.pythonhosted.org/packages/72/11/1b2a094d95dcb6e6edd4a0b238177c439006c6b7a9fe8d31801237bf512f/matplotlib-3.10.0-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:96f2886f5c1e466f21cc41b70c5a0cd47bfa0015eb2d5793c88ebce658600e25", size = 8173073 }, + { url = "https://files.pythonhosted.org/packages/0d/c4/87b6ad2723070511a411ea719f9c70fde64605423b184face4e94986de9d/matplotlib-3.10.0-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:12eaf48463b472c3c0f8dbacdbf906e573013df81a0ab82f0616ea4b11281908", size = 8043892 }, + { url = "https://files.pythonhosted.org/packages/57/69/cb0812a136550b21361335e9ffb7d459bf6d13e03cb7b015555d5143d2d6/matplotlib-3.10.0-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:2fbbabc82fde51391c4da5006f965e36d86d95f6ee83fb594b279564a4c5d0d2", size = 8450532 }, + { url = "https://files.pythonhosted.org/packages/ea/3a/bab9deb4fb199c05e9100f94d7f1c702f78d3241e6a71b784d2b88d7bebd/matplotlib-3.10.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ad2e15300530c1a94c63cfa546e3b7864bd18ea2901317bae8bbf06a5ade6dcf", size = 8593905 }, + { url = "https://files.pythonhosted.org/packages/8b/66/742fd242f989adc1847ddf5f445815f73ad7c46aa3440690cc889cfa423c/matplotlib-3.10.0-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:3547d153d70233a8496859097ef0312212e2689cdf8d7ed764441c77604095ae", size = 9399609 }, + { url = "https://files.pythonhosted.org/packages/fa/d6/54cee7142cef7d910a324a7aedf335c0c147b03658b54d49ec48166f10a6/matplotlib-3.10.0-cp313-cp313-win_amd64.whl", hash = "sha256:c55b20591ced744aa04e8c3e4b7543ea4d650b6c3c4b208c08a05b4010e8b442", size = 8039076 }, + { url = "https://files.pythonhosted.org/packages/43/14/815d072dc36e88753433bfd0385113405efb947e6895ff7b4d2e8614a33b/matplotlib-3.10.0-cp313-cp313t-macosx_10_13_x86_64.whl", hash = "sha256:9ade1003376731a971e398cc4ef38bb83ee8caf0aee46ac6daa4b0506db1fd06", size = 8211000 }, + { url = "https://files.pythonhosted.org/packages/9a/76/34e75f364194ec352678adcb540964be6f35ec7d3d8c75ebcb17e6839359/matplotlib-3.10.0-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:95b710fea129c76d30be72c3b38f330269363fbc6e570a5dd43580487380b5ff", size = 8087707 }, + { url = "https://files.pythonhosted.org/packages/c3/2b/b6bc0dff6a72d333bc7df94a66e6ce662d224e43daa8ad8ae4eaa9a77f55/matplotlib-3.10.0-cp313-cp313t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:5cdbaf909887373c3e094b0318d7ff230b2ad9dcb64da7ade654182872ab2593", size = 8477384 }, + { url = "https://files.pythonhosted.org/packages/c2/2d/b5949fb2b76e9b47ab05e25a5f5f887c70de20d8b0cbc704a4e2ee71c786/matplotlib-3.10.0-cp313-cp313t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:d907fddb39f923d011875452ff1eca29a9e7f21722b873e90db32e5d8ddff12e", size = 8610334 }, + { url = "https://files.pythonhosted.org/packages/d6/9a/6e3c799d5134d9af44b01c787e1360bee38cf51850506ea2e743a787700b/matplotlib-3.10.0-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:3b427392354d10975c1d0f4ee18aa5844640b512d5311ef32efd4dd7db106ede", size = 9406777 }, + { url = "https://files.pythonhosted.org/packages/0e/dd/e6ae97151e5ed648ab2ea48885bc33d39202b640eec7a2910e2c843f7ac0/matplotlib-3.10.0-cp313-cp313t-win_amd64.whl", hash = "sha256:5fd41b0ec7ee45cd960a8e71aea7c946a28a0b8a4dcee47d2856b2af051f334c", size = 8109742 }, + { url = "https://files.pythonhosted.org/packages/32/5f/29def7ce4e815ab939b56280976ee35afffb3bbdb43f332caee74cb8c951/matplotlib-3.10.0-pp310-pypy310_pp73-macosx_10_15_x86_64.whl", hash = "sha256:81713dd0d103b379de4516b861d964b1d789a144103277769238c732229d7f03", size = 8155500 }, + { url = "https://files.pythonhosted.org/packages/de/6d/d570383c9f7ca799d0a54161446f9ce7b17d6c50f2994b653514bcaa108f/matplotlib-3.10.0-pp310-pypy310_pp73-macosx_11_0_arm64.whl", hash = "sha256:359f87baedb1f836ce307f0e850d12bb5f1936f70d035561f90d41d305fdacea", size = 8032398 }, + { url = "https://files.pythonhosted.org/packages/c9/b4/680aa700d99b48e8c4393fa08e9ab8c49c0555ee6f4c9c0a5e8ea8dfde5d/matplotlib-3.10.0-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ae80dc3a4add4665cf2faa90138384a7ffe2a4e37c58d83e115b54287c4f06ef", size = 8587361 }, +] + +[[package]] +name = "matplotlib-inline" +version = "0.1.7" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "traitlets" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/99/5b/a36a337438a14116b16480db471ad061c36c3694df7c2084a0da7ba538b7/matplotlib_inline-0.1.7.tar.gz", hash = "sha256:8423b23ec666be3d16e16b60bdd8ac4e86e840ebd1dd11a30b9f117f2fa0ab90", size = 8159 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/8f/8e/9ad090d3553c280a8060fbf6e24dc1c0c29704ee7d1c372f0c174aa59285/matplotlib_inline-0.1.7-py3-none-any.whl", hash = "sha256:df192d39a4ff8f21b1895d72e6a13f5fcc5099f00fa84384e0ea28c2cc0653ca", size = 9899 }, +] + +[[package]] +name = "mdit-py-plugins" +version = "0.4.2" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "markdown-it-py" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/19/03/a2ecab526543b152300717cf232bb4bb8605b6edb946c845016fa9c9c9fd/mdit_py_plugins-0.4.2.tar.gz", hash = "sha256:5f2cd1fdb606ddf152d37ec30e46101a60512bc0e5fa1a7002c36647b09e26b5", size = 43542 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/a7/f7/7782a043553ee469c1ff49cfa1cdace2d6bf99a1f333cf38676b3ddf30da/mdit_py_plugins-0.4.2-py3-none-any.whl", hash = "sha256:0c673c3f889399a33b95e88d2f0d111b4447bdfea7f237dab2d488f459835636", size = 55316 }, +] + +[[package]] +name = "mdurl" +version = "0.1.2" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/d6/54/cfe61301667036ec958cb99bd3efefba235e65cdeb9c84d24a8293ba1d90/mdurl-0.1.2.tar.gz", hash = "sha256:bb413d29f5eea38f31dd4754dd7377d4465116fb207585f97bf925588687c1ba", size = 8729 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/b3/38/89ba8ad64ae25be8de66a6d463314cf1eb366222074cfda9ee839c56a4b4/mdurl-0.1.2-py3-none-any.whl", hash = "sha256:84008a41e51615a49fc9966191ff91509e3c40b939176e643fd50a5c2196b8f8", size = 9979 }, +] + +[[package]] +name = "mergedeep" +version = "1.3.4" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/3a/41/580bb4006e3ed0361b8151a01d324fb03f420815446c7def45d02f74c270/mergedeep-1.3.4.tar.gz", hash = "sha256:0096d52e9dad9939c3d975a774666af186eda617e6ca84df4c94dec30004f2a8", size = 4661 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/2c/19/04f9b178c2d8a15b076c8b5140708fa6ffc5601fb6f1e975537072df5b2a/mergedeep-1.3.4-py3-none-any.whl", hash = "sha256:70775750742b25c0d8f36c55aed03d24c3384d17c951b3175d898bd778ef0307", size = 6354 }, +] + +[[package]] +name = "mike" +version = "2.1.3" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "importlib-metadata" }, + { name = "importlib-resources", version = "6.4.5", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.9'" }, + { name = "importlib-resources", version = "6.5.2", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.9'" }, + { name = "jinja2" }, + { name = "mkdocs" }, + { name = "pyparsing", version = "3.1.4", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.9'" }, + { name = "pyparsing", version = "3.2.1", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.9'" }, + { name = "pyyaml" }, + { name = "pyyaml-env-tag" }, + { name = "verspec" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/ab/f7/2933f1a1fb0e0f077d5d6a92c6c7f8a54e6128241f116dff4df8b6050bbf/mike-2.1.3.tar.gz", hash = "sha256:abd79b8ea483fb0275b7972825d3082e5ae67a41820f8d8a0dc7a3f49944e810", size = 38119 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/fd/1a/31b7cd6e4e7a02df4e076162e9783620777592bea9e4bb036389389af99d/mike-2.1.3-py3-none-any.whl", hash = "sha256:d90c64077e84f06272437b464735130d380703a76a5738b152932884c60c062a", size = 33754 }, +] + +[[package]] +name = "mistune" +version = "3.1.0" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "typing-extensions", marker = "python_full_version < '3.11'" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/79/6e/96fc7cb3288666c5de2c396eb0e338dc95f7a8e4920e43e38783a22d0084/mistune-3.1.0.tar.gz", hash = "sha256:dbcac2f78292b9dc066cd03b7a3a26b62d85f8159f2ea5fd28e55df79908d667", size = 94401 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/b4/b3/743ffc3f59da380da504d84ccd1faf9a857a1445991ff19bf2ec754163c2/mistune-3.1.0-py3-none-any.whl", hash = "sha256:b05198cf6d671b3deba6c87ec6cf0d4eb7b72c524636eddb6dbf13823b52cee1", size = 53694 }, +] + +[[package]] +name = "mkdocs" +version = "1.6.1" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "click" }, + { name = "colorama", marker = "sys_platform == 'win32'" }, + { name = "ghp-import" }, + { name = "importlib-metadata", marker = "python_full_version < '3.10'" }, + { name = "jinja2" }, + { name = "markdown" }, + { name = "markupsafe", version = "2.1.5", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.9'" }, + { name = "markupsafe", version = "3.0.2", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.9'" }, + { name = "mergedeep" }, + { name = "mkdocs-get-deps" }, + { name = "packaging" }, + { name = "pathspec" }, + { name = "pyyaml" }, + { name = "pyyaml-env-tag" }, + { name = "watchdog", version = "4.0.2", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.9'" }, + { name = "watchdog", version = "6.0.0", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.9'" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/bc/c6/bbd4f061bd16b378247f12953ffcb04786a618ce5e904b8c5a01a0309061/mkdocs-1.6.1.tar.gz", hash = "sha256:7b432f01d928c084353ab39c57282f29f92136665bdd6abf7c1ec8d822ef86f2", size = 3889159 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/22/5b/dbc6a8cddc9cfa9c4971d59fb12bb8d42e161b7e7f8cc89e49137c5b279c/mkdocs-1.6.1-py3-none-any.whl", hash = "sha256:db91759624d1647f3f34aa0c3f327dd2601beae39a366d6e064c03468d35c20e", size = 3864451 }, +] + +[[package]] +name = "mkdocs-autorefs" +version = "1.2.0" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "markdown" }, + { name = "markupsafe", version = "2.1.5", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.9'" }, + { name = "markupsafe", version = "3.0.2", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.9'" }, + { name = "mkdocs" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/fb/ae/0f1154c614d6a8b8a36fff084e5b82af3a15f7d2060cf0dcdb1c53297a71/mkdocs_autorefs-1.2.0.tar.gz", hash = "sha256:a86b93abff653521bda71cf3fc5596342b7a23982093915cb74273f67522190f", size = 40262 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/71/26/4d39d52ea2219604053a4d05b98e90d6a335511cc01806436ec4886b1028/mkdocs_autorefs-1.2.0-py3-none-any.whl", hash = "sha256:d588754ae89bd0ced0c70c06f58566a4ee43471eeeee5202427da7de9ef85a2f", size = 16522 }, +] + +[[package]] +name = "mkdocs-get-deps" +version = "0.2.0" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "importlib-metadata", marker = "python_full_version < '3.10'" }, + { name = "mergedeep" }, + { name = "platformdirs" }, + { name = "pyyaml" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/98/f5/ed29cd50067784976f25ed0ed6fcd3c2ce9eb90650aa3b2796ddf7b6870b/mkdocs_get_deps-0.2.0.tar.gz", hash = "sha256:162b3d129c7fad9b19abfdcb9c1458a651628e4b1dea628ac68790fb3061c60c", size = 10239 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/9f/d4/029f984e8d3f3b6b726bd33cafc473b75e9e44c0f7e80a5b29abc466bdea/mkdocs_get_deps-0.2.0-py3-none-any.whl", hash = "sha256:2bf11d0b133e77a0dd036abeeb06dec8775e46efa526dc70667d8863eefc6134", size = 9521 }, +] + +[[package]] +name = "mkdocs-git-committers-plugin-2" +version = "2.4.1" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "gitpython" }, + { name = "mkdocs" }, + { name = "requests" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/36/4a/783d1c2683bc577bfe875646ce68bc9e0d845d0817a96f2a057033fdc64e/mkdocs_git_committers_plugin_2-2.4.1.tar.gz", hash = "sha256:ea1f80a79cedc42289e0b8e973276df04fb94f56e0ae3efc5385fb28547cf5cb", size = 14924 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/7d/a7/1f5ea492f6b441fa84157608608a8d211bea322ecc0957e738b83e22cb0c/mkdocs_git_committers_plugin_2-2.4.1-py3-none-any.whl", hash = "sha256:ec9c1d81445606c471337d1c4a1782c643b7377077b545279dc18b86b7362c6d", size = 11614 }, +] + +[[package]] +name = "mkdocs-git-revision-date-localized-plugin" +version = "1.3.0" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "babel" }, + { name = "gitpython" }, + { name = "mkdocs" }, + { name = "pytz" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/73/85/6dc9d4eca486ed5734a05f7fd5c612a8e60a35e65610dad6aa9c58118c3f/mkdocs_git_revision_date_localized_plugin-1.3.0.tar.gz", hash = "sha256:439e2f14582204050a664c258861c325064d97cdc848c541e48bb034a6c4d0cb", size = 384797 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/67/e5/ffeb92db53af8c3aa2d92e21a3cf6b5f83eee7e03b9cf9234ef6b30230d5/mkdocs_git_revision_date_localized_plugin-1.3.0-py3-none-any.whl", hash = "sha256:c99377ee119372d57a9e47cff4e68f04cce634a74831c06bc89b33e456e840a1", size = 22549 }, +] + +[[package]] +name = "mkdocs-jupyter" +version = "0.24.8" +source = { registry = "https://pypi.org/simple" } +resolution-markers = [ + "python_full_version < '3.9' and platform_machine == 'arm64' and sys_platform == 'darwin'", + "python_full_version < '3.9' and platform_machine == 'aarch64' and sys_platform == 'linux'", + "(python_full_version < '3.9' and platform_machine != 'arm64' and sys_platform == 'darwin') or (python_full_version < '3.9' and platform_machine != 'aarch64' and sys_platform == 'linux') or (python_full_version < '3.9' and sys_platform != 'darwin' and sys_platform != 'linux')", +] +dependencies = [ + { name = "ipykernel", marker = "python_full_version < '3.9'" }, + { name = "jupytext", marker = "python_full_version < '3.9'" }, + { name = "mkdocs", marker = "python_full_version < '3.9'" }, + { name = "mkdocs-material", marker = "python_full_version < '3.9'" }, + { name = "nbconvert", marker = "python_full_version < '3.9'" }, + { name = "pygments", marker = "python_full_version < '3.9'" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/43/91/817bf07f4b1ce9b50d7d33e059e6cd5792951971a530b64665dd6cbf1324/mkdocs_jupyter-0.24.8.tar.gz", hash = "sha256:09a762f484d540d9c0e944d34b28cb536a32869e224b460e2fc791b143f76940", size = 1531510 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/e1/48/1e320da0e16e926ba4a9a8800df48963fce27b1287c8d1859041a2f85e26/mkdocs_jupyter-0.24.8-py3-none-any.whl", hash = "sha256:36438a0a653eee2c27c6a8f7006e645f18693699c9b8ac44ffde830ddb08fa16", size = 1444481 }, +] + +[[package]] +name = "mkdocs-jupyter" +version = "0.25.1" +source = { registry = "https://pypi.org/simple" } +resolution-markers = [ + "python_full_version >= '3.13' and sys_platform == 'darwin'", + "python_full_version >= '3.13' and platform_machine == 'aarch64' and sys_platform == 'linux'", + "(python_full_version >= '3.13' and platform_machine != 'aarch64' and sys_platform == 'linux') or (python_full_version >= '3.13' and sys_platform != 'darwin' and sys_platform != 'linux')", + "python_full_version == '3.12.*' and sys_platform == 'darwin'", + "python_full_version == '3.12.*' and platform_machine == 'aarch64' and sys_platform == 'linux'", + "(python_full_version == '3.12.*' and platform_machine != 'aarch64' and sys_platform == 'linux') or (python_full_version == '3.12.*' and sys_platform != 'darwin' and sys_platform != 'linux')", + "python_full_version == '3.11.*' and sys_platform == 'darwin'", + "python_full_version == '3.11.*' and platform_machine == 'aarch64' and sys_platform == 'linux'", + "(python_full_version == '3.11.*' and platform_machine != 'aarch64' and sys_platform == 'linux') or (python_full_version == '3.11.*' and sys_platform != 'darwin' and sys_platform != 'linux')", + "python_full_version == '3.10.*' and sys_platform == 'darwin'", + "python_full_version == '3.10.*' and platform_machine == 'aarch64' and sys_platform == 'linux'", + "(python_full_version == '3.10.*' and platform_machine != 'aarch64' and sys_platform == 'linux') or (python_full_version == '3.10.*' and sys_platform != 'darwin' and sys_platform != 'linux')", + "python_full_version == '3.9.*' and platform_machine == 'arm64' and sys_platform == 'darwin'", + "python_full_version == '3.9.*' and platform_machine == 'aarch64' and sys_platform == 'linux'", + "(python_full_version == '3.9.*' and platform_machine != 'arm64' and sys_platform == 'darwin') or (python_full_version == '3.9.*' and platform_machine != 'aarch64' and sys_platform == 'linux') or (python_full_version == '3.9.*' and sys_platform != 'darwin' and sys_platform != 'linux')", +] +dependencies = [ + { name = "ipykernel", marker = "python_full_version >= '3.9'" }, + { name = "jupytext", marker = "python_full_version >= '3.9'" }, + { name = "mkdocs", marker = "python_full_version >= '3.9'" }, + { name = "mkdocs-material", marker = "python_full_version >= '3.9'" }, + { name = "nbconvert", marker = "python_full_version >= '3.9'" }, + { name = "pygments", marker = "python_full_version >= '3.9'" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/6c/23/6ffb8d2fd2117aa860a04c6fe2510b21bc3c3c085907ffdd851caba53152/mkdocs_jupyter-0.25.1.tar.gz", hash = "sha256:0e9272ff4947e0ec683c92423a4bfb42a26477c103ab1a6ab8277e2dcc8f7afe", size = 1626747 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/08/37/5f1fd5c3f6954b3256f8126275e62af493b96fb6aef6c0dbc4ee326032ad/mkdocs_jupyter-0.25.1-py3-none-any.whl", hash = "sha256:3f679a857609885d322880e72533ef5255561bbfdb13cfee2a1e92ef4d4ad8d8", size = 1456197 }, +] + +[[package]] +name = "mkdocs-material" +version = "9.5.49" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "babel" }, + { name = "colorama" }, + { name = "jinja2" }, + { name = "markdown" }, + { name = "mkdocs" }, + { name = "mkdocs-material-extensions" }, + { name = "paginate" }, + { name = "pygments" }, + { name = "pymdown-extensions" }, + { name = "regex" }, + { name = "requests" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/e2/14/8daeeecee2e25bd84239a843fdcb92b20db88ebbcb26e0d32f414ca54a22/mkdocs_material-9.5.49.tar.gz", hash = "sha256:3671bb282b4f53a1c72e08adbe04d2481a98f85fed392530051f80ff94a9621d", size = 3949559 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/fc/2d/2dd23a36b48421db54f118bb6f6f733dbe2d5c78fe7867375e48649fd3df/mkdocs_material-9.5.49-py3-none-any.whl", hash = "sha256:c3c2d8176b18198435d3a3e119011922f3e11424074645c24019c2dcf08a360e", size = 8684098 }, +] + +[package.optional-dependencies] +imaging = [ + { name = "cairosvg" }, + { name = "pillow" }, +] + +[[package]] +name = "mkdocs-material-extensions" +version = "1.3.1" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/79/9b/9b4c96d6593b2a541e1cb8b34899a6d021d208bb357042823d4d2cabdbe7/mkdocs_material_extensions-1.3.1.tar.gz", hash = "sha256:10c9511cea88f568257f960358a467d12b970e1f7b2c0e5fb2bb48cab1928443", size = 11847 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/5b/54/662a4743aa81d9582ee9339d4ffa3c8fd40a4965e033d77b9da9774d3960/mkdocs_material_extensions-1.3.1-py3-none-any.whl", hash = "sha256:adff8b62700b25cb77b53358dad940f3ef973dd6db797907c49e3c2ef3ab4e31", size = 8728 }, +] + +[[package]] +name = "mkdocstrings" +version = "0.26.1" +source = { registry = "https://pypi.org/simple" } +resolution-markers = [ + "python_full_version < '3.9' and platform_machine == 'arm64' and sys_platform == 'darwin'", + "python_full_version < '3.9' and platform_machine == 'aarch64' and sys_platform == 'linux'", + "(python_full_version < '3.9' and platform_machine != 'arm64' and sys_platform == 'darwin') or (python_full_version < '3.9' and platform_machine != 'aarch64' and sys_platform == 'linux') or (python_full_version < '3.9' and sys_platform != 'darwin' and sys_platform != 'linux')", +] +dependencies = [ + { name = "click", marker = "python_full_version < '3.9'" }, + { name = "importlib-metadata", marker = "python_full_version < '3.9'" }, + { name = "jinja2", marker = "python_full_version < '3.9'" }, + { name = "markdown", marker = "python_full_version < '3.9'" }, + { name = "markupsafe", version = "2.1.5", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.9'" }, + { name = "mkdocs", marker = "python_full_version < '3.9'" }, + { name = "mkdocs-autorefs", marker = "python_full_version < '3.9'" }, + { name = "platformdirs", marker = "python_full_version < '3.9'" }, + { name = "pymdown-extensions", marker = "python_full_version < '3.9'" }, + { name = "typing-extensions", marker = "python_full_version < '3.9'" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/e6/bf/170ff04de72227f715d67da32950c7b8434449f3805b2ec3dd1085db4d7c/mkdocstrings-0.26.1.tar.gz", hash = "sha256:bb8b8854d6713d5348ad05b069a09f3b79edbc6a0f33a34c6821141adb03fe33", size = 92677 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/23/cc/8ba127aaee5d1e9046b0d33fa5b3d17da95a9d705d44902792e0569257fd/mkdocstrings-0.26.1-py3-none-any.whl", hash = "sha256:29738bfb72b4608e8e55cc50fb8a54f325dc7ebd2014e4e3881a49892d5983cf", size = 29643 }, +] + +[[package]] +name = "mkdocstrings" +version = "0.26.2" +source = { registry = "https://pypi.org/simple" } +resolution-markers = [ + "python_full_version >= '3.13' and sys_platform == 'darwin'", + "python_full_version >= '3.13' and platform_machine == 'aarch64' and sys_platform == 'linux'", + "(python_full_version >= '3.13' and platform_machine != 'aarch64' and sys_platform == 'linux') or (python_full_version >= '3.13' and sys_platform != 'darwin' and sys_platform != 'linux')", + "python_full_version == '3.12.*' and sys_platform == 'darwin'", + "python_full_version == '3.12.*' and platform_machine == 'aarch64' and sys_platform == 'linux'", + "(python_full_version == '3.12.*' and platform_machine != 'aarch64' and sys_platform == 'linux') or (python_full_version == '3.12.*' and sys_platform != 'darwin' and sys_platform != 'linux')", + "python_full_version == '3.11.*' and sys_platform == 'darwin'", + "python_full_version == '3.11.*' and platform_machine == 'aarch64' and sys_platform == 'linux'", + "(python_full_version == '3.11.*' and platform_machine != 'aarch64' and sys_platform == 'linux') or (python_full_version == '3.11.*' and sys_platform != 'darwin' and sys_platform != 'linux')", + "python_full_version == '3.10.*' and sys_platform == 'darwin'", + "python_full_version == '3.10.*' and platform_machine == 'aarch64' and sys_platform == 'linux'", + "(python_full_version == '3.10.*' and platform_machine != 'aarch64' and sys_platform == 'linux') or (python_full_version == '3.10.*' and sys_platform != 'darwin' and sys_platform != 'linux')", + "python_full_version == '3.9.*' and platform_machine == 'arm64' and sys_platform == 'darwin'", + "python_full_version == '3.9.*' and platform_machine == 'aarch64' and sys_platform == 'linux'", + "(python_full_version == '3.9.*' and platform_machine != 'arm64' and sys_platform == 'darwin') or (python_full_version == '3.9.*' and platform_machine != 'aarch64' and sys_platform == 'linux') or (python_full_version == '3.9.*' and sys_platform != 'darwin' and sys_platform != 'linux')", +] +dependencies = [ + { name = "click", marker = "python_full_version >= '3.9'" }, + { name = "importlib-metadata", marker = "python_full_version == '3.9.*'" }, + { name = "jinja2", marker = "python_full_version >= '3.9'" }, + { name = "markdown", marker = "python_full_version >= '3.9'" }, + { name = "markupsafe", version = "3.0.2", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.9'" }, + { name = "mkdocs", marker = "python_full_version >= '3.9'" }, + { name = "mkdocs-autorefs", marker = "python_full_version >= '3.9'" }, + { name = "platformdirs", marker = "python_full_version >= '3.9'" }, + { name = "pymdown-extensions", marker = "python_full_version >= '3.9'" }, + { name = "typing-extensions", marker = "python_full_version == '3.9.*'" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/c0/76/0475d10d27f3384df3a6ddfdf4a4fdfef83766f77cd4e327d905dc956c15/mkdocstrings-0.26.2.tar.gz", hash = "sha256:34a8b50f1e6cfd29546c6c09fbe02154adfb0b361bb758834bf56aa284ba876e", size = 92512 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/80/b6/4ee320d7c313da3774eff225875eb278f7e6bb26a9cd8e680b8dbc38fdea/mkdocstrings-0.26.2-py3-none-any.whl", hash = "sha256:1248f3228464f3b8d1a15bd91249ce1701fe3104ac517a5f167a0e01ca850ba5", size = 29716 }, +] + +[[package]] +name = "mkdocstrings-python" +version = "1.11.1" +source = { registry = "https://pypi.org/simple" } +resolution-markers = [ + "python_full_version < '3.9' and platform_machine == 'arm64' and sys_platform == 'darwin'", + "python_full_version < '3.9' and platform_machine == 'aarch64' and sys_platform == 'linux'", + "(python_full_version < '3.9' and platform_machine != 'arm64' and sys_platform == 'darwin') or (python_full_version < '3.9' and platform_machine != 'aarch64' and sys_platform == 'linux') or (python_full_version < '3.9' and sys_platform != 'darwin' and sys_platform != 'linux')", +] +dependencies = [ + { name = "griffe", version = "1.4.0", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.9'" }, + { name = "mkdocs-autorefs", marker = "python_full_version < '3.9'" }, + { name = "mkdocstrings", version = "0.26.1", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.9'" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/fc/ba/534c934cd0a809f51c91332d6ed278782ee4126b8ba8db02c2003f162b47/mkdocstrings_python-1.11.1.tar.gz", hash = "sha256:8824b115c5359304ab0b5378a91f6202324a849e1da907a3485b59208b797322", size = 166890 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/2f/f2/2a2c48fda645ac6bbe73bcc974587a579092b6868e6ff8bc6d177f4db38a/mkdocstrings_python-1.11.1-py3-none-any.whl", hash = "sha256:a21a1c05acef129a618517bb5aae3e33114f569b11588b1e7af3e9d4061a71af", size = 109297 }, +] + +[[package]] +name = "mkdocstrings-python" +version = "1.13.0" +source = { registry = "https://pypi.org/simple" } +resolution-markers = [ + "python_full_version >= '3.13' and sys_platform == 'darwin'", + "python_full_version >= '3.13' and platform_machine == 'aarch64' and sys_platform == 'linux'", + "(python_full_version >= '3.13' and platform_machine != 'aarch64' and sys_platform == 'linux') or (python_full_version >= '3.13' and sys_platform != 'darwin' and sys_platform != 'linux')", + "python_full_version == '3.12.*' and sys_platform == 'darwin'", + "python_full_version == '3.12.*' and platform_machine == 'aarch64' and sys_platform == 'linux'", + "(python_full_version == '3.12.*' and platform_machine != 'aarch64' and sys_platform == 'linux') or (python_full_version == '3.12.*' and sys_platform != 'darwin' and sys_platform != 'linux')", + "python_full_version == '3.11.*' and sys_platform == 'darwin'", + "python_full_version == '3.11.*' and platform_machine == 'aarch64' and sys_platform == 'linux'", + "(python_full_version == '3.11.*' and platform_machine != 'aarch64' and sys_platform == 'linux') or (python_full_version == '3.11.*' and sys_platform != 'darwin' and sys_platform != 'linux')", + "python_full_version == '3.10.*' and sys_platform == 'darwin'", + "python_full_version == '3.10.*' and platform_machine == 'aarch64' and sys_platform == 'linux'", + "(python_full_version == '3.10.*' and platform_machine != 'aarch64' and sys_platform == 'linux') or (python_full_version == '3.10.*' and sys_platform != 'darwin' and sys_platform != 'linux')", + "python_full_version == '3.9.*' and platform_machine == 'arm64' and sys_platform == 'darwin'", + "python_full_version == '3.9.*' and platform_machine == 'aarch64' and sys_platform == 'linux'", + "(python_full_version == '3.9.*' and platform_machine != 'arm64' and sys_platform == 'darwin') or (python_full_version == '3.9.*' and platform_machine != 'aarch64' and sys_platform == 'linux') or (python_full_version == '3.9.*' and sys_platform != 'darwin' and sys_platform != 'linux')", +] +dependencies = [ + { name = "griffe", version = "1.5.4", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.9'" }, + { name = "mkdocs-autorefs", marker = "python_full_version >= '3.9'" }, + { name = "mkdocstrings", version = "0.26.2", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.9'" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/ab/ae/32703e35d74040051c672400fd9f5f2b48a6ea094f5071dd8a0e3be35322/mkdocstrings_python-1.13.0.tar.gz", hash = "sha256:2dbd5757e8375b9720e81db16f52f1856bf59905428fd7ef88005d1370e2f64c", size = 185697 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/51/23/d02d86553327296c3bf369d444194ea83410cce8f0e690565264f37f3261/mkdocstrings_python-1.13.0-py3-none-any.whl", hash = "sha256:b88bbb207bab4086434743849f8e796788b373bd32e7bfefbf8560ac45d88f97", size = 112254 }, +] + +[[package]] +name = "more-itertools" +version = "10.5.0" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/51/78/65922308c4248e0eb08ebcbe67c95d48615cc6f27854b6f2e57143e9178f/more-itertools-10.5.0.tar.gz", hash = "sha256:5482bfef7849c25dc3c6dd53a6173ae4795da2a41a80faea6700d9f5846c5da6", size = 121020 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/48/7e/3a64597054a70f7c86eb0a7d4fc315b8c1ab932f64883a297bdffeb5f967/more_itertools-10.5.0-py3-none-any.whl", hash = "sha256:037b0d3203ce90cca8ab1defbbdac29d5f993fc20131f3664dc8d6acfa872aef", size = 60952 }, +] + +[[package]] +name = "nbclient" +version = "0.10.1" +source = { registry = "https://pypi.org/simple" } +resolution-markers = [ + "python_full_version < '3.9' and platform_machine == 'arm64' and sys_platform == 'darwin'", + "python_full_version < '3.9' and platform_machine == 'aarch64' and sys_platform == 'linux'", + "(python_full_version < '3.9' and platform_machine != 'arm64' and sys_platform == 'darwin') or (python_full_version < '3.9' and platform_machine != 'aarch64' and sys_platform == 'linux') or (python_full_version < '3.9' and sys_platform != 'darwin' and sys_platform != 'linux')", +] +dependencies = [ + { name = "jupyter-client", marker = "python_full_version < '3.9'" }, + { name = "jupyter-core", marker = "python_full_version < '3.9'" }, + { name = "nbformat", marker = "python_full_version < '3.9'" }, + { name = "traitlets", marker = "python_full_version < '3.9'" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/06/db/25929926860ba8a3f6123d2d0a235e558e0e4be7b46e9db063a7dfefa0a2/nbclient-0.10.1.tar.gz", hash = "sha256:3e93e348ab27e712acd46fccd809139e356eb9a31aab641d1a7991a6eb4e6f68", size = 62273 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/26/1a/ed6d1299b1a00c1af4a033fdee565f533926d819e084caf0d2832f6f87c6/nbclient-0.10.1-py3-none-any.whl", hash = "sha256:949019b9240d66897e442888cfb618f69ef23dc71c01cb5fced8499c2cfc084d", size = 25344 }, +] + +[[package]] +name = "nbclient" +version = "0.10.2" +source = { registry = "https://pypi.org/simple" } +resolution-markers = [ + "python_full_version >= '3.13' and sys_platform == 'darwin'", + "python_full_version >= '3.13' and platform_machine == 'aarch64' and sys_platform == 'linux'", + "(python_full_version >= '3.13' and platform_machine != 'aarch64' and sys_platform == 'linux') or (python_full_version >= '3.13' and sys_platform != 'darwin' and sys_platform != 'linux')", + "python_full_version == '3.12.*' and sys_platform == 'darwin'", + "python_full_version == '3.12.*' and platform_machine == 'aarch64' and sys_platform == 'linux'", + "(python_full_version == '3.12.*' and platform_machine != 'aarch64' and sys_platform == 'linux') or (python_full_version == '3.12.*' and sys_platform != 'darwin' and sys_platform != 'linux')", + "python_full_version == '3.11.*' and sys_platform == 'darwin'", + "python_full_version == '3.11.*' and platform_machine == 'aarch64' and sys_platform == 'linux'", + "(python_full_version == '3.11.*' and platform_machine != 'aarch64' and sys_platform == 'linux') or (python_full_version == '3.11.*' and sys_platform != 'darwin' and sys_platform != 'linux')", + "python_full_version == '3.10.*' and sys_platform == 'darwin'", + "python_full_version == '3.10.*' and platform_machine == 'aarch64' and sys_platform == 'linux'", + "(python_full_version == '3.10.*' and platform_machine != 'aarch64' and sys_platform == 'linux') or (python_full_version == '3.10.*' and sys_platform != 'darwin' and sys_platform != 'linux')", + "python_full_version == '3.9.*' and platform_machine == 'arm64' and sys_platform == 'darwin'", + "python_full_version == '3.9.*' and platform_machine == 'aarch64' and sys_platform == 'linux'", + "(python_full_version == '3.9.*' and platform_machine != 'arm64' and sys_platform == 'darwin') or (python_full_version == '3.9.*' and platform_machine != 'aarch64' and sys_platform == 'linux') or (python_full_version == '3.9.*' and sys_platform != 'darwin' and sys_platform != 'linux')", +] +dependencies = [ + { name = "jupyter-client", marker = "python_full_version >= '3.9'" }, + { name = "jupyter-core", marker = "python_full_version >= '3.9'" }, + { name = "nbformat", marker = "python_full_version >= '3.9'" }, + { name = "traitlets", marker = "python_full_version >= '3.9'" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/87/66/7ffd18d58eae90d5721f9f39212327695b749e23ad44b3881744eaf4d9e8/nbclient-0.10.2.tar.gz", hash = "sha256:90b7fc6b810630db87a6d0c2250b1f0ab4cf4d3c27a299b0cde78a4ed3fd9193", size = 62424 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/34/6d/e7fa07f03a4a7b221d94b4d586edb754a9b0dc3c9e2c93353e9fa4e0d117/nbclient-0.10.2-py3-none-any.whl", hash = "sha256:4ffee11e788b4a27fabeb7955547e4318a5298f34342a4bfd01f2e1faaeadc3d", size = 25434 }, +] + +[[package]] +name = "nbconvert" +version = "7.16.5" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "beautifulsoup4" }, + { name = "bleach", version = "6.1.0", source = { registry = "https://pypi.org/simple" }, extra = ["css"], marker = "python_full_version < '3.9'" }, + { name = "bleach", version = "6.2.0", source = { registry = "https://pypi.org/simple" }, extra = ["css"], marker = "python_full_version >= '3.9'" }, + { name = "defusedxml" }, + { name = "importlib-metadata", marker = "python_full_version < '3.10'" }, + { name = "jinja2" }, + { name = "jupyter-core" }, + { name = "jupyterlab-pygments" }, + { name = "markupsafe", version = "2.1.5", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.9'" }, + { name = "markupsafe", version = "3.0.2", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.9'" }, + { name = "mistune" }, + { name = "nbclient", version = "0.10.1", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.9'" }, + { name = "nbclient", version = "0.10.2", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.9'" }, + { name = "nbformat" }, + { name = "packaging" }, + { name = "pandocfilters" }, + { name = "pygments" }, + { name = "traitlets" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/46/2c/d026c0367f2be2463d4c2f5b538e28add2bc67bc13730abb7f364ae4eb8b/nbconvert-7.16.5.tar.gz", hash = "sha256:c83467bb5777fdfaac5ebbb8e864f300b277f68692ecc04d6dab72f2d8442344", size = 856367 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/8f/9e/2dcc9fe00cf55d95a8deae69384e9cea61816126e345754f6c75494d32ec/nbconvert-7.16.5-py3-none-any.whl", hash = "sha256:e12eac052d6fd03040af4166c563d76e7aeead2e9aadf5356db552a1784bd547", size = 258061 }, +] + +[[package]] +name = "nbformat" +version = "5.10.4" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "fastjsonschema" }, + { name = "jsonschema" }, + { name = "jupyter-core" }, + { name = "traitlets" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/6d/fd/91545e604bc3dad7dca9ed03284086039b294c6b3d75c0d2fa45f9e9caf3/nbformat-5.10.4.tar.gz", hash = "sha256:322168b14f937a5d11362988ecac2a4952d3d8e3a2cbeb2319584631226d5b3a", size = 142749 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/a9/82/0340caa499416c78e5d8f5f05947ae4bc3cba53c9f038ab6e9ed964e22f1/nbformat-5.10.4-py3-none-any.whl", hash = "sha256:3b48d6c8fbca4b299bf3982ea7db1af21580e4fec269ad087b9e81588891200b", size = 78454 }, +] + +[[package]] +name = "nest-asyncio" +version = "1.6.0" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/83/f8/51569ac65d696c8ecbee95938f89d4abf00f47d58d48f6fbabfe8f0baefe/nest_asyncio-1.6.0.tar.gz", hash = "sha256:6f172d5449aca15afd6c646851f4e31e02c598d553a667e38cafa997cfec55fe", size = 7418 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/a0/c4/c2971a3ba4c6103a3d10c4b0f24f461ddc027f0f09763220cf35ca1401b3/nest_asyncio-1.6.0-py3-none-any.whl", hash = "sha256:87af6efd6b5e897c81050477ef65c62e2b2f35d51703cae01aff2905b1852e1c", size = 5195 }, +] + +[[package]] +name = "nh3" +version = "0.2.20" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/46/f2/eb781d94c7855e9129cbbdd3ab09a470441e4176a82a396ae1df270a7333/nh3-0.2.20.tar.gz", hash = "sha256:9705c42d7ff88a0bea546c82d7fe5e59135e3d3f057e485394f491248a1f8ed5", size = 17489 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/3c/65/d31d93b6d1e5fe80d0cc18f0b96eaa561edfa0a15a6ef6b0fce50202a931/nh3-0.2.20-cp313-cp313t-macosx_10_12_x86_64.macosx_11_0_arm64.macosx_10_12_universal2.whl", hash = "sha256:e1061a4ab6681f6bdf72b110eea0c4e1379d57c9de937db3be4202f7ad6043db", size = 1202187 }, + { url = "https://files.pythonhosted.org/packages/b4/ae/5b03bf198e06921454012e4b9a51e676d26fd37d9fdc1f29371a0b380487/nh3-0.2.20-cp313-cp313t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:eb4254b1dac4a1ee49919a5b3f1caf9803ea8dada1816d9e8289e63d3cd0dd9a", size = 737822 }, + { url = "https://files.pythonhosted.org/packages/0a/53/a12dffb6ee3772deba82eb5997667fc835afd2e813d1f4080d8738f29eec/nh3-0.2.20-cp313-cp313t-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:0ae9cbd713524cdb81e64663d0d6aae26f678db9f2cd9db0bf162606f1f9f20c", size = 756643 }, + { url = "https://files.pythonhosted.org/packages/d0/0c/6cd2c5ac3e6e31f2a28721e8e2a924cb6b05ad054bf787bd1816ffd40b96/nh3-0.2.20-cp313-cp313t-musllinux_1_2_aarch64.whl", hash = "sha256:e1f7370b4e14cc03f5ae141ef30a1caf81fa5787711f80be9081418dd9eb79d2", size = 923415 }, + { url = "https://files.pythonhosted.org/packages/64/f0/229a6c8b81b86ba22d8e7f27ade62cb2fcfb987e570f49944fdd8490a76a/nh3-0.2.20-cp313-cp313t-musllinux_1_2_armv7l.whl", hash = "sha256:ac4d27dc836a476efffc6eb661994426b8b805c951b29c9cf2ff36bc9ad58bc5", size = 994959 }, + { url = "https://files.pythonhosted.org/packages/75/e3/62ae3d3b658739ee15b129356fe6d4c4bc8ab235d7bf2e0d2794d64f7bc6/nh3-0.2.20-cp313-cp313t-musllinux_1_2_i686.whl", hash = "sha256:4fd2e9248725ebcedac3997a8d3da0d90a12a28c9179c6ba51f1658938ac30d0", size = 915777 }, + { url = "https://files.pythonhosted.org/packages/45/bd/8405d03371e335f02eb72e09dcf73307f8fd3095e4165cec6836346fe3db/nh3-0.2.20-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:f7d564871833ddbe54df3aa59053b1110729d3a800cb7628ae8f42adb3d75208", size = 908614 }, + { url = "https://files.pythonhosted.org/packages/ee/f8/5d977f09cf82c1f22a864375f471db111530fc79c88efdf0659fe6d3d6bc/nh3-0.2.20-cp313-cp313t-win32.whl", hash = "sha256:d2a176fd4306b6f0f178a3f67fac91bd97a3a8d8fafb771c9b9ef675ba5c8886", size = 540482 }, + { url = "https://files.pythonhosted.org/packages/c5/f4/e34afe5fd8bed1920eac2974c9c853f548b4b65c139444285ffd2a68495d/nh3-0.2.20-cp313-cp313t-win_amd64.whl", hash = "sha256:6ed834c68452a600f517dd3e1534dbfaff1f67f98899fecf139a055a25d99150", size = 541302 }, + { url = "https://files.pythonhosted.org/packages/92/08/5e3b61eed1bc0efeb330ddc5cf5194f28a0b7be7943aa20bd44cfe14650b/nh3-0.2.20-cp38-abi3-macosx_10_12_x86_64.macosx_11_0_arm64.macosx_10_12_universal2.whl", hash = "sha256:76e2f603b30c02ff6456b233a83fc377dedab6a50947b04e960a6b905637b776", size = 1202141 }, + { url = "https://files.pythonhosted.org/packages/29/d2/3377f8006c71e95e007b07b5bfcac22c9de4744ca3efb23b396d3deb9581/nh3-0.2.20-cp38-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:181063c581defe683bd4bb78188ac9936d208aebbc74c7f7c16b6a32ae2ebb38", size = 760699 }, + { url = "https://files.pythonhosted.org/packages/37/d7/7077f925d7d680d53dcb6e18a4af13d1a7da59761c06c193bfa249a7470a/nh3-0.2.20-cp38-abi3-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:231addb7643c952cd6d71f1c8702d703f8fe34afcb20becb3efb319a501a12d7", size = 747353 }, + { url = "https://files.pythonhosted.org/packages/cb/59/6b2f32af477aae81f1454a7f6ef490ebc3c22dd9e1370e73fcfe243dc07a/nh3-0.2.20-cp38-abi3-manylinux_2_17_ppc64.manylinux2014_ppc64.whl", hash = "sha256:1b9a8340a0aab991c68a5ca938d35ef4a8a3f4bf1b455da8855a40bee1fa0ace", size = 854125 }, + { url = "https://files.pythonhosted.org/packages/5b/f2/c3d2f7b801477b8b387b51fbefd16dc7ade888aeac547f18ba0558fd6f48/nh3-0.2.20-cp38-abi3-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:10317cd96fe4bbd4eb6b95f3920b71c902157ad44fed103fdcde43e3b8ee8be6", size = 817453 }, + { url = "https://files.pythonhosted.org/packages/42/4d/f7e3a35506a0eba6eedafc21ad52773985511eb838812e9f96354831ad3c/nh3-0.2.20-cp38-abi3-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:8698db4c04b140800d1a1cd3067fda399e36e1e2b8fc1fe04292a907350a3e9b", size = 891694 }, + { url = "https://files.pythonhosted.org/packages/e6/0e/c499453c296fb40366e3069cd68fde77a10f0a30a17b9d3b491eb3ebc5bf/nh3-0.2.20-cp38-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:3eb04b9c3deb13c3a375ea39fd4a3c00d1f92e8fb2349f25f1e3e4506751774b", size = 744388 }, + { url = "https://files.pythonhosted.org/packages/18/67/c3de8022ba2719bdbbdd3704d1e32dbc7d3f8ac8646247711645fc90d051/nh3-0.2.20-cp38-abi3-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:92f3f1c4f47a2c6f3ca7317b1d5ced05bd29556a75d3a4e2715652ae9d15c05d", size = 764831 }, + { url = "https://files.pythonhosted.org/packages/f0/14/a4ea40e2439717d11c3104fc2dc0ac412301b7aeb81d6a3d0e6505c77e7d/nh3-0.2.20-cp38-abi3-musllinux_1_2_aarch64.whl", hash = "sha256:ddefa9fd6794a87e37d05827d299d4b53a3ec6f23258101907b96029bfef138a", size = 923334 }, + { url = "https://files.pythonhosted.org/packages/ed/ae/e8ee8afaf67903dd304f390056d1ea620327524e2ad66127a331b14d5d98/nh3-0.2.20-cp38-abi3-musllinux_1_2_armv7l.whl", hash = "sha256:ce3731c8f217685d33d9268362e5b4f770914e922bba94d368ab244a59a6c397", size = 994873 }, + { url = "https://files.pythonhosted.org/packages/20/b5/02122cfe3b36cf0ba0fcd73a04fd462e1f7a9d91b456f6e0b70e46df21c7/nh3-0.2.20-cp38-abi3-musllinux_1_2_i686.whl", hash = "sha256:09f037c02fc2c43b211ff1523de32801dcfb0918648d8e651c36ef890f1731ec", size = 915707 }, + { url = "https://files.pythonhosted.org/packages/47/d3/5df43cc3570cdc9eb1dc79a39191f89fedf8bcefd8d30a161ff1dffb146c/nh3-0.2.20-cp38-abi3-musllinux_1_2_x86_64.whl", hash = "sha256:813f1c8012dd64c990514b795508abb90789334f76a561fa0fd4ca32d2275330", size = 908539 }, + { url = "https://files.pythonhosted.org/packages/4f/fd/aa000f6c76a832c488eac26f20d2e8a221ba2b965efce692f14ebc4290bf/nh3-0.2.20-cp38-abi3-win32.whl", hash = "sha256:47b2946c0e13057855209daeffb45dc910bd0c55daf10190bb0b4b60e2999784", size = 540439 }, + { url = "https://files.pythonhosted.org/packages/19/31/d65594efd3b42b1de2335d576eb77525691fc320dbf8617948ee05c008e5/nh3-0.2.20-cp38-abi3-win_amd64.whl", hash = "sha256:da87573f03084edae8eb87cfe811ec338606288f81d333c07d2a9a0b9b976c0b", size = 541249 }, +] + +[[package]] +name = "notebook" +version = "7.3.2" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "jupyter-server", version = "2.14.2", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.9'" }, + { name = "jupyter-server", version = "2.15.0", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.9'" }, + { name = "jupyterlab" }, + { name = "jupyterlab-server" }, + { name = "notebook-shim" }, + { name = "tornado" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/ea/04/ac488379d5afef43402b3fb4be2857db1a09804fecf98b9b714c741b225b/notebook-7.3.2.tar.gz", hash = "sha256:705e83a1785f45b383bf3ee13cb76680b92d24f56fb0c7d2136fe1d850cd3ca8", size = 12781804 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/22/9b/76e50ee18f183ea5fe1784a9eeaa50f2c71802e4740d6e959592b0993298/notebook-7.3.2-py3-none-any.whl", hash = "sha256:e5f85fc59b69d3618d73cf27544418193ff8e8058d5bf61d315ce4f473556288", size = 13163630 }, +] + +[[package]] +name = "notebook-shim" +version = "0.2.4" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "jupyter-server", version = "2.14.2", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.9'" }, + { name = "jupyter-server", version = "2.15.0", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.9'" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/54/d2/92fa3243712b9a3e8bafaf60aac366da1cada3639ca767ff4b5b3654ec28/notebook_shim-0.2.4.tar.gz", hash = "sha256:b4b2cfa1b65d98307ca24361f5b30fe785b53c3fd07b7a47e89acb5e6ac638cb", size = 13167 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/f9/33/bd5b9137445ea4b680023eb0469b2bb969d61303dedb2aac6560ff3d14a1/notebook_shim-0.2.4-py3-none-any.whl", hash = "sha256:411a5be4e9dc882a074ccbcae671eda64cceb068767e9a3419096986560e1cef", size = 13307 }, +] + +[[package]] +name = "numpy" +version = "1.24.4" +source = { registry = "https://pypi.org/simple" } +resolution-markers = [ + "python_full_version < '3.9' and platform_machine == 'arm64' and sys_platform == 'darwin'", + "python_full_version < '3.9' and platform_machine == 'aarch64' and sys_platform == 'linux'", + "(python_full_version < '3.9' and platform_machine != 'arm64' and sys_platform == 'darwin') or (python_full_version < '3.9' and platform_machine != 'aarch64' and sys_platform == 'linux') or (python_full_version < '3.9' and sys_platform != 'darwin' and sys_platform != 'linux')", +] +sdist = { url = "https://files.pythonhosted.org/packages/a4/9b/027bec52c633f6556dba6b722d9a0befb40498b9ceddd29cbe67a45a127c/numpy-1.24.4.tar.gz", hash = "sha256:80f5e3a4e498641401868df4208b74581206afbee7cf7b8329daae82676d9463", size = 10911229 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/6b/80/6cdfb3e275d95155a34659163b83c09e3a3ff9f1456880bec6cc63d71083/numpy-1.24.4-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:c0bfb52d2169d58c1cdb8cc1f16989101639b34c7d3ce60ed70b19c63eba0b64", size = 19789140 }, + { url = "https://files.pythonhosted.org/packages/64/5f/3f01d753e2175cfade1013eea08db99ba1ee4bdb147ebcf3623b75d12aa7/numpy-1.24.4-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:ed094d4f0c177b1b8e7aa9cba7d6ceed51c0e569a5318ac0ca9a090680a6a1b1", size = 13854297 }, + { url = "https://files.pythonhosted.org/packages/5a/b3/2f9c21d799fa07053ffa151faccdceeb69beec5a010576b8991f614021f7/numpy-1.24.4-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:79fc682a374c4a8ed08b331bef9c5f582585d1048fa6d80bc6c35bc384eee9b4", size = 13995611 }, + { url = "https://files.pythonhosted.org/packages/10/be/ae5bf4737cb79ba437879915791f6f26d92583c738d7d960ad94e5c36adf/numpy-1.24.4-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:7ffe43c74893dbf38c2b0a1f5428760a1a9c98285553c89e12d70a96a7f3a4d6", size = 17282357 }, + { url = "https://files.pythonhosted.org/packages/c0/64/908c1087be6285f40e4b3e79454552a701664a079321cff519d8c7051d06/numpy-1.24.4-cp310-cp310-win32.whl", hash = "sha256:4c21decb6ea94057331e111a5bed9a79d335658c27ce2adb580fb4d54f2ad9bc", size = 12429222 }, + { url = "https://files.pythonhosted.org/packages/22/55/3d5a7c1142e0d9329ad27cece17933b0e2ab4e54ddc5c1861fbfeb3f7693/numpy-1.24.4-cp310-cp310-win_amd64.whl", hash = "sha256:b4bea75e47d9586d31e892a7401f76e909712a0fd510f58f5337bea9572c571e", size = 14841514 }, + { url = "https://files.pythonhosted.org/packages/a9/cc/5ed2280a27e5dab12994c884f1f4d8c3bd4d885d02ae9e52a9d213a6a5e2/numpy-1.24.4-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:f136bab9c2cfd8da131132c2cf6cc27331dd6fae65f95f69dcd4ae3c3639c810", size = 19775508 }, + { url = "https://files.pythonhosted.org/packages/c0/bc/77635c657a3668cf652806210b8662e1aff84b818a55ba88257abf6637a8/numpy-1.24.4-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:e2926dac25b313635e4d6cf4dc4e51c8c0ebfed60b801c799ffc4c32bf3d1254", size = 13840033 }, + { url = "https://files.pythonhosted.org/packages/a7/4c/96cdaa34f54c05e97c1c50f39f98d608f96f0677a6589e64e53104e22904/numpy-1.24.4-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:222e40d0e2548690405b0b3c7b21d1169117391c2e82c378467ef9ab4c8f0da7", size = 13991951 }, + { url = "https://files.pythonhosted.org/packages/22/97/dfb1a31bb46686f09e68ea6ac5c63fdee0d22d7b23b8f3f7ea07712869ef/numpy-1.24.4-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:7215847ce88a85ce39baf9e89070cb860c98fdddacbaa6c0da3ffb31b3350bd5", size = 17278923 }, + { url = "https://files.pythonhosted.org/packages/35/e2/76a11e54139654a324d107da1d98f99e7aa2a7ef97cfd7c631fba7dbde71/numpy-1.24.4-cp311-cp311-win32.whl", hash = "sha256:4979217d7de511a8d57f4b4b5b2b965f707768440c17cb70fbf254c4b225238d", size = 12422446 }, + { url = "https://files.pythonhosted.org/packages/d8/ec/ebef2f7d7c28503f958f0f8b992e7ce606fb74f9e891199329d5f5f87404/numpy-1.24.4-cp311-cp311-win_amd64.whl", hash = "sha256:b7b1fc9864d7d39e28f41d089bfd6353cb5f27ecd9905348c24187a768c79694", size = 14834466 }, + { url = "https://files.pythonhosted.org/packages/11/10/943cfb579f1a02909ff96464c69893b1d25be3731b5d3652c2e0cf1281ea/numpy-1.24.4-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:1452241c290f3e2a312c137a9999cdbf63f78864d63c79039bda65ee86943f61", size = 19780722 }, + { url = "https://files.pythonhosted.org/packages/a7/ae/f53b7b265fdc701e663fbb322a8e9d4b14d9cb7b2385f45ddfabfc4327e4/numpy-1.24.4-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:04640dab83f7c6c85abf9cd729c5b65f1ebd0ccf9de90b270cd61935eef0197f", size = 13843102 }, + { url = "https://files.pythonhosted.org/packages/25/6f/2586a50ad72e8dbb1d8381f837008a0321a3516dfd7cb57fc8cf7e4bb06b/numpy-1.24.4-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a5425b114831d1e77e4b5d812b69d11d962e104095a5b9c3b641a218abcc050e", size = 14039616 }, + { url = "https://files.pythonhosted.org/packages/98/5d/5738903efe0ecb73e51eb44feafba32bdba2081263d40c5043568ff60faf/numpy-1.24.4-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:dd80e219fd4c71fc3699fc1dadac5dcf4fd882bfc6f7ec53d30fa197b8ee22dc", size = 17316263 }, + { url = "https://files.pythonhosted.org/packages/d1/57/8d328f0b91c733aa9aa7ee540dbc49b58796c862b4fbcb1146c701e888da/numpy-1.24.4-cp38-cp38-win32.whl", hash = "sha256:4602244f345453db537be5314d3983dbf5834a9701b7723ec28923e2889e0bb2", size = 12455660 }, + { url = "https://files.pythonhosted.org/packages/69/65/0d47953afa0ad569d12de5f65d964321c208492064c38fe3b0b9744f8d44/numpy-1.24.4-cp38-cp38-win_amd64.whl", hash = "sha256:692f2e0f55794943c5bfff12b3f56f99af76f902fc47487bdfe97856de51a706", size = 14868112 }, + { url = "https://files.pythonhosted.org/packages/9a/cd/d5b0402b801c8a8b56b04c1e85c6165efab298d2f0ab741c2406516ede3a/numpy-1.24.4-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:2541312fbf09977f3b3ad449c4e5f4bb55d0dbf79226d7724211acc905049400", size = 19816549 }, + { url = "https://files.pythonhosted.org/packages/14/27/638aaa446f39113a3ed38b37a66243e21b38110d021bfcb940c383e120f2/numpy-1.24.4-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:9667575fb6d13c95f1b36aca12c5ee3356bf001b714fc354eb5465ce1609e62f", size = 13879950 }, + { url = "https://files.pythonhosted.org/packages/8f/27/91894916e50627476cff1a4e4363ab6179d01077d71b9afed41d9e1f18bf/numpy-1.24.4-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:f3a86ed21e4f87050382c7bc96571755193c4c1392490744ac73d660e8f564a9", size = 14030228 }, + { url = "https://files.pythonhosted.org/packages/7a/7c/d7b2a0417af6428440c0ad7cb9799073e507b1a465f827d058b826236964/numpy-1.24.4-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:d11efb4dbecbdf22508d55e48d9c8384db795e1b7b51ea735289ff96613ff74d", size = 17311170 }, + { url = "https://files.pythonhosted.org/packages/18/9d/e02ace5d7dfccee796c37b995c63322674daf88ae2f4a4724c5dd0afcc91/numpy-1.24.4-cp39-cp39-win32.whl", hash = "sha256:6620c0acd41dbcb368610bb2f4d83145674040025e5536954782467100aa8835", size = 12454918 }, + { url = "https://files.pythonhosted.org/packages/63/38/6cc19d6b8bfa1d1a459daf2b3fe325453153ca7019976274b6f33d8b5663/numpy-1.24.4-cp39-cp39-win_amd64.whl", hash = "sha256:befe2bf740fd8373cf56149a5c23a0f601e82869598d41f8e188a0e9869926f8", size = 14867441 }, + { url = "https://files.pythonhosted.org/packages/a4/fd/8dff40e25e937c94257455c237b9b6bf5a30d42dd1cc11555533be099492/numpy-1.24.4-pp38-pypy38_pp73-macosx_10_9_x86_64.whl", hash = "sha256:31f13e25b4e304632a4619d0e0777662c2ffea99fcae2029556b17d8ff958aef", size = 19156590 }, + { url = "https://files.pythonhosted.org/packages/42/e7/4bf953c6e05df90c6d351af69966384fed8e988d0e8c54dad7103b59f3ba/numpy-1.24.4-pp38-pypy38_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:95f7ac6540e95bc440ad77f56e520da5bf877f87dca58bd095288dce8940532a", size = 16705744 }, + { url = "https://files.pythonhosted.org/packages/fc/dd/9106005eb477d022b60b3817ed5937a43dad8fd1f20b0610ea8a32fcb407/numpy-1.24.4-pp38-pypy38_pp73-win_amd64.whl", hash = "sha256:e98f220aa76ca2a977fe435f5b04d7b3470c0a2e6312907b37ba6068f26787f2", size = 14734290 }, +] + +[[package]] +name = "numpy" +version = "1.25.2" +source = { registry = "https://pypi.org/simple" } +resolution-markers = [ + "python_full_version == '3.11.*' and sys_platform == 'darwin'", + "python_full_version == '3.11.*' and platform_machine == 'aarch64' and sys_platform == 'linux'", + "(python_full_version == '3.11.*' and platform_machine != 'aarch64' and sys_platform == 'linux') or (python_full_version == '3.11.*' and sys_platform != 'darwin' and sys_platform != 'linux')", + "python_full_version == '3.10.*' and sys_platform == 'darwin'", + "python_full_version == '3.10.*' and platform_machine == 'aarch64' and sys_platform == 'linux'", + "(python_full_version == '3.10.*' and platform_machine != 'aarch64' and sys_platform == 'linux') or (python_full_version == '3.10.*' and sys_platform != 'darwin' and sys_platform != 'linux')", + "python_full_version == '3.9.*' and platform_machine == 'arm64' and sys_platform == 'darwin'", + "python_full_version == '3.9.*' and platform_machine == 'aarch64' and sys_platform == 'linux'", + "(python_full_version == '3.9.*' and platform_machine != 'arm64' and sys_platform == 'darwin') or (python_full_version == '3.9.*' and platform_machine != 'aarch64' and sys_platform == 'linux') or (python_full_version == '3.9.*' and sys_platform != 'darwin' and sys_platform != 'linux')", +] +sdist = { url = "https://files.pythonhosted.org/packages/a0/41/8f53eff8e969dd8576ddfb45e7ed315407d27c7518ae49418be8ed532b07/numpy-1.25.2.tar.gz", hash = "sha256:fd608e19c8d7c55021dffd43bfe5492fab8cc105cc8986f813f8c3c048b38760", size = 10805282 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/d5/50/8aedb5ff1460e7c8527af15c6326115009e7c270ec705487155b779ebabb/numpy-1.25.2-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:db3ccc4e37a6873045580d413fe79b68e47a681af8db2e046f1dacfa11f86eb3", size = 20814934 }, + { url = "https://files.pythonhosted.org/packages/c3/ea/1d95b399078ecaa7b5d791e1fdbb3aee272077d9fd5fb499593c87dec5ea/numpy-1.25.2-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:90319e4f002795ccfc9050110bbbaa16c944b1c37c0baeea43c5fb881693ae1f", size = 13994425 }, + { url = "https://files.pythonhosted.org/packages/b1/39/3f88e2bfac1fb510c112dc0c78a1e7cad8f3a2d75e714d1484a044c56682/numpy-1.25.2-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:dfe4a913e29b418d096e696ddd422d8a5d13ffba4ea91f9f60440a3b759b0187", size = 14167163 }, + { url = "https://files.pythonhosted.org/packages/71/3c/3b1981c6a1986adc9ee7db760c0c34ea5b14ac3da9ecfcf1ea2a4ec6c398/numpy-1.25.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f08f2e037bba04e707eebf4bc934f1972a315c883a9e0ebfa8a7756eabf9e357", size = 18219190 }, + { url = "https://files.pythonhosted.org/packages/73/6f/2a0d0ad31a588d303178d494787f921c246c6234eccced236866bc1beaa5/numpy-1.25.2-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:bec1e7213c7cb00d67093247f8c4db156fd03075f49876957dca4711306d39c9", size = 18068385 }, + { url = "https://files.pythonhosted.org/packages/63/bd/a1c256cdea5d99e2f7e1acc44fc287455420caeb2e97d43ff0dda908fae8/numpy-1.25.2-cp310-cp310-win32.whl", hash = "sha256:7dc869c0c75988e1c693d0e2d5b26034644399dd929bc049db55395b1379e044", size = 12661360 }, + { url = "https://files.pythonhosted.org/packages/b7/db/4d37359e2c9cf8bf071c08b8a6f7374648a5ab2e76e2e22e3b808f81d507/numpy-1.25.2-cp310-cp310-win_amd64.whl", hash = "sha256:834b386f2b8210dca38c71a6e0f4fd6922f7d3fcff935dbe3a570945acb1b545", size = 15554633 }, + { url = "https://files.pythonhosted.org/packages/c9/57/3cb8131a0e6d559501e088d3e685f4122e9ff9104c4b63e4dfd3a577b491/numpy-1.25.2-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:c5462d19336db4560041517dbb7759c21d181a67cb01b36ca109b2ae37d32418", size = 20801693 }, + { url = "https://files.pythonhosted.org/packages/86/a1/b8ef999c32f26a97b5f714887e21f96c12ae99a38583a0a96e65283ac0a1/numpy-1.25.2-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:c5652ea24d33585ea39eb6a6a15dac87a1206a692719ff45d53c5282e66d4a8f", size = 14004130 }, + { url = "https://files.pythonhosted.org/packages/50/67/3e966d99a07d60a21a21d7ec016e9e4c2642a86fea251ec68677daf71d4d/numpy-1.25.2-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:0d60fbae8e0019865fc4784745814cff1c421df5afee233db6d88ab4f14655a2", size = 14158219 }, + { url = "https://files.pythonhosted.org/packages/32/6a/65dbc57a89078af9ff8bfcd4c0761a50172d90192eaeb1b6f56e5fbf1c3d/numpy-1.25.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:60e7f0f7f6d0eee8364b9a6304c2845b9c491ac706048c7e8cf47b83123b8dbf", size = 18209344 }, + { url = "https://files.pythonhosted.org/packages/cd/fe/e900cb2ebafae04b7570081cefc65b6fdd9e202b9b353572506cea5cafdf/numpy-1.25.2-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:bb33d5a1cf360304754913a350edda36d5b8c5331a8237268c48f91253c3a364", size = 18072378 }, + { url = "https://files.pythonhosted.org/packages/5c/e4/990c6cb09f2cd1a3f53bcc4e489dad903faa01b058b625d84bb62d2e9391/numpy-1.25.2-cp311-cp311-win32.whl", hash = "sha256:5883c06bb92f2e6c8181df7b39971a5fb436288db58b5a1c3967702d4278691d", size = 12654351 }, + { url = "https://files.pythonhosted.org/packages/72/b2/02770e60c4e2f7e158d923ab0dea4e9f146a2dbf267fec6d8dc61d475689/numpy-1.25.2-cp311-cp311-win_amd64.whl", hash = "sha256:5c97325a0ba6f9d041feb9390924614b60b99209a71a69c876f71052521d42a4", size = 15546748 }, + { url = "https://files.pythonhosted.org/packages/8b/d9/22c304cd123e0a1b7d89213e50ed6ec4b22f07f1117d64d28f81c08be428/numpy-1.25.2-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:b79e513d7aac42ae918db3ad1341a015488530d0bb2a6abcbdd10a3a829ccfd3", size = 20847260 }, + { url = "https://files.pythonhosted.org/packages/0f/a8/5057b97c395a710999b5697ffedd648caee82c24a29595952d26bd750155/numpy-1.25.2-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:eb942bfb6f84df5ce05dbf4b46673ffed0d3da59f13635ea9b926af3deb76926", size = 14022126 }, + { url = "https://files.pythonhosted.org/packages/6d/b6/94a587cd64ef090f844ab1d8c8f1af44d07be7387f5f1a40eb729a0ff9c9/numpy-1.25.2-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:3e0746410e73384e70d286f93abf2520035250aad8c5714240b0492a7302fdca", size = 14206441 }, + { url = "https://files.pythonhosted.org/packages/69/1f/c95b1108a9972a52d7b1b63ed8ca70466b59b8c1811bd121f1e667cc45d8/numpy-1.25.2-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:d7806500e4f5bdd04095e849265e55de20d8cc4b661b038957354327f6d9b295", size = 18263142 }, + { url = "https://files.pythonhosted.org/packages/d3/76/fe6b9e75883d1f2bd3cd27cbc7307ec99a0cc76fa941937c177f464fd60a/numpy-1.25.2-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:8b77775f4b7df768967a7c8b3567e309f617dd5e99aeb886fa14dc1a0791141f", size = 18102143 }, + { url = "https://files.pythonhosted.org/packages/81/e3/f562c2d76af16c1d79e73de04f9d08e5a7fd0e50ae12692acd4dbd2501f7/numpy-1.25.2-cp39-cp39-win32.whl", hash = "sha256:2792d23d62ec51e50ce4d4b7d73de8f67a2fd3ea710dcbc8563a51a03fb07b01", size = 12689997 }, + { url = "https://files.pythonhosted.org/packages/df/18/181fb40f03090c6fbd061bb8b1f4c32453f7c602b0dc7c08b307baca7cd7/numpy-1.25.2-cp39-cp39-win_amd64.whl", hash = "sha256:76b4115d42a7dfc5d485d358728cdd8719be33cc5ec6ec08632a5d6fca2ed380", size = 15581137 }, + { url = "https://files.pythonhosted.org/packages/11/58/e921b73d1a181d49fc5a797f5151b7be78cbc5b4483f8f6042e295b85c01/numpy-1.25.2-pp39-pypy39_pp73-macosx_10_9_x86_64.whl", hash = "sha256:1a1329e26f46230bf77b02cc19e900db9b52f398d6722ca853349a782d4cff55", size = 20168999 }, + { url = "https://files.pythonhosted.org/packages/2c/53/9a023f6960ea6c8f66eafae774ba7ab1700fd987158df5aa9dbb28f98f8b/numpy-1.25.2-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:4c3abc71e8b6edba80a01a52e66d83c5d14433cbcd26a40c329ec7ed09f37901", size = 17618771 }, + { url = "https://files.pythonhosted.org/packages/2d/2a/5d85ca5d889363ffdec3e3258c7bacdc655801787d004a55e04cf19eeb4a/numpy-1.25.2-pp39-pypy39_pp73-win_amd64.whl", hash = "sha256:1b9735c27cea5d995496f46a8b1cd7b408b3f34b6d50459d9ac8fe3a20cc17bf", size = 15442128 }, +] + +[[package]] +name = "numpy" +version = "2.0.2" +source = { registry = "https://pypi.org/simple" } +resolution-markers = [ + "python_full_version == '3.12.*' and sys_platform == 'darwin'", + "python_full_version == '3.12.*' and platform_machine == 'aarch64' and sys_platform == 'linux'", + "(python_full_version == '3.12.*' and platform_machine != 'aarch64' and sys_platform == 'linux') or (python_full_version == '3.12.*' and sys_platform != 'darwin' and sys_platform != 'linux')", +] +sdist = { url = "https://files.pythonhosted.org/packages/a9/75/10dd1f8116a8b796cb2c737b674e02d02e80454bda953fa7e65d8c12b016/numpy-2.0.2.tar.gz", hash = "sha256:883c987dee1880e2a864ab0dc9892292582510604156762362d9326444636e78", size = 18902015 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/21/91/3495b3237510f79f5d81f2508f9f13fea78ebfdf07538fc7444badda173d/numpy-2.0.2-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:51129a29dbe56f9ca83438b706e2e69a39892b5eda6cedcb6b0c9fdc9b0d3ece", size = 21165245 }, + { url = "https://files.pythonhosted.org/packages/05/33/26178c7d437a87082d11019292dce6d3fe6f0e9026b7b2309cbf3e489b1d/numpy-2.0.2-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:f15975dfec0cf2239224d80e32c3170b1d168335eaedee69da84fbe9f1f9cd04", size = 13738540 }, + { url = "https://files.pythonhosted.org/packages/ec/31/cc46e13bf07644efc7a4bf68df2df5fb2a1a88d0cd0da9ddc84dc0033e51/numpy-2.0.2-cp310-cp310-macosx_14_0_arm64.whl", hash = "sha256:8c5713284ce4e282544c68d1c3b2c7161d38c256d2eefc93c1d683cf47683e66", size = 5300623 }, + { url = "https://files.pythonhosted.org/packages/6e/16/7bfcebf27bb4f9d7ec67332ffebee4d1bf085c84246552d52dbb548600e7/numpy-2.0.2-cp310-cp310-macosx_14_0_x86_64.whl", hash = "sha256:becfae3ddd30736fe1889a37f1f580e245ba79a5855bff5f2a29cb3ccc22dd7b", size = 6901774 }, + { url = "https://files.pythonhosted.org/packages/f9/a3/561c531c0e8bf082c5bef509d00d56f82e0ea7e1e3e3a7fc8fa78742a6e5/numpy-2.0.2-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:2da5960c3cf0df7eafefd806d4e612c5e19358de82cb3c343631188991566ccd", size = 13907081 }, + { url = "https://files.pythonhosted.org/packages/fa/66/f7177ab331876200ac7563a580140643d1179c8b4b6a6b0fc9838de2a9b8/numpy-2.0.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:496f71341824ed9f3d2fd36cf3ac57ae2e0165c143b55c3a035ee219413f3318", size = 19523451 }, + { url = "https://files.pythonhosted.org/packages/25/7f/0b209498009ad6453e4efc2c65bcdf0ae08a182b2b7877d7ab38a92dc542/numpy-2.0.2-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:a61ec659f68ae254e4d237816e33171497e978140353c0c2038d46e63282d0c8", size = 19927572 }, + { url = "https://files.pythonhosted.org/packages/3e/df/2619393b1e1b565cd2d4c4403bdd979621e2c4dea1f8532754b2598ed63b/numpy-2.0.2-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:d731a1c6116ba289c1e9ee714b08a8ff882944d4ad631fd411106a30f083c326", size = 14400722 }, + { url = "https://files.pythonhosted.org/packages/22/ad/77e921b9f256d5da36424ffb711ae79ca3f451ff8489eeca544d0701d74a/numpy-2.0.2-cp310-cp310-win32.whl", hash = "sha256:984d96121c9f9616cd33fbd0618b7f08e0cfc9600a7ee1d6fd9b239186d19d97", size = 6472170 }, + { url = "https://files.pythonhosted.org/packages/10/05/3442317535028bc29cf0c0dd4c191a4481e8376e9f0db6bcf29703cadae6/numpy-2.0.2-cp310-cp310-win_amd64.whl", hash = "sha256:c7b0be4ef08607dd04da4092faee0b86607f111d5ae68036f16cc787e250a131", size = 15905558 }, + { url = "https://files.pythonhosted.org/packages/8b/cf/034500fb83041aa0286e0fb16e7c76e5c8b67c0711bb6e9e9737a717d5fe/numpy-2.0.2-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:49ca4decb342d66018b01932139c0961a8f9ddc7589611158cb3c27cbcf76448", size = 21169137 }, + { url = "https://files.pythonhosted.org/packages/4a/d9/32de45561811a4b87fbdee23b5797394e3d1504b4a7cf40c10199848893e/numpy-2.0.2-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:11a76c372d1d37437857280aa142086476136a8c0f373b2e648ab2c8f18fb195", size = 13703552 }, + { url = "https://files.pythonhosted.org/packages/c1/ca/2f384720020c7b244d22508cb7ab23d95f179fcfff33c31a6eeba8d6c512/numpy-2.0.2-cp311-cp311-macosx_14_0_arm64.whl", hash = "sha256:807ec44583fd708a21d4a11d94aedf2f4f3c3719035c76a2bbe1fe8e217bdc57", size = 5298957 }, + { url = "https://files.pythonhosted.org/packages/0e/78/a3e4f9fb6aa4e6fdca0c5428e8ba039408514388cf62d89651aade838269/numpy-2.0.2-cp311-cp311-macosx_14_0_x86_64.whl", hash = "sha256:8cafab480740e22f8d833acefed5cc87ce276f4ece12fdaa2e8903db2f82897a", size = 6905573 }, + { url = "https://files.pythonhosted.org/packages/a0/72/cfc3a1beb2caf4efc9d0b38a15fe34025230da27e1c08cc2eb9bfb1c7231/numpy-2.0.2-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a15f476a45e6e5a3a79d8a14e62161d27ad897381fecfa4a09ed5322f2085669", size = 13914330 }, + { url = "https://files.pythonhosted.org/packages/ba/a8/c17acf65a931ce551fee11b72e8de63bf7e8a6f0e21add4c937c83563538/numpy-2.0.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:13e689d772146140a252c3a28501da66dfecd77490b498b168b501835041f951", size = 19534895 }, + { url = "https://files.pythonhosted.org/packages/ba/86/8767f3d54f6ae0165749f84648da9dcc8cd78ab65d415494962c86fac80f/numpy-2.0.2-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:9ea91dfb7c3d1c56a0e55657c0afb38cf1eeae4544c208dc465c3c9f3a7c09f9", size = 19937253 }, + { url = "https://files.pythonhosted.org/packages/df/87/f76450e6e1c14e5bb1eae6836478b1028e096fd02e85c1c37674606ab752/numpy-2.0.2-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:c1c9307701fec8f3f7a1e6711f9089c06e6284b3afbbcd259f7791282d660a15", size = 14414074 }, + { url = "https://files.pythonhosted.org/packages/5c/ca/0f0f328e1e59f73754f06e1adfb909de43726d4f24c6a3f8805f34f2b0fa/numpy-2.0.2-cp311-cp311-win32.whl", hash = "sha256:a392a68bd329eafac5817e5aefeb39038c48b671afd242710b451e76090e81f4", size = 6470640 }, + { url = "https://files.pythonhosted.org/packages/eb/57/3a3f14d3a759dcf9bf6e9eda905794726b758819df4663f217d658a58695/numpy-2.0.2-cp311-cp311-win_amd64.whl", hash = "sha256:286cd40ce2b7d652a6f22efdfc6d1edf879440e53e76a75955bc0c826c7e64dc", size = 15910230 }, + { url = "https://files.pythonhosted.org/packages/45/40/2e117be60ec50d98fa08c2f8c48e09b3edea93cfcabd5a9ff6925d54b1c2/numpy-2.0.2-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:df55d490dea7934f330006d0f81e8551ba6010a5bf035a249ef61a94f21c500b", size = 20895803 }, + { url = "https://files.pythonhosted.org/packages/46/92/1b8b8dee833f53cef3e0a3f69b2374467789e0bb7399689582314df02651/numpy-2.0.2-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:8df823f570d9adf0978347d1f926b2a867d5608f434a7cff7f7908c6570dcf5e", size = 13471835 }, + { url = "https://files.pythonhosted.org/packages/7f/19/e2793bde475f1edaea6945be141aef6c8b4c669b90c90a300a8954d08f0a/numpy-2.0.2-cp312-cp312-macosx_14_0_arm64.whl", hash = "sha256:9a92ae5c14811e390f3767053ff54eaee3bf84576d99a2456391401323f4ec2c", size = 5038499 }, + { url = "https://files.pythonhosted.org/packages/e3/ff/ddf6dac2ff0dd50a7327bcdba45cb0264d0e96bb44d33324853f781a8f3c/numpy-2.0.2-cp312-cp312-macosx_14_0_x86_64.whl", hash = "sha256:a842d573724391493a97a62ebbb8e731f8a5dcc5d285dfc99141ca15a3302d0c", size = 6633497 }, + { url = "https://files.pythonhosted.org/packages/72/21/67f36eac8e2d2cd652a2e69595a54128297cdcb1ff3931cfc87838874bd4/numpy-2.0.2-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:c05e238064fc0610c840d1cf6a13bf63d7e391717d247f1bf0318172e759e692", size = 13621158 }, + { url = "https://files.pythonhosted.org/packages/39/68/e9f1126d757653496dbc096cb429014347a36b228f5a991dae2c6b6cfd40/numpy-2.0.2-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:0123ffdaa88fa4ab64835dcbde75dcdf89c453c922f18dced6e27c90d1d0ec5a", size = 19236173 }, + { url = "https://files.pythonhosted.org/packages/d1/e9/1f5333281e4ebf483ba1c888b1d61ba7e78d7e910fdd8e6499667041cc35/numpy-2.0.2-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:96a55f64139912d61de9137f11bf39a55ec8faec288c75a54f93dfd39f7eb40c", size = 19634174 }, + { url = "https://files.pythonhosted.org/packages/71/af/a469674070c8d8408384e3012e064299f7a2de540738a8e414dcfd639996/numpy-2.0.2-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:ec9852fb39354b5a45a80bdab5ac02dd02b15f44b3804e9f00c556bf24b4bded", size = 14099701 }, + { url = "https://files.pythonhosted.org/packages/d0/3d/08ea9f239d0e0e939b6ca52ad403c84a2bce1bde301a8eb4888c1c1543f1/numpy-2.0.2-cp312-cp312-win32.whl", hash = "sha256:671bec6496f83202ed2d3c8fdc486a8fc86942f2e69ff0e986140339a63bcbe5", size = 6174313 }, + { url = "https://files.pythonhosted.org/packages/b2/b5/4ac39baebf1fdb2e72585c8352c56d063b6126be9fc95bd2bb5ef5770c20/numpy-2.0.2-cp312-cp312-win_amd64.whl", hash = "sha256:cfd41e13fdc257aa5778496b8caa5e856dc4896d4ccf01841daee1d96465467a", size = 15606179 }, + { url = "https://files.pythonhosted.org/packages/43/c1/41c8f6df3162b0c6ffd4437d729115704bd43363de0090c7f913cfbc2d89/numpy-2.0.2-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:9059e10581ce4093f735ed23f3b9d283b9d517ff46009ddd485f1747eb22653c", size = 21169942 }, + { url = "https://files.pythonhosted.org/packages/39/bc/fd298f308dcd232b56a4031fd6ddf11c43f9917fbc937e53762f7b5a3bb1/numpy-2.0.2-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:423e89b23490805d2a5a96fe40ec507407b8ee786d66f7328be214f9679df6dd", size = 13711512 }, + { url = "https://files.pythonhosted.org/packages/96/ff/06d1aa3eeb1c614eda245c1ba4fb88c483bee6520d361641331872ac4b82/numpy-2.0.2-cp39-cp39-macosx_14_0_arm64.whl", hash = "sha256:2b2955fa6f11907cf7a70dab0d0755159bca87755e831e47932367fc8f2f2d0b", size = 5306976 }, + { url = "https://files.pythonhosted.org/packages/2d/98/121996dcfb10a6087a05e54453e28e58694a7db62c5a5a29cee14c6e047b/numpy-2.0.2-cp39-cp39-macosx_14_0_x86_64.whl", hash = "sha256:97032a27bd9d8988b9a97a8c4d2c9f2c15a81f61e2f21404d7e8ef00cb5be729", size = 6906494 }, + { url = "https://files.pythonhosted.org/packages/15/31/9dffc70da6b9bbf7968f6551967fc21156207366272c2a40b4ed6008dc9b/numpy-2.0.2-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:1e795a8be3ddbac43274f18588329c72939870a16cae810c2b73461c40718ab1", size = 13912596 }, + { url = "https://files.pythonhosted.org/packages/b9/14/78635daab4b07c0930c919d451b8bf8c164774e6a3413aed04a6d95758ce/numpy-2.0.2-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f26b258c385842546006213344c50655ff1555a9338e2e5e02a0756dc3e803dd", size = 19526099 }, + { url = "https://files.pythonhosted.org/packages/26/4c/0eeca4614003077f68bfe7aac8b7496f04221865b3a5e7cb230c9d055afd/numpy-2.0.2-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:5fec9451a7789926bcf7c2b8d187292c9f93ea30284802a0ab3f5be8ab36865d", size = 19932823 }, + { url = "https://files.pythonhosted.org/packages/f1/46/ea25b98b13dccaebddf1a803f8c748680d972e00507cd9bc6dcdb5aa2ac1/numpy-2.0.2-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:9189427407d88ff25ecf8f12469d4d39d35bee1db5d39fc5c168c6f088a6956d", size = 14404424 }, + { url = "https://files.pythonhosted.org/packages/c8/a6/177dd88d95ecf07e722d21008b1b40e681a929eb9e329684d449c36586b2/numpy-2.0.2-cp39-cp39-win32.whl", hash = "sha256:905d16e0c60200656500c95b6b8dca5d109e23cb24abc701d41c02d74c6b3afa", size = 6476809 }, + { url = "https://files.pythonhosted.org/packages/ea/2b/7fc9f4e7ae5b507c1a3a21f0f15ed03e794c1242ea8a242ac158beb56034/numpy-2.0.2-cp39-cp39-win_amd64.whl", hash = "sha256:a3f4ab0caa7f053f6797fcd4e1e25caee367db3112ef2b6ef82d749530768c73", size = 15911314 }, + { url = "https://files.pythonhosted.org/packages/8f/3b/df5a870ac6a3be3a86856ce195ef42eec7ae50d2a202be1f5a4b3b340e14/numpy-2.0.2-pp39-pypy39_pp73-macosx_10_9_x86_64.whl", hash = "sha256:7f0a0c6f12e07fa94133c8a67404322845220c06a9e80e85999afe727f7438b8", size = 21025288 }, + { url = "https://files.pythonhosted.org/packages/2c/97/51af92f18d6f6f2d9ad8b482a99fb74e142d71372da5d834b3a2747a446e/numpy-2.0.2-pp39-pypy39_pp73-macosx_14_0_x86_64.whl", hash = "sha256:312950fdd060354350ed123c0e25a71327d3711584beaef30cdaa93320c392d4", size = 6762793 }, + { url = "https://files.pythonhosted.org/packages/12/46/de1fbd0c1b5ccaa7f9a005b66761533e2f6a3e560096682683a223631fe9/numpy-2.0.2-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:26df23238872200f63518dd2aa984cfca675d82469535dc7162dc2ee52d9dd5c", size = 19334885 }, + { url = "https://files.pythonhosted.org/packages/cc/dc/d330a6faefd92b446ec0f0dfea4c3207bb1fef3c4771d19cf4543efd2c78/numpy-2.0.2-pp39-pypy39_pp73-win_amd64.whl", hash = "sha256:a46288ec55ebbd58947d31d72be2c63cbf839f0a63b49cb755022310792a3385", size = 15828784 }, +] + +[[package]] +name = "numpy" +version = "2.2.1" +source = { registry = "https://pypi.org/simple" } +resolution-markers = [ + "python_full_version >= '3.13' and sys_platform == 'darwin'", + "python_full_version >= '3.13' and platform_machine == 'aarch64' and sys_platform == 'linux'", + "(python_full_version >= '3.13' and platform_machine != 'aarch64' and sys_platform == 'linux') or (python_full_version >= '3.13' and sys_platform != 'darwin' and sys_platform != 'linux')", +] +sdist = { url = "https://files.pythonhosted.org/packages/f2/a5/fdbf6a7871703df6160b5cf3dd774074b086d278172285c52c2758b76305/numpy-2.2.1.tar.gz", hash = "sha256:45681fd7128c8ad1c379f0ca0776a8b0c6583d2f69889ddac01559dfe4390918", size = 20227662 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/c7/c4/5588367dc9f91e1a813beb77de46ea8cab13f778e1b3a0e661ab031aba44/numpy-2.2.1-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:5edb4e4caf751c1518e6a26a83501fda79bff41cc59dac48d70e6d65d4ec4440", size = 21213214 }, + { url = "https://files.pythonhosted.org/packages/d8/8b/32dd9f08419023a4cf856c5ad0b4eba9b830da85eafdef841a104c4fc05a/numpy-2.2.1-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:aa3017c40d513ccac9621a2364f939d39e550c542eb2a894b4c8da92b38896ab", size = 14352248 }, + { url = "https://files.pythonhosted.org/packages/84/2d/0e895d02940ba6e12389f0ab5cac5afcf8dc2dc0ade4e8cad33288a721bd/numpy-2.2.1-cp310-cp310-macosx_14_0_arm64.whl", hash = "sha256:61048b4a49b1c93fe13426e04e04fdf5a03f456616f6e98c7576144677598675", size = 5391007 }, + { url = "https://files.pythonhosted.org/packages/11/b9/7f1e64a0d46d9c2af6d17966f641fb12d5b8ea3003f31b2308f3e3b9a6aa/numpy-2.2.1-cp310-cp310-macosx_14_0_x86_64.whl", hash = "sha256:7671dc19c7019103ca44e8d94917eba8534c76133523ca8406822efdd19c9308", size = 6926174 }, + { url = "https://files.pythonhosted.org/packages/2e/8c/043fa4418bc9364e364ab7aba8ff6ef5f6b9171ade22de8fbcf0e2fa4165/numpy-2.2.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:4250888bcb96617e00bfa28ac24850a83c9f3a16db471eca2ee1f1714df0f957", size = 14330914 }, + { url = "https://files.pythonhosted.org/packages/f7/b6/d8110985501ca8912dfc1c3bbef99d66e62d487f72e46b2337494df77364/numpy-2.2.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:a7746f235c47abc72b102d3bce9977714c2444bdfaea7888d241b4c4bb6a78bf", size = 16379607 }, + { url = "https://files.pythonhosted.org/packages/e2/57/bdca9fb8bdaa810c3a4ff2eb3231379b77f618a7c0d24be9f7070db50775/numpy-2.2.1-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:059e6a747ae84fce488c3ee397cee7e5f905fd1bda5fb18c66bc41807ff119b2", size = 15541760 }, + { url = "https://files.pythonhosted.org/packages/97/55/3b9147b3cbc3b6b1abc2a411dec5337a46c873deca0dd0bf5bef9d0579cc/numpy-2.2.1-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:f62aa6ee4eb43b024b0e5a01cf65a0bb078ef8c395e8713c6e8a12a697144528", size = 18168476 }, + { url = "https://files.pythonhosted.org/packages/00/e7/7c2cde16c9b87a8e14fdd262ca7849c4681cf48c8a774505f7e6f5e3b643/numpy-2.2.1-cp310-cp310-win32.whl", hash = "sha256:48fd472630715e1c1c89bf1feab55c29098cb403cc184b4859f9c86d4fcb6a95", size = 6570985 }, + { url = "https://files.pythonhosted.org/packages/a1/a8/554b0e99fc4ac11ec481254781a10da180d0559c2ebf2c324232317349ee/numpy-2.2.1-cp310-cp310-win_amd64.whl", hash = "sha256:b541032178a718c165a49638d28272b771053f628382d5e9d1c93df23ff58dbf", size = 12913384 }, + { url = "https://files.pythonhosted.org/packages/59/14/645887347124e101d983e1daf95b48dc3e136bf8525cb4257bf9eab1b768/numpy-2.2.1-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:40f9e544c1c56ba8f1cf7686a8c9b5bb249e665d40d626a23899ba6d5d9e1484", size = 21217379 }, + { url = "https://files.pythonhosted.org/packages/9f/fd/2279000cf29f58ccfd3778cbf4670dfe3f7ce772df5e198c5abe9e88b7d7/numpy-2.2.1-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:f9b57eaa3b0cd8db52049ed0330747b0364e899e8a606a624813452b8203d5f7", size = 14388520 }, + { url = "https://files.pythonhosted.org/packages/58/b0/034eb5d5ba12d66ab658ff3455a31f20add0b78df8203c6a7451bd1bee21/numpy-2.2.1-cp311-cp311-macosx_14_0_arm64.whl", hash = "sha256:bc8a37ad5b22c08e2dbd27df2b3ef7e5c0864235805b1e718a235bcb200cf1cb", size = 5389286 }, + { url = "https://files.pythonhosted.org/packages/5d/69/6f3cccde92e82e7835fdb475c2bf439761cbf8a1daa7c07338e1e132dfec/numpy-2.2.1-cp311-cp311-macosx_14_0_x86_64.whl", hash = "sha256:9036d6365d13b6cbe8f27a0eaf73ddcc070cae584e5ff94bb45e3e9d729feab5", size = 6930345 }, + { url = "https://files.pythonhosted.org/packages/d1/72/1cd38e91ab563e67f584293fcc6aca855c9ae46dba42e6b5ff4600022899/numpy-2.2.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:51faf345324db860b515d3f364eaa93d0e0551a88d6218a7d61286554d190d73", size = 14335748 }, + { url = "https://files.pythonhosted.org/packages/f2/d4/f999444e86986f3533e7151c272bd8186c55dda554284def18557e013a2a/numpy-2.2.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:38efc1e56b73cc9b182fe55e56e63b044dd26a72128fd2fbd502f75555d92591", size = 16391057 }, + { url = "https://files.pythonhosted.org/packages/99/7b/85cef6a3ae1b19542b7afd97d0b296526b6ef9e3c43ea0c4d9c4404fb2d0/numpy-2.2.1-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:31b89fa67a8042e96715c68e071a1200c4e172f93b0fbe01a14c0ff3ff820fc8", size = 15556943 }, + { url = "https://files.pythonhosted.org/packages/69/7e/b83cc884c3508e91af78760f6b17ab46ad649831b1fa35acb3eb26d9e6d2/numpy-2.2.1-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:4c86e2a209199ead7ee0af65e1d9992d1dce7e1f63c4b9a616500f93820658d0", size = 18180785 }, + { url = "https://files.pythonhosted.org/packages/b2/9f/eb4a9a38867de059dcd4b6e18d47c3867fbd3795d4c9557bb49278f94087/numpy-2.2.1-cp311-cp311-win32.whl", hash = "sha256:b34d87e8a3090ea626003f87f9392b3929a7bbf4104a05b6667348b6bd4bf1cd", size = 6568983 }, + { url = "https://files.pythonhosted.org/packages/6d/1e/be3b9f3073da2f8c7fa361fcdc231b548266b0781029fdbaf75eeab997fd/numpy-2.2.1-cp311-cp311-win_amd64.whl", hash = "sha256:360137f8fb1b753c5cde3ac388597ad680eccbbbb3865ab65efea062c4a1fd16", size = 12917260 }, + { url = "https://files.pythonhosted.org/packages/62/12/b928871c570d4a87ab13d2cc19f8817f17e340d5481621930e76b80ffb7d/numpy-2.2.1-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:694f9e921a0c8f252980e85bce61ebbd07ed2b7d4fa72d0e4246f2f8aa6642ab", size = 20909861 }, + { url = "https://files.pythonhosted.org/packages/3d/c3/59df91ae1d8ad7c5e03efd63fd785dec62d96b0fe56d1f9ab600b55009af/numpy-2.2.1-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:3683a8d166f2692664262fd4900f207791d005fb088d7fdb973cc8d663626faa", size = 14095776 }, + { url = "https://files.pythonhosted.org/packages/af/4e/8ed5868efc8e601fb69419644a280e9c482b75691466b73bfaab7d86922c/numpy-2.2.1-cp312-cp312-macosx_14_0_arm64.whl", hash = "sha256:780077d95eafc2ccc3ced969db22377b3864e5b9a0ea5eb347cc93b3ea900315", size = 5126239 }, + { url = "https://files.pythonhosted.org/packages/1a/74/dd0bbe650d7bc0014b051f092f2de65e34a8155aabb1287698919d124d7f/numpy-2.2.1-cp312-cp312-macosx_14_0_x86_64.whl", hash = "sha256:55ba24ebe208344aa7a00e4482f65742969a039c2acfcb910bc6fcd776eb4355", size = 6659296 }, + { url = "https://files.pythonhosted.org/packages/7f/11/4ebd7a3f4a655764dc98481f97bd0a662fb340d1001be6050606be13e162/numpy-2.2.1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:9b1d07b53b78bf84a96898c1bc139ad7f10fda7423f5fd158fd0f47ec5e01ac7", size = 14047121 }, + { url = "https://files.pythonhosted.org/packages/7f/a7/c1f1d978166eb6b98ad009503e4d93a8c1962d0eb14a885c352ee0276a54/numpy-2.2.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:5062dc1a4e32a10dc2b8b13cedd58988261416e811c1dc4dbdea4f57eea61b0d", size = 16096599 }, + { url = "https://files.pythonhosted.org/packages/3d/6d/0e22afd5fcbb4d8d0091f3f46bf4e8906399c458d4293da23292c0ba5022/numpy-2.2.1-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:fce4f615f8ca31b2e61aa0eb5865a21e14f5629515c9151850aa936c02a1ee51", size = 15243932 }, + { url = "https://files.pythonhosted.org/packages/03/39/e4e5832820131ba424092b9610d996b37e5557180f8e2d6aebb05c31ae54/numpy-2.2.1-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:67d4cda6fa6ffa073b08c8372aa5fa767ceb10c9a0587c707505a6d426f4e046", size = 17861032 }, + { url = "https://files.pythonhosted.org/packages/5f/8a/3794313acbf5e70df2d5c7d2aba8718676f8d054a05abe59e48417fb2981/numpy-2.2.1-cp312-cp312-win32.whl", hash = "sha256:32cb94448be47c500d2c7a95f93e2f21a01f1fd05dd2beea1ccd049bb6001cd2", size = 6274018 }, + { url = "https://files.pythonhosted.org/packages/17/c1/c31d3637f2641e25c7a19adf2ae822fdaf4ddd198b05d79a92a9ce7cb63e/numpy-2.2.1-cp312-cp312-win_amd64.whl", hash = "sha256:ba5511d8f31c033a5fcbda22dd5c813630af98c70b2661f2d2c654ae3cdfcfc8", size = 12613843 }, + { url = "https://files.pythonhosted.org/packages/20/d6/91a26e671c396e0c10e327b763485ee295f5a5a7a48c553f18417e5a0ed5/numpy-2.2.1-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:f1d09e520217618e76396377c81fba6f290d5f926f50c35f3a5f72b01a0da780", size = 20896464 }, + { url = "https://files.pythonhosted.org/packages/8c/40/5792ccccd91d45e87d9e00033abc4f6ca8a828467b193f711139ff1f1cd9/numpy-2.2.1-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:3ecc47cd7f6ea0336042be87d9e7da378e5c7e9b3c8ad0f7c966f714fc10d821", size = 14111350 }, + { url = "https://files.pythonhosted.org/packages/c0/2a/fb0a27f846cb857cef0c4c92bef89f133a3a1abb4e16bba1c4dace2e9b49/numpy-2.2.1-cp313-cp313-macosx_14_0_arm64.whl", hash = "sha256:f419290bc8968a46c4933158c91a0012b7a99bb2e465d5ef5293879742f8797e", size = 5111629 }, + { url = "https://files.pythonhosted.org/packages/eb/e5/8e81bb9d84db88b047baf4e8b681a3e48d6390bc4d4e4453eca428ecbb49/numpy-2.2.1-cp313-cp313-macosx_14_0_x86_64.whl", hash = "sha256:5b6c390bfaef8c45a260554888966618328d30e72173697e5cabe6b285fb2348", size = 6645865 }, + { url = "https://files.pythonhosted.org/packages/7a/1a/a90ceb191dd2f9e2897c69dde93ccc2d57dd21ce2acbd7b0333e8eea4e8d/numpy-2.2.1-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:526fc406ab991a340744aad7e25251dd47a6720a685fa3331e5c59fef5282a59", size = 14043508 }, + { url = "https://files.pythonhosted.org/packages/f1/5a/e572284c86a59dec0871a49cd4e5351e20b9c751399d5f1d79628c0542cb/numpy-2.2.1-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f74e6fdeb9a265624ec3a3918430205dff1df7e95a230779746a6af78bc615af", size = 16094100 }, + { url = "https://files.pythonhosted.org/packages/0c/2c/a79d24f364788386d85899dd280a94f30b0950be4b4a545f4fa4ed1d4ca7/numpy-2.2.1-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:53c09385ff0b72ba79d8715683c1168c12e0b6e84fb0372e97553d1ea91efe51", size = 15239691 }, + { url = "https://files.pythonhosted.org/packages/cf/79/1e20fd1c9ce5a932111f964b544facc5bb9bde7865f5b42f00b4a6a9192b/numpy-2.2.1-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:f3eac17d9ec51be534685ba877b6ab5edc3ab7ec95c8f163e5d7b39859524716", size = 17856571 }, + { url = "https://files.pythonhosted.org/packages/be/5b/cc155e107f75d694f562bdc84a26cc930569f3dfdfbccb3420b626065777/numpy-2.2.1-cp313-cp313-win32.whl", hash = "sha256:9ad014faa93dbb52c80d8f4d3dcf855865c876c9660cb9bd7553843dd03a4b1e", size = 6270841 }, + { url = "https://files.pythonhosted.org/packages/44/be/0e5cd009d2162e4138d79a5afb3b5d2341f0fe4777ab6e675aa3d4a42e21/numpy-2.2.1-cp313-cp313-win_amd64.whl", hash = "sha256:164a829b6aacf79ca47ba4814b130c4020b202522a93d7bff2202bfb33b61c60", size = 12606618 }, + { url = "https://files.pythonhosted.org/packages/a8/87/04ddf02dd86fb17c7485a5f87b605c4437966d53de1e3745d450343a6f56/numpy-2.2.1-cp313-cp313t-macosx_10_13_x86_64.whl", hash = "sha256:4dfda918a13cc4f81e9118dea249e192ab167a0bb1966272d5503e39234d694e", size = 20921004 }, + { url = "https://files.pythonhosted.org/packages/6e/3e/d0e9e32ab14005425d180ef950badf31b862f3839c5b927796648b11f88a/numpy-2.2.1-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:733585f9f4b62e9b3528dd1070ec4f52b8acf64215b60a845fa13ebd73cd0712", size = 14119910 }, + { url = "https://files.pythonhosted.org/packages/b5/5b/aa2d1905b04a8fb681e08742bb79a7bddfc160c7ce8e1ff6d5c821be0236/numpy-2.2.1-cp313-cp313t-macosx_14_0_arm64.whl", hash = "sha256:89b16a18e7bba224ce5114db863e7029803c179979e1af6ad6a6b11f70545008", size = 5153612 }, + { url = "https://files.pythonhosted.org/packages/ce/35/6831808028df0648d9b43c5df7e1051129aa0d562525bacb70019c5f5030/numpy-2.2.1-cp313-cp313t-macosx_14_0_x86_64.whl", hash = "sha256:676f4eebf6b2d430300f1f4f4c2461685f8269f94c89698d832cdf9277f30b84", size = 6668401 }, + { url = "https://files.pythonhosted.org/packages/b1/38/10ef509ad63a5946cc042f98d838daebfe7eaf45b9daaf13df2086b15ff9/numpy-2.2.1-cp313-cp313t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:27f5cdf9f493b35f7e41e8368e7d7b4bbafaf9660cba53fb21d2cd174ec09631", size = 14014198 }, + { url = "https://files.pythonhosted.org/packages/df/f8/c80968ae01df23e249ee0a4487fae55a4c0fe2f838dfe9cc907aa8aea0fa/numpy-2.2.1-cp313-cp313t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:c1ad395cf254c4fbb5b2132fee391f361a6e8c1adbd28f2cd8e79308a615fe9d", size = 16076211 }, + { url = "https://files.pythonhosted.org/packages/09/69/05c169376016a0b614b432967ac46ff14269eaffab80040ec03ae1ae8e2c/numpy-2.2.1-cp313-cp313t-musllinux_1_2_aarch64.whl", hash = "sha256:08ef779aed40dbc52729d6ffe7dd51df85796a702afbf68a4f4e41fafdc8bda5", size = 15220266 }, + { url = "https://files.pythonhosted.org/packages/f1/ff/94a4ce67ea909f41cf7ea712aebbe832dc67decad22944a1020bb398a5ee/numpy-2.2.1-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:26c9c4382b19fcfbbed3238a14abf7ff223890ea1936b8890f058e7ba35e8d71", size = 17852844 }, + { url = "https://files.pythonhosted.org/packages/46/72/8a5dbce4020dfc595592333ef2fbb0a187d084ca243b67766d29d03e0096/numpy-2.2.1-cp313-cp313t-win32.whl", hash = "sha256:93cf4e045bae74c90ca833cba583c14b62cb4ba2cba0abd2b141ab52548247e2", size = 6326007 }, + { url = "https://files.pythonhosted.org/packages/7b/9c/4fce9cf39dde2562584e4cfd351a0140240f82c0e3569ce25a250f47037d/numpy-2.2.1-cp313-cp313t-win_amd64.whl", hash = "sha256:bff7d8ec20f5f42607599f9994770fa65d76edca264a87b5e4ea5629bce12268", size = 12693107 }, + { url = "https://files.pythonhosted.org/packages/f1/65/d36a76b811ffe0a4515e290cb05cb0e22171b1b0f0db6bee9141cf023545/numpy-2.2.1-pp310-pypy310_pp73-macosx_10_15_x86_64.whl", hash = "sha256:7ba9cc93a91d86365a5d270dee221fdc04fb68d7478e6bf6af650de78a8339e3", size = 21044672 }, + { url = "https://files.pythonhosted.org/packages/aa/3f/b644199f165063154df486d95198d814578f13dd4d8c1651e075bf1cb8af/numpy-2.2.1-pp310-pypy310_pp73-macosx_14_0_x86_64.whl", hash = "sha256:3d03883435a19794e41f147612a77a8f56d4e52822337844fff3d4040a142964", size = 6789873 }, + { url = "https://files.pythonhosted.org/packages/d7/df/2adb0bb98a3cbe8a6c3c6d1019aede1f1d8b83927ced228a46cc56c7a206/numpy-2.2.1-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:4511d9e6071452b944207c8ce46ad2f897307910b402ea5fa975da32e0102800", size = 16194933 }, + { url = "https://files.pythonhosted.org/packages/13/3e/1959d5219a9e6d200638d924cedda6a606392f7186a4ed56478252e70d55/numpy-2.2.1-pp310-pypy310_pp73-win_amd64.whl", hash = "sha256:5c5cc0cbabe9452038ed984d05ac87910f89370b9242371bd9079cb4af61811e", size = 12820057 }, +] + +[[package]] +name = "opencv-python" +version = "4.10.0.84" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "numpy", version = "1.24.4", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.9'" }, + { name = "numpy", version = "1.25.2", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.9' and python_full_version < '3.12'" }, + { name = "numpy", version = "2.0.2", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version == '3.12.*'" }, + { name = "numpy", version = "2.2.1", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.13'" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/4a/e7/b70a2d9ab205110d715906fc8ec83fbb00404aeb3a37a0654fdb68eb0c8c/opencv-python-4.10.0.84.tar.gz", hash = "sha256:72d234e4582e9658ffea8e9cae5b63d488ad06994ef12d81dc303b17472f3526", size = 95103981 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/66/82/564168a349148298aca281e342551404ef5521f33fba17b388ead0a84dc5/opencv_python-4.10.0.84-cp37-abi3-macosx_11_0_arm64.whl", hash = "sha256:fc182f8f4cda51b45f01c64e4cbedfc2f00aff799debebc305d8d0210c43f251", size = 54835524 }, + { url = "https://files.pythonhosted.org/packages/64/4a/016cda9ad7cf18c58ba074628a4eaae8aa55f3fd06a266398cef8831a5b9/opencv_python-4.10.0.84-cp37-abi3-macosx_12_0_x86_64.whl", hash = "sha256:71e575744f1d23f79741450254660442785f45a0797212852ee5199ef12eed98", size = 56475426 }, + { url = "https://files.pythonhosted.org/packages/81/e4/7a987ebecfe5ceaf32db413b67ff18eb3092c598408862fff4d7cc3fd19b/opencv_python-4.10.0.84-cp37-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:09a332b50488e2dda866a6c5573ee192fe3583239fb26ff2f7f9ceb0bc119ea6", size = 41746971 }, + { url = "https://files.pythonhosted.org/packages/3f/a4/d2537f47fd7fcfba966bd806e3ec18e7ee1681056d4b0a9c8d983983e4d5/opencv_python-4.10.0.84-cp37-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:9ace140fc6d647fbe1c692bcb2abce768973491222c067c131d80957c595b71f", size = 62548253 }, + { url = "https://files.pythonhosted.org/packages/1e/39/bbf57e7b9dab623e8773f6ff36385456b7ae7fa9357a5e53db732c347eac/opencv_python-4.10.0.84-cp37-abi3-win32.whl", hash = "sha256:2db02bb7e50b703f0a2d50c50ced72e95c574e1e5a0bb35a8a86d0b35c98c236", size = 28737688 }, + { url = "https://files.pythonhosted.org/packages/ec/6c/fab8113424af5049f85717e8e527ca3773299a3c6b02506e66436e19874f/opencv_python-4.10.0.84-cp37-abi3-win_amd64.whl", hash = "sha256:32dbbd94c26f611dc5cc6979e6b7aa1f55a64d6b463cc1dcd3c95505a63e48fe", size = 38842521 }, +] + +[[package]] +name = "overrides" +version = "7.7.0" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/36/86/b585f53236dec60aba864e050778b25045f857e17f6e5ea0ae95fe80edd2/overrides-7.7.0.tar.gz", hash = "sha256:55158fa3d93b98cc75299b1e67078ad9003ca27945c76162c1c0766d6f91820a", size = 22812 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/2c/ab/fc8290c6a4c722e5514d80f62b2dc4c4df1a68a41d1364e625c35990fcf3/overrides-7.7.0-py3-none-any.whl", hash = "sha256:c7ed9d062f78b8e4c1a7b70bd8796b35ead4d9f510227ef9c5dc7626c60d7e49", size = 17832 }, +] + +[[package]] +name = "packaging" +version = "24.2" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/d0/63/68dbb6eb2de9cb10ee4c9c14a0148804425e13c4fb20d61cce69f53106da/packaging-24.2.tar.gz", hash = "sha256:c228a6dc5e932d346bc5739379109d49e8853dd8223571c7c5b55260edc0b97f", size = 163950 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/88/ef/eb23f262cca3c0c4eb7ab1933c3b1f03d021f2c48f54763065b6f0e321be/packaging-24.2-py3-none-any.whl", hash = "sha256:09abb1bccd265c01f4a3aa3f7a7db064b36514d2cba19a2f694fe6150451a759", size = 65451 }, +] + +[[package]] +name = "paginate" +version = "0.5.7" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/ec/46/68dde5b6bc00c1296ec6466ab27dddede6aec9af1b99090e1107091b3b84/paginate-0.5.7.tar.gz", hash = "sha256:22bd083ab41e1a8b4f3690544afb2c60c25e5c9a63a30fa2f483f6c60c8e5945", size = 19252 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/90/96/04b8e52da071d28f5e21a805b19cb9390aa17a47462ac87f5e2696b9566d/paginate-0.5.7-py2.py3-none-any.whl", hash = "sha256:b885e2af73abcf01d9559fd5216b57ef722f8c42affbb63942377668e35c7591", size = 13746 }, +] + +[[package]] +name = "pandas" +version = "2.0.3" +source = { registry = "https://pypi.org/simple" } +resolution-markers = [ + "python_full_version < '3.9' and platform_machine == 'arm64' and sys_platform == 'darwin'", + "python_full_version < '3.9' and platform_machine == 'aarch64' and sys_platform == 'linux'", + "(python_full_version < '3.9' and platform_machine != 'arm64' and sys_platform == 'darwin') or (python_full_version < '3.9' and platform_machine != 'aarch64' and sys_platform == 'linux') or (python_full_version < '3.9' and sys_platform != 'darwin' and sys_platform != 'linux')", +] +dependencies = [ + { name = "numpy", version = "1.24.4", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.9'" }, + { name = "python-dateutil", marker = "python_full_version < '3.9'" }, + { name = "pytz", marker = "python_full_version < '3.9'" }, + { name = "tzdata", marker = "python_full_version < '3.9'" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/b1/a7/824332581e258b5aa4f3763ecb2a797e5f9a54269044ba2e50ac19936b32/pandas-2.0.3.tar.gz", hash = "sha256:c02f372a88e0d17f36d3093a644c73cfc1788e876a7c4bcb4020a77512e2043c", size = 5284455 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/3c/b2/0d4a5729ce1ce11630c4fc5d5522a33b967b3ca146c210f58efde7c40e99/pandas-2.0.3-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:e4c7c9f27a4185304c7caf96dc7d91bc60bc162221152de697c98eb0b2648dd8", size = 11760908 }, + { url = "https://files.pythonhosted.org/packages/4a/f6/f620ca62365d83e663a255a41b08d2fc2eaf304e0b8b21bb6d62a7390fe3/pandas-2.0.3-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:f167beed68918d62bffb6ec64f2e1d8a7d297a038f86d4aed056b9493fca407f", size = 10823486 }, + { url = "https://files.pythonhosted.org/packages/c2/59/cb4234bc9b968c57e81861b306b10cd8170272c57b098b724d3de5eda124/pandas-2.0.3-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:ce0c6f76a0f1ba361551f3e6dceaff06bde7514a374aa43e33b588ec10420183", size = 11571897 }, + { url = "https://files.pythonhosted.org/packages/e3/59/35a2892bf09ded9c1bf3804461efe772836a5261ef5dfb4e264ce813ff99/pandas-2.0.3-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ba619e410a21d8c387a1ea6e8a0e49bb42216474436245718d7f2e88a2f8d7c0", size = 12306421 }, + { url = "https://files.pythonhosted.org/packages/94/71/3a0c25433c54bb29b48e3155b959ac78f4c4f2f06f94d8318aac612cb80f/pandas-2.0.3-cp310-cp310-win32.whl", hash = "sha256:3ef285093b4fe5058eefd756100a367f27029913760773c8bf1d2d8bebe5d210", size = 9540792 }, + { url = "https://files.pythonhosted.org/packages/ed/30/b97456e7063edac0e5a405128065f0cd2033adfe3716fb2256c186bd41d0/pandas-2.0.3-cp310-cp310-win_amd64.whl", hash = "sha256:9ee1a69328d5c36c98d8e74db06f4ad518a1840e8ccb94a4ba86920986bb617e", size = 10664333 }, + { url = "https://files.pythonhosted.org/packages/b3/92/a5e5133421b49e901a12e02a6a7ef3a0130e10d13db8cb657fdd0cba3b90/pandas-2.0.3-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:b084b91d8d66ab19f5bb3256cbd5ea661848338301940e17f4492b2ce0801fe8", size = 11645672 }, + { url = "https://files.pythonhosted.org/packages/8f/bb/aea1fbeed5b474cb8634364718abe9030d7cc7a30bf51f40bd494bbc89a2/pandas-2.0.3-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:37673e3bdf1551b95bf5d4ce372b37770f9529743d2498032439371fc7b7eb26", size = 10693229 }, + { url = "https://files.pythonhosted.org/packages/d6/90/e7d387f1a416b14e59290baa7a454a90d719baebbf77433ff1bdcc727800/pandas-2.0.3-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:b9cb1e14fdb546396b7e1b923ffaeeac24e4cedd14266c3497216dd4448e4f2d", size = 11581591 }, + { url = "https://files.pythonhosted.org/packages/d0/28/88b81881c056376254618fad622a5e94b5126db8c61157ea1910cd1c040a/pandas-2.0.3-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:d9cd88488cceb7635aebb84809d087468eb33551097d600c6dad13602029c2df", size = 12219370 }, + { url = "https://files.pythonhosted.org/packages/e4/a5/212b9039e25bf8ebb97e417a96660e3dc925dacd3f8653d531b8f7fd9be4/pandas-2.0.3-cp311-cp311-win32.whl", hash = "sha256:694888a81198786f0e164ee3a581df7d505024fbb1f15202fc7db88a71d84ebd", size = 9482935 }, + { url = "https://files.pythonhosted.org/packages/9e/71/756a1be6bee0209d8c0d8c5e3b9fc72c00373f384a4017095ec404aec3ad/pandas-2.0.3-cp311-cp311-win_amd64.whl", hash = "sha256:6a21ab5c89dcbd57f78d0ae16630b090eec626360085a4148693def5452d8a6b", size = 10607692 }, + { url = "https://files.pythonhosted.org/packages/78/a8/07dd10f90ca915ed914853cd57f79bfc22e1ef4384ab56cb4336d2fc1f2a/pandas-2.0.3-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:9e4da0d45e7f34c069fe4d522359df7d23badf83abc1d1cef398895822d11061", size = 11653303 }, + { url = "https://files.pythonhosted.org/packages/53/c3/f8e87361f7fdf42012def602bfa2a593423c729f5cb7c97aed7f51be66ac/pandas-2.0.3-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:32fca2ee1b0d93dd71d979726b12b61faa06aeb93cf77468776287f41ff8fdc5", size = 10710932 }, + { url = "https://files.pythonhosted.org/packages/a7/87/828d50c81ce0f434163bf70b925a0eec6076808e0bca312a79322b141f66/pandas-2.0.3-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:258d3624b3ae734490e4d63c430256e716f488c4fcb7c8e9bde2d3aa46c29089", size = 11684018 }, + { url = "https://files.pythonhosted.org/packages/f8/7f/5b047effafbdd34e52c9e2d7e44f729a0655efafb22198c45cf692cdc157/pandas-2.0.3-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:9eae3dc34fa1aa7772dd3fc60270d13ced7346fcbcfee017d3132ec625e23bb0", size = 12353723 }, + { url = "https://files.pythonhosted.org/packages/ea/ae/26a2eda7fa581347d69e51f93892493b2074ef3352ac71033c9f32c52389/pandas-2.0.3-cp38-cp38-win32.whl", hash = "sha256:f3421a7afb1a43f7e38e82e844e2bca9a6d793d66c1a7f9f0ff39a795bbc5e02", size = 9646403 }, + { url = "https://files.pythonhosted.org/packages/c3/6c/ea362eef61f05553aaf1a24b3e96b2d0603f5dc71a3bd35688a24ed88843/pandas-2.0.3-cp38-cp38-win_amd64.whl", hash = "sha256:69d7f3884c95da3a31ef82b7618af5710dba95bb885ffab339aad925c3e8ce78", size = 10777638 }, + { url = "https://files.pythonhosted.org/packages/f8/c7/cfef920b7b457dff6928e824896cb82367650ea127d048ee0b820026db4f/pandas-2.0.3-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:5247fb1ba347c1261cbbf0fcfba4a3121fbb4029d95d9ef4dc45406620b25c8b", size = 11834160 }, + { url = "https://files.pythonhosted.org/packages/6c/1c/689c9d99bc4e5d366a5fd871f0bcdee98a6581e240f96b78d2d08f103774/pandas-2.0.3-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:81af086f4543c9d8bb128328b5d32e9986e0c84d3ee673a2ac6fb57fd14f755e", size = 10862752 }, + { url = "https://files.pythonhosted.org/packages/cc/b8/4d082f41c27c95bf90485d1447b647cc7e5680fea75e315669dc6e4cb398/pandas-2.0.3-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:1994c789bf12a7c5098277fb43836ce090f1073858c10f9220998ac74f37c69b", size = 11715852 }, + { url = "https://files.pythonhosted.org/packages/9e/0d/91a9fd2c202f2b1d97a38ab591890f86480ecbb596cbc56d035f6f23fdcc/pandas-2.0.3-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:5ec591c48e29226bcbb316e0c1e9423622bc7a4eaf1ef7c3c9fa1a3981f89641", size = 12398496 }, + { url = "https://files.pythonhosted.org/packages/26/7d/d8aa0a2c4f3f5f8ea59fb946c8eafe8f508090ca73e2b08a9af853c1103e/pandas-2.0.3-cp39-cp39-win32.whl", hash = "sha256:04dbdbaf2e4d46ca8da896e1805bc04eb85caa9a82e259e8eed00254d5e0c682", size = 9630766 }, + { url = "https://files.pythonhosted.org/packages/9a/f2/0ad053856debbe90c83de1b4f05915f85fd2146f20faf9daa3b320d36df3/pandas-2.0.3-cp39-cp39-win_amd64.whl", hash = "sha256:1168574b036cd8b93abc746171c9b4f1b83467438a5e45909fed645cf8692dbc", size = 10755902 }, +] + +[[package]] +name = "pandas" +version = "2.2.3" +source = { registry = "https://pypi.org/simple" } +resolution-markers = [ + "python_full_version >= '3.13' and sys_platform == 'darwin'", + "python_full_version >= '3.13' and platform_machine == 'aarch64' and sys_platform == 'linux'", + "(python_full_version >= '3.13' and platform_machine != 'aarch64' and sys_platform == 'linux') or (python_full_version >= '3.13' and sys_platform != 'darwin' and sys_platform != 'linux')", + "python_full_version == '3.12.*' and sys_platform == 'darwin'", + "python_full_version == '3.12.*' and platform_machine == 'aarch64' and sys_platform == 'linux'", + "(python_full_version == '3.12.*' and platform_machine != 'aarch64' and sys_platform == 'linux') or (python_full_version == '3.12.*' and sys_platform != 'darwin' and sys_platform != 'linux')", + "python_full_version == '3.11.*' and sys_platform == 'darwin'", + "python_full_version == '3.11.*' and platform_machine == 'aarch64' and sys_platform == 'linux'", + "(python_full_version == '3.11.*' and platform_machine != 'aarch64' and sys_platform == 'linux') or (python_full_version == '3.11.*' and sys_platform != 'darwin' and sys_platform != 'linux')", + "python_full_version == '3.10.*' and sys_platform == 'darwin'", + "python_full_version == '3.10.*' and platform_machine == 'aarch64' and sys_platform == 'linux'", + "(python_full_version == '3.10.*' and platform_machine != 'aarch64' and sys_platform == 'linux') or (python_full_version == '3.10.*' and sys_platform != 'darwin' and sys_platform != 'linux')", + "python_full_version == '3.9.*' and platform_machine == 'arm64' and sys_platform == 'darwin'", + "python_full_version == '3.9.*' and platform_machine == 'aarch64' and sys_platform == 'linux'", + "(python_full_version == '3.9.*' and platform_machine != 'arm64' and sys_platform == 'darwin') or (python_full_version == '3.9.*' and platform_machine != 'aarch64' and sys_platform == 'linux') or (python_full_version == '3.9.*' and sys_platform != 'darwin' and sys_platform != 'linux')", +] +dependencies = [ + { name = "numpy", version = "1.25.2", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.9' and python_full_version < '3.12'" }, + { name = "numpy", version = "2.0.2", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version == '3.12.*'" }, + { name = "numpy", version = "2.2.1", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.13'" }, + { name = "python-dateutil", marker = "python_full_version >= '3.9'" }, + { name = "pytz", marker = "python_full_version >= '3.9'" }, + { name = "tzdata", marker = "python_full_version >= '3.9'" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/9c/d6/9f8431bacc2e19dca897724cd097b1bb224a6ad5433784a44b587c7c13af/pandas-2.2.3.tar.gz", hash = "sha256:4f18ba62b61d7e192368b84517265a99b4d7ee8912f8708660fb4a366cc82667", size = 4399213 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/aa/70/c853aec59839bceed032d52010ff5f1b8d87dc3114b762e4ba2727661a3b/pandas-2.2.3-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:1948ddde24197a0f7add2bdc4ca83bf2b1ef84a1bc8ccffd95eda17fd836ecb5", size = 12580827 }, + { url = "https://files.pythonhosted.org/packages/99/f2/c4527768739ffa4469b2b4fff05aa3768a478aed89a2f271a79a40eee984/pandas-2.2.3-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:381175499d3802cde0eabbaf6324cce0c4f5d52ca6f8c377c29ad442f50f6348", size = 11303897 }, + { url = "https://files.pythonhosted.org/packages/ed/12/86c1747ea27989d7a4064f806ce2bae2c6d575b950be087837bdfcabacc9/pandas-2.2.3-cp310-cp310-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:d9c45366def9a3dd85a6454c0e7908f2b3b8e9c138f5dc38fed7ce720d8453ed", size = 66480908 }, + { url = "https://files.pythonhosted.org/packages/44/50/7db2cd5e6373ae796f0ddad3675268c8d59fb6076e66f0c339d61cea886b/pandas-2.2.3-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:86976a1c5b25ae3f8ccae3a5306e443569ee3c3faf444dfd0f41cda24667ad57", size = 13064210 }, + { url = "https://files.pythonhosted.org/packages/61/61/a89015a6d5536cb0d6c3ba02cebed51a95538cf83472975275e28ebf7d0c/pandas-2.2.3-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:b8661b0238a69d7aafe156b7fa86c44b881387509653fdf857bebc5e4008ad42", size = 16754292 }, + { url = "https://files.pythonhosted.org/packages/ce/0d/4cc7b69ce37fac07645a94e1d4b0880b15999494372c1523508511b09e40/pandas-2.2.3-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:37e0aced3e8f539eccf2e099f65cdb9c8aa85109b0be6e93e2baff94264bdc6f", size = 14416379 }, + { url = "https://files.pythonhosted.org/packages/31/9e/6ebb433de864a6cd45716af52a4d7a8c3c9aaf3a98368e61db9e69e69a9c/pandas-2.2.3-cp310-cp310-win_amd64.whl", hash = "sha256:56534ce0746a58afaf7942ba4863e0ef81c9c50d3f0ae93e9497d6a41a057645", size = 11598471 }, + { url = "https://files.pythonhosted.org/packages/a8/44/d9502bf0ed197ba9bf1103c9867d5904ddcaf869e52329787fc54ed70cc8/pandas-2.2.3-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:66108071e1b935240e74525006034333f98bcdb87ea116de573a6a0dccb6c039", size = 12602222 }, + { url = "https://files.pythonhosted.org/packages/52/11/9eac327a38834f162b8250aab32a6781339c69afe7574368fffe46387edf/pandas-2.2.3-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:7c2875855b0ff77b2a64a0365e24455d9990730d6431b9e0ee18ad8acee13dbd", size = 11321274 }, + { url = "https://files.pythonhosted.org/packages/45/fb/c4beeb084718598ba19aa9f5abbc8aed8b42f90930da861fcb1acdb54c3a/pandas-2.2.3-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:cd8d0c3be0515c12fed0bdbae072551c8b54b7192c7b1fda0ba56059a0179698", size = 15579836 }, + { url = "https://files.pythonhosted.org/packages/cd/5f/4dba1d39bb9c38d574a9a22548c540177f78ea47b32f99c0ff2ec499fac5/pandas-2.2.3-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:c124333816c3a9b03fbeef3a9f230ba9a737e9e5bb4060aa2107a86cc0a497fc", size = 13058505 }, + { url = "https://files.pythonhosted.org/packages/b9/57/708135b90391995361636634df1f1130d03ba456e95bcf576fada459115a/pandas-2.2.3-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:63cc132e40a2e084cf01adf0775b15ac515ba905d7dcca47e9a251819c575ef3", size = 16744420 }, + { url = "https://files.pythonhosted.org/packages/86/4a/03ed6b7ee323cf30404265c284cee9c65c56a212e0a08d9ee06984ba2240/pandas-2.2.3-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:29401dbfa9ad77319367d36940cd8a0b3a11aba16063e39632d98b0e931ddf32", size = 14440457 }, + { url = "https://files.pythonhosted.org/packages/ed/8c/87ddf1fcb55d11f9f847e3c69bb1c6f8e46e2f40ab1a2d2abadb2401b007/pandas-2.2.3-cp311-cp311-win_amd64.whl", hash = "sha256:3fc6873a41186404dad67245896a6e440baacc92f5b716ccd1bc9ed2995ab2c5", size = 11617166 }, + { url = "https://files.pythonhosted.org/packages/17/a3/fb2734118db0af37ea7433f57f722c0a56687e14b14690edff0cdb4b7e58/pandas-2.2.3-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:b1d432e8d08679a40e2a6d8b2f9770a5c21793a6f9f47fdd52c5ce1948a5a8a9", size = 12529893 }, + { url = "https://files.pythonhosted.org/packages/e1/0c/ad295fd74bfac85358fd579e271cded3ac969de81f62dd0142c426b9da91/pandas-2.2.3-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:a5a1595fe639f5988ba6a8e5bc9649af3baf26df3998a0abe56c02609392e0a4", size = 11363475 }, + { url = "https://files.pythonhosted.org/packages/c6/2a/4bba3f03f7d07207481fed47f5b35f556c7441acddc368ec43d6643c5777/pandas-2.2.3-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:5de54125a92bb4d1c051c0659e6fcb75256bf799a732a87184e5ea503965bce3", size = 15188645 }, + { url = "https://files.pythonhosted.org/packages/38/f8/d8fddee9ed0d0c0f4a2132c1dfcf0e3e53265055da8df952a53e7eaf178c/pandas-2.2.3-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:fffb8ae78d8af97f849404f21411c95062db1496aeb3e56f146f0355c9989319", size = 12739445 }, + { url = "https://files.pythonhosted.org/packages/20/e8/45a05d9c39d2cea61ab175dbe6a2de1d05b679e8de2011da4ee190d7e748/pandas-2.2.3-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:6dfcb5ee8d4d50c06a51c2fffa6cff6272098ad6540aed1a76d15fb9318194d8", size = 16359235 }, + { url = "https://files.pythonhosted.org/packages/1d/99/617d07a6a5e429ff90c90da64d428516605a1ec7d7bea494235e1c3882de/pandas-2.2.3-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:062309c1b9ea12a50e8ce661145c6aab431b1e99530d3cd60640e255778bd43a", size = 14056756 }, + { url = "https://files.pythonhosted.org/packages/29/d4/1244ab8edf173a10fd601f7e13b9566c1b525c4f365d6bee918e68381889/pandas-2.2.3-cp312-cp312-win_amd64.whl", hash = "sha256:59ef3764d0fe818125a5097d2ae867ca3fa64df032331b7e0917cf5d7bf66b13", size = 11504248 }, + { url = "https://files.pythonhosted.org/packages/64/22/3b8f4e0ed70644e85cfdcd57454686b9057c6c38d2f74fe4b8bc2527214a/pandas-2.2.3-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:f00d1345d84d8c86a63e476bb4955e46458b304b9575dcf71102b5c705320015", size = 12477643 }, + { url = "https://files.pythonhosted.org/packages/e4/93/b3f5d1838500e22c8d793625da672f3eec046b1a99257666c94446969282/pandas-2.2.3-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:3508d914817e153ad359d7e069d752cdd736a247c322d932eb89e6bc84217f28", size = 11281573 }, + { url = "https://files.pythonhosted.org/packages/f5/94/6c79b07f0e5aab1dcfa35a75f4817f5c4f677931d4234afcd75f0e6a66ca/pandas-2.2.3-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:22a9d949bfc9a502d320aa04e5d02feab689d61da4e7764b62c30b991c42c5f0", size = 15196085 }, + { url = "https://files.pythonhosted.org/packages/e8/31/aa8da88ca0eadbabd0a639788a6da13bb2ff6edbbb9f29aa786450a30a91/pandas-2.2.3-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f3a255b2c19987fbbe62a9dfd6cff7ff2aa9ccab3fc75218fd4b7530f01efa24", size = 12711809 }, + { url = "https://files.pythonhosted.org/packages/ee/7c/c6dbdb0cb2a4344cacfb8de1c5808ca885b2e4dcfde8008266608f9372af/pandas-2.2.3-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:800250ecdadb6d9c78eae4990da62743b857b470883fa27f652db8bdde7f6659", size = 16356316 }, + { url = "https://files.pythonhosted.org/packages/57/b7/8b757e7d92023b832869fa8881a992696a0bfe2e26f72c9ae9f255988d42/pandas-2.2.3-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:6374c452ff3ec675a8f46fd9ab25c4ad0ba590b71cf0656f8b6daa5202bca3fb", size = 14022055 }, + { url = "https://files.pythonhosted.org/packages/3b/bc/4b18e2b8c002572c5a441a64826252ce5da2aa738855747247a971988043/pandas-2.2.3-cp313-cp313-win_amd64.whl", hash = "sha256:61c5ad4043f791b61dd4752191d9f07f0ae412515d59ba8f005832a532f8736d", size = 11481175 }, + { url = "https://files.pythonhosted.org/packages/76/a3/a5d88146815e972d40d19247b2c162e88213ef51c7c25993942c39dbf41d/pandas-2.2.3-cp313-cp313t-macosx_10_13_x86_64.whl", hash = "sha256:3b71f27954685ee685317063bf13c7709a7ba74fc996b84fc6821c59b0f06468", size = 12615650 }, + { url = "https://files.pythonhosted.org/packages/9c/8c/f0fd18f6140ddafc0c24122c8a964e48294acc579d47def376fef12bcb4a/pandas-2.2.3-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:38cf8125c40dae9d5acc10fa66af8ea6fdf760b2714ee482ca691fc66e6fcb18", size = 11290177 }, + { url = "https://files.pythonhosted.org/packages/ed/f9/e995754eab9c0f14c6777401f7eece0943840b7a9fc932221c19d1abee9f/pandas-2.2.3-cp313-cp313t-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:ba96630bc17c875161df3818780af30e43be9b166ce51c9a18c1feae342906c2", size = 14651526 }, + { url = "https://files.pythonhosted.org/packages/25/b0/98d6ae2e1abac4f35230aa756005e8654649d305df9a28b16b9ae4353bff/pandas-2.2.3-cp313-cp313t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:1db71525a1538b30142094edb9adc10be3f3e176748cd7acc2240c2f2e5aa3a4", size = 11871013 }, + { url = "https://files.pythonhosted.org/packages/cc/57/0f72a10f9db6a4628744c8e8f0df4e6e21de01212c7c981d31e50ffc8328/pandas-2.2.3-cp313-cp313t-musllinux_1_2_aarch64.whl", hash = "sha256:15c0e1e02e93116177d29ff83e8b1619c93ddc9c49083f237d4312337a61165d", size = 15711620 }, + { url = "https://files.pythonhosted.org/packages/ab/5f/b38085618b950b79d2d9164a711c52b10aefc0ae6833b96f626b7021b2ed/pandas-2.2.3-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:ad5b65698ab28ed8d7f18790a0dc58005c7629f227be9ecc1072aa74c0c1d43a", size = 13098436 }, + { url = "https://files.pythonhosted.org/packages/ca/8c/8848a4c9b8fdf5a534fe2077af948bf53cd713d77ffbcd7bd15710348fd7/pandas-2.2.3-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:bc6b93f9b966093cb0fd62ff1a7e4c09e6d546ad7c1de191767baffc57628f39", size = 12595535 }, + { url = "https://files.pythonhosted.org/packages/9c/b9/5cead4f63b6d31bdefeb21a679bc5a7f4aaf262ca7e07e2bc1c341b68470/pandas-2.2.3-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:5dbca4c1acd72e8eeef4753eeca07de9b1db4f398669d5994086f788a5d7cc30", size = 11319822 }, + { url = "https://files.pythonhosted.org/packages/31/af/89e35619fb573366fa68dc26dad6ad2c08c17b8004aad6d98f1a31ce4bb3/pandas-2.2.3-cp39-cp39-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:8cd6d7cc958a3910f934ea8dbdf17b2364827bb4dafc38ce6eef6bb3d65ff09c", size = 15625439 }, + { url = "https://files.pythonhosted.org/packages/3d/dd/bed19c2974296661493d7acc4407b1d2db4e2a482197df100f8f965b6225/pandas-2.2.3-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:99df71520d25fade9db7c1076ac94eb994f4d2673ef2aa2e86ee039b6746d20c", size = 13068928 }, + { url = "https://files.pythonhosted.org/packages/31/a3/18508e10a31ea108d746c848b5a05c0711e0278fa0d6f1c52a8ec52b80a5/pandas-2.2.3-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:31d0ced62d4ea3e231a9f228366919a5ea0b07440d9d4dac345376fd8e1477ea", size = 16783266 }, + { url = "https://files.pythonhosted.org/packages/c4/a5/3429bd13d82bebc78f4d78c3945efedef63a7cd0c15c17b2eeb838d1121f/pandas-2.2.3-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:7eee9e7cea6adf3e3d24e304ac6b8300646e2a5d1cd3a3c2abed9101b0846761", size = 14450871 }, + { url = "https://files.pythonhosted.org/packages/2f/49/5c30646e96c684570925b772eac4eb0a8cb0ca590fa978f56c5d3ae73ea1/pandas-2.2.3-cp39-cp39-win_amd64.whl", hash = "sha256:4850ba03528b6dd51d6c5d273c46f183f39a9baf3f0143e566b89450965b105e", size = 11618011 }, +] + +[[package]] +name = "pandocfilters" +version = "1.5.1" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/70/6f/3dd4940bbe001c06a65f88e36bad298bc7a0de5036115639926b0c5c0458/pandocfilters-1.5.1.tar.gz", hash = "sha256:002b4a555ee4ebc03f8b66307e287fa492e4a77b4ea14d3f934328297bb4939e", size = 8454 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/ef/af/4fbc8cab944db5d21b7e2a5b8e9211a03a79852b1157e2c102fcc61ac440/pandocfilters-1.5.1-py2.py3-none-any.whl", hash = "sha256:93be382804a9cdb0a7267585f157e5d1731bbe5545a85b268d6f5fe6232de2bc", size = 8663 }, +] + +[[package]] +name = "parso" +version = "0.8.4" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/66/94/68e2e17afaa9169cf6412ab0f28623903be73d1b32e208d9e8e541bb086d/parso-0.8.4.tar.gz", hash = "sha256:eb3a7b58240fb99099a345571deecc0f9540ea5f4dd2fe14c2a99d6b281ab92d", size = 400609 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/c6/ac/dac4a63f978e4dcb3c6d3a78c4d8e0192a113d288502a1216950c41b1027/parso-0.8.4-py2.py3-none-any.whl", hash = "sha256:a418670a20291dacd2dddc80c377c5c3791378ee1e8d12bffc35420643d43f18", size = 103650 }, +] + +[[package]] +name = "pathspec" +version = "0.12.1" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/ca/bc/f35b8446f4531a7cb215605d100cd88b7ac6f44ab3fc94870c120ab3adbf/pathspec-0.12.1.tar.gz", hash = "sha256:a482d51503a1ab33b1c67a6c3813a26953dbdc71c31dacaef9a838c4e29f5712", size = 51043 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/cc/20/ff623b09d963f88bfde16306a54e12ee5ea43e9b597108672ff3a408aad6/pathspec-0.12.1-py3-none-any.whl", hash = "sha256:a0d503e138a4c123b27490a4f7beda6a01c6f288df0e4a8b79c7eb0dc7b4cc08", size = 31191 }, +] + +[[package]] +name = "pexpect" +version = "4.9.0" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "ptyprocess" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/42/92/cc564bf6381ff43ce1f4d06852fc19a2f11d180f23dc32d9588bee2f149d/pexpect-4.9.0.tar.gz", hash = "sha256:ee7d41123f3c9911050ea2c2dac107568dc43b2d3b0c7557a33212c398ead30f", size = 166450 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/9e/c3/059298687310d527a58bb01f3b1965787ee3b40dce76752eda8b44e9a2c5/pexpect-4.9.0-py2.py3-none-any.whl", hash = "sha256:7236d1e080e4936be2dc3e326cec0af72acf9212a7e1d060210e70a47e253523", size = 63772 }, +] + +[[package]] +name = "pickleshare" +version = "0.7.5" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/d8/b6/df3c1c9b616e9c0edbc4fbab6ddd09df9535849c64ba51fcb6531c32d4d8/pickleshare-0.7.5.tar.gz", hash = "sha256:87683d47965c1da65cdacaf31c8441d12b8044cdec9aca500cd78fc2c683afca", size = 6161 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/9a/41/220f49aaea88bc6fa6cba8d05ecf24676326156c23b991e80b3f2fc24c77/pickleshare-0.7.5-py2.py3-none-any.whl", hash = "sha256:9649af414d74d4df115d5d718f82acb59c9d418196b7b4290ed47a12ce62df56", size = 6877 }, +] + +[[package]] +name = "pillow" +version = "10.4.0" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/cd/74/ad3d526f3bf7b6d3f408b73fde271ec69dfac8b81341a318ce825f2b3812/pillow-10.4.0.tar.gz", hash = "sha256:166c1cd4d24309b30d61f79f4a9114b7b2313d7450912277855ff5dfd7cd4a06", size = 46555059 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/0e/69/a31cccd538ca0b5272be2a38347f8839b97a14be104ea08b0db92f749c74/pillow-10.4.0-cp310-cp310-macosx_10_10_x86_64.whl", hash = "sha256:4d9667937cfa347525b319ae34375c37b9ee6b525440f3ef48542fcf66f2731e", size = 3509271 }, + { url = "https://files.pythonhosted.org/packages/9a/9e/4143b907be8ea0bce215f2ae4f7480027473f8b61fcedfda9d851082a5d2/pillow-10.4.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:543f3dc61c18dafb755773efc89aae60d06b6596a63914107f75459cf984164d", size = 3375658 }, + { url = "https://files.pythonhosted.org/packages/8a/25/1fc45761955f9359b1169aa75e241551e74ac01a09f487adaaf4c3472d11/pillow-10.4.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:7928ecbf1ece13956b95d9cbcfc77137652b02763ba384d9ab508099a2eca856", size = 4332075 }, + { url = "https://files.pythonhosted.org/packages/5e/dd/425b95d0151e1d6c951f45051112394f130df3da67363b6bc75dc4c27aba/pillow-10.4.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:e4d49b85c4348ea0b31ea63bc75a9f3857869174e2bf17e7aba02945cd218e6f", size = 4444808 }, + { url = "https://files.pythonhosted.org/packages/b1/84/9a15cc5726cbbfe7f9f90bfb11f5d028586595907cd093815ca6644932e3/pillow-10.4.0-cp310-cp310-manylinux_2_28_aarch64.whl", hash = "sha256:6c762a5b0997f5659a5ef2266abc1d8851ad7749ad9a6a5506eb23d314e4f46b", size = 4356290 }, + { url = "https://files.pythonhosted.org/packages/b5/5b/6651c288b08df3b8c1e2f8c1152201e0b25d240e22ddade0f1e242fc9fa0/pillow-10.4.0-cp310-cp310-manylinux_2_28_x86_64.whl", hash = "sha256:a985e028fc183bf12a77a8bbf36318db4238a3ded7fa9df1b9a133f1cb79f8fc", size = 4525163 }, + { url = "https://files.pythonhosted.org/packages/07/8b/34854bf11a83c248505c8cb0fcf8d3d0b459a2246c8809b967963b6b12ae/pillow-10.4.0-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:812f7342b0eee081eaec84d91423d1b4650bb9828eb53d8511bcef8ce5aecf1e", size = 4463100 }, + { url = "https://files.pythonhosted.org/packages/78/63/0632aee4e82476d9cbe5200c0cdf9ba41ee04ed77887432845264d81116d/pillow-10.4.0-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:ac1452d2fbe4978c2eec89fb5a23b8387aba707ac72810d9490118817d9c0b46", size = 4592880 }, + { url = "https://files.pythonhosted.org/packages/df/56/b8663d7520671b4398b9d97e1ed9f583d4afcbefbda3c6188325e8c297bd/pillow-10.4.0-cp310-cp310-win32.whl", hash = "sha256:bcd5e41a859bf2e84fdc42f4edb7d9aba0a13d29a2abadccafad99de3feff984", size = 2235218 }, + { url = "https://files.pythonhosted.org/packages/f4/72/0203e94a91ddb4a9d5238434ae6c1ca10e610e8487036132ea9bf806ca2a/pillow-10.4.0-cp310-cp310-win_amd64.whl", hash = "sha256:ecd85a8d3e79cd7158dec1c9e5808e821feea088e2f69a974db5edf84dc53141", size = 2554487 }, + { url = "https://files.pythonhosted.org/packages/bd/52/7e7e93d7a6e4290543f17dc6f7d3af4bd0b3dd9926e2e8a35ac2282bc5f4/pillow-10.4.0-cp310-cp310-win_arm64.whl", hash = "sha256:ff337c552345e95702c5fde3158acb0625111017d0e5f24bf3acdb9cc16b90d1", size = 2243219 }, + { url = "https://files.pythonhosted.org/packages/a7/62/c9449f9c3043c37f73e7487ec4ef0c03eb9c9afc91a92b977a67b3c0bbc5/pillow-10.4.0-cp311-cp311-macosx_10_10_x86_64.whl", hash = "sha256:0a9ec697746f268507404647e531e92889890a087e03681a3606d9b920fbee3c", size = 3509265 }, + { url = "https://files.pythonhosted.org/packages/f4/5f/491dafc7bbf5a3cc1845dc0430872e8096eb9e2b6f8161509d124594ec2d/pillow-10.4.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:dfe91cb65544a1321e631e696759491ae04a2ea11d36715eca01ce07284738be", size = 3375655 }, + { url = "https://files.pythonhosted.org/packages/73/d5/c4011a76f4207a3c151134cd22a1415741e42fa5ddecec7c0182887deb3d/pillow-10.4.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:5dc6761a6efc781e6a1544206f22c80c3af4c8cf461206d46a1e6006e4429ff3", size = 4340304 }, + { url = "https://files.pythonhosted.org/packages/ac/10/c67e20445a707f7a610699bba4fe050583b688d8cd2d202572b257f46600/pillow-10.4.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:5e84b6cc6a4a3d76c153a6b19270b3526a5a8ed6b09501d3af891daa2a9de7d6", size = 4452804 }, + { url = "https://files.pythonhosted.org/packages/a9/83/6523837906d1da2b269dee787e31df3b0acb12e3d08f024965a3e7f64665/pillow-10.4.0-cp311-cp311-manylinux_2_28_aarch64.whl", hash = "sha256:bbc527b519bd3aa9d7f429d152fea69f9ad37c95f0b02aebddff592688998abe", size = 4365126 }, + { url = "https://files.pythonhosted.org/packages/ba/e5/8c68ff608a4203085158cff5cc2a3c534ec384536d9438c405ed6370d080/pillow-10.4.0-cp311-cp311-manylinux_2_28_x86_64.whl", hash = "sha256:76a911dfe51a36041f2e756b00f96ed84677cdeb75d25c767f296c1c1eda1319", size = 4533541 }, + { url = "https://files.pythonhosted.org/packages/f4/7c/01b8dbdca5bc6785573f4cee96e2358b0918b7b2c7b60d8b6f3abf87a070/pillow-10.4.0-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:59291fb29317122398786c2d44427bbd1a6d7ff54017075b22be9d21aa59bd8d", size = 4471616 }, + { url = "https://files.pythonhosted.org/packages/c8/57/2899b82394a35a0fbfd352e290945440e3b3785655a03365c0ca8279f351/pillow-10.4.0-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:416d3a5d0e8cfe4f27f574362435bc9bae57f679a7158e0096ad2beb427b8696", size = 4600802 }, + { url = "https://files.pythonhosted.org/packages/4d/d7/a44f193d4c26e58ee5d2d9db3d4854b2cfb5b5e08d360a5e03fe987c0086/pillow-10.4.0-cp311-cp311-win32.whl", hash = "sha256:7086cc1d5eebb91ad24ded9f58bec6c688e9f0ed7eb3dbbf1e4800280a896496", size = 2235213 }, + { url = "https://files.pythonhosted.org/packages/c1/d0/5866318eec2b801cdb8c82abf190c8343d8a1cd8bf5a0c17444a6f268291/pillow-10.4.0-cp311-cp311-win_amd64.whl", hash = "sha256:cbed61494057c0f83b83eb3a310f0bf774b09513307c434d4366ed64f4128a91", size = 2554498 }, + { url = "https://files.pythonhosted.org/packages/d4/c8/310ac16ac2b97e902d9eb438688de0d961660a87703ad1561fd3dfbd2aa0/pillow-10.4.0-cp311-cp311-win_arm64.whl", hash = "sha256:f5f0c3e969c8f12dd2bb7e0b15d5c468b51e5017e01e2e867335c81903046a22", size = 2243219 }, + { url = "https://files.pythonhosted.org/packages/05/cb/0353013dc30c02a8be34eb91d25e4e4cf594b59e5a55ea1128fde1e5f8ea/pillow-10.4.0-cp312-cp312-macosx_10_10_x86_64.whl", hash = "sha256:673655af3eadf4df6b5457033f086e90299fdd7a47983a13827acf7459c15d94", size = 3509350 }, + { url = "https://files.pythonhosted.org/packages/e7/cf/5c558a0f247e0bf9cec92bff9b46ae6474dd736f6d906315e60e4075f737/pillow-10.4.0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:866b6942a92f56300012f5fbac71f2d610312ee65e22f1aa2609e491284e5597", size = 3374980 }, + { url = "https://files.pythonhosted.org/packages/84/48/6e394b86369a4eb68b8a1382c78dc092245af517385c086c5094e3b34428/pillow-10.4.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:29dbdc4207642ea6aad70fbde1a9338753d33fb23ed6956e706936706f52dd80", size = 4343799 }, + { url = "https://files.pythonhosted.org/packages/3b/f3/a8c6c11fa84b59b9df0cd5694492da8c039a24cd159f0f6918690105c3be/pillow-10.4.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:bf2342ac639c4cf38799a44950bbc2dfcb685f052b9e262f446482afaf4bffca", size = 4459973 }, + { url = "https://files.pythonhosted.org/packages/7d/1b/c14b4197b80150fb64453585247e6fb2e1d93761fa0fa9cf63b102fde822/pillow-10.4.0-cp312-cp312-manylinux_2_28_aarch64.whl", hash = "sha256:f5b92f4d70791b4a67157321c4e8225d60b119c5cc9aee8ecf153aace4aad4ef", size = 4370054 }, + { url = "https://files.pythonhosted.org/packages/55/77/40daddf677897a923d5d33329acd52a2144d54a9644f2a5422c028c6bf2d/pillow-10.4.0-cp312-cp312-manylinux_2_28_x86_64.whl", hash = "sha256:86dcb5a1eb778d8b25659d5e4341269e8590ad6b4e8b44d9f4b07f8d136c414a", size = 4539484 }, + { url = "https://files.pythonhosted.org/packages/40/54/90de3e4256b1207300fb2b1d7168dd912a2fb4b2401e439ba23c2b2cabde/pillow-10.4.0-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:780c072c2e11c9b2c7ca37f9a2ee8ba66f44367ac3e5c7832afcfe5104fd6d1b", size = 4477375 }, + { url = "https://files.pythonhosted.org/packages/13/24/1bfba52f44193860918ff7c93d03d95e3f8748ca1de3ceaf11157a14cf16/pillow-10.4.0-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:37fb69d905be665f68f28a8bba3c6d3223c8efe1edf14cc4cfa06c241f8c81d9", size = 4608773 }, + { url = "https://files.pythonhosted.org/packages/55/04/5e6de6e6120451ec0c24516c41dbaf80cce1b6451f96561235ef2429da2e/pillow-10.4.0-cp312-cp312-win32.whl", hash = "sha256:7dfecdbad5c301d7b5bde160150b4db4c659cee2b69589705b6f8a0c509d9f42", size = 2235690 }, + { url = "https://files.pythonhosted.org/packages/74/0a/d4ce3c44bca8635bd29a2eab5aa181b654a734a29b263ca8efe013beea98/pillow-10.4.0-cp312-cp312-win_amd64.whl", hash = "sha256:1d846aea995ad352d4bdcc847535bd56e0fd88d36829d2c90be880ef1ee4668a", size = 2554951 }, + { url = "https://files.pythonhosted.org/packages/b5/ca/184349ee40f2e92439be9b3502ae6cfc43ac4b50bc4fc6b3de7957563894/pillow-10.4.0-cp312-cp312-win_arm64.whl", hash = "sha256:e553cad5179a66ba15bb18b353a19020e73a7921296a7979c4a2b7f6a5cd57f9", size = 2243427 }, + { url = "https://files.pythonhosted.org/packages/c3/00/706cebe7c2c12a6318aabe5d354836f54adff7156fd9e1bd6c89f4ba0e98/pillow-10.4.0-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:8bc1a764ed8c957a2e9cacf97c8b2b053b70307cf2996aafd70e91a082e70df3", size = 3525685 }, + { url = "https://files.pythonhosted.org/packages/cf/76/f658cbfa49405e5ecbfb9ba42d07074ad9792031267e782d409fd8fe7c69/pillow-10.4.0-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:6209bb41dc692ddfee4942517c19ee81b86c864b626dbfca272ec0f7cff5d9fb", size = 3374883 }, + { url = "https://files.pythonhosted.org/packages/46/2b/99c28c4379a85e65378211971c0b430d9c7234b1ec4d59b2668f6299e011/pillow-10.4.0-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:bee197b30783295d2eb680b311af15a20a8b24024a19c3a26431ff83eb8d1f70", size = 4339837 }, + { url = "https://files.pythonhosted.org/packages/f1/74/b1ec314f624c0c43711fdf0d8076f82d9d802afd58f1d62c2a86878e8615/pillow-10.4.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:1ef61f5dd14c300786318482456481463b9d6b91ebe5ef12f405afbba77ed0be", size = 4455562 }, + { url = "https://files.pythonhosted.org/packages/4a/2a/4b04157cb7b9c74372fa867096a1607e6fedad93a44deeff553ccd307868/pillow-10.4.0-cp313-cp313-manylinux_2_28_aarch64.whl", hash = "sha256:297e388da6e248c98bc4a02e018966af0c5f92dfacf5a5ca22fa01cb3179bca0", size = 4366761 }, + { url = "https://files.pythonhosted.org/packages/ac/7b/8f1d815c1a6a268fe90481232c98dd0e5fa8c75e341a75f060037bd5ceae/pillow-10.4.0-cp313-cp313-manylinux_2_28_x86_64.whl", hash = "sha256:e4db64794ccdf6cb83a59d73405f63adbe2a1887012e308828596100a0b2f6cc", size = 4536767 }, + { url = "https://files.pythonhosted.org/packages/e5/77/05fa64d1f45d12c22c314e7b97398ffb28ef2813a485465017b7978b3ce7/pillow-10.4.0-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:bd2880a07482090a3bcb01f4265f1936a903d70bc740bfcb1fd4e8a2ffe5cf5a", size = 4477989 }, + { url = "https://files.pythonhosted.org/packages/12/63/b0397cfc2caae05c3fb2f4ed1b4fc4fc878f0243510a7a6034ca59726494/pillow-10.4.0-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:4b35b21b819ac1dbd1233317adeecd63495f6babf21b7b2512d244ff6c6ce309", size = 4610255 }, + { url = "https://files.pythonhosted.org/packages/7b/f9/cfaa5082ca9bc4a6de66ffe1c12c2d90bf09c309a5f52b27759a596900e7/pillow-10.4.0-cp313-cp313-win32.whl", hash = "sha256:551d3fd6e9dc15e4c1eb6fc4ba2b39c0c7933fa113b220057a34f4bb3268a060", size = 2235603 }, + { url = "https://files.pythonhosted.org/packages/01/6a/30ff0eef6e0c0e71e55ded56a38d4859bf9d3634a94a88743897b5f96936/pillow-10.4.0-cp313-cp313-win_amd64.whl", hash = "sha256:030abdbe43ee02e0de642aee345efa443740aa4d828bfe8e2eb11922ea6a21ea", size = 2554972 }, + { url = "https://files.pythonhosted.org/packages/48/2c/2e0a52890f269435eee38b21c8218e102c621fe8d8df8b9dd06fabf879ba/pillow-10.4.0-cp313-cp313-win_arm64.whl", hash = "sha256:5b001114dd152cfd6b23befeb28d7aee43553e2402c9f159807bf55f33af8a8d", size = 2243375 }, + { url = "https://files.pythonhosted.org/packages/56/70/f40009702a477ce87d8d9faaa4de51d6562b3445d7a314accd06e4ffb01d/pillow-10.4.0-cp38-cp38-macosx_10_10_x86_64.whl", hash = "sha256:8d4d5063501b6dd4024b8ac2f04962d661222d120381272deea52e3fc52d3736", size = 3509213 }, + { url = "https://files.pythonhosted.org/packages/10/43/105823d233c5e5d31cea13428f4474ded9d961652307800979a59d6a4276/pillow-10.4.0-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:7c1ee6f42250df403c5f103cbd2768a28fe1a0ea1f0f03fe151c8741e1469c8b", size = 3375883 }, + { url = "https://files.pythonhosted.org/packages/3c/ad/7850c10bac468a20c918f6a5dbba9ecd106ea1cdc5db3c35e33a60570408/pillow-10.4.0-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:b15e02e9bb4c21e39876698abf233c8c579127986f8207200bc8a8f6bb27acf2", size = 4330810 }, + { url = "https://files.pythonhosted.org/packages/84/4c/69bbed9e436ac22f9ed193a2b64f64d68fcfbc9f4106249dc7ed4889907b/pillow-10.4.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:7a8d4bade9952ea9a77d0c3e49cbd8b2890a399422258a77f357b9cc9be8d680", size = 4444341 }, + { url = "https://files.pythonhosted.org/packages/8f/4f/c183c63828a3f37bf09644ce94cbf72d4929b033b109160a5379c2885932/pillow-10.4.0-cp38-cp38-manylinux_2_28_aarch64.whl", hash = "sha256:43efea75eb06b95d1631cb784aa40156177bf9dd5b4b03ff38979e048258bc6b", size = 4356005 }, + { url = "https://files.pythonhosted.org/packages/fb/ad/435fe29865f98a8fbdc64add8875a6e4f8c97749a93577a8919ec6f32c64/pillow-10.4.0-cp38-cp38-manylinux_2_28_x86_64.whl", hash = "sha256:950be4d8ba92aca4b2bb0741285a46bfae3ca699ef913ec8416c1b78eadd64cd", size = 4525201 }, + { url = "https://files.pythonhosted.org/packages/80/74/be8bf8acdfd70e91f905a12ae13cfb2e17c0f1da745c40141e26d0971ff5/pillow-10.4.0-cp38-cp38-musllinux_1_2_aarch64.whl", hash = "sha256:d7480af14364494365e89d6fddc510a13e5a2c3584cb19ef65415ca57252fb84", size = 4460635 }, + { url = "https://files.pythonhosted.org/packages/e4/90/763616e66dc9ad59c9b7fb58f863755e7934ef122e52349f62c7742b82d3/pillow-10.4.0-cp38-cp38-musllinux_1_2_x86_64.whl", hash = "sha256:73664fe514b34c8f02452ffb73b7a92c6774e39a647087f83d67f010eb9a0cf0", size = 4590283 }, + { url = "https://files.pythonhosted.org/packages/69/66/03002cb5b2c27bb519cba63b9f9aa3709c6f7a5d3b285406c01f03fb77e5/pillow-10.4.0-cp38-cp38-win32.whl", hash = "sha256:e88d5e6ad0d026fba7bdab8c3f225a69f063f116462c49892b0149e21b6c0a0e", size = 2235185 }, + { url = "https://files.pythonhosted.org/packages/f2/75/3cb820b2812405fc7feb3d0deb701ef0c3de93dc02597115e00704591bc9/pillow-10.4.0-cp38-cp38-win_amd64.whl", hash = "sha256:5161eef006d335e46895297f642341111945e2c1c899eb406882a6c61a4357ab", size = 2554594 }, + { url = "https://files.pythonhosted.org/packages/31/85/955fa5400fa8039921f630372cfe5056eed6e1b8e0430ee4507d7de48832/pillow-10.4.0-cp39-cp39-macosx_10_10_x86_64.whl", hash = "sha256:0ae24a547e8b711ccaaf99c9ae3cd975470e1a30caa80a6aaee9a2f19c05701d", size = 3509283 }, + { url = "https://files.pythonhosted.org/packages/23/9c/343827267eb28d41cd82b4180d33b10d868af9077abcec0af9793aa77d2d/pillow-10.4.0-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:298478fe4f77a4408895605f3482b6cc6222c018b2ce565c2b6b9c354ac3229b", size = 3375691 }, + { url = "https://files.pythonhosted.org/packages/60/a3/7ebbeabcd341eab722896d1a5b59a3df98c4b4d26cf4b0385f8aa94296f7/pillow-10.4.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:134ace6dc392116566980ee7436477d844520a26a4b1bd4053f6f47d096997fd", size = 4328295 }, + { url = "https://files.pythonhosted.org/packages/32/3f/c02268d0c6fb6b3958bdda673c17b315c821d97df29ae6969f20fb49388a/pillow-10.4.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:930044bb7679ab003b14023138b50181899da3f25de50e9dbee23b61b4de2126", size = 4440810 }, + { url = "https://files.pythonhosted.org/packages/67/5d/1c93c8cc35f2fdd3d6cc7e4ad72d203902859a2867de6ad957d9b708eb8d/pillow-10.4.0-cp39-cp39-manylinux_2_28_aarch64.whl", hash = "sha256:c76e5786951e72ed3686e122d14c5d7012f16c8303a674d18cdcd6d89557fc5b", size = 4352283 }, + { url = "https://files.pythonhosted.org/packages/bc/a8/8655557c9c7202b8abbd001f61ff36711cefaf750debcaa1c24d154ef602/pillow-10.4.0-cp39-cp39-manylinux_2_28_x86_64.whl", hash = "sha256:b2724fdb354a868ddf9a880cb84d102da914e99119211ef7ecbdc613b8c96b3c", size = 4521800 }, + { url = "https://files.pythonhosted.org/packages/58/78/6f95797af64d137124f68af1bdaa13b5332da282b86031f6fa70cf368261/pillow-10.4.0-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:dbc6ae66518ab3c5847659e9988c3b60dc94ffb48ef9168656e0019a93dbf8a1", size = 4459177 }, + { url = "https://files.pythonhosted.org/packages/8a/6d/2b3ce34f1c4266d79a78c9a51d1289a33c3c02833fe294ef0dcbb9cba4ed/pillow-10.4.0-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:06b2f7898047ae93fad74467ec3d28fe84f7831370e3c258afa533f81ef7f3df", size = 4589079 }, + { url = "https://files.pythonhosted.org/packages/e3/e0/456258c74da1ff5bf8ef1eab06a95ca994d8b9ed44c01d45c3f8cbd1db7e/pillow-10.4.0-cp39-cp39-win32.whl", hash = "sha256:7970285ab628a3779aecc35823296a7869f889b8329c16ad5a71e4901a3dc4ef", size = 2235247 }, + { url = "https://files.pythonhosted.org/packages/37/f8/bef952bdb32aa53741f58bf21798642209e994edc3f6598f337f23d5400a/pillow-10.4.0-cp39-cp39-win_amd64.whl", hash = "sha256:961a7293b2457b405967af9c77dcaa43cc1a8cd50d23c532e62d48ab6cdd56f5", size = 2554479 }, + { url = "https://files.pythonhosted.org/packages/bb/8e/805201619cad6651eef5fc1fdef913804baf00053461522fabbc5588ea12/pillow-10.4.0-cp39-cp39-win_arm64.whl", hash = "sha256:32cda9e3d601a52baccb2856b8ea1fc213c90b340c542dcef77140dfa3278a9e", size = 2243226 }, + { url = "https://files.pythonhosted.org/packages/38/30/095d4f55f3a053392f75e2eae45eba3228452783bab3d9a920b951ac495c/pillow-10.4.0-pp310-pypy310_pp73-macosx_10_15_x86_64.whl", hash = "sha256:5b4815f2e65b30f5fbae9dfffa8636d992d49705723fe86a3661806e069352d4", size = 3493889 }, + { url = "https://files.pythonhosted.org/packages/f3/e8/4ff79788803a5fcd5dc35efdc9386af153569853767bff74540725b45863/pillow-10.4.0-pp310-pypy310_pp73-macosx_11_0_arm64.whl", hash = "sha256:8f0aef4ef59694b12cadee839e2ba6afeab89c0f39a3adc02ed51d109117b8da", size = 3346160 }, + { url = "https://files.pythonhosted.org/packages/d7/ac/4184edd511b14f760c73f5bb8a5d6fd85c591c8aff7c2229677a355c4179/pillow-10.4.0-pp310-pypy310_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:9f4727572e2918acaa9077c919cbbeb73bd2b3ebcfe033b72f858fc9fbef0026", size = 3435020 }, + { url = "https://files.pythonhosted.org/packages/da/21/1749cd09160149c0a246a81d646e05f35041619ce76f6493d6a96e8d1103/pillow-10.4.0-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ff25afb18123cea58a591ea0244b92eb1e61a1fd497bf6d6384f09bc3262ec3e", size = 3490539 }, + { url = "https://files.pythonhosted.org/packages/b6/f5/f71fe1888b96083b3f6dfa0709101f61fc9e972c0c8d04e9d93ccef2a045/pillow-10.4.0-pp310-pypy310_pp73-manylinux_2_28_aarch64.whl", hash = "sha256:dc3e2db6ba09ffd7d02ae9141cfa0ae23393ee7687248d46a7507b75d610f4f5", size = 3476125 }, + { url = "https://files.pythonhosted.org/packages/96/b9/c0362c54290a31866c3526848583a2f45a535aa9d725fd31e25d318c805f/pillow-10.4.0-pp310-pypy310_pp73-manylinux_2_28_x86_64.whl", hash = "sha256:02a2be69f9c9b8c1e97cf2713e789d4e398c751ecfd9967c18d0ce304efbf885", size = 3579373 }, + { url = "https://files.pythonhosted.org/packages/52/3b/ce7a01026a7cf46e5452afa86f97a5e88ca97f562cafa76570178ab56d8d/pillow-10.4.0-pp310-pypy310_pp73-win_amd64.whl", hash = "sha256:0755ffd4a0c6f267cccbae2e9903d95477ca2f77c4fcf3a3a09570001856c8a5", size = 2554661 }, + { url = "https://files.pythonhosted.org/packages/e1/1f/5a9fcd6ced51633c22481417e11b1b47d723f64fb536dfd67c015eb7f0ab/pillow-10.4.0-pp39-pypy39_pp73-macosx_10_15_x86_64.whl", hash = "sha256:a02364621fe369e06200d4a16558e056fe2805d3468350df3aef21e00d26214b", size = 3493850 }, + { url = "https://files.pythonhosted.org/packages/cb/e6/3ea4755ed5320cb62aa6be2f6de47b058c6550f752dd050e86f694c59798/pillow-10.4.0-pp39-pypy39_pp73-macosx_11_0_arm64.whl", hash = "sha256:1b5dea9831a90e9d0721ec417a80d4cbd7022093ac38a568db2dd78363b00908", size = 3346118 }, + { url = "https://files.pythonhosted.org/packages/0a/22/492f9f61e4648422b6ca39268ec8139277a5b34648d28f400faac14e0f48/pillow-10.4.0-pp39-pypy39_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:9b885f89040bb8c4a1573566bbb2f44f5c505ef6e74cec7ab9068c900047f04b", size = 3434958 }, + { url = "https://files.pythonhosted.org/packages/f9/19/559a48ad4045704bb0547965b9a9345f5cd461347d977a56d178db28819e/pillow-10.4.0-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:87dd88ded2e6d74d31e1e0a99a726a6765cda32d00ba72dc37f0651f306daaa8", size = 3490340 }, + { url = "https://files.pythonhosted.org/packages/d9/de/cebaca6fb79905b3a1aa0281d238769df3fb2ede34fd7c0caa286575915a/pillow-10.4.0-pp39-pypy39_pp73-manylinux_2_28_aarch64.whl", hash = "sha256:2db98790afc70118bd0255c2eeb465e9767ecf1f3c25f9a1abb8ffc8cfd1fe0a", size = 3476048 }, + { url = "https://files.pythonhosted.org/packages/71/f0/86d5b2f04693b0116a01d75302b0a307800a90d6c351a8aa4f8ae76cd499/pillow-10.4.0-pp39-pypy39_pp73-manylinux_2_28_x86_64.whl", hash = "sha256:f7baece4ce06bade126fb84b8af1c33439a76d8a6fd818970215e0560ca28c27", size = 3579366 }, + { url = "https://files.pythonhosted.org/packages/37/ae/2dbfc38cc4fd14aceea14bc440d5151b21f64c4c3ba3f6f4191610b7ee5d/pillow-10.4.0-pp39-pypy39_pp73-win_amd64.whl", hash = "sha256:cfdd747216947628af7b259d274771d84db2268ca062dd5faf373639d00113a3", size = 2554652 }, +] + +[[package]] +name = "pkginfo" +version = "1.12.0" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/c9/a5/fa2432da887652e3a0c07661ebe4aabe7f4692936c742da489178acd34de/pkginfo-1.12.0.tar.gz", hash = "sha256:8ad91a0445a036782b9366ef8b8c2c50291f83a553478ba8580c73d3215700cf", size = 451375 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/21/11/4af184fbd8ae13daa13953212b27a212f4e63772ca8a0dd84d08b60ed206/pkginfo-1.12.0-py3-none-any.whl", hash = "sha256:dcd589c9be4da8973eceffa247733c144812759aa67eaf4bbf97016a02f39088", size = 32322 }, +] + +[[package]] +name = "pkgutil-resolve-name" +version = "1.3.10" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/70/f2/f2891a9dc37398696ddd945012b90ef8d0a034f0012e3f83c3f7a70b0f79/pkgutil_resolve_name-1.3.10.tar.gz", hash = "sha256:357d6c9e6a755653cfd78893817c0853af365dd51ec97f3d358a819373bbd174", size = 5054 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/c9/5c/3d4882ba113fd55bdba9326c1e4c62a15e674a2501de4869e6bd6301f87e/pkgutil_resolve_name-1.3.10-py3-none-any.whl", hash = "sha256:ca27cc078d25c5ad71a9de0a7a330146c4e014c2462d9af19c6b828280649c5e", size = 4734 }, +] + +[[package]] +name = "platformdirs" +version = "4.3.6" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/13/fc/128cc9cb8f03208bdbf93d3aa862e16d376844a14f9a0ce5cf4507372de4/platformdirs-4.3.6.tar.gz", hash = "sha256:357fb2acbc885b0419afd3ce3ed34564c13c9b95c89360cd9563f73aa5e2b907", size = 21302 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/3c/a6/bc1012356d8ece4d66dd75c4b9fc6c1f6650ddd5991e421177d9f8f671be/platformdirs-4.3.6-py3-none-any.whl", hash = "sha256:73e575e1408ab8103900836b97580d5307456908a03e92031bab39e4554cc3fb", size = 18439 }, +] + +[[package]] +name = "pluggy" +version = "1.5.0" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/96/2d/02d4312c973c6050a18b314a5ad0b3210edb65a906f868e31c111dede4a6/pluggy-1.5.0.tar.gz", hash = "sha256:2cffa88e94fdc978c4c574f15f9e59b7f4201d439195c3715ca9e2486f1d0cf1", size = 67955 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/88/5f/e351af9a41f866ac3f1fac4ca0613908d9a41741cfcf2228f4ad853b697d/pluggy-1.5.0-py3-none-any.whl", hash = "sha256:44e1ad92c8ca002de6377e165f3e0f1be63266ab4d554740532335b9d75ea669", size = 20556 }, +] + +[[package]] +name = "prometheus-client" +version = "0.21.1" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/62/14/7d0f567991f3a9af8d1cd4f619040c93b68f09a02b6d0b6ab1b2d1ded5fe/prometheus_client-0.21.1.tar.gz", hash = "sha256:252505a722ac04b0456be05c05f75f45d760c2911ffc45f2a06bcaed9f3ae3fb", size = 78551 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/ff/c2/ab7d37426c179ceb9aeb109a85cda8948bb269b7561a0be870cc656eefe4/prometheus_client-0.21.1-py3-none-any.whl", hash = "sha256:594b45c410d6f4f8888940fe80b5cc2521b305a1fafe1c58609ef715a001f301", size = 54682 }, +] + +[[package]] +name = "prompt-toolkit" +version = "3.0.48" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "wcwidth" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/2d/4f/feb5e137aff82f7c7f3248267b97451da3644f6cdc218edfe549fb354127/prompt_toolkit-3.0.48.tar.gz", hash = "sha256:d6623ab0477a80df74e646bdbc93621143f5caf104206aa29294d53de1a03d90", size = 424684 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/a9/6a/fd08d94654f7e67c52ca30523a178b3f8ccc4237fce4be90d39c938a831a/prompt_toolkit-3.0.48-py3-none-any.whl", hash = "sha256:f49a827f90062e411f1ce1f854f2aedb3c23353244f8108b89283587397ac10e", size = 386595 }, +] + +[[package]] +name = "psutil" +version = "6.1.1" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/1f/5a/07871137bb752428aa4b659f910b399ba6f291156bdea939be3e96cae7cb/psutil-6.1.1.tar.gz", hash = "sha256:cf8496728c18f2d0b45198f06895be52f36611711746b7f30c464b422b50e2f5", size = 508502 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/61/99/ca79d302be46f7bdd8321089762dd4476ee725fce16fc2b2e1dbba8cac17/psutil-6.1.1-cp36-abi3-macosx_10_9_x86_64.whl", hash = "sha256:fc0ed7fe2231a444fc219b9c42d0376e0a9a1a72f16c5cfa0f68d19f1a0663e8", size = 247511 }, + { url = "https://files.pythonhosted.org/packages/0b/6b/73dbde0dd38f3782905d4587049b9be64d76671042fdcaf60e2430c6796d/psutil-6.1.1-cp36-abi3-macosx_11_0_arm64.whl", hash = "sha256:0bdd4eab935276290ad3cb718e9809412895ca6b5b334f5a9111ee6d9aff9377", size = 248985 }, + { url = "https://files.pythonhosted.org/packages/17/38/c319d31a1d3f88c5b79c68b3116c129e5133f1822157dd6da34043e32ed6/psutil-6.1.1-cp36-abi3-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:b6e06c20c05fe95a3d7302d74e7097756d4ba1247975ad6905441ae1b5b66003", size = 284488 }, + { url = "https://files.pythonhosted.org/packages/9c/39/0f88a830a1c8a3aba27fededc642da37613c57cbff143412e3536f89784f/psutil-6.1.1-cp36-abi3-manylinux_2_12_x86_64.manylinux2010_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:97f7cb9921fbec4904f522d972f0c0e1f4fabbdd4e0287813b21215074a0f160", size = 287477 }, + { url = "https://files.pythonhosted.org/packages/47/da/99f4345d4ddf2845cb5b5bd0d93d554e84542d116934fde07a0c50bd4e9f/psutil-6.1.1-cp36-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:33431e84fee02bc84ea36d9e2c4a6d395d479c9dd9bba2376c1f6ee8f3a4e0b3", size = 289017 }, + { url = "https://files.pythonhosted.org/packages/38/53/bd755c2896f4461fd4f36fa6a6dcb66a88a9e4b9fd4e5b66a77cf9d4a584/psutil-6.1.1-cp37-abi3-win32.whl", hash = "sha256:eaa912e0b11848c4d9279a93d7e2783df352b082f40111e078388701fd479e53", size = 250602 }, + { url = "https://files.pythonhosted.org/packages/7b/d7/7831438e6c3ebbfa6e01a927127a6cb42ad3ab844247f3c5b96bea25d73d/psutil-6.1.1-cp37-abi3-win_amd64.whl", hash = "sha256:f35cfccb065fff93529d2afb4a2e89e363fe63ca1e4a5da22b603a85833c2649", size = 254444 }, +] + +[[package]] +name = "ptyprocess" +version = "0.7.0" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/20/e5/16ff212c1e452235a90aeb09066144d0c5a6a8c0834397e03f5224495c4e/ptyprocess-0.7.0.tar.gz", hash = "sha256:5c5d0a3b48ceee0b48485e0c26037c0acd7d29765ca3fbb5cb3831d347423220", size = 70762 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/22/a6/858897256d0deac81a172289110f31629fc4cee19b6f01283303e18c8db3/ptyprocess-0.7.0-py2.py3-none-any.whl", hash = "sha256:4b41f3967fce3af57cc7e94b888626c18bf37a083e3651ca8feeb66d492fef35", size = 13993 }, +] + +[[package]] +name = "pure-eval" +version = "0.2.3" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/cd/05/0a34433a064256a578f1783a10da6df098ceaa4a57bbeaa96a6c0352786b/pure_eval-0.2.3.tar.gz", hash = "sha256:5f4e983f40564c576c7c8635ae88db5956bb2229d7e9237d03b3c0b0190eaf42", size = 19752 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/8e/37/efad0257dc6e593a18957422533ff0f87ede7c9c6ea010a2177d738fb82f/pure_eval-0.2.3-py3-none-any.whl", hash = "sha256:1db8e35b67b3d218d818ae653e27f06c3aa420901fa7b081ca98cbedc874e0d0", size = 11842 }, +] + +[[package]] +name = "pycparser" +version = "2.22" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/1d/b2/31537cf4b1ca988837256c910a668b553fceb8f069bedc4b1c826024b52c/pycparser-2.22.tar.gz", hash = "sha256:491c8be9c040f5390f5bf44a5b07752bd07f56edf992381b05c701439eec10f6", size = 172736 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/13/a3/a812df4e2dd5696d1f351d58b8fe16a405b234ad2886a0dab9183fb78109/pycparser-2.22-py3-none-any.whl", hash = "sha256:c3702b6d3dd8c7abc1afa565d7e63d53a1d0bd86cdc24edd75470f4de499cfcc", size = 117552 }, +] + +[[package]] +name = "pygments" +version = "2.19.1" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/7c/2d/c3338d48ea6cc0feb8446d8e6937e1408088a72a39937982cc6111d17f84/pygments-2.19.1.tar.gz", hash = "sha256:61c16d2a8576dc0649d9f39e089b5f02bcd27fba10d8fb4dcc28173f7a45151f", size = 4968581 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/8a/0b/9fcc47d19c48b59121088dd6da2488a49d5f72dacf8262e2790a1d2c7d15/pygments-2.19.1-py3-none-any.whl", hash = "sha256:9ea1544ad55cecf4b8242fab6dd35a93bbce657034b0611ee383099054ab6d8c", size = 1225293 }, +] + +[[package]] +name = "pymdown-extensions" +version = "10.14" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "markdown" }, + { name = "pyyaml" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/8b/96/b4337b778d2e9e77541a8d1cab00989aaeb1d6003c891cdc89221bd25651/pymdown_extensions-10.14.tar.gz", hash = "sha256:741bd7c4ff961ba40b7528d32284c53bc436b8b1645e8e37c3e57770b8700a34", size = 844927 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/00/ae/55d347eda5a4c57a2a042fe2e7616d14981115f566b9f8f69901aba3c0c6/pymdown_extensions-10.14-py3-none-any.whl", hash = "sha256:202481f716cc8250e4be8fce997781ebf7917701b59652458ee47f2401f818b5", size = 264264 }, +] + +[[package]] +name = "pyparsing" +version = "3.1.4" +source = { registry = "https://pypi.org/simple" } +resolution-markers = [ + "python_full_version < '3.9' and platform_machine == 'arm64' and sys_platform == 'darwin'", + "python_full_version < '3.9' and platform_machine == 'aarch64' and sys_platform == 'linux'", + "(python_full_version < '3.9' and platform_machine != 'arm64' and sys_platform == 'darwin') or (python_full_version < '3.9' and platform_machine != 'aarch64' and sys_platform == 'linux') or (python_full_version < '3.9' and sys_platform != 'darwin' and sys_platform != 'linux')", +] +sdist = { url = "https://files.pythonhosted.org/packages/83/08/13f3bce01b2061f2bbd582c9df82723de943784cf719a35ac886c652043a/pyparsing-3.1.4.tar.gz", hash = "sha256:f86ec8d1a83f11977c9a6ea7598e8c27fc5cddfa5b07ea2241edbbde1d7bc032", size = 900231 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/e5/0c/0e3c05b1c87bb6a1c76d281b0f35e78d2d80ac91b5f8f524cebf77f51049/pyparsing-3.1.4-py3-none-any.whl", hash = "sha256:a6a7ee4235a3f944aa1fa2249307708f893fe5717dc603503c6c7969c070fb7c", size = 104100 }, +] + +[[package]] +name = "pyparsing" +version = "3.2.1" +source = { registry = "https://pypi.org/simple" } +resolution-markers = [ + "python_full_version >= '3.13' and sys_platform == 'darwin'", + "python_full_version >= '3.13' and platform_machine == 'aarch64' and sys_platform == 'linux'", + "(python_full_version >= '3.13' and platform_machine != 'aarch64' and sys_platform == 'linux') or (python_full_version >= '3.13' and sys_platform != 'darwin' and sys_platform != 'linux')", + "python_full_version == '3.12.*' and sys_platform == 'darwin'", + "python_full_version == '3.12.*' and platform_machine == 'aarch64' and sys_platform == 'linux'", + "(python_full_version == '3.12.*' and platform_machine != 'aarch64' and sys_platform == 'linux') or (python_full_version == '3.12.*' and sys_platform != 'darwin' and sys_platform != 'linux')", + "python_full_version == '3.11.*' and sys_platform == 'darwin'", + "python_full_version == '3.11.*' and platform_machine == 'aarch64' and sys_platform == 'linux'", + "(python_full_version == '3.11.*' and platform_machine != 'aarch64' and sys_platform == 'linux') or (python_full_version == '3.11.*' and sys_platform != 'darwin' and sys_platform != 'linux')", + "python_full_version == '3.10.*' and sys_platform == 'darwin'", + "python_full_version == '3.10.*' and platform_machine == 'aarch64' and sys_platform == 'linux'", + "(python_full_version == '3.10.*' and platform_machine != 'aarch64' and sys_platform == 'linux') or (python_full_version == '3.10.*' and sys_platform != 'darwin' and sys_platform != 'linux')", + "python_full_version == '3.9.*' and platform_machine == 'arm64' and sys_platform == 'darwin'", + "python_full_version == '3.9.*' and platform_machine == 'aarch64' and sys_platform == 'linux'", + "(python_full_version == '3.9.*' and platform_machine != 'arm64' and sys_platform == 'darwin') or (python_full_version == '3.9.*' and platform_machine != 'aarch64' and sys_platform == 'linux') or (python_full_version == '3.9.*' and sys_platform != 'darwin' and sys_platform != 'linux')", +] +sdist = { url = "https://files.pythonhosted.org/packages/8b/1a/3544f4f299a47911c2ab3710f534e52fea62a633c96806995da5d25be4b2/pyparsing-3.2.1.tar.gz", hash = "sha256:61980854fd66de3a90028d679a954d5f2623e83144b5afe5ee86f43d762e5f0a", size = 1067694 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/1c/a7/c8a2d361bf89c0d9577c934ebb7421b25dc84bf3a8e3ac0a40aed9acc547/pyparsing-3.2.1-py3-none-any.whl", hash = "sha256:506ff4f4386c4cec0590ec19e6302d3aedb992fdc02c761e90416f158dacf8e1", size = 107716 }, +] + +[[package]] +name = "pyproject-api" +version = "1.8.0" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "packaging" }, + { name = "tomli", marker = "python_full_version < '3.11'" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/bb/19/441e0624a8afedd15bbcce96df1b80479dd0ff0d965f5ce8fde4f2f6ffad/pyproject_api-1.8.0.tar.gz", hash = "sha256:77b8049f2feb5d33eefcc21b57f1e279636277a8ac8ad6b5871037b243778496", size = 22340 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/ba/f4/3c4ddfcc0c19c217c6de513842d286de8021af2f2ab79bbb86c00342d778/pyproject_api-1.8.0-py3-none-any.whl", hash = "sha256:3d7d347a047afe796fd5d1885b1e391ba29be7169bd2f102fcd378f04273d228", size = 13100 }, +] + +[[package]] +name = "pyproject-hooks" +version = "1.2.0" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/e7/82/28175b2414effca1cdac8dc99f76d660e7a4fb0ceefa4b4ab8f5f6742925/pyproject_hooks-1.2.0.tar.gz", hash = "sha256:1e859bd5c40fae9448642dd871adf459e5e2084186e8d2c2a79a824c970da1f8", size = 19228 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/bd/24/12818598c362d7f300f18e74db45963dbcb85150324092410c8b49405e42/pyproject_hooks-1.2.0-py3-none-any.whl", hash = "sha256:9e5c6bfa8dcc30091c74b0cf803c81fdd29d94f01992a7707bc97babb1141913", size = 10216 }, +] + +[[package]] +name = "pytest" +version = "8.3.4" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "colorama", marker = "sys_platform == 'win32'" }, + { name = "exceptiongroup", marker = "python_full_version < '3.11'" }, + { name = "iniconfig" }, + { name = "packaging" }, + { name = "pluggy" }, + { name = "tomli", marker = "python_full_version < '3.11'" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/05/35/30e0d83068951d90a01852cb1cef56e5d8a09d20c7f511634cc2f7e0372a/pytest-8.3.4.tar.gz", hash = "sha256:965370d062bce11e73868e0335abac31b4d3de0e82f4007408d242b4f8610761", size = 1445919 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/11/92/76a1c94d3afee238333bc0a42b82935dd8f9cf8ce9e336ff87ee14d9e1cf/pytest-8.3.4-py3-none-any.whl", hash = "sha256:50e16d954148559c9a74109af1eaf0c945ba2d8f30f0a3d3335edde19788b6f6", size = 343083 }, +] + +[[package]] +name = "python-dateutil" +version = "2.9.0.post0" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "six" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/66/c0/0c8b6ad9f17a802ee498c46e004a0eb49bc148f2fd230864601a86dcf6db/python-dateutil-2.9.0.post0.tar.gz", hash = "sha256:37dd54208da7e1cd875388217d5e00ebd4179249f90fb72437e91a35459a0ad3", size = 342432 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/ec/57/56b9bcc3c9c6a792fcbaf139543cee77261f3651ca9da0c93f5c1221264b/python_dateutil-2.9.0.post0-py2.py3-none-any.whl", hash = "sha256:a8b2bc7bffae282281c8140a97d3aa9c14da0b136dfe83f850eea9a5f7470427", size = 229892 }, +] + +[[package]] +name = "python-json-logger" +version = "3.2.1" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "typing-extensions", marker = "python_full_version < '3.10'" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/e3/c4/358cd13daa1d912ef795010897a483ab2f0b41c9ea1b35235a8b2f7d15a7/python_json_logger-3.2.1.tar.gz", hash = "sha256:8eb0554ea17cb75b05d2848bc14fb02fbdbd9d6972120781b974380bfa162008", size = 16287 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/4b/72/2f30cf26664fcfa0bd8ec5ee62ec90c03bd485e4a294d92aabc76c5203a5/python_json_logger-3.2.1-py3-none-any.whl", hash = "sha256:cdc17047eb5374bd311e748b42f99d71223f3b0e186f4206cc5d52aefe85b090", size = 14924 }, +] + +[[package]] +name = "pytz" +version = "2024.2" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/3a/31/3c70bf7603cc2dca0f19bdc53b4537a797747a58875b552c8c413d963a3f/pytz-2024.2.tar.gz", hash = "sha256:2aa355083c50a0f93fa581709deac0c9ad65cca8a9e9beac660adcbd493c798a", size = 319692 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/11/c3/005fcca25ce078d2cc29fd559379817424e94885510568bc1bc53d7d5846/pytz-2024.2-py2.py3-none-any.whl", hash = "sha256:31c7c1817eb7fae7ca4b8c7ee50c72f93aa2dd863de768e1ef4245d426aa0725", size = 508002 }, +] + +[[package]] +name = "pywin32" +version = "308" +source = { registry = "https://pypi.org/simple" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/72/a6/3e9f2c474895c1bb61b11fa9640be00067b5c5b363c501ee9c3fa53aec01/pywin32-308-cp310-cp310-win32.whl", hash = "sha256:796ff4426437896550d2981b9c2ac0ffd75238ad9ea2d3bfa67a1abd546d262e", size = 5927028 }, + { url = "https://files.pythonhosted.org/packages/d9/b4/84e2463422f869b4b718f79eb7530a4c1693e96b8a4e5e968de38be4d2ba/pywin32-308-cp310-cp310-win_amd64.whl", hash = "sha256:4fc888c59b3c0bef905ce7eb7e2106a07712015ea1c8234b703a088d46110e8e", size = 6558484 }, + { url = "https://files.pythonhosted.org/packages/9f/8f/fb84ab789713f7c6feacaa08dad3ec8105b88ade8d1c4f0f0dfcaaa017d6/pywin32-308-cp310-cp310-win_arm64.whl", hash = "sha256:a5ab5381813b40f264fa3495b98af850098f814a25a63589a8e9eb12560f450c", size = 7971454 }, + { url = "https://files.pythonhosted.org/packages/eb/e2/02652007469263fe1466e98439831d65d4ca80ea1a2df29abecedf7e47b7/pywin32-308-cp311-cp311-win32.whl", hash = "sha256:5d8c8015b24a7d6855b1550d8e660d8daa09983c80e5daf89a273e5c6fb5095a", size = 5928156 }, + { url = "https://files.pythonhosted.org/packages/48/ef/f4fb45e2196bc7ffe09cad0542d9aff66b0e33f6c0954b43e49c33cad7bd/pywin32-308-cp311-cp311-win_amd64.whl", hash = "sha256:575621b90f0dc2695fec346b2d6302faebd4f0f45c05ea29404cefe35d89442b", size = 6559559 }, + { url = "https://files.pythonhosted.org/packages/79/ef/68bb6aa865c5c9b11a35771329e95917b5559845bd75b65549407f9fc6b4/pywin32-308-cp311-cp311-win_arm64.whl", hash = "sha256:100a5442b7332070983c4cd03f2e906a5648a5104b8a7f50175f7906efd16bb6", size = 7972495 }, + { url = "https://files.pythonhosted.org/packages/00/7c/d00d6bdd96de4344e06c4afbf218bc86b54436a94c01c71a8701f613aa56/pywin32-308-cp312-cp312-win32.whl", hash = "sha256:587f3e19696f4bf96fde9d8a57cec74a57021ad5f204c9e627e15c33ff568897", size = 5939729 }, + { url = "https://files.pythonhosted.org/packages/21/27/0c8811fbc3ca188f93b5354e7c286eb91f80a53afa4e11007ef661afa746/pywin32-308-cp312-cp312-win_amd64.whl", hash = "sha256:00b3e11ef09ede56c6a43c71f2d31857cf7c54b0ab6e78ac659497abd2834f47", size = 6543015 }, + { url = "https://files.pythonhosted.org/packages/9d/0f/d40f8373608caed2255781a3ad9a51d03a594a1248cd632d6a298daca693/pywin32-308-cp312-cp312-win_arm64.whl", hash = "sha256:9b4de86c8d909aed15b7011182c8cab38c8850de36e6afb1f0db22b8959e3091", size = 7976033 }, + { url = "https://files.pythonhosted.org/packages/a9/a4/aa562d8935e3df5e49c161b427a3a2efad2ed4e9cf81c3de636f1fdddfd0/pywin32-308-cp313-cp313-win32.whl", hash = "sha256:1c44539a37a5b7b21d02ab34e6a4d314e0788f1690d65b48e9b0b89f31abbbed", size = 5938579 }, + { url = "https://files.pythonhosted.org/packages/c7/50/b0efb8bb66210da67a53ab95fd7a98826a97ee21f1d22949863e6d588b22/pywin32-308-cp313-cp313-win_amd64.whl", hash = "sha256:fd380990e792eaf6827fcb7e187b2b4b1cede0585e3d0c9e84201ec27b9905e4", size = 6542056 }, + { url = "https://files.pythonhosted.org/packages/26/df/2b63e3e4f2df0224f8aaf6d131f54fe4e8c96400eb9df563e2aae2e1a1f9/pywin32-308-cp313-cp313-win_arm64.whl", hash = "sha256:ef313c46d4c18dfb82a2431e3051ac8f112ccee1a34f29c263c583c568db63cd", size = 7974986 }, + { url = "https://files.pythonhosted.org/packages/f3/0d/2c464011689e11ff5d64a32337f37de463a0cb058e45de5ea4027b56601a/pywin32-308-cp38-cp38-win32.whl", hash = "sha256:5794e764ebcabf4ff08c555b31bd348c9025929371763b2183172ff4708152f0", size = 5998793 }, + { url = "https://files.pythonhosted.org/packages/b7/e8/729b049e3c5c5449049d6036edf7a24a6ba785a9a1d5f617b638a9b444eb/pywin32-308-cp38-cp38-win_amd64.whl", hash = "sha256:3b92622e29d651c6b783e368ba7d6722b1634b8e70bd376fd7610fe1992e19de", size = 6647446 }, + { url = "https://files.pythonhosted.org/packages/a8/41/ead05a7657ffdbb1edabb954ab80825c4f87a3de0285d59f8290457f9016/pywin32-308-cp39-cp39-win32.whl", hash = "sha256:7873ca4dc60ab3287919881a7d4f88baee4a6e639aa6962de25a98ba6b193341", size = 5991824 }, + { url = "https://files.pythonhosted.org/packages/e4/cd/0838c9a6063bff2e9bac2388ae36524c26c50288b5d7b6aebb6cdf8d375d/pywin32-308-cp39-cp39-win_amd64.whl", hash = "sha256:71b3322d949b4cc20776436a9c9ba0eeedcbc9c650daa536df63f0ff111bb920", size = 6640327 }, +] + +[[package]] +name = "pywin32-ctypes" +version = "0.2.3" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/85/9f/01a1a99704853cb63f253eea009390c88e7131c67e66a0a02099a8c917cb/pywin32-ctypes-0.2.3.tar.gz", hash = "sha256:d162dc04946d704503b2edc4d55f3dba5c1d539ead017afa00142c38b9885755", size = 29471 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/de/3d/8161f7711c017e01ac9f008dfddd9410dff3674334c233bde66e7ba65bbf/pywin32_ctypes-0.2.3-py3-none-any.whl", hash = "sha256:8a1513379d709975552d202d942d9837758905c8d01eb82b8bcc30918929e7b8", size = 30756 }, +] + +[[package]] +name = "pywinpty" +version = "2.0.14" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/f1/82/90f8750423cba4b9b6c842df227609fb60704482d7abf6dd47e2babc055a/pywinpty-2.0.14.tar.gz", hash = "sha256:18bd9529e4a5daf2d9719aa17788ba6013e594ae94c5a0c27e83df3278b0660e", size = 27769 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/07/09/56376af256eab8cc5f8982a3b138d387136eca27fa1a8a68660e8ed59e4b/pywinpty-2.0.14-cp310-none-win_amd64.whl", hash = "sha256:0b149c2918c7974f575ba79f5a4aad58bd859a52fa9eb1296cc22aa412aa411f", size = 1397115 }, + { url = "https://files.pythonhosted.org/packages/be/e2/af1a99c0432e4e58c9ac8e334ee191790ec9793d33559189b9d2069bdc1d/pywinpty-2.0.14-cp311-none-win_amd64.whl", hash = "sha256:cf2a43ac7065b3e0dc8510f8c1f13a75fb8fde805efa3b8cff7599a1ef497bc7", size = 1397223 }, + { url = "https://files.pythonhosted.org/packages/ad/79/759ae767a3b78d340446efd54dd1fe4f7dafa4fc7be96ed757e44bcdba54/pywinpty-2.0.14-cp312-none-win_amd64.whl", hash = "sha256:55dad362ef3e9408ade68fd173e4f9032b3ce08f68cfe7eacb2c263ea1179737", size = 1397207 }, + { url = "https://files.pythonhosted.org/packages/7d/34/b77b3c209bf2eaa6455390c8d5449241637f5957f41636a2204065d52bfa/pywinpty-2.0.14-cp313-none-win_amd64.whl", hash = "sha256:074fb988a56ec79ca90ed03a896d40707131897cefb8f76f926e3834227f2819", size = 1396698 }, + { url = "https://files.pythonhosted.org/packages/d8/ef/85e1b0ef7864fa2c579b1c1efce92c5f6fa238c8e73cf9f53deee08f8605/pywinpty-2.0.14-cp39-none-win_amd64.whl", hash = "sha256:5725fd56f73c0531ec218663bd8c8ff5acc43c78962fab28564871b5fce053fd", size = 1397396 }, +] + +[[package]] +name = "pyyaml" +version = "6.0.2" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/54/ed/79a089b6be93607fa5cdaedf301d7dfb23af5f25c398d5ead2525b063e17/pyyaml-6.0.2.tar.gz", hash = "sha256:d584d9ec91ad65861cc08d42e834324ef890a082e591037abe114850ff7bbc3e", size = 130631 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/9b/95/a3fac87cb7158e231b5a6012e438c647e1a87f09f8e0d123acec8ab8bf71/PyYAML-6.0.2-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:0a9a2848a5b7feac301353437eb7d5957887edbf81d56e903999a75a3d743086", size = 184199 }, + { url = "https://files.pythonhosted.org/packages/c7/7a/68bd47624dab8fd4afbfd3c48e3b79efe09098ae941de5b58abcbadff5cb/PyYAML-6.0.2-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:29717114e51c84ddfba879543fb232a6ed60086602313ca38cce623c1d62cfbf", size = 171758 }, + { url = "https://files.pythonhosted.org/packages/49/ee/14c54df452143b9ee9f0f29074d7ca5516a36edb0b4cc40c3f280131656f/PyYAML-6.0.2-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:8824b5a04a04a047e72eea5cec3bc266db09e35de6bdfe34c9436ac5ee27d237", size = 718463 }, + { url = "https://files.pythonhosted.org/packages/4d/61/de363a97476e766574650d742205be468921a7b532aa2499fcd886b62530/PyYAML-6.0.2-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:7c36280e6fb8385e520936c3cb3b8042851904eba0e58d277dca80a5cfed590b", size = 719280 }, + { url = "https://files.pythonhosted.org/packages/6b/4e/1523cb902fd98355e2e9ea5e5eb237cbc5f3ad5f3075fa65087aa0ecb669/PyYAML-6.0.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ec031d5d2feb36d1d1a24380e4db6d43695f3748343d99434e6f5f9156aaa2ed", size = 751239 }, + { url = "https://files.pythonhosted.org/packages/b7/33/5504b3a9a4464893c32f118a9cc045190a91637b119a9c881da1cf6b7a72/PyYAML-6.0.2-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:936d68689298c36b53b29f23c6dbb74de12b4ac12ca6cfe0e047bedceea56180", size = 695802 }, + { url = "https://files.pythonhosted.org/packages/5c/20/8347dcabd41ef3a3cdc4f7b7a2aff3d06598c8779faa189cdbf878b626a4/PyYAML-6.0.2-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:23502f431948090f597378482b4812b0caae32c22213aecf3b55325e049a6c68", size = 720527 }, + { url = "https://files.pythonhosted.org/packages/be/aa/5afe99233fb360d0ff37377145a949ae258aaab831bde4792b32650a4378/PyYAML-6.0.2-cp310-cp310-win32.whl", hash = "sha256:2e99c6826ffa974fe6e27cdb5ed0021786b03fc98e5ee3c5bfe1fd5015f42b99", size = 144052 }, + { url = "https://files.pythonhosted.org/packages/b5/84/0fa4b06f6d6c958d207620fc60005e241ecedceee58931bb20138e1e5776/PyYAML-6.0.2-cp310-cp310-win_amd64.whl", hash = "sha256:a4d3091415f010369ae4ed1fc6b79def9416358877534caf6a0fdd2146c87a3e", size = 161774 }, + { url = "https://files.pythonhosted.org/packages/f8/aa/7af4e81f7acba21a4c6be026da38fd2b872ca46226673c89a758ebdc4fd2/PyYAML-6.0.2-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:cc1c1159b3d456576af7a3e4d1ba7e6924cb39de8f67111c735f6fc832082774", size = 184612 }, + { url = "https://files.pythonhosted.org/packages/8b/62/b9faa998fd185f65c1371643678e4d58254add437edb764a08c5a98fb986/PyYAML-6.0.2-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:1e2120ef853f59c7419231f3bf4e7021f1b936f6ebd222406c3b60212205d2ee", size = 172040 }, + { url = "https://files.pythonhosted.org/packages/ad/0c/c804f5f922a9a6563bab712d8dcc70251e8af811fce4524d57c2c0fd49a4/PyYAML-6.0.2-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:5d225db5a45f21e78dd9358e58a98702a0302f2659a3c6cd320564b75b86f47c", size = 736829 }, + { url = "https://files.pythonhosted.org/packages/51/16/6af8d6a6b210c8e54f1406a6b9481febf9c64a3109c541567e35a49aa2e7/PyYAML-6.0.2-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:5ac9328ec4831237bec75defaf839f7d4564be1e6b25ac710bd1a96321cc8317", size = 764167 }, + { url = "https://files.pythonhosted.org/packages/75/e4/2c27590dfc9992f73aabbeb9241ae20220bd9452df27483b6e56d3975cc5/PyYAML-6.0.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:3ad2a3decf9aaba3d29c8f537ac4b243e36bef957511b4766cb0057d32b0be85", size = 762952 }, + { url = "https://files.pythonhosted.org/packages/9b/97/ecc1abf4a823f5ac61941a9c00fe501b02ac3ab0e373c3857f7d4b83e2b6/PyYAML-6.0.2-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:ff3824dc5261f50c9b0dfb3be22b4567a6f938ccce4587b38952d85fd9e9afe4", size = 735301 }, + { url = "https://files.pythonhosted.org/packages/45/73/0f49dacd6e82c9430e46f4a027baa4ca205e8b0a9dce1397f44edc23559d/PyYAML-6.0.2-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:797b4f722ffa07cc8d62053e4cff1486fa6dc094105d13fea7b1de7d8bf71c9e", size = 756638 }, + { url = "https://files.pythonhosted.org/packages/22/5f/956f0f9fc65223a58fbc14459bf34b4cc48dec52e00535c79b8db361aabd/PyYAML-6.0.2-cp311-cp311-win32.whl", hash = "sha256:11d8f3dd2b9c1207dcaf2ee0bbbfd5991f571186ec9cc78427ba5bd32afae4b5", size = 143850 }, + { url = "https://files.pythonhosted.org/packages/ed/23/8da0bbe2ab9dcdd11f4f4557ccaf95c10b9811b13ecced089d43ce59c3c8/PyYAML-6.0.2-cp311-cp311-win_amd64.whl", hash = "sha256:e10ce637b18caea04431ce14fabcf5c64a1c61ec9c56b071a4b7ca131ca52d44", size = 161980 }, + { url = "https://files.pythonhosted.org/packages/86/0c/c581167fc46d6d6d7ddcfb8c843a4de25bdd27e4466938109ca68492292c/PyYAML-6.0.2-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:c70c95198c015b85feafc136515252a261a84561b7b1d51e3384e0655ddf25ab", size = 183873 }, + { url = "https://files.pythonhosted.org/packages/a8/0c/38374f5bb272c051e2a69281d71cba6fdb983413e6758b84482905e29a5d/PyYAML-6.0.2-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:ce826d6ef20b1bc864f0a68340c8b3287705cae2f8b4b1d932177dcc76721725", size = 173302 }, + { url = "https://files.pythonhosted.org/packages/c3/93/9916574aa8c00aa06bbac729972eb1071d002b8e158bd0e83a3b9a20a1f7/PyYAML-6.0.2-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:1f71ea527786de97d1a0cc0eacd1defc0985dcf6b3f17bb77dcfc8c34bec4dc5", size = 739154 }, + { url = "https://files.pythonhosted.org/packages/95/0f/b8938f1cbd09739c6da569d172531567dbcc9789e0029aa070856f123984/PyYAML-6.0.2-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:9b22676e8097e9e22e36d6b7bda33190d0d400f345f23d4065d48f4ca7ae0425", size = 766223 }, + { url = "https://files.pythonhosted.org/packages/b9/2b/614b4752f2e127db5cc206abc23a8c19678e92b23c3db30fc86ab731d3bd/PyYAML-6.0.2-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:80bab7bfc629882493af4aa31a4cfa43a4c57c83813253626916b8c7ada83476", size = 767542 }, + { url = "https://files.pythonhosted.org/packages/d4/00/dd137d5bcc7efea1836d6264f049359861cf548469d18da90cd8216cf05f/PyYAML-6.0.2-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:0833f8694549e586547b576dcfaba4a6b55b9e96098b36cdc7ebefe667dfed48", size = 731164 }, + { url = "https://files.pythonhosted.org/packages/c9/1f/4f998c900485e5c0ef43838363ba4a9723ac0ad73a9dc42068b12aaba4e4/PyYAML-6.0.2-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:8b9c7197f7cb2738065c481a0461e50ad02f18c78cd75775628afb4d7137fb3b", size = 756611 }, + { url = "https://files.pythonhosted.org/packages/df/d1/f5a275fdb252768b7a11ec63585bc38d0e87c9e05668a139fea92b80634c/PyYAML-6.0.2-cp312-cp312-win32.whl", hash = "sha256:ef6107725bd54b262d6dedcc2af448a266975032bc85ef0172c5f059da6325b4", size = 140591 }, + { url = "https://files.pythonhosted.org/packages/0c/e8/4f648c598b17c3d06e8753d7d13d57542b30d56e6c2dedf9c331ae56312e/PyYAML-6.0.2-cp312-cp312-win_amd64.whl", hash = "sha256:7e7401d0de89a9a855c839bc697c079a4af81cf878373abd7dc625847d25cbd8", size = 156338 }, + { url = "https://files.pythonhosted.org/packages/ef/e3/3af305b830494fa85d95f6d95ef7fa73f2ee1cc8ef5b495c7c3269fb835f/PyYAML-6.0.2-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:efdca5630322a10774e8e98e1af481aad470dd62c3170801852d752aa7a783ba", size = 181309 }, + { url = "https://files.pythonhosted.org/packages/45/9f/3b1c20a0b7a3200524eb0076cc027a970d320bd3a6592873c85c92a08731/PyYAML-6.0.2-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:50187695423ffe49e2deacb8cd10510bc361faac997de9efef88badc3bb9e2d1", size = 171679 }, + { url = "https://files.pythonhosted.org/packages/7c/9a/337322f27005c33bcb656c655fa78325b730324c78620e8328ae28b64d0c/PyYAML-6.0.2-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:0ffe8360bab4910ef1b9e87fb812d8bc0a308b0d0eef8c8f44e0254ab3b07133", size = 733428 }, + { url = "https://files.pythonhosted.org/packages/a3/69/864fbe19e6c18ea3cc196cbe5d392175b4cf3d5d0ac1403ec3f2d237ebb5/PyYAML-6.0.2-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:17e311b6c678207928d649faa7cb0d7b4c26a0ba73d41e99c4fff6b6c3276484", size = 763361 }, + { url = "https://files.pythonhosted.org/packages/04/24/b7721e4845c2f162d26f50521b825fb061bc0a5afcf9a386840f23ea19fa/PyYAML-6.0.2-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:70b189594dbe54f75ab3a1acec5f1e3faa7e8cf2f1e08d9b561cb41b845f69d5", size = 759523 }, + { url = "https://files.pythonhosted.org/packages/2b/b2/e3234f59ba06559c6ff63c4e10baea10e5e7df868092bf9ab40e5b9c56b6/PyYAML-6.0.2-cp313-cp313-musllinux_1_1_aarch64.whl", hash = "sha256:41e4e3953a79407c794916fa277a82531dd93aad34e29c2a514c2c0c5fe971cc", size = 726660 }, + { url = "https://files.pythonhosted.org/packages/fe/0f/25911a9f080464c59fab9027482f822b86bf0608957a5fcc6eaac85aa515/PyYAML-6.0.2-cp313-cp313-musllinux_1_1_x86_64.whl", hash = "sha256:68ccc6023a3400877818152ad9a1033e3db8625d899c72eacb5a668902e4d652", size = 751597 }, + { url = "https://files.pythonhosted.org/packages/14/0d/e2c3b43bbce3cf6bd97c840b46088a3031085179e596d4929729d8d68270/PyYAML-6.0.2-cp313-cp313-win32.whl", hash = "sha256:bc2fa7c6b47d6bc618dd7fb02ef6fdedb1090ec036abab80d4681424b84c1183", size = 140527 }, + { url = "https://files.pythonhosted.org/packages/fa/de/02b54f42487e3d3c6efb3f89428677074ca7bf43aae402517bc7cca949f3/PyYAML-6.0.2-cp313-cp313-win_amd64.whl", hash = "sha256:8388ee1976c416731879ac16da0aff3f63b286ffdd57cdeb95f3f2e085687563", size = 156446 }, + { url = "https://files.pythonhosted.org/packages/74/d9/323a59d506f12f498c2097488d80d16f4cf965cee1791eab58b56b19f47a/PyYAML-6.0.2-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:24471b829b3bf607e04e88d79542a9d48bb037c2267d7927a874e6c205ca7e9a", size = 183218 }, + { url = "https://files.pythonhosted.org/packages/74/cc/20c34d00f04d785f2028737e2e2a8254e1425102e730fee1d6396f832577/PyYAML-6.0.2-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d7fded462629cfa4b685c5416b949ebad6cec74af5e2d42905d41e257e0869f5", size = 728067 }, + { url = "https://files.pythonhosted.org/packages/20/52/551c69ca1501d21c0de51ddafa8c23a0191ef296ff098e98358f69080577/PyYAML-6.0.2-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:d84a1718ee396f54f3a086ea0a66d8e552b2ab2017ef8b420e92edbc841c352d", size = 757812 }, + { url = "https://files.pythonhosted.org/packages/fd/7f/2c3697bba5d4aa5cc2afe81826d73dfae5f049458e44732c7a0938baa673/PyYAML-6.0.2-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:9056c1ecd25795207ad294bcf39f2db3d845767be0ea6e6a34d856f006006083", size = 746531 }, + { url = "https://files.pythonhosted.org/packages/8c/ab/6226d3df99900e580091bb44258fde77a8433511a86883bd4681ea19a858/PyYAML-6.0.2-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:82d09873e40955485746739bcb8b4586983670466c23382c19cffecbf1fd8706", size = 800820 }, + { url = "https://files.pythonhosted.org/packages/a0/99/a9eb0f3e710c06c5d922026f6736e920d431812ace24aae38228d0d64b04/PyYAML-6.0.2-cp38-cp38-win32.whl", hash = "sha256:43fa96a3ca0d6b1812e01ced1044a003533c47f6ee8aca31724f78e93ccc089a", size = 145514 }, + { url = "https://files.pythonhosted.org/packages/75/8a/ee831ad5fafa4431099aa4e078d4c8efd43cd5e48fbc774641d233b683a9/PyYAML-6.0.2-cp38-cp38-win_amd64.whl", hash = "sha256:01179a4a8559ab5de078078f37e5c1a30d76bb88519906844fd7bdea1b7729ff", size = 162702 }, + { url = "https://files.pythonhosted.org/packages/65/d8/b7a1db13636d7fb7d4ff431593c510c8b8fca920ade06ca8ef20015493c5/PyYAML-6.0.2-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:688ba32a1cffef67fd2e9398a2efebaea461578b0923624778664cc1c914db5d", size = 184777 }, + { url = "https://files.pythonhosted.org/packages/0a/02/6ec546cd45143fdf9840b2c6be8d875116a64076218b61d68e12548e5839/PyYAML-6.0.2-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:a8786accb172bd8afb8be14490a16625cbc387036876ab6ba70912730faf8e1f", size = 172318 }, + { url = "https://files.pythonhosted.org/packages/0e/9a/8cc68be846c972bda34f6c2a93abb644fb2476f4dcc924d52175786932c9/PyYAML-6.0.2-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d8e03406cac8513435335dbab54c0d385e4a49e4945d2909a581c83647ca0290", size = 720891 }, + { url = "https://files.pythonhosted.org/packages/e9/6c/6e1b7f40181bc4805e2e07f4abc10a88ce4648e7e95ff1abe4ae4014a9b2/PyYAML-6.0.2-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:f753120cb8181e736c57ef7636e83f31b9c0d1722c516f7e86cf15b7aa57ff12", size = 722614 }, + { url = "https://files.pythonhosted.org/packages/3d/32/e7bd8535d22ea2874cef6a81021ba019474ace0d13a4819c2a4bce79bd6a/PyYAML-6.0.2-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:3b1fdb9dc17f5a7677423d508ab4f243a726dea51fa5e70992e59a7411c89d19", size = 737360 }, + { url = "https://files.pythonhosted.org/packages/d7/12/7322c1e30b9be969670b672573d45479edef72c9a0deac3bb2868f5d7469/PyYAML-6.0.2-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:0b69e4ce7a131fe56b7e4d770c67429700908fc0752af059838b1cfb41960e4e", size = 699006 }, + { url = "https://files.pythonhosted.org/packages/82/72/04fcad41ca56491995076630c3ec1e834be241664c0c09a64c9a2589b507/PyYAML-6.0.2-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:a9f8c2e67970f13b16084e04f134610fd1d374bf477b17ec1599185cf611d725", size = 723577 }, + { url = "https://files.pythonhosted.org/packages/ed/5e/46168b1f2757f1fcd442bc3029cd8767d88a98c9c05770d8b420948743bb/PyYAML-6.0.2-cp39-cp39-win32.whl", hash = "sha256:6395c297d42274772abc367baaa79683958044e5d3835486c16da75d2a694631", size = 144593 }, + { url = "https://files.pythonhosted.org/packages/19/87/5124b1c1f2412bb95c59ec481eaf936cd32f0fe2a7b16b97b81c4c017a6a/PyYAML-6.0.2-cp39-cp39-win_amd64.whl", hash = "sha256:39693e1f8320ae4f43943590b49779ffb98acb81f788220ea932a6b6c51004d8", size = 162312 }, +] + +[[package]] +name = "pyyaml-env-tag" +version = "0.1" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "pyyaml" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/fb/8e/da1c6c58f751b70f8ceb1eb25bc25d524e8f14fe16edcce3f4e3ba08629c/pyyaml_env_tag-0.1.tar.gz", hash = "sha256:70092675bda14fdec33b31ba77e7543de9ddc88f2e5b99160396572d11525bdb", size = 5631 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/5a/66/bbb1dd374f5c870f59c5bb1db0e18cbe7fa739415a24cbd95b2d1f5ae0c4/pyyaml_env_tag-0.1-py3-none-any.whl", hash = "sha256:af31106dec8a4d68c60207c1886031cbf839b68aa7abccdb19868200532c2069", size = 3911 }, +] + +[[package]] +name = "pyzmq" +version = "26.2.0" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "cffi", marker = "implementation_name == 'pypy'" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/fd/05/bed626b9f7bb2322cdbbf7b4bd8f54b1b617b0d2ab2d3547d6e39428a48e/pyzmq-26.2.0.tar.gz", hash = "sha256:070672c258581c8e4f640b5159297580a9974b026043bd4ab0470be9ed324f1f", size = 271975 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/1f/a8/9837c39aba390eb7d01924ace49d761c8dbe7bc2d6082346d00c8332e431/pyzmq-26.2.0-cp310-cp310-macosx_10_15_universal2.whl", hash = "sha256:ddf33d97d2f52d89f6e6e7ae66ee35a4d9ca6f36eda89c24591b0c40205a3629", size = 1340058 }, + { url = "https://files.pythonhosted.org/packages/a2/1f/a006f2e8e4f7d41d464272012695da17fb95f33b54342612a6890da96ff6/pyzmq-26.2.0-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:dacd995031a01d16eec825bf30802fceb2c3791ef24bcce48fa98ce40918c27b", size = 1008818 }, + { url = "https://files.pythonhosted.org/packages/b6/09/b51b6683fde5ca04593a57bbe81788b6b43114d8f8ee4e80afc991e14760/pyzmq-26.2.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:89289a5ee32ef6c439086184529ae060c741334b8970a6855ec0b6ad3ff28764", size = 673199 }, + { url = "https://files.pythonhosted.org/packages/c9/78/486f3e2e824f3a645238332bf5a4c4b4477c3063033a27c1e4052358dee2/pyzmq-26.2.0-cp310-cp310-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:5506f06d7dc6ecf1efacb4a013b1f05071bb24b76350832c96449f4a2d95091c", size = 911762 }, + { url = "https://files.pythonhosted.org/packages/5e/3b/2eb1667c9b866f53e76ee8b0c301b0469745a23bd5a87b7ee3d5dd9eb6e5/pyzmq-26.2.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:8ea039387c10202ce304af74def5021e9adc6297067f3441d348d2b633e8166a", size = 868773 }, + { url = "https://files.pythonhosted.org/packages/16/29/ca99b4598a9dc7e468b5417eda91f372b595be1e3eec9b7cbe8e5d3584e8/pyzmq-26.2.0-cp310-cp310-manylinux_2_28_x86_64.whl", hash = "sha256:a2224fa4a4c2ee872886ed00a571f5e967c85e078e8e8c2530a2fb01b3309b88", size = 868834 }, + { url = "https://files.pythonhosted.org/packages/ad/e5/9efaeb1d2f4f8c50da04144f639b042bc52869d3a206d6bf672ab3522163/pyzmq-26.2.0-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:28ad5233e9c3b52d76196c696e362508959741e1a005fb8fa03b51aea156088f", size = 1202861 }, + { url = "https://files.pythonhosted.org/packages/c3/62/c721b5608a8ac0a69bb83cbb7d07a56f3ff00b3991a138e44198a16f94c7/pyzmq-26.2.0-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:1c17211bc037c7d88e85ed8b7d8f7e52db6dc8eca5590d162717c654550f7282", size = 1515304 }, + { url = "https://files.pythonhosted.org/packages/87/84/e8bd321aa99b72f48d4606fc5a0a920154125bd0a4608c67eab742dab087/pyzmq-26.2.0-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:b8f86dd868d41bea9a5f873ee13bf5551c94cf6bc51baebc6f85075971fe6eea", size = 1414712 }, + { url = "https://files.pythonhosted.org/packages/cd/cd/420e3fd1ac6977b008b72e7ad2dae6350cc84d4c5027fc390b024e61738f/pyzmq-26.2.0-cp310-cp310-win32.whl", hash = "sha256:46a446c212e58456b23af260f3d9fb785054f3e3653dbf7279d8f2b5546b21c2", size = 578113 }, + { url = "https://files.pythonhosted.org/packages/5c/57/73930d56ed45ae0cb4946f383f985c855c9b3d4063f26416998f07523c0e/pyzmq-26.2.0-cp310-cp310-win_amd64.whl", hash = "sha256:49d34ab71db5a9c292a7644ce74190b1dd5a3475612eefb1f8be1d6961441971", size = 641631 }, + { url = "https://files.pythonhosted.org/packages/61/d2/ae6ac5c397f1ccad59031c64beaafce7a0d6182e0452cc48f1c9c87d2dd0/pyzmq-26.2.0-cp310-cp310-win_arm64.whl", hash = "sha256:bfa832bfa540e5b5c27dcf5de5d82ebc431b82c453a43d141afb1e5d2de025fa", size = 543528 }, + { url = "https://files.pythonhosted.org/packages/12/20/de7442172f77f7c96299a0ac70e7d4fb78cd51eca67aa2cf552b66c14196/pyzmq-26.2.0-cp311-cp311-macosx_10_15_universal2.whl", hash = "sha256:8f7e66c7113c684c2b3f1c83cdd3376103ee0ce4c49ff80a648643e57fb22218", size = 1340639 }, + { url = "https://files.pythonhosted.org/packages/98/4d/5000468bd64c7910190ed0a6c76a1ca59a68189ec1f007c451dc181a22f4/pyzmq-26.2.0-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:3a495b30fc91db2db25120df5847d9833af237546fd59170701acd816ccc01c4", size = 1008710 }, + { url = "https://files.pythonhosted.org/packages/e1/bf/c67fd638c2f9fbbab8090a3ee779370b97c82b84cc12d0c498b285d7b2c0/pyzmq-26.2.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:77eb0968da535cba0470a5165468b2cac7772cfb569977cff92e240f57e31bef", size = 673129 }, + { url = "https://files.pythonhosted.org/packages/86/94/99085a3f492aa538161cbf27246e8886ff850e113e0c294a5b8245f13b52/pyzmq-26.2.0-cp311-cp311-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:6ace4f71f1900a548f48407fc9be59c6ba9d9aaf658c2eea6cf2779e72f9f317", size = 910107 }, + { url = "https://files.pythonhosted.org/packages/31/1d/346809e8a9b999646d03f21096428453465b1bca5cd5c64ecd048d9ecb01/pyzmq-26.2.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:92a78853d7280bffb93df0a4a6a2498cba10ee793cc8076ef797ef2f74d107cf", size = 867960 }, + { url = "https://files.pythonhosted.org/packages/ab/68/6fb6ae5551846ad5beca295b7bca32bf0a7ce19f135cb30e55fa2314e6b6/pyzmq-26.2.0-cp311-cp311-manylinux_2_28_x86_64.whl", hash = "sha256:689c5d781014956a4a6de61d74ba97b23547e431e9e7d64f27d4922ba96e9d6e", size = 869204 }, + { url = "https://files.pythonhosted.org/packages/0f/f9/18417771dee223ccf0f48e29adf8b4e25ba6d0e8285e33bcbce078070bc3/pyzmq-26.2.0-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:0aca98bc423eb7d153214b2df397c6421ba6373d3397b26c057af3c904452e37", size = 1203351 }, + { url = "https://files.pythonhosted.org/packages/e0/46/f13e67fe0d4f8a2315782cbad50493de6203ea0d744610faf4d5f5b16e90/pyzmq-26.2.0-cp311-cp311-musllinux_1_1_i686.whl", hash = "sha256:1f3496d76b89d9429a656293744ceca4d2ac2a10ae59b84c1da9b5165f429ad3", size = 1514204 }, + { url = "https://files.pythonhosted.org/packages/50/11/ddcf7343b7b7a226e0fc7b68cbf5a5bb56291fac07f5c3023bb4c319ebb4/pyzmq-26.2.0-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:5c2b3bfd4b9689919db068ac6c9911f3fcb231c39f7dd30e3138be94896d18e6", size = 1414339 }, + { url = "https://files.pythonhosted.org/packages/01/14/1c18d7d5b7be2708f513f37c61bfadfa62161c10624f8733f1c8451b3509/pyzmq-26.2.0-cp311-cp311-win32.whl", hash = "sha256:eac5174677da084abf378739dbf4ad245661635f1600edd1221f150b165343f4", size = 576928 }, + { url = "https://files.pythonhosted.org/packages/3b/1b/0a540edd75a41df14ec416a9a500b9fec66e554aac920d4c58fbd5756776/pyzmq-26.2.0-cp311-cp311-win_amd64.whl", hash = "sha256:5a509df7d0a83a4b178d0f937ef14286659225ef4e8812e05580776c70e155d5", size = 642317 }, + { url = "https://files.pythonhosted.org/packages/98/77/1cbfec0358078a4c5add529d8a70892db1be900980cdb5dd0898b3d6ab9d/pyzmq-26.2.0-cp311-cp311-win_arm64.whl", hash = "sha256:c0e6091b157d48cbe37bd67233318dbb53e1e6327d6fc3bb284afd585d141003", size = 543834 }, + { url = "https://files.pythonhosted.org/packages/28/2f/78a766c8913ad62b28581777ac4ede50c6d9f249d39c2963e279524a1bbe/pyzmq-26.2.0-cp312-cp312-macosx_10_15_universal2.whl", hash = "sha256:ded0fc7d90fe93ae0b18059930086c51e640cdd3baebdc783a695c77f123dcd9", size = 1343105 }, + { url = "https://files.pythonhosted.org/packages/b7/9c/4b1e2d3d4065be715e007fe063ec7885978fad285f87eae1436e6c3201f4/pyzmq-26.2.0-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:17bf5a931c7f6618023cdacc7081f3f266aecb68ca692adac015c383a134ca52", size = 1008365 }, + { url = "https://files.pythonhosted.org/packages/4f/ef/5a23ec689ff36d7625b38d121ef15abfc3631a9aecb417baf7a4245e4124/pyzmq-26.2.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:55cf66647e49d4621a7e20c8d13511ef1fe1efbbccf670811864452487007e08", size = 665923 }, + { url = "https://files.pythonhosted.org/packages/ae/61/d436461a47437d63c6302c90724cf0981883ec57ceb6073873f32172d676/pyzmq-26.2.0-cp312-cp312-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:4661c88db4a9e0f958c8abc2b97472e23061f0bc737f6f6179d7a27024e1faa5", size = 903400 }, + { url = "https://files.pythonhosted.org/packages/47/42/fc6d35ecefe1739a819afaf6f8e686f7f02a4dd241c78972d316f403474c/pyzmq-26.2.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ea7f69de383cb47522c9c208aec6dd17697db7875a4674c4af3f8cfdac0bdeae", size = 860034 }, + { url = "https://files.pythonhosted.org/packages/07/3b/44ea6266a6761e9eefaa37d98fabefa112328808ac41aa87b4bbb668af30/pyzmq-26.2.0-cp312-cp312-manylinux_2_28_x86_64.whl", hash = "sha256:7f98f6dfa8b8ccaf39163ce872bddacca38f6a67289116c8937a02e30bbe9711", size = 860579 }, + { url = "https://files.pythonhosted.org/packages/38/6f/4df2014ab553a6052b0e551b37da55166991510f9e1002c89cab7ce3b3f2/pyzmq-26.2.0-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:e3e0210287329272539eea617830a6a28161fbbd8a3271bf4150ae3e58c5d0e6", size = 1196246 }, + { url = "https://files.pythonhosted.org/packages/38/9d/ee240fc0c9fe9817f0c9127a43238a3e28048795483c403cc10720ddef22/pyzmq-26.2.0-cp312-cp312-musllinux_1_1_i686.whl", hash = "sha256:6b274e0762c33c7471f1a7471d1a2085b1a35eba5cdc48d2ae319f28b6fc4de3", size = 1507441 }, + { url = "https://files.pythonhosted.org/packages/85/4f/01711edaa58d535eac4a26c294c617c9a01f09857c0ce191fd574d06f359/pyzmq-26.2.0-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:29c6a4635eef69d68a00321e12a7d2559fe2dfccfa8efae3ffb8e91cd0b36a8b", size = 1406498 }, + { url = "https://files.pythonhosted.org/packages/07/18/907134c85c7152f679ed744e73e645b365f3ad571f38bdb62e36f347699a/pyzmq-26.2.0-cp312-cp312-win32.whl", hash = "sha256:989d842dc06dc59feea09e58c74ca3e1678c812a4a8a2a419046d711031f69c7", size = 575533 }, + { url = "https://files.pythonhosted.org/packages/ce/2c/a6f4a20202a4d3c582ad93f95ee78d79bbdc26803495aec2912b17dbbb6c/pyzmq-26.2.0-cp312-cp312-win_amd64.whl", hash = "sha256:2a50625acdc7801bc6f74698c5c583a491c61d73c6b7ea4dee3901bb99adb27a", size = 637768 }, + { url = "https://files.pythonhosted.org/packages/5f/0e/eb16ff731632d30554bf5af4dbba3ffcd04518219d82028aea4ae1b02ca5/pyzmq-26.2.0-cp312-cp312-win_arm64.whl", hash = "sha256:4d29ab8592b6ad12ebbf92ac2ed2bedcfd1cec192d8e559e2e099f648570e19b", size = 540675 }, + { url = "https://files.pythonhosted.org/packages/04/a7/0f7e2f6c126fe6e62dbae0bc93b1bd3f1099cf7fea47a5468defebe3f39d/pyzmq-26.2.0-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:9dd8cd1aeb00775f527ec60022004d030ddc51d783d056e3e23e74e623e33726", size = 1006564 }, + { url = "https://files.pythonhosted.org/packages/31/b6/a187165c852c5d49f826a690857684333a6a4a065af0a6015572d2284f6a/pyzmq-26.2.0-cp313-cp313-macosx_10_15_universal2.whl", hash = "sha256:28c812d9757fe8acecc910c9ac9dafd2ce968c00f9e619db09e9f8f54c3a68a3", size = 1340447 }, + { url = "https://files.pythonhosted.org/packages/68/ba/f4280c58ff71f321602a6e24fd19879b7e79793fb8ab14027027c0fb58ef/pyzmq-26.2.0-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:4d80b1dd99c1942f74ed608ddb38b181b87476c6a966a88a950c7dee118fdf50", size = 665485 }, + { url = "https://files.pythonhosted.org/packages/77/b5/c987a5c53c7d8704216f29fc3d810b32f156bcea488a940e330e1bcbb88d/pyzmq-26.2.0-cp313-cp313-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:8c997098cc65e3208eca09303630e84d42718620e83b733d0fd69543a9cab9cb", size = 903484 }, + { url = "https://files.pythonhosted.org/packages/29/c9/07da157d2db18c72a7eccef8e684cefc155b712a88e3d479d930aa9eceba/pyzmq-26.2.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:7ad1bc8d1b7a18497dda9600b12dc193c577beb391beae5cd2349184db40f187", size = 859981 }, + { url = "https://files.pythonhosted.org/packages/43/09/e12501bd0b8394b7d02c41efd35c537a1988da67fc9c745cae9c6c776d31/pyzmq-26.2.0-cp313-cp313-manylinux_2_28_x86_64.whl", hash = "sha256:bea2acdd8ea4275e1278350ced63da0b166421928276c7c8e3f9729d7402a57b", size = 860334 }, + { url = "https://files.pythonhosted.org/packages/eb/ff/f5ec1d455f8f7385cc0a8b2acd8c807d7fade875c14c44b85c1bddabae21/pyzmq-26.2.0-cp313-cp313-musllinux_1_1_aarch64.whl", hash = "sha256:23f4aad749d13698f3f7b64aad34f5fc02d6f20f05999eebc96b89b01262fb18", size = 1196179 }, + { url = "https://files.pythonhosted.org/packages/ec/8a/bb2ac43295b1950fe436a81fc5b298be0b96ac76fb029b514d3ed58f7b27/pyzmq-26.2.0-cp313-cp313-musllinux_1_1_i686.whl", hash = "sha256:a4f96f0d88accc3dbe4a9025f785ba830f968e21e3e2c6321ccdfc9aef755115", size = 1507668 }, + { url = "https://files.pythonhosted.org/packages/a9/49/dbc284ebcfd2dca23f6349227ff1616a7ee2c4a35fe0a5d6c3deff2b4fed/pyzmq-26.2.0-cp313-cp313-musllinux_1_1_x86_64.whl", hash = "sha256:ced65e5a985398827cc9276b93ef6dfabe0273c23de8c7931339d7e141c2818e", size = 1406539 }, + { url = "https://files.pythonhosted.org/packages/00/68/093cdce3fe31e30a341d8e52a1ad86392e13c57970d722c1f62a1d1a54b6/pyzmq-26.2.0-cp313-cp313-win32.whl", hash = "sha256:31507f7b47cc1ead1f6e86927f8ebb196a0bab043f6345ce070f412a59bf87b5", size = 575567 }, + { url = "https://files.pythonhosted.org/packages/92/ae/6cc4657148143412b5819b05e362ae7dd09fb9fe76e2a539dcff3d0386bc/pyzmq-26.2.0-cp313-cp313-win_amd64.whl", hash = "sha256:70fc7fcf0410d16ebdda9b26cbd8bf8d803d220a7f3522e060a69a9c87bf7bad", size = 637551 }, + { url = "https://files.pythonhosted.org/packages/6c/67/fbff102e201688f97c8092e4c3445d1c1068c2f27bbd45a578df97ed5f94/pyzmq-26.2.0-cp313-cp313-win_arm64.whl", hash = "sha256:c3789bd5768ab5618ebf09cef6ec2b35fed88709b104351748a63045f0ff9797", size = 540378 }, + { url = "https://files.pythonhosted.org/packages/3f/fe/2d998380b6e0122c6c4bdf9b6caf490831e5f5e2d08a203b5adff060c226/pyzmq-26.2.0-cp313-cp313t-macosx_10_13_x86_64.whl", hash = "sha256:034da5fc55d9f8da09015d368f519478a52675e558c989bfcb5cf6d4e16a7d2a", size = 1007378 }, + { url = "https://files.pythonhosted.org/packages/4a/f4/30d6e7157f12b3a0390bde94d6a8567cdb88846ed068a6e17238a4ccf600/pyzmq-26.2.0-cp313-cp313t-macosx_10_15_universal2.whl", hash = "sha256:c92d73464b886931308ccc45b2744e5968cbaade0b1d6aeb40d8ab537765f5bc", size = 1329532 }, + { url = "https://files.pythonhosted.org/packages/82/86/3fe917870e15ee1c3ad48229a2a64458e36036e64b4afa9659045d82bfa8/pyzmq-26.2.0-cp313-cp313t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:794a4562dcb374f7dbbfb3f51d28fb40123b5a2abadee7b4091f93054909add5", size = 653242 }, + { url = "https://files.pythonhosted.org/packages/50/2d/242e7e6ef6c8c19e6cb52d095834508cd581ffb925699fd3c640cdc758f1/pyzmq-26.2.0-cp313-cp313t-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:aee22939bb6075e7afededabad1a56a905da0b3c4e3e0c45e75810ebe3a52672", size = 888404 }, + { url = "https://files.pythonhosted.org/packages/ac/11/7270566e1f31e4ea73c81ec821a4b1688fd551009a3d2bab11ec66cb1e8f/pyzmq-26.2.0-cp313-cp313t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:2ae90ff9dad33a1cfe947d2c40cb9cb5e600d759ac4f0fd22616ce6540f72797", size = 845858 }, + { url = "https://files.pythonhosted.org/packages/91/d5/72b38fbc69867795c8711bdd735312f9fef1e3d9204e2f63ab57085434b9/pyzmq-26.2.0-cp313-cp313t-manylinux_2_28_x86_64.whl", hash = "sha256:43a47408ac52647dfabbc66a25b05b6a61700b5165807e3fbd40063fcaf46386", size = 847375 }, + { url = "https://files.pythonhosted.org/packages/dd/9a/10ed3c7f72b4c24e719c59359fbadd1a27556a28b36cdf1cd9e4fb7845d5/pyzmq-26.2.0-cp313-cp313t-musllinux_1_1_aarch64.whl", hash = "sha256:25bf2374a2a8433633c65ccb9553350d5e17e60c8eb4de4d92cc6bd60f01d306", size = 1183489 }, + { url = "https://files.pythonhosted.org/packages/72/2d/8660892543fabf1fe41861efa222455811adac9f3c0818d6c3170a1153e3/pyzmq-26.2.0-cp313-cp313t-musllinux_1_1_i686.whl", hash = "sha256:007137c9ac9ad5ea21e6ad97d3489af654381324d5d3ba614c323f60dab8fae6", size = 1492932 }, + { url = "https://files.pythonhosted.org/packages/7b/d6/32fd69744afb53995619bc5effa2a405ae0d343cd3e747d0fbc43fe894ee/pyzmq-26.2.0-cp313-cp313t-musllinux_1_1_x86_64.whl", hash = "sha256:470d4a4f6d48fb34e92d768b4e8a5cc3780db0d69107abf1cd7ff734b9766eb0", size = 1392485 }, + { url = "https://files.pythonhosted.org/packages/64/e7/d5d59205d446c299001d27bfc18702c5353512c5485b11ec7cf6df9552d7/pyzmq-26.2.0-cp38-cp38-macosx_10_15_universal2.whl", hash = "sha256:2eb7735ee73ca1b0d71e0e67c3739c689067f055c764f73aac4cc8ecf958ee3f", size = 1340492 }, + { url = "https://files.pythonhosted.org/packages/59/bb/aa6616a83694ab43cfb3bdb868d194a5ee2fa24b49e6ec7ec4400691ac3b/pyzmq-26.2.0-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:1a534f43bc738181aa7cbbaf48e3eca62c76453a40a746ab95d4b27b1111a7d2", size = 1008257 }, + { url = "https://files.pythonhosted.org/packages/a6/b6/e578e6c08970df0daa08b7c54e82b606211f9a7e61317ef2db79cc334389/pyzmq-26.2.0-cp38-cp38-manylinux_2_12_i686.manylinux2010_i686.whl", hash = "sha256:aedd5dd8692635813368e558a05266b995d3d020b23e49581ddd5bbe197a8ab6", size = 907602 }, + { url = "https://files.pythonhosted.org/packages/ab/3a/a26b98aebeb7924b24e9973a2f5bf8974201bb5a3f6ed06ddc3bac19372d/pyzmq-26.2.0-cp38-cp38-manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:8be4700cd8bb02cc454f630dcdf7cfa99de96788b80c51b60fe2fe1dac480289", size = 862291 }, + { url = "https://files.pythonhosted.org/packages/c1/b5/7eedb8d63af13c2858beb9c1f58e90e7e00929176b57f45e3592fccd56dc/pyzmq-26.2.0-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:1fcc03fa4997c447dce58264e93b5aa2d57714fbe0f06c07b7785ae131512732", size = 673879 }, + { url = "https://files.pythonhosted.org/packages/af/22/38734f47543e61b4eb97eee476f0f7ae544988533215eea22fc65e1ca1d7/pyzmq-26.2.0-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:402b190912935d3db15b03e8f7485812db350d271b284ded2b80d2e5704be780", size = 1207011 }, + { url = "https://files.pythonhosted.org/packages/59/a4/104cc979ae88ed948ef829db5fb49bca4a771891125fa4166bba1598b2ec/pyzmq-26.2.0-cp38-cp38-musllinux_1_1_i686.whl", hash = "sha256:8685fa9c25ff00f550c1fec650430c4b71e4e48e8d852f7ddcf2e48308038640", size = 1516183 }, + { url = "https://files.pythonhosted.org/packages/52/8f/73a8e08897f8ed21fe44fc73b5faf3ea4cacb97bfd219a63ee5f3ea203a8/pyzmq-26.2.0-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:76589c020680778f06b7e0b193f4b6dd66d470234a16e1df90329f5e14a171cd", size = 1417481 }, + { url = "https://files.pythonhosted.org/packages/67/cf/f418670a83fb3a91e2d6d26f271a828a58e0265199944a76e4ef274f9ba7/pyzmq-26.2.0-cp38-cp38-win32.whl", hash = "sha256:8423c1877d72c041f2c263b1ec6e34360448decfb323fa8b94e85883043ef988", size = 577930 }, + { url = "https://files.pythonhosted.org/packages/f0/51/1f2b47c8d8fb85c07f088e21df6364b8b5e8298e75bb23ea0e65340ebd82/pyzmq-26.2.0-cp38-cp38-win_amd64.whl", hash = "sha256:76589f2cd6b77b5bdea4fca5992dc1c23389d68b18ccc26a53680ba2dc80ff2f", size = 642503 }, + { url = "https://files.pythonhosted.org/packages/ac/9e/ad5fbbe1bcc7a9d1e8c5f4f7de48f2c1dc481e151ef80cc1ce9a7fe67b55/pyzmq-26.2.0-cp39-cp39-macosx_10_15_universal2.whl", hash = "sha256:b1d464cb8d72bfc1a3adc53305a63a8e0cac6bc8c5a07e8ca190ab8d3faa43c2", size = 1341256 }, + { url = "https://files.pythonhosted.org/packages/4c/d9/d7a8022108c214803a82b0b69d4885cee00933d21928f1f09dca371cf4bf/pyzmq-26.2.0-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:4da04c48873a6abdd71811c5e163bd656ee1b957971db7f35140a2d573f6949c", size = 1009385 }, + { url = "https://files.pythonhosted.org/packages/ed/69/0529b59ac667ea8bfe8796ac71796b688fbb42ff78e06525dabfed3bc7ae/pyzmq-26.2.0-cp39-cp39-manylinux_2_12_i686.manylinux2010_i686.whl", hash = "sha256:d049df610ac811dcffdc147153b414147428567fbbc8be43bb8885f04db39d98", size = 908009 }, + { url = "https://files.pythonhosted.org/packages/6e/bd/3ff3e1172f12f55769793a3a334e956ec2886805ebfb2f64756b6b5c6a1a/pyzmq-26.2.0-cp39-cp39-manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:05590cdbc6b902101d0e65d6a4780af14dc22914cc6ab995d99b85af45362cc9", size = 862078 }, + { url = "https://files.pythonhosted.org/packages/c3/ec/ab13585c3a1f48e2874253844c47b194d56eb25c94718691349c646f336f/pyzmq-26.2.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:c811cfcd6a9bf680236c40c6f617187515269ab2912f3d7e8c0174898e2519db", size = 673756 }, + { url = "https://files.pythonhosted.org/packages/1e/be/febcd4b04dd50ee6d514dfbc33a3d5d9cb38ec9516e02bbfc929baa0f141/pyzmq-26.2.0-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:6835dd60355593de10350394242b5757fbbd88b25287314316f266e24c61d073", size = 1203684 }, + { url = "https://files.pythonhosted.org/packages/16/28/304150e71afd2df3b82f52f66c0d8ab9ac6fe1f1ffdf92bad4c8cc91d557/pyzmq-26.2.0-cp39-cp39-musllinux_1_1_i686.whl", hash = "sha256:bc6bee759a6bddea5db78d7dcd609397449cb2d2d6587f48f3ca613b19410cfc", size = 1515864 }, + { url = "https://files.pythonhosted.org/packages/18/89/8d48d8cd505c12a1f5edee597cc32ffcedc65fd8d2603aebaaedc38a7041/pyzmq-26.2.0-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:c530e1eecd036ecc83c3407f77bb86feb79916d4a33d11394b8234f3bd35b940", size = 1415383 }, + { url = "https://files.pythonhosted.org/packages/d4/7e/43a60c3b179f7da0cbc2b649bd2702fd6a39bff5f72aa38d6e1aeb00256d/pyzmq-26.2.0-cp39-cp39-win32.whl", hash = "sha256:367b4f689786fca726ef7a6c5ba606958b145b9340a5e4808132cc65759abd44", size = 578540 }, + { url = "https://files.pythonhosted.org/packages/3a/55/8841dcd28f783ad06674c8fe8d7d72794b548d0bff8829aaafeb72e8b44d/pyzmq-26.2.0-cp39-cp39-win_amd64.whl", hash = "sha256:e6fa2e3e683f34aea77de8112f6483803c96a44fd726d7358b9888ae5bb394ec", size = 642147 }, + { url = "https://files.pythonhosted.org/packages/b4/78/b3c31ccfcfcdd6ea50b6abc8f46a2a7aadb9c3d40531d1b908d834aaa12e/pyzmq-26.2.0-cp39-cp39-win_arm64.whl", hash = "sha256:7445be39143a8aa4faec43b076e06944b8f9d0701b669df4af200531b21e40bb", size = 543903 }, + { url = "https://files.pythonhosted.org/packages/53/fb/36b2b2548286e9444e52fcd198760af99fd89102b5be50f0660fcfe902df/pyzmq-26.2.0-pp310-pypy310_pp73-macosx_10_15_x86_64.whl", hash = "sha256:706e794564bec25819d21a41c31d4df2d48e1cc4b061e8d345d7fb4dd3e94072", size = 906955 }, + { url = "https://files.pythonhosted.org/packages/77/8f/6ce54f8979a01656e894946db6299e2273fcee21c8e5fa57c6295ef11f57/pyzmq-26.2.0-pp310-pypy310_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:8b435f2753621cd36e7c1762156815e21c985c72b19135dac43a7f4f31d28dd1", size = 565701 }, + { url = "https://files.pythonhosted.org/packages/ee/1c/bf8cd66730a866b16db8483286078892b7f6536f8c389fb46e4beba0a970/pyzmq-26.2.0-pp310-pypy310_pp73-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:160c7e0a5eb178011e72892f99f918c04a131f36056d10d9c1afb223fc952c2d", size = 794312 }, + { url = "https://files.pythonhosted.org/packages/71/43/91fa4ff25bbfdc914ab6bafa0f03241d69370ef31a761d16bb859f346582/pyzmq-26.2.0-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:2c4a71d5d6e7b28a47a394c0471b7e77a0661e2d651e7ae91e0cab0a587859ca", size = 752775 }, + { url = "https://files.pythonhosted.org/packages/ec/d2/3b2ab40f455a256cb6672186bea95cd97b459ce4594050132d71e76f0d6f/pyzmq-26.2.0-pp310-pypy310_pp73-win_amd64.whl", hash = "sha256:90412f2db8c02a3864cbfc67db0e3dcdbda336acf1c469526d3e869394fe001c", size = 550762 }, + { url = "https://files.pythonhosted.org/packages/38/a7/1c80b0c8013befad391b92ba8a8e597de8884605ad5ad8ab943c888eb3ca/pyzmq-26.2.0-pp38-pypy38_pp73-macosx_10_9_x86_64.whl", hash = "sha256:39887ac397ff35b7b775db7201095fc6310a35fdbae85bac4523f7eb3b840e20", size = 906946 }, + { url = "https://files.pythonhosted.org/packages/9c/ac/34a7ee2e7edb07c7222752096650313424eb05f18401ed0a964e996088fb/pyzmq-26.2.0-pp38-pypy38_pp73-manylinux_2_12_i686.manylinux2010_i686.whl", hash = "sha256:fdb5b3e311d4d4b0eb8b3e8b4d1b0a512713ad7e6a68791d0923d1aec433d919", size = 802021 }, + { url = "https://files.pythonhosted.org/packages/cd/70/c65ddccfb88b469b6044f9664c81f0b7f649711e0dc172cba8b2a968ad99/pyzmq-26.2.0-pp38-pypy38_pp73-manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:226af7dcb51fdb0109f0016449b357e182ea0ceb6b47dfb5999d569e5db161d5", size = 756818 }, + { url = "https://files.pythonhosted.org/packages/07/7a/fc77f6d57f592207403eab2deca4c6f1ffa9c78b0f03b59e69069a12a1a1/pyzmq-26.2.0-pp38-pypy38_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:0bed0e799e6120b9c32756203fb9dfe8ca2fb8467fed830c34c877e25638c3fc", size = 565698 }, + { url = "https://files.pythonhosted.org/packages/dc/13/e8494ba2d161fb471955fadbef7f48076bd29b19a4dd3c5d61d22e500505/pyzmq-26.2.0-pp38-pypy38_pp73-win_amd64.whl", hash = "sha256:29c7947c594e105cb9e6c466bace8532dc1ca02d498684128b339799f5248277", size = 550757 }, + { url = "https://files.pythonhosted.org/packages/6c/78/3096d72581365dfb0081ac9512a3b53672fa69854aa174d78636510c4db8/pyzmq-26.2.0-pp39-pypy39_pp73-macosx_10_15_x86_64.whl", hash = "sha256:cdeabcff45d1c219636ee2e54d852262e5c2e085d6cb476d938aee8d921356b3", size = 906945 }, + { url = "https://files.pythonhosted.org/packages/da/f2/8054574d77c269c31d055d4daf3d8407adf61ea384a50c8d14b158551d09/pyzmq-26.2.0-pp39-pypy39_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:35cffef589bcdc587d06f9149f8d5e9e8859920a071df5a2671de2213bef592a", size = 565698 }, + { url = "https://files.pythonhosted.org/packages/77/21/c3ad93236d1d60eea10b67528f55e7db115a9d32e2bf163fcf601f85e9cc/pyzmq-26.2.0-pp39-pypy39_pp73-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:18c8dc3b7468d8b4bdf60ce9d7141897da103c7a4690157b32b60acb45e333e6", size = 794307 }, + { url = "https://files.pythonhosted.org/packages/6a/49/e95b491724500fcb760178ce8db39b923429e328e57bcf9162e32c2c187c/pyzmq-26.2.0-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:7133d0a1677aec369d67dd78520d3fa96dd7f3dcec99d66c1762870e5ea1a50a", size = 752769 }, + { url = "https://files.pythonhosted.org/packages/9b/a9/50c9c06762b30792f71aaad8d1886748d39c4bffedc1171fbc6ad2b92d67/pyzmq-26.2.0-pp39-pypy39_pp73-manylinux_2_28_x86_64.whl", hash = "sha256:6a96179a24b14fa6428cbfc08641c779a53f8fcec43644030328f44034c7f1f4", size = 751338 }, + { url = "https://files.pythonhosted.org/packages/ca/63/27e6142b4f67a442ee480986ca5b88edb01462dd2319843057683a5148bd/pyzmq-26.2.0-pp39-pypy39_pp73-win_amd64.whl", hash = "sha256:4f78c88905461a9203eac9faac157a2a0dbba84a0fd09fd29315db27be40af9f", size = 550757 }, +] + +[[package]] +name = "readme-renderer" +version = "43.0" +source = { registry = "https://pypi.org/simple" } +resolution-markers = [ + "python_full_version < '3.9' and platform_machine == 'arm64' and sys_platform == 'darwin'", + "python_full_version < '3.9' and platform_machine == 'aarch64' and sys_platform == 'linux'", + "(python_full_version < '3.9' and platform_machine != 'arm64' and sys_platform == 'darwin') or (python_full_version < '3.9' and platform_machine != 'aarch64' and sys_platform == 'linux') or (python_full_version < '3.9' and sys_platform != 'darwin' and sys_platform != 'linux')", +] +dependencies = [ + { name = "docutils", version = "0.20.1", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.9'" }, + { name = "nh3", marker = "python_full_version < '3.9'" }, + { name = "pygments", marker = "python_full_version < '3.9'" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/fe/b5/536c775084d239df6345dccf9b043419c7e3308bc31be4c7882196abc62e/readme_renderer-43.0.tar.gz", hash = "sha256:1818dd28140813509eeed8d62687f7cd4f7bad90d4db586001c5dc09d4fde311", size = 31768 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/45/be/3ea20dc38b9db08387cf97997a85a7d51527ea2057d71118feb0aa8afa55/readme_renderer-43.0-py3-none-any.whl", hash = "sha256:19db308d86ecd60e5affa3b2a98f017af384678c63c88e5d4556a380e674f3f9", size = 13301 }, +] + +[[package]] +name = "readme-renderer" +version = "44.0" +source = { registry = "https://pypi.org/simple" } +resolution-markers = [ + "python_full_version >= '3.13' and sys_platform == 'darwin'", + "python_full_version >= '3.13' and platform_machine == 'aarch64' and sys_platform == 'linux'", + "(python_full_version >= '3.13' and platform_machine != 'aarch64' and sys_platform == 'linux') or (python_full_version >= '3.13' and sys_platform != 'darwin' and sys_platform != 'linux')", + "python_full_version == '3.12.*' and sys_platform == 'darwin'", + "python_full_version == '3.12.*' and platform_machine == 'aarch64' and sys_platform == 'linux'", + "(python_full_version == '3.12.*' and platform_machine != 'aarch64' and sys_platform == 'linux') or (python_full_version == '3.12.*' and sys_platform != 'darwin' and sys_platform != 'linux')", + "python_full_version == '3.11.*' and sys_platform == 'darwin'", + "python_full_version == '3.11.*' and platform_machine == 'aarch64' and sys_platform == 'linux'", + "(python_full_version == '3.11.*' and platform_machine != 'aarch64' and sys_platform == 'linux') or (python_full_version == '3.11.*' and sys_platform != 'darwin' and sys_platform != 'linux')", + "python_full_version == '3.10.*' and sys_platform == 'darwin'", + "python_full_version == '3.10.*' and platform_machine == 'aarch64' and sys_platform == 'linux'", + "(python_full_version == '3.10.*' and platform_machine != 'aarch64' and sys_platform == 'linux') or (python_full_version == '3.10.*' and sys_platform != 'darwin' and sys_platform != 'linux')", + "python_full_version == '3.9.*' and platform_machine == 'arm64' and sys_platform == 'darwin'", + "python_full_version == '3.9.*' and platform_machine == 'aarch64' and sys_platform == 'linux'", + "(python_full_version == '3.9.*' and platform_machine != 'arm64' and sys_platform == 'darwin') or (python_full_version == '3.9.*' and platform_machine != 'aarch64' and sys_platform == 'linux') or (python_full_version == '3.9.*' and sys_platform != 'darwin' and sys_platform != 'linux')", +] +dependencies = [ + { name = "docutils", version = "0.21.2", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.9'" }, + { name = "nh3", marker = "python_full_version >= '3.9'" }, + { name = "pygments", marker = "python_full_version >= '3.9'" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/5a/a9/104ec9234c8448c4379768221ea6df01260cd6c2ce13182d4eac531c8342/readme_renderer-44.0.tar.gz", hash = "sha256:8712034eabbfa6805cacf1402b4eeb2a73028f72d1166d6f5cb7f9c047c5d1e1", size = 32056 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/e1/67/921ec3024056483db83953ae8e48079ad62b92db7880013ca77632921dd0/readme_renderer-44.0-py3-none-any.whl", hash = "sha256:2fbca89b81a08526aadf1357a8c2ae889ec05fb03f5da67f9769c9a592166151", size = 13310 }, +] + +[[package]] +name = "referencing" +version = "0.35.1" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "attrs" }, + { name = "rpds-py", version = "0.20.1", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.9'" }, + { name = "rpds-py", version = "0.22.3", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.9'" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/99/5b/73ca1f8e72fff6fa52119dbd185f73a907b1989428917b24cff660129b6d/referencing-0.35.1.tar.gz", hash = "sha256:25b42124a6c8b632a425174f24087783efb348a6f1e0008e63cd4466fedf703c", size = 62991 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/b7/59/2056f61236782a2c86b33906c025d4f4a0b17be0161b63b70fd9e8775d36/referencing-0.35.1-py3-none-any.whl", hash = "sha256:eda6d3234d62814d1c64e305c1331c9a3a6132da475ab6382eaa997b21ee75de", size = 26684 }, +] + +[[package]] +name = "regex" +version = "2024.11.6" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/8e/5f/bd69653fbfb76cf8604468d3b4ec4c403197144c7bfe0e6a5fc9e02a07cb/regex-2024.11.6.tar.gz", hash = "sha256:7ab159b063c52a0333c884e4679f8d7a85112ee3078fe3d9004b2dd875585519", size = 399494 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/95/3c/4651f6b130c6842a8f3df82461a8950f923925db8b6961063e82744bddcc/regex-2024.11.6-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:ff590880083d60acc0433f9c3f713c51f7ac6ebb9adf889c79a261ecf541aa91", size = 482674 }, + { url = "https://files.pythonhosted.org/packages/15/51/9f35d12da8434b489c7b7bffc205c474a0a9432a889457026e9bc06a297a/regex-2024.11.6-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:658f90550f38270639e83ce492f27d2c8d2cd63805c65a13a14d36ca126753f0", size = 287684 }, + { url = "https://files.pythonhosted.org/packages/bd/18/b731f5510d1b8fb63c6b6d3484bfa9a59b84cc578ac8b5172970e05ae07c/regex-2024.11.6-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:164d8b7b3b4bcb2068b97428060b2a53be050085ef94eca7f240e7947f1b080e", size = 284589 }, + { url = "https://files.pythonhosted.org/packages/78/a2/6dd36e16341ab95e4c6073426561b9bfdeb1a9c9b63ab1b579c2e96cb105/regex-2024.11.6-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d3660c82f209655a06b587d55e723f0b813d3a7db2e32e5e7dc64ac2a9e86fde", size = 782511 }, + { url = "https://files.pythonhosted.org/packages/1b/2b/323e72d5d2fd8de0d9baa443e1ed70363ed7e7b2fb526f5950c5cb99c364/regex-2024.11.6-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:d22326fcdef5e08c154280b71163ced384b428343ae16a5ab2b3354aed12436e", size = 821149 }, + { url = "https://files.pythonhosted.org/packages/90/30/63373b9ea468fbef8a907fd273e5c329b8c9535fee36fc8dba5fecac475d/regex-2024.11.6-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:f1ac758ef6aebfc8943560194e9fd0fa18bcb34d89fd8bd2af18183afd8da3a2", size = 809707 }, + { url = "https://files.pythonhosted.org/packages/f2/98/26d3830875b53071f1f0ae6d547f1d98e964dd29ad35cbf94439120bb67a/regex-2024.11.6-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:997d6a487ff00807ba810e0f8332c18b4eb8d29463cfb7c820dc4b6e7562d0cf", size = 781702 }, + { url = "https://files.pythonhosted.org/packages/87/55/eb2a068334274db86208ab9d5599ffa63631b9f0f67ed70ea7c82a69bbc8/regex-2024.11.6-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:02a02d2bb04fec86ad61f3ea7f49c015a0681bf76abb9857f945d26159d2968c", size = 771976 }, + { url = "https://files.pythonhosted.org/packages/74/c0/be707bcfe98254d8f9d2cff55d216e946f4ea48ad2fd8cf1428f8c5332ba/regex-2024.11.6-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:f02f93b92358ee3f78660e43b4b0091229260c5d5c408d17d60bf26b6c900e86", size = 697397 }, + { url = "https://files.pythonhosted.org/packages/49/dc/bb45572ceb49e0f6509f7596e4ba7031f6819ecb26bc7610979af5a77f45/regex-2024.11.6-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:06eb1be98df10e81ebaded73fcd51989dcf534e3c753466e4b60c4697a003b67", size = 768726 }, + { url = "https://files.pythonhosted.org/packages/5a/db/f43fd75dc4c0c2d96d0881967897926942e935d700863666f3c844a72ce6/regex-2024.11.6-cp310-cp310-musllinux_1_2_i686.whl", hash = "sha256:040df6fe1a5504eb0f04f048e6d09cd7c7110fef851d7c567a6b6e09942feb7d", size = 775098 }, + { url = "https://files.pythonhosted.org/packages/99/d7/f94154db29ab5a89d69ff893159b19ada89e76b915c1293e98603d39838c/regex-2024.11.6-cp310-cp310-musllinux_1_2_ppc64le.whl", hash = "sha256:fdabbfc59f2c6edba2a6622c647b716e34e8e3867e0ab975412c5c2f79b82da2", size = 839325 }, + { url = "https://files.pythonhosted.org/packages/f7/17/3cbfab1f23356fbbf07708220ab438a7efa1e0f34195bf857433f79f1788/regex-2024.11.6-cp310-cp310-musllinux_1_2_s390x.whl", hash = "sha256:8447d2d39b5abe381419319f942de20b7ecd60ce86f16a23b0698f22e1b70008", size = 843277 }, + { url = "https://files.pythonhosted.org/packages/7e/f2/48b393b51900456155de3ad001900f94298965e1cad1c772b87f9cfea011/regex-2024.11.6-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:da8f5fc57d1933de22a9e23eec290a0d8a5927a5370d24bda9a6abe50683fe62", size = 773197 }, + { url = "https://files.pythonhosted.org/packages/45/3f/ef9589aba93e084cd3f8471fded352826dcae8489b650d0b9b27bc5bba8a/regex-2024.11.6-cp310-cp310-win32.whl", hash = "sha256:b489578720afb782f6ccf2840920f3a32e31ba28a4b162e13900c3e6bd3f930e", size = 261714 }, + { url = "https://files.pythonhosted.org/packages/42/7e/5f1b92c8468290c465fd50c5318da64319133231415a8aa6ea5ab995a815/regex-2024.11.6-cp310-cp310-win_amd64.whl", hash = "sha256:5071b2093e793357c9d8b2929dfc13ac5f0a6c650559503bb81189d0a3814519", size = 274042 }, + { url = "https://files.pythonhosted.org/packages/58/58/7e4d9493a66c88a7da6d205768119f51af0f684fe7be7bac8328e217a52c/regex-2024.11.6-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:5478c6962ad548b54a591778e93cd7c456a7a29f8eca9c49e4f9a806dcc5d638", size = 482669 }, + { url = "https://files.pythonhosted.org/packages/34/4c/8f8e631fcdc2ff978609eaeef1d6994bf2f028b59d9ac67640ed051f1218/regex-2024.11.6-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:2c89a8cc122b25ce6945f0423dc1352cb9593c68abd19223eebbd4e56612c5b7", size = 287684 }, + { url = "https://files.pythonhosted.org/packages/c5/1b/f0e4d13e6adf866ce9b069e191f303a30ab1277e037037a365c3aad5cc9c/regex-2024.11.6-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:94d87b689cdd831934fa3ce16cc15cd65748e6d689f5d2b8f4f4df2065c9fa20", size = 284589 }, + { url = "https://files.pythonhosted.org/packages/25/4d/ab21047f446693887f25510887e6820b93f791992994f6498b0318904d4a/regex-2024.11.6-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:1062b39a0a2b75a9c694f7a08e7183a80c63c0d62b301418ffd9c35f55aaa114", size = 792121 }, + { url = "https://files.pythonhosted.org/packages/45/ee/c867e15cd894985cb32b731d89576c41a4642a57850c162490ea34b78c3b/regex-2024.11.6-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:167ed4852351d8a750da48712c3930b031f6efdaa0f22fa1933716bfcd6bf4a3", size = 831275 }, + { url = "https://files.pythonhosted.org/packages/b3/12/b0f480726cf1c60f6536fa5e1c95275a77624f3ac8fdccf79e6727499e28/regex-2024.11.6-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:2d548dafee61f06ebdb584080621f3e0c23fff312f0de1afc776e2a2ba99a74f", size = 818257 }, + { url = "https://files.pythonhosted.org/packages/bf/ce/0d0e61429f603bac433910d99ef1a02ce45a8967ffbe3cbee48599e62d88/regex-2024.11.6-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f2a19f302cd1ce5dd01a9099aaa19cae6173306d1302a43b627f62e21cf18ac0", size = 792727 }, + { url = "https://files.pythonhosted.org/packages/e4/c1/243c83c53d4a419c1556f43777ccb552bccdf79d08fda3980e4e77dd9137/regex-2024.11.6-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:bec9931dfb61ddd8ef2ebc05646293812cb6b16b60cf7c9511a832b6f1854b55", size = 780667 }, + { url = "https://files.pythonhosted.org/packages/c5/f4/75eb0dd4ce4b37f04928987f1d22547ddaf6c4bae697623c1b05da67a8aa/regex-2024.11.6-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:9714398225f299aa85267fd222f7142fcb5c769e73d7733344efc46f2ef5cf89", size = 776963 }, + { url = "https://files.pythonhosted.org/packages/16/5d/95c568574e630e141a69ff8a254c2f188b4398e813c40d49228c9bbd9875/regex-2024.11.6-cp311-cp311-musllinux_1_2_i686.whl", hash = "sha256:202eb32e89f60fc147a41e55cb086db2a3f8cb82f9a9a88440dcfc5d37faae8d", size = 784700 }, + { url = "https://files.pythonhosted.org/packages/8e/b5/f8495c7917f15cc6fee1e7f395e324ec3e00ab3c665a7dc9d27562fd5290/regex-2024.11.6-cp311-cp311-musllinux_1_2_ppc64le.whl", hash = "sha256:4181b814e56078e9b00427ca358ec44333765f5ca1b45597ec7446d3a1ef6e34", size = 848592 }, + { url = "https://files.pythonhosted.org/packages/1c/80/6dd7118e8cb212c3c60b191b932dc57db93fb2e36fb9e0e92f72a5909af9/regex-2024.11.6-cp311-cp311-musllinux_1_2_s390x.whl", hash = "sha256:068376da5a7e4da51968ce4c122a7cd31afaaec4fccc7856c92f63876e57b51d", size = 852929 }, + { url = "https://files.pythonhosted.org/packages/11/9b/5a05d2040297d2d254baf95eeeb6df83554e5e1df03bc1a6687fc4ba1f66/regex-2024.11.6-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:ac10f2c4184420d881a3475fb2c6f4d95d53a8d50209a2500723d831036f7c45", size = 781213 }, + { url = "https://files.pythonhosted.org/packages/26/b7/b14e2440156ab39e0177506c08c18accaf2b8932e39fb092074de733d868/regex-2024.11.6-cp311-cp311-win32.whl", hash = "sha256:c36f9b6f5f8649bb251a5f3f66564438977b7ef8386a52460ae77e6070d309d9", size = 261734 }, + { url = "https://files.pythonhosted.org/packages/80/32/763a6cc01d21fb3819227a1cc3f60fd251c13c37c27a73b8ff4315433a8e/regex-2024.11.6-cp311-cp311-win_amd64.whl", hash = "sha256:02e28184be537f0e75c1f9b2f8847dc51e08e6e171c6bde130b2687e0c33cf60", size = 274052 }, + { url = "https://files.pythonhosted.org/packages/ba/30/9a87ce8336b172cc232a0db89a3af97929d06c11ceaa19d97d84fa90a8f8/regex-2024.11.6-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:52fb28f528778f184f870b7cf8f225f5eef0a8f6e3778529bdd40c7b3920796a", size = 483781 }, + { url = "https://files.pythonhosted.org/packages/01/e8/00008ad4ff4be8b1844786ba6636035f7ef926db5686e4c0f98093612add/regex-2024.11.6-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:fdd6028445d2460f33136c55eeb1f601ab06d74cb3347132e1c24250187500d9", size = 288455 }, + { url = "https://files.pythonhosted.org/packages/60/85/cebcc0aff603ea0a201667b203f13ba75d9fc8668fab917ac5b2de3967bc/regex-2024.11.6-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:805e6b60c54bf766b251e94526ebad60b7de0c70f70a4e6210ee2891acb70bf2", size = 284759 }, + { url = "https://files.pythonhosted.org/packages/94/2b/701a4b0585cb05472a4da28ee28fdfe155f3638f5e1ec92306d924e5faf0/regex-2024.11.6-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:b85c2530be953a890eaffde05485238f07029600e8f098cdf1848d414a8b45e4", size = 794976 }, + { url = "https://files.pythonhosted.org/packages/4b/bf/fa87e563bf5fee75db8915f7352e1887b1249126a1be4813837f5dbec965/regex-2024.11.6-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:bb26437975da7dc36b7efad18aa9dd4ea569d2357ae6b783bf1118dabd9ea577", size = 833077 }, + { url = "https://files.pythonhosted.org/packages/a1/56/7295e6bad94b047f4d0834e4779491b81216583c00c288252ef625c01d23/regex-2024.11.6-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:abfa5080c374a76a251ba60683242bc17eeb2c9818d0d30117b4486be10c59d3", size = 823160 }, + { url = "https://files.pythonhosted.org/packages/fb/13/e3b075031a738c9598c51cfbc4c7879e26729c53aa9cca59211c44235314/regex-2024.11.6-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:70b7fa6606c2881c1db9479b0eaa11ed5dfa11c8d60a474ff0e095099f39d98e", size = 796896 }, + { url = "https://files.pythonhosted.org/packages/24/56/0b3f1b66d592be6efec23a795b37732682520b47c53da5a32c33ed7d84e3/regex-2024.11.6-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:0c32f75920cf99fe6b6c539c399a4a128452eaf1af27f39bce8909c9a3fd8cbe", size = 783997 }, + { url = "https://files.pythonhosted.org/packages/f9/a1/eb378dada8b91c0e4c5f08ffb56f25fcae47bf52ad18f9b2f33b83e6d498/regex-2024.11.6-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:982e6d21414e78e1f51cf595d7f321dcd14de1f2881c5dc6a6e23bbbbd68435e", size = 781725 }, + { url = "https://files.pythonhosted.org/packages/83/f2/033e7dec0cfd6dda93390089864732a3409246ffe8b042e9554afa9bff4e/regex-2024.11.6-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:a7c2155f790e2fb448faed6dd241386719802296ec588a8b9051c1f5c481bc29", size = 789481 }, + { url = "https://files.pythonhosted.org/packages/83/23/15d4552ea28990a74e7696780c438aadd73a20318c47e527b47a4a5a596d/regex-2024.11.6-cp312-cp312-musllinux_1_2_ppc64le.whl", hash = "sha256:149f5008d286636e48cd0b1dd65018548944e495b0265b45e1bffecce1ef7f39", size = 852896 }, + { url = "https://files.pythonhosted.org/packages/e3/39/ed4416bc90deedbfdada2568b2cb0bc1fdb98efe11f5378d9892b2a88f8f/regex-2024.11.6-cp312-cp312-musllinux_1_2_s390x.whl", hash = "sha256:e5364a4502efca094731680e80009632ad6624084aff9a23ce8c8c6820de3e51", size = 860138 }, + { url = "https://files.pythonhosted.org/packages/93/2d/dd56bb76bd8e95bbce684326302f287455b56242a4f9c61f1bc76e28360e/regex-2024.11.6-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:0a86e7eeca091c09e021db8eb72d54751e527fa47b8d5787caf96d9831bd02ad", size = 787692 }, + { url = "https://files.pythonhosted.org/packages/0b/55/31877a249ab7a5156758246b9c59539abbeba22461b7d8adc9e8475ff73e/regex-2024.11.6-cp312-cp312-win32.whl", hash = "sha256:32f9a4c643baad4efa81d549c2aadefaeba12249b2adc5af541759237eee1c54", size = 262135 }, + { url = "https://files.pythonhosted.org/packages/38/ec/ad2d7de49a600cdb8dd78434a1aeffe28b9d6fc42eb36afab4a27ad23384/regex-2024.11.6-cp312-cp312-win_amd64.whl", hash = "sha256:a93c194e2df18f7d264092dc8539b8ffb86b45b899ab976aa15d48214138e81b", size = 273567 }, + { url = "https://files.pythonhosted.org/packages/90/73/bcb0e36614601016552fa9344544a3a2ae1809dc1401b100eab02e772e1f/regex-2024.11.6-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:a6ba92c0bcdf96cbf43a12c717eae4bc98325ca3730f6b130ffa2e3c3c723d84", size = 483525 }, + { url = "https://files.pythonhosted.org/packages/0f/3f/f1a082a46b31e25291d830b369b6b0c5576a6f7fb89d3053a354c24b8a83/regex-2024.11.6-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:525eab0b789891ac3be914d36893bdf972d483fe66551f79d3e27146191a37d4", size = 288324 }, + { url = "https://files.pythonhosted.org/packages/09/c9/4e68181a4a652fb3ef5099e077faf4fd2a694ea6e0f806a7737aff9e758a/regex-2024.11.6-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:086a27a0b4ca227941700e0b31425e7a28ef1ae8e5e05a33826e17e47fbfdba0", size = 284617 }, + { url = "https://files.pythonhosted.org/packages/fc/fd/37868b75eaf63843165f1d2122ca6cb94bfc0271e4428cf58c0616786dce/regex-2024.11.6-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:bde01f35767c4a7899b7eb6e823b125a64de314a8ee9791367c9a34d56af18d0", size = 795023 }, + { url = "https://files.pythonhosted.org/packages/c4/7c/d4cd9c528502a3dedb5c13c146e7a7a539a3853dc20209c8e75d9ba9d1b2/regex-2024.11.6-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:b583904576650166b3d920d2bcce13971f6f9e9a396c673187f49811b2769dc7", size = 833072 }, + { url = "https://files.pythonhosted.org/packages/4f/db/46f563a08f969159c5a0f0e722260568425363bea43bb7ae370becb66a67/regex-2024.11.6-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:1c4de13f06a0d54fa0d5ab1b7138bfa0d883220965a29616e3ea61b35d5f5fc7", size = 823130 }, + { url = "https://files.pythonhosted.org/packages/db/60/1eeca2074f5b87df394fccaa432ae3fc06c9c9bfa97c5051aed70e6e00c2/regex-2024.11.6-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:3cde6e9f2580eb1665965ce9bf17ff4952f34f5b126beb509fee8f4e994f143c", size = 796857 }, + { url = "https://files.pythonhosted.org/packages/10/db/ac718a08fcee981554d2f7bb8402f1faa7e868c1345c16ab1ebec54b0d7b/regex-2024.11.6-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:0d7f453dca13f40a02b79636a339c5b62b670141e63efd511d3f8f73fba162b3", size = 784006 }, + { url = "https://files.pythonhosted.org/packages/c2/41/7da3fe70216cea93144bf12da2b87367590bcf07db97604edeea55dac9ad/regex-2024.11.6-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:59dfe1ed21aea057a65c6b586afd2a945de04fc7db3de0a6e3ed5397ad491b07", size = 781650 }, + { url = "https://files.pythonhosted.org/packages/a7/d5/880921ee4eec393a4752e6ab9f0fe28009435417c3102fc413f3fe81c4e5/regex-2024.11.6-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:b97c1e0bd37c5cd7902e65f410779d39eeda155800b65fc4d04cc432efa9bc6e", size = 789545 }, + { url = "https://files.pythonhosted.org/packages/dc/96/53770115e507081122beca8899ab7f5ae28ae790bfcc82b5e38976df6a77/regex-2024.11.6-cp313-cp313-musllinux_1_2_ppc64le.whl", hash = "sha256:f9d1e379028e0fc2ae3654bac3cbbef81bf3fd571272a42d56c24007979bafb6", size = 853045 }, + { url = "https://files.pythonhosted.org/packages/31/d3/1372add5251cc2d44b451bd94f43b2ec78e15a6e82bff6a290ef9fd8f00a/regex-2024.11.6-cp313-cp313-musllinux_1_2_s390x.whl", hash = "sha256:13291b39131e2d002a7940fb176e120bec5145f3aeb7621be6534e46251912c4", size = 860182 }, + { url = "https://files.pythonhosted.org/packages/ed/e3/c446a64984ea9f69982ba1a69d4658d5014bc7a0ea468a07e1a1265db6e2/regex-2024.11.6-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:4f51f88c126370dcec4908576c5a627220da6c09d0bff31cfa89f2523843316d", size = 787733 }, + { url = "https://files.pythonhosted.org/packages/2b/f1/e40c8373e3480e4f29f2692bd21b3e05f296d3afebc7e5dcf21b9756ca1c/regex-2024.11.6-cp313-cp313-win32.whl", hash = "sha256:63b13cfd72e9601125027202cad74995ab26921d8cd935c25f09c630436348ff", size = 262122 }, + { url = "https://files.pythonhosted.org/packages/45/94/bc295babb3062a731f52621cdc992d123111282e291abaf23faa413443ea/regex-2024.11.6-cp313-cp313-win_amd64.whl", hash = "sha256:2b3361af3198667e99927da8b84c1b010752fa4b1115ee30beaa332cabc3ef1a", size = 273545 }, + { url = "https://files.pythonhosted.org/packages/44/0f/207b37e6e08d548fac0aa00bf0b7464126315d58ab5161216b8cb3abb2aa/regex-2024.11.6-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:3a51ccc315653ba012774efca4f23d1d2a8a8f278a6072e29c7147eee7da446b", size = 482777 }, + { url = "https://files.pythonhosted.org/packages/5a/5a/586bafa294c5d2451265d3685815606c61e620f469cac3b946fff0a4aa48/regex-2024.11.6-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:ad182d02e40de7459b73155deb8996bbd8e96852267879396fb274e8700190e3", size = 287751 }, + { url = "https://files.pythonhosted.org/packages/08/92/9df786fad8a4e0766bfc9a2e334c5f0757356070c9639b2ec776b8cdef3d/regex-2024.11.6-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:ba9b72e5643641b7d41fa1f6d5abda2c9a263ae835b917348fc3c928182ad467", size = 284552 }, + { url = "https://files.pythonhosted.org/packages/0a/27/0b3cf7d9fbe43301aa3473d54406019a7380abe4e3c9ae250bac13c4fdb3/regex-2024.11.6-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:40291b1b89ca6ad8d3f2b82782cc33807f1406cf68c8d440861da6304d8ffbbd", size = 783587 }, + { url = "https://files.pythonhosted.org/packages/89/38/499b32cbb61163af60a5c5ff26aacea7836fe7e3d821e76af216e996088c/regex-2024.11.6-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:cdf58d0e516ee426a48f7b2c03a332a4114420716d55769ff7108c37a09951bf", size = 822904 }, + { url = "https://files.pythonhosted.org/packages/3f/a4/e3b11c643e5ae1059a08aeef971973f0c803d2a9ae2e7a86f97c68146a6c/regex-2024.11.6-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:a36fdf2af13c2b14738f6e973aba563623cb77d753bbbd8d414d18bfaa3105dd", size = 809900 }, + { url = "https://files.pythonhosted.org/packages/5a/c8/dc7153ceb5bcc344f5c4f0291ea45925a5f00009afa3849e91561ac2e847/regex-2024.11.6-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:d1cee317bfc014c2419a76bcc87f071405e3966da434e03e13beb45f8aced1a6", size = 785105 }, + { url = "https://files.pythonhosted.org/packages/2a/29/841489ea52013062b22625fbaf49b0916aeb62bae2e56425ac30f9dead46/regex-2024.11.6-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:50153825ee016b91549962f970d6a4442fa106832e14c918acd1c8e479916c4f", size = 773033 }, + { url = "https://files.pythonhosted.org/packages/3e/4e/4a0da5e87f7c2dc73a8505785d5af2b1a19c66f4645b93caa50b7eb08242/regex-2024.11.6-cp38-cp38-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:ea1bfda2f7162605f6e8178223576856b3d791109f15ea99a9f95c16a7636fb5", size = 702374 }, + { url = "https://files.pythonhosted.org/packages/94/6e/444e66346600d11e8a0f4bb31611973cffa772d5033ba1cf1f15de8a0d52/regex-2024.11.6-cp38-cp38-musllinux_1_2_aarch64.whl", hash = "sha256:df951c5f4a1b1910f1a99ff42c473ff60f8225baa1cdd3539fe2819d9543e9df", size = 769990 }, + { url = "https://files.pythonhosted.org/packages/da/28/95c3ed6cd51b27f54e59940400e2a3ddd3f8bbbc3aaf947e57a67104ecbd/regex-2024.11.6-cp38-cp38-musllinux_1_2_i686.whl", hash = "sha256:072623554418a9911446278f16ecb398fb3b540147a7828c06e2011fa531e773", size = 775345 }, + { url = "https://files.pythonhosted.org/packages/07/5d/0cd19cf44d96a7aa31526611c24235d21d27c23b65201cb2c5cac508dd42/regex-2024.11.6-cp38-cp38-musllinux_1_2_ppc64le.whl", hash = "sha256:f654882311409afb1d780b940234208a252322c24a93b442ca714d119e68086c", size = 840379 }, + { url = "https://files.pythonhosted.org/packages/2a/13/ec3f8d85b789ee1c6ffbdfd4092fd901416716317ee17bf51aa2890bac96/regex-2024.11.6-cp38-cp38-musllinux_1_2_s390x.whl", hash = "sha256:89d75e7293d2b3e674db7d4d9b1bee7f8f3d1609428e293771d1a962617150cc", size = 845842 }, + { url = "https://files.pythonhosted.org/packages/50/cb/7170247e65afea2bf9204bcb2682f292b0a3a57d112478da199b84d59792/regex-2024.11.6-cp38-cp38-musllinux_1_2_x86_64.whl", hash = "sha256:f65557897fc977a44ab205ea871b690adaef6b9da6afda4790a2484b04293a5f", size = 775026 }, + { url = "https://files.pythonhosted.org/packages/cc/06/c817c9201f09b7d9dd033039ba90d8197c91e9fe2984141f2d1de270c159/regex-2024.11.6-cp38-cp38-win32.whl", hash = "sha256:6f44ec28b1f858c98d3036ad5d7d0bfc568bdd7a74f9c24e25f41ef1ebfd81a4", size = 261738 }, + { url = "https://files.pythonhosted.org/packages/cf/69/c39e16320400842eb4358c982ef5fc680800866f35ebfd4dd38a22967ce0/regex-2024.11.6-cp38-cp38-win_amd64.whl", hash = "sha256:bb8f74f2f10dbf13a0be8de623ba4f9491faf58c24064f32b65679b021ed0001", size = 274094 }, + { url = "https://files.pythonhosted.org/packages/89/23/c4a86df398e57e26f93b13ae63acce58771e04bdde86092502496fa57f9c/regex-2024.11.6-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:5704e174f8ccab2026bd2f1ab6c510345ae8eac818b613d7d73e785f1310f839", size = 482682 }, + { url = "https://files.pythonhosted.org/packages/3c/8b/45c24ab7a51a1658441b961b86209c43e6bb9d39caf1e63f46ce6ea03bc7/regex-2024.11.6-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:220902c3c5cc6af55d4fe19ead504de80eb91f786dc102fbd74894b1551f095e", size = 287679 }, + { url = "https://files.pythonhosted.org/packages/7a/d1/598de10b17fdafc452d11f7dada11c3be4e379a8671393e4e3da3c4070df/regex-2024.11.6-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:5e7e351589da0850c125f1600a4c4ba3c722efefe16b297de54300f08d734fbf", size = 284578 }, + { url = "https://files.pythonhosted.org/packages/49/70/c7eaa219efa67a215846766fde18d92d54cb590b6a04ffe43cef30057622/regex-2024.11.6-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:5056b185ca113c88e18223183aa1a50e66507769c9640a6ff75859619d73957b", size = 782012 }, + { url = "https://files.pythonhosted.org/packages/89/e5/ef52c7eb117dd20ff1697968219971d052138965a4d3d9b95e92e549f505/regex-2024.11.6-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:2e34b51b650b23ed3354b5a07aab37034d9f923db2a40519139af34f485f77d0", size = 820580 }, + { url = "https://files.pythonhosted.org/packages/5f/3f/9f5da81aff1d4167ac52711acf789df13e789fe6ac9545552e49138e3282/regex-2024.11.6-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:5670bce7b200273eee1840ef307bfa07cda90b38ae56e9a6ebcc9f50da9c469b", size = 809110 }, + { url = "https://files.pythonhosted.org/packages/86/44/2101cc0890c3621b90365c9ee8d7291a597c0722ad66eccd6ffa7f1bcc09/regex-2024.11.6-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:08986dce1339bc932923e7d1232ce9881499a0e02925f7402fb7c982515419ef", size = 780919 }, + { url = "https://files.pythonhosted.org/packages/ce/2e/3e0668d8d1c7c3c0d397bf54d92fc182575b3a26939aed5000d3cc78760f/regex-2024.11.6-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:93c0b12d3d3bc25af4ebbf38f9ee780a487e8bf6954c115b9f015822d3bb8e48", size = 771515 }, + { url = "https://files.pythonhosted.org/packages/a6/49/1bc4584254355e3dba930a3a2fd7ad26ccba3ebbab7d9100db0aff2eedb0/regex-2024.11.6-cp39-cp39-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:764e71f22ab3b305e7f4c21f1a97e1526a25ebdd22513e251cf376760213da13", size = 696957 }, + { url = "https://files.pythonhosted.org/packages/c8/dd/42879c1fc8a37a887cd08e358af3d3ba9e23038cd77c7fe044a86d9450ba/regex-2024.11.6-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:f056bf21105c2515c32372bbc057f43eb02aae2fda61052e2f7622c801f0b4e2", size = 768088 }, + { url = "https://files.pythonhosted.org/packages/89/96/c05a0fe173cd2acd29d5e13c1adad8b706bcaa71b169e1ee57dcf2e74584/regex-2024.11.6-cp39-cp39-musllinux_1_2_i686.whl", hash = "sha256:69ab78f848845569401469da20df3e081e6b5a11cb086de3eed1d48f5ed57c95", size = 774752 }, + { url = "https://files.pythonhosted.org/packages/b5/f3/a757748066255f97f14506483436c5f6aded7af9e37bca04ec30c90ca683/regex-2024.11.6-cp39-cp39-musllinux_1_2_ppc64le.whl", hash = "sha256:86fddba590aad9208e2fa8b43b4c098bb0ec74f15718bb6a704e3c63e2cef3e9", size = 838862 }, + { url = "https://files.pythonhosted.org/packages/5c/93/c6d2092fd479dcaeea40fc8fa673822829181ded77d294a7f950f1dda6e2/regex-2024.11.6-cp39-cp39-musllinux_1_2_s390x.whl", hash = "sha256:684d7a212682996d21ca12ef3c17353c021fe9de6049e19ac8481ec35574a70f", size = 842622 }, + { url = "https://files.pythonhosted.org/packages/ff/9c/daa99532c72f25051a90ef90e1413a8d54413a9e64614d9095b0c1c154d0/regex-2024.11.6-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:a03e02f48cd1abbd9f3b7e3586d97c8f7a9721c436f51a5245b3b9483044480b", size = 772713 }, + { url = "https://files.pythonhosted.org/packages/13/5d/61a533ccb8c231b474ac8e3a7d70155b00dfc61af6cafdccd1947df6d735/regex-2024.11.6-cp39-cp39-win32.whl", hash = "sha256:41758407fc32d5c3c5de163888068cfee69cb4c2be844e7ac517a52770f9af57", size = 261756 }, + { url = "https://files.pythonhosted.org/packages/dc/7b/e59b7f7c91ae110d154370c24133f947262525b5d6406df65f23422acc17/regex-2024.11.6-cp39-cp39-win_amd64.whl", hash = "sha256:b2837718570f95dd41675328e111345f9b7095d821bac435aac173ac80b19983", size = 274110 }, +] + +[[package]] +name = "requests" +version = "2.32.3" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "certifi" }, + { name = "charset-normalizer" }, + { name = "idna" }, + { name = "urllib3", version = "2.2.3", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.9'" }, + { name = "urllib3", version = "2.3.0", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.9'" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/63/70/2bf7780ad2d390a8d301ad0b550f1581eadbd9a20f896afe06353c2a2913/requests-2.32.3.tar.gz", hash = "sha256:55365417734eb18255590a9ff9eb97e9e1da868d4ccd6402399eaf68af20a760", size = 131218 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/f9/9b/335f9764261e915ed497fcdeb11df5dfd6f7bf257d4a6a2a686d80da4d54/requests-2.32.3-py3-none-any.whl", hash = "sha256:70761cfe03c773ceb22aa2f671b4757976145175cdfca038c02654d061d6dcc6", size = 64928 }, +] + +[[package]] +name = "requests-toolbelt" +version = "1.0.0" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "requests" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/f3/61/d7545dafb7ac2230c70d38d31cbfe4cc64f7144dc41f6e4e4b78ecd9f5bb/requests-toolbelt-1.0.0.tar.gz", hash = "sha256:7681a0a3d047012b5bdc0ee37d7f8f07ebe76ab08caeccfc3921ce23c88d5bc6", size = 206888 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/3f/51/d4db610ef29373b879047326cbf6fa98b6c1969d6f6dc423279de2b1be2c/requests_toolbelt-1.0.0-py2.py3-none-any.whl", hash = "sha256:cccfdd665f0a24fcf4726e690f65639d272bb0637b9b92dfd91a5568ccf6bd06", size = 54481 }, +] + +[[package]] +name = "rfc3339-validator" +version = "0.1.4" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "six" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/28/ea/a9387748e2d111c3c2b275ba970b735e04e15cdb1eb30693b6b5708c4dbd/rfc3339_validator-0.1.4.tar.gz", hash = "sha256:138a2abdf93304ad60530167e51d2dfb9549521a836871b88d7f4695d0022f6b", size = 5513 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/7b/44/4e421b96b67b2daff264473f7465db72fbdf36a07e05494f50300cc7b0c6/rfc3339_validator-0.1.4-py2.py3-none-any.whl", hash = "sha256:24f6ec1eda14ef823da9e36ec7113124b39c04d50a4d3d3a3c2859577e7791fa", size = 3490 }, +] + +[[package]] +name = "rfc3986" +version = "2.0.0" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/85/40/1520d68bfa07ab5a6f065a186815fb6610c86fe957bc065754e47f7b0840/rfc3986-2.0.0.tar.gz", hash = "sha256:97aacf9dbd4bfd829baad6e6309fa6573aaf1be3f6fa735c8ab05e46cecb261c", size = 49026 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/ff/9a/9afaade874b2fa6c752c36f1548f718b5b83af81ed9b76628329dab81c1b/rfc3986-2.0.0-py2.py3-none-any.whl", hash = "sha256:50b1502b60e289cb37883f3dfd34532b8873c7de9f49bb546641ce9cbd256ebd", size = 31326 }, +] + +[[package]] +name = "rfc3986-validator" +version = "0.1.1" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/da/88/f270de456dd7d11dcc808abfa291ecdd3f45ff44e3b549ffa01b126464d0/rfc3986_validator-0.1.1.tar.gz", hash = "sha256:3d44bde7921b3b9ec3ae4e3adca370438eccebc676456449b145d533b240d055", size = 6760 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/9e/51/17023c0f8f1869d8806b979a2bffa3f861f26a3f1a66b094288323fba52f/rfc3986_validator-0.1.1-py2.py3-none-any.whl", hash = "sha256:2f235c432ef459970b4306369336b9d5dbdda31b510ca1e327636e01f528bfa9", size = 4242 }, +] + +[[package]] +name = "rich" +version = "13.9.4" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "markdown-it-py" }, + { name = "pygments" }, + { name = "typing-extensions", marker = "python_full_version < '3.11'" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/ab/3a/0316b28d0761c6734d6bc14e770d85506c986c85ffb239e688eeaab2c2bc/rich-13.9.4.tar.gz", hash = "sha256:439594978a49a09530cff7ebc4b5c7103ef57baf48d5ea3184f21d9a2befa098", size = 223149 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/19/71/39c7c0d87f8d4e6c020a393182060eaefeeae6c01dab6a84ec346f2567df/rich-13.9.4-py3-none-any.whl", hash = "sha256:6049d5e6ec054bf2779ab3358186963bac2ea89175919d699e378b99738c2a90", size = 242424 }, +] + +[[package]] +name = "rpds-py" +version = "0.20.1" +source = { registry = "https://pypi.org/simple" } +resolution-markers = [ + "python_full_version < '3.9' and platform_machine == 'arm64' and sys_platform == 'darwin'", + "python_full_version < '3.9' and platform_machine == 'aarch64' and sys_platform == 'linux'", + "(python_full_version < '3.9' and platform_machine != 'arm64' and sys_platform == 'darwin') or (python_full_version < '3.9' and platform_machine != 'aarch64' and sys_platform == 'linux') or (python_full_version < '3.9' and sys_platform != 'darwin' and sys_platform != 'linux')", +] +sdist = { url = "https://files.pythonhosted.org/packages/25/cb/8e919951f55d109d658f81c9b49d0cc3b48637c50792c5d2e77032b8c5da/rpds_py-0.20.1.tar.gz", hash = "sha256:e1791c4aabd117653530dccd24108fa03cc6baf21f58b950d0a73c3b3b29a350", size = 25931 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/ae/0e/d7e7e9280988a7bc56fd326042baca27f4f55fad27dc8aa64e5e0e894e5d/rpds_py-0.20.1-cp310-cp310-macosx_10_12_x86_64.whl", hash = "sha256:a649dfd735fff086e8a9d0503a9f0c7d01b7912a333c7ae77e1515c08c146dad", size = 327335 }, + { url = "https://files.pythonhosted.org/packages/4c/72/027185f213d53ae66765c575229829b202fbacf3d55fe2bd9ff4e29bb157/rpds_py-0.20.1-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:f16bc1334853e91ddaaa1217045dd7be166170beec337576818461268a3de67f", size = 318250 }, + { url = "https://files.pythonhosted.org/packages/2b/e7/b4eb3e6ff541c83d3b46f45f855547e412ab60c45bef64520fafb00b9b42/rpds_py-0.20.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:14511a539afee6f9ab492b543060c7491c99924314977a55c98bfa2ee29ce78c", size = 361206 }, + { url = "https://files.pythonhosted.org/packages/e7/80/cb9a4b4cad31bcaa37f38dae7a8be861f767eb2ca4f07a146b5ffcfbee09/rpds_py-0.20.1-cp310-cp310-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:3ccb8ac2d3c71cda472b75af42818981bdacf48d2e21c36331b50b4f16930163", size = 369921 }, + { url = "https://files.pythonhosted.org/packages/95/1b/463b11e7039e18f9e778568dbf7338c29bbc1f8996381115201c668eb8c8/rpds_py-0.20.1-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:c142b88039b92e7e0cb2552e8967077e3179b22359e945574f5e2764c3953dcf", size = 403673 }, + { url = "https://files.pythonhosted.org/packages/86/98/1ef4028e9d5b76470bf7f8f2459be07ac5c9621270a2a5e093f8d8a8cc2c/rpds_py-0.20.1-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:f19169781dddae7478a32301b499b2858bc52fc45a112955e798ee307e294977", size = 430267 }, + { url = "https://files.pythonhosted.org/packages/25/8e/41d7e3e6d3a4a6c94375020477705a3fbb6515717901ab8f94821cf0a0d9/rpds_py-0.20.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:13c56de6518e14b9bf6edde23c4c39dac5b48dcf04160ea7bce8fca8397cdf86", size = 360569 }, + { url = "https://files.pythonhosted.org/packages/4f/6a/8839340464d4e1bbfaf0482e9d9165a2309c2c17427e4dcb72ce3e5cc5d6/rpds_py-0.20.1-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:925d176a549f4832c6f69fa6026071294ab5910e82a0fe6c6228fce17b0706bd", size = 382584 }, + { url = "https://files.pythonhosted.org/packages/64/96/7a7f938d3796a6a3ec08ed0e8a5ecd436fbd516a3684ab1fa22d46d6f6cc/rpds_py-0.20.1-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:78f0b6877bfce7a3d1ff150391354a410c55d3cdce386f862926a4958ad5ab7e", size = 546560 }, + { url = "https://files.pythonhosted.org/packages/15/c7/19fb4f1247a3c90a99eca62909bf76ee988f9b663e47878a673d9854ec5c/rpds_py-0.20.1-cp310-cp310-musllinux_1_2_i686.whl", hash = "sha256:3dd645e2b0dcb0fd05bf58e2e54c13875847687d0b71941ad2e757e5d89d4356", size = 549359 }, + { url = "https://files.pythonhosted.org/packages/d2/4c/445eb597a39a883368ea2f341dd6e48a9d9681b12ebf32f38a827b30529b/rpds_py-0.20.1-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:4f676e21db2f8c72ff0936f895271e7a700aa1f8d31b40e4e43442ba94973899", size = 527567 }, + { url = "https://files.pythonhosted.org/packages/4f/71/4c44643bffbcb37311fc7fe221bcf139c8d660bc78f746dd3a05741372c8/rpds_py-0.20.1-cp310-none-win32.whl", hash = "sha256:648386ddd1e19b4a6abab69139b002bc49ebf065b596119f8f37c38e9ecee8ff", size = 200412 }, + { url = "https://files.pythonhosted.org/packages/f4/33/9d0529d74099e090ec9ab15eb0a049c56cca599eaaca71bfedbdbca656a9/rpds_py-0.20.1-cp310-none-win_amd64.whl", hash = "sha256:d9ecb51120de61e4604650666d1f2b68444d46ae18fd492245a08f53ad2b7711", size = 218563 }, + { url = "https://files.pythonhosted.org/packages/a0/2e/a6ded84019a05b8f23e0fe6a632f62ae438a8c5e5932d3dfc90c73418414/rpds_py-0.20.1-cp311-cp311-macosx_10_12_x86_64.whl", hash = "sha256:762703bdd2b30983c1d9e62b4c88664df4a8a4d5ec0e9253b0231171f18f6d75", size = 327194 }, + { url = "https://files.pythonhosted.org/packages/68/11/d3f84c69de2b2086be3d6bd5e9d172825c096b13842ab7e5f8f39f06035b/rpds_py-0.20.1-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:0b581f47257a9fce535c4567782a8976002d6b8afa2c39ff616edf87cbeff712", size = 318126 }, + { url = "https://files.pythonhosted.org/packages/18/c0/13f1bce9c901511e5e4c0b77a99dbb946bb9a177ca88c6b480e9cb53e304/rpds_py-0.20.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:842c19a6ce894493563c3bd00d81d5100e8e57d70209e84d5491940fdb8b9e3a", size = 361119 }, + { url = "https://files.pythonhosted.org/packages/06/31/3bd721575671f22a37476c2d7b9e34bfa5185bdcee09f7fedde3b29f3adb/rpds_py-0.20.1-cp311-cp311-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:42cbde7789f5c0bcd6816cb29808e36c01b960fb5d29f11e052215aa85497c93", size = 369532 }, + { url = "https://files.pythonhosted.org/packages/20/22/3eeb0385f33251b4fd0f728e6a3801dc8acc05e714eb7867cefe635bf4ab/rpds_py-0.20.1-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:6c8e9340ce5a52f95fa7d3b552b35c7e8f3874d74a03a8a69279fd5fca5dc751", size = 403703 }, + { url = "https://files.pythonhosted.org/packages/10/e1/8dde6174e7ac5b9acd3269afca2e17719bc7e5088c68f44874d2ad9e4560/rpds_py-0.20.1-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:8ba6f89cac95c0900d932c9efb7f0fb6ca47f6687feec41abcb1bd5e2bd45535", size = 429868 }, + { url = "https://files.pythonhosted.org/packages/19/51/a3cc1a5238acfc2582033e8934d034301f9d4931b9bf7c7ccfabc4ca0880/rpds_py-0.20.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:4a916087371afd9648e1962e67403c53f9c49ca47b9680adbeef79da3a7811b0", size = 360539 }, + { url = "https://files.pythonhosted.org/packages/cd/8c/3c87471a44bd4114e2b0aec90f298f6caaac4e8db6af904d5dd2279f5c61/rpds_py-0.20.1-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:200a23239781f46149e6a415f1e870c5ef1e712939fe8fa63035cd053ac2638e", size = 382467 }, + { url = "https://files.pythonhosted.org/packages/d0/9b/95073fe3e0f130e6d561e106818b6568ef1f2df3352e7f162ab912da837c/rpds_py-0.20.1-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:58b1d5dd591973d426cbb2da5e27ba0339209832b2f3315928c9790e13f159e8", size = 546669 }, + { url = "https://files.pythonhosted.org/packages/de/4c/7ab3669e02bb06fedebcfd64d361b7168ba39dfdf385e4109440f2e7927b/rpds_py-0.20.1-cp311-cp311-musllinux_1_2_i686.whl", hash = "sha256:6b73c67850ca7cae0f6c56f71e356d7e9fa25958d3e18a64927c2d930859b8e4", size = 549304 }, + { url = "https://files.pythonhosted.org/packages/f1/e8/ad5da336cd42adbdafe0ecd40dcecdae01fd3d703c621c7637615a008d3a/rpds_py-0.20.1-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:d8761c3c891cc51e90bc9926d6d2f59b27beaf86c74622c8979380a29cc23ac3", size = 527637 }, + { url = "https://files.pythonhosted.org/packages/02/f1/1b47b9e5b941c2659c9b7e4ef41b6f07385a6500c638fa10c066e4616ecb/rpds_py-0.20.1-cp311-none-win32.whl", hash = "sha256:cd945871335a639275eee904caef90041568ce3b42f402c6959b460d25ae8732", size = 200488 }, + { url = "https://files.pythonhosted.org/packages/85/f6/c751c1adfa31610055acfa1cc667cf2c2d7011a73070679c448cf5856905/rpds_py-0.20.1-cp311-none-win_amd64.whl", hash = "sha256:7e21b7031e17c6b0e445f42ccc77f79a97e2687023c5746bfb7a9e45e0921b84", size = 218475 }, + { url = "https://files.pythonhosted.org/packages/e7/10/4e8dcc08b58a548098dbcee67a4888751a25be7a6dde0a83d4300df48bfa/rpds_py-0.20.1-cp312-cp312-macosx_10_12_x86_64.whl", hash = "sha256:36785be22066966a27348444b40389f8444671630063edfb1a2eb04318721e17", size = 329749 }, + { url = "https://files.pythonhosted.org/packages/d2/e4/61144f3790e12fd89e6153d77f7915ad26779735fef8ee9c099cba6dfb4a/rpds_py-0.20.1-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:142c0a5124d9bd0e2976089484af5c74f47bd3298f2ed651ef54ea728d2ea42c", size = 321032 }, + { url = "https://files.pythonhosted.org/packages/fa/e0/99205aabbf3be29ef6c58ef9b08feed51ba6532fdd47461245cb58dd9897/rpds_py-0.20.1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:dbddc10776ca7ebf2a299c41a4dde8ea0d8e3547bfd731cb87af2e8f5bf8962d", size = 363931 }, + { url = "https://files.pythonhosted.org/packages/ac/bd/bce2dddb518b13a7e77eed4be234c9af0c9c6d403d01c5e6ae8eb447ab62/rpds_py-0.20.1-cp312-cp312-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:15a842bb369e00295392e7ce192de9dcbf136954614124a667f9f9f17d6a216f", size = 373343 }, + { url = "https://files.pythonhosted.org/packages/43/15/112b7c553066cb91264691ba7fb119579c440a0ae889da222fa6fc0d411a/rpds_py-0.20.1-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:be5ef2f1fc586a7372bfc355986226484e06d1dc4f9402539872c8bb99e34b01", size = 406304 }, + { url = "https://files.pythonhosted.org/packages/af/8d/2da52aef8ae5494a382b0c0025ba5b68f2952db0f2a4c7534580e8ca83cc/rpds_py-0.20.1-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:dbcf360c9e3399b056a238523146ea77eeb2a596ce263b8814c900263e46031a", size = 423022 }, + { url = "https://files.pythonhosted.org/packages/c8/1b/f23015cb293927c93bdb4b94a48bfe77ad9d57359c75db51f0ff0cf482ff/rpds_py-0.20.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ecd27a66740ffd621d20b9a2f2b5ee4129a56e27bfb9458a3bcc2e45794c96cb", size = 364937 }, + { url = "https://files.pythonhosted.org/packages/7b/8b/6da8636b2ea2e2f709e56656e663b6a71ecd9a9f9d9dc21488aade122026/rpds_py-0.20.1-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:d0b937b2a1988f184a3e9e577adaa8aede21ec0b38320d6009e02bd026db04fa", size = 386301 }, + { url = "https://files.pythonhosted.org/packages/20/af/2ae192797bffd0d6d558145b5a36e7245346ff3e44f6ddcb82f0eb8512d4/rpds_py-0.20.1-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:6889469bfdc1eddf489729b471303739bf04555bb151fe8875931f8564309afc", size = 549452 }, + { url = "https://files.pythonhosted.org/packages/07/dd/9f6520712a5108cd7d407c9db44a3d59011b385c58e320d58ebf67757a9e/rpds_py-0.20.1-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:19b73643c802f4eaf13d97f7855d0fb527fbc92ab7013c4ad0e13a6ae0ed23bd", size = 554370 }, + { url = "https://files.pythonhosted.org/packages/5e/0e/b1bdc7ea0db0946d640ab8965146099093391bb5d265832994c47461e3c5/rpds_py-0.20.1-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:3c6afcf2338e7f374e8edc765c79fbcb4061d02b15dd5f8f314a4af2bdc7feb5", size = 530940 }, + { url = "https://files.pythonhosted.org/packages/ae/d3/ffe907084299484fab60a7955f7c0e8a295c04249090218c59437010f9f4/rpds_py-0.20.1-cp312-none-win32.whl", hash = "sha256:dc73505153798c6f74854aba69cc75953888cf9866465196889c7cdd351e720c", size = 203164 }, + { url = "https://files.pythonhosted.org/packages/1f/ba/9cbb57423c4bfbd81c473913bebaed151ad4158ee2590a4e4b3e70238b48/rpds_py-0.20.1-cp312-none-win_amd64.whl", hash = "sha256:8bbe951244a838a51289ee53a6bae3a07f26d4e179b96fc7ddd3301caf0518eb", size = 220750 }, + { url = "https://files.pythonhosted.org/packages/b5/01/fee2e1d1274c92fff04aa47d805a28d62c2aa971d1f49f5baea1c6e670d9/rpds_py-0.20.1-cp313-cp313-macosx_10_12_x86_64.whl", hash = "sha256:6ca91093a4a8da4afae7fe6a222c3b53ee4eef433ebfee4d54978a103435159e", size = 329359 }, + { url = "https://files.pythonhosted.org/packages/b0/cf/4aeffb02b7090029d7aeecbffb9a10e1c80f6f56d7e9a30e15481dc4099c/rpds_py-0.20.1-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:b9c2fe36d1f758b28121bef29ed1dee9b7a2453e997528e7d1ac99b94892527c", size = 320543 }, + { url = "https://files.pythonhosted.org/packages/17/69/85cf3429e9ccda684ba63ff36b5866d5f9451e921cc99819341e19880334/rpds_py-0.20.1-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:f009c69bc8c53db5dfab72ac760895dc1f2bc1b62ab7408b253c8d1ec52459fc", size = 363107 }, + { url = "https://files.pythonhosted.org/packages/ef/de/7df88dea9c3eeb832196d23b41f0f6fc5f9a2ee9b2080bbb1db8731ead9c/rpds_py-0.20.1-cp313-cp313-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:6740a3e8d43a32629bb9b009017ea5b9e713b7210ba48ac8d4cb6d99d86c8ee8", size = 372027 }, + { url = "https://files.pythonhosted.org/packages/d1/b8/88675399d2038580743c570a809c43a900e7090edc6553f8ffb66b23c965/rpds_py-0.20.1-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:32b922e13d4c0080d03e7b62991ad7f5007d9cd74e239c4b16bc85ae8b70252d", size = 405031 }, + { url = "https://files.pythonhosted.org/packages/e1/aa/cca639f6d17caf00bab51bdc70fcc0bdda3063e5662665c4fdf60443c474/rpds_py-0.20.1-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:fe00a9057d100e69b4ae4a094203a708d65b0f345ed546fdef86498bf5390982", size = 422271 }, + { url = "https://files.pythonhosted.org/packages/c4/07/bf8a949d2ec4626c285579c9d6b356c692325f1a4126e947736b416e1fc4/rpds_py-0.20.1-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:49fe9b04b6fa685bd39237d45fad89ba19e9163a1ccaa16611a812e682913496", size = 363625 }, + { url = "https://files.pythonhosted.org/packages/11/f0/06675c6a58d6ce34547879138810eb9aab0c10e5607ea6c2e4dc56b703c8/rpds_py-0.20.1-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:aa7ac11e294304e615b43f8c441fee5d40094275ed7311f3420d805fde9b07b4", size = 385906 }, + { url = "https://files.pythonhosted.org/packages/bf/ac/2d1f50374eb8e41030fad4e87f81751e1c39e3b5d4bee8c5618830d8a6ac/rpds_py-0.20.1-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:6aa97af1558a9bef4025f8f5d8c60d712e0a3b13a2fe875511defc6ee77a1ab7", size = 549021 }, + { url = "https://files.pythonhosted.org/packages/f7/d4/a7d70a7cc71df772eeadf4bce05e32e780a9fe44a511a5b091c7a85cb767/rpds_py-0.20.1-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:483b29f6f7ffa6af845107d4efe2e3fa8fb2693de8657bc1849f674296ff6a5a", size = 553800 }, + { url = "https://files.pythonhosted.org/packages/87/81/dc30bc449ccba63ad23a0f6633486d4e0e6955f45f3715a130dacabd6ad0/rpds_py-0.20.1-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:37fe0f12aebb6a0e3e17bb4cd356b1286d2d18d2e93b2d39fe647138458b4bcb", size = 531076 }, + { url = "https://files.pythonhosted.org/packages/50/80/fb62ab48f3b5cfe704ead6ad372da1922ddaa76397055e02eb507054c979/rpds_py-0.20.1-cp313-none-win32.whl", hash = "sha256:a624cc00ef2158e04188df5e3016385b9353638139a06fb77057b3498f794782", size = 202804 }, + { url = "https://files.pythonhosted.org/packages/d9/30/a3391e76d0b3313f33bdedd394a519decae3a953d2943e3dabf80ae32447/rpds_py-0.20.1-cp313-none-win_amd64.whl", hash = "sha256:b71b8666eeea69d6363248822078c075bac6ed135faa9216aa85f295ff009b1e", size = 220502 }, + { url = "https://files.pythonhosted.org/packages/53/ef/b1883734ea0cd9996de793cdc38c32a28143b04911d1e570090acd8a9162/rpds_py-0.20.1-cp38-cp38-macosx_10_12_x86_64.whl", hash = "sha256:5b48e790e0355865197ad0aca8cde3d8ede347831e1959e158369eb3493d2191", size = 327757 }, + { url = "https://files.pythonhosted.org/packages/54/63/47d34dc4ddb3da73e78e10c9009dcf8edc42d355a221351c05c822c2a50b/rpds_py-0.20.1-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:3e310838a5801795207c66c73ea903deda321e6146d6f282e85fa7e3e4854804", size = 318785 }, + { url = "https://files.pythonhosted.org/packages/f7/e1/d6323be4afbe3013f28725553b7bfa80b3f013f91678af258f579f8ea8f9/rpds_py-0.20.1-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:2249280b870e6a42c0d972339e9cc22ee98730a99cd7f2f727549af80dd5a963", size = 361511 }, + { url = "https://files.pythonhosted.org/packages/ab/d3/c40e4d9ecd571f0f50fe69bc53fe608d7b2c49b30738b480044990260838/rpds_py-0.20.1-cp38-cp38-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:e79059d67bea28b53d255c1437b25391653263f0e69cd7dec170d778fdbca95e", size = 370201 }, + { url = "https://files.pythonhosted.org/packages/f1/b6/96a4a9977a8a06c2c49d90aa571346aff1642abf15066a39a0b4817bf049/rpds_py-0.20.1-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:2b431c777c9653e569986ecf69ff4a5dba281cded16043d348bf9ba505486f36", size = 403866 }, + { url = "https://files.pythonhosted.org/packages/cd/8f/702b52287949314b498a311f92b5ee0ba30c702a27e0e6b560e2da43b8d5/rpds_py-0.20.1-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:da584ff96ec95e97925174eb8237e32f626e7a1a97888cdd27ee2f1f24dd0ad8", size = 430163 }, + { url = "https://files.pythonhosted.org/packages/c4/ce/af016c81fda833bf125b20d1677d816f230cad2ab189f46bcbfea3c7a375/rpds_py-0.20.1-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:02a0629ec053fc013808a85178524e3cb63a61dbc35b22499870194a63578fb9", size = 360776 }, + { url = "https://files.pythonhosted.org/packages/08/a7/988e179c9bef55821abe41762228d65077e0570ca75c9efbcd1bc6e263b4/rpds_py-0.20.1-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:fbf15aff64a163db29a91ed0868af181d6f68ec1a3a7d5afcfe4501252840bad", size = 383008 }, + { url = "https://files.pythonhosted.org/packages/96/b0/e4077f7f1b9622112ae83254aedfb691490278793299bc06dcf54ec8c8e4/rpds_py-0.20.1-cp38-cp38-musllinux_1_2_aarch64.whl", hash = "sha256:07924c1b938798797d60c6308fa8ad3b3f0201802f82e4a2c41bb3fafb44cc28", size = 546371 }, + { url = "https://files.pythonhosted.org/packages/e4/5e/1d4dd08ec0352cfe516ea93ea1993c2f656f893c87dafcd9312bd07f65f7/rpds_py-0.20.1-cp38-cp38-musllinux_1_2_i686.whl", hash = "sha256:4a5a844f68776a7715ecb30843b453f07ac89bad393431efbf7accca3ef599c1", size = 549809 }, + { url = "https://files.pythonhosted.org/packages/57/ac/a716b4729ff23ec034b7d2ff76a86e6f0753c4098401bdfdf55b2efe90e6/rpds_py-0.20.1-cp38-cp38-musllinux_1_2_x86_64.whl", hash = "sha256:518d2ca43c358929bf08f9079b617f1c2ca6e8848f83c1225c88caeac46e6cbc", size = 528492 }, + { url = "https://files.pythonhosted.org/packages/e0/ed/a0b58a9ecef79918169eacdabd14eb4c5c86ce71184ed56b80c6eb425828/rpds_py-0.20.1-cp38-none-win32.whl", hash = "sha256:3aea7eed3e55119635a74bbeb80b35e776bafccb70d97e8ff838816c124539f1", size = 200512 }, + { url = "https://files.pythonhosted.org/packages/5f/c3/222e25124283afc76c473fcd2c547e82ec57683fa31cb4d6c6eb44e5d57a/rpds_py-0.20.1-cp38-none-win_amd64.whl", hash = "sha256:7dca7081e9a0c3b6490a145593f6fe3173a94197f2cb9891183ef75e9d64c425", size = 218627 }, + { url = "https://files.pythonhosted.org/packages/d6/87/e7e0fcbfdc0d0e261534bcc885f6ae6253095b972e32f8b8b1278c78a2a9/rpds_py-0.20.1-cp39-cp39-macosx_10_12_x86_64.whl", hash = "sha256:b41b6321805c472f66990c2849e152aff7bc359eb92f781e3f606609eac877ad", size = 327867 }, + { url = "https://files.pythonhosted.org/packages/93/a0/17836b7961fc82586e9b818abdee2a27e2e605a602bb8c0d43f02092f8c2/rpds_py-0.20.1-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:0a90c373ea2975519b58dece25853dbcb9779b05cc46b4819cb1917e3b3215b6", size = 318893 }, + { url = "https://files.pythonhosted.org/packages/dc/03/deb81d8ea3a8b974e7b03cfe8c8c26616ef8f4980dd430d8dd0a2f1b4d8e/rpds_py-0.20.1-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:16d4477bcb9fbbd7b5b0e4a5d9b493e42026c0bf1f06f723a9353f5153e75d30", size = 361664 }, + { url = "https://files.pythonhosted.org/packages/16/49/d9938603731745c7b6babff97ca61ff3eb4619e7128b5ab0111ad4e91d6d/rpds_py-0.20.1-cp39-cp39-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:84b8382a90539910b53a6307f7c35697bc7e6ffb25d9c1d4e998a13e842a5e83", size = 369796 }, + { url = "https://files.pythonhosted.org/packages/87/d2/480b36c69cdc373853401b6aab6a281cf60f6d72b1545d82c0d23d9dd77c/rpds_py-0.20.1-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:4888e117dd41b9d34194d9e31631af70d3d526efc363085e3089ab1a62c32ed1", size = 403860 }, + { url = "https://files.pythonhosted.org/packages/31/7c/f6d909cb57761293308dbef14f1663d84376f2e231892a10aafc57b42037/rpds_py-0.20.1-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:5265505b3d61a0f56618c9b941dc54dc334dc6e660f1592d112cd103d914a6db", size = 430793 }, + { url = "https://files.pythonhosted.org/packages/d4/62/c9bd294c4b5f84d9cc2c387b548ae53096ad7e71ac5b02b6310e9dc85aa4/rpds_py-0.20.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:e75ba609dba23f2c95b776efb9dd3f0b78a76a151e96f96cc5b6b1b0004de66f", size = 360927 }, + { url = "https://files.pythonhosted.org/packages/c1/a7/15d927d83a44da8307a432b1cac06284b6657706d099a98cc99fec34ad51/rpds_py-0.20.1-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:1791ff70bc975b098fe6ecf04356a10e9e2bd7dc21fa7351c1742fdeb9b4966f", size = 382660 }, + { url = "https://files.pythonhosted.org/packages/4c/28/0630719c18456238bb07d59c4302fed50a13aa8035ec23dbfa80d116f9bc/rpds_py-0.20.1-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:d126b52e4a473d40232ec2052a8b232270ed1f8c9571aaf33f73a14cc298c24f", size = 546888 }, + { url = "https://files.pythonhosted.org/packages/b9/75/3c9bda11b9c15d680b315f898af23825159314d4b56568f24b53ace8afcd/rpds_py-0.20.1-cp39-cp39-musllinux_1_2_i686.whl", hash = "sha256:c14937af98c4cc362a1d4374806204dd51b1e12dded1ae30645c298e5a5c4cb1", size = 550088 }, + { url = "https://files.pythonhosted.org/packages/70/f1/8fe7d04c194218171220a412057429defa9e2da785de0777c4d39309337e/rpds_py-0.20.1-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:3d089d0b88996df627693639d123c8158cff41c0651f646cd8fd292c7da90eaf", size = 528270 }, + { url = "https://files.pythonhosted.org/packages/d6/62/41b0020f4b00af042b008e679dbe25a2f5bce655139a81f8b812f9068e52/rpds_py-0.20.1-cp39-none-win32.whl", hash = "sha256:653647b8838cf83b2e7e6a0364f49af96deec64d2a6578324db58380cff82aca", size = 200658 }, + { url = "https://files.pythonhosted.org/packages/05/01/e64bb8889f2dcc951e53de33d8b8070456397ae4e10edc35e6cb9908f5c8/rpds_py-0.20.1-cp39-none-win_amd64.whl", hash = "sha256:fa41a64ac5b08b292906e248549ab48b69c5428f3987b09689ab2441f267d04d", size = 218883 }, + { url = "https://files.pythonhosted.org/packages/b6/fa/7959429e69569d0f6e7d27f80451402da0409349dd2b07f6bcbdd5fad2d3/rpds_py-0.20.1-pp310-pypy310_pp73-macosx_10_12_x86_64.whl", hash = "sha256:7a07ced2b22f0cf0b55a6a510078174c31b6d8544f3bc00c2bcee52b3d613f74", size = 328209 }, + { url = "https://files.pythonhosted.org/packages/25/97/5dfdb091c30267ff404d2fd9e70c7a6d6ffc65ca77fffe9456e13b719066/rpds_py-0.20.1-pp310-pypy310_pp73-macosx_11_0_arm64.whl", hash = "sha256:68cb0a499f2c4a088fd2f521453e22ed3527154136a855c62e148b7883b99f9a", size = 319499 }, + { url = "https://files.pythonhosted.org/packages/7c/98/cf2608722400f5f9bb4c82aa5ac09026f3ac2ebea9d4059d3533589ed0b6/rpds_py-0.20.1-pp310-pypy310_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:fa3060d885657abc549b2a0f8e1b79699290e5d83845141717c6c90c2df38311", size = 361795 }, + { url = "https://files.pythonhosted.org/packages/89/de/0e13dd43c785c60e63933e96fbddda0b019df6862f4d3019bb49c3861131/rpds_py-0.20.1-pp310-pypy310_pp73-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:95f3b65d2392e1c5cec27cff08fdc0080270d5a1a4b2ea1d51d5f4a2620ff08d", size = 370604 }, + { url = "https://files.pythonhosted.org/packages/8a/fc/fe3c83c77f82b8059eeec4e998064913d66212b69b3653df48f58ad33d3d/rpds_py-0.20.1-pp310-pypy310_pp73-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:2cc3712a4b0b76a1d45a9302dd2f53ff339614b1c29603a911318f2357b04dd2", size = 404177 }, + { url = "https://files.pythonhosted.org/packages/94/30/5189518bfb80a41f664daf32b46645c7fbdcc89028a0f1bfa82e806e0fbb/rpds_py-0.20.1-pp310-pypy310_pp73-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:5d4eea0761e37485c9b81400437adb11c40e13ef513375bbd6973e34100aeb06", size = 430108 }, + { url = "https://files.pythonhosted.org/packages/67/0e/6f069feaff5c298375cd8c55e00ecd9bd79c792ce0893d39448dc0097857/rpds_py-0.20.1-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:7f5179583d7a6cdb981151dd349786cbc318bab54963a192692d945dd3f6435d", size = 361184 }, + { url = "https://files.pythonhosted.org/packages/27/9f/ce3e2ae36f392c3ef1988c06e9e0b4c74f64267dad7c223003c34da11adb/rpds_py-0.20.1-pp310-pypy310_pp73-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:2fbb0ffc754490aff6dabbf28064be47f0f9ca0b9755976f945214965b3ace7e", size = 384140 }, + { url = "https://files.pythonhosted.org/packages/5f/d5/89d44504d0bc7a1135062cb520a17903ff002f458371b8d9160af3b71e52/rpds_py-0.20.1-pp310-pypy310_pp73-musllinux_1_2_aarch64.whl", hash = "sha256:a94e52537a0e0a85429eda9e49f272ada715506d3b2431f64b8a3e34eb5f3e75", size = 546589 }, + { url = "https://files.pythonhosted.org/packages/8f/8f/e1c2db4fcca3947d9a28ec9553700b4dc8038f0eff575f579e75885b0661/rpds_py-0.20.1-pp310-pypy310_pp73-musllinux_1_2_i686.whl", hash = "sha256:92b68b79c0da2a980b1c4197e56ac3dd0c8a149b4603747c4378914a68706979", size = 550059 }, + { url = "https://files.pythonhosted.org/packages/67/29/00a9e986df36721b5def82fff60995c1ee8827a7d909a6ec8929fb4cc668/rpds_py-0.20.1-pp310-pypy310_pp73-musllinux_1_2_x86_64.whl", hash = "sha256:93da1d3db08a827eda74356f9f58884adb254e59b6664f64cc04cdff2cc19b0d", size = 529131 }, + { url = "https://files.pythonhosted.org/packages/a3/32/95364440560ec476b19c6a2704259e710c223bf767632ebaa72cc2a1760f/rpds_py-0.20.1-pp310-pypy310_pp73-win_amd64.whl", hash = "sha256:754bbed1a4ca48479e9d4182a561d001bbf81543876cdded6f695ec3d465846b", size = 219677 }, + { url = "https://files.pythonhosted.org/packages/ed/bf/ad8492e972c90a3d48a38e2b5095c51a8399d5b57e83f2d5d1649490f72b/rpds_py-0.20.1-pp39-pypy39_pp73-macosx_10_12_x86_64.whl", hash = "sha256:ca449520e7484534a2a44faf629362cae62b660601432d04c482283c47eaebab", size = 328046 }, + { url = "https://files.pythonhosted.org/packages/75/fd/84f42386165d6d555acb76c6d39c90b10c9dcf25116daf4f48a0a9d6867a/rpds_py-0.20.1-pp39-pypy39_pp73-macosx_11_0_arm64.whl", hash = "sha256:9c4cb04a16b0f199a8c9bf807269b2f63b7b5b11425e4a6bd44bd6961d28282c", size = 319306 }, + { url = "https://files.pythonhosted.org/packages/6c/8a/abcd5119a0573f9588ad71a3fde3c07ddd1d1393cfee15a6ba7495c256f1/rpds_py-0.20.1-pp39-pypy39_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:bb63804105143c7e24cee7db89e37cb3f3941f8e80c4379a0b355c52a52b6780", size = 362558 }, + { url = "https://files.pythonhosted.org/packages/9d/65/1c2bb10afd4bd32800227a658ae9097bc1d08a4e5048a57a9bd2efdf6306/rpds_py-0.20.1-pp39-pypy39_pp73-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:55cd1fa4ecfa6d9f14fbd97ac24803e6f73e897c738f771a9fe038f2f11ff07c", size = 370811 }, + { url = "https://files.pythonhosted.org/packages/6c/ee/f4bab2b9e51ced30351cfd210647885391463ae682028c79760e7db28e4e/rpds_py-0.20.1-pp39-pypy39_pp73-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:0f8f741b6292c86059ed175d80eefa80997125b7c478fb8769fd9ac8943a16c0", size = 404660 }, + { url = "https://files.pythonhosted.org/packages/48/0f/9d04d0939682f0c97be827fc51ff986555ffb573e6781bd5132441f0ce25/rpds_py-0.20.1-pp39-pypy39_pp73-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:0fc212779bf8411667234b3cdd34d53de6c2b8b8b958e1e12cb473a5f367c338", size = 430490 }, + { url = "https://files.pythonhosted.org/packages/0d/f2/e9b90fd8416d59941b6a12f2c2e1d898b63fd092f5a7a6f98236cb865764/rpds_py-0.20.1-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:0ad56edabcdb428c2e33bbf24f255fe2b43253b7d13a2cdbf05de955217313e6", size = 361448 }, + { url = "https://files.pythonhosted.org/packages/0b/83/1cc776dce7bedb17d6f4ea62eafccee8a57a4678f4fac414ab69fb9b6b0b/rpds_py-0.20.1-pp39-pypy39_pp73-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:0a3a1e9ee9728b2c1734f65d6a1d376c6f2f6fdcc13bb007a08cc4b1ff576dc5", size = 383681 }, + { url = "https://files.pythonhosted.org/packages/17/5c/e0cdd6b0a8373fdef3667af2778dd9ff3abf1bbb9c7bd92c603c91440eb0/rpds_py-0.20.1-pp39-pypy39_pp73-musllinux_1_2_aarch64.whl", hash = "sha256:e13de156137b7095442b288e72f33503a469aa1980ed856b43c353ac86390519", size = 546203 }, + { url = "https://files.pythonhosted.org/packages/1b/a8/81fc9cbc01e7ef6d10652aedc1de4e8473934773e2808ba49094e03575df/rpds_py-0.20.1-pp39-pypy39_pp73-musllinux_1_2_i686.whl", hash = "sha256:07f59760ef99f31422c49038964b31c4dfcfeb5d2384ebfc71058a7c9adae2d2", size = 549855 }, + { url = "https://files.pythonhosted.org/packages/b3/87/99648693d3c1bbce088119bc61ecaab62e5f9c713894edc604ffeca5ae88/rpds_py-0.20.1-pp39-pypy39_pp73-musllinux_1_2_x86_64.whl", hash = "sha256:59240685e7da61fb78f65a9f07f8108e36a83317c53f7b276b4175dc44151684", size = 528625 }, + { url = "https://files.pythonhosted.org/packages/05/c3/10c68a08849f1fa45d205e54141fa75d316013e3d701ef01770ee1220bb8/rpds_py-0.20.1-pp39-pypy39_pp73-win_amd64.whl", hash = "sha256:83cba698cfb3c2c5a7c3c6bac12fe6c6a51aae69513726be6411076185a8b24a", size = 219991 }, +] + +[[package]] +name = "rpds-py" +version = "0.22.3" +source = { registry = "https://pypi.org/simple" } +resolution-markers = [ + "python_full_version >= '3.13' and sys_platform == 'darwin'", + "python_full_version >= '3.13' and platform_machine == 'aarch64' and sys_platform == 'linux'", + "(python_full_version >= '3.13' and platform_machine != 'aarch64' and sys_platform == 'linux') or (python_full_version >= '3.13' and sys_platform != 'darwin' and sys_platform != 'linux')", + "python_full_version == '3.12.*' and sys_platform == 'darwin'", + "python_full_version == '3.12.*' and platform_machine == 'aarch64' and sys_platform == 'linux'", + "(python_full_version == '3.12.*' and platform_machine != 'aarch64' and sys_platform == 'linux') or (python_full_version == '3.12.*' and sys_platform != 'darwin' and sys_platform != 'linux')", + "python_full_version == '3.11.*' and sys_platform == 'darwin'", + "python_full_version == '3.11.*' and platform_machine == 'aarch64' and sys_platform == 'linux'", + "(python_full_version == '3.11.*' and platform_machine != 'aarch64' and sys_platform == 'linux') or (python_full_version == '3.11.*' and sys_platform != 'darwin' and sys_platform != 'linux')", + "python_full_version == '3.10.*' and sys_platform == 'darwin'", + "python_full_version == '3.10.*' and platform_machine == 'aarch64' and sys_platform == 'linux'", + "(python_full_version == '3.10.*' and platform_machine != 'aarch64' and sys_platform == 'linux') or (python_full_version == '3.10.*' and sys_platform != 'darwin' and sys_platform != 'linux')", + "python_full_version == '3.9.*' and platform_machine == 'arm64' and sys_platform == 'darwin'", + "python_full_version == '3.9.*' and platform_machine == 'aarch64' and sys_platform == 'linux'", + "(python_full_version == '3.9.*' and platform_machine != 'arm64' and sys_platform == 'darwin') or (python_full_version == '3.9.*' and platform_machine != 'aarch64' and sys_platform == 'linux') or (python_full_version == '3.9.*' and sys_platform != 'darwin' and sys_platform != 'linux')", +] +sdist = { url = "https://files.pythonhosted.org/packages/01/80/cce854d0921ff2f0a9fa831ba3ad3c65cee3a46711addf39a2af52df2cfd/rpds_py-0.22.3.tar.gz", hash = "sha256:e32fee8ab45d3c2db6da19a5323bc3362237c8b653c70194414b892fd06a080d", size = 26771 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/42/2a/ead1d09e57449b99dcc190d8d2323e3a167421d8f8fdf0f217c6f6befe47/rpds_py-0.22.3-cp310-cp310-macosx_10_12_x86_64.whl", hash = "sha256:6c7b99ca52c2c1752b544e310101b98a659b720b21db00e65edca34483259967", size = 359514 }, + { url = "https://files.pythonhosted.org/packages/8f/7e/1254f406b7793b586c68e217a6a24ec79040f85e030fff7e9049069284f4/rpds_py-0.22.3-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:be2eb3f2495ba669d2a985f9b426c1797b7d48d6963899276d22f23e33d47e37", size = 349031 }, + { url = "https://files.pythonhosted.org/packages/aa/da/17c6a2c73730d426df53675ff9cc6653ac7a60b6438d03c18e1c822a576a/rpds_py-0.22.3-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:70eb60b3ae9245ddea20f8a4190bd79c705a22f8028aaf8bbdebe4716c3fab24", size = 381485 }, + { url = "https://files.pythonhosted.org/packages/aa/13/2dbacd820466aa2a3c4b747afb18d71209523d353cf865bf8f4796c969ea/rpds_py-0.22.3-cp310-cp310-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:4041711832360a9b75cfb11b25a6a97c8fb49c07b8bd43d0d02b45d0b499a4ff", size = 386794 }, + { url = "https://files.pythonhosted.org/packages/6d/62/96905d0a35ad4e4bc3c098b2f34b2e7266e211d08635baa690643d2227be/rpds_py-0.22.3-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:64607d4cbf1b7e3c3c8a14948b99345eda0e161b852e122c6bb71aab6d1d798c", size = 423523 }, + { url = "https://files.pythonhosted.org/packages/eb/1b/d12770f2b6a9fc2c3ec0d810d7d440f6d465ccd8b7f16ae5385952c28b89/rpds_py-0.22.3-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:81e69b0a0e2537f26d73b4e43ad7bc8c8efb39621639b4434b76a3de50c6966e", size = 446695 }, + { url = "https://files.pythonhosted.org/packages/4d/cf/96f1fd75512a017f8e07408b6d5dbeb492d9ed46bfe0555544294f3681b3/rpds_py-0.22.3-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:bc27863442d388870c1809a87507727b799c8460573cfbb6dc0eeaef5a11b5ec", size = 381959 }, + { url = "https://files.pythonhosted.org/packages/ab/f0/d1c5b501c8aea85aeb938b555bfdf7612110a2f8cdc21ae0482c93dd0c24/rpds_py-0.22.3-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:e79dd39f1e8c3504be0607e5fc6e86bb60fe3584bec8b782578c3b0fde8d932c", size = 410420 }, + { url = "https://files.pythonhosted.org/packages/33/3b/45b6c58fb6aad5a569ae40fb890fc494c6b02203505a5008ee6dc68e65f7/rpds_py-0.22.3-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:e0fa2d4ec53dc51cf7d3bb22e0aa0143966119f42a0c3e4998293a3dd2856b09", size = 557620 }, + { url = "https://files.pythonhosted.org/packages/83/62/3fdd2d3d47bf0bb9b931c4c73036b4ab3ec77b25e016ae26fab0f02be2af/rpds_py-0.22.3-cp310-cp310-musllinux_1_2_i686.whl", hash = "sha256:fda7cb070f442bf80b642cd56483b5548e43d366fe3f39b98e67cce780cded00", size = 584202 }, + { url = "https://files.pythonhosted.org/packages/04/f2/5dced98b64874b84ca824292f9cee2e3f30f3bcf231d15a903126684f74d/rpds_py-0.22.3-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:cff63a0272fcd259dcc3be1657b07c929c466b067ceb1c20060e8d10af56f5bf", size = 552787 }, + { url = "https://files.pythonhosted.org/packages/67/13/2273dea1204eda0aea0ef55145da96a9aa28b3f88bb5c70e994f69eda7c3/rpds_py-0.22.3-cp310-cp310-win32.whl", hash = "sha256:9bd7228827ec7bb817089e2eb301d907c0d9827a9e558f22f762bb690b131652", size = 220088 }, + { url = "https://files.pythonhosted.org/packages/4e/80/8c8176b67ad7f4a894967a7a4014ba039626d96f1d4874d53e409b58d69f/rpds_py-0.22.3-cp310-cp310-win_amd64.whl", hash = "sha256:9beeb01d8c190d7581a4d59522cd3d4b6887040dcfc744af99aa59fef3e041a8", size = 231737 }, + { url = "https://files.pythonhosted.org/packages/15/ad/8d1ddf78f2805a71253fcd388017e7b4a0615c22c762b6d35301fef20106/rpds_py-0.22.3-cp311-cp311-macosx_10_12_x86_64.whl", hash = "sha256:d20cfb4e099748ea39e6f7b16c91ab057989712d31761d3300d43134e26e165f", size = 359773 }, + { url = "https://files.pythonhosted.org/packages/c8/75/68c15732293a8485d79fe4ebe9045525502a067865fa4278f178851b2d87/rpds_py-0.22.3-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:68049202f67380ff9aa52f12e92b1c30115f32e6895cd7198fa2a7961621fc5a", size = 349214 }, + { url = "https://files.pythonhosted.org/packages/3c/4c/7ce50f3070083c2e1b2bbd0fb7046f3da55f510d19e283222f8f33d7d5f4/rpds_py-0.22.3-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:fb4f868f712b2dd4bcc538b0a0c1f63a2b1d584c925e69a224d759e7070a12d5", size = 380477 }, + { url = "https://files.pythonhosted.org/packages/9a/e9/835196a69cb229d5c31c13b8ae603bd2da9a6695f35fe4270d398e1db44c/rpds_py-0.22.3-cp311-cp311-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:bc51abd01f08117283c5ebf64844a35144a0843ff7b2983e0648e4d3d9f10dbb", size = 386171 }, + { url = "https://files.pythonhosted.org/packages/f9/8e/33fc4eba6683db71e91e6d594a2cf3a8fbceb5316629f0477f7ece5e3f75/rpds_py-0.22.3-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:0f3cec041684de9a4684b1572fe28c7267410e02450f4561700ca5a3bc6695a2", size = 422676 }, + { url = "https://files.pythonhosted.org/packages/37/47/2e82d58f8046a98bb9497a8319604c92b827b94d558df30877c4b3c6ccb3/rpds_py-0.22.3-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:7ef9d9da710be50ff6809fed8f1963fecdfecc8b86656cadfca3bc24289414b0", size = 446152 }, + { url = "https://files.pythonhosted.org/packages/e1/78/79c128c3e71abbc8e9739ac27af11dc0f91840a86fce67ff83c65d1ba195/rpds_py-0.22.3-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:59f4a79c19232a5774aee369a0c296712ad0e77f24e62cad53160312b1c1eaa1", size = 381300 }, + { url = "https://files.pythonhosted.org/packages/c9/5b/2e193be0e8b228c1207f31fa3ea79de64dadb4f6a4833111af8145a6bc33/rpds_py-0.22.3-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:1a60bce91f81ddaac922a40bbb571a12c1070cb20ebd6d49c48e0b101d87300d", size = 409636 }, + { url = "https://files.pythonhosted.org/packages/c2/3f/687c7100b762d62186a1c1100ffdf99825f6fa5ea94556844bbbd2d0f3a9/rpds_py-0.22.3-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:e89391e6d60251560f0a8f4bd32137b077a80d9b7dbe6d5cab1cd80d2746f648", size = 556708 }, + { url = "https://files.pythonhosted.org/packages/8c/a2/c00cbc4b857e8b3d5e7f7fc4c81e23afd8c138b930f4f3ccf9a41a23e9e4/rpds_py-0.22.3-cp311-cp311-musllinux_1_2_i686.whl", hash = "sha256:e3fb866d9932a3d7d0c82da76d816996d1667c44891bd861a0f97ba27e84fc74", size = 583554 }, + { url = "https://files.pythonhosted.org/packages/d0/08/696c9872cf56effdad9ed617ac072f6774a898d46b8b8964eab39ec562d2/rpds_py-0.22.3-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:1352ae4f7c717ae8cba93421a63373e582d19d55d2ee2cbb184344c82d2ae55a", size = 552105 }, + { url = "https://files.pythonhosted.org/packages/18/1f/4df560be1e994f5adf56cabd6c117e02de7c88ee238bb4ce03ed50da9d56/rpds_py-0.22.3-cp311-cp311-win32.whl", hash = "sha256:b0b4136a252cadfa1adb705bb81524eee47d9f6aab4f2ee4fa1e9d3cd4581f64", size = 220199 }, + { url = "https://files.pythonhosted.org/packages/b8/1b/c29b570bc5db8237553002788dc734d6bd71443a2ceac2a58202ec06ef12/rpds_py-0.22.3-cp311-cp311-win_amd64.whl", hash = "sha256:8bd7c8cfc0b8247c8799080fbff54e0b9619e17cdfeb0478ba7295d43f635d7c", size = 231775 }, + { url = "https://files.pythonhosted.org/packages/75/47/3383ee3bd787a2a5e65a9b9edc37ccf8505c0a00170e3a5e6ea5fbcd97f7/rpds_py-0.22.3-cp312-cp312-macosx_10_12_x86_64.whl", hash = "sha256:27e98004595899949bd7a7b34e91fa7c44d7a97c40fcaf1d874168bb652ec67e", size = 352334 }, + { url = "https://files.pythonhosted.org/packages/40/14/aa6400fa8158b90a5a250a77f2077c0d0cd8a76fce31d9f2b289f04c6dec/rpds_py-0.22.3-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:1978d0021e943aae58b9b0b196fb4895a25cc53d3956b8e35e0b7682eefb6d56", size = 342111 }, + { url = "https://files.pythonhosted.org/packages/7d/06/395a13bfaa8a28b302fb433fb285a67ce0ea2004959a027aea8f9c52bad4/rpds_py-0.22.3-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:655ca44a831ecb238d124e0402d98f6212ac527a0ba6c55ca26f616604e60a45", size = 384286 }, + { url = "https://files.pythonhosted.org/packages/43/52/d8eeaffab047e6b7b7ef7f00d5ead074a07973968ffa2d5820fa131d7852/rpds_py-0.22.3-cp312-cp312-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:feea821ee2a9273771bae61194004ee2fc33f8ec7db08117ef9147d4bbcbca8e", size = 391739 }, + { url = "https://files.pythonhosted.org/packages/83/31/52dc4bde85c60b63719610ed6f6d61877effdb5113a72007679b786377b8/rpds_py-0.22.3-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:22bebe05a9ffc70ebfa127efbc429bc26ec9e9b4ee4d15a740033efda515cf3d", size = 427306 }, + { url = "https://files.pythonhosted.org/packages/70/d5/1bab8e389c2261dba1764e9e793ed6830a63f830fdbec581a242c7c46bda/rpds_py-0.22.3-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:3af6e48651c4e0d2d166dc1b033b7042ea3f871504b6805ba5f4fe31581d8d38", size = 442717 }, + { url = "https://files.pythonhosted.org/packages/82/a1/a45f3e30835b553379b3a56ea6c4eb622cf11e72008229af840e4596a8ea/rpds_py-0.22.3-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:e67ba3c290821343c192f7eae1d8fd5999ca2dc99994114643e2f2d3e6138b15", size = 385721 }, + { url = "https://files.pythonhosted.org/packages/a6/27/780c942de3120bdd4d0e69583f9c96e179dfff082f6ecbb46b8d6488841f/rpds_py-0.22.3-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:02fbb9c288ae08bcb34fb41d516d5eeb0455ac35b5512d03181d755d80810059", size = 415824 }, + { url = "https://files.pythonhosted.org/packages/94/0b/aa0542ca88ad20ea719b06520f925bae348ea5c1fdf201b7e7202d20871d/rpds_py-0.22.3-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:f56a6b404f74ab372da986d240e2e002769a7d7102cc73eb238a4f72eec5284e", size = 561227 }, + { url = "https://files.pythonhosted.org/packages/0d/92/3ed77d215f82c8f844d7f98929d56cc321bb0bcfaf8f166559b8ec56e5f1/rpds_py-0.22.3-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:0a0461200769ab3b9ab7e513f6013b7a97fdeee41c29b9db343f3c5a8e2b9e61", size = 587424 }, + { url = "https://files.pythonhosted.org/packages/09/42/cacaeb047a22cab6241f107644f230e2935d4efecf6488859a7dd82fc47d/rpds_py-0.22.3-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:8633e471c6207a039eff6aa116e35f69f3156b3989ea3e2d755f7bc41754a4a7", size = 555953 }, + { url = "https://files.pythonhosted.org/packages/e6/52/c921dc6d5f5d45b212a456c1f5b17df1a471127e8037eb0972379e39dff4/rpds_py-0.22.3-cp312-cp312-win32.whl", hash = "sha256:593eba61ba0c3baae5bc9be2f5232430453fb4432048de28399ca7376de9c627", size = 221339 }, + { url = "https://files.pythonhosted.org/packages/f2/c7/f82b5be1e8456600395366f86104d1bd8d0faed3802ad511ef6d60c30d98/rpds_py-0.22.3-cp312-cp312-win_amd64.whl", hash = "sha256:d115bffdd417c6d806ea9069237a4ae02f513b778e3789a359bc5856e0404cc4", size = 235786 }, + { url = "https://files.pythonhosted.org/packages/d0/bf/36d5cc1f2c609ae6e8bf0fc35949355ca9d8790eceb66e6385680c951e60/rpds_py-0.22.3-cp313-cp313-macosx_10_12_x86_64.whl", hash = "sha256:ea7433ce7e4bfc3a85654aeb6747babe3f66eaf9a1d0c1e7a4435bbdf27fea84", size = 351657 }, + { url = "https://files.pythonhosted.org/packages/24/2a/f1e0fa124e300c26ea9382e59b2d582cba71cedd340f32d1447f4f29fa4e/rpds_py-0.22.3-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:6dd9412824c4ce1aca56c47b0991e65bebb7ac3f4edccfd3f156150c96a7bf25", size = 341829 }, + { url = "https://files.pythonhosted.org/packages/cf/c2/0da1231dd16953845bed60d1a586fcd6b15ceaeb965f4d35cdc71f70f606/rpds_py-0.22.3-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:20070c65396f7373f5df4005862fa162db5d25d56150bddd0b3e8214e8ef45b4", size = 384220 }, + { url = "https://files.pythonhosted.org/packages/c7/73/a4407f4e3a00a9d4b68c532bf2d873d6b562854a8eaff8faa6133b3588ec/rpds_py-0.22.3-cp313-cp313-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:0b09865a9abc0ddff4e50b5ef65467cd94176bf1e0004184eb915cbc10fc05c5", size = 391009 }, + { url = "https://files.pythonhosted.org/packages/a9/c3/04b7353477ab360fe2563f5f0b176d2105982f97cd9ae80a9c5a18f1ae0f/rpds_py-0.22.3-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:3453e8d41fe5f17d1f8e9c383a7473cd46a63661628ec58e07777c2fff7196dc", size = 426989 }, + { url = "https://files.pythonhosted.org/packages/8d/e6/e4b85b722bcf11398e17d59c0f6049d19cd606d35363221951e6d625fcb0/rpds_py-0.22.3-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:f5d36399a1b96e1a5fdc91e0522544580dbebeb1f77f27b2b0ab25559e103b8b", size = 441544 }, + { url = "https://files.pythonhosted.org/packages/27/fc/403e65e56f65fff25f2973216974976d3f0a5c3f30e53758589b6dc9b79b/rpds_py-0.22.3-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:009de23c9c9ee54bf11303a966edf4d9087cd43a6003672e6aa7def643d06518", size = 385179 }, + { url = "https://files.pythonhosted.org/packages/57/9b/2be9ff9700d664d51fd96b33d6595791c496d2778cb0b2a634f048437a55/rpds_py-0.22.3-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:1aef18820ef3e4587ebe8b3bc9ba6e55892a6d7b93bac6d29d9f631a3b4befbd", size = 415103 }, + { url = "https://files.pythonhosted.org/packages/bb/a5/03c2ad8ca10994fcf22dd2150dd1d653bc974fa82d9a590494c84c10c641/rpds_py-0.22.3-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:f60bd8423be1d9d833f230fdbccf8f57af322d96bcad6599e5a771b151398eb2", size = 560916 }, + { url = "https://files.pythonhosted.org/packages/ba/2e/be4fdfc8b5b576e588782b56978c5b702c5a2307024120d8aeec1ab818f0/rpds_py-0.22.3-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:62d9cfcf4948683a18a9aff0ab7e1474d407b7bab2ca03116109f8464698ab16", size = 587062 }, + { url = "https://files.pythonhosted.org/packages/67/e0/2034c221937709bf9c542603d25ad43a68b4b0a9a0c0b06a742f2756eb66/rpds_py-0.22.3-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:9253fc214112405f0afa7db88739294295f0e08466987f1d70e29930262b4c8f", size = 555734 }, + { url = "https://files.pythonhosted.org/packages/ea/ce/240bae07b5401a22482b58e18cfbabaa392409b2797da60223cca10d7367/rpds_py-0.22.3-cp313-cp313-win32.whl", hash = "sha256:fb0ba113b4983beac1a2eb16faffd76cb41e176bf58c4afe3e14b9c681f702de", size = 220663 }, + { url = "https://files.pythonhosted.org/packages/cb/f0/d330d08f51126330467edae2fa4efa5cec8923c87551a79299380fdea30d/rpds_py-0.22.3-cp313-cp313-win_amd64.whl", hash = "sha256:c58e2339def52ef6b71b8f36d13c3688ea23fa093353f3a4fee2556e62086ec9", size = 235503 }, + { url = "https://files.pythonhosted.org/packages/f7/c4/dbe1cc03df013bf2feb5ad00615038050e7859f381e96fb5b7b4572cd814/rpds_py-0.22.3-cp313-cp313t-macosx_10_12_x86_64.whl", hash = "sha256:f82a116a1d03628a8ace4859556fb39fd1424c933341a08ea3ed6de1edb0283b", size = 347698 }, + { url = "https://files.pythonhosted.org/packages/a4/3a/684f66dd6b0f37499cad24cd1c0e523541fd768576fa5ce2d0a8799c3cba/rpds_py-0.22.3-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:3dfcbc95bd7992b16f3f7ba05af8a64ca694331bd24f9157b49dadeeb287493b", size = 337330 }, + { url = "https://files.pythonhosted.org/packages/82/eb/e022c08c2ce2e8f7683baa313476492c0e2c1ca97227fe8a75d9f0181e95/rpds_py-0.22.3-cp313-cp313t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:59259dc58e57b10e7e18ce02c311804c10c5a793e6568f8af4dead03264584d1", size = 380022 }, + { url = "https://files.pythonhosted.org/packages/e4/21/5a80e653e4c86aeb28eb4fea4add1f72e1787a3299687a9187105c3ee966/rpds_py-0.22.3-cp313-cp313t-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:5725dd9cc02068996d4438d397e255dcb1df776b7ceea3b9cb972bdb11260a83", size = 390754 }, + { url = "https://files.pythonhosted.org/packages/37/a4/d320a04ae90f72d080b3d74597074e62be0a8ecad7d7321312dfe2dc5a6a/rpds_py-0.22.3-cp313-cp313t-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:99b37292234e61325e7a5bb9689e55e48c3f5f603af88b1642666277a81f1fbd", size = 423840 }, + { url = "https://files.pythonhosted.org/packages/87/70/674dc47d93db30a6624279284e5631be4c3a12a0340e8e4f349153546728/rpds_py-0.22.3-cp313-cp313t-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:27b1d3b3915a99208fee9ab092b8184c420f2905b7d7feb4aeb5e4a9c509b8a1", size = 438970 }, + { url = "https://files.pythonhosted.org/packages/3f/64/9500f4d66601d55cadd21e90784cfd5d5f4560e129d72e4339823129171c/rpds_py-0.22.3-cp313-cp313t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f612463ac081803f243ff13cccc648578e2279295048f2a8d5eb430af2bae6e3", size = 383146 }, + { url = "https://files.pythonhosted.org/packages/4d/45/630327addb1d17173adcf4af01336fd0ee030c04798027dfcb50106001e0/rpds_py-0.22.3-cp313-cp313t-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:f73d3fef726b3243a811121de45193c0ca75f6407fe66f3f4e183c983573e130", size = 408294 }, + { url = "https://files.pythonhosted.org/packages/5f/ef/8efb3373cee54ea9d9980b772e5690a0c9e9214045a4e7fa35046e399fee/rpds_py-0.22.3-cp313-cp313t-musllinux_1_2_aarch64.whl", hash = "sha256:3f21f0495edea7fdbaaa87e633a8689cd285f8f4af5c869f27bc8074638ad69c", size = 556345 }, + { url = "https://files.pythonhosted.org/packages/54/01/151d3b9ef4925fc8f15bfb131086c12ec3c3d6dd4a4f7589c335bf8e85ba/rpds_py-0.22.3-cp313-cp313t-musllinux_1_2_i686.whl", hash = "sha256:1e9663daaf7a63ceccbbb8e3808fe90415b0757e2abddbfc2e06c857bf8c5e2b", size = 582292 }, + { url = "https://files.pythonhosted.org/packages/30/89/35fc7a6cdf3477d441c7aca5e9bbf5a14e0f25152aed7f63f4e0b141045d/rpds_py-0.22.3-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:a76e42402542b1fae59798fab64432b2d015ab9d0c8c47ba7addddbaf7952333", size = 553855 }, + { url = "https://files.pythonhosted.org/packages/8f/e0/830c02b2457c4bd20a8c5bb394d31d81f57fbefce2dbdd2e31feff4f7003/rpds_py-0.22.3-cp313-cp313t-win32.whl", hash = "sha256:69803198097467ee7282750acb507fba35ca22cc3b85f16cf45fb01cb9097730", size = 219100 }, + { url = "https://files.pythonhosted.org/packages/f8/30/7ac943f69855c2db77407ae363484b915d861702dbba1aa82d68d57f42be/rpds_py-0.22.3-cp313-cp313t-win_amd64.whl", hash = "sha256:f5cf2a0c2bdadf3791b5c205d55a37a54025c6e18a71c71f82bb536cf9a454bf", size = 233794 }, + { url = "https://files.pythonhosted.org/packages/db/0f/a8ad17ddac7c880f48d5da50733dd25bfc35ba2be1bec9f23453e8c7a123/rpds_py-0.22.3-cp39-cp39-macosx_10_12_x86_64.whl", hash = "sha256:378753b4a4de2a7b34063d6f95ae81bfa7b15f2c1a04a9518e8644e81807ebea", size = 359735 }, + { url = "https://files.pythonhosted.org/packages/0c/41/430903669397ea3ee76865e0b53ea236e8dc0ffbecde47b2c4c783ad6759/rpds_py-0.22.3-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:3445e07bf2e8ecfeef6ef67ac83de670358abf2996916039b16a218e3d95e97e", size = 348724 }, + { url = "https://files.pythonhosted.org/packages/c9/5c/3496f4f0ee818297544f2d5f641c49dde8ae156392e6834b79c0609ba006/rpds_py-0.22.3-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:7b2513ba235829860b13faa931f3b6846548021846ac808455301c23a101689d", size = 381782 }, + { url = "https://files.pythonhosted.org/packages/b6/dc/db0523ce0cd16ce579185cc9aa9141992de956d0a9c469ecfd1fb5d54ddc/rpds_py-0.22.3-cp39-cp39-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:eaf16ae9ae519a0e237a0f528fd9f0197b9bb70f40263ee57ae53c2b8d48aeb3", size = 387036 }, + { url = "https://files.pythonhosted.org/packages/85/2a/9525c2427d2c257f877348918136a5d4e1b945c205a256e53bec61e54551/rpds_py-0.22.3-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:583f6a1993ca3369e0f80ba99d796d8e6b1a3a2a442dd4e1a79e652116413091", size = 424566 }, + { url = "https://files.pythonhosted.org/packages/b9/1c/f8c012a39794b84069635709f559c0309103d5d74b3f5013916e6ca4f174/rpds_py-0.22.3-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:4617e1915a539a0d9a9567795023de41a87106522ff83fbfaf1f6baf8e85437e", size = 447203 }, + { url = "https://files.pythonhosted.org/packages/93/f5/c1c772364570d35b98ba64f36ec90c3c6d0b932bc4d8b9b4efef6dc64b07/rpds_py-0.22.3-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:0c150c7a61ed4a4f4955a96626574e9baf1adf772c2fb61ef6a5027e52803543", size = 382283 }, + { url = "https://files.pythonhosted.org/packages/10/06/f94f61313f94fc75c3c3aa74563f80bbd990e5b25a7c1a38cee7d5d0309b/rpds_py-0.22.3-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:2fa4331c200c2521512595253f5bb70858b90f750d39b8cbfd67465f8d1b596d", size = 410022 }, + { url = "https://files.pythonhosted.org/packages/3f/b0/37ab416a9528419920dfb64886c220f58fcbd66b978e0a91b66e9ee9a993/rpds_py-0.22.3-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:214b7a953d73b5e87f0ebece4a32a5bd83c60a3ecc9d4ec8f1dca968a2d91e99", size = 557817 }, + { url = "https://files.pythonhosted.org/packages/2c/5d/9daa18adcd676dd3b2817c8a7cec3f3ebeeb0ce0d05a1b63bf994fc5114f/rpds_py-0.22.3-cp39-cp39-musllinux_1_2_i686.whl", hash = "sha256:f47ad3d5f3258bd7058d2d506852217865afefe6153a36eb4b6928758041d831", size = 585099 }, + { url = "https://files.pythonhosted.org/packages/41/3f/ad4e58035d3f848410aa3d59857b5f238bafab81c8b4a844281f80445d62/rpds_py-0.22.3-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:f276b245347e6e36526cbd4a266a417796fc531ddf391e43574cf6466c492520", size = 552818 }, + { url = "https://files.pythonhosted.org/packages/b8/19/123acae8f4cab3c9463097c3ced3cc87c46f405056e249c874940e045309/rpds_py-0.22.3-cp39-cp39-win32.whl", hash = "sha256:bbb232860e3d03d544bc03ac57855cd82ddf19c7a07651a7c0fdb95e9efea8b9", size = 220246 }, + { url = "https://files.pythonhosted.org/packages/8b/8d/9db93e48d96ace1f6713c71ce72e2d94b71d82156c37b6a54e0930486f00/rpds_py-0.22.3-cp39-cp39-win_amd64.whl", hash = "sha256:cfbc454a2880389dbb9b5b398e50d439e2e58669160f27b60e5eca11f68ae17c", size = 231932 }, + { url = "https://files.pythonhosted.org/packages/8b/63/e29f8ee14fcf383574f73b6bbdcbec0fbc2e5fc36b4de44d1ac389b1de62/rpds_py-0.22.3-pp310-pypy310_pp73-macosx_10_12_x86_64.whl", hash = "sha256:d48424e39c2611ee1b84ad0f44fb3b2b53d473e65de061e3f460fc0be5f1939d", size = 360786 }, + { url = "https://files.pythonhosted.org/packages/d3/e0/771ee28b02a24e81c8c0e645796a371350a2bb6672753144f36ae2d2afc9/rpds_py-0.22.3-pp310-pypy310_pp73-macosx_11_0_arm64.whl", hash = "sha256:24e8abb5878e250f2eb0d7859a8e561846f98910326d06c0d51381fed59357bd", size = 350589 }, + { url = "https://files.pythonhosted.org/packages/cf/49/abad4c4a1e6f3adf04785a99c247bfabe55ed868133e2d1881200aa5d381/rpds_py-0.22.3-pp310-pypy310_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:4b232061ca880db21fa14defe219840ad9b74b6158adb52ddf0e87bead9e8493", size = 381848 }, + { url = "https://files.pythonhosted.org/packages/3a/7d/f4bc6d6fbe6af7a0d2b5f2ee77079efef7c8528712745659ec0026888998/rpds_py-0.22.3-pp310-pypy310_pp73-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:ac0a03221cdb5058ce0167ecc92a8c89e8d0decdc9e99a2ec23380793c4dcb96", size = 387879 }, + { url = "https://files.pythonhosted.org/packages/13/b0/575c797377fdcd26cedbb00a3324232e4cb2c5d121f6e4b0dbf8468b12ef/rpds_py-0.22.3-pp310-pypy310_pp73-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:eb0c341fa71df5a4595f9501df4ac5abfb5a09580081dffbd1ddd4654e6e9123", size = 423916 }, + { url = "https://files.pythonhosted.org/packages/54/78/87157fa39d58f32a68d3326f8a81ad8fb99f49fe2aa7ad9a1b7d544f9478/rpds_py-0.22.3-pp310-pypy310_pp73-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:bf9db5488121b596dbfc6718c76092fda77b703c1f7533a226a5a9f65248f8ad", size = 448410 }, + { url = "https://files.pythonhosted.org/packages/59/69/860f89996065a88be1b6ff2d60e96a02b920a262d8aadab99e7903986597/rpds_py-0.22.3-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:0b8db6b5b2d4491ad5b6bdc2bc7c017eec108acbf4e6785f42a9eb0ba234f4c9", size = 382841 }, + { url = "https://files.pythonhosted.org/packages/bd/d7/bc144e10d27e3cb350f98df2492a319edd3caaf52ddfe1293f37a9afbfd7/rpds_py-0.22.3-pp310-pypy310_pp73-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:b3d504047aba448d70cf6fa22e06cb09f7cbd761939fdd47604f5e007675c24e", size = 409662 }, + { url = "https://files.pythonhosted.org/packages/14/2a/6bed0b05233c291a94c7e89bc76ffa1c619d4e1979fbfe5d96024020c1fb/rpds_py-0.22.3-pp310-pypy310_pp73-musllinux_1_2_aarch64.whl", hash = "sha256:e61b02c3f7a1e0b75e20c3978f7135fd13cb6cf551bf4a6d29b999a88830a338", size = 558221 }, + { url = "https://files.pythonhosted.org/packages/11/23/cd8f566de444a137bc1ee5795e47069a947e60810ba4152886fe5308e1b7/rpds_py-0.22.3-pp310-pypy310_pp73-musllinux_1_2_i686.whl", hash = "sha256:e35ba67d65d49080e8e5a1dd40101fccdd9798adb9b050ff670b7d74fa41c566", size = 583780 }, + { url = "https://files.pythonhosted.org/packages/8d/63/79c3602afd14d501f751e615a74a59040328da5ef29ed5754ae80d236b84/rpds_py-0.22.3-pp310-pypy310_pp73-musllinux_1_2_x86_64.whl", hash = "sha256:26fd7cac7dd51011a245f29a2cc6489c4608b5a8ce8d75661bb4a1066c52dfbe", size = 553619 }, + { url = "https://files.pythonhosted.org/packages/9f/2e/c5c1689e80298d4e94c75b70faada4c25445739d91b94c211244a3ed7ed1/rpds_py-0.22.3-pp310-pypy310_pp73-win_amd64.whl", hash = "sha256:177c7c0fce2855833819c98e43c262007f42ce86651ffbb84f37883308cb0e7d", size = 233338 }, + { url = "https://files.pythonhosted.org/packages/bc/b7/d2c205723e3b4d75b03215694f0297a1b4b395bf834cb5896ad9bbb90f90/rpds_py-0.22.3-pp39-pypy39_pp73-macosx_10_12_x86_64.whl", hash = "sha256:bb47271f60660803ad11f4c61b42242b8c1312a31c98c578f79ef9387bbde21c", size = 360594 }, + { url = "https://files.pythonhosted.org/packages/d8/8f/c3515f5234cf6055046d4cfe9c80a3742a20acfa7d0b1b290f0d7f56a8db/rpds_py-0.22.3-pp39-pypy39_pp73-macosx_11_0_arm64.whl", hash = "sha256:70fb28128acbfd264eda9bf47015537ba3fe86e40d046eb2963d75024be4d055", size = 349594 }, + { url = "https://files.pythonhosted.org/packages/6b/98/5b487cb06afc484befe350c87fda37f4ce11333f04f3380aba43dcf5bce2/rpds_py-0.22.3-pp39-pypy39_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:44d61b4b7d0c2c9ac019c314e52d7cbda0ae31078aabd0f22e583af3e0d79723", size = 381138 }, + { url = "https://files.pythonhosted.org/packages/5e/3a/12308d2c51b3fdfc173619943b7dc5ba41b4850c47112eeda38d9c54ed12/rpds_py-0.22.3-pp39-pypy39_pp73-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:5f0e260eaf54380380ac3808aa4ebe2d8ca28b9087cf411649f96bad6900c728", size = 387828 }, + { url = "https://files.pythonhosted.org/packages/17/b2/c242241ab5a2a206e093f24ccbfa519c4bbf10a762ac90bffe1766c225e0/rpds_py-0.22.3-pp39-pypy39_pp73-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:b25bc607423935079e05619d7de556c91fb6adeae9d5f80868dde3468657994b", size = 424634 }, + { url = "https://files.pythonhosted.org/packages/d5/c7/52a1b15012139f3ba740f291f1d03c6b632938ba61bc605f24c101952493/rpds_py-0.22.3-pp39-pypy39_pp73-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:fb6116dfb8d1925cbdb52595560584db42a7f664617a1f7d7f6e32f138cdf37d", size = 447862 }, + { url = "https://files.pythonhosted.org/packages/55/3e/4d3ed8fd01bad77e8ed101116fe63b03f1011940d9596a8f4d82ac80cacd/rpds_py-0.22.3-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:a63cbdd98acef6570c62b92a1e43266f9e8b21e699c363c0fef13bd530799c11", size = 382506 }, + { url = "https://files.pythonhosted.org/packages/30/78/df59d6f92470a84369a3757abeae1cfd7f7239c8beb6d948949bf78317d2/rpds_py-0.22.3-pp39-pypy39_pp73-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:2b8f60e1b739a74bab7e01fcbe3dddd4657ec685caa04681df9d562ef15b625f", size = 410534 }, + { url = "https://files.pythonhosted.org/packages/38/97/ea45d1edd9b753b20084b52dd5db6ee5e1ac3e036a27149972398a413858/rpds_py-0.22.3-pp39-pypy39_pp73-musllinux_1_2_aarch64.whl", hash = "sha256:2e8b55d8517a2fda8d95cb45d62a5a8bbf9dd0ad39c5b25c8833efea07b880ca", size = 557453 }, + { url = "https://files.pythonhosted.org/packages/08/cd/3a1b35eb9da27ffbb981cfffd32a01c7655c4431ccb278cb3064f8887462/rpds_py-0.22.3-pp39-pypy39_pp73-musllinux_1_2_i686.whl", hash = "sha256:2de29005e11637e7a2361fa151f780ff8eb2543a0da1413bb951e9f14b699ef3", size = 584412 }, + { url = "https://files.pythonhosted.org/packages/87/91/31d1c5aeb1606f71188259e0ba6ed6f5c21a3c72f58b51db6a8bd0aa2b5d/rpds_py-0.22.3-pp39-pypy39_pp73-musllinux_1_2_x86_64.whl", hash = "sha256:666ecce376999bf619756a24ce15bb14c5bfaf04bf00abc7e663ce17c3f34fe7", size = 553446 }, + { url = "https://files.pythonhosted.org/packages/e7/ad/03b5ccd1ab492c9dece85b3bf1c96453ab8c47983936fae6880f688f60b3/rpds_py-0.22.3-pp39-pypy39_pp73-win_amd64.whl", hash = "sha256:5246b14ca64a8675e0a7161f7af68fe3e910e6b90542b4bfb5439ba752191df6", size = 233013 }, +] + +[[package]] +name = "scipy" +version = "1.10.0" +source = { registry = "https://pypi.org/simple" } +resolution-markers = [ + "python_full_version < '3.9' and platform_machine == 'arm64' and sys_platform == 'darwin'", + "python_full_version < '3.9' and platform_machine == 'aarch64' and sys_platform == 'linux'", + "(python_full_version < '3.9' and platform_machine != 'arm64' and sys_platform == 'darwin') or (python_full_version < '3.9' and platform_machine != 'aarch64' and sys_platform == 'linux') or (python_full_version < '3.9' and sys_platform != 'darwin' and sys_platform != 'linux')", +] +dependencies = [ + { name = "numpy", version = "1.24.4", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.9'" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/d6/bd/2d13a273d95f7b7d9903c906c486040b0aebb85e008f93a5dd0891f21f1f/scipy-1.10.0.tar.gz", hash = "sha256:c8b3cbc636a87a89b770c6afc999baa6bcbb01691b5ccbbc1b1791c7c0a07540", size = 42398693 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/45/4e/250f55436fe2cec3db808ca6befa16d294935a21ed2b9dc03d0238ead769/scipy-1.10.0-cp310-cp310-macosx_10_15_x86_64.whl", hash = "sha256:b901b423c91281a974f6cd1c36f5c6c523e665b5a6d5e80fcb2334e14670eefd", size = 35087572 }, + { url = "https://files.pythonhosted.org/packages/5e/e3/ac8daa4adf427ef0f9913350e74b985ecd838ad32eafc3aa844f0760e839/scipy-1.10.0-cp310-cp310-macosx_12_0_arm64.whl", hash = "sha256:16ba05d3d1b9f2141004f3f36888e05894a525960b07f4c2bfc0456b955a00be", size = 28767166 }, + { url = "https://files.pythonhosted.org/packages/5f/12/1f00e9b92ae6feb2da0d0ef1d1c5672903fc7f18e1c53123b69ebd65ecef/scipy-1.10.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:151f066fe7d6653c3ffefd489497b8fa66d7316e3e0d0c0f7ff6acca1b802809", size = 30880785 }, + { url = "https://files.pythonhosted.org/packages/76/22/287d06df9b359ba6df3f986e83267f240132379e4181c43cead3c5d41227/scipy-1.10.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:2f9ea0a37aca111a407cb98aa4e8dfde6e5d9333bae06dfa5d938d14c80bb5c3", size = 34415334 }, + { url = "https://files.pythonhosted.org/packages/ec/97/719e7c5b5081524b056652eec1e31c08a54f262f00dae62089094bde66b3/scipy-1.10.0-cp310-cp310-win_amd64.whl", hash = "sha256:27e548276b5a88b51212b61f6dda49a24acf5d770dff940bd372b3f7ced8c6c2", size = 42482989 }, + { url = "https://files.pythonhosted.org/packages/7a/23/13579b64ab458782a43e11e1ad095488458b8df099063ae07773666adada/scipy-1.10.0-cp311-cp311-macosx_10_15_x86_64.whl", hash = "sha256:42ab8b9e7dc1ebe248e55f54eea5307b6ab15011a7883367af48dd781d1312e4", size = 34984684 }, + { url = "https://files.pythonhosted.org/packages/fc/c9/a58b6c6ade3e80f76b134632fad491438b78c844ee54e590c7b842cb9de3/scipy-1.10.0-cp311-cp311-macosx_12_0_arm64.whl", hash = "sha256:e096b062d2efdea57f972d232358cb068413dc54eec4f24158bcbb5cb8bddfd8", size = 28705456 }, + { url = "https://files.pythonhosted.org/packages/d5/80/b23382de9c50509afd151d6876dca33cafef2237a36f74ac7f3bfc327fc2/scipy-1.10.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:4df25a28bd22c990b22129d3c637fd5c3be4b7c94f975dca909d8bab3309b694", size = 30677591 }, + { url = "https://files.pythonhosted.org/packages/da/b8/03dae1cd4fa687d84cd60513aef17efecf7c277bc771bb96a1d8780dd734/scipy-1.10.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:2ad449db4e0820e4b42baccefc98ec772ad7818dcbc9e28b85aa05a536b0f1a2", size = 34124731 }, + { url = "https://files.pythonhosted.org/packages/c3/c4/8efe05b8ee86c7276448ef54f71ddb194416b881bc7a0d3c353279eea6aa/scipy-1.10.0-cp311-cp311-win_amd64.whl", hash = "sha256:6faf86ef7717891195ae0537e48da7524d30bc3b828b30c9b115d04ea42f076f", size = 42226259 }, + { url = "https://files.pythonhosted.org/packages/a3/05/58699e7030b03ca34be52ba03d3f9403dc419b07fce6bdeb8bea09cf3fb0/scipy-1.10.0-cp38-cp38-macosx_10_15_x86_64.whl", hash = "sha256:4bd0e3278126bc882d10414436e58fa3f1eca0aa88b534fcbf80ed47e854f46c", size = 35037284 }, + { url = "https://files.pythonhosted.org/packages/3c/85/3aa622ec7fd2efb41a59eacb4d503214d71e7c84a59caffe083599c51963/scipy-1.10.0-cp38-cp38-macosx_12_0_arm64.whl", hash = "sha256:38bfbd18dcc69eeb589811e77fae552fa923067fdfbb2e171c9eac749885f210", size = 28792828 }, + { url = "https://files.pythonhosted.org/packages/74/44/694d9472d7edade2d95ace485740d00ec3621a53339650e8005ce25a9bc9/scipy-1.10.0-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:0ab2a58064836632e2cec31ca197d3695c86b066bc4818052b3f5381bfd2a728", size = 31018399 }, + { url = "https://files.pythonhosted.org/packages/d9/9c/ed263f84bb54ce0a4b0774f8ef21b45a70d54196a1b4bca9bb7a3c837437/scipy-1.10.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:5cd7a30970c29d9768a7164f564d1fbf2842bfc77b7d114a99bc32703ce0bf48", size = 34534555 }, + { url = "https://files.pythonhosted.org/packages/f0/17/c26457e774951eb145db3eb69f9896d05a47900023e4e90c11d3e4cd7972/scipy-1.10.0-cp38-cp38-win_amd64.whl", hash = "sha256:9b878c671655864af59c108c20e4da1e796154bd78c0ed6bb02bc41c84625686", size = 42202081 }, + { url = "https://files.pythonhosted.org/packages/9f/31/c78e7c54a62bd986051c76e18ca38dc962fdf4e4078485d4307d61339dc7/scipy-1.10.0-cp39-cp39-macosx_10_15_x86_64.whl", hash = "sha256:3afcbddb4488ac950ce1147e7580178b333a29cd43524c689b2e3543a080a2c8", size = 35152252 }, + { url = "https://files.pythonhosted.org/packages/2b/54/7536dbfcbea26ca2c11d3c55b0c2d806d4349b5852318e12b98ffee27bd8/scipy-1.10.0-cp39-cp39-macosx_12_0_arm64.whl", hash = "sha256:6e4497e5142f325a5423ff5fda2fff5b5d953da028637ff7c704378c8c284ea7", size = 28896651 }, + { url = "https://files.pythonhosted.org/packages/f3/c7/16537a3e7178a08329d455d7b1c6f43177034e708a0c2517f9e308560019/scipy-1.10.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:441cab2166607c82e6d7a8683779cb89ba0f475b983c7e4ab88f3668e268c143", size = 30953174 }, + { url = "https://files.pythonhosted.org/packages/30/71/bb9e677e30c52f938ff71ba528915c579e794ac0f59804e06bfed3596dff/scipy-1.10.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:0490dc499fe23e4be35b8b6dd1e60a4a34f0c4adb30ac671e6332446b3cbbb5a", size = 34449528 }, + { url = "https://files.pythonhosted.org/packages/b5/16/6261fb37606565833f7437692e57edd1f29f3e9dd3f3873720a2d25558b0/scipy-1.10.0-cp39-cp39-win_amd64.whl", hash = "sha256:954ff69d2d1bf666b794c1d7216e0a746c9d9289096a64ab3355a17c7c59db54", size = 42503388 }, +] + +[[package]] +name = "scipy" +version = "1.13.1" +source = { registry = "https://pypi.org/simple" } +resolution-markers = [ + "python_full_version == '3.9.*' and platform_machine == 'arm64' and sys_platform == 'darwin'", + "python_full_version == '3.9.*' and platform_machine == 'aarch64' and sys_platform == 'linux'", + "(python_full_version == '3.9.*' and platform_machine != 'arm64' and sys_platform == 'darwin') or (python_full_version == '3.9.*' and platform_machine != 'aarch64' and sys_platform == 'linux') or (python_full_version == '3.9.*' and sys_platform != 'darwin' and sys_platform != 'linux')", +] +dependencies = [ + { name = "numpy", version = "1.25.2", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version == '3.9.*'" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/ae/00/48c2f661e2816ccf2ecd77982f6605b2950afe60f60a52b4cbbc2504aa8f/scipy-1.13.1.tar.gz", hash = "sha256:095a87a0312b08dfd6a6155cbbd310a8c51800fc931b8c0b84003014b874ed3c", size = 57210720 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/33/59/41b2529908c002ade869623b87eecff3e11e3ce62e996d0bdcb536984187/scipy-1.13.1-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:20335853b85e9a49ff7572ab453794298bcf0354d8068c5f6775a0eabf350aca", size = 39328076 }, + { url = "https://files.pythonhosted.org/packages/d5/33/f1307601f492f764062ce7dd471a14750f3360e33cd0f8c614dae208492c/scipy-1.13.1-cp310-cp310-macosx_12_0_arm64.whl", hash = "sha256:d605e9c23906d1994f55ace80e0125c587f96c020037ea6aa98d01b4bd2e222f", size = 30306232 }, + { url = "https://files.pythonhosted.org/packages/c0/66/9cd4f501dd5ea03e4a4572ecd874936d0da296bd04d1c45ae1a4a75d9c3a/scipy-1.13.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:cfa31f1def5c819b19ecc3a8b52d28ffdcc7ed52bb20c9a7589669dd3c250989", size = 33743202 }, + { url = "https://files.pythonhosted.org/packages/a3/ba/7255e5dc82a65adbe83771c72f384d99c43063648456796436c9a5585ec3/scipy-1.13.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f26264b282b9da0952a024ae34710c2aff7d27480ee91a2e82b7b7073c24722f", size = 38577335 }, + { url = "https://files.pythonhosted.org/packages/49/a5/bb9ded8326e9f0cdfdc412eeda1054b914dfea952bda2097d174f8832cc0/scipy-1.13.1-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:eccfa1906eacc02de42d70ef4aecea45415f5be17e72b61bafcfd329bdc52e94", size = 38820728 }, + { url = "https://files.pythonhosted.org/packages/12/30/df7a8fcc08f9b4a83f5f27cfaaa7d43f9a2d2ad0b6562cced433e5b04e31/scipy-1.13.1-cp310-cp310-win_amd64.whl", hash = "sha256:2831f0dc9c5ea9edd6e51e6e769b655f08ec6db6e2e10f86ef39bd32eb11da54", size = 46210588 }, + { url = "https://files.pythonhosted.org/packages/b4/15/4a4bb1b15bbd2cd2786c4f46e76b871b28799b67891f23f455323a0cdcfb/scipy-1.13.1-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:27e52b09c0d3a1d5b63e1105f24177e544a222b43611aaf5bc44d4a0979e32f9", size = 39333805 }, + { url = "https://files.pythonhosted.org/packages/ba/92/42476de1af309c27710004f5cdebc27bec62c204db42e05b23a302cb0c9a/scipy-1.13.1-cp311-cp311-macosx_12_0_arm64.whl", hash = "sha256:54f430b00f0133e2224c3ba42b805bfd0086fe488835effa33fa291561932326", size = 30317687 }, + { url = "https://files.pythonhosted.org/packages/80/ba/8be64fe225360a4beb6840f3cbee494c107c0887f33350d0a47d55400b01/scipy-1.13.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:e89369d27f9e7b0884ae559a3a956e77c02114cc60a6058b4e5011572eea9299", size = 33694638 }, + { url = "https://files.pythonhosted.org/packages/36/07/035d22ff9795129c5a847c64cb43c1fa9188826b59344fee28a3ab02e283/scipy-1.13.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:a78b4b3345f1b6f68a763c6e25c0c9a23a9fd0f39f5f3d200efe8feda560a5fa", size = 38569931 }, + { url = "https://files.pythonhosted.org/packages/d9/10/f9b43de37e5ed91facc0cfff31d45ed0104f359e4f9a68416cbf4e790241/scipy-1.13.1-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:45484bee6d65633752c490404513b9ef02475b4284c4cfab0ef946def50b3f59", size = 38838145 }, + { url = "https://files.pythonhosted.org/packages/4a/48/4513a1a5623a23e95f94abd675ed91cfb19989c58e9f6f7d03990f6caf3d/scipy-1.13.1-cp311-cp311-win_amd64.whl", hash = "sha256:5713f62f781eebd8d597eb3f88b8bf9274e79eeabf63afb4a737abc6c84ad37b", size = 46196227 }, + { url = "https://files.pythonhosted.org/packages/f2/7b/fb6b46fbee30fc7051913068758414f2721003a89dd9a707ad49174e3843/scipy-1.13.1-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:5d72782f39716b2b3509cd7c33cdc08c96f2f4d2b06d51e52fb45a19ca0c86a1", size = 39357301 }, + { url = "https://files.pythonhosted.org/packages/dc/5a/2043a3bde1443d94014aaa41e0b50c39d046dda8360abd3b2a1d3f79907d/scipy-1.13.1-cp312-cp312-macosx_12_0_arm64.whl", hash = "sha256:017367484ce5498445aade74b1d5ab377acdc65e27095155e448c88497755a5d", size = 30363348 }, + { url = "https://files.pythonhosted.org/packages/e7/cb/26e4a47364bbfdb3b7fb3363be6d8a1c543bcd70a7753ab397350f5f189a/scipy-1.13.1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:949ae67db5fa78a86e8fa644b9a6b07252f449dcf74247108c50e1d20d2b4627", size = 33406062 }, + { url = "https://files.pythonhosted.org/packages/88/ab/6ecdc526d509d33814835447bbbeedbebdec7cca46ef495a61b00a35b4bf/scipy-1.13.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:de3ade0e53bc1f21358aa74ff4830235d716211d7d077e340c7349bc3542e884", size = 38218311 }, + { url = "https://files.pythonhosted.org/packages/0b/00/9f54554f0f8318100a71515122d8f4f503b1a2c4b4cfab3b4b68c0eb08fa/scipy-1.13.1-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:2ac65fb503dad64218c228e2dc2d0a0193f7904747db43014645ae139c8fad16", size = 38442493 }, + { url = "https://files.pythonhosted.org/packages/3e/df/963384e90733e08eac978cd103c34df181d1fec424de383cdc443f418dd4/scipy-1.13.1-cp312-cp312-win_amd64.whl", hash = "sha256:cdd7dacfb95fea358916410ec61bbc20440f7860333aee6d882bb8046264e949", size = 45910955 }, + { url = "https://files.pythonhosted.org/packages/7f/29/c2ea58c9731b9ecb30b6738113a95d147e83922986b34c685b8f6eefde21/scipy-1.13.1-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:436bbb42a94a8aeef855d755ce5a465479c721e9d684de76bf61a62e7c2b81d5", size = 39352927 }, + { url = "https://files.pythonhosted.org/packages/5c/c0/e71b94b20ccf9effb38d7147c0064c08c622309fd487b1b677771a97d18c/scipy-1.13.1-cp39-cp39-macosx_12_0_arm64.whl", hash = "sha256:8335549ebbca860c52bf3d02f80784e91a004b71b059e3eea9678ba994796a24", size = 30324538 }, + { url = "https://files.pythonhosted.org/packages/6d/0f/aaa55b06d474817cea311e7b10aab2ea1fd5d43bc6a2861ccc9caec9f418/scipy-1.13.1-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d533654b7d221a6a97304ab63c41c96473ff04459e404b83275b60aa8f4b7004", size = 33732190 }, + { url = "https://files.pythonhosted.org/packages/35/f5/d0ad1a96f80962ba65e2ce1de6a1e59edecd1f0a7b55990ed208848012e0/scipy-1.13.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:637e98dcf185ba7f8e663e122ebf908c4702420477ae52a04f9908707456ba4d", size = 38612244 }, + { url = "https://files.pythonhosted.org/packages/8d/02/1165905f14962174e6569076bcc3315809ae1291ed14de6448cc151eedfd/scipy-1.13.1-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:a014c2b3697bde71724244f63de2476925596c24285c7a637364761f8710891c", size = 38845637 }, + { url = "https://files.pythonhosted.org/packages/3e/77/dab54fe647a08ee4253963bcd8f9cf17509c8ca64d6335141422fe2e2114/scipy-1.13.1-cp39-cp39-win_amd64.whl", hash = "sha256:392e4ec766654852c25ebad4f64e4e584cf19820b980bc04960bca0b0cd6eaa2", size = 46227440 }, +] + +[[package]] +name = "scipy" +version = "1.14.0" +source = { registry = "https://pypi.org/simple" } +resolution-markers = [ + "python_full_version == '3.12.*' and sys_platform == 'darwin'", + "python_full_version == '3.12.*' and platform_machine == 'aarch64' and sys_platform == 'linux'", + "(python_full_version == '3.12.*' and platform_machine != 'aarch64' and sys_platform == 'linux') or (python_full_version == '3.12.*' and sys_platform != 'darwin' and sys_platform != 'linux')", + "python_full_version == '3.11.*' and sys_platform == 'darwin'", + "python_full_version == '3.11.*' and platform_machine == 'aarch64' and sys_platform == 'linux'", + "(python_full_version == '3.11.*' and platform_machine != 'aarch64' and sys_platform == 'linux') or (python_full_version == '3.11.*' and sys_platform != 'darwin' and sys_platform != 'linux')", + "python_full_version == '3.10.*' and sys_platform == 'darwin'", + "python_full_version == '3.10.*' and platform_machine == 'aarch64' and sys_platform == 'linux'", + "(python_full_version == '3.10.*' and platform_machine != 'aarch64' and sys_platform == 'linux') or (python_full_version == '3.10.*' and sys_platform != 'darwin' and sys_platform != 'linux')", +] +dependencies = [ + { name = "numpy", version = "1.25.2", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.10' and python_full_version < '3.12'" }, + { name = "numpy", version = "2.0.2", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version == '3.12.*'" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/4e/e5/0230da034a2e1b1feb32621d7cd57c59484091d6dccc9e6b855b0d309fc9/scipy-1.14.0.tar.gz", hash = "sha256:b5923f48cb840380f9854339176ef21763118a7300a88203ccd0bdd26e58527b", size = 58618870 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/c6/90/face72921ce52d74880b380e6f86b3caa6c65766c5808fbe179e208b9c6d/scipy-1.14.0-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:7e911933d54ead4d557c02402710c2396529540b81dd554fc1ba270eb7308484", size = 39120226 }, + { url = "https://files.pythonhosted.org/packages/6e/a1/0093566d31ae662e942d4079e2a4dea4256723bf3d072ae67f5ba41aee0d/scipy-1.14.0-cp310-cp310-macosx_12_0_arm64.whl", hash = "sha256:687af0a35462402dd851726295c1a5ae5f987bd6e9026f52e9505994e2f84ef6", size = 29866893 }, + { url = "https://files.pythonhosted.org/packages/52/21/05a182fb405a53dfbdf6415308bf185677e89188bc2206de011a3653f48e/scipy-1.14.0-cp310-cp310-macosx_14_0_arm64.whl", hash = "sha256:07e179dc0205a50721022344fb85074f772eadbda1e1b3eecdc483f8033709b7", size = 23076258 }, + { url = "https://files.pythonhosted.org/packages/5c/63/9954d14012a2f4aff4570f1aaf076d7f65f3fc246ae4483b765488d57d51/scipy-1.14.0-cp310-cp310-macosx_14_0_x86_64.whl", hash = "sha256:6a9c9a9b226d9a21e0a208bdb024c3982932e43811b62d202aaf1bb59af264b1", size = 25454715 }, + { url = "https://files.pythonhosted.org/packages/57/b8/ca969a99d34956c6546cbb9ea3f863a387009f68cdbad13cdb07db0cc23d/scipy-1.14.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:076c27284c768b84a45dcf2e914d4000aac537da74236a0d45d82c6fa4b7b3c0", size = 35569038 }, + { url = "https://files.pythonhosted.org/packages/e2/20/15c8fe0dfebb6facd81b3d08bf45dfa080e305deb17172b0a40eba59e927/scipy-1.14.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:42470ea0195336df319741e230626b6225a740fd9dce9642ca13e98f667047c0", size = 41135959 }, + { url = "https://files.pythonhosted.org/packages/df/a2/8721f93fbf98a69067d20bdfded36a7de2a3d811f192edba9eeefbde61b8/scipy-1.14.0-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:176c6f0d0470a32f1b2efaf40c3d37a24876cebf447498a4cefb947a79c21e9d", size = 41118514 }, + { url = "https://files.pythonhosted.org/packages/a3/0c/82c1330c08f31d61142d38cb9a185e01c2403c990d10dab208032e62d0fa/scipy-1.14.0-cp310-cp310-win_amd64.whl", hash = "sha256:ad36af9626d27a4326c8e884917b7ec321d8a1841cd6dacc67d2a9e90c2f0359", size = 44763252 }, + { url = "https://files.pythonhosted.org/packages/10/55/d6096721c0f0d7e7369da9660a854c14e6379ab7aba603ea5d492d77fa23/scipy-1.14.0-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:6d056a8709ccda6cf36cdd2eac597d13bc03dba38360f418560a93050c76a16e", size = 39129318 }, + { url = "https://files.pythonhosted.org/packages/56/95/1a3a04b5facab8287325ad2335dbb6b78b98d73690c832099c9c498f7a4d/scipy-1.14.0-cp311-cp311-macosx_12_0_arm64.whl", hash = "sha256:f0a50da861a7ec4573b7c716b2ebdcdf142b66b756a0d392c236ae568b3a93fb", size = 29880413 }, + { url = "https://files.pythonhosted.org/packages/8b/d2/78e3342f5db363ddf92de84007d43e47c8bb24363bd509e1b75a5102a25d/scipy-1.14.0-cp311-cp311-macosx_14_0_arm64.whl", hash = "sha256:94c164a9e2498e68308e6e148646e486d979f7fcdb8b4cf34b5441894bdb9caf", size = 23089804 }, + { url = "https://files.pythonhosted.org/packages/6a/d6/db686519059afb367e5a06935556b50fa422d792a658ce071f4527c785bf/scipy-1.14.0-cp311-cp311-macosx_14_0_x86_64.whl", hash = "sha256:a7d46c3e0aea5c064e734c3eac5cf9eb1f8c4ceee756262f2c7327c4c2691c86", size = 25479561 }, + { url = "https://files.pythonhosted.org/packages/6c/bb/f44e22697740893ffa84239ca3766bdb908c1c7135ebb272d5bd4bdc33e2/scipy-1.14.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:9eee2989868e274aae26125345584254d97c56194c072ed96cb433f32f692ed8", size = 35558723 }, + { url = "https://files.pythonhosted.org/packages/89/bb/80c9c98d887c855710fd31fc5ae5574133e98203b3475b07579251803662/scipy-1.14.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:9e3154691b9f7ed73778d746da2df67a19d046a6c8087c8b385bc4cdb2cfca74", size = 41132874 }, + { url = "https://files.pythonhosted.org/packages/c4/c6/b7a0774808a0f65bd3bba4558c8d6b90c24e852656087045a0a7ada24868/scipy-1.14.0-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:c40003d880f39c11c1edbae8144e3813904b10514cd3d3d00c277ae996488cdb", size = 41073588 }, + { url = "https://files.pythonhosted.org/packages/91/1d/0484130df7e33e044da88a091827d6441b77f907075bf7bbe145857d6590/scipy-1.14.0-cp311-cp311-win_amd64.whl", hash = "sha256:5b083c8940028bb7e0b4172acafda6df762da1927b9091f9611b0bcd8676f2bc", size = 44749773 }, + { url = "https://files.pythonhosted.org/packages/50/51/3aa6bcde60dec542c6b8363b6a871b02827a41f01ab9c0c9324464f8c4cd/scipy-1.14.0-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:bff2438ea1330e06e53c424893ec0072640dac00f29c6a43a575cbae4c99b2b9", size = 39176568 }, + { url = "https://files.pythonhosted.org/packages/5c/76/f2b91ea2d2b76504e845699271be9c0ca3492770614fb6b911fb517023de/scipy-1.14.0-cp312-cp312-macosx_12_0_arm64.whl", hash = "sha256:bbc0471b5f22c11c389075d091d3885693fd3f5e9a54ce051b46308bc787e5d4", size = 29925587 }, + { url = "https://files.pythonhosted.org/packages/09/70/5e756d3f90fe3fff64d1550db0fa6bb9eb76eedd084c568618f93441f08c/scipy-1.14.0-cp312-cp312-macosx_14_0_arm64.whl", hash = "sha256:64b2ff514a98cf2bb734a9f90d32dc89dc6ad4a4a36a312cd0d6327170339eb0", size = 23134915 }, + { url = "https://files.pythonhosted.org/packages/f2/1e/41e1a295dc54d21f6a6b2ff5e85e398b5aea076cf69fdedbc943b9c73b2d/scipy-1.14.0-cp312-cp312-macosx_14_0_x86_64.whl", hash = "sha256:7d3da42fbbbb860211a811782504f38ae7aaec9de8764a9bef6b262de7a2b50f", size = 25556831 }, + { url = "https://files.pythonhosted.org/packages/24/0e/c7812fbfa1e29e26cd28c6972be43e3fe49427c5f1663c4b992c431e247d/scipy-1.14.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d91db2c41dd6c20646af280355d41dfa1ec7eead235642178bd57635a3f82209", size = 35295529 }, + { url = "https://files.pythonhosted.org/packages/9b/00/ce54410e344b3a6032cd42ed53fe425cf57a66d28e337670292bbb419ebc/scipy-1.14.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:a01cc03bcdc777c9da3cfdcc74b5a75caffb48a6c39c8450a9a05f82c4250a14", size = 40785123 }, + { url = "https://files.pythonhosted.org/packages/45/ed/75f5d318cf7af841835cec9534704d3a4cb6a96460677f05466c928790a7/scipy-1.14.0-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:65df4da3c12a2bb9ad52b86b4dcf46813e869afb006e58be0f516bc370165159", size = 40704660 }, + { url = "https://files.pythonhosted.org/packages/3f/72/305686527c68f33f1dd3ebdd28f53340d372b2f9e44dccaf6f92e17739d3/scipy-1.14.0-cp312-cp312-win_amd64.whl", hash = "sha256:4c4161597c75043f7154238ef419c29a64ac4a7c889d588ea77690ac4d0d9b20", size = 44475988 }, +] + +[[package]] +name = "scipy" +version = "1.15.0" +source = { registry = "https://pypi.org/simple" } +resolution-markers = [ + "python_full_version >= '3.13' and sys_platform == 'darwin'", + "python_full_version >= '3.13' and platform_machine == 'aarch64' and sys_platform == 'linux'", + "(python_full_version >= '3.13' and platform_machine != 'aarch64' and sys_platform == 'linux') or (python_full_version >= '3.13' and sys_platform != 'darwin' and sys_platform != 'linux')", +] +dependencies = [ + { name = "numpy", version = "2.2.1", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.13'" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/d9/7b/2b8ac283cf32465ed08bc20a83d559fe7b174a484781702ba8accea001d6/scipy-1.15.0.tar.gz", hash = "sha256:300742e2cc94e36a2880ebe464a1c8b4352a7b0f3e36ec3d2ac006cdbe0219ac", size = 59407226 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/93/6a/14ce8d4452acdced1b69ea32b0d304b04b00376deb4f1eb65f946aee41af/scipy-1.15.0-cp310-cp310-macosx_10_13_x86_64.whl", hash = "sha256:aeac60d3562a7bf2f35549bdfdb6b1751c50590f55ce7322b4b2fc821dc27fca", size = 41413763 }, + { url = "https://files.pythonhosted.org/packages/45/12/570ba186d0ae1d528f8f0524b88fb9a263653ce575ac085edd9c1ef29e9c/scipy-1.15.0-cp310-cp310-macosx_12_0_arm64.whl", hash = "sha256:5abbdc6ede5c5fed7910cf406a948e2c0869231c0db091593a6b2fa78be77e5d", size = 32518980 }, + { url = "https://files.pythonhosted.org/packages/51/5a/b6ac5aa213cfa196d15db5ee159010aa9b94d0bc2bfa917fb99297701628/scipy-1.15.0-cp310-cp310-macosx_14_0_arm64.whl", hash = "sha256:eb1533c59f0ec6c55871206f15a5c72d1fae7ad3c0a8ca33ca88f7c309bbbf8c", size = 24792491 }, + { url = "https://files.pythonhosted.org/packages/35/1f/6af575b77b2ee057551643de75a30252ce32098b2d9fd45bcf969a6fa35b/scipy-1.15.0-cp310-cp310-macosx_14_0_x86_64.whl", hash = "sha256:de112c2dae53107cfeaf65101419662ac0a54e9a088c17958b51c95dac5de56d", size = 27886039 }, + { url = "https://files.pythonhosted.org/packages/6a/7b/0c261d4857f459de6dffe11b3818583944f8d87716ce0b3b5f058aa34ff3/scipy-1.15.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:2240e1fd0782e62e1aacdc7234212ee271d810f67e9cd3b8d521003a82603ef8", size = 38374628 }, + { url = "https://files.pythonhosted.org/packages/99/17/ca390fbbfea5b34e3a00fc819fcb7c22e8b889360882820030b533d26c01/scipy-1.15.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:d35aef233b098e4de88b1eac29f0df378278e7e250a915766786b773309137c4", size = 40599127 }, + { url = "https://files.pythonhosted.org/packages/1d/65/95d93b1360f5defc1b6bf0963ac4e0d3413c95d8e8d6a1624a256506dfd3/scipy-1.15.0-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:1b29e4fc02e155a5fd1165f1e6a73edfdd110470736b0f48bcbe48083f0eee37", size = 42937900 }, + { url = "https://files.pythonhosted.org/packages/51/8c/c2d371111961f737ae08881f654cf54eca796c42ec0429add2a06df97049/scipy-1.15.0-cp310-cp310-win_amd64.whl", hash = "sha256:0e5b34f8894f9904cc578008d1a9467829c1817e9f9cb45e6d6eeb61d2ab7731", size = 43907603 }, + { url = "https://files.pythonhosted.org/packages/b8/53/7f627c180cdaa211fa537650ca05912f58cb68fc33bb2f9af3d29169913e/scipy-1.15.0-cp311-cp311-macosx_10_13_x86_64.whl", hash = "sha256:46e91b5b16909ff79224b56e19cbad65ca500b3afda69225820aa3afbf9ec020", size = 41423594 }, + { url = "https://files.pythonhosted.org/packages/c9/ab/f848933c6f656f2c7af2d56d0be44511b730498538fe04db70eb03a6ad86/scipy-1.15.0-cp311-cp311-macosx_12_0_arm64.whl", hash = "sha256:82bff2eb01ccf7cea8b6ee5274c2dbeadfdac97919da308ee6d8e5bcbe846443", size = 32535797 }, + { url = "https://files.pythonhosted.org/packages/41/93/266693c471ec1e2e7748c1ee5e867299f3d0ac42e0e63f52649430ec1976/scipy-1.15.0-cp311-cp311-macosx_14_0_arm64.whl", hash = "sha256:9c8254fe21dd2c6c8f7757035ec0c31daecf3bb3cffd93bc1ca661b731d28136", size = 24809325 }, + { url = "https://files.pythonhosted.org/packages/f3/55/1acc49a48bc11fb95cf625c0763f2749f8710265d2fecbf6ed6dd618fc54/scipy-1.15.0-cp311-cp311-macosx_14_0_x86_64.whl", hash = "sha256:c9624eeae79b18cab1a31944b5ef87aa14b125d6ab69b71db22f0dbd962caf1e", size = 27917711 }, + { url = "https://files.pythonhosted.org/packages/e2/f5/15f62812b36f2f94b9d1ca31d3d2bbabfb6979e48a0866041bee7031c461/scipy-1.15.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d13bbc0658c11f3d19df4138336e4bce2c4fbd78c2755be4bf7b8e235481557f", size = 38331850 }, + { url = "https://files.pythonhosted.org/packages/ad/21/6dc57f6f6c8014dc6d07111e4976422580789fa96c4d7ddf63614939cb6c/scipy-1.15.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:bdca4c7bb8dc41307e5f39e9e5d19c707d8e20a29845e7533b3bb20a9d4ccba0", size = 40587953 }, + { url = "https://files.pythonhosted.org/packages/da/dd/26db78c2054f8d81b28ae4688da7930ea3c33e5d1885928aadefeec979f9/scipy-1.15.0-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:6f376d7c767731477bac25a85d0118efdc94a572c6b60decb1ee48bf2391a73b", size = 42963920 }, + { url = "https://files.pythonhosted.org/packages/82/89/eb4aaf929be0e2c03bb5e40ed61427aab9c8ba6c0764aebf82d7302bb3d3/scipy-1.15.0-cp311-cp311-win_amd64.whl", hash = "sha256:61513b989ee8d5218fbeb178b2d51534ecaddba050db949ae99eeb3d12f6825d", size = 43894857 }, + { url = "https://files.pythonhosted.org/packages/35/70/fffb90a725dec6056c9059073856fd99de22a253459a874a63b8b8a012db/scipy-1.15.0-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:5beb0a2200372b7416ec73fdae94fe81a6e85e44eb49c35a11ac356d2b8eccc6", size = 41475240 }, + { url = "https://files.pythonhosted.org/packages/63/ca/6b838a2e5e6718d879e8522d1155a068c2a769be04f7da8c5179ead32a7b/scipy-1.15.0-cp312-cp312-macosx_12_0_arm64.whl", hash = "sha256:fde0f3104dfa1dfbc1f230f65506532d0558d43188789eaf68f97e106249a913", size = 32595923 }, + { url = "https://files.pythonhosted.org/packages/b1/07/4e69f6f7185915d77719bf226c1d554a4bb99f27cb92161fdd57b1434343/scipy-1.15.0-cp312-cp312-macosx_14_0_arm64.whl", hash = "sha256:35c68f7044b4e7ad73a3e68e513dda946989e523df9b062bd3cf401a1a882192", size = 24869617 }, + { url = "https://files.pythonhosted.org/packages/30/22/e3dadf189dcab215be461efe0fd9d288f4c2d99783c4aec2ce80837800b7/scipy-1.15.0-cp312-cp312-macosx_14_0_x86_64.whl", hash = "sha256:52475011be29dfcbecc3dfe3060e471ac5155d72e9233e8d5616b84e2b542054", size = 28007674 }, + { url = "https://files.pythonhosted.org/packages/51/0f/71c9ee2acaac0660a79e36424d367ed5737e4ef27b885f96cd439f451467/scipy-1.15.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:5972e3f96f7dda4fd3bb85906a17338e65eaddfe47f750e240f22b331c08858e", size = 38066684 }, + { url = "https://files.pythonhosted.org/packages/fb/77/74a1ceecb205f5d46fe2cd10071383748ee8891a96b7824a372391a6291c/scipy-1.15.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:fe00169cf875bed0b3c40e4da45b57037dc21d7c7bf0c85ed75f210c281488f1", size = 40250011 }, + { url = "https://files.pythonhosted.org/packages/8c/9f/f1544110a3d31183034e05422836505beb438aa56183f2ccef6dcd3b4e3f/scipy-1.15.0-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:161f80a98047c219c257bf5ce1777c574bde36b9d962a46b20d0d7e531f86863", size = 42625471 }, + { url = "https://files.pythonhosted.org/packages/3f/39/a29b75f9c30084cbafd416bfa00933311a5b7a96be6e88750c98521d2ccb/scipy-1.15.0-cp312-cp312-win_amd64.whl", hash = "sha256:327163ad73e54541a675240708244644294cb0a65cca420c9c79baeb9648e479", size = 43622832 }, + { url = "https://files.pythonhosted.org/packages/4d/46/2fa07d5b53092b73c4bb416954d07d883b53be4a5bd6282c67e03c051225/scipy-1.15.0-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:0fcb16eb04d84670722ce8d93b05257df471704c913cb0ff9dc5a1c31d1e9422", size = 41438080 }, + { url = "https://files.pythonhosted.org/packages/55/05/77778b1127e170ffb484614691fdd8f9d2640dcf951d515f513debe5d0e0/scipy-1.15.0-cp313-cp313-macosx_12_0_arm64.whl", hash = "sha256:767e8cf6562931f8312f4faa7ddea412cb783d8df49e62c44d00d89f41f9bbe8", size = 32532932 }, + { url = "https://files.pythonhosted.org/packages/2b/9f/6de4970a2f524785d94a85f423a53b8c53d84917f2df702733ccdc9afd54/scipy-1.15.0-cp313-cp313-macosx_14_0_arm64.whl", hash = "sha256:37ce9394cdcd7c5f437583fc6ef91bd290014993900643fdfc7af9b052d1613b", size = 24806488 }, + { url = "https://files.pythonhosted.org/packages/65/ef/b1c1e2499189bbea109a6b022a6147dd4552d72bed19289b4d4e411c4ce7/scipy-1.15.0-cp313-cp313-macosx_14_0_x86_64.whl", hash = "sha256:6d26f17c64abd6c6c2dfb39920f61518cc9e213d034b45b2380e32ba78fde4c0", size = 27930055 }, + { url = "https://files.pythonhosted.org/packages/24/ec/6e4fe2a34a91102c806ecf9f45426f66bd604a5b5f48e951ce2bd770b2fe/scipy-1.15.0-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:1e2448acd79c6374583581a1ded32ac71a00c2b9c62dfa87a40e1dd2520be111", size = 38031212 }, + { url = "https://files.pythonhosted.org/packages/82/4d/ecef655956ce332edbc411ab64ab843d767dd86e646898ac721dbcc7910e/scipy-1.15.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:36be480e512d38db67f377add5b759fb117edd987f4791cdf58e59b26962bee4", size = 40209536 }, + { url = "https://files.pythonhosted.org/packages/c5/ec/3af823fcd86e3155ad7ed2b684634391e4524ff82735c26abed522fc5405/scipy-1.15.0-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:ccb6248a9987193fe74363a2d73b93bc2c546e0728bd786050b7aef6e17db03c", size = 42584473 }, + { url = "https://files.pythonhosted.org/packages/23/01/f0ec4236ba8a96353e56694160041d7d9bebd9a0231a1c9beedc6e75cd50/scipy-1.15.0-cp313-cp313-win_amd64.whl", hash = "sha256:952d2e9eaa787f0a9e95b6e85da3654791b57a156c3e6609e65cc5176ccfe6f2", size = 43639460 }, + { url = "https://files.pythonhosted.org/packages/e9/02/c8bccc5c4813eccfeeef6ed0effe42e2cf98199d350ca476c22029569edc/scipy-1.15.0-cp313-cp313t-macosx_10_13_x86_64.whl", hash = "sha256:b1432102254b6dc7766d081fa92df87832ac25ff0b3d3a940f37276e63eb74ff", size = 41642304 }, + { url = "https://files.pythonhosted.org/packages/27/7a/9191a8b61f5826f08932b6ae47d44fbf4f473beb307d8ca3ed96a216929f/scipy-1.15.0-cp313-cp313t-macosx_12_0_arm64.whl", hash = "sha256:4e08c6a36f46abaedf765dd2dfcd3698fa4bd7e311a9abb2d80e33d9b2d72c34", size = 32620019 }, + { url = "https://files.pythonhosted.org/packages/e6/17/9c8452c8a59f1ede4a7ba6ba03b8b44703cdd1f1217b649f470c216f3095/scipy-1.15.0-cp313-cp313t-macosx_14_0_arm64.whl", hash = "sha256:ec915cd26d76f6fc7ae8522f74f5b2accf39546f341c771bb2297f3871934a52", size = 24893299 }, + { url = "https://files.pythonhosted.org/packages/db/73/45c8566538bf9252be1e3e36b149714619c6f4d015a901cd76e257f88a37/scipy-1.15.0-cp313-cp313t-macosx_14_0_x86_64.whl", hash = "sha256:351899dd2a801edd3691622172bc8ea01064b1cada794f8641b89a7dc5418db6", size = 27955764 }, + { url = "https://files.pythonhosted.org/packages/9f/4e/8822a2cafcea8727430e9a0bf785e8f0e81aaaac1048dad764d522f0f1ec/scipy-1.15.0-cp313-cp313t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:e9baff912ea4f78a543d183ed6f5b3bea9784509b948227daaf6f10727a0e2e5", size = 39879164 }, + { url = "https://files.pythonhosted.org/packages/b1/27/b55549a4aba515d9a19b6384c2c2f976725cd19d5d41c58ffac9a4d98892/scipy-1.15.0-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:cd9d9198a7fd9a77f0eb5105ea9734df26f41faeb2a88a0e62e5245506f7b6df", size = 42091406 }, + { url = "https://files.pythonhosted.org/packages/79/df/989b2fd3f8ead6bcf89fc683fde94741eb3b291e41a3ce70cec08c80aa36/scipy-1.15.0-cp313-cp313t-win_amd64.whl", hash = "sha256:129f899ed275c0515d553b8d31696924e2ca87d1972421e46c376b9eb87de3d2", size = 43188844 }, +] + +[[package]] +name = "secretstorage" +version = "3.3.3" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "cryptography", marker = "(python_full_version < '3.10' and platform_machine != 'arm64') or sys_platform != 'darwin'" }, + { name = "jeepney", marker = "(python_full_version < '3.10' and platform_machine != 'arm64') or sys_platform != 'darwin'" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/53/a4/f48c9d79cb507ed1373477dbceaba7401fd8a23af63b837fa61f1dcd3691/SecretStorage-3.3.3.tar.gz", hash = "sha256:2403533ef369eca6d2ba81718576c5e0f564d5cca1b58f73a8b23e7d4eeebd77", size = 19739 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/54/24/b4293291fa1dd830f353d2cb163295742fa87f179fcc8a20a306a81978b7/SecretStorage-3.3.3-py3-none-any.whl", hash = "sha256:f356e6628222568e3af06f2eba8df495efa13b3b63081dafd4f7d9a7b7bc9f99", size = 15221 }, +] + +[[package]] +name = "send2trash" +version = "1.8.3" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/fd/3a/aec9b02217bb79b87bbc1a21bc6abc51e3d5dcf65c30487ac96c0908c722/Send2Trash-1.8.3.tar.gz", hash = "sha256:b18e7a3966d99871aefeb00cfbcfdced55ce4871194810fc71f4aa484b953abf", size = 17394 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/40/b0/4562db6223154aa4e22f939003cb92514c79f3d4dccca3444253fd17f902/Send2Trash-1.8.3-py3-none-any.whl", hash = "sha256:0c31227e0bd08961c7665474a3d1ef7193929fedda4233843689baa056be46c9", size = 18072 }, +] + +[[package]] +name = "setuptools" +version = "75.3.0" +source = { registry = "https://pypi.org/simple" } +resolution-markers = [ + "python_full_version < '3.9' and platform_machine == 'arm64' and sys_platform == 'darwin'", + "python_full_version < '3.9' and platform_machine == 'aarch64' and sys_platform == 'linux'", + "(python_full_version < '3.9' and platform_machine != 'arm64' and sys_platform == 'darwin') or (python_full_version < '3.9' and platform_machine != 'aarch64' and sys_platform == 'linux') or (python_full_version < '3.9' and sys_platform != 'darwin' and sys_platform != 'linux')", +] +sdist = { url = "https://files.pythonhosted.org/packages/ed/22/a438e0caa4576f8c383fa4d35f1cc01655a46c75be358960d815bfbb12bd/setuptools-75.3.0.tar.gz", hash = "sha256:fba5dd4d766e97be1b1681d98712680ae8f2f26d7881245f2ce9e40714f1a686", size = 1351577 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/90/12/282ee9bce8b58130cb762fbc9beabd531549952cac11fc56add11dcb7ea0/setuptools-75.3.0-py3-none-any.whl", hash = "sha256:f2504966861356aa38616760c0f66568e535562374995367b4e69c7143cf6bcd", size = 1251070 }, +] + +[[package]] +name = "setuptools" +version = "75.8.0" +source = { registry = "https://pypi.org/simple" } +resolution-markers = [ + "python_full_version >= '3.13' and sys_platform == 'darwin'", + "python_full_version >= '3.13' and platform_machine == 'aarch64' and sys_platform == 'linux'", + "(python_full_version >= '3.13' and platform_machine != 'aarch64' and sys_platform == 'linux') or (python_full_version >= '3.13' and sys_platform != 'darwin' and sys_platform != 'linux')", + "python_full_version == '3.12.*' and sys_platform == 'darwin'", + "python_full_version == '3.12.*' and platform_machine == 'aarch64' and sys_platform == 'linux'", + "(python_full_version == '3.12.*' and platform_machine != 'aarch64' and sys_platform == 'linux') or (python_full_version == '3.12.*' and sys_platform != 'darwin' and sys_platform != 'linux')", + "python_full_version == '3.11.*' and sys_platform == 'darwin'", + "python_full_version == '3.11.*' and platform_machine == 'aarch64' and sys_platform == 'linux'", + "(python_full_version == '3.11.*' and platform_machine != 'aarch64' and sys_platform == 'linux') or (python_full_version == '3.11.*' and sys_platform != 'darwin' and sys_platform != 'linux')", + "python_full_version == '3.10.*' and sys_platform == 'darwin'", + "python_full_version == '3.10.*' and platform_machine == 'aarch64' and sys_platform == 'linux'", + "(python_full_version == '3.10.*' and platform_machine != 'aarch64' and sys_platform == 'linux') or (python_full_version == '3.10.*' and sys_platform != 'darwin' and sys_platform != 'linux')", + "python_full_version == '3.9.*' and platform_machine == 'arm64' and sys_platform == 'darwin'", + "python_full_version == '3.9.*' and platform_machine == 'aarch64' and sys_platform == 'linux'", + "(python_full_version == '3.9.*' and platform_machine != 'arm64' and sys_platform == 'darwin') or (python_full_version == '3.9.*' and platform_machine != 'aarch64' and sys_platform == 'linux') or (python_full_version == '3.9.*' and sys_platform != 'darwin' and sys_platform != 'linux')", +] +sdist = { url = "https://files.pythonhosted.org/packages/92/ec/089608b791d210aec4e7f97488e67ab0d33add3efccb83a056cbafe3a2a6/setuptools-75.8.0.tar.gz", hash = "sha256:c5afc8f407c626b8313a86e10311dd3f661c6cd9c09d4bf8c15c0e11f9f2b0e6", size = 1343222 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/69/8a/b9dc7678803429e4a3bc9ba462fa3dd9066824d3c607490235c6a796be5a/setuptools-75.8.0-py3-none-any.whl", hash = "sha256:e3982f444617239225d675215d51f6ba05f845d4eec313da4418fdbb56fb27e3", size = 1228782 }, +] + +[[package]] +name = "six" +version = "1.17.0" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/94/e7/b2c673351809dca68a0e064b6af791aa332cf192da575fd474ed7d6f16a2/six-1.17.0.tar.gz", hash = "sha256:ff70335d468e7eb6ec65b95b99d3a2836546063f63acc5171de367e834932a81", size = 34031 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/b7/ce/149a00dd41f10bc29e5921b496af8b574d8413afcd5e30dfa0ed46c2cc5e/six-1.17.0-py2.py3-none-any.whl", hash = "sha256:4721f391ed90541fddacab5acf947aa0d3dc7d27b2e1e8eda2be8970586c3274", size = 11050 }, +] + +[[package]] +name = "smmap" +version = "5.0.2" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/44/cd/a040c4b3119bbe532e5b0732286f805445375489fceaec1f48306068ee3b/smmap-5.0.2.tar.gz", hash = "sha256:26ea65a03958fa0c8a1c7e8c7a58fdc77221b8910f6be2131affade476898ad5", size = 22329 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/04/be/d09147ad1ec7934636ad912901c5fd7667e1c858e19d355237db0d0cd5e4/smmap-5.0.2-py3-none-any.whl", hash = "sha256:b30115f0def7d7531d22a0fb6502488d879e75b260a9db4d0819cfb25403af5e", size = 24303 }, +] + +[[package]] +name = "sniffio" +version = "1.3.1" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/a2/87/a6771e1546d97e7e041b6ae58d80074f81b7d5121207425c964ddf5cfdbd/sniffio-1.3.1.tar.gz", hash = "sha256:f4324edc670a0f49750a81b895f35c3adb843cca46f0530f79fc1babb23789dc", size = 20372 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/e9/44/75a9c9421471a6c4805dbf2356f7c181a29c1879239abab1ea2cc8f38b40/sniffio-1.3.1-py3-none-any.whl", hash = "sha256:2f6da418d1f1e0fddd844478f41680e794e6051915791a034ff65e5f100525a2", size = 10235 }, +] + +[[package]] +name = "soupsieve" +version = "2.6" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/d7/ce/fbaeed4f9fb8b2daa961f90591662df6a86c1abf25c548329a86920aedfb/soupsieve-2.6.tar.gz", hash = "sha256:e2e68417777af359ec65daac1057404a3c8a5455bb8abc36f1a9866ab1a51abb", size = 101569 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/d1/c2/fe97d779f3ef3b15f05c94a2f1e3d21732574ed441687474db9d342a7315/soupsieve-2.6-py3-none-any.whl", hash = "sha256:e72c4ff06e4fb6e4b5a9f0f55fe6e81514581fca1515028625d0f299c602ccc9", size = 36186 }, +] + +[[package]] +name = "stack-data" +version = "0.6.3" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "asttokens" }, + { name = "executing" }, + { name = "pure-eval" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/28/e3/55dcc2cfbc3ca9c29519eb6884dd1415ecb53b0e934862d3559ddcb7e20b/stack_data-0.6.3.tar.gz", hash = "sha256:836a778de4fec4dcd1dcd89ed8abff8a221f58308462e1c4aa2a3cf30148f0b9", size = 44707 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/f1/7b/ce1eafaf1a76852e2ec9b22edecf1daa58175c090266e9f6c64afcd81d91/stack_data-0.6.3-py3-none-any.whl", hash = "sha256:d5558e0c25a4cb0853cddad3d77da9891a08cb85dd9f9f91b9f8cd66e511e695", size = 24521 }, +] + +[[package]] +name = "supervision" +version = "0.26.0rc2" +source = { editable = "." } +dependencies = [ + { name = "defusedxml" }, + { name = "matplotlib", version = "3.7.5", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.9'" }, + { name = "matplotlib", version = "3.9.4", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version == '3.9.*'" }, + { name = "matplotlib", version = "3.10.0", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.10'" }, + { name = "numpy", version = "1.24.4", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.9'" }, + { name = "numpy", version = "1.25.2", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.9' and python_full_version < '3.12'" }, + { name = "numpy", version = "2.0.2", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version == '3.12.*'" }, + { name = "numpy", version = "2.2.1", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.13'" }, + { name = "opencv-python" }, + { name = "pillow" }, + { name = "pyyaml" }, + { name = "requests" }, + { name = "scipy", version = "1.10.0", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.9'" }, + { name = "scipy", version = "1.13.1", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version == '3.9.*'" }, + { name = "scipy", version = "1.14.0", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.10' and python_full_version < '3.13'" }, + { name = "scipy", version = "1.15.0", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.13'" }, + { name = "tqdm" }, +] + +[package.optional-dependencies] +build = [ + { name = "build" }, + { name = "twine" }, + { name = "wheel" }, +] +dev = [ + { name = "docutils", version = "0.20.1", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.9'" }, + { name = "docutils", version = "0.21.2", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.9'" }, + { name = "ipywidgets" }, + { name = "jupytext" }, + { name = "nbconvert" }, + { name = "notebook" }, + { name = "pytest" }, + { name = "tox" }, +] +docs = [ + { name = "mike" }, + { name = "mkdocs-git-committers-plugin-2", marker = "python_full_version < '4'" }, + { name = "mkdocs-git-revision-date-localized-plugin" }, + { name = "mkdocs-jupyter", version = "0.24.8", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.9'" }, + { name = "mkdocs-jupyter", version = "0.25.1", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.9'" }, + { name = "mkdocs-material", extra = ["imaging"] }, + { name = "mkdocstrings", version = "0.26.1", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.9'" }, + { name = "mkdocstrings", version = "0.26.2", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.9'" }, + { name = "mkdocstrings-python", version = "1.11.1", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.9'" }, + { name = "mkdocstrings-python", version = "1.13.0", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.9'" }, +] +metrics = [ + { name = "pandas", version = "2.0.3", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.9'" }, + { name = "pandas", version = "2.2.3", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.9'" }, +] + +[package.metadata] +requires-dist = [ + { name = "build", marker = "extra == 'build'", specifier = ">=0.10,<1.3" }, + { name = "defusedxml", specifier = ">=0.7.1" }, + { name = "docutils", marker = "extra == 'dev'", specifier = "!=0.21" }, + { name = "ipywidgets", marker = "extra == 'dev'", specifier = ">=8.1.1" }, + { name = "jupytext", marker = "extra == 'dev'", specifier = ">=1.16.1" }, + { name = "matplotlib", specifier = ">=3.6.0" }, + { name = "mike", marker = "extra == 'docs'", specifier = ">=2.0.0" }, + { name = "mkdocs-git-committers-plugin-2", marker = "python_full_version >= '3.8' and python_full_version < '4' and extra == 'docs'", specifier = ">=2.4.1" }, + { name = "mkdocs-git-revision-date-localized-plugin", marker = "extra == 'docs'", specifier = ">=1.2.4" }, + { name = "mkdocs-jupyter", marker = "extra == 'docs'", specifier = ">=0.24.3" }, + { name = "mkdocs-material", extras = ["imaging"], marker = "extra == 'docs'", specifier = ">=9.5.5" }, + { name = "mkdocstrings", marker = "extra == 'docs'", specifier = ">=0.25.2,<0.27.0" }, + { name = "mkdocstrings-python", marker = "extra == 'docs'", specifier = ">=1.10.9" }, + { name = "nbconvert", marker = "extra == 'dev'", specifier = ">=7.14.2" }, + { name = "notebook", marker = "extra == 'dev'", specifier = ">=6.5.3,<8.0.0" }, + { name = "numpy", marker = "python_full_version < '3.12'", specifier = ">=1.21.2,<1.26.0" }, + { name = "numpy", marker = "python_full_version == '3.12.*'", specifier = ">=1.26.0,<2.1.0" }, + { name = "numpy", marker = "python_full_version >= '3.13'", specifier = ">=2.1.0" }, + { name = "opencv-python", specifier = ">=4.5.5.64" }, + { name = "pandas", marker = "python_full_version >= '3.13' and extra == 'metrics'", specifier = ">=2.2.3" }, + { name = "pandas", marker = "python_full_version < '3.13' and extra == 'metrics'", specifier = ">=2.0.0" }, + { name = "pillow", specifier = ">=9.4" }, + { name = "pytest", marker = "extra == 'dev'", specifier = ">=7.2.2,<9.0.0" }, + { name = "pyyaml", specifier = ">=5.3" }, + { name = "requests", specifier = ">=2.26.0" }, + { name = "scipy", marker = "python_full_version < '3.9'", specifier = "==1.10.0" }, + { name = "scipy", marker = "python_full_version >= '3.9' and python_full_version < '3.13'", specifier = ">=1.10.0,<1.14.1" }, + { name = "scipy", marker = "python_full_version >= '3.13'", specifier = ">=1.14.1" }, + { name = "tox", marker = "extra == 'dev'", specifier = ">=4.11.4" }, + { name = "tqdm", specifier = ">=4.62.3" }, + { name = "twine", marker = "extra == 'build'", specifier = ">=5.1.1,<7.0.0" }, + { name = "wheel", marker = "extra == 'build'", specifier = ">=0.40,<0.46" }, +] + +[[package]] +name = "terminado" +version = "0.18.1" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "ptyprocess", marker = "os_name != 'nt'" }, + { name = "pywinpty", marker = "(python_full_version < '3.10' and os_name == 'nt' and platform_machine != 'arm64' and sys_platform == 'darwin') or (os_name == 'nt' and platform_machine != 'aarch64' and sys_platform == 'linux') or (os_name == 'nt' and sys_platform != 'darwin' and sys_platform != 'linux')" }, + { name = "tornado" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/8a/11/965c6fd8e5cc254f1fe142d547387da17a8ebfd75a3455f637c663fb38a0/terminado-0.18.1.tar.gz", hash = "sha256:de09f2c4b85de4765f7714688fff57d3e75bad1f909b589fde880460c753fd2e", size = 32701 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/6a/9e/2064975477fdc887e47ad42157e214526dcad8f317a948dee17e1659a62f/terminado-0.18.1-py3-none-any.whl", hash = "sha256:a4468e1b37bb318f8a86514f65814e1afc977cf29b3992a4500d9dd305dcceb0", size = 14154 }, +] + +[[package]] +name = "tinycss2" +version = "1.2.1" +source = { registry = "https://pypi.org/simple" } +resolution-markers = [ + "python_full_version < '3.9' and platform_machine == 'arm64' and sys_platform == 'darwin'", + "python_full_version < '3.9' and platform_machine == 'aarch64' and sys_platform == 'linux'", + "(python_full_version < '3.9' and platform_machine != 'arm64' and sys_platform == 'darwin') or (python_full_version < '3.9' and platform_machine != 'aarch64' and sys_platform == 'linux') or (python_full_version < '3.9' and sys_platform != 'darwin' and sys_platform != 'linux')", +] +dependencies = [ + { name = "webencodings", marker = "python_full_version < '3.9'" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/75/be/24179dfaa1d742c9365cbd0e3f0edc5d3aa3abad415a2327c5a6ff8ca077/tinycss2-1.2.1.tar.gz", hash = "sha256:8cff3a8f066c2ec677c06dbc7b45619804a6938478d9d73c284b29d14ecb0627", size = 65957 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/da/99/fd23634d6962c2791fb8cb6ccae1f05dcbfc39bce36bba8b1c9a8d92eae8/tinycss2-1.2.1-py3-none-any.whl", hash = "sha256:2b80a96d41e7c3914b8cda8bc7f705a4d9c49275616e886103dd839dfc847847", size = 21824 }, +] + +[[package]] +name = "tinycss2" +version = "1.4.0" +source = { registry = "https://pypi.org/simple" } +resolution-markers = [ + "python_full_version >= '3.13' and sys_platform == 'darwin'", + "python_full_version >= '3.13' and platform_machine == 'aarch64' and sys_platform == 'linux'", + "(python_full_version >= '3.13' and platform_machine != 'aarch64' and sys_platform == 'linux') or (python_full_version >= '3.13' and sys_platform != 'darwin' and sys_platform != 'linux')", + "python_full_version == '3.12.*' and sys_platform == 'darwin'", + "python_full_version == '3.12.*' and platform_machine == 'aarch64' and sys_platform == 'linux'", + "(python_full_version == '3.12.*' and platform_machine != 'aarch64' and sys_platform == 'linux') or (python_full_version == '3.12.*' and sys_platform != 'darwin' and sys_platform != 'linux')", + "python_full_version == '3.11.*' and sys_platform == 'darwin'", + "python_full_version == '3.11.*' and platform_machine == 'aarch64' and sys_platform == 'linux'", + "(python_full_version == '3.11.*' and platform_machine != 'aarch64' and sys_platform == 'linux') or (python_full_version == '3.11.*' and sys_platform != 'darwin' and sys_platform != 'linux')", + "python_full_version == '3.10.*' and sys_platform == 'darwin'", + "python_full_version == '3.10.*' and platform_machine == 'aarch64' and sys_platform == 'linux'", + "(python_full_version == '3.10.*' and platform_machine != 'aarch64' and sys_platform == 'linux') or (python_full_version == '3.10.*' and sys_platform != 'darwin' and sys_platform != 'linux')", + "python_full_version == '3.9.*' and platform_machine == 'arm64' and sys_platform == 'darwin'", + "python_full_version == '3.9.*' and platform_machine == 'aarch64' and sys_platform == 'linux'", + "(python_full_version == '3.9.*' and platform_machine != 'arm64' and sys_platform == 'darwin') or (python_full_version == '3.9.*' and platform_machine != 'aarch64' and sys_platform == 'linux') or (python_full_version == '3.9.*' and sys_platform != 'darwin' and sys_platform != 'linux')", +] +dependencies = [ + { name = "webencodings", marker = "python_full_version >= '3.9'" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/7a/fd/7a5ee21fd08ff70d3d33a5781c255cbe779659bd03278feb98b19ee550f4/tinycss2-1.4.0.tar.gz", hash = "sha256:10c0972f6fc0fbee87c3edb76549357415e94548c1ae10ebccdea16fb404a9b7", size = 87085 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/e6/34/ebdc18bae6aa14fbee1a08b63c015c72b64868ff7dae68808ab500c492e2/tinycss2-1.4.0-py3-none-any.whl", hash = "sha256:3a49cf47b7675da0b15d0c6e1df8df4ebd96e9394bb905a5775adb0d884c5289", size = 26610 }, +] + +[[package]] +name = "tomli" +version = "2.2.1" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/18/87/302344fed471e44a87289cf4967697d07e532f2421fdaf868a303cbae4ff/tomli-2.2.1.tar.gz", hash = "sha256:cd45e1dc79c835ce60f7404ec8119f2eb06d38b1deba146f07ced3bbc44505ff", size = 17175 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/43/ca/75707e6efa2b37c77dadb324ae7d9571cb424e61ea73fad7c56c2d14527f/tomli-2.2.1-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:678e4fa69e4575eb77d103de3df8a895e1591b48e740211bd1067378c69e8249", size = 131077 }, + { url = "https://files.pythonhosted.org/packages/c7/16/51ae563a8615d472fdbffc43a3f3d46588c264ac4f024f63f01283becfbb/tomli-2.2.1-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:023aa114dd824ade0100497eb2318602af309e5a55595f76b626d6d9f3b7b0a6", size = 123429 }, + { url = "https://files.pythonhosted.org/packages/f1/dd/4f6cd1e7b160041db83c694abc78e100473c15d54620083dbd5aae7b990e/tomli-2.2.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:ece47d672db52ac607a3d9599a9d48dcb2f2f735c6c2d1f34130085bb12b112a", size = 226067 }, + { url = "https://files.pythonhosted.org/packages/a9/6b/c54ede5dc70d648cc6361eaf429304b02f2871a345bbdd51e993d6cdf550/tomli-2.2.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:6972ca9c9cc9f0acaa56a8ca1ff51e7af152a9f87fb64623e31d5c83700080ee", size = 236030 }, + { url = "https://files.pythonhosted.org/packages/1f/47/999514fa49cfaf7a92c805a86c3c43f4215621855d151b61c602abb38091/tomli-2.2.1-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:c954d2250168d28797dd4e3ac5cf812a406cd5a92674ee4c8f123c889786aa8e", size = 240898 }, + { url = "https://files.pythonhosted.org/packages/73/41/0a01279a7ae09ee1573b423318e7934674ce06eb33f50936655071d81a24/tomli-2.2.1-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:8dd28b3e155b80f4d54beb40a441d366adcfe740969820caf156c019fb5c7ec4", size = 229894 }, + { url = "https://files.pythonhosted.org/packages/55/18/5d8bc5b0a0362311ce4d18830a5d28943667599a60d20118074ea1b01bb7/tomli-2.2.1-cp311-cp311-musllinux_1_2_i686.whl", hash = "sha256:e59e304978767a54663af13c07b3d1af22ddee3bb2fb0618ca1593e4f593a106", size = 245319 }, + { url = "https://files.pythonhosted.org/packages/92/a3/7ade0576d17f3cdf5ff44d61390d4b3febb8a9fc2b480c75c47ea048c646/tomli-2.2.1-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:33580bccab0338d00994d7f16f4c4ec25b776af3ffaac1ed74e0b3fc95e885a8", size = 238273 }, + { url = "https://files.pythonhosted.org/packages/72/6f/fa64ef058ac1446a1e51110c375339b3ec6be245af9d14c87c4a6412dd32/tomli-2.2.1-cp311-cp311-win32.whl", hash = "sha256:465af0e0875402f1d226519c9904f37254b3045fc5084697cefb9bdde1ff99ff", size = 98310 }, + { url = "https://files.pythonhosted.org/packages/6a/1c/4a2dcde4a51b81be3530565e92eda625d94dafb46dbeb15069df4caffc34/tomli-2.2.1-cp311-cp311-win_amd64.whl", hash = "sha256:2d0f2fdd22b02c6d81637a3c95f8cd77f995846af7414c5c4b8d0545afa1bc4b", size = 108309 }, + { url = "https://files.pythonhosted.org/packages/52/e1/f8af4c2fcde17500422858155aeb0d7e93477a0d59a98e56cbfe75070fd0/tomli-2.2.1-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:4a8f6e44de52d5e6c657c9fe83b562f5f4256d8ebbfe4ff922c495620a7f6cea", size = 132762 }, + { url = "https://files.pythonhosted.org/packages/03/b8/152c68bb84fc00396b83e7bbddd5ec0bd3dd409db4195e2a9b3e398ad2e3/tomli-2.2.1-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:8d57ca8095a641b8237d5b079147646153d22552f1c637fd3ba7f4b0b29167a8", size = 123453 }, + { url = "https://files.pythonhosted.org/packages/c8/d6/fc9267af9166f79ac528ff7e8c55c8181ded34eb4b0e93daa767b8841573/tomli-2.2.1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:4e340144ad7ae1533cb897d406382b4b6fede8890a03738ff1683af800d54192", size = 233486 }, + { url = "https://files.pythonhosted.org/packages/5c/51/51c3f2884d7bab89af25f678447ea7d297b53b5a3b5730a7cb2ef6069f07/tomli-2.2.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:db2b95f9de79181805df90bedc5a5ab4c165e6ec3fe99f970d0e302f384ad222", size = 242349 }, + { url = "https://files.pythonhosted.org/packages/ab/df/bfa89627d13a5cc22402e441e8a931ef2108403db390ff3345c05253935e/tomli-2.2.1-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:40741994320b232529c802f8bc86da4e1aa9f413db394617b9a256ae0f9a7f77", size = 252159 }, + { url = "https://files.pythonhosted.org/packages/9e/6e/fa2b916dced65763a5168c6ccb91066f7639bdc88b48adda990db10c8c0b/tomli-2.2.1-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:400e720fe168c0f8521520190686ef8ef033fb19fc493da09779e592861b78c6", size = 237243 }, + { url = "https://files.pythonhosted.org/packages/b4/04/885d3b1f650e1153cbb93a6a9782c58a972b94ea4483ae4ac5cedd5e4a09/tomli-2.2.1-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:02abe224de6ae62c19f090f68da4e27b10af2b93213d36cf44e6e1c5abd19fdd", size = 259645 }, + { url = "https://files.pythonhosted.org/packages/9c/de/6b432d66e986e501586da298e28ebeefd3edc2c780f3ad73d22566034239/tomli-2.2.1-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:b82ebccc8c8a36f2094e969560a1b836758481f3dc360ce9a3277c65f374285e", size = 244584 }, + { url = "https://files.pythonhosted.org/packages/1c/9a/47c0449b98e6e7d1be6cbac02f93dd79003234ddc4aaab6ba07a9a7482e2/tomli-2.2.1-cp312-cp312-win32.whl", hash = "sha256:889f80ef92701b9dbb224e49ec87c645ce5df3fa2cc548664eb8a25e03127a98", size = 98875 }, + { url = "https://files.pythonhosted.org/packages/ef/60/9b9638f081c6f1261e2688bd487625cd1e660d0a85bd469e91d8db969734/tomli-2.2.1-cp312-cp312-win_amd64.whl", hash = "sha256:7fc04e92e1d624a4a63c76474610238576942d6b8950a2d7f908a340494e67e4", size = 109418 }, + { url = "https://files.pythonhosted.org/packages/04/90/2ee5f2e0362cb8a0b6499dc44f4d7d48f8fff06d28ba46e6f1eaa61a1388/tomli-2.2.1-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:f4039b9cbc3048b2416cc57ab3bda989a6fcf9b36cf8937f01a6e731b64f80d7", size = 132708 }, + { url = "https://files.pythonhosted.org/packages/c0/ec/46b4108816de6b385141f082ba99e315501ccd0a2ea23db4a100dd3990ea/tomli-2.2.1-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:286f0ca2ffeeb5b9bd4fcc8d6c330534323ec51b2f52da063b11c502da16f30c", size = 123582 }, + { url = "https://files.pythonhosted.org/packages/a0/bd/b470466d0137b37b68d24556c38a0cc819e8febe392d5b199dcd7f578365/tomli-2.2.1-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a92ef1a44547e894e2a17d24e7557a5e85a9e1d0048b0b5e7541f76c5032cb13", size = 232543 }, + { url = "https://files.pythonhosted.org/packages/d9/e5/82e80ff3b751373f7cead2815bcbe2d51c895b3c990686741a8e56ec42ab/tomli-2.2.1-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:9316dc65bed1684c9a98ee68759ceaed29d229e985297003e494aa825ebb0281", size = 241691 }, + { url = "https://files.pythonhosted.org/packages/05/7e/2a110bc2713557d6a1bfb06af23dd01e7dde52b6ee7dadc589868f9abfac/tomli-2.2.1-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:e85e99945e688e32d5a35c1ff38ed0b3f41f43fad8df0bdf79f72b2ba7bc5272", size = 251170 }, + { url = "https://files.pythonhosted.org/packages/64/7b/22d713946efe00e0adbcdfd6d1aa119ae03fd0b60ebed51ebb3fa9f5a2e5/tomli-2.2.1-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:ac065718db92ca818f8d6141b5f66369833d4a80a9d74435a268c52bdfa73140", size = 236530 }, + { url = "https://files.pythonhosted.org/packages/38/31/3a76f67da4b0cf37b742ca76beaf819dca0ebef26d78fc794a576e08accf/tomli-2.2.1-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:d920f33822747519673ee656a4b6ac33e382eca9d331c87770faa3eef562aeb2", size = 258666 }, + { url = "https://files.pythonhosted.org/packages/07/10/5af1293da642aded87e8a988753945d0cf7e00a9452d3911dd3bb354c9e2/tomli-2.2.1-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:a198f10c4d1b1375d7687bc25294306e551bf1abfa4eace6650070a5c1ae2744", size = 243954 }, + { url = "https://files.pythonhosted.org/packages/5b/b9/1ed31d167be802da0fc95020d04cd27b7d7065cc6fbefdd2f9186f60d7bd/tomli-2.2.1-cp313-cp313-win32.whl", hash = "sha256:d3f5614314d758649ab2ab3a62d4f2004c825922f9e370b29416484086b264ec", size = 98724 }, + { url = "https://files.pythonhosted.org/packages/c7/32/b0963458706accd9afcfeb867c0f9175a741bf7b19cd424230714d722198/tomli-2.2.1-cp313-cp313-win_amd64.whl", hash = "sha256:a38aa0308e754b0e3c67e344754dff64999ff9b513e691d0e786265c93583c69", size = 109383 }, + { url = "https://files.pythonhosted.org/packages/6e/c2/61d3e0f47e2b74ef40a68b9e6ad5984f6241a942f7cd3bbfbdbd03861ea9/tomli-2.2.1-py3-none-any.whl", hash = "sha256:cb55c73c5f4408779d0cf3eef9f762b9c9f147a77de7b258bef0a5628adc85cc", size = 14257 }, +] + +[[package]] +name = "tornado" +version = "6.4.2" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/59/45/a0daf161f7d6f36c3ea5fc0c2de619746cc3dd4c76402e9db545bd920f63/tornado-6.4.2.tar.gz", hash = "sha256:92bad5b4746e9879fd7bf1eb21dce4e3fc5128d71601f80005afa39237ad620b", size = 501135 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/26/7e/71f604d8cea1b58f82ba3590290b66da1e72d840aeb37e0d5f7291bd30db/tornado-6.4.2-cp38-abi3-macosx_10_9_universal2.whl", hash = "sha256:e828cce1123e9e44ae2a50a9de3055497ab1d0aeb440c5ac23064d9e44880da1", size = 436299 }, + { url = "https://files.pythonhosted.org/packages/96/44/87543a3b99016d0bf54fdaab30d24bf0af2e848f1d13d34a3a5380aabe16/tornado-6.4.2-cp38-abi3-macosx_10_9_x86_64.whl", hash = "sha256:072ce12ada169c5b00b7d92a99ba089447ccc993ea2143c9ede887e0937aa803", size = 434253 }, + { url = "https://files.pythonhosted.org/packages/cb/fb/fdf679b4ce51bcb7210801ef4f11fdac96e9885daa402861751353beea6e/tornado-6.4.2-cp38-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:1a017d239bd1bb0919f72af256a970624241f070496635784d9bf0db640d3fec", size = 437602 }, + { url = "https://files.pythonhosted.org/packages/4f/3b/e31aeffffc22b475a64dbeb273026a21b5b566f74dee48742817626c47dc/tornado-6.4.2-cp38-abi3-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:c36e62ce8f63409301537222faffcef7dfc5284f27eec227389f2ad11b09d946", size = 436972 }, + { url = "https://files.pythonhosted.org/packages/22/55/b78a464de78051a30599ceb6983b01d8f732e6f69bf37b4ed07f642ac0fc/tornado-6.4.2-cp38-abi3-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:bca9eb02196e789c9cb5c3c7c0f04fb447dc2adffd95265b2c7223a8a615ccbf", size = 437173 }, + { url = "https://files.pythonhosted.org/packages/79/5e/be4fb0d1684eb822c9a62fb18a3e44a06188f78aa466b2ad991d2ee31104/tornado-6.4.2-cp38-abi3-musllinux_1_2_aarch64.whl", hash = "sha256:304463bd0772442ff4d0f5149c6f1c2135a1fae045adf070821c6cdc76980634", size = 437892 }, + { url = "https://files.pythonhosted.org/packages/f5/33/4f91fdd94ea36e1d796147003b490fe60a0215ac5737b6f9c65e160d4fe0/tornado-6.4.2-cp38-abi3-musllinux_1_2_i686.whl", hash = "sha256:c82c46813ba483a385ab2a99caeaedf92585a1f90defb5693351fa7e4ea0bf73", size = 437334 }, + { url = "https://files.pythonhosted.org/packages/2b/ae/c1b22d4524b0e10da2f29a176fb2890386f7bd1f63aacf186444873a88a0/tornado-6.4.2-cp38-abi3-musllinux_1_2_x86_64.whl", hash = "sha256:932d195ca9015956fa502c6b56af9eb06106140d844a335590c1ec7f5277d10c", size = 437261 }, + { url = "https://files.pythonhosted.org/packages/b5/25/36dbd49ab6d179bcfc4c6c093a51795a4f3bed380543a8242ac3517a1751/tornado-6.4.2-cp38-abi3-win32.whl", hash = "sha256:2876cef82e6c5978fde1e0d5b1f919d756968d5b4282418f3146b79b58556482", size = 438463 }, + { url = "https://files.pythonhosted.org/packages/61/cc/58b1adeb1bb46228442081e746fcdbc4540905c87e8add7c277540934edb/tornado-6.4.2-cp38-abi3-win_amd64.whl", hash = "sha256:908b71bf3ff37d81073356a5fadcc660eb10c1476ee6e2725588626ce7e5ca38", size = 438907 }, +] + +[[package]] +name = "tox" +version = "4.23.2" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "cachetools" }, + { name = "chardet" }, + { name = "colorama" }, + { name = "filelock" }, + { name = "packaging" }, + { name = "platformdirs" }, + { name = "pluggy" }, + { name = "pyproject-api" }, + { name = "tomli", marker = "python_full_version < '3.11'" }, + { name = "typing-extensions", marker = "python_full_version < '3.11'" }, + { name = "virtualenv" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/1f/86/32b10f91b4b975a37ac402b0f9fa016775088e0565c93602ba0b3c729ce8/tox-4.23.2.tar.gz", hash = "sha256:86075e00e555df6e82e74cfc333917f91ecb47ffbc868dcafbd2672e332f4a2c", size = 189998 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/af/c0/124b73d01c120e917383bc6c53ebc34efdf7243faa9fca64d105c94cf2ab/tox-4.23.2-py3-none-any.whl", hash = "sha256:452bc32bb031f2282881a2118923176445bac783ab97c874b8770ab4c3b76c38", size = 166758 }, +] + +[[package]] +name = "tqdm" +version = "4.67.1" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "colorama", marker = "sys_platform == 'win32'" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/a8/4b/29b4ef32e036bb34e4ab51796dd745cdba7ed47ad142a9f4a1eb8e0c744d/tqdm-4.67.1.tar.gz", hash = "sha256:f8aef9c52c08c13a65f30ea34f4e5aac3fd1a34959879d7e59e63027286627f2", size = 169737 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/d0/30/dc54f88dd4a2b5dc8a0279bdd7270e735851848b762aeb1c1184ed1f6b14/tqdm-4.67.1-py3-none-any.whl", hash = "sha256:26445eca388f82e72884e0d580d5464cd801a3ea01e63e5601bdff9ba6a48de2", size = 78540 }, +] + +[[package]] +name = "traitlets" +version = "5.14.3" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/eb/79/72064e6a701c2183016abbbfedaba506d81e30e232a68c9f0d6f6fcd1574/traitlets-5.14.3.tar.gz", hash = "sha256:9ed0579d3502c94b4b3732ac120375cda96f923114522847de4b3bb98b96b6b7", size = 161621 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/00/c0/8f5d070730d7836adc9c9b6408dec68c6ced86b304a9b26a14df072a6e8c/traitlets-5.14.3-py3-none-any.whl", hash = "sha256:b74e89e397b1ed28cc831db7aea759ba6640cb3de13090ca145426688ff1ac4f", size = 85359 }, +] + +[[package]] +name = "twine" +version = "6.0.1" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "importlib-metadata", marker = "python_full_version < '3.10'" }, + { name = "keyring", version = "25.5.0", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.9' and platform_machine != 'ppc64le' and platform_machine != 's390x'" }, + { name = "keyring", version = "25.6.0", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.9' and platform_machine != 'ppc64le' and platform_machine != 's390x'" }, + { name = "packaging" }, + { name = "pkginfo" }, + { name = "readme-renderer", version = "43.0", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.9'" }, + { name = "readme-renderer", version = "44.0", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.9'" }, + { name = "requests" }, + { name = "requests-toolbelt" }, + { name = "rfc3986" }, + { name = "rich" }, + { name = "urllib3", version = "2.2.3", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.9'" }, + { name = "urllib3", version = "2.3.0", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.9'" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/2c/33/88b80116504b61759fa2db05e13f2296b0d2e73568f5e731d020c13843b8/twine-6.0.1.tar.gz", hash = "sha256:36158b09df5406e1c9c1fb8edb24fc2be387709443e7376689b938531582ee27", size = 227175 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/21/df/dda5f85131ecc0d31e10f6dc6be98440ef9f685947917b86f462eed6864b/twine-6.0.1-py3-none-any.whl", hash = "sha256:9c6025b203b51521d53e200f4a08b116dee7500a38591668c6a6033117bdc218", size = 39398 }, +] + +[[package]] +name = "types-python-dateutil" +version = "2.9.0.20241206" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/a9/60/47d92293d9bc521cd2301e423a358abfac0ad409b3a1606d8fbae1321961/types_python_dateutil-2.9.0.20241206.tar.gz", hash = "sha256:18f493414c26ffba692a72369fea7a154c502646301ebfe3d56a04b3767284cb", size = 13802 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/0f/b3/ca41df24db5eb99b00d97f89d7674a90cb6b3134c52fb8121b6d8d30f15c/types_python_dateutil-2.9.0.20241206-py3-none-any.whl", hash = "sha256:e248a4bc70a486d3e3ec84d0dc30eec3a5f979d6e7ee4123ae043eedbb987f53", size = 14384 }, +] + +[[package]] +name = "typing-extensions" +version = "4.12.2" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/df/db/f35a00659bc03fec321ba8bce9420de607a1d37f8342eee1863174c69557/typing_extensions-4.12.2.tar.gz", hash = "sha256:1a7ead55c7e559dd4dee8856e3a88b41225abfe1ce8df57b7c13915fe121ffb8", size = 85321 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/26/9f/ad63fc0248c5379346306f8668cda6e2e2e9c95e01216d2b8ffd9ff037d0/typing_extensions-4.12.2-py3-none-any.whl", hash = "sha256:04e5ca0351e0f3f85c6853954072df659d0d13fac324d0072316b67d7794700d", size = 37438 }, +] + +[[package]] +name = "tzdata" +version = "2024.2" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/e1/34/943888654477a574a86a98e9896bae89c7aa15078ec29f490fef2f1e5384/tzdata-2024.2.tar.gz", hash = "sha256:7d85cc416e9382e69095b7bdf4afd9e3880418a2413feec7069d533d6b4e31cc", size = 193282 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/a6/ab/7e5f53c3b9d14972843a647d8d7a853969a58aecc7559cb3267302c94774/tzdata-2024.2-py2.py3-none-any.whl", hash = "sha256:a48093786cdcde33cad18c2555e8532f34422074448fbc874186f0abd79565cd", size = 346586 }, +] + +[[package]] +name = "uri-template" +version = "1.3.0" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/31/c7/0336f2bd0bcbada6ccef7aaa25e443c118a704f828a0620c6fa0207c1b64/uri-template-1.3.0.tar.gz", hash = "sha256:0e00f8eb65e18c7de20d595a14336e9f337ead580c70934141624b6d1ffdacc7", size = 21678 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/e7/00/3fca040d7cf8a32776d3d81a00c8ee7457e00f80c649f1e4a863c8321ae9/uri_template-1.3.0-py3-none-any.whl", hash = "sha256:a44a133ea12d44a0c0f06d7d42a52d71282e77e2f937d8abd5655b8d56fc1363", size = 11140 }, +] + +[[package]] +name = "urllib3" +version = "2.2.3" +source = { registry = "https://pypi.org/simple" } +resolution-markers = [ + "python_full_version < '3.9' and platform_machine == 'arm64' and sys_platform == 'darwin'", + "python_full_version < '3.9' and platform_machine == 'aarch64' and sys_platform == 'linux'", + "(python_full_version < '3.9' and platform_machine != 'arm64' and sys_platform == 'darwin') or (python_full_version < '3.9' and platform_machine != 'aarch64' and sys_platform == 'linux') or (python_full_version < '3.9' and sys_platform != 'darwin' and sys_platform != 'linux')", +] +sdist = { url = "https://files.pythonhosted.org/packages/ed/63/22ba4ebfe7430b76388e7cd448d5478814d3032121827c12a2cc287e2260/urllib3-2.2.3.tar.gz", hash = "sha256:e7d814a81dad81e6caf2ec9fdedb284ecc9c73076b62654547cc64ccdcae26e9", size = 300677 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/ce/d9/5f4c13cecde62396b0d3fe530a50ccea91e7dfc1ccf0e09c228841bb5ba8/urllib3-2.2.3-py3-none-any.whl", hash = "sha256:ca899ca043dcb1bafa3e262d73aa25c465bfb49e0bd9dd5d59f1d0acba2f8fac", size = 126338 }, +] + +[[package]] +name = "urllib3" +version = "2.3.0" +source = { registry = "https://pypi.org/simple" } +resolution-markers = [ + "python_full_version >= '3.13' and sys_platform == 'darwin'", + "python_full_version >= '3.13' and platform_machine == 'aarch64' and sys_platform == 'linux'", + "(python_full_version >= '3.13' and platform_machine != 'aarch64' and sys_platform == 'linux') or (python_full_version >= '3.13' and sys_platform != 'darwin' and sys_platform != 'linux')", + "python_full_version == '3.12.*' and sys_platform == 'darwin'", + "python_full_version == '3.12.*' and platform_machine == 'aarch64' and sys_platform == 'linux'", + "(python_full_version == '3.12.*' and platform_machine != 'aarch64' and sys_platform == 'linux') or (python_full_version == '3.12.*' and sys_platform != 'darwin' and sys_platform != 'linux')", + "python_full_version == '3.11.*' and sys_platform == 'darwin'", + "python_full_version == '3.11.*' and platform_machine == 'aarch64' and sys_platform == 'linux'", + "(python_full_version == '3.11.*' and platform_machine != 'aarch64' and sys_platform == 'linux') or (python_full_version == '3.11.*' and sys_platform != 'darwin' and sys_platform != 'linux')", + "python_full_version == '3.10.*' and sys_platform == 'darwin'", + "python_full_version == '3.10.*' and platform_machine == 'aarch64' and sys_platform == 'linux'", + "(python_full_version == '3.10.*' and platform_machine != 'aarch64' and sys_platform == 'linux') or (python_full_version == '3.10.*' and sys_platform != 'darwin' and sys_platform != 'linux')", + "python_full_version == '3.9.*' and platform_machine == 'arm64' and sys_platform == 'darwin'", + "python_full_version == '3.9.*' and platform_machine == 'aarch64' and sys_platform == 'linux'", + "(python_full_version == '3.9.*' and platform_machine != 'arm64' and sys_platform == 'darwin') or (python_full_version == '3.9.*' and platform_machine != 'aarch64' and sys_platform == 'linux') or (python_full_version == '3.9.*' and sys_platform != 'darwin' and sys_platform != 'linux')", +] +sdist = { url = "https://files.pythonhosted.org/packages/aa/63/e53da845320b757bf29ef6a9062f5c669fe997973f966045cb019c3f4b66/urllib3-2.3.0.tar.gz", hash = "sha256:f8c5449b3cf0861679ce7e0503c7b44b5ec981bec0d1d3795a07f1ba96f0204d", size = 307268 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/c8/19/4ec628951a74043532ca2cf5d97b7b14863931476d117c471e8e2b1eb39f/urllib3-2.3.0-py3-none-any.whl", hash = "sha256:1cee9ad369867bfdbbb48b7dd50374c0967a0bb7710050facf0dd6911440e3df", size = 128369 }, +] + +[[package]] +name = "verspec" +version = "0.1.0" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/e7/44/8126f9f0c44319b2efc65feaad589cadef4d77ece200ae3c9133d58464d0/verspec-0.1.0.tar.gz", hash = "sha256:c4504ca697b2056cdb4bfa7121461f5a0e81809255b41c03dda4ba823637c01e", size = 27123 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/a4/ce/3b6fee91c85626eaf769d617f1be9d2e15c1cca027bbdeb2e0d751469355/verspec-0.1.0-py3-none-any.whl", hash = "sha256:741877d5633cc9464c45a469ae2a31e801e6dbbaa85b9675d481cda100f11c31", size = 19640 }, +] + +[[package]] +name = "virtualenv" +version = "20.28.1" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "distlib" }, + { name = "filelock" }, + { name = "platformdirs" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/50/39/689abee4adc85aad2af8174bb195a819d0be064bf55fcc73b49d2b28ae77/virtualenv-20.28.1.tar.gz", hash = "sha256:5d34ab240fdb5d21549b76f9e8ff3af28252f5499fb6d6f031adac4e5a8c5329", size = 7650532 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/51/8f/dfb257ca6b4e27cb990f1631142361e4712badab8e3ca8dc134d96111515/virtualenv-20.28.1-py3-none-any.whl", hash = "sha256:412773c85d4dab0409b83ec36f7a6499e72eaf08c80e81e9576bca61831c71cb", size = 4276719 }, +] + +[[package]] +name = "watchdog" +version = "4.0.2" +source = { registry = "https://pypi.org/simple" } +resolution-markers = [ + "python_full_version < '3.9' and platform_machine == 'arm64' and sys_platform == 'darwin'", + "python_full_version < '3.9' and platform_machine == 'aarch64' and sys_platform == 'linux'", + "(python_full_version < '3.9' and platform_machine != 'arm64' and sys_platform == 'darwin') or (python_full_version < '3.9' and platform_machine != 'aarch64' and sys_platform == 'linux') or (python_full_version < '3.9' and sys_platform != 'darwin' and sys_platform != 'linux')", +] +sdist = { url = "https://files.pythonhosted.org/packages/4f/38/764baaa25eb5e35c9a043d4c4588f9836edfe52a708950f4b6d5f714fd42/watchdog-4.0.2.tar.gz", hash = "sha256:b4dfbb6c49221be4535623ea4474a4d6ee0a9cef4a80b20c28db4d858b64e270", size = 126587 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/46/b0/219893d41c16d74d0793363bf86df07d50357b81f64bba4cb94fe76e7af4/watchdog-4.0.2-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:ede7f010f2239b97cc79e6cb3c249e72962404ae3865860855d5cbe708b0fd22", size = 100257 }, + { url = "https://files.pythonhosted.org/packages/6d/c6/8e90c65693e87d98310b2e1e5fd7e313266990853b489e85ce8396cc26e3/watchdog-4.0.2-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:a2cffa171445b0efa0726c561eca9a27d00a1f2b83846dbd5a4f639c4f8ca8e1", size = 92249 }, + { url = "https://files.pythonhosted.org/packages/6f/cd/2e306756364a934532ff8388d90eb2dc8bb21fe575cd2b33d791ce05a02f/watchdog-4.0.2-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:c50f148b31b03fbadd6d0b5980e38b558046b127dc483e5e4505fcef250f9503", size = 92888 }, + { url = "https://files.pythonhosted.org/packages/de/78/027ad372d62f97642349a16015394a7680530460b1c70c368c506cb60c09/watchdog-4.0.2-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:7c7d4bf585ad501c5f6c980e7be9c4f15604c7cc150e942d82083b31a7548930", size = 100256 }, + { url = "https://files.pythonhosted.org/packages/59/a9/412b808568c1814d693b4ff1cec0055dc791780b9dc947807978fab86bc1/watchdog-4.0.2-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:914285126ad0b6eb2258bbbcb7b288d9dfd655ae88fa28945be05a7b475a800b", size = 92252 }, + { url = "https://files.pythonhosted.org/packages/04/57/179d76076cff264982bc335dd4c7da6d636bd3e9860bbc896a665c3447b6/watchdog-4.0.2-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:984306dc4720da5498b16fc037b36ac443816125a3705dfde4fd90652d8028ef", size = 92888 }, + { url = "https://files.pythonhosted.org/packages/92/f5/ea22b095340545faea37ad9a42353b265ca751f543da3fb43f5d00cdcd21/watchdog-4.0.2-cp312-cp312-macosx_10_9_universal2.whl", hash = "sha256:1cdcfd8142f604630deef34722d695fb455d04ab7cfe9963055df1fc69e6727a", size = 100342 }, + { url = "https://files.pythonhosted.org/packages/cb/d2/8ce97dff5e465db1222951434e3115189ae54a9863aef99c6987890cc9ef/watchdog-4.0.2-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:d7ab624ff2f663f98cd03c8b7eedc09375a911794dfea6bf2a359fcc266bff29", size = 92306 }, + { url = "https://files.pythonhosted.org/packages/49/c4/1aeba2c31b25f79b03b15918155bc8c0b08101054fc727900f1a577d0d54/watchdog-4.0.2-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:132937547a716027bd5714383dfc40dc66c26769f1ce8a72a859d6a48f371f3a", size = 92915 }, + { url = "https://files.pythonhosted.org/packages/79/63/eb8994a182672c042d85a33507475c50c2ee930577524dd97aea05251527/watchdog-4.0.2-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:cd67c7df93eb58f360c43802acc945fa8da70c675b6fa37a241e17ca698ca49b", size = 100343 }, + { url = "https://files.pythonhosted.org/packages/ce/82/027c0c65c2245769580605bcd20a1dc7dfd6c6683c8c4e2ef43920e38d27/watchdog-4.0.2-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:bcfd02377be80ef3b6bc4ce481ef3959640458d6feaae0bd43dd90a43da90a7d", size = 92313 }, + { url = "https://files.pythonhosted.org/packages/2a/89/ad4715cbbd3440cb0d336b78970aba243a33a24b1a79d66f8d16b4590d6a/watchdog-4.0.2-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:980b71510f59c884d684b3663d46e7a14b457c9611c481e5cef08f4dd022eed7", size = 92919 }, + { url = "https://files.pythonhosted.org/packages/55/08/1a9086a3380e8828f65b0c835b86baf29ebb85e5e94a2811a2eb4f889cfd/watchdog-4.0.2-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:aa160781cafff2719b663c8a506156e9289d111d80f3387cf3af49cedee1f040", size = 100255 }, + { url = "https://files.pythonhosted.org/packages/6c/3e/064974628cf305831f3f78264800bd03b3358ec181e3e9380a36ff156b93/watchdog-4.0.2-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:f6ee8dedd255087bc7fe82adf046f0b75479b989185fb0bdf9a98b612170eac7", size = 92257 }, + { url = "https://files.pythonhosted.org/packages/23/69/1d2ad9c12d93bc1e445baa40db46bc74757f3ffc3a3be592ba8dbc51b6e5/watchdog-4.0.2-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:0b4359067d30d5b864e09c8597b112fe0a0a59321a0f331498b013fb097406b4", size = 92886 }, + { url = "https://files.pythonhosted.org/packages/68/eb/34d3173eceab490d4d1815ba9a821e10abe1da7a7264a224e30689b1450c/watchdog-4.0.2-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:770eef5372f146997638d737c9a3c597a3b41037cfbc5c41538fc27c09c3a3f9", size = 100254 }, + { url = "https://files.pythonhosted.org/packages/18/a1/4bbafe7ace414904c2cc9bd93e472133e8ec11eab0b4625017f0e34caad8/watchdog-4.0.2-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:eeea812f38536a0aa859972d50c76e37f4456474b02bd93674d1947cf1e39578", size = 92249 }, + { url = "https://files.pythonhosted.org/packages/f3/11/ec5684e0ca692950826af0de862e5db167523c30c9cbf9b3f4ce7ec9cc05/watchdog-4.0.2-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:b2c45f6e1e57ebb4687690c05bc3a2c1fb6ab260550c4290b8abb1335e0fd08b", size = 92891 }, + { url = "https://files.pythonhosted.org/packages/3b/9a/6f30f023324de7bad8a3eb02b0afb06bd0726003a3550e9964321315df5a/watchdog-4.0.2-pp310-pypy310_pp73-macosx_10_15_x86_64.whl", hash = "sha256:10b6683df70d340ac3279eff0b2766813f00f35a1d37515d2c99959ada8f05fa", size = 91775 }, + { url = "https://files.pythonhosted.org/packages/87/62/8be55e605d378a154037b9ba484e00a5478e627b69c53d0f63e3ef413ba6/watchdog-4.0.2-pp310-pypy310_pp73-macosx_11_0_arm64.whl", hash = "sha256:f7c739888c20f99824f7aa9d31ac8a97353e22d0c0e54703a547a218f6637eb3", size = 92255 }, + { url = "https://files.pythonhosted.org/packages/6b/59/12e03e675d28f450bade6da6bc79ad6616080b317c472b9ae688d2495a03/watchdog-4.0.2-pp38-pypy38_pp73-macosx_10_9_x86_64.whl", hash = "sha256:c100d09ac72a8a08ddbf0629ddfa0b8ee41740f9051429baa8e31bb903ad7508", size = 91682 }, + { url = "https://files.pythonhosted.org/packages/ef/69/241998de9b8e024f5c2fbdf4324ea628b4231925305011ca8b7e1c3329f6/watchdog-4.0.2-pp38-pypy38_pp73-macosx_11_0_arm64.whl", hash = "sha256:f5315a8c8dd6dd9425b974515081fc0aadca1d1d61e078d2246509fd756141ee", size = 92249 }, + { url = "https://files.pythonhosted.org/packages/70/3f/2173b4d9581bc9b5df4d7f2041b6c58b5e5448407856f68d4be9981000d0/watchdog-4.0.2-pp39-pypy39_pp73-macosx_10_15_x86_64.whl", hash = "sha256:2d468028a77b42cc685ed694a7a550a8d1771bb05193ba7b24006b8241a571a1", size = 91773 }, + { url = "https://files.pythonhosted.org/packages/f0/de/6fff29161d5789048f06ef24d94d3ddcc25795f347202b7ea503c3356acb/watchdog-4.0.2-pp39-pypy39_pp73-macosx_11_0_arm64.whl", hash = "sha256:f15edcae3830ff20e55d1f4e743e92970c847bcddc8b7509bcd172aa04de506e", size = 92250 }, + { url = "https://files.pythonhosted.org/packages/8a/b1/25acf6767af6f7e44e0086309825bd8c098e301eed5868dc5350642124b9/watchdog-4.0.2-py3-none-manylinux2014_aarch64.whl", hash = "sha256:936acba76d636f70db8f3c66e76aa6cb5136a936fc2a5088b9ce1c7a3508fc83", size = 82947 }, + { url = "https://files.pythonhosted.org/packages/e8/90/aebac95d6f954bd4901f5d46dcd83d68e682bfd21798fd125a95ae1c9dbf/watchdog-4.0.2-py3-none-manylinux2014_armv7l.whl", hash = "sha256:e252f8ca942a870f38cf785aef420285431311652d871409a64e2a0a52a2174c", size = 82942 }, + { url = "https://files.pythonhosted.org/packages/15/3a/a4bd8f3b9381824995787488b9282aff1ed4667e1110f31a87b871ea851c/watchdog-4.0.2-py3-none-manylinux2014_i686.whl", hash = "sha256:0e83619a2d5d436a7e58a1aea957a3c1ccbf9782c43c0b4fed80580e5e4acd1a", size = 82947 }, + { url = "https://files.pythonhosted.org/packages/09/cc/238998fc08e292a4a18a852ed8274159019ee7a66be14441325bcd811dfd/watchdog-4.0.2-py3-none-manylinux2014_ppc64.whl", hash = "sha256:88456d65f207b39f1981bf772e473799fcdc10801062c36fd5ad9f9d1d463a73", size = 82946 }, + { url = "https://files.pythonhosted.org/packages/80/f1/d4b915160c9d677174aa5fae4537ae1f5acb23b3745ab0873071ef671f0a/watchdog-4.0.2-py3-none-manylinux2014_ppc64le.whl", hash = "sha256:32be97f3b75693a93c683787a87a0dc8db98bb84701539954eef991fb35f5fbc", size = 82947 }, + { url = "https://files.pythonhosted.org/packages/db/02/56ebe2cf33b352fe3309588eb03f020d4d1c061563d9858a9216ba004259/watchdog-4.0.2-py3-none-manylinux2014_s390x.whl", hash = "sha256:c82253cfc9be68e3e49282831afad2c1f6593af80c0daf1287f6a92657986757", size = 82944 }, + { url = "https://files.pythonhosted.org/packages/01/d2/c8931ff840a7e5bd5dcb93f2bb2a1fd18faf8312e9f7f53ff1cf76ecc8ed/watchdog-4.0.2-py3-none-manylinux2014_x86_64.whl", hash = "sha256:c0b14488bd336c5b1845cee83d3e631a1f8b4e9c5091ec539406e4a324f882d8", size = 82947 }, + { url = "https://files.pythonhosted.org/packages/d0/d8/cdb0c21a4a988669d7c210c75c6a2c9a0e16a3b08d9f7e633df0d9a16ad8/watchdog-4.0.2-py3-none-win32.whl", hash = "sha256:0d8a7e523ef03757a5aa29f591437d64d0d894635f8a50f370fe37f913ce4e19", size = 82935 }, + { url = "https://files.pythonhosted.org/packages/99/2e/b69dfaae7a83ea64ce36538cc103a3065e12c447963797793d5c0a1d5130/watchdog-4.0.2-py3-none-win_amd64.whl", hash = "sha256:c344453ef3bf875a535b0488e3ad28e341adbd5a9ffb0f7d62cefacc8824ef2b", size = 82934 }, + { url = "https://files.pythonhosted.org/packages/b0/0b/43b96a9ecdd65ff5545b1b13b687ca486da5c6249475b1a45f24d63a1858/watchdog-4.0.2-py3-none-win_ia64.whl", hash = "sha256:baececaa8edff42cd16558a639a9b0ddf425f93d892e8392a56bf904f5eff22c", size = 82933 }, +] + +[[package]] +name = "watchdog" +version = "6.0.0" +source = { registry = "https://pypi.org/simple" } +resolution-markers = [ + "python_full_version >= '3.13' and sys_platform == 'darwin'", + "python_full_version >= '3.13' and platform_machine == 'aarch64' and sys_platform == 'linux'", + "(python_full_version >= '3.13' and platform_machine != 'aarch64' and sys_platform == 'linux') or (python_full_version >= '3.13' and sys_platform != 'darwin' and sys_platform != 'linux')", + "python_full_version == '3.12.*' and sys_platform == 'darwin'", + "python_full_version == '3.12.*' and platform_machine == 'aarch64' and sys_platform == 'linux'", + "(python_full_version == '3.12.*' and platform_machine != 'aarch64' and sys_platform == 'linux') or (python_full_version == '3.12.*' and sys_platform != 'darwin' and sys_platform != 'linux')", + "python_full_version == '3.11.*' and sys_platform == 'darwin'", + "python_full_version == '3.11.*' and platform_machine == 'aarch64' and sys_platform == 'linux'", + "(python_full_version == '3.11.*' and platform_machine != 'aarch64' and sys_platform == 'linux') or (python_full_version == '3.11.*' and sys_platform != 'darwin' and sys_platform != 'linux')", + "python_full_version == '3.10.*' and sys_platform == 'darwin'", + "python_full_version == '3.10.*' and platform_machine == 'aarch64' and sys_platform == 'linux'", + "(python_full_version == '3.10.*' and platform_machine != 'aarch64' and sys_platform == 'linux') or (python_full_version == '3.10.*' and sys_platform != 'darwin' and sys_platform != 'linux')", + "python_full_version == '3.9.*' and platform_machine == 'arm64' and sys_platform == 'darwin'", + "python_full_version == '3.9.*' and platform_machine == 'aarch64' and sys_platform == 'linux'", + "(python_full_version == '3.9.*' and platform_machine != 'arm64' and sys_platform == 'darwin') or (python_full_version == '3.9.*' and platform_machine != 'aarch64' and sys_platform == 'linux') or (python_full_version == '3.9.*' and sys_platform != 'darwin' and sys_platform != 'linux')", +] +sdist = { url = "https://files.pythonhosted.org/packages/db/7d/7f3d619e951c88ed75c6037b246ddcf2d322812ee8ea189be89511721d54/watchdog-6.0.0.tar.gz", hash = "sha256:9ddf7c82fda3ae8e24decda1338ede66e1c99883db93711d8fb941eaa2d8c282", size = 131220 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/0c/56/90994d789c61df619bfc5ce2ecdabd5eeff564e1eb47512bd01b5e019569/watchdog-6.0.0-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:d1cdb490583ebd691c012b3d6dae011000fe42edb7a82ece80965b42abd61f26", size = 96390 }, + { url = "https://files.pythonhosted.org/packages/55/46/9a67ee697342ddf3c6daa97e3a587a56d6c4052f881ed926a849fcf7371c/watchdog-6.0.0-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:bc64ab3bdb6a04d69d4023b29422170b74681784ffb9463ed4870cf2f3e66112", size = 88389 }, + { url = "https://files.pythonhosted.org/packages/44/65/91b0985747c52064d8701e1075eb96f8c40a79df889e59a399453adfb882/watchdog-6.0.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:c897ac1b55c5a1461e16dae288d22bb2e412ba9807df8397a635d88f671d36c3", size = 89020 }, + { url = "https://files.pythonhosted.org/packages/e0/24/d9be5cd6642a6aa68352ded4b4b10fb0d7889cb7f45814fb92cecd35f101/watchdog-6.0.0-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:6eb11feb5a0d452ee41f824e271ca311a09e250441c262ca2fd7ebcf2461a06c", size = 96393 }, + { url = "https://files.pythonhosted.org/packages/63/7a/6013b0d8dbc56adca7fdd4f0beed381c59f6752341b12fa0886fa7afc78b/watchdog-6.0.0-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:ef810fbf7b781a5a593894e4f439773830bdecb885e6880d957d5b9382a960d2", size = 88392 }, + { url = "https://files.pythonhosted.org/packages/d1/40/b75381494851556de56281e053700e46bff5b37bf4c7267e858640af5a7f/watchdog-6.0.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:afd0fe1b2270917c5e23c2a65ce50c2a4abb63daafb0d419fde368e272a76b7c", size = 89019 }, + { url = "https://files.pythonhosted.org/packages/39/ea/3930d07dafc9e286ed356a679aa02d777c06e9bfd1164fa7c19c288a5483/watchdog-6.0.0-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:bdd4e6f14b8b18c334febb9c4425a878a2ac20efd1e0b231978e7b150f92a948", size = 96471 }, + { url = "https://files.pythonhosted.org/packages/12/87/48361531f70b1f87928b045df868a9fd4e253d9ae087fa4cf3f7113be363/watchdog-6.0.0-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:c7c15dda13c4eb00d6fb6fc508b3c0ed88b9d5d374056b239c4ad1611125c860", size = 88449 }, + { url = "https://files.pythonhosted.org/packages/5b/7e/8f322f5e600812e6f9a31b75d242631068ca8f4ef0582dd3ae6e72daecc8/watchdog-6.0.0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:6f10cb2d5902447c7d0da897e2c6768bca89174d0c6e1e30abec5421af97a5b0", size = 89054 }, + { url = "https://files.pythonhosted.org/packages/68/98/b0345cabdce2041a01293ba483333582891a3bd5769b08eceb0d406056ef/watchdog-6.0.0-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:490ab2ef84f11129844c23fb14ecf30ef3d8a6abafd3754a6f75ca1e6654136c", size = 96480 }, + { url = "https://files.pythonhosted.org/packages/85/83/cdf13902c626b28eedef7ec4f10745c52aad8a8fe7eb04ed7b1f111ca20e/watchdog-6.0.0-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:76aae96b00ae814b181bb25b1b98076d5fc84e8a53cd8885a318b42b6d3a5134", size = 88451 }, + { url = "https://files.pythonhosted.org/packages/fe/c4/225c87bae08c8b9ec99030cd48ae9c4eca050a59bf5c2255853e18c87b50/watchdog-6.0.0-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:a175f755fc2279e0b7312c0035d52e27211a5bc39719dd529625b1930917345b", size = 89057 }, + { url = "https://files.pythonhosted.org/packages/05/52/7223011bb760fce8ddc53416beb65b83a3ea6d7d13738dde75eeb2c89679/watchdog-6.0.0-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:e6f0e77c9417e7cd62af82529b10563db3423625c5fce018430b249bf977f9e8", size = 96390 }, + { url = "https://files.pythonhosted.org/packages/9c/62/d2b21bc4e706d3a9d467561f487c2938cbd881c69f3808c43ac1ec242391/watchdog-6.0.0-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:90c8e78f3b94014f7aaae121e6b909674df5b46ec24d6bebc45c44c56729af2a", size = 88386 }, + { url = "https://files.pythonhosted.org/packages/ea/22/1c90b20eda9f4132e4603a26296108728a8bfe9584b006bd05dd94548853/watchdog-6.0.0-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:e7631a77ffb1f7d2eefa4445ebbee491c720a5661ddf6df3498ebecae5ed375c", size = 89017 }, + { url = "https://files.pythonhosted.org/packages/30/ad/d17b5d42e28a8b91f8ed01cb949da092827afb9995d4559fd448d0472763/watchdog-6.0.0-pp310-pypy310_pp73-macosx_10_15_x86_64.whl", hash = "sha256:c7ac31a19f4545dd92fc25d200694098f42c9a8e391bc00bdd362c5736dbf881", size = 87902 }, + { url = "https://files.pythonhosted.org/packages/5c/ca/c3649991d140ff6ab67bfc85ab42b165ead119c9e12211e08089d763ece5/watchdog-6.0.0-pp310-pypy310_pp73-macosx_11_0_arm64.whl", hash = "sha256:9513f27a1a582d9808cf21a07dae516f0fab1cf2d7683a742c498b93eedabb11", size = 88380 }, + { url = "https://files.pythonhosted.org/packages/5b/79/69f2b0e8d3f2afd462029031baafb1b75d11bb62703f0e1022b2e54d49ee/watchdog-6.0.0-pp39-pypy39_pp73-macosx_10_15_x86_64.whl", hash = "sha256:7a0e56874cfbc4b9b05c60c8a1926fedf56324bb08cfbc188969777940aef3aa", size = 87903 }, + { url = "https://files.pythonhosted.org/packages/e2/2b/dc048dd71c2e5f0f7ebc04dd7912981ec45793a03c0dc462438e0591ba5d/watchdog-6.0.0-pp39-pypy39_pp73-macosx_11_0_arm64.whl", hash = "sha256:e6439e374fc012255b4ec786ae3c4bc838cd7309a540e5fe0952d03687d8804e", size = 88381 }, + { url = "https://files.pythonhosted.org/packages/a9/c7/ca4bf3e518cb57a686b2feb4f55a1892fd9a3dd13f470fca14e00f80ea36/watchdog-6.0.0-py3-none-manylinux2014_aarch64.whl", hash = "sha256:7607498efa04a3542ae3e05e64da8202e58159aa1fa4acddf7678d34a35d4f13", size = 79079 }, + { url = "https://files.pythonhosted.org/packages/5c/51/d46dc9332f9a647593c947b4b88e2381c8dfc0942d15b8edc0310fa4abb1/watchdog-6.0.0-py3-none-manylinux2014_armv7l.whl", hash = "sha256:9041567ee8953024c83343288ccc458fd0a2d811d6a0fd68c4c22609e3490379", size = 79078 }, + { url = "https://files.pythonhosted.org/packages/d4/57/04edbf5e169cd318d5f07b4766fee38e825d64b6913ca157ca32d1a42267/watchdog-6.0.0-py3-none-manylinux2014_i686.whl", hash = "sha256:82dc3e3143c7e38ec49d61af98d6558288c415eac98486a5c581726e0737c00e", size = 79076 }, + { url = "https://files.pythonhosted.org/packages/ab/cc/da8422b300e13cb187d2203f20b9253e91058aaf7db65b74142013478e66/watchdog-6.0.0-py3-none-manylinux2014_ppc64.whl", hash = "sha256:212ac9b8bf1161dc91bd09c048048a95ca3a4c4f5e5d4a7d1b1a7d5752a7f96f", size = 79077 }, + { url = "https://files.pythonhosted.org/packages/2c/3b/b8964e04ae1a025c44ba8e4291f86e97fac443bca31de8bd98d3263d2fcf/watchdog-6.0.0-py3-none-manylinux2014_ppc64le.whl", hash = "sha256:e3df4cbb9a450c6d49318f6d14f4bbc80d763fa587ba46ec86f99f9e6876bb26", size = 79078 }, + { url = "https://files.pythonhosted.org/packages/62/ae/a696eb424bedff7407801c257d4b1afda455fe40821a2be430e173660e81/watchdog-6.0.0-py3-none-manylinux2014_s390x.whl", hash = "sha256:2cce7cfc2008eb51feb6aab51251fd79b85d9894e98ba847408f662b3395ca3c", size = 79077 }, + { url = "https://files.pythonhosted.org/packages/b5/e8/dbf020b4d98251a9860752a094d09a65e1b436ad181faf929983f697048f/watchdog-6.0.0-py3-none-manylinux2014_x86_64.whl", hash = "sha256:20ffe5b202af80ab4266dcd3e91aae72bf2da48c0d33bdb15c66658e685e94e2", size = 79078 }, + { url = "https://files.pythonhosted.org/packages/07/f6/d0e5b343768e8bcb4cda79f0f2f55051bf26177ecd5651f84c07567461cf/watchdog-6.0.0-py3-none-win32.whl", hash = "sha256:07df1fdd701c5d4c8e55ef6cf55b8f0120fe1aef7ef39a1c6fc6bc2e606d517a", size = 79065 }, + { url = "https://files.pythonhosted.org/packages/db/d9/c495884c6e548fce18a8f40568ff120bc3a4b7b99813081c8ac0c936fa64/watchdog-6.0.0-py3-none-win_amd64.whl", hash = "sha256:cbafb470cf848d93b5d013e2ecb245d4aa1c8fd0504e863ccefa32445359d680", size = 79070 }, + { url = "https://files.pythonhosted.org/packages/33/e8/e40370e6d74ddba47f002a32919d91310d6074130fe4e17dabcafc15cbf1/watchdog-6.0.0-py3-none-win_ia64.whl", hash = "sha256:a1914259fa9e1454315171103c6a30961236f508b9b623eae470268bbcc6a22f", size = 79067 }, +] + +[[package]] +name = "wcwidth" +version = "0.2.13" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/6c/63/53559446a878410fc5a5974feb13d31d78d752eb18aeba59c7fef1af7598/wcwidth-0.2.13.tar.gz", hash = "sha256:72ea0c06399eb286d978fdedb6923a9eb47e1c486ce63e9b4e64fc18303972b5", size = 101301 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/fd/84/fd2ba7aafacbad3c4201d395674fc6348826569da3c0937e75505ead3528/wcwidth-0.2.13-py2.py3-none-any.whl", hash = "sha256:3da69048e4540d84af32131829ff948f1e022c1c6bdb8d6102117aac784f6859", size = 34166 }, +] + +[[package]] +name = "webcolors" +version = "24.8.0" +source = { registry = "https://pypi.org/simple" } +resolution-markers = [ + "python_full_version < '3.9' and platform_machine == 'arm64' and sys_platform == 'darwin'", + "python_full_version < '3.9' and platform_machine == 'aarch64' and sys_platform == 'linux'", + "(python_full_version < '3.9' and platform_machine != 'arm64' and sys_platform == 'darwin') or (python_full_version < '3.9' and platform_machine != 'aarch64' and sys_platform == 'linux') or (python_full_version < '3.9' and sys_platform != 'darwin' and sys_platform != 'linux')", +] +sdist = { url = "https://files.pythonhosted.org/packages/fe/f8/53150a5bda7e042840b14f0236e1c0a4819d403658e3d453237983addfac/webcolors-24.8.0.tar.gz", hash = "sha256:08b07af286a01bcd30d583a7acadf629583d1f79bfef27dd2c2c5c263817277d", size = 42392 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/f0/33/12020ba99beaff91682b28dc0bbf0345bbc3244a4afbae7644e4fa348f23/webcolors-24.8.0-py3-none-any.whl", hash = "sha256:fc4c3b59358ada164552084a8ebee637c221e4059267d0f8325b3b560f6c7f0a", size = 15027 }, +] + +[[package]] +name = "webcolors" +version = "24.11.1" +source = { registry = "https://pypi.org/simple" } +resolution-markers = [ + "python_full_version >= '3.13' and sys_platform == 'darwin'", + "python_full_version >= '3.13' and platform_machine == 'aarch64' and sys_platform == 'linux'", + "(python_full_version >= '3.13' and platform_machine != 'aarch64' and sys_platform == 'linux') or (python_full_version >= '3.13' and sys_platform != 'darwin' and sys_platform != 'linux')", + "python_full_version == '3.12.*' and sys_platform == 'darwin'", + "python_full_version == '3.12.*' and platform_machine == 'aarch64' and sys_platform == 'linux'", + "(python_full_version == '3.12.*' and platform_machine != 'aarch64' and sys_platform == 'linux') or (python_full_version == '3.12.*' and sys_platform != 'darwin' and sys_platform != 'linux')", + "python_full_version == '3.11.*' and sys_platform == 'darwin'", + "python_full_version == '3.11.*' and platform_machine == 'aarch64' and sys_platform == 'linux'", + "(python_full_version == '3.11.*' and platform_machine != 'aarch64' and sys_platform == 'linux') or (python_full_version == '3.11.*' and sys_platform != 'darwin' and sys_platform != 'linux')", + "python_full_version == '3.10.*' and sys_platform == 'darwin'", + "python_full_version == '3.10.*' and platform_machine == 'aarch64' and sys_platform == 'linux'", + "(python_full_version == '3.10.*' and platform_machine != 'aarch64' and sys_platform == 'linux') or (python_full_version == '3.10.*' and sys_platform != 'darwin' and sys_platform != 'linux')", + "python_full_version == '3.9.*' and platform_machine == 'arm64' and sys_platform == 'darwin'", + "python_full_version == '3.9.*' and platform_machine == 'aarch64' and sys_platform == 'linux'", + "(python_full_version == '3.9.*' and platform_machine != 'arm64' and sys_platform == 'darwin') or (python_full_version == '3.9.*' and platform_machine != 'aarch64' and sys_platform == 'linux') or (python_full_version == '3.9.*' and sys_platform != 'darwin' and sys_platform != 'linux')", +] +sdist = { url = "https://files.pythonhosted.org/packages/7b/29/061ec845fb58521848f3739e466efd8250b4b7b98c1b6c5bf4d40b419b7e/webcolors-24.11.1.tar.gz", hash = "sha256:ecb3d768f32202af770477b8b65f318fa4f566c22948673a977b00d589dd80f6", size = 45064 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/60/e8/c0e05e4684d13459f93d312077a9a2efbe04d59c393bc2b8802248c908d4/webcolors-24.11.1-py3-none-any.whl", hash = "sha256:515291393b4cdf0eb19c155749a096f779f7d909f7cceea072791cb9095b92e9", size = 14934 }, +] + +[[package]] +name = "webencodings" +version = "0.5.1" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/0b/02/ae6ceac1baeda530866a85075641cec12989bd8d31af6d5ab4a3e8c92f47/webencodings-0.5.1.tar.gz", hash = "sha256:b36a1c245f2d304965eb4e0a82848379241dc04b865afcc4aab16748587e1923", size = 9721 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/f4/24/2a3e3df732393fed8b3ebf2ec078f05546de641fe1b667ee316ec1dcf3b7/webencodings-0.5.1-py2.py3-none-any.whl", hash = "sha256:a0af1213f3c2226497a97e2b3aa01a7e4bee4f403f95be16fc9acd2947514a78", size = 11774 }, +] + +[[package]] +name = "websocket-client" +version = "1.8.0" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/e6/30/fba0d96b4b5fbf5948ed3f4681f7da2f9f64512e1d303f94b4cc174c24a5/websocket_client-1.8.0.tar.gz", hash = "sha256:3239df9f44da632f96012472805d40a23281a991027ce11d2f45a6f24ac4c3da", size = 54648 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/5a/84/44687a29792a70e111c5c477230a72c4b957d88d16141199bf9acb7537a3/websocket_client-1.8.0-py3-none-any.whl", hash = "sha256:17b44cc997f5c498e809b22cdf2d9c7a9e71c02c8cc2b6c56e7c2d1239bfa526", size = 58826 }, +] + +[[package]] +name = "wheel" +version = "0.45.1" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/8a/98/2d9906746cdc6a6ef809ae6338005b3f21bb568bea3165cfc6a243fdc25c/wheel-0.45.1.tar.gz", hash = "sha256:661e1abd9198507b1409a20c02106d9670b2576e916d58f520316666abca6729", size = 107545 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/0b/2c/87f3254fd8ffd29e4c02732eee68a83a1d3c346ae39bc6822dcbcb697f2b/wheel-0.45.1-py3-none-any.whl", hash = "sha256:708e7481cc80179af0e556bbf0cc00b8444c7321e2700b8d8580231d13017248", size = 72494 }, +] + +[[package]] +name = "widgetsnbextension" +version = "4.0.13" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/56/fc/238c424fd7f4ebb25f8b1da9a934a3ad7c848286732ae04263661eb0fc03/widgetsnbextension-4.0.13.tar.gz", hash = "sha256:ffcb67bc9febd10234a362795f643927f4e0c05d9342c727b65d2384f8feacb6", size = 1164730 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/21/02/88b65cc394961a60c43c70517066b6b679738caf78506a5da7b88ffcb643/widgetsnbextension-4.0.13-py3-none-any.whl", hash = "sha256:74b2692e8500525cc38c2b877236ba51d34541e6385eeed5aec15a70f88a6c71", size = 2335872 }, +] + +[[package]] +name = "zipp" +version = "3.20.2" +source = { registry = "https://pypi.org/simple" } +resolution-markers = [ + "python_full_version < '3.9' and platform_machine == 'arm64' and sys_platform == 'darwin'", + "python_full_version < '3.9' and platform_machine == 'aarch64' and sys_platform == 'linux'", + "(python_full_version < '3.9' and platform_machine != 'arm64' and sys_platform == 'darwin') or (python_full_version < '3.9' and platform_machine != 'aarch64' and sys_platform == 'linux') or (python_full_version < '3.9' and sys_platform != 'darwin' and sys_platform != 'linux')", +] +sdist = { url = "https://files.pythonhosted.org/packages/54/bf/5c0000c44ebc80123ecbdddba1f5dcd94a5ada602a9c225d84b5aaa55e86/zipp-3.20.2.tar.gz", hash = "sha256:bc9eb26f4506fda01b81bcde0ca78103b6e62f991b381fec825435c836edbc29", size = 24199 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/62/8b/5ba542fa83c90e09eac972fc9baca7a88e7e7ca4b221a89251954019308b/zipp-3.20.2-py3-none-any.whl", hash = "sha256:a817ac80d6cf4b23bf7f2828b7cabf326f15a001bea8b1f9b49631780ba28350", size = 9200 }, +] + +[[package]] +name = "zipp" +version = "3.21.0" +source = { registry = "https://pypi.org/simple" } +resolution-markers = [ + "python_full_version >= '3.13' and sys_platform == 'darwin'", + "python_full_version >= '3.13' and platform_machine == 'aarch64' and sys_platform == 'linux'", + "(python_full_version >= '3.13' and platform_machine != 'aarch64' and sys_platform == 'linux') or (python_full_version >= '3.13' and sys_platform != 'darwin' and sys_platform != 'linux')", + "python_full_version == '3.12.*' and sys_platform == 'darwin'", + "python_full_version == '3.12.*' and platform_machine == 'aarch64' and sys_platform == 'linux'", + "(python_full_version == '3.12.*' and platform_machine != 'aarch64' and sys_platform == 'linux') or (python_full_version == '3.12.*' and sys_platform != 'darwin' and sys_platform != 'linux')", + "python_full_version == '3.11.*' and sys_platform == 'darwin'", + "python_full_version == '3.11.*' and platform_machine == 'aarch64' and sys_platform == 'linux'", + "(python_full_version == '3.11.*' and platform_machine != 'aarch64' and sys_platform == 'linux') or (python_full_version == '3.11.*' and sys_platform != 'darwin' and sys_platform != 'linux')", + "python_full_version == '3.10.*' and sys_platform == 'darwin'", + "python_full_version == '3.10.*' and platform_machine == 'aarch64' and sys_platform == 'linux'", + "(python_full_version == '3.10.*' and platform_machine != 'aarch64' and sys_platform == 'linux') or (python_full_version == '3.10.*' and sys_platform != 'darwin' and sys_platform != 'linux')", + "python_full_version == '3.9.*' and platform_machine == 'arm64' and sys_platform == 'darwin'", + "python_full_version == '3.9.*' and platform_machine == 'aarch64' and sys_platform == 'linux'", + "(python_full_version == '3.9.*' and platform_machine != 'arm64' and sys_platform == 'darwin') or (python_full_version == '3.9.*' and platform_machine != 'aarch64' and sys_platform == 'linux') or (python_full_version == '3.9.*' and sys_platform != 'darwin' and sys_platform != 'linux')", +] +sdist = { url = "https://files.pythonhosted.org/packages/3f/50/bad581df71744867e9468ebd0bcd6505de3b275e06f202c2cb016e3ff56f/zipp-3.21.0.tar.gz", hash = "sha256:2c9958f6430a2040341a52eb608ed6dd93ef4392e02ffe219417c1b28b5dd1f4", size = 24545 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/b7/1a/7e4798e9339adc931158c9d69ecc34f5e6791489d469f5e50ec15e35f458/zipp-3.21.0-py3-none-any.whl", hash = "sha256:ac1bbe05fd2991f160ebce24ffbac5f6d11d83dc90891255885223d42b3cd931", size = 9630 }, +] From fc40438f35981c2c01813ceac0bff2c808e7ca83 Mon Sep 17 00:00:00 2001 From: Onuralp SEZER Date: Wed, 8 Jan 2025 23:17:53 +0300 Subject: [PATCH 097/420] =?UTF-8?q?ci:=20=F0=9F=90=8D=20migrate=20from=20P?= =?UTF-8?q?oetry=20to=20uv=20for=20Python=20setup=20and=20dependency=20ins?= =?UTF-8?q?tallation=20in=20doc=20workflows?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Onuralp SEZER --- .github/workflows/publish-docs.yml | 14 +++++--------- .github/workflows/test-doc.yml | 13 ++++--------- pyproject.toml | 2 +- 3 files changed, 10 insertions(+), 19 deletions(-) diff --git a/.github/workflows/publish-docs.yml b/.github/workflows/publish-docs.yml index 08b7f5d0ff..62a465d99f 100644 --- a/.github/workflows/publish-docs.yml +++ b/.github/workflows/publish-docs.yml @@ -33,17 +33,13 @@ jobs: with: fetch-depth: 0 - - name: 🐍 Set up Python ${{ matrix.python-version }} - uses: actions/setup-python@0b93645e9fea7318ecaed2b359559ac225c90a2b # v5.3.0 + - name: 🐍 Install uv and set Python ${{ matrix.python-version }} + uses: astral-sh/setup-uv@v5 with: python-version: ${{ matrix.python-version }} - - name: 📜 Setup Poetry - uses: abatilo/actions-poetry@3765cf608f2d4a72178a9fc5b918668e542b89b1 # v4.0.0 - - name: 📦 Install dependencies - run: | - poetry install --with=docs + run: uv pip install -r pyproject.toml --extra docs - name: ⚙️ Configure git for github-actions run: | @@ -53,10 +49,10 @@ jobs: - name: 🚀 Deploy Development Docs if: (github.event_name == 'push' && github.ref == 'refs/heads/develop') || github.event_name == 'workflow_dispatch' run: | - MKDOCS_GIT_COMMITTERS_APIKEY=${{ secrets.GITHUB_TOKEN }} poetry run mike deploy --push develop + MKDOCS_GIT_COMMITTERS_APIKEY=${{ secrets.GITHUB_TOKEN }} uv run mike deploy --push develop - name: 🚀 Deploy Release Docs if: github.event_name == 'release' && github.event.action == 'published' run: | latest_tag=$(git describe --tags `git rev-list --tags --max-count=1`) - MKDOCS_GIT_COMMITTERS_APIKEY=${{ secrets.GITHUB_TOKEN }} poetry run mike deploy --push --update-aliases $latest_tag latest + MKDOCS_GIT_COMMITTERS_APIKEY=${{ secrets.GITHUB_TOKEN }} uv run mike deploy --push --update-aliases $latest_tag latest diff --git a/.github/workflows/test-doc.yml b/.github/workflows/test-doc.yml index 6b2012d8fd..27714df8d1 100644 --- a/.github/workflows/test-doc.yml +++ b/.github/workflows/test-doc.yml @@ -23,18 +23,13 @@ jobs: with: fetch-depth: 0 - - name: 🐍 Set up Python ${{ matrix.python-version }} - uses: actions/setup-python@0b93645e9fea7318ecaed2b359559ac225c90a2b # v5.3.0 + - name: 🐍 Install uv and set Python ${{ matrix.python-version }} + uses: astral-sh/setup-uv@v5 with: python-version: ${{ matrix.python-version }} - - name: 📜 Setup Poetry - uses: abatilo/actions-poetry@3765cf608f2d4a72178a9fc5b918668e542b89b1 # v4.0.0 - - name: 🏗️ Install dependencies - run: | - poetry install --with=docs + run: uv pip install -r pyproject.toml --extra docs - name: 🧪 Test Docs Build - run: | - poetry run mkdocs build --verbose + run: uv run mkdocs build --verbose diff --git a/pyproject.toml b/pyproject.toml index 3ca6ab19ff..784f2975c3 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -235,4 +235,4 @@ supervision = ["py.typed"] [build-system] requires = ["setuptools >= 61.0"] -build-backend = "setuptools.build_meta" \ No newline at end of file +build-backend = "setuptools.build_meta" From 6ae1dfdcb06205e7ecf5b3aef90668d2715c255c Mon Sep 17 00:00:00 2001 From: Onuralp SEZER Date: Wed, 8 Jan 2025 23:49:43 +0300 Subject: [PATCH 098/420] =?UTF-8?q?ci:=20=F0=9F=90=8D=20update=20workflows?= =?UTF-8?q?=20to=20use=20specific=20uv=20version=20and=20improve=20environ?= =?UTF-8?q?ment=20configuration?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .github/workflows/publish-docs.yml | 2 +- .github/workflows/publish-test.yml | 19 +++++++++---------- .github/workflows/publish.yml | 19 +++++++++---------- .github/workflows/test-doc.yml | 2 +- .github/workflows/uv-test.yml | 6 +++--- uv.lock | 2 +- 6 files changed, 24 insertions(+), 26 deletions(-) diff --git a/.github/workflows/publish-docs.yml b/.github/workflows/publish-docs.yml index 62a465d99f..1a0fd0a51c 100644 --- a/.github/workflows/publish-docs.yml +++ b/.github/workflows/publish-docs.yml @@ -34,7 +34,7 @@ jobs: fetch-depth: 0 - name: 🐍 Install uv and set Python ${{ matrix.python-version }} - uses: astral-sh/setup-uv@v5 + uses: astral-sh/setup-uv@887a942a15af3a7626099df99e897a18d9e5ab3a with: python-version: ${{ matrix.python-version }} diff --git a/.github/workflows/publish-test.yml b/.github/workflows/publish-test.yml index e7ab8b53e9..2b5818156b 100644 --- a/.github/workflows/publish-test.yml +++ b/.github/workflows/publish-test.yml @@ -12,9 +12,11 @@ permissions: {} # Explicitly remove all permissions by default jobs: build-and-publish-pre-release: - name: Publish Pre-releasePackage + name: Publish Pre-release Package runs-on: ubuntu-latest - environment: test + environment: + name: test + url: https://pypi.org/project/supervision/ timeout-minutes: 10 permissions: id-token: write # Required for PyPI publishing @@ -26,19 +28,16 @@ jobs: - name: 📥 Checkout the repository uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 - - name: 🐍 Set up Python ${{ matrix.python-version }} - uses: actions/setup-python@0b93645e9fea7318ecaed2b359559ac225c90a2b # v5.3.0 + - name: 🐍 Install uv and set Python version ${{ matrix.python-version }} + uses: astral-sh/setup-uv@887a942a15af3a7626099df99e897a18d9e5ab3a # v5.1.0 with: python-version: ${{ matrix.python-version }} - - name: 📜 Setup Poetry - uses: abatilo/actions-poetry@3765cf608f2d4a72178a9fc5b918668e542b89b1 # v4.0.0 - - name: 🏗️ Build source and wheel distributions run: | - poetry install --with=build - poetry build - poetry run twine check --strict dist/* + uv pip install -r pyproject.toml --extra build + uv build + uv run twine check --strict dist/* - name: 🚀 Publish to PyPi uses: pypa/gh-action-pypi-publish@67339c736fd9354cd4f8cb0b744f2b82a74b5c70 # v1.12.3 diff --git a/.github/workflows/publish.yml b/.github/workflows/publish.yml index d71c239b32..41974fb6fa 100644 --- a/.github/workflows/publish.yml +++ b/.github/workflows/publish.yml @@ -9,10 +9,12 @@ on: permissions: {} # Explicitly remove all permissions by default jobs: - build-and-publish-pre-release: + build-and-publish-release: name: Publish Release Package runs-on: ubuntu-latest - environment: release + environment: + name: release + url: https://pypi.org/project/supervision/ timeout-minutes: 10 permissions: id-token: write # Required for PyPI publishing @@ -24,19 +26,16 @@ jobs: - name: 📥 Checkout the repository uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 - - name: 🐍 Set up Python ${{ matrix.python-version }} - uses: actions/setup-python@0b93645e9fea7318ecaed2b359559ac225c90a2b # v5.3.0 + - name: 🐍 Install uv and set Python version ${{ matrix.python-version }} + uses: astral-sh/setup-uv@887a942a15af3a7626099df99e897a18d9e5ab3a # v5.1.0 with: python-version: ${{ matrix.python-version }} - - name: 📜 Setup Poetry - uses: abatilo/actions-poetry@3765cf608f2d4a72178a9fc5b918668e542b89b1 # v4.0.0 - - name: 🏗️ Build source and wheel distributions run: | - poetry install --with=build - poetry build - poetry run twine check --strict dist/* + uv pip install -r pyproject.toml --extra build + uv build + uv run twine check --strict dist/* - name: 🚀 Publish to PyPi uses: pypa/gh-action-pypi-publish@67339c736fd9354cd4f8cb0b744f2b82a74b5c70 # v1.12.3 diff --git a/.github/workflows/test-doc.yml b/.github/workflows/test-doc.yml index 27714df8d1..20d50bed7b 100644 --- a/.github/workflows/test-doc.yml +++ b/.github/workflows/test-doc.yml @@ -24,7 +24,7 @@ jobs: fetch-depth: 0 - name: 🐍 Install uv and set Python ${{ matrix.python-version }} - uses: astral-sh/setup-uv@v5 + uses: astral-sh/setup-uv@887a942a15af3a7626099df99e897a18d9e5ab3a with: python-version: ${{ matrix.python-version }} diff --git a/.github/workflows/uv-test.yml b/.github/workflows/uv-test.yml index 837d624691..4b96277b7f 100644 --- a/.github/workflows/uv-test.yml +++ b/.github/workflows/uv-test.yml @@ -1,4 +1,4 @@ -name: 🔧 Uv Checks and Test Workflow +name: 🔧 Test Workflow on: push: paths: @@ -11,7 +11,7 @@ on: workflow_dispatch: jobs: - poetry-tests: + tests: name: Uv install and check timeout-minutes: 10 strategy: @@ -25,7 +25,7 @@ jobs: uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 - name: 🐍 Install uv and set Python version ${{ matrix.python-version }} - uses: astral-sh/setup-uv@v5 + uses: astral-sh/setup-uv@887a942a15af3a7626099df99e897a18d9e5ab3a # v5.1.0 with: python-version: ${{ matrix.python-version }} diff --git a/uv.lock b/uv.lock index 327de7e242..a72fe0872c 100644 --- a/uv.lock +++ b/uv.lock @@ -4760,7 +4760,7 @@ wheels = [ [[package]] name = "supervision" -version = "0.26.0rc2" +version = "0.26.0rc3" source = { editable = "." } dependencies = [ { name = "defusedxml" }, From a61a6c7144582acabd4e2864fadd274764825991 Mon Sep 17 00:00:00 2001 From: Onuralp SEZER Date: Wed, 8 Jan 2025 23:54:50 +0300 Subject: [PATCH 099/420] chore: update author and maintainer email addresses in pyproject.toml Signed-off-by: Onuralp SEZER --- pyproject.toml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pyproject.toml b/pyproject.toml index 784f2975c3..91c3228ee0 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -6,10 +6,10 @@ version = "0.26.0rc3" readme = "README.md" requires-python = ">=3.8" authors = [ - { name = "Piotr Skalski", email = "piotr.skalski92@gmail.com" } + { name = "Piotr Skalski", email = "piotr@roboflow.com" } ] maintainers = [ - { name = "Piotr Skalski", email = "piotr.skalski92@gmail.com" }, + { name = "Piotr Skalski", email = "piotr@roboflow.com" }, ] keywords = [ "machine-learning", From 9587439f8d20466731f0e96839fd4971141268ec Mon Sep 17 00:00:00 2001 From: Onuralp SEZER Date: Wed, 8 Jan 2025 23:58:17 +0300 Subject: [PATCH 100/420] =?UTF-8?q?ci:=20=F0=9F=94=91=20add=20GitHub=20App?= =?UTF-8?q?=20token=20creation=20for=20mkdocs=20and=20install=20mkdocs-mat?= =?UTF-8?q?erial-insiders=20dependency?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .github/workflows/publish-docs.yml | 16 ++++++++++++++-- .github/workflows/test-doc.yml | 15 ++++++++++++++- 2 files changed, 28 insertions(+), 3 deletions(-) diff --git a/.github/workflows/publish-docs.yml b/.github/workflows/publish-docs.yml index 1a0fd0a51c..e05fcf2497 100644 --- a/.github/workflows/publish-docs.yml +++ b/.github/workflows/publish-docs.yml @@ -38,8 +38,20 @@ jobs: with: python-version: ${{ matrix.python-version }} - - name: 📦 Install dependencies - run: uv pip install -r pyproject.toml --extra docs + - name: 🔑 Create GitHub App token (mkdocs) + id: mkdocs_token + uses: actions/create-github-app-token@c1a285145b9d317df6ced56c09f525b5c2b6f755 # v1.11.1 + with: + app-id: ${{ secrets.MKDOCS_APP_ID }} + private-key: ${{ secrets.MKDOCS_PEM }} + owner: roboflow + repositories: mkdocs-material-insiders + + - name: 🏗️ Install dependencies + run: | + uv pip install -r pyproject.toml --extra docs + # Install mkdocs-material-insiders using the GitHub App token + uv pip install "git+https://roboflow:${{ steps.mkdocs_token.outputs.token }}@github.com/roboflow/mkdocs-material-insiders.git@9.5.49-insiders-4.53.14#egg=mkdocs-material[imaging]" - name: ⚙️ Configure git for github-actions run: | diff --git a/.github/workflows/test-doc.yml b/.github/workflows/test-doc.yml index 20d50bed7b..caa8a699a9 100644 --- a/.github/workflows/test-doc.yml +++ b/.github/workflows/test-doc.yml @@ -28,8 +28,21 @@ jobs: with: python-version: ${{ matrix.python-version }} + - name: 🔑 Create GitHub App token (mkdocs) + id: mkdocs_token + uses: actions/create-github-app-token@c1a285145b9d317df6ced56c09f525b5c2b6f755 # v1.11.1 + with: + app-id: ${{ secrets.MKDOCS_APP_ID }} + private-key: ${{ secrets.MKDOCS_PEM }} + owner: roboflow + repositories: mkdocs-material-insiders + - name: 🏗️ Install dependencies - run: uv pip install -r pyproject.toml --extra docs + run: | + uv pip install -r pyproject.toml --extra docs + # Install mkdocs-material-insiders using the GitHub App token + uv pip install "git+https://roboflow:${{ steps.mkdocs_token.outputs.token }}@github.com/roboflow/mkdocs-material-insiders.git@9.5.49-insiders-4.53.14#egg=mkdocs-material[imaging]" + - name: 🧪 Test Docs Build run: uv run mkdocs build --verbose From 071feeadce77cce9e190685c80f7d3af50689b9c Mon Sep 17 00:00:00 2001 From: Onuralp SEZER Date: Thu, 9 Jan 2025 00:25:34 +0300 Subject: [PATCH 101/420] =?UTF-8?q?docs:=20=F0=9F=93=9D=20update=20CONTRIB?= =?UTF-8?q?UTING.md=20to=20replace=20Poetry=20with=20uv=20for=20dependency?= =?UTF-8?q?=20management?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- CONTRIBUTING.md | 23 ++++++----------------- 1 file changed, 6 insertions(+), 17 deletions(-) diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 57a66af836..d86e08627e 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -155,31 +155,20 @@ Before starting your work on the project, set up your development environment: source .venv/bin/activate ``` -3. Install Poetry: +3. Install `uv`: - Using pip: - - ```bash - pip install -U pip setuptools - pip install poetry - ``` - - Or using pipx (recommended for global installation): - - ```bash - pipx install poetry - ``` + Follow the instructions on the [uv installation page](https://docs.astral.sh/uv/getting-started/installation/). 4. Install project dependencies: ```bash - poetry install + uv pip install -r pyproject.toml --extra dev --extra docs --extra metrics ``` 5. Run pytest to verify the setup: ```bash - poetry run pytest + uv run pytest ``` ## 🎨 Code Style and Quality @@ -192,7 +181,7 @@ Furthermore, we have integrated a pre-commit GitHub Action into our workflow. Th To run the pre-commit tool, follow these steps: -1. Install pre-commit by running the following command: `poetry install --with dev`. It will not only install pre-commit but also install all the deps and dev-deps of project +1. Install pre-commit by running the following command: `uv pip install -r pyproject.toml --extra dev`. It will not only install pre-commit but also install all the deps and dev-deps of project 2. Once pre-commit is installed, navigate to the project's root directory. @@ -214,7 +203,7 @@ So far, **there is no type checking with mypy**. See [issue](https://github.com/ The `supervision` documentation is stored in a folder called `docs`. The project documentation is built using `mkdocs`. -To run the documentation, install the project requirements with `poetry install --with dev`. Then, run `mkdocs serve` to start the documentation server. +To run the documentation, install the project requirements with `uv pip install -r pyproject.toml --extra dev --extra docs`. Then, run `mkdocs serve` to start the documentation server. You can learn more about mkdocs on the [mkdocs website](https://www.mkdocs.org/). From 16848e9160b94d8663fb997d0ef312e65a6b9e13 Mon Sep 17 00:00:00 2001 From: Onuralp SEZER Date: Thu, 9 Jan 2025 00:30:45 +0300 Subject: [PATCH 102/420] =?UTF-8?q?docs:=20=F0=9F=93=9D=20update=20install?= =?UTF-8?q?ation=20instructions=20to=20replace=20Poetry=20with=20uv=20in?= =?UTF-8?q?=20index.md?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- docs/index.md | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/docs/index.md b/docs/index.md index 6ba0748652..f5ab98da95 100644 --- a/docs/index.md +++ b/docs/index.md @@ -113,18 +113,19 @@ You can install `supervision` in a pip install -e "." ``` - === "poetry" + === "uv" ```bash # clone repository and navigate to root directory git clone --depth 1 -b develop https://github.com/roboflow/supervision.git cd supervision # setup python environment and activate it - poetry env use python3.10 - poetry shell + uv venv + source .venv/bin/activate # installation - poetry install + uv pip install -r pyproject.toml -e . --all-extras + ``` ## 🚀 Quickstart From 3ee6de3ed3a54020b3b9e5b44b0faa4404c32650 Mon Sep 17 00:00:00 2001 From: Onuralp SEZER Date: Thu, 9 Jan 2025 00:32:26 +0300 Subject: [PATCH 103/420] =?UTF-8?q?docs:=20=F0=9F=93=9D=20update=20error?= =?UTF-8?q?=20message=20to=20include=20uv=20as=20an=20alternative=20for=20?= =?UTF-8?q?installing=20metrics=20extra?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- supervision/metrics/utils/utils.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/supervision/metrics/utils/utils.py b/supervision/metrics/utils/utils.py index 6ae41a5fbd..9128fbe515 100644 --- a/supervision/metrics/utils/utils.py +++ b/supervision/metrics/utils/utils.py @@ -5,5 +5,6 @@ def ensure_pandas_installed(): raise ImportError( "`metrics` extra is required to run the function." " Run `pip install 'supervision[metrics]'` or" - " `poetry add supervision -E metrics`" + " `poetry add supervision -E metrics` or" + " `uv pip install 'supervision[metrics]'`" ) From e543aac6ddf2d3795f453b323b1463d8ba1d2f5d Mon Sep 17 00:00:00 2001 From: Onuralp SEZER Date: Thu, 9 Jan 2025 01:21:23 +0300 Subject: [PATCH 104/420] =?UTF-8?q?ci:=20=F0=9F=94=91=20separate=20TestPyP?= =?UTF-8?q?I=20publishing=20workflows?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .github/workflows/publish-test.yml | 10 ++----- .github/workflows/publish-testpypi.yml | 41 ++++++++++++++++++++++++++ .github/workflows/publish.yml | 10 ++----- 3 files changed, 45 insertions(+), 16 deletions(-) create mode 100644 .github/workflows/publish-testpypi.yml diff --git a/.github/workflows/publish-test.yml b/.github/workflows/publish-test.yml index 2b5818156b..1fdac7368c 100644 --- a/.github/workflows/publish-test.yml +++ b/.github/workflows/publish-test.yml @@ -1,4 +1,4 @@ -name: Publish Supervision Pre-Releases to PyPI and TestPyPI +name: Publish Supervision Pre-Releases to PyPI on: push: @@ -11,7 +11,7 @@ on: permissions: {} # Explicitly remove all permissions by default jobs: - build-and-publish-pre-release: + publish-pre-release: name: Publish Pre-release Package runs-on: ubuntu-latest environment: @@ -43,9 +43,3 @@ jobs: uses: pypa/gh-action-pypi-publish@67339c736fd9354cd4f8cb0b744f2b82a74b5c70 # v1.12.3 with: attestations: true - - - name: 🚀 Publish to Test-PyPi - uses: pypa/gh-action-pypi-publish@67339c736fd9354cd4f8cb0b744f2b82a74b5c70 # v1.12.3 - with: - repository-url: https://test.pypi.org/legacy/ - attestations: true diff --git a/.github/workflows/publish-testpypi.yml b/.github/workflows/publish-testpypi.yml new file mode 100644 index 0000000000..358dd61fdf --- /dev/null +++ b/.github/workflows/publish-testpypi.yml @@ -0,0 +1,41 @@ +name: Publish Supervision Releases to TestPyPI + +on: + workflow_dispatch: + +permissions: {} # Explicitly remove all permissions by default + +jobs: + publish-testpypi: + name: Publish Release Package + runs-on: ubuntu-latest + environment: + name: release + url: https://pypi.org/project/supervision/ + timeout-minutes: 10 + permissions: + id-token: write # Required for PyPI publishing + contents: read # Required for checkout + strategy: + matrix: + python-version: ["3.10"] + steps: + - name: 📥 Checkout the repository + uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 + + - name: 🐍 Install uv and set Python version ${{ matrix.python-version }} + uses: astral-sh/setup-uv@887a942a15af3a7626099df99e897a18d9e5ab3a # v5.1.0 + with: + python-version: ${{ matrix.python-version }} + + - name: 🏗️ Build source and wheel distributions + run: | + uv pip install -r pyproject.toml --extra build + uv build + uv run twine check --strict dist/* + + - name: 🚀 Publish to Test-PyPi + uses: pypa/gh-action-pypi-publish@67339c736fd9354cd4f8cb0b744f2b82a74b5c70 # v1.12.3 + with: + repository-url: https://test.pypi.org/legacy/ + attestations: true diff --git a/.github/workflows/publish.yml b/.github/workflows/publish.yml index 41974fb6fa..2c45d748bc 100644 --- a/.github/workflows/publish.yml +++ b/.github/workflows/publish.yml @@ -1,4 +1,4 @@ -name: Publish Supervision Releases to PyPI and TestPyPI +name: Publish Supervision Releases to PyPI on: push: @@ -9,7 +9,7 @@ on: permissions: {} # Explicitly remove all permissions by default jobs: - build-and-publish-release: + publish-release: name: Publish Release Package runs-on: ubuntu-latest environment: @@ -41,9 +41,3 @@ jobs: uses: pypa/gh-action-pypi-publish@67339c736fd9354cd4f8cb0b744f2b82a74b5c70 # v1.12.3 with: attestations: true - - - name: 🚀 Publish to Test-PyPi - uses: pypa/gh-action-pypi-publish@67339c736fd9354cd4f8cb0b744f2b82a74b5c70 # v1.12.3 - with: - repository-url: https://test.pypi.org/legacy/ - attestations: true From 2a1542c4653805107d7cc7e8b9af0f7b5f0f772e Mon Sep 17 00:00:00 2001 From: Onuralp SEZER Date: Thu, 9 Jan 2025 01:24:47 +0300 Subject: [PATCH 105/420] =?UTF-8?q?ci:=20=F0=9F=91=B7=20rename=20release?= =?UTF-8?q?=20actions=20files?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Onuralp SEZER --- .github/workflows/{publish-test.yml => publish-pre-release.yml} | 0 .github/workflows/{publish.yml => publish-release.yml} | 0 2 files changed, 0 insertions(+), 0 deletions(-) rename .github/workflows/{publish-test.yml => publish-pre-release.yml} (100%) rename .github/workflows/{publish.yml => publish-release.yml} (100%) diff --git a/.github/workflows/publish-test.yml b/.github/workflows/publish-pre-release.yml similarity index 100% rename from .github/workflows/publish-test.yml rename to .github/workflows/publish-pre-release.yml diff --git a/.github/workflows/publish.yml b/.github/workflows/publish-release.yml similarity index 100% rename from .github/workflows/publish.yml rename to .github/workflows/publish-release.yml From fa979cf0ab5228e793c8ee9abf488dcc498dd525 Mon Sep 17 00:00:00 2001 From: Jonas Pirner <48887249+pirnerjonas@users.noreply.github.com> Date: Thu, 9 Jan 2025 10:36:33 +0100 Subject: [PATCH 106/420] docs: fix doc string in Detections merge function --- supervision/detection/core.py | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/supervision/detection/core.py b/supervision/detection/core.py index c61728b9ca..7c3469b3b0 100644 --- a/supervision/detection/core.py +++ b/supervision/detection/core.py @@ -1027,16 +1027,16 @@ def merge(cls, detections_list: List[Detections]) -> Detections: detections_1 = sv.Detections( xyxy=np.array([[15, 15, 100, 100], [200, 200, 300, 300]]), class_id=np.array([1, 2]), - data={'feature_vector': np.array([0.1, 0.2)])} - ) - + data={'feature_vector': np.array([0.1, 0.2])} + ) + detections_2 = sv.Detections( xyxy=np.array([[30, 30, 120, 120]]), class_id=np.array([1]), - data={'feature_vector': [np.array([0.3])]} - ) - - merged_detections = Detections.merge([detections_1, detections_2]) + data={'feature_vector': np.array([0.3])} + ) + + merged_detections = sv.Detections.merge([detections_1, detections_2]) merged_detections.xyxy array([[ 15, 15, 100, 100], From b2a1eb5b21baf89e92bc6ab95a48a86e7dfb5fab Mon Sep 17 00:00:00 2001 From: Jonas Pirner <48887249+pirnerjonas@users.noreply.github.com> Date: Thu, 9 Jan 2025 10:46:25 +0100 Subject: [PATCH 107/420] fix: remove tabs --- supervision/detection/core.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/supervision/detection/core.py b/supervision/detection/core.py index 7c3469b3b0..ca4ded1ff3 100644 --- a/supervision/detection/core.py +++ b/supervision/detection/core.py @@ -1029,13 +1029,13 @@ def merge(cls, detections_list: List[Detections]) -> Detections: class_id=np.array([1, 2]), data={'feature_vector': np.array([0.1, 0.2])} ) - + detections_2 = sv.Detections( xyxy=np.array([[30, 30, 120, 120]]), class_id=np.array([1]), data={'feature_vector': np.array([0.3])} ) - + merged_detections = sv.Detections.merge([detections_1, detections_2]) merged_detections.xyxy From 483cc0677f50274c7f1f7c0ab90389c8079be345 Mon Sep 17 00:00:00 2001 From: Onuralp SEZER Date: Thu, 9 Jan 2025 14:12:50 +0300 Subject: [PATCH 108/420] =?UTF-8?q?build:=20=F0=9F=9B=A0=EF=B8=8F=20set=20?= =?UTF-8?q?include-package-data=20to=20false=20in=20pyproject.toml?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- pyproject.toml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pyproject.toml b/pyproject.toml index 91c3228ee0..0f7669090d 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -224,7 +224,7 @@ quiet-level = 3 ignore-words-list = "STrack,sTrack,strack" [tool.setuptools] -include-package-data = true +include-package-data = false [tool.setuptools.packages.find] include = ["supervision*"] From a5cad09782b5f6aaebcca77e4d70dc100ec23cb9 Mon Sep 17 00:00:00 2001 From: Onuralp SEZER Date: Thu, 9 Jan 2025 14:34:47 +0300 Subject: [PATCH 109/420] =?UTF-8?q?ci:=20=F0=9F=94=A7=20add=20version=20st?= =?UTF-8?q?ring=20to=20uv=20setup=20actions=20and=20refine=20test=20workfl?= =?UTF-8?q?ow=20triggers?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .github/workflows/publish-docs.yml | 2 +- .github/workflows/test-doc.yml | 2 +- .github/workflows/uv-test.yml | 14 ++++---------- 3 files changed, 6 insertions(+), 12 deletions(-) diff --git a/.github/workflows/publish-docs.yml b/.github/workflows/publish-docs.yml index e05fcf2497..f566d1ca11 100644 --- a/.github/workflows/publish-docs.yml +++ b/.github/workflows/publish-docs.yml @@ -34,7 +34,7 @@ jobs: fetch-depth: 0 - name: 🐍 Install uv and set Python ${{ matrix.python-version }} - uses: astral-sh/setup-uv@887a942a15af3a7626099df99e897a18d9e5ab3a + uses: astral-sh/setup-uv@887a942a15af3a7626099df99e897a18d9e5ab3a # v5.1.0 with: python-version: ${{ matrix.python-version }} diff --git a/.github/workflows/test-doc.yml b/.github/workflows/test-doc.yml index caa8a699a9..949c6cebf1 100644 --- a/.github/workflows/test-doc.yml +++ b/.github/workflows/test-doc.yml @@ -24,7 +24,7 @@ jobs: fetch-depth: 0 - name: 🐍 Install uv and set Python ${{ matrix.python-version }} - uses: astral-sh/setup-uv@887a942a15af3a7626099df99e897a18d9e5ab3a + uses: astral-sh/setup-uv@887a942a15af3a7626099df99e897a18d9e5ab3a # v5.1.0 with: python-version: ${{ matrix.python-version }} diff --git a/.github/workflows/uv-test.yml b/.github/workflows/uv-test.yml index 4b96277b7f..ed6ca26437 100644 --- a/.github/workflows/uv-test.yml +++ b/.github/workflows/uv-test.yml @@ -1,18 +1,12 @@ name: 🔧 Test Workflow + on: - push: - paths: - - "uv.lock" - - "pyproject.toml" pull_request: - paths: - - "uv.lock" - - "pyproject.toml" - workflow_dispatch: + branches: [main, develop] jobs: - tests: - name: Uv install and check + run-tests: + name: Import Test and Pytest Run timeout-minutes: 10 strategy: fail-fast: false From e4b5a8e0f925ea01bae061e915c0cb397610933d Mon Sep 17 00:00:00 2001 From: AI-Hao <2865467769@qq.com> Date: Thu, 9 Jan 2025 20:00:32 +0800 Subject: [PATCH 110/420] ### feat(detection): Support for IOS Matching Metric** - Added the `match_metric` parameter to the `with_nms` and `with_nmm` methods in the `Detections` class. - Modified the `box_non_max_suppression` and `box_non_max_merge` functions to support IOS calculation. - Introduced the `mask_non_max_merge` function for handling non-maximum merging of masks. - Updated the `box_iou_batch` and `mask_iou_batch` functions to support both IOU and IOS calculations. - Enhanced the `InferenceSlicer` class to accommodate the IOS matching metric. ### Notes - IOS (Intersection over Smaller): A variation of IOU that compares intersection over the smaller area, useful in scenarios with varying object sizes. - Refinements: Improved terminology for clarity and consistency, ensuring technical accuracy. --- supervision/detection/core.py | 36 +++-- supervision/detection/overlap_filter.py | 128 +++++++++++++++++- .../detection/tools/inference_slicer.py | 8 +- supervision/detection/utils.py | 64 +++++++-- 4 files changed, 204 insertions(+), 32 deletions(-) diff --git a/supervision/detection/core.py b/supervision/detection/core.py index c61728b9ca..ad012a9d4e 100644 --- a/supervision/detection/core.py +++ b/supervision/detection/core.py @@ -17,6 +17,7 @@ ) from supervision.detection.overlap_filter import ( box_non_max_merge, + mask_non_max_merge, box_non_max_suppression, mask_non_max_suppression, ) @@ -27,6 +28,7 @@ ) from supervision.detection.utils import ( box_iou_batch, + mask_iou_batch, calculate_masks_centroids, extract_ultralytics_masks, get_data_item, @@ -1281,7 +1283,7 @@ def box_area(self) -> np.ndarray: return (self.xyxy[:, 3] - self.xyxy[:, 1]) * (self.xyxy[:, 2] - self.xyxy[:, 0]) def with_nms( - self, threshold: float = 0.5, class_agnostic: bool = False + self, threshold: float = 0.5, class_agnostic: bool = False, match_metric: str = "IOU" ) -> Detections: """ Performs non-max suppression on detection set. If the detections result @@ -1294,6 +1296,8 @@ def with_nms( class_agnostic (bool): Whether to perform class-agnostic non-maximum suppression. If True, the class_id of each detection will be ignored. Defaults to False. + match_metric (str): Metric used for matching detections in slices. + "IOU" or "IOS". Defaults "IOU". Returns: Detections: A new Detections object containing the subset of detections @@ -1327,17 +1331,17 @@ def with_nms( if self.mask is not None: indices = mask_non_max_suppression( - predictions=predictions, masks=self.mask, iou_threshold=threshold + predictions=predictions, masks=self.mask, iou_threshold=threshold, match_metric=match_metric ) else: indices = box_non_max_suppression( - predictions=predictions, iou_threshold=threshold + predictions=predictions, iou_threshold=threshold, match_metric=match_metric ) return self[indices] def with_nmm( - self, threshold: float = 0.5, class_agnostic: bool = False + self, threshold: float = 0.5, class_agnostic: bool = False, match_metric: str = "IOU" ) -> Detections: """ Perform non-maximum merging on the current set of object detections. @@ -1348,6 +1352,8 @@ def with_nmm( class_agnostic (bool): Whether to perform class-agnostic non-maximum merging. If True, the class_id of each detection will be ignored. Defaults to False. + match_metric (str): Metric used for matching detections in slices. + "IOU" or "IOS". Defaults "IOU". Returns: Detections: A new Detections object containing the subset of detections @@ -1381,15 +1387,20 @@ def with_nmm( ) ) - merge_groups = box_non_max_merge( - predictions=predictions, iou_threshold=threshold - ) + if self.mask is not None: + merge_groups = mask_non_max_merge( + predictions=predictions, masks=self.mask, iou_threshold=threshold, match_metric=match_metric + ) + else: + merge_groups = box_non_max_merge( + predictions=predictions, iou_threshold=threshold, match_metric=match_metric + ) result = [] for merge_group in merge_groups: unmerged_detections = [self[i] for i in merge_group] merged_detections = merge_inner_detections_objects( - unmerged_detections, threshold + unmerged_detections, threshold, match_metric ) result.append(merged_detections) @@ -1489,7 +1500,7 @@ def merge_inner_detection_object_pair( def merge_inner_detections_objects( - detections: List[Detections], threshold=0.5 + detections: List[Detections], threshold=0.5, match_metric: str = "IOU" ) -> Detections: """ Given N detections each of length 1 (exactly one object inside), combine them into a @@ -1501,8 +1512,11 @@ def merge_inner_detections_objects( """ detections_1 = detections[0] for detections_2 in detections[1:]: - box_iou = box_iou_batch(detections_1.xyxy, detections_2.xyxy)[0] - if box_iou < threshold: + if detections_1.mask is not None and detections_2.mask is not None: + iou = mask_iou_batch(detections_1.mask, detections_2.mask, match_metric)[0] + else: + iou = box_iou_batch(detections_1.xyxy, detections_2.xyxy, match_metric)[0] + if iou < threshold: break detections_1 = merge_inner_detection_object_pair(detections_1, detections_2) return detections_1 diff --git a/supervision/detection/overlap_filter.py b/supervision/detection/overlap_filter.py index 4c59295f63..935be2360f 100644 --- a/supervision/detection/overlap_filter.py +++ b/supervision/detection/overlap_filter.py @@ -42,6 +42,7 @@ def mask_non_max_suppression( predictions: np.ndarray, masks: np.ndarray, iou_threshold: float = 0.5, + match_metric: str = "IOU", mask_dimension: int = 640, ) -> np.ndarray: """ @@ -57,6 +58,8 @@ def mask_non_max_suppression( dimensions of each mask. iou_threshold (float): The intersection-over-union threshold to use for non-maximum suppression. + match_metric (str): Metric used for matching detections in slices. + "IOU" or "IOS". Defaults "IOU". mask_dimension (int): The dimension to which the masks should be resized before computing IOU values. Defaults to 640. @@ -81,7 +84,7 @@ def mask_non_max_suppression( predictions = predictions[sort_index] masks = masks[sort_index] masks_resized = resize_masks(masks, mask_dimension) - ious = mask_iou_batch(masks_resized, masks_resized) + ious = mask_iou_batch(masks_resized, masks_resized, match_metric) categories = predictions[:, 5] keep = np.ones(rows, dtype=bool) @@ -94,7 +97,7 @@ def mask_non_max_suppression( def box_non_max_suppression( - predictions: np.ndarray, iou_threshold: float = 0.5 + predictions: np.ndarray, iou_threshold: float = 0.5, match_metric: str = "IOU" ) -> np.ndarray: """ Perform Non-Maximum Suppression (NMS) on object detection predictions. @@ -105,6 +108,8 @@ def box_non_max_suppression( or `(x_min, y_min, x_max, y_max, score, class)`. iou_threshold (float): The intersection-over-union threshold to use for non-maximum suppression. + match_metric (str): Metric used for matching detections in slices. + "IOU" or "IOS". Defaults "IOU". Returns: np.ndarray: A boolean array indicating which predictions to keep after n @@ -130,7 +135,7 @@ def box_non_max_suppression( boxes = predictions[:, :4] categories = predictions[:, 5] - ious = box_iou_batch(boxes, boxes) + ious = box_iou_batch(boxes, boxes, match_metric) ious = ious - np.eye(rows) keep = np.ones(rows, dtype=bool) @@ -148,7 +153,7 @@ def box_non_max_suppression( def group_overlapping_boxes( - predictions: npt.NDArray[np.float64], iou_threshold: float = 0.5 + predictions: npt.NDArray[np.float64], iou_threshold: float = 0.5, match_metric: str = "IOU" ) -> List[List[int]]: """ Apply greedy version of non-maximum merging to avoid detecting too many @@ -160,6 +165,8 @@ def group_overlapping_boxes( and the confidence scores. iou_threshold (float): The intersection-over-union threshold to use for non-maximum suppression. Defaults to 0.5. + match_metric (str): Metric used for matching detections in slices. + "IOU" or "IOS". Defaults "IOU". Returns: List[List[int]]: Groups of prediction indices be merged. @@ -179,7 +186,7 @@ def group_overlapping_boxes( break merge_candidate = np.expand_dims(predictions[idx], axis=0) - ious = box_iou_batch(predictions[order][:, :4], merge_candidate[:, :4]) + ious = box_iou_batch(predictions[order][:, :4], merge_candidate[:, :4], match_metric) ious = ious.flatten() above_threshold = ious >= iou_threshold @@ -189,9 +196,67 @@ def group_overlapping_boxes( return merge_groups +def mask_non_max_merge( + predictions: np.ndarray, + masks: np.ndarray, + iou_threshold: float = 0.5, + mask_dimension: int = 640, + match_metric: str = "IOU", +) -> np.ndarray: + """ + Perform Non-Maximum Merging (NMM) on segmentation predictions. + + Args: + predictions (np.ndarray): A 2D array of object detection predictions in + the format of `(x_min, y_min, x_max, y_max, score)` + or `(x_min, y_min, x_max, y_max, score, class)`. Shape: `(N, 5)` or + `(N, 6)`, where N is the number of predictions. + masks (np.ndarray): A 3D array of binary masks corresponding to the predictions. + Shape: `(N, H, W)`, where N is the number of predictions, and H, W are the + dimensions of each mask. + iou_threshold (float): The intersection-over-union threshold + to use for non-maximum suppression. + mask_dimension (int): The dimension to which the masks should be + resized before computing IOU values. Defaults to 640. + match_metric (str): Metric used for matching detections in slices. + "IOU" or "IOS". Defaults "IOU". + + Returns: + np.ndarray: A boolean array indicating which predictions to keep after + non-maximum suppression. + + Raises: + AssertionError: If `iou_threshold` is not within the closed + range from `0` to `1`. + """ + masks_resized = resize_masks(masks, mask_dimension) + if predictions.shape[1] == 5: + return group_overlapping_masks(predictions, masks_resized, iou_threshold, match_metric) + + category_ids = predictions[:, 5] + merge_groups = [] + for category_id in np.unique(category_ids): + curr_indices = np.where(category_ids == category_id)[0] + merge_class_groups = group_overlapping_masks( + predictions[curr_indices], masks_resized[curr_indices], iou_threshold, match_metric + ) + + for merge_class_group in merge_class_groups: + merge_groups.append(curr_indices[merge_class_group].tolist()) + + for merge_group in merge_groups: + if len(merge_group) == 0: + raise ValueError( + f"Empty group detected when non-max-merging " + f"detections: {merge_groups}" + ) + return merge_groups + + def box_non_max_merge( predictions: npt.NDArray[np.float64], iou_threshold: float = 0.5, + match_metric: str = "IOU", ) -> List[List[int]]: """ Apply greedy version of non-maximum merging per category to avoid detecting @@ -204,20 +269,22 @@ def box_non_max_merge( detections of different classes to be merged. iou_threshold (float): The intersection-over-union threshold to use for non-maximum suppression. Defaults to 0.5. + match_metric (str): Metric used for matching detections in slices. + "IOU" or "IOS". Defaults "IOU". Returns: List[List[int]]: Groups of prediction indices be merged. Each group may have 1 or more elements. """ if predictions.shape[1] == 5: - return group_overlapping_boxes(predictions, iou_threshold) + return group_overlapping_boxes(predictions, iou_threshold, match_metric) category_ids = predictions[:, 5] merge_groups = [] for category_id in np.unique(category_ids): curr_indices = np.where(category_ids == category_id)[0] merge_class_groups = group_overlapping_boxes( - predictions[curr_indices], iou_threshold + predictions[curr_indices], iou_threshold, match_metric ) for merge_class_group in merge_class_groups: @@ -232,6 +299,53 @@ def box_non_max_merge( return merge_groups +def group_overlapping_masks( + predictions: npt.NDArray[np.float64], + masks: npt.NDArray[np.float64], + iou_threshold: float = 0.5, + match_metric: str = "IOU", +) -> List[List[int]]: + """ + Apply greedy version of non-maximum merging to avoid detecting too many + + Args: + predictions (npt.NDArray[np.float64]): An array of shape `(n, 5)` containing + the bounding boxes coordinates in format `[x1, y1, x2, y2]` + and the confidence scores. + masks (npt.NDArray[np.float64]): A 3D array of binary masks corresponding to the predictions. + iou_threshold (float): The intersection-over-union threshold + to use for non-maximum suppression. Defaults to 0.5. + match_metric (str): Metric used for matching detections in slices. + "IOU" or "IOS". Defaults "IOU". + + Returns: + List[List[int]]: Groups of prediction indices be merged. + Each group may have 1 or more elements. + """ + merge_groups: List[List[int]] = [] + + scores = predictions[:, 4] + order = scores.argsort() + + while len(order) > 0: + idx = int(order[-1]) + + order = order[:-1] + if len(order) == 0: + merge_groups.append([idx]) + break + + merge_candidate = np.expand_dims(masks[idx], axis=0) + ious = mask_iou_batch(masks[order], merge_candidate, match_metric) + ious = ious.flatten() + + above_threshold = ious >= iou_threshold + merge_group = [idx, *np.flip(order[above_threshold]).tolist()] + merge_groups.append(merge_group) + order = order[~above_threshold] + return merge_groups + + class OverlapFilter(Enum): """ Enum specifying the strategy for filtering overlapping detections. diff --git a/supervision/detection/tools/inference_slicer.py b/supervision/detection/tools/inference_slicer.py index 05469dd61f..7babaf684b 100644 --- a/supervision/detection/tools/inference_slicer.py +++ b/supervision/detection/tools/inference_slicer.py @@ -72,6 +72,8 @@ class InferenceSlicer: filtering or merging overlapping detections in slices. iou_threshold (float): Intersection over Union (IoU) threshold used when filtering by overlap. + match_metric (str): Metric used for matching detections in slices. + "IOU" or "IOS". Defaults "IOU". callback (Callable): A function that performs inference on a given image slice and returns detections. thread_workers (int): Number of threads for parallel execution. @@ -91,6 +93,7 @@ def __init__( overlap_wh: Optional[Tuple[int, int]] = None, overlap_filter: Union[OverlapFilter, str] = OverlapFilter.NON_MAX_SUPPRESSION, iou_threshold: float = 0.5, + match_metric: str = "IOU", thread_workers: int = 1, ): if overlap_ratio_wh is not None: @@ -106,6 +109,7 @@ def __init__( self.slice_wh = slice_wh self.iou_threshold = iou_threshold + self.match_metric = match_metric self.overlap_filter = OverlapFilter.from_value(overlap_filter) self.callback = callback self.thread_workers = thread_workers @@ -165,9 +169,9 @@ def callback(image_slice: np.ndarray) -> sv.Detections: if self.overlap_filter == OverlapFilter.NONE: return merged elif self.overlap_filter == OverlapFilter.NON_MAX_SUPPRESSION: - return merged.with_nms(threshold=self.iou_threshold) + return merged.with_nms(threshold=self.iou_threshold, match_metric=self.match_metric) elif self.overlap_filter == OverlapFilter.NON_MAX_MERGE: - return merged.with_nmm(threshold=self.iou_threshold) + return merged.with_nmm(threshold=self.iou_threshold, match_metric=self.match_metric) else: warnings.warn( f"Invalid overlap filter strategy: {self.overlap_filter}", diff --git a/supervision/detection/utils.py b/supervision/detection/utils.py index 0d5ec475ed..19cddca470 100644 --- a/supervision/detection/utils.py +++ b/supervision/detection/utils.py @@ -48,7 +48,7 @@ def polygon_to_mask(polygon: np.ndarray, resolution_wh: Tuple[int, int]) -> np.n return mask -def box_iou_batch(boxes_true: np.ndarray, boxes_detection: np.ndarray) -> np.ndarray: +def box_iou_batch(boxes_true: np.ndarray, boxes_detection: np.ndarray, match_metric: str = "IOU") -> np.ndarray: """ Compute Intersection over Union (IoU) of two sets of bounding boxes - `boxes_true` and `boxes_detection`. Both sets @@ -59,6 +59,8 @@ def box_iou_batch(boxes_true: np.ndarray, boxes_detection: np.ndarray) -> np.nda `shape = (N, 4)` where `N` is number of true objects. boxes_detection (np.ndarray): 2D `np.ndarray` representing detection boxes. `shape = (M, 4)` where `M` is number of detected objects. + match_metric (str): Metric used for matching detections in slices. + "IOU" or "IOS". Defaults "IOU". Returns: np.ndarray: Pairwise IoU of boxes from `boxes_true` and `boxes_detection`. @@ -76,13 +78,32 @@ def box_area(box): bottom_right = np.minimum(boxes_true[:, None, 2:], boxes_detection[:, 2:]) area_inter = np.prod(np.clip(bottom_right - top_left, a_min=0, a_max=None), 2) - ious = area_inter / (area_true[:, None] + area_detection - area_inter) + + if match_metric.upper() == "IOU": + union_area = area_true[:, None] + area_detection - area_inter + ious = np.divide( + area_inter, + union_area, + out=np.zeros_like(area_inter, dtype=float), + where=union_area != 0, + ) + elif match_metric.upper() == "IOS": + small_area = np.minimum(area_true[:, None], area_detection) + ious = np.divide( + area_inter, + small_area, + out=np.zeros_like(area_inter, dtype=float), + where=small_area != 0, + ) + else: + raise ValueError(f"match_metric {match_metric} is not supported, only 'IOU' and 'IOS' are supported") + ious = np.nan_to_num(ious) return ious def _mask_iou_batch_split( - masks_true: np.ndarray, masks_detection: np.ndarray + masks_true: np.ndarray, masks_detection: np.ndarray, match_metric: str = "IOU" ) -> np.ndarray: """ Internal function. @@ -92,6 +113,8 @@ def _mask_iou_batch_split( Args: masks_true (np.ndarray): 3D `np.ndarray` representing ground-truth masks. masks_detection (np.ndarray): 3D `np.ndarray` representing detection masks. + match_metric (str): Metric used for matching detections in slices. + "IOU" or "IOS". Defaults "IOU". Returns: np.ndarray: Pairwise IoU of masks from `masks_true` and `masks_detection`. @@ -102,19 +125,34 @@ def _mask_iou_batch_split( masks_true_area = masks_true.sum(axis=(1, 2)) masks_detection_area = masks_detection.sum(axis=(1, 2)) - union_area = masks_true_area[:, None] + masks_detection_area - intersection_area - return np.divide( - intersection_area, - union_area, - out=np.zeros_like(intersection_area, dtype=float), - where=union_area != 0, - ) + if match_metric.upper() == "IOU": + union_area = masks_true_area[:, None] + masks_detection_area - intersection_area + ious = np.divide( + intersection_area, + union_area, + out=np.zeros_like(intersection_area, dtype=float), + where=union_area != 0, + ) + elif match_metric.upper() == "IOS": + small_area = np.minimum(intersection_area, masks_detection_area) + ious = np.divide( + intersection_area, + small_area, + out=np.zeros_like(intersection_area, dtype=float), + where=small_area != 0, + ) + else: + raise ValueError(f"match_metric {match_metric} is not supported, only 'IOU' and 'IOS' are supported") + + ious = np.nan_to_num(ious) + return ious def mask_iou_batch( masks_true: np.ndarray, masks_detection: np.ndarray, + match_metric: str = "IOU", memory_limit: int = 1024 * 5, ) -> np.ndarray: """ @@ -124,6 +162,8 @@ def mask_iou_batch( Args: masks_true (np.ndarray): 3D `np.ndarray` representing ground-truth masks. masks_detection (np.ndarray): 3D `np.ndarray` representing detection masks. + match_metric (str): Metric used for matching detections in slices. + "IOU" or "IOS". Defaults "IOU". memory_limit (int): memory limit in MB, default is 1024 * 5 MB (5GB). Returns: @@ -138,7 +178,7 @@ def mask_iou_batch( / 1024 ) if memory <= memory_limit: - return _mask_iou_batch_split(masks_true, masks_detection) + return _mask_iou_batch_split(masks_true, masks_detection, match_metric) ious = [] step = max( @@ -153,7 +193,7 @@ def mask_iou_batch( 1, ) for i in range(0, masks_true.shape[0], step): - ious.append(_mask_iou_batch_split(masks_true[i : i + step], masks_detection)) + ious.append(_mask_iou_batch_split(masks_true[i : i + step], masks_detection, match_metric)) return np.vstack(ious) From 9cd6549cdc064e67f85392f1fabd9caaccb0c7f7 Mon Sep 17 00:00:00 2001 From: AI-Hao <2865467769@qq.com> Date: Thu, 9 Jan 2025 20:03:31 +0800 Subject: [PATCH 111/420] feat(detection): Support for IOS Matching Metric - Added the `match_metric` parameter to the `with_nms` and `with_nmm` methods in the `Detections` class. - Modified the `box_non_max_suppression` and `box_non_max_merge` functions to support IOS calculation. - Introduced the `mask_non_max_merge` function for handling non-maximum merging of masks. - Updated the `box_iou_batch` and `mask_iou_batch` functions to support both IOU and IOS calculations. - Enhanced the `InferenceSlicer` class to accommodate the IOS matching metric. Notes - IOS (Intersection over Smaller): A variation of IOU that compares intersection over the smaller area, useful in scenarios with varying object sizes. - Refinements: Improved terminology for clarity and consistency, ensuring technical accuracy. --- supervision/detection/core.py | 36 +++-- supervision/detection/overlap_filter.py | 128 +++++++++++++++++- .../detection/tools/inference_slicer.py | 8 +- supervision/detection/utils.py | 64 +++++++-- 4 files changed, 204 insertions(+), 32 deletions(-) diff --git a/supervision/detection/core.py b/supervision/detection/core.py index c61728b9ca..ad012a9d4e 100644 --- a/supervision/detection/core.py +++ b/supervision/detection/core.py @@ -17,6 +17,7 @@ ) from supervision.detection.overlap_filter import ( box_non_max_merge, + mask_non_max_merge, box_non_max_suppression, mask_non_max_suppression, ) @@ -27,6 +28,7 @@ ) from supervision.detection.utils import ( box_iou_batch, + mask_iou_batch, calculate_masks_centroids, extract_ultralytics_masks, get_data_item, @@ -1281,7 +1283,7 @@ def box_area(self) -> np.ndarray: return (self.xyxy[:, 3] - self.xyxy[:, 1]) * (self.xyxy[:, 2] - self.xyxy[:, 0]) def with_nms( - self, threshold: float = 0.5, class_agnostic: bool = False + self, threshold: float = 0.5, class_agnostic: bool = False, match_metric: str = "IOU" ) -> Detections: """ Performs non-max suppression on detection set. If the detections result @@ -1294,6 +1296,8 @@ def with_nms( class_agnostic (bool): Whether to perform class-agnostic non-maximum suppression. If True, the class_id of each detection will be ignored. Defaults to False. + match_metric (str): Metric used for matching detections in slices. + "IOU" or "IOS". Defaults "IOU". Returns: Detections: A new Detections object containing the subset of detections @@ -1327,17 +1331,17 @@ def with_nms( if self.mask is not None: indices = mask_non_max_suppression( - predictions=predictions, masks=self.mask, iou_threshold=threshold + predictions=predictions, masks=self.mask, iou_threshold=threshold, match_metric=match_metric ) else: indices = box_non_max_suppression( - predictions=predictions, iou_threshold=threshold + predictions=predictions, iou_threshold=threshold, match_metric=match_metric ) return self[indices] def with_nmm( - self, threshold: float = 0.5, class_agnostic: bool = False + self, threshold: float = 0.5, class_agnostic: bool = False, match_metric: str = "IOU" ) -> Detections: """ Perform non-maximum merging on the current set of object detections. @@ -1348,6 +1352,8 @@ def with_nmm( class_agnostic (bool): Whether to perform class-agnostic non-maximum merging. If True, the class_id of each detection will be ignored. Defaults to False. + match_metric (str): Metric used for matching detections in slices. + "IOU" or "IOS". Defaults "IOU". Returns: Detections: A new Detections object containing the subset of detections @@ -1381,15 +1387,20 @@ def with_nmm( ) ) - merge_groups = box_non_max_merge( - predictions=predictions, iou_threshold=threshold - ) + if self.mask is not None: + merge_groups = mask_non_max_merge( + predictions=predictions, masks=self.mask, iou_threshold=threshold, match_metric=match_metric + ) + else: + merge_groups = box_non_max_merge( + predictions=predictions, iou_threshold=threshold, match_metric=match_metric + ) result = [] for merge_group in merge_groups: unmerged_detections = [self[i] for i in merge_group] merged_detections = merge_inner_detections_objects( - unmerged_detections, threshold + unmerged_detections, threshold, match_metric ) result.append(merged_detections) @@ -1489,7 +1500,7 @@ def merge_inner_detection_object_pair( def merge_inner_detections_objects( - detections: List[Detections], threshold=0.5 + detections: List[Detections], threshold=0.5, match_metric: str = "IOU" ) -> Detections: """ Given N detections each of length 1 (exactly one object inside), combine them into a @@ -1501,8 +1512,11 @@ def merge_inner_detections_objects( """ detections_1 = detections[0] for detections_2 in detections[1:]: - box_iou = box_iou_batch(detections_1.xyxy, detections_2.xyxy)[0] - if box_iou < threshold: + if detections_1.mask is not None and detections_2.mask is not None: + iou = mask_iou_batch(detections_1.mask, detections_2.mask, match_metric)[0] + else: + iou = box_iou_batch(detections_1.xyxy, detections_2.xyxy, match_metric)[0] + if iou < threshold: break detections_1 = merge_inner_detection_object_pair(detections_1, detections_2) return detections_1 diff --git a/supervision/detection/overlap_filter.py b/supervision/detection/overlap_filter.py index 4c59295f63..935be2360f 100644 --- a/supervision/detection/overlap_filter.py +++ b/supervision/detection/overlap_filter.py @@ -42,6 +42,7 @@ def mask_non_max_suppression( predictions: np.ndarray, masks: np.ndarray, iou_threshold: float = 0.5, + match_metric: str = "IOU", mask_dimension: int = 640, ) -> np.ndarray: """ @@ -57,6 +58,8 @@ def mask_non_max_suppression( dimensions of each mask. iou_threshold (float): The intersection-over-union threshold to use for non-maximum suppression. + match_metric (str): Metric used for matching detections in slices. + "IOU" or "IOS". Defaults "IOU". mask_dimension (int): The dimension to which the masks should be resized before computing IOU values. Defaults to 640. @@ -81,7 +84,7 @@ def mask_non_max_suppression( predictions = predictions[sort_index] masks = masks[sort_index] masks_resized = resize_masks(masks, mask_dimension) - ious = mask_iou_batch(masks_resized, masks_resized) + ious = mask_iou_batch(masks_resized, masks_resized, match_metric) categories = predictions[:, 5] keep = np.ones(rows, dtype=bool) @@ -94,7 +97,7 @@ def mask_non_max_suppression( def box_non_max_suppression( - predictions: np.ndarray, iou_threshold: float = 0.5 + predictions: np.ndarray, iou_threshold: float = 0.5, match_metric: str = "IOU" ) -> np.ndarray: """ Perform Non-Maximum Suppression (NMS) on object detection predictions. @@ -105,6 +108,8 @@ def box_non_max_suppression( or `(x_min, y_min, x_max, y_max, score, class)`. iou_threshold (float): The intersection-over-union threshold to use for non-maximum suppression. + match_metric (str): Metric used for matching detections in slices. + "IOU" or "IOS". Defaults "IOU". Returns: np.ndarray: A boolean array indicating which predictions to keep after n @@ -130,7 +135,7 @@ def box_non_max_suppression( boxes = predictions[:, :4] categories = predictions[:, 5] - ious = box_iou_batch(boxes, boxes) + ious = box_iou_batch(boxes, boxes, match_metric) ious = ious - np.eye(rows) keep = np.ones(rows, dtype=bool) @@ -148,7 +153,7 @@ def box_non_max_suppression( def group_overlapping_boxes( - predictions: npt.NDArray[np.float64], iou_threshold: float = 0.5 + predictions: npt.NDArray[np.float64], iou_threshold: float = 0.5, match_metric: str = "IOU" ) -> List[List[int]]: """ Apply greedy version of non-maximum merging to avoid detecting too many @@ -160,6 +165,8 @@ def group_overlapping_boxes( and the confidence scores. iou_threshold (float): The intersection-over-union threshold to use for non-maximum suppression. Defaults to 0.5. + match_metric (str): Metric used for matching detections in slices. + "IOU" or "IOS". Defaults "IOU". Returns: List[List[int]]: Groups of prediction indices be merged. @@ -179,7 +186,7 @@ def group_overlapping_boxes( break merge_candidate = np.expand_dims(predictions[idx], axis=0) - ious = box_iou_batch(predictions[order][:, :4], merge_candidate[:, :4]) + ious = box_iou_batch(predictions[order][:, :4], merge_candidate[:, :4], match_metric) ious = ious.flatten() above_threshold = ious >= iou_threshold @@ -189,9 +196,67 @@ def group_overlapping_boxes( return merge_groups +def mask_non_max_merge( + predictions: np.ndarray, + masks: np.ndarray, + iou_threshold: float = 0.5, + mask_dimension: int = 640, + match_metric: str = "IOU", +) -> np.ndarray: + """ + Perform Non-Maximum Merging (NMM) on segmentation predictions. + + Args: + predictions (np.ndarray): A 2D array of object detection predictions in + the format of `(x_min, y_min, x_max, y_max, score)` + or `(x_min, y_min, x_max, y_max, score, class)`. Shape: `(N, 5)` or + `(N, 6)`, where N is the number of predictions. + masks (np.ndarray): A 3D array of binary masks corresponding to the predictions. + Shape: `(N, H, W)`, where N is the number of predictions, and H, W are the + dimensions of each mask. + iou_threshold (float): The intersection-over-union threshold + to use for non-maximum suppression. + mask_dimension (int): The dimension to which the masks should be + resized before computing IOU values. Defaults to 640. + match_metric (str): Metric used for matching detections in slices. + "IOU" or "IOS". Defaults "IOU". + + Returns: + np.ndarray: A boolean array indicating which predictions to keep after + non-maximum suppression. + + Raises: + AssertionError: If `iou_threshold` is not within the closed + range from `0` to `1`. + """ + masks_resized = resize_masks(masks, mask_dimension) + if predictions.shape[1] == 5: + return group_overlapping_masks(predictions, masks_resized, iou_threshold, match_metric) + + category_ids = predictions[:, 5] + merge_groups = [] + for category_id in np.unique(category_ids): + curr_indices = np.where(category_ids == category_id)[0] + merge_class_groups = group_overlapping_masks( + predictions[curr_indices], masks_resized[curr_indices], iou_threshold, match_metric + ) + + for merge_class_group in merge_class_groups: + merge_groups.append(curr_indices[merge_class_group].tolist()) + + for merge_group in merge_groups: + if len(merge_group) == 0: + raise ValueError( + f"Empty group detected when non-max-merging " + f"detections: {merge_groups}" + ) + return merge_groups + + def box_non_max_merge( predictions: npt.NDArray[np.float64], iou_threshold: float = 0.5, + match_metric: str = "IOU", ) -> List[List[int]]: """ Apply greedy version of non-maximum merging per category to avoid detecting @@ -204,20 +269,22 @@ def box_non_max_merge( detections of different classes to be merged. iou_threshold (float): The intersection-over-union threshold to use for non-maximum suppression. Defaults to 0.5. + match_metric (str): Metric used for matching detections in slices. + "IOU" or "IOS". Defaults "IOU". Returns: List[List[int]]: Groups of prediction indices be merged. Each group may have 1 or more elements. """ if predictions.shape[1] == 5: - return group_overlapping_boxes(predictions, iou_threshold) + return group_overlapping_boxes(predictions, iou_threshold, match_metric) category_ids = predictions[:, 5] merge_groups = [] for category_id in np.unique(category_ids): curr_indices = np.where(category_ids == category_id)[0] merge_class_groups = group_overlapping_boxes( - predictions[curr_indices], iou_threshold + predictions[curr_indices], iou_threshold, match_metric ) for merge_class_group in merge_class_groups: @@ -232,6 +299,53 @@ def box_non_max_merge( return merge_groups +def group_overlapping_masks( + predictions: npt.NDArray[np.float64], + masks: npt.NDArray[np.float64], + iou_threshold: float = 0.5, + match_metric: str = "IOU", +) -> List[List[int]]: + """ + Apply greedy version of non-maximum merging to avoid detecting too many + + Args: + predictions (npt.NDArray[np.float64]): An array of shape `(n, 5)` containing + the bounding boxes coordinates in format `[x1, y1, x2, y2]` + and the confidence scores. + masks (npt.NDArray[np.float64]): A 3D array of binary masks corresponding to the predictions. + iou_threshold (float): The intersection-over-union threshold + to use for non-maximum suppression. Defaults to 0.5. + match_metric (str): Metric used for matching detections in slices. + "IOU" or "IOS". Defaults "IOU". + + Returns: + List[List[int]]: Groups of prediction indices be merged. + Each group may have 1 or more elements. + """ + merge_groups: List[List[int]] = [] + + scores = predictions[:, 4] + order = scores.argsort() + + while len(order) > 0: + idx = int(order[-1]) + + order = order[:-1] + if len(order) == 0: + merge_groups.append([idx]) + break + + merge_candidate = np.expand_dims(masks[idx], axis=0) + ious = mask_iou_batch(masks[order], merge_candidate, match_metric) + ious = ious.flatten() + + above_threshold = ious >= iou_threshold + merge_group = [idx, *np.flip(order[above_threshold]).tolist()] + merge_groups.append(merge_group) + order = order[~above_threshold] + return merge_groups + + class OverlapFilter(Enum): """ Enum specifying the strategy for filtering overlapping detections. diff --git a/supervision/detection/tools/inference_slicer.py b/supervision/detection/tools/inference_slicer.py index 05469dd61f..7babaf684b 100644 --- a/supervision/detection/tools/inference_slicer.py +++ b/supervision/detection/tools/inference_slicer.py @@ -72,6 +72,8 @@ class InferenceSlicer: filtering or merging overlapping detections in slices. iou_threshold (float): Intersection over Union (IoU) threshold used when filtering by overlap. + match_metric (str): Metric used for matching detections in slices. + "IOU" or "IOS". Defaults "IOU". callback (Callable): A function that performs inference on a given image slice and returns detections. thread_workers (int): Number of threads for parallel execution. @@ -91,6 +93,7 @@ def __init__( overlap_wh: Optional[Tuple[int, int]] = None, overlap_filter: Union[OverlapFilter, str] = OverlapFilter.NON_MAX_SUPPRESSION, iou_threshold: float = 0.5, + match_metric: str = "IOU", thread_workers: int = 1, ): if overlap_ratio_wh is not None: @@ -106,6 +109,7 @@ def __init__( self.slice_wh = slice_wh self.iou_threshold = iou_threshold + self.match_metric = match_metric self.overlap_filter = OverlapFilter.from_value(overlap_filter) self.callback = callback self.thread_workers = thread_workers @@ -165,9 +169,9 @@ def callback(image_slice: np.ndarray) -> sv.Detections: if self.overlap_filter == OverlapFilter.NONE: return merged elif self.overlap_filter == OverlapFilter.NON_MAX_SUPPRESSION: - return merged.with_nms(threshold=self.iou_threshold) + return merged.with_nms(threshold=self.iou_threshold, match_metric=self.match_metric) elif self.overlap_filter == OverlapFilter.NON_MAX_MERGE: - return merged.with_nmm(threshold=self.iou_threshold) + return merged.with_nmm(threshold=self.iou_threshold, match_metric=self.match_metric) else: warnings.warn( f"Invalid overlap filter strategy: {self.overlap_filter}", diff --git a/supervision/detection/utils.py b/supervision/detection/utils.py index 0d5ec475ed..19cddca470 100644 --- a/supervision/detection/utils.py +++ b/supervision/detection/utils.py @@ -48,7 +48,7 @@ def polygon_to_mask(polygon: np.ndarray, resolution_wh: Tuple[int, int]) -> np.n return mask -def box_iou_batch(boxes_true: np.ndarray, boxes_detection: np.ndarray) -> np.ndarray: +def box_iou_batch(boxes_true: np.ndarray, boxes_detection: np.ndarray, match_metric: str = "IOU") -> np.ndarray: """ Compute Intersection over Union (IoU) of two sets of bounding boxes - `boxes_true` and `boxes_detection`. Both sets @@ -59,6 +59,8 @@ def box_iou_batch(boxes_true: np.ndarray, boxes_detection: np.ndarray) -> np.nda `shape = (N, 4)` where `N` is number of true objects. boxes_detection (np.ndarray): 2D `np.ndarray` representing detection boxes. `shape = (M, 4)` where `M` is number of detected objects. + match_metric (str): Metric used for matching detections in slices. + "IOU" or "IOS". Defaults "IOU". Returns: np.ndarray: Pairwise IoU of boxes from `boxes_true` and `boxes_detection`. @@ -76,13 +78,32 @@ def box_area(box): bottom_right = np.minimum(boxes_true[:, None, 2:], boxes_detection[:, 2:]) area_inter = np.prod(np.clip(bottom_right - top_left, a_min=0, a_max=None), 2) - ious = area_inter / (area_true[:, None] + area_detection - area_inter) + + if match_metric.upper() == "IOU": + union_area = area_true[:, None] + area_detection - area_inter + ious = np.divide( + area_inter, + union_area, + out=np.zeros_like(area_inter, dtype=float), + where=union_area != 0, + ) + elif match_metric.upper() == "IOS": + small_area = np.minimum(area_true[:, None], area_detection) + ious = np.divide( + area_inter, + small_area, + out=np.zeros_like(area_inter, dtype=float), + where=small_area != 0, + ) + else: + raise ValueError(f"match_metric {match_metric} is not supported, only 'IOU' and 'IOS' are supported") + ious = np.nan_to_num(ious) return ious def _mask_iou_batch_split( - masks_true: np.ndarray, masks_detection: np.ndarray + masks_true: np.ndarray, masks_detection: np.ndarray, match_metric: str = "IOU" ) -> np.ndarray: """ Internal function. @@ -92,6 +113,8 @@ def _mask_iou_batch_split( Args: masks_true (np.ndarray): 3D `np.ndarray` representing ground-truth masks. masks_detection (np.ndarray): 3D `np.ndarray` representing detection masks. + match_metric (str): Metric used for matching detections in slices. + "IOU" or "IOS". Defaults "IOU". Returns: np.ndarray: Pairwise IoU of masks from `masks_true` and `masks_detection`. @@ -102,19 +125,34 @@ def _mask_iou_batch_split( masks_true_area = masks_true.sum(axis=(1, 2)) masks_detection_area = masks_detection.sum(axis=(1, 2)) - union_area = masks_true_area[:, None] + masks_detection_area - intersection_area - return np.divide( - intersection_area, - union_area, - out=np.zeros_like(intersection_area, dtype=float), - where=union_area != 0, - ) + if match_metric.upper() == "IOU": + union_area = masks_true_area[:, None] + masks_detection_area - intersection_area + ious = np.divide( + intersection_area, + union_area, + out=np.zeros_like(intersection_area, dtype=float), + where=union_area != 0, + ) + elif match_metric.upper() == "IOS": + small_area = np.minimum(intersection_area, masks_detection_area) + ious = np.divide( + intersection_area, + small_area, + out=np.zeros_like(intersection_area, dtype=float), + where=small_area != 0, + ) + else: + raise ValueError(f"match_metric {match_metric} is not supported, only 'IOU' and 'IOS' are supported") + + ious = np.nan_to_num(ious) + return ious def mask_iou_batch( masks_true: np.ndarray, masks_detection: np.ndarray, + match_metric: str = "IOU", memory_limit: int = 1024 * 5, ) -> np.ndarray: """ @@ -124,6 +162,8 @@ def mask_iou_batch( Args: masks_true (np.ndarray): 3D `np.ndarray` representing ground-truth masks. masks_detection (np.ndarray): 3D `np.ndarray` representing detection masks. + match_metric (str): Metric used for matching detections in slices. + "IOU" or "IOS". Defaults "IOU". memory_limit (int): memory limit in MB, default is 1024 * 5 MB (5GB). Returns: @@ -138,7 +178,7 @@ def mask_iou_batch( / 1024 ) if memory <= memory_limit: - return _mask_iou_batch_split(masks_true, masks_detection) + return _mask_iou_batch_split(masks_true, masks_detection, match_metric) ious = [] step = max( @@ -153,7 +193,7 @@ def mask_iou_batch( 1, ) for i in range(0, masks_true.shape[0], step): - ious.append(_mask_iou_batch_split(masks_true[i : i + step], masks_detection)) + ious.append(_mask_iou_batch_split(masks_true[i : i + step], masks_detection, match_metric)) return np.vstack(ious) From 4679334d86220d465eaff2646a52886992ed63fd Mon Sep 17 00:00:00 2001 From: "pre-commit-ci[bot]" <66853113+pre-commit-ci[bot]@users.noreply.github.com> Date: Thu, 9 Jan 2025 12:22:15 +0000 Subject: [PATCH 112/420] =?UTF-8?q?fix(pre=5Fcommit):=20=F0=9F=8E=A8=20aut?= =?UTF-8?q?o=20format=20pre-commit=20hooks?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- supervision/detection/core.py | 32 ++++++++++++++----- supervision/detection/overlap_filter.py | 17 +++++++--- .../detection/tools/inference_slicer.py | 8 +++-- supervision/detection/utils.py | 18 ++++++++--- 4 files changed, 57 insertions(+), 18 deletions(-) diff --git a/supervision/detection/core.py b/supervision/detection/core.py index ad012a9d4e..45478973bd 100644 --- a/supervision/detection/core.py +++ b/supervision/detection/core.py @@ -17,8 +17,8 @@ ) from supervision.detection.overlap_filter import ( box_non_max_merge, - mask_non_max_merge, box_non_max_suppression, + mask_non_max_merge, mask_non_max_suppression, ) from supervision.detection.tools.transformers import ( @@ -28,12 +28,12 @@ ) from supervision.detection.utils import ( box_iou_batch, - mask_iou_batch, calculate_masks_centroids, extract_ultralytics_masks, get_data_item, is_data_equal, is_metadata_equal, + mask_iou_batch, mask_to_xyxy, merge_data, merge_metadata, @@ -1283,7 +1283,10 @@ def box_area(self) -> np.ndarray: return (self.xyxy[:, 3] - self.xyxy[:, 1]) * (self.xyxy[:, 2] - self.xyxy[:, 0]) def with_nms( - self, threshold: float = 0.5, class_agnostic: bool = False, match_metric: str = "IOU" + self, + threshold: float = 0.5, + class_agnostic: bool = False, + match_metric: str = "IOU", ) -> Detections: """ Performs non-max suppression on detection set. If the detections result @@ -1331,17 +1334,25 @@ def with_nms( if self.mask is not None: indices = mask_non_max_suppression( - predictions=predictions, masks=self.mask, iou_threshold=threshold, match_metric=match_metric + predictions=predictions, + masks=self.mask, + iou_threshold=threshold, + match_metric=match_metric, ) else: indices = box_non_max_suppression( - predictions=predictions, iou_threshold=threshold, match_metric=match_metric + predictions=predictions, + iou_threshold=threshold, + match_metric=match_metric, ) return self[indices] def with_nmm( - self, threshold: float = 0.5, class_agnostic: bool = False, match_metric: str = "IOU" + self, + threshold: float = 0.5, + class_agnostic: bool = False, + match_metric: str = "IOU", ) -> Detections: """ Perform non-maximum merging on the current set of object detections. @@ -1389,11 +1400,16 @@ def with_nmm( if self.mask is not None: merge_groups = mask_non_max_merge( - predictions=predictions, masks=self.mask, iou_threshold=threshold, match_metric=match_metric + predictions=predictions, + masks=self.mask, + iou_threshold=threshold, + match_metric=match_metric, ) else: merge_groups = box_non_max_merge( - predictions=predictions, iou_threshold=threshold, match_metric=match_metric + predictions=predictions, + iou_threshold=threshold, + match_metric=match_metric, ) result = [] diff --git a/supervision/detection/overlap_filter.py b/supervision/detection/overlap_filter.py index 935be2360f..608216e220 100644 --- a/supervision/detection/overlap_filter.py +++ b/supervision/detection/overlap_filter.py @@ -153,7 +153,9 @@ def box_non_max_suppression( def group_overlapping_boxes( - predictions: npt.NDArray[np.float64], iou_threshold: float = 0.5, match_metric: str = "IOU" + predictions: npt.NDArray[np.float64], + iou_threshold: float = 0.5, + match_metric: str = "IOU", ) -> List[List[int]]: """ Apply greedy version of non-maximum merging to avoid detecting too many @@ -186,7 +188,9 @@ def group_overlapping_boxes( break merge_candidate = np.expand_dims(predictions[idx], axis=0) - ious = box_iou_batch(predictions[order][:, :4], merge_candidate[:, :4], match_metric) + ious = box_iou_batch( + predictions[order][:, :4], merge_candidate[:, :4], match_metric + ) ious = ious.flatten() above_threshold = ious >= iou_threshold @@ -231,14 +235,19 @@ def mask_non_max_merge( """ masks_resized = resize_masks(masks, mask_dimension) if predictions.shape[1] == 5: - return group_overlapping_masks(predictions, masks_resized, iou_threshold, match_metric) + return group_overlapping_masks( + predictions, masks_resized, iou_threshold, match_metric + ) category_ids = predictions[:, 5] merge_groups = [] for category_id in np.unique(category_ids): curr_indices = np.where(category_ids == category_id)[0] merge_class_groups = group_overlapping_masks( - predictions[curr_indices], masks_resized[curr_indices], iou_threshold, match_metric + predictions[curr_indices], + masks_resized[curr_indices], + iou_threshold, + match_metric, ) for merge_class_group in merge_class_groups: diff --git a/supervision/detection/tools/inference_slicer.py b/supervision/detection/tools/inference_slicer.py index 7babaf684b..324d26e3cc 100644 --- a/supervision/detection/tools/inference_slicer.py +++ b/supervision/detection/tools/inference_slicer.py @@ -169,9 +169,13 @@ def callback(image_slice: np.ndarray) -> sv.Detections: if self.overlap_filter == OverlapFilter.NONE: return merged elif self.overlap_filter == OverlapFilter.NON_MAX_SUPPRESSION: - return merged.with_nms(threshold=self.iou_threshold, match_metric=self.match_metric) + return merged.with_nms( + threshold=self.iou_threshold, match_metric=self.match_metric + ) elif self.overlap_filter == OverlapFilter.NON_MAX_MERGE: - return merged.with_nmm(threshold=self.iou_threshold, match_metric=self.match_metric) + return merged.with_nmm( + threshold=self.iou_threshold, match_metric=self.match_metric + ) else: warnings.warn( f"Invalid overlap filter strategy: {self.overlap_filter}", diff --git a/supervision/detection/utils.py b/supervision/detection/utils.py index 19cddca470..3c427d21b0 100644 --- a/supervision/detection/utils.py +++ b/supervision/detection/utils.py @@ -48,7 +48,9 @@ def polygon_to_mask(polygon: np.ndarray, resolution_wh: Tuple[int, int]) -> np.n return mask -def box_iou_batch(boxes_true: np.ndarray, boxes_detection: np.ndarray, match_metric: str = "IOU") -> np.ndarray: +def box_iou_batch( + boxes_true: np.ndarray, boxes_detection: np.ndarray, match_metric: str = "IOU" +) -> np.ndarray: """ Compute Intersection over Union (IoU) of two sets of bounding boxes - `boxes_true` and `boxes_detection`. Both sets @@ -96,7 +98,9 @@ def box_area(box): where=small_area != 0, ) else: - raise ValueError(f"match_metric {match_metric} is not supported, only 'IOU' and 'IOS' are supported") + raise ValueError( + f"match_metric {match_metric} is not supported, only 'IOU' and 'IOS' are supported" + ) ious = np.nan_to_num(ious) return ious @@ -143,7 +147,9 @@ def _mask_iou_batch_split( where=small_area != 0, ) else: - raise ValueError(f"match_metric {match_metric} is not supported, only 'IOU' and 'IOS' are supported") + raise ValueError( + f"match_metric {match_metric} is not supported, only 'IOU' and 'IOS' are supported" + ) ious = np.nan_to_num(ious) return ious @@ -193,7 +199,11 @@ def mask_iou_batch( 1, ) for i in range(0, masks_true.shape[0], step): - ious.append(_mask_iou_batch_split(masks_true[i : i + step], masks_detection, match_metric)) + ious.append( + _mask_iou_batch_split( + masks_true[i : i + step], masks_detection, match_metric + ) + ) return np.vstack(ious) From a54e491d490890247ca8c282d794b43c4bd1949e Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 27 Jan 2025 00:33:20 +0000 Subject: [PATCH 113/420] :arrow_up: Bump pypa/gh-action-pypi-publish from 1.12.3 to 1.12.4 Bumps [pypa/gh-action-pypi-publish](https://github.com/pypa/gh-action-pypi-publish) from 1.12.3 to 1.12.4. - [Release notes](https://github.com/pypa/gh-action-pypi-publish/releases) - [Commits](https://github.com/pypa/gh-action-pypi-publish/compare/67339c736fd9354cd4f8cb0b744f2b82a74b5c70...76f52bc884231f62b9a034ebfe128415bbaabdfc) --- updated-dependencies: - dependency-name: pypa/gh-action-pypi-publish dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] --- .github/workflows/publish-test.yml | 4 ++-- .github/workflows/publish.yml | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/.github/workflows/publish-test.yml b/.github/workflows/publish-test.yml index e7ab8b53e9..a89bbef699 100644 --- a/.github/workflows/publish-test.yml +++ b/.github/workflows/publish-test.yml @@ -41,12 +41,12 @@ jobs: poetry run twine check --strict dist/* - name: 🚀 Publish to PyPi - uses: pypa/gh-action-pypi-publish@67339c736fd9354cd4f8cb0b744f2b82a74b5c70 # v1.12.3 + uses: pypa/gh-action-pypi-publish@76f52bc884231f62b9a034ebfe128415bbaabdfc # v1.12.4 with: attestations: true - name: 🚀 Publish to Test-PyPi - uses: pypa/gh-action-pypi-publish@67339c736fd9354cd4f8cb0b744f2b82a74b5c70 # v1.12.3 + uses: pypa/gh-action-pypi-publish@76f52bc884231f62b9a034ebfe128415bbaabdfc # v1.12.4 with: repository-url: https://test.pypi.org/legacy/ attestations: true diff --git a/.github/workflows/publish.yml b/.github/workflows/publish.yml index d71c239b32..7f73d678ab 100644 --- a/.github/workflows/publish.yml +++ b/.github/workflows/publish.yml @@ -39,12 +39,12 @@ jobs: poetry run twine check --strict dist/* - name: 🚀 Publish to PyPi - uses: pypa/gh-action-pypi-publish@67339c736fd9354cd4f8cb0b744f2b82a74b5c70 # v1.12.3 + uses: pypa/gh-action-pypi-publish@76f52bc884231f62b9a034ebfe128415bbaabdfc # v1.12.4 with: attestations: true - name: 🚀 Publish to Test-PyPi - uses: pypa/gh-action-pypi-publish@67339c736fd9354cd4f8cb0b744f2b82a74b5c70 # v1.12.3 + uses: pypa/gh-action-pypi-publish@76f52bc884231f62b9a034ebfe128415bbaabdfc # v1.12.4 with: repository-url: https://test.pypi.org/legacy/ attestations: true From ea03d55d6ae370addb559eef20de582727b4cd37 Mon Sep 17 00:00:00 2001 From: Onuralp SEZER Date: Mon, 27 Jan 2025 21:01:17 +0300 Subject: [PATCH 114/420] chore: delete removed B410 bandit rule --- pyproject.toml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pyproject.toml b/pyproject.toml index 0f7669090d..0d9b87c864 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -89,7 +89,7 @@ build = [ [tool.bandit] target = ["test", "supervision"] -tests = ["B201", "B301", "B318", "B314", "B303", "B413", "B412", "B410"] +tests = ["B201", "B301", "B318", "B314", "B303", "B413", "B412"] [tool.autoflake] check = true From af562950a3d23bee3235558c42c114b8051b672f Mon Sep 17 00:00:00 2001 From: rcvsq Date: Tue, 4 Feb 2025 16:02:08 +0000 Subject: [PATCH 115/420] correct docstring to match parameter order as per documentation. --- supervision/keypoint/core.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/supervision/keypoint/core.py b/supervision/keypoint/core.py index 9455241560..04dde4e1da 100644 --- a/supervision/keypoint/core.py +++ b/supervision/keypoint/core.py @@ -91,10 +91,10 @@ class simplifies data manipulation and filtering, providing a uniform API for xy (np.ndarray): An array of shape `(n, m, 2)` containing `n` detected objects, each composed of `m` equally-sized sets of keypoints, where each point is `[x, y]`. - confidence (Optional[np.ndarray]): An array of shape - `(n, m)` containing the confidence scores of each keypoint. class_id (Optional[np.ndarray]): An array of shape `(n,)` containing the class ids of the detected objects. + confidence (Optional[np.ndarray]): An array of shape + `(n, m)` containing the confidence scores of each keypoint. data (Dict[str, Union[np.ndarray, List]]): A dictionary containing additional data where each key is a string representing the data type, and the value is either a NumPy array or a list of corresponding data of length `n` From dc08d88c5c7823788a46dc6b5fb358018b5ea0ce Mon Sep 17 00:00:00 2001 From: Onuralp SEZER Date: Sat, 8 Feb 2025 23:07:12 +0300 Subject: [PATCH 116/420] chore: update astral-sh/setup-uv to version 5.2.2 in workflow files --- .github/workflows/publish-docs.yml | 2 +- .github/workflows/publish-pre-release.yml | 2 +- .github/workflows/publish-release.yml | 2 +- .github/workflows/publish-testpypi.yml | 2 +- .github/workflows/test-doc.yml | 13 +------------ .github/workflows/uv-test.yml | 4 ++-- 6 files changed, 7 insertions(+), 18 deletions(-) diff --git a/.github/workflows/publish-docs.yml b/.github/workflows/publish-docs.yml index f566d1ca11..450f3d831f 100644 --- a/.github/workflows/publish-docs.yml +++ b/.github/workflows/publish-docs.yml @@ -34,7 +34,7 @@ jobs: fetch-depth: 0 - name: 🐍 Install uv and set Python ${{ matrix.python-version }} - uses: astral-sh/setup-uv@887a942a15af3a7626099df99e897a18d9e5ab3a # v5.1.0 + uses: astral-sh/setup-uv@4db96194c378173c656ce18a155ffc14a9fc4355 # v5.2.2 with: python-version: ${{ matrix.python-version }} diff --git a/.github/workflows/publish-pre-release.yml b/.github/workflows/publish-pre-release.yml index be69cf5c7a..8d6030362c 100644 --- a/.github/workflows/publish-pre-release.yml +++ b/.github/workflows/publish-pre-release.yml @@ -29,7 +29,7 @@ jobs: uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 - name: 🐍 Install uv and set Python version ${{ matrix.python-version }} - uses: astral-sh/setup-uv@887a942a15af3a7626099df99e897a18d9e5ab3a # v5.1.0 + uses: astral-sh/setup-uv@4db96194c378173c656ce18a155ffc14a9fc4355 # v5.2.2 with: python-version: ${{ matrix.python-version }} diff --git a/.github/workflows/publish-release.yml b/.github/workflows/publish-release.yml index 2c45d748bc..c2a411d99b 100644 --- a/.github/workflows/publish-release.yml +++ b/.github/workflows/publish-release.yml @@ -27,7 +27,7 @@ jobs: uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 - name: 🐍 Install uv and set Python version ${{ matrix.python-version }} - uses: astral-sh/setup-uv@887a942a15af3a7626099df99e897a18d9e5ab3a # v5.1.0 + uses: astral-sh/setup-uv@4db96194c378173c656ce18a155ffc14a9fc4355 # v5.2.2 with: python-version: ${{ matrix.python-version }} diff --git a/.github/workflows/publish-testpypi.yml b/.github/workflows/publish-testpypi.yml index 86222bedc5..64c87156dc 100644 --- a/.github/workflows/publish-testpypi.yml +++ b/.github/workflows/publish-testpypi.yml @@ -24,7 +24,7 @@ jobs: uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 - name: 🐍 Install uv and set Python version ${{ matrix.python-version }} - uses: astral-sh/setup-uv@887a942a15af3a7626099df99e897a18d9e5ab3a # v5.1.0 + uses: astral-sh/setup-uv@4db96194c378173c656ce18a155ffc14a9fc4355 # v5.2.2 with: python-version: ${{ matrix.python-version }} diff --git a/.github/workflows/test-doc.yml b/.github/workflows/test-doc.yml index 949c6cebf1..33953be053 100644 --- a/.github/workflows/test-doc.yml +++ b/.github/workflows/test-doc.yml @@ -24,24 +24,13 @@ jobs: fetch-depth: 0 - name: 🐍 Install uv and set Python ${{ matrix.python-version }} - uses: astral-sh/setup-uv@887a942a15af3a7626099df99e897a18d9e5ab3a # v5.1.0 + uses: astral-sh/setup-uv@4db96194c378173c656ce18a155ffc14a9fc4355 # v5.2.2 with: python-version: ${{ matrix.python-version }} - - name: 🔑 Create GitHub App token (mkdocs) - id: mkdocs_token - uses: actions/create-github-app-token@c1a285145b9d317df6ced56c09f525b5c2b6f755 # v1.11.1 - with: - app-id: ${{ secrets.MKDOCS_APP_ID }} - private-key: ${{ secrets.MKDOCS_PEM }} - owner: roboflow - repositories: mkdocs-material-insiders - - name: 🏗️ Install dependencies run: | uv pip install -r pyproject.toml --extra docs - # Install mkdocs-material-insiders using the GitHub App token - uv pip install "git+https://roboflow:${{ steps.mkdocs_token.outputs.token }}@github.com/roboflow/mkdocs-material-insiders.git@9.5.49-insiders-4.53.14#egg=mkdocs-material[imaging]" - name: 🧪 Test Docs Build diff --git a/.github/workflows/uv-test.yml b/.github/workflows/uv-test.yml index ed6ca26437..9d0a0a4488 100644 --- a/.github/workflows/uv-test.yml +++ b/.github/workflows/uv-test.yml @@ -1,4 +1,4 @@ -name: 🔧 Test Workflow +name: 🔧 Pytest/Test Workflow on: pull_request: @@ -19,7 +19,7 @@ jobs: uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 - name: 🐍 Install uv and set Python version ${{ matrix.python-version }} - uses: astral-sh/setup-uv@887a942a15af3a7626099df99e897a18d9e5ab3a # v5.1.0 + uses: astral-sh/setup-uv@4db96194c378173c656ce18a155ffc14a9fc4355 # v5.2.2 with: python-version: ${{ matrix.python-version }} From 2c53eb10a878d09c80befa153bd2e148a983923e Mon Sep 17 00:00:00 2001 From: Onuralp SEZER Date: Sun, 9 Feb 2025 03:53:35 +0300 Subject: [PATCH 117/420] chore: simplify numpy and scipy version constraints in pyproject.toml and uv lock update --- pyproject.toml | 11 +- uv.lock | 1499 +++++++++++++++++++++++++----------------------- 2 files changed, 778 insertions(+), 732 deletions(-) diff --git a/pyproject.toml b/pyproject.toml index 0d9b87c864..b95f56557b 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -38,12 +38,8 @@ classifiers = [ 'Operating System :: MacOS', ] dependencies = [ - "numpy>=1.21.2,<1.26.0; python_version < '3.12'", - "numpy>=1.26.0,<2.1.0; python_version >= '3.12' and python_version < '3.13'", - "numpy>=2.1.0; python_version >= '3.13'", - "scipy==1.10.0; python_version < '3.9'", - "scipy>=1.10.0,<1.14.1; python_version >= '3.9' and python_version < '3.13'", - "scipy>=1.14.1; python_version >= '3.13'", + "numpy>=1.21.2", + "scipy>=1.10.0", "matplotlib>=3.6.0", "pyyaml>=5.3", "defusedxml>=0.7.1", @@ -60,8 +56,7 @@ Documentation = "https://supervision.roboflow.com/latest/" [project.optional-dependencies] metrics = [ - "pandas>=2.0.0; python_version < '3.13'", - "pandas>=2.2.3; python_version >= '3.13'" + "pandas>=2.0.0", ] dev = [ "pytest>=7.2.2,<9.0.0", diff --git a/uv.lock b/uv.lock index a72fe0872c..bbdf7d1c2a 100644 --- a/uv.lock +++ b/uv.lock @@ -1,12 +1,9 @@ version = 1 requires-python = ">=3.8" resolution-markers = [ - "python_full_version >= '3.13' and sys_platform == 'darwin'", - "python_full_version >= '3.13' and platform_machine == 'aarch64' and sys_platform == 'linux'", - "(python_full_version >= '3.13' and platform_machine != 'aarch64' and sys_platform == 'linux') or (python_full_version >= '3.13' and sys_platform != 'darwin' and sys_platform != 'linux')", - "python_full_version == '3.12.*' and sys_platform == 'darwin'", - "python_full_version == '3.12.*' and platform_machine == 'aarch64' and sys_platform == 'linux'", - "(python_full_version == '3.12.*' and platform_machine != 'aarch64' and sys_platform == 'linux') or (python_full_version == '3.12.*' and sys_platform != 'darwin' and sys_platform != 'linux')", + "python_full_version >= '3.12' and sys_platform == 'darwin'", + "python_full_version >= '3.12' and platform_machine == 'aarch64' and sys_platform == 'linux'", + "(python_full_version >= '3.12' and platform_machine != 'aarch64' and sys_platform == 'linux') or (python_full_version >= '3.12' and sys_platform != 'darwin' and sys_platform != 'linux')", "python_full_version == '3.11.*' and sys_platform == 'darwin'", "python_full_version == '3.11.*' and platform_machine == 'aarch64' and sys_platform == 'linux'", "(python_full_version == '3.11.*' and platform_machine != 'aarch64' and sys_platform == 'linux') or (python_full_version == '3.11.*' and sys_platform != 'darwin' and sys_platform != 'linux')", @@ -46,12 +43,9 @@ name = "anyio" version = "4.8.0" source = { registry = "https://pypi.org/simple" } resolution-markers = [ - "python_full_version >= '3.13' and sys_platform == 'darwin'", - "python_full_version >= '3.13' and platform_machine == 'aarch64' and sys_platform == 'linux'", - "(python_full_version >= '3.13' and platform_machine != 'aarch64' and sys_platform == 'linux') or (python_full_version >= '3.13' and sys_platform != 'darwin' and sys_platform != 'linux')", - "python_full_version == '3.12.*' and sys_platform == 'darwin'", - "python_full_version == '3.12.*' and platform_machine == 'aarch64' and sys_platform == 'linux'", - "(python_full_version == '3.12.*' and platform_machine != 'aarch64' and sys_platform == 'linux') or (python_full_version == '3.12.*' and sys_platform != 'darwin' and sys_platform != 'linux')", + "python_full_version >= '3.12' and sys_platform == 'darwin'", + "python_full_version >= '3.12' and platform_machine == 'aarch64' and sys_platform == 'linux'", + "(python_full_version >= '3.12' and platform_machine != 'aarch64' and sys_platform == 'linux') or (python_full_version >= '3.12' and sys_platform != 'darwin' and sys_platform != 'linux')", "python_full_version == '3.11.*' and sys_platform == 'darwin'", "python_full_version == '3.11.*' and platform_machine == 'aarch64' and sys_platform == 'linux'", "(python_full_version == '3.11.*' and platform_machine != 'aarch64' and sys_platform == 'linux') or (python_full_version == '3.11.*' and sys_platform != 'darwin' and sys_platform != 'linux')", @@ -169,23 +163,23 @@ wheels = [ [[package]] name = "attrs" -version = "24.3.0" +version = "25.1.0" source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/48/c8/6260f8ccc11f0917360fc0da435c5c9c7504e3db174d5a12a1494887b045/attrs-24.3.0.tar.gz", hash = "sha256:8f5c07333d543103541ba7be0e2ce16eeee8130cb0b3f9238ab904ce1e85baff", size = 805984 } +sdist = { url = "https://files.pythonhosted.org/packages/49/7c/fdf464bcc51d23881d110abd74b512a42b3d5d376a55a831b44c603ae17f/attrs-25.1.0.tar.gz", hash = "sha256:1c97078a80c814273a76b2a298a932eb681c87415c11dee0a6921de7f1b02c3e", size = 810562 } wheels = [ - { url = "https://files.pythonhosted.org/packages/89/aa/ab0f7891a01eeb2d2e338ae8fecbe57fcebea1a24dbb64d45801bfab481d/attrs-24.3.0-py3-none-any.whl", hash = "sha256:ac96cd038792094f438ad1f6ff80837353805ac950cd2aa0e0625ef19850c308", size = 63397 }, + { url = "https://files.pythonhosted.org/packages/fc/30/d4986a882011f9df997a55e6becd864812ccfcd821d64aac8570ee39f719/attrs-25.1.0-py3-none-any.whl", hash = "sha256:c75a69e28a550a7e93789579c22aa26b0f5b83b75dc4e08fe092980051e1090a", size = 63152 }, ] [[package]] name = "babel" -version = "2.16.0" +version = "2.17.0" source = { registry = "https://pypi.org/simple" } dependencies = [ { name = "pytz", marker = "python_full_version < '3.9'" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/2a/74/f1bc80f23eeba13393b7222b11d95ca3af2c1e28edca18af487137eefed9/babel-2.16.0.tar.gz", hash = "sha256:d1f3554ca26605fe173f3de0c65f750f5a42f924499bf134de6423582298e316", size = 9348104 } +sdist = { url = "https://files.pythonhosted.org/packages/7d/6b/d52e42361e1aa00709585ecc30b3f9684b3ab62530771402248b1b1d6240/babel-2.17.0.tar.gz", hash = "sha256:0c54cffb19f690cdcc52a3b50bcbf71e07a808d1c80d549f2459b9d2cf0afb9d", size = 9951852 } wheels = [ - { url = "https://files.pythonhosted.org/packages/ed/20/bc79bc575ba2e2a7f70e8a1155618bb1301eaa5132a8271373a6903f73f8/babel-2.16.0-py3-none-any.whl", hash = "sha256:368b5b98b37c06b7daf6696391c3240c938b37767d4584413e8438c5c435fa8b", size = 9587599 }, + { url = "https://files.pythonhosted.org/packages/b7/b8/3fe70c75fe32afc4bb507f75563d39bc5642255d1d94f1f23604725780bf/babel-2.17.0-py3-none-any.whl", hash = "sha256:4d0b53093fdfb4b21c92b5213dba5a1b23885afa8383709427046b21c366e5f2", size = 10182537 }, ] [[package]] @@ -208,14 +202,15 @@ wheels = [ [[package]] name = "beautifulsoup4" -version = "4.12.3" +version = "4.13.3" source = { registry = "https://pypi.org/simple" } dependencies = [ { name = "soupsieve" }, + { name = "typing-extensions" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/b3/ca/824b1195773ce6166d388573fc106ce56d4a805bd7427b624e063596ec58/beautifulsoup4-4.12.3.tar.gz", hash = "sha256:74e3d1928edc070d21748185c46e3fb33490f22f52a3addee9aee0f4f7781051", size = 581181 } +sdist = { url = "https://files.pythonhosted.org/packages/f0/3c/adaf39ce1fb4afdd21b611e3d530b183bb7759c9b673d60db0e347fd4439/beautifulsoup4-4.13.3.tar.gz", hash = "sha256:1bd32405dacc920b42b83ba01644747ed77456a65760e285fbc47633ceddaf8b", size = 619516 } wheels = [ - { url = "https://files.pythonhosted.org/packages/b1/fe/e8c672695b37eecc5cbf43e1d0638d88d66ba3a44c4d321c796f4e59167f/beautifulsoup4-4.12.3-py3-none-any.whl", hash = "sha256:b80878c9f40111313e55da8ba20bdba06d8fa3969fc68304167741bbf9e082ed", size = 147925 }, + { url = "https://files.pythonhosted.org/packages/f9/49/6abb616eb3cbab6a7cca303dc02fdf3836de2e0b834bf966a7f5271a34d8/beautifulsoup4-4.13.3-py3-none-any.whl", hash = "sha256:99045d7d3f08f91f0d656bc9b7efbae189426cd913d830294a15eefa0ea4df16", size = 186015 }, ] [[package]] @@ -246,12 +241,9 @@ name = "bleach" version = "6.2.0" source = { registry = "https://pypi.org/simple" } resolution-markers = [ - "python_full_version >= '3.13' and sys_platform == 'darwin'", - "python_full_version >= '3.13' and platform_machine == 'aarch64' and sys_platform == 'linux'", - "(python_full_version >= '3.13' and platform_machine != 'aarch64' and sys_platform == 'linux') or (python_full_version >= '3.13' and sys_platform != 'darwin' and sys_platform != 'linux')", - "python_full_version == '3.12.*' and sys_platform == 'darwin'", - "python_full_version == '3.12.*' and platform_machine == 'aarch64' and sys_platform == 'linux'", - "(python_full_version == '3.12.*' and platform_machine != 'aarch64' and sys_platform == 'linux') or (python_full_version == '3.12.*' and sys_platform != 'darwin' and sys_platform != 'linux')", + "python_full_version >= '3.12' and sys_platform == 'darwin'", + "python_full_version >= '3.12' and platform_machine == 'aarch64' and sys_platform == 'linux'", + "(python_full_version >= '3.12' and platform_machine != 'aarch64' and sys_platform == 'linux') or (python_full_version >= '3.12' and sys_platform != 'darwin' and sys_platform != 'linux')", "python_full_version == '3.11.*' and sys_platform == 'darwin'", "python_full_version == '3.11.*' and platform_machine == 'aarch64' and sys_platform == 'linux'", "(python_full_version == '3.11.*' and platform_machine != 'aarch64' and sys_platform == 'linux') or (python_full_version == '3.11.*' and sys_platform != 'darwin' and sys_platform != 'linux')", @@ -281,7 +273,8 @@ version = "1.2.2.post1" source = { registry = "https://pypi.org/simple" } dependencies = [ { name = "colorama", marker = "(python_full_version < '3.10' and os_name == 'nt' and platform_machine != 'arm64' and sys_platform == 'darwin') or (os_name == 'nt' and platform_machine != 'aarch64' and sys_platform == 'linux') or (os_name == 'nt' and sys_platform != 'darwin' and sys_platform != 'linux')" }, - { name = "importlib-metadata", marker = "python_full_version < '3.10.2'" }, + { name = "importlib-metadata", version = "8.5.0", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.9'" }, + { name = "importlib-metadata", version = "8.6.1", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.9' and python_full_version < '3.10.2'" }, { name = "packaging" }, { name = "pyproject-hooks" }, { name = "tomli", marker = "python_full_version < '3.11'" }, @@ -293,11 +286,11 @@ wheels = [ [[package]] name = "cachetools" -version = "5.5.0" +version = "5.5.1" source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/c3/38/a0f315319737ecf45b4319a8cd1f3a908e29d9277b46942263292115eee7/cachetools-5.5.0.tar.gz", hash = "sha256:2cc24fb4cbe39633fb7badd9db9ca6295d766d9c2995f245725a46715d050f2a", size = 27661 } +sdist = { url = "https://files.pythonhosted.org/packages/d9/74/57df1ab0ce6bc5f6fa868e08de20df8ac58f9c44330c7671ad922d2bbeae/cachetools-5.5.1.tar.gz", hash = "sha256:70f238fbba50383ef62e55c6aff6d9673175fe59f7c6782c7a0b9e38f4a9df95", size = 28044 } wheels = [ - { url = "https://files.pythonhosted.org/packages/a4/07/14f8ad37f2d12a5ce41206c21820d8cb6561b728e51fad4530dff0552a67/cachetools-5.5.0-py3-none-any.whl", hash = "sha256:02134e8439cdc2ffb62023ce1debca2944c3f289d66bb17ead3ab3dede74b292", size = 9524 }, + { url = "https://files.pythonhosted.org/packages/ec/4e/de4ff18bcf55857ba18d3a4bd48c8a9fde6bb0980c9d20b263f05387fd88/cachetools-5.5.1-py3-none-any.whl", hash = "sha256:b76651fdc3b24ead3c648bbdeeb940c1b04d365b38b4af66788f9ec4a81d42bb", size = 9530 }, ] [[package]] @@ -331,11 +324,11 @@ wheels = [ [[package]] name = "certifi" -version = "2024.12.14" +version = "2025.1.31" source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/0f/bd/1d41ee578ce09523c81a15426705dd20969f5abf006d1afe8aeff0dd776a/certifi-2024.12.14.tar.gz", hash = "sha256:b650d30f370c2b724812bee08008be0c4163b163ddaec3f2546c1caf65f191db", size = 166010 } +sdist = { url = "https://files.pythonhosted.org/packages/1c/ab/c9f1e32b7b1bf505bf26f0ef697775960db7932abeb7b516de930ba2705f/certifi-2025.1.31.tar.gz", hash = "sha256:3d5da6925056f6f18f119200434a4780a94263f10d1c21d032a6f6b2baa20651", size = 167577 } wheels = [ - { url = "https://files.pythonhosted.org/packages/a5/32/8f6669fc4798494966bf446c8c4a162e0b5d893dff088afddf76414f70e1/certifi-2024.12.14-py3-none-any.whl", hash = "sha256:1275f7a45be9464efc1173084eaa30f866fe2e47d389406136d332ed4967ec56", size = 164927 }, + { url = "https://files.pythonhosted.org/packages/38/fc/bce832fd4fd99766c04d1ee0eead6b0ec6486fb100ae5e74c1d91292b982/certifi-2025.1.31-py3-none-any.whl", hash = "sha256:ca78db4565a652026a4db2bcdf68f2fb589ea80d0be70e03929ed730746b84fe", size = 166393 }, ] [[package]] @@ -621,7 +614,7 @@ resolution-markers = [ "(python_full_version == '3.9.*' and platform_machine != 'arm64' and sys_platform == 'darwin') or (python_full_version == '3.9.*' and platform_machine != 'aarch64' and sys_platform == 'linux') or (python_full_version == '3.9.*' and sys_platform != 'darwin' and sys_platform != 'linux')", ] dependencies = [ - { name = "numpy", version = "1.25.2", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version == '3.9.*'" }, + { name = "numpy", version = "2.0.2", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version == '3.9.*'" }, ] sdist = { url = "https://files.pythonhosted.org/packages/f5/f6/31a8f28b4a2a4fa0e01085e542f3081ab0588eff8e589d39d775172c9792/contourpy-1.3.0.tar.gz", hash = "sha256:7ffa0db17717a8ffb127efd0c95a4362d996b892c2904db72428d5b52e1938a4", size = 13464370 } wheels = [ @@ -696,12 +689,9 @@ name = "contourpy" version = "1.3.1" source = { registry = "https://pypi.org/simple" } resolution-markers = [ - "python_full_version >= '3.13' and sys_platform == 'darwin'", - "python_full_version >= '3.13' and platform_machine == 'aarch64' and sys_platform == 'linux'", - "(python_full_version >= '3.13' and platform_machine != 'aarch64' and sys_platform == 'linux') or (python_full_version >= '3.13' and sys_platform != 'darwin' and sys_platform != 'linux')", - "python_full_version == '3.12.*' and sys_platform == 'darwin'", - "python_full_version == '3.12.*' and platform_machine == 'aarch64' and sys_platform == 'linux'", - "(python_full_version == '3.12.*' and platform_machine != 'aarch64' and sys_platform == 'linux') or (python_full_version == '3.12.*' and sys_platform != 'darwin' and sys_platform != 'linux')", + "python_full_version >= '3.12' and sys_platform == 'darwin'", + "python_full_version >= '3.12' and platform_machine == 'aarch64' and sys_platform == 'linux'", + "(python_full_version >= '3.12' and platform_machine != 'aarch64' and sys_platform == 'linux') or (python_full_version >= '3.12' and sys_platform != 'darwin' and sys_platform != 'linux')", "python_full_version == '3.11.*' and sys_platform == 'darwin'", "python_full_version == '3.11.*' and platform_machine == 'aarch64' and sys_platform == 'linux'", "(python_full_version == '3.11.*' and platform_machine != 'aarch64' and sys_platform == 'linux') or (python_full_version == '3.11.*' and sys_platform != 'darwin' and sys_platform != 'linux')", @@ -710,9 +700,7 @@ resolution-markers = [ "(python_full_version == '3.10.*' and platform_machine != 'aarch64' and sys_platform == 'linux') or (python_full_version == '3.10.*' and sys_platform != 'darwin' and sys_platform != 'linux')", ] dependencies = [ - { name = "numpy", version = "1.25.2", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.10' and python_full_version < '3.12'" }, - { name = "numpy", version = "2.0.2", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version == '3.12.*'" }, - { name = "numpy", version = "2.2.1", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.13'" }, + { name = "numpy", version = "2.2.2", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.10'" }, ] sdist = { url = "https://files.pythonhosted.org/packages/25/c2/fc7193cc5383637ff390a712e88e4ded0452c9fbcf84abe3de5ea3df1866/contourpy-1.3.1.tar.gz", hash = "sha256:dfd97abd83335045a913e3bcc4a09c0ceadbe66580cf573fe961f4a825efa699", size = 13465753 } wheels = [ @@ -825,35 +813,35 @@ wheels = [ [[package]] name = "debugpy" -version = "1.8.11" -source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/bc/e7/666f4c9b0e24796af50aadc28d36d21c2e01e831a934535f956e09b3650c/debugpy-1.8.11.tar.gz", hash = "sha256:6ad2688b69235c43b020e04fecccdf6a96c8943ca9c2fb340b8adc103c655e57", size = 1640124 } -wheels = [ - { url = "https://files.pythonhosted.org/packages/26/e6/4cf7422eaa591b4c7d6a9fde224095dac25283fdd99d90164f28714242b0/debugpy-1.8.11-cp310-cp310-macosx_14_0_x86_64.whl", hash = "sha256:2b26fefc4e31ff85593d68b9022e35e8925714a10ab4858fb1b577a8a48cb8cd", size = 2075100 }, - { url = "https://files.pythonhosted.org/packages/83/3a/e163de1df5995d95760a4d748b02fbefb1c1bf19e915b664017c40435dbf/debugpy-1.8.11-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:61bc8b3b265e6949855300e84dc93d02d7a3a637f2aec6d382afd4ceb9120c9f", size = 3559724 }, - { url = "https://files.pythonhosted.org/packages/27/6c/327e19fd1bf428a1efe1a6f97b306689c54c2cebcf871b66674ead718756/debugpy-1.8.11-cp310-cp310-win32.whl", hash = "sha256:c928bbf47f65288574b78518449edaa46c82572d340e2750889bbf8cd92f3737", size = 5178068 }, - { url = "https://files.pythonhosted.org/packages/49/80/359ff8aa388f0bd4a48f0fa9ce3606396d576657ac149c6fba3cc7de8adb/debugpy-1.8.11-cp310-cp310-win_amd64.whl", hash = "sha256:8da1db4ca4f22583e834dcabdc7832e56fe16275253ee53ba66627b86e304da1", size = 5210109 }, - { url = "https://files.pythonhosted.org/packages/7c/58/8e3f7ec86c1b7985a232667b5df8f3b1b1c8401028d8f4d75e025c9556cd/debugpy-1.8.11-cp311-cp311-macosx_14_0_universal2.whl", hash = "sha256:85de8474ad53ad546ff1c7c7c89230db215b9b8a02754d41cb5a76f70d0be296", size = 2173656 }, - { url = "https://files.pythonhosted.org/packages/d2/03/95738a68ade2358e5a4d63a2fd8e7ed9ad911001cfabbbb33a7f81343945/debugpy-1.8.11-cp311-cp311-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:8ffc382e4afa4aee367bf413f55ed17bd91b191dcaf979890af239dda435f2a1", size = 3132464 }, - { url = "https://files.pythonhosted.org/packages/ca/f4/18204891ab67300950615a6ad09b9de236203a9138f52b3b596fa17628ca/debugpy-1.8.11-cp311-cp311-win32.whl", hash = "sha256:40499a9979c55f72f4eb2fc38695419546b62594f8af194b879d2a18439c97a9", size = 5103637 }, - { url = "https://files.pythonhosted.org/packages/3b/90/3775e301cfa573b51eb8a108285681f43f5441dc4c3916feed9f386ef861/debugpy-1.8.11-cp311-cp311-win_amd64.whl", hash = "sha256:987bce16e86efa86f747d5151c54e91b3c1e36acc03ce1ddb50f9d09d16ded0e", size = 5127862 }, - { url = "https://files.pythonhosted.org/packages/c6/ae/2cf26f3111e9d94384d9c01e9d6170188b0aeda15b60a4ac6457f7c8a26f/debugpy-1.8.11-cp312-cp312-macosx_14_0_universal2.whl", hash = "sha256:84e511a7545d11683d32cdb8f809ef63fc17ea2a00455cc62d0a4dbb4ed1c308", size = 2498756 }, - { url = "https://files.pythonhosted.org/packages/b0/16/ec551789d547541a46831a19aa15c147741133da188e7e6acf77510545a7/debugpy-1.8.11-cp312-cp312-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ce291a5aca4985d82875d6779f61375e959208cdf09fcec40001e65fb0a54768", size = 4219136 }, - { url = "https://files.pythonhosted.org/packages/72/6f/b2b3ce673c55f882d27a6eb04a5f0c68bcad6b742ac08a86d8392ae58030/debugpy-1.8.11-cp312-cp312-win32.whl", hash = "sha256:28e45b3f827d3bf2592f3cf7ae63282e859f3259db44ed2b129093ca0ac7940b", size = 5224440 }, - { url = "https://files.pythonhosted.org/packages/77/09/b1f05be802c1caef5b3efc042fc6a7cadd13d8118b072afd04a9b9e91e06/debugpy-1.8.11-cp312-cp312-win_amd64.whl", hash = "sha256:44b1b8e6253bceada11f714acf4309ffb98bfa9ac55e4fce14f9e5d4484287a1", size = 5264578 }, - { url = "https://files.pythonhosted.org/packages/2e/66/931dc2479aa8fbf362dc6dcee707d895a84b0b2d7b64020135f20b8db1ed/debugpy-1.8.11-cp313-cp313-macosx_14_0_universal2.whl", hash = "sha256:8988f7163e4381b0da7696f37eec7aca19deb02e500245df68a7159739bbd0d3", size = 2483651 }, - { url = "https://files.pythonhosted.org/packages/10/07/6c171d0fe6b8d237e35598b742f20ba062511b3a4631938cc78eefbbf847/debugpy-1.8.11-cp313-cp313-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:6c1f6a173d1140e557347419767d2b14ac1c9cd847e0b4c5444c7f3144697e4e", size = 4213770 }, - { url = "https://files.pythonhosted.org/packages/89/f1/0711da6ac250d4fe3bf7b3e9b14b4a86e82a98b7825075c07e19bab8da3d/debugpy-1.8.11-cp313-cp313-win32.whl", hash = "sha256:bb3b15e25891f38da3ca0740271e63ab9db61f41d4d8541745cfc1824252cb28", size = 5223911 }, - { url = "https://files.pythonhosted.org/packages/56/98/5e27fa39050749ed460025bcd0034a0a5e78a580a14079b164cc3abdeb98/debugpy-1.8.11-cp313-cp313-win_amd64.whl", hash = "sha256:d8768edcbeb34da9e11bcb8b5c2e0958d25218df7a6e56adf415ef262cd7b6d1", size = 5264166 }, - { url = "https://files.pythonhosted.org/packages/c2/55/5d97e93c50e4417f92c9c2b34df4aba13a448ad71b2cb619773ce39471d6/debugpy-1.8.11-cp38-cp38-macosx_14_0_x86_64.whl", hash = "sha256:ad7efe588c8f5cf940f40c3de0cd683cc5b76819446abaa50dc0829a30c094db", size = 2075869 }, - { url = "https://files.pythonhosted.org/packages/0f/5f/46a536a49a7c4f188bad26257d13ef1a1a369f32ff11a1e4c5fd12145760/debugpy-1.8.11-cp38-cp38-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:189058d03a40103a57144752652b3ab08ff02b7595d0ce1f651b9acc3a3a35a0", size = 3631617 }, - { url = "https://files.pythonhosted.org/packages/1d/b9/241d50a3e4eb6d0aaf549f94eaee46d94ee12e7c941ed2c709fbcb0b6ba8/debugpy-1.8.11-cp38-cp38-win32.whl", hash = "sha256:32db46ba45849daed7ccf3f2e26f7a386867b077f39b2a974bb5c4c2c3b0a280", size = 5182769 }, - { url = "https://files.pythonhosted.org/packages/68/cf/325e0525efd8ed0ae4633fb160c7e025c6db3b052ce6d7e140f4d97380a4/debugpy-1.8.11-cp38-cp38-win_amd64.whl", hash = "sha256:116bf8342062246ca749013df4f6ea106f23bc159305843491f64672a55af2e5", size = 5215130 }, - { url = "https://files.pythonhosted.org/packages/3e/db/cb113a8bbcc4e95bd4ed5941944732512c2d45453c751444049d874ca893/debugpy-1.8.11-cp39-cp39-macosx_14_0_x86_64.whl", hash = "sha256:654130ca6ad5de73d978057eaf9e582244ff72d4574b3e106fb8d3d2a0d32458", size = 2076285 }, - { url = "https://files.pythonhosted.org/packages/12/2e/c73e2744c88c7df7e830c6f7bd4dcb3d39beb7d306e26d21cf1dd439fdf5/debugpy-1.8.11-cp39-cp39-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:23dc34c5e03b0212fa3c49a874df2b8b1b8fda95160bd79c01eb3ab51ea8d851", size = 3554963 }, - { url = "https://files.pythonhosted.org/packages/88/5d/bed2bdb2bd33a74cf647d207e21cc018794782d14049ffffb4ee8d1a7e8f/debugpy-1.8.11-cp39-cp39-win32.whl", hash = "sha256:52d8a3166c9f2815bfae05f386114b0b2d274456980d41f320299a8d9a5615a7", size = 5178909 }, - { url = "https://files.pythonhosted.org/packages/8d/52/38bd3ce8686ef3b69f1462976deb874e70acba527783844b98387b90f4ba/debugpy-1.8.11-cp39-cp39-win_amd64.whl", hash = "sha256:52c3cf9ecda273a19cc092961ee34eb9ba8687d67ba34cc7b79a521c1c64c4c0", size = 5211022 }, - { url = "https://files.pythonhosted.org/packages/77/0a/d29a5aacf47b4383ed569b8478c02d59ee3a01ad91224d2cff8562410e43/debugpy-1.8.11-py2.py3-none-any.whl", hash = "sha256:0e22f846f4211383e6a416d04b4c13ed174d24cc5d43f5fd52e7821d0ebc8920", size = 5226874 }, +version = "1.8.12" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/68/25/c74e337134edf55c4dfc9af579eccb45af2393c40960e2795a94351e8140/debugpy-1.8.12.tar.gz", hash = "sha256:646530b04f45c830ceae8e491ca1c9320a2d2f0efea3141487c82130aba70dce", size = 1641122 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/56/19/dd58334c0a1ec07babf80bf29fb8daf1a7ca4c1a3bbe61548e40616ac087/debugpy-1.8.12-cp310-cp310-macosx_14_0_x86_64.whl", hash = "sha256:a2ba7ffe58efeae5b8fad1165357edfe01464f9aef25e814e891ec690e7dd82a", size = 2076091 }, + { url = "https://files.pythonhosted.org/packages/4c/37/bde1737da15f9617d11ab7b8d5267165f1b7dae116b2585a6643e89e1fa2/debugpy-1.8.12-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:cbbd4149c4fc5e7d508ece083e78c17442ee13b0e69bfa6bd63003e486770f45", size = 3560717 }, + { url = "https://files.pythonhosted.org/packages/d9/ca/bc67f5a36a7de072908bc9e1156c0f0b272a9a2224cf21540ab1ffd71a1f/debugpy-1.8.12-cp310-cp310-win32.whl", hash = "sha256:b202f591204023b3ce62ff9a47baa555dc00bb092219abf5caf0e3718ac20e7c", size = 5180672 }, + { url = "https://files.pythonhosted.org/packages/c1/b9/e899c0a80dfa674dbc992f36f2b1453cd1ee879143cdb455bc04fce999da/debugpy-1.8.12-cp310-cp310-win_amd64.whl", hash = "sha256:9649eced17a98ce816756ce50433b2dd85dfa7bc92ceb60579d68c053f98dff9", size = 5212702 }, + { url = "https://files.pythonhosted.org/packages/af/9f/5b8af282253615296264d4ef62d14a8686f0dcdebb31a669374e22fff0a4/debugpy-1.8.12-cp311-cp311-macosx_14_0_universal2.whl", hash = "sha256:36f4829839ef0afdfdd208bb54f4c3d0eea86106d719811681a8627ae2e53dd5", size = 2174643 }, + { url = "https://files.pythonhosted.org/packages/ef/31/f9274dcd3b0f9f7d1e60373c3fa4696a585c55acb30729d313bb9d3bcbd1/debugpy-1.8.12-cp311-cp311-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:a28ed481d530e3138553be60991d2d61103ce6da254e51547b79549675f539b7", size = 3133457 }, + { url = "https://files.pythonhosted.org/packages/ab/ca/6ee59e9892e424477e0c76e3798046f1fd1288040b927319c7a7b0baa484/debugpy-1.8.12-cp311-cp311-win32.whl", hash = "sha256:4ad9a94d8f5c9b954e0e3b137cc64ef3f579d0df3c3698fe9c3734ee397e4abb", size = 5106220 }, + { url = "https://files.pythonhosted.org/packages/d5/1a/8ab508ab05ede8a4eae3b139bbc06ea3ca6234f9e8c02713a044f253be5e/debugpy-1.8.12-cp311-cp311-win_amd64.whl", hash = "sha256:4703575b78dd697b294f8c65588dc86874ed787b7348c65da70cfc885efdf1e1", size = 5130481 }, + { url = "https://files.pythonhosted.org/packages/ba/e6/0f876ecfe5831ebe4762b19214364753c8bc2b357d28c5d739a1e88325c7/debugpy-1.8.12-cp312-cp312-macosx_14_0_universal2.whl", hash = "sha256:7e94b643b19e8feb5215fa508aee531387494bf668b2eca27fa769ea11d9f498", size = 2500846 }, + { url = "https://files.pythonhosted.org/packages/19/64/33f41653a701f3cd2cbff8b41ebaad59885b3428b5afd0d93d16012ecf17/debugpy-1.8.12-cp312-cp312-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:086b32e233e89a2740c1615c2f775c34ae951508b28b308681dbbb87bba97d06", size = 4222181 }, + { url = "https://files.pythonhosted.org/packages/32/a6/02646cfe50bfacc9b71321c47dc19a46e35f4e0aceea227b6d205e900e34/debugpy-1.8.12-cp312-cp312-win32.whl", hash = "sha256:2ae5df899732a6051b49ea2632a9ea67f929604fd2b036613a9f12bc3163b92d", size = 5227017 }, + { url = "https://files.pythonhosted.org/packages/da/a6/10056431b5c47103474312cf4a2ec1001f73e0b63b1216706d5fef2531eb/debugpy-1.8.12-cp312-cp312-win_amd64.whl", hash = "sha256:39dfbb6fa09f12fae32639e3286112fc35ae976114f1f3d37375f3130a820969", size = 5267555 }, + { url = "https://files.pythonhosted.org/packages/cf/4d/7c3896619a8791effd5d8c31f0834471fc8f8fb3047ec4f5fc69dd1393dd/debugpy-1.8.12-cp313-cp313-macosx_14_0_universal2.whl", hash = "sha256:696d8ae4dff4cbd06bf6b10d671e088b66669f110c7c4e18a44c43cf75ce966f", size = 2485246 }, + { url = "https://files.pythonhosted.org/packages/99/46/bc6dcfd7eb8cc969a5716d858e32485eb40c72c6a8dc88d1e3a4d5e95813/debugpy-1.8.12-cp313-cp313-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:898fba72b81a654e74412a67c7e0a81e89723cfe2a3ea6fcd3feaa3395138ca9", size = 4218616 }, + { url = "https://files.pythonhosted.org/packages/03/dd/d7fcdf0381a9b8094da1f6a1c9f19fed493a4f8576a2682349b3a8b20ec7/debugpy-1.8.12-cp313-cp313-win32.whl", hash = "sha256:22a11c493c70413a01ed03f01c3c3a2fc4478fc6ee186e340487b2edcd6f4180", size = 5226540 }, + { url = "https://files.pythonhosted.org/packages/25/bd/ecb98f5b5fc7ea0bfbb3c355bc1dd57c198a28780beadd1e19915bf7b4d9/debugpy-1.8.12-cp313-cp313-win_amd64.whl", hash = "sha256:fdb3c6d342825ea10b90e43d7f20f01535a72b3a1997850c0c3cefa5c27a4a2c", size = 5267134 }, + { url = "https://files.pythonhosted.org/packages/6f/56/6c7ddb4dfd2feca7ea3a580a32c7694f6c77183fa08932ee8ba37a0e703c/debugpy-1.8.12-cp38-cp38-macosx_14_0_x86_64.whl", hash = "sha256:b0232cd42506d0c94f9328aaf0d1d0785f90f87ae72d9759df7e5051be039738", size = 2076797 }, + { url = "https://files.pythonhosted.org/packages/73/25/a58e149ddcd609c8212ca733999251022e53508906e2c9f67252e4516de6/debugpy-1.8.12-cp38-cp38-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:9af40506a59450f1315168d47a970db1a65aaab5df3833ac389d2899a5d63b3f", size = 3632547 }, + { url = "https://files.pythonhosted.org/packages/91/c7/17c09b9d8332d09b7b0aa430085010945d92d90945748948cd38865c0b93/debugpy-1.8.12-cp38-cp38-win32.whl", hash = "sha256:5cc45235fefac57f52680902b7d197fb2f3650112379a6fa9aa1b1c1d3ed3f02", size = 5185270 }, + { url = "https://files.pythonhosted.org/packages/3b/d1/afdbb99f95f54c2768fa2511bf38ec8805b4cde319725e318e5016b252ec/debugpy-1.8.12-cp38-cp38-win_amd64.whl", hash = "sha256:557cc55b51ab2f3371e238804ffc8510b6ef087673303890f57a24195d096e61", size = 5217697 }, + { url = "https://files.pythonhosted.org/packages/89/37/a3333c5b69c086465ea3c073424ef2775e52a6c17276f642f64209c4a082/debugpy-1.8.12-cp39-cp39-macosx_14_0_x86_64.whl", hash = "sha256:b5c6c967d02fee30e157ab5227706f965d5c37679c687b1e7bbc5d9e7128bd41", size = 2077275 }, + { url = "https://files.pythonhosted.org/packages/50/1d/99f6a0a78b4b513ff2b0d0e44c1e705f7ee34e3aba0e8add617d339d97dc/debugpy-1.8.12-cp39-cp39-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:88a77f422f31f170c4b7e9ca58eae2a6c8e04da54121900651dfa8e66c29901a", size = 3555956 }, + { url = "https://files.pythonhosted.org/packages/b8/86/c624665aaa807d065da2016b05e9f2fb4fa56872d67a5fbd7751e77f7f88/debugpy-1.8.12-cp39-cp39-win32.whl", hash = "sha256:a4042edef80364239f5b7b5764e55fd3ffd40c32cf6753da9bda4ff0ac466018", size = 5181535 }, + { url = "https://files.pythonhosted.org/packages/72/c7/d59a0f845ce1677b5c2bb170f08cc1cc3531625a5fdce9c67bd31116540a/debugpy-1.8.12-cp39-cp39-win_amd64.whl", hash = "sha256:f30b03b0f27608a0b26c75f0bb8a880c752c0e0b01090551b9d87c7d783e2069", size = 5213601 }, + { url = "https://files.pythonhosted.org/packages/38/c4/5120ad36405c3008f451f94b8f92ef1805b1e516f6ff870f331ccb3c4cc0/debugpy-1.8.12-py2.py3-none-any.whl", hash = "sha256:274b6a2040349b5c9864e475284bce5bb062e63dce368a394b8cc865ae3b00c6", size = 5229490 }, ] [[package]] @@ -902,12 +890,9 @@ name = "docutils" version = "0.21.2" source = { registry = "https://pypi.org/simple" } resolution-markers = [ - "python_full_version >= '3.13' and sys_platform == 'darwin'", - "python_full_version >= '3.13' and platform_machine == 'aarch64' and sys_platform == 'linux'", - "(python_full_version >= '3.13' and platform_machine != 'aarch64' and sys_platform == 'linux') or (python_full_version >= '3.13' and sys_platform != 'darwin' and sys_platform != 'linux')", - "python_full_version == '3.12.*' and sys_platform == 'darwin'", - "python_full_version == '3.12.*' and platform_machine == 'aarch64' and sys_platform == 'linux'", - "(python_full_version == '3.12.*' and platform_machine != 'aarch64' and sys_platform == 'linux') or (python_full_version == '3.12.*' and sys_platform != 'darwin' and sys_platform != 'linux')", + "python_full_version >= '3.12' and sys_platform == 'darwin'", + "python_full_version >= '3.12' and platform_machine == 'aarch64' and sys_platform == 'linux'", + "(python_full_version >= '3.12' and platform_machine != 'aarch64' and sys_platform == 'linux') or (python_full_version >= '3.12' and sys_platform != 'darwin' and sys_platform != 'linux')", "python_full_version == '3.11.*' and sys_platform == 'darwin'", "python_full_version == '3.11.*' and platform_machine == 'aarch64' and sys_platform == 'linux'", "(python_full_version == '3.11.*' and platform_machine != 'aarch64' and sys_platform == 'linux') or (python_full_version == '3.11.*' and sys_platform != 'darwin' and sys_platform != 'linux')", @@ -934,11 +919,11 @@ wheels = [ [[package]] name = "executing" -version = "2.1.0" +version = "2.2.0" source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/8c/e3/7d45f492c2c4a0e8e0fad57d081a7c8a0286cdd86372b070cca1ec0caa1e/executing-2.1.0.tar.gz", hash = "sha256:8ea27ddd260da8150fa5a708269c4a10e76161e2496ec3e587da9e3c0fe4b9ab", size = 977485 } +sdist = { url = "https://files.pythonhosted.org/packages/91/50/a9d80c47ff289c611ff12e63f7c5d13942c65d68125160cefd768c73e6e4/executing-2.2.0.tar.gz", hash = "sha256:5d108c028108fe2551d1a7b2e8b713341e2cb4fc0aa7dcf966fa4327a5226755", size = 978693 } wheels = [ - { url = "https://files.pythonhosted.org/packages/b5/fd/afcd0496feca3276f509df3dbd5dae726fcc756f1a08d9e25abe1733f962/executing-2.1.0-py2.py3-none-any.whl", hash = "sha256:8d63781349375b5ebccc3142f4b30350c0cd9c79f921cde38be2be4637e98eaf", size = 25805 }, + { url = "https://files.pythonhosted.org/packages/7b/8f/c4d9bafc34ad7ad5d8dc16dd1347ee0e507a52c3adb6bfa8887e1c6a26ba/executing-2.2.0-py2.py3-none-any.whl", hash = "sha256:11387150cad388d62750327a53d3339fad4888b39a6fe233c3afbb54ecffd3aa", size = 26702 }, ] [[package]] @@ -954,66 +939,94 @@ wheels = [ name = "filelock" version = "3.16.1" source = { registry = "https://pypi.org/simple" } +resolution-markers = [ + "python_full_version < '3.9' and platform_machine == 'arm64' and sys_platform == 'darwin'", + "python_full_version < '3.9' and platform_machine == 'aarch64' and sys_platform == 'linux'", + "(python_full_version < '3.9' and platform_machine != 'arm64' and sys_platform == 'darwin') or (python_full_version < '3.9' and platform_machine != 'aarch64' and sys_platform == 'linux') or (python_full_version < '3.9' and sys_platform != 'darwin' and sys_platform != 'linux')", +] sdist = { url = "https://files.pythonhosted.org/packages/9d/db/3ef5bb276dae18d6ec2124224403d1d67bccdbefc17af4cc8f553e341ab1/filelock-3.16.1.tar.gz", hash = "sha256:c249fbfcd5db47e5e2d6d62198e565475ee65e4831e2561c8e313fa7eb961435", size = 18037 } wheels = [ { url = "https://files.pythonhosted.org/packages/b9/f8/feced7779d755758a52d1f6635d990b8d98dc0a29fa568bbe0625f18fdf3/filelock-3.16.1-py3-none-any.whl", hash = "sha256:2082e5703d51fbf98ea75855d9d5527e33d8ff23099bec374a134febee6946b0", size = 16163 }, ] +[[package]] +name = "filelock" +version = "3.17.0" +source = { registry = "https://pypi.org/simple" } +resolution-markers = [ + "python_full_version >= '3.12' and sys_platform == 'darwin'", + "python_full_version >= '3.12' and platform_machine == 'aarch64' and sys_platform == 'linux'", + "(python_full_version >= '3.12' and platform_machine != 'aarch64' and sys_platform == 'linux') or (python_full_version >= '3.12' and sys_platform != 'darwin' and sys_platform != 'linux')", + "python_full_version == '3.11.*' and sys_platform == 'darwin'", + "python_full_version == '3.11.*' and platform_machine == 'aarch64' and sys_platform == 'linux'", + "(python_full_version == '3.11.*' and platform_machine != 'aarch64' and sys_platform == 'linux') or (python_full_version == '3.11.*' and sys_platform != 'darwin' and sys_platform != 'linux')", + "python_full_version == '3.10.*' and sys_platform == 'darwin'", + "python_full_version == '3.10.*' and platform_machine == 'aarch64' and sys_platform == 'linux'", + "(python_full_version == '3.10.*' and platform_machine != 'aarch64' and sys_platform == 'linux') or (python_full_version == '3.10.*' and sys_platform != 'darwin' and sys_platform != 'linux')", + "python_full_version == '3.9.*' and platform_machine == 'arm64' and sys_platform == 'darwin'", + "python_full_version == '3.9.*' and platform_machine == 'aarch64' and sys_platform == 'linux'", + "(python_full_version == '3.9.*' and platform_machine != 'arm64' and sys_platform == 'darwin') or (python_full_version == '3.9.*' and platform_machine != 'aarch64' and sys_platform == 'linux') or (python_full_version == '3.9.*' and sys_platform != 'darwin' and sys_platform != 'linux')", +] +sdist = { url = "https://files.pythonhosted.org/packages/dc/9c/0b15fb47b464e1b663b1acd1253a062aa5feecb07d4e597daea542ebd2b5/filelock-3.17.0.tar.gz", hash = "sha256:ee4e77401ef576ebb38cd7f13b9b28893194acc20a8e68e18730ba9c0e54660e", size = 18027 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/89/ec/00d68c4ddfedfe64159999e5f8a98fb8442729a63e2077eb9dcd89623d27/filelock-3.17.0-py3-none-any.whl", hash = "sha256:533dc2f7ba78dc2f0f531fc6c4940addf7b70a481e269a5a3b93be94ffbe8338", size = 16164 }, +] + [[package]] name = "fonttools" -version = "4.55.3" -source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/76/61/a300d1574dc381393424047c0396a0e213db212e28361123af9830d71a8d/fonttools-4.55.3.tar.gz", hash = "sha256:3983313c2a04d6cc1fe9251f8fc647754cf49a61dac6cb1e7249ae67afaafc45", size = 3498155 } -wheels = [ - { url = "https://files.pythonhosted.org/packages/bd/f3/9ac8c6705e4a0ff3c29e524df1caeee6f2987b02fb630129f21cc99a8212/fonttools-4.55.3-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:1dcc07934a2165ccdc3a5a608db56fb3c24b609658a5b340aee4ecf3ba679dc0", size = 2769857 }, - { url = "https://files.pythonhosted.org/packages/d8/24/e8b8edd280bdb7d0ecc88a5d952b1dec2ee2335be71cc5a33c64871cdfe8/fonttools-4.55.3-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:f7d66c15ba875432a2d2fb419523f5d3d347f91f48f57b8b08a2dfc3c39b8a3f", size = 2299705 }, - { url = "https://files.pythonhosted.org/packages/f8/9e/e1ba20bd3b71870207fd45ca3b90208a7edd8ae3b001081dc31c45adb017/fonttools-4.55.3-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:27e4ae3592e62eba83cd2c4ccd9462dcfa603ff78e09110680a5444c6925d841", size = 4576104 }, - { url = "https://files.pythonhosted.org/packages/34/db/d423bc646e6703fe3e6aea0edd22a2df47b9d188c5f7f1b49070be4d2205/fonttools-4.55.3-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:62d65a3022c35e404d19ca14f291c89cc5890032ff04f6c17af0bd1927299674", size = 4618282 }, - { url = "https://files.pythonhosted.org/packages/75/a0/e5062ac960a385b984ba74e7b55132e7f2c65e449e8330ab0f595407a3de/fonttools-4.55.3-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:d342e88764fb201286d185093781bf6628bbe380a913c24adf772d901baa8276", size = 4570539 }, - { url = "https://files.pythonhosted.org/packages/1f/33/0d744ff518ebe50020b63e5018b8b278efd6a930c1d2eedda7defc42153b/fonttools-4.55.3-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:dd68c87a2bfe37c5b33bcda0fba39b65a353876d3b9006fde3adae31f97b3ef5", size = 4742411 }, - { url = "https://files.pythonhosted.org/packages/7e/6c/2f768652dba6b801f1567fc5d1829cda369bcd6e95e315a91e628f91c702/fonttools-4.55.3-cp310-cp310-win32.whl", hash = "sha256:1bc7ad24ff98846282eef1cbeac05d013c2154f977a79886bb943015d2b1b261", size = 2175132 }, - { url = "https://files.pythonhosted.org/packages/19/d1/4dcd865360fb2c499749a913fe80e41c26e8ae18629d87dfffa3de27e831/fonttools-4.55.3-cp310-cp310-win_amd64.whl", hash = "sha256:b54baf65c52952db65df39fcd4820668d0ef4766c0ccdf32879b77f7c804d5c5", size = 2219430 }, - { url = "https://files.pythonhosted.org/packages/4b/18/14be25545600bd100e5b74a3ac39089b7c1cb403dc513b7ca348be3381bf/fonttools-4.55.3-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:8c4491699bad88efe95772543cd49870cf756b019ad56294f6498982408ab03e", size = 2771005 }, - { url = "https://files.pythonhosted.org/packages/b2/51/2e1a5d3871cd7c2ae2054b54e92604e7d6abc3fd3656e9583c399648fe1c/fonttools-4.55.3-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:5323a22eabddf4b24f66d26894f1229261021dacd9d29e89f7872dd8c63f0b8b", size = 2300654 }, - { url = "https://files.pythonhosted.org/packages/73/1a/50109bb2703bc6f774b52ea081db21edf2a9fa4b6d7485faadf9d1b997e9/fonttools-4.55.3-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:5480673f599ad410695ca2ddef2dfefe9df779a9a5cda89503881e503c9c7d90", size = 4877541 }, - { url = "https://files.pythonhosted.org/packages/5d/52/c0b9857fa075da1b8806c5dc2d8342918a8cc2065fd14fbddb3303282693/fonttools-4.55.3-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:da9da6d65cd7aa6b0f806556f4985bcbf603bf0c5c590e61b43aa3e5a0f822d0", size = 4906304 }, - { url = "https://files.pythonhosted.org/packages/0b/1b/55f85c7e962d295e456d5209581c919620ee3e877b95cd86245187a5050f/fonttools-4.55.3-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:e894b5bd60d9f473bed7a8f506515549cc194de08064d829464088d23097331b", size = 4888087 }, - { url = "https://files.pythonhosted.org/packages/83/13/6f2809c612ea2ac51391f92468ff861c63473601530fca96458b453212bf/fonttools-4.55.3-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:aee3b57643827e237ff6ec6d28d9ff9766bd8b21e08cd13bff479e13d4b14765", size = 5056958 }, - { url = "https://files.pythonhosted.org/packages/c1/28/d0ea9e872fa4208b9dfca686e1dd9ca22f6c9ef33ecff2f0ebc2dbe7c29b/fonttools-4.55.3-cp311-cp311-win32.whl", hash = "sha256:eb6ca911c4c17eb51853143624d8dc87cdcdf12a711fc38bf5bd21521e79715f", size = 2173939 }, - { url = "https://files.pythonhosted.org/packages/be/36/d74ae1020bc41a1dff3e6f5a99f646563beecb97e386d27abdac3ba07650/fonttools-4.55.3-cp311-cp311-win_amd64.whl", hash = "sha256:6314bf82c54c53c71805318fcf6786d986461622dd926d92a465199ff54b1b72", size = 2220363 }, - { url = "https://files.pythonhosted.org/packages/89/58/fbcf5dff7e3ea844bb00c4d806ca1e339e1f2dce5529633bf4842c0c9a1f/fonttools-4.55.3-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:f9e736f60f4911061235603a6119e72053073a12c6d7904011df2d8fad2c0e35", size = 2765380 }, - { url = "https://files.pythonhosted.org/packages/81/dd/da6e329e51919b4f421c8738f3497e2ab08c168e76aaef7b6d5351862bdf/fonttools-4.55.3-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:7a8aa2c5e5b8b3bcb2e4538d929f6589a5c6bdb84fd16e2ed92649fb5454f11c", size = 2297940 }, - { url = "https://files.pythonhosted.org/packages/00/44/f5ee560858425c99ef07e04919e736db09d6416408e5a8d3bbfb4a6623fd/fonttools-4.55.3-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:07f8288aacf0a38d174445fc78377a97fb0b83cfe352a90c9d9c1400571963c7", size = 4793327 }, - { url = "https://files.pythonhosted.org/packages/24/da/0a001926d791c55e29ac3c52964957a20dbc1963615446b568b7432891c3/fonttools-4.55.3-cp312-cp312-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:b8d5e8916c0970fbc0f6f1bece0063363bb5857a7f170121a4493e31c3db3314", size = 4865624 }, - { url = "https://files.pythonhosted.org/packages/3d/d8/1edd8b13a427a9fb6418373437caa586c0caa57f260af8e0548f4d11e340/fonttools-4.55.3-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:ae3b6600565b2d80b7c05acb8e24d2b26ac407b27a3f2e078229721ba5698427", size = 4774166 }, - { url = "https://files.pythonhosted.org/packages/9c/ec/ade054097976c3d6debc9032e09a351505a0196aa5493edf021be376f75e/fonttools-4.55.3-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:54153c49913f45065c8d9e6d0c101396725c5621c8aee744719300f79771d75a", size = 5001832 }, - { url = "https://files.pythonhosted.org/packages/e2/cd/233f0e31ad799bb91fc78099c8b4e5ec43b85a131688519640d6bae46f6a/fonttools-4.55.3-cp312-cp312-win32.whl", hash = "sha256:827e95fdbbd3e51f8b459af5ea10ecb4e30af50221ca103bea68218e9615de07", size = 2162228 }, - { url = "https://files.pythonhosted.org/packages/46/45/a498b5291f6c0d91b2394b1ed7447442a57d1c9b9cf8f439aee3c316a56e/fonttools-4.55.3-cp312-cp312-win_amd64.whl", hash = "sha256:e6e8766eeeb2de759e862004aa11a9ea3d6f6d5ec710551a88b476192b64fd54", size = 2209118 }, - { url = "https://files.pythonhosted.org/packages/9c/9f/00142a19bad96eeeb1aed93f567adc19b7f2c1af6f5bc0a1c3de90b4b1ac/fonttools-4.55.3-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:a430178ad3e650e695167cb53242dae3477b35c95bef6525b074d87493c4bf29", size = 2752812 }, - { url = "https://files.pythonhosted.org/packages/b0/20/14b8250d63ba65e162091fb0dda07730f90c303bbf5257e9ddacec7230d9/fonttools-4.55.3-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:529cef2ce91dc44f8e407cc567fae6e49a1786f2fefefa73a294704c415322a4", size = 2291521 }, - { url = "https://files.pythonhosted.org/packages/34/47/a681cfd10245eb74f65e491a934053ec75c4af639655446558f29818e45e/fonttools-4.55.3-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:8e75f12c82127486fac2d8bfbf5bf058202f54bf4f158d367e41647b972342ca", size = 4770980 }, - { url = "https://files.pythonhosted.org/packages/d2/6c/a7066afc19db0705a12efd812e19c32cde2b9514eb714659522f2ebd60b6/fonttools-4.55.3-cp313-cp313-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:859c358ebf41db18fb72342d3080bce67c02b39e86b9fbcf1610cca14984841b", size = 4845534 }, - { url = "https://files.pythonhosted.org/packages/0c/a2/3c204fbabbfd845d9bdcab9ae35279d41e9a4bf5c80a0a2708f9c5a195d6/fonttools-4.55.3-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:546565028e244a701f73df6d8dd6be489d01617863ec0c6a42fa25bf45d43048", size = 4753910 }, - { url = "https://files.pythonhosted.org/packages/6e/8c/b4cb3592880340b89e4ef6601b531780bba73862332a6451d78fe135d6cb/fonttools-4.55.3-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:aca318b77f23523309eec4475d1fbbb00a6b133eb766a8bdc401faba91261abe", size = 4976411 }, - { url = "https://files.pythonhosted.org/packages/fc/a8/4bf98840ff89fcc188470b59daec57322178bf36d2f4f756cd19a42a826b/fonttools-4.55.3-cp313-cp313-win32.whl", hash = "sha256:8c5ec45428edaa7022f1c949a632a6f298edc7b481312fc7dc258921e9399628", size = 2160178 }, - { url = "https://files.pythonhosted.org/packages/e6/57/4cc35004605416df3225ff362f3455cf09765db00df578ae9e46d0fefd23/fonttools-4.55.3-cp313-cp313-win_amd64.whl", hash = "sha256:11e5de1ee0d95af4ae23c1a138b184b7f06e0b6abacabf1d0db41c90b03d834b", size = 2206102 }, - { url = "https://files.pythonhosted.org/packages/27/b3/b92d19237b67b27a7f54e76883d7a0777a389115136d5edfc917c9e765ab/fonttools-4.55.3-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:caf8230f3e10f8f5d7593eb6d252a37caf58c480b19a17e250a63dad63834cf3", size = 2768142 }, - { url = "https://files.pythonhosted.org/packages/84/40/be91d5b4fb5ea512ed4a84701dc439019f7bbb19af3d050fb677094573cc/fonttools-4.55.3-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:b586ab5b15b6097f2fb71cafa3c98edfd0dba1ad8027229e7b1e204a58b0e09d", size = 2298400 }, - { url = "https://files.pythonhosted.org/packages/6c/5d/0bf6ec68ae46970ba318528a90acc44c9043c5be9329a81de9dc7a2c2890/fonttools-4.55.3-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a8c2794ded89399cc2169c4d0bf7941247b8d5932b2659e09834adfbb01589aa", size = 4654309 }, - { url = "https://files.pythonhosted.org/packages/b5/10/8057a6c234637e290e7df88fac048108a2f8c8fc36e0da2216945b67f47b/fonttools-4.55.3-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:cf4fe7c124aa3f4e4c1940880156e13f2f4d98170d35c749e6b4f119a872551e", size = 4699836 }, - { url = "https://files.pythonhosted.org/packages/ee/47/8f25f0335be4053742a1561ba964cc2f49a16819bda51b1fd53bd6486d18/fonttools-4.55.3-cp38-cp38-musllinux_1_2_aarch64.whl", hash = "sha256:86721fbc389ef5cc1e2f477019e5069e8e4421e8d9576e9c26f840dbb04678de", size = 4673874 }, - { url = "https://files.pythonhosted.org/packages/32/9d/e9e030a6151b1593e2d6e7c4c17e9fb6fb4255f891dd000ec0515ec3e926/fonttools-4.55.3-cp38-cp38-musllinux_1_2_x86_64.whl", hash = "sha256:89bdc5d88bdeec1b15af790810e267e8332d92561dce4f0748c2b95c9bdf3926", size = 4857363 }, - { url = "https://files.pythonhosted.org/packages/89/86/21a8379678289538f3e5e2cf8f1c9f5db7806bf4cb042c2e566d2a9d6010/fonttools-4.55.3-cp38-cp38-win32.whl", hash = "sha256:bc5dbb4685e51235ef487e4bd501ddfc49be5aede5e40f4cefcccabc6e60fb4b", size = 1501811 }, - { url = "https://files.pythonhosted.org/packages/49/eb/30072d8c7e1d77656e9713774ea06b3de032662b60df4864db7593b4acd7/fonttools-4.55.3-cp38-cp38-win_amd64.whl", hash = "sha256:cd70de1a52a8ee2d1877b6293af8a2484ac82514f10b1c67c1c5762d38073e56", size = 1546624 }, - { url = "https://files.pythonhosted.org/packages/7c/2e/3481bd2f8a501146ceb60fa98e54ac91d3589d22dd0b3605d26d65280f3f/fonttools-4.55.3-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:bdcc9f04b36c6c20978d3f060e5323a43f6222accc4e7fcbef3f428e216d96af", size = 2772598 }, - { url = "https://files.pythonhosted.org/packages/ea/29/532e428003bdd98f728aff4a48ae91d6ba44eb0b7b4f30e746ad18bf56b6/fonttools-4.55.3-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:c3ca99e0d460eff46e033cd3992a969658c3169ffcd533e0a39c63a38beb6831", size = 2300985 }, - { url = "https://files.pythonhosted.org/packages/a4/51/738a32b3f4968b614657d945c5574897c773e5efeae48bdf965480fbd963/fonttools-4.55.3-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:22f38464daa6cdb7b6aebd14ab06609328fe1e9705bb0fcc7d1e69de7109ee02", size = 4579674 }, - { url = "https://files.pythonhosted.org/packages/6b/77/9893aa413e7d839e292685bae0749a319eacba9470c85253529d35248075/fonttools-4.55.3-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ed63959d00b61959b035c7d47f9313c2c1ece090ff63afea702fe86de00dbed4", size = 4627321 }, - { url = "https://files.pythonhosted.org/packages/5d/5b/1f5f813264e7b09f50fdc2ba4cd20ad7136d671c70f022be41e0ad6a3abb/fonttools-4.55.3-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:5e8d657cd7326eeaba27de2740e847c6b39dde2f8d7cd7cc56f6aad404ddf0bd", size = 4573730 }, - { url = "https://files.pythonhosted.org/packages/a7/bf/a68606cbc37b04d604799e039614f145fbf267cb46c46353c647b6471d75/fonttools-4.55.3-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:fb594b5a99943042c702c550d5494bdd7577f6ef19b0bc73877c948a63184a32", size = 4742326 }, - { url = "https://files.pythonhosted.org/packages/bb/c0/2779d167e6b8def68f31cf70e077e91afba10a46e330f22cc3ee206086d1/fonttools-4.55.3-cp39-cp39-win32.whl", hash = "sha256:dc5294a3d5c84226e3dbba1b6f61d7ad813a8c0238fceea4e09aa04848c3d851", size = 2175672 }, - { url = "https://files.pythonhosted.org/packages/e3/05/b0ddd91049475035cc341d1e6fa88a04340f2ef6c38192ca45e4e2b3331f/fonttools-4.55.3-cp39-cp39-win_amd64.whl", hash = "sha256:aedbeb1db64496d098e6be92b2e63b5fac4e53b1b92032dfc6988e1ea9134a4d", size = 2219942 }, - { url = "https://files.pythonhosted.org/packages/99/3b/406d17b1f63e04a82aa621936e6e1c53a8c05458abd66300ac85ea7f9ae9/fonttools-4.55.3-py3-none-any.whl", hash = "sha256:f412604ccbeee81b091b420272841e5ec5ef68967a9790e80bffd0e30b8e2977", size = 1111638 }, +version = "4.56.0" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/1c/8c/9ffa2a555af0e5e5d0e2ed7fdd8c9bef474ed676995bb4c57c9cd0014248/fonttools-4.56.0.tar.gz", hash = "sha256:a114d1567e1a1586b7e9e7fc2ff686ca542a82769a296cef131e4c4af51e58f4", size = 3462892 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/1e/5e/6ac30c2cc6a29454260f13c9c6422fc509b7982c13cd4597041260d8f482/fonttools-4.56.0-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:331954d002dbf5e704c7f3756028e21db07097c19722569983ba4d74df014000", size = 2752190 }, + { url = "https://files.pythonhosted.org/packages/92/3a/ac382a8396d1b420ee45eeb0f65b614a9ca7abbb23a1b17524054f0f2200/fonttools-4.56.0-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:8d1613abd5af2f93c05867b3a3759a56e8bf97eb79b1da76b2bc10892f96ff16", size = 2280624 }, + { url = "https://files.pythonhosted.org/packages/8a/ae/00b58bfe20e9ff7fbc3dda38f5d127913942b5e252288ea9583099a31bf5/fonttools-4.56.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:705837eae384fe21cee5e5746fd4f4b2f06f87544fa60f60740007e0aa600311", size = 4562074 }, + { url = "https://files.pythonhosted.org/packages/46/d0/0004ca8f6a200252e5bd6982ed99b5fe58c4c59efaf5f516621c4cd8f703/fonttools-4.56.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:bc871904a53a9d4d908673c6faa15689874af1c7c5ac403a8e12d967ebd0c0dc", size = 4604747 }, + { url = "https://files.pythonhosted.org/packages/45/ea/c8862bd3e09d143ef8ed8268ec8a7d477828f960954889e65288ac050b08/fonttools-4.56.0-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:38b947de71748bab150259ee05a775e8a0635891568e9fdb3cdd7d0e0004e62f", size = 4559025 }, + { url = "https://files.pythonhosted.org/packages/8f/75/bb88a9552ec1de31a414066257bfd9f40f4ada00074f7a3799ea39b5741f/fonttools-4.56.0-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:86b2a1013ef7a64d2e94606632683f07712045ed86d937c11ef4dde97319c086", size = 4728482 }, + { url = "https://files.pythonhosted.org/packages/2a/5f/80a2b640df1e1bb7d459d62c8b3f37fe83fd413897e549106d4ebe6371f5/fonttools-4.56.0-cp310-cp310-win32.whl", hash = "sha256:133bedb9a5c6376ad43e6518b7e2cd2f866a05b1998f14842631d5feb36b5786", size = 2155557 }, + { url = "https://files.pythonhosted.org/packages/8f/85/0904f9dbe51ac70d878d3242a8583b9453a09105c3ed19c6301247fd0d3a/fonttools-4.56.0-cp310-cp310-win_amd64.whl", hash = "sha256:17f39313b649037f6c800209984a11fc256a6137cbe5487091c6c7187cae4685", size = 2200017 }, + { url = "https://files.pythonhosted.org/packages/35/56/a2f3e777d48fcae7ecd29de4d96352d84e5ea9871e5f3fc88241521572cf/fonttools-4.56.0-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:7ef04bc7827adb7532be3d14462390dd71287644516af3f1e67f1e6ff9c6d6df", size = 2753325 }, + { url = "https://files.pythonhosted.org/packages/71/85/d483e9c4e5ed586b183bf037a353e8d766366b54fd15519b30e6178a6a6e/fonttools-4.56.0-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:ffda9b8cd9cb8b301cae2602ec62375b59e2e2108a117746f12215145e3f786c", size = 2281554 }, + { url = "https://files.pythonhosted.org/packages/09/67/060473b832b2fade03c127019794df6dc02d9bc66fa4210b8e0d8a99d1e5/fonttools-4.56.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:e2e993e8db36306cc3f1734edc8ea67906c55f98683d6fd34c3fc5593fdbba4c", size = 4869260 }, + { url = "https://files.pythonhosted.org/packages/28/e9/47c02d5a7027e8ed841ab6a10ca00c93dadd5f16742f1af1fa3f9978adf4/fonttools-4.56.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:003548eadd674175510773f73fb2060bb46adb77c94854af3e0cc5bc70260049", size = 4898508 }, + { url = "https://files.pythonhosted.org/packages/bf/8a/221d456d1afb8ca043cfd078f59f187ee5d0a580f4b49351b9ce95121f57/fonttools-4.56.0-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:bd9825822e7bb243f285013e653f6741954d8147427aaa0324a862cdbf4cbf62", size = 4877700 }, + { url = "https://files.pythonhosted.org/packages/a4/8c/e503863adf7a6aeff7b960e2f66fa44dd0c29a7a8b79765b2821950d7b05/fonttools-4.56.0-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:b23d30a2c0b992fb1c4f8ac9bfde44b5586d23457759b6cf9a787f1a35179ee0", size = 5045817 }, + { url = "https://files.pythonhosted.org/packages/2b/50/79ba3b7e42f4eaa70b82b9e79155f0f6797858dc8a97862428b6852c6aee/fonttools-4.56.0-cp311-cp311-win32.whl", hash = "sha256:47b5e4680002ae1756d3ae3b6114e20aaee6cc5c69d1e5911f5ffffd3ee46c6b", size = 2154426 }, + { url = "https://files.pythonhosted.org/packages/3b/90/4926e653041c4116ecd43e50e3c79f5daae6dcafc58ceb64bc4f71dd4924/fonttools-4.56.0-cp311-cp311-win_amd64.whl", hash = "sha256:14a3e3e6b211660db54ca1ef7006401e4a694e53ffd4553ab9bc87ead01d0f05", size = 2200937 }, + { url = "https://files.pythonhosted.org/packages/39/32/71cfd6877999576a11824a7fe7bc0bb57c5c72b1f4536fa56a3e39552643/fonttools-4.56.0-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:d6f195c14c01bd057bc9b4f70756b510e009c83c5ea67b25ced3e2c38e6ee6e9", size = 2747757 }, + { url = "https://files.pythonhosted.org/packages/15/52/d9f716b072c5061a0b915dd4c387f74bef44c68c069e2195c753905bd9b7/fonttools-4.56.0-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:fa760e5fe8b50cbc2d71884a1eff2ed2b95a005f02dda2fa431560db0ddd927f", size = 2279007 }, + { url = "https://files.pythonhosted.org/packages/d1/97/f1b3a8afa9a0d814a092a25cd42f59ccb98a0bb7a295e6e02fc9ba744214/fonttools-4.56.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d54a45d30251f1d729e69e5b675f9a08b7da413391a1227781e2a297fa37f6d2", size = 4783991 }, + { url = "https://files.pythonhosted.org/packages/95/70/2a781bedc1c45a0c61d29c56425609b22ed7f971da5d7e5df2679488741b/fonttools-4.56.0-cp312-cp312-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:661a8995d11e6e4914a44ca7d52d1286e2d9b154f685a4d1f69add8418961563", size = 4855109 }, + { url = "https://files.pythonhosted.org/packages/0c/02/a2597858e61a5e3fb6a14d5f6be9e6eb4eaf090da56ad70cedcbdd201685/fonttools-4.56.0-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:9d94449ad0a5f2a8bf5d2f8d71d65088aee48adbe45f3c5f8e00e3ad861ed81a", size = 4762496 }, + { url = "https://files.pythonhosted.org/packages/f2/00/aaf00100d6078fdc73f7352b44589804af9dc12b182a2540b16002152ba4/fonttools-4.56.0-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:f59746f7953f69cc3290ce2f971ab01056e55ddd0fb8b792c31a8acd7fee2d28", size = 4990094 }, + { url = "https://files.pythonhosted.org/packages/bf/dc/3ff1db522460db60cf3adaf1b64e0c72b43406717d139786d3fa1eb20709/fonttools-4.56.0-cp312-cp312-win32.whl", hash = "sha256:bce60f9a977c9d3d51de475af3f3581d9b36952e1f8fc19a1f2254f1dda7ce9c", size = 2142888 }, + { url = "https://files.pythonhosted.org/packages/6f/e3/5a181a85777f7809076e51f7422e0dc77eb04676c40ec8bf6a49d390d1ff/fonttools-4.56.0-cp312-cp312-win_amd64.whl", hash = "sha256:300c310bb725b2bdb4f5fc7e148e190bd69f01925c7ab437b9c0ca3e1c7cd9ba", size = 2189734 }, + { url = "https://files.pythonhosted.org/packages/a5/55/f06b48d48e0b4ec3a3489efafe9bd4d81b6e0802ac51026e3ee4634e89ba/fonttools-4.56.0-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:f20e2c0dfab82983a90f3d00703ac0960412036153e5023eed2b4641d7d5e692", size = 2735127 }, + { url = "https://files.pythonhosted.org/packages/59/db/d2c7c9b6dd5cbd46f183e650a47403ffb88fca17484eb7c4b1cd88f9e513/fonttools-4.56.0-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:f36a0868f47b7566237640c026c65a86d09a3d9ca5df1cd039e30a1da73098a0", size = 2272519 }, + { url = "https://files.pythonhosted.org/packages/4d/a2/da62d779c34a0e0c06415f02eab7fa3466de5d46df459c0275a255cefc65/fonttools-4.56.0-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:62b4c6802fa28e14dba010e75190e0e6228513573f1eeae57b11aa1a39b7e5b1", size = 4762423 }, + { url = "https://files.pythonhosted.org/packages/be/6a/fd4018e0448c8a5e12138906411282c5eab51a598493f080a9f0960e658f/fonttools-4.56.0-cp313-cp313-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:a05d1f07eb0a7d755fbe01fee1fd255c3a4d3730130cf1bfefb682d18fd2fcea", size = 4834442 }, + { url = "https://files.pythonhosted.org/packages/6d/63/fa1dec8efb35bc11ef9c39b2d74754b45d48a3ccb2cf78c0109c0af639e8/fonttools-4.56.0-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:0073b62c3438cf0058488c002ea90489e8801d3a7af5ce5f7c05c105bee815c3", size = 4742800 }, + { url = "https://files.pythonhosted.org/packages/dd/f4/963247ae8c73ccc4cf2929e7162f595c81dbe17997d1d0ea77da24a217c9/fonttools-4.56.0-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:e2cad98c94833465bcf28f51c248aaf07ca022efc6a3eba750ad9c1e0256d278", size = 4963746 }, + { url = "https://files.pythonhosted.org/packages/ea/e0/46f9600c39c644b54e4420f941f75fa200d9288c9ae171e5d80918b8cbb9/fonttools-4.56.0-cp313-cp313-win32.whl", hash = "sha256:d0cb73ccf7f6d7ca8d0bc7ea8ac0a5b84969a41c56ac3ac3422a24df2680546f", size = 2140927 }, + { url = "https://files.pythonhosted.org/packages/27/6d/3edda54f98a550a0473f032d8050315fbc8f1b76a0d9f3879b72ebb2cdd6/fonttools-4.56.0-cp313-cp313-win_amd64.whl", hash = "sha256:62cc1253827d1e500fde9dbe981219fea4eb000fd63402283472d38e7d8aa1c6", size = 2186709 }, + { url = "https://files.pythonhosted.org/packages/72/2d/762488c56a2bba2fa4d459233d971c2122bf1ed1ec5d9edfee7d58963ef5/fonttools-4.56.0-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:3fd3fccb7b9adaaecfa79ad51b759f2123e1aba97f857936ce044d4f029abd71", size = 2749891 }, + { url = "https://files.pythonhosted.org/packages/5a/64/4d4a46959e4bfd62210eee4c5c3259ec62c6eca437fa2e3e795ac0bde94f/fonttools-4.56.0-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:193b86e9f769320bc98ffdb42accafb5d0c8c49bd62884f1c0702bc598b3f0a2", size = 2279311 }, + { url = "https://files.pythonhosted.org/packages/5e/cd/0531711a900bb89cc757259c21fd67cc3cb4de260b3c4c1390dbfa463b01/fonttools-4.56.0-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:6e81c1cc80c1d8bf071356cc3e0e25071fbba1c75afc48d41b26048980b3c771", size = 4643308 }, + { url = "https://files.pythonhosted.org/packages/e0/c1/a3b9221b623eead07a4f2fd105b9183a2f70461deae14fac0f4c65872d04/fonttools-4.56.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:e9270505a19361e81eecdbc2c251ad1e1a9a9c2ad75fa022ccdee533f55535dc", size = 4687400 }, + { url = "https://files.pythonhosted.org/packages/67/14/67f5c0b695e4043b566e04b1f78e4f749cdd1bab6370f8056791e1c57314/fonttools-4.56.0-cp38-cp38-musllinux_1_2_aarch64.whl", hash = "sha256:53f5e9767978a4daf46f28e09dbeb7d010319924ae622f7b56174b777258e5ba", size = 4665170 }, + { url = "https://files.pythonhosted.org/packages/3c/fe/c8bfbe682def287eca26052e5232ca293ea0f9a6a3051dab2cb65e4ef401/fonttools-4.56.0-cp38-cp38-musllinux_1_2_x86_64.whl", hash = "sha256:9da650cb29bc098b8cfd15ef09009c914b35c7986c8fa9f08b51108b7bc393b4", size = 4844223 }, + { url = "https://files.pythonhosted.org/packages/9c/c1/2133e0a2558c94fefb3d655b3ca782f4310aa86ee8da0e12274cf6dc91c2/fonttools-4.56.0-cp38-cp38-win32.whl", hash = "sha256:965d0209e6dbdb9416100123b6709cb13f5232e2d52d17ed37f9df0cc31e2b35", size = 1480341 }, + { url = "https://files.pythonhosted.org/packages/e9/73/e0285a1cd25da20f1403a6dea54c116a6ccae6063f209a39793977dad03a/fonttools-4.56.0-cp38-cp38-win_amd64.whl", hash = "sha256:654ac4583e2d7c62aebc6fc6a4c6736f078f50300e18aa105d87ce8925cfac31", size = 1525378 }, + { url = "https://files.pythonhosted.org/packages/c2/a0/c62b7f219f74f0e9c4b7662c269b360f5c380cf7dfabaff06e114acc5576/fonttools-4.56.0-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:ca7962e8e5fc047cc4e59389959843aafbf7445b6c08c20d883e60ced46370a5", size = 2754871 }, + { url = "https://files.pythonhosted.org/packages/22/aa/2ce61705c48c4dc7953bec95f7cfa29e528294a06e7d38f2c674343425ca/fonttools-4.56.0-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:a1af375734018951c31c0737d04a9d5fd0a353a0253db5fbed2ccd44eac62d8c", size = 2281885 }, + { url = "https://files.pythonhosted.org/packages/81/68/508c1e84050b950918b1345ee22def98291b2e58890b0f3c2d0cfc4fee6b/fonttools-4.56.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:442ad4122468d0e47d83bc59d0e91b474593a8c813839e1872e47c7a0cb53b10", size = 4567663 }, + { url = "https://files.pythonhosted.org/packages/56/af/78b2c901949ca37c02ba4eec88020479e929b7d1126af30ee9d7e44b4c4c/fonttools-4.56.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:3cf4f8d2a30b454ac682e12c61831dcb174950c406011418e739de592bbf8f76", size = 4612654 }, + { url = "https://files.pythonhosted.org/packages/cb/fb/156bd9760b6d42be3d821f0ac3edccf8daf97b0e4fe539c569b6593f4b6a/fonttools-4.56.0-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:96a4271f63a615bcb902b9f56de00ea225d6896052c49f20d0c91e9f43529a29", size = 4561135 }, + { url = "https://files.pythonhosted.org/packages/c4/e9/c6c433b8ea306ba402aa1d53349237d78c1d21ec11bb69cc6d8442533d5b/fonttools-4.56.0-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:6c1d38642ca2dddc7ae992ef5d026e5061a84f10ff2b906be5680ab089f55bb8", size = 4731430 }, + { url = "https://files.pythonhosted.org/packages/00/41/4c199ca2c6d25edced1cdd6a3d32b2471c1e85dc7fbb2145e73805cf2a38/fonttools-4.56.0-cp39-cp39-win32.whl", hash = "sha256:2d351275f73ebdd81dd5b09a8b8dac7a30f29a279d41e1c1192aedf1b6dced40", size = 2156113 }, + { url = "https://files.pythonhosted.org/packages/00/8f/430abf16726cd627e176df92c452f239fcc488fac1e23c9ab57bb7ad6976/fonttools-4.56.0-cp39-cp39-win_amd64.whl", hash = "sha256:d6ca96d1b61a707ba01a43318c9c40aaf11a5a568d1e61146fafa6ab20890793", size = 2200538 }, + { url = "https://files.pythonhosted.org/packages/bf/ff/44934a031ce5a39125415eb405b9efb76fe7f9586b75291d66ae5cbfc4e6/fonttools-4.56.0-py3-none-any.whl", hash = "sha256:1088182f68c303b50ca4dc0c82d42083d176cba37af1937e1a976a31149d4d14", size = 1089800 }, ] [[package]] @@ -1081,15 +1094,12 @@ wheels = [ [[package]] name = "griffe" -version = "1.5.4" +version = "1.5.6" source = { registry = "https://pypi.org/simple" } resolution-markers = [ - "python_full_version >= '3.13' and sys_platform == 'darwin'", - "python_full_version >= '3.13' and platform_machine == 'aarch64' and sys_platform == 'linux'", - "(python_full_version >= '3.13' and platform_machine != 'aarch64' and sys_platform == 'linux') or (python_full_version >= '3.13' and sys_platform != 'darwin' and sys_platform != 'linux')", - "python_full_version == '3.12.*' and sys_platform == 'darwin'", - "python_full_version == '3.12.*' and platform_machine == 'aarch64' and sys_platform == 'linux'", - "(python_full_version == '3.12.*' and platform_machine != 'aarch64' and sys_platform == 'linux') or (python_full_version == '3.12.*' and sys_platform != 'darwin' and sys_platform != 'linux')", + "python_full_version >= '3.12' and sys_platform == 'darwin'", + "python_full_version >= '3.12' and platform_machine == 'aarch64' and sys_platform == 'linux'", + "(python_full_version >= '3.12' and platform_machine != 'aarch64' and sys_platform == 'linux') or (python_full_version >= '3.12' and sys_platform != 'darwin' and sys_platform != 'linux')", "python_full_version == '3.11.*' and sys_platform == 'darwin'", "python_full_version == '3.11.*' and platform_machine == 'aarch64' and sys_platform == 'linux'", "(python_full_version == '3.11.*' and platform_machine != 'aarch64' and sys_platform == 'linux') or (python_full_version == '3.11.*' and sys_platform != 'darwin' and sys_platform != 'linux')", @@ -1103,9 +1113,9 @@ resolution-markers = [ dependencies = [ { name = "colorama", marker = "python_full_version >= '3.9'" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/22/9b/0bc9d53ed6628aae43223dd3c081637da54f66ed17a8c1d9fd36ee5da244/griffe-1.5.4.tar.gz", hash = "sha256:073e78ad3e10c8378c2f798bd4ef87b92d8411e9916e157fd366a17cc4fd4e52", size = 389376 } +sdist = { url = "https://files.pythonhosted.org/packages/88/f0/a001e06c321dfa220103418259afbac50b933eac7a86657a4b572f0517e8/griffe-1.5.6.tar.gz", hash = "sha256:181f6666d5aceb6cd6e2da5a2b646cfb431e47a0da1fda283845734b67e10944", size = 391173 } wheels = [ - { url = "https://files.pythonhosted.org/packages/7c/29/d0f156c076ec71eb485e70cbcde4872e3c045cda965a48d1d938aa3d9f76/griffe-1.5.4-py3-none-any.whl", hash = "sha256:ed33af890586a5bebc842fcb919fc694b3dc1bc55b7d9e0228de41ce566b4a1d", size = 128102 }, + { url = "https://files.pythonhosted.org/packages/b6/87/505777c4e5ca9c4fa5ae53fa4b0d5c2ba13a6d55a503a5594e94a2ba9b5a/griffe-1.5.6-py3-none-any.whl", hash = "sha256:b2a3afe497c6c1f952e54a23095ecc09435016293e77af8478ed65df1022a394", size = 128176 }, ] [[package]] @@ -1146,6 +1156,18 @@ wheels = [ { url = "https://files.pythonhosted.org/packages/2a/39/e50c7c3a983047577ee07d2a9e53faf5a69493943ec3f6a384bdc792deb2/httpx-0.28.1-py3-none-any.whl", hash = "sha256:d909fcccc110f8c7faf814ca82a9a4d816bc5a6dbfea25d6591d6985b8ba59ad", size = 73517 }, ] +[[package]] +name = "id" +version = "1.5.0" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "requests" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/22/11/102da08f88412d875fa2f1a9a469ff7ad4c874b0ca6fed0048fe385bdb3d/id-1.5.0.tar.gz", hash = "sha256:292cb8a49eacbbdbce97244f47a97b4c62540169c976552e497fd57df0734c1d", size = 15237 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/9f/cb/18326d2d89ad3b0dd143da971e77afd1e6ca6674f1b1c3df4b6bec6279fc/id-1.5.0-py3-none-any.whl", hash = "sha256:f1434e1cef91f2cbb8a4ec64663d5a23b9ed43ef44c4c957d02583d61714c658", size = 13611 }, +] + [[package]] name = "idna" version = "3.10" @@ -1159,15 +1181,45 @@ wheels = [ name = "importlib-metadata" version = "8.5.0" source = { registry = "https://pypi.org/simple" } +resolution-markers = [ + "python_full_version < '3.9' and platform_machine == 'arm64' and sys_platform == 'darwin'", + "python_full_version < '3.9' and platform_machine == 'aarch64' and sys_platform == 'linux'", + "(python_full_version < '3.9' and platform_machine != 'arm64' and sys_platform == 'darwin') or (python_full_version < '3.9' and platform_machine != 'aarch64' and sys_platform == 'linux') or (python_full_version < '3.9' and sys_platform != 'darwin' and sys_platform != 'linux')", +] dependencies = [ { name = "zipp", version = "3.20.2", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.9'" }, - { name = "zipp", version = "3.21.0", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.9'" }, ] sdist = { url = "https://files.pythonhosted.org/packages/cd/12/33e59336dca5be0c398a7482335911a33aa0e20776128f038019f1a95f1b/importlib_metadata-8.5.0.tar.gz", hash = "sha256:71522656f0abace1d072b9e5481a48f07c138e00f079c38c8f883823f9c26bd7", size = 55304 } wheels = [ { url = "https://files.pythonhosted.org/packages/a0/d9/a1e041c5e7caa9a05c925f4bdbdfb7f006d1f74996af53467bc394c97be7/importlib_metadata-8.5.0-py3-none-any.whl", hash = "sha256:45e54197d28b7a7f1559e60b95e7c567032b602131fbd588f1497f47880aa68b", size = 26514 }, ] +[[package]] +name = "importlib-metadata" +version = "8.6.1" +source = { registry = "https://pypi.org/simple" } +resolution-markers = [ + "python_full_version >= '3.12' and sys_platform == 'darwin'", + "python_full_version >= '3.12' and platform_machine == 'aarch64' and sys_platform == 'linux'", + "(python_full_version >= '3.12' and platform_machine != 'aarch64' and sys_platform == 'linux') or (python_full_version >= '3.12' and sys_platform != 'darwin' and sys_platform != 'linux')", + "python_full_version == '3.11.*' and sys_platform == 'darwin'", + "python_full_version == '3.11.*' and platform_machine == 'aarch64' and sys_platform == 'linux'", + "(python_full_version == '3.11.*' and platform_machine != 'aarch64' and sys_platform == 'linux') or (python_full_version == '3.11.*' and sys_platform != 'darwin' and sys_platform != 'linux')", + "python_full_version == '3.10.*' and sys_platform == 'darwin'", + "python_full_version == '3.10.*' and platform_machine == 'aarch64' and sys_platform == 'linux'", + "(python_full_version == '3.10.*' and platform_machine != 'aarch64' and sys_platform == 'linux') or (python_full_version == '3.10.*' and sys_platform != 'darwin' and sys_platform != 'linux')", + "python_full_version == '3.9.*' and platform_machine == 'arm64' and sys_platform == 'darwin'", + "python_full_version == '3.9.*' and platform_machine == 'aarch64' and sys_platform == 'linux'", + "(python_full_version == '3.9.*' and platform_machine != 'arm64' and sys_platform == 'darwin') or (python_full_version == '3.9.*' and platform_machine != 'aarch64' and sys_platform == 'linux') or (python_full_version == '3.9.*' and sys_platform != 'darwin' and sys_platform != 'linux')", +] +dependencies = [ + { name = "zipp", version = "3.21.0", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.9'" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/33/08/c1395a292bb23fd03bdf572a1357c5a733d3eecbab877641ceacab23db6e/importlib_metadata-8.6.1.tar.gz", hash = "sha256:310b41d755445d74569f993ccfc22838295d9fe005425094fad953d7f15c8580", size = 55767 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/79/9d/0fb148dc4d6fa4a7dd1d8378168d9b4cd8d4560a6fbf6f0121c5fc34eb68/importlib_metadata-8.6.1-py3-none-any.whl", hash = "sha256:02a89390c1e15fdfdc0d7c6b25cb3e62650d0494005c97d6f148bf5b9787525e", size = 26971 }, +] + [[package]] name = "importlib-resources" version = "6.4.5" @@ -1190,12 +1242,9 @@ name = "importlib-resources" version = "6.5.2" source = { registry = "https://pypi.org/simple" } resolution-markers = [ - "python_full_version >= '3.13' and sys_platform == 'darwin'", - "python_full_version >= '3.13' and platform_machine == 'aarch64' and sys_platform == 'linux'", - "(python_full_version >= '3.13' and platform_machine != 'aarch64' and sys_platform == 'linux') or (python_full_version >= '3.13' and sys_platform != 'darwin' and sys_platform != 'linux')", - "python_full_version == '3.12.*' and sys_platform == 'darwin'", - "python_full_version == '3.12.*' and platform_machine == 'aarch64' and sys_platform == 'linux'", - "(python_full_version == '3.12.*' and platform_machine != 'aarch64' and sys_platform == 'linux') or (python_full_version == '3.12.*' and sys_platform != 'darwin' and sys_platform != 'linux')", + "python_full_version >= '3.12' and sys_platform == 'darwin'", + "python_full_version >= '3.12' and platform_machine == 'aarch64' and sys_platform == 'linux'", + "(python_full_version >= '3.12' and platform_machine != 'aarch64' and sys_platform == 'linux') or (python_full_version >= '3.12' and sys_platform != 'darwin' and sys_platform != 'linux')", "python_full_version == '3.11.*' and sys_platform == 'darwin'", "python_full_version == '3.11.*' and platform_machine == 'aarch64' and sys_platform == 'linux'", "(python_full_version == '3.11.*' and platform_machine != 'aarch64' and sys_platform == 'linux') or (python_full_version == '3.11.*' and sys_platform != 'darwin' and sys_platform != 'linux')", @@ -1233,7 +1282,7 @@ dependencies = [ { name = "debugpy" }, { name = "ipython", version = "8.12.3", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.9'" }, { name = "ipython", version = "8.18.1", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version == '3.9.*'" }, - { name = "ipython", version = "8.31.0", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.10'" }, + { name = "ipython", version = "8.32.0", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.10'" }, { name = "jupyter-client" }, { name = "jupyter-core" }, { name = "matplotlib-inline" }, @@ -1307,15 +1356,12 @@ wheels = [ [[package]] name = "ipython" -version = "8.31.0" +version = "8.32.0" source = { registry = "https://pypi.org/simple" } resolution-markers = [ - "python_full_version >= '3.13' and sys_platform == 'darwin'", - "python_full_version >= '3.13' and platform_machine == 'aarch64' and sys_platform == 'linux'", - "(python_full_version >= '3.13' and platform_machine != 'aarch64' and sys_platform == 'linux') or (python_full_version >= '3.13' and sys_platform != 'darwin' and sys_platform != 'linux')", - "python_full_version == '3.12.*' and sys_platform == 'darwin'", - "python_full_version == '3.12.*' and platform_machine == 'aarch64' and sys_platform == 'linux'", - "(python_full_version == '3.12.*' and platform_machine != 'aarch64' and sys_platform == 'linux') or (python_full_version == '3.12.*' and sys_platform != 'darwin' and sys_platform != 'linux')", + "python_full_version >= '3.12' and sys_platform == 'darwin'", + "python_full_version >= '3.12' and platform_machine == 'aarch64' and sys_platform == 'linux'", + "(python_full_version >= '3.12' and platform_machine != 'aarch64' and sys_platform == 'linux') or (python_full_version >= '3.12' and sys_platform != 'darwin' and sys_platform != 'linux')", "python_full_version == '3.11.*' and sys_platform == 'darwin'", "python_full_version == '3.11.*' and platform_machine == 'aarch64' and sys_platform == 'linux'", "(python_full_version == '3.11.*' and platform_machine != 'aarch64' and sys_platform == 'linux') or (python_full_version == '3.11.*' and sys_platform != 'darwin' and sys_platform != 'linux')", @@ -1336,9 +1382,9 @@ dependencies = [ { name = "traitlets", marker = "python_full_version >= '3.10'" }, { name = "typing-extensions", marker = "python_full_version >= '3.10' and python_full_version < '3.12'" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/01/35/6f90fdddff7a08b7b715fccbd2427b5212c9525cd043d26fdc45bee0708d/ipython-8.31.0.tar.gz", hash = "sha256:b6a2274606bec6166405ff05e54932ed6e5cfecaca1fc05f2cacde7bb074d70b", size = 5501011 } +sdist = { url = "https://files.pythonhosted.org/packages/36/80/4d2a072e0db7d250f134bc11676517299264ebe16d62a8619d49a78ced73/ipython-8.32.0.tar.gz", hash = "sha256:be2c91895b0b9ea7ba49d33b23e2040c352b33eb6a519cca7ce6e0c743444251", size = 5507441 } wheels = [ - { url = "https://files.pythonhosted.org/packages/04/60/d0feb6b6d9fe4ab89fe8fe5b47cbf6cd936bfd9f1e7ffa9d0015425aeed6/ipython-8.31.0-py3-none-any.whl", hash = "sha256:46ec58f8d3d076a61d128fe517a51eb730e3aaf0c184ea8c17d16e366660c6a6", size = 821583 }, + { url = "https://files.pythonhosted.org/packages/e7/e1/f4474a7ecdb7745a820f6f6039dc43c66add40f1bcc66485607d93571af6/ipython-8.32.0-py3-none-any.whl", hash = "sha256:cae85b0c61eff1fc48b0a8002de5958b6528fa9c8defb1894da63f42613708aa", size = 825524 }, ] [[package]] @@ -1349,7 +1395,7 @@ dependencies = [ { name = "comm" }, { name = "ipython", version = "8.12.3", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.9'" }, { name = "ipython", version = "8.18.1", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version == '3.9.*'" }, - { name = "ipython", version = "8.31.0", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.10'" }, + { name = "ipython", version = "8.32.0", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.10'" }, { name = "jupyterlab-widgets" }, { name = "traitlets" }, { name = "widgetsnbextension" }, @@ -1376,7 +1422,8 @@ name = "jaraco-classes" version = "3.4.0" source = { registry = "https://pypi.org/simple" } dependencies = [ - { name = "more-itertools" }, + { name = "more-itertools", version = "10.5.0", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.9'" }, + { name = "more-itertools", version = "10.6.0", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.9'" }, ] sdist = { url = "https://files.pythonhosted.org/packages/06/c0/ed4a27bc5571b99e3cff68f8a9fa5b56ff7df1c2251cc715a652ddd26402/jaraco.classes-3.4.0.tar.gz", hash = "sha256:47a024b51d0239c0dd8c8540c6c7f484be3b8fcf0b2d85c13825780d3b3f3acd", size = 11780 } wheels = [ @@ -1400,7 +1447,8 @@ name = "jaraco-functools" version = "4.1.0" source = { registry = "https://pypi.org/simple" } dependencies = [ - { name = "more-itertools" }, + { name = "more-itertools", version = "10.5.0", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.9'" }, + { name = "more-itertools", version = "10.6.0", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.9'" }, ] sdist = { url = "https://files.pythonhosted.org/packages/ab/23/9894b3df5d0a6eb44611c36aec777823fc2e07740dabbd0b810e19594013/jaraco_functools-4.1.0.tar.gz", hash = "sha256:70f7e0e2ae076498e212562325e805204fc092d7b4c17e0e86c959e249701a9d", size = 19159 } wheels = [ @@ -1469,7 +1517,8 @@ dependencies = [ { name = "jsonschema-specifications", version = "2023.12.1", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.9'" }, { name = "jsonschema-specifications", version = "2024.10.1", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.9'" }, { name = "pkgutil-resolve-name", marker = "python_full_version < '3.9'" }, - { name = "referencing" }, + { name = "referencing", version = "0.35.1", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.9'" }, + { name = "referencing", version = "0.36.2", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.9'" }, { name = "rpds-py", version = "0.20.1", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.9'" }, { name = "rpds-py", version = "0.22.3", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.9'" }, ] @@ -1502,7 +1551,7 @@ resolution-markers = [ ] dependencies = [ { name = "importlib-resources", version = "6.4.5", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.9'" }, - { name = "referencing", marker = "python_full_version < '3.9'" }, + { name = "referencing", version = "0.35.1", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.9'" }, ] sdist = { url = "https://files.pythonhosted.org/packages/f8/b9/cc0cc592e7c195fb8a650c1d5990b10175cf13b4c97465c72ec841de9e4b/jsonschema_specifications-2023.12.1.tar.gz", hash = "sha256:48a76787b3e70f5ed53f1160d2b81f586e4ca6d1548c5de7085d1682674764cc", size = 13983 } wheels = [ @@ -1514,12 +1563,9 @@ name = "jsonschema-specifications" version = "2024.10.1" source = { registry = "https://pypi.org/simple" } resolution-markers = [ - "python_full_version >= '3.13' and sys_platform == 'darwin'", - "python_full_version >= '3.13' and platform_machine == 'aarch64' and sys_platform == 'linux'", - "(python_full_version >= '3.13' and platform_machine != 'aarch64' and sys_platform == 'linux') or (python_full_version >= '3.13' and sys_platform != 'darwin' and sys_platform != 'linux')", - "python_full_version == '3.12.*' and sys_platform == 'darwin'", - "python_full_version == '3.12.*' and platform_machine == 'aarch64' and sys_platform == 'linux'", - "(python_full_version == '3.12.*' and platform_machine != 'aarch64' and sys_platform == 'linux') or (python_full_version == '3.12.*' and sys_platform != 'darwin' and sys_platform != 'linux')", + "python_full_version >= '3.12' and sys_platform == 'darwin'", + "python_full_version >= '3.12' and platform_machine == 'aarch64' and sys_platform == 'linux'", + "(python_full_version >= '3.12' and platform_machine != 'aarch64' and sys_platform == 'linux') or (python_full_version >= '3.12' and sys_platform != 'darwin' and sys_platform != 'linux')", "python_full_version == '3.11.*' and sys_platform == 'darwin'", "python_full_version == '3.11.*' and platform_machine == 'aarch64' and sys_platform == 'linux'", "(python_full_version == '3.11.*' and platform_machine != 'aarch64' and sys_platform == 'linux') or (python_full_version == '3.11.*' and sys_platform != 'darwin' and sys_platform != 'linux')", @@ -1531,7 +1577,7 @@ resolution-markers = [ "(python_full_version == '3.9.*' and platform_machine != 'arm64' and sys_platform == 'darwin') or (python_full_version == '3.9.*' and platform_machine != 'aarch64' and sys_platform == 'linux') or (python_full_version == '3.9.*' and sys_platform != 'darwin' and sys_platform != 'linux')", ] dependencies = [ - { name = "referencing", marker = "python_full_version >= '3.9'" }, + { name = "referencing", version = "0.36.2", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.9'" }, ] sdist = { url = "https://files.pythonhosted.org/packages/10/db/58f950c996c793472e336ff3655b13fbcf1e3b359dcf52dcf3ed3b52c352/jsonschema_specifications-2024.10.1.tar.gz", hash = "sha256:0f38b83639958ce1152d02a7f062902c41c8fd20d558b0c34344292d417ae272", size = 15561 } wheels = [ @@ -1543,7 +1589,8 @@ name = "jupyter-client" version = "8.6.3" source = { registry = "https://pypi.org/simple" } dependencies = [ - { name = "importlib-metadata", marker = "python_full_version < '3.10'" }, + { name = "importlib-metadata", version = "8.5.0", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.9'" }, + { name = "importlib-metadata", version = "8.6.1", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version == '3.9.*'" }, { name = "jupyter-core" }, { name = "python-dateutil" }, { name = "pyzmq" }, @@ -1582,7 +1629,7 @@ dependencies = [ { name = "jsonschema", extra = ["format-nongpl"], marker = "python_full_version < '3.9'" }, { name = "python-json-logger", marker = "python_full_version < '3.9'" }, { name = "pyyaml", marker = "python_full_version < '3.9'" }, - { name = "referencing", marker = "python_full_version < '3.9'" }, + { name = "referencing", version = "0.35.1", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.9'" }, { name = "rfc3339-validator", marker = "python_full_version < '3.9'" }, { name = "rfc3986-validator", marker = "python_full_version < '3.9'" }, { name = "traitlets", marker = "python_full_version < '3.9'" }, @@ -1594,15 +1641,12 @@ wheels = [ [[package]] name = "jupyter-events" -version = "0.11.0" +version = "0.12.0" source = { registry = "https://pypi.org/simple" } resolution-markers = [ - "python_full_version >= '3.13' and sys_platform == 'darwin'", - "python_full_version >= '3.13' and platform_machine == 'aarch64' and sys_platform == 'linux'", - "(python_full_version >= '3.13' and platform_machine != 'aarch64' and sys_platform == 'linux') or (python_full_version >= '3.13' and sys_platform != 'darwin' and sys_platform != 'linux')", - "python_full_version == '3.12.*' and sys_platform == 'darwin'", - "python_full_version == '3.12.*' and platform_machine == 'aarch64' and sys_platform == 'linux'", - "(python_full_version == '3.12.*' and platform_machine != 'aarch64' and sys_platform == 'linux') or (python_full_version == '3.12.*' and sys_platform != 'darwin' and sys_platform != 'linux')", + "python_full_version >= '3.12' and sys_platform == 'darwin'", + "python_full_version >= '3.12' and platform_machine == 'aarch64' and sys_platform == 'linux'", + "(python_full_version >= '3.12' and platform_machine != 'aarch64' and sys_platform == 'linux') or (python_full_version >= '3.12' and sys_platform != 'darwin' and sys_platform != 'linux')", "python_full_version == '3.11.*' and sys_platform == 'darwin'", "python_full_version == '3.11.*' and platform_machine == 'aarch64' and sys_platform == 'linux'", "(python_full_version == '3.11.*' and platform_machine != 'aarch64' and sys_platform == 'linux') or (python_full_version == '3.11.*' and sys_platform != 'darwin' and sys_platform != 'linux')", @@ -1615,16 +1659,17 @@ resolution-markers = [ ] dependencies = [ { name = "jsonschema", extra = ["format-nongpl"], marker = "python_full_version >= '3.9'" }, + { name = "packaging", marker = "python_full_version >= '3.9'" }, { name = "python-json-logger", marker = "python_full_version >= '3.9'" }, { name = "pyyaml", marker = "python_full_version >= '3.9'" }, - { name = "referencing", marker = "python_full_version >= '3.9'" }, + { name = "referencing", version = "0.36.2", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.9'" }, { name = "rfc3339-validator", marker = "python_full_version >= '3.9'" }, { name = "rfc3986-validator", marker = "python_full_version >= '3.9'" }, { name = "traitlets", marker = "python_full_version >= '3.9'" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/f4/65/5791c8a979b5646ca29ea50e42b6708908b789f7ff389d1a03c1b93a1c54/jupyter_events-0.11.0.tar.gz", hash = "sha256:c0bc56a37aac29c1fbc3bcfbddb8c8c49533f9cf11f1c4e6adadba936574ab90", size = 62039 } +sdist = { url = "https://files.pythonhosted.org/packages/9d/c3/306d090461e4cf3cd91eceaff84bede12a8e52cd821c2d20c9a4fd728385/jupyter_events-0.12.0.tar.gz", hash = "sha256:fc3fce98865f6784c9cd0a56a20644fc6098f21c8c33834a8d9fe383c17e554b", size = 62196 } wheels = [ - { url = "https://files.pythonhosted.org/packages/3f/8c/9b65cb2cd4ea32d885993d5542244641590530836802a2e8c7449a4c61c9/jupyter_events-0.11.0-py3-none-any.whl", hash = "sha256:36399b41ce1ca45fe8b8271067d6a140ffa54cec4028e95491c93b78a855cacf", size = 19423 }, + { url = "https://files.pythonhosted.org/packages/e2/48/577993f1f99c552f18a0428731a755e06171f9902fa118c379eb7c04ea22/jupyter_events-0.12.0-py3-none-any.whl", hash = "sha256:6464b2fa5ad10451c3d35fabc75eab39556ae1e2853ad0c0cc31b656731a97fb", size = 19430 }, ] [[package]] @@ -1632,7 +1677,8 @@ name = "jupyter-lsp" version = "2.2.5" source = { registry = "https://pypi.org/simple" } dependencies = [ - { name = "importlib-metadata", marker = "python_full_version < '3.10'" }, + { name = "importlib-metadata", version = "8.5.0", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.9'" }, + { name = "importlib-metadata", version = "8.6.1", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version == '3.9.*'" }, { name = "jupyter-server", version = "2.14.2", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.9'" }, { name = "jupyter-server", version = "2.15.0", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.9'" }, ] @@ -1663,7 +1709,7 @@ dependencies = [ { name = "overrides", marker = "python_full_version < '3.9'" }, { name = "packaging", marker = "python_full_version < '3.9'" }, { name = "prometheus-client", marker = "python_full_version < '3.9'" }, - { name = "pywinpty", marker = "(python_full_version < '3.9' and os_name == 'nt' and platform_machine != 'arm64' and sys_platform == 'darwin') or (python_full_version < '3.9' and os_name == 'nt' and platform_machine != 'aarch64' and sys_platform == 'linux') or (python_full_version < '3.9' and os_name == 'nt' and sys_platform != 'darwin' and sys_platform != 'linux')" }, + { name = "pywinpty", version = "2.0.14", source = { registry = "https://pypi.org/simple" }, marker = "(python_full_version < '3.9' and os_name == 'nt' and platform_machine != 'arm64' and sys_platform == 'darwin') or (python_full_version < '3.9' and os_name == 'nt' and platform_machine != 'aarch64' and sys_platform == 'linux') or (python_full_version < '3.9' and os_name == 'nt' and sys_platform != 'darwin' and sys_platform != 'linux')" }, { name = "pyzmq", marker = "python_full_version < '3.9'" }, { name = "send2trash", marker = "python_full_version < '3.9'" }, { name = "terminado", marker = "python_full_version < '3.9'" }, @@ -1681,12 +1727,9 @@ name = "jupyter-server" version = "2.15.0" source = { registry = "https://pypi.org/simple" } resolution-markers = [ - "python_full_version >= '3.13' and sys_platform == 'darwin'", - "python_full_version >= '3.13' and platform_machine == 'aarch64' and sys_platform == 'linux'", - "(python_full_version >= '3.13' and platform_machine != 'aarch64' and sys_platform == 'linux') or (python_full_version >= '3.13' and sys_platform != 'darwin' and sys_platform != 'linux')", - "python_full_version == '3.12.*' and sys_platform == 'darwin'", - "python_full_version == '3.12.*' and platform_machine == 'aarch64' and sys_platform == 'linux'", - "(python_full_version == '3.12.*' and platform_machine != 'aarch64' and sys_platform == 'linux') or (python_full_version == '3.12.*' and sys_platform != 'darwin' and sys_platform != 'linux')", + "python_full_version >= '3.12' and sys_platform == 'darwin'", + "python_full_version >= '3.12' and platform_machine == 'aarch64' and sys_platform == 'linux'", + "(python_full_version >= '3.12' and platform_machine != 'aarch64' and sys_platform == 'linux') or (python_full_version >= '3.12' and sys_platform != 'darwin' and sys_platform != 'linux')", "python_full_version == '3.11.*' and sys_platform == 'darwin'", "python_full_version == '3.11.*' and platform_machine == 'aarch64' and sys_platform == 'linux'", "(python_full_version == '3.11.*' and platform_machine != 'aarch64' and sys_platform == 'linux') or (python_full_version == '3.11.*' and sys_platform != 'darwin' and sys_platform != 'linux')", @@ -1703,14 +1746,14 @@ dependencies = [ { name = "jinja2", marker = "python_full_version >= '3.9'" }, { name = "jupyter-client", marker = "python_full_version >= '3.9'" }, { name = "jupyter-core", marker = "python_full_version >= '3.9'" }, - { name = "jupyter-events", version = "0.11.0", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.9'" }, + { name = "jupyter-events", version = "0.12.0", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.9'" }, { name = "jupyter-server-terminals", marker = "python_full_version >= '3.9'" }, { name = "nbconvert", marker = "python_full_version >= '3.9'" }, { name = "nbformat", marker = "python_full_version >= '3.9'" }, { name = "overrides", marker = "python_full_version >= '3.9'" }, { name = "packaging", marker = "python_full_version >= '3.9'" }, { name = "prometheus-client", marker = "python_full_version >= '3.9'" }, - { name = "pywinpty", marker = "(python_full_version == '3.9.*' and os_name == 'nt' and platform_machine != 'arm64' and sys_platform == 'darwin') or (python_full_version >= '3.9' and os_name == 'nt' and platform_machine != 'aarch64' and sys_platform == 'linux') or (python_full_version >= '3.9' and os_name == 'nt' and sys_platform != 'darwin' and sys_platform != 'linux')" }, + { name = "pywinpty", version = "2.0.15", source = { registry = "https://pypi.org/simple" }, marker = "(python_full_version == '3.9.*' and os_name == 'nt' and platform_machine != 'arm64' and sys_platform == 'darwin') or (python_full_version >= '3.9' and os_name == 'nt' and platform_machine != 'aarch64' and sys_platform == 'linux') or (python_full_version >= '3.9' and os_name == 'nt' and sys_platform != 'darwin' and sys_platform != 'linux')" }, { name = "pyzmq", marker = "python_full_version >= '3.9'" }, { name = "send2trash", marker = "python_full_version >= '3.9'" }, { name = "terminado", marker = "python_full_version >= '3.9'" }, @@ -1728,7 +1771,8 @@ name = "jupyter-server-terminals" version = "0.5.3" source = { registry = "https://pypi.org/simple" } dependencies = [ - { name = "pywinpty", marker = "(python_full_version < '3.10' and os_name == 'nt' and platform_machine != 'arm64' and sys_platform == 'darwin') or (os_name == 'nt' and platform_machine != 'aarch64' and sys_platform == 'linux') or (os_name == 'nt' and sys_platform != 'darwin' and sys_platform != 'linux')" }, + { name = "pywinpty", version = "2.0.14", source = { registry = "https://pypi.org/simple" }, marker = "(python_full_version < '3.9' and os_name == 'nt' and platform_machine != 'arm64' and sys_platform == 'darwin') or (python_full_version < '3.9' and os_name == 'nt' and platform_machine != 'aarch64' and sys_platform == 'linux') or (python_full_version < '3.9' and os_name == 'nt' and sys_platform != 'darwin' and sys_platform != 'linux')" }, + { name = "pywinpty", version = "2.0.15", source = { registry = "https://pypi.org/simple" }, marker = "(python_full_version == '3.9.*' and os_name == 'nt' and platform_machine != 'arm64' and sys_platform == 'darwin') or (python_full_version >= '3.9' and os_name == 'nt' and platform_machine != 'aarch64' and sys_platform == 'linux') or (python_full_version >= '3.9' and os_name == 'nt' and sys_platform != 'darwin' and sys_platform != 'linux')" }, { name = "terminado" }, ] sdist = { url = "https://files.pythonhosted.org/packages/fc/d5/562469734f476159e99a55426d697cbf8e7eb5efe89fb0e0b4f83a3d3459/jupyter_server_terminals-0.5.3.tar.gz", hash = "sha256:5ae0295167220e9ace0edcfdb212afd2b01ee8d179fe6f23c899590e9b8a5269", size = 31430 } @@ -1738,12 +1782,13 @@ wheels = [ [[package]] name = "jupyterlab" -version = "4.3.4" +version = "4.3.5" source = { registry = "https://pypi.org/simple" } dependencies = [ { name = "async-lru" }, { name = "httpx" }, - { name = "importlib-metadata", marker = "python_full_version < '3.10'" }, + { name = "importlib-metadata", version = "8.5.0", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.9'" }, + { name = "importlib-metadata", version = "8.6.1", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version == '3.9.*'" }, { name = "importlib-resources", version = "6.4.5", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.9'" }, { name = "ipykernel" }, { name = "jinja2" }, @@ -1760,9 +1805,9 @@ dependencies = [ { name = "tornado" }, { name = "traitlets" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/a7/45/1052f842e066902b1d78126df7e2269b1b9408991e1344e167b2e429f9e1/jupyterlab-4.3.4.tar.gz", hash = "sha256:f0bb9b09a04766e3423cccc2fc23169aa2ffedcdf8713e9e0fb33cac0b6859d0", size = 21797583 } +sdist = { url = "https://files.pythonhosted.org/packages/19/17/6f3d73c3e54b71bbaf03edcc4a54b0aa6328e0a134755f297ea87d425711/jupyterlab-4.3.5.tar.gz", hash = "sha256:c779bf72ced007d7d29d5bcef128e7fdda96ea69299e19b04a43635a7d641f9d", size = 21800023 } wheels = [ - { url = "https://files.pythonhosted.org/packages/61/48/af57263e53cfc220e522de047aa0993f53bab734fe812af1e03e33ac6d7c/jupyterlab-4.3.4-py3-none-any.whl", hash = "sha256:b754c2601c5be6adf87cb5a1d8495d653ffb945f021939f77776acaa94dae952", size = 11665373 }, + { url = "https://files.pythonhosted.org/packages/73/6f/94d4c879b3e2b7b9bca1913ea6fbbef180f8b1ed065b46ade40d651ec54d/jupyterlab-4.3.5-py3-none-any.whl", hash = "sha256:571bbdee20e4c5321ab5195bc41cf92a75a5cff886be5e57ce78dfa37a5e9fdb", size = 11666944 }, ] [[package]] @@ -1780,7 +1825,8 @@ version = "2.27.3" source = { registry = "https://pypi.org/simple" } dependencies = [ { name = "babel" }, - { name = "importlib-metadata", marker = "python_full_version < '3.10'" }, + { name = "importlib-metadata", version = "8.5.0", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.9'" }, + { name = "importlib-metadata", version = "8.6.1", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version == '3.9.*'" }, { name = "jinja2" }, { name = "json5" }, { name = "jsonschema" }, @@ -1830,7 +1876,7 @@ resolution-markers = [ "(python_full_version < '3.9' and platform_machine != 'arm64' and sys_platform == 'darwin') or (python_full_version < '3.9' and platform_machine != 'aarch64' and sys_platform == 'linux') or (python_full_version < '3.9' and sys_platform != 'darwin' and sys_platform != 'linux')", ] dependencies = [ - { name = "importlib-metadata", marker = "python_full_version < '3.9'" }, + { name = "importlib-metadata", version = "8.5.0", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.9'" }, { name = "importlib-resources", version = "6.4.5", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.9'" }, { name = "jaraco-classes", marker = "python_full_version < '3.9'" }, { name = "jaraco-context", marker = "python_full_version < '3.9'" }, @@ -1849,12 +1895,9 @@ name = "keyring" version = "25.6.0" source = { registry = "https://pypi.org/simple" } resolution-markers = [ - "python_full_version >= '3.13' and sys_platform == 'darwin'", - "python_full_version >= '3.13' and platform_machine == 'aarch64' and sys_platform == 'linux'", - "(python_full_version >= '3.13' and platform_machine != 'aarch64' and sys_platform == 'linux') or (python_full_version >= '3.13' and sys_platform != 'darwin' and sys_platform != 'linux')", - "python_full_version == '3.12.*' and sys_platform == 'darwin'", - "python_full_version == '3.12.*' and platform_machine == 'aarch64' and sys_platform == 'linux'", - "(python_full_version == '3.12.*' and platform_machine != 'aarch64' and sys_platform == 'linux') or (python_full_version == '3.12.*' and sys_platform != 'darwin' and sys_platform != 'linux')", + "python_full_version >= '3.12' and sys_platform == 'darwin'", + "python_full_version >= '3.12' and platform_machine == 'aarch64' and sys_platform == 'linux'", + "(python_full_version >= '3.12' and platform_machine != 'aarch64' and sys_platform == 'linux') or (python_full_version >= '3.12' and sys_platform != 'darwin' and sys_platform != 'linux')", "python_full_version == '3.11.*' and sys_platform == 'darwin'", "python_full_version == '3.11.*' and platform_machine == 'aarch64' and sys_platform == 'linux'", "(python_full_version == '3.11.*' and platform_machine != 'aarch64' and sys_platform == 'linux') or (python_full_version == '3.11.*' and sys_platform != 'darwin' and sys_platform != 'linux')", @@ -1866,7 +1909,7 @@ resolution-markers = [ "(python_full_version == '3.9.*' and platform_machine != 'arm64' and sys_platform == 'darwin') or (python_full_version == '3.9.*' and platform_machine != 'aarch64' and sys_platform == 'linux') or (python_full_version == '3.9.*' and sys_platform != 'darwin' and sys_platform != 'linux')", ] dependencies = [ - { name = "importlib-metadata", marker = "python_full_version >= '3.9' and python_full_version < '3.12'" }, + { name = "importlib-metadata", version = "8.6.1", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.9' and python_full_version < '3.12'" }, { name = "jaraco-classes", marker = "python_full_version >= '3.9'" }, { name = "jaraco-context", marker = "python_full_version >= '3.9'" }, { name = "jaraco-functools", marker = "python_full_version >= '3.9'" }, @@ -2013,12 +2056,9 @@ name = "kiwisolver" version = "1.4.8" source = { registry = "https://pypi.org/simple" } resolution-markers = [ - "python_full_version >= '3.13' and sys_platform == 'darwin'", - "python_full_version >= '3.13' and platform_machine == 'aarch64' and sys_platform == 'linux'", - "(python_full_version >= '3.13' and platform_machine != 'aarch64' and sys_platform == 'linux') or (python_full_version >= '3.13' and sys_platform != 'darwin' and sys_platform != 'linux')", - "python_full_version == '3.12.*' and sys_platform == 'darwin'", - "python_full_version == '3.12.*' and platform_machine == 'aarch64' and sys_platform == 'linux'", - "(python_full_version == '3.12.*' and platform_machine != 'aarch64' and sys_platform == 'linux') or (python_full_version == '3.12.*' and sys_platform != 'darwin' and sys_platform != 'linux')", + "python_full_version >= '3.12' and sys_platform == 'darwin'", + "python_full_version >= '3.12' and platform_machine == 'aarch64' and sys_platform == 'linux'", + "(python_full_version >= '3.12' and platform_machine != 'aarch64' and sys_platform == 'linux') or (python_full_version >= '3.12' and sys_platform != 'darwin' and sys_platform != 'linux')", "python_full_version == '3.11.*' and sys_platform == 'darwin'", "python_full_version == '3.11.*' and platform_machine == 'aarch64' and sys_platform == 'linux'", "(python_full_version == '3.11.*' and platform_machine != 'aarch64' and sys_platform == 'linux') or (python_full_version == '3.11.*' and sys_platform != 'darwin' and sys_platform != 'linux')", @@ -2114,7 +2154,8 @@ name = "markdown" version = "3.7" source = { registry = "https://pypi.org/simple" } dependencies = [ - { name = "importlib-metadata", marker = "python_full_version < '3.10'" }, + { name = "importlib-metadata", version = "8.5.0", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.9'" }, + { name = "importlib-metadata", version = "8.6.1", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version == '3.9.*'" }, ] sdist = { url = "https://files.pythonhosted.org/packages/54/28/3af612670f82f4c056911fbbbb42760255801b3068c48de792d354ff4472/markdown-3.7.tar.gz", hash = "sha256:2ae2471477cfd02dbbf038d5d9bc226d40def84b4fe2986e49b59b6b472bbed2", size = 357086 } wheels = [ @@ -2201,12 +2242,9 @@ name = "markupsafe" version = "3.0.2" source = { registry = "https://pypi.org/simple" } resolution-markers = [ - "python_full_version >= '3.13' and sys_platform == 'darwin'", - "python_full_version >= '3.13' and platform_machine == 'aarch64' and sys_platform == 'linux'", - "(python_full_version >= '3.13' and platform_machine != 'aarch64' and sys_platform == 'linux') or (python_full_version >= '3.13' and sys_platform != 'darwin' and sys_platform != 'linux')", - "python_full_version == '3.12.*' and sys_platform == 'darwin'", - "python_full_version == '3.12.*' and platform_machine == 'aarch64' and sys_platform == 'linux'", - "(python_full_version == '3.12.*' and platform_machine != 'aarch64' and sys_platform == 'linux') or (python_full_version == '3.12.*' and sys_platform != 'darwin' and sys_platform != 'linux')", + "python_full_version >= '3.12' and sys_platform == 'darwin'", + "python_full_version >= '3.12' and platform_machine == 'aarch64' and sys_platform == 'linux'", + "(python_full_version >= '3.12' and platform_machine != 'aarch64' and sys_platform == 'linux') or (python_full_version >= '3.12' and sys_platform != 'darwin' and sys_platform != 'linux')", "python_full_version == '3.11.*' and sys_platform == 'darwin'", "python_full_version == '3.11.*' and platform_machine == 'aarch64' and sys_platform == 'linux'", "(python_full_version == '3.11.*' and platform_machine != 'aarch64' and sys_platform == 'linux') or (python_full_version == '3.11.*' and sys_platform != 'darwin' and sys_platform != 'linux')", @@ -2367,7 +2405,7 @@ dependencies = [ { name = "fonttools", marker = "python_full_version == '3.9.*'" }, { name = "importlib-resources", version = "6.5.2", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version == '3.9.*'" }, { name = "kiwisolver", version = "1.4.7", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version == '3.9.*'" }, - { name = "numpy", version = "1.25.2", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version == '3.9.*'" }, + { name = "numpy", version = "2.0.2", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version == '3.9.*'" }, { name = "packaging", marker = "python_full_version == '3.9.*'" }, { name = "pillow", marker = "python_full_version == '3.9.*'" }, { name = "pyparsing", version = "3.2.1", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version == '3.9.*'" }, @@ -2422,12 +2460,9 @@ name = "matplotlib" version = "3.10.0" source = { registry = "https://pypi.org/simple" } resolution-markers = [ - "python_full_version >= '3.13' and sys_platform == 'darwin'", - "python_full_version >= '3.13' and platform_machine == 'aarch64' and sys_platform == 'linux'", - "(python_full_version >= '3.13' and platform_machine != 'aarch64' and sys_platform == 'linux') or (python_full_version >= '3.13' and sys_platform != 'darwin' and sys_platform != 'linux')", - "python_full_version == '3.12.*' and sys_platform == 'darwin'", - "python_full_version == '3.12.*' and platform_machine == 'aarch64' and sys_platform == 'linux'", - "(python_full_version == '3.12.*' and platform_machine != 'aarch64' and sys_platform == 'linux') or (python_full_version == '3.12.*' and sys_platform != 'darwin' and sys_platform != 'linux')", + "python_full_version >= '3.12' and sys_platform == 'darwin'", + "python_full_version >= '3.12' and platform_machine == 'aarch64' and sys_platform == 'linux'", + "(python_full_version >= '3.12' and platform_machine != 'aarch64' and sys_platform == 'linux') or (python_full_version >= '3.12' and sys_platform != 'darwin' and sys_platform != 'linux')", "python_full_version == '3.11.*' and sys_platform == 'darwin'", "python_full_version == '3.11.*' and platform_machine == 'aarch64' and sys_platform == 'linux'", "(python_full_version == '3.11.*' and platform_machine != 'aarch64' and sys_platform == 'linux') or (python_full_version == '3.11.*' and sys_platform != 'darwin' and sys_platform != 'linux')", @@ -2440,9 +2475,7 @@ dependencies = [ { name = "cycler", marker = "python_full_version >= '3.10'" }, { name = "fonttools", marker = "python_full_version >= '3.10'" }, { name = "kiwisolver", version = "1.4.8", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.10'" }, - { name = "numpy", version = "1.25.2", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.10' and python_full_version < '3.12'" }, - { name = "numpy", version = "2.0.2", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version == '3.12.*'" }, - { name = "numpy", version = "2.2.1", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.13'" }, + { name = "numpy", version = "2.2.2", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.10'" }, { name = "packaging", marker = "python_full_version >= '3.10'" }, { name = "pillow", marker = "python_full_version >= '3.10'" }, { name = "pyparsing", version = "3.2.1", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.10'" }, @@ -2532,7 +2565,8 @@ name = "mike" version = "2.1.3" source = { registry = "https://pypi.org/simple" } dependencies = [ - { name = "importlib-metadata" }, + { name = "importlib-metadata", version = "8.5.0", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.9'" }, + { name = "importlib-metadata", version = "8.6.1", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.9'" }, { name = "importlib-resources", version = "6.4.5", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.9'" }, { name = "importlib-resources", version = "6.5.2", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.9'" }, { name = "jinja2" }, @@ -2550,14 +2584,14 @@ wheels = [ [[package]] name = "mistune" -version = "3.1.0" +version = "3.1.1" source = { registry = "https://pypi.org/simple" } dependencies = [ { name = "typing-extensions", marker = "python_full_version < '3.11'" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/79/6e/96fc7cb3288666c5de2c396eb0e338dc95f7a8e4920e43e38783a22d0084/mistune-3.1.0.tar.gz", hash = "sha256:dbcac2f78292b9dc066cd03b7a3a26b62d85f8159f2ea5fd28e55df79908d667", size = 94401 } +sdist = { url = "https://files.pythonhosted.org/packages/c6/1d/6b2b634e43bacc3239006e61800676aa6c41ac1836b2c57497ed27a7310b/mistune-3.1.1.tar.gz", hash = "sha256:e0740d635f515119f7d1feb6f9b192ee60f0cc649f80a8f944f905706a21654c", size = 94645 } wheels = [ - { url = "https://files.pythonhosted.org/packages/b4/b3/743ffc3f59da380da504d84ccd1faf9a857a1445991ff19bf2ec754163c2/mistune-3.1.0-py3-none-any.whl", hash = "sha256:b05198cf6d671b3deba6c87ec6cf0d4eb7b72c524636eddb6dbf13823b52cee1", size = 53694 }, + { url = "https://files.pythonhosted.org/packages/c6/02/c66bdfdadbb021adb642ca4e8a5ed32ada0b4a3e4b39c5d076d19543452f/mistune-3.1.1-py3-none-any.whl", hash = "sha256:02106ac2aa4f66e769debbfa028509a275069dcffce0dfa578edd7b991ee700a", size = 53696 }, ] [[package]] @@ -2568,7 +2602,8 @@ dependencies = [ { name = "click" }, { name = "colorama", marker = "sys_platform == 'win32'" }, { name = "ghp-import" }, - { name = "importlib-metadata", marker = "python_full_version < '3.10'" }, + { name = "importlib-metadata", version = "8.5.0", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.9'" }, + { name = "importlib-metadata", version = "8.6.1", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version == '3.9.*'" }, { name = "jinja2" }, { name = "markdown" }, { name = "markupsafe", version = "2.1.5", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.9'" }, @@ -2591,23 +2626,56 @@ wheels = [ name = "mkdocs-autorefs" version = "1.2.0" source = { registry = "https://pypi.org/simple" } +resolution-markers = [ + "python_full_version < '3.9' and platform_machine == 'arm64' and sys_platform == 'darwin'", + "python_full_version < '3.9' and platform_machine == 'aarch64' and sys_platform == 'linux'", + "(python_full_version < '3.9' and platform_machine != 'arm64' and sys_platform == 'darwin') or (python_full_version < '3.9' and platform_machine != 'aarch64' and sys_platform == 'linux') or (python_full_version < '3.9' and sys_platform != 'darwin' and sys_platform != 'linux')", +] dependencies = [ - { name = "markdown" }, + { name = "markdown", marker = "python_full_version < '3.9'" }, { name = "markupsafe", version = "2.1.5", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.9'" }, - { name = "markupsafe", version = "3.0.2", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.9'" }, - { name = "mkdocs" }, + { name = "mkdocs", marker = "python_full_version < '3.9'" }, ] sdist = { url = "https://files.pythonhosted.org/packages/fb/ae/0f1154c614d6a8b8a36fff084e5b82af3a15f7d2060cf0dcdb1c53297a71/mkdocs_autorefs-1.2.0.tar.gz", hash = "sha256:a86b93abff653521bda71cf3fc5596342b7a23982093915cb74273f67522190f", size = 40262 } wheels = [ { url = "https://files.pythonhosted.org/packages/71/26/4d39d52ea2219604053a4d05b98e90d6a335511cc01806436ec4886b1028/mkdocs_autorefs-1.2.0-py3-none-any.whl", hash = "sha256:d588754ae89bd0ced0c70c06f58566a4ee43471eeeee5202427da7de9ef85a2f", size = 16522 }, ] +[[package]] +name = "mkdocs-autorefs" +version = "1.3.0" +source = { registry = "https://pypi.org/simple" } +resolution-markers = [ + "python_full_version >= '3.12' and sys_platform == 'darwin'", + "python_full_version >= '3.12' and platform_machine == 'aarch64' and sys_platform == 'linux'", + "(python_full_version >= '3.12' and platform_machine != 'aarch64' and sys_platform == 'linux') or (python_full_version >= '3.12' and sys_platform != 'darwin' and sys_platform != 'linux')", + "python_full_version == '3.11.*' and sys_platform == 'darwin'", + "python_full_version == '3.11.*' and platform_machine == 'aarch64' and sys_platform == 'linux'", + "(python_full_version == '3.11.*' and platform_machine != 'aarch64' and sys_platform == 'linux') or (python_full_version == '3.11.*' and sys_platform != 'darwin' and sys_platform != 'linux')", + "python_full_version == '3.10.*' and sys_platform == 'darwin'", + "python_full_version == '3.10.*' and platform_machine == 'aarch64' and sys_platform == 'linux'", + "(python_full_version == '3.10.*' and platform_machine != 'aarch64' and sys_platform == 'linux') or (python_full_version == '3.10.*' and sys_platform != 'darwin' and sys_platform != 'linux')", + "python_full_version == '3.9.*' and platform_machine == 'arm64' and sys_platform == 'darwin'", + "python_full_version == '3.9.*' and platform_machine == 'aarch64' and sys_platform == 'linux'", + "(python_full_version == '3.9.*' and platform_machine != 'arm64' and sys_platform == 'darwin') or (python_full_version == '3.9.*' and platform_machine != 'aarch64' and sys_platform == 'linux') or (python_full_version == '3.9.*' and sys_platform != 'darwin' and sys_platform != 'linux')", +] +dependencies = [ + { name = "markdown", marker = "python_full_version >= '3.9'" }, + { name = "markupsafe", version = "3.0.2", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.9'" }, + { name = "mkdocs", marker = "python_full_version >= '3.9'" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/fe/18/fb1e17fb705228b51bf7b2f791adaf83c0fa708e51bbc003411ba48ae21e/mkdocs_autorefs-1.3.0.tar.gz", hash = "sha256:6867764c099ace9025d6ac24fd07b85a98335fbd30107ef01053697c8f46db61", size = 42597 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/f4/4a/960c441950f98becfa5dd419adab20274939fd575ab848aee2c87e3599ac/mkdocs_autorefs-1.3.0-py3-none-any.whl", hash = "sha256:d180f9778a04e78b7134e31418f238bba56f56d6a8af97873946ff661befffb3", size = 17642 }, +] + [[package]] name = "mkdocs-get-deps" version = "0.2.0" source = { registry = "https://pypi.org/simple" } dependencies = [ - { name = "importlib-metadata", marker = "python_full_version < '3.10'" }, + { name = "importlib-metadata", version = "8.5.0", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.9'" }, + { name = "importlib-metadata", version = "8.6.1", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version == '3.9.*'" }, { name = "mergedeep" }, { name = "platformdirs" }, { name = "pyyaml" }, @@ -2619,16 +2687,16 @@ wheels = [ [[package]] name = "mkdocs-git-committers-plugin-2" -version = "2.4.1" +version = "2.5.0" source = { registry = "https://pypi.org/simple" } dependencies = [ { name = "gitpython" }, { name = "mkdocs" }, { name = "requests" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/36/4a/783d1c2683bc577bfe875646ce68bc9e0d845d0817a96f2a057033fdc64e/mkdocs_git_committers_plugin_2-2.4.1.tar.gz", hash = "sha256:ea1f80a79cedc42289e0b8e973276df04fb94f56e0ae3efc5385fb28547cf5cb", size = 14924 } +sdist = { url = "https://files.pythonhosted.org/packages/b4/8a/4ca4fb7d17f66fa709b49744c597204ad03fb3b011c76919564843426f11/mkdocs_git_committers_plugin_2-2.5.0.tar.gz", hash = "sha256:a01f17369e79ca28651681cddf212770e646e6191954bad884ca3067316aae60", size = 15183 } wheels = [ - { url = "https://files.pythonhosted.org/packages/7d/a7/1f5ea492f6b441fa84157608608a8d211bea322ecc0957e738b83e22cb0c/mkdocs_git_committers_plugin_2-2.4.1-py3-none-any.whl", hash = "sha256:ec9c1d81445606c471337d1c4a1782c643b7377077b545279dc18b86b7362c6d", size = 11614 }, + { url = "https://files.pythonhosted.org/packages/8e/f5/768590251839a148c188d64779b809bde0e78a306295c18fc29d7fc71ce1/mkdocs_git_committers_plugin_2-2.5.0-py3-none-any.whl", hash = "sha256:1778becf98ccdc5fac809ac7b62cf01d3c67d6e8432723dffbb823307d1193c4", size = 11788 }, ] [[package]] @@ -2673,12 +2741,9 @@ name = "mkdocs-jupyter" version = "0.25.1" source = { registry = "https://pypi.org/simple" } resolution-markers = [ - "python_full_version >= '3.13' and sys_platform == 'darwin'", - "python_full_version >= '3.13' and platform_machine == 'aarch64' and sys_platform == 'linux'", - "(python_full_version >= '3.13' and platform_machine != 'aarch64' and sys_platform == 'linux') or (python_full_version >= '3.13' and sys_platform != 'darwin' and sys_platform != 'linux')", - "python_full_version == '3.12.*' and sys_platform == 'darwin'", - "python_full_version == '3.12.*' and platform_machine == 'aarch64' and sys_platform == 'linux'", - "(python_full_version == '3.12.*' and platform_machine != 'aarch64' and sys_platform == 'linux') or (python_full_version == '3.12.*' and sys_platform != 'darwin' and sys_platform != 'linux')", + "python_full_version >= '3.12' and sys_platform == 'darwin'", + "python_full_version >= '3.12' and platform_machine == 'aarch64' and sys_platform == 'linux'", + "(python_full_version >= '3.12' and platform_machine != 'aarch64' and sys_platform == 'linux') or (python_full_version >= '3.12' and sys_platform != 'darwin' and sys_platform != 'linux')", "python_full_version == '3.11.*' and sys_platform == 'darwin'", "python_full_version == '3.11.*' and platform_machine == 'aarch64' and sys_platform == 'linux'", "(python_full_version == '3.11.*' and platform_machine != 'aarch64' and sys_platform == 'linux') or (python_full_version == '3.11.*' and sys_platform != 'darwin' and sys_platform != 'linux')", @@ -2704,7 +2769,7 @@ wheels = [ [[package]] name = "mkdocs-material" -version = "9.5.49" +version = "9.6.3" source = { registry = "https://pypi.org/simple" } dependencies = [ { name = "babel" }, @@ -2719,9 +2784,9 @@ dependencies = [ { name = "regex" }, { name = "requests" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/e2/14/8daeeecee2e25bd84239a843fdcb92b20db88ebbcb26e0d32f414ca54a22/mkdocs_material-9.5.49.tar.gz", hash = "sha256:3671bb282b4f53a1c72e08adbe04d2481a98f85fed392530051f80ff94a9621d", size = 3949559 } +sdist = { url = "https://files.pythonhosted.org/packages/0f/1e/65b4fda4debf5e337b2ad4e692423dba4f5c77f49c4dee170c47a7dbac25/mkdocs_material-9.6.3.tar.gz", hash = "sha256:c87f7d1c39ce6326da5e10e232aed51bae46252e646755900f4b0fc9192fa832", size = 3942608 } wheels = [ - { url = "https://files.pythonhosted.org/packages/fc/2d/2dd23a36b48421db54f118bb6f6f733dbe2d5c78fe7867375e48649fd3df/mkdocs_material-9.5.49-py3-none-any.whl", hash = "sha256:c3c2d8176b18198435d3a3e119011922f3e11424074645c24019c2dcf08a360e", size = 8684098 }, + { url = "https://files.pythonhosted.org/packages/11/a4/e0da0bc6a7dbfda6a786427f82a0caa4dd1f163249a5a5e5dccbb50c5f1e/mkdocs_material-9.6.3-py3-none-any.whl", hash = "sha256:1125622067e26940806701219303b27c0933e04533560725d97ec26fd16a39cf", size = 8688709 }, ] [package.optional-dependencies] @@ -2750,12 +2815,12 @@ resolution-markers = [ ] dependencies = [ { name = "click", marker = "python_full_version < '3.9'" }, - { name = "importlib-metadata", marker = "python_full_version < '3.9'" }, + { name = "importlib-metadata", version = "8.5.0", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.9'" }, { name = "jinja2", marker = "python_full_version < '3.9'" }, { name = "markdown", marker = "python_full_version < '3.9'" }, { name = "markupsafe", version = "2.1.5", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.9'" }, { name = "mkdocs", marker = "python_full_version < '3.9'" }, - { name = "mkdocs-autorefs", marker = "python_full_version < '3.9'" }, + { name = "mkdocs-autorefs", version = "1.2.0", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.9'" }, { name = "platformdirs", marker = "python_full_version < '3.9'" }, { name = "pymdown-extensions", marker = "python_full_version < '3.9'" }, { name = "typing-extensions", marker = "python_full_version < '3.9'" }, @@ -2770,12 +2835,9 @@ name = "mkdocstrings" version = "0.26.2" source = { registry = "https://pypi.org/simple" } resolution-markers = [ - "python_full_version >= '3.13' and sys_platform == 'darwin'", - "python_full_version >= '3.13' and platform_machine == 'aarch64' and sys_platform == 'linux'", - "(python_full_version >= '3.13' and platform_machine != 'aarch64' and sys_platform == 'linux') or (python_full_version >= '3.13' and sys_platform != 'darwin' and sys_platform != 'linux')", - "python_full_version == '3.12.*' and sys_platform == 'darwin'", - "python_full_version == '3.12.*' and platform_machine == 'aarch64' and sys_platform == 'linux'", - "(python_full_version == '3.12.*' and platform_machine != 'aarch64' and sys_platform == 'linux') or (python_full_version == '3.12.*' and sys_platform != 'darwin' and sys_platform != 'linux')", + "python_full_version >= '3.12' and sys_platform == 'darwin'", + "python_full_version >= '3.12' and platform_machine == 'aarch64' and sys_platform == 'linux'", + "(python_full_version >= '3.12' and platform_machine != 'aarch64' and sys_platform == 'linux') or (python_full_version >= '3.12' and sys_platform != 'darwin' and sys_platform != 'linux')", "python_full_version == '3.11.*' and sys_platform == 'darwin'", "python_full_version == '3.11.*' and platform_machine == 'aarch64' and sys_platform == 'linux'", "(python_full_version == '3.11.*' and platform_machine != 'aarch64' and sys_platform == 'linux') or (python_full_version == '3.11.*' and sys_platform != 'darwin' and sys_platform != 'linux')", @@ -2788,12 +2850,12 @@ resolution-markers = [ ] dependencies = [ { name = "click", marker = "python_full_version >= '3.9'" }, - { name = "importlib-metadata", marker = "python_full_version == '3.9.*'" }, + { name = "importlib-metadata", version = "8.6.1", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version == '3.9.*'" }, { name = "jinja2", marker = "python_full_version >= '3.9'" }, { name = "markdown", marker = "python_full_version >= '3.9'" }, { name = "markupsafe", version = "3.0.2", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.9'" }, { name = "mkdocs", marker = "python_full_version >= '3.9'" }, - { name = "mkdocs-autorefs", marker = "python_full_version >= '3.9'" }, + { name = "mkdocs-autorefs", version = "1.3.0", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.9'" }, { name = "platformdirs", marker = "python_full_version >= '3.9'" }, { name = "pymdown-extensions", marker = "python_full_version >= '3.9'" }, { name = "typing-extensions", marker = "python_full_version == '3.9.*'" }, @@ -2814,7 +2876,7 @@ resolution-markers = [ ] dependencies = [ { name = "griffe", version = "1.4.0", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.9'" }, - { name = "mkdocs-autorefs", marker = "python_full_version < '3.9'" }, + { name = "mkdocs-autorefs", version = "1.2.0", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.9'" }, { name = "mkdocstrings", version = "0.26.1", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.9'" }, ] sdist = { url = "https://files.pythonhosted.org/packages/fc/ba/534c934cd0a809f51c91332d6ed278782ee4126b8ba8db02c2003f162b47/mkdocstrings_python-1.11.1.tar.gz", hash = "sha256:8824b115c5359304ab0b5378a91f6202324a849e1da907a3485b59208b797322", size = 166890 } @@ -2827,12 +2889,9 @@ name = "mkdocstrings-python" version = "1.13.0" source = { registry = "https://pypi.org/simple" } resolution-markers = [ - "python_full_version >= '3.13' and sys_platform == 'darwin'", - "python_full_version >= '3.13' and platform_machine == 'aarch64' and sys_platform == 'linux'", - "(python_full_version >= '3.13' and platform_machine != 'aarch64' and sys_platform == 'linux') or (python_full_version >= '3.13' and sys_platform != 'darwin' and sys_platform != 'linux')", - "python_full_version == '3.12.*' and sys_platform == 'darwin'", - "python_full_version == '3.12.*' and platform_machine == 'aarch64' and sys_platform == 'linux'", - "(python_full_version == '3.12.*' and platform_machine != 'aarch64' and sys_platform == 'linux') or (python_full_version == '3.12.*' and sys_platform != 'darwin' and sys_platform != 'linux')", + "python_full_version >= '3.12' and sys_platform == 'darwin'", + "python_full_version >= '3.12' and platform_machine == 'aarch64' and sys_platform == 'linux'", + "(python_full_version >= '3.12' and platform_machine != 'aarch64' and sys_platform == 'linux') or (python_full_version >= '3.12' and sys_platform != 'darwin' and sys_platform != 'linux')", "python_full_version == '3.11.*' and sys_platform == 'darwin'", "python_full_version == '3.11.*' and platform_machine == 'aarch64' and sys_platform == 'linux'", "(python_full_version == '3.11.*' and platform_machine != 'aarch64' and sys_platform == 'linux') or (python_full_version == '3.11.*' and sys_platform != 'darwin' and sys_platform != 'linux')", @@ -2844,8 +2903,8 @@ resolution-markers = [ "(python_full_version == '3.9.*' and platform_machine != 'arm64' and sys_platform == 'darwin') or (python_full_version == '3.9.*' and platform_machine != 'aarch64' and sys_platform == 'linux') or (python_full_version == '3.9.*' and sys_platform != 'darwin' and sys_platform != 'linux')", ] dependencies = [ - { name = "griffe", version = "1.5.4", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.9'" }, - { name = "mkdocs-autorefs", marker = "python_full_version >= '3.9'" }, + { name = "griffe", version = "1.5.6", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.9'" }, + { name = "mkdocs-autorefs", version = "1.3.0", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.9'" }, { name = "mkdocstrings", version = "0.26.2", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.9'" }, ] sdist = { url = "https://files.pythonhosted.org/packages/ab/ae/32703e35d74040051c672400fd9f5f2b48a6ea094f5071dd8a0e3be35322/mkdocstrings_python-1.13.0.tar.gz", hash = "sha256:2dbd5757e8375b9720e81db16f52f1856bf59905428fd7ef88005d1370e2f64c", size = 185697 } @@ -2857,11 +2916,39 @@ wheels = [ name = "more-itertools" version = "10.5.0" source = { registry = "https://pypi.org/simple" } +resolution-markers = [ + "python_full_version < '3.9' and platform_machine == 'arm64' and sys_platform == 'darwin'", + "python_full_version < '3.9' and platform_machine == 'aarch64' and sys_platform == 'linux'", + "(python_full_version < '3.9' and platform_machine != 'arm64' and sys_platform == 'darwin') or (python_full_version < '3.9' and platform_machine != 'aarch64' and sys_platform == 'linux') or (python_full_version < '3.9' and sys_platform != 'darwin' and sys_platform != 'linux')", +] sdist = { url = "https://files.pythonhosted.org/packages/51/78/65922308c4248e0eb08ebcbe67c95d48615cc6f27854b6f2e57143e9178f/more-itertools-10.5.0.tar.gz", hash = "sha256:5482bfef7849c25dc3c6dd53a6173ae4795da2a41a80faea6700d9f5846c5da6", size = 121020 } wheels = [ { url = "https://files.pythonhosted.org/packages/48/7e/3a64597054a70f7c86eb0a7d4fc315b8c1ab932f64883a297bdffeb5f967/more_itertools-10.5.0-py3-none-any.whl", hash = "sha256:037b0d3203ce90cca8ab1defbbdac29d5f993fc20131f3664dc8d6acfa872aef", size = 60952 }, ] +[[package]] +name = "more-itertools" +version = "10.6.0" +source = { registry = "https://pypi.org/simple" } +resolution-markers = [ + "python_full_version >= '3.12' and sys_platform == 'darwin'", + "python_full_version >= '3.12' and platform_machine == 'aarch64' and sys_platform == 'linux'", + "(python_full_version >= '3.12' and platform_machine != 'aarch64' and sys_platform == 'linux') or (python_full_version >= '3.12' and sys_platform != 'darwin' and sys_platform != 'linux')", + "python_full_version == '3.11.*' and sys_platform == 'darwin'", + "python_full_version == '3.11.*' and platform_machine == 'aarch64' and sys_platform == 'linux'", + "(python_full_version == '3.11.*' and platform_machine != 'aarch64' and sys_platform == 'linux') or (python_full_version == '3.11.*' and sys_platform != 'darwin' and sys_platform != 'linux')", + "python_full_version == '3.10.*' and sys_platform == 'darwin'", + "python_full_version == '3.10.*' and platform_machine == 'aarch64' and sys_platform == 'linux'", + "(python_full_version == '3.10.*' and platform_machine != 'aarch64' and sys_platform == 'linux') or (python_full_version == '3.10.*' and sys_platform != 'darwin' and sys_platform != 'linux')", + "python_full_version == '3.9.*' and platform_machine == 'arm64' and sys_platform == 'darwin'", + "python_full_version == '3.9.*' and platform_machine == 'aarch64' and sys_platform == 'linux'", + "(python_full_version == '3.9.*' and platform_machine != 'arm64' and sys_platform == 'darwin') or (python_full_version == '3.9.*' and platform_machine != 'aarch64' and sys_platform == 'linux') or (python_full_version == '3.9.*' and sys_platform != 'darwin' and sys_platform != 'linux')", +] +sdist = { url = "https://files.pythonhosted.org/packages/88/3b/7fa1fe835e2e93fd6d7b52b2f95ae810cf5ba133e1845f726f5a992d62c2/more-itertools-10.6.0.tar.gz", hash = "sha256:2cd7fad1009c31cc9fb6a035108509e6547547a7a738374f10bd49a09eb3ee3b", size = 125009 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/23/62/0fe302c6d1be1c777cab0616e6302478251dfbf9055ad426f5d0def75c89/more_itertools-10.6.0-py3-none-any.whl", hash = "sha256:6eb054cb4b6db1473f6e15fcc676a08e4732548acd47c708f0e179c2c7c01e89", size = 63038 }, +] + [[package]] name = "nbclient" version = "0.10.1" @@ -2887,12 +2974,9 @@ name = "nbclient" version = "0.10.2" source = { registry = "https://pypi.org/simple" } resolution-markers = [ - "python_full_version >= '3.13' and sys_platform == 'darwin'", - "python_full_version >= '3.13' and platform_machine == 'aarch64' and sys_platform == 'linux'", - "(python_full_version >= '3.13' and platform_machine != 'aarch64' and sys_platform == 'linux') or (python_full_version >= '3.13' and sys_platform != 'darwin' and sys_platform != 'linux')", - "python_full_version == '3.12.*' and sys_platform == 'darwin'", - "python_full_version == '3.12.*' and platform_machine == 'aarch64' and sys_platform == 'linux'", - "(python_full_version == '3.12.*' and platform_machine != 'aarch64' and sys_platform == 'linux') or (python_full_version == '3.12.*' and sys_platform != 'darwin' and sys_platform != 'linux')", + "python_full_version >= '3.12' and sys_platform == 'darwin'", + "python_full_version >= '3.12' and platform_machine == 'aarch64' and sys_platform == 'linux'", + "(python_full_version >= '3.12' and platform_machine != 'aarch64' and sys_platform == 'linux') or (python_full_version >= '3.12' and sys_platform != 'darwin' and sys_platform != 'linux')", "python_full_version == '3.11.*' and sys_platform == 'darwin'", "python_full_version == '3.11.*' and platform_machine == 'aarch64' and sys_platform == 'linux'", "(python_full_version == '3.11.*' and platform_machine != 'aarch64' and sys_platform == 'linux') or (python_full_version == '3.11.*' and sys_platform != 'darwin' and sys_platform != 'linux')", @@ -2916,14 +3000,15 @@ wheels = [ [[package]] name = "nbconvert" -version = "7.16.5" +version = "7.16.6" source = { registry = "https://pypi.org/simple" } dependencies = [ { name = "beautifulsoup4" }, { name = "bleach", version = "6.1.0", source = { registry = "https://pypi.org/simple" }, extra = ["css"], marker = "python_full_version < '3.9'" }, { name = "bleach", version = "6.2.0", source = { registry = "https://pypi.org/simple" }, extra = ["css"], marker = "python_full_version >= '3.9'" }, { name = "defusedxml" }, - { name = "importlib-metadata", marker = "python_full_version < '3.10'" }, + { name = "importlib-metadata", version = "8.5.0", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.9'" }, + { name = "importlib-metadata", version = "8.6.1", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version == '3.9.*'" }, { name = "jinja2" }, { name = "jupyter-core" }, { name = "jupyterlab-pygments" }, @@ -2938,9 +3023,9 @@ dependencies = [ { name = "pygments" }, { name = "traitlets" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/46/2c/d026c0367f2be2463d4c2f5b538e28add2bc67bc13730abb7f364ae4eb8b/nbconvert-7.16.5.tar.gz", hash = "sha256:c83467bb5777fdfaac5ebbb8e864f300b277f68692ecc04d6dab72f2d8442344", size = 856367 } +sdist = { url = "https://files.pythonhosted.org/packages/a3/59/f28e15fc47ffb73af68a8d9b47367a8630d76e97ae85ad18271b9db96fdf/nbconvert-7.16.6.tar.gz", hash = "sha256:576a7e37c6480da7b8465eefa66c17844243816ce1ccc372633c6b71c3c0f582", size = 857715 } wheels = [ - { url = "https://files.pythonhosted.org/packages/8f/9e/2dcc9fe00cf55d95a8deae69384e9cea61816126e345754f6c75494d32ec/nbconvert-7.16.5-py3-none-any.whl", hash = "sha256:e12eac052d6fd03040af4166c563d76e7aeead2e9aadf5356db552a1784bd547", size = 258061 }, + { url = "https://files.pythonhosted.org/packages/cc/9a/cd673b2f773a12c992f41309ef81b99da1690426bd2f96957a7ade0d3ed7/nbconvert-7.16.6-py3-none-any.whl", hash = "sha256:1375a7b67e0c2883678c48e506dc320febb57685e5ee67faa51b18a90f3a712b", size = 258525 }, ] [[package]] @@ -3070,56 +3155,13 @@ wheels = [ [[package]] name = "numpy" -version = "1.25.2" +version = "2.0.2" source = { registry = "https://pypi.org/simple" } resolution-markers = [ - "python_full_version == '3.11.*' and sys_platform == 'darwin'", - "python_full_version == '3.11.*' and platform_machine == 'aarch64' and sys_platform == 'linux'", - "(python_full_version == '3.11.*' and platform_machine != 'aarch64' and sys_platform == 'linux') or (python_full_version == '3.11.*' and sys_platform != 'darwin' and sys_platform != 'linux')", - "python_full_version == '3.10.*' and sys_platform == 'darwin'", - "python_full_version == '3.10.*' and platform_machine == 'aarch64' and sys_platform == 'linux'", - "(python_full_version == '3.10.*' and platform_machine != 'aarch64' and sys_platform == 'linux') or (python_full_version == '3.10.*' and sys_platform != 'darwin' and sys_platform != 'linux')", "python_full_version == '3.9.*' and platform_machine == 'arm64' and sys_platform == 'darwin'", "python_full_version == '3.9.*' and platform_machine == 'aarch64' and sys_platform == 'linux'", "(python_full_version == '3.9.*' and platform_machine != 'arm64' and sys_platform == 'darwin') or (python_full_version == '3.9.*' and platform_machine != 'aarch64' and sys_platform == 'linux') or (python_full_version == '3.9.*' and sys_platform != 'darwin' and sys_platform != 'linux')", ] -sdist = { url = "https://files.pythonhosted.org/packages/a0/41/8f53eff8e969dd8576ddfb45e7ed315407d27c7518ae49418be8ed532b07/numpy-1.25.2.tar.gz", hash = "sha256:fd608e19c8d7c55021dffd43bfe5492fab8cc105cc8986f813f8c3c048b38760", size = 10805282 } -wheels = [ - { url = "https://files.pythonhosted.org/packages/d5/50/8aedb5ff1460e7c8527af15c6326115009e7c270ec705487155b779ebabb/numpy-1.25.2-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:db3ccc4e37a6873045580d413fe79b68e47a681af8db2e046f1dacfa11f86eb3", size = 20814934 }, - { url = "https://files.pythonhosted.org/packages/c3/ea/1d95b399078ecaa7b5d791e1fdbb3aee272077d9fd5fb499593c87dec5ea/numpy-1.25.2-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:90319e4f002795ccfc9050110bbbaa16c944b1c37c0baeea43c5fb881693ae1f", size = 13994425 }, - { url = "https://files.pythonhosted.org/packages/b1/39/3f88e2bfac1fb510c112dc0c78a1e7cad8f3a2d75e714d1484a044c56682/numpy-1.25.2-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:dfe4a913e29b418d096e696ddd422d8a5d13ffba4ea91f9f60440a3b759b0187", size = 14167163 }, - { url = "https://files.pythonhosted.org/packages/71/3c/3b1981c6a1986adc9ee7db760c0c34ea5b14ac3da9ecfcf1ea2a4ec6c398/numpy-1.25.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f08f2e037bba04e707eebf4bc934f1972a315c883a9e0ebfa8a7756eabf9e357", size = 18219190 }, - { url = "https://files.pythonhosted.org/packages/73/6f/2a0d0ad31a588d303178d494787f921c246c6234eccced236866bc1beaa5/numpy-1.25.2-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:bec1e7213c7cb00d67093247f8c4db156fd03075f49876957dca4711306d39c9", size = 18068385 }, - { url = "https://files.pythonhosted.org/packages/63/bd/a1c256cdea5d99e2f7e1acc44fc287455420caeb2e97d43ff0dda908fae8/numpy-1.25.2-cp310-cp310-win32.whl", hash = "sha256:7dc869c0c75988e1c693d0e2d5b26034644399dd929bc049db55395b1379e044", size = 12661360 }, - { url = "https://files.pythonhosted.org/packages/b7/db/4d37359e2c9cf8bf071c08b8a6f7374648a5ab2e76e2e22e3b808f81d507/numpy-1.25.2-cp310-cp310-win_amd64.whl", hash = "sha256:834b386f2b8210dca38c71a6e0f4fd6922f7d3fcff935dbe3a570945acb1b545", size = 15554633 }, - { url = "https://files.pythonhosted.org/packages/c9/57/3cb8131a0e6d559501e088d3e685f4122e9ff9104c4b63e4dfd3a577b491/numpy-1.25.2-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:c5462d19336db4560041517dbb7759c21d181a67cb01b36ca109b2ae37d32418", size = 20801693 }, - { url = "https://files.pythonhosted.org/packages/86/a1/b8ef999c32f26a97b5f714887e21f96c12ae99a38583a0a96e65283ac0a1/numpy-1.25.2-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:c5652ea24d33585ea39eb6a6a15dac87a1206a692719ff45d53c5282e66d4a8f", size = 14004130 }, - { url = "https://files.pythonhosted.org/packages/50/67/3e966d99a07d60a21a21d7ec016e9e4c2642a86fea251ec68677daf71d4d/numpy-1.25.2-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:0d60fbae8e0019865fc4784745814cff1c421df5afee233db6d88ab4f14655a2", size = 14158219 }, - { url = "https://files.pythonhosted.org/packages/32/6a/65dbc57a89078af9ff8bfcd4c0761a50172d90192eaeb1b6f56e5fbf1c3d/numpy-1.25.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:60e7f0f7f6d0eee8364b9a6304c2845b9c491ac706048c7e8cf47b83123b8dbf", size = 18209344 }, - { url = "https://files.pythonhosted.org/packages/cd/fe/e900cb2ebafae04b7570081cefc65b6fdd9e202b9b353572506cea5cafdf/numpy-1.25.2-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:bb33d5a1cf360304754913a350edda36d5b8c5331a8237268c48f91253c3a364", size = 18072378 }, - { url = "https://files.pythonhosted.org/packages/5c/e4/990c6cb09f2cd1a3f53bcc4e489dad903faa01b058b625d84bb62d2e9391/numpy-1.25.2-cp311-cp311-win32.whl", hash = "sha256:5883c06bb92f2e6c8181df7b39971a5fb436288db58b5a1c3967702d4278691d", size = 12654351 }, - { url = "https://files.pythonhosted.org/packages/72/b2/02770e60c4e2f7e158d923ab0dea4e9f146a2dbf267fec6d8dc61d475689/numpy-1.25.2-cp311-cp311-win_amd64.whl", hash = "sha256:5c97325a0ba6f9d041feb9390924614b60b99209a71a69c876f71052521d42a4", size = 15546748 }, - { url = "https://files.pythonhosted.org/packages/8b/d9/22c304cd123e0a1b7d89213e50ed6ec4b22f07f1117d64d28f81c08be428/numpy-1.25.2-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:b79e513d7aac42ae918db3ad1341a015488530d0bb2a6abcbdd10a3a829ccfd3", size = 20847260 }, - { url = "https://files.pythonhosted.org/packages/0f/a8/5057b97c395a710999b5697ffedd648caee82c24a29595952d26bd750155/numpy-1.25.2-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:eb942bfb6f84df5ce05dbf4b46673ffed0d3da59f13635ea9b926af3deb76926", size = 14022126 }, - { url = "https://files.pythonhosted.org/packages/6d/b6/94a587cd64ef090f844ab1d8c8f1af44d07be7387f5f1a40eb729a0ff9c9/numpy-1.25.2-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:3e0746410e73384e70d286f93abf2520035250aad8c5714240b0492a7302fdca", size = 14206441 }, - { url = "https://files.pythonhosted.org/packages/69/1f/c95b1108a9972a52d7b1b63ed8ca70466b59b8c1811bd121f1e667cc45d8/numpy-1.25.2-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:d7806500e4f5bdd04095e849265e55de20d8cc4b661b038957354327f6d9b295", size = 18263142 }, - { url = "https://files.pythonhosted.org/packages/d3/76/fe6b9e75883d1f2bd3cd27cbc7307ec99a0cc76fa941937c177f464fd60a/numpy-1.25.2-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:8b77775f4b7df768967a7c8b3567e309f617dd5e99aeb886fa14dc1a0791141f", size = 18102143 }, - { url = "https://files.pythonhosted.org/packages/81/e3/f562c2d76af16c1d79e73de04f9d08e5a7fd0e50ae12692acd4dbd2501f7/numpy-1.25.2-cp39-cp39-win32.whl", hash = "sha256:2792d23d62ec51e50ce4d4b7d73de8f67a2fd3ea710dcbc8563a51a03fb07b01", size = 12689997 }, - { url = "https://files.pythonhosted.org/packages/df/18/181fb40f03090c6fbd061bb8b1f4c32453f7c602b0dc7c08b307baca7cd7/numpy-1.25.2-cp39-cp39-win_amd64.whl", hash = "sha256:76b4115d42a7dfc5d485d358728cdd8719be33cc5ec6ec08632a5d6fca2ed380", size = 15581137 }, - { url = "https://files.pythonhosted.org/packages/11/58/e921b73d1a181d49fc5a797f5151b7be78cbc5b4483f8f6042e295b85c01/numpy-1.25.2-pp39-pypy39_pp73-macosx_10_9_x86_64.whl", hash = "sha256:1a1329e26f46230bf77b02cc19e900db9b52f398d6722ca853349a782d4cff55", size = 20168999 }, - { url = "https://files.pythonhosted.org/packages/2c/53/9a023f6960ea6c8f66eafae774ba7ab1700fd987158df5aa9dbb28f98f8b/numpy-1.25.2-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:4c3abc71e8b6edba80a01a52e66d83c5d14433cbcd26a40c329ec7ed09f37901", size = 17618771 }, - { url = "https://files.pythonhosted.org/packages/2d/2a/5d85ca5d889363ffdec3e3258c7bacdc655801787d004a55e04cf19eeb4a/numpy-1.25.2-pp39-pypy39_pp73-win_amd64.whl", hash = "sha256:1b9735c27cea5d995496f46a8b1cd7b408b3f34b6d50459d9ac8fe3a20cc17bf", size = 15442128 }, -] - -[[package]] -name = "numpy" -version = "2.0.2" -source = { registry = "https://pypi.org/simple" } -resolution-markers = [ - "python_full_version == '3.12.*' and sys_platform == 'darwin'", - "python_full_version == '3.12.*' and platform_machine == 'aarch64' and sys_platform == 'linux'", - "(python_full_version == '3.12.*' and platform_machine != 'aarch64' and sys_platform == 'linux') or (python_full_version == '3.12.*' and sys_platform != 'darwin' and sys_platform != 'linux')", -] sdist = { url = "https://files.pythonhosted.org/packages/a9/75/10dd1f8116a8b796cb2c737b674e02d02e80454bda953fa7e65d8c12b016/numpy-2.0.2.tar.gz", hash = "sha256:883c987dee1880e2a864ab0dc9892292582510604156762362d9326444636e78", size = 18902015 } wheels = [ { url = "https://files.pythonhosted.org/packages/21/91/3495b3237510f79f5d81f2508f9f13fea78ebfdf07538fc7444badda173d/numpy-2.0.2-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:51129a29dbe56f9ca83438b706e2e69a39892b5eda6cedcb6b0c9fdc9b0d3ece", size = 21165245 }, @@ -3170,89 +3212,94 @@ wheels = [ [[package]] name = "numpy" -version = "2.2.1" +version = "2.2.2" source = { registry = "https://pypi.org/simple" } resolution-markers = [ - "python_full_version >= '3.13' and sys_platform == 'darwin'", - "python_full_version >= '3.13' and platform_machine == 'aarch64' and sys_platform == 'linux'", - "(python_full_version >= '3.13' and platform_machine != 'aarch64' and sys_platform == 'linux') or (python_full_version >= '3.13' and sys_platform != 'darwin' and sys_platform != 'linux')", -] -sdist = { url = "https://files.pythonhosted.org/packages/f2/a5/fdbf6a7871703df6160b5cf3dd774074b086d278172285c52c2758b76305/numpy-2.2.1.tar.gz", hash = "sha256:45681fd7128c8ad1c379f0ca0776a8b0c6583d2f69889ddac01559dfe4390918", size = 20227662 } -wheels = [ - { url = "https://files.pythonhosted.org/packages/c7/c4/5588367dc9f91e1a813beb77de46ea8cab13f778e1b3a0e661ab031aba44/numpy-2.2.1-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:5edb4e4caf751c1518e6a26a83501fda79bff41cc59dac48d70e6d65d4ec4440", size = 21213214 }, - { url = "https://files.pythonhosted.org/packages/d8/8b/32dd9f08419023a4cf856c5ad0b4eba9b830da85eafdef841a104c4fc05a/numpy-2.2.1-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:aa3017c40d513ccac9621a2364f939d39e550c542eb2a894b4c8da92b38896ab", size = 14352248 }, - { url = "https://files.pythonhosted.org/packages/84/2d/0e895d02940ba6e12389f0ab5cac5afcf8dc2dc0ade4e8cad33288a721bd/numpy-2.2.1-cp310-cp310-macosx_14_0_arm64.whl", hash = "sha256:61048b4a49b1c93fe13426e04e04fdf5a03f456616f6e98c7576144677598675", size = 5391007 }, - { url = "https://files.pythonhosted.org/packages/11/b9/7f1e64a0d46d9c2af6d17966f641fb12d5b8ea3003f31b2308f3e3b9a6aa/numpy-2.2.1-cp310-cp310-macosx_14_0_x86_64.whl", hash = "sha256:7671dc19c7019103ca44e8d94917eba8534c76133523ca8406822efdd19c9308", size = 6926174 }, - { url = "https://files.pythonhosted.org/packages/2e/8c/043fa4418bc9364e364ab7aba8ff6ef5f6b9171ade22de8fbcf0e2fa4165/numpy-2.2.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:4250888bcb96617e00bfa28ac24850a83c9f3a16db471eca2ee1f1714df0f957", size = 14330914 }, - { url = "https://files.pythonhosted.org/packages/f7/b6/d8110985501ca8912dfc1c3bbef99d66e62d487f72e46b2337494df77364/numpy-2.2.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:a7746f235c47abc72b102d3bce9977714c2444bdfaea7888d241b4c4bb6a78bf", size = 16379607 }, - { url = "https://files.pythonhosted.org/packages/e2/57/bdca9fb8bdaa810c3a4ff2eb3231379b77f618a7c0d24be9f7070db50775/numpy-2.2.1-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:059e6a747ae84fce488c3ee397cee7e5f905fd1bda5fb18c66bc41807ff119b2", size = 15541760 }, - { url = "https://files.pythonhosted.org/packages/97/55/3b9147b3cbc3b6b1abc2a411dec5337a46c873deca0dd0bf5bef9d0579cc/numpy-2.2.1-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:f62aa6ee4eb43b024b0e5a01cf65a0bb078ef8c395e8713c6e8a12a697144528", size = 18168476 }, - { url = "https://files.pythonhosted.org/packages/00/e7/7c2cde16c9b87a8e14fdd262ca7849c4681cf48c8a774505f7e6f5e3b643/numpy-2.2.1-cp310-cp310-win32.whl", hash = "sha256:48fd472630715e1c1c89bf1feab55c29098cb403cc184b4859f9c86d4fcb6a95", size = 6570985 }, - { url = "https://files.pythonhosted.org/packages/a1/a8/554b0e99fc4ac11ec481254781a10da180d0559c2ebf2c324232317349ee/numpy-2.2.1-cp310-cp310-win_amd64.whl", hash = "sha256:b541032178a718c165a49638d28272b771053f628382d5e9d1c93df23ff58dbf", size = 12913384 }, - { url = "https://files.pythonhosted.org/packages/59/14/645887347124e101d983e1daf95b48dc3e136bf8525cb4257bf9eab1b768/numpy-2.2.1-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:40f9e544c1c56ba8f1cf7686a8c9b5bb249e665d40d626a23899ba6d5d9e1484", size = 21217379 }, - { url = "https://files.pythonhosted.org/packages/9f/fd/2279000cf29f58ccfd3778cbf4670dfe3f7ce772df5e198c5abe9e88b7d7/numpy-2.2.1-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:f9b57eaa3b0cd8db52049ed0330747b0364e899e8a606a624813452b8203d5f7", size = 14388520 }, - { url = "https://files.pythonhosted.org/packages/58/b0/034eb5d5ba12d66ab658ff3455a31f20add0b78df8203c6a7451bd1bee21/numpy-2.2.1-cp311-cp311-macosx_14_0_arm64.whl", hash = "sha256:bc8a37ad5b22c08e2dbd27df2b3ef7e5c0864235805b1e718a235bcb200cf1cb", size = 5389286 }, - { url = "https://files.pythonhosted.org/packages/5d/69/6f3cccde92e82e7835fdb475c2bf439761cbf8a1daa7c07338e1e132dfec/numpy-2.2.1-cp311-cp311-macosx_14_0_x86_64.whl", hash = "sha256:9036d6365d13b6cbe8f27a0eaf73ddcc070cae584e5ff94bb45e3e9d729feab5", size = 6930345 }, - { url = "https://files.pythonhosted.org/packages/d1/72/1cd38e91ab563e67f584293fcc6aca855c9ae46dba42e6b5ff4600022899/numpy-2.2.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:51faf345324db860b515d3f364eaa93d0e0551a88d6218a7d61286554d190d73", size = 14335748 }, - { url = "https://files.pythonhosted.org/packages/f2/d4/f999444e86986f3533e7151c272bd8186c55dda554284def18557e013a2a/numpy-2.2.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:38efc1e56b73cc9b182fe55e56e63b044dd26a72128fd2fbd502f75555d92591", size = 16391057 }, - { url = "https://files.pythonhosted.org/packages/99/7b/85cef6a3ae1b19542b7afd97d0b296526b6ef9e3c43ea0c4d9c4404fb2d0/numpy-2.2.1-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:31b89fa67a8042e96715c68e071a1200c4e172f93b0fbe01a14c0ff3ff820fc8", size = 15556943 }, - { url = "https://files.pythonhosted.org/packages/69/7e/b83cc884c3508e91af78760f6b17ab46ad649831b1fa35acb3eb26d9e6d2/numpy-2.2.1-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:4c86e2a209199ead7ee0af65e1d9992d1dce7e1f63c4b9a616500f93820658d0", size = 18180785 }, - { url = "https://files.pythonhosted.org/packages/b2/9f/eb4a9a38867de059dcd4b6e18d47c3867fbd3795d4c9557bb49278f94087/numpy-2.2.1-cp311-cp311-win32.whl", hash = "sha256:b34d87e8a3090ea626003f87f9392b3929a7bbf4104a05b6667348b6bd4bf1cd", size = 6568983 }, - { url = "https://files.pythonhosted.org/packages/6d/1e/be3b9f3073da2f8c7fa361fcdc231b548266b0781029fdbaf75eeab997fd/numpy-2.2.1-cp311-cp311-win_amd64.whl", hash = "sha256:360137f8fb1b753c5cde3ac388597ad680eccbbbb3865ab65efea062c4a1fd16", size = 12917260 }, - { url = "https://files.pythonhosted.org/packages/62/12/b928871c570d4a87ab13d2cc19f8817f17e340d5481621930e76b80ffb7d/numpy-2.2.1-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:694f9e921a0c8f252980e85bce61ebbd07ed2b7d4fa72d0e4246f2f8aa6642ab", size = 20909861 }, - { url = "https://files.pythonhosted.org/packages/3d/c3/59df91ae1d8ad7c5e03efd63fd785dec62d96b0fe56d1f9ab600b55009af/numpy-2.2.1-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:3683a8d166f2692664262fd4900f207791d005fb088d7fdb973cc8d663626faa", size = 14095776 }, - { url = "https://files.pythonhosted.org/packages/af/4e/8ed5868efc8e601fb69419644a280e9c482b75691466b73bfaab7d86922c/numpy-2.2.1-cp312-cp312-macosx_14_0_arm64.whl", hash = "sha256:780077d95eafc2ccc3ced969db22377b3864e5b9a0ea5eb347cc93b3ea900315", size = 5126239 }, - { url = "https://files.pythonhosted.org/packages/1a/74/dd0bbe650d7bc0014b051f092f2de65e34a8155aabb1287698919d124d7f/numpy-2.2.1-cp312-cp312-macosx_14_0_x86_64.whl", hash = "sha256:55ba24ebe208344aa7a00e4482f65742969a039c2acfcb910bc6fcd776eb4355", size = 6659296 }, - { url = "https://files.pythonhosted.org/packages/7f/11/4ebd7a3f4a655764dc98481f97bd0a662fb340d1001be6050606be13e162/numpy-2.2.1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:9b1d07b53b78bf84a96898c1bc139ad7f10fda7423f5fd158fd0f47ec5e01ac7", size = 14047121 }, - { url = "https://files.pythonhosted.org/packages/7f/a7/c1f1d978166eb6b98ad009503e4d93a8c1962d0eb14a885c352ee0276a54/numpy-2.2.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:5062dc1a4e32a10dc2b8b13cedd58988261416e811c1dc4dbdea4f57eea61b0d", size = 16096599 }, - { url = "https://files.pythonhosted.org/packages/3d/6d/0e22afd5fcbb4d8d0091f3f46bf4e8906399c458d4293da23292c0ba5022/numpy-2.2.1-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:fce4f615f8ca31b2e61aa0eb5865a21e14f5629515c9151850aa936c02a1ee51", size = 15243932 }, - { url = "https://files.pythonhosted.org/packages/03/39/e4e5832820131ba424092b9610d996b37e5557180f8e2d6aebb05c31ae54/numpy-2.2.1-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:67d4cda6fa6ffa073b08c8372aa5fa767ceb10c9a0587c707505a6d426f4e046", size = 17861032 }, - { url = "https://files.pythonhosted.org/packages/5f/8a/3794313acbf5e70df2d5c7d2aba8718676f8d054a05abe59e48417fb2981/numpy-2.2.1-cp312-cp312-win32.whl", hash = "sha256:32cb94448be47c500d2c7a95f93e2f21a01f1fd05dd2beea1ccd049bb6001cd2", size = 6274018 }, - { url = "https://files.pythonhosted.org/packages/17/c1/c31d3637f2641e25c7a19adf2ae822fdaf4ddd198b05d79a92a9ce7cb63e/numpy-2.2.1-cp312-cp312-win_amd64.whl", hash = "sha256:ba5511d8f31c033a5fcbda22dd5c813630af98c70b2661f2d2c654ae3cdfcfc8", size = 12613843 }, - { url = "https://files.pythonhosted.org/packages/20/d6/91a26e671c396e0c10e327b763485ee295f5a5a7a48c553f18417e5a0ed5/numpy-2.2.1-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:f1d09e520217618e76396377c81fba6f290d5f926f50c35f3a5f72b01a0da780", size = 20896464 }, - { url = "https://files.pythonhosted.org/packages/8c/40/5792ccccd91d45e87d9e00033abc4f6ca8a828467b193f711139ff1f1cd9/numpy-2.2.1-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:3ecc47cd7f6ea0336042be87d9e7da378e5c7e9b3c8ad0f7c966f714fc10d821", size = 14111350 }, - { url = "https://files.pythonhosted.org/packages/c0/2a/fb0a27f846cb857cef0c4c92bef89f133a3a1abb4e16bba1c4dace2e9b49/numpy-2.2.1-cp313-cp313-macosx_14_0_arm64.whl", hash = "sha256:f419290bc8968a46c4933158c91a0012b7a99bb2e465d5ef5293879742f8797e", size = 5111629 }, - { url = "https://files.pythonhosted.org/packages/eb/e5/8e81bb9d84db88b047baf4e8b681a3e48d6390bc4d4e4453eca428ecbb49/numpy-2.2.1-cp313-cp313-macosx_14_0_x86_64.whl", hash = "sha256:5b6c390bfaef8c45a260554888966618328d30e72173697e5cabe6b285fb2348", size = 6645865 }, - { url = "https://files.pythonhosted.org/packages/7a/1a/a90ceb191dd2f9e2897c69dde93ccc2d57dd21ce2acbd7b0333e8eea4e8d/numpy-2.2.1-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:526fc406ab991a340744aad7e25251dd47a6720a685fa3331e5c59fef5282a59", size = 14043508 }, - { url = "https://files.pythonhosted.org/packages/f1/5a/e572284c86a59dec0871a49cd4e5351e20b9c751399d5f1d79628c0542cb/numpy-2.2.1-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f74e6fdeb9a265624ec3a3918430205dff1df7e95a230779746a6af78bc615af", size = 16094100 }, - { url = "https://files.pythonhosted.org/packages/0c/2c/a79d24f364788386d85899dd280a94f30b0950be4b4a545f4fa4ed1d4ca7/numpy-2.2.1-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:53c09385ff0b72ba79d8715683c1168c12e0b6e84fb0372e97553d1ea91efe51", size = 15239691 }, - { url = "https://files.pythonhosted.org/packages/cf/79/1e20fd1c9ce5a932111f964b544facc5bb9bde7865f5b42f00b4a6a9192b/numpy-2.2.1-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:f3eac17d9ec51be534685ba877b6ab5edc3ab7ec95c8f163e5d7b39859524716", size = 17856571 }, - { url = "https://files.pythonhosted.org/packages/be/5b/cc155e107f75d694f562bdc84a26cc930569f3dfdfbccb3420b626065777/numpy-2.2.1-cp313-cp313-win32.whl", hash = "sha256:9ad014faa93dbb52c80d8f4d3dcf855865c876c9660cb9bd7553843dd03a4b1e", size = 6270841 }, - { url = "https://files.pythonhosted.org/packages/44/be/0e5cd009d2162e4138d79a5afb3b5d2341f0fe4777ab6e675aa3d4a42e21/numpy-2.2.1-cp313-cp313-win_amd64.whl", hash = "sha256:164a829b6aacf79ca47ba4814b130c4020b202522a93d7bff2202bfb33b61c60", size = 12606618 }, - { url = "https://files.pythonhosted.org/packages/a8/87/04ddf02dd86fb17c7485a5f87b605c4437966d53de1e3745d450343a6f56/numpy-2.2.1-cp313-cp313t-macosx_10_13_x86_64.whl", hash = "sha256:4dfda918a13cc4f81e9118dea249e192ab167a0bb1966272d5503e39234d694e", size = 20921004 }, - { url = "https://files.pythonhosted.org/packages/6e/3e/d0e9e32ab14005425d180ef950badf31b862f3839c5b927796648b11f88a/numpy-2.2.1-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:733585f9f4b62e9b3528dd1070ec4f52b8acf64215b60a845fa13ebd73cd0712", size = 14119910 }, - { url = "https://files.pythonhosted.org/packages/b5/5b/aa2d1905b04a8fb681e08742bb79a7bddfc160c7ce8e1ff6d5c821be0236/numpy-2.2.1-cp313-cp313t-macosx_14_0_arm64.whl", hash = "sha256:89b16a18e7bba224ce5114db863e7029803c179979e1af6ad6a6b11f70545008", size = 5153612 }, - { url = "https://files.pythonhosted.org/packages/ce/35/6831808028df0648d9b43c5df7e1051129aa0d562525bacb70019c5f5030/numpy-2.2.1-cp313-cp313t-macosx_14_0_x86_64.whl", hash = "sha256:676f4eebf6b2d430300f1f4f4c2461685f8269f94c89698d832cdf9277f30b84", size = 6668401 }, - { url = "https://files.pythonhosted.org/packages/b1/38/10ef509ad63a5946cc042f98d838daebfe7eaf45b9daaf13df2086b15ff9/numpy-2.2.1-cp313-cp313t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:27f5cdf9f493b35f7e41e8368e7d7b4bbafaf9660cba53fb21d2cd174ec09631", size = 14014198 }, - { url = "https://files.pythonhosted.org/packages/df/f8/c80968ae01df23e249ee0a4487fae55a4c0fe2f838dfe9cc907aa8aea0fa/numpy-2.2.1-cp313-cp313t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:c1ad395cf254c4fbb5b2132fee391f361a6e8c1adbd28f2cd8e79308a615fe9d", size = 16076211 }, - { url = "https://files.pythonhosted.org/packages/09/69/05c169376016a0b614b432967ac46ff14269eaffab80040ec03ae1ae8e2c/numpy-2.2.1-cp313-cp313t-musllinux_1_2_aarch64.whl", hash = "sha256:08ef779aed40dbc52729d6ffe7dd51df85796a702afbf68a4f4e41fafdc8bda5", size = 15220266 }, - { url = "https://files.pythonhosted.org/packages/f1/ff/94a4ce67ea909f41cf7ea712aebbe832dc67decad22944a1020bb398a5ee/numpy-2.2.1-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:26c9c4382b19fcfbbed3238a14abf7ff223890ea1936b8890f058e7ba35e8d71", size = 17852844 }, - { url = "https://files.pythonhosted.org/packages/46/72/8a5dbce4020dfc595592333ef2fbb0a187d084ca243b67766d29d03e0096/numpy-2.2.1-cp313-cp313t-win32.whl", hash = "sha256:93cf4e045bae74c90ca833cba583c14b62cb4ba2cba0abd2b141ab52548247e2", size = 6326007 }, - { url = "https://files.pythonhosted.org/packages/7b/9c/4fce9cf39dde2562584e4cfd351a0140240f82c0e3569ce25a250f47037d/numpy-2.2.1-cp313-cp313t-win_amd64.whl", hash = "sha256:bff7d8ec20f5f42607599f9994770fa65d76edca264a87b5e4ea5629bce12268", size = 12693107 }, - { url = "https://files.pythonhosted.org/packages/f1/65/d36a76b811ffe0a4515e290cb05cb0e22171b1b0f0db6bee9141cf023545/numpy-2.2.1-pp310-pypy310_pp73-macosx_10_15_x86_64.whl", hash = "sha256:7ba9cc93a91d86365a5d270dee221fdc04fb68d7478e6bf6af650de78a8339e3", size = 21044672 }, - { url = "https://files.pythonhosted.org/packages/aa/3f/b644199f165063154df486d95198d814578f13dd4d8c1651e075bf1cb8af/numpy-2.2.1-pp310-pypy310_pp73-macosx_14_0_x86_64.whl", hash = "sha256:3d03883435a19794e41f147612a77a8f56d4e52822337844fff3d4040a142964", size = 6789873 }, - { url = "https://files.pythonhosted.org/packages/d7/df/2adb0bb98a3cbe8a6c3c6d1019aede1f1d8b83927ced228a46cc56c7a206/numpy-2.2.1-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:4511d9e6071452b944207c8ce46ad2f897307910b402ea5fa975da32e0102800", size = 16194933 }, - { url = "https://files.pythonhosted.org/packages/13/3e/1959d5219a9e6d200638d924cedda6a606392f7186a4ed56478252e70d55/numpy-2.2.1-pp310-pypy310_pp73-win_amd64.whl", hash = "sha256:5c5cc0cbabe9452038ed984d05ac87910f89370b9242371bd9079cb4af61811e", size = 12820057 }, + "python_full_version >= '3.12' and sys_platform == 'darwin'", + "python_full_version >= '3.12' and platform_machine == 'aarch64' and sys_platform == 'linux'", + "(python_full_version >= '3.12' and platform_machine != 'aarch64' and sys_platform == 'linux') or (python_full_version >= '3.12' and sys_platform != 'darwin' and sys_platform != 'linux')", + "python_full_version == '3.11.*' and sys_platform == 'darwin'", + "python_full_version == '3.11.*' and platform_machine == 'aarch64' and sys_platform == 'linux'", + "(python_full_version == '3.11.*' and platform_machine != 'aarch64' and sys_platform == 'linux') or (python_full_version == '3.11.*' and sys_platform != 'darwin' and sys_platform != 'linux')", + "python_full_version == '3.10.*' and sys_platform == 'darwin'", + "python_full_version == '3.10.*' and platform_machine == 'aarch64' and sys_platform == 'linux'", + "(python_full_version == '3.10.*' and platform_machine != 'aarch64' and sys_platform == 'linux') or (python_full_version == '3.10.*' and sys_platform != 'darwin' and sys_platform != 'linux')", +] +sdist = { url = "https://files.pythonhosted.org/packages/ec/d0/c12ddfd3a02274be06ffc71f3efc6d0e457b0409c4481596881e748cb264/numpy-2.2.2.tar.gz", hash = "sha256:ed6906f61834d687738d25988ae117683705636936cc605be0bb208b23df4d8f", size = 20233295 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/70/2a/69033dc22d981ad21325314f8357438078f5c28310a6d89fb3833030ec8a/numpy-2.2.2-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:7079129b64cb78bdc8d611d1fd7e8002c0a2565da6a47c4df8062349fee90e3e", size = 21215825 }, + { url = "https://files.pythonhosted.org/packages/31/2c/39f91e00bbd3d5639b027ac48c55dc5f2992bd2b305412d26be4c830862a/numpy-2.2.2-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:2ec6c689c61df613b783aeb21f945c4cbe6c51c28cb70aae8430577ab39f163e", size = 14354996 }, + { url = "https://files.pythonhosted.org/packages/0a/2c/d468ebd253851af10de5b3e8f3418ebabfaab5f0337a75299fbeb8b8c17a/numpy-2.2.2-cp310-cp310-macosx_14_0_arm64.whl", hash = "sha256:40c7ff5da22cd391944a28c6a9c638a5eef77fcf71d6e3a79e1d9d9e82752715", size = 5393621 }, + { url = "https://files.pythonhosted.org/packages/7f/f4/3d8a5a0da297034106c5de92be881aca7079cde6058934215a1de91334f6/numpy-2.2.2-cp310-cp310-macosx_14_0_x86_64.whl", hash = "sha256:995f9e8181723852ca458e22de5d9b7d3ba4da3f11cc1cb113f093b271d7965a", size = 6928931 }, + { url = "https://files.pythonhosted.org/packages/47/a7/029354ab56edd43dd3f5efbfad292b8844f98b93174f322f82353fa46efa/numpy-2.2.2-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:b78ea78450fd96a498f50ee096f69c75379af5138f7881a51355ab0e11286c97", size = 14333157 }, + { url = "https://files.pythonhosted.org/packages/e3/d7/11fc594838d35c43519763310c316d4fd56f8600d3fc80a8e13e325b5c5c/numpy-2.2.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:3fbe72d347fbc59f94124125e73fc4976a06927ebc503ec5afbfb35f193cd957", size = 16381794 }, + { url = "https://files.pythonhosted.org/packages/af/d4/dd9b19cd4aff9c79d3f54d17f8be815407520d3116004bc574948336981b/numpy-2.2.2-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:8e6da5cffbbe571f93588f562ed130ea63ee206d12851b60819512dd3e1ba50d", size = 15543990 }, + { url = "https://files.pythonhosted.org/packages/30/97/ab96b7650f27f684a9b1e46757a7294ecc50cab27701d05f146e9f779627/numpy-2.2.2-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:09d6a2032faf25e8d0cadde7fd6145118ac55d2740132c1d845f98721b5ebcfd", size = 18170896 }, + { url = "https://files.pythonhosted.org/packages/81/9b/bae9618cab20db67a2ca9d711795cad29b2ca4b73034dd3b5d05b962070a/numpy-2.2.2-cp310-cp310-win32.whl", hash = "sha256:159ff6ee4c4a36a23fe01b7c3d07bd8c14cc433d9720f977fcd52c13c0098160", size = 6573458 }, + { url = "https://files.pythonhosted.org/packages/92/9b/95678092febd14070cfb7906ea7932e71e9dd5a6ab3ee948f9ed975e905d/numpy-2.2.2-cp310-cp310-win_amd64.whl", hash = "sha256:64bd6e1762cd7f0986a740fee4dff927b9ec2c5e4d9a28d056eb17d332158014", size = 12915812 }, + { url = "https://files.pythonhosted.org/packages/21/67/32c68756eed84df181c06528ff57e09138f893c4653448c4967311e0f992/numpy-2.2.2-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:642199e98af1bd2b6aeb8ecf726972d238c9877b0f6e8221ee5ab945ec8a2189", size = 21220002 }, + { url = "https://files.pythonhosted.org/packages/3b/89/f43bcad18f2b2e5814457b1c7f7b0e671d0db12c8c0e43397ab8cb1831ed/numpy-2.2.2-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:6d9fc9d812c81e6168b6d405bf00b8d6739a7f72ef22a9214c4241e0dc70b323", size = 14391215 }, + { url = "https://files.pythonhosted.org/packages/9c/e6/efb8cd6122bf25e86e3dd89d9dbfec9e6861c50e8810eed77d4be59b51c6/numpy-2.2.2-cp311-cp311-macosx_14_0_arm64.whl", hash = "sha256:c7d1fd447e33ee20c1f33f2c8e6634211124a9aabde3c617687d8b739aa69eac", size = 5391918 }, + { url = "https://files.pythonhosted.org/packages/47/e2/fccf89d64d9b47ffb242823d4e851fc9d36fa751908c9aac2807924d9b4e/numpy-2.2.2-cp311-cp311-macosx_14_0_x86_64.whl", hash = "sha256:451e854cfae0febe723077bd0cf0a4302a5d84ff25f0bfece8f29206c7bed02e", size = 6933133 }, + { url = "https://files.pythonhosted.org/packages/34/22/5ece749c0e5420a9380eef6fbf83d16a50010bd18fef77b9193d80a6760e/numpy-2.2.2-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:bd249bc894af67cbd8bad2c22e7cbcd46cf87ddfca1f1289d1e7e54868cc785c", size = 14338187 }, + { url = "https://files.pythonhosted.org/packages/5b/86/caec78829311f62afa6fa334c8dfcd79cffb4d24bcf96ee02ae4840d462b/numpy-2.2.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:02935e2c3c0c6cbe9c7955a8efa8908dd4221d7755644c59d1bba28b94fd334f", size = 16393429 }, + { url = "https://files.pythonhosted.org/packages/c8/4e/0c25f74c88239a37924577d6ad780f3212a50f4b4b5f54f5e8c918d726bd/numpy-2.2.2-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:a972cec723e0563aa0823ee2ab1df0cb196ed0778f173b381c871a03719d4826", size = 15559103 }, + { url = "https://files.pythonhosted.org/packages/d4/bd/d557f10fa50dc4d5871fb9606af563249b66af2fc6f99041a10e8757c6f1/numpy-2.2.2-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:d6d6a0910c3b4368d89dde073e630882cdb266755565155bc33520283b2d9df8", size = 18182967 }, + { url = "https://files.pythonhosted.org/packages/30/e9/66cc0f66386d78ed89e45a56e2a1d051e177b6e04477c4a41cd590ef4017/numpy-2.2.2-cp311-cp311-win32.whl", hash = "sha256:860fd59990c37c3ef913c3ae390b3929d005243acca1a86facb0773e2d8d9e50", size = 6571499 }, + { url = "https://files.pythonhosted.org/packages/66/a3/4139296b481ae7304a43581046b8f0a20da6a0dfe0ee47a044cade796603/numpy-2.2.2-cp311-cp311-win_amd64.whl", hash = "sha256:da1eeb460ecce8d5b8608826595c777728cdf28ce7b5a5a8c8ac8d949beadcf2", size = 12919805 }, + { url = "https://files.pythonhosted.org/packages/0c/e6/847d15770ab7a01e807bdfcd4ead5bdae57c0092b7dc83878171b6af97bb/numpy-2.2.2-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:ac9bea18d6d58a995fac1b2cb4488e17eceeac413af014b1dd26170b766d8467", size = 20912636 }, + { url = "https://files.pythonhosted.org/packages/d1/af/f83580891577b13bd7e261416120e036d0d8fb508c8a43a73e38928b794b/numpy-2.2.2-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:23ae9f0c2d889b7b2d88a3791f6c09e2ef827c2446f1c4a3e3e76328ee4afd9a", size = 14098403 }, + { url = "https://files.pythonhosted.org/packages/2b/86/d019fb60a9d0f1d4cf04b014fe88a9135090adfadcc31c1fadbb071d7fa7/numpy-2.2.2-cp312-cp312-macosx_14_0_arm64.whl", hash = "sha256:3074634ea4d6df66be04f6728ee1d173cfded75d002c75fac79503a880bf3825", size = 5128938 }, + { url = "https://files.pythonhosted.org/packages/7a/1b/50985edb6f1ec495a1c36452e860476f5b7ecdc3fc59ea89ccad3c4926c5/numpy-2.2.2-cp312-cp312-macosx_14_0_x86_64.whl", hash = "sha256:8ec0636d3f7d68520afc6ac2dc4b8341ddb725039de042faf0e311599f54eb37", size = 6661937 }, + { url = "https://files.pythonhosted.org/packages/f4/1b/17efd94cad1b9d605c3f8907fb06bcffc4ce4d1d14d46b95316cccccf2b9/numpy-2.2.2-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:2ffbb1acd69fdf8e89dd60ef6182ca90a743620957afb7066385a7bbe88dc748", size = 14049518 }, + { url = "https://files.pythonhosted.org/packages/5b/73/65d2f0b698df1731e851e3295eb29a5ab8aa06f763f7e4188647a809578d/numpy-2.2.2-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:0349b025e15ea9d05c3d63f9657707a4e1d471128a3b1d876c095f328f8ff7f0", size = 16099146 }, + { url = "https://files.pythonhosted.org/packages/d5/69/308f55c0e19d4b5057b5df286c5433822e3c8039ede06d4051d96f1c2c4e/numpy-2.2.2-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:463247edcee4a5537841d5350bc87fe8e92d7dd0e8c71c995d2c6eecb8208278", size = 15246336 }, + { url = "https://files.pythonhosted.org/packages/f0/d8/d8d333ad0d8518d077a21aeea7b7c826eff766a2b1ce1194dea95ca0bacf/numpy-2.2.2-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:9dd47ff0cb2a656ad69c38da850df3454da88ee9a6fde0ba79acceee0e79daba", size = 17863507 }, + { url = "https://files.pythonhosted.org/packages/82/6e/0b84ad3103ffc16d6673e63b5acbe7901b2af96c2837174c6318c98e27ab/numpy-2.2.2-cp312-cp312-win32.whl", hash = "sha256:4525b88c11906d5ab1b0ec1f290996c0020dd318af8b49acaa46f198b1ffc283", size = 6276491 }, + { url = "https://files.pythonhosted.org/packages/fc/84/7f801a42a67b9772a883223a0a1e12069a14626c81a732bd70aac57aebc1/numpy-2.2.2-cp312-cp312-win_amd64.whl", hash = "sha256:5acea83b801e98541619af398cc0109ff48016955cc0818f478ee9ef1c5c3dcb", size = 12616372 }, + { url = "https://files.pythonhosted.org/packages/e1/fe/df5624001f4f5c3e0b78e9017bfab7fdc18a8d3b3d3161da3d64924dd659/numpy-2.2.2-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:b208cfd4f5fe34e1535c08983a1a6803fdbc7a1e86cf13dd0c61de0b51a0aadc", size = 20899188 }, + { url = "https://files.pythonhosted.org/packages/a9/80/d349c3b5ed66bd3cb0214be60c27e32b90a506946857b866838adbe84040/numpy-2.2.2-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:d0bbe7dd86dca64854f4b6ce2ea5c60b51e36dfd597300057cf473d3615f2369", size = 14113972 }, + { url = "https://files.pythonhosted.org/packages/9d/50/949ec9cbb28c4b751edfa64503f0913cbfa8d795b4a251e7980f13a8a655/numpy-2.2.2-cp313-cp313-macosx_14_0_arm64.whl", hash = "sha256:22ea3bb552ade325530e72a0c557cdf2dea8914d3a5e1fecf58fa5dbcc6f43cd", size = 5114294 }, + { url = "https://files.pythonhosted.org/packages/8d/f3/399c15629d5a0c68ef2aa7621d430b2be22034f01dd7f3c65a9c9666c445/numpy-2.2.2-cp313-cp313-macosx_14_0_x86_64.whl", hash = "sha256:128c41c085cab8a85dc29e66ed88c05613dccf6bc28b3866cd16050a2f5448be", size = 6648426 }, + { url = "https://files.pythonhosted.org/packages/2c/03/c72474c13772e30e1bc2e558cdffd9123c7872b731263d5648b5c49dd459/numpy-2.2.2-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:250c16b277e3b809ac20d1f590716597481061b514223c7badb7a0f9993c7f84", size = 14045990 }, + { url = "https://files.pythonhosted.org/packages/83/9c/96a9ab62274ffafb023f8ee08c88d3d31ee74ca58869f859db6845494fa6/numpy-2.2.2-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:e0c8854b09bc4de7b041148d8550d3bd712b5c21ff6a8ed308085f190235d7ff", size = 16096614 }, + { url = "https://files.pythonhosted.org/packages/d5/34/cd0a735534c29bec7093544b3a509febc9b0df77718a9b41ffb0809c9f46/numpy-2.2.2-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:b6fb9c32a91ec32a689ec6410def76443e3c750e7cfc3fb2206b985ffb2b85f0", size = 15242123 }, + { url = "https://files.pythonhosted.org/packages/5e/6d/541717a554a8f56fa75e91886d9b79ade2e595918690eb5d0d3dbd3accb9/numpy-2.2.2-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:57b4012e04cc12b78590a334907e01b3a85efb2107df2b8733ff1ed05fce71de", size = 17859160 }, + { url = "https://files.pythonhosted.org/packages/b9/a5/fbf1f2b54adab31510728edd06a05c1b30839f37cf8c9747cb85831aaf1b/numpy-2.2.2-cp313-cp313-win32.whl", hash = "sha256:4dbd80e453bd34bd003b16bd802fac70ad76bd463f81f0c518d1245b1c55e3d9", size = 6273337 }, + { url = "https://files.pythonhosted.org/packages/56/e5/01106b9291ef1d680f82bc47d0c5b5e26dfed15b0754928e8f856c82c881/numpy-2.2.2-cp313-cp313-win_amd64.whl", hash = "sha256:5a8c863ceacae696aff37d1fd636121f1a512117652e5dfb86031c8d84836369", size = 12609010 }, + { url = "https://files.pythonhosted.org/packages/9f/30/f23d9876de0f08dceb707c4dcf7f8dd7588266745029debb12a3cdd40be6/numpy-2.2.2-cp313-cp313t-macosx_10_13_x86_64.whl", hash = "sha256:b3482cb7b3325faa5f6bc179649406058253d91ceda359c104dac0ad320e1391", size = 20924451 }, + { url = "https://files.pythonhosted.org/packages/6a/ec/6ea85b2da9d5dfa1dbb4cb3c76587fc8ddcae580cb1262303ab21c0926c4/numpy-2.2.2-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:9491100aba630910489c1d0158034e1c9a6546f0b1340f716d522dc103788e39", size = 14122390 }, + { url = "https://files.pythonhosted.org/packages/68/05/bfbdf490414a7dbaf65b10c78bc243f312c4553234b6d91c94eb7c4b53c2/numpy-2.2.2-cp313-cp313t-macosx_14_0_arm64.whl", hash = "sha256:41184c416143defa34cc8eb9d070b0a5ba4f13a0fa96a709e20584638254b317", size = 5156590 }, + { url = "https://files.pythonhosted.org/packages/f7/ec/fe2e91b2642b9d6544518388a441bcd65c904cea38d9ff998e2e8ebf808e/numpy-2.2.2-cp313-cp313t-macosx_14_0_x86_64.whl", hash = "sha256:7dca87ca328f5ea7dafc907c5ec100d187911f94825f8700caac0b3f4c384b49", size = 6671958 }, + { url = "https://files.pythonhosted.org/packages/b1/6f/6531a78e182f194d33ee17e59d67d03d0d5a1ce7f6be7343787828d1bd4a/numpy-2.2.2-cp313-cp313t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:0bc61b307655d1a7f9f4b043628b9f2b721e80839914ede634e3d485913e1fb2", size = 14019950 }, + { url = "https://files.pythonhosted.org/packages/e1/fb/13c58591d0b6294a08cc40fcc6b9552d239d773d520858ae27f39997f2ae/numpy-2.2.2-cp313-cp313t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:9fad446ad0bc886855ddf5909cbf8cb5d0faa637aaa6277fb4b19ade134ab3c7", size = 16079759 }, + { url = "https://files.pythonhosted.org/packages/2c/f2/f2f8edd62abb4b289f65a7f6d1f3650273af00b91b7267a2431be7f1aec6/numpy-2.2.2-cp313-cp313t-musllinux_1_2_aarch64.whl", hash = "sha256:149d1113ac15005652e8d0d3f6fd599360e1a708a4f98e43c9c77834a28238cb", size = 15226139 }, + { url = "https://files.pythonhosted.org/packages/aa/29/14a177f1a90b8ad8a592ca32124ac06af5eff32889874e53a308f850290f/numpy-2.2.2-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:106397dbbb1896f99e044efc90360d098b3335060375c26aa89c0d8a97c5f648", size = 17856316 }, + { url = "https://files.pythonhosted.org/packages/95/03/242ae8d7b97f4e0e4ab8dd51231465fb23ed5e802680d629149722e3faf1/numpy-2.2.2-cp313-cp313t-win32.whl", hash = "sha256:0eec19f8af947a61e968d5429f0bd92fec46d92b0008d0a6685b40d6adf8a4f4", size = 6329134 }, + { url = "https://files.pythonhosted.org/packages/80/94/cd9e9b04012c015cb6320ab3bf43bc615e248dddfeb163728e800a5d96f0/numpy-2.2.2-cp313-cp313t-win_amd64.whl", hash = "sha256:97b974d3ba0fb4612b77ed35d7627490e8e3dff56ab41454d9e8b23448940576", size = 12696208 }, + { url = "https://files.pythonhosted.org/packages/96/7e/1dd770ee68916ed358991ab62c2cc353ffd98d0b75b901d52183ca28e8bb/numpy-2.2.2-pp310-pypy310_pp73-macosx_10_15_x86_64.whl", hash = "sha256:b0531f0b0e07643eb089df4c509d30d72c9ef40defa53e41363eca8a8cc61495", size = 21047291 }, + { url = "https://files.pythonhosted.org/packages/d1/3c/ccd08578dc532a8e6927952339d4a02682b776d5e85be49ed0760308433e/numpy-2.2.2-pp310-pypy310_pp73-macosx_14_0_x86_64.whl", hash = "sha256:e9e82dcb3f2ebbc8cb5ce1102d5f1c5ed236bf8a11730fb45ba82e2841ec21df", size = 6792494 }, + { url = "https://files.pythonhosted.org/packages/7c/28/8754b9aee4f97199f9a047f73bb644b5a2014994a6d7b061ba67134a42de/numpy-2.2.2-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:e0d4142eb40ca6f94539e4db929410f2a46052a0fe7a2c1c59f6179c39938d2a", size = 16197312 }, + { url = "https://files.pythonhosted.org/packages/26/96/deb93f871f401045a684ca08a009382b247d14996d7a94fea6aa43c67b94/numpy-2.2.2-pp310-pypy310_pp73-win_amd64.whl", hash = "sha256:356ca982c188acbfa6af0d694284d8cf20e95b1c3d0aefa8929376fea9146f60", size = 12822674 }, ] [[package]] name = "opencv-python" -version = "4.10.0.84" +version = "4.11.0.86" source = { registry = "https://pypi.org/simple" } dependencies = [ { name = "numpy", version = "1.24.4", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.9'" }, - { name = "numpy", version = "1.25.2", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.9' and python_full_version < '3.12'" }, - { name = "numpy", version = "2.0.2", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version == '3.12.*'" }, - { name = "numpy", version = "2.2.1", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.13'" }, + { name = "numpy", version = "2.0.2", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version == '3.9.*'" }, + { name = "numpy", version = "2.2.2", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.10'" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/4a/e7/b70a2d9ab205110d715906fc8ec83fbb00404aeb3a37a0654fdb68eb0c8c/opencv-python-4.10.0.84.tar.gz", hash = "sha256:72d234e4582e9658ffea8e9cae5b63d488ad06994ef12d81dc303b17472f3526", size = 95103981 } +sdist = { url = "https://files.pythonhosted.org/packages/17/06/68c27a523103dad5837dc5b87e71285280c4f098c60e4fe8a8db6486ab09/opencv-python-4.11.0.86.tar.gz", hash = "sha256:03d60ccae62304860d232272e4a4fda93c39d595780cb40b161b310244b736a4", size = 95171956 } wheels = [ - { url = "https://files.pythonhosted.org/packages/66/82/564168a349148298aca281e342551404ef5521f33fba17b388ead0a84dc5/opencv_python-4.10.0.84-cp37-abi3-macosx_11_0_arm64.whl", hash = "sha256:fc182f8f4cda51b45f01c64e4cbedfc2f00aff799debebc305d8d0210c43f251", size = 54835524 }, - { url = "https://files.pythonhosted.org/packages/64/4a/016cda9ad7cf18c58ba074628a4eaae8aa55f3fd06a266398cef8831a5b9/opencv_python-4.10.0.84-cp37-abi3-macosx_12_0_x86_64.whl", hash = "sha256:71e575744f1d23f79741450254660442785f45a0797212852ee5199ef12eed98", size = 56475426 }, - { url = "https://files.pythonhosted.org/packages/81/e4/7a987ebecfe5ceaf32db413b67ff18eb3092c598408862fff4d7cc3fd19b/opencv_python-4.10.0.84-cp37-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:09a332b50488e2dda866a6c5573ee192fe3583239fb26ff2f7f9ceb0bc119ea6", size = 41746971 }, - { url = "https://files.pythonhosted.org/packages/3f/a4/d2537f47fd7fcfba966bd806e3ec18e7ee1681056d4b0a9c8d983983e4d5/opencv_python-4.10.0.84-cp37-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:9ace140fc6d647fbe1c692bcb2abce768973491222c067c131d80957c595b71f", size = 62548253 }, - { url = "https://files.pythonhosted.org/packages/1e/39/bbf57e7b9dab623e8773f6ff36385456b7ae7fa9357a5e53db732c347eac/opencv_python-4.10.0.84-cp37-abi3-win32.whl", hash = "sha256:2db02bb7e50b703f0a2d50c50ced72e95c574e1e5a0bb35a8a86d0b35c98c236", size = 28737688 }, - { url = "https://files.pythonhosted.org/packages/ec/6c/fab8113424af5049f85717e8e527ca3773299a3c6b02506e66436e19874f/opencv_python-4.10.0.84-cp37-abi3-win_amd64.whl", hash = "sha256:32dbbd94c26f611dc5cc6979e6b7aa1f55a64d6b463cc1dcd3c95505a63e48fe", size = 38842521 }, + { url = "https://files.pythonhosted.org/packages/05/4d/53b30a2a3ac1f75f65a59eb29cf2ee7207ce64867db47036ad61743d5a23/opencv_python-4.11.0.86-cp37-abi3-macosx_13_0_arm64.whl", hash = "sha256:432f67c223f1dc2824f5e73cdfcd9db0efc8710647d4e813012195dc9122a52a", size = 37326322 }, + { url = "https://files.pythonhosted.org/packages/3b/84/0a67490741867eacdfa37bc18df96e08a9d579583b419010d7f3da8ff503/opencv_python-4.11.0.86-cp37-abi3-macosx_13_0_x86_64.whl", hash = "sha256:9d05ef13d23fe97f575153558653e2d6e87103995d54e6a35db3f282fe1f9c66", size = 56723197 }, + { url = "https://files.pythonhosted.org/packages/f3/bd/29c126788da65c1fb2b5fb621b7fed0ed5f9122aa22a0868c5e2c15c6d23/opencv_python-4.11.0.86-cp37-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:1b92ae2c8852208817e6776ba1ea0d6b1e0a1b5431e971a2a0ddd2a8cc398202", size = 42230439 }, + { url = "https://files.pythonhosted.org/packages/2c/8b/90eb44a40476fa0e71e05a0283947cfd74a5d36121a11d926ad6f3193cc4/opencv_python-4.11.0.86-cp37-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:6b02611523803495003bd87362db3e1d2a0454a6a63025dc6658a9830570aa0d", size = 62986597 }, + { url = "https://files.pythonhosted.org/packages/fb/d7/1d5941a9dde095468b288d989ff6539dd69cd429dbf1b9e839013d21b6f0/opencv_python-4.11.0.86-cp37-abi3-win32.whl", hash = "sha256:810549cb2a4aedaa84ad9a1c92fbfdfc14090e2749cedf2c1589ad8359aa169b", size = 29384337 }, + { url = "https://files.pythonhosted.org/packages/a4/7d/f1c30a92854540bf789e9cd5dde7ef49bbe63f855b85a2e6b3db8135c591/opencv_python-4.11.0.86-cp37-abi3-win_amd64.whl", hash = "sha256:085ad9b77c18853ea66283e98affefe2de8cc4c1f43eda4c100cf9b2721142ec", size = 39488044 }, ] [[package]] @@ -3330,12 +3377,9 @@ name = "pandas" version = "2.2.3" source = { registry = "https://pypi.org/simple" } resolution-markers = [ - "python_full_version >= '3.13' and sys_platform == 'darwin'", - "python_full_version >= '3.13' and platform_machine == 'aarch64' and sys_platform == 'linux'", - "(python_full_version >= '3.13' and platform_machine != 'aarch64' and sys_platform == 'linux') or (python_full_version >= '3.13' and sys_platform != 'darwin' and sys_platform != 'linux')", - "python_full_version == '3.12.*' and sys_platform == 'darwin'", - "python_full_version == '3.12.*' and platform_machine == 'aarch64' and sys_platform == 'linux'", - "(python_full_version == '3.12.*' and platform_machine != 'aarch64' and sys_platform == 'linux') or (python_full_version == '3.12.*' and sys_platform != 'darwin' and sys_platform != 'linux')", + "python_full_version >= '3.12' and sys_platform == 'darwin'", + "python_full_version >= '3.12' and platform_machine == 'aarch64' and sys_platform == 'linux'", + "(python_full_version >= '3.12' and platform_machine != 'aarch64' and sys_platform == 'linux') or (python_full_version >= '3.12' and sys_platform != 'darwin' and sys_platform != 'linux')", "python_full_version == '3.11.*' and sys_platform == 'darwin'", "python_full_version == '3.11.*' and platform_machine == 'aarch64' and sys_platform == 'linux'", "(python_full_version == '3.11.*' and platform_machine != 'aarch64' and sys_platform == 'linux') or (python_full_version == '3.11.*' and sys_platform != 'darwin' and sys_platform != 'linux')", @@ -3347,9 +3391,8 @@ resolution-markers = [ "(python_full_version == '3.9.*' and platform_machine != 'arm64' and sys_platform == 'darwin') or (python_full_version == '3.9.*' and platform_machine != 'aarch64' and sys_platform == 'linux') or (python_full_version == '3.9.*' and sys_platform != 'darwin' and sys_platform != 'linux')", ] dependencies = [ - { name = "numpy", version = "1.25.2", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.9' and python_full_version < '3.12'" }, - { name = "numpy", version = "2.0.2", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version == '3.12.*'" }, - { name = "numpy", version = "2.2.1", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.13'" }, + { name = "numpy", version = "2.0.2", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version == '3.9.*'" }, + { name = "numpy", version = "2.2.2", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.10'" }, { name = "python-dateutil", marker = "python_full_version >= '3.9'" }, { name = "pytz", marker = "python_full_version >= '3.9'" }, { name = "tzdata", marker = "python_full_version >= '3.9'" }, @@ -3534,15 +3577,6 @@ wheels = [ { url = "https://files.pythonhosted.org/packages/37/ae/2dbfc38cc4fd14aceea14bc440d5151b21f64c4c3ba3f6f4191610b7ee5d/pillow-10.4.0-pp39-pypy39_pp73-win_amd64.whl", hash = "sha256:cfdd747216947628af7b259d274771d84db2268ca062dd5faf373639d00113a3", size = 2554652 }, ] -[[package]] -name = "pkginfo" -version = "1.12.0" -source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/c9/a5/fa2432da887652e3a0c07661ebe4aabe7f4692936c742da489178acd34de/pkginfo-1.12.0.tar.gz", hash = "sha256:8ad91a0445a036782b9366ef8b8c2c50291f83a553478ba8580c73d3215700cf", size = 451375 } -wheels = [ - { url = "https://files.pythonhosted.org/packages/21/11/4af184fbd8ae13daa13953212b27a212f4e63772ca8a0dd84d08b60ed206/pkginfo-1.12.0-py3-none-any.whl", hash = "sha256:dcd589c9be4da8973eceffa247733c144812759aa67eaf4bbf97016a02f39088", size = 32322 }, -] - [[package]] name = "pkgutil-resolve-name" version = "1.3.10" @@ -3581,14 +3615,14 @@ wheels = [ [[package]] name = "prompt-toolkit" -version = "3.0.48" +version = "3.0.50" source = { registry = "https://pypi.org/simple" } dependencies = [ { name = "wcwidth" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/2d/4f/feb5e137aff82f7c7f3248267b97451da3644f6cdc218edfe549fb354127/prompt_toolkit-3.0.48.tar.gz", hash = "sha256:d6623ab0477a80df74e646bdbc93621143f5caf104206aa29294d53de1a03d90", size = 424684 } +sdist = { url = "https://files.pythonhosted.org/packages/a1/e1/bd15cb8ffdcfeeb2bdc215de3c3cffca11408d829e4b8416dcfe71ba8854/prompt_toolkit-3.0.50.tar.gz", hash = "sha256:544748f3860a2623ca5cd6d2795e7a14f3d0e1c3c9728359013f79877fc89bab", size = 429087 } wheels = [ - { url = "https://files.pythonhosted.org/packages/a9/6a/fd08d94654f7e67c52ca30523a178b3f8ccc4237fce4be90d39c938a831a/prompt_toolkit-3.0.48-py3-none-any.whl", hash = "sha256:f49a827f90062e411f1ce1f854f2aedb3c23353244f8108b89283587397ac10e", size = 386595 }, + { url = "https://files.pythonhosted.org/packages/e4/ea/d836f008d33151c7a1f62caf3d8dd782e4d15f6a43897f64480c2b8de2ad/prompt_toolkit-3.0.50-py3-none-any.whl", hash = "sha256:9b6427eb19e479d98acff65196a307c555eb567989e6d88ebbb1b509d9779198", size = 387816 }, ] [[package]] @@ -3644,15 +3678,15 @@ wheels = [ [[package]] name = "pymdown-extensions" -version = "10.14" +version = "10.14.3" source = { registry = "https://pypi.org/simple" } dependencies = [ { name = "markdown" }, { name = "pyyaml" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/8b/96/b4337b778d2e9e77541a8d1cab00989aaeb1d6003c891cdc89221bd25651/pymdown_extensions-10.14.tar.gz", hash = "sha256:741bd7c4ff961ba40b7528d32284c53bc436b8b1645e8e37c3e57770b8700a34", size = 844927 } +sdist = { url = "https://files.pythonhosted.org/packages/7c/44/e6de2fdc880ad0ec7547ca2e087212be815efbc9a425a8d5ba9ede602cbb/pymdown_extensions-10.14.3.tar.gz", hash = "sha256:41e576ce3f5d650be59e900e4ceff231e0aed2a88cf30acaee41e02f063a061b", size = 846846 } wheels = [ - { url = "https://files.pythonhosted.org/packages/00/ae/55d347eda5a4c57a2a042fe2e7616d14981115f566b9f8f69901aba3c0c6/pymdown_extensions-10.14-py3-none-any.whl", hash = "sha256:202481f716cc8250e4be8fce997781ebf7917701b59652458ee47f2401f818b5", size = 264264 }, + { url = "https://files.pythonhosted.org/packages/eb/f5/b9e2a42aa8f9e34d52d66de87941ecd236570c7ed2e87775ed23bbe4e224/pymdown_extensions-10.14.3-py3-none-any.whl", hash = "sha256:05e0bee73d64b9c71a4ae17c72abc2f700e8bc8403755a00580b49a4e9f189e9", size = 264467 }, ] [[package]] @@ -3674,12 +3708,9 @@ name = "pyparsing" version = "3.2.1" source = { registry = "https://pypi.org/simple" } resolution-markers = [ - "python_full_version >= '3.13' and sys_platform == 'darwin'", - "python_full_version >= '3.13' and platform_machine == 'aarch64' and sys_platform == 'linux'", - "(python_full_version >= '3.13' and platform_machine != 'aarch64' and sys_platform == 'linux') or (python_full_version >= '3.13' and sys_platform != 'darwin' and sys_platform != 'linux')", - "python_full_version == '3.12.*' and sys_platform == 'darwin'", - "python_full_version == '3.12.*' and platform_machine == 'aarch64' and sys_platform == 'linux'", - "(python_full_version == '3.12.*' and platform_machine != 'aarch64' and sys_platform == 'linux') or (python_full_version == '3.12.*' and sys_platform != 'darwin' and sys_platform != 'linux')", + "python_full_version >= '3.12' and sys_platform == 'darwin'", + "python_full_version >= '3.12' and platform_machine == 'aarch64' and sys_platform == 'linux'", + "(python_full_version >= '3.12' and platform_machine != 'aarch64' and sys_platform == 'linux') or (python_full_version >= '3.12' and sys_platform != 'darwin' and sys_platform != 'linux')", "python_full_version == '3.11.*' and sys_platform == 'darwin'", "python_full_version == '3.11.*' and platform_machine == 'aarch64' and sys_platform == 'linux'", "(python_full_version == '3.11.*' and platform_machine != 'aarch64' and sys_platform == 'linux') or (python_full_version == '3.11.*' and sys_platform != 'darwin' and sys_platform != 'linux')", @@ -3699,15 +3730,47 @@ wheels = [ name = "pyproject-api" version = "1.8.0" source = { registry = "https://pypi.org/simple" } +resolution-markers = [ + "python_full_version < '3.9' and platform_machine == 'arm64' and sys_platform == 'darwin'", + "python_full_version < '3.9' and platform_machine == 'aarch64' and sys_platform == 'linux'", + "(python_full_version < '3.9' and platform_machine != 'arm64' and sys_platform == 'darwin') or (python_full_version < '3.9' and platform_machine != 'aarch64' and sys_platform == 'linux') or (python_full_version < '3.9' and sys_platform != 'darwin' and sys_platform != 'linux')", +] dependencies = [ - { name = "packaging" }, - { name = "tomli", marker = "python_full_version < '3.11'" }, + { name = "packaging", marker = "python_full_version < '3.9'" }, + { name = "tomli", marker = "python_full_version < '3.9'" }, ] sdist = { url = "https://files.pythonhosted.org/packages/bb/19/441e0624a8afedd15bbcce96df1b80479dd0ff0d965f5ce8fde4f2f6ffad/pyproject_api-1.8.0.tar.gz", hash = "sha256:77b8049f2feb5d33eefcc21b57f1e279636277a8ac8ad6b5871037b243778496", size = 22340 } wheels = [ { url = "https://files.pythonhosted.org/packages/ba/f4/3c4ddfcc0c19c217c6de513842d286de8021af2f2ab79bbb86c00342d778/pyproject_api-1.8.0-py3-none-any.whl", hash = "sha256:3d7d347a047afe796fd5d1885b1e391ba29be7169bd2f102fcd378f04273d228", size = 13100 }, ] +[[package]] +name = "pyproject-api" +version = "1.9.0" +source = { registry = "https://pypi.org/simple" } +resolution-markers = [ + "python_full_version >= '3.12' and sys_platform == 'darwin'", + "python_full_version >= '3.12' and platform_machine == 'aarch64' and sys_platform == 'linux'", + "(python_full_version >= '3.12' and platform_machine != 'aarch64' and sys_platform == 'linux') or (python_full_version >= '3.12' and sys_platform != 'darwin' and sys_platform != 'linux')", + "python_full_version == '3.11.*' and sys_platform == 'darwin'", + "python_full_version == '3.11.*' and platform_machine == 'aarch64' and sys_platform == 'linux'", + "(python_full_version == '3.11.*' and platform_machine != 'aarch64' and sys_platform == 'linux') or (python_full_version == '3.11.*' and sys_platform != 'darwin' and sys_platform != 'linux')", + "python_full_version == '3.10.*' and sys_platform == 'darwin'", + "python_full_version == '3.10.*' and platform_machine == 'aarch64' and sys_platform == 'linux'", + "(python_full_version == '3.10.*' and platform_machine != 'aarch64' and sys_platform == 'linux') or (python_full_version == '3.10.*' and sys_platform != 'darwin' and sys_platform != 'linux')", + "python_full_version == '3.9.*' and platform_machine == 'arm64' and sys_platform == 'darwin'", + "python_full_version == '3.9.*' and platform_machine == 'aarch64' and sys_platform == 'linux'", + "(python_full_version == '3.9.*' and platform_machine != 'arm64' and sys_platform == 'darwin') or (python_full_version == '3.9.*' and platform_machine != 'aarch64' and sys_platform == 'linux') or (python_full_version == '3.9.*' and sys_platform != 'darwin' and sys_platform != 'linux')", +] +dependencies = [ + { name = "packaging", marker = "python_full_version >= '3.9'" }, + { name = "tomli", marker = "python_full_version >= '3.9' and python_full_version < '3.11'" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/7e/66/fdc17e94486836eda4ba7113c0db9ac7e2f4eea1b968ee09de2fe75e391b/pyproject_api-1.9.0.tar.gz", hash = "sha256:7e8a9854b2dfb49454fae421cb86af43efbb2b2454e5646ffb7623540321ae6e", size = 22714 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/b0/1d/92b7c765df46f454889d9610292b0ccab15362be3119b9a624458455e8d5/pyproject_api-1.9.0-py3-none-any.whl", hash = "sha256:326df9d68dea22d9d98b5243c46e3ca3161b07a1b9b18e213d1e24fd0e605766", size = 13131 }, +] + [[package]] name = "pyproject-hooks" version = "1.2.0" @@ -3760,11 +3823,11 @@ wheels = [ [[package]] name = "pytz" -version = "2024.2" +version = "2025.1" source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/3a/31/3c70bf7603cc2dca0f19bdc53b4537a797747a58875b552c8c413d963a3f/pytz-2024.2.tar.gz", hash = "sha256:2aa355083c50a0f93fa581709deac0c9ad65cca8a9e9beac660adcbd493c798a", size = 319692 } +sdist = { url = "https://files.pythonhosted.org/packages/5f/57/df1c9157c8d5a05117e455d66fd7cf6dbc46974f832b1058ed4856785d8a/pytz-2025.1.tar.gz", hash = "sha256:c2db42be2a2518b28e65f9207c4d05e6ff547d1efa4086469ef855e4ab70178e", size = 319617 } wheels = [ - { url = "https://files.pythonhosted.org/packages/11/c3/005fcca25ce078d2cc29fd559379817424e94885510568bc1bc53d7d5846/pytz-2024.2-py2.py3-none-any.whl", hash = "sha256:31c7c1817eb7fae7ca4b8c7ee50c72f93aa2dd863de768e1ef4245d426aa0725", size = 508002 }, + { url = "https://files.pythonhosted.org/packages/eb/38/ac33370d784287baa1c3d538978b5e2ea064d4c1b93ffbd12826c190dd10/pytz-2025.1-py2.py3-none-any.whl", hash = "sha256:89dd22dca55b46eac6eda23b2d72721bf1bdfef212645d81513ef5d03038de57", size = 507930 }, ] [[package]] @@ -3803,6 +3866,9 @@ wheels = [ name = "pywinpty" version = "2.0.14" source = { registry = "https://pypi.org/simple" } +resolution-markers = [ + "(python_full_version < '3.9' and platform_machine != 'arm64' and sys_platform == 'darwin') or (python_full_version < '3.9' and platform_machine != 'aarch64' and sys_platform == 'linux') or (python_full_version < '3.9' and sys_platform != 'darwin' and sys_platform != 'linux')", +] sdist = { url = "https://files.pythonhosted.org/packages/f1/82/90f8750423cba4b9b6c842df227609fb60704482d7abf6dd47e2babc055a/pywinpty-2.0.14.tar.gz", hash = "sha256:18bd9529e4a5daf2d9719aa17788ba6013e594ae94c5a0c27e83df3278b0660e", size = 27769 } wheels = [ { url = "https://files.pythonhosted.org/packages/07/09/56376af256eab8cc5f8982a3b138d387136eca27fa1a8a68660e8ed59e4b/pywinpty-2.0.14-cp310-none-win_amd64.whl", hash = "sha256:0b149c2918c7974f575ba79f5a4aad58bd859a52fa9eb1296cc22aa412aa411f", size = 1397115 }, @@ -3812,6 +3878,26 @@ wheels = [ { url = "https://files.pythonhosted.org/packages/d8/ef/85e1b0ef7864fa2c579b1c1efce92c5f6fa238c8e73cf9f53deee08f8605/pywinpty-2.0.14-cp39-none-win_amd64.whl", hash = "sha256:5725fd56f73c0531ec218663bd8c8ff5acc43c78962fab28564871b5fce053fd", size = 1397396 }, ] +[[package]] +name = "pywinpty" +version = "2.0.15" +source = { registry = "https://pypi.org/simple" } +resolution-markers = [ + "(python_full_version >= '3.12' and platform_machine != 'aarch64' and sys_platform == 'linux') or (python_full_version >= '3.12' and sys_platform != 'darwin' and sys_platform != 'linux')", + "(python_full_version == '3.11.*' and platform_machine != 'aarch64' and sys_platform == 'linux') or (python_full_version == '3.11.*' and sys_platform != 'darwin' and sys_platform != 'linux')", + "(python_full_version == '3.10.*' and platform_machine != 'aarch64' and sys_platform == 'linux') or (python_full_version == '3.10.*' and sys_platform != 'darwin' and sys_platform != 'linux')", + "(python_full_version == '3.9.*' and platform_machine != 'arm64' and sys_platform == 'darwin') or (python_full_version == '3.9.*' and platform_machine != 'aarch64' and sys_platform == 'linux') or (python_full_version == '3.9.*' and sys_platform != 'darwin' and sys_platform != 'linux')", +] +sdist = { url = "https://files.pythonhosted.org/packages/2d/7c/917f9c4681bb8d34bfbe0b79d36bbcd902651aeab48790df3d30ba0202fb/pywinpty-2.0.15.tar.gz", hash = "sha256:312cf39153a8736c617d45ce8b6ad6cd2107de121df91c455b10ce6bba7a39b2", size = 29017 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/a6/b7/855db919ae526d2628f3f2e6c281c4cdff7a9a8af51bb84659a9f07b1861/pywinpty-2.0.15-cp310-cp310-win_amd64.whl", hash = "sha256:8e7f5de756a615a38b96cd86fa3cd65f901ce54ce147a3179c45907fa11b4c4e", size = 1405161 }, + { url = "https://files.pythonhosted.org/packages/5e/ac/6884dcb7108af66ad53f73ef4dad096e768c9203a6e6ce5e6b0c4a46e238/pywinpty-2.0.15-cp311-cp311-win_amd64.whl", hash = "sha256:9a6bcec2df2707aaa9d08b86071970ee32c5026e10bcc3cc5f6f391d85baf7ca", size = 1405249 }, + { url = "https://files.pythonhosted.org/packages/88/e5/9714def18c3a411809771a3fbcec70bffa764b9675afb00048a620fca604/pywinpty-2.0.15-cp312-cp312-win_amd64.whl", hash = "sha256:83a8f20b430bbc5d8957249f875341a60219a4e971580f2ba694fbfb54a45ebc", size = 1405243 }, + { url = "https://files.pythonhosted.org/packages/fb/16/2ab7b3b7f55f3c6929e5f629e1a68362981e4e5fed592a2ed1cb4b4914a5/pywinpty-2.0.15-cp313-cp313-win_amd64.whl", hash = "sha256:ab5920877dd632c124b4ed17bc6dd6ef3b9f86cd492b963ffdb1a67b85b0f408", size = 1405020 }, + { url = "https://files.pythonhosted.org/packages/7c/16/edef3515dd2030db2795dbfbe392232c7a0f3dc41b98e92b38b42ba497c7/pywinpty-2.0.15-cp313-cp313t-win_amd64.whl", hash = "sha256:a4560ad8c01e537708d2790dbe7da7d986791de805d89dd0d3697ca59e9e4901", size = 1404151 }, + { url = "https://files.pythonhosted.org/packages/47/96/90fa02f19b1eff7469ad7bf0ef8efca248025de9f1d0a0b25682d2aacf68/pywinpty-2.0.15-cp39-cp39-win_amd64.whl", hash = "sha256:d261cd88fcd358cfb48a7ca0700db3e1c088c9c10403c9ebc0d8a8b57aa6a117", size = 1405302 }, +] + [[package]] name = "pyyaml" version = "6.0.2" @@ -3886,107 +3972,107 @@ wheels = [ [[package]] name = "pyzmq" -version = "26.2.0" +version = "26.2.1" source = { registry = "https://pypi.org/simple" } dependencies = [ { name = "cffi", marker = "implementation_name == 'pypy'" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/fd/05/bed626b9f7bb2322cdbbf7b4bd8f54b1b617b0d2ab2d3547d6e39428a48e/pyzmq-26.2.0.tar.gz", hash = "sha256:070672c258581c8e4f640b5159297580a9974b026043bd4ab0470be9ed324f1f", size = 271975 } -wheels = [ - { url = "https://files.pythonhosted.org/packages/1f/a8/9837c39aba390eb7d01924ace49d761c8dbe7bc2d6082346d00c8332e431/pyzmq-26.2.0-cp310-cp310-macosx_10_15_universal2.whl", hash = "sha256:ddf33d97d2f52d89f6e6e7ae66ee35a4d9ca6f36eda89c24591b0c40205a3629", size = 1340058 }, - { url = "https://files.pythonhosted.org/packages/a2/1f/a006f2e8e4f7d41d464272012695da17fb95f33b54342612a6890da96ff6/pyzmq-26.2.0-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:dacd995031a01d16eec825bf30802fceb2c3791ef24bcce48fa98ce40918c27b", size = 1008818 }, - { url = "https://files.pythonhosted.org/packages/b6/09/b51b6683fde5ca04593a57bbe81788b6b43114d8f8ee4e80afc991e14760/pyzmq-26.2.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:89289a5ee32ef6c439086184529ae060c741334b8970a6855ec0b6ad3ff28764", size = 673199 }, - { url = "https://files.pythonhosted.org/packages/c9/78/486f3e2e824f3a645238332bf5a4c4b4477c3063033a27c1e4052358dee2/pyzmq-26.2.0-cp310-cp310-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:5506f06d7dc6ecf1efacb4a013b1f05071bb24b76350832c96449f4a2d95091c", size = 911762 }, - { url = "https://files.pythonhosted.org/packages/5e/3b/2eb1667c9b866f53e76ee8b0c301b0469745a23bd5a87b7ee3d5dd9eb6e5/pyzmq-26.2.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:8ea039387c10202ce304af74def5021e9adc6297067f3441d348d2b633e8166a", size = 868773 }, - { url = "https://files.pythonhosted.org/packages/16/29/ca99b4598a9dc7e468b5417eda91f372b595be1e3eec9b7cbe8e5d3584e8/pyzmq-26.2.0-cp310-cp310-manylinux_2_28_x86_64.whl", hash = "sha256:a2224fa4a4c2ee872886ed00a571f5e967c85e078e8e8c2530a2fb01b3309b88", size = 868834 }, - { url = "https://files.pythonhosted.org/packages/ad/e5/9efaeb1d2f4f8c50da04144f639b042bc52869d3a206d6bf672ab3522163/pyzmq-26.2.0-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:28ad5233e9c3b52d76196c696e362508959741e1a005fb8fa03b51aea156088f", size = 1202861 }, - { url = "https://files.pythonhosted.org/packages/c3/62/c721b5608a8ac0a69bb83cbb7d07a56f3ff00b3991a138e44198a16f94c7/pyzmq-26.2.0-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:1c17211bc037c7d88e85ed8b7d8f7e52db6dc8eca5590d162717c654550f7282", size = 1515304 }, - { url = "https://files.pythonhosted.org/packages/87/84/e8bd321aa99b72f48d4606fc5a0a920154125bd0a4608c67eab742dab087/pyzmq-26.2.0-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:b8f86dd868d41bea9a5f873ee13bf5551c94cf6bc51baebc6f85075971fe6eea", size = 1414712 }, - { url = "https://files.pythonhosted.org/packages/cd/cd/420e3fd1ac6977b008b72e7ad2dae6350cc84d4c5027fc390b024e61738f/pyzmq-26.2.0-cp310-cp310-win32.whl", hash = "sha256:46a446c212e58456b23af260f3d9fb785054f3e3653dbf7279d8f2b5546b21c2", size = 578113 }, - { url = "https://files.pythonhosted.org/packages/5c/57/73930d56ed45ae0cb4946f383f985c855c9b3d4063f26416998f07523c0e/pyzmq-26.2.0-cp310-cp310-win_amd64.whl", hash = "sha256:49d34ab71db5a9c292a7644ce74190b1dd5a3475612eefb1f8be1d6961441971", size = 641631 }, - { url = "https://files.pythonhosted.org/packages/61/d2/ae6ac5c397f1ccad59031c64beaafce7a0d6182e0452cc48f1c9c87d2dd0/pyzmq-26.2.0-cp310-cp310-win_arm64.whl", hash = "sha256:bfa832bfa540e5b5c27dcf5de5d82ebc431b82c453a43d141afb1e5d2de025fa", size = 543528 }, - { url = "https://files.pythonhosted.org/packages/12/20/de7442172f77f7c96299a0ac70e7d4fb78cd51eca67aa2cf552b66c14196/pyzmq-26.2.0-cp311-cp311-macosx_10_15_universal2.whl", hash = "sha256:8f7e66c7113c684c2b3f1c83cdd3376103ee0ce4c49ff80a648643e57fb22218", size = 1340639 }, - { url = "https://files.pythonhosted.org/packages/98/4d/5000468bd64c7910190ed0a6c76a1ca59a68189ec1f007c451dc181a22f4/pyzmq-26.2.0-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:3a495b30fc91db2db25120df5847d9833af237546fd59170701acd816ccc01c4", size = 1008710 }, - { url = "https://files.pythonhosted.org/packages/e1/bf/c67fd638c2f9fbbab8090a3ee779370b97c82b84cc12d0c498b285d7b2c0/pyzmq-26.2.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:77eb0968da535cba0470a5165468b2cac7772cfb569977cff92e240f57e31bef", size = 673129 }, - { url = "https://files.pythonhosted.org/packages/86/94/99085a3f492aa538161cbf27246e8886ff850e113e0c294a5b8245f13b52/pyzmq-26.2.0-cp311-cp311-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:6ace4f71f1900a548f48407fc9be59c6ba9d9aaf658c2eea6cf2779e72f9f317", size = 910107 }, - { url = "https://files.pythonhosted.org/packages/31/1d/346809e8a9b999646d03f21096428453465b1bca5cd5c64ecd048d9ecb01/pyzmq-26.2.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:92a78853d7280bffb93df0a4a6a2498cba10ee793cc8076ef797ef2f74d107cf", size = 867960 }, - { url = "https://files.pythonhosted.org/packages/ab/68/6fb6ae5551846ad5beca295b7bca32bf0a7ce19f135cb30e55fa2314e6b6/pyzmq-26.2.0-cp311-cp311-manylinux_2_28_x86_64.whl", hash = "sha256:689c5d781014956a4a6de61d74ba97b23547e431e9e7d64f27d4922ba96e9d6e", size = 869204 }, - { url = "https://files.pythonhosted.org/packages/0f/f9/18417771dee223ccf0f48e29adf8b4e25ba6d0e8285e33bcbce078070bc3/pyzmq-26.2.0-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:0aca98bc423eb7d153214b2df397c6421ba6373d3397b26c057af3c904452e37", size = 1203351 }, - { url = "https://files.pythonhosted.org/packages/e0/46/f13e67fe0d4f8a2315782cbad50493de6203ea0d744610faf4d5f5b16e90/pyzmq-26.2.0-cp311-cp311-musllinux_1_1_i686.whl", hash = "sha256:1f3496d76b89d9429a656293744ceca4d2ac2a10ae59b84c1da9b5165f429ad3", size = 1514204 }, - { url = "https://files.pythonhosted.org/packages/50/11/ddcf7343b7b7a226e0fc7b68cbf5a5bb56291fac07f5c3023bb4c319ebb4/pyzmq-26.2.0-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:5c2b3bfd4b9689919db068ac6c9911f3fcb231c39f7dd30e3138be94896d18e6", size = 1414339 }, - { url = "https://files.pythonhosted.org/packages/01/14/1c18d7d5b7be2708f513f37c61bfadfa62161c10624f8733f1c8451b3509/pyzmq-26.2.0-cp311-cp311-win32.whl", hash = "sha256:eac5174677da084abf378739dbf4ad245661635f1600edd1221f150b165343f4", size = 576928 }, - { url = "https://files.pythonhosted.org/packages/3b/1b/0a540edd75a41df14ec416a9a500b9fec66e554aac920d4c58fbd5756776/pyzmq-26.2.0-cp311-cp311-win_amd64.whl", hash = "sha256:5a509df7d0a83a4b178d0f937ef14286659225ef4e8812e05580776c70e155d5", size = 642317 }, - { url = "https://files.pythonhosted.org/packages/98/77/1cbfec0358078a4c5add529d8a70892db1be900980cdb5dd0898b3d6ab9d/pyzmq-26.2.0-cp311-cp311-win_arm64.whl", hash = "sha256:c0e6091b157d48cbe37bd67233318dbb53e1e6327d6fc3bb284afd585d141003", size = 543834 }, - { url = "https://files.pythonhosted.org/packages/28/2f/78a766c8913ad62b28581777ac4ede50c6d9f249d39c2963e279524a1bbe/pyzmq-26.2.0-cp312-cp312-macosx_10_15_universal2.whl", hash = "sha256:ded0fc7d90fe93ae0b18059930086c51e640cdd3baebdc783a695c77f123dcd9", size = 1343105 }, - { url = "https://files.pythonhosted.org/packages/b7/9c/4b1e2d3d4065be715e007fe063ec7885978fad285f87eae1436e6c3201f4/pyzmq-26.2.0-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:17bf5a931c7f6618023cdacc7081f3f266aecb68ca692adac015c383a134ca52", size = 1008365 }, - { url = "https://files.pythonhosted.org/packages/4f/ef/5a23ec689ff36d7625b38d121ef15abfc3631a9aecb417baf7a4245e4124/pyzmq-26.2.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:55cf66647e49d4621a7e20c8d13511ef1fe1efbbccf670811864452487007e08", size = 665923 }, - { url = "https://files.pythonhosted.org/packages/ae/61/d436461a47437d63c6302c90724cf0981883ec57ceb6073873f32172d676/pyzmq-26.2.0-cp312-cp312-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:4661c88db4a9e0f958c8abc2b97472e23061f0bc737f6f6179d7a27024e1faa5", size = 903400 }, - { url = "https://files.pythonhosted.org/packages/47/42/fc6d35ecefe1739a819afaf6f8e686f7f02a4dd241c78972d316f403474c/pyzmq-26.2.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ea7f69de383cb47522c9c208aec6dd17697db7875a4674c4af3f8cfdac0bdeae", size = 860034 }, - { url = "https://files.pythonhosted.org/packages/07/3b/44ea6266a6761e9eefaa37d98fabefa112328808ac41aa87b4bbb668af30/pyzmq-26.2.0-cp312-cp312-manylinux_2_28_x86_64.whl", hash = "sha256:7f98f6dfa8b8ccaf39163ce872bddacca38f6a67289116c8937a02e30bbe9711", size = 860579 }, - { url = "https://files.pythonhosted.org/packages/38/6f/4df2014ab553a6052b0e551b37da55166991510f9e1002c89cab7ce3b3f2/pyzmq-26.2.0-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:e3e0210287329272539eea617830a6a28161fbbd8a3271bf4150ae3e58c5d0e6", size = 1196246 }, - { url = "https://files.pythonhosted.org/packages/38/9d/ee240fc0c9fe9817f0c9127a43238a3e28048795483c403cc10720ddef22/pyzmq-26.2.0-cp312-cp312-musllinux_1_1_i686.whl", hash = "sha256:6b274e0762c33c7471f1a7471d1a2085b1a35eba5cdc48d2ae319f28b6fc4de3", size = 1507441 }, - { url = "https://files.pythonhosted.org/packages/85/4f/01711edaa58d535eac4a26c294c617c9a01f09857c0ce191fd574d06f359/pyzmq-26.2.0-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:29c6a4635eef69d68a00321e12a7d2559fe2dfccfa8efae3ffb8e91cd0b36a8b", size = 1406498 }, - { url = "https://files.pythonhosted.org/packages/07/18/907134c85c7152f679ed744e73e645b365f3ad571f38bdb62e36f347699a/pyzmq-26.2.0-cp312-cp312-win32.whl", hash = "sha256:989d842dc06dc59feea09e58c74ca3e1678c812a4a8a2a419046d711031f69c7", size = 575533 }, - { url = "https://files.pythonhosted.org/packages/ce/2c/a6f4a20202a4d3c582ad93f95ee78d79bbdc26803495aec2912b17dbbb6c/pyzmq-26.2.0-cp312-cp312-win_amd64.whl", hash = "sha256:2a50625acdc7801bc6f74698c5c583a491c61d73c6b7ea4dee3901bb99adb27a", size = 637768 }, - { url = "https://files.pythonhosted.org/packages/5f/0e/eb16ff731632d30554bf5af4dbba3ffcd04518219d82028aea4ae1b02ca5/pyzmq-26.2.0-cp312-cp312-win_arm64.whl", hash = "sha256:4d29ab8592b6ad12ebbf92ac2ed2bedcfd1cec192d8e559e2e099f648570e19b", size = 540675 }, - { url = "https://files.pythonhosted.org/packages/04/a7/0f7e2f6c126fe6e62dbae0bc93b1bd3f1099cf7fea47a5468defebe3f39d/pyzmq-26.2.0-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:9dd8cd1aeb00775f527ec60022004d030ddc51d783d056e3e23e74e623e33726", size = 1006564 }, - { url = "https://files.pythonhosted.org/packages/31/b6/a187165c852c5d49f826a690857684333a6a4a065af0a6015572d2284f6a/pyzmq-26.2.0-cp313-cp313-macosx_10_15_universal2.whl", hash = "sha256:28c812d9757fe8acecc910c9ac9dafd2ce968c00f9e619db09e9f8f54c3a68a3", size = 1340447 }, - { url = "https://files.pythonhosted.org/packages/68/ba/f4280c58ff71f321602a6e24fd19879b7e79793fb8ab14027027c0fb58ef/pyzmq-26.2.0-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:4d80b1dd99c1942f74ed608ddb38b181b87476c6a966a88a950c7dee118fdf50", size = 665485 }, - { url = "https://files.pythonhosted.org/packages/77/b5/c987a5c53c7d8704216f29fc3d810b32f156bcea488a940e330e1bcbb88d/pyzmq-26.2.0-cp313-cp313-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:8c997098cc65e3208eca09303630e84d42718620e83b733d0fd69543a9cab9cb", size = 903484 }, - { url = "https://files.pythonhosted.org/packages/29/c9/07da157d2db18c72a7eccef8e684cefc155b712a88e3d479d930aa9eceba/pyzmq-26.2.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:7ad1bc8d1b7a18497dda9600b12dc193c577beb391beae5cd2349184db40f187", size = 859981 }, - { url = "https://files.pythonhosted.org/packages/43/09/e12501bd0b8394b7d02c41efd35c537a1988da67fc9c745cae9c6c776d31/pyzmq-26.2.0-cp313-cp313-manylinux_2_28_x86_64.whl", hash = "sha256:bea2acdd8ea4275e1278350ced63da0b166421928276c7c8e3f9729d7402a57b", size = 860334 }, - { url = "https://files.pythonhosted.org/packages/eb/ff/f5ec1d455f8f7385cc0a8b2acd8c807d7fade875c14c44b85c1bddabae21/pyzmq-26.2.0-cp313-cp313-musllinux_1_1_aarch64.whl", hash = "sha256:23f4aad749d13698f3f7b64aad34f5fc02d6f20f05999eebc96b89b01262fb18", size = 1196179 }, - { url = "https://files.pythonhosted.org/packages/ec/8a/bb2ac43295b1950fe436a81fc5b298be0b96ac76fb029b514d3ed58f7b27/pyzmq-26.2.0-cp313-cp313-musllinux_1_1_i686.whl", hash = "sha256:a4f96f0d88accc3dbe4a9025f785ba830f968e21e3e2c6321ccdfc9aef755115", size = 1507668 }, - { url = "https://files.pythonhosted.org/packages/a9/49/dbc284ebcfd2dca23f6349227ff1616a7ee2c4a35fe0a5d6c3deff2b4fed/pyzmq-26.2.0-cp313-cp313-musllinux_1_1_x86_64.whl", hash = "sha256:ced65e5a985398827cc9276b93ef6dfabe0273c23de8c7931339d7e141c2818e", size = 1406539 }, - { url = "https://files.pythonhosted.org/packages/00/68/093cdce3fe31e30a341d8e52a1ad86392e13c57970d722c1f62a1d1a54b6/pyzmq-26.2.0-cp313-cp313-win32.whl", hash = "sha256:31507f7b47cc1ead1f6e86927f8ebb196a0bab043f6345ce070f412a59bf87b5", size = 575567 }, - { url = "https://files.pythonhosted.org/packages/92/ae/6cc4657148143412b5819b05e362ae7dd09fb9fe76e2a539dcff3d0386bc/pyzmq-26.2.0-cp313-cp313-win_amd64.whl", hash = "sha256:70fc7fcf0410d16ebdda9b26cbd8bf8d803d220a7f3522e060a69a9c87bf7bad", size = 637551 }, - { url = "https://files.pythonhosted.org/packages/6c/67/fbff102e201688f97c8092e4c3445d1c1068c2f27bbd45a578df97ed5f94/pyzmq-26.2.0-cp313-cp313-win_arm64.whl", hash = "sha256:c3789bd5768ab5618ebf09cef6ec2b35fed88709b104351748a63045f0ff9797", size = 540378 }, - { url = "https://files.pythonhosted.org/packages/3f/fe/2d998380b6e0122c6c4bdf9b6caf490831e5f5e2d08a203b5adff060c226/pyzmq-26.2.0-cp313-cp313t-macosx_10_13_x86_64.whl", hash = "sha256:034da5fc55d9f8da09015d368f519478a52675e558c989bfcb5cf6d4e16a7d2a", size = 1007378 }, - { url = "https://files.pythonhosted.org/packages/4a/f4/30d6e7157f12b3a0390bde94d6a8567cdb88846ed068a6e17238a4ccf600/pyzmq-26.2.0-cp313-cp313t-macosx_10_15_universal2.whl", hash = "sha256:c92d73464b886931308ccc45b2744e5968cbaade0b1d6aeb40d8ab537765f5bc", size = 1329532 }, - { url = "https://files.pythonhosted.org/packages/82/86/3fe917870e15ee1c3ad48229a2a64458e36036e64b4afa9659045d82bfa8/pyzmq-26.2.0-cp313-cp313t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:794a4562dcb374f7dbbfb3f51d28fb40123b5a2abadee7b4091f93054909add5", size = 653242 }, - { url = "https://files.pythonhosted.org/packages/50/2d/242e7e6ef6c8c19e6cb52d095834508cd581ffb925699fd3c640cdc758f1/pyzmq-26.2.0-cp313-cp313t-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:aee22939bb6075e7afededabad1a56a905da0b3c4e3e0c45e75810ebe3a52672", size = 888404 }, - { url = "https://files.pythonhosted.org/packages/ac/11/7270566e1f31e4ea73c81ec821a4b1688fd551009a3d2bab11ec66cb1e8f/pyzmq-26.2.0-cp313-cp313t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:2ae90ff9dad33a1cfe947d2c40cb9cb5e600d759ac4f0fd22616ce6540f72797", size = 845858 }, - { url = "https://files.pythonhosted.org/packages/91/d5/72b38fbc69867795c8711bdd735312f9fef1e3d9204e2f63ab57085434b9/pyzmq-26.2.0-cp313-cp313t-manylinux_2_28_x86_64.whl", hash = "sha256:43a47408ac52647dfabbc66a25b05b6a61700b5165807e3fbd40063fcaf46386", size = 847375 }, - { url = "https://files.pythonhosted.org/packages/dd/9a/10ed3c7f72b4c24e719c59359fbadd1a27556a28b36cdf1cd9e4fb7845d5/pyzmq-26.2.0-cp313-cp313t-musllinux_1_1_aarch64.whl", hash = "sha256:25bf2374a2a8433633c65ccb9553350d5e17e60c8eb4de4d92cc6bd60f01d306", size = 1183489 }, - { url = "https://files.pythonhosted.org/packages/72/2d/8660892543fabf1fe41861efa222455811adac9f3c0818d6c3170a1153e3/pyzmq-26.2.0-cp313-cp313t-musllinux_1_1_i686.whl", hash = "sha256:007137c9ac9ad5ea21e6ad97d3489af654381324d5d3ba614c323f60dab8fae6", size = 1492932 }, - { url = "https://files.pythonhosted.org/packages/7b/d6/32fd69744afb53995619bc5effa2a405ae0d343cd3e747d0fbc43fe894ee/pyzmq-26.2.0-cp313-cp313t-musllinux_1_1_x86_64.whl", hash = "sha256:470d4a4f6d48fb34e92d768b4e8a5cc3780db0d69107abf1cd7ff734b9766eb0", size = 1392485 }, - { url = "https://files.pythonhosted.org/packages/64/e7/d5d59205d446c299001d27bfc18702c5353512c5485b11ec7cf6df9552d7/pyzmq-26.2.0-cp38-cp38-macosx_10_15_universal2.whl", hash = "sha256:2eb7735ee73ca1b0d71e0e67c3739c689067f055c764f73aac4cc8ecf958ee3f", size = 1340492 }, - { url = "https://files.pythonhosted.org/packages/59/bb/aa6616a83694ab43cfb3bdb868d194a5ee2fa24b49e6ec7ec4400691ac3b/pyzmq-26.2.0-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:1a534f43bc738181aa7cbbaf48e3eca62c76453a40a746ab95d4b27b1111a7d2", size = 1008257 }, - { url = "https://files.pythonhosted.org/packages/a6/b6/e578e6c08970df0daa08b7c54e82b606211f9a7e61317ef2db79cc334389/pyzmq-26.2.0-cp38-cp38-manylinux_2_12_i686.manylinux2010_i686.whl", hash = "sha256:aedd5dd8692635813368e558a05266b995d3d020b23e49581ddd5bbe197a8ab6", size = 907602 }, - { url = "https://files.pythonhosted.org/packages/ab/3a/a26b98aebeb7924b24e9973a2f5bf8974201bb5a3f6ed06ddc3bac19372d/pyzmq-26.2.0-cp38-cp38-manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:8be4700cd8bb02cc454f630dcdf7cfa99de96788b80c51b60fe2fe1dac480289", size = 862291 }, - { url = "https://files.pythonhosted.org/packages/c1/b5/7eedb8d63af13c2858beb9c1f58e90e7e00929176b57f45e3592fccd56dc/pyzmq-26.2.0-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:1fcc03fa4997c447dce58264e93b5aa2d57714fbe0f06c07b7785ae131512732", size = 673879 }, - { url = "https://files.pythonhosted.org/packages/af/22/38734f47543e61b4eb97eee476f0f7ae544988533215eea22fc65e1ca1d7/pyzmq-26.2.0-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:402b190912935d3db15b03e8f7485812db350d271b284ded2b80d2e5704be780", size = 1207011 }, - { url = "https://files.pythonhosted.org/packages/59/a4/104cc979ae88ed948ef829db5fb49bca4a771891125fa4166bba1598b2ec/pyzmq-26.2.0-cp38-cp38-musllinux_1_1_i686.whl", hash = "sha256:8685fa9c25ff00f550c1fec650430c4b71e4e48e8d852f7ddcf2e48308038640", size = 1516183 }, - { url = "https://files.pythonhosted.org/packages/52/8f/73a8e08897f8ed21fe44fc73b5faf3ea4cacb97bfd219a63ee5f3ea203a8/pyzmq-26.2.0-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:76589c020680778f06b7e0b193f4b6dd66d470234a16e1df90329f5e14a171cd", size = 1417481 }, - { url = "https://files.pythonhosted.org/packages/67/cf/f418670a83fb3a91e2d6d26f271a828a58e0265199944a76e4ef274f9ba7/pyzmq-26.2.0-cp38-cp38-win32.whl", hash = "sha256:8423c1877d72c041f2c263b1ec6e34360448decfb323fa8b94e85883043ef988", size = 577930 }, - { url = "https://files.pythonhosted.org/packages/f0/51/1f2b47c8d8fb85c07f088e21df6364b8b5e8298e75bb23ea0e65340ebd82/pyzmq-26.2.0-cp38-cp38-win_amd64.whl", hash = "sha256:76589f2cd6b77b5bdea4fca5992dc1c23389d68b18ccc26a53680ba2dc80ff2f", size = 642503 }, - { url = "https://files.pythonhosted.org/packages/ac/9e/ad5fbbe1bcc7a9d1e8c5f4f7de48f2c1dc481e151ef80cc1ce9a7fe67b55/pyzmq-26.2.0-cp39-cp39-macosx_10_15_universal2.whl", hash = "sha256:b1d464cb8d72bfc1a3adc53305a63a8e0cac6bc8c5a07e8ca190ab8d3faa43c2", size = 1341256 }, - { url = "https://files.pythonhosted.org/packages/4c/d9/d7a8022108c214803a82b0b69d4885cee00933d21928f1f09dca371cf4bf/pyzmq-26.2.0-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:4da04c48873a6abdd71811c5e163bd656ee1b957971db7f35140a2d573f6949c", size = 1009385 }, - { url = "https://files.pythonhosted.org/packages/ed/69/0529b59ac667ea8bfe8796ac71796b688fbb42ff78e06525dabfed3bc7ae/pyzmq-26.2.0-cp39-cp39-manylinux_2_12_i686.manylinux2010_i686.whl", hash = "sha256:d049df610ac811dcffdc147153b414147428567fbbc8be43bb8885f04db39d98", size = 908009 }, - { url = "https://files.pythonhosted.org/packages/6e/bd/3ff3e1172f12f55769793a3a334e956ec2886805ebfb2f64756b6b5c6a1a/pyzmq-26.2.0-cp39-cp39-manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:05590cdbc6b902101d0e65d6a4780af14dc22914cc6ab995d99b85af45362cc9", size = 862078 }, - { url = "https://files.pythonhosted.org/packages/c3/ec/ab13585c3a1f48e2874253844c47b194d56eb25c94718691349c646f336f/pyzmq-26.2.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:c811cfcd6a9bf680236c40c6f617187515269ab2912f3d7e8c0174898e2519db", size = 673756 }, - { url = "https://files.pythonhosted.org/packages/1e/be/febcd4b04dd50ee6d514dfbc33a3d5d9cb38ec9516e02bbfc929baa0f141/pyzmq-26.2.0-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:6835dd60355593de10350394242b5757fbbd88b25287314316f266e24c61d073", size = 1203684 }, - { url = "https://files.pythonhosted.org/packages/16/28/304150e71afd2df3b82f52f66c0d8ab9ac6fe1f1ffdf92bad4c8cc91d557/pyzmq-26.2.0-cp39-cp39-musllinux_1_1_i686.whl", hash = "sha256:bc6bee759a6bddea5db78d7dcd609397449cb2d2d6587f48f3ca613b19410cfc", size = 1515864 }, - { url = "https://files.pythonhosted.org/packages/18/89/8d48d8cd505c12a1f5edee597cc32ffcedc65fd8d2603aebaaedc38a7041/pyzmq-26.2.0-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:c530e1eecd036ecc83c3407f77bb86feb79916d4a33d11394b8234f3bd35b940", size = 1415383 }, - { url = "https://files.pythonhosted.org/packages/d4/7e/43a60c3b179f7da0cbc2b649bd2702fd6a39bff5f72aa38d6e1aeb00256d/pyzmq-26.2.0-cp39-cp39-win32.whl", hash = "sha256:367b4f689786fca726ef7a6c5ba606958b145b9340a5e4808132cc65759abd44", size = 578540 }, - { url = "https://files.pythonhosted.org/packages/3a/55/8841dcd28f783ad06674c8fe8d7d72794b548d0bff8829aaafeb72e8b44d/pyzmq-26.2.0-cp39-cp39-win_amd64.whl", hash = "sha256:e6fa2e3e683f34aea77de8112f6483803c96a44fd726d7358b9888ae5bb394ec", size = 642147 }, - { url = "https://files.pythonhosted.org/packages/b4/78/b3c31ccfcfcdd6ea50b6abc8f46a2a7aadb9c3d40531d1b908d834aaa12e/pyzmq-26.2.0-cp39-cp39-win_arm64.whl", hash = "sha256:7445be39143a8aa4faec43b076e06944b8f9d0701b669df4af200531b21e40bb", size = 543903 }, - { url = "https://files.pythonhosted.org/packages/53/fb/36b2b2548286e9444e52fcd198760af99fd89102b5be50f0660fcfe902df/pyzmq-26.2.0-pp310-pypy310_pp73-macosx_10_15_x86_64.whl", hash = "sha256:706e794564bec25819d21a41c31d4df2d48e1cc4b061e8d345d7fb4dd3e94072", size = 906955 }, - { url = "https://files.pythonhosted.org/packages/77/8f/6ce54f8979a01656e894946db6299e2273fcee21c8e5fa57c6295ef11f57/pyzmq-26.2.0-pp310-pypy310_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:8b435f2753621cd36e7c1762156815e21c985c72b19135dac43a7f4f31d28dd1", size = 565701 }, - { url = "https://files.pythonhosted.org/packages/ee/1c/bf8cd66730a866b16db8483286078892b7f6536f8c389fb46e4beba0a970/pyzmq-26.2.0-pp310-pypy310_pp73-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:160c7e0a5eb178011e72892f99f918c04a131f36056d10d9c1afb223fc952c2d", size = 794312 }, - { url = "https://files.pythonhosted.org/packages/71/43/91fa4ff25bbfdc914ab6bafa0f03241d69370ef31a761d16bb859f346582/pyzmq-26.2.0-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:2c4a71d5d6e7b28a47a394c0471b7e77a0661e2d651e7ae91e0cab0a587859ca", size = 752775 }, - { url = "https://files.pythonhosted.org/packages/ec/d2/3b2ab40f455a256cb6672186bea95cd97b459ce4594050132d71e76f0d6f/pyzmq-26.2.0-pp310-pypy310_pp73-win_amd64.whl", hash = "sha256:90412f2db8c02a3864cbfc67db0e3dcdbda336acf1c469526d3e869394fe001c", size = 550762 }, - { url = "https://files.pythonhosted.org/packages/38/a7/1c80b0c8013befad391b92ba8a8e597de8884605ad5ad8ab943c888eb3ca/pyzmq-26.2.0-pp38-pypy38_pp73-macosx_10_9_x86_64.whl", hash = "sha256:39887ac397ff35b7b775db7201095fc6310a35fdbae85bac4523f7eb3b840e20", size = 906946 }, - { url = "https://files.pythonhosted.org/packages/9c/ac/34a7ee2e7edb07c7222752096650313424eb05f18401ed0a964e996088fb/pyzmq-26.2.0-pp38-pypy38_pp73-manylinux_2_12_i686.manylinux2010_i686.whl", hash = "sha256:fdb5b3e311d4d4b0eb8b3e8b4d1b0a512713ad7e6a68791d0923d1aec433d919", size = 802021 }, - { url = "https://files.pythonhosted.org/packages/cd/70/c65ddccfb88b469b6044f9664c81f0b7f649711e0dc172cba8b2a968ad99/pyzmq-26.2.0-pp38-pypy38_pp73-manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:226af7dcb51fdb0109f0016449b357e182ea0ceb6b47dfb5999d569e5db161d5", size = 756818 }, - { url = "https://files.pythonhosted.org/packages/07/7a/fc77f6d57f592207403eab2deca4c6f1ffa9c78b0f03b59e69069a12a1a1/pyzmq-26.2.0-pp38-pypy38_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:0bed0e799e6120b9c32756203fb9dfe8ca2fb8467fed830c34c877e25638c3fc", size = 565698 }, - { url = "https://files.pythonhosted.org/packages/dc/13/e8494ba2d161fb471955fadbef7f48076bd29b19a4dd3c5d61d22e500505/pyzmq-26.2.0-pp38-pypy38_pp73-win_amd64.whl", hash = "sha256:29c7947c594e105cb9e6c466bace8532dc1ca02d498684128b339799f5248277", size = 550757 }, - { url = "https://files.pythonhosted.org/packages/6c/78/3096d72581365dfb0081ac9512a3b53672fa69854aa174d78636510c4db8/pyzmq-26.2.0-pp39-pypy39_pp73-macosx_10_15_x86_64.whl", hash = "sha256:cdeabcff45d1c219636ee2e54d852262e5c2e085d6cb476d938aee8d921356b3", size = 906945 }, - { url = "https://files.pythonhosted.org/packages/da/f2/8054574d77c269c31d055d4daf3d8407adf61ea384a50c8d14b158551d09/pyzmq-26.2.0-pp39-pypy39_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:35cffef589bcdc587d06f9149f8d5e9e8859920a071df5a2671de2213bef592a", size = 565698 }, - { url = "https://files.pythonhosted.org/packages/77/21/c3ad93236d1d60eea10b67528f55e7db115a9d32e2bf163fcf601f85e9cc/pyzmq-26.2.0-pp39-pypy39_pp73-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:18c8dc3b7468d8b4bdf60ce9d7141897da103c7a4690157b32b60acb45e333e6", size = 794307 }, - { url = "https://files.pythonhosted.org/packages/6a/49/e95b491724500fcb760178ce8db39b923429e328e57bcf9162e32c2c187c/pyzmq-26.2.0-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:7133d0a1677aec369d67dd78520d3fa96dd7f3dcec99d66c1762870e5ea1a50a", size = 752769 }, - { url = "https://files.pythonhosted.org/packages/9b/a9/50c9c06762b30792f71aaad8d1886748d39c4bffedc1171fbc6ad2b92d67/pyzmq-26.2.0-pp39-pypy39_pp73-manylinux_2_28_x86_64.whl", hash = "sha256:6a96179a24b14fa6428cbfc08641c779a53f8fcec43644030328f44034c7f1f4", size = 751338 }, - { url = "https://files.pythonhosted.org/packages/ca/63/27e6142b4f67a442ee480986ca5b88edb01462dd2319843057683a5148bd/pyzmq-26.2.0-pp39-pypy39_pp73-win_amd64.whl", hash = "sha256:4f78c88905461a9203eac9faac157a2a0dbba84a0fd09fd29315db27be40af9f", size = 550757 }, +sdist = { url = "https://files.pythonhosted.org/packages/5a/e3/8d0382cb59feb111c252b54e8728257416a38ffcb2243c4e4775a3c990fe/pyzmq-26.2.1.tar.gz", hash = "sha256:17d72a74e5e9ff3829deb72897a175333d3ef5b5413948cae3cf7ebf0b02ecca", size = 278433 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/70/3d/c2d9d46c033d1b51692ea49a22439f7f66d91d5c938e8b5c56ed7a2151c2/pyzmq-26.2.1-cp310-cp310-macosx_10_15_universal2.whl", hash = "sha256:f39d1227e8256d19899d953e6e19ed2ccb689102e6d85e024da5acf410f301eb", size = 1345451 }, + { url = "https://files.pythonhosted.org/packages/0e/df/4754a8abcdeef280651f9bb51446c47659910940b392a66acff7c37f5cef/pyzmq-26.2.1-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:a23948554c692df95daed595fdd3b76b420a4939d7a8a28d6d7dea9711878641", size = 942766 }, + { url = "https://files.pythonhosted.org/packages/74/da/e6053a3b13c912eded6c2cdeee22ff3a4c33820d17f9eb24c7b6e957ffe7/pyzmq-26.2.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:95f5728b367a042df146cec4340d75359ec6237beebf4a8f5cf74657c65b9257", size = 678488 }, + { url = "https://files.pythonhosted.org/packages/9e/50/614934145244142401ca174ca81071777ab93aa88173973ba0154f491e09/pyzmq-26.2.1-cp310-cp310-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:95f7b01b3f275504011cf4cf21c6b885c8d627ce0867a7e83af1382ebab7b3ff", size = 917115 }, + { url = "https://files.pythonhosted.org/packages/80/2b/ebeb7bc4fc8e9e61650b2e09581597355a4341d413fa9b2947d7a6558119/pyzmq-26.2.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:80a00370a2ef2159c310e662c7c0f2d030f437f35f478bb8b2f70abd07e26b24", size = 874162 }, + { url = "https://files.pythonhosted.org/packages/79/48/93210621c331ad16313dc2849801411fbae10d91d878853933f2a85df8e7/pyzmq-26.2.1-cp310-cp310-manylinux_2_28_x86_64.whl", hash = "sha256:8531ed35dfd1dd2af95f5d02afd6545e8650eedbf8c3d244a554cf47d8924459", size = 874180 }, + { url = "https://files.pythonhosted.org/packages/f0/8b/40924b4d8e33bfdd54c1970fb50f327e39b90b902f897cf09b30b2e9ac48/pyzmq-26.2.1-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:cdb69710e462a38e6039cf17259d328f86383a06c20482cc154327968712273c", size = 1208139 }, + { url = "https://files.pythonhosted.org/packages/c8/b2/82d6675fc89bd965eae13c45002c792d33f06824589844b03f8ea8fc6d86/pyzmq-26.2.1-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:e7eeaef81530d0b74ad0d29eec9997f1c9230c2f27242b8d17e0ee67662c8f6e", size = 1520666 }, + { url = "https://files.pythonhosted.org/packages/9d/e2/5ff15f2d3f920dcc559d477bd9bb3faacd6d79fcf7c5448e585c78f84849/pyzmq-26.2.1-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:361edfa350e3be1f987e592e834594422338d7174364763b7d3de5b0995b16f3", size = 1420056 }, + { url = "https://files.pythonhosted.org/packages/40/a2/f9bbeccf7f75aa0d8963e224e5730abcefbf742e1f2ae9ea60fd9d6ff72b/pyzmq-26.2.1-cp310-cp310-win32.whl", hash = "sha256:637536c07d2fb6a354988b2dd1d00d02eb5dd443f4bbee021ba30881af1c28aa", size = 583874 }, + { url = "https://files.pythonhosted.org/packages/56/b1/44f513135843272f0e12f5aebf4af35839e2a88eb45411f2c8c010d8c856/pyzmq-26.2.1-cp310-cp310-win_amd64.whl", hash = "sha256:45fad32448fd214fbe60030aa92f97e64a7140b624290834cc9b27b3a11f9473", size = 647367 }, + { url = "https://files.pythonhosted.org/packages/27/9c/1bef14a37b02d651a462811bbdb1390b61cd4a5b5e95cbd7cc2d60ef848c/pyzmq-26.2.1-cp310-cp310-win_arm64.whl", hash = "sha256:d9da0289d8201c8a29fd158aaa0dfe2f2e14a181fd45e2dc1fbf969a62c1d594", size = 561784 }, + { url = "https://files.pythonhosted.org/packages/b9/03/5ecc46a6ed5971299f5c03e016ca637802d8660e44392bea774fb7797405/pyzmq-26.2.1-cp311-cp311-macosx_10_15_universal2.whl", hash = "sha256:c059883840e634a21c5b31d9b9a0e2b48f991b94d60a811092bc37992715146a", size = 1346032 }, + { url = "https://files.pythonhosted.org/packages/40/51/48fec8f990ee644f461ff14c8fe5caa341b0b9b3a0ad7544f8ef17d6f528/pyzmq-26.2.1-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:ed038a921df836d2f538e509a59cb638df3e70ca0fcd70d0bf389dfcdf784d2a", size = 943324 }, + { url = "https://files.pythonhosted.org/packages/c1/f4/f322b389727c687845e38470b48d7a43c18a83f26d4d5084603c6c3f79ca/pyzmq-26.2.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:9027a7fcf690f1a3635dc9e55e38a0d6602dbbc0548935d08d46d2e7ec91f454", size = 678418 }, + { url = "https://files.pythonhosted.org/packages/a8/df/2834e3202533bd05032d83e02db7ac09fa1be853bbef59974f2b2e3a8557/pyzmq-26.2.1-cp311-cp311-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:6d75fcb00a1537f8b0c0bb05322bc7e35966148ffc3e0362f0369e44a4a1de99", size = 915466 }, + { url = "https://files.pythonhosted.org/packages/b5/e2/45c0f6e122b562cb8c6c45c0dcac1160a4e2207385ef9b13463e74f93031/pyzmq-26.2.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f0019cc804ac667fb8c8eaecdb66e6d4a68acf2e155d5c7d6381a5645bd93ae4", size = 873347 }, + { url = "https://files.pythonhosted.org/packages/de/b9/3e0fbddf8b87454e914501d368171466a12550c70355b3844115947d68ea/pyzmq-26.2.1-cp311-cp311-manylinux_2_28_x86_64.whl", hash = "sha256:f19dae58b616ac56b96f2e2290f2d18730a898a171f447f491cc059b073ca1fa", size = 874545 }, + { url = "https://files.pythonhosted.org/packages/1f/1c/1ee41d6e10b2127263b1994bc53b9e74ece015b0d2c0a30e0afaf69b78b2/pyzmq-26.2.1-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:f5eeeb82feec1fc5cbafa5ee9022e87ffdb3a8c48afa035b356fcd20fc7f533f", size = 1208630 }, + { url = "https://files.pythonhosted.org/packages/3d/a9/50228465c625851a06aeee97c74f253631f509213f979166e83796299c60/pyzmq-26.2.1-cp311-cp311-musllinux_1_1_i686.whl", hash = "sha256:000760e374d6f9d1a3478a42ed0c98604de68c9e94507e5452951e598ebecfba", size = 1519568 }, + { url = "https://files.pythonhosted.org/packages/c6/f2/6360b619e69da78863c2108beb5196ae8b955fe1e161c0b886b95dc6b1ac/pyzmq-26.2.1-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:817fcd3344d2a0b28622722b98500ae9c8bfee0f825b8450932ff19c0b15bebd", size = 1419677 }, + { url = "https://files.pythonhosted.org/packages/da/d5/f179da989168f5dfd1be8103ef508ade1d38a8078dda4f10ebae3131a490/pyzmq-26.2.1-cp311-cp311-win32.whl", hash = "sha256:88812b3b257f80444a986b3596e5ea5c4d4ed4276d2b85c153a6fbc5ca457ae7", size = 582682 }, + { url = "https://files.pythonhosted.org/packages/60/50/e5b2e9de3ffab73ff92bee736216cf209381081fa6ab6ba96427777d98b1/pyzmq-26.2.1-cp311-cp311-win_amd64.whl", hash = "sha256:ef29630fde6022471d287c15c0a2484aba188adbfb978702624ba7a54ddfa6c1", size = 648128 }, + { url = "https://files.pythonhosted.org/packages/d9/fe/7bb93476dd8405b0fc9cab1fd921a08bd22d5e3016aa6daea1a78d54129b/pyzmq-26.2.1-cp311-cp311-win_arm64.whl", hash = "sha256:f32718ee37c07932cc336096dc7403525301fd626349b6eff8470fe0f996d8d7", size = 562465 }, + { url = "https://files.pythonhosted.org/packages/9c/b9/260a74786f162c7f521f5f891584a51d5a42fd15f5dcaa5c9226b2865fcc/pyzmq-26.2.1-cp312-cp312-macosx_10_15_universal2.whl", hash = "sha256:a6549ecb0041dafa55b5932dcbb6c68293e0bd5980b5b99f5ebb05f9a3b8a8f3", size = 1348495 }, + { url = "https://files.pythonhosted.org/packages/bf/73/8a0757e4b68f5a8ccb90ddadbb76c6a5f880266cdb18be38c99bcdc17aaa/pyzmq-26.2.1-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:0250c94561f388db51fd0213cdccbd0b9ef50fd3c57ce1ac937bf3034d92d72e", size = 945035 }, + { url = "https://files.pythonhosted.org/packages/cf/de/f02ec973cd33155bb772bae33ace774acc7cc71b87b25c4829068bec35de/pyzmq-26.2.1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:36ee4297d9e4b34b5dc1dd7ab5d5ea2cbba8511517ef44104d2915a917a56dc8", size = 671213 }, + { url = "https://files.pythonhosted.org/packages/d1/80/8fc583085f85ac91682744efc916888dd9f11f9f75a31aef1b78a5486c6c/pyzmq-26.2.1-cp312-cp312-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:c2a9cb17fd83b7a3a3009901aca828feaf20aa2451a8a487b035455a86549c09", size = 908750 }, + { url = "https://files.pythonhosted.org/packages/c3/25/0b4824596f261a3cc512ab152448b383047ff5f143a6906a36876415981c/pyzmq-26.2.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:786dd8a81b969c2081b31b17b326d3a499ddd1856e06d6d79ad41011a25148da", size = 865416 }, + { url = "https://files.pythonhosted.org/packages/a1/d1/6fda77a034d02034367b040973fd3861d945a5347e607bd2e98c99f20599/pyzmq-26.2.1-cp312-cp312-manylinux_2_28_x86_64.whl", hash = "sha256:2d88ba221a07fc2c5581565f1d0fe8038c15711ae79b80d9462e080a1ac30435", size = 865922 }, + { url = "https://files.pythonhosted.org/packages/ad/81/48f7fd8a71c427412e739ce576fc1ee14f3dc34527ca9b0076e471676183/pyzmq-26.2.1-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:1c84c1297ff9f1cd2440da4d57237cb74be21fdfe7d01a10810acba04e79371a", size = 1201526 }, + { url = "https://files.pythonhosted.org/packages/c7/d8/818f15c6ef36b5450e435cbb0d3a51599fc884a5d2b27b46b9c00af68ef1/pyzmq-26.2.1-cp312-cp312-musllinux_1_1_i686.whl", hash = "sha256:46d4ebafc27081a7f73a0f151d0c38d4291656aa134344ec1f3d0199ebfbb6d4", size = 1512808 }, + { url = "https://files.pythonhosted.org/packages/d9/c4/b3edb7d0ae82ad6fb1a8cdb191a4113c427a01e85139906f3b655b07f4f8/pyzmq-26.2.1-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:91e2bfb8e9a29f709d51b208dd5f441dc98eb412c8fe75c24ea464734ccdb48e", size = 1411836 }, + { url = "https://files.pythonhosted.org/packages/69/1c/151e3d42048f02cc5cd6dfc241d9d36b38375b4dee2e728acb5c353a6d52/pyzmq-26.2.1-cp312-cp312-win32.whl", hash = "sha256:4a98898fdce380c51cc3e38ebc9aa33ae1e078193f4dc641c047f88b8c690c9a", size = 581378 }, + { url = "https://files.pythonhosted.org/packages/b6/b9/d59a7462848aaab7277fddb253ae134a570520115d80afa85e952287e6bc/pyzmq-26.2.1-cp312-cp312-win_amd64.whl", hash = "sha256:a0741edbd0adfe5f30bba6c5223b78c131b5aa4a00a223d631e5ef36e26e6d13", size = 643737 }, + { url = "https://files.pythonhosted.org/packages/55/09/f37e707937cce328944c1d57e5e50ab905011d35252a0745c4f7e5822a76/pyzmq-26.2.1-cp312-cp312-win_arm64.whl", hash = "sha256:e5e33b1491555843ba98d5209439500556ef55b6ab635f3a01148545498355e5", size = 558303 }, + { url = "https://files.pythonhosted.org/packages/4f/2e/fa7a91ce349975971d6aa925b4c7e1a05abaae99b97ade5ace758160c43d/pyzmq-26.2.1-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:099b56ef464bc355b14381f13355542e452619abb4c1e57a534b15a106bf8e23", size = 942331 }, + { url = "https://files.pythonhosted.org/packages/64/2b/1f10b34b6dc7ff4b40f668ea25ba9b8093ce61d874c784b90229b367707b/pyzmq-26.2.1-cp313-cp313-macosx_10_15_universal2.whl", hash = "sha256:651726f37fcbce9f8dd2a6dab0f024807929780621890a4dc0c75432636871be", size = 1345831 }, + { url = "https://files.pythonhosted.org/packages/4c/8d/34884cbd4a8ec050841b5fb58d37af136766a9f95b0b2634c2971deb09da/pyzmq-26.2.1-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:57dd4d91b38fa4348e237a9388b4423b24ce9c1695bbd4ba5a3eada491e09399", size = 670773 }, + { url = "https://files.pythonhosted.org/packages/0f/f4/d4becfcf9e416ad2564f18a6653f7c6aa917da08df5c3760edb0baa1c863/pyzmq-26.2.1-cp313-cp313-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:d51a7bfe01a48e1064131f3416a5439872c533d756396be2b39e3977b41430f9", size = 908836 }, + { url = "https://files.pythonhosted.org/packages/07/fa/ab105f1b86b85cb2e821239f1d0900fccd66192a91d97ee04661b5436b4d/pyzmq-26.2.1-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:c7154d228502e18f30f150b7ce94f0789d6b689f75261b623f0fdc1eec642aab", size = 865369 }, + { url = "https://files.pythonhosted.org/packages/c9/48/15d5f415504572dd4b92b52db5de7a5befc76bb75340ba9f36f71306a66d/pyzmq-26.2.1-cp313-cp313-manylinux_2_28_x86_64.whl", hash = "sha256:f1f31661a80cc46aba381bed475a9135b213ba23ca7ff6797251af31510920ce", size = 865676 }, + { url = "https://files.pythonhosted.org/packages/7e/35/2d91bcc7ccbb56043dd4d2c1763f24a8de5f05e06a134f767a7fb38e149c/pyzmq-26.2.1-cp313-cp313-musllinux_1_1_aarch64.whl", hash = "sha256:290c96f479504439b6129a94cefd67a174b68ace8a8e3f551b2239a64cfa131a", size = 1201457 }, + { url = "https://files.pythonhosted.org/packages/6d/bb/aa7c5119307a5762b8dca6c9db73e3ab4bccf32b15d7c4f376271ff72b2b/pyzmq-26.2.1-cp313-cp313-musllinux_1_1_i686.whl", hash = "sha256:f2c307fbe86e18ab3c885b7e01de942145f539165c3360e2af0f094dd440acd9", size = 1513035 }, + { url = "https://files.pythonhosted.org/packages/4f/4c/527e6650c2fccec7750b783301329c8a8716d59423818afb67282304ce5a/pyzmq-26.2.1-cp313-cp313-musllinux_1_1_x86_64.whl", hash = "sha256:b314268e716487bfb86fcd6f84ebbe3e5bec5fac75fdf42bc7d90fdb33f618ad", size = 1411881 }, + { url = "https://files.pythonhosted.org/packages/89/9f/e4412ea1b3e220acc21777a5edba8885856403d29c6999aaf00a9459eb03/pyzmq-26.2.1-cp313-cp313-win32.whl", hash = "sha256:edb550616f567cd5603b53bb52a5f842c0171b78852e6fc7e392b02c2a1504bb", size = 581354 }, + { url = "https://files.pythonhosted.org/packages/55/cd/f89dd3e9fc2da0d1619a82c4afb600c86b52bc72d7584953d460bc8d5027/pyzmq-26.2.1-cp313-cp313-win_amd64.whl", hash = "sha256:100a826a029c8ef3d77a1d4c97cbd6e867057b5806a7276f2bac1179f893d3bf", size = 643560 }, + { url = "https://files.pythonhosted.org/packages/a7/99/5de4f8912860013f1116f818a0047659bc20d71d1bc1d48f874bdc2d7b9c/pyzmq-26.2.1-cp313-cp313-win_arm64.whl", hash = "sha256:6991ee6c43e0480deb1b45d0c7c2bac124a6540cba7db4c36345e8e092da47ce", size = 558037 }, + { url = "https://files.pythonhosted.org/packages/06/0b/63b6d7a2f07a77dbc9768c6302ae2d7518bed0c6cee515669ca0d8ec743e/pyzmq-26.2.1-cp313-cp313t-macosx_10_13_x86_64.whl", hash = "sha256:25e720dba5b3a3bb2ad0ad5d33440babd1b03438a7a5220511d0c8fa677e102e", size = 938580 }, + { url = "https://files.pythonhosted.org/packages/85/38/e5e2c3ffa23ea5f95f1c904014385a55902a11a67cd43c10edf61a653467/pyzmq-26.2.1-cp313-cp313t-macosx_10_15_universal2.whl", hash = "sha256:9ec6abfb701437142ce9544bd6a236addaf803a32628d2260eb3dbd9a60e2891", size = 1339670 }, + { url = "https://files.pythonhosted.org/packages/d2/87/da5519ed7f8b31e4beee8f57311ec02926822fe23a95120877354cd80144/pyzmq-26.2.1-cp313-cp313t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:2e1eb9d2bfdf5b4e21165b553a81b2c3bd5be06eeddcc4e08e9692156d21f1f6", size = 660983 }, + { url = "https://files.pythonhosted.org/packages/f6/e8/1ca6a2d59562e04d326a026c9e3f791a6f1a276ebde29da478843a566fdb/pyzmq-26.2.1-cp313-cp313t-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:90dc731d8e3e91bcd456aa7407d2eba7ac6f7860e89f3766baabb521f2c1de4a", size = 896509 }, + { url = "https://files.pythonhosted.org/packages/5c/e5/0b4688f7c74bea7e4f1e920da973fcd7d20175f4f1181cb9b692429c6bb9/pyzmq-26.2.1-cp313-cp313t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:0b6a93d684278ad865fc0b9e89fe33f6ea72d36da0e842143891278ff7fd89c3", size = 853196 }, + { url = "https://files.pythonhosted.org/packages/8f/35/c17241da01195001828319e98517683dad0ac4df6fcba68763d61b630390/pyzmq-26.2.1-cp313-cp313t-manylinux_2_28_x86_64.whl", hash = "sha256:c1bb37849e2294d519117dd99b613c5177934e5c04a5bb05dd573fa42026567e", size = 855133 }, + { url = "https://files.pythonhosted.org/packages/d2/14/268ee49bbecc3f72e225addeac7f0e2bd5808747b78c7bf7f87ed9f9d5a8/pyzmq-26.2.1-cp313-cp313t-musllinux_1_1_aarch64.whl", hash = "sha256:632a09c6d8af17b678d84df442e9c3ad8e4949c109e48a72f805b22506c4afa7", size = 1191612 }, + { url = "https://files.pythonhosted.org/packages/5e/02/6394498620b1b4349b95c534f3ebc3aef95f39afbdced5ed7ee315c49c14/pyzmq-26.2.1-cp313-cp313t-musllinux_1_1_i686.whl", hash = "sha256:fc409c18884eaf9ddde516d53af4f2db64a8bc7d81b1a0c274b8aa4e929958e8", size = 1500824 }, + { url = "https://files.pythonhosted.org/packages/17/fc/b79f0b72891cbb9917698add0fede71dfb64e83fa3481a02ed0e78c34be7/pyzmq-26.2.1-cp313-cp313t-musllinux_1_1_x86_64.whl", hash = "sha256:17f88622b848805d3f6427ce1ad5a2aa3cf61f12a97e684dab2979802024d460", size = 1399943 }, + { url = "https://files.pythonhosted.org/packages/d2/bb/fe5b78f58dd7846a8a5255d74c3aa475ed6450c68338554222a929695b29/pyzmq-26.2.1-cp38-cp38-macosx_10_15_universal2.whl", hash = "sha256:36d4e7307db7c847fe37413f333027d31c11d5e6b3bacbb5022661ac635942ba", size = 1345877 }, + { url = "https://files.pythonhosted.org/packages/cd/74/b77cab27649917e8a7304c0a4b57f138a092177106a680cccc541189af40/pyzmq-26.2.1-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:1c6ae0e95d0a4b0cfe30f648a18e764352d5415279bdf34424decb33e79935b8", size = 942846 }, + { url = "https://files.pythonhosted.org/packages/8c/18/aae170eb81d5b4d65082ffc7a115487d5985e0733d053b67a2320cf9065e/pyzmq-26.2.1-cp38-cp38-manylinux_2_12_i686.manylinux2010_i686.whl", hash = "sha256:5b4fc44f5360784cc02392f14235049665caaf7c0fe0b04d313e763d3338e463", size = 913016 }, + { url = "https://files.pythonhosted.org/packages/6c/15/d333cb6d96b3740b5b3fba6ff48fb9076266a85da140b02d435429d93779/pyzmq-26.2.1-cp38-cp38-manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:51431f6b2750eb9b9d2b2952d3cc9b15d0215e1b8f37b7a3239744d9b487325d", size = 867683 }, + { url = "https://files.pythonhosted.org/packages/2b/21/bf8e5e27abc0b08416544fc4563d45052ba9219b794d76c83b7e5e026f8e/pyzmq-26.2.1-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:bdbc78ae2065042de48a65f1421b8af6b76a0386bb487b41955818c3c1ce7bed", size = 679167 }, + { url = "https://files.pythonhosted.org/packages/7d/e1/79b567380a967cd525bac814a68585a8cdd5c5ba5bff3c890d3ed559e55c/pyzmq-26.2.1-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:d14f50d61a89b0925e4d97a0beba6053eb98c426c5815d949a43544f05a0c7ec", size = 1212285 }, + { url = "https://files.pythonhosted.org/packages/a5/c1/339456da6fded90d05c7930686bed1ae6cb5d42fcdb4619ee959cb81eb18/pyzmq-26.2.1-cp38-cp38-musllinux_1_1_i686.whl", hash = "sha256:004837cb958988c75d8042f5dac19a881f3d9b3b75b2f574055e22573745f841", size = 1521549 }, + { url = "https://files.pythonhosted.org/packages/b2/26/4b1d9ce3152658535c43b4dc8d0d107c534ba3ef0cf9d4e46b1f87f46e6e/pyzmq-26.2.1-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:0b2007f28ce1b8acebdf4812c1aab997a22e57d6a73b5f318b708ef9bcabbe95", size = 1422824 }, + { url = "https://files.pythonhosted.org/packages/b5/1a/eea539099f165c9e9a496eeadc181091022a8e401554eaa7a1e8eb056235/pyzmq-26.2.1-cp38-cp38-win32.whl", hash = "sha256:269c14904da971cb5f013100d1aaedb27c0a246728c341d5d61ddd03f463f2f3", size = 583745 }, + { url = "https://files.pythonhosted.org/packages/95/74/7dddec65ba0df90489a16221ca4db4616bf4b0aac42650d3708b54007286/pyzmq-26.2.1-cp38-cp38-win_amd64.whl", hash = "sha256:31fff709fef3b991cfe7189d2cfe0c413a1d0e82800a182cfa0c2e3668cd450f", size = 648270 }, + { url = "https://files.pythonhosted.org/packages/8d/a4/42e404040ccb3f65bd3b40e368dc96fb04b8e7eea1ecd3ac2ef0e70c51f3/pyzmq-26.2.1-cp39-cp39-macosx_10_15_universal2.whl", hash = "sha256:a4bffcadfd40660f26d1b3315a6029fd4f8f5bf31a74160b151f5c577b2dc81b", size = 1346647 }, + { url = "https://files.pythonhosted.org/packages/d5/d9/045ee93500e3f8cbd2a7b30a9533cba7b857b51b3bb4ec44fa61eb6d36ef/pyzmq-26.2.1-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:e76ad4729c2f1cf74b6eb1bdd05f6aba6175999340bd51e6caee49a435a13bf5", size = 943305 }, + { url = "https://files.pythonhosted.org/packages/5c/3b/9437cae0bfd3889dc7741ed9c132dc09c2a1fcae05a2e1b1af41a23a77a2/pyzmq-26.2.1-cp39-cp39-manylinux_2_12_i686.manylinux2010_i686.whl", hash = "sha256:8b0f5bab40a16e708e78a0c6ee2425d27e1a5d8135c7a203b4e977cee37eb4aa", size = 913424 }, + { url = "https://files.pythonhosted.org/packages/5c/16/f1f0e36c9c15247901379b45bd3f7cc15f540b62c9c34c28e735550014b4/pyzmq-26.2.1-cp39-cp39-manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:e8e47050412f0ad3a9b2287779758073cbf10e460d9f345002d4779e43bb0136", size = 867471 }, + { url = "https://files.pythonhosted.org/packages/70/68/3a0dd3b6386d725ffb98378cd046e15333fbcc1e2b3b48dbcda73259a752/pyzmq-26.2.1-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:7f18ce33f422d119b13c1363ed4cce245b342b2c5cbbb76753eabf6aa6f69c7d", size = 679051 }, + { url = "https://files.pythonhosted.org/packages/46/9a/0c57cd9c0aae885a096f0c7ebd658f6c7fda49973e484bf7f1c47288beae/pyzmq-26.2.1-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:ceb0d78b7ef106708a7e2c2914afe68efffc0051dc6a731b0dbacd8b4aee6d68", size = 1208959 }, + { url = "https://files.pythonhosted.org/packages/61/f7/22dcf86ab2a4d458a300698972212be327a66e35785649e9f4bad2260f1c/pyzmq-26.2.1-cp39-cp39-musllinux_1_1_i686.whl", hash = "sha256:7ebdd96bd637fd426d60e86a29ec14b8c1ab64b8d972f6a020baf08a30d1cf46", size = 1521237 }, + { url = "https://files.pythonhosted.org/packages/b4/20/854bb34ac377efbe15d791d6e0bf991d8127cc6d471cd9a2666a13b4f3ba/pyzmq-26.2.1-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:03719e424150c6395b9513f53a5faadcc1ce4b92abdf68987f55900462ac7eec", size = 1420720 }, + { url = "https://files.pythonhosted.org/packages/6d/e3/07816d8b50a506f6f59d0023b8fefa109d5549a874b9d250137e85dc4305/pyzmq-26.2.1-cp39-cp39-win32.whl", hash = "sha256:ef5479fac31df4b304e96400fc67ff08231873ee3537544aa08c30f9d22fce38", size = 584311 }, + { url = "https://files.pythonhosted.org/packages/9f/78/eeb040669d0ac1fc3c061c8053e96a49e5c612041f462b026ad154001ac1/pyzmq-26.2.1-cp39-cp39-win_amd64.whl", hash = "sha256:f92a002462154c176dac63a8f1f6582ab56eb394ef4914d65a9417f5d9fde218", size = 647856 }, + { url = "https://files.pythonhosted.org/packages/2c/c9/55eb55eda712573ca759e17b9018a2f9dbc4dd34bc7c862c36d574a40b1f/pyzmq-26.2.1-cp39-cp39-win_arm64.whl", hash = "sha256:1fd4b3efc6f62199886440d5e27dd3ccbcb98dfddf330e7396f1ff421bfbb3c2", size = 562372 }, + { url = "https://files.pythonhosted.org/packages/65/d1/e630a75cfb2534574a1258fda54d02f13cf80b576d4ce6d2aa478dc67829/pyzmq-26.2.1-pp310-pypy310_pp73-macosx_10_15_x86_64.whl", hash = "sha256:380816d298aed32b1a97b4973a4865ef3be402a2e760204509b52b6de79d755d", size = 847743 }, + { url = "https://files.pythonhosted.org/packages/27/df/f94a711b4f6c4b41e227f9a938103f52acf4c2e949d91cbc682495a48155/pyzmq-26.2.1-pp310-pypy310_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:97cbb368fd0debdbeb6ba5966aa28e9a1ae3396c7386d15569a6ca4be4572b99", size = 570991 }, + { url = "https://files.pythonhosted.org/packages/bf/08/0c6f97fb3c9dbfa23382f0efaf8f9aa1396a08a3358974eaae3ee659ed5c/pyzmq-26.2.1-pp310-pypy310_pp73-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:abf7b5942c6b0dafcc2823ddd9154f419147e24f8df5b41ca8ea40a6db90615c", size = 799664 }, + { url = "https://files.pythonhosted.org/packages/05/14/f4d4fd8bb8988c667845734dd756e9ee65b9a17a010d5f288dfca14a572d/pyzmq-26.2.1-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:3fe6e28a8856aea808715f7a4fc11f682b9d29cac5d6262dd8fe4f98edc12d53", size = 758156 }, + { url = "https://files.pythonhosted.org/packages/e3/fe/72e7e166bda3885810bee7b23049133e142f7c80c295bae02c562caeea16/pyzmq-26.2.1-pp310-pypy310_pp73-win_amd64.whl", hash = "sha256:bd8fdee945b877aa3bffc6a5a8816deb048dab0544f9df3731ecd0e54d8c84c9", size = 556563 }, + { url = "https://files.pythonhosted.org/packages/c9/e9/892d0c9654a7ec5ea0b06b40f87b3f255d1440d8b5500dc9bf4b7079de95/pyzmq-26.2.1-pp38-pypy38_pp73-macosx_10_9_x86_64.whl", hash = "sha256:70b3a46ecd9296e725ccafc17d732bfc3cdab850b54bd913f843a0a54dfb2c04", size = 847718 }, + { url = "https://files.pythonhosted.org/packages/b1/4f/1e820f2706df3940f1a1bcbc072515ac5346f2c0e20c300623cf968eb35a/pyzmq-26.2.1-pp38-pypy38_pp73-manylinux_2_12_i686.manylinux2010_i686.whl", hash = "sha256:59660e15c797a3b7a571c39f8e0b62a1f385f98ae277dfe95ca7eaf05b5a0f12", size = 807438 }, + { url = "https://files.pythonhosted.org/packages/ff/ce/a575e9dedc47a83425faa7be99154bf206b3924c5acb0f76212f45933d2d/pyzmq-26.2.1-pp38-pypy38_pp73-manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:0f50db737d688e96ad2a083ad2b453e22865e7e19c7f17d17df416e91ddf67eb", size = 762214 }, + { url = "https://files.pythonhosted.org/packages/ed/89/641e79c58155d8093e4f9acce823121d2402b5ed8a6bf1b5f3c47a2586fa/pyzmq-26.2.1-pp38-pypy38_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a003200b6cd64e89b5725ff7e284a93ab24fd54bbac8b4fa46b1ed57be693c27", size = 570989 }, + { url = "https://files.pythonhosted.org/packages/3a/b2/439341a8304f4a99027a4170349638e9ff0063bbc97bbf2104d53b7e13b3/pyzmq-26.2.1-pp38-pypy38_pp73-win_amd64.whl", hash = "sha256:f9ba5def063243793dec6603ad1392f735255cbc7202a3a484c14f99ec290705", size = 556559 }, + { url = "https://files.pythonhosted.org/packages/d9/6b/f27dfd4b7b3d6a8bd39ab1469fb8f8685c597d6772cbf3b39b1c4d798eee/pyzmq-26.2.1-pp39-pypy39_pp73-macosx_10_15_x86_64.whl", hash = "sha256:1238c2448c58b9c8d6565579393148414a42488a5f916b3f322742e561f6ae0d", size = 847735 }, + { url = "https://files.pythonhosted.org/packages/f5/1f/fe0698f36c619bc960e97efe9a8ece412a7dc4c80e0bd603cde81731c6ca/pyzmq-26.2.1-pp39-pypy39_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:8eddb3784aed95d07065bcf94d07e8c04024fdb6b2386f08c197dfe6b3528fda", size = 570986 }, + { url = "https://files.pythonhosted.org/packages/91/2e/f7f6c00d16db2b1936f3cd3b8362c391e40dd16a646b92ebf2f3b28206ee/pyzmq-26.2.1-pp39-pypy39_pp73-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:f0f19c2097fffb1d5b07893d75c9ee693e9cbc809235cf3f2267f0ef6b015f24", size = 799658 }, + { url = "https://files.pythonhosted.org/packages/50/98/aa114911fcb65645099d6db5694a49975ef442f2c34532ea5365b6ec6da8/pyzmq-26.2.1-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:0995fd3530f2e89d6b69a2202e340bbada3191014352af978fa795cb7a446331", size = 758151 }, + { url = "https://files.pythonhosted.org/packages/53/58/9909ad7a3112999a30464c5c92937c9eec5f5e6905a1eee45fd99788ce56/pyzmq-26.2.1-pp39-pypy39_pp73-manylinux_2_28_x86_64.whl", hash = "sha256:7c6160fe513654e65665332740f63de29ce0d165e053c0c14a161fa60dd0da01", size = 756685 }, + { url = "https://files.pythonhosted.org/packages/01/28/1c0f44e609b91a1168aaf4ac38511645fd725593b41cd54ef06744d502ff/pyzmq-26.2.1-pp39-pypy39_pp73-win_amd64.whl", hash = "sha256:8ec8e3aea6146b761d6c57fcf8f81fcb19f187afecc19bf1701a48db9617a217", size = 556558 }, ] [[package]] @@ -4013,12 +4099,9 @@ name = "readme-renderer" version = "44.0" source = { registry = "https://pypi.org/simple" } resolution-markers = [ - "python_full_version >= '3.13' and sys_platform == 'darwin'", - "python_full_version >= '3.13' and platform_machine == 'aarch64' and sys_platform == 'linux'", - "(python_full_version >= '3.13' and platform_machine != 'aarch64' and sys_platform == 'linux') or (python_full_version >= '3.13' and sys_platform != 'darwin' and sys_platform != 'linux')", - "python_full_version == '3.12.*' and sys_platform == 'darwin'", - "python_full_version == '3.12.*' and platform_machine == 'aarch64' and sys_platform == 'linux'", - "(python_full_version == '3.12.*' and platform_machine != 'aarch64' and sys_platform == 'linux') or (python_full_version == '3.12.*' and sys_platform != 'darwin' and sys_platform != 'linux')", + "python_full_version >= '3.12' and sys_platform == 'darwin'", + "python_full_version >= '3.12' and platform_machine == 'aarch64' and sys_platform == 'linux'", + "(python_full_version >= '3.12' and platform_machine != 'aarch64' and sys_platform == 'linux') or (python_full_version >= '3.12' and sys_platform != 'darwin' and sys_platform != 'linux')", "python_full_version == '3.11.*' and sys_platform == 'darwin'", "python_full_version == '3.11.*' and platform_machine == 'aarch64' and sys_platform == 'linux'", "(python_full_version == '3.11.*' and platform_machine != 'aarch64' and sys_platform == 'linux') or (python_full_version == '3.11.*' and sys_platform != 'darwin' and sys_platform != 'linux')", @@ -4043,16 +4126,48 @@ wheels = [ name = "referencing" version = "0.35.1" source = { registry = "https://pypi.org/simple" } +resolution-markers = [ + "python_full_version < '3.9' and platform_machine == 'arm64' and sys_platform == 'darwin'", + "python_full_version < '3.9' and platform_machine == 'aarch64' and sys_platform == 'linux'", + "(python_full_version < '3.9' and platform_machine != 'arm64' and sys_platform == 'darwin') or (python_full_version < '3.9' and platform_machine != 'aarch64' and sys_platform == 'linux') or (python_full_version < '3.9' and sys_platform != 'darwin' and sys_platform != 'linux')", +] dependencies = [ - { name = "attrs" }, + { name = "attrs", marker = "python_full_version < '3.9'" }, { name = "rpds-py", version = "0.20.1", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.9'" }, - { name = "rpds-py", version = "0.22.3", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.9'" }, ] sdist = { url = "https://files.pythonhosted.org/packages/99/5b/73ca1f8e72fff6fa52119dbd185f73a907b1989428917b24cff660129b6d/referencing-0.35.1.tar.gz", hash = "sha256:25b42124a6c8b632a425174f24087783efb348a6f1e0008e63cd4466fedf703c", size = 62991 } wheels = [ { url = "https://files.pythonhosted.org/packages/b7/59/2056f61236782a2c86b33906c025d4f4a0b17be0161b63b70fd9e8775d36/referencing-0.35.1-py3-none-any.whl", hash = "sha256:eda6d3234d62814d1c64e305c1331c9a3a6132da475ab6382eaa997b21ee75de", size = 26684 }, ] +[[package]] +name = "referencing" +version = "0.36.2" +source = { registry = "https://pypi.org/simple" } +resolution-markers = [ + "python_full_version >= '3.12' and sys_platform == 'darwin'", + "python_full_version >= '3.12' and platform_machine == 'aarch64' and sys_platform == 'linux'", + "(python_full_version >= '3.12' and platform_machine != 'aarch64' and sys_platform == 'linux') or (python_full_version >= '3.12' and sys_platform != 'darwin' and sys_platform != 'linux')", + "python_full_version == '3.11.*' and sys_platform == 'darwin'", + "python_full_version == '3.11.*' and platform_machine == 'aarch64' and sys_platform == 'linux'", + "(python_full_version == '3.11.*' and platform_machine != 'aarch64' and sys_platform == 'linux') or (python_full_version == '3.11.*' and sys_platform != 'darwin' and sys_platform != 'linux')", + "python_full_version == '3.10.*' and sys_platform == 'darwin'", + "python_full_version == '3.10.*' and platform_machine == 'aarch64' and sys_platform == 'linux'", + "(python_full_version == '3.10.*' and platform_machine != 'aarch64' and sys_platform == 'linux') or (python_full_version == '3.10.*' and sys_platform != 'darwin' and sys_platform != 'linux')", + "python_full_version == '3.9.*' and platform_machine == 'arm64' and sys_platform == 'darwin'", + "python_full_version == '3.9.*' and platform_machine == 'aarch64' and sys_platform == 'linux'", + "(python_full_version == '3.9.*' and platform_machine != 'arm64' and sys_platform == 'darwin') or (python_full_version == '3.9.*' and platform_machine != 'aarch64' and sys_platform == 'linux') or (python_full_version == '3.9.*' and sys_platform != 'darwin' and sys_platform != 'linux')", +] +dependencies = [ + { name = "attrs", marker = "python_full_version >= '3.9'" }, + { name = "rpds-py", version = "0.22.3", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.9'" }, + { name = "typing-extensions", marker = "python_full_version >= '3.9' and python_full_version < '3.13'" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/2f/db/98b5c277be99dd18bfd91dd04e1b759cad18d1a338188c936e92f921c7e2/referencing-0.36.2.tar.gz", hash = "sha256:df2e89862cd09deabbdba16944cc3f10feb6b3e6f18e902f7cc25609a34775aa", size = 74744 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/c1/b1/3baf80dc6d2b7bc27a95a67752d0208e410351e3feb4eb78de5f77454d8d/referencing-0.36.2-py3-none-any.whl", hash = "sha256:e8699adbbf8b5c7de96d8ffa0eb5c158b3beafce084968e2ea8bb08c6794dcd0", size = 26775 }, +] + [[package]] name = "regex" version = "2024.11.6" @@ -4346,12 +4461,9 @@ name = "rpds-py" version = "0.22.3" source = { registry = "https://pypi.org/simple" } resolution-markers = [ - "python_full_version >= '3.13' and sys_platform == 'darwin'", - "python_full_version >= '3.13' and platform_machine == 'aarch64' and sys_platform == 'linux'", - "(python_full_version >= '3.13' and platform_machine != 'aarch64' and sys_platform == 'linux') or (python_full_version >= '3.13' and sys_platform != 'darwin' and sys_platform != 'linux')", - "python_full_version == '3.12.*' and sys_platform == 'darwin'", - "python_full_version == '3.12.*' and platform_machine == 'aarch64' and sys_platform == 'linux'", - "(python_full_version == '3.12.*' and platform_machine != 'aarch64' and sys_platform == 'linux') or (python_full_version == '3.12.*' and sys_platform != 'darwin' and sys_platform != 'linux')", + "python_full_version >= '3.12' and sys_platform == 'darwin'", + "python_full_version >= '3.12' and platform_machine == 'aarch64' and sys_platform == 'linux'", + "(python_full_version >= '3.12' and platform_machine != 'aarch64' and sys_platform == 'linux') or (python_full_version >= '3.12' and sys_platform != 'darwin' and sys_platform != 'linux')", "python_full_version == '3.11.*' and sys_platform == 'darwin'", "python_full_version == '3.11.*' and platform_machine == 'aarch64' and sys_platform == 'linux'", "(python_full_version == '3.11.*' and platform_machine != 'aarch64' and sys_platform == 'linux') or (python_full_version == '3.11.*' and sys_platform != 'darwin' and sys_platform != 'linux')", @@ -4470,7 +4582,7 @@ wheels = [ [[package]] name = "scipy" -version = "1.10.0" +version = "1.10.1" source = { registry = "https://pypi.org/simple" } resolution-markers = [ "python_full_version < '3.9' and platform_machine == 'arm64' and sys_platform == 'darwin'", @@ -4480,28 +4592,28 @@ resolution-markers = [ dependencies = [ { name = "numpy", version = "1.24.4", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.9'" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/d6/bd/2d13a273d95f7b7d9903c906c486040b0aebb85e008f93a5dd0891f21f1f/scipy-1.10.0.tar.gz", hash = "sha256:c8b3cbc636a87a89b770c6afc999baa6bcbb01691b5ccbbc1b1791c7c0a07540", size = 42398693 } -wheels = [ - { url = "https://files.pythonhosted.org/packages/45/4e/250f55436fe2cec3db808ca6befa16d294935a21ed2b9dc03d0238ead769/scipy-1.10.0-cp310-cp310-macosx_10_15_x86_64.whl", hash = "sha256:b901b423c91281a974f6cd1c36f5c6c523e665b5a6d5e80fcb2334e14670eefd", size = 35087572 }, - { url = "https://files.pythonhosted.org/packages/5e/e3/ac8daa4adf427ef0f9913350e74b985ecd838ad32eafc3aa844f0760e839/scipy-1.10.0-cp310-cp310-macosx_12_0_arm64.whl", hash = "sha256:16ba05d3d1b9f2141004f3f36888e05894a525960b07f4c2bfc0456b955a00be", size = 28767166 }, - { url = "https://files.pythonhosted.org/packages/5f/12/1f00e9b92ae6feb2da0d0ef1d1c5672903fc7f18e1c53123b69ebd65ecef/scipy-1.10.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:151f066fe7d6653c3ffefd489497b8fa66d7316e3e0d0c0f7ff6acca1b802809", size = 30880785 }, - { url = "https://files.pythonhosted.org/packages/76/22/287d06df9b359ba6df3f986e83267f240132379e4181c43cead3c5d41227/scipy-1.10.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:2f9ea0a37aca111a407cb98aa4e8dfde6e5d9333bae06dfa5d938d14c80bb5c3", size = 34415334 }, - { url = "https://files.pythonhosted.org/packages/ec/97/719e7c5b5081524b056652eec1e31c08a54f262f00dae62089094bde66b3/scipy-1.10.0-cp310-cp310-win_amd64.whl", hash = "sha256:27e548276b5a88b51212b61f6dda49a24acf5d770dff940bd372b3f7ced8c6c2", size = 42482989 }, - { url = "https://files.pythonhosted.org/packages/7a/23/13579b64ab458782a43e11e1ad095488458b8df099063ae07773666adada/scipy-1.10.0-cp311-cp311-macosx_10_15_x86_64.whl", hash = "sha256:42ab8b9e7dc1ebe248e55f54eea5307b6ab15011a7883367af48dd781d1312e4", size = 34984684 }, - { url = "https://files.pythonhosted.org/packages/fc/c9/a58b6c6ade3e80f76b134632fad491438b78c844ee54e590c7b842cb9de3/scipy-1.10.0-cp311-cp311-macosx_12_0_arm64.whl", hash = "sha256:e096b062d2efdea57f972d232358cb068413dc54eec4f24158bcbb5cb8bddfd8", size = 28705456 }, - { url = "https://files.pythonhosted.org/packages/d5/80/b23382de9c50509afd151d6876dca33cafef2237a36f74ac7f3bfc327fc2/scipy-1.10.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:4df25a28bd22c990b22129d3c637fd5c3be4b7c94f975dca909d8bab3309b694", size = 30677591 }, - { url = "https://files.pythonhosted.org/packages/da/b8/03dae1cd4fa687d84cd60513aef17efecf7c277bc771bb96a1d8780dd734/scipy-1.10.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:2ad449db4e0820e4b42baccefc98ec772ad7818dcbc9e28b85aa05a536b0f1a2", size = 34124731 }, - { url = "https://files.pythonhosted.org/packages/c3/c4/8efe05b8ee86c7276448ef54f71ddb194416b881bc7a0d3c353279eea6aa/scipy-1.10.0-cp311-cp311-win_amd64.whl", hash = "sha256:6faf86ef7717891195ae0537e48da7524d30bc3b828b30c9b115d04ea42f076f", size = 42226259 }, - { url = "https://files.pythonhosted.org/packages/a3/05/58699e7030b03ca34be52ba03d3f9403dc419b07fce6bdeb8bea09cf3fb0/scipy-1.10.0-cp38-cp38-macosx_10_15_x86_64.whl", hash = "sha256:4bd0e3278126bc882d10414436e58fa3f1eca0aa88b534fcbf80ed47e854f46c", size = 35037284 }, - { url = "https://files.pythonhosted.org/packages/3c/85/3aa622ec7fd2efb41a59eacb4d503214d71e7c84a59caffe083599c51963/scipy-1.10.0-cp38-cp38-macosx_12_0_arm64.whl", hash = "sha256:38bfbd18dcc69eeb589811e77fae552fa923067fdfbb2e171c9eac749885f210", size = 28792828 }, - { url = "https://files.pythonhosted.org/packages/74/44/694d9472d7edade2d95ace485740d00ec3621a53339650e8005ce25a9bc9/scipy-1.10.0-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:0ab2a58064836632e2cec31ca197d3695c86b066bc4818052b3f5381bfd2a728", size = 31018399 }, - { url = "https://files.pythonhosted.org/packages/d9/9c/ed263f84bb54ce0a4b0774f8ef21b45a70d54196a1b4bca9bb7a3c837437/scipy-1.10.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:5cd7a30970c29d9768a7164f564d1fbf2842bfc77b7d114a99bc32703ce0bf48", size = 34534555 }, - { url = "https://files.pythonhosted.org/packages/f0/17/c26457e774951eb145db3eb69f9896d05a47900023e4e90c11d3e4cd7972/scipy-1.10.0-cp38-cp38-win_amd64.whl", hash = "sha256:9b878c671655864af59c108c20e4da1e796154bd78c0ed6bb02bc41c84625686", size = 42202081 }, - { url = "https://files.pythonhosted.org/packages/9f/31/c78e7c54a62bd986051c76e18ca38dc962fdf4e4078485d4307d61339dc7/scipy-1.10.0-cp39-cp39-macosx_10_15_x86_64.whl", hash = "sha256:3afcbddb4488ac950ce1147e7580178b333a29cd43524c689b2e3543a080a2c8", size = 35152252 }, - { url = "https://files.pythonhosted.org/packages/2b/54/7536dbfcbea26ca2c11d3c55b0c2d806d4349b5852318e12b98ffee27bd8/scipy-1.10.0-cp39-cp39-macosx_12_0_arm64.whl", hash = "sha256:6e4497e5142f325a5423ff5fda2fff5b5d953da028637ff7c704378c8c284ea7", size = 28896651 }, - { url = "https://files.pythonhosted.org/packages/f3/c7/16537a3e7178a08329d455d7b1c6f43177034e708a0c2517f9e308560019/scipy-1.10.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:441cab2166607c82e6d7a8683779cb89ba0f475b983c7e4ab88f3668e268c143", size = 30953174 }, - { url = "https://files.pythonhosted.org/packages/30/71/bb9e677e30c52f938ff71ba528915c579e794ac0f59804e06bfed3596dff/scipy-1.10.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:0490dc499fe23e4be35b8b6dd1e60a4a34f0c4adb30ac671e6332446b3cbbb5a", size = 34449528 }, - { url = "https://files.pythonhosted.org/packages/b5/16/6261fb37606565833f7437692e57edd1f29f3e9dd3f3873720a2d25558b0/scipy-1.10.0-cp39-cp39-win_amd64.whl", hash = "sha256:954ff69d2d1bf666b794c1d7216e0a746c9d9289096a64ab3355a17c7c59db54", size = 42503388 }, +sdist = { url = "https://files.pythonhosted.org/packages/84/a9/2bf119f3f9cff1f376f924e39cfae18dec92a1514784046d185731301281/scipy-1.10.1.tar.gz", hash = "sha256:2cf9dfb80a7b4589ba4c40ce7588986d6d5cebc5457cad2c2880f6bc2d42f3a5", size = 42407997 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/0a/ac/b1f1bbf7b01d96495f35be003b881f10f85bf6559efb6e9578da832c2140/scipy-1.10.1-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:e7354fd7527a4b0377ce55f286805b34e8c54b91be865bac273f527e1b839019", size = 35093243 }, + { url = "https://files.pythonhosted.org/packages/ea/e5/452086ebed676ce4000ceb5eeeb0ee4f8c6f67c7e70fb9323a370ff95c1f/scipy-1.10.1-cp310-cp310-macosx_12_0_arm64.whl", hash = "sha256:4b3f429188c66603a1a5c549fb414e4d3bdc2a24792e061ffbd607d3d75fd84e", size = 28772969 }, + { url = "https://files.pythonhosted.org/packages/04/0b/a1b119c869b79a2ab459b7f9fd7e2dea75a9c7d432e64e915e75586bd00b/scipy-1.10.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:1553b5dcddd64ba9a0d95355e63fe6c3fc303a8fd77c7bc91e77d61363f7433f", size = 30886961 }, + { url = "https://files.pythonhosted.org/packages/1f/4b/3bacad9a166350cb2e518cea80ab891016933cc1653f15c90279512c5fa9/scipy-1.10.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:4c0ff64b06b10e35215abce517252b375e580a6125fd5fdf6421b98efbefb2d2", size = 34422544 }, + { url = "https://files.pythonhosted.org/packages/ec/e3/b06ac3738bf365e89710205a471abe7dceec672a51c244b469bc5d1291c7/scipy-1.10.1-cp310-cp310-win_amd64.whl", hash = "sha256:fae8a7b898c42dffe3f7361c40d5952b6bf32d10c4569098d276b4c547905ee1", size = 42484848 }, + { url = "https://files.pythonhosted.org/packages/e7/53/053cd3669be0d474deae8fe5f757bff4c4f480b8a410231e0631c068873d/scipy-1.10.1-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:0f1564ea217e82c1bbe75ddf7285ba0709ecd503f048cb1236ae9995f64217bd", size = 35003170 }, + { url = "https://files.pythonhosted.org/packages/0d/3e/d05b9de83677195886fb79844fcca19609a538db63b1790fa373155bc3cf/scipy-1.10.1-cp311-cp311-macosx_12_0_arm64.whl", hash = "sha256:d925fa1c81b772882aa55bcc10bf88324dadb66ff85d548c71515f6689c6dac5", size = 28717513 }, + { url = "https://files.pythonhosted.org/packages/a5/3d/b69746c50e44893da57a68457da3d7e5bb75f6a37fbace3769b70d017488/scipy-1.10.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:aaea0a6be54462ec027de54fca511540980d1e9eea68b2d5c1dbfe084797be35", size = 30687257 }, + { url = "https://files.pythonhosted.org/packages/21/cd/fe2d4af234b80dc08c911ce63fdaee5badcdde3e9bcd9a68884580652ef0/scipy-1.10.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:15a35c4242ec5f292c3dd364a7c71a61be87a3d4ddcc693372813c0b73c9af1d", size = 34124096 }, + { url = "https://files.pythonhosted.org/packages/65/76/903324159e4a3566e518c558aeb21571d642f781d842d8dd0fd9c6b0645a/scipy-1.10.1-cp311-cp311-win_amd64.whl", hash = "sha256:43b8e0bcb877faf0abfb613d51026cd5cc78918e9530e375727bf0625c82788f", size = 42238704 }, + { url = "https://files.pythonhosted.org/packages/a0/e3/37508a11dae501349d7c16e4dd18c706a023629eedc650ee094593887a89/scipy-1.10.1-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:5678f88c68ea866ed9ebe3a989091088553ba12c6090244fdae3e467b1139c35", size = 35041063 }, + { url = "https://files.pythonhosted.org/packages/93/4a/50c436de1353cce8b66b26e49a687f10b91fe7465bf34e4565d810153003/scipy-1.10.1-cp38-cp38-macosx_12_0_arm64.whl", hash = "sha256:39becb03541f9e58243f4197584286e339029e8908c46f7221abeea4b749fa88", size = 28797694 }, + { url = "https://files.pythonhosted.org/packages/d2/b5/ff61b79ad0ebd15d87ade10e0f4e80114dd89fac34a5efade39e99048c91/scipy-1.10.1-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:bce5869c8d68cf383ce240e44c1d9ae7c06078a9396df68ce88a1230f93a30c1", size = 31024657 }, + { url = "https://files.pythonhosted.org/packages/69/f0/fb07a9548e48b687b8bf2fa81d71aba9cfc548d365046ca1c791e24db99d/scipy-1.10.1-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:07c3457ce0b3ad5124f98a86533106b643dd811dd61b548e78cf4c8786652f6f", size = 34540352 }, + { url = "https://files.pythonhosted.org/packages/32/8e/7f403535ddf826348c9b8417791e28712019962f7e90ff845896d6325d09/scipy-1.10.1-cp38-cp38-win_amd64.whl", hash = "sha256:049a8bbf0ad95277ffba9b3b7d23e5369cc39e66406d60422c8cfef40ccc8415", size = 42215036 }, + { url = "https://files.pythonhosted.org/packages/d9/7d/78b8035bc93c869b9f17261c87aae97a9cdb937f65f0d453c2831aa172fc/scipy-1.10.1-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:cd9f1027ff30d90618914a64ca9b1a77a431159df0e2a195d8a9e8a04c78abf9", size = 35158611 }, + { url = "https://files.pythonhosted.org/packages/e7/f0/55d81813b1a4cb79ce7dc8290eac083bf38bfb36e1ada94ea13b7b1a5f79/scipy-1.10.1-cp39-cp39-macosx_12_0_arm64.whl", hash = "sha256:79c8e5a6c6ffaf3a2262ef1be1e108a035cf4f05c14df56057b64acc5bebffb6", size = 28902591 }, + { url = "https://files.pythonhosted.org/packages/77/d1/722c457b319eed1d642e0a14c9be37eb475f0e6ed1f3401fa480d5d6d36e/scipy-1.10.1-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:51af417a000d2dbe1ec6c372dfe688e041a7084da4fdd350aeb139bd3fb55353", size = 30960654 }, + { url = "https://files.pythonhosted.org/packages/5d/30/b2a2a5bf1a3beefb7609fb871dcc6aef7217c69cef19a4631b7ab5622a8a/scipy-1.10.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:1b4735d6c28aad3cdcf52117e0e91d6b39acd4272f3f5cd9907c24ee931ad601", size = 34458863 }, + { url = "https://files.pythonhosted.org/packages/35/20/0ec6246bbb43d18650c9a7cad6602e1a84fd8f9564a9b84cc5faf1e037d0/scipy-1.10.1-cp39-cp39-win_amd64.whl", hash = "sha256:7ff7f37b1bf4417baca958d254e8e2875d0cc23aaadbe65b3d5b3077b0eb23ea", size = 42509516 }, ] [[package]] @@ -4514,7 +4626,7 @@ resolution-markers = [ "(python_full_version == '3.9.*' and platform_machine != 'arm64' and sys_platform == 'darwin') or (python_full_version == '3.9.*' and platform_machine != 'aarch64' and sys_platform == 'linux') or (python_full_version == '3.9.*' and sys_platform != 'darwin' and sys_platform != 'linux')", ] dependencies = [ - { name = "numpy", version = "1.25.2", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version == '3.9.*'" }, + { name = "numpy", version = "2.0.2", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version == '3.9.*'" }, ] sdist = { url = "https://files.pythonhosted.org/packages/ae/00/48c2f661e2816ccf2ecd77982f6605b2950afe60f60a52b4cbbc2504aa8f/scipy-1.13.1.tar.gz", hash = "sha256:095a87a0312b08dfd6a6155cbbd310a8c51800fc931b8c0b84003014b874ed3c", size = 57210720 } wheels = [ @@ -4546,12 +4658,12 @@ wheels = [ [[package]] name = "scipy" -version = "1.14.0" +version = "1.15.1" source = { registry = "https://pypi.org/simple" } resolution-markers = [ - "python_full_version == '3.12.*' and sys_platform == 'darwin'", - "python_full_version == '3.12.*' and platform_machine == 'aarch64' and sys_platform == 'linux'", - "(python_full_version == '3.12.*' and platform_machine != 'aarch64' and sys_platform == 'linux') or (python_full_version == '3.12.*' and sys_platform != 'darwin' and sys_platform != 'linux')", + "python_full_version >= '3.12' and sys_platform == 'darwin'", + "python_full_version >= '3.12' and platform_machine == 'aarch64' and sys_platform == 'linux'", + "(python_full_version >= '3.12' and platform_machine != 'aarch64' and sys_platform == 'linux') or (python_full_version >= '3.12' and sys_platform != 'darwin' and sys_platform != 'linux')", "python_full_version == '3.11.*' and sys_platform == 'darwin'", "python_full_version == '3.11.*' and platform_machine == 'aarch64' and sys_platform == 'linux'", "(python_full_version == '3.11.*' and platform_machine != 'aarch64' and sys_platform == 'linux') or (python_full_version == '3.11.*' and sys_platform != 'darwin' and sys_platform != 'linux')", @@ -4560,90 +4672,49 @@ resolution-markers = [ "(python_full_version == '3.10.*' and platform_machine != 'aarch64' and sys_platform == 'linux') or (python_full_version == '3.10.*' and sys_platform != 'darwin' and sys_platform != 'linux')", ] dependencies = [ - { name = "numpy", version = "1.25.2", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.10' and python_full_version < '3.12'" }, - { name = "numpy", version = "2.0.2", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version == '3.12.*'" }, -] -sdist = { url = "https://files.pythonhosted.org/packages/4e/e5/0230da034a2e1b1feb32621d7cd57c59484091d6dccc9e6b855b0d309fc9/scipy-1.14.0.tar.gz", hash = "sha256:b5923f48cb840380f9854339176ef21763118a7300a88203ccd0bdd26e58527b", size = 58618870 } -wheels = [ - { url = "https://files.pythonhosted.org/packages/c6/90/face72921ce52d74880b380e6f86b3caa6c65766c5808fbe179e208b9c6d/scipy-1.14.0-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:7e911933d54ead4d557c02402710c2396529540b81dd554fc1ba270eb7308484", size = 39120226 }, - { url = "https://files.pythonhosted.org/packages/6e/a1/0093566d31ae662e942d4079e2a4dea4256723bf3d072ae67f5ba41aee0d/scipy-1.14.0-cp310-cp310-macosx_12_0_arm64.whl", hash = "sha256:687af0a35462402dd851726295c1a5ae5f987bd6e9026f52e9505994e2f84ef6", size = 29866893 }, - { url = "https://files.pythonhosted.org/packages/52/21/05a182fb405a53dfbdf6415308bf185677e89188bc2206de011a3653f48e/scipy-1.14.0-cp310-cp310-macosx_14_0_arm64.whl", hash = "sha256:07e179dc0205a50721022344fb85074f772eadbda1e1b3eecdc483f8033709b7", size = 23076258 }, - { url = "https://files.pythonhosted.org/packages/5c/63/9954d14012a2f4aff4570f1aaf076d7f65f3fc246ae4483b765488d57d51/scipy-1.14.0-cp310-cp310-macosx_14_0_x86_64.whl", hash = "sha256:6a9c9a9b226d9a21e0a208bdb024c3982932e43811b62d202aaf1bb59af264b1", size = 25454715 }, - { url = "https://files.pythonhosted.org/packages/57/b8/ca969a99d34956c6546cbb9ea3f863a387009f68cdbad13cdb07db0cc23d/scipy-1.14.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:076c27284c768b84a45dcf2e914d4000aac537da74236a0d45d82c6fa4b7b3c0", size = 35569038 }, - { url = "https://files.pythonhosted.org/packages/e2/20/15c8fe0dfebb6facd81b3d08bf45dfa080e305deb17172b0a40eba59e927/scipy-1.14.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:42470ea0195336df319741e230626b6225a740fd9dce9642ca13e98f667047c0", size = 41135959 }, - { url = "https://files.pythonhosted.org/packages/df/a2/8721f93fbf98a69067d20bdfded36a7de2a3d811f192edba9eeefbde61b8/scipy-1.14.0-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:176c6f0d0470a32f1b2efaf40c3d37a24876cebf447498a4cefb947a79c21e9d", size = 41118514 }, - { url = "https://files.pythonhosted.org/packages/a3/0c/82c1330c08f31d61142d38cb9a185e01c2403c990d10dab208032e62d0fa/scipy-1.14.0-cp310-cp310-win_amd64.whl", hash = "sha256:ad36af9626d27a4326c8e884917b7ec321d8a1841cd6dacc67d2a9e90c2f0359", size = 44763252 }, - { url = "https://files.pythonhosted.org/packages/10/55/d6096721c0f0d7e7369da9660a854c14e6379ab7aba603ea5d492d77fa23/scipy-1.14.0-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:6d056a8709ccda6cf36cdd2eac597d13bc03dba38360f418560a93050c76a16e", size = 39129318 }, - { url = "https://files.pythonhosted.org/packages/56/95/1a3a04b5facab8287325ad2335dbb6b78b98d73690c832099c9c498f7a4d/scipy-1.14.0-cp311-cp311-macosx_12_0_arm64.whl", hash = "sha256:f0a50da861a7ec4573b7c716b2ebdcdf142b66b756a0d392c236ae568b3a93fb", size = 29880413 }, - { url = "https://files.pythonhosted.org/packages/8b/d2/78e3342f5db363ddf92de84007d43e47c8bb24363bd509e1b75a5102a25d/scipy-1.14.0-cp311-cp311-macosx_14_0_arm64.whl", hash = "sha256:94c164a9e2498e68308e6e148646e486d979f7fcdb8b4cf34b5441894bdb9caf", size = 23089804 }, - { url = "https://files.pythonhosted.org/packages/6a/d6/db686519059afb367e5a06935556b50fa422d792a658ce071f4527c785bf/scipy-1.14.0-cp311-cp311-macosx_14_0_x86_64.whl", hash = "sha256:a7d46c3e0aea5c064e734c3eac5cf9eb1f8c4ceee756262f2c7327c4c2691c86", size = 25479561 }, - { url = "https://files.pythonhosted.org/packages/6c/bb/f44e22697740893ffa84239ca3766bdb908c1c7135ebb272d5bd4bdc33e2/scipy-1.14.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:9eee2989868e274aae26125345584254d97c56194c072ed96cb433f32f692ed8", size = 35558723 }, - { url = "https://files.pythonhosted.org/packages/89/bb/80c9c98d887c855710fd31fc5ae5574133e98203b3475b07579251803662/scipy-1.14.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:9e3154691b9f7ed73778d746da2df67a19d046a6c8087c8b385bc4cdb2cfca74", size = 41132874 }, - { url = "https://files.pythonhosted.org/packages/c4/c6/b7a0774808a0f65bd3bba4558c8d6b90c24e852656087045a0a7ada24868/scipy-1.14.0-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:c40003d880f39c11c1edbae8144e3813904b10514cd3d3d00c277ae996488cdb", size = 41073588 }, - { url = "https://files.pythonhosted.org/packages/91/1d/0484130df7e33e044da88a091827d6441b77f907075bf7bbe145857d6590/scipy-1.14.0-cp311-cp311-win_amd64.whl", hash = "sha256:5b083c8940028bb7e0b4172acafda6df762da1927b9091f9611b0bcd8676f2bc", size = 44749773 }, - { url = "https://files.pythonhosted.org/packages/50/51/3aa6bcde60dec542c6b8363b6a871b02827a41f01ab9c0c9324464f8c4cd/scipy-1.14.0-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:bff2438ea1330e06e53c424893ec0072640dac00f29c6a43a575cbae4c99b2b9", size = 39176568 }, - { url = "https://files.pythonhosted.org/packages/5c/76/f2b91ea2d2b76504e845699271be9c0ca3492770614fb6b911fb517023de/scipy-1.14.0-cp312-cp312-macosx_12_0_arm64.whl", hash = "sha256:bbc0471b5f22c11c389075d091d3885693fd3f5e9a54ce051b46308bc787e5d4", size = 29925587 }, - { url = "https://files.pythonhosted.org/packages/09/70/5e756d3f90fe3fff64d1550db0fa6bb9eb76eedd084c568618f93441f08c/scipy-1.14.0-cp312-cp312-macosx_14_0_arm64.whl", hash = "sha256:64b2ff514a98cf2bb734a9f90d32dc89dc6ad4a4a36a312cd0d6327170339eb0", size = 23134915 }, - { url = "https://files.pythonhosted.org/packages/f2/1e/41e1a295dc54d21f6a6b2ff5e85e398b5aea076cf69fdedbc943b9c73b2d/scipy-1.14.0-cp312-cp312-macosx_14_0_x86_64.whl", hash = "sha256:7d3da42fbbbb860211a811782504f38ae7aaec9de8764a9bef6b262de7a2b50f", size = 25556831 }, - { url = "https://files.pythonhosted.org/packages/24/0e/c7812fbfa1e29e26cd28c6972be43e3fe49427c5f1663c4b992c431e247d/scipy-1.14.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d91db2c41dd6c20646af280355d41dfa1ec7eead235642178bd57635a3f82209", size = 35295529 }, - { url = "https://files.pythonhosted.org/packages/9b/00/ce54410e344b3a6032cd42ed53fe425cf57a66d28e337670292bbb419ebc/scipy-1.14.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:a01cc03bcdc777c9da3cfdcc74b5a75caffb48a6c39c8450a9a05f82c4250a14", size = 40785123 }, - { url = "https://files.pythonhosted.org/packages/45/ed/75f5d318cf7af841835cec9534704d3a4cb6a96460677f05466c928790a7/scipy-1.14.0-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:65df4da3c12a2bb9ad52b86b4dcf46813e869afb006e58be0f516bc370165159", size = 40704660 }, - { url = "https://files.pythonhosted.org/packages/3f/72/305686527c68f33f1dd3ebdd28f53340d372b2f9e44dccaf6f92e17739d3/scipy-1.14.0-cp312-cp312-win_amd64.whl", hash = "sha256:4c4161597c75043f7154238ef419c29a64ac4a7c889d588ea77690ac4d0d9b20", size = 44475988 }, -] - -[[package]] -name = "scipy" -version = "1.15.0" -source = { registry = "https://pypi.org/simple" } -resolution-markers = [ - "python_full_version >= '3.13' and sys_platform == 'darwin'", - "python_full_version >= '3.13' and platform_machine == 'aarch64' and sys_platform == 'linux'", - "(python_full_version >= '3.13' and platform_machine != 'aarch64' and sys_platform == 'linux') or (python_full_version >= '3.13' and sys_platform != 'darwin' and sys_platform != 'linux')", -] -dependencies = [ - { name = "numpy", version = "2.2.1", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.13'" }, -] -sdist = { url = "https://files.pythonhosted.org/packages/d9/7b/2b8ac283cf32465ed08bc20a83d559fe7b174a484781702ba8accea001d6/scipy-1.15.0.tar.gz", hash = "sha256:300742e2cc94e36a2880ebe464a1c8b4352a7b0f3e36ec3d2ac006cdbe0219ac", size = 59407226 } -wheels = [ - { url = "https://files.pythonhosted.org/packages/93/6a/14ce8d4452acdced1b69ea32b0d304b04b00376deb4f1eb65f946aee41af/scipy-1.15.0-cp310-cp310-macosx_10_13_x86_64.whl", hash = "sha256:aeac60d3562a7bf2f35549bdfdb6b1751c50590f55ce7322b4b2fc821dc27fca", size = 41413763 }, - { url = "https://files.pythonhosted.org/packages/45/12/570ba186d0ae1d528f8f0524b88fb9a263653ce575ac085edd9c1ef29e9c/scipy-1.15.0-cp310-cp310-macosx_12_0_arm64.whl", hash = "sha256:5abbdc6ede5c5fed7910cf406a948e2c0869231c0db091593a6b2fa78be77e5d", size = 32518980 }, - { url = "https://files.pythonhosted.org/packages/51/5a/b6ac5aa213cfa196d15db5ee159010aa9b94d0bc2bfa917fb99297701628/scipy-1.15.0-cp310-cp310-macosx_14_0_arm64.whl", hash = "sha256:eb1533c59f0ec6c55871206f15a5c72d1fae7ad3c0a8ca33ca88f7c309bbbf8c", size = 24792491 }, - { url = "https://files.pythonhosted.org/packages/35/1f/6af575b77b2ee057551643de75a30252ce32098b2d9fd45bcf969a6fa35b/scipy-1.15.0-cp310-cp310-macosx_14_0_x86_64.whl", hash = "sha256:de112c2dae53107cfeaf65101419662ac0a54e9a088c17958b51c95dac5de56d", size = 27886039 }, - { url = "https://files.pythonhosted.org/packages/6a/7b/0c261d4857f459de6dffe11b3818583944f8d87716ce0b3b5f058aa34ff3/scipy-1.15.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:2240e1fd0782e62e1aacdc7234212ee271d810f67e9cd3b8d521003a82603ef8", size = 38374628 }, - { url = "https://files.pythonhosted.org/packages/99/17/ca390fbbfea5b34e3a00fc819fcb7c22e8b889360882820030b533d26c01/scipy-1.15.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:d35aef233b098e4de88b1eac29f0df378278e7e250a915766786b773309137c4", size = 40599127 }, - { url = "https://files.pythonhosted.org/packages/1d/65/95d93b1360f5defc1b6bf0963ac4e0d3413c95d8e8d6a1624a256506dfd3/scipy-1.15.0-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:1b29e4fc02e155a5fd1165f1e6a73edfdd110470736b0f48bcbe48083f0eee37", size = 42937900 }, - { url = "https://files.pythonhosted.org/packages/51/8c/c2d371111961f737ae08881f654cf54eca796c42ec0429add2a06df97049/scipy-1.15.0-cp310-cp310-win_amd64.whl", hash = "sha256:0e5b34f8894f9904cc578008d1a9467829c1817e9f9cb45e6d6eeb61d2ab7731", size = 43907603 }, - { url = "https://files.pythonhosted.org/packages/b8/53/7f627c180cdaa211fa537650ca05912f58cb68fc33bb2f9af3d29169913e/scipy-1.15.0-cp311-cp311-macosx_10_13_x86_64.whl", hash = "sha256:46e91b5b16909ff79224b56e19cbad65ca500b3afda69225820aa3afbf9ec020", size = 41423594 }, - { url = "https://files.pythonhosted.org/packages/c9/ab/f848933c6f656f2c7af2d56d0be44511b730498538fe04db70eb03a6ad86/scipy-1.15.0-cp311-cp311-macosx_12_0_arm64.whl", hash = "sha256:82bff2eb01ccf7cea8b6ee5274c2dbeadfdac97919da308ee6d8e5bcbe846443", size = 32535797 }, - { url = "https://files.pythonhosted.org/packages/41/93/266693c471ec1e2e7748c1ee5e867299f3d0ac42e0e63f52649430ec1976/scipy-1.15.0-cp311-cp311-macosx_14_0_arm64.whl", hash = "sha256:9c8254fe21dd2c6c8f7757035ec0c31daecf3bb3cffd93bc1ca661b731d28136", size = 24809325 }, - { url = "https://files.pythonhosted.org/packages/f3/55/1acc49a48bc11fb95cf625c0763f2749f8710265d2fecbf6ed6dd618fc54/scipy-1.15.0-cp311-cp311-macosx_14_0_x86_64.whl", hash = "sha256:c9624eeae79b18cab1a31944b5ef87aa14b125d6ab69b71db22f0dbd962caf1e", size = 27917711 }, - { url = "https://files.pythonhosted.org/packages/e2/f5/15f62812b36f2f94b9d1ca31d3d2bbabfb6979e48a0866041bee7031c461/scipy-1.15.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d13bbc0658c11f3d19df4138336e4bce2c4fbd78c2755be4bf7b8e235481557f", size = 38331850 }, - { url = "https://files.pythonhosted.org/packages/ad/21/6dc57f6f6c8014dc6d07111e4976422580789fa96c4d7ddf63614939cb6c/scipy-1.15.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:bdca4c7bb8dc41307e5f39e9e5d19c707d8e20a29845e7533b3bb20a9d4ccba0", size = 40587953 }, - { url = "https://files.pythonhosted.org/packages/da/dd/26db78c2054f8d81b28ae4688da7930ea3c33e5d1885928aadefeec979f9/scipy-1.15.0-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:6f376d7c767731477bac25a85d0118efdc94a572c6b60decb1ee48bf2391a73b", size = 42963920 }, - { url = "https://files.pythonhosted.org/packages/82/89/eb4aaf929be0e2c03bb5e40ed61427aab9c8ba6c0764aebf82d7302bb3d3/scipy-1.15.0-cp311-cp311-win_amd64.whl", hash = "sha256:61513b989ee8d5218fbeb178b2d51534ecaddba050db949ae99eeb3d12f6825d", size = 43894857 }, - { url = "https://files.pythonhosted.org/packages/35/70/fffb90a725dec6056c9059073856fd99de22a253459a874a63b8b8a012db/scipy-1.15.0-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:5beb0a2200372b7416ec73fdae94fe81a6e85e44eb49c35a11ac356d2b8eccc6", size = 41475240 }, - { url = "https://files.pythonhosted.org/packages/63/ca/6b838a2e5e6718d879e8522d1155a068c2a769be04f7da8c5179ead32a7b/scipy-1.15.0-cp312-cp312-macosx_12_0_arm64.whl", hash = "sha256:fde0f3104dfa1dfbc1f230f65506532d0558d43188789eaf68f97e106249a913", size = 32595923 }, - { url = "https://files.pythonhosted.org/packages/b1/07/4e69f6f7185915d77719bf226c1d554a4bb99f27cb92161fdd57b1434343/scipy-1.15.0-cp312-cp312-macosx_14_0_arm64.whl", hash = "sha256:35c68f7044b4e7ad73a3e68e513dda946989e523df9b062bd3cf401a1a882192", size = 24869617 }, - { url = "https://files.pythonhosted.org/packages/30/22/e3dadf189dcab215be461efe0fd9d288f4c2d99783c4aec2ce80837800b7/scipy-1.15.0-cp312-cp312-macosx_14_0_x86_64.whl", hash = "sha256:52475011be29dfcbecc3dfe3060e471ac5155d72e9233e8d5616b84e2b542054", size = 28007674 }, - { url = "https://files.pythonhosted.org/packages/51/0f/71c9ee2acaac0660a79e36424d367ed5737e4ef27b885f96cd439f451467/scipy-1.15.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:5972e3f96f7dda4fd3bb85906a17338e65eaddfe47f750e240f22b331c08858e", size = 38066684 }, - { url = "https://files.pythonhosted.org/packages/fb/77/74a1ceecb205f5d46fe2cd10071383748ee8891a96b7824a372391a6291c/scipy-1.15.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:fe00169cf875bed0b3c40e4da45b57037dc21d7c7bf0c85ed75f210c281488f1", size = 40250011 }, - { url = "https://files.pythonhosted.org/packages/8c/9f/f1544110a3d31183034e05422836505beb438aa56183f2ccef6dcd3b4e3f/scipy-1.15.0-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:161f80a98047c219c257bf5ce1777c574bde36b9d962a46b20d0d7e531f86863", size = 42625471 }, - { url = "https://files.pythonhosted.org/packages/3f/39/a29b75f9c30084cbafd416bfa00933311a5b7a96be6e88750c98521d2ccb/scipy-1.15.0-cp312-cp312-win_amd64.whl", hash = "sha256:327163ad73e54541a675240708244644294cb0a65cca420c9c79baeb9648e479", size = 43622832 }, - { url = "https://files.pythonhosted.org/packages/4d/46/2fa07d5b53092b73c4bb416954d07d883b53be4a5bd6282c67e03c051225/scipy-1.15.0-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:0fcb16eb04d84670722ce8d93b05257df471704c913cb0ff9dc5a1c31d1e9422", size = 41438080 }, - { url = "https://files.pythonhosted.org/packages/55/05/77778b1127e170ffb484614691fdd8f9d2640dcf951d515f513debe5d0e0/scipy-1.15.0-cp313-cp313-macosx_12_0_arm64.whl", hash = "sha256:767e8cf6562931f8312f4faa7ddea412cb783d8df49e62c44d00d89f41f9bbe8", size = 32532932 }, - { url = "https://files.pythonhosted.org/packages/2b/9f/6de4970a2f524785d94a85f423a53b8c53d84917f2df702733ccdc9afd54/scipy-1.15.0-cp313-cp313-macosx_14_0_arm64.whl", hash = "sha256:37ce9394cdcd7c5f437583fc6ef91bd290014993900643fdfc7af9b052d1613b", size = 24806488 }, - { url = "https://files.pythonhosted.org/packages/65/ef/b1c1e2499189bbea109a6b022a6147dd4552d72bed19289b4d4e411c4ce7/scipy-1.15.0-cp313-cp313-macosx_14_0_x86_64.whl", hash = "sha256:6d26f17c64abd6c6c2dfb39920f61518cc9e213d034b45b2380e32ba78fde4c0", size = 27930055 }, - { url = "https://files.pythonhosted.org/packages/24/ec/6e4fe2a34a91102c806ecf9f45426f66bd604a5b5f48e951ce2bd770b2fe/scipy-1.15.0-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:1e2448acd79c6374583581a1ded32ac71a00c2b9c62dfa87a40e1dd2520be111", size = 38031212 }, - { url = "https://files.pythonhosted.org/packages/82/4d/ecef655956ce332edbc411ab64ab843d767dd86e646898ac721dbcc7910e/scipy-1.15.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:36be480e512d38db67f377add5b759fb117edd987f4791cdf58e59b26962bee4", size = 40209536 }, - { url = "https://files.pythonhosted.org/packages/c5/ec/3af823fcd86e3155ad7ed2b684634391e4524ff82735c26abed522fc5405/scipy-1.15.0-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:ccb6248a9987193fe74363a2d73b93bc2c546e0728bd786050b7aef6e17db03c", size = 42584473 }, - { url = "https://files.pythonhosted.org/packages/23/01/f0ec4236ba8a96353e56694160041d7d9bebd9a0231a1c9beedc6e75cd50/scipy-1.15.0-cp313-cp313-win_amd64.whl", hash = "sha256:952d2e9eaa787f0a9e95b6e85da3654791b57a156c3e6609e65cc5176ccfe6f2", size = 43639460 }, - { url = "https://files.pythonhosted.org/packages/e9/02/c8bccc5c4813eccfeeef6ed0effe42e2cf98199d350ca476c22029569edc/scipy-1.15.0-cp313-cp313t-macosx_10_13_x86_64.whl", hash = "sha256:b1432102254b6dc7766d081fa92df87832ac25ff0b3d3a940f37276e63eb74ff", size = 41642304 }, - { url = "https://files.pythonhosted.org/packages/27/7a/9191a8b61f5826f08932b6ae47d44fbf4f473beb307d8ca3ed96a216929f/scipy-1.15.0-cp313-cp313t-macosx_12_0_arm64.whl", hash = "sha256:4e08c6a36f46abaedf765dd2dfcd3698fa4bd7e311a9abb2d80e33d9b2d72c34", size = 32620019 }, - { url = "https://files.pythonhosted.org/packages/e6/17/9c8452c8a59f1ede4a7ba6ba03b8b44703cdd1f1217b649f470c216f3095/scipy-1.15.0-cp313-cp313t-macosx_14_0_arm64.whl", hash = "sha256:ec915cd26d76f6fc7ae8522f74f5b2accf39546f341c771bb2297f3871934a52", size = 24893299 }, - { url = "https://files.pythonhosted.org/packages/db/73/45c8566538bf9252be1e3e36b149714619c6f4d015a901cd76e257f88a37/scipy-1.15.0-cp313-cp313t-macosx_14_0_x86_64.whl", hash = "sha256:351899dd2a801edd3691622172bc8ea01064b1cada794f8641b89a7dc5418db6", size = 27955764 }, - { url = "https://files.pythonhosted.org/packages/9f/4e/8822a2cafcea8727430e9a0bf785e8f0e81aaaac1048dad764d522f0f1ec/scipy-1.15.0-cp313-cp313t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:e9baff912ea4f78a543d183ed6f5b3bea9784509b948227daaf6f10727a0e2e5", size = 39879164 }, - { url = "https://files.pythonhosted.org/packages/b1/27/b55549a4aba515d9a19b6384c2c2f976725cd19d5d41c58ffac9a4d98892/scipy-1.15.0-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:cd9d9198a7fd9a77f0eb5105ea9734df26f41faeb2a88a0e62e5245506f7b6df", size = 42091406 }, - { url = "https://files.pythonhosted.org/packages/79/df/989b2fd3f8ead6bcf89fc683fde94741eb3b291e41a3ce70cec08c80aa36/scipy-1.15.0-cp313-cp313t-win_amd64.whl", hash = "sha256:129f899ed275c0515d553b8d31696924e2ca87d1972421e46c376b9eb87de3d2", size = 43188844 }, + { name = "numpy", version = "2.2.2", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.10'" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/76/c6/8eb0654ba0c7d0bb1bf67bf8fbace101a8e4f250f7722371105e8b6f68fc/scipy-1.15.1.tar.gz", hash = "sha256:033a75ddad1463970c96a88063a1df87ccfddd526437136b6ee81ff0312ebdf6", size = 59407493 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/86/53/b204ce5a4433f1864001b9d16f103b9c25f5002a602ae83585d0ea5f9c4a/scipy-1.15.1-cp310-cp310-macosx_10_13_x86_64.whl", hash = "sha256:c64ded12dcab08afff9e805a67ff4480f5e69993310e093434b10e85dc9d43e1", size = 41414518 }, + { url = "https://files.pythonhosted.org/packages/c7/fc/54ffa7a8847f7f303197a6ba65a66104724beba2e38f328135a78f0dc480/scipy-1.15.1-cp310-cp310-macosx_12_0_arm64.whl", hash = "sha256:5b190b935e7db569960b48840e5bef71dc513314cc4e79a1b7d14664f57fd4ff", size = 32519265 }, + { url = "https://files.pythonhosted.org/packages/f1/77/a98b8ba03d6f371dc31a38719affd53426d4665729dcffbed4afe296784a/scipy-1.15.1-cp310-cp310-macosx_14_0_arm64.whl", hash = "sha256:4b17d4220df99bacb63065c76b0d1126d82bbf00167d1730019d2a30d6ae01ea", size = 24792859 }, + { url = "https://files.pythonhosted.org/packages/a7/78/70bb9f0df7444b18b108580934bfef774822e28fd34a68e5c263c7d2828a/scipy-1.15.1-cp310-cp310-macosx_14_0_x86_64.whl", hash = "sha256:63b9b6cd0333d0eb1a49de6f834e8aeaefe438df8f6372352084535ad095219e", size = 27886506 }, + { url = "https://files.pythonhosted.org/packages/14/a7/f40f6033e06de4176ddd6cc8c3ae9f10a226c3bca5d6b4ab883bc9914a14/scipy-1.15.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:9f151e9fb60fbf8e52426132f473221a49362091ce7a5e72f8aa41f8e0da4f25", size = 38375041 }, + { url = "https://files.pythonhosted.org/packages/17/03/390a1c5c61fd76b0fa4b3c5aa3bdd7e60f6c46f712924f1a9df5705ec046/scipy-1.15.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:21e10b1dd56ce92fba3e786007322542361984f8463c6d37f6f25935a5a6ef52", size = 40597556 }, + { url = "https://files.pythonhosted.org/packages/4e/70/fa95b3ae026b97eeca58204a90868802e5155ac71b9d7bdee92b68115dd3/scipy-1.15.1-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:5dff14e75cdbcf07cdaa1c7707db6017d130f0af9ac41f6ce443a93318d6c6e0", size = 42938505 }, + { url = "https://files.pythonhosted.org/packages/d6/07/427859116bdd71847c898180f01802691f203c3e2455a1eb496130ff07c5/scipy-1.15.1-cp310-cp310-win_amd64.whl", hash = "sha256:f82fcf4e5b377f819542fbc8541f7b5fbcf1c0017d0df0bc22c781bf60abc4d8", size = 43909663 }, + { url = "https://files.pythonhosted.org/packages/8e/2e/7b71312da9c2dabff53e7c9a9d08231bc34d9d8fdabe88a6f1155b44591c/scipy-1.15.1-cp311-cp311-macosx_10_13_x86_64.whl", hash = "sha256:5bd8d27d44e2c13d0c1124e6a556454f52cd3f704742985f6b09e75e163d20d2", size = 41424362 }, + { url = "https://files.pythonhosted.org/packages/81/8c/ab85f1aa1cc200c796532a385b6ebf6a81089747adc1da7482a062acc46c/scipy-1.15.1-cp311-cp311-macosx_12_0_arm64.whl", hash = "sha256:be3deeb32844c27599347faa077b359584ba96664c5c79d71a354b80a0ad0ce0", size = 32535910 }, + { url = "https://files.pythonhosted.org/packages/3b/9c/6f4b787058daa8d8da21ddff881b4320e28de4704a65ec147adb50cb2230/scipy-1.15.1-cp311-cp311-macosx_14_0_arm64.whl", hash = "sha256:5eb0ca35d4b08e95da99a9f9c400dc9f6c21c424298a0ba876fdc69c7afacedf", size = 24809398 }, + { url = "https://files.pythonhosted.org/packages/16/2b/949460a796df75fc7a1ee1becea202cf072edbe325ebe29f6d2029947aa7/scipy-1.15.1-cp311-cp311-macosx_14_0_x86_64.whl", hash = "sha256:74bb864ff7640dea310a1377d8567dc2cb7599c26a79ca852fc184cc851954ac", size = 27918045 }, + { url = "https://files.pythonhosted.org/packages/5f/36/67fe249dd7ccfcd2a38b25a640e3af7e59d9169c802478b6035ba91dfd6d/scipy-1.15.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:667f950bf8b7c3a23b4199db24cb9bf7512e27e86d0e3813f015b74ec2c6e3df", size = 38332074 }, + { url = "https://files.pythonhosted.org/packages/fc/da/452e1119e6f720df3feb588cce3c42c5e3d628d4bfd4aec097bd30b7de0c/scipy-1.15.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:395be70220d1189756068b3173853029a013d8c8dd5fd3d1361d505b2aa58fa7", size = 40588469 }, + { url = "https://files.pythonhosted.org/packages/7f/71/5f94aceeac99a4941478af94fe9f459c6752d497035b6b0761a700f5f9ff/scipy-1.15.1-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:ce3a000cd28b4430426db2ca44d96636f701ed12e2b3ca1f2b1dd7abdd84b39a", size = 42965214 }, + { url = "https://files.pythonhosted.org/packages/af/25/caa430865749d504271757cafd24066d596217e83326155993980bc22f97/scipy-1.15.1-cp311-cp311-win_amd64.whl", hash = "sha256:3fe1d95944f9cf6ba77aa28b82dd6bb2a5b52f2026beb39ecf05304b8392864b", size = 43896034 }, + { url = "https://files.pythonhosted.org/packages/d8/6e/a9c42d0d39e09ed7fd203d0ac17adfea759cba61ab457671fe66e523dbec/scipy-1.15.1-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:c09aa9d90f3500ea4c9b393ee96f96b0ccb27f2f350d09a47f533293c78ea776", size = 41478318 }, + { url = "https://files.pythonhosted.org/packages/04/ee/e3e535c81828618878a7433992fecc92fa4df79393f31a8fea1d05615091/scipy-1.15.1-cp312-cp312-macosx_12_0_arm64.whl", hash = "sha256:0ac102ce99934b162914b1e4a6b94ca7da0f4058b6d6fd65b0cef330c0f3346f", size = 32596696 }, + { url = "https://files.pythonhosted.org/packages/c4/5e/b1b0124be8e76f87115f16b8915003eec4b7060298117715baf13f51942c/scipy-1.15.1-cp312-cp312-macosx_14_0_arm64.whl", hash = "sha256:09c52320c42d7f5c7748b69e9f0389266fd4f82cf34c38485c14ee976cb8cb04", size = 24870366 }, + { url = "https://files.pythonhosted.org/packages/14/36/c00cb73eefda85946172c27913ab995c6ad4eee00fa4f007572e8c50cd51/scipy-1.15.1-cp312-cp312-macosx_14_0_x86_64.whl", hash = "sha256:cdde8414154054763b42b74fe8ce89d7f3d17a7ac5dd77204f0e142cdc9239e9", size = 28007461 }, + { url = "https://files.pythonhosted.org/packages/68/94/aff5c51b3799349a9d1e67a056772a0f8a47db371e83b498d43467806557/scipy-1.15.1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:4c9d8fc81d6a3b6844235e6fd175ee1d4c060163905a2becce8e74cb0d7554ce", size = 38068174 }, + { url = "https://files.pythonhosted.org/packages/b0/3c/0de11ca154e24a57b579fb648151d901326d3102115bc4f9a7a86526ce54/scipy-1.15.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:0fb57b30f0017d4afa5fe5f5b150b8f807618819287c21cbe51130de7ccdaed2", size = 40249869 }, + { url = "https://files.pythonhosted.org/packages/15/09/472e8d0a6b33199d1bb95e49bedcabc0976c3724edd9b0ef7602ccacf41e/scipy-1.15.1-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:491d57fe89927fa1aafbe260f4cfa5ffa20ab9f1435025045a5315006a91b8f5", size = 42629068 }, + { url = "https://files.pythonhosted.org/packages/ff/ba/31c7a8131152822b3a2cdeba76398ffb404d81d640de98287d236da90c49/scipy-1.15.1-cp312-cp312-win_amd64.whl", hash = "sha256:900f3fa3db87257510f011c292a5779eb627043dd89731b9c461cd16ef76ab3d", size = 43621992 }, + { url = "https://files.pythonhosted.org/packages/2b/bf/dd68965a4c5138a630eeed0baec9ae96e5d598887835bdde96cdd2fe4780/scipy-1.15.1-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:100193bb72fbff37dbd0bf14322314fc7cbe08b7ff3137f11a34d06dc0ee6b85", size = 41441136 }, + { url = "https://files.pythonhosted.org/packages/ef/5e/4928581312922d7e4d416d74c416a660addec4dd5ea185401df2269ba5a0/scipy-1.15.1-cp313-cp313-macosx_12_0_arm64.whl", hash = "sha256:2114a08daec64980e4b4cbdf5bee90935af66d750146b1d2feb0d3ac30613692", size = 32533699 }, + { url = "https://files.pythonhosted.org/packages/32/90/03f99c43041852837686898c66767787cd41c5843d7a1509c39ffef683e9/scipy-1.15.1-cp313-cp313-macosx_14_0_arm64.whl", hash = "sha256:6b3e71893c6687fc5e29208d518900c24ea372a862854c9888368c0b267387ab", size = 24807289 }, + { url = "https://files.pythonhosted.org/packages/9d/52/bfe82b42ae112eaba1af2f3e556275b8727d55ac6e4932e7aef337a9d9d4/scipy-1.15.1-cp313-cp313-macosx_14_0_x86_64.whl", hash = "sha256:837299eec3d19b7e042923448d17d95a86e43941104d33f00da7e31a0f715d3c", size = 27929844 }, + { url = "https://files.pythonhosted.org/packages/f6/77/54ff610bad600462c313326acdb035783accc6a3d5f566d22757ad297564/scipy-1.15.1-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:82add84e8a9fb12af5c2c1a3a3f1cb51849d27a580cb9e6bd66226195142be6e", size = 38031272 }, + { url = "https://files.pythonhosted.org/packages/f1/26/98585cbf04c7cf503d7eb0a1966df8a268154b5d923c5fe0c1ed13154c49/scipy-1.15.1-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:070d10654f0cb6abd295bc96c12656f948e623ec5f9a4eab0ddb1466c000716e", size = 40210217 }, + { url = "https://files.pythonhosted.org/packages/fd/3f/3d2285eb6fece8bc5dbb2f9f94d61157d61d155e854fd5fea825b8218f12/scipy-1.15.1-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:55cc79ce4085c702ac31e49b1e69b27ef41111f22beafb9b49fea67142b696c4", size = 42587785 }, + { url = "https://files.pythonhosted.org/packages/48/7d/5b5251984bf0160d6533695a74a5fddb1fa36edd6f26ffa8c871fbd4782a/scipy-1.15.1-cp313-cp313-win_amd64.whl", hash = "sha256:c352c1b6d7cac452534517e022f8f7b8d139cd9f27e6fbd9f3cbd0bfd39f5bef", size = 43640439 }, + { url = "https://files.pythonhosted.org/packages/e7/b8/0e092f592d280496de52e152582030f8a270b194f87f890e1a97c5599b81/scipy-1.15.1-cp313-cp313t-macosx_10_13_x86_64.whl", hash = "sha256:0458839c9f873062db69a03de9a9765ae2e694352c76a16be44f93ea45c28d2b", size = 41619862 }, + { url = "https://files.pythonhosted.org/packages/f6/19/0b6e1173aba4db9e0b7aa27fe45019857fb90d6904038b83927cbe0a6c1d/scipy-1.15.1-cp313-cp313t-macosx_12_0_arm64.whl", hash = "sha256:af0b61c1de46d0565b4b39c6417373304c1d4f5220004058bdad3061c9fa8a95", size = 32610387 }, + { url = "https://files.pythonhosted.org/packages/e7/02/754aae3bd1fa0f2479ade3cfdf1732ecd6b05853f63eee6066a32684563a/scipy-1.15.1-cp313-cp313t-macosx_14_0_arm64.whl", hash = "sha256:71ba9a76c2390eca6e359be81a3e879614af3a71dfdabb96d1d7ab33da6f2364", size = 24883814 }, + { url = "https://files.pythonhosted.org/packages/1f/ac/d7906201604a2ea3b143bb0de51b3966f66441ba50b7dc182c4505b3edf9/scipy-1.15.1-cp313-cp313t-macosx_14_0_x86_64.whl", hash = "sha256:14eaa373c89eaf553be73c3affb11ec6c37493b7eaaf31cf9ac5dffae700c2e0", size = 27944865 }, + { url = "https://files.pythonhosted.org/packages/84/9d/8f539002b5e203723af6a6f513a45e0a7671e9dabeedb08f417ac17e4edc/scipy-1.15.1-cp313-cp313t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f735bc41bd1c792c96bc426dece66c8723283695f02df61dcc4d0a707a42fc54", size = 39883261 }, + { url = "https://files.pythonhosted.org/packages/97/c0/62fd3bab828bcccc9b864c5997645a3b86372a35941cdaf677565c25c98d/scipy-1.15.1-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:2722a021a7929d21168830790202a75dbb20b468a8133c74a2c0230c72626b6c", size = 42093299 }, + { url = "https://files.pythonhosted.org/packages/e4/1f/5d46a8d94e9f6d2c913cbb109e57e7eed914de38ea99e2c4d69a9fc93140/scipy-1.15.1-cp313-cp313t-win_amd64.whl", hash = "sha256:bc7136626261ac1ed988dca56cfc4ab5180f75e0ee52e58f1e6aa74b5f3eacd5", size = 43181730 }, ] [[package]] @@ -4687,12 +4758,9 @@ name = "setuptools" version = "75.8.0" source = { registry = "https://pypi.org/simple" } resolution-markers = [ - "python_full_version >= '3.13' and sys_platform == 'darwin'", - "python_full_version >= '3.13' and platform_machine == 'aarch64' and sys_platform == 'linux'", - "(python_full_version >= '3.13' and platform_machine != 'aarch64' and sys_platform == 'linux') or (python_full_version >= '3.13' and sys_platform != 'darwin' and sys_platform != 'linux')", - "python_full_version == '3.12.*' and sys_platform == 'darwin'", - "python_full_version == '3.12.*' and platform_machine == 'aarch64' and sys_platform == 'linux'", - "(python_full_version == '3.12.*' and platform_machine != 'aarch64' and sys_platform == 'linux') or (python_full_version == '3.12.*' and sys_platform != 'darwin' and sys_platform != 'linux')", + "python_full_version >= '3.12' and sys_platform == 'darwin'", + "python_full_version >= '3.12' and platform_machine == 'aarch64' and sys_platform == 'linux'", + "(python_full_version >= '3.12' and platform_machine != 'aarch64' and sys_platform == 'linux') or (python_full_version >= '3.12' and sys_platform != 'darwin' and sys_platform != 'linux')", "python_full_version == '3.11.*' and sys_platform == 'darwin'", "python_full_version == '3.11.*' and platform_machine == 'aarch64' and sys_platform == 'linux'", "(python_full_version == '3.11.*' and platform_machine != 'aarch64' and sys_platform == 'linux') or (python_full_version == '3.11.*' and sys_platform != 'darwin' and sys_platform != 'linux')", @@ -4768,17 +4836,15 @@ dependencies = [ { name = "matplotlib", version = "3.9.4", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version == '3.9.*'" }, { name = "matplotlib", version = "3.10.0", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.10'" }, { name = "numpy", version = "1.24.4", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.9'" }, - { name = "numpy", version = "1.25.2", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.9' and python_full_version < '3.12'" }, - { name = "numpy", version = "2.0.2", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version == '3.12.*'" }, - { name = "numpy", version = "2.2.1", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.13'" }, + { name = "numpy", version = "2.0.2", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version == '3.9.*'" }, + { name = "numpy", version = "2.2.2", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.10'" }, { name = "opencv-python" }, { name = "pillow" }, { name = "pyyaml" }, { name = "requests" }, - { name = "scipy", version = "1.10.0", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.9'" }, + { name = "scipy", version = "1.10.1", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.9'" }, { name = "scipy", version = "1.13.1", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version == '3.9.*'" }, - { name = "scipy", version = "1.14.0", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.10' and python_full_version < '3.13'" }, - { name = "scipy", version = "1.15.0", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.13'" }, + { name = "scipy", version = "1.15.1", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.10'" }, { name = "tqdm" }, ] @@ -4832,19 +4898,14 @@ requires-dist = [ { name = "mkdocstrings-python", marker = "extra == 'docs'", specifier = ">=1.10.9" }, { name = "nbconvert", marker = "extra == 'dev'", specifier = ">=7.14.2" }, { name = "notebook", marker = "extra == 'dev'", specifier = ">=6.5.3,<8.0.0" }, - { name = "numpy", marker = "python_full_version < '3.12'", specifier = ">=1.21.2,<1.26.0" }, - { name = "numpy", marker = "python_full_version == '3.12.*'", specifier = ">=1.26.0,<2.1.0" }, - { name = "numpy", marker = "python_full_version >= '3.13'", specifier = ">=2.1.0" }, + { name = "numpy", specifier = ">=1.21.2" }, { name = "opencv-python", specifier = ">=4.5.5.64" }, - { name = "pandas", marker = "python_full_version >= '3.13' and extra == 'metrics'", specifier = ">=2.2.3" }, - { name = "pandas", marker = "python_full_version < '3.13' and extra == 'metrics'", specifier = ">=2.0.0" }, + { name = "pandas", marker = "extra == 'metrics'", specifier = ">=2.0.0" }, { name = "pillow", specifier = ">=9.4" }, { name = "pytest", marker = "extra == 'dev'", specifier = ">=7.2.2,<9.0.0" }, { name = "pyyaml", specifier = ">=5.3" }, { name = "requests", specifier = ">=2.26.0" }, - { name = "scipy", marker = "python_full_version < '3.9'", specifier = "==1.10.0" }, - { name = "scipy", marker = "python_full_version >= '3.9' and python_full_version < '3.13'", specifier = ">=1.10.0,<1.14.1" }, - { name = "scipy", marker = "python_full_version >= '3.13'", specifier = ">=1.14.1" }, + { name = "scipy", specifier = ">=1.10.0" }, { name = "tox", marker = "extra == 'dev'", specifier = ">=4.11.4" }, { name = "tqdm", specifier = ">=4.62.3" }, { name = "twine", marker = "extra == 'build'", specifier = ">=5.1.1,<7.0.0" }, @@ -4857,7 +4918,8 @@ version = "0.18.1" source = { registry = "https://pypi.org/simple" } dependencies = [ { name = "ptyprocess", marker = "os_name != 'nt'" }, - { name = "pywinpty", marker = "(python_full_version < '3.10' and os_name == 'nt' and platform_machine != 'arm64' and sys_platform == 'darwin') or (os_name == 'nt' and platform_machine != 'aarch64' and sys_platform == 'linux') or (os_name == 'nt' and sys_platform != 'darwin' and sys_platform != 'linux')" }, + { name = "pywinpty", version = "2.0.14", source = { registry = "https://pypi.org/simple" }, marker = "(python_full_version < '3.9' and os_name == 'nt' and platform_machine != 'arm64' and sys_platform == 'darwin') or (python_full_version < '3.9' and os_name == 'nt' and platform_machine != 'aarch64' and sys_platform == 'linux') or (python_full_version < '3.9' and os_name == 'nt' and sys_platform != 'darwin' and sys_platform != 'linux')" }, + { name = "pywinpty", version = "2.0.15", source = { registry = "https://pypi.org/simple" }, marker = "(python_full_version == '3.9.*' and os_name == 'nt' and platform_machine != 'arm64' and sys_platform == 'darwin') or (python_full_version >= '3.9' and os_name == 'nt' and platform_machine != 'aarch64' and sys_platform == 'linux') or (python_full_version >= '3.9' and os_name == 'nt' and sys_platform != 'darwin' and sys_platform != 'linux')" }, { name = "tornado" }, ] sdist = { url = "https://files.pythonhosted.org/packages/8a/11/965c6fd8e5cc254f1fe142d547387da17a8ebfd75a3455f637c663fb38a0/terminado-0.18.1.tar.gz", hash = "sha256:de09f2c4b85de4765f7714688fff57d3e75bad1f909b589fde880460c753fd2e", size = 32701 } @@ -4887,12 +4949,9 @@ name = "tinycss2" version = "1.4.0" source = { registry = "https://pypi.org/simple" } resolution-markers = [ - "python_full_version >= '3.13' and sys_platform == 'darwin'", - "python_full_version >= '3.13' and platform_machine == 'aarch64' and sys_platform == 'linux'", - "(python_full_version >= '3.13' and platform_machine != 'aarch64' and sys_platform == 'linux') or (python_full_version >= '3.13' and sys_platform != 'darwin' and sys_platform != 'linux')", - "python_full_version == '3.12.*' and sys_platform == 'darwin'", - "python_full_version == '3.12.*' and platform_machine == 'aarch64' and sys_platform == 'linux'", - "(python_full_version == '3.12.*' and platform_machine != 'aarch64' and sys_platform == 'linux') or (python_full_version == '3.12.*' and sys_platform != 'darwin' and sys_platform != 'linux')", + "python_full_version >= '3.12' and sys_platform == 'darwin'", + "python_full_version >= '3.12' and platform_machine == 'aarch64' and sys_platform == 'linux'", + "(python_full_version >= '3.12' and platform_machine != 'aarch64' and sys_platform == 'linux') or (python_full_version >= '3.12' and sys_platform != 'darwin' and sys_platform != 'linux')", "python_full_version == '3.11.*' and sys_platform == 'darwin'", "python_full_version == '3.11.*' and platform_machine == 'aarch64' and sys_platform == 'linux'", "(python_full_version == '3.11.*' and platform_machine != 'aarch64' and sys_platform == 'linux') or (python_full_version == '3.11.*' and sys_platform != 'darwin' and sys_platform != 'linux')", @@ -4970,24 +5029,26 @@ wheels = [ [[package]] name = "tox" -version = "4.23.2" +version = "4.24.1" source = { registry = "https://pypi.org/simple" } dependencies = [ { name = "cachetools" }, { name = "chardet" }, { name = "colorama" }, - { name = "filelock" }, + { name = "filelock", version = "3.16.1", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.9'" }, + { name = "filelock", version = "3.17.0", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.9'" }, { name = "packaging" }, { name = "platformdirs" }, { name = "pluggy" }, - { name = "pyproject-api" }, + { name = "pyproject-api", version = "1.8.0", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.9'" }, + { name = "pyproject-api", version = "1.9.0", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.9'" }, { name = "tomli", marker = "python_full_version < '3.11'" }, { name = "typing-extensions", marker = "python_full_version < '3.11'" }, { name = "virtualenv" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/1f/86/32b10f91b4b975a37ac402b0f9fa016775088e0565c93602ba0b3c729ce8/tox-4.23.2.tar.gz", hash = "sha256:86075e00e555df6e82e74cfc333917f91ecb47ffbc868dcafbd2672e332f4a2c", size = 189998 } +sdist = { url = "https://files.pythonhosted.org/packages/cf/7b/97f757e159983737bdd8fb513f4c263cd411a846684814ed5433434a1fa9/tox-4.24.1.tar.gz", hash = "sha256:083a720adbc6166fff0b7d1df9d154f9d00bfccb9403b8abf6bc0ee435d6a62e", size = 194742 } wheels = [ - { url = "https://files.pythonhosted.org/packages/af/c0/124b73d01c120e917383bc6c53ebc34efdf7243faa9fca64d105c94cf2ab/tox-4.23.2-py3-none-any.whl", hash = "sha256:452bc32bb031f2282881a2118923176445bac783ab97c874b8770ab4c3b76c38", size = 166758 }, + { url = "https://files.pythonhosted.org/packages/ab/04/b0d1c1b44c98583cab9eabb4acdba964fdf6b6c597c53cfb8870fd08cbbf/tox-4.24.1-py3-none-any.whl", hash = "sha256:57ba7df7d199002c6df8c2db9e6484f3de6ca8f42013c083ea2d4d1e5c6bdc75", size = 171829 }, ] [[package]] @@ -5013,14 +5074,15 @@ wheels = [ [[package]] name = "twine" -version = "6.0.1" +version = "6.1.0" source = { registry = "https://pypi.org/simple" } dependencies = [ - { name = "importlib-metadata", marker = "python_full_version < '3.10'" }, + { name = "id" }, + { name = "importlib-metadata", version = "8.5.0", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.9'" }, + { name = "importlib-metadata", version = "8.6.1", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version == '3.9.*'" }, { name = "keyring", version = "25.5.0", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.9' and platform_machine != 'ppc64le' and platform_machine != 's390x'" }, { name = "keyring", version = "25.6.0", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.9' and platform_machine != 'ppc64le' and platform_machine != 's390x'" }, { name = "packaging" }, - { name = "pkginfo" }, { name = "readme-renderer", version = "43.0", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.9'" }, { name = "readme-renderer", version = "44.0", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.9'" }, { name = "requests" }, @@ -5030,9 +5092,9 @@ dependencies = [ { name = "urllib3", version = "2.2.3", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.9'" }, { name = "urllib3", version = "2.3.0", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.9'" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/2c/33/88b80116504b61759fa2db05e13f2296b0d2e73568f5e731d020c13843b8/twine-6.0.1.tar.gz", hash = "sha256:36158b09df5406e1c9c1fb8edb24fc2be387709443e7376689b938531582ee27", size = 227175 } +sdist = { url = "https://files.pythonhosted.org/packages/c8/a2/6df94fc5c8e2170d21d7134a565c3a8fb84f9797c1dd65a5976aaf714418/twine-6.1.0.tar.gz", hash = "sha256:be324f6272eff91d07ee93f251edf232fc647935dd585ac003539b42404a8dbd", size = 168404 } wheels = [ - { url = "https://files.pythonhosted.org/packages/21/df/dda5f85131ecc0d31e10f6dc6be98440ef9f685947917b86f462eed6864b/twine-6.0.1-py3-none-any.whl", hash = "sha256:9c6025b203b51521d53e200f4a08b116dee7500a38591668c6a6033117bdc218", size = 39398 }, + { url = "https://files.pythonhosted.org/packages/7c/b6/74e927715a285743351233f33ea3c684528a0d374d2e43ff9ce9585b73fe/twine-6.1.0-py3-none-any.whl", hash = "sha256:a47f973caf122930bf0fbbf17f80b83bc1602c9ce393c7845f289a3001dc5384", size = 40791 }, ] [[package]] @@ -5055,11 +5117,11 @@ wheels = [ [[package]] name = "tzdata" -version = "2024.2" +version = "2025.1" source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/e1/34/943888654477a574a86a98e9896bae89c7aa15078ec29f490fef2f1e5384/tzdata-2024.2.tar.gz", hash = "sha256:7d85cc416e9382e69095b7bdf4afd9e3880418a2413feec7069d533d6b4e31cc", size = 193282 } +sdist = { url = "https://files.pythonhosted.org/packages/43/0f/fa4723f22942480be4ca9527bbde8d43f6c3f2fe8412f00e7f5f6746bc8b/tzdata-2025.1.tar.gz", hash = "sha256:24894909e88cdb28bd1636c6887801df64cb485bd593f2fd83ef29075a81d694", size = 194950 } wheels = [ - { url = "https://files.pythonhosted.org/packages/a6/ab/7e5f53c3b9d14972843a647d8d7a853969a58aecc7559cb3267302c94774/tzdata-2024.2-py2.py3-none-any.whl", hash = "sha256:a48093786cdcde33cad18c2555e8532f34422074448fbc874186f0abd79565cd", size = 346586 }, + { url = "https://files.pythonhosted.org/packages/0f/dd/84f10e23edd882c6f968c21c2434fe67bd4a528967067515feca9e611e5e/tzdata-2025.1-py2.py3-none-any.whl", hash = "sha256:7e127113816800496f027041c570f50bcd464a020098a3b6b199517772303639", size = 346762 }, ] [[package]] @@ -5090,12 +5152,9 @@ name = "urllib3" version = "2.3.0" source = { registry = "https://pypi.org/simple" } resolution-markers = [ - "python_full_version >= '3.13' and sys_platform == 'darwin'", - "python_full_version >= '3.13' and platform_machine == 'aarch64' and sys_platform == 'linux'", - "(python_full_version >= '3.13' and platform_machine != 'aarch64' and sys_platform == 'linux') or (python_full_version >= '3.13' and sys_platform != 'darwin' and sys_platform != 'linux')", - "python_full_version == '3.12.*' and sys_platform == 'darwin'", - "python_full_version == '3.12.*' and platform_machine == 'aarch64' and sys_platform == 'linux'", - "(python_full_version == '3.12.*' and platform_machine != 'aarch64' and sys_platform == 'linux') or (python_full_version == '3.12.*' and sys_platform != 'darwin' and sys_platform != 'linux')", + "python_full_version >= '3.12' and sys_platform == 'darwin'", + "python_full_version >= '3.12' and platform_machine == 'aarch64' and sys_platform == 'linux'", + "(python_full_version >= '3.12' and platform_machine != 'aarch64' and sys_platform == 'linux') or (python_full_version >= '3.12' and sys_platform != 'darwin' and sys_platform != 'linux')", "python_full_version == '3.11.*' and sys_platform == 'darwin'", "python_full_version == '3.11.*' and platform_machine == 'aarch64' and sys_platform == 'linux'", "(python_full_version == '3.11.*' and platform_machine != 'aarch64' and sys_platform == 'linux') or (python_full_version == '3.11.*' and sys_platform != 'darwin' and sys_platform != 'linux')", @@ -5122,16 +5181,17 @@ wheels = [ [[package]] name = "virtualenv" -version = "20.28.1" +version = "20.29.1" source = { registry = "https://pypi.org/simple" } dependencies = [ { name = "distlib" }, - { name = "filelock" }, + { name = "filelock", version = "3.16.1", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.9'" }, + { name = "filelock", version = "3.17.0", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.9'" }, { name = "platformdirs" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/50/39/689abee4adc85aad2af8174bb195a819d0be064bf55fcc73b49d2b28ae77/virtualenv-20.28.1.tar.gz", hash = "sha256:5d34ab240fdb5d21549b76f9e8ff3af28252f5499fb6d6f031adac4e5a8c5329", size = 7650532 } +sdist = { url = "https://files.pythonhosted.org/packages/a7/ca/f23dcb02e161a9bba141b1c08aa50e8da6ea25e6d780528f1d385a3efe25/virtualenv-20.29.1.tar.gz", hash = "sha256:b8b8970138d32fb606192cb97f6cd4bb644fa486be9308fb9b63f81091b5dc35", size = 7658028 } wheels = [ - { url = "https://files.pythonhosted.org/packages/51/8f/dfb257ca6b4e27cb990f1631142361e4712badab8e3ca8dc134d96111515/virtualenv-20.28.1-py3-none-any.whl", hash = "sha256:412773c85d4dab0409b83ec36f7a6499e72eaf08c80e81e9576bca61831c71cb", size = 4276719 }, + { url = "https://files.pythonhosted.org/packages/89/9b/599bcfc7064fbe5740919e78c5df18e5dceb0887e676256a1061bb5ae232/virtualenv-20.29.1-py3-none-any.whl", hash = "sha256:4e4cb403c0b0da39e13b46b1b2476e505cb0046b25f242bee80f62bf990b2779", size = 4282379 }, ] [[package]] @@ -5186,12 +5246,9 @@ name = "watchdog" version = "6.0.0" source = { registry = "https://pypi.org/simple" } resolution-markers = [ - "python_full_version >= '3.13' and sys_platform == 'darwin'", - "python_full_version >= '3.13' and platform_machine == 'aarch64' and sys_platform == 'linux'", - "(python_full_version >= '3.13' and platform_machine != 'aarch64' and sys_platform == 'linux') or (python_full_version >= '3.13' and sys_platform != 'darwin' and sys_platform != 'linux')", - "python_full_version == '3.12.*' and sys_platform == 'darwin'", - "python_full_version == '3.12.*' and platform_machine == 'aarch64' and sys_platform == 'linux'", - "(python_full_version == '3.12.*' and platform_machine != 'aarch64' and sys_platform == 'linux') or (python_full_version == '3.12.*' and sys_platform != 'darwin' and sys_platform != 'linux')", + "python_full_version >= '3.12' and sys_platform == 'darwin'", + "python_full_version >= '3.12' and platform_machine == 'aarch64' and sys_platform == 'linux'", + "(python_full_version >= '3.12' and platform_machine != 'aarch64' and sys_platform == 'linux') or (python_full_version >= '3.12' and sys_platform != 'darwin' and sys_platform != 'linux')", "python_full_version == '3.11.*' and sys_platform == 'darwin'", "python_full_version == '3.11.*' and platform_machine == 'aarch64' and sys_platform == 'linux'", "(python_full_version == '3.11.*' and platform_machine != 'aarch64' and sys_platform == 'linux') or (python_full_version == '3.11.*' and sys_platform != 'darwin' and sys_platform != 'linux')", @@ -5263,12 +5320,9 @@ name = "webcolors" version = "24.11.1" source = { registry = "https://pypi.org/simple" } resolution-markers = [ - "python_full_version >= '3.13' and sys_platform == 'darwin'", - "python_full_version >= '3.13' and platform_machine == 'aarch64' and sys_platform == 'linux'", - "(python_full_version >= '3.13' and platform_machine != 'aarch64' and sys_platform == 'linux') or (python_full_version >= '3.13' and sys_platform != 'darwin' and sys_platform != 'linux')", - "python_full_version == '3.12.*' and sys_platform == 'darwin'", - "python_full_version == '3.12.*' and platform_machine == 'aarch64' and sys_platform == 'linux'", - "(python_full_version == '3.12.*' and platform_machine != 'aarch64' and sys_platform == 'linux') or (python_full_version == '3.12.*' and sys_platform != 'darwin' and sys_platform != 'linux')", + "python_full_version >= '3.12' and sys_platform == 'darwin'", + "python_full_version >= '3.12' and platform_machine == 'aarch64' and sys_platform == 'linux'", + "(python_full_version >= '3.12' and platform_machine != 'aarch64' and sys_platform == 'linux') or (python_full_version >= '3.12' and sys_platform != 'darwin' and sys_platform != 'linux')", "python_full_version == '3.11.*' and sys_platform == 'darwin'", "python_full_version == '3.11.*' and platform_machine == 'aarch64' and sys_platform == 'linux'", "(python_full_version == '3.11.*' and platform_machine != 'aarch64' and sys_platform == 'linux') or (python_full_version == '3.11.*' and sys_platform != 'darwin' and sys_platform != 'linux')", @@ -5339,12 +5393,9 @@ name = "zipp" version = "3.21.0" source = { registry = "https://pypi.org/simple" } resolution-markers = [ - "python_full_version >= '3.13' and sys_platform == 'darwin'", - "python_full_version >= '3.13' and platform_machine == 'aarch64' and sys_platform == 'linux'", - "(python_full_version >= '3.13' and platform_machine != 'aarch64' and sys_platform == 'linux') or (python_full_version >= '3.13' and sys_platform != 'darwin' and sys_platform != 'linux')", - "python_full_version == '3.12.*' and sys_platform == 'darwin'", - "python_full_version == '3.12.*' and platform_machine == 'aarch64' and sys_platform == 'linux'", - "(python_full_version == '3.12.*' and platform_machine != 'aarch64' and sys_platform == 'linux') or (python_full_version == '3.12.*' and sys_platform != 'darwin' and sys_platform != 'linux')", + "python_full_version >= '3.12' and sys_platform == 'darwin'", + "python_full_version >= '3.12' and platform_machine == 'aarch64' and sys_platform == 'linux'", + "(python_full_version >= '3.12' and platform_machine != 'aarch64' and sys_platform == 'linux') or (python_full_version >= '3.12' and sys_platform != 'darwin' and sys_platform != 'linux')", "python_full_version == '3.11.*' and sys_platform == 'darwin'", "python_full_version == '3.11.*' and platform_machine == 'aarch64' and sys_platform == 'linux'", "(python_full_version == '3.11.*' and platform_machine != 'aarch64' and sys_platform == 'linux') or (python_full_version == '3.11.*' and sys_platform != 'darwin' and sys_platform != 'linux')", From fefd005c2c746fe023d8fd4c77fa3367f4738b33 Mon Sep 17 00:00:00 2001 From: Armaggheddon Date: Mon, 10 Feb 2025 20:59:45 +0100 Subject: [PATCH 118/420] perf: improved hsv color mapping in HeatMapAnnotator by 20x --- supervision/annotators/core.py | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/supervision/annotators/core.py b/supervision/annotators/core.py index a2b2ed565b..c7c41b03b3 100644 --- a/supervision/annotators/core.py +++ b/supervision/annotators/core.py @@ -1944,11 +1944,9 @@ def annotate(self, scene: ImageType, detections: Detections) -> ImageType: temp = temp.astype(np.uint8) if self.kernel_size is not None: temp = cv2.blur(temp, (self.kernel_size, self.kernel_size)) - hsv = np.zeros(scene.shape) + hsv = np.full(scene.shape, 255, dtype=np.uint8) hsv[..., 0] = temp - hsv[..., 1] = 255 - hsv[..., 2] = 255 - temp = cv2.cvtColor(hsv.astype(np.uint8), cv2.COLOR_HSV2BGR) + temp = cv2.cvtColor(hsv, cv2.COLOR_HSV2BGR) mask = cv2.cvtColor(self.heat_mask.astype(np.uint8), cv2.COLOR_GRAY2BGR) > 0 scene[mask] = cv2.addWeighted(temp, self.opacity, scene, 1 - self.opacity, 0)[ mask From fb1dbfd08427dd3df0653fe3a420bb4aa7a0cb8c Mon Sep 17 00:00:00 2001 From: Onuralp SEZER Date: Mon, 17 Feb 2025 02:26:04 +0300 Subject: [PATCH 119/420] =?UTF-8?q?feat:=20=E2=9C=A8=20Add=20xyxy=5Fxywh?= =?UTF-8?q?=20function=20and=20from=5Ftransformers=20method=20for=20KeyPoi?= =?UTF-8?q?nts=20class?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Onuralp SEZER --- supervision/__init__.py | 2 + supervision/detection/utils.py | 37 ++++++++++++++ supervision/keypoint/core.py | 89 ++++++++++++++++++++++++++++++++++ 3 files changed, 128 insertions(+) diff --git a/supervision/__init__.py b/supervision/__init__.py index 2b2a0082dd..c1b9d2c643 100644 --- a/supervision/__init__.py +++ b/supervision/__init__.py @@ -78,6 +78,7 @@ xcycwh_to_xyxy, xywh_to_xyxy, xyxy_to_polygons, + xyxy_xywh, ) from supervision.draw.color import Color, ColorPalette from supervision.draw.utils import ( @@ -226,4 +227,5 @@ "xcycwh_to_xyxy", "xywh_to_xyxy", "xyxy_to_polygons", + "xyxy_xywh", ] diff --git a/supervision/detection/utils.py b/supervision/detection/utils.py index 0d5ec475ed..dfc66bab66 100644 --- a/supervision/detection/utils.py +++ b/supervision/detection/utils.py @@ -321,6 +321,43 @@ def xywh_to_xyxy(xywh: np.ndarray) -> np.ndarray: return xyxy +def xyxy_xywh(xyxy: np.ndarray) -> np.ndarray: + """ + Converts bounding box coordinates from `(x_min, y_min, x_max, y_max)` + format to `(x, y, width, height)` format. + + Args: + xyxy (np.ndarray): A numpy array of shape `(N, 4)` where each row + corresponds to a bounding box in the format `(x_min, y_min, x_max, + y_max)`. + + Returns: + np.ndarray: A numpy array of shape `(N, 4)` where each row corresponds + to a bounding box in the format `(x, y, width, height)`. + + Examples: + ```python + import numpy as np + import supervision as sv + + xyxy = np.array([ + [10, 20, 40, 60], + [15, 25, 50, 70] + ]) + + sv.xyxy_xywh(xyxy=xyxy) + # array([ + # [10, 20, 30, 40], + # [15, 25, 35, 45] + # ]) + ``` + """ + xywh = xyxy.copy() + xywh[:, 2] = xyxy[:, 2] - xyxy[:, 0] + xywh[:, 3] = xyxy[:, 3] - xyxy[:, 1] + return xywh + + def xcycwh_to_xyxy(xcycwh: np.ndarray) -> np.ndarray: """ Converts bounding box coordinates from `(center_x, center_y, width, height)` diff --git a/supervision/keypoint/core.py b/supervision/keypoint/core.py index 04dde4e1da..4766ae7370 100644 --- a/supervision/keypoint/core.py +++ b/supervision/keypoint/core.py @@ -510,6 +510,95 @@ def from_detectron2(cls, detectron2_results: Any) -> KeyPoints: else: return cls.empty() + @classmethod + def from_transformers(cls, transfomers_results: Any) -> KeyPoints: + """ + Create a `sv.KeyPoints` object from the + [Transformers](https://github.com/huggingface/transformers) inference result. + + Args: + transfomers_results (Any): The output of a + Transformers model containing instances with prediction data. + + Returns: + A `sv.KeyPoints` object containing the keypoint coordinates, class IDs, + and class names, and confidences of each keypoint. + + Example: + ```python + import requests + import torch + from PIL import Image + from transformers import ( + AutoProcessor, + RTDetrForObjectDetection, + VitPoseForPoseEstimation, + ) + + import supervision as sv + + device = "cuda" if torch.cuda.is_available() else "cpu" + image = Image.open() + + person_image_processor = AutoProcessor.from_pretrained("PekingU/rtdetr_r50vd_coco_o365") + person_model = RTDetrForObjectDetection.from_pretrained("PekingU/rtdetr_r50vd_coco_o365", device_map=device) + + inputs = person_image_processor(images=image, return_tensors="pt").to(device) + + with torch.no_grad(): + outputs = person_model(**inputs) + + results = person_image_processor.post_process_object_detection( + outputs, target_sizes=torch.tensor([(image.height, image.width)]), threshold=0.3 + ) + result = results[0] # take first image results + detections = sv.Detections.from_transformers(result) + person_detections_xywh = sv.xyxy_xywh(detections[detections.class_id == 0].xyxy) + + image_processor = AutoProcessor.from_pretrained("usyd-community/vitpose-base-simple") + model = VitPoseForPoseEstimation.from_pretrained( + "usyd-community/vitpose-base-simple", device_map=device + ) + + inputs = image_processor(image, boxes=[person_detections_xywh], return_tensors="pt").to( + device + ) + + with torch.no_grad(): + outputs = model(**inputs) + + pose_results = image_processor.post_process_pose_estimation( + outputs, boxes=[person_detections_xywh] + )[0] + + keypoints = sv.KeyPoints.from_transformers(pose_results) + + + ``` + """ # noqa: E501 // docs + + if "keypoints" in transfomers_results[0]: + if transfomers_results[0]["keypoints"].cpu().numpy().size == 0: + return cls.empty() + + result_data = [ + ( + result["keypoints"].cpu().numpy(), + result["scores"].cpu().numpy(), + ) + for result in transfomers_results + ] + + xy, scores = zip(*result_data) + + return cls( + xy=np.stack(xy).astype(np.float32), + confidence=np.stack(scores).astype(np.float32), + class_id=np.arange(len(xy)).astype(int), + ) + else: + return cls.empty() + def __getitem__( self, index: Union[int, slice, List[int], np.ndarray, str] ) -> Union[KeyPoints, List, np.ndarray, None]: From cbaa605e08fc86d913b09dd0672cd913449bca91 Mon Sep 17 00:00:00 2001 From: Onuralp SEZER Date: Tue, 18 Feb 2025 00:52:27 +0300 Subject: [PATCH 120/420] =?UTF-8?q?refactor:=20=F0=9F=94=84=20Rename=20xyx?= =?UTF-8?q?y=5Fxywh=20function=20to=20xyxy=5Fto=5Fxywh=20docs:=20?= =?UTF-8?q?=F0=9F=93=9D=20Update=20docstring=20for=20KeyPoints.from=5Ftran?= =?UTF-8?q?sformers?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Onuralp SEZER --- supervision/__init__.py | 4 +-- supervision/detection/utils.py | 4 +-- supervision/keypoint/core.py | 48 ++++++++++++++++------------------ test/detection/test_utils.py | 24 +++++++++++++++++ 4 files changed, 50 insertions(+), 30 deletions(-) diff --git a/supervision/__init__.py b/supervision/__init__.py index c1b9d2c643..60b48a3dbc 100644 --- a/supervision/__init__.py +++ b/supervision/__init__.py @@ -78,7 +78,7 @@ xcycwh_to_xyxy, xywh_to_xyxy, xyxy_to_polygons, - xyxy_xywh, + xyxy_to_xywh, ) from supervision.draw.color import Color, ColorPalette from supervision.draw.utils import ( @@ -227,5 +227,5 @@ "xcycwh_to_xyxy", "xywh_to_xyxy", "xyxy_to_polygons", - "xyxy_xywh", + "xyxy_to_xywh", ] diff --git a/supervision/detection/utils.py b/supervision/detection/utils.py index dfc66bab66..61d0c0cbc6 100644 --- a/supervision/detection/utils.py +++ b/supervision/detection/utils.py @@ -321,7 +321,7 @@ def xywh_to_xyxy(xywh: np.ndarray) -> np.ndarray: return xyxy -def xyxy_xywh(xyxy: np.ndarray) -> np.ndarray: +def xyxy_to_xywh(xyxy: np.ndarray) -> np.ndarray: """ Converts bounding box coordinates from `(x_min, y_min, x_max, y_max)` format to `(x, y, width, height)` format. @@ -345,7 +345,7 @@ def xyxy_xywh(xyxy: np.ndarray) -> np.ndarray: [15, 25, 50, 70] ]) - sv.xyxy_xywh(xyxy=xyxy) + sv.xyxy_to_xywh(xyxy=xyxy) # array([ # [10, 20, 30, 40], # [15, 25, 35, 45] diff --git a/supervision/keypoint/core.py b/supervision/keypoint/core.py index 4766ae7370..dca0334e87 100644 --- a/supervision/keypoint/core.py +++ b/supervision/keypoint/core.py @@ -526,53 +526,49 @@ def from_transformers(cls, transfomers_results: Any) -> KeyPoints: Example: ```python + from PIL import Image import requests + import supervision as sv import torch - from PIL import Image from transformers import ( AutoProcessor, RTDetrForObjectDetection, VitPoseForPoseEstimation, ) - import supervision as sv - device = "cuda" if torch.cuda.is_available() else "cpu" image = Image.open() - person_image_processor = AutoProcessor.from_pretrained("PekingU/rtdetr_r50vd_coco_o365") - person_model = RTDetrForObjectDetection.from_pretrained("PekingU/rtdetr_r50vd_coco_o365", device_map=device) + DETECTION_MODEL_ID = "PekingU/rtdetr_r50vd_coco_o365" + + detection_processor = AutoProcessor.from_pretrained(DETECTION_MODEL_ID, use_fast=True) + detection_model = RTDetrForObjectDetection.from_pretrained(DETECTION_MODEL_ID, device_map=DEVICE) - inputs = person_image_processor(images=image, return_tensors="pt").to(device) + inputs = detection_processor(images=frame, return_tensors="pt").to(DEVICE) with torch.no_grad(): - outputs = person_model(**inputs) + outputs = detection_model(**inputs) - results = person_image_processor.post_process_object_detection( - outputs, target_sizes=torch.tensor([(image.height, image.width)]), threshold=0.3 - ) - result = results[0] # take first image results - detections = sv.Detections.from_transformers(result) - person_detections_xywh = sv.xyxy_xywh(detections[detections.class_id == 0].xyxy) + target_size = torch.tensor([(frame.height, frame.width)]) + results = detection_processor.post_process_object_detection( + outputs, target_sizes=target_size, threshold=0.3) - image_processor = AutoProcessor.from_pretrained("usyd-community/vitpose-base-simple") - model = VitPoseForPoseEstimation.from_pretrained( - "usyd-community/vitpose-base-simple", device_map=device - ) + detections = sv.Detections.from_transformers(results[0]) + boxes = sv.xyxy_to_xywh(detections[detections.class_id == 0].xyxy) - inputs = image_processor(image, boxes=[person_detections_xywh], return_tensors="pt").to( - device - ) + POSE_ESTIMATION_MODEL_ID = "usyd-community/vitpose-base-simple" - with torch.no_grad(): - outputs = model(**inputs) + pose_estimation_processor = AutoProcessor.from_pretrained(POSE_ESTIMATION_MODEL_ID) + pose_estimation_model = VitPoseForPoseEstimation.from_pretrained( + POSE_ESTIMATION_MODEL_ID, device_map=DEVICE) - pose_results = image_processor.post_process_pose_estimation( - outputs, boxes=[person_detections_xywh] - )[0] + inputs = pose_estimation_processor(frame, boxes=[boxes], return_tensors="pt").to(DEVICE) - keypoints = sv.KeyPoints.from_transformers(pose_results) + with torch.no_grad(): + outputs = pose_estimation_model(**inputs) + results = pose_estimation_processor.post_process_pose_estimation(outputs, boxes=[boxes]) + key_point = sv.KeyPoints.from_transformers(results[0]) ``` """ # noqa: E501 // docs diff --git a/test/detection/test_utils.py b/test/detection/test_utils.py index d93c72c834..ed48ec866d 100644 --- a/test/detection/test_utils.py +++ b/test/detection/test_utils.py @@ -21,6 +21,7 @@ scale_boxes, xcycwh_to_xyxy, xywh_to_xyxy, + xyxy_to_xywh, ) TEST_MASK = np.zeros((1, 1000, 1000), dtype=bool) @@ -1381,6 +1382,29 @@ def test_xywh_to_xyxy(xywh: np.ndarray, expected_result: np.ndarray) -> None: np.testing.assert_array_equal(result, expected_result) +@pytest.mark.parametrize( + "xyxy, expected_result", + [ + (np.array([[10, 20, 40, 60]]), np.array([[10, 20, 30, 40]])), # standard case + (np.array([[0, 0, 0, 0]]), np.array([[0, 0, 0, 0]])), # zero size bounding box + ( + np.array([[50, 50, 150, 150]]), + np.array([[50, 50, 100, 100]]), + ), # large bounding box + ( + np.array([[-10, -20, 20, 20]]), + np.array([[-10, -20, 30, 40]]), + ), # negative coordinates + (np.array([[50, 50, 50, 80]]), np.array([[50, 50, 0, 30]])), # zero width + (np.array([[50, 50, 70, 50]]), np.array([[50, 50, 20, 0]])), # zero height + (np.array([]).reshape(0, 4), np.array([]).reshape(0, 4)), # empty array + ], +) +def test_xyxy_to_xywh(xyxy: np.ndarray, expected_result: np.ndarray) -> None: + result = xyxy_to_xywh(xyxy) + np.testing.assert_array_equal(result, expected_result) + + @pytest.mark.parametrize( "xcycwh, expected_result", [ From a151685a57415f2bdc5f3ec07a43bf5e66ecca28 Mon Sep 17 00:00:00 2001 From: Onuralp SEZER Date: Tue, 18 Feb 2025 01:05:56 +0300 Subject: [PATCH 121/420] =?UTF-8?q?docs:=20=E2=9C=8F=EF=B8=8F=20Add=20docu?= =?UTF-8?q?mentation=20for=20xyxy=5Fto=5Fxywh=20function=20in=20utils.md?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- docs/detection/utils.md | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/docs/detection/utils.md b/docs/detection/utils.md index 5f1902b79c..25c1cc7da8 100644 --- a/docs/detection/utils.md +++ b/docs/detection/utils.md @@ -89,6 +89,12 @@ status: new :::supervision.detection.utils.xywh_to_xyxy + + +:::supervision.detection.utils.xyxy_to_xywh + From c06d5f01315627b6b4e3238baf637779ec1d0767 Mon Sep 17 00:00:00 2001 From: Onuralp SEZER Date: Tue, 18 Feb 2025 01:38:11 +0300 Subject: [PATCH 122/420] =?UTF-8?q?docs:=20=E2=9C=8F=EF=B8=8F=20Update=20d?= =?UTF-8?q?ocstrings=20to=20correct=20example=20wording=20and=20formatting?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- supervision/keypoint/core.py | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/supervision/keypoint/core.py b/supervision/keypoint/core.py index dca0334e87..a625527f75 100644 --- a/supervision/keypoint/core.py +++ b/supervision/keypoint/core.py @@ -61,6 +61,7 @@ class simplifies data manipulation and filtering, providing a uniform API for method, which accepts [MediaPipe](https://github.com/google-ai-edge/mediapipe) pose result. + ```python import cv2 import mediapipe as mp @@ -314,6 +315,7 @@ def from_mediapipe( key_points = sv.KeyPoints.from_mediapipe( face_landmarker_result, (image_width, image_height)) ``` + """ # noqa: E501 // docs if hasattr(mediapipe_results, "pose_landmarks"): results = mediapipe_results.pose_landmarks @@ -473,7 +475,7 @@ def from_detectron2(cls, detectron2_results: Any) -> KeyPoints: A `sv.KeyPoints` object containing the keypoint coordinates, class IDs, and class names, and confidences of each keypoint. - Example: + Examples: ```python import cv2 import supervision as sv @@ -524,7 +526,7 @@ def from_transformers(cls, transfomers_results: Any) -> KeyPoints: A `sv.KeyPoints` object containing the keypoint coordinates, class IDs, and class names, and confidences of each keypoint. - Example: + Examples: ```python from PIL import Image import requests @@ -569,8 +571,8 @@ def from_transformers(cls, transfomers_results: Any) -> KeyPoints: results = pose_estimation_processor.post_process_pose_estimation(outputs, boxes=[boxes]) key_point = sv.KeyPoints.from_transformers(results[0]) - ``` + """ # noqa: E501 // docs if "keypoints" in transfomers_results[0]: @@ -724,7 +726,7 @@ def as_detections( Returns: detections (Detections): The converted detections object. - Example: + Examples: ```python keypoints = sv.KeyPoints.from_inference(...) detections = keypoints.as_detections() From 77b7d3733a8b64066c4c0bd035c20466e9b9aa75 Mon Sep 17 00:00:00 2001 From: SkalskiP Date: Tue, 18 Feb 2025 08:37:51 +0100 Subject: [PATCH 123/420] added experimental implementation of from_qwen_2_5_vl --- supervision/detection/core.py | 7 +- supervision/detection/lmm.py | 89 +++++++++++++++++- test/detection/test_lmm.py | 172 +++++++++++++++++++++++++++++++++- 3 files changed, 264 insertions(+), 4 deletions(-) diff --git a/supervision/detection/core.py b/supervision/detection/core.py index ca4ded1ff3..6073dc0897 100644 --- a/supervision/detection/core.py +++ b/supervision/detection/core.py @@ -840,13 +840,16 @@ def from_lmm( lmm = validate_lmm_parameters(lmm, result, kwargs) if lmm == LMM.PALIGEMMA: - assert isinstance(result, str) + xyxy, class_id, class_name = from_paligemma(result, **kwargs) + data = {CLASS_NAME_DATA_FIELD: class_name} + return cls(xyxy=xyxy, class_id=class_id, data=data) + + if lmm == LMM.QWEN_2_5_VL: xyxy, class_id, class_name = from_paligemma(result, **kwargs) data = {CLASS_NAME_DATA_FIELD: class_name} return cls(xyxy=xyxy, class_id=class_id, data=data) if lmm == LMM.FLORENCE_2: - assert isinstance(result, dict) xyxy, labels, mask, xyxyxyxy = from_florence_2(result, **kwargs) if len(xyxy) == 0: return cls.empty() diff --git a/supervision/detection/lmm.py b/supervision/detection/lmm.py index 7879902f3a..3ff29e585b 100644 --- a/supervision/detection/lmm.py +++ b/supervision/detection/lmm.py @@ -1,3 +1,4 @@ +import json import re from enum import Enum from typing import Any, Dict, List, Optional, Tuple, Union @@ -10,18 +11,21 @@ class LMM(Enum): PALIGEMMA = "paligemma" FLORENCE_2 = "florence_2" + QWEN_2_5_VL = "qwen_2_5_vl" -RESULT_TYPES: Dict[LMM, type] = {LMM.PALIGEMMA: str, LMM.FLORENCE_2: dict} +RESULT_TYPES: Dict[LMM, type] = {LMM.PALIGEMMA: str, LMM.FLORENCE_2: dict, LMM.QWEN_2_5_VL: str} REQUIRED_ARGUMENTS: Dict[LMM, List[str]] = { LMM.PALIGEMMA: ["resolution_wh"], LMM.FLORENCE_2: ["resolution_wh"], + LMM.QWEN_2_5_VL: ["input_wh", "resolution_wh"] } ALLOWED_ARGUMENTS: Dict[LMM, List[str]] = { LMM.PALIGEMMA: ["resolution_wh", "classes"], LMM.FLORENCE_2: ["resolution_wh"], + LMM.QWEN_2_5_VL: ["input_wh", "resolution_wh", "classes"] } SUPPORTED_TASKS_FLORENCE_2 = [ @@ -90,6 +94,89 @@ def from_paligemma( return xyxy, class_id, class_name +def from_qwen_2_5_vl( + result: str, + input_wh: Tuple[int, int], + resolution_wh: Tuple[int, int], + classes: Optional[List[str]] = None +) -> Tuple[np.ndarray, Optional[np.ndarray], np.ndarray]: + """ + Parse and scale bounding boxes from QWen 2.5 style JSON output. + + The JSON is expected to be enclosed in triple backticks with the format: + ```json + [ + {"bbox_2d": [x1, y1, x2, y2], "label": "some class name"}, + ... + ] + ``` + + Args: + result: String containing the JSON snippet enclosed by triple backticks. + input_wh: (input_width, input_height) describing the original bounding box scale. + resolution_wh: (output_width, output_height) to which we rescale the boxes. + classes: Optional list of valid class names. If provided, returned boxes/labels + are filtered to only those classes found here. + + Returns: + xyxy (np.ndarray): An array of shape `(n, 4)` containing + the bounding boxes coordinates in format `[x1, y1, x2, y2]` + class_id (Optional[np.ndarray]): An array of shape `(n,)` containing + the class indices for each bounding box (or None if `classes` is not provided) + class_name (np.ndarray): An array of shape `(n,)` containing + the class labels for each bounding box + """ + in_w, in_h = input_wh + out_w, out_h = resolution_wh + + if in_w <= 0 or in_h <= 0 or out_w <= 0 or out_h <= 0: + raise ValueError( + f"Both input and resolution dimensions must be positive. " + f"Got input_wh=({in_w}, {in_h}), resolution_wh=({out_w}, {out_h})." + ) + + pattern = re.compile(r"```json\s*(.*?)\s*```", re.DOTALL) + + match = pattern.search(result) + if not match: + return np.empty((0, 4)), None, np.empty((0,), dtype=str) + + json_snippet = match.group(1) + + try: + data = json.loads(json_snippet) + except json.JSONDecodeError: + return np.empty((0, 4)), None, np.empty((0,), dtype=str) + + boxes_list = [] + labels_list = [] + + for item in data: + if "bbox_2d" not in item or "label" not in item: + continue + boxes_list.append(item["bbox_2d"]) + labels_list.append(item["label"]) + + if not boxes_list: + return np.empty((0, 4)), None, np.empty((0,), dtype=str) + + xyxy = np.array(boxes_list, dtype=float) + class_name = np.array(labels_list, dtype=str) + + xyxy = xyxy / [in_w, in_h, in_w, in_h] + xyxy = xyxy * [out_w, out_h, out_w, out_h] + + class_id = None + + if classes is not None: + mask = np.array([label in classes for label in class_name], dtype=bool) + xyxy = xyxy[mask] + class_name = class_name[mask] + class_id = np.array([classes.index(label) for label in class_name], dtype=int) + + return xyxy, class_id, class_name + + def from_florence_2( result: dict, resolution_wh: Tuple[int, int] ) -> Tuple[ diff --git a/test/detection/test_lmm.py b/test/detection/test_lmm.py index 4448d8db3a..9e0fc08dc2 100644 --- a/test/detection/test_lmm.py +++ b/test/detection/test_lmm.py @@ -1,9 +1,10 @@ +from contextlib import nullcontext as does_not_raise from typing import List, Optional, Tuple import numpy as np import pytest -from supervision.detection.lmm import from_paligemma +from supervision.detection.lmm import from_paligemma, from_qwen_2_5_vl @pytest.mark.parametrize( @@ -149,3 +150,172 @@ def test_from_paligemma( np.testing.assert_array_equal(result[0], expected_results[0]) np.testing.assert_array_equal(result[1], expected_results[1]) np.testing.assert_array_equal(result[2], expected_results[2]) + + +@pytest.mark.parametrize( + "expectation, result, input_wh, resolution_wh, classes, expected_results", + [ + ( + does_not_raise(), + "some random text without triple backticks", + (640, 640), + (1280, 720), + None, + (np.empty((0, 4)), None, np.empty(0, dtype=str)), + ), # no snippet + ( + does_not_raise(), + "```json\nnot valid json\n```", + (640, 640), + (1280, 720), + None, + (np.empty((0, 4)), None, np.empty(0, dtype=str)), + ), # invalid JSON + ( + does_not_raise(), + "```json\n[]\n```", + (640, 640), + (1280, 720), + None, + (np.empty((0, 4)), None, np.empty(0, dtype=str)), + ), # empty list + ( + does_not_raise(), + """```json + [ + {"bbox_2d": [10, 10, 100, 100]}, + {"label": "missing box"}, + {"bbox_2d": [50, 60, 110, 120], "unused": "something"} + ] + ```""", + (640, 640), + (1280, 720), + None, + (np.empty((0, 4)), None, np.empty(0, dtype=str)), + ), # missing keys + ( + does_not_raise(), + """```json + [ + {"bbox_2d": [10, 20, 110, 120], "label": "cat"} + ] + ```""", + (640, 640), + (1280, 720), + None, + ( + np.array([[20.0, 22.5, 220.0, 135.0]]), + None, + np.array(["cat"], dtype=str), + ), + ), # single box no classes + ( + does_not_raise(), + """```json + [ + {"bbox_2d": [0, 0, 64, 64], "label": "dog"}, + {"bbox_2d": [100, 200, 300, 400], "label": "cat"} + ] + ```""", + (640, 640), + (640, 640), + None, + ( + np.array([[0, 0, 64, 64], [100, 200, 300, 400]], dtype=float), + None, + np.array(["dog", "cat"], dtype=str), + ), + ), # multiple no classes + ( + does_not_raise(), + """```json + [ + {"bbox_2d": [10, 20, 110, 120], "label": "bird"} + ] + ```""", + (640, 640), + (1280, 720), + ["cat", "dog"], + (np.empty((0, 4)), np.empty(0, dtype=int), np.empty(0, dtype=str)), + ), # class mismatch + ( + does_not_raise(), + """```json + [ + {"bbox_2d": [10, 20, 110, 120], "label": "cat"}, + {"bbox_2d": [50, 100, 150, 200], "label": "dog"} + ] + ```""", + (640, 640), + (640, 480), + ["cat", "dog"], + ( + np.array([ + [10.0, 15.0, 110.0, 90.0], + [50.0, 75.0, 150.0, 150.0] + ]), + np.array([0, 1], dtype=int), + np.array(["cat", "dog"], dtype=str), + ), + ), # partial filtering + ( + does_not_raise(), + """```json + [ + {"bbox_2d": [-10, 0, 700, 700], "label": "dog"} + ] + ```""", + (640, 640), + (1280, 720), + None, + ( + np.array([[-20.0, 0.0, 1400.0, 787.5]]), + None, + np.array(["dog"], dtype=str), + ), + ), # out-of-bounds box + ( + pytest.raises(ValueError), + """```json + [ + {"bbox_2d": [10, 20, 110, 120], "label": "cat"} + ] + ```""", + (0, 640), + (1280, 720), + None, + None, # won't be compared because we expect an exception + ), # zero input width -> ValueError + ( + pytest.raises(ValueError), + """```json + [ + {"bbox_2d": [10, 20, 110, 120], "label": "dog"} + ] + ```""", + (640, 640), + (1280, -100), + None, + None, + ), # negative resolution height -> ValueError + ], +) +def test_from_qwen_2_5_vl( + expectation, + result: str, + input_wh: Tuple[int, int], + resolution_wh: Tuple[int, int], + classes: Optional[List[str]], + expected_results, +) -> None: + with expectation: + xyxy, class_id, class_name = from_qwen_2_5_vl( + result=result, + input_wh=input_wh, + resolution_wh=resolution_wh, + classes=classes, + ) + if expected_results is not None: + np.testing.assert_array_equal(xyxy, expected_results[0]) + np.testing.assert_array_equal(class_id, expected_results[1]) + np.testing.assert_array_equal(class_name, expected_results[2]) From 23301bbd17f4f3eba27acb85689d4631e5885ca4 Mon Sep 17 00:00:00 2001 From: SkalskiP Date: Tue, 18 Feb 2025 08:54:08 +0100 Subject: [PATCH 124/420] experiment with fixing numpy dependency --- pyproject.toml | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/pyproject.toml b/pyproject.toml index 019ea3d8cd..828b636ecc 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -38,8 +38,11 @@ classifiers = [ 'Operating System :: MacOS', ] dependencies = [ - "numpy>=1.21.2,<1.26.0; python_version < '3.12'", - "numpy>=1.26.0,<2.1.0; python_version >= '3.12' and python_version < '3.13'", +# "numpy>=1.21.2,<1.26.0; python_version < '3.12'", +# "numpy>=1.26.0,<2.1.0; python_version >= '3.12' and python_version < '3.13'", +# "numpy>=2.1.0; python_version >= '3.13'", + "numpy>=1.21.2,<1.26.0; python_version < '3.10'", + "numpy>=1.26.0,<2.1.0; python_version >= '3.10' and python_version < '3.13'", "numpy>=2.1.0; python_version >= '3.13'", "scipy (==1.10.0); python_version < '3.9'", "scipy (>=1.10.0,<1.14.1) ; python_version >= '3.9' and python_version < '3.13'", From 76429548b67b6ea972a43f0f62aeb7b27b057d97 Mon Sep 17 00:00:00 2001 From: "pre-commit-ci[bot]" <66853113+pre-commit-ci[bot]@users.noreply.github.com> Date: Tue, 18 Feb 2025 08:04:52 +0000 Subject: [PATCH 125/420] =?UTF-8?q?fix(pre=5Fcommit):=20=F0=9F=8E=A8=20aut?= =?UTF-8?q?o=20format=20pre-commit=20hooks?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- supervision/detection/lmm.py | 12 ++++++++---- test/detection/test_lmm.py | 5 +---- 2 files changed, 9 insertions(+), 8 deletions(-) diff --git a/supervision/detection/lmm.py b/supervision/detection/lmm.py index 3ff29e585b..394735dc8b 100644 --- a/supervision/detection/lmm.py +++ b/supervision/detection/lmm.py @@ -14,18 +14,22 @@ class LMM(Enum): QWEN_2_5_VL = "qwen_2_5_vl" -RESULT_TYPES: Dict[LMM, type] = {LMM.PALIGEMMA: str, LMM.FLORENCE_2: dict, LMM.QWEN_2_5_VL: str} +RESULT_TYPES: Dict[LMM, type] = { + LMM.PALIGEMMA: str, + LMM.FLORENCE_2: dict, + LMM.QWEN_2_5_VL: str, +} REQUIRED_ARGUMENTS: Dict[LMM, List[str]] = { LMM.PALIGEMMA: ["resolution_wh"], LMM.FLORENCE_2: ["resolution_wh"], - LMM.QWEN_2_5_VL: ["input_wh", "resolution_wh"] + LMM.QWEN_2_5_VL: ["input_wh", "resolution_wh"], } ALLOWED_ARGUMENTS: Dict[LMM, List[str]] = { LMM.PALIGEMMA: ["resolution_wh", "classes"], LMM.FLORENCE_2: ["resolution_wh"], - LMM.QWEN_2_5_VL: ["input_wh", "resolution_wh", "classes"] + LMM.QWEN_2_5_VL: ["input_wh", "resolution_wh", "classes"], } SUPPORTED_TASKS_FLORENCE_2 = [ @@ -98,7 +102,7 @@ def from_qwen_2_5_vl( result: str, input_wh: Tuple[int, int], resolution_wh: Tuple[int, int], - classes: Optional[List[str]] = None + classes: Optional[List[str]] = None, ) -> Tuple[np.ndarray, Optional[np.ndarray], np.ndarray]: """ Parse and scale bounding boxes from QWen 2.5 style JSON output. diff --git a/test/detection/test_lmm.py b/test/detection/test_lmm.py index 9e0fc08dc2..a3055bd73c 100644 --- a/test/detection/test_lmm.py +++ b/test/detection/test_lmm.py @@ -250,10 +250,7 @@ def test_from_paligemma( (640, 480), ["cat", "dog"], ( - np.array([ - [10.0, 15.0, 110.0, 90.0], - [50.0, 75.0, 150.0, 150.0] - ]), + np.array([[10.0, 15.0, 110.0, 90.0], [50.0, 75.0, 150.0, 150.0]]), np.array([0, 1], dtype=int), np.array(["cat", "dog"], dtype=str), ), From 59b652d0f2918adccdcfd7c549f171692c6f9414 Mon Sep 17 00:00:00 2001 From: SkalskiP Date: Tue, 18 Feb 2025 09:17:25 +0100 Subject: [PATCH 126/420] update `from_paligemma` adding `resolution_wh` validation; update `from_paligemma` unit tests as well --- supervision/detection/lmm.py | 37 ++++++++++-- test/detection/test_lmm.py | 108 ++++++++++++++++++++++++++--------- 2 files changed, 113 insertions(+), 32 deletions(-) diff --git a/supervision/detection/lmm.py b/supervision/detection/lmm.py index 394735dc8b..fc243335a3 100644 --- a/supervision/detection/lmm.py +++ b/supervision/detection/lmm.py @@ -76,23 +76,52 @@ def validate_lmm_parameters( def from_paligemma( - result: str, resolution_wh: Tuple[int, int], classes: Optional[List[str]] = None + result: str, + resolution_wh: Tuple[int, int], + classes: Optional[List[str]] = None ) -> Tuple[np.ndarray, Optional[np.ndarray], np.ndarray]: + """ + Parse bounding boxes from paligemma-formatted text, scale them to the specified resolution, + and optionally filter by classes. + + Args: + result: String containing paligemma-formatted locations and labels. + resolution_wh: Tuple (width, height) to which we scale the box coordinates. + classes: Optional list of valid class names. If provided, boxes and labels not in this list are filtered out. + + Returns: + xyxy (np.ndarray): An array of shape `(n, 4)` containing + the bounding boxes coordinates in format `[x1, y1, x2, y2]`. + class_id (Optional[np.ndarray]): An array of shape `(n,)` containing + the class indices for each bounding box (or `None` if classes is not provided). + class_name (np.ndarray): An array of shape `(n,)` containing + the class labels for each bounding box. + """ + w, h = resolution_wh + if w <= 0 or h <= 0: + raise ValueError( + f"Both dimensions in resolution_wh must be positive. Got ({w}, {h})." + ) + pattern = re.compile( r"(?) ([\w\s\-]+)" ) matches = pattern.findall(result) matches = np.array(matches) if matches else np.empty((0, 5)) + if matches.shape[0] == 0: + return np.empty((0, 4)), None, np.empty(0, dtype=str) + xyxy, class_name = matches[:, [1, 0, 3, 2]], matches[:, 4] xyxy = xyxy.astype(int) / 1024 * np.array([w, h, w, h]) class_name = np.char.strip(class_name.astype(str)) class_id = None if classes is not None: - mask = np.array([name in classes for name in class_name]).astype(bool) - xyxy, class_name = xyxy[mask], class_name[mask] + mask = np.array([name in classes for name in class_name], dtype=bool) + xyxy = xyxy[mask] + class_name = class_name[mask] class_id = np.array([classes.index(name) for name in class_name]) return xyxy, class_id, class_name @@ -105,7 +134,7 @@ def from_qwen_2_5_vl( classes: Optional[List[str]] = None, ) -> Tuple[np.ndarray, Optional[np.ndarray], np.ndarray]: """ - Parse and scale bounding boxes from QWen 2.5 style JSON output. + Parse and scale bounding boxes from Qwen-2.5-VL style JSON output. The JSON is expected to be enclosed in triple backticks with the format: ```json diff --git a/test/detection/test_lmm.py b/test/detection/test_lmm.py index a3055bd73c..a47f662422 100644 --- a/test/detection/test_lmm.py +++ b/test/detection/test_lmm.py @@ -8,57 +8,74 @@ @pytest.mark.parametrize( - "result, resolution_wh, classes, expected_results", + "exception, result, resolution_wh, classes, expected_results", [ ( + does_not_raise(), "", (1000, 1000), None, (np.empty((0, 4)), None, np.empty(0).astype(str)), - ), # empty response + ), # empty text + ( + does_not_raise(), "", (1000, 1000), ["cat", "dog"], (np.empty((0, 4)), None, np.empty(0).astype(str)), - ), # empty response with classes + ), # empty text, classes + ( + does_not_raise(), "\n", (1000, 1000), None, (np.empty((0, 4)), None, np.empty(0).astype(str)), - ), # new line response + ), # newline only + ( + does_not_raise(), "the quick brown fox jumps over the lazy dog.", (1000, 1000), None, (np.empty((0, 4)), None, np.empty(0).astype(str)), - ), # response with no location + ), # random text, no location + ( + does_not_raise(), " cat", (1000, 1000), None, (np.empty((0, 4)), None, np.empty(0).astype(str)), - ), # response with missing location + ), # partial location + ( + does_not_raise(), " cat", (1000, 1000), None, (np.empty((0, 4)), None, np.empty(0).astype(str)), - ), # response with extra location + ), # extra loc + ( + does_not_raise(), "", (1000, 1000), None, (np.empty((0, 4)), None, np.empty(0).astype(str)), - ), # response with no class + ), # no class + ( + does_not_raise(), " catt", (1000, 1000), ["cat", "dog"], (np.empty((0, 4)), np.empty(0), np.empty(0).astype(str)), - ), # response with invalid class + ), # invalid class + ( + does_not_raise(), " cat", (1000, 1000), None, @@ -67,8 +84,10 @@ None, np.array(["cat"]).astype(str), ), - ), # correct response; no classes + ), # single box, no classes + ( + does_not_raise(), " black cat", (1000, 1000), None, @@ -77,8 +96,10 @@ None, np.array(["black cat"]).astype(np.dtype("U")), ), - ), # correct response; class name with space; no classes + ), # class with space + ( + does_not_raise(), " black-cat", (1000, 1000), None, @@ -87,8 +108,10 @@ None, np.array(["black-cat"]).astype(np.dtype("U")), ), - ), # correct response; class name with hyphen; no classes + ), # class with hyphen + ( + does_not_raise(), " black_cat", (1000, 1000), None, @@ -97,8 +120,10 @@ None, np.array(["black_cat"]).astype(np.dtype("U")), ), - ), # correct response; class name with underscore; no classes + ), # class with underscore + ( + does_not_raise(), " cat ;", (1000, 1000), ["cat", "dog"], @@ -107,19 +132,26 @@ np.array([0]), np.array(["cat"]).astype(str), ), - ), # correct response; with classes + ), # correct class filter + ( - " cat ; dog", # noqa: E501 + does_not_raise(), + " cat ; dog", (1000, 1000), ["cat", "dog"], ( - np.array([[250.0, 250.0, 750.0, 750.0], [250.0, 250.0, 750.0, 750.0]]), + np.array([ + [250.0, 250.0, 750.0, 750.0], + [250.0, 250.0, 750.0, 750.0] + ]), np.array([0, 1]), np.array(["cat", "dog"]).astype(np.dtype("U")), ), - ), # correct response; with classes + ), # multiple correct boxes, classes + ( - " cat ; cat", # noqa: E501 + does_not_raise(), + " cat ; cat", (1000, 1000), ["cat", "dog"], ( @@ -127,9 +159,11 @@ np.array([0]), np.array(["cat"]).astype(str), ), - ), # partially correct response; with classes + ), # partial valid boxes + ( - " cat ; cat", # noqa: E501 + does_not_raise(), + " cat ; cat", (1000, 1000), ["cat", "dog"], ( @@ -137,23 +171,41 @@ np.array([0]), np.array(["cat"]).astype(str), ), - ), # partially correct response; with classes + ), # partial valid again + + ( + pytest.raises(ValueError), + " cat", + (0, 1000), + None, + None, + ), # zero width -> ValueError + + ( + pytest.raises(ValueError), + " dog", + (1000, -200), + None, + None, + ), # negative height -> ValueError ], ) def test_from_paligemma( + exception, result: str, resolution_wh: Tuple[int, int], classes: Optional[List[str]], expected_results: Tuple[np.ndarray, Optional[np.ndarray], np.ndarray], ) -> None: - result = from_paligemma(result=result, resolution_wh=resolution_wh, classes=classes) - np.testing.assert_array_equal(result[0], expected_results[0]) - np.testing.assert_array_equal(result[1], expected_results[1]) - np.testing.assert_array_equal(result[2], expected_results[2]) + with exception: + result = from_paligemma(result=result, resolution_wh=resolution_wh, classes=classes) + np.testing.assert_array_equal(result[0], expected_results[0]) + np.testing.assert_array_equal(result[1], expected_results[1]) + np.testing.assert_array_equal(result[2], expected_results[2]) @pytest.mark.parametrize( - "expectation, result, input_wh, resolution_wh, classes, expected_results", + "exception, result, input_wh, resolution_wh, classes, expected_results", [ ( does_not_raise(), @@ -298,14 +350,14 @@ def test_from_paligemma( ], ) def test_from_qwen_2_5_vl( - expectation, + exception, result: str, input_wh: Tuple[int, int], resolution_wh: Tuple[int, int], classes: Optional[List[str]], expected_results, ) -> None: - with expectation: + with exception: xyxy, class_id, class_name = from_qwen_2_5_vl( result=result, input_wh=input_wh, From 8df41a56837a9b5d9a3953538dbd31b09b2d8563 Mon Sep 17 00:00:00 2001 From: "pre-commit-ci[bot]" <66853113+pre-commit-ci[bot]@users.noreply.github.com> Date: Tue, 18 Feb 2025 08:17:46 +0000 Subject: [PATCH 127/420] =?UTF-8?q?fix(pre=5Fcommit):=20=F0=9F=8E=A8=20aut?= =?UTF-8?q?o=20format=20pre-commit=20hooks?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- supervision/detection/lmm.py | 4 +--- test/detection/test_lmm.py | 26 ++++---------------------- 2 files changed, 5 insertions(+), 25 deletions(-) diff --git a/supervision/detection/lmm.py b/supervision/detection/lmm.py index fc243335a3..5739a666a3 100644 --- a/supervision/detection/lmm.py +++ b/supervision/detection/lmm.py @@ -76,9 +76,7 @@ def validate_lmm_parameters( def from_paligemma( - result: str, - resolution_wh: Tuple[int, int], - classes: Optional[List[str]] = None + result: str, resolution_wh: Tuple[int, int], classes: Optional[List[str]] = None ) -> Tuple[np.ndarray, Optional[np.ndarray], np.ndarray]: """ Parse bounding boxes from paligemma-formatted text, scale them to the specified resolution, diff --git a/test/detection/test_lmm.py b/test/detection/test_lmm.py index a47f662422..69a82a4471 100644 --- a/test/detection/test_lmm.py +++ b/test/detection/test_lmm.py @@ -17,7 +17,6 @@ None, (np.empty((0, 4)), None, np.empty(0).astype(str)), ), # empty text - ( does_not_raise(), "", @@ -25,7 +24,6 @@ ["cat", "dog"], (np.empty((0, 4)), None, np.empty(0).astype(str)), ), # empty text, classes - ( does_not_raise(), "\n", @@ -33,7 +31,6 @@ None, (np.empty((0, 4)), None, np.empty(0).astype(str)), ), # newline only - ( does_not_raise(), "the quick brown fox jumps over the lazy dog.", @@ -41,7 +38,6 @@ None, (np.empty((0, 4)), None, np.empty(0).astype(str)), ), # random text, no location - ( does_not_raise(), " cat", @@ -49,7 +45,6 @@ None, (np.empty((0, 4)), None, np.empty(0).astype(str)), ), # partial location - ( does_not_raise(), " cat", @@ -57,7 +52,6 @@ None, (np.empty((0, 4)), None, np.empty(0).astype(str)), ), # extra loc - ( does_not_raise(), "", @@ -65,7 +59,6 @@ None, (np.empty((0, 4)), None, np.empty(0).astype(str)), ), # no class - ( does_not_raise(), " catt", @@ -73,7 +66,6 @@ ["cat", "dog"], (np.empty((0, 4)), np.empty(0), np.empty(0).astype(str)), ), # invalid class - ( does_not_raise(), " cat", @@ -85,7 +77,6 @@ np.array(["cat"]).astype(str), ), ), # single box, no classes - ( does_not_raise(), " black cat", @@ -97,7 +88,6 @@ np.array(["black cat"]).astype(np.dtype("U")), ), ), # class with space - ( does_not_raise(), " black-cat", @@ -109,7 +99,6 @@ np.array(["black-cat"]).astype(np.dtype("U")), ), ), # class with hyphen - ( does_not_raise(), " black_cat", @@ -121,7 +110,6 @@ np.array(["black_cat"]).astype(np.dtype("U")), ), ), # class with underscore - ( does_not_raise(), " cat ;", @@ -133,22 +121,17 @@ np.array(["cat"]).astype(str), ), ), # correct class filter - ( does_not_raise(), " cat ; dog", (1000, 1000), ["cat", "dog"], ( - np.array([ - [250.0, 250.0, 750.0, 750.0], - [250.0, 250.0, 750.0, 750.0] - ]), + np.array([[250.0, 250.0, 750.0, 750.0], [250.0, 250.0, 750.0, 750.0]]), np.array([0, 1]), np.array(["cat", "dog"]).astype(np.dtype("U")), ), ), # multiple correct boxes, classes - ( does_not_raise(), " cat ; cat", @@ -160,7 +143,6 @@ np.array(["cat"]).astype(str), ), ), # partial valid boxes - ( does_not_raise(), " cat ; cat", @@ -172,7 +154,6 @@ np.array(["cat"]).astype(str), ), ), # partial valid again - ( pytest.raises(ValueError), " cat", @@ -180,7 +161,6 @@ None, None, ), # zero width -> ValueError - ( pytest.raises(ValueError), " dog", @@ -198,7 +178,9 @@ def test_from_paligemma( expected_results: Tuple[np.ndarray, Optional[np.ndarray], np.ndarray], ) -> None: with exception: - result = from_paligemma(result=result, resolution_wh=resolution_wh, classes=classes) + result = from_paligemma( + result=result, resolution_wh=resolution_wh, classes=classes + ) np.testing.assert_array_equal(result[0], expected_results[0]) np.testing.assert_array_equal(result[1], expected_results[1]) np.testing.assert_array_equal(result[2], expected_results[2]) From 7e19c633a67ef5038b4c1c2aff499ddfb0c9ca54 Mon Sep 17 00:00:00 2001 From: SkalskiP Date: Tue, 18 Feb 2025 10:04:38 +0100 Subject: [PATCH 128/420] merge 0.26.0 deprecation changes --- docs/how_to/track_objects.md | 16 ++-- .../count_people_in_zone/inference_example.py | 8 +- .../ultralytics_example.py | 8 +- examples/tracking/inference_example.py | 2 +- examples/tracking/ultralytics_example.py | 2 +- pyproject.toml | 2 +- supervision/__init__.py | 4 +- supervision/annotators/core.py | 86 ------------------- supervision/dataset/core.py | 22 ----- supervision/detection/core.py | 49 +++++++++-- supervision/detection/{lmm.py => vlm.py} | 59 +++++++------ test/detection/{test_lmm.py => test_vlm.py} | 2 +- ...m_florence_2.py => test_vlm_florence_2.py} | 2 +- 13 files changed, 97 insertions(+), 165 deletions(-) rename supervision/detection/{lmm.py => vlm.py} (88%) rename test/detection/{test_lmm.py => test_vlm.py} (99%) rename test/detection/{test_lmm_florence_2.py => test_vlm_florence_2.py} (99%) diff --git a/docs/how_to/track_objects.md b/docs/how_to/track_objects.md index 1b321e7fe3..c6f128c332 100644 --- a/docs/how_to/track_objects.md +++ b/docs/how_to/track_objects.md @@ -55,7 +55,7 @@ it will be modified to include tracking, labeling, and trace annotations. from ultralytics import YOLO model = YOLO("yolov8n.pt") - box_annotator = sv.BoundingBoxAnnotator() + box_annotator = sv.BoxAnnotator() def callback(frame: np.ndarray, _: int) -> np.ndarray: results = model(frame)[0] @@ -77,7 +77,7 @@ it will be modified to include tracking, labeling, and trace annotations. from inference.models.utils import get_roboflow_model model = get_roboflow_model(model_id="yolov8n-640", api_key=) - box_annotator = sv.BoundingBoxAnnotator() + box_annotator = sv.BoxAnnotator() def callback(frame: np.ndarray, _: int) -> np.ndarray: results = model.infer(frame)[0] @@ -112,7 +112,7 @@ enabling the continuous following of the object's motion path across different f model = YOLO("yolov8n.pt") tracker = sv.ByteTrack() - box_annotator = sv.BoundingBoxAnnotator() + box_annotator = sv.BoxAnnotator() def callback(frame: np.ndarray, _: int) -> np.ndarray: results = model(frame)[0] @@ -136,7 +136,7 @@ enabling the continuous following of the object's motion path across different f model = get_roboflow_model(model_id="yolov8n-640", api_key=) tracker = sv.ByteTrack() - box_annotator = sv.BoundingBoxAnnotator() + box_annotator = sv.BoxAnnotator() def callback(frame: np.ndarray, _: int) -> np.ndarray: results = model.infer(frame)[0] @@ -168,7 +168,7 @@ offering a clear visual representation of each object's class and unique identif model = YOLO("yolov8n.pt") tracker = sv.ByteTrack() - box_annotator = sv.BoundingBoxAnnotator() + box_annotator = sv.BoxAnnotator() label_annotator = sv.LabelAnnotator() def callback(frame: np.ndarray, _: int) -> np.ndarray: @@ -203,7 +203,7 @@ offering a clear visual representation of each object's class and unique identif model = get_roboflow_model(model_id="yolov8n-640", api_key=) tracker = sv.ByteTrack() - box_annotator = sv.BoundingBoxAnnotator() + box_annotator = sv.BoxAnnotator() label_annotator = sv.LabelAnnotator() def callback(frame: np.ndarray, _: int) -> np.ndarray: @@ -250,7 +250,7 @@ movement patterns and interactions between objects in the video. model = YOLO("yolov8n.pt") tracker = sv.ByteTrack() - box_annotator = sv.BoundingBoxAnnotator() + box_annotator = sv.BoxAnnotator() label_annotator = sv.LabelAnnotator() trace_annotator = sv.TraceAnnotator() @@ -288,7 +288,7 @@ movement patterns and interactions between objects in the video. model = get_roboflow_model(model_id="yolov8n-640", api_key=) tracker = sv.ByteTrack() - box_annotator = sv.BoundingBoxAnnotator() + box_annotator = sv.BoxAnnotator() label_annotator = sv.LabelAnnotator() trace_annotator = sv.TraceAnnotator() diff --git a/examples/count_people_in_zone/inference_example.py b/examples/count_people_in_zone/inference_example.py index 8f42ff4366..e040a03640 100644 --- a/examples/count_people_in_zone/inference_example.py +++ b/examples/count_people_in_zone/inference_example.py @@ -36,7 +36,7 @@ def load_zones_config(file_path: str) -> List[np.ndarray]: def initiate_annotators( polygons: List[np.ndarray], resolution_wh: Tuple[int, int] ) -> Tuple[ - List[sv.PolygonZone], List[sv.PolygonZoneAnnotator], List[sv.BoundingBoxAnnotator] + List[sv.PolygonZone], List[sv.PolygonZoneAnnotator], List[sv.BoxAnnotator] ]: line_thickness = sv.calculate_optimal_line_thickness(resolution_wh=resolution_wh) text_scale = sv.calculate_optimal_text_scale(resolution_wh=resolution_wh) @@ -54,7 +54,7 @@ def initiate_annotators( text_thickness=line_thickness * 2, text_scale=text_scale * 2, ) - box_annotator = sv.BoundingBoxAnnotator( + box_annotator = sv.BoxAnnotator( color=COLORS.by_idx(index), thickness=line_thickness ) zones.append(zone) @@ -97,7 +97,7 @@ def annotate( frame: np.ndarray, zones: List[sv.PolygonZone], zone_annotators: List[sv.PolygonZoneAnnotator], - box_annotators: List[sv.BoundingBoxAnnotator], + box_annotators: List[sv.BoxAnnotator], detections: sv.Detections, ) -> np.ndarray: """ @@ -108,7 +108,7 @@ def annotate( zones (List[sv.PolygonZone]): A list of polygon zones used for detection. zone_annotators (List[sv.PolygonZoneAnnotator]): A list of annotators for drawing zone annotations. - box_annotators (List[sv.BoundingBoxAnnotator]): A list of annotators for + box_annotators (List[sv.BoxAnnotator]): A list of annotators for drawing box annotations. detections (sv.Detections): Detections to be used for annotation. diff --git a/examples/count_people_in_zone/ultralytics_example.py b/examples/count_people_in_zone/ultralytics_example.py index 2fd0778203..f8d03fa417 100644 --- a/examples/count_people_in_zone/ultralytics_example.py +++ b/examples/count_people_in_zone/ultralytics_example.py @@ -34,7 +34,7 @@ def load_zones_config(file_path: str) -> List[np.ndarray]: def initiate_annotators( polygons: List[np.ndarray], resolution_wh: Tuple[int, int] ) -> Tuple[ - List[sv.PolygonZone], List[sv.PolygonZoneAnnotator], List[sv.BoundingBoxAnnotator] + List[sv.PolygonZone], List[sv.PolygonZoneAnnotator], List[sv.BoxAnnotator] ]: line_thickness = sv.calculate_optimal_line_thickness(resolution_wh=resolution_wh) text_scale = sv.calculate_optimal_text_scale(resolution_wh=resolution_wh) @@ -52,7 +52,7 @@ def initiate_annotators( text_thickness=line_thickness * 2, text_scale=text_scale * 2, ) - box_annotator = sv.BoundingBoxAnnotator( + box_annotator = sv.BoxAnnotator( color=COLORS.by_idx(index), thickness=line_thickness ) zones.append(zone) @@ -94,7 +94,7 @@ def annotate( frame: np.ndarray, zones: List[sv.PolygonZone], zone_annotators: List[sv.PolygonZoneAnnotator], - box_annotators: List[sv.BoundingBoxAnnotator], + box_annotators: List[sv.BoxAnnotator], detections: sv.Detections, ) -> np.ndarray: """ @@ -105,7 +105,7 @@ def annotate( zones (List[sv.PolygonZone]): A list of polygon zones used for detection. zone_annotators (List[sv.PolygonZoneAnnotator]): A list of annotators for drawing zone annotations. - box_annotators (List[sv.BoundingBoxAnnotator]): A list of annotators for + box_annotators (List[sv.BoxAnnotator]): A list of annotators for drawing box annotations. detections (sv.Detections): Detections to be used for annotation. diff --git a/examples/tracking/inference_example.py b/examples/tracking/inference_example.py index a73a38d45f..5365975d48 100644 --- a/examples/tracking/inference_example.py +++ b/examples/tracking/inference_example.py @@ -18,7 +18,7 @@ def process_video( model = get_roboflow_model(model_id=model_id, api_key=roboflow_api_key) tracker = sv.ByteTrack() - box_annotator = sv.BoundingBoxAnnotator() + box_annotator = sv.BoxAnnotator() label_annotator = sv.LabelAnnotator() frame_generator = sv.get_video_frames_generator(source_path=source_video_path) video_info = sv.VideoInfo.from_video_path(video_path=source_video_path) diff --git a/examples/tracking/ultralytics_example.py b/examples/tracking/ultralytics_example.py index a33638689b..0c67459e94 100644 --- a/examples/tracking/ultralytics_example.py +++ b/examples/tracking/ultralytics_example.py @@ -16,7 +16,7 @@ def process_video( model = YOLO(source_weights_path) tracker = sv.ByteTrack() - box_annotator = sv.BoundingBoxAnnotator() + box_annotator = sv.BoxAnnotator() label_annotator = sv.LabelAnnotator() frame_generator = sv.get_video_frames_generator(source_path=source_video_path) video_info = sv.VideoInfo.from_video_path(video_path=source_video_path) diff --git a/pyproject.toml b/pyproject.toml index 828b636ecc..1816abf08d 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -2,7 +2,7 @@ name = "supervision" description = "A set of easy-to-use utils that will come in handy in any Computer Vision project" license = { text = "MIT" } -version = "0.26.0rc3" +version = "0.26.0rc4" readme = "README.md" requires-python = ">=3.8" authors = [ diff --git a/supervision/__init__.py b/supervision/__init__.py index 2b2a0082dd..556e5d092f 100644 --- a/supervision/__init__.py +++ b/supervision/__init__.py @@ -9,7 +9,6 @@ from supervision.annotators.core import ( BackgroundOverlayAnnotator, BlurAnnotator, - BoundingBoxAnnotator, BoxAnnotator, BoxCornerAnnotator, CircleAnnotator, @@ -46,7 +45,7 @@ LineZoneAnnotator, LineZoneAnnotatorMulticlass, ) -from supervision.detection.lmm import LMM +from supervision.detection.vlm import LMM, VLM from supervision.detection.overlap_filter import ( OverlapFilter, box_non_max_merge, @@ -126,7 +125,6 @@ "BackgroundOverlayAnnotator", "BaseDataset", "BlurAnnotator", - "BoundingBoxAnnotator", "BoxAnnotator", "BoxCornerAnnotator", "ByteTrack", diff --git a/supervision/annotators/core.py b/supervision/annotators/core.py index a2b2ed565b..49ce45ecbd 100644 --- a/supervision/annotators/core.py +++ b/supervision/annotators/core.py @@ -124,92 +124,6 @@ def annotate( return scene -@deprecated( - "`BoundingBoxAnnotator` is deprecated and has been renamed to `BoxAnnotator`." - " `BoundingBoxAnnotator` will be removed in supervision-0.26.0." -) -class BoundingBoxAnnotator(BaseAnnotator): - """ - A class for drawing bounding boxes on an image using provided detections. - """ - - def __init__( - self, - color: Union[Color, ColorPalette] = ColorPalette.DEFAULT, - thickness: int = 2, - color_lookup: ColorLookup = ColorLookup.CLASS, - ): - """ - Args: - color (Union[Color, ColorPalette]): The color or color palette to use for - annotating detections. - thickness (int): Thickness of the bounding box lines. - color_lookup (ColorLookup): Strategy for mapping colors to annotations. - Options are `INDEX`, `CLASS`, `TRACK`. - """ - self.color: Union[Color, ColorPalette] = color - self.thickness: int = thickness - self.color_lookup: ColorLookup = color_lookup - - @ensure_cv2_image_for_annotation - def annotate( - self, - scene: ImageType, - detections: Detections, - custom_color_lookup: Optional[np.ndarray] = None, - ) -> ImageType: - """ - Annotates the given scene with bounding boxes based on the provided detections. - - Args: - scene (ImageType): The image where bounding boxes will be drawn. `ImageType` - is a flexible type, accepting either `numpy.ndarray` or `PIL.Image.Image`. - detections (Detections): Object detections to annotate. - custom_color_lookup (Optional[np.ndarray]): Custom color lookup array. - Allows to override the default color mapping strategy. - - Returns: - The annotated image, matching the type of `scene` (`numpy.ndarray` - or `PIL.Image.Image`) - - Example: - ```python - import supervision as sv - - image = ... - detections = sv.Detections(...) - - bounding_box_annotator = sv.BoundingBoxAnnotator() - annotated_frame = bounding_box_annotator.annotate( - scene=image.copy(), - detections=detections - ) - ``` - - ![bounding-box-annotator-example](https://media.roboflow.com/ - supervision-annotator-examples/bounding-box-annotator-example-purple.png) - """ - assert isinstance(scene, np.ndarray) - for detection_idx in range(len(detections)): - x1, y1, x2, y2 = detections.xyxy[detection_idx].astype(int) - color = resolve_color( - color=self.color, - detections=detections, - detection_idx=detection_idx, - color_lookup=self.color_lookup - if custom_color_lookup is None - else custom_color_lookup, - ) - cv2.rectangle( - img=scene, - pt1=(x1, y1), - pt2=(x2, y2), - color=color.as_bgr(), - thickness=self.thickness, - ) - return scene - - class OrientedBoxAnnotator(BaseAnnotator): """ A class for drawing oriented bounding boxes on an image using provided detections. diff --git a/supervision/dataset/core.py b/supervision/dataset/core.py index f2cf7bcedc..8af548790a 100644 --- a/supervision/dataset/core.py +++ b/supervision/dataset/core.py @@ -705,28 +705,6 @@ def __init__( "a list of paths `List[str]` instead." ) - @property - @deprecated( - "`DetectionDataset.images` property is deprecated and will be removed in " - "`supervision-0.26.0`. Iterate with `for path, image, annotation in dataset:` " - "instead." - ) - def images(self) -> Dict[str, np.ndarray]: - """ - Load all images to memory and return them as a dictionary. - - !!! warning - - Only use this when you need all images at once. - It is much more memory-efficient to initialize dataset with - image paths and use `for path, image, annotation in dataset:`. - """ - if self._images_in_memory: - return self._images_in_memory - - images = {image_path: cv2.imread(image_path) for image_path in self.image_paths} - return images - def _get_image(self, image_path: str) -> np.ndarray: """Assumes that image is in dataset""" if self._images_in_memory: diff --git a/supervision/detection/core.py b/supervision/detection/core.py index 6073dc0897..f50c6190a2 100644 --- a/supervision/detection/core.py +++ b/supervision/detection/core.py @@ -9,11 +9,11 @@ CLASS_NAME_DATA_FIELD, ORIENTED_BOX_COORDINATES, ) -from supervision.detection.lmm import ( +from supervision.detection.vlm import ( LMM, from_florence_2, from_paligemma, - validate_lmm_parameters, + validate_vlm_parameters, VLM, ) from supervision.detection.overlap_filter import ( box_non_max_merge, @@ -39,7 +39,7 @@ xywh_to_xyxy, ) from supervision.geometry.core import Position -from supervision.utils.internal import get_instance_variables +from supervision.utils.internal import get_instance_variables, deprecated from supervision.validators import validate_detections_fields @@ -799,6 +799,10 @@ def from_paddledet(cls, paddledet_result) -> Detections: ) @classmethod + @deprecated( + "`Detections.from_lmm` property is deprecated and will be removed in " + "`supervision-0.31.0`. Use Detections.from_vlm instead." + ) def from_lmm( cls, lmm: Union[LMM, str], result: Union[str, dict], **kwargs: Any ) -> Detections: @@ -837,19 +841,48 @@ def from_lmm( # array([0]) ``` """ - lmm = validate_lmm_parameters(lmm, result, kwargs) + # filler logic mapping old from_lmm to new from_vlm + lmm_to_vlm = { + LMM.PALIGEMMA: VLM.PALIGEMMA, + LMM.FLORENCE_2: VLM.FLORENCE_2, + LMM.QWEN_2_5_VL: VLM.QWEN_2_5_VL + } + + if isinstance(lmm, LMM): + vlm = lmm_to_vlm[lmm] + + elif isinstance(lmm, str): + try: + lmm_parsed = LMM(lmm.lower()) + except ValueError: + raise ValueError( + f"Invalid LMM string '{lmm}'. Must be one of " + f"{[m.value for m in LMM]}" + ) + vlm = lmm_to_vlm[lmm_parsed] - if lmm == LMM.PALIGEMMA: + else: + raise ValueError( + f"Invalid type for 'lmm': {type(lmm)}. Must be LMM or str." + ) + + return cls.from_vlm(vlm=vlm, result=result, **kwargs) + + @classmethod + def from_vlm(cls, vlm: Union[VLM, str], result: Union[str, dict], **kwargs: Any) -> Detections: + vlm = validate_vlm_parameters(vlm, result, kwargs) + + if vlm == VLM.PALIGEMMA: xyxy, class_id, class_name = from_paligemma(result, **kwargs) data = {CLASS_NAME_DATA_FIELD: class_name} return cls(xyxy=xyxy, class_id=class_id, data=data) - if lmm == LMM.QWEN_2_5_VL: + if vlm == VLM.QWEN_2_5_VL: xyxy, class_id, class_name = from_paligemma(result, **kwargs) data = {CLASS_NAME_DATA_FIELD: class_name} return cls(xyxy=xyxy, class_id=class_id, data=data) - if lmm == LMM.FLORENCE_2: + if vlm == VLM.FLORENCE_2: xyxy, labels, mask, xyxyxyxy = from_florence_2(result, **kwargs) if len(xyxy) == 0: return cls.empty() @@ -862,8 +895,6 @@ def from_lmm( return cls(xyxy=xyxy, mask=mask, data=data) - raise ValueError(f"Unsupported LMM: {lmm}") - @classmethod def from_easyocr(cls, easyocr_results: list) -> Detections: """ diff --git a/supervision/detection/lmm.py b/supervision/detection/vlm.py similarity index 88% rename from supervision/detection/lmm.py rename to supervision/detection/vlm.py index fc243335a3..412cdc4263 100644 --- a/supervision/detection/lmm.py +++ b/supervision/detection/vlm.py @@ -6,30 +6,41 @@ import numpy as np from supervision.detection.utils import polygon_to_mask, polygon_to_xyxy +from supervision.utils.internal import deprecated +@deprecated( + "`LMM` enum is deprecated and will be removed in " + "`supervision-0.31.0`. Use VLM instead." +) class LMM(Enum): PALIGEMMA = "paligemma" FLORENCE_2 = "florence_2" QWEN_2_5_VL = "qwen_2_5_vl" -RESULT_TYPES: Dict[LMM, type] = { - LMM.PALIGEMMA: str, - LMM.FLORENCE_2: dict, - LMM.QWEN_2_5_VL: str, +class VLM(Enum): + PALIGEMMA = "paligemma" + FLORENCE_2 = "florence_2" + QWEN_2_5_VL = "qwen_2_5_vl" + + +RESULT_TYPES: Dict[VLM, type] = { + VLM.PALIGEMMA: str, + VLM.FLORENCE_2: dict, + VLM.QWEN_2_5_VL: str, } -REQUIRED_ARGUMENTS: Dict[LMM, List[str]] = { - LMM.PALIGEMMA: ["resolution_wh"], - LMM.FLORENCE_2: ["resolution_wh"], - LMM.QWEN_2_5_VL: ["input_wh", "resolution_wh"], +REQUIRED_ARGUMENTS: Dict[VLM, List[str]] = { + VLM.PALIGEMMA: ["resolution_wh"], + VLM.FLORENCE_2: ["resolution_wh"], + VLM.QWEN_2_5_VL: ["input_wh", "resolution_wh"], } -ALLOWED_ARGUMENTS: Dict[LMM, List[str]] = { - LMM.PALIGEMMA: ["resolution_wh", "classes"], - LMM.FLORENCE_2: ["resolution_wh"], - LMM.QWEN_2_5_VL: ["input_wh", "resolution_wh", "classes"], +ALLOWED_ARGUMENTS: Dict[VLM, List[str]] = { + VLM.PALIGEMMA: ["resolution_wh", "classes"], + VLM.FLORENCE_2: ["resolution_wh"], + VLM.QWEN_2_5_VL: ["input_wh", "resolution_wh", "classes"], } SUPPORTED_TASKS_FLORENCE_2 = [ @@ -46,33 +57,33 @@ class LMM(Enum): ] -def validate_lmm_parameters( - lmm: Union[LMM, str], result: Any, kwargs: Dict[str, Any] -) -> LMM: - if isinstance(lmm, str): +def validate_vlm_parameters( + vlm: Union[VLM, str], result: Any, kwargs: Dict[str, Any] +) -> VLM: + if isinstance(vlm, str): try: - lmm = LMM(lmm.lower()) + vlm = VLM(vlm.lower()) except ValueError: raise ValueError( - f"Invalid lmm value: {lmm}. Must be one of {[e.value for e in LMM]}" + f"Invalid vlm value: {vlm}. Must be one of {[e.value for e in VLM]}" ) - if not isinstance(result, RESULT_TYPES[lmm]): + if not isinstance(result, RESULT_TYPES[vlm]): raise ValueError( - f"Invalid LMM result type: {type(result)}. Must be {RESULT_TYPES[lmm]}" + f"Invalid VLM result type: {type(result)}. Must be {RESULT_TYPES[vlm]}" ) - required_args = REQUIRED_ARGUMENTS.get(lmm, []) + required_args = REQUIRED_ARGUMENTS.get(vlm, []) for arg in required_args: if arg not in kwargs: raise ValueError(f"Missing required argument: {arg}") - allowed_args = ALLOWED_ARGUMENTS.get(lmm, []) + allowed_args = ALLOWED_ARGUMENTS.get(vlm, []) for arg in kwargs: if arg not in allowed_args: - raise ValueError(f"Argument {arg} is not allowed for {lmm.name}") + raise ValueError(f"Argument {arg} is not allowed for {vlm.name}") - return lmm + return vlm def from_paligemma( diff --git a/test/detection/test_lmm.py b/test/detection/test_vlm.py similarity index 99% rename from test/detection/test_lmm.py rename to test/detection/test_vlm.py index a47f662422..ad95e7fafd 100644 --- a/test/detection/test_lmm.py +++ b/test/detection/test_vlm.py @@ -4,7 +4,7 @@ import numpy as np import pytest -from supervision.detection.lmm import from_paligemma, from_qwen_2_5_vl +from supervision.detection.vlm import from_paligemma, from_qwen_2_5_vl @pytest.mark.parametrize( diff --git a/test/detection/test_lmm_florence_2.py b/test/detection/test_vlm_florence_2.py similarity index 99% rename from test/detection/test_lmm_florence_2.py rename to test/detection/test_vlm_florence_2.py index ebb9658df1..0fbe647b85 100644 --- a/test/detection/test_lmm_florence_2.py +++ b/test/detection/test_vlm_florence_2.py @@ -4,7 +4,7 @@ import numpy as np import pytest -from supervision.detection.lmm import from_florence_2 +from supervision.detection.vlm import from_florence_2 @pytest.mark.parametrize( From 13b847d1dca5b83a61161581aed855dd0a521eec Mon Sep 17 00:00:00 2001 From: SkalskiP Date: Tue, 18 Feb 2025 10:09:46 +0100 Subject: [PATCH 129/420] push `poetry.lock` --- poetry.lock | 334 +++++++++++++++------------------------------------- 1 file changed, 92 insertions(+), 242 deletions(-) diff --git a/poetry.lock b/poetry.lock index 2767d2a182..8f44f2cb8e 100644 --- a/poetry.lock +++ b/poetry.lock @@ -1,4 +1,4 @@ -# This file is automatically @generated by Poetry 2.0.0 and should not be changed by hand. +# This file is automatically @generated by Poetry 2.1.1 and should not be changed by hand. [[package]] name = "anyio" @@ -7,7 +7,6 @@ description = "High level compatibility layer for multiple asynchronous event lo optional = false python-versions = ">=3.8" groups = ["dev"] -markers = "python_version <= \"3.11\" or python_version >= \"3.12\"" files = [ {file = "anyio-4.5.2-py3-none-any.whl", hash = "sha256:c011ee36bc1e8ba40e5a81cb9df91925c218fe9b778554e0b56a21e1b5d4716f"}, {file = "anyio-4.5.2.tar.gz", hash = "sha256:23009af4ed04ce05991845451e11ef02fc7c5ed29179ac9a420e5ad0ac7ddc5b"}, @@ -21,7 +20,7 @@ typing-extensions = {version = ">=4.1", markers = "python_version < \"3.11\""} [package.extras] doc = ["Sphinx (>=7.4,<8.0)", "packaging", "sphinx-autodoc-typehints (>=1.2.0)", "sphinx-rtd-theme"] -test = ["anyio[trio]", "coverage[toml] (>=7)", "exceptiongroup (>=1.2.0)", "hypothesis (>=4.0)", "psutil (>=5.9)", "pytest (>=7.0)", "pytest-mock (>=3.6.1)", "trustme", "truststore (>=0.9.1)", "uvloop (>=0.21.0b1)"] +test = ["anyio[trio]", "coverage[toml] (>=7)", "exceptiongroup (>=1.2.0)", "hypothesis (>=4.0)", "psutil (>=5.9)", "pytest (>=7.0)", "pytest-mock (>=3.6.1)", "trustme", "truststore (>=0.9.1) ; python_version >= \"3.10\"", "uvloop (>=0.21.0b1) ; platform_python_implementation == \"CPython\" and platform_system != \"Windows\""] trio = ["trio (>=0.26.1)"] [[package]] @@ -31,7 +30,7 @@ description = "Disable App Nap on macOS >= 10.9" optional = false python-versions = ">=3.6" groups = ["dev", "docs"] -markers = "(python_version <= \"3.11\" or python_version >= \"3.12\") and (platform_system == \"Darwin\" or sys_platform == \"darwin\")" +markers = "platform_system == \"Darwin\" or sys_platform == \"darwin\"" files = [ {file = "appnope-0.1.4-py2.py3-none-any.whl", hash = "sha256:502575ee11cd7a28c0205f379b525beefebab9d161b7c964670864014ed7213c"}, {file = "appnope-0.1.4.tar.gz", hash = "sha256:1de3860566df9caf38f01f86f65e0e13e379af54f9e4bee1e66b48f2efffd1ee"}, @@ -44,7 +43,6 @@ description = "Argon2 for Python" optional = false python-versions = ">=3.7" groups = ["dev"] -markers = "python_version <= \"3.11\" or python_version >= \"3.12\"" files = [ {file = "argon2_cffi-23.1.0-py3-none-any.whl", hash = "sha256:c670642b78ba29641818ab2e68bd4e6a78ba53b7eff7b4c3815ae16abf91c7ea"}, {file = "argon2_cffi-23.1.0.tar.gz", hash = "sha256:879c3e79a2729ce768ebb7d36d4609e3a78a4ca2ec3a9f12286ca057e3d0db08"}, @@ -66,7 +64,6 @@ description = "Low-level CFFI bindings for Argon2" optional = false python-versions = ">=3.6" groups = ["dev"] -markers = "python_version <= \"3.11\" or python_version >= \"3.12\"" files = [ {file = "argon2-cffi-bindings-21.2.0.tar.gz", hash = "sha256:bb89ceffa6c791807d1305ceb77dbfacc5aa499891d2c55661c6459651fc39e3"}, {file = "argon2_cffi_bindings-21.2.0-cp36-abi3-macosx_10_9_x86_64.whl", hash = "sha256:ccb949252cb2ab3a08c02024acb77cfb179492d5701c7cbdbfd776124d4d2367"}, @@ -105,7 +102,6 @@ description = "Better dates & times for Python" optional = false python-versions = ">=3.8" groups = ["dev"] -markers = "python_version <= \"3.11\" or python_version >= \"3.12\"" files = [ {file = "arrow-1.3.0-py3-none-any.whl", hash = "sha256:c728b120ebc00eb84e01882a6f5e7927a53960aa990ce7dd2b10f39005a67f80"}, {file = "arrow-1.3.0.tar.gz", hash = "sha256:d4540617648cb5f895730f1ad8c82a65f2dad0166f57b75f3ca54759c4d67a85"}, @@ -126,7 +122,6 @@ description = "Annotate AST trees with source code positions" optional = false python-versions = ">=3.8" groups = ["dev", "docs"] -markers = "python_version <= \"3.11\" or python_version >= \"3.12\"" files = [ {file = "asttokens-3.0.0-py3-none-any.whl", hash = "sha256:e3078351a059199dd5138cb1c706e6430c05eff2ff136af5eb4790f9d28932e2"}, {file = "asttokens-3.0.0.tar.gz", hash = "sha256:0dcd8baa8d62b0c1d118b399b2ddba3c4aff271d0d7a9e0d4c1681c79035bbc7"}, @@ -143,7 +138,7 @@ description = "An AST unparser for Python" optional = false python-versions = "*" groups = ["docs"] -markers = "python_version < \"3.9\"" +markers = "python_version == \"3.8\"" files = [ {file = "astunparse-1.6.3-py2.py3-none-any.whl", hash = "sha256:c2652417f2c8b5bb325c885ae329bdf3f86424075c4fd1a128674bc6fba4b8e8"}, {file = "astunparse-1.6.3.tar.gz", hash = "sha256:5ad93a8456f0d084c3456d059fd9a92cce667963232cbf763eac3bc5b7940872"}, @@ -160,7 +155,6 @@ description = "Simple LRU cache for asyncio" optional = false python-versions = ">=3.8" groups = ["dev"] -markers = "python_version <= \"3.11\" or python_version >= \"3.12\"" files = [ {file = "async-lru-2.0.4.tar.gz", hash = "sha256:b8a59a5df60805ff63220b2a0c5b5393da5521b113cd5465a44eb037d81a5627"}, {file = "async_lru-2.0.4-py3-none-any.whl", hash = "sha256:ff02944ce3c288c5be660c42dbcca0742b32c3b279d6dceda655190240b99224"}, @@ -176,19 +170,18 @@ description = "Classes Without Boilerplate" optional = false python-versions = ">=3.8" groups = ["dev", "docs"] -markers = "python_version <= \"3.11\" or python_version >= \"3.12\"" files = [ {file = "attrs-24.3.0-py3-none-any.whl", hash = "sha256:ac96cd038792094f438ad1f6ff80837353805ac950cd2aa0e0625ef19850c308"}, {file = "attrs-24.3.0.tar.gz", hash = "sha256:8f5c07333d543103541ba7be0e2ce16eeee8130cb0b3f9238ab904ce1e85baff"}, ] [package.extras] -benchmark = ["cloudpickle", "hypothesis", "mypy (>=1.11.1)", "pympler", "pytest (>=4.3.0)", "pytest-codspeed", "pytest-mypy-plugins", "pytest-xdist[psutil]"] -cov = ["cloudpickle", "coverage[toml] (>=5.3)", "hypothesis", "mypy (>=1.11.1)", "pympler", "pytest (>=4.3.0)", "pytest-mypy-plugins", "pytest-xdist[psutil]"] -dev = ["cloudpickle", "hypothesis", "mypy (>=1.11.1)", "pre-commit-uv", "pympler", "pytest (>=4.3.0)", "pytest-mypy-plugins", "pytest-xdist[psutil]"] +benchmark = ["cloudpickle ; platform_python_implementation == \"CPython\"", "hypothesis", "mypy (>=1.11.1) ; platform_python_implementation == \"CPython\" and python_version >= \"3.10\"", "pympler", "pytest (>=4.3.0)", "pytest-codspeed", "pytest-mypy-plugins ; platform_python_implementation == \"CPython\" and python_version >= \"3.10\"", "pytest-xdist[psutil]"] +cov = ["cloudpickle ; platform_python_implementation == \"CPython\"", "coverage[toml] (>=5.3)", "hypothesis", "mypy (>=1.11.1) ; platform_python_implementation == \"CPython\" and python_version >= \"3.10\"", "pympler", "pytest (>=4.3.0)", "pytest-mypy-plugins ; platform_python_implementation == \"CPython\" and python_version >= \"3.10\"", "pytest-xdist[psutil]"] +dev = ["cloudpickle ; platform_python_implementation == \"CPython\"", "hypothesis", "mypy (>=1.11.1) ; platform_python_implementation == \"CPython\" and python_version >= \"3.10\"", "pre-commit-uv", "pympler", "pytest (>=4.3.0)", "pytest-mypy-plugins ; platform_python_implementation == \"CPython\" and python_version >= \"3.10\"", "pytest-xdist[psutil]"] docs = ["cogapp", "furo", "myst-parser", "sphinx", "sphinx-notfound-page", "sphinxcontrib-towncrier", "towncrier (<24.7)"] -tests = ["cloudpickle", "hypothesis", "mypy (>=1.11.1)", "pympler", "pytest (>=4.3.0)", "pytest-mypy-plugins", "pytest-xdist[psutil]"] -tests-mypy = ["mypy (>=1.11.1)", "pytest-mypy-plugins"] +tests = ["cloudpickle ; platform_python_implementation == \"CPython\"", "hypothesis", "mypy (>=1.11.1) ; platform_python_implementation == \"CPython\" and python_version >= \"3.10\"", "pympler", "pytest (>=4.3.0)", "pytest-mypy-plugins ; platform_python_implementation == \"CPython\" and python_version >= \"3.10\"", "pytest-xdist[psutil]"] +tests-mypy = ["mypy (>=1.11.1) ; platform_python_implementation == \"CPython\" and python_version >= \"3.10\"", "pytest-mypy-plugins ; platform_python_implementation == \"CPython\" and python_version >= \"3.10\""] [[package]] name = "babel" @@ -197,7 +190,6 @@ description = "Internationalization utilities" optional = false python-versions = ">=3.8" groups = ["dev", "docs"] -markers = "python_version <= \"3.11\" or python_version >= \"3.12\"" files = [ {file = "babel-2.16.0-py3-none-any.whl", hash = "sha256:368b5b98b37c06b7daf6696391c3240c938b37767d4584413e8438c5c435fa8b"}, {file = "babel-2.16.0.tar.gz", hash = "sha256:d1f3554ca26605fe173f3de0c65f750f5a42f924499bf134de6423582298e316"}, @@ -216,7 +208,6 @@ description = "Specifications for callback functions passed in to an API" optional = false python-versions = "*" groups = ["dev", "docs"] -markers = "python_version <= \"3.11\" or python_version >= \"3.12\"" files = [ {file = "backcall-0.2.0-py2.py3-none-any.whl", hash = "sha256:fbbce6a29f263178a1f7915c1940bde0ec2b2a967566fe1c65c1dfb7422bd255"}, {file = "backcall-0.2.0.tar.gz", hash = "sha256:5cbdbf27be5e7cfadb448baf0aa95508f91f2bbc6c6437cd9cd06e2a4c215e1e"}, @@ -229,7 +220,7 @@ description = "Backport of CPython tarfile module" optional = false python-versions = ">=3.8" groups = ["build"] -markers = "python_version <= \"3.11\" and (platform_machine == \"arm64\" or platform_machine == \"aarch64\" or platform_machine != \"ppc64le\" and platform_machine != \"s390x\") and (platform_machine == \"arm64\" or platform_machine == \"aarch64\" or platform_system != \"Linux\" or platform_machine != \"ppc64le\" and platform_machine != \"s390x\" and platform_machine != \"aarch64\" or python_version >= \"3.9\") and (platform_machine == \"arm64\" or platform_machine == \"aarch64\" or platform_system != \"Darwin\" or platform_machine != \"ppc64le\" and platform_machine != \"s390x\" and platform_machine != \"arm64\" or python_version >= \"3.9\")" +markers = "platform_machine != \"ppc64le\" and platform_machine != \"s390x\" and (python_version == \"3.8\" or python_version == \"3.9\" or python_version == \"3.10\" or python_version == \"3.11\")" files = [ {file = "backports.tarfile-1.2.0-py3-none-any.whl", hash = "sha256:77e284d754527b01fb1e6fa8a1afe577858ebe4e9dad8919e34c862cb399bc34"}, {file = "backports_tarfile-1.2.0.tar.gz", hash = "sha256:d75e02c268746e1b8144c278978b6e98e85de6ad16f8e4b0844a154557eca991"}, @@ -246,7 +237,6 @@ description = "Screen-scraping library" optional = false python-versions = ">=3.6.0" groups = ["dev", "docs"] -markers = "python_version <= \"3.11\" or python_version >= \"3.12\"" files = [ {file = "beautifulsoup4-4.12.3-py3-none-any.whl", hash = "sha256:b80878c9f40111313e55da8ba20bdba06d8fa3969fc68304167741bbf9e082ed"}, {file = "beautifulsoup4-4.12.3.tar.gz", hash = "sha256:74e3d1928edc070d21748185c46e3fb33490f22f52a3addee9aee0f4f7781051"}, @@ -269,7 +259,6 @@ description = "An easy safelist-based HTML-sanitizing tool." optional = false python-versions = ">=3.8" groups = ["dev", "docs"] -markers = "python_version <= \"3.11\" or python_version >= \"3.12\"" files = [ {file = "bleach-6.1.0-py3-none-any.whl", hash = "sha256:3225f354cfc436b9789c66c4ee030194bee0568fbf9cbdad3bc8b5c26c5f12b6"}, {file = "bleach-6.1.0.tar.gz", hash = "sha256:0a31f1837963c41d46bbf1331b8778e1308ea0791db03cc4e7357b97cf42a8fe"}, @@ -290,7 +279,6 @@ description = "A simple, correct Python build frontend" optional = false python-versions = ">=3.8" groups = ["build"] -markers = "python_version <= \"3.11\" or python_version >= \"3.12\"" files = [ {file = "build-1.2.2.post1-py3-none-any.whl", hash = "sha256:1d61c0887fa860c01971625baae8bdd338e517b836a2f70dd1f7aa3a6b2fc5b5"}, {file = "build-1.2.2.post1.tar.gz", hash = "sha256:b36993e92ca9375a219c99e606a122ff365a760a2d4bba0caa09bd5278b608b7"}, @@ -305,7 +293,7 @@ tomli = {version = ">=1.1.0", markers = "python_version < \"3.11\""} [package.extras] docs = ["furo (>=2023.08.17)", "sphinx (>=7.0,<8.0)", "sphinx-argparse-cli (>=1.5)", "sphinx-autodoc-typehints (>=1.10)", "sphinx-issues (>=3.0.0)"] -test = ["build[uv,virtualenv]", "filelock (>=3)", "pytest (>=6.2.4)", "pytest-cov (>=2.12)", "pytest-mock (>=2)", "pytest-rerunfailures (>=9.1)", "pytest-xdist (>=1.34)", "setuptools (>=42.0.0)", "setuptools (>=56.0.0)", "setuptools (>=56.0.0)", "setuptools (>=67.8.0)", "wheel (>=0.36.0)"] +test = ["build[uv,virtualenv]", "filelock (>=3)", "pytest (>=6.2.4)", "pytest-cov (>=2.12)", "pytest-mock (>=2)", "pytest-rerunfailures (>=9.1)", "pytest-xdist (>=1.34)", "setuptools (>=42.0.0) ; python_version < \"3.10\"", "setuptools (>=56.0.0) ; python_version == \"3.10\"", "setuptools (>=56.0.0) ; python_version == \"3.11\"", "setuptools (>=67.8.0) ; python_version >= \"3.12\"", "wheel (>=0.36.0)"] typing = ["build[uv]", "importlib-metadata (>=5.1)", "mypy (>=1.9.0,<1.10.0)", "tomli", "typing-extensions (>=3.7.4.3)"] uv = ["uv (>=0.1.18)"] virtualenv = ["virtualenv (>=20.0.35)"] @@ -317,7 +305,6 @@ description = "Extensible memoizing collections and decorators" optional = false python-versions = ">=3.7" groups = ["dev"] -markers = "python_version <= \"3.11\" or python_version >= \"3.12\"" files = [ {file = "cachetools-5.5.0-py3-none-any.whl", hash = "sha256:02134e8439cdc2ffb62023ce1debca2944c3f289d66bb17ead3ab3dede74b292"}, {file = "cachetools-5.5.0.tar.gz", hash = "sha256:2cc24fb4cbe39633fb7badd9db9ca6295d766d9c2995f245725a46715d050f2a"}, @@ -330,7 +317,6 @@ description = "cffi-based cairo bindings for Python" optional = false python-versions = ">=3.8" groups = ["docs"] -markers = "python_version <= \"3.11\" or python_version >= \"3.12\"" files = [ {file = "cairocffi-1.7.1-py3-none-any.whl", hash = "sha256:9803a0e11f6c962f3b0ae2ec8ba6ae45e957a146a004697a1ac1bbf16b073b3f"}, {file = "cairocffi-1.7.1.tar.gz", hash = "sha256:2e48ee864884ec4a3a34bfa8c9ab9999f688286eb714a15a43ec9d068c36557b"}, @@ -351,7 +337,6 @@ description = "A Simple SVG Converter based on Cairo" optional = false python-versions = ">=3.5" groups = ["docs"] -markers = "python_version <= \"3.11\" or python_version >= \"3.12\"" files = [ {file = "CairoSVG-2.7.1-py3-none-any.whl", hash = "sha256:8a5222d4e6c3f86f1f7046b63246877a63b49923a1cd202184c3a634ef546b3b"}, {file = "CairoSVG-2.7.1.tar.gz", hash = "sha256:432531d72347291b9a9ebfb6777026b607563fd8719c46ee742db0aef7271ba0"}, @@ -375,7 +360,6 @@ description = "Python package for providing Mozilla's CA Bundle." optional = false python-versions = ">=3.6" groups = ["main", "build", "dev", "docs"] -markers = "python_version <= \"3.11\" or python_version >= \"3.12\"" files = [ {file = "certifi-2024.12.14-py3-none-any.whl", hash = "sha256:1275f7a45be9464efc1173084eaa30f866fe2e47d389406136d332ed4967ec56"}, {file = "certifi-2024.12.14.tar.gz", hash = "sha256:b650d30f370c2b724812bee08008be0c4163b163ddaec3f2546c1caf65f191db"}, @@ -457,7 +441,7 @@ files = [ {file = "cffi-1.17.1-cp39-cp39-win_amd64.whl", hash = "sha256:d016c76bdd850f3c626af19b0542c9677ba156e4ee4fccfdd7848803533ef662"}, {file = "cffi-1.17.1.tar.gz", hash = "sha256:1c39c6016c32bc48dd54561950ebd6836e1670f2ae46128f67cf49e789c52824"}, ] -markers = {build = "sys_platform == \"linux\" and (platform_machine != \"ppc64le\" and platform_machine != \"s390x\" or python_version <= \"3.11\") and platform_python_implementation != \"PyPy\" and (python_version <= \"3.11\" or python_version >= \"3.12\") and (platform_machine == \"arm64\" or platform_machine == \"aarch64\" or platform_machine != \"ppc64le\" and platform_machine != \"s390x\") and (platform_machine == \"arm64\" or platform_machine == \"aarch64\" or platform_system != \"Linux\" or platform_machine != \"ppc64le\" and platform_machine != \"s390x\" and platform_machine != \"aarch64\" or python_version >= \"3.9\") and (platform_machine == \"arm64\" or platform_machine == \"aarch64\" or platform_system != \"Darwin\" or platform_machine != \"ppc64le\" and platform_machine != \"s390x\" and platform_machine != \"arm64\" or python_version >= \"3.9\")", dev = "python_version <= \"3.11\" or python_version >= \"3.12\"", docs = "python_version <= \"3.11\" or python_version >= \"3.12\""} +markers = {build = "platform_machine != \"ppc64le\" and platform_machine != \"s390x\" and sys_platform == \"linux\" and platform_python_implementation != \"PyPy\""} [package.dependencies] pycparser = "*" @@ -469,7 +453,6 @@ description = "Universal encoding detector for Python 3" optional = false python-versions = ">=3.7" groups = ["dev"] -markers = "python_version <= \"3.11\" or python_version >= \"3.12\"" files = [ {file = "chardet-5.2.0-py3-none-any.whl", hash = "sha256:e1cf59446890a00105fe7b7912492ea04b6e6f06d4b742b2c788469e34c82970"}, {file = "chardet-5.2.0.tar.gz", hash = "sha256:1b3b6ff479a8c414bc3fa2c0852995695c4a026dcd6d0633b2dd092ca39c1cf7"}, @@ -482,7 +465,6 @@ description = "The Real First Universal Charset Detector. Open, modern and activ optional = false python-versions = ">=3.7" groups = ["main", "build", "dev", "docs"] -markers = "python_version <= \"3.11\" or python_version >= \"3.12\"" files = [ {file = "charset_normalizer-3.4.1-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:91b36a978b5ae0ee86c394f5a54d6ef44db1de0815eb43de826d41d21e4af3de"}, {file = "charset_normalizer-3.4.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:7461baadb4dc00fd9e0acbe254e3d7d2112e7f92ced2adc96e54ef6501c5f176"}, @@ -585,7 +567,6 @@ description = "Composable command line interface toolkit" optional = false python-versions = ">=3.7" groups = ["docs"] -markers = "python_version <= \"3.11\" or python_version >= \"3.12\"" files = [ {file = "click-8.1.8-py3-none-any.whl", hash = "sha256:63c132bbbed01578a06712a2d1f497bb62d9c1c0d329b7903a866228027263b2"}, {file = "click-8.1.8.tar.gz", hash = "sha256:ed53c9d8990d83c2a27deae68e4ee337473f6330c040a31d4225c9574d16096a"}, @@ -605,7 +586,7 @@ files = [ {file = "colorama-0.4.6-py2.py3-none-any.whl", hash = "sha256:4f1d9991f5acc0ca119f9d443620b77f9d6b33703e51011c16baf57afb285fc6"}, {file = "colorama-0.4.6.tar.gz", hash = "sha256:08695f5cb7ed6e0531a20572697297273c47b8cae5a63ffc6d6ed5c201be6e44"}, ] -markers = {main = "platform_system == \"Windows\" and (python_version <= \"3.11\" or python_version >= \"3.12\")", build = "(python_version <= \"3.11\" or python_version >= \"3.12\") and os_name == \"nt\"", dev = "python_version <= \"3.11\" or python_version >= \"3.12\"", docs = "python_version <= \"3.11\" or python_version >= \"3.12\""} +markers = {main = "platform_system == \"Windows\"", build = "os_name == \"nt\""} [[package]] name = "comm" @@ -614,7 +595,6 @@ description = "Jupyter Python Comm implementation, for usage in ipykernel, xeus- optional = false python-versions = ">=3.8" groups = ["dev", "docs"] -markers = "python_version <= \"3.11\" or python_version >= \"3.12\"" files = [ {file = "comm-0.2.2-py3-none-any.whl", hash = "sha256:e6fb86cb70ff661ee8c9c14e7d36d6de3b4066f1441be4063df9c5009f0a64d3"}, {file = "comm-0.2.2.tar.gz", hash = "sha256:3fd7a84065306e07bea1773df6eb8282de51ba82f77c72f9c85716ab11fe980e"}, @@ -697,7 +677,7 @@ description = "Python library for calculating contours of 2D quadrilateral grids optional = false python-versions = ">=3.8" groups = ["main"] -markers = "python_version <= \"3.11\" or python_version >= \"3.12\" and python_version < \"3.13\"" +markers = "python_version == \"3.8\" or python_version == \"3.9\" or python_version == \"3.10\" or python_version == \"3.11\" or python_version == \"3.12\"" files = [ {file = "contourpy-1.1.1-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:46e24f5412c948d81736509377e255f6040e94216bf1a9b5ea1eaa9d29f6ec1b"}, {file = "contourpy-1.1.1-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:0e48694d6a9c5a26ee85b10130c77a011a4fedf50a7279fa0bdaf44bafb4299d"}, @@ -773,7 +753,7 @@ description = "cryptography is a package which provides cryptographic recipes an optional = false python-versions = ">=3.7" groups = ["build"] -markers = "sys_platform == \"linux\" and (platform_machine != \"ppc64le\" and platform_machine != \"s390x\" or python_version <= \"3.11\") and (python_version <= \"3.11\" or python_version >= \"3.12\") and (platform_machine == \"arm64\" or platform_machine == \"aarch64\" or platform_machine != \"ppc64le\" and platform_machine != \"s390x\") and (platform_machine == \"arm64\" or platform_machine == \"aarch64\" or platform_system != \"Linux\" or platform_machine != \"ppc64le\" and platform_machine != \"s390x\" and platform_machine != \"aarch64\" or python_version >= \"3.9\") and (platform_machine == \"arm64\" or platform_machine == \"aarch64\" or platform_system != \"Darwin\" or platform_machine != \"ppc64le\" and platform_machine != \"s390x\" and platform_machine != \"arm64\" or python_version >= \"3.9\")" +markers = "platform_machine != \"ppc64le\" and platform_machine != \"s390x\" and sys_platform == \"linux\"" files = [ {file = "cryptography-43.0.3-cp37-abi3-macosx_10_9_universal2.whl", hash = "sha256:bf7a1932ac4176486eab36a19ed4c0492da5d97123f1406cf15e41b05e787d2e"}, {file = "cryptography-43.0.3-cp37-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:63efa177ff54aec6e1c0aefaa1a241232dcd37413835a9b674b6e3f0ae2bfd3e"}, @@ -824,7 +804,6 @@ description = "CSS selectors for Python ElementTree" optional = false python-versions = ">=3.7" groups = ["docs"] -markers = "python_version <= \"3.11\" or python_version >= \"3.12\"" files = [ {file = "cssselect2-0.7.0-py3-none-any.whl", hash = "sha256:fd23a65bfd444595913f02fc71f6b286c29261e354c41d722ca7a261a49b5969"}, {file = "cssselect2-0.7.0.tar.gz", hash = "sha256:1ccd984dab89fc68955043aca4e1b03e0cf29cad9880f6e28e3ba7a74b14aa5a"}, @@ -845,7 +824,6 @@ description = "Composable style cycles" optional = false python-versions = ">=3.8" groups = ["main"] -markers = "python_version <= \"3.11\" or python_version >= \"3.12\"" files = [ {file = "cycler-0.12.1-py3-none-any.whl", hash = "sha256:85cef7cff222d8644161529808465972e51340599459b8ac3ccbac5a854e0d30"}, {file = "cycler-0.12.1.tar.gz", hash = "sha256:88bb128f02ba341da8ef447245a9e138fae777f6a23943da4540077d3601eb1c"}, @@ -862,7 +840,6 @@ description = "An implementation of the Debug Adapter Protocol for Python" optional = false python-versions = ">=3.8" groups = ["dev", "docs"] -markers = "python_version <= \"3.11\" or python_version >= \"3.12\"" files = [ {file = "debugpy-1.8.11-cp310-cp310-macosx_14_0_x86_64.whl", hash = "sha256:2b26fefc4e31ff85593d68b9022e35e8925714a10ab4858fb1b577a8a48cb8cd"}, {file = "debugpy-1.8.11-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:61bc8b3b265e6949855300e84dc93d02d7a3a637f2aec6d382afd4ceb9120c9f"}, @@ -899,7 +876,6 @@ description = "Decorators for Humans" optional = false python-versions = ">=3.5" groups = ["dev", "docs"] -markers = "python_version <= \"3.11\" or python_version >= \"3.12\"" files = [ {file = "decorator-5.1.1-py3-none-any.whl", hash = "sha256:b8c3f85900b9dc423225913c5aace94729fe1fa9763b38939a95226f02d37186"}, {file = "decorator-5.1.1.tar.gz", hash = "sha256:637996211036b6385ef91435e4fae22989472f9d571faba8927ba8253acbc330"}, @@ -912,7 +888,6 @@ description = "XML bomb protection for Python stdlib modules" optional = false python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*" groups = ["main", "dev", "docs"] -markers = "python_version <= \"3.11\" or python_version >= \"3.12\"" files = [ {file = "defusedxml-0.7.1-py2.py3-none-any.whl", hash = "sha256:a352e7e428770286cc899e2542b6cdaedb2b4953ff269a210103ec58f6198a61"}, {file = "defusedxml-0.7.1.tar.gz", hash = "sha256:1bb3032db185915b62d7c6209c5a8792be6a32ab2fedacc84e01b52c51aa3e69"}, @@ -925,7 +900,6 @@ description = "Distribution utilities" optional = false python-versions = "*" groups = ["dev"] -markers = "python_version <= \"3.11\" or python_version >= \"3.12\"" files = [ {file = "distlib-0.3.9-py2.py3-none-any.whl", hash = "sha256:47f8c22fd27c27e25a65601af709b38e4f0a45ea4fc2e710f65755fa8caaaf87"}, {file = "distlib-0.3.9.tar.gz", hash = "sha256:a60f20dea646b8a33f3e7772f74dc0b2d0772d2837ee1342a00645c81edf9403"}, @@ -938,7 +912,6 @@ description = "Docutils -- Python Documentation Utilities" optional = false python-versions = ">=3.7" groups = ["build", "dev"] -markers = "python_version <= \"3.11\" or python_version >= \"3.12\"" files = [ {file = "docutils-0.20.1-py3-none-any.whl", hash = "sha256:96f387a2c5562db4476f09f13bbab2192e764cac08ebbf3a34a95d9b1e4a59d6"}, {file = "docutils-0.20.1.tar.gz", hash = "sha256:f08a4e276c3a1583a86dce3e34aba3fe04d02bba2dd51ed16106244e8a923e3b"}, @@ -951,7 +924,7 @@ description = "Backport of PEP 654 (exception groups)" optional = false python-versions = ">=3.7" groups = ["dev"] -markers = "python_version < \"3.11\"" +markers = "python_version == \"3.8\" or python_version == \"3.9\" or python_version == \"3.10\"" files = [ {file = "exceptiongroup-1.2.2-py3-none-any.whl", hash = "sha256:3111b9d131c238bec2f8f516e123e14ba243563fb135d3fe885990585aa7795b"}, {file = "exceptiongroup-1.2.2.tar.gz", hash = "sha256:47c2edf7c6738fafb49fd34290706d1a1a2f4d1c6df275526b62cbb4aa5393cc"}, @@ -967,14 +940,13 @@ description = "Get the currently executing AST node of a frame, and other inform optional = false python-versions = ">=3.8" groups = ["dev", "docs"] -markers = "python_version <= \"3.11\" or python_version >= \"3.12\"" files = [ {file = "executing-2.1.0-py2.py3-none-any.whl", hash = "sha256:8d63781349375b5ebccc3142f4b30350c0cd9c79f921cde38be2be4637e98eaf"}, {file = "executing-2.1.0.tar.gz", hash = "sha256:8ea27ddd260da8150fa5a708269c4a10e76161e2496ec3e587da9e3c0fe4b9ab"}, ] [package.extras] -tests = ["asttokens (>=2.1.0)", "coverage", "coverage-enable-subprocess", "ipython", "littleutils", "pytest", "rich"] +tests = ["asttokens (>=2.1.0)", "coverage", "coverage-enable-subprocess", "ipython", "littleutils", "pytest", "rich ; python_version >= \"3.11\""] [[package]] name = "fastjsonschema" @@ -983,7 +955,6 @@ description = "Fastest Python implementation of JSON schema" optional = false python-versions = "*" groups = ["dev", "docs"] -markers = "python_version <= \"3.11\" or python_version >= \"3.12\"" files = [ {file = "fastjsonschema-2.21.1-py3-none-any.whl", hash = "sha256:c9e5b7e908310918cf494a434eeb31384dd84a98b57a30bcb1f535015b554667"}, {file = "fastjsonschema-2.21.1.tar.gz", hash = "sha256:794d4f0a58f848961ba16af7b9c85a3e88cd360df008c59aac6fc5ae9323b5d4"}, @@ -999,7 +970,6 @@ description = "A platform independent file lock." optional = false python-versions = ">=3.8" groups = ["dev"] -markers = "python_version <= \"3.11\" or python_version >= \"3.12\"" files = [ {file = "filelock-3.16.1-py3-none-any.whl", hash = "sha256:2082e5703d51fbf98ea75855d9d5527e33d8ff23099bec374a134febee6946b0"}, {file = "filelock-3.16.1.tar.gz", hash = "sha256:c249fbfcd5db47e5e2d6d62198e565475ee65e4831e2561c8e313fa7eb961435"}, @@ -1008,7 +978,7 @@ files = [ [package.extras] docs = ["furo (>=2024.8.6)", "sphinx (>=8.0.2)", "sphinx-autodoc-typehints (>=2.4.1)"] testing = ["covdefaults (>=2.3)", "coverage (>=7.6.1)", "diff-cover (>=9.2)", "pytest (>=8.3.3)", "pytest-asyncio (>=0.24)", "pytest-cov (>=5)", "pytest-mock (>=3.14)", "pytest-timeout (>=2.3.1)", "virtualenv (>=20.26.4)"] -typing = ["typing-extensions (>=4.12.2)"] +typing = ["typing-extensions (>=4.12.2) ; python_version < \"3.11\""] [[package]] name = "fonttools" @@ -1017,7 +987,6 @@ description = "Tools to manipulate font files" optional = false python-versions = ">=3.8" groups = ["main"] -markers = "python_version <= \"3.11\" or python_version >= \"3.12\"" files = [ {file = "fonttools-4.55.3-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:1dcc07934a2165ccdc3a5a608db56fb3c24b609658a5b340aee4ecf3ba679dc0"}, {file = "fonttools-4.55.3-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:f7d66c15ba875432a2d2fb419523f5d3d347f91f48f57b8b08a2dfc3c39b8a3f"}, @@ -1072,18 +1041,18 @@ files = [ ] [package.extras] -all = ["brotli (>=1.0.1)", "brotlicffi (>=0.8.0)", "fs (>=2.2.0,<3)", "lxml (>=4.0)", "lz4 (>=1.7.4.2)", "matplotlib", "munkres", "pycairo", "scipy", "skia-pathops (>=0.5.0)", "sympy", "uharfbuzz (>=0.23.0)", "unicodedata2 (>=15.1.0)", "xattr", "zopfli (>=0.1.4)"] +all = ["brotli (>=1.0.1) ; platform_python_implementation == \"CPython\"", "brotlicffi (>=0.8.0) ; platform_python_implementation != \"CPython\"", "fs (>=2.2.0,<3)", "lxml (>=4.0)", "lz4 (>=1.7.4.2)", "matplotlib", "munkres ; platform_python_implementation == \"PyPy\"", "pycairo", "scipy ; platform_python_implementation != \"PyPy\"", "skia-pathops (>=0.5.0)", "sympy", "uharfbuzz (>=0.23.0)", "unicodedata2 (>=15.1.0) ; python_version <= \"3.12\"", "xattr ; sys_platform == \"darwin\"", "zopfli (>=0.1.4)"] graphite = ["lz4 (>=1.7.4.2)"] -interpolatable = ["munkres", "pycairo", "scipy"] +interpolatable = ["munkres ; platform_python_implementation == \"PyPy\"", "pycairo", "scipy ; platform_python_implementation != \"PyPy\""] lxml = ["lxml (>=4.0)"] pathops = ["skia-pathops (>=0.5.0)"] plot = ["matplotlib"] repacker = ["uharfbuzz (>=0.23.0)"] symfont = ["sympy"] -type1 = ["xattr"] +type1 = ["xattr ; sys_platform == \"darwin\""] ufo = ["fs (>=2.2.0,<3)"] -unicode = ["unicodedata2 (>=15.1.0)"] -woff = ["brotli (>=1.0.1)", "brotlicffi (>=0.8.0)", "zopfli (>=0.1.4)"] +unicode = ["unicodedata2 (>=15.1.0) ; python_version <= \"3.12\""] +woff = ["brotli (>=1.0.1) ; platform_python_implementation == \"CPython\"", "brotlicffi (>=0.8.0) ; platform_python_implementation != \"CPython\"", "zopfli (>=0.1.4)"] [[package]] name = "fqdn" @@ -1092,7 +1061,6 @@ description = "Validate fully-qualified domain names compliant to RFC 1035 and t optional = false python-versions = "*" groups = ["dev"] -markers = "python_version <= \"3.11\" or python_version >= \"3.12\"" files = [ {file = "fqdn-1.4.0-py3-none-any.whl", hash = "sha256:e935616ae81c9c60a22267593fe8e6af68cecc68549cc71bb9bfbcbbcb383386"}, {file = "fqdn-1.4.0.tar.gz", hash = "sha256:30e8f2e685ce87cdace4712fd97c5d09f5e6fa519bbb66e8f188f6a7cb3a5c4e"}, @@ -1105,7 +1073,6 @@ description = "Copy your docs directly to the gh-pages branch." optional = false python-versions = "*" groups = ["docs"] -markers = "python_version <= \"3.11\" or python_version >= \"3.12\"" files = [ {file = "ghp-import-2.1.0.tar.gz", hash = "sha256:9c535c4c61193c2df8871222567d7fd7e5014d835f97dc7b7439069e2413d343"}, {file = "ghp_import-2.1.0-py3-none-any.whl", hash = "sha256:8337dd7b50877f163d4c0289bc1f1c7f127550241988d568c1db512c4324a619"}, @@ -1124,7 +1091,6 @@ description = "Git Object Database" optional = false python-versions = ">=3.7" groups = ["docs"] -markers = "python_version <= \"3.11\" or python_version >= \"3.12\"" files = [ {file = "gitdb-4.0.12-py3-none-any.whl", hash = "sha256:67073e15955400952c6565cc3e707c554a4eea2e428946f7a4c162fab9bd9bcf"}, {file = "gitdb-4.0.12.tar.gz", hash = "sha256:5ef71f855d191a3326fcfbc0d5da835f26b13fbcba60c32c21091c349ffdb571"}, @@ -1140,7 +1106,6 @@ description = "GitPython is a Python library used to interact with Git repositor optional = false python-versions = ">=3.7" groups = ["docs"] -markers = "python_version <= \"3.11\" or python_version >= \"3.12\"" files = [ {file = "GitPython-3.1.44-py3-none-any.whl", hash = "sha256:9e0e10cda9bed1ee64bc9a6de50e7e38a9c9943241cd7f585f6df3ed28011110"}, {file = "gitpython-3.1.44.tar.gz", hash = "sha256:c87e30b26253bf5418b01b0660f818967f3c503193838337fe5e573331249269"}, @@ -1151,7 +1116,7 @@ gitdb = ">=4.0.1,<5" [package.extras] doc = ["sphinx (>=7.1.2,<7.2)", "sphinx-autodoc-typehints", "sphinx_rtd_theme"] -test = ["coverage[toml]", "ddt (>=1.1.1,!=1.4.3)", "mock", "mypy", "pre-commit", "pytest (>=7.3.1)", "pytest-cov", "pytest-instafail", "pytest-mock", "pytest-sugar", "typing-extensions"] +test = ["coverage[toml]", "ddt (>=1.1.1,!=1.4.3)", "mock ; python_version < \"3.8\"", "mypy", "pre-commit", "pytest (>=7.3.1)", "pytest-cov", "pytest-instafail", "pytest-mock", "pytest-sugar", "typing-extensions ; python_version < \"3.11\""] [[package]] name = "griffe" @@ -1160,7 +1125,6 @@ description = "Signatures for entire Python programs. Extract the structure, the optional = false python-versions = ">=3.8" groups = ["docs"] -markers = "python_version <= \"3.11\" or python_version >= \"3.12\"" files = [ {file = "griffe-1.4.0-py3-none-any.whl", hash = "sha256:e589de8b8c137e99a46ec45f9598fc0ac5b6868ce824b24db09c02d117b89bc5"}, {file = "griffe-1.4.0.tar.gz", hash = "sha256:8fccc585896d13f1221035d32c50dec65830c87d23f9adb9b1e6f3d63574f7f5"}, @@ -1177,7 +1141,6 @@ description = "A pure-Python, bring-your-own-I/O implementation of HTTP/1.1" optional = false python-versions = ">=3.7" groups = ["dev"] -markers = "python_version <= \"3.11\" or python_version >= \"3.12\"" files = [ {file = "h11-0.14.0-py3-none-any.whl", hash = "sha256:e3fe4ac4b851c468cc8363d500db52c2ead036020723024a109d37346efaa761"}, {file = "h11-0.14.0.tar.gz", hash = "sha256:8f19fbbe99e72420ff35c00b27a34cb9937e902a8b810e2c88300c6f0a3b699d"}, @@ -1190,7 +1153,6 @@ description = "A minimal low-level HTTP client." optional = false python-versions = ">=3.8" groups = ["dev"] -markers = "python_version <= \"3.11\" or python_version >= \"3.12\"" files = [ {file = "httpcore-1.0.7-py3-none-any.whl", hash = "sha256:a3fff8f43dc260d5bd363d9f9cf1830fa3a458b332856f34282de498ed420edd"}, {file = "httpcore-1.0.7.tar.gz", hash = "sha256:8551cb62a169ec7162ac7be8d4817d561f60e08eaa485234898414bb5a8a0b4c"}, @@ -1213,7 +1175,6 @@ description = "The next generation HTTP client." optional = false python-versions = ">=3.8" groups = ["dev"] -markers = "python_version <= \"3.11\" or python_version >= \"3.12\"" files = [ {file = "httpx-0.28.1-py3-none-any.whl", hash = "sha256:d909fcccc110f8c7faf814ca82a9a4d816bc5a6dbfea25d6591d6985b8ba59ad"}, {file = "httpx-0.28.1.tar.gz", hash = "sha256:75e98c5f16b0f35b567856f597f06ff2270a374470a5c2392242528e3e3e42fc"}, @@ -1226,7 +1187,7 @@ httpcore = "==1.*" idna = "*" [package.extras] -brotli = ["brotli", "brotlicffi"] +brotli = ["brotli ; platform_python_implementation == \"CPython\"", "brotlicffi ; platform_python_implementation != \"CPython\""] cli = ["click (==8.*)", "pygments (==2.*)", "rich (>=10,<14)"] http2 = ["h2 (>=3,<5)"] socks = ["socksio (==1.*)"] @@ -1239,7 +1200,6 @@ description = "Internationalized Domain Names in Applications (IDNA)" optional = false python-versions = ">=3.6" groups = ["main", "build", "dev", "docs"] -markers = "python_version <= \"3.11\" or python_version >= \"3.12\"" files = [ {file = "idna-3.10-py3-none-any.whl", hash = "sha256:946d195a0d259cbba61165e88e65941f16e9b36ea6ddb97f00452bae8b1287d3"}, {file = "idna-3.10.tar.gz", hash = "sha256:12f65c9b470abda6dc35cf8e63cc574b1c52b11df2c86030af0ac09b01b13ea9"}, @@ -1259,18 +1219,18 @@ files = [ {file = "importlib_metadata-8.5.0-py3-none-any.whl", hash = "sha256:45e54197d28b7a7f1559e60b95e7c567032b602131fbd588f1497f47880aa68b"}, {file = "importlib_metadata-8.5.0.tar.gz", hash = "sha256:71522656f0abace1d072b9e5481a48f07c138e00f079c38c8f883823f9c26bd7"}, ] -markers = {build = "python_version <= \"3.11\" and (python_full_version < \"3.10.2\" or platform_machine != \"ppc64le\" and platform_machine != \"s390x\")", dev = "python_version < \"3.10\"", docs = "python_version <= \"3.11\" or python_version >= \"3.12\""} +markers = {build = "python_version == \"3.8\" or python_version == \"3.9\" or python_version == \"3.10\" and platform_machine != \"ppc64le\" and platform_machine != \"s390x\" or python_version == \"3.10\" and python_full_version < \"3.10.2\" or python_version == \"3.11\" and platform_machine != \"ppc64le\" and platform_machine != \"s390x\"", dev = "python_version == \"3.8\" or python_version == \"3.9\""} [package.dependencies] zipp = ">=3.20" [package.extras] -check = ["pytest-checkdocs (>=2.4)", "pytest-ruff (>=0.2.1)"] +check = ["pytest-checkdocs (>=2.4)", "pytest-ruff (>=0.2.1) ; sys_platform != \"cygwin\""] cover = ["pytest-cov"] doc = ["furo", "jaraco.packaging (>=9.3)", "jaraco.tidelift (>=1.4)", "rst.linker (>=1.9)", "sphinx (>=3.5)", "sphinx-lint"] enabler = ["pytest-enabler (>=2.2)"] perf = ["ipython"] -test = ["flufl.flake8", "importlib-resources (>=1.3)", "jaraco.test (>=5.4)", "packaging", "pyfakefs", "pytest (>=6,!=8.1.*)", "pytest-perf (>=0.9.2)"] +test = ["flufl.flake8", "importlib-resources (>=1.3) ; python_version < \"3.9\"", "jaraco.test (>=5.4)", "packaging", "pyfakefs", "pytest (>=6,!=8.1.*)", "pytest-perf (>=0.9.2)"] type = ["pytest-mypy"] [[package]] @@ -1284,13 +1244,13 @@ files = [ {file = "importlib_resources-6.4.5-py3-none-any.whl", hash = "sha256:ac29d5f956f01d5e4bb63102a5a19957f1b9175e45649977264a1416783bb717"}, {file = "importlib_resources-6.4.5.tar.gz", hash = "sha256:980862a1d16c9e147a59603677fa2aa5fd82b87f223b6cb870695bcfce830065"}, ] -markers = {main = "python_version < \"3.10\"", build = "python_version < \"3.9\" and (platform_machine == \"arm64\" or platform_machine == \"aarch64\" or platform_machine != \"ppc64le\" and platform_machine != \"s390x\") and (platform_machine == \"arm64\" or platform_machine == \"aarch64\" or platform_system != \"Linux\" or platform_machine != \"ppc64le\" and platform_machine != \"s390x\" and platform_machine != \"aarch64\") and (platform_machine == \"arm64\" or platform_machine == \"aarch64\" or platform_system != \"Darwin\" or platform_machine != \"ppc64le\" and platform_machine != \"s390x\" and platform_machine != \"arm64\")", dev = "python_version < \"3.9\"", docs = "python_version <= \"3.11\" or python_version >= \"3.12\""} +markers = {main = "python_version == \"3.8\" or python_version == \"3.9\"", build = "platform_machine != \"ppc64le\" and platform_machine != \"s390x\" and python_version == \"3.8\"", dev = "python_version == \"3.8\""} [package.dependencies] zipp = {version = ">=3.1.0", markers = "python_version < \"3.10\""} [package.extras] -check = ["pytest-checkdocs (>=2.4)", "pytest-ruff (>=0.2.1)"] +check = ["pytest-checkdocs (>=2.4)", "pytest-ruff (>=0.2.1) ; sys_platform != \"cygwin\""] cover = ["pytest-cov"] doc = ["furo", "jaraco.packaging (>=9.3)", "jaraco.tidelift (>=1.4)", "rst.linker (>=1.9)", "sphinx (>=3.5)", "sphinx-lint"] enabler = ["pytest-enabler (>=2.2)"] @@ -1304,7 +1264,6 @@ description = "brain-dead simple config-ini parsing" optional = false python-versions = ">=3.7" groups = ["dev"] -markers = "python_version <= \"3.11\" or python_version >= \"3.12\"" files = [ {file = "iniconfig-2.0.0-py3-none-any.whl", hash = "sha256:b6a85871a79d2e3b22d2d1b94ac2824226a63c6b741c88f7ae975f18b6778374"}, {file = "iniconfig-2.0.0.tar.gz", hash = "sha256:2d91e135bf72d31a410b17c16da610a82cb55f6b0477d1a902134b24a455b8b3"}, @@ -1317,7 +1276,6 @@ description = "IPython Kernel for Jupyter" optional = false python-versions = ">=3.8" groups = ["dev", "docs"] -markers = "python_version <= \"3.11\" or python_version >= \"3.12\"" files = [ {file = "ipykernel-6.29.5-py3-none-any.whl", hash = "sha256:afdb66ba5aa354b09b91379bac28ae4afebbb30e8b39510c9690afb7a10421b5"}, {file = "ipykernel-6.29.5.tar.gz", hash = "sha256:f093a22c4a40f8828f8e330a9c297cb93dcab13bd9678ded6de8e5cf81c56215"}, @@ -1352,7 +1310,6 @@ description = "IPython: Productive Interactive Computing" optional = false python-versions = ">=3.8" groups = ["dev", "docs"] -markers = "python_version <= \"3.11\" or python_version >= \"3.12\"" files = [ {file = "ipython-8.12.3-py3-none-any.whl", hash = "sha256:b0340d46a933d27c657b211a329d0be23793c36595acf9e6ef4164bc01a1804c"}, {file = "ipython-8.12.3.tar.gz", hash = "sha256:3910c4b54543c2ad73d06579aa771041b7d5707b033bd488669b4cf544e3b363"}, @@ -1393,7 +1350,6 @@ description = "Jupyter interactive widgets" optional = false python-versions = ">=3.7" groups = ["dev"] -markers = "python_version <= \"3.11\" or python_version >= \"3.12\"" files = [ {file = "ipywidgets-8.1.5-py3-none-any.whl", hash = "sha256:3290f526f87ae6e77655555baba4f36681c555b8bdbbff430b70e52c34c86245"}, {file = "ipywidgets-8.1.5.tar.gz", hash = "sha256:870e43b1a35656a80c18c9503bbf2d16802db1cb487eec6fab27d683381dde17"}, @@ -1416,7 +1372,6 @@ description = "Operations with ISO 8601 durations" optional = false python-versions = ">=3.7" groups = ["dev"] -markers = "python_version <= \"3.11\" or python_version >= \"3.12\"" files = [ {file = "isoduration-20.11.0-py3-none-any.whl", hash = "sha256:b2904c2a4228c3d44f409c8ae8e2370eb21a26f7ac2ec5446df141dde3452042"}, {file = "isoduration-20.11.0.tar.gz", hash = "sha256:ac2f9015137935279eac671f94f89eb00584f940f5dc49462a0c4ee692ba1bd9"}, @@ -1432,7 +1387,7 @@ description = "Utility functions for Python class constructs" optional = false python-versions = ">=3.8" groups = ["build"] -markers = "(platform_machine != \"ppc64le\" and platform_machine != \"s390x\" or python_version <= \"3.11\") and (python_version <= \"3.11\" or python_version >= \"3.12\") and (platform_machine == \"arm64\" or platform_machine == \"aarch64\" or platform_machine != \"ppc64le\" and platform_machine != \"s390x\") and (platform_machine == \"arm64\" or platform_machine == \"aarch64\" or platform_system != \"Linux\" or platform_machine != \"ppc64le\" and platform_machine != \"s390x\" and platform_machine != \"aarch64\" or python_version >= \"3.9\") and (platform_machine == \"arm64\" or platform_machine == \"aarch64\" or platform_system != \"Darwin\" or platform_machine != \"ppc64le\" and platform_machine != \"s390x\" and platform_machine != \"arm64\" or python_version >= \"3.9\")" +markers = "platform_machine != \"ppc64le\" and platform_machine != \"s390x\"" files = [ {file = "jaraco.classes-3.4.0-py3-none-any.whl", hash = "sha256:f662826b6bed8cace05e7ff873ce0f9283b5c924470fe664fff1c2f00f581790"}, {file = "jaraco.classes-3.4.0.tar.gz", hash = "sha256:47a024b51d0239c0dd8c8540c6c7f484be3b8fcf0b2d85c13825780d3b3f3acd"}, @@ -1452,7 +1407,7 @@ description = "Useful decorators and context managers" optional = false python-versions = ">=3.8" groups = ["build"] -markers = "(platform_machine != \"ppc64le\" and platform_machine != \"s390x\" or python_version <= \"3.11\") and (python_version <= \"3.11\" or python_version >= \"3.12\") and (platform_machine == \"arm64\" or platform_machine == \"aarch64\" or platform_machine != \"ppc64le\" and platform_machine != \"s390x\") and (platform_machine == \"arm64\" or platform_machine == \"aarch64\" or platform_system != \"Linux\" or platform_machine != \"ppc64le\" and platform_machine != \"s390x\" and platform_machine != \"aarch64\" or python_version >= \"3.9\") and (platform_machine == \"arm64\" or platform_machine == \"aarch64\" or platform_system != \"Darwin\" or platform_machine != \"ppc64le\" and platform_machine != \"s390x\" and platform_machine != \"arm64\" or python_version >= \"3.9\")" +markers = "platform_machine != \"ppc64le\" and platform_machine != \"s390x\"" files = [ {file = "jaraco.context-6.0.1-py3-none-any.whl", hash = "sha256:f797fc481b490edb305122c9181830a3a5b76d84ef6d1aef2fb9b47ab956f9e4"}, {file = "jaraco_context-6.0.1.tar.gz", hash = "sha256:9bae4ea555cf0b14938dc0aee7c9f32ed303aa20a3b73e7dc80111628792d1b3"}, @@ -1463,7 +1418,7 @@ files = [ [package.extras] doc = ["furo", "jaraco.packaging (>=9.3)", "jaraco.tidelift (>=1.4)", "rst.linker (>=1.9)", "sphinx (>=3.5)", "sphinx-lint"] -test = ["portend", "pytest (>=6,!=8.1.*)", "pytest-checkdocs (>=2.4)", "pytest-cov", "pytest-enabler (>=2.2)", "pytest-mypy", "pytest-ruff (>=0.2.1)"] +test = ["portend", "pytest (>=6,!=8.1.*)", "pytest-checkdocs (>=2.4)", "pytest-cov", "pytest-enabler (>=2.2)", "pytest-mypy", "pytest-ruff (>=0.2.1) ; sys_platform != \"cygwin\""] [[package]] name = "jaraco-functools" @@ -1472,7 +1427,7 @@ description = "Functools like those found in stdlib" optional = false python-versions = ">=3.8" groups = ["build"] -markers = "(platform_machine != \"ppc64le\" and platform_machine != \"s390x\" or python_version <= \"3.11\") and (python_version <= \"3.11\" or python_version >= \"3.12\") and (platform_machine == \"arm64\" or platform_machine == \"aarch64\" or platform_machine != \"ppc64le\" and platform_machine != \"s390x\") and (platform_machine == \"arm64\" or platform_machine == \"aarch64\" or platform_system != \"Linux\" or platform_machine != \"ppc64le\" and platform_machine != \"s390x\" and platform_machine != \"aarch64\" or python_version >= \"3.9\") and (platform_machine == \"arm64\" or platform_machine == \"aarch64\" or platform_system != \"Darwin\" or platform_machine != \"ppc64le\" and platform_machine != \"s390x\" and platform_machine != \"arm64\" or python_version >= \"3.9\")" +markers = "platform_machine != \"ppc64le\" and platform_machine != \"s390x\"" files = [ {file = "jaraco.functools-4.1.0-py3-none-any.whl", hash = "sha256:ad159f13428bc4acbf5541ad6dec511f91573b90fba04df61dafa2a1231cf649"}, {file = "jaraco_functools-4.1.0.tar.gz", hash = "sha256:70f7e0e2ae076498e212562325e805204fc092d7b4c17e0e86c959e249701a9d"}, @@ -1482,7 +1437,7 @@ files = [ more-itertools = "*" [package.extras] -check = ["pytest-checkdocs (>=2.4)", "pytest-ruff (>=0.2.1)"] +check = ["pytest-checkdocs (>=2.4)", "pytest-ruff (>=0.2.1) ; sys_platform != \"cygwin\""] cover = ["pytest-cov"] doc = ["furo", "jaraco.packaging (>=9.3)", "jaraco.tidelift (>=1.4)", "rst.linker (>=1.9)", "sphinx (>=3.5)", "sphinx-lint"] enabler = ["pytest-enabler (>=2.2)"] @@ -1496,7 +1451,6 @@ description = "An autocompletion tool for Python that can be used for text edito optional = false python-versions = ">=3.6" groups = ["dev", "docs"] -markers = "python_version <= \"3.11\" or python_version >= \"3.12\"" files = [ {file = "jedi-0.19.2-py2.py3-none-any.whl", hash = "sha256:a8ef22bde8490f57fe5c7681a3c83cb58874daf72b4784de3cce5b6ef6edb5b9"}, {file = "jedi-0.19.2.tar.gz", hash = "sha256:4770dc3de41bde3966b02eb84fbcf557fb33cce26ad23da12c742fb50ecb11f0"}, @@ -1517,7 +1471,7 @@ description = "Low-level, pure Python DBus protocol wrapper." optional = false python-versions = ">=3.7" groups = ["build"] -markers = "sys_platform == \"linux\" and (platform_machine != \"ppc64le\" and platform_machine != \"s390x\" or python_version <= \"3.11\") and (python_version <= \"3.11\" or python_version >= \"3.12\") and (platform_machine == \"arm64\" or platform_machine == \"aarch64\" or platform_machine != \"ppc64le\" and platform_machine != \"s390x\") and (platform_machine == \"arm64\" or platform_machine == \"aarch64\" or platform_system != \"Linux\" or platform_machine != \"ppc64le\" and platform_machine != \"s390x\" and platform_machine != \"aarch64\" or python_version >= \"3.9\") and (platform_machine == \"arm64\" or platform_machine == \"aarch64\" or platform_system != \"Darwin\" or platform_machine != \"ppc64le\" and platform_machine != \"s390x\" and platform_machine != \"arm64\" or python_version >= \"3.9\")" +markers = "platform_machine != \"ppc64le\" and platform_machine != \"s390x\" and sys_platform == \"linux\"" files = [ {file = "jeepney-0.8.0-py3-none-any.whl", hash = "sha256:c0a454ad016ca575060802ee4d590dd912e35c122fa04e70306de3d076cce755"}, {file = "jeepney-0.8.0.tar.gz", hash = "sha256:5efe48d255973902f6badc3ce55e2aa6c5c3b3bc642059ef3a91247bcfcc5806"}, @@ -1525,7 +1479,7 @@ files = [ [package.extras] test = ["async-timeout", "pytest", "pytest-asyncio (>=0.17)", "pytest-trio", "testpath", "trio"] -trio = ["async_generator", "trio"] +trio = ["async_generator ; python_version == \"3.6\"", "trio"] [[package]] name = "jinja2" @@ -1534,7 +1488,6 @@ description = "A very fast and expressive template engine." optional = false python-versions = ">=3.7" groups = ["dev", "docs"] -markers = "python_version <= \"3.11\" or python_version >= \"3.12\"" files = [ {file = "jinja2-3.1.5-py3-none-any.whl", hash = "sha256:aba0f4dc9ed8013c424088f68a5c226f7d6097ed89b246d7749c2ec4175c6adb"}, {file = "jinja2-3.1.5.tar.gz", hash = "sha256:8fefff8dc3034e27bb80d67c671eb8a9bc424c0ef4c0826edbff304cceff43bb"}, @@ -1553,7 +1506,6 @@ description = "A Python implementation of the JSON5 data format." optional = false python-versions = ">=3.8.0" groups = ["dev"] -markers = "python_version <= \"3.11\" or python_version >= \"3.12\"" files = [ {file = "json5-0.10.0-py3-none-any.whl", hash = "sha256:19b23410220a7271e8377f81ba8aacba2fdd56947fbb137ee5977cbe1f5e8dfa"}, {file = "json5-0.10.0.tar.gz", hash = "sha256:e66941c8f0a02026943c52c2eb34ebeb2a6f819a0be05920a6f5243cd30fd559"}, @@ -1569,7 +1521,6 @@ description = "Identify specific nodes in a JSON document (RFC 6901)" optional = false python-versions = ">=3.7" groups = ["dev"] -markers = "python_version <= \"3.11\" or python_version >= \"3.12\"" files = [ {file = "jsonpointer-3.0.0-py2.py3-none-any.whl", hash = "sha256:13e088adc14fca8b6aa8177c044e12701e6ad4b28ff10e65f2267a90109c9942"}, {file = "jsonpointer-3.0.0.tar.gz", hash = "sha256:2b2d729f2091522d61c3b31f82e11870f60b68f43fbc705cb76bf4b832af59ef"}, @@ -1582,7 +1533,6 @@ description = "An implementation of JSON Schema validation for Python" optional = false python-versions = ">=3.8" groups = ["dev", "docs"] -markers = "python_version <= \"3.11\" or python_version >= \"3.12\"" files = [ {file = "jsonschema-4.23.0-py3-none-any.whl", hash = "sha256:fbadb6f8b144a8f8cf9f0b89ba94501d143e50411a1278633f56a7acf7fd5566"}, {file = "jsonschema-4.23.0.tar.gz", hash = "sha256:d71497fef26351a33265337fa77ffeb82423f3ea21283cd9467bb03999266bc4"}, @@ -1615,7 +1565,6 @@ description = "The JSON Schema meta-schemas and vocabularies, exposed as a Regis optional = false python-versions = ">=3.8" groups = ["dev", "docs"] -markers = "python_version <= \"3.11\" or python_version >= \"3.12\"" files = [ {file = "jsonschema_specifications-2023.12.1-py3-none-any.whl", hash = "sha256:87e4fdf3a94858b8a2ba2778d9ba57d8a9cafca7c7489c46ba0d30a8bc6a9c3c"}, {file = "jsonschema_specifications-2023.12.1.tar.gz", hash = "sha256:48a76787b3e70f5ed53f1160d2b81f586e4ca6d1548c5de7085d1682674764cc"}, @@ -1632,7 +1581,6 @@ description = "Jupyter protocol implementation and client libraries" optional = false python-versions = ">=3.8" groups = ["dev", "docs"] -markers = "python_version <= \"3.11\" or python_version >= \"3.12\"" files = [ {file = "jupyter_client-8.6.3-py3-none-any.whl", hash = "sha256:e8a19cc986cc45905ac3362915f410f3af85424b4c0905e94fa5f2cb08e8f23f"}, {file = "jupyter_client-8.6.3.tar.gz", hash = "sha256:35b3a0947c4a6e9d589eb97d7d4cd5e90f910ee73101611f01283732bd6d9419"}, @@ -1648,7 +1596,7 @@ traitlets = ">=5.3" [package.extras] docs = ["ipykernel", "myst-parser", "pydata-sphinx-theme", "sphinx (>=4)", "sphinx-autodoc-typehints", "sphinxcontrib-github-alt", "sphinxcontrib-spelling"] -test = ["coverage", "ipykernel (>=6.14)", "mypy", "paramiko", "pre-commit", "pytest (<8.2.0)", "pytest-cov", "pytest-jupyter[client] (>=0.4.1)", "pytest-timeout"] +test = ["coverage", "ipykernel (>=6.14)", "mypy", "paramiko ; sys_platform == \"win32\"", "pre-commit", "pytest (<8.2.0)", "pytest-cov", "pytest-jupyter[client] (>=0.4.1)", "pytest-timeout"] [[package]] name = "jupyter-core" @@ -1657,7 +1605,6 @@ description = "Jupyter core package. A base package on which Jupyter projects re optional = false python-versions = ">=3.8" groups = ["dev", "docs"] -markers = "python_version <= \"3.11\" or python_version >= \"3.12\"" files = [ {file = "jupyter_core-5.7.2-py3-none-any.whl", hash = "sha256:4f7315d2f6b4bcf2e3e7cb6e46772eba760ae459cd1f59d29eb57b0a01bd7409"}, {file = "jupyter_core-5.7.2.tar.gz", hash = "sha256:aa5f8d32bbf6b431ac830496da7392035d6f61b4f54872f15c4bd2a9c3f536d9"}, @@ -1679,7 +1626,6 @@ description = "Jupyter Event System library" optional = false python-versions = ">=3.8" groups = ["dev"] -markers = "python_version <= \"3.11\" or python_version >= \"3.12\"" files = [ {file = "jupyter_events-0.10.0-py3-none-any.whl", hash = "sha256:4b72130875e59d57716d327ea70d3ebc3af1944d3717e5a498b8a06c6c159960"}, {file = "jupyter_events-0.10.0.tar.gz", hash = "sha256:670b8229d3cc882ec782144ed22e0d29e1c2d639263f92ca8383e66682845e22"}, @@ -1706,7 +1652,6 @@ description = "Multi-Language Server WebSocket proxy for Jupyter Notebook/Lab se optional = false python-versions = ">=3.8" groups = ["dev"] -markers = "python_version <= \"3.11\" or python_version >= \"3.12\"" files = [ {file = "jupyter-lsp-2.2.5.tar.gz", hash = "sha256:793147a05ad446f809fd53ef1cd19a9f5256fd0a2d6b7ce943a982cb4f545001"}, {file = "jupyter_lsp-2.2.5-py3-none-any.whl", hash = "sha256:45fbddbd505f3fbfb0b6cb2f1bc5e15e83ab7c79cd6e89416b248cb3c00c11da"}, @@ -1723,7 +1668,6 @@ description = "The backend—i.e. core services, APIs, and REST endpoints—to J optional = false python-versions = ">=3.8" groups = ["dev"] -markers = "python_version <= \"3.11\" or python_version >= \"3.12\"" files = [ {file = "jupyter_server-2.14.2-py3-none-any.whl", hash = "sha256:47ff506127c2f7851a17bf4713434208fc490955d0e8632e95014a9a9afbeefd"}, {file = "jupyter_server-2.14.2.tar.gz", hash = "sha256:66095021aa9638ced276c248b1d81862e4c50f292d575920bbe960de1c56b12b"}, @@ -1761,7 +1705,6 @@ description = "A Jupyter Server Extension Providing Terminals." optional = false python-versions = ">=3.8" groups = ["dev"] -markers = "python_version <= \"3.11\" or python_version >= \"3.12\"" files = [ {file = "jupyter_server_terminals-0.5.3-py3-none-any.whl", hash = "sha256:41ee0d7dc0ebf2809c668e0fc726dfaf258fcd3e769568996ca731b6194ae9aa"}, {file = "jupyter_server_terminals-0.5.3.tar.gz", hash = "sha256:5ae0295167220e9ace0edcfdb212afd2b01ee8d179fe6f23c899590e9b8a5269"}, @@ -1782,7 +1725,6 @@ description = "JupyterLab computational environment" optional = false python-versions = ">=3.8" groups = ["dev"] -markers = "python_version <= \"3.11\" or python_version >= \"3.12\"" files = [ {file = "jupyterlab-4.3.4-py3-none-any.whl", hash = "sha256:b754c2601c5be6adf87cb5a1d8495d653ffb945f021939f77776acaa94dae952"}, {file = "jupyterlab-4.3.4.tar.gz", hash = "sha256:f0bb9b09a04766e3423cccc2fc23169aa2ffedcdf8713e9e0fb33cac0b6859d0"}, @@ -1820,7 +1762,6 @@ description = "Pygments theme using JupyterLab CSS variables" optional = false python-versions = ">=3.8" groups = ["dev", "docs"] -markers = "python_version <= \"3.11\" or python_version >= \"3.12\"" files = [ {file = "jupyterlab_pygments-0.3.0-py3-none-any.whl", hash = "sha256:841a89020971da1d8693f1a99997aefc5dc424bb1b251fd6322462a1b8842780"}, {file = "jupyterlab_pygments-0.3.0.tar.gz", hash = "sha256:721aca4d9029252b11cfa9d185e5b5af4d54772bb8072f9b7036f4170054d35d"}, @@ -1833,7 +1774,6 @@ description = "A set of server components for JupyterLab and JupyterLab like app optional = false python-versions = ">=3.8" groups = ["dev"] -markers = "python_version <= \"3.11\" or python_version >= \"3.12\"" files = [ {file = "jupyterlab_server-2.27.3-py3-none-any.whl", hash = "sha256:e697488f66c3db49df675158a77b3b017520d772c6e1548c7d9bcc5df7944ee4"}, {file = "jupyterlab_server-2.27.3.tar.gz", hash = "sha256:eb36caca59e74471988f0ae25c77945610b887f777255aa21f8065def9e51ed4"}, @@ -1861,7 +1801,6 @@ description = "Jupyter interactive widgets for JupyterLab" optional = false python-versions = ">=3.7" groups = ["dev"] -markers = "python_version <= \"3.11\" or python_version >= \"3.12\"" files = [ {file = "jupyterlab_widgets-3.0.13-py3-none-any.whl", hash = "sha256:e3cda2c233ce144192f1e29914ad522b2f4c40e77214b0cc97377ca3d323db54"}, {file = "jupyterlab_widgets-3.0.13.tar.gz", hash = "sha256:a2966d385328c1942b683a8cd96b89b8dd82c8b8f81dda902bb2bc06d46f5bed"}, @@ -1874,7 +1813,6 @@ description = "Jupyter notebooks as Markdown documents, Julia, Python or R scrip optional = false python-versions = ">=3.8" groups = ["dev", "docs"] -markers = "python_version <= \"3.11\" or python_version >= \"3.12\"" files = [ {file = "jupytext-1.16.6-py3-none-any.whl", hash = "sha256:900132031f73fee15a1c9ebd862e05eb5f51e1ad6ab3a2c6fdd97ce2f9c913b4"}, {file = "jupytext-1.16.6.tar.gz", hash = "sha256:dbd03f9263c34b737003f388fc069e9030834fb7136879c4c32c32473557baa0"}, @@ -1905,7 +1843,7 @@ description = "Store and access your passwords safely." optional = false python-versions = ">=3.8" groups = ["build"] -markers = "(platform_machine != \"ppc64le\" and platform_machine != \"s390x\" or python_version <= \"3.11\") and (python_version <= \"3.11\" or python_version >= \"3.12\") and (platform_machine == \"arm64\" or platform_machine == \"aarch64\" or platform_machine != \"ppc64le\" and platform_machine != \"s390x\") and (platform_machine == \"arm64\" or platform_machine == \"aarch64\" or platform_system != \"Linux\" or platform_machine != \"ppc64le\" and platform_machine != \"s390x\" and platform_machine != \"aarch64\" or python_version >= \"3.9\") and (platform_machine == \"arm64\" or platform_machine == \"aarch64\" or platform_system != \"Darwin\" or platform_machine != \"ppc64le\" and platform_machine != \"s390x\" and platform_machine != \"arm64\" or python_version >= \"3.9\")" +markers = "platform_machine != \"ppc64le\" and platform_machine != \"s390x\"" files = [ {file = "keyring-25.5.0-py3-none-any.whl", hash = "sha256:e67f8ac32b04be4714b42fe84ce7dad9c40985b9ca827c592cc303e7c26d9741"}, {file = "keyring-25.5.0.tar.gz", hash = "sha256:4c753b3ec91717fe713c4edd522d625889d8973a349b0e582622f49766de58e6"}, @@ -1922,7 +1860,7 @@ pywin32-ctypes = {version = ">=0.2.0", markers = "sys_platform == \"win32\""} SecretStorage = {version = ">=3.2", markers = "sys_platform == \"linux\""} [package.extras] -check = ["pytest-checkdocs (>=2.4)", "pytest-ruff (>=0.2.1)"] +check = ["pytest-checkdocs (>=2.4)", "pytest-ruff (>=0.2.1) ; sys_platform != \"cygwin\""] completion = ["shtab (>=1.1.0)"] cover = ["pytest-cov"] doc = ["furo", "jaraco.packaging (>=9.3)", "jaraco.tidelift (>=1.4)", "rst.linker (>=1.9)", "sphinx (>=3.5)", "sphinx-lint"] @@ -1937,7 +1875,6 @@ description = "A fast implementation of the Cassowary constraint solver" optional = false python-versions = ">=3.8" groups = ["main"] -markers = "python_version <= \"3.11\" or python_version >= \"3.12\"" files = [ {file = "kiwisolver-1.4.7-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:8a9c83f75223d5e48b0bc9cb1bf2776cf01563e00ade8775ffe13b0b6e1af3a6"}, {file = "kiwisolver-1.4.7-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:58370b1ffbd35407444d57057b57da5d6549d2d854fa30249771775c63b5fe17"}, @@ -2062,7 +1999,6 @@ description = "Python implementation of John Gruber's Markdown." optional = false python-versions = ">=3.8" groups = ["docs"] -markers = "python_version <= \"3.11\" or python_version >= \"3.12\"" files = [ {file = "Markdown-3.7-py3-none-any.whl", hash = "sha256:7eb6df5690b81a1d7942992c97fad2938e956e79df20cbc6186e9c3a77b1c803"}, {file = "markdown-3.7.tar.gz", hash = "sha256:2ae2471477cfd02dbbf038d5d9bc226d40def84b4fe2986e49b59b6b472bbed2"}, @@ -2082,7 +2018,6 @@ description = "Python port of markdown-it. Markdown parsing, done right!" optional = false python-versions = ">=3.8" groups = ["build", "dev", "docs"] -markers = "python_version <= \"3.11\" or python_version >= \"3.12\"" files = [ {file = "markdown-it-py-3.0.0.tar.gz", hash = "sha256:e3f60a94fa066dc52ec76661e37c851cb232d92f9886b15cb560aaada2df8feb"}, {file = "markdown_it_py-3.0.0-py3-none-any.whl", hash = "sha256:355216845c60bd96232cd8d8c40e8f9765cc86f46880e43a8fd22dc1a1a8cab1"}, @@ -2108,7 +2043,6 @@ description = "Safely add untrusted strings to HTML/XML markup." optional = false python-versions = ">=3.7" groups = ["dev", "docs"] -markers = "python_version <= \"3.11\" or python_version >= \"3.12\"" files = [ {file = "MarkupSafe-2.1.5-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:a17a92de5231666cfbe003f0e4b9b3a7ae3afb1ec2845aadc2bacc93ff85febc"}, {file = "MarkupSafe-2.1.5-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:72b6be590cc35924b02c78ef34b467da4ba07e4e0f0454a2c5907f473fc50ce5"}, @@ -2228,7 +2162,6 @@ files = [ contourpy = ">=1.0.1" cycler = ">=0.10" fonttools = ">=4.22.0" -importlib-resources = {version = ">=3.2.0", markers = "python_version < \"3.10\""} kiwisolver = ">=1.0.1" numpy = ">=1.20" packaging = ">=20.0" @@ -2243,7 +2176,7 @@ description = "Python plotting package" optional = false python-versions = ">=3.8" groups = ["main"] -markers = "python_version <= \"3.11\" or python_version >= \"3.12\" and python_version < \"3.13\"" +markers = "python_version == \"3.8\" or python_version == \"3.9\" or python_version == \"3.10\" or python_version == \"3.11\" or python_version == \"3.12\"" files = [ {file = "matplotlib-3.7.5-cp310-cp310-macosx_10_12_universal2.whl", hash = "sha256:4a87b69cb1cb20943010f63feb0b2901c17a3b435f75349fd9865713bfa63925"}, {file = "matplotlib-3.7.5-cp310-cp310-macosx_10_12_x86_64.whl", hash = "sha256:d3ce45010fefb028359accebb852ca0c21bd77ec0f281952831d235228f15810"}, @@ -2313,7 +2246,6 @@ description = "Inline Matplotlib backend for Jupyter" optional = false python-versions = ">=3.8" groups = ["dev", "docs"] -markers = "python_version <= \"3.11\" or python_version >= \"3.12\"" files = [ {file = "matplotlib_inline-0.1.7-py3-none-any.whl", hash = "sha256:df192d39a4ff8f21b1895d72e6a13f5fcc5099f00fa84384e0ea28c2cc0653ca"}, {file = "matplotlib_inline-0.1.7.tar.gz", hash = "sha256:8423b23ec666be3d16e16b60bdd8ac4e86e840ebd1dd11a30b9f117f2fa0ab90"}, @@ -2329,7 +2261,6 @@ description = "Collection of plugins for markdown-it-py" optional = false python-versions = ">=3.8" groups = ["dev", "docs"] -markers = "python_version <= \"3.11\" or python_version >= \"3.12\"" files = [ {file = "mdit_py_plugins-0.4.2-py3-none-any.whl", hash = "sha256:0c673c3f889399a33b95e88d2f0d111b4447bdfea7f237dab2d488f459835636"}, {file = "mdit_py_plugins-0.4.2.tar.gz", hash = "sha256:5f2cd1fdb606ddf152d37ec30e46101a60512bc0e5fa1a7002c36647b09e26b5"}, @@ -2350,7 +2281,6 @@ description = "Markdown URL utilities" optional = false python-versions = ">=3.7" groups = ["build", "dev", "docs"] -markers = "python_version <= \"3.11\" or python_version >= \"3.12\"" files = [ {file = "mdurl-0.1.2-py3-none-any.whl", hash = "sha256:84008a41e51615a49fc9966191ff91509e3c40b939176e643fd50a5c2196b8f8"}, {file = "mdurl-0.1.2.tar.gz", hash = "sha256:bb413d29f5eea38f31dd4754dd7377d4465116fb207585f97bf925588687c1ba"}, @@ -2363,7 +2293,6 @@ description = "A deep merge function for 🐍." optional = false python-versions = ">=3.6" groups = ["docs"] -markers = "python_version <= \"3.11\" or python_version >= \"3.12\"" files = [ {file = "mergedeep-1.3.4-py3-none-any.whl", hash = "sha256:70775750742b25c0d8f36c55aed03d24c3384d17c951b3175d898bd778ef0307"}, {file = "mergedeep-1.3.4.tar.gz", hash = "sha256:0096d52e9dad9939c3d975a774666af186eda617e6ca84df4c94dec30004f2a8"}, @@ -2376,7 +2305,6 @@ description = "Manage multiple versions of your MkDocs-powered documentation" optional = false python-versions = "*" groups = ["docs"] -markers = "python_version <= \"3.11\" or python_version >= \"3.12\"" files = [ {file = "mike-2.1.3-py3-none-any.whl", hash = "sha256:d90c64077e84f06272437b464735130d380703a76a5738b152932884c60c062a"}, {file = "mike-2.1.3.tar.gz", hash = "sha256:abd79b8ea483fb0275b7972825d3082e5ae67a41820f8d8a0dc7a3f49944e810"}, @@ -2403,7 +2331,6 @@ description = "A sane and fast Markdown parser with useful plugins and renderers optional = false python-versions = ">=3.8" groups = ["dev", "docs"] -markers = "python_version <= \"3.11\" or python_version >= \"3.12\"" files = [ {file = "mistune-3.1.0-py3-none-any.whl", hash = "sha256:b05198cf6d671b3deba6c87ec6cf0d4eb7b72c524636eddb6dbf13823b52cee1"}, {file = "mistune-3.1.0.tar.gz", hash = "sha256:dbcac2f78292b9dc066cd03b7a3a26b62d85f8159f2ea5fd28e55df79908d667"}, @@ -2419,7 +2346,6 @@ description = "Project documentation with Markdown." optional = false python-versions = ">=3.8" groups = ["docs"] -markers = "python_version <= \"3.11\" or python_version >= \"3.12\"" files = [ {file = "mkdocs-1.6.1-py3-none-any.whl", hash = "sha256:db91759624d1647f3f34aa0c3f327dd2601beae39a366d6e064c03468d35c20e"}, {file = "mkdocs-1.6.1.tar.gz", hash = "sha256:7b432f01d928c084353ab39c57282f29f92136665bdd6abf7c1ec8d822ef86f2"}, @@ -2443,7 +2369,7 @@ watchdog = ">=2.0" [package.extras] i18n = ["babel (>=2.9.0)"] -min-versions = ["babel (==2.9.0)", "click (==7.0)", "colorama (==0.4)", "ghp-import (==1.0)", "importlib-metadata (==4.4)", "jinja2 (==2.11.1)", "markdown (==3.3.6)", "markupsafe (==2.0.1)", "mergedeep (==1.3.4)", "mkdocs-get-deps (==0.2.0)", "packaging (==20.5)", "pathspec (==0.11.1)", "pyyaml (==5.1)", "pyyaml-env-tag (==0.1)", "watchdog (==2.0)"] +min-versions = ["babel (==2.9.0)", "click (==7.0)", "colorama (==0.4) ; platform_system == \"Windows\"", "ghp-import (==1.0)", "importlib-metadata (==4.4) ; python_version < \"3.10\"", "jinja2 (==2.11.1)", "markdown (==3.3.6)", "markupsafe (==2.0.1)", "mergedeep (==1.3.4)", "mkdocs-get-deps (==0.2.0)", "packaging (==20.5)", "pathspec (==0.11.1)", "pyyaml (==5.1)", "pyyaml-env-tag (==0.1)", "watchdog (==2.0)"] [[package]] name = "mkdocs-autorefs" @@ -2452,7 +2378,6 @@ description = "Automatically link across pages in MkDocs." optional = false python-versions = ">=3.8" groups = ["docs"] -markers = "python_version <= \"3.11\" or python_version >= \"3.12\"" files = [ {file = "mkdocs_autorefs-1.2.0-py3-none-any.whl", hash = "sha256:d588754ae89bd0ced0c70c06f58566a4ee43471eeeee5202427da7de9ef85a2f"}, {file = "mkdocs_autorefs-1.2.0.tar.gz", hash = "sha256:a86b93abff653521bda71cf3fc5596342b7a23982093915cb74273f67522190f"}, @@ -2470,7 +2395,6 @@ description = "MkDocs extension that lists all dependencies according to a mkdoc optional = false python-versions = ">=3.8" groups = ["docs"] -markers = "python_version <= \"3.11\" or python_version >= \"3.12\"" files = [ {file = "mkdocs_get_deps-0.2.0-py3-none-any.whl", hash = "sha256:2bf11d0b133e77a0dd036abeeb06dec8775e46efa526dc70667d8863eefc6134"}, {file = "mkdocs_get_deps-0.2.0.tar.gz", hash = "sha256:162b3d129c7fad9b19abfdcb9c1458a651628e4b1dea628ac68790fb3061c60c"}, @@ -2489,7 +2413,7 @@ description = "An MkDocs plugin to create a list of contributors on the page. Th optional = false python-versions = "<4,>=3.8" groups = ["docs"] -markers = "python_version <= \"3.11\" or python_version >= \"3.12\" and python_version < \"4\"" +markers = "python_version < \"4\"" files = [ {file = "mkdocs_git_committers_plugin_2-2.4.1-py3-none-any.whl", hash = "sha256:ec9c1d81445606c471337d1c4a1782c643b7377077b545279dc18b86b7362c6d"}, {file = "mkdocs_git_committers_plugin_2-2.4.1.tar.gz", hash = "sha256:ea1f80a79cedc42289e0b8e973276df04fb94f56e0ae3efc5385fb28547cf5cb"}, @@ -2507,7 +2431,6 @@ description = "Mkdocs plugin that enables displaying the localized date of the l optional = false python-versions = ">=3.8" groups = ["docs"] -markers = "python_version <= \"3.11\" or python_version >= \"3.12\"" files = [ {file = "mkdocs_git_revision_date_localized_plugin-1.3.0-py3-none-any.whl", hash = "sha256:c99377ee119372d57a9e47cff4e68f04cce634a74831c06bc89b33e456e840a1"}, {file = "mkdocs_git_revision_date_localized_plugin-1.3.0.tar.gz", hash = "sha256:439e2f14582204050a664c258861c325064d97cdc848c541e48bb034a6c4d0cb"}, @@ -2531,7 +2454,6 @@ description = "Use Jupyter in mkdocs websites" optional = false python-versions = ">=3.8" groups = ["docs"] -markers = "python_version <= \"3.11\" or python_version >= \"3.12\"" files = [ {file = "mkdocs_jupyter-0.24.8-py3-none-any.whl", hash = "sha256:36438a0a653eee2c27c6a8f7006e645f18693699c9b8ac44ffde830ddb08fa16"}, {file = "mkdocs_jupyter-0.24.8.tar.gz", hash = "sha256:09a762f484d540d9c0e944d34b28cb536a32869e224b460e2fc791b143f76940"}, @@ -2552,7 +2474,6 @@ description = "Documentation that simply works" optional = false python-versions = ">=3.8" groups = ["docs"] -markers = "python_version <= \"3.11\" or python_version >= \"3.12\"" files = [ {file = "mkdocs_material-9.5.49-py3-none-any.whl", hash = "sha256:c3c2d8176b18198435d3a3e119011922f3e11424074645c24019c2dcf08a360e"}, {file = "mkdocs_material-9.5.49.tar.gz", hash = "sha256:3671bb282b4f53a1c72e08adbe04d2481a98f85fed392530051f80ff94a9621d"}, @@ -2585,7 +2506,6 @@ description = "Extension pack for Python Markdown and MkDocs Material." optional = false python-versions = ">=3.8" groups = ["docs"] -markers = "python_version <= \"3.11\" or python_version >= \"3.12\"" files = [ {file = "mkdocs_material_extensions-1.3.1-py3-none-any.whl", hash = "sha256:adff8b62700b25cb77b53358dad940f3ef973dd6db797907c49e3c2ef3ab4e31"}, {file = "mkdocs_material_extensions-1.3.1.tar.gz", hash = "sha256:10c9511cea88f568257f960358a467d12b970e1f7b2c0e5fb2bb48cab1928443"}, @@ -2598,7 +2518,6 @@ description = "Automatic documentation from sources, for MkDocs." optional = false python-versions = ">=3.8" groups = ["docs"] -markers = "python_version <= \"3.11\" or python_version >= \"3.12\"" files = [ {file = "mkdocstrings-0.26.1-py3-none-any.whl", hash = "sha256:29738bfb72b4608e8e55cc50fb8a54f325dc7ebd2014e4e3881a49892d5983cf"}, {file = "mkdocstrings-0.26.1.tar.gz", hash = "sha256:bb8b8854d6713d5348ad05b069a09f3b79edbc6a0f33a34c6821141adb03fe33"}, @@ -2628,7 +2547,6 @@ description = "A Python handler for mkdocstrings." optional = false python-versions = ">=3.8" groups = ["docs"] -markers = "python_version <= \"3.11\" or python_version >= \"3.12\"" files = [ {file = "mkdocstrings_python-1.11.1-py3-none-any.whl", hash = "sha256:a21a1c05acef129a618517bb5aae3e33114f569b11588b1e7af3e9d4061a71af"}, {file = "mkdocstrings_python-1.11.1.tar.gz", hash = "sha256:8824b115c5359304ab0b5378a91f6202324a849e1da907a3485b59208b797322"}, @@ -2646,7 +2564,7 @@ description = "More routines for operating on iterables, beyond itertools" optional = false python-versions = ">=3.8" groups = ["build"] -markers = "(platform_machine != \"ppc64le\" and platform_machine != \"s390x\" or python_version <= \"3.11\") and (python_version <= \"3.11\" or python_version >= \"3.12\") and (platform_machine == \"arm64\" or platform_machine == \"aarch64\" or platform_machine != \"ppc64le\" and platform_machine != \"s390x\") and (platform_machine == \"arm64\" or platform_machine == \"aarch64\" or platform_system != \"Linux\" or platform_machine != \"ppc64le\" and platform_machine != \"s390x\" and platform_machine != \"aarch64\" or python_version >= \"3.9\") and (platform_machine == \"arm64\" or platform_machine == \"aarch64\" or platform_system != \"Darwin\" or platform_machine != \"ppc64le\" and platform_machine != \"s390x\" and platform_machine != \"arm64\" or python_version >= \"3.9\")" +markers = "platform_machine != \"ppc64le\" and platform_machine != \"s390x\"" files = [ {file = "more-itertools-10.5.0.tar.gz", hash = "sha256:5482bfef7849c25dc3c6dd53a6173ae4795da2a41a80faea6700d9f5846c5da6"}, {file = "more_itertools-10.5.0-py3-none-any.whl", hash = "sha256:037b0d3203ce90cca8ab1defbbdac29d5f993fc20131f3664dc8d6acfa872aef"}, @@ -2659,7 +2577,6 @@ description = "A client library for executing notebooks. Formerly nbconvert's Ex optional = false python-versions = ">=3.8.0" groups = ["dev", "docs"] -markers = "python_version <= \"3.11\" or python_version >= \"3.12\"" files = [ {file = "nbclient-0.10.1-py3-none-any.whl", hash = "sha256:949019b9240d66897e442888cfb618f69ef23dc71c01cb5fced8499c2cfc084d"}, {file = "nbclient-0.10.1.tar.gz", hash = "sha256:3e93e348ab27e712acd46fccd809139e356eb9a31aab641d1a7991a6eb4e6f68"}, @@ -2683,7 +2600,6 @@ description = "Converting Jupyter Notebooks (.ipynb files) to other formats. Ou optional = false python-versions = ">=3.8" groups = ["dev", "docs"] -markers = "python_version <= \"3.11\" or python_version >= \"3.12\"" files = [ {file = "nbconvert-7.16.5-py3-none-any.whl", hash = "sha256:e12eac052d6fd03040af4166c563d76e7aeead2e9aadf5356db552a1784bd547"}, {file = "nbconvert-7.16.5.tar.gz", hash = "sha256:c83467bb5777fdfaac5ebbb8e864f300b277f68692ecc04d6dab72f2d8442344"}, @@ -2722,7 +2638,6 @@ description = "The Jupyter Notebook format" optional = false python-versions = ">=3.8" groups = ["dev", "docs"] -markers = "python_version <= \"3.11\" or python_version >= \"3.12\"" files = [ {file = "nbformat-5.10.4-py3-none-any.whl", hash = "sha256:3b48d6c8fbca4b299bf3982ea7db1af21580e4fec269ad087b9e81588891200b"}, {file = "nbformat-5.10.4.tar.gz", hash = "sha256:322168b14f937a5d11362988ecac2a4952d3d8e3a2cbeb2319584631226d5b3a"}, @@ -2745,7 +2660,6 @@ description = "Patch asyncio to allow nested event loops" optional = false python-versions = ">=3.5" groups = ["dev", "docs"] -markers = "python_version <= \"3.11\" or python_version >= \"3.12\"" files = [ {file = "nest_asyncio-1.6.0-py3-none-any.whl", hash = "sha256:87af6efd6b5e897c81050477ef65c62e2b2f35d51703cae01aff2905b1852e1c"}, {file = "nest_asyncio-1.6.0.tar.gz", hash = "sha256:6f172d5449aca15afd6c646851f4e31e02c598d553a667e38cafa997cfec55fe"}, @@ -2758,7 +2672,6 @@ description = "Python binding to Ammonia HTML sanitizer Rust crate" optional = false python-versions = ">=3.8" groups = ["build"] -markers = "python_version <= \"3.11\" or python_version >= \"3.12\"" files = [ {file = "nh3-0.2.20-cp313-cp313t-macosx_10_12_x86_64.macosx_11_0_arm64.macosx_10_12_universal2.whl", hash = "sha256:e1061a4ab6681f6bdf72b110eea0c4e1379d57c9de937db3be4202f7ad6043db"}, {file = "nh3-0.2.20-cp313-cp313t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:eb4254b1dac4a1ee49919a5b3f1caf9803ea8dada1816d9e8289e63d3cd0dd9a"}, @@ -2793,7 +2706,6 @@ description = "Jupyter Notebook - A web-based notebook environment for interacti optional = false python-versions = ">=3.8" groups = ["dev"] -markers = "python_version <= \"3.11\" or python_version >= \"3.12\"" files = [ {file = "notebook-7.3.2-py3-none-any.whl", hash = "sha256:e5f85fc59b69d3618d73cf27544418193ff8e8058d5bf61d315ce4f473556288"}, {file = "notebook-7.3.2.tar.gz", hash = "sha256:705e83a1785f45b383bf3ee13cb76680b92d24f56fb0c7d2136fe1d850cd3ca8"}, @@ -2809,7 +2721,7 @@ tornado = ">=6.2.0" [package.extras] dev = ["hatch", "pre-commit"] docs = ["myst-parser", "nbsphinx", "pydata-sphinx-theme", "sphinx (>=1.3.6)", "sphinxcontrib-github-alt", "sphinxcontrib-spelling"] -test = ["importlib-resources (>=5.0)", "ipykernel", "jupyter-server[test] (>=2.4.0,<3)", "jupyterlab-server[test] (>=2.27.1,<3)", "nbval", "pytest (>=7.0)", "pytest-console-scripts", "pytest-timeout", "pytest-tornasync", "requests"] +test = ["importlib-resources (>=5.0) ; python_version < \"3.10\"", "ipykernel", "jupyter-server[test] (>=2.4.0,<3)", "jupyterlab-server[test] (>=2.27.1,<3)", "nbval", "pytest (>=7.0)", "pytest-console-scripts", "pytest-timeout", "pytest-tornasync", "requests"] [[package]] name = "notebook-shim" @@ -2818,7 +2730,6 @@ description = "A shim layer for notebook traits and config" optional = false python-versions = ">=3.7" groups = ["dev"] -markers = "python_version <= \"3.11\" or python_version >= \"3.12\"" files = [ {file = "notebook_shim-0.2.4-py3-none-any.whl", hash = "sha256:411a5be4e9dc882a074ccbcae671eda64cceb068767e9a3419096986560e1cef"}, {file = "notebook_shim-0.2.4.tar.gz", hash = "sha256:b4b2cfa1b65d98307ca24361f5b30fe785b53c3fd07b7a47e89acb5e6ac638cb"}, @@ -2837,7 +2748,7 @@ description = "Fundamental package for array computing in Python" optional = false python-versions = ">=3.8" groups = ["main"] -markers = "python_version <= \"3.11\"" +markers = "python_version == \"3.8\" or python_version == \"3.9\"" files = [ {file = "numpy-1.24.4-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:c0bfb52d2169d58c1cdb8cc1f16989101639b34c7d3ce60ed70b19c63eba0b64"}, {file = "numpy-1.24.4-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:ed094d4f0c177b1b8e7aa9cba7d6ceed51c0e569a5318ac0ca9a090680a6a1b1"}, @@ -2876,7 +2787,7 @@ description = "Fundamental package for array computing in Python" optional = false python-versions = ">=3.9" groups = ["main"] -markers = "python_version >= \"3.12\" and python_version < \"3.13\"" +markers = "python_version == \"3.10\" or python_version == \"3.11\" or python_version == \"3.12\"" files = [ {file = "numpy-1.26.4-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:9ff0f4f29c51e2803569d7a51c2304de5554655a60c5d776e35b4a41413830d0"}, {file = "numpy-1.26.4-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:2e4ee3380d6de9c9ec04745830fd9e2eccb3e6cf790d39d7b98ffd19b0dd754a"}, @@ -2989,7 +2900,6 @@ description = "Wrapper package for OpenCV python bindings." optional = false python-versions = ">=3.6" groups = ["main"] -markers = "python_version <= \"3.11\" or python_version >= \"3.12\"" files = [ {file = "opencv-python-4.10.0.84.tar.gz", hash = "sha256:72d234e4582e9658ffea8e9cae5b63d488ad06994ef12d81dc303b17472f3526"}, {file = "opencv_python-4.10.0.84-cp37-abi3-macosx_11_0_arm64.whl", hash = "sha256:fc182f8f4cda51b45f01c64e4cbedfc2f00aff799debebc305d8d0210c43f251"}, @@ -3003,11 +2913,11 @@ files = [ [package.dependencies] numpy = [ {version = ">=1.21.0", markers = "python_version <= \"3.9\" and platform_system == \"Darwin\" and platform_machine == \"arm64\" and python_version >= \"3.8\""}, - {version = ">=1.19.3", markers = "platform_system == \"Linux\" and platform_machine == \"aarch64\" and python_version >= \"3.8\" and python_version < \"3.10\" or python_version > \"3.9\" and python_version < \"3.10\" or python_version >= \"3.9\" and platform_system != \"Darwin\" and python_version < \"3.10\" or python_version >= \"3.9\" and platform_machine != \"arm64\" and python_version < \"3.10\""}, - {version = ">=1.17.3", markers = "(platform_system != \"Darwin\" and platform_system != \"Linux\") and python_version >= \"3.8\" and python_version < \"3.9\" or platform_system != \"Darwin\" and python_version >= \"3.8\" and python_version < \"3.9\" and platform_machine != \"aarch64\" or platform_machine != \"arm64\" and python_version >= \"3.8\" and python_version < \"3.9\" and platform_system != \"Linux\" or (platform_machine != \"arm64\" and platform_machine != \"aarch64\") and python_version >= \"3.8\" and python_version < \"3.9\""}, - {version = ">=1.23.5", markers = "python_version >= \"3.11\" and python_version < \"3.12\""}, - {version = ">=1.21.4", markers = "python_version >= \"3.10\" and platform_system == \"Darwin\" and python_version < \"3.11\""}, - {version = ">=1.21.2", markers = "platform_system != \"Darwin\" and python_version >= \"3.10\" and python_version < \"3.11\""}, + {version = ">=1.19.3", markers = "platform_system == \"Linux\" and platform_machine == \"aarch64\" and python_version >= \"3.8\""}, + {version = ">=1.17.3", markers = "(platform_system != \"Darwin\" or platform_machine != \"arm64\" or python_version > \"3.9\") and python_version >= \"3.8\" and (platform_system != \"Linux\" or platform_machine != \"aarch64\")"}, + {version = ">=1.21.4", markers = "python_version >= \"3.10\" and platform_system == \"Darwin\""}, + {version = ">=1.21.2", markers = "platform_system != \"Darwin\" and python_version >= \"3.10\""}, + {version = ">=1.23.5", markers = "python_version >= \"3.11\""}, {version = ">=1.26.0", markers = "python_version >= \"3.12\""}, ] @@ -3018,7 +2928,6 @@ description = "A decorator to automatically detect mismatch when overriding a me optional = false python-versions = ">=3.6" groups = ["dev"] -markers = "python_version <= \"3.11\" or python_version >= \"3.12\"" files = [ {file = "overrides-7.7.0-py3-none-any.whl", hash = "sha256:c7ed9d062f78b8e4c1a7b70bd8796b35ead4d9f510227ef9c5dc7626c60d7e49"}, {file = "overrides-7.7.0.tar.gz", hash = "sha256:55158fa3d93b98cc75299b1e67078ad9003ca27945c76162c1c0766d6f91820a"}, @@ -3031,7 +2940,6 @@ description = "Core utilities for Python packages" optional = false python-versions = ">=3.8" groups = ["main", "build", "dev", "docs"] -markers = "python_version <= \"3.11\" or python_version >= \"3.12\"" files = [ {file = "packaging-24.2-py3-none-any.whl", hash = "sha256:09abb1bccd265c01f4a3aa3f7a7db064b36514d2cba19a2f694fe6150451a759"}, {file = "packaging-24.2.tar.gz", hash = "sha256:c228a6dc5e932d346bc5739379109d49e8853dd8223571c7c5b55260edc0b97f"}, @@ -3044,7 +2952,6 @@ description = "Divides large result sets into pages for easier browsing" optional = false python-versions = "*" groups = ["docs"] -markers = "python_version <= \"3.11\" or python_version >= \"3.12\"" files = [ {file = "paginate-0.5.7-py2.py3-none-any.whl", hash = "sha256:b885e2af73abcf01d9559fd5216b57ef722f8c42affbb63942377668e35c7591"}, {file = "paginate-0.5.7.tar.gz", hash = "sha256:22bd083ab41e1a8b4f3690544afb2c60c25e5c9a63a30fa2f483f6c60c8e5945"}, @@ -3061,7 +2968,7 @@ description = "Powerful data structures for data analysis, time series, and stat optional = true python-versions = ">=3.8" groups = ["main"] -markers = "(python_version <= \"3.11\" or python_version >= \"3.12\") and python_version < \"3.13\" and extra == \"metrics\"" +markers = "python_version == \"3.8\" and extra == \"metrics\"" files = [ {file = "pandas-2.0.3-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:e4c7c9f27a4185304c7caf96dc7d91bc60bc162221152de697c98eb0b2648dd8"}, {file = "pandas-2.0.3-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:f167beed68918d62bffb6ec64f2e1d8a7d297a038f86d4aed056b9493fca407f"}, @@ -3091,11 +2998,7 @@ files = [ ] [package.dependencies] -numpy = [ - {version = ">=1.20.3", markers = "python_version < \"3.10\""}, - {version = ">=1.23.2", markers = "python_version >= \"3.11\""}, - {version = ">=1.21.0", markers = "python_version >= \"3.10\" and python_version < \"3.11\""}, -] +numpy = {version = ">=1.20.3", markers = "python_version < \"3.10\""} python-dateutil = ">=2.8.2" pytz = ">=2020.1" tzdata = ">=2022.1" @@ -3130,7 +3033,7 @@ description = "Powerful data structures for data analysis, time series, and stat optional = true python-versions = ">=3.9" groups = ["main"] -markers = "python_version >= \"3.13\" and extra == \"metrics\"" +markers = "python_version >= \"3.9\" and extra == \"metrics\"" files = [ {file = "pandas-2.2.3-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:1948ddde24197a0f7add2bdc4ca83bf2b1ef84a1bc8ccffd95eda17fd836ecb5"}, {file = "pandas-2.2.3-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:381175499d3802cde0eabbaf6324cce0c4f5d52ca6f8c377c29ad442f50f6348"}, @@ -3177,7 +3080,11 @@ files = [ ] [package.dependencies] -numpy = {version = ">=1.26.0", markers = "python_version >= \"3.12\""} +numpy = [ + {version = ">=1.22.4", markers = "python_version < \"3.11\""}, + {version = ">=1.23.2", markers = "python_version == \"3.11\""}, + {version = ">=1.26.0", markers = "python_version >= \"3.12\""}, +] python-dateutil = ">=2.8.2" pytz = ">=2020.1" tzdata = ">=2022.7" @@ -3214,7 +3121,6 @@ description = "Utilities for writing pandoc filters in python" optional = false python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*" groups = ["dev", "docs"] -markers = "python_version <= \"3.11\" or python_version >= \"3.12\"" files = [ {file = "pandocfilters-1.5.1-py2.py3-none-any.whl", hash = "sha256:93be382804a9cdb0a7267585f157e5d1731bbe5545a85b268d6f5fe6232de2bc"}, {file = "pandocfilters-1.5.1.tar.gz", hash = "sha256:002b4a555ee4ebc03f8b66307e287fa492e4a77b4ea14d3f934328297bb4939e"}, @@ -3227,7 +3133,6 @@ description = "A Python Parser" optional = false python-versions = ">=3.6" groups = ["dev", "docs"] -markers = "python_version <= \"3.11\" or python_version >= \"3.12\"" files = [ {file = "parso-0.8.4-py2.py3-none-any.whl", hash = "sha256:a418670a20291dacd2dddc80c377c5c3791378ee1e8d12bffc35420643d43f18"}, {file = "parso-0.8.4.tar.gz", hash = "sha256:eb3a7b58240fb99099a345571deecc0f9540ea5f4dd2fe14c2a99d6b281ab92d"}, @@ -3244,7 +3149,6 @@ description = "Utility library for gitignore style pattern matching of file path optional = false python-versions = ">=3.8" groups = ["docs"] -markers = "python_version <= \"3.11\" or python_version >= \"3.12\"" files = [ {file = "pathspec-0.12.1-py3-none-any.whl", hash = "sha256:a0d503e138a4c123b27490a4f7beda6a01c6f288df0e4a8b79c7eb0dc7b4cc08"}, {file = "pathspec-0.12.1.tar.gz", hash = "sha256:a482d51503a1ab33b1c67a6c3813a26953dbdc71c31dacaef9a838c4e29f5712"}, @@ -3257,7 +3161,7 @@ description = "Pexpect allows easy control of interactive console applications." optional = false python-versions = "*" groups = ["dev", "docs"] -markers = "(python_version <= \"3.11\" or python_version >= \"3.12\") and sys_platform != \"win32\"" +markers = "sys_platform != \"win32\"" files = [ {file = "pexpect-4.9.0-py2.py3-none-any.whl", hash = "sha256:7236d1e080e4936be2dc3e326cec0af72acf9212a7e1d060210e70a47e253523"}, {file = "pexpect-4.9.0.tar.gz", hash = "sha256:ee7d41123f3c9911050ea2c2dac107568dc43b2d3b0c7557a33212c398ead30f"}, @@ -3273,7 +3177,6 @@ description = "Tiny 'shelve'-like database with concurrency support" optional = false python-versions = "*" groups = ["dev", "docs"] -markers = "python_version <= \"3.11\" or python_version >= \"3.12\"" files = [ {file = "pickleshare-0.7.5-py2.py3-none-any.whl", hash = "sha256:9649af414d74d4df115d5d718f82acb59c9d418196b7b4290ed47a12ce62df56"}, {file = "pickleshare-0.7.5.tar.gz", hash = "sha256:87683d47965c1da65cdacaf31c8441d12b8044cdec9aca500cd78fc2c683afca"}, @@ -3286,7 +3189,6 @@ description = "Python Imaging Library (Fork)" optional = false python-versions = ">=3.8" groups = ["main", "docs"] -markers = "python_version <= \"3.11\" or python_version >= \"3.12\"" files = [ {file = "pillow-10.4.0-cp310-cp310-macosx_10_10_x86_64.whl", hash = "sha256:4d9667937cfa347525b319ae34375c37b9ee6b525440f3ef48542fcf66f2731e"}, {file = "pillow-10.4.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:543f3dc61c18dafb755773efc89aae60d06b6596a63914107f75459cf984164d"}, @@ -3375,7 +3277,7 @@ docs = ["furo", "olefile", "sphinx (>=7.3)", "sphinx-copybutton", "sphinx-inline fpx = ["olefile"] mic = ["olefile"] tests = ["check-manifest", "coverage", "defusedxml", "markdown2", "olefile", "packaging", "pyroma", "pytest", "pytest-cov", "pytest-timeout"] -typing = ["typing-extensions"] +typing = ["typing-extensions ; python_version < \"3.10\""] xmp = ["defusedxml"] [[package]] @@ -3385,7 +3287,6 @@ description = "Query metadata from sdists / bdists / installed packages." optional = false python-versions = ">=3.8" groups = ["build"] -markers = "python_version <= \"3.11\" or python_version >= \"3.12\"" files = [ {file = "pkginfo-1.12.0-py3-none-any.whl", hash = "sha256:dcd589c9be4da8973eceffa247733c144812759aa67eaf4bbf97016a02f39088"}, {file = "pkginfo-1.12.0.tar.gz", hash = "sha256:8ad91a0445a036782b9366ef8b8c2c50291f83a553478ba8580c73d3215700cf"}, @@ -3401,7 +3302,7 @@ description = "Resolve a name to an object." optional = false python-versions = ">=3.6" groups = ["dev", "docs"] -markers = "python_version < \"3.9\"" +markers = "python_version == \"3.8\"" files = [ {file = "pkgutil_resolve_name-1.3.10-py3-none-any.whl", hash = "sha256:ca27cc078d25c5ad71a9de0a7a330146c4e014c2462d9af19c6b828280649c5e"}, {file = "pkgutil_resolve_name-1.3.10.tar.gz", hash = "sha256:357d6c9e6a755653cfd78893817c0853af365dd51ec97f3d358a819373bbd174"}, @@ -3414,7 +3315,6 @@ description = "A small Python package for determining appropriate platform-speci optional = false python-versions = ">=3.8" groups = ["dev", "docs"] -markers = "python_version <= \"3.11\" or python_version >= \"3.12\"" files = [ {file = "platformdirs-4.3.6-py3-none-any.whl", hash = "sha256:73e575e1408ab8103900836b97580d5307456908a03e92031bab39e4554cc3fb"}, {file = "platformdirs-4.3.6.tar.gz", hash = "sha256:357fb2acbc885b0419afd3ce3ed34564c13c9b95c89360cd9563f73aa5e2b907"}, @@ -3432,7 +3332,6 @@ description = "plugin and hook calling mechanisms for python" optional = false python-versions = ">=3.8" groups = ["dev"] -markers = "python_version <= \"3.11\" or python_version >= \"3.12\"" files = [ {file = "pluggy-1.5.0-py3-none-any.whl", hash = "sha256:44e1ad92c8ca002de6377e165f3e0f1be63266ab4d554740532335b9d75ea669"}, {file = "pluggy-1.5.0.tar.gz", hash = "sha256:2cffa88e94fdc978c4c574f15f9e59b7f4201d439195c3715ca9e2486f1d0cf1"}, @@ -3449,7 +3348,6 @@ description = "Python client for the Prometheus monitoring system." optional = false python-versions = ">=3.8" groups = ["dev"] -markers = "python_version <= \"3.11\" or python_version >= \"3.12\"" files = [ {file = "prometheus_client-0.21.1-py3-none-any.whl", hash = "sha256:594b45c410d6f4f8888940fe80b5cc2521b305a1fafe1c58609ef715a001f301"}, {file = "prometheus_client-0.21.1.tar.gz", hash = "sha256:252505a722ac04b0456be05c05f75f45d760c2911ffc45f2a06bcaed9f3ae3fb"}, @@ -3465,7 +3363,6 @@ description = "Library for building powerful interactive command lines in Python optional = false python-versions = ">=3.7.0" groups = ["dev", "docs"] -markers = "python_version <= \"3.11\" or python_version >= \"3.12\"" files = [ {file = "prompt_toolkit-3.0.48-py3-none-any.whl", hash = "sha256:f49a827f90062e411f1ce1f854f2aedb3c23353244f8108b89283587397ac10e"}, {file = "prompt_toolkit-3.0.48.tar.gz", hash = "sha256:d6623ab0477a80df74e646bdbc93621143f5caf104206aa29294d53de1a03d90"}, @@ -3481,7 +3378,6 @@ description = "Cross-platform lib for process and system monitoring in Python." optional = false python-versions = "!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*,!=3.4.*,!=3.5.*,>=2.7" groups = ["dev", "docs"] -markers = "python_version <= \"3.11\" or python_version >= \"3.12\"" files = [ {file = "psutil-6.1.1-cp27-cp27m-macosx_10_9_x86_64.whl", hash = "sha256:9ccc4316f24409159897799b83004cb1e24f9819b0dcf9c0b68bdcb6cefee6a8"}, {file = "psutil-6.1.1-cp27-cp27m-manylinux2010_i686.whl", hash = "sha256:ca9609c77ea3b8481ab005da74ed894035936223422dc591d6772b147421f777"}, @@ -3517,7 +3413,7 @@ files = [ {file = "ptyprocess-0.7.0-py2.py3-none-any.whl", hash = "sha256:4b41f3967fce3af57cc7e94b888626c18bf37a083e3651ca8feeb66d492fef35"}, {file = "ptyprocess-0.7.0.tar.gz", hash = "sha256:5c5d0a3b48ceee0b48485e0c26037c0acd7d29765ca3fbb5cb3831d347423220"}, ] -markers = {dev = "(python_version <= \"3.11\" or python_version >= \"3.12\") and (os_name != \"nt\" or sys_platform != \"win32\")", docs = "(python_version <= \"3.11\" or python_version >= \"3.12\") and sys_platform != \"win32\""} +markers = {dev = "os_name != \"nt\" or sys_platform != \"win32\"", docs = "sys_platform != \"win32\""} [[package]] name = "pure-eval" @@ -3526,7 +3422,6 @@ description = "Safely evaluate AST nodes without side effects" optional = false python-versions = "*" groups = ["dev", "docs"] -markers = "python_version <= \"3.11\" or python_version >= \"3.12\"" files = [ {file = "pure_eval-0.2.3-py3-none-any.whl", hash = "sha256:1db8e35b67b3d218d818ae653e27f06c3aa420901fa7b081ca98cbedc874e0d0"}, {file = "pure_eval-0.2.3.tar.gz", hash = "sha256:5f4e983f40564c576c7c8635ae88db5956bb2229d7e9237d03b3c0b0190eaf42"}, @@ -3546,7 +3441,7 @@ files = [ {file = "pycparser-2.22-py3-none-any.whl", hash = "sha256:c3702b6d3dd8c7abc1afa565d7e63d53a1d0bd86cdc24edd75470f4de499cfcc"}, {file = "pycparser-2.22.tar.gz", hash = "sha256:491c8be9c040f5390f5bf44a5b07752bd07f56edf992381b05c701439eec10f6"}, ] -markers = {build = "sys_platform == \"linux\" and (platform_machine != \"ppc64le\" and platform_machine != \"s390x\" or python_version <= \"3.11\") and platform_python_implementation != \"PyPy\" and (python_version <= \"3.11\" or python_version >= \"3.12\") and (platform_machine == \"arm64\" or platform_machine == \"aarch64\" or platform_machine != \"ppc64le\" and platform_machine != \"s390x\") and (platform_machine == \"arm64\" or platform_machine == \"aarch64\" or platform_system != \"Linux\" or platform_machine != \"ppc64le\" and platform_machine != \"s390x\" and platform_machine != \"aarch64\" or python_version >= \"3.9\") and (platform_machine == \"arm64\" or platform_machine == \"aarch64\" or platform_system != \"Darwin\" or platform_machine != \"ppc64le\" and platform_machine != \"s390x\" and platform_machine != \"arm64\" or python_version >= \"3.9\")", dev = "python_version <= \"3.11\" or python_version >= \"3.12\"", docs = "python_version <= \"3.11\" or python_version >= \"3.12\""} +markers = {build = "platform_machine != \"ppc64le\" and platform_machine != \"s390x\" and sys_platform == \"linux\" and platform_python_implementation != \"PyPy\""} [[package]] name = "pygments" @@ -3555,7 +3450,6 @@ description = "Pygments is a syntax highlighting package written in Python." optional = false python-versions = ">=3.8" groups = ["build", "dev", "docs"] -markers = "python_version <= \"3.11\" or python_version >= \"3.12\"" files = [ {file = "pygments-2.19.1-py3-none-any.whl", hash = "sha256:9ea1544ad55cecf4b8242fab6dd35a93bbce657034b0611ee383099054ab6d8c"}, {file = "pygments-2.19.1.tar.gz", hash = "sha256:61c16d2a8576dc0649d9f39e089b5f02bcd27fba10d8fb4dcc28173f7a45151f"}, @@ -3571,7 +3465,6 @@ description = "Extension pack for Python Markdown." optional = false python-versions = ">=3.8" groups = ["docs"] -markers = "python_version <= \"3.11\" or python_version >= \"3.12\"" files = [ {file = "pymdown_extensions-10.13-py3-none-any.whl", hash = "sha256:80bc33d715eec68e683e04298946d47d78c7739e79d808203df278ee8ef89428"}, {file = "pymdown_extensions-10.13.tar.gz", hash = "sha256:e0b351494dc0d8d14a1f52b39b1499a00ef1566b4ba23dc74f1eba75c736f5dd"}, @@ -3607,7 +3500,7 @@ description = "pyparsing module - Classes and methods to define and execute pars optional = false python-versions = ">=3.6.8" groups = ["main", "docs"] -markers = "python_version <= \"3.11\" or python_version >= \"3.12\" and python_version < \"3.13\"" +markers = "python_version == \"3.8\" or python_version == \"3.9\" or python_version == \"3.10\" or python_version == \"3.11\" or python_version == \"3.12\"" files = [ {file = "pyparsing-3.1.4-py3-none-any.whl", hash = "sha256:a6a7ee4235a3f944aa1fa2249307708f893fe5717dc603503c6c7969c070fb7c"}, {file = "pyparsing-3.1.4.tar.gz", hash = "sha256:f86ec8d1a83f11977c9a6ea7598e8c27fc5cddfa5b07ea2241edbbde1d7bc032"}, @@ -3623,7 +3516,6 @@ description = "API to interact with the python pyproject.toml based projects" optional = false python-versions = ">=3.8" groups = ["dev"] -markers = "python_version <= \"3.11\" or python_version >= \"3.12\"" files = [ {file = "pyproject_api-1.8.0-py3-none-any.whl", hash = "sha256:3d7d347a047afe796fd5d1885b1e391ba29be7169bd2f102fcd378f04273d228"}, {file = "pyproject_api-1.8.0.tar.gz", hash = "sha256:77b8049f2feb5d33eefcc21b57f1e279636277a8ac8ad6b5871037b243778496"}, @@ -3644,7 +3536,6 @@ description = "Wrappers to call pyproject.toml-based build backend hooks." optional = false python-versions = ">=3.7" groups = ["build"] -markers = "python_version <= \"3.11\" or python_version >= \"3.12\"" files = [ {file = "pyproject_hooks-1.2.0-py3-none-any.whl", hash = "sha256:9e5c6bfa8dcc30091c74b0cf803c81fdd29d94f01992a7707bc97babb1141913"}, {file = "pyproject_hooks-1.2.0.tar.gz", hash = "sha256:1e859bd5c40fae9448642dd871adf459e5e2084186e8d2c2a79a824c970da1f8"}, @@ -3657,7 +3548,6 @@ description = "pytest: simple powerful testing with Python" optional = false python-versions = ">=3.8" groups = ["dev"] -markers = "python_version <= \"3.11\" or python_version >= \"3.12\"" files = [ {file = "pytest-8.3.4-py3-none-any.whl", hash = "sha256:50e16d954148559c9a74109af1eaf0c945ba2d8f30f0a3d3335edde19788b6f6"}, {file = "pytest-8.3.4.tar.gz", hash = "sha256:965370d062bce11e73868e0335abac31b4d3de0e82f4007408d242b4f8610761"}, @@ -3681,7 +3571,6 @@ description = "Extensions to the standard Python datetime module" optional = false python-versions = "!=3.0.*,!=3.1.*,!=3.2.*,>=2.7" groups = ["main", "dev", "docs"] -markers = "python_version <= \"3.11\" or python_version >= \"3.12\"" files = [ {file = "python-dateutil-2.9.0.post0.tar.gz", hash = "sha256:37dd54208da7e1cd875388217d5e00ebd4179249f90fb72437e91a35459a0ad3"}, {file = "python_dateutil-2.9.0.post0-py2.py3-none-any.whl", hash = "sha256:a8b2bc7bffae282281c8140a97d3aa9c14da0b136dfe83f850eea9a5f7470427"}, @@ -3697,7 +3586,6 @@ description = "JSON Log Formatter for the Python Logging Package" optional = false python-versions = ">=3.8" groups = ["dev"] -markers = "python_version <= \"3.11\" or python_version >= \"3.12\"" files = [ {file = "python_json_logger-3.2.1-py3-none-any.whl", hash = "sha256:cdc17047eb5374bd311e748b42f99d71223f3b0e186f4206cc5d52aefe85b090"}, {file = "python_json_logger-3.2.1.tar.gz", hash = "sha256:8eb0554ea17cb75b05d2848bc14fb02fbdbd9d6972120781b974380bfa162008"}, @@ -3707,7 +3595,7 @@ files = [ typing_extensions = {version = "*", markers = "python_version < \"3.10\""} [package.extras] -dev = ["backports.zoneinfo", "black", "build", "freezegun", "mdx_truly_sane_lists", "mike", "mkdocs", "mkdocs-awesome-pages-plugin", "mkdocs-gen-files", "mkdocs-literate-nav", "mkdocs-material (>=8.5)", "mkdocstrings[python]", "msgspec", "msgspec-python313-pre", "mypy", "orjson", "pylint", "pytest", "tzdata", "validate-pyproject[all]"] +dev = ["backports.zoneinfo ; python_version < \"3.9\"", "black", "build", "freezegun", "mdx_truly_sane_lists", "mike", "mkdocs", "mkdocs-awesome-pages-plugin", "mkdocs-gen-files", "mkdocs-literate-nav", "mkdocs-material (>=8.5)", "mkdocstrings[python]", "msgspec ; implementation_name != \"pypy\" and python_version < \"3.13\"", "msgspec-python313-pre ; implementation_name != \"pypy\" and python_version == \"3.13\"", "mypy", "orjson ; implementation_name != \"pypy\"", "pylint", "pytest", "tzdata", "validate-pyproject[all]"] [[package]] name = "pytz" @@ -3720,7 +3608,7 @@ files = [ {file = "pytz-2024.2-py2.py3-none-any.whl", hash = "sha256:31c7c1817eb7fae7ca4b8c7ee50c72f93aa2dd863de768e1ef4245d426aa0725"}, {file = "pytz-2024.2.tar.gz", hash = "sha256:2aa355083c50a0f93fa581709deac0c9ad65cca8a9e9beac660adcbd493c798a"}, ] -markers = {main = "(python_version <= \"3.11\" or python_version >= \"3.12\") and extra == \"metrics\"", dev = "python_version < \"3.9\"", docs = "python_version <= \"3.11\" or python_version >= \"3.12\""} +markers = {main = "extra == \"metrics\"", dev = "python_version == \"3.8\""} [[package]] name = "pywin32" @@ -3729,7 +3617,7 @@ description = "Python for Window Extensions" optional = false python-versions = "*" groups = ["dev", "docs"] -markers = "(python_version <= \"3.11\" or python_version >= \"3.12\") and platform_python_implementation != \"PyPy\" and sys_platform == \"win32\"" +markers = "sys_platform == \"win32\" and platform_python_implementation != \"PyPy\"" files = [ {file = "pywin32-308-cp310-cp310-win32.whl", hash = "sha256:796ff4426437896550d2981b9c2ac0ffd75238ad9ea2d3bfa67a1abd546d262e"}, {file = "pywin32-308-cp310-cp310-win_amd64.whl", hash = "sha256:4fc888c59b3c0bef905ce7eb7e2106a07712015ea1c8234b703a088d46110e8e"}, @@ -3758,7 +3646,7 @@ description = "A (partial) reimplementation of pywin32 using ctypes/cffi" optional = false python-versions = ">=3.6" groups = ["build"] -markers = "sys_platform == \"win32\" and (platform_machine != \"ppc64le\" and platform_machine != \"s390x\" or python_version <= \"3.11\") and (python_version <= \"3.11\" or python_version >= \"3.12\") and (platform_machine == \"arm64\" or platform_machine == \"aarch64\" or platform_machine != \"ppc64le\" and platform_machine != \"s390x\") and (platform_machine == \"arm64\" or platform_machine == \"aarch64\" or platform_system != \"Linux\" or platform_machine != \"ppc64le\" and platform_machine != \"s390x\" and platform_machine != \"aarch64\" or python_version >= \"3.9\") and (platform_machine == \"arm64\" or platform_machine == \"aarch64\" or platform_system != \"Darwin\" or platform_machine != \"ppc64le\" and platform_machine != \"s390x\" and platform_machine != \"arm64\" or python_version >= \"3.9\")" +markers = "platform_machine != \"ppc64le\" and platform_machine != \"s390x\" and sys_platform == \"win32\"" files = [ {file = "pywin32-ctypes-0.2.3.tar.gz", hash = "sha256:d162dc04946d704503b2edc4d55f3dba5c1d539ead017afa00142c38b9885755"}, {file = "pywin32_ctypes-0.2.3-py3-none-any.whl", hash = "sha256:8a1513379d709975552d202d942d9837758905c8d01eb82b8bcc30918929e7b8"}, @@ -3771,7 +3659,7 @@ description = "Pseudo terminal support for Windows from Python." optional = false python-versions = ">=3.8" groups = ["dev"] -markers = "(python_version <= \"3.11\" or python_version >= \"3.12\") and os_name == \"nt\"" +markers = "os_name == \"nt\"" files = [ {file = "pywinpty-2.0.14-cp310-none-win_amd64.whl", hash = "sha256:0b149c2918c7974f575ba79f5a4aad58bd859a52fa9eb1296cc22aa412aa411f"}, {file = "pywinpty-2.0.14-cp311-none-win_amd64.whl", hash = "sha256:cf2a43ac7065b3e0dc8510f8c1f13a75fb8fde805efa3b8cff7599a1ef497bc7"}, @@ -3788,7 +3676,6 @@ description = "YAML parser and emitter for Python" optional = false python-versions = ">=3.8" groups = ["main", "dev", "docs"] -markers = "python_version <= \"3.11\" or python_version >= \"3.12\"" files = [ {file = "PyYAML-6.0.2-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:0a9a2848a5b7feac301353437eb7d5957887edbf81d56e903999a75a3d743086"}, {file = "PyYAML-6.0.2-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:29717114e51c84ddfba879543fb232a6ed60086602313ca38cce623c1d62cfbf"}, @@ -3852,7 +3739,6 @@ description = "A custom YAML tag for referencing environment variables in YAML f optional = false python-versions = ">=3.6" groups = ["docs"] -markers = "python_version <= \"3.11\" or python_version >= \"3.12\"" files = [ {file = "pyyaml_env_tag-0.1-py3-none-any.whl", hash = "sha256:af31106dec8a4d68c60207c1886031cbf839b68aa7abccdb19868200532c2069"}, {file = "pyyaml_env_tag-0.1.tar.gz", hash = "sha256:70092675bda14fdec33b31ba77e7543de9ddc88f2e5b99160396572d11525bdb"}, @@ -3868,7 +3754,6 @@ description = "Python bindings for 0MQ" optional = false python-versions = ">=3.7" groups = ["dev", "docs"] -markers = "python_version <= \"3.11\" or python_version >= \"3.12\"" files = [ {file = "pyzmq-26.2.0-cp310-cp310-macosx_10_15_universal2.whl", hash = "sha256:ddf33d97d2f52d89f6e6e7ae66ee35a4d9ca6f36eda89c24591b0c40205a3629"}, {file = "pyzmq-26.2.0-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:dacd995031a01d16eec825bf30802fceb2c3791ef24bcce48fa98ce40918c27b"}, @@ -3991,7 +3876,6 @@ description = "readme_renderer is a library for rendering readme descriptions fo optional = false python-versions = ">=3.8" groups = ["build"] -markers = "python_version <= \"3.11\" or python_version >= \"3.12\"" files = [ {file = "readme_renderer-43.0-py3-none-any.whl", hash = "sha256:19db308d86ecd60e5affa3b2a98f017af384678c63c88e5d4556a380e674f3f9"}, {file = "readme_renderer-43.0.tar.gz", hash = "sha256:1818dd28140813509eeed8d62687f7cd4f7bad90d4db586001c5dc09d4fde311"}, @@ -4012,7 +3896,6 @@ description = "JSON Referencing + Python" optional = false python-versions = ">=3.8" groups = ["dev", "docs"] -markers = "python_version <= \"3.11\" or python_version >= \"3.12\"" files = [ {file = "referencing-0.35.1-py3-none-any.whl", hash = "sha256:eda6d3234d62814d1c64e305c1331c9a3a6132da475ab6382eaa997b21ee75de"}, {file = "referencing-0.35.1.tar.gz", hash = "sha256:25b42124a6c8b632a425174f24087783efb348a6f1e0008e63cd4466fedf703c"}, @@ -4029,7 +3912,6 @@ description = "Alternative regular expression module, to replace re." optional = false python-versions = ">=3.8" groups = ["docs"] -markers = "python_version <= \"3.11\" or python_version >= \"3.12\"" files = [ {file = "regex-2024.11.6-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:ff590880083d60acc0433f9c3f713c51f7ac6ebb9adf889c79a261ecf541aa91"}, {file = "regex-2024.11.6-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:658f90550f38270639e83ce492f27d2c8d2cd63805c65a13a14d36ca126753f0"}, @@ -4134,7 +4016,6 @@ description = "Python HTTP for Humans." optional = false python-versions = ">=3.8" groups = ["main", "build", "dev", "docs"] -markers = "python_version <= \"3.11\" or python_version >= \"3.12\"" files = [ {file = "requests-2.32.3-py3-none-any.whl", hash = "sha256:70761cfe03c773ceb22aa2f671b4757976145175cdfca038c02654d061d6dcc6"}, {file = "requests-2.32.3.tar.gz", hash = "sha256:55365417734eb18255590a9ff9eb97e9e1da868d4ccd6402399eaf68af20a760"}, @@ -4157,7 +4038,6 @@ description = "A utility belt for advanced users of python-requests" optional = false python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*" groups = ["build"] -markers = "python_version <= \"3.11\" or python_version >= \"3.12\"" files = [ {file = "requests-toolbelt-1.0.0.tar.gz", hash = "sha256:7681a0a3d047012b5bdc0ee37d7f8f07ebe76ab08caeccfc3921ce23c88d5bc6"}, {file = "requests_toolbelt-1.0.0-py2.py3-none-any.whl", hash = "sha256:cccfdd665f0a24fcf4726e690f65639d272bb0637b9b92dfd91a5568ccf6bd06"}, @@ -4173,7 +4053,6 @@ description = "A pure python RFC3339 validator" optional = false python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*" groups = ["dev"] -markers = "python_version <= \"3.11\" or python_version >= \"3.12\"" files = [ {file = "rfc3339_validator-0.1.4-py2.py3-none-any.whl", hash = "sha256:24f6ec1eda14ef823da9e36ec7113124b39c04d50a4d3d3a3c2859577e7791fa"}, {file = "rfc3339_validator-0.1.4.tar.gz", hash = "sha256:138a2abdf93304ad60530167e51d2dfb9549521a836871b88d7f4695d0022f6b"}, @@ -4189,7 +4068,6 @@ description = "Validating URI References per RFC 3986" optional = false python-versions = ">=3.7" groups = ["build"] -markers = "python_version <= \"3.11\" or python_version >= \"3.12\"" files = [ {file = "rfc3986-2.0.0-py2.py3-none-any.whl", hash = "sha256:50b1502b60e289cb37883f3dfd34532b8873c7de9f49bb546641ce9cbd256ebd"}, {file = "rfc3986-2.0.0.tar.gz", hash = "sha256:97aacf9dbd4bfd829baad6e6309fa6573aaf1be3f6fa735c8ab05e46cecb261c"}, @@ -4205,7 +4083,6 @@ description = "Pure python rfc3986 validator" optional = false python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*" groups = ["dev"] -markers = "python_version <= \"3.11\" or python_version >= \"3.12\"" files = [ {file = "rfc3986_validator-0.1.1-py2.py3-none-any.whl", hash = "sha256:2f235c432ef459970b4306369336b9d5dbdda31b510ca1e327636e01f528bfa9"}, {file = "rfc3986_validator-0.1.1.tar.gz", hash = "sha256:3d44bde7921b3b9ec3ae4e3adca370438eccebc676456449b145d533b240d055"}, @@ -4218,7 +4095,6 @@ description = "Render rich text, tables, progress bars, syntax highlighting, mar optional = false python-versions = ">=3.8.0" groups = ["build"] -markers = "python_version <= \"3.11\" or python_version >= \"3.12\"" files = [ {file = "rich-13.9.4-py3-none-any.whl", hash = "sha256:6049d5e6ec054bf2779ab3358186963bac2ea89175919d699e378b99738c2a90"}, {file = "rich-13.9.4.tar.gz", hash = "sha256:439594978a49a09530cff7ebc4b5c7103ef57baf48d5ea3184f21d9a2befa098"}, @@ -4239,7 +4115,6 @@ description = "Python bindings to Rust's persistent data structures (rpds)" optional = false python-versions = ">=3.8" groups = ["dev", "docs"] -markers = "python_version <= \"3.11\" or python_version >= \"3.12\"" files = [ {file = "rpds_py-0.20.1-cp310-cp310-macosx_10_12_x86_64.whl", hash = "sha256:a649dfd735fff086e8a9d0503a9f0c7d01b7912a333c7ae77e1515c08c146dad"}, {file = "rpds_py-0.20.1-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:f16bc1334853e91ddaaa1217045dd7be166170beec337576818461268a3de67f"}, @@ -4353,7 +4228,7 @@ description = "Fundamental algorithms for scientific computing in Python" optional = false python-versions = "<3.12,>=3.8" groups = ["main"] -markers = "python_version < \"3.9\"" +markers = "python_version == \"3.8\"" files = [ {file = "scipy-1.10.0-cp310-cp310-macosx_10_15_x86_64.whl", hash = "sha256:b901b423c91281a974f6cd1c36f5c6c523e665b5a6d5e80fcb2334e14670eefd"}, {file = "scipy-1.10.0-cp310-cp310-macosx_12_0_arm64.whl", hash = "sha256:16ba05d3d1b9f2141004f3f36888e05894a525960b07f4c2bfc0456b955a00be"}, @@ -4393,7 +4268,7 @@ description = "Fundamental algorithms for scientific computing in Python" optional = false python-versions = ">=3.9" groups = ["main"] -markers = "python_version >= \"3.9\" and python_version <= \"3.11\" or python_version >= \"3.12\" and python_version < \"3.13\"" +markers = "python_version == \"3.10\" or python_version == \"3.11\" or python_version == \"3.12\" or python_version == \"3.9\"" files = [ {file = "scipy-1.13.1-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:20335853b85e9a49ff7572ab453794298bcf0354d8068c5f6775a0eabf350aca"}, {file = "scipy-1.13.1-cp310-cp310-macosx_12_0_arm64.whl", hash = "sha256:d605e9c23906d1994f55ace80e0125c587f96c020037ea6aa98d01b4bd2e222f"}, @@ -4487,7 +4362,7 @@ numpy = ">=1.23.5,<2.5" [package.extras] dev = ["cython-lint (>=0.12.2)", "doit (>=0.36.0)", "mypy (==1.10.0)", "pycodestyle", "pydevtool", "rich-click", "ruff (>=0.0.292)", "types-psutil", "typing_extensions"] doc = ["intersphinx_registry", "jupyterlite-pyodide-kernel", "jupyterlite-sphinx (>=0.16.5)", "jupytext", "matplotlib (>=3.5)", "myst-nb", "numpydoc", "pooch", "pydata-sphinx-theme (>=0.15.2)", "sphinx (>=5.0.0,<8.0.0)", "sphinx-copybutton", "sphinx-design (>=0.4.0)"] -test = ["Cython", "array-api-strict (>=2.0,<2.1.1)", "asv", "gmpy2", "hypothesis (>=6.30)", "meson", "mpmath", "ninja", "pooch", "pytest", "pytest-cov", "pytest-timeout", "pytest-xdist", "scikit-umfpack", "threadpoolctl"] +test = ["Cython", "array-api-strict (>=2.0,<2.1.1)", "asv", "gmpy2", "hypothesis (>=6.30)", "meson", "mpmath", "ninja ; sys_platform != \"emscripten\"", "pooch", "pytest", "pytest-cov", "pytest-timeout", "pytest-xdist", "scikit-umfpack", "threadpoolctl"] [[package]] name = "secretstorage" @@ -4496,7 +4371,7 @@ description = "Python bindings to FreeDesktop.org Secret Service API" optional = false python-versions = ">=3.6" groups = ["build"] -markers = "sys_platform == \"linux\" and (platform_machine != \"ppc64le\" and platform_machine != \"s390x\" or python_version <= \"3.11\") and (python_version <= \"3.11\" or python_version >= \"3.12\") and (platform_machine == \"arm64\" or platform_machine == \"aarch64\" or platform_machine != \"ppc64le\" and platform_machine != \"s390x\") and (platform_machine == \"arm64\" or platform_machine == \"aarch64\" or platform_system != \"Linux\" or platform_machine != \"ppc64le\" and platform_machine != \"s390x\" and platform_machine != \"aarch64\" or python_version >= \"3.9\") and (platform_machine == \"arm64\" or platform_machine == \"aarch64\" or platform_system != \"Darwin\" or platform_machine != \"ppc64le\" and platform_machine != \"s390x\" and platform_machine != \"arm64\" or python_version >= \"3.9\")" +markers = "platform_machine != \"ppc64le\" and platform_machine != \"s390x\" and sys_platform == \"linux\"" files = [ {file = "SecretStorage-3.3.3-py3-none-any.whl", hash = "sha256:f356e6628222568e3af06f2eba8df495efa13b3b63081dafd4f7d9a7b7bc9f99"}, {file = "SecretStorage-3.3.3.tar.gz", hash = "sha256:2403533ef369eca6d2ba81718576c5e0f564d5cca1b58f73a8b23e7d4eeebd77"}, @@ -4513,16 +4388,15 @@ description = "Send file to trash natively under Mac OS X, Windows and Linux" optional = false python-versions = "!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*,!=3.4.*,!=3.5.*,>=2.7" groups = ["dev"] -markers = "python_version <= \"3.11\" or python_version >= \"3.12\"" files = [ {file = "Send2Trash-1.8.3-py3-none-any.whl", hash = "sha256:0c31227e0bd08961c7665474a3d1ef7193929fedda4233843689baa056be46c9"}, {file = "Send2Trash-1.8.3.tar.gz", hash = "sha256:b18e7a3966d99871aefeb00cfbcfdced55ce4871194810fc71f4aa484b953abf"}, ] [package.extras] -nativelib = ["pyobjc-framework-Cocoa", "pywin32"] -objc = ["pyobjc-framework-Cocoa"] -win32 = ["pywin32"] +nativelib = ["pyobjc-framework-Cocoa ; sys_platform == \"darwin\"", "pywin32 ; sys_platform == \"win32\""] +objc = ["pyobjc-framework-Cocoa ; sys_platform == \"darwin\""] +win32 = ["pywin32 ; sys_platform == \"win32\""] [[package]] name = "setuptools" @@ -4531,20 +4405,19 @@ description = "Easily download, build, install, upgrade, and uninstall Python pa optional = false python-versions = ">=3.8" groups = ["dev"] -markers = "python_version <= \"3.11\" or python_version >= \"3.12\"" files = [ {file = "setuptools-75.3.0-py3-none-any.whl", hash = "sha256:f2504966861356aa38616760c0f66568e535562374995367b4e69c7143cf6bcd"}, {file = "setuptools-75.3.0.tar.gz", hash = "sha256:fba5dd4d766e97be1b1681d98712680ae8f2f26d7881245f2ce9e40714f1a686"}, ] [package.extras] -check = ["pytest-checkdocs (>=2.4)", "pytest-ruff (>=0.2.1)", "ruff (>=0.5.2)"] -core = ["importlib-metadata (>=6)", "importlib-resources (>=5.10.2)", "jaraco.collections", "jaraco.functools", "jaraco.text (>=3.7)", "more-itertools", "more-itertools (>=8.8)", "packaging", "packaging (>=24)", "platformdirs (>=4.2.2)", "tomli (>=2.0.1)", "wheel (>=0.43.0)"] +check = ["pytest-checkdocs (>=2.4)", "pytest-ruff (>=0.2.1) ; sys_platform != \"cygwin\"", "ruff (>=0.5.2) ; sys_platform != \"cygwin\""] +core = ["importlib-metadata (>=6) ; python_version < \"3.10\"", "importlib-resources (>=5.10.2) ; python_version < \"3.9\"", "jaraco.collections", "jaraco.functools", "jaraco.text (>=3.7)", "more-itertools", "more-itertools (>=8.8)", "packaging", "packaging (>=24)", "platformdirs (>=4.2.2)", "tomli (>=2.0.1) ; python_version < \"3.11\"", "wheel (>=0.43.0)"] cover = ["pytest-cov"] doc = ["furo", "jaraco.packaging (>=9.3)", "jaraco.tidelift (>=1.4)", "pygments-github-lexers (==0.0.5)", "pyproject-hooks (!=1.1)", "rst.linker (>=1.9)", "sphinx (>=3.5)", "sphinx-favicon", "sphinx-inline-tabs", "sphinx-lint", "sphinx-notfound-page (>=1,<2)", "sphinx-reredirects", "sphinxcontrib-towncrier", "towncrier (<24.7)"] enabler = ["pytest-enabler (>=2.2)"] -test = ["build[virtualenv] (>=1.0.3)", "filelock (>=3.4.0)", "ini2toml[lite] (>=0.14)", "jaraco.develop (>=7.21)", "jaraco.envs (>=2.2)", "jaraco.path (>=3.2.0)", "jaraco.test (>=5.5)", "packaging (>=23.2)", "pip (>=19.1)", "pyproject-hooks (!=1.1)", "pytest (>=6,!=8.1.*)", "pytest-home (>=0.5)", "pytest-perf", "pytest-subprocess", "pytest-timeout", "pytest-xdist (>=3)", "tomli-w (>=1.0.0)", "virtualenv (>=13.0.0)", "wheel (>=0.44.0)"] -type = ["importlib-metadata (>=7.0.2)", "jaraco.develop (>=7.21)", "mypy (==1.12.*)", "pytest-mypy"] +test = ["build[virtualenv] (>=1.0.3)", "filelock (>=3.4.0)", "ini2toml[lite] (>=0.14)", "jaraco.develop (>=7.21) ; python_version >= \"3.9\" and sys_platform != \"cygwin\"", "jaraco.envs (>=2.2)", "jaraco.path (>=3.2.0)", "jaraco.test (>=5.5)", "packaging (>=23.2)", "pip (>=19.1)", "pyproject-hooks (!=1.1)", "pytest (>=6,!=8.1.*)", "pytest-home (>=0.5)", "pytest-perf ; sys_platform != \"cygwin\"", "pytest-subprocess", "pytest-timeout", "pytest-xdist (>=3)", "tomli-w (>=1.0.0)", "virtualenv (>=13.0.0)", "wheel (>=0.44.0)"] +type = ["importlib-metadata (>=7.0.2) ; python_version < \"3.10\"", "jaraco.develop (>=7.21) ; sys_platform != \"cygwin\"", "mypy (==1.12.*)", "pytest-mypy"] [[package]] name = "six" @@ -4553,7 +4426,6 @@ description = "Python 2 and 3 compatibility utilities" optional = false python-versions = "!=3.0.*,!=3.1.*,!=3.2.*,>=2.7" groups = ["main", "dev", "docs"] -markers = "python_version <= \"3.11\" or python_version >= \"3.12\"" files = [ {file = "six-1.17.0-py2.py3-none-any.whl", hash = "sha256:4721f391ed90541fddacab5acf947aa0d3dc7d27b2e1e8eda2be8970586c3274"}, {file = "six-1.17.0.tar.gz", hash = "sha256:ff70335d468e7eb6ec65b95b99d3a2836546063f63acc5171de367e834932a81"}, @@ -4566,7 +4438,6 @@ description = "A pure Python implementation of a sliding window memory map manag optional = false python-versions = ">=3.7" groups = ["docs"] -markers = "python_version <= \"3.11\" or python_version >= \"3.12\"" files = [ {file = "smmap-5.0.2-py3-none-any.whl", hash = "sha256:b30115f0def7d7531d22a0fb6502488d879e75b260a9db4d0819cfb25403af5e"}, {file = "smmap-5.0.2.tar.gz", hash = "sha256:26ea65a03958fa0c8a1c7e8c7a58fdc77221b8910f6be2131affade476898ad5"}, @@ -4579,7 +4450,6 @@ description = "Sniff out which async library your code is running under" optional = false python-versions = ">=3.7" groups = ["dev"] -markers = "python_version <= \"3.11\" or python_version >= \"3.12\"" files = [ {file = "sniffio-1.3.1-py3-none-any.whl", hash = "sha256:2f6da418d1f1e0fddd844478f41680e794e6051915791a034ff65e5f100525a2"}, {file = "sniffio-1.3.1.tar.gz", hash = "sha256:f4324edc670a0f49750a81b895f35c3adb843cca46f0530f79fc1babb23789dc"}, @@ -4592,7 +4462,6 @@ description = "A modern CSS selector implementation for Beautiful Soup." optional = false python-versions = ">=3.8" groups = ["dev", "docs"] -markers = "python_version <= \"3.11\" or python_version >= \"3.12\"" files = [ {file = "soupsieve-2.6-py3-none-any.whl", hash = "sha256:e72c4ff06e4fb6e4b5a9f0f55fe6e81514581fca1515028625d0f299c602ccc9"}, {file = "soupsieve-2.6.tar.gz", hash = "sha256:e2e68417777af359ec65daac1057404a3c8a5455bb8abc36f1a9866ab1a51abb"}, @@ -4605,7 +4474,6 @@ description = "Extract data from python stack frames and tracebacks for informat optional = false python-versions = "*" groups = ["dev", "docs"] -markers = "python_version <= \"3.11\" or python_version >= \"3.12\"" files = [ {file = "stack_data-0.6.3-py3-none-any.whl", hash = "sha256:d5558e0c25a4cb0853cddad3d77da9891a08cb85dd9f9f91b9f8cd66e511e695"}, {file = "stack_data-0.6.3.tar.gz", hash = "sha256:836a778de4fec4dcd1dcd89ed8abff8a221f58308462e1c4aa2a3cf30148f0b9"}, @@ -4626,7 +4494,6 @@ description = "Tornado websocket backend for the Xterm.js Javascript terminal em optional = false python-versions = ">=3.8" groups = ["dev"] -markers = "python_version <= \"3.11\" or python_version >= \"3.12\"" files = [ {file = "terminado-0.18.1-py3-none-any.whl", hash = "sha256:a4468e1b37bb318f8a86514f65814e1afc977cf29b3992a4500d9dd305dcceb0"}, {file = "terminado-0.18.1.tar.gz", hash = "sha256:de09f2c4b85de4765f7714688fff57d3e75bad1f909b589fde880460c753fd2e"}, @@ -4649,7 +4516,6 @@ description = "A tiny CSS parser" optional = false python-versions = ">=3.7" groups = ["dev", "docs"] -markers = "python_version <= \"3.11\" or python_version >= \"3.12\"" files = [ {file = "tinycss2-1.2.1-py3-none-any.whl", hash = "sha256:2b80a96d41e7c3914b8cda8bc7f705a4d9c49275616e886103dd839dfc847847"}, {file = "tinycss2-1.2.1.tar.gz", hash = "sha256:8cff3a8f066c2ec677c06dbc7b45619804a6938478d9d73c284b29d14ecb0627"}, @@ -4669,7 +4535,7 @@ description = "A lil' TOML parser" optional = false python-versions = ">=3.8" groups = ["build", "dev", "docs"] -markers = "python_version < \"3.11\"" +markers = "python_version == \"3.8\" or python_version == \"3.9\" or python_version == \"3.10\"" files = [ {file = "tomli-2.2.1-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:678e4fa69e4575eb77d103de3df8a895e1591b48e740211bd1067378c69e8249"}, {file = "tomli-2.2.1-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:023aa114dd824ade0100497eb2318602af309e5a55595f76b626d6d9f3b7b0a6"}, @@ -4712,7 +4578,6 @@ description = "Tornado is a Python web framework and asynchronous networking lib optional = false python-versions = ">=3.8" groups = ["dev", "docs"] -markers = "python_version <= \"3.11\" or python_version >= \"3.12\"" files = [ {file = "tornado-6.4.2-cp38-abi3-macosx_10_9_universal2.whl", hash = "sha256:e828cce1123e9e44ae2a50a9de3055497ab1d0aeb440c5ac23064d9e44880da1"}, {file = "tornado-6.4.2-cp38-abi3-macosx_10_9_x86_64.whl", hash = "sha256:072ce12ada169c5b00b7d92a99ba089447ccc993ea2143c9ede887e0937aa803"}, @@ -4734,7 +4599,6 @@ description = "tox is a generic virtualenv management and test command line tool optional = false python-versions = ">=3.8" groups = ["dev"] -markers = "python_version <= \"3.11\" or python_version >= \"3.12\"" files = [ {file = "tox-4.23.2-py3-none-any.whl", hash = "sha256:452bc32bb031f2282881a2118923176445bac783ab97c874b8770ab4c3b76c38"}, {file = "tox-4.23.2.tar.gz", hash = "sha256:86075e00e555df6e82e74cfc333917f91ecb47ffbc868dcafbd2672e332f4a2c"}, @@ -4763,7 +4627,6 @@ description = "Fast, Extensible Progress Meter" optional = false python-versions = ">=3.7" groups = ["main"] -markers = "python_version <= \"3.11\" or python_version >= \"3.12\"" files = [ {file = "tqdm-4.67.1-py3-none-any.whl", hash = "sha256:26445eca388f82e72884e0d580d5464cd801a3ea01e63e5601bdff9ba6a48de2"}, {file = "tqdm-4.67.1.tar.gz", hash = "sha256:f8aef9c52c08c13a65f30ea34f4e5aac3fd1a34959879d7e59e63027286627f2"}, @@ -4786,7 +4649,6 @@ description = "Traitlets Python configuration system" optional = false python-versions = ">=3.8" groups = ["dev", "docs"] -markers = "python_version <= \"3.11\" or python_version >= \"3.12\"" files = [ {file = "traitlets-5.14.3-py3-none-any.whl", hash = "sha256:b74e89e397b1ed28cc831db7aea759ba6640cb3de13090ca145426688ff1ac4f"}, {file = "traitlets-5.14.3.tar.gz", hash = "sha256:9ed0579d3502c94b4b3732ac120375cda96f923114522847de4b3bb98b96b6b7"}, @@ -4803,7 +4665,6 @@ description = "Collection of utilities for publishing packages on PyPI" optional = false python-versions = ">=3.8" groups = ["build"] -markers = "python_version <= \"3.11\" or python_version >= \"3.12\"" files = [ {file = "twine-6.0.1-py3-none-any.whl", hash = "sha256:9c6025b203b51521d53e200f4a08b116dee7500a38591668c6a6033117bdc218"}, {file = "twine-6.0.1.tar.gz", hash = "sha256:36158b09df5406e1c9c1fb8edb24fc2be387709443e7376689b938531582ee27"}, @@ -4831,7 +4692,6 @@ description = "Typing stubs for python-dateutil" optional = false python-versions = ">=3.8" groups = ["dev"] -markers = "python_version <= \"3.11\" or python_version >= \"3.12\"" files = [ {file = "types_python_dateutil-2.9.0.20241206-py3-none-any.whl", hash = "sha256:e248a4bc70a486d3e3ec84d0dc30eec3a5f979d6e7ee4123ae043eedbb987f53"}, {file = "types_python_dateutil-2.9.0.20241206.tar.gz", hash = "sha256:18f493414c26ffba692a72369fea7a154c502646301ebfe3d56a04b3767284cb"}, @@ -4844,7 +4704,7 @@ description = "Backported and Experimental Type Hints for Python 3.8+" optional = false python-versions = ">=3.8" groups = ["build", "dev", "docs"] -markers = "python_version < \"3.11\"" +markers = "python_version == \"3.8\" or python_version == \"3.9\" or python_version == \"3.10\"" files = [ {file = "typing_extensions-4.12.2-py3-none-any.whl", hash = "sha256:04e5ca0351e0f3f85c6853954072df659d0d13fac324d0072316b67d7794700d"}, {file = "typing_extensions-4.12.2.tar.gz", hash = "sha256:1a7ead55c7e559dd4dee8856e3a88b41225abfe1ce8df57b7c13915fe121ffb8"}, @@ -4857,7 +4717,7 @@ description = "Provider of IANA time zone data" optional = true python-versions = ">=2" groups = ["main"] -markers = "(python_version <= \"3.11\" or python_version >= \"3.12\") and extra == \"metrics\"" +markers = "extra == \"metrics\"" files = [ {file = "tzdata-2024.2-py2.py3-none-any.whl", hash = "sha256:a48093786cdcde33cad18c2555e8532f34422074448fbc874186f0abd79565cd"}, {file = "tzdata-2024.2.tar.gz", hash = "sha256:7d85cc416e9382e69095b7bdf4afd9e3880418a2413feec7069d533d6b4e31cc"}, @@ -4870,7 +4730,6 @@ description = "RFC 6570 URI Template Processor" optional = false python-versions = ">=3.7" groups = ["dev"] -markers = "python_version <= \"3.11\" or python_version >= \"3.12\"" files = [ {file = "uri-template-1.3.0.tar.gz", hash = "sha256:0e00f8eb65e18c7de20d595a14336e9f337ead580c70934141624b6d1ffdacc7"}, {file = "uri_template-1.3.0-py3-none-any.whl", hash = "sha256:a44a133ea12d44a0c0f06d7d42a52d71282e77e2f937d8abd5655b8d56fc1363"}, @@ -4886,14 +4745,13 @@ description = "HTTP library with thread-safe connection pooling, file post, and optional = false python-versions = ">=3.8" groups = ["main", "build", "dev", "docs"] -markers = "python_version <= \"3.11\" or python_version >= \"3.12\"" files = [ {file = "urllib3-2.2.3-py3-none-any.whl", hash = "sha256:ca899ca043dcb1bafa3e262d73aa25c465bfb49e0bd9dd5d59f1d0acba2f8fac"}, {file = "urllib3-2.2.3.tar.gz", hash = "sha256:e7d814a81dad81e6caf2ec9fdedb284ecc9c73076b62654547cc64ccdcae26e9"}, ] [package.extras] -brotli = ["brotli (>=1.0.9)", "brotlicffi (>=0.8.0)"] +brotli = ["brotli (>=1.0.9) ; platform_python_implementation == \"CPython\"", "brotlicffi (>=0.8.0) ; platform_python_implementation != \"CPython\""] h2 = ["h2 (>=4,<5)"] socks = ["pysocks (>=1.5.6,!=1.5.7,<2.0)"] zstd = ["zstandard (>=0.18.0)"] @@ -4905,7 +4763,6 @@ description = "Flexible version handling" optional = false python-versions = "*" groups = ["docs"] -markers = "python_version <= \"3.11\" or python_version >= \"3.12\"" files = [ {file = "verspec-0.1.0-py3-none-any.whl", hash = "sha256:741877d5633cc9464c45a469ae2a31e801e6dbbaa85b9675d481cda100f11c31"}, {file = "verspec-0.1.0.tar.gz", hash = "sha256:c4504ca697b2056cdb4bfa7121461f5a0e81809255b41c03dda4ba823637c01e"}, @@ -4921,7 +4778,6 @@ description = "Virtual Python Environment builder" optional = false python-versions = ">=3.8" groups = ["dev"] -markers = "python_version <= \"3.11\" or python_version >= \"3.12\"" files = [ {file = "virtualenv-20.28.1-py3-none-any.whl", hash = "sha256:412773c85d4dab0409b83ec36f7a6499e72eaf08c80e81e9576bca61831c71cb"}, {file = "virtualenv-20.28.1.tar.gz", hash = "sha256:5d34ab240fdb5d21549b76f9e8ff3af28252f5499fb6d6f031adac4e5a8c5329"}, @@ -4934,7 +4790,7 @@ platformdirs = ">=3.9.1,<5" [package.extras] docs = ["furo (>=2023.7.26)", "proselint (>=0.13)", "sphinx (>=7.1.2,!=7.3)", "sphinx-argparse (>=0.4)", "sphinxcontrib-towncrier (>=0.2.1a0)", "towncrier (>=23.6)"] -test = ["covdefaults (>=2.3)", "coverage (>=7.2.7)", "coverage-enable-subprocess (>=1)", "flaky (>=3.7)", "packaging (>=23.1)", "pytest (>=7.4)", "pytest-env (>=0.8.2)", "pytest-freezer (>=0.4.8)", "pytest-mock (>=3.11.1)", "pytest-randomly (>=3.12)", "pytest-timeout (>=2.1)", "setuptools (>=68)", "time-machine (>=2.10)"] +test = ["covdefaults (>=2.3)", "coverage (>=7.2.7)", "coverage-enable-subprocess (>=1)", "flaky (>=3.7)", "packaging (>=23.1)", "pytest (>=7.4)", "pytest-env (>=0.8.2)", "pytest-freezer (>=0.4.8) ; platform_python_implementation == \"PyPy\" or platform_python_implementation == \"CPython\" and sys_platform == \"win32\" and python_version >= \"3.13\"", "pytest-mock (>=3.11.1)", "pytest-randomly (>=3.12)", "pytest-timeout (>=2.1)", "setuptools (>=68)", "time-machine (>=2.10) ; platform_python_implementation == \"CPython\""] [[package]] name = "watchdog" @@ -4943,7 +4799,6 @@ description = "Filesystem events monitoring" optional = false python-versions = ">=3.8" groups = ["docs"] -markers = "python_version <= \"3.11\" or python_version >= \"3.12\"" files = [ {file = "watchdog-4.0.2-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:ede7f010f2239b97cc79e6cb3c249e72962404ae3865860855d5cbe708b0fd22"}, {file = "watchdog-4.0.2-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:a2cffa171445b0efa0726c561eca9a27d00a1f2b83846dbd5a4f639c4f8ca8e1"}, @@ -4992,7 +4847,6 @@ description = "Measures the displayed width of unicode strings in a terminal" optional = false python-versions = "*" groups = ["dev", "docs"] -markers = "python_version <= \"3.11\" or python_version >= \"3.12\"" files = [ {file = "wcwidth-0.2.13-py2.py3-none-any.whl", hash = "sha256:3da69048e4540d84af32131829ff948f1e022c1c6bdb8d6102117aac784f6859"}, {file = "wcwidth-0.2.13.tar.gz", hash = "sha256:72ea0c06399eb286d978fdedb6923a9eb47e1c486ce63e9b4e64fc18303972b5"}, @@ -5005,7 +4859,6 @@ description = "A library for working with the color formats defined by HTML and optional = false python-versions = ">=3.8" groups = ["dev"] -markers = "python_version <= \"3.11\" or python_version >= \"3.12\"" files = [ {file = "webcolors-24.8.0-py3-none-any.whl", hash = "sha256:fc4c3b59358ada164552084a8ebee637c221e4059267d0f8325b3b560f6c7f0a"}, {file = "webcolors-24.8.0.tar.gz", hash = "sha256:08b07af286a01bcd30d583a7acadf629583d1f79bfef27dd2c2c5c263817277d"}, @@ -5022,7 +4875,6 @@ description = "Character encoding aliases for legacy web content" optional = false python-versions = "*" groups = ["dev", "docs"] -markers = "python_version <= \"3.11\" or python_version >= \"3.12\"" files = [ {file = "webencodings-0.5.1-py2.py3-none-any.whl", hash = "sha256:a0af1213f3c2226497a97e2b3aa01a7e4bee4f403f95be16fc9acd2947514a78"}, {file = "webencodings-0.5.1.tar.gz", hash = "sha256:b36a1c245f2d304965eb4e0a82848379241dc04b865afcc4aab16748587e1923"}, @@ -5035,7 +4887,6 @@ description = "WebSocket client for Python with low level API options" optional = false python-versions = ">=3.8" groups = ["dev"] -markers = "python_version <= \"3.11\" or python_version >= \"3.12\"" files = [ {file = "websocket_client-1.8.0-py3-none-any.whl", hash = "sha256:17b44cc997f5c498e809b22cdf2d9c7a9e71c02c8cc2b6c56e7c2d1239bfa526"}, {file = "websocket_client-1.8.0.tar.gz", hash = "sha256:3239df9f44da632f96012472805d40a23281a991027ce11d2f45a6f24ac4c3da"}, @@ -5053,11 +4904,11 @@ description = "A built-package format for Python" optional = false python-versions = ">=3.8" groups = ["build", "docs"] -markers = "python_version <= \"3.11\" or python_version >= \"3.12\"" files = [ {file = "wheel-0.45.1-py3-none-any.whl", hash = "sha256:708e7481cc80179af0e556bbf0cc00b8444c7321e2700b8d8580231d13017248"}, {file = "wheel-0.45.1.tar.gz", hash = "sha256:661e1abd9198507b1409a20c02106d9670b2576e916d58f520316666abca6729"}, ] +markers = {docs = "python_version == \"3.8\""} [package.extras] test = ["pytest (>=6.0.0)", "setuptools (>=65)"] @@ -5069,7 +4920,6 @@ description = "Jupyter interactive widgets for Jupyter Notebook" optional = false python-versions = ">=3.7" groups = ["dev"] -markers = "python_version <= \"3.11\" or python_version >= \"3.12\"" files = [ {file = "widgetsnbextension-4.0.13-py3-none-any.whl", hash = "sha256:74b2692e8500525cc38c2b877236ba51d34541e6385eeed5aec15a70f88a6c71"}, {file = "widgetsnbextension-4.0.13.tar.gz", hash = "sha256:ffcb67bc9febd10234a362795f643927f4e0c05d9342c727b65d2384f8feacb6"}, @@ -5086,14 +4936,14 @@ files = [ {file = "zipp-3.20.2-py3-none-any.whl", hash = "sha256:a817ac80d6cf4b23bf7f2828b7cabf326f15a001bea8b1f9b49631780ba28350"}, {file = "zipp-3.20.2.tar.gz", hash = "sha256:bc9eb26f4506fda01b81bcde0ca78103b6e62f991b381fec825435c836edbc29"}, ] -markers = {main = "python_version < \"3.10\"", build = "python_version <= \"3.11\" and (python_full_version < \"3.10.2\" or platform_machine != \"ppc64le\" and platform_machine != \"s390x\")", dev = "python_version < \"3.10\"", docs = "python_version <= \"3.11\" or python_version >= \"3.12\""} +markers = {main = "python_version == \"3.8\" or python_version == \"3.9\"", build = "python_version == \"3.8\" or python_version == \"3.9\" or python_version == \"3.10\" and platform_machine != \"ppc64le\" and platform_machine != \"s390x\" or python_version == \"3.10\" and python_full_version < \"3.10.2\" or python_version == \"3.11\" and platform_machine != \"ppc64le\" and platform_machine != \"s390x\"", dev = "python_version == \"3.8\" or python_version == \"3.9\""} [package.extras] -check = ["pytest-checkdocs (>=2.4)", "pytest-ruff (>=0.2.1)"] +check = ["pytest-checkdocs (>=2.4)", "pytest-ruff (>=0.2.1) ; sys_platform != \"cygwin\""] cover = ["pytest-cov"] doc = ["furo", "jaraco.packaging (>=9.3)", "jaraco.tidelift (>=1.4)", "rst.linker (>=1.9)", "sphinx (>=3.5)", "sphinx-lint"] enabler = ["pytest-enabler (>=2.2)"] -test = ["big-O", "importlib-resources", "jaraco.functools", "jaraco.itertools", "jaraco.test", "more-itertools", "pytest (>=6,!=8.1.*)", "pytest-ignore-flaky"] +test = ["big-O", "importlib-resources ; python_version < \"3.9\"", "jaraco.functools", "jaraco.itertools", "jaraco.test", "more-itertools", "pytest (>=6,!=8.1.*)", "pytest-ignore-flaky"] type = ["pytest-mypy"] [extras] @@ -5102,4 +4952,4 @@ metrics = ["pandas", "pandas"] [metadata] lock-version = "2.1" python-versions = ">=3.8" -content-hash = "d47160f903210fd29e15d3eb43b663f0c40004b1a5853395de597b68f9bb56ab" +content-hash = "9034d99107ccba333943204df5ce53d2689558da24d2a9e960314315660def45" From 2d48c5dba7428ba87327985737421857dafd4cc6 Mon Sep 17 00:00:00 2001 From: SkalskiP Date: Tue, 18 Feb 2025 10:20:29 +0100 Subject: [PATCH 130/420] fix line length --- supervision/detection/lmm.py | 16 ++++++++++------ test/detection/test_lmm.py | 15 +++++++++++---- 2 files changed, 21 insertions(+), 10 deletions(-) diff --git a/supervision/detection/lmm.py b/supervision/detection/lmm.py index 5739a666a3..ddbfccecd6 100644 --- a/supervision/detection/lmm.py +++ b/supervision/detection/lmm.py @@ -79,19 +79,21 @@ def from_paligemma( result: str, resolution_wh: Tuple[int, int], classes: Optional[List[str]] = None ) -> Tuple[np.ndarray, Optional[np.ndarray], np.ndarray]: """ - Parse bounding boxes from paligemma-formatted text, scale them to the specified resolution, - and optionally filter by classes. + Parse bounding boxes from paligemma-formatted text, scale them to the specified + resolution, and optionally filter by classes. Args: result: String containing paligemma-formatted locations and labels. resolution_wh: Tuple (width, height) to which we scale the box coordinates. - classes: Optional list of valid class names. If provided, boxes and labels not in this list are filtered out. + classes: Optional list of valid class names. If provided, boxes and labels not + in this list are filtered out. Returns: xyxy (np.ndarray): An array of shape `(n, 4)` containing the bounding boxes coordinates in format `[x1, y1, x2, y2]`. class_id (Optional[np.ndarray]): An array of shape `(n,)` containing - the class indices for each bounding box (or `None` if classes is not provided). + the class indices for each bounding box (or `None` if classes is not + provided). class_name (np.ndarray): An array of shape `(n,)` containing the class labels for each bounding box. """ @@ -144,7 +146,8 @@ def from_qwen_2_5_vl( Args: result: String containing the JSON snippet enclosed by triple backticks. - input_wh: (input_width, input_height) describing the original bounding box scale. + input_wh: (input_width, input_height) describing the original bounding box + scale. resolution_wh: (output_width, output_height) to which we rescale the boxes. classes: Optional list of valid class names. If provided, returned boxes/labels are filtered to only those classes found here. @@ -153,7 +156,8 @@ def from_qwen_2_5_vl( xyxy (np.ndarray): An array of shape `(n, 4)` containing the bounding boxes coordinates in format `[x1, y1, x2, y2]` class_id (Optional[np.ndarray]): An array of shape `(n,)` containing - the class indices for each bounding box (or None if `classes` is not provided) + the class indices for each bounding box (or None if `classes` is not + provided) class_name (np.ndarray): An array of shape `(n,)` containing the class labels for each bounding box """ diff --git a/test/detection/test_lmm.py b/test/detection/test_lmm.py index 69a82a4471..8e3c5ce2bb 100644 --- a/test/detection/test_lmm.py +++ b/test/detection/test_lmm.py @@ -123,7 +123,8 @@ ), # correct class filter ( does_not_raise(), - " cat ; dog", + " cat ; " + " dog", (1000, 1000), ["cat", "dog"], ( @@ -134,7 +135,8 @@ ), # multiple correct boxes, classes ( does_not_raise(), - " cat ; cat", + " cat ; " + " cat", (1000, 1000), ["cat", "dog"], ( @@ -145,7 +147,8 @@ ), # partial valid boxes ( does_not_raise(), - " cat ; cat", + " cat ; " + " cat", (1000, 1000), ["cat", "dog"], ( @@ -270,7 +273,11 @@ def test_from_paligemma( (640, 640), (1280, 720), ["cat", "dog"], - (np.empty((0, 4)), np.empty(0, dtype=int), np.empty(0, dtype=str)), + ( + np.empty((0, 4)), + np.empty(0, dtype=int), + np.empty(0, dtype=str) + ), ), # class mismatch ( does_not_raise(), From 47295cd5f7a361f6262cb7ee167551d1fc7e356e Mon Sep 17 00:00:00 2001 From: "pre-commit-ci[bot]" <66853113+pre-commit-ci[bot]@users.noreply.github.com> Date: Tue, 18 Feb 2025 09:20:51 +0000 Subject: [PATCH 131/420] =?UTF-8?q?fix(pre=5Fcommit):=20=F0=9F=8E=A8=20aut?= =?UTF-8?q?o=20format=20pre-commit=20hooks?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- test/detection/test_lmm.py | 6 +----- 1 file changed, 1 insertion(+), 5 deletions(-) diff --git a/test/detection/test_lmm.py b/test/detection/test_lmm.py index 8e3c5ce2bb..223c4f7f45 100644 --- a/test/detection/test_lmm.py +++ b/test/detection/test_lmm.py @@ -273,11 +273,7 @@ def test_from_paligemma( (640, 640), (1280, 720), ["cat", "dog"], - ( - np.empty((0, 4)), - np.empty(0, dtype=int), - np.empty(0, dtype=str) - ), + (np.empty((0, 4)), np.empty(0, dtype=int), np.empty(0, dtype=str)), ), # class mismatch ( does_not_raise(), From e804a01e85a4ebca784bf3af296ee0718e12c409 Mon Sep 17 00:00:00 2001 From: "pre-commit-ci[bot]" <66853113+pre-commit-ci[bot]@users.noreply.github.com> Date: Tue, 18 Feb 2025 11:52:42 +0000 Subject: [PATCH 132/420] =?UTF-8?q?fix(pre=5Fcommit):=20=F0=9F=8E=A8=20aut?= =?UTF-8?q?o=20format=20pre-commit=20hooks?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../count_people_in_zone/inference_example.py | 4 +--- .../ultralytics_example.py | 4 +--- supervision/__init__.py | 2 +- supervision/annotators/core.py | 1 - supervision/detection/core.py | 21 +++++++++++-------- 5 files changed, 15 insertions(+), 17 deletions(-) diff --git a/examples/count_people_in_zone/inference_example.py b/examples/count_people_in_zone/inference_example.py index e040a03640..38018c160f 100644 --- a/examples/count_people_in_zone/inference_example.py +++ b/examples/count_people_in_zone/inference_example.py @@ -35,9 +35,7 @@ def load_zones_config(file_path: str) -> List[np.ndarray]: def initiate_annotators( polygons: List[np.ndarray], resolution_wh: Tuple[int, int] -) -> Tuple[ - List[sv.PolygonZone], List[sv.PolygonZoneAnnotator], List[sv.BoxAnnotator] -]: +) -> Tuple[List[sv.PolygonZone], List[sv.PolygonZoneAnnotator], List[sv.BoxAnnotator]]: line_thickness = sv.calculate_optimal_line_thickness(resolution_wh=resolution_wh) text_scale = sv.calculate_optimal_text_scale(resolution_wh=resolution_wh) diff --git a/examples/count_people_in_zone/ultralytics_example.py b/examples/count_people_in_zone/ultralytics_example.py index f8d03fa417..041695973a 100644 --- a/examples/count_people_in_zone/ultralytics_example.py +++ b/examples/count_people_in_zone/ultralytics_example.py @@ -33,9 +33,7 @@ def load_zones_config(file_path: str) -> List[np.ndarray]: def initiate_annotators( polygons: List[np.ndarray], resolution_wh: Tuple[int, int] -) -> Tuple[ - List[sv.PolygonZone], List[sv.PolygonZoneAnnotator], List[sv.BoxAnnotator] -]: +) -> Tuple[List[sv.PolygonZone], List[sv.PolygonZoneAnnotator], List[sv.BoxAnnotator]]: line_thickness = sv.calculate_optimal_line_thickness(resolution_wh=resolution_wh) text_scale = sv.calculate_optimal_text_scale(resolution_wh=resolution_wh) diff --git a/supervision/__init__.py b/supervision/__init__.py index 556e5d092f..2366a83c40 100644 --- a/supervision/__init__.py +++ b/supervision/__init__.py @@ -45,7 +45,6 @@ LineZoneAnnotator, LineZoneAnnotatorMulticlass, ) -from supervision.detection.vlm import LMM, VLM from supervision.detection.overlap_filter import ( OverlapFilter, box_non_max_merge, @@ -78,6 +77,7 @@ xywh_to_xyxy, xyxy_to_polygons, ) +from supervision.detection.vlm import LMM, VLM from supervision.draw.color import Color, ColorPalette from supervision.draw.utils import ( calculate_optimal_line_thickness, diff --git a/supervision/annotators/core.py b/supervision/annotators/core.py index 49ce45ecbd..4590ad96b7 100644 --- a/supervision/annotators/core.py +++ b/supervision/annotators/core.py @@ -36,7 +36,6 @@ overlay_image, scale_image, ) -from supervision.utils.internal import deprecated CV2_FONT = cv2.FONT_HERSHEY_SIMPLEX diff --git a/supervision/detection/core.py b/supervision/detection/core.py index f50c6190a2..81f0e75f04 100644 --- a/supervision/detection/core.py +++ b/supervision/detection/core.py @@ -9,12 +9,6 @@ CLASS_NAME_DATA_FIELD, ORIENTED_BOX_COORDINATES, ) -from supervision.detection.vlm import ( - LMM, - from_florence_2, - from_paligemma, - validate_vlm_parameters, VLM, -) from supervision.detection.overlap_filter import ( box_non_max_merge, box_non_max_suppression, @@ -38,8 +32,15 @@ process_roboflow_result, xywh_to_xyxy, ) +from supervision.detection.vlm import ( + LMM, + VLM, + from_florence_2, + from_paligemma, + validate_vlm_parameters, +) from supervision.geometry.core import Position -from supervision.utils.internal import get_instance_variables, deprecated +from supervision.utils.internal import deprecated, get_instance_variables from supervision.validators import validate_detections_fields @@ -845,7 +846,7 @@ def from_lmm( lmm_to_vlm = { LMM.PALIGEMMA: VLM.PALIGEMMA, LMM.FLORENCE_2: VLM.FLORENCE_2, - LMM.QWEN_2_5_VL: VLM.QWEN_2_5_VL + LMM.QWEN_2_5_VL: VLM.QWEN_2_5_VL, } if isinstance(lmm, LMM): @@ -869,7 +870,9 @@ def from_lmm( return cls.from_vlm(vlm=vlm, result=result, **kwargs) @classmethod - def from_vlm(cls, vlm: Union[VLM, str], result: Union[str, dict], **kwargs: Any) -> Detections: + def from_vlm( + cls, vlm: Union[VLM, str], result: Union[str, dict], **kwargs: Any + ) -> Detections: vlm = validate_vlm_parameters(vlm, result, kwargs) if vlm == VLM.PALIGEMMA: From 4e41e9b34f9e7ecb70c47108f8d16c547aa538eb Mon Sep 17 00:00:00 2001 From: SkalskiP Date: Tue, 18 Feb 2025 13:41:44 +0100 Subject: [PATCH 133/420] fix `sv.Detections.from_lmm` and `sv.Detections.from_vlm` --- supervision/detection/core.py | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/supervision/detection/core.py b/supervision/detection/core.py index f50c6190a2..cb62302643 100644 --- a/supervision/detection/core.py +++ b/supervision/detection/core.py @@ -13,7 +13,7 @@ LMM, from_florence_2, from_paligemma, - validate_vlm_parameters, VLM, + validate_vlm_parameters, VLM, from_qwen_2_5_vl, ) from supervision.detection.overlap_filter import ( box_non_max_merge, @@ -848,18 +848,18 @@ def from_lmm( LMM.QWEN_2_5_VL: VLM.QWEN_2_5_VL } - if isinstance(lmm, LMM): + if lmm in LMM: vlm = lmm_to_vlm[lmm] elif isinstance(lmm, str): try: - lmm_parsed = LMM(lmm.lower()) + lmm_enum = LMM(lmm.lower()) except ValueError: raise ValueError( f"Invalid LMM string '{lmm}'. Must be one of " f"{[m.value for m in LMM]}" ) - vlm = lmm_to_vlm[lmm_parsed] + vlm = lmm_to_vlm[lmm_enum] else: raise ValueError( @@ -878,7 +878,7 @@ def from_vlm(cls, vlm: Union[VLM, str], result: Union[str, dict], **kwargs: Any) return cls(xyxy=xyxy, class_id=class_id, data=data) if vlm == VLM.QWEN_2_5_VL: - xyxy, class_id, class_name = from_paligemma(result, **kwargs) + xyxy, class_id, class_name = from_qwen_2_5_vl(result, **kwargs) data = {CLASS_NAME_DATA_FIELD: class_name} return cls(xyxy=xyxy, class_id=class_id, data=data) From f906a2978fc891444e139301df9b0c764cb6d199 Mon Sep 17 00:00:00 2001 From: "pre-commit-ci[bot]" <66853113+pre-commit-ci[bot]@users.noreply.github.com> Date: Tue, 18 Feb 2025 12:43:55 +0000 Subject: [PATCH 134/420] =?UTF-8?q?fix(pre=5Fcommit):=20=F0=9F=8E=A8=20aut?= =?UTF-8?q?o=20format=20pre-commit=20hooks?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- supervision/detection/core.py | 22 +++++++++++++--------- 1 file changed, 13 insertions(+), 9 deletions(-) diff --git a/supervision/detection/core.py b/supervision/detection/core.py index cb62302643..530f7cfaf9 100644 --- a/supervision/detection/core.py +++ b/supervision/detection/core.py @@ -9,12 +9,6 @@ CLASS_NAME_DATA_FIELD, ORIENTED_BOX_COORDINATES, ) -from supervision.detection.vlm import ( - LMM, - from_florence_2, - from_paligemma, - validate_vlm_parameters, VLM, from_qwen_2_5_vl, -) from supervision.detection.overlap_filter import ( box_non_max_merge, box_non_max_suppression, @@ -38,8 +32,16 @@ process_roboflow_result, xywh_to_xyxy, ) +from supervision.detection.vlm import ( + LMM, + VLM, + from_florence_2, + from_paligemma, + from_qwen_2_5_vl, + validate_vlm_parameters, +) from supervision.geometry.core import Position -from supervision.utils.internal import get_instance_variables, deprecated +from supervision.utils.internal import deprecated, get_instance_variables from supervision.validators import validate_detections_fields @@ -845,7 +847,7 @@ def from_lmm( lmm_to_vlm = { LMM.PALIGEMMA: VLM.PALIGEMMA, LMM.FLORENCE_2: VLM.FLORENCE_2, - LMM.QWEN_2_5_VL: VLM.QWEN_2_5_VL + LMM.QWEN_2_5_VL: VLM.QWEN_2_5_VL, } if lmm in LMM: @@ -869,7 +871,9 @@ def from_lmm( return cls.from_vlm(vlm=vlm, result=result, **kwargs) @classmethod - def from_vlm(cls, vlm: Union[VLM, str], result: Union[str, dict], **kwargs: Any) -> Detections: + def from_vlm( + cls, vlm: Union[VLM, str], result: Union[str, dict], **kwargs: Any + ) -> Detections: vlm = validate_vlm_parameters(vlm, result, kwargs) if vlm == VLM.PALIGEMMA: From f180f0f5beb9a8cc8d6bf293a2f8ebe06ba1685a Mon Sep 17 00:00:00 2001 From: SkalskiP Date: Tue, 18 Feb 2025 14:19:53 +0100 Subject: [PATCH 135/420] fix `sv.Detections.from_lmm` --- supervision/detection/core.py | 16 +++++++++------- 1 file changed, 9 insertions(+), 7 deletions(-) diff --git a/supervision/detection/core.py b/supervision/detection/core.py index cb62302643..aaff135320 100644 --- a/supervision/detection/core.py +++ b/supervision/detection/core.py @@ -1,6 +1,7 @@ from __future__ import annotations from dataclasses import dataclass, field +from enum import Enum from typing import Any, Dict, Iterator, List, Optional, Tuple, Union import numpy as np @@ -9,12 +10,6 @@ CLASS_NAME_DATA_FIELD, ORIENTED_BOX_COORDINATES, ) -from supervision.detection.vlm import ( - LMM, - from_florence_2, - from_paligemma, - validate_vlm_parameters, VLM, from_qwen_2_5_vl, -) from supervision.detection.overlap_filter import ( box_non_max_merge, box_non_max_suppression, @@ -38,6 +33,12 @@ process_roboflow_result, xywh_to_xyxy, ) +from supervision.detection.vlm import ( + LMM, + from_florence_2, + from_paligemma, + validate_vlm_parameters, VLM, from_qwen_2_5_vl, +) from supervision.geometry.core import Position from supervision.utils.internal import get_instance_variables, deprecated from supervision.validators import validate_detections_fields @@ -848,7 +849,8 @@ def from_lmm( LMM.QWEN_2_5_VL: VLM.QWEN_2_5_VL } - if lmm in LMM: + # (this works even if the LMM enum is wrapped by @deprecated) + if isinstance(lmm, Enum) and lmm.__class__.__name__ == "LMM": vlm = lmm_to_vlm[lmm] elif isinstance(lmm, str): From 6b48881de7f8a7509055860add25ed7432b8f9c4 Mon Sep 17 00:00:00 2001 From: "pre-commit-ci[bot]" <66853113+pre-commit-ci[bot]@users.noreply.github.com> Date: Tue, 18 Feb 2025 13:21:37 +0000 Subject: [PATCH 136/420] =?UTF-8?q?fix(pre=5Fcommit):=20=F0=9F=8E=A8=20aut?= =?UTF-8?q?o=20format=20pre-commit=20hooks?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- supervision/detection/core.py | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/supervision/detection/core.py b/supervision/detection/core.py index aaff135320..f508dd62be 100644 --- a/supervision/detection/core.py +++ b/supervision/detection/core.py @@ -35,12 +35,14 @@ ) from supervision.detection.vlm import ( LMM, + VLM, from_florence_2, from_paligemma, - validate_vlm_parameters, VLM, from_qwen_2_5_vl, + from_qwen_2_5_vl, + validate_vlm_parameters, ) from supervision.geometry.core import Position -from supervision.utils.internal import get_instance_variables, deprecated +from supervision.utils.internal import deprecated, get_instance_variables from supervision.validators import validate_detections_fields @@ -846,7 +848,7 @@ def from_lmm( lmm_to_vlm = { LMM.PALIGEMMA: VLM.PALIGEMMA, LMM.FLORENCE_2: VLM.FLORENCE_2, - LMM.QWEN_2_5_VL: VLM.QWEN_2_5_VL + LMM.QWEN_2_5_VL: VLM.QWEN_2_5_VL, } # (this works even if the LMM enum is wrapped by @deprecated) @@ -871,7 +873,9 @@ def from_lmm( return cls.from_vlm(vlm=vlm, result=result, **kwargs) @classmethod - def from_vlm(cls, vlm: Union[VLM, str], result: Union[str, dict], **kwargs: Any) -> Detections: + def from_vlm( + cls, vlm: Union[VLM, str], result: Union[str, dict], **kwargs: Any + ) -> Detections: vlm = validate_vlm_parameters(vlm, result, kwargs) if vlm == VLM.PALIGEMMA: From afcd0d6e5a873cde61896bbe915aedeec1c2fac8 Mon Sep 17 00:00:00 2001 From: Onuralp SEZER Date: Tue, 18 Feb 2025 16:39:34 +0300 Subject: [PATCH 137/420] chore: update email address for author and maintainer in pyproject.toml --- pyproject.toml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pyproject.toml b/pyproject.toml index b95f56557b..fdace695f1 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -6,10 +6,10 @@ version = "0.26.0rc3" readme = "README.md" requires-python = ">=3.8" authors = [ - { name = "Piotr Skalski", email = "piotr@roboflow.com" } + { name = "Piotr Skalski", email = "piotr.skalski92@gmail.com" } ] maintainers = [ - { name = "Piotr Skalski", email = "piotr@roboflow.com" }, + { name = "Piotr Skalski", email = "piotr.skalski92@gmail.com" }, ] keywords = [ "machine-learning", From 65b48f6b4a1fbd3361958dab107ef8cae8b407b9 Mon Sep 17 00:00:00 2001 From: Onuralp SEZER Date: Wed, 19 Feb 2025 08:29:05 +0300 Subject: [PATCH 138/420] =?UTF-8?q?feat:=20=E2=9C=A8=20add=20support=20for?= =?UTF-8?q?=20Google=20Gemini=20model=20in=20detection=20module?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Onuralp SEZER --- .pre-commit-config.yaml | 6 +-- supervision/detection/core.py | 73 ++++++++++++++++++++++++++---- supervision/detection/vlm.py | 84 ++++++++++++++++++++++++++++++++--- test/detection/test_vlm.py | 25 ++++++++++- 4 files changed, 169 insertions(+), 19 deletions(-) diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index a4355c4aa0..486726335b 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -25,14 +25,14 @@ repos: - id: mixed-line-ending - repo: https://github.com/PyCQA/bandit - rev: '1.8.0' + rev: '1.8.3' hooks: - id: bandit args: ["-c", "pyproject.toml"] additional_dependencies: ["bandit[toml]"] - repo: https://github.com/astral-sh/ruff-pre-commit - rev: v0.8.6 + rev: v0.9.6 hooks: - id: ruff args: [--fix, --exit-non-zero-on-fix] @@ -48,7 +48,7 @@ repos: # args: ["--number"] - repo: https://github.com/codespell-project/codespell - rev: v2.3.0 + rev: v2.4.1 hooks: - id: codespell additional_dependencies: diff --git a/supervision/detection/core.py b/supervision/detection/core.py index f508dd62be..65549298a7 100644 --- a/supervision/detection/core.py +++ b/supervision/detection/core.py @@ -37,6 +37,7 @@ LMM, VLM, from_florence_2, + from_google_gemini, from_paligemma, from_qwen_2_5_vl, validate_vlm_parameters, @@ -715,7 +716,7 @@ def from_azure_analyze_image( """ if "error" in azure_result: raise ValueError( - f'Azure API returned an error {azure_result["error"]["message"]}' + f"Azure API returned an error {azure_result['error']['message']}" ) xyxy, confidences, class_ids = [], [], [] @@ -843,12 +844,63 @@ def from_lmm( detections.class_id # array([0]) ``` - """ + + Examples: + ```python + from google import genai + from google.genai import types + import supervision as sv + from PIL import Image + + image = Image.open() + client = genai.Client(api_key=) + + system_instructions = ''' + Return bounding boxes as a JSON array with labels and ids. Never return masks or code fencing. Limit to 25 objects. + If an object is present multiple times, name them according to their unique characteristic (colors, size, position, unique characteristics, etc..). + ''' + + safety_settings = [ + types.SafetySetting( + category="HARM_CATEGORY_DANGEROUS_CONTENT", + threshold="BLOCK_ONLY_HIGH", + ), + ] + + response = client.models.generate_content( + model="gemini-2.0-flash-exp", + contents=[prompt, im], + config = types.GenerateContentConfig( + system_instruction=system_instructions, + temperature=0.5, + safety_settings=safety_settings, + ) + ) + + detections = sv.Detections.from_lmm( + sv.LMM.GOOGLE_GEMINI_2_0, + response, + resolution_wh=(1000, 1000), + classes=['cat', 'dog'], + ) + + detections.xyxy + # array([[250., 250., 750., 750.]]) + detections.class_id + # array([0]) + detections.data + # {'class_name': ['cat', 'dog']} + + ``` + + """ # noqa: E501 // docs + # filler logic mapping old from_lmm to new from_vlm lmm_to_vlm = { LMM.PALIGEMMA: VLM.PALIGEMMA, LMM.FLORENCE_2: VLM.FLORENCE_2, LMM.QWEN_2_5_VL: VLM.QWEN_2_5_VL, + LMM.GOOGLE_GEMINI_2_0: VLM.GOOGLE_GEMINI_2_0, } # (this works even if the LMM enum is wrapped by @deprecated) @@ -901,6 +953,11 @@ def from_vlm( return cls(xyxy=xyxy, mask=mask, data=data) + if vlm == VLM.GOOGLE_GEMINI_2_0: + xyxy, class_name = from_google_gemini(result, **kwargs) + data = {CLASS_NAME_DATA_FIELD: class_name} + return cls(xyxy=xyxy, data=data) + @classmethod def from_easyocr(cls, easyocr_results: list) -> Detections: """ @@ -1346,9 +1403,9 @@ def with_nms( if len(self) == 0: return self - assert ( - self.confidence is not None - ), "Detections confidence must be given for NMS to be executed." + assert self.confidence is not None, ( + "Detections confidence must be given for NMS to be executed." + ) if class_agnostic: predictions = np.hstack((self.xyxy, self.confidence.reshape(-1, 1))) @@ -1402,9 +1459,9 @@ def with_nmm( if len(self) == 0: return self - assert ( - self.confidence is not None - ), "Detections confidence must be given for NMM to be executed." + assert self.confidence is not None, ( + "Detections confidence must be given for NMM to be executed." + ) if class_agnostic: predictions = np.hstack((self.xyxy, self.confidence.reshape(-1, 1))) diff --git a/supervision/detection/vlm.py b/supervision/detection/vlm.py index 719dc4438c..43951468cc 100644 --- a/supervision/detection/vlm.py +++ b/supervision/detection/vlm.py @@ -17,30 +17,35 @@ class LMM(Enum): PALIGEMMA = "paligemma" FLORENCE_2 = "florence_2" QWEN_2_5_VL = "qwen_2_5_vl" + GOOGLE_GEMINI_2_0 = "gemini_2_0" class VLM(Enum): PALIGEMMA = "paligemma" FLORENCE_2 = "florence_2" QWEN_2_5_VL = "qwen_2_5_vl" + GOOGLE_GEMINI_2_0 = "gemini_2_0" RESULT_TYPES: Dict[VLM, type] = { VLM.PALIGEMMA: str, VLM.FLORENCE_2: dict, VLM.QWEN_2_5_VL: str, + VLM.GOOGLE_GEMINI_2_0: str, } REQUIRED_ARGUMENTS: Dict[VLM, List[str]] = { VLM.PALIGEMMA: ["resolution_wh"], VLM.FLORENCE_2: ["resolution_wh"], VLM.QWEN_2_5_VL: ["input_wh", "resolution_wh"], + VLM.GOOGLE_GEMINI_2_0: ["resolution_wh"], } ALLOWED_ARGUMENTS: Dict[VLM, List[str]] = { VLM.PALIGEMMA: ["resolution_wh", "classes"], VLM.FLORENCE_2: ["resolution_wh"], VLM.QWEN_2_5_VL: ["input_wh", "resolution_wh", "classes"], + VLM.GOOGLE_GEMINI_2_0: ["resolution_wh"], } SUPPORTED_TASKS_FLORENCE_2 = [ @@ -232,8 +237,9 @@ def from_florence_2( Parse results from the Florence 2 multi-model model. https://huggingface.co/microsoft/Florence-2-large - Parameters: + Args: result: dict containing the model output + resolution_wh: (output_width, output_height) to which we rescale the boxes. Returns: xyxy (np.ndarray): An array of shape `(n, 4)` containing @@ -294,18 +300,18 @@ def from_florence_2( return xyxy, labels, None, None if task in ["", ""]: - assert isinstance( - result, str - ), f"Expected string as result, got {type(result)}" + assert isinstance(result, str), ( + f"Expected string as result, got {type(result)}" + ) if result == "No object detected.": return np.empty((0, 4), dtype=np.float32), np.array([]), None, None pattern = re.compile(r"") match = pattern.search(result) - assert ( - match is not None - ), f"Expected string to end in location tags, but got {result}" + assert match is not None, ( + f"Expected string to end in location tags, but got {result}" + ) w, h = resolution_wh xyxy = np.array([match.groups()], dtype=np.float32) @@ -315,3 +321,67 @@ def from_florence_2( return xyxy, labels, None, None assert False, f"Unimplemented task: {task}" + + +def from_google_gemini( + result: str, + resolution_wh: Tuple[int, int], +) -> Tuple[np.ndarray, np.ndarray]: + """ + Parse and scale bounding boxes from Google Gemini style JSON output. + https://aistudio.google.com/ + https://ai.google.dev/gemini-api/docs/vision?lang=python + + Args: + result: String containing the JSON snippet enclosed by triple backticks. + resolution_wh: (output_width, output_height) to which we rescale the boxes. + + Returns: + xyxy (np.ndarray): An array of shape `(n, 4)` containing + the bounding boxes coordinates in format `[x1, y1, x2, y2]` + labels: (np.ndarray): An array of shape `(n,)` containing + the class labels for each bounding box + + """ + + w, h = resolution_wh + if w <= 0 or h <= 0: + raise ValueError( + f"Both dimensions in resolution_wh must be positive. Got ({w}, {h})." + ) + + lines = result.splitlines() + for i, line in enumerate(lines): + if line == "```json": + result = "\n".join(lines[i + 1 :]) + result = result.split("```")[0] + break + + try: + data = json.loads(result) + except json.JSONDecodeError: + return np.empty((0, 4)), np.empty((0,), dtype=str) + + xyxy = [] + labels_list = [] + for item in data: + if "box_2d" not in item or "label" not in item: + continue + labels_list.append(item["label"]) + abs_y1 = int(item["box_2d"][0] / 1000 * resolution_wh[1]) + abs_x1 = int(item["box_2d"][1] / 1000 * resolution_wh[0]) + abs_y2 = int(item["box_2d"][2] / 1000 * resolution_wh[1]) + abs_x2 = int(item["box_2d"][3] / 1000 * resolution_wh[0]) + + if abs_x1 > abs_x2: + abs_x1, abs_x2 = abs_x2, abs_x1 + + if abs_y1 > abs_y2: + abs_y1, abs_y2 = abs_y2, abs_y1 + + xyxy.append([abs_x1, abs_y1, abs_x2, abs_y2]) + + if not xyxy: + return np.empty((0, 4)), np.empty((0,), dtype=str) + + return np.array(xyxy), np.array(labels_list) diff --git a/test/detection/test_vlm.py b/test/detection/test_vlm.py index c6aae63254..c7121a4944 100644 --- a/test/detection/test_vlm.py +++ b/test/detection/test_vlm.py @@ -4,7 +4,11 @@ import numpy as np import pytest -from supervision.detection.vlm import from_paligemma, from_qwen_2_5_vl +from supervision.detection.vlm import ( + from_google_gemini, + from_paligemma, + from_qwen_2_5_vl, +) @pytest.mark.parametrize( @@ -353,3 +357,22 @@ def test_from_qwen_2_5_vl( np.testing.assert_array_equal(xyxy, expected_results[0]) np.testing.assert_array_equal(class_id, expected_results[1]) np.testing.assert_array_equal(class_name, expected_results[2]) + + +def test_from_google_gemini() -> None: + result = """```json + [ + {"box_2d": [10, 20, 110, 120], "label": "cat"}, + {"box_2d": [50, 100, 150, 200], "label": "dog"} + ] + ```""" + resolution_wh = (640, 480) + xyxy, class_name = from_google_gemini( + result=result, + resolution_wh=resolution_wh, + ) + np.testing.assert_array_equal( + xyxy, + np.array([[12.0, 4.0, 76.0, 52.0], [64.0, 24.0, 128.0, 72.0]]), + ) + np.testing.assert_array_equal(class_name, np.array(["cat", "dog"])) From 0cec129cf079c3d78375b0b9b5d961f067ff0aca Mon Sep 17 00:00:00 2001 From: Onuralp SEZER Date: Wed, 19 Feb 2025 08:29:41 +0300 Subject: [PATCH 139/420] =?UTF-8?q?style:=20=F0=9F=92=84=20improve=20code?= =?UTF-8?q?=20formatting=20and=20readability=20in=20various=20files?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- supervision/detection/overlap_filter.py | 3 +- supervision/metrics/mean_average_recall.py | 3 +- supervision/validators/__init__.py | 2 +- test/detection/test_csv.py | 6 +- test/detection/test_json.py | 6 +- test/detection/test_line_counter.py | 36 +++++----- test/detection/test_utils.py | 36 +++++----- test/detection/tools/test_inference_slicer.py | 6 +- test/utils/test_conversion.py | 72 +++++++++---------- test/utils/test_image.py | 18 ++--- 10 files changed, 93 insertions(+), 95 deletions(-) diff --git a/supervision/detection/overlap_filter.py b/supervision/detection/overlap_filter.py index 4c59295f63..133e2f6d11 100644 --- a/supervision/detection/overlap_filter.py +++ b/supervision/detection/overlap_filter.py @@ -226,8 +226,7 @@ def box_non_max_merge( for merge_group in merge_groups: if len(merge_group) == 0: raise ValueError( - f"Empty group detected when non-max-merging " - f"detections: {merge_groups}" + f"Empty group detected when non-max-merging detections: {merge_groups}" ) return merge_groups diff --git a/supervision/metrics/mean_average_recall.py b/supervision/metrics/mean_average_recall.py index 9c3a407180..464c203a40 100644 --- a/supervision/metrics/mean_average_recall.py +++ b/supervision/metrics/mean_average_recall.py @@ -670,8 +670,7 @@ def plot(self): ax.set_ylim(0, 1) ax.set_ylabel("Value", fontweight="bold") title = ( - f"Mean Average Recall, by Object Size" - f"\n(target: {self.metric_target.value})" + f"Mean Average Recall, by Object Size\n(target: {self.metric_target.value})" ) ax.set_title(title, fontweight="bold") diff --git a/supervision/validators/__init__.py b/supervision/validators/__init__.py index 44cfcb988a..29ac0da9b3 100644 --- a/supervision/validators/__init__.py +++ b/supervision/validators/__init__.py @@ -54,7 +54,7 @@ def validate_confidence(confidence: Any, n: int) -> None: def validate_keypoint_confidence(confidence: Any, n: int, m: int) -> None: - expected_shape = f"({n,m})" + expected_shape = f"({n, m})" actual_shape = str(getattr(confidence, "shape", None)) if confidence is not None: diff --git a/test/detection/test_csv.py b/test/detection/test_csv.py index e141442490..0c51a0e3c1 100644 --- a/test/detection/test_csv.py +++ b/test/detection/test_csv.py @@ -408,8 +408,8 @@ def assert_csv_equal(file_name, expected_rows): with open(file_name, mode="r", newline="") as file: reader = csv.reader(file) for i, row in enumerate(reader): - assert ( - [str(item) for item in expected_rows[i]] == row - ), f"Row in CSV didn't match expected output: {row} != {expected_rows[i]}" + assert [str(item) for item in expected_rows[i]] == row, ( + f"Row in CSV didn't match expected output: {row} != {expected_rows[i]}" + ) os.remove(file_name) diff --git a/test/detection/test_json.py b/test/detection/test_json.py index d5f2492499..b6c8524df0 100644 --- a/test/detection/test_json.py +++ b/test/detection/test_json.py @@ -242,8 +242,8 @@ def test_json_sink( def assert_json_equal(file_name, expected_rows): with open(file_name, "r") as file: data = json.load(file) - assert ( - data == expected_rows - ), f"Data in JSON file didn't match expected output: {data} != {expected_rows}" + assert data == expected_rows, ( + f"Data in JSON file didn't match expected output: {data} != {expected_rows}" + ) os.remove(file_name) diff --git a/test/detection/test_line_counter.py b/test/detection/test_line_counter.py index a140add551..0119cf86ed 100644 --- a/test/detection/test_line_counter.py +++ b/test/detection/test_line_counter.py @@ -250,12 +250,12 @@ def test_line_zone_one_detection_default_anchors( crossed_in_list.append(crossed_in[0]) crossed_out_list.append(crossed_out[0]) - assert ( - crossed_in_list == expected_crossed_in - ), f"expected {expected_crossed_in}, got {crossed_in_list}" - assert ( - crossed_out_list == expected_crossed_out - ), f"expected {expected_crossed_out}, got {crossed_out_list}" + assert crossed_in_list == expected_crossed_in, ( + f"expected {expected_crossed_in}, got {crossed_in_list}" + ) + assert crossed_out_list == expected_crossed_out, ( + f"expected {expected_crossed_out}, got {crossed_out_list}" + ) @pytest.mark.parametrize( @@ -415,12 +415,12 @@ def test_line_zone_one_detection( crossed_in_list.append(crossed_in[0]) crossed_out_list.append(crossed_out[0]) - assert ( - crossed_in_list == expected_crossed_in - ), f"expected {expected_crossed_in}, got {crossed_in_list}" - assert ( - crossed_out_list == expected_crossed_out - ), f"expected {expected_crossed_out}, got {crossed_out_list}" + assert crossed_in_list == expected_crossed_in, ( + f"expected {expected_crossed_in}, got {crossed_in_list}" + ) + assert crossed_out_list == expected_crossed_out, ( + f"expected {expected_crossed_out}, got {crossed_out_list}" + ) @pytest.mark.parametrize( @@ -600,12 +600,12 @@ def test_line_zone_one_detection_long_horizon( crossed_in_list.append(crossed_in[0]) crossed_out_list.append(crossed_out[0]) - assert ( - crossed_in_list == expected_crossed_in - ), f"expected {expected_crossed_in}, got {crossed_in_list}" - assert ( - crossed_out_list == expected_crossed_out - ), f"expected {expected_crossed_out}, got {crossed_out_list}" + assert crossed_in_list == expected_crossed_in, ( + f"expected {expected_crossed_in}, got {crossed_in_list}" + ) + assert crossed_out_list == expected_crossed_out, ( + f"expected {expected_crossed_out}, got {crossed_out_list}" + ) @pytest.mark.parametrize( diff --git a/test/detection/test_utils.py b/test/detection/test_utils.py index ed48ec866d..e3c7054471 100644 --- a/test/detection/test_utils.py +++ b/test/detection/test_utils.py @@ -389,13 +389,13 @@ def test_process_roboflow_result( ) for key in result[5]: if isinstance(result[5][key], np.ndarray): - assert np.array_equal( - result[5][key], expected_result[5][key] - ), f"Mismatch in arrays for key {key}" + assert np.array_equal(result[5][key], expected_result[5][key]), ( + f"Mismatch in arrays for key {key}" + ) else: - assert ( - result[5][key] == expected_result[5][key] - ), f"Mismatch in non-array data for key {key}" + assert result[5][key] == expected_result[5][key], ( + f"Mismatch in non-array data for key {key}" + ) @pytest.mark.parametrize( @@ -1042,13 +1042,13 @@ def test_merge_data( for key in result: if isinstance(result[key], np.ndarray): - assert np.array_equal( - result[key], expected_result[key] - ), f"Mismatch in arrays for key {key}" + assert np.array_equal(result[key], expected_result[key]), ( + f"Mismatch in arrays for key {key}" + ) else: - assert ( - result[key] == expected_result[key] - ), f"Mismatch in non-array data for key {key}" + assert result[key] == expected_result[key], ( + f"Mismatch in non-array data for key {key}" + ) @pytest.mark.parametrize( @@ -1215,13 +1215,13 @@ def test_get_data_item( result = get_data_item(data=data, index=index) for key in result: if isinstance(result[key], np.ndarray): - assert np.array_equal( - result[key], expected_result[key] - ), f"Mismatch in arrays for key {key}" + assert np.array_equal(result[key], expected_result[key]), ( + f"Mismatch in arrays for key {key}" + ) else: - assert ( - result[key] == expected_result[key] - ), f"Mismatch in non-array data for key {key}" + assert result[key] == expected_result[key], ( + f"Mismatch in non-array data for key {key}" + ) @pytest.mark.parametrize( diff --git a/test/detection/tools/test_inference_slicer.py b/test/detection/tools/test_inference_slicer.py index 1e03e158bd..e484f51345 100644 --- a/test/detection/tools/test_inference_slicer.py +++ b/test/detection/tools/test_inference_slicer.py @@ -180,6 +180,6 @@ def test_generate_offset( ) # Verify that the generated offsets match the expected offsets - assert np.array_equal( - offsets, expected_offsets - ), f"Expected {expected_offsets}, got {offsets}" + assert np.array_equal(offsets, expected_offsets), ( + f"Expected {expected_offsets}, got {offsets}" + ) diff --git a/test/utils/test_conversion.py b/test/utils/test_conversion.py index 6ff0c630bf..65cbd8a1ca 100644 --- a/test/utils/test_conversion.py +++ b/test/utils/test_conversion.py @@ -22,15 +22,15 @@ def my_custom_processing_function( param_a: int, param_b: str, ) -> np.ndarray: - assert np.allclose( - image, empty_cv2_image - ), "Expected conversion to OpenCV image to happen" - assert ( - param_a == param_a_value - ), f"Parameter a expected to be {param_a_value} in target function" - assert ( - param_b == param_b_value - ), f"Parameter b expected to be {param_b_value} in target function" + assert np.allclose(image, empty_cv2_image), ( + "Expected conversion to OpenCV image to happen" + ) + assert param_a == param_a_value, ( + f"Parameter a expected to be {param_a_value} in target function" + ) + assert param_b == param_b_value, ( + f"Parameter b expected to be {param_b_value} in target function" + ) return image # when @@ -61,15 +61,15 @@ def my_custom_processing_function( param_a: int, param_b: str, ) -> np.ndarray: - assert np.allclose( - image, empty_cv2_image - ), "Expected conversion to OpenCV image to happen" - assert ( - param_a == param_a_value - ), f"Parameter a expected to be {param_a_value} in target function" - assert ( - param_b == param_b_value - ), f"Parameter b expected to be {param_b_value} in target function" + assert np.allclose(image, empty_cv2_image), ( + "Expected conversion to OpenCV image to happen" + ) + assert param_a == param_a_value, ( + f"Parameter a expected to be {param_a_value} in target function" + ) + assert param_b == param_b_value, ( + f"Parameter b expected to be {param_b_value} in target function" + ) return image # when @@ -91,9 +91,9 @@ def test_cv2_to_pillow( # then difference = ImageChops.difference(result, empty_pillow_image) - assert ( - difference.getbbox() is None - ), "Conversion to PIL.Image expected not to change the content of image" + assert difference.getbbox() is None, ( + "Conversion to PIL.Image expected not to change the content of image" + ) def test_pillow_to_cv2( @@ -103,9 +103,9 @@ def test_pillow_to_cv2( result = pillow_to_cv2(image=empty_pillow_image) # then - assert np.allclose( - result, empty_cv2_image - ), "Conversion to OpenCV image expected not to change the content of image" + assert np.allclose(result, empty_cv2_image), ( + "Conversion to OpenCV image expected not to change the content of image" + ) def test_images_to_cv2_when_empty_input_provided() -> None: @@ -128,9 +128,9 @@ def test_images_to_cv2_when_only_cv2_images_provided( # then assert len(result) == 5, "Expected the same number of output element as input ones" for result_element in result: - assert ( - result_element is empty_cv2_image - ), "Expected CV images not to be touched by conversion" + assert result_element is empty_cv2_image, ( + "Expected CV images not to be touched by conversion" + ) def test_images_to_cv2_when_only_pillow_images_provided( @@ -146,9 +146,9 @@ def test_images_to_cv2_when_only_pillow_images_provided( # then assert len(result) == 5, "Expected the same number of output element as input ones" for result_element in result: - assert np.allclose( - result_element, empty_cv2_image - ), "Output images expected to be equal to empty OpenCV image" + assert np.allclose(result_element, empty_cv2_image), ( + "Output images expected to be equal to empty OpenCV image" + ) def test_images_to_cv2_when_mixed_input_provided( @@ -163,9 +163,9 @@ def test_images_to_cv2_when_mixed_input_provided( # then assert len(result) == 2, "Expected the same number of output element as input ones" - assert np.allclose( - result[0], empty_cv2_image - ), "PIL image should be converted to OpenCV one, equal to example empty image" - assert ( - result[1] is empty_cv2_image - ), "Expected CV images not to be touched by conversion" + assert np.allclose(result[0], empty_cv2_image), ( + "PIL image should be converted to OpenCV one, equal to example empty image" + ) + assert result[1] is empty_cv2_image, ( + "Expected CV images not to be touched by conversion" + ) diff --git a/test/utils/test_image.py b/test/utils/test_image.py index 487434aede..80caf98945 100644 --- a/test/utils/test_image.py +++ b/test/utils/test_image.py @@ -21,9 +21,9 @@ def test_resize_image_for_opencv_image() -> None: ) # then - assert np.allclose( - result, expected_result - ), "Expected output shape to be (w, h): (1024, 768)" + assert np.allclose(result, expected_result), ( + "Expected output shape to be (w, h): (1024, 768)" + ) def test_resize_image_for_pillow_image() -> None: @@ -41,9 +41,9 @@ def test_resize_image_for_pillow_image() -> None: # then assert result.size == (1024, 768), "Expected output shape to be (w, h): (1024, 768)" difference = ImageChops.difference(result, expected_result) - assert ( - difference.getbbox() is None - ), "Expected no difference in resized image content as the image is all zeros" + assert difference.getbbox() is None, ( + "Expected no difference in resized image content as the image is all zeros" + ) def test_letterbox_image_for_opencv_image() -> None: @@ -95,9 +95,9 @@ def test_letterbox_image_for_pillow_image() -> None: 1024, ), "Expected output shape to be (w, h): (1024, 1024)" difference = ImageChops.difference(result, expected_result) - assert ( - difference.getbbox() is None - ), "Expected padding to be added top and bottom with padding added top and bottom" + assert difference.getbbox() is None, ( + "Expected padding to be added top and bottom with padding added top and bottom" + ) def test_create_tiles_with_one_image( From 766467ab7824789b4aaa603f9e8a76712e280d75 Mon Sep 17 00:00:00 2001 From: Onuralp SEZER Date: Wed, 19 Feb 2025 08:44:51 +0300 Subject: [PATCH 140/420] =?UTF-8?q?docs(refactor):=20=E2=99=BB=EF=B8=8F=20?= =?UTF-8?q?rename=20variables=20for=20clarity=20in=20detection=20module?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- supervision/detection/core.py | 14 ++++++-------- 1 file changed, 6 insertions(+), 8 deletions(-) diff --git a/supervision/detection/core.py b/supervision/detection/core.py index 65549298a7..54996ddf42 100644 --- a/supervision/detection/core.py +++ b/supervision/detection/core.py @@ -852,8 +852,8 @@ def from_lmm( import supervision as sv from PIL import Image - image = Image.open() - client = genai.Client(api_key=) + IMAGE = Image.open() + GENAI_CLIENT = genai.Client(api_key=) system_instructions = ''' Return bounding boxes as a JSON array with labels and ids. Never return masks or code fencing. Limit to 25 objects. @@ -867,9 +867,9 @@ def from_lmm( ), ] - response = client.models.generate_content( + response = GENAI_CLIENT.models.generate_content( model="gemini-2.0-flash-exp", - contents=[prompt, im], + contents=[prompt, IMAGE], config = types.GenerateContentConfig( system_instruction=system_instructions, temperature=0.5, @@ -879,9 +879,8 @@ def from_lmm( detections = sv.Detections.from_lmm( sv.LMM.GOOGLE_GEMINI_2_0, - response, - resolution_wh=(1000, 1000), - classes=['cat', 'dog'], + response.text, + resolution_wh=(IMAGE.size[0], IMAGE.size[1]), ) detections.xyxy @@ -890,7 +889,6 @@ def from_lmm( # array([0]) detections.data # {'class_name': ['cat', 'dog']} - ``` """ # noqa: E501 // docs From 0c4a156662a580c841ca669db7f866a9ba2c3501 Mon Sep 17 00:00:00 2001 From: Onuralp SEZER Date: Wed, 19 Feb 2025 18:14:17 +0300 Subject: [PATCH 141/420] =?UTF-8?q?feat:=20=E2=9C=A8=20implement=20normali?= =?UTF-8?q?zed=5Fxyxy=5Fto=5Fabsolute=5Fxyxy=20function=20and=20integrate?= =?UTF-8?q?=20into=20Google=20Gemini=20processing?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- docs/detection/utils.md | 6 ++++ supervision/__init__.py | 1 + supervision/detection/utils.py | 61 ++++++++++++++++++++++++++++++++++ supervision/detection/vlm.py | 31 +++++++++-------- test/detection/test_vlm.py | 2 +- 5 files changed, 84 insertions(+), 17 deletions(-) diff --git a/docs/detection/utils.md b/docs/detection/utils.md index 25c1cc7da8..65ffa1b6d8 100644 --- a/docs/detection/utils.md +++ b/docs/detection/utils.md @@ -95,6 +95,12 @@ status: new :::supervision.detection.utils.xyxy_to_xywh + + +:::supervision.detection.utils.normalized_xyxy_to_absolute_xyxy + diff --git a/supervision/__init__.py b/supervision/__init__.py index 2835ef3ecc..5be0e886f7 100644 --- a/supervision/__init__.py +++ b/supervision/__init__.py @@ -68,6 +68,7 @@ mask_to_xyxy, move_boxes, move_masks, + normalized_xyxy_to_absolute_xyxy, oriented_box_iou_batch, pad_boxes, polygon_to_mask, diff --git a/supervision/detection/utils.py b/supervision/detection/utils.py index 61d0c0cbc6..72bf776bce 100644 --- a/supervision/detection/utils.py +++ b/supervision/detection/utils.py @@ -1275,3 +1275,64 @@ def spread_out_boxes( xyxy_padded[:, [2, 3]] += force_vectors return pad_boxes(xyxy_padded, px=-1) + + +def normalized_xyxy_to_absolute_xyxy( + normalized_xyxy: np.ndarray, + resolution_wh: Tuple[int, int], + normalization_factor: float = 1.0, +) -> np.ndarray: + """ + Convert normalized xyxy coordinates to absolute XYXY coordinates. By default, assumes + normalized values are between 0 and 1, but supports custom ranges via normalization_factor parameter. + + Args: + normalized_xyxy (np.ndarray): A numpy array of shape `(N, 4)` where each row contains + normalized coordinates in format `(x1, y1, x2, y2)` with values between 0 and normalization_factor. + resolution_wh (Tuple[int, int]): A tuple of the form `(width, height)` representing + the target resolution. + normalization_factor (float): The maximum value of the normalization range. For example: + - normalization_factor=1.0 means input coordinates are normalized between 0 and 1 + - normalization_factor=100.0 means input coordinates are normalized between 0 and 100 + - normalization_factor=1000.0 means input coordinates are normalized between 0 and 1000 + + Returns: + np.ndarray: A numpy array of shape `(N, 4)` containing the absolute coordinates + in format `(x1, y1, x2, y2)`. + + Examples: + ```python + import numpy as np + import supervision as sv + + # Example with default normalization (0-1) + normalized_xyxy = np.array([ + [0.1, 0.2, 0.5, 0.6], + [0.3, 0.4, 0.7, 0.8] + ]) + resolution_wh = (100, 200) + sv.normalized_xyxy_to_absolute_xyxy(normalized_xyxy, resolution_wh) + # array([ + # [ 10., 40., 50., 120.], + # [ 30., 80., 70., 160.] + # ]) + + # Example with custom normalization (0-100) + normalized_xyxy = np.array([ + [10., 20., 50., 60.], + [30., 40., 70., 80.] + ]) + sv.normalized_xyxy_to_absolute_xyxy(normalized_xyxy, resolution_wh, max_value=100.0) + # array([ + # [ 10., 40., 50., 120.], + # [ 30., 80., 70., 160.] + # ]) + ``` + """ # noqa E501 // docs + width, height = resolution_wh + result = normalized_xyxy.copy() + + result[[0, 2]] = (result[[0, 2]] * width) / normalization_factor + result[[1, 3]] = (result[[1, 3]] * height) / normalization_factor + + return result diff --git a/supervision/detection/vlm.py b/supervision/detection/vlm.py index 43951468cc..639b6876d9 100644 --- a/supervision/detection/vlm.py +++ b/supervision/detection/vlm.py @@ -5,7 +5,11 @@ import numpy as np -from supervision.detection.utils import polygon_to_mask, polygon_to_xyxy +from supervision.detection.utils import ( + normalized_xyxy_to_absolute_xyxy, + polygon_to_mask, + polygon_to_xyxy, +) from supervision.utils.internal import deprecated @@ -362,26 +366,21 @@ def from_google_gemini( except json.JSONDecodeError: return np.empty((0, 4)), np.empty((0,), dtype=str) + labels = [] xyxy = [] - labels_list = [] for item in data: if "box_2d" not in item or "label" not in item: continue - labels_list.append(item["label"]) - abs_y1 = int(item["box_2d"][0] / 1000 * resolution_wh[1]) - abs_x1 = int(item["box_2d"][1] / 1000 * resolution_wh[0]) - abs_y2 = int(item["box_2d"][2] / 1000 * resolution_wh[1]) - abs_x2 = int(item["box_2d"][3] / 1000 * resolution_wh[0]) - - if abs_x1 > abs_x2: - abs_x1, abs_x2 = abs_x2, abs_x1 - - if abs_y1 > abs_y2: - abs_y1, abs_y2 = abs_y2, abs_y1 - - xyxy.append([abs_x1, abs_y1, abs_x2, abs_y2]) + labels.append(item["label"]) + xyxy.append( + normalized_xyxy_to_absolute_xyxy( + np.array(item["box_2d"]).astype(np.float64), + resolution_wh=(w, h), + normalization_factor=1000, + ) + ) if not xyxy: return np.empty((0, 4)), np.empty((0,), dtype=str) - return np.array(xyxy), np.array(labels_list) + return np.array(xyxy), np.array(labels) diff --git a/test/detection/test_vlm.py b/test/detection/test_vlm.py index c7121a4944..4d0e199cf7 100644 --- a/test/detection/test_vlm.py +++ b/test/detection/test_vlm.py @@ -373,6 +373,6 @@ def test_from_google_gemini() -> None: ) np.testing.assert_array_equal( xyxy, - np.array([[12.0, 4.0, 76.0, 52.0], [64.0, 24.0, 128.0, 72.0]]), + np.array([[6.4, 9.6, 70.4, 57.6], [32.0, 48.0, 96.0, 96.0]]), ) np.testing.assert_array_equal(class_name, np.array(["cat", "dog"])) From 408a9ad0ff7501b5a1d93a6fc92ac82beb1afcde Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 24 Feb 2025 00:41:26 +0000 Subject: [PATCH 142/420] :arrow_up: Bump actions/create-github-app-token from 1.11.1 to 1.11.5 Bumps [actions/create-github-app-token](https://github.com/actions/create-github-app-token) from 1.11.1 to 1.11.5. - [Release notes](https://github.com/actions/create-github-app-token/releases) - [Commits](https://github.com/actions/create-github-app-token/compare/c1a285145b9d317df6ced56c09f525b5c2b6f755...0d564482f06ca65fa9e77e2510873638c82206f2) --- updated-dependencies: - dependency-name: actions/create-github-app-token dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] --- .github/workflows/publish-docs.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/publish-docs.yml b/.github/workflows/publish-docs.yml index 450f3d831f..fd2f5fba83 100644 --- a/.github/workflows/publish-docs.yml +++ b/.github/workflows/publish-docs.yml @@ -40,7 +40,7 @@ jobs: - name: 🔑 Create GitHub App token (mkdocs) id: mkdocs_token - uses: actions/create-github-app-token@c1a285145b9d317df6ced56c09f525b5c2b6f755 # v1.11.1 + uses: actions/create-github-app-token@0d564482f06ca65fa9e77e2510873638c82206f2 # v1.11.5 with: app-id: ${{ secrets.MKDOCS_APP_ID }} private-key: ${{ secrets.MKDOCS_PEM }} From 3562bbf2ed553589670d4c3d0ef53f5bb0d6e661 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 24 Feb 2025 00:41:28 +0000 Subject: [PATCH 143/420] :arrow_up: Bump pypa/gh-action-pypi-publish from 1.12.3 to 1.12.4 Bumps [pypa/gh-action-pypi-publish](https://github.com/pypa/gh-action-pypi-publish) from 1.12.3 to 1.12.4. - [Release notes](https://github.com/pypa/gh-action-pypi-publish/releases) - [Commits](https://github.com/pypa/gh-action-pypi-publish/compare/v1.12.3...76f52bc884231f62b9a034ebfe128415bbaabdfc) --- updated-dependencies: - dependency-name: pypa/gh-action-pypi-publish dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] --- .github/workflows/publish-release.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/publish-release.yml b/.github/workflows/publish-release.yml index c2a411d99b..a9fe93fb3b 100644 --- a/.github/workflows/publish-release.yml +++ b/.github/workflows/publish-release.yml @@ -38,6 +38,6 @@ jobs: uv run twine check --strict dist/* - name: 🚀 Publish to PyPi - uses: pypa/gh-action-pypi-publish@67339c736fd9354cd4f8cb0b744f2b82a74b5c70 # v1.12.3 + uses: pypa/gh-action-pypi-publish@76f52bc884231f62b9a034ebfe128415bbaabdfc # v1.12.4 with: attestations: true From 3ba7c1b8e26c469617838ca184bff77122619098 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 24 Feb 2025 00:41:32 +0000 Subject: [PATCH 144/420] :arrow_up: Bump astral-sh/setup-uv from 5.2.2 to 5.3.0 Bumps [astral-sh/setup-uv](https://github.com/astral-sh/setup-uv) from 5.2.2 to 5.3.0. - [Release notes](https://github.com/astral-sh/setup-uv/releases) - [Commits](https://github.com/astral-sh/setup-uv/compare/4db96194c378173c656ce18a155ffc14a9fc4355...1edb52594c857e2b5b13128931090f0640537287) --- updated-dependencies: - dependency-name: astral-sh/setup-uv dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] --- .github/workflows/publish-docs.yml | 2 +- .github/workflows/publish-pre-release.yml | 2 +- .github/workflows/publish-release.yml | 2 +- .github/workflows/publish-testpypi.yml | 2 +- .github/workflows/test-doc.yml | 2 +- .github/workflows/uv-test.yml | 2 +- 6 files changed, 6 insertions(+), 6 deletions(-) diff --git a/.github/workflows/publish-docs.yml b/.github/workflows/publish-docs.yml index 450f3d831f..ec207953a7 100644 --- a/.github/workflows/publish-docs.yml +++ b/.github/workflows/publish-docs.yml @@ -34,7 +34,7 @@ jobs: fetch-depth: 0 - name: 🐍 Install uv and set Python ${{ matrix.python-version }} - uses: astral-sh/setup-uv@4db96194c378173c656ce18a155ffc14a9fc4355 # v5.2.2 + uses: astral-sh/setup-uv@1edb52594c857e2b5b13128931090f0640537287 # v5.3.0 with: python-version: ${{ matrix.python-version }} diff --git a/.github/workflows/publish-pre-release.yml b/.github/workflows/publish-pre-release.yml index 8d6030362c..ad4c711239 100644 --- a/.github/workflows/publish-pre-release.yml +++ b/.github/workflows/publish-pre-release.yml @@ -29,7 +29,7 @@ jobs: uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 - name: 🐍 Install uv and set Python version ${{ matrix.python-version }} - uses: astral-sh/setup-uv@4db96194c378173c656ce18a155ffc14a9fc4355 # v5.2.2 + uses: astral-sh/setup-uv@1edb52594c857e2b5b13128931090f0640537287 # v5.3.0 with: python-version: ${{ matrix.python-version }} diff --git a/.github/workflows/publish-release.yml b/.github/workflows/publish-release.yml index c2a411d99b..2d78d8c23e 100644 --- a/.github/workflows/publish-release.yml +++ b/.github/workflows/publish-release.yml @@ -27,7 +27,7 @@ jobs: uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 - name: 🐍 Install uv and set Python version ${{ matrix.python-version }} - uses: astral-sh/setup-uv@4db96194c378173c656ce18a155ffc14a9fc4355 # v5.2.2 + uses: astral-sh/setup-uv@1edb52594c857e2b5b13128931090f0640537287 # v5.3.0 with: python-version: ${{ matrix.python-version }} diff --git a/.github/workflows/publish-testpypi.yml b/.github/workflows/publish-testpypi.yml index 64c87156dc..0911374f98 100644 --- a/.github/workflows/publish-testpypi.yml +++ b/.github/workflows/publish-testpypi.yml @@ -24,7 +24,7 @@ jobs: uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 - name: 🐍 Install uv and set Python version ${{ matrix.python-version }} - uses: astral-sh/setup-uv@4db96194c378173c656ce18a155ffc14a9fc4355 # v5.2.2 + uses: astral-sh/setup-uv@1edb52594c857e2b5b13128931090f0640537287 # v5.3.0 with: python-version: ${{ matrix.python-version }} diff --git a/.github/workflows/test-doc.yml b/.github/workflows/test-doc.yml index 33953be053..6af5bd2750 100644 --- a/.github/workflows/test-doc.yml +++ b/.github/workflows/test-doc.yml @@ -24,7 +24,7 @@ jobs: fetch-depth: 0 - name: 🐍 Install uv and set Python ${{ matrix.python-version }} - uses: astral-sh/setup-uv@4db96194c378173c656ce18a155ffc14a9fc4355 # v5.2.2 + uses: astral-sh/setup-uv@1edb52594c857e2b5b13128931090f0640537287 # v5.3.0 with: python-version: ${{ matrix.python-version }} diff --git a/.github/workflows/uv-test.yml b/.github/workflows/uv-test.yml index 9d0a0a4488..927ed2edac 100644 --- a/.github/workflows/uv-test.yml +++ b/.github/workflows/uv-test.yml @@ -19,7 +19,7 @@ jobs: uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 - name: 🐍 Install uv and set Python version ${{ matrix.python-version }} - uses: astral-sh/setup-uv@4db96194c378173c656ce18a155ffc14a9fc4355 # v5.2.2 + uses: astral-sh/setup-uv@1edb52594c857e2b5b13128931090f0640537287 # v5.3.0 with: python-version: ${{ matrix.python-version }} From 11f2a005e2b15840108113861b8540c956f288e9 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 24 Feb 2025 00:45:58 +0000 Subject: [PATCH 145/420] :arrow_up: Update mkdocstrings requirement Updates the requirements on [mkdocstrings](https://github.com/mkdocstrings/mkdocstrings) to permit the latest version. - [Release notes](https://github.com/mkdocstrings/mkdocstrings/releases) - [Changelog](https://github.com/mkdocstrings/mkdocstrings/blob/main/CHANGELOG.md) - [Commits](https://github.com/mkdocstrings/mkdocstrings/compare/0.25.2...0.28.1) --- updated-dependencies: - dependency-name: mkdocstrings dependency-type: direct:production ... Signed-off-by: dependabot[bot] --- pyproject.toml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pyproject.toml b/pyproject.toml index 1fd6ee5f7f..f50d17e6c5 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -69,7 +69,7 @@ dev = [ ] docs = [ "mkdocs-material[imaging]>=9.5.5", - "mkdocstrings>=0.25.2,<0.27.0", + "mkdocstrings>=0.25.2,<0.29.0", "mkdocstrings-python>=1.10.9", "mike>=2.0.0", "mkdocs-jupyter>=0.24.3", From 78d70085cb322dbc8cc0ff354b66c1a71ec05661 Mon Sep 17 00:00:00 2001 From: Onuralp SEZER Date: Mon, 24 Feb 2025 06:26:01 +0300 Subject: [PATCH 146/420] =?UTF-8?q?pacakge:=20=F0=9F=93=A6=20Update=20mkdo?= =?UTF-8?q?cs=20configuration=20and=20bump=20mkdocstrings=20version=20to?= =?UTF-8?q?=20<0.29.0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Onuralp SEZER --- mkdocs.yml | 4 +++- uv.lock | 6 ++++-- 2 files changed, 7 insertions(+), 3 deletions(-) diff --git a/mkdocs.yml b/mkdocs.yml index 421018248b..7b83d71254 100644 --- a/mkdocs.yml +++ b/mkdocs.yml @@ -151,7 +151,9 @@ plugins: show_symbol_type_heading: true show_symbol_type_toc: true show_category_heading: true - domains: [std, py] + inventories: + - url: https://docs.python-requests.org/en/master/objects.inv + domains: [std, py] - git-committers: repository: roboflow/supervision branch: develop diff --git a/uv.lock b/uv.lock index bbdf7d1c2a..b20a6f2e39 100644 --- a/uv.lock +++ b/uv.lock @@ -1,4 +1,5 @@ version = 1 +revision = 1 requires-python = ">=3.8" resolution-markers = [ "python_full_version >= '3.12' and sys_platform == 'darwin'", @@ -4828,7 +4829,7 @@ wheels = [ [[package]] name = "supervision" -version = "0.26.0rc3" +version = "0.26.0rc4" source = { editable = "." } dependencies = [ { name = "defusedxml" }, @@ -4894,7 +4895,7 @@ requires-dist = [ { name = "mkdocs-git-revision-date-localized-plugin", marker = "extra == 'docs'", specifier = ">=1.2.4" }, { name = "mkdocs-jupyter", marker = "extra == 'docs'", specifier = ">=0.24.3" }, { name = "mkdocs-material", extras = ["imaging"], marker = "extra == 'docs'", specifier = ">=9.5.5" }, - { name = "mkdocstrings", marker = "extra == 'docs'", specifier = ">=0.25.2,<0.27.0" }, + { name = "mkdocstrings", marker = "extra == 'docs'", specifier = ">=0.25.2,<0.29.0" }, { name = "mkdocstrings-python", marker = "extra == 'docs'", specifier = ">=1.10.9" }, { name = "nbconvert", marker = "extra == 'dev'", specifier = ">=7.14.2" }, { name = "notebook", marker = "extra == 'dev'", specifier = ">=6.5.3,<8.0.0" }, @@ -4911,6 +4912,7 @@ requires-dist = [ { name = "twine", marker = "extra == 'build'", specifier = ">=5.1.1,<7.0.0" }, { name = "wheel", marker = "extra == 'build'", specifier = ">=0.40,<0.46" }, ] +provides-extras = ["metrics", "dev", "docs", "build"] [[package]] name = "terminado" From 9938c1d2adf6594e770628532f0d95ef8c7ef209 Mon Sep 17 00:00:00 2001 From: Onuralp SEZER Date: Mon, 24 Feb 2025 11:38:21 +0300 Subject: [PATCH 147/420] =?UTF-8?q?docs:=20=F0=9F=93=9D=20Update=20documen?= =?UTF-8?q?tation=20for=20ultralytics=20KeyPoints=20to=20include=20YOLO11-?= =?UTF-8?q?pose=20and=20adjust=20example=20to=20latest=20model?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Onuralp SEZER --- supervision/keypoint/core.py | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/supervision/keypoint/core.py b/supervision/keypoint/core.py index a625527f75..6167f4bbf8 100644 --- a/supervision/keypoint/core.py +++ b/supervision/keypoint/core.py @@ -23,8 +23,8 @@ class simplifies data manipulation and filtering, providing a uniform API for === "Ultralytics" Use [`sv.KeyPoints.from_ultralytics`](/latest/keypoint/core/#supervision.keypoint.core.KeyPoints.from_ultralytics) - method, which accepts [YOLOv8](https://github.com/ultralytics/ultralytics) - pose result. + method, which accepts [YOLOv8-pose](https://docs.ultralytics.com/models/yolov8/), [YOLO11-pose](https://docs.ultralytics.com/models/yolo11/) + [pose](https://docs.ultralytics.com/tasks/pose/) result. ```python import cv2 @@ -32,7 +32,7 @@ class simplifies data manipulation and filtering, providing a uniform API for from ultralytics import YOLO image = cv2.imread() - model = YOLO('yolov8s-pose.pt') + model = YOLO('yolo11s-pose.pt') result = model(image)[0] key_points = sv.KeyPoints.from_ultralytics(result) From 55fafd0a409b242f8c65da27a691488358e84d34 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 3 Mar 2025 00:16:42 +0000 Subject: [PATCH 148/420] :arrow_up: Bump astral-sh/setup-uv from 5.3.0 to 5.3.1 Bumps [astral-sh/setup-uv](https://github.com/astral-sh/setup-uv) from 5.3.0 to 5.3.1. - [Release notes](https://github.com/astral-sh/setup-uv/releases) - [Commits](https://github.com/astral-sh/setup-uv/compare/1edb52594c857e2b5b13128931090f0640537287...f94ec6bedd8674c4426838e6b50417d36b6ab231) --- updated-dependencies: - dependency-name: astral-sh/setup-uv dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] --- .github/workflows/publish-docs.yml | 2 +- .github/workflows/publish-pre-release.yml | 2 +- .github/workflows/publish-release.yml | 2 +- .github/workflows/publish-testpypi.yml | 2 +- .github/workflows/test-doc.yml | 2 +- .github/workflows/uv-test.yml | 2 +- 6 files changed, 6 insertions(+), 6 deletions(-) diff --git a/.github/workflows/publish-docs.yml b/.github/workflows/publish-docs.yml index 0ec0dc8738..59afc31c0f 100644 --- a/.github/workflows/publish-docs.yml +++ b/.github/workflows/publish-docs.yml @@ -34,7 +34,7 @@ jobs: fetch-depth: 0 - name: 🐍 Install uv and set Python ${{ matrix.python-version }} - uses: astral-sh/setup-uv@1edb52594c857e2b5b13128931090f0640537287 # v5.3.0 + uses: astral-sh/setup-uv@f94ec6bedd8674c4426838e6b50417d36b6ab231 # v5.3.1 with: python-version: ${{ matrix.python-version }} diff --git a/.github/workflows/publish-pre-release.yml b/.github/workflows/publish-pre-release.yml index ad4c711239..236d16a970 100644 --- a/.github/workflows/publish-pre-release.yml +++ b/.github/workflows/publish-pre-release.yml @@ -29,7 +29,7 @@ jobs: uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 - name: 🐍 Install uv and set Python version ${{ matrix.python-version }} - uses: astral-sh/setup-uv@1edb52594c857e2b5b13128931090f0640537287 # v5.3.0 + uses: astral-sh/setup-uv@f94ec6bedd8674c4426838e6b50417d36b6ab231 # v5.3.1 with: python-version: ${{ matrix.python-version }} diff --git a/.github/workflows/publish-release.yml b/.github/workflows/publish-release.yml index c137c56dc6..5db7d87a34 100644 --- a/.github/workflows/publish-release.yml +++ b/.github/workflows/publish-release.yml @@ -27,7 +27,7 @@ jobs: uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 - name: 🐍 Install uv and set Python version ${{ matrix.python-version }} - uses: astral-sh/setup-uv@1edb52594c857e2b5b13128931090f0640537287 # v5.3.0 + uses: astral-sh/setup-uv@f94ec6bedd8674c4426838e6b50417d36b6ab231 # v5.3.1 with: python-version: ${{ matrix.python-version }} diff --git a/.github/workflows/publish-testpypi.yml b/.github/workflows/publish-testpypi.yml index 0911374f98..f6cde1df07 100644 --- a/.github/workflows/publish-testpypi.yml +++ b/.github/workflows/publish-testpypi.yml @@ -24,7 +24,7 @@ jobs: uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 - name: 🐍 Install uv and set Python version ${{ matrix.python-version }} - uses: astral-sh/setup-uv@1edb52594c857e2b5b13128931090f0640537287 # v5.3.0 + uses: astral-sh/setup-uv@f94ec6bedd8674c4426838e6b50417d36b6ab231 # v5.3.1 with: python-version: ${{ matrix.python-version }} diff --git a/.github/workflows/test-doc.yml b/.github/workflows/test-doc.yml index 6af5bd2750..0f450746cc 100644 --- a/.github/workflows/test-doc.yml +++ b/.github/workflows/test-doc.yml @@ -24,7 +24,7 @@ jobs: fetch-depth: 0 - name: 🐍 Install uv and set Python ${{ matrix.python-version }} - uses: astral-sh/setup-uv@1edb52594c857e2b5b13128931090f0640537287 # v5.3.0 + uses: astral-sh/setup-uv@f94ec6bedd8674c4426838e6b50417d36b6ab231 # v5.3.1 with: python-version: ${{ matrix.python-version }} diff --git a/.github/workflows/uv-test.yml b/.github/workflows/uv-test.yml index 927ed2edac..e51f4797b5 100644 --- a/.github/workflows/uv-test.yml +++ b/.github/workflows/uv-test.yml @@ -19,7 +19,7 @@ jobs: uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 - name: 🐍 Install uv and set Python version ${{ matrix.python-version }} - uses: astral-sh/setup-uv@1edb52594c857e2b5b13128931090f0640537287 # v5.3.0 + uses: astral-sh/setup-uv@f94ec6bedd8674c4426838e6b50417d36b6ab231 # v5.3.1 with: python-version: ${{ matrix.python-version }} From 8864762ff1edc8a49ed9bcbdf1b694201e761abd Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 10 Mar 2025 00:27:31 +0000 Subject: [PATCH 149/420] :arrow_up: Bump actions/create-github-app-token from 1.11.5 to 1.11.6 Bumps [actions/create-github-app-token](https://github.com/actions/create-github-app-token) from 1.11.5 to 1.11.6. - [Release notes](https://github.com/actions/create-github-app-token/releases) - [Commits](https://github.com/actions/create-github-app-token/compare/0d564482f06ca65fa9e77e2510873638c82206f2...21cfef2b496dd8ef5b904c159339626a10ad380e) --- updated-dependencies: - dependency-name: actions/create-github-app-token dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] --- .github/workflows/publish-docs.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/publish-docs.yml b/.github/workflows/publish-docs.yml index 59afc31c0f..9ad7c51b29 100644 --- a/.github/workflows/publish-docs.yml +++ b/.github/workflows/publish-docs.yml @@ -40,7 +40,7 @@ jobs: - name: 🔑 Create GitHub App token (mkdocs) id: mkdocs_token - uses: actions/create-github-app-token@0d564482f06ca65fa9e77e2510873638c82206f2 # v1.11.5 + uses: actions/create-github-app-token@21cfef2b496dd8ef5b904c159339626a10ad380e # v1.11.6 with: app-id: ${{ secrets.MKDOCS_APP_ID }} private-key: ${{ secrets.MKDOCS_PEM }} From 83d9868350472a47181ed1b93816f2fbcbf7050c Mon Sep 17 00:00:00 2001 From: "pre-commit-ci[bot]" <66853113+pre-commit-ci[bot]@users.noreply.github.com> Date: Mon, 17 Mar 2025 17:28:37 +0000 Subject: [PATCH 150/420] =?UTF-8?q?chore(pre=5Fcommit):=20=E2=AC=86=20pre?= =?UTF-8?q?=5Fcommit=20autoupdate?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit updates: - [github.com/PyCQA/bandit: 1.8.0 → 1.8.3](https://github.com/PyCQA/bandit/compare/1.8.0...1.8.3) - [github.com/astral-sh/ruff-pre-commit: v0.8.6 → v0.11.0](https://github.com/astral-sh/ruff-pre-commit/compare/v0.8.6...v0.11.0) - [github.com/codespell-project/codespell: v2.3.0 → v2.4.1](https://github.com/codespell-project/codespell/compare/v2.3.0...v2.4.1) --- .pre-commit-config.yaml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index a4355c4aa0..4d36af470c 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -25,14 +25,14 @@ repos: - id: mixed-line-ending - repo: https://github.com/PyCQA/bandit - rev: '1.8.0' + rev: '1.8.3' hooks: - id: bandit args: ["-c", "pyproject.toml"] additional_dependencies: ["bandit[toml]"] - repo: https://github.com/astral-sh/ruff-pre-commit - rev: v0.8.6 + rev: v0.11.0 hooks: - id: ruff args: [--fix, --exit-non-zero-on-fix] @@ -48,7 +48,7 @@ repos: # args: ["--number"] - repo: https://github.com/codespell-project/codespell - rev: v2.3.0 + rev: v2.4.1 hooks: - id: codespell additional_dependencies: From 8881b5c588577698986a8cd43a0f17be60b29269 Mon Sep 17 00:00:00 2001 From: "pre-commit-ci[bot]" <66853113+pre-commit-ci[bot]@users.noreply.github.com> Date: Mon, 17 Mar 2025 17:29:09 +0000 Subject: [PATCH 151/420] =?UTF-8?q?fix(pre=5Fcommit):=20=F0=9F=8E=A8=20aut?= =?UTF-8?q?o=20format=20pre-commit=20hooks?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- supervision/detection/core.py | 14 ++-- supervision/detection/overlap_filter.py | 3 +- supervision/detection/vlm.py | 12 ++-- supervision/metrics/mean_average_recall.py | 3 +- supervision/validators/__init__.py | 2 +- test/detection/test_csv.py | 6 +- test/detection/test_json.py | 6 +- test/detection/test_line_counter.py | 36 +++++----- test/detection/test_utils.py | 36 +++++----- test/detection/tools/test_inference_slicer.py | 6 +- test/utils/test_conversion.py | 72 +++++++++---------- test/utils/test_image.py | 18 ++--- 12 files changed, 106 insertions(+), 108 deletions(-) diff --git a/supervision/detection/core.py b/supervision/detection/core.py index f508dd62be..5fa2b7b037 100644 --- a/supervision/detection/core.py +++ b/supervision/detection/core.py @@ -715,7 +715,7 @@ def from_azure_analyze_image( """ if "error" in azure_result: raise ValueError( - f'Azure API returned an error {azure_result["error"]["message"]}' + f"Azure API returned an error {azure_result['error']['message']}" ) xyxy, confidences, class_ids = [], [], [] @@ -1346,9 +1346,9 @@ def with_nms( if len(self) == 0: return self - assert ( - self.confidence is not None - ), "Detections confidence must be given for NMS to be executed." + assert self.confidence is not None, ( + "Detections confidence must be given for NMS to be executed." + ) if class_agnostic: predictions = np.hstack((self.xyxy, self.confidence.reshape(-1, 1))) @@ -1402,9 +1402,9 @@ def with_nmm( if len(self) == 0: return self - assert ( - self.confidence is not None - ), "Detections confidence must be given for NMM to be executed." + assert self.confidence is not None, ( + "Detections confidence must be given for NMM to be executed." + ) if class_agnostic: predictions = np.hstack((self.xyxy, self.confidence.reshape(-1, 1))) diff --git a/supervision/detection/overlap_filter.py b/supervision/detection/overlap_filter.py index 4c59295f63..133e2f6d11 100644 --- a/supervision/detection/overlap_filter.py +++ b/supervision/detection/overlap_filter.py @@ -226,8 +226,7 @@ def box_non_max_merge( for merge_group in merge_groups: if len(merge_group) == 0: raise ValueError( - f"Empty group detected when non-max-merging " - f"detections: {merge_groups}" + f"Empty group detected when non-max-merging detections: {merge_groups}" ) return merge_groups diff --git a/supervision/detection/vlm.py b/supervision/detection/vlm.py index 719dc4438c..b56a7fbf71 100644 --- a/supervision/detection/vlm.py +++ b/supervision/detection/vlm.py @@ -294,18 +294,18 @@ def from_florence_2( return xyxy, labels, None, None if task in ["", ""]: - assert isinstance( - result, str - ), f"Expected string as result, got {type(result)}" + assert isinstance(result, str), ( + f"Expected string as result, got {type(result)}" + ) if result == "No object detected.": return np.empty((0, 4), dtype=np.float32), np.array([]), None, None pattern = re.compile(r"") match = pattern.search(result) - assert ( - match is not None - ), f"Expected string to end in location tags, but got {result}" + assert match is not None, ( + f"Expected string to end in location tags, but got {result}" + ) w, h = resolution_wh xyxy = np.array([match.groups()], dtype=np.float32) diff --git a/supervision/metrics/mean_average_recall.py b/supervision/metrics/mean_average_recall.py index 9c3a407180..464c203a40 100644 --- a/supervision/metrics/mean_average_recall.py +++ b/supervision/metrics/mean_average_recall.py @@ -670,8 +670,7 @@ def plot(self): ax.set_ylim(0, 1) ax.set_ylabel("Value", fontweight="bold") title = ( - f"Mean Average Recall, by Object Size" - f"\n(target: {self.metric_target.value})" + f"Mean Average Recall, by Object Size\n(target: {self.metric_target.value})" ) ax.set_title(title, fontweight="bold") diff --git a/supervision/validators/__init__.py b/supervision/validators/__init__.py index 44cfcb988a..29ac0da9b3 100644 --- a/supervision/validators/__init__.py +++ b/supervision/validators/__init__.py @@ -54,7 +54,7 @@ def validate_confidence(confidence: Any, n: int) -> None: def validate_keypoint_confidence(confidence: Any, n: int, m: int) -> None: - expected_shape = f"({n,m})" + expected_shape = f"({n, m})" actual_shape = str(getattr(confidence, "shape", None)) if confidence is not None: diff --git a/test/detection/test_csv.py b/test/detection/test_csv.py index e141442490..0c51a0e3c1 100644 --- a/test/detection/test_csv.py +++ b/test/detection/test_csv.py @@ -408,8 +408,8 @@ def assert_csv_equal(file_name, expected_rows): with open(file_name, mode="r", newline="") as file: reader = csv.reader(file) for i, row in enumerate(reader): - assert ( - [str(item) for item in expected_rows[i]] == row - ), f"Row in CSV didn't match expected output: {row} != {expected_rows[i]}" + assert [str(item) for item in expected_rows[i]] == row, ( + f"Row in CSV didn't match expected output: {row} != {expected_rows[i]}" + ) os.remove(file_name) diff --git a/test/detection/test_json.py b/test/detection/test_json.py index d5f2492499..b6c8524df0 100644 --- a/test/detection/test_json.py +++ b/test/detection/test_json.py @@ -242,8 +242,8 @@ def test_json_sink( def assert_json_equal(file_name, expected_rows): with open(file_name, "r") as file: data = json.load(file) - assert ( - data == expected_rows - ), f"Data in JSON file didn't match expected output: {data} != {expected_rows}" + assert data == expected_rows, ( + f"Data in JSON file didn't match expected output: {data} != {expected_rows}" + ) os.remove(file_name) diff --git a/test/detection/test_line_counter.py b/test/detection/test_line_counter.py index a140add551..0119cf86ed 100644 --- a/test/detection/test_line_counter.py +++ b/test/detection/test_line_counter.py @@ -250,12 +250,12 @@ def test_line_zone_one_detection_default_anchors( crossed_in_list.append(crossed_in[0]) crossed_out_list.append(crossed_out[0]) - assert ( - crossed_in_list == expected_crossed_in - ), f"expected {expected_crossed_in}, got {crossed_in_list}" - assert ( - crossed_out_list == expected_crossed_out - ), f"expected {expected_crossed_out}, got {crossed_out_list}" + assert crossed_in_list == expected_crossed_in, ( + f"expected {expected_crossed_in}, got {crossed_in_list}" + ) + assert crossed_out_list == expected_crossed_out, ( + f"expected {expected_crossed_out}, got {crossed_out_list}" + ) @pytest.mark.parametrize( @@ -415,12 +415,12 @@ def test_line_zone_one_detection( crossed_in_list.append(crossed_in[0]) crossed_out_list.append(crossed_out[0]) - assert ( - crossed_in_list == expected_crossed_in - ), f"expected {expected_crossed_in}, got {crossed_in_list}" - assert ( - crossed_out_list == expected_crossed_out - ), f"expected {expected_crossed_out}, got {crossed_out_list}" + assert crossed_in_list == expected_crossed_in, ( + f"expected {expected_crossed_in}, got {crossed_in_list}" + ) + assert crossed_out_list == expected_crossed_out, ( + f"expected {expected_crossed_out}, got {crossed_out_list}" + ) @pytest.mark.parametrize( @@ -600,12 +600,12 @@ def test_line_zone_one_detection_long_horizon( crossed_in_list.append(crossed_in[0]) crossed_out_list.append(crossed_out[0]) - assert ( - crossed_in_list == expected_crossed_in - ), f"expected {expected_crossed_in}, got {crossed_in_list}" - assert ( - crossed_out_list == expected_crossed_out - ), f"expected {expected_crossed_out}, got {crossed_out_list}" + assert crossed_in_list == expected_crossed_in, ( + f"expected {expected_crossed_in}, got {crossed_in_list}" + ) + assert crossed_out_list == expected_crossed_out, ( + f"expected {expected_crossed_out}, got {crossed_out_list}" + ) @pytest.mark.parametrize( diff --git a/test/detection/test_utils.py b/test/detection/test_utils.py index ed48ec866d..e3c7054471 100644 --- a/test/detection/test_utils.py +++ b/test/detection/test_utils.py @@ -389,13 +389,13 @@ def test_process_roboflow_result( ) for key in result[5]: if isinstance(result[5][key], np.ndarray): - assert np.array_equal( - result[5][key], expected_result[5][key] - ), f"Mismatch in arrays for key {key}" + assert np.array_equal(result[5][key], expected_result[5][key]), ( + f"Mismatch in arrays for key {key}" + ) else: - assert ( - result[5][key] == expected_result[5][key] - ), f"Mismatch in non-array data for key {key}" + assert result[5][key] == expected_result[5][key], ( + f"Mismatch in non-array data for key {key}" + ) @pytest.mark.parametrize( @@ -1042,13 +1042,13 @@ def test_merge_data( for key in result: if isinstance(result[key], np.ndarray): - assert np.array_equal( - result[key], expected_result[key] - ), f"Mismatch in arrays for key {key}" + assert np.array_equal(result[key], expected_result[key]), ( + f"Mismatch in arrays for key {key}" + ) else: - assert ( - result[key] == expected_result[key] - ), f"Mismatch in non-array data for key {key}" + assert result[key] == expected_result[key], ( + f"Mismatch in non-array data for key {key}" + ) @pytest.mark.parametrize( @@ -1215,13 +1215,13 @@ def test_get_data_item( result = get_data_item(data=data, index=index) for key in result: if isinstance(result[key], np.ndarray): - assert np.array_equal( - result[key], expected_result[key] - ), f"Mismatch in arrays for key {key}" + assert np.array_equal(result[key], expected_result[key]), ( + f"Mismatch in arrays for key {key}" + ) else: - assert ( - result[key] == expected_result[key] - ), f"Mismatch in non-array data for key {key}" + assert result[key] == expected_result[key], ( + f"Mismatch in non-array data for key {key}" + ) @pytest.mark.parametrize( diff --git a/test/detection/tools/test_inference_slicer.py b/test/detection/tools/test_inference_slicer.py index 1e03e158bd..e484f51345 100644 --- a/test/detection/tools/test_inference_slicer.py +++ b/test/detection/tools/test_inference_slicer.py @@ -180,6 +180,6 @@ def test_generate_offset( ) # Verify that the generated offsets match the expected offsets - assert np.array_equal( - offsets, expected_offsets - ), f"Expected {expected_offsets}, got {offsets}" + assert np.array_equal(offsets, expected_offsets), ( + f"Expected {expected_offsets}, got {offsets}" + ) diff --git a/test/utils/test_conversion.py b/test/utils/test_conversion.py index 6ff0c630bf..65cbd8a1ca 100644 --- a/test/utils/test_conversion.py +++ b/test/utils/test_conversion.py @@ -22,15 +22,15 @@ def my_custom_processing_function( param_a: int, param_b: str, ) -> np.ndarray: - assert np.allclose( - image, empty_cv2_image - ), "Expected conversion to OpenCV image to happen" - assert ( - param_a == param_a_value - ), f"Parameter a expected to be {param_a_value} in target function" - assert ( - param_b == param_b_value - ), f"Parameter b expected to be {param_b_value} in target function" + assert np.allclose(image, empty_cv2_image), ( + "Expected conversion to OpenCV image to happen" + ) + assert param_a == param_a_value, ( + f"Parameter a expected to be {param_a_value} in target function" + ) + assert param_b == param_b_value, ( + f"Parameter b expected to be {param_b_value} in target function" + ) return image # when @@ -61,15 +61,15 @@ def my_custom_processing_function( param_a: int, param_b: str, ) -> np.ndarray: - assert np.allclose( - image, empty_cv2_image - ), "Expected conversion to OpenCV image to happen" - assert ( - param_a == param_a_value - ), f"Parameter a expected to be {param_a_value} in target function" - assert ( - param_b == param_b_value - ), f"Parameter b expected to be {param_b_value} in target function" + assert np.allclose(image, empty_cv2_image), ( + "Expected conversion to OpenCV image to happen" + ) + assert param_a == param_a_value, ( + f"Parameter a expected to be {param_a_value} in target function" + ) + assert param_b == param_b_value, ( + f"Parameter b expected to be {param_b_value} in target function" + ) return image # when @@ -91,9 +91,9 @@ def test_cv2_to_pillow( # then difference = ImageChops.difference(result, empty_pillow_image) - assert ( - difference.getbbox() is None - ), "Conversion to PIL.Image expected not to change the content of image" + assert difference.getbbox() is None, ( + "Conversion to PIL.Image expected not to change the content of image" + ) def test_pillow_to_cv2( @@ -103,9 +103,9 @@ def test_pillow_to_cv2( result = pillow_to_cv2(image=empty_pillow_image) # then - assert np.allclose( - result, empty_cv2_image - ), "Conversion to OpenCV image expected not to change the content of image" + assert np.allclose(result, empty_cv2_image), ( + "Conversion to OpenCV image expected not to change the content of image" + ) def test_images_to_cv2_when_empty_input_provided() -> None: @@ -128,9 +128,9 @@ def test_images_to_cv2_when_only_cv2_images_provided( # then assert len(result) == 5, "Expected the same number of output element as input ones" for result_element in result: - assert ( - result_element is empty_cv2_image - ), "Expected CV images not to be touched by conversion" + assert result_element is empty_cv2_image, ( + "Expected CV images not to be touched by conversion" + ) def test_images_to_cv2_when_only_pillow_images_provided( @@ -146,9 +146,9 @@ def test_images_to_cv2_when_only_pillow_images_provided( # then assert len(result) == 5, "Expected the same number of output element as input ones" for result_element in result: - assert np.allclose( - result_element, empty_cv2_image - ), "Output images expected to be equal to empty OpenCV image" + assert np.allclose(result_element, empty_cv2_image), ( + "Output images expected to be equal to empty OpenCV image" + ) def test_images_to_cv2_when_mixed_input_provided( @@ -163,9 +163,9 @@ def test_images_to_cv2_when_mixed_input_provided( # then assert len(result) == 2, "Expected the same number of output element as input ones" - assert np.allclose( - result[0], empty_cv2_image - ), "PIL image should be converted to OpenCV one, equal to example empty image" - assert ( - result[1] is empty_cv2_image - ), "Expected CV images not to be touched by conversion" + assert np.allclose(result[0], empty_cv2_image), ( + "PIL image should be converted to OpenCV one, equal to example empty image" + ) + assert result[1] is empty_cv2_image, ( + "Expected CV images not to be touched by conversion" + ) diff --git a/test/utils/test_image.py b/test/utils/test_image.py index 487434aede..80caf98945 100644 --- a/test/utils/test_image.py +++ b/test/utils/test_image.py @@ -21,9 +21,9 @@ def test_resize_image_for_opencv_image() -> None: ) # then - assert np.allclose( - result, expected_result - ), "Expected output shape to be (w, h): (1024, 768)" + assert np.allclose(result, expected_result), ( + "Expected output shape to be (w, h): (1024, 768)" + ) def test_resize_image_for_pillow_image() -> None: @@ -41,9 +41,9 @@ def test_resize_image_for_pillow_image() -> None: # then assert result.size == (1024, 768), "Expected output shape to be (w, h): (1024, 768)" difference = ImageChops.difference(result, expected_result) - assert ( - difference.getbbox() is None - ), "Expected no difference in resized image content as the image is all zeros" + assert difference.getbbox() is None, ( + "Expected no difference in resized image content as the image is all zeros" + ) def test_letterbox_image_for_opencv_image() -> None: @@ -95,9 +95,9 @@ def test_letterbox_image_for_pillow_image() -> None: 1024, ), "Expected output shape to be (w, h): (1024, 1024)" difference = ImageChops.difference(result, expected_result) - assert ( - difference.getbbox() is None - ), "Expected padding to be added top and bottom with padding added top and bottom" + assert difference.getbbox() is None, ( + "Expected padding to be added top and bottom with padding added top and bottom" + ) def test_create_tiles_with_one_image( From 73d69172dbfa573609e0aa9b985a3a32ed8b4fa0 Mon Sep 17 00:00:00 2001 From: Blake Burch Date: Thu, 20 Mar 2025 14:46:07 -0500 Subject: [PATCH 152/420] Add segment tracking --- docs/javascripts/segment.js | 5 +++++ mkdocs.yml | 1 + 2 files changed, 6 insertions(+) create mode 100644 docs/javascripts/segment.js diff --git a/docs/javascripts/segment.js b/docs/javascripts/segment.js new file mode 100644 index 0000000000..2d453f06ec --- /dev/null +++ b/docs/javascripts/segment.js @@ -0,0 +1,5 @@ +!function(){var i="analytics",analytics=window[i]=window[i]||[];if(!analytics.initialize)if(analytics.invoked)window.console&&console.error&&console.error("Segment snippet included twice.");else{analytics.invoked=!0;analytics.methods=["trackSubmit","trackClick","trackLink","trackForm","pageview","identify","reset","group","track","ready","alias","debug","page","screen","once","off","on","addSourceMiddleware","addIntegrationMiddleware","setAnonymousId","addDestinationMiddleware","register"];analytics.factory=function(e){return function(){if(window[i].initialized)return window[i][e].apply(window[i],arguments);var n=Array.prototype.slice.call(arguments);if(["track","screen","alias","group","page","identify"].indexOf(e)>-1){var c=document.querySelector("link[rel='canonical']");n.push({__t:"bpc",c:c&&c.getAttribute("href")||void 0,p:location.pathname,u:location.href,s:location.search,t:document.title,r:document.referrer})}n.unshift(e);analytics.push(n);return analytics}};for(var n=0;n Date: Thu, 20 Mar 2025 19:58:03 +0000 Subject: [PATCH 153/420] =?UTF-8?q?fix(pre=5Fcommit):=20=F0=9F=8E=A8=20aut?= =?UTF-8?q?o=20format=20pre-commit=20hooks?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- docs/javascripts/segment.js | 1 - 1 file changed, 1 deletion(-) diff --git a/docs/javascripts/segment.js b/docs/javascripts/segment.js index 2d453f06ec..3f8abc076d 100644 --- a/docs/javascripts/segment.js +++ b/docs/javascripts/segment.js @@ -2,4 +2,3 @@ analytics.load("eohFog7VZiAhGJGEr5Sh7BM1mFKmUvDC"); document$.subscribe(analytics.page); }}(); - From 57966ce9ec3eea122503449c4376ab93cdf5bf2f Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 24 Mar 2025 00:38:33 +0000 Subject: [PATCH 154/420] :arrow_up: Bump actions/create-github-app-token from 1.11.6 to 1.11.7 Bumps [actions/create-github-app-token](https://github.com/actions/create-github-app-token) from 1.11.6 to 1.11.7. - [Release notes](https://github.com/actions/create-github-app-token/releases) - [Commits](https://github.com/actions/create-github-app-token/compare/21cfef2b496dd8ef5b904c159339626a10ad380e...af35edadc00be37caa72ed9f3e6d5f7801bfdf09) --- updated-dependencies: - dependency-name: actions/create-github-app-token dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] --- .github/workflows/publish-docs.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/publish-docs.yml b/.github/workflows/publish-docs.yml index 9ad7c51b29..a317804f74 100644 --- a/.github/workflows/publish-docs.yml +++ b/.github/workflows/publish-docs.yml @@ -40,7 +40,7 @@ jobs: - name: 🔑 Create GitHub App token (mkdocs) id: mkdocs_token - uses: actions/create-github-app-token@21cfef2b496dd8ef5b904c159339626a10ad380e # v1.11.6 + uses: actions/create-github-app-token@af35edadc00be37caa72ed9f3e6d5f7801bfdf09 # v1.11.7 with: app-id: ${{ secrets.MKDOCS_APP_ID }} private-key: ${{ secrets.MKDOCS_PEM }} From ad59b392579c33f3c981c78554190eec24f4e6d2 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 24 Mar 2025 00:38:37 +0000 Subject: [PATCH 155/420] :arrow_up: Bump astral-sh/setup-uv from 5.3.1 to 5.4.0 Bumps [astral-sh/setup-uv](https://github.com/astral-sh/setup-uv) from 5.3.1 to 5.4.0. - [Release notes](https://github.com/astral-sh/setup-uv/releases) - [Commits](https://github.com/astral-sh/setup-uv/compare/f94ec6bedd8674c4426838e6b50417d36b6ab231...22695119d769bdb6f7032ad67b9bca0ef8c4a174) --- updated-dependencies: - dependency-name: astral-sh/setup-uv dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] --- .github/workflows/publish-docs.yml | 2 +- .github/workflows/publish-pre-release.yml | 2 +- .github/workflows/publish-release.yml | 2 +- .github/workflows/publish-testpypi.yml | 2 +- .github/workflows/test-doc.yml | 2 +- .github/workflows/uv-test.yml | 2 +- 6 files changed, 6 insertions(+), 6 deletions(-) diff --git a/.github/workflows/publish-docs.yml b/.github/workflows/publish-docs.yml index 9ad7c51b29..2c9b288766 100644 --- a/.github/workflows/publish-docs.yml +++ b/.github/workflows/publish-docs.yml @@ -34,7 +34,7 @@ jobs: fetch-depth: 0 - name: 🐍 Install uv and set Python ${{ matrix.python-version }} - uses: astral-sh/setup-uv@f94ec6bedd8674c4426838e6b50417d36b6ab231 # v5.3.1 + uses: astral-sh/setup-uv@22695119d769bdb6f7032ad67b9bca0ef8c4a174 # v5.4.0 with: python-version: ${{ matrix.python-version }} diff --git a/.github/workflows/publish-pre-release.yml b/.github/workflows/publish-pre-release.yml index 236d16a970..52953b3975 100644 --- a/.github/workflows/publish-pre-release.yml +++ b/.github/workflows/publish-pre-release.yml @@ -29,7 +29,7 @@ jobs: uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 - name: 🐍 Install uv and set Python version ${{ matrix.python-version }} - uses: astral-sh/setup-uv@f94ec6bedd8674c4426838e6b50417d36b6ab231 # v5.3.1 + uses: astral-sh/setup-uv@22695119d769bdb6f7032ad67b9bca0ef8c4a174 # v5.4.0 with: python-version: ${{ matrix.python-version }} diff --git a/.github/workflows/publish-release.yml b/.github/workflows/publish-release.yml index 5db7d87a34..b632d57ec7 100644 --- a/.github/workflows/publish-release.yml +++ b/.github/workflows/publish-release.yml @@ -27,7 +27,7 @@ jobs: uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 - name: 🐍 Install uv and set Python version ${{ matrix.python-version }} - uses: astral-sh/setup-uv@f94ec6bedd8674c4426838e6b50417d36b6ab231 # v5.3.1 + uses: astral-sh/setup-uv@22695119d769bdb6f7032ad67b9bca0ef8c4a174 # v5.4.0 with: python-version: ${{ matrix.python-version }} diff --git a/.github/workflows/publish-testpypi.yml b/.github/workflows/publish-testpypi.yml index f6cde1df07..90644dac89 100644 --- a/.github/workflows/publish-testpypi.yml +++ b/.github/workflows/publish-testpypi.yml @@ -24,7 +24,7 @@ jobs: uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 - name: 🐍 Install uv and set Python version ${{ matrix.python-version }} - uses: astral-sh/setup-uv@f94ec6bedd8674c4426838e6b50417d36b6ab231 # v5.3.1 + uses: astral-sh/setup-uv@22695119d769bdb6f7032ad67b9bca0ef8c4a174 # v5.4.0 with: python-version: ${{ matrix.python-version }} diff --git a/.github/workflows/test-doc.yml b/.github/workflows/test-doc.yml index 0f450746cc..44ea59e71d 100644 --- a/.github/workflows/test-doc.yml +++ b/.github/workflows/test-doc.yml @@ -24,7 +24,7 @@ jobs: fetch-depth: 0 - name: 🐍 Install uv and set Python ${{ matrix.python-version }} - uses: astral-sh/setup-uv@f94ec6bedd8674c4426838e6b50417d36b6ab231 # v5.3.1 + uses: astral-sh/setup-uv@22695119d769bdb6f7032ad67b9bca0ef8c4a174 # v5.4.0 with: python-version: ${{ matrix.python-version }} diff --git a/.github/workflows/uv-test.yml b/.github/workflows/uv-test.yml index e51f4797b5..b205d9d497 100644 --- a/.github/workflows/uv-test.yml +++ b/.github/workflows/uv-test.yml @@ -19,7 +19,7 @@ jobs: uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 - name: 🐍 Install uv and set Python version ${{ matrix.python-version }} - uses: astral-sh/setup-uv@f94ec6bedd8674c4426838e6b50417d36b6ab231 # v5.3.1 + uses: astral-sh/setup-uv@22695119d769bdb6f7032ad67b9bca0ef8c4a174 # v5.4.0 with: python-version: ${{ matrix.python-version }} From 386fb2e15fe743e8dc98d680073adb58ff299480 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 24 Mar 2025 00:52:55 +0000 Subject: [PATCH 156/420] :arrow_up: Update mkdocstrings requirement Updates the requirements on [mkdocstrings](https://github.com/mkdocstrings/mkdocstrings) to permit the latest version. - [Release notes](https://github.com/mkdocstrings/mkdocstrings/releases) - [Changelog](https://github.com/mkdocstrings/mkdocstrings/blob/main/CHANGELOG.md) - [Commits](https://github.com/mkdocstrings/mkdocstrings/compare/0.25.2...0.29.0) --- updated-dependencies: - dependency-name: mkdocstrings dependency-type: direct:production ... Signed-off-by: dependabot[bot] --- pyproject.toml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pyproject.toml b/pyproject.toml index f50d17e6c5..9aca1a9734 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -69,7 +69,7 @@ dev = [ ] docs = [ "mkdocs-material[imaging]>=9.5.5", - "mkdocstrings>=0.25.2,<0.29.0", + "mkdocstrings>=0.25.2,<0.30.0", "mkdocstrings-python>=1.10.9", "mike>=2.0.0", "mkdocs-jupyter>=0.24.3", From 5f981bf4d924b4ab57af07a5cbb4c920b6d0af73 Mon Sep 17 00:00:00 2001 From: "pre-commit-ci[bot]" <66853113+pre-commit-ci[bot]@users.noreply.github.com> Date: Mon, 24 Mar 2025 17:26:28 +0000 Subject: [PATCH 157/420] =?UTF-8?q?chore(pre=5Fcommit):=20=E2=AC=86=20pre?= =?UTF-8?q?=5Fcommit=20autoupdate?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit updates: - [github.com/astral-sh/ruff-pre-commit: v0.11.0 → v0.11.2](https://github.com/astral-sh/ruff-pre-commit/compare/v0.11.0...v0.11.2) --- .pre-commit-config.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index 4d36af470c..1c5d407097 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -32,7 +32,7 @@ repos: additional_dependencies: ["bandit[toml]"] - repo: https://github.com/astral-sh/ruff-pre-commit - rev: v0.11.0 + rev: v0.11.2 hooks: - id: ruff args: [--fix, --exit-non-zero-on-fix] From f7fd5084007db13a274d4dd0e8a30c68c7a6d469 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 31 Mar 2025 00:31:06 +0000 Subject: [PATCH 158/420] :arrow_up: Bump astral-sh/setup-uv from 5.4.0 to 5.4.1 Bumps [astral-sh/setup-uv](https://github.com/astral-sh/setup-uv) from 5.4.0 to 5.4.1. - [Release notes](https://github.com/astral-sh/setup-uv/releases) - [Commits](https://github.com/astral-sh/setup-uv/compare/22695119d769bdb6f7032ad67b9bca0ef8c4a174...0c5e2b8115b80b4c7c5ddf6ffdd634974642d182) --- updated-dependencies: - dependency-name: astral-sh/setup-uv dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] --- .github/workflows/publish-docs.yml | 2 +- .github/workflows/publish-pre-release.yml | 2 +- .github/workflows/publish-release.yml | 2 +- .github/workflows/publish-testpypi.yml | 2 +- .github/workflows/test-doc.yml | 2 +- .github/workflows/uv-test.yml | 2 +- 6 files changed, 6 insertions(+), 6 deletions(-) diff --git a/.github/workflows/publish-docs.yml b/.github/workflows/publish-docs.yml index 4f2dcdb293..2da49d5223 100644 --- a/.github/workflows/publish-docs.yml +++ b/.github/workflows/publish-docs.yml @@ -34,7 +34,7 @@ jobs: fetch-depth: 0 - name: 🐍 Install uv and set Python ${{ matrix.python-version }} - uses: astral-sh/setup-uv@22695119d769bdb6f7032ad67b9bca0ef8c4a174 # v5.4.0 + uses: astral-sh/setup-uv@0c5e2b8115b80b4c7c5ddf6ffdd634974642d182 # v5.4.1 with: python-version: ${{ matrix.python-version }} diff --git a/.github/workflows/publish-pre-release.yml b/.github/workflows/publish-pre-release.yml index 52953b3975..8745ceef3d 100644 --- a/.github/workflows/publish-pre-release.yml +++ b/.github/workflows/publish-pre-release.yml @@ -29,7 +29,7 @@ jobs: uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 - name: 🐍 Install uv and set Python version ${{ matrix.python-version }} - uses: astral-sh/setup-uv@22695119d769bdb6f7032ad67b9bca0ef8c4a174 # v5.4.0 + uses: astral-sh/setup-uv@0c5e2b8115b80b4c7c5ddf6ffdd634974642d182 # v5.4.1 with: python-version: ${{ matrix.python-version }} diff --git a/.github/workflows/publish-release.yml b/.github/workflows/publish-release.yml index b632d57ec7..790ab60cd1 100644 --- a/.github/workflows/publish-release.yml +++ b/.github/workflows/publish-release.yml @@ -27,7 +27,7 @@ jobs: uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 - name: 🐍 Install uv and set Python version ${{ matrix.python-version }} - uses: astral-sh/setup-uv@22695119d769bdb6f7032ad67b9bca0ef8c4a174 # v5.4.0 + uses: astral-sh/setup-uv@0c5e2b8115b80b4c7c5ddf6ffdd634974642d182 # v5.4.1 with: python-version: ${{ matrix.python-version }} diff --git a/.github/workflows/publish-testpypi.yml b/.github/workflows/publish-testpypi.yml index 90644dac89..7a1f3cce46 100644 --- a/.github/workflows/publish-testpypi.yml +++ b/.github/workflows/publish-testpypi.yml @@ -24,7 +24,7 @@ jobs: uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 - name: 🐍 Install uv and set Python version ${{ matrix.python-version }} - uses: astral-sh/setup-uv@22695119d769bdb6f7032ad67b9bca0ef8c4a174 # v5.4.0 + uses: astral-sh/setup-uv@0c5e2b8115b80b4c7c5ddf6ffdd634974642d182 # v5.4.1 with: python-version: ${{ matrix.python-version }} diff --git a/.github/workflows/test-doc.yml b/.github/workflows/test-doc.yml index 44ea59e71d..0dad5b5560 100644 --- a/.github/workflows/test-doc.yml +++ b/.github/workflows/test-doc.yml @@ -24,7 +24,7 @@ jobs: fetch-depth: 0 - name: 🐍 Install uv and set Python ${{ matrix.python-version }} - uses: astral-sh/setup-uv@22695119d769bdb6f7032ad67b9bca0ef8c4a174 # v5.4.0 + uses: astral-sh/setup-uv@0c5e2b8115b80b4c7c5ddf6ffdd634974642d182 # v5.4.1 with: python-version: ${{ matrix.python-version }} diff --git a/.github/workflows/uv-test.yml b/.github/workflows/uv-test.yml index b205d9d497..c1e0e60d61 100644 --- a/.github/workflows/uv-test.yml +++ b/.github/workflows/uv-test.yml @@ -19,7 +19,7 @@ jobs: uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 - name: 🐍 Install uv and set Python version ${{ matrix.python-version }} - uses: astral-sh/setup-uv@22695119d769bdb6f7032ad67b9bca0ef8c4a174 # v5.4.0 + uses: astral-sh/setup-uv@0c5e2b8115b80b4c7c5ddf6ffdd634974642d182 # v5.4.1 with: python-version: ${{ matrix.python-version }} From 3d0b4cba658bf408eef5566babb9b2cd395e9250 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 31 Mar 2025 00:31:09 +0000 Subject: [PATCH 159/420] :arrow_up: Bump actions/create-github-app-token from 1.11.7 to 1.12.0 Bumps [actions/create-github-app-token](https://github.com/actions/create-github-app-token) from 1.11.7 to 1.12.0. - [Release notes](https://github.com/actions/create-github-app-token/releases) - [Commits](https://github.com/actions/create-github-app-token/compare/af35edadc00be37caa72ed9f3e6d5f7801bfdf09...d72941d797fd3113feb6b93fd0dec494b13a2547) --- updated-dependencies: - dependency-name: actions/create-github-app-token dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] --- .github/workflows/publish-docs.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/publish-docs.yml b/.github/workflows/publish-docs.yml index 4f2dcdb293..72eefeae72 100644 --- a/.github/workflows/publish-docs.yml +++ b/.github/workflows/publish-docs.yml @@ -40,7 +40,7 @@ jobs: - name: 🔑 Create GitHub App token (mkdocs) id: mkdocs_token - uses: actions/create-github-app-token@af35edadc00be37caa72ed9f3e6d5f7801bfdf09 # v1.11.7 + uses: actions/create-github-app-token@d72941d797fd3113feb6b93fd0dec494b13a2547 # v1.12.0 with: app-id: ${{ secrets.MKDOCS_APP_ID }} private-key: ${{ secrets.MKDOCS_PEM }} From f56eb2503e87ec5adf1773f9c59a9ac91b0e8364 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 7 Apr 2025 00:11:28 +0000 Subject: [PATCH 160/420] :arrow_up: Bump actions/create-github-app-token from 1.12.0 to 2.0.2 Bumps [actions/create-github-app-token](https://github.com/actions/create-github-app-token) from 1.12.0 to 2.0.2. - [Release notes](https://github.com/actions/create-github-app-token/releases) - [Commits](https://github.com/actions/create-github-app-token/compare/d72941d797fd3113feb6b93fd0dec494b13a2547...3ff1caaa28b64c9cc276ce0a02e2ff584f3900c5) --- updated-dependencies: - dependency-name: actions/create-github-app-token dependency-version: 2.0.2 dependency-type: direct:production update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] --- .github/workflows/publish-docs.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/publish-docs.yml b/.github/workflows/publish-docs.yml index f77d8aa2eb..a1a7cb159c 100644 --- a/.github/workflows/publish-docs.yml +++ b/.github/workflows/publish-docs.yml @@ -40,7 +40,7 @@ jobs: - name: 🔑 Create GitHub App token (mkdocs) id: mkdocs_token - uses: actions/create-github-app-token@d72941d797fd3113feb6b93fd0dec494b13a2547 # v1.12.0 + uses: actions/create-github-app-token@3ff1caaa28b64c9cc276ce0a02e2ff584f3900c5 # v2.0.2 with: app-id: ${{ secrets.MKDOCS_APP_ID }} private-key: ${{ secrets.MKDOCS_PEM }} From 4b245dd5f13f47779f2fa0744a9796ca37dc9fa7 Mon Sep 17 00:00:00 2001 From: soumik12345 <19soumik.rakshit96@gmail.com> Date: Mon, 7 Apr 2025 19:10:51 +0530 Subject: [PATCH 161/420] add: max_frames and profressbar options to supervision --- supervision/utils/video.py | 22 +++++++++++++++++++++- 1 file changed, 21 insertions(+), 1 deletion(-) diff --git a/supervision/utils/video.py b/supervision/utils/video.py index 2e502cf2bb..e8baa740e4 100644 --- a/supervision/utils/video.py +++ b/supervision/utils/video.py @@ -7,6 +7,7 @@ import cv2 import numpy as np +from tqdm.auto import tqdm @dataclass @@ -195,6 +196,9 @@ def process_video( source_path: str, target_path: str, callback: Callable[[np.ndarray, int], np.ndarray], + max_frames: Optional[int] = None, + show_progress: bool = True, + progress_message: str = "Processing video", ) -> None: """ Process a video file by applying a callback function on each frame @@ -207,6 +211,9 @@ def process_video( a numpy ndarray representation of a video frame and an int index of the frame and returns a processed numpy ndarray representation of the frame. + max_frames (Optional[int]): The maximum number of frames to process. + show_progress (bool): Whether to show a progress bar. + progress_message (str): The message to display in the progress bar. Examples: ```python @@ -224,8 +231,21 @@ def callback(scene: np.ndarray, index: int) -> np.ndarray: """ source_video_info = VideoInfo.from_video_path(video_path=source_path) with VideoSink(target_path=target_path, video_info=source_video_info) as sink: + video_frames_generator = get_video_frames_generator( + source_path=source_path, end=max_frames + ) + total_frames = ( + min(source_video_info.total_frames, max_frames) + if max_frames is not None + else source_video_info.total_frames + ) for index, frame in enumerate( - get_video_frames_generator(source_path=source_path) + tqdm( + video_frames_generator, + total=total_frames, + disable=not show_progress, + desc=progress_message, + ) ): result_frame = callback(frame, index) sink.write_frame(frame=result_frame) From b58862d9f37a353639255b02632b291659a616ff Mon Sep 17 00:00:00 2001 From: soumik12345 <19soumik.rakshit96@gmail.com> Date: Mon, 7 Apr 2025 19:44:50 +0530 Subject: [PATCH 162/420] chore: address feedback --- supervision/utils/video.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/supervision/utils/video.py b/supervision/utils/video.py index e8baa740e4..f5722f166a 100644 --- a/supervision/utils/video.py +++ b/supervision/utils/video.py @@ -197,7 +197,7 @@ def process_video( target_path: str, callback: Callable[[np.ndarray, int], np.ndarray], max_frames: Optional[int] = None, - show_progress: bool = True, + show_progress: bool = False, progress_message: str = "Processing video", ) -> None: """ From 474370128662514584f9c45b89257ec33993c38e Mon Sep 17 00:00:00 2001 From: Soumik Rakshit <19soumik.rakshit96@gmail.com> Date: Mon, 7 Apr 2025 21:42:18 +0530 Subject: [PATCH 163/420] update: supervision/utils/video.py Co-authored-by: Onuralp SEZER --- supervision/utils/video.py | 3 +++ 1 file changed, 3 insertions(+) diff --git a/supervision/utils/video.py b/supervision/utils/video.py index f5722f166a..22f35c647d 100644 --- a/supervision/utils/video.py +++ b/supervision/utils/video.py @@ -230,6 +230,9 @@ def callback(scene: np.ndarray, index: int) -> np.ndarray: ``` """ source_video_info = VideoInfo.from_video_path(video_path=source_path) + frame_generator = get_video_frames_generator( + source_path=source_path, end=max_frames + ) with VideoSink(target_path=target_path, video_info=source_video_info) as sink: video_frames_generator = get_video_frames_generator( source_path=source_path, end=max_frames From 941700b9f82d1c3873b7f43e13d7dee208d180ab Mon Sep 17 00:00:00 2001 From: Soumik Rakshit <19soumik.rakshit96@gmail.com> Date: Mon, 7 Apr 2025 21:42:35 +0530 Subject: [PATCH 164/420] update: supervision/utils/video.py Co-authored-by: Onuralp SEZER --- supervision/utils/video.py | 15 +++++++-------- 1 file changed, 7 insertions(+), 8 deletions(-) diff --git a/supervision/utils/video.py b/supervision/utils/video.py index 22f35c647d..1bb61013bd 100644 --- a/supervision/utils/video.py +++ b/supervision/utils/video.py @@ -234,14 +234,13 @@ def callback(scene: np.ndarray, index: int) -> np.ndarray: source_path=source_path, end=max_frames ) with VideoSink(target_path=target_path, video_info=source_video_info) as sink: - video_frames_generator = get_video_frames_generator( - source_path=source_path, end=max_frames - ) - total_frames = ( - min(source_video_info.total_frames, max_frames) - if max_frames is not None - else source_video_info.total_frames - ) + if show_progress: + # Calculate total_frames only when needed for tqdm + total_frames = ( + min(source_video_info.total_frames, max_frames) + if max_frames is not None + else source_video_info.total_frames + ) for index, frame in enumerate( tqdm( video_frames_generator, From 1534501a1daa9f1907380957ff806fcfb18cfeea Mon Sep 17 00:00:00 2001 From: Soumik Rakshit <19soumik.rakshit96@gmail.com> Date: Mon, 7 Apr 2025 21:42:45 +0530 Subject: [PATCH 165/420] update: supervision/utils/video.py Co-authored-by: Onuralp SEZER --- supervision/utils/video.py | 22 +++++++++++++--------- 1 file changed, 13 insertions(+), 9 deletions(-) diff --git a/supervision/utils/video.py b/supervision/utils/video.py index 1bb61013bd..a86a9a179a 100644 --- a/supervision/utils/video.py +++ b/supervision/utils/video.py @@ -242,15 +242,19 @@ def callback(scene: np.ndarray, index: int) -> np.ndarray: else source_video_info.total_frames ) for index, frame in enumerate( - tqdm( - video_frames_generator, - total=total_frames, - disable=not show_progress, - desc=progress_message, - ) - ): - result_frame = callback(frame, index) - sink.write_frame(frame=result_frame) + tqdm( + video_frames_generator, + total=total_frames, + disable=not show_progress, + desc=progress_message, + ) + ): + result_frame = callback(frame, index) + sink.write_frame(frame=result_frame) + else: + for index, frame in enumerate(video_frames_generator): + result_frame = callback(frame, index) + sink.write_frame(frame=result_frame) class FPSMonitor: From 6a378a32f759663cf844411d2e696e5803780c82 Mon Sep 17 00:00:00 2001 From: "pre-commit-ci[bot]" <66853113+pre-commit-ci[bot]@users.noreply.github.com> Date: Mon, 7 Apr 2025 16:13:02 +0000 Subject: [PATCH 166/420] =?UTF-8?q?fix(pre=5Fcommit):=20=F0=9F=8E=A8=20aut?= =?UTF-8?q?o=20format=20pre-commit=20hooks?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- supervision/utils/video.py | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/supervision/utils/video.py b/supervision/utils/video.py index a86a9a179a..3180031e89 100644 --- a/supervision/utils/video.py +++ b/supervision/utils/video.py @@ -242,15 +242,15 @@ def callback(scene: np.ndarray, index: int) -> np.ndarray: else source_video_info.total_frames ) for index, frame in enumerate( - tqdm( - video_frames_generator, - total=total_frames, - disable=not show_progress, - desc=progress_message, - ) - ): - result_frame = callback(frame, index) - sink.write_frame(frame=result_frame) + tqdm( + video_frames_generator, + total=total_frames, + disable=not show_progress, + desc=progress_message, + ) + ): + result_frame = callback(frame, index) + sink.write_frame(frame=result_frame) else: for index, frame in enumerate(video_frames_generator): result_frame = callback(frame, index) From e73cc438e15944e2e64a8707ba1cdf658cc4319d Mon Sep 17 00:00:00 2001 From: soumik12345 <19soumik.rakshit96@gmail.com> Date: Mon, 7 Apr 2025 21:45:47 +0530 Subject: [PATCH 167/420] fix: variable video_frames_generator --- supervision/utils/video.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/supervision/utils/video.py b/supervision/utils/video.py index 3180031e89..6dd6e6ac3c 100644 --- a/supervision/utils/video.py +++ b/supervision/utils/video.py @@ -230,7 +230,7 @@ def callback(scene: np.ndarray, index: int) -> np.ndarray: ``` """ source_video_info = VideoInfo.from_video_path(video_path=source_path) - frame_generator = get_video_frames_generator( + video_frames_generator = get_video_frames_generator( source_path=source_path, end=max_frames ) with VideoSink(target_path=target_path, video_info=source_video_info) as sink: From 0d534346bfd7b7c8b93913510f4342c77568bd0e Mon Sep 17 00:00:00 2001 From: "pre-commit-ci[bot]" <66853113+pre-commit-ci[bot]@users.noreply.github.com> Date: Mon, 7 Apr 2025 17:34:35 +0000 Subject: [PATCH 168/420] =?UTF-8?q?chore(pre=5Fcommit):=20=E2=AC=86=20pre?= =?UTF-8?q?=5Fcommit=20autoupdate?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit updates: - [github.com/astral-sh/ruff-pre-commit: v0.11.2 → v0.11.4](https://github.com/astral-sh/ruff-pre-commit/compare/v0.11.2...v0.11.4) --- .pre-commit-config.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index 1c5d407097..1c48365148 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -32,7 +32,7 @@ repos: additional_dependencies: ["bandit[toml]"] - repo: https://github.com/astral-sh/ruff-pre-commit - rev: v0.11.2 + rev: v0.11.4 hooks: - id: ruff args: [--fix, --exit-non-zero-on-fix] From 1496888d92a105d8bb37d1305d7229cc0837eee8 Mon Sep 17 00:00:00 2001 From: "pre-commit-ci[bot]" <66853113+pre-commit-ci[bot]@users.noreply.github.com> Date: Mon, 14 Apr 2025 17:22:40 +0000 Subject: [PATCH 169/420] =?UTF-8?q?chore(pre=5Fcommit):=20=E2=AC=86=20pre?= =?UTF-8?q?=5Fcommit=20autoupdate?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit updates: - [github.com/astral-sh/ruff-pre-commit: v0.11.4 → v0.11.5](https://github.com/astral-sh/ruff-pre-commit/compare/v0.11.4...v0.11.5) --- .pre-commit-config.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index 1c48365148..8bd038744b 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -32,7 +32,7 @@ repos: additional_dependencies: ["bandit[toml]"] - repo: https://github.com/astral-sh/ruff-pre-commit - rev: v0.11.4 + rev: v0.11.5 hooks: - id: ruff args: [--fix, --exit-non-zero-on-fix] From f2e900171ee09b2ff6024896e69e5394a8806007 Mon Sep 17 00:00:00 2001 From: hidara2000 Date: Tue, 15 Apr 2025 18:09:08 +1000 Subject: [PATCH 170/420] feat(annotators): enhance label annotators with frame boundary adjustments and new base class - ensures labels are within frame - May have a few overlaps at edges,in very busy frames, when smart_pos is enabled. but running smart_pos first yields better results --- supervision/annotators/core.py | 478 ++++++++++++++++++--------------- 1 file changed, 262 insertions(+), 216 deletions(-) diff --git a/supervision/annotators/core.py b/supervision/annotators/core.py index 1b5b9bee79..c145229c86 100644 --- a/supervision/annotators/core.py +++ b/supervision/annotators/core.py @@ -1,6 +1,6 @@ from functools import lru_cache from math import sqrt -from typing import List, Optional, Tuple, Union +from typing import Callable, List, Optional, Tuple, Union import cv2 import numpy as np @@ -40,6 +40,199 @@ CV2_FONT = cv2.FONT_HERSHEY_SIMPLEX +class _BaseLabelAnnotator(BaseAnnotator): + """ + Base class for annotators that add labels to detections. + + Attributes: + color (Union[Color, ColorPalette]): The color to use for the label background. + text_color (Union[Color, ColorPalette]): The color to use for the label text. + text_padding (int): The padding around the label text, in pixels. + text_anchor (Position): The position of the text relative to the detection + bounding box. + color_lookup (ColorLookup): The method used to determine the color of the label. + border_radius (int): The radius of the label background corners, in pixels. + smart_position (bool): Whether to intelligently adjust the label position to + avoid overlapping with other elements. + ensure_in_frame (bool): Whether to ensure the label stays within the frame + boundaries. + """ + + def __init__( + self, + color: Union[Color, ColorPalette] = ColorPalette.DEFAULT, + text_color: Union[Color, ColorPalette] = Color.WHITE, + text_padding: int = 10, + text_position: Position = Position.TOP_LEFT, + color_lookup: ColorLookup = ColorLookup.CLASS, + border_radius: int = 0, + smart_position: bool = False, + ensure_in_frame: bool = True, # New parameter + ): + """ + Initializes the _BaseLabelAnnotator. + + Args: + color (Union[Color, ColorPalette], optional): The color to use for the label + background. Defaults to ColorPalette.DEFAULT. + text_color (Union[Color, ColorPalette], optional): The color to use for the + label text. Defaults to Color.WHITE. + text_padding (int, optional): The padding around the label text, in pixels. + Defaults to 10. + text_position (Position, optional): The position of the text relative to the + detection bounding box. Defaults to Position.TOP_LEFT. + color_lookup (ColorLookup, optional): The method used to determine the color + of the label. Defaults to ColorLookup.CLASS. + border_radius (int, optional): The radius of the label background corners, + in pixels. Defaults to 0. + smart_position (bool, optional): Whether to intelligently adjust the label + position to avoid overlapping with other elements. + Defaults to False. + ensure_in_frame (bool, optional): Whether to ensure the label stays within + the frame boundaries. Defaults to True. + """ + self.color: Union[Color, ColorPalette] = color + self.text_color: Union[Color, ColorPalette] = text_color + self.text_padding: int = text_padding + self.text_anchor: Position = text_position + self.color_lookup: ColorLookup = color_lookup + self.border_radius: int = border_radius + self.smart_position = smart_position + self.ensure_in_frame = ensure_in_frame # Store the new parameter + + def _validate_labels(self, labels: Optional[List[str]], detections: Detections): + """ + Validates that the number of provided labels matches the number of detections. + + Args: + labels (Optional[List[str]]): A list of labels, one for each detection. Can + be None. + detections (Detections): The detections to be labeled. + + Raises: + ValueError: If `labels` is not None and its length does not match the number + of detections. + """ + if labels is not None and len(labels) != len(detections): + raise ValueError( + f"The number of labels ({len(labels)}) does not match the " + f"number of detections ({len(detections)}). Each detection " + f"should have exactly 1 label." + ) + + @staticmethod + def _get_labels_text( + detections: Detections, custom_labels: Optional[List[str]] + ) -> List[str]: + """ + Retrieves the text labels for the detections. + + If `custom_labels` are provided, they are used. Otherwise, the labels are + extracted from the `detections` object, prioritizing the 'class_name' field, + then the `class_id`, and finally using the detection index as a string. + + Args: + detections (Detections): The detections to get labels for. + custom_labels (Optional[List[str]]): An optional list of custom labels. + + Returns: + List[str]: A list of text labels for each detection. + """ + if custom_labels is not None: + return custom_labels + + labels = [] + for idx in range(len(detections)): + if CLASS_NAME_DATA_FIELD in detections.data: + labels.append(detections.data[CLASS_NAME_DATA_FIELD][idx]) + elif detections.class_id is not None: + labels.append(str(detections.class_id[idx])) + else: + labels.append(str(idx)) + return labels + + def _adjust_labels_in_frame( + self, + frame_width: int, + frame_height: int, + labels: List[str], + label_properties: np.ndarray, + get_text_width_fn: Callable[[str], int], + ) -> np.ndarray: + """ + Adjusts the position of labels to ensure they stay within the frame boundaries. + + Args: + frame_width (int): The width of the frame. + frame_height (int): The height of the frame. + labels (List[str]): The list of text labels. + label_properties (np.ndarray): An array of label properties, where each row + contains [x1, y1, x2, y2, text_height, ...]. + get_text_width_fn (Callable[[str], int]): A function that takes a label + string and returns its width in pixels. + + Returns: + np.ndarray: The adjusted label properties. + """ + adjusted_properties = label_properties.copy() + for i in range(len(labels)): + x1, y1, x2, y2, text_height = adjusted_properties[i][ + :5 + ] # Handle different property lengths + label_h = text_height + 2 * self.text_padding + + # Adjust x-coordinate + if x1 < 0: + adjusted_properties[i, 0] -= x1 + adjusted_properties[i, 2] -= x1 + elif x2 > frame_width: + adjusted_properties[i, 0] -= x2 - frame_width + adjusted_properties[i, 2] -= x2 - frame_width + + # Adjust y-coordinate + if y1 < 0: + adjusted_properties[i, 1] -= y1 + adjusted_properties[i, 3] -= y1 + elif y2 > frame_height: + adjusted_properties[i, 1] -= y2 - frame_height + adjusted_properties[i, 3] -= y2 - frame_height + # Optionally, if the label is below the box, try to move it above + anchor_y = self._get_anchor_y_for_adjustment( + adjusted_properties[i, 1:3], self.text_anchor + ) + if anchor_y - label_h >= 0: + adjusted_properties[i, 1] -= label_h + adjusted_properties[i, 3] -= label_h + + return adjusted_properties + + @staticmethod + def _get_anchor_y_for_adjustment(bbox_y: np.ndarray, anchor: Position) -> float: + """ + Calculates the anchor y-coordinate for label adjustment based on the text anchor + position. + + Args: + bbox_y (np.ndarray): An array containing the y1 and y2 coordinates of the + bounding box. + anchor (Position): The desired text anchor position. + + Returns: + float: The anchor y-coordinate. + """ + y1, y2 = bbox_y + if anchor in [Position.TOP_LEFT, Position.TOP_CENTER, Position.TOP_RIGHT]: + return y1 + elif anchor in [ + Position.BOTTOM_LEFT, + Position.BOTTOM_CENTER, + Position.BOTTOM_RIGHT, + ]: + return y2 + else: # CENTER, CENTER_LEFT, CENTER_RIGHT + return (y1 + y2) / 2 + + class BoxAnnotator(BaseAnnotator): """ A class for drawing bounding boxes on an image using provided detections. @@ -960,7 +1153,7 @@ def annotate( return scene -class LabelAnnotator(BaseAnnotator): +class LabelAnnotator(_BaseLabelAnnotator): """ A class for annotating labels on an image using provided detections. """ @@ -976,94 +1169,53 @@ def __init__( color_lookup: ColorLookup = ColorLookup.CLASS, border_radius: int = 0, smart_position: bool = False, + ensure_in_frame: bool = False, # Inherited ): - """ - Args: - color (Union[Color, ColorPalette]): The color or color palette to use for - annotating the text background. - text_color (Union[Color, ColorPalette]): The color or color palette to use - for the text. - text_scale (float): Font scale for the text. - text_thickness (int): Thickness of the text characters. - text_padding (int): Padding around the text within its background box. - text_position (Position): Position of the text relative to the detection. - Possible values are defined in the `Position` enum. - color_lookup (ColorLookup): Strategy for mapping colors to annotations. - Options are `INDEX`, `CLASS`, `TRACK`. - border_radius (int): The radius to apply round edges. If the selected - value is higher than the lower dimension, width or height, is clipped. - smart_position (bool): Spread out the labels to avoid overlapping. - """ - self.border_radius: int = border_radius - self.color: Union[Color, ColorPalette] = color - self.text_color: Union[Color, ColorPalette] = text_color self.text_scale: float = text_scale self.text_thickness: int = text_thickness - self.text_padding: int = text_padding - self.text_anchor: Position = text_position - self.color_lookup: ColorLookup = color_lookup - self.smart_position = smart_position + super().__init__( + color=color, + text_color=text_color, + text_padding=text_padding, + text_position=text_position, + color_lookup=color_lookup, + border_radius=border_radius, + smart_position=smart_position, + ensure_in_frame=ensure_in_frame, + ) @ensure_cv2_image_for_annotation def annotate( self, - scene: ImageType, + scene: np.ndarray, # Ensure scene is initially a NumPy array here detections: Detections, labels: Optional[List[str]] = None, custom_color_lookup: Optional[np.ndarray] = None, - ) -> ImageType: - """ - Annotates the given scene with labels based on the provided detections. - - Args: - scene (ImageType): The image where labels will be drawn. - `ImageType` is a flexible type, accepting either `numpy.ndarray` - or `PIL.Image.Image`. - detections (Detections): Object detections to annotate. - labels (Optional[List[str]]): Custom labels for each detection. - custom_color_lookup (Optional[np.ndarray]): Custom color lookup array. - Allows to override the default color mapping strategy. - - Returns: - The annotated image, matching the type of `scene` (`numpy.ndarray` - or `PIL.Image.Image`) - - Example: - ```python - import supervision as sv - - image = ... - detections = sv.Detections(...) - - labels = [ - f"{class_name} {confidence:.2f}" - for class_name, confidence - in zip(detections['class_name'], detections.confidence) - ] - - label_annotator = sv.LabelAnnotator(text_position=sv.Position.CENTER) - annotated_frame = label_annotator.annotate( - scene=image.copy(), - detections=detections, - labels=labels - ) - ``` - - ![label-annotator-example](https://media.roboflow.com/ - supervision-annotator-examples/label-annotator-example-purple.png) - """ - + ) -> np.ndarray: assert isinstance(scene, np.ndarray) self._validate_labels(labels, detections) labels = self._get_labels_text(detections, labels) - label_properties = self._get_label_properties(detections, labels) + label_properties = self._get_label_properties( + scene, detections, labels + ) # Pass scene if self.smart_position: xyxy = label_properties[:, :4] xyxy = spread_out_boxes(xyxy) label_properties[:, :4] = xyxy + if self.ensure_in_frame: + label_properties = self._adjust_labels_in_frame( + scene.shape[1], + scene.shape[0], + labels, + label_properties, + lambda text: cv2.getTextSize( + text, CV2_FONT, self.text_scale, self.text_thickness + )[0][0], + ) + self._draw_labels( scene=scene, labels=labels, @@ -1074,26 +1226,12 @@ def annotate( return scene - def _validate_labels(self, labels: Optional[List[str]], detections: Detections): - if labels is not None and len(labels) != len(detections): - raise ValueError( - f"The number of labels ({len(labels)}) does not match the " - f"number of detections ({len(detections)}). Each detection " - f"should have exactly 1 label." - ) - def _get_label_properties( self, + scene: np.ndarray, # Receive scene detections: Detections, labels: List[str], ) -> np.ndarray: - """ - Calculate the numerical properties required to draw the labels on the image. - - Returns: - (np.ndarray): An array of label properties, containing columns: - `min_x`, `min_y`, `max_x`, `max_y`, `padded_text_height`. - """ label_properties = [] anchors_coordinates = detections.get_anchors_coordinates( anchor=self.text_anchor @@ -1116,32 +1254,12 @@ def _get_label_properties( position=self.text_anchor, ) - label_properties.append( - [ - *text_background_xyxy, - text_h, - ] - ) - + label_properties.append([ + *text_background_xyxy, + text_h, + ]) return np.array(label_properties).reshape(-1, 5) - @staticmethod - def _get_labels_text( - detections: Detections, custom_labels: Optional[List[str]] - ) -> List[str]: - if custom_labels is not None: - return custom_labels - - labels = [] - for idx in range(len(detections)): - if CLASS_NAME_DATA_FIELD in detections.data: - labels.append(detections.data[CLASS_NAME_DATA_FIELD][idx]) - elif detections.class_id is not None: - labels.append(str(detections.class_id[idx])) - else: - labels.append(str(idx)) - return labels - def _draw_labels( self, scene: np.ndarray, @@ -1176,7 +1294,7 @@ def _draw_labels( color_lookup=color_lookup, ) - box_xyxy = label_property[:4] + box_xyxy = label_property[:4].astype(int) text_height_padded = label_property[4] self.draw_rounded_rectangle( scene=scene, @@ -1186,7 +1304,7 @@ def _draw_labels( ) text_x = box_xyxy[0] + self.text_padding - text_y = box_xyxy[1] + self.text_padding + text_height_padded + text_y = box_xyxy[1] + self.text_padding + int(text_height_padded) cv2.putText( img=scene, text=labels[idx], @@ -1241,7 +1359,7 @@ def draw_rounded_rectangle( return scene -class RichLabelAnnotator(BaseAnnotator): +class RichLabelAnnotator(_BaseLabelAnnotator): """ A class for annotating labels on an image using provided detections, with support for Unicode characters by using a custom font. @@ -1258,80 +1376,30 @@ def __init__( color_lookup: ColorLookup = ColorLookup.CLASS, border_radius: int = 0, smart_position: bool = False, + ensure_in_frame: bool = False, # Inherited ): - """ - Args: - color (Union[Color, ColorPalette]): The color or color palette to use for - annotating the text background. - text_color (Union[Color, ColorPalette]): The color to use for the text. - font_path (Optional[str]): Path to the font file (e.g., ".ttf" or ".otf") - to use for rendering text. If `None`, the default PIL font will be used. - font_size (int): Font size for the text. - text_padding (int): Padding around the text within its background box. - text_position (Position): Position of the text relative to the detection. - Possible values are defined in the `Position` enum. - color_lookup (ColorLookup): Strategy for mapping colors to annotations. - Options are `INDEX`, `CLASS`, `TRACK`. - border_radius (int): The radius to apply round edges. If the selected - value is higher than the lower dimension, width or height, is clipped. - smart_position (bool): Spread out the labels to avoid overlapping. - """ - self.color = color - self.text_color = text_color - self.text_padding = text_padding - self.text_anchor = text_position - self.color_lookup = color_lookup - self.border_radius = border_radius - self.smart_position = smart_position + self.font_path = font_path + self.font_size = font_size self.font = self._load_font(font_size, font_path) + super().__init__( + color=color, + text_color=text_color, + text_padding=text_padding, + text_position=text_position, + color_lookup=color_lookup, + border_radius=border_radius, + smart_position=smart_position, + ensure_in_frame=ensure_in_frame, + ) @ensure_pil_image_for_annotation def annotate( self, - scene: ImageType, + scene: Image.Image, detections: Detections, labels: Optional[List[str]] = None, custom_color_lookup: Optional[np.ndarray] = None, - ) -> ImageType: - """ - Annotates the given scene with labels based on the provided - detections, with support for Unicode characters. - - Args: - scene (ImageType): The image where labels will be drawn. - `ImageType` is a flexible type, accepting either `numpy.ndarray` - or `PIL.Image.Image`. - detections (Detections): Object detections to annotate. - labels (Optional[List[str]]): Custom labels for each detection. - custom_color_lookup (Optional[np.ndarray]): Custom color lookup array. - Allows to override the default color mapping strategy. - - Returns: - The annotated image, matching the type of `scene` (`numpy.ndarray` - or `PIL.Image.Image`) - - Example: - ```python - import supervision as sv - - image = ... - detections = sv.Detections(...) - - labels = [ - f"{class_name} {confidence:.2f}" - for class_name, confidence - in zip(detections['class_name'], detections.confidence) - ] - - rich_label_annotator = sv.RichLabelAnnotator(font_path="path/to/font.ttf") - annotated_frame = label_annotator.annotate( - scene=image.copy(), - detections=detections, - labels=labels - ) - ``` - - """ + ) -> Image.Image: assert isinstance(scene, Image.Image) self._validate_labels(labels, detections) @@ -1344,6 +1412,18 @@ def annotate( xyxy = spread_out_boxes(xyxy) label_properties[:, :4] = xyxy + if self.ensure_in_frame: + label_properties = self._adjust_labels_in_frame( + scene.width, + scene.height, + labels, + label_properties, + lambda text: int( + draw.textbbox((0, 0), text, font=self.font)[2] + - draw.textbbox((0, 0), text, font=self.font)[0] + ), + ) + self._draw_labels( draw=draw, labels=labels, @@ -1354,26 +1434,9 @@ def annotate( return scene - def _validate_labels(self, labels: Optional[List[str]], detections: Detections): - if labels is not None and len(labels) != len(detections): - raise ValueError( - f"The number of labels ({len(labels)}) does not match the " - f"number of detections ({len(detections)}). Each detection " - f"should have exactly 1 label." - ) - def _get_label_properties( - self, draw, detections: Detections, labels: List[str] + self, draw: ImageDraw.ImageDraw, detections: Detections, labels: List[str] ) -> np.ndarray: - """ - Calculate the numerical properties required to draw the labels on the image. - - Returns: - (np.ndarray): An array of label properties, containing columns: - `min_x`, `min_y`, `max_x`, `max_y`, `text_left_coordinate`, - `text_top_coordinate`. The first 4 values are already padded - with `text_padding`. - """ label_properties = [] anchor_coordinates = detections.get_anchors_coordinates( @@ -1386,8 +1449,8 @@ def _get_label_properties( ) text_width = text_right - text_left text_height = text_bottom - text_top - width_padded = text_width + 2 * self.text_padding - height_padded = text_height + 2 * self.text_padding + width_padded = int(text_width + 2 * self.text_padding) + height_padded = int(text_height + 2 * self.text_padding) text_background_xyxy = resolve_text_background_xyxy( center_coordinates=tuple(center_coords), @@ -1399,26 +1462,9 @@ def _get_label_properties( return np.array(label_properties).reshape(-1, 6) - @staticmethod - def _get_labels_text( - detections: Detections, custom_labels: Optional[List[str]] - ) -> List[str]: - if custom_labels is not None: - return custom_labels - - labels = [] - for idx in range(len(detections)): - if CLASS_NAME_DATA_FIELD in detections.data: - labels.append(detections.data[CLASS_NAME_DATA_FIELD][idx]) - elif detections.class_id is not None: - labels.append(str(detections.class_id[idx])) - else: - labels.append(str(idx)) - return labels - def _draw_labels( self, - draw, + draw: ImageDraw.ImageDraw, labels: List[str], label_properties: np.ndarray, detections: Detections, @@ -1449,7 +1495,7 @@ def _draw_labels( color_lookup=color_lookup, ) - box_xyxy = label_property[:4] + box_xyxy = label_property[:4].astype(int) text_left = label_property[4] text_top = label_property[5] label_x_position = box_xyxy[0] + self.text_padding - text_left From ca5596ceb2d87346f0661fcd8eee593a7ff22be9 Mon Sep 17 00:00:00 2001 From: "pre-commit-ci[bot]" <66853113+pre-commit-ci[bot]@users.noreply.github.com> Date: Tue, 15 Apr 2025 08:30:24 +0000 Subject: [PATCH 171/420] =?UTF-8?q?fix(pre=5Fcommit):=20=F0=9F=8E=A8=20aut?= =?UTF-8?q?o=20format=20pre-commit=20hooks?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- supervision/annotators/core.py | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/supervision/annotators/core.py b/supervision/annotators/core.py index c145229c86..d35a1ebabd 100644 --- a/supervision/annotators/core.py +++ b/supervision/annotators/core.py @@ -1254,10 +1254,12 @@ def _get_label_properties( position=self.text_anchor, ) - label_properties.append([ - *text_background_xyxy, - text_h, - ]) + label_properties.append( + [ + *text_background_xyxy, + text_h, + ] + ) return np.array(label_properties).reshape(-1, 5) def _draw_labels( From a1e43f8e933052896d5eb7987c30bdd3b626fd3f Mon Sep 17 00:00:00 2001 From: hidara2000 <15170494+hidara2000@users.noreply.github.com> Date: Tue, 15 Apr 2025 21:58:06 +1000 Subject: [PATCH 172/420] Update supervision/annotators/core.py Co-authored-by: Onuralp SEZER --- supervision/annotators/core.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/supervision/annotators/core.py b/supervision/annotators/core.py index d35a1ebabd..4f26188860 100644 --- a/supervision/annotators/core.py +++ b/supervision/annotators/core.py @@ -1187,7 +1187,7 @@ def __init__( @ensure_cv2_image_for_annotation def annotate( self, - scene: np.ndarray, # Ensure scene is initially a NumPy array here + scene: ImageType, # Ensure scene is initially a NumPy array here detections: Detections, labels: Optional[List[str]] = None, custom_color_lookup: Optional[np.ndarray] = None, From a5c833b80f163dfceab7f304c9e4f435139ec53d Mon Sep 17 00:00:00 2001 From: hidara2000 <15170494+hidara2000@users.noreply.github.com> Date: Tue, 15 Apr 2025 21:58:20 +1000 Subject: [PATCH 173/420] Update supervision/annotators/core.py Co-authored-by: Onuralp SEZER --- supervision/annotators/core.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/supervision/annotators/core.py b/supervision/annotators/core.py index 4f26188860..99c23ed71d 100644 --- a/supervision/annotators/core.py +++ b/supervision/annotators/core.py @@ -1397,7 +1397,7 @@ def __init__( @ensure_pil_image_for_annotation def annotate( self, - scene: Image.Image, + scene: ImageType detections: Detections, labels: Optional[List[str]] = None, custom_color_lookup: Optional[np.ndarray] = None, From 474c8bc478c7a09b009072f0db9fff4c3a4508c6 Mon Sep 17 00:00:00 2001 From: hidara2000 <15170494+hidara2000@users.noreply.github.com> Date: Tue, 15 Apr 2025 21:58:31 +1000 Subject: [PATCH 174/420] Update supervision/annotators/core.py Co-authored-by: Onuralp SEZER --- supervision/annotators/core.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/supervision/annotators/core.py b/supervision/annotators/core.py index 99c23ed71d..0fee71d1ab 100644 --- a/supervision/annotators/core.py +++ b/supervision/annotators/core.py @@ -1401,7 +1401,7 @@ def annotate( detections: Detections, labels: Optional[List[str]] = None, custom_color_lookup: Optional[np.ndarray] = None, - ) -> Image.Image: + ) -> ImageType: assert isinstance(scene, Image.Image) self._validate_labels(labels, detections) From c4dce2752d2479404abfed241196ad1e5e0a2117 Mon Sep 17 00:00:00 2001 From: hidara2000 Date: Tue, 15 Apr 2025 22:09:51 +1000 Subject: [PATCH 175/420] fix(annotators): add missing comma in annotate method signature --- supervision/annotators/core.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/supervision/annotators/core.py b/supervision/annotators/core.py index 0fee71d1ab..f6e71e2e25 100644 --- a/supervision/annotators/core.py +++ b/supervision/annotators/core.py @@ -1397,7 +1397,7 @@ def __init__( @ensure_pil_image_for_annotation def annotate( self, - scene: ImageType + scene: ImageType, detections: Detections, labels: Optional[List[str]] = None, custom_color_lookup: Optional[np.ndarray] = None, From 0539ec9d1f63e1b87f8e5e370ba9949f00747cdf Mon Sep 17 00:00:00 2001 From: hidara2000 Date: Thu, 17 Apr 2025 10:48:02 +1000 Subject: [PATCH 176/420] feat(annotators): add max_line_length parameter and text wrapping functionality --- supervision/annotators/core.py | 333 +++++++++++++++++++++++++-------- supervision/detection/utils.py | 65 +++++-- 2 files changed, 305 insertions(+), 93 deletions(-) diff --git a/supervision/annotators/core.py b/supervision/annotators/core.py index f6e71e2e25..254c55e0b9 100644 --- a/supervision/annotators/core.py +++ b/supervision/annotators/core.py @@ -54,8 +54,8 @@ class _BaseLabelAnnotator(BaseAnnotator): border_radius (int): The radius of the label background corners, in pixels. smart_position (bool): Whether to intelligently adjust the label position to avoid overlapping with other elements. - ensure_in_frame (bool): Whether to ensure the label stays within the frame - boundaries. + max_line_length (Optional[int]): Maximum number of characters per line before + wrapping the text. None means no wrapping. """ def __init__( @@ -67,7 +67,7 @@ def __init__( color_lookup: ColorLookup = ColorLookup.CLASS, border_radius: int = 0, smart_position: bool = False, - ensure_in_frame: bool = True, # New parameter + max_line_length: Optional[int] = None, ): """ Initializes the _BaseLabelAnnotator. @@ -88,8 +88,9 @@ def __init__( smart_position (bool, optional): Whether to intelligently adjust the label position to avoid overlapping with other elements. Defaults to False. - ensure_in_frame (bool, optional): Whether to ensure the label stays within - the frame boundaries. Defaults to True. + max_line_length (Optional[int], optional): Maximum number of characters per + line before wrapping the text. None means no wrapping. + Defaults to None. """ self.color: Union[Color, ColorPalette] = color self.text_color: Union[Color, ColorPalette] = text_color @@ -98,7 +99,7 @@ def __init__( self.color_lookup: ColorLookup = color_lookup self.border_radius: int = border_radius self.smart_position = smart_position - self.ensure_in_frame = ensure_in_frame # Store the new parameter + self.max_line_length: Optional[int] = max_line_length def _validate_labels(self, labels: Optional[List[str]], detections: Detections): """ @@ -151,6 +152,67 @@ def _get_labels_text( labels.append(str(idx)) return labels + def _ensure_box_in_frame( + self, + box: np.ndarray, + frame_width: int, + frame_height: int, + check_flip_label: bool = False, + text_anchor: Optional[Position] = None, + ) -> np.ndarray: + """ + Adjusts a box to ensure it stays within frame boundaries. + + Args: + box: Box coordinates [x1, y1, x2, y2] + frame_width: Width of the frame + frame_height: Height of the frame + check_flip_label: Whether to check if label should be flipped + text_anchor: Text anchor position for flip check + + Returns: + Adjusted box coordinates + """ + x1, y1, x2, y2 = box + + # Adjust x-coordinate to stay within frame + if x1 < 0: + shift = -x1 + x1 += shift + x2 += shift + elif x2 > frame_width: + shift = frame_width - x2 + x1 += shift + x2 += shift + + # Adjust y-coordinate to stay within frame + if y1 < 0: + shift = -y1 + y1 += shift + y2 += shift + elif y2 > frame_height: + shift = frame_height - y2 + y1 += shift + y2 += shift + + # Check if label should be flipped to above the box + if check_flip_label and text_anchor is not None: + box_height = y2 - y1 + + # Check anchor position to see if we can flip it + anchor_y = self._get_anchor_y_for_adjustment( + np.array([y1, y2]), text_anchor + ) + + # If we're at the bottom, try moving to the top + if anchor_y >= y2 - 5: # Near bottom edge + # Check if there's room at the top + if y1 - box_height >= 0: + y2 = y1 + y1 = y2 - box_height + + return np.array([x1, y1, x2, y2]) + def _adjust_labels_in_frame( self, frame_width: int, @@ -175,34 +237,33 @@ def _adjust_labels_in_frame( np.ndarray: The adjusted label properties. """ adjusted_properties = label_properties.copy() + + # First, make sure the boxes don't go outside the frame for i in range(len(labels)): - x1, y1, x2, y2, text_height = adjusted_properties[i][ - :5 - ] # Handle different property lengths - label_h = text_height + 2 * self.text_padding - - # Adjust x-coordinate - if x1 < 0: - adjusted_properties[i, 0] -= x1 - adjusted_properties[i, 2] -= x1 - elif x2 > frame_width: - adjusted_properties[i, 0] -= x2 - frame_width - adjusted_properties[i, 2] -= x2 - frame_width - - # Adjust y-coordinate - if y1 < 0: - adjusted_properties[i, 1] -= y1 - adjusted_properties[i, 3] -= y1 - elif y2 > frame_height: - adjusted_properties[i, 1] -= y2 - frame_height - adjusted_properties[i, 3] -= y2 - frame_height - # Optionally, if the label is below the box, try to move it above - anchor_y = self._get_anchor_y_for_adjustment( - adjusted_properties[i, 1:3], self.text_anchor + # Adjust box to stay within frame + adjusted_properties[i, :4] = self._ensure_box_in_frame( + adjusted_properties[i, :4], + frame_width, + frame_height, + check_flip_label=True, + text_anchor=self.text_anchor, + ) + + # Apply the spread out algorithm to avoid box overlaps + if len(labels) > 1: + # Extract the box coordinates + boxes = adjusted_properties[:, :4] + # Use the spread_out_boxes function to adjust overlapping boxes + spread_boxes = spread_out_boxes(boxes) + # Update the properties with the spread out boxes + adjusted_properties[:, :4] = spread_boxes + + # Additional check to ensure boxes are still within frame after spreading + for i in range(len(labels)): + # Adjust box to stay within frame (without flipping) + adjusted_properties[i, :4] = self._ensure_box_in_frame( + adjusted_properties[i, :4], frame_width, frame_height ) - if anchor_y - label_h >= 0: - adjusted_properties[i, 1] -= label_h - adjusted_properties[i, 3] -= label_h return adjusted_properties @@ -232,6 +293,53 @@ def _get_anchor_y_for_adjustment(bbox_y: np.ndarray, anchor: Position) -> float: else: # CENTER, CENTER_LEFT, CENTER_RIGHT return (y1 + y2) / 2 + def _wrap_text(self, text: str) -> List[str]: + """ + Wraps text to the specified maximum line length, respecting existing newlines. + Uses the textwrap library for robust text wrapping. + + Args: + text (str): The text to wrap. + + Returns: + List[str]: A list of text lines after wrapping. + """ + import textwrap + + if not text: + return [""] + + if self.max_line_length is None: + return text.splitlines() or [""] + + # Split the text by existing newlines first + paragraphs = text.split("\n") + all_lines = [] + + for paragraph in paragraphs: + if not paragraph: + # Keep empty lines + all_lines.append("") + continue + + # Wrap each paragraph separately + wrapped = textwrap.wrap( + paragraph, + width=self.max_line_length, + break_long_words=True, # Break words longer than max_line_length + replace_whitespace=False, # Preserve existing spaces + drop_whitespace=True, # Drop leading/trailing whitespace on wrapped lines + ) + + # Add the wrapped lines for this paragraph + if wrapped: + all_lines.extend(wrapped) + else: + # If wrap returns an empty list (e.g., for whitespace-only input) + all_lines.append("") + + return all_lines if all_lines else [""] + class BoxAnnotator(BaseAnnotator): """ @@ -1169,7 +1277,7 @@ def __init__( color_lookup: ColorLookup = ColorLookup.CLASS, border_radius: int = 0, smart_position: bool = False, - ensure_in_frame: bool = False, # Inherited + max_line_length: Optional[int] = None, ): self.text_scale: float = text_scale self.text_thickness: int = text_thickness @@ -1181,7 +1289,7 @@ def __init__( color_lookup=color_lookup, border_radius=border_radius, smart_position=smart_position, - ensure_in_frame=ensure_in_frame, + max_line_length=max_line_length, ) @ensure_cv2_image_for_annotation @@ -1205,7 +1313,6 @@ def annotate( xyxy = spread_out_boxes(xyxy) label_properties[:, :4] = xyxy - if self.ensure_in_frame: label_properties = self._adjust_labels_in_frame( scene.shape[1], scene.shape[0], @@ -1238,15 +1345,29 @@ def _get_label_properties( ).astype(int) for label, center_coords in zip(labels, anchors_coordinates): - (text_w, text_h) = cv2.getTextSize( - text=label, - fontFace=CV2_FONT, - fontScale=self.text_scale, - thickness=self.text_thickness, - )[0] - - width_padded = text_w + 2 * self.text_padding - height_padded = text_h + 2 * self.text_padding + wrapped_lines = self._wrap_text(label) + line_heights = [] + line_widths = [] + + for line in wrapped_lines: + (text_w, text_h) = cv2.getTextSize( + text=line, + fontFace=CV2_FONT, + fontScale=self.text_scale, + thickness=self.text_thickness, + )[0] + line_heights.append(text_h) + line_widths.append(text_w) + + # Get the maximum width and total height + max_width = max(line_widths) if line_widths else 0 + total_height = ( + sum(line_heights) + (len(line_heights) - 1) * self.text_padding + ) + + # Add padding around all sides + width_padded = max_width + 2 * self.text_padding + height_padded = total_height + 2 * self.text_padding text_background_xyxy = resolve_text_background_xyxy( center_coordinates=tuple(center_coords), @@ -1254,12 +1375,10 @@ def _get_label_properties( position=self.text_anchor, ) - label_properties.append( - [ - *text_background_xyxy, - text_h, - ] - ) + label_properties.append([ + *text_background_xyxy, + total_height, + ]) return np.array(label_properties).reshape(-1, 5) def _draw_labels( @@ -1297,7 +1416,7 @@ def _draw_labels( ) box_xyxy = label_property[:4].astype(int) - text_height_padded = label_property[4] + self.draw_rounded_rectangle( scene=scene, xyxy=box_xyxy, @@ -1305,18 +1424,43 @@ def _draw_labels( border_radius=self.border_radius, ) - text_x = box_xyxy[0] + self.text_padding - text_y = box_xyxy[1] + self.text_padding + int(text_height_padded) - cv2.putText( - img=scene, - text=labels[idx], - org=(text_x, text_y), - fontFace=CV2_FONT, - fontScale=self.text_scale, - color=text_color.as_bgr(), - thickness=self.text_thickness, - lineType=cv2.LINE_AA, - ) + # Handle multiline text + wrapped_lines = self._wrap_text(labels[idx]) + current_y = box_xyxy[1] + self.text_padding # Start y position + + for line in wrapped_lines: + if not line: # Skip empty lines + (_, text_h) = cv2.getTextSize( + text="Tg", # Use a character with ascenders and descenders as height reference + fontFace=CV2_FONT, + fontScale=self.text_scale, + thickness=self.text_thickness, + )[0] + current_y += text_h + self.text_padding + continue + + (_, text_h) = cv2.getTextSize( + text=line, + fontFace=CV2_FONT, + fontScale=self.text_scale, + thickness=self.text_thickness, + )[0] + + text_x = box_xyxy[0] + self.text_padding + text_y = current_y + text_h # Add height to get to text baseline + + cv2.putText( + img=scene, + text=line, + org=(text_x, text_y), + fontFace=CV2_FONT, + fontScale=self.text_scale, + color=text_color.as_bgr(), + thickness=self.text_thickness, + lineType=cv2.LINE_AA, + ) + + current_y += text_h + self.text_padding # Move to next line position @staticmethod def draw_rounded_rectangle( @@ -1378,7 +1522,7 @@ def __init__( color_lookup: ColorLookup = ColorLookup.CLASS, border_radius: int = 0, smart_position: bool = False, - ensure_in_frame: bool = False, # Inherited + max_line_length: Optional[int] = None, ): self.font_path = font_path self.font_size = font_size @@ -1391,7 +1535,7 @@ def __init__( color_lookup=color_lookup, border_radius=border_radius, smart_position=smart_position, - ensure_in_frame=ensure_in_frame, + max_line_length=max_line_length, ) @ensure_pil_image_for_annotation @@ -1414,7 +1558,6 @@ def annotate( xyxy = spread_out_boxes(xyxy) label_properties[:, :4] = xyxy - if self.ensure_in_frame: label_properties = self._adjust_labels_in_frame( scene.width, scene.height, @@ -1446,13 +1589,26 @@ def _get_label_properties( ).astype(int) for label, center_coords in zip(labels, anchor_coordinates): - text_left, text_top, text_right, text_bottom = draw.textbbox( - (0, 0), label, font=self.font - ) - text_width = text_right - text_left - text_height = text_bottom - text_top - width_padded = int(text_width + 2 * self.text_padding) - height_padded = int(text_height + 2 * self.text_padding) + wrapped_lines = self._wrap_text(label) + + # Calculate the total text height and maximum width + max_width = 0 + total_height = 0 + + for line in wrapped_lines: + left, top, right, bottom = draw.textbbox((0, 0), line, font=self.font) + line_width = right - left + line_height = bottom - top + + max_width = max(max_width, line_width) + total_height += line_height + + # Add inter-line spacing + if len(wrapped_lines) > 1: + total_height += (len(wrapped_lines) - 1) * self.text_padding + + width_padded = int(max_width + 2 * self.text_padding) + height_padded = int(total_height + 2 * self.text_padding) text_background_xyxy = resolve_text_background_xyxy( center_coordinates=tuple(center_coords), @@ -1460,6 +1616,9 @@ def _get_label_properties( position=self.text_anchor, ) + # Get the text origin offsets + text_left, text_top, _, _ = draw.textbbox((0, 0), "Tg", font=self.font) + label_properties.append([*text_background_xyxy, text_left, text_top]) return np.array(label_properties).reshape(-1, 6) @@ -1500,21 +1659,32 @@ def _draw_labels( box_xyxy = label_property[:4].astype(int) text_left = label_property[4] text_top = label_property[5] - label_x_position = box_xyxy[0] + self.text_padding - text_left - label_y_position = box_xyxy[1] + self.text_padding - text_top + # Draw the rounded rectangle background draw.rounded_rectangle( tuple(box_xyxy), radius=self.border_radius, fill=background_color.as_rgb(), outline=None, ) - draw.text( - xy=(label_x_position, label_y_position), - text=labels[idx], - font=self.font, - fill=text_color.as_rgb(), - ) + + # Draw each line of text + wrapped_lines = self._wrap_text(labels[idx]) + x_position = box_xyxy[0] + self.text_padding - text_left + y_position = box_xyxy[1] + self.text_padding - text_top + + for line in wrapped_lines: + draw.text( + xy=(x_position, y_position), + text=line, + font=self.font, + fill=text_color.as_rgb(), + ) + + # Move to the next line position + left, top, right, bottom = draw.textbbox((0, 0), line, font=self.font) + line_height = bottom - top + y_position += line_height + self.text_padding @staticmethod def _load_font(font_size: int, font_path: Optional[str]): @@ -1534,6 +1704,7 @@ def load_default_font(size): return load_default_font(font_size) + class IconAnnotator(BaseAnnotator): """ A class for drawing an icon on an image, using provided detections. diff --git a/supervision/detection/utils.py b/supervision/detection/utils.py index 61d0c0cbc6..d2191c9f85 100644 --- a/supervision/detection/utils.py +++ b/supervision/detection/utils.py @@ -1214,9 +1214,10 @@ def cross_product(anchors: np.ndarray, vector: Vector) -> np.ndarray: Returns: Array of cross products of shape (number of anchors, detections) """ - vector_at_zero = np.array( - [vector.end.x - vector.start.x, vector.end.y - vector.start.y] - ) + vector_at_zero = np.array([ + vector.end.x - vector.start.x, + vector.end.y - vector.start.y, + ]) vector_start = np.array([vector.start.x, vector.start.y]) return np.cross(vector_at_zero, anchors - vector_start) @@ -1224,6 +1225,8 @@ def cross_product(anchors: np.ndarray, vector: Vector) -> np.ndarray: def spread_out_boxes( xyxy: np.ndarray, max_iterations: int = 100, + force_scale: float = 10.0, + consider_size: bool = True, ) -> np.ndarray: """ Spread out boxes that overlap with each other. @@ -1231,29 +1234,50 @@ def spread_out_boxes( Args: xyxy: Numpy array of shape (N, 4) where N is the number of boxes. max_iterations: Maximum number of iterations to run the algorithm for. + force_scale: Scale factor for the repulsion forces. + consider_size: Whether to consider box size when calculating forces. """ if len(xyxy) == 0: return xyxy xyxy_padded = pad_boxes(xyxy, px=1) + + # Calculate box areas if we're considering size + if consider_size: + box_areas = (xyxy_padded[:, 2] - xyxy_padded[:, 0]) * ( + xyxy_padded[:, 3] - xyxy_padded[:, 1] + ) + # Calculate the size factors (normalize by mean size) + size_factors = ( + np.sqrt(box_areas) / np.mean(np.sqrt(box_areas)) + if len(box_areas) > 0 + else np.ones(len(xyxy_padded)) + ) + size_factors = np.clip(size_factors, 0.5, 2.0) # Clip to avoid extreme values + else: + size_factors = np.ones(len(xyxy_padded)) + for _ in range(max_iterations): - # NxN + # NxN matrix of IoU values iou = box_iou_batch(xyxy_padded, xyxy_padded) - np.fill_diagonal(iou, 0) + np.fill_diagonal(iou, 0) # Eliminate self-interactions + if np.all(iou == 0): - break + break # No more overlaps overlap_mask = iou > 0 - # Nx2 + # Nx2 array of box centers centers = (xyxy_padded[:, :2] + xyxy_padded[:, 2:]) / 2 - # NxNx2 + # NxNx2 array of differences between centers delta_centers = centers[:, np.newaxis, :] - centers[np.newaxis, :, :] delta_centers *= overlap_mask[:, :, np.newaxis] - # Nx2 + # Nx2 array of total delta vectors delta_sum = np.sum(delta_centers, axis=1) + + # Normalize to unit vectors delta_magnitude = np.linalg.norm(delta_sum, axis=1, keepdims=True) direction_vectors = np.divide( delta_sum, @@ -1262,15 +1286,32 @@ def spread_out_boxes( where=delta_magnitude != 0, ) + # Calculate force based on IoU values force_vectors = np.sum(iou, axis=1) force_vectors = force_vectors[:, np.newaxis] * direction_vectors - force_vectors *= 10 - force_vectors[(force_vectors > 0) & (force_vectors < 2)] = 2 - force_vectors[(force_vectors < 0) & (force_vectors > -2)] = -2 + # Apply size-based scaling if enabled + if consider_size: + force_vectors *= size_factors[:, np.newaxis] + + # Scale forces + force_vectors *= force_scale + + # Ensure minimum force for small overlaps + force_magnitudes = np.linalg.norm(force_vectors, axis=1, keepdims=True) + small_force_mask = (force_magnitudes > 0) & (force_magnitudes < 2) + if np.any(small_force_mask): + force_directions = force_vectors / np.where( + force_magnitudes > 0, force_magnitudes, 1 + ) + force_vectors = np.where( + small_force_mask, force_directions * 2, force_vectors + ) + # Convert to integer displacements force_vectors = force_vectors.astype(int) + # Apply forces to update box positions xyxy_padded[:, [0, 1]] += force_vectors xyxy_padded[:, [2, 3]] += force_vectors From c68218a07ef3c97c73bd12843af9ef9ebb6025b1 Mon Sep 17 00:00:00 2001 From: "pre-commit-ci[bot]" <66853113+pre-commit-ci[bot]@users.noreply.github.com> Date: Thu, 17 Apr 2025 00:48:21 +0000 Subject: [PATCH 177/420] =?UTF-8?q?fix(pre=5Fcommit):=20=F0=9F=8E=A8=20aut?= =?UTF-8?q?o=20format=20pre-commit=20hooks?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- supervision/annotators/core.py | 11 ++++++----- supervision/detection/utils.py | 10 ++++++---- 2 files changed, 12 insertions(+), 9 deletions(-) diff --git a/supervision/annotators/core.py b/supervision/annotators/core.py index 254c55e0b9..b78b3b173d 100644 --- a/supervision/annotators/core.py +++ b/supervision/annotators/core.py @@ -1375,10 +1375,12 @@ def _get_label_properties( position=self.text_anchor, ) - label_properties.append([ - *text_background_xyxy, - total_height, - ]) + label_properties.append( + [ + *text_background_xyxy, + total_height, + ] + ) return np.array(label_properties).reshape(-1, 5) def _draw_labels( @@ -1704,7 +1706,6 @@ def load_default_font(size): return load_default_font(font_size) - class IconAnnotator(BaseAnnotator): """ A class for drawing an icon on an image, using provided detections. diff --git a/supervision/detection/utils.py b/supervision/detection/utils.py index d2191c9f85..4027583158 100644 --- a/supervision/detection/utils.py +++ b/supervision/detection/utils.py @@ -1214,10 +1214,12 @@ def cross_product(anchors: np.ndarray, vector: Vector) -> np.ndarray: Returns: Array of cross products of shape (number of anchors, detections) """ - vector_at_zero = np.array([ - vector.end.x - vector.start.x, - vector.end.y - vector.start.y, - ]) + vector_at_zero = np.array( + [ + vector.end.x - vector.start.x, + vector.end.y - vector.start.y, + ] + ) vector_start = np.array([vector.start.x, vector.start.y]) return np.cross(vector_at_zero, anchors - vector_start) From 5c35af99d00f29a6cef05e705251c525ea771190 Mon Sep 17 00:00:00 2001 From: hidara2000 Date: Thu, 17 Apr 2025 11:02:25 +1000 Subject: [PATCH 178/420] fix long comment lines --- supervision/annotators/core.py | 21 ++++++++++----------- 1 file changed, 10 insertions(+), 11 deletions(-) diff --git a/supervision/annotators/core.py b/supervision/annotators/core.py index b78b3b173d..8526982125 100644 --- a/supervision/annotators/core.py +++ b/supervision/annotators/core.py @@ -326,9 +326,9 @@ def _wrap_text(self, text: str) -> List[str]: wrapped = textwrap.wrap( paragraph, width=self.max_line_length, - break_long_words=True, # Break words longer than max_line_length - replace_whitespace=False, # Preserve existing spaces - drop_whitespace=True, # Drop leading/trailing whitespace on wrapped lines + break_long_words=True, + replace_whitespace=False, + drop_whitespace=True, ) # Add the wrapped lines for this paragraph @@ -1375,12 +1375,10 @@ def _get_label_properties( position=self.text_anchor, ) - label_properties.append( - [ - *text_background_xyxy, - total_height, - ] - ) + label_properties.append([ + *text_background_xyxy, + total_height, + ]) return np.array(label_properties).reshape(-1, 5) def _draw_labels( @@ -1431,9 +1429,10 @@ def _draw_labels( current_y = box_xyxy[1] + self.text_padding # Start y position for line in wrapped_lines: - if not line: # Skip empty lines + if not line: + # Use a character with ascenders and descenders as height reference (_, text_h) = cv2.getTextSize( - text="Tg", # Use a character with ascenders and descenders as height reference + text="Tg", fontFace=CV2_FONT, fontScale=self.text_scale, thickness=self.text_thickness, From 95a2ecc49b3a3a229dc8d25edb075d6772d14de4 Mon Sep 17 00:00:00 2001 From: "pre-commit-ci[bot]" <66853113+pre-commit-ci[bot]@users.noreply.github.com> Date: Thu, 17 Apr 2025 01:02:42 +0000 Subject: [PATCH 179/420] =?UTF-8?q?fix(pre=5Fcommit):=20=F0=9F=8E=A8=20aut?= =?UTF-8?q?o=20format=20pre-commit=20hooks?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- supervision/annotators/core.py | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/supervision/annotators/core.py b/supervision/annotators/core.py index 8526982125..1fd85a71c5 100644 --- a/supervision/annotators/core.py +++ b/supervision/annotators/core.py @@ -1375,10 +1375,12 @@ def _get_label_properties( position=self.text_anchor, ) - label_properties.append([ - *text_background_xyxy, - total_height, - ]) + label_properties.append( + [ + *text_background_xyxy, + total_height, + ] + ) return np.array(label_properties).reshape(-1, 5) def _draw_labels( From 39acd616a648417b67fc4034874139a32ab78585 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 21 Apr 2025 00:41:11 +0000 Subject: [PATCH 180/420] :arrow_up: Bump astral-sh/setup-uv from 5.4.1 to 5.4.2 Bumps [astral-sh/setup-uv](https://github.com/astral-sh/setup-uv) from 5.4.1 to 5.4.2. - [Release notes](https://github.com/astral-sh/setup-uv/releases) - [Commits](https://github.com/astral-sh/setup-uv/compare/0c5e2b8115b80b4c7c5ddf6ffdd634974642d182...d4b2f3b6ecc6e67c4457f6d3e41ec42d3d0fcb86) --- updated-dependencies: - dependency-name: astral-sh/setup-uv dependency-version: 5.4.2 dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] --- .github/workflows/publish-docs.yml | 2 +- .github/workflows/publish-pre-release.yml | 2 +- .github/workflows/publish-release.yml | 2 +- .github/workflows/publish-testpypi.yml | 2 +- .github/workflows/test-doc.yml | 2 +- .github/workflows/uv-test.yml | 2 +- 6 files changed, 6 insertions(+), 6 deletions(-) diff --git a/.github/workflows/publish-docs.yml b/.github/workflows/publish-docs.yml index a1a7cb159c..4a5a23013b 100644 --- a/.github/workflows/publish-docs.yml +++ b/.github/workflows/publish-docs.yml @@ -34,7 +34,7 @@ jobs: fetch-depth: 0 - name: 🐍 Install uv and set Python ${{ matrix.python-version }} - uses: astral-sh/setup-uv@0c5e2b8115b80b4c7c5ddf6ffdd634974642d182 # v5.4.1 + uses: astral-sh/setup-uv@d4b2f3b6ecc6e67c4457f6d3e41ec42d3d0fcb86 # v5.4.2 with: python-version: ${{ matrix.python-version }} diff --git a/.github/workflows/publish-pre-release.yml b/.github/workflows/publish-pre-release.yml index 8745ceef3d..409de05521 100644 --- a/.github/workflows/publish-pre-release.yml +++ b/.github/workflows/publish-pre-release.yml @@ -29,7 +29,7 @@ jobs: uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 - name: 🐍 Install uv and set Python version ${{ matrix.python-version }} - uses: astral-sh/setup-uv@0c5e2b8115b80b4c7c5ddf6ffdd634974642d182 # v5.4.1 + uses: astral-sh/setup-uv@d4b2f3b6ecc6e67c4457f6d3e41ec42d3d0fcb86 # v5.4.2 with: python-version: ${{ matrix.python-version }} diff --git a/.github/workflows/publish-release.yml b/.github/workflows/publish-release.yml index 790ab60cd1..d420f99570 100644 --- a/.github/workflows/publish-release.yml +++ b/.github/workflows/publish-release.yml @@ -27,7 +27,7 @@ jobs: uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 - name: 🐍 Install uv and set Python version ${{ matrix.python-version }} - uses: astral-sh/setup-uv@0c5e2b8115b80b4c7c5ddf6ffdd634974642d182 # v5.4.1 + uses: astral-sh/setup-uv@d4b2f3b6ecc6e67c4457f6d3e41ec42d3d0fcb86 # v5.4.2 with: python-version: ${{ matrix.python-version }} diff --git a/.github/workflows/publish-testpypi.yml b/.github/workflows/publish-testpypi.yml index 7a1f3cce46..c51afae0c8 100644 --- a/.github/workflows/publish-testpypi.yml +++ b/.github/workflows/publish-testpypi.yml @@ -24,7 +24,7 @@ jobs: uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 - name: 🐍 Install uv and set Python version ${{ matrix.python-version }} - uses: astral-sh/setup-uv@0c5e2b8115b80b4c7c5ddf6ffdd634974642d182 # v5.4.1 + uses: astral-sh/setup-uv@d4b2f3b6ecc6e67c4457f6d3e41ec42d3d0fcb86 # v5.4.2 with: python-version: ${{ matrix.python-version }} diff --git a/.github/workflows/test-doc.yml b/.github/workflows/test-doc.yml index 0dad5b5560..789f3ead69 100644 --- a/.github/workflows/test-doc.yml +++ b/.github/workflows/test-doc.yml @@ -24,7 +24,7 @@ jobs: fetch-depth: 0 - name: 🐍 Install uv and set Python ${{ matrix.python-version }} - uses: astral-sh/setup-uv@0c5e2b8115b80b4c7c5ddf6ffdd634974642d182 # v5.4.1 + uses: astral-sh/setup-uv@d4b2f3b6ecc6e67c4457f6d3e41ec42d3d0fcb86 # v5.4.2 with: python-version: ${{ matrix.python-version }} diff --git a/.github/workflows/uv-test.yml b/.github/workflows/uv-test.yml index c1e0e60d61..953d944387 100644 --- a/.github/workflows/uv-test.yml +++ b/.github/workflows/uv-test.yml @@ -19,7 +19,7 @@ jobs: uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 - name: 🐍 Install uv and set Python version ${{ matrix.python-version }} - uses: astral-sh/setup-uv@0c5e2b8115b80b4c7c5ddf6ffdd634974642d182 # v5.4.1 + uses: astral-sh/setup-uv@d4b2f3b6ecc6e67c4457f6d3e41ec42d3d0fcb86 # v5.4.2 with: python-version: ${{ matrix.python-version }} From 51a108b5ab7d4afb0028e2340142c4f462b2c862 Mon Sep 17 00:00:00 2001 From: "pre-commit-ci[bot]" <66853113+pre-commit-ci[bot]@users.noreply.github.com> Date: Mon, 21 Apr 2025 17:20:07 +0000 Subject: [PATCH 181/420] =?UTF-8?q?chore(pre=5Fcommit):=20=E2=AC=86=20pre?= =?UTF-8?q?=5Fcommit=20autoupdate?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit updates: - [github.com/astral-sh/ruff-pre-commit: v0.11.5 → v0.11.6](https://github.com/astral-sh/ruff-pre-commit/compare/v0.11.5...v0.11.6) --- .pre-commit-config.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index 8bd038744b..3bad263f2d 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -32,7 +32,7 @@ repos: additional_dependencies: ["bandit[toml]"] - repo: https://github.com/astral-sh/ruff-pre-commit - rev: v0.11.5 + rev: v0.11.6 hooks: - id: ruff args: [--fix, --exit-non-zero-on-fix] From 5d6ad6661829a872688cf438a7a4b1cb6d703f17 Mon Sep 17 00:00:00 2001 From: Onuralp SEZER Date: Tue, 22 Apr 2025 16:30:42 +0300 Subject: [PATCH 182/420] =?UTF-8?q?feat:=20=E2=9C=A8=20add=20xyxy=5Fto=5Fx?= =?UTF-8?q?cycarh=20conversion=20function?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- docs/detection/utils.md | 6 ++++ supervision/__init__.py | 2 ++ supervision/detection/utils.py | 50 ++++++++++++++++++++++++++++++++++ test/detection/test_utils.py | 31 +++++++++++++++++++++ 4 files changed, 89 insertions(+) diff --git a/docs/detection/utils.md b/docs/detection/utils.md index 25c1cc7da8..b0f1416fe5 100644 --- a/docs/detection/utils.md +++ b/docs/detection/utils.md @@ -95,6 +95,12 @@ status: new :::supervision.detection.utils.xyxy_to_xywh + + +:::supervision.detection.utils.xyxy_to_xcycarh + diff --git a/supervision/__init__.py b/supervision/__init__.py index 2835ef3ecc..de2818fab5 100644 --- a/supervision/__init__.py +++ b/supervision/__init__.py @@ -76,6 +76,7 @@ xcycwh_to_xyxy, xywh_to_xyxy, xyxy_to_polygons, + xyxy_to_xcycarh, xyxy_to_xywh, ) from supervision.detection.vlm import LMM, VLM @@ -225,5 +226,6 @@ "xcycwh_to_xyxy", "xywh_to_xyxy", "xyxy_to_polygons", + "xyxy_to_xyah", "xyxy_to_xywh", ] diff --git a/supervision/detection/utils.py b/supervision/detection/utils.py index 61d0c0cbc6..8153628bde 100644 --- a/supervision/detection/utils.py +++ b/supervision/detection/utils.py @@ -397,6 +397,56 @@ def xcycwh_to_xyxy(xcycwh: np.ndarray) -> np.ndarray: return xyxy +def xyxy_to_xcycarh(xyxy: np.ndarray) -> np.ndarray: + """ + Converts bounding box coordinates from `(x_min, y_min, x_max, y_max)` + into measurement space to format `(center x, center y, aspect ratio, height)`, + where the aspect ratio is `width / height`. + + Args: + xyxy (np.ndarray): Bounding box in format `(x1, y1, x2, y2)`. + Expected shape is `(N, 4)`. + Returns: + np.ndarray: Bounding box in format + `(center x, center y, aspect ratio, height)`. Shape `(N, 4)`. + + Examples: + ```python + import numpy as np + import supervision as sv + + xyxy = np.array([ + [10, 20, 40, 60], + [15, 25, 50, 70] + ]) + + sv.xyxy_to_xcycarh(xyxy=xyxy) + # array([ + # [25. , 40. , 0.75, 40. ], + # [32.5 , 47.5 , 0.77777778, 45. ] + # ]) + ``` + + """ + if xyxy.size == 0: + return np.empty((0, 4), dtype=float) + + x1, y1, x2, y2 = xyxy.T + width = x2 - x1 + height = y2 - y1 + center_x = x1 + width / 2 + center_y = y1 + height / 2 + + aspect_ratio = np.divide( + width, + height, + out=np.zeros_like(width, dtype=float), + where=height != 0, + ) + result = np.column_stack((center_x, center_y, aspect_ratio, height)) + return result.astype(float) + + def mask_to_xyxy(masks: np.ndarray) -> np.ndarray: """ Converts a 3D `np.array` of 2D bool masks into a 2D `np.array` of bounding boxes. diff --git a/test/detection/test_utils.py b/test/detection/test_utils.py index e3c7054471..6145aff154 100644 --- a/test/detection/test_utils.py +++ b/test/detection/test_utils.py @@ -21,6 +21,7 @@ scale_boxes, xcycwh_to_xyxy, xywh_to_xyxy, + xyxy_to_xcycarh, xyxy_to_xywh, ) @@ -1405,6 +1406,36 @@ def test_xyxy_to_xywh(xyxy: np.ndarray, expected_result: np.ndarray) -> None: np.testing.assert_array_equal(result, expected_result) +@pytest.mark.parametrize( + "xyxy, expected_result", + [ + ( + np.array([[10, 20, 40, 60]]), + np.array([[25, 40, 0.75, 40]]), + ), # standard case + (np.array([[0, 0, 0, 0]]), np.array([[0, 0, 0.0, 0]])), + # zero size bounding box + ( + np.array([[50, 50, 150, 150]]), + np.array([[100, 100, 1.0, 100]]), + ), # square bounding box + ( + np.array([[-10, -20, 20, 20]]), + np.array([[5, 0, 0.75, 40]]), + ), # negative coordinates + ( + np.array([[50, 50, 50, 80]]), + np.array([[50, 65, 0.0, 30]]), + ), # zero width + (np.array([[50, 50, 70, 50]]), np.array([[60, 50, 0.0, 0]])), # zero height + (np.array([]).reshape(0, 4), np.array([]).reshape(0, 4)), # empty array + ], +) +def test_xyxy_to_xcycarh(xyxy: np.ndarray, expected_result: np.ndarray) -> None: + result = xyxy_to_xcycarh(xyxy) + np.testing.assert_allclose(result, expected_result) + + @pytest.mark.parametrize( "xcycwh, expected_result", [ From 9ed9cd2592f75c994c9c9dc9ad94748db707cf4e Mon Sep 17 00:00:00 2001 From: Onuralp SEZER Date: Tue, 22 Apr 2025 17:53:54 +0300 Subject: [PATCH 183/420] =?UTF-8?q?feat(mkdocs):=20=20=F0=9F=93=9D=20add?= =?UTF-8?q?=20options=20for=20root=20heading=20and=20pygments=20language?= =?UTF-8?q?=20class=20in=20markdown=20extensions?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- mkdocs.yml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/mkdocs.yml b/mkdocs.yml index cc0c8d1257..946bcedce3 100644 --- a/mkdocs.yml +++ b/mkdocs.yml @@ -149,6 +149,7 @@ plugins: group_by_category: true docstring_style: google show_symbol_type_heading: true + show_root_heading: True show_symbol_type_toc: true show_category_heading: true inventories: @@ -178,6 +179,8 @@ markdown_extensions: check_paths: true - pymdownx.highlight: anchor_linenums: true + line_spans: __span + pygments_lang_class: true extra_javascript: - "javascripts/init_kapa_widget.js" From 6387513805cd56398aa78f9b2a414f02f6eaf034 Mon Sep 17 00:00:00 2001 From: SkalskiP Date: Tue, 22 Apr 2025 20:07:54 +0200 Subject: [PATCH 184/420] update test cases --- test/detection/test_utils.py | 42 ++++++++++++++++++++---------------- 1 file changed, 23 insertions(+), 19 deletions(-) diff --git a/test/detection/test_utils.py b/test/detection/test_utils.py index 6145aff154..656a75f44d 100644 --- a/test/detection/test_utils.py +++ b/test/detection/test_utils.py @@ -1409,26 +1409,30 @@ def test_xyxy_to_xywh(xyxy: np.ndarray, expected_result: np.ndarray) -> None: @pytest.mark.parametrize( "xyxy, expected_result", [ - ( - np.array([[10, 20, 40, 60]]), - np.array([[25, 40, 0.75, 40]]), - ), # standard case - (np.array([[0, 0, 0, 0]]), np.array([[0, 0, 0.0, 0]])), - # zero size bounding box - ( - np.array([[50, 50, 150, 150]]), - np.array([[100, 100, 1.0, 100]]), - ), # square bounding box - ( - np.array([[-10, -20, 20, 20]]), - np.array([[5, 0, 0.75, 40]]), - ), # negative coordinates - ( - np.array([[50, 50, 50, 80]]), - np.array([[50, 65, 0.0, 30]]), - ), # zero width - (np.array([[50, 50, 70, 50]]), np.array([[60, 50, 0.0, 0]])), # zero height + # Empty and zero cases (np.array([]).reshape(0, 4), np.array([]).reshape(0, 4)), # empty array + (np.array([[0, 0, 0, 0]]), np.array([[0, 0, 0.0, 0]])), # zero size bounding box + (np.array([[10, 10, 10, 10]]), np.array([[10, 10, 0.0, 0]])), # point (x1=x2, y1=y2) + + # Zero width/height cases + (np.array([[50, 50, 80, 50]]), np.array([[65, 50, 0.0, 0]])), # zero height + (np.array([[50, 50, 50, 80]]), np.array([[50, 65, 0.0, 30]])), # zero width + + # Standard cases + (np.array([[10, 20, 40, 60]]), np.array([[25, 40, 0.75, 40]])), # standard case + (np.array([[-30, -40, -10, -20]]), np.array([[-20, -30, 1.0, 20]])), # all negative values + (np.array([[0.1, 0.2, 0.4, 0.6]]), np.array([[0.25, 0.4, 0.75, 0.4]])), # values between 0-1 + + # Different aspect ratios + (np.array([[10, 20, 50, 100]]), np.array([[30, 60, 0.5, 80]])), # tall rectangle (height > width) + (np.array([[20, 10, 100, 50]]), np.array([[60, 30, 2.0, 40]])), # wide rectangle (width > height) + (np.array([[50, 50, 150, 150]]), np.array([[100, 100, 1.0, 100]])), # height == width + + # Multiple boxes in one array + ( + np.array([[0, 0, 0, 0], [10, 20, 40, 60]]), + np.array([[0, 0, 0.0, 0], [25, 40, 0.75, 40]]), + ), # one zero-sized box and one normal box ], ) def test_xyxy_to_xcycarh(xyxy: np.ndarray, expected_result: np.ndarray) -> None: From ec0add34ee3dfe5c405c337dee02740d165987c6 Mon Sep 17 00:00:00 2001 From: "pre-commit-ci[bot]" <66853113+pre-commit-ci[bot]@users.noreply.github.com> Date: Tue, 22 Apr 2025 18:08:16 +0000 Subject: [PATCH 185/420] =?UTF-8?q?fix(pre=5Fcommit):=20=F0=9F=8E=A8=20aut?= =?UTF-8?q?o=20format=20pre-commit=20hooks?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- test/detection/test_utils.py | 39 ++++++++++++++++++++++++++---------- 1 file changed, 28 insertions(+), 11 deletions(-) diff --git a/test/detection/test_utils.py b/test/detection/test_utils.py index 656a75f44d..8808588b24 100644 --- a/test/detection/test_utils.py +++ b/test/detection/test_utils.py @@ -1411,23 +1411,40 @@ def test_xyxy_to_xywh(xyxy: np.ndarray, expected_result: np.ndarray) -> None: [ # Empty and zero cases (np.array([]).reshape(0, 4), np.array([]).reshape(0, 4)), # empty array - (np.array([[0, 0, 0, 0]]), np.array([[0, 0, 0.0, 0]])), # zero size bounding box - (np.array([[10, 10, 10, 10]]), np.array([[10, 10, 0.0, 0]])), # point (x1=x2, y1=y2) - + ( + np.array([[0, 0, 0, 0]]), + np.array([[0, 0, 0.0, 0]]), + ), # zero size bounding box + ( + np.array([[10, 10, 10, 10]]), + np.array([[10, 10, 0.0, 0]]), + ), # point (x1=x2, y1=y2) # Zero width/height cases (np.array([[50, 50, 80, 50]]), np.array([[65, 50, 0.0, 0]])), # zero height (np.array([[50, 50, 50, 80]]), np.array([[50, 65, 0.0, 30]])), # zero width - # Standard cases (np.array([[10, 20, 40, 60]]), np.array([[25, 40, 0.75, 40]])), # standard case - (np.array([[-30, -40, -10, -20]]), np.array([[-20, -30, 1.0, 20]])), # all negative values - (np.array([[0.1, 0.2, 0.4, 0.6]]), np.array([[0.25, 0.4, 0.75, 0.4]])), # values between 0-1 - + ( + np.array([[-30, -40, -10, -20]]), + np.array([[-20, -30, 1.0, 20]]), + ), # all negative values + ( + np.array([[0.1, 0.2, 0.4, 0.6]]), + np.array([[0.25, 0.4, 0.75, 0.4]]), + ), # values between 0-1 # Different aspect ratios - (np.array([[10, 20, 50, 100]]), np.array([[30, 60, 0.5, 80]])), # tall rectangle (height > width) - (np.array([[20, 10, 100, 50]]), np.array([[60, 30, 2.0, 40]])), # wide rectangle (width > height) - (np.array([[50, 50, 150, 150]]), np.array([[100, 100, 1.0, 100]])), # height == width - + ( + np.array([[10, 20, 50, 100]]), + np.array([[30, 60, 0.5, 80]]), + ), # tall rectangle (height > width) + ( + np.array([[20, 10, 100, 50]]), + np.array([[60, 30, 2.0, 40]]), + ), # wide rectangle (width > height) + ( + np.array([[50, 50, 150, 150]]), + np.array([[100, 100, 1.0, 100]]), + ), # height == width # Multiple boxes in one array ( np.array([[0, 0, 0, 0], [10, 20, 40, 60]]), From 94131ff56b252ddf29934eda3790abee8fe5c5c0 Mon Sep 17 00:00:00 2001 From: Soumik Rakshit <19soumik.rakshit96@gmail.com> Date: Tue, 22 Apr 2025 18:13:34 +0000 Subject: [PATCH 186/420] add: support for non-str labels --- supervision/annotators/core.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/supervision/annotators/core.py b/supervision/annotators/core.py index 1b5b9bee79..d42e46d3ad 100644 --- a/supervision/annotators/core.py +++ b/supervision/annotators/core.py @@ -1130,7 +1130,7 @@ def _get_labels_text( detections: Detections, custom_labels: Optional[List[str]] ) -> List[str]: if custom_labels is not None: - return custom_labels + return [str(label) for label in custom_labels] labels = [] for idx in range(len(detections)): From f866fe046fe686b9b066d2b1fa059fc3e89d779c Mon Sep 17 00:00:00 2001 From: SkalskiP Date: Wed, 23 Apr 2025 15:41:42 +0200 Subject: [PATCH 187/420] ready for tests --- supervision/annotators/utils.py | 6 ++++++ supervision/draw/color.py | 23 ++++++++++++++--------- 2 files changed, 20 insertions(+), 9 deletions(-) diff --git a/supervision/annotators/utils.py b/supervision/annotators/utils.py index ae4f8cdc8b..bada2a3093 100644 --- a/supervision/annotators/utils.py +++ b/supervision/annotators/utils.py @@ -8,6 +8,10 @@ from supervision.geometry.core import Position +PENDING_TRACK_COLOR = Color.GREY +PENDING_TRACK_ID = -1 + + class ColorLookup(Enum): """ Enumeration class to define strategies for mapping colors to annotations. @@ -136,6 +140,8 @@ def resolve_color( detection_idx=detection_idx, color_lookup=color_lookup, ) + if color_lookup == ColorLookup.TRACK and idx == PENDING_TRACK_ID: + return PENDING_TRACK_COLOR return get_color_by_index(color=color, idx=idx) diff --git a/supervision/draw/color.py b/supervision/draw/color.py index fe3ba9003d..e52df5a00a 100644 --- a/supervision/draw/color.py +++ b/supervision/draw/color.py @@ -83,15 +83,16 @@ class Color: # Color(r=255, g=255, b=255) ``` - | Constant | Hex Code | RGB | - |------------|------------|------------------| - | `WHITE` | `#FFFFFF` | `(255, 255, 255)`| - | `BLACK` | `#000000` | `(0, 0, 0)` | - | `RED` | `#FF0000` | `(255, 0, 0)` | - | `GREEN` | `#00FF00` | `(0, 255, 0)` | - | `BLUE` | `#0000FF` | `(0, 0, 255)` | - | `YELLOW` | `#FFFF00` | `(255, 255, 0)` | - | `ROBOFLOW` | `#A351FB` | `(163, 81, 251)` | + | Constant | Hex Code | RGB | + |------------|------------|-------------------| + | `WHITE` | `#FFFFFF` | `(255, 255, 255)` | + | `BLACK` | `#000000` | `(0, 0, 0)` | + | `GREY` | `#808080` | `(128, 128, 128)` | + | `RED` | `#FF0000` | `(255, 0, 0)` | + | `GREEN` | `#00FF00` | `(0, 255, 0)` | + | `BLUE` | `#0000FF` | `(0, 0, 255)` | + | `YELLOW` | `#FFFF00` | `(255, 255, 0)` | + | `ROBOFLOW` | `#A351FB` | `(163, 81, 251)` | """ r: int @@ -235,6 +236,10 @@ def WHITE(cls) -> Color: def BLACK(cls) -> Color: return Color.from_hex("#000000") + @classproperty + def GREY(cls) -> Color: + return Color.from_hex("#808080") + @classproperty def RED(cls) -> Color: return Color.from_hex("#FF0000") From 587c61883b6cd1b4a92e20c2fb541af6c76d8760 Mon Sep 17 00:00:00 2001 From: SkalskiP Date: Wed, 23 Apr 2025 15:42:24 +0200 Subject: [PATCH 188/420] bump version from `0.26.0rc4` to `0.26.0rc5` --- pyproject.toml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pyproject.toml b/pyproject.toml index 9aca1a9734..1a003593e6 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -2,7 +2,7 @@ name = "supervision" description = "A set of easy-to-use utils that will come in handy in any Computer Vision project" license = { text = "MIT" } -version = "0.26.0rc4" +version = "0.26.0rc5" readme = "README.md" requires-python = ">=3.8" authors = [ From b9475f14f3f88fefd7d056ab7e1c2a5fb2880703 Mon Sep 17 00:00:00 2001 From: "pre-commit-ci[bot]" <66853113+pre-commit-ci[bot]@users.noreply.github.com> Date: Wed, 23 Apr 2025 13:45:37 +0000 Subject: [PATCH 189/420] =?UTF-8?q?fix(pre=5Fcommit):=20=F0=9F=8E=A8=20aut?= =?UTF-8?q?o=20format=20pre-commit=20hooks?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- supervision/annotators/utils.py | 1 - 1 file changed, 1 deletion(-) diff --git a/supervision/annotators/utils.py b/supervision/annotators/utils.py index bada2a3093..74d25a65b1 100644 --- a/supervision/annotators/utils.py +++ b/supervision/annotators/utils.py @@ -7,7 +7,6 @@ from supervision.draw.color import Color, ColorPalette from supervision.geometry.core import Position - PENDING_TRACK_COLOR = Color.GREY PENDING_TRACK_ID = -1 From 639318832b73ba95c005983731a767cd087f55a4 Mon Sep 17 00:00:00 2001 From: SkalskiP Date: Wed, 23 Apr 2025 23:55:34 +0200 Subject: [PATCH 190/420] ready for tests --- supervision/annotators/core.py | 6 +++++- supervision/annotators/utils.py | 4 +--- supervision/config.py | 7 ++++++- 3 files changed, 12 insertions(+), 5 deletions(-) diff --git a/supervision/annotators/core.py b/supervision/annotators/core.py index d42e46d3ad..322833b2e6 100644 --- a/supervision/annotators/core.py +++ b/supervision/annotators/core.py @@ -14,7 +14,8 @@ resolve_color, resolve_text_background_xyxy, ) -from supervision.config import CLASS_NAME_DATA_FIELD, ORIENTED_BOX_COORDINATES +from supervision.config import CLASS_NAME_DATA_FIELD, ORIENTED_BOX_COORDINATES, \ + PENDING_TRACK_ID from supervision.detection.core import Detections from supervision.detection.utils import ( clip_boxes, @@ -1743,6 +1744,9 @@ def annotate( self.trace.put(detections) for detection_idx in range(len(detections)): tracker_id = int(detections.tracker_id[detection_idx]) + if tracker_id == PENDING_TRACK_ID: + continue + color = resolve_color( color=self.color, detections=detections, diff --git a/supervision/annotators/utils.py b/supervision/annotators/utils.py index 74d25a65b1..8deef0bf15 100644 --- a/supervision/annotators/utils.py +++ b/supervision/annotators/utils.py @@ -3,13 +3,11 @@ import numpy as np +from supervision.config import PENDING_TRACK_COLOR, PENDING_TRACK_ID from supervision.detection.core import Detections from supervision.draw.color import Color, ColorPalette from supervision.geometry.core import Position -PENDING_TRACK_COLOR = Color.GREY -PENDING_TRACK_ID = -1 - class ColorLookup(Enum): """ diff --git a/supervision/config.py b/supervision/config.py index b18d2e20b6..21d4dfd7b9 100644 --- a/supervision/config.py +++ b/supervision/config.py @@ -1,2 +1,7 @@ +from supervision import Color + +PENDING_TRACK_COLOR = Color.GREY +PENDING_TRACK_ID = -1 + CLASS_NAME_DATA_FIELD = "class_name" -ORIENTED_BOX_COORDINATES = "xyxyxyxy" +ORIENTED_BOX_COORDINATES = "xyxyxyxy" \ No newline at end of file From 2ea0f443f843811af44122a00aeb49ec05cefc0a Mon Sep 17 00:00:00 2001 From: SkalskiP Date: Thu, 24 Apr 2025 00:08:06 +0200 Subject: [PATCH 191/420] test new approach --- supervision/annotators/core.py | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/supervision/annotators/core.py b/supervision/annotators/core.py index 322833b2e6..5720b58049 100644 --- a/supervision/annotators/core.py +++ b/supervision/annotators/core.py @@ -1740,13 +1740,11 @@ def annotate( "The `tracker_id` field is missing in the provided detections." " See more: https://supervision.roboflow.com/latest/how_to/track_objects" ) + detections = detections[detections.tracker_id != PENDING_TRACK_ID] self.trace.put(detections) for detection_idx in range(len(detections)): tracker_id = int(detections.tracker_id[detection_idx]) - if tracker_id == PENDING_TRACK_ID: - continue - color = resolve_color( color=self.color, detections=detections, From da498b091b57e19e9f2271cb3860c96f17167abb Mon Sep 17 00:00:00 2001 From: SkalskiP Date: Thu, 24 Apr 2025 00:13:32 +0200 Subject: [PATCH 192/420] fix circular import --- supervision/annotators/core.py | 5 ++--- supervision/annotators/utils.py | 3 ++- supervision/config.py | 5 ----- 3 files changed, 4 insertions(+), 9 deletions(-) diff --git a/supervision/annotators/core.py b/supervision/annotators/core.py index 5720b58049..52b89833ea 100644 --- a/supervision/annotators/core.py +++ b/supervision/annotators/core.py @@ -12,10 +12,9 @@ ColorLookup, Trace, resolve_color, - resolve_text_background_xyxy, + resolve_text_background_xyxy, PENDING_TRACK_ID, ) -from supervision.config import CLASS_NAME_DATA_FIELD, ORIENTED_BOX_COORDINATES, \ - PENDING_TRACK_ID +from supervision.config import CLASS_NAME_DATA_FIELD, ORIENTED_BOX_COORDINATES from supervision.detection.core import Detections from supervision.detection.utils import ( clip_boxes, diff --git a/supervision/annotators/utils.py b/supervision/annotators/utils.py index 8deef0bf15..501f653570 100644 --- a/supervision/annotators/utils.py +++ b/supervision/annotators/utils.py @@ -3,11 +3,12 @@ import numpy as np -from supervision.config import PENDING_TRACK_COLOR, PENDING_TRACK_ID from supervision.detection.core import Detections from supervision.draw.color import Color, ColorPalette from supervision.geometry.core import Position +PENDING_TRACK_COLOR = Color.GREY +PENDING_TRACK_ID = -1 class ColorLookup(Enum): """ diff --git a/supervision/config.py b/supervision/config.py index 21d4dfd7b9..050ad6e680 100644 --- a/supervision/config.py +++ b/supervision/config.py @@ -1,7 +1,2 @@ -from supervision import Color - -PENDING_TRACK_COLOR = Color.GREY -PENDING_TRACK_ID = -1 - CLASS_NAME_DATA_FIELD = "class_name" ORIENTED_BOX_COORDINATES = "xyxyxyxy" \ No newline at end of file From 047489b96ee86e6122befde7e457e4e0868d1240 Mon Sep 17 00:00:00 2001 From: SkalskiP Date: Thu, 24 Apr 2025 00:22:27 +0200 Subject: [PATCH 193/420] bump version from `0.26.0rc5` to `0.26.0rc6` --- pyproject.toml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pyproject.toml b/pyproject.toml index 1a003593e6..6f8822f02a 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -2,7 +2,7 @@ name = "supervision" description = "A set of easy-to-use utils that will come in handy in any Computer Vision project" license = { text = "MIT" } -version = "0.26.0rc5" +version = "0.26.0rc6" readme = "README.md" requires-python = ">=3.8" authors = [ From 1cf95972f391bb9f4a8b5f782456815a250fbd1d Mon Sep 17 00:00:00 2001 From: "pre-commit-ci[bot]" <66853113+pre-commit-ci[bot]@users.noreply.github.com> Date: Wed, 23 Apr 2025 22:26:23 +0000 Subject: [PATCH 194/420] =?UTF-8?q?fix(pre=5Fcommit):=20=F0=9F=8E=A8=20aut?= =?UTF-8?q?o=20format=20pre-commit=20hooks?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- supervision/annotators/core.py | 3 ++- supervision/annotators/utils.py | 1 + supervision/config.py | 2 +- 3 files changed, 4 insertions(+), 2 deletions(-) diff --git a/supervision/annotators/core.py b/supervision/annotators/core.py index 52b89833ea..b539573753 100644 --- a/supervision/annotators/core.py +++ b/supervision/annotators/core.py @@ -9,10 +9,11 @@ from supervision.annotators.base import BaseAnnotator, ImageType from supervision.annotators.utils import ( + PENDING_TRACK_ID, ColorLookup, Trace, resolve_color, - resolve_text_background_xyxy, PENDING_TRACK_ID, + resolve_text_background_xyxy, ) from supervision.config import CLASS_NAME_DATA_FIELD, ORIENTED_BOX_COORDINATES from supervision.detection.core import Detections diff --git a/supervision/annotators/utils.py b/supervision/annotators/utils.py index 501f653570..74d25a65b1 100644 --- a/supervision/annotators/utils.py +++ b/supervision/annotators/utils.py @@ -10,6 +10,7 @@ PENDING_TRACK_COLOR = Color.GREY PENDING_TRACK_ID = -1 + class ColorLookup(Enum): """ Enumeration class to define strategies for mapping colors to annotations. diff --git a/supervision/config.py b/supervision/config.py index 050ad6e680..b18d2e20b6 100644 --- a/supervision/config.py +++ b/supervision/config.py @@ -1,2 +1,2 @@ CLASS_NAME_DATA_FIELD = "class_name" -ORIENTED_BOX_COORDINATES = "xyxyxyxy" \ No newline at end of file +ORIENTED_BOX_COORDINATES = "xyxyxyxy" From 00df1cbb04049c305ee112fd704041731a3ef414 Mon Sep 17 00:00:00 2001 From: soumik12345 <19soumik.rakshit96@gmail.com> Date: Fri, 25 Apr 2025 02:29:08 +0530 Subject: [PATCH 195/420] fix: UnboundLocalError --- supervision/utils/video.py | 12 +++++------- 1 file changed, 5 insertions(+), 7 deletions(-) diff --git a/supervision/utils/video.py b/supervision/utils/video.py index 6dd6e6ac3c..67f5191d39 100644 --- a/supervision/utils/video.py +++ b/supervision/utils/video.py @@ -234,13 +234,11 @@ def callback(scene: np.ndarray, index: int) -> np.ndarray: source_path=source_path, end=max_frames ) with VideoSink(target_path=target_path, video_info=source_video_info) as sink: - if show_progress: - # Calculate total_frames only when needed for tqdm - total_frames = ( - min(source_video_info.total_frames, max_frames) - if max_frames is not None - else source_video_info.total_frames - ) + total_frames = ( + min(source_video_info.total_frames, max_frames) + if max_frames is not None + else source_video_info.total_frames + ) for index, frame in enumerate( tqdm( video_frames_generator, From 29695055d298ff2be67c657040c1aefd7111d7be Mon Sep 17 00:00:00 2001 From: hidara2000 Date: Fri, 25 Apr 2025 09:32:54 +1000 Subject: [PATCH 196/420] refactor(annotators): streamline label handling and improve box snapping logic --- supervision/annotators/core.py | 280 +++++--------------------------- supervision/annotators/utils.py | 181 ++++++++++++++++++++- supervision/detection/utils.py | 68 ++------ 3 files changed, 228 insertions(+), 301 deletions(-) diff --git a/supervision/annotators/core.py b/supervision/annotators/core.py index 882b50ca90..5190fa211d 100644 --- a/supervision/annotators/core.py +++ b/supervision/annotators/core.py @@ -1,6 +1,6 @@ from functools import lru_cache from math import sqrt -from typing import Callable, List, Optional, Tuple, Union +from typing import List, Optional, Tuple, Union import cv2 import numpy as np @@ -11,10 +11,14 @@ from supervision.annotators.utils import ( ColorLookup, Trace, + get_labels_text, resolve_color, resolve_text_background_xyxy, + snap_boxes, + validate_labels, + wrap_text, ) -from supervision.config import CLASS_NAME_DATA_FIELD, ORIENTED_BOX_COORDINATES +from supervision.config import ORIENTED_BOX_COORDINATES from supervision.detection.core import Detections from supervision.detection.utils import ( clip_boxes, @@ -74,23 +78,21 @@ def __init__( Args: color (Union[Color, ColorPalette], optional): The color to use for the label - background. Defaults to ColorPalette.DEFAULT. + background. text_color (Union[Color, ColorPalette], optional): The color to use for the - label text. Defaults to Color.WHITE. + label text. text_padding (int, optional): The padding around the label text, in pixels. - Defaults to 10. text_position (Position, optional): The position of the text relative to the - detection bounding box. Defaults to Position.TOP_LEFT. + detection bounding box. color_lookup (ColorLookup, optional): The method used to determine the color - of the label. Defaults to ColorLookup.CLASS. + of the label border_radius (int, optional): The radius of the label background corners, - in pixels. Defaults to 0. + in pixels. smart_position (bool, optional): Whether to intelligently adjust the label position to avoid overlapping with other elements. - Defaults to False. max_line_length (Optional[int], optional): Maximum number of characters per line before wrapping the text. None means no wrapping. - Defaults to None. + """ self.color: Union[Color, ColorPalette] = color self.text_color: Union[Color, ColorPalette] = text_color @@ -101,137 +103,21 @@ def __init__( self.smart_position = smart_position self.max_line_length: Optional[int] = max_line_length - def _validate_labels(self, labels: Optional[List[str]], detections: Detections): - """ - Validates that the number of provided labels matches the number of detections. - - Args: - labels (Optional[List[str]]): A list of labels, one for each detection. Can - be None. - detections (Detections): The detections to be labeled. - - Raises: - ValueError: If `labels` is not None and its length does not match the number - of detections. - """ - if labels is not None and len(labels) != len(detections): - raise ValueError( - f"The number of labels ({len(labels)}) does not match the " - f"number of detections ({len(detections)}). Each detection " - f"should have exactly 1 label." - ) - - @staticmethod - def _get_labels_text( - detections: Detections, custom_labels: Optional[List[str]] - ) -> List[str]: - """ - Retrieves the text labels for the detections. - - If `custom_labels` are provided, they are used. Otherwise, the labels are - extracted from the `detections` object, prioritizing the 'class_name' field, - then the `class_id`, and finally using the detection index as a string. - - Args: - detections (Detections): The detections to get labels for. - custom_labels (Optional[List[str]]): An optional list of custom labels. - - Returns: - List[str]: A list of text labels for each detection. - """ - if custom_labels is not None: - return [str(label) for label in custom_labels] - - labels = [] - for idx in range(len(detections)): - if CLASS_NAME_DATA_FIELD in detections.data: - labels.append(detections.data[CLASS_NAME_DATA_FIELD][idx]) - elif detections.class_id is not None: - labels.append(str(detections.class_id[idx])) - else: - labels.append(str(idx)) - return labels - - def _ensure_box_in_frame( - self, - box: np.ndarray, - frame_width: int, - frame_height: int, - check_flip_label: bool = False, - text_anchor: Optional[Position] = None, - ) -> np.ndarray: - """ - Adjusts a box to ensure it stays within frame boundaries. - - Args: - box: Box coordinates [x1, y1, x2, y2] - frame_width: Width of the frame - frame_height: Height of the frame - check_flip_label: Whether to check if label should be flipped - text_anchor: Text anchor position for flip check - - Returns: - Adjusted box coordinates - """ - x1, y1, x2, y2 = box - - # Adjust x-coordinate to stay within frame - if x1 < 0: - shift = -x1 - x1 += shift - x2 += shift - elif x2 > frame_width: - shift = frame_width - x2 - x1 += shift - x2 += shift - - # Adjust y-coordinate to stay within frame - if y1 < 0: - shift = -y1 - y1 += shift - y2 += shift - elif y2 > frame_height: - shift = frame_height - y2 - y1 += shift - y2 += shift - - # Check if label should be flipped to above the box - if check_flip_label and text_anchor is not None: - box_height = y2 - y1 - - # Check anchor position to see if we can flip it - anchor_y = self._get_anchor_y_for_adjustment( - np.array([y1, y2]), text_anchor - ) - - # If we're at the bottom, try moving to the top - if anchor_y >= y2 - 5: # Near bottom edge - # Check if there's room at the top - if y1 - box_height >= 0: - y2 = y1 - y1 = y2 - box_height - - return np.array([x1, y1, x2, y2]) - def _adjust_labels_in_frame( self, - frame_width: int, - frame_height: int, + resolution_wh: Tuple[int, int], labels: List[str], label_properties: np.ndarray, - get_text_width_fn: Callable[[str], int], ) -> np.ndarray: """ Adjusts the position of labels to ensure they stay within the frame boundaries. Args: frame_width (int): The width of the frame. - frame_height (int): The height of the frame. + resolution_wh (int, int): The width and height of the frame. labels (List[str]): The list of text labels. label_properties (np.ndarray): An array of label properties, where each row contains [x1, y1, x2, y2, text_height, ...]. - get_text_width_fn (Callable[[str], int]): A function that takes a label - string and returns its width in pixels. Returns: np.ndarray: The adjusted label properties. @@ -239,15 +125,10 @@ def _adjust_labels_in_frame( adjusted_properties = label_properties.copy() # First, make sure the boxes don't go outside the frame - for i in range(len(labels)): - # Adjust box to stay within frame - adjusted_properties[i, :4] = self._ensure_box_in_frame( - adjusted_properties[i, :4], - frame_width, - frame_height, - check_flip_label=True, - text_anchor=self.text_anchor, - ) + adjusted_properties[:, :4] = snap_boxes( + adjusted_properties[:, :4], + resolution_wh, + ) # Apply the spread out algorithm to avoid box overlaps if len(labels) > 1: @@ -259,86 +140,11 @@ def _adjust_labels_in_frame( adjusted_properties[:, :4] = spread_boxes # Additional check to ensure boxes are still within frame after spreading - for i in range(len(labels)): - # Adjust box to stay within frame (without flipping) - adjusted_properties[i, :4] = self._ensure_box_in_frame( - adjusted_properties[i, :4], frame_width, frame_height - ) - - return adjusted_properties - - @staticmethod - def _get_anchor_y_for_adjustment(bbox_y: np.ndarray, anchor: Position) -> float: - """ - Calculates the anchor y-coordinate for label adjustment based on the text anchor - position. - - Args: - bbox_y (np.ndarray): An array containing the y1 and y2 coordinates of the - bounding box. - anchor (Position): The desired text anchor position. - - Returns: - float: The anchor y-coordinate. - """ - y1, y2 = bbox_y - if anchor in [Position.TOP_LEFT, Position.TOP_CENTER, Position.TOP_RIGHT]: - return y1 - elif anchor in [ - Position.BOTTOM_LEFT, - Position.BOTTOM_CENTER, - Position.BOTTOM_RIGHT, - ]: - return y2 - else: # CENTER, CENTER_LEFT, CENTER_RIGHT - return (y1 + y2) / 2 - - def _wrap_text(self, text: str) -> List[str]: - """ - Wraps text to the specified maximum line length, respecting existing newlines. - Uses the textwrap library for robust text wrapping. - - Args: - text (str): The text to wrap. - - Returns: - List[str]: A list of text lines after wrapping. - """ - import textwrap - - if not text: - return [""] - - if self.max_line_length is None: - return text.splitlines() or [""] - - # Split the text by existing newlines first - paragraphs = text.split("\n") - all_lines = [] - - for paragraph in paragraphs: - if not paragraph: - # Keep empty lines - all_lines.append("") - continue - - # Wrap each paragraph separately - wrapped = textwrap.wrap( - paragraph, - width=self.max_line_length, - break_long_words=True, - replace_whitespace=False, - drop_whitespace=True, + adjusted_properties[:, :4] = snap_boxes( + adjusted_properties[:, :4], resolution_wh ) - # Add the wrapped lines for this paragraph - if wrapped: - all_lines.extend(wrapped) - else: - # If wrap returns an empty list (e.g., for whitespace-only input) - all_lines.append("") - - return all_lines if all_lines else [""] + return adjusted_properties class BoxAnnotator(BaseAnnotator): @@ -1301,12 +1107,12 @@ def annotate( custom_color_lookup: Optional[np.ndarray] = None, ) -> np.ndarray: assert isinstance(scene, np.ndarray) - self._validate_labels(labels, detections) + validate_labels(labels, detections) - labels = self._get_labels_text(detections, labels) + labels = get_labels_text(detections, labels) label_properties = self._get_label_properties( - scene, detections, labels - ) # Pass scene + detections, labels + ) if self.smart_position: xyxy = label_properties[:, :4] @@ -1314,13 +1120,9 @@ def annotate( label_properties[:, :4] = xyxy label_properties = self._adjust_labels_in_frame( - scene.shape[1], - scene.shape[0], + (scene.shape[1], scene.shape[0]), labels, label_properties, - lambda text: cv2.getTextSize( - text, CV2_FONT, self.text_scale, self.text_thickness - )[0][0], ) self._draw_labels( @@ -1335,7 +1137,6 @@ def annotate( def _get_label_properties( self, - scene: np.ndarray, # Receive scene detections: Detections, labels: List[str], ) -> np.ndarray: @@ -1345,7 +1146,7 @@ def _get_label_properties( ).astype(int) for label, center_coords in zip(labels, anchors_coordinates): - wrapped_lines = self._wrap_text(label) + wrapped_lines = wrap_text(label, self.max_line_length) line_heights = [] line_widths = [] @@ -1375,12 +1176,10 @@ def _get_label_properties( position=self.text_anchor, ) - label_properties.append( - [ - *text_background_xyxy, - total_height, - ] - ) + label_properties.append([ + *text_background_xyxy, + total_height, + ]) return np.array(label_properties).reshape(-1, 5) def _draw_labels( @@ -1427,7 +1226,7 @@ def _draw_labels( ) # Handle multiline text - wrapped_lines = self._wrap_text(labels[idx]) + wrapped_lines = wrap_text(labels[idx], self.max_line_length) current_y = box_xyxy[1] + self.text_padding # Start y position for line in wrapped_lines: @@ -1550,10 +1349,10 @@ def annotate( custom_color_lookup: Optional[np.ndarray] = None, ) -> ImageType: assert isinstance(scene, Image.Image) - self._validate_labels(labels, detections) + validate_labels(labels, detections) draw = ImageDraw.Draw(scene) - labels = self._get_labels_text(detections, labels) + labels = get_labels_text(detections, labels) label_properties = self._get_label_properties(draw, detections, labels) if self.smart_position: @@ -1562,14 +1361,9 @@ def annotate( label_properties[:, :4] = xyxy label_properties = self._adjust_labels_in_frame( - scene.width, - scene.height, + (scene.width, scene.height), labels, label_properties, - lambda text: int( - draw.textbbox((0, 0), text, font=self.font)[2] - - draw.textbbox((0, 0), text, font=self.font)[0] - ), ) self._draw_labels( @@ -1592,7 +1386,7 @@ def _get_label_properties( ).astype(int) for label, center_coords in zip(labels, anchor_coordinates): - wrapped_lines = self._wrap_text(label) + wrapped_lines = wrap_text(label, self.max_line_length) # Calculate the total text height and maximum width max_width = 0 @@ -1672,7 +1466,7 @@ def _draw_labels( ) # Draw each line of text - wrapped_lines = self._wrap_text(labels[idx]) + wrapped_lines = wrap_text(labels[idx], self.max_line_length) x_position = box_xyxy[0] + self.text_padding - text_left y_position = box_xyxy[1] + self.text_padding - text_top diff --git a/supervision/annotators/utils.py b/supervision/annotators/utils.py index ae4f8cdc8b..48ee1ecb6e 100644 --- a/supervision/annotators/utils.py +++ b/supervision/annotators/utils.py @@ -1,8 +1,10 @@ +import textwrap from enum import Enum from typing import Optional, Tuple, Union import numpy as np +from supervision.config import CLASS_NAME_DATA_FIELD from supervision.detection.core import Detections from supervision.draw.color import Color, ColorPalette from supervision.geometry.core import Position @@ -139,6 +141,178 @@ def resolve_color( return get_color_by_index(color=color, idx=idx) +def wrap_text(text: str, max_line_length=None) -> list[str]: + """ + Wraps text to the specified maximum line length, respecting existing newlines. + Uses the textwrap library for robust text wrapping. + + Args: + text (str): The text to wrap. + + Returns: + List[str]: A list of text lines after wrapping. + """ + + if not text: + return [""] + + if max_line_length is None: + return text.splitlines() or [""] + + paragraphs = text.split("\n") + all_lines = [] + + for paragraph in paragraphs: + if not paragraph: + # Keep empty lines + all_lines.append("") + continue + + wrapped = textwrap.wrap( + paragraph, + width=max_line_length, + break_long_words=True, + replace_whitespace=False, + drop_whitespace=True, + ) + + if wrapped: + all_lines.extend(wrapped) + else: + all_lines.append("") + + return all_lines if all_lines else [""] + + +def validate_labels(labels: Optional[list[str]], detections: Detections): + """ + Validates that the number of provided labels matches the number of detections. + + Args: + labels (Optional[List[str]]): A list of labels, one for each detection. Can + be None. + detections (Detections): The detections to be labeled. + + Raises: + ValueError: If `labels` is not None and its length does not match the number + of detections. + """ + if labels is not None and len(labels) != len(detections): + raise ValueError( + f"The number of labels ({len(labels)}) does not match the " + f"number of detections ({len(detections)}). Each detection " + f"should have exactly 1 label." + ) + + +def get_labels_text( + detections: Detections, custom_labels: Optional[list[str]] +) -> list[str]: + """ + Retrieves the text labels for the detections. + + If `custom_labels` are provided, they are used. Otherwise, the labels are + extracted from the `detections` object, prioritizing the 'class_name' field, + then the `class_id`, and finally using the detection index as a string. + + Args: + detections (Detections): The detections to get labels for. + custom_labels (Optional[List[str]]): An optional list of custom labels. + + Returns: + List[str]: A list of text labels for each detection. + """ + if custom_labels is not None: + return custom_labels + + labels = [] + for idx in range(len(detections)): + if CLASS_NAME_DATA_FIELD in detections.data: + labels.append(detections.data[CLASS_NAME_DATA_FIELD][idx]) + elif detections.class_id is not None: + labels.append(str(detections.class_id[idx])) + else: + labels.append(str(idx)) + return labels + + +def snap_boxes(xyxy: np.ndarray, resolution_wh: Tuple[int, int]) -> np.ndarray: + """ + Shifts bounding boxes into the frame so that they are fully contained + within the given resolution, prioritizing the top/left edge. + Unlike `clip_boxes`, this function does not crop boxes. + It moves them entirely if they exceed the frame boundaries. + + Args: + xyxy (np.ndarray): A numpy array of shape `(N, 4)` where each + row corresponds to a bounding box in the format + `(x_min, y_min, x_max, y_max)`. + resolution_wh (Tuple[int, int]): A tuple `(width, height)` + representing the resolution of the frame. + + Returns: + np.ndarray: A numpy array of shape `(N, 4)` with boxes shifted into frame. + + Examples: + ```python + import numpy as np + # Assuming this function is part of a library like supervision (sv) + # import supervision as sv # or just use the function directly + + xyxy = np.array([ + [-10, 10, 30, 50], # Off left + [310, 200, 350, 250], # Off right + [100, -20, 150, 30], # Off top + [200, 220, 250, 270], # Off bottom + [-20, 10, 350, 50], # Wider than frame, (width = 370 vs 320) + [10, -20, 30, 260] # Taller than frame, (height = 280 vs 240) + ]) + + resolution_wh = (320, 240) + + # Expected output for the new cases: + # [-20, 10, 350, 50] (wider) -> shifted right by -(-20) = 20 -> [0, 10, 370, 50] + # [10, -20, 30, 260] (taller) -> shifted down by -(-20) = 20 -> [10, 0, 30, 280] + # Note: Oversized boxes still won't be fully contained without cropping + # but this logic ensures the primary (top/left) boundary is corrected. + + snapped_boxes = snap_boxes(xyxy=xyxy, resolution_wh=resolution_wh) + print(snapped_boxes) + # Expected output (including original examples and new ones): + # [[ 0 10 40 50] # Original example 1 snapped + # [280 200 320 250] # Original example 2 snapped + # [100 0 150 50] # Original example 3 snapped + # [200 190 250 240] # Original example 4 snapped + # [ 0 10 370 50] # New example (wider) snapped by left edge priority + # [ 10 0 30 280]] # New example (taller) snapped by top edge priority + ``` + """ + result = np.copy(xyxy) + width, height = resolution_wh + + shift_if_left_out = -result[:, 0] + shift_if_right_out = width - result[:, 2] + + shift_x = np.where(result[:, 0] < 0, shift_if_left_out, + np.where(result[:, 2] > width, shift_if_right_out, 0)) + + result[:, 0] += shift_x + result[:, 2] += shift_x + + + shift_if_top_out = -result[:, 1] + shift_if_bottom_out = height - result[:, 3] + + shift_y = np.where(result[:, 1] < 0, shift_if_top_out, + np.where(result[:, 3] > height, shift_if_bottom_out, 0)) + + + result[:, 1] += shift_y + result[:, 3] += shift_y + + return result + + class Trace: def __init__( self, @@ -157,9 +331,10 @@ def __init__( def put(self, detections: Detections) -> None: frame_id = np.full(len(detections), self.current_frame_id, dtype=int) self.frame_id = np.concatenate([self.frame_id, frame_id]) - self.xy = np.concatenate( - [self.xy, detections.get_anchors_coordinates(self.anchor)] - ) + self.xy = np.concatenate([ + self.xy, + detections.get_anchors_coordinates(self.anchor), + ]) self.tracker_id = np.concatenate([self.tracker_id, detections.tracker_id]) unique_frame_id = np.unique(self.frame_id) diff --git a/supervision/detection/utils.py b/supervision/detection/utils.py index 3df4fad21a..8949537e1e 100644 --- a/supervision/detection/utils.py +++ b/supervision/detection/utils.py @@ -1264,12 +1264,10 @@ def cross_product(anchors: np.ndarray, vector: Vector) -> np.ndarray: Returns: Array of cross products of shape (number of anchors, detections) """ - vector_at_zero = np.array( - [ - vector.end.x - vector.start.x, - vector.end.y - vector.start.y, - ] - ) + vector_at_zero = np.array([ + vector.end.x - vector.start.x, + vector.end.y - vector.start.y, + ]) vector_start = np.array([vector.start.x, vector.start.y]) return np.cross(vector_at_zero, anchors - vector_start) @@ -1277,8 +1275,6 @@ def cross_product(anchors: np.ndarray, vector: Vector) -> np.ndarray: def spread_out_boxes( xyxy: np.ndarray, max_iterations: int = 100, - force_scale: float = 10.0, - consider_size: bool = True, ) -> np.ndarray: """ Spread out boxes that overlap with each other. @@ -1286,50 +1282,29 @@ def spread_out_boxes( Args: xyxy: Numpy array of shape (N, 4) where N is the number of boxes. max_iterations: Maximum number of iterations to run the algorithm for. - force_scale: Scale factor for the repulsion forces. - consider_size: Whether to consider box size when calculating forces. """ if len(xyxy) == 0: return xyxy xyxy_padded = pad_boxes(xyxy, px=1) - - # Calculate box areas if we're considering size - if consider_size: - box_areas = (xyxy_padded[:, 2] - xyxy_padded[:, 0]) * ( - xyxy_padded[:, 3] - xyxy_padded[:, 1] - ) - # Calculate the size factors (normalize by mean size) - size_factors = ( - np.sqrt(box_areas) / np.mean(np.sqrt(box_areas)) - if len(box_areas) > 0 - else np.ones(len(xyxy_padded)) - ) - size_factors = np.clip(size_factors, 0.5, 2.0) # Clip to avoid extreme values - else: - size_factors = np.ones(len(xyxy_padded)) - for _ in range(max_iterations): - # NxN matrix of IoU values + # NxN iou = box_iou_batch(xyxy_padded, xyxy_padded) - np.fill_diagonal(iou, 0) # Eliminate self-interactions - + np.fill_diagonal(iou, 0) if np.all(iou == 0): - break # No more overlaps + break overlap_mask = iou > 0 - # Nx2 array of box centers + # Nx2 centers = (xyxy_padded[:, :2] + xyxy_padded[:, 2:]) / 2 - # NxNx2 array of differences between centers + # NxNx2 delta_centers = centers[:, np.newaxis, :] - centers[np.newaxis, :, :] delta_centers *= overlap_mask[:, :, np.newaxis] - # Nx2 array of total delta vectors + # Nx2 delta_sum = np.sum(delta_centers, axis=1) - - # Normalize to unit vectors delta_magnitude = np.linalg.norm(delta_sum, axis=1, keepdims=True) direction_vectors = np.divide( delta_sum, @@ -1338,32 +1313,15 @@ def spread_out_boxes( where=delta_magnitude != 0, ) - # Calculate force based on IoU values force_vectors = np.sum(iou, axis=1) force_vectors = force_vectors[:, np.newaxis] * direction_vectors - # Apply size-based scaling if enabled - if consider_size: - force_vectors *= size_factors[:, np.newaxis] - - # Scale forces - force_vectors *= force_scale - - # Ensure minimum force for small overlaps - force_magnitudes = np.linalg.norm(force_vectors, axis=1, keepdims=True) - small_force_mask = (force_magnitudes > 0) & (force_magnitudes < 2) - if np.any(small_force_mask): - force_directions = force_vectors / np.where( - force_magnitudes > 0, force_magnitudes, 1 - ) - force_vectors = np.where( - small_force_mask, force_directions * 2, force_vectors - ) + force_vectors *= 10 + force_vectors[(force_vectors > 0) & (force_vectors < 2)] = 2 + force_vectors[(force_vectors < 0) & (force_vectors > -2)] = -2 - # Convert to integer displacements force_vectors = force_vectors.astype(int) - # Apply forces to update box positions xyxy_padded[:, [0, 1]] += force_vectors xyxy_padded[:, [2, 3]] += force_vectors From a6aa9b7d3be8099c158a95a7a9324412d86ef059 Mon Sep 17 00:00:00 2001 From: "pre-commit-ci[bot]" <66853113+pre-commit-ci[bot]@users.noreply.github.com> Date: Thu, 24 Apr 2025 23:33:11 +0000 Subject: [PATCH 197/420] =?UTF-8?q?fix(pre=5Fcommit):=20=F0=9F=8E=A8=20aut?= =?UTF-8?q?o=20format=20pre-commit=20hooks?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- supervision/annotators/core.py | 14 +++++++------- supervision/annotators/utils.py | 26 ++++++++++++++++---------- supervision/detection/utils.py | 10 ++++++---- 3 files changed, 29 insertions(+), 21 deletions(-) diff --git a/supervision/annotators/core.py b/supervision/annotators/core.py index 5190fa211d..f10491ff44 100644 --- a/supervision/annotators/core.py +++ b/supervision/annotators/core.py @@ -1110,9 +1110,7 @@ def annotate( validate_labels(labels, detections) labels = get_labels_text(detections, labels) - label_properties = self._get_label_properties( - detections, labels - ) + label_properties = self._get_label_properties(detections, labels) if self.smart_position: xyxy = label_properties[:, :4] @@ -1176,10 +1174,12 @@ def _get_label_properties( position=self.text_anchor, ) - label_properties.append([ - *text_background_xyxy, - total_height, - ]) + label_properties.append( + [ + *text_background_xyxy, + total_height, + ] + ) return np.array(label_properties).reshape(-1, 5) def _draw_labels( diff --git a/supervision/annotators/utils.py b/supervision/annotators/utils.py index 48ee1ecb6e..8406bb5da6 100644 --- a/supervision/annotators/utils.py +++ b/supervision/annotators/utils.py @@ -293,19 +293,23 @@ def snap_boxes(xyxy: np.ndarray, resolution_wh: Tuple[int, int]) -> np.ndarray: shift_if_left_out = -result[:, 0] shift_if_right_out = width - result[:, 2] - shift_x = np.where(result[:, 0] < 0, shift_if_left_out, - np.where(result[:, 2] > width, shift_if_right_out, 0)) + shift_x = np.where( + result[:, 0] < 0, + shift_if_left_out, + np.where(result[:, 2] > width, shift_if_right_out, 0), + ) result[:, 0] += shift_x result[:, 2] += shift_x - shift_if_top_out = -result[:, 1] shift_if_bottom_out = height - result[:, 3] - shift_y = np.where(result[:, 1] < 0, shift_if_top_out, - np.where(result[:, 3] > height, shift_if_bottom_out, 0)) - + shift_y = np.where( + result[:, 1] < 0, + shift_if_top_out, + np.where(result[:, 3] > height, shift_if_bottom_out, 0), + ) result[:, 1] += shift_y result[:, 3] += shift_y @@ -331,10 +335,12 @@ def __init__( def put(self, detections: Detections) -> None: frame_id = np.full(len(detections), self.current_frame_id, dtype=int) self.frame_id = np.concatenate([self.frame_id, frame_id]) - self.xy = np.concatenate([ - self.xy, - detections.get_anchors_coordinates(self.anchor), - ]) + self.xy = np.concatenate( + [ + self.xy, + detections.get_anchors_coordinates(self.anchor), + ] + ) self.tracker_id = np.concatenate([self.tracker_id, detections.tracker_id]) unique_frame_id = np.unique(self.frame_id) diff --git a/supervision/detection/utils.py b/supervision/detection/utils.py index 8949537e1e..8f1019e9b5 100644 --- a/supervision/detection/utils.py +++ b/supervision/detection/utils.py @@ -1264,10 +1264,12 @@ def cross_product(anchors: np.ndarray, vector: Vector) -> np.ndarray: Returns: Array of cross products of shape (number of anchors, detections) """ - vector_at_zero = np.array([ - vector.end.x - vector.start.x, - vector.end.y - vector.start.y, - ]) + vector_at_zero = np.array( + [ + vector.end.x - vector.start.x, + vector.end.y - vector.start.y, + ] + ) vector_start = np.array([vector.start.x, vector.start.y]) return np.cross(vector_at_zero, anchors - vector_start) From 0c2aae6bd2721f473fe2ae34a3ba02c456aba1d6 Mon Sep 17 00:00:00 2001 From: hidara2000 Date: Fri, 25 Apr 2025 09:48:47 +1000 Subject: [PATCH 198/420] refactor(snap_boxes): enhance docstring and improve bounding box shifting logic --- supervision/annotators/utils.py | 90 ++++++++++++++------------------- 1 file changed, 37 insertions(+), 53 deletions(-) diff --git a/supervision/annotators/utils.py b/supervision/annotators/utils.py index 8406bb5da6..3796752004 100644 --- a/supervision/annotators/utils.py +++ b/supervision/annotators/utils.py @@ -238,7 +238,7 @@ def get_labels_text( def snap_boxes(xyxy: np.ndarray, resolution_wh: Tuple[int, int]) -> np.ndarray: """ - Shifts bounding boxes into the frame so that they are fully contained + Shifts `label` bounding boxes into the frame so that they are fully contained within the given resolution, prioritizing the top/left edge. Unlike `clip_boxes`, this function does not crop boxes. It moves them entirely if they exceed the frame boundaries. @@ -254,65 +254,49 @@ def snap_boxes(xyxy: np.ndarray, resolution_wh: Tuple[int, int]) -> np.ndarray: np.ndarray: A numpy array of shape `(N, 4)` with boxes shifted into frame. Examples: - ```python - import numpy as np - # Assuming this function is part of a library like supervision (sv) - # import supervision as sv # or just use the function directly - - xyxy = np.array([ - [-10, 10, 30, 50], # Off left - [310, 200, 350, 250], # Off right - [100, -20, 150, 30], # Off top - [200, 220, 250, 270], # Off bottom - [-20, 10, 350, 50], # Wider than frame, (width = 370 vs 320) - [10, -20, 30, 260] # Taller than frame, (height = 280 vs 240) - ]) - - resolution_wh = (320, 240) - - # Expected output for the new cases: - # [-20, 10, 350, 50] (wider) -> shifted right by -(-20) = 20 -> [0, 10, 370, 50] - # [10, -20, 30, 260] (taller) -> shifted down by -(-20) = 20 -> [10, 0, 30, 280] - # Note: Oversized boxes still won't be fully contained without cropping - # but this logic ensures the primary (top/left) boundary is corrected. - - snapped_boxes = snap_boxes(xyxy=xyxy, resolution_wh=resolution_wh) - print(snapped_boxes) - # Expected output (including original examples and new ones): - # [[ 0 10 40 50] # Original example 1 snapped - # [280 200 320 250] # Original example 2 snapped - # [100 0 150 50] # Original example 3 snapped - # [200 190 250 240] # Original example 4 snapped - # [ 0 10 370 50] # New example (wider) snapped by left edge priority - # [ 10 0 30 280]] # New example (taller) snapped by top edge priority - ``` + ```python + import numpy as np + + # Example boxes: + xyxy = np.array([ + [-10, 10, 30, 50], # Off left edge + [310, 200, 350, 250], # Off right edge + [100, -20, 150, 30], # Off top edge + [200, 220, 250, 270], # Off bottom edge + [-20, 10, 350, 50], # Wider than frame (370 vs 320) + [10, -20, 30, 260] # Taller than frame (280 vs 240) + ]) + + resolution_wh = (320, 240) + snapped_boxes = snap_boxes(xyxy=xyxy, resolution_wh=resolution_wh) + + # Results: + # [[ 0 10 40 50] # Left edge shifted right + # [280 200 320 250] # Right edge shifted left + # [100 0 150 50] # Top edge shifted down + # [200 190 250 240] # Bottom edge shifted up + # [ 0 10 370 50] # Wide box aligned to left edge + # [ 10 0 30 280]] # Tall box aligned to top edge + ``` """ result = np.copy(xyxy) width, height = resolution_wh - shift_if_left_out = -result[:, 0] - shift_if_right_out = width - result[:, 2] + # X-axis (prioritize left edge) + left_overflow = result[:, 0] < 0 + result[left_overflow, 0:3:2] -= result[left_overflow, 0:1] - shift_x = np.where( - result[:, 0] < 0, - shift_if_left_out, - np.where(result[:, 2] > width, shift_if_right_out, 0), - ) - - result[:, 0] += shift_x - result[:, 2] += shift_x + right_overflow = (~left_overflow) & (result[:, 2] > width) + right_shift = width - result[right_overflow, 2] + result[right_overflow, 0:3:2] += right_shift[:, np.newaxis] - shift_if_top_out = -result[:, 1] - shift_if_bottom_out = height - result[:, 3] - - shift_y = np.where( - result[:, 1] < 0, - shift_if_top_out, - np.where(result[:, 3] > height, shift_if_bottom_out, 0), - ) + # Y-axis (prioritize top edge) + top_overflow = result[:, 1] < 0 + result[top_overflow, 1:4:2] -= result[top_overflow, 1:2] - result[:, 1] += shift_y - result[:, 3] += shift_y + bottom_overflow = (~top_overflow) & (result[:, 3] > height) + bottom_shift = height - result[bottom_overflow, 3] + result[bottom_overflow, 1:4:2] += bottom_shift[:, np.newaxis] return result From 86a13d0f87cdbdad1f6d79296531dea9c927be07 Mon Sep 17 00:00:00 2001 From: SkalskiP Date: Fri, 25 Apr 2025 14:56:18 +0200 Subject: [PATCH 199/420] bump version from `0.26.0rc6` to `0.26.0rc7` --- pyproject.toml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pyproject.toml b/pyproject.toml index 6f8822f02a..e2de3f35ff 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -2,7 +2,7 @@ name = "supervision" description = "A set of easy-to-use utils that will come in handy in any Computer Vision project" license = { text = "MIT" } -version = "0.26.0rc6" +version = "0.26.0rc7" readme = "README.md" requires-python = ">=3.8" authors = [ From 087dc939b2e38eb7874bd8696b5f49f3293689d4 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 28 Apr 2025 01:00:17 +0000 Subject: [PATCH 200/420] :arrow_up: Bump astral-sh/setup-uv from 5.4.2 to 6.0.0 Bumps [astral-sh/setup-uv](https://github.com/astral-sh/setup-uv) from 5.4.2 to 6.0.0. - [Release notes](https://github.com/astral-sh/setup-uv/releases) - [Commits](https://github.com/astral-sh/setup-uv/compare/d4b2f3b6ecc6e67c4457f6d3e41ec42d3d0fcb86...c7f87aa956e4c323abf06d5dec078e358f6b4d04) --- updated-dependencies: - dependency-name: astral-sh/setup-uv dependency-version: 6.0.0 dependency-type: direct:production update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] --- .github/workflows/publish-docs.yml | 2 +- .github/workflows/publish-pre-release.yml | 2 +- .github/workflows/publish-release.yml | 2 +- .github/workflows/publish-testpypi.yml | 2 +- .github/workflows/test-doc.yml | 2 +- .github/workflows/uv-test.yml | 2 +- 6 files changed, 6 insertions(+), 6 deletions(-) diff --git a/.github/workflows/publish-docs.yml b/.github/workflows/publish-docs.yml index 4a5a23013b..07bb4d2f4b 100644 --- a/.github/workflows/publish-docs.yml +++ b/.github/workflows/publish-docs.yml @@ -34,7 +34,7 @@ jobs: fetch-depth: 0 - name: 🐍 Install uv and set Python ${{ matrix.python-version }} - uses: astral-sh/setup-uv@d4b2f3b6ecc6e67c4457f6d3e41ec42d3d0fcb86 # v5.4.2 + uses: astral-sh/setup-uv@c7f87aa956e4c323abf06d5dec078e358f6b4d04 # v6.0.0 with: python-version: ${{ matrix.python-version }} diff --git a/.github/workflows/publish-pre-release.yml b/.github/workflows/publish-pre-release.yml index 409de05521..271c440063 100644 --- a/.github/workflows/publish-pre-release.yml +++ b/.github/workflows/publish-pre-release.yml @@ -29,7 +29,7 @@ jobs: uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 - name: 🐍 Install uv and set Python version ${{ matrix.python-version }} - uses: astral-sh/setup-uv@d4b2f3b6ecc6e67c4457f6d3e41ec42d3d0fcb86 # v5.4.2 + uses: astral-sh/setup-uv@c7f87aa956e4c323abf06d5dec078e358f6b4d04 # v6.0.0 with: python-version: ${{ matrix.python-version }} diff --git a/.github/workflows/publish-release.yml b/.github/workflows/publish-release.yml index d420f99570..7fe51238a7 100644 --- a/.github/workflows/publish-release.yml +++ b/.github/workflows/publish-release.yml @@ -27,7 +27,7 @@ jobs: uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 - name: 🐍 Install uv and set Python version ${{ matrix.python-version }} - uses: astral-sh/setup-uv@d4b2f3b6ecc6e67c4457f6d3e41ec42d3d0fcb86 # v5.4.2 + uses: astral-sh/setup-uv@c7f87aa956e4c323abf06d5dec078e358f6b4d04 # v6.0.0 with: python-version: ${{ matrix.python-version }} diff --git a/.github/workflows/publish-testpypi.yml b/.github/workflows/publish-testpypi.yml index c51afae0c8..40a2266023 100644 --- a/.github/workflows/publish-testpypi.yml +++ b/.github/workflows/publish-testpypi.yml @@ -24,7 +24,7 @@ jobs: uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 - name: 🐍 Install uv and set Python version ${{ matrix.python-version }} - uses: astral-sh/setup-uv@d4b2f3b6ecc6e67c4457f6d3e41ec42d3d0fcb86 # v5.4.2 + uses: astral-sh/setup-uv@c7f87aa956e4c323abf06d5dec078e358f6b4d04 # v6.0.0 with: python-version: ${{ matrix.python-version }} diff --git a/.github/workflows/test-doc.yml b/.github/workflows/test-doc.yml index 789f3ead69..e8d21040a7 100644 --- a/.github/workflows/test-doc.yml +++ b/.github/workflows/test-doc.yml @@ -24,7 +24,7 @@ jobs: fetch-depth: 0 - name: 🐍 Install uv and set Python ${{ matrix.python-version }} - uses: astral-sh/setup-uv@d4b2f3b6ecc6e67c4457f6d3e41ec42d3d0fcb86 # v5.4.2 + uses: astral-sh/setup-uv@c7f87aa956e4c323abf06d5dec078e358f6b4d04 # v6.0.0 with: python-version: ${{ matrix.python-version }} diff --git a/.github/workflows/uv-test.yml b/.github/workflows/uv-test.yml index 953d944387..6fb989f2a1 100644 --- a/.github/workflows/uv-test.yml +++ b/.github/workflows/uv-test.yml @@ -19,7 +19,7 @@ jobs: uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 - name: 🐍 Install uv and set Python version ${{ matrix.python-version }} - uses: astral-sh/setup-uv@d4b2f3b6ecc6e67c4457f6d3e41ec42d3d0fcb86 # v5.4.2 + uses: astral-sh/setup-uv@c7f87aa956e4c323abf06d5dec078e358f6b4d04 # v6.0.0 with: python-version: ${{ matrix.python-version }} From 1c795e4a9f5ba9f65317d4f3205b6c3e7d225770 Mon Sep 17 00:00:00 2001 From: Onuralp SEZER Date: Mon, 28 Apr 2025 16:14:16 +0300 Subject: [PATCH 201/420] =?UTF-8?q?ci(env):=20=F0=9F=90=9E=20astral-sh/set?= =?UTF-8?q?up-uv=20new=20parameter=20activate-environment:=20true=20added?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Onuralp SEZER --- .github/workflows/publish-docs.yml | 2 ++ .github/workflows/publish-pre-release.yml | 2 ++ .github/workflows/publish-release.yml | 2 ++ .github/workflows/publish-testpypi.yml | 2 ++ .github/workflows/test-doc.yml | 2 ++ .github/workflows/uv-test.yml | 2 ++ 6 files changed, 12 insertions(+) diff --git a/.github/workflows/publish-docs.yml b/.github/workflows/publish-docs.yml index 07bb4d2f4b..f7d630adf9 100644 --- a/.github/workflows/publish-docs.yml +++ b/.github/workflows/publish-docs.yml @@ -37,6 +37,8 @@ jobs: uses: astral-sh/setup-uv@c7f87aa956e4c323abf06d5dec078e358f6b4d04 # v6.0.0 with: python-version: ${{ matrix.python-version }} + activate-environment: true + - name: 🔑 Create GitHub App token (mkdocs) id: mkdocs_token diff --git a/.github/workflows/publish-pre-release.yml b/.github/workflows/publish-pre-release.yml index 271c440063..e6fb06e05a 100644 --- a/.github/workflows/publish-pre-release.yml +++ b/.github/workflows/publish-pre-release.yml @@ -32,6 +32,8 @@ jobs: uses: astral-sh/setup-uv@c7f87aa956e4c323abf06d5dec078e358f6b4d04 # v6.0.0 with: python-version: ${{ matrix.python-version }} + activate-environment: true + - name: 🏗️ Build source and wheel distributions run: | diff --git a/.github/workflows/publish-release.yml b/.github/workflows/publish-release.yml index 7fe51238a7..a3697fd921 100644 --- a/.github/workflows/publish-release.yml +++ b/.github/workflows/publish-release.yml @@ -30,6 +30,8 @@ jobs: uses: astral-sh/setup-uv@c7f87aa956e4c323abf06d5dec078e358f6b4d04 # v6.0.0 with: python-version: ${{ matrix.python-version }} + activate-environment: true + - name: 🏗️ Build source and wheel distributions run: | diff --git a/.github/workflows/publish-testpypi.yml b/.github/workflows/publish-testpypi.yml index 40a2266023..34d7c3836f 100644 --- a/.github/workflows/publish-testpypi.yml +++ b/.github/workflows/publish-testpypi.yml @@ -27,6 +27,8 @@ jobs: uses: astral-sh/setup-uv@c7f87aa956e4c323abf06d5dec078e358f6b4d04 # v6.0.0 with: python-version: ${{ matrix.python-version }} + activate-environment: true + - name: 🏗️ Build source and wheel distributions run: | diff --git a/.github/workflows/test-doc.yml b/.github/workflows/test-doc.yml index e8d21040a7..58bed9a0f5 100644 --- a/.github/workflows/test-doc.yml +++ b/.github/workflows/test-doc.yml @@ -27,6 +27,8 @@ jobs: uses: astral-sh/setup-uv@c7f87aa956e4c323abf06d5dec078e358f6b4d04 # v6.0.0 with: python-version: ${{ matrix.python-version }} + activate-environment: true + - name: 🏗️ Install dependencies run: | diff --git a/.github/workflows/uv-test.yml b/.github/workflows/uv-test.yml index 6fb989f2a1..c0693de8b0 100644 --- a/.github/workflows/uv-test.yml +++ b/.github/workflows/uv-test.yml @@ -22,6 +22,8 @@ jobs: uses: astral-sh/setup-uv@c7f87aa956e4c323abf06d5dec078e358f6b4d04 # v6.0.0 with: python-version: ${{ matrix.python-version }} + activate-environment: true + - name: 🚀 Install Packages run: uv pip install -r pyproject.toml --extra dev --extra docs --extra metrics From 1bfc67bed76d97a0038144fd635e5d4a2dc71a98 Mon Sep 17 00:00:00 2001 From: "pre-commit-ci[bot]" <66853113+pre-commit-ci[bot]@users.noreply.github.com> Date: Mon, 28 Apr 2025 17:22:17 +0000 Subject: [PATCH 202/420] =?UTF-8?q?chore(pre=5Fcommit):=20=E2=AC=86=20pre?= =?UTF-8?q?=5Fcommit=20autoupdate?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit updates: - [github.com/astral-sh/ruff-pre-commit: v0.11.6 → v0.11.7](https://github.com/astral-sh/ruff-pre-commit/compare/v0.11.6...v0.11.7) --- .pre-commit-config.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index 3bad263f2d..827dec58b9 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -32,7 +32,7 @@ repos: additional_dependencies: ["bandit[toml]"] - repo: https://github.com/astral-sh/ruff-pre-commit - rev: v0.11.6 + rev: v0.11.7 hooks: - id: ruff args: [--fix, --exit-non-zero-on-fix] From 317cbd3fc43301f9b9987b5a8577d8fc0a14ba58 Mon Sep 17 00:00:00 2001 From: rafaelpadilla Date: Mon, 28 Apr 2025 20:10:57 +0000 Subject: [PATCH 203/420] preparing coco dataset with tags area and iscrowd --- supervision/dataset/core.py | 12 +++++++- supervision/dataset/formats/coco.py | 47 ++++++++++++++++++++++++++--- 2 files changed, 53 insertions(+), 6 deletions(-) diff --git a/supervision/dataset/core.py b/supervision/dataset/core.py index 8af548790a..dc5de4d58e 100644 --- a/supervision/dataset/core.py +++ b/supervision/dataset/core.py @@ -563,6 +563,8 @@ def from_coco( images_directory_path: str, annotations_path: str, force_masks: bool = False, + use_precomputed_area: bool = False, + use_iscrowd: bool = False, ) -> DetectionDataset: """ Creates a Dataset instance from COCO formatted data. @@ -574,7 +576,13 @@ def from_coco( force_masks (bool): If True, forces masks to be loaded for all annotations, regardless of whether they are present. - + use_precomputed_area (bool): If True, + uses precomputed area for all annotations, setting it to None if not + present. + use_iscrowd (bool): If True, + uses COCO's property `iscrowd` in all annotations, + regardless of whether they are present. If not presented, `iscrowd=0` + will be used. Returns: DetectionDataset: A DetectionDataset instance containing the loaded images and annotations. @@ -604,6 +612,8 @@ def from_coco( images_directory_path=images_directory_path, annotations_path=annotations_path, force_masks=force_masks, + use_precomputed_area=use_precomputed_area, + use_iscrowd=use_iscrowd, ) return DetectionDataset(classes=classes, images=images, annotations=annotations) diff --git a/supervision/dataset/formats/coco.py b/supervision/dataset/formats/coco.py index 9953d74856..10f46d4478 100644 --- a/supervision/dataset/formats/coco.py +++ b/supervision/dataset/formats/coco.py @@ -90,7 +90,11 @@ def coco_annotations_to_masks( def coco_annotations_to_detections( - image_annotations: List[dict], resolution_wh: Tuple[int, int], with_masks: bool + image_annotations: List[dict], + resolution_wh: Tuple[int, int], + with_masks: bool, + use_iscrowd: bool = False, + use_precomputed_area: bool = False, ) -> Detections: if not image_annotations: return Detections.empty() @@ -102,15 +106,32 @@ def coco_annotations_to_detections( xyxy = np.asarray(xyxy) xyxy[:, 2:4] += xyxy[:, 0:2] + if use_iscrowd: + iscrowd = [ + image_annotation["iscrowd"] for image_annotation in image_annotations + ] + else: + iscrowd = [0] * len(image_annotations) + + if use_precomputed_area: + area = [image_annotation["area"] for image_annotation in image_annotations] + else: + area = None + + data = dict( + iscrowd=np.asarray(iscrowd, dtype=int), area=np.asarray(area, dtype=float) + ) + if with_masks: mask = coco_annotations_to_masks( image_annotations=image_annotations, resolution_wh=resolution_wh ) - return Detections( - class_id=np.asarray(class_ids, dtype=int), xyxy=xyxy, mask=mask - ) + else: + mask = None - return Detections(xyxy=xyxy, class_id=np.asarray(class_ids, dtype=int)) + return Detections( + class_id=np.asarray(class_ids, dtype=int), xyxy=xyxy, mask=mask, data=data + ) def detections_to_coco_annotations( @@ -159,16 +180,29 @@ def detections_to_coco_annotations( return coco_annotations, annotation_id +def get_coco_class_index_mapping(annotations_path: str) -> Dict[int, int]: + coco_data = read_json_file(annotations_path) + classes = coco_categories_to_classes(coco_categories=coco_data["categories"]) + class_mapping = build_coco_class_index_mapping( + coco_categories=coco_data["categories"], target_classes=classes + ) + return class_mapping + + def load_coco_annotations( images_directory_path: str, annotations_path: str, force_masks: bool = False, + use_iscrowd: bool = False, + use_precomputed_area: bool = False, ) -> Tuple[List[str], List[str], Dict[str, Detections]]: coco_data = read_json_file(file_path=annotations_path) classes = coco_categories_to_classes(coco_categories=coco_data["categories"]) + class_index_mapping = build_coco_class_index_mapping( coco_categories=coco_data["categories"], target_classes=classes ) + coco_images = coco_data["images"] coco_annotations_groups = group_coco_annotations_by_image_id( coco_annotations=coco_data["annotations"] @@ -190,7 +224,10 @@ def load_coco_annotations( image_annotations=image_annotations, resolution_wh=(image_width, image_height), with_masks=force_masks, + use_iscrowd=use_iscrowd, + use_precomputed_area=use_precomputed_area, ) + annotation = map_detections_class_id( source_to_target_mapping=class_index_mapping, detections=annotation, From 232916a8ebf9afba2076d345aa85c7530ca48d98 Mon Sep 17 00:00:00 2001 From: rafaelpadilla Date: Mon, 28 Apr 2025 20:16:07 +0000 Subject: [PATCH 204/420] implementing mean average precision using COCO approach --- supervision/metrics/mean_average_precision.py | 1648 +++++++++++++---- 1 file changed, 1245 insertions(+), 403 deletions(-) diff --git a/supervision/metrics/mean_average_precision.py b/supervision/metrics/mean_average_precision.py index 9e7a30d0e3..17f4f3946e 100644 --- a/supervision/metrics/mean_average_precision.py +++ b/supervision/metrics/mean_average_precision.py @@ -1,422 +1,26 @@ from __future__ import annotations +import copy +import datetime +import itertools +from collections import defaultdict from copy import deepcopy from dataclasses import dataclass -from typing import TYPE_CHECKING, List, Optional, Tuple, Union +from enum import Enum +from typing import TYPE_CHECKING, Any, Dict, List, Optional, Tuple, Union import numpy as np from matplotlib import pyplot as plt -from supervision.config import ORIENTED_BOX_COORDINATES from supervision.detection.core import Detections -from supervision.detection.utils import ( - box_iou_batch, - mask_iou_batch, - oriented_box_iou_batch, -) from supervision.draw.color import LEGACY_COLOR_PALETTE from supervision.metrics.core import Metric, MetricTarget -from supervision.metrics.utils.object_size import ( - ObjectSizeCategory, - get_detection_size_category, -) from supervision.metrics.utils.utils import ensure_pandas_installed if TYPE_CHECKING: import pandas as pd -class MeanAveragePrecision(Metric): - """ - Mean Average Precision (mAP) is a metric used to evaluate object detection models. - It is the average of the precision-recall curves at different IoU thresholds. - - Example: - ```python - import supervision as sv - from supervision.metrics import MeanAveragePrecision - - predictions = sv.Detections(...) - targets = sv.Detections(...) - - map_metric = MeanAveragePrecision() - map_result = map_metric.update(predictions, targets).compute() - - print(map_result.map50_95) - # 0.4674 - - print(map_result) - # MeanAveragePrecisionResult: - # Metric target: MetricTarget.BOXES - # Class agnostic: False - # mAP @ 50:95: 0.4674 - # mAP @ 50: 0.5048 - # mAP @ 75: 0.4796 - # mAP scores: [0.50485 0.50377 0.50377 ...] - # IoU thresh: [0.5 0.55 0.6 ...] - # AP per class: - # 0: [0.67699 0.67699 0.67699 ...] - # ... - # Small objects: ... - # Medium objects: ... - # Large objects: ... - - map_result.plot() - ``` - - ![example_plot](\ - https://media.roboflow.com/supervision-docs/metrics/mAP_plot_example.png\ - ){ align=center width="800" } - """ - - def __init__( - self, - metric_target: MetricTarget = MetricTarget.BOXES, - class_agnostic: bool = False, - ): - """ - Initialize the Mean Average Precision metric. - - Args: - metric_target (MetricTarget): The type of detection data to use. - class_agnostic (bool): Whether to treat all data as a single class. - """ - self._metric_target = metric_target - self._class_agnostic = class_agnostic - - self._predictions_list: List[Detections] = [] - self._targets_list: List[Detections] = [] - - def reset(self) -> None: - """ - Reset the metric to its initial state, clearing all stored data. - """ - self._predictions_list = [] - self._targets_list = [] - - def update( - self, - predictions: Union[Detections, List[Detections]], - targets: Union[Detections, List[Detections]], - ) -> MeanAveragePrecision: - """ - Add new predictions and targets to the metric, but do not compute the result. - - Args: - predictions (Union[Detections, List[Detections]]): The predicted detections. - targets (Union[Detections, List[Detections]]): The ground-truth detections. - - Returns: - (MeanAveragePrecision): The updated metric instance. - """ - if not isinstance(predictions, list): - predictions = [predictions] - if not isinstance(targets, list): - targets = [targets] - - if len(predictions) != len(targets): - raise ValueError( - f"The number of predictions ({len(predictions)}) and" - f" targets ({len(targets)}) during the update must be the same." - ) - - if self._class_agnostic: - predictions = deepcopy(predictions) - targets = deepcopy(targets) - - for prediction in predictions: - prediction.class_id[:] = -1 - for target in targets: - target.class_id[:] = -1 - - self._predictions_list.extend(predictions) - self._targets_list.extend(targets) - - return self - - def compute( - self, - ) -> MeanAveragePrecisionResult: - """ - Calculate Mean Average Precision based on predicted and ground-truth - detections at different thresholds. - - Returns: - (MeanAveragePrecisionResult): The Mean Average Precision result. - """ - result = self._compute(self._predictions_list, self._targets_list) - - small_predictions = [] - small_targets = [] - for predictions, targets in zip(self._predictions_list, self._targets_list): - small_predictions.append( - self._filter_detections_by_size(predictions, ObjectSizeCategory.SMALL) - ) - small_targets.append( - self._filter_detections_by_size(targets, ObjectSizeCategory.SMALL) - ) - result.small_objects = self._compute(small_predictions, small_targets) - - medium_predictions = [] - medium_targets = [] - for predictions, targets in zip(self._predictions_list, self._targets_list): - medium_predictions.append( - self._filter_detections_by_size(predictions, ObjectSizeCategory.MEDIUM) - ) - medium_targets.append( - self._filter_detections_by_size(targets, ObjectSizeCategory.MEDIUM) - ) - result.medium_objects = self._compute(medium_predictions, medium_targets) - - large_predictions = [] - large_targets = [] - for predictions, targets in zip(self._predictions_list, self._targets_list): - large_predictions.append( - self._filter_detections_by_size(predictions, ObjectSizeCategory.LARGE) - ) - large_targets.append( - self._filter_detections_by_size(targets, ObjectSizeCategory.LARGE) - ) - result.large_objects = self._compute(large_predictions, large_targets) - - return result - - def _compute( - self, - predictions_list: List[Detections], - targets_list: List[Detections], - ) -> MeanAveragePrecisionResult: - iou_thresholds = np.linspace(0.5, 0.95, 10) - stats = [] - - for predictions, targets in zip(predictions_list, targets_list): - prediction_contents = self._detections_content(predictions) - target_contents = self._detections_content(targets) - - if len(targets) > 0: - if len(predictions) == 0: - stats.append( - ( - np.zeros((0, iou_thresholds.size), dtype=bool), - np.zeros((0,), dtype=np.float32), - np.zeros((0,), dtype=int), - targets.class_id, - ) - ) - - else: - if self._metric_target == MetricTarget.BOXES: - iou = box_iou_batch(target_contents, prediction_contents) - elif self._metric_target == MetricTarget.MASKS: - iou = mask_iou_batch(target_contents, prediction_contents) - elif self._metric_target == MetricTarget.ORIENTED_BOUNDING_BOXES: - iou = oriented_box_iou_batch( - target_contents, prediction_contents - ) - else: - raise ValueError( - "Unsupported metric target for IoU calculation" - ) - - matches = self._match_detection_batch( - predictions.class_id, targets.class_id, iou, iou_thresholds - ) - - stats.append( - ( - matches, - predictions.confidence, - predictions.class_id, - targets.class_id, - ) - ) - - # Compute average precisions if any matches exist - if stats: - concatenated_stats = [np.concatenate(items, 0) for items in zip(*stats)] - average_precisions, unique_classes = self._average_precisions_per_class( - *concatenated_stats - ) - mAP_scores = np.mean(average_precisions, axis=0) - else: - mAP_scores = np.zeros((10,), dtype=np.float32) - unique_classes = np.empty((0,), dtype=int) - average_precisions = np.empty((0, len(iou_thresholds)), dtype=np.float32) - - return MeanAveragePrecisionResult( - metric_target=self._metric_target, - is_class_agnostic=self._class_agnostic, - mAP_scores=mAP_scores, - iou_thresholds=iou_thresholds, - matched_classes=unique_classes, - ap_per_class=average_precisions, - ) - - @staticmethod - def _compute_average_precision(recall: np.ndarray, precision: np.ndarray) -> float: - """ - Compute the average precision using 101-point interpolation (COCO), given - the recall and precision curves. - - Args: - recall (np.ndarray): The recall curve. - precision (np.ndarray): The precision curve. - - Returns: - (float): Average precision. - """ - if len(recall) == 0 and len(precision) == 0: - return 0.0 - - recall_levels = np.linspace(0, 1, 101) - precision_levels = np.zeros_like(recall_levels) - for r, p in zip(recall[::-1], precision[::-1]): - precision_levels[recall_levels <= r] = p - - average_precision = (1 / 101 * precision_levels).sum() - return average_precision - - @staticmethod - def _match_detection_batch( - predictions_classes: np.ndarray, - target_classes: np.ndarray, - iou: np.ndarray, - iou_thresholds: np.ndarray, - ) -> np.ndarray: - num_predictions, num_iou_levels = ( - predictions_classes.shape[0], - iou_thresholds.shape[0], - ) - correct = np.zeros((num_predictions, num_iou_levels), dtype=bool) - correct_class = target_classes[:, None] == predictions_classes - - for i, iou_level in enumerate(iou_thresholds): - matched_indices = np.where((iou >= iou_level) & correct_class) - - if matched_indices[0].shape[0]: - combined_indices = np.stack(matched_indices, axis=1) - iou_values = iou[matched_indices][:, None] - matches = np.hstack([combined_indices, iou_values]) - - if matched_indices[0].shape[0] > 1: - matches = matches[matches[:, 2].argsort()[::-1]] - matches = matches[np.unique(matches[:, 1], return_index=True)[1]] - matches = matches[np.unique(matches[:, 0], return_index=True)[1]] - - correct[matches[:, 1].astype(int), i] = True - - return correct - - @staticmethod - def _average_precisions_per_class( - matches: np.ndarray, - prediction_confidence: np.ndarray, - prediction_class_ids: np.ndarray, - true_class_ids: np.ndarray, - ) -> Tuple[np.ndarray, np.ndarray]: - """ - Compute the average precision, given the recall and precision curves. - Source: https://github.com/rafaelpadilla/Object-Detection-Metrics. - - Args: - matches (np.ndarray): True positives. - prediction_confidence (np.ndarray): Objectness value from 0-1. - prediction_class_ids (np.ndarray): Predicted object classes. - true_class_ids (np.ndarray): True object classes. - eps (float, optional): Small value to prevent division by zero. - - Returns: - (Tuple[np.ndarray, np.ndarray]): Average precision for different - IoU levels, and an array of class IDs that were matched. - """ - eps = 1e-16 - - sorted_indices = np.argsort(-prediction_confidence) - matches = matches[sorted_indices] - prediction_class_ids = prediction_class_ids[sorted_indices] - - unique_classes, class_counts = np.unique(true_class_ids, return_counts=True) - num_classes = unique_classes.shape[0] - - average_precisions = np.zeros((num_classes, matches.shape[1])) - - for class_idx, class_id in enumerate(unique_classes): - is_class = prediction_class_ids == class_id - total_true = class_counts[class_idx] - total_prediction = is_class.sum() - - if total_prediction == 0 or total_true == 0: - continue - - false_positives = (1 - matches[is_class]).cumsum(0) - true_positives = matches[is_class].cumsum(0) - false_negatives = total_true - true_positives - - recall = true_positives / (true_positives + false_negatives + eps) - precision = true_positives / (true_positives + false_positives) - - for iou_level_idx in range(matches.shape[1]): - average_precisions[class_idx, iou_level_idx] = ( - MeanAveragePrecision._compute_average_precision( - recall[:, iou_level_idx], precision[:, iou_level_idx] - ) - ) - - return average_precisions, unique_classes - - def _detections_content(self, detections: Detections) -> np.ndarray: - """Return boxes, masks or oriented bounding boxes from detections.""" - if self._metric_target == MetricTarget.BOXES: - return detections.xyxy - if self._metric_target == MetricTarget.MASKS: - return ( - detections.mask - if detections.mask is not None - else self._make_empty_content() - ) - if self._metric_target == MetricTarget.ORIENTED_BOUNDING_BOXES: - obb = detections.data.get(ORIENTED_BOX_COORDINATES) - if obb is not None and len(obb) > 0: - return np.array(obb, dtype=np.float32) - return self._make_empty_content() - raise ValueError(f"Invalid metric target: {self._metric_target}") - - def _make_empty_content(self) -> np.ndarray: - if self._metric_target == MetricTarget.BOXES: - return np.empty((0, 4), dtype=np.float32) - if self._metric_target == MetricTarget.MASKS: - return np.empty((0, 0, 0), dtype=bool) - if self._metric_target == MetricTarget.ORIENTED_BOUNDING_BOXES: - return np.empty((0, 4, 2), dtype=np.float32) - raise ValueError(f"Invalid metric target: {self._metric_target}") - - def _filter_detections_by_size( - self, detections: Detections, size_category: ObjectSizeCategory - ) -> Detections: - """Return a copy of detections with contents filtered by object size.""" - new_detections = deepcopy(detections) - if detections.is_empty() or size_category == ObjectSizeCategory.ANY: - return new_detections - - sizes = get_detection_size_category(new_detections, self._metric_target) - size_mask = sizes == size_category.value - - new_detections.xyxy = new_detections.xyxy[size_mask] - if new_detections.mask is not None: - new_detections.mask = new_detections.mask[size_mask] - if new_detections.class_id is not None: - new_detections.class_id = new_detections.class_id[size_mask] - if new_detections.confidence is not None: - new_detections.confidence = new_detections.confidence[size_mask] - if new_detections.tracker_id is not None: - new_detections.tracker_id = new_detections.tracker_id[size_mask] - if new_detections.data is not None: - for key, value in new_detections.data.items(): - new_detections.data[key] = np.array(value)[size_mask] - - return new_detections - - @dataclass class MeanAveragePrecisionResult: """ @@ -553,7 +157,6 @@ def to_pandas(self) -> "pd.DataFrame": pandas_data[f"large_objects_{key}"] = value # Average precisions are currently not included in the DataFrame. - return pd.DataFrame( pandas_data, index=[0], @@ -626,3 +229,1242 @@ def plot(self): plt.tight_layout() plt.show() + + def to_pycocotools_output(self) -> str: + """ + Convert the result to the same output format as pycocotools. + """ + return ( + f" Average Precision (AP) @[ IoU=0.50:0.95 | area= all | " + f"maxDets=100 ] = {self.map50_95:.3f}\n" + f" Average Precision (AP) @[ IoU=0.50 | area= all | " + f"maxDets=100 ] = {self.map50:.3f}\n" + f" Average Precision (AP) @[ IoU=0.75 | area= all | " + f"maxDets=100 ] = {self.map75:.3f}\n" + f" Average Precision (AP) @[ IoU=0.50:0.95 | area= small | maxDets=100 ] = {self.small_objects.map50_95:.3f}\n" + f" Average Precision (AP) @[ IoU=0.50:0.95 | area=medium | maxDets=100 ] = {self.medium_objects.map50_95:.3f}\n" + f" Average Precision (AP) @[ IoU=0.50:0.95 | area= large | maxDets=100 ] = {self.large_objects.map50_95:.3f}" + ) + + +class EvaluationDataset: + """ + Class used to evaluate models with Mean Average Precision. + """ + + def __init__(self, targets: Optional[Dict[str, Any]] = None): + """ + Constructor of EvaluationDataset object used to evaluate models with + Mean Average Precision. + Args: + targets (dict): The targets (ground truth) of the dataset in a the + COCO format. + """ + # Initialize members + self.dataset, self.anns, self.cats, self.imgs = dict(), dict(), dict(), dict() + self.img_to_anns, self.cat_to_imgs = defaultdict(list), defaultdict(list) + + if targets is None: + return + + # Load dataset + self.dataset = targets + self.create_class_members() + + @classmethod + def empty(cls): + return cls(targets=None) + + def create_class_members(self): + """ + Create index elements for the dataset. + """ + anns, cats, imgs = {}, {}, {} + img_to_anns, cat_to_imgs = defaultdict(list), defaultdict(list) + if "annotations" in self.dataset: + for ann in self.dataset["annotations"]: + img_to_anns[ann["image_id"]].append(ann) + anns[ann["id"]] = ann + + if "images" in self.dataset: + for img in self.dataset["images"]: + imgs[img["id"]] = img + + if "categories" in self.dataset: + for cat in self.dataset["categories"]: + cats[cat["id"]] = cat + + if "annotations" in self.dataset and "categories" in self.dataset: + for ann in self.dataset["annotations"]: + cat_to_imgs[ann["category_id"]].append(ann["image_id"]) + + # Populate class members + self.anns = anns + self.img_to_anns = img_to_anns + self.cat_to_imgs = cat_to_imgs + self.imgs = imgs + self.cats = cats + + def get_annotation_ids( + self, + img_ids: List[int] = [], + cat_ids: List[int] = [], + area_range: Tuple[float, float] = [], + iscrowd: bool = False, + ): + """ + Get annotation ids that satisfy given filter conditions. + Args: + img_ids (list): ids of the images that we want to retrieve. + cat_ids (list): ids of the categories that we want to retrieve. + area_range (tuple): area range of the annotations that we want to retrieve in + the format [min_area, max_area]. + iscrowd (bool): if annotations to retrieve are `iscrowded=1`. + """ + # If there are no filters, we use all annotations + if len(img_ids) == len(cat_ids) == len(area_range) == 0: + anns = self.dataset["annotations"] + else: + if len(img_ids) != 0: + lists = [ + self.img_to_anns[img_id] + for img_id in img_ids + if img_id in self.img_to_anns + ] + anns = list(itertools.chain.from_iterable(lists)) + else: + anns = self.dataset["annotations"] + + # Filter by category + anns = ( + anns + if len(cat_ids) == 0 + else [ann for ann in anns if ann["category_id"] in cat_ids] + ) + + # Filter by area + anns = ( + anns + if len(area_range) == 0 + else [ + ann + for ann in anns + if ann["area"] > area_range[0] and ann["area"] < area_range[1] + ] + ) + + # Filter by iscrowd + if iscrowd is True: + ids = [ann["id"] for ann in anns if ann["iscrowd"] == 1] + else: + ids = [ann["id"] for ann in anns] + return ids + + def get_category_ids( + self, + cat_names: List[str] = [], + supercategory_names: List[str] = [], + cat_ids: List[int] = [], + ) -> List[int]: + """ + Get category ids that satisfy given filter conditions. + Args: + cat_names (list): names of the categories to retrieve. + supercategory_names (list): names of the supercategories to retrieve. + cat_ids (list): ids of the categories to retrieve. + Returns: + ids (list): integer array of category ids. + """ + # If there are no filters, we use all categories + if len(cat_names) == len(supercategory_names) == len(cat_ids) == 0: + cats = self.dataset["categories"] + else: + cats = self.dataset["categories"] + + # Filter by name + cats = ( + cats + if len(cat_names) == 0 + else [cat for cat in cats if cat["name"] in cat_names] + ) + + # Filter by supercategory + cats = ( + cats + if len(supercategory_names) == 0 + else [ + cat for cat in cats if cat["supercategory"] in supercategory_names + ] + ) + + # Filter by id + cats = ( + cats + if len(cat_ids) == 0 + else [cat for cat in cats if cat["id"] in cat_ids] + ) + ids = [cat["id"] for cat in cats] + return ids + + def get_image_ids( + self, + img_ids: List[int] = [], + cat_ids: List[int] = [], + ) -> List[int]: + """ + Get image ids that satisfy given filter conditions. + Args: + img_ids (list): ids of the images to retrieve. + cat_ids (list): ids of the categories to retrieve. + Returns: + ids (list): integer array of image ids. + """ + # If there are no filters, we use all images + if len(img_ids) == len(cat_ids) == 0: + ids = self.imgs.keys() + return list(ids) + + ids = set(img_ids) + for i, cat_id in enumerate(cat_ids): + if i == 0 and len(ids) == 0: + ids = set(self.cat_to_imgs[cat_id]) + else: + ids &= set(self.cat_to_imgs[cat_id]) + return list(ids) + + def get_annotations(self, ids: List[int] = []) -> List[dict]: + """ + Get annotations with the specified ids. + Args: + ids (list): integer ids specifying annotations. + Returns: + anns (list): loaded annotations. + """ + return [self.anns[idx] for idx in ids] + + def load_predictions(self, predictions: List[Dict]) -> "EvaluationDataset": + """ + Load prediction result into an EvaluationDataset object. + Args: + predictions (list): prediction result. + Returns: + EvaluationDataset object representing the predictions. + """ + # Create an empty EvaluationDataset object for the predictions + predictions_dataset = EvaluationDataset.empty() + predictions_dataset.dataset["images"] = [img for img in self.dataset["images"]] + + if not isinstance(predictions, list): + raise ValueError("results must be a list") + + ids = [pred["image_id"] for pred in predictions] + + # Make sure the image ids from predictions exist in the current dataset + assert set(ids) == (set(ids) & set(self.get_image_ids())), ( + "Results do not correspond to current coco set" + ) + + # Check if the predictions contain any unsupported keys + if "caption" in predictions[0]: + raise NotImplementedError( + "Evaluating predictions with caption is not supported." + ) + elif "segmentation" in predictions[0]: + raise NotImplementedError( + "Evaluating predictions with segmentation is not supported." + ) + elif "keypoints" in predictions[0]: + raise NotImplementedError( + "Evaluating predictions with keypoints is not supported." + ) + + elif "bbox" in predictions[0] and not predictions[0]["bbox"] == []: + predictions_dataset.dataset["categories"] = copy.deepcopy( + self.dataset["categories"] + ) + + # Prepare fields for every prediction of the given image + for idx, pred in enumerate(predictions): + x, y, w, h = pred["bbox"] + x1, x2, y1, y2 = [x, x + w, y, y + h] + + # Make segmentation from bounding box coordinates + if "segmentation" not in pred: + pred["segmentation"] = [[x1, y1, x1, y2, x2, y2, x2, y1]] + pred["area"] = w * h + pred["id"] = idx + 1 + # For predictions we set iscrowd to 0 + pred["iscrowd"] = 0 + predictions_dataset.dataset["annotations"] = predictions + predictions_dataset.create_class_members() + return predictions_dataset + + +# Area ranges for object size in pixels +SMALL_OBJECT_AREA = 32**2 +MEDIUM_OBJECT_AREA = 96**2 +MAX_ALL_OBJECT_AREA = 1e5**2 + +# Smallest number to avoid division by zero +EPS = np.spacing(1) + + +class ObjectSize(Enum): + """ + Enum for object size. + """ + + ALL = "all" + SMALL = "small" + MEDIUM = "medium" + LARGE = "large" + + +def _iou_with_jaccard( + dt: List[List[float]], gt: List[List[float]], is_crowd: List[bool] +) -> np.ndarray: + """ + Calculate the intersection over union (IoU) between detection bounding boxes (dt) + and ground-truth bounding boxes (gt). + Reference: https://github.com/rafaelpadilla/review_object_detection_metrics + + Args: + dt (List[List[float]]): List of detection bounding boxes in the \ + format [x, y, width, height]. + gt (List[List[float]]): List of ground-truth bounding boxes in the \ + format [x, y, width, height]. + is_crowd (List[bool]): List indicating if each ground-truth bounding box \ + is a crowd region or not. + + Returns: + np.ndarray: Array of IoU values of shape (len(dt), len(gt)). + """ + assert len(is_crowd) == len(gt), "iou(iscrowd=) must have the same length as gt" + if len(dt) == 0 or len(gt) == 0: + return np.array([]) + ious = np.zeros((len(dt), len(gt)), dtype=np.float64) + for g_idx, g in enumerate(gt): + for d_idx, d in enumerate(dt): + ious[d_idx, g_idx] = _jaccard(d, g, is_crowd[g_idx]) + return ious + + +def _jaccard(box_a: List[float], box_b: List[float], is_crowd: bool) -> float: + """ + Calculate the Jaccard index (intersection over union) between two bounding boxes. + If a gt object is marked as "iscrowd", a dt is allowed to match any subregion + of the gt. Choosing gt' in the crowd gt that best matches the dt can be done using + gt'=intersect(dt,gt). Since by definition union(gt',dt)=dt, computing + iou(gt,dt,iscrowd) = iou(gt',dt) = area(intersect(gt,dt)) / area(dt) + + Args: + box_a (List[float]): Box coordinates in the format [x, y, width, height]. + box_b (List[float]): Box coordinates in the format [x, y, width, height]. + iscrowd (bool): Flag indicating if the second box is a crowd region or not. + + Returns: + float: Jaccard index between the two bounding boxes. + """ + xa, ya, x2a, y2a = box_a[0], box_a[1], box_a[0] + box_a[2], box_a[1] + box_a[3] + xb, yb, x2b, y2b = box_b[0], box_b[1], box_b[0] + box_b[2], box_b[1] + box_b[3] + + # Innermost left x + xi = max(xa, xb) + # Innermost right x + x2i = min(x2a, x2b) + # Same for y + yi = max(ya, yb) + y2i = min(y2a, y2b) + + # Calculate areas + Aa = max(x2a - xa, 0.0) * max(y2a - ya, 0.0) + Ab = max(x2b - xb, 0.0) * max(y2b - yb, 0.0) + Ai = max(x2i - xi, 0.0) * max(y2i - yi, 0.0) + + if is_crowd: + return Ai / (Aa + EPS) + + return Ai / (Aa + Ab - Ai + EPS) + + +class COCOEvaluatorParameters: + """ + Parameters for COCOEvaluator + """ + + def __init__(self): + """Initialize all parameters for evaluation""" + + self.img_ids, self.cat_ids = [], [] + # IoU thresholds [0.5, 0.55, 0.6, 0.65, ..., 0.95] + self.iou_thrs = np.linspace( + 0.5, 0.95, int(np.round((0.95 - 0.5) / 0.05)) + 1, endpoint=True + ) + # 101 recall thresholds [0.0, 0.01, 0.02, ..., 1.00] + self.rec_thrs = np.linspace( + 0.0, 1.00, int(np.round((1.00 - 0.0) / 0.01)) + 1, endpoint=True + ) + # 3 maximum detection thresholds [1, 10, 100] + self.max_dets = [1, 10, 100] + # Area ranges [0, 1e5], [0, 32], [32, 96], [96, 1e5] + self.area_range = [ + [0, MAX_ALL_OBJECT_AREA], + [0, SMALL_OBJECT_AREA], + [SMALL_OBJECT_AREA, MEDIUM_OBJECT_AREA], + [MEDIUM_OBJECT_AREA, MAX_ALL_OBJECT_AREA], + ] + + +class COCOEvaluator: + def __init__( + self, coco_targets: EvaluationDataset, coco_predictions: EvaluationDataset + ): + """ + Constructor of COCOEvaluator object. + Args: + coco_targets (EvaluationDataset): The dataset with the ground truths. + coco_predictions (EvaluationDataset): The dataset with the predictions. + """ + if coco_targets is None: + raise ValueError("coco_targets must be provided") + if coco_predictions is None: + raise ValueError("coco_predictions must be provided") + + self.coco_targets = coco_targets + self.coco_predictions = coco_predictions + # List of dictionaries containing the evaluation results + # len(eval_imgs) = (categories) * (area_ranges) * (images) + # For COCO 2017: len(eval_images) = 80 * 4 * 5000 = 1600000 + self.eval_imgs = defaultdict(list) + # Dictionary of accumulated results + self.results = {} + # Dictionary of targets for evaluation + self._targets = defaultdict(list) + self._predictions = defaultdict(list) + # Parameters for evaluation + self.params = COCOEvaluatorParameters() + # List of results summarization + self.stats = [] + # Dictionary of IOUs between all targets and predictions + self.ious = {} + # Set image and category ids + self.params.img_ids = sorted(self.coco_targets.get_image_ids()) + self.params.cat_ids = sorted(self.coco_targets.get_category_ids()) + + def _prepare_targets_and_predictions(self): + """ + Prepare targets and predictions for evaluation. + """ + # Get the target samples for the evaluation + annotation_ids = self.coco_targets.get_annotation_ids( + img_ids=self.params.img_ids, cat_ids=self.params.cat_ids + ) + targets = self.coco_targets.get_annotations(annotation_ids) + # Get the prediction samples for the evaluation + prediction_ids = self.coco_predictions.get_annotation_ids( + img_ids=self.params.img_ids, cat_ids=self.params.cat_ids + ) + predictions = self.coco_predictions.get_annotations(prediction_ids) + + # Set ignore flag + for gt in targets: + gt["ignore"] = gt["ignore"] if "ignore" in gt else 0 + gt["ignore"] = "iscrowd" in gt and gt["iscrowd"] + + # Select targets + self._targets = defaultdict(list) + for gt in targets: + self._targets[gt["image_id"], gt["category_id"]].append(gt) + + # Select predictions + self._predictions = defaultdict(list) + for dt in predictions: + self._predictions[dt["image_id"], dt["category_id"]].append(dt) + + # Initialize evaluation results + self.eval_imgs = defaultdict(list) + self.results = {} + + def _compute_iou(self, img_id: int, cat_id: int) -> np.ndarray: + """ + Compute the IoU between the targets and predictions for a given image and + category. + + Args: + img_id (int): The image id. + cat_id (int): The category id. + + Returns: + np.ndarray: The IoU between the targets and predictions. + """ + gt = self._targets[img_id, cat_id] + dt = self._predictions[img_id, cat_id] + + # If there is nothing to evaluate + if len(gt) == 0 and len(dt) == 0: + return np.array([]) + + # Sort predictions by highest score first + inds = np.argsort([-d["score"] for d in dt], kind="stable") + dt = [dt[i] for i in inds] + + # Truncate the predictions if there are more predictions than the max detections + # to evaluate + if len(dt) > self.params.max_dets[-1]: + dt = dt[0 : self.params.max_dets[-1]] + + gt_boxes = [g["bbox"] for g in gt] + dt_boxes = [d["bbox"] for d in dt] + + # Get the iscrowd flag for each gt + is_crowd = [int(o["iscrowd"]) for o in gt] + # Compute iou between each prediction a and gt region + iou = _iou_with_jaccard(dt_boxes, gt_boxes, is_crowd) + return iou + + def _evaluate_image( + self, img_id: int, cat_id: int, area_range: Tuple[int, int], max_det: int + ) -> Union[Dict[str, Any], None]: + """ + Perform evaluation for single category and image. + Args: + img_id (int): The image id. + cat_id (int): The category id. + area_range (Tuple[int, int]): The area range. + max_det (int): The maximum number of detections. + + Returns: + Dict[str, Any]: The evaluation results. + """ + # Get targets (gt) and predictions (dt) for the given image and category + gt = self._targets[img_id, cat_id] + dt = self._predictions[img_id, cat_id] + + # If there is nothing to evaluate + if len(gt) == 0 and len(dt) == 0: + return None + + min_area, max_area = area_range + + # Create an `_ignore` flag for targets if they are set as ignore or their area + # is not in the range [min_area, max_area] + for g in gt: + if g["ignore"] or not (min_area <= g["area"] <= max_area): + g["_ignore"] = 1 + else: + g["_ignore"] = 0 + + # Sort ground-truths by ignore flag (0: non ignored, 1: ignored) + gt_sorted = np.argsort([g["_ignore"] for g in gt], kind="stable") + gt = [gt[i] for i in gt_sorted] + + # Sort predictions by scores in descending order + dt_sorted = np.argsort([-d["score"] for d in dt], kind="stable") + dt = [dt[i] for i in dt_sorted[0:max_det]] + + # Get the iscrowd flag for each gt + # iscrowd = [int(o["iscrowd"]) for o in gt] + + # Load computed ious for the given image and category + ious = ( + self.ious[img_id, cat_id][:, gt_sorted] + if len(self.ious[img_id, cat_id]) > 0 + else self.ious[img_id, cat_id] + ) + + # Get the number of thresholds, ground truths and detections + num_thresholds = len(self.params.iou_thrs) + num_ground_truths = len(gt) + num_detections = len(dt) + + # Initialize matches: 0 means no match + gt_matches = np.zeros((num_thresholds, num_ground_truths)) + dt_matches = np.zeros((num_thresholds, num_detections)) + # Initialize ignore flags: 0 means no ignore + gt_ignore = np.array([g["_ignore"] for g in gt]) + dt_ignore = np.zeros((num_thresholds, num_detections)) + if len(ious) != 0: + # Go through the iou thresholds + for tresh_idx, thresh in enumerate(self.params.iou_thrs): + # Go through the detections + for det_idx, det in enumerate(dt): + # Start the iou of the best match + iou_best_match = min([thresh, 1 - 1e-10]) + # Set the best match index to -1 (unmatched) + best_match_idx = -1 + # Go through the ground truths + for g_idx, g in enumerate(gt): + # If current gt is already matched, and not a crowd, continue + # if gt_matches[tresh_idx, g_idx] > 0 and not iscrowd[g_idx]: + iscrowd = int(g.get("iscrowd")) + if gt_matches[tresh_idx, g_idx] > 0 and not iscrowd: + continue + # Stop searching the ground truths + if ( + best_match_idx > -1 # detection is matched to a gt + and gt_ignore[best_match_idx] + == 0 # matched gt is not ignored + and gt_ignore[g_idx] == 1 # current gt is ignored + ): + break + + # A new best match was found + if ious[det_idx, g_idx] >= iou_best_match: + iou_best_match = ious[det_idx, g_idx] + best_match_idx = g_idx + + # A best match was found + if best_match_idx != -1: + dt_ignore[tresh_idx, det_idx] = gt_ignore[best_match_idx] + dt_matches[tresh_idx, det_idx] = gt[best_match_idx]["id"] + gt_matches[tresh_idx, best_match_idx] = det["id"] + + # Set unmatched detections outside of area range to ignore + area_range_mask = np.array( + [d["area"] < min_area or d["area"] > max_area for d in dt] + ).reshape((1, len(dt))) + + # Update the ignore flags for detections + dt_ignore = np.logical_or( + dt_ignore, + np.logical_and( + dt_matches == 0, np.repeat(area_range_mask, num_thresholds, 0) + ), + ) + + return { + "image_id": img_id, + "category_id": cat_id, + "area_range": area_range, + "max_det": max_det, + "dt_ids": [d["id"] for d in dt], + "gt_ids": [g["id"] for g in gt], + "dtMatches": dt_matches, + "gtMatches": gt_matches, + "dtScores": [d["score"] for d in dt], + "gtIgnore": gt_ignore, + "dtIgnore": dt_ignore, + } + + def __str__(self): + self.summarize() + + def _accumulate(self): + """ + Accumulate per image evaluation results and store the result in self.results + """ + # Get the number of thresholds, categories, area ranges, and max detections + num_iou_thresholds = len(self.params.iou_thrs) + num_recall_thresholds = len(self.params.rec_thrs) + num_categories = len(self.params.cat_ids) + num_area_ranges = len(self.params.area_range) + num_max_detections = len(self.params.max_dets) + num_imgs = len(self.params.img_ids) + + # Initialize precision, recall, and scores arrays + # -1 means absent categories + precision = -np.ones( + ( + num_iou_thresholds, + num_recall_thresholds, + num_categories, + num_area_ranges, + num_max_detections, + ) + ) + recall = -np.ones( + (num_iou_thresholds, num_categories, num_area_ranges, num_max_detections) + ) + scores = -np.ones( + ( + num_iou_thresholds, + num_recall_thresholds, + num_categories, + num_area_ranges, + num_max_detections, + ) + ) + + # Create sets for indexing + set_categories = set(self.params.cat_ids) + set_area_ranges = set(map(tuple, self.params.area_range)) + set_max_detections = set(self.params.max_dets) + set_image_ids = set(self.params.img_ids) + + # Select category indexes to evaluate + selected_category_ids = [ + n for n, k in enumerate(self.params.cat_ids) if k in set_categories + ] + # Select max detections to evaluate + selected_max_detections = [ + m for m in self.params.max_dets if m in set_max_detections + ] + # Select area ranges to evaluate + selected_area_ranges_ids = [ + idx + for idx, area in enumerate(self.params.area_range) + if tuple(area) in set_area_ranges + ] + # Select image indexes to evaluate + image_inds = [ + n for n, i in enumerate(self.params.img_ids) if i in set_image_ids + ] + + # Evaluting at all categories, area ranges, max number of detections, and + # IoU thresholds + + # Loop through categories + for cat_idx, cat_eval_idx in enumerate(selected_category_ids): + cat_offset = cat_eval_idx * num_area_ranges * num_imgs + + # Loop through area ranges + for area_idx, area_eval_idx in enumerate(selected_area_ranges_ids): + area_offset = area_eval_idx * num_imgs + + # Loop through max detections + for max_det_idx, max_det in enumerate(selected_max_detections): + eval_img_data = [ + self.eval_imgs[cat_offset + area_offset + i] for i in image_inds + ] + eval_img_data = [e for e in eval_img_data if e is not None] + + # No image to evaluate + if len(eval_img_data) == 0: + continue + + # Sort detected scores in descending order + dt_scores = np.concatenate( + [e["dtScores"][0:max_det] for e in eval_img_data] + ) + inds = np.argsort(-dt_scores, kind="stable") + dt_scores_sorted = dt_scores[inds] + + # Get matches and ignored matches + dt_matches = np.concatenate( + [e["dtMatches"][:, 0:max_det] for e in eval_img_data], axis=1 + )[:, inds] + dt_ignored = np.concatenate( + [e["dtIgnore"][:, 0:max_det] for e in eval_img_data], axis=1 + )[:, inds] + + # Get ignored ground truth objects + gt_ignored = np.concatenate([e["gtIgnore"] for e in eval_img_data]) + num_non_ignored_gt = np.count_nonzero(gt_ignored == 0) + + # No ground truth objects to evaluate + if num_non_ignored_gt == 0: + continue + + # Compute true positives and false positives + true_positives = np.logical_and( + dt_matches, np.logical_not(dt_ignored) + ) + false_positives = np.logical_and( + np.logical_not(dt_matches), np.logical_not(dt_ignored) + ) + + tp_sum = np.cumsum(true_positives, axis=1).astype(dtype=np.float64) + fp_sum = np.cumsum(false_positives, axis=1).astype(dtype=np.float64) + + # Loop through thresholds + for iou_thresh_idx, (tp, fp) in enumerate(zip(tp_sum, fp_sum)): + tp = np.array(tp) + fp = np.array(fp) + num_tps = len(tp) + # Recall: TP / Total number of ground truth objects + rc = tp / num_non_ignored_gt + # Precision: TP / (FP + TP) + pr = (tp / (fp + tp + EPS)).tolist() + # List to compute the precision at each recall threshold + precision_at_recall = [0] * num_recall_thresholds + # List to compute the score at each recall threshold + score_at_recall = [0] * num_recall_thresholds + + # Set recall to either the final recall value or 0 (when there + # is no TP) + recall[iou_thresh_idx, cat_idx, area_idx, max_det_idx] = ( + rc[-1] if num_tps else 0 + ) + + # Loop through precision values + for i in range(num_tps - 1, 0, -1): + if pr[i] > pr[i - 1]: + pr[i - 1] = pr[i] + + inds = np.searchsorted(rc, self.params.rec_thrs, side="left") + for ri, pos_idx in enumerate(inds): + # Ensure pi is within the range of both arrays before using it + if 0 <= pos_idx < len(pr) and 0 <= pos_idx < len( + dt_scores_sorted + ): + precision_at_recall[ri] = pr[pos_idx] + score_at_recall[ri] = dt_scores_sorted[pos_idx] + + # Convert precision to numpy array + precision[iou_thresh_idx, :, cat_idx, area_idx, max_det_idx] = ( + np.array(precision_at_recall) + ) + # Convert scores to numpy array + scores[iou_thresh_idx, :, cat_idx, area_idx, max_det_idx] = ( + np.array(score_at_recall) + ) + + # Average precision over all sizes, 100 max detections + area_range_idx = list(ObjectSize).index(ObjectSize.ALL) + max_100_dets_idx = self.params.max_dets.index(100) + # Average precision [threshold, recall, classes] + average_precision_all_sizes = precision[ + :, :, :, area_range_idx, max_100_dets_idx + ] + # mAP over thresholds (dimension=num_thresholds) + mAP_scores_all_sizes = average_precision_all_sizes.mean(axis=(1, 2)) + # AP per class + ap_per_class_all_sizes = average_precision_all_sizes.mean(axis=1).transpose( + 1, 0 + ) + + # Average precision for SMALL objects and 100 max detections + small_area_range_idx = list(ObjectSize).index(ObjectSize.SMALL) + average_precision_small = precision[ + :, :, :, small_area_range_idx, max_100_dets_idx + ] + mAP_scores_small = average_precision_small.mean(axis=(1, 2)) + ap_per_class_small = average_precision_small.mean(axis=1).transpose(1, 0) + + # Average precision for MEDIUM objects and 100 max detections + medium_area_range_idx = list(ObjectSize).index(ObjectSize.MEDIUM) + average_precision_medium = precision[ + :, :, :, medium_area_range_idx, max_100_dets_idx + ] + mAP_scores_medium = average_precision_medium.mean(axis=(1, 2)) + ap_per_class_medium = average_precision_medium.mean(axis=1).transpose(1, 0) + + # Average precision for LARGE objects and 100 max detections + large_area_range_idx = list(ObjectSize).index(ObjectSize.LARGE) + average_precision_large = precision[ + :, :, :, large_area_range_idx, max_100_dets_idx + ] + mAP_scores_large = average_precision_large.mean(axis=(1, 2)) + ap_per_class_large = average_precision_large.mean(axis=1).transpose(1, 0) + + self.results = { + "params": self.params, + "counts": [ + num_iou_thresholds, + num_recall_thresholds, + num_categories, + num_area_ranges, + num_max_detections, + ], + "date": datetime.datetime.now().strftime("%Y-%m-%d %H:%M:%S"), + "precision": precision, + "recall": recall, + "scores": scores, + "mAP_scores_all_sizes": mAP_scores_all_sizes, + "ap_per_class_all_sizes": ap_per_class_all_sizes, + "mAP_scores_small": mAP_scores_small, + "ap_per_class_small": ap_per_class_small, + "mAP_scores_medium": mAP_scores_medium, + "ap_per_class_medium": ap_per_class_medium, + "mAP_scores_large": mAP_scores_large, + "ap_per_class_large": ap_per_class_large, + } + + def _pycocotools_summarize(self): + """ + Compute and display summary metrics for evaluation results. + """ + + def _summarize( + use_ap: bool = True, iou_thr=None, area_range=ObjectSize.ALL, max_dets=100 + ): + iStr = " {:<18} {} @[ IoU={:<9} | area={:>6s} | maxDets={:>3d} ] = {:0.10f}" + titleStr = "Average Precision" if use_ap else "Average Recall" + typeStr = "(AP)" if use_ap else "(AR)" + iou_str = ( + "{:0.2f}:{:0.2f}".format( + self.params.iou_thrs[0], self.params.iou_thrs[-1] + ) + if iou_thr is None + else "{:0.2f}".format(iou_thr) + ) + all_object_sizes = list(ObjectSize) + area_range_idx = all_object_sizes.index(area_range) + max_detections_idx = self.params.max_dets.index(max_dets) + if use_ap: + # Dimension of precision: + # threshold x recall x classes x areas x max detections + s = self.results["precision"] + # IOU + if iou_thr is not None: + t = np.where(iou_thr == self.params.iou_thrs)[0] + s = s[t] + s = s[:, :, :, area_range_idx, max_detections_idx] + else: + # Dimension of recall: [TxKxAxM] + s = self.results["recall"] + if iou_thr is not None: + t = np.where(iou_thr == self.params.iou_thrs)[0] + s = s[t] + s = s[:, :, area_range_idx, max_detections_idx] + if len(s[s > -1]) == 0: + mean_s = -1 + else: + mean_s = np.mean(s[s > -1]) + print(iStr.format(titleStr, typeStr, iou_str, area_range, max_dets, mean_s)) + return mean_s + + def _summarize_predictions(): + stats = np.zeros((12,)) + stats[0] = _summarize(use_ap=True) + stats[1] = _summarize( + use_ap=True, iou_thr=0.5, max_dets=self.params.max_dets[2] + ) + stats[2] = _summarize( + use_ap=True, iou_thr=0.75, max_dets=self.params.max_dets[2] + ) + stats[3] = _summarize( + use_ap=True, + area_range=ObjectSize.SMALL, + max_dets=self.params.max_dets[2], + ) + stats[4] = _summarize( + use_ap=True, + area_range=ObjectSize.MEDIUM, + max_dets=self.params.max_dets[2], + ) + stats[5] = _summarize( + use_ap=True, + area_range=ObjectSize.LARGE, + max_dets=self.params.max_dets[2], + ) + stats[6] = _summarize(use_ap=False, max_dets=self.params.max_dets[0]) + stats[7] = _summarize(use_ap=False, max_dets=self.params.max_dets[1]) + stats[8] = _summarize(use_ap=False, max_dets=self.params.max_dets[2]) + stats[9] = _summarize( + use_ap=False, + area_range=ObjectSize.SMALL, + max_dets=self.params.max_dets[2], + ) + stats[10] = _summarize( + use_ap=False, + area_range=ObjectSize.MEDIUM, + max_dets=self.params.max_dets[2], + ) + stats[11] = _summarize( + use_ap=False, + area_range=ObjectSize.LARGE, + max_dets=self.params.max_dets[2], + ) + return stats + + if len(self.results) != 0: + self.stats = _summarize_predictions() + + def evaluate(self): + """ + Start the per image evaluation on all images and keeep results in + self.eval_imgs (a list of dictionaries). + """ + # Select all parameters to evaluate + self.params.img_ids = list(np.unique(self.params.img_ids)) + self.params.cat_ids = list(np.unique(self.params.cat_ids)) + self.params.max_dets = sorted(self.params.max_dets) + + self._prepare_targets_and_predictions() + + # Compute IOUs between all targets and predictions for all images and categories + self.ious = { + (img_id, cat_id): self._compute_iou(img_id, cat_id) + for img_id in self.params.img_ids + for cat_id in self.params.cat_ids + } + + # Select the largest max area (the last one: 100) + max_det = self.params.max_dets[-1] + + # Evaluate each image with all categories, area range and max detections + self.eval_imgs = [ + self._evaluate_image(img_id, cat_id, area_range, max_det) + for cat_id in self.params.cat_ids + for area_range in self.params.area_range + for img_id in self.params.img_ids + ] + + # Accumulate results + self._accumulate() + + # Uncomment to see results in pycocotools presentation format: + # self._pycocotools_summarize() + + +class MeanAveragePrecision(Metric): + """ + Mean Average Precision (mAP) is a metric used to evaluate object detection models. + It is the average of the precision-recall curves at different IoU thresholds. + + Example: + ```python + import supervision as sv + from supervision.metrics import MeanAveragePrecision + + predictions = sv.Detections(...) + targets = sv.Detections(...) + + map_metric = MeanAveragePrecision() + map_result = map_metric.update(predictions, targets).compute() + + print(map_result.map50_95) + # 0.4674 + + print(map_result) + # MeanAveragePrecisionResult: + # Metric target: MetricTarget.BOXES + # Class agnostic: False + # mAP @ 50:95: 0.4674 + # mAP @ 50: 0.5048 + # mAP @ 75: 0.4796 + # mAP scores: [0.50485 0.50377 0.50377 ...] + # IoU thresh: [0.5 0.55 0.6 ...] + # AP per class: + # 0: [0.67699 0.67699 0.67699 ...] + # ... + # Small objects: ... + # Medium objects: ... + # Large objects: ... + + map_result.plot() + ``` + + ![example_plot](\ + https://media.roboflow.com/supervision-docs/metrics/mAP_plot_example.png\ + ){ align=center width="800" } + """ + + def __init__( + self, + metric_target: MetricTarget = MetricTarget.BOXES, + class_agnostic: bool = False, + class_mapping: Optional[Dict[int, int]] = None, + image_indices: Optional[List[int]] = None, + ): + """ + Initialize the Mean Average Precision metric. + + Args: + metric_target (MetricTarget): The type of detection data to use. + class_agnostic (bool): Whether to treat all data as a single class. + """ + self._metric_target = metric_target + self._class_agnostic = class_agnostic + + self._predictions_list: List[Detections] = [] + self._targets_list: List[Detections] = [] + self._class_mapping = class_mapping + self._image_indices = image_indices + + def reset(self) -> None: + """ + Reset the metric to its initial state, clearing all stored data. + """ + self._predictions_list = [] + self._targets_list = [] + + def update( + self, + predictions: Union[Detections, List[Detections]], + targets: Union[Detections, List[Detections]], + ) -> MeanAveragePrecision: + """ + Add new predictions and targets to the metric, but do not compute the result. + + Args: + predictions (Union[Detections, List[Detections]]): The predicted detections. + targets (Union[Detections, List[Detections]]): The ground-truth detections. + + Returns: + (MeanAveragePrecision): The updated metric instance. + """ + if not isinstance(predictions, list): + predictions = [predictions] + if not isinstance(targets, list): + targets = [targets] + + if len(predictions) != len(targets): + raise ValueError( + f"The number of predictions ({len(predictions)}) and" + f" targets ({len(targets)}) during the update must be the same." + ) + + if self._class_agnostic: + predictions = deepcopy(predictions) + targets = deepcopy(targets) + + for prediction in predictions: + prediction.class_id[:] = -1 + for target in targets: + target.class_id[:] = -1 + + self._predictions_list.extend(predictions) + self._targets_list.extend(targets) + + return self + + def _compute_polygon_area(self, coords: List[float]) -> float: + """ + Computes the area of a polygon using the Shoelace formula. + + Args: + coords (list of float): Flat list of x, y coordinates, e.g., [x1, y1, x2, y2, ..., xn, yn] + + Returns: + float: Area of the polygon. + """ + if len(coords) < 6: + raise ValueError("Polygon must have at least 3 points (6 coordinates)") + + x = coords[0::2] + y = coords[1::2] + + n = len(x) + area = 0.0 + for i in range(n): + j = (i + 1) % n + area += x[i] * y[j] + area -= y[i] * x[j] + + return abs(area) / 2.0 + + def _prepare_targets(self, targets): + """Transform targets into a dictionary that can be used by the COCO evaluator.""" + images = [{"id": img_id} for img_id in range(len(targets))] + if self._image_indices is not None: + images = [ + {"id": self._image_indices[img_id.get("id")]} for img_id in images + ] + # Annotations list + annotations = [] + for image_id, image_targets in enumerate(targets): + if self._image_indices is not None: + image_id = self._image_indices[image_id] + for target in image_targets: + xyxy = target[0] # or xyxy = prediction[0]; xyxy[2:4] -= xyxy[0:2] + xywh = [xyxy[0], xyxy[1], xyxy[2] - xyxy[0], xyxy[3] - xyxy[1]] + # Get "area" and "iscrowd" from data + data = target[5] + if self._class_mapping is not None: + category_id = self._class_mapping[target[3].item()] + else: + category_id = target[3].item() + dict_annotation = { + "area": data.get("area"), + "iscrowd": data.get("iscrowd"), + "image_id": image_id, + "bbox": xywh, + "category_id": category_id, + "id": len(annotations), # incrementally increase the id + } + annotations.append(dict_annotation) + # Category list + all_cat_ids = set([annotation.get("category_id") for annotation in annotations]) + categories = [{"id": cat_id} for cat_id in all_cat_ids] + # Create coco dictionary + return { + "images": images, + "annotations": annotations, + "categories": categories, + } + + def _prepare_predictions(self, predictions): + """Transform predictions into a list of predictions that can be used by the COCO evaluator.""" + coco_predictions = [] + for image_id, image_predictions in enumerate(predictions): + if self._image_indices is not None: + image_id = self._image_indices[image_id] + for prediction in image_predictions: + xyxy = prediction[0] # or xyxy = prediction[0]; xyxy[2:4] -= xyxy[0:2] + xywh = [xyxy[0], xyxy[1], xyxy[2] - xyxy[0], xyxy[3] - xyxy[1]] + if self._class_mapping is not None: + category_id = self._class_mapping[prediction[3].item()] + else: + category_id = prediction[3].item() + dict_prediction = { + "image_id": image_id, + "bbox": xywh, + "score": prediction[2].item(), + "category_id": category_id, + } + coco_predictions.append(dict_prediction) + return coco_predictions + + def compute(self) -> MeanAveragePrecisionResult: + """ + Calculate Mean Average Precision based on predicted and ground-truth + detections at different thresholds using the COCO evaluation metrics. + Source: https://github.com/rafaelpadilla/review_object_detection_metrics + + Returns: + (MeanAveragePrecisionResult): The Mean Average Precision result. + """ + total_images_predictions = len(self._predictions_list) + total_images_targets = len(self._targets_list) + + if total_images_predictions != total_images_targets: + raise ValueError( + f"The number of predictions ({total_images_predictions}) and" + f" targets ({total_images_targets}) during the evaluation must be" + " the same." + ) + dict_targets = self._prepare_targets(self._targets_list) + lst_predictions = self._prepare_predictions(self._predictions_list) + # Create a coco object with the targets + coco_gt = EvaluationDataset(targets=dict_targets) + # Include the predictions to coco object + coco_det = coco_gt.load_predictions(lst_predictions) + # Create a coco evaluator with the predictions + cocoEval = COCOEvaluator(coco_gt, coco_det) + + # Evaluate on all images + cocoEval.evaluate() + + # Create MeanAveragePrecisionResult object for small objects + mAP_small = MeanAveragePrecisionResult( + metric_target=self._metric_target, + is_class_agnostic=self._class_agnostic, + mAP_scores=cocoEval.results["mAP_scores_small"], + ap_per_class=cocoEval.results["ap_per_class_small"], + iou_thresholds=cocoEval.params.iou_thrs, + matched_classes=cocoEval.params.cat_ids, + ) + # Create MeanAveragePrecisionResult object for medium objects + mAP_medium = MeanAveragePrecisionResult( + metric_target=self._metric_target, + is_class_agnostic=self._class_agnostic, + mAP_scores=cocoEval.results["mAP_scores_medium"], + ap_per_class=cocoEval.results["ap_per_class_medium"], + iou_thresholds=cocoEval.params.iou_thrs, + matched_classes=cocoEval.params.cat_ids, + ) + # Create MeanAveragePrecisionResult object for large objects + mAP_large = MeanAveragePrecisionResult( + metric_target=self._metric_target, + is_class_agnostic=self._class_agnostic, + mAP_scores=cocoEval.results["mAP_scores_large"], + ap_per_class=cocoEval.results["ap_per_class_large"], + iou_thresholds=cocoEval.params.iou_thrs, + matched_classes=cocoEval.params.cat_ids, + ) + + # Create the final MeanAveragePrecisionResult object + mAP_result = MeanAveragePrecisionResult( + metric_target=self._metric_target, + is_class_agnostic=self._class_agnostic, + mAP_scores=cocoEval.results["mAP_scores_all_sizes"], + ap_per_class=cocoEval.results["ap_per_class_all_sizes"], + iou_thresholds=cocoEval.params.iou_thrs, + matched_classes=cocoEval.params.cat_ids, + small_objects=mAP_small, + medium_objects=mAP_medium, + large_objects=mAP_large, + ) + return mAP_result From 36a21717eb7b630fb45f5733c10297772975d6db Mon Sep 17 00:00:00 2001 From: rafaelpadilla Date: Mon, 28 Apr 2025 22:11:32 +0000 Subject: [PATCH 205/420] pre-commit (lint) fixes --- supervision/metrics/mean_average_precision.py | 25 +++++++++++-------- 1 file changed, 15 insertions(+), 10 deletions(-) diff --git a/supervision/metrics/mean_average_precision.py b/supervision/metrics/mean_average_precision.py index 17f4f3946e..3b5eaba871 100644 --- a/supervision/metrics/mean_average_precision.py +++ b/supervision/metrics/mean_average_precision.py @@ -241,9 +241,12 @@ def to_pycocotools_output(self) -> str: f"maxDets=100 ] = {self.map50:.3f}\n" f" Average Precision (AP) @[ IoU=0.75 | area= all | " f"maxDets=100 ] = {self.map75:.3f}\n" - f" Average Precision (AP) @[ IoU=0.50:0.95 | area= small | maxDets=100 ] = {self.small_objects.map50_95:.3f}\n" - f" Average Precision (AP) @[ IoU=0.50:0.95 | area=medium | maxDets=100 ] = {self.medium_objects.map50_95:.3f}\n" - f" Average Precision (AP) @[ IoU=0.50:0.95 | area= large | maxDets=100 ] = {self.large_objects.map50_95:.3f}" + f" Average Precision (AP) @[ IoU=0.50:0.95 | area= small | maxDets=100 ] \ + = {self.small_objects.map50_95:.3f}\n" + f" Average Precision (AP) @[ IoU=0.50:0.95 | area=medium | maxDets=100 ] \ + = {self.medium_objects.map50_95:.3f}\n" + f" Average Precision (AP) @[ IoU=0.50:0.95 | area= large | maxDets=100 ] \ + = {self.large_objects.map50_95:.3f}" ) @@ -317,8 +320,8 @@ def get_annotation_ids( Args: img_ids (list): ids of the images that we want to retrieve. cat_ids (list): ids of the categories that we want to retrieve. - area_range (tuple): area range of the annotations that we want to retrieve in - the format [min_area, max_area]. + area_range (tuple): area range of the annotations that we want to retrieve + in the format [min_area, max_area]. iscrowd (bool): if annotations to retrieve are `iscrowded=1`. """ # If there are no filters, we use all annotations @@ -910,7 +913,7 @@ def _accumulate(self): n for n, i in enumerate(self.params.img_ids) if i in set_image_ids ] - # Evaluting at all categories, area ranges, max number of detections, and + # Evaluating at all categories, area ranges, max number of detections, and # IoU thresholds # Loop through categories @@ -993,7 +996,7 @@ def _accumulate(self): inds = np.searchsorted(rc, self.params.rec_thrs, side="left") for ri, pos_idx in enumerate(inds): - # Ensure pi is within the range of both arrays before using it + # Ensure pi is within the range of both arrays if 0 <= pos_idx < len(pr) and 0 <= pos_idx < len( dt_scores_sorted ): @@ -1315,7 +1318,8 @@ def _compute_polygon_area(self, coords: List[float]) -> float: Computes the area of a polygon using the Shoelace formula. Args: - coords (list of float): Flat list of x, y coordinates, e.g., [x1, y1, x2, y2, ..., xn, yn] + coords (list of float): Flat list of x, y coordinates, e.g., [x1, y1, x2, + y2, ..., xn, yn] Returns: float: Area of the polygon. @@ -1336,7 +1340,7 @@ def _compute_polygon_area(self, coords: List[float]) -> float: return abs(area) / 2.0 def _prepare_targets(self, targets): - """Transform targets into a dictionary that can be used by the COCO evaluator.""" + """Transform targets into a dictionary that can be used by the COCO evaluator""" images = [{"id": img_id} for img_id in range(len(targets))] if self._image_indices is not None: images = [ @@ -1376,7 +1380,8 @@ def _prepare_targets(self, targets): } def _prepare_predictions(self, predictions): - """Transform predictions into a list of predictions that can be used by the COCO evaluator.""" + """Transform predictions into a list of predictions that can be used by the COCO + evaluator.""" coco_predictions = [] for image_id, image_predictions in enumerate(predictions): if self._image_indices is not None: From 157ed3af06e2a4cfb389f1e6cc15682f649d55ed Mon Sep 17 00:00:00 2001 From: rafaelpadilla Date: Mon, 28 Apr 2025 23:08:37 +0000 Subject: [PATCH 206/420] fix data default value --- supervision/dataset/formats/coco.py | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/supervision/dataset/formats/coco.py b/supervision/dataset/formats/coco.py index 10f46d4478..e6cf3c1b9e 100644 --- a/supervision/dataset/formats/coco.py +++ b/supervision/dataset/formats/coco.py @@ -118,9 +118,12 @@ def coco_annotations_to_detections( else: area = None - data = dict( - iscrowd=np.asarray(iscrowd, dtype=int), area=np.asarray(area, dtype=float) - ) + if use_iscrowd or use_precomputed_area: + data = dict( + iscrowd=np.asarray(iscrowd, dtype=int), area=np.asarray(area, dtype=float) + ) + else: + data = dict() if with_masks: mask = coco_annotations_to_masks( From 15cd4451085e1b6f719d991945739bd843fa24a8 Mon Sep 17 00:00:00 2001 From: rafaelpadilla Date: Mon, 28 Apr 2025 23:28:26 +0000 Subject: [PATCH 207/420] Removing unnecessary comments and including references. --- supervision/metrics/mean_average_precision.py | 18 ++++++++++++------ 1 file changed, 12 insertions(+), 6 deletions(-) diff --git a/supervision/metrics/mean_average_precision.py b/supervision/metrics/mean_average_precision.py index 3b5eaba871..ef6f3c71ba 100644 --- a/supervision/metrics/mean_average_precision.py +++ b/supervision/metrics/mean_average_precision.py @@ -252,7 +252,10 @@ def to_pycocotools_output(self) -> str: class EvaluationDataset: """ - Class used to evaluate models with Mean Average Precision. + Class used representing a dataset in the right format needed by the + `COCOEvaluator` class. + + Reference: https://github.com/rafaelpadilla/review_object_detection_metrics """ def __init__(self, targets: Optional[Dict[str, Any]] = None): @@ -619,11 +622,16 @@ def __init__(self): class COCOEvaluator: + """ + Evaluator class to compute COCO metrics. + """ + def __init__( self, coco_targets: EvaluationDataset, coco_predictions: EvaluationDataset ): """ Constructor of COCOEvaluator object. + Args: coco_targets (EvaluationDataset): The dataset with the ground truths. coco_predictions (EvaluationDataset): The dataset with the predictions. @@ -1104,7 +1112,8 @@ def _summarize( s = s[t] s = s[:, :, :, area_range_idx, max_detections_idx] else: - # Dimension of recall: [TxKxAxM] + # Dimension of recall: + # threshold x classes x areas x max detections s = self.results["recall"] if iou_thr is not None: t = np.where(iou_thr == self.params.iou_thrs)[0] @@ -1183,7 +1192,7 @@ def evaluate(self): for cat_id in self.params.cat_ids } - # Select the largest max area (the last one: 100) + # Select the largest max area (the last element containing 100 dets max_det = self.params.max_dets[-1] # Evaluate each image with all categories, area range and max detections @@ -1197,9 +1206,6 @@ def evaluate(self): # Accumulate results self._accumulate() - # Uncomment to see results in pycocotools presentation format: - # self._pycocotools_summarize() - class MeanAveragePrecision(Metric): """ From 4031a7f3df316e65c913fbf6e0672afed6d28ff9 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 5 May 2025 00:07:03 +0000 Subject: [PATCH 208/420] :arrow_up: Bump actions/create-github-app-token from 2.0.2 to 2.0.6 Bumps [actions/create-github-app-token](https://github.com/actions/create-github-app-token) from 2.0.2 to 2.0.6. - [Release notes](https://github.com/actions/create-github-app-token/releases) - [Commits](https://github.com/actions/create-github-app-token/compare/3ff1caaa28b64c9cc276ce0a02e2ff584f3900c5...df432ceedc7162793a195dd1713ff69aefc7379e) --- updated-dependencies: - dependency-name: actions/create-github-app-token dependency-version: 2.0.6 dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] --- .github/workflows/publish-docs.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/publish-docs.yml b/.github/workflows/publish-docs.yml index 4a5a23013b..10b8c65916 100644 --- a/.github/workflows/publish-docs.yml +++ b/.github/workflows/publish-docs.yml @@ -40,7 +40,7 @@ jobs: - name: 🔑 Create GitHub App token (mkdocs) id: mkdocs_token - uses: actions/create-github-app-token@3ff1caaa28b64c9cc276ce0a02e2ff584f3900c5 # v2.0.2 + uses: actions/create-github-app-token@df432ceedc7162793a195dd1713ff69aefc7379e # v2.0.6 with: app-id: ${{ secrets.MKDOCS_APP_ID }} private-key: ${{ secrets.MKDOCS_PEM }} From 2a3c9c9164e8b76d5f8ad0bb019e65521980e8ee Mon Sep 17 00:00:00 2001 From: "pre-commit-ci[bot]" <66853113+pre-commit-ci[bot]@users.noreply.github.com> Date: Mon, 5 May 2025 17:27:00 +0000 Subject: [PATCH 209/420] =?UTF-8?q?chore(pre=5Fcommit):=20=E2=AC=86=20pre?= =?UTF-8?q?=5Fcommit=20autoupdate?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit updates: - [github.com/astral-sh/ruff-pre-commit: v0.11.7 → v0.11.8](https://github.com/astral-sh/ruff-pre-commit/compare/v0.11.7...v0.11.8) --- .pre-commit-config.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index 827dec58b9..0a441f92d8 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -32,7 +32,7 @@ repos: additional_dependencies: ["bandit[toml]"] - repo: https://github.com/astral-sh/ruff-pre-commit - rev: v0.11.7 + rev: v0.11.8 hooks: - id: ruff args: [--fix, --exit-non-zero-on-fix] From 688d9877652138ff6d5b03e429e646c3ee55a829 Mon Sep 17 00:00:00 2001 From: rafaelpadilla Date: Wed, 7 May 2025 20:28:39 +0000 Subject: [PATCH 210/420] replacing `__str__` implementation with `to_pycocotools_output` --- supervision/metrics/mean_average_precision.py | 87 +++++-------------- 1 file changed, 23 insertions(+), 64 deletions(-) diff --git a/supervision/metrics/mean_average_precision.py b/supervision/metrics/mean_average_precision.py index ef6f3c71ba..124d5a9a0b 100644 --- a/supervision/metrics/mean_average_precision.py +++ b/supervision/metrics/mean_average_precision.py @@ -76,56 +76,34 @@ def map75(self) -> float: def __str__(self) -> str: """ - Format as a pretty string. + Formats the evaluation output metrics to match the structure used by pycocotools Example: - ```python - print(map_result) - # MeanAveragePrecisionResult: - # Metric target: MetricTarget.BOXES - # Class agnostic: False - # mAP @ 50:95: 0.4674 - # mAP @ 50: 0.5048 - # mAP @ 75: 0.4796 - # mAP scores: [0.50485 0.50377 0.50377 ...] - # IoU thresh: [0.5 0.55 0.6 ...] - # AP per class: - # 0: [0.67699 0.67699 0.67699 ...] - # ... - # Small objects: ... - # Medium objects: ... - # Large objects: ... + ```python + print(map_result) + # MeanAveragePrecisionResult: + Average Precision (AP) @[ IoU=0.50:0.95 | area= all | maxDets=100 ] = 0.464 + Average Precision (AP) @[ IoU=0.50 | area= all | maxDets=100 ] = 0.637 + Average Precision (AP) @[ IoU=0.75 | area= all | maxDets=100 ] = 0.203 + Average Precision (AP) @[ IoU=0.50:0.95 | area= small | maxDets=100 ] = 0.284 + Average Precision (AP) @[ IoU=0.50:0.95 | area=medium | maxDets=100 ] = 0.497 + Average Precision (AP) @[ IoU=0.50:0.95 | area= large | maxDets=100 ] = 0.629 ``` """ - - out_str = ( - f"{self.__class__.__name__}:\n" - f"Metric target: {self.metric_target}\n" - f"Class agnostic: {self.is_class_agnostic}\n" - f"mAP @ 50:95: {self.map50_95:.4f}\n" - f"mAP @ 50: {self.map50:.4f}\n" - f"mAP @ 75: {self.map75:.4f}\n" - f"mAP scores: {self.mAP_scores}\n" - f"IoU thresh: {self.iou_thresholds}\n" - f"AP per class:\n" + return ( + f" Average Precision (AP) @[ IoU=0.50:0.95 | area= all | " + f"maxDets=100 ] = {self.map50_95:.3f}\n" + f" Average Precision (AP) @[ IoU=0.50 | area= all | " + f"maxDets=100 ] = {self.map50:.3f}\n" + f" Average Precision (AP) @[ IoU=0.75 | area= all | " + f"maxDets=100 ] = {self.map75:.3f}\n" + f" Average Precision (AP) @[ IoU=0.50:0.95 | area= small | maxDets=100 ] \ + = {self.small_objects.map50_95:.3f}\n" + f" Average Precision (AP) @[ IoU=0.50:0.95 | area=medium | maxDets=100 ] \ + = {self.medium_objects.map50_95:.3f}\n" + f" Average Precision (AP) @[ IoU=0.50:0.95 | area= large | maxDets=100 ] \ + = {self.large_objects.map50_95:.3f}" ) - if self.ap_per_class.size == 0: - out_str += " No results\n" - for class_id, ap_of_class in zip(self.matched_classes, self.ap_per_class): - out_str += f" {class_id}: {ap_of_class}\n" - - indent = " " - if self.small_objects is not None: - indented = indent + str(self.small_objects).replace("\n", f"\n{indent}") - out_str += f"\nSmall objects:\n{indented}" - if self.medium_objects is not None: - indented = indent + str(self.medium_objects).replace("\n", f"\n{indent}") - out_str += f"\nMedium objects:\n{indented}" - if self.large_objects is not None: - indented = indent + str(self.large_objects).replace("\n", f"\n{indent}") - out_str += f"\nLarge objects:\n{indented}" - - return out_str def to_pandas(self) -> "pd.DataFrame": """ @@ -230,25 +208,6 @@ def plot(self): plt.tight_layout() plt.show() - def to_pycocotools_output(self) -> str: - """ - Convert the result to the same output format as pycocotools. - """ - return ( - f" Average Precision (AP) @[ IoU=0.50:0.95 | area= all | " - f"maxDets=100 ] = {self.map50_95:.3f}\n" - f" Average Precision (AP) @[ IoU=0.50 | area= all | " - f"maxDets=100 ] = {self.map50:.3f}\n" - f" Average Precision (AP) @[ IoU=0.75 | area= all | " - f"maxDets=100 ] = {self.map75:.3f}\n" - f" Average Precision (AP) @[ IoU=0.50:0.95 | area= small | maxDets=100 ] \ - = {self.small_objects.map50_95:.3f}\n" - f" Average Precision (AP) @[ IoU=0.50:0.95 | area=medium | maxDets=100 ] \ - = {self.medium_objects.map50_95:.3f}\n" - f" Average Precision (AP) @[ IoU=0.50:0.95 | area= large | maxDets=100 ] \ - = {self.large_objects.map50_95:.3f}" - ) - class EvaluationDataset: """ From bba43ecdf43c6464e2dd327ea4fa962008063789 Mon Sep 17 00:00:00 2001 From: rafaelpadilla Date: Wed, 7 May 2025 20:31:05 +0000 Subject: [PATCH 211/420] Updating docstring to reflect newly added arguments --- supervision/metrics/mean_average_precision.py | 3 +++ 1 file changed, 3 insertions(+) diff --git a/supervision/metrics/mean_average_precision.py b/supervision/metrics/mean_average_precision.py index 124d5a9a0b..d02945261c 100644 --- a/supervision/metrics/mean_average_precision.py +++ b/supervision/metrics/mean_average_precision.py @@ -1222,6 +1222,9 @@ def __init__( Args: metric_target (MetricTarget): The type of detection data to use. class_agnostic (bool): Whether to treat all data as a single class. + class_mapping (Optional[Dict[int, int]]): A dictionary to map class IDs to + new IDs. + image_indices (Optional[List[int]]): The indices of the images to use. """ self._metric_target = metric_target self._class_agnostic = class_agnostic From 790baa615f01e45282593ed7ca75d2f5e49c417a Mon Sep 17 00:00:00 2001 From: rafaelpadilla Date: Wed, 7 May 2025 21:36:24 +0000 Subject: [PATCH 212/420] Removing spaces --- supervision/metrics/mean_average_precision.py | 44 ++++--------------- 1 file changed, 9 insertions(+), 35 deletions(-) diff --git a/supervision/metrics/mean_average_precision.py b/supervision/metrics/mean_average_precision.py index d02945261c..1a7365e3d8 100644 --- a/supervision/metrics/mean_average_precision.py +++ b/supervision/metrics/mean_average_precision.py @@ -91,18 +91,18 @@ def __str__(self) -> str: ``` """ return ( - f" Average Precision (AP) @[ IoU=0.50:0.95 | area= all | " + f"Average Precision (AP) @[ IoU=0.50:0.95 | area= all | " f"maxDets=100 ] = {self.map50_95:.3f}\n" - f" Average Precision (AP) @[ IoU=0.50 | area= all | " + f"Average Precision (AP) @[ IoU=0.50 | area= all | " f"maxDets=100 ] = {self.map50:.3f}\n" - f" Average Precision (AP) @[ IoU=0.75 | area= all | " + f"Average Precision (AP) @[ IoU=0.75 | area= all | " f"maxDets=100 ] = {self.map75:.3f}\n" - f" Average Precision (AP) @[ IoU=0.50:0.95 | area= small | maxDets=100 ] \ - = {self.small_objects.map50_95:.3f}\n" - f" Average Precision (AP) @[ IoU=0.50:0.95 | area=medium | maxDets=100 ] \ - = {self.medium_objects.map50_95:.3f}\n" - f" Average Precision (AP) @[ IoU=0.50:0.95 | area= large | maxDets=100 ] \ - = {self.large_objects.map50_95:.3f}" + f"Average Precision (AP) @[ IoU=0.50:0.95 | area= small | maxDets=100 ] " + f"= {self.small_objects.map50_95:.3f}\n" + f"Average Precision (AP) @[ IoU=0.50:0.95 | area=medium | maxDets=100 ] " + f"= {self.medium_objects.map50_95:.3f}\n" + f"Average Precision (AP) @[ IoU=0.50:0.95 | area= large | maxDets=100 ] " + f"= {self.large_objects.map50_95:.3f}" ) def to_pandas(self) -> "pd.DataFrame": @@ -1281,32 +1281,6 @@ def update( return self - def _compute_polygon_area(self, coords: List[float]) -> float: - """ - Computes the area of a polygon using the Shoelace formula. - - Args: - coords (list of float): Flat list of x, y coordinates, e.g., [x1, y1, x2, - y2, ..., xn, yn] - - Returns: - float: Area of the polygon. - """ - if len(coords) < 6: - raise ValueError("Polygon must have at least 3 points (6 coordinates)") - - x = coords[0::2] - y = coords[1::2] - - n = len(x) - area = 0.0 - for i in range(n): - j = (i + 1) % n - area += x[i] * y[j] - area -= y[i] * x[j] - - return abs(area) / 2.0 - def _prepare_targets(self, targets): """Transform targets into a dictionary that can be used by the COCO evaluator""" images = [{"id": img_id} for img_id in range(len(targets))] From 19c4e44e2ce6528682fe44dfd74c6b316b904481 Mon Sep 17 00:00:00 2001 From: rafaelpadilla Date: Wed, 7 May 2025 22:10:15 +0000 Subject: [PATCH 213/420] removing unnecessary flag --- supervision/dataset/core.py | 5 ----- supervision/dataset/formats/coco.py | 13 ++----------- 2 files changed, 2 insertions(+), 16 deletions(-) diff --git a/supervision/dataset/core.py b/supervision/dataset/core.py index dc5de4d58e..2fb3aa4c6f 100644 --- a/supervision/dataset/core.py +++ b/supervision/dataset/core.py @@ -563,7 +563,6 @@ def from_coco( images_directory_path: str, annotations_path: str, force_masks: bool = False, - use_precomputed_area: bool = False, use_iscrowd: bool = False, ) -> DetectionDataset: """ @@ -576,9 +575,6 @@ def from_coco( force_masks (bool): If True, forces masks to be loaded for all annotations, regardless of whether they are present. - use_precomputed_area (bool): If True, - uses precomputed area for all annotations, setting it to None if not - present. use_iscrowd (bool): If True, uses COCO's property `iscrowd` in all annotations, regardless of whether they are present. If not presented, `iscrowd=0` @@ -612,7 +608,6 @@ def from_coco( images_directory_path=images_directory_path, annotations_path=annotations_path, force_masks=force_masks, - use_precomputed_area=use_precomputed_area, use_iscrowd=use_iscrowd, ) return DetectionDataset(classes=classes, images=images, annotations=annotations) diff --git a/supervision/dataset/formats/coco.py b/supervision/dataset/formats/coco.py index e6cf3c1b9e..3ef86b4769 100644 --- a/supervision/dataset/formats/coco.py +++ b/supervision/dataset/formats/coco.py @@ -94,7 +94,6 @@ def coco_annotations_to_detections( resolution_wh: Tuple[int, int], with_masks: bool, use_iscrowd: bool = False, - use_precomputed_area: bool = False, ) -> Detections: if not image_annotations: return Detections.empty() @@ -110,19 +109,13 @@ def coco_annotations_to_detections( iscrowd = [ image_annotation["iscrowd"] for image_annotation in image_annotations ] - else: - iscrowd = [0] * len(image_annotations) - - if use_precomputed_area: area = [image_annotation["area"] for image_annotation in image_annotations] - else: - area = None - - if use_iscrowd or use_precomputed_area: data = dict( iscrowd=np.asarray(iscrowd, dtype=int), area=np.asarray(area, dtype=float) ) else: + iscrowd = [0] * len(image_annotations) + area = None data = dict() if with_masks: @@ -197,7 +190,6 @@ def load_coco_annotations( annotations_path: str, force_masks: bool = False, use_iscrowd: bool = False, - use_precomputed_area: bool = False, ) -> Tuple[List[str], List[str], Dict[str, Detections]]: coco_data = read_json_file(file_path=annotations_path) classes = coco_categories_to_classes(coco_categories=coco_data["categories"]) @@ -228,7 +220,6 @@ def load_coco_annotations( resolution_wh=(image_width, image_height), with_masks=force_masks, use_iscrowd=use_iscrowd, - use_precomputed_area=use_precomputed_area, ) annotation = map_detections_class_id( From 8f72e490802d2d83fd53c2fb99c3a2f29fc42689 Mon Sep 17 00:00:00 2001 From: rafaelpadilla Date: Thu, 8 May 2025 01:46:46 +0000 Subject: [PATCH 214/420] Moving iou_with_jaccard and jaccard from mean_average_precision.py to detection/utils.py --- supervision/detection/utils.py | 70 +++++++++++++++++ supervision/metrics/mean_average_precision.py | 78 ++----------------- 2 files changed, 76 insertions(+), 72 deletions(-) diff --git a/supervision/detection/utils.py b/supervision/detection/utils.py index 8153628bde..485c0e80c2 100644 --- a/supervision/detection/utils.py +++ b/supervision/detection/utils.py @@ -1325,3 +1325,73 @@ def spread_out_boxes( xyxy_padded[:, [2, 3]] += force_vectors return pad_boxes(xyxy_padded, px=-1) + + +def _jaccard(box_a: List[float], box_b: List[float], is_crowd: bool) -> float: + """ + Calculate the Jaccard index (intersection over union) between two bounding boxes. + If a gt object is marked as "iscrowd", a dt is allowed to match any subregion + of the gt. Choosing gt' in the crowd gt that best matches the dt can be done using + gt'=intersect(dt,gt). Since by definition union(gt',dt)=dt, computing + iou(gt,dt,iscrowd) = iou(gt',dt) = area(intersect(gt,dt)) / area(dt) + + Args: + box_a (List[float]): Box coordinates in the format [x, y, width, height]. + box_b (List[float]): Box coordinates in the format [x, y, width, height]. + iscrowd (bool): Flag indicating if the second box is a crowd region or not. + + Returns: + float: Jaccard index between the two bounding boxes. + """ + # Smallest number to avoid division by zero + EPS = np.spacing(1) + + xa, ya, x2a, y2a = box_a[0], box_a[1], box_a[0] + box_a[2], box_a[1] + box_a[3] + xb, yb, x2b, y2b = box_b[0], box_b[1], box_b[0] + box_b[2], box_b[1] + box_b[3] + + # Innermost left x + xi = max(xa, xb) + # Innermost right x + x2i = min(x2a, x2b) + # Same for y + yi = max(ya, yb) + y2i = min(y2a, y2b) + + # Calculate areas + Aa = max(x2a - xa, 0.0) * max(y2a - ya, 0.0) + Ab = max(x2b - xb, 0.0) * max(y2b - yb, 0.0) + Ai = max(x2i - xi, 0.0) * max(y2i - yi, 0.0) + + if is_crowd: + return Ai / (Aa + EPS) + + return Ai / (Aa + Ab - Ai + EPS) + + +def iou_with_jaccard( + dt: List[List[float]], gt: List[List[float]], is_crowd: List[bool] +) -> np.ndarray: + """ + Calculate the intersection over union (IoU) between detection bounding boxes (dt) + and ground-truth bounding boxes (gt). + Reference: https://github.com/rafaelpadilla/review_object_detection_metrics + + Args: + dt (List[List[float]]): List of detection bounding boxes in the \ + format [x, y, width, height]. + gt (List[List[float]]): List of ground-truth bounding boxes in the \ + format [x, y, width, height]. + is_crowd (List[bool]): List indicating if each ground-truth bounding box \ + is a crowd region or not. + + Returns: + np.ndarray: Array of IoU values of shape (len(dt), len(gt)). + """ + assert len(is_crowd) == len(gt), "iou(iscrowd=) must have the same length as gt" + if len(dt) == 0 or len(gt) == 0: + return np.array([]) + ious = np.zeros((len(dt), len(gt)), dtype=np.float64) + for g_idx, g in enumerate(gt): + for d_idx, d in enumerate(dt): + ious[d_idx, g_idx] = _jaccard(d, g, is_crowd[g_idx]) + return ious diff --git a/supervision/metrics/mean_average_precision.py b/supervision/metrics/mean_average_precision.py index 1a7365e3d8..2d58467f56 100644 --- a/supervision/metrics/mean_average_precision.py +++ b/supervision/metrics/mean_average_precision.py @@ -16,6 +16,7 @@ from supervision.draw.color import LEGACY_COLOR_PALETTE from supervision.metrics.core import Metric, MetricTarget from supervision.metrics.utils.utils import ensure_pandas_installed +from supervision.detection.utils import iou_with_jaccard if TYPE_CHECKING: import pandas as pd @@ -99,10 +100,10 @@ def __str__(self) -> str: f"maxDets=100 ] = {self.map75:.3f}\n" f"Average Precision (AP) @[ IoU=0.50:0.95 | area= small | maxDets=100 ] " f"= {self.small_objects.map50_95:.3f}\n" - f"Average Precision (AP) @[ IoU=0.50:0.95 | area=medium | maxDets=100 ] " - f"= {self.medium_objects.map50_95:.3f}\n" - f"Average Precision (AP) @[ IoU=0.50:0.95 | area= large | maxDets=100 ] " - f"= {self.large_objects.map50_95:.3f}" + f"Average Precision (AP) @[ IoU=0.50:0.95 | area=medium | maxDets=100 ] \ + = {self.medium_objects.map50_95:.3f}\n" + f"Average Precision (AP) @[ IoU=0.50:0.95 | area= large | maxDets=100 ] \ + = {self.large_objects.map50_95:.3f}" ) def to_pandas(self) -> "pd.DataFrame": @@ -485,73 +486,6 @@ class ObjectSize(Enum): LARGE = "large" -def _iou_with_jaccard( - dt: List[List[float]], gt: List[List[float]], is_crowd: List[bool] -) -> np.ndarray: - """ - Calculate the intersection over union (IoU) between detection bounding boxes (dt) - and ground-truth bounding boxes (gt). - Reference: https://github.com/rafaelpadilla/review_object_detection_metrics - - Args: - dt (List[List[float]]): List of detection bounding boxes in the \ - format [x, y, width, height]. - gt (List[List[float]]): List of ground-truth bounding boxes in the \ - format [x, y, width, height]. - is_crowd (List[bool]): List indicating if each ground-truth bounding box \ - is a crowd region or not. - - Returns: - np.ndarray: Array of IoU values of shape (len(dt), len(gt)). - """ - assert len(is_crowd) == len(gt), "iou(iscrowd=) must have the same length as gt" - if len(dt) == 0 or len(gt) == 0: - return np.array([]) - ious = np.zeros((len(dt), len(gt)), dtype=np.float64) - for g_idx, g in enumerate(gt): - for d_idx, d in enumerate(dt): - ious[d_idx, g_idx] = _jaccard(d, g, is_crowd[g_idx]) - return ious - - -def _jaccard(box_a: List[float], box_b: List[float], is_crowd: bool) -> float: - """ - Calculate the Jaccard index (intersection over union) between two bounding boxes. - If a gt object is marked as "iscrowd", a dt is allowed to match any subregion - of the gt. Choosing gt' in the crowd gt that best matches the dt can be done using - gt'=intersect(dt,gt). Since by definition union(gt',dt)=dt, computing - iou(gt,dt,iscrowd) = iou(gt',dt) = area(intersect(gt,dt)) / area(dt) - - Args: - box_a (List[float]): Box coordinates in the format [x, y, width, height]. - box_b (List[float]): Box coordinates in the format [x, y, width, height]. - iscrowd (bool): Flag indicating if the second box is a crowd region or not. - - Returns: - float: Jaccard index between the two bounding boxes. - """ - xa, ya, x2a, y2a = box_a[0], box_a[1], box_a[0] + box_a[2], box_a[1] + box_a[3] - xb, yb, x2b, y2b = box_b[0], box_b[1], box_b[0] + box_b[2], box_b[1] + box_b[3] - - # Innermost left x - xi = max(xa, xb) - # Innermost right x - x2i = min(x2a, x2b) - # Same for y - yi = max(ya, yb) - y2i = min(y2a, y2b) - - # Calculate areas - Aa = max(x2a - xa, 0.0) * max(y2a - ya, 0.0) - Ab = max(x2b - xb, 0.0) * max(y2b - yb, 0.0) - Ai = max(x2i - xi, 0.0) * max(y2i - yi, 0.0) - - if is_crowd: - return Ai / (Aa + EPS) - - return Ai / (Aa + Ab - Ai + EPS) - - class COCOEvaluatorParameters: """ Parameters for COCOEvaluator @@ -689,7 +623,7 @@ def _compute_iou(self, img_id: int, cat_id: int) -> np.ndarray: # Get the iscrowd flag for each gt is_crowd = [int(o["iscrowd"]) for o in gt] # Compute iou between each prediction a and gt region - iou = _iou_with_jaccard(dt_boxes, gt_boxes, is_crowd) + iou = iou_with_jaccard(dt_boxes, gt_boxes, is_crowd) return iou def _evaluate_image( From 52980a6aa7e6c460fc9e8104db0ce9dbeb33da85 Mon Sep 17 00:00:00 2001 From: "pre-commit-ci[bot]" <66853113+pre-commit-ci[bot]@users.noreply.github.com> Date: Thu, 8 May 2025 01:52:42 +0000 Subject: [PATCH 215/420] =?UTF-8?q?fix(pre=5Fcommit):=20=F0=9F=8E=A8=20aut?= =?UTF-8?q?o=20format=20pre-commit=20hooks?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- supervision/metrics/mean_average_precision.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/supervision/metrics/mean_average_precision.py b/supervision/metrics/mean_average_precision.py index 2d58467f56..3b963795a7 100644 --- a/supervision/metrics/mean_average_precision.py +++ b/supervision/metrics/mean_average_precision.py @@ -13,10 +13,10 @@ from matplotlib import pyplot as plt from supervision.detection.core import Detections +from supervision.detection.utils import iou_with_jaccard from supervision.draw.color import LEGACY_COLOR_PALETTE from supervision.metrics.core import Metric, MetricTarget from supervision.metrics.utils.utils import ensure_pandas_installed -from supervision.detection.utils import iou_with_jaccard if TYPE_CHECKING: import pandas as pd From bfe11b3f8ef2bfd4dcf39050571fff36e3f05eeb Mon Sep 17 00:00:00 2001 From: "pre-commit-ci[bot]" <66853113+pre-commit-ci[bot]@users.noreply.github.com> Date: Mon, 12 May 2025 17:23:07 +0000 Subject: [PATCH 216/420] =?UTF-8?q?chore(pre=5Fcommit):=20=E2=AC=86=20pre?= =?UTF-8?q?=5Fcommit=20autoupdate?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit updates: - [github.com/astral-sh/ruff-pre-commit: v0.11.8 → v0.11.9](https://github.com/astral-sh/ruff-pre-commit/compare/v0.11.8...v0.11.9) --- .pre-commit-config.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index 0a441f92d8..22e683e6bf 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -32,7 +32,7 @@ repos: additional_dependencies: ["bandit[toml]"] - repo: https://github.com/astral-sh/ruff-pre-commit - rev: v0.11.8 + rev: v0.11.9 hooks: - id: ruff args: [--fix, --exit-non-zero-on-fix] From 9f67fb9f5e93302445c1863d6393c8a39f02d365 Mon Sep 17 00:00:00 2001 From: "pre-commit-ci[bot]" <66853113+pre-commit-ci[bot]@users.noreply.github.com> Date: Mon, 19 May 2025 17:24:35 +0000 Subject: [PATCH 217/420] =?UTF-8?q?chore(pre=5Fcommit):=20=E2=AC=86=20pre?= =?UTF-8?q?=5Fcommit=20autoupdate?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit updates: - [github.com/astral-sh/ruff-pre-commit: v0.11.9 → v0.11.10](https://github.com/astral-sh/ruff-pre-commit/compare/v0.11.9...v0.11.10) --- .pre-commit-config.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index 22e683e6bf..8905058563 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -32,7 +32,7 @@ repos: additional_dependencies: ["bandit[toml]"] - repo: https://github.com/astral-sh/ruff-pre-commit - rev: v0.11.9 + rev: v0.11.10 hooks: - id: ruff args: [--fix, --exit-non-zero-on-fix] From d21ebc77ccbee3a045ba3182ca52a1dd352af8e3 Mon Sep 17 00:00:00 2001 From: "pre-commit-ci[bot]" <66853113+pre-commit-ci[bot]@users.noreply.github.com> Date: Mon, 26 May 2025 17:24:02 +0000 Subject: [PATCH 218/420] =?UTF-8?q?chore(pre=5Fcommit):=20=E2=AC=86=20pre?= =?UTF-8?q?=5Fcommit=20autoupdate?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit updates: - [github.com/astral-sh/ruff-pre-commit: v0.11.10 → v0.11.11](https://github.com/astral-sh/ruff-pre-commit/compare/v0.11.10...v0.11.11) --- .pre-commit-config.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index 8905058563..179a964961 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -32,7 +32,7 @@ repos: additional_dependencies: ["bandit[toml]"] - repo: https://github.com/astral-sh/ruff-pre-commit - rev: v0.11.10 + rev: v0.11.11 hooks: - id: ruff args: [--fix, --exit-non-zero-on-fix] From cff974555e9d5f2245d9fa83940abcc114a84d3f Mon Sep 17 00:00:00 2001 From: rafaelpadilla Date: Sun, 1 Jun 2025 15:52:01 +0000 Subject: [PATCH 219/420] 1) Simplifying the logic of `use_iscrowd` and compatibility with other datasets. 2) Making `get_coco_class_index_mapping` return the inversed mapping, to simplify its usage. --- supervision/dataset/core.py | 6 ------ supervision/dataset/formats/coco.py | 12 +++++------- supervision/metrics/mean_average_precision.py | 10 ++++------ 3 files changed, 9 insertions(+), 19 deletions(-) diff --git a/supervision/dataset/core.py b/supervision/dataset/core.py index 2fb3aa4c6f..c6fc760edc 100644 --- a/supervision/dataset/core.py +++ b/supervision/dataset/core.py @@ -563,7 +563,6 @@ def from_coco( images_directory_path: str, annotations_path: str, force_masks: bool = False, - use_iscrowd: bool = False, ) -> DetectionDataset: """ Creates a Dataset instance from COCO formatted data. @@ -575,10 +574,6 @@ def from_coco( force_masks (bool): If True, forces masks to be loaded for all annotations, regardless of whether they are present. - use_iscrowd (bool): If True, - uses COCO's property `iscrowd` in all annotations, - regardless of whether they are present. If not presented, `iscrowd=0` - will be used. Returns: DetectionDataset: A DetectionDataset instance containing the loaded images and annotations. @@ -608,7 +603,6 @@ def from_coco( images_directory_path=images_directory_path, annotations_path=annotations_path, force_masks=force_masks, - use_iscrowd=use_iscrowd, ) return DetectionDataset(classes=classes, images=images, annotations=annotations) diff --git a/supervision/dataset/formats/coco.py b/supervision/dataset/formats/coco.py index 3ef86b4769..27b17243c0 100644 --- a/supervision/dataset/formats/coco.py +++ b/supervision/dataset/formats/coco.py @@ -105,6 +105,7 @@ def coco_annotations_to_detections( xyxy = np.asarray(xyxy) xyxy[:, 2:4] += xyxy[:, 0:2] + data = dict() if use_iscrowd: iscrowd = [ image_annotation["iscrowd"] for image_annotation in image_annotations @@ -113,10 +114,6 @@ def coco_annotations_to_detections( data = dict( iscrowd=np.asarray(iscrowd, dtype=int), area=np.asarray(area, dtype=float) ) - else: - iscrowd = [0] * len(image_annotations) - area = None - data = dict() if with_masks: mask = coco_annotations_to_masks( @@ -182,14 +179,15 @@ def get_coco_class_index_mapping(annotations_path: str) -> Dict[int, int]: class_mapping = build_coco_class_index_mapping( coco_categories=coco_data["categories"], target_classes=classes ) - return class_mapping + inv_class_mapping = {v: k for k, v in class_mapping.items()} + return inv_class_mapping def load_coco_annotations( images_directory_path: str, annotations_path: str, force_masks: bool = False, - use_iscrowd: bool = False, + # use_iscrowd: bool = True, ) -> Tuple[List[str], List[str], Dict[str, Detections]]: coco_data = read_json_file(file_path=annotations_path) classes = coco_categories_to_classes(coco_categories=coco_data["categories"]) @@ -219,7 +217,7 @@ def load_coco_annotations( image_annotations=image_annotations, resolution_wh=(image_width, image_height), with_masks=force_masks, - use_iscrowd=use_iscrowd, + use_iscrowd=True, ) annotation = map_detections_class_id( diff --git a/supervision/metrics/mean_average_precision.py b/supervision/metrics/mean_average_precision.py index 3b963795a7..ac7351a905 100644 --- a/supervision/metrics/mean_average_precision.py +++ b/supervision/metrics/mean_average_precision.py @@ -666,9 +666,6 @@ def _evaluate_image( dt_sorted = np.argsort([-d["score"] for d in dt], kind="stable") dt = [dt[i] for i in dt_sorted[0:max_det]] - # Get the iscrowd flag for each gt - # iscrowd = [int(o["iscrowd"]) for o in gt] - # Load computed ious for the given image and category ious = ( self.ious[img_id, cat_id][:, gt_sorted] @@ -1230,15 +1227,16 @@ def _prepare_targets(self, targets): for target in image_targets: xyxy = target[0] # or xyxy = prediction[0]; xyxy[2:4] -= xyxy[0:2] xywh = [xyxy[0], xyxy[1], xyxy[2] - xyxy[0], xyxy[3] - xyxy[1]] - # Get "area" and "iscrowd" from data + # Get "area" and "iscrowd" (default 0) from data data = target[5] + if self._class_mapping is not None: category_id = self._class_mapping[target[3].item()] else: category_id = target[3].item() dict_annotation = { - "area": data.get("area"), - "iscrowd": data.get("iscrowd"), + "area": data.get("area", 0), + "iscrowd": data.get("iscrowd", 0), "image_id": image_id, "bbox": xywh, "category_id": category_id, From fd3135145aeb0631bf4dbe4ccc497165304e171e Mon Sep 17 00:00:00 2001 From: rafaelpadilla Date: Sun, 1 Jun 2025 17:21:45 +0000 Subject: [PATCH 220/420] renaming and reordering inputs of function to keep consistency with other functions --- supervision/detection/utils.py | 20 +++++++++++-------- supervision/metrics/mean_average_precision.py | 2 +- 2 files changed, 13 insertions(+), 9 deletions(-) diff --git a/supervision/detection/utils.py b/supervision/detection/utils.py index 485c0e80c2..7ce199e50a 100644 --- a/supervision/detection/utils.py +++ b/supervision/detection/utils.py @@ -1369,7 +1369,9 @@ def _jaccard(box_a: List[float], box_b: List[float], is_crowd: bool) -> float: def iou_with_jaccard( - dt: List[List[float]], gt: List[List[float]], is_crowd: List[bool] + boxes_true: List[List[float]], + boxes_detection: List[List[float]], + is_crowd: List[bool], ) -> np.ndarray: """ Calculate the intersection over union (IoU) between detection bounding boxes (dt) @@ -1377,9 +1379,9 @@ def iou_with_jaccard( Reference: https://github.com/rafaelpadilla/review_object_detection_metrics Args: - dt (List[List[float]]): List of detection bounding boxes in the \ + boxes_true (List[List[float]]): List of ground-truth bounding boxes in the \ format [x, y, width, height]. - gt (List[List[float]]): List of ground-truth bounding boxes in the \ + boxes_detection (List[List[float]]): List of detection bounding boxes in the \ format [x, y, width, height]. is_crowd (List[bool]): List indicating if each ground-truth bounding box \ is a crowd region or not. @@ -1387,11 +1389,13 @@ def iou_with_jaccard( Returns: np.ndarray: Array of IoU values of shape (len(dt), len(gt)). """ - assert len(is_crowd) == len(gt), "iou(iscrowd=) must have the same length as gt" - if len(dt) == 0 or len(gt) == 0: + assert len(is_crowd) == len(boxes_true), ( + "iou(iscrowd=) must have the same length as boxes_true" + ) + if len(boxes_detection) == 0 or len(boxes_true) == 0: return np.array([]) - ious = np.zeros((len(dt), len(gt)), dtype=np.float64) - for g_idx, g in enumerate(gt): - for d_idx, d in enumerate(dt): + ious = np.zeros((len(boxes_detection), len(boxes_true)), dtype=np.float64) + for g_idx, g in enumerate(boxes_true): + for d_idx, d in enumerate(boxes_detection): ious[d_idx, g_idx] = _jaccard(d, g, is_crowd[g_idx]) return ious diff --git a/supervision/metrics/mean_average_precision.py b/supervision/metrics/mean_average_precision.py index ac7351a905..bb2ef8a2e5 100644 --- a/supervision/metrics/mean_average_precision.py +++ b/supervision/metrics/mean_average_precision.py @@ -623,7 +623,7 @@ def _compute_iou(self, img_id: int, cat_id: int) -> np.ndarray: # Get the iscrowd flag for each gt is_crowd = [int(o["iscrowd"]) for o in gt] # Compute iou between each prediction a and gt region - iou = iou_with_jaccard(dt_boxes, gt_boxes, is_crowd) + iou = iou_with_jaccard(gt_boxes, dt_boxes, is_crowd) return iou def _evaluate_image( From 84d190a40c6e2de943aa8f0a5efb7f0156e1c0d2 Mon Sep 17 00:00:00 2001 From: "pre-commit-ci[bot]" <66853113+pre-commit-ci[bot]@users.noreply.github.com> Date: Mon, 16 Jun 2025 17:18:16 +0000 Subject: [PATCH 221/420] =?UTF-8?q?chore(pre=5Fcommit):=20=E2=AC=86=20pre?= =?UTF-8?q?=5Fcommit=20autoupdate?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit updates: - [github.com/PyCQA/bandit: 1.8.3 → 1.8.4](https://github.com/PyCQA/bandit/compare/1.8.3...1.8.4) - [github.com/astral-sh/ruff-pre-commit: v0.11.11 → v0.11.13](https://github.com/astral-sh/ruff-pre-commit/compare/v0.11.11...v0.11.13) --- .pre-commit-config.yaml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index 179a964961..817b115efd 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -25,14 +25,14 @@ repos: - id: mixed-line-ending - repo: https://github.com/PyCQA/bandit - rev: '1.8.3' + rev: '1.8.4' hooks: - id: bandit args: ["-c", "pyproject.toml"] additional_dependencies: ["bandit[toml]"] - repo: https://github.com/astral-sh/ruff-pre-commit - rev: v0.11.11 + rev: v0.11.13 hooks: - id: ruff args: [--fix, --exit-non-zero-on-fix] From 4255e63269f10ce13cff4b74cd9f8d23d6cf55d5 Mon Sep 17 00:00:00 2001 From: James Date: Tue, 17 Jun 2025 09:34:23 -0400 Subject: [PATCH 222/420] work on new theme --- docs/changelog.md | 2 +- docs/index.md | 8 ++- docs/stylesheets/extra.css | 113 +++++++++++++++++++++++++++++++- docs/theme/partials/header.html | 67 +++++++++++++++++++ mkdocs.yml | 33 ++++------ 5 files changed, 198 insertions(+), 25 deletions(-) create mode 100644 docs/theme/partials/header.html diff --git a/docs/changelog.md b/docs/changelog.md index d845e6e9c3..3cfb3b69ec 100644 --- a/docs/changelog.md +++ b/docs/changelog.md @@ -1,4 +1,4 @@ -# CHANGELOG +# Changelog ### 0.25.0 Nov 12, 2024 diff --git a/docs/index.md b/docs/index.md index 08fdb2400f..4ad0f9a469 100644 --- a/docs/index.md +++ b/docs/index.md @@ -10,13 +10,19 @@ hide:

-
- + + {% if page.meta and page.meta.title %} {{ page.meta.title }} {% else %} @@ -48,13 +58,72 @@
+ + {% if "material/search" in config.plugins %} + {% set search = config.plugins["material/search"] | attr("config") %} + + + {% if search.enabled %} + + + + {% include "partials/search.html" %} + {% endif %} + {% endif %} +
    -
  • Resources
  • -
  • Products
  • -
  • Sign In
  • -
  • Book a Demo
  • -
  • Get Started
  • +
  • + + + +
  • +
  • + + + +
  • + + +
  • Go to Roboflow
From 463a54fb58a85906aa578eee40c25975069b5b44 Mon Sep 17 00:00:00 2001 From: James Date: Tue, 17 Jun 2025 16:08:45 -0400 Subject: [PATCH 224/420] work on mobile styles --- docs/stylesheets/extra.css | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/stylesheets/extra.css b/docs/stylesheets/extra.css index 9dd3d6eacb..814dcf9d7c 100644 --- a/docs/stylesheets/extra.css +++ b/docs/stylesheets/extra.css @@ -174,7 +174,7 @@ body { .md-main__inner, .md-header__inner, .md-grid { max-width: 100%; } -@media (max-width: 768px) { +@media (max-width: 1000px) { .md-header__inner { display: flex; } From 568a94c0e1c73056043acb55ec922241cd01915b Mon Sep 17 00:00:00 2001 From: James Date: Tue, 17 Jun 2025 17:10:07 -0400 Subject: [PATCH 225/420] fix kapa --- mkdocs.yml | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-) diff --git a/mkdocs.yml b/mkdocs.yml index 444abb48df..4a1568575d 100644 --- a/mkdocs.yml +++ b/mkdocs.yml @@ -119,11 +119,11 @@ theme: plugins: - search - # - mkdocs-jupyter: - # kernel_name: python3 - # execute: false - # include_source: True - # include_requirejs: true + - mkdocs-jupyter: + kernel_name: python3 + execute: false + include_source: True + include_requirejs: true - mkdocstrings: default_handler: python handlers: @@ -166,7 +166,6 @@ markdown_extensions: anchor_linenums: true extra_javascript: - - "https://widget.kapa.ai/kapa-widget.bundle.js" - "javascripts/init_kapa_widget.js" - "javascripts/cookbooks-card.js" - "https://cdnjs.cloudflare.com/ajax/libs/dompurify/3.0.8/purify.min.js" From 5313f479a45af6202052a574690c88f03ce9158f Mon Sep 17 00:00:00 2001 From: James Date: Tue, 17 Jun 2025 17:12:24 -0400 Subject: [PATCH 226/420] fix kapa widget --- docs/javascripts/init_kapa_widget.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/javascripts/init_kapa_widget.js b/docs/javascripts/init_kapa_widget.js index ffa121ac53..f1919479c6 100644 --- a/docs/javascripts/init_kapa_widget.js +++ b/docs/javascripts/init_kapa_widget.js @@ -7,4 +7,4 @@ document.addEventListener("DOMContentLoaded", function () { script.setAttribute("data-project-logo", "https://media.roboflow.com/chat.png"); script.async = true; document.head.appendChild(script); -}); +}); \ No newline at end of file From c2d0ed23658c03e86cc86935e38bbd7d0a4146fe Mon Sep 17 00:00:00 2001 From: "pre-commit-ci[bot]" <66853113+pre-commit-ci[bot]@users.noreply.github.com> Date: Wed, 18 Jun 2025 21:22:58 +0000 Subject: [PATCH 227/420] =?UTF-8?q?fix(pre=5Fcommit):=20=F0=9F=8E=A8=20aut?= =?UTF-8?q?o=20format=20pre-commit=20hooks?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- docs/javascripts/init_kapa_widget.js | 2 +- docs/stylesheets/extra.css | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/docs/javascripts/init_kapa_widget.js b/docs/javascripts/init_kapa_widget.js index f1919479c6..ffa121ac53 100644 --- a/docs/javascripts/init_kapa_widget.js +++ b/docs/javascripts/init_kapa_widget.js @@ -7,4 +7,4 @@ document.addEventListener("DOMContentLoaded", function () { script.setAttribute("data-project-logo", "https://media.roboflow.com/chat.png"); script.async = true; document.head.appendChild(script); -}); \ No newline at end of file +}); diff --git a/docs/stylesheets/extra.css b/docs/stylesheets/extra.css index 814dcf9d7c..ae41a3e03f 100644 --- a/docs/stylesheets/extra.css +++ b/docs/stylesheets/extra.css @@ -115,7 +115,7 @@ body { } /* .md-nav__link:has([tabindex=""]) { - text-transform: uppercase; + text-transform: uppercase; } */ .header-list { From 646ac83bef70ee04a8161eacf0cfe686aba89027 Mon Sep 17 00:00:00 2001 From: "pre-commit-ci[bot]" <66853113+pre-commit-ci[bot]@users.noreply.github.com> Date: Wed, 25 Jun 2025 01:04:54 +0000 Subject: [PATCH 228/420] =?UTF-8?q?fix(pre=5Fcommit):=20=F0=9F=8E=A8=20aut?= =?UTF-8?q?o=20format=20pre-commit=20hooks?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- supervision/detection/overlap_filter.py | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/supervision/detection/overlap_filter.py b/supervision/detection/overlap_filter.py index f59926a493..dbe1159a5c 100644 --- a/supervision/detection/overlap_filter.py +++ b/supervision/detection/overlap_filter.py @@ -256,8 +256,7 @@ def mask_non_max_merge( for merge_group in merge_groups: if len(merge_group) == 0: raise ValueError( - f"Empty group detected when non-max-merging " - f"detections: {merge_groups}" + f"Empty group detected when non-max-merging detections: {merge_groups}" ) return merge_groups From d0028581696010e6b85c89592745b5ad5f21ce88 Mon Sep 17 00:00:00 2001 From: AI-Hao <2865467769@qq.com> Date: Wed, 25 Jun 2025 10:56:50 +0800 Subject: [PATCH 229/420] =?UTF-8?q?ci:=20=E6=B3=A8=E9=87=8A=E6=8E=89?= =?UTF-8?q?=E5=88=9B=E5=BB=BA=20GitHub=20App=20token=20=E7=9A=84=E6=AD=A5?= =?UTF-8?q?=E9=AA=A4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 暂时注释掉创建 GitHub App token 的步骤,可能是因为该步骤不再需要或出现了问题。这个修改不影响其他功能,只是减少了工作流中的一个步骤。 --- .github/workflows/publish-docs.yml | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/.github/workflows/publish-docs.yml b/.github/workflows/publish-docs.yml index 10b8c65916..d0f26aad38 100644 --- a/.github/workflows/publish-docs.yml +++ b/.github/workflows/publish-docs.yml @@ -38,14 +38,14 @@ jobs: with: python-version: ${{ matrix.python-version }} - - name: 🔑 Create GitHub App token (mkdocs) - id: mkdocs_token - uses: actions/create-github-app-token@df432ceedc7162793a195dd1713ff69aefc7379e # v2.0.6 - with: - app-id: ${{ secrets.MKDOCS_APP_ID }} - private-key: ${{ secrets.MKDOCS_PEM }} - owner: roboflow - repositories: mkdocs-material-insiders +# - name: 🔑 Create GitHub App token (mkdocs) +# id: mkdocs_token +# uses: actions/create-github-app-token@df432ceedc7162793a195dd1713ff69aefc7379e # v2.0.6 +# with: +# app-id: ${{ secrets.MKDOCS_APP_ID }} +# private-key: ${{ secrets.MKDOCS_PEM }} +# owner: roboflow +# repositories: mkdocs-material-insiders - name: 🏗️ Install dependencies run: | From eb170bc393b65850c653b985fc52e2de85918c6d Mon Sep 17 00:00:00 2001 From: AI-Hao <2865467769@qq.com> Date: Wed, 25 Jun 2025 11:02:17 +0800 Subject: [PATCH 230/420] =?UTF-8?q?ci:=E5=8F=96=E6=B6=88=E6=B3=A8=E9=87=8A?= =?UTF-8?q?=20GitHub=20App=20token=20=E6=AD=A5=E9=AA=A4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 取消注释了 publish-docs.yml 文件中的 Create GitHub App token (mkdocs) 步骤。这个步骤现在将作为工作流程的一部分正常运行,不再被跳过。 --- .github/workflows/publish-docs.yml | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/.github/workflows/publish-docs.yml b/.github/workflows/publish-docs.yml index d0f26aad38..10b8c65916 100644 --- a/.github/workflows/publish-docs.yml +++ b/.github/workflows/publish-docs.yml @@ -38,14 +38,14 @@ jobs: with: python-version: ${{ matrix.python-version }} -# - name: 🔑 Create GitHub App token (mkdocs) -# id: mkdocs_token -# uses: actions/create-github-app-token@df432ceedc7162793a195dd1713ff69aefc7379e # v2.0.6 -# with: -# app-id: ${{ secrets.MKDOCS_APP_ID }} -# private-key: ${{ secrets.MKDOCS_PEM }} -# owner: roboflow -# repositories: mkdocs-material-insiders + - name: 🔑 Create GitHub App token (mkdocs) + id: mkdocs_token + uses: actions/create-github-app-token@df432ceedc7162793a195dd1713ff69aefc7379e # v2.0.6 + with: + app-id: ${{ secrets.MKDOCS_APP_ID }} + private-key: ${{ secrets.MKDOCS_PEM }} + owner: roboflow + repositories: mkdocs-material-insiders - name: 🏗️ Install dependencies run: | From 097614f2be9e575b2b13209b79dc87ee03c413e9 Mon Sep 17 00:00:00 2001 From: "pre-commit-ci[bot]" <66853113+pre-commit-ci[bot]@users.noreply.github.com> Date: Mon, 30 Jun 2025 17:21:08 +0000 Subject: [PATCH 231/420] =?UTF-8?q?chore(pre=5Fcommit):=20=E2=AC=86=20pre?= =?UTF-8?q?=5Fcommit=20autoupdate?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit updates: - [github.com/PyCQA/bandit: 1.8.4 → 1.8.5](https://github.com/PyCQA/bandit/compare/1.8.4...1.8.5) - [github.com/astral-sh/ruff-pre-commit: v0.11.13 → v0.12.1](https://github.com/astral-sh/ruff-pre-commit/compare/v0.11.13...v0.12.1) --- .pre-commit-config.yaml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index 817b115efd..3af21e3b8a 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -25,14 +25,14 @@ repos: - id: mixed-line-ending - repo: https://github.com/PyCQA/bandit - rev: '1.8.4' + rev: '1.8.5' hooks: - id: bandit args: ["-c", "pyproject.toml"] additional_dependencies: ["bandit[toml]"] - repo: https://github.com/astral-sh/ruff-pre-commit - rev: v0.11.13 + rev: v0.12.1 hooks: - id: ruff args: [--fix, --exit-non-zero-on-fix] From 5f9c55d9f37e1d0b660f566c796359068d08a131 Mon Sep 17 00:00:00 2001 From: rafaelpadilla Date: Tue, 1 Jul 2025 23:16:27 +0000 Subject: [PATCH 232/420] keeping argument use_iscrowd in function load_coco_annotations(...) ; moving box_iou_batch_with_jaccard(...) to supervision/__init__.py --- supervision/__init__.py | 104 ++++++++++++++++++++++++++++ supervision/dataset/formats/coco.py | 4 +- 2 files changed, 106 insertions(+), 2 deletions(-) diff --git a/supervision/__init__.py b/supervision/__init__.py index de2818fab5..7141d9363b 100644 --- a/supervision/__init__.py +++ b/supervision/__init__.py @@ -1,4 +1,7 @@ import importlib.metadata as importlib_metadata +from typing import List + +import numpy as np try: # This will read version from pyproject.toml @@ -180,6 +183,7 @@ "VideoInfo", "VideoSink", "box_iou_batch", + "box_iou_batch_with_jaccard", "box_non_max_merge", "box_non_max_suppression", "calculate_masks_centroids", @@ -229,3 +233,103 @@ "xyxy_to_xyah", "xyxy_to_xywh", ] + + +def _jaccard(box_a: List[float], box_b: List[float], is_crowd: bool) -> float: + """ + Calculate the Jaccard index (intersection over union) between two bounding boxes. + If a gt object is marked as "iscrowd", a dt is allowed to match any subregion + of the gt. Choosing gt' in the crowd gt that best matches the dt can be done using + gt'=intersect(dt,gt). Since by definition union(gt',dt)=dt, computing + iou(gt,dt,iscrowd) = iou(gt',dt) = area(intersect(gt,dt)) / area(dt) + + Args: + box_a (List[float]): Box coordinates in the format [x, y, width, height]. + box_b (List[float]): Box coordinates in the format [x, y, width, height]. + iscrowd (bool): Flag indicating if the second box is a crowd region or not. + + Returns: + float: Jaccard index between the two bounding boxes. + """ + # Smallest number to avoid division by zero + EPS = np.spacing(1) + + xa, ya, x2a, y2a = box_a[0], box_a[1], box_a[0] + box_a[2], box_a[1] + box_a[3] + xb, yb, x2b, y2b = box_b[0], box_b[1], box_b[0] + box_b[2], box_b[1] + box_b[3] + + # Innermost left x + xi = max(xa, xb) + # Innermost right x + x2i = min(x2a, x2b) + # Same for y + yi = max(ya, yb) + y2i = min(y2a, y2b) + + # Calculate areas + Aa = max(x2a - xa, 0.0) * max(y2a - ya, 0.0) + Ab = max(x2b - xb, 0.0) * max(y2b - yb, 0.0) + Ai = max(x2i - xi, 0.0) * max(y2i - yi, 0.0) + + if is_crowd: + return Ai / (Aa + EPS) + + return Ai / (Aa + Ab - Ai + EPS) + + +def box_iou_batch_with_jaccard( + boxes_true: List[List[float]], + boxes_detection: List[List[float]], + is_crowd: List[bool], +) -> np.ndarray: + """ + Calculate the intersection over union (IoU) between detection bounding boxes (dt) + and ground-truth bounding boxes (gt). + Reference: https://github.com/rafaelpadilla/review_object_detection_metrics + + Args: + boxes_true (List[List[float]]): List of ground-truth bounding boxes in the \ + format [x, y, width, height]. + boxes_detection (List[List[float]]): List of detection bounding boxes in the \ + format [x, y, width, height]. + is_crowd (List[bool]): List indicating if each ground-truth bounding box \ + is a crowd region or not. + + Returns: + np.ndarray: Array of IoU values of shape (len(dt), len(gt)). + + Examples: + ```python + import numpy as np + import supervision as sv + + boxes_true = [ + [10, 20, 30, 40], # x, y, w, h + [15, 25, 35, 45] + ] + boxes_detection = [ + [12, 22, 28, 38], + [16, 26, 36, 46] + ] + is_crowd = [False, False] + + ious = sv.box_iou_batch_with_jaccard( + boxes_true=boxes_true, + boxes_detection=boxes_detection, + is_crowd=is_crowd + ) + # array([ + # [0.8866..., 0.4960...], + # [0.4000..., 0.8622...] + # ]) + ``` + """ + assert len(is_crowd) == len(boxes_true), ( + "iou(iscrowd=) must have the same length as boxes_true" + ) + if len(boxes_detection) == 0 or len(boxes_true) == 0: + return np.array([]) + ious = np.zeros((len(boxes_detection), len(boxes_true)), dtype=np.float64) + for g_idx, g in enumerate(boxes_true): + for d_idx, d in enumerate(boxes_detection): + ious[d_idx, g_idx] = _jaccard(d, g, is_crowd[g_idx]) + return ious diff --git a/supervision/dataset/formats/coco.py b/supervision/dataset/formats/coco.py index 27b17243c0..ac1b7961a3 100644 --- a/supervision/dataset/formats/coco.py +++ b/supervision/dataset/formats/coco.py @@ -187,7 +187,7 @@ def load_coco_annotations( images_directory_path: str, annotations_path: str, force_masks: bool = False, - # use_iscrowd: bool = True, + use_iscrowd: bool = True, ) -> Tuple[List[str], List[str], Dict[str, Detections]]: coco_data = read_json_file(file_path=annotations_path) classes = coco_categories_to_classes(coco_categories=coco_data["categories"]) @@ -217,7 +217,7 @@ def load_coco_annotations( image_annotations=image_annotations, resolution_wh=(image_width, image_height), with_masks=force_masks, - use_iscrowd=True, + use_iscrowd=use_iscrowd, ) annotation = map_detections_class_id( From 0a55b3b3a238f32da44b72980c2c0b0c9b24ce01 Mon Sep 17 00:00:00 2001 From: rafaelpadilla Date: Tue, 1 Jul 2025 23:17:48 +0000 Subject: [PATCH 233/420] making mean_average_precision.py have a lazy import of box_iou_batch_with_jaccard(...) --- supervision/metrics/mean_average_precision.py | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/supervision/metrics/mean_average_precision.py b/supervision/metrics/mean_average_precision.py index bb2ef8a2e5..12587b95c2 100644 --- a/supervision/metrics/mean_average_precision.py +++ b/supervision/metrics/mean_average_precision.py @@ -13,7 +13,6 @@ from matplotlib import pyplot as plt from supervision.detection.core import Detections -from supervision.detection.utils import iou_with_jaccard from supervision.draw.color import LEGACY_COLOR_PALETTE from supervision.metrics.core import Metric, MetricTarget from supervision.metrics.utils.utils import ensure_pandas_installed @@ -601,6 +600,8 @@ def _compute_iou(self, img_id: int, cat_id: int) -> np.ndarray: Returns: np.ndarray: The IoU between the targets and predictions. """ + from supervision import box_iou_batch_with_jaccard + gt = self._targets[img_id, cat_id] dt = self._predictions[img_id, cat_id] @@ -623,7 +624,7 @@ def _compute_iou(self, img_id: int, cat_id: int) -> np.ndarray: # Get the iscrowd flag for each gt is_crowd = [int(o["iscrowd"]) for o in gt] # Compute iou between each prediction a and gt region - iou = iou_with_jaccard(gt_boxes, dt_boxes, is_crowd) + iou = box_iou_batch_with_jaccard(gt_boxes, dt_boxes, is_crowd) return iou def _evaluate_image( From 49a8fd96d653b6061356fafec9cd739b64d4bbf9 Mon Sep 17 00:00:00 2001 From: rafaelpadilla Date: Tue, 1 Jul 2025 23:18:47 +0000 Subject: [PATCH 234/420] renaming iou_with_jaccard(...) to box_iou_batch_with_jaccard(...) and moving it to supervision.__init__.py --- supervision/detection/utils.py | 73 ---------------------------------- 1 file changed, 73 deletions(-) diff --git a/supervision/detection/utils.py b/supervision/detection/utils.py index 7ce199e50a..2fa6849f24 100644 --- a/supervision/detection/utils.py +++ b/supervision/detection/utils.py @@ -1326,76 +1326,3 @@ def spread_out_boxes( return pad_boxes(xyxy_padded, px=-1) - -def _jaccard(box_a: List[float], box_b: List[float], is_crowd: bool) -> float: - """ - Calculate the Jaccard index (intersection over union) between two bounding boxes. - If a gt object is marked as "iscrowd", a dt is allowed to match any subregion - of the gt. Choosing gt' in the crowd gt that best matches the dt can be done using - gt'=intersect(dt,gt). Since by definition union(gt',dt)=dt, computing - iou(gt,dt,iscrowd) = iou(gt',dt) = area(intersect(gt,dt)) / area(dt) - - Args: - box_a (List[float]): Box coordinates in the format [x, y, width, height]. - box_b (List[float]): Box coordinates in the format [x, y, width, height]. - iscrowd (bool): Flag indicating if the second box is a crowd region or not. - - Returns: - float: Jaccard index between the two bounding boxes. - """ - # Smallest number to avoid division by zero - EPS = np.spacing(1) - - xa, ya, x2a, y2a = box_a[0], box_a[1], box_a[0] + box_a[2], box_a[1] + box_a[3] - xb, yb, x2b, y2b = box_b[0], box_b[1], box_b[0] + box_b[2], box_b[1] + box_b[3] - - # Innermost left x - xi = max(xa, xb) - # Innermost right x - x2i = min(x2a, x2b) - # Same for y - yi = max(ya, yb) - y2i = min(y2a, y2b) - - # Calculate areas - Aa = max(x2a - xa, 0.0) * max(y2a - ya, 0.0) - Ab = max(x2b - xb, 0.0) * max(y2b - yb, 0.0) - Ai = max(x2i - xi, 0.0) * max(y2i - yi, 0.0) - - if is_crowd: - return Ai / (Aa + EPS) - - return Ai / (Aa + Ab - Ai + EPS) - - -def iou_with_jaccard( - boxes_true: List[List[float]], - boxes_detection: List[List[float]], - is_crowd: List[bool], -) -> np.ndarray: - """ - Calculate the intersection over union (IoU) between detection bounding boxes (dt) - and ground-truth bounding boxes (gt). - Reference: https://github.com/rafaelpadilla/review_object_detection_metrics - - Args: - boxes_true (List[List[float]]): List of ground-truth bounding boxes in the \ - format [x, y, width, height]. - boxes_detection (List[List[float]]): List of detection bounding boxes in the \ - format [x, y, width, height]. - is_crowd (List[bool]): List indicating if each ground-truth bounding box \ - is a crowd region or not. - - Returns: - np.ndarray: Array of IoU values of shape (len(dt), len(gt)). - """ - assert len(is_crowd) == len(boxes_true), ( - "iou(iscrowd=) must have the same length as boxes_true" - ) - if len(boxes_detection) == 0 or len(boxes_true) == 0: - return np.array([]) - ious = np.zeros((len(boxes_detection), len(boxes_true)), dtype=np.float64) - for g_idx, g in enumerate(boxes_true): - for d_idx, d in enumerate(boxes_detection): - ious[d_idx, g_idx] = _jaccard(d, g, is_crowd[g_idx]) - return ious From 4414e15a000cca5739eecef57fc87b963d947310 Mon Sep 17 00:00:00 2001 From: "pre-commit-ci[bot]" <66853113+pre-commit-ci[bot]@users.noreply.github.com> Date: Tue, 1 Jul 2025 23:19:22 +0000 Subject: [PATCH 235/420] =?UTF-8?q?fix(pre=5Fcommit):=20=F0=9F=8E=A8=20aut?= =?UTF-8?q?o=20format=20pre-commit=20hooks?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- supervision/detection/utils.py | 1 - 1 file changed, 1 deletion(-) diff --git a/supervision/detection/utils.py b/supervision/detection/utils.py index 2fa6849f24..8153628bde 100644 --- a/supervision/detection/utils.py +++ b/supervision/detection/utils.py @@ -1325,4 +1325,3 @@ def spread_out_boxes( xyxy_padded[:, [2, 3]] += force_vectors return pad_boxes(xyxy_padded, px=-1) - From 1facc6b28b74d2601ce760c379deb2f88f16af10 Mon Sep 17 00:00:00 2001 From: JESUSROYETH <42451234+JESUSROYETH@users.noreply.github.com> Date: Thu, 3 Jul 2025 15:43:10 -0400 Subject: [PATCH 236/420] fix: correct export name xyxy_to_xyah -> xyxy_to_xcycarh in __all__ --- supervision/__init__.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/supervision/__init__.py b/supervision/__init__.py index de2818fab5..1a23702a4e 100644 --- a/supervision/__init__.py +++ b/supervision/__init__.py @@ -226,6 +226,6 @@ "xcycwh_to_xyxy", "xywh_to_xyxy", "xyxy_to_polygons", - "xyxy_to_xyah", + "xyxy_to_xcycarh", "xyxy_to_xywh", ] From 37860174244e2980cec1fee801a614fb605132dc Mon Sep 17 00:00:00 2001 From: soumik12345 <19soumik.rakshit96@gmail.com> Date: Fri, 4 Jul 2025 17:01:05 +0530 Subject: [PATCH 237/420] fix: Track Objects on Video example not retrieving class name correctly --- docs/how_to/track_objects.md | 24 ++++++++++++------------ 1 file changed, 12 insertions(+), 12 deletions(-) diff --git a/docs/how_to/track_objects.md b/docs/how_to/track_objects.md index c6f128c332..c2be3cef6a 100644 --- a/docs/how_to/track_objects.md +++ b/docs/how_to/track_objects.md @@ -177,9 +177,9 @@ offering a clear visual representation of each object's class and unique identif detections = tracker.update_with_detections(detections) labels = [ - f"#{tracker_id} {results.names[class_id]}" - for class_id, tracker_id - in zip(detections.class_id, detections.tracker_id) + f"#{tracker_id} {class_name}" + for class_name, tracker_id + in zip(detections.data["class_name"], detections.tracker_id) ] annotated_frame = box_annotator.annotate( @@ -212,9 +212,9 @@ offering a clear visual representation of each object's class and unique identif detections = tracker.update_with_detections(detections) labels = [ - f"#{tracker_id} {results.names[class_id]}" - for class_id, tracker_id - in zip(detections.class_id, detections.tracker_id) + f"#{tracker_id} {class_name}" + for class_name, tracker_id + in zip(detections.data["class_name"], detections.tracker_id) ] annotated_frame = box_annotator.annotate( @@ -260,9 +260,9 @@ movement patterns and interactions between objects in the video. detections = tracker.update_with_detections(detections) labels = [ - f"#{tracker_id} {results.names[class_id]}" - for class_id, tracker_id - in zip(detections.class_id, detections.tracker_id) + f"#{tracker_id} {class_name}" + for class_name, tracker_id + in zip(detections.data["class_name"], detections.tracker_id) ] annotated_frame = box_annotator.annotate( @@ -298,9 +298,9 @@ movement patterns and interactions between objects in the video. detections = tracker.update_with_detections(detections) labels = [ - f"#{tracker_id} {results.names[class_id]}" - for class_id, tracker_id - in zip(detections.class_id, detections.tracker_id) + f"#{tracker_id} {class_name}" + for class_name, tracker_id + in zip(detections.data["class_name"], detections.tracker_id) ] annotated_frame = box_annotator.annotate( From 2ef9d69e0117618a1c82139c0136e58cbed83e67 Mon Sep 17 00:00:00 2001 From: soumik12345 <19soumik.rakshit96@gmail.com> Date: Fri, 4 Jul 2025 17:07:53 +0530 Subject: [PATCH 238/420] chore: make pre-commit happy --- supervision/utils/image.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/supervision/utils/image.py b/supervision/utils/image.py index 0bd2dbaacc..9bc9c68b6c 100644 --- a/supervision/utils/image.py +++ b/supervision/utils/image.py @@ -785,4 +785,4 @@ def _merge_tiles_elements( def _generate_color_image( shape: Tuple[int, int], color: Tuple[int, int, int] ) -> np.ndarray: - return np.ones(shape[::-1] + (3,), dtype=np.uint8) * color + return np.ones(shape[::-1] + (3,), dtype=np.uint8) * color # noqa RUF005 From d543be924f5f09ff235ed8f61fabcfbd4d49b024 Mon Sep 17 00:00:00 2001 From: Rafael Padilla <31217453+rafaelpadilla@users.noreply.github.com> Date: Sat, 5 Jul 2025 21:41:02 -0300 Subject: [PATCH 239/420] Update supervision/dataset/formats/coco.py Co-authored-by: Piotr Skalski --- supervision/dataset/formats/coco.py | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/supervision/dataset/formats/coco.py b/supervision/dataset/formats/coco.py index ac1b7961a3..a0da869398 100644 --- a/supervision/dataset/formats/coco.py +++ b/supervision/dataset/formats/coco.py @@ -179,8 +179,7 @@ def get_coco_class_index_mapping(annotations_path: str) -> Dict[int, int]: class_mapping = build_coco_class_index_mapping( coco_categories=coco_data["categories"], target_classes=classes ) - inv_class_mapping = {v: k for k, v in class_mapping.items()} - return inv_class_mapping + return {v: k for k, v in class_mapping.items()} def load_coco_annotations( From c7b4993721aade9bdd3c179f22dfbf8829582132 Mon Sep 17 00:00:00 2001 From: rafaelpadilla Date: Sun, 6 Jul 2025 01:31:30 +0000 Subject: [PATCH 240/420] Moving `_jaccard` and `box_iou_batch_with_jaccard` to `supervision/detection/utils.py`. --- supervision/__init__.py | 101 +----------------- supervision/detection/utils.py | 100 +++++++++++++++++ supervision/metrics/mean_average_precision.py | 2 +- 3 files changed, 102 insertions(+), 101 deletions(-) diff --git a/supervision/__init__.py b/supervision/__init__.py index 7141d9363b..768212a5f3 100644 --- a/supervision/__init__.py +++ b/supervision/__init__.py @@ -61,6 +61,7 @@ from supervision.detection.tools.smoother import DetectionsSmoother from supervision.detection.utils import ( box_iou_batch, + box_iou_batch_with_jaccard, calculate_masks_centroids, clip_boxes, contains_holes, @@ -233,103 +234,3 @@ "xyxy_to_xyah", "xyxy_to_xywh", ] - - -def _jaccard(box_a: List[float], box_b: List[float], is_crowd: bool) -> float: - """ - Calculate the Jaccard index (intersection over union) between two bounding boxes. - If a gt object is marked as "iscrowd", a dt is allowed to match any subregion - of the gt. Choosing gt' in the crowd gt that best matches the dt can be done using - gt'=intersect(dt,gt). Since by definition union(gt',dt)=dt, computing - iou(gt,dt,iscrowd) = iou(gt',dt) = area(intersect(gt,dt)) / area(dt) - - Args: - box_a (List[float]): Box coordinates in the format [x, y, width, height]. - box_b (List[float]): Box coordinates in the format [x, y, width, height]. - iscrowd (bool): Flag indicating if the second box is a crowd region or not. - - Returns: - float: Jaccard index between the two bounding boxes. - """ - # Smallest number to avoid division by zero - EPS = np.spacing(1) - - xa, ya, x2a, y2a = box_a[0], box_a[1], box_a[0] + box_a[2], box_a[1] + box_a[3] - xb, yb, x2b, y2b = box_b[0], box_b[1], box_b[0] + box_b[2], box_b[1] + box_b[3] - - # Innermost left x - xi = max(xa, xb) - # Innermost right x - x2i = min(x2a, x2b) - # Same for y - yi = max(ya, yb) - y2i = min(y2a, y2b) - - # Calculate areas - Aa = max(x2a - xa, 0.0) * max(y2a - ya, 0.0) - Ab = max(x2b - xb, 0.0) * max(y2b - yb, 0.0) - Ai = max(x2i - xi, 0.0) * max(y2i - yi, 0.0) - - if is_crowd: - return Ai / (Aa + EPS) - - return Ai / (Aa + Ab - Ai + EPS) - - -def box_iou_batch_with_jaccard( - boxes_true: List[List[float]], - boxes_detection: List[List[float]], - is_crowd: List[bool], -) -> np.ndarray: - """ - Calculate the intersection over union (IoU) between detection bounding boxes (dt) - and ground-truth bounding boxes (gt). - Reference: https://github.com/rafaelpadilla/review_object_detection_metrics - - Args: - boxes_true (List[List[float]]): List of ground-truth bounding boxes in the \ - format [x, y, width, height]. - boxes_detection (List[List[float]]): List of detection bounding boxes in the \ - format [x, y, width, height]. - is_crowd (List[bool]): List indicating if each ground-truth bounding box \ - is a crowd region or not. - - Returns: - np.ndarray: Array of IoU values of shape (len(dt), len(gt)). - - Examples: - ```python - import numpy as np - import supervision as sv - - boxes_true = [ - [10, 20, 30, 40], # x, y, w, h - [15, 25, 35, 45] - ] - boxes_detection = [ - [12, 22, 28, 38], - [16, 26, 36, 46] - ] - is_crowd = [False, False] - - ious = sv.box_iou_batch_with_jaccard( - boxes_true=boxes_true, - boxes_detection=boxes_detection, - is_crowd=is_crowd - ) - # array([ - # [0.8866..., 0.4960...], - # [0.4000..., 0.8622...] - # ]) - ``` - """ - assert len(is_crowd) == len(boxes_true), ( - "iou(iscrowd=) must have the same length as boxes_true" - ) - if len(boxes_detection) == 0 or len(boxes_true) == 0: - return np.array([]) - ious = np.zeros((len(boxes_detection), len(boxes_true)), dtype=np.float64) - for g_idx, g in enumerate(boxes_true): - for d_idx, d in enumerate(boxes_detection): - ious[d_idx, g_idx] = _jaccard(d, g, is_crowd[g_idx]) - return ious diff --git a/supervision/detection/utils.py b/supervision/detection/utils.py index 8153628bde..d86990ee10 100644 --- a/supervision/detection/utils.py +++ b/supervision/detection/utils.py @@ -1325,3 +1325,103 @@ def spread_out_boxes( xyxy_padded[:, [2, 3]] += force_vectors return pad_boxes(xyxy_padded, px=-1) + + +def _jaccard(box_a: List[float], box_b: List[float], is_crowd: bool) -> float: + """ + Calculate the Jaccard index (intersection over union) between two bounding boxes. + If a gt object is marked as "iscrowd", a dt is allowed to match any subregion + of the gt. Choosing gt' in the crowd gt that best matches the dt can be done using + gt'=intersect(dt,gt). Since by definition union(gt',dt)=dt, computing + iou(gt,dt,iscrowd) = iou(gt',dt) = area(intersect(gt,dt)) / area(dt) + + Args: + box_a (List[float]): Box coordinates in the format [x, y, width, height]. + box_b (List[float]): Box coordinates in the format [x, y, width, height]. + iscrowd (bool): Flag indicating if the second box is a crowd region or not. + + Returns: + float: Jaccard index between the two bounding boxes. + """ + # Smallest number to avoid division by zero + EPS = np.spacing(1) + + xa, ya, x2a, y2a = box_a[0], box_a[1], box_a[0] + box_a[2], box_a[1] + box_a[3] + xb, yb, x2b, y2b = box_b[0], box_b[1], box_b[0] + box_b[2], box_b[1] + box_b[3] + + # Innermost left x + xi = max(xa, xb) + # Innermost right x + x2i = min(x2a, x2b) + # Same for y + yi = max(ya, yb) + y2i = min(y2a, y2b) + + # Calculate areas + Aa = max(x2a - xa, 0.0) * max(y2a - ya, 0.0) + Ab = max(x2b - xb, 0.0) * max(y2b - yb, 0.0) + Ai = max(x2i - xi, 0.0) * max(y2i - yi, 0.0) + + if is_crowd: + return Ai / (Aa + EPS) + + return Ai / (Aa + Ab - Ai + EPS) + + +def box_iou_batch_with_jaccard( + boxes_true: List[List[float]], + boxes_detection: List[List[float]], + is_crowd: List[bool], +) -> np.ndarray: + """ + Calculate the intersection over union (IoU) between detection bounding boxes (dt) + and ground-truth bounding boxes (gt). + Reference: https://github.com/rafaelpadilla/review_object_detection_metrics + + Args: + boxes_true (List[List[float]]): List of ground-truth bounding boxes in the \ + format [x, y, width, height]. + boxes_detection (List[List[float]]): List of detection bounding boxes in the \ + format [x, y, width, height]. + is_crowd (List[bool]): List indicating if each ground-truth bounding box \ + is a crowd region or not. + + Returns: + np.ndarray: Array of IoU values of shape (len(dt), len(gt)). + + Examples: + ```python + import numpy as np + import supervision as sv + + boxes_true = [ + [10, 20, 30, 40], # x, y, w, h + [15, 25, 35, 45] + ] + boxes_detection = [ + [12, 22, 28, 38], + [16, 26, 36, 46] + ] + is_crowd = [False, False] + + ious = sv.box_iou_batch_with_jaccard( + boxes_true=boxes_true, + boxes_detection=boxes_detection, + is_crowd=is_crowd + ) + # array([ + # [0.8866..., 0.4960...], + # [0.4000..., 0.8622...] + # ]) + ``` + """ + assert len(is_crowd) == len(boxes_true), ( + "`is_crowd` must have the same length as `boxes_true`" + ) + if len(boxes_detection) == 0 or len(boxes_true) == 0: + return np.array([]) + ious = np.zeros((len(boxes_detection), len(boxes_true)), dtype=np.float64) + for g_idx, g in enumerate(boxes_true): + for d_idx, d in enumerate(boxes_detection): + ious[d_idx, g_idx] = _jaccard(d, g, is_crowd[g_idx]) + return ious diff --git a/supervision/metrics/mean_average_precision.py b/supervision/metrics/mean_average_precision.py index 12587b95c2..8e8d18d740 100644 --- a/supervision/metrics/mean_average_precision.py +++ b/supervision/metrics/mean_average_precision.py @@ -12,6 +12,7 @@ import numpy as np from matplotlib import pyplot as plt +from supervision import box_iou_batch_with_jaccard from supervision.detection.core import Detections from supervision.draw.color import LEGACY_COLOR_PALETTE from supervision.metrics.core import Metric, MetricTarget @@ -600,7 +601,6 @@ def _compute_iou(self, img_id: int, cat_id: int) -> np.ndarray: Returns: np.ndarray: The IoU between the targets and predictions. """ - from supervision import box_iou_batch_with_jaccard gt = self._targets[img_id, cat_id] dt = self._predictions[img_id, cat_id] From 03430699f9b267a454badf03deee71a186d11e65 Mon Sep 17 00:00:00 2001 From: rafaelpadilla Date: Sun, 6 Jul 2025 02:07:52 +0000 Subject: [PATCH 241/420] Expanded all test cases in `test_coco_annotations_to_detections` including `use_iscrowd=True` and `use_iscrowd=False`. --- test/dataset/formats/test_coco.py | 226 +++++++++++++++++++++++++++++- 1 file changed, 225 insertions(+), 1 deletion(-) diff --git a/test/dataset/formats/test_coco.py b/test/dataset/formats/test_coco.py index 3a68894ac2..7c935a49bd 100644 --- a/test/dataset/formats/test_coco.py +++ b/test/dataset/formats/test_coco.py @@ -162,12 +162,21 @@ def test_group_coco_annotations_by_image_id( @pytest.mark.parametrize( - "image_annotations, resolution_wh, with_masks, expected_result, exception", + "image_annotations, resolution_wh, with_masks, use_iscrowd, expected_result, exception", [ ( [], (1000, 1000), False, + False, + Detections.empty(), + DoesNotRaise(), + ), # empty image annotations + ( + [], + (1000, 1000), + False, + True, Detections.empty(), DoesNotRaise(), ), # empty image annotations @@ -179,12 +188,32 @@ def test_group_coco_annotations_by_image_id( ], (1000, 1000), False, + False, Detections( xyxy=np.array([[0, 0, 100, 100]], dtype=np.float32), class_id=np.array([0], dtype=int), ), DoesNotRaise(), ), # single image annotations + ( + [ + mock_coco_annotation( + category_id=0, bbox=(0, 0, 100, 100), area=100 * 100 + ) + ], + (1000, 1000), + False, + True, + Detections( + xyxy=np.array([[0, 0, 100, 100]], dtype=np.float32), + class_id=np.array([0], dtype=int), + data={ + "iscrowd": np.array([0], dtype=int), + "area": np.array([100 * 100]), + }, + ), + DoesNotRaise(), + ), ( [ mock_coco_annotation( @@ -196,6 +225,7 @@ def test_group_coco_annotations_by_image_id( ], (1000, 1000), False, + False, Detections( xyxy=np.array( [[0, 0, 100, 100], [100, 100, 200, 200]], dtype=np.float32 @@ -204,6 +234,30 @@ def test_group_coco_annotations_by_image_id( ), DoesNotRaise(), ), # two image annotations + ( + [ + mock_coco_annotation( + category_id=0, bbox=(0, 0, 100, 100), area=100 * 100 + ), + mock_coco_annotation( + category_id=0, bbox=(100, 100, 100, 100), area=100 * 100 + ), + ], + (1000, 1000), + False, + True, + Detections( + xyxy=np.array( + [[0, 0, 100, 100], [100, 100, 200, 200]], dtype=np.float32 + ), + class_id=np.array([0, 0], dtype=int), + data={ + "iscrowd": np.array([0, 0], dtype=int), + "area": np.array([100 * 100, 100 * 100]), + }, + ), + DoesNotRaise(), + ), ( [ mock_coco_annotation( @@ -215,6 +269,7 @@ def test_group_coco_annotations_by_image_id( ], (5, 5), True, + False, Detections( xyxy=np.array([[0, 0, 5, 5]], dtype=np.float32), class_id=np.array([0], dtype=int), @@ -232,6 +287,36 @@ def test_group_coco_annotations_by_image_id( ), DoesNotRaise(), ), # single image annotations with mask as polygon + ( + [ + mock_coco_annotation( + category_id=0, + bbox=(0, 0, 5, 5), + area=5 * 5, + segmentation=[[0, 0, 2, 0, 2, 2, 4, 2, 4, 4, 0, 4]], + ) + ], + (5, 5), + True, + True, + Detections( + xyxy=np.array([[0, 0, 5, 5]], dtype=np.float32), + class_id=np.array([0], dtype=int), + mask=np.array( + [ + [ + [1, 1, 1, 0, 0], + [1, 1, 1, 0, 0], + [1, 1, 1, 1, 1], + [1, 1, 1, 1, 1], + [1, 1, 1, 1, 1], + ] + ] + ), + data={"iscrowd": np.array([0], dtype=int), "area": np.array([25])}, + ), + DoesNotRaise(), + ), ( [ mock_coco_annotation( @@ -247,6 +332,7 @@ def test_group_coco_annotations_by_image_id( ], (5, 5), True, + False, Detections( xyxy=np.array([[0, 0, 5, 5]], dtype=np.float32), class_id=np.array([0], dtype=int), @@ -264,6 +350,40 @@ def test_group_coco_annotations_by_image_id( ), DoesNotRaise(), ), # single image annotations with mask, RLE segmentation mask + ( + [ + mock_coco_annotation( + category_id=0, + bbox=(0, 0, 5, 5), + area=5 * 5, + segmentation={ + "size": [5, 5], + "counts": [0, 15, 2, 3, 2, 3], + }, + iscrowd=True, + ) + ], + (5, 5), + True, + True, + Detections( + xyxy=np.array([[0, 0, 5, 5]], dtype=np.float32), + class_id=np.array([0], dtype=int), + mask=np.array( + [ + [ + [1, 1, 1, 0, 0], + [1, 1, 1, 0, 0], + [1, 1, 1, 1, 1], + [1, 1, 1, 1, 1], + [1, 1, 1, 1, 1], + ] + ] + ), + data={"iscrowd": np.array([1], dtype=int), "area": np.array([25])}, + ), + DoesNotRaise(), + ), ( [ mock_coco_annotation( @@ -285,6 +405,7 @@ def test_group_coco_annotations_by_image_id( ], (5, 5), True, + False, Detections( xyxy=np.array([[0, 0, 5, 5], [3, 0, 5, 2]], dtype=np.float32), class_id=np.array([0, 0], dtype=int), @@ -309,6 +430,56 @@ def test_group_coco_annotations_by_image_id( ), DoesNotRaise(), ), # two image annotations with mask, one mask as polygon and second as RLE + ( + [ + mock_coco_annotation( + category_id=0, + bbox=(0, 0, 5, 5), + area=5 * 5, + segmentation=[[0, 0, 2, 0, 2, 2, 4, 2, 4, 4, 0, 4]], + ), + mock_coco_annotation( + category_id=0, + bbox=(3, 0, 2, 2), + area=2 * 2, + segmentation={ + "size": [5, 5], + "counts": [15, 2, 3, 2, 3], + }, + iscrowd=True, + ), + ], + (5, 5), + True, + True, + Detections( + xyxy=np.array([[0, 0, 5, 5], [3, 0, 5, 2]], dtype=np.float32), + class_id=np.array([0, 0], dtype=int), + mask=np.array( + [ + [ + [1, 1, 1, 0, 0], + [1, 1, 1, 0, 0], + [1, 1, 1, 1, 1], + [1, 1, 1, 1, 1], + [1, 1, 1, 1, 1], + ], + [ + [0, 0, 0, 1, 1], + [0, 0, 0, 1, 1], + [0, 0, 0, 0, 0], + [0, 0, 0, 0, 0], + [0, 0, 0, 0, 0], + ], + ] + ), + data={ + "iscrowd": np.array([0, 1], dtype=int), + "area": np.array([25, 4]), + }, + ), + DoesNotRaise(), + ), # two image annotations with mask, one mask as polygon with iscrowd, and second as RLE without iscrowd ( [ mock_coco_annotation( @@ -330,6 +501,7 @@ def test_group_coco_annotations_by_image_id( ], (5, 5), True, + False, Detections( xyxy=np.array([[3, 0, 5, 2], [0, 0, 5, 5]], dtype=np.float32), class_id=np.array([0, 1], dtype=int), @@ -354,12 +526,63 @@ def test_group_coco_annotations_by_image_id( ), DoesNotRaise(), ), # two image annotations with mask, first mask as RLE and second as polygon + ( + [ + mock_coco_annotation( + category_id=0, + bbox=(3, 0, 2, 2), + area=2 * 2, + segmentation={ + "size": [5, 5], + "counts": [15, 2, 3, 2, 3], + }, + iscrowd=True, + ), + mock_coco_annotation( + category_id=1, + bbox=(0, 0, 5, 5), + area=5 * 5, + segmentation=[[0, 0, 2, 0, 2, 2, 4, 2, 4, 4, 0, 4]], + ), + ], + (5, 5), + True, + True, + Detections( + xyxy=np.array([[3, 0, 5, 2], [0, 0, 5, 5]], dtype=np.float32), + class_id=np.array([0, 1], dtype=int), + mask=np.array( + [ + [ + [0, 0, 0, 1, 1], + [0, 0, 0, 1, 1], + [0, 0, 0, 0, 0], + [0, 0, 0, 0, 0], + [0, 0, 0, 0, 0], + ], + [ + [1, 1, 1, 0, 0], + [1, 1, 1, 0, 0], + [1, 1, 1, 1, 1], + [1, 1, 1, 1, 1], + [1, 1, 1, 1, 1], + ], + ] + ), + data={ + "iscrowd": np.array([1, 0], dtype=int), + "area": np.array([4, 25]), + }, + ), + DoesNotRaise(), + ), # two image annotations with mask, first mask as RLE with is crowd, and second as polygon without iscrowd ], ) def test_coco_annotations_to_detections( image_annotations: List[dict], resolution_wh: Tuple[int, int], with_masks: bool, + use_iscrowd: bool, expected_result: Detections, exception: Exception, ) -> None: @@ -368,6 +591,7 @@ def test_coco_annotations_to_detections( image_annotations=image_annotations, resolution_wh=resolution_wh, with_masks=with_masks, + use_iscrowd=use_iscrowd, ) assert result == expected_result From a95a81844133ffe28c1aecb19ab14f510fb02820 Mon Sep 17 00:00:00 2001 From: rafaelpadilla Date: Sun, 6 Jul 2025 03:02:07 +0000 Subject: [PATCH 242/420] Including function `get_coco_class_index_mapping` in `supervision.__init__.py`. Unifying default value for parameter `use_iscrowd`. Adding detailed docstrings to function `get_coco_class_index_mapping`. --- supervision/__init__.py | 2 ++ supervision/dataset/formats/coco.py | 32 ++++++++++++++++++++++++++++- 2 files changed, 33 insertions(+), 1 deletion(-) diff --git a/supervision/__init__.py b/supervision/__init__.py index 768212a5f3..a377c08189 100644 --- a/supervision/__init__.py +++ b/supervision/__init__.py @@ -41,6 +41,7 @@ ClassificationDataset, DetectionDataset, ) +from supervision.dataset.formats.coco import get_coco_class_index_mapping from supervision.dataset.utils import mask_to_rle, rle_to_mask from supervision.detection.core import Detections from supervision.detection.line_zone import ( @@ -204,6 +205,7 @@ "draw_rectangle", "draw_text", "filter_polygons_by_area", + "get_coco_class_index_mapping", "get_polygon_center", "get_video_frames_generator", "letterbox_image", diff --git a/supervision/dataset/formats/coco.py b/supervision/dataset/formats/coco.py index a0da869398..879ecfb230 100644 --- a/supervision/dataset/formats/coco.py +++ b/supervision/dataset/formats/coco.py @@ -93,7 +93,7 @@ def coco_annotations_to_detections( image_annotations: List[dict], resolution_wh: Tuple[int, int], with_masks: bool, - use_iscrowd: bool = False, + use_iscrowd: bool = True, ) -> Detections: if not image_annotations: return Detections.empty() @@ -174,6 +174,36 @@ def detections_to_coco_annotations( def get_coco_class_index_mapping(annotations_path: str) -> Dict[int, int]: + """ + Generates a mapping from sequential class indices to original COCO class ids. + + This function is essential when working with models that expect class ids to be + zero-indexed and sequential (0 to 79), as opposed to the original COCO + dataset where category ids are non-contiguous ranging from 1 to 90 but skipping some + ids. + + Use Cases: + - Evaluating models trained with COCO-style annotations where class ids + are sequential ranging from 0 to 79. + - Ensuring consistent class indexing across training, inference and evaluation, + when using different tools or datasets with COCO format. + - Reproducing results from models that assume sequential class ids (0 to 79). + + How it Works: + - Reads the COCO annotation file in its original format (`annotations_path`). + - Extracts and sorts all class names by their original COCO id (1 to 90). + - Builds a mapping from COCO class ids (not sequential with skipped ids) to + new class ids (sequential ranging from 0 to 79). + - Returns a dictionary mapping: `{new_class_id: original_COCO_class_id}`. + + Args: + annotations_path (str): Path to COCO JSON annotations file + (e.g., `instances_val2017.json`). + + Returns: + Dict[int, int]: A mapping from new class id (sequential ranging from 0 to 79) + to original COCO class id (1 to 90 with skipped ids). + """ coco_data = read_json_file(annotations_path) classes = coco_categories_to_classes(coco_categories=coco_data["categories"]) class_mapping = build_coco_class_index_mapping( From b867968a1083c5f92fd2a3ff329d8bb62b46df7a Mon Sep 17 00:00:00 2001 From: rafaelpadilla Date: Sun, 6 Jul 2025 03:33:30 +0000 Subject: [PATCH 243/420] breaking long lines, preventing E501. --- test/dataset/formats/test_coco.py | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/test/dataset/formats/test_coco.py b/test/dataset/formats/test_coco.py index 7c935a49bd..b8f5346198 100644 --- a/test/dataset/formats/test_coco.py +++ b/test/dataset/formats/test_coco.py @@ -162,7 +162,8 @@ def test_group_coco_annotations_by_image_id( @pytest.mark.parametrize( - "image_annotations, resolution_wh, with_masks, use_iscrowd, expected_result, exception", + "image_annotations, resolution_wh, with_masks, use_iscrowd, " + "expected_result, exception", [ ( [], @@ -479,7 +480,8 @@ def test_group_coco_annotations_by_image_id( }, ), DoesNotRaise(), - ), # two image annotations with mask, one mask as polygon with iscrowd, and second as RLE without iscrowd + ), # two image annotations with mask, one mask as polygon with iscrowd, + # and second as RLE without iscrowd ( [ mock_coco_annotation( @@ -575,7 +577,8 @@ def test_group_coco_annotations_by_image_id( }, ), DoesNotRaise(), - ), # two image annotations with mask, first mask as RLE with is crowd, and second as polygon without iscrowd + ), # two image annotations with mask, first mask as RLE with is crowd, + # and second as polygon without iscrowd ], ) def test_coco_annotations_to_detections( From 13e857cf0010eb2d1e7274101bc429e37647befd Mon Sep 17 00:00:00 2001 From: AI-Hao <2865467769@qq.com> Date: Mon, 7 Jul 2025 15:21:28 +0800 Subject: [PATCH 244/420] =?UTF-8?q?refactor(detection):=20=E9=87=8D?= =?UTF-8?q?=E6=9E=84=E5=90=88=E5=B9=B6=E6=A3=80=E6=B5=8B=E5=AF=B9=E8=B1=A1?= =?UTF-8?q?=E7=9A=84=E9=80=BB=E8=BE=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 移除 merge_inner_detections_objects 函数中的 threshold 和 match_metric 参数 - 新增 merge_inner_detections_objects_without_iou 函数,用于合并检测对象 - 优化非最大值抑制(NMM)的逻辑,提高效率 - 调整 mask_iou_batch 函数的实现,简化代码 --- supervision/detection/core.py | 17 ++++++-- supervision/detection/overlap_filter.py | 32 ++++++++++----- supervision/detection/utils.py | 53 +++++++++++++------------ 3 files changed, 64 insertions(+), 38 deletions(-) diff --git a/supervision/detection/core.py b/supervision/detection/core.py index 5dcb46ea2b..ab9bddbb68 100644 --- a/supervision/detection/core.py +++ b/supervision/detection/core.py @@ -2,6 +2,7 @@ from dataclasses import dataclass, field from enum import Enum +from functools import reduce from typing import Any, Dict, Iterator, List, Optional, Tuple, Union import numpy as np @@ -1455,9 +1456,7 @@ def with_nmm( result = [] for merge_group in merge_groups: unmerged_detections = [self[i] for i in merge_group] - merged_detections = merge_inner_detections_objects( - unmerged_detections, threshold, match_metric - ) + merged_detections = merge_inner_detections_objects_without_iou(unmerged_detections) result.append(merged_detections) return Detections.merge(result) @@ -1577,6 +1576,18 @@ def merge_inner_detections_objects( detections_1 = merge_inner_detection_object_pair(detections_1, detections_2) return detections_1 +def merge_inner_detections_objects_without_iou( + detections: List[Detections] +) -> Detections: + """ + Given N detections each of length 1 (exactly one object inside), combine them into a + single detection object of length 1. The contained inner object will be the merged + result of all the input detections. + + For example, this lets you merge N boxes into one big box, N masks into one mask, + etc. + """ + return reduce(merge_inner_detection_object_pair, detections) def validate_fields_both_defined_or_none( detections_1: Detections, detections_2: Detections diff --git a/supervision/detection/overlap_filter.py b/supervision/detection/overlap_filter.py index dbe1159a5c..b5aecbe2fa 100644 --- a/supervision/detection/overlap_filter.py +++ b/supervision/detection/overlap_filter.py @@ -91,7 +91,7 @@ def mask_non_max_suppression( for i in range(rows): if keep[i]: condition = (ious[i] > iou_threshold) & (categories[i] == categories) - keep[i + 1 :] = np.where(condition[i + 1 :], False, keep[i + 1 :]) + keep[i + 1:] = np.where(condition[i + 1:], False, keep[i + 1:]) return keep[sort_index.argsort()] @@ -206,7 +206,7 @@ def mask_non_max_merge( iou_threshold: float = 0.5, mask_dimension: int = 640, match_metric: str = "IOU", -) -> np.ndarray: +) -> List[List[int]]: """ Perform Non-Maximum Merging (NMM) on segmentation predictions. @@ -342,14 +342,26 @@ def group_overlapping_masks( merge_groups.append([idx]) break - merge_candidate = np.expand_dims(masks[idx], axis=0) - ious = mask_iou_batch(masks[order], merge_candidate, match_metric) - ious = ious.flatten() - - above_threshold = ious >= iou_threshold - merge_group = [idx, *np.flip(order[above_threshold]).tolist()] - merge_groups.append(merge_group) - order = order[~above_threshold] + # calculate mask + merge_candidate = masks[idx][None, ...] + candidate_groups = [idx] + while len(order) > 0: + # 'IOU or IOS' of the calculate mask and the remaining mask + ious = mask_iou_batch(masks[order], merge_candidate, match_metric) + above_threshold: np.ndarray = ious.flatten() >= iou_threshold + # if no mask is above threshold, break + if not above_threshold.any(): + break + # get indexes that meet the threshold + above_idx = order[above_threshold] + # update merge_candidate + merge_candidate = np.logical_or.reduce(np.concatenate([masks[above_idx], merge_candidate]), axis=0, keepdims=True) + # add indexes that meet the criteria to the candidate_groups + candidate_groups.extend(np.flip(above_idx).tolist()) + # update order, masks + order = order[~above_threshold] + + merge_groups.append(candidate_groups) return merge_groups diff --git a/supervision/detection/utils.py b/supervision/detection/utils.py index a915c96dcb..8bfdce84c6 100644 --- a/supervision/detection/utils.py +++ b/supervision/detection/utils.py @@ -49,7 +49,9 @@ def polygon_to_mask(polygon: np.ndarray, resolution_wh: Tuple[int, int]) -> np.n def box_iou_batch( - boxes_true: np.ndarray, boxes_detection: np.ndarray, match_metric: str = "IOU" + boxes_true: np.ndarray, + boxes_detection: np.ndarray, + match_metric: str = "IOU", ) -> np.ndarray: """ Compute Intersection over Union (IoU) of two sets of bounding boxes - @@ -107,7 +109,9 @@ def box_area(box): def _mask_iou_batch_split( - masks_true: np.ndarray, masks_detection: np.ndarray, match_metric: str = "IOU" + masks_true: np.ndarray, + masks_detection: np.ndarray, + match_metric: str = "IOU", ) -> np.ndarray: """ Internal function. @@ -123,12 +127,10 @@ def _mask_iou_batch_split( Returns: np.ndarray: Pairwise IoU of masks from `masks_true` and `masks_detection`. """ - intersection_area = np.logical_and(masks_true[:, None], masks_detection).sum( - axis=(2, 3) - ) + intersection_area = np.logical_and(masks_true[:, None], masks_detection).sum(axis=(2, 3)) - masks_true_area = masks_true.sum(axis=(1, 2)) - masks_detection_area = masks_detection.sum(axis=(1, 2)) + masks_true_area = masks_true.sum(axis=(1, 2)) # (area1, area2, ...) + masks_detection_area = masks_detection.sum(axis=(1, 2)) # (area1) if match_metric.upper() == "IOU": union_area = masks_true_area[:, None] + masks_detection_area - intersection_area @@ -139,7 +141,8 @@ def _mask_iou_batch_split( where=union_area != 0, ) elif match_metric.upper() == "IOS": - small_area = np.minimum(intersection_area, masks_detection_area) + # ios = intersection_area / min(area1, area2) + small_area = np.minimum(masks_true_area[:, None], masks_detection_area) ious = np.divide( intersection_area, small_area, @@ -176,12 +179,12 @@ def mask_iou_batch( np.ndarray: Pairwise IoU of masks from `masks_true` and `masks_detection`. """ memory = ( - masks_true.shape[0] - * masks_true.shape[1] - * masks_true.shape[2] - * masks_detection.shape[0] - / 1024 - / 1024 + masks_true.shape[0] + * masks_true.shape[1] + * masks_true.shape[2] + * masks_detection.shape[0] + / 1024 + / 1024 ) if memory <= memory_limit: return _mask_iou_batch_split(masks_true, masks_detection, match_metric) @@ -192,16 +195,16 @@ def mask_iou_batch( * 1024 * 1024 // ( - masks_detection.shape[0] - * masks_detection.shape[1] - * masks_detection.shape[2] + masks_detection.shape[0] + * masks_detection.shape[1] + * masks_detection.shape[2] ), 1, ) for i in range(0, masks_true.shape[0], step): ious.append( _mask_iou_batch_split( - masks_true[i : i + step], masks_detection, match_metric + masks_true[i: i + step], masks_detection, match_metric ) ) @@ -581,7 +584,7 @@ def filter_polygons_by_area( polygon for polygon, area in zip(polygons, ares) if (min_area is None or area >= min_area) - and (max_area is None or area <= max_area) + and (max_area is None or area <= max_area) ] @@ -918,9 +921,9 @@ def move_masks( if source_x_end > source_x_start and source_y_end > source_y_start: mask_array[ - :, - destination_y_start:destination_y_end, - destination_x_start:destination_x_end, + :, + destination_y_start:destination_y_end, + destination_x_start:destination_x_end, ] = masks[:, source_y_start:source_y_end, source_x_start:source_x_end] return mask_array @@ -1022,11 +1025,11 @@ def is_metadata_equal(metadata_a: Dict[str, Any], metadata_b: Dict[str, Any]) -> return set(metadata_a.keys()) == set(metadata_b.keys()) and all( np.array_equal(metadata_a[key], metadata_b[key]) if ( - isinstance(metadata_a[key], np.ndarray) - and isinstance(metadata_b[key], np.ndarray) + isinstance(metadata_a[key], np.ndarray) + and isinstance(metadata_b[key], np.ndarray) ) else metadata_a[key] == metadata_b[key] - for key in metadata_a + for key in metadata_a ) From 0b120f174879e394f3a1ffe1f4d702ab867fda08 Mon Sep 17 00:00:00 2001 From: "pre-commit-ci[bot]" <66853113+pre-commit-ci[bot]@users.noreply.github.com> Date: Mon, 7 Jul 2025 07:21:52 +0000 Subject: [PATCH 245/420] =?UTF-8?q?fix(pre=5Fcommit):=20=F0=9F=8E=A8=20aut?= =?UTF-8?q?o=20format=20pre-commit=20hooks?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- supervision/detection/core.py | 8 ++++-- supervision/detection/overlap_filter.py | 8 ++++-- supervision/detection/utils.py | 38 +++++++++++++------------ 3 files changed, 32 insertions(+), 22 deletions(-) diff --git a/supervision/detection/core.py b/supervision/detection/core.py index ab9bddbb68..72ebc8ee9c 100644 --- a/supervision/detection/core.py +++ b/supervision/detection/core.py @@ -1456,7 +1456,9 @@ def with_nmm( result = [] for merge_group in merge_groups: unmerged_detections = [self[i] for i in merge_group] - merged_detections = merge_inner_detections_objects_without_iou(unmerged_detections) + merged_detections = merge_inner_detections_objects_without_iou( + unmerged_detections + ) result.append(merged_detections) return Detections.merge(result) @@ -1576,8 +1578,9 @@ def merge_inner_detections_objects( detections_1 = merge_inner_detection_object_pair(detections_1, detections_2) return detections_1 + def merge_inner_detections_objects_without_iou( - detections: List[Detections] + detections: List[Detections], ) -> Detections: """ Given N detections each of length 1 (exactly one object inside), combine them into a @@ -1589,6 +1592,7 @@ def merge_inner_detections_objects_without_iou( """ return reduce(merge_inner_detection_object_pair, detections) + def validate_fields_both_defined_or_none( detections_1: Detections, detections_2: Detections ) -> None: diff --git a/supervision/detection/overlap_filter.py b/supervision/detection/overlap_filter.py index b5aecbe2fa..b763cf2c48 100644 --- a/supervision/detection/overlap_filter.py +++ b/supervision/detection/overlap_filter.py @@ -91,7 +91,7 @@ def mask_non_max_suppression( for i in range(rows): if keep[i]: condition = (ious[i] > iou_threshold) & (categories[i] == categories) - keep[i + 1:] = np.where(condition[i + 1:], False, keep[i + 1:]) + keep[i + 1 :] = np.where(condition[i + 1 :], False, keep[i + 1 :]) return keep[sort_index.argsort()] @@ -355,7 +355,11 @@ def group_overlapping_masks( # get indexes that meet the threshold above_idx = order[above_threshold] # update merge_candidate - merge_candidate = np.logical_or.reduce(np.concatenate([masks[above_idx], merge_candidate]), axis=0, keepdims=True) + merge_candidate = np.logical_or.reduce( + np.concatenate([masks[above_idx], merge_candidate]), + axis=0, + keepdims=True, + ) # add indexes that meet the criteria to the candidate_groups candidate_groups.extend(np.flip(above_idx).tolist()) # update order, masks diff --git a/supervision/detection/utils.py b/supervision/detection/utils.py index 8bfdce84c6..b7adbcd2fa 100644 --- a/supervision/detection/utils.py +++ b/supervision/detection/utils.py @@ -127,7 +127,9 @@ def _mask_iou_batch_split( Returns: np.ndarray: Pairwise IoU of masks from `masks_true` and `masks_detection`. """ - intersection_area = np.logical_and(masks_true[:, None], masks_detection).sum(axis=(2, 3)) + intersection_area = np.logical_and(masks_true[:, None], masks_detection).sum( + axis=(2, 3) + ) masks_true_area = masks_true.sum(axis=(1, 2)) # (area1, area2, ...) masks_detection_area = masks_detection.sum(axis=(1, 2)) # (area1) @@ -179,12 +181,12 @@ def mask_iou_batch( np.ndarray: Pairwise IoU of masks from `masks_true` and `masks_detection`. """ memory = ( - masks_true.shape[0] - * masks_true.shape[1] - * masks_true.shape[2] - * masks_detection.shape[0] - / 1024 - / 1024 + masks_true.shape[0] + * masks_true.shape[1] + * masks_true.shape[2] + * masks_detection.shape[0] + / 1024 + / 1024 ) if memory <= memory_limit: return _mask_iou_batch_split(masks_true, masks_detection, match_metric) @@ -195,16 +197,16 @@ def mask_iou_batch( * 1024 * 1024 // ( - masks_detection.shape[0] - * masks_detection.shape[1] - * masks_detection.shape[2] + masks_detection.shape[0] + * masks_detection.shape[1] + * masks_detection.shape[2] ), 1, ) for i in range(0, masks_true.shape[0], step): ious.append( _mask_iou_batch_split( - masks_true[i: i + step], masks_detection, match_metric + masks_true[i : i + step], masks_detection, match_metric ) ) @@ -584,7 +586,7 @@ def filter_polygons_by_area( polygon for polygon, area in zip(polygons, ares) if (min_area is None or area >= min_area) - and (max_area is None or area <= max_area) + and (max_area is None or area <= max_area) ] @@ -921,9 +923,9 @@ def move_masks( if source_x_end > source_x_start and source_y_end > source_y_start: mask_array[ - :, - destination_y_start:destination_y_end, - destination_x_start:destination_x_end, + :, + destination_y_start:destination_y_end, + destination_x_start:destination_x_end, ] = masks[:, source_y_start:source_y_end, source_x_start:source_x_end] return mask_array @@ -1025,11 +1027,11 @@ def is_metadata_equal(metadata_a: Dict[str, Any], metadata_b: Dict[str, Any]) -> return set(metadata_a.keys()) == set(metadata_b.keys()) and all( np.array_equal(metadata_a[key], metadata_b[key]) if ( - isinstance(metadata_a[key], np.ndarray) - and isinstance(metadata_b[key], np.ndarray) + isinstance(metadata_a[key], np.ndarray) + and isinstance(metadata_b[key], np.ndarray) ) else metadata_a[key] == metadata_b[key] - for key in metadata_a + for key in metadata_a ) From fcb47f7226591ae71ee853e27486046a7c66c984 Mon Sep 17 00:00:00 2001 From: SkalskiP Date: Mon, 7 Jul 2025 15:30:05 +0200 Subject: [PATCH 246/420] mkdocs update + pre-commit fix --- docs/detection/utils.md | 6 ++++++ docs/metrics/mean_average_precision.md | 6 ++++++ supervision/__init__.py | 3 --- supervision/utils/image.py | 2 +- 4 files changed, 13 insertions(+), 4 deletions(-) diff --git a/docs/detection/utils.md b/docs/detection/utils.md index b0f1416fe5..323b295428 100644 --- a/docs/detection/utils.md +++ b/docs/detection/utils.md @@ -11,6 +11,12 @@ status: new :::supervision.detection.utils.box_iou_batch + + +:::supervision.detection.utils.box_iou_batch_with_jaccard + diff --git a/docs/metrics/mean_average_precision.md b/docs/metrics/mean_average_precision.md index 817591a19a..e2437c8537 100644 --- a/docs/metrics/mean_average_precision.md +++ b/docs/metrics/mean_average_precision.md @@ -16,3 +16,9 @@ status: new :::supervision.metrics.mean_average_precision.MeanAveragePrecisionResult + + + +:::supervision.dataset.formats.coco.get_coco_class_index_mapping \ No newline at end of file diff --git a/supervision/__init__.py b/supervision/__init__.py index a377c08189..be7085df5b 100644 --- a/supervision/__init__.py +++ b/supervision/__init__.py @@ -1,7 +1,4 @@ import importlib.metadata as importlib_metadata -from typing import List - -import numpy as np try: # This will read version from pyproject.toml diff --git a/supervision/utils/image.py b/supervision/utils/image.py index 0bd2dbaacc..37025656b3 100644 --- a/supervision/utils/image.py +++ b/supervision/utils/image.py @@ -785,4 +785,4 @@ def _merge_tiles_elements( def _generate_color_image( shape: Tuple[int, int], color: Tuple[int, int, int] ) -> np.ndarray: - return np.ones(shape[::-1] + (3,), dtype=np.uint8) * color + return np.ones((*shape[::-1], 3), dtype=np.uint8) * color From 5aa6b6f959cdd0bce39dd842cc23e58404a3e99e Mon Sep 17 00:00:00 2001 From: "pre-commit-ci[bot]" <66853113+pre-commit-ci[bot]@users.noreply.github.com> Date: Mon, 7 Jul 2025 13:30:24 +0000 Subject: [PATCH 247/420] =?UTF-8?q?fix(pre=5Fcommit):=20=F0=9F=8E=A8=20aut?= =?UTF-8?q?o=20format=20pre-commit=20hooks?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- docs/metrics/mean_average_precision.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/metrics/mean_average_precision.md b/docs/metrics/mean_average_precision.md index e2437c8537..ce3e06a411 100644 --- a/docs/metrics/mean_average_precision.md +++ b/docs/metrics/mean_average_precision.md @@ -21,4 +21,4 @@ status: new

get_coco_class_index_mapping

-:::supervision.dataset.formats.coco.get_coco_class_index_mapping \ No newline at end of file +:::supervision.dataset.formats.coco.get_coco_class_index_mapping From 724d851dcdf51d4f943cd9ef237a2747898c4b49 Mon Sep 17 00:00:00 2001 From: "pre-commit-ci[bot]" <66853113+pre-commit-ci[bot]@users.noreply.github.com> Date: Mon, 7 Jul 2025 17:34:37 +0000 Subject: [PATCH 248/420] =?UTF-8?q?chore(pre=5Fcommit):=20=E2=AC=86=20pre?= =?UTF-8?q?=5Fcommit=20autoupdate?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit updates: - [github.com/PyCQA/bandit: 1.8.5 → 1.8.6](https://github.com/PyCQA/bandit/compare/1.8.5...1.8.6) - [github.com/astral-sh/ruff-pre-commit: v0.12.1 → v0.12.2](https://github.com/astral-sh/ruff-pre-commit/compare/v0.12.1...v0.12.2) --- .pre-commit-config.yaml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index 3af21e3b8a..7efab7c74f 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -25,14 +25,14 @@ repos: - id: mixed-line-ending - repo: https://github.com/PyCQA/bandit - rev: '1.8.5' + rev: '1.8.6' hooks: - id: bandit args: ["-c", "pyproject.toml"] additional_dependencies: ["bandit[toml]"] - repo: https://github.com/astral-sh/ruff-pre-commit - rev: v0.12.1 + rev: v0.12.2 hooks: - id: ruff args: [--fix, --exit-non-zero-on-fix] From ccf84d5653c172b94d66619ceca5b8b8b196d731 Mon Sep 17 00:00:00 2001 From: Soumik Rakshit <19soumik.rakshit96@gmail.com> Date: Tue, 8 Jul 2025 16:21:08 +0530 Subject: [PATCH 249/420] update: image.py --- supervision/utils/image.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/supervision/utils/image.py b/supervision/utils/image.py index 9bc9c68b6c..0bd2dbaacc 100644 --- a/supervision/utils/image.py +++ b/supervision/utils/image.py @@ -785,4 +785,4 @@ def _merge_tiles_elements( def _generate_color_image( shape: Tuple[int, int], color: Tuple[int, int, int] ) -> np.ndarray: - return np.ones(shape[::-1] + (3,), dtype=np.uint8) * color # noqa RUF005 + return np.ones(shape[::-1] + (3,), dtype=np.uint8) * color From 1190ed2931c78bbee0a6914c850583cf6f83fca6 Mon Sep 17 00:00:00 2001 From: Soumik Rakshit <19soumik.rakshit96@gmail.com> Date: Tue, 8 Jul 2025 16:35:59 +0530 Subject: [PATCH 250/420] update: image.py --- supervision/utils/image.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/supervision/utils/image.py b/supervision/utils/image.py index 0bd2dbaacc..37025656b3 100644 --- a/supervision/utils/image.py +++ b/supervision/utils/image.py @@ -785,4 +785,4 @@ def _merge_tiles_elements( def _generate_color_image( shape: Tuple[int, int], color: Tuple[int, int, int] ) -> np.ndarray: - return np.ones(shape[::-1] + (3,), dtype=np.uint8) * color + return np.ones((*shape[::-1], 3), dtype=np.uint8) * color From 0a7bf58905f2d00bc6bc0e23d92c32efe5f587ff Mon Sep 17 00:00:00 2001 From: James Date: Tue, 8 Jul 2025 12:25:35 +0100 Subject: [PATCH 251/420] respond to feedback --- docs/stylesheets/cookbooks-card.css | 2 +- docs/stylesheets/extra.css | 31 +++++++++++++++------ docs/theme/partials/header.html | 42 ++++++++++++++++++++++++++--- 3 files changed, 63 insertions(+), 12 deletions(-) diff --git a/docs/stylesheets/cookbooks-card.css b/docs/stylesheets/cookbooks-card.css index 51b2429916..3509f20b67 100644 --- a/docs/stylesheets/cookbooks-card.css +++ b/docs/stylesheets/cookbooks-card.css @@ -15,7 +15,7 @@ /* Large screens (1024px and up) */ @media (min-width: 1024px) { .custom-grid { - grid-template-columns: repeat(3, minmax(0, 1fr)); + grid-template-columns: repeat(4, minmax(0, 1fr)); } } diff --git a/docs/stylesheets/extra.css b/docs/stylesheets/extra.css index ae41a3e03f..775d4351b8 100644 --- a/docs/stylesheets/extra.css +++ b/docs/stylesheets/extra.css @@ -1,7 +1,9 @@ -:root { +:root, body { /* Default to light theme */ --md-primary-fg-color: #8315F9; + --md-code-hl-color: #8315F9 !important; --md-accent-fg-color: #8315F9 !important; + --md-code-hl-color--light: #e8d2ff89 !important; --md-footer-fg-color--light: rgb(111, 108, 121) !important; } @@ -36,9 +38,17 @@ body.light { #products-list *:hover .products-sublist { display: block; } -#resources-list * { +#resources-list *, #products-list * { cursor: pointer; } +.products-sublist, .resources-sublist { + padding: 0.25rem; +} +.products-sublist li:hover, .resources-sublist li:hover, .md-nav__link[href]:hover { + background: rgb(242, 241, 247) !important; + border-radius: 6px; + color: initial !important; +} .md-search { flex-grow: 2; } @@ -75,11 +85,6 @@ body.light { background-color: transparent; color: rgb(111, 108, 121); } -.md-nav__link:hover { - background: rgb(243, 238, 255); - border-radius: 6px; - color: #8315F9 !important; -} .md-typeset .tabbed-set > input:first-child:checked ~ .tabbed-labels > :first-child, .md-typeset .tabbed-set > input:nth-child(10):checked ~ .tabbed-labels > :nth-child(10), .md-typeset .tabbed-set > input:nth-child(11):checked ~ .tabbed-labels > :nth-child(11), .md-typeset .tabbed-set > input:nth-child(12):checked ~ .tabbed-labels > :nth-child(12), .md-typeset .tabbed-set > input:nth-child(13):checked ~ .tabbed-labels > :nth-child(13), .md-typeset .tabbed-set > input:nth-child(14):checked ~ .tabbed-labels > :nth-child(14), .md-typeset .tabbed-set > input:nth-child(15):checked ~ .tabbed-labels > :nth-child(15), .md-typeset .tabbed-set > input:nth-child(16):checked ~ .tabbed-labels > :nth-child(16), .md-typeset .tabbed-set > input:nth-child(17):checked ~ .tabbed-labels > :nth-child(17), .md-typeset .tabbed-set > input:nth-child(18):checked ~ .tabbed-labels > :nth-child(18), .md-typeset .tabbed-set > input:nth-child(19):checked ~ .tabbed-labels > :nth-child(19), .md-typeset .tabbed-set > input:nth-child(2):checked ~ .tabbed-labels > :nth-child(2), .md-typeset .tabbed-set > input:nth-child(20):checked ~ .tabbed-labels > :nth-child(20), .md-typeset .tabbed-set > input:nth-child(3):checked ~ .tabbed-labels > :nth-child(3), .md-typeset .tabbed-set > input:nth-child(4):checked ~ .tabbed-labels > :nth-child(4), .md-typeset .tabbed-set > input:nth-child(5):checked ~ .tabbed-labels > :nth-child(5), .md-typeset .tabbed-set > input:nth-child(6):checked ~ .tabbed-labels > :nth-child(6), .md-typeset .tabbed-set > input:nth-child(7):checked ~ .tabbed-labels > :nth-child(7), .md-typeset .tabbed-set > input:nth-child(8):checked ~ .tabbed-labels > :nth-child(8), .md-typeset .tabbed-set > input:nth-child(9):checked ~ .tabbed-labels > :nth-child(9) { color: #8315F9; border-bottom: 1px solid #8315F9; @@ -186,9 +191,13 @@ body { } } .md-content { - max-width: 800px; + max-width: 40rem; margin: auto; } +/* // if no md-sidebar--primary, make .md-content full width */ +.md-main__inner:has(.md-sidebar--primary[hidden]) .md-content { + max-width: 100%; +} .md-sidebar--primary { flex: 0 20%; } @@ -219,3 +228,9 @@ body[data-md-url$="/cookbooks/"] .md-content { margin-left: 0; width: 100%; } + +.md-main, nav .md-grid, .md-header__inner { + max-width: 1600px; + width: 100%; + margin: auto; +} \ No newline at end of file diff --git a/docs/theme/partials/header.html b/docs/theme/partials/header.html index c8fdf4a8f5..a6d37ec667 100644 --- a/docs/theme/partials/header.html +++ b/docs/theme/partials/header.html @@ -83,16 +83,17 @@
  • Blog
  • Community Forum
  • Contact Sales
  • +
  • Universe
  • - +
  • -
  • Go to Roboflow
  • +
  • Go to GitHub
  • From e99fc921df5dbba8965e4d742a5a593c7e0f25e0 Mon Sep 17 00:00:00 2001 From: "pre-commit-ci[bot]" <66853113+pre-commit-ci[bot]@users.noreply.github.com> Date: Tue, 8 Jul 2025 11:25:53 +0000 Subject: [PATCH 252/420] =?UTF-8?q?fix(pre=5Fcommit):=20=F0=9F=8E=A8=20aut?= =?UTF-8?q?o=20format=20pre-commit=20hooks?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- docs/stylesheets/extra.css | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/stylesheets/extra.css b/docs/stylesheets/extra.css index 775d4351b8..885bc57555 100644 --- a/docs/stylesheets/extra.css +++ b/docs/stylesheets/extra.css @@ -233,4 +233,4 @@ body[data-md-url$="/cookbooks/"] .md-content { max-width: 1600px; width: 100%; margin: auto; -} \ No newline at end of file +} From 0af46f641691966041ee214ffd461c4cb30df8c6 Mon Sep 17 00:00:00 2001 From: Onuralp SEZER Date: Wed, 9 Jul 2025 15:43:39 +0300 Subject: [PATCH 253/420] =?UTF-8?q?chore(setup-uv):=20=F0=9F=93=A6=20updat?= =?UTF-8?q?e=20astral-sh/setup-uv=20to=20v6.3.1=20across=20workflow=20file?= =?UTF-8?q?s?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .github/workflows/publish-docs.yml | 2 +- .github/workflows/publish-pre-release.yml | 2 +- .github/workflows/publish-release.yml | 2 +- .github/workflows/publish-testpypi.yml | 2 +- .github/workflows/test-doc.yml | 2 +- .github/workflows/uv-test.yml | 2 +- 6 files changed, 6 insertions(+), 6 deletions(-) diff --git a/.github/workflows/publish-docs.yml b/.github/workflows/publish-docs.yml index f7d630adf9..f04ec67da0 100644 --- a/.github/workflows/publish-docs.yml +++ b/.github/workflows/publish-docs.yml @@ -34,7 +34,7 @@ jobs: fetch-depth: 0 - name: 🐍 Install uv and set Python ${{ matrix.python-version }} - uses: astral-sh/setup-uv@c7f87aa956e4c323abf06d5dec078e358f6b4d04 # v6.0.0 + uses: astral-sh/setup-uv@bd01e18f51369d5a26f1651c3cb451d3417e3bba # v6.3.1 with: python-version: ${{ matrix.python-version }} activate-environment: true diff --git a/.github/workflows/publish-pre-release.yml b/.github/workflows/publish-pre-release.yml index e6fb06e05a..56755aeaf7 100644 --- a/.github/workflows/publish-pre-release.yml +++ b/.github/workflows/publish-pre-release.yml @@ -29,7 +29,7 @@ jobs: uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 - name: 🐍 Install uv and set Python version ${{ matrix.python-version }} - uses: astral-sh/setup-uv@c7f87aa956e4c323abf06d5dec078e358f6b4d04 # v6.0.0 + uses: astral-sh/setup-uv@bd01e18f51369d5a26f1651c3cb451d3417e3bba # v6.3.1 with: python-version: ${{ matrix.python-version }} activate-environment: true diff --git a/.github/workflows/publish-release.yml b/.github/workflows/publish-release.yml index a3697fd921..a66c4e0266 100644 --- a/.github/workflows/publish-release.yml +++ b/.github/workflows/publish-release.yml @@ -27,7 +27,7 @@ jobs: uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 - name: 🐍 Install uv and set Python version ${{ matrix.python-version }} - uses: astral-sh/setup-uv@c7f87aa956e4c323abf06d5dec078e358f6b4d04 # v6.0.0 + uses: astral-sh/setup-uv@bd01e18f51369d5a26f1651c3cb451d3417e3bba # v6.3.1 with: python-version: ${{ matrix.python-version }} activate-environment: true diff --git a/.github/workflows/publish-testpypi.yml b/.github/workflows/publish-testpypi.yml index 34d7c3836f..674516f98f 100644 --- a/.github/workflows/publish-testpypi.yml +++ b/.github/workflows/publish-testpypi.yml @@ -24,7 +24,7 @@ jobs: uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 - name: 🐍 Install uv and set Python version ${{ matrix.python-version }} - uses: astral-sh/setup-uv@c7f87aa956e4c323abf06d5dec078e358f6b4d04 # v6.0.0 + uses: astral-sh/setup-uv@bd01e18f51369d5a26f1651c3cb451d3417e3bba # v6.3.1 with: python-version: ${{ matrix.python-version }} activate-environment: true diff --git a/.github/workflows/test-doc.yml b/.github/workflows/test-doc.yml index 58bed9a0f5..751db9fc4a 100644 --- a/.github/workflows/test-doc.yml +++ b/.github/workflows/test-doc.yml @@ -24,7 +24,7 @@ jobs: fetch-depth: 0 - name: 🐍 Install uv and set Python ${{ matrix.python-version }} - uses: astral-sh/setup-uv@c7f87aa956e4c323abf06d5dec078e358f6b4d04 # v6.0.0 + uses: astral-sh/setup-uv@bd01e18f51369d5a26f1651c3cb451d3417e3bba # v6.3.1 with: python-version: ${{ matrix.python-version }} activate-environment: true diff --git a/.github/workflows/uv-test.yml b/.github/workflows/uv-test.yml index c0693de8b0..ac87dfc01e 100644 --- a/.github/workflows/uv-test.yml +++ b/.github/workflows/uv-test.yml @@ -19,7 +19,7 @@ jobs: uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 - name: 🐍 Install uv and set Python version ${{ matrix.python-version }} - uses: astral-sh/setup-uv@c7f87aa956e4c323abf06d5dec078e358f6b4d04 # v6.0.0 + uses: astral-sh/setup-uv@bd01e18f51369d5a26f1651c3cb451d3417e3bba # v6.3.1 with: python-version: ${{ matrix.python-version }} activate-environment: true From 031a0296f9ae352e74b5ad6e81d54ba97df3d4a8 Mon Sep 17 00:00:00 2001 From: "pre-commit-ci[bot]" <66853113+pre-commit-ci[bot]@users.noreply.github.com> Date: Wed, 9 Jul 2025 12:55:32 +0000 Subject: [PATCH 254/420] =?UTF-8?q?fix(pre=5Fcommit):=20=F0=9F=8E=A8=20aut?= =?UTF-8?q?o=20format=20pre-commit=20hooks?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- supervision/detection/utils.py | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/supervision/detection/utils.py b/supervision/detection/utils.py index 0e706a7719..da2858ecea 100644 --- a/supervision/detection/utils.py +++ b/supervision/detection/utils.py @@ -446,6 +446,7 @@ def xyxy_to_xcycarh(xyxy: np.ndarray) -> np.ndarray: result = np.column_stack((center_x, center_y, aspect_ratio, height)) return result.astype(float) + def normalized_xyxy_to_absolute_xyxy( normalized_xyxy: np.ndarray, resolution_wh: Tuple[int, int], @@ -501,6 +502,7 @@ def normalized_xyxy_to_absolute_xyxy( return result + def mask_to_xyxy(masks: np.ndarray) -> np.ndarray: """ Converts a 3D `np.array` of 2D bool masks into a 2D `np.array` of bounding boxes. @@ -1478,4 +1480,4 @@ def box_iou_batch_with_jaccard( for g_idx, g in enumerate(boxes_true): for d_idx, d in enumerate(boxes_detection): ious[d_idx, g_idx] = _jaccard(d, g, is_crowd[g_idx]) - return ious \ No newline at end of file + return ious From b736499fc9b382cf5de092d913e76157bdc699b9 Mon Sep 17 00:00:00 2001 From: soumik12345 <19soumik.rakshit96@gmail.com> Date: Wed, 9 Jul 2025 18:35:04 +0530 Subject: [PATCH 255/420] deprecate: DetectionDataset.images --- supervision/dataset/core.py | 33 --------------------------------- 1 file changed, 33 deletions(-) diff --git a/supervision/dataset/core.py b/supervision/dataset/core.py index c6fc760edc..4bda9b3924 100644 --- a/supervision/dataset/core.py +++ b/supervision/dataset/core.py @@ -87,39 +87,6 @@ def __init__( self.image_paths = list(dict.fromkeys(images)) self._images_in_memory: Dict[str, np.ndarray] = {} - if isinstance(images, dict): - self._images_in_memory = images - warn_deprecated( - "Passing a `Dict[str, np.ndarray]` into `DetectionDataset` is " - "deprecated and will be removed in `supervision-0.26.0`. Use " - "a list of paths `List[str]` instead." - ) - # TODO: when supervision-0.26.0 is released, and Dict[str, np.ndarray] - # for images is no longer supported, also simplify the rest of - # the code. E.g. list(images) is no longer needed, and merge can - # be simplified. - - @property - @deprecated( - "`DetectionDataset.images` property is deprecated and will be removed in " - "`supervision-0.26.0`. Iterate with `for path, image, annotation in dataset:` " - "instead." - ) - def images(self) -> Dict[str, np.ndarray]: - """ - Load all images to memory and return them as a dictionary. - - !!! warning - - Only use this when you need all images at once. - It is much more memory-efficient to initialize dataset with - image paths and use `for path, image, annotation in dataset:`. - """ - if self._images_in_memory: - return self._images_in_memory - - images = {image_path: cv2.imread(image_path) for image_path in self.image_paths} - return images def _get_image(self, image_path: str) -> np.ndarray: """Assumes that image is in dataset""" From d48614d72bf59982659cab67f622a1c3c2aa18c3 Mon Sep 17 00:00:00 2001 From: "pre-commit-ci[bot]" <66853113+pre-commit-ci[bot]@users.noreply.github.com> Date: Wed, 9 Jul 2025 13:13:48 +0000 Subject: [PATCH 256/420] =?UTF-8?q?fix(pre=5Fcommit):=20=F0=9F=8E=A8=20aut?= =?UTF-8?q?o=20format=20pre-commit=20hooks?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- supervision/dataset/core.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/supervision/dataset/core.py b/supervision/dataset/core.py index 4bda9b3924..be72128bd5 100644 --- a/supervision/dataset/core.py +++ b/supervision/dataset/core.py @@ -32,7 +32,7 @@ train_test_split, ) from supervision.detection.core import Detections -from supervision.utils.internal import deprecated, warn_deprecated +from supervision.utils.internal import warn_deprecated from supervision.utils.iterables import find_duplicates From e608d8204f5dbab895d30515d47627d7ddb45651 Mon Sep 17 00:00:00 2001 From: Onuralp SEZER Date: Wed, 9 Jul 2025 19:03:38 +0300 Subject: [PATCH 257/420] =?UTF-8?q?fix:=20=F0=9F=90=9E=20Google=20Gemini?= =?UTF-8?q?=20bbox=20order=20for=20normaliztion=20convert=20and=20add=20ne?= =?UTF-8?q?w=20enums=20for=20feature=20models=20to=20come?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- supervision/detection/core.py | 10 +++++++++- supervision/detection/vlm.py | 32 ++++++++++++++++++++++++++++++-- 2 files changed, 39 insertions(+), 3 deletions(-) diff --git a/supervision/detection/core.py b/supervision/detection/core.py index 54996ddf42..5254bafd51 100644 --- a/supervision/detection/core.py +++ b/supervision/detection/core.py @@ -899,6 +899,10 @@ def from_lmm( LMM.FLORENCE_2: VLM.FLORENCE_2, LMM.QWEN_2_5_VL: VLM.QWEN_2_5_VL, LMM.GOOGLE_GEMINI_2_0: VLM.GOOGLE_GEMINI_2_0, + LMM.GOOGLE_GEMINI_2_0_FLASH: VLM.GOOGLE_GEMINI_2_0_FLASH, + LMM.GOOGLE_GEMINI_2_5: VLM.GOOGLE_GEMINI_2_5, + LMM.GOOGLE_GEMINI_2_5_FLASH_PREVIEW: VLM.GOOGLE_GEMINI_2_5_FLASH_PREVIEW, + LMM.GOOGLE_GEMINI_2_5_PRO_PREVIEW: VLM.GOOGLE_GEMINI_2_5_PRO_PREVIEW, } # (this works even if the LMM enum is wrapped by @deprecated) @@ -951,11 +955,15 @@ def from_vlm( return cls(xyxy=xyxy, mask=mask, data=data) - if vlm == VLM.GOOGLE_GEMINI_2_0: + if vlm == VLM.GOOGLE_GEMINI_2_0 or vlm == VLM.GOOGLE_GEMINI_2_5 or \ + vlm == VLM.GOOGLE_GEMINI_2_5_FLASH_PREVIEW or \ + vlm == VLM.GOOGLE_GEMINI_2_5_PRO_PREVIEW: xyxy, class_name = from_google_gemini(result, **kwargs) data = {CLASS_NAME_DATA_FIELD: class_name} return cls(xyxy=xyxy, data=data) + return cls.empty() + @classmethod def from_easyocr(cls, easyocr_results: list) -> Detections: """ diff --git a/supervision/detection/vlm.py b/supervision/detection/vlm.py index 639b6876d9..2f968f4110 100644 --- a/supervision/detection/vlm.py +++ b/supervision/detection/vlm.py @@ -20,8 +20,13 @@ class LMM(Enum): PALIGEMMA = "paligemma" FLORENCE_2 = "florence_2" - QWEN_2_5_VL = "qwen_2_5_vl" + QWEN_2_5_VL = "qwen_2_5_vl" GOOGLE_GEMINI_2_0 = "gemini_2_0" + GOOGLE_GEMINI_2_0_FLASH_LITE = "gemini_2_0_flash_lite" + GOOGLE_GEMINI_2_0_FLASH = "gemini_2_0_flash" + GOOGLE_GEMINI_2_5 = "gemini_2_5" + GOOGLE_GEMINI_2_5_FLASH_PREVIEW = "gemini_2_5_flash_preview" + GOOGLE_GEMINI_2_5_PRO_PREVIEW = "gemini_2_5_pro_preview" class VLM(Enum): @@ -29,6 +34,12 @@ class VLM(Enum): FLORENCE_2 = "florence_2" QWEN_2_5_VL = "qwen_2_5_vl" GOOGLE_GEMINI_2_0 = "gemini_2_0" + GOOGLE_GEMINI_2_0_FLASH_LITE = "gemini_2_0_flash_lite" + GOOGLE_GEMINI_2_0_FLASH = "gemini_2_0_flash" + GOOGLE_GEMINI_2_5 = "gemini_2_5" + GOOGLE_GEMINI_2_5_FLASH_PREVIEW = "gemini_2_5_flash_preview" + GOOGLE_GEMINI_2_5_PRO_PREVIEW = "gemini_2_5_pro_preview" + RESULT_TYPES: Dict[VLM, type] = { @@ -36,6 +47,11 @@ class VLM(Enum): VLM.FLORENCE_2: dict, VLM.QWEN_2_5_VL: str, VLM.GOOGLE_GEMINI_2_0: str, + VLM.GOOGLE_GEMINI_2_5: str, + VLM.GOOGLE_GEMINI_2_0_FLASH_LITE: str, + VLM.GOOGLE_GEMINI_2_0_FLASH: str, + VLM.GOOGLE_GEMINI_2_5_FLASH_PREVIEW: str, + VLM.GOOGLE_GEMINI_2_5_PRO_PREVIEW: str, } REQUIRED_ARGUMENTS: Dict[VLM, List[str]] = { @@ -43,6 +59,11 @@ class VLM(Enum): VLM.FLORENCE_2: ["resolution_wh"], VLM.QWEN_2_5_VL: ["input_wh", "resolution_wh"], VLM.GOOGLE_GEMINI_2_0: ["resolution_wh"], + VLM.GOOGLE_GEMINI_2_5: ["resolution_wh"], + VLM.GOOGLE_GEMINI_2_0_FLASH_LITE: ["resolution_wh"], + VLM.GOOGLE_GEMINI_2_0_FLASH: ["resolution_wh"], + VLM.GOOGLE_GEMINI_2_5_FLASH_PREVIEW: ["resolution_wh"], + VLM.GOOGLE_GEMINI_2_5_PRO_PREVIEW: ["resolution_wh"], } ALLOWED_ARGUMENTS: Dict[VLM, List[str]] = { @@ -50,6 +71,11 @@ class VLM(Enum): VLM.FLORENCE_2: ["resolution_wh"], VLM.QWEN_2_5_VL: ["input_wh", "resolution_wh", "classes"], VLM.GOOGLE_GEMINI_2_0: ["resolution_wh"], + VLM.GOOGLE_GEMINI_2_5: ["resolution_wh"], + VLM.GOOGLE_GEMINI_2_0_FLASH_LITE: ["resolution_wh"], + VLM.GOOGLE_GEMINI_2_0_FLASH: ["resolution_wh"], + VLM.GOOGLE_GEMINI_2_5_FLASH_PREVIEW: ["resolution_wh"], + VLM.GOOGLE_GEMINI_2_5_PRO_PREVIEW: ["resolution_wh"], } SUPPORTED_TASKS_FLORENCE_2 = [ @@ -372,9 +398,11 @@ def from_google_gemini( if "box_2d" not in item or "label" not in item: continue labels.append(item["label"]) + box = item["box_2d"] + # Gemini bbox order is [y_min, x_min, y_max, x_max] xyxy.append( normalized_xyxy_to_absolute_xyxy( - np.array(item["box_2d"]).astype(np.float64), + np.array([box[1], box[0], box[3], box[2]]).astype(np.float64), resolution_wh=(w, h), normalization_factor=1000, ) From 8373a38b351af53392d686ea6e736ec9c2d95c8b Mon Sep 17 00:00:00 2001 From: James Date: Wed, 9 Jul 2025 17:12:13 +0100 Subject: [PATCH 258/420] fix conflict --- docs/javascripts/cookbooks-card.js | 14 +++++++++----- docs/stylesheets/extra.css | 6 ++++++ docs/theme/partials/header.html | 20 ++++++++++++++------ 3 files changed, 29 insertions(+), 11 deletions(-) diff --git a/docs/javascripts/cookbooks-card.js b/docs/javascripts/cookbooks-card.js index f2f244ffc0..8ceb0c3268 100644 --- a/docs/javascripts/cookbooks-card.js +++ b/docs/javascripts/cookbooks-card.js @@ -59,7 +59,7 @@ document.addEventListener("DOMContentLoaded", function () {
    +
    ${authorAvatarsHTML}
    ${authorNamesHTML}
    `; element.innerText = ` -
    @@ -105,13 +108,14 @@ document.addEventListener("DOMContentLoaded", function () {
    ${authorsHTML} -
    +
      ${version}
    -
    +
    ${labelHTML}
    diff --git a/docs/stylesheets/extra.css b/docs/stylesheets/extra.css index 885bc57555..d82db1354b 100644 --- a/docs/stylesheets/extra.css +++ b/docs/stylesheets/extra.css @@ -234,3 +234,9 @@ body[data-md-url$="/cookbooks/"] .md-content { width: 100%; margin: auto; } +.md-search__scrollwrap { + width: 100% !important; +} +.md-nav--secondary .md-nav__title { + position: initial !important; +} diff --git a/docs/theme/partials/header.html b/docs/theme/partials/header.html index a6d37ec667..3d760057df 100644 --- a/docs/theme/partials/header.html +++ b/docs/theme/partials/header.html @@ -119,30 +119,38 @@ }); // on mouse out document.getElementById('resources-list').addEventListener('mouseout', function() { - // if not hovering over the sublist, uncheck the dropdown + // if not hovering over the sublist or the label, uncheck the dropdown // wait 1 sec setTimeout(function() { - if (!document.querySelector('.resources-sublist:hover')) { + if (!document.querySelector('.resources-sublist:hover') && !document.querySelector('#resources-list:hover')) { document.getElementById('dropdown-resources').checked = false; } - }, 500); + }, 350); }); // if mouseout of sublist, uncheck immediately document.querySelector('.resources-sublist').addEventListener('mouseout', function() { - document.getElementById('dropdown-resources').checked = false; + setTimeout(function() { + if (!document.querySelector('.resources-sublist:hover') && !document.querySelector('#resources-list:hover')) { + document.getElementById('dropdown-resources').checked = false; + } + }, 450); }); document.getElementById('products-list').addEventListener('mouseout', function() { // if not hovering over the sublist, uncheck the dropdown // wait 1 sec setTimeout(function() { - if (!document.querySelector('.products-sublist:hover')) { + if (!document.querySelector('.products-sublist:hover') && !document.querySelector('#products-list:hover')) { document.getElementById('dropdown-products').checked = false; } }, 500); }); // if mouseout of sublist, uncheck immediately document.querySelector('.products-sublist').addEventListener('mouseout', function() { - document.getElementById('dropdown-products').checked = false; + setTimeout(function() { + if (!document.querySelector('.products-sublist:hover') && !document.querySelector('#products-list:hover')) { + document.getElementById('dropdown-products').checked = false; + } + }, 500); }); From 174253715e4c5aa1ea28ba407e5c5f10c0f67d30 Mon Sep 17 00:00:00 2001 From: Onuralp SEZER Date: Wed, 9 Jul 2025 19:21:13 +0300 Subject: [PATCH 259/420] =?UTF-8?q?fix:=20=F0=9F=90=9E=20update=20expected?= =?UTF-8?q?=20output=20in=20test=5Ffrom=5Fgoogle=5Fgemini=20for=20bbox=20c?= =?UTF-8?q?oordinates?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- supervision/detection/core.py | 9 ++++++--- supervision/detection/vlm.py | 5 ++--- test/detection/test_vlm.py | 3 +-- 3 files changed, 9 insertions(+), 8 deletions(-) diff --git a/supervision/detection/core.py b/supervision/detection/core.py index 5254bafd51..ec515f3e53 100644 --- a/supervision/detection/core.py +++ b/supervision/detection/core.py @@ -955,9 +955,12 @@ def from_vlm( return cls(xyxy=xyxy, mask=mask, data=data) - if vlm == VLM.GOOGLE_GEMINI_2_0 or vlm == VLM.GOOGLE_GEMINI_2_5 or \ - vlm == VLM.GOOGLE_GEMINI_2_5_FLASH_PREVIEW or \ - vlm == VLM.GOOGLE_GEMINI_2_5_PRO_PREVIEW: + if ( + vlm == VLM.GOOGLE_GEMINI_2_0 + or vlm == VLM.GOOGLE_GEMINI_2_5 + or vlm == VLM.GOOGLE_GEMINI_2_5_FLASH_PREVIEW + or vlm == VLM.GOOGLE_GEMINI_2_5_PRO_PREVIEW + ): xyxy, class_name = from_google_gemini(result, **kwargs) data = {CLASS_NAME_DATA_FIELD: class_name} return cls(xyxy=xyxy, data=data) diff --git a/supervision/detection/vlm.py b/supervision/detection/vlm.py index 2f968f4110..b3342db71f 100644 --- a/supervision/detection/vlm.py +++ b/supervision/detection/vlm.py @@ -20,7 +20,7 @@ class LMM(Enum): PALIGEMMA = "paligemma" FLORENCE_2 = "florence_2" - QWEN_2_5_VL = "qwen_2_5_vl" + QWEN_2_5_VL = "qwen_2_5_vl" GOOGLE_GEMINI_2_0 = "gemini_2_0" GOOGLE_GEMINI_2_0_FLASH_LITE = "gemini_2_0_flash_lite" GOOGLE_GEMINI_2_0_FLASH = "gemini_2_0_flash" @@ -39,7 +39,6 @@ class VLM(Enum): GOOGLE_GEMINI_2_5 = "gemini_2_5" GOOGLE_GEMINI_2_5_FLASH_PREVIEW = "gemini_2_5_flash_preview" GOOGLE_GEMINI_2_5_PRO_PREVIEW = "gemini_2_5_pro_preview" - RESULT_TYPES: Dict[VLM, type] = { @@ -399,7 +398,7 @@ def from_google_gemini( continue labels.append(item["label"]) box = item["box_2d"] - # Gemini bbox order is [y_min, x_min, y_max, x_max] + # Gemini bbox order is [y_min, x_min, y_max, x_max] xyxy.append( normalized_xyxy_to_absolute_xyxy( np.array([box[1], box[0], box[3], box[2]]).astype(np.float64), diff --git a/test/detection/test_vlm.py b/test/detection/test_vlm.py index 4d0e199cf7..2148ded9a2 100644 --- a/test/detection/test_vlm.py +++ b/test/detection/test_vlm.py @@ -372,7 +372,6 @@ def test_from_google_gemini() -> None: resolution_wh=resolution_wh, ) np.testing.assert_array_equal( - xyxy, - np.array([[6.4, 9.6, 70.4, 57.6], [32.0, 48.0, 96.0, 96.0]]), + xyxy, np.array([[12.8, 4.8, 76.8, 52.8], [64.0, 24.0, 128.0, 72.0]]) ) np.testing.assert_array_equal(class_name, np.array(["cat", "dog"])) From 796cc26fb99eca2bac01d3b953e85ca5c32afaa0 Mon Sep 17 00:00:00 2001 From: James Date: Wed, 9 Jul 2025 17:25:17 +0100 Subject: [PATCH 260/420] fix version card alignment --- docs/javascripts/cookbooks-card.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/javascripts/cookbooks-card.js b/docs/javascripts/cookbooks-card.js index 8ceb0c3268..a909d23309 100644 --- a/docs/javascripts/cookbooks-card.js +++ b/docs/javascripts/cookbooks-card.js @@ -108,7 +108,7 @@ document.addEventListener("DOMContentLoaded", function () {
    ${authorsHTML} -
    +
      From 6e87237070fc39558cc73285bee1dea7cf03de97 Mon Sep 17 00:00:00 2001 From: Ashp116 Date: Thu, 10 Jul 2025 03:05:30 -0400 Subject: [PATCH 261/420] ADD: Added box_iou --- supervision/detection/utils.py | 28 ++++++++++++++++++++++++++++ 1 file changed, 28 insertions(+) diff --git a/supervision/detection/utils.py b/supervision/detection/utils.py index d86990ee10..bb19cc41df 100644 --- a/supervision/detection/utils.py +++ b/supervision/detection/utils.py @@ -47,6 +47,34 @@ def polygon_to_mask(polygon: np.ndarray, resolution_wh: Tuple[int, int]) -> np.n cv2.fillPoly(mask, [polygon.astype(np.int32)], color=1) return mask +def box_iou(box1: np.ndarray, box2: np.ndarray) -> float: + """ + Compute the Intersection over Union (IoU) between two bounding boxes. + + Args: + box1 (np.ndarray): A bounding box represented as [x1, y1, x2, y2]. + box2 (np.ndarray): A bounding box represented as [x1, y1, x2, y2]. + + Returns: + float: The IoU value between box1 and box2. + Ranges from 0.0 (no overlap) to 1.0 (perfect overlap). + """ + inter_x1 = max(box1[0], box2[0]) + inter_y1 = max(box1[1], box2[1]) + inter_x2 = min(box1[2], box2[2]) + inter_y2 = min(box1[3], box2[3]) + + inter_w = max(0, inter_x2 - inter_x1) + inter_h = max(0, inter_y2 - inter_y1) + + inter_area = inter_w * inter_h + + area1 = (box1[2] - box1[0]) * (box1[3] - box1[1]) + area2 = (box2[2] - box2[0]) * (box2[3] - box2[1]) + + union_area = area1 + area2 - inter_area + + return inter_area / union_area + 1e-6 def box_iou_batch(boxes_true: np.ndarray, boxes_detection: np.ndarray) -> np.ndarray: """ From 5467fbf7c279aadadb53224e0c0a3cf778dbec9c Mon Sep 17 00:00:00 2001 From: "pre-commit-ci[bot]" <66853113+pre-commit-ci[bot]@users.noreply.github.com> Date: Thu, 10 Jul 2025 07:08:48 +0000 Subject: [PATCH 262/420] =?UTF-8?q?fix(pre=5Fcommit):=20=F0=9F=8E=A8=20aut?= =?UTF-8?q?o=20format=20pre-commit=20hooks?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- supervision/detection/utils.py | 2 ++ 1 file changed, 2 insertions(+) diff --git a/supervision/detection/utils.py b/supervision/detection/utils.py index bb19cc41df..a9ee8225bb 100644 --- a/supervision/detection/utils.py +++ b/supervision/detection/utils.py @@ -47,6 +47,7 @@ def polygon_to_mask(polygon: np.ndarray, resolution_wh: Tuple[int, int]) -> np.n cv2.fillPoly(mask, [polygon.astype(np.int32)], color=1) return mask + def box_iou(box1: np.ndarray, box2: np.ndarray) -> float: """ Compute the Intersection over Union (IoU) between two bounding boxes. @@ -76,6 +77,7 @@ def box_iou(box1: np.ndarray, box2: np.ndarray) -> float: return inter_area / union_area + 1e-6 + def box_iou_batch(boxes_true: np.ndarray, boxes_detection: np.ndarray) -> np.ndarray: """ Compute Intersection over Union (IoU) of two sets of bounding boxes - From 4879ed38c838bf042fdb0d638430932cfc97bb3c Mon Sep 17 00:00:00 2001 From: SkalskiP Date: Thu, 10 Jul 2025 11:23:56 +0200 Subject: [PATCH 263/420] include maestro link --- docs/theme/partials/header.html | 1 + 1 file changed, 1 insertion(+) diff --git a/docs/theme/partials/header.html b/docs/theme/partials/header.html index 3d760057df..472db176ad 100644 --- a/docs/theme/partials/header.html +++ b/docs/theme/partials/header.html @@ -93,6 +93,7 @@
  • Inference
  • Supervision
  • Trackers
  • +
  • Maestro
  • Roboflow
  • From b15a7ea005c5c98127e571dd5cf9e517fa08b662 Mon Sep 17 00:00:00 2001 From: James Date: Thu, 10 Jul 2025 10:52:48 +0100 Subject: [PATCH 264/420] fix wrapped text --- docs/stylesheets/extra.css | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/docs/stylesheets/extra.css b/docs/stylesheets/extra.css index d82db1354b..e730f54ee2 100644 --- a/docs/stylesheets/extra.css +++ b/docs/stylesheets/extra.css @@ -240,3 +240,8 @@ body[data-md-url$="/cookbooks/"] .md-content { .md-nav--secondary .md-nav__title { position: initial !important; } + +.md-header__title .md-ellipsis { + overflow: initial !important; + text-overflow: initial !important; +} \ No newline at end of file From 091559433a6bf7ae5fb2152881273f96ba0a6157 Mon Sep 17 00:00:00 2001 From: "pre-commit-ci[bot]" <66853113+pre-commit-ci[bot]@users.noreply.github.com> Date: Thu, 10 Jul 2025 09:55:00 +0000 Subject: [PATCH 265/420] =?UTF-8?q?fix(pre=5Fcommit):=20=F0=9F=8E=A8=20aut?= =?UTF-8?q?o=20format=20pre-commit=20hooks?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- docs/stylesheets/extra.css | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/stylesheets/extra.css b/docs/stylesheets/extra.css index e730f54ee2..fb68e5a5a9 100644 --- a/docs/stylesheets/extra.css +++ b/docs/stylesheets/extra.css @@ -244,4 +244,4 @@ body[data-md-url$="/cookbooks/"] .md-content { .md-header__title .md-ellipsis { overflow: initial !important; text-overflow: initial !important; -} \ No newline at end of file +} From 21a3584513f161b2508b1e1ae6e0e8c9ba414a9c Mon Sep 17 00:00:00 2001 From: James Date: Thu, 10 Jul 2025 11:03:48 +0100 Subject: [PATCH 266/420] fix --- docs/stylesheets/extra.css | 7 +++++-- mkdocs.yml | 1 + 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/docs/stylesheets/extra.css b/docs/stylesheets/extra.css index fb68e5a5a9..9e92501624 100644 --- a/docs/stylesheets/extra.css +++ b/docs/stylesheets/extra.css @@ -58,7 +58,7 @@ body.light { .md-header__inner { align-items: center; display: grid; - grid-template-columns: 0.1fr 1fr 2fr 2fr; + grid-template-columns: 0.1fr 1.4fr 2fr 2fr; padding-right: 1rem; } .md-search__inner { @@ -179,7 +179,7 @@ body { .md-main__inner, .md-header__inner, .md-grid { max-width: 100%; } -@media (max-width: 1000px) { +@media (max-width: 1200px) { .md-header__inner { display: flex; } @@ -245,3 +245,6 @@ body[data-md-url$="/cookbooks/"] .md-content { overflow: initial !important; text-overflow: initial !important; } +.md-search { + flex-grow: 0; +} diff --git a/mkdocs.yml b/mkdocs.yml index d8d88e947e..e258c5d987 100644 --- a/mkdocs.yml +++ b/mkdocs.yml @@ -95,6 +95,7 @@ theme: - content.tooltips - content.code.annotate - navigation.tabs + - navigation.tabs.sticky palette: # Palette for light mode From f50216eebf1578cd5d0fc367663321fd79d20ec7 Mon Sep 17 00:00:00 2001 From: SkalskiP Date: Thu, 10 Jul 2025 12:10:10 +0200 Subject: [PATCH 267/420] remove duplicated `features` from `mkdocs.yaml` --- mkdocs.yml | 3 --- 1 file changed, 3 deletions(-) diff --git a/mkdocs.yml b/mkdocs.yml index d8d88e947e..8ff15e5ea9 100644 --- a/mkdocs.yml +++ b/mkdocs.yml @@ -114,9 +114,6 @@ theme: font: text: Inter code: IBM Plex Mono - features: - - content.code.copy - - content.code.annotate plugins: - search From 6448fc7ea11d9e52ae45214f0ff42fcb82eb99a6 Mon Sep 17 00:00:00 2001 From: soumik12345 <19soumik.rakshit96@gmail.com> Date: Thu, 10 Jul 2025 18:32:18 +0530 Subject: [PATCH 268/420] chore: address feedback on google gemini support --- docs/detection/utils.md | 4 +- supervision/__init__.py | 2 +- supervision/detection/core.py | 100 +++++++++++++++++++++++---------- supervision/detection/utils.py | 6 +- supervision/detection/vlm.py | 45 +++++++-------- 5 files changed, 95 insertions(+), 62 deletions(-) diff --git a/docs/detection/utils.md b/docs/detection/utils.md index 94d50611f1..a8e9d696cb 100644 --- a/docs/detection/utils.md +++ b/docs/detection/utils.md @@ -102,10 +102,10 @@ status: new :::supervision.detection.utils.xyxy_to_xywh -:::supervision.detection.utils.normalized_xyxy_to_absolute_xyxy +:::supervision.detection.utils.denormalize_boxes

    xyxy_to_xcycarh

    diff --git a/supervision/__init__.py b/supervision/__init__.py index c9ea3ce616..dba1d39920 100644 --- a/supervision/__init__.py +++ b/supervision/__init__.py @@ -70,7 +70,7 @@ mask_to_xyxy, move_boxes, move_masks, - normalized_xyxy_to_absolute_xyxy, + denormalize_boxes, oriented_box_iou_batch, pad_boxes, polygon_to_mask, diff --git a/supervision/detection/core.py b/supervision/detection/core.py index ec515f3e53..ddc2783839 100644 --- a/supervision/detection/core.py +++ b/supervision/detection/core.py @@ -847,39 +847,18 @@ def from_lmm( Examples: ```python - from google import genai - from google.genai import types import supervision as sv - from PIL import Image - - IMAGE = Image.open() - GENAI_CLIENT = genai.Client(api_key=) - - system_instructions = ''' - Return bounding boxes as a JSON array with labels and ids. Never return masks or code fencing. Limit to 25 objects. - If an object is present multiple times, name them according to their unique characteristic (colors, size, position, unique characteristics, etc..). - ''' - - safety_settings = [ - types.SafetySetting( - category="HARM_CATEGORY_DANGEROUS_CONTENT", - threshold="BLOCK_ONLY_HIGH", - ), - ] - response = GENAI_CLIENT.models.generate_content( - model="gemini-2.0-flash-exp", - contents=[prompt, IMAGE], - config = types.GenerateContentConfig( - system_instruction=system_instructions, - temperature=0.5, - safety_settings=safety_settings, - ) - ) + gemini_response_text = \"\"\"```json + [ + {"box_2d": [543, 40, 728, 200], "label": "Cat", "id": 1}, + {"box_2d": [653, 352, 820, 522], "label": "Dog", "id": 2} + ] + ```\"\"\" - detections = sv.Detections.from_lmm( - sv.LMM.GOOGLE_GEMINI_2_0, - response.text, + detections = sv.Detections.from_vlm( + sv.VLM.GOOGLE_GEMINI_2_0, + gemini_response_text, resolution_wh=(IMAGE.size[0], IMAGE.size[1]), ) @@ -890,7 +869,6 @@ def from_lmm( detections.data # {'class_name': ['cat', 'dog']} ``` - """ # noqa: E501 // docs # filler logic mapping old from_lmm to new from_vlm @@ -930,6 +908,66 @@ def from_lmm( def from_vlm( cls, vlm: Union[VLM, str], result: Union[str, dict], **kwargs: Any ) -> Detections: + """ + Creates a Detections object from the given result string based on the specified + Vision Language Model (VLM). + + Args: + vlm (Union[VLM, str]): The type of VLM (Large Multimodal Model) to use. + result (str): The result string containing the detection data. + **kwargs (Any): Additional keyword arguments required by the specified VLM. + + Returns: + Detections: A new Detections object. + + Raises: + ValueError: If the VLM is invalid, required arguments are missing, or + disallowed arguments are provided. + ValueError: If the specified VLM is not supported. + + Examples: + ```python + import supervision as sv + + paligemma_result = " cat" + detections = sv.Detections.from_vlm( + sv.VLM.PALIGEMMA, + paligemma_result, + resolution_wh=(1000, 1000), + classes=['cat', 'dog'] + ) + detections.xyxy + # array([[250., 250., 750., 750.]]) + + detections.class_id + # array([0]) + ``` + + Examples: + ```python + import supervision as sv + + gemini_response_text = \"\"\"```json + [ + {"box_2d": [543, 40, 728, 200], "label": "Cat", "id": 1}, + {"box_2d": [653, 352, 820, 522], "label": "Dog", "id": 2} + ] + ```\"\"\" + + detections = sv.Detections.from_vlm( + sv.VLM.GOOGLE_GEMINI_2_0, + gemini_response_text, + resolution_wh=(IMAGE.size[0], IMAGE.size[1]), + ) + + detections.xyxy + # array([[250., 250., 750., 750.]]) + detections.class_id + # array([0]) + detections.data + # {'class_name': ['cat', 'dog']} + ``` + """ vlm = validate_vlm_parameters(vlm, result, kwargs) if vlm == VLM.PALIGEMMA: diff --git a/supervision/detection/utils.py b/supervision/detection/utils.py index da2858ecea..8113ba431b 100644 --- a/supervision/detection/utils.py +++ b/supervision/detection/utils.py @@ -447,7 +447,7 @@ def xyxy_to_xcycarh(xyxy: np.ndarray) -> np.ndarray: return result.astype(float) -def normalized_xyxy_to_absolute_xyxy( +def denormalize_boxes( normalized_xyxy: np.ndarray, resolution_wh: Tuple[int, int], normalization_factor: float = 1.0, @@ -477,7 +477,7 @@ def normalized_xyxy_to_absolute_xyxy( [0.3, 0.4, 0.7, 0.8] ]) resolution_wh = (100, 200) - sv.normalized_xyxy_to_absolute_xyxy(normalized_xyxy, resolution_wh) + sv.denormalize_boxes(normalized_xyxy, resolution_wh) # array([ # [ 10., 40., 50., 120.], # [ 30., 80., 70., 160.] @@ -487,7 +487,7 @@ def normalized_xyxy_to_absolute_xyxy( [10., 20., 50., 60.], [30., 40., 70., 80.] ]) - sv.normalized_xyxy_to_absolute_xyxy(normalized_xyxy, resolution_wh, max_value=100.0) + sv.denormalize_boxes(normalized_xyxy, resolution_wh, max_value=100.0) # array([ # [ 10., 40., 50., 120.], # [ 30., 80., 70., 160.] diff --git a/supervision/detection/vlm.py b/supervision/detection/vlm.py index b3342db71f..15f286558a 100644 --- a/supervision/detection/vlm.py +++ b/supervision/detection/vlm.py @@ -6,7 +6,7 @@ import numpy as np from supervision.detection.utils import ( - normalized_xyxy_to_absolute_xyxy, + denormalize_boxes, polygon_to_mask, polygon_to_xyxy, ) @@ -22,11 +22,7 @@ class LMM(Enum): FLORENCE_2 = "florence_2" QWEN_2_5_VL = "qwen_2_5_vl" GOOGLE_GEMINI_2_0 = "gemini_2_0" - GOOGLE_GEMINI_2_0_FLASH_LITE = "gemini_2_0_flash_lite" - GOOGLE_GEMINI_2_0_FLASH = "gemini_2_0_flash" GOOGLE_GEMINI_2_5 = "gemini_2_5" - GOOGLE_GEMINI_2_5_FLASH_PREVIEW = "gemini_2_5_flash_preview" - GOOGLE_GEMINI_2_5_PRO_PREVIEW = "gemini_2_5_pro_preview" class VLM(Enum): @@ -34,11 +30,7 @@ class VLM(Enum): FLORENCE_2 = "florence_2" QWEN_2_5_VL = "qwen_2_5_vl" GOOGLE_GEMINI_2_0 = "gemini_2_0" - GOOGLE_GEMINI_2_0_FLASH_LITE = "gemini_2_0_flash_lite" - GOOGLE_GEMINI_2_0_FLASH = "gemini_2_0_flash" GOOGLE_GEMINI_2_5 = "gemini_2_5" - GOOGLE_GEMINI_2_5_FLASH_PREVIEW = "gemini_2_5_flash_preview" - GOOGLE_GEMINI_2_5_PRO_PREVIEW = "gemini_2_5_pro_preview" RESULT_TYPES: Dict[VLM, type] = { @@ -47,10 +39,6 @@ class VLM(Enum): VLM.QWEN_2_5_VL: str, VLM.GOOGLE_GEMINI_2_0: str, VLM.GOOGLE_GEMINI_2_5: str, - VLM.GOOGLE_GEMINI_2_0_FLASH_LITE: str, - VLM.GOOGLE_GEMINI_2_0_FLASH: str, - VLM.GOOGLE_GEMINI_2_5_FLASH_PREVIEW: str, - VLM.GOOGLE_GEMINI_2_5_PRO_PREVIEW: str, } REQUIRED_ARGUMENTS: Dict[VLM, List[str]] = { @@ -59,10 +47,6 @@ class VLM(Enum): VLM.QWEN_2_5_VL: ["input_wh", "resolution_wh"], VLM.GOOGLE_GEMINI_2_0: ["resolution_wh"], VLM.GOOGLE_GEMINI_2_5: ["resolution_wh"], - VLM.GOOGLE_GEMINI_2_0_FLASH_LITE: ["resolution_wh"], - VLM.GOOGLE_GEMINI_2_0_FLASH: ["resolution_wh"], - VLM.GOOGLE_GEMINI_2_5_FLASH_PREVIEW: ["resolution_wh"], - VLM.GOOGLE_GEMINI_2_5_PRO_PREVIEW: ["resolution_wh"], } ALLOWED_ARGUMENTS: Dict[VLM, List[str]] = { @@ -71,10 +55,6 @@ class VLM(Enum): VLM.QWEN_2_5_VL: ["input_wh", "resolution_wh", "classes"], VLM.GOOGLE_GEMINI_2_0: ["resolution_wh"], VLM.GOOGLE_GEMINI_2_5: ["resolution_wh"], - VLM.GOOGLE_GEMINI_2_0_FLASH_LITE: ["resolution_wh"], - VLM.GOOGLE_GEMINI_2_0_FLASH: ["resolution_wh"], - VLM.GOOGLE_GEMINI_2_5_FLASH_PREVIEW: ["resolution_wh"], - VLM.GOOGLE_GEMINI_2_5_PRO_PREVIEW: ["resolution_wh"], } SUPPORTED_TASKS_FLORENCE_2 = [ @@ -357,9 +337,24 @@ def from_google_gemini( resolution_wh: Tuple[int, int], ) -> Tuple[np.ndarray, np.ndarray]: """ - Parse and scale bounding boxes from Google Gemini style JSON output. - https://aistudio.google.com/ - https://ai.google.dev/gemini-api/docs/vision?lang=python + Parse and scale bounding boxes from Google Gemini style + [JSON output](https://ai.google.dev/gemini-api/docs/vision?lang=python). + + The JSON is expected to be enclosed in triple backticks with the format: + ```json + [ + {"box_2d": [x1, y1, x2, y2], "label": "some class name"}, + ... + ] + ``` + + For example: + ```json + [ + {"box_2d": [10, 20, 110, 120], "label": "cat"}, + {"box_2d": [50, 100, 150, 200], "label": "dog"} + ] + ``` Args: result: String containing the JSON snippet enclosed by triple backticks. @@ -400,7 +395,7 @@ def from_google_gemini( box = item["box_2d"] # Gemini bbox order is [y_min, x_min, y_max, x_max] xyxy.append( - normalized_xyxy_to_absolute_xyxy( + denormalize_boxes( np.array([box[1], box[0], box[3], box[2]]).astype(np.float64), resolution_wh=(w, h), normalization_factor=1000, From abb881c1a6e05281a4ee41d30d19e7ee7869b599 Mon Sep 17 00:00:00 2001 From: soumik12345 <19soumik.rakshit96@gmail.com> Date: Thu, 10 Jul 2025 18:39:15 +0530 Subject: [PATCH 269/420] update: docstrings --- supervision/detection/core.py | 25 ++++++++++++------------- 1 file changed, 12 insertions(+), 13 deletions(-) diff --git a/supervision/detection/core.py b/supervision/detection/core.py index ddc2783839..e31df444e4 100644 --- a/supervision/detection/core.py +++ b/supervision/detection/core.py @@ -851,24 +851,23 @@ def from_lmm( gemini_response_text = \"\"\"```json [ - {"box_2d": [543, 40, 728, 200], "label": "Cat", "id": 1}, - {"box_2d": [653, 352, 820, 522], "label": "Dog", "id": 2} + {"box_2d": [543, 40, 728, 200], "label": "cat", "id": 1}, + {"box_2d": [653, 352, 820, 522], "label": "dog", "id": 2} ] ```\"\"\" - detections = sv.Detections.from_vlm( - sv.VLM.GOOGLE_GEMINI_2_0, + detections = sv.Detections.from_lmm( + sv.LMM.GOOGLE_GEMINI_2_0, gemini_response_text, resolution_wh=(IMAGE.size[0], IMAGE.size[1]), ) detections.xyxy - # array([[250., 250., 750., 750.]]) + # array([[543., 40., 728., 200.], [653., 352., 820., 522.]]) detections.class_id - # array([0]) + # array([1, 2]) detections.data - # {'class_name': ['cat', 'dog']} - ``` + # {'class_name': array(['cat', 'dog'], dtype=' Date: Thu, 10 Jul 2025 18:41:59 +0530 Subject: [PATCH 270/420] update: docstrings --- supervision/detection/core.py | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/supervision/detection/core.py b/supervision/detection/core.py index e31df444e4..6ca19cd326 100644 --- a/supervision/detection/core.py +++ b/supervision/detection/core.py @@ -864,8 +864,7 @@ def from_lmm( detections.xyxy # array([[543., 40., 728., 200.], [653., 352., 820., 522.]]) - detections.class_id - # array([1, 2]) + detections.data # {'class_name': array(['cat', 'dog'], dtype=' Date: Thu, 10 Jul 2025 13:13:38 +0000 Subject: [PATCH 271/420] =?UTF-8?q?fix(pre=5Fcommit):=20=F0=9F=8E=A8=20aut?= =?UTF-8?q?o=20format=20pre-commit=20hooks?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- supervision/__init__.py | 2 +- supervision/detection/core.py | 6 +++--- supervision/detection/vlm.py | 2 +- 3 files changed, 5 insertions(+), 5 deletions(-) diff --git a/supervision/__init__.py b/supervision/__init__.py index dba1d39920..3a1839d611 100644 --- a/supervision/__init__.py +++ b/supervision/__init__.py @@ -64,13 +64,13 @@ clip_boxes, contains_holes, contains_multiple_segments, + denormalize_boxes, filter_polygons_by_area, mask_iou_batch, mask_to_polygons, mask_to_xyxy, move_boxes, move_masks, - denormalize_boxes, oriented_box_iou_batch, pad_boxes, polygon_to_mask, diff --git a/supervision/detection/core.py b/supervision/detection/core.py index 6ca19cd326..623994018e 100644 --- a/supervision/detection/core.py +++ b/supervision/detection/core.py @@ -864,10 +864,10 @@ def from_lmm( detections.xyxy # array([[543., 40., 728., 200.], [653., 352., 820., 522.]]) - + detections.data # {'class_name': array(['cat', 'dog'], dtype=' Date: Thu, 10 Jul 2025 19:18:24 +0530 Subject: [PATCH 272/420] add: qwen example --- supervision/detection/core.py | 46 +++++++++++++++++++++++++++++++++++ 1 file changed, 46 insertions(+) diff --git a/supervision/detection/core.py b/supervision/detection/core.py index 623994018e..910a71d06b 100644 --- a/supervision/detection/core.py +++ b/supervision/detection/core.py @@ -845,6 +845,29 @@ def from_lmm( # array([0]) ``` + Examples: + ```python + import supervision as sv + + qwen_2_5_vl_result = \"\"\"```json + [ + {"bbox_2d": [139, 768, 315, 954], "label": "cat"}, + {"bbox_2d": [366, 679, 536, 849], "label": "dog"} + ] + ```\"\"\" + detections = sv.Detections.from_lmm( + sv.LMM.QWEN_2_5_VL, + qwen_2_5_vl_result, + resolution_wh=(1000, 1000), + classes=['cat', 'dog'] + ) + detections.xyxy + # array([[139., 768., 315., 954.], [366., 679., 536., 849.]]) + + detections.data + # {'class_name': array(['cat', 'dog'], dtype=' Date: Thu, 10 Jul 2025 13:48:57 +0000 Subject: [PATCH 273/420] =?UTF-8?q?fix(pre=5Fcommit):=20=F0=9F=8E=A8=20aut?= =?UTF-8?q?o=20format=20pre-commit=20hooks?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- supervision/detection/core.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/supervision/detection/core.py b/supervision/detection/core.py index 910a71d06b..77eec696b1 100644 --- a/supervision/detection/core.py +++ b/supervision/detection/core.py @@ -963,7 +963,7 @@ def from_vlm( detections.class_id # array([0]) ``` - + Examples: ```python import supervision as sv From 2c0eaa10592f9dd1684328acc6dffff7edbd42e2 Mon Sep 17 00:00:00 2001 From: Soumik Rakshit <19soumik.rakshit96@gmail.com> Date: Thu, 10 Jul 2025 14:02:01 +0000 Subject: [PATCH 274/420] update: docstrings --- supervision/detection/core.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/supervision/detection/core.py b/supervision/detection/core.py index 77eec696b1..aa0a6781f8 100644 --- a/supervision/detection/core.py +++ b/supervision/detection/core.py @@ -858,8 +858,8 @@ def from_lmm( detections = sv.Detections.from_lmm( sv.LMM.QWEN_2_5_VL, qwen_2_5_vl_result, + input_wh=(1000, 1000), resolution_wh=(1000, 1000), - classes=['cat', 'dog'] ) detections.xyxy # array([[139., 768., 315., 954.], [366., 679., 536., 849.]]) @@ -977,8 +977,8 @@ def from_vlm( detections = sv.Detections.from_vlm( sv.VLM.QWEN_2_5_VL, qwen_2_5_vl_result, + input_wh=(1000, 1000), resolution_wh=(1000, 1000), - classes=['cat', 'dog'] ) detections.xyxy # array([[139., 768., 315., 954.], [366., 679., 536., 849.]]) From 8b3947891359e2208e61a82945ac67f86540ab42 Mon Sep 17 00:00:00 2001 From: SkalskiP Date: Thu, 10 Jul 2025 18:18:38 +0200 Subject: [PATCH 275/420] fix malfunctioned docstring --- supervision/detection/core.py | 1 + 1 file changed, 1 insertion(+) diff --git a/supervision/detection/core.py b/supervision/detection/core.py index aa0a6781f8..af91dc5deb 100644 --- a/supervision/detection/core.py +++ b/supervision/detection/core.py @@ -890,6 +890,7 @@ def from_lmm( detections.data # {'class_name': array(['cat', 'dog'], dtype=' Date: Thu, 10 Jul 2025 19:38:35 +0300 Subject: [PATCH 276/420] =?UTF-8?q?feat:=20=F0=9F=9A=80=20add=20support=20?= =?UTF-8?q?for=20Google=20Gemini=202.5=20bounding=20box=20and=20mask=20par?= =?UTF-8?q?sing?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- supervision/detection/vlm.py | 104 ++++++++++++++++++++++++++++++++++- 1 file changed, 103 insertions(+), 1 deletion(-) diff --git a/supervision/detection/vlm.py b/supervision/detection/vlm.py index 0f254868f9..6711459b2c 100644 --- a/supervision/detection/vlm.py +++ b/supervision/detection/vlm.py @@ -2,7 +2,10 @@ import re from enum import Enum from typing import Any, Dict, List, Optional, Tuple, Union - +import base64 +import io +from PIL import Image +from typing import Union, Optional, Tuple import numpy as np from supervision.detection.utils import ( @@ -406,3 +409,102 @@ def from_google_gemini( return np.empty((0, 4)), np.empty((0,), dtype=str) return np.array(xyxy), np.array(labels) + +def from_google_gemini_2_5( + result: str, + resolution_wh: Tuple[int, int], +) -> Tuple[np.ndarray, np.ndarray, np.ndarray, Optional[np.ndarray]]: + """ + Parse and scale bounding boxes and masks from Google Gemini 2.5 style JSON output. + https://aistudio.google.com/ + https://ai.google.dev/gemini-api/docs/vision?lang=python + + Args: + result: String containing the JSON snippet enclosed by triple backticks. + resolution_wh: (output_width, output_height) to which we rescale the boxes. + + Returns: + xyxy (np.ndarray): An array of shape `(n, 4)` containing + the bounding boxes coordinates in format `[x1, y1, x2, y2]` + class_name: (np.ndarray): An array of shape `(n,)` containing + the class labels for each bounding box + class_id [np.ndarray]: An array of shape `(n,)` containing + the class indices for each bounding box + masks: Optional[np.ndarray]: An array of shape `(n, h, w)` containing + the segmentation masks for each bounding box + """ + w, h = resolution_wh + if w <= 0 or h <= 0: + raise ValueError( + f"Both dimensions in resolution_wh must be positive. Got ({w}, {h})." + ) + + lines = result.splitlines() + for i, line in enumerate(lines): + if line == "```json": + result = "\n".join(lines[i + 1 :]) + result = result.split("```")[0] + break + + try: + data = json.loads(result) + except json.JSONDecodeError: + return np.empty((0, 4)), np.empty((0,), dtype=str), np.empty((0,), dtype=int), None + + class_name: list = [] + class_id: list = [] + xyxy: list = [] + masks: Optional[list] = [] + + for item in data: + if "box_2d" not in item or "label" not in item: + continue + class_name.append(item["label"]) + box = item["box_2d"] + # Gemini bbox order is [y_min, x_min, y_max, x_max] + absolute_bbox = denormalize_boxes( + np.array([box[1], box[0], box[3], box[2]]).astype(np.float64), + resolution_wh=(w, h), + normalization_factor=1000, + ) + xyxy.append(absolute_bbox) + + if "mask" in item: + png_str = item["mask"] + if not png_str.startswith("data:image/png;base64,"): + masks.append(np.zeros((h, w), dtype=bool)) + continue + + png_str = png_str.removeprefix("data:image/png;base64,") + png_str = base64.b64decode(png_str) + mask_img = Image.open(io.BytesIO(png_str)) + + y_min, y_max = int(absolute_bbox[1]), int(absolute_bbox[3]) + x_min, x_max = int(absolute_bbox[0]), int(absolute_bbox[2]) + + bbox_height = y_max - y_min + bbox_width = x_max - x_min + + if bbox_height > 0 and bbox_width > 0: + mask_img = mask_img.resize( + (bbox_width, bbox_height), resample=Image.Resampling.BILINEAR + ) + np_mask = np.zeros((h, w), dtype=bool) + np_mask[y_min:y_max, x_min:x_max] = np.array(mask_img) > 0 + masks.append(np_mask) + else: + masks.append(np.zeros((h, w), dtype=bool)) + else: + masks.append(np.zeros((h, w), dtype=bool)) + + if not xyxy: + return np.empty((0, 4)), np.empty((0,), dtype=str), np.empty((0,), dtype=int), None + + mask = np.array(masks) if masks is not None else None + + unique_labels = list(set(class_name)) + for label in class_name: + class_id.append(unique_labels.index(label)) + + return np.array(xyxy), np.array(class_id), np.array(class_name), mask + From 0e8ec18c20cd90f62f14be6888de5b37763318c2 Mon Sep 17 00:00:00 2001 From: Onuralp SEZER Date: Thu, 10 Jul 2025 19:39:00 +0300 Subject: [PATCH 277/420] =?UTF-8?q?fix:=20=F0=9F=90=9E=20remove=20not=20ex?= =?UTF-8?q?ist=20Google=20Gemini=202.0=20and=202.5=20flash=20preview=20map?= =?UTF-8?q?pings?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- supervision/detection/core.py | 3 --- 1 file changed, 3 deletions(-) diff --git a/supervision/detection/core.py b/supervision/detection/core.py index af91dc5deb..eaba9991e7 100644 --- a/supervision/detection/core.py +++ b/supervision/detection/core.py @@ -899,10 +899,7 @@ def from_lmm( LMM.FLORENCE_2: VLM.FLORENCE_2, LMM.QWEN_2_5_VL: VLM.QWEN_2_5_VL, LMM.GOOGLE_GEMINI_2_0: VLM.GOOGLE_GEMINI_2_0, - LMM.GOOGLE_GEMINI_2_0_FLASH: VLM.GOOGLE_GEMINI_2_0_FLASH, LMM.GOOGLE_GEMINI_2_5: VLM.GOOGLE_GEMINI_2_5, - LMM.GOOGLE_GEMINI_2_5_FLASH_PREVIEW: VLM.GOOGLE_GEMINI_2_5_FLASH_PREVIEW, - LMM.GOOGLE_GEMINI_2_5_PRO_PREVIEW: VLM.GOOGLE_GEMINI_2_5_PRO_PREVIEW, } # (this works even if the LMM enum is wrapped by @deprecated) From 74ba99479c88b174cacd5010db1e7a7a334aee16 Mon Sep 17 00:00:00 2001 From: Onuralp SEZER Date: Thu, 10 Jul 2025 19:44:48 +0300 Subject: [PATCH 278/420] =?UTF-8?q?chore:=20=F0=9F=A7=B9=20clean=20up=20im?= =?UTF-8?q?ports=20and=20improve=20formatting=20in=20Google=20Gemini=20fun?= =?UTF-8?q?ctions?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- supervision/detection/vlm.py | 32 +++++++++++++++++++++----------- 1 file changed, 21 insertions(+), 11 deletions(-) diff --git a/supervision/detection/vlm.py b/supervision/detection/vlm.py index 6711459b2c..6cfdb04774 100644 --- a/supervision/detection/vlm.py +++ b/supervision/detection/vlm.py @@ -1,12 +1,12 @@ +import base64 +import io import json import re from enum import Enum from typing import Any, Dict, List, Optional, Tuple, Union -import base64 -import io -from PIL import Image -from typing import Union, Optional, Tuple + import numpy as np +from PIL import Image from supervision.detection.utils import ( denormalize_boxes, @@ -410,6 +410,7 @@ def from_google_gemini( return np.array(xyxy), np.array(labels) + def from_google_gemini_2_5( result: str, resolution_wh: Tuple[int, int], @@ -449,7 +450,12 @@ def from_google_gemini_2_5( try: data = json.loads(result) except json.JSONDecodeError: - return np.empty((0, 4)), np.empty((0,), dtype=str), np.empty((0,), dtype=int), None + return ( + np.empty((0, 4)), + np.empty((0,), dtype=str), + np.empty((0,), dtype=int), + None, + ) class_name: list = [] class_id: list = [] @@ -463,10 +469,10 @@ def from_google_gemini_2_5( box = item["box_2d"] # Gemini bbox order is [y_min, x_min, y_max, x_max] absolute_bbox = denormalize_boxes( - np.array([box[1], box[0], box[3], box[2]]).astype(np.float64), - resolution_wh=(w, h), - normalization_factor=1000, - ) + np.array([box[1], box[0], box[3], box[2]]).astype(np.float64), + resolution_wh=(w, h), + normalization_factor=1000, + ) xyxy.append(absolute_bbox) if "mask" in item: @@ -498,7 +504,12 @@ def from_google_gemini_2_5( masks.append(np.zeros((h, w), dtype=bool)) if not xyxy: - return np.empty((0, 4)), np.empty((0,), dtype=str), np.empty((0,), dtype=int), None + return ( + np.empty((0, 4)), + np.empty((0,), dtype=str), + np.empty((0,), dtype=int), + None, + ) mask = np.array(masks) if masks is not None else None @@ -507,4 +518,3 @@ def from_google_gemini_2_5( class_id.append(unique_labels.index(label)) return np.array(xyxy), np.array(class_id), np.array(class_name), mask - From 5d2616093d34f2f19c8b95bca5b14adb4a2efdef Mon Sep 17 00:00:00 2001 From: Onuralp SEZER Date: Thu, 10 Jul 2025 19:45:02 +0300 Subject: [PATCH 279/420] =?UTF-8?q?feat:=20=F0=9F=9A=80=20add=20support=20?= =?UTF-8?q?for=20Google=20Gemini=202.5=20detection=20processing?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- supervision/detection/core.py | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) diff --git a/supervision/detection/core.py b/supervision/detection/core.py index eaba9991e7..ddcf125e74 100644 --- a/supervision/detection/core.py +++ b/supervision/detection/core.py @@ -38,6 +38,7 @@ VLM, from_florence_2, from_google_gemini, + from_google_gemini_2_5, from_paligemma, from_qwen_2_5_vl, validate_vlm_parameters, @@ -1034,16 +1035,16 @@ def from_vlm( return cls(xyxy=xyxy, mask=mask, data=data) - if ( - vlm == VLM.GOOGLE_GEMINI_2_0 - or vlm == VLM.GOOGLE_GEMINI_2_5 - or vlm == VLM.GOOGLE_GEMINI_2_5_FLASH_PREVIEW - or vlm == VLM.GOOGLE_GEMINI_2_5_PRO_PREVIEW - ): + if vlm == VLM.GOOGLE_GEMINI_2_0: xyxy, class_name = from_google_gemini(result, **kwargs) data = {CLASS_NAME_DATA_FIELD: class_name} return cls(xyxy=xyxy, data=data) + if vlm == VLM.GOOGLE_GEMINI_2_5: + xyxy, class_id, class_name, mask = from_google_gemini_2_5(result, **kwargs) + data = {CLASS_NAME_DATA_FIELD: class_name} + return cls(xyxy=xyxy, class_id=class_id, mask=mask, data=data) + return cls.empty() @classmethod From 409ff28200e8560c0a473d23ec6e71606101cfa7 Mon Sep 17 00:00:00 2001 From: Onuralp SEZER Date: Thu, 10 Jul 2025 20:21:41 +0300 Subject: [PATCH 280/420] =?UTF-8?q?feat:=20=F0=9F=9A=80=20add=20initial=20?= =?UTF-8?q?support=20for=20Moondream=20in=20VLM=20enum=20and=20implement?= =?UTF-8?q?=20from=5Fmoondream=20function=20for=20sv.Detections?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Onuralp SEZER --- supervision/detection/vlm.py | 79 ++++++++++++++++++++++++++++++++++++ 1 file changed, 79 insertions(+) diff --git a/supervision/detection/vlm.py b/supervision/detection/vlm.py index 0f254868f9..e1077eb9c9 100644 --- a/supervision/detection/vlm.py +++ b/supervision/detection/vlm.py @@ -31,6 +31,7 @@ class VLM(Enum): QWEN_2_5_VL = "qwen_2_5_vl" GOOGLE_GEMINI_2_0 = "gemini_2_0" GOOGLE_GEMINI_2_5 = "gemini_2_5" + MOONDREAM = "moondream" RESULT_TYPES: Dict[VLM, type] = { @@ -39,6 +40,7 @@ class VLM(Enum): VLM.QWEN_2_5_VL: str, VLM.GOOGLE_GEMINI_2_0: str, VLM.GOOGLE_GEMINI_2_5: str, + VLM.MOONDREAM: dict, } REQUIRED_ARGUMENTS: Dict[VLM, List[str]] = { @@ -47,6 +49,7 @@ class VLM(Enum): VLM.QWEN_2_5_VL: ["input_wh", "resolution_wh"], VLM.GOOGLE_GEMINI_2_0: ["resolution_wh"], VLM.GOOGLE_GEMINI_2_5: ["resolution_wh"], + VLM.MOONDREAM: ["resolution_wh"], } ALLOWED_ARGUMENTS: Dict[VLM, List[str]] = { @@ -55,6 +58,7 @@ class VLM(Enum): VLM.QWEN_2_5_VL: ["input_wh", "resolution_wh", "classes"], VLM.GOOGLE_GEMINI_2_0: ["resolution_wh"], VLM.GOOGLE_GEMINI_2_5: ["resolution_wh"], + VLM.MOONDREAM: ["resolution_wh", "classes"], } SUPPORTED_TASKS_FLORENCE_2 = [ @@ -406,3 +410,78 @@ def from_google_gemini( return np.empty((0, 4)), np.empty((0,), dtype=str) return np.array(xyxy), np.array(labels) + + +def from_moondream( + result: dict, + resolution_wh: Tuple[int, int], + classes: Optional[List[str]] = None, +) -> Tuple[np.ndarray, Optional[np.ndarray], np.ndarray]: + """ + Parse and scale bounding boxes from moondream JSON output. + + The JSON is expected to have a key "objects" with a list of dictionaries: + { + "objects": [ + {"x_min": 0.1, "y_min": 0.2, "x_max": 0.3, "y_max": 0.4, "label": "some class name"}, + ... + ] + } + + Args: + result: Dictionary containing the JSON output from the model. + resolution_wh: (output_width, output_height) to which we rescale the boxes. + classes: Optional list of valid class names. If provided, returned boxes/labels + are filtered to only those classes found here. + + Returns: + xyxy (np.ndarray): An array of shape `(n, 4)` containing + the bounding boxes coordinates in format `[x1, y1, x2, y2]` + class_id (Optional[np.ndarray]): An array of shape `(n,)` containing + the class indices for each bounding box (or None if `classes` is not + provided) + class_name (np.ndarray): An array of shape `(n,)` containing + the class labels for each bounding box + """ + w, h = resolution_wh + if w <= 0 or h <= 0: + raise ValueError( + f"Both dimensions in resolution_wh must be positive. Got ({w}, {h})." + ) + + if "objects" not in result or not isinstance(result["objects"], list): + return np.empty((0, 4)), None, np.empty((0,), dtype=str) + + boxes_list = [] + labels_list = [] + + for item in result["objects"]: + if not all(k in item for k in ["x_min", "y_min", "x_max", "y_max", "label"]): + continue + + x_min = item["x_min"] + y_min = item["y_min"] + x_max = item["x_max"] + y_max = item["y_max"] + + boxes_list.append([x_min, y_min, x_max, y_max]) + labels_list.append(item["label"]) + + if not boxes_list: + return np.empty((0, 4)), None, np.empty((0,), dtype=str) + + xyxy = np.array(boxes_list, dtype=float) + class_name = np.array(labels_list, dtype=str) + + # Moondream boxes are normalized, so we scale them + xyxy = xyxy * np.array([w, h, w, h]) + + class_id = None + + if classes is not None: + mask = np.array([label in classes for label in class_name], dtype=bool) + xyxy = xyxy[mask] + class_name = class_name[mask] + class_id = np.array([classes.index(label) for label in class_name], dtype=int) + + return xyxy, class_id, class_name From 72bff07498adb55815f0ad855f2050dcef5be179 Mon Sep 17 00:00:00 2001 From: Onuralp SEZER Date: Thu, 10 Jul 2025 20:29:41 +0300 Subject: [PATCH 281/420] =?UTF-8?q?fix:=20=F0=9F=93=9D=20update=20docstrin?= =?UTF-8?q?g=20for=20from=5Fmoondream=20function=20to=20comply=20with=20st?= =?UTF-8?q?yle=20guide?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- supervision/detection/vlm.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/supervision/detection/vlm.py b/supervision/detection/vlm.py index e1077eb9c9..94e681c52a 100644 --- a/supervision/detection/vlm.py +++ b/supervision/detection/vlm.py @@ -442,7 +442,7 @@ def from_moondream( provided) class_name (np.ndarray): An array of shape `(n,)` containing the class labels for each bounding box - """ + """ # noqa: E501 #docs w, h = resolution_wh if w <= 0 or h <= 0: raise ValueError( From 9855927597864908f61f6a4dfe8c9a128a8b594c Mon Sep 17 00:00:00 2001 From: Onuralp SEZER Date: Thu, 10 Jul 2025 20:32:50 +0300 Subject: [PATCH 282/420] =?UTF-8?q?feat:=20=F0=9F=9A=80=20add=20support=20?= =?UTF-8?q?for=20Moondream=20in=20Detections=20class?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Onuralp SEZER --- supervision/detection/core.py | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/supervision/detection/core.py b/supervision/detection/core.py index af91dc5deb..bb3995753a 100644 --- a/supervision/detection/core.py +++ b/supervision/detection/core.py @@ -38,6 +38,7 @@ VLM, from_florence_2, from_google_gemini, + from_moondream, from_paligemma, from_qwen_2_5_vl, validate_vlm_parameters, @@ -1047,6 +1048,11 @@ def from_vlm( data = {CLASS_NAME_DATA_FIELD: class_name} return cls(xyxy=xyxy, data=data) + if vlm == VLM.MOONDREAM: + xyxy, class_id, class_name = from_moondream(result, **kwargs) + data = {CLASS_NAME_DATA_FIELD: class_name} + return cls(xyxy=xyxy, class_id=class_id, data=data) + return cls.empty() @classmethod From 413db5a1e54102de589106c058a01348bfafe859 Mon Sep 17 00:00:00 2001 From: James <37276661+capjamesg@users.noreply.github.com> Date: Thu, 10 Jul 2025 18:39:38 +0100 Subject: [PATCH 283/420] fix broken page --- docs/detection/utils.md | 1 + 1 file changed, 1 insertion(+) diff --git a/docs/detection/utils.md b/docs/detection/utils.md index a8e9d696cb..7acf3c1ec9 100644 --- a/docs/detection/utils.md +++ b/docs/detection/utils.md @@ -107,6 +107,7 @@ status: new :::supervision.detection.utils.denormalize_boxes + From 300426ed41074dafdf40e7a029e0c6b393370e37 Mon Sep 17 00:00:00 2001 From: Onuralp SEZER Date: Thu, 10 Jul 2025 21:03:42 +0300 Subject: [PATCH 284/420] =?UTF-8?q?fix:=20=F0=9F=93=9D=20remove=20deprecat?= =?UTF-8?q?ed=20Google=20Gemini=20flash=20preview=20support=20from=20Detec?= =?UTF-8?q?tions=20class?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- supervision/detection/core.py | 5 ----- 1 file changed, 5 deletions(-) diff --git a/supervision/detection/core.py b/supervision/detection/core.py index bb3995753a..9ecd4b7e58 100644 --- a/supervision/detection/core.py +++ b/supervision/detection/core.py @@ -900,10 +900,7 @@ def from_lmm( LMM.FLORENCE_2: VLM.FLORENCE_2, LMM.QWEN_2_5_VL: VLM.QWEN_2_5_VL, LMM.GOOGLE_GEMINI_2_0: VLM.GOOGLE_GEMINI_2_0, - LMM.GOOGLE_GEMINI_2_0_FLASH: VLM.GOOGLE_GEMINI_2_0_FLASH, LMM.GOOGLE_GEMINI_2_5: VLM.GOOGLE_GEMINI_2_5, - LMM.GOOGLE_GEMINI_2_5_FLASH_PREVIEW: VLM.GOOGLE_GEMINI_2_5_FLASH_PREVIEW, - LMM.GOOGLE_GEMINI_2_5_PRO_PREVIEW: VLM.GOOGLE_GEMINI_2_5_PRO_PREVIEW, } # (this works even if the LMM enum is wrapped by @deprecated) @@ -1041,8 +1038,6 @@ def from_vlm( if ( vlm == VLM.GOOGLE_GEMINI_2_0 or vlm == VLM.GOOGLE_GEMINI_2_5 - or vlm == VLM.GOOGLE_GEMINI_2_5_FLASH_PREVIEW - or vlm == VLM.GOOGLE_GEMINI_2_5_PRO_PREVIEW ): xyxy, class_name = from_google_gemini(result, **kwargs) data = {CLASS_NAME_DATA_FIELD: class_name} From 399d2efa59113b6ffd0d27299802a7efc8471317 Mon Sep 17 00:00:00 2001 From: Onuralp SEZER Date: Thu, 10 Jul 2025 22:50:31 +0300 Subject: [PATCH 285/420] =?UTF-8?q?fix:=20=20=F0=9F=90=9E=20update=20from?= =?UTF-8?q?=5Fmoondream=20function=20to=20remove=20label=20requirement=20a?= =?UTF-8?q?nd=20improve=20box=20denormalization?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- supervision/detection/core.py | 5 +- supervision/detection/vlm.py | 58 +- uv.lock | 4504 ++++++++++++++++----------------- 3 files changed, 2282 insertions(+), 2285 deletions(-) diff --git a/supervision/detection/core.py b/supervision/detection/core.py index 9ecd4b7e58..8094130e33 100644 --- a/supervision/detection/core.py +++ b/supervision/detection/core.py @@ -1035,10 +1035,7 @@ def from_vlm( return cls(xyxy=xyxy, mask=mask, data=data) - if ( - vlm == VLM.GOOGLE_GEMINI_2_0 - or vlm == VLM.GOOGLE_GEMINI_2_5 - ): + if vlm == VLM.GOOGLE_GEMINI_2_0 or vlm == VLM.GOOGLE_GEMINI_2_5: xyxy, class_name = from_google_gemini(result, **kwargs) data = {CLASS_NAME_DATA_FIELD: class_name} return cls(xyxy=xyxy, data=data) diff --git a/supervision/detection/vlm.py b/supervision/detection/vlm.py index 94e681c52a..26deb02015 100644 --- a/supervision/detection/vlm.py +++ b/supervision/detection/vlm.py @@ -58,7 +58,7 @@ class VLM(Enum): VLM.QWEN_2_5_VL: ["input_wh", "resolution_wh", "classes"], VLM.GOOGLE_GEMINI_2_0: ["resolution_wh"], VLM.GOOGLE_GEMINI_2_5: ["resolution_wh"], - VLM.MOONDREAM: ["resolution_wh", "classes"], + VLM.MOONDREAM: ["resolution_wh"], } SUPPORTED_TASKS_FLORENCE_2 = [ @@ -415,24 +415,30 @@ def from_google_gemini( def from_moondream( result: dict, resolution_wh: Tuple[int, int], - classes: Optional[List[str]] = None, -) -> Tuple[np.ndarray, Optional[np.ndarray], np.ndarray]: +) -> Tuple[np.ndarray, np.ndarray]: """ Parse and scale bounding boxes from moondream JSON output. The JSON is expected to have a key "objects" with a list of dictionaries: { "objects": [ - {"x_min": 0.1, "y_min": 0.2, "x_max": 0.3, "y_max": 0.4, "label": "some class name"}, + {"x_min": 0.1, "y_min": 0.2, "x_max": 0.3, "y_max": 0.4}, ... ] } + For Example: + { + "objects": [ + {"x_min": 0.1, "y_min": 0.2, "x_max": 0.3, "y_max": 0.4, "label": "cat"}, + {"x_min": 0.5, "y_min": 0.6, "x_max": 0.7, "y_max": 0.8, "label": "dog"} + ] + } + + Args: result: Dictionary containing the JSON output from the model. resolution_wh: (output_width, output_height) to which we rescale the boxes. - classes: Optional list of valid class names. If provided, returned boxes/labels - are filtered to only those classes found here. Returns: xyxy (np.ndarray): An array of shape `(n, 4)` containing @@ -442,7 +448,8 @@ def from_moondream( provided) class_name (np.ndarray): An array of shape `(n,)` containing the class labels for each bounding box - """ # noqa: E501 #docs + """ # docs + w, h = resolution_wh if w <= 0 or h <= 0: raise ValueError( @@ -450,13 +457,12 @@ def from_moondream( ) if "objects" not in result or not isinstance(result["objects"], list): - return np.empty((0, 4)), None, np.empty((0,), dtype=str) + return np.empty((0, 4)), np.empty((0,), dtype=int) - boxes_list = [] - labels_list = [] + denormalize_xyxy = [] for item in result["objects"]: - if not all(k in item for k in ["x_min", "y_min", "x_max", "y_max", "label"]): + if not all(k in item for k in ["x_min", "y_min", "x_max", "y_max"]): continue x_min = item["x_min"] @@ -464,24 +470,18 @@ def from_moondream( x_max = item["x_max"] y_max = item["y_max"] - boxes_list.append([x_min, y_min, x_max, y_max]) - labels_list.append(item["label"]) - - if not boxes_list: - return np.empty((0, 4)), None, np.empty((0,), dtype=str) - - xyxy = np.array(boxes_list, dtype=float) - class_name = np.array(labels_list, dtype=str) - - # Moondream boxes are normalized, so we scale them - xyxy = xyxy * np.array([w, h, w, h]) + denormalize_xyxy.append( + denormalize_boxes( + np.array([x_min, y_min, x_max, y_max]).astype(np.float64), + resolution_wh=(w, h), + ) + ) - class_id = None + if not denormalize_xyxy: + return np.empty((0, 4)), np.empty((0,), dtype=int) - if classes is not None: - mask = np.array([label in classes for label in class_name], dtype=bool) - xyxy = xyxy[mask] - class_name = class_name[mask] - class_id = np.array([classes.index(label) for label in class_name], dtype=int) + xyxy = np.array(denormalize_xyxy, dtype=float) + num_detections = len(xyxy) + class_id = np.arange(num_detections) - return xyxy, class_id, class_name + return xyxy, class_id diff --git a/uv.lock b/uv.lock index b20a6f2e39..d6d71225bb 100644 --- a/uv.lock +++ b/uv.lock @@ -1,5 +1,5 @@ version = 1 -revision = 1 +revision = 2 requires-python = ">=3.8" resolution-markers = [ "python_full_version >= '3.12' and sys_platform == 'darwin'", @@ -34,9 +34,9 @@ dependencies = [ { name = "sniffio", marker = "python_full_version < '3.9'" }, { name = "typing-extensions", marker = "python_full_version < '3.9'" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/4d/f9/9a7ce600ebe7804daf90d4d48b1c0510a4561ddce43a596be46676f82343/anyio-4.5.2.tar.gz", hash = "sha256:23009af4ed04ce05991845451e11ef02fc7c5ed29179ac9a420e5ad0ac7ddc5b", size = 171293 } +sdist = { url = "https://files.pythonhosted.org/packages/4d/f9/9a7ce600ebe7804daf90d4d48b1c0510a4561ddce43a596be46676f82343/anyio-4.5.2.tar.gz", hash = "sha256:23009af4ed04ce05991845451e11ef02fc7c5ed29179ac9a420e5ad0ac7ddc5b", size = 171293, upload-time = "2024-10-13T22:18:03.307Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/1b/b4/f7e396030e3b11394436358ca258a81d6010106582422f23443c16ca1873/anyio-4.5.2-py3-none-any.whl", hash = "sha256:c011ee36bc1e8ba40e5a81cb9df91925c218fe9b778554e0b56a21e1b5d4716f", size = 89766 }, + { url = "https://files.pythonhosted.org/packages/1b/b4/f7e396030e3b11394436358ca258a81d6010106582422f23443c16ca1873/anyio-4.5.2-py3-none-any.whl", hash = "sha256:c011ee36bc1e8ba40e5a81cb9df91925c218fe9b778554e0b56a21e1b5d4716f", size = 89766, upload-time = "2024-10-13T22:18:01.524Z" }, ] [[package]] @@ -63,18 +63,18 @@ dependencies = [ { name = "sniffio", marker = "python_full_version >= '3.9'" }, { name = "typing-extensions", marker = "python_full_version >= '3.9' and python_full_version < '3.13'" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/a3/73/199a98fc2dae33535d6b8e8e6ec01f8c1d76c9adb096c6b7d64823038cde/anyio-4.8.0.tar.gz", hash = "sha256:1d9fe889df5212298c0c0723fa20479d1b94883a2df44bd3897aa91083316f7a", size = 181126 } +sdist = { url = "https://files.pythonhosted.org/packages/a3/73/199a98fc2dae33535d6b8e8e6ec01f8c1d76c9adb096c6b7d64823038cde/anyio-4.8.0.tar.gz", hash = "sha256:1d9fe889df5212298c0c0723fa20479d1b94883a2df44bd3897aa91083316f7a", size = 181126, upload-time = "2025-01-05T13:13:11.095Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/46/eb/e7f063ad1fec6b3178a3cd82d1a3c4de82cccf283fc42746168188e1cdd5/anyio-4.8.0-py3-none-any.whl", hash = "sha256:b5011f270ab5eb0abf13385f851315585cc37ef330dd88e27ec3d34d651fd47a", size = 96041 }, + { url = "https://files.pythonhosted.org/packages/46/eb/e7f063ad1fec6b3178a3cd82d1a3c4de82cccf283fc42746168188e1cdd5/anyio-4.8.0-py3-none-any.whl", hash = "sha256:b5011f270ab5eb0abf13385f851315585cc37ef330dd88e27ec3d34d651fd47a", size = 96041, upload-time = "2025-01-05T13:13:07.985Z" }, ] [[package]] name = "appnope" version = "0.1.4" source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/35/5d/752690df9ef5b76e169e68d6a129fa6d08a7100ca7f754c89495db3c6019/appnope-0.1.4.tar.gz", hash = "sha256:1de3860566df9caf38f01f86f65e0e13e379af54f9e4bee1e66b48f2efffd1ee", size = 4170 } +sdist = { url = "https://files.pythonhosted.org/packages/35/5d/752690df9ef5b76e169e68d6a129fa6d08a7100ca7f754c89495db3c6019/appnope-0.1.4.tar.gz", hash = "sha256:1de3860566df9caf38f01f86f65e0e13e379af54f9e4bee1e66b48f2efffd1ee", size = 4170, upload-time = "2024-02-06T09:43:11.258Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/81/29/5ecc3a15d5a33e31b26c11426c45c501e439cb865d0bff96315d86443b78/appnope-0.1.4-py2.py3-none-any.whl", hash = "sha256:502575ee11cd7a28c0205f379b525beefebab9d161b7c964670864014ed7213c", size = 4321 }, + { url = "https://files.pythonhosted.org/packages/81/29/5ecc3a15d5a33e31b26c11426c45c501e439cb865d0bff96315d86443b78/appnope-0.1.4-py2.py3-none-any.whl", hash = "sha256:502575ee11cd7a28c0205f379b525beefebab9d161b7c964670864014ed7213c", size = 4321, upload-time = "2024-02-06T09:43:09.663Z" }, ] [[package]] @@ -84,9 +84,9 @@ source = { registry = "https://pypi.org/simple" } dependencies = [ { name = "argon2-cffi-bindings" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/31/fa/57ec2c6d16ecd2ba0cf15f3c7d1c3c2e7b5fcb83555ff56d7ab10888ec8f/argon2_cffi-23.1.0.tar.gz", hash = "sha256:879c3e79a2729ce768ebb7d36d4609e3a78a4ca2ec3a9f12286ca057e3d0db08", size = 42798 } +sdist = { url = "https://files.pythonhosted.org/packages/31/fa/57ec2c6d16ecd2ba0cf15f3c7d1c3c2e7b5fcb83555ff56d7ab10888ec8f/argon2_cffi-23.1.0.tar.gz", hash = "sha256:879c3e79a2729ce768ebb7d36d4609e3a78a4ca2ec3a9f12286ca057e3d0db08", size = 42798, upload-time = "2023-08-15T14:13:12.711Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/a4/6a/e8a041599e78b6b3752da48000b14c8d1e8a04ded09c88c714ba047f34f5/argon2_cffi-23.1.0-py3-none-any.whl", hash = "sha256:c670642b78ba29641818ab2e68bd4e6a78ba53b7eff7b4c3815ae16abf91c7ea", size = 15124 }, + { url = "https://files.pythonhosted.org/packages/a4/6a/e8a041599e78b6b3752da48000b14c8d1e8a04ded09c88c714ba047f34f5/argon2_cffi-23.1.0-py3-none-any.whl", hash = "sha256:c670642b78ba29641818ab2e68bd4e6a78ba53b7eff7b4c3815ae16abf91c7ea", size = 15124, upload-time = "2023-08-15T14:13:10.752Z" }, ] [[package]] @@ -96,23 +96,23 @@ source = { registry = "https://pypi.org/simple" } dependencies = [ { name = "cffi" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/b9/e9/184b8ccce6683b0aa2fbb7ba5683ea4b9c5763f1356347f1312c32e3c66e/argon2-cffi-bindings-21.2.0.tar.gz", hash = "sha256:bb89ceffa6c791807d1305ceb77dbfacc5aa499891d2c55661c6459651fc39e3", size = 1779911 } +sdist = { url = "https://files.pythonhosted.org/packages/b9/e9/184b8ccce6683b0aa2fbb7ba5683ea4b9c5763f1356347f1312c32e3c66e/argon2-cffi-bindings-21.2.0.tar.gz", hash = "sha256:bb89ceffa6c791807d1305ceb77dbfacc5aa499891d2c55661c6459651fc39e3", size = 1779911, upload-time = "2021-12-01T08:52:55.68Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/d4/13/838ce2620025e9666aa8f686431f67a29052241692a3dd1ae9d3692a89d3/argon2_cffi_bindings-21.2.0-cp36-abi3-macosx_10_9_x86_64.whl", hash = "sha256:ccb949252cb2ab3a08c02024acb77cfb179492d5701c7cbdbfd776124d4d2367", size = 29658 }, - { url = "https://files.pythonhosted.org/packages/b3/02/f7f7bb6b6af6031edb11037639c697b912e1dea2db94d436e681aea2f495/argon2_cffi_bindings-21.2.0-cp36-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:9524464572e12979364b7d600abf96181d3541da11e23ddf565a32e70bd4dc0d", size = 80583 }, - { url = "https://files.pythonhosted.org/packages/ec/f7/378254e6dd7ae6f31fe40c8649eea7d4832a42243acaf0f1fff9083b2bed/argon2_cffi_bindings-21.2.0-cp36-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:b746dba803a79238e925d9046a63aa26bf86ab2a2fe74ce6b009a1c3f5c8f2ae", size = 86168 }, - { url = "https://files.pythonhosted.org/packages/74/f6/4a34a37a98311ed73bb80efe422fed95f2ac25a4cacc5ae1d7ae6a144505/argon2_cffi_bindings-21.2.0-cp36-abi3-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:58ed19212051f49a523abb1dbe954337dc82d947fb6e5a0da60f7c8471a8476c", size = 82709 }, - { url = "https://files.pythonhosted.org/packages/74/2b/73d767bfdaab25484f7e7901379d5f8793cccbb86c6e0cbc4c1b96f63896/argon2_cffi_bindings-21.2.0-cp36-abi3-musllinux_1_1_aarch64.whl", hash = "sha256:bd46088725ef7f58b5a1ef7ca06647ebaf0eb4baff7d1d0d177c6cc8744abd86", size = 83613 }, - { url = "https://files.pythonhosted.org/packages/4f/fd/37f86deef67ff57c76f137a67181949c2d408077e2e3dd70c6c42912c9bf/argon2_cffi_bindings-21.2.0-cp36-abi3-musllinux_1_1_i686.whl", hash = "sha256:8cd69c07dd875537a824deec19f978e0f2078fdda07fd5c42ac29668dda5f40f", size = 84583 }, - { url = "https://files.pythonhosted.org/packages/6f/52/5a60085a3dae8fded8327a4f564223029f5f54b0cb0455a31131b5363a01/argon2_cffi_bindings-21.2.0-cp36-abi3-musllinux_1_1_x86_64.whl", hash = "sha256:f1152ac548bd5b8bcecfb0b0371f082037e47128653df2e8ba6e914d384f3c3e", size = 88475 }, - { url = "https://files.pythonhosted.org/packages/8b/95/143cd64feb24a15fa4b189a3e1e7efbaeeb00f39a51e99b26fc62fbacabd/argon2_cffi_bindings-21.2.0-cp36-abi3-win32.whl", hash = "sha256:603ca0aba86b1349b147cab91ae970c63118a0f30444d4bc80355937c950c082", size = 27698 }, - { url = "https://files.pythonhosted.org/packages/37/2c/e34e47c7dee97ba6f01a6203e0383e15b60fb85d78ac9a15cd066f6fe28b/argon2_cffi_bindings-21.2.0-cp36-abi3-win_amd64.whl", hash = "sha256:b2ef1c30440dbbcba7a5dc3e319408b59676e2e039e2ae11a8775ecf482b192f", size = 30817 }, - { url = "https://files.pythonhosted.org/packages/5a/e4/bf8034d25edaa495da3c8a3405627d2e35758e44ff6eaa7948092646fdcc/argon2_cffi_bindings-21.2.0-cp38-abi3-macosx_10_9_universal2.whl", hash = "sha256:e415e3f62c8d124ee16018e491a009937f8cf7ebf5eb430ffc5de21b900dad93", size = 53104 }, - { url = "https://files.pythonhosted.org/packages/34/da/d105a3235ae86c1c1a80c1e9c46953e6e53cc8c4c61fb3c5ac8a39bbca48/argon2_cffi_bindings-21.2.0-pp38-pypy38_pp73-macosx_10_9_x86_64.whl", hash = "sha256:3b9ef65804859d335dc6b31582cad2c5166f0c3e7975f324d9ffaa34ee7e6583", size = 23689 }, - { url = "https://files.pythonhosted.org/packages/43/f3/20bc53a6e50471dfea16a63dc9b69d2a9ec78fd2b9532cc25f8317e121d9/argon2_cffi_bindings-21.2.0-pp38-pypy38_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d4966ef5848d820776f5f562a7d45fdd70c2f330c961d0d745b784034bd9f48d", size = 28122 }, - { url = "https://files.pythonhosted.org/packages/2e/f1/48888db30b6a4a0c78ab7bc7444058a1135b223b6a2a5f2ac7d6780e7443/argon2_cffi_bindings-21.2.0-pp38-pypy38_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:20ef543a89dee4db46a1a6e206cd015360e5a75822f76df533845c3cbaf72670", size = 27882 }, - { url = "https://files.pythonhosted.org/packages/ee/0f/a2260a207f21ce2ff4cad00a417c31597f08eafb547e00615bcbf403d8ea/argon2_cffi_bindings-21.2.0-pp38-pypy38_pp73-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:ed2937d286e2ad0cc79a7087d3c272832865f779430e0cc2b4f3718d3159b0cb", size = 30745 }, - { url = "https://files.pythonhosted.org/packages/ed/55/f8ba268bc9005d0ca57a862e8f1b55bf1775e97a36bd30b0a8fb568c265c/argon2_cffi_bindings-21.2.0-pp38-pypy38_pp73-win_amd64.whl", hash = "sha256:5e00316dabdaea0b2dd82d141cc66889ced0cdcbfa599e8b471cf22c620c329a", size = 28587 }, + { url = "https://files.pythonhosted.org/packages/d4/13/838ce2620025e9666aa8f686431f67a29052241692a3dd1ae9d3692a89d3/argon2_cffi_bindings-21.2.0-cp36-abi3-macosx_10_9_x86_64.whl", hash = "sha256:ccb949252cb2ab3a08c02024acb77cfb179492d5701c7cbdbfd776124d4d2367", size = 29658, upload-time = "2021-12-01T09:09:17.016Z" }, + { url = "https://files.pythonhosted.org/packages/b3/02/f7f7bb6b6af6031edb11037639c697b912e1dea2db94d436e681aea2f495/argon2_cffi_bindings-21.2.0-cp36-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:9524464572e12979364b7d600abf96181d3541da11e23ddf565a32e70bd4dc0d", size = 80583, upload-time = "2021-12-01T09:09:19.546Z" }, + { url = "https://files.pythonhosted.org/packages/ec/f7/378254e6dd7ae6f31fe40c8649eea7d4832a42243acaf0f1fff9083b2bed/argon2_cffi_bindings-21.2.0-cp36-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:b746dba803a79238e925d9046a63aa26bf86ab2a2fe74ce6b009a1c3f5c8f2ae", size = 86168, upload-time = "2021-12-01T09:09:21.445Z" }, + { url = "https://files.pythonhosted.org/packages/74/f6/4a34a37a98311ed73bb80efe422fed95f2ac25a4cacc5ae1d7ae6a144505/argon2_cffi_bindings-21.2.0-cp36-abi3-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:58ed19212051f49a523abb1dbe954337dc82d947fb6e5a0da60f7c8471a8476c", size = 82709, upload-time = "2021-12-01T09:09:18.182Z" }, + { url = "https://files.pythonhosted.org/packages/74/2b/73d767bfdaab25484f7e7901379d5f8793cccbb86c6e0cbc4c1b96f63896/argon2_cffi_bindings-21.2.0-cp36-abi3-musllinux_1_1_aarch64.whl", hash = "sha256:bd46088725ef7f58b5a1ef7ca06647ebaf0eb4baff7d1d0d177c6cc8744abd86", size = 83613, upload-time = "2021-12-01T09:09:22.741Z" }, + { url = "https://files.pythonhosted.org/packages/4f/fd/37f86deef67ff57c76f137a67181949c2d408077e2e3dd70c6c42912c9bf/argon2_cffi_bindings-21.2.0-cp36-abi3-musllinux_1_1_i686.whl", hash = "sha256:8cd69c07dd875537a824deec19f978e0f2078fdda07fd5c42ac29668dda5f40f", size = 84583, upload-time = "2021-12-01T09:09:24.177Z" }, + { url = "https://files.pythonhosted.org/packages/6f/52/5a60085a3dae8fded8327a4f564223029f5f54b0cb0455a31131b5363a01/argon2_cffi_bindings-21.2.0-cp36-abi3-musllinux_1_1_x86_64.whl", hash = "sha256:f1152ac548bd5b8bcecfb0b0371f082037e47128653df2e8ba6e914d384f3c3e", size = 88475, upload-time = "2021-12-01T09:09:26.673Z" }, + { url = "https://files.pythonhosted.org/packages/8b/95/143cd64feb24a15fa4b189a3e1e7efbaeeb00f39a51e99b26fc62fbacabd/argon2_cffi_bindings-21.2.0-cp36-abi3-win32.whl", hash = "sha256:603ca0aba86b1349b147cab91ae970c63118a0f30444d4bc80355937c950c082", size = 27698, upload-time = "2021-12-01T09:09:27.87Z" }, + { url = "https://files.pythonhosted.org/packages/37/2c/e34e47c7dee97ba6f01a6203e0383e15b60fb85d78ac9a15cd066f6fe28b/argon2_cffi_bindings-21.2.0-cp36-abi3-win_amd64.whl", hash = "sha256:b2ef1c30440dbbcba7a5dc3e319408b59676e2e039e2ae11a8775ecf482b192f", size = 30817, upload-time = "2021-12-01T09:09:30.267Z" }, + { url = "https://files.pythonhosted.org/packages/5a/e4/bf8034d25edaa495da3c8a3405627d2e35758e44ff6eaa7948092646fdcc/argon2_cffi_bindings-21.2.0-cp38-abi3-macosx_10_9_universal2.whl", hash = "sha256:e415e3f62c8d124ee16018e491a009937f8cf7ebf5eb430ffc5de21b900dad93", size = 53104, upload-time = "2021-12-01T09:09:31.335Z" }, + { url = "https://files.pythonhosted.org/packages/34/da/d105a3235ae86c1c1a80c1e9c46953e6e53cc8c4c61fb3c5ac8a39bbca48/argon2_cffi_bindings-21.2.0-pp38-pypy38_pp73-macosx_10_9_x86_64.whl", hash = "sha256:3b9ef65804859d335dc6b31582cad2c5166f0c3e7975f324d9ffaa34ee7e6583", size = 23689, upload-time = "2021-12-01T09:09:40.511Z" }, + { url = "https://files.pythonhosted.org/packages/43/f3/20bc53a6e50471dfea16a63dc9b69d2a9ec78fd2b9532cc25f8317e121d9/argon2_cffi_bindings-21.2.0-pp38-pypy38_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d4966ef5848d820776f5f562a7d45fdd70c2f330c961d0d745b784034bd9f48d", size = 28122, upload-time = "2021-12-01T09:09:42.818Z" }, + { url = "https://files.pythonhosted.org/packages/2e/f1/48888db30b6a4a0c78ab7bc7444058a1135b223b6a2a5f2ac7d6780e7443/argon2_cffi_bindings-21.2.0-pp38-pypy38_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:20ef543a89dee4db46a1a6e206cd015360e5a75822f76df533845c3cbaf72670", size = 27882, upload-time = "2021-12-01T09:09:43.93Z" }, + { url = "https://files.pythonhosted.org/packages/ee/0f/a2260a207f21ce2ff4cad00a417c31597f08eafb547e00615bcbf403d8ea/argon2_cffi_bindings-21.2.0-pp38-pypy38_pp73-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:ed2937d286e2ad0cc79a7087d3c272832865f779430e0cc2b4f3718d3159b0cb", size = 30745, upload-time = "2021-12-01T09:09:41.73Z" }, + { url = "https://files.pythonhosted.org/packages/ed/55/f8ba268bc9005d0ca57a862e8f1b55bf1775e97a36bd30b0a8fb568c265c/argon2_cffi_bindings-21.2.0-pp38-pypy38_pp73-win_amd64.whl", hash = "sha256:5e00316dabdaea0b2dd82d141cc66889ced0cdcbfa599e8b471cf22c620c329a", size = 28587, upload-time = "2021-12-01T09:09:45.508Z" }, ] [[package]] @@ -123,18 +123,18 @@ dependencies = [ { name = "python-dateutil" }, { name = "types-python-dateutil" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/2e/00/0f6e8fcdb23ea632c866620cc872729ff43ed91d284c866b515c6342b173/arrow-1.3.0.tar.gz", hash = "sha256:d4540617648cb5f895730f1ad8c82a65f2dad0166f57b75f3ca54759c4d67a85", size = 131960 } +sdist = { url = "https://files.pythonhosted.org/packages/2e/00/0f6e8fcdb23ea632c866620cc872729ff43ed91d284c866b515c6342b173/arrow-1.3.0.tar.gz", hash = "sha256:d4540617648cb5f895730f1ad8c82a65f2dad0166f57b75f3ca54759c4d67a85", size = 131960, upload-time = "2023-09-30T22:11:18.25Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/f8/ed/e97229a566617f2ae958a6b13e7cc0f585470eac730a73e9e82c32a3cdd2/arrow-1.3.0-py3-none-any.whl", hash = "sha256:c728b120ebc00eb84e01882a6f5e7927a53960aa990ce7dd2b10f39005a67f80", size = 66419 }, + { url = "https://files.pythonhosted.org/packages/f8/ed/e97229a566617f2ae958a6b13e7cc0f585470eac730a73e9e82c32a3cdd2/arrow-1.3.0-py3-none-any.whl", hash = "sha256:c728b120ebc00eb84e01882a6f5e7927a53960aa990ce7dd2b10f39005a67f80", size = 66419, upload-time = "2023-09-30T22:11:16.072Z" }, ] [[package]] name = "asttokens" version = "3.0.0" source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/4a/e7/82da0a03e7ba5141f05cce0d302e6eed121ae055e0456ca228bf693984bc/asttokens-3.0.0.tar.gz", hash = "sha256:0dcd8baa8d62b0c1d118b399b2ddba3c4aff271d0d7a9e0d4c1681c79035bbc7", size = 61978 } +sdist = { url = "https://files.pythonhosted.org/packages/4a/e7/82da0a03e7ba5141f05cce0d302e6eed121ae055e0456ca228bf693984bc/asttokens-3.0.0.tar.gz", hash = "sha256:0dcd8baa8d62b0c1d118b399b2ddba3c4aff271d0d7a9e0d4c1681c79035bbc7", size = 61978, upload-time = "2024-11-30T04:30:14.439Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/25/8a/c46dcc25341b5bce5472c718902eb3d38600a903b14fa6aeecef3f21a46f/asttokens-3.0.0-py3-none-any.whl", hash = "sha256:e3078351a059199dd5138cb1c706e6430c05eff2ff136af5eb4790f9d28932e2", size = 26918 }, + { url = "https://files.pythonhosted.org/packages/25/8a/c46dcc25341b5bce5472c718902eb3d38600a903b14fa6aeecef3f21a46f/asttokens-3.0.0-py3-none-any.whl", hash = "sha256:e3078351a059199dd5138cb1c706e6430c05eff2ff136af5eb4790f9d28932e2", size = 26918, upload-time = "2024-11-30T04:30:10.946Z" }, ] [[package]] @@ -145,9 +145,9 @@ dependencies = [ { name = "six", marker = "python_full_version < '3.9'" }, { name = "wheel", marker = "python_full_version < '3.9'" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/f3/af/4182184d3c338792894f34a62672919db7ca008c89abee9b564dd34d8029/astunparse-1.6.3.tar.gz", hash = "sha256:5ad93a8456f0d084c3456d059fd9a92cce667963232cbf763eac3bc5b7940872", size = 18290 } +sdist = { url = "https://files.pythonhosted.org/packages/f3/af/4182184d3c338792894f34a62672919db7ca008c89abee9b564dd34d8029/astunparse-1.6.3.tar.gz", hash = "sha256:5ad93a8456f0d084c3456d059fd9a92cce667963232cbf763eac3bc5b7940872", size = 18290, upload-time = "2019-12-22T18:12:13.129Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/2b/03/13dde6512ad7b4557eb792fbcf0c653af6076b81e5941d36ec61f7ce6028/astunparse-1.6.3-py2.py3-none-any.whl", hash = "sha256:c2652417f2c8b5bb325c885ae329bdf3f86424075c4fd1a128674bc6fba4b8e8", size = 12732 }, + { url = "https://files.pythonhosted.org/packages/2b/03/13dde6512ad7b4557eb792fbcf0c653af6076b81e5941d36ec61f7ce6028/astunparse-1.6.3-py2.py3-none-any.whl", hash = "sha256:c2652417f2c8b5bb325c885ae329bdf3f86424075c4fd1a128674bc6fba4b8e8", size = 12732, upload-time = "2019-12-22T18:12:11.297Z" }, ] [[package]] @@ -157,18 +157,18 @@ source = { registry = "https://pypi.org/simple" } dependencies = [ { name = "typing-extensions", marker = "python_full_version < '3.11'" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/80/e2/2b4651eff771f6fd900d233e175ddc5e2be502c7eb62c0c42f975c6d36cd/async-lru-2.0.4.tar.gz", hash = "sha256:b8a59a5df60805ff63220b2a0c5b5393da5521b113cd5465a44eb037d81a5627", size = 10019 } +sdist = { url = "https://files.pythonhosted.org/packages/80/e2/2b4651eff771f6fd900d233e175ddc5e2be502c7eb62c0c42f975c6d36cd/async-lru-2.0.4.tar.gz", hash = "sha256:b8a59a5df60805ff63220b2a0c5b5393da5521b113cd5465a44eb037d81a5627", size = 10019, upload-time = "2023-07-27T19:12:18.631Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/fa/9f/3c3503693386c4b0f245eaf5ca6198e3b28879ca0a40bde6b0e319793453/async_lru-2.0.4-py3-none-any.whl", hash = "sha256:ff02944ce3c288c5be660c42dbcca0742b32c3b279d6dceda655190240b99224", size = 6111 }, + { url = "https://files.pythonhosted.org/packages/fa/9f/3c3503693386c4b0f245eaf5ca6198e3b28879ca0a40bde6b0e319793453/async_lru-2.0.4-py3-none-any.whl", hash = "sha256:ff02944ce3c288c5be660c42dbcca0742b32c3b279d6dceda655190240b99224", size = 6111, upload-time = "2023-07-27T19:12:17.164Z" }, ] [[package]] name = "attrs" version = "25.1.0" source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/49/7c/fdf464bcc51d23881d110abd74b512a42b3d5d376a55a831b44c603ae17f/attrs-25.1.0.tar.gz", hash = "sha256:1c97078a80c814273a76b2a298a932eb681c87415c11dee0a6921de7f1b02c3e", size = 810562 } +sdist = { url = "https://files.pythonhosted.org/packages/49/7c/fdf464bcc51d23881d110abd74b512a42b3d5d376a55a831b44c603ae17f/attrs-25.1.0.tar.gz", hash = "sha256:1c97078a80c814273a76b2a298a932eb681c87415c11dee0a6921de7f1b02c3e", size = 810562, upload-time = "2025-01-25T11:30:12.508Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/fc/30/d4986a882011f9df997a55e6becd864812ccfcd821d64aac8570ee39f719/attrs-25.1.0-py3-none-any.whl", hash = "sha256:c75a69e28a550a7e93789579c22aa26b0f5b83b75dc4e08fe092980051e1090a", size = 63152 }, + { url = "https://files.pythonhosted.org/packages/fc/30/d4986a882011f9df997a55e6becd864812ccfcd821d64aac8570ee39f719/attrs-25.1.0-py3-none-any.whl", hash = "sha256:c75a69e28a550a7e93789579c22aa26b0f5b83b75dc4e08fe092980051e1090a", size = 63152, upload-time = "2025-01-25T11:30:10.164Z" }, ] [[package]] @@ -178,27 +178,27 @@ source = { registry = "https://pypi.org/simple" } dependencies = [ { name = "pytz", marker = "python_full_version < '3.9'" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/7d/6b/d52e42361e1aa00709585ecc30b3f9684b3ab62530771402248b1b1d6240/babel-2.17.0.tar.gz", hash = "sha256:0c54cffb19f690cdcc52a3b50bcbf71e07a808d1c80d549f2459b9d2cf0afb9d", size = 9951852 } +sdist = { url = "https://files.pythonhosted.org/packages/7d/6b/d52e42361e1aa00709585ecc30b3f9684b3ab62530771402248b1b1d6240/babel-2.17.0.tar.gz", hash = "sha256:0c54cffb19f690cdcc52a3b50bcbf71e07a808d1c80d549f2459b9d2cf0afb9d", size = 9951852, upload-time = "2025-02-01T15:17:41.026Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/b7/b8/3fe70c75fe32afc4bb507f75563d39bc5642255d1d94f1f23604725780bf/babel-2.17.0-py3-none-any.whl", hash = "sha256:4d0b53093fdfb4b21c92b5213dba5a1b23885afa8383709427046b21c366e5f2", size = 10182537 }, + { url = "https://files.pythonhosted.org/packages/b7/b8/3fe70c75fe32afc4bb507f75563d39bc5642255d1d94f1f23604725780bf/babel-2.17.0-py3-none-any.whl", hash = "sha256:4d0b53093fdfb4b21c92b5213dba5a1b23885afa8383709427046b21c366e5f2", size = 10182537, upload-time = "2025-02-01T15:17:37.39Z" }, ] [[package]] name = "backcall" version = "0.2.0" source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/a2/40/764a663805d84deee23043e1426a9175567db89c8b3287b5c2ad9f71aa93/backcall-0.2.0.tar.gz", hash = "sha256:5cbdbf27be5e7cfadb448baf0aa95508f91f2bbc6c6437cd9cd06e2a4c215e1e", size = 18041 } +sdist = { url = "https://files.pythonhosted.org/packages/a2/40/764a663805d84deee23043e1426a9175567db89c8b3287b5c2ad9f71aa93/backcall-0.2.0.tar.gz", hash = "sha256:5cbdbf27be5e7cfadb448baf0aa95508f91f2bbc6c6437cd9cd06e2a4c215e1e", size = 18041, upload-time = "2020-06-09T15:11:32.931Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/4c/1c/ff6546b6c12603d8dd1070aa3c3d273ad4c07f5771689a7b69a550e8c951/backcall-0.2.0-py2.py3-none-any.whl", hash = "sha256:fbbce6a29f263178a1f7915c1940bde0ec2b2a967566fe1c65c1dfb7422bd255", size = 11157 }, + { url = "https://files.pythonhosted.org/packages/4c/1c/ff6546b6c12603d8dd1070aa3c3d273ad4c07f5771689a7b69a550e8c951/backcall-0.2.0-py2.py3-none-any.whl", hash = "sha256:fbbce6a29f263178a1f7915c1940bde0ec2b2a967566fe1c65c1dfb7422bd255", size = 11157, upload-time = "2020-06-09T15:11:30.87Z" }, ] [[package]] name = "backports-tarfile" version = "1.2.0" source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/86/72/cd9b395f25e290e633655a100af28cb253e4393396264a98bd5f5951d50f/backports_tarfile-1.2.0.tar.gz", hash = "sha256:d75e02c268746e1b8144c278978b6e98e85de6ad16f8e4b0844a154557eca991", size = 86406 } +sdist = { url = "https://files.pythonhosted.org/packages/86/72/cd9b395f25e290e633655a100af28cb253e4393396264a98bd5f5951d50f/backports_tarfile-1.2.0.tar.gz", hash = "sha256:d75e02c268746e1b8144c278978b6e98e85de6ad16f8e4b0844a154557eca991", size = 86406, upload-time = "2024-05-28T17:01:54.731Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/b9/fa/123043af240e49752f1c4bd24da5053b6bd00cad78c2be53c0d1e8b975bc/backports.tarfile-1.2.0-py3-none-any.whl", hash = "sha256:77e284d754527b01fb1e6fa8a1afe577858ebe4e9dad8919e34c862cb399bc34", size = 30181 }, + { url = "https://files.pythonhosted.org/packages/b9/fa/123043af240e49752f1c4bd24da5053b6bd00cad78c2be53c0d1e8b975bc/backports.tarfile-1.2.0-py3-none-any.whl", hash = "sha256:77e284d754527b01fb1e6fa8a1afe577858ebe4e9dad8919e34c862cb399bc34", size = 30181, upload-time = "2024-05-28T17:01:53.112Z" }, ] [[package]] @@ -209,9 +209,9 @@ dependencies = [ { name = "soupsieve" }, { name = "typing-extensions" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/f0/3c/adaf39ce1fb4afdd21b611e3d530b183bb7759c9b673d60db0e347fd4439/beautifulsoup4-4.13.3.tar.gz", hash = "sha256:1bd32405dacc920b42b83ba01644747ed77456a65760e285fbc47633ceddaf8b", size = 619516 } +sdist = { url = "https://files.pythonhosted.org/packages/f0/3c/adaf39ce1fb4afdd21b611e3d530b183bb7759c9b673d60db0e347fd4439/beautifulsoup4-4.13.3.tar.gz", hash = "sha256:1bd32405dacc920b42b83ba01644747ed77456a65760e285fbc47633ceddaf8b", size = 619516, upload-time = "2025-02-04T20:05:01.681Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/f9/49/6abb616eb3cbab6a7cca303dc02fdf3836de2e0b834bf966a7f5271a34d8/beautifulsoup4-4.13.3-py3-none-any.whl", hash = "sha256:99045d7d3f08f91f0d656bc9b7efbae189426cd913d830294a15eefa0ea4df16", size = 186015 }, + { url = "https://files.pythonhosted.org/packages/f9/49/6abb616eb3cbab6a7cca303dc02fdf3836de2e0b834bf966a7f5271a34d8/beautifulsoup4-4.13.3-py3-none-any.whl", hash = "sha256:99045d7d3f08f91f0d656bc9b7efbae189426cd913d830294a15eefa0ea4df16", size = 186015, upload-time = "2025-02-04T20:05:03.729Z" }, ] [[package]] @@ -227,9 +227,9 @@ dependencies = [ { name = "six", marker = "python_full_version < '3.9'" }, { name = "webencodings", marker = "python_full_version < '3.9'" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/6d/10/77f32b088738f40d4f5be801daa5f327879eadd4562f36a2b5ab975ae571/bleach-6.1.0.tar.gz", hash = "sha256:0a31f1837963c41d46bbf1331b8778e1308ea0791db03cc4e7357b97cf42a8fe", size = 202119 } +sdist = { url = "https://files.pythonhosted.org/packages/6d/10/77f32b088738f40d4f5be801daa5f327879eadd4562f36a2b5ab975ae571/bleach-6.1.0.tar.gz", hash = "sha256:0a31f1837963c41d46bbf1331b8778e1308ea0791db03cc4e7357b97cf42a8fe", size = 202119, upload-time = "2023-10-06T19:30:51.304Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/ea/63/da7237f805089ecc28a3f36bca6a21c31fcbc2eb380f3b8f1be3312abd14/bleach-6.1.0-py3-none-any.whl", hash = "sha256:3225f354cfc436b9789c66c4ee030194bee0568fbf9cbdad3bc8b5c26c5f12b6", size = 162750 }, + { url = "https://files.pythonhosted.org/packages/ea/63/da7237f805089ecc28a3f36bca6a21c31fcbc2eb380f3b8f1be3312abd14/bleach-6.1.0-py3-none-any.whl", hash = "sha256:3225f354cfc436b9789c66c4ee030194bee0568fbf9cbdad3bc8b5c26c5f12b6", size = 162750, upload-time = "2023-10-06T19:30:49.408Z" }, ] [package.optional-dependencies] @@ -258,9 +258,9 @@ resolution-markers = [ dependencies = [ { name = "webencodings", marker = "python_full_version >= '3.9'" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/76/9a/0e33f5054c54d349ea62c277191c020c2d6ef1d65ab2cb1993f91ec846d1/bleach-6.2.0.tar.gz", hash = "sha256:123e894118b8a599fd80d3ec1a6d4cc7ce4e5882b1317a7e1ba69b56e95f991f", size = 203083 } +sdist = { url = "https://files.pythonhosted.org/packages/76/9a/0e33f5054c54d349ea62c277191c020c2d6ef1d65ab2cb1993f91ec846d1/bleach-6.2.0.tar.gz", hash = "sha256:123e894118b8a599fd80d3ec1a6d4cc7ce4e5882b1317a7e1ba69b56e95f991f", size = 203083, upload-time = "2024-10-29T18:30:40.477Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/fc/55/96142937f66150805c25c4d0f31ee4132fd33497753400734f9dfdcbdc66/bleach-6.2.0-py3-none-any.whl", hash = "sha256:117d9c6097a7c3d22fd578fcd8d35ff1e125df6736f554da4e432fdd63f31e5e", size = 163406 }, + { url = "https://files.pythonhosted.org/packages/fc/55/96142937f66150805c25c4d0f31ee4132fd33497753400734f9dfdcbdc66/bleach-6.2.0-py3-none-any.whl", hash = "sha256:117d9c6097a7c3d22fd578fcd8d35ff1e125df6736f554da4e432fdd63f31e5e", size = 163406, upload-time = "2024-10-29T18:30:38.186Z" }, ] [package.optional-dependencies] @@ -280,18 +280,18 @@ dependencies = [ { name = "pyproject-hooks" }, { name = "tomli", marker = "python_full_version < '3.11'" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/7d/46/aeab111f8e06793e4f0e421fcad593d547fb8313b50990f31681ee2fb1ad/build-1.2.2.post1.tar.gz", hash = "sha256:b36993e92ca9375a219c99e606a122ff365a760a2d4bba0caa09bd5278b608b7", size = 46701 } +sdist = { url = "https://files.pythonhosted.org/packages/7d/46/aeab111f8e06793e4f0e421fcad593d547fb8313b50990f31681ee2fb1ad/build-1.2.2.post1.tar.gz", hash = "sha256:b36993e92ca9375a219c99e606a122ff365a760a2d4bba0caa09bd5278b608b7", size = 46701, upload-time = "2024-10-06T17:22:25.251Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/84/c2/80633736cd183ee4a62107413def345f7e6e3c01563dbca1417363cf957e/build-1.2.2.post1-py3-none-any.whl", hash = "sha256:1d61c0887fa860c01971625baae8bdd338e517b836a2f70dd1f7aa3a6b2fc5b5", size = 22950 }, + { url = "https://files.pythonhosted.org/packages/84/c2/80633736cd183ee4a62107413def345f7e6e3c01563dbca1417363cf957e/build-1.2.2.post1-py3-none-any.whl", hash = "sha256:1d61c0887fa860c01971625baae8bdd338e517b836a2f70dd1f7aa3a6b2fc5b5", size = 22950, upload-time = "2024-10-06T17:22:23.299Z" }, ] [[package]] name = "cachetools" version = "5.5.1" source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/d9/74/57df1ab0ce6bc5f6fa868e08de20df8ac58f9c44330c7671ad922d2bbeae/cachetools-5.5.1.tar.gz", hash = "sha256:70f238fbba50383ef62e55c6aff6d9673175fe59f7c6782c7a0b9e38f4a9df95", size = 28044 } +sdist = { url = "https://files.pythonhosted.org/packages/d9/74/57df1ab0ce6bc5f6fa868e08de20df8ac58f9c44330c7671ad922d2bbeae/cachetools-5.5.1.tar.gz", hash = "sha256:70f238fbba50383ef62e55c6aff6d9673175fe59f7c6782c7a0b9e38f4a9df95", size = 28044, upload-time = "2025-01-21T21:27:56.736Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/ec/4e/de4ff18bcf55857ba18d3a4bd48c8a9fde6bb0980c9d20b263f05387fd88/cachetools-5.5.1-py3-none-any.whl", hash = "sha256:b76651fdc3b24ead3c648bbdeeb940c1b04d365b38b4af66788f9ec4a81d42bb", size = 9530 }, + { url = "https://files.pythonhosted.org/packages/ec/4e/de4ff18bcf55857ba18d3a4bd48c8a9fde6bb0980c9d20b263f05387fd88/cachetools-5.5.1-py3-none-any.whl", hash = "sha256:b76651fdc3b24ead3c648bbdeeb940c1b04d365b38b4af66788f9ec4a81d42bb", size = 9530, upload-time = "2025-01-21T21:27:54.511Z" }, ] [[package]] @@ -301,9 +301,9 @@ source = { registry = "https://pypi.org/simple" } dependencies = [ { name = "cffi" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/70/c5/1a4dc131459e68a173cbdab5fad6b524f53f9c1ef7861b7698e998b837cc/cairocffi-1.7.1.tar.gz", hash = "sha256:2e48ee864884ec4a3a34bfa8c9ab9999f688286eb714a15a43ec9d068c36557b", size = 88096 } +sdist = { url = "https://files.pythonhosted.org/packages/70/c5/1a4dc131459e68a173cbdab5fad6b524f53f9c1ef7861b7698e998b837cc/cairocffi-1.7.1.tar.gz", hash = "sha256:2e48ee864884ec4a3a34bfa8c9ab9999f688286eb714a15a43ec9d068c36557b", size = 88096, upload-time = "2024-06-18T10:56:06.741Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/93/d8/ba13451aa6b745c49536e87b6bf8f629b950e84bd0e8308f7dc6883b67e2/cairocffi-1.7.1-py3-none-any.whl", hash = "sha256:9803a0e11f6c962f3b0ae2ec8ba6ae45e957a146a004697a1ac1bbf16b073b3f", size = 75611 }, + { url = "https://files.pythonhosted.org/packages/93/d8/ba13451aa6b745c49536e87b6bf8f629b950e84bd0e8308f7dc6883b67e2/cairocffi-1.7.1-py3-none-any.whl", hash = "sha256:9803a0e11f6c962f3b0ae2ec8ba6ae45e957a146a004697a1ac1bbf16b073b3f", size = 75611, upload-time = "2024-06-18T10:55:59.489Z" }, ] [[package]] @@ -318,18 +318,18 @@ dependencies = [ { name = "tinycss2", version = "1.2.1", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.9'" }, { name = "tinycss2", version = "1.4.0", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.9'" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/d5/e6/ec5900b724e3c44af7f6f51f719919137284e5da4aabe96508baec8a1b40/CairoSVG-2.7.1.tar.gz", hash = "sha256:432531d72347291b9a9ebfb6777026b607563fd8719c46ee742db0aef7271ba0", size = 8399085 } +sdist = { url = "https://files.pythonhosted.org/packages/d5/e6/ec5900b724e3c44af7f6f51f719919137284e5da4aabe96508baec8a1b40/CairoSVG-2.7.1.tar.gz", hash = "sha256:432531d72347291b9a9ebfb6777026b607563fd8719c46ee742db0aef7271ba0", size = 8399085, upload-time = "2023-08-05T09:08:05.75Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/01/a5/1866b42151f50453f1a0d28fc4c39f5be5f412a2e914f33449c42daafdf1/CairoSVG-2.7.1-py3-none-any.whl", hash = "sha256:8a5222d4e6c3f86f1f7046b63246877a63b49923a1cd202184c3a634ef546b3b", size = 43235 }, + { url = "https://files.pythonhosted.org/packages/01/a5/1866b42151f50453f1a0d28fc4c39f5be5f412a2e914f33449c42daafdf1/CairoSVG-2.7.1-py3-none-any.whl", hash = "sha256:8a5222d4e6c3f86f1f7046b63246877a63b49923a1cd202184c3a634ef546b3b", size = 43235, upload-time = "2023-08-05T09:08:01.583Z" }, ] [[package]] name = "certifi" version = "2025.1.31" source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/1c/ab/c9f1e32b7b1bf505bf26f0ef697775960db7932abeb7b516de930ba2705f/certifi-2025.1.31.tar.gz", hash = "sha256:3d5da6925056f6f18f119200434a4780a94263f10d1c21d032a6f6b2baa20651", size = 167577 } +sdist = { url = "https://files.pythonhosted.org/packages/1c/ab/c9f1e32b7b1bf505bf26f0ef697775960db7932abeb7b516de930ba2705f/certifi-2025.1.31.tar.gz", hash = "sha256:3d5da6925056f6f18f119200434a4780a94263f10d1c21d032a6f6b2baa20651", size = 167577, upload-time = "2025-01-31T02:16:47.166Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/38/fc/bce832fd4fd99766c04d1ee0eead6b0ec6486fb100ae5e74c1d91292b982/certifi-2025.1.31-py3-none-any.whl", hash = "sha256:ca78db4565a652026a4db2bcdf68f2fb589ea80d0be70e03929ed730746b84fe", size = 166393 }, + { url = "https://files.pythonhosted.org/packages/38/fc/bce832fd4fd99766c04d1ee0eead6b0ec6486fb100ae5e74c1d91292b982/certifi-2025.1.31-py3-none-any.whl", hash = "sha256:ca78db4565a652026a4db2bcdf68f2fb589ea80d0be70e03929ed730746b84fe", size = 166393, upload-time = "2025-01-31T02:16:45.015Z" }, ] [[package]] @@ -339,170 +339,170 @@ source = { registry = "https://pypi.org/simple" } dependencies = [ { name = "pycparser" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/fc/97/c783634659c2920c3fc70419e3af40972dbaf758daa229a7d6ea6135c90d/cffi-1.17.1.tar.gz", hash = "sha256:1c39c6016c32bc48dd54561950ebd6836e1670f2ae46128f67cf49e789c52824", size = 516621 } -wheels = [ - { url = "https://files.pythonhosted.org/packages/90/07/f44ca684db4e4f08a3fdc6eeb9a0d15dc6883efc7b8c90357fdbf74e186c/cffi-1.17.1-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:df8b1c11f177bc2313ec4b2d46baec87a5f3e71fc8b45dab2ee7cae86d9aba14", size = 182191 }, - { url = "https://files.pythonhosted.org/packages/08/fd/cc2fedbd887223f9f5d170c96e57cbf655df9831a6546c1727ae13fa977a/cffi-1.17.1-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:8f2cdc858323644ab277e9bb925ad72ae0e67f69e804f4898c070998d50b1a67", size = 178592 }, - { url = "https://files.pythonhosted.org/packages/de/cc/4635c320081c78d6ffc2cab0a76025b691a91204f4aa317d568ff9280a2d/cffi-1.17.1-cp310-cp310-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:edae79245293e15384b51f88b00613ba9f7198016a5948b5dddf4917d4d26382", size = 426024 }, - { url = "https://files.pythonhosted.org/packages/b6/7b/3b2b250f3aab91abe5f8a51ada1b717935fdaec53f790ad4100fe2ec64d1/cffi-1.17.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:45398b671ac6d70e67da8e4224a065cec6a93541bb7aebe1b198a61b58c7b702", size = 448188 }, - { url = "https://files.pythonhosted.org/packages/d3/48/1b9283ebbf0ec065148d8de05d647a986c5f22586b18120020452fff8f5d/cffi-1.17.1-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:ad9413ccdeda48c5afdae7e4fa2192157e991ff761e7ab8fdd8926f40b160cc3", size = 455571 }, - { url = "https://files.pythonhosted.org/packages/40/87/3b8452525437b40f39ca7ff70276679772ee7e8b394934ff60e63b7b090c/cffi-1.17.1-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:5da5719280082ac6bd9aa7becb3938dc9f9cbd57fac7d2871717b1feb0902ab6", size = 436687 }, - { url = "https://files.pythonhosted.org/packages/8d/fb/4da72871d177d63649ac449aec2e8a29efe0274035880c7af59101ca2232/cffi-1.17.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:2bb1a08b8008b281856e5971307cc386a8e9c5b625ac297e853d36da6efe9c17", size = 446211 }, - { url = "https://files.pythonhosted.org/packages/ab/a0/62f00bcb411332106c02b663b26f3545a9ef136f80d5df746c05878f8c4b/cffi-1.17.1-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:045d61c734659cc045141be4bae381a41d89b741f795af1dd018bfb532fd0df8", size = 461325 }, - { url = "https://files.pythonhosted.org/packages/36/83/76127035ed2e7e27b0787604d99da630ac3123bfb02d8e80c633f218a11d/cffi-1.17.1-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:6883e737d7d9e4899a8a695e00ec36bd4e5e4f18fabe0aca0efe0a4b44cdb13e", size = 438784 }, - { url = "https://files.pythonhosted.org/packages/21/81/a6cd025db2f08ac88b901b745c163d884641909641f9b826e8cb87645942/cffi-1.17.1-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:6b8b4a92e1c65048ff98cfe1f735ef8f1ceb72e3d5f0c25fdb12087a23da22be", size = 461564 }, - { url = "https://files.pythonhosted.org/packages/f8/fe/4d41c2f200c4a457933dbd98d3cf4e911870877bd94d9656cc0fcb390681/cffi-1.17.1-cp310-cp310-win32.whl", hash = "sha256:c9c3d058ebabb74db66e431095118094d06abf53284d9c81f27300d0e0d8bc7c", size = 171804 }, - { url = "https://files.pythonhosted.org/packages/d1/b6/0b0f5ab93b0df4acc49cae758c81fe4e5ef26c3ae2e10cc69249dfd8b3ab/cffi-1.17.1-cp310-cp310-win_amd64.whl", hash = "sha256:0f048dcf80db46f0098ccac01132761580d28e28bc0f78ae0d58048063317e15", size = 181299 }, - { url = "https://files.pythonhosted.org/packages/6b/f4/927e3a8899e52a27fa57a48607ff7dc91a9ebe97399b357b85a0c7892e00/cffi-1.17.1-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:a45e3c6913c5b87b3ff120dcdc03f6131fa0065027d0ed7ee6190736a74cd401", size = 182264 }, - { url = "https://files.pythonhosted.org/packages/6c/f5/6c3a8efe5f503175aaddcbea6ad0d2c96dad6f5abb205750d1b3df44ef29/cffi-1.17.1-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:30c5e0cb5ae493c04c8b42916e52ca38079f1b235c2f8ae5f4527b963c401caf", size = 178651 }, - { url = "https://files.pythonhosted.org/packages/94/dd/a3f0118e688d1b1a57553da23b16bdade96d2f9bcda4d32e7d2838047ff7/cffi-1.17.1-cp311-cp311-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:f75c7ab1f9e4aca5414ed4d8e5c0e303a34f4421f8a0d47a4d019ceff0ab6af4", size = 445259 }, - { url = "https://files.pythonhosted.org/packages/2e/ea/70ce63780f096e16ce8588efe039d3c4f91deb1dc01e9c73a287939c79a6/cffi-1.17.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a1ed2dd2972641495a3ec98445e09766f077aee98a1c896dcb4ad0d303628e41", size = 469200 }, - { url = "https://files.pythonhosted.org/packages/1c/a0/a4fa9f4f781bda074c3ddd57a572b060fa0df7655d2a4247bbe277200146/cffi-1.17.1-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:46bf43160c1a35f7ec506d254e5c890f3c03648a4dbac12d624e4490a7046cd1", size = 477235 }, - { url = "https://files.pythonhosted.org/packages/62/12/ce8710b5b8affbcdd5c6e367217c242524ad17a02fe5beec3ee339f69f85/cffi-1.17.1-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:a24ed04c8ffd54b0729c07cee15a81d964e6fee0e3d4d342a27b020d22959dc6", size = 459721 }, - { url = "https://files.pythonhosted.org/packages/ff/6b/d45873c5e0242196f042d555526f92aa9e0c32355a1be1ff8c27f077fd37/cffi-1.17.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:610faea79c43e44c71e1ec53a554553fa22321b65fae24889706c0a84d4ad86d", size = 467242 }, - { url = "https://files.pythonhosted.org/packages/1a/52/d9a0e523a572fbccf2955f5abe883cfa8bcc570d7faeee06336fbd50c9fc/cffi-1.17.1-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:a9b15d491f3ad5d692e11f6b71f7857e7835eb677955c00cc0aefcd0669adaf6", size = 477999 }, - { url = "https://files.pythonhosted.org/packages/44/74/f2a2460684a1a2d00ca799ad880d54652841a780c4c97b87754f660c7603/cffi-1.17.1-cp311-cp311-musllinux_1_1_i686.whl", hash = "sha256:de2ea4b5833625383e464549fec1bc395c1bdeeb5f25c4a3a82b5a8c756ec22f", size = 454242 }, - { url = "https://files.pythonhosted.org/packages/f8/4a/34599cac7dfcd888ff54e801afe06a19c17787dfd94495ab0c8d35fe99fb/cffi-1.17.1-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:fc48c783f9c87e60831201f2cce7f3b2e4846bf4d8728eabe54d60700b318a0b", size = 478604 }, - { url = "https://files.pythonhosted.org/packages/34/33/e1b8a1ba29025adbdcda5fb3a36f94c03d771c1b7b12f726ff7fef2ebe36/cffi-1.17.1-cp311-cp311-win32.whl", hash = "sha256:85a950a4ac9c359340d5963966e3e0a94a676bd6245a4b55bc43949eee26a655", size = 171727 }, - { url = "https://files.pythonhosted.org/packages/3d/97/50228be003bb2802627d28ec0627837ac0bf35c90cf769812056f235b2d1/cffi-1.17.1-cp311-cp311-win_amd64.whl", hash = "sha256:caaf0640ef5f5517f49bc275eca1406b0ffa6aa184892812030f04c2abf589a0", size = 181400 }, - { url = "https://files.pythonhosted.org/packages/5a/84/e94227139ee5fb4d600a7a4927f322e1d4aea6fdc50bd3fca8493caba23f/cffi-1.17.1-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:805b4371bf7197c329fcb3ead37e710d1bca9da5d583f5073b799d5c5bd1eee4", size = 183178 }, - { url = "https://files.pythonhosted.org/packages/da/ee/fb72c2b48656111c4ef27f0f91da355e130a923473bf5ee75c5643d00cca/cffi-1.17.1-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:733e99bc2df47476e3848417c5a4540522f234dfd4ef3ab7fafdf555b082ec0c", size = 178840 }, - { url = "https://files.pythonhosted.org/packages/cc/b6/db007700f67d151abadf508cbfd6a1884f57eab90b1bb985c4c8c02b0f28/cffi-1.17.1-cp312-cp312-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:1257bdabf294dceb59f5e70c64a3e2f462c30c7ad68092d01bbbfb1c16b1ba36", size = 454803 }, - { url = "https://files.pythonhosted.org/packages/1a/df/f8d151540d8c200eb1c6fba8cd0dfd40904f1b0682ea705c36e6c2e97ab3/cffi-1.17.1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:da95af8214998d77a98cc14e3a3bd00aa191526343078b530ceb0bd710fb48a5", size = 478850 }, - { url = "https://files.pythonhosted.org/packages/28/c0/b31116332a547fd2677ae5b78a2ef662dfc8023d67f41b2a83f7c2aa78b1/cffi-1.17.1-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:d63afe322132c194cf832bfec0dc69a99fb9bb6bbd550f161a49e9e855cc78ff", size = 485729 }, - { url = "https://files.pythonhosted.org/packages/91/2b/9a1ddfa5c7f13cab007a2c9cc295b70fbbda7cb10a286aa6810338e60ea1/cffi-1.17.1-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:f79fc4fc25f1c8698ff97788206bb3c2598949bfe0fef03d299eb1b5356ada99", size = 471256 }, - { url = "https://files.pythonhosted.org/packages/b2/d5/da47df7004cb17e4955df6a43d14b3b4ae77737dff8bf7f8f333196717bf/cffi-1.17.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:b62ce867176a75d03a665bad002af8e6d54644fad99a3c70905c543130e39d93", size = 479424 }, - { url = "https://files.pythonhosted.org/packages/0b/ac/2a28bcf513e93a219c8a4e8e125534f4f6db03e3179ba1c45e949b76212c/cffi-1.17.1-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:386c8bf53c502fff58903061338ce4f4950cbdcb23e2902d86c0f722b786bbe3", size = 484568 }, - { url = "https://files.pythonhosted.org/packages/d4/38/ca8a4f639065f14ae0f1d9751e70447a261f1a30fa7547a828ae08142465/cffi-1.17.1-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:4ceb10419a9adf4460ea14cfd6bc43d08701f0835e979bf821052f1805850fe8", size = 488736 }, - { url = "https://files.pythonhosted.org/packages/86/c5/28b2d6f799ec0bdecf44dced2ec5ed43e0eb63097b0f58c293583b406582/cffi-1.17.1-cp312-cp312-win32.whl", hash = "sha256:a08d7e755f8ed21095a310a693525137cfe756ce62d066e53f502a83dc550f65", size = 172448 }, - { url = "https://files.pythonhosted.org/packages/50/b9/db34c4755a7bd1cb2d1603ac3863f22bcecbd1ba29e5ee841a4bc510b294/cffi-1.17.1-cp312-cp312-win_amd64.whl", hash = "sha256:51392eae71afec0d0c8fb1a53b204dbb3bcabcb3c9b807eedf3e1e6ccf2de903", size = 181976 }, - { url = "https://files.pythonhosted.org/packages/8d/f8/dd6c246b148639254dad4d6803eb6a54e8c85c6e11ec9df2cffa87571dbe/cffi-1.17.1-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:f3a2b4222ce6b60e2e8b337bb9596923045681d71e5a082783484d845390938e", size = 182989 }, - { url = "https://files.pythonhosted.org/packages/8b/f1/672d303ddf17c24fc83afd712316fda78dc6fce1cd53011b839483e1ecc8/cffi-1.17.1-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:0984a4925a435b1da406122d4d7968dd861c1385afe3b45ba82b750f229811e2", size = 178802 }, - { url = "https://files.pythonhosted.org/packages/0e/2d/eab2e858a91fdff70533cab61dcff4a1f55ec60425832ddfdc9cd36bc8af/cffi-1.17.1-cp313-cp313-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:d01b12eeeb4427d3110de311e1774046ad344f5b1a7403101878976ecd7a10f3", size = 454792 }, - { url = "https://files.pythonhosted.org/packages/75/b2/fbaec7c4455c604e29388d55599b99ebcc250a60050610fadde58932b7ee/cffi-1.17.1-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:706510fe141c86a69c8ddc029c7910003a17353970cff3b904ff0686a5927683", size = 478893 }, - { url = "https://files.pythonhosted.org/packages/4f/b7/6e4a2162178bf1935c336d4da8a9352cccab4d3a5d7914065490f08c0690/cffi-1.17.1-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:de55b766c7aa2e2a3092c51e0483d700341182f08e67c63630d5b6f200bb28e5", size = 485810 }, - { url = "https://files.pythonhosted.org/packages/c7/8a/1d0e4a9c26e54746dc08c2c6c037889124d4f59dffd853a659fa545f1b40/cffi-1.17.1-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:c59d6e989d07460165cc5ad3c61f9fd8f1b4796eacbd81cee78957842b834af4", size = 471200 }, - { url = "https://files.pythonhosted.org/packages/26/9f/1aab65a6c0db35f43c4d1b4f580e8df53914310afc10ae0397d29d697af4/cffi-1.17.1-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:dd398dbc6773384a17fe0d3e7eeb8d1a21c2200473ee6806bb5e6a8e62bb73dd", size = 479447 }, - { url = "https://files.pythonhosted.org/packages/5f/e4/fb8b3dd8dc0e98edf1135ff067ae070bb32ef9d509d6cb0f538cd6f7483f/cffi-1.17.1-cp313-cp313-musllinux_1_1_aarch64.whl", hash = "sha256:3edc8d958eb099c634dace3c7e16560ae474aa3803a5df240542b305d14e14ed", size = 484358 }, - { url = "https://files.pythonhosted.org/packages/f1/47/d7145bf2dc04684935d57d67dff9d6d795b2ba2796806bb109864be3a151/cffi-1.17.1-cp313-cp313-musllinux_1_1_x86_64.whl", hash = "sha256:72e72408cad3d5419375fc87d289076ee319835bdfa2caad331e377589aebba9", size = 488469 }, - { url = "https://files.pythonhosted.org/packages/bf/ee/f94057fa6426481d663b88637a9a10e859e492c73d0384514a17d78ee205/cffi-1.17.1-cp313-cp313-win32.whl", hash = "sha256:e03eab0a8677fa80d646b5ddece1cbeaf556c313dcfac435ba11f107ba117b5d", size = 172475 }, - { url = "https://files.pythonhosted.org/packages/7c/fc/6a8cb64e5f0324877d503c854da15d76c1e50eb722e320b15345c4d0c6de/cffi-1.17.1-cp313-cp313-win_amd64.whl", hash = "sha256:f6a16c31041f09ead72d69f583767292f750d24913dadacf5756b966aacb3f1a", size = 182009 }, - { url = "https://files.pythonhosted.org/packages/48/08/15bf6b43ae9bd06f6b00ad8a91f5a8fe1069d4c9fab550a866755402724e/cffi-1.17.1-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:636062ea65bd0195bc012fea9321aca499c0504409f413dc88af450b57ffd03b", size = 182457 }, - { url = "https://files.pythonhosted.org/packages/c2/5b/f1523dd545f92f7df468e5f653ffa4df30ac222f3c884e51e139878f1cb5/cffi-1.17.1-cp38-cp38-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:c7eac2ef9b63c79431bc4b25f1cd649d7f061a28808cbc6c47b534bd789ef964", size = 425932 }, - { url = "https://files.pythonhosted.org/packages/53/93/7e547ab4105969cc8c93b38a667b82a835dd2cc78f3a7dad6130cfd41e1d/cffi-1.17.1-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:e221cf152cff04059d011ee126477f0d9588303eb57e88923578ace7baad17f9", size = 448585 }, - { url = "https://files.pythonhosted.org/packages/56/c4/a308f2c332006206bb511de219efeff090e9d63529ba0a77aae72e82248b/cffi-1.17.1-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:31000ec67d4221a71bd3f67df918b1f88f676f1c3b535a7eb473255fdc0b83fc", size = 456268 }, - { url = "https://files.pythonhosted.org/packages/ca/5b/b63681518265f2f4060d2b60755c1c77ec89e5e045fc3773b72735ddaad5/cffi-1.17.1-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:6f17be4345073b0a7b8ea599688f692ac3ef23ce28e5df79c04de519dbc4912c", size = 436592 }, - { url = "https://files.pythonhosted.org/packages/bb/19/b51af9f4a4faa4a8ac5a0e5d5c2522dcd9703d07fac69da34a36c4d960d3/cffi-1.17.1-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:0e2b1fac190ae3ebfe37b979cc1ce69c81f4e4fe5746bb401dca63a9062cdaf1", size = 446512 }, - { url = "https://files.pythonhosted.org/packages/e2/63/2bed8323890cb613bbecda807688a31ed11a7fe7afe31f8faaae0206a9a3/cffi-1.17.1-cp38-cp38-win32.whl", hash = "sha256:7596d6620d3fa590f677e9ee430df2958d2d6d6de2feeae5b20e82c00b76fbf8", size = 171576 }, - { url = "https://files.pythonhosted.org/packages/2f/70/80c33b044ebc79527447fd4fbc5455d514c3bb840dede4455de97da39b4d/cffi-1.17.1-cp38-cp38-win_amd64.whl", hash = "sha256:78122be759c3f8a014ce010908ae03364d00a1f81ab5c7f4a7a5120607ea56e1", size = 181229 }, - { url = "https://files.pythonhosted.org/packages/b9/ea/8bb50596b8ffbc49ddd7a1ad305035daa770202a6b782fc164647c2673ad/cffi-1.17.1-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:b2ab587605f4ba0bf81dc0cb08a41bd1c0a5906bd59243d56bad7668a6fc6c16", size = 182220 }, - { url = "https://files.pythonhosted.org/packages/ae/11/e77c8cd24f58285a82c23af484cf5b124a376b32644e445960d1a4654c3a/cffi-1.17.1-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:28b16024becceed8c6dfbc75629e27788d8a3f9030691a1dbf9821a128b22c36", size = 178605 }, - { url = "https://files.pythonhosted.org/packages/ed/65/25a8dc32c53bf5b7b6c2686b42ae2ad58743f7ff644844af7cdb29b49361/cffi-1.17.1-cp39-cp39-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:1d599671f396c4723d016dbddb72fe8e0397082b0a77a4fab8028923bec050e8", size = 424910 }, - { url = "https://files.pythonhosted.org/packages/42/7a/9d086fab7c66bd7c4d0f27c57a1b6b068ced810afc498cc8c49e0088661c/cffi-1.17.1-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:ca74b8dbe6e8e8263c0ffd60277de77dcee6c837a3d0881d8c1ead7268c9e576", size = 447200 }, - { url = "https://files.pythonhosted.org/packages/da/63/1785ced118ce92a993b0ec9e0d0ac8dc3e5dbfbcaa81135be56c69cabbb6/cffi-1.17.1-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:f7f5baafcc48261359e14bcd6d9bff6d4b28d9103847c9e136694cb0501aef87", size = 454565 }, - { url = "https://files.pythonhosted.org/packages/74/06/90b8a44abf3556599cdec107f7290277ae8901a58f75e6fe8f970cd72418/cffi-1.17.1-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:98e3969bcff97cae1b2def8ba499ea3d6f31ddfdb7635374834cf89a1a08ecf0", size = 435635 }, - { url = "https://files.pythonhosted.org/packages/bd/62/a1f468e5708a70b1d86ead5bab5520861d9c7eacce4a885ded9faa7729c3/cffi-1.17.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:cdf5ce3acdfd1661132f2a9c19cac174758dc2352bfe37d98aa7512c6b7178b3", size = 445218 }, - { url = "https://files.pythonhosted.org/packages/5b/95/b34462f3ccb09c2594aa782d90a90b045de4ff1f70148ee79c69d37a0a5a/cffi-1.17.1-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:9755e4345d1ec879e3849e62222a18c7174d65a6a92d5b346b1863912168b595", size = 460486 }, - { url = "https://files.pythonhosted.org/packages/fc/fc/a1e4bebd8d680febd29cf6c8a40067182b64f00c7d105f8f26b5bc54317b/cffi-1.17.1-cp39-cp39-musllinux_1_1_i686.whl", hash = "sha256:f1e22e8c4419538cb197e4dd60acc919d7696e5ef98ee4da4e01d3f8cfa4cc5a", size = 437911 }, - { url = "https://files.pythonhosted.org/packages/e6/c3/21cab7a6154b6a5ea330ae80de386e7665254835b9e98ecc1340b3a7de9a/cffi-1.17.1-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:c03e868a0b3bc35839ba98e74211ed2b05d2119be4e8a0f224fba9384f1fe02e", size = 460632 }, - { url = "https://files.pythonhosted.org/packages/cb/b5/fd9f8b5a84010ca169ee49f4e4ad6f8c05f4e3545b72ee041dbbcb159882/cffi-1.17.1-cp39-cp39-win32.whl", hash = "sha256:e31ae45bc2e29f6b2abd0de1cc3b9d5205aa847cafaecb8af1476a609a2f6eb7", size = 171820 }, - { url = "https://files.pythonhosted.org/packages/8c/52/b08750ce0bce45c143e1b5d7357ee8c55341b52bdef4b0f081af1eb248c2/cffi-1.17.1-cp39-cp39-win_amd64.whl", hash = "sha256:d016c76bdd850f3c626af19b0542c9677ba156e4ee4fccfdd7848803533ef662", size = 181290 }, +sdist = { url = "https://files.pythonhosted.org/packages/fc/97/c783634659c2920c3fc70419e3af40972dbaf758daa229a7d6ea6135c90d/cffi-1.17.1.tar.gz", hash = "sha256:1c39c6016c32bc48dd54561950ebd6836e1670f2ae46128f67cf49e789c52824", size = 516621, upload-time = "2024-09-04T20:45:21.852Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/90/07/f44ca684db4e4f08a3fdc6eeb9a0d15dc6883efc7b8c90357fdbf74e186c/cffi-1.17.1-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:df8b1c11f177bc2313ec4b2d46baec87a5f3e71fc8b45dab2ee7cae86d9aba14", size = 182191, upload-time = "2024-09-04T20:43:30.027Z" }, + { url = "https://files.pythonhosted.org/packages/08/fd/cc2fedbd887223f9f5d170c96e57cbf655df9831a6546c1727ae13fa977a/cffi-1.17.1-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:8f2cdc858323644ab277e9bb925ad72ae0e67f69e804f4898c070998d50b1a67", size = 178592, upload-time = "2024-09-04T20:43:32.108Z" }, + { url = "https://files.pythonhosted.org/packages/de/cc/4635c320081c78d6ffc2cab0a76025b691a91204f4aa317d568ff9280a2d/cffi-1.17.1-cp310-cp310-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:edae79245293e15384b51f88b00613ba9f7198016a5948b5dddf4917d4d26382", size = 426024, upload-time = "2024-09-04T20:43:34.186Z" }, + { url = "https://files.pythonhosted.org/packages/b6/7b/3b2b250f3aab91abe5f8a51ada1b717935fdaec53f790ad4100fe2ec64d1/cffi-1.17.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:45398b671ac6d70e67da8e4224a065cec6a93541bb7aebe1b198a61b58c7b702", size = 448188, upload-time = "2024-09-04T20:43:36.286Z" }, + { url = "https://files.pythonhosted.org/packages/d3/48/1b9283ebbf0ec065148d8de05d647a986c5f22586b18120020452fff8f5d/cffi-1.17.1-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:ad9413ccdeda48c5afdae7e4fa2192157e991ff761e7ab8fdd8926f40b160cc3", size = 455571, upload-time = "2024-09-04T20:43:38.586Z" }, + { url = "https://files.pythonhosted.org/packages/40/87/3b8452525437b40f39ca7ff70276679772ee7e8b394934ff60e63b7b090c/cffi-1.17.1-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:5da5719280082ac6bd9aa7becb3938dc9f9cbd57fac7d2871717b1feb0902ab6", size = 436687, upload-time = "2024-09-04T20:43:40.084Z" }, + { url = "https://files.pythonhosted.org/packages/8d/fb/4da72871d177d63649ac449aec2e8a29efe0274035880c7af59101ca2232/cffi-1.17.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:2bb1a08b8008b281856e5971307cc386a8e9c5b625ac297e853d36da6efe9c17", size = 446211, upload-time = "2024-09-04T20:43:41.526Z" }, + { url = "https://files.pythonhosted.org/packages/ab/a0/62f00bcb411332106c02b663b26f3545a9ef136f80d5df746c05878f8c4b/cffi-1.17.1-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:045d61c734659cc045141be4bae381a41d89b741f795af1dd018bfb532fd0df8", size = 461325, upload-time = "2024-09-04T20:43:43.117Z" }, + { url = "https://files.pythonhosted.org/packages/36/83/76127035ed2e7e27b0787604d99da630ac3123bfb02d8e80c633f218a11d/cffi-1.17.1-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:6883e737d7d9e4899a8a695e00ec36bd4e5e4f18fabe0aca0efe0a4b44cdb13e", size = 438784, upload-time = "2024-09-04T20:43:45.256Z" }, + { url = "https://files.pythonhosted.org/packages/21/81/a6cd025db2f08ac88b901b745c163d884641909641f9b826e8cb87645942/cffi-1.17.1-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:6b8b4a92e1c65048ff98cfe1f735ef8f1ceb72e3d5f0c25fdb12087a23da22be", size = 461564, upload-time = "2024-09-04T20:43:46.779Z" }, + { url = "https://files.pythonhosted.org/packages/f8/fe/4d41c2f200c4a457933dbd98d3cf4e911870877bd94d9656cc0fcb390681/cffi-1.17.1-cp310-cp310-win32.whl", hash = "sha256:c9c3d058ebabb74db66e431095118094d06abf53284d9c81f27300d0e0d8bc7c", size = 171804, upload-time = "2024-09-04T20:43:48.186Z" }, + { url = "https://files.pythonhosted.org/packages/d1/b6/0b0f5ab93b0df4acc49cae758c81fe4e5ef26c3ae2e10cc69249dfd8b3ab/cffi-1.17.1-cp310-cp310-win_amd64.whl", hash = "sha256:0f048dcf80db46f0098ccac01132761580d28e28bc0f78ae0d58048063317e15", size = 181299, upload-time = "2024-09-04T20:43:49.812Z" }, + { url = "https://files.pythonhosted.org/packages/6b/f4/927e3a8899e52a27fa57a48607ff7dc91a9ebe97399b357b85a0c7892e00/cffi-1.17.1-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:a45e3c6913c5b87b3ff120dcdc03f6131fa0065027d0ed7ee6190736a74cd401", size = 182264, upload-time = "2024-09-04T20:43:51.124Z" }, + { url = "https://files.pythonhosted.org/packages/6c/f5/6c3a8efe5f503175aaddcbea6ad0d2c96dad6f5abb205750d1b3df44ef29/cffi-1.17.1-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:30c5e0cb5ae493c04c8b42916e52ca38079f1b235c2f8ae5f4527b963c401caf", size = 178651, upload-time = "2024-09-04T20:43:52.872Z" }, + { url = "https://files.pythonhosted.org/packages/94/dd/a3f0118e688d1b1a57553da23b16bdade96d2f9bcda4d32e7d2838047ff7/cffi-1.17.1-cp311-cp311-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:f75c7ab1f9e4aca5414ed4d8e5c0e303a34f4421f8a0d47a4d019ceff0ab6af4", size = 445259, upload-time = "2024-09-04T20:43:56.123Z" }, + { url = "https://files.pythonhosted.org/packages/2e/ea/70ce63780f096e16ce8588efe039d3c4f91deb1dc01e9c73a287939c79a6/cffi-1.17.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a1ed2dd2972641495a3ec98445e09766f077aee98a1c896dcb4ad0d303628e41", size = 469200, upload-time = "2024-09-04T20:43:57.891Z" }, + { url = "https://files.pythonhosted.org/packages/1c/a0/a4fa9f4f781bda074c3ddd57a572b060fa0df7655d2a4247bbe277200146/cffi-1.17.1-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:46bf43160c1a35f7ec506d254e5c890f3c03648a4dbac12d624e4490a7046cd1", size = 477235, upload-time = "2024-09-04T20:44:00.18Z" }, + { url = "https://files.pythonhosted.org/packages/62/12/ce8710b5b8affbcdd5c6e367217c242524ad17a02fe5beec3ee339f69f85/cffi-1.17.1-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:a24ed04c8ffd54b0729c07cee15a81d964e6fee0e3d4d342a27b020d22959dc6", size = 459721, upload-time = "2024-09-04T20:44:01.585Z" }, + { url = "https://files.pythonhosted.org/packages/ff/6b/d45873c5e0242196f042d555526f92aa9e0c32355a1be1ff8c27f077fd37/cffi-1.17.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:610faea79c43e44c71e1ec53a554553fa22321b65fae24889706c0a84d4ad86d", size = 467242, upload-time = "2024-09-04T20:44:03.467Z" }, + { url = "https://files.pythonhosted.org/packages/1a/52/d9a0e523a572fbccf2955f5abe883cfa8bcc570d7faeee06336fbd50c9fc/cffi-1.17.1-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:a9b15d491f3ad5d692e11f6b71f7857e7835eb677955c00cc0aefcd0669adaf6", size = 477999, upload-time = "2024-09-04T20:44:05.023Z" }, + { url = "https://files.pythonhosted.org/packages/44/74/f2a2460684a1a2d00ca799ad880d54652841a780c4c97b87754f660c7603/cffi-1.17.1-cp311-cp311-musllinux_1_1_i686.whl", hash = "sha256:de2ea4b5833625383e464549fec1bc395c1bdeeb5f25c4a3a82b5a8c756ec22f", size = 454242, upload-time = "2024-09-04T20:44:06.444Z" }, + { url = "https://files.pythonhosted.org/packages/f8/4a/34599cac7dfcd888ff54e801afe06a19c17787dfd94495ab0c8d35fe99fb/cffi-1.17.1-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:fc48c783f9c87e60831201f2cce7f3b2e4846bf4d8728eabe54d60700b318a0b", size = 478604, upload-time = "2024-09-04T20:44:08.206Z" }, + { url = "https://files.pythonhosted.org/packages/34/33/e1b8a1ba29025adbdcda5fb3a36f94c03d771c1b7b12f726ff7fef2ebe36/cffi-1.17.1-cp311-cp311-win32.whl", hash = "sha256:85a950a4ac9c359340d5963966e3e0a94a676bd6245a4b55bc43949eee26a655", size = 171727, upload-time = "2024-09-04T20:44:09.481Z" }, + { url = "https://files.pythonhosted.org/packages/3d/97/50228be003bb2802627d28ec0627837ac0bf35c90cf769812056f235b2d1/cffi-1.17.1-cp311-cp311-win_amd64.whl", hash = "sha256:caaf0640ef5f5517f49bc275eca1406b0ffa6aa184892812030f04c2abf589a0", size = 181400, upload-time = "2024-09-04T20:44:10.873Z" }, + { url = "https://files.pythonhosted.org/packages/5a/84/e94227139ee5fb4d600a7a4927f322e1d4aea6fdc50bd3fca8493caba23f/cffi-1.17.1-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:805b4371bf7197c329fcb3ead37e710d1bca9da5d583f5073b799d5c5bd1eee4", size = 183178, upload-time = "2024-09-04T20:44:12.232Z" }, + { url = "https://files.pythonhosted.org/packages/da/ee/fb72c2b48656111c4ef27f0f91da355e130a923473bf5ee75c5643d00cca/cffi-1.17.1-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:733e99bc2df47476e3848417c5a4540522f234dfd4ef3ab7fafdf555b082ec0c", size = 178840, upload-time = "2024-09-04T20:44:13.739Z" }, + { url = "https://files.pythonhosted.org/packages/cc/b6/db007700f67d151abadf508cbfd6a1884f57eab90b1bb985c4c8c02b0f28/cffi-1.17.1-cp312-cp312-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:1257bdabf294dceb59f5e70c64a3e2f462c30c7ad68092d01bbbfb1c16b1ba36", size = 454803, upload-time = "2024-09-04T20:44:15.231Z" }, + { url = "https://files.pythonhosted.org/packages/1a/df/f8d151540d8c200eb1c6fba8cd0dfd40904f1b0682ea705c36e6c2e97ab3/cffi-1.17.1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:da95af8214998d77a98cc14e3a3bd00aa191526343078b530ceb0bd710fb48a5", size = 478850, upload-time = "2024-09-04T20:44:17.188Z" }, + { url = "https://files.pythonhosted.org/packages/28/c0/b31116332a547fd2677ae5b78a2ef662dfc8023d67f41b2a83f7c2aa78b1/cffi-1.17.1-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:d63afe322132c194cf832bfec0dc69a99fb9bb6bbd550f161a49e9e855cc78ff", size = 485729, upload-time = "2024-09-04T20:44:18.688Z" }, + { url = "https://files.pythonhosted.org/packages/91/2b/9a1ddfa5c7f13cab007a2c9cc295b70fbbda7cb10a286aa6810338e60ea1/cffi-1.17.1-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:f79fc4fc25f1c8698ff97788206bb3c2598949bfe0fef03d299eb1b5356ada99", size = 471256, upload-time = "2024-09-04T20:44:20.248Z" }, + { url = "https://files.pythonhosted.org/packages/b2/d5/da47df7004cb17e4955df6a43d14b3b4ae77737dff8bf7f8f333196717bf/cffi-1.17.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:b62ce867176a75d03a665bad002af8e6d54644fad99a3c70905c543130e39d93", size = 479424, upload-time = "2024-09-04T20:44:21.673Z" }, + { url = "https://files.pythonhosted.org/packages/0b/ac/2a28bcf513e93a219c8a4e8e125534f4f6db03e3179ba1c45e949b76212c/cffi-1.17.1-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:386c8bf53c502fff58903061338ce4f4950cbdcb23e2902d86c0f722b786bbe3", size = 484568, upload-time = "2024-09-04T20:44:23.245Z" }, + { url = "https://files.pythonhosted.org/packages/d4/38/ca8a4f639065f14ae0f1d9751e70447a261f1a30fa7547a828ae08142465/cffi-1.17.1-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:4ceb10419a9adf4460ea14cfd6bc43d08701f0835e979bf821052f1805850fe8", size = 488736, upload-time = "2024-09-04T20:44:24.757Z" }, + { url = "https://files.pythonhosted.org/packages/86/c5/28b2d6f799ec0bdecf44dced2ec5ed43e0eb63097b0f58c293583b406582/cffi-1.17.1-cp312-cp312-win32.whl", hash = "sha256:a08d7e755f8ed21095a310a693525137cfe756ce62d066e53f502a83dc550f65", size = 172448, upload-time = "2024-09-04T20:44:26.208Z" }, + { url = "https://files.pythonhosted.org/packages/50/b9/db34c4755a7bd1cb2d1603ac3863f22bcecbd1ba29e5ee841a4bc510b294/cffi-1.17.1-cp312-cp312-win_amd64.whl", hash = "sha256:51392eae71afec0d0c8fb1a53b204dbb3bcabcb3c9b807eedf3e1e6ccf2de903", size = 181976, upload-time = "2024-09-04T20:44:27.578Z" }, + { url = "https://files.pythonhosted.org/packages/8d/f8/dd6c246b148639254dad4d6803eb6a54e8c85c6e11ec9df2cffa87571dbe/cffi-1.17.1-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:f3a2b4222ce6b60e2e8b337bb9596923045681d71e5a082783484d845390938e", size = 182989, upload-time = "2024-09-04T20:44:28.956Z" }, + { url = "https://files.pythonhosted.org/packages/8b/f1/672d303ddf17c24fc83afd712316fda78dc6fce1cd53011b839483e1ecc8/cffi-1.17.1-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:0984a4925a435b1da406122d4d7968dd861c1385afe3b45ba82b750f229811e2", size = 178802, upload-time = "2024-09-04T20:44:30.289Z" }, + { url = "https://files.pythonhosted.org/packages/0e/2d/eab2e858a91fdff70533cab61dcff4a1f55ec60425832ddfdc9cd36bc8af/cffi-1.17.1-cp313-cp313-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:d01b12eeeb4427d3110de311e1774046ad344f5b1a7403101878976ecd7a10f3", size = 454792, upload-time = "2024-09-04T20:44:32.01Z" }, + { url = "https://files.pythonhosted.org/packages/75/b2/fbaec7c4455c604e29388d55599b99ebcc250a60050610fadde58932b7ee/cffi-1.17.1-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:706510fe141c86a69c8ddc029c7910003a17353970cff3b904ff0686a5927683", size = 478893, upload-time = "2024-09-04T20:44:33.606Z" }, + { url = "https://files.pythonhosted.org/packages/4f/b7/6e4a2162178bf1935c336d4da8a9352cccab4d3a5d7914065490f08c0690/cffi-1.17.1-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:de55b766c7aa2e2a3092c51e0483d700341182f08e67c63630d5b6f200bb28e5", size = 485810, upload-time = "2024-09-04T20:44:35.191Z" }, + { url = "https://files.pythonhosted.org/packages/c7/8a/1d0e4a9c26e54746dc08c2c6c037889124d4f59dffd853a659fa545f1b40/cffi-1.17.1-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:c59d6e989d07460165cc5ad3c61f9fd8f1b4796eacbd81cee78957842b834af4", size = 471200, upload-time = "2024-09-04T20:44:36.743Z" }, + { url = "https://files.pythonhosted.org/packages/26/9f/1aab65a6c0db35f43c4d1b4f580e8df53914310afc10ae0397d29d697af4/cffi-1.17.1-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:dd398dbc6773384a17fe0d3e7eeb8d1a21c2200473ee6806bb5e6a8e62bb73dd", size = 479447, upload-time = "2024-09-04T20:44:38.492Z" }, + { url = "https://files.pythonhosted.org/packages/5f/e4/fb8b3dd8dc0e98edf1135ff067ae070bb32ef9d509d6cb0f538cd6f7483f/cffi-1.17.1-cp313-cp313-musllinux_1_1_aarch64.whl", hash = "sha256:3edc8d958eb099c634dace3c7e16560ae474aa3803a5df240542b305d14e14ed", size = 484358, upload-time = "2024-09-04T20:44:40.046Z" }, + { url = "https://files.pythonhosted.org/packages/f1/47/d7145bf2dc04684935d57d67dff9d6d795b2ba2796806bb109864be3a151/cffi-1.17.1-cp313-cp313-musllinux_1_1_x86_64.whl", hash = "sha256:72e72408cad3d5419375fc87d289076ee319835bdfa2caad331e377589aebba9", size = 488469, upload-time = "2024-09-04T20:44:41.616Z" }, + { url = "https://files.pythonhosted.org/packages/bf/ee/f94057fa6426481d663b88637a9a10e859e492c73d0384514a17d78ee205/cffi-1.17.1-cp313-cp313-win32.whl", hash = "sha256:e03eab0a8677fa80d646b5ddece1cbeaf556c313dcfac435ba11f107ba117b5d", size = 172475, upload-time = "2024-09-04T20:44:43.733Z" }, + { url = "https://files.pythonhosted.org/packages/7c/fc/6a8cb64e5f0324877d503c854da15d76c1e50eb722e320b15345c4d0c6de/cffi-1.17.1-cp313-cp313-win_amd64.whl", hash = "sha256:f6a16c31041f09ead72d69f583767292f750d24913dadacf5756b966aacb3f1a", size = 182009, upload-time = "2024-09-04T20:44:45.309Z" }, + { url = "https://files.pythonhosted.org/packages/48/08/15bf6b43ae9bd06f6b00ad8a91f5a8fe1069d4c9fab550a866755402724e/cffi-1.17.1-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:636062ea65bd0195bc012fea9321aca499c0504409f413dc88af450b57ffd03b", size = 182457, upload-time = "2024-09-04T20:44:47.892Z" }, + { url = "https://files.pythonhosted.org/packages/c2/5b/f1523dd545f92f7df468e5f653ffa4df30ac222f3c884e51e139878f1cb5/cffi-1.17.1-cp38-cp38-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:c7eac2ef9b63c79431bc4b25f1cd649d7f061a28808cbc6c47b534bd789ef964", size = 425932, upload-time = "2024-09-04T20:44:49.491Z" }, + { url = "https://files.pythonhosted.org/packages/53/93/7e547ab4105969cc8c93b38a667b82a835dd2cc78f3a7dad6130cfd41e1d/cffi-1.17.1-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:e221cf152cff04059d011ee126477f0d9588303eb57e88923578ace7baad17f9", size = 448585, upload-time = "2024-09-04T20:44:51.671Z" }, + { url = "https://files.pythonhosted.org/packages/56/c4/a308f2c332006206bb511de219efeff090e9d63529ba0a77aae72e82248b/cffi-1.17.1-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:31000ec67d4221a71bd3f67df918b1f88f676f1c3b535a7eb473255fdc0b83fc", size = 456268, upload-time = "2024-09-04T20:44:53.51Z" }, + { url = "https://files.pythonhosted.org/packages/ca/5b/b63681518265f2f4060d2b60755c1c77ec89e5e045fc3773b72735ddaad5/cffi-1.17.1-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:6f17be4345073b0a7b8ea599688f692ac3ef23ce28e5df79c04de519dbc4912c", size = 436592, upload-time = "2024-09-04T20:44:55.085Z" }, + { url = "https://files.pythonhosted.org/packages/bb/19/b51af9f4a4faa4a8ac5a0e5d5c2522dcd9703d07fac69da34a36c4d960d3/cffi-1.17.1-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:0e2b1fac190ae3ebfe37b979cc1ce69c81f4e4fe5746bb401dca63a9062cdaf1", size = 446512, upload-time = "2024-09-04T20:44:57.135Z" }, + { url = "https://files.pythonhosted.org/packages/e2/63/2bed8323890cb613bbecda807688a31ed11a7fe7afe31f8faaae0206a9a3/cffi-1.17.1-cp38-cp38-win32.whl", hash = "sha256:7596d6620d3fa590f677e9ee430df2958d2d6d6de2feeae5b20e82c00b76fbf8", size = 171576, upload-time = "2024-09-04T20:44:58.535Z" }, + { url = "https://files.pythonhosted.org/packages/2f/70/80c33b044ebc79527447fd4fbc5455d514c3bb840dede4455de97da39b4d/cffi-1.17.1-cp38-cp38-win_amd64.whl", hash = "sha256:78122be759c3f8a014ce010908ae03364d00a1f81ab5c7f4a7a5120607ea56e1", size = 181229, upload-time = "2024-09-04T20:44:59.963Z" }, + { url = "https://files.pythonhosted.org/packages/b9/ea/8bb50596b8ffbc49ddd7a1ad305035daa770202a6b782fc164647c2673ad/cffi-1.17.1-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:b2ab587605f4ba0bf81dc0cb08a41bd1c0a5906bd59243d56bad7668a6fc6c16", size = 182220, upload-time = "2024-09-04T20:45:01.577Z" }, + { url = "https://files.pythonhosted.org/packages/ae/11/e77c8cd24f58285a82c23af484cf5b124a376b32644e445960d1a4654c3a/cffi-1.17.1-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:28b16024becceed8c6dfbc75629e27788d8a3f9030691a1dbf9821a128b22c36", size = 178605, upload-time = "2024-09-04T20:45:03.837Z" }, + { url = "https://files.pythonhosted.org/packages/ed/65/25a8dc32c53bf5b7b6c2686b42ae2ad58743f7ff644844af7cdb29b49361/cffi-1.17.1-cp39-cp39-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:1d599671f396c4723d016dbddb72fe8e0397082b0a77a4fab8028923bec050e8", size = 424910, upload-time = "2024-09-04T20:45:05.315Z" }, + { url = "https://files.pythonhosted.org/packages/42/7a/9d086fab7c66bd7c4d0f27c57a1b6b068ced810afc498cc8c49e0088661c/cffi-1.17.1-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:ca74b8dbe6e8e8263c0ffd60277de77dcee6c837a3d0881d8c1ead7268c9e576", size = 447200, upload-time = "2024-09-04T20:45:06.903Z" }, + { url = "https://files.pythonhosted.org/packages/da/63/1785ced118ce92a993b0ec9e0d0ac8dc3e5dbfbcaa81135be56c69cabbb6/cffi-1.17.1-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:f7f5baafcc48261359e14bcd6d9bff6d4b28d9103847c9e136694cb0501aef87", size = 454565, upload-time = "2024-09-04T20:45:08.975Z" }, + { url = "https://files.pythonhosted.org/packages/74/06/90b8a44abf3556599cdec107f7290277ae8901a58f75e6fe8f970cd72418/cffi-1.17.1-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:98e3969bcff97cae1b2def8ba499ea3d6f31ddfdb7635374834cf89a1a08ecf0", size = 435635, upload-time = "2024-09-04T20:45:10.64Z" }, + { url = "https://files.pythonhosted.org/packages/bd/62/a1f468e5708a70b1d86ead5bab5520861d9c7eacce4a885ded9faa7729c3/cffi-1.17.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:cdf5ce3acdfd1661132f2a9c19cac174758dc2352bfe37d98aa7512c6b7178b3", size = 445218, upload-time = "2024-09-04T20:45:12.366Z" }, + { url = "https://files.pythonhosted.org/packages/5b/95/b34462f3ccb09c2594aa782d90a90b045de4ff1f70148ee79c69d37a0a5a/cffi-1.17.1-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:9755e4345d1ec879e3849e62222a18c7174d65a6a92d5b346b1863912168b595", size = 460486, upload-time = "2024-09-04T20:45:13.935Z" }, + { url = "https://files.pythonhosted.org/packages/fc/fc/a1e4bebd8d680febd29cf6c8a40067182b64f00c7d105f8f26b5bc54317b/cffi-1.17.1-cp39-cp39-musllinux_1_1_i686.whl", hash = "sha256:f1e22e8c4419538cb197e4dd60acc919d7696e5ef98ee4da4e01d3f8cfa4cc5a", size = 437911, upload-time = "2024-09-04T20:45:15.696Z" }, + { url = "https://files.pythonhosted.org/packages/e6/c3/21cab7a6154b6a5ea330ae80de386e7665254835b9e98ecc1340b3a7de9a/cffi-1.17.1-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:c03e868a0b3bc35839ba98e74211ed2b05d2119be4e8a0f224fba9384f1fe02e", size = 460632, upload-time = "2024-09-04T20:45:17.284Z" }, + { url = "https://files.pythonhosted.org/packages/cb/b5/fd9f8b5a84010ca169ee49f4e4ad6f8c05f4e3545b72ee041dbbcb159882/cffi-1.17.1-cp39-cp39-win32.whl", hash = "sha256:e31ae45bc2e29f6b2abd0de1cc3b9d5205aa847cafaecb8af1476a609a2f6eb7", size = 171820, upload-time = "2024-09-04T20:45:18.762Z" }, + { url = "https://files.pythonhosted.org/packages/8c/52/b08750ce0bce45c143e1b5d7357ee8c55341b52bdef4b0f081af1eb248c2/cffi-1.17.1-cp39-cp39-win_amd64.whl", hash = "sha256:d016c76bdd850f3c626af19b0542c9677ba156e4ee4fccfdd7848803533ef662", size = 181290, upload-time = "2024-09-04T20:45:20.226Z" }, ] [[package]] name = "chardet" version = "5.2.0" source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/f3/0d/f7b6ab21ec75897ed80c17d79b15951a719226b9fababf1e40ea74d69079/chardet-5.2.0.tar.gz", hash = "sha256:1b3b6ff479a8c414bc3fa2c0852995695c4a026dcd6d0633b2dd092ca39c1cf7", size = 2069618 } +sdist = { url = "https://files.pythonhosted.org/packages/f3/0d/f7b6ab21ec75897ed80c17d79b15951a719226b9fababf1e40ea74d69079/chardet-5.2.0.tar.gz", hash = "sha256:1b3b6ff479a8c414bc3fa2c0852995695c4a026dcd6d0633b2dd092ca39c1cf7", size = 2069618, upload-time = "2023-08-01T19:23:02.662Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/38/6f/f5fbc992a329ee4e0f288c1fe0e2ad9485ed064cac731ed2fe47dcc38cbf/chardet-5.2.0-py3-none-any.whl", hash = "sha256:e1cf59446890a00105fe7b7912492ea04b6e6f06d4b742b2c788469e34c82970", size = 199385 }, + { url = "https://files.pythonhosted.org/packages/38/6f/f5fbc992a329ee4e0f288c1fe0e2ad9485ed064cac731ed2fe47dcc38cbf/chardet-5.2.0-py3-none-any.whl", hash = "sha256:e1cf59446890a00105fe7b7912492ea04b6e6f06d4b742b2c788469e34c82970", size = 199385, upload-time = "2023-08-01T19:23:00.661Z" }, ] [[package]] name = "charset-normalizer" version = "3.4.1" source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/16/b0/572805e227f01586461c80e0fd25d65a2115599cc9dad142fee4b747c357/charset_normalizer-3.4.1.tar.gz", hash = "sha256:44251f18cd68a75b56585dd00dae26183e102cd5e0f9f1466e6df5da2ed64ea3", size = 123188 } -wheels = [ - { url = "https://files.pythonhosted.org/packages/0d/58/5580c1716040bc89206c77d8f74418caf82ce519aae06450393ca73475d1/charset_normalizer-3.4.1-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:91b36a978b5ae0ee86c394f5a54d6ef44db1de0815eb43de826d41d21e4af3de", size = 198013 }, - { url = "https://files.pythonhosted.org/packages/d0/11/00341177ae71c6f5159a08168bcb98c6e6d196d372c94511f9f6c9afe0c6/charset_normalizer-3.4.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:7461baadb4dc00fd9e0acbe254e3d7d2112e7f92ced2adc96e54ef6501c5f176", size = 141285 }, - { url = "https://files.pythonhosted.org/packages/01/09/11d684ea5819e5a8f5100fb0b38cf8d02b514746607934134d31233e02c8/charset_normalizer-3.4.1-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:e218488cd232553829be0664c2292d3af2eeeb94b32bea483cf79ac6a694e037", size = 151449 }, - { url = "https://files.pythonhosted.org/packages/08/06/9f5a12939db324d905dc1f70591ae7d7898d030d7662f0d426e2286f68c9/charset_normalizer-3.4.1-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:80ed5e856eb7f30115aaf94e4a08114ccc8813e6ed1b5efa74f9f82e8509858f", size = 143892 }, - { url = "https://files.pythonhosted.org/packages/93/62/5e89cdfe04584cb7f4d36003ffa2936681b03ecc0754f8e969c2becb7e24/charset_normalizer-3.4.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:b010a7a4fd316c3c484d482922d13044979e78d1861f0e0650423144c616a46a", size = 146123 }, - { url = "https://files.pythonhosted.org/packages/a9/ac/ab729a15c516da2ab70a05f8722ecfccc3f04ed7a18e45c75bbbaa347d61/charset_normalizer-3.4.1-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:4532bff1b8421fd0a320463030c7520f56a79c9024a4e88f01c537316019005a", size = 147943 }, - { url = "https://files.pythonhosted.org/packages/03/d2/3f392f23f042615689456e9a274640c1d2e5dd1d52de36ab8f7955f8f050/charset_normalizer-3.4.1-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:d973f03c0cb71c5ed99037b870f2be986c3c05e63622c017ea9816881d2dd247", size = 142063 }, - { url = "https://files.pythonhosted.org/packages/f2/e3/e20aae5e1039a2cd9b08d9205f52142329f887f8cf70da3650326670bddf/charset_normalizer-3.4.1-cp310-cp310-musllinux_1_2_i686.whl", hash = "sha256:3a3bd0dcd373514dcec91c411ddb9632c0d7d92aed7093b8c3bbb6d69ca74408", size = 150578 }, - { url = "https://files.pythonhosted.org/packages/8d/af/779ad72a4da0aed925e1139d458adc486e61076d7ecdcc09e610ea8678db/charset_normalizer-3.4.1-cp310-cp310-musllinux_1_2_ppc64le.whl", hash = "sha256:d9c3cdf5390dcd29aa8056d13e8e99526cda0305acc038b96b30352aff5ff2bb", size = 153629 }, - { url = "https://files.pythonhosted.org/packages/c2/b6/7aa450b278e7aa92cf7732140bfd8be21f5f29d5bf334ae987c945276639/charset_normalizer-3.4.1-cp310-cp310-musllinux_1_2_s390x.whl", hash = "sha256:2bdfe3ac2e1bbe5b59a1a63721eb3b95fc9b6817ae4a46debbb4e11f6232428d", size = 150778 }, - { url = "https://files.pythonhosted.org/packages/39/f4/d9f4f712d0951dcbfd42920d3db81b00dd23b6ab520419626f4023334056/charset_normalizer-3.4.1-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:eab677309cdb30d047996b36d34caeda1dc91149e4fdca0b1a039b3f79d9a807", size = 146453 }, - { url = "https://files.pythonhosted.org/packages/49/2b/999d0314e4ee0cff3cb83e6bc9aeddd397eeed693edb4facb901eb8fbb69/charset_normalizer-3.4.1-cp310-cp310-win32.whl", hash = "sha256:c0429126cf75e16c4f0ad00ee0eae4242dc652290f940152ca8c75c3a4b6ee8f", size = 95479 }, - { url = "https://files.pythonhosted.org/packages/2d/ce/3cbed41cff67e455a386fb5e5dd8906cdda2ed92fbc6297921f2e4419309/charset_normalizer-3.4.1-cp310-cp310-win_amd64.whl", hash = "sha256:9f0b8b1c6d84c8034a44893aba5e767bf9c7a211e313a9605d9c617d7083829f", size = 102790 }, - { url = "https://files.pythonhosted.org/packages/72/80/41ef5d5a7935d2d3a773e3eaebf0a9350542f2cab4eac59a7a4741fbbbbe/charset_normalizer-3.4.1-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:8bfa33f4f2672964266e940dd22a195989ba31669bd84629f05fab3ef4e2d125", size = 194995 }, - { url = "https://files.pythonhosted.org/packages/7a/28/0b9fefa7b8b080ec492110af6d88aa3dea91c464b17d53474b6e9ba5d2c5/charset_normalizer-3.4.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:28bf57629c75e810b6ae989f03c0828d64d6b26a5e205535585f96093e405ed1", size = 139471 }, - { url = "https://files.pythonhosted.org/packages/71/64/d24ab1a997efb06402e3fc07317e94da358e2585165930d9d59ad45fcae2/charset_normalizer-3.4.1-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:f08ff5e948271dc7e18a35641d2f11a4cd8dfd5634f55228b691e62b37125eb3", size = 149831 }, - { url = "https://files.pythonhosted.org/packages/37/ed/be39e5258e198655240db5e19e0b11379163ad7070962d6b0c87ed2c4d39/charset_normalizer-3.4.1-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:234ac59ea147c59ee4da87a0c0f098e9c8d169f4dc2a159ef720f1a61bbe27cd", size = 142335 }, - { url = "https://files.pythonhosted.org/packages/88/83/489e9504711fa05d8dde1574996408026bdbdbd938f23be67deebb5eca92/charset_normalizer-3.4.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:fd4ec41f914fa74ad1b8304bbc634b3de73d2a0889bd32076342a573e0779e00", size = 143862 }, - { url = "https://files.pythonhosted.org/packages/c6/c7/32da20821cf387b759ad24627a9aca289d2822de929b8a41b6241767b461/charset_normalizer-3.4.1-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:eea6ee1db730b3483adf394ea72f808b6e18cf3cb6454b4d86e04fa8c4327a12", size = 145673 }, - { url = "https://files.pythonhosted.org/packages/68/85/f4288e96039abdd5aeb5c546fa20a37b50da71b5cf01e75e87f16cd43304/charset_normalizer-3.4.1-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:c96836c97b1238e9c9e3fe90844c947d5afbf4f4c92762679acfe19927d81d77", size = 140211 }, - { url = "https://files.pythonhosted.org/packages/28/a3/a42e70d03cbdabc18997baf4f0227c73591a08041c149e710045c281f97b/charset_normalizer-3.4.1-cp311-cp311-musllinux_1_2_i686.whl", hash = "sha256:4d86f7aff21ee58f26dcf5ae81a9addbd914115cdebcbb2217e4f0ed8982e146", size = 148039 }, - { url = "https://files.pythonhosted.org/packages/85/e4/65699e8ab3014ecbe6f5c71d1a55d810fb716bbfd74f6283d5c2aa87febf/charset_normalizer-3.4.1-cp311-cp311-musllinux_1_2_ppc64le.whl", hash = "sha256:09b5e6733cbd160dcc09589227187e242a30a49ca5cefa5a7edd3f9d19ed53fd", size = 151939 }, - { url = "https://files.pythonhosted.org/packages/b1/82/8e9fe624cc5374193de6860aba3ea8070f584c8565ee77c168ec13274bd2/charset_normalizer-3.4.1-cp311-cp311-musllinux_1_2_s390x.whl", hash = "sha256:5777ee0881f9499ed0f71cc82cf873d9a0ca8af166dfa0af8ec4e675b7df48e6", size = 149075 }, - { url = "https://files.pythonhosted.org/packages/3d/7b/82865ba54c765560c8433f65e8acb9217cb839a9e32b42af4aa8e945870f/charset_normalizer-3.4.1-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:237bdbe6159cff53b4f24f397d43c6336c6b0b42affbe857970cefbb620911c8", size = 144340 }, - { url = "https://files.pythonhosted.org/packages/b5/b6/9674a4b7d4d99a0d2df9b215da766ee682718f88055751e1e5e753c82db0/charset_normalizer-3.4.1-cp311-cp311-win32.whl", hash = "sha256:8417cb1f36cc0bc7eaba8ccb0e04d55f0ee52df06df3ad55259b9a323555fc8b", size = 95205 }, - { url = "https://files.pythonhosted.org/packages/1e/ab/45b180e175de4402dcf7547e4fb617283bae54ce35c27930a6f35b6bef15/charset_normalizer-3.4.1-cp311-cp311-win_amd64.whl", hash = "sha256:d7f50a1f8c450f3925cb367d011448c39239bb3eb4117c36a6d354794de4ce76", size = 102441 }, - { url = "https://files.pythonhosted.org/packages/0a/9a/dd1e1cdceb841925b7798369a09279bd1cf183cef0f9ddf15a3a6502ee45/charset_normalizer-3.4.1-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:73d94b58ec7fecbc7366247d3b0b10a21681004153238750bb67bd9012414545", size = 196105 }, - { url = "https://files.pythonhosted.org/packages/d3/8c/90bfabf8c4809ecb648f39794cf2a84ff2e7d2a6cf159fe68d9a26160467/charset_normalizer-3.4.1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:dad3e487649f498dd991eeb901125411559b22e8d7ab25d3aeb1af367df5efd7", size = 140404 }, - { url = "https://files.pythonhosted.org/packages/ad/8f/e410d57c721945ea3b4f1a04b74f70ce8fa800d393d72899f0a40526401f/charset_normalizer-3.4.1-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:c30197aa96e8eed02200a83fba2657b4c3acd0f0aa4bdc9f6c1af8e8962e0757", size = 150423 }, - { url = "https://files.pythonhosted.org/packages/f0/b8/e6825e25deb691ff98cf5c9072ee0605dc2acfca98af70c2d1b1bc75190d/charset_normalizer-3.4.1-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:2369eea1ee4a7610a860d88f268eb39b95cb588acd7235e02fd5a5601773d4fa", size = 143184 }, - { url = "https://files.pythonhosted.org/packages/3e/a2/513f6cbe752421f16d969e32f3583762bfd583848b763913ddab8d9bfd4f/charset_normalizer-3.4.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:bc2722592d8998c870fa4e290c2eec2c1569b87fe58618e67d38b4665dfa680d", size = 145268 }, - { url = "https://files.pythonhosted.org/packages/74/94/8a5277664f27c3c438546f3eb53b33f5b19568eb7424736bdc440a88a31f/charset_normalizer-3.4.1-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:ffc9202a29ab3920fa812879e95a9e78b2465fd10be7fcbd042899695d75e616", size = 147601 }, - { url = "https://files.pythonhosted.org/packages/7c/5f/6d352c51ee763623a98e31194823518e09bfa48be2a7e8383cf691bbb3d0/charset_normalizer-3.4.1-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:804a4d582ba6e5b747c625bf1255e6b1507465494a40a2130978bda7b932c90b", size = 141098 }, - { url = "https://files.pythonhosted.org/packages/78/d4/f5704cb629ba5ab16d1d3d741396aec6dc3ca2b67757c45b0599bb010478/charset_normalizer-3.4.1-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:0f55e69f030f7163dffe9fd0752b32f070566451afe180f99dbeeb81f511ad8d", size = 149520 }, - { url = "https://files.pythonhosted.org/packages/c5/96/64120b1d02b81785f222b976c0fb79a35875457fa9bb40827678e54d1bc8/charset_normalizer-3.4.1-cp312-cp312-musllinux_1_2_ppc64le.whl", hash = "sha256:c4c3e6da02df6fa1410a7680bd3f63d4f710232d3139089536310d027950696a", size = 152852 }, - { url = "https://files.pythonhosted.org/packages/84/c9/98e3732278a99f47d487fd3468bc60b882920cef29d1fa6ca460a1fdf4e6/charset_normalizer-3.4.1-cp312-cp312-musllinux_1_2_s390x.whl", hash = "sha256:5df196eb874dae23dcfb968c83d4f8fdccb333330fe1fc278ac5ceeb101003a9", size = 150488 }, - { url = "https://files.pythonhosted.org/packages/13/0e/9c8d4cb99c98c1007cc11eda969ebfe837bbbd0acdb4736d228ccaabcd22/charset_normalizer-3.4.1-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:e358e64305fe12299a08e08978f51fc21fac060dcfcddd95453eabe5b93ed0e1", size = 146192 }, - { url = "https://files.pythonhosted.org/packages/b2/21/2b6b5b860781a0b49427309cb8670785aa543fb2178de875b87b9cc97746/charset_normalizer-3.4.1-cp312-cp312-win32.whl", hash = "sha256:9b23ca7ef998bc739bf6ffc077c2116917eabcc901f88da1b9856b210ef63f35", size = 95550 }, - { url = "https://files.pythonhosted.org/packages/21/5b/1b390b03b1d16c7e382b561c5329f83cc06623916aab983e8ab9239c7d5c/charset_normalizer-3.4.1-cp312-cp312-win_amd64.whl", hash = "sha256:6ff8a4a60c227ad87030d76e99cd1698345d4491638dfa6673027c48b3cd395f", size = 102785 }, - { url = "https://files.pythonhosted.org/packages/38/94/ce8e6f63d18049672c76d07d119304e1e2d7c6098f0841b51c666e9f44a0/charset_normalizer-3.4.1-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:aabfa34badd18f1da5ec1bc2715cadc8dca465868a4e73a0173466b688f29dda", size = 195698 }, - { url = "https://files.pythonhosted.org/packages/24/2e/dfdd9770664aae179a96561cc6952ff08f9a8cd09a908f259a9dfa063568/charset_normalizer-3.4.1-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:22e14b5d70560b8dd51ec22863f370d1e595ac3d024cb8ad7d308b4cd95f8313", size = 140162 }, - { url = "https://files.pythonhosted.org/packages/24/4e/f646b9093cff8fc86f2d60af2de4dc17c759de9d554f130b140ea4738ca6/charset_normalizer-3.4.1-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:8436c508b408b82d87dc5f62496973a1805cd46727c34440b0d29d8a2f50a6c9", size = 150263 }, - { url = "https://files.pythonhosted.org/packages/5e/67/2937f8d548c3ef6e2f9aab0f6e21001056f692d43282b165e7c56023e6dd/charset_normalizer-3.4.1-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:2d074908e1aecee37a7635990b2c6d504cd4766c7bc9fc86d63f9c09af3fa11b", size = 142966 }, - { url = "https://files.pythonhosted.org/packages/52/ed/b7f4f07de100bdb95c1756d3a4d17b90c1a3c53715c1a476f8738058e0fa/charset_normalizer-3.4.1-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:955f8851919303c92343d2f66165294848d57e9bba6cf6e3625485a70a038d11", size = 144992 }, - { url = "https://files.pythonhosted.org/packages/96/2c/d49710a6dbcd3776265f4c923bb73ebe83933dfbaa841c5da850fe0fd20b/charset_normalizer-3.4.1-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:44ecbf16649486d4aebafeaa7ec4c9fed8b88101f4dd612dcaf65d5e815f837f", size = 147162 }, - { url = "https://files.pythonhosted.org/packages/b4/41/35ff1f9a6bd380303dea55e44c4933b4cc3c4850988927d4082ada230273/charset_normalizer-3.4.1-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:0924e81d3d5e70f8126529951dac65c1010cdf117bb75eb02dd12339b57749dd", size = 140972 }, - { url = "https://files.pythonhosted.org/packages/fb/43/c6a0b685fe6910d08ba971f62cd9c3e862a85770395ba5d9cad4fede33ab/charset_normalizer-3.4.1-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:2967f74ad52c3b98de4c3b32e1a44e32975e008a9cd2a8cc8966d6a5218c5cb2", size = 149095 }, - { url = "https://files.pythonhosted.org/packages/4c/ff/a9a504662452e2d2878512115638966e75633519ec11f25fca3d2049a94a/charset_normalizer-3.4.1-cp313-cp313-musllinux_1_2_ppc64le.whl", hash = "sha256:c75cb2a3e389853835e84a2d8fb2b81a10645b503eca9bcb98df6b5a43eb8886", size = 152668 }, - { url = "https://files.pythonhosted.org/packages/6c/71/189996b6d9a4b932564701628af5cee6716733e9165af1d5e1b285c530ed/charset_normalizer-3.4.1-cp313-cp313-musllinux_1_2_s390x.whl", hash = "sha256:09b26ae6b1abf0d27570633b2b078a2a20419c99d66fb2823173d73f188ce601", size = 150073 }, - { url = "https://files.pythonhosted.org/packages/e4/93/946a86ce20790e11312c87c75ba68d5f6ad2208cfb52b2d6a2c32840d922/charset_normalizer-3.4.1-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:fa88b843d6e211393a37219e6a1c1df99d35e8fd90446f1118f4216e307e48cd", size = 145732 }, - { url = "https://files.pythonhosted.org/packages/cd/e5/131d2fb1b0dddafc37be4f3a2fa79aa4c037368be9423061dccadfd90091/charset_normalizer-3.4.1-cp313-cp313-win32.whl", hash = "sha256:eb8178fe3dba6450a3e024e95ac49ed3400e506fd4e9e5c32d30adda88cbd407", size = 95391 }, - { url = "https://files.pythonhosted.org/packages/27/f2/4f9a69cc7712b9b5ad8fdb87039fd89abba997ad5cbe690d1835d40405b0/charset_normalizer-3.4.1-cp313-cp313-win_amd64.whl", hash = "sha256:b1ac5992a838106edb89654e0aebfc24f5848ae2547d22c2c3f66454daa11971", size = 102702 }, - { url = "https://files.pythonhosted.org/packages/10/bd/6517ea94f2672e801011d50b5d06be2a0deaf566aea27bcdcd47e5195357/charset_normalizer-3.4.1-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:ecddf25bee22fe4fe3737a399d0d177d72bc22be6913acfab364b40bce1ba83c", size = 195653 }, - { url = "https://files.pythonhosted.org/packages/e5/0d/815a2ba3f283b4eeaa5ece57acade365c5b4135f65a807a083c818716582/charset_normalizer-3.4.1-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:8c60ca7339acd497a55b0ea5d506b2a2612afb2826560416f6894e8b5770d4a9", size = 140701 }, - { url = "https://files.pythonhosted.org/packages/aa/17/c94be7ee0d142687e047fe1de72060f6d6837f40eedc26e87e6e124a3fc6/charset_normalizer-3.4.1-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:b7b2d86dd06bfc2ade3312a83a5c364c7ec2e3498f8734282c6c3d4b07b346b8", size = 150495 }, - { url = "https://files.pythonhosted.org/packages/f7/33/557ac796c47165fc141e4fb71d7b0310f67e05cb420756f3a82e0a0068e0/charset_normalizer-3.4.1-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:dd78cfcda14a1ef52584dbb008f7ac81c1328c0f58184bf9a84c49c605002da6", size = 142946 }, - { url = "https://files.pythonhosted.org/packages/1e/0d/38ef4ae41e9248d63fc4998d933cae22473b1b2ac4122cf908d0f5eb32aa/charset_normalizer-3.4.1-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:6e27f48bcd0957c6d4cb9d6fa6b61d192d0b13d5ef563e5f2ae35feafc0d179c", size = 144737 }, - { url = "https://files.pythonhosted.org/packages/43/01/754cdb29dd0560f58290aaaa284d43eea343ad0512e6ad3b8b5c11f08592/charset_normalizer-3.4.1-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:01ad647cdd609225c5350561d084b42ddf732f4eeefe6e678765636791e78b9a", size = 147471 }, - { url = "https://files.pythonhosted.org/packages/ba/cd/861883ba5160c7a9bd242c30b2c71074cda2aefcc0addc91118e0d4e0765/charset_normalizer-3.4.1-cp38-cp38-musllinux_1_2_aarch64.whl", hash = "sha256:619a609aa74ae43d90ed2e89bdd784765de0a25ca761b93e196d938b8fd1dbbd", size = 140801 }, - { url = "https://files.pythonhosted.org/packages/6f/7f/0c0dad447819e90b93f8ed238cc8f11b91353c23c19e70fa80483a155bed/charset_normalizer-3.4.1-cp38-cp38-musllinux_1_2_i686.whl", hash = "sha256:89149166622f4db9b4b6a449256291dc87a99ee53151c74cbd82a53c8c2f6ccd", size = 149312 }, - { url = "https://files.pythonhosted.org/packages/8e/09/9f8abcc6fff60fb727268b63c376c8c79cc37b833c2dfe1f535dfb59523b/charset_normalizer-3.4.1-cp38-cp38-musllinux_1_2_ppc64le.whl", hash = "sha256:7709f51f5f7c853f0fb938bcd3bc59cdfdc5203635ffd18bf354f6967ea0f824", size = 152347 }, - { url = "https://files.pythonhosted.org/packages/be/e5/3f363dad2e24378f88ccf63ecc39e817c29f32e308ef21a7a6d9c1201165/charset_normalizer-3.4.1-cp38-cp38-musllinux_1_2_s390x.whl", hash = "sha256:345b0426edd4e18138d6528aed636de7a9ed169b4aaf9d61a8c19e39d26838ca", size = 149888 }, - { url = "https://files.pythonhosted.org/packages/e4/10/a78c0e91f487b4ad0ef7480ac765e15b774f83de2597f1b6ef0eaf7a2f99/charset_normalizer-3.4.1-cp38-cp38-musllinux_1_2_x86_64.whl", hash = "sha256:0907f11d019260cdc3f94fbdb23ff9125f6b5d1039b76003b5b0ac9d6a6c9d5b", size = 145169 }, - { url = "https://files.pythonhosted.org/packages/d3/81/396e7d7f5d7420da8273c91175d2e9a3f569288e3611d521685e4b9ac9cc/charset_normalizer-3.4.1-cp38-cp38-win32.whl", hash = "sha256:ea0d8d539afa5eb2728aa1932a988a9a7af94f18582ffae4bc10b3fbdad0626e", size = 95094 }, - { url = "https://files.pythonhosted.org/packages/40/bb/20affbbd9ea29c71ea123769dc568a6d42052ff5089c5fe23e21e21084a6/charset_normalizer-3.4.1-cp38-cp38-win_amd64.whl", hash = "sha256:329ce159e82018d646c7ac45b01a430369d526569ec08516081727a20e9e4af4", size = 102139 }, - { url = "https://files.pythonhosted.org/packages/7f/c0/b913f8f02836ed9ab32ea643c6fe4d3325c3d8627cf6e78098671cafff86/charset_normalizer-3.4.1-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:b97e690a2118911e39b4042088092771b4ae3fc3aa86518f84b8cf6888dbdb41", size = 197867 }, - { url = "https://files.pythonhosted.org/packages/0f/6c/2bee440303d705b6fb1e2ec789543edec83d32d258299b16eed28aad48e0/charset_normalizer-3.4.1-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:78baa6d91634dfb69ec52a463534bc0df05dbd546209b79a3880a34487f4b84f", size = 141385 }, - { url = "https://files.pythonhosted.org/packages/3d/04/cb42585f07f6f9fd3219ffb6f37d5a39b4fd2db2355b23683060029c35f7/charset_normalizer-3.4.1-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:1a2bc9f351a75ef49d664206d51f8e5ede9da246602dc2d2726837620ea034b2", size = 151367 }, - { url = "https://files.pythonhosted.org/packages/54/54/2412a5b093acb17f0222de007cc129ec0e0df198b5ad2ce5699355269dfe/charset_normalizer-3.4.1-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:75832c08354f595c760a804588b9357d34ec00ba1c940c15e31e96d902093770", size = 143928 }, - { url = "https://files.pythonhosted.org/packages/5a/6d/e2773862b043dcf8a221342954f375392bb2ce6487bcd9f2c1b34e1d6781/charset_normalizer-3.4.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:0af291f4fe114be0280cdd29d533696a77b5b49cfde5467176ecab32353395c4", size = 146203 }, - { url = "https://files.pythonhosted.org/packages/b9/f8/ca440ef60d8f8916022859885f231abb07ada3c347c03d63f283bec32ef5/charset_normalizer-3.4.1-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:0167ddc8ab6508fe81860a57dd472b2ef4060e8d378f0cc555707126830f2537", size = 148082 }, - { url = "https://files.pythonhosted.org/packages/04/d2/42fd330901aaa4b805a1097856c2edf5095e260a597f65def493f4b8c833/charset_normalizer-3.4.1-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:2a75d49014d118e4198bcee5ee0a6f25856b29b12dbf7cd012791f8a6cc5c496", size = 142053 }, - { url = "https://files.pythonhosted.org/packages/9e/af/3a97a4fa3c53586f1910dadfc916e9c4f35eeada36de4108f5096cb7215f/charset_normalizer-3.4.1-cp39-cp39-musllinux_1_2_i686.whl", hash = "sha256:363e2f92b0f0174b2f8238240a1a30142e3db7b957a5dd5689b0e75fb717cc78", size = 150625 }, - { url = "https://files.pythonhosted.org/packages/26/ae/23d6041322a3556e4da139663d02fb1b3c59a23ab2e2b56432bd2ad63ded/charset_normalizer-3.4.1-cp39-cp39-musllinux_1_2_ppc64le.whl", hash = "sha256:ab36c8eb7e454e34e60eb55ca5d241a5d18b2c6244f6827a30e451c42410b5f7", size = 153549 }, - { url = "https://files.pythonhosted.org/packages/94/22/b8f2081c6a77cb20d97e57e0b385b481887aa08019d2459dc2858ed64871/charset_normalizer-3.4.1-cp39-cp39-musllinux_1_2_s390x.whl", hash = "sha256:4c0907b1928a36d5a998d72d64d8eaa7244989f7aaaf947500d3a800c83a3fd6", size = 150945 }, - { url = "https://files.pythonhosted.org/packages/c7/0b/c5ec5092747f801b8b093cdf5610e732b809d6cb11f4c51e35fc28d1d389/charset_normalizer-3.4.1-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:04432ad9479fa40ec0f387795ddad4437a2b50417c69fa275e212933519ff294", size = 146595 }, - { url = "https://files.pythonhosted.org/packages/0c/5a/0b59704c38470df6768aa154cc87b1ac7c9bb687990a1559dc8765e8627e/charset_normalizer-3.4.1-cp39-cp39-win32.whl", hash = "sha256:3bed14e9c89dcb10e8f3a29f9ccac4955aebe93c71ae803af79265c9ca5644c5", size = 95453 }, - { url = "https://files.pythonhosted.org/packages/85/2d/a9790237cb4d01a6d57afadc8573c8b73c609ade20b80f4cda30802009ee/charset_normalizer-3.4.1-cp39-cp39-win_amd64.whl", hash = "sha256:49402233c892a461407c512a19435d1ce275543138294f7ef013f0b63d5d3765", size = 102811 }, - { url = "https://files.pythonhosted.org/packages/0e/f6/65ecc6878a89bb1c23a086ea335ad4bf21a588990c3f535a227b9eea9108/charset_normalizer-3.4.1-py3-none-any.whl", hash = "sha256:d98b1668f06378c6dbefec3b92299716b931cd4e6061f3c875a71ced1780ab85", size = 49767 }, +sdist = { url = "https://files.pythonhosted.org/packages/16/b0/572805e227f01586461c80e0fd25d65a2115599cc9dad142fee4b747c357/charset_normalizer-3.4.1.tar.gz", hash = "sha256:44251f18cd68a75b56585dd00dae26183e102cd5e0f9f1466e6df5da2ed64ea3", size = 123188, upload-time = "2024-12-24T18:12:35.43Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/0d/58/5580c1716040bc89206c77d8f74418caf82ce519aae06450393ca73475d1/charset_normalizer-3.4.1-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:91b36a978b5ae0ee86c394f5a54d6ef44db1de0815eb43de826d41d21e4af3de", size = 198013, upload-time = "2024-12-24T18:09:43.671Z" }, + { url = "https://files.pythonhosted.org/packages/d0/11/00341177ae71c6f5159a08168bcb98c6e6d196d372c94511f9f6c9afe0c6/charset_normalizer-3.4.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:7461baadb4dc00fd9e0acbe254e3d7d2112e7f92ced2adc96e54ef6501c5f176", size = 141285, upload-time = "2024-12-24T18:09:48.113Z" }, + { url = "https://files.pythonhosted.org/packages/01/09/11d684ea5819e5a8f5100fb0b38cf8d02b514746607934134d31233e02c8/charset_normalizer-3.4.1-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:e218488cd232553829be0664c2292d3af2eeeb94b32bea483cf79ac6a694e037", size = 151449, upload-time = "2024-12-24T18:09:50.845Z" }, + { url = "https://files.pythonhosted.org/packages/08/06/9f5a12939db324d905dc1f70591ae7d7898d030d7662f0d426e2286f68c9/charset_normalizer-3.4.1-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:80ed5e856eb7f30115aaf94e4a08114ccc8813e6ed1b5efa74f9f82e8509858f", size = 143892, upload-time = "2024-12-24T18:09:52.078Z" }, + { url = "https://files.pythonhosted.org/packages/93/62/5e89cdfe04584cb7f4d36003ffa2936681b03ecc0754f8e969c2becb7e24/charset_normalizer-3.4.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:b010a7a4fd316c3c484d482922d13044979e78d1861f0e0650423144c616a46a", size = 146123, upload-time = "2024-12-24T18:09:54.575Z" }, + { url = "https://files.pythonhosted.org/packages/a9/ac/ab729a15c516da2ab70a05f8722ecfccc3f04ed7a18e45c75bbbaa347d61/charset_normalizer-3.4.1-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:4532bff1b8421fd0a320463030c7520f56a79c9024a4e88f01c537316019005a", size = 147943, upload-time = "2024-12-24T18:09:57.324Z" }, + { url = "https://files.pythonhosted.org/packages/03/d2/3f392f23f042615689456e9a274640c1d2e5dd1d52de36ab8f7955f8f050/charset_normalizer-3.4.1-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:d973f03c0cb71c5ed99037b870f2be986c3c05e63622c017ea9816881d2dd247", size = 142063, upload-time = "2024-12-24T18:09:59.794Z" }, + { url = "https://files.pythonhosted.org/packages/f2/e3/e20aae5e1039a2cd9b08d9205f52142329f887f8cf70da3650326670bddf/charset_normalizer-3.4.1-cp310-cp310-musllinux_1_2_i686.whl", hash = "sha256:3a3bd0dcd373514dcec91c411ddb9632c0d7d92aed7093b8c3bbb6d69ca74408", size = 150578, upload-time = "2024-12-24T18:10:02.357Z" }, + { url = "https://files.pythonhosted.org/packages/8d/af/779ad72a4da0aed925e1139d458adc486e61076d7ecdcc09e610ea8678db/charset_normalizer-3.4.1-cp310-cp310-musllinux_1_2_ppc64le.whl", hash = "sha256:d9c3cdf5390dcd29aa8056d13e8e99526cda0305acc038b96b30352aff5ff2bb", size = 153629, upload-time = "2024-12-24T18:10:03.678Z" }, + { url = "https://files.pythonhosted.org/packages/c2/b6/7aa450b278e7aa92cf7732140bfd8be21f5f29d5bf334ae987c945276639/charset_normalizer-3.4.1-cp310-cp310-musllinux_1_2_s390x.whl", hash = "sha256:2bdfe3ac2e1bbe5b59a1a63721eb3b95fc9b6817ae4a46debbb4e11f6232428d", size = 150778, upload-time = "2024-12-24T18:10:06.197Z" }, + { url = "https://files.pythonhosted.org/packages/39/f4/d9f4f712d0951dcbfd42920d3db81b00dd23b6ab520419626f4023334056/charset_normalizer-3.4.1-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:eab677309cdb30d047996b36d34caeda1dc91149e4fdca0b1a039b3f79d9a807", size = 146453, upload-time = "2024-12-24T18:10:08.848Z" }, + { url = "https://files.pythonhosted.org/packages/49/2b/999d0314e4ee0cff3cb83e6bc9aeddd397eeed693edb4facb901eb8fbb69/charset_normalizer-3.4.1-cp310-cp310-win32.whl", hash = "sha256:c0429126cf75e16c4f0ad00ee0eae4242dc652290f940152ca8c75c3a4b6ee8f", size = 95479, upload-time = "2024-12-24T18:10:10.044Z" }, + { url = "https://files.pythonhosted.org/packages/2d/ce/3cbed41cff67e455a386fb5e5dd8906cdda2ed92fbc6297921f2e4419309/charset_normalizer-3.4.1-cp310-cp310-win_amd64.whl", hash = "sha256:9f0b8b1c6d84c8034a44893aba5e767bf9c7a211e313a9605d9c617d7083829f", size = 102790, upload-time = "2024-12-24T18:10:11.323Z" }, + { url = "https://files.pythonhosted.org/packages/72/80/41ef5d5a7935d2d3a773e3eaebf0a9350542f2cab4eac59a7a4741fbbbbe/charset_normalizer-3.4.1-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:8bfa33f4f2672964266e940dd22a195989ba31669bd84629f05fab3ef4e2d125", size = 194995, upload-time = "2024-12-24T18:10:12.838Z" }, + { url = "https://files.pythonhosted.org/packages/7a/28/0b9fefa7b8b080ec492110af6d88aa3dea91c464b17d53474b6e9ba5d2c5/charset_normalizer-3.4.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:28bf57629c75e810b6ae989f03c0828d64d6b26a5e205535585f96093e405ed1", size = 139471, upload-time = "2024-12-24T18:10:14.101Z" }, + { url = "https://files.pythonhosted.org/packages/71/64/d24ab1a997efb06402e3fc07317e94da358e2585165930d9d59ad45fcae2/charset_normalizer-3.4.1-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:f08ff5e948271dc7e18a35641d2f11a4cd8dfd5634f55228b691e62b37125eb3", size = 149831, upload-time = "2024-12-24T18:10:15.512Z" }, + { url = "https://files.pythonhosted.org/packages/37/ed/be39e5258e198655240db5e19e0b11379163ad7070962d6b0c87ed2c4d39/charset_normalizer-3.4.1-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:234ac59ea147c59ee4da87a0c0f098e9c8d169f4dc2a159ef720f1a61bbe27cd", size = 142335, upload-time = "2024-12-24T18:10:18.369Z" }, + { url = "https://files.pythonhosted.org/packages/88/83/489e9504711fa05d8dde1574996408026bdbdbd938f23be67deebb5eca92/charset_normalizer-3.4.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:fd4ec41f914fa74ad1b8304bbc634b3de73d2a0889bd32076342a573e0779e00", size = 143862, upload-time = "2024-12-24T18:10:19.743Z" }, + { url = "https://files.pythonhosted.org/packages/c6/c7/32da20821cf387b759ad24627a9aca289d2822de929b8a41b6241767b461/charset_normalizer-3.4.1-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:eea6ee1db730b3483adf394ea72f808b6e18cf3cb6454b4d86e04fa8c4327a12", size = 145673, upload-time = "2024-12-24T18:10:21.139Z" }, + { url = "https://files.pythonhosted.org/packages/68/85/f4288e96039abdd5aeb5c546fa20a37b50da71b5cf01e75e87f16cd43304/charset_normalizer-3.4.1-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:c96836c97b1238e9c9e3fe90844c947d5afbf4f4c92762679acfe19927d81d77", size = 140211, upload-time = "2024-12-24T18:10:22.382Z" }, + { url = "https://files.pythonhosted.org/packages/28/a3/a42e70d03cbdabc18997baf4f0227c73591a08041c149e710045c281f97b/charset_normalizer-3.4.1-cp311-cp311-musllinux_1_2_i686.whl", hash = "sha256:4d86f7aff21ee58f26dcf5ae81a9addbd914115cdebcbb2217e4f0ed8982e146", size = 148039, upload-time = "2024-12-24T18:10:24.802Z" }, + { url = "https://files.pythonhosted.org/packages/85/e4/65699e8ab3014ecbe6f5c71d1a55d810fb716bbfd74f6283d5c2aa87febf/charset_normalizer-3.4.1-cp311-cp311-musllinux_1_2_ppc64le.whl", hash = "sha256:09b5e6733cbd160dcc09589227187e242a30a49ca5cefa5a7edd3f9d19ed53fd", size = 151939, upload-time = "2024-12-24T18:10:26.124Z" }, + { url = "https://files.pythonhosted.org/packages/b1/82/8e9fe624cc5374193de6860aba3ea8070f584c8565ee77c168ec13274bd2/charset_normalizer-3.4.1-cp311-cp311-musllinux_1_2_s390x.whl", hash = "sha256:5777ee0881f9499ed0f71cc82cf873d9a0ca8af166dfa0af8ec4e675b7df48e6", size = 149075, upload-time = "2024-12-24T18:10:30.027Z" }, + { url = "https://files.pythonhosted.org/packages/3d/7b/82865ba54c765560c8433f65e8acb9217cb839a9e32b42af4aa8e945870f/charset_normalizer-3.4.1-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:237bdbe6159cff53b4f24f397d43c6336c6b0b42affbe857970cefbb620911c8", size = 144340, upload-time = "2024-12-24T18:10:32.679Z" }, + { url = "https://files.pythonhosted.org/packages/b5/b6/9674a4b7d4d99a0d2df9b215da766ee682718f88055751e1e5e753c82db0/charset_normalizer-3.4.1-cp311-cp311-win32.whl", hash = "sha256:8417cb1f36cc0bc7eaba8ccb0e04d55f0ee52df06df3ad55259b9a323555fc8b", size = 95205, upload-time = "2024-12-24T18:10:34.724Z" }, + { url = "https://files.pythonhosted.org/packages/1e/ab/45b180e175de4402dcf7547e4fb617283bae54ce35c27930a6f35b6bef15/charset_normalizer-3.4.1-cp311-cp311-win_amd64.whl", hash = "sha256:d7f50a1f8c450f3925cb367d011448c39239bb3eb4117c36a6d354794de4ce76", size = 102441, upload-time = "2024-12-24T18:10:37.574Z" }, + { url = "https://files.pythonhosted.org/packages/0a/9a/dd1e1cdceb841925b7798369a09279bd1cf183cef0f9ddf15a3a6502ee45/charset_normalizer-3.4.1-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:73d94b58ec7fecbc7366247d3b0b10a21681004153238750bb67bd9012414545", size = 196105, upload-time = "2024-12-24T18:10:38.83Z" }, + { url = "https://files.pythonhosted.org/packages/d3/8c/90bfabf8c4809ecb648f39794cf2a84ff2e7d2a6cf159fe68d9a26160467/charset_normalizer-3.4.1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:dad3e487649f498dd991eeb901125411559b22e8d7ab25d3aeb1af367df5efd7", size = 140404, upload-time = "2024-12-24T18:10:44.272Z" }, + { url = "https://files.pythonhosted.org/packages/ad/8f/e410d57c721945ea3b4f1a04b74f70ce8fa800d393d72899f0a40526401f/charset_normalizer-3.4.1-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:c30197aa96e8eed02200a83fba2657b4c3acd0f0aa4bdc9f6c1af8e8962e0757", size = 150423, upload-time = "2024-12-24T18:10:45.492Z" }, + { url = "https://files.pythonhosted.org/packages/f0/b8/e6825e25deb691ff98cf5c9072ee0605dc2acfca98af70c2d1b1bc75190d/charset_normalizer-3.4.1-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:2369eea1ee4a7610a860d88f268eb39b95cb588acd7235e02fd5a5601773d4fa", size = 143184, upload-time = "2024-12-24T18:10:47.898Z" }, + { url = "https://files.pythonhosted.org/packages/3e/a2/513f6cbe752421f16d969e32f3583762bfd583848b763913ddab8d9bfd4f/charset_normalizer-3.4.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:bc2722592d8998c870fa4e290c2eec2c1569b87fe58618e67d38b4665dfa680d", size = 145268, upload-time = "2024-12-24T18:10:50.589Z" }, + { url = "https://files.pythonhosted.org/packages/74/94/8a5277664f27c3c438546f3eb53b33f5b19568eb7424736bdc440a88a31f/charset_normalizer-3.4.1-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:ffc9202a29ab3920fa812879e95a9e78b2465fd10be7fcbd042899695d75e616", size = 147601, upload-time = "2024-12-24T18:10:52.541Z" }, + { url = "https://files.pythonhosted.org/packages/7c/5f/6d352c51ee763623a98e31194823518e09bfa48be2a7e8383cf691bbb3d0/charset_normalizer-3.4.1-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:804a4d582ba6e5b747c625bf1255e6b1507465494a40a2130978bda7b932c90b", size = 141098, upload-time = "2024-12-24T18:10:53.789Z" }, + { url = "https://files.pythonhosted.org/packages/78/d4/f5704cb629ba5ab16d1d3d741396aec6dc3ca2b67757c45b0599bb010478/charset_normalizer-3.4.1-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:0f55e69f030f7163dffe9fd0752b32f070566451afe180f99dbeeb81f511ad8d", size = 149520, upload-time = "2024-12-24T18:10:55.048Z" }, + { url = "https://files.pythonhosted.org/packages/c5/96/64120b1d02b81785f222b976c0fb79a35875457fa9bb40827678e54d1bc8/charset_normalizer-3.4.1-cp312-cp312-musllinux_1_2_ppc64le.whl", hash = "sha256:c4c3e6da02df6fa1410a7680bd3f63d4f710232d3139089536310d027950696a", size = 152852, upload-time = "2024-12-24T18:10:57.647Z" }, + { url = "https://files.pythonhosted.org/packages/84/c9/98e3732278a99f47d487fd3468bc60b882920cef29d1fa6ca460a1fdf4e6/charset_normalizer-3.4.1-cp312-cp312-musllinux_1_2_s390x.whl", hash = "sha256:5df196eb874dae23dcfb968c83d4f8fdccb333330fe1fc278ac5ceeb101003a9", size = 150488, upload-time = "2024-12-24T18:10:59.43Z" }, + { url = "https://files.pythonhosted.org/packages/13/0e/9c8d4cb99c98c1007cc11eda969ebfe837bbbd0acdb4736d228ccaabcd22/charset_normalizer-3.4.1-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:e358e64305fe12299a08e08978f51fc21fac060dcfcddd95453eabe5b93ed0e1", size = 146192, upload-time = "2024-12-24T18:11:00.676Z" }, + { url = "https://files.pythonhosted.org/packages/b2/21/2b6b5b860781a0b49427309cb8670785aa543fb2178de875b87b9cc97746/charset_normalizer-3.4.1-cp312-cp312-win32.whl", hash = "sha256:9b23ca7ef998bc739bf6ffc077c2116917eabcc901f88da1b9856b210ef63f35", size = 95550, upload-time = "2024-12-24T18:11:01.952Z" }, + { url = "https://files.pythonhosted.org/packages/21/5b/1b390b03b1d16c7e382b561c5329f83cc06623916aab983e8ab9239c7d5c/charset_normalizer-3.4.1-cp312-cp312-win_amd64.whl", hash = "sha256:6ff8a4a60c227ad87030d76e99cd1698345d4491638dfa6673027c48b3cd395f", size = 102785, upload-time = "2024-12-24T18:11:03.142Z" }, + { url = "https://files.pythonhosted.org/packages/38/94/ce8e6f63d18049672c76d07d119304e1e2d7c6098f0841b51c666e9f44a0/charset_normalizer-3.4.1-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:aabfa34badd18f1da5ec1bc2715cadc8dca465868a4e73a0173466b688f29dda", size = 195698, upload-time = "2024-12-24T18:11:05.834Z" }, + { url = "https://files.pythonhosted.org/packages/24/2e/dfdd9770664aae179a96561cc6952ff08f9a8cd09a908f259a9dfa063568/charset_normalizer-3.4.1-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:22e14b5d70560b8dd51ec22863f370d1e595ac3d024cb8ad7d308b4cd95f8313", size = 140162, upload-time = "2024-12-24T18:11:07.064Z" }, + { url = "https://files.pythonhosted.org/packages/24/4e/f646b9093cff8fc86f2d60af2de4dc17c759de9d554f130b140ea4738ca6/charset_normalizer-3.4.1-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:8436c508b408b82d87dc5f62496973a1805cd46727c34440b0d29d8a2f50a6c9", size = 150263, upload-time = "2024-12-24T18:11:08.374Z" }, + { url = "https://files.pythonhosted.org/packages/5e/67/2937f8d548c3ef6e2f9aab0f6e21001056f692d43282b165e7c56023e6dd/charset_normalizer-3.4.1-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:2d074908e1aecee37a7635990b2c6d504cd4766c7bc9fc86d63f9c09af3fa11b", size = 142966, upload-time = "2024-12-24T18:11:09.831Z" }, + { url = "https://files.pythonhosted.org/packages/52/ed/b7f4f07de100bdb95c1756d3a4d17b90c1a3c53715c1a476f8738058e0fa/charset_normalizer-3.4.1-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:955f8851919303c92343d2f66165294848d57e9bba6cf6e3625485a70a038d11", size = 144992, upload-time = "2024-12-24T18:11:12.03Z" }, + { url = "https://files.pythonhosted.org/packages/96/2c/d49710a6dbcd3776265f4c923bb73ebe83933dfbaa841c5da850fe0fd20b/charset_normalizer-3.4.1-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:44ecbf16649486d4aebafeaa7ec4c9fed8b88101f4dd612dcaf65d5e815f837f", size = 147162, upload-time = "2024-12-24T18:11:13.372Z" }, + { url = "https://files.pythonhosted.org/packages/b4/41/35ff1f9a6bd380303dea55e44c4933b4cc3c4850988927d4082ada230273/charset_normalizer-3.4.1-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:0924e81d3d5e70f8126529951dac65c1010cdf117bb75eb02dd12339b57749dd", size = 140972, upload-time = "2024-12-24T18:11:14.628Z" }, + { url = "https://files.pythonhosted.org/packages/fb/43/c6a0b685fe6910d08ba971f62cd9c3e862a85770395ba5d9cad4fede33ab/charset_normalizer-3.4.1-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:2967f74ad52c3b98de4c3b32e1a44e32975e008a9cd2a8cc8966d6a5218c5cb2", size = 149095, upload-time = "2024-12-24T18:11:17.672Z" }, + { url = "https://files.pythonhosted.org/packages/4c/ff/a9a504662452e2d2878512115638966e75633519ec11f25fca3d2049a94a/charset_normalizer-3.4.1-cp313-cp313-musllinux_1_2_ppc64le.whl", hash = "sha256:c75cb2a3e389853835e84a2d8fb2b81a10645b503eca9bcb98df6b5a43eb8886", size = 152668, upload-time = "2024-12-24T18:11:18.989Z" }, + { url = "https://files.pythonhosted.org/packages/6c/71/189996b6d9a4b932564701628af5cee6716733e9165af1d5e1b285c530ed/charset_normalizer-3.4.1-cp313-cp313-musllinux_1_2_s390x.whl", hash = "sha256:09b26ae6b1abf0d27570633b2b078a2a20419c99d66fb2823173d73f188ce601", size = 150073, upload-time = "2024-12-24T18:11:21.507Z" }, + { url = "https://files.pythonhosted.org/packages/e4/93/946a86ce20790e11312c87c75ba68d5f6ad2208cfb52b2d6a2c32840d922/charset_normalizer-3.4.1-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:fa88b843d6e211393a37219e6a1c1df99d35e8fd90446f1118f4216e307e48cd", size = 145732, upload-time = "2024-12-24T18:11:22.774Z" }, + { url = "https://files.pythonhosted.org/packages/cd/e5/131d2fb1b0dddafc37be4f3a2fa79aa4c037368be9423061dccadfd90091/charset_normalizer-3.4.1-cp313-cp313-win32.whl", hash = "sha256:eb8178fe3dba6450a3e024e95ac49ed3400e506fd4e9e5c32d30adda88cbd407", size = 95391, upload-time = "2024-12-24T18:11:24.139Z" }, + { url = "https://files.pythonhosted.org/packages/27/f2/4f9a69cc7712b9b5ad8fdb87039fd89abba997ad5cbe690d1835d40405b0/charset_normalizer-3.4.1-cp313-cp313-win_amd64.whl", hash = "sha256:b1ac5992a838106edb89654e0aebfc24f5848ae2547d22c2c3f66454daa11971", size = 102702, upload-time = "2024-12-24T18:11:26.535Z" }, + { url = "https://files.pythonhosted.org/packages/10/bd/6517ea94f2672e801011d50b5d06be2a0deaf566aea27bcdcd47e5195357/charset_normalizer-3.4.1-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:ecddf25bee22fe4fe3737a399d0d177d72bc22be6913acfab364b40bce1ba83c", size = 195653, upload-time = "2024-12-24T18:11:45.568Z" }, + { url = "https://files.pythonhosted.org/packages/e5/0d/815a2ba3f283b4eeaa5ece57acade365c5b4135f65a807a083c818716582/charset_normalizer-3.4.1-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:8c60ca7339acd497a55b0ea5d506b2a2612afb2826560416f6894e8b5770d4a9", size = 140701, upload-time = "2024-12-24T18:11:46.968Z" }, + { url = "https://files.pythonhosted.org/packages/aa/17/c94be7ee0d142687e047fe1de72060f6d6837f40eedc26e87e6e124a3fc6/charset_normalizer-3.4.1-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:b7b2d86dd06bfc2ade3312a83a5c364c7ec2e3498f8734282c6c3d4b07b346b8", size = 150495, upload-time = "2024-12-24T18:11:48.375Z" }, + { url = "https://files.pythonhosted.org/packages/f7/33/557ac796c47165fc141e4fb71d7b0310f67e05cb420756f3a82e0a0068e0/charset_normalizer-3.4.1-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:dd78cfcda14a1ef52584dbb008f7ac81c1328c0f58184bf9a84c49c605002da6", size = 142946, upload-time = "2024-12-24T18:11:53.619Z" }, + { url = "https://files.pythonhosted.org/packages/1e/0d/38ef4ae41e9248d63fc4998d933cae22473b1b2ac4122cf908d0f5eb32aa/charset_normalizer-3.4.1-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:6e27f48bcd0957c6d4cb9d6fa6b61d192d0b13d5ef563e5f2ae35feafc0d179c", size = 144737, upload-time = "2024-12-24T18:11:54.993Z" }, + { url = "https://files.pythonhosted.org/packages/43/01/754cdb29dd0560f58290aaaa284d43eea343ad0512e6ad3b8b5c11f08592/charset_normalizer-3.4.1-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:01ad647cdd609225c5350561d084b42ddf732f4eeefe6e678765636791e78b9a", size = 147471, upload-time = "2024-12-24T18:11:58.169Z" }, + { url = "https://files.pythonhosted.org/packages/ba/cd/861883ba5160c7a9bd242c30b2c71074cda2aefcc0addc91118e0d4e0765/charset_normalizer-3.4.1-cp38-cp38-musllinux_1_2_aarch64.whl", hash = "sha256:619a609aa74ae43d90ed2e89bdd784765de0a25ca761b93e196d938b8fd1dbbd", size = 140801, upload-time = "2024-12-24T18:12:01.02Z" }, + { url = "https://files.pythonhosted.org/packages/6f/7f/0c0dad447819e90b93f8ed238cc8f11b91353c23c19e70fa80483a155bed/charset_normalizer-3.4.1-cp38-cp38-musllinux_1_2_i686.whl", hash = "sha256:89149166622f4db9b4b6a449256291dc87a99ee53151c74cbd82a53c8c2f6ccd", size = 149312, upload-time = "2024-12-24T18:12:02.267Z" }, + { url = "https://files.pythonhosted.org/packages/8e/09/9f8abcc6fff60fb727268b63c376c8c79cc37b833c2dfe1f535dfb59523b/charset_normalizer-3.4.1-cp38-cp38-musllinux_1_2_ppc64le.whl", hash = "sha256:7709f51f5f7c853f0fb938bcd3bc59cdfdc5203635ffd18bf354f6967ea0f824", size = 152347, upload-time = "2024-12-24T18:12:04.145Z" }, + { url = "https://files.pythonhosted.org/packages/be/e5/3f363dad2e24378f88ccf63ecc39e817c29f32e308ef21a7a6d9c1201165/charset_normalizer-3.4.1-cp38-cp38-musllinux_1_2_s390x.whl", hash = "sha256:345b0426edd4e18138d6528aed636de7a9ed169b4aaf9d61a8c19e39d26838ca", size = 149888, upload-time = "2024-12-24T18:12:05.673Z" }, + { url = "https://files.pythonhosted.org/packages/e4/10/a78c0e91f487b4ad0ef7480ac765e15b774f83de2597f1b6ef0eaf7a2f99/charset_normalizer-3.4.1-cp38-cp38-musllinux_1_2_x86_64.whl", hash = "sha256:0907f11d019260cdc3f94fbdb23ff9125f6b5d1039b76003b5b0ac9d6a6c9d5b", size = 145169, upload-time = "2024-12-24T18:12:06.846Z" }, + { url = "https://files.pythonhosted.org/packages/d3/81/396e7d7f5d7420da8273c91175d2e9a3f569288e3611d521685e4b9ac9cc/charset_normalizer-3.4.1-cp38-cp38-win32.whl", hash = "sha256:ea0d8d539afa5eb2728aa1932a988a9a7af94f18582ffae4bc10b3fbdad0626e", size = 95094, upload-time = "2024-12-24T18:12:08.048Z" }, + { url = "https://files.pythonhosted.org/packages/40/bb/20affbbd9ea29c71ea123769dc568a6d42052ff5089c5fe23e21e21084a6/charset_normalizer-3.4.1-cp38-cp38-win_amd64.whl", hash = "sha256:329ce159e82018d646c7ac45b01a430369d526569ec08516081727a20e9e4af4", size = 102139, upload-time = "2024-12-24T18:12:09.161Z" }, + { url = "https://files.pythonhosted.org/packages/7f/c0/b913f8f02836ed9ab32ea643c6fe4d3325c3d8627cf6e78098671cafff86/charset_normalizer-3.4.1-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:b97e690a2118911e39b4042088092771b4ae3fc3aa86518f84b8cf6888dbdb41", size = 197867, upload-time = "2024-12-24T18:12:10.438Z" }, + { url = "https://files.pythonhosted.org/packages/0f/6c/2bee440303d705b6fb1e2ec789543edec83d32d258299b16eed28aad48e0/charset_normalizer-3.4.1-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:78baa6d91634dfb69ec52a463534bc0df05dbd546209b79a3880a34487f4b84f", size = 141385, upload-time = "2024-12-24T18:12:11.847Z" }, + { url = "https://files.pythonhosted.org/packages/3d/04/cb42585f07f6f9fd3219ffb6f37d5a39b4fd2db2355b23683060029c35f7/charset_normalizer-3.4.1-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:1a2bc9f351a75ef49d664206d51f8e5ede9da246602dc2d2726837620ea034b2", size = 151367, upload-time = "2024-12-24T18:12:13.177Z" }, + { url = "https://files.pythonhosted.org/packages/54/54/2412a5b093acb17f0222de007cc129ec0e0df198b5ad2ce5699355269dfe/charset_normalizer-3.4.1-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:75832c08354f595c760a804588b9357d34ec00ba1c940c15e31e96d902093770", size = 143928, upload-time = "2024-12-24T18:12:14.497Z" }, + { url = "https://files.pythonhosted.org/packages/5a/6d/e2773862b043dcf8a221342954f375392bb2ce6487bcd9f2c1b34e1d6781/charset_normalizer-3.4.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:0af291f4fe114be0280cdd29d533696a77b5b49cfde5467176ecab32353395c4", size = 146203, upload-time = "2024-12-24T18:12:15.731Z" }, + { url = "https://files.pythonhosted.org/packages/b9/f8/ca440ef60d8f8916022859885f231abb07ada3c347c03d63f283bec32ef5/charset_normalizer-3.4.1-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:0167ddc8ab6508fe81860a57dd472b2ef4060e8d378f0cc555707126830f2537", size = 148082, upload-time = "2024-12-24T18:12:18.641Z" }, + { url = "https://files.pythonhosted.org/packages/04/d2/42fd330901aaa4b805a1097856c2edf5095e260a597f65def493f4b8c833/charset_normalizer-3.4.1-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:2a75d49014d118e4198bcee5ee0a6f25856b29b12dbf7cd012791f8a6cc5c496", size = 142053, upload-time = "2024-12-24T18:12:20.036Z" }, + { url = "https://files.pythonhosted.org/packages/9e/af/3a97a4fa3c53586f1910dadfc916e9c4f35eeada36de4108f5096cb7215f/charset_normalizer-3.4.1-cp39-cp39-musllinux_1_2_i686.whl", hash = "sha256:363e2f92b0f0174b2f8238240a1a30142e3db7b957a5dd5689b0e75fb717cc78", size = 150625, upload-time = "2024-12-24T18:12:22.804Z" }, + { url = "https://files.pythonhosted.org/packages/26/ae/23d6041322a3556e4da139663d02fb1b3c59a23ab2e2b56432bd2ad63ded/charset_normalizer-3.4.1-cp39-cp39-musllinux_1_2_ppc64le.whl", hash = "sha256:ab36c8eb7e454e34e60eb55ca5d241a5d18b2c6244f6827a30e451c42410b5f7", size = 153549, upload-time = "2024-12-24T18:12:24.163Z" }, + { url = "https://files.pythonhosted.org/packages/94/22/b8f2081c6a77cb20d97e57e0b385b481887aa08019d2459dc2858ed64871/charset_normalizer-3.4.1-cp39-cp39-musllinux_1_2_s390x.whl", hash = "sha256:4c0907b1928a36d5a998d72d64d8eaa7244989f7aaaf947500d3a800c83a3fd6", size = 150945, upload-time = "2024-12-24T18:12:25.415Z" }, + { url = "https://files.pythonhosted.org/packages/c7/0b/c5ec5092747f801b8b093cdf5610e732b809d6cb11f4c51e35fc28d1d389/charset_normalizer-3.4.1-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:04432ad9479fa40ec0f387795ddad4437a2b50417c69fa275e212933519ff294", size = 146595, upload-time = "2024-12-24T18:12:28.03Z" }, + { url = "https://files.pythonhosted.org/packages/0c/5a/0b59704c38470df6768aa154cc87b1ac7c9bb687990a1559dc8765e8627e/charset_normalizer-3.4.1-cp39-cp39-win32.whl", hash = "sha256:3bed14e9c89dcb10e8f3a29f9ccac4955aebe93c71ae803af79265c9ca5644c5", size = 95453, upload-time = "2024-12-24T18:12:29.569Z" }, + { url = "https://files.pythonhosted.org/packages/85/2d/a9790237cb4d01a6d57afadc8573c8b73c609ade20b80f4cda30802009ee/charset_normalizer-3.4.1-cp39-cp39-win_amd64.whl", hash = "sha256:49402233c892a461407c512a19435d1ce275543138294f7ef013f0b63d5d3765", size = 102811, upload-time = "2024-12-24T18:12:30.83Z" }, + { url = "https://files.pythonhosted.org/packages/0e/f6/65ecc6878a89bb1c23a086ea335ad4bf21a588990c3f535a227b9eea9108/charset_normalizer-3.4.1-py3-none-any.whl", hash = "sha256:d98b1668f06378c6dbefec3b92299716b931cd4e6061f3c875a71ced1780ab85", size = 49767, upload-time = "2024-12-24T18:12:32.852Z" }, ] [[package]] @@ -512,18 +512,18 @@ source = { registry = "https://pypi.org/simple" } dependencies = [ { name = "colorama", marker = "sys_platform == 'win32'" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/b9/2e/0090cbf739cee7d23781ad4b89a9894a41538e4fcf4c31dcdd705b78eb8b/click-8.1.8.tar.gz", hash = "sha256:ed53c9d8990d83c2a27deae68e4ee337473f6330c040a31d4225c9574d16096a", size = 226593 } +sdist = { url = "https://files.pythonhosted.org/packages/b9/2e/0090cbf739cee7d23781ad4b89a9894a41538e4fcf4c31dcdd705b78eb8b/click-8.1.8.tar.gz", hash = "sha256:ed53c9d8990d83c2a27deae68e4ee337473f6330c040a31d4225c9574d16096a", size = 226593, upload-time = "2024-12-21T18:38:44.339Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/7e/d4/7ebdbd03970677812aac39c869717059dbb71a4cfc033ca6e5221787892c/click-8.1.8-py3-none-any.whl", hash = "sha256:63c132bbbed01578a06712a2d1f497bb62d9c1c0d329b7903a866228027263b2", size = 98188 }, + { url = "https://files.pythonhosted.org/packages/7e/d4/7ebdbd03970677812aac39c869717059dbb71a4cfc033ca6e5221787892c/click-8.1.8-py3-none-any.whl", hash = "sha256:63c132bbbed01578a06712a2d1f497bb62d9c1c0d329b7903a866228027263b2", size = 98188, upload-time = "2024-12-21T18:38:41.666Z" }, ] [[package]] name = "colorama" version = "0.4.6" source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/d8/53/6f443c9a4a8358a93a6792e2acffb9d9d5cb0a5cfd8802644b7b1c9a02e4/colorama-0.4.6.tar.gz", hash = "sha256:08695f5cb7ed6e0531a20572697297273c47b8cae5a63ffc6d6ed5c201be6e44", size = 27697 } +sdist = { url = "https://files.pythonhosted.org/packages/d8/53/6f443c9a4a8358a93a6792e2acffb9d9d5cb0a5cfd8802644b7b1c9a02e4/colorama-0.4.6.tar.gz", hash = "sha256:08695f5cb7ed6e0531a20572697297273c47b8cae5a63ffc6d6ed5c201be6e44", size = 27697, upload-time = "2022-10-25T02:36:22.414Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/d1/d6/3965ed04c63042e047cb6a3e6ed1a63a35087b6a609aa3a15ed8ac56c221/colorama-0.4.6-py2.py3-none-any.whl", hash = "sha256:4f1d9991f5acc0ca119f9d443620b77f9d6b33703e51011c16baf57afb285fc6", size = 25335 }, + { url = "https://files.pythonhosted.org/packages/d1/d6/3965ed04c63042e047cb6a3e6ed1a63a35087b6a609aa3a15ed8ac56c221/colorama-0.4.6-py2.py3-none-any.whl", hash = "sha256:4f1d9991f5acc0ca119f9d443620b77f9d6b33703e51011c16baf57afb285fc6", size = 25335, upload-time = "2022-10-25T02:36:20.889Z" }, ] [[package]] @@ -533,9 +533,9 @@ source = { registry = "https://pypi.org/simple" } dependencies = [ { name = "traitlets" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/e9/a8/fb783cb0abe2b5fded9f55e5703015cdf1c9c85b3669087c538dd15a6a86/comm-0.2.2.tar.gz", hash = "sha256:3fd7a84065306e07bea1773df6eb8282de51ba82f77c72f9c85716ab11fe980e", size = 6210 } +sdist = { url = "https://files.pythonhosted.org/packages/e9/a8/fb783cb0abe2b5fded9f55e5703015cdf1c9c85b3669087c538dd15a6a86/comm-0.2.2.tar.gz", hash = "sha256:3fd7a84065306e07bea1773df6eb8282de51ba82f77c72f9c85716ab11fe980e", size = 6210, upload-time = "2024-03-12T16:53:41.133Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/e6/75/49e5bfe642f71f272236b5b2d2691cf915a7283cc0ceda56357b61daa538/comm-0.2.2-py3-none-any.whl", hash = "sha256:e6fb86cb70ff661ee8c9c14e7d36d6de3b4066f1441be4063df9c5009f0a64d3", size = 7180 }, + { url = "https://files.pythonhosted.org/packages/e6/75/49e5bfe642f71f272236b5b2d2691cf915a7283cc0ceda56357b61daa538/comm-0.2.2-py3-none-any.whl", hash = "sha256:e6fb86cb70ff661ee8c9c14e7d36d6de3b4066f1441be4063df9c5009f0a64d3", size = 7180, upload-time = "2024-03-12T16:53:39.226Z" }, ] [[package]] @@ -550,59 +550,59 @@ resolution-markers = [ dependencies = [ { name = "numpy", version = "1.24.4", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.9'" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/b1/7d/087ee4295e7580d3f7eb8a8a4e0ec8c7847e60f34135248ccf831cf5bbfc/contourpy-1.1.1.tar.gz", hash = "sha256:96ba37c2e24b7212a77da85004c38e7c4d155d3e72a45eeaf22c1f03f607e8ab", size = 13433167 } -wheels = [ - { url = "https://files.pythonhosted.org/packages/fb/7f/c44a51a83a093bf5c84e07dd1e3cfe9f68c47b6499bd05a9de0c6dbdc2bc/contourpy-1.1.1-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:46e24f5412c948d81736509377e255f6040e94216bf1a9b5ea1eaa9d29f6ec1b", size = 247207 }, - { url = "https://files.pythonhosted.org/packages/a9/65/544d66da0716b20084874297ff7596704e435cf011512f8e576638e83db2/contourpy-1.1.1-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:0e48694d6a9c5a26ee85b10130c77a011a4fedf50a7279fa0bdaf44bafb4299d", size = 232428 }, - { url = "https://files.pythonhosted.org/packages/5b/e6/697085cc34a294bd399548fd99562537a75408f113e3a815807e206246f0/contourpy-1.1.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a66045af6cf00e19d02191ab578a50cb93b2028c3eefed999793698e9ea768ae", size = 285304 }, - { url = "https://files.pythonhosted.org/packages/69/4b/52d0d2e85c59f00f6ddbd6fea819f267008c58ee7708da96d112a293e91c/contourpy-1.1.1-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:4ebf42695f75ee1a952f98ce9775c873e4971732a87334b099dde90b6af6a916", size = 322655 }, - { url = "https://files.pythonhosted.org/packages/82/fc/3decc656a547a6d5d5b4249f81c72668a1f3259a62b2def2504120d38746/contourpy-1.1.1-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:f6aec19457617ef468ff091669cca01fa7ea557b12b59a7908b9474bb9674cf0", size = 296430 }, - { url = "https://files.pythonhosted.org/packages/f1/6b/e4b0f8708f22dd7c321f87eadbb98708975e115ac6582eb46d1f32197ce6/contourpy-1.1.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:462c59914dc6d81e0b11f37e560b8a7c2dbab6aca4f38be31519d442d6cde1a1", size = 301672 }, - { url = "https://files.pythonhosted.org/packages/c3/87/201410522a756e605069078833d806147cad8532fdc164a96689d05c5afc/contourpy-1.1.1-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:6d0a8efc258659edc5299f9ef32d8d81de8b53b45d67bf4bfa3067f31366764d", size = 820145 }, - { url = "https://files.pythonhosted.org/packages/b4/d9/42680a17d43edda04ab2b3f11125cf97b61bce5d3b52721a42960bf748bd/contourpy-1.1.1-cp310-cp310-win32.whl", hash = "sha256:d6ab42f223e58b7dac1bb0af32194a7b9311065583cc75ff59dcf301afd8a431", size = 399542 }, - { url = "https://files.pythonhosted.org/packages/55/14/0dc1884e3c04f9b073a47283f5d424926644250891db392a07c56f05e5c5/contourpy-1.1.1-cp310-cp310-win_amd64.whl", hash = "sha256:549174b0713d49871c6dee90a4b499d3f12f5e5f69641cd23c50a4542e2ca1eb", size = 477974 }, - { url = "https://files.pythonhosted.org/packages/8b/4f/be28a39cd5e988b8d3c2cc642c2c7ffeeb28fe80a86df71b6d1e473c5038/contourpy-1.1.1-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:407d864db716a067cc696d61fa1ef6637fedf03606e8417fe2aeed20a061e6b2", size = 248613 }, - { url = "https://files.pythonhosted.org/packages/2c/8e/656f8e7cd316aa68d9824744773e90dbd71f847429d10c82001e927480a2/contourpy-1.1.1-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:dfe80c017973e6a4c367e037cb31601044dd55e6bfacd57370674867d15a899b", size = 233603 }, - { url = "https://files.pythonhosted.org/packages/60/2a/4d4bd4541212ab98f3411f21bf58b0b246f333ae996e9f57e1acf12bcc45/contourpy-1.1.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:e30aaf2b8a2bac57eb7e1650df1b3a4130e8d0c66fc2f861039d507a11760e1b", size = 287037 }, - { url = "https://files.pythonhosted.org/packages/24/67/8abf919443381585a4eee74069e311c736350549dae02d3d014fef93d50a/contourpy-1.1.1-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:3de23ca4f381c3770dee6d10ead6fff524d540c0f662e763ad1530bde5112532", size = 323274 }, - { url = "https://files.pythonhosted.org/packages/2a/e5/6da11329dd35a2f2e404a95e5374b5702de6ac52e776e8b87dd6ea4b29d0/contourpy-1.1.1-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:566f0e41df06dfef2431defcfaa155f0acfa1ca4acbf8fd80895b1e7e2ada40e", size = 297801 }, - { url = "https://files.pythonhosted.org/packages/b7/f6/78f60fa0b6ae64971178e2542e8b3ad3ba5f4f379b918ab7b18038a3f897/contourpy-1.1.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:b04c2f0adaf255bf756cf08ebef1be132d3c7a06fe6f9877d55640c5e60c72c5", size = 302821 }, - { url = "https://files.pythonhosted.org/packages/da/25/6062395a1c6a06f46a577da821318886b8b939453a098b9cd61671bb497b/contourpy-1.1.1-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:d0c188ae66b772d9d61d43c6030500344c13e3f73a00d1dc241da896f379bb62", size = 820121 }, - { url = "https://files.pythonhosted.org/packages/41/5e/64e78b1e8682cbab10c13fc1a2c070d30acedb805ab2f42afbd3d88f7225/contourpy-1.1.1-cp311-cp311-win32.whl", hash = "sha256:0683e1ae20dc038075d92e0e0148f09ffcefab120e57f6b4c9c0f477ec171f33", size = 401590 }, - { url = "https://files.pythonhosted.org/packages/e5/76/94bc17eb868f8c7397f8fdfdeae7661c1b9a35f3a7219da308596e8c252a/contourpy-1.1.1-cp311-cp311-win_amd64.whl", hash = "sha256:8636cd2fc5da0fb102a2504fa2c4bea3cbc149533b345d72cdf0e7a924decc45", size = 480534 }, - { url = "https://files.pythonhosted.org/packages/94/0f/07a5e26fec7176658f6aecffc615900ff1d303baa2b67bc37fd98ce67c87/contourpy-1.1.1-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:560f1d68a33e89c62da5da4077ba98137a5e4d3a271b29f2f195d0fba2adcb6a", size = 249799 }, - { url = "https://files.pythonhosted.org/packages/32/0b/d7baca3f60d3b3a77c9ba1307c7792befd3c1c775a26c649dca1bfa9b6ba/contourpy-1.1.1-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:24216552104ae8f3b34120ef84825400b16eb6133af2e27a190fdc13529f023e", size = 232739 }, - { url = "https://files.pythonhosted.org/packages/6d/62/a385b4d4b5718e3a933de5791528f45f1f5b364d3c79172ad0309c832041/contourpy-1.1.1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:56de98a2fb23025882a18b60c7f0ea2d2d70bbbcfcf878f9067234b1c4818442", size = 282171 }, - { url = "https://files.pythonhosted.org/packages/91/21/8c6819747fea53557f3963ca936035b3e8bed87d591f5278ad62516a059d/contourpy-1.1.1-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:07d6f11dfaf80a84c97f1a5ba50d129d9303c5b4206f776e94037332e298dda8", size = 321182 }, - { url = "https://files.pythonhosted.org/packages/22/29/d75da9002f9df09c755b12cf0357eb91b081c858e604f4e92b4b8bfc3c15/contourpy-1.1.1-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:f1eaac5257a8f8a047248d60e8f9315c6cff58f7803971170d952555ef6344a7", size = 295869 }, - { url = "https://files.pythonhosted.org/packages/a7/47/4e7e66159f881c131e3b97d1cc5c0ea72be62bdd292c7f63fd13937d07f4/contourpy-1.1.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:19557fa407e70f20bfaba7d55b4d97b14f9480856c4fb65812e8a05fe1c6f9bf", size = 298756 }, - { url = "https://files.pythonhosted.org/packages/d3/bb/bffc99bc3172942b5eda8027ca0cb80ddd336fcdd634d68adce957d37231/contourpy-1.1.1-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:081f3c0880712e40effc5f4c3b08feca6d064cb8cfbb372ca548105b86fd6c3d", size = 818441 }, - { url = "https://files.pythonhosted.org/packages/da/1b/904baf0aaaf6c6e2247801dcd1ff0d7bf84352839927d356b28ae804cbb0/contourpy-1.1.1-cp312-cp312-win32.whl", hash = "sha256:059c3d2a94b930f4dafe8105bcdc1b21de99b30b51b5bce74c753686de858cb6", size = 410294 }, - { url = "https://files.pythonhosted.org/packages/75/d4/c3b7a9a0d1f99b528e5a46266b0b9f13aad5a0dd1156d071418df314c427/contourpy-1.1.1-cp312-cp312-win_amd64.whl", hash = "sha256:f44d78b61740e4e8c71db1cf1fd56d9050a4747681c59ec1094750a658ceb970", size = 486678 }, - { url = "https://files.pythonhosted.org/packages/02/7e/ffaba1bf3719088be3ad6983a5e85e1fc9edccd7b406b98e433436ecef74/contourpy-1.1.1-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:70e5a10f8093d228bb2b552beeb318b8928b8a94763ef03b858ef3612b29395d", size = 247023 }, - { url = "https://files.pythonhosted.org/packages/a6/82/29f5ff4ae074c3230e266bc9efef449ebde43721a727b989dd8ef8f97d73/contourpy-1.1.1-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:8394e652925a18ef0091115e3cc191fef350ab6dc3cc417f06da66bf98071ae9", size = 232380 }, - { url = "https://files.pythonhosted.org/packages/9b/cb/08f884c4c2efd433a38876b1b8069bfecef3f2d21ff0ce635d455962f70f/contourpy-1.1.1-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:c5bd5680f844c3ff0008523a71949a3ff5e4953eb7701b28760805bc9bcff217", size = 285830 }, - { url = "https://files.pythonhosted.org/packages/8e/57/cd4d4c99d999a25e9d518f628b4793e64b1ecb8ad3147f8469d8d4a80678/contourpy-1.1.1-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:66544f853bfa85c0d07a68f6c648b2ec81dafd30f272565c37ab47a33b220684", size = 322038 }, - { url = "https://files.pythonhosted.org/packages/32/b6/c57ed305a6f86731107fc183e97c7e6a6005d145f5c5228a44718082ad12/contourpy-1.1.1-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:e0c02b75acfea5cab07585d25069207e478d12309557f90a61b5a3b4f77f46ce", size = 295797 }, - { url = "https://files.pythonhosted.org/packages/8e/71/7f20855592cc929bc206810432b991ec4c702dc26b0567b132e52c85536f/contourpy-1.1.1-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:41339b24471c58dc1499e56783fedc1afa4bb018bcd035cfb0ee2ad2a7501ef8", size = 301124 }, - { url = "https://files.pythonhosted.org/packages/86/6d/52c2fc80f433e7cdc8624d82e1422ad83ad461463cf16a1953bbc7d10eb1/contourpy-1.1.1-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:f29fb0b3f1217dfe9362ec55440d0743fe868497359f2cf93293f4b2701b8251", size = 819787 }, - { url = "https://files.pythonhosted.org/packages/d0/b0/f8d4548e89f929d6c5ca329df9afad6190af60079ec77d8c31eb48cf6f82/contourpy-1.1.1-cp38-cp38-win32.whl", hash = "sha256:f9dc7f933975367251c1b34da882c4f0e0b2e24bb35dc906d2f598a40b72bfc7", size = 400031 }, - { url = "https://files.pythonhosted.org/packages/96/1b/b05cd42c8d21767a0488b883b38658fb9a45f86c293b7b42521a8113dc5d/contourpy-1.1.1-cp38-cp38-win_amd64.whl", hash = "sha256:498e53573e8b94b1caeb9e62d7c2d053c263ebb6aa259c81050766beb50ff8d9", size = 477949 }, - { url = "https://files.pythonhosted.org/packages/16/d9/8a15ff67fc27c65939e454512955e1b240ec75cd201d82e115b3b63ef76d/contourpy-1.1.1-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:ba42e3810999a0ddd0439e6e5dbf6d034055cdc72b7c5c839f37a7c274cb4eba", size = 247396 }, - { url = "https://files.pythonhosted.org/packages/09/fe/086e6847ee53da10ddf0b6c5e5f877ab43e68e355d2f4c85f67561ee8a57/contourpy-1.1.1-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:6c06e4c6e234fcc65435223c7b2a90f286b7f1b2733058bdf1345d218cc59e34", size = 232598 }, - { url = "https://files.pythonhosted.org/packages/a3/9c/662925239e1185c6cf1da8c334e4c61bddcfa8e528f4b51083b613003170/contourpy-1.1.1-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:ca6fab080484e419528e98624fb5c4282148b847e3602dc8dbe0cb0669469887", size = 286436 }, - { url = "https://files.pythonhosted.org/packages/d3/7e/417cdf65da7140981079eda6a81ecd593ae0239bf8c738f2e2b3f6df8920/contourpy-1.1.1-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:93df44ab351119d14cd1e6b52a5063d3336f0754b72736cc63db59307dabb718", size = 322629 }, - { url = "https://files.pythonhosted.org/packages/a8/22/ffd88aef74cc045698c5e5c400e8b7cd62311199c109245ac7827290df2c/contourpy-1.1.1-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:eafbef886566dc1047d7b3d4b14db0d5b7deb99638d8e1be4e23a7c7ac59ff0f", size = 297117 }, - { url = "https://files.pythonhosted.org/packages/2b/c0/24c34c41a180f875419b536125799c61e2330b997d77a5a818a3bc3e08cd/contourpy-1.1.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:efe0fab26d598e1ec07d72cf03eaeeba8e42b4ecf6b9ccb5a356fde60ff08b85", size = 301855 }, - { url = "https://files.pythonhosted.org/packages/bf/ec/f9877f6378a580cd683bd76c8a781dcd972e82965e0da951a739d3364677/contourpy-1.1.1-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:f08e469821a5e4751c97fcd34bcb586bc243c39c2e39321822060ba902eac49e", size = 820597 }, - { url = "https://files.pythonhosted.org/packages/e1/3a/c41f4bc7122d3a06388acae1bed6f50a665c1031863ca42bd701094dcb1f/contourpy-1.1.1-cp39-cp39-win32.whl", hash = "sha256:bfc8a5e9238232a45ebc5cb3bfee71f1167064c8d382cadd6076f0d51cff1da0", size = 400031 }, - { url = "https://files.pythonhosted.org/packages/87/2b/9b49451f7412cc1a79198e94a771a4e52d65c479aae610b1161c0290ef2c/contourpy-1.1.1-cp39-cp39-win_amd64.whl", hash = "sha256:c84fdf3da00c2827d634de4fcf17e3e067490c4aea82833625c4c8e6cdea0887", size = 435965 }, - { url = "https://files.pythonhosted.org/packages/e6/3c/fc36884b6793e2066a6ff25c86e21b8bd62553456b07e964c260bcf22711/contourpy-1.1.1-pp38-pypy38_pp73-macosx_10_9_x86_64.whl", hash = "sha256:229a25f68046c5cf8067d6d6351c8b99e40da11b04d8416bf8d2b1d75922521e", size = 246493 }, - { url = "https://files.pythonhosted.org/packages/3d/85/f4c5b09ce79828ed4553a8ae2ebdf937794f57b45848b1f5c95d9744ecc2/contourpy-1.1.1-pp38-pypy38_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:a10dab5ea1bd4401c9483450b5b0ba5416be799bbd50fc7a6cc5e2a15e03e8a3", size = 289240 }, - { url = "https://files.pythonhosted.org/packages/18/d3/9d7c0a372baf5130c1417a4b8275079d5379c11355436cb9fc78af7d7559/contourpy-1.1.1-pp38-pypy38_pp73-win_amd64.whl", hash = "sha256:4f9147051cb8fdb29a51dc2482d792b3b23e50f8f57e3720ca2e3d438b7adf23", size = 476043 }, - { url = "https://files.pythonhosted.org/packages/e7/12/643242c3d9b031ca19f9a440f63e568dd883a04711056ca5d607f9bda888/contourpy-1.1.1-pp39-pypy39_pp73-macosx_10_9_x86_64.whl", hash = "sha256:a75cc163a5f4531a256f2c523bd80db509a49fc23721b36dd1ef2f60ff41c3cb", size = 246247 }, - { url = "https://files.pythonhosted.org/packages/e1/37/95716fe235bf441422059e4afcd4b9b7c5821851c2aee992a06d1e9f831a/contourpy-1.1.1-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:3b53d5769aa1f2d4ea407c65f2d1d08002952fac1d9e9d307aa2e1023554a163", size = 289029 }, - { url = "https://files.pythonhosted.org/packages/e5/fd/14852c4a688031e0d8a20d9a1b60078d45507186ef17042093835be2f01a/contourpy-1.1.1-pp39-pypy39_pp73-win_amd64.whl", hash = "sha256:11b836b7dbfb74e049c302bbf74b4b8f6cb9d0b6ca1bf86cfa8ba144aedadd9c", size = 476043 }, +sdist = { url = "https://files.pythonhosted.org/packages/b1/7d/087ee4295e7580d3f7eb8a8a4e0ec8c7847e60f34135248ccf831cf5bbfc/contourpy-1.1.1.tar.gz", hash = "sha256:96ba37c2e24b7212a77da85004c38e7c4d155d3e72a45eeaf22c1f03f607e8ab", size = 13433167, upload-time = "2023-09-16T10:25:49.501Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/fb/7f/c44a51a83a093bf5c84e07dd1e3cfe9f68c47b6499bd05a9de0c6dbdc2bc/contourpy-1.1.1-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:46e24f5412c948d81736509377e255f6040e94216bf1a9b5ea1eaa9d29f6ec1b", size = 247207, upload-time = "2023-09-16T10:20:32.848Z" }, + { url = "https://files.pythonhosted.org/packages/a9/65/544d66da0716b20084874297ff7596704e435cf011512f8e576638e83db2/contourpy-1.1.1-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:0e48694d6a9c5a26ee85b10130c77a011a4fedf50a7279fa0bdaf44bafb4299d", size = 232428, upload-time = "2023-09-16T10:20:36.337Z" }, + { url = "https://files.pythonhosted.org/packages/5b/e6/697085cc34a294bd399548fd99562537a75408f113e3a815807e206246f0/contourpy-1.1.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a66045af6cf00e19d02191ab578a50cb93b2028c3eefed999793698e9ea768ae", size = 285304, upload-time = "2023-09-16T10:20:40.182Z" }, + { url = "https://files.pythonhosted.org/packages/69/4b/52d0d2e85c59f00f6ddbd6fea819f267008c58ee7708da96d112a293e91c/contourpy-1.1.1-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:4ebf42695f75ee1a952f98ce9775c873e4971732a87334b099dde90b6af6a916", size = 322655, upload-time = "2023-09-16T10:20:44.175Z" }, + { url = "https://files.pythonhosted.org/packages/82/fc/3decc656a547a6d5d5b4249f81c72668a1f3259a62b2def2504120d38746/contourpy-1.1.1-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:f6aec19457617ef468ff091669cca01fa7ea557b12b59a7908b9474bb9674cf0", size = 296430, upload-time = "2023-09-16T10:20:47.767Z" }, + { url = "https://files.pythonhosted.org/packages/f1/6b/e4b0f8708f22dd7c321f87eadbb98708975e115ac6582eb46d1f32197ce6/contourpy-1.1.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:462c59914dc6d81e0b11f37e560b8a7c2dbab6aca4f38be31519d442d6cde1a1", size = 301672, upload-time = "2023-09-16T10:20:51.395Z" }, + { url = "https://files.pythonhosted.org/packages/c3/87/201410522a756e605069078833d806147cad8532fdc164a96689d05c5afc/contourpy-1.1.1-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:6d0a8efc258659edc5299f9ef32d8d81de8b53b45d67bf4bfa3067f31366764d", size = 820145, upload-time = "2023-09-16T10:20:58.426Z" }, + { url = "https://files.pythonhosted.org/packages/b4/d9/42680a17d43edda04ab2b3f11125cf97b61bce5d3b52721a42960bf748bd/contourpy-1.1.1-cp310-cp310-win32.whl", hash = "sha256:d6ab42f223e58b7dac1bb0af32194a7b9311065583cc75ff59dcf301afd8a431", size = 399542, upload-time = "2023-09-16T10:21:02.719Z" }, + { url = "https://files.pythonhosted.org/packages/55/14/0dc1884e3c04f9b073a47283f5d424926644250891db392a07c56f05e5c5/contourpy-1.1.1-cp310-cp310-win_amd64.whl", hash = "sha256:549174b0713d49871c6dee90a4b499d3f12f5e5f69641cd23c50a4542e2ca1eb", size = 477974, upload-time = "2023-09-16T10:21:07.565Z" }, + { url = "https://files.pythonhosted.org/packages/8b/4f/be28a39cd5e988b8d3c2cc642c2c7ffeeb28fe80a86df71b6d1e473c5038/contourpy-1.1.1-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:407d864db716a067cc696d61fa1ef6637fedf03606e8417fe2aeed20a061e6b2", size = 248613, upload-time = "2023-09-16T10:21:10.695Z" }, + { url = "https://files.pythonhosted.org/packages/2c/8e/656f8e7cd316aa68d9824744773e90dbd71f847429d10c82001e927480a2/contourpy-1.1.1-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:dfe80c017973e6a4c367e037cb31601044dd55e6bfacd57370674867d15a899b", size = 233603, upload-time = "2023-09-16T10:21:13.771Z" }, + { url = "https://files.pythonhosted.org/packages/60/2a/4d4bd4541212ab98f3411f21bf58b0b246f333ae996e9f57e1acf12bcc45/contourpy-1.1.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:e30aaf2b8a2bac57eb7e1650df1b3a4130e8d0c66fc2f861039d507a11760e1b", size = 287037, upload-time = "2023-09-16T10:21:17.622Z" }, + { url = "https://files.pythonhosted.org/packages/24/67/8abf919443381585a4eee74069e311c736350549dae02d3d014fef93d50a/contourpy-1.1.1-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:3de23ca4f381c3770dee6d10ead6fff524d540c0f662e763ad1530bde5112532", size = 323274, upload-time = "2023-09-16T10:21:21.404Z" }, + { url = "https://files.pythonhosted.org/packages/2a/e5/6da11329dd35a2f2e404a95e5374b5702de6ac52e776e8b87dd6ea4b29d0/contourpy-1.1.1-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:566f0e41df06dfef2431defcfaa155f0acfa1ca4acbf8fd80895b1e7e2ada40e", size = 297801, upload-time = "2023-09-16T10:21:25.155Z" }, + { url = "https://files.pythonhosted.org/packages/b7/f6/78f60fa0b6ae64971178e2542e8b3ad3ba5f4f379b918ab7b18038a3f897/contourpy-1.1.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:b04c2f0adaf255bf756cf08ebef1be132d3c7a06fe6f9877d55640c5e60c72c5", size = 302821, upload-time = "2023-09-16T10:21:28.663Z" }, + { url = "https://files.pythonhosted.org/packages/da/25/6062395a1c6a06f46a577da821318886b8b939453a098b9cd61671bb497b/contourpy-1.1.1-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:d0c188ae66b772d9d61d43c6030500344c13e3f73a00d1dc241da896f379bb62", size = 820121, upload-time = "2023-09-16T10:21:36.251Z" }, + { url = "https://files.pythonhosted.org/packages/41/5e/64e78b1e8682cbab10c13fc1a2c070d30acedb805ab2f42afbd3d88f7225/contourpy-1.1.1-cp311-cp311-win32.whl", hash = "sha256:0683e1ae20dc038075d92e0e0148f09ffcefab120e57f6b4c9c0f477ec171f33", size = 401590, upload-time = "2023-09-16T10:21:40.42Z" }, + { url = "https://files.pythonhosted.org/packages/e5/76/94bc17eb868f8c7397f8fdfdeae7661c1b9a35f3a7219da308596e8c252a/contourpy-1.1.1-cp311-cp311-win_amd64.whl", hash = "sha256:8636cd2fc5da0fb102a2504fa2c4bea3cbc149533b345d72cdf0e7a924decc45", size = 480534, upload-time = "2023-09-16T10:21:45.724Z" }, + { url = "https://files.pythonhosted.org/packages/94/0f/07a5e26fec7176658f6aecffc615900ff1d303baa2b67bc37fd98ce67c87/contourpy-1.1.1-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:560f1d68a33e89c62da5da4077ba98137a5e4d3a271b29f2f195d0fba2adcb6a", size = 249799, upload-time = "2023-09-16T10:21:48.797Z" }, + { url = "https://files.pythonhosted.org/packages/32/0b/d7baca3f60d3b3a77c9ba1307c7792befd3c1c775a26c649dca1bfa9b6ba/contourpy-1.1.1-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:24216552104ae8f3b34120ef84825400b16eb6133af2e27a190fdc13529f023e", size = 232739, upload-time = "2023-09-16T10:21:51.854Z" }, + { url = "https://files.pythonhosted.org/packages/6d/62/a385b4d4b5718e3a933de5791528f45f1f5b364d3c79172ad0309c832041/contourpy-1.1.1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:56de98a2fb23025882a18b60c7f0ea2d2d70bbbcfcf878f9067234b1c4818442", size = 282171, upload-time = "2023-09-16T10:21:55.794Z" }, + { url = "https://files.pythonhosted.org/packages/91/21/8c6819747fea53557f3963ca936035b3e8bed87d591f5278ad62516a059d/contourpy-1.1.1-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:07d6f11dfaf80a84c97f1a5ba50d129d9303c5b4206f776e94037332e298dda8", size = 321182, upload-time = "2023-09-16T10:21:59.576Z" }, + { url = "https://files.pythonhosted.org/packages/22/29/d75da9002f9df09c755b12cf0357eb91b081c858e604f4e92b4b8bfc3c15/contourpy-1.1.1-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:f1eaac5257a8f8a047248d60e8f9315c6cff58f7803971170d952555ef6344a7", size = 295869, upload-time = "2023-09-16T10:22:03.248Z" }, + { url = "https://files.pythonhosted.org/packages/a7/47/4e7e66159f881c131e3b97d1cc5c0ea72be62bdd292c7f63fd13937d07f4/contourpy-1.1.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:19557fa407e70f20bfaba7d55b4d97b14f9480856c4fb65812e8a05fe1c6f9bf", size = 298756, upload-time = "2023-09-16T10:22:06.663Z" }, + { url = "https://files.pythonhosted.org/packages/d3/bb/bffc99bc3172942b5eda8027ca0cb80ddd336fcdd634d68adce957d37231/contourpy-1.1.1-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:081f3c0880712e40effc5f4c3b08feca6d064cb8cfbb372ca548105b86fd6c3d", size = 818441, upload-time = "2023-09-16T10:22:13.805Z" }, + { url = "https://files.pythonhosted.org/packages/da/1b/904baf0aaaf6c6e2247801dcd1ff0d7bf84352839927d356b28ae804cbb0/contourpy-1.1.1-cp312-cp312-win32.whl", hash = "sha256:059c3d2a94b930f4dafe8105bcdc1b21de99b30b51b5bce74c753686de858cb6", size = 410294, upload-time = "2023-09-16T10:22:18.055Z" }, + { url = "https://files.pythonhosted.org/packages/75/d4/c3b7a9a0d1f99b528e5a46266b0b9f13aad5a0dd1156d071418df314c427/contourpy-1.1.1-cp312-cp312-win_amd64.whl", hash = "sha256:f44d78b61740e4e8c71db1cf1fd56d9050a4747681c59ec1094750a658ceb970", size = 486678, upload-time = "2023-09-16T10:22:23.249Z" }, + { url = "https://files.pythonhosted.org/packages/02/7e/ffaba1bf3719088be3ad6983a5e85e1fc9edccd7b406b98e433436ecef74/contourpy-1.1.1-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:70e5a10f8093d228bb2b552beeb318b8928b8a94763ef03b858ef3612b29395d", size = 247023, upload-time = "2023-09-16T10:22:26.954Z" }, + { url = "https://files.pythonhosted.org/packages/a6/82/29f5ff4ae074c3230e266bc9efef449ebde43721a727b989dd8ef8f97d73/contourpy-1.1.1-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:8394e652925a18ef0091115e3cc191fef350ab6dc3cc417f06da66bf98071ae9", size = 232380, upload-time = "2023-09-16T10:22:30.423Z" }, + { url = "https://files.pythonhosted.org/packages/9b/cb/08f884c4c2efd433a38876b1b8069bfecef3f2d21ff0ce635d455962f70f/contourpy-1.1.1-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:c5bd5680f844c3ff0008523a71949a3ff5e4953eb7701b28760805bc9bcff217", size = 285830, upload-time = "2023-09-16T10:22:33.787Z" }, + { url = "https://files.pythonhosted.org/packages/8e/57/cd4d4c99d999a25e9d518f628b4793e64b1ecb8ad3147f8469d8d4a80678/contourpy-1.1.1-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:66544f853bfa85c0d07a68f6c648b2ec81dafd30f272565c37ab47a33b220684", size = 322038, upload-time = "2023-09-16T10:22:37.627Z" }, + { url = "https://files.pythonhosted.org/packages/32/b6/c57ed305a6f86731107fc183e97c7e6a6005d145f5c5228a44718082ad12/contourpy-1.1.1-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:e0c02b75acfea5cab07585d25069207e478d12309557f90a61b5a3b4f77f46ce", size = 295797, upload-time = "2023-09-16T10:22:41.952Z" }, + { url = "https://files.pythonhosted.org/packages/8e/71/7f20855592cc929bc206810432b991ec4c702dc26b0567b132e52c85536f/contourpy-1.1.1-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:41339b24471c58dc1499e56783fedc1afa4bb018bcd035cfb0ee2ad2a7501ef8", size = 301124, upload-time = "2023-09-16T10:22:45.993Z" }, + { url = "https://files.pythonhosted.org/packages/86/6d/52c2fc80f433e7cdc8624d82e1422ad83ad461463cf16a1953bbc7d10eb1/contourpy-1.1.1-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:f29fb0b3f1217dfe9362ec55440d0743fe868497359f2cf93293f4b2701b8251", size = 819787, upload-time = "2023-09-16T10:22:53.511Z" }, + { url = "https://files.pythonhosted.org/packages/d0/b0/f8d4548e89f929d6c5ca329df9afad6190af60079ec77d8c31eb48cf6f82/contourpy-1.1.1-cp38-cp38-win32.whl", hash = "sha256:f9dc7f933975367251c1b34da882c4f0e0b2e24bb35dc906d2f598a40b72bfc7", size = 400031, upload-time = "2023-09-16T10:22:57.78Z" }, + { url = "https://files.pythonhosted.org/packages/96/1b/b05cd42c8d21767a0488b883b38658fb9a45f86c293b7b42521a8113dc5d/contourpy-1.1.1-cp38-cp38-win_amd64.whl", hash = "sha256:498e53573e8b94b1caeb9e62d7c2d053c263ebb6aa259c81050766beb50ff8d9", size = 477949, upload-time = "2023-09-16T10:23:02.587Z" }, + { url = "https://files.pythonhosted.org/packages/16/d9/8a15ff67fc27c65939e454512955e1b240ec75cd201d82e115b3b63ef76d/contourpy-1.1.1-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:ba42e3810999a0ddd0439e6e5dbf6d034055cdc72b7c5c839f37a7c274cb4eba", size = 247396, upload-time = "2023-09-16T10:23:06.429Z" }, + { url = "https://files.pythonhosted.org/packages/09/fe/086e6847ee53da10ddf0b6c5e5f877ab43e68e355d2f4c85f67561ee8a57/contourpy-1.1.1-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:6c06e4c6e234fcc65435223c7b2a90f286b7f1b2733058bdf1345d218cc59e34", size = 232598, upload-time = "2023-09-16T10:23:11.009Z" }, + { url = "https://files.pythonhosted.org/packages/a3/9c/662925239e1185c6cf1da8c334e4c61bddcfa8e528f4b51083b613003170/contourpy-1.1.1-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:ca6fab080484e419528e98624fb5c4282148b847e3602dc8dbe0cb0669469887", size = 286436, upload-time = "2023-09-16T10:23:14.624Z" }, + { url = "https://files.pythonhosted.org/packages/d3/7e/417cdf65da7140981079eda6a81ecd593ae0239bf8c738f2e2b3f6df8920/contourpy-1.1.1-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:93df44ab351119d14cd1e6b52a5063d3336f0754b72736cc63db59307dabb718", size = 322629, upload-time = "2023-09-16T10:23:18.203Z" }, + { url = "https://files.pythonhosted.org/packages/a8/22/ffd88aef74cc045698c5e5c400e8b7cd62311199c109245ac7827290df2c/contourpy-1.1.1-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:eafbef886566dc1047d7b3d4b14db0d5b7deb99638d8e1be4e23a7c7ac59ff0f", size = 297117, upload-time = "2023-09-16T10:23:21.586Z" }, + { url = "https://files.pythonhosted.org/packages/2b/c0/24c34c41a180f875419b536125799c61e2330b997d77a5a818a3bc3e08cd/contourpy-1.1.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:efe0fab26d598e1ec07d72cf03eaeeba8e42b4ecf6b9ccb5a356fde60ff08b85", size = 301855, upload-time = "2023-09-16T10:23:25.584Z" }, + { url = "https://files.pythonhosted.org/packages/bf/ec/f9877f6378a580cd683bd76c8a781dcd972e82965e0da951a739d3364677/contourpy-1.1.1-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:f08e469821a5e4751c97fcd34bcb586bc243c39c2e39321822060ba902eac49e", size = 820597, upload-time = "2023-09-16T10:23:33.133Z" }, + { url = "https://files.pythonhosted.org/packages/e1/3a/c41f4bc7122d3a06388acae1bed6f50a665c1031863ca42bd701094dcb1f/contourpy-1.1.1-cp39-cp39-win32.whl", hash = "sha256:bfc8a5e9238232a45ebc5cb3bfee71f1167064c8d382cadd6076f0d51cff1da0", size = 400031, upload-time = "2023-09-16T10:23:37.546Z" }, + { url = "https://files.pythonhosted.org/packages/87/2b/9b49451f7412cc1a79198e94a771a4e52d65c479aae610b1161c0290ef2c/contourpy-1.1.1-cp39-cp39-win_amd64.whl", hash = "sha256:c84fdf3da00c2827d634de4fcf17e3e067490c4aea82833625c4c8e6cdea0887", size = 435965, upload-time = "2023-09-16T10:23:42.512Z" }, + { url = "https://files.pythonhosted.org/packages/e6/3c/fc36884b6793e2066a6ff25c86e21b8bd62553456b07e964c260bcf22711/contourpy-1.1.1-pp38-pypy38_pp73-macosx_10_9_x86_64.whl", hash = "sha256:229a25f68046c5cf8067d6d6351c8b99e40da11b04d8416bf8d2b1d75922521e", size = 246493, upload-time = "2023-09-16T10:23:45.721Z" }, + { url = "https://files.pythonhosted.org/packages/3d/85/f4c5b09ce79828ed4553a8ae2ebdf937794f57b45848b1f5c95d9744ecc2/contourpy-1.1.1-pp38-pypy38_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:a10dab5ea1bd4401c9483450b5b0ba5416be799bbd50fc7a6cc5e2a15e03e8a3", size = 289240, upload-time = "2023-09-16T10:23:49.207Z" }, + { url = "https://files.pythonhosted.org/packages/18/d3/9d7c0a372baf5130c1417a4b8275079d5379c11355436cb9fc78af7d7559/contourpy-1.1.1-pp38-pypy38_pp73-win_amd64.whl", hash = "sha256:4f9147051cb8fdb29a51dc2482d792b3b23e50f8f57e3720ca2e3d438b7adf23", size = 476043, upload-time = "2023-09-16T10:23:54.495Z" }, + { url = "https://files.pythonhosted.org/packages/e7/12/643242c3d9b031ca19f9a440f63e568dd883a04711056ca5d607f9bda888/contourpy-1.1.1-pp39-pypy39_pp73-macosx_10_9_x86_64.whl", hash = "sha256:a75cc163a5f4531a256f2c523bd80db509a49fc23721b36dd1ef2f60ff41c3cb", size = 246247, upload-time = "2023-09-16T10:23:58.204Z" }, + { url = "https://files.pythonhosted.org/packages/e1/37/95716fe235bf441422059e4afcd4b9b7c5821851c2aee992a06d1e9f831a/contourpy-1.1.1-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:3b53d5769aa1f2d4ea407c65f2d1d08002952fac1d9e9d307aa2e1023554a163", size = 289029, upload-time = "2023-09-16T10:24:02.085Z" }, + { url = "https://files.pythonhosted.org/packages/e5/fd/14852c4a688031e0d8a20d9a1b60078d45507186ef17042093835be2f01a/contourpy-1.1.1-pp39-pypy39_pp73-win_amd64.whl", hash = "sha256:11b836b7dbfb74e049c302bbf74b4b8f6cb9d0b6ca1bf86cfa8ba144aedadd9c", size = 476043, upload-time = "2023-09-16T10:24:07.292Z" }, ] [[package]] @@ -617,72 +617,72 @@ resolution-markers = [ dependencies = [ { name = "numpy", version = "2.0.2", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version == '3.9.*'" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/f5/f6/31a8f28b4a2a4fa0e01085e542f3081ab0588eff8e589d39d775172c9792/contourpy-1.3.0.tar.gz", hash = "sha256:7ffa0db17717a8ffb127efd0c95a4362d996b892c2904db72428d5b52e1938a4", size = 13464370 } -wheels = [ - { url = "https://files.pythonhosted.org/packages/6c/e0/be8dcc796cfdd96708933e0e2da99ba4bb8f9b2caa9d560a50f3f09a65f3/contourpy-1.3.0-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:880ea32e5c774634f9fcd46504bf9f080a41ad855f4fef54f5380f5133d343c7", size = 265366 }, - { url = "https://files.pythonhosted.org/packages/50/d6/c953b400219443535d412fcbbc42e7a5e823291236bc0bb88936e3cc9317/contourpy-1.3.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:76c905ef940a4474a6289c71d53122a4f77766eef23c03cd57016ce19d0f7b42", size = 249226 }, - { url = "https://files.pythonhosted.org/packages/6f/b4/6fffdf213ffccc28483c524b9dad46bb78332851133b36ad354b856ddc7c/contourpy-1.3.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:92f8557cbb07415a4d6fa191f20fd9d2d9eb9c0b61d1b2f52a8926e43c6e9af7", size = 308460 }, - { url = "https://files.pythonhosted.org/packages/cf/6c/118fc917b4050f0afe07179a6dcbe4f3f4ec69b94f36c9e128c4af480fb8/contourpy-1.3.0-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:36f965570cff02b874773c49bfe85562b47030805d7d8360748f3eca570f4cab", size = 347623 }, - { url = "https://files.pythonhosted.org/packages/f9/a4/30ff110a81bfe3abf7b9673284d21ddce8cc1278f6f77393c91199da4c90/contourpy-1.3.0-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:cacd81e2d4b6f89c9f8a5b69b86490152ff39afc58a95af002a398273e5ce589", size = 317761 }, - { url = "https://files.pythonhosted.org/packages/99/e6/d11966962b1aa515f5586d3907ad019f4b812c04e4546cc19ebf62b5178e/contourpy-1.3.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:69375194457ad0fad3a839b9e29aa0b0ed53bb54db1bfb6c3ae43d111c31ce41", size = 322015 }, - { url = "https://files.pythonhosted.org/packages/4d/e3/182383743751d22b7b59c3c753277b6aee3637049197624f333dac5b4c80/contourpy-1.3.0-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:7a52040312b1a858b5e31ef28c2e865376a386c60c0e248370bbea2d3f3b760d", size = 1262672 }, - { url = "https://files.pythonhosted.org/packages/78/53/974400c815b2e605f252c8fb9297e2204347d1755a5374354ee77b1ea259/contourpy-1.3.0-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:3faeb2998e4fcb256542e8a926d08da08977f7f5e62cf733f3c211c2a5586223", size = 1321688 }, - { url = "https://files.pythonhosted.org/packages/52/29/99f849faed5593b2926a68a31882af98afbeac39c7fdf7de491d9c85ec6a/contourpy-1.3.0-cp310-cp310-win32.whl", hash = "sha256:36e0cff201bcb17a0a8ecc7f454fe078437fa6bda730e695a92f2d9932bd507f", size = 171145 }, - { url = "https://files.pythonhosted.org/packages/a9/97/3f89bba79ff6ff2b07a3cbc40aa693c360d5efa90d66e914f0ff03b95ec7/contourpy-1.3.0-cp310-cp310-win_amd64.whl", hash = "sha256:87ddffef1dbe5e669b5c2440b643d3fdd8622a348fe1983fad7a0f0ccb1cd67b", size = 216019 }, - { url = "https://files.pythonhosted.org/packages/b3/1f/9375917786cb39270b0ee6634536c0e22abf225825602688990d8f5c6c19/contourpy-1.3.0-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:0fa4c02abe6c446ba70d96ece336e621efa4aecae43eaa9b030ae5fb92b309ad", size = 266356 }, - { url = "https://files.pythonhosted.org/packages/05/46/9256dd162ea52790c127cb58cfc3b9e3413a6e3478917d1f811d420772ec/contourpy-1.3.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:834e0cfe17ba12f79963861e0f908556b2cedd52e1f75e6578801febcc6a9f49", size = 250915 }, - { url = "https://files.pythonhosted.org/packages/e1/5d/3056c167fa4486900dfbd7e26a2fdc2338dc58eee36d490a0ed3ddda5ded/contourpy-1.3.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:dbc4c3217eee163fa3984fd1567632b48d6dfd29216da3ded3d7b844a8014a66", size = 310443 }, - { url = "https://files.pythonhosted.org/packages/ca/c2/1a612e475492e07f11c8e267ea5ec1ce0d89971be496c195e27afa97e14a/contourpy-1.3.0-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:4865cd1d419e0c7a7bf6de1777b185eebdc51470800a9f42b9e9decf17762081", size = 348548 }, - { url = "https://files.pythonhosted.org/packages/45/cf/2c2fc6bb5874158277b4faf136847f0689e1b1a1f640a36d76d52e78907c/contourpy-1.3.0-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:303c252947ab4b14c08afeb52375b26781ccd6a5ccd81abcdfc1fafd14cf93c1", size = 319118 }, - { url = "https://files.pythonhosted.org/packages/03/33/003065374f38894cdf1040cef474ad0546368eea7e3a51d48b8a423961f8/contourpy-1.3.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:637f674226be46f6ba372fd29d9523dd977a291f66ab2a74fbeb5530bb3f445d", size = 323162 }, - { url = "https://files.pythonhosted.org/packages/42/80/e637326e85e4105a802e42959f56cff2cd39a6b5ef68d5d9aee3ea5f0e4c/contourpy-1.3.0-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:76a896b2f195b57db25d6b44e7e03f221d32fe318d03ede41f8b4d9ba1bff53c", size = 1265396 }, - { url = "https://files.pythonhosted.org/packages/7c/3b/8cbd6416ca1bbc0202b50f9c13b2e0b922b64be888f9d9ee88e6cfabfb51/contourpy-1.3.0-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:e1fd23e9d01591bab45546c089ae89d926917a66dceb3abcf01f6105d927e2cb", size = 1324297 }, - { url = "https://files.pythonhosted.org/packages/4d/2c/021a7afaa52fe891f25535506cc861c30c3c4e5a1c1ce94215e04b293e72/contourpy-1.3.0-cp311-cp311-win32.whl", hash = "sha256:d402880b84df3bec6eab53cd0cf802cae6a2ef9537e70cf75e91618a3801c20c", size = 171808 }, - { url = "https://files.pythonhosted.org/packages/8d/2f/804f02ff30a7fae21f98198828d0857439ec4c91a96e20cf2d6c49372966/contourpy-1.3.0-cp311-cp311-win_amd64.whl", hash = "sha256:6cb6cc968059db9c62cb35fbf70248f40994dfcd7aa10444bbf8b3faeb7c2d67", size = 217181 }, - { url = "https://files.pythonhosted.org/packages/c9/92/8e0bbfe6b70c0e2d3d81272b58c98ac69ff1a4329f18c73bd64824d8b12e/contourpy-1.3.0-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:570ef7cf892f0afbe5b2ee410c507ce12e15a5fa91017a0009f79f7d93a1268f", size = 267838 }, - { url = "https://files.pythonhosted.org/packages/e3/04/33351c5d5108460a8ce6d512307690b023f0cfcad5899499f5c83b9d63b1/contourpy-1.3.0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:da84c537cb8b97d153e9fb208c221c45605f73147bd4cadd23bdae915042aad6", size = 251549 }, - { url = "https://files.pythonhosted.org/packages/51/3d/aa0fe6ae67e3ef9f178389e4caaaa68daf2f9024092aa3c6032e3d174670/contourpy-1.3.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:0be4d8425bfa755e0fd76ee1e019636ccc7c29f77a7c86b4328a9eb6a26d0639", size = 303177 }, - { url = "https://files.pythonhosted.org/packages/56/c3/c85a7e3e0cab635575d3b657f9535443a6f5d20fac1a1911eaa4bbe1aceb/contourpy-1.3.0-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:9c0da700bf58f6e0b65312d0a5e695179a71d0163957fa381bb3c1f72972537c", size = 341735 }, - { url = "https://files.pythonhosted.org/packages/dd/8d/20f7a211a7be966a53f474bc90b1a8202e9844b3f1ef85f3ae45a77151ee/contourpy-1.3.0-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:eb8b141bb00fa977d9122636b16aa67d37fd40a3d8b52dd837e536d64b9a4d06", size = 314679 }, - { url = "https://files.pythonhosted.org/packages/6e/be/524e377567defac0e21a46e2a529652d165fed130a0d8a863219303cee18/contourpy-1.3.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:3634b5385c6716c258d0419c46d05c8aa7dc8cb70326c9a4fb66b69ad2b52e09", size = 320549 }, - { url = "https://files.pythonhosted.org/packages/0f/96/fdb2552a172942d888915f3a6663812e9bc3d359d53dafd4289a0fb462f0/contourpy-1.3.0-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:0dce35502151b6bd35027ac39ba6e5a44be13a68f55735c3612c568cac3805fd", size = 1263068 }, - { url = "https://files.pythonhosted.org/packages/2a/25/632eab595e3140adfa92f1322bf8915f68c932bac468e89eae9974cf1c00/contourpy-1.3.0-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:aea348f053c645100612b333adc5983d87be69acdc6d77d3169c090d3b01dc35", size = 1322833 }, - { url = "https://files.pythonhosted.org/packages/73/e3/69738782e315a1d26d29d71a550dbbe3eb6c653b028b150f70c1a5f4f229/contourpy-1.3.0-cp312-cp312-win32.whl", hash = "sha256:90f73a5116ad1ba7174341ef3ea5c3150ddf20b024b98fb0c3b29034752c8aeb", size = 172681 }, - { url = "https://files.pythonhosted.org/packages/0c/89/9830ba00d88e43d15e53d64931e66b8792b46eb25e2050a88fec4a0df3d5/contourpy-1.3.0-cp312-cp312-win_amd64.whl", hash = "sha256:b11b39aea6be6764f84360fce6c82211a9db32a7c7de8fa6dd5397cf1d079c3b", size = 218283 }, - { url = "https://files.pythonhosted.org/packages/53/a1/d20415febfb2267af2d7f06338e82171824d08614084714fb2c1dac9901f/contourpy-1.3.0-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:3e1c7fa44aaae40a2247e2e8e0627f4bea3dd257014764aa644f319a5f8600e3", size = 267879 }, - { url = "https://files.pythonhosted.org/packages/aa/45/5a28a3570ff6218d8bdfc291a272a20d2648104815f01f0177d103d985e1/contourpy-1.3.0-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:364174c2a76057feef647c802652f00953b575723062560498dc7930fc9b1cb7", size = 251573 }, - { url = "https://files.pythonhosted.org/packages/39/1c/d3f51540108e3affa84f095c8b04f0aa833bb797bc8baa218a952a98117d/contourpy-1.3.0-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:32b238b3b3b649e09ce9aaf51f0c261d38644bdfa35cbaf7b263457850957a84", size = 303184 }, - { url = "https://files.pythonhosted.org/packages/00/56/1348a44fb6c3a558c1a3a0cd23d329d604c99d81bf5a4b58c6b71aab328f/contourpy-1.3.0-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:d51fca85f9f7ad0b65b4b9fe800406d0d77017d7270d31ec3fb1cc07358fdea0", size = 340262 }, - { url = "https://files.pythonhosted.org/packages/2b/23/00d665ba67e1bb666152131da07e0f24c95c3632d7722caa97fb61470eca/contourpy-1.3.0-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:732896af21716b29ab3e988d4ce14bc5133733b85956316fb0c56355f398099b", size = 313806 }, - { url = "https://files.pythonhosted.org/packages/5a/42/3cf40f7040bb8362aea19af9a5fb7b32ce420f645dd1590edcee2c657cd5/contourpy-1.3.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:d73f659398a0904e125280836ae6f88ba9b178b2fed6884f3b1f95b989d2c8da", size = 319710 }, - { url = "https://files.pythonhosted.org/packages/05/32/f3bfa3fc083b25e1a7ae09197f897476ee68e7386e10404bdf9aac7391f0/contourpy-1.3.0-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:c6c7c2408b7048082932cf4e641fa3b8ca848259212f51c8c59c45aa7ac18f14", size = 1264107 }, - { url = "https://files.pythonhosted.org/packages/1c/1e/1019d34473a736664f2439542b890b2dc4c6245f5c0d8cdfc0ccc2cab80c/contourpy-1.3.0-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:f317576606de89da6b7e0861cf6061f6146ead3528acabff9236458a6ba467f8", size = 1322458 }, - { url = "https://files.pythonhosted.org/packages/22/85/4f8bfd83972cf8909a4d36d16b177f7b8bdd942178ea4bf877d4a380a91c/contourpy-1.3.0-cp313-cp313-win32.whl", hash = "sha256:31cd3a85dbdf1fc002280c65caa7e2b5f65e4a973fcdf70dd2fdcb9868069294", size = 172643 }, - { url = "https://files.pythonhosted.org/packages/cc/4a/fb3c83c1baba64ba90443626c228ca14f19a87c51975d3b1de308dd2cf08/contourpy-1.3.0-cp313-cp313-win_amd64.whl", hash = "sha256:4553c421929ec95fb07b3aaca0fae668b2eb5a5203d1217ca7c34c063c53d087", size = 218301 }, - { url = "https://files.pythonhosted.org/packages/76/65/702f4064f397821fea0cb493f7d3bc95a5d703e20954dce7d6d39bacf378/contourpy-1.3.0-cp313-cp313t-macosx_10_13_x86_64.whl", hash = "sha256:345af746d7766821d05d72cb8f3845dfd08dd137101a2cb9b24de277d716def8", size = 278972 }, - { url = "https://files.pythonhosted.org/packages/80/85/21f5bba56dba75c10a45ec00ad3b8190dbac7fd9a8a8c46c6116c933e9cf/contourpy-1.3.0-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:3bb3808858a9dc68f6f03d319acd5f1b8a337e6cdda197f02f4b8ff67ad2057b", size = 263375 }, - { url = "https://files.pythonhosted.org/packages/0a/64/084c86ab71d43149f91ab3a4054ccf18565f0a8af36abfa92b1467813ed6/contourpy-1.3.0-cp313-cp313t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:420d39daa61aab1221567b42eecb01112908b2cab7f1b4106a52caaec8d36973", size = 307188 }, - { url = "https://files.pythonhosted.org/packages/3d/ff/d61a4c288dc42da0084b8d9dc2aa219a850767165d7d9a9c364ff530b509/contourpy-1.3.0-cp313-cp313t-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:4d63ee447261e963af02642ffcb864e5a2ee4cbfd78080657a9880b8b1868e18", size = 345644 }, - { url = "https://files.pythonhosted.org/packages/ca/aa/00d2313d35ec03f188e8f0786c2fc61f589306e02fdc158233697546fd58/contourpy-1.3.0-cp313-cp313t-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:167d6c890815e1dac9536dca00828b445d5d0df4d6a8c6adb4a7ec3166812fa8", size = 317141 }, - { url = "https://files.pythonhosted.org/packages/8d/6a/b5242c8cb32d87f6abf4f5e3044ca397cb1a76712e3fa2424772e3ff495f/contourpy-1.3.0-cp313-cp313t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:710a26b3dc80c0e4febf04555de66f5fd17e9cf7170a7b08000601a10570bda6", size = 323469 }, - { url = "https://files.pythonhosted.org/packages/6f/a6/73e929d43028a9079aca4bde107494864d54f0d72d9db508a51ff0878593/contourpy-1.3.0-cp313-cp313t-musllinux_1_2_aarch64.whl", hash = "sha256:75ee7cb1a14c617f34a51d11fa7524173e56551646828353c4af859c56b766e2", size = 1260894 }, - { url = "https://files.pythonhosted.org/packages/2b/1e/1e726ba66eddf21c940821df8cf1a7d15cb165f0682d62161eaa5e93dae1/contourpy-1.3.0-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:33c92cdae89ec5135d036e7218e69b0bb2851206077251f04a6c4e0e21f03927", size = 1314829 }, - { url = "https://files.pythonhosted.org/packages/b3/e3/b9f72758adb6ef7397327ceb8b9c39c75711affb220e4f53c745ea1d5a9a/contourpy-1.3.0-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:a11077e395f67ffc2c44ec2418cfebed032cd6da3022a94fc227b6faf8e2acb8", size = 265518 }, - { url = "https://files.pythonhosted.org/packages/ec/22/19f5b948367ab5260fb41d842c7a78dae645603881ea6bc39738bcfcabf6/contourpy-1.3.0-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:e8134301d7e204c88ed7ab50028ba06c683000040ede1d617298611f9dc6240c", size = 249350 }, - { url = "https://files.pythonhosted.org/packages/26/76/0c7d43263dd00ae21a91a24381b7e813d286a3294d95d179ef3a7b9fb1d7/contourpy-1.3.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:e12968fdfd5bb45ffdf6192a590bd8ddd3ba9e58360b29683c6bb71a7b41edca", size = 309167 }, - { url = "https://files.pythonhosted.org/packages/96/3b/cadff6773e89f2a5a492c1a8068e21d3fccaf1a1c1df7d65e7c8e3ef60ba/contourpy-1.3.0-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:fd2a0fc506eccaaa7595b7e1418951f213cf8255be2600f1ea1b61e46a60c55f", size = 348279 }, - { url = "https://files.pythonhosted.org/packages/e1/86/158cc43aa549d2081a955ab11c6bdccc7a22caacc2af93186d26f5f48746/contourpy-1.3.0-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:4cfb5c62ce023dfc410d6059c936dcf96442ba40814aefbfa575425a3a7f19dc", size = 318519 }, - { url = "https://files.pythonhosted.org/packages/05/11/57335544a3027e9b96a05948c32e566328e3a2f84b7b99a325b7a06d2b06/contourpy-1.3.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:68a32389b06b82c2fdd68276148d7b9275b5f5cf13e5417e4252f6d1a34f72a2", size = 321922 }, - { url = "https://files.pythonhosted.org/packages/0b/e3/02114f96543f4a1b694333b92a6dcd4f8eebbefcc3a5f3bbb1316634178f/contourpy-1.3.0-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:94e848a6b83da10898cbf1311a815f770acc9b6a3f2d646f330d57eb4e87592e", size = 1258017 }, - { url = "https://files.pythonhosted.org/packages/f3/3b/bfe4c81c6d5881c1c643dde6620be0b42bf8aab155976dd644595cfab95c/contourpy-1.3.0-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:d78ab28a03c854a873787a0a42254a0ccb3cb133c672f645c9f9c8f3ae9d0800", size = 1316773 }, - { url = "https://files.pythonhosted.org/packages/f1/17/c52d2970784383cafb0bd918b6fb036d98d96bbf0bc1befb5d1e31a07a70/contourpy-1.3.0-cp39-cp39-win32.whl", hash = "sha256:81cb5ed4952aae6014bc9d0421dec7c5835c9c8c31cdf51910b708f548cf58e5", size = 171353 }, - { url = "https://files.pythonhosted.org/packages/53/23/db9f69676308e094d3c45f20cc52e12d10d64f027541c995d89c11ad5c75/contourpy-1.3.0-cp39-cp39-win_amd64.whl", hash = "sha256:14e262f67bd7e6eb6880bc564dcda30b15e351a594657e55b7eec94b6ef72843", size = 211817 }, - { url = "https://files.pythonhosted.org/packages/d1/09/60e486dc2b64c94ed33e58dcfb6f808192c03dfc5574c016218b9b7680dc/contourpy-1.3.0-pp310-pypy310_pp73-macosx_10_15_x86_64.whl", hash = "sha256:fe41b41505a5a33aeaed2a613dccaeaa74e0e3ead6dd6fd3a118fb471644fd6c", size = 261886 }, - { url = "https://files.pythonhosted.org/packages/19/20/b57f9f7174fcd439a7789fb47d764974ab646fa34d1790551de386457a8e/contourpy-1.3.0-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:eca7e17a65f72a5133bdbec9ecf22401c62bcf4821361ef7811faee695799779", size = 311008 }, - { url = "https://files.pythonhosted.org/packages/74/fc/5040d42623a1845d4f17a418e590fd7a79ae8cb2bad2b2f83de63c3bdca4/contourpy-1.3.0-pp310-pypy310_pp73-win_amd64.whl", hash = "sha256:1ec4dc6bf570f5b22ed0d7efba0dfa9c5b9e0431aeea7581aa217542d9e809a4", size = 215690 }, - { url = "https://files.pythonhosted.org/packages/2b/24/dc3dcd77ac7460ab7e9d2b01a618cb31406902e50e605a8d6091f0a8f7cc/contourpy-1.3.0-pp39-pypy39_pp73-macosx_10_15_x86_64.whl", hash = "sha256:00ccd0dbaad6d804ab259820fa7cb0b8036bda0686ef844d24125d8287178ce0", size = 261894 }, - { url = "https://files.pythonhosted.org/packages/b1/db/531642a01cfec39d1682e46b5457b07cf805e3c3c584ec27e2a6223f8f6c/contourpy-1.3.0-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:8ca947601224119117f7c19c9cdf6b3ab54c5726ef1d906aa4a69dfb6dd58102", size = 311099 }, - { url = "https://files.pythonhosted.org/packages/38/1e/94bda024d629f254143a134eead69e21c836429a2a6ce82209a00ddcb79a/contourpy-1.3.0-pp39-pypy39_pp73-win_amd64.whl", hash = "sha256:c6ec93afeb848a0845a18989da3beca3eec2c0f852322efe21af1931147d12cb", size = 215838 }, +sdist = { url = "https://files.pythonhosted.org/packages/f5/f6/31a8f28b4a2a4fa0e01085e542f3081ab0588eff8e589d39d775172c9792/contourpy-1.3.0.tar.gz", hash = "sha256:7ffa0db17717a8ffb127efd0c95a4362d996b892c2904db72428d5b52e1938a4", size = 13464370, upload-time = "2024-08-27T21:00:03.328Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/6c/e0/be8dcc796cfdd96708933e0e2da99ba4bb8f9b2caa9d560a50f3f09a65f3/contourpy-1.3.0-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:880ea32e5c774634f9fcd46504bf9f080a41ad855f4fef54f5380f5133d343c7", size = 265366, upload-time = "2024-08-27T20:50:09.947Z" }, + { url = "https://files.pythonhosted.org/packages/50/d6/c953b400219443535d412fcbbc42e7a5e823291236bc0bb88936e3cc9317/contourpy-1.3.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:76c905ef940a4474a6289c71d53122a4f77766eef23c03cd57016ce19d0f7b42", size = 249226, upload-time = "2024-08-27T20:50:16.1Z" }, + { url = "https://files.pythonhosted.org/packages/6f/b4/6fffdf213ffccc28483c524b9dad46bb78332851133b36ad354b856ddc7c/contourpy-1.3.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:92f8557cbb07415a4d6fa191f20fd9d2d9eb9c0b61d1b2f52a8926e43c6e9af7", size = 308460, upload-time = "2024-08-27T20:50:22.536Z" }, + { url = "https://files.pythonhosted.org/packages/cf/6c/118fc917b4050f0afe07179a6dcbe4f3f4ec69b94f36c9e128c4af480fb8/contourpy-1.3.0-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:36f965570cff02b874773c49bfe85562b47030805d7d8360748f3eca570f4cab", size = 347623, upload-time = "2024-08-27T20:50:28.806Z" }, + { url = "https://files.pythonhosted.org/packages/f9/a4/30ff110a81bfe3abf7b9673284d21ddce8cc1278f6f77393c91199da4c90/contourpy-1.3.0-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:cacd81e2d4b6f89c9f8a5b69b86490152ff39afc58a95af002a398273e5ce589", size = 317761, upload-time = "2024-08-27T20:50:35.126Z" }, + { url = "https://files.pythonhosted.org/packages/99/e6/d11966962b1aa515f5586d3907ad019f4b812c04e4546cc19ebf62b5178e/contourpy-1.3.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:69375194457ad0fad3a839b9e29aa0b0ed53bb54db1bfb6c3ae43d111c31ce41", size = 322015, upload-time = "2024-08-27T20:50:40.318Z" }, + { url = "https://files.pythonhosted.org/packages/4d/e3/182383743751d22b7b59c3c753277b6aee3637049197624f333dac5b4c80/contourpy-1.3.0-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:7a52040312b1a858b5e31ef28c2e865376a386c60c0e248370bbea2d3f3b760d", size = 1262672, upload-time = "2024-08-27T20:50:55.643Z" }, + { url = "https://files.pythonhosted.org/packages/78/53/974400c815b2e605f252c8fb9297e2204347d1755a5374354ee77b1ea259/contourpy-1.3.0-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:3faeb2998e4fcb256542e8a926d08da08977f7f5e62cf733f3c211c2a5586223", size = 1321688, upload-time = "2024-08-27T20:51:11.293Z" }, + { url = "https://files.pythonhosted.org/packages/52/29/99f849faed5593b2926a68a31882af98afbeac39c7fdf7de491d9c85ec6a/contourpy-1.3.0-cp310-cp310-win32.whl", hash = "sha256:36e0cff201bcb17a0a8ecc7f454fe078437fa6bda730e695a92f2d9932bd507f", size = 171145, upload-time = "2024-08-27T20:51:15.2Z" }, + { url = "https://files.pythonhosted.org/packages/a9/97/3f89bba79ff6ff2b07a3cbc40aa693c360d5efa90d66e914f0ff03b95ec7/contourpy-1.3.0-cp310-cp310-win_amd64.whl", hash = "sha256:87ddffef1dbe5e669b5c2440b643d3fdd8622a348fe1983fad7a0f0ccb1cd67b", size = 216019, upload-time = "2024-08-27T20:51:19.365Z" }, + { url = "https://files.pythonhosted.org/packages/b3/1f/9375917786cb39270b0ee6634536c0e22abf225825602688990d8f5c6c19/contourpy-1.3.0-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:0fa4c02abe6c446ba70d96ece336e621efa4aecae43eaa9b030ae5fb92b309ad", size = 266356, upload-time = "2024-08-27T20:51:24.146Z" }, + { url = "https://files.pythonhosted.org/packages/05/46/9256dd162ea52790c127cb58cfc3b9e3413a6e3478917d1f811d420772ec/contourpy-1.3.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:834e0cfe17ba12f79963861e0f908556b2cedd52e1f75e6578801febcc6a9f49", size = 250915, upload-time = "2024-08-27T20:51:28.683Z" }, + { url = "https://files.pythonhosted.org/packages/e1/5d/3056c167fa4486900dfbd7e26a2fdc2338dc58eee36d490a0ed3ddda5ded/contourpy-1.3.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:dbc4c3217eee163fa3984fd1567632b48d6dfd29216da3ded3d7b844a8014a66", size = 310443, upload-time = "2024-08-27T20:51:33.675Z" }, + { url = "https://files.pythonhosted.org/packages/ca/c2/1a612e475492e07f11c8e267ea5ec1ce0d89971be496c195e27afa97e14a/contourpy-1.3.0-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:4865cd1d419e0c7a7bf6de1777b185eebdc51470800a9f42b9e9decf17762081", size = 348548, upload-time = "2024-08-27T20:51:39.322Z" }, + { url = "https://files.pythonhosted.org/packages/45/cf/2c2fc6bb5874158277b4faf136847f0689e1b1a1f640a36d76d52e78907c/contourpy-1.3.0-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:303c252947ab4b14c08afeb52375b26781ccd6a5ccd81abcdfc1fafd14cf93c1", size = 319118, upload-time = "2024-08-27T20:51:44.717Z" }, + { url = "https://files.pythonhosted.org/packages/03/33/003065374f38894cdf1040cef474ad0546368eea7e3a51d48b8a423961f8/contourpy-1.3.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:637f674226be46f6ba372fd29d9523dd977a291f66ab2a74fbeb5530bb3f445d", size = 323162, upload-time = "2024-08-27T20:51:49.683Z" }, + { url = "https://files.pythonhosted.org/packages/42/80/e637326e85e4105a802e42959f56cff2cd39a6b5ef68d5d9aee3ea5f0e4c/contourpy-1.3.0-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:76a896b2f195b57db25d6b44e7e03f221d32fe318d03ede41f8b4d9ba1bff53c", size = 1265396, upload-time = "2024-08-27T20:52:04.926Z" }, + { url = "https://files.pythonhosted.org/packages/7c/3b/8cbd6416ca1bbc0202b50f9c13b2e0b922b64be888f9d9ee88e6cfabfb51/contourpy-1.3.0-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:e1fd23e9d01591bab45546c089ae89d926917a66dceb3abcf01f6105d927e2cb", size = 1324297, upload-time = "2024-08-27T20:52:21.843Z" }, + { url = "https://files.pythonhosted.org/packages/4d/2c/021a7afaa52fe891f25535506cc861c30c3c4e5a1c1ce94215e04b293e72/contourpy-1.3.0-cp311-cp311-win32.whl", hash = "sha256:d402880b84df3bec6eab53cd0cf802cae6a2ef9537e70cf75e91618a3801c20c", size = 171808, upload-time = "2024-08-27T20:52:25.163Z" }, + { url = "https://files.pythonhosted.org/packages/8d/2f/804f02ff30a7fae21f98198828d0857439ec4c91a96e20cf2d6c49372966/contourpy-1.3.0-cp311-cp311-win_amd64.whl", hash = "sha256:6cb6cc968059db9c62cb35fbf70248f40994dfcd7aa10444bbf8b3faeb7c2d67", size = 217181, upload-time = "2024-08-27T20:52:29.13Z" }, + { url = "https://files.pythonhosted.org/packages/c9/92/8e0bbfe6b70c0e2d3d81272b58c98ac69ff1a4329f18c73bd64824d8b12e/contourpy-1.3.0-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:570ef7cf892f0afbe5b2ee410c507ce12e15a5fa91017a0009f79f7d93a1268f", size = 267838, upload-time = "2024-08-27T20:52:33.911Z" }, + { url = "https://files.pythonhosted.org/packages/e3/04/33351c5d5108460a8ce6d512307690b023f0cfcad5899499f5c83b9d63b1/contourpy-1.3.0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:da84c537cb8b97d153e9fb208c221c45605f73147bd4cadd23bdae915042aad6", size = 251549, upload-time = "2024-08-27T20:52:39.179Z" }, + { url = "https://files.pythonhosted.org/packages/51/3d/aa0fe6ae67e3ef9f178389e4caaaa68daf2f9024092aa3c6032e3d174670/contourpy-1.3.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:0be4d8425bfa755e0fd76ee1e019636ccc7c29f77a7c86b4328a9eb6a26d0639", size = 303177, upload-time = "2024-08-27T20:52:44.789Z" }, + { url = "https://files.pythonhosted.org/packages/56/c3/c85a7e3e0cab635575d3b657f9535443a6f5d20fac1a1911eaa4bbe1aceb/contourpy-1.3.0-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:9c0da700bf58f6e0b65312d0a5e695179a71d0163957fa381bb3c1f72972537c", size = 341735, upload-time = "2024-08-27T20:52:51.05Z" }, + { url = "https://files.pythonhosted.org/packages/dd/8d/20f7a211a7be966a53f474bc90b1a8202e9844b3f1ef85f3ae45a77151ee/contourpy-1.3.0-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:eb8b141bb00fa977d9122636b16aa67d37fd40a3d8b52dd837e536d64b9a4d06", size = 314679, upload-time = "2024-08-27T20:52:58.473Z" }, + { url = "https://files.pythonhosted.org/packages/6e/be/524e377567defac0e21a46e2a529652d165fed130a0d8a863219303cee18/contourpy-1.3.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:3634b5385c6716c258d0419c46d05c8aa7dc8cb70326c9a4fb66b69ad2b52e09", size = 320549, upload-time = "2024-08-27T20:53:06.593Z" }, + { url = "https://files.pythonhosted.org/packages/0f/96/fdb2552a172942d888915f3a6663812e9bc3d359d53dafd4289a0fb462f0/contourpy-1.3.0-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:0dce35502151b6bd35027ac39ba6e5a44be13a68f55735c3612c568cac3805fd", size = 1263068, upload-time = "2024-08-27T20:53:23.442Z" }, + { url = "https://files.pythonhosted.org/packages/2a/25/632eab595e3140adfa92f1322bf8915f68c932bac468e89eae9974cf1c00/contourpy-1.3.0-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:aea348f053c645100612b333adc5983d87be69acdc6d77d3169c090d3b01dc35", size = 1322833, upload-time = "2024-08-27T20:53:39.243Z" }, + { url = "https://files.pythonhosted.org/packages/73/e3/69738782e315a1d26d29d71a550dbbe3eb6c653b028b150f70c1a5f4f229/contourpy-1.3.0-cp312-cp312-win32.whl", hash = "sha256:90f73a5116ad1ba7174341ef3ea5c3150ddf20b024b98fb0c3b29034752c8aeb", size = 172681, upload-time = "2024-08-27T20:53:43.05Z" }, + { url = "https://files.pythonhosted.org/packages/0c/89/9830ba00d88e43d15e53d64931e66b8792b46eb25e2050a88fec4a0df3d5/contourpy-1.3.0-cp312-cp312-win_amd64.whl", hash = "sha256:b11b39aea6be6764f84360fce6c82211a9db32a7c7de8fa6dd5397cf1d079c3b", size = 218283, upload-time = "2024-08-27T20:53:47.232Z" }, + { url = "https://files.pythonhosted.org/packages/53/a1/d20415febfb2267af2d7f06338e82171824d08614084714fb2c1dac9901f/contourpy-1.3.0-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:3e1c7fa44aaae40a2247e2e8e0627f4bea3dd257014764aa644f319a5f8600e3", size = 267879, upload-time = "2024-08-27T20:53:51.597Z" }, + { url = "https://files.pythonhosted.org/packages/aa/45/5a28a3570ff6218d8bdfc291a272a20d2648104815f01f0177d103d985e1/contourpy-1.3.0-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:364174c2a76057feef647c802652f00953b575723062560498dc7930fc9b1cb7", size = 251573, upload-time = "2024-08-27T20:53:55.659Z" }, + { url = "https://files.pythonhosted.org/packages/39/1c/d3f51540108e3affa84f095c8b04f0aa833bb797bc8baa218a952a98117d/contourpy-1.3.0-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:32b238b3b3b649e09ce9aaf51f0c261d38644bdfa35cbaf7b263457850957a84", size = 303184, upload-time = "2024-08-27T20:54:00.225Z" }, + { url = "https://files.pythonhosted.org/packages/00/56/1348a44fb6c3a558c1a3a0cd23d329d604c99d81bf5a4b58c6b71aab328f/contourpy-1.3.0-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:d51fca85f9f7ad0b65b4b9fe800406d0d77017d7270d31ec3fb1cc07358fdea0", size = 340262, upload-time = "2024-08-27T20:54:05.234Z" }, + { url = "https://files.pythonhosted.org/packages/2b/23/00d665ba67e1bb666152131da07e0f24c95c3632d7722caa97fb61470eca/contourpy-1.3.0-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:732896af21716b29ab3e988d4ce14bc5133733b85956316fb0c56355f398099b", size = 313806, upload-time = "2024-08-27T20:54:09.889Z" }, + { url = "https://files.pythonhosted.org/packages/5a/42/3cf40f7040bb8362aea19af9a5fb7b32ce420f645dd1590edcee2c657cd5/contourpy-1.3.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:d73f659398a0904e125280836ae6f88ba9b178b2fed6884f3b1f95b989d2c8da", size = 319710, upload-time = "2024-08-27T20:54:14.536Z" }, + { url = "https://files.pythonhosted.org/packages/05/32/f3bfa3fc083b25e1a7ae09197f897476ee68e7386e10404bdf9aac7391f0/contourpy-1.3.0-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:c6c7c2408b7048082932cf4e641fa3b8ca848259212f51c8c59c45aa7ac18f14", size = 1264107, upload-time = "2024-08-27T20:54:29.735Z" }, + { url = "https://files.pythonhosted.org/packages/1c/1e/1019d34473a736664f2439542b890b2dc4c6245f5c0d8cdfc0ccc2cab80c/contourpy-1.3.0-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:f317576606de89da6b7e0861cf6061f6146ead3528acabff9236458a6ba467f8", size = 1322458, upload-time = "2024-08-27T20:54:45.507Z" }, + { url = "https://files.pythonhosted.org/packages/22/85/4f8bfd83972cf8909a4d36d16b177f7b8bdd942178ea4bf877d4a380a91c/contourpy-1.3.0-cp313-cp313-win32.whl", hash = "sha256:31cd3a85dbdf1fc002280c65caa7e2b5f65e4a973fcdf70dd2fdcb9868069294", size = 172643, upload-time = "2024-08-27T20:55:52.754Z" }, + { url = "https://files.pythonhosted.org/packages/cc/4a/fb3c83c1baba64ba90443626c228ca14f19a87c51975d3b1de308dd2cf08/contourpy-1.3.0-cp313-cp313-win_amd64.whl", hash = "sha256:4553c421929ec95fb07b3aaca0fae668b2eb5a5203d1217ca7c34c063c53d087", size = 218301, upload-time = "2024-08-27T20:55:56.509Z" }, + { url = "https://files.pythonhosted.org/packages/76/65/702f4064f397821fea0cb493f7d3bc95a5d703e20954dce7d6d39bacf378/contourpy-1.3.0-cp313-cp313t-macosx_10_13_x86_64.whl", hash = "sha256:345af746d7766821d05d72cb8f3845dfd08dd137101a2cb9b24de277d716def8", size = 278972, upload-time = "2024-08-27T20:54:50.347Z" }, + { url = "https://files.pythonhosted.org/packages/80/85/21f5bba56dba75c10a45ec00ad3b8190dbac7fd9a8a8c46c6116c933e9cf/contourpy-1.3.0-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:3bb3808858a9dc68f6f03d319acd5f1b8a337e6cdda197f02f4b8ff67ad2057b", size = 263375, upload-time = "2024-08-27T20:54:54.909Z" }, + { url = "https://files.pythonhosted.org/packages/0a/64/084c86ab71d43149f91ab3a4054ccf18565f0a8af36abfa92b1467813ed6/contourpy-1.3.0-cp313-cp313t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:420d39daa61aab1221567b42eecb01112908b2cab7f1b4106a52caaec8d36973", size = 307188, upload-time = "2024-08-27T20:55:00.184Z" }, + { url = "https://files.pythonhosted.org/packages/3d/ff/d61a4c288dc42da0084b8d9dc2aa219a850767165d7d9a9c364ff530b509/contourpy-1.3.0-cp313-cp313t-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:4d63ee447261e963af02642ffcb864e5a2ee4cbfd78080657a9880b8b1868e18", size = 345644, upload-time = "2024-08-27T20:55:05.673Z" }, + { url = "https://files.pythonhosted.org/packages/ca/aa/00d2313d35ec03f188e8f0786c2fc61f589306e02fdc158233697546fd58/contourpy-1.3.0-cp313-cp313t-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:167d6c890815e1dac9536dca00828b445d5d0df4d6a8c6adb4a7ec3166812fa8", size = 317141, upload-time = "2024-08-27T20:55:11.047Z" }, + { url = "https://files.pythonhosted.org/packages/8d/6a/b5242c8cb32d87f6abf4f5e3044ca397cb1a76712e3fa2424772e3ff495f/contourpy-1.3.0-cp313-cp313t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:710a26b3dc80c0e4febf04555de66f5fd17e9cf7170a7b08000601a10570bda6", size = 323469, upload-time = "2024-08-27T20:55:15.914Z" }, + { url = "https://files.pythonhosted.org/packages/6f/a6/73e929d43028a9079aca4bde107494864d54f0d72d9db508a51ff0878593/contourpy-1.3.0-cp313-cp313t-musllinux_1_2_aarch64.whl", hash = "sha256:75ee7cb1a14c617f34a51d11fa7524173e56551646828353c4af859c56b766e2", size = 1260894, upload-time = "2024-08-27T20:55:31.553Z" }, + { url = "https://files.pythonhosted.org/packages/2b/1e/1e726ba66eddf21c940821df8cf1a7d15cb165f0682d62161eaa5e93dae1/contourpy-1.3.0-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:33c92cdae89ec5135d036e7218e69b0bb2851206077251f04a6c4e0e21f03927", size = 1314829, upload-time = "2024-08-27T20:55:47.837Z" }, + { url = "https://files.pythonhosted.org/packages/b3/e3/b9f72758adb6ef7397327ceb8b9c39c75711affb220e4f53c745ea1d5a9a/contourpy-1.3.0-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:a11077e395f67ffc2c44ec2418cfebed032cd6da3022a94fc227b6faf8e2acb8", size = 265518, upload-time = "2024-08-27T20:56:01.333Z" }, + { url = "https://files.pythonhosted.org/packages/ec/22/19f5b948367ab5260fb41d842c7a78dae645603881ea6bc39738bcfcabf6/contourpy-1.3.0-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:e8134301d7e204c88ed7ab50028ba06c683000040ede1d617298611f9dc6240c", size = 249350, upload-time = "2024-08-27T20:56:05.432Z" }, + { url = "https://files.pythonhosted.org/packages/26/76/0c7d43263dd00ae21a91a24381b7e813d286a3294d95d179ef3a7b9fb1d7/contourpy-1.3.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:e12968fdfd5bb45ffdf6192a590bd8ddd3ba9e58360b29683c6bb71a7b41edca", size = 309167, upload-time = "2024-08-27T20:56:10.034Z" }, + { url = "https://files.pythonhosted.org/packages/96/3b/cadff6773e89f2a5a492c1a8068e21d3fccaf1a1c1df7d65e7c8e3ef60ba/contourpy-1.3.0-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:fd2a0fc506eccaaa7595b7e1418951f213cf8255be2600f1ea1b61e46a60c55f", size = 348279, upload-time = "2024-08-27T20:56:15.41Z" }, + { url = "https://files.pythonhosted.org/packages/e1/86/158cc43aa549d2081a955ab11c6bdccc7a22caacc2af93186d26f5f48746/contourpy-1.3.0-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:4cfb5c62ce023dfc410d6059c936dcf96442ba40814aefbfa575425a3a7f19dc", size = 318519, upload-time = "2024-08-27T20:56:21.813Z" }, + { url = "https://files.pythonhosted.org/packages/05/11/57335544a3027e9b96a05948c32e566328e3a2f84b7b99a325b7a06d2b06/contourpy-1.3.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:68a32389b06b82c2fdd68276148d7b9275b5f5cf13e5417e4252f6d1a34f72a2", size = 321922, upload-time = "2024-08-27T20:56:26.983Z" }, + { url = "https://files.pythonhosted.org/packages/0b/e3/02114f96543f4a1b694333b92a6dcd4f8eebbefcc3a5f3bbb1316634178f/contourpy-1.3.0-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:94e848a6b83da10898cbf1311a815f770acc9b6a3f2d646f330d57eb4e87592e", size = 1258017, upload-time = "2024-08-27T20:56:42.246Z" }, + { url = "https://files.pythonhosted.org/packages/f3/3b/bfe4c81c6d5881c1c643dde6620be0b42bf8aab155976dd644595cfab95c/contourpy-1.3.0-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:d78ab28a03c854a873787a0a42254a0ccb3cb133c672f645c9f9c8f3ae9d0800", size = 1316773, upload-time = "2024-08-27T20:56:58.58Z" }, + { url = "https://files.pythonhosted.org/packages/f1/17/c52d2970784383cafb0bd918b6fb036d98d96bbf0bc1befb5d1e31a07a70/contourpy-1.3.0-cp39-cp39-win32.whl", hash = "sha256:81cb5ed4952aae6014bc9d0421dec7c5835c9c8c31cdf51910b708f548cf58e5", size = 171353, upload-time = "2024-08-27T20:57:02.718Z" }, + { url = "https://files.pythonhosted.org/packages/53/23/db9f69676308e094d3c45f20cc52e12d10d64f027541c995d89c11ad5c75/contourpy-1.3.0-cp39-cp39-win_amd64.whl", hash = "sha256:14e262f67bd7e6eb6880bc564dcda30b15e351a594657e55b7eec94b6ef72843", size = 211817, upload-time = "2024-08-27T20:57:06.328Z" }, + { url = "https://files.pythonhosted.org/packages/d1/09/60e486dc2b64c94ed33e58dcfb6f808192c03dfc5574c016218b9b7680dc/contourpy-1.3.0-pp310-pypy310_pp73-macosx_10_15_x86_64.whl", hash = "sha256:fe41b41505a5a33aeaed2a613dccaeaa74e0e3ead6dd6fd3a118fb471644fd6c", size = 261886, upload-time = "2024-08-27T20:57:10.863Z" }, + { url = "https://files.pythonhosted.org/packages/19/20/b57f9f7174fcd439a7789fb47d764974ab646fa34d1790551de386457a8e/contourpy-1.3.0-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:eca7e17a65f72a5133bdbec9ecf22401c62bcf4821361ef7811faee695799779", size = 311008, upload-time = "2024-08-27T20:57:15.588Z" }, + { url = "https://files.pythonhosted.org/packages/74/fc/5040d42623a1845d4f17a418e590fd7a79ae8cb2bad2b2f83de63c3bdca4/contourpy-1.3.0-pp310-pypy310_pp73-win_amd64.whl", hash = "sha256:1ec4dc6bf570f5b22ed0d7efba0dfa9c5b9e0431aeea7581aa217542d9e809a4", size = 215690, upload-time = "2024-08-27T20:57:19.321Z" }, + { url = "https://files.pythonhosted.org/packages/2b/24/dc3dcd77ac7460ab7e9d2b01a618cb31406902e50e605a8d6091f0a8f7cc/contourpy-1.3.0-pp39-pypy39_pp73-macosx_10_15_x86_64.whl", hash = "sha256:00ccd0dbaad6d804ab259820fa7cb0b8036bda0686ef844d24125d8287178ce0", size = 261894, upload-time = "2024-08-27T20:57:23.873Z" }, + { url = "https://files.pythonhosted.org/packages/b1/db/531642a01cfec39d1682e46b5457b07cf805e3c3c584ec27e2a6223f8f6c/contourpy-1.3.0-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:8ca947601224119117f7c19c9cdf6b3ab54c5726ef1d906aa4a69dfb6dd58102", size = 311099, upload-time = "2024-08-27T20:57:28.58Z" }, + { url = "https://files.pythonhosted.org/packages/38/1e/94bda024d629f254143a134eead69e21c836429a2a6ce82209a00ddcb79a/contourpy-1.3.0-pp39-pypy39_pp73-win_amd64.whl", hash = "sha256:c6ec93afeb848a0845a18989da3beca3eec2c0f852322efe21af1931147d12cb", size = 215838, upload-time = "2024-08-27T20:57:32.913Z" }, ] [[package]] @@ -703,61 +703,61 @@ resolution-markers = [ dependencies = [ { name = "numpy", version = "2.2.2", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.10'" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/25/c2/fc7193cc5383637ff390a712e88e4ded0452c9fbcf84abe3de5ea3df1866/contourpy-1.3.1.tar.gz", hash = "sha256:dfd97abd83335045a913e3bcc4a09c0ceadbe66580cf573fe961f4a825efa699", size = 13465753 } -wheels = [ - { url = "https://files.pythonhosted.org/packages/b2/a3/80937fe3efe0edacf67c9a20b955139a1a622730042c1ea991956f2704ad/contourpy-1.3.1-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:a045f341a77b77e1c5de31e74e966537bba9f3c4099b35bf4c2e3939dd54cdab", size = 268466 }, - { url = "https://files.pythonhosted.org/packages/82/1d/e3eaebb4aa2d7311528c048350ca8e99cdacfafd99da87bc0a5f8d81f2c2/contourpy-1.3.1-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:500360b77259914f7805af7462e41f9cb7ca92ad38e9f94d6c8641b089338124", size = 253314 }, - { url = "https://files.pythonhosted.org/packages/de/f3/d796b22d1a2b587acc8100ba8c07fb7b5e17fde265a7bb05ab967f4c935a/contourpy-1.3.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:b2f926efda994cdf3c8d3fdb40b9962f86edbc4457e739277b961eced3d0b4c1", size = 312003 }, - { url = "https://files.pythonhosted.org/packages/bf/f5/0e67902bc4394daee8daa39c81d4f00b50e063ee1a46cb3938cc65585d36/contourpy-1.3.1-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:adce39d67c0edf383647a3a007de0a45fd1b08dedaa5318404f1a73059c2512b", size = 351896 }, - { url = "https://files.pythonhosted.org/packages/1f/d6/e766395723f6256d45d6e67c13bb638dd1fa9dc10ef912dc7dd3dcfc19de/contourpy-1.3.1-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:abbb49fb7dac584e5abc6636b7b2a7227111c4f771005853e7d25176daaf8453", size = 320814 }, - { url = "https://files.pythonhosted.org/packages/a9/57/86c500d63b3e26e5b73a28b8291a67c5608d4aa87ebd17bd15bb33c178bc/contourpy-1.3.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:a0cffcbede75c059f535725c1680dfb17b6ba8753f0c74b14e6a9c68c29d7ea3", size = 324969 }, - { url = "https://files.pythonhosted.org/packages/b8/62/bb146d1289d6b3450bccc4642e7f4413b92ebffd9bf2e91b0404323704a7/contourpy-1.3.1-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:ab29962927945d89d9b293eabd0d59aea28d887d4f3be6c22deaefbb938a7277", size = 1265162 }, - { url = "https://files.pythonhosted.org/packages/18/04/9f7d132ce49a212c8e767042cc80ae390f728060d2eea47058f55b9eff1c/contourpy-1.3.1-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:974d8145f8ca354498005b5b981165b74a195abfae9a8129df3e56771961d595", size = 1324328 }, - { url = "https://files.pythonhosted.org/packages/46/23/196813901be3f97c83ababdab1382e13e0edc0bb4e7b49a7bff15fcf754e/contourpy-1.3.1-cp310-cp310-win32.whl", hash = "sha256:ac4578ac281983f63b400f7fe6c101bedc10651650eef012be1ccffcbacf3697", size = 173861 }, - { url = "https://files.pythonhosted.org/packages/e0/82/c372be3fc000a3b2005061ca623a0d1ecd2eaafb10d9e883a2fc8566e951/contourpy-1.3.1-cp310-cp310-win_amd64.whl", hash = "sha256:174e758c66bbc1c8576992cec9599ce8b6672b741b5d336b5c74e35ac382b18e", size = 218566 }, - { url = "https://files.pythonhosted.org/packages/12/bb/11250d2906ee2e8b466b5f93e6b19d525f3e0254ac8b445b56e618527718/contourpy-1.3.1-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:3e8b974d8db2c5610fb4e76307e265de0edb655ae8169e8b21f41807ccbeec4b", size = 269555 }, - { url = "https://files.pythonhosted.org/packages/67/71/1e6e95aee21a500415f5d2dbf037bf4567529b6a4e986594d7026ec5ae90/contourpy-1.3.1-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:20914c8c973f41456337652a6eeca26d2148aa96dd7ac323b74516988bea89fc", size = 254549 }, - { url = "https://files.pythonhosted.org/packages/31/2c/b88986e8d79ac45efe9d8801ae341525f38e087449b6c2f2e6050468a42c/contourpy-1.3.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:19d40d37c1c3a4961b4619dd9d77b12124a453cc3d02bb31a07d58ef684d3d86", size = 313000 }, - { url = "https://files.pythonhosted.org/packages/c4/18/65280989b151fcf33a8352f992eff71e61b968bef7432fbfde3a364f0730/contourpy-1.3.1-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:113231fe3825ebf6f15eaa8bc1f5b0ddc19d42b733345eae0934cb291beb88b6", size = 352925 }, - { url = "https://files.pythonhosted.org/packages/f5/c7/5fd0146c93220dbfe1a2e0f98969293b86ca9bc041d6c90c0e065f4619ad/contourpy-1.3.1-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:4dbbc03a40f916a8420e420d63e96a1258d3d1b58cbdfd8d1f07b49fcbd38e85", size = 323693 }, - { url = "https://files.pythonhosted.org/packages/85/fc/7fa5d17daf77306840a4e84668a48ddff09e6bc09ba4e37e85ffc8e4faa3/contourpy-1.3.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:3a04ecd68acbd77fa2d39723ceca4c3197cb2969633836ced1bea14e219d077c", size = 326184 }, - { url = "https://files.pythonhosted.org/packages/ef/e7/104065c8270c7397c9571620d3ab880558957216f2b5ebb7e040f85eeb22/contourpy-1.3.1-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:c414fc1ed8ee1dbd5da626cf3710c6013d3d27456651d156711fa24f24bd1291", size = 1268031 }, - { url = "https://files.pythonhosted.org/packages/e2/4a/c788d0bdbf32c8113c2354493ed291f924d4793c4a2e85b69e737a21a658/contourpy-1.3.1-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:31c1b55c1f34f80557d3830d3dd93ba722ce7e33a0b472cba0ec3b6535684d8f", size = 1325995 }, - { url = "https://files.pythonhosted.org/packages/a6/e6/a2f351a90d955f8b0564caf1ebe4b1451a3f01f83e5e3a414055a5b8bccb/contourpy-1.3.1-cp311-cp311-win32.whl", hash = "sha256:f611e628ef06670df83fce17805c344710ca5cde01edfdc72751311da8585375", size = 174396 }, - { url = "https://files.pythonhosted.org/packages/a8/7e/cd93cab453720a5d6cb75588cc17dcdc08fc3484b9de98b885924ff61900/contourpy-1.3.1-cp311-cp311-win_amd64.whl", hash = "sha256:b2bdca22a27e35f16794cf585832e542123296b4687f9fd96822db6bae17bfc9", size = 219787 }, - { url = "https://files.pythonhosted.org/packages/37/6b/175f60227d3e7f5f1549fcb374592be311293132207e451c3d7c654c25fb/contourpy-1.3.1-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:0ffa84be8e0bd33410b17189f7164c3589c229ce5db85798076a3fa136d0e509", size = 271494 }, - { url = "https://files.pythonhosted.org/packages/6b/6a/7833cfae2c1e63d1d8875a50fd23371394f540ce809d7383550681a1fa64/contourpy-1.3.1-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:805617228ba7e2cbbfb6c503858e626ab528ac2a32a04a2fe88ffaf6b02c32bc", size = 255444 }, - { url = "https://files.pythonhosted.org/packages/7f/b3/7859efce66eaca5c14ba7619791b084ed02d868d76b928ff56890d2d059d/contourpy-1.3.1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:ade08d343436a94e633db932e7e8407fe7de8083967962b46bdfc1b0ced39454", size = 307628 }, - { url = "https://files.pythonhosted.org/packages/48/b2/011415f5e3f0a50b1e285a0bf78eb5d92a4df000553570f0851b6e309076/contourpy-1.3.1-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:47734d7073fb4590b4a40122b35917cd77be5722d80683b249dac1de266aac80", size = 347271 }, - { url = "https://files.pythonhosted.org/packages/84/7d/ef19b1db0f45b151ac78c65127235239a8cf21a59d1ce8507ce03e89a30b/contourpy-1.3.1-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:2ba94a401342fc0f8b948e57d977557fbf4d515f03c67682dd5c6191cb2d16ec", size = 318906 }, - { url = "https://files.pythonhosted.org/packages/ba/99/6794142b90b853a9155316c8f470d2e4821fe6f086b03e372aca848227dd/contourpy-1.3.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:efa874e87e4a647fd2e4f514d5e91c7d493697127beb95e77d2f7561f6905bd9", size = 323622 }, - { url = "https://files.pythonhosted.org/packages/3c/0f/37d2c84a900cd8eb54e105f4fa9aebd275e14e266736778bb5dccbf3bbbb/contourpy-1.3.1-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:1bf98051f1045b15c87868dbaea84f92408337d4f81d0e449ee41920ea121d3b", size = 1266699 }, - { url = "https://files.pythonhosted.org/packages/3a/8a/deb5e11dc7d9cc8f0f9c8b29d4f062203f3af230ba83c30a6b161a6effc9/contourpy-1.3.1-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:61332c87493b00091423e747ea78200659dc09bdf7fd69edd5e98cef5d3e9a8d", size = 1326395 }, - { url = "https://files.pythonhosted.org/packages/1a/35/7e267ae7c13aaf12322ccc493531f1e7f2eb8fba2927b9d7a05ff615df7a/contourpy-1.3.1-cp312-cp312-win32.whl", hash = "sha256:e914a8cb05ce5c809dd0fe350cfbb4e881bde5e2a38dc04e3afe1b3e58bd158e", size = 175354 }, - { url = "https://files.pythonhosted.org/packages/a1/35/c2de8823211d07e8a79ab018ef03960716c5dff6f4d5bff5af87fd682992/contourpy-1.3.1-cp312-cp312-win_amd64.whl", hash = "sha256:08d9d449a61cf53033612cb368f3a1b26cd7835d9b8cd326647efe43bca7568d", size = 220971 }, - { url = "https://files.pythonhosted.org/packages/9a/e7/de62050dce687c5e96f946a93546910bc67e483fe05324439e329ff36105/contourpy-1.3.1-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:a761d9ccfc5e2ecd1bf05534eda382aa14c3e4f9205ba5b1684ecfe400716ef2", size = 271548 }, - { url = "https://files.pythonhosted.org/packages/78/4d/c2a09ae014ae984c6bdd29c11e74d3121b25eaa117eca0bb76340efd7e1c/contourpy-1.3.1-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:523a8ee12edfa36f6d2a49407f705a6ef4c5098de4f498619787e272de93f2d5", size = 255576 }, - { url = "https://files.pythonhosted.org/packages/ab/8a/915380ee96a5638bda80cd061ccb8e666bfdccea38d5741cb69e6dbd61fc/contourpy-1.3.1-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:ece6df05e2c41bd46776fbc712e0996f7c94e0d0543af1656956d150c4ca7c81", size = 306635 }, - { url = "https://files.pythonhosted.org/packages/29/5c/c83ce09375428298acd4e6582aeb68b1e0d1447f877fa993d9bf6cd3b0a0/contourpy-1.3.1-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:573abb30e0e05bf31ed067d2f82500ecfdaec15627a59d63ea2d95714790f5c2", size = 345925 }, - { url = "https://files.pythonhosted.org/packages/29/63/5b52f4a15e80c66c8078a641a3bfacd6e07106835682454647aca1afc852/contourpy-1.3.1-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:a9fa36448e6a3a1a9a2ba23c02012c43ed88905ec80163f2ffe2421c7192a5d7", size = 318000 }, - { url = "https://files.pythonhosted.org/packages/9a/e2/30ca086c692691129849198659bf0556d72a757fe2769eb9620a27169296/contourpy-1.3.1-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:3ea9924d28fc5586bf0b42d15f590b10c224117e74409dd7a0be3b62b74a501c", size = 322689 }, - { url = "https://files.pythonhosted.org/packages/6b/77/f37812ef700f1f185d348394debf33f22d531e714cf6a35d13d68a7003c7/contourpy-1.3.1-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:5b75aa69cb4d6f137b36f7eb2ace9280cfb60c55dc5f61c731fdf6f037f958a3", size = 1268413 }, - { url = "https://files.pythonhosted.org/packages/3f/6d/ce84e79cdd128542ebeb268f84abb4b093af78e7f8ec504676673d2675bc/contourpy-1.3.1-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:041b640d4ec01922083645a94bb3b2e777e6b626788f4095cf21abbe266413c1", size = 1326530 }, - { url = "https://files.pythonhosted.org/packages/72/22/8282f4eae20c73c89bee7a82a19c4e27af9b57bb602ecaa00713d5bdb54d/contourpy-1.3.1-cp313-cp313-win32.whl", hash = "sha256:36987a15e8ace5f58d4d5da9dca82d498c2bbb28dff6e5d04fbfcc35a9cb3a82", size = 175315 }, - { url = "https://files.pythonhosted.org/packages/e3/d5/28bca491f65312b438fbf076589dcde7f6f966b196d900777f5811b9c4e2/contourpy-1.3.1-cp313-cp313-win_amd64.whl", hash = "sha256:a7895f46d47671fa7ceec40f31fae721da51ad34bdca0bee83e38870b1f47ffd", size = 220987 }, - { url = "https://files.pythonhosted.org/packages/2f/24/a4b285d6adaaf9746e4700932f579f1a7b6f9681109f694cfa233ae75c4e/contourpy-1.3.1-cp313-cp313t-macosx_10_13_x86_64.whl", hash = "sha256:9ddeb796389dadcd884c7eb07bd14ef12408aaae358f0e2ae24114d797eede30", size = 285001 }, - { url = "https://files.pythonhosted.org/packages/48/1d/fb49a401b5ca4f06ccf467cd6c4f1fd65767e63c21322b29b04ec40b40b9/contourpy-1.3.1-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:19c1555a6801c2f084c7ddc1c6e11f02eb6a6016ca1318dd5452ba3f613a1751", size = 268553 }, - { url = "https://files.pythonhosted.org/packages/79/1e/4aef9470d13fd029087388fae750dccb49a50c012a6c8d1d634295caa644/contourpy-1.3.1-cp313-cp313t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:841ad858cff65c2c04bf93875e384ccb82b654574a6d7f30453a04f04af71342", size = 310386 }, - { url = "https://files.pythonhosted.org/packages/b0/34/910dc706ed70153b60392b5305c708c9810d425bde12499c9184a1100888/contourpy-1.3.1-cp313-cp313t-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:4318af1c925fb9a4fb190559ef3eec206845f63e80fb603d47f2d6d67683901c", size = 349806 }, - { url = "https://files.pythonhosted.org/packages/31/3c/faee6a40d66d7f2a87f7102236bf4780c57990dd7f98e5ff29881b1b1344/contourpy-1.3.1-cp313-cp313t-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:14c102b0eab282427b662cb590f2e9340a9d91a1c297f48729431f2dcd16e14f", size = 321108 }, - { url = "https://files.pythonhosted.org/packages/17/69/390dc9b20dd4bb20585651d7316cc3054b7d4a7b4f8b710b2b698e08968d/contourpy-1.3.1-cp313-cp313t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:05e806338bfeaa006acbdeba0ad681a10be63b26e1b17317bfac3c5d98f36cda", size = 327291 }, - { url = "https://files.pythonhosted.org/packages/ef/74/7030b67c4e941fe1e5424a3d988080e83568030ce0355f7c9fc556455b01/contourpy-1.3.1-cp313-cp313t-musllinux_1_2_aarch64.whl", hash = "sha256:4d76d5993a34ef3df5181ba3c92fabb93f1eaa5729504fb03423fcd9f3177242", size = 1263752 }, - { url = "https://files.pythonhosted.org/packages/f0/ed/92d86f183a8615f13f6b9cbfc5d4298a509d6ce433432e21da838b4b63f4/contourpy-1.3.1-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:89785bb2a1980c1bd87f0cb1517a71cde374776a5f150936b82580ae6ead44a1", size = 1318403 }, - { url = "https://files.pythonhosted.org/packages/b3/0e/c8e4950c77dcfc897c71d61e56690a0a9df39543d2164040301b5df8e67b/contourpy-1.3.1-cp313-cp313t-win32.whl", hash = "sha256:8eb96e79b9f3dcadbad2a3891672f81cdcab7f95b27f28f1c67d75f045b6b4f1", size = 185117 }, - { url = "https://files.pythonhosted.org/packages/c1/31/1ae946f11dfbd229222e6d6ad8e7bd1891d3d48bde5fbf7a0beb9491f8e3/contourpy-1.3.1-cp313-cp313t-win_amd64.whl", hash = "sha256:287ccc248c9e0d0566934e7d606201abd74761b5703d804ff3df8935f523d546", size = 236668 }, - { url = "https://files.pythonhosted.org/packages/3e/4f/e56862e64b52b55b5ddcff4090085521fc228ceb09a88390a2b103dccd1b/contourpy-1.3.1-pp310-pypy310_pp73-macosx_10_15_x86_64.whl", hash = "sha256:b457d6430833cee8e4b8e9b6f07aa1c161e5e0d52e118dc102c8f9bd7dd060d6", size = 265605 }, - { url = "https://files.pythonhosted.org/packages/b0/2e/52bfeeaa4541889f23d8eadc6386b442ee2470bd3cff9baa67deb2dd5c57/contourpy-1.3.1-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:cb76c1a154b83991a3cbbf0dfeb26ec2833ad56f95540b442c73950af2013750", size = 315040 }, - { url = "https://files.pythonhosted.org/packages/52/94/86bfae441707205634d80392e873295652fc313dfd93c233c52c4dc07874/contourpy-1.3.1-pp310-pypy310_pp73-win_amd64.whl", hash = "sha256:44a29502ca9c7b5ba389e620d44f2fbe792b1fb5734e8b931ad307071ec58c53", size = 218221 }, +sdist = { url = "https://files.pythonhosted.org/packages/25/c2/fc7193cc5383637ff390a712e88e4ded0452c9fbcf84abe3de5ea3df1866/contourpy-1.3.1.tar.gz", hash = "sha256:dfd97abd83335045a913e3bcc4a09c0ceadbe66580cf573fe961f4a825efa699", size = 13465753, upload-time = "2024-11-12T11:00:59.118Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/b2/a3/80937fe3efe0edacf67c9a20b955139a1a622730042c1ea991956f2704ad/contourpy-1.3.1-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:a045f341a77b77e1c5de31e74e966537bba9f3c4099b35bf4c2e3939dd54cdab", size = 268466, upload-time = "2024-11-12T10:52:03.706Z" }, + { url = "https://files.pythonhosted.org/packages/82/1d/e3eaebb4aa2d7311528c048350ca8e99cdacfafd99da87bc0a5f8d81f2c2/contourpy-1.3.1-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:500360b77259914f7805af7462e41f9cb7ca92ad38e9f94d6c8641b089338124", size = 253314, upload-time = "2024-11-12T10:52:08.721Z" }, + { url = "https://files.pythonhosted.org/packages/de/f3/d796b22d1a2b587acc8100ba8c07fb7b5e17fde265a7bb05ab967f4c935a/contourpy-1.3.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:b2f926efda994cdf3c8d3fdb40b9962f86edbc4457e739277b961eced3d0b4c1", size = 312003, upload-time = "2024-11-12T10:52:13.868Z" }, + { url = "https://files.pythonhosted.org/packages/bf/f5/0e67902bc4394daee8daa39c81d4f00b50e063ee1a46cb3938cc65585d36/contourpy-1.3.1-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:adce39d67c0edf383647a3a007de0a45fd1b08dedaa5318404f1a73059c2512b", size = 351896, upload-time = "2024-11-12T10:52:19.513Z" }, + { url = "https://files.pythonhosted.org/packages/1f/d6/e766395723f6256d45d6e67c13bb638dd1fa9dc10ef912dc7dd3dcfc19de/contourpy-1.3.1-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:abbb49fb7dac584e5abc6636b7b2a7227111c4f771005853e7d25176daaf8453", size = 320814, upload-time = "2024-11-12T10:52:25.053Z" }, + { url = "https://files.pythonhosted.org/packages/a9/57/86c500d63b3e26e5b73a28b8291a67c5608d4aa87ebd17bd15bb33c178bc/contourpy-1.3.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:a0cffcbede75c059f535725c1680dfb17b6ba8753f0c74b14e6a9c68c29d7ea3", size = 324969, upload-time = "2024-11-12T10:52:30.731Z" }, + { url = "https://files.pythonhosted.org/packages/b8/62/bb146d1289d6b3450bccc4642e7f4413b92ebffd9bf2e91b0404323704a7/contourpy-1.3.1-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:ab29962927945d89d9b293eabd0d59aea28d887d4f3be6c22deaefbb938a7277", size = 1265162, upload-time = "2024-11-12T10:52:46.26Z" }, + { url = "https://files.pythonhosted.org/packages/18/04/9f7d132ce49a212c8e767042cc80ae390f728060d2eea47058f55b9eff1c/contourpy-1.3.1-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:974d8145f8ca354498005b5b981165b74a195abfae9a8129df3e56771961d595", size = 1324328, upload-time = "2024-11-12T10:53:03.081Z" }, + { url = "https://files.pythonhosted.org/packages/46/23/196813901be3f97c83ababdab1382e13e0edc0bb4e7b49a7bff15fcf754e/contourpy-1.3.1-cp310-cp310-win32.whl", hash = "sha256:ac4578ac281983f63b400f7fe6c101bedc10651650eef012be1ccffcbacf3697", size = 173861, upload-time = "2024-11-12T10:53:06.283Z" }, + { url = "https://files.pythonhosted.org/packages/e0/82/c372be3fc000a3b2005061ca623a0d1ecd2eaafb10d9e883a2fc8566e951/contourpy-1.3.1-cp310-cp310-win_amd64.whl", hash = "sha256:174e758c66bbc1c8576992cec9599ce8b6672b741b5d336b5c74e35ac382b18e", size = 218566, upload-time = "2024-11-12T10:53:09.798Z" }, + { url = "https://files.pythonhosted.org/packages/12/bb/11250d2906ee2e8b466b5f93e6b19d525f3e0254ac8b445b56e618527718/contourpy-1.3.1-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:3e8b974d8db2c5610fb4e76307e265de0edb655ae8169e8b21f41807ccbeec4b", size = 269555, upload-time = "2024-11-12T10:53:14.707Z" }, + { url = "https://files.pythonhosted.org/packages/67/71/1e6e95aee21a500415f5d2dbf037bf4567529b6a4e986594d7026ec5ae90/contourpy-1.3.1-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:20914c8c973f41456337652a6eeca26d2148aa96dd7ac323b74516988bea89fc", size = 254549, upload-time = "2024-11-12T10:53:19.42Z" }, + { url = "https://files.pythonhosted.org/packages/31/2c/b88986e8d79ac45efe9d8801ae341525f38e087449b6c2f2e6050468a42c/contourpy-1.3.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:19d40d37c1c3a4961b4619dd9d77b12124a453cc3d02bb31a07d58ef684d3d86", size = 313000, upload-time = "2024-11-12T10:53:23.944Z" }, + { url = "https://files.pythonhosted.org/packages/c4/18/65280989b151fcf33a8352f992eff71e61b968bef7432fbfde3a364f0730/contourpy-1.3.1-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:113231fe3825ebf6f15eaa8bc1f5b0ddc19d42b733345eae0934cb291beb88b6", size = 352925, upload-time = "2024-11-12T10:53:29.719Z" }, + { url = "https://files.pythonhosted.org/packages/f5/c7/5fd0146c93220dbfe1a2e0f98969293b86ca9bc041d6c90c0e065f4619ad/contourpy-1.3.1-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:4dbbc03a40f916a8420e420d63e96a1258d3d1b58cbdfd8d1f07b49fcbd38e85", size = 323693, upload-time = "2024-11-12T10:53:35.046Z" }, + { url = "https://files.pythonhosted.org/packages/85/fc/7fa5d17daf77306840a4e84668a48ddff09e6bc09ba4e37e85ffc8e4faa3/contourpy-1.3.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:3a04ecd68acbd77fa2d39723ceca4c3197cb2969633836ced1bea14e219d077c", size = 326184, upload-time = "2024-11-12T10:53:40.261Z" }, + { url = "https://files.pythonhosted.org/packages/ef/e7/104065c8270c7397c9571620d3ab880558957216f2b5ebb7e040f85eeb22/contourpy-1.3.1-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:c414fc1ed8ee1dbd5da626cf3710c6013d3d27456651d156711fa24f24bd1291", size = 1268031, upload-time = "2024-11-12T10:53:55.876Z" }, + { url = "https://files.pythonhosted.org/packages/e2/4a/c788d0bdbf32c8113c2354493ed291f924d4793c4a2e85b69e737a21a658/contourpy-1.3.1-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:31c1b55c1f34f80557d3830d3dd93ba722ce7e33a0b472cba0ec3b6535684d8f", size = 1325995, upload-time = "2024-11-12T10:54:11.572Z" }, + { url = "https://files.pythonhosted.org/packages/a6/e6/a2f351a90d955f8b0564caf1ebe4b1451a3f01f83e5e3a414055a5b8bccb/contourpy-1.3.1-cp311-cp311-win32.whl", hash = "sha256:f611e628ef06670df83fce17805c344710ca5cde01edfdc72751311da8585375", size = 174396, upload-time = "2024-11-12T10:54:15.358Z" }, + { url = "https://files.pythonhosted.org/packages/a8/7e/cd93cab453720a5d6cb75588cc17dcdc08fc3484b9de98b885924ff61900/contourpy-1.3.1-cp311-cp311-win_amd64.whl", hash = "sha256:b2bdca22a27e35f16794cf585832e542123296b4687f9fd96822db6bae17bfc9", size = 219787, upload-time = "2024-11-12T10:54:18.836Z" }, + { url = "https://files.pythonhosted.org/packages/37/6b/175f60227d3e7f5f1549fcb374592be311293132207e451c3d7c654c25fb/contourpy-1.3.1-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:0ffa84be8e0bd33410b17189f7164c3589c229ce5db85798076a3fa136d0e509", size = 271494, upload-time = "2024-11-12T10:54:23.6Z" }, + { url = "https://files.pythonhosted.org/packages/6b/6a/7833cfae2c1e63d1d8875a50fd23371394f540ce809d7383550681a1fa64/contourpy-1.3.1-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:805617228ba7e2cbbfb6c503858e626ab528ac2a32a04a2fe88ffaf6b02c32bc", size = 255444, upload-time = "2024-11-12T10:54:28.267Z" }, + { url = "https://files.pythonhosted.org/packages/7f/b3/7859efce66eaca5c14ba7619791b084ed02d868d76b928ff56890d2d059d/contourpy-1.3.1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:ade08d343436a94e633db932e7e8407fe7de8083967962b46bdfc1b0ced39454", size = 307628, upload-time = "2024-11-12T10:54:33.418Z" }, + { url = "https://files.pythonhosted.org/packages/48/b2/011415f5e3f0a50b1e285a0bf78eb5d92a4df000553570f0851b6e309076/contourpy-1.3.1-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:47734d7073fb4590b4a40122b35917cd77be5722d80683b249dac1de266aac80", size = 347271, upload-time = "2024-11-12T10:54:38.816Z" }, + { url = "https://files.pythonhosted.org/packages/84/7d/ef19b1db0f45b151ac78c65127235239a8cf21a59d1ce8507ce03e89a30b/contourpy-1.3.1-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:2ba94a401342fc0f8b948e57d977557fbf4d515f03c67682dd5c6191cb2d16ec", size = 318906, upload-time = "2024-11-12T10:54:44.132Z" }, + { url = "https://files.pythonhosted.org/packages/ba/99/6794142b90b853a9155316c8f470d2e4821fe6f086b03e372aca848227dd/contourpy-1.3.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:efa874e87e4a647fd2e4f514d5e91c7d493697127beb95e77d2f7561f6905bd9", size = 323622, upload-time = "2024-11-12T10:54:48.788Z" }, + { url = "https://files.pythonhosted.org/packages/3c/0f/37d2c84a900cd8eb54e105f4fa9aebd275e14e266736778bb5dccbf3bbbb/contourpy-1.3.1-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:1bf98051f1045b15c87868dbaea84f92408337d4f81d0e449ee41920ea121d3b", size = 1266699, upload-time = "2024-11-12T10:55:04.016Z" }, + { url = "https://files.pythonhosted.org/packages/3a/8a/deb5e11dc7d9cc8f0f9c8b29d4f062203f3af230ba83c30a6b161a6effc9/contourpy-1.3.1-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:61332c87493b00091423e747ea78200659dc09bdf7fd69edd5e98cef5d3e9a8d", size = 1326395, upload-time = "2024-11-12T10:55:20.547Z" }, + { url = "https://files.pythonhosted.org/packages/1a/35/7e267ae7c13aaf12322ccc493531f1e7f2eb8fba2927b9d7a05ff615df7a/contourpy-1.3.1-cp312-cp312-win32.whl", hash = "sha256:e914a8cb05ce5c809dd0fe350cfbb4e881bde5e2a38dc04e3afe1b3e58bd158e", size = 175354, upload-time = "2024-11-12T10:55:24.377Z" }, + { url = "https://files.pythonhosted.org/packages/a1/35/c2de8823211d07e8a79ab018ef03960716c5dff6f4d5bff5af87fd682992/contourpy-1.3.1-cp312-cp312-win_amd64.whl", hash = "sha256:08d9d449a61cf53033612cb368f3a1b26cd7835d9b8cd326647efe43bca7568d", size = 220971, upload-time = "2024-11-12T10:55:27.971Z" }, + { url = "https://files.pythonhosted.org/packages/9a/e7/de62050dce687c5e96f946a93546910bc67e483fe05324439e329ff36105/contourpy-1.3.1-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:a761d9ccfc5e2ecd1bf05534eda382aa14c3e4f9205ba5b1684ecfe400716ef2", size = 271548, upload-time = "2024-11-12T10:55:32.228Z" }, + { url = "https://files.pythonhosted.org/packages/78/4d/c2a09ae014ae984c6bdd29c11e74d3121b25eaa117eca0bb76340efd7e1c/contourpy-1.3.1-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:523a8ee12edfa36f6d2a49407f705a6ef4c5098de4f498619787e272de93f2d5", size = 255576, upload-time = "2024-11-12T10:55:36.246Z" }, + { url = "https://files.pythonhosted.org/packages/ab/8a/915380ee96a5638bda80cd061ccb8e666bfdccea38d5741cb69e6dbd61fc/contourpy-1.3.1-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:ece6df05e2c41bd46776fbc712e0996f7c94e0d0543af1656956d150c4ca7c81", size = 306635, upload-time = "2024-11-12T10:55:41.904Z" }, + { url = "https://files.pythonhosted.org/packages/29/5c/c83ce09375428298acd4e6582aeb68b1e0d1447f877fa993d9bf6cd3b0a0/contourpy-1.3.1-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:573abb30e0e05bf31ed067d2f82500ecfdaec15627a59d63ea2d95714790f5c2", size = 345925, upload-time = "2024-11-12T10:55:47.206Z" }, + { url = "https://files.pythonhosted.org/packages/29/63/5b52f4a15e80c66c8078a641a3bfacd6e07106835682454647aca1afc852/contourpy-1.3.1-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:a9fa36448e6a3a1a9a2ba23c02012c43ed88905ec80163f2ffe2421c7192a5d7", size = 318000, upload-time = "2024-11-12T10:55:52.264Z" }, + { url = "https://files.pythonhosted.org/packages/9a/e2/30ca086c692691129849198659bf0556d72a757fe2769eb9620a27169296/contourpy-1.3.1-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:3ea9924d28fc5586bf0b42d15f590b10c224117e74409dd7a0be3b62b74a501c", size = 322689, upload-time = "2024-11-12T10:55:57.858Z" }, + { url = "https://files.pythonhosted.org/packages/6b/77/f37812ef700f1f185d348394debf33f22d531e714cf6a35d13d68a7003c7/contourpy-1.3.1-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:5b75aa69cb4d6f137b36f7eb2ace9280cfb60c55dc5f61c731fdf6f037f958a3", size = 1268413, upload-time = "2024-11-12T10:56:13.328Z" }, + { url = "https://files.pythonhosted.org/packages/3f/6d/ce84e79cdd128542ebeb268f84abb4b093af78e7f8ec504676673d2675bc/contourpy-1.3.1-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:041b640d4ec01922083645a94bb3b2e777e6b626788f4095cf21abbe266413c1", size = 1326530, upload-time = "2024-11-12T10:56:30.07Z" }, + { url = "https://files.pythonhosted.org/packages/72/22/8282f4eae20c73c89bee7a82a19c4e27af9b57bb602ecaa00713d5bdb54d/contourpy-1.3.1-cp313-cp313-win32.whl", hash = "sha256:36987a15e8ace5f58d4d5da9dca82d498c2bbb28dff6e5d04fbfcc35a9cb3a82", size = 175315, upload-time = "2024-11-12T10:57:42.804Z" }, + { url = "https://files.pythonhosted.org/packages/e3/d5/28bca491f65312b438fbf076589dcde7f6f966b196d900777f5811b9c4e2/contourpy-1.3.1-cp313-cp313-win_amd64.whl", hash = "sha256:a7895f46d47671fa7ceec40f31fae721da51ad34bdca0bee83e38870b1f47ffd", size = 220987, upload-time = "2024-11-12T10:57:46.365Z" }, + { url = "https://files.pythonhosted.org/packages/2f/24/a4b285d6adaaf9746e4700932f579f1a7b6f9681109f694cfa233ae75c4e/contourpy-1.3.1-cp313-cp313t-macosx_10_13_x86_64.whl", hash = "sha256:9ddeb796389dadcd884c7eb07bd14ef12408aaae358f0e2ae24114d797eede30", size = 285001, upload-time = "2024-11-12T10:56:34.483Z" }, + { url = "https://files.pythonhosted.org/packages/48/1d/fb49a401b5ca4f06ccf467cd6c4f1fd65767e63c21322b29b04ec40b40b9/contourpy-1.3.1-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:19c1555a6801c2f084c7ddc1c6e11f02eb6a6016ca1318dd5452ba3f613a1751", size = 268553, upload-time = "2024-11-12T10:56:39.167Z" }, + { url = "https://files.pythonhosted.org/packages/79/1e/4aef9470d13fd029087388fae750dccb49a50c012a6c8d1d634295caa644/contourpy-1.3.1-cp313-cp313t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:841ad858cff65c2c04bf93875e384ccb82b654574a6d7f30453a04f04af71342", size = 310386, upload-time = "2024-11-12T10:56:44.594Z" }, + { url = "https://files.pythonhosted.org/packages/b0/34/910dc706ed70153b60392b5305c708c9810d425bde12499c9184a1100888/contourpy-1.3.1-cp313-cp313t-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:4318af1c925fb9a4fb190559ef3eec206845f63e80fb603d47f2d6d67683901c", size = 349806, upload-time = "2024-11-12T10:56:49.565Z" }, + { url = "https://files.pythonhosted.org/packages/31/3c/faee6a40d66d7f2a87f7102236bf4780c57990dd7f98e5ff29881b1b1344/contourpy-1.3.1-cp313-cp313t-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:14c102b0eab282427b662cb590f2e9340a9d91a1c297f48729431f2dcd16e14f", size = 321108, upload-time = "2024-11-12T10:56:55.013Z" }, + { url = "https://files.pythonhosted.org/packages/17/69/390dc9b20dd4bb20585651d7316cc3054b7d4a7b4f8b710b2b698e08968d/contourpy-1.3.1-cp313-cp313t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:05e806338bfeaa006acbdeba0ad681a10be63b26e1b17317bfac3c5d98f36cda", size = 327291, upload-time = "2024-11-12T10:56:59.897Z" }, + { url = "https://files.pythonhosted.org/packages/ef/74/7030b67c4e941fe1e5424a3d988080e83568030ce0355f7c9fc556455b01/contourpy-1.3.1-cp313-cp313t-musllinux_1_2_aarch64.whl", hash = "sha256:4d76d5993a34ef3df5181ba3c92fabb93f1eaa5729504fb03423fcd9f3177242", size = 1263752, upload-time = "2024-11-12T10:57:14.79Z" }, + { url = "https://files.pythonhosted.org/packages/f0/ed/92d86f183a8615f13f6b9cbfc5d4298a509d6ce433432e21da838b4b63f4/contourpy-1.3.1-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:89785bb2a1980c1bd87f0cb1517a71cde374776a5f150936b82580ae6ead44a1", size = 1318403, upload-time = "2024-11-12T10:57:31.326Z" }, + { url = "https://files.pythonhosted.org/packages/b3/0e/c8e4950c77dcfc897c71d61e56690a0a9df39543d2164040301b5df8e67b/contourpy-1.3.1-cp313-cp313t-win32.whl", hash = "sha256:8eb96e79b9f3dcadbad2a3891672f81cdcab7f95b27f28f1c67d75f045b6b4f1", size = 185117, upload-time = "2024-11-12T10:57:34.735Z" }, + { url = "https://files.pythonhosted.org/packages/c1/31/1ae946f11dfbd229222e6d6ad8e7bd1891d3d48bde5fbf7a0beb9491f8e3/contourpy-1.3.1-cp313-cp313t-win_amd64.whl", hash = "sha256:287ccc248c9e0d0566934e7d606201abd74761b5703d804ff3df8935f523d546", size = 236668, upload-time = "2024-11-12T10:57:39.061Z" }, + { url = "https://files.pythonhosted.org/packages/3e/4f/e56862e64b52b55b5ddcff4090085521fc228ceb09a88390a2b103dccd1b/contourpy-1.3.1-pp310-pypy310_pp73-macosx_10_15_x86_64.whl", hash = "sha256:b457d6430833cee8e4b8e9b6f07aa1c161e5e0d52e118dc102c8f9bd7dd060d6", size = 265605, upload-time = "2024-11-12T10:57:51.188Z" }, + { url = "https://files.pythonhosted.org/packages/b0/2e/52bfeeaa4541889f23d8eadc6386b442ee2470bd3cff9baa67deb2dd5c57/contourpy-1.3.1-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:cb76c1a154b83991a3cbbf0dfeb26ec2833ad56f95540b442c73950af2013750", size = 315040, upload-time = "2024-11-12T10:57:56.492Z" }, + { url = "https://files.pythonhosted.org/packages/52/94/86bfae441707205634d80392e873295652fc313dfd93c233c52c4dc07874/contourpy-1.3.1-pp310-pypy310_pp73-win_amd64.whl", hash = "sha256:44a29502ca9c7b5ba389e620d44f2fbe792b1fb5734e8b931ad307071ec58c53", size = 218221, upload-time = "2024-11-12T10:58:00.033Z" }, ] [[package]] @@ -767,26 +767,26 @@ source = { registry = "https://pypi.org/simple" } dependencies = [ { name = "cffi", marker = "(python_full_version < '3.10' and platform_machine != 'arm64' and platform_python_implementation != 'PyPy') or (platform_python_implementation != 'PyPy' and sys_platform != 'darwin')" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/91/4c/45dfa6829acffa344e3967d6006ee4ae8be57af746ae2eba1c431949b32c/cryptography-44.0.0.tar.gz", hash = "sha256:cd4e834f340b4293430701e772ec543b0fbe6c2dea510a5286fe0acabe153a02", size = 710657 } -wheels = [ - { url = "https://files.pythonhosted.org/packages/7e/5b/3759e30a103144e29632e7cb72aec28cedc79e514b2ea8896bb17163c19b/cryptography-44.0.0-cp37-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:b15492a11f9e1b62ba9d73c210e2416724633167de94607ec6069ef724fad092", size = 3922710 }, - { url = "https://files.pythonhosted.org/packages/5f/58/3b14bf39f1a0cfd679e753e8647ada56cddbf5acebffe7db90e184c76168/cryptography-44.0.0-cp37-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:831c3c4d0774e488fdc83a1923b49b9957d33287de923d58ebd3cec47a0ae43f", size = 4137546 }, - { url = "https://files.pythonhosted.org/packages/98/65/13d9e76ca19b0ba5603d71ac8424b5694415b348e719db277b5edc985ff5/cryptography-44.0.0-cp37-abi3-manylinux_2_28_aarch64.whl", hash = "sha256:761817a3377ef15ac23cd7834715081791d4ec77f9297ee694ca1ee9c2c7e5eb", size = 3915420 }, - { url = "https://files.pythonhosted.org/packages/b1/07/40fe09ce96b91fc9276a9ad272832ead0fddedcba87f1190372af8e3039c/cryptography-44.0.0-cp37-abi3-manylinux_2_28_x86_64.whl", hash = "sha256:3c672a53c0fb4725a29c303be906d3c1fa99c32f58abe008a82705f9ee96f40b", size = 4154498 }, - { url = "https://files.pythonhosted.org/packages/75/ea/af65619c800ec0a7e4034207aec543acdf248d9bffba0533342d1bd435e1/cryptography-44.0.0-cp37-abi3-manylinux_2_34_aarch64.whl", hash = "sha256:4ac4c9f37eba52cb6fbeaf5b59c152ea976726b865bd4cf87883a7e7006cc543", size = 3932569 }, - { url = "https://files.pythonhosted.org/packages/c7/af/d1deb0c04d59612e3d5e54203159e284d3e7a6921e565bb0eeb6269bdd8a/cryptography-44.0.0-cp37-abi3-musllinux_1_2_aarch64.whl", hash = "sha256:ed3534eb1090483c96178fcb0f8893719d96d5274dfde98aa6add34614e97c8e", size = 4016721 }, - { url = "https://files.pythonhosted.org/packages/bd/69/7ca326c55698d0688db867795134bdfac87136b80ef373aaa42b225d6dd5/cryptography-44.0.0-cp37-abi3-musllinux_1_2_x86_64.whl", hash = "sha256:f3f6fdfa89ee2d9d496e2c087cebef9d4fcbb0ad63c40e821b39f74bf48d9c5e", size = 4240915 }, - { url = "https://files.pythonhosted.org/packages/1a/07/5f165b6c65696ef75601b781a280fc3b33f1e0cd6aa5a92d9fb96c410e97/cryptography-44.0.0-cp39-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:1923cb251c04be85eec9fda837661c67c1049063305d6be5721643c22dd4e2b7", size = 3922613 }, - { url = "https://files.pythonhosted.org/packages/28/34/6b3ac1d80fc174812486561cf25194338151780f27e438526f9c64e16869/cryptography-44.0.0-cp39-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:404fdc66ee5f83a1388be54300ae978b2efd538018de18556dde92575e05defc", size = 4137925 }, - { url = "https://files.pythonhosted.org/packages/d0/c7/c656eb08fd22255d21bc3129625ed9cd5ee305f33752ef2278711b3fa98b/cryptography-44.0.0-cp39-abi3-manylinux_2_28_aarch64.whl", hash = "sha256:c5eb858beed7835e5ad1faba59e865109f3e52b3783b9ac21e7e47dc5554e289", size = 3915417 }, - { url = "https://files.pythonhosted.org/packages/ef/82/72403624f197af0db6bac4e58153bc9ac0e6020e57234115db9596eee85d/cryptography-44.0.0-cp39-abi3-manylinux_2_28_x86_64.whl", hash = "sha256:f53c2c87e0fb4b0c00fa9571082a057e37690a8f12233306161c8f4b819960b7", size = 4155160 }, - { url = "https://files.pythonhosted.org/packages/a2/cd/2f3c440913d4329ade49b146d74f2e9766422e1732613f57097fea61f344/cryptography-44.0.0-cp39-abi3-manylinux_2_34_aarch64.whl", hash = "sha256:9e6fc8a08e116fb7c7dd1f040074c9d7b51d74a8ea40d4df2fc7aa08b76b9e6c", size = 3932331 }, - { url = "https://files.pythonhosted.org/packages/7f/df/8be88797f0a1cca6e255189a57bb49237402b1880d6e8721690c5603ac23/cryptography-44.0.0-cp39-abi3-musllinux_1_2_aarch64.whl", hash = "sha256:d2436114e46b36d00f8b72ff57e598978b37399d2786fd39793c36c6d5cb1c64", size = 4017372 }, - { url = "https://files.pythonhosted.org/packages/af/36/5ccc376f025a834e72b8e52e18746b927f34e4520487098e283a719c205e/cryptography-44.0.0-cp39-abi3-musllinux_1_2_x86_64.whl", hash = "sha256:a01956ddfa0a6790d594f5b34fc1bfa6098aca434696a03cfdbe469b8ed79285", size = 4239657 }, - { url = "https://files.pythonhosted.org/packages/1a/aa/ba8a7467c206cb7b62f09b4168da541b5109838627f582843bbbe0235e8e/cryptography-44.0.0-pp310-pypy310_pp73-manylinux_2_28_aarch64.whl", hash = "sha256:f677e1268c4e23420c3acade68fac427fffcb8d19d7df95ed7ad17cdef8404f4", size = 3850615 }, - { url = "https://files.pythonhosted.org/packages/89/fa/b160e10a64cc395d090105be14f399b94e617c879efd401188ce0fea39ee/cryptography-44.0.0-pp310-pypy310_pp73-manylinux_2_28_x86_64.whl", hash = "sha256:f5e7cb1e5e56ca0933b4873c0220a78b773b24d40d186b6738080b73d3d0a756", size = 4081622 }, - { url = "https://files.pythonhosted.org/packages/47/8f/20ff0656bb0cf7af26ec1d01f780c5cfbaa7666736063378c5f48558b515/cryptography-44.0.0-pp310-pypy310_pp73-manylinux_2_34_aarch64.whl", hash = "sha256:8b3e6eae66cf54701ee7d9c83c30ac0a1e3fa17be486033000f2a73a12ab507c", size = 3867546 }, - { url = "https://files.pythonhosted.org/packages/38/d9/28edf32ee2fcdca587146bcde90102a7319b2f2c690edfa627e46d586050/cryptography-44.0.0-pp310-pypy310_pp73-manylinux_2_34_x86_64.whl", hash = "sha256:be4ce505894d15d5c5037167ffb7f0ae90b7be6f2a98f9a5c3442395501c32fa", size = 4090937 }, +sdist = { url = "https://files.pythonhosted.org/packages/91/4c/45dfa6829acffa344e3967d6006ee4ae8be57af746ae2eba1c431949b32c/cryptography-44.0.0.tar.gz", hash = "sha256:cd4e834f340b4293430701e772ec543b0fbe6c2dea510a5286fe0acabe153a02", size = 710657, upload-time = "2024-11-27T18:07:10.168Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/7e/5b/3759e30a103144e29632e7cb72aec28cedc79e514b2ea8896bb17163c19b/cryptography-44.0.0-cp37-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:b15492a11f9e1b62ba9d73c210e2416724633167de94607ec6069ef724fad092", size = 3922710, upload-time = "2024-11-27T18:05:58.621Z" }, + { url = "https://files.pythonhosted.org/packages/5f/58/3b14bf39f1a0cfd679e753e8647ada56cddbf5acebffe7db90e184c76168/cryptography-44.0.0-cp37-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:831c3c4d0774e488fdc83a1923b49b9957d33287de923d58ebd3cec47a0ae43f", size = 4137546, upload-time = "2024-11-27T18:06:01.062Z" }, + { url = "https://files.pythonhosted.org/packages/98/65/13d9e76ca19b0ba5603d71ac8424b5694415b348e719db277b5edc985ff5/cryptography-44.0.0-cp37-abi3-manylinux_2_28_aarch64.whl", hash = "sha256:761817a3377ef15ac23cd7834715081791d4ec77f9297ee694ca1ee9c2c7e5eb", size = 3915420, upload-time = "2024-11-27T18:06:03.487Z" }, + { url = "https://files.pythonhosted.org/packages/b1/07/40fe09ce96b91fc9276a9ad272832ead0fddedcba87f1190372af8e3039c/cryptography-44.0.0-cp37-abi3-manylinux_2_28_x86_64.whl", hash = "sha256:3c672a53c0fb4725a29c303be906d3c1fa99c32f58abe008a82705f9ee96f40b", size = 4154498, upload-time = "2024-11-27T18:06:05.763Z" }, + { url = "https://files.pythonhosted.org/packages/75/ea/af65619c800ec0a7e4034207aec543acdf248d9bffba0533342d1bd435e1/cryptography-44.0.0-cp37-abi3-manylinux_2_34_aarch64.whl", hash = "sha256:4ac4c9f37eba52cb6fbeaf5b59c152ea976726b865bd4cf87883a7e7006cc543", size = 3932569, upload-time = "2024-11-27T18:06:07.489Z" }, + { url = "https://files.pythonhosted.org/packages/c7/af/d1deb0c04d59612e3d5e54203159e284d3e7a6921e565bb0eeb6269bdd8a/cryptography-44.0.0-cp37-abi3-musllinux_1_2_aarch64.whl", hash = "sha256:ed3534eb1090483c96178fcb0f8893719d96d5274dfde98aa6add34614e97c8e", size = 4016721, upload-time = "2024-11-27T18:06:11.57Z" }, + { url = "https://files.pythonhosted.org/packages/bd/69/7ca326c55698d0688db867795134bdfac87136b80ef373aaa42b225d6dd5/cryptography-44.0.0-cp37-abi3-musllinux_1_2_x86_64.whl", hash = "sha256:f3f6fdfa89ee2d9d496e2c087cebef9d4fcbb0ad63c40e821b39f74bf48d9c5e", size = 4240915, upload-time = "2024-11-27T18:06:13.515Z" }, + { url = "https://files.pythonhosted.org/packages/1a/07/5f165b6c65696ef75601b781a280fc3b33f1e0cd6aa5a92d9fb96c410e97/cryptography-44.0.0-cp39-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:1923cb251c04be85eec9fda837661c67c1049063305d6be5721643c22dd4e2b7", size = 3922613, upload-time = "2024-11-27T18:06:24.314Z" }, + { url = "https://files.pythonhosted.org/packages/28/34/6b3ac1d80fc174812486561cf25194338151780f27e438526f9c64e16869/cryptography-44.0.0-cp39-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:404fdc66ee5f83a1388be54300ae978b2efd538018de18556dde92575e05defc", size = 4137925, upload-time = "2024-11-27T18:06:27.079Z" }, + { url = "https://files.pythonhosted.org/packages/d0/c7/c656eb08fd22255d21bc3129625ed9cd5ee305f33752ef2278711b3fa98b/cryptography-44.0.0-cp39-abi3-manylinux_2_28_aarch64.whl", hash = "sha256:c5eb858beed7835e5ad1faba59e865109f3e52b3783b9ac21e7e47dc5554e289", size = 3915417, upload-time = "2024-11-27T18:06:28.959Z" }, + { url = "https://files.pythonhosted.org/packages/ef/82/72403624f197af0db6bac4e58153bc9ac0e6020e57234115db9596eee85d/cryptography-44.0.0-cp39-abi3-manylinux_2_28_x86_64.whl", hash = "sha256:f53c2c87e0fb4b0c00fa9571082a057e37690a8f12233306161c8f4b819960b7", size = 4155160, upload-time = "2024-11-27T18:06:30.866Z" }, + { url = "https://files.pythonhosted.org/packages/a2/cd/2f3c440913d4329ade49b146d74f2e9766422e1732613f57097fea61f344/cryptography-44.0.0-cp39-abi3-manylinux_2_34_aarch64.whl", hash = "sha256:9e6fc8a08e116fb7c7dd1f040074c9d7b51d74a8ea40d4df2fc7aa08b76b9e6c", size = 3932331, upload-time = "2024-11-27T18:06:33.432Z" }, + { url = "https://files.pythonhosted.org/packages/7f/df/8be88797f0a1cca6e255189a57bb49237402b1880d6e8721690c5603ac23/cryptography-44.0.0-cp39-abi3-musllinux_1_2_aarch64.whl", hash = "sha256:d2436114e46b36d00f8b72ff57e598978b37399d2786fd39793c36c6d5cb1c64", size = 4017372, upload-time = "2024-11-27T18:06:38.343Z" }, + { url = "https://files.pythonhosted.org/packages/af/36/5ccc376f025a834e72b8e52e18746b927f34e4520487098e283a719c205e/cryptography-44.0.0-cp39-abi3-musllinux_1_2_x86_64.whl", hash = "sha256:a01956ddfa0a6790d594f5b34fc1bfa6098aca434696a03cfdbe469b8ed79285", size = 4239657, upload-time = "2024-11-27T18:06:41.045Z" }, + { url = "https://files.pythonhosted.org/packages/1a/aa/ba8a7467c206cb7b62f09b4168da541b5109838627f582843bbbe0235e8e/cryptography-44.0.0-pp310-pypy310_pp73-manylinux_2_28_aarch64.whl", hash = "sha256:f677e1268c4e23420c3acade68fac427fffcb8d19d7df95ed7ad17cdef8404f4", size = 3850615, upload-time = "2024-11-27T18:06:50.774Z" }, + { url = "https://files.pythonhosted.org/packages/89/fa/b160e10a64cc395d090105be14f399b94e617c879efd401188ce0fea39ee/cryptography-44.0.0-pp310-pypy310_pp73-manylinux_2_28_x86_64.whl", hash = "sha256:f5e7cb1e5e56ca0933b4873c0220a78b773b24d40d186b6738080b73d3d0a756", size = 4081622, upload-time = "2024-11-27T18:06:55.126Z" }, + { url = "https://files.pythonhosted.org/packages/47/8f/20ff0656bb0cf7af26ec1d01f780c5cfbaa7666736063378c5f48558b515/cryptography-44.0.0-pp310-pypy310_pp73-manylinux_2_34_aarch64.whl", hash = "sha256:8b3e6eae66cf54701ee7d9c83c30ac0a1e3fa17be486033000f2a73a12ab507c", size = 3867546, upload-time = "2024-11-27T18:06:57.694Z" }, + { url = "https://files.pythonhosted.org/packages/38/d9/28edf32ee2fcdca587146bcde90102a7319b2f2c690edfa627e46d586050/cryptography-44.0.0-pp310-pypy310_pp73-manylinux_2_34_x86_64.whl", hash = "sha256:be4ce505894d15d5c5037167ffb7f0ae90b7be6f2a98f9a5c3442395501c32fa", size = 4090937, upload-time = "2024-11-27T18:07:00.338Z" }, ] [[package]] @@ -798,78 +798,78 @@ dependencies = [ { name = "tinycss2", version = "1.4.0", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.9'" }, { name = "webencodings" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/e7/fc/326cb6f988905998f09bb54a3f5d98d4462ba119363c0dfad29750d48c09/cssselect2-0.7.0.tar.gz", hash = "sha256:1ccd984dab89fc68955043aca4e1b03e0cf29cad9880f6e28e3ba7a74b14aa5a", size = 35888 } +sdist = { url = "https://files.pythonhosted.org/packages/e7/fc/326cb6f988905998f09bb54a3f5d98d4462ba119363c0dfad29750d48c09/cssselect2-0.7.0.tar.gz", hash = "sha256:1ccd984dab89fc68955043aca4e1b03e0cf29cad9880f6e28e3ba7a74b14aa5a", size = 35888, upload-time = "2022-09-19T12:55:11.876Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/9d/3a/e39436efe51894243ff145a37c4f9a030839b97779ebcc4f13b3ba21c54e/cssselect2-0.7.0-py3-none-any.whl", hash = "sha256:fd23a65bfd444595913f02fc71f6b286c29261e354c41d722ca7a261a49b5969", size = 15586 }, + { url = "https://files.pythonhosted.org/packages/9d/3a/e39436efe51894243ff145a37c4f9a030839b97779ebcc4f13b3ba21c54e/cssselect2-0.7.0-py3-none-any.whl", hash = "sha256:fd23a65bfd444595913f02fc71f6b286c29261e354c41d722ca7a261a49b5969", size = 15586, upload-time = "2022-09-19T12:55:07.56Z" }, ] [[package]] name = "cycler" version = "0.12.1" source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/a9/95/a3dbbb5028f35eafb79008e7522a75244477d2838f38cbb722248dabc2a8/cycler-0.12.1.tar.gz", hash = "sha256:88bb128f02ba341da8ef447245a9e138fae777f6a23943da4540077d3601eb1c", size = 7615 } +sdist = { url = "https://files.pythonhosted.org/packages/a9/95/a3dbbb5028f35eafb79008e7522a75244477d2838f38cbb722248dabc2a8/cycler-0.12.1.tar.gz", hash = "sha256:88bb128f02ba341da8ef447245a9e138fae777f6a23943da4540077d3601eb1c", size = 7615, upload-time = "2023-10-07T05:32:18.335Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/e7/05/c19819d5e3d95294a6f5947fb9b9629efb316b96de511b418c53d245aae6/cycler-0.12.1-py3-none-any.whl", hash = "sha256:85cef7cff222d8644161529808465972e51340599459b8ac3ccbac5a854e0d30", size = 8321 }, + { url = "https://files.pythonhosted.org/packages/e7/05/c19819d5e3d95294a6f5947fb9b9629efb316b96de511b418c53d245aae6/cycler-0.12.1-py3-none-any.whl", hash = "sha256:85cef7cff222d8644161529808465972e51340599459b8ac3ccbac5a854e0d30", size = 8321, upload-time = "2023-10-07T05:32:16.783Z" }, ] [[package]] name = "debugpy" version = "1.8.12" source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/68/25/c74e337134edf55c4dfc9af579eccb45af2393c40960e2795a94351e8140/debugpy-1.8.12.tar.gz", hash = "sha256:646530b04f45c830ceae8e491ca1c9320a2d2f0efea3141487c82130aba70dce", size = 1641122 } -wheels = [ - { url = "https://files.pythonhosted.org/packages/56/19/dd58334c0a1ec07babf80bf29fb8daf1a7ca4c1a3bbe61548e40616ac087/debugpy-1.8.12-cp310-cp310-macosx_14_0_x86_64.whl", hash = "sha256:a2ba7ffe58efeae5b8fad1165357edfe01464f9aef25e814e891ec690e7dd82a", size = 2076091 }, - { url = "https://files.pythonhosted.org/packages/4c/37/bde1737da15f9617d11ab7b8d5267165f1b7dae116b2585a6643e89e1fa2/debugpy-1.8.12-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:cbbd4149c4fc5e7d508ece083e78c17442ee13b0e69bfa6bd63003e486770f45", size = 3560717 }, - { url = "https://files.pythonhosted.org/packages/d9/ca/bc67f5a36a7de072908bc9e1156c0f0b272a9a2224cf21540ab1ffd71a1f/debugpy-1.8.12-cp310-cp310-win32.whl", hash = "sha256:b202f591204023b3ce62ff9a47baa555dc00bb092219abf5caf0e3718ac20e7c", size = 5180672 }, - { url = "https://files.pythonhosted.org/packages/c1/b9/e899c0a80dfa674dbc992f36f2b1453cd1ee879143cdb455bc04fce999da/debugpy-1.8.12-cp310-cp310-win_amd64.whl", hash = "sha256:9649eced17a98ce816756ce50433b2dd85dfa7bc92ceb60579d68c053f98dff9", size = 5212702 }, - { url = "https://files.pythonhosted.org/packages/af/9f/5b8af282253615296264d4ef62d14a8686f0dcdebb31a669374e22fff0a4/debugpy-1.8.12-cp311-cp311-macosx_14_0_universal2.whl", hash = "sha256:36f4829839ef0afdfdd208bb54f4c3d0eea86106d719811681a8627ae2e53dd5", size = 2174643 }, - { url = "https://files.pythonhosted.org/packages/ef/31/f9274dcd3b0f9f7d1e60373c3fa4696a585c55acb30729d313bb9d3bcbd1/debugpy-1.8.12-cp311-cp311-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:a28ed481d530e3138553be60991d2d61103ce6da254e51547b79549675f539b7", size = 3133457 }, - { url = "https://files.pythonhosted.org/packages/ab/ca/6ee59e9892e424477e0c76e3798046f1fd1288040b927319c7a7b0baa484/debugpy-1.8.12-cp311-cp311-win32.whl", hash = "sha256:4ad9a94d8f5c9b954e0e3b137cc64ef3f579d0df3c3698fe9c3734ee397e4abb", size = 5106220 }, - { url = "https://files.pythonhosted.org/packages/d5/1a/8ab508ab05ede8a4eae3b139bbc06ea3ca6234f9e8c02713a044f253be5e/debugpy-1.8.12-cp311-cp311-win_amd64.whl", hash = "sha256:4703575b78dd697b294f8c65588dc86874ed787b7348c65da70cfc885efdf1e1", size = 5130481 }, - { url = "https://files.pythonhosted.org/packages/ba/e6/0f876ecfe5831ebe4762b19214364753c8bc2b357d28c5d739a1e88325c7/debugpy-1.8.12-cp312-cp312-macosx_14_0_universal2.whl", hash = "sha256:7e94b643b19e8feb5215fa508aee531387494bf668b2eca27fa769ea11d9f498", size = 2500846 }, - { url = "https://files.pythonhosted.org/packages/19/64/33f41653a701f3cd2cbff8b41ebaad59885b3428b5afd0d93d16012ecf17/debugpy-1.8.12-cp312-cp312-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:086b32e233e89a2740c1615c2f775c34ae951508b28b308681dbbb87bba97d06", size = 4222181 }, - { url = "https://files.pythonhosted.org/packages/32/a6/02646cfe50bfacc9b71321c47dc19a46e35f4e0aceea227b6d205e900e34/debugpy-1.8.12-cp312-cp312-win32.whl", hash = "sha256:2ae5df899732a6051b49ea2632a9ea67f929604fd2b036613a9f12bc3163b92d", size = 5227017 }, - { url = "https://files.pythonhosted.org/packages/da/a6/10056431b5c47103474312cf4a2ec1001f73e0b63b1216706d5fef2531eb/debugpy-1.8.12-cp312-cp312-win_amd64.whl", hash = "sha256:39dfbb6fa09f12fae32639e3286112fc35ae976114f1f3d37375f3130a820969", size = 5267555 }, - { url = "https://files.pythonhosted.org/packages/cf/4d/7c3896619a8791effd5d8c31f0834471fc8f8fb3047ec4f5fc69dd1393dd/debugpy-1.8.12-cp313-cp313-macosx_14_0_universal2.whl", hash = "sha256:696d8ae4dff4cbd06bf6b10d671e088b66669f110c7c4e18a44c43cf75ce966f", size = 2485246 }, - { url = "https://files.pythonhosted.org/packages/99/46/bc6dcfd7eb8cc969a5716d858e32485eb40c72c6a8dc88d1e3a4d5e95813/debugpy-1.8.12-cp313-cp313-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:898fba72b81a654e74412a67c7e0a81e89723cfe2a3ea6fcd3feaa3395138ca9", size = 4218616 }, - { url = "https://files.pythonhosted.org/packages/03/dd/d7fcdf0381a9b8094da1f6a1c9f19fed493a4f8576a2682349b3a8b20ec7/debugpy-1.8.12-cp313-cp313-win32.whl", hash = "sha256:22a11c493c70413a01ed03f01c3c3a2fc4478fc6ee186e340487b2edcd6f4180", size = 5226540 }, - { url = "https://files.pythonhosted.org/packages/25/bd/ecb98f5b5fc7ea0bfbb3c355bc1dd57c198a28780beadd1e19915bf7b4d9/debugpy-1.8.12-cp313-cp313-win_amd64.whl", hash = "sha256:fdb3c6d342825ea10b90e43d7f20f01535a72b3a1997850c0c3cefa5c27a4a2c", size = 5267134 }, - { url = "https://files.pythonhosted.org/packages/6f/56/6c7ddb4dfd2feca7ea3a580a32c7694f6c77183fa08932ee8ba37a0e703c/debugpy-1.8.12-cp38-cp38-macosx_14_0_x86_64.whl", hash = "sha256:b0232cd42506d0c94f9328aaf0d1d0785f90f87ae72d9759df7e5051be039738", size = 2076797 }, - { url = "https://files.pythonhosted.org/packages/73/25/a58e149ddcd609c8212ca733999251022e53508906e2c9f67252e4516de6/debugpy-1.8.12-cp38-cp38-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:9af40506a59450f1315168d47a970db1a65aaab5df3833ac389d2899a5d63b3f", size = 3632547 }, - { url = "https://files.pythonhosted.org/packages/91/c7/17c09b9d8332d09b7b0aa430085010945d92d90945748948cd38865c0b93/debugpy-1.8.12-cp38-cp38-win32.whl", hash = "sha256:5cc45235fefac57f52680902b7d197fb2f3650112379a6fa9aa1b1c1d3ed3f02", size = 5185270 }, - { url = "https://files.pythonhosted.org/packages/3b/d1/afdbb99f95f54c2768fa2511bf38ec8805b4cde319725e318e5016b252ec/debugpy-1.8.12-cp38-cp38-win_amd64.whl", hash = "sha256:557cc55b51ab2f3371e238804ffc8510b6ef087673303890f57a24195d096e61", size = 5217697 }, - { url = "https://files.pythonhosted.org/packages/89/37/a3333c5b69c086465ea3c073424ef2775e52a6c17276f642f64209c4a082/debugpy-1.8.12-cp39-cp39-macosx_14_0_x86_64.whl", hash = "sha256:b5c6c967d02fee30e157ab5227706f965d5c37679c687b1e7bbc5d9e7128bd41", size = 2077275 }, - { url = "https://files.pythonhosted.org/packages/50/1d/99f6a0a78b4b513ff2b0d0e44c1e705f7ee34e3aba0e8add617d339d97dc/debugpy-1.8.12-cp39-cp39-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:88a77f422f31f170c4b7e9ca58eae2a6c8e04da54121900651dfa8e66c29901a", size = 3555956 }, - { url = "https://files.pythonhosted.org/packages/b8/86/c624665aaa807d065da2016b05e9f2fb4fa56872d67a5fbd7751e77f7f88/debugpy-1.8.12-cp39-cp39-win32.whl", hash = "sha256:a4042edef80364239f5b7b5764e55fd3ffd40c32cf6753da9bda4ff0ac466018", size = 5181535 }, - { url = "https://files.pythonhosted.org/packages/72/c7/d59a0f845ce1677b5c2bb170f08cc1cc3531625a5fdce9c67bd31116540a/debugpy-1.8.12-cp39-cp39-win_amd64.whl", hash = "sha256:f30b03b0f27608a0b26c75f0bb8a880c752c0e0b01090551b9d87c7d783e2069", size = 5213601 }, - { url = "https://files.pythonhosted.org/packages/38/c4/5120ad36405c3008f451f94b8f92ef1805b1e516f6ff870f331ccb3c4cc0/debugpy-1.8.12-py2.py3-none-any.whl", hash = "sha256:274b6a2040349b5c9864e475284bce5bb062e63dce368a394b8cc865ae3b00c6", size = 5229490 }, +sdist = { url = "https://files.pythonhosted.org/packages/68/25/c74e337134edf55c4dfc9af579eccb45af2393c40960e2795a94351e8140/debugpy-1.8.12.tar.gz", hash = "sha256:646530b04f45c830ceae8e491ca1c9320a2d2f0efea3141487c82130aba70dce", size = 1641122, upload-time = "2025-01-16T17:26:42.727Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/56/19/dd58334c0a1ec07babf80bf29fb8daf1a7ca4c1a3bbe61548e40616ac087/debugpy-1.8.12-cp310-cp310-macosx_14_0_x86_64.whl", hash = "sha256:a2ba7ffe58efeae5b8fad1165357edfe01464f9aef25e814e891ec690e7dd82a", size = 2076091, upload-time = "2025-01-16T17:26:46.392Z" }, + { url = "https://files.pythonhosted.org/packages/4c/37/bde1737da15f9617d11ab7b8d5267165f1b7dae116b2585a6643e89e1fa2/debugpy-1.8.12-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:cbbd4149c4fc5e7d508ece083e78c17442ee13b0e69bfa6bd63003e486770f45", size = 3560717, upload-time = "2025-01-16T17:26:49.4Z" }, + { url = "https://files.pythonhosted.org/packages/d9/ca/bc67f5a36a7de072908bc9e1156c0f0b272a9a2224cf21540ab1ffd71a1f/debugpy-1.8.12-cp310-cp310-win32.whl", hash = "sha256:b202f591204023b3ce62ff9a47baa555dc00bb092219abf5caf0e3718ac20e7c", size = 5180672, upload-time = "2025-01-16T17:26:53.086Z" }, + { url = "https://files.pythonhosted.org/packages/c1/b9/e899c0a80dfa674dbc992f36f2b1453cd1ee879143cdb455bc04fce999da/debugpy-1.8.12-cp310-cp310-win_amd64.whl", hash = "sha256:9649eced17a98ce816756ce50433b2dd85dfa7bc92ceb60579d68c053f98dff9", size = 5212702, upload-time = "2025-01-16T17:26:56.128Z" }, + { url = "https://files.pythonhosted.org/packages/af/9f/5b8af282253615296264d4ef62d14a8686f0dcdebb31a669374e22fff0a4/debugpy-1.8.12-cp311-cp311-macosx_14_0_universal2.whl", hash = "sha256:36f4829839ef0afdfdd208bb54f4c3d0eea86106d719811681a8627ae2e53dd5", size = 2174643, upload-time = "2025-01-16T17:26:59.003Z" }, + { url = "https://files.pythonhosted.org/packages/ef/31/f9274dcd3b0f9f7d1e60373c3fa4696a585c55acb30729d313bb9d3bcbd1/debugpy-1.8.12-cp311-cp311-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:a28ed481d530e3138553be60991d2d61103ce6da254e51547b79549675f539b7", size = 3133457, upload-time = "2025-01-16T17:27:02.014Z" }, + { url = "https://files.pythonhosted.org/packages/ab/ca/6ee59e9892e424477e0c76e3798046f1fd1288040b927319c7a7b0baa484/debugpy-1.8.12-cp311-cp311-win32.whl", hash = "sha256:4ad9a94d8f5c9b954e0e3b137cc64ef3f579d0df3c3698fe9c3734ee397e4abb", size = 5106220, upload-time = "2025-01-16T17:27:05.212Z" }, + { url = "https://files.pythonhosted.org/packages/d5/1a/8ab508ab05ede8a4eae3b139bbc06ea3ca6234f9e8c02713a044f253be5e/debugpy-1.8.12-cp311-cp311-win_amd64.whl", hash = "sha256:4703575b78dd697b294f8c65588dc86874ed787b7348c65da70cfc885efdf1e1", size = 5130481, upload-time = "2025-01-16T17:27:07.291Z" }, + { url = "https://files.pythonhosted.org/packages/ba/e6/0f876ecfe5831ebe4762b19214364753c8bc2b357d28c5d739a1e88325c7/debugpy-1.8.12-cp312-cp312-macosx_14_0_universal2.whl", hash = "sha256:7e94b643b19e8feb5215fa508aee531387494bf668b2eca27fa769ea11d9f498", size = 2500846, upload-time = "2025-01-16T17:27:09.277Z" }, + { url = "https://files.pythonhosted.org/packages/19/64/33f41653a701f3cd2cbff8b41ebaad59885b3428b5afd0d93d16012ecf17/debugpy-1.8.12-cp312-cp312-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:086b32e233e89a2740c1615c2f775c34ae951508b28b308681dbbb87bba97d06", size = 4222181, upload-time = "2025-01-16T17:27:11.106Z" }, + { url = "https://files.pythonhosted.org/packages/32/a6/02646cfe50bfacc9b71321c47dc19a46e35f4e0aceea227b6d205e900e34/debugpy-1.8.12-cp312-cp312-win32.whl", hash = "sha256:2ae5df899732a6051b49ea2632a9ea67f929604fd2b036613a9f12bc3163b92d", size = 5227017, upload-time = "2025-01-16T17:27:13.29Z" }, + { url = "https://files.pythonhosted.org/packages/da/a6/10056431b5c47103474312cf4a2ec1001f73e0b63b1216706d5fef2531eb/debugpy-1.8.12-cp312-cp312-win_amd64.whl", hash = "sha256:39dfbb6fa09f12fae32639e3286112fc35ae976114f1f3d37375f3130a820969", size = 5267555, upload-time = "2025-01-16T17:27:15.184Z" }, + { url = "https://files.pythonhosted.org/packages/cf/4d/7c3896619a8791effd5d8c31f0834471fc8f8fb3047ec4f5fc69dd1393dd/debugpy-1.8.12-cp313-cp313-macosx_14_0_universal2.whl", hash = "sha256:696d8ae4dff4cbd06bf6b10d671e088b66669f110c7c4e18a44c43cf75ce966f", size = 2485246, upload-time = "2025-01-16T17:27:18.389Z" }, + { url = "https://files.pythonhosted.org/packages/99/46/bc6dcfd7eb8cc969a5716d858e32485eb40c72c6a8dc88d1e3a4d5e95813/debugpy-1.8.12-cp313-cp313-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:898fba72b81a654e74412a67c7e0a81e89723cfe2a3ea6fcd3feaa3395138ca9", size = 4218616, upload-time = "2025-01-16T17:27:20.374Z" }, + { url = "https://files.pythonhosted.org/packages/03/dd/d7fcdf0381a9b8094da1f6a1c9f19fed493a4f8576a2682349b3a8b20ec7/debugpy-1.8.12-cp313-cp313-win32.whl", hash = "sha256:22a11c493c70413a01ed03f01c3c3a2fc4478fc6ee186e340487b2edcd6f4180", size = 5226540, upload-time = "2025-01-16T17:27:22.504Z" }, + { url = "https://files.pythonhosted.org/packages/25/bd/ecb98f5b5fc7ea0bfbb3c355bc1dd57c198a28780beadd1e19915bf7b4d9/debugpy-1.8.12-cp313-cp313-win_amd64.whl", hash = "sha256:fdb3c6d342825ea10b90e43d7f20f01535a72b3a1997850c0c3cefa5c27a4a2c", size = 5267134, upload-time = "2025-01-16T17:27:25.616Z" }, + { url = "https://files.pythonhosted.org/packages/6f/56/6c7ddb4dfd2feca7ea3a580a32c7694f6c77183fa08932ee8ba37a0e703c/debugpy-1.8.12-cp38-cp38-macosx_14_0_x86_64.whl", hash = "sha256:b0232cd42506d0c94f9328aaf0d1d0785f90f87ae72d9759df7e5051be039738", size = 2076797, upload-time = "2025-01-16T17:27:28.718Z" }, + { url = "https://files.pythonhosted.org/packages/73/25/a58e149ddcd609c8212ca733999251022e53508906e2c9f67252e4516de6/debugpy-1.8.12-cp38-cp38-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:9af40506a59450f1315168d47a970db1a65aaab5df3833ac389d2899a5d63b3f", size = 3632547, upload-time = "2025-01-16T17:27:30.398Z" }, + { url = "https://files.pythonhosted.org/packages/91/c7/17c09b9d8332d09b7b0aa430085010945d92d90945748948cd38865c0b93/debugpy-1.8.12-cp38-cp38-win32.whl", hash = "sha256:5cc45235fefac57f52680902b7d197fb2f3650112379a6fa9aa1b1c1d3ed3f02", size = 5185270, upload-time = "2025-01-16T17:27:33.294Z" }, + { url = "https://files.pythonhosted.org/packages/3b/d1/afdbb99f95f54c2768fa2511bf38ec8805b4cde319725e318e5016b252ec/debugpy-1.8.12-cp38-cp38-win_amd64.whl", hash = "sha256:557cc55b51ab2f3371e238804ffc8510b6ef087673303890f57a24195d096e61", size = 5217697, upload-time = "2025-01-16T17:27:36.957Z" }, + { url = "https://files.pythonhosted.org/packages/89/37/a3333c5b69c086465ea3c073424ef2775e52a6c17276f642f64209c4a082/debugpy-1.8.12-cp39-cp39-macosx_14_0_x86_64.whl", hash = "sha256:b5c6c967d02fee30e157ab5227706f965d5c37679c687b1e7bbc5d9e7128bd41", size = 2077275, upload-time = "2025-01-16T17:27:39.289Z" }, + { url = "https://files.pythonhosted.org/packages/50/1d/99f6a0a78b4b513ff2b0d0e44c1e705f7ee34e3aba0e8add617d339d97dc/debugpy-1.8.12-cp39-cp39-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:88a77f422f31f170c4b7e9ca58eae2a6c8e04da54121900651dfa8e66c29901a", size = 3555956, upload-time = "2025-01-16T17:27:41.002Z" }, + { url = "https://files.pythonhosted.org/packages/b8/86/c624665aaa807d065da2016b05e9f2fb4fa56872d67a5fbd7751e77f7f88/debugpy-1.8.12-cp39-cp39-win32.whl", hash = "sha256:a4042edef80364239f5b7b5764e55fd3ffd40c32cf6753da9bda4ff0ac466018", size = 5181535, upload-time = "2025-01-16T17:27:42.878Z" }, + { url = "https://files.pythonhosted.org/packages/72/c7/d59a0f845ce1677b5c2bb170f08cc1cc3531625a5fdce9c67bd31116540a/debugpy-1.8.12-cp39-cp39-win_amd64.whl", hash = "sha256:f30b03b0f27608a0b26c75f0bb8a880c752c0e0b01090551b9d87c7d783e2069", size = 5213601, upload-time = "2025-01-16T17:27:46.082Z" }, + { url = "https://files.pythonhosted.org/packages/38/c4/5120ad36405c3008f451f94b8f92ef1805b1e516f6ff870f331ccb3c4cc0/debugpy-1.8.12-py2.py3-none-any.whl", hash = "sha256:274b6a2040349b5c9864e475284bce5bb062e63dce368a394b8cc865ae3b00c6", size = 5229490, upload-time = "2025-01-16T17:27:49.412Z" }, ] [[package]] name = "decorator" version = "5.1.1" source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/66/0c/8d907af351aa16b42caae42f9d6aa37b900c67308052d10fdce809f8d952/decorator-5.1.1.tar.gz", hash = "sha256:637996211036b6385ef91435e4fae22989472f9d571faba8927ba8253acbc330", size = 35016 } +sdist = { url = "https://files.pythonhosted.org/packages/66/0c/8d907af351aa16b42caae42f9d6aa37b900c67308052d10fdce809f8d952/decorator-5.1.1.tar.gz", hash = "sha256:637996211036b6385ef91435e4fae22989472f9d571faba8927ba8253acbc330", size = 35016, upload-time = "2022-01-07T08:20:05.666Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/d5/50/83c593b07763e1161326b3b8c6686f0f4b0f24d5526546bee538c89837d6/decorator-5.1.1-py3-none-any.whl", hash = "sha256:b8c3f85900b9dc423225913c5aace94729fe1fa9763b38939a95226f02d37186", size = 9073 }, + { url = "https://files.pythonhosted.org/packages/d5/50/83c593b07763e1161326b3b8c6686f0f4b0f24d5526546bee538c89837d6/decorator-5.1.1-py3-none-any.whl", hash = "sha256:b8c3f85900b9dc423225913c5aace94729fe1fa9763b38939a95226f02d37186", size = 9073, upload-time = "2022-01-07T08:20:03.734Z" }, ] [[package]] name = "defusedxml" version = "0.7.1" source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/0f/d5/c66da9b79e5bdb124974bfe172b4daf3c984ebd9c2a06e2b8a4dc7331c72/defusedxml-0.7.1.tar.gz", hash = "sha256:1bb3032db185915b62d7c6209c5a8792be6a32ab2fedacc84e01b52c51aa3e69", size = 75520 } +sdist = { url = "https://files.pythonhosted.org/packages/0f/d5/c66da9b79e5bdb124974bfe172b4daf3c984ebd9c2a06e2b8a4dc7331c72/defusedxml-0.7.1.tar.gz", hash = "sha256:1bb3032db185915b62d7c6209c5a8792be6a32ab2fedacc84e01b52c51aa3e69", size = 75520, upload-time = "2021-03-08T10:59:26.269Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/07/6c/aa3f2f849e01cb6a001cd8554a88d4c77c5c1a31c95bdf1cf9301e6d9ef4/defusedxml-0.7.1-py2.py3-none-any.whl", hash = "sha256:a352e7e428770286cc899e2542b6cdaedb2b4953ff269a210103ec58f6198a61", size = 25604 }, + { url = "https://files.pythonhosted.org/packages/07/6c/aa3f2f849e01cb6a001cd8554a88d4c77c5c1a31c95bdf1cf9301e6d9ef4/defusedxml-0.7.1-py2.py3-none-any.whl", hash = "sha256:a352e7e428770286cc899e2542b6cdaedb2b4953ff269a210103ec58f6198a61", size = 25604, upload-time = "2021-03-08T10:59:24.45Z" }, ] [[package]] name = "distlib" version = "0.3.9" source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/0d/dd/1bec4c5ddb504ca60fc29472f3d27e8d4da1257a854e1d96742f15c1d02d/distlib-0.3.9.tar.gz", hash = "sha256:a60f20dea646b8a33f3e7772f74dc0b2d0772d2837ee1342a00645c81edf9403", size = 613923 } +sdist = { url = "https://files.pythonhosted.org/packages/0d/dd/1bec4c5ddb504ca60fc29472f3d27e8d4da1257a854e1d96742f15c1d02d/distlib-0.3.9.tar.gz", hash = "sha256:a60f20dea646b8a33f3e7772f74dc0b2d0772d2837ee1342a00645c81edf9403", size = 613923, upload-time = "2024-10-09T18:35:47.551Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/91/a1/cf2472db20f7ce4a6be1253a81cfdf85ad9c7885ffbed7047fb72c24cf87/distlib-0.3.9-py2.py3-none-any.whl", hash = "sha256:47f8c22fd27c27e25a65601af709b38e4f0a45ea4fc2e710f65755fa8caaaf87", size = 468973 }, + { url = "https://files.pythonhosted.org/packages/91/a1/cf2472db20f7ce4a6be1253a81cfdf85ad9c7885ffbed7047fb72c24cf87/distlib-0.3.9-py2.py3-none-any.whl", hash = "sha256:47f8c22fd27c27e25a65601af709b38e4f0a45ea4fc2e710f65755fa8caaaf87", size = 468973, upload-time = "2024-10-09T18:35:44.272Z" }, ] [[package]] @@ -881,9 +881,9 @@ resolution-markers = [ "python_full_version < '3.9' and platform_machine == 'aarch64' and sys_platform == 'linux'", "(python_full_version < '3.9' and platform_machine != 'arm64' and sys_platform == 'darwin') or (python_full_version < '3.9' and platform_machine != 'aarch64' and sys_platform == 'linux') or (python_full_version < '3.9' and sys_platform != 'darwin' and sys_platform != 'linux')", ] -sdist = { url = "https://files.pythonhosted.org/packages/1f/53/a5da4f2c5739cf66290fac1431ee52aff6851c7c8ffd8264f13affd7bcdd/docutils-0.20.1.tar.gz", hash = "sha256:f08a4e276c3a1583a86dce3e34aba3fe04d02bba2dd51ed16106244e8a923e3b", size = 2058365 } +sdist = { url = "https://files.pythonhosted.org/packages/1f/53/a5da4f2c5739cf66290fac1431ee52aff6851c7c8ffd8264f13affd7bcdd/docutils-0.20.1.tar.gz", hash = "sha256:f08a4e276c3a1583a86dce3e34aba3fe04d02bba2dd51ed16106244e8a923e3b", size = 2058365, upload-time = "2023-05-16T23:39:19.748Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/26/87/f238c0670b94533ac0353a4e2a1a771a0cc73277b88bff23d3ae35a256c1/docutils-0.20.1-py3-none-any.whl", hash = "sha256:96f387a2c5562db4476f09f13bbab2192e764cac08ebbf3a34a95d9b1e4a59d6", size = 572666 }, + { url = "https://files.pythonhosted.org/packages/26/87/f238c0670b94533ac0353a4e2a1a771a0cc73277b88bff23d3ae35a256c1/docutils-0.20.1-py3-none-any.whl", hash = "sha256:96f387a2c5562db4476f09f13bbab2192e764cac08ebbf3a34a95d9b1e4a59d6", size = 572666, upload-time = "2023-05-16T23:39:15.976Z" }, ] [[package]] @@ -904,36 +904,36 @@ resolution-markers = [ "python_full_version == '3.9.*' and platform_machine == 'aarch64' and sys_platform == 'linux'", "(python_full_version == '3.9.*' and platform_machine != 'arm64' and sys_platform == 'darwin') or (python_full_version == '3.9.*' and platform_machine != 'aarch64' and sys_platform == 'linux') or (python_full_version == '3.9.*' and sys_platform != 'darwin' and sys_platform != 'linux')", ] -sdist = { url = "https://files.pythonhosted.org/packages/ae/ed/aefcc8cd0ba62a0560c3c18c33925362d46c6075480bfa4df87b28e169a9/docutils-0.21.2.tar.gz", hash = "sha256:3a6b18732edf182daa3cd12775bbb338cf5691468f91eeeb109deff6ebfa986f", size = 2204444 } +sdist = { url = "https://files.pythonhosted.org/packages/ae/ed/aefcc8cd0ba62a0560c3c18c33925362d46c6075480bfa4df87b28e169a9/docutils-0.21.2.tar.gz", hash = "sha256:3a6b18732edf182daa3cd12775bbb338cf5691468f91eeeb109deff6ebfa986f", size = 2204444, upload-time = "2024-04-23T18:57:18.24Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/8f/d7/9322c609343d929e75e7e5e6255e614fcc67572cfd083959cdef3b7aad79/docutils-0.21.2-py3-none-any.whl", hash = "sha256:dafca5b9e384f0e419294eb4d2ff9fa826435bf15f15b7bd45723e8ad76811b2", size = 587408 }, + { url = "https://files.pythonhosted.org/packages/8f/d7/9322c609343d929e75e7e5e6255e614fcc67572cfd083959cdef3b7aad79/docutils-0.21.2-py3-none-any.whl", hash = "sha256:dafca5b9e384f0e419294eb4d2ff9fa826435bf15f15b7bd45723e8ad76811b2", size = 587408, upload-time = "2024-04-23T18:57:14.835Z" }, ] [[package]] name = "exceptiongroup" version = "1.2.2" source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/09/35/2495c4ac46b980e4ca1f6ad6db102322ef3ad2410b79fdde159a4b0f3b92/exceptiongroup-1.2.2.tar.gz", hash = "sha256:47c2edf7c6738fafb49fd34290706d1a1a2f4d1c6df275526b62cbb4aa5393cc", size = 28883 } +sdist = { url = "https://files.pythonhosted.org/packages/09/35/2495c4ac46b980e4ca1f6ad6db102322ef3ad2410b79fdde159a4b0f3b92/exceptiongroup-1.2.2.tar.gz", hash = "sha256:47c2edf7c6738fafb49fd34290706d1a1a2f4d1c6df275526b62cbb4aa5393cc", size = 28883, upload-time = "2024-07-12T22:26:00.161Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/02/cc/b7e31358aac6ed1ef2bb790a9746ac2c69bcb3c8588b41616914eb106eaf/exceptiongroup-1.2.2-py3-none-any.whl", hash = "sha256:3111b9d131c238bec2f8f516e123e14ba243563fb135d3fe885990585aa7795b", size = 16453 }, + { url = "https://files.pythonhosted.org/packages/02/cc/b7e31358aac6ed1ef2bb790a9746ac2c69bcb3c8588b41616914eb106eaf/exceptiongroup-1.2.2-py3-none-any.whl", hash = "sha256:3111b9d131c238bec2f8f516e123e14ba243563fb135d3fe885990585aa7795b", size = 16453, upload-time = "2024-07-12T22:25:58.476Z" }, ] [[package]] name = "executing" version = "2.2.0" source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/91/50/a9d80c47ff289c611ff12e63f7c5d13942c65d68125160cefd768c73e6e4/executing-2.2.0.tar.gz", hash = "sha256:5d108c028108fe2551d1a7b2e8b713341e2cb4fc0aa7dcf966fa4327a5226755", size = 978693 } +sdist = { url = "https://files.pythonhosted.org/packages/91/50/a9d80c47ff289c611ff12e63f7c5d13942c65d68125160cefd768c73e6e4/executing-2.2.0.tar.gz", hash = "sha256:5d108c028108fe2551d1a7b2e8b713341e2cb4fc0aa7dcf966fa4327a5226755", size = 978693, upload-time = "2025-01-22T15:41:29.403Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/7b/8f/c4d9bafc34ad7ad5d8dc16dd1347ee0e507a52c3adb6bfa8887e1c6a26ba/executing-2.2.0-py2.py3-none-any.whl", hash = "sha256:11387150cad388d62750327a53d3339fad4888b39a6fe233c3afbb54ecffd3aa", size = 26702 }, + { url = "https://files.pythonhosted.org/packages/7b/8f/c4d9bafc34ad7ad5d8dc16dd1347ee0e507a52c3adb6bfa8887e1c6a26ba/executing-2.2.0-py2.py3-none-any.whl", hash = "sha256:11387150cad388d62750327a53d3339fad4888b39a6fe233c3afbb54ecffd3aa", size = 26702, upload-time = "2025-01-22T15:41:25.929Z" }, ] [[package]] name = "fastjsonschema" version = "2.21.1" source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/8b/50/4b769ce1ac4071a1ef6d86b1a3fb56cdc3a37615e8c5519e1af96cdac366/fastjsonschema-2.21.1.tar.gz", hash = "sha256:794d4f0a58f848961ba16af7b9c85a3e88cd360df008c59aac6fc5ae9323b5d4", size = 373939 } +sdist = { url = "https://files.pythonhosted.org/packages/8b/50/4b769ce1ac4071a1ef6d86b1a3fb56cdc3a37615e8c5519e1af96cdac366/fastjsonschema-2.21.1.tar.gz", hash = "sha256:794d4f0a58f848961ba16af7b9c85a3e88cd360df008c59aac6fc5ae9323b5d4", size = 373939, upload-time = "2024-12-02T10:55:15.133Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/90/2b/0817a2b257fe88725c25589d89aec060581aabf668707a8d03b2e9e0cb2a/fastjsonschema-2.21.1-py3-none-any.whl", hash = "sha256:c9e5b7e908310918cf494a434eeb31384dd84a98b57a30bcb1f535015b554667", size = 23924 }, + { url = "https://files.pythonhosted.org/packages/90/2b/0817a2b257fe88725c25589d89aec060581aabf668707a8d03b2e9e0cb2a/fastjsonschema-2.21.1-py3-none-any.whl", hash = "sha256:c9e5b7e908310918cf494a434eeb31384dd84a98b57a30bcb1f535015b554667", size = 23924, upload-time = "2024-12-02T10:55:07.599Z" }, ] [[package]] @@ -945,9 +945,9 @@ resolution-markers = [ "python_full_version < '3.9' and platform_machine == 'aarch64' and sys_platform == 'linux'", "(python_full_version < '3.9' and platform_machine != 'arm64' and sys_platform == 'darwin') or (python_full_version < '3.9' and platform_machine != 'aarch64' and sys_platform == 'linux') or (python_full_version < '3.9' and sys_platform != 'darwin' and sys_platform != 'linux')", ] -sdist = { url = "https://files.pythonhosted.org/packages/9d/db/3ef5bb276dae18d6ec2124224403d1d67bccdbefc17af4cc8f553e341ab1/filelock-3.16.1.tar.gz", hash = "sha256:c249fbfcd5db47e5e2d6d62198e565475ee65e4831e2561c8e313fa7eb961435", size = 18037 } +sdist = { url = "https://files.pythonhosted.org/packages/9d/db/3ef5bb276dae18d6ec2124224403d1d67bccdbefc17af4cc8f553e341ab1/filelock-3.16.1.tar.gz", hash = "sha256:c249fbfcd5db47e5e2d6d62198e565475ee65e4831e2561c8e313fa7eb961435", size = 18037, upload-time = "2024-09-17T19:02:01.779Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/b9/f8/feced7779d755758a52d1f6635d990b8d98dc0a29fa568bbe0625f18fdf3/filelock-3.16.1-py3-none-any.whl", hash = "sha256:2082e5703d51fbf98ea75855d9d5527e33d8ff23099bec374a134febee6946b0", size = 16163 }, + { url = "https://files.pythonhosted.org/packages/b9/f8/feced7779d755758a52d1f6635d990b8d98dc0a29fa568bbe0625f18fdf3/filelock-3.16.1-py3-none-any.whl", hash = "sha256:2082e5703d51fbf98ea75855d9d5527e33d8ff23099bec374a134febee6946b0", size = 16163, upload-time = "2024-09-17T19:02:00.268Z" }, ] [[package]] @@ -968,75 +968,75 @@ resolution-markers = [ "python_full_version == '3.9.*' and platform_machine == 'aarch64' and sys_platform == 'linux'", "(python_full_version == '3.9.*' and platform_machine != 'arm64' and sys_platform == 'darwin') or (python_full_version == '3.9.*' and platform_machine != 'aarch64' and sys_platform == 'linux') or (python_full_version == '3.9.*' and sys_platform != 'darwin' and sys_platform != 'linux')", ] -sdist = { url = "https://files.pythonhosted.org/packages/dc/9c/0b15fb47b464e1b663b1acd1253a062aa5feecb07d4e597daea542ebd2b5/filelock-3.17.0.tar.gz", hash = "sha256:ee4e77401ef576ebb38cd7f13b9b28893194acc20a8e68e18730ba9c0e54660e", size = 18027 } +sdist = { url = "https://files.pythonhosted.org/packages/dc/9c/0b15fb47b464e1b663b1acd1253a062aa5feecb07d4e597daea542ebd2b5/filelock-3.17.0.tar.gz", hash = "sha256:ee4e77401ef576ebb38cd7f13b9b28893194acc20a8e68e18730ba9c0e54660e", size = 18027, upload-time = "2025-01-21T20:04:49.099Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/89/ec/00d68c4ddfedfe64159999e5f8a98fb8442729a63e2077eb9dcd89623d27/filelock-3.17.0-py3-none-any.whl", hash = "sha256:533dc2f7ba78dc2f0f531fc6c4940addf7b70a481e269a5a3b93be94ffbe8338", size = 16164 }, + { url = "https://files.pythonhosted.org/packages/89/ec/00d68c4ddfedfe64159999e5f8a98fb8442729a63e2077eb9dcd89623d27/filelock-3.17.0-py3-none-any.whl", hash = "sha256:533dc2f7ba78dc2f0f531fc6c4940addf7b70a481e269a5a3b93be94ffbe8338", size = 16164, upload-time = "2025-01-21T20:04:47.734Z" }, ] [[package]] name = "fonttools" version = "4.56.0" source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/1c/8c/9ffa2a555af0e5e5d0e2ed7fdd8c9bef474ed676995bb4c57c9cd0014248/fonttools-4.56.0.tar.gz", hash = "sha256:a114d1567e1a1586b7e9e7fc2ff686ca542a82769a296cef131e4c4af51e58f4", size = 3462892 } -wheels = [ - { url = "https://files.pythonhosted.org/packages/1e/5e/6ac30c2cc6a29454260f13c9c6422fc509b7982c13cd4597041260d8f482/fonttools-4.56.0-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:331954d002dbf5e704c7f3756028e21db07097c19722569983ba4d74df014000", size = 2752190 }, - { url = "https://files.pythonhosted.org/packages/92/3a/ac382a8396d1b420ee45eeb0f65b614a9ca7abbb23a1b17524054f0f2200/fonttools-4.56.0-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:8d1613abd5af2f93c05867b3a3759a56e8bf97eb79b1da76b2bc10892f96ff16", size = 2280624 }, - { url = "https://files.pythonhosted.org/packages/8a/ae/00b58bfe20e9ff7fbc3dda38f5d127913942b5e252288ea9583099a31bf5/fonttools-4.56.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:705837eae384fe21cee5e5746fd4f4b2f06f87544fa60f60740007e0aa600311", size = 4562074 }, - { url = "https://files.pythonhosted.org/packages/46/d0/0004ca8f6a200252e5bd6982ed99b5fe58c4c59efaf5f516621c4cd8f703/fonttools-4.56.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:bc871904a53a9d4d908673c6faa15689874af1c7c5ac403a8e12d967ebd0c0dc", size = 4604747 }, - { url = "https://files.pythonhosted.org/packages/45/ea/c8862bd3e09d143ef8ed8268ec8a7d477828f960954889e65288ac050b08/fonttools-4.56.0-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:38b947de71748bab150259ee05a775e8a0635891568e9fdb3cdd7d0e0004e62f", size = 4559025 }, - { url = "https://files.pythonhosted.org/packages/8f/75/bb88a9552ec1de31a414066257bfd9f40f4ada00074f7a3799ea39b5741f/fonttools-4.56.0-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:86b2a1013ef7a64d2e94606632683f07712045ed86d937c11ef4dde97319c086", size = 4728482 }, - { url = "https://files.pythonhosted.org/packages/2a/5f/80a2b640df1e1bb7d459d62c8b3f37fe83fd413897e549106d4ebe6371f5/fonttools-4.56.0-cp310-cp310-win32.whl", hash = "sha256:133bedb9a5c6376ad43e6518b7e2cd2f866a05b1998f14842631d5feb36b5786", size = 2155557 }, - { url = "https://files.pythonhosted.org/packages/8f/85/0904f9dbe51ac70d878d3242a8583b9453a09105c3ed19c6301247fd0d3a/fonttools-4.56.0-cp310-cp310-win_amd64.whl", hash = "sha256:17f39313b649037f6c800209984a11fc256a6137cbe5487091c6c7187cae4685", size = 2200017 }, - { url = "https://files.pythonhosted.org/packages/35/56/a2f3e777d48fcae7ecd29de4d96352d84e5ea9871e5f3fc88241521572cf/fonttools-4.56.0-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:7ef04bc7827adb7532be3d14462390dd71287644516af3f1e67f1e6ff9c6d6df", size = 2753325 }, - { url = "https://files.pythonhosted.org/packages/71/85/d483e9c4e5ed586b183bf037a353e8d766366b54fd15519b30e6178a6a6e/fonttools-4.56.0-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:ffda9b8cd9cb8b301cae2602ec62375b59e2e2108a117746f12215145e3f786c", size = 2281554 }, - { url = "https://files.pythonhosted.org/packages/09/67/060473b832b2fade03c127019794df6dc02d9bc66fa4210b8e0d8a99d1e5/fonttools-4.56.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:e2e993e8db36306cc3f1734edc8ea67906c55f98683d6fd34c3fc5593fdbba4c", size = 4869260 }, - { url = "https://files.pythonhosted.org/packages/28/e9/47c02d5a7027e8ed841ab6a10ca00c93dadd5f16742f1af1fa3f9978adf4/fonttools-4.56.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:003548eadd674175510773f73fb2060bb46adb77c94854af3e0cc5bc70260049", size = 4898508 }, - { url = "https://files.pythonhosted.org/packages/bf/8a/221d456d1afb8ca043cfd078f59f187ee5d0a580f4b49351b9ce95121f57/fonttools-4.56.0-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:bd9825822e7bb243f285013e653f6741954d8147427aaa0324a862cdbf4cbf62", size = 4877700 }, - { url = "https://files.pythonhosted.org/packages/a4/8c/e503863adf7a6aeff7b960e2f66fa44dd0c29a7a8b79765b2821950d7b05/fonttools-4.56.0-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:b23d30a2c0b992fb1c4f8ac9bfde44b5586d23457759b6cf9a787f1a35179ee0", size = 5045817 }, - { url = "https://files.pythonhosted.org/packages/2b/50/79ba3b7e42f4eaa70b82b9e79155f0f6797858dc8a97862428b6852c6aee/fonttools-4.56.0-cp311-cp311-win32.whl", hash = "sha256:47b5e4680002ae1756d3ae3b6114e20aaee6cc5c69d1e5911f5ffffd3ee46c6b", size = 2154426 }, - { url = "https://files.pythonhosted.org/packages/3b/90/4926e653041c4116ecd43e50e3c79f5daae6dcafc58ceb64bc4f71dd4924/fonttools-4.56.0-cp311-cp311-win_amd64.whl", hash = "sha256:14a3e3e6b211660db54ca1ef7006401e4a694e53ffd4553ab9bc87ead01d0f05", size = 2200937 }, - { url = "https://files.pythonhosted.org/packages/39/32/71cfd6877999576a11824a7fe7bc0bb57c5c72b1f4536fa56a3e39552643/fonttools-4.56.0-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:d6f195c14c01bd057bc9b4f70756b510e009c83c5ea67b25ced3e2c38e6ee6e9", size = 2747757 }, - { url = "https://files.pythonhosted.org/packages/15/52/d9f716b072c5061a0b915dd4c387f74bef44c68c069e2195c753905bd9b7/fonttools-4.56.0-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:fa760e5fe8b50cbc2d71884a1eff2ed2b95a005f02dda2fa431560db0ddd927f", size = 2279007 }, - { url = "https://files.pythonhosted.org/packages/d1/97/f1b3a8afa9a0d814a092a25cd42f59ccb98a0bb7a295e6e02fc9ba744214/fonttools-4.56.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d54a45d30251f1d729e69e5b675f9a08b7da413391a1227781e2a297fa37f6d2", size = 4783991 }, - { url = "https://files.pythonhosted.org/packages/95/70/2a781bedc1c45a0c61d29c56425609b22ed7f971da5d7e5df2679488741b/fonttools-4.56.0-cp312-cp312-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:661a8995d11e6e4914a44ca7d52d1286e2d9b154f685a4d1f69add8418961563", size = 4855109 }, - { url = "https://files.pythonhosted.org/packages/0c/02/a2597858e61a5e3fb6a14d5f6be9e6eb4eaf090da56ad70cedcbdd201685/fonttools-4.56.0-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:9d94449ad0a5f2a8bf5d2f8d71d65088aee48adbe45f3c5f8e00e3ad861ed81a", size = 4762496 }, - { url = "https://files.pythonhosted.org/packages/f2/00/aaf00100d6078fdc73f7352b44589804af9dc12b182a2540b16002152ba4/fonttools-4.56.0-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:f59746f7953f69cc3290ce2f971ab01056e55ddd0fb8b792c31a8acd7fee2d28", size = 4990094 }, - { url = "https://files.pythonhosted.org/packages/bf/dc/3ff1db522460db60cf3adaf1b64e0c72b43406717d139786d3fa1eb20709/fonttools-4.56.0-cp312-cp312-win32.whl", hash = "sha256:bce60f9a977c9d3d51de475af3f3581d9b36952e1f8fc19a1f2254f1dda7ce9c", size = 2142888 }, - { url = "https://files.pythonhosted.org/packages/6f/e3/5a181a85777f7809076e51f7422e0dc77eb04676c40ec8bf6a49d390d1ff/fonttools-4.56.0-cp312-cp312-win_amd64.whl", hash = "sha256:300c310bb725b2bdb4f5fc7e148e190bd69f01925c7ab437b9c0ca3e1c7cd9ba", size = 2189734 }, - { url = "https://files.pythonhosted.org/packages/a5/55/f06b48d48e0b4ec3a3489efafe9bd4d81b6e0802ac51026e3ee4634e89ba/fonttools-4.56.0-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:f20e2c0dfab82983a90f3d00703ac0960412036153e5023eed2b4641d7d5e692", size = 2735127 }, - { url = "https://files.pythonhosted.org/packages/59/db/d2c7c9b6dd5cbd46f183e650a47403ffb88fca17484eb7c4b1cd88f9e513/fonttools-4.56.0-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:f36a0868f47b7566237640c026c65a86d09a3d9ca5df1cd039e30a1da73098a0", size = 2272519 }, - { url = "https://files.pythonhosted.org/packages/4d/a2/da62d779c34a0e0c06415f02eab7fa3466de5d46df459c0275a255cefc65/fonttools-4.56.0-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:62b4c6802fa28e14dba010e75190e0e6228513573f1eeae57b11aa1a39b7e5b1", size = 4762423 }, - { url = "https://files.pythonhosted.org/packages/be/6a/fd4018e0448c8a5e12138906411282c5eab51a598493f080a9f0960e658f/fonttools-4.56.0-cp313-cp313-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:a05d1f07eb0a7d755fbe01fee1fd255c3a4d3730130cf1bfefb682d18fd2fcea", size = 4834442 }, - { url = "https://files.pythonhosted.org/packages/6d/63/fa1dec8efb35bc11ef9c39b2d74754b45d48a3ccb2cf78c0109c0af639e8/fonttools-4.56.0-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:0073b62c3438cf0058488c002ea90489e8801d3a7af5ce5f7c05c105bee815c3", size = 4742800 }, - { url = "https://files.pythonhosted.org/packages/dd/f4/963247ae8c73ccc4cf2929e7162f595c81dbe17997d1d0ea77da24a217c9/fonttools-4.56.0-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:e2cad98c94833465bcf28f51c248aaf07ca022efc6a3eba750ad9c1e0256d278", size = 4963746 }, - { url = "https://files.pythonhosted.org/packages/ea/e0/46f9600c39c644b54e4420f941f75fa200d9288c9ae171e5d80918b8cbb9/fonttools-4.56.0-cp313-cp313-win32.whl", hash = "sha256:d0cb73ccf7f6d7ca8d0bc7ea8ac0a5b84969a41c56ac3ac3422a24df2680546f", size = 2140927 }, - { url = "https://files.pythonhosted.org/packages/27/6d/3edda54f98a550a0473f032d8050315fbc8f1b76a0d9f3879b72ebb2cdd6/fonttools-4.56.0-cp313-cp313-win_amd64.whl", hash = "sha256:62cc1253827d1e500fde9dbe981219fea4eb000fd63402283472d38e7d8aa1c6", size = 2186709 }, - { url = "https://files.pythonhosted.org/packages/72/2d/762488c56a2bba2fa4d459233d971c2122bf1ed1ec5d9edfee7d58963ef5/fonttools-4.56.0-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:3fd3fccb7b9adaaecfa79ad51b759f2123e1aba97f857936ce044d4f029abd71", size = 2749891 }, - { url = "https://files.pythonhosted.org/packages/5a/64/4d4a46959e4bfd62210eee4c5c3259ec62c6eca437fa2e3e795ac0bde94f/fonttools-4.56.0-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:193b86e9f769320bc98ffdb42accafb5d0c8c49bd62884f1c0702bc598b3f0a2", size = 2279311 }, - { url = "https://files.pythonhosted.org/packages/5e/cd/0531711a900bb89cc757259c21fd67cc3cb4de260b3c4c1390dbfa463b01/fonttools-4.56.0-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:6e81c1cc80c1d8bf071356cc3e0e25071fbba1c75afc48d41b26048980b3c771", size = 4643308 }, - { url = "https://files.pythonhosted.org/packages/e0/c1/a3b9221b623eead07a4f2fd105b9183a2f70461deae14fac0f4c65872d04/fonttools-4.56.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:e9270505a19361e81eecdbc2c251ad1e1a9a9c2ad75fa022ccdee533f55535dc", size = 4687400 }, - { url = "https://files.pythonhosted.org/packages/67/14/67f5c0b695e4043b566e04b1f78e4f749cdd1bab6370f8056791e1c57314/fonttools-4.56.0-cp38-cp38-musllinux_1_2_aarch64.whl", hash = "sha256:53f5e9767978a4daf46f28e09dbeb7d010319924ae622f7b56174b777258e5ba", size = 4665170 }, - { url = "https://files.pythonhosted.org/packages/3c/fe/c8bfbe682def287eca26052e5232ca293ea0f9a6a3051dab2cb65e4ef401/fonttools-4.56.0-cp38-cp38-musllinux_1_2_x86_64.whl", hash = "sha256:9da650cb29bc098b8cfd15ef09009c914b35c7986c8fa9f08b51108b7bc393b4", size = 4844223 }, - { url = "https://files.pythonhosted.org/packages/9c/c1/2133e0a2558c94fefb3d655b3ca782f4310aa86ee8da0e12274cf6dc91c2/fonttools-4.56.0-cp38-cp38-win32.whl", hash = "sha256:965d0209e6dbdb9416100123b6709cb13f5232e2d52d17ed37f9df0cc31e2b35", size = 1480341 }, - { url = "https://files.pythonhosted.org/packages/e9/73/e0285a1cd25da20f1403a6dea54c116a6ccae6063f209a39793977dad03a/fonttools-4.56.0-cp38-cp38-win_amd64.whl", hash = "sha256:654ac4583e2d7c62aebc6fc6a4c6736f078f50300e18aa105d87ce8925cfac31", size = 1525378 }, - { url = "https://files.pythonhosted.org/packages/c2/a0/c62b7f219f74f0e9c4b7662c269b360f5c380cf7dfabaff06e114acc5576/fonttools-4.56.0-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:ca7962e8e5fc047cc4e59389959843aafbf7445b6c08c20d883e60ced46370a5", size = 2754871 }, - { url = "https://files.pythonhosted.org/packages/22/aa/2ce61705c48c4dc7953bec95f7cfa29e528294a06e7d38f2c674343425ca/fonttools-4.56.0-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:a1af375734018951c31c0737d04a9d5fd0a353a0253db5fbed2ccd44eac62d8c", size = 2281885 }, - { url = "https://files.pythonhosted.org/packages/81/68/508c1e84050b950918b1345ee22def98291b2e58890b0f3c2d0cfc4fee6b/fonttools-4.56.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:442ad4122468d0e47d83bc59d0e91b474593a8c813839e1872e47c7a0cb53b10", size = 4567663 }, - { url = "https://files.pythonhosted.org/packages/56/af/78b2c901949ca37c02ba4eec88020479e929b7d1126af30ee9d7e44b4c4c/fonttools-4.56.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:3cf4f8d2a30b454ac682e12c61831dcb174950c406011418e739de592bbf8f76", size = 4612654 }, - { url = "https://files.pythonhosted.org/packages/cb/fb/156bd9760b6d42be3d821f0ac3edccf8daf97b0e4fe539c569b6593f4b6a/fonttools-4.56.0-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:96a4271f63a615bcb902b9f56de00ea225d6896052c49f20d0c91e9f43529a29", size = 4561135 }, - { url = "https://files.pythonhosted.org/packages/c4/e9/c6c433b8ea306ba402aa1d53349237d78c1d21ec11bb69cc6d8442533d5b/fonttools-4.56.0-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:6c1d38642ca2dddc7ae992ef5d026e5061a84f10ff2b906be5680ab089f55bb8", size = 4731430 }, - { url = "https://files.pythonhosted.org/packages/00/41/4c199ca2c6d25edced1cdd6a3d32b2471c1e85dc7fbb2145e73805cf2a38/fonttools-4.56.0-cp39-cp39-win32.whl", hash = "sha256:2d351275f73ebdd81dd5b09a8b8dac7a30f29a279d41e1c1192aedf1b6dced40", size = 2156113 }, - { url = "https://files.pythonhosted.org/packages/00/8f/430abf16726cd627e176df92c452f239fcc488fac1e23c9ab57bb7ad6976/fonttools-4.56.0-cp39-cp39-win_amd64.whl", hash = "sha256:d6ca96d1b61a707ba01a43318c9c40aaf11a5a568d1e61146fafa6ab20890793", size = 2200538 }, - { url = "https://files.pythonhosted.org/packages/bf/ff/44934a031ce5a39125415eb405b9efb76fe7f9586b75291d66ae5cbfc4e6/fonttools-4.56.0-py3-none-any.whl", hash = "sha256:1088182f68c303b50ca4dc0c82d42083d176cba37af1937e1a976a31149d4d14", size = 1089800 }, +sdist = { url = "https://files.pythonhosted.org/packages/1c/8c/9ffa2a555af0e5e5d0e2ed7fdd8c9bef474ed676995bb4c57c9cd0014248/fonttools-4.56.0.tar.gz", hash = "sha256:a114d1567e1a1586b7e9e7fc2ff686ca542a82769a296cef131e4c4af51e58f4", size = 3462892, upload-time = "2025-02-07T13:46:29.026Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/1e/5e/6ac30c2cc6a29454260f13c9c6422fc509b7982c13cd4597041260d8f482/fonttools-4.56.0-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:331954d002dbf5e704c7f3756028e21db07097c19722569983ba4d74df014000", size = 2752190, upload-time = "2025-02-07T13:43:30.593Z" }, + { url = "https://files.pythonhosted.org/packages/92/3a/ac382a8396d1b420ee45eeb0f65b614a9ca7abbb23a1b17524054f0f2200/fonttools-4.56.0-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:8d1613abd5af2f93c05867b3a3759a56e8bf97eb79b1da76b2bc10892f96ff16", size = 2280624, upload-time = "2025-02-07T13:43:35.349Z" }, + { url = "https://files.pythonhosted.org/packages/8a/ae/00b58bfe20e9ff7fbc3dda38f5d127913942b5e252288ea9583099a31bf5/fonttools-4.56.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:705837eae384fe21cee5e5746fd4f4b2f06f87544fa60f60740007e0aa600311", size = 4562074, upload-time = "2025-02-07T13:43:38.799Z" }, + { url = "https://files.pythonhosted.org/packages/46/d0/0004ca8f6a200252e5bd6982ed99b5fe58c4c59efaf5f516621c4cd8f703/fonttools-4.56.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:bc871904a53a9d4d908673c6faa15689874af1c7c5ac403a8e12d967ebd0c0dc", size = 4604747, upload-time = "2025-02-07T13:43:41.831Z" }, + { url = "https://files.pythonhosted.org/packages/45/ea/c8862bd3e09d143ef8ed8268ec8a7d477828f960954889e65288ac050b08/fonttools-4.56.0-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:38b947de71748bab150259ee05a775e8a0635891568e9fdb3cdd7d0e0004e62f", size = 4559025, upload-time = "2025-02-07T13:43:45.525Z" }, + { url = "https://files.pythonhosted.org/packages/8f/75/bb88a9552ec1de31a414066257bfd9f40f4ada00074f7a3799ea39b5741f/fonttools-4.56.0-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:86b2a1013ef7a64d2e94606632683f07712045ed86d937c11ef4dde97319c086", size = 4728482, upload-time = "2025-02-07T13:43:49.296Z" }, + { url = "https://files.pythonhosted.org/packages/2a/5f/80a2b640df1e1bb7d459d62c8b3f37fe83fd413897e549106d4ebe6371f5/fonttools-4.56.0-cp310-cp310-win32.whl", hash = "sha256:133bedb9a5c6376ad43e6518b7e2cd2f866a05b1998f14842631d5feb36b5786", size = 2155557, upload-time = "2025-02-07T13:43:52.029Z" }, + { url = "https://files.pythonhosted.org/packages/8f/85/0904f9dbe51ac70d878d3242a8583b9453a09105c3ed19c6301247fd0d3a/fonttools-4.56.0-cp310-cp310-win_amd64.whl", hash = "sha256:17f39313b649037f6c800209984a11fc256a6137cbe5487091c6c7187cae4685", size = 2200017, upload-time = "2025-02-07T13:43:54.768Z" }, + { url = "https://files.pythonhosted.org/packages/35/56/a2f3e777d48fcae7ecd29de4d96352d84e5ea9871e5f3fc88241521572cf/fonttools-4.56.0-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:7ef04bc7827adb7532be3d14462390dd71287644516af3f1e67f1e6ff9c6d6df", size = 2753325, upload-time = "2025-02-07T13:43:57.855Z" }, + { url = "https://files.pythonhosted.org/packages/71/85/d483e9c4e5ed586b183bf037a353e8d766366b54fd15519b30e6178a6a6e/fonttools-4.56.0-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:ffda9b8cd9cb8b301cae2602ec62375b59e2e2108a117746f12215145e3f786c", size = 2281554, upload-time = "2025-02-07T13:44:01.671Z" }, + { url = "https://files.pythonhosted.org/packages/09/67/060473b832b2fade03c127019794df6dc02d9bc66fa4210b8e0d8a99d1e5/fonttools-4.56.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:e2e993e8db36306cc3f1734edc8ea67906c55f98683d6fd34c3fc5593fdbba4c", size = 4869260, upload-time = "2025-02-07T13:44:05.746Z" }, + { url = "https://files.pythonhosted.org/packages/28/e9/47c02d5a7027e8ed841ab6a10ca00c93dadd5f16742f1af1fa3f9978adf4/fonttools-4.56.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:003548eadd674175510773f73fb2060bb46adb77c94854af3e0cc5bc70260049", size = 4898508, upload-time = "2025-02-07T13:44:09.965Z" }, + { url = "https://files.pythonhosted.org/packages/bf/8a/221d456d1afb8ca043cfd078f59f187ee5d0a580f4b49351b9ce95121f57/fonttools-4.56.0-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:bd9825822e7bb243f285013e653f6741954d8147427aaa0324a862cdbf4cbf62", size = 4877700, upload-time = "2025-02-07T13:44:13.598Z" }, + { url = "https://files.pythonhosted.org/packages/a4/8c/e503863adf7a6aeff7b960e2f66fa44dd0c29a7a8b79765b2821950d7b05/fonttools-4.56.0-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:b23d30a2c0b992fb1c4f8ac9bfde44b5586d23457759b6cf9a787f1a35179ee0", size = 5045817, upload-time = "2025-02-07T13:44:17.532Z" }, + { url = "https://files.pythonhosted.org/packages/2b/50/79ba3b7e42f4eaa70b82b9e79155f0f6797858dc8a97862428b6852c6aee/fonttools-4.56.0-cp311-cp311-win32.whl", hash = "sha256:47b5e4680002ae1756d3ae3b6114e20aaee6cc5c69d1e5911f5ffffd3ee46c6b", size = 2154426, upload-time = "2025-02-07T13:44:21.063Z" }, + { url = "https://files.pythonhosted.org/packages/3b/90/4926e653041c4116ecd43e50e3c79f5daae6dcafc58ceb64bc4f71dd4924/fonttools-4.56.0-cp311-cp311-win_amd64.whl", hash = "sha256:14a3e3e6b211660db54ca1ef7006401e4a694e53ffd4553ab9bc87ead01d0f05", size = 2200937, upload-time = "2025-02-07T13:44:24.607Z" }, + { url = "https://files.pythonhosted.org/packages/39/32/71cfd6877999576a11824a7fe7bc0bb57c5c72b1f4536fa56a3e39552643/fonttools-4.56.0-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:d6f195c14c01bd057bc9b4f70756b510e009c83c5ea67b25ced3e2c38e6ee6e9", size = 2747757, upload-time = "2025-02-07T13:44:28.021Z" }, + { url = "https://files.pythonhosted.org/packages/15/52/d9f716b072c5061a0b915dd4c387f74bef44c68c069e2195c753905bd9b7/fonttools-4.56.0-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:fa760e5fe8b50cbc2d71884a1eff2ed2b95a005f02dda2fa431560db0ddd927f", size = 2279007, upload-time = "2025-02-07T13:44:31.325Z" }, + { url = "https://files.pythonhosted.org/packages/d1/97/f1b3a8afa9a0d814a092a25cd42f59ccb98a0bb7a295e6e02fc9ba744214/fonttools-4.56.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d54a45d30251f1d729e69e5b675f9a08b7da413391a1227781e2a297fa37f6d2", size = 4783991, upload-time = "2025-02-07T13:44:34.888Z" }, + { url = "https://files.pythonhosted.org/packages/95/70/2a781bedc1c45a0c61d29c56425609b22ed7f971da5d7e5df2679488741b/fonttools-4.56.0-cp312-cp312-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:661a8995d11e6e4914a44ca7d52d1286e2d9b154f685a4d1f69add8418961563", size = 4855109, upload-time = "2025-02-07T13:44:40.702Z" }, + { url = "https://files.pythonhosted.org/packages/0c/02/a2597858e61a5e3fb6a14d5f6be9e6eb4eaf090da56ad70cedcbdd201685/fonttools-4.56.0-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:9d94449ad0a5f2a8bf5d2f8d71d65088aee48adbe45f3c5f8e00e3ad861ed81a", size = 4762496, upload-time = "2025-02-07T13:44:45.929Z" }, + { url = "https://files.pythonhosted.org/packages/f2/00/aaf00100d6078fdc73f7352b44589804af9dc12b182a2540b16002152ba4/fonttools-4.56.0-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:f59746f7953f69cc3290ce2f971ab01056e55ddd0fb8b792c31a8acd7fee2d28", size = 4990094, upload-time = "2025-02-07T13:44:49.004Z" }, + { url = "https://files.pythonhosted.org/packages/bf/dc/3ff1db522460db60cf3adaf1b64e0c72b43406717d139786d3fa1eb20709/fonttools-4.56.0-cp312-cp312-win32.whl", hash = "sha256:bce60f9a977c9d3d51de475af3f3581d9b36952e1f8fc19a1f2254f1dda7ce9c", size = 2142888, upload-time = "2025-02-07T13:44:54.127Z" }, + { url = "https://files.pythonhosted.org/packages/6f/e3/5a181a85777f7809076e51f7422e0dc77eb04676c40ec8bf6a49d390d1ff/fonttools-4.56.0-cp312-cp312-win_amd64.whl", hash = "sha256:300c310bb725b2bdb4f5fc7e148e190bd69f01925c7ab437b9c0ca3e1c7cd9ba", size = 2189734, upload-time = "2025-02-07T13:44:57.393Z" }, + { url = "https://files.pythonhosted.org/packages/a5/55/f06b48d48e0b4ec3a3489efafe9bd4d81b6e0802ac51026e3ee4634e89ba/fonttools-4.56.0-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:f20e2c0dfab82983a90f3d00703ac0960412036153e5023eed2b4641d7d5e692", size = 2735127, upload-time = "2025-02-07T13:44:59.966Z" }, + { url = "https://files.pythonhosted.org/packages/59/db/d2c7c9b6dd5cbd46f183e650a47403ffb88fca17484eb7c4b1cd88f9e513/fonttools-4.56.0-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:f36a0868f47b7566237640c026c65a86d09a3d9ca5df1cd039e30a1da73098a0", size = 2272519, upload-time = "2025-02-07T13:45:03.891Z" }, + { url = "https://files.pythonhosted.org/packages/4d/a2/da62d779c34a0e0c06415f02eab7fa3466de5d46df459c0275a255cefc65/fonttools-4.56.0-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:62b4c6802fa28e14dba010e75190e0e6228513573f1eeae57b11aa1a39b7e5b1", size = 4762423, upload-time = "2025-02-07T13:45:07.034Z" }, + { url = "https://files.pythonhosted.org/packages/be/6a/fd4018e0448c8a5e12138906411282c5eab51a598493f080a9f0960e658f/fonttools-4.56.0-cp313-cp313-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:a05d1f07eb0a7d755fbe01fee1fd255c3a4d3730130cf1bfefb682d18fd2fcea", size = 4834442, upload-time = "2025-02-07T13:45:10.6Z" }, + { url = "https://files.pythonhosted.org/packages/6d/63/fa1dec8efb35bc11ef9c39b2d74754b45d48a3ccb2cf78c0109c0af639e8/fonttools-4.56.0-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:0073b62c3438cf0058488c002ea90489e8801d3a7af5ce5f7c05c105bee815c3", size = 4742800, upload-time = "2025-02-07T13:45:14.096Z" }, + { url = "https://files.pythonhosted.org/packages/dd/f4/963247ae8c73ccc4cf2929e7162f595c81dbe17997d1d0ea77da24a217c9/fonttools-4.56.0-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:e2cad98c94833465bcf28f51c248aaf07ca022efc6a3eba750ad9c1e0256d278", size = 4963746, upload-time = "2025-02-07T13:45:17.479Z" }, + { url = "https://files.pythonhosted.org/packages/ea/e0/46f9600c39c644b54e4420f941f75fa200d9288c9ae171e5d80918b8cbb9/fonttools-4.56.0-cp313-cp313-win32.whl", hash = "sha256:d0cb73ccf7f6d7ca8d0bc7ea8ac0a5b84969a41c56ac3ac3422a24df2680546f", size = 2140927, upload-time = "2025-02-07T13:45:21.084Z" }, + { url = "https://files.pythonhosted.org/packages/27/6d/3edda54f98a550a0473f032d8050315fbc8f1b76a0d9f3879b72ebb2cdd6/fonttools-4.56.0-cp313-cp313-win_amd64.whl", hash = "sha256:62cc1253827d1e500fde9dbe981219fea4eb000fd63402283472d38e7d8aa1c6", size = 2186709, upload-time = "2025-02-07T13:45:23.719Z" }, + { url = "https://files.pythonhosted.org/packages/72/2d/762488c56a2bba2fa4d459233d971c2122bf1ed1ec5d9edfee7d58963ef5/fonttools-4.56.0-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:3fd3fccb7b9adaaecfa79ad51b759f2123e1aba97f857936ce044d4f029abd71", size = 2749891, upload-time = "2025-02-07T13:45:27.134Z" }, + { url = "https://files.pythonhosted.org/packages/5a/64/4d4a46959e4bfd62210eee4c5c3259ec62c6eca437fa2e3e795ac0bde94f/fonttools-4.56.0-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:193b86e9f769320bc98ffdb42accafb5d0c8c49bd62884f1c0702bc598b3f0a2", size = 2279311, upload-time = "2025-02-07T13:45:32.626Z" }, + { url = "https://files.pythonhosted.org/packages/5e/cd/0531711a900bb89cc757259c21fd67cc3cb4de260b3c4c1390dbfa463b01/fonttools-4.56.0-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:6e81c1cc80c1d8bf071356cc3e0e25071fbba1c75afc48d41b26048980b3c771", size = 4643308, upload-time = "2025-02-07T13:45:36.617Z" }, + { url = "https://files.pythonhosted.org/packages/e0/c1/a3b9221b623eead07a4f2fd105b9183a2f70461deae14fac0f4c65872d04/fonttools-4.56.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:e9270505a19361e81eecdbc2c251ad1e1a9a9c2ad75fa022ccdee533f55535dc", size = 4687400, upload-time = "2025-02-07T13:45:40.447Z" }, + { url = "https://files.pythonhosted.org/packages/67/14/67f5c0b695e4043b566e04b1f78e4f749cdd1bab6370f8056791e1c57314/fonttools-4.56.0-cp38-cp38-musllinux_1_2_aarch64.whl", hash = "sha256:53f5e9767978a4daf46f28e09dbeb7d010319924ae622f7b56174b777258e5ba", size = 4665170, upload-time = "2025-02-07T13:45:45.972Z" }, + { url = "https://files.pythonhosted.org/packages/3c/fe/c8bfbe682def287eca26052e5232ca293ea0f9a6a3051dab2cb65e4ef401/fonttools-4.56.0-cp38-cp38-musllinux_1_2_x86_64.whl", hash = "sha256:9da650cb29bc098b8cfd15ef09009c914b35c7986c8fa9f08b51108b7bc393b4", size = 4844223, upload-time = "2025-02-07T13:45:49.085Z" }, + { url = "https://files.pythonhosted.org/packages/9c/c1/2133e0a2558c94fefb3d655b3ca782f4310aa86ee8da0e12274cf6dc91c2/fonttools-4.56.0-cp38-cp38-win32.whl", hash = "sha256:965d0209e6dbdb9416100123b6709cb13f5232e2d52d17ed37f9df0cc31e2b35", size = 1480341, upload-time = "2025-02-07T13:45:54.508Z" }, + { url = "https://files.pythonhosted.org/packages/e9/73/e0285a1cd25da20f1403a6dea54c116a6ccae6063f209a39793977dad03a/fonttools-4.56.0-cp38-cp38-win_amd64.whl", hash = "sha256:654ac4583e2d7c62aebc6fc6a4c6736f078f50300e18aa105d87ce8925cfac31", size = 1525378, upload-time = "2025-02-07T13:45:57.931Z" }, + { url = "https://files.pythonhosted.org/packages/c2/a0/c62b7f219f74f0e9c4b7662c269b360f5c380cf7dfabaff06e114acc5576/fonttools-4.56.0-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:ca7962e8e5fc047cc4e59389959843aafbf7445b6c08c20d883e60ced46370a5", size = 2754871, upload-time = "2025-02-07T13:46:00.56Z" }, + { url = "https://files.pythonhosted.org/packages/22/aa/2ce61705c48c4dc7953bec95f7cfa29e528294a06e7d38f2c674343425ca/fonttools-4.56.0-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:a1af375734018951c31c0737d04a9d5fd0a353a0253db5fbed2ccd44eac62d8c", size = 2281885, upload-time = "2025-02-07T13:46:03.4Z" }, + { url = "https://files.pythonhosted.org/packages/81/68/508c1e84050b950918b1345ee22def98291b2e58890b0f3c2d0cfc4fee6b/fonttools-4.56.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:442ad4122468d0e47d83bc59d0e91b474593a8c813839e1872e47c7a0cb53b10", size = 4567663, upload-time = "2025-02-07T13:46:07.03Z" }, + { url = "https://files.pythonhosted.org/packages/56/af/78b2c901949ca37c02ba4eec88020479e929b7d1126af30ee9d7e44b4c4c/fonttools-4.56.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:3cf4f8d2a30b454ac682e12c61831dcb174950c406011418e739de592bbf8f76", size = 4612654, upload-time = "2025-02-07T13:46:10.485Z" }, + { url = "https://files.pythonhosted.org/packages/cb/fb/156bd9760b6d42be3d821f0ac3edccf8daf97b0e4fe539c569b6593f4b6a/fonttools-4.56.0-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:96a4271f63a615bcb902b9f56de00ea225d6896052c49f20d0c91e9f43529a29", size = 4561135, upload-time = "2025-02-07T13:46:13.897Z" }, + { url = "https://files.pythonhosted.org/packages/c4/e9/c6c433b8ea306ba402aa1d53349237d78c1d21ec11bb69cc6d8442533d5b/fonttools-4.56.0-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:6c1d38642ca2dddc7ae992ef5d026e5061a84f10ff2b906be5680ab089f55bb8", size = 4731430, upload-time = "2025-02-07T13:46:17.496Z" }, + { url = "https://files.pythonhosted.org/packages/00/41/4c199ca2c6d25edced1cdd6a3d32b2471c1e85dc7fbb2145e73805cf2a38/fonttools-4.56.0-cp39-cp39-win32.whl", hash = "sha256:2d351275f73ebdd81dd5b09a8b8dac7a30f29a279d41e1c1192aedf1b6dced40", size = 2156113, upload-time = "2025-02-07T13:46:21.115Z" }, + { url = "https://files.pythonhosted.org/packages/00/8f/430abf16726cd627e176df92c452f239fcc488fac1e23c9ab57bb7ad6976/fonttools-4.56.0-cp39-cp39-win_amd64.whl", hash = "sha256:d6ca96d1b61a707ba01a43318c9c40aaf11a5a568d1e61146fafa6ab20890793", size = 2200538, upload-time = "2025-02-07T13:46:23.764Z" }, + { url = "https://files.pythonhosted.org/packages/bf/ff/44934a031ce5a39125415eb405b9efb76fe7f9586b75291d66ae5cbfc4e6/fonttools-4.56.0-py3-none-any.whl", hash = "sha256:1088182f68c303b50ca4dc0c82d42083d176cba37af1937e1a976a31149d4d14", size = 1089800, upload-time = "2025-02-07T13:46:26.415Z" }, ] [[package]] name = "fqdn" version = "1.5.1" source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/30/3e/a80a8c077fd798951169626cde3e239adeba7dab75deb3555716415bd9b0/fqdn-1.5.1.tar.gz", hash = "sha256:105ed3677e767fb5ca086a0c1f4bb66ebc3c100be518f0e0d755d9eae164d89f", size = 6015 } +sdist = { url = "https://files.pythonhosted.org/packages/30/3e/a80a8c077fd798951169626cde3e239adeba7dab75deb3555716415bd9b0/fqdn-1.5.1.tar.gz", hash = "sha256:105ed3677e767fb5ca086a0c1f4bb66ebc3c100be518f0e0d755d9eae164d89f", size = 6015, upload-time = "2021-03-11T07:16:29.08Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/cf/58/8acf1b3e91c58313ce5cb67df61001fc9dcd21be4fadb76c1a2d540e09ed/fqdn-1.5.1-py3-none-any.whl", hash = "sha256:3a179af3761e4df6eb2e026ff9e1a3033d3587bf980a0b1b2e1e5d08d7358014", size = 9121 }, + { url = "https://files.pythonhosted.org/packages/cf/58/8acf1b3e91c58313ce5cb67df61001fc9dcd21be4fadb76c1a2d540e09ed/fqdn-1.5.1-py3-none-any.whl", hash = "sha256:3a179af3761e4df6eb2e026ff9e1a3033d3587bf980a0b1b2e1e5d08d7358014", size = 9121, upload-time = "2021-03-11T07:16:28.351Z" }, ] [[package]] @@ -1046,9 +1046,9 @@ source = { registry = "https://pypi.org/simple" } dependencies = [ { name = "python-dateutil" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/d9/29/d40217cbe2f6b1359e00c6c307bb3fc876ba74068cbab3dde77f03ca0dc4/ghp-import-2.1.0.tar.gz", hash = "sha256:9c535c4c61193c2df8871222567d7fd7e5014d835f97dc7b7439069e2413d343", size = 10943 } +sdist = { url = "https://files.pythonhosted.org/packages/d9/29/d40217cbe2f6b1359e00c6c307bb3fc876ba74068cbab3dde77f03ca0dc4/ghp-import-2.1.0.tar.gz", hash = "sha256:9c535c4c61193c2df8871222567d7fd7e5014d835f97dc7b7439069e2413d343", size = 10943, upload-time = "2022-05-02T15:47:16.11Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/f7/ec/67fbef5d497f86283db54c22eec6f6140243aae73265799baaaa19cd17fb/ghp_import-2.1.0-py3-none-any.whl", hash = "sha256:8337dd7b50877f163d4c0289bc1f1c7f127550241988d568c1db512c4324a619", size = 11034 }, + { url = "https://files.pythonhosted.org/packages/f7/ec/67fbef5d497f86283db54c22eec6f6140243aae73265799baaaa19cd17fb/ghp_import-2.1.0-py3-none-any.whl", hash = "sha256:8337dd7b50877f163d4c0289bc1f1c7f127550241988d568c1db512c4324a619", size = 11034, upload-time = "2022-05-02T15:47:14.552Z" }, ] [[package]] @@ -1058,9 +1058,9 @@ source = { registry = "https://pypi.org/simple" } dependencies = [ { name = "smmap" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/72/94/63b0fc47eb32792c7ba1fe1b694daec9a63620db1e313033d18140c2320a/gitdb-4.0.12.tar.gz", hash = "sha256:5ef71f855d191a3326fcfbc0d5da835f26b13fbcba60c32c21091c349ffdb571", size = 394684 } +sdist = { url = "https://files.pythonhosted.org/packages/72/94/63b0fc47eb32792c7ba1fe1b694daec9a63620db1e313033d18140c2320a/gitdb-4.0.12.tar.gz", hash = "sha256:5ef71f855d191a3326fcfbc0d5da835f26b13fbcba60c32c21091c349ffdb571", size = 394684, upload-time = "2025-01-02T07:20:46.413Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/a0/61/5c78b91c3143ed5c14207f463aecfc8f9dbb5092fb2869baf37c273b2705/gitdb-4.0.12-py3-none-any.whl", hash = "sha256:67073e15955400952c6565cc3e707c554a4eea2e428946f7a4c162fab9bd9bcf", size = 62794 }, + { url = "https://files.pythonhosted.org/packages/a0/61/5c78b91c3143ed5c14207f463aecfc8f9dbb5092fb2869baf37c273b2705/gitdb-4.0.12-py3-none-any.whl", hash = "sha256:67073e15955400952c6565cc3e707c554a4eea2e428946f7a4c162fab9bd9bcf", size = 62794, upload-time = "2025-01-02T07:20:43.624Z" }, ] [[package]] @@ -1070,9 +1070,9 @@ source = { registry = "https://pypi.org/simple" } dependencies = [ { name = "gitdb" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/c0/89/37df0b71473153574a5cdef8f242de422a0f5d26d7a9e231e6f169b4ad14/gitpython-3.1.44.tar.gz", hash = "sha256:c87e30b26253bf5418b01b0660f818967f3c503193838337fe5e573331249269", size = 214196 } +sdist = { url = "https://files.pythonhosted.org/packages/c0/89/37df0b71473153574a5cdef8f242de422a0f5d26d7a9e231e6f169b4ad14/gitpython-3.1.44.tar.gz", hash = "sha256:c87e30b26253bf5418b01b0660f818967f3c503193838337fe5e573331249269", size = 214196, upload-time = "2025-01-02T07:32:43.59Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/1d/9a/4114a9057db2f1462d5c8f8390ab7383925fe1ac012eaa42402ad65c2963/GitPython-3.1.44-py3-none-any.whl", hash = "sha256:9e0e10cda9bed1ee64bc9a6de50e7e38a9c9943241cd7f585f6df3ed28011110", size = 207599 }, + { url = "https://files.pythonhosted.org/packages/1d/9a/4114a9057db2f1462d5c8f8390ab7383925fe1ac012eaa42402ad65c2963/GitPython-3.1.44-py3-none-any.whl", hash = "sha256:9e0e10cda9bed1ee64bc9a6de50e7e38a9c9943241cd7f585f6df3ed28011110", size = 207599, upload-time = "2025-01-02T07:32:40.731Z" }, ] [[package]] @@ -1088,9 +1088,9 @@ dependencies = [ { name = "astunparse", marker = "python_full_version < '3.9'" }, { name = "colorama", marker = "python_full_version < '3.9'" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/05/e9/b2c86ad9d69053e497a24ceb25d661094fb321ab4ed39a8b71793dcbae82/griffe-1.4.0.tar.gz", hash = "sha256:8fccc585896d13f1221035d32c50dec65830c87d23f9adb9b1e6f3d63574f7f5", size = 381028 } +sdist = { url = "https://files.pythonhosted.org/packages/05/e9/b2c86ad9d69053e497a24ceb25d661094fb321ab4ed39a8b71793dcbae82/griffe-1.4.0.tar.gz", hash = "sha256:8fccc585896d13f1221035d32c50dec65830c87d23f9adb9b1e6f3d63574f7f5", size = 381028, upload-time = "2024-10-11T12:53:54.414Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/22/7c/e9e66869c2e4c9b378474e49c993128ec0131ef4721038b6d06e50538caf/griffe-1.4.0-py3-none-any.whl", hash = "sha256:e589de8b8c137e99a46ec45f9598fc0ac5b6868ce824b24db09c02d117b89bc5", size = 127015 }, + { url = "https://files.pythonhosted.org/packages/22/7c/e9e66869c2e4c9b378474e49c993128ec0131ef4721038b6d06e50538caf/griffe-1.4.0-py3-none-any.whl", hash = "sha256:e589de8b8c137e99a46ec45f9598fc0ac5b6868ce824b24db09c02d117b89bc5", size = 127015, upload-time = "2024-10-11T12:53:52.383Z" }, ] [[package]] @@ -1114,18 +1114,18 @@ resolution-markers = [ dependencies = [ { name = "colorama", marker = "python_full_version >= '3.9'" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/88/f0/a001e06c321dfa220103418259afbac50b933eac7a86657a4b572f0517e8/griffe-1.5.6.tar.gz", hash = "sha256:181f6666d5aceb6cd6e2da5a2b646cfb431e47a0da1fda283845734b67e10944", size = 391173 } +sdist = { url = "https://files.pythonhosted.org/packages/88/f0/a001e06c321dfa220103418259afbac50b933eac7a86657a4b572f0517e8/griffe-1.5.6.tar.gz", hash = "sha256:181f6666d5aceb6cd6e2da5a2b646cfb431e47a0da1fda283845734b67e10944", size = 391173, upload-time = "2025-01-30T14:58:04.918Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/b6/87/505777c4e5ca9c4fa5ae53fa4b0d5c2ba13a6d55a503a5594e94a2ba9b5a/griffe-1.5.6-py3-none-any.whl", hash = "sha256:b2a3afe497c6c1f952e54a23095ecc09435016293e77af8478ed65df1022a394", size = 128176 }, + { url = "https://files.pythonhosted.org/packages/b6/87/505777c4e5ca9c4fa5ae53fa4b0d5c2ba13a6d55a503a5594e94a2ba9b5a/griffe-1.5.6-py3-none-any.whl", hash = "sha256:b2a3afe497c6c1f952e54a23095ecc09435016293e77af8478ed65df1022a394", size = 128176, upload-time = "2025-01-30T14:58:02.912Z" }, ] [[package]] name = "h11" version = "0.14.0" source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/f5/38/3af3d3633a34a3316095b39c8e8fb4853a28a536e55d347bd8d8e9a14b03/h11-0.14.0.tar.gz", hash = "sha256:8f19fbbe99e72420ff35c00b27a34cb9937e902a8b810e2c88300c6f0a3b699d", size = 100418 } +sdist = { url = "https://files.pythonhosted.org/packages/f5/38/3af3d3633a34a3316095b39c8e8fb4853a28a536e55d347bd8d8e9a14b03/h11-0.14.0.tar.gz", hash = "sha256:8f19fbbe99e72420ff35c00b27a34cb9937e902a8b810e2c88300c6f0a3b699d", size = 100418, upload-time = "2022-09-25T15:40:01.519Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/95/04/ff642e65ad6b90db43e668d70ffb6736436c7ce41fcc549f4e9472234127/h11-0.14.0-py3-none-any.whl", hash = "sha256:e3fe4ac4b851c468cc8363d500db52c2ead036020723024a109d37346efaa761", size = 58259 }, + { url = "https://files.pythonhosted.org/packages/95/04/ff642e65ad6b90db43e668d70ffb6736436c7ce41fcc549f4e9472234127/h11-0.14.0-py3-none-any.whl", hash = "sha256:e3fe4ac4b851c468cc8363d500db52c2ead036020723024a109d37346efaa761", size = 58259, upload-time = "2022-09-25T15:39:59.68Z" }, ] [[package]] @@ -1136,9 +1136,9 @@ dependencies = [ { name = "certifi" }, { name = "h11" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/6a/41/d7d0a89eb493922c37d343b607bc1b5da7f5be7e383740b4753ad8943e90/httpcore-1.0.7.tar.gz", hash = "sha256:8551cb62a169ec7162ac7be8d4817d561f60e08eaa485234898414bb5a8a0b4c", size = 85196 } +sdist = { url = "https://files.pythonhosted.org/packages/6a/41/d7d0a89eb493922c37d343b607bc1b5da7f5be7e383740b4753ad8943e90/httpcore-1.0.7.tar.gz", hash = "sha256:8551cb62a169ec7162ac7be8d4817d561f60e08eaa485234898414bb5a8a0b4c", size = 85196, upload-time = "2024-11-15T12:30:47.531Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/87/f5/72347bc88306acb359581ac4d52f23c0ef445b57157adedb9aee0cd689d2/httpcore-1.0.7-py3-none-any.whl", hash = "sha256:a3fff8f43dc260d5bd363d9f9cf1830fa3a458b332856f34282de498ed420edd", size = 78551 }, + { url = "https://files.pythonhosted.org/packages/87/f5/72347bc88306acb359581ac4d52f23c0ef445b57157adedb9aee0cd689d2/httpcore-1.0.7-py3-none-any.whl", hash = "sha256:a3fff8f43dc260d5bd363d9f9cf1830fa3a458b332856f34282de498ed420edd", size = 78551, upload-time = "2024-11-15T12:30:45.782Z" }, ] [[package]] @@ -1152,9 +1152,9 @@ dependencies = [ { name = "httpcore" }, { name = "idna" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/b1/df/48c586a5fe32a0f01324ee087459e112ebb7224f646c0b5023f5e79e9956/httpx-0.28.1.tar.gz", hash = "sha256:75e98c5f16b0f35b567856f597f06ff2270a374470a5c2392242528e3e3e42fc", size = 141406 } +sdist = { url = "https://files.pythonhosted.org/packages/b1/df/48c586a5fe32a0f01324ee087459e112ebb7224f646c0b5023f5e79e9956/httpx-0.28.1.tar.gz", hash = "sha256:75e98c5f16b0f35b567856f597f06ff2270a374470a5c2392242528e3e3e42fc", size = 141406, upload-time = "2024-12-06T15:37:23.222Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/2a/39/e50c7c3a983047577ee07d2a9e53faf5a69493943ec3f6a384bdc792deb2/httpx-0.28.1-py3-none-any.whl", hash = "sha256:d909fcccc110f8c7faf814ca82a9a4d816bc5a6dbfea25d6591d6985b8ba59ad", size = 73517 }, + { url = "https://files.pythonhosted.org/packages/2a/39/e50c7c3a983047577ee07d2a9e53faf5a69493943ec3f6a384bdc792deb2/httpx-0.28.1-py3-none-any.whl", hash = "sha256:d909fcccc110f8c7faf814ca82a9a4d816bc5a6dbfea25d6591d6985b8ba59ad", size = 73517, upload-time = "2024-12-06T15:37:21.509Z" }, ] [[package]] @@ -1164,18 +1164,18 @@ source = { registry = "https://pypi.org/simple" } dependencies = [ { name = "requests" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/22/11/102da08f88412d875fa2f1a9a469ff7ad4c874b0ca6fed0048fe385bdb3d/id-1.5.0.tar.gz", hash = "sha256:292cb8a49eacbbdbce97244f47a97b4c62540169c976552e497fd57df0734c1d", size = 15237 } +sdist = { url = "https://files.pythonhosted.org/packages/22/11/102da08f88412d875fa2f1a9a469ff7ad4c874b0ca6fed0048fe385bdb3d/id-1.5.0.tar.gz", hash = "sha256:292cb8a49eacbbdbce97244f47a97b4c62540169c976552e497fd57df0734c1d", size = 15237, upload-time = "2024-12-04T19:53:05.575Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/9f/cb/18326d2d89ad3b0dd143da971e77afd1e6ca6674f1b1c3df4b6bec6279fc/id-1.5.0-py3-none-any.whl", hash = "sha256:f1434e1cef91f2cbb8a4ec64663d5a23b9ed43ef44c4c957d02583d61714c658", size = 13611 }, + { url = "https://files.pythonhosted.org/packages/9f/cb/18326d2d89ad3b0dd143da971e77afd1e6ca6674f1b1c3df4b6bec6279fc/id-1.5.0-py3-none-any.whl", hash = "sha256:f1434e1cef91f2cbb8a4ec64663d5a23b9ed43ef44c4c957d02583d61714c658", size = 13611, upload-time = "2024-12-04T19:53:03.02Z" }, ] [[package]] name = "idna" version = "3.10" source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/f1/70/7703c29685631f5a7590aa73f1f1d3fa9a380e654b86af429e0934a32f7d/idna-3.10.tar.gz", hash = "sha256:12f65c9b470abda6dc35cf8e63cc574b1c52b11df2c86030af0ac09b01b13ea9", size = 190490 } +sdist = { url = "https://files.pythonhosted.org/packages/f1/70/7703c29685631f5a7590aa73f1f1d3fa9a380e654b86af429e0934a32f7d/idna-3.10.tar.gz", hash = "sha256:12f65c9b470abda6dc35cf8e63cc574b1c52b11df2c86030af0ac09b01b13ea9", size = 190490, upload-time = "2024-09-15T18:07:39.745Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/76/c6/c88e154df9c4e1a2a66ccf0005a88dfb2650c1dffb6f5ce603dfbd452ce3/idna-3.10-py3-none-any.whl", hash = "sha256:946d195a0d259cbba61165e88e65941f16e9b36ea6ddb97f00452bae8b1287d3", size = 70442 }, + { url = "https://files.pythonhosted.org/packages/76/c6/c88e154df9c4e1a2a66ccf0005a88dfb2650c1dffb6f5ce603dfbd452ce3/idna-3.10-py3-none-any.whl", hash = "sha256:946d195a0d259cbba61165e88e65941f16e9b36ea6ddb97f00452bae8b1287d3", size = 70442, upload-time = "2024-09-15T18:07:37.964Z" }, ] [[package]] @@ -1190,9 +1190,9 @@ resolution-markers = [ dependencies = [ { name = "zipp", version = "3.20.2", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.9'" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/cd/12/33e59336dca5be0c398a7482335911a33aa0e20776128f038019f1a95f1b/importlib_metadata-8.5.0.tar.gz", hash = "sha256:71522656f0abace1d072b9e5481a48f07c138e00f079c38c8f883823f9c26bd7", size = 55304 } +sdist = { url = "https://files.pythonhosted.org/packages/cd/12/33e59336dca5be0c398a7482335911a33aa0e20776128f038019f1a95f1b/importlib_metadata-8.5.0.tar.gz", hash = "sha256:71522656f0abace1d072b9e5481a48f07c138e00f079c38c8f883823f9c26bd7", size = 55304, upload-time = "2024-09-11T14:56:08.937Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/a0/d9/a1e041c5e7caa9a05c925f4bdbdfb7f006d1f74996af53467bc394c97be7/importlib_metadata-8.5.0-py3-none-any.whl", hash = "sha256:45e54197d28b7a7f1559e60b95e7c567032b602131fbd588f1497f47880aa68b", size = 26514 }, + { url = "https://files.pythonhosted.org/packages/a0/d9/a1e041c5e7caa9a05c925f4bdbdfb7f006d1f74996af53467bc394c97be7/importlib_metadata-8.5.0-py3-none-any.whl", hash = "sha256:45e54197d28b7a7f1559e60b95e7c567032b602131fbd588f1497f47880aa68b", size = 26514, upload-time = "2024-09-11T14:56:07.019Z" }, ] [[package]] @@ -1216,9 +1216,9 @@ resolution-markers = [ dependencies = [ { name = "zipp", version = "3.21.0", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.9'" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/33/08/c1395a292bb23fd03bdf572a1357c5a733d3eecbab877641ceacab23db6e/importlib_metadata-8.6.1.tar.gz", hash = "sha256:310b41d755445d74569f993ccfc22838295d9fe005425094fad953d7f15c8580", size = 55767 } +sdist = { url = "https://files.pythonhosted.org/packages/33/08/c1395a292bb23fd03bdf572a1357c5a733d3eecbab877641ceacab23db6e/importlib_metadata-8.6.1.tar.gz", hash = "sha256:310b41d755445d74569f993ccfc22838295d9fe005425094fad953d7f15c8580", size = 55767, upload-time = "2025-01-20T22:21:30.429Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/79/9d/0fb148dc4d6fa4a7dd1d8378168d9b4cd8d4560a6fbf6f0121c5fc34eb68/importlib_metadata-8.6.1-py3-none-any.whl", hash = "sha256:02a89390c1e15fdfdc0d7c6b25cb3e62650d0494005c97d6f148bf5b9787525e", size = 26971 }, + { url = "https://files.pythonhosted.org/packages/79/9d/0fb148dc4d6fa4a7dd1d8378168d9b4cd8d4560a6fbf6f0121c5fc34eb68/importlib_metadata-8.6.1-py3-none-any.whl", hash = "sha256:02a89390c1e15fdfdc0d7c6b25cb3e62650d0494005c97d6f148bf5b9787525e", size = 26971, upload-time = "2025-01-20T22:21:29.177Z" }, ] [[package]] @@ -1233,9 +1233,9 @@ resolution-markers = [ dependencies = [ { name = "zipp", version = "3.20.2", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.9'" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/98/be/f3e8c6081b684f176b761e6a2fef02a0be939740ed6f54109a2951d806f3/importlib_resources-6.4.5.tar.gz", hash = "sha256:980862a1d16c9e147a59603677fa2aa5fd82b87f223b6cb870695bcfce830065", size = 43372 } +sdist = { url = "https://files.pythonhosted.org/packages/98/be/f3e8c6081b684f176b761e6a2fef02a0be939740ed6f54109a2951d806f3/importlib_resources-6.4.5.tar.gz", hash = "sha256:980862a1d16c9e147a59603677fa2aa5fd82b87f223b6cb870695bcfce830065", size = 43372, upload-time = "2024-09-09T17:03:14.677Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/e1/6a/4604f9ae2fa62ef47b9de2fa5ad599589d28c9fd1d335f32759813dfa91e/importlib_resources-6.4.5-py3-none-any.whl", hash = "sha256:ac29d5f956f01d5e4bb63102a5a19957f1b9175e45649977264a1416783bb717", size = 36115 }, + { url = "https://files.pythonhosted.org/packages/e1/6a/4604f9ae2fa62ef47b9de2fa5ad599589d28c9fd1d335f32759813dfa91e/importlib_resources-6.4.5-py3-none-any.whl", hash = "sha256:ac29d5f956f01d5e4bb63102a5a19957f1b9175e45649977264a1416783bb717", size = 36115, upload-time = "2024-09-09T17:03:13.39Z" }, ] [[package]] @@ -1259,18 +1259,18 @@ resolution-markers = [ dependencies = [ { name = "zipp", version = "3.21.0", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version == '3.9.*'" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/cf/8c/f834fbf984f691b4f7ff60f50b514cc3de5cc08abfc3295564dd89c5e2e7/importlib_resources-6.5.2.tar.gz", hash = "sha256:185f87adef5bcc288449d98fb4fba07cea78bc036455dd44c5fc4a2fe78fed2c", size = 44693 } +sdist = { url = "https://files.pythonhosted.org/packages/cf/8c/f834fbf984f691b4f7ff60f50b514cc3de5cc08abfc3295564dd89c5e2e7/importlib_resources-6.5.2.tar.gz", hash = "sha256:185f87adef5bcc288449d98fb4fba07cea78bc036455dd44c5fc4a2fe78fed2c", size = 44693, upload-time = "2025-01-03T18:51:56.698Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/a4/ed/1f1afb2e9e7f38a545d628f864d562a5ae64fe6f7a10e28ffb9b185b4e89/importlib_resources-6.5.2-py3-none-any.whl", hash = "sha256:789cfdc3ed28c78b67a06acb8126751ced69a3d5f79c095a98298cd8a760ccec", size = 37461 }, + { url = "https://files.pythonhosted.org/packages/a4/ed/1f1afb2e9e7f38a545d628f864d562a5ae64fe6f7a10e28ffb9b185b4e89/importlib_resources-6.5.2-py3-none-any.whl", hash = "sha256:789cfdc3ed28c78b67a06acb8126751ced69a3d5f79c095a98298cd8a760ccec", size = 37461, upload-time = "2025-01-03T18:51:54.306Z" }, ] [[package]] name = "iniconfig" version = "2.0.0" source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/d7/4b/cbd8e699e64a6f16ca3a8220661b5f83792b3017d0f79807cb8708d33913/iniconfig-2.0.0.tar.gz", hash = "sha256:2d91e135bf72d31a410b17c16da610a82cb55f6b0477d1a902134b24a455b8b3", size = 4646 } +sdist = { url = "https://files.pythonhosted.org/packages/d7/4b/cbd8e699e64a6f16ca3a8220661b5f83792b3017d0f79807cb8708d33913/iniconfig-2.0.0.tar.gz", hash = "sha256:2d91e135bf72d31a410b17c16da610a82cb55f6b0477d1a902134b24a455b8b3", size = 4646, upload-time = "2023-01-07T11:08:11.254Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/ef/a6/62565a6e1cf69e10f5727360368e451d4b7f58beeac6173dc9db836a5b46/iniconfig-2.0.0-py3-none-any.whl", hash = "sha256:b6a85871a79d2e3b22d2d1b94ac2824226a63c6b741c88f7ae975f18b6778374", size = 5892 }, + { url = "https://files.pythonhosted.org/packages/ef/a6/62565a6e1cf69e10f5727360368e451d4b7f58beeac6173dc9db836a5b46/iniconfig-2.0.0-py3-none-any.whl", hash = "sha256:b6a85871a79d2e3b22d2d1b94ac2824226a63c6b741c88f7ae975f18b6778374", size = 5892, upload-time = "2023-01-07T11:08:09.864Z" }, ] [[package]] @@ -1294,9 +1294,9 @@ dependencies = [ { name = "tornado" }, { name = "traitlets" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/e9/5c/67594cb0c7055dc50814b21731c22a601101ea3b1b50a9a1b090e11f5d0f/ipykernel-6.29.5.tar.gz", hash = "sha256:f093a22c4a40f8828f8e330a9c297cb93dcab13bd9678ded6de8e5cf81c56215", size = 163367 } +sdist = { url = "https://files.pythonhosted.org/packages/e9/5c/67594cb0c7055dc50814b21731c22a601101ea3b1b50a9a1b090e11f5d0f/ipykernel-6.29.5.tar.gz", hash = "sha256:f093a22c4a40f8828f8e330a9c297cb93dcab13bd9678ded6de8e5cf81c56215", size = 163367, upload-time = "2024-07-01T14:07:22.543Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/94/5c/368ae6c01c7628438358e6d337c19b05425727fbb221d2a3c4303c372f42/ipykernel-6.29.5-py3-none-any.whl", hash = "sha256:afdb66ba5aa354b09b91379bac28ae4afebbb30e8b39510c9690afb7a10421b5", size = 117173 }, + { url = "https://files.pythonhosted.org/packages/94/5c/368ae6c01c7628438358e6d337c19b05425727fbb221d2a3c4303c372f42/ipykernel-6.29.5-py3-none-any.whl", hash = "sha256:afdb66ba5aa354b09b91379bac28ae4afebbb30e8b39510c9690afb7a10421b5", size = 117173, upload-time = "2024-07-01T14:07:19.603Z" }, ] [[package]] @@ -1323,9 +1323,9 @@ dependencies = [ { name = "traitlets", marker = "python_full_version < '3.9'" }, { name = "typing-extensions", marker = "python_full_version < '3.9'" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/9e/6a/44ef299b1762f5a73841e87fae8a73a8cc8aee538d6dc8c77a5afe1fd2ce/ipython-8.12.3.tar.gz", hash = "sha256:3910c4b54543c2ad73d06579aa771041b7d5707b033bd488669b4cf544e3b363", size = 5470171 } +sdist = { url = "https://files.pythonhosted.org/packages/9e/6a/44ef299b1762f5a73841e87fae8a73a8cc8aee538d6dc8c77a5afe1fd2ce/ipython-8.12.3.tar.gz", hash = "sha256:3910c4b54543c2ad73d06579aa771041b7d5707b033bd488669b4cf544e3b363", size = 5470171, upload-time = "2023-09-29T09:14:37.468Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/8d/97/8fe103906cd81bc42d3b0175b5534a9f67dccae47d6451131cf8d0d70bb2/ipython-8.12.3-py3-none-any.whl", hash = "sha256:b0340d46a933d27c657b211a329d0be23793c36595acf9e6ef4164bc01a1804c", size = 798307 }, + { url = "https://files.pythonhosted.org/packages/8d/97/8fe103906cd81bc42d3b0175b5534a9f67dccae47d6451131cf8d0d70bb2/ipython-8.12.3-py3-none-any.whl", hash = "sha256:b0340d46a933d27c657b211a329d0be23793c36595acf9e6ef4164bc01a1804c", size = 798307, upload-time = "2023-09-29T09:14:34.431Z" }, ] [[package]] @@ -1350,9 +1350,9 @@ dependencies = [ { name = "traitlets", marker = "python_full_version == '3.9.*'" }, { name = "typing-extensions", marker = "python_full_version == '3.9.*'" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/b1/b9/3ba6c45a6df813c09a48bac313c22ff83efa26cbb55011218d925a46e2ad/ipython-8.18.1.tar.gz", hash = "sha256:ca6f079bb33457c66e233e4580ebfc4128855b4cf6370dddd73842a9563e8a27", size = 5486330 } +sdist = { url = "https://files.pythonhosted.org/packages/b1/b9/3ba6c45a6df813c09a48bac313c22ff83efa26cbb55011218d925a46e2ad/ipython-8.18.1.tar.gz", hash = "sha256:ca6f079bb33457c66e233e4580ebfc4128855b4cf6370dddd73842a9563e8a27", size = 5486330, upload-time = "2023-11-27T09:58:34.596Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/47/6b/d9fdcdef2eb6a23f391251fde8781c38d42acd82abe84d054cb74f7863b0/ipython-8.18.1-py3-none-any.whl", hash = "sha256:e8267419d72d81955ec1177f8a29aaa90ac80ad647499201119e2f05e99aa397", size = 808161 }, + { url = "https://files.pythonhosted.org/packages/47/6b/d9fdcdef2eb6a23f391251fde8781c38d42acd82abe84d054cb74f7863b0/ipython-8.18.1-py3-none-any.whl", hash = "sha256:e8267419d72d81955ec1177f8a29aaa90ac80ad647499201119e2f05e99aa397", size = 808161, upload-time = "2023-11-27T09:58:30.538Z" }, ] [[package]] @@ -1383,9 +1383,9 @@ dependencies = [ { name = "traitlets", marker = "python_full_version >= '3.10'" }, { name = "typing-extensions", marker = "python_full_version >= '3.10' and python_full_version < '3.12'" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/36/80/4d2a072e0db7d250f134bc11676517299264ebe16d62a8619d49a78ced73/ipython-8.32.0.tar.gz", hash = "sha256:be2c91895b0b9ea7ba49d33b23e2040c352b33eb6a519cca7ce6e0c743444251", size = 5507441 } +sdist = { url = "https://files.pythonhosted.org/packages/36/80/4d2a072e0db7d250f134bc11676517299264ebe16d62a8619d49a78ced73/ipython-8.32.0.tar.gz", hash = "sha256:be2c91895b0b9ea7ba49d33b23e2040c352b33eb6a519cca7ce6e0c743444251", size = 5507441, upload-time = "2025-01-31T14:04:45.197Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/e7/e1/f4474a7ecdb7745a820f6f6039dc43c66add40f1bcc66485607d93571af6/ipython-8.32.0-py3-none-any.whl", hash = "sha256:cae85b0c61eff1fc48b0a8002de5958b6528fa9c8defb1894da63f42613708aa", size = 825524 }, + { url = "https://files.pythonhosted.org/packages/e7/e1/f4474a7ecdb7745a820f6f6039dc43c66add40f1bcc66485607d93571af6/ipython-8.32.0-py3-none-any.whl", hash = "sha256:cae85b0c61eff1fc48b0a8002de5958b6528fa9c8defb1894da63f42613708aa", size = 825524, upload-time = "2025-01-31T14:04:41.675Z" }, ] [[package]] @@ -1401,9 +1401,9 @@ dependencies = [ { name = "traitlets" }, { name = "widgetsnbextension" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/c7/4c/dab2a281b07596a5fc220d49827fe6c794c66f1493d7a74f1df0640f2cc5/ipywidgets-8.1.5.tar.gz", hash = "sha256:870e43b1a35656a80c18c9503bbf2d16802db1cb487eec6fab27d683381dde17", size = 116723 } +sdist = { url = "https://files.pythonhosted.org/packages/c7/4c/dab2a281b07596a5fc220d49827fe6c794c66f1493d7a74f1df0640f2cc5/ipywidgets-8.1.5.tar.gz", hash = "sha256:870e43b1a35656a80c18c9503bbf2d16802db1cb487eec6fab27d683381dde17", size = 116723, upload-time = "2024-08-22T12:19:51.302Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/22/2d/9c0b76f2f9cc0ebede1b9371b6f317243028ed60b90705863d493bae622e/ipywidgets-8.1.5-py3-none-any.whl", hash = "sha256:3290f526f87ae6e77655555baba4f36681c555b8bdbbff430b70e52c34c86245", size = 139767 }, + { url = "https://files.pythonhosted.org/packages/22/2d/9c0b76f2f9cc0ebede1b9371b6f317243028ed60b90705863d493bae622e/ipywidgets-8.1.5-py3-none-any.whl", hash = "sha256:3290f526f87ae6e77655555baba4f36681c555b8bdbbff430b70e52c34c86245", size = 139767, upload-time = "2024-08-22T12:19:49.494Z" }, ] [[package]] @@ -1413,9 +1413,9 @@ source = { registry = "https://pypi.org/simple" } dependencies = [ { name = "arrow" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/7c/1a/3c8edc664e06e6bd06cce40c6b22da5f1429aa4224d0c590f3be21c91ead/isoduration-20.11.0.tar.gz", hash = "sha256:ac2f9015137935279eac671f94f89eb00584f940f5dc49462a0c4ee692ba1bd9", size = 11649 } +sdist = { url = "https://files.pythonhosted.org/packages/7c/1a/3c8edc664e06e6bd06cce40c6b22da5f1429aa4224d0c590f3be21c91ead/isoduration-20.11.0.tar.gz", hash = "sha256:ac2f9015137935279eac671f94f89eb00584f940f5dc49462a0c4ee692ba1bd9", size = 11649, upload-time = "2020-11-01T11:00:00.312Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/7b/55/e5326141505c5d5e34c5e0935d2908a74e4561eca44108fbfb9c13d2911a/isoduration-20.11.0-py3-none-any.whl", hash = "sha256:b2904c2a4228c3d44f409c8ae8e2370eb21a26f7ac2ec5446df141dde3452042", size = 11321 }, + { url = "https://files.pythonhosted.org/packages/7b/55/e5326141505c5d5e34c5e0935d2908a74e4561eca44108fbfb9c13d2911a/isoduration-20.11.0-py3-none-any.whl", hash = "sha256:b2904c2a4228c3d44f409c8ae8e2370eb21a26f7ac2ec5446df141dde3452042", size = 11321, upload-time = "2020-11-01T10:59:58.02Z" }, ] [[package]] @@ -1426,9 +1426,9 @@ dependencies = [ { name = "more-itertools", version = "10.5.0", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.9'" }, { name = "more-itertools", version = "10.6.0", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.9'" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/06/c0/ed4a27bc5571b99e3cff68f8a9fa5b56ff7df1c2251cc715a652ddd26402/jaraco.classes-3.4.0.tar.gz", hash = "sha256:47a024b51d0239c0dd8c8540c6c7f484be3b8fcf0b2d85c13825780d3b3f3acd", size = 11780 } +sdist = { url = "https://files.pythonhosted.org/packages/06/c0/ed4a27bc5571b99e3cff68f8a9fa5b56ff7df1c2251cc715a652ddd26402/jaraco.classes-3.4.0.tar.gz", hash = "sha256:47a024b51d0239c0dd8c8540c6c7f484be3b8fcf0b2d85c13825780d3b3f3acd", size = 11780, upload-time = "2024-03-31T07:27:36.643Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/7f/66/b15ce62552d84bbfcec9a4873ab79d993a1dd4edb922cbfccae192bd5b5f/jaraco.classes-3.4.0-py3-none-any.whl", hash = "sha256:f662826b6bed8cace05e7ff873ce0f9283b5c924470fe664fff1c2f00f581790", size = 6777 }, + { url = "https://files.pythonhosted.org/packages/7f/66/b15ce62552d84bbfcec9a4873ab79d993a1dd4edb922cbfccae192bd5b5f/jaraco.classes-3.4.0-py3-none-any.whl", hash = "sha256:f662826b6bed8cace05e7ff873ce0f9283b5c924470fe664fff1c2f00f581790", size = 6777, upload-time = "2024-03-31T07:27:34.792Z" }, ] [[package]] @@ -1438,9 +1438,9 @@ source = { registry = "https://pypi.org/simple" } dependencies = [ { name = "backports-tarfile", marker = "python_full_version < '3.12'" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/df/ad/f3777b81bf0b6e7bc7514a1656d3e637b2e8e15fab2ce3235730b3e7a4e6/jaraco_context-6.0.1.tar.gz", hash = "sha256:9bae4ea555cf0b14938dc0aee7c9f32ed303aa20a3b73e7dc80111628792d1b3", size = 13912 } +sdist = { url = "https://files.pythonhosted.org/packages/df/ad/f3777b81bf0b6e7bc7514a1656d3e637b2e8e15fab2ce3235730b3e7a4e6/jaraco_context-6.0.1.tar.gz", hash = "sha256:9bae4ea555cf0b14938dc0aee7c9f32ed303aa20a3b73e7dc80111628792d1b3", size = 13912, upload-time = "2024-08-20T03:39:27.358Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/ff/db/0c52c4cf5e4bd9f5d7135ec7669a3a767af21b3a308e1ed3674881e52b62/jaraco.context-6.0.1-py3-none-any.whl", hash = "sha256:f797fc481b490edb305122c9181830a3a5b76d84ef6d1aef2fb9b47ab956f9e4", size = 6825 }, + { url = "https://files.pythonhosted.org/packages/ff/db/0c52c4cf5e4bd9f5d7135ec7669a3a767af21b3a308e1ed3674881e52b62/jaraco.context-6.0.1-py3-none-any.whl", hash = "sha256:f797fc481b490edb305122c9181830a3a5b76d84ef6d1aef2fb9b47ab956f9e4", size = 6825, upload-time = "2024-08-20T03:39:25.966Z" }, ] [[package]] @@ -1451,9 +1451,9 @@ dependencies = [ { name = "more-itertools", version = "10.5.0", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.9'" }, { name = "more-itertools", version = "10.6.0", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.9'" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/ab/23/9894b3df5d0a6eb44611c36aec777823fc2e07740dabbd0b810e19594013/jaraco_functools-4.1.0.tar.gz", hash = "sha256:70f7e0e2ae076498e212562325e805204fc092d7b4c17e0e86c959e249701a9d", size = 19159 } +sdist = { url = "https://files.pythonhosted.org/packages/ab/23/9894b3df5d0a6eb44611c36aec777823fc2e07740dabbd0b810e19594013/jaraco_functools-4.1.0.tar.gz", hash = "sha256:70f7e0e2ae076498e212562325e805204fc092d7b4c17e0e86c959e249701a9d", size = 19159, upload-time = "2024-09-27T19:47:09.122Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/9f/4f/24b319316142c44283d7540e76c7b5a6dbd5db623abd86bb7b3491c21018/jaraco.functools-4.1.0-py3-none-any.whl", hash = "sha256:ad159f13428bc4acbf5541ad6dec511f91573b90fba04df61dafa2a1231cf649", size = 10187 }, + { url = "https://files.pythonhosted.org/packages/9f/4f/24b319316142c44283d7540e76c7b5a6dbd5db623abd86bb7b3491c21018/jaraco.functools-4.1.0-py3-none-any.whl", hash = "sha256:ad159f13428bc4acbf5541ad6dec511f91573b90fba04df61dafa2a1231cf649", size = 10187, upload-time = "2024-09-27T19:47:07.14Z" }, ] [[package]] @@ -1463,18 +1463,18 @@ source = { registry = "https://pypi.org/simple" } dependencies = [ { name = "parso" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/72/3a/79a912fbd4d8dd6fbb02bf69afd3bb72cf0c729bb3063c6f4498603db17a/jedi-0.19.2.tar.gz", hash = "sha256:4770dc3de41bde3966b02eb84fbcf557fb33cce26ad23da12c742fb50ecb11f0", size = 1231287 } +sdist = { url = "https://files.pythonhosted.org/packages/72/3a/79a912fbd4d8dd6fbb02bf69afd3bb72cf0c729bb3063c6f4498603db17a/jedi-0.19.2.tar.gz", hash = "sha256:4770dc3de41bde3966b02eb84fbcf557fb33cce26ad23da12c742fb50ecb11f0", size = 1231287, upload-time = "2024-11-11T01:41:42.873Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/c0/5a/9cac0c82afec3d09ccd97c8b6502d48f165f9124db81b4bcb90b4af974ee/jedi-0.19.2-py2.py3-none-any.whl", hash = "sha256:a8ef22bde8490f57fe5c7681a3c83cb58874daf72b4784de3cce5b6ef6edb5b9", size = 1572278 }, + { url = "https://files.pythonhosted.org/packages/c0/5a/9cac0c82afec3d09ccd97c8b6502d48f165f9124db81b4bcb90b4af974ee/jedi-0.19.2-py2.py3-none-any.whl", hash = "sha256:a8ef22bde8490f57fe5c7681a3c83cb58874daf72b4784de3cce5b6ef6edb5b9", size = 1572278, upload-time = "2024-11-11T01:41:40.175Z" }, ] [[package]] name = "jeepney" version = "0.8.0" source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/d6/f4/154cf374c2daf2020e05c3c6a03c91348d59b23c5366e968feb198306fdf/jeepney-0.8.0.tar.gz", hash = "sha256:5efe48d255973902f6badc3ce55e2aa6c5c3b3bc642059ef3a91247bcfcc5806", size = 106005 } +sdist = { url = "https://files.pythonhosted.org/packages/d6/f4/154cf374c2daf2020e05c3c6a03c91348d59b23c5366e968feb198306fdf/jeepney-0.8.0.tar.gz", hash = "sha256:5efe48d255973902f6badc3ce55e2aa6c5c3b3bc642059ef3a91247bcfcc5806", size = 106005, upload-time = "2022-04-03T17:58:19.651Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/ae/72/2a1e2290f1ab1e06f71f3d0f1646c9e4634e70e1d37491535e19266e8dc9/jeepney-0.8.0-py3-none-any.whl", hash = "sha256:c0a454ad016ca575060802ee4d590dd912e35c122fa04e70306de3d076cce755", size = 48435 }, + { url = "https://files.pythonhosted.org/packages/ae/72/2a1e2290f1ab1e06f71f3d0f1646c9e4634e70e1d37491535e19266e8dc9/jeepney-0.8.0-py3-none-any.whl", hash = "sha256:c0a454ad016ca575060802ee4d590dd912e35c122fa04e70306de3d076cce755", size = 48435, upload-time = "2022-04-03T17:58:16.575Z" }, ] [[package]] @@ -1485,27 +1485,27 @@ dependencies = [ { name = "markupsafe", version = "2.1.5", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.9'" }, { name = "markupsafe", version = "3.0.2", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.9'" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/af/92/b3130cbbf5591acf9ade8708c365f3238046ac7cb8ccba6e81abccb0ccff/jinja2-3.1.5.tar.gz", hash = "sha256:8fefff8dc3034e27bb80d67c671eb8a9bc424c0ef4c0826edbff304cceff43bb", size = 244674 } +sdist = { url = "https://files.pythonhosted.org/packages/af/92/b3130cbbf5591acf9ade8708c365f3238046ac7cb8ccba6e81abccb0ccff/jinja2-3.1.5.tar.gz", hash = "sha256:8fefff8dc3034e27bb80d67c671eb8a9bc424c0ef4c0826edbff304cceff43bb", size = 244674, upload-time = "2024-12-21T18:30:22.828Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/bd/0f/2ba5fbcd631e3e88689309dbe978c5769e883e4b84ebfe7da30b43275c5a/jinja2-3.1.5-py3-none-any.whl", hash = "sha256:aba0f4dc9ed8013c424088f68a5c226f7d6097ed89b246d7749c2ec4175c6adb", size = 134596 }, + { url = "https://files.pythonhosted.org/packages/bd/0f/2ba5fbcd631e3e88689309dbe978c5769e883e4b84ebfe7da30b43275c5a/jinja2-3.1.5-py3-none-any.whl", hash = "sha256:aba0f4dc9ed8013c424088f68a5c226f7d6097ed89b246d7749c2ec4175c6adb", size = 134596, upload-time = "2024-12-21T18:30:19.133Z" }, ] [[package]] name = "json5" version = "0.10.0" source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/85/3d/bbe62f3d0c05a689c711cff57b2e3ac3d3e526380adb7c781989f075115c/json5-0.10.0.tar.gz", hash = "sha256:e66941c8f0a02026943c52c2eb34ebeb2a6f819a0be05920a6f5243cd30fd559", size = 48202 } +sdist = { url = "https://files.pythonhosted.org/packages/85/3d/bbe62f3d0c05a689c711cff57b2e3ac3d3e526380adb7c781989f075115c/json5-0.10.0.tar.gz", hash = "sha256:e66941c8f0a02026943c52c2eb34ebeb2a6f819a0be05920a6f5243cd30fd559", size = 48202, upload-time = "2024-11-26T19:56:37.823Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/aa/42/797895b952b682c3dafe23b1834507ee7f02f4d6299b65aaa61425763278/json5-0.10.0-py3-none-any.whl", hash = "sha256:19b23410220a7271e8377f81ba8aacba2fdd56947fbb137ee5977cbe1f5e8dfa", size = 34049 }, + { url = "https://files.pythonhosted.org/packages/aa/42/797895b952b682c3dafe23b1834507ee7f02f4d6299b65aaa61425763278/json5-0.10.0-py3-none-any.whl", hash = "sha256:19b23410220a7271e8377f81ba8aacba2fdd56947fbb137ee5977cbe1f5e8dfa", size = 34049, upload-time = "2024-11-26T19:56:36.649Z" }, ] [[package]] name = "jsonpointer" version = "3.0.0" source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/6a/0a/eebeb1fa92507ea94016a2a790b93c2ae41a7e18778f85471dc54475ed25/jsonpointer-3.0.0.tar.gz", hash = "sha256:2b2d729f2091522d61c3b31f82e11870f60b68f43fbc705cb76bf4b832af59ef", size = 9114 } +sdist = { url = "https://files.pythonhosted.org/packages/6a/0a/eebeb1fa92507ea94016a2a790b93c2ae41a7e18778f85471dc54475ed25/jsonpointer-3.0.0.tar.gz", hash = "sha256:2b2d729f2091522d61c3b31f82e11870f60b68f43fbc705cb76bf4b832af59ef", size = 9114, upload-time = "2024-06-10T19:24:42.462Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/71/92/5e77f98553e9e75130c78900d000368476aed74276eb8ae8796f65f00918/jsonpointer-3.0.0-py2.py3-none-any.whl", hash = "sha256:13e088adc14fca8b6aa8177c044e12701e6ad4b28ff10e65f2267a90109c9942", size = 7595 }, + { url = "https://files.pythonhosted.org/packages/71/92/5e77f98553e9e75130c78900d000368476aed74276eb8ae8796f65f00918/jsonpointer-3.0.0-py2.py3-none-any.whl", hash = "sha256:13e088adc14fca8b6aa8177c044e12701e6ad4b28ff10e65f2267a90109c9942", size = 7595, upload-time = "2024-06-10T19:24:40.698Z" }, ] [[package]] @@ -1523,9 +1523,9 @@ dependencies = [ { name = "rpds-py", version = "0.20.1", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.9'" }, { name = "rpds-py", version = "0.22.3", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.9'" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/38/2e/03362ee4034a4c917f697890ccd4aec0800ccf9ded7f511971c75451deec/jsonschema-4.23.0.tar.gz", hash = "sha256:d71497fef26351a33265337fa77ffeb82423f3ea21283cd9467bb03999266bc4", size = 325778 } +sdist = { url = "https://files.pythonhosted.org/packages/38/2e/03362ee4034a4c917f697890ccd4aec0800ccf9ded7f511971c75451deec/jsonschema-4.23.0.tar.gz", hash = "sha256:d71497fef26351a33265337fa77ffeb82423f3ea21283cd9467bb03999266bc4", size = 325778, upload-time = "2024-07-08T18:40:05.546Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/69/4a/4f9dbeb84e8850557c02365a0eee0649abe5eb1d84af92a25731c6c0f922/jsonschema-4.23.0-py3-none-any.whl", hash = "sha256:fbadb6f8b144a8f8cf9f0b89ba94501d143e50411a1278633f56a7acf7fd5566", size = 88462 }, + { url = "https://files.pythonhosted.org/packages/69/4a/4f9dbeb84e8850557c02365a0eee0649abe5eb1d84af92a25731c6c0f922/jsonschema-4.23.0-py3-none-any.whl", hash = "sha256:fbadb6f8b144a8f8cf9f0b89ba94501d143e50411a1278633f56a7acf7fd5566", size = 88462, upload-time = "2024-07-08T18:40:00.165Z" }, ] [package.optional-dependencies] @@ -1554,9 +1554,9 @@ dependencies = [ { name = "importlib-resources", version = "6.4.5", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.9'" }, { name = "referencing", version = "0.35.1", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.9'" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/f8/b9/cc0cc592e7c195fb8a650c1d5990b10175cf13b4c97465c72ec841de9e4b/jsonschema_specifications-2023.12.1.tar.gz", hash = "sha256:48a76787b3e70f5ed53f1160d2b81f586e4ca6d1548c5de7085d1682674764cc", size = 13983 } +sdist = { url = "https://files.pythonhosted.org/packages/f8/b9/cc0cc592e7c195fb8a650c1d5990b10175cf13b4c97465c72ec841de9e4b/jsonschema_specifications-2023.12.1.tar.gz", hash = "sha256:48a76787b3e70f5ed53f1160d2b81f586e4ca6d1548c5de7085d1682674764cc", size = 13983, upload-time = "2023-12-25T15:16:53.63Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/ee/07/44bd408781594c4d0a027666ef27fab1e441b109dc3b76b4f836f8fd04fe/jsonschema_specifications-2023.12.1-py3-none-any.whl", hash = "sha256:87e4fdf3a94858b8a2ba2778d9ba57d8a9cafca7c7489c46ba0d30a8bc6a9c3c", size = 18482 }, + { url = "https://files.pythonhosted.org/packages/ee/07/44bd408781594c4d0a027666ef27fab1e441b109dc3b76b4f836f8fd04fe/jsonschema_specifications-2023.12.1-py3-none-any.whl", hash = "sha256:87e4fdf3a94858b8a2ba2778d9ba57d8a9cafca7c7489c46ba0d30a8bc6a9c3c", size = 18482, upload-time = "2023-12-25T15:16:51.997Z" }, ] [[package]] @@ -1580,9 +1580,9 @@ resolution-markers = [ dependencies = [ { name = "referencing", version = "0.36.2", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.9'" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/10/db/58f950c996c793472e336ff3655b13fbcf1e3b359dcf52dcf3ed3b52c352/jsonschema_specifications-2024.10.1.tar.gz", hash = "sha256:0f38b83639958ce1152d02a7f062902c41c8fd20d558b0c34344292d417ae272", size = 15561 } +sdist = { url = "https://files.pythonhosted.org/packages/10/db/58f950c996c793472e336ff3655b13fbcf1e3b359dcf52dcf3ed3b52c352/jsonschema_specifications-2024.10.1.tar.gz", hash = "sha256:0f38b83639958ce1152d02a7f062902c41c8fd20d558b0c34344292d417ae272", size = 15561, upload-time = "2024-10-08T12:29:32.068Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/d1/0f/8910b19ac0670a0f80ce1008e5e751c4a57e14d2c4c13a482aa6079fa9d6/jsonschema_specifications-2024.10.1-py3-none-any.whl", hash = "sha256:a09a0680616357d9a0ecf05c12ad234479f549239d0f5b55f3deea67475da9bf", size = 18459 }, + { url = "https://files.pythonhosted.org/packages/d1/0f/8910b19ac0670a0f80ce1008e5e751c4a57e14d2c4c13a482aa6079fa9d6/jsonschema_specifications-2024.10.1-py3-none-any.whl", hash = "sha256:a09a0680616357d9a0ecf05c12ad234479f549239d0f5b55f3deea67475da9bf", size = 18459, upload-time = "2024-10-08T12:29:30.439Z" }, ] [[package]] @@ -1598,9 +1598,9 @@ dependencies = [ { name = "tornado" }, { name = "traitlets" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/71/22/bf9f12fdaeae18019a468b68952a60fe6dbab5d67cd2a103cac7659b41ca/jupyter_client-8.6.3.tar.gz", hash = "sha256:35b3a0947c4a6e9d589eb97d7d4cd5e90f910ee73101611f01283732bd6d9419", size = 342019 } +sdist = { url = "https://files.pythonhosted.org/packages/71/22/bf9f12fdaeae18019a468b68952a60fe6dbab5d67cd2a103cac7659b41ca/jupyter_client-8.6.3.tar.gz", hash = "sha256:35b3a0947c4a6e9d589eb97d7d4cd5e90f910ee73101611f01283732bd6d9419", size = 342019, upload-time = "2024-09-17T10:44:17.613Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/11/85/b0394e0b6fcccd2c1eeefc230978a6f8cb0c5df1e4cd3e7625735a0d7d1e/jupyter_client-8.6.3-py3-none-any.whl", hash = "sha256:e8a19cc986cc45905ac3362915f410f3af85424b4c0905e94fa5f2cb08e8f23f", size = 106105 }, + { url = "https://files.pythonhosted.org/packages/11/85/b0394e0b6fcccd2c1eeefc230978a6f8cb0c5df1e4cd3e7625735a0d7d1e/jupyter_client-8.6.3-py3-none-any.whl", hash = "sha256:e8a19cc986cc45905ac3362915f410f3af85424b4c0905e94fa5f2cb08e8f23f", size = 106105, upload-time = "2024-09-17T10:44:15.218Z" }, ] [[package]] @@ -1612,9 +1612,9 @@ dependencies = [ { name = "pywin32", marker = "platform_python_implementation != 'PyPy' and sys_platform == 'win32'" }, { name = "traitlets" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/00/11/b56381fa6c3f4cc5d2cf54a7dbf98ad9aa0b339ef7a601d6053538b079a7/jupyter_core-5.7.2.tar.gz", hash = "sha256:aa5f8d32bbf6b431ac830496da7392035d6f61b4f54872f15c4bd2a9c3f536d9", size = 87629 } +sdist = { url = "https://files.pythonhosted.org/packages/00/11/b56381fa6c3f4cc5d2cf54a7dbf98ad9aa0b339ef7a601d6053538b079a7/jupyter_core-5.7.2.tar.gz", hash = "sha256:aa5f8d32bbf6b431ac830496da7392035d6f61b4f54872f15c4bd2a9c3f536d9", size = 87629, upload-time = "2024-03-12T12:37:35.652Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/c9/fb/108ecd1fe961941959ad0ee4e12ee7b8b1477247f30b1fdfd83ceaf017f0/jupyter_core-5.7.2-py3-none-any.whl", hash = "sha256:4f7315d2f6b4bcf2e3e7cb6e46772eba760ae459cd1f59d29eb57b0a01bd7409", size = 28965 }, + { url = "https://files.pythonhosted.org/packages/c9/fb/108ecd1fe961941959ad0ee4e12ee7b8b1477247f30b1fdfd83ceaf017f0/jupyter_core-5.7.2-py3-none-any.whl", hash = "sha256:4f7315d2f6b4bcf2e3e7cb6e46772eba760ae459cd1f59d29eb57b0a01bd7409", size = 28965, upload-time = "2024-03-12T12:37:32.36Z" }, ] [[package]] @@ -1635,9 +1635,9 @@ dependencies = [ { name = "rfc3986-validator", marker = "python_full_version < '3.9'" }, { name = "traitlets", marker = "python_full_version < '3.9'" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/8d/53/7537a1aa558229bb0b1b178d814c9d68a9c697d3aecb808a1cb2646acf1f/jupyter_events-0.10.0.tar.gz", hash = "sha256:670b8229d3cc882ec782144ed22e0d29e1c2d639263f92ca8383e66682845e22", size = 61516 } +sdist = { url = "https://files.pythonhosted.org/packages/8d/53/7537a1aa558229bb0b1b178d814c9d68a9c697d3aecb808a1cb2646acf1f/jupyter_events-0.10.0.tar.gz", hash = "sha256:670b8229d3cc882ec782144ed22e0d29e1c2d639263f92ca8383e66682845e22", size = 61516, upload-time = "2024-03-18T17:41:58.642Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/a5/94/059180ea70a9a326e1815176b2370da56376da347a796f8c4f0b830208ef/jupyter_events-0.10.0-py3-none-any.whl", hash = "sha256:4b72130875e59d57716d327ea70d3ebc3af1944d3717e5a498b8a06c6c159960", size = 18777 }, + { url = "https://files.pythonhosted.org/packages/a5/94/059180ea70a9a326e1815176b2370da56376da347a796f8c4f0b830208ef/jupyter_events-0.10.0-py3-none-any.whl", hash = "sha256:4b72130875e59d57716d327ea70d3ebc3af1944d3717e5a498b8a06c6c159960", size = 18777, upload-time = "2024-03-18T17:41:56.155Z" }, ] [[package]] @@ -1668,9 +1668,9 @@ dependencies = [ { name = "rfc3986-validator", marker = "python_full_version >= '3.9'" }, { name = "traitlets", marker = "python_full_version >= '3.9'" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/9d/c3/306d090461e4cf3cd91eceaff84bede12a8e52cd821c2d20c9a4fd728385/jupyter_events-0.12.0.tar.gz", hash = "sha256:fc3fce98865f6784c9cd0a56a20644fc6098f21c8c33834a8d9fe383c17e554b", size = 62196 } +sdist = { url = "https://files.pythonhosted.org/packages/9d/c3/306d090461e4cf3cd91eceaff84bede12a8e52cd821c2d20c9a4fd728385/jupyter_events-0.12.0.tar.gz", hash = "sha256:fc3fce98865f6784c9cd0a56a20644fc6098f21c8c33834a8d9fe383c17e554b", size = 62196, upload-time = "2025-02-03T17:23:41.485Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/e2/48/577993f1f99c552f18a0428731a755e06171f9902fa118c379eb7c04ea22/jupyter_events-0.12.0-py3-none-any.whl", hash = "sha256:6464b2fa5ad10451c3d35fabc75eab39556ae1e2853ad0c0cc31b656731a97fb", size = 19430 }, + { url = "https://files.pythonhosted.org/packages/e2/48/577993f1f99c552f18a0428731a755e06171f9902fa118c379eb7c04ea22/jupyter_events-0.12.0-py3-none-any.whl", hash = "sha256:6464b2fa5ad10451c3d35fabc75eab39556ae1e2853ad0c0cc31b656731a97fb", size = 19430, upload-time = "2025-02-03T17:23:38.643Z" }, ] [[package]] @@ -1683,9 +1683,9 @@ dependencies = [ { name = "jupyter-server", version = "2.14.2", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.9'" }, { name = "jupyter-server", version = "2.15.0", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.9'" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/85/b4/3200b0b09c12bc3b72d943d923323c398eff382d1dcc7c0dbc8b74630e40/jupyter-lsp-2.2.5.tar.gz", hash = "sha256:793147a05ad446f809fd53ef1cd19a9f5256fd0a2d6b7ce943a982cb4f545001", size = 48741 } +sdist = { url = "https://files.pythonhosted.org/packages/85/b4/3200b0b09c12bc3b72d943d923323c398eff382d1dcc7c0dbc8b74630e40/jupyter-lsp-2.2.5.tar.gz", hash = "sha256:793147a05ad446f809fd53ef1cd19a9f5256fd0a2d6b7ce943a982cb4f545001", size = 48741, upload-time = "2024-04-09T17:59:44.918Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/07/e0/7bd7cff65594fd9936e2f9385701e44574fc7d721331ff676ce440b14100/jupyter_lsp-2.2.5-py3-none-any.whl", hash = "sha256:45fbddbd505f3fbfb0b6cb2f1bc5e15e83ab7c79cd6e89416b248cb3c00c11da", size = 69146 }, + { url = "https://files.pythonhosted.org/packages/07/e0/7bd7cff65594fd9936e2f9385701e44574fc7d721331ff676ce440b14100/jupyter_lsp-2.2.5-py3-none-any.whl", hash = "sha256:45fbddbd505f3fbfb0b6cb2f1bc5e15e83ab7c79cd6e89416b248cb3c00c11da", size = 69146, upload-time = "2024-04-09T17:59:43.388Z" }, ] [[package]] @@ -1718,9 +1718,9 @@ dependencies = [ { name = "traitlets", marker = "python_full_version < '3.9'" }, { name = "websocket-client", marker = "python_full_version < '3.9'" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/0c/34/88b47749c7fa9358e10eac356c4b97d94a91a67d5c935a73f69bc4a31118/jupyter_server-2.14.2.tar.gz", hash = "sha256:66095021aa9638ced276c248b1d81862e4c50f292d575920bbe960de1c56b12b", size = 719933 } +sdist = { url = "https://files.pythonhosted.org/packages/0c/34/88b47749c7fa9358e10eac356c4b97d94a91a67d5c935a73f69bc4a31118/jupyter_server-2.14.2.tar.gz", hash = "sha256:66095021aa9638ced276c248b1d81862e4c50f292d575920bbe960de1c56b12b", size = 719933, upload-time = "2024-07-12T18:31:43.019Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/57/e1/085edea6187a127ca8ea053eb01f4e1792d778b4d192c74d32eb6730fed6/jupyter_server-2.14.2-py3-none-any.whl", hash = "sha256:47ff506127c2f7851a17bf4713434208fc490955d0e8632e95014a9a9afbeefd", size = 383556 }, + { url = "https://files.pythonhosted.org/packages/57/e1/085edea6187a127ca8ea053eb01f4e1792d778b4d192c74d32eb6730fed6/jupyter_server-2.14.2-py3-none-any.whl", hash = "sha256:47ff506127c2f7851a17bf4713434208fc490955d0e8632e95014a9a9afbeefd", size = 383556, upload-time = "2024-07-12T18:31:39.724Z" }, ] [[package]] @@ -1762,9 +1762,9 @@ dependencies = [ { name = "traitlets", marker = "python_full_version >= '3.9'" }, { name = "websocket-client", marker = "python_full_version >= '3.9'" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/61/8c/df09d4ab646141f130f9977b32b206ba8615d1969b2eba6a2e84b7f89137/jupyter_server-2.15.0.tar.gz", hash = "sha256:9d446b8697b4f7337a1b7cdcac40778babdd93ba614b6d68ab1c0c918f1c4084", size = 725227 } +sdist = { url = "https://files.pythonhosted.org/packages/61/8c/df09d4ab646141f130f9977b32b206ba8615d1969b2eba6a2e84b7f89137/jupyter_server-2.15.0.tar.gz", hash = "sha256:9d446b8697b4f7337a1b7cdcac40778babdd93ba614b6d68ab1c0c918f1c4084", size = 725227, upload-time = "2024-12-20T13:02:42.654Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/e2/a2/89eeaf0bb954a123a909859fa507fa86f96eb61b62dc30667b60dbd5fdaf/jupyter_server-2.15.0-py3-none-any.whl", hash = "sha256:872d989becf83517012ee669f09604aa4a28097c0bd90b2f424310156c2cdae3", size = 385826 }, + { url = "https://files.pythonhosted.org/packages/e2/a2/89eeaf0bb954a123a909859fa507fa86f96eb61b62dc30667b60dbd5fdaf/jupyter_server-2.15.0-py3-none-any.whl", hash = "sha256:872d989becf83517012ee669f09604aa4a28097c0bd90b2f424310156c2cdae3", size = 385826, upload-time = "2024-12-20T13:02:37.785Z" }, ] [[package]] @@ -1776,9 +1776,9 @@ dependencies = [ { name = "pywinpty", version = "2.0.15", source = { registry = "https://pypi.org/simple" }, marker = "(python_full_version == '3.9.*' and os_name == 'nt' and platform_machine != 'arm64' and sys_platform == 'darwin') or (python_full_version >= '3.9' and os_name == 'nt' and platform_machine != 'aarch64' and sys_platform == 'linux') or (python_full_version >= '3.9' and os_name == 'nt' and sys_platform != 'darwin' and sys_platform != 'linux')" }, { name = "terminado" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/fc/d5/562469734f476159e99a55426d697cbf8e7eb5efe89fb0e0b4f83a3d3459/jupyter_server_terminals-0.5.3.tar.gz", hash = "sha256:5ae0295167220e9ace0edcfdb212afd2b01ee8d179fe6f23c899590e9b8a5269", size = 31430 } +sdist = { url = "https://files.pythonhosted.org/packages/fc/d5/562469734f476159e99a55426d697cbf8e7eb5efe89fb0e0b4f83a3d3459/jupyter_server_terminals-0.5.3.tar.gz", hash = "sha256:5ae0295167220e9ace0edcfdb212afd2b01ee8d179fe6f23c899590e9b8a5269", size = 31430, upload-time = "2024-03-12T14:37:03.049Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/07/2d/2b32cdbe8d2a602f697a649798554e4f072115438e92249624e532e8aca6/jupyter_server_terminals-0.5.3-py3-none-any.whl", hash = "sha256:41ee0d7dc0ebf2809c668e0fc726dfaf258fcd3e769568996ca731b6194ae9aa", size = 13656 }, + { url = "https://files.pythonhosted.org/packages/07/2d/2b32cdbe8d2a602f697a649798554e4f072115438e92249624e532e8aca6/jupyter_server_terminals-0.5.3-py3-none-any.whl", hash = "sha256:41ee0d7dc0ebf2809c668e0fc726dfaf258fcd3e769568996ca731b6194ae9aa", size = 13656, upload-time = "2024-03-12T14:37:00.708Z" }, ] [[package]] @@ -1806,18 +1806,18 @@ dependencies = [ { name = "tornado" }, { name = "traitlets" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/19/17/6f3d73c3e54b71bbaf03edcc4a54b0aa6328e0a134755f297ea87d425711/jupyterlab-4.3.5.tar.gz", hash = "sha256:c779bf72ced007d7d29d5bcef128e7fdda96ea69299e19b04a43635a7d641f9d", size = 21800023 } +sdist = { url = "https://files.pythonhosted.org/packages/19/17/6f3d73c3e54b71bbaf03edcc4a54b0aa6328e0a134755f297ea87d425711/jupyterlab-4.3.5.tar.gz", hash = "sha256:c779bf72ced007d7d29d5bcef128e7fdda96ea69299e19b04a43635a7d641f9d", size = 21800023, upload-time = "2025-01-29T19:27:11.432Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/73/6f/94d4c879b3e2b7b9bca1913ea6fbbef180f8b1ed065b46ade40d651ec54d/jupyterlab-4.3.5-py3-none-any.whl", hash = "sha256:571bbdee20e4c5321ab5195bc41cf92a75a5cff886be5e57ce78dfa37a5e9fdb", size = 11666944 }, + { url = "https://files.pythonhosted.org/packages/73/6f/94d4c879b3e2b7b9bca1913ea6fbbef180f8b1ed065b46ade40d651ec54d/jupyterlab-4.3.5-py3-none-any.whl", hash = "sha256:571bbdee20e4c5321ab5195bc41cf92a75a5cff886be5e57ce78dfa37a5e9fdb", size = 11666944, upload-time = "2025-01-29T19:27:04.992Z" }, ] [[package]] name = "jupyterlab-pygments" version = "0.3.0" source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/90/51/9187be60d989df97f5f0aba133fa54e7300f17616e065d1ada7d7646b6d6/jupyterlab_pygments-0.3.0.tar.gz", hash = "sha256:721aca4d9029252b11cfa9d185e5b5af4d54772bb8072f9b7036f4170054d35d", size = 512900 } +sdist = { url = "https://files.pythonhosted.org/packages/90/51/9187be60d989df97f5f0aba133fa54e7300f17616e065d1ada7d7646b6d6/jupyterlab_pygments-0.3.0.tar.gz", hash = "sha256:721aca4d9029252b11cfa9d185e5b5af4d54772bb8072f9b7036f4170054d35d", size = 512900, upload-time = "2023-11-23T09:26:37.44Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/b1/dd/ead9d8ea85bf202d90cc513b533f9c363121c7792674f78e0d8a854b63b4/jupyterlab_pygments-0.3.0-py3-none-any.whl", hash = "sha256:841a89020971da1d8693f1a99997aefc5dc424bb1b251fd6322462a1b8842780", size = 15884 }, + { url = "https://files.pythonhosted.org/packages/b1/dd/ead9d8ea85bf202d90cc513b533f9c363121c7792674f78e0d8a854b63b4/jupyterlab_pygments-0.3.0-py3-none-any.whl", hash = "sha256:841a89020971da1d8693f1a99997aefc5dc424bb1b251fd6322462a1b8842780", size = 15884, upload-time = "2023-11-23T09:26:34.325Z" }, ] [[package]] @@ -1836,18 +1836,18 @@ dependencies = [ { name = "packaging" }, { name = "requests" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/0a/c9/a883ce65eb27905ce77ace410d83587c82ea64dc85a48d1f7ed52bcfa68d/jupyterlab_server-2.27.3.tar.gz", hash = "sha256:eb36caca59e74471988f0ae25c77945610b887f777255aa21f8065def9e51ed4", size = 76173 } +sdist = { url = "https://files.pythonhosted.org/packages/0a/c9/a883ce65eb27905ce77ace410d83587c82ea64dc85a48d1f7ed52bcfa68d/jupyterlab_server-2.27.3.tar.gz", hash = "sha256:eb36caca59e74471988f0ae25c77945610b887f777255aa21f8065def9e51ed4", size = 76173, upload-time = "2024-07-16T17:02:04.149Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/54/09/2032e7d15c544a0e3cd831c51d77a8ca57f7555b2e1b2922142eddb02a84/jupyterlab_server-2.27.3-py3-none-any.whl", hash = "sha256:e697488f66c3db49df675158a77b3b017520d772c6e1548c7d9bcc5df7944ee4", size = 59700 }, + { url = "https://files.pythonhosted.org/packages/54/09/2032e7d15c544a0e3cd831c51d77a8ca57f7555b2e1b2922142eddb02a84/jupyterlab_server-2.27.3-py3-none-any.whl", hash = "sha256:e697488f66c3db49df675158a77b3b017520d772c6e1548c7d9bcc5df7944ee4", size = 59700, upload-time = "2024-07-16T17:02:01.115Z" }, ] [[package]] name = "jupyterlab-widgets" version = "3.0.13" source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/59/73/fa26bbb747a9ea4fca6b01453aa22990d52ab62dd61384f1ac0dc9d4e7ba/jupyterlab_widgets-3.0.13.tar.gz", hash = "sha256:a2966d385328c1942b683a8cd96b89b8dd82c8b8f81dda902bb2bc06d46f5bed", size = 203556 } +sdist = { url = "https://files.pythonhosted.org/packages/59/73/fa26bbb747a9ea4fca6b01453aa22990d52ab62dd61384f1ac0dc9d4e7ba/jupyterlab_widgets-3.0.13.tar.gz", hash = "sha256:a2966d385328c1942b683a8cd96b89b8dd82c8b8f81dda902bb2bc06d46f5bed", size = 203556, upload-time = "2024-08-22T12:16:08.6Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/a9/93/858e87edc634d628e5d752ba944c2833133a28fa87bb093e6832ced36a3e/jupyterlab_widgets-3.0.13-py3-none-any.whl", hash = "sha256:e3cda2c233ce144192f1e29914ad522b2f4c40e77214b0cc97377ca3d323db54", size = 214392 }, + { url = "https://files.pythonhosted.org/packages/a9/93/858e87edc634d628e5d752ba944c2833133a28fa87bb093e6832ced36a3e/jupyterlab_widgets-3.0.13-py3-none-any.whl", hash = "sha256:e3cda2c233ce144192f1e29914ad522b2f4c40e77214b0cc97377ca3d323db54", size = 214392, upload-time = "2024-08-22T12:16:06.537Z" }, ] [[package]] @@ -1862,9 +1862,9 @@ dependencies = [ { name = "pyyaml" }, { name = "tomli", marker = "python_full_version < '3.11'" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/10/e7/58d6fd374e1065d2bccefd07953d2f1f911d8de03fd7dc33dd5a25ac659c/jupytext-1.16.6.tar.gz", hash = "sha256:dbd03f9263c34b737003f388fc069e9030834fb7136879c4c32c32473557baa0", size = 3726029 } +sdist = { url = "https://files.pythonhosted.org/packages/10/e7/58d6fd374e1065d2bccefd07953d2f1f911d8de03fd7dc33dd5a25ac659c/jupytext-1.16.6.tar.gz", hash = "sha256:dbd03f9263c34b737003f388fc069e9030834fb7136879c4c32c32473557baa0", size = 3726029, upload-time = "2024-12-17T19:43:26.862Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/f4/02/27191f18564d4f2c0e543643aa94b54567de58f359cd6a3bed33adb723ac/jupytext-1.16.6-py3-none-any.whl", hash = "sha256:900132031f73fee15a1c9ebd862e05eb5f51e1ad6ab3a2c6fdd97ce2f9c913b4", size = 154200 }, + { url = "https://files.pythonhosted.org/packages/f4/02/27191f18564d4f2c0e543643aa94b54567de58f359cd6a3bed33adb723ac/jupytext-1.16.6-py3-none-any.whl", hash = "sha256:900132031f73fee15a1c9ebd862e05eb5f51e1ad6ab3a2c6fdd97ce2f9c913b4", size = 154200, upload-time = "2024-12-17T19:43:24.882Z" }, ] [[package]] @@ -1886,9 +1886,9 @@ dependencies = [ { name = "pywin32-ctypes", marker = "python_full_version < '3.9' and sys_platform == 'win32'" }, { name = "secretstorage", marker = "python_full_version < '3.9' and sys_platform == 'linux'" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/f6/24/64447b13df6a0e2797b586dad715766d756c932ce8ace7f67bd384d76ae0/keyring-25.5.0.tar.gz", hash = "sha256:4c753b3ec91717fe713c4edd522d625889d8973a349b0e582622f49766de58e6", size = 62675 } +sdist = { url = "https://files.pythonhosted.org/packages/f6/24/64447b13df6a0e2797b586dad715766d756c932ce8ace7f67bd384d76ae0/keyring-25.5.0.tar.gz", hash = "sha256:4c753b3ec91717fe713c4edd522d625889d8973a349b0e582622f49766de58e6", size = 62675, upload-time = "2024-10-26T15:40:12.344Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/32/c9/353c156fa2f057e669106e5d6bcdecf85ef8d3536ce68ca96f18dc7b6d6f/keyring-25.5.0-py3-none-any.whl", hash = "sha256:e67f8ac32b04be4714b42fe84ce7dad9c40985b9ca827c592cc303e7c26d9741", size = 39096 }, + { url = "https://files.pythonhosted.org/packages/32/c9/353c156fa2f057e669106e5d6bcdecf85ef8d3536ce68ca96f18dc7b6d6f/keyring-25.5.0-py3-none-any.whl", hash = "sha256:e67f8ac32b04be4714b42fe84ce7dad9c40985b9ca827c592cc303e7c26d9741", size = 39096, upload-time = "2024-10-26T15:40:10.296Z" }, ] [[package]] @@ -1918,9 +1918,9 @@ dependencies = [ { name = "pywin32-ctypes", marker = "python_full_version >= '3.9' and sys_platform == 'win32'" }, { name = "secretstorage", marker = "python_full_version >= '3.9' and sys_platform == 'linux'" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/70/09/d904a6e96f76ff214be59e7aa6ef7190008f52a0ab6689760a98de0bf37d/keyring-25.6.0.tar.gz", hash = "sha256:0b39998aa941431eb3d9b0d4b2460bc773b9df6fed7621c2dfb291a7e0187a66", size = 62750 } +sdist = { url = "https://files.pythonhosted.org/packages/70/09/d904a6e96f76ff214be59e7aa6ef7190008f52a0ab6689760a98de0bf37d/keyring-25.6.0.tar.gz", hash = "sha256:0b39998aa941431eb3d9b0d4b2460bc773b9df6fed7621c2dfb291a7e0187a66", size = 62750, upload-time = "2024-12-25T15:26:45.782Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/d3/32/da7f44bcb1105d3e88a0b74ebdca50c59121d2ddf71c9e34ba47df7f3a56/keyring-25.6.0-py3-none-any.whl", hash = "sha256:552a3f7af126ece7ed5c89753650eec89c7eaae8617d0aa4d9ad2b75111266bd", size = 39085 }, + { url = "https://files.pythonhosted.org/packages/d3/32/da7f44bcb1105d3e88a0b74ebdca50c59121d2ddf71c9e34ba47df7f3a56/keyring-25.6.0-py3-none-any.whl", hash = "sha256:552a3f7af126ece7ed5c89753650eec89c7eaae8617d0aa4d9ad2b75111266bd", size = 39085, upload-time = "2024-12-25T15:26:44.377Z" }, ] [[package]] @@ -1935,121 +1935,121 @@ resolution-markers = [ "python_full_version < '3.9' and platform_machine == 'aarch64' and sys_platform == 'linux'", "(python_full_version < '3.9' and platform_machine != 'arm64' and sys_platform == 'darwin') or (python_full_version < '3.9' and platform_machine != 'aarch64' and sys_platform == 'linux') or (python_full_version < '3.9' and sys_platform != 'darwin' and sys_platform != 'linux')", ] -sdist = { url = "https://files.pythonhosted.org/packages/85/4d/2255e1c76304cbd60b48cee302b66d1dde4468dc5b1160e4b7cb43778f2a/kiwisolver-1.4.7.tar.gz", hash = "sha256:9893ff81bd7107f7b685d3017cc6583daadb4fc26e4a888350df530e41980a60", size = 97286 } -wheels = [ - { url = "https://files.pythonhosted.org/packages/97/14/fc943dd65268a96347472b4fbe5dcc2f6f55034516f80576cd0dd3a8930f/kiwisolver-1.4.7-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:8a9c83f75223d5e48b0bc9cb1bf2776cf01563e00ade8775ffe13b0b6e1af3a6", size = 122440 }, - { url = "https://files.pythonhosted.org/packages/1e/46/e68fed66236b69dd02fcdb506218c05ac0e39745d696d22709498896875d/kiwisolver-1.4.7-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:58370b1ffbd35407444d57057b57da5d6549d2d854fa30249771775c63b5fe17", size = 65758 }, - { url = "https://files.pythonhosted.org/packages/ef/fa/65de49c85838681fc9cb05de2a68067a683717321e01ddafb5b8024286f0/kiwisolver-1.4.7-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:aa0abdf853e09aff551db11fce173e2177d00786c688203f52c87ad7fcd91ef9", size = 64311 }, - { url = "https://files.pythonhosted.org/packages/42/9c/cc8d90f6ef550f65443bad5872ffa68f3dee36de4974768628bea7c14979/kiwisolver-1.4.7-cp310-cp310-manylinux_2_12_i686.manylinux2010_i686.whl", hash = "sha256:8d53103597a252fb3ab8b5845af04c7a26d5e7ea8122303dd7a021176a87e8b9", size = 1637109 }, - { url = "https://files.pythonhosted.org/packages/55/91/0a57ce324caf2ff5403edab71c508dd8f648094b18cfbb4c8cc0fde4a6ac/kiwisolver-1.4.7-cp310-cp310-manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:88f17c5ffa8e9462fb79f62746428dd57b46eb931698e42e990ad63103f35e6c", size = 1617814 }, - { url = "https://files.pythonhosted.org/packages/12/5d/c36140313f2510e20207708adf36ae4919416d697ee0236b0ddfb6fd1050/kiwisolver-1.4.7-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:88a9ca9c710d598fd75ee5de59d5bda2684d9db36a9f50b6125eaea3969c2599", size = 1400881 }, - { url = "https://files.pythonhosted.org/packages/56/d0/786e524f9ed648324a466ca8df86298780ef2b29c25313d9a4f16992d3cf/kiwisolver-1.4.7-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:f4d742cb7af1c28303a51b7a27aaee540e71bb8e24f68c736f6f2ffc82f2bf05", size = 1512972 }, - { url = "https://files.pythonhosted.org/packages/67/5a/77851f2f201e6141d63c10a0708e996a1363efaf9e1609ad0441b343763b/kiwisolver-1.4.7-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:e28c7fea2196bf4c2f8d46a0415c77a1c480cc0724722f23d7410ffe9842c407", size = 1444787 }, - { url = "https://files.pythonhosted.org/packages/06/5f/1f5eaab84355885e224a6fc8d73089e8713dc7e91c121f00b9a1c58a2195/kiwisolver-1.4.7-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:e968b84db54f9d42046cf154e02911e39c0435c9801681e3fc9ce8a3c4130278", size = 2199212 }, - { url = "https://files.pythonhosted.org/packages/b5/28/9152a3bfe976a0ae21d445415defc9d1cd8614b2910b7614b30b27a47270/kiwisolver-1.4.7-cp310-cp310-musllinux_1_2_i686.whl", hash = "sha256:0c18ec74c0472de033e1bebb2911c3c310eef5649133dd0bedf2a169a1b269e5", size = 2346399 }, - { url = "https://files.pythonhosted.org/packages/26/f6/453d1904c52ac3b400f4d5e240ac5fec25263716723e44be65f4d7149d13/kiwisolver-1.4.7-cp310-cp310-musllinux_1_2_ppc64le.whl", hash = "sha256:8f0ea6da6d393d8b2e187e6a5e3fb81f5862010a40c3945e2c6d12ae45cfb2ad", size = 2308688 }, - { url = "https://files.pythonhosted.org/packages/5a/9a/d4968499441b9ae187e81745e3277a8b4d7c60840a52dc9d535a7909fac3/kiwisolver-1.4.7-cp310-cp310-musllinux_1_2_s390x.whl", hash = "sha256:f106407dda69ae456dd1227966bf445b157ccc80ba0dff3802bb63f30b74e895", size = 2445493 }, - { url = "https://files.pythonhosted.org/packages/07/c9/032267192e7828520dacb64dfdb1d74f292765f179e467c1cba97687f17d/kiwisolver-1.4.7-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:84ec80df401cfee1457063732d90022f93951944b5b58975d34ab56bb150dfb3", size = 2262191 }, - { url = "https://files.pythonhosted.org/packages/6c/ad/db0aedb638a58b2951da46ddaeecf204be8b4f5454df020d850c7fa8dca8/kiwisolver-1.4.7-cp310-cp310-win32.whl", hash = "sha256:71bb308552200fb2c195e35ef05de12f0c878c07fc91c270eb3d6e41698c3bcc", size = 46644 }, - { url = "https://files.pythonhosted.org/packages/12/ca/d0f7b7ffbb0be1e7c2258b53554efec1fd652921f10d7d85045aff93ab61/kiwisolver-1.4.7-cp310-cp310-win_amd64.whl", hash = "sha256:44756f9fd339de0fb6ee4f8c1696cfd19b2422e0d70b4cefc1cc7f1f64045a8c", size = 55877 }, - { url = "https://files.pythonhosted.org/packages/97/6c/cfcc128672f47a3e3c0d918ecb67830600078b025bfc32d858f2e2d5c6a4/kiwisolver-1.4.7-cp310-cp310-win_arm64.whl", hash = "sha256:78a42513018c41c2ffd262eb676442315cbfe3c44eed82385c2ed043bc63210a", size = 48347 }, - { url = "https://files.pythonhosted.org/packages/e9/44/77429fa0a58f941d6e1c58da9efe08597d2e86bf2b2cce6626834f49d07b/kiwisolver-1.4.7-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:d2b0e12a42fb4e72d509fc994713d099cbb15ebf1103545e8a45f14da2dfca54", size = 122442 }, - { url = "https://files.pythonhosted.org/packages/e5/20/8c75caed8f2462d63c7fd65e16c832b8f76cda331ac9e615e914ee80bac9/kiwisolver-1.4.7-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:2a8781ac3edc42ea4b90bc23e7d37b665d89423818e26eb6df90698aa2287c95", size = 65762 }, - { url = "https://files.pythonhosted.org/packages/f4/98/fe010f15dc7230f45bc4cf367b012d651367fd203caaa992fd1f5963560e/kiwisolver-1.4.7-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:46707a10836894b559e04b0fd143e343945c97fd170d69a2d26d640b4e297935", size = 64319 }, - { url = "https://files.pythonhosted.org/packages/8b/1b/b5d618f4e58c0675654c1e5051bcf42c776703edb21c02b8c74135541f60/kiwisolver-1.4.7-cp311-cp311-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:ef97b8df011141c9b0f6caf23b29379f87dd13183c978a30a3c546d2c47314cb", size = 1334260 }, - { url = "https://files.pythonhosted.org/packages/b8/01/946852b13057a162a8c32c4c8d2e9ed79f0bb5d86569a40c0b5fb103e373/kiwisolver-1.4.7-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:3ab58c12a2cd0fc769089e6d38466c46d7f76aced0a1f54c77652446733d2d02", size = 1426589 }, - { url = "https://files.pythonhosted.org/packages/70/d1/c9f96df26b459e15cf8a965304e6e6f4eb291e0f7a9460b4ad97b047561e/kiwisolver-1.4.7-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:803b8e1459341c1bb56d1c5c010406d5edec8a0713a0945851290a7930679b51", size = 1541080 }, - { url = "https://files.pythonhosted.org/packages/d3/73/2686990eb8b02d05f3de759d6a23a4ee7d491e659007dd4c075fede4b5d0/kiwisolver-1.4.7-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:f9a9e8a507420fe35992ee9ecb302dab68550dedc0da9e2880dd88071c5fb052", size = 1470049 }, - { url = "https://files.pythonhosted.org/packages/a7/4b/2db7af3ed3af7c35f388d5f53c28e155cd402a55432d800c543dc6deb731/kiwisolver-1.4.7-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:18077b53dc3bb490e330669a99920c5e6a496889ae8c63b58fbc57c3d7f33a18", size = 1426376 }, - { url = "https://files.pythonhosted.org/packages/05/83/2857317d04ea46dc5d115f0df7e676997bbd968ced8e2bd6f7f19cfc8d7f/kiwisolver-1.4.7-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:6af936f79086a89b3680a280c47ea90b4df7047b5bdf3aa5c524bbedddb9e545", size = 2222231 }, - { url = "https://files.pythonhosted.org/packages/0d/b5/866f86f5897cd4ab6d25d22e403404766a123f138bd6a02ecb2cdde52c18/kiwisolver-1.4.7-cp311-cp311-musllinux_1_2_i686.whl", hash = "sha256:3abc5b19d24af4b77d1598a585b8a719beb8569a71568b66f4ebe1fb0449460b", size = 2368634 }, - { url = "https://files.pythonhosted.org/packages/c1/ee/73de8385403faba55f782a41260210528fe3273d0cddcf6d51648202d6d0/kiwisolver-1.4.7-cp311-cp311-musllinux_1_2_ppc64le.whl", hash = "sha256:933d4de052939d90afbe6e9d5273ae05fb836cc86c15b686edd4b3560cc0ee36", size = 2329024 }, - { url = "https://files.pythonhosted.org/packages/a1/e7/cd101d8cd2cdfaa42dc06c433df17c8303d31129c9fdd16c0ea37672af91/kiwisolver-1.4.7-cp311-cp311-musllinux_1_2_s390x.whl", hash = "sha256:65e720d2ab2b53f1f72fb5da5fb477455905ce2c88aaa671ff0a447c2c80e8e3", size = 2468484 }, - { url = "https://files.pythonhosted.org/packages/e1/72/84f09d45a10bc57a40bb58b81b99d8f22b58b2040c912b7eb97ebf625bf2/kiwisolver-1.4.7-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:3bf1ed55088f214ba6427484c59553123fdd9b218a42bbc8c6496d6754b1e523", size = 2284078 }, - { url = "https://files.pythonhosted.org/packages/d2/d4/71828f32b956612dc36efd7be1788980cb1e66bfb3706e6dec9acad9b4f9/kiwisolver-1.4.7-cp311-cp311-win32.whl", hash = "sha256:4c00336b9dd5ad96d0a558fd18a8b6f711b7449acce4c157e7343ba92dd0cf3d", size = 46645 }, - { url = "https://files.pythonhosted.org/packages/a1/65/d43e9a20aabcf2e798ad1aff6c143ae3a42cf506754bcb6a7ed8259c8425/kiwisolver-1.4.7-cp311-cp311-win_amd64.whl", hash = "sha256:929e294c1ac1e9f615c62a4e4313ca1823ba37326c164ec720a803287c4c499b", size = 56022 }, - { url = "https://files.pythonhosted.org/packages/35/b3/9f75a2e06f1b4ca00b2b192bc2b739334127d27f1d0625627ff8479302ba/kiwisolver-1.4.7-cp311-cp311-win_arm64.whl", hash = "sha256:e33e8fbd440c917106b237ef1a2f1449dfbb9b6f6e1ce17c94cd6a1e0d438376", size = 48536 }, - { url = "https://files.pythonhosted.org/packages/97/9c/0a11c714cf8b6ef91001c8212c4ef207f772dd84540104952c45c1f0a249/kiwisolver-1.4.7-cp312-cp312-macosx_10_9_universal2.whl", hash = "sha256:5360cc32706dab3931f738d3079652d20982511f7c0ac5711483e6eab08efff2", size = 121808 }, - { url = "https://files.pythonhosted.org/packages/f2/d8/0fe8c5f5d35878ddd135f44f2af0e4e1d379e1c7b0716f97cdcb88d4fd27/kiwisolver-1.4.7-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:942216596dc64ddb25adb215c3c783215b23626f8d84e8eff8d6d45c3f29f75a", size = 65531 }, - { url = "https://files.pythonhosted.org/packages/80/c5/57fa58276dfdfa612241d640a64ca2f76adc6ffcebdbd135b4ef60095098/kiwisolver-1.4.7-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:48b571ecd8bae15702e4f22d3ff6a0f13e54d3d00cd25216d5e7f658242065ee", size = 63894 }, - { url = "https://files.pythonhosted.org/packages/8b/e9/26d3edd4c4ad1c5b891d8747a4f81b1b0aba9fb9721de6600a4adc09773b/kiwisolver-1.4.7-cp312-cp312-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:ad42ba922c67c5f219097b28fae965e10045ddf145d2928bfac2eb2e17673640", size = 1369296 }, - { url = "https://files.pythonhosted.org/packages/b6/67/3f4850b5e6cffb75ec40577ddf54f7b82b15269cc5097ff2e968ee32ea7d/kiwisolver-1.4.7-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:612a10bdae23404a72941a0fc8fa2660c6ea1217c4ce0dbcab8a8f6543ea9e7f", size = 1461450 }, - { url = "https://files.pythonhosted.org/packages/52/be/86cbb9c9a315e98a8dc6b1d23c43cffd91d97d49318854f9c37b0e41cd68/kiwisolver-1.4.7-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:9e838bba3a3bac0fe06d849d29772eb1afb9745a59710762e4ba3f4cb8424483", size = 1579168 }, - { url = "https://files.pythonhosted.org/packages/0f/00/65061acf64bd5fd34c1f4ae53f20b43b0a017a541f242a60b135b9d1e301/kiwisolver-1.4.7-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:22f499f6157236c19f4bbbd472fa55b063db77a16cd74d49afe28992dff8c258", size = 1507308 }, - { url = "https://files.pythonhosted.org/packages/21/e4/c0b6746fd2eb62fe702118b3ca0cb384ce95e1261cfada58ff693aeec08a/kiwisolver-1.4.7-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:693902d433cf585133699972b6d7c42a8b9f8f826ebcaf0132ff55200afc599e", size = 1464186 }, - { url = "https://files.pythonhosted.org/packages/0a/0f/529d0a9fffb4d514f2782c829b0b4b371f7f441d61aa55f1de1c614c4ef3/kiwisolver-1.4.7-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:4e77f2126c3e0b0d055f44513ed349038ac180371ed9b52fe96a32aa071a5107", size = 2247877 }, - { url = "https://files.pythonhosted.org/packages/d1/e1/66603ad779258843036d45adcbe1af0d1a889a07af4635f8b4ec7dccda35/kiwisolver-1.4.7-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:657a05857bda581c3656bfc3b20e353c232e9193eb167766ad2dc58b56504948", size = 2404204 }, - { url = "https://files.pythonhosted.org/packages/8d/61/de5fb1ca7ad1f9ab7970e340a5b833d735df24689047de6ae71ab9d8d0e7/kiwisolver-1.4.7-cp312-cp312-musllinux_1_2_ppc64le.whl", hash = "sha256:4bfa75a048c056a411f9705856abfc872558e33c055d80af6a380e3658766038", size = 2352461 }, - { url = "https://files.pythonhosted.org/packages/ba/d2/0edc00a852e369827f7e05fd008275f550353f1f9bcd55db9363d779fc63/kiwisolver-1.4.7-cp312-cp312-musllinux_1_2_s390x.whl", hash = "sha256:34ea1de54beef1c104422d210c47c7d2a4999bdecf42c7b5718fbe59a4cac383", size = 2501358 }, - { url = "https://files.pythonhosted.org/packages/84/15/adc15a483506aec6986c01fb7f237c3aec4d9ed4ac10b756e98a76835933/kiwisolver-1.4.7-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:90da3b5f694b85231cf93586dad5e90e2d71b9428f9aad96952c99055582f520", size = 2314119 }, - { url = "https://files.pythonhosted.org/packages/36/08/3a5bb2c53c89660863a5aa1ee236912269f2af8762af04a2e11df851d7b2/kiwisolver-1.4.7-cp312-cp312-win32.whl", hash = "sha256:18e0cca3e008e17fe9b164b55735a325140a5a35faad8de92dd80265cd5eb80b", size = 46367 }, - { url = "https://files.pythonhosted.org/packages/19/93/c05f0a6d825c643779fc3c70876bff1ac221f0e31e6f701f0e9578690d70/kiwisolver-1.4.7-cp312-cp312-win_amd64.whl", hash = "sha256:58cb20602b18f86f83a5c87d3ee1c766a79c0d452f8def86d925e6c60fbf7bfb", size = 55884 }, - { url = "https://files.pythonhosted.org/packages/d2/f9/3828d8f21b6de4279f0667fb50a9f5215e6fe57d5ec0d61905914f5b6099/kiwisolver-1.4.7-cp312-cp312-win_arm64.whl", hash = "sha256:f5a8b53bdc0b3961f8b6125e198617c40aeed638b387913bf1ce78afb1b0be2a", size = 48528 }, - { url = "https://files.pythonhosted.org/packages/c4/06/7da99b04259b0f18b557a4effd1b9c901a747f7fdd84cf834ccf520cb0b2/kiwisolver-1.4.7-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:2e6039dcbe79a8e0f044f1c39db1986a1b8071051efba3ee4d74f5b365f5226e", size = 121913 }, - { url = "https://files.pythonhosted.org/packages/97/f5/b8a370d1aa593c17882af0a6f6755aaecd643640c0ed72dcfd2eafc388b9/kiwisolver-1.4.7-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:a1ecf0ac1c518487d9d23b1cd7139a6a65bc460cd101ab01f1be82ecf09794b6", size = 65627 }, - { url = "https://files.pythonhosted.org/packages/2a/fc/6c0374f7503522539e2d4d1b497f5ebad3f8ed07ab51aed2af988dd0fb65/kiwisolver-1.4.7-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:7ab9ccab2b5bd5702ab0803676a580fffa2aa178c2badc5557a84cc943fcf750", size = 63888 }, - { url = "https://files.pythonhosted.org/packages/bf/3e/0b7172793d0f41cae5c923492da89a2ffcd1adf764c16159ca047463ebd3/kiwisolver-1.4.7-cp313-cp313-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:f816dd2277f8d63d79f9c8473a79fe54047bc0467754962840782c575522224d", size = 1369145 }, - { url = "https://files.pythonhosted.org/packages/77/92/47d050d6f6aced2d634258123f2688fbfef8ded3c5baf2c79d94d91f1f58/kiwisolver-1.4.7-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:cf8bcc23ceb5a1b624572a1623b9f79d2c3b337c8c455405ef231933a10da379", size = 1461448 }, - { url = "https://files.pythonhosted.org/packages/9c/1b/8f80b18e20b3b294546a1adb41701e79ae21915f4175f311a90d042301cf/kiwisolver-1.4.7-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:dea0bf229319828467d7fca8c7c189780aa9ff679c94539eed7532ebe33ed37c", size = 1578750 }, - { url = "https://files.pythonhosted.org/packages/a4/fe/fe8e72f3be0a844f257cadd72689c0848c6d5c51bc1d60429e2d14ad776e/kiwisolver-1.4.7-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:7c06a4c7cf15ec739ce0e5971b26c93638730090add60e183530d70848ebdd34", size = 1507175 }, - { url = "https://files.pythonhosted.org/packages/39/fa/cdc0b6105d90eadc3bee525fecc9179e2b41e1ce0293caaf49cb631a6aaf/kiwisolver-1.4.7-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:913983ad2deb14e66d83c28b632fd35ba2b825031f2fa4ca29675e665dfecbe1", size = 1463963 }, - { url = "https://files.pythonhosted.org/packages/6e/5c/0c03c4e542720c6177d4f408e56d1c8315899db72d46261a4e15b8b33a41/kiwisolver-1.4.7-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:5337ec7809bcd0f424c6b705ecf97941c46279cf5ed92311782c7c9c2026f07f", size = 2248220 }, - { url = "https://files.pythonhosted.org/packages/3d/ee/55ef86d5a574f4e767df7da3a3a7ff4954c996e12d4fbe9c408170cd7dcc/kiwisolver-1.4.7-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:4c26ed10c4f6fa6ddb329a5120ba3b6db349ca192ae211e882970bfc9d91420b", size = 2404463 }, - { url = "https://files.pythonhosted.org/packages/0f/6d/73ad36170b4bff4825dc588acf4f3e6319cb97cd1fb3eb04d9faa6b6f212/kiwisolver-1.4.7-cp313-cp313-musllinux_1_2_ppc64le.whl", hash = "sha256:c619b101e6de2222c1fcb0531e1b17bbffbe54294bfba43ea0d411d428618c27", size = 2352842 }, - { url = "https://files.pythonhosted.org/packages/0b/16/fa531ff9199d3b6473bb4d0f47416cdb08d556c03b8bc1cccf04e756b56d/kiwisolver-1.4.7-cp313-cp313-musllinux_1_2_s390x.whl", hash = "sha256:073a36c8273647592ea332e816e75ef8da5c303236ec0167196793eb1e34657a", size = 2501635 }, - { url = "https://files.pythonhosted.org/packages/78/7e/aa9422e78419db0cbe75fb86d8e72b433818f2e62e2e394992d23d23a583/kiwisolver-1.4.7-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:3ce6b2b0231bda412463e152fc18335ba32faf4e8c23a754ad50ffa70e4091ee", size = 2314556 }, - { url = "https://files.pythonhosted.org/packages/a8/b2/15f7f556df0a6e5b3772a1e076a9d9f6c538ce5f05bd590eca8106508e06/kiwisolver-1.4.7-cp313-cp313-win32.whl", hash = "sha256:f4c9aee212bc89d4e13f58be11a56cc8036cabad119259d12ace14b34476fd07", size = 46364 }, - { url = "https://files.pythonhosted.org/packages/0b/db/32e897e43a330eee8e4770bfd2737a9584b23e33587a0812b8e20aac38f7/kiwisolver-1.4.7-cp313-cp313-win_amd64.whl", hash = "sha256:8a3ec5aa8e38fc4c8af308917ce12c536f1c88452ce554027e55b22cbbfbff76", size = 55887 }, - { url = "https://files.pythonhosted.org/packages/c8/a4/df2bdca5270ca85fd25253049eb6708d4127be2ed0e5c2650217450b59e9/kiwisolver-1.4.7-cp313-cp313-win_arm64.whl", hash = "sha256:76c8094ac20ec259471ac53e774623eb62e6e1f56cd8690c67ce6ce4fcb05650", size = 48530 }, - { url = "https://files.pythonhosted.org/packages/57/d6/620247574d9e26fe24384087879e8399e309f0051782f95238090afa6ccc/kiwisolver-1.4.7-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:5d5abf8f8ec1f4e22882273c423e16cae834c36856cac348cfbfa68e01c40f3a", size = 122325 }, - { url = "https://files.pythonhosted.org/packages/bd/c6/572ad7d73dbd898cffa9050ffd7ff7e78a055a1d9b7accd6b4d1f50ec858/kiwisolver-1.4.7-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:aeb3531b196ef6f11776c21674dba836aeea9d5bd1cf630f869e3d90b16cfade", size = 65679 }, - { url = "https://files.pythonhosted.org/packages/14/a7/bb8ab10e12cc8764f4da0245d72dee4731cc720bdec0f085d5e9c6005b98/kiwisolver-1.4.7-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:b7d755065e4e866a8086c9bdada157133ff466476a2ad7861828e17b6026e22c", size = 64267 }, - { url = "https://files.pythonhosted.org/packages/54/a4/3b5a2542429e182a4df0528214e76803f79d016110f5e67c414a0357cd7d/kiwisolver-1.4.7-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:08471d4d86cbaec61f86b217dd938a83d85e03785f51121e791a6e6689a3be95", size = 1387236 }, - { url = "https://files.pythonhosted.org/packages/a6/d7/bc3005e906c1673953a3e31ee4f828157d5e07a62778d835dd937d624ea0/kiwisolver-1.4.7-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:7bbfcb7165ce3d54a3dfbe731e470f65739c4c1f85bb1018ee912bae139e263b", size = 1500555 }, - { url = "https://files.pythonhosted.org/packages/09/a7/87cb30741f13b7af08446795dca6003491755805edc9c321fe996c1320b8/kiwisolver-1.4.7-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:5d34eb8494bea691a1a450141ebb5385e4b69d38bb8403b5146ad279f4b30fa3", size = 1431684 }, - { url = "https://files.pythonhosted.org/packages/37/a4/1e4e2d8cdaa42c73d523413498445247e615334e39401ae49dae74885429/kiwisolver-1.4.7-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:9242795d174daa40105c1d86aba618e8eab7bf96ba8c3ee614da8302a9f95503", size = 1125811 }, - { url = "https://files.pythonhosted.org/packages/76/36/ae40d7a3171e06f55ac77fe5536079e7be1d8be2a8210e08975c7f9b4d54/kiwisolver-1.4.7-cp38-cp38-manylinux_2_5_x86_64.manylinux1_x86_64.whl", hash = "sha256:a0f64a48bb81af7450e641e3fe0b0394d7381e342805479178b3d335d60ca7cf", size = 1179987 }, - { url = "https://files.pythonhosted.org/packages/d8/5d/6e4894b9fdf836d8bd095729dff123bbbe6ad0346289287b45c800fae656/kiwisolver-1.4.7-cp38-cp38-musllinux_1_2_aarch64.whl", hash = "sha256:8e045731a5416357638d1700927529e2b8ab304811671f665b225f8bf8d8f933", size = 2186817 }, - { url = "https://files.pythonhosted.org/packages/f0/2d/603079b2c2fd62890be0b0ebfc8bb6dda8a5253ca0758885596565b0dfc1/kiwisolver-1.4.7-cp38-cp38-musllinux_1_2_i686.whl", hash = "sha256:4322872d5772cae7369f8351da1edf255a604ea7087fe295411397d0cfd9655e", size = 2332538 }, - { url = "https://files.pythonhosted.org/packages/bb/2a/9a28279c865c38a27960db38b07179143aafc94877945c209bfc553d9dd3/kiwisolver-1.4.7-cp38-cp38-musllinux_1_2_ppc64le.whl", hash = "sha256:e1631290ee9271dffe3062d2634c3ecac02c83890ada077d225e081aca8aab89", size = 2293890 }, - { url = "https://files.pythonhosted.org/packages/1a/4d/4da8967f3bf13c764984b8fbae330683ee5fbd555b4a5624ad2b9decc0ab/kiwisolver-1.4.7-cp38-cp38-musllinux_1_2_s390x.whl", hash = "sha256:edcfc407e4eb17e037bca59be0e85a2031a2ac87e4fed26d3e9df88b4165f92d", size = 2434677 }, - { url = "https://files.pythonhosted.org/packages/08/e9/a97a2b6b74dd850fa5974309367e025c06093a143befe9b962d0baebb4f0/kiwisolver-1.4.7-cp38-cp38-musllinux_1_2_x86_64.whl", hash = "sha256:4d05d81ecb47d11e7f8932bd8b61b720bf0b41199358f3f5e36d38e28f0532c5", size = 2250339 }, - { url = "https://files.pythonhosted.org/packages/8a/e7/55507a387ba1766e69f5e13a79e1aefabdafe0532bee5d1972dfc42b3d16/kiwisolver-1.4.7-cp38-cp38-win32.whl", hash = "sha256:b38ac83d5f04b15e515fd86f312479d950d05ce2368d5413d46c088dda7de90a", size = 46932 }, - { url = "https://files.pythonhosted.org/packages/52/77/7e04cca2ff1dc6ee6b7654cebe233de72b7a3ec5616501b6f3144fb70740/kiwisolver-1.4.7-cp38-cp38-win_amd64.whl", hash = "sha256:d83db7cde68459fc803052a55ace60bea2bae361fc3b7a6d5da07e11954e4b09", size = 55836 }, - { url = "https://files.pythonhosted.org/packages/11/88/37ea0ea64512997b13d69772db8dcdc3bfca5442cda3a5e4bb943652ee3e/kiwisolver-1.4.7-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:3f9362ecfca44c863569d3d3c033dbe8ba452ff8eed6f6b5806382741a1334bd", size = 122449 }, - { url = "https://files.pythonhosted.org/packages/4e/45/5a5c46078362cb3882dcacad687c503089263c017ca1241e0483857791eb/kiwisolver-1.4.7-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:e8df2eb9b2bac43ef8b082e06f750350fbbaf2887534a5be97f6cf07b19d9583", size = 65757 }, - { url = "https://files.pythonhosted.org/packages/8a/be/a6ae58978772f685d48dd2e84460937761c53c4bbd84e42b0336473d9775/kiwisolver-1.4.7-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:f32d6edbc638cde7652bd690c3e728b25332acbadd7cad670cc4a02558d9c417", size = 64312 }, - { url = "https://files.pythonhosted.org/packages/f4/04/18ef6f452d311e1e1eb180c9bf5589187fa1f042db877e6fe443ef10099c/kiwisolver-1.4.7-cp39-cp39-manylinux_2_12_i686.manylinux2010_i686.whl", hash = "sha256:e2e6c39bd7b9372b0be21456caab138e8e69cc0fc1190a9dfa92bd45a1e6e904", size = 1626966 }, - { url = "https://files.pythonhosted.org/packages/21/b1/40655f6c3fa11ce740e8a964fa8e4c0479c87d6a7944b95af799c7a55dfe/kiwisolver-1.4.7-cp39-cp39-manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:dda56c24d869b1193fcc763f1284b9126550eaf84b88bbc7256e15028f19188a", size = 1607044 }, - { url = "https://files.pythonhosted.org/packages/fd/93/af67dbcfb9b3323bbd2c2db1385a7139d8f77630e4a37bb945b57188eb2d/kiwisolver-1.4.7-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:79849239c39b5e1fd906556c474d9b0439ea6792b637511f3fe3a41158d89ca8", size = 1391879 }, - { url = "https://files.pythonhosted.org/packages/40/6f/d60770ef98e77b365d96061d090c0cd9e23418121c55fff188fa4bdf0b54/kiwisolver-1.4.7-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:5e3bc157fed2a4c02ec468de4ecd12a6e22818d4f09cde2c31ee3226ffbefab2", size = 1504751 }, - { url = "https://files.pythonhosted.org/packages/fa/3a/5f38667d313e983c432f3fcd86932177519ed8790c724e07d77d1de0188a/kiwisolver-1.4.7-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:3da53da805b71e41053dc670f9a820d1157aae77b6b944e08024d17bcd51ef88", size = 1436990 }, - { url = "https://files.pythonhosted.org/packages/cb/3b/1520301a47326e6a6043b502647e42892be33b3f051e9791cc8bb43f1a32/kiwisolver-1.4.7-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:8705f17dfeb43139a692298cb6637ee2e59c0194538153e83e9ee0c75c2eddde", size = 2191122 }, - { url = "https://files.pythonhosted.org/packages/cf/c4/eb52da300c166239a2233f1f9c4a1b767dfab98fae27681bfb7ea4873cb6/kiwisolver-1.4.7-cp39-cp39-musllinux_1_2_i686.whl", hash = "sha256:82a5c2f4b87c26bb1a0ef3d16b5c4753434633b83d365cc0ddf2770c93829e3c", size = 2338126 }, - { url = "https://files.pythonhosted.org/packages/1a/cb/42b92fd5eadd708dd9107c089e817945500685f3437ce1fd387efebc6d6e/kiwisolver-1.4.7-cp39-cp39-musllinux_1_2_ppc64le.whl", hash = "sha256:ce8be0466f4c0d585cdb6c1e2ed07232221df101a4c6f28821d2aa754ca2d9e2", size = 2298313 }, - { url = "https://files.pythonhosted.org/packages/4f/eb/be25aa791fe5fc75a8b1e0c965e00f942496bc04635c9aae8035f6b76dcd/kiwisolver-1.4.7-cp39-cp39-musllinux_1_2_s390x.whl", hash = "sha256:409afdfe1e2e90e6ee7fc896f3df9a7fec8e793e58bfa0d052c8a82f99c37abb", size = 2437784 }, - { url = "https://files.pythonhosted.org/packages/c5/22/30a66be7f3368d76ff95689e1c2e28d382383952964ab15330a15d8bfd03/kiwisolver-1.4.7-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:5b9c3f4ee0b9a439d2415012bd1b1cc2df59e4d6a9939f4d669241d30b414327", size = 2253988 }, - { url = "https://files.pythonhosted.org/packages/35/d3/5f2ecb94b5211c8a04f218a76133cc8d6d153b0f9cd0b45fad79907f0689/kiwisolver-1.4.7-cp39-cp39-win32.whl", hash = "sha256:a79ae34384df2b615eefca647a2873842ac3b596418032bef9a7283675962644", size = 46980 }, - { url = "https://files.pythonhosted.org/packages/ef/17/cd10d020578764ea91740204edc6b3236ed8106228a46f568d716b11feb2/kiwisolver-1.4.7-cp39-cp39-win_amd64.whl", hash = "sha256:cf0438b42121a66a3a667de17e779330fc0f20b0d97d59d2f2121e182b0505e4", size = 55847 }, - { url = "https://files.pythonhosted.org/packages/91/84/32232502020bd78d1d12be7afde15811c64a95ed1f606c10456db4e4c3ac/kiwisolver-1.4.7-cp39-cp39-win_arm64.whl", hash = "sha256:764202cc7e70f767dab49e8df52c7455e8de0df5d858fa801a11aa0d882ccf3f", size = 48494 }, - { url = "https://files.pythonhosted.org/packages/ac/59/741b79775d67ab67ced9bb38552da688c0305c16e7ee24bba7a2be253fb7/kiwisolver-1.4.7-pp310-pypy310_pp73-macosx_10_15_x86_64.whl", hash = "sha256:94252291e3fe68001b1dd747b4c0b3be12582839b95ad4d1b641924d68fd4643", size = 59491 }, - { url = "https://files.pythonhosted.org/packages/58/cc/fb239294c29a5656e99e3527f7369b174dd9cc7c3ef2dea7cb3c54a8737b/kiwisolver-1.4.7-pp310-pypy310_pp73-macosx_11_0_arm64.whl", hash = "sha256:5b7dfa3b546da08a9f622bb6becdb14b3e24aaa30adba66749d38f3cc7ea9706", size = 57648 }, - { url = "https://files.pythonhosted.org/packages/3b/ef/2f009ac1f7aab9f81efb2d837301d255279d618d27b6015780115ac64bdd/kiwisolver-1.4.7-pp310-pypy310_pp73-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:bd3de6481f4ed8b734da5df134cd5a6a64fe32124fe83dde1e5b5f29fe30b1e6", size = 84257 }, - { url = "https://files.pythonhosted.org/packages/81/e1/c64f50987f85b68b1c52b464bb5bf73e71570c0f7782d626d1eb283ad620/kiwisolver-1.4.7-pp310-pypy310_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a91b5f9f1205845d488c928e8570dcb62b893372f63b8b6e98b863ebd2368ff2", size = 80906 }, - { url = "https://files.pythonhosted.org/packages/fd/71/1687c5c0a0be2cee39a5c9c389e546f9c6e215e46b691d00d9f646892083/kiwisolver-1.4.7-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:40fa14dbd66b8b8f470d5fc79c089a66185619d31645f9b0773b88b19f7223c4", size = 79951 }, - { url = "https://files.pythonhosted.org/packages/ea/8b/d7497df4a1cae9367adf21665dd1f896c2a7aeb8769ad77b662c5e2bcce7/kiwisolver-1.4.7-pp310-pypy310_pp73-win_amd64.whl", hash = "sha256:eb542fe7933aa09d8d8f9d9097ef37532a7df6497819d16efe4359890a2f417a", size = 55715 }, - { url = "https://files.pythonhosted.org/packages/64/f3/2403d90821fffe496df16f6996cb328b90b0d80c06d2938a930a7732b4f1/kiwisolver-1.4.7-pp38-pypy38_pp73-macosx_10_9_x86_64.whl", hash = "sha256:bfa1acfa0c54932d5607e19a2c24646fb4c1ae2694437789129cf099789a3b00", size = 59662 }, - { url = "https://files.pythonhosted.org/packages/fa/7d/8f409736a4a6ac04354fa530ebf46682ddb1539b0bae15f4731ff2c575bc/kiwisolver-1.4.7-pp38-pypy38_pp73-macosx_11_0_arm64.whl", hash = "sha256:eee3ea935c3d227d49b4eb85660ff631556841f6e567f0f7bda972df6c2c9935", size = 57753 }, - { url = "https://files.pythonhosted.org/packages/4c/a5/3937c9abe8eedb1356071739ad437a0b486cbad27d54f4ec4733d24882ac/kiwisolver-1.4.7-pp38-pypy38_pp73-manylinux_2_12_i686.manylinux2010_i686.whl", hash = "sha256:f3160309af4396e0ed04db259c3ccbfdc3621b5559b5453075e5de555e1f3a1b", size = 103564 }, - { url = "https://files.pythonhosted.org/packages/b2/18/a5ae23888f010b90d5eb8d196fed30e268056b2ded54d25b38a193bb70e9/kiwisolver-1.4.7-pp38-pypy38_pp73-manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:a17f6a29cf8935e587cc8a4dbfc8368c55edc645283db0ce9801016f83526c2d", size = 95264 }, - { url = "https://files.pythonhosted.org/packages/f9/d0/c4240ae86306d4395e9701f1d7e6ddcc6d60c28cb0127139176cfcfc9ebe/kiwisolver-1.4.7-pp38-pypy38_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:10849fb2c1ecbfae45a693c070e0320a91b35dd4bcf58172c023b994283a124d", size = 78197 }, - { url = "https://files.pythonhosted.org/packages/62/db/62423f0ab66813376a35c1e7da488ebdb4e808fcb54b7cec33959717bda1/kiwisolver-1.4.7-pp38-pypy38_pp73-win_amd64.whl", hash = "sha256:ac542bf38a8a4be2dc6b15248d36315ccc65f0743f7b1a76688ffb6b5129a5c2", size = 56080 }, - { url = "https://files.pythonhosted.org/packages/d5/df/ce37d9b26f07ab90880923c94d12a6ff4d27447096b4c849bfc4339ccfdf/kiwisolver-1.4.7-pp39-pypy39_pp73-macosx_10_15_x86_64.whl", hash = "sha256:8b01aac285f91ca889c800042c35ad3b239e704b150cfd3382adfc9dcc780e39", size = 58666 }, - { url = "https://files.pythonhosted.org/packages/b0/d3/e4b04f43bc629ac8e186b77b2b1a251cdfa5b7610fa189dc0db622672ce6/kiwisolver-1.4.7-pp39-pypy39_pp73-macosx_11_0_arm64.whl", hash = "sha256:48be928f59a1f5c8207154f935334d374e79f2b5d212826307d072595ad76a2e", size = 57088 }, - { url = "https://files.pythonhosted.org/packages/30/1c/752df58e2d339e670a535514d2db4fe8c842ce459776b8080fbe08ebb98e/kiwisolver-1.4.7-pp39-pypy39_pp73-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:f37cfe618a117e50d8c240555331160d73d0411422b59b5ee217843d7b693608", size = 84321 }, - { url = "https://files.pythonhosted.org/packages/f0/f8/fe6484e847bc6e238ec9f9828089fb2c0bb53f2f5f3a79351fde5b565e4f/kiwisolver-1.4.7-pp39-pypy39_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:599b5c873c63a1f6ed7eead644a8a380cfbdf5db91dcb6f85707aaab213b1674", size = 80776 }, - { url = "https://files.pythonhosted.org/packages/9b/57/d7163c0379f250ef763aba85330a19feefb5ce6cb541ade853aaba881524/kiwisolver-1.4.7-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:801fa7802e5cfabe3ab0c81a34c323a319b097dfb5004be950482d882f3d7225", size = 79984 }, - { url = "https://files.pythonhosted.org/packages/8c/95/4a103776c265d13b3d2cd24fb0494d4e04ea435a8ef97e1b2c026d43250b/kiwisolver-1.4.7-pp39-pypy39_pp73-win_amd64.whl", hash = "sha256:0c6c43471bc764fad4bc99c5c2d6d16a676b1abf844ca7c8702bdae92df01ee0", size = 55811 }, +sdist = { url = "https://files.pythonhosted.org/packages/85/4d/2255e1c76304cbd60b48cee302b66d1dde4468dc5b1160e4b7cb43778f2a/kiwisolver-1.4.7.tar.gz", hash = "sha256:9893ff81bd7107f7b685d3017cc6583daadb4fc26e4a888350df530e41980a60", size = 97286, upload-time = "2024-09-04T09:39:44.302Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/97/14/fc943dd65268a96347472b4fbe5dcc2f6f55034516f80576cd0dd3a8930f/kiwisolver-1.4.7-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:8a9c83f75223d5e48b0bc9cb1bf2776cf01563e00ade8775ffe13b0b6e1af3a6", size = 122440, upload-time = "2024-09-04T09:03:44.9Z" }, + { url = "https://files.pythonhosted.org/packages/1e/46/e68fed66236b69dd02fcdb506218c05ac0e39745d696d22709498896875d/kiwisolver-1.4.7-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:58370b1ffbd35407444d57057b57da5d6549d2d854fa30249771775c63b5fe17", size = 65758, upload-time = "2024-09-04T09:03:46.582Z" }, + { url = "https://files.pythonhosted.org/packages/ef/fa/65de49c85838681fc9cb05de2a68067a683717321e01ddafb5b8024286f0/kiwisolver-1.4.7-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:aa0abdf853e09aff551db11fce173e2177d00786c688203f52c87ad7fcd91ef9", size = 64311, upload-time = "2024-09-04T09:03:47.973Z" }, + { url = "https://files.pythonhosted.org/packages/42/9c/cc8d90f6ef550f65443bad5872ffa68f3dee36de4974768628bea7c14979/kiwisolver-1.4.7-cp310-cp310-manylinux_2_12_i686.manylinux2010_i686.whl", hash = "sha256:8d53103597a252fb3ab8b5845af04c7a26d5e7ea8122303dd7a021176a87e8b9", size = 1637109, upload-time = "2024-09-04T09:03:49.281Z" }, + { url = "https://files.pythonhosted.org/packages/55/91/0a57ce324caf2ff5403edab71c508dd8f648094b18cfbb4c8cc0fde4a6ac/kiwisolver-1.4.7-cp310-cp310-manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:88f17c5ffa8e9462fb79f62746428dd57b46eb931698e42e990ad63103f35e6c", size = 1617814, upload-time = "2024-09-04T09:03:51.444Z" }, + { url = "https://files.pythonhosted.org/packages/12/5d/c36140313f2510e20207708adf36ae4919416d697ee0236b0ddfb6fd1050/kiwisolver-1.4.7-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:88a9ca9c710d598fd75ee5de59d5bda2684d9db36a9f50b6125eaea3969c2599", size = 1400881, upload-time = "2024-09-04T09:03:53.357Z" }, + { url = "https://files.pythonhosted.org/packages/56/d0/786e524f9ed648324a466ca8df86298780ef2b29c25313d9a4f16992d3cf/kiwisolver-1.4.7-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:f4d742cb7af1c28303a51b7a27aaee540e71bb8e24f68c736f6f2ffc82f2bf05", size = 1512972, upload-time = "2024-09-04T09:03:55.082Z" }, + { url = "https://files.pythonhosted.org/packages/67/5a/77851f2f201e6141d63c10a0708e996a1363efaf9e1609ad0441b343763b/kiwisolver-1.4.7-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:e28c7fea2196bf4c2f8d46a0415c77a1c480cc0724722f23d7410ffe9842c407", size = 1444787, upload-time = "2024-09-04T09:03:56.588Z" }, + { url = "https://files.pythonhosted.org/packages/06/5f/1f5eaab84355885e224a6fc8d73089e8713dc7e91c121f00b9a1c58a2195/kiwisolver-1.4.7-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:e968b84db54f9d42046cf154e02911e39c0435c9801681e3fc9ce8a3c4130278", size = 2199212, upload-time = "2024-09-04T09:03:58.557Z" }, + { url = "https://files.pythonhosted.org/packages/b5/28/9152a3bfe976a0ae21d445415defc9d1cd8614b2910b7614b30b27a47270/kiwisolver-1.4.7-cp310-cp310-musllinux_1_2_i686.whl", hash = "sha256:0c18ec74c0472de033e1bebb2911c3c310eef5649133dd0bedf2a169a1b269e5", size = 2346399, upload-time = "2024-09-04T09:04:00.178Z" }, + { url = "https://files.pythonhosted.org/packages/26/f6/453d1904c52ac3b400f4d5e240ac5fec25263716723e44be65f4d7149d13/kiwisolver-1.4.7-cp310-cp310-musllinux_1_2_ppc64le.whl", hash = "sha256:8f0ea6da6d393d8b2e187e6a5e3fb81f5862010a40c3945e2c6d12ae45cfb2ad", size = 2308688, upload-time = "2024-09-04T09:04:02.216Z" }, + { url = "https://files.pythonhosted.org/packages/5a/9a/d4968499441b9ae187e81745e3277a8b4d7c60840a52dc9d535a7909fac3/kiwisolver-1.4.7-cp310-cp310-musllinux_1_2_s390x.whl", hash = "sha256:f106407dda69ae456dd1227966bf445b157ccc80ba0dff3802bb63f30b74e895", size = 2445493, upload-time = "2024-09-04T09:04:04.571Z" }, + { url = "https://files.pythonhosted.org/packages/07/c9/032267192e7828520dacb64dfdb1d74f292765f179e467c1cba97687f17d/kiwisolver-1.4.7-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:84ec80df401cfee1457063732d90022f93951944b5b58975d34ab56bb150dfb3", size = 2262191, upload-time = "2024-09-04T09:04:05.969Z" }, + { url = "https://files.pythonhosted.org/packages/6c/ad/db0aedb638a58b2951da46ddaeecf204be8b4f5454df020d850c7fa8dca8/kiwisolver-1.4.7-cp310-cp310-win32.whl", hash = "sha256:71bb308552200fb2c195e35ef05de12f0c878c07fc91c270eb3d6e41698c3bcc", size = 46644, upload-time = "2024-09-04T09:04:07.408Z" }, + { url = "https://files.pythonhosted.org/packages/12/ca/d0f7b7ffbb0be1e7c2258b53554efec1fd652921f10d7d85045aff93ab61/kiwisolver-1.4.7-cp310-cp310-win_amd64.whl", hash = "sha256:44756f9fd339de0fb6ee4f8c1696cfd19b2422e0d70b4cefc1cc7f1f64045a8c", size = 55877, upload-time = "2024-09-04T09:04:08.869Z" }, + { url = "https://files.pythonhosted.org/packages/97/6c/cfcc128672f47a3e3c0d918ecb67830600078b025bfc32d858f2e2d5c6a4/kiwisolver-1.4.7-cp310-cp310-win_arm64.whl", hash = "sha256:78a42513018c41c2ffd262eb676442315cbfe3c44eed82385c2ed043bc63210a", size = 48347, upload-time = "2024-09-04T09:04:10.106Z" }, + { url = "https://files.pythonhosted.org/packages/e9/44/77429fa0a58f941d6e1c58da9efe08597d2e86bf2b2cce6626834f49d07b/kiwisolver-1.4.7-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:d2b0e12a42fb4e72d509fc994713d099cbb15ebf1103545e8a45f14da2dfca54", size = 122442, upload-time = "2024-09-04T09:04:11.432Z" }, + { url = "https://files.pythonhosted.org/packages/e5/20/8c75caed8f2462d63c7fd65e16c832b8f76cda331ac9e615e914ee80bac9/kiwisolver-1.4.7-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:2a8781ac3edc42ea4b90bc23e7d37b665d89423818e26eb6df90698aa2287c95", size = 65762, upload-time = "2024-09-04T09:04:12.468Z" }, + { url = "https://files.pythonhosted.org/packages/f4/98/fe010f15dc7230f45bc4cf367b012d651367fd203caaa992fd1f5963560e/kiwisolver-1.4.7-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:46707a10836894b559e04b0fd143e343945c97fd170d69a2d26d640b4e297935", size = 64319, upload-time = "2024-09-04T09:04:13.635Z" }, + { url = "https://files.pythonhosted.org/packages/8b/1b/b5d618f4e58c0675654c1e5051bcf42c776703edb21c02b8c74135541f60/kiwisolver-1.4.7-cp311-cp311-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:ef97b8df011141c9b0f6caf23b29379f87dd13183c978a30a3c546d2c47314cb", size = 1334260, upload-time = "2024-09-04T09:04:14.878Z" }, + { url = "https://files.pythonhosted.org/packages/b8/01/946852b13057a162a8c32c4c8d2e9ed79f0bb5d86569a40c0b5fb103e373/kiwisolver-1.4.7-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:3ab58c12a2cd0fc769089e6d38466c46d7f76aced0a1f54c77652446733d2d02", size = 1426589, upload-time = "2024-09-04T09:04:16.514Z" }, + { url = "https://files.pythonhosted.org/packages/70/d1/c9f96df26b459e15cf8a965304e6e6f4eb291e0f7a9460b4ad97b047561e/kiwisolver-1.4.7-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:803b8e1459341c1bb56d1c5c010406d5edec8a0713a0945851290a7930679b51", size = 1541080, upload-time = "2024-09-04T09:04:18.322Z" }, + { url = "https://files.pythonhosted.org/packages/d3/73/2686990eb8b02d05f3de759d6a23a4ee7d491e659007dd4c075fede4b5d0/kiwisolver-1.4.7-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:f9a9e8a507420fe35992ee9ecb302dab68550dedc0da9e2880dd88071c5fb052", size = 1470049, upload-time = "2024-09-04T09:04:20.266Z" }, + { url = "https://files.pythonhosted.org/packages/a7/4b/2db7af3ed3af7c35f388d5f53c28e155cd402a55432d800c543dc6deb731/kiwisolver-1.4.7-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:18077b53dc3bb490e330669a99920c5e6a496889ae8c63b58fbc57c3d7f33a18", size = 1426376, upload-time = "2024-09-04T09:04:22.419Z" }, + { url = "https://files.pythonhosted.org/packages/05/83/2857317d04ea46dc5d115f0df7e676997bbd968ced8e2bd6f7f19cfc8d7f/kiwisolver-1.4.7-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:6af936f79086a89b3680a280c47ea90b4df7047b5bdf3aa5c524bbedddb9e545", size = 2222231, upload-time = "2024-09-04T09:04:24.526Z" }, + { url = "https://files.pythonhosted.org/packages/0d/b5/866f86f5897cd4ab6d25d22e403404766a123f138bd6a02ecb2cdde52c18/kiwisolver-1.4.7-cp311-cp311-musllinux_1_2_i686.whl", hash = "sha256:3abc5b19d24af4b77d1598a585b8a719beb8569a71568b66f4ebe1fb0449460b", size = 2368634, upload-time = "2024-09-04T09:04:25.899Z" }, + { url = "https://files.pythonhosted.org/packages/c1/ee/73de8385403faba55f782a41260210528fe3273d0cddcf6d51648202d6d0/kiwisolver-1.4.7-cp311-cp311-musllinux_1_2_ppc64le.whl", hash = "sha256:933d4de052939d90afbe6e9d5273ae05fb836cc86c15b686edd4b3560cc0ee36", size = 2329024, upload-time = "2024-09-04T09:04:28.523Z" }, + { url = "https://files.pythonhosted.org/packages/a1/e7/cd101d8cd2cdfaa42dc06c433df17c8303d31129c9fdd16c0ea37672af91/kiwisolver-1.4.7-cp311-cp311-musllinux_1_2_s390x.whl", hash = "sha256:65e720d2ab2b53f1f72fb5da5fb477455905ce2c88aaa671ff0a447c2c80e8e3", size = 2468484, upload-time = "2024-09-04T09:04:30.547Z" }, + { url = "https://files.pythonhosted.org/packages/e1/72/84f09d45a10bc57a40bb58b81b99d8f22b58b2040c912b7eb97ebf625bf2/kiwisolver-1.4.7-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:3bf1ed55088f214ba6427484c59553123fdd9b218a42bbc8c6496d6754b1e523", size = 2284078, upload-time = "2024-09-04T09:04:33.218Z" }, + { url = "https://files.pythonhosted.org/packages/d2/d4/71828f32b956612dc36efd7be1788980cb1e66bfb3706e6dec9acad9b4f9/kiwisolver-1.4.7-cp311-cp311-win32.whl", hash = "sha256:4c00336b9dd5ad96d0a558fd18a8b6f711b7449acce4c157e7343ba92dd0cf3d", size = 46645, upload-time = "2024-09-04T09:04:34.371Z" }, + { url = "https://files.pythonhosted.org/packages/a1/65/d43e9a20aabcf2e798ad1aff6c143ae3a42cf506754bcb6a7ed8259c8425/kiwisolver-1.4.7-cp311-cp311-win_amd64.whl", hash = "sha256:929e294c1ac1e9f615c62a4e4313ca1823ba37326c164ec720a803287c4c499b", size = 56022, upload-time = "2024-09-04T09:04:35.786Z" }, + { url = "https://files.pythonhosted.org/packages/35/b3/9f75a2e06f1b4ca00b2b192bc2b739334127d27f1d0625627ff8479302ba/kiwisolver-1.4.7-cp311-cp311-win_arm64.whl", hash = "sha256:e33e8fbd440c917106b237ef1a2f1449dfbb9b6f6e1ce17c94cd6a1e0d438376", size = 48536, upload-time = "2024-09-04T09:04:37.525Z" }, + { url = "https://files.pythonhosted.org/packages/97/9c/0a11c714cf8b6ef91001c8212c4ef207f772dd84540104952c45c1f0a249/kiwisolver-1.4.7-cp312-cp312-macosx_10_9_universal2.whl", hash = "sha256:5360cc32706dab3931f738d3079652d20982511f7c0ac5711483e6eab08efff2", size = 121808, upload-time = "2024-09-04T09:04:38.637Z" }, + { url = "https://files.pythonhosted.org/packages/f2/d8/0fe8c5f5d35878ddd135f44f2af0e4e1d379e1c7b0716f97cdcb88d4fd27/kiwisolver-1.4.7-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:942216596dc64ddb25adb215c3c783215b23626f8d84e8eff8d6d45c3f29f75a", size = 65531, upload-time = "2024-09-04T09:04:39.694Z" }, + { url = "https://files.pythonhosted.org/packages/80/c5/57fa58276dfdfa612241d640a64ca2f76adc6ffcebdbd135b4ef60095098/kiwisolver-1.4.7-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:48b571ecd8bae15702e4f22d3ff6a0f13e54d3d00cd25216d5e7f658242065ee", size = 63894, upload-time = "2024-09-04T09:04:41.6Z" }, + { url = "https://files.pythonhosted.org/packages/8b/e9/26d3edd4c4ad1c5b891d8747a4f81b1b0aba9fb9721de6600a4adc09773b/kiwisolver-1.4.7-cp312-cp312-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:ad42ba922c67c5f219097b28fae965e10045ddf145d2928bfac2eb2e17673640", size = 1369296, upload-time = "2024-09-04T09:04:42.886Z" }, + { url = "https://files.pythonhosted.org/packages/b6/67/3f4850b5e6cffb75ec40577ddf54f7b82b15269cc5097ff2e968ee32ea7d/kiwisolver-1.4.7-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:612a10bdae23404a72941a0fc8fa2660c6ea1217c4ce0dbcab8a8f6543ea9e7f", size = 1461450, upload-time = "2024-09-04T09:04:46.284Z" }, + { url = "https://files.pythonhosted.org/packages/52/be/86cbb9c9a315e98a8dc6b1d23c43cffd91d97d49318854f9c37b0e41cd68/kiwisolver-1.4.7-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:9e838bba3a3bac0fe06d849d29772eb1afb9745a59710762e4ba3f4cb8424483", size = 1579168, upload-time = "2024-09-04T09:04:47.91Z" }, + { url = "https://files.pythonhosted.org/packages/0f/00/65061acf64bd5fd34c1f4ae53f20b43b0a017a541f242a60b135b9d1e301/kiwisolver-1.4.7-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:22f499f6157236c19f4bbbd472fa55b063db77a16cd74d49afe28992dff8c258", size = 1507308, upload-time = "2024-09-04T09:04:49.465Z" }, + { url = "https://files.pythonhosted.org/packages/21/e4/c0b6746fd2eb62fe702118b3ca0cb384ce95e1261cfada58ff693aeec08a/kiwisolver-1.4.7-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:693902d433cf585133699972b6d7c42a8b9f8f826ebcaf0132ff55200afc599e", size = 1464186, upload-time = "2024-09-04T09:04:50.949Z" }, + { url = "https://files.pythonhosted.org/packages/0a/0f/529d0a9fffb4d514f2782c829b0b4b371f7f441d61aa55f1de1c614c4ef3/kiwisolver-1.4.7-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:4e77f2126c3e0b0d055f44513ed349038ac180371ed9b52fe96a32aa071a5107", size = 2247877, upload-time = "2024-09-04T09:04:52.388Z" }, + { url = "https://files.pythonhosted.org/packages/d1/e1/66603ad779258843036d45adcbe1af0d1a889a07af4635f8b4ec7dccda35/kiwisolver-1.4.7-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:657a05857bda581c3656bfc3b20e353c232e9193eb167766ad2dc58b56504948", size = 2404204, upload-time = "2024-09-04T09:04:54.385Z" }, + { url = "https://files.pythonhosted.org/packages/8d/61/de5fb1ca7ad1f9ab7970e340a5b833d735df24689047de6ae71ab9d8d0e7/kiwisolver-1.4.7-cp312-cp312-musllinux_1_2_ppc64le.whl", hash = "sha256:4bfa75a048c056a411f9705856abfc872558e33c055d80af6a380e3658766038", size = 2352461, upload-time = "2024-09-04T09:04:56.307Z" }, + { url = "https://files.pythonhosted.org/packages/ba/d2/0edc00a852e369827f7e05fd008275f550353f1f9bcd55db9363d779fc63/kiwisolver-1.4.7-cp312-cp312-musllinux_1_2_s390x.whl", hash = "sha256:34ea1de54beef1c104422d210c47c7d2a4999bdecf42c7b5718fbe59a4cac383", size = 2501358, upload-time = "2024-09-04T09:04:57.922Z" }, + { url = "https://files.pythonhosted.org/packages/84/15/adc15a483506aec6986c01fb7f237c3aec4d9ed4ac10b756e98a76835933/kiwisolver-1.4.7-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:90da3b5f694b85231cf93586dad5e90e2d71b9428f9aad96952c99055582f520", size = 2314119, upload-time = "2024-09-04T09:04:59.332Z" }, + { url = "https://files.pythonhosted.org/packages/36/08/3a5bb2c53c89660863a5aa1ee236912269f2af8762af04a2e11df851d7b2/kiwisolver-1.4.7-cp312-cp312-win32.whl", hash = "sha256:18e0cca3e008e17fe9b164b55735a325140a5a35faad8de92dd80265cd5eb80b", size = 46367, upload-time = "2024-09-04T09:05:00.804Z" }, + { url = "https://files.pythonhosted.org/packages/19/93/c05f0a6d825c643779fc3c70876bff1ac221f0e31e6f701f0e9578690d70/kiwisolver-1.4.7-cp312-cp312-win_amd64.whl", hash = "sha256:58cb20602b18f86f83a5c87d3ee1c766a79c0d452f8def86d925e6c60fbf7bfb", size = 55884, upload-time = "2024-09-04T09:05:01.924Z" }, + { url = "https://files.pythonhosted.org/packages/d2/f9/3828d8f21b6de4279f0667fb50a9f5215e6fe57d5ec0d61905914f5b6099/kiwisolver-1.4.7-cp312-cp312-win_arm64.whl", hash = "sha256:f5a8b53bdc0b3961f8b6125e198617c40aeed638b387913bf1ce78afb1b0be2a", size = 48528, upload-time = "2024-09-04T09:05:02.983Z" }, + { url = "https://files.pythonhosted.org/packages/c4/06/7da99b04259b0f18b557a4effd1b9c901a747f7fdd84cf834ccf520cb0b2/kiwisolver-1.4.7-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:2e6039dcbe79a8e0f044f1c39db1986a1b8071051efba3ee4d74f5b365f5226e", size = 121913, upload-time = "2024-09-04T09:05:04.072Z" }, + { url = "https://files.pythonhosted.org/packages/97/f5/b8a370d1aa593c17882af0a6f6755aaecd643640c0ed72dcfd2eafc388b9/kiwisolver-1.4.7-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:a1ecf0ac1c518487d9d23b1cd7139a6a65bc460cd101ab01f1be82ecf09794b6", size = 65627, upload-time = "2024-09-04T09:05:05.119Z" }, + { url = "https://files.pythonhosted.org/packages/2a/fc/6c0374f7503522539e2d4d1b497f5ebad3f8ed07ab51aed2af988dd0fb65/kiwisolver-1.4.7-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:7ab9ccab2b5bd5702ab0803676a580fffa2aa178c2badc5557a84cc943fcf750", size = 63888, upload-time = "2024-09-04T09:05:06.191Z" }, + { url = "https://files.pythonhosted.org/packages/bf/3e/0b7172793d0f41cae5c923492da89a2ffcd1adf764c16159ca047463ebd3/kiwisolver-1.4.7-cp313-cp313-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:f816dd2277f8d63d79f9c8473a79fe54047bc0467754962840782c575522224d", size = 1369145, upload-time = "2024-09-04T09:05:07.919Z" }, + { url = "https://files.pythonhosted.org/packages/77/92/47d050d6f6aced2d634258123f2688fbfef8ded3c5baf2c79d94d91f1f58/kiwisolver-1.4.7-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:cf8bcc23ceb5a1b624572a1623b9f79d2c3b337c8c455405ef231933a10da379", size = 1461448, upload-time = "2024-09-04T09:05:10.01Z" }, + { url = "https://files.pythonhosted.org/packages/9c/1b/8f80b18e20b3b294546a1adb41701e79ae21915f4175f311a90d042301cf/kiwisolver-1.4.7-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:dea0bf229319828467d7fca8c7c189780aa9ff679c94539eed7532ebe33ed37c", size = 1578750, upload-time = "2024-09-04T09:05:11.598Z" }, + { url = "https://files.pythonhosted.org/packages/a4/fe/fe8e72f3be0a844f257cadd72689c0848c6d5c51bc1d60429e2d14ad776e/kiwisolver-1.4.7-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:7c06a4c7cf15ec739ce0e5971b26c93638730090add60e183530d70848ebdd34", size = 1507175, upload-time = "2024-09-04T09:05:13.22Z" }, + { url = "https://files.pythonhosted.org/packages/39/fa/cdc0b6105d90eadc3bee525fecc9179e2b41e1ce0293caaf49cb631a6aaf/kiwisolver-1.4.7-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:913983ad2deb14e66d83c28b632fd35ba2b825031f2fa4ca29675e665dfecbe1", size = 1463963, upload-time = "2024-09-04T09:05:15.925Z" }, + { url = "https://files.pythonhosted.org/packages/6e/5c/0c03c4e542720c6177d4f408e56d1c8315899db72d46261a4e15b8b33a41/kiwisolver-1.4.7-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:5337ec7809bcd0f424c6b705ecf97941c46279cf5ed92311782c7c9c2026f07f", size = 2248220, upload-time = "2024-09-04T09:05:17.434Z" }, + { url = "https://files.pythonhosted.org/packages/3d/ee/55ef86d5a574f4e767df7da3a3a7ff4954c996e12d4fbe9c408170cd7dcc/kiwisolver-1.4.7-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:4c26ed10c4f6fa6ddb329a5120ba3b6db349ca192ae211e882970bfc9d91420b", size = 2404463, upload-time = "2024-09-04T09:05:18.997Z" }, + { url = "https://files.pythonhosted.org/packages/0f/6d/73ad36170b4bff4825dc588acf4f3e6319cb97cd1fb3eb04d9faa6b6f212/kiwisolver-1.4.7-cp313-cp313-musllinux_1_2_ppc64le.whl", hash = "sha256:c619b101e6de2222c1fcb0531e1b17bbffbe54294bfba43ea0d411d428618c27", size = 2352842, upload-time = "2024-09-04T09:05:21.299Z" }, + { url = "https://files.pythonhosted.org/packages/0b/16/fa531ff9199d3b6473bb4d0f47416cdb08d556c03b8bc1cccf04e756b56d/kiwisolver-1.4.7-cp313-cp313-musllinux_1_2_s390x.whl", hash = "sha256:073a36c8273647592ea332e816e75ef8da5c303236ec0167196793eb1e34657a", size = 2501635, upload-time = "2024-09-04T09:05:23.588Z" }, + { url = "https://files.pythonhosted.org/packages/78/7e/aa9422e78419db0cbe75fb86d8e72b433818f2e62e2e394992d23d23a583/kiwisolver-1.4.7-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:3ce6b2b0231bda412463e152fc18335ba32faf4e8c23a754ad50ffa70e4091ee", size = 2314556, upload-time = "2024-09-04T09:05:25.907Z" }, + { url = "https://files.pythonhosted.org/packages/a8/b2/15f7f556df0a6e5b3772a1e076a9d9f6c538ce5f05bd590eca8106508e06/kiwisolver-1.4.7-cp313-cp313-win32.whl", hash = "sha256:f4c9aee212bc89d4e13f58be11a56cc8036cabad119259d12ace14b34476fd07", size = 46364, upload-time = "2024-09-04T09:05:27.184Z" }, + { url = "https://files.pythonhosted.org/packages/0b/db/32e897e43a330eee8e4770bfd2737a9584b23e33587a0812b8e20aac38f7/kiwisolver-1.4.7-cp313-cp313-win_amd64.whl", hash = "sha256:8a3ec5aa8e38fc4c8af308917ce12c536f1c88452ce554027e55b22cbbfbff76", size = 55887, upload-time = "2024-09-04T09:05:28.372Z" }, + { url = "https://files.pythonhosted.org/packages/c8/a4/df2bdca5270ca85fd25253049eb6708d4127be2ed0e5c2650217450b59e9/kiwisolver-1.4.7-cp313-cp313-win_arm64.whl", hash = "sha256:76c8094ac20ec259471ac53e774623eb62e6e1f56cd8690c67ce6ce4fcb05650", size = 48530, upload-time = "2024-09-04T09:05:30.225Z" }, + { url = "https://files.pythonhosted.org/packages/57/d6/620247574d9e26fe24384087879e8399e309f0051782f95238090afa6ccc/kiwisolver-1.4.7-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:5d5abf8f8ec1f4e22882273c423e16cae834c36856cac348cfbfa68e01c40f3a", size = 122325, upload-time = "2024-09-04T09:05:31.648Z" }, + { url = "https://files.pythonhosted.org/packages/bd/c6/572ad7d73dbd898cffa9050ffd7ff7e78a055a1d9b7accd6b4d1f50ec858/kiwisolver-1.4.7-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:aeb3531b196ef6f11776c21674dba836aeea9d5bd1cf630f869e3d90b16cfade", size = 65679, upload-time = "2024-09-04T09:05:32.934Z" }, + { url = "https://files.pythonhosted.org/packages/14/a7/bb8ab10e12cc8764f4da0245d72dee4731cc720bdec0f085d5e9c6005b98/kiwisolver-1.4.7-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:b7d755065e4e866a8086c9bdada157133ff466476a2ad7861828e17b6026e22c", size = 64267, upload-time = "2024-09-04T09:05:34.11Z" }, + { url = "https://files.pythonhosted.org/packages/54/a4/3b5a2542429e182a4df0528214e76803f79d016110f5e67c414a0357cd7d/kiwisolver-1.4.7-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:08471d4d86cbaec61f86b217dd938a83d85e03785f51121e791a6e6689a3be95", size = 1387236, upload-time = "2024-09-04T09:05:35.97Z" }, + { url = "https://files.pythonhosted.org/packages/a6/d7/bc3005e906c1673953a3e31ee4f828157d5e07a62778d835dd937d624ea0/kiwisolver-1.4.7-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:7bbfcb7165ce3d54a3dfbe731e470f65739c4c1f85bb1018ee912bae139e263b", size = 1500555, upload-time = "2024-09-04T09:05:37.552Z" }, + { url = "https://files.pythonhosted.org/packages/09/a7/87cb30741f13b7af08446795dca6003491755805edc9c321fe996c1320b8/kiwisolver-1.4.7-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:5d34eb8494bea691a1a450141ebb5385e4b69d38bb8403b5146ad279f4b30fa3", size = 1431684, upload-time = "2024-09-04T09:05:39.75Z" }, + { url = "https://files.pythonhosted.org/packages/37/a4/1e4e2d8cdaa42c73d523413498445247e615334e39401ae49dae74885429/kiwisolver-1.4.7-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:9242795d174daa40105c1d86aba618e8eab7bf96ba8c3ee614da8302a9f95503", size = 1125811, upload-time = "2024-09-04T09:05:41.31Z" }, + { url = "https://files.pythonhosted.org/packages/76/36/ae40d7a3171e06f55ac77fe5536079e7be1d8be2a8210e08975c7f9b4d54/kiwisolver-1.4.7-cp38-cp38-manylinux_2_5_x86_64.manylinux1_x86_64.whl", hash = "sha256:a0f64a48bb81af7450e641e3fe0b0394d7381e342805479178b3d335d60ca7cf", size = 1179987, upload-time = "2024-09-04T09:05:42.893Z" }, + { url = "https://files.pythonhosted.org/packages/d8/5d/6e4894b9fdf836d8bd095729dff123bbbe6ad0346289287b45c800fae656/kiwisolver-1.4.7-cp38-cp38-musllinux_1_2_aarch64.whl", hash = "sha256:8e045731a5416357638d1700927529e2b8ab304811671f665b225f8bf8d8f933", size = 2186817, upload-time = "2024-09-04T09:05:44.474Z" }, + { url = "https://files.pythonhosted.org/packages/f0/2d/603079b2c2fd62890be0b0ebfc8bb6dda8a5253ca0758885596565b0dfc1/kiwisolver-1.4.7-cp38-cp38-musllinux_1_2_i686.whl", hash = "sha256:4322872d5772cae7369f8351da1edf255a604ea7087fe295411397d0cfd9655e", size = 2332538, upload-time = "2024-09-04T09:05:46.206Z" }, + { url = "https://files.pythonhosted.org/packages/bb/2a/9a28279c865c38a27960db38b07179143aafc94877945c209bfc553d9dd3/kiwisolver-1.4.7-cp38-cp38-musllinux_1_2_ppc64le.whl", hash = "sha256:e1631290ee9271dffe3062d2634c3ecac02c83890ada077d225e081aca8aab89", size = 2293890, upload-time = "2024-09-04T09:05:47.819Z" }, + { url = "https://files.pythonhosted.org/packages/1a/4d/4da8967f3bf13c764984b8fbae330683ee5fbd555b4a5624ad2b9decc0ab/kiwisolver-1.4.7-cp38-cp38-musllinux_1_2_s390x.whl", hash = "sha256:edcfc407e4eb17e037bca59be0e85a2031a2ac87e4fed26d3e9df88b4165f92d", size = 2434677, upload-time = "2024-09-04T09:05:49.459Z" }, + { url = "https://files.pythonhosted.org/packages/08/e9/a97a2b6b74dd850fa5974309367e025c06093a143befe9b962d0baebb4f0/kiwisolver-1.4.7-cp38-cp38-musllinux_1_2_x86_64.whl", hash = "sha256:4d05d81ecb47d11e7f8932bd8b61b720bf0b41199358f3f5e36d38e28f0532c5", size = 2250339, upload-time = "2024-09-04T09:05:51.165Z" }, + { url = "https://files.pythonhosted.org/packages/8a/e7/55507a387ba1766e69f5e13a79e1aefabdafe0532bee5d1972dfc42b3d16/kiwisolver-1.4.7-cp38-cp38-win32.whl", hash = "sha256:b38ac83d5f04b15e515fd86f312479d950d05ce2368d5413d46c088dda7de90a", size = 46932, upload-time = "2024-09-04T09:05:52.49Z" }, + { url = "https://files.pythonhosted.org/packages/52/77/7e04cca2ff1dc6ee6b7654cebe233de72b7a3ec5616501b6f3144fb70740/kiwisolver-1.4.7-cp38-cp38-win_amd64.whl", hash = "sha256:d83db7cde68459fc803052a55ace60bea2bae361fc3b7a6d5da07e11954e4b09", size = 55836, upload-time = "2024-09-04T09:05:54.078Z" }, + { url = "https://files.pythonhosted.org/packages/11/88/37ea0ea64512997b13d69772db8dcdc3bfca5442cda3a5e4bb943652ee3e/kiwisolver-1.4.7-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:3f9362ecfca44c863569d3d3c033dbe8ba452ff8eed6f6b5806382741a1334bd", size = 122449, upload-time = "2024-09-04T09:05:55.311Z" }, + { url = "https://files.pythonhosted.org/packages/4e/45/5a5c46078362cb3882dcacad687c503089263c017ca1241e0483857791eb/kiwisolver-1.4.7-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:e8df2eb9b2bac43ef8b082e06f750350fbbaf2887534a5be97f6cf07b19d9583", size = 65757, upload-time = "2024-09-04T09:05:56.906Z" }, + { url = "https://files.pythonhosted.org/packages/8a/be/a6ae58978772f685d48dd2e84460937761c53c4bbd84e42b0336473d9775/kiwisolver-1.4.7-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:f32d6edbc638cde7652bd690c3e728b25332acbadd7cad670cc4a02558d9c417", size = 64312, upload-time = "2024-09-04T09:05:58.384Z" }, + { url = "https://files.pythonhosted.org/packages/f4/04/18ef6f452d311e1e1eb180c9bf5589187fa1f042db877e6fe443ef10099c/kiwisolver-1.4.7-cp39-cp39-manylinux_2_12_i686.manylinux2010_i686.whl", hash = "sha256:e2e6c39bd7b9372b0be21456caab138e8e69cc0fc1190a9dfa92bd45a1e6e904", size = 1626966, upload-time = "2024-09-04T09:05:59.855Z" }, + { url = "https://files.pythonhosted.org/packages/21/b1/40655f6c3fa11ce740e8a964fa8e4c0479c87d6a7944b95af799c7a55dfe/kiwisolver-1.4.7-cp39-cp39-manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:dda56c24d869b1193fcc763f1284b9126550eaf84b88bbc7256e15028f19188a", size = 1607044, upload-time = "2024-09-04T09:06:02.16Z" }, + { url = "https://files.pythonhosted.org/packages/fd/93/af67dbcfb9b3323bbd2c2db1385a7139d8f77630e4a37bb945b57188eb2d/kiwisolver-1.4.7-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:79849239c39b5e1fd906556c474d9b0439ea6792b637511f3fe3a41158d89ca8", size = 1391879, upload-time = "2024-09-04T09:06:03.908Z" }, + { url = "https://files.pythonhosted.org/packages/40/6f/d60770ef98e77b365d96061d090c0cd9e23418121c55fff188fa4bdf0b54/kiwisolver-1.4.7-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:5e3bc157fed2a4c02ec468de4ecd12a6e22818d4f09cde2c31ee3226ffbefab2", size = 1504751, upload-time = "2024-09-04T09:06:05.58Z" }, + { url = "https://files.pythonhosted.org/packages/fa/3a/5f38667d313e983c432f3fcd86932177519ed8790c724e07d77d1de0188a/kiwisolver-1.4.7-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:3da53da805b71e41053dc670f9a820d1157aae77b6b944e08024d17bcd51ef88", size = 1436990, upload-time = "2024-09-04T09:06:08.126Z" }, + { url = "https://files.pythonhosted.org/packages/cb/3b/1520301a47326e6a6043b502647e42892be33b3f051e9791cc8bb43f1a32/kiwisolver-1.4.7-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:8705f17dfeb43139a692298cb6637ee2e59c0194538153e83e9ee0c75c2eddde", size = 2191122, upload-time = "2024-09-04T09:06:10.345Z" }, + { url = "https://files.pythonhosted.org/packages/cf/c4/eb52da300c166239a2233f1f9c4a1b767dfab98fae27681bfb7ea4873cb6/kiwisolver-1.4.7-cp39-cp39-musllinux_1_2_i686.whl", hash = "sha256:82a5c2f4b87c26bb1a0ef3d16b5c4753434633b83d365cc0ddf2770c93829e3c", size = 2338126, upload-time = "2024-09-04T09:06:12.321Z" }, + { url = "https://files.pythonhosted.org/packages/1a/cb/42b92fd5eadd708dd9107c089e817945500685f3437ce1fd387efebc6d6e/kiwisolver-1.4.7-cp39-cp39-musllinux_1_2_ppc64le.whl", hash = "sha256:ce8be0466f4c0d585cdb6c1e2ed07232221df101a4c6f28821d2aa754ca2d9e2", size = 2298313, upload-time = "2024-09-04T09:06:14.562Z" }, + { url = "https://files.pythonhosted.org/packages/4f/eb/be25aa791fe5fc75a8b1e0c965e00f942496bc04635c9aae8035f6b76dcd/kiwisolver-1.4.7-cp39-cp39-musllinux_1_2_s390x.whl", hash = "sha256:409afdfe1e2e90e6ee7fc896f3df9a7fec8e793e58bfa0d052c8a82f99c37abb", size = 2437784, upload-time = "2024-09-04T09:06:16.767Z" }, + { url = "https://files.pythonhosted.org/packages/c5/22/30a66be7f3368d76ff95689e1c2e28d382383952964ab15330a15d8bfd03/kiwisolver-1.4.7-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:5b9c3f4ee0b9a439d2415012bd1b1cc2df59e4d6a9939f4d669241d30b414327", size = 2253988, upload-time = "2024-09-04T09:06:18.705Z" }, + { url = "https://files.pythonhosted.org/packages/35/d3/5f2ecb94b5211c8a04f218a76133cc8d6d153b0f9cd0b45fad79907f0689/kiwisolver-1.4.7-cp39-cp39-win32.whl", hash = "sha256:a79ae34384df2b615eefca647a2873842ac3b596418032bef9a7283675962644", size = 46980, upload-time = "2024-09-04T09:06:20.106Z" }, + { url = "https://files.pythonhosted.org/packages/ef/17/cd10d020578764ea91740204edc6b3236ed8106228a46f568d716b11feb2/kiwisolver-1.4.7-cp39-cp39-win_amd64.whl", hash = "sha256:cf0438b42121a66a3a667de17e779330fc0f20b0d97d59d2f2121e182b0505e4", size = 55847, upload-time = "2024-09-04T09:06:21.407Z" }, + { url = "https://files.pythonhosted.org/packages/91/84/32232502020bd78d1d12be7afde15811c64a95ed1f606c10456db4e4c3ac/kiwisolver-1.4.7-cp39-cp39-win_arm64.whl", hash = "sha256:764202cc7e70f767dab49e8df52c7455e8de0df5d858fa801a11aa0d882ccf3f", size = 48494, upload-time = "2024-09-04T09:06:22.648Z" }, + { url = "https://files.pythonhosted.org/packages/ac/59/741b79775d67ab67ced9bb38552da688c0305c16e7ee24bba7a2be253fb7/kiwisolver-1.4.7-pp310-pypy310_pp73-macosx_10_15_x86_64.whl", hash = "sha256:94252291e3fe68001b1dd747b4c0b3be12582839b95ad4d1b641924d68fd4643", size = 59491, upload-time = "2024-09-04T09:06:24.188Z" }, + { url = "https://files.pythonhosted.org/packages/58/cc/fb239294c29a5656e99e3527f7369b174dd9cc7c3ef2dea7cb3c54a8737b/kiwisolver-1.4.7-pp310-pypy310_pp73-macosx_11_0_arm64.whl", hash = "sha256:5b7dfa3b546da08a9f622bb6becdb14b3e24aaa30adba66749d38f3cc7ea9706", size = 57648, upload-time = "2024-09-04T09:06:25.559Z" }, + { url = "https://files.pythonhosted.org/packages/3b/ef/2f009ac1f7aab9f81efb2d837301d255279d618d27b6015780115ac64bdd/kiwisolver-1.4.7-pp310-pypy310_pp73-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:bd3de6481f4ed8b734da5df134cd5a6a64fe32124fe83dde1e5b5f29fe30b1e6", size = 84257, upload-time = "2024-09-04T09:06:27.038Z" }, + { url = "https://files.pythonhosted.org/packages/81/e1/c64f50987f85b68b1c52b464bb5bf73e71570c0f7782d626d1eb283ad620/kiwisolver-1.4.7-pp310-pypy310_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a91b5f9f1205845d488c928e8570dcb62b893372f63b8b6e98b863ebd2368ff2", size = 80906, upload-time = "2024-09-04T09:06:28.48Z" }, + { url = "https://files.pythonhosted.org/packages/fd/71/1687c5c0a0be2cee39a5c9c389e546f9c6e215e46b691d00d9f646892083/kiwisolver-1.4.7-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:40fa14dbd66b8b8f470d5fc79c089a66185619d31645f9b0773b88b19f7223c4", size = 79951, upload-time = "2024-09-04T09:06:29.966Z" }, + { url = "https://files.pythonhosted.org/packages/ea/8b/d7497df4a1cae9367adf21665dd1f896c2a7aeb8769ad77b662c5e2bcce7/kiwisolver-1.4.7-pp310-pypy310_pp73-win_amd64.whl", hash = "sha256:eb542fe7933aa09d8d8f9d9097ef37532a7df6497819d16efe4359890a2f417a", size = 55715, upload-time = "2024-09-04T09:06:31.489Z" }, + { url = "https://files.pythonhosted.org/packages/64/f3/2403d90821fffe496df16f6996cb328b90b0d80c06d2938a930a7732b4f1/kiwisolver-1.4.7-pp38-pypy38_pp73-macosx_10_9_x86_64.whl", hash = "sha256:bfa1acfa0c54932d5607e19a2c24646fb4c1ae2694437789129cf099789a3b00", size = 59662, upload-time = "2024-09-04T09:06:33.551Z" }, + { url = "https://files.pythonhosted.org/packages/fa/7d/8f409736a4a6ac04354fa530ebf46682ddb1539b0bae15f4731ff2c575bc/kiwisolver-1.4.7-pp38-pypy38_pp73-macosx_11_0_arm64.whl", hash = "sha256:eee3ea935c3d227d49b4eb85660ff631556841f6e567f0f7bda972df6c2c9935", size = 57753, upload-time = "2024-09-04T09:06:35.095Z" }, + { url = "https://files.pythonhosted.org/packages/4c/a5/3937c9abe8eedb1356071739ad437a0b486cbad27d54f4ec4733d24882ac/kiwisolver-1.4.7-pp38-pypy38_pp73-manylinux_2_12_i686.manylinux2010_i686.whl", hash = "sha256:f3160309af4396e0ed04db259c3ccbfdc3621b5559b5453075e5de555e1f3a1b", size = 103564, upload-time = "2024-09-04T09:06:36.756Z" }, + { url = "https://files.pythonhosted.org/packages/b2/18/a5ae23888f010b90d5eb8d196fed30e268056b2ded54d25b38a193bb70e9/kiwisolver-1.4.7-pp38-pypy38_pp73-manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:a17f6a29cf8935e587cc8a4dbfc8368c55edc645283db0ce9801016f83526c2d", size = 95264, upload-time = "2024-09-04T09:06:38.786Z" }, + { url = "https://files.pythonhosted.org/packages/f9/d0/c4240ae86306d4395e9701f1d7e6ddcc6d60c28cb0127139176cfcfc9ebe/kiwisolver-1.4.7-pp38-pypy38_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:10849fb2c1ecbfae45a693c070e0320a91b35dd4bcf58172c023b994283a124d", size = 78197, upload-time = "2024-09-04T09:06:40.453Z" }, + { url = "https://files.pythonhosted.org/packages/62/db/62423f0ab66813376a35c1e7da488ebdb4e808fcb54b7cec33959717bda1/kiwisolver-1.4.7-pp38-pypy38_pp73-win_amd64.whl", hash = "sha256:ac542bf38a8a4be2dc6b15248d36315ccc65f0743f7b1a76688ffb6b5129a5c2", size = 56080, upload-time = "2024-09-04T09:06:42.061Z" }, + { url = "https://files.pythonhosted.org/packages/d5/df/ce37d9b26f07ab90880923c94d12a6ff4d27447096b4c849bfc4339ccfdf/kiwisolver-1.4.7-pp39-pypy39_pp73-macosx_10_15_x86_64.whl", hash = "sha256:8b01aac285f91ca889c800042c35ad3b239e704b150cfd3382adfc9dcc780e39", size = 58666, upload-time = "2024-09-04T09:06:43.756Z" }, + { url = "https://files.pythonhosted.org/packages/b0/d3/e4b04f43bc629ac8e186b77b2b1a251cdfa5b7610fa189dc0db622672ce6/kiwisolver-1.4.7-pp39-pypy39_pp73-macosx_11_0_arm64.whl", hash = "sha256:48be928f59a1f5c8207154f935334d374e79f2b5d212826307d072595ad76a2e", size = 57088, upload-time = "2024-09-04T09:06:45.406Z" }, + { url = "https://files.pythonhosted.org/packages/30/1c/752df58e2d339e670a535514d2db4fe8c842ce459776b8080fbe08ebb98e/kiwisolver-1.4.7-pp39-pypy39_pp73-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:f37cfe618a117e50d8c240555331160d73d0411422b59b5ee217843d7b693608", size = 84321, upload-time = "2024-09-04T09:06:47.557Z" }, + { url = "https://files.pythonhosted.org/packages/f0/f8/fe6484e847bc6e238ec9f9828089fb2c0bb53f2f5f3a79351fde5b565e4f/kiwisolver-1.4.7-pp39-pypy39_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:599b5c873c63a1f6ed7eead644a8a380cfbdf5db91dcb6f85707aaab213b1674", size = 80776, upload-time = "2024-09-04T09:06:49.235Z" }, + { url = "https://files.pythonhosted.org/packages/9b/57/d7163c0379f250ef763aba85330a19feefb5ce6cb541ade853aaba881524/kiwisolver-1.4.7-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:801fa7802e5cfabe3ab0c81a34c323a319b097dfb5004be950482d882f3d7225", size = 79984, upload-time = "2024-09-04T09:06:51.336Z" }, + { url = "https://files.pythonhosted.org/packages/8c/95/4a103776c265d13b3d2cd24fb0494d4e04ea435a8ef97e1b2c026d43250b/kiwisolver-1.4.7-pp39-pypy39_pp73-win_amd64.whl", hash = "sha256:0c6c43471bc764fad4bc99c5c2d6d16a676b1abf844ca7c8702bdae92df01ee0", size = 55811, upload-time = "2024-09-04T09:06:53.078Z" }, ] [[package]] @@ -2067,87 +2067,87 @@ resolution-markers = [ "python_full_version == '3.10.*' and platform_machine == 'aarch64' and sys_platform == 'linux'", "(python_full_version == '3.10.*' and platform_machine != 'aarch64' and sys_platform == 'linux') or (python_full_version == '3.10.*' and sys_platform != 'darwin' and sys_platform != 'linux')", ] -sdist = { url = "https://files.pythonhosted.org/packages/82/59/7c91426a8ac292e1cdd53a63b6d9439abd573c875c3f92c146767dd33faf/kiwisolver-1.4.8.tar.gz", hash = "sha256:23d5f023bdc8c7e54eb65f03ca5d5bb25b601eac4d7f1a042888a1f45237987e", size = 97538 } -wheels = [ - { url = "https://files.pythonhosted.org/packages/47/5f/4d8e9e852d98ecd26cdf8eaf7ed8bc33174033bba5e07001b289f07308fd/kiwisolver-1.4.8-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:88c6f252f6816a73b1f8c904f7bbe02fd67c09a69f7cb8a0eecdbf5ce78e63db", size = 124623 }, - { url = "https://files.pythonhosted.org/packages/1d/70/7f5af2a18a76fe92ea14675f8bd88ce53ee79e37900fa5f1a1d8e0b42998/kiwisolver-1.4.8-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:c72941acb7b67138f35b879bbe85be0f6c6a70cab78fe3ef6db9c024d9223e5b", size = 66720 }, - { url = "https://files.pythonhosted.org/packages/c6/13/e15f804a142353aefd089fadc8f1d985561a15358c97aca27b0979cb0785/kiwisolver-1.4.8-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:ce2cf1e5688edcb727fdf7cd1bbd0b6416758996826a8be1d958f91880d0809d", size = 65413 }, - { url = "https://files.pythonhosted.org/packages/ce/6d/67d36c4d2054e83fb875c6b59d0809d5c530de8148846b1370475eeeece9/kiwisolver-1.4.8-cp310-cp310-manylinux_2_12_i686.manylinux2010_i686.whl", hash = "sha256:c8bf637892dc6e6aad2bc6d4d69d08764166e5e3f69d469e55427b6ac001b19d", size = 1650826 }, - { url = "https://files.pythonhosted.org/packages/de/c6/7b9bb8044e150d4d1558423a1568e4f227193662a02231064e3824f37e0a/kiwisolver-1.4.8-cp310-cp310-manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:034d2c891f76bd3edbdb3ea11140d8510dca675443da7304205a2eaa45d8334c", size = 1628231 }, - { url = "https://files.pythonhosted.org/packages/b6/38/ad10d437563063eaaedbe2c3540a71101fc7fb07a7e71f855e93ea4de605/kiwisolver-1.4.8-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d47b28d1dfe0793d5e96bce90835e17edf9a499b53969b03c6c47ea5985844c3", size = 1408938 }, - { url = "https://files.pythonhosted.org/packages/52/ce/c0106b3bd7f9e665c5f5bc1e07cc95b5dabd4e08e3dad42dbe2faad467e7/kiwisolver-1.4.8-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:eb158fe28ca0c29f2260cca8c43005329ad58452c36f0edf298204de32a9a3ed", size = 1422799 }, - { url = "https://files.pythonhosted.org/packages/d0/87/efb704b1d75dc9758087ba374c0f23d3254505edaedd09cf9d247f7878b9/kiwisolver-1.4.8-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:d5536185fce131780ebd809f8e623bf4030ce1b161353166c49a3c74c287897f", size = 1354362 }, - { url = "https://files.pythonhosted.org/packages/eb/b3/fd760dc214ec9a8f208b99e42e8f0130ff4b384eca8b29dd0efc62052176/kiwisolver-1.4.8-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:369b75d40abedc1da2c1f4de13f3482cb99e3237b38726710f4a793432b1c5ff", size = 2222695 }, - { url = "https://files.pythonhosted.org/packages/a2/09/a27fb36cca3fc01700687cc45dae7a6a5f8eeb5f657b9f710f788748e10d/kiwisolver-1.4.8-cp310-cp310-musllinux_1_2_i686.whl", hash = "sha256:641f2ddf9358c80faa22e22eb4c9f54bd3f0e442e038728f500e3b978d00aa7d", size = 2370802 }, - { url = "https://files.pythonhosted.org/packages/3d/c3/ba0a0346db35fe4dc1f2f2cf8b99362fbb922d7562e5f911f7ce7a7b60fa/kiwisolver-1.4.8-cp310-cp310-musllinux_1_2_ppc64le.whl", hash = "sha256:d561d2d8883e0819445cfe58d7ddd673e4015c3c57261d7bdcd3710d0d14005c", size = 2334646 }, - { url = "https://files.pythonhosted.org/packages/41/52/942cf69e562f5ed253ac67d5c92a693745f0bed3c81f49fc0cbebe4d6b00/kiwisolver-1.4.8-cp310-cp310-musllinux_1_2_s390x.whl", hash = "sha256:1732e065704b47c9afca7ffa272f845300a4eb959276bf6970dc07265e73b605", size = 2467260 }, - { url = "https://files.pythonhosted.org/packages/32/26/2d9668f30d8a494b0411d4d7d4ea1345ba12deb6a75274d58dd6ea01e951/kiwisolver-1.4.8-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:bcb1ebc3547619c3b58a39e2448af089ea2ef44b37988caf432447374941574e", size = 2288633 }, - { url = "https://files.pythonhosted.org/packages/98/99/0dd05071654aa44fe5d5e350729961e7bb535372935a45ac89a8924316e6/kiwisolver-1.4.8-cp310-cp310-win_amd64.whl", hash = "sha256:89c107041f7b27844179ea9c85d6da275aa55ecf28413e87624d033cf1f6b751", size = 71885 }, - { url = "https://files.pythonhosted.org/packages/6c/fc/822e532262a97442989335394d441cd1d0448c2e46d26d3e04efca84df22/kiwisolver-1.4.8-cp310-cp310-win_arm64.whl", hash = "sha256:b5773efa2be9eb9fcf5415ea3ab70fc785d598729fd6057bea38d539ead28271", size = 65175 }, - { url = "https://files.pythonhosted.org/packages/da/ed/c913ee28936c371418cb167b128066ffb20bbf37771eecc2c97edf8a6e4c/kiwisolver-1.4.8-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:a4d3601908c560bdf880f07d94f31d734afd1bb71e96585cace0e38ef44c6d84", size = 124635 }, - { url = "https://files.pythonhosted.org/packages/4c/45/4a7f896f7467aaf5f56ef093d1f329346f3b594e77c6a3c327b2d415f521/kiwisolver-1.4.8-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:856b269c4d28a5c0d5e6c1955ec36ebfd1651ac00e1ce0afa3e28da95293b561", size = 66717 }, - { url = "https://files.pythonhosted.org/packages/5f/b4/c12b3ac0852a3a68f94598d4c8d569f55361beef6159dce4e7b624160da2/kiwisolver-1.4.8-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:c2b9a96e0f326205af81a15718a9073328df1173a2619a68553decb7097fd5d7", size = 65413 }, - { url = "https://files.pythonhosted.org/packages/a9/98/1df4089b1ed23d83d410adfdc5947245c753bddfbe06541c4aae330e9e70/kiwisolver-1.4.8-cp311-cp311-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:c5020c83e8553f770cb3b5fc13faac40f17e0b205bd237aebd21d53d733adb03", size = 1343994 }, - { url = "https://files.pythonhosted.org/packages/8d/bf/b4b169b050c8421a7c53ea1ea74e4ef9c335ee9013216c558a047f162d20/kiwisolver-1.4.8-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:dace81d28c787956bfbfbbfd72fdcef014f37d9b48830829e488fdb32b49d954", size = 1434804 }, - { url = "https://files.pythonhosted.org/packages/66/5a/e13bd341fbcf73325ea60fdc8af752addf75c5079867af2e04cc41f34434/kiwisolver-1.4.8-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:11e1022b524bd48ae56c9b4f9296bce77e15a2e42a502cceba602f804b32bb79", size = 1450690 }, - { url = "https://files.pythonhosted.org/packages/9b/4f/5955dcb376ba4a830384cc6fab7d7547bd6759fe75a09564910e9e3bb8ea/kiwisolver-1.4.8-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:3b9b4d2892fefc886f30301cdd80debd8bb01ecdf165a449eb6e78f79f0fabd6", size = 1376839 }, - { url = "https://files.pythonhosted.org/packages/3a/97/5edbed69a9d0caa2e4aa616ae7df8127e10f6586940aa683a496c2c280b9/kiwisolver-1.4.8-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:3a96c0e790ee875d65e340ab383700e2b4891677b7fcd30a699146f9384a2bb0", size = 1435109 }, - { url = "https://files.pythonhosted.org/packages/13/fc/e756382cb64e556af6c1809a1bbb22c141bbc2445049f2da06b420fe52bf/kiwisolver-1.4.8-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:23454ff084b07ac54ca8be535f4174170c1094a4cff78fbae4f73a4bcc0d4dab", size = 2245269 }, - { url = "https://files.pythonhosted.org/packages/76/15/e59e45829d7f41c776d138245cabae6515cb4eb44b418f6d4109c478b481/kiwisolver-1.4.8-cp311-cp311-musllinux_1_2_i686.whl", hash = "sha256:87b287251ad6488e95b4f0b4a79a6d04d3ea35fde6340eb38fbd1ca9cd35bbbc", size = 2393468 }, - { url = "https://files.pythonhosted.org/packages/e9/39/483558c2a913ab8384d6e4b66a932406f87c95a6080112433da5ed668559/kiwisolver-1.4.8-cp311-cp311-musllinux_1_2_ppc64le.whl", hash = "sha256:b21dbe165081142b1232a240fc6383fd32cdd877ca6cc89eab93e5f5883e1c25", size = 2355394 }, - { url = "https://files.pythonhosted.org/packages/01/aa/efad1fbca6570a161d29224f14b082960c7e08268a133fe5dc0f6906820e/kiwisolver-1.4.8-cp311-cp311-musllinux_1_2_s390x.whl", hash = "sha256:768cade2c2df13db52475bd28d3a3fac8c9eff04b0e9e2fda0f3760f20b3f7fc", size = 2490901 }, - { url = "https://files.pythonhosted.org/packages/c9/4f/15988966ba46bcd5ab9d0c8296914436720dd67fca689ae1a75b4ec1c72f/kiwisolver-1.4.8-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:d47cfb2650f0e103d4bf68b0b5804c68da97272c84bb12850d877a95c056bd67", size = 2312306 }, - { url = "https://files.pythonhosted.org/packages/2d/27/bdf1c769c83f74d98cbc34483a972f221440703054894a37d174fba8aa68/kiwisolver-1.4.8-cp311-cp311-win_amd64.whl", hash = "sha256:ed33ca2002a779a2e20eeb06aea7721b6e47f2d4b8a8ece979d8ba9e2a167e34", size = 71966 }, - { url = "https://files.pythonhosted.org/packages/4a/c9/9642ea855604aeb2968a8e145fc662edf61db7632ad2e4fb92424be6b6c0/kiwisolver-1.4.8-cp311-cp311-win_arm64.whl", hash = "sha256:16523b40aab60426ffdebe33ac374457cf62863e330a90a0383639ce14bf44b2", size = 65311 }, - { url = "https://files.pythonhosted.org/packages/fc/aa/cea685c4ab647f349c3bc92d2daf7ae34c8e8cf405a6dcd3a497f58a2ac3/kiwisolver-1.4.8-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:d6af5e8815fd02997cb6ad9bbed0ee1e60014438ee1a5c2444c96f87b8843502", size = 124152 }, - { url = "https://files.pythonhosted.org/packages/c5/0b/8db6d2e2452d60d5ebc4ce4b204feeb16176a851fd42462f66ade6808084/kiwisolver-1.4.8-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:bade438f86e21d91e0cf5dd7c0ed00cda0f77c8c1616bd83f9fc157fa6760d31", size = 66555 }, - { url = "https://files.pythonhosted.org/packages/60/26/d6a0db6785dd35d3ba5bf2b2df0aedc5af089962c6eb2cbf67a15b81369e/kiwisolver-1.4.8-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:b83dc6769ddbc57613280118fb4ce3cd08899cc3369f7d0e0fab518a7cf37fdb", size = 65067 }, - { url = "https://files.pythonhosted.org/packages/c9/ed/1d97f7e3561e09757a196231edccc1bcf59d55ddccefa2afc9c615abd8e0/kiwisolver-1.4.8-cp312-cp312-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:111793b232842991be367ed828076b03d96202c19221b5ebab421ce8bcad016f", size = 1378443 }, - { url = "https://files.pythonhosted.org/packages/29/61/39d30b99954e6b46f760e6289c12fede2ab96a254c443639052d1b573fbc/kiwisolver-1.4.8-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:257af1622860e51b1a9d0ce387bf5c2c4f36a90594cb9514f55b074bcc787cfc", size = 1472728 }, - { url = "https://files.pythonhosted.org/packages/0c/3e/804163b932f7603ef256e4a715e5843a9600802bb23a68b4e08c8c0ff61d/kiwisolver-1.4.8-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:69b5637c3f316cab1ec1c9a12b8c5f4750a4c4b71af9157645bf32830e39c03a", size = 1478388 }, - { url = "https://files.pythonhosted.org/packages/8a/9e/60eaa75169a154700be74f875a4d9961b11ba048bef315fbe89cb6999056/kiwisolver-1.4.8-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:782bb86f245ec18009890e7cb8d13a5ef54dcf2ebe18ed65f795e635a96a1c6a", size = 1413849 }, - { url = "https://files.pythonhosted.org/packages/bc/b3/9458adb9472e61a998c8c4d95cfdfec91c73c53a375b30b1428310f923e4/kiwisolver-1.4.8-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:cc978a80a0db3a66d25767b03688f1147a69e6237175c0f4ffffaaedf744055a", size = 1475533 }, - { url = "https://files.pythonhosted.org/packages/e4/7a/0a42d9571e35798de80aef4bb43a9b672aa7f8e58643d7bd1950398ffb0a/kiwisolver-1.4.8-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:36dbbfd34838500a31f52c9786990d00150860e46cd5041386f217101350f0d3", size = 2268898 }, - { url = "https://files.pythonhosted.org/packages/d9/07/1255dc8d80271400126ed8db35a1795b1a2c098ac3a72645075d06fe5c5d/kiwisolver-1.4.8-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:eaa973f1e05131de5ff3569bbba7f5fd07ea0595d3870ed4a526d486fe57fa1b", size = 2425605 }, - { url = "https://files.pythonhosted.org/packages/84/df/5a3b4cf13780ef6f6942df67b138b03b7e79e9f1f08f57c49957d5867f6e/kiwisolver-1.4.8-cp312-cp312-musllinux_1_2_ppc64le.whl", hash = "sha256:a66f60f8d0c87ab7f59b6fb80e642ebb29fec354a4dfad687ca4092ae69d04f4", size = 2375801 }, - { url = "https://files.pythonhosted.org/packages/8f/10/2348d068e8b0f635c8c86892788dac7a6b5c0cb12356620ab575775aad89/kiwisolver-1.4.8-cp312-cp312-musllinux_1_2_s390x.whl", hash = "sha256:858416b7fb777a53f0c59ca08190ce24e9abbd3cffa18886a5781b8e3e26f65d", size = 2520077 }, - { url = "https://files.pythonhosted.org/packages/32/d8/014b89fee5d4dce157d814303b0fce4d31385a2af4c41fed194b173b81ac/kiwisolver-1.4.8-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:085940635c62697391baafaaeabdf3dd7a6c3643577dde337f4d66eba021b2b8", size = 2338410 }, - { url = "https://files.pythonhosted.org/packages/bd/72/dfff0cc97f2a0776e1c9eb5bef1ddfd45f46246c6533b0191887a427bca5/kiwisolver-1.4.8-cp312-cp312-win_amd64.whl", hash = "sha256:01c3d31902c7db5fb6182832713d3b4122ad9317c2c5877d0539227d96bb2e50", size = 71853 }, - { url = "https://files.pythonhosted.org/packages/dc/85/220d13d914485c0948a00f0b9eb419efaf6da81b7d72e88ce2391f7aed8d/kiwisolver-1.4.8-cp312-cp312-win_arm64.whl", hash = "sha256:a3c44cb68861de93f0c4a8175fbaa691f0aa22550c331fefef02b618a9dcb476", size = 65424 }, - { url = "https://files.pythonhosted.org/packages/79/b3/e62464a652f4f8cd9006e13d07abad844a47df1e6537f73ddfbf1bc997ec/kiwisolver-1.4.8-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:1c8ceb754339793c24aee1c9fb2485b5b1f5bb1c2c214ff13368431e51fc9a09", size = 124156 }, - { url = "https://files.pythonhosted.org/packages/8d/2d/f13d06998b546a2ad4f48607a146e045bbe48030774de29f90bdc573df15/kiwisolver-1.4.8-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:54a62808ac74b5e55a04a408cda6156f986cefbcf0ada13572696b507cc92fa1", size = 66555 }, - { url = "https://files.pythonhosted.org/packages/59/e3/b8bd14b0a54998a9fd1e8da591c60998dc003618cb19a3f94cb233ec1511/kiwisolver-1.4.8-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:68269e60ee4929893aad82666821aaacbd455284124817af45c11e50a4b42e3c", size = 65071 }, - { url = "https://files.pythonhosted.org/packages/f0/1c/6c86f6d85ffe4d0ce04228d976f00674f1df5dc893bf2dd4f1928748f187/kiwisolver-1.4.8-cp313-cp313-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:34d142fba9c464bc3bbfeff15c96eab0e7310343d6aefb62a79d51421fcc5f1b", size = 1378053 }, - { url = "https://files.pythonhosted.org/packages/4e/b9/1c6e9f6dcb103ac5cf87cb695845f5fa71379021500153566d8a8a9fc291/kiwisolver-1.4.8-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:3ddc373e0eef45b59197de815b1b28ef89ae3955e7722cc9710fb91cd77b7f47", size = 1472278 }, - { url = "https://files.pythonhosted.org/packages/ee/81/aca1eb176de671f8bda479b11acdc42c132b61a2ac861c883907dde6debb/kiwisolver-1.4.8-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:77e6f57a20b9bd4e1e2cedda4d0b986ebd0216236f0106e55c28aea3d3d69b16", size = 1478139 }, - { url = "https://files.pythonhosted.org/packages/49/f4/e081522473671c97b2687d380e9e4c26f748a86363ce5af48b4a28e48d06/kiwisolver-1.4.8-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:08e77738ed7538f036cd1170cbed942ef749137b1311fa2bbe2a7fda2f6bf3cc", size = 1413517 }, - { url = "https://files.pythonhosted.org/packages/8f/e9/6a7d025d8da8c4931522922cd706105aa32b3291d1add8c5427cdcd66e63/kiwisolver-1.4.8-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:a5ce1e481a74b44dd5e92ff03ea0cb371ae7a0268318e202be06c8f04f4f1246", size = 1474952 }, - { url = "https://files.pythonhosted.org/packages/82/13/13fa685ae167bee5d94b415991c4fc7bb0a1b6ebea6e753a87044b209678/kiwisolver-1.4.8-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:fc2ace710ba7c1dfd1a3b42530b62b9ceed115f19a1656adefce7b1782a37794", size = 2269132 }, - { url = "https://files.pythonhosted.org/packages/ef/92/bb7c9395489b99a6cb41d502d3686bac692586db2045adc19e45ee64ed23/kiwisolver-1.4.8-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:3452046c37c7692bd52b0e752b87954ef86ee2224e624ef7ce6cb21e8c41cc1b", size = 2425997 }, - { url = "https://files.pythonhosted.org/packages/ed/12/87f0e9271e2b63d35d0d8524954145837dd1a6c15b62a2d8c1ebe0f182b4/kiwisolver-1.4.8-cp313-cp313-musllinux_1_2_ppc64le.whl", hash = "sha256:7e9a60b50fe8b2ec6f448fe8d81b07e40141bfced7f896309df271a0b92f80f3", size = 2376060 }, - { url = "https://files.pythonhosted.org/packages/02/6e/c8af39288edbce8bf0fa35dee427b082758a4b71e9c91ef18fa667782138/kiwisolver-1.4.8-cp313-cp313-musllinux_1_2_s390x.whl", hash = "sha256:918139571133f366e8362fa4a297aeba86c7816b7ecf0bc79168080e2bd79957", size = 2520471 }, - { url = "https://files.pythonhosted.org/packages/13/78/df381bc7b26e535c91469f77f16adcd073beb3e2dd25042efd064af82323/kiwisolver-1.4.8-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:e063ef9f89885a1d68dd8b2e18f5ead48653176d10a0e324e3b0030e3a69adeb", size = 2338793 }, - { url = "https://files.pythonhosted.org/packages/d0/dc/c1abe38c37c071d0fc71c9a474fd0b9ede05d42f5a458d584619cfd2371a/kiwisolver-1.4.8-cp313-cp313-win_amd64.whl", hash = "sha256:a17b7c4f5b2c51bb68ed379defd608a03954a1845dfed7cc0117f1cc8a9b7fd2", size = 71855 }, - { url = "https://files.pythonhosted.org/packages/a0/b6/21529d595b126ac298fdd90b705d87d4c5693de60023e0efcb4f387ed99e/kiwisolver-1.4.8-cp313-cp313-win_arm64.whl", hash = "sha256:3cd3bc628b25f74aedc6d374d5babf0166a92ff1317f46267f12d2ed54bc1d30", size = 65430 }, - { url = "https://files.pythonhosted.org/packages/34/bd/b89380b7298e3af9b39f49334e3e2a4af0e04819789f04b43d560516c0c8/kiwisolver-1.4.8-cp313-cp313t-macosx_10_13_universal2.whl", hash = "sha256:370fd2df41660ed4e26b8c9d6bbcad668fbe2560462cba151a721d49e5b6628c", size = 126294 }, - { url = "https://files.pythonhosted.org/packages/83/41/5857dc72e5e4148eaac5aa76e0703e594e4465f8ab7ec0fc60e3a9bb8fea/kiwisolver-1.4.8-cp313-cp313t-macosx_10_13_x86_64.whl", hash = "sha256:84a2f830d42707de1d191b9490ac186bf7997a9495d4e9072210a1296345f7dc", size = 67736 }, - { url = "https://files.pythonhosted.org/packages/e1/d1/be059b8db56ac270489fb0b3297fd1e53d195ba76e9bbb30e5401fa6b759/kiwisolver-1.4.8-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:7a3ad337add5148cf51ce0b55642dc551c0b9d6248458a757f98796ca7348712", size = 66194 }, - { url = "https://files.pythonhosted.org/packages/e1/83/4b73975f149819eb7dcf9299ed467eba068ecb16439a98990dcb12e63fdd/kiwisolver-1.4.8-cp313-cp313t-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:7506488470f41169b86d8c9aeff587293f530a23a23a49d6bc64dab66bedc71e", size = 1465942 }, - { url = "https://files.pythonhosted.org/packages/c7/2c/30a5cdde5102958e602c07466bce058b9d7cb48734aa7a4327261ac8e002/kiwisolver-1.4.8-cp313-cp313t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:2f0121b07b356a22fb0414cec4666bbe36fd6d0d759db3d37228f496ed67c880", size = 1595341 }, - { url = "https://files.pythonhosted.org/packages/ff/9b/1e71db1c000385aa069704f5990574b8244cce854ecd83119c19e83c9586/kiwisolver-1.4.8-cp313-cp313t-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:d6d6bd87df62c27d4185de7c511c6248040afae67028a8a22012b010bc7ad062", size = 1598455 }, - { url = "https://files.pythonhosted.org/packages/85/92/c8fec52ddf06231b31cbb779af77e99b8253cd96bd135250b9498144c78b/kiwisolver-1.4.8-cp313-cp313t-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:291331973c64bb9cce50bbe871fb2e675c4331dab4f31abe89f175ad7679a4d7", size = 1522138 }, - { url = "https://files.pythonhosted.org/packages/0b/51/9eb7e2cd07a15d8bdd976f6190c0164f92ce1904e5c0c79198c4972926b7/kiwisolver-1.4.8-cp313-cp313t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:893f5525bb92d3d735878ec00f781b2de998333659507d29ea4466208df37bed", size = 1582857 }, - { url = "https://files.pythonhosted.org/packages/0f/95/c5a00387a5405e68ba32cc64af65ce881a39b98d73cc394b24143bebc5b8/kiwisolver-1.4.8-cp313-cp313t-musllinux_1_2_aarch64.whl", hash = "sha256:b47a465040146981dc9db8647981b8cb96366fbc8d452b031e4f8fdffec3f26d", size = 2293129 }, - { url = "https://files.pythonhosted.org/packages/44/83/eeb7af7d706b8347548313fa3a3a15931f404533cc54fe01f39e830dd231/kiwisolver-1.4.8-cp313-cp313t-musllinux_1_2_i686.whl", hash = "sha256:99cea8b9dd34ff80c521aef46a1dddb0dcc0283cf18bde6d756f1e6f31772165", size = 2421538 }, - { url = "https://files.pythonhosted.org/packages/05/f9/27e94c1b3eb29e6933b6986ffc5fa1177d2cd1f0c8efc5f02c91c9ac61de/kiwisolver-1.4.8-cp313-cp313t-musllinux_1_2_ppc64le.whl", hash = "sha256:151dffc4865e5fe6dafce5480fab84f950d14566c480c08a53c663a0020504b6", size = 2390661 }, - { url = "https://files.pythonhosted.org/packages/d9/d4/3c9735faa36ac591a4afcc2980d2691000506050b7a7e80bcfe44048daa7/kiwisolver-1.4.8-cp313-cp313t-musllinux_1_2_s390x.whl", hash = "sha256:577facaa411c10421314598b50413aa1ebcf5126f704f1e5d72d7e4e9f020d90", size = 2546710 }, - { url = "https://files.pythonhosted.org/packages/4c/fa/be89a49c640930180657482a74970cdcf6f7072c8d2471e1babe17a222dc/kiwisolver-1.4.8-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:be4816dc51c8a471749d664161b434912eee82f2ea66bd7628bd14583a833e85", size = 2349213 }, - { url = "https://files.pythonhosted.org/packages/1f/f9/ae81c47a43e33b93b0a9819cac6723257f5da2a5a60daf46aa5c7226ea85/kiwisolver-1.4.8-pp310-pypy310_pp73-macosx_10_15_x86_64.whl", hash = "sha256:e7a019419b7b510f0f7c9dceff8c5eae2392037eae483a7f9162625233802b0a", size = 60403 }, - { url = "https://files.pythonhosted.org/packages/58/ca/f92b5cb6f4ce0c1ebfcfe3e2e42b96917e16f7090e45b21102941924f18f/kiwisolver-1.4.8-pp310-pypy310_pp73-macosx_11_0_arm64.whl", hash = "sha256:286b18e86682fd2217a48fc6be6b0f20c1d0ed10958d8dc53453ad58d7be0bf8", size = 58657 }, - { url = "https://files.pythonhosted.org/packages/80/28/ae0240f732f0484d3a4dc885d055653c47144bdf59b670aae0ec3c65a7c8/kiwisolver-1.4.8-pp310-pypy310_pp73-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:4191ee8dfd0be1c3666ccbac178c5a05d5f8d689bbe3fc92f3c4abec817f8fe0", size = 84948 }, - { url = "https://files.pythonhosted.org/packages/5d/eb/78d50346c51db22c7203c1611f9b513075f35c4e0e4877c5dde378d66043/kiwisolver-1.4.8-pp310-pypy310_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:7cd2785b9391f2873ad46088ed7599a6a71e762e1ea33e87514b1a441ed1da1c", size = 81186 }, - { url = "https://files.pythonhosted.org/packages/43/f8/7259f18c77adca88d5f64f9a522792e178b2691f3748817a8750c2d216ef/kiwisolver-1.4.8-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:c07b29089b7ba090b6f1a669f1411f27221c3662b3a1b7010e67b59bb5a6f10b", size = 80279 }, - { url = "https://files.pythonhosted.org/packages/3a/1d/50ad811d1c5dae091e4cf046beba925bcae0a610e79ae4c538f996f63ed5/kiwisolver-1.4.8-pp310-pypy310_pp73-win_amd64.whl", hash = "sha256:65ea09a5a3faadd59c2ce96dc7bf0f364986a315949dc6374f04396b0d60e09b", size = 71762 }, +sdist = { url = "https://files.pythonhosted.org/packages/82/59/7c91426a8ac292e1cdd53a63b6d9439abd573c875c3f92c146767dd33faf/kiwisolver-1.4.8.tar.gz", hash = "sha256:23d5f023bdc8c7e54eb65f03ca5d5bb25b601eac4d7f1a042888a1f45237987e", size = 97538, upload-time = "2024-12-24T18:30:51.519Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/47/5f/4d8e9e852d98ecd26cdf8eaf7ed8bc33174033bba5e07001b289f07308fd/kiwisolver-1.4.8-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:88c6f252f6816a73b1f8c904f7bbe02fd67c09a69f7cb8a0eecdbf5ce78e63db", size = 124623, upload-time = "2024-12-24T18:28:17.687Z" }, + { url = "https://files.pythonhosted.org/packages/1d/70/7f5af2a18a76fe92ea14675f8bd88ce53ee79e37900fa5f1a1d8e0b42998/kiwisolver-1.4.8-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:c72941acb7b67138f35b879bbe85be0f6c6a70cab78fe3ef6db9c024d9223e5b", size = 66720, upload-time = "2024-12-24T18:28:19.158Z" }, + { url = "https://files.pythonhosted.org/packages/c6/13/e15f804a142353aefd089fadc8f1d985561a15358c97aca27b0979cb0785/kiwisolver-1.4.8-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:ce2cf1e5688edcb727fdf7cd1bbd0b6416758996826a8be1d958f91880d0809d", size = 65413, upload-time = "2024-12-24T18:28:20.064Z" }, + { url = "https://files.pythonhosted.org/packages/ce/6d/67d36c4d2054e83fb875c6b59d0809d5c530de8148846b1370475eeeece9/kiwisolver-1.4.8-cp310-cp310-manylinux_2_12_i686.manylinux2010_i686.whl", hash = "sha256:c8bf637892dc6e6aad2bc6d4d69d08764166e5e3f69d469e55427b6ac001b19d", size = 1650826, upload-time = "2024-12-24T18:28:21.203Z" }, + { url = "https://files.pythonhosted.org/packages/de/c6/7b9bb8044e150d4d1558423a1568e4f227193662a02231064e3824f37e0a/kiwisolver-1.4.8-cp310-cp310-manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:034d2c891f76bd3edbdb3ea11140d8510dca675443da7304205a2eaa45d8334c", size = 1628231, upload-time = "2024-12-24T18:28:23.851Z" }, + { url = "https://files.pythonhosted.org/packages/b6/38/ad10d437563063eaaedbe2c3540a71101fc7fb07a7e71f855e93ea4de605/kiwisolver-1.4.8-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d47b28d1dfe0793d5e96bce90835e17edf9a499b53969b03c6c47ea5985844c3", size = 1408938, upload-time = "2024-12-24T18:28:26.687Z" }, + { url = "https://files.pythonhosted.org/packages/52/ce/c0106b3bd7f9e665c5f5bc1e07cc95b5dabd4e08e3dad42dbe2faad467e7/kiwisolver-1.4.8-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:eb158fe28ca0c29f2260cca8c43005329ad58452c36f0edf298204de32a9a3ed", size = 1422799, upload-time = "2024-12-24T18:28:30.538Z" }, + { url = "https://files.pythonhosted.org/packages/d0/87/efb704b1d75dc9758087ba374c0f23d3254505edaedd09cf9d247f7878b9/kiwisolver-1.4.8-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:d5536185fce131780ebd809f8e623bf4030ce1b161353166c49a3c74c287897f", size = 1354362, upload-time = "2024-12-24T18:28:32.943Z" }, + { url = "https://files.pythonhosted.org/packages/eb/b3/fd760dc214ec9a8f208b99e42e8f0130ff4b384eca8b29dd0efc62052176/kiwisolver-1.4.8-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:369b75d40abedc1da2c1f4de13f3482cb99e3237b38726710f4a793432b1c5ff", size = 2222695, upload-time = "2024-12-24T18:28:35.641Z" }, + { url = "https://files.pythonhosted.org/packages/a2/09/a27fb36cca3fc01700687cc45dae7a6a5f8eeb5f657b9f710f788748e10d/kiwisolver-1.4.8-cp310-cp310-musllinux_1_2_i686.whl", hash = "sha256:641f2ddf9358c80faa22e22eb4c9f54bd3f0e442e038728f500e3b978d00aa7d", size = 2370802, upload-time = "2024-12-24T18:28:38.357Z" }, + { url = "https://files.pythonhosted.org/packages/3d/c3/ba0a0346db35fe4dc1f2f2cf8b99362fbb922d7562e5f911f7ce7a7b60fa/kiwisolver-1.4.8-cp310-cp310-musllinux_1_2_ppc64le.whl", hash = "sha256:d561d2d8883e0819445cfe58d7ddd673e4015c3c57261d7bdcd3710d0d14005c", size = 2334646, upload-time = "2024-12-24T18:28:40.941Z" }, + { url = "https://files.pythonhosted.org/packages/41/52/942cf69e562f5ed253ac67d5c92a693745f0bed3c81f49fc0cbebe4d6b00/kiwisolver-1.4.8-cp310-cp310-musllinux_1_2_s390x.whl", hash = "sha256:1732e065704b47c9afca7ffa272f845300a4eb959276bf6970dc07265e73b605", size = 2467260, upload-time = "2024-12-24T18:28:42.273Z" }, + { url = "https://files.pythonhosted.org/packages/32/26/2d9668f30d8a494b0411d4d7d4ea1345ba12deb6a75274d58dd6ea01e951/kiwisolver-1.4.8-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:bcb1ebc3547619c3b58a39e2448af089ea2ef44b37988caf432447374941574e", size = 2288633, upload-time = "2024-12-24T18:28:44.87Z" }, + { url = "https://files.pythonhosted.org/packages/98/99/0dd05071654aa44fe5d5e350729961e7bb535372935a45ac89a8924316e6/kiwisolver-1.4.8-cp310-cp310-win_amd64.whl", hash = "sha256:89c107041f7b27844179ea9c85d6da275aa55ecf28413e87624d033cf1f6b751", size = 71885, upload-time = "2024-12-24T18:28:47.346Z" }, + { url = "https://files.pythonhosted.org/packages/6c/fc/822e532262a97442989335394d441cd1d0448c2e46d26d3e04efca84df22/kiwisolver-1.4.8-cp310-cp310-win_arm64.whl", hash = "sha256:b5773efa2be9eb9fcf5415ea3ab70fc785d598729fd6057bea38d539ead28271", size = 65175, upload-time = "2024-12-24T18:28:49.651Z" }, + { url = "https://files.pythonhosted.org/packages/da/ed/c913ee28936c371418cb167b128066ffb20bbf37771eecc2c97edf8a6e4c/kiwisolver-1.4.8-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:a4d3601908c560bdf880f07d94f31d734afd1bb71e96585cace0e38ef44c6d84", size = 124635, upload-time = "2024-12-24T18:28:51.826Z" }, + { url = "https://files.pythonhosted.org/packages/4c/45/4a7f896f7467aaf5f56ef093d1f329346f3b594e77c6a3c327b2d415f521/kiwisolver-1.4.8-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:856b269c4d28a5c0d5e6c1955ec36ebfd1651ac00e1ce0afa3e28da95293b561", size = 66717, upload-time = "2024-12-24T18:28:54.256Z" }, + { url = "https://files.pythonhosted.org/packages/5f/b4/c12b3ac0852a3a68f94598d4c8d569f55361beef6159dce4e7b624160da2/kiwisolver-1.4.8-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:c2b9a96e0f326205af81a15718a9073328df1173a2619a68553decb7097fd5d7", size = 65413, upload-time = "2024-12-24T18:28:55.184Z" }, + { url = "https://files.pythonhosted.org/packages/a9/98/1df4089b1ed23d83d410adfdc5947245c753bddfbe06541c4aae330e9e70/kiwisolver-1.4.8-cp311-cp311-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:c5020c83e8553f770cb3b5fc13faac40f17e0b205bd237aebd21d53d733adb03", size = 1343994, upload-time = "2024-12-24T18:28:57.493Z" }, + { url = "https://files.pythonhosted.org/packages/8d/bf/b4b169b050c8421a7c53ea1ea74e4ef9c335ee9013216c558a047f162d20/kiwisolver-1.4.8-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:dace81d28c787956bfbfbbfd72fdcef014f37d9b48830829e488fdb32b49d954", size = 1434804, upload-time = "2024-12-24T18:29:00.077Z" }, + { url = "https://files.pythonhosted.org/packages/66/5a/e13bd341fbcf73325ea60fdc8af752addf75c5079867af2e04cc41f34434/kiwisolver-1.4.8-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:11e1022b524bd48ae56c9b4f9296bce77e15a2e42a502cceba602f804b32bb79", size = 1450690, upload-time = "2024-12-24T18:29:01.401Z" }, + { url = "https://files.pythonhosted.org/packages/9b/4f/5955dcb376ba4a830384cc6fab7d7547bd6759fe75a09564910e9e3bb8ea/kiwisolver-1.4.8-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:3b9b4d2892fefc886f30301cdd80debd8bb01ecdf165a449eb6e78f79f0fabd6", size = 1376839, upload-time = "2024-12-24T18:29:02.685Z" }, + { url = "https://files.pythonhosted.org/packages/3a/97/5edbed69a9d0caa2e4aa616ae7df8127e10f6586940aa683a496c2c280b9/kiwisolver-1.4.8-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:3a96c0e790ee875d65e340ab383700e2b4891677b7fcd30a699146f9384a2bb0", size = 1435109, upload-time = "2024-12-24T18:29:04.113Z" }, + { url = "https://files.pythonhosted.org/packages/13/fc/e756382cb64e556af6c1809a1bbb22c141bbc2445049f2da06b420fe52bf/kiwisolver-1.4.8-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:23454ff084b07ac54ca8be535f4174170c1094a4cff78fbae4f73a4bcc0d4dab", size = 2245269, upload-time = "2024-12-24T18:29:05.488Z" }, + { url = "https://files.pythonhosted.org/packages/76/15/e59e45829d7f41c776d138245cabae6515cb4eb44b418f6d4109c478b481/kiwisolver-1.4.8-cp311-cp311-musllinux_1_2_i686.whl", hash = "sha256:87b287251ad6488e95b4f0b4a79a6d04d3ea35fde6340eb38fbd1ca9cd35bbbc", size = 2393468, upload-time = "2024-12-24T18:29:06.79Z" }, + { url = "https://files.pythonhosted.org/packages/e9/39/483558c2a913ab8384d6e4b66a932406f87c95a6080112433da5ed668559/kiwisolver-1.4.8-cp311-cp311-musllinux_1_2_ppc64le.whl", hash = "sha256:b21dbe165081142b1232a240fc6383fd32cdd877ca6cc89eab93e5f5883e1c25", size = 2355394, upload-time = "2024-12-24T18:29:08.24Z" }, + { url = "https://files.pythonhosted.org/packages/01/aa/efad1fbca6570a161d29224f14b082960c7e08268a133fe5dc0f6906820e/kiwisolver-1.4.8-cp311-cp311-musllinux_1_2_s390x.whl", hash = "sha256:768cade2c2df13db52475bd28d3a3fac8c9eff04b0e9e2fda0f3760f20b3f7fc", size = 2490901, upload-time = "2024-12-24T18:29:09.653Z" }, + { url = "https://files.pythonhosted.org/packages/c9/4f/15988966ba46bcd5ab9d0c8296914436720dd67fca689ae1a75b4ec1c72f/kiwisolver-1.4.8-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:d47cfb2650f0e103d4bf68b0b5804c68da97272c84bb12850d877a95c056bd67", size = 2312306, upload-time = "2024-12-24T18:29:12.644Z" }, + { url = "https://files.pythonhosted.org/packages/2d/27/bdf1c769c83f74d98cbc34483a972f221440703054894a37d174fba8aa68/kiwisolver-1.4.8-cp311-cp311-win_amd64.whl", hash = "sha256:ed33ca2002a779a2e20eeb06aea7721b6e47f2d4b8a8ece979d8ba9e2a167e34", size = 71966, upload-time = "2024-12-24T18:29:14.089Z" }, + { url = "https://files.pythonhosted.org/packages/4a/c9/9642ea855604aeb2968a8e145fc662edf61db7632ad2e4fb92424be6b6c0/kiwisolver-1.4.8-cp311-cp311-win_arm64.whl", hash = "sha256:16523b40aab60426ffdebe33ac374457cf62863e330a90a0383639ce14bf44b2", size = 65311, upload-time = "2024-12-24T18:29:15.892Z" }, + { url = "https://files.pythonhosted.org/packages/fc/aa/cea685c4ab647f349c3bc92d2daf7ae34c8e8cf405a6dcd3a497f58a2ac3/kiwisolver-1.4.8-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:d6af5e8815fd02997cb6ad9bbed0ee1e60014438ee1a5c2444c96f87b8843502", size = 124152, upload-time = "2024-12-24T18:29:16.85Z" }, + { url = "https://files.pythonhosted.org/packages/c5/0b/8db6d2e2452d60d5ebc4ce4b204feeb16176a851fd42462f66ade6808084/kiwisolver-1.4.8-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:bade438f86e21d91e0cf5dd7c0ed00cda0f77c8c1616bd83f9fc157fa6760d31", size = 66555, upload-time = "2024-12-24T18:29:19.146Z" }, + { url = "https://files.pythonhosted.org/packages/60/26/d6a0db6785dd35d3ba5bf2b2df0aedc5af089962c6eb2cbf67a15b81369e/kiwisolver-1.4.8-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:b83dc6769ddbc57613280118fb4ce3cd08899cc3369f7d0e0fab518a7cf37fdb", size = 65067, upload-time = "2024-12-24T18:29:20.096Z" }, + { url = "https://files.pythonhosted.org/packages/c9/ed/1d97f7e3561e09757a196231edccc1bcf59d55ddccefa2afc9c615abd8e0/kiwisolver-1.4.8-cp312-cp312-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:111793b232842991be367ed828076b03d96202c19221b5ebab421ce8bcad016f", size = 1378443, upload-time = "2024-12-24T18:29:22.843Z" }, + { url = "https://files.pythonhosted.org/packages/29/61/39d30b99954e6b46f760e6289c12fede2ab96a254c443639052d1b573fbc/kiwisolver-1.4.8-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:257af1622860e51b1a9d0ce387bf5c2c4f36a90594cb9514f55b074bcc787cfc", size = 1472728, upload-time = "2024-12-24T18:29:24.463Z" }, + { url = "https://files.pythonhosted.org/packages/0c/3e/804163b932f7603ef256e4a715e5843a9600802bb23a68b4e08c8c0ff61d/kiwisolver-1.4.8-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:69b5637c3f316cab1ec1c9a12b8c5f4750a4c4b71af9157645bf32830e39c03a", size = 1478388, upload-time = "2024-12-24T18:29:25.776Z" }, + { url = "https://files.pythonhosted.org/packages/8a/9e/60eaa75169a154700be74f875a4d9961b11ba048bef315fbe89cb6999056/kiwisolver-1.4.8-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:782bb86f245ec18009890e7cb8d13a5ef54dcf2ebe18ed65f795e635a96a1c6a", size = 1413849, upload-time = "2024-12-24T18:29:27.202Z" }, + { url = "https://files.pythonhosted.org/packages/bc/b3/9458adb9472e61a998c8c4d95cfdfec91c73c53a375b30b1428310f923e4/kiwisolver-1.4.8-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:cc978a80a0db3a66d25767b03688f1147a69e6237175c0f4ffffaaedf744055a", size = 1475533, upload-time = "2024-12-24T18:29:28.638Z" }, + { url = "https://files.pythonhosted.org/packages/e4/7a/0a42d9571e35798de80aef4bb43a9b672aa7f8e58643d7bd1950398ffb0a/kiwisolver-1.4.8-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:36dbbfd34838500a31f52c9786990d00150860e46cd5041386f217101350f0d3", size = 2268898, upload-time = "2024-12-24T18:29:30.368Z" }, + { url = "https://files.pythonhosted.org/packages/d9/07/1255dc8d80271400126ed8db35a1795b1a2c098ac3a72645075d06fe5c5d/kiwisolver-1.4.8-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:eaa973f1e05131de5ff3569bbba7f5fd07ea0595d3870ed4a526d486fe57fa1b", size = 2425605, upload-time = "2024-12-24T18:29:33.151Z" }, + { url = "https://files.pythonhosted.org/packages/84/df/5a3b4cf13780ef6f6942df67b138b03b7e79e9f1f08f57c49957d5867f6e/kiwisolver-1.4.8-cp312-cp312-musllinux_1_2_ppc64le.whl", hash = "sha256:a66f60f8d0c87ab7f59b6fb80e642ebb29fec354a4dfad687ca4092ae69d04f4", size = 2375801, upload-time = "2024-12-24T18:29:34.584Z" }, + { url = "https://files.pythonhosted.org/packages/8f/10/2348d068e8b0f635c8c86892788dac7a6b5c0cb12356620ab575775aad89/kiwisolver-1.4.8-cp312-cp312-musllinux_1_2_s390x.whl", hash = "sha256:858416b7fb777a53f0c59ca08190ce24e9abbd3cffa18886a5781b8e3e26f65d", size = 2520077, upload-time = "2024-12-24T18:29:36.138Z" }, + { url = "https://files.pythonhosted.org/packages/32/d8/014b89fee5d4dce157d814303b0fce4d31385a2af4c41fed194b173b81ac/kiwisolver-1.4.8-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:085940635c62697391baafaaeabdf3dd7a6c3643577dde337f4d66eba021b2b8", size = 2338410, upload-time = "2024-12-24T18:29:39.991Z" }, + { url = "https://files.pythonhosted.org/packages/bd/72/dfff0cc97f2a0776e1c9eb5bef1ddfd45f46246c6533b0191887a427bca5/kiwisolver-1.4.8-cp312-cp312-win_amd64.whl", hash = "sha256:01c3d31902c7db5fb6182832713d3b4122ad9317c2c5877d0539227d96bb2e50", size = 71853, upload-time = "2024-12-24T18:29:42.006Z" }, + { url = "https://files.pythonhosted.org/packages/dc/85/220d13d914485c0948a00f0b9eb419efaf6da81b7d72e88ce2391f7aed8d/kiwisolver-1.4.8-cp312-cp312-win_arm64.whl", hash = "sha256:a3c44cb68861de93f0c4a8175fbaa691f0aa22550c331fefef02b618a9dcb476", size = 65424, upload-time = "2024-12-24T18:29:44.38Z" }, + { url = "https://files.pythonhosted.org/packages/79/b3/e62464a652f4f8cd9006e13d07abad844a47df1e6537f73ddfbf1bc997ec/kiwisolver-1.4.8-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:1c8ceb754339793c24aee1c9fb2485b5b1f5bb1c2c214ff13368431e51fc9a09", size = 124156, upload-time = "2024-12-24T18:29:45.368Z" }, + { url = "https://files.pythonhosted.org/packages/8d/2d/f13d06998b546a2ad4f48607a146e045bbe48030774de29f90bdc573df15/kiwisolver-1.4.8-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:54a62808ac74b5e55a04a408cda6156f986cefbcf0ada13572696b507cc92fa1", size = 66555, upload-time = "2024-12-24T18:29:46.37Z" }, + { url = "https://files.pythonhosted.org/packages/59/e3/b8bd14b0a54998a9fd1e8da591c60998dc003618cb19a3f94cb233ec1511/kiwisolver-1.4.8-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:68269e60ee4929893aad82666821aaacbd455284124817af45c11e50a4b42e3c", size = 65071, upload-time = "2024-12-24T18:29:47.333Z" }, + { url = "https://files.pythonhosted.org/packages/f0/1c/6c86f6d85ffe4d0ce04228d976f00674f1df5dc893bf2dd4f1928748f187/kiwisolver-1.4.8-cp313-cp313-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:34d142fba9c464bc3bbfeff15c96eab0e7310343d6aefb62a79d51421fcc5f1b", size = 1378053, upload-time = "2024-12-24T18:29:49.636Z" }, + { url = "https://files.pythonhosted.org/packages/4e/b9/1c6e9f6dcb103ac5cf87cb695845f5fa71379021500153566d8a8a9fc291/kiwisolver-1.4.8-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:3ddc373e0eef45b59197de815b1b28ef89ae3955e7722cc9710fb91cd77b7f47", size = 1472278, upload-time = "2024-12-24T18:29:51.164Z" }, + { url = "https://files.pythonhosted.org/packages/ee/81/aca1eb176de671f8bda479b11acdc42c132b61a2ac861c883907dde6debb/kiwisolver-1.4.8-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:77e6f57a20b9bd4e1e2cedda4d0b986ebd0216236f0106e55c28aea3d3d69b16", size = 1478139, upload-time = "2024-12-24T18:29:52.594Z" }, + { url = "https://files.pythonhosted.org/packages/49/f4/e081522473671c97b2687d380e9e4c26f748a86363ce5af48b4a28e48d06/kiwisolver-1.4.8-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:08e77738ed7538f036cd1170cbed942ef749137b1311fa2bbe2a7fda2f6bf3cc", size = 1413517, upload-time = "2024-12-24T18:29:53.941Z" }, + { url = "https://files.pythonhosted.org/packages/8f/e9/6a7d025d8da8c4931522922cd706105aa32b3291d1add8c5427cdcd66e63/kiwisolver-1.4.8-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:a5ce1e481a74b44dd5e92ff03ea0cb371ae7a0268318e202be06c8f04f4f1246", size = 1474952, upload-time = "2024-12-24T18:29:56.523Z" }, + { url = "https://files.pythonhosted.org/packages/82/13/13fa685ae167bee5d94b415991c4fc7bb0a1b6ebea6e753a87044b209678/kiwisolver-1.4.8-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:fc2ace710ba7c1dfd1a3b42530b62b9ceed115f19a1656adefce7b1782a37794", size = 2269132, upload-time = "2024-12-24T18:29:57.989Z" }, + { url = "https://files.pythonhosted.org/packages/ef/92/bb7c9395489b99a6cb41d502d3686bac692586db2045adc19e45ee64ed23/kiwisolver-1.4.8-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:3452046c37c7692bd52b0e752b87954ef86ee2224e624ef7ce6cb21e8c41cc1b", size = 2425997, upload-time = "2024-12-24T18:29:59.393Z" }, + { url = "https://files.pythonhosted.org/packages/ed/12/87f0e9271e2b63d35d0d8524954145837dd1a6c15b62a2d8c1ebe0f182b4/kiwisolver-1.4.8-cp313-cp313-musllinux_1_2_ppc64le.whl", hash = "sha256:7e9a60b50fe8b2ec6f448fe8d81b07e40141bfced7f896309df271a0b92f80f3", size = 2376060, upload-time = "2024-12-24T18:30:01.338Z" }, + { url = "https://files.pythonhosted.org/packages/02/6e/c8af39288edbce8bf0fa35dee427b082758a4b71e9c91ef18fa667782138/kiwisolver-1.4.8-cp313-cp313-musllinux_1_2_s390x.whl", hash = "sha256:918139571133f366e8362fa4a297aeba86c7816b7ecf0bc79168080e2bd79957", size = 2520471, upload-time = "2024-12-24T18:30:04.574Z" }, + { url = "https://files.pythonhosted.org/packages/13/78/df381bc7b26e535c91469f77f16adcd073beb3e2dd25042efd064af82323/kiwisolver-1.4.8-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:e063ef9f89885a1d68dd8b2e18f5ead48653176d10a0e324e3b0030e3a69adeb", size = 2338793, upload-time = "2024-12-24T18:30:06.25Z" }, + { url = "https://files.pythonhosted.org/packages/d0/dc/c1abe38c37c071d0fc71c9a474fd0b9ede05d42f5a458d584619cfd2371a/kiwisolver-1.4.8-cp313-cp313-win_amd64.whl", hash = "sha256:a17b7c4f5b2c51bb68ed379defd608a03954a1845dfed7cc0117f1cc8a9b7fd2", size = 71855, upload-time = "2024-12-24T18:30:07.535Z" }, + { url = "https://files.pythonhosted.org/packages/a0/b6/21529d595b126ac298fdd90b705d87d4c5693de60023e0efcb4f387ed99e/kiwisolver-1.4.8-cp313-cp313-win_arm64.whl", hash = "sha256:3cd3bc628b25f74aedc6d374d5babf0166a92ff1317f46267f12d2ed54bc1d30", size = 65430, upload-time = "2024-12-24T18:30:08.504Z" }, + { url = "https://files.pythonhosted.org/packages/34/bd/b89380b7298e3af9b39f49334e3e2a4af0e04819789f04b43d560516c0c8/kiwisolver-1.4.8-cp313-cp313t-macosx_10_13_universal2.whl", hash = "sha256:370fd2df41660ed4e26b8c9d6bbcad668fbe2560462cba151a721d49e5b6628c", size = 126294, upload-time = "2024-12-24T18:30:09.508Z" }, + { url = "https://files.pythonhosted.org/packages/83/41/5857dc72e5e4148eaac5aa76e0703e594e4465f8ab7ec0fc60e3a9bb8fea/kiwisolver-1.4.8-cp313-cp313t-macosx_10_13_x86_64.whl", hash = "sha256:84a2f830d42707de1d191b9490ac186bf7997a9495d4e9072210a1296345f7dc", size = 67736, upload-time = "2024-12-24T18:30:11.039Z" }, + { url = "https://files.pythonhosted.org/packages/e1/d1/be059b8db56ac270489fb0b3297fd1e53d195ba76e9bbb30e5401fa6b759/kiwisolver-1.4.8-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:7a3ad337add5148cf51ce0b55642dc551c0b9d6248458a757f98796ca7348712", size = 66194, upload-time = "2024-12-24T18:30:14.886Z" }, + { url = "https://files.pythonhosted.org/packages/e1/83/4b73975f149819eb7dcf9299ed467eba068ecb16439a98990dcb12e63fdd/kiwisolver-1.4.8-cp313-cp313t-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:7506488470f41169b86d8c9aeff587293f530a23a23a49d6bc64dab66bedc71e", size = 1465942, upload-time = "2024-12-24T18:30:18.927Z" }, + { url = "https://files.pythonhosted.org/packages/c7/2c/30a5cdde5102958e602c07466bce058b9d7cb48734aa7a4327261ac8e002/kiwisolver-1.4.8-cp313-cp313t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:2f0121b07b356a22fb0414cec4666bbe36fd6d0d759db3d37228f496ed67c880", size = 1595341, upload-time = "2024-12-24T18:30:22.102Z" }, + { url = "https://files.pythonhosted.org/packages/ff/9b/1e71db1c000385aa069704f5990574b8244cce854ecd83119c19e83c9586/kiwisolver-1.4.8-cp313-cp313t-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:d6d6bd87df62c27d4185de7c511c6248040afae67028a8a22012b010bc7ad062", size = 1598455, upload-time = "2024-12-24T18:30:24.947Z" }, + { url = "https://files.pythonhosted.org/packages/85/92/c8fec52ddf06231b31cbb779af77e99b8253cd96bd135250b9498144c78b/kiwisolver-1.4.8-cp313-cp313t-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:291331973c64bb9cce50bbe871fb2e675c4331dab4f31abe89f175ad7679a4d7", size = 1522138, upload-time = "2024-12-24T18:30:26.286Z" }, + { url = "https://files.pythonhosted.org/packages/0b/51/9eb7e2cd07a15d8bdd976f6190c0164f92ce1904e5c0c79198c4972926b7/kiwisolver-1.4.8-cp313-cp313t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:893f5525bb92d3d735878ec00f781b2de998333659507d29ea4466208df37bed", size = 1582857, upload-time = "2024-12-24T18:30:28.86Z" }, + { url = "https://files.pythonhosted.org/packages/0f/95/c5a00387a5405e68ba32cc64af65ce881a39b98d73cc394b24143bebc5b8/kiwisolver-1.4.8-cp313-cp313t-musllinux_1_2_aarch64.whl", hash = "sha256:b47a465040146981dc9db8647981b8cb96366fbc8d452b031e4f8fdffec3f26d", size = 2293129, upload-time = "2024-12-24T18:30:30.34Z" }, + { url = "https://files.pythonhosted.org/packages/44/83/eeb7af7d706b8347548313fa3a3a15931f404533cc54fe01f39e830dd231/kiwisolver-1.4.8-cp313-cp313t-musllinux_1_2_i686.whl", hash = "sha256:99cea8b9dd34ff80c521aef46a1dddb0dcc0283cf18bde6d756f1e6f31772165", size = 2421538, upload-time = "2024-12-24T18:30:33.334Z" }, + { url = "https://files.pythonhosted.org/packages/05/f9/27e94c1b3eb29e6933b6986ffc5fa1177d2cd1f0c8efc5f02c91c9ac61de/kiwisolver-1.4.8-cp313-cp313t-musllinux_1_2_ppc64le.whl", hash = "sha256:151dffc4865e5fe6dafce5480fab84f950d14566c480c08a53c663a0020504b6", size = 2390661, upload-time = "2024-12-24T18:30:34.939Z" }, + { url = "https://files.pythonhosted.org/packages/d9/d4/3c9735faa36ac591a4afcc2980d2691000506050b7a7e80bcfe44048daa7/kiwisolver-1.4.8-cp313-cp313t-musllinux_1_2_s390x.whl", hash = "sha256:577facaa411c10421314598b50413aa1ebcf5126f704f1e5d72d7e4e9f020d90", size = 2546710, upload-time = "2024-12-24T18:30:37.281Z" }, + { url = "https://files.pythonhosted.org/packages/4c/fa/be89a49c640930180657482a74970cdcf6f7072c8d2471e1babe17a222dc/kiwisolver-1.4.8-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:be4816dc51c8a471749d664161b434912eee82f2ea66bd7628bd14583a833e85", size = 2349213, upload-time = "2024-12-24T18:30:40.019Z" }, + { url = "https://files.pythonhosted.org/packages/1f/f9/ae81c47a43e33b93b0a9819cac6723257f5da2a5a60daf46aa5c7226ea85/kiwisolver-1.4.8-pp310-pypy310_pp73-macosx_10_15_x86_64.whl", hash = "sha256:e7a019419b7b510f0f7c9dceff8c5eae2392037eae483a7f9162625233802b0a", size = 60403, upload-time = "2024-12-24T18:30:41.372Z" }, + { url = "https://files.pythonhosted.org/packages/58/ca/f92b5cb6f4ce0c1ebfcfe3e2e42b96917e16f7090e45b21102941924f18f/kiwisolver-1.4.8-pp310-pypy310_pp73-macosx_11_0_arm64.whl", hash = "sha256:286b18e86682fd2217a48fc6be6b0f20c1d0ed10958d8dc53453ad58d7be0bf8", size = 58657, upload-time = "2024-12-24T18:30:42.392Z" }, + { url = "https://files.pythonhosted.org/packages/80/28/ae0240f732f0484d3a4dc885d055653c47144bdf59b670aae0ec3c65a7c8/kiwisolver-1.4.8-pp310-pypy310_pp73-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:4191ee8dfd0be1c3666ccbac178c5a05d5f8d689bbe3fc92f3c4abec817f8fe0", size = 84948, upload-time = "2024-12-24T18:30:44.703Z" }, + { url = "https://files.pythonhosted.org/packages/5d/eb/78d50346c51db22c7203c1611f9b513075f35c4e0e4877c5dde378d66043/kiwisolver-1.4.8-pp310-pypy310_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:7cd2785b9391f2873ad46088ed7599a6a71e762e1ea33e87514b1a441ed1da1c", size = 81186, upload-time = "2024-12-24T18:30:45.654Z" }, + { url = "https://files.pythonhosted.org/packages/43/f8/7259f18c77adca88d5f64f9a522792e178b2691f3748817a8750c2d216ef/kiwisolver-1.4.8-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:c07b29089b7ba090b6f1a669f1411f27221c3662b3a1b7010e67b59bb5a6f10b", size = 80279, upload-time = "2024-12-24T18:30:47.951Z" }, + { url = "https://files.pythonhosted.org/packages/3a/1d/50ad811d1c5dae091e4cf046beba925bcae0a610e79ae4c538f996f63ed5/kiwisolver-1.4.8-pp310-pypy310_pp73-win_amd64.whl", hash = "sha256:65ea09a5a3faadd59c2ce96dc7bf0f364986a315949dc6374f04396b0d60e09b", size = 71762, upload-time = "2024-12-24T18:30:48.903Z" }, ] [[package]] @@ -2158,9 +2158,9 @@ dependencies = [ { name = "importlib-metadata", version = "8.5.0", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.9'" }, { name = "importlib-metadata", version = "8.6.1", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version == '3.9.*'" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/54/28/3af612670f82f4c056911fbbbb42760255801b3068c48de792d354ff4472/markdown-3.7.tar.gz", hash = "sha256:2ae2471477cfd02dbbf038d5d9bc226d40def84b4fe2986e49b59b6b472bbed2", size = 357086 } +sdist = { url = "https://files.pythonhosted.org/packages/54/28/3af612670f82f4c056911fbbbb42760255801b3068c48de792d354ff4472/markdown-3.7.tar.gz", hash = "sha256:2ae2471477cfd02dbbf038d5d9bc226d40def84b4fe2986e49b59b6b472bbed2", size = 357086, upload-time = "2024-08-16T15:55:17.812Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/3f/08/83871f3c50fc983b88547c196d11cf8c3340e37c32d2e9d6152abe2c61f7/Markdown-3.7-py3-none-any.whl", hash = "sha256:7eb6df5690b81a1d7942992c97fad2938e956e79df20cbc6186e9c3a77b1c803", size = 106349 }, + { url = "https://files.pythonhosted.org/packages/3f/08/83871f3c50fc983b88547c196d11cf8c3340e37c32d2e9d6152abe2c61f7/Markdown-3.7-py3-none-any.whl", hash = "sha256:7eb6df5690b81a1d7942992c97fad2938e956e79df20cbc6186e9c3a77b1c803", size = 106349, upload-time = "2024-08-16T15:55:16.176Z" }, ] [[package]] @@ -2170,9 +2170,9 @@ source = { registry = "https://pypi.org/simple" } dependencies = [ { name = "mdurl" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/38/71/3b932df36c1a044d397a1f92d1cf91ee0a503d91e470cbd670aa66b07ed0/markdown-it-py-3.0.0.tar.gz", hash = "sha256:e3f60a94fa066dc52ec76661e37c851cb232d92f9886b15cb560aaada2df8feb", size = 74596 } +sdist = { url = "https://files.pythonhosted.org/packages/38/71/3b932df36c1a044d397a1f92d1cf91ee0a503d91e470cbd670aa66b07ed0/markdown-it-py-3.0.0.tar.gz", hash = "sha256:e3f60a94fa066dc52ec76661e37c851cb232d92f9886b15cb560aaada2df8feb", size = 74596, upload-time = "2023-06-03T06:41:14.443Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/42/d7/1ec15b46af6af88f19b8e5ffea08fa375d433c998b8a7639e76935c14f1f/markdown_it_py-3.0.0-py3-none-any.whl", hash = "sha256:355216845c60bd96232cd8d8c40e8f9765cc86f46880e43a8fd22dc1a1a8cab1", size = 87528 }, + { url = "https://files.pythonhosted.org/packages/42/d7/1ec15b46af6af88f19b8e5ffea08fa375d433c998b8a7639e76935c14f1f/markdown_it_py-3.0.0-py3-none-any.whl", hash = "sha256:355216845c60bd96232cd8d8c40e8f9765cc86f46880e43a8fd22dc1a1a8cab1", size = 87528, upload-time = "2023-06-03T06:41:11.019Z" }, ] [[package]] @@ -2184,58 +2184,58 @@ resolution-markers = [ "python_full_version < '3.9' and platform_machine == 'aarch64' and sys_platform == 'linux'", "(python_full_version < '3.9' and platform_machine != 'arm64' and sys_platform == 'darwin') or (python_full_version < '3.9' and platform_machine != 'aarch64' and sys_platform == 'linux') or (python_full_version < '3.9' and sys_platform != 'darwin' and sys_platform != 'linux')", ] -sdist = { url = "https://files.pythonhosted.org/packages/87/5b/aae44c6655f3801e81aa3eef09dbbf012431987ba564d7231722f68df02d/MarkupSafe-2.1.5.tar.gz", hash = "sha256:d283d37a890ba4c1ae73ffadf8046435c76e7bc2247bbb63c00bd1a709c6544b", size = 19384 } -wheels = [ - { url = "https://files.pythonhosted.org/packages/e4/54/ad5eb37bf9d51800010a74e4665425831a9db4e7c4e0fde4352e391e808e/MarkupSafe-2.1.5-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:a17a92de5231666cfbe003f0e4b9b3a7ae3afb1ec2845aadc2bacc93ff85febc", size = 18206 }, - { url = "https://files.pythonhosted.org/packages/6a/4a/a4d49415e600bacae038c67f9fecc1d5433b9d3c71a4de6f33537b89654c/MarkupSafe-2.1.5-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:72b6be590cc35924b02c78ef34b467da4ba07e4e0f0454a2c5907f473fc50ce5", size = 14079 }, - { url = "https://files.pythonhosted.org/packages/0a/7b/85681ae3c33c385b10ac0f8dd025c30af83c78cec1c37a6aa3b55e67f5ec/MarkupSafe-2.1.5-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:e61659ba32cf2cf1481e575d0462554625196a1f2fc06a1c777d3f48e8865d46", size = 26620 }, - { url = "https://files.pythonhosted.org/packages/7c/52/2b1b570f6b8b803cef5ac28fdf78c0da318916c7d2fe9402a84d591b394c/MarkupSafe-2.1.5-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:2174c595a0d73a3080ca3257b40096db99799265e1c27cc5a610743acd86d62f", size = 25818 }, - { url = "https://files.pythonhosted.org/packages/29/fe/a36ba8c7ca55621620b2d7c585313efd10729e63ef81e4e61f52330da781/MarkupSafe-2.1.5-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:ae2ad8ae6ebee9d2d94b17fb62763125f3f374c25618198f40cbb8b525411900", size = 25493 }, - { url = "https://files.pythonhosted.org/packages/60/ae/9c60231cdfda003434e8bd27282b1f4e197ad5a710c14bee8bea8a9ca4f0/MarkupSafe-2.1.5-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:075202fa5b72c86ad32dc7d0b56024ebdbcf2048c0ba09f1cde31bfdd57bcfff", size = 30630 }, - { url = "https://files.pythonhosted.org/packages/65/dc/1510be4d179869f5dafe071aecb3f1f41b45d37c02329dfba01ff59e5ac5/MarkupSafe-2.1.5-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:598e3276b64aff0e7b3451b72e94fa3c238d452e7ddcd893c3ab324717456bad", size = 29745 }, - { url = "https://files.pythonhosted.org/packages/30/39/8d845dd7d0b0613d86e0ef89549bfb5f61ed781f59af45fc96496e897f3a/MarkupSafe-2.1.5-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:fce659a462a1be54d2ffcacea5e3ba2d74daa74f30f5f143fe0c58636e355fdd", size = 30021 }, - { url = "https://files.pythonhosted.org/packages/c7/5c/356a6f62e4f3c5fbf2602b4771376af22a3b16efa74eb8716fb4e328e01e/MarkupSafe-2.1.5-cp310-cp310-win32.whl", hash = "sha256:d9fad5155d72433c921b782e58892377c44bd6252b5af2f67f16b194987338a4", size = 16659 }, - { url = "https://files.pythonhosted.org/packages/69/48/acbf292615c65f0604a0c6fc402ce6d8c991276e16c80c46a8f758fbd30c/MarkupSafe-2.1.5-cp310-cp310-win_amd64.whl", hash = "sha256:bf50cd79a75d181c9181df03572cdce0fbb75cc353bc350712073108cba98de5", size = 17213 }, - { url = "https://files.pythonhosted.org/packages/11/e7/291e55127bb2ae67c64d66cef01432b5933859dfb7d6949daa721b89d0b3/MarkupSafe-2.1.5-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:629ddd2ca402ae6dbedfceeba9c46d5f7b2a61d9749597d4307f943ef198fc1f", size = 18219 }, - { url = "https://files.pythonhosted.org/packages/6b/cb/aed7a284c00dfa7c0682d14df85ad4955a350a21d2e3b06d8240497359bf/MarkupSafe-2.1.5-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:5b7b716f97b52c5a14bffdf688f971b2d5ef4029127f1ad7a513973cfd818df2", size = 14098 }, - { url = "https://files.pythonhosted.org/packages/1c/cf/35fe557e53709e93feb65575c93927942087e9b97213eabc3fe9d5b25a55/MarkupSafe-2.1.5-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:6ec585f69cec0aa07d945b20805be741395e28ac1627333b1c5b0105962ffced", size = 29014 }, - { url = "https://files.pythonhosted.org/packages/97/18/c30da5e7a0e7f4603abfc6780574131221d9148f323752c2755d48abad30/MarkupSafe-2.1.5-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:b91c037585eba9095565a3556f611e3cbfaa42ca1e865f7b8015fe5c7336d5a5", size = 28220 }, - { url = "https://files.pythonhosted.org/packages/0c/40/2e73e7d532d030b1e41180807a80d564eda53babaf04d65e15c1cf897e40/MarkupSafe-2.1.5-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:7502934a33b54030eaf1194c21c692a534196063db72176b0c4028e140f8f32c", size = 27756 }, - { url = "https://files.pythonhosted.org/packages/18/46/5dca760547e8c59c5311b332f70605d24c99d1303dd9a6e1fc3ed0d73561/MarkupSafe-2.1.5-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:0e397ac966fdf721b2c528cf028494e86172b4feba51d65f81ffd65c63798f3f", size = 33988 }, - { url = "https://files.pythonhosted.org/packages/6d/c5/27febe918ac36397919cd4a67d5579cbbfa8da027fa1238af6285bb368ea/MarkupSafe-2.1.5-cp311-cp311-musllinux_1_1_i686.whl", hash = "sha256:c061bb86a71b42465156a3ee7bd58c8c2ceacdbeb95d05a99893e08b8467359a", size = 32718 }, - { url = "https://files.pythonhosted.org/packages/f8/81/56e567126a2c2bc2684d6391332e357589a96a76cb9f8e5052d85cb0ead8/MarkupSafe-2.1.5-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:3a57fdd7ce31c7ff06cdfbf31dafa96cc533c21e443d57f5b1ecc6cdc668ec7f", size = 33317 }, - { url = "https://files.pythonhosted.org/packages/00/0b/23f4b2470accb53285c613a3ab9ec19dc944eaf53592cb6d9e2af8aa24cc/MarkupSafe-2.1.5-cp311-cp311-win32.whl", hash = "sha256:397081c1a0bfb5124355710fe79478cdbeb39626492b15d399526ae53422b906", size = 16670 }, - { url = "https://files.pythonhosted.org/packages/b7/a2/c78a06a9ec6d04b3445a949615c4c7ed86a0b2eb68e44e7541b9d57067cc/MarkupSafe-2.1.5-cp311-cp311-win_amd64.whl", hash = "sha256:2b7c57a4dfc4f16f7142221afe5ba4e093e09e728ca65c51f5620c9aaeb9a617", size = 17224 }, - { url = "https://files.pythonhosted.org/packages/53/bd/583bf3e4c8d6a321938c13f49d44024dbe5ed63e0a7ba127e454a66da974/MarkupSafe-2.1.5-cp312-cp312-macosx_10_9_universal2.whl", hash = "sha256:8dec4936e9c3100156f8a2dc89c4b88d5c435175ff03413b443469c7c8c5f4d1", size = 18215 }, - { url = "https://files.pythonhosted.org/packages/48/d6/e7cd795fc710292c3af3a06d80868ce4b02bfbbf370b7cee11d282815a2a/MarkupSafe-2.1.5-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:3c6b973f22eb18a789b1460b4b91bf04ae3f0c4234a0a6aa6b0a92f6f7b951d4", size = 14069 }, - { url = "https://files.pythonhosted.org/packages/51/b5/5d8ec796e2a08fc814a2c7d2584b55f889a55cf17dd1a90f2beb70744e5c/MarkupSafe-2.1.5-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:ac07bad82163452a6884fe8fa0963fb98c2346ba78d779ec06bd7a6262132aee", size = 29452 }, - { url = "https://files.pythonhosted.org/packages/0a/0d/2454f072fae3b5a137c119abf15465d1771319dfe9e4acbb31722a0fff91/MarkupSafe-2.1.5-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f5dfb42c4604dddc8e4305050aa6deb084540643ed5804d7455b5df8fe16f5e5", size = 28462 }, - { url = "https://files.pythonhosted.org/packages/2d/75/fd6cb2e68780f72d47e6671840ca517bda5ef663d30ada7616b0462ad1e3/MarkupSafe-2.1.5-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:ea3d8a3d18833cf4304cd2fc9cbb1efe188ca9b5efef2bdac7adc20594a0e46b", size = 27869 }, - { url = "https://files.pythonhosted.org/packages/b0/81/147c477391c2750e8fc7705829f7351cf1cd3be64406edcf900dc633feb2/MarkupSafe-2.1.5-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:d050b3361367a06d752db6ead6e7edeb0009be66bc3bae0ee9d97fb326badc2a", size = 33906 }, - { url = "https://files.pythonhosted.org/packages/8b/ff/9a52b71839d7a256b563e85d11050e307121000dcebc97df120176b3ad93/MarkupSafe-2.1.5-cp312-cp312-musllinux_1_1_i686.whl", hash = "sha256:bec0a414d016ac1a18862a519e54b2fd0fc8bbfd6890376898a6c0891dd82e9f", size = 32296 }, - { url = "https://files.pythonhosted.org/packages/88/07/2dc76aa51b481eb96a4c3198894f38b480490e834479611a4053fbf08623/MarkupSafe-2.1.5-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:58c98fee265677f63a4385256a6d7683ab1832f3ddd1e66fe948d5880c21a169", size = 33038 }, - { url = "https://files.pythonhosted.org/packages/96/0c/620c1fb3661858c0e37eb3cbffd8c6f732a67cd97296f725789679801b31/MarkupSafe-2.1.5-cp312-cp312-win32.whl", hash = "sha256:8590b4ae07a35970728874632fed7bd57b26b0102df2d2b233b6d9d82f6c62ad", size = 16572 }, - { url = "https://files.pythonhosted.org/packages/3f/14/c3554d512d5f9100a95e737502f4a2323a1959f6d0d01e0d0997b35f7b10/MarkupSafe-2.1.5-cp312-cp312-win_amd64.whl", hash = "sha256:823b65d8706e32ad2df51ed89496147a42a2a6e01c13cfb6ffb8b1e92bc910bb", size = 17127 }, - { url = "https://files.pythonhosted.org/packages/f8/ff/2c942a82c35a49df5de3a630ce0a8456ac2969691b230e530ac12314364c/MarkupSafe-2.1.5-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:656f7526c69fac7f600bd1f400991cc282b417d17539a1b228617081106feb4a", size = 18192 }, - { url = "https://files.pythonhosted.org/packages/4f/14/6f294b9c4f969d0c801a4615e221c1e084722ea6114ab2114189c5b8cbe0/MarkupSafe-2.1.5-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:97cafb1f3cbcd3fd2b6fbfb99ae11cdb14deea0736fc2b0952ee177f2b813a46", size = 14072 }, - { url = "https://files.pythonhosted.org/packages/81/d4/fd74714ed30a1dedd0b82427c02fa4deec64f173831ec716da11c51a50aa/MarkupSafe-2.1.5-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:1f3fbcb7ef1f16e48246f704ab79d79da8a46891e2da03f8783a5b6fa41a9532", size = 26928 }, - { url = "https://files.pythonhosted.org/packages/c7/bd/50319665ce81bb10e90d1cf76f9e1aa269ea6f7fa30ab4521f14d122a3df/MarkupSafe-2.1.5-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:fa9db3f79de01457b03d4f01b34cf91bc0048eb2c3846ff26f66687c2f6d16ab", size = 26106 }, - { url = "https://files.pythonhosted.org/packages/4c/6f/f2b0f675635b05f6afd5ea03c094557bdb8622fa8e673387444fe8d8e787/MarkupSafe-2.1.5-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:ffee1f21e5ef0d712f9033568f8344d5da8cc2869dbd08d87c84656e6a2d2f68", size = 25781 }, - { url = "https://files.pythonhosted.org/packages/51/e0/393467cf899b34a9d3678e78961c2c8cdf49fb902a959ba54ece01273fb1/MarkupSafe-2.1.5-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:5dedb4db619ba5a2787a94d877bc8ffc0566f92a01c0ef214865e54ecc9ee5e0", size = 30518 }, - { url = "https://files.pythonhosted.org/packages/f6/02/5437e2ad33047290dafced9df741d9efc3e716b75583bbd73a9984f1b6f7/MarkupSafe-2.1.5-cp38-cp38-musllinux_1_1_i686.whl", hash = "sha256:30b600cf0a7ac9234b2638fbc0fb6158ba5bdcdf46aeb631ead21248b9affbc4", size = 29669 }, - { url = "https://files.pythonhosted.org/packages/0e/7d/968284145ffd9d726183ed6237c77938c021abacde4e073020f920e060b2/MarkupSafe-2.1.5-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:8dd717634f5a044f860435c1d8c16a270ddf0ef8588d4887037c5028b859b0c3", size = 29933 }, - { url = "https://files.pythonhosted.org/packages/bf/f3/ecb00fc8ab02b7beae8699f34db9357ae49d9f21d4d3de6f305f34fa949e/MarkupSafe-2.1.5-cp38-cp38-win32.whl", hash = "sha256:daa4ee5a243f0f20d528d939d06670a298dd39b1ad5f8a72a4275124a7819eff", size = 16656 }, - { url = "https://files.pythonhosted.org/packages/92/21/357205f03514a49b293e214ac39de01fadd0970a6e05e4bf1ddd0ffd0881/MarkupSafe-2.1.5-cp38-cp38-win_amd64.whl", hash = "sha256:619bc166c4f2de5caa5a633b8b7326fbe98e0ccbfacabd87268a2b15ff73a029", size = 17206 }, - { url = "https://files.pythonhosted.org/packages/0f/31/780bb297db036ba7b7bbede5e1d7f1e14d704ad4beb3ce53fb495d22bc62/MarkupSafe-2.1.5-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:7a68b554d356a91cce1236aa7682dc01df0edba8d043fd1ce607c49dd3c1edcf", size = 18193 }, - { url = "https://files.pythonhosted.org/packages/6c/77/d77701bbef72892affe060cdacb7a2ed7fd68dae3b477a8642f15ad3b132/MarkupSafe-2.1.5-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:db0b55e0f3cc0be60c1f19efdde9a637c32740486004f20d1cff53c3c0ece4d2", size = 14073 }, - { url = "https://files.pythonhosted.org/packages/d9/a7/1e558b4f78454c8a3a0199292d96159eb4d091f983bc35ef258314fe7269/MarkupSafe-2.1.5-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:3e53af139f8579a6d5f7b76549125f0d94d7e630761a2111bc431fd820e163b8", size = 26486 }, - { url = "https://files.pythonhosted.org/packages/5f/5a/360da85076688755ea0cceb92472923086993e86b5613bbae9fbc14136b0/MarkupSafe-2.1.5-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:17b950fccb810b3293638215058e432159d2b71005c74371d784862b7e4683f3", size = 25685 }, - { url = "https://files.pythonhosted.org/packages/6a/18/ae5a258e3401f9b8312f92b028c54d7026a97ec3ab20bfaddbdfa7d8cce8/MarkupSafe-2.1.5-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:4c31f53cdae6ecfa91a77820e8b151dba54ab528ba65dfd235c80b086d68a465", size = 25338 }, - { url = "https://files.pythonhosted.org/packages/0b/cc/48206bd61c5b9d0129f4d75243b156929b04c94c09041321456fd06a876d/MarkupSafe-2.1.5-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:bff1b4290a66b490a2f4719358c0cdcd9bafb6b8f061e45c7a2460866bf50c2e", size = 30439 }, - { url = "https://files.pythonhosted.org/packages/d1/06/a41c112ab9ffdeeb5f77bc3e331fdadf97fa65e52e44ba31880f4e7f983c/MarkupSafe-2.1.5-cp39-cp39-musllinux_1_1_i686.whl", hash = "sha256:bc1667f8b83f48511b94671e0e441401371dfd0f0a795c7daa4a3cd1dde55bea", size = 29531 }, - { url = "https://files.pythonhosted.org/packages/02/8c/ab9a463301a50dab04d5472e998acbd4080597abc048166ded5c7aa768c8/MarkupSafe-2.1.5-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:5049256f536511ee3f7e1b3f87d1d1209d327e818e6ae1365e8653d7e3abb6a6", size = 29823 }, - { url = "https://files.pythonhosted.org/packages/bc/29/9bc18da763496b055d8e98ce476c8e718dcfd78157e17f555ce6dd7d0895/MarkupSafe-2.1.5-cp39-cp39-win32.whl", hash = "sha256:00e046b6dd71aa03a41079792f8473dc494d564611a8f89bbbd7cb93295ebdcf", size = 16658 }, - { url = "https://files.pythonhosted.org/packages/f6/f8/4da07de16f10551ca1f640c92b5f316f9394088b183c6a57183df6de5ae4/MarkupSafe-2.1.5-cp39-cp39-win_amd64.whl", hash = "sha256:fa173ec60341d6bb97a89f5ea19c85c5643c1e7dedebc22f5181eb73573142c5", size = 17211 }, +sdist = { url = "https://files.pythonhosted.org/packages/87/5b/aae44c6655f3801e81aa3eef09dbbf012431987ba564d7231722f68df02d/MarkupSafe-2.1.5.tar.gz", hash = "sha256:d283d37a890ba4c1ae73ffadf8046435c76e7bc2247bbb63c00bd1a709c6544b", size = 19384, upload-time = "2024-02-02T16:31:22.863Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/e4/54/ad5eb37bf9d51800010a74e4665425831a9db4e7c4e0fde4352e391e808e/MarkupSafe-2.1.5-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:a17a92de5231666cfbe003f0e4b9b3a7ae3afb1ec2845aadc2bacc93ff85febc", size = 18206, upload-time = "2024-02-02T16:30:04.105Z" }, + { url = "https://files.pythonhosted.org/packages/6a/4a/a4d49415e600bacae038c67f9fecc1d5433b9d3c71a4de6f33537b89654c/MarkupSafe-2.1.5-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:72b6be590cc35924b02c78ef34b467da4ba07e4e0f0454a2c5907f473fc50ce5", size = 14079, upload-time = "2024-02-02T16:30:06.5Z" }, + { url = "https://files.pythonhosted.org/packages/0a/7b/85681ae3c33c385b10ac0f8dd025c30af83c78cec1c37a6aa3b55e67f5ec/MarkupSafe-2.1.5-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:e61659ba32cf2cf1481e575d0462554625196a1f2fc06a1c777d3f48e8865d46", size = 26620, upload-time = "2024-02-02T16:30:08.31Z" }, + { url = "https://files.pythonhosted.org/packages/7c/52/2b1b570f6b8b803cef5ac28fdf78c0da318916c7d2fe9402a84d591b394c/MarkupSafe-2.1.5-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:2174c595a0d73a3080ca3257b40096db99799265e1c27cc5a610743acd86d62f", size = 25818, upload-time = "2024-02-02T16:30:09.577Z" }, + { url = "https://files.pythonhosted.org/packages/29/fe/a36ba8c7ca55621620b2d7c585313efd10729e63ef81e4e61f52330da781/MarkupSafe-2.1.5-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:ae2ad8ae6ebee9d2d94b17fb62763125f3f374c25618198f40cbb8b525411900", size = 25493, upload-time = "2024-02-02T16:30:11.488Z" }, + { url = "https://files.pythonhosted.org/packages/60/ae/9c60231cdfda003434e8bd27282b1f4e197ad5a710c14bee8bea8a9ca4f0/MarkupSafe-2.1.5-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:075202fa5b72c86ad32dc7d0b56024ebdbcf2048c0ba09f1cde31bfdd57bcfff", size = 30630, upload-time = "2024-02-02T16:30:13.144Z" }, + { url = "https://files.pythonhosted.org/packages/65/dc/1510be4d179869f5dafe071aecb3f1f41b45d37c02329dfba01ff59e5ac5/MarkupSafe-2.1.5-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:598e3276b64aff0e7b3451b72e94fa3c238d452e7ddcd893c3ab324717456bad", size = 29745, upload-time = "2024-02-02T16:30:14.222Z" }, + { url = "https://files.pythonhosted.org/packages/30/39/8d845dd7d0b0613d86e0ef89549bfb5f61ed781f59af45fc96496e897f3a/MarkupSafe-2.1.5-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:fce659a462a1be54d2ffcacea5e3ba2d74daa74f30f5f143fe0c58636e355fdd", size = 30021, upload-time = "2024-02-02T16:30:16.032Z" }, + { url = "https://files.pythonhosted.org/packages/c7/5c/356a6f62e4f3c5fbf2602b4771376af22a3b16efa74eb8716fb4e328e01e/MarkupSafe-2.1.5-cp310-cp310-win32.whl", hash = "sha256:d9fad5155d72433c921b782e58892377c44bd6252b5af2f67f16b194987338a4", size = 16659, upload-time = "2024-02-02T16:30:17.079Z" }, + { url = "https://files.pythonhosted.org/packages/69/48/acbf292615c65f0604a0c6fc402ce6d8c991276e16c80c46a8f758fbd30c/MarkupSafe-2.1.5-cp310-cp310-win_amd64.whl", hash = "sha256:bf50cd79a75d181c9181df03572cdce0fbb75cc353bc350712073108cba98de5", size = 17213, upload-time = "2024-02-02T16:30:18.251Z" }, + { url = "https://files.pythonhosted.org/packages/11/e7/291e55127bb2ae67c64d66cef01432b5933859dfb7d6949daa721b89d0b3/MarkupSafe-2.1.5-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:629ddd2ca402ae6dbedfceeba9c46d5f7b2a61d9749597d4307f943ef198fc1f", size = 18219, upload-time = "2024-02-02T16:30:19.988Z" }, + { url = "https://files.pythonhosted.org/packages/6b/cb/aed7a284c00dfa7c0682d14df85ad4955a350a21d2e3b06d8240497359bf/MarkupSafe-2.1.5-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:5b7b716f97b52c5a14bffdf688f971b2d5ef4029127f1ad7a513973cfd818df2", size = 14098, upload-time = "2024-02-02T16:30:21.063Z" }, + { url = "https://files.pythonhosted.org/packages/1c/cf/35fe557e53709e93feb65575c93927942087e9b97213eabc3fe9d5b25a55/MarkupSafe-2.1.5-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:6ec585f69cec0aa07d945b20805be741395e28ac1627333b1c5b0105962ffced", size = 29014, upload-time = "2024-02-02T16:30:22.926Z" }, + { url = "https://files.pythonhosted.org/packages/97/18/c30da5e7a0e7f4603abfc6780574131221d9148f323752c2755d48abad30/MarkupSafe-2.1.5-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:b91c037585eba9095565a3556f611e3cbfaa42ca1e865f7b8015fe5c7336d5a5", size = 28220, upload-time = "2024-02-02T16:30:24.76Z" }, + { url = "https://files.pythonhosted.org/packages/0c/40/2e73e7d532d030b1e41180807a80d564eda53babaf04d65e15c1cf897e40/MarkupSafe-2.1.5-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:7502934a33b54030eaf1194c21c692a534196063db72176b0c4028e140f8f32c", size = 27756, upload-time = "2024-02-02T16:30:25.877Z" }, + { url = "https://files.pythonhosted.org/packages/18/46/5dca760547e8c59c5311b332f70605d24c99d1303dd9a6e1fc3ed0d73561/MarkupSafe-2.1.5-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:0e397ac966fdf721b2c528cf028494e86172b4feba51d65f81ffd65c63798f3f", size = 33988, upload-time = "2024-02-02T16:30:26.935Z" }, + { url = "https://files.pythonhosted.org/packages/6d/c5/27febe918ac36397919cd4a67d5579cbbfa8da027fa1238af6285bb368ea/MarkupSafe-2.1.5-cp311-cp311-musllinux_1_1_i686.whl", hash = "sha256:c061bb86a71b42465156a3ee7bd58c8c2ceacdbeb95d05a99893e08b8467359a", size = 32718, upload-time = "2024-02-02T16:30:28.111Z" }, + { url = "https://files.pythonhosted.org/packages/f8/81/56e567126a2c2bc2684d6391332e357589a96a76cb9f8e5052d85cb0ead8/MarkupSafe-2.1.5-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:3a57fdd7ce31c7ff06cdfbf31dafa96cc533c21e443d57f5b1ecc6cdc668ec7f", size = 33317, upload-time = "2024-02-02T16:30:29.214Z" }, + { url = "https://files.pythonhosted.org/packages/00/0b/23f4b2470accb53285c613a3ab9ec19dc944eaf53592cb6d9e2af8aa24cc/MarkupSafe-2.1.5-cp311-cp311-win32.whl", hash = "sha256:397081c1a0bfb5124355710fe79478cdbeb39626492b15d399526ae53422b906", size = 16670, upload-time = "2024-02-02T16:30:30.915Z" }, + { url = "https://files.pythonhosted.org/packages/b7/a2/c78a06a9ec6d04b3445a949615c4c7ed86a0b2eb68e44e7541b9d57067cc/MarkupSafe-2.1.5-cp311-cp311-win_amd64.whl", hash = "sha256:2b7c57a4dfc4f16f7142221afe5ba4e093e09e728ca65c51f5620c9aaeb9a617", size = 17224, upload-time = "2024-02-02T16:30:32.09Z" }, + { url = "https://files.pythonhosted.org/packages/53/bd/583bf3e4c8d6a321938c13f49d44024dbe5ed63e0a7ba127e454a66da974/MarkupSafe-2.1.5-cp312-cp312-macosx_10_9_universal2.whl", hash = "sha256:8dec4936e9c3100156f8a2dc89c4b88d5c435175ff03413b443469c7c8c5f4d1", size = 18215, upload-time = "2024-02-02T16:30:33.081Z" }, + { url = "https://files.pythonhosted.org/packages/48/d6/e7cd795fc710292c3af3a06d80868ce4b02bfbbf370b7cee11d282815a2a/MarkupSafe-2.1.5-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:3c6b973f22eb18a789b1460b4b91bf04ae3f0c4234a0a6aa6b0a92f6f7b951d4", size = 14069, upload-time = "2024-02-02T16:30:34.148Z" }, + { url = "https://files.pythonhosted.org/packages/51/b5/5d8ec796e2a08fc814a2c7d2584b55f889a55cf17dd1a90f2beb70744e5c/MarkupSafe-2.1.5-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:ac07bad82163452a6884fe8fa0963fb98c2346ba78d779ec06bd7a6262132aee", size = 29452, upload-time = "2024-02-02T16:30:35.149Z" }, + { url = "https://files.pythonhosted.org/packages/0a/0d/2454f072fae3b5a137c119abf15465d1771319dfe9e4acbb31722a0fff91/MarkupSafe-2.1.5-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f5dfb42c4604dddc8e4305050aa6deb084540643ed5804d7455b5df8fe16f5e5", size = 28462, upload-time = "2024-02-02T16:30:36.166Z" }, + { url = "https://files.pythonhosted.org/packages/2d/75/fd6cb2e68780f72d47e6671840ca517bda5ef663d30ada7616b0462ad1e3/MarkupSafe-2.1.5-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:ea3d8a3d18833cf4304cd2fc9cbb1efe188ca9b5efef2bdac7adc20594a0e46b", size = 27869, upload-time = "2024-02-02T16:30:37.834Z" }, + { url = "https://files.pythonhosted.org/packages/b0/81/147c477391c2750e8fc7705829f7351cf1cd3be64406edcf900dc633feb2/MarkupSafe-2.1.5-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:d050b3361367a06d752db6ead6e7edeb0009be66bc3bae0ee9d97fb326badc2a", size = 33906, upload-time = "2024-02-02T16:30:39.366Z" }, + { url = "https://files.pythonhosted.org/packages/8b/ff/9a52b71839d7a256b563e85d11050e307121000dcebc97df120176b3ad93/MarkupSafe-2.1.5-cp312-cp312-musllinux_1_1_i686.whl", hash = "sha256:bec0a414d016ac1a18862a519e54b2fd0fc8bbfd6890376898a6c0891dd82e9f", size = 32296, upload-time = "2024-02-02T16:30:40.413Z" }, + { url = "https://files.pythonhosted.org/packages/88/07/2dc76aa51b481eb96a4c3198894f38b480490e834479611a4053fbf08623/MarkupSafe-2.1.5-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:58c98fee265677f63a4385256a6d7683ab1832f3ddd1e66fe948d5880c21a169", size = 33038, upload-time = "2024-02-02T16:30:42.243Z" }, + { url = "https://files.pythonhosted.org/packages/96/0c/620c1fb3661858c0e37eb3cbffd8c6f732a67cd97296f725789679801b31/MarkupSafe-2.1.5-cp312-cp312-win32.whl", hash = "sha256:8590b4ae07a35970728874632fed7bd57b26b0102df2d2b233b6d9d82f6c62ad", size = 16572, upload-time = "2024-02-02T16:30:43.326Z" }, + { url = "https://files.pythonhosted.org/packages/3f/14/c3554d512d5f9100a95e737502f4a2323a1959f6d0d01e0d0997b35f7b10/MarkupSafe-2.1.5-cp312-cp312-win_amd64.whl", hash = "sha256:823b65d8706e32ad2df51ed89496147a42a2a6e01c13cfb6ffb8b1e92bc910bb", size = 17127, upload-time = "2024-02-02T16:30:44.418Z" }, + { url = "https://files.pythonhosted.org/packages/f8/ff/2c942a82c35a49df5de3a630ce0a8456ac2969691b230e530ac12314364c/MarkupSafe-2.1.5-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:656f7526c69fac7f600bd1f400991cc282b417d17539a1b228617081106feb4a", size = 18192, upload-time = "2024-02-02T16:30:57.715Z" }, + { url = "https://files.pythonhosted.org/packages/4f/14/6f294b9c4f969d0c801a4615e221c1e084722ea6114ab2114189c5b8cbe0/MarkupSafe-2.1.5-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:97cafb1f3cbcd3fd2b6fbfb99ae11cdb14deea0736fc2b0952ee177f2b813a46", size = 14072, upload-time = "2024-02-02T16:30:58.844Z" }, + { url = "https://files.pythonhosted.org/packages/81/d4/fd74714ed30a1dedd0b82427c02fa4deec64f173831ec716da11c51a50aa/MarkupSafe-2.1.5-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:1f3fbcb7ef1f16e48246f704ab79d79da8a46891e2da03f8783a5b6fa41a9532", size = 26928, upload-time = "2024-02-02T16:30:59.922Z" }, + { url = "https://files.pythonhosted.org/packages/c7/bd/50319665ce81bb10e90d1cf76f9e1aa269ea6f7fa30ab4521f14d122a3df/MarkupSafe-2.1.5-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:fa9db3f79de01457b03d4f01b34cf91bc0048eb2c3846ff26f66687c2f6d16ab", size = 26106, upload-time = "2024-02-02T16:31:01.582Z" }, + { url = "https://files.pythonhosted.org/packages/4c/6f/f2b0f675635b05f6afd5ea03c094557bdb8622fa8e673387444fe8d8e787/MarkupSafe-2.1.5-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:ffee1f21e5ef0d712f9033568f8344d5da8cc2869dbd08d87c84656e6a2d2f68", size = 25781, upload-time = "2024-02-02T16:31:02.71Z" }, + { url = "https://files.pythonhosted.org/packages/51/e0/393467cf899b34a9d3678e78961c2c8cdf49fb902a959ba54ece01273fb1/MarkupSafe-2.1.5-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:5dedb4db619ba5a2787a94d877bc8ffc0566f92a01c0ef214865e54ecc9ee5e0", size = 30518, upload-time = "2024-02-02T16:31:04.392Z" }, + { url = "https://files.pythonhosted.org/packages/f6/02/5437e2ad33047290dafced9df741d9efc3e716b75583bbd73a9984f1b6f7/MarkupSafe-2.1.5-cp38-cp38-musllinux_1_1_i686.whl", hash = "sha256:30b600cf0a7ac9234b2638fbc0fb6158ba5bdcdf46aeb631ead21248b9affbc4", size = 29669, upload-time = "2024-02-02T16:31:05.53Z" }, + { url = "https://files.pythonhosted.org/packages/0e/7d/968284145ffd9d726183ed6237c77938c021abacde4e073020f920e060b2/MarkupSafe-2.1.5-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:8dd717634f5a044f860435c1d8c16a270ddf0ef8588d4887037c5028b859b0c3", size = 29933, upload-time = "2024-02-02T16:31:06.636Z" }, + { url = "https://files.pythonhosted.org/packages/bf/f3/ecb00fc8ab02b7beae8699f34db9357ae49d9f21d4d3de6f305f34fa949e/MarkupSafe-2.1.5-cp38-cp38-win32.whl", hash = "sha256:daa4ee5a243f0f20d528d939d06670a298dd39b1ad5f8a72a4275124a7819eff", size = 16656, upload-time = "2024-02-02T16:31:07.767Z" }, + { url = "https://files.pythonhosted.org/packages/92/21/357205f03514a49b293e214ac39de01fadd0970a6e05e4bf1ddd0ffd0881/MarkupSafe-2.1.5-cp38-cp38-win_amd64.whl", hash = "sha256:619bc166c4f2de5caa5a633b8b7326fbe98e0ccbfacabd87268a2b15ff73a029", size = 17206, upload-time = "2024-02-02T16:31:08.843Z" }, + { url = "https://files.pythonhosted.org/packages/0f/31/780bb297db036ba7b7bbede5e1d7f1e14d704ad4beb3ce53fb495d22bc62/MarkupSafe-2.1.5-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:7a68b554d356a91cce1236aa7682dc01df0edba8d043fd1ce607c49dd3c1edcf", size = 18193, upload-time = "2024-02-02T16:31:10.155Z" }, + { url = "https://files.pythonhosted.org/packages/6c/77/d77701bbef72892affe060cdacb7a2ed7fd68dae3b477a8642f15ad3b132/MarkupSafe-2.1.5-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:db0b55e0f3cc0be60c1f19efdde9a637c32740486004f20d1cff53c3c0ece4d2", size = 14073, upload-time = "2024-02-02T16:31:11.442Z" }, + { url = "https://files.pythonhosted.org/packages/d9/a7/1e558b4f78454c8a3a0199292d96159eb4d091f983bc35ef258314fe7269/MarkupSafe-2.1.5-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:3e53af139f8579a6d5f7b76549125f0d94d7e630761a2111bc431fd820e163b8", size = 26486, upload-time = "2024-02-02T16:31:12.488Z" }, + { url = "https://files.pythonhosted.org/packages/5f/5a/360da85076688755ea0cceb92472923086993e86b5613bbae9fbc14136b0/MarkupSafe-2.1.5-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:17b950fccb810b3293638215058e432159d2b71005c74371d784862b7e4683f3", size = 25685, upload-time = "2024-02-02T16:31:13.726Z" }, + { url = "https://files.pythonhosted.org/packages/6a/18/ae5a258e3401f9b8312f92b028c54d7026a97ec3ab20bfaddbdfa7d8cce8/MarkupSafe-2.1.5-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:4c31f53cdae6ecfa91a77820e8b151dba54ab528ba65dfd235c80b086d68a465", size = 25338, upload-time = "2024-02-02T16:31:14.812Z" }, + { url = "https://files.pythonhosted.org/packages/0b/cc/48206bd61c5b9d0129f4d75243b156929b04c94c09041321456fd06a876d/MarkupSafe-2.1.5-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:bff1b4290a66b490a2f4719358c0cdcd9bafb6b8f061e45c7a2460866bf50c2e", size = 30439, upload-time = "2024-02-02T16:31:15.946Z" }, + { url = "https://files.pythonhosted.org/packages/d1/06/a41c112ab9ffdeeb5f77bc3e331fdadf97fa65e52e44ba31880f4e7f983c/MarkupSafe-2.1.5-cp39-cp39-musllinux_1_1_i686.whl", hash = "sha256:bc1667f8b83f48511b94671e0e441401371dfd0f0a795c7daa4a3cd1dde55bea", size = 29531, upload-time = "2024-02-02T16:31:17.13Z" }, + { url = "https://files.pythonhosted.org/packages/02/8c/ab9a463301a50dab04d5472e998acbd4080597abc048166ded5c7aa768c8/MarkupSafe-2.1.5-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:5049256f536511ee3f7e1b3f87d1d1209d327e818e6ae1365e8653d7e3abb6a6", size = 29823, upload-time = "2024-02-02T16:31:18.247Z" }, + { url = "https://files.pythonhosted.org/packages/bc/29/9bc18da763496b055d8e98ce476c8e718dcfd78157e17f555ce6dd7d0895/MarkupSafe-2.1.5-cp39-cp39-win32.whl", hash = "sha256:00e046b6dd71aa03a41079792f8473dc494d564611a8f89bbbd7cb93295ebdcf", size = 16658, upload-time = "2024-02-02T16:31:19.583Z" }, + { url = "https://files.pythonhosted.org/packages/f6/f8/4da07de16f10551ca1f640c92b5f316f9394088b183c6a57183df6de5ae4/MarkupSafe-2.1.5-cp39-cp39-win_amd64.whl", hash = "sha256:fa173ec60341d6bb97a89f5ea19c85c5643c1e7dedebc22f5181eb73573142c5", size = 17211, upload-time = "2024-02-02T16:31:20.96Z" }, ] [[package]] @@ -2256,68 +2256,68 @@ resolution-markers = [ "python_full_version == '3.9.*' and platform_machine == 'aarch64' and sys_platform == 'linux'", "(python_full_version == '3.9.*' and platform_machine != 'arm64' and sys_platform == 'darwin') or (python_full_version == '3.9.*' and platform_machine != 'aarch64' and sys_platform == 'linux') or (python_full_version == '3.9.*' and sys_platform != 'darwin' and sys_platform != 'linux')", ] -sdist = { url = "https://files.pythonhosted.org/packages/b2/97/5d42485e71dfc078108a86d6de8fa46db44a1a9295e89c5d6d4a06e23a62/markupsafe-3.0.2.tar.gz", hash = "sha256:ee55d3edf80167e48ea11a923c7386f4669df67d7994554387f84e7d8b0a2bf0", size = 20537 } -wheels = [ - { url = "https://files.pythonhosted.org/packages/04/90/d08277ce111dd22f77149fd1a5d4653eeb3b3eaacbdfcbae5afb2600eebd/MarkupSafe-3.0.2-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:7e94c425039cde14257288fd61dcfb01963e658efbc0ff54f5306b06054700f8", size = 14357 }, - { url = "https://files.pythonhosted.org/packages/04/e1/6e2194baeae0bca1fae6629dc0cbbb968d4d941469cbab11a3872edff374/MarkupSafe-3.0.2-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:9e2d922824181480953426608b81967de705c3cef4d1af983af849d7bd619158", size = 12393 }, - { url = "https://files.pythonhosted.org/packages/1d/69/35fa85a8ece0a437493dc61ce0bb6d459dcba482c34197e3efc829aa357f/MarkupSafe-3.0.2-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:38a9ef736c01fccdd6600705b09dc574584b89bea478200c5fbf112a6b0d5579", size = 21732 }, - { url = "https://files.pythonhosted.org/packages/22/35/137da042dfb4720b638d2937c38a9c2df83fe32d20e8c8f3185dbfef05f7/MarkupSafe-3.0.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:bbcb445fa71794da8f178f0f6d66789a28d7319071af7a496d4d507ed566270d", size = 20866 }, - { url = "https://files.pythonhosted.org/packages/29/28/6d029a903727a1b62edb51863232152fd335d602def598dade38996887f0/MarkupSafe-3.0.2-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:57cb5a3cf367aeb1d316576250f65edec5bb3be939e9247ae594b4bcbc317dfb", size = 20964 }, - { url = "https://files.pythonhosted.org/packages/cc/cd/07438f95f83e8bc028279909d9c9bd39e24149b0d60053a97b2bc4f8aa51/MarkupSafe-3.0.2-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:3809ede931876f5b2ec92eef964286840ed3540dadf803dd570c3b7e13141a3b", size = 21977 }, - { url = "https://files.pythonhosted.org/packages/29/01/84b57395b4cc062f9c4c55ce0df7d3108ca32397299d9df00fedd9117d3d/MarkupSafe-3.0.2-cp310-cp310-musllinux_1_2_i686.whl", hash = "sha256:e07c3764494e3776c602c1e78e298937c3315ccc9043ead7e685b7f2b8d47b3c", size = 21366 }, - { url = "https://files.pythonhosted.org/packages/bd/6e/61ebf08d8940553afff20d1fb1ba7294b6f8d279df9fd0c0db911b4bbcfd/MarkupSafe-3.0.2-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:b424c77b206d63d500bcb69fa55ed8d0e6a3774056bdc4839fc9298a7edca171", size = 21091 }, - { url = "https://files.pythonhosted.org/packages/11/23/ffbf53694e8c94ebd1e7e491de185124277964344733c45481f32ede2499/MarkupSafe-3.0.2-cp310-cp310-win32.whl", hash = "sha256:fcabf5ff6eea076f859677f5f0b6b5c1a51e70a376b0579e0eadef8db48c6b50", size = 15065 }, - { url = "https://files.pythonhosted.org/packages/44/06/e7175d06dd6e9172d4a69a72592cb3f7a996a9c396eee29082826449bbc3/MarkupSafe-3.0.2-cp310-cp310-win_amd64.whl", hash = "sha256:6af100e168aa82a50e186c82875a5893c5597a0c1ccdb0d8b40240b1f28b969a", size = 15514 }, - { url = "https://files.pythonhosted.org/packages/6b/28/bbf83e3f76936960b850435576dd5e67034e200469571be53f69174a2dfd/MarkupSafe-3.0.2-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:9025b4018f3a1314059769c7bf15441064b2207cb3f065e6ea1e7359cb46db9d", size = 14353 }, - { url = "https://files.pythonhosted.org/packages/6c/30/316d194b093cde57d448a4c3209f22e3046c5bb2fb0820b118292b334be7/MarkupSafe-3.0.2-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:93335ca3812df2f366e80509ae119189886b0f3c2b81325d39efdb84a1e2ae93", size = 12392 }, - { url = "https://files.pythonhosted.org/packages/f2/96/9cdafba8445d3a53cae530aaf83c38ec64c4d5427d975c974084af5bc5d2/MarkupSafe-3.0.2-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:2cb8438c3cbb25e220c2ab33bb226559e7afb3baec11c4f218ffa7308603c832", size = 23984 }, - { url = "https://files.pythonhosted.org/packages/f1/a4/aefb044a2cd8d7334c8a47d3fb2c9f328ac48cb349468cc31c20b539305f/MarkupSafe-3.0.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:a123e330ef0853c6e822384873bef7507557d8e4a082961e1defa947aa59ba84", size = 23120 }, - { url = "https://files.pythonhosted.org/packages/8d/21/5e4851379f88f3fad1de30361db501300d4f07bcad047d3cb0449fc51f8c/MarkupSafe-3.0.2-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:1e084f686b92e5b83186b07e8a17fc09e38fff551f3602b249881fec658d3eca", size = 23032 }, - { url = "https://files.pythonhosted.org/packages/00/7b/e92c64e079b2d0d7ddf69899c98842f3f9a60a1ae72657c89ce2655c999d/MarkupSafe-3.0.2-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:d8213e09c917a951de9d09ecee036d5c7d36cb6cb7dbaece4c71a60d79fb9798", size = 24057 }, - { url = "https://files.pythonhosted.org/packages/f9/ac/46f960ca323037caa0a10662ef97d0a4728e890334fc156b9f9e52bcc4ca/MarkupSafe-3.0.2-cp311-cp311-musllinux_1_2_i686.whl", hash = "sha256:5b02fb34468b6aaa40dfc198d813a641e3a63b98c2b05a16b9f80b7ec314185e", size = 23359 }, - { url = "https://files.pythonhosted.org/packages/69/84/83439e16197337b8b14b6a5b9c2105fff81d42c2a7c5b58ac7b62ee2c3b1/MarkupSafe-3.0.2-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:0bff5e0ae4ef2e1ae4fdf2dfd5b76c75e5c2fa4132d05fc1b0dabcd20c7e28c4", size = 23306 }, - { url = "https://files.pythonhosted.org/packages/9a/34/a15aa69f01e2181ed8d2b685c0d2f6655d5cca2c4db0ddea775e631918cd/MarkupSafe-3.0.2-cp311-cp311-win32.whl", hash = "sha256:6c89876f41da747c8d3677a2b540fb32ef5715f97b66eeb0c6b66f5e3ef6f59d", size = 15094 }, - { url = "https://files.pythonhosted.org/packages/da/b8/3a3bd761922d416f3dc5d00bfbed11f66b1ab89a0c2b6e887240a30b0f6b/MarkupSafe-3.0.2-cp311-cp311-win_amd64.whl", hash = "sha256:70a87b411535ccad5ef2f1df5136506a10775d267e197e4cf531ced10537bd6b", size = 15521 }, - { url = "https://files.pythonhosted.org/packages/22/09/d1f21434c97fc42f09d290cbb6350d44eb12f09cc62c9476effdb33a18aa/MarkupSafe-3.0.2-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:9778bd8ab0a994ebf6f84c2b949e65736d5575320a17ae8984a77fab08db94cf", size = 14274 }, - { url = "https://files.pythonhosted.org/packages/6b/b0/18f76bba336fa5aecf79d45dcd6c806c280ec44538b3c13671d49099fdd0/MarkupSafe-3.0.2-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:846ade7b71e3536c4e56b386c2a47adf5741d2d8b94ec9dc3e92e5e1ee1e2225", size = 12348 }, - { url = "https://files.pythonhosted.org/packages/e0/25/dd5c0f6ac1311e9b40f4af06c78efde0f3b5cbf02502f8ef9501294c425b/MarkupSafe-3.0.2-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:1c99d261bd2d5f6b59325c92c73df481e05e57f19837bdca8413b9eac4bd8028", size = 24149 }, - { url = "https://files.pythonhosted.org/packages/f3/f0/89e7aadfb3749d0f52234a0c8c7867877876e0a20b60e2188e9850794c17/MarkupSafe-3.0.2-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:e17c96c14e19278594aa4841ec148115f9c7615a47382ecb6b82bd8fea3ab0c8", size = 23118 }, - { url = "https://files.pythonhosted.org/packages/d5/da/f2eeb64c723f5e3777bc081da884b414671982008c47dcc1873d81f625b6/MarkupSafe-3.0.2-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:88416bd1e65dcea10bc7569faacb2c20ce071dd1f87539ca2ab364bf6231393c", size = 22993 }, - { url = "https://files.pythonhosted.org/packages/da/0e/1f32af846df486dce7c227fe0f2398dc7e2e51d4a370508281f3c1c5cddc/MarkupSafe-3.0.2-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:2181e67807fc2fa785d0592dc2d6206c019b9502410671cc905d132a92866557", size = 24178 }, - { url = "https://files.pythonhosted.org/packages/c4/f6/bb3ca0532de8086cbff5f06d137064c8410d10779c4c127e0e47d17c0b71/MarkupSafe-3.0.2-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:52305740fe773d09cffb16f8ed0427942901f00adedac82ec8b67752f58a1b22", size = 23319 }, - { url = "https://files.pythonhosted.org/packages/a2/82/8be4c96ffee03c5b4a034e60a31294daf481e12c7c43ab8e34a1453ee48b/MarkupSafe-3.0.2-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:ad10d3ded218f1039f11a75f8091880239651b52e9bb592ca27de44eed242a48", size = 23352 }, - { url = "https://files.pythonhosted.org/packages/51/ae/97827349d3fcffee7e184bdf7f41cd6b88d9919c80f0263ba7acd1bbcb18/MarkupSafe-3.0.2-cp312-cp312-win32.whl", hash = "sha256:0f4ca02bea9a23221c0182836703cbf8930c5e9454bacce27e767509fa286a30", size = 15097 }, - { url = "https://files.pythonhosted.org/packages/c1/80/a61f99dc3a936413c3ee4e1eecac96c0da5ed07ad56fd975f1a9da5bc630/MarkupSafe-3.0.2-cp312-cp312-win_amd64.whl", hash = "sha256:8e06879fc22a25ca47312fbe7c8264eb0b662f6db27cb2d3bbbc74b1df4b9b87", size = 15601 }, - { url = "https://files.pythonhosted.org/packages/83/0e/67eb10a7ecc77a0c2bbe2b0235765b98d164d81600746914bebada795e97/MarkupSafe-3.0.2-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:ba9527cdd4c926ed0760bc301f6728ef34d841f405abf9d4f959c478421e4efd", size = 14274 }, - { url = "https://files.pythonhosted.org/packages/2b/6d/9409f3684d3335375d04e5f05744dfe7e9f120062c9857df4ab490a1031a/MarkupSafe-3.0.2-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:f8b3d067f2e40fe93e1ccdd6b2e1d16c43140e76f02fb1319a05cf2b79d99430", size = 12352 }, - { url = "https://files.pythonhosted.org/packages/d2/f5/6eadfcd3885ea85fe2a7c128315cc1bb7241e1987443d78c8fe712d03091/MarkupSafe-3.0.2-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:569511d3b58c8791ab4c2e1285575265991e6d8f8700c7be0e88f86cb0672094", size = 24122 }, - { url = "https://files.pythonhosted.org/packages/0c/91/96cf928db8236f1bfab6ce15ad070dfdd02ed88261c2afafd4b43575e9e9/MarkupSafe-3.0.2-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:15ab75ef81add55874e7ab7055e9c397312385bd9ced94920f2802310c930396", size = 23085 }, - { url = "https://files.pythonhosted.org/packages/c2/cf/c9d56af24d56ea04daae7ac0940232d31d5a8354f2b457c6d856b2057d69/MarkupSafe-3.0.2-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:f3818cb119498c0678015754eba762e0d61e5b52d34c8b13d770f0719f7b1d79", size = 22978 }, - { url = "https://files.pythonhosted.org/packages/2a/9f/8619835cd6a711d6272d62abb78c033bda638fdc54c4e7f4272cf1c0962b/MarkupSafe-3.0.2-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:cdb82a876c47801bb54a690c5ae105a46b392ac6099881cdfb9f6e95e4014c6a", size = 24208 }, - { url = "https://files.pythonhosted.org/packages/f9/bf/176950a1792b2cd2102b8ffeb5133e1ed984547b75db47c25a67d3359f77/MarkupSafe-3.0.2-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:cabc348d87e913db6ab4aa100f01b08f481097838bdddf7c7a84b7575b7309ca", size = 23357 }, - { url = "https://files.pythonhosted.org/packages/ce/4f/9a02c1d335caabe5c4efb90e1b6e8ee944aa245c1aaaab8e8a618987d816/MarkupSafe-3.0.2-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:444dcda765c8a838eaae23112db52f1efaf750daddb2d9ca300bcae1039adc5c", size = 23344 }, - { url = "https://files.pythonhosted.org/packages/ee/55/c271b57db36f748f0e04a759ace9f8f759ccf22b4960c270c78a394f58be/MarkupSafe-3.0.2-cp313-cp313-win32.whl", hash = "sha256:bcf3e58998965654fdaff38e58584d8937aa3096ab5354d493c77d1fdd66d7a1", size = 15101 }, - { url = "https://files.pythonhosted.org/packages/29/88/07df22d2dd4df40aba9f3e402e6dc1b8ee86297dddbad4872bd5e7b0094f/MarkupSafe-3.0.2-cp313-cp313-win_amd64.whl", hash = "sha256:e6a2a455bd412959b57a172ce6328d2dd1f01cb2135efda2e4576e8a23fa3b0f", size = 15603 }, - { url = "https://files.pythonhosted.org/packages/62/6a/8b89d24db2d32d433dffcd6a8779159da109842434f1dd2f6e71f32f738c/MarkupSafe-3.0.2-cp313-cp313t-macosx_10_13_universal2.whl", hash = "sha256:b5a6b3ada725cea8a5e634536b1b01c30bcdcd7f9c6fff4151548d5bf6b3a36c", size = 14510 }, - { url = "https://files.pythonhosted.org/packages/7a/06/a10f955f70a2e5a9bf78d11a161029d278eeacbd35ef806c3fd17b13060d/MarkupSafe-3.0.2-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:a904af0a6162c73e3edcb969eeeb53a63ceeb5d8cf642fade7d39e7963a22ddb", size = 12486 }, - { url = "https://files.pythonhosted.org/packages/34/cf/65d4a571869a1a9078198ca28f39fba5fbb910f952f9dbc5220afff9f5e6/MarkupSafe-3.0.2-cp313-cp313t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:4aa4e5faecf353ed117801a068ebab7b7e09ffb6e1d5e412dc852e0da018126c", size = 25480 }, - { url = "https://files.pythonhosted.org/packages/0c/e3/90e9651924c430b885468b56b3d597cabf6d72be4b24a0acd1fa0e12af67/MarkupSafe-3.0.2-cp313-cp313t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:c0ef13eaeee5b615fb07c9a7dadb38eac06a0608b41570d8ade51c56539e509d", size = 23914 }, - { url = "https://files.pythonhosted.org/packages/66/8c/6c7cf61f95d63bb866db39085150df1f2a5bd3335298f14a66b48e92659c/MarkupSafe-3.0.2-cp313-cp313t-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:d16a81a06776313e817c951135cf7340a3e91e8c1ff2fac444cfd75fffa04afe", size = 23796 }, - { url = "https://files.pythonhosted.org/packages/bb/35/cbe9238ec3f47ac9a7c8b3df7a808e7cb50fe149dc7039f5f454b3fba218/MarkupSafe-3.0.2-cp313-cp313t-musllinux_1_2_aarch64.whl", hash = "sha256:6381026f158fdb7c72a168278597a5e3a5222e83ea18f543112b2662a9b699c5", size = 25473 }, - { url = "https://files.pythonhosted.org/packages/e6/32/7621a4382488aa283cc05e8984a9c219abad3bca087be9ec77e89939ded9/MarkupSafe-3.0.2-cp313-cp313t-musllinux_1_2_i686.whl", hash = "sha256:3d79d162e7be8f996986c064d1c7c817f6df3a77fe3d6859f6f9e7be4b8c213a", size = 24114 }, - { url = "https://files.pythonhosted.org/packages/0d/80/0985960e4b89922cb5a0bac0ed39c5b96cbc1a536a99f30e8c220a996ed9/MarkupSafe-3.0.2-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:131a3c7689c85f5ad20f9f6fb1b866f402c445b220c19fe4308c0b147ccd2ad9", size = 24098 }, - { url = "https://files.pythonhosted.org/packages/82/78/fedb03c7d5380df2427038ec8d973587e90561b2d90cd472ce9254cf348b/MarkupSafe-3.0.2-cp313-cp313t-win32.whl", hash = "sha256:ba8062ed2cf21c07a9e295d5b8a2a5ce678b913b45fdf68c32d95d6c1291e0b6", size = 15208 }, - { url = "https://files.pythonhosted.org/packages/4f/65/6079a46068dfceaeabb5dcad6d674f5f5c61a6fa5673746f42a9f4c233b3/MarkupSafe-3.0.2-cp313-cp313t-win_amd64.whl", hash = "sha256:e444a31f8db13eb18ada366ab3cf45fd4b31e4db1236a4448f68778c1d1a5a2f", size = 15739 }, - { url = "https://files.pythonhosted.org/packages/a7/ea/9b1530c3fdeeca613faeb0fb5cbcf2389d816072fab72a71b45749ef6062/MarkupSafe-3.0.2-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:eaa0a10b7f72326f1372a713e73c3f739b524b3af41feb43e4921cb529f5929a", size = 14344 }, - { url = "https://files.pythonhosted.org/packages/4b/c2/fbdbfe48848e7112ab05e627e718e854d20192b674952d9042ebd8c9e5de/MarkupSafe-3.0.2-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:48032821bbdf20f5799ff537c7ac3d1fba0ba032cfc06194faffa8cda8b560ff", size = 12389 }, - { url = "https://files.pythonhosted.org/packages/f0/25/7a7c6e4dbd4f867d95d94ca15449e91e52856f6ed1905d58ef1de5e211d0/MarkupSafe-3.0.2-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:1a9d3f5f0901fdec14d8d2f66ef7d035f2157240a433441719ac9a3fba440b13", size = 21607 }, - { url = "https://files.pythonhosted.org/packages/53/8f/f339c98a178f3c1e545622206b40986a4c3307fe39f70ccd3d9df9a9e425/MarkupSafe-3.0.2-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:88b49a3b9ff31e19998750c38e030fc7bb937398b1f78cfa599aaef92d693144", size = 20728 }, - { url = "https://files.pythonhosted.org/packages/1a/03/8496a1a78308456dbd50b23a385c69b41f2e9661c67ea1329849a598a8f9/MarkupSafe-3.0.2-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:cfad01eed2c2e0c01fd0ecd2ef42c492f7f93902e39a42fc9ee1692961443a29", size = 20826 }, - { url = "https://files.pythonhosted.org/packages/e6/cf/0a490a4bd363048c3022f2f475c8c05582179bb179defcee4766fb3dcc18/MarkupSafe-3.0.2-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:1225beacc926f536dc82e45f8a4d68502949dc67eea90eab715dea3a21c1b5f0", size = 21843 }, - { url = "https://files.pythonhosted.org/packages/19/a3/34187a78613920dfd3cdf68ef6ce5e99c4f3417f035694074beb8848cd77/MarkupSafe-3.0.2-cp39-cp39-musllinux_1_2_i686.whl", hash = "sha256:3169b1eefae027567d1ce6ee7cae382c57fe26e82775f460f0b2778beaad66c0", size = 21219 }, - { url = "https://files.pythonhosted.org/packages/17/d8/5811082f85bb88410ad7e452263af048d685669bbbfb7b595e8689152498/MarkupSafe-3.0.2-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:eb7972a85c54febfb25b5c4b4f3af4dcc731994c7da0d8a0b4a6eb0640e1d178", size = 20946 }, - { url = "https://files.pythonhosted.org/packages/7c/31/bd635fb5989440d9365c5e3c47556cfea121c7803f5034ac843e8f37c2f2/MarkupSafe-3.0.2-cp39-cp39-win32.whl", hash = "sha256:8c4e8c3ce11e1f92f6536ff07154f9d49677ebaaafc32db9db4620bc11ed480f", size = 15063 }, - { url = "https://files.pythonhosted.org/packages/b3/73/085399401383ce949f727afec55ec3abd76648d04b9f22e1c0e99cb4bec3/MarkupSafe-3.0.2-cp39-cp39-win_amd64.whl", hash = "sha256:6e296a513ca3d94054c2c881cc913116e90fd030ad1c656b3869762b754f5f8a", size = 15506 }, +sdist = { url = "https://files.pythonhosted.org/packages/b2/97/5d42485e71dfc078108a86d6de8fa46db44a1a9295e89c5d6d4a06e23a62/markupsafe-3.0.2.tar.gz", hash = "sha256:ee55d3edf80167e48ea11a923c7386f4669df67d7994554387f84e7d8b0a2bf0", size = 20537, upload-time = "2024-10-18T15:21:54.129Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/04/90/d08277ce111dd22f77149fd1a5d4653eeb3b3eaacbdfcbae5afb2600eebd/MarkupSafe-3.0.2-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:7e94c425039cde14257288fd61dcfb01963e658efbc0ff54f5306b06054700f8", size = 14357, upload-time = "2024-10-18T15:20:51.44Z" }, + { url = "https://files.pythonhosted.org/packages/04/e1/6e2194baeae0bca1fae6629dc0cbbb968d4d941469cbab11a3872edff374/MarkupSafe-3.0.2-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:9e2d922824181480953426608b81967de705c3cef4d1af983af849d7bd619158", size = 12393, upload-time = "2024-10-18T15:20:52.426Z" }, + { url = "https://files.pythonhosted.org/packages/1d/69/35fa85a8ece0a437493dc61ce0bb6d459dcba482c34197e3efc829aa357f/MarkupSafe-3.0.2-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:38a9ef736c01fccdd6600705b09dc574584b89bea478200c5fbf112a6b0d5579", size = 21732, upload-time = "2024-10-18T15:20:53.578Z" }, + { url = "https://files.pythonhosted.org/packages/22/35/137da042dfb4720b638d2937c38a9c2df83fe32d20e8c8f3185dbfef05f7/MarkupSafe-3.0.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:bbcb445fa71794da8f178f0f6d66789a28d7319071af7a496d4d507ed566270d", size = 20866, upload-time = "2024-10-18T15:20:55.06Z" }, + { url = "https://files.pythonhosted.org/packages/29/28/6d029a903727a1b62edb51863232152fd335d602def598dade38996887f0/MarkupSafe-3.0.2-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:57cb5a3cf367aeb1d316576250f65edec5bb3be939e9247ae594b4bcbc317dfb", size = 20964, upload-time = "2024-10-18T15:20:55.906Z" }, + { url = "https://files.pythonhosted.org/packages/cc/cd/07438f95f83e8bc028279909d9c9bd39e24149b0d60053a97b2bc4f8aa51/MarkupSafe-3.0.2-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:3809ede931876f5b2ec92eef964286840ed3540dadf803dd570c3b7e13141a3b", size = 21977, upload-time = "2024-10-18T15:20:57.189Z" }, + { url = "https://files.pythonhosted.org/packages/29/01/84b57395b4cc062f9c4c55ce0df7d3108ca32397299d9df00fedd9117d3d/MarkupSafe-3.0.2-cp310-cp310-musllinux_1_2_i686.whl", hash = "sha256:e07c3764494e3776c602c1e78e298937c3315ccc9043ead7e685b7f2b8d47b3c", size = 21366, upload-time = "2024-10-18T15:20:58.235Z" }, + { url = "https://files.pythonhosted.org/packages/bd/6e/61ebf08d8940553afff20d1fb1ba7294b6f8d279df9fd0c0db911b4bbcfd/MarkupSafe-3.0.2-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:b424c77b206d63d500bcb69fa55ed8d0e6a3774056bdc4839fc9298a7edca171", size = 21091, upload-time = "2024-10-18T15:20:59.235Z" }, + { url = "https://files.pythonhosted.org/packages/11/23/ffbf53694e8c94ebd1e7e491de185124277964344733c45481f32ede2499/MarkupSafe-3.0.2-cp310-cp310-win32.whl", hash = "sha256:fcabf5ff6eea076f859677f5f0b6b5c1a51e70a376b0579e0eadef8db48c6b50", size = 15065, upload-time = "2024-10-18T15:21:00.307Z" }, + { url = "https://files.pythonhosted.org/packages/44/06/e7175d06dd6e9172d4a69a72592cb3f7a996a9c396eee29082826449bbc3/MarkupSafe-3.0.2-cp310-cp310-win_amd64.whl", hash = "sha256:6af100e168aa82a50e186c82875a5893c5597a0c1ccdb0d8b40240b1f28b969a", size = 15514, upload-time = "2024-10-18T15:21:01.122Z" }, + { url = "https://files.pythonhosted.org/packages/6b/28/bbf83e3f76936960b850435576dd5e67034e200469571be53f69174a2dfd/MarkupSafe-3.0.2-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:9025b4018f3a1314059769c7bf15441064b2207cb3f065e6ea1e7359cb46db9d", size = 14353, upload-time = "2024-10-18T15:21:02.187Z" }, + { url = "https://files.pythonhosted.org/packages/6c/30/316d194b093cde57d448a4c3209f22e3046c5bb2fb0820b118292b334be7/MarkupSafe-3.0.2-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:93335ca3812df2f366e80509ae119189886b0f3c2b81325d39efdb84a1e2ae93", size = 12392, upload-time = "2024-10-18T15:21:02.941Z" }, + { url = "https://files.pythonhosted.org/packages/f2/96/9cdafba8445d3a53cae530aaf83c38ec64c4d5427d975c974084af5bc5d2/MarkupSafe-3.0.2-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:2cb8438c3cbb25e220c2ab33bb226559e7afb3baec11c4f218ffa7308603c832", size = 23984, upload-time = "2024-10-18T15:21:03.953Z" }, + { url = "https://files.pythonhosted.org/packages/f1/a4/aefb044a2cd8d7334c8a47d3fb2c9f328ac48cb349468cc31c20b539305f/MarkupSafe-3.0.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:a123e330ef0853c6e822384873bef7507557d8e4a082961e1defa947aa59ba84", size = 23120, upload-time = "2024-10-18T15:21:06.495Z" }, + { url = "https://files.pythonhosted.org/packages/8d/21/5e4851379f88f3fad1de30361db501300d4f07bcad047d3cb0449fc51f8c/MarkupSafe-3.0.2-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:1e084f686b92e5b83186b07e8a17fc09e38fff551f3602b249881fec658d3eca", size = 23032, upload-time = "2024-10-18T15:21:07.295Z" }, + { url = "https://files.pythonhosted.org/packages/00/7b/e92c64e079b2d0d7ddf69899c98842f3f9a60a1ae72657c89ce2655c999d/MarkupSafe-3.0.2-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:d8213e09c917a951de9d09ecee036d5c7d36cb6cb7dbaece4c71a60d79fb9798", size = 24057, upload-time = "2024-10-18T15:21:08.073Z" }, + { url = "https://files.pythonhosted.org/packages/f9/ac/46f960ca323037caa0a10662ef97d0a4728e890334fc156b9f9e52bcc4ca/MarkupSafe-3.0.2-cp311-cp311-musllinux_1_2_i686.whl", hash = "sha256:5b02fb34468b6aaa40dfc198d813a641e3a63b98c2b05a16b9f80b7ec314185e", size = 23359, upload-time = "2024-10-18T15:21:09.318Z" }, + { url = "https://files.pythonhosted.org/packages/69/84/83439e16197337b8b14b6a5b9c2105fff81d42c2a7c5b58ac7b62ee2c3b1/MarkupSafe-3.0.2-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:0bff5e0ae4ef2e1ae4fdf2dfd5b76c75e5c2fa4132d05fc1b0dabcd20c7e28c4", size = 23306, upload-time = "2024-10-18T15:21:10.185Z" }, + { url = "https://files.pythonhosted.org/packages/9a/34/a15aa69f01e2181ed8d2b685c0d2f6655d5cca2c4db0ddea775e631918cd/MarkupSafe-3.0.2-cp311-cp311-win32.whl", hash = "sha256:6c89876f41da747c8d3677a2b540fb32ef5715f97b66eeb0c6b66f5e3ef6f59d", size = 15094, upload-time = "2024-10-18T15:21:11.005Z" }, + { url = "https://files.pythonhosted.org/packages/da/b8/3a3bd761922d416f3dc5d00bfbed11f66b1ab89a0c2b6e887240a30b0f6b/MarkupSafe-3.0.2-cp311-cp311-win_amd64.whl", hash = "sha256:70a87b411535ccad5ef2f1df5136506a10775d267e197e4cf531ced10537bd6b", size = 15521, upload-time = "2024-10-18T15:21:12.911Z" }, + { url = "https://files.pythonhosted.org/packages/22/09/d1f21434c97fc42f09d290cbb6350d44eb12f09cc62c9476effdb33a18aa/MarkupSafe-3.0.2-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:9778bd8ab0a994ebf6f84c2b949e65736d5575320a17ae8984a77fab08db94cf", size = 14274, upload-time = "2024-10-18T15:21:13.777Z" }, + { url = "https://files.pythonhosted.org/packages/6b/b0/18f76bba336fa5aecf79d45dcd6c806c280ec44538b3c13671d49099fdd0/MarkupSafe-3.0.2-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:846ade7b71e3536c4e56b386c2a47adf5741d2d8b94ec9dc3e92e5e1ee1e2225", size = 12348, upload-time = "2024-10-18T15:21:14.822Z" }, + { url = "https://files.pythonhosted.org/packages/e0/25/dd5c0f6ac1311e9b40f4af06c78efde0f3b5cbf02502f8ef9501294c425b/MarkupSafe-3.0.2-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:1c99d261bd2d5f6b59325c92c73df481e05e57f19837bdca8413b9eac4bd8028", size = 24149, upload-time = "2024-10-18T15:21:15.642Z" }, + { url = "https://files.pythonhosted.org/packages/f3/f0/89e7aadfb3749d0f52234a0c8c7867877876e0a20b60e2188e9850794c17/MarkupSafe-3.0.2-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:e17c96c14e19278594aa4841ec148115f9c7615a47382ecb6b82bd8fea3ab0c8", size = 23118, upload-time = "2024-10-18T15:21:17.133Z" }, + { url = "https://files.pythonhosted.org/packages/d5/da/f2eeb64c723f5e3777bc081da884b414671982008c47dcc1873d81f625b6/MarkupSafe-3.0.2-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:88416bd1e65dcea10bc7569faacb2c20ce071dd1f87539ca2ab364bf6231393c", size = 22993, upload-time = "2024-10-18T15:21:18.064Z" }, + { url = "https://files.pythonhosted.org/packages/da/0e/1f32af846df486dce7c227fe0f2398dc7e2e51d4a370508281f3c1c5cddc/MarkupSafe-3.0.2-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:2181e67807fc2fa785d0592dc2d6206c019b9502410671cc905d132a92866557", size = 24178, upload-time = "2024-10-18T15:21:18.859Z" }, + { url = "https://files.pythonhosted.org/packages/c4/f6/bb3ca0532de8086cbff5f06d137064c8410d10779c4c127e0e47d17c0b71/MarkupSafe-3.0.2-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:52305740fe773d09cffb16f8ed0427942901f00adedac82ec8b67752f58a1b22", size = 23319, upload-time = "2024-10-18T15:21:19.671Z" }, + { url = "https://files.pythonhosted.org/packages/a2/82/8be4c96ffee03c5b4a034e60a31294daf481e12c7c43ab8e34a1453ee48b/MarkupSafe-3.0.2-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:ad10d3ded218f1039f11a75f8091880239651b52e9bb592ca27de44eed242a48", size = 23352, upload-time = "2024-10-18T15:21:20.971Z" }, + { url = "https://files.pythonhosted.org/packages/51/ae/97827349d3fcffee7e184bdf7f41cd6b88d9919c80f0263ba7acd1bbcb18/MarkupSafe-3.0.2-cp312-cp312-win32.whl", hash = "sha256:0f4ca02bea9a23221c0182836703cbf8930c5e9454bacce27e767509fa286a30", size = 15097, upload-time = "2024-10-18T15:21:22.646Z" }, + { url = "https://files.pythonhosted.org/packages/c1/80/a61f99dc3a936413c3ee4e1eecac96c0da5ed07ad56fd975f1a9da5bc630/MarkupSafe-3.0.2-cp312-cp312-win_amd64.whl", hash = "sha256:8e06879fc22a25ca47312fbe7c8264eb0b662f6db27cb2d3bbbc74b1df4b9b87", size = 15601, upload-time = "2024-10-18T15:21:23.499Z" }, + { url = "https://files.pythonhosted.org/packages/83/0e/67eb10a7ecc77a0c2bbe2b0235765b98d164d81600746914bebada795e97/MarkupSafe-3.0.2-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:ba9527cdd4c926ed0760bc301f6728ef34d841f405abf9d4f959c478421e4efd", size = 14274, upload-time = "2024-10-18T15:21:24.577Z" }, + { url = "https://files.pythonhosted.org/packages/2b/6d/9409f3684d3335375d04e5f05744dfe7e9f120062c9857df4ab490a1031a/MarkupSafe-3.0.2-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:f8b3d067f2e40fe93e1ccdd6b2e1d16c43140e76f02fb1319a05cf2b79d99430", size = 12352, upload-time = "2024-10-18T15:21:25.382Z" }, + { url = "https://files.pythonhosted.org/packages/d2/f5/6eadfcd3885ea85fe2a7c128315cc1bb7241e1987443d78c8fe712d03091/MarkupSafe-3.0.2-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:569511d3b58c8791ab4c2e1285575265991e6d8f8700c7be0e88f86cb0672094", size = 24122, upload-time = "2024-10-18T15:21:26.199Z" }, + { url = "https://files.pythonhosted.org/packages/0c/91/96cf928db8236f1bfab6ce15ad070dfdd02ed88261c2afafd4b43575e9e9/MarkupSafe-3.0.2-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:15ab75ef81add55874e7ab7055e9c397312385bd9ced94920f2802310c930396", size = 23085, upload-time = "2024-10-18T15:21:27.029Z" }, + { url = "https://files.pythonhosted.org/packages/c2/cf/c9d56af24d56ea04daae7ac0940232d31d5a8354f2b457c6d856b2057d69/MarkupSafe-3.0.2-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:f3818cb119498c0678015754eba762e0d61e5b52d34c8b13d770f0719f7b1d79", size = 22978, upload-time = "2024-10-18T15:21:27.846Z" }, + { url = "https://files.pythonhosted.org/packages/2a/9f/8619835cd6a711d6272d62abb78c033bda638fdc54c4e7f4272cf1c0962b/MarkupSafe-3.0.2-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:cdb82a876c47801bb54a690c5ae105a46b392ac6099881cdfb9f6e95e4014c6a", size = 24208, upload-time = "2024-10-18T15:21:28.744Z" }, + { url = "https://files.pythonhosted.org/packages/f9/bf/176950a1792b2cd2102b8ffeb5133e1ed984547b75db47c25a67d3359f77/MarkupSafe-3.0.2-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:cabc348d87e913db6ab4aa100f01b08f481097838bdddf7c7a84b7575b7309ca", size = 23357, upload-time = "2024-10-18T15:21:29.545Z" }, + { url = "https://files.pythonhosted.org/packages/ce/4f/9a02c1d335caabe5c4efb90e1b6e8ee944aa245c1aaaab8e8a618987d816/MarkupSafe-3.0.2-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:444dcda765c8a838eaae23112db52f1efaf750daddb2d9ca300bcae1039adc5c", size = 23344, upload-time = "2024-10-18T15:21:30.366Z" }, + { url = "https://files.pythonhosted.org/packages/ee/55/c271b57db36f748f0e04a759ace9f8f759ccf22b4960c270c78a394f58be/MarkupSafe-3.0.2-cp313-cp313-win32.whl", hash = "sha256:bcf3e58998965654fdaff38e58584d8937aa3096ab5354d493c77d1fdd66d7a1", size = 15101, upload-time = "2024-10-18T15:21:31.207Z" }, + { url = "https://files.pythonhosted.org/packages/29/88/07df22d2dd4df40aba9f3e402e6dc1b8ee86297dddbad4872bd5e7b0094f/MarkupSafe-3.0.2-cp313-cp313-win_amd64.whl", hash = "sha256:e6a2a455bd412959b57a172ce6328d2dd1f01cb2135efda2e4576e8a23fa3b0f", size = 15603, upload-time = "2024-10-18T15:21:32.032Z" }, + { url = "https://files.pythonhosted.org/packages/62/6a/8b89d24db2d32d433dffcd6a8779159da109842434f1dd2f6e71f32f738c/MarkupSafe-3.0.2-cp313-cp313t-macosx_10_13_universal2.whl", hash = "sha256:b5a6b3ada725cea8a5e634536b1b01c30bcdcd7f9c6fff4151548d5bf6b3a36c", size = 14510, upload-time = "2024-10-18T15:21:33.625Z" }, + { url = "https://files.pythonhosted.org/packages/7a/06/a10f955f70a2e5a9bf78d11a161029d278eeacbd35ef806c3fd17b13060d/MarkupSafe-3.0.2-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:a904af0a6162c73e3edcb969eeeb53a63ceeb5d8cf642fade7d39e7963a22ddb", size = 12486, upload-time = "2024-10-18T15:21:34.611Z" }, + { url = "https://files.pythonhosted.org/packages/34/cf/65d4a571869a1a9078198ca28f39fba5fbb910f952f9dbc5220afff9f5e6/MarkupSafe-3.0.2-cp313-cp313t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:4aa4e5faecf353ed117801a068ebab7b7e09ffb6e1d5e412dc852e0da018126c", size = 25480, upload-time = "2024-10-18T15:21:35.398Z" }, + { url = "https://files.pythonhosted.org/packages/0c/e3/90e9651924c430b885468b56b3d597cabf6d72be4b24a0acd1fa0e12af67/MarkupSafe-3.0.2-cp313-cp313t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:c0ef13eaeee5b615fb07c9a7dadb38eac06a0608b41570d8ade51c56539e509d", size = 23914, upload-time = "2024-10-18T15:21:36.231Z" }, + { url = "https://files.pythonhosted.org/packages/66/8c/6c7cf61f95d63bb866db39085150df1f2a5bd3335298f14a66b48e92659c/MarkupSafe-3.0.2-cp313-cp313t-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:d16a81a06776313e817c951135cf7340a3e91e8c1ff2fac444cfd75fffa04afe", size = 23796, upload-time = "2024-10-18T15:21:37.073Z" }, + { url = "https://files.pythonhosted.org/packages/bb/35/cbe9238ec3f47ac9a7c8b3df7a808e7cb50fe149dc7039f5f454b3fba218/MarkupSafe-3.0.2-cp313-cp313t-musllinux_1_2_aarch64.whl", hash = "sha256:6381026f158fdb7c72a168278597a5e3a5222e83ea18f543112b2662a9b699c5", size = 25473, upload-time = "2024-10-18T15:21:37.932Z" }, + { url = "https://files.pythonhosted.org/packages/e6/32/7621a4382488aa283cc05e8984a9c219abad3bca087be9ec77e89939ded9/MarkupSafe-3.0.2-cp313-cp313t-musllinux_1_2_i686.whl", hash = "sha256:3d79d162e7be8f996986c064d1c7c817f6df3a77fe3d6859f6f9e7be4b8c213a", size = 24114, upload-time = "2024-10-18T15:21:39.799Z" }, + { url = "https://files.pythonhosted.org/packages/0d/80/0985960e4b89922cb5a0bac0ed39c5b96cbc1a536a99f30e8c220a996ed9/MarkupSafe-3.0.2-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:131a3c7689c85f5ad20f9f6fb1b866f402c445b220c19fe4308c0b147ccd2ad9", size = 24098, upload-time = "2024-10-18T15:21:40.813Z" }, + { url = "https://files.pythonhosted.org/packages/82/78/fedb03c7d5380df2427038ec8d973587e90561b2d90cd472ce9254cf348b/MarkupSafe-3.0.2-cp313-cp313t-win32.whl", hash = "sha256:ba8062ed2cf21c07a9e295d5b8a2a5ce678b913b45fdf68c32d95d6c1291e0b6", size = 15208, upload-time = "2024-10-18T15:21:41.814Z" }, + { url = "https://files.pythonhosted.org/packages/4f/65/6079a46068dfceaeabb5dcad6d674f5f5c61a6fa5673746f42a9f4c233b3/MarkupSafe-3.0.2-cp313-cp313t-win_amd64.whl", hash = "sha256:e444a31f8db13eb18ada366ab3cf45fd4b31e4db1236a4448f68778c1d1a5a2f", size = 15739, upload-time = "2024-10-18T15:21:42.784Z" }, + { url = "https://files.pythonhosted.org/packages/a7/ea/9b1530c3fdeeca613faeb0fb5cbcf2389d816072fab72a71b45749ef6062/MarkupSafe-3.0.2-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:eaa0a10b7f72326f1372a713e73c3f739b524b3af41feb43e4921cb529f5929a", size = 14344, upload-time = "2024-10-18T15:21:43.721Z" }, + { url = "https://files.pythonhosted.org/packages/4b/c2/fbdbfe48848e7112ab05e627e718e854d20192b674952d9042ebd8c9e5de/MarkupSafe-3.0.2-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:48032821bbdf20f5799ff537c7ac3d1fba0ba032cfc06194faffa8cda8b560ff", size = 12389, upload-time = "2024-10-18T15:21:44.666Z" }, + { url = "https://files.pythonhosted.org/packages/f0/25/7a7c6e4dbd4f867d95d94ca15449e91e52856f6ed1905d58ef1de5e211d0/MarkupSafe-3.0.2-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:1a9d3f5f0901fdec14d8d2f66ef7d035f2157240a433441719ac9a3fba440b13", size = 21607, upload-time = "2024-10-18T15:21:45.452Z" }, + { url = "https://files.pythonhosted.org/packages/53/8f/f339c98a178f3c1e545622206b40986a4c3307fe39f70ccd3d9df9a9e425/MarkupSafe-3.0.2-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:88b49a3b9ff31e19998750c38e030fc7bb937398b1f78cfa599aaef92d693144", size = 20728, upload-time = "2024-10-18T15:21:46.295Z" }, + { url = "https://files.pythonhosted.org/packages/1a/03/8496a1a78308456dbd50b23a385c69b41f2e9661c67ea1329849a598a8f9/MarkupSafe-3.0.2-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:cfad01eed2c2e0c01fd0ecd2ef42c492f7f93902e39a42fc9ee1692961443a29", size = 20826, upload-time = "2024-10-18T15:21:47.134Z" }, + { url = "https://files.pythonhosted.org/packages/e6/cf/0a490a4bd363048c3022f2f475c8c05582179bb179defcee4766fb3dcc18/MarkupSafe-3.0.2-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:1225beacc926f536dc82e45f8a4d68502949dc67eea90eab715dea3a21c1b5f0", size = 21843, upload-time = "2024-10-18T15:21:48.334Z" }, + { url = "https://files.pythonhosted.org/packages/19/a3/34187a78613920dfd3cdf68ef6ce5e99c4f3417f035694074beb8848cd77/MarkupSafe-3.0.2-cp39-cp39-musllinux_1_2_i686.whl", hash = "sha256:3169b1eefae027567d1ce6ee7cae382c57fe26e82775f460f0b2778beaad66c0", size = 21219, upload-time = "2024-10-18T15:21:49.587Z" }, + { url = "https://files.pythonhosted.org/packages/17/d8/5811082f85bb88410ad7e452263af048d685669bbbfb7b595e8689152498/MarkupSafe-3.0.2-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:eb7972a85c54febfb25b5c4b4f3af4dcc731994c7da0d8a0b4a6eb0640e1d178", size = 20946, upload-time = "2024-10-18T15:21:50.441Z" }, + { url = "https://files.pythonhosted.org/packages/7c/31/bd635fb5989440d9365c5e3c47556cfea121c7803f5034ac843e8f37c2f2/MarkupSafe-3.0.2-cp39-cp39-win32.whl", hash = "sha256:8c4e8c3ce11e1f92f6536ff07154f9d49677ebaaafc32db9db4620bc11ed480f", size = 15063, upload-time = "2024-10-18T15:21:51.385Z" }, + { url = "https://files.pythonhosted.org/packages/b3/73/085399401383ce949f727afec55ec3abd76648d04b9f22e1c0e99cb4bec3/MarkupSafe-3.0.2-cp39-cp39-win_amd64.whl", hash = "sha256:6e296a513ca3d94054c2c881cc913116e90fd030ad1c656b3869762b754f5f8a", size = 15506, upload-time = "2024-10-18T15:21:52.974Z" }, ] [[package]] @@ -2341,54 +2341,54 @@ dependencies = [ { name = "pyparsing", version = "3.1.4", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.9'" }, { name = "python-dateutil", marker = "python_full_version < '3.9'" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/b6/f0/3836719cc3982fbba3b840d18a59db1d0ee9ac7986f24e8c0a092851b67b/matplotlib-3.7.5.tar.gz", hash = "sha256:1e5c971558ebc811aa07f54c7b7c677d78aa518ef4c390e14673a09e0860184a", size = 38098611 } -wheels = [ - { url = "https://files.pythonhosted.org/packages/f5/b0/3808e86c41e5d97822d77e89d7f3cb0890725845c050d87ec53732a8b150/matplotlib-3.7.5-cp310-cp310-macosx_10_12_universal2.whl", hash = "sha256:4a87b69cb1cb20943010f63feb0b2901c17a3b435f75349fd9865713bfa63925", size = 8322924 }, - { url = "https://files.pythonhosted.org/packages/5b/05/726623be56391ba1740331ad9f1cd30e1adec61c179ddac134957a6dc2e7/matplotlib-3.7.5-cp310-cp310-macosx_10_12_x86_64.whl", hash = "sha256:d3ce45010fefb028359accebb852ca0c21bd77ec0f281952831d235228f15810", size = 7438436 }, - { url = "https://files.pythonhosted.org/packages/15/83/89cdef49ef1e320060ec951ba33c132df211561d866c3ed144c81fd110b2/matplotlib-3.7.5-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:fbea1e762b28400393d71be1a02144aa16692a3c4c676ba0178ce83fc2928fdd", size = 7341849 }, - { url = "https://files.pythonhosted.org/packages/94/29/39fc4acdc296dd86e09cecb65c14966e1cf18e0f091b9cbd9bd3f0c19ee4/matplotlib-3.7.5-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:ec0e1adc0ad70ba8227e957551e25a9d2995e319c29f94a97575bb90fa1d4469", size = 11354141 }, - { url = "https://files.pythonhosted.org/packages/54/36/44c5eeb0d83ae1e3ed34d264d7adee947c4fd56c4a9464ce822de094995a/matplotlib-3.7.5-cp310-cp310-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:6738c89a635ced486c8a20e20111d33f6398a9cbebce1ced59c211e12cd61455", size = 11457668 }, - { url = "https://files.pythonhosted.org/packages/b7/e2/f68aeaedf0ef57cbb793637ee82e62e64ea26cee908db0fe4f8e24d502c0/matplotlib-3.7.5-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:1210b7919b4ed94b5573870f316bca26de3e3b07ffdb563e79327dc0e6bba515", size = 11580088 }, - { url = "https://files.pythonhosted.org/packages/d9/f7/7c88d34afc38943aa5e4e04d27fc9da5289a48c264c0d794f60c9cda0949/matplotlib-3.7.5-cp310-cp310-win32.whl", hash = "sha256:068ebcc59c072781d9dcdb82f0d3f1458271c2de7ca9c78f5bd672141091e9e1", size = 7339332 }, - { url = "https://files.pythonhosted.org/packages/91/99/e5f6f7c9438279581c4a2308d264fe24dc98bb80e3b2719f797227e54ddc/matplotlib-3.7.5-cp310-cp310-win_amd64.whl", hash = "sha256:f098ffbaab9df1e3ef04e5a5586a1e6b1791380698e84938d8640961c79b1fc0", size = 7506405 }, - { url = "https://files.pythonhosted.org/packages/5e/c6/45d0485e59d70b7a6a81eade5d0aed548b42cc65658c0ce0f813b9249165/matplotlib-3.7.5-cp311-cp311-macosx_10_12_universal2.whl", hash = "sha256:f65342c147572673f02a4abec2d5a23ad9c3898167df9b47c149f32ce61ca078", size = 8325506 }, - { url = "https://files.pythonhosted.org/packages/0e/0a/83bd8589f3597745f624fbcc7da1140088b2f4160ca51c71553c561d0df5/matplotlib-3.7.5-cp311-cp311-macosx_10_12_x86_64.whl", hash = "sha256:4ddf7fc0e0dc553891a117aa083039088d8a07686d4c93fb8a810adca68810af", size = 7439905 }, - { url = "https://files.pythonhosted.org/packages/84/c1/a7705b24f8f9b4d7ceea0002c13bae50cf9423f299f56d8c47a5cd2627d2/matplotlib-3.7.5-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:0ccb830fc29442360d91be48527809f23a5dcaee8da5f4d9b2d5b867c1b087b8", size = 7342895 }, - { url = "https://files.pythonhosted.org/packages/94/6e/55d7d8310c96a7459c883aa4be3f5a9338a108278484cbd5c95d480d1cef/matplotlib-3.7.5-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:efc6bb28178e844d1f408dd4d6341ee8a2e906fc9e0fa3dae497da4e0cab775d", size = 11358830 }, - { url = "https://files.pythonhosted.org/packages/55/57/3b36afe104216db1cf2f3889c394b403ea87eda77c4815227c9524462ba8/matplotlib-3.7.5-cp311-cp311-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:3b15c4c2d374f249f324f46e883340d494c01768dd5287f8bc00b65b625ab56c", size = 11462575 }, - { url = "https://files.pythonhosted.org/packages/f3/0b/fabcf5f66b12fab5c4110d06a6c0fed875c7e63bc446403f58f9dadc9999/matplotlib-3.7.5-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:3d028555421912307845e59e3de328260b26d055c5dac9b182cc9783854e98fb", size = 11584280 }, - { url = "https://files.pythonhosted.org/packages/47/a9/1ad7df27a9da70b62109584632f83fe6ef45774701199c44d5777107c240/matplotlib-3.7.5-cp311-cp311-win32.whl", hash = "sha256:fe184b4625b4052fa88ef350b815559dd90cc6cc8e97b62f966e1ca84074aafa", size = 7340429 }, - { url = "https://files.pythonhosted.org/packages/e3/b1/1b6c34b89173d6c206dc5a4028e8518b4dfee3569c13bdc0c88d0486cae7/matplotlib-3.7.5-cp311-cp311-win_amd64.whl", hash = "sha256:084f1f0f2f1010868c6f1f50b4e1c6f2fb201c58475494f1e5b66fed66093647", size = 7507112 }, - { url = "https://files.pythonhosted.org/packages/75/dc/4e341a3ef36f3e7321aec0741317f12c7a23264be708a97972bf018c34af/matplotlib-3.7.5-cp312-cp312-macosx_10_12_universal2.whl", hash = "sha256:34bceb9d8ddb142055ff27cd7135f539f2f01be2ce0bafbace4117abe58f8fe4", size = 8323797 }, - { url = "https://files.pythonhosted.org/packages/af/83/bbb482d678362ceb68cc59ec4fc705dde636025969361dac77be868541ef/matplotlib-3.7.5-cp312-cp312-macosx_10_12_x86_64.whl", hash = "sha256:c5a2134162273eb8cdfd320ae907bf84d171de948e62180fa372a3ca7cf0f433", size = 7439549 }, - { url = "https://files.pythonhosted.org/packages/1a/ee/e49a92d9e369b2b9e4373894171cb4e641771cd7f81bde1d8b6fb8c60842/matplotlib-3.7.5-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:039ad54683a814002ff37bf7981aa1faa40b91f4ff84149beb53d1eb64617980", size = 7341788 }, - { url = "https://files.pythonhosted.org/packages/48/79/89cb2fc5ddcfc3d440a739df04dbe6e4e72b1153d1ebd32b45d42eb71d27/matplotlib-3.7.5-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:4d742ccd1b09e863b4ca58291728db645b51dab343eebb08d5d4b31b308296ce", size = 11356329 }, - { url = "https://files.pythonhosted.org/packages/ff/25/84f181cdae5c9eba6fd1c2c35642aec47233425fe3b0d6fccdb323fb36e0/matplotlib-3.7.5-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:743b1c488ca6a2bc7f56079d282e44d236bf375968bfd1b7ba701fd4d0fa32d6", size = 11577813 }, - { url = "https://files.pythonhosted.org/packages/9f/24/b2db065d40e58033b3350222fb8bbb0ffcb834029df9c1f9349dd9c7dd45/matplotlib-3.7.5-cp312-cp312-win_amd64.whl", hash = "sha256:fbf730fca3e1f23713bc1fae0a57db386e39dc81ea57dc305c67f628c1d7a342", size = 7507667 }, - { url = "https://files.pythonhosted.org/packages/e3/72/50a38c8fd5dc845b06f8e71c9da802db44b81baabf4af8be78bb8a5622ea/matplotlib-3.7.5-cp38-cp38-macosx_10_12_universal2.whl", hash = "sha256:cfff9b838531698ee40e40ea1a8a9dc2c01edb400b27d38de6ba44c1f9a8e3d2", size = 8322659 }, - { url = "https://files.pythonhosted.org/packages/b1/ea/129163dcd21db6da5d559a8160c4a74c1dc5f96ac246a3d4248b43c7648d/matplotlib-3.7.5-cp38-cp38-macosx_10_12_x86_64.whl", hash = "sha256:1dbcca4508bca7847fe2d64a05b237a3dcaec1f959aedb756d5b1c67b770c5ee", size = 7438408 }, - { url = "https://files.pythonhosted.org/packages/aa/59/4d13e5b6298b1ca5525eea8c68d3806ae93ab6d0bb17ca9846aa3156b92b/matplotlib-3.7.5-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:4cdf4ef46c2a1609a50411b66940b31778db1e4b73d4ecc2eaa40bd588979b13", size = 7341782 }, - { url = "https://files.pythonhosted.org/packages/9e/c4/f562df04b08487731743511ff274ae5d31dce2ff3e5621f8b070d20ab54a/matplotlib-3.7.5-cp38-cp38-manylinux_2_12_i686.manylinux2010_i686.whl", hash = "sha256:167200ccfefd1674b60e957186dfd9baf58b324562ad1a28e5d0a6b3bea77905", size = 9196487 }, - { url = "https://files.pythonhosted.org/packages/30/33/cc27211d2ffeee4fd7402dca137b6e8a83f6dcae3d4be8d0ad5068555561/matplotlib-3.7.5-cp38-cp38-manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:53e64522934df6e1818b25fd48cf3b645b11740d78e6ef765fbb5fa5ce080d02", size = 9213051 }, - { url = "https://files.pythonhosted.org/packages/9b/9d/8bd37c86b79312c9dbcfa379dec32303f9b38e8456e0829d7e666a0e0a05/matplotlib-3.7.5-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d3e3bc79b2d7d615067bd010caff9243ead1fc95cf735c16e4b2583173f717eb", size = 11370807 }, - { url = "https://files.pythonhosted.org/packages/c0/1e/b24a07a849c8d458f1b3724f49029f0dedf748bdedb4d5f69491314838b6/matplotlib-3.7.5-cp38-cp38-win32.whl", hash = "sha256:6b641b48c6819726ed47c55835cdd330e53747d4efff574109fd79b2d8a13748", size = 7340461 }, - { url = "https://files.pythonhosted.org/packages/16/51/58b0b9de42fe1e665736d9286f88b5f1556a0e22bed8a71f468231761083/matplotlib-3.7.5-cp38-cp38-win_amd64.whl", hash = "sha256:f0b60993ed3488b4532ec6b697059897891927cbfc2b8d458a891b60ec03d9d7", size = 7507471 }, - { url = "https://files.pythonhosted.org/packages/0d/00/17487e9e8949ca623af87f6c8767408efe7530b7e1f4d6897fa7fa940834/matplotlib-3.7.5-cp39-cp39-macosx_10_12_universal2.whl", hash = "sha256:090964d0afaff9c90e4d8de7836757e72ecfb252fb02884016d809239f715651", size = 8323175 }, - { url = "https://files.pythonhosted.org/packages/6a/84/be0acd521fa9d6697657cf35878153f8009a42b4b75237aebc302559a8a9/matplotlib-3.7.5-cp39-cp39-macosx_10_12_x86_64.whl", hash = "sha256:9fc6fcfbc55cd719bc0bfa60bde248eb68cf43876d4c22864603bdd23962ba25", size = 7438737 }, - { url = "https://files.pythonhosted.org/packages/17/39/175f36a6d68d0cf47a4fecbae9728048355df23c9feca8688f1476b198e6/matplotlib-3.7.5-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:5e7cc3078b019bb863752b8b60e8b269423000f1603cb2299608231996bd9d54", size = 7341916 }, - { url = "https://files.pythonhosted.org/packages/36/c0/9a1c2a79f85c15d41b60877cbc333694ed80605e5c97a33880c4ecfd5bf1/matplotlib-3.7.5-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:1e4e9a868e8163abaaa8259842d85f949a919e1ead17644fb77a60427c90473c", size = 11352264 }, - { url = "https://files.pythonhosted.org/packages/a6/39/b0204e0e7a899b0676733366a55ccafa723799b719bc7f2e85e5ecde26a0/matplotlib-3.7.5-cp39-cp39-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:fa7ebc995a7d747dacf0a717d0eb3aa0f0c6a0e9ea88b0194d3a3cd241a1500f", size = 11454722 }, - { url = "https://files.pythonhosted.org/packages/d8/39/64dd1d36c79e72e614977db338d180cf204cf658927c05a8ef2d47feb4c0/matplotlib-3.7.5-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:3785bfd83b05fc0e0c2ae4c4a90034fe693ef96c679634756c50fe6efcc09856", size = 11576343 }, - { url = "https://files.pythonhosted.org/packages/31/b4/e77bc11394d858bdf15e356980fceb4ac9604b0fa8212ef3ca4f1dc166b8/matplotlib-3.7.5-cp39-cp39-win32.whl", hash = "sha256:29b058738c104d0ca8806395f1c9089dfe4d4f0f78ea765c6c704469f3fffc81", size = 7340455 }, - { url = "https://files.pythonhosted.org/packages/4a/84/081820c596b9555ecffc6819ee71f847f2fbb0d7c70a42c1eeaa54edf3e0/matplotlib-3.7.5-cp39-cp39-win_amd64.whl", hash = "sha256:fd4028d570fa4b31b7b165d4a685942ae9cdc669f33741e388c01857d9723eab", size = 7507711 }, - { url = "https://files.pythonhosted.org/packages/27/6c/1bb10f3d6f337b9faa2e96a251bd87ba5fed85a608df95eb4d69acc109f0/matplotlib-3.7.5-pp38-pypy38_pp73-macosx_10_12_x86_64.whl", hash = "sha256:2a9a3f4d6a7f88a62a6a18c7e6a84aedcaf4faf0708b4ca46d87b19f1b526f88", size = 7397285 }, - { url = "https://files.pythonhosted.org/packages/b2/36/66cfea213e9ba91cda9e257542c249ed235d49021af71c2e8007107d7d4c/matplotlib-3.7.5-pp38-pypy38_pp73-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:b9b3fd853d4a7f008a938df909b96db0b454225f935d3917520305b90680579c", size = 7552612 }, - { url = "https://files.pythonhosted.org/packages/77/df/16655199bf984c37c6a816b854bc032b56aef521aadc04f27928422f3c91/matplotlib-3.7.5-pp38-pypy38_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f0ad550da9f160737d7890217c5eeed4337d07e83ca1b2ca6535078f354e7675", size = 7515564 }, - { url = "https://files.pythonhosted.org/packages/5b/c8/3534c3705a677b71abb6be33609ba129fdeae2ea4e76b2fd3ab62c86fab3/matplotlib-3.7.5-pp38-pypy38_pp73-win_amd64.whl", hash = "sha256:20da7924a08306a861b3f2d1da0d1aa9a6678e480cf8eacffe18b565af2813e7", size = 7521336 }, - { url = "https://files.pythonhosted.org/packages/20/a0/c5c0d410798b387ed3a177a5a7eba21055dd9c41d4b15bd0861241a5a60e/matplotlib-3.7.5-pp39-pypy39_pp73-macosx_10_12_x86_64.whl", hash = "sha256:b45c9798ea6bb920cb77eb7306409756a7fab9db9b463e462618e0559aecb30e", size = 7397931 }, - { url = "https://files.pythonhosted.org/packages/c3/2f/9e9509727d4c7d1b8e2c88e9330a97d54a1dd20bd316a0c8d2f8b38c4513/matplotlib-3.7.5-pp39-pypy39_pp73-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:a99866267da1e561c7776fe12bf4442174b79aac1a47bd7e627c7e4d077ebd83", size = 7553224 }, - { url = "https://files.pythonhosted.org/packages/89/0c/5f3e403dcf5c23799c92b0139dd00e41caf23983e9281f5bfeba3065e7d2/matplotlib-3.7.5-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:2b6aa62adb6c268fc87d80f963aca39c64615c31830b02697743c95590ce3fbb", size = 7513250 }, - { url = "https://files.pythonhosted.org/packages/87/e0/03eba0a8c3775ef910dbb3a287114a64c47abbcaeab2543c59957f155a86/matplotlib-3.7.5-pp39-pypy39_pp73-win_amd64.whl", hash = "sha256:e530ab6a0afd082d2e9c17eb1eb064a63c5b09bb607b2b74fa41adbe3e162286", size = 7521729 }, +sdist = { url = "https://files.pythonhosted.org/packages/b6/f0/3836719cc3982fbba3b840d18a59db1d0ee9ac7986f24e8c0a092851b67b/matplotlib-3.7.5.tar.gz", hash = "sha256:1e5c971558ebc811aa07f54c7b7c677d78aa518ef4c390e14673a09e0860184a", size = 38098611, upload-time = "2024-02-16T10:50:56.19Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/f5/b0/3808e86c41e5d97822d77e89d7f3cb0890725845c050d87ec53732a8b150/matplotlib-3.7.5-cp310-cp310-macosx_10_12_universal2.whl", hash = "sha256:4a87b69cb1cb20943010f63feb0b2901c17a3b435f75349fd9865713bfa63925", size = 8322924, upload-time = "2024-02-16T10:48:06.184Z" }, + { url = "https://files.pythonhosted.org/packages/5b/05/726623be56391ba1740331ad9f1cd30e1adec61c179ddac134957a6dc2e7/matplotlib-3.7.5-cp310-cp310-macosx_10_12_x86_64.whl", hash = "sha256:d3ce45010fefb028359accebb852ca0c21bd77ec0f281952831d235228f15810", size = 7438436, upload-time = "2024-02-16T10:48:10.294Z" }, + { url = "https://files.pythonhosted.org/packages/15/83/89cdef49ef1e320060ec951ba33c132df211561d866c3ed144c81fd110b2/matplotlib-3.7.5-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:fbea1e762b28400393d71be1a02144aa16692a3c4c676ba0178ce83fc2928fdd", size = 7341849, upload-time = "2024-02-16T10:48:13.249Z" }, + { url = "https://files.pythonhosted.org/packages/94/29/39fc4acdc296dd86e09cecb65c14966e1cf18e0f091b9cbd9bd3f0c19ee4/matplotlib-3.7.5-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:ec0e1adc0ad70ba8227e957551e25a9d2995e319c29f94a97575bb90fa1d4469", size = 11354141, upload-time = "2024-02-16T10:48:16.963Z" }, + { url = "https://files.pythonhosted.org/packages/54/36/44c5eeb0d83ae1e3ed34d264d7adee947c4fd56c4a9464ce822de094995a/matplotlib-3.7.5-cp310-cp310-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:6738c89a635ced486c8a20e20111d33f6398a9cbebce1ced59c211e12cd61455", size = 11457668, upload-time = "2024-02-16T10:48:21.339Z" }, + { url = "https://files.pythonhosted.org/packages/b7/e2/f68aeaedf0ef57cbb793637ee82e62e64ea26cee908db0fe4f8e24d502c0/matplotlib-3.7.5-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:1210b7919b4ed94b5573870f316bca26de3e3b07ffdb563e79327dc0e6bba515", size = 11580088, upload-time = "2024-02-16T10:48:25.415Z" }, + { url = "https://files.pythonhosted.org/packages/d9/f7/7c88d34afc38943aa5e4e04d27fc9da5289a48c264c0d794f60c9cda0949/matplotlib-3.7.5-cp310-cp310-win32.whl", hash = "sha256:068ebcc59c072781d9dcdb82f0d3f1458271c2de7ca9c78f5bd672141091e9e1", size = 7339332, upload-time = "2024-02-16T10:48:29.319Z" }, + { url = "https://files.pythonhosted.org/packages/91/99/e5f6f7c9438279581c4a2308d264fe24dc98bb80e3b2719f797227e54ddc/matplotlib-3.7.5-cp310-cp310-win_amd64.whl", hash = "sha256:f098ffbaab9df1e3ef04e5a5586a1e6b1791380698e84938d8640961c79b1fc0", size = 7506405, upload-time = "2024-02-16T10:48:32.499Z" }, + { url = "https://files.pythonhosted.org/packages/5e/c6/45d0485e59d70b7a6a81eade5d0aed548b42cc65658c0ce0f813b9249165/matplotlib-3.7.5-cp311-cp311-macosx_10_12_universal2.whl", hash = "sha256:f65342c147572673f02a4abec2d5a23ad9c3898167df9b47c149f32ce61ca078", size = 8325506, upload-time = "2024-02-16T10:48:36.192Z" }, + { url = "https://files.pythonhosted.org/packages/0e/0a/83bd8589f3597745f624fbcc7da1140088b2f4160ca51c71553c561d0df5/matplotlib-3.7.5-cp311-cp311-macosx_10_12_x86_64.whl", hash = "sha256:4ddf7fc0e0dc553891a117aa083039088d8a07686d4c93fb8a810adca68810af", size = 7439905, upload-time = "2024-02-16T10:48:38.951Z" }, + { url = "https://files.pythonhosted.org/packages/84/c1/a7705b24f8f9b4d7ceea0002c13bae50cf9423f299f56d8c47a5cd2627d2/matplotlib-3.7.5-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:0ccb830fc29442360d91be48527809f23a5dcaee8da5f4d9b2d5b867c1b087b8", size = 7342895, upload-time = "2024-02-16T10:48:41.61Z" }, + { url = "https://files.pythonhosted.org/packages/94/6e/55d7d8310c96a7459c883aa4be3f5a9338a108278484cbd5c95d480d1cef/matplotlib-3.7.5-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:efc6bb28178e844d1f408dd4d6341ee8a2e906fc9e0fa3dae497da4e0cab775d", size = 11358830, upload-time = "2024-02-16T10:48:44.984Z" }, + { url = "https://files.pythonhosted.org/packages/55/57/3b36afe104216db1cf2f3889c394b403ea87eda77c4815227c9524462ba8/matplotlib-3.7.5-cp311-cp311-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:3b15c4c2d374f249f324f46e883340d494c01768dd5287f8bc00b65b625ab56c", size = 11462575, upload-time = "2024-02-16T10:48:48.437Z" }, + { url = "https://files.pythonhosted.org/packages/f3/0b/fabcf5f66b12fab5c4110d06a6c0fed875c7e63bc446403f58f9dadc9999/matplotlib-3.7.5-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:3d028555421912307845e59e3de328260b26d055c5dac9b182cc9783854e98fb", size = 11584280, upload-time = "2024-02-16T10:48:53.022Z" }, + { url = "https://files.pythonhosted.org/packages/47/a9/1ad7df27a9da70b62109584632f83fe6ef45774701199c44d5777107c240/matplotlib-3.7.5-cp311-cp311-win32.whl", hash = "sha256:fe184b4625b4052fa88ef350b815559dd90cc6cc8e97b62f966e1ca84074aafa", size = 7340429, upload-time = "2024-02-16T10:48:56.505Z" }, + { url = "https://files.pythonhosted.org/packages/e3/b1/1b6c34b89173d6c206dc5a4028e8518b4dfee3569c13bdc0c88d0486cae7/matplotlib-3.7.5-cp311-cp311-win_amd64.whl", hash = "sha256:084f1f0f2f1010868c6f1f50b4e1c6f2fb201c58475494f1e5b66fed66093647", size = 7507112, upload-time = "2024-02-16T10:48:59.659Z" }, + { url = "https://files.pythonhosted.org/packages/75/dc/4e341a3ef36f3e7321aec0741317f12c7a23264be708a97972bf018c34af/matplotlib-3.7.5-cp312-cp312-macosx_10_12_universal2.whl", hash = "sha256:34bceb9d8ddb142055ff27cd7135f539f2f01be2ce0bafbace4117abe58f8fe4", size = 8323797, upload-time = "2024-02-16T10:49:02.872Z" }, + { url = "https://files.pythonhosted.org/packages/af/83/bbb482d678362ceb68cc59ec4fc705dde636025969361dac77be868541ef/matplotlib-3.7.5-cp312-cp312-macosx_10_12_x86_64.whl", hash = "sha256:c5a2134162273eb8cdfd320ae907bf84d171de948e62180fa372a3ca7cf0f433", size = 7439549, upload-time = "2024-02-16T10:49:05.743Z" }, + { url = "https://files.pythonhosted.org/packages/1a/ee/e49a92d9e369b2b9e4373894171cb4e641771cd7f81bde1d8b6fb8c60842/matplotlib-3.7.5-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:039ad54683a814002ff37bf7981aa1faa40b91f4ff84149beb53d1eb64617980", size = 7341788, upload-time = "2024-02-16T10:49:09.143Z" }, + { url = "https://files.pythonhosted.org/packages/48/79/89cb2fc5ddcfc3d440a739df04dbe6e4e72b1153d1ebd32b45d42eb71d27/matplotlib-3.7.5-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:4d742ccd1b09e863b4ca58291728db645b51dab343eebb08d5d4b31b308296ce", size = 11356329, upload-time = "2024-02-16T10:49:12.156Z" }, + { url = "https://files.pythonhosted.org/packages/ff/25/84f181cdae5c9eba6fd1c2c35642aec47233425fe3b0d6fccdb323fb36e0/matplotlib-3.7.5-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:743b1c488ca6a2bc7f56079d282e44d236bf375968bfd1b7ba701fd4d0fa32d6", size = 11577813, upload-time = "2024-02-16T10:49:15.986Z" }, + { url = "https://files.pythonhosted.org/packages/9f/24/b2db065d40e58033b3350222fb8bbb0ffcb834029df9c1f9349dd9c7dd45/matplotlib-3.7.5-cp312-cp312-win_amd64.whl", hash = "sha256:fbf730fca3e1f23713bc1fae0a57db386e39dc81ea57dc305c67f628c1d7a342", size = 7507667, upload-time = "2024-02-16T10:49:19.6Z" }, + { url = "https://files.pythonhosted.org/packages/e3/72/50a38c8fd5dc845b06f8e71c9da802db44b81baabf4af8be78bb8a5622ea/matplotlib-3.7.5-cp38-cp38-macosx_10_12_universal2.whl", hash = "sha256:cfff9b838531698ee40e40ea1a8a9dc2c01edb400b27d38de6ba44c1f9a8e3d2", size = 8322659, upload-time = "2024-02-16T10:49:23.206Z" }, + { url = "https://files.pythonhosted.org/packages/b1/ea/129163dcd21db6da5d559a8160c4a74c1dc5f96ac246a3d4248b43c7648d/matplotlib-3.7.5-cp38-cp38-macosx_10_12_x86_64.whl", hash = "sha256:1dbcca4508bca7847fe2d64a05b237a3dcaec1f959aedb756d5b1c67b770c5ee", size = 7438408, upload-time = "2024-02-16T10:49:27.462Z" }, + { url = "https://files.pythonhosted.org/packages/aa/59/4d13e5b6298b1ca5525eea8c68d3806ae93ab6d0bb17ca9846aa3156b92b/matplotlib-3.7.5-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:4cdf4ef46c2a1609a50411b66940b31778db1e4b73d4ecc2eaa40bd588979b13", size = 7341782, upload-time = "2024-02-16T10:49:32.173Z" }, + { url = "https://files.pythonhosted.org/packages/9e/c4/f562df04b08487731743511ff274ae5d31dce2ff3e5621f8b070d20ab54a/matplotlib-3.7.5-cp38-cp38-manylinux_2_12_i686.manylinux2010_i686.whl", hash = "sha256:167200ccfefd1674b60e957186dfd9baf58b324562ad1a28e5d0a6b3bea77905", size = 9196487, upload-time = "2024-02-16T10:49:37.971Z" }, + { url = "https://files.pythonhosted.org/packages/30/33/cc27211d2ffeee4fd7402dca137b6e8a83f6dcae3d4be8d0ad5068555561/matplotlib-3.7.5-cp38-cp38-manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:53e64522934df6e1818b25fd48cf3b645b11740d78e6ef765fbb5fa5ce080d02", size = 9213051, upload-time = "2024-02-16T10:49:43.916Z" }, + { url = "https://files.pythonhosted.org/packages/9b/9d/8bd37c86b79312c9dbcfa379dec32303f9b38e8456e0829d7e666a0e0a05/matplotlib-3.7.5-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d3e3bc79b2d7d615067bd010caff9243ead1fc95cf735c16e4b2583173f717eb", size = 11370807, upload-time = "2024-02-16T10:49:47.701Z" }, + { url = "https://files.pythonhosted.org/packages/c0/1e/b24a07a849c8d458f1b3724f49029f0dedf748bdedb4d5f69491314838b6/matplotlib-3.7.5-cp38-cp38-win32.whl", hash = "sha256:6b641b48c6819726ed47c55835cdd330e53747d4efff574109fd79b2d8a13748", size = 7340461, upload-time = "2024-02-16T10:49:51.597Z" }, + { url = "https://files.pythonhosted.org/packages/16/51/58b0b9de42fe1e665736d9286f88b5f1556a0e22bed8a71f468231761083/matplotlib-3.7.5-cp38-cp38-win_amd64.whl", hash = "sha256:f0b60993ed3488b4532ec6b697059897891927cbfc2b8d458a891b60ec03d9d7", size = 7507471, upload-time = "2024-02-16T10:49:54.353Z" }, + { url = "https://files.pythonhosted.org/packages/0d/00/17487e9e8949ca623af87f6c8767408efe7530b7e1f4d6897fa7fa940834/matplotlib-3.7.5-cp39-cp39-macosx_10_12_universal2.whl", hash = "sha256:090964d0afaff9c90e4d8de7836757e72ecfb252fb02884016d809239f715651", size = 8323175, upload-time = "2024-02-16T10:49:57.743Z" }, + { url = "https://files.pythonhosted.org/packages/6a/84/be0acd521fa9d6697657cf35878153f8009a42b4b75237aebc302559a8a9/matplotlib-3.7.5-cp39-cp39-macosx_10_12_x86_64.whl", hash = "sha256:9fc6fcfbc55cd719bc0bfa60bde248eb68cf43876d4c22864603bdd23962ba25", size = 7438737, upload-time = "2024-02-16T10:50:00.683Z" }, + { url = "https://files.pythonhosted.org/packages/17/39/175f36a6d68d0cf47a4fecbae9728048355df23c9feca8688f1476b198e6/matplotlib-3.7.5-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:5e7cc3078b019bb863752b8b60e8b269423000f1603cb2299608231996bd9d54", size = 7341916, upload-time = "2024-02-16T10:50:05.04Z" }, + { url = "https://files.pythonhosted.org/packages/36/c0/9a1c2a79f85c15d41b60877cbc333694ed80605e5c97a33880c4ecfd5bf1/matplotlib-3.7.5-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:1e4e9a868e8163abaaa8259842d85f949a919e1ead17644fb77a60427c90473c", size = 11352264, upload-time = "2024-02-16T10:50:08.955Z" }, + { url = "https://files.pythonhosted.org/packages/a6/39/b0204e0e7a899b0676733366a55ccafa723799b719bc7f2e85e5ecde26a0/matplotlib-3.7.5-cp39-cp39-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:fa7ebc995a7d747dacf0a717d0eb3aa0f0c6a0e9ea88b0194d3a3cd241a1500f", size = 11454722, upload-time = "2024-02-16T10:50:13.231Z" }, + { url = "https://files.pythonhosted.org/packages/d8/39/64dd1d36c79e72e614977db338d180cf204cf658927c05a8ef2d47feb4c0/matplotlib-3.7.5-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:3785bfd83b05fc0e0c2ae4c4a90034fe693ef96c679634756c50fe6efcc09856", size = 11576343, upload-time = "2024-02-16T10:50:17.626Z" }, + { url = "https://files.pythonhosted.org/packages/31/b4/e77bc11394d858bdf15e356980fceb4ac9604b0fa8212ef3ca4f1dc166b8/matplotlib-3.7.5-cp39-cp39-win32.whl", hash = "sha256:29b058738c104d0ca8806395f1c9089dfe4d4f0f78ea765c6c704469f3fffc81", size = 7340455, upload-time = "2024-02-16T10:50:21.448Z" }, + { url = "https://files.pythonhosted.org/packages/4a/84/081820c596b9555ecffc6819ee71f847f2fbb0d7c70a42c1eeaa54edf3e0/matplotlib-3.7.5-cp39-cp39-win_amd64.whl", hash = "sha256:fd4028d570fa4b31b7b165d4a685942ae9cdc669f33741e388c01857d9723eab", size = 7507711, upload-time = "2024-02-16T10:50:24.387Z" }, + { url = "https://files.pythonhosted.org/packages/27/6c/1bb10f3d6f337b9faa2e96a251bd87ba5fed85a608df95eb4d69acc109f0/matplotlib-3.7.5-pp38-pypy38_pp73-macosx_10_12_x86_64.whl", hash = "sha256:2a9a3f4d6a7f88a62a6a18c7e6a84aedcaf4faf0708b4ca46d87b19f1b526f88", size = 7397285, upload-time = "2024-02-16T10:50:27.375Z" }, + { url = "https://files.pythonhosted.org/packages/b2/36/66cfea213e9ba91cda9e257542c249ed235d49021af71c2e8007107d7d4c/matplotlib-3.7.5-pp38-pypy38_pp73-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:b9b3fd853d4a7f008a938df909b96db0b454225f935d3917520305b90680579c", size = 7552612, upload-time = "2024-02-16T10:50:30.65Z" }, + { url = "https://files.pythonhosted.org/packages/77/df/16655199bf984c37c6a816b854bc032b56aef521aadc04f27928422f3c91/matplotlib-3.7.5-pp38-pypy38_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f0ad550da9f160737d7890217c5eeed4337d07e83ca1b2ca6535078f354e7675", size = 7515564, upload-time = "2024-02-16T10:50:33.589Z" }, + { url = "https://files.pythonhosted.org/packages/5b/c8/3534c3705a677b71abb6be33609ba129fdeae2ea4e76b2fd3ab62c86fab3/matplotlib-3.7.5-pp38-pypy38_pp73-win_amd64.whl", hash = "sha256:20da7924a08306a861b3f2d1da0d1aa9a6678e480cf8eacffe18b565af2813e7", size = 7521336, upload-time = "2024-02-16T10:50:36.4Z" }, + { url = "https://files.pythonhosted.org/packages/20/a0/c5c0d410798b387ed3a177a5a7eba21055dd9c41d4b15bd0861241a5a60e/matplotlib-3.7.5-pp39-pypy39_pp73-macosx_10_12_x86_64.whl", hash = "sha256:b45c9798ea6bb920cb77eb7306409756a7fab9db9b463e462618e0559aecb30e", size = 7397931, upload-time = "2024-02-16T10:50:39.477Z" }, + { url = "https://files.pythonhosted.org/packages/c3/2f/9e9509727d4c7d1b8e2c88e9330a97d54a1dd20bd316a0c8d2f8b38c4513/matplotlib-3.7.5-pp39-pypy39_pp73-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:a99866267da1e561c7776fe12bf4442174b79aac1a47bd7e627c7e4d077ebd83", size = 7553224, upload-time = "2024-02-16T10:50:42.82Z" }, + { url = "https://files.pythonhosted.org/packages/89/0c/5f3e403dcf5c23799c92b0139dd00e41caf23983e9281f5bfeba3065e7d2/matplotlib-3.7.5-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:2b6aa62adb6c268fc87d80f963aca39c64615c31830b02697743c95590ce3fbb", size = 7513250, upload-time = "2024-02-16T10:50:46.504Z" }, + { url = "https://files.pythonhosted.org/packages/87/e0/03eba0a8c3775ef910dbb3a287114a64c47abbcaeab2543c59957f155a86/matplotlib-3.7.5-pp39-pypy39_pp73-win_amd64.whl", hash = "sha256:e530ab6a0afd082d2e9c17eb1eb064a63c5b09bb607b2b74fa41adbe3e162286", size = 7521729, upload-time = "2024-02-16T10:50:50.063Z" }, ] [[package]] @@ -2412,48 +2412,48 @@ dependencies = [ { name = "pyparsing", version = "3.2.1", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version == '3.9.*'" }, { name = "python-dateutil", marker = "python_full_version == '3.9.*'" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/df/17/1747b4154034befd0ed33b52538f5eb7752d05bb51c5e2a31470c3bc7d52/matplotlib-3.9.4.tar.gz", hash = "sha256:1e00e8be7393cbdc6fedfa8a6fba02cf3e83814b285db1c60b906a023ba41bc3", size = 36106529 } -wheels = [ - { url = "https://files.pythonhosted.org/packages/7e/94/27d2e2c30d54b56c7b764acc1874a909e34d1965a427fc7092bb6a588b63/matplotlib-3.9.4-cp310-cp310-macosx_10_12_x86_64.whl", hash = "sha256:c5fdd7abfb706dfa8d307af64a87f1a862879ec3cd8d0ec8637458f0885b9c50", size = 7885089 }, - { url = "https://files.pythonhosted.org/packages/c6/25/828273307e40a68eb8e9df832b6b2aaad075864fdc1de4b1b81e40b09e48/matplotlib-3.9.4-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:d89bc4e85e40a71d1477780366c27fb7c6494d293e1617788986f74e2a03d7ff", size = 7770600 }, - { url = "https://files.pythonhosted.org/packages/f2/65/f841a422ec994da5123368d76b126acf4fc02ea7459b6e37c4891b555b83/matplotlib-3.9.4-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:ddf9f3c26aae695c5daafbf6b94e4c1a30d6cd617ba594bbbded3b33a1fcfa26", size = 8200138 }, - { url = "https://files.pythonhosted.org/packages/07/06/272aca07a38804d93b6050813de41ca7ab0e29ba7a9dd098e12037c919a9/matplotlib-3.9.4-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:18ebcf248030173b59a868fda1fe42397253f6698995b55e81e1f57431d85e50", size = 8312711 }, - { url = "https://files.pythonhosted.org/packages/98/37/f13e23b233c526b7e27ad61be0a771894a079e0f7494a10d8d81557e0e9a/matplotlib-3.9.4-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:974896ec43c672ec23f3f8c648981e8bc880ee163146e0312a9b8def2fac66f5", size = 9090622 }, - { url = "https://files.pythonhosted.org/packages/4f/8c/b1f5bd2bd70e60f93b1b54c4d5ba7a992312021d0ddddf572f9a1a6d9348/matplotlib-3.9.4-cp310-cp310-win_amd64.whl", hash = "sha256:4598c394ae9711cec135639374e70871fa36b56afae17bdf032a345be552a88d", size = 7828211 }, - { url = "https://files.pythonhosted.org/packages/74/4b/65be7959a8fa118a3929b49a842de5b78bb55475236fcf64f3e308ff74a0/matplotlib-3.9.4-cp311-cp311-macosx_10_12_x86_64.whl", hash = "sha256:d4dd29641d9fb8bc4492420c5480398dd40a09afd73aebe4eb9d0071a05fbe0c", size = 7894430 }, - { url = "https://files.pythonhosted.org/packages/e9/18/80f70d91896e0a517b4a051c3fd540daa131630fd75e02e250365353b253/matplotlib-3.9.4-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:30e5b22e8bcfb95442bf7d48b0d7f3bdf4a450cbf68986ea45fca3d11ae9d099", size = 7780045 }, - { url = "https://files.pythonhosted.org/packages/a2/73/ccb381026e3238c5c25c3609ba4157b2d1a617ec98d65a8b4ee4e1e74d02/matplotlib-3.9.4-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:2bb0030d1d447fd56dcc23b4c64a26e44e898f0416276cac1ebc25522e0ac249", size = 8209906 }, - { url = "https://files.pythonhosted.org/packages/ab/33/1648da77b74741c89f5ea95cbf42a291b4b364f2660b316318811404ed97/matplotlib-3.9.4-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:aca90ed222ac3565d2752b83dbb27627480d27662671e4d39da72e97f657a423", size = 8322873 }, - { url = "https://files.pythonhosted.org/packages/57/d3/8447ba78bc6593c9044c372d1609f8ea10fb1e071e7a9e0747bea74fc16c/matplotlib-3.9.4-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:a181b2aa2906c608fcae72f977a4a2d76e385578939891b91c2550c39ecf361e", size = 9099566 }, - { url = "https://files.pythonhosted.org/packages/23/e1/4f0e237bf349c02ff9d1b6e7109f1a17f745263809b9714a8576dc17752b/matplotlib-3.9.4-cp311-cp311-win_amd64.whl", hash = "sha256:1f6882828231eca17f501c4dcd98a05abb3f03d157fbc0769c6911fe08b6cfd3", size = 7838065 }, - { url = "https://files.pythonhosted.org/packages/1a/2b/c918bf6c19d6445d1cefe3d2e42cb740fb997e14ab19d4daeb6a7ab8a157/matplotlib-3.9.4-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:dfc48d67e6661378a21c2983200a654b72b5c5cdbd5d2cf6e5e1ece860f0cc70", size = 7891131 }, - { url = "https://files.pythonhosted.org/packages/c1/e5/b4e8fc601ca302afeeabf45f30e706a445c7979a180e3a978b78b2b681a4/matplotlib-3.9.4-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:47aef0fab8332d02d68e786eba8113ffd6f862182ea2999379dec9e237b7e483", size = 7776365 }, - { url = "https://files.pythonhosted.org/packages/99/06/b991886c506506476e5d83625c5970c656a491b9f80161458fed94597808/matplotlib-3.9.4-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:fba1f52c6b7dc764097f52fd9ab627b90db452c9feb653a59945de16752e965f", size = 8200707 }, - { url = "https://files.pythonhosted.org/packages/c3/e2/556b627498cb27e61026f2d1ba86a78ad1b836fef0996bef5440e8bc9559/matplotlib-3.9.4-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:173ac3748acaac21afcc3fa1633924609ba1b87749006bc25051c52c422a5d00", size = 8313761 }, - { url = "https://files.pythonhosted.org/packages/58/ff/165af33ec766ff818306ea88e91f9f60d2a6ed543be1eb122a98acbf3b0d/matplotlib-3.9.4-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:320edea0cadc07007765e33f878b13b3738ffa9745c5f707705692df70ffe0e0", size = 9095284 }, - { url = "https://files.pythonhosted.org/packages/9f/8b/3d0c7a002db3b1ed702731c2a9a06d78d035f1f2fb0fb936a8e43cc1e9f4/matplotlib-3.9.4-cp312-cp312-win_amd64.whl", hash = "sha256:a4a4cfc82330b27042a7169533da7991e8789d180dd5b3daeaee57d75cd5a03b", size = 7841160 }, - { url = "https://files.pythonhosted.org/packages/49/b1/999f89a7556d101b23a2f0b54f1b6e140d73f56804da1398f2f0bc0924bc/matplotlib-3.9.4-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:37eeffeeca3c940985b80f5b9a7b95ea35671e0e7405001f249848d2b62351b6", size = 7891499 }, - { url = "https://files.pythonhosted.org/packages/87/7b/06a32b13a684977653396a1bfcd34d4e7539c5d55c8cbfaa8ae04d47e4a9/matplotlib-3.9.4-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:3e7465ac859ee4abcb0d836137cd8414e7bb7ad330d905abced457217d4f0f45", size = 7776802 }, - { url = "https://files.pythonhosted.org/packages/65/87/ac498451aff739e515891bbb92e566f3c7ef31891aaa878402a71f9b0910/matplotlib-3.9.4-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:f4c12302c34afa0cf061bea23b331e747e5e554b0fa595c96e01c7b75bc3b858", size = 8200802 }, - { url = "https://files.pythonhosted.org/packages/f8/6b/9eb761c00e1cb838f6c92e5f25dcda3f56a87a52f6cb8fdfa561e6cf6a13/matplotlib-3.9.4-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:2b8c97917f21b75e72108b97707ba3d48f171541a74aa2a56df7a40626bafc64", size = 8313880 }, - { url = "https://files.pythonhosted.org/packages/d7/a2/c8eaa600e2085eec7e38cbbcc58a30fc78f8224939d31d3152bdafc01fd1/matplotlib-3.9.4-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:0229803bd7e19271b03cb09f27db76c918c467aa4ce2ae168171bc67c3f508df", size = 9094637 }, - { url = "https://files.pythonhosted.org/packages/71/1f/c6e1daea55b7bfeb3d84c6cb1abc449f6a02b181e7e2a5e4db34c3afb793/matplotlib-3.9.4-cp313-cp313-win_amd64.whl", hash = "sha256:7c0d8ef442ebf56ff5e206f8083d08252ee738e04f3dc88ea882853a05488799", size = 7841311 }, - { url = "https://files.pythonhosted.org/packages/c0/3a/2757d3f7d388b14dd48f5a83bea65b6d69f000e86b8f28f74d86e0d375bd/matplotlib-3.9.4-cp313-cp313t-macosx_10_13_x86_64.whl", hash = "sha256:a04c3b00066a688834356d196136349cb32f5e1003c55ac419e91585168b88fb", size = 7919989 }, - { url = "https://files.pythonhosted.org/packages/24/28/f5077c79a4f521589a37fe1062d6a6ea3534e068213f7357e7cfffc2e17a/matplotlib-3.9.4-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:04c519587f6c210626741a1e9a68eefc05966ede24205db8982841826af5871a", size = 7809417 }, - { url = "https://files.pythonhosted.org/packages/36/c8/c523fd2963156692916a8eb7d4069084cf729359f7955cf09075deddfeaf/matplotlib-3.9.4-cp313-cp313t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:308afbf1a228b8b525fcd5cec17f246bbbb63b175a3ef6eb7b4d33287ca0cf0c", size = 8226258 }, - { url = "https://files.pythonhosted.org/packages/f6/88/499bf4b8fa9349b6f5c0cf4cead0ebe5da9d67769129f1b5651e5ac51fbc/matplotlib-3.9.4-cp313-cp313t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ddb3b02246ddcffd3ce98e88fed5b238bc5faff10dbbaa42090ea13241d15764", size = 8335849 }, - { url = "https://files.pythonhosted.org/packages/b8/9f/20a4156b9726188646a030774ee337d5ff695a965be45ce4dbcb9312c170/matplotlib-3.9.4-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:8a75287e9cb9eee48cb79ec1d806f75b29c0fde978cb7223a1f4c5848d696041", size = 9102152 }, - { url = "https://files.pythonhosted.org/packages/10/11/237f9c3a4e8d810b1759b67ff2da7c32c04f9c80aa475e7beb36ed43a8fb/matplotlib-3.9.4-cp313-cp313t-win_amd64.whl", hash = "sha256:488deb7af140f0ba86da003e66e10d55ff915e152c78b4b66d231638400b1965", size = 7896987 }, - { url = "https://files.pythonhosted.org/packages/56/eb/501b465c9fef28f158e414ea3a417913dc2ac748564c7ed41535f23445b4/matplotlib-3.9.4-cp39-cp39-macosx_10_12_x86_64.whl", hash = "sha256:3c3724d89a387ddf78ff88d2a30ca78ac2b4c89cf37f2db4bd453c34799e933c", size = 7885919 }, - { url = "https://files.pythonhosted.org/packages/da/36/236fbd868b6c91309a5206bd90c3f881f4f44b2d997cd1d6239ef652f878/matplotlib-3.9.4-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:d5f0a8430ffe23d7e32cfd86445864ccad141797f7d25b7c41759a5b5d17cfd7", size = 7771486 }, - { url = "https://files.pythonhosted.org/packages/e0/4b/105caf2d54d5ed11d9f4335398f5103001a03515f2126c936a752ccf1461/matplotlib-3.9.4-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:6bb0141a21aef3b64b633dc4d16cbd5fc538b727e4958be82a0e1c92a234160e", size = 8201838 }, - { url = "https://files.pythonhosted.org/packages/5d/a7/bb01188fb4013d34d274caf44a2f8091255b0497438e8b6c0a7c1710c692/matplotlib-3.9.4-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:57aa235109e9eed52e2c2949db17da185383fa71083c00c6c143a60e07e0888c", size = 8314492 }, - { url = "https://files.pythonhosted.org/packages/33/19/02e1a37f7141fc605b193e927d0a9cdf9dc124a20b9e68793f4ffea19695/matplotlib-3.9.4-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:b18c600061477ccfdd1e6fd050c33d8be82431700f3452b297a56d9ed7037abb", size = 9092500 }, - { url = "https://files.pythonhosted.org/packages/57/68/c2feb4667adbf882ffa4b3e0ac9967f848980d9f8b5bebd86644aa67ce6a/matplotlib-3.9.4-cp39-cp39-win_amd64.whl", hash = "sha256:ef5f2d1b67d2d2145ff75e10f8c008bfbf71d45137c4b648c87193e7dd053eac", size = 7822962 }, - { url = "https://files.pythonhosted.org/packages/0c/22/2ef6a364cd3f565442b0b055e0599744f1e4314ec7326cdaaa48a4d864d7/matplotlib-3.9.4-pp39-pypy39_pp73-macosx_10_15_x86_64.whl", hash = "sha256:44e0ed786d769d85bc787b0606a53f2d8d2d1d3c8a2608237365e9121c1a338c", size = 7877995 }, - { url = "https://files.pythonhosted.org/packages/87/b8/2737456e566e9f4d94ae76b8aa0d953d9acb847714f9a7ad80184474f5be/matplotlib-3.9.4-pp39-pypy39_pp73-macosx_11_0_arm64.whl", hash = "sha256:09debb9ce941eb23ecdbe7eab972b1c3e0276dcf01688073faff7b0f61d6c6ca", size = 7769300 }, - { url = "https://files.pythonhosted.org/packages/b2/1f/e709c6ec7b5321e6568769baa288c7178e60a93a9da9e682b39450da0e29/matplotlib-3.9.4-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:bcc53cf157a657bfd03afab14774d54ba73aa84d42cfe2480c91bd94873952db", size = 8313423 }, - { url = "https://files.pythonhosted.org/packages/5e/b6/5a1f868782cd13f053a679984e222007ecff654a9bfbac6b27a65f4eeb05/matplotlib-3.9.4-pp39-pypy39_pp73-win_amd64.whl", hash = "sha256:ad45da51be7ad02387801fd154ef74d942f49fe3fcd26a64c94842ba7ec0d865", size = 7854624 }, +sdist = { url = "https://files.pythonhosted.org/packages/df/17/1747b4154034befd0ed33b52538f5eb7752d05bb51c5e2a31470c3bc7d52/matplotlib-3.9.4.tar.gz", hash = "sha256:1e00e8be7393cbdc6fedfa8a6fba02cf3e83814b285db1c60b906a023ba41bc3", size = 36106529, upload-time = "2024-12-13T05:56:34.184Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/7e/94/27d2e2c30d54b56c7b764acc1874a909e34d1965a427fc7092bb6a588b63/matplotlib-3.9.4-cp310-cp310-macosx_10_12_x86_64.whl", hash = "sha256:c5fdd7abfb706dfa8d307af64a87f1a862879ec3cd8d0ec8637458f0885b9c50", size = 7885089, upload-time = "2024-12-13T05:54:24.224Z" }, + { url = "https://files.pythonhosted.org/packages/c6/25/828273307e40a68eb8e9df832b6b2aaad075864fdc1de4b1b81e40b09e48/matplotlib-3.9.4-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:d89bc4e85e40a71d1477780366c27fb7c6494d293e1617788986f74e2a03d7ff", size = 7770600, upload-time = "2024-12-13T05:54:27.214Z" }, + { url = "https://files.pythonhosted.org/packages/f2/65/f841a422ec994da5123368d76b126acf4fc02ea7459b6e37c4891b555b83/matplotlib-3.9.4-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:ddf9f3c26aae695c5daafbf6b94e4c1a30d6cd617ba594bbbded3b33a1fcfa26", size = 8200138, upload-time = "2024-12-13T05:54:29.497Z" }, + { url = "https://files.pythonhosted.org/packages/07/06/272aca07a38804d93b6050813de41ca7ab0e29ba7a9dd098e12037c919a9/matplotlib-3.9.4-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:18ebcf248030173b59a868fda1fe42397253f6698995b55e81e1f57431d85e50", size = 8312711, upload-time = "2024-12-13T05:54:34.396Z" }, + { url = "https://files.pythonhosted.org/packages/98/37/f13e23b233c526b7e27ad61be0a771894a079e0f7494a10d8d81557e0e9a/matplotlib-3.9.4-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:974896ec43c672ec23f3f8c648981e8bc880ee163146e0312a9b8def2fac66f5", size = 9090622, upload-time = "2024-12-13T05:54:36.808Z" }, + { url = "https://files.pythonhosted.org/packages/4f/8c/b1f5bd2bd70e60f93b1b54c4d5ba7a992312021d0ddddf572f9a1a6d9348/matplotlib-3.9.4-cp310-cp310-win_amd64.whl", hash = "sha256:4598c394ae9711cec135639374e70871fa36b56afae17bdf032a345be552a88d", size = 7828211, upload-time = "2024-12-13T05:54:40.596Z" }, + { url = "https://files.pythonhosted.org/packages/74/4b/65be7959a8fa118a3929b49a842de5b78bb55475236fcf64f3e308ff74a0/matplotlib-3.9.4-cp311-cp311-macosx_10_12_x86_64.whl", hash = "sha256:d4dd29641d9fb8bc4492420c5480398dd40a09afd73aebe4eb9d0071a05fbe0c", size = 7894430, upload-time = "2024-12-13T05:54:44.049Z" }, + { url = "https://files.pythonhosted.org/packages/e9/18/80f70d91896e0a517b4a051c3fd540daa131630fd75e02e250365353b253/matplotlib-3.9.4-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:30e5b22e8bcfb95442bf7d48b0d7f3bdf4a450cbf68986ea45fca3d11ae9d099", size = 7780045, upload-time = "2024-12-13T05:54:46.414Z" }, + { url = "https://files.pythonhosted.org/packages/a2/73/ccb381026e3238c5c25c3609ba4157b2d1a617ec98d65a8b4ee4e1e74d02/matplotlib-3.9.4-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:2bb0030d1d447fd56dcc23b4c64a26e44e898f0416276cac1ebc25522e0ac249", size = 8209906, upload-time = "2024-12-13T05:54:49.459Z" }, + { url = "https://files.pythonhosted.org/packages/ab/33/1648da77b74741c89f5ea95cbf42a291b4b364f2660b316318811404ed97/matplotlib-3.9.4-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:aca90ed222ac3565d2752b83dbb27627480d27662671e4d39da72e97f657a423", size = 8322873, upload-time = "2024-12-13T05:54:53.066Z" }, + { url = "https://files.pythonhosted.org/packages/57/d3/8447ba78bc6593c9044c372d1609f8ea10fb1e071e7a9e0747bea74fc16c/matplotlib-3.9.4-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:a181b2aa2906c608fcae72f977a4a2d76e385578939891b91c2550c39ecf361e", size = 9099566, upload-time = "2024-12-13T05:54:55.522Z" }, + { url = "https://files.pythonhosted.org/packages/23/e1/4f0e237bf349c02ff9d1b6e7109f1a17f745263809b9714a8576dc17752b/matplotlib-3.9.4-cp311-cp311-win_amd64.whl", hash = "sha256:1f6882828231eca17f501c4dcd98a05abb3f03d157fbc0769c6911fe08b6cfd3", size = 7838065, upload-time = "2024-12-13T05:54:58.337Z" }, + { url = "https://files.pythonhosted.org/packages/1a/2b/c918bf6c19d6445d1cefe3d2e42cb740fb997e14ab19d4daeb6a7ab8a157/matplotlib-3.9.4-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:dfc48d67e6661378a21c2983200a654b72b5c5cdbd5d2cf6e5e1ece860f0cc70", size = 7891131, upload-time = "2024-12-13T05:55:02.837Z" }, + { url = "https://files.pythonhosted.org/packages/c1/e5/b4e8fc601ca302afeeabf45f30e706a445c7979a180e3a978b78b2b681a4/matplotlib-3.9.4-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:47aef0fab8332d02d68e786eba8113ffd6f862182ea2999379dec9e237b7e483", size = 7776365, upload-time = "2024-12-13T05:55:05.158Z" }, + { url = "https://files.pythonhosted.org/packages/99/06/b991886c506506476e5d83625c5970c656a491b9f80161458fed94597808/matplotlib-3.9.4-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:fba1f52c6b7dc764097f52fd9ab627b90db452c9feb653a59945de16752e965f", size = 8200707, upload-time = "2024-12-13T05:55:09.48Z" }, + { url = "https://files.pythonhosted.org/packages/c3/e2/556b627498cb27e61026f2d1ba86a78ad1b836fef0996bef5440e8bc9559/matplotlib-3.9.4-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:173ac3748acaac21afcc3fa1633924609ba1b87749006bc25051c52c422a5d00", size = 8313761, upload-time = "2024-12-13T05:55:12.95Z" }, + { url = "https://files.pythonhosted.org/packages/58/ff/165af33ec766ff818306ea88e91f9f60d2a6ed543be1eb122a98acbf3b0d/matplotlib-3.9.4-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:320edea0cadc07007765e33f878b13b3738ffa9745c5f707705692df70ffe0e0", size = 9095284, upload-time = "2024-12-13T05:55:16.199Z" }, + { url = "https://files.pythonhosted.org/packages/9f/8b/3d0c7a002db3b1ed702731c2a9a06d78d035f1f2fb0fb936a8e43cc1e9f4/matplotlib-3.9.4-cp312-cp312-win_amd64.whl", hash = "sha256:a4a4cfc82330b27042a7169533da7991e8789d180dd5b3daeaee57d75cd5a03b", size = 7841160, upload-time = "2024-12-13T05:55:19.991Z" }, + { url = "https://files.pythonhosted.org/packages/49/b1/999f89a7556d101b23a2f0b54f1b6e140d73f56804da1398f2f0bc0924bc/matplotlib-3.9.4-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:37eeffeeca3c940985b80f5b9a7b95ea35671e0e7405001f249848d2b62351b6", size = 7891499, upload-time = "2024-12-13T05:55:22.142Z" }, + { url = "https://files.pythonhosted.org/packages/87/7b/06a32b13a684977653396a1bfcd34d4e7539c5d55c8cbfaa8ae04d47e4a9/matplotlib-3.9.4-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:3e7465ac859ee4abcb0d836137cd8414e7bb7ad330d905abced457217d4f0f45", size = 7776802, upload-time = "2024-12-13T05:55:25.947Z" }, + { url = "https://files.pythonhosted.org/packages/65/87/ac498451aff739e515891bbb92e566f3c7ef31891aaa878402a71f9b0910/matplotlib-3.9.4-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:f4c12302c34afa0cf061bea23b331e747e5e554b0fa595c96e01c7b75bc3b858", size = 8200802, upload-time = "2024-12-13T05:55:28.461Z" }, + { url = "https://files.pythonhosted.org/packages/f8/6b/9eb761c00e1cb838f6c92e5f25dcda3f56a87a52f6cb8fdfa561e6cf6a13/matplotlib-3.9.4-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:2b8c97917f21b75e72108b97707ba3d48f171541a74aa2a56df7a40626bafc64", size = 8313880, upload-time = "2024-12-13T05:55:30.965Z" }, + { url = "https://files.pythonhosted.org/packages/d7/a2/c8eaa600e2085eec7e38cbbcc58a30fc78f8224939d31d3152bdafc01fd1/matplotlib-3.9.4-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:0229803bd7e19271b03cb09f27db76c918c467aa4ce2ae168171bc67c3f508df", size = 9094637, upload-time = "2024-12-13T05:55:33.701Z" }, + { url = "https://files.pythonhosted.org/packages/71/1f/c6e1daea55b7bfeb3d84c6cb1abc449f6a02b181e7e2a5e4db34c3afb793/matplotlib-3.9.4-cp313-cp313-win_amd64.whl", hash = "sha256:7c0d8ef442ebf56ff5e206f8083d08252ee738e04f3dc88ea882853a05488799", size = 7841311, upload-time = "2024-12-13T05:55:36.737Z" }, + { url = "https://files.pythonhosted.org/packages/c0/3a/2757d3f7d388b14dd48f5a83bea65b6d69f000e86b8f28f74d86e0d375bd/matplotlib-3.9.4-cp313-cp313t-macosx_10_13_x86_64.whl", hash = "sha256:a04c3b00066a688834356d196136349cb32f5e1003c55ac419e91585168b88fb", size = 7919989, upload-time = "2024-12-13T05:55:39.024Z" }, + { url = "https://files.pythonhosted.org/packages/24/28/f5077c79a4f521589a37fe1062d6a6ea3534e068213f7357e7cfffc2e17a/matplotlib-3.9.4-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:04c519587f6c210626741a1e9a68eefc05966ede24205db8982841826af5871a", size = 7809417, upload-time = "2024-12-13T05:55:42.412Z" }, + { url = "https://files.pythonhosted.org/packages/36/c8/c523fd2963156692916a8eb7d4069084cf729359f7955cf09075deddfeaf/matplotlib-3.9.4-cp313-cp313t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:308afbf1a228b8b525fcd5cec17f246bbbb63b175a3ef6eb7b4d33287ca0cf0c", size = 8226258, upload-time = "2024-12-13T05:55:47.259Z" }, + { url = "https://files.pythonhosted.org/packages/f6/88/499bf4b8fa9349b6f5c0cf4cead0ebe5da9d67769129f1b5651e5ac51fbc/matplotlib-3.9.4-cp313-cp313t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ddb3b02246ddcffd3ce98e88fed5b238bc5faff10dbbaa42090ea13241d15764", size = 8335849, upload-time = "2024-12-13T05:55:49.763Z" }, + { url = "https://files.pythonhosted.org/packages/b8/9f/20a4156b9726188646a030774ee337d5ff695a965be45ce4dbcb9312c170/matplotlib-3.9.4-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:8a75287e9cb9eee48cb79ec1d806f75b29c0fde978cb7223a1f4c5848d696041", size = 9102152, upload-time = "2024-12-13T05:55:51.997Z" }, + { url = "https://files.pythonhosted.org/packages/10/11/237f9c3a4e8d810b1759b67ff2da7c32c04f9c80aa475e7beb36ed43a8fb/matplotlib-3.9.4-cp313-cp313t-win_amd64.whl", hash = "sha256:488deb7af140f0ba86da003e66e10d55ff915e152c78b4b66d231638400b1965", size = 7896987, upload-time = "2024-12-13T05:55:55.941Z" }, + { url = "https://files.pythonhosted.org/packages/56/eb/501b465c9fef28f158e414ea3a417913dc2ac748564c7ed41535f23445b4/matplotlib-3.9.4-cp39-cp39-macosx_10_12_x86_64.whl", hash = "sha256:3c3724d89a387ddf78ff88d2a30ca78ac2b4c89cf37f2db4bd453c34799e933c", size = 7885919, upload-time = "2024-12-13T05:55:59.66Z" }, + { url = "https://files.pythonhosted.org/packages/da/36/236fbd868b6c91309a5206bd90c3f881f4f44b2d997cd1d6239ef652f878/matplotlib-3.9.4-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:d5f0a8430ffe23d7e32cfd86445864ccad141797f7d25b7c41759a5b5d17cfd7", size = 7771486, upload-time = "2024-12-13T05:56:04.264Z" }, + { url = "https://files.pythonhosted.org/packages/e0/4b/105caf2d54d5ed11d9f4335398f5103001a03515f2126c936a752ccf1461/matplotlib-3.9.4-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:6bb0141a21aef3b64b633dc4d16cbd5fc538b727e4958be82a0e1c92a234160e", size = 8201838, upload-time = "2024-12-13T05:56:06.792Z" }, + { url = "https://files.pythonhosted.org/packages/5d/a7/bb01188fb4013d34d274caf44a2f8091255b0497438e8b6c0a7c1710c692/matplotlib-3.9.4-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:57aa235109e9eed52e2c2949db17da185383fa71083c00c6c143a60e07e0888c", size = 8314492, upload-time = "2024-12-13T05:56:09.964Z" }, + { url = "https://files.pythonhosted.org/packages/33/19/02e1a37f7141fc605b193e927d0a9cdf9dc124a20b9e68793f4ffea19695/matplotlib-3.9.4-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:b18c600061477ccfdd1e6fd050c33d8be82431700f3452b297a56d9ed7037abb", size = 9092500, upload-time = "2024-12-13T05:56:13.55Z" }, + { url = "https://files.pythonhosted.org/packages/57/68/c2feb4667adbf882ffa4b3e0ac9967f848980d9f8b5bebd86644aa67ce6a/matplotlib-3.9.4-cp39-cp39-win_amd64.whl", hash = "sha256:ef5f2d1b67d2d2145ff75e10f8c008bfbf71d45137c4b648c87193e7dd053eac", size = 7822962, upload-time = "2024-12-13T05:56:16.358Z" }, + { url = "https://files.pythonhosted.org/packages/0c/22/2ef6a364cd3f565442b0b055e0599744f1e4314ec7326cdaaa48a4d864d7/matplotlib-3.9.4-pp39-pypy39_pp73-macosx_10_15_x86_64.whl", hash = "sha256:44e0ed786d769d85bc787b0606a53f2d8d2d1d3c8a2608237365e9121c1a338c", size = 7877995, upload-time = "2024-12-13T05:56:18.805Z" }, + { url = "https://files.pythonhosted.org/packages/87/b8/2737456e566e9f4d94ae76b8aa0d953d9acb847714f9a7ad80184474f5be/matplotlib-3.9.4-pp39-pypy39_pp73-macosx_11_0_arm64.whl", hash = "sha256:09debb9ce941eb23ecdbe7eab972b1c3e0276dcf01688073faff7b0f61d6c6ca", size = 7769300, upload-time = "2024-12-13T05:56:21.315Z" }, + { url = "https://files.pythonhosted.org/packages/b2/1f/e709c6ec7b5321e6568769baa288c7178e60a93a9da9e682b39450da0e29/matplotlib-3.9.4-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:bcc53cf157a657bfd03afab14774d54ba73aa84d42cfe2480c91bd94873952db", size = 8313423, upload-time = "2024-12-13T05:56:26.719Z" }, + { url = "https://files.pythonhosted.org/packages/5e/b6/5a1f868782cd13f053a679984e222007ecff654a9bfbac6b27a65f4eeb05/matplotlib-3.9.4-pp39-pypy39_pp73-win_amd64.whl", hash = "sha256:ad45da51be7ad02387801fd154ef74d942f49fe3fcd26a64c94842ba7ec0d865", size = 7854624, upload-time = "2024-12-13T05:56:29.359Z" }, ] [[package]] @@ -2482,41 +2482,41 @@ dependencies = [ { name = "pyparsing", version = "3.2.1", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.10'" }, { name = "python-dateutil", marker = "python_full_version >= '3.10'" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/68/dd/fa2e1a45fce2d09f4aea3cee169760e672c8262325aa5796c49d543dc7e6/matplotlib-3.10.0.tar.gz", hash = "sha256:b886d02a581b96704c9d1ffe55709e49b4d2d52709ccebc4be42db856e511278", size = 36686418 } -wheels = [ - { url = "https://files.pythonhosted.org/packages/09/ec/3cdff7b5239adaaacefcc4f77c316dfbbdf853c4ed2beec467e0fec31b9f/matplotlib-3.10.0-cp310-cp310-macosx_10_12_x86_64.whl", hash = "sha256:2c5829a5a1dd5a71f0e31e6e8bb449bc0ee9dbfb05ad28fc0c6b55101b3a4be6", size = 8160551 }, - { url = "https://files.pythonhosted.org/packages/41/f2/b518f2c7f29895c9b167bf79f8529c63383ae94eaf49a247a4528e9a148d/matplotlib-3.10.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:a2a43cbefe22d653ab34bb55d42384ed30f611bcbdea1f8d7f431011a2e1c62e", size = 8034853 }, - { url = "https://files.pythonhosted.org/packages/ed/8d/45754b4affdb8f0d1a44e4e2bcd932cdf35b256b60d5eda9f455bb293ed0/matplotlib-3.10.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:607b16c8a73943df110f99ee2e940b8a1cbf9714b65307c040d422558397dac5", size = 8446724 }, - { url = "https://files.pythonhosted.org/packages/09/5a/a113495110ae3e3395c72d82d7bc4802902e46dc797f6b041e572f195c56/matplotlib-3.10.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:01d2b19f13aeec2e759414d3bfe19ddfb16b13a1250add08d46d5ff6f9be83c6", size = 8583905 }, - { url = "https://files.pythonhosted.org/packages/12/b1/8b1655b4c9ed4600c817c419f7eaaf70082630efd7556a5b2e77a8a3cdaf/matplotlib-3.10.0-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:5e6c6461e1fc63df30bf6f80f0b93f5b6784299f721bc28530477acd51bfc3d1", size = 9395223 }, - { url = "https://files.pythonhosted.org/packages/5a/85/b9a54d64585a6b8737a78a61897450403c30f39e0bd3214270bb0b96f002/matplotlib-3.10.0-cp310-cp310-win_amd64.whl", hash = "sha256:994c07b9d9fe8d25951e3202a68c17900679274dadfc1248738dcfa1bd40d7f3", size = 8025355 }, - { url = "https://files.pythonhosted.org/packages/0c/f1/e37f6c84d252867d7ddc418fff70fc661cfd363179263b08e52e8b748e30/matplotlib-3.10.0-cp311-cp311-macosx_10_12_x86_64.whl", hash = "sha256:fd44fc75522f58612ec4a33958a7e5552562b7705b42ef1b4f8c0818e304a363", size = 8171677 }, - { url = "https://files.pythonhosted.org/packages/c7/8b/92e9da1f28310a1f6572b5c55097b0c0ceb5e27486d85fb73b54f5a9b939/matplotlib-3.10.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:c58a9622d5dbeb668f407f35f4e6bfac34bb9ecdcc81680c04d0258169747997", size = 8044945 }, - { url = "https://files.pythonhosted.org/packages/c5/cb/49e83f0fd066937a5bd3bc5c5d63093703f3637b2824df8d856e0558beef/matplotlib-3.10.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:845d96568ec873be63f25fa80e9e7fae4be854a66a7e2f0c8ccc99e94a8bd4ef", size = 8458269 }, - { url = "https://files.pythonhosted.org/packages/b2/7d/2d873209536b9ee17340754118a2a17988bc18981b5b56e6715ee07373ac/matplotlib-3.10.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:5439f4c5a3e2e8eab18e2f8c3ef929772fd5641876db71f08127eed95ab64683", size = 8599369 }, - { url = "https://files.pythonhosted.org/packages/b8/03/57d6cbbe85c61fe4cbb7c94b54dce443d68c21961830833a1f34d056e5ea/matplotlib-3.10.0-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:4673ff67a36152c48ddeaf1135e74ce0d4bce1bbf836ae40ed39c29edf7e2765", size = 9405992 }, - { url = "https://files.pythonhosted.org/packages/14/cf/e382598f98be11bf51dd0bc60eca44a517f6793e3dc8b9d53634a144620c/matplotlib-3.10.0-cp311-cp311-win_amd64.whl", hash = "sha256:7e8632baebb058555ac0cde75db885c61f1212e47723d63921879806b40bec6a", size = 8034580 }, - { url = "https://files.pythonhosted.org/packages/44/c7/6b2d8cb7cc251d53c976799cacd3200add56351c175ba89ab9cbd7c1e68a/matplotlib-3.10.0-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:4659665bc7c9b58f8c00317c3c2a299f7f258eeae5a5d56b4c64226fca2f7c59", size = 8172465 }, - { url = "https://files.pythonhosted.org/packages/42/2a/6d66d0fba41e13e9ca6512a0a51170f43e7e7ed3a8dfa036324100775612/matplotlib-3.10.0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:d44cb942af1693cced2604c33a9abcef6205601c445f6d0dc531d813af8a2f5a", size = 8043300 }, - { url = "https://files.pythonhosted.org/packages/90/60/2a60342b27b90a16bada939a85e29589902b41073f59668b904b15ea666c/matplotlib-3.10.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a994f29e968ca002b50982b27168addfd65f0105610b6be7fa515ca4b5307c95", size = 8448936 }, - { url = "https://files.pythonhosted.org/packages/a7/b2/d872fc3d753516870d520595ddd8ce4dd44fa797a240999f125f58521ad7/matplotlib-3.10.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:9b0558bae37f154fffda54d779a592bc97ca8b4701f1c710055b609a3bac44c8", size = 8594151 }, - { url = "https://files.pythonhosted.org/packages/f4/bd/b2f60cf7f57d014ab33e4f74602a2b5bdc657976db8196bbc022185f6f9c/matplotlib-3.10.0-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:503feb23bd8c8acc75541548a1d709c059b7184cde26314896e10a9f14df5f12", size = 9400347 }, - { url = "https://files.pythonhosted.org/packages/9f/6e/264673e64001b99d747aff5a288eca82826c024437a3694e19aed1decf46/matplotlib-3.10.0-cp312-cp312-win_amd64.whl", hash = "sha256:c40ba2eb08b3f5de88152c2333c58cee7edcead0a2a0d60fcafa116b17117adc", size = 8039144 }, - { url = "https://files.pythonhosted.org/packages/72/11/1b2a094d95dcb6e6edd4a0b238177c439006c6b7a9fe8d31801237bf512f/matplotlib-3.10.0-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:96f2886f5c1e466f21cc41b70c5a0cd47bfa0015eb2d5793c88ebce658600e25", size = 8173073 }, - { url = "https://files.pythonhosted.org/packages/0d/c4/87b6ad2723070511a411ea719f9c70fde64605423b184face4e94986de9d/matplotlib-3.10.0-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:12eaf48463b472c3c0f8dbacdbf906e573013df81a0ab82f0616ea4b11281908", size = 8043892 }, - { url = "https://files.pythonhosted.org/packages/57/69/cb0812a136550b21361335e9ffb7d459bf6d13e03cb7b015555d5143d2d6/matplotlib-3.10.0-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:2fbbabc82fde51391c4da5006f965e36d86d95f6ee83fb594b279564a4c5d0d2", size = 8450532 }, - { url = "https://files.pythonhosted.org/packages/ea/3a/bab9deb4fb199c05e9100f94d7f1c702f78d3241e6a71b784d2b88d7bebd/matplotlib-3.10.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ad2e15300530c1a94c63cfa546e3b7864bd18ea2901317bae8bbf06a5ade6dcf", size = 8593905 }, - { url = "https://files.pythonhosted.org/packages/8b/66/742fd242f989adc1847ddf5f445815f73ad7c46aa3440690cc889cfa423c/matplotlib-3.10.0-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:3547d153d70233a8496859097ef0312212e2689cdf8d7ed764441c77604095ae", size = 9399609 }, - { url = "https://files.pythonhosted.org/packages/fa/d6/54cee7142cef7d910a324a7aedf335c0c147b03658b54d49ec48166f10a6/matplotlib-3.10.0-cp313-cp313-win_amd64.whl", hash = "sha256:c55b20591ced744aa04e8c3e4b7543ea4d650b6c3c4b208c08a05b4010e8b442", size = 8039076 }, - { url = "https://files.pythonhosted.org/packages/43/14/815d072dc36e88753433bfd0385113405efb947e6895ff7b4d2e8614a33b/matplotlib-3.10.0-cp313-cp313t-macosx_10_13_x86_64.whl", hash = "sha256:9ade1003376731a971e398cc4ef38bb83ee8caf0aee46ac6daa4b0506db1fd06", size = 8211000 }, - { url = "https://files.pythonhosted.org/packages/9a/76/34e75f364194ec352678adcb540964be6f35ec7d3d8c75ebcb17e6839359/matplotlib-3.10.0-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:95b710fea129c76d30be72c3b38f330269363fbc6e570a5dd43580487380b5ff", size = 8087707 }, - { url = "https://files.pythonhosted.org/packages/c3/2b/b6bc0dff6a72d333bc7df94a66e6ce662d224e43daa8ad8ae4eaa9a77f55/matplotlib-3.10.0-cp313-cp313t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:5cdbaf909887373c3e094b0318d7ff230b2ad9dcb64da7ade654182872ab2593", size = 8477384 }, - { url = "https://files.pythonhosted.org/packages/c2/2d/b5949fb2b76e9b47ab05e25a5f5f887c70de20d8b0cbc704a4e2ee71c786/matplotlib-3.10.0-cp313-cp313t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:d907fddb39f923d011875452ff1eca29a9e7f21722b873e90db32e5d8ddff12e", size = 8610334 }, - { url = "https://files.pythonhosted.org/packages/d6/9a/6e3c799d5134d9af44b01c787e1360bee38cf51850506ea2e743a787700b/matplotlib-3.10.0-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:3b427392354d10975c1d0f4ee18aa5844640b512d5311ef32efd4dd7db106ede", size = 9406777 }, - { url = "https://files.pythonhosted.org/packages/0e/dd/e6ae97151e5ed648ab2ea48885bc33d39202b640eec7a2910e2c843f7ac0/matplotlib-3.10.0-cp313-cp313t-win_amd64.whl", hash = "sha256:5fd41b0ec7ee45cd960a8e71aea7c946a28a0b8a4dcee47d2856b2af051f334c", size = 8109742 }, - { url = "https://files.pythonhosted.org/packages/32/5f/29def7ce4e815ab939b56280976ee35afffb3bbdb43f332caee74cb8c951/matplotlib-3.10.0-pp310-pypy310_pp73-macosx_10_15_x86_64.whl", hash = "sha256:81713dd0d103b379de4516b861d964b1d789a144103277769238c732229d7f03", size = 8155500 }, - { url = "https://files.pythonhosted.org/packages/de/6d/d570383c9f7ca799d0a54161446f9ce7b17d6c50f2994b653514bcaa108f/matplotlib-3.10.0-pp310-pypy310_pp73-macosx_11_0_arm64.whl", hash = "sha256:359f87baedb1f836ce307f0e850d12bb5f1936f70d035561f90d41d305fdacea", size = 8032398 }, - { url = "https://files.pythonhosted.org/packages/c9/b4/680aa700d99b48e8c4393fa08e9ab8c49c0555ee6f4c9c0a5e8ea8dfde5d/matplotlib-3.10.0-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ae80dc3a4add4665cf2faa90138384a7ffe2a4e37c58d83e115b54287c4f06ef", size = 8587361 }, +sdist = { url = "https://files.pythonhosted.org/packages/68/dd/fa2e1a45fce2d09f4aea3cee169760e672c8262325aa5796c49d543dc7e6/matplotlib-3.10.0.tar.gz", hash = "sha256:b886d02a581b96704c9d1ffe55709e49b4d2d52709ccebc4be42db856e511278", size = 36686418, upload-time = "2024-12-14T06:32:51.547Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/09/ec/3cdff7b5239adaaacefcc4f77c316dfbbdf853c4ed2beec467e0fec31b9f/matplotlib-3.10.0-cp310-cp310-macosx_10_12_x86_64.whl", hash = "sha256:2c5829a5a1dd5a71f0e31e6e8bb449bc0ee9dbfb05ad28fc0c6b55101b3a4be6", size = 8160551, upload-time = "2024-12-14T06:30:36.73Z" }, + { url = "https://files.pythonhosted.org/packages/41/f2/b518f2c7f29895c9b167bf79f8529c63383ae94eaf49a247a4528e9a148d/matplotlib-3.10.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:a2a43cbefe22d653ab34bb55d42384ed30f611bcbdea1f8d7f431011a2e1c62e", size = 8034853, upload-time = "2024-12-14T06:30:40.973Z" }, + { url = "https://files.pythonhosted.org/packages/ed/8d/45754b4affdb8f0d1a44e4e2bcd932cdf35b256b60d5eda9f455bb293ed0/matplotlib-3.10.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:607b16c8a73943df110f99ee2e940b8a1cbf9714b65307c040d422558397dac5", size = 8446724, upload-time = "2024-12-14T06:30:45.325Z" }, + { url = "https://files.pythonhosted.org/packages/09/5a/a113495110ae3e3395c72d82d7bc4802902e46dc797f6b041e572f195c56/matplotlib-3.10.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:01d2b19f13aeec2e759414d3bfe19ddfb16b13a1250add08d46d5ff6f9be83c6", size = 8583905, upload-time = "2024-12-14T06:30:50.869Z" }, + { url = "https://files.pythonhosted.org/packages/12/b1/8b1655b4c9ed4600c817c419f7eaaf70082630efd7556a5b2e77a8a3cdaf/matplotlib-3.10.0-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:5e6c6461e1fc63df30bf6f80f0b93f5b6784299f721bc28530477acd51bfc3d1", size = 9395223, upload-time = "2024-12-14T06:30:55.335Z" }, + { url = "https://files.pythonhosted.org/packages/5a/85/b9a54d64585a6b8737a78a61897450403c30f39e0bd3214270bb0b96f002/matplotlib-3.10.0-cp310-cp310-win_amd64.whl", hash = "sha256:994c07b9d9fe8d25951e3202a68c17900679274dadfc1248738dcfa1bd40d7f3", size = 8025355, upload-time = "2024-12-14T06:30:58.843Z" }, + { url = "https://files.pythonhosted.org/packages/0c/f1/e37f6c84d252867d7ddc418fff70fc661cfd363179263b08e52e8b748e30/matplotlib-3.10.0-cp311-cp311-macosx_10_12_x86_64.whl", hash = "sha256:fd44fc75522f58612ec4a33958a7e5552562b7705b42ef1b4f8c0818e304a363", size = 8171677, upload-time = "2024-12-14T06:31:03.742Z" }, + { url = "https://files.pythonhosted.org/packages/c7/8b/92e9da1f28310a1f6572b5c55097b0c0ceb5e27486d85fb73b54f5a9b939/matplotlib-3.10.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:c58a9622d5dbeb668f407f35f4e6bfac34bb9ecdcc81680c04d0258169747997", size = 8044945, upload-time = "2024-12-14T06:31:08.494Z" }, + { url = "https://files.pythonhosted.org/packages/c5/cb/49e83f0fd066937a5bd3bc5c5d63093703f3637b2824df8d856e0558beef/matplotlib-3.10.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:845d96568ec873be63f25fa80e9e7fae4be854a66a7e2f0c8ccc99e94a8bd4ef", size = 8458269, upload-time = "2024-12-14T06:31:11.346Z" }, + { url = "https://files.pythonhosted.org/packages/b2/7d/2d873209536b9ee17340754118a2a17988bc18981b5b56e6715ee07373ac/matplotlib-3.10.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:5439f4c5a3e2e8eab18e2f8c3ef929772fd5641876db71f08127eed95ab64683", size = 8599369, upload-time = "2024-12-14T06:31:14.677Z" }, + { url = "https://files.pythonhosted.org/packages/b8/03/57d6cbbe85c61fe4cbb7c94b54dce443d68c21961830833a1f34d056e5ea/matplotlib-3.10.0-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:4673ff67a36152c48ddeaf1135e74ce0d4bce1bbf836ae40ed39c29edf7e2765", size = 9405992, upload-time = "2024-12-14T06:31:18.871Z" }, + { url = "https://files.pythonhosted.org/packages/14/cf/e382598f98be11bf51dd0bc60eca44a517f6793e3dc8b9d53634a144620c/matplotlib-3.10.0-cp311-cp311-win_amd64.whl", hash = "sha256:7e8632baebb058555ac0cde75db885c61f1212e47723d63921879806b40bec6a", size = 8034580, upload-time = "2024-12-14T06:31:21.998Z" }, + { url = "https://files.pythonhosted.org/packages/44/c7/6b2d8cb7cc251d53c976799cacd3200add56351c175ba89ab9cbd7c1e68a/matplotlib-3.10.0-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:4659665bc7c9b58f8c00317c3c2a299f7f258eeae5a5d56b4c64226fca2f7c59", size = 8172465, upload-time = "2024-12-14T06:31:24.727Z" }, + { url = "https://files.pythonhosted.org/packages/42/2a/6d66d0fba41e13e9ca6512a0a51170f43e7e7ed3a8dfa036324100775612/matplotlib-3.10.0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:d44cb942af1693cced2604c33a9abcef6205601c445f6d0dc531d813af8a2f5a", size = 8043300, upload-time = "2024-12-14T06:31:28.55Z" }, + { url = "https://files.pythonhosted.org/packages/90/60/2a60342b27b90a16bada939a85e29589902b41073f59668b904b15ea666c/matplotlib-3.10.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a994f29e968ca002b50982b27168addfd65f0105610b6be7fa515ca4b5307c95", size = 8448936, upload-time = "2024-12-14T06:31:32.223Z" }, + { url = "https://files.pythonhosted.org/packages/a7/b2/d872fc3d753516870d520595ddd8ce4dd44fa797a240999f125f58521ad7/matplotlib-3.10.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:9b0558bae37f154fffda54d779a592bc97ca8b4701f1c710055b609a3bac44c8", size = 8594151, upload-time = "2024-12-14T06:31:34.894Z" }, + { url = "https://files.pythonhosted.org/packages/f4/bd/b2f60cf7f57d014ab33e4f74602a2b5bdc657976db8196bbc022185f6f9c/matplotlib-3.10.0-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:503feb23bd8c8acc75541548a1d709c059b7184cde26314896e10a9f14df5f12", size = 9400347, upload-time = "2024-12-14T06:31:39.552Z" }, + { url = "https://files.pythonhosted.org/packages/9f/6e/264673e64001b99d747aff5a288eca82826c024437a3694e19aed1decf46/matplotlib-3.10.0-cp312-cp312-win_amd64.whl", hash = "sha256:c40ba2eb08b3f5de88152c2333c58cee7edcead0a2a0d60fcafa116b17117adc", size = 8039144, upload-time = "2024-12-14T06:31:44.128Z" }, + { url = "https://files.pythonhosted.org/packages/72/11/1b2a094d95dcb6e6edd4a0b238177c439006c6b7a9fe8d31801237bf512f/matplotlib-3.10.0-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:96f2886f5c1e466f21cc41b70c5a0cd47bfa0015eb2d5793c88ebce658600e25", size = 8173073, upload-time = "2024-12-14T06:31:46.592Z" }, + { url = "https://files.pythonhosted.org/packages/0d/c4/87b6ad2723070511a411ea719f9c70fde64605423b184face4e94986de9d/matplotlib-3.10.0-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:12eaf48463b472c3c0f8dbacdbf906e573013df81a0ab82f0616ea4b11281908", size = 8043892, upload-time = "2024-12-14T06:31:49.14Z" }, + { url = "https://files.pythonhosted.org/packages/57/69/cb0812a136550b21361335e9ffb7d459bf6d13e03cb7b015555d5143d2d6/matplotlib-3.10.0-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:2fbbabc82fde51391c4da5006f965e36d86d95f6ee83fb594b279564a4c5d0d2", size = 8450532, upload-time = "2024-12-14T06:31:53.005Z" }, + { url = "https://files.pythonhosted.org/packages/ea/3a/bab9deb4fb199c05e9100f94d7f1c702f78d3241e6a71b784d2b88d7bebd/matplotlib-3.10.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ad2e15300530c1a94c63cfa546e3b7864bd18ea2901317bae8bbf06a5ade6dcf", size = 8593905, upload-time = "2024-12-14T06:31:59.022Z" }, + { url = "https://files.pythonhosted.org/packages/8b/66/742fd242f989adc1847ddf5f445815f73ad7c46aa3440690cc889cfa423c/matplotlib-3.10.0-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:3547d153d70233a8496859097ef0312212e2689cdf8d7ed764441c77604095ae", size = 9399609, upload-time = "2024-12-14T06:32:05.151Z" }, + { url = "https://files.pythonhosted.org/packages/fa/d6/54cee7142cef7d910a324a7aedf335c0c147b03658b54d49ec48166f10a6/matplotlib-3.10.0-cp313-cp313-win_amd64.whl", hash = "sha256:c55b20591ced744aa04e8c3e4b7543ea4d650b6c3c4b208c08a05b4010e8b442", size = 8039076, upload-time = "2024-12-14T06:32:08.38Z" }, + { url = "https://files.pythonhosted.org/packages/43/14/815d072dc36e88753433bfd0385113405efb947e6895ff7b4d2e8614a33b/matplotlib-3.10.0-cp313-cp313t-macosx_10_13_x86_64.whl", hash = "sha256:9ade1003376731a971e398cc4ef38bb83ee8caf0aee46ac6daa4b0506db1fd06", size = 8211000, upload-time = "2024-12-14T06:32:12.383Z" }, + { url = "https://files.pythonhosted.org/packages/9a/76/34e75f364194ec352678adcb540964be6f35ec7d3d8c75ebcb17e6839359/matplotlib-3.10.0-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:95b710fea129c76d30be72c3b38f330269363fbc6e570a5dd43580487380b5ff", size = 8087707, upload-time = "2024-12-14T06:32:15.773Z" }, + { url = "https://files.pythonhosted.org/packages/c3/2b/b6bc0dff6a72d333bc7df94a66e6ce662d224e43daa8ad8ae4eaa9a77f55/matplotlib-3.10.0-cp313-cp313t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:5cdbaf909887373c3e094b0318d7ff230b2ad9dcb64da7ade654182872ab2593", size = 8477384, upload-time = "2024-12-14T06:32:20.311Z" }, + { url = "https://files.pythonhosted.org/packages/c2/2d/b5949fb2b76e9b47ab05e25a5f5f887c70de20d8b0cbc704a4e2ee71c786/matplotlib-3.10.0-cp313-cp313t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:d907fddb39f923d011875452ff1eca29a9e7f21722b873e90db32e5d8ddff12e", size = 8610334, upload-time = "2024-12-14T06:32:25.779Z" }, + { url = "https://files.pythonhosted.org/packages/d6/9a/6e3c799d5134d9af44b01c787e1360bee38cf51850506ea2e743a787700b/matplotlib-3.10.0-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:3b427392354d10975c1d0f4ee18aa5844640b512d5311ef32efd4dd7db106ede", size = 9406777, upload-time = "2024-12-14T06:32:28.919Z" }, + { url = "https://files.pythonhosted.org/packages/0e/dd/e6ae97151e5ed648ab2ea48885bc33d39202b640eec7a2910e2c843f7ac0/matplotlib-3.10.0-cp313-cp313t-win_amd64.whl", hash = "sha256:5fd41b0ec7ee45cd960a8e71aea7c946a28a0b8a4dcee47d2856b2af051f334c", size = 8109742, upload-time = "2024-12-14T06:32:32.115Z" }, + { url = "https://files.pythonhosted.org/packages/32/5f/29def7ce4e815ab939b56280976ee35afffb3bbdb43f332caee74cb8c951/matplotlib-3.10.0-pp310-pypy310_pp73-macosx_10_15_x86_64.whl", hash = "sha256:81713dd0d103b379de4516b861d964b1d789a144103277769238c732229d7f03", size = 8155500, upload-time = "2024-12-14T06:32:36.849Z" }, + { url = "https://files.pythonhosted.org/packages/de/6d/d570383c9f7ca799d0a54161446f9ce7b17d6c50f2994b653514bcaa108f/matplotlib-3.10.0-pp310-pypy310_pp73-macosx_11_0_arm64.whl", hash = "sha256:359f87baedb1f836ce307f0e850d12bb5f1936f70d035561f90d41d305fdacea", size = 8032398, upload-time = "2024-12-14T06:32:40.198Z" }, + { url = "https://files.pythonhosted.org/packages/c9/b4/680aa700d99b48e8c4393fa08e9ab8c49c0555ee6f4c9c0a5e8ea8dfde5d/matplotlib-3.10.0-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ae80dc3a4add4665cf2faa90138384a7ffe2a4e37c58d83e115b54287c4f06ef", size = 8587361, upload-time = "2024-12-14T06:32:43.575Z" }, ] [[package]] @@ -2526,9 +2526,9 @@ source = { registry = "https://pypi.org/simple" } dependencies = [ { name = "traitlets" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/99/5b/a36a337438a14116b16480db471ad061c36c3694df7c2084a0da7ba538b7/matplotlib_inline-0.1.7.tar.gz", hash = "sha256:8423b23ec666be3d16e16b60bdd8ac4e86e840ebd1dd11a30b9f117f2fa0ab90", size = 8159 } +sdist = { url = "https://files.pythonhosted.org/packages/99/5b/a36a337438a14116b16480db471ad061c36c3694df7c2084a0da7ba538b7/matplotlib_inline-0.1.7.tar.gz", hash = "sha256:8423b23ec666be3d16e16b60bdd8ac4e86e840ebd1dd11a30b9f117f2fa0ab90", size = 8159, upload-time = "2024-04-15T13:44:44.803Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/8f/8e/9ad090d3553c280a8060fbf6e24dc1c0c29704ee7d1c372f0c174aa59285/matplotlib_inline-0.1.7-py3-none-any.whl", hash = "sha256:df192d39a4ff8f21b1895d72e6a13f5fcc5099f00fa84384e0ea28c2cc0653ca", size = 9899 }, + { url = "https://files.pythonhosted.org/packages/8f/8e/9ad090d3553c280a8060fbf6e24dc1c0c29704ee7d1c372f0c174aa59285/matplotlib_inline-0.1.7-py3-none-any.whl", hash = "sha256:df192d39a4ff8f21b1895d72e6a13f5fcc5099f00fa84384e0ea28c2cc0653ca", size = 9899, upload-time = "2024-04-15T13:44:43.265Z" }, ] [[package]] @@ -2538,27 +2538,27 @@ source = { registry = "https://pypi.org/simple" } dependencies = [ { name = "markdown-it-py" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/19/03/a2ecab526543b152300717cf232bb4bb8605b6edb946c845016fa9c9c9fd/mdit_py_plugins-0.4.2.tar.gz", hash = "sha256:5f2cd1fdb606ddf152d37ec30e46101a60512bc0e5fa1a7002c36647b09e26b5", size = 43542 } +sdist = { url = "https://files.pythonhosted.org/packages/19/03/a2ecab526543b152300717cf232bb4bb8605b6edb946c845016fa9c9c9fd/mdit_py_plugins-0.4.2.tar.gz", hash = "sha256:5f2cd1fdb606ddf152d37ec30e46101a60512bc0e5fa1a7002c36647b09e26b5", size = 43542, upload-time = "2024-09-09T20:27:49.564Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/a7/f7/7782a043553ee469c1ff49cfa1cdace2d6bf99a1f333cf38676b3ddf30da/mdit_py_plugins-0.4.2-py3-none-any.whl", hash = "sha256:0c673c3f889399a33b95e88d2f0d111b4447bdfea7f237dab2d488f459835636", size = 55316 }, + { url = "https://files.pythonhosted.org/packages/a7/f7/7782a043553ee469c1ff49cfa1cdace2d6bf99a1f333cf38676b3ddf30da/mdit_py_plugins-0.4.2-py3-none-any.whl", hash = "sha256:0c673c3f889399a33b95e88d2f0d111b4447bdfea7f237dab2d488f459835636", size = 55316, upload-time = "2024-09-09T20:27:48.397Z" }, ] [[package]] name = "mdurl" version = "0.1.2" source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/d6/54/cfe61301667036ec958cb99bd3efefba235e65cdeb9c84d24a8293ba1d90/mdurl-0.1.2.tar.gz", hash = "sha256:bb413d29f5eea38f31dd4754dd7377d4465116fb207585f97bf925588687c1ba", size = 8729 } +sdist = { url = "https://files.pythonhosted.org/packages/d6/54/cfe61301667036ec958cb99bd3efefba235e65cdeb9c84d24a8293ba1d90/mdurl-0.1.2.tar.gz", hash = "sha256:bb413d29f5eea38f31dd4754dd7377d4465116fb207585f97bf925588687c1ba", size = 8729, upload-time = "2022-08-14T12:40:10.846Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/b3/38/89ba8ad64ae25be8de66a6d463314cf1eb366222074cfda9ee839c56a4b4/mdurl-0.1.2-py3-none-any.whl", hash = "sha256:84008a41e51615a49fc9966191ff91509e3c40b939176e643fd50a5c2196b8f8", size = 9979 }, + { url = "https://files.pythonhosted.org/packages/b3/38/89ba8ad64ae25be8de66a6d463314cf1eb366222074cfda9ee839c56a4b4/mdurl-0.1.2-py3-none-any.whl", hash = "sha256:84008a41e51615a49fc9966191ff91509e3c40b939176e643fd50a5c2196b8f8", size = 9979, upload-time = "2022-08-14T12:40:09.779Z" }, ] [[package]] name = "mergedeep" version = "1.3.4" source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/3a/41/580bb4006e3ed0361b8151a01d324fb03f420815446c7def45d02f74c270/mergedeep-1.3.4.tar.gz", hash = "sha256:0096d52e9dad9939c3d975a774666af186eda617e6ca84df4c94dec30004f2a8", size = 4661 } +sdist = { url = "https://files.pythonhosted.org/packages/3a/41/580bb4006e3ed0361b8151a01d324fb03f420815446c7def45d02f74c270/mergedeep-1.3.4.tar.gz", hash = "sha256:0096d52e9dad9939c3d975a774666af186eda617e6ca84df4c94dec30004f2a8", size = 4661, upload-time = "2021-02-05T18:55:30.623Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/2c/19/04f9b178c2d8a15b076c8b5140708fa6ffc5601fb6f1e975537072df5b2a/mergedeep-1.3.4-py3-none-any.whl", hash = "sha256:70775750742b25c0d8f36c55aed03d24c3384d17c951b3175d898bd778ef0307", size = 6354 }, + { url = "https://files.pythonhosted.org/packages/2c/19/04f9b178c2d8a15b076c8b5140708fa6ffc5601fb6f1e975537072df5b2a/mergedeep-1.3.4-py3-none-any.whl", hash = "sha256:70775750742b25c0d8f36c55aed03d24c3384d17c951b3175d898bd778ef0307", size = 6354, upload-time = "2021-02-05T18:55:29.583Z" }, ] [[package]] @@ -2578,9 +2578,9 @@ dependencies = [ { name = "pyyaml-env-tag" }, { name = "verspec" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/ab/f7/2933f1a1fb0e0f077d5d6a92c6c7f8a54e6128241f116dff4df8b6050bbf/mike-2.1.3.tar.gz", hash = "sha256:abd79b8ea483fb0275b7972825d3082e5ae67a41820f8d8a0dc7a3f49944e810", size = 38119 } +sdist = { url = "https://files.pythonhosted.org/packages/ab/f7/2933f1a1fb0e0f077d5d6a92c6c7f8a54e6128241f116dff4df8b6050bbf/mike-2.1.3.tar.gz", hash = "sha256:abd79b8ea483fb0275b7972825d3082e5ae67a41820f8d8a0dc7a3f49944e810", size = 38119, upload-time = "2024-08-13T05:02:14.167Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/fd/1a/31b7cd6e4e7a02df4e076162e9783620777592bea9e4bb036389389af99d/mike-2.1.3-py3-none-any.whl", hash = "sha256:d90c64077e84f06272437b464735130d380703a76a5738b152932884c60c062a", size = 33754 }, + { url = "https://files.pythonhosted.org/packages/fd/1a/31b7cd6e4e7a02df4e076162e9783620777592bea9e4bb036389389af99d/mike-2.1.3-py3-none-any.whl", hash = "sha256:d90c64077e84f06272437b464735130d380703a76a5738b152932884c60c062a", size = 33754, upload-time = "2024-08-13T05:02:12.515Z" }, ] [[package]] @@ -2590,9 +2590,9 @@ source = { registry = "https://pypi.org/simple" } dependencies = [ { name = "typing-extensions", marker = "python_full_version < '3.11'" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/c6/1d/6b2b634e43bacc3239006e61800676aa6c41ac1836b2c57497ed27a7310b/mistune-3.1.1.tar.gz", hash = "sha256:e0740d635f515119f7d1feb6f9b192ee60f0cc649f80a8f944f905706a21654c", size = 94645 } +sdist = { url = "https://files.pythonhosted.org/packages/c6/1d/6b2b634e43bacc3239006e61800676aa6c41ac1836b2c57497ed27a7310b/mistune-3.1.1.tar.gz", hash = "sha256:e0740d635f515119f7d1feb6f9b192ee60f0cc649f80a8f944f905706a21654c", size = 94645, upload-time = "2025-01-28T13:33:05.839Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/c6/02/c66bdfdadbb021adb642ca4e8a5ed32ada0b4a3e4b39c5d076d19543452f/mistune-3.1.1-py3-none-any.whl", hash = "sha256:02106ac2aa4f66e769debbfa028509a275069dcffce0dfa578edd7b991ee700a", size = 53696 }, + { url = "https://files.pythonhosted.org/packages/c6/02/c66bdfdadbb021adb642ca4e8a5ed32ada0b4a3e4b39c5d076d19543452f/mistune-3.1.1-py3-none-any.whl", hash = "sha256:02106ac2aa4f66e769debbfa028509a275069dcffce0dfa578edd7b991ee700a", size = 53696, upload-time = "2025-01-28T13:33:04.099Z" }, ] [[package]] @@ -2618,9 +2618,9 @@ dependencies = [ { name = "watchdog", version = "4.0.2", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.9'" }, { name = "watchdog", version = "6.0.0", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.9'" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/bc/c6/bbd4f061bd16b378247f12953ffcb04786a618ce5e904b8c5a01a0309061/mkdocs-1.6.1.tar.gz", hash = "sha256:7b432f01d928c084353ab39c57282f29f92136665bdd6abf7c1ec8d822ef86f2", size = 3889159 } +sdist = { url = "https://files.pythonhosted.org/packages/bc/c6/bbd4f061bd16b378247f12953ffcb04786a618ce5e904b8c5a01a0309061/mkdocs-1.6.1.tar.gz", hash = "sha256:7b432f01d928c084353ab39c57282f29f92136665bdd6abf7c1ec8d822ef86f2", size = 3889159, upload-time = "2024-08-30T12:24:06.899Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/22/5b/dbc6a8cddc9cfa9c4971d59fb12bb8d42e161b7e7f8cc89e49137c5b279c/mkdocs-1.6.1-py3-none-any.whl", hash = "sha256:db91759624d1647f3f34aa0c3f327dd2601beae39a366d6e064c03468d35c20e", size = 3864451 }, + { url = "https://files.pythonhosted.org/packages/22/5b/dbc6a8cddc9cfa9c4971d59fb12bb8d42e161b7e7f8cc89e49137c5b279c/mkdocs-1.6.1-py3-none-any.whl", hash = "sha256:db91759624d1647f3f34aa0c3f327dd2601beae39a366d6e064c03468d35c20e", size = 3864451, upload-time = "2024-08-30T12:24:05.054Z" }, ] [[package]] @@ -2637,9 +2637,9 @@ dependencies = [ { name = "markupsafe", version = "2.1.5", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.9'" }, { name = "mkdocs", marker = "python_full_version < '3.9'" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/fb/ae/0f1154c614d6a8b8a36fff084e5b82af3a15f7d2060cf0dcdb1c53297a71/mkdocs_autorefs-1.2.0.tar.gz", hash = "sha256:a86b93abff653521bda71cf3fc5596342b7a23982093915cb74273f67522190f", size = 40262 } +sdist = { url = "https://files.pythonhosted.org/packages/fb/ae/0f1154c614d6a8b8a36fff084e5b82af3a15f7d2060cf0dcdb1c53297a71/mkdocs_autorefs-1.2.0.tar.gz", hash = "sha256:a86b93abff653521bda71cf3fc5596342b7a23982093915cb74273f67522190f", size = 40262, upload-time = "2024-09-01T18:29:18.514Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/71/26/4d39d52ea2219604053a4d05b98e90d6a335511cc01806436ec4886b1028/mkdocs_autorefs-1.2.0-py3-none-any.whl", hash = "sha256:d588754ae89bd0ced0c70c06f58566a4ee43471eeeee5202427da7de9ef85a2f", size = 16522 }, + { url = "https://files.pythonhosted.org/packages/71/26/4d39d52ea2219604053a4d05b98e90d6a335511cc01806436ec4886b1028/mkdocs_autorefs-1.2.0-py3-none-any.whl", hash = "sha256:d588754ae89bd0ced0c70c06f58566a4ee43471eeeee5202427da7de9ef85a2f", size = 16522, upload-time = "2024-09-01T18:29:16.605Z" }, ] [[package]] @@ -2665,9 +2665,9 @@ dependencies = [ { name = "markupsafe", version = "3.0.2", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.9'" }, { name = "mkdocs", marker = "python_full_version >= '3.9'" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/fe/18/fb1e17fb705228b51bf7b2f791adaf83c0fa708e51bbc003411ba48ae21e/mkdocs_autorefs-1.3.0.tar.gz", hash = "sha256:6867764c099ace9025d6ac24fd07b85a98335fbd30107ef01053697c8f46db61", size = 42597 } +sdist = { url = "https://files.pythonhosted.org/packages/fe/18/fb1e17fb705228b51bf7b2f791adaf83c0fa708e51bbc003411ba48ae21e/mkdocs_autorefs-1.3.0.tar.gz", hash = "sha256:6867764c099ace9025d6ac24fd07b85a98335fbd30107ef01053697c8f46db61", size = 42597, upload-time = "2025-01-12T21:48:28.622Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/f4/4a/960c441950f98becfa5dd419adab20274939fd575ab848aee2c87e3599ac/mkdocs_autorefs-1.3.0-py3-none-any.whl", hash = "sha256:d180f9778a04e78b7134e31418f238bba56f56d6a8af97873946ff661befffb3", size = 17642 }, + { url = "https://files.pythonhosted.org/packages/f4/4a/960c441950f98becfa5dd419adab20274939fd575ab848aee2c87e3599ac/mkdocs_autorefs-1.3.0-py3-none-any.whl", hash = "sha256:d180f9778a04e78b7134e31418f238bba56f56d6a8af97873946ff661befffb3", size = 17642, upload-time = "2025-01-12T21:48:26.127Z" }, ] [[package]] @@ -2681,9 +2681,9 @@ dependencies = [ { name = "platformdirs" }, { name = "pyyaml" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/98/f5/ed29cd50067784976f25ed0ed6fcd3c2ce9eb90650aa3b2796ddf7b6870b/mkdocs_get_deps-0.2.0.tar.gz", hash = "sha256:162b3d129c7fad9b19abfdcb9c1458a651628e4b1dea628ac68790fb3061c60c", size = 10239 } +sdist = { url = "https://files.pythonhosted.org/packages/98/f5/ed29cd50067784976f25ed0ed6fcd3c2ce9eb90650aa3b2796ddf7b6870b/mkdocs_get_deps-0.2.0.tar.gz", hash = "sha256:162b3d129c7fad9b19abfdcb9c1458a651628e4b1dea628ac68790fb3061c60c", size = 10239, upload-time = "2023-11-20T17:51:09.981Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/9f/d4/029f984e8d3f3b6b726bd33cafc473b75e9e44c0f7e80a5b29abc466bdea/mkdocs_get_deps-0.2.0-py3-none-any.whl", hash = "sha256:2bf11d0b133e77a0dd036abeeb06dec8775e46efa526dc70667d8863eefc6134", size = 9521 }, + { url = "https://files.pythonhosted.org/packages/9f/d4/029f984e8d3f3b6b726bd33cafc473b75e9e44c0f7e80a5b29abc466bdea/mkdocs_get_deps-0.2.0-py3-none-any.whl", hash = "sha256:2bf11d0b133e77a0dd036abeeb06dec8775e46efa526dc70667d8863eefc6134", size = 9521, upload-time = "2023-11-20T17:51:08.587Z" }, ] [[package]] @@ -2695,9 +2695,9 @@ dependencies = [ { name = "mkdocs" }, { name = "requests" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/b4/8a/4ca4fb7d17f66fa709b49744c597204ad03fb3b011c76919564843426f11/mkdocs_git_committers_plugin_2-2.5.0.tar.gz", hash = "sha256:a01f17369e79ca28651681cddf212770e646e6191954bad884ca3067316aae60", size = 15183 } +sdist = { url = "https://files.pythonhosted.org/packages/b4/8a/4ca4fb7d17f66fa709b49744c597204ad03fb3b011c76919564843426f11/mkdocs_git_committers_plugin_2-2.5.0.tar.gz", hash = "sha256:a01f17369e79ca28651681cddf212770e646e6191954bad884ca3067316aae60", size = 15183, upload-time = "2025-01-30T07:30:48.667Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/8e/f5/768590251839a148c188d64779b809bde0e78a306295c18fc29d7fc71ce1/mkdocs_git_committers_plugin_2-2.5.0-py3-none-any.whl", hash = "sha256:1778becf98ccdc5fac809ac7b62cf01d3c67d6e8432723dffbb823307d1193c4", size = 11788 }, + { url = "https://files.pythonhosted.org/packages/8e/f5/768590251839a148c188d64779b809bde0e78a306295c18fc29d7fc71ce1/mkdocs_git_committers_plugin_2-2.5.0-py3-none-any.whl", hash = "sha256:1778becf98ccdc5fac809ac7b62cf01d3c67d6e8432723dffbb823307d1193c4", size = 11788, upload-time = "2025-01-30T07:30:45.748Z" }, ] [[package]] @@ -2710,9 +2710,9 @@ dependencies = [ { name = "mkdocs" }, { name = "pytz" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/73/85/6dc9d4eca486ed5734a05f7fd5c612a8e60a35e65610dad6aa9c58118c3f/mkdocs_git_revision_date_localized_plugin-1.3.0.tar.gz", hash = "sha256:439e2f14582204050a664c258861c325064d97cdc848c541e48bb034a6c4d0cb", size = 384797 } +sdist = { url = "https://files.pythonhosted.org/packages/73/85/6dc9d4eca486ed5734a05f7fd5c612a8e60a35e65610dad6aa9c58118c3f/mkdocs_git_revision_date_localized_plugin-1.3.0.tar.gz", hash = "sha256:439e2f14582204050a664c258861c325064d97cdc848c541e48bb034a6c4d0cb", size = 384797, upload-time = "2024-10-22T12:45:13.114Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/67/e5/ffeb92db53af8c3aa2d92e21a3cf6b5f83eee7e03b9cf9234ef6b30230d5/mkdocs_git_revision_date_localized_plugin-1.3.0-py3-none-any.whl", hash = "sha256:c99377ee119372d57a9e47cff4e68f04cce634a74831c06bc89b33e456e840a1", size = 22549 }, + { url = "https://files.pythonhosted.org/packages/67/e5/ffeb92db53af8c3aa2d92e21a3cf6b5f83eee7e03b9cf9234ef6b30230d5/mkdocs_git_revision_date_localized_plugin-1.3.0-py3-none-any.whl", hash = "sha256:c99377ee119372d57a9e47cff4e68f04cce634a74831c06bc89b33e456e840a1", size = 22549, upload-time = "2024-10-22T12:45:11.339Z" }, ] [[package]] @@ -2732,9 +2732,9 @@ dependencies = [ { name = "nbconvert", marker = "python_full_version < '3.9'" }, { name = "pygments", marker = "python_full_version < '3.9'" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/43/91/817bf07f4b1ce9b50d7d33e059e6cd5792951971a530b64665dd6cbf1324/mkdocs_jupyter-0.24.8.tar.gz", hash = "sha256:09a762f484d540d9c0e944d34b28cb536a32869e224b460e2fc791b143f76940", size = 1531510 } +sdist = { url = "https://files.pythonhosted.org/packages/43/91/817bf07f4b1ce9b50d7d33e059e6cd5792951971a530b64665dd6cbf1324/mkdocs_jupyter-0.24.8.tar.gz", hash = "sha256:09a762f484d540d9c0e944d34b28cb536a32869e224b460e2fc791b143f76940", size = 1531510, upload-time = "2024-07-02T22:42:16.457Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/e1/48/1e320da0e16e926ba4a9a8800df48963fce27b1287c8d1859041a2f85e26/mkdocs_jupyter-0.24.8-py3-none-any.whl", hash = "sha256:36438a0a653eee2c27c6a8f7006e645f18693699c9b8ac44ffde830ddb08fa16", size = 1444481 }, + { url = "https://files.pythonhosted.org/packages/e1/48/1e320da0e16e926ba4a9a8800df48963fce27b1287c8d1859041a2f85e26/mkdocs_jupyter-0.24.8-py3-none-any.whl", hash = "sha256:36438a0a653eee2c27c6a8f7006e645f18693699c9b8ac44ffde830ddb08fa16", size = 1444481, upload-time = "2024-07-02T22:42:14.242Z" }, ] [[package]] @@ -2763,9 +2763,9 @@ dependencies = [ { name = "nbconvert", marker = "python_full_version >= '3.9'" }, { name = "pygments", marker = "python_full_version >= '3.9'" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/6c/23/6ffb8d2fd2117aa860a04c6fe2510b21bc3c3c085907ffdd851caba53152/mkdocs_jupyter-0.25.1.tar.gz", hash = "sha256:0e9272ff4947e0ec683c92423a4bfb42a26477c103ab1a6ab8277e2dcc8f7afe", size = 1626747 } +sdist = { url = "https://files.pythonhosted.org/packages/6c/23/6ffb8d2fd2117aa860a04c6fe2510b21bc3c3c085907ffdd851caba53152/mkdocs_jupyter-0.25.1.tar.gz", hash = "sha256:0e9272ff4947e0ec683c92423a4bfb42a26477c103ab1a6ab8277e2dcc8f7afe", size = 1626747, upload-time = "2024-10-15T14:56:32.373Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/08/37/5f1fd5c3f6954b3256f8126275e62af493b96fb6aef6c0dbc4ee326032ad/mkdocs_jupyter-0.25.1-py3-none-any.whl", hash = "sha256:3f679a857609885d322880e72533ef5255561bbfdb13cfee2a1e92ef4d4ad8d8", size = 1456197 }, + { url = "https://files.pythonhosted.org/packages/08/37/5f1fd5c3f6954b3256f8126275e62af493b96fb6aef6c0dbc4ee326032ad/mkdocs_jupyter-0.25.1-py3-none-any.whl", hash = "sha256:3f679a857609885d322880e72533ef5255561bbfdb13cfee2a1e92ef4d4ad8d8", size = 1456197, upload-time = "2024-10-15T14:56:29.854Z" }, ] [[package]] @@ -2785,9 +2785,9 @@ dependencies = [ { name = "regex" }, { name = "requests" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/0f/1e/65b4fda4debf5e337b2ad4e692423dba4f5c77f49c4dee170c47a7dbac25/mkdocs_material-9.6.3.tar.gz", hash = "sha256:c87f7d1c39ce6326da5e10e232aed51bae46252e646755900f4b0fc9192fa832", size = 3942608 } +sdist = { url = "https://files.pythonhosted.org/packages/0f/1e/65b4fda4debf5e337b2ad4e692423dba4f5c77f49c4dee170c47a7dbac25/mkdocs_material-9.6.3.tar.gz", hash = "sha256:c87f7d1c39ce6326da5e10e232aed51bae46252e646755900f4b0fc9192fa832", size = 3942608, upload-time = "2025-02-07T05:27:15.428Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/11/a4/e0da0bc6a7dbfda6a786427f82a0caa4dd1f163249a5a5e5dccbb50c5f1e/mkdocs_material-9.6.3-py3-none-any.whl", hash = "sha256:1125622067e26940806701219303b27c0933e04533560725d97ec26fd16a39cf", size = 8688709 }, + { url = "https://files.pythonhosted.org/packages/11/a4/e0da0bc6a7dbfda6a786427f82a0caa4dd1f163249a5a5e5dccbb50c5f1e/mkdocs_material-9.6.3-py3-none-any.whl", hash = "sha256:1125622067e26940806701219303b27c0933e04533560725d97ec26fd16a39cf", size = 8688709, upload-time = "2025-02-07T05:27:10.196Z" }, ] [package.optional-dependencies] @@ -2800,9 +2800,9 @@ imaging = [ name = "mkdocs-material-extensions" version = "1.3.1" source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/79/9b/9b4c96d6593b2a541e1cb8b34899a6d021d208bb357042823d4d2cabdbe7/mkdocs_material_extensions-1.3.1.tar.gz", hash = "sha256:10c9511cea88f568257f960358a467d12b970e1f7b2c0e5fb2bb48cab1928443", size = 11847 } +sdist = { url = "https://files.pythonhosted.org/packages/79/9b/9b4c96d6593b2a541e1cb8b34899a6d021d208bb357042823d4d2cabdbe7/mkdocs_material_extensions-1.3.1.tar.gz", hash = "sha256:10c9511cea88f568257f960358a467d12b970e1f7b2c0e5fb2bb48cab1928443", size = 11847, upload-time = "2023-11-22T19:09:45.208Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/5b/54/662a4743aa81d9582ee9339d4ffa3c8fd40a4965e033d77b9da9774d3960/mkdocs_material_extensions-1.3.1-py3-none-any.whl", hash = "sha256:adff8b62700b25cb77b53358dad940f3ef973dd6db797907c49e3c2ef3ab4e31", size = 8728 }, + { url = "https://files.pythonhosted.org/packages/5b/54/662a4743aa81d9582ee9339d4ffa3c8fd40a4965e033d77b9da9774d3960/mkdocs_material_extensions-1.3.1-py3-none-any.whl", hash = "sha256:adff8b62700b25cb77b53358dad940f3ef973dd6db797907c49e3c2ef3ab4e31", size = 8728, upload-time = "2023-11-22T19:09:43.465Z" }, ] [[package]] @@ -2826,9 +2826,9 @@ dependencies = [ { name = "pymdown-extensions", marker = "python_full_version < '3.9'" }, { name = "typing-extensions", marker = "python_full_version < '3.9'" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/e6/bf/170ff04de72227f715d67da32950c7b8434449f3805b2ec3dd1085db4d7c/mkdocstrings-0.26.1.tar.gz", hash = "sha256:bb8b8854d6713d5348ad05b069a09f3b79edbc6a0f33a34c6821141adb03fe33", size = 92677 } +sdist = { url = "https://files.pythonhosted.org/packages/e6/bf/170ff04de72227f715d67da32950c7b8434449f3805b2ec3dd1085db4d7c/mkdocstrings-0.26.1.tar.gz", hash = "sha256:bb8b8854d6713d5348ad05b069a09f3b79edbc6a0f33a34c6821141adb03fe33", size = 92677, upload-time = "2024-09-06T10:26:06.736Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/23/cc/8ba127aaee5d1e9046b0d33fa5b3d17da95a9d705d44902792e0569257fd/mkdocstrings-0.26.1-py3-none-any.whl", hash = "sha256:29738bfb72b4608e8e55cc50fb8a54f325dc7ebd2014e4e3881a49892d5983cf", size = 29643 }, + { url = "https://files.pythonhosted.org/packages/23/cc/8ba127aaee5d1e9046b0d33fa5b3d17da95a9d705d44902792e0569257fd/mkdocstrings-0.26.1-py3-none-any.whl", hash = "sha256:29738bfb72b4608e8e55cc50fb8a54f325dc7ebd2014e4e3881a49892d5983cf", size = 29643, upload-time = "2024-09-06T10:26:04.498Z" }, ] [[package]] @@ -2861,9 +2861,9 @@ dependencies = [ { name = "pymdown-extensions", marker = "python_full_version >= '3.9'" }, { name = "typing-extensions", marker = "python_full_version == '3.9.*'" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/c0/76/0475d10d27f3384df3a6ddfdf4a4fdfef83766f77cd4e327d905dc956c15/mkdocstrings-0.26.2.tar.gz", hash = "sha256:34a8b50f1e6cfd29546c6c09fbe02154adfb0b361bb758834bf56aa284ba876e", size = 92512 } +sdist = { url = "https://files.pythonhosted.org/packages/c0/76/0475d10d27f3384df3a6ddfdf4a4fdfef83766f77cd4e327d905dc956c15/mkdocstrings-0.26.2.tar.gz", hash = "sha256:34a8b50f1e6cfd29546c6c09fbe02154adfb0b361bb758834bf56aa284ba876e", size = 92512, upload-time = "2024-10-12T16:56:52.007Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/80/b6/4ee320d7c313da3774eff225875eb278f7e6bb26a9cd8e680b8dbc38fdea/mkdocstrings-0.26.2-py3-none-any.whl", hash = "sha256:1248f3228464f3b8d1a15bd91249ce1701fe3104ac517a5f167a0e01ca850ba5", size = 29716 }, + { url = "https://files.pythonhosted.org/packages/80/b6/4ee320d7c313da3774eff225875eb278f7e6bb26a9cd8e680b8dbc38fdea/mkdocstrings-0.26.2-py3-none-any.whl", hash = "sha256:1248f3228464f3b8d1a15bd91249ce1701fe3104ac517a5f167a0e01ca850ba5", size = 29716, upload-time = "2024-10-12T16:56:49.746Z" }, ] [[package]] @@ -2880,9 +2880,9 @@ dependencies = [ { name = "mkdocs-autorefs", version = "1.2.0", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.9'" }, { name = "mkdocstrings", version = "0.26.1", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.9'" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/fc/ba/534c934cd0a809f51c91332d6ed278782ee4126b8ba8db02c2003f162b47/mkdocstrings_python-1.11.1.tar.gz", hash = "sha256:8824b115c5359304ab0b5378a91f6202324a849e1da907a3485b59208b797322", size = 166890 } +sdist = { url = "https://files.pythonhosted.org/packages/fc/ba/534c934cd0a809f51c91332d6ed278782ee4126b8ba8db02c2003f162b47/mkdocstrings_python-1.11.1.tar.gz", hash = "sha256:8824b115c5359304ab0b5378a91f6202324a849e1da907a3485b59208b797322", size = 166890, upload-time = "2024-09-03T17:20:54.904Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/2f/f2/2a2c48fda645ac6bbe73bcc974587a579092b6868e6ff8bc6d177f4db38a/mkdocstrings_python-1.11.1-py3-none-any.whl", hash = "sha256:a21a1c05acef129a618517bb5aae3e33114f569b11588b1e7af3e9d4061a71af", size = 109297 }, + { url = "https://files.pythonhosted.org/packages/2f/f2/2a2c48fda645ac6bbe73bcc974587a579092b6868e6ff8bc6d177f4db38a/mkdocstrings_python-1.11.1-py3-none-any.whl", hash = "sha256:a21a1c05acef129a618517bb5aae3e33114f569b11588b1e7af3e9d4061a71af", size = 109297, upload-time = "2024-09-03T17:20:52.621Z" }, ] [[package]] @@ -2908,9 +2908,9 @@ dependencies = [ { name = "mkdocs-autorefs", version = "1.3.0", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.9'" }, { name = "mkdocstrings", version = "0.26.2", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.9'" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/ab/ae/32703e35d74040051c672400fd9f5f2b48a6ea094f5071dd8a0e3be35322/mkdocstrings_python-1.13.0.tar.gz", hash = "sha256:2dbd5757e8375b9720e81db16f52f1856bf59905428fd7ef88005d1370e2f64c", size = 185697 } +sdist = { url = "https://files.pythonhosted.org/packages/ab/ae/32703e35d74040051c672400fd9f5f2b48a6ea094f5071dd8a0e3be35322/mkdocstrings_python-1.13.0.tar.gz", hash = "sha256:2dbd5757e8375b9720e81db16f52f1856bf59905428fd7ef88005d1370e2f64c", size = 185697, upload-time = "2024-12-26T17:58:51.741Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/51/23/d02d86553327296c3bf369d444194ea83410cce8f0e690565264f37f3261/mkdocstrings_python-1.13.0-py3-none-any.whl", hash = "sha256:b88bbb207bab4086434743849f8e796788b373bd32e7bfefbf8560ac45d88f97", size = 112254 }, + { url = "https://files.pythonhosted.org/packages/51/23/d02d86553327296c3bf369d444194ea83410cce8f0e690565264f37f3261/mkdocstrings_python-1.13.0-py3-none-any.whl", hash = "sha256:b88bbb207bab4086434743849f8e796788b373bd32e7bfefbf8560ac45d88f97", size = 112254, upload-time = "2024-12-26T17:58:31.106Z" }, ] [[package]] @@ -2922,9 +2922,9 @@ resolution-markers = [ "python_full_version < '3.9' and platform_machine == 'aarch64' and sys_platform == 'linux'", "(python_full_version < '3.9' and platform_machine != 'arm64' and sys_platform == 'darwin') or (python_full_version < '3.9' and platform_machine != 'aarch64' and sys_platform == 'linux') or (python_full_version < '3.9' and sys_platform != 'darwin' and sys_platform != 'linux')", ] -sdist = { url = "https://files.pythonhosted.org/packages/51/78/65922308c4248e0eb08ebcbe67c95d48615cc6f27854b6f2e57143e9178f/more-itertools-10.5.0.tar.gz", hash = "sha256:5482bfef7849c25dc3c6dd53a6173ae4795da2a41a80faea6700d9f5846c5da6", size = 121020 } +sdist = { url = "https://files.pythonhosted.org/packages/51/78/65922308c4248e0eb08ebcbe67c95d48615cc6f27854b6f2e57143e9178f/more-itertools-10.5.0.tar.gz", hash = "sha256:5482bfef7849c25dc3c6dd53a6173ae4795da2a41a80faea6700d9f5846c5da6", size = 121020, upload-time = "2024-09-05T15:28:22.081Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/48/7e/3a64597054a70f7c86eb0a7d4fc315b8c1ab932f64883a297bdffeb5f967/more_itertools-10.5.0-py3-none-any.whl", hash = "sha256:037b0d3203ce90cca8ab1defbbdac29d5f993fc20131f3664dc8d6acfa872aef", size = 60952 }, + { url = "https://files.pythonhosted.org/packages/48/7e/3a64597054a70f7c86eb0a7d4fc315b8c1ab932f64883a297bdffeb5f967/more_itertools-10.5.0-py3-none-any.whl", hash = "sha256:037b0d3203ce90cca8ab1defbbdac29d5f993fc20131f3664dc8d6acfa872aef", size = 60952, upload-time = "2024-09-05T15:28:20.141Z" }, ] [[package]] @@ -2945,9 +2945,9 @@ resolution-markers = [ "python_full_version == '3.9.*' and platform_machine == 'aarch64' and sys_platform == 'linux'", "(python_full_version == '3.9.*' and platform_machine != 'arm64' and sys_platform == 'darwin') or (python_full_version == '3.9.*' and platform_machine != 'aarch64' and sys_platform == 'linux') or (python_full_version == '3.9.*' and sys_platform != 'darwin' and sys_platform != 'linux')", ] -sdist = { url = "https://files.pythonhosted.org/packages/88/3b/7fa1fe835e2e93fd6d7b52b2f95ae810cf5ba133e1845f726f5a992d62c2/more-itertools-10.6.0.tar.gz", hash = "sha256:2cd7fad1009c31cc9fb6a035108509e6547547a7a738374f10bd49a09eb3ee3b", size = 125009 } +sdist = { url = "https://files.pythonhosted.org/packages/88/3b/7fa1fe835e2e93fd6d7b52b2f95ae810cf5ba133e1845f726f5a992d62c2/more-itertools-10.6.0.tar.gz", hash = "sha256:2cd7fad1009c31cc9fb6a035108509e6547547a7a738374f10bd49a09eb3ee3b", size = 125009, upload-time = "2025-01-14T16:22:47.626Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/23/62/0fe302c6d1be1c777cab0616e6302478251dfbf9055ad426f5d0def75c89/more_itertools-10.6.0-py3-none-any.whl", hash = "sha256:6eb054cb4b6db1473f6e15fcc676a08e4732548acd47c708f0e179c2c7c01e89", size = 63038 }, + { url = "https://files.pythonhosted.org/packages/23/62/0fe302c6d1be1c777cab0616e6302478251dfbf9055ad426f5d0def75c89/more_itertools-10.6.0-py3-none-any.whl", hash = "sha256:6eb054cb4b6db1473f6e15fcc676a08e4732548acd47c708f0e179c2c7c01e89", size = 63038, upload-time = "2025-01-14T16:22:46.014Z" }, ] [[package]] @@ -2965,9 +2965,9 @@ dependencies = [ { name = "nbformat", marker = "python_full_version < '3.9'" }, { name = "traitlets", marker = "python_full_version < '3.9'" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/06/db/25929926860ba8a3f6123d2d0a235e558e0e4be7b46e9db063a7dfefa0a2/nbclient-0.10.1.tar.gz", hash = "sha256:3e93e348ab27e712acd46fccd809139e356eb9a31aab641d1a7991a6eb4e6f68", size = 62273 } +sdist = { url = "https://files.pythonhosted.org/packages/06/db/25929926860ba8a3f6123d2d0a235e558e0e4be7b46e9db063a7dfefa0a2/nbclient-0.10.1.tar.gz", hash = "sha256:3e93e348ab27e712acd46fccd809139e356eb9a31aab641d1a7991a6eb4e6f68", size = 62273, upload-time = "2024-11-29T08:28:38.47Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/26/1a/ed6d1299b1a00c1af4a033fdee565f533926d819e084caf0d2832f6f87c6/nbclient-0.10.1-py3-none-any.whl", hash = "sha256:949019b9240d66897e442888cfb618f69ef23dc71c01cb5fced8499c2cfc084d", size = 25344 }, + { url = "https://files.pythonhosted.org/packages/26/1a/ed6d1299b1a00c1af4a033fdee565f533926d819e084caf0d2832f6f87c6/nbclient-0.10.1-py3-none-any.whl", hash = "sha256:949019b9240d66897e442888cfb618f69ef23dc71c01cb5fced8499c2cfc084d", size = 25344, upload-time = "2024-11-29T08:28:21.844Z" }, ] [[package]] @@ -2994,9 +2994,9 @@ dependencies = [ { name = "nbformat", marker = "python_full_version >= '3.9'" }, { name = "traitlets", marker = "python_full_version >= '3.9'" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/87/66/7ffd18d58eae90d5721f9f39212327695b749e23ad44b3881744eaf4d9e8/nbclient-0.10.2.tar.gz", hash = "sha256:90b7fc6b810630db87a6d0c2250b1f0ab4cf4d3c27a299b0cde78a4ed3fd9193", size = 62424 } +sdist = { url = "https://files.pythonhosted.org/packages/87/66/7ffd18d58eae90d5721f9f39212327695b749e23ad44b3881744eaf4d9e8/nbclient-0.10.2.tar.gz", hash = "sha256:90b7fc6b810630db87a6d0c2250b1f0ab4cf4d3c27a299b0cde78a4ed3fd9193", size = 62424, upload-time = "2024-12-19T10:32:27.164Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/34/6d/e7fa07f03a4a7b221d94b4d586edb754a9b0dc3c9e2c93353e9fa4e0d117/nbclient-0.10.2-py3-none-any.whl", hash = "sha256:4ffee11e788b4a27fabeb7955547e4318a5298f34342a4bfd01f2e1faaeadc3d", size = 25434 }, + { url = "https://files.pythonhosted.org/packages/34/6d/e7fa07f03a4a7b221d94b4d586edb754a9b0dc3c9e2c93353e9fa4e0d117/nbclient-0.10.2-py3-none-any.whl", hash = "sha256:4ffee11e788b4a27fabeb7955547e4318a5298f34342a4bfd01f2e1faaeadc3d", size = 25434, upload-time = "2024-12-19T10:32:24.139Z" }, ] [[package]] @@ -3024,9 +3024,9 @@ dependencies = [ { name = "pygments" }, { name = "traitlets" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/a3/59/f28e15fc47ffb73af68a8d9b47367a8630d76e97ae85ad18271b9db96fdf/nbconvert-7.16.6.tar.gz", hash = "sha256:576a7e37c6480da7b8465eefa66c17844243816ce1ccc372633c6b71c3c0f582", size = 857715 } +sdist = { url = "https://files.pythonhosted.org/packages/a3/59/f28e15fc47ffb73af68a8d9b47367a8630d76e97ae85ad18271b9db96fdf/nbconvert-7.16.6.tar.gz", hash = "sha256:576a7e37c6480da7b8465eefa66c17844243816ce1ccc372633c6b71c3c0f582", size = 857715, upload-time = "2025-01-28T09:29:14.724Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/cc/9a/cd673b2f773a12c992f41309ef81b99da1690426bd2f96957a7ade0d3ed7/nbconvert-7.16.6-py3-none-any.whl", hash = "sha256:1375a7b67e0c2883678c48e506dc320febb57685e5ee67faa51b18a90f3a712b", size = 258525 }, + { url = "https://files.pythonhosted.org/packages/cc/9a/cd673b2f773a12c992f41309ef81b99da1690426bd2f96957a7ade0d3ed7/nbconvert-7.16.6-py3-none-any.whl", hash = "sha256:1375a7b67e0c2883678c48e506dc320febb57685e5ee67faa51b18a90f3a712b", size = 258525, upload-time = "2025-01-28T09:29:12.551Z" }, ] [[package]] @@ -3039,49 +3039,49 @@ dependencies = [ { name = "jupyter-core" }, { name = "traitlets" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/6d/fd/91545e604bc3dad7dca9ed03284086039b294c6b3d75c0d2fa45f9e9caf3/nbformat-5.10.4.tar.gz", hash = "sha256:322168b14f937a5d11362988ecac2a4952d3d8e3a2cbeb2319584631226d5b3a", size = 142749 } +sdist = { url = "https://files.pythonhosted.org/packages/6d/fd/91545e604bc3dad7dca9ed03284086039b294c6b3d75c0d2fa45f9e9caf3/nbformat-5.10.4.tar.gz", hash = "sha256:322168b14f937a5d11362988ecac2a4952d3d8e3a2cbeb2319584631226d5b3a", size = 142749, upload-time = "2024-04-04T11:20:37.371Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/a9/82/0340caa499416c78e5d8f5f05947ae4bc3cba53c9f038ab6e9ed964e22f1/nbformat-5.10.4-py3-none-any.whl", hash = "sha256:3b48d6c8fbca4b299bf3982ea7db1af21580e4fec269ad087b9e81588891200b", size = 78454 }, + { url = "https://files.pythonhosted.org/packages/a9/82/0340caa499416c78e5d8f5f05947ae4bc3cba53c9f038ab6e9ed964e22f1/nbformat-5.10.4-py3-none-any.whl", hash = "sha256:3b48d6c8fbca4b299bf3982ea7db1af21580e4fec269ad087b9e81588891200b", size = 78454, upload-time = "2024-04-04T11:20:34.895Z" }, ] [[package]] name = "nest-asyncio" version = "1.6.0" source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/83/f8/51569ac65d696c8ecbee95938f89d4abf00f47d58d48f6fbabfe8f0baefe/nest_asyncio-1.6.0.tar.gz", hash = "sha256:6f172d5449aca15afd6c646851f4e31e02c598d553a667e38cafa997cfec55fe", size = 7418 } +sdist = { url = "https://files.pythonhosted.org/packages/83/f8/51569ac65d696c8ecbee95938f89d4abf00f47d58d48f6fbabfe8f0baefe/nest_asyncio-1.6.0.tar.gz", hash = "sha256:6f172d5449aca15afd6c646851f4e31e02c598d553a667e38cafa997cfec55fe", size = 7418, upload-time = "2024-01-21T14:25:19.227Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/a0/c4/c2971a3ba4c6103a3d10c4b0f24f461ddc027f0f09763220cf35ca1401b3/nest_asyncio-1.6.0-py3-none-any.whl", hash = "sha256:87af6efd6b5e897c81050477ef65c62e2b2f35d51703cae01aff2905b1852e1c", size = 5195 }, + { url = "https://files.pythonhosted.org/packages/a0/c4/c2971a3ba4c6103a3d10c4b0f24f461ddc027f0f09763220cf35ca1401b3/nest_asyncio-1.6.0-py3-none-any.whl", hash = "sha256:87af6efd6b5e897c81050477ef65c62e2b2f35d51703cae01aff2905b1852e1c", size = 5195, upload-time = "2024-01-21T14:25:17.223Z" }, ] [[package]] name = "nh3" version = "0.2.20" source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/46/f2/eb781d94c7855e9129cbbdd3ab09a470441e4176a82a396ae1df270a7333/nh3-0.2.20.tar.gz", hash = "sha256:9705c42d7ff88a0bea546c82d7fe5e59135e3d3f057e485394f491248a1f8ed5", size = 17489 } -wheels = [ - { url = "https://files.pythonhosted.org/packages/3c/65/d31d93b6d1e5fe80d0cc18f0b96eaa561edfa0a15a6ef6b0fce50202a931/nh3-0.2.20-cp313-cp313t-macosx_10_12_x86_64.macosx_11_0_arm64.macosx_10_12_universal2.whl", hash = "sha256:e1061a4ab6681f6bdf72b110eea0c4e1379d57c9de937db3be4202f7ad6043db", size = 1202187 }, - { url = "https://files.pythonhosted.org/packages/b4/ae/5b03bf198e06921454012e4b9a51e676d26fd37d9fdc1f29371a0b380487/nh3-0.2.20-cp313-cp313t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:eb4254b1dac4a1ee49919a5b3f1caf9803ea8dada1816d9e8289e63d3cd0dd9a", size = 737822 }, - { url = "https://files.pythonhosted.org/packages/0a/53/a12dffb6ee3772deba82eb5997667fc835afd2e813d1f4080d8738f29eec/nh3-0.2.20-cp313-cp313t-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:0ae9cbd713524cdb81e64663d0d6aae26f678db9f2cd9db0bf162606f1f9f20c", size = 756643 }, - { url = "https://files.pythonhosted.org/packages/d0/0c/6cd2c5ac3e6e31f2a28721e8e2a924cb6b05ad054bf787bd1816ffd40b96/nh3-0.2.20-cp313-cp313t-musllinux_1_2_aarch64.whl", hash = "sha256:e1f7370b4e14cc03f5ae141ef30a1caf81fa5787711f80be9081418dd9eb79d2", size = 923415 }, - { url = "https://files.pythonhosted.org/packages/64/f0/229a6c8b81b86ba22d8e7f27ade62cb2fcfb987e570f49944fdd8490a76a/nh3-0.2.20-cp313-cp313t-musllinux_1_2_armv7l.whl", hash = "sha256:ac4d27dc836a476efffc6eb661994426b8b805c951b29c9cf2ff36bc9ad58bc5", size = 994959 }, - { url = "https://files.pythonhosted.org/packages/75/e3/62ae3d3b658739ee15b129356fe6d4c4bc8ab235d7bf2e0d2794d64f7bc6/nh3-0.2.20-cp313-cp313t-musllinux_1_2_i686.whl", hash = "sha256:4fd2e9248725ebcedac3997a8d3da0d90a12a28c9179c6ba51f1658938ac30d0", size = 915777 }, - { url = "https://files.pythonhosted.org/packages/45/bd/8405d03371e335f02eb72e09dcf73307f8fd3095e4165cec6836346fe3db/nh3-0.2.20-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:f7d564871833ddbe54df3aa59053b1110729d3a800cb7628ae8f42adb3d75208", size = 908614 }, - { url = "https://files.pythonhosted.org/packages/ee/f8/5d977f09cf82c1f22a864375f471db111530fc79c88efdf0659fe6d3d6bc/nh3-0.2.20-cp313-cp313t-win32.whl", hash = "sha256:d2a176fd4306b6f0f178a3f67fac91bd97a3a8d8fafb771c9b9ef675ba5c8886", size = 540482 }, - { url = "https://files.pythonhosted.org/packages/c5/f4/e34afe5fd8bed1920eac2974c9c853f548b4b65c139444285ffd2a68495d/nh3-0.2.20-cp313-cp313t-win_amd64.whl", hash = "sha256:6ed834c68452a600f517dd3e1534dbfaff1f67f98899fecf139a055a25d99150", size = 541302 }, - { url = "https://files.pythonhosted.org/packages/92/08/5e3b61eed1bc0efeb330ddc5cf5194f28a0b7be7943aa20bd44cfe14650b/nh3-0.2.20-cp38-abi3-macosx_10_12_x86_64.macosx_11_0_arm64.macosx_10_12_universal2.whl", hash = "sha256:76e2f603b30c02ff6456b233a83fc377dedab6a50947b04e960a6b905637b776", size = 1202141 }, - { url = "https://files.pythonhosted.org/packages/29/d2/3377f8006c71e95e007b07b5bfcac22c9de4744ca3efb23b396d3deb9581/nh3-0.2.20-cp38-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:181063c581defe683bd4bb78188ac9936d208aebbc74c7f7c16b6a32ae2ebb38", size = 760699 }, - { url = "https://files.pythonhosted.org/packages/37/d7/7077f925d7d680d53dcb6e18a4af13d1a7da59761c06c193bfa249a7470a/nh3-0.2.20-cp38-abi3-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:231addb7643c952cd6d71f1c8702d703f8fe34afcb20becb3efb319a501a12d7", size = 747353 }, - { url = "https://files.pythonhosted.org/packages/cb/59/6b2f32af477aae81f1454a7f6ef490ebc3c22dd9e1370e73fcfe243dc07a/nh3-0.2.20-cp38-abi3-manylinux_2_17_ppc64.manylinux2014_ppc64.whl", hash = "sha256:1b9a8340a0aab991c68a5ca938d35ef4a8a3f4bf1b455da8855a40bee1fa0ace", size = 854125 }, - { url = "https://files.pythonhosted.org/packages/5b/f2/c3d2f7b801477b8b387b51fbefd16dc7ade888aeac547f18ba0558fd6f48/nh3-0.2.20-cp38-abi3-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:10317cd96fe4bbd4eb6b95f3920b71c902157ad44fed103fdcde43e3b8ee8be6", size = 817453 }, - { url = "https://files.pythonhosted.org/packages/42/4d/f7e3a35506a0eba6eedafc21ad52773985511eb838812e9f96354831ad3c/nh3-0.2.20-cp38-abi3-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:8698db4c04b140800d1a1cd3067fda399e36e1e2b8fc1fe04292a907350a3e9b", size = 891694 }, - { url = "https://files.pythonhosted.org/packages/e6/0e/c499453c296fb40366e3069cd68fde77a10f0a30a17b9d3b491eb3ebc5bf/nh3-0.2.20-cp38-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:3eb04b9c3deb13c3a375ea39fd4a3c00d1f92e8fb2349f25f1e3e4506751774b", size = 744388 }, - { url = "https://files.pythonhosted.org/packages/18/67/c3de8022ba2719bdbbdd3704d1e32dbc7d3f8ac8646247711645fc90d051/nh3-0.2.20-cp38-abi3-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:92f3f1c4f47a2c6f3ca7317b1d5ced05bd29556a75d3a4e2715652ae9d15c05d", size = 764831 }, - { url = "https://files.pythonhosted.org/packages/f0/14/a4ea40e2439717d11c3104fc2dc0ac412301b7aeb81d6a3d0e6505c77e7d/nh3-0.2.20-cp38-abi3-musllinux_1_2_aarch64.whl", hash = "sha256:ddefa9fd6794a87e37d05827d299d4b53a3ec6f23258101907b96029bfef138a", size = 923334 }, - { url = "https://files.pythonhosted.org/packages/ed/ae/e8ee8afaf67903dd304f390056d1ea620327524e2ad66127a331b14d5d98/nh3-0.2.20-cp38-abi3-musllinux_1_2_armv7l.whl", hash = "sha256:ce3731c8f217685d33d9268362e5b4f770914e922bba94d368ab244a59a6c397", size = 994873 }, - { url = "https://files.pythonhosted.org/packages/20/b5/02122cfe3b36cf0ba0fcd73a04fd462e1f7a9d91b456f6e0b70e46df21c7/nh3-0.2.20-cp38-abi3-musllinux_1_2_i686.whl", hash = "sha256:09f037c02fc2c43b211ff1523de32801dcfb0918648d8e651c36ef890f1731ec", size = 915707 }, - { url = "https://files.pythonhosted.org/packages/47/d3/5df43cc3570cdc9eb1dc79a39191f89fedf8bcefd8d30a161ff1dffb146c/nh3-0.2.20-cp38-abi3-musllinux_1_2_x86_64.whl", hash = "sha256:813f1c8012dd64c990514b795508abb90789334f76a561fa0fd4ca32d2275330", size = 908539 }, - { url = "https://files.pythonhosted.org/packages/4f/fd/aa000f6c76a832c488eac26f20d2e8a221ba2b965efce692f14ebc4290bf/nh3-0.2.20-cp38-abi3-win32.whl", hash = "sha256:47b2946c0e13057855209daeffb45dc910bd0c55daf10190bb0b4b60e2999784", size = 540439 }, - { url = "https://files.pythonhosted.org/packages/19/31/d65594efd3b42b1de2335d576eb77525691fc320dbf8617948ee05c008e5/nh3-0.2.20-cp38-abi3-win_amd64.whl", hash = "sha256:da87573f03084edae8eb87cfe811ec338606288f81d333c07d2a9a0b9b976c0b", size = 541249 }, +sdist = { url = "https://files.pythonhosted.org/packages/46/f2/eb781d94c7855e9129cbbdd3ab09a470441e4176a82a396ae1df270a7333/nh3-0.2.20.tar.gz", hash = "sha256:9705c42d7ff88a0bea546c82d7fe5e59135e3d3f057e485394f491248a1f8ed5", size = 17489, upload-time = "2024-12-17T12:50:22.381Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/3c/65/d31d93b6d1e5fe80d0cc18f0b96eaa561edfa0a15a6ef6b0fce50202a931/nh3-0.2.20-cp313-cp313t-macosx_10_12_x86_64.macosx_11_0_arm64.macosx_10_12_universal2.whl", hash = "sha256:e1061a4ab6681f6bdf72b110eea0c4e1379d57c9de937db3be4202f7ad6043db", size = 1202187, upload-time = "2024-12-17T12:49:28.903Z" }, + { url = "https://files.pythonhosted.org/packages/b4/ae/5b03bf198e06921454012e4b9a51e676d26fd37d9fdc1f29371a0b380487/nh3-0.2.20-cp313-cp313t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:eb4254b1dac4a1ee49919a5b3f1caf9803ea8dada1816d9e8289e63d3cd0dd9a", size = 737822, upload-time = "2024-12-17T12:49:30.42Z" }, + { url = "https://files.pythonhosted.org/packages/0a/53/a12dffb6ee3772deba82eb5997667fc835afd2e813d1f4080d8738f29eec/nh3-0.2.20-cp313-cp313t-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:0ae9cbd713524cdb81e64663d0d6aae26f678db9f2cd9db0bf162606f1f9f20c", size = 756643, upload-time = "2024-12-17T12:49:31.767Z" }, + { url = "https://files.pythonhosted.org/packages/d0/0c/6cd2c5ac3e6e31f2a28721e8e2a924cb6b05ad054bf787bd1816ffd40b96/nh3-0.2.20-cp313-cp313t-musllinux_1_2_aarch64.whl", hash = "sha256:e1f7370b4e14cc03f5ae141ef30a1caf81fa5787711f80be9081418dd9eb79d2", size = 923415, upload-time = "2024-12-17T12:49:34.434Z" }, + { url = "https://files.pythonhosted.org/packages/64/f0/229a6c8b81b86ba22d8e7f27ade62cb2fcfb987e570f49944fdd8490a76a/nh3-0.2.20-cp313-cp313t-musllinux_1_2_armv7l.whl", hash = "sha256:ac4d27dc836a476efffc6eb661994426b8b805c951b29c9cf2ff36bc9ad58bc5", size = 994959, upload-time = "2024-12-17T12:49:37.357Z" }, + { url = "https://files.pythonhosted.org/packages/75/e3/62ae3d3b658739ee15b129356fe6d4c4bc8ab235d7bf2e0d2794d64f7bc6/nh3-0.2.20-cp313-cp313t-musllinux_1_2_i686.whl", hash = "sha256:4fd2e9248725ebcedac3997a8d3da0d90a12a28c9179c6ba51f1658938ac30d0", size = 915777, upload-time = "2024-12-17T12:49:40.012Z" }, + { url = "https://files.pythonhosted.org/packages/45/bd/8405d03371e335f02eb72e09dcf73307f8fd3095e4165cec6836346fe3db/nh3-0.2.20-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:f7d564871833ddbe54df3aa59053b1110729d3a800cb7628ae8f42adb3d75208", size = 908614, upload-time = "2024-12-17T12:49:42.895Z" }, + { url = "https://files.pythonhosted.org/packages/ee/f8/5d977f09cf82c1f22a864375f471db111530fc79c88efdf0659fe6d3d6bc/nh3-0.2.20-cp313-cp313t-win32.whl", hash = "sha256:d2a176fd4306b6f0f178a3f67fac91bd97a3a8d8fafb771c9b9ef675ba5c8886", size = 540482, upload-time = "2024-12-17T12:49:45.42Z" }, + { url = "https://files.pythonhosted.org/packages/c5/f4/e34afe5fd8bed1920eac2974c9c853f548b4b65c139444285ffd2a68495d/nh3-0.2.20-cp313-cp313t-win_amd64.whl", hash = "sha256:6ed834c68452a600f517dd3e1534dbfaff1f67f98899fecf139a055a25d99150", size = 541302, upload-time = "2024-12-17T12:49:48.049Z" }, + { url = "https://files.pythonhosted.org/packages/92/08/5e3b61eed1bc0efeb330ddc5cf5194f28a0b7be7943aa20bd44cfe14650b/nh3-0.2.20-cp38-abi3-macosx_10_12_x86_64.macosx_11_0_arm64.macosx_10_12_universal2.whl", hash = "sha256:76e2f603b30c02ff6456b233a83fc377dedab6a50947b04e960a6b905637b776", size = 1202141, upload-time = "2024-12-17T12:49:50.601Z" }, + { url = "https://files.pythonhosted.org/packages/29/d2/3377f8006c71e95e007b07b5bfcac22c9de4744ca3efb23b396d3deb9581/nh3-0.2.20-cp38-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:181063c581defe683bd4bb78188ac9936d208aebbc74c7f7c16b6a32ae2ebb38", size = 760699, upload-time = "2024-12-17T12:49:52.833Z" }, + { url = "https://files.pythonhosted.org/packages/37/d7/7077f925d7d680d53dcb6e18a4af13d1a7da59761c06c193bfa249a7470a/nh3-0.2.20-cp38-abi3-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:231addb7643c952cd6d71f1c8702d703f8fe34afcb20becb3efb319a501a12d7", size = 747353, upload-time = "2024-12-17T12:49:54.23Z" }, + { url = "https://files.pythonhosted.org/packages/cb/59/6b2f32af477aae81f1454a7f6ef490ebc3c22dd9e1370e73fcfe243dc07a/nh3-0.2.20-cp38-abi3-manylinux_2_17_ppc64.manylinux2014_ppc64.whl", hash = "sha256:1b9a8340a0aab991c68a5ca938d35ef4a8a3f4bf1b455da8855a40bee1fa0ace", size = 854125, upload-time = "2024-12-17T12:49:55.481Z" }, + { url = "https://files.pythonhosted.org/packages/5b/f2/c3d2f7b801477b8b387b51fbefd16dc7ade888aeac547f18ba0558fd6f48/nh3-0.2.20-cp38-abi3-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:10317cd96fe4bbd4eb6b95f3920b71c902157ad44fed103fdcde43e3b8ee8be6", size = 817453, upload-time = "2024-12-17T12:49:58.101Z" }, + { url = "https://files.pythonhosted.org/packages/42/4d/f7e3a35506a0eba6eedafc21ad52773985511eb838812e9f96354831ad3c/nh3-0.2.20-cp38-abi3-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:8698db4c04b140800d1a1cd3067fda399e36e1e2b8fc1fe04292a907350a3e9b", size = 891694, upload-time = "2024-12-17T12:49:59.91Z" }, + { url = "https://files.pythonhosted.org/packages/e6/0e/c499453c296fb40366e3069cd68fde77a10f0a30a17b9d3b491eb3ebc5bf/nh3-0.2.20-cp38-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:3eb04b9c3deb13c3a375ea39fd4a3c00d1f92e8fb2349f25f1e3e4506751774b", size = 744388, upload-time = "2024-12-17T12:50:02.656Z" }, + { url = "https://files.pythonhosted.org/packages/18/67/c3de8022ba2719bdbbdd3704d1e32dbc7d3f8ac8646247711645fc90d051/nh3-0.2.20-cp38-abi3-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:92f3f1c4f47a2c6f3ca7317b1d5ced05bd29556a75d3a4e2715652ae9d15c05d", size = 764831, upload-time = "2024-12-17T12:50:05.09Z" }, + { url = "https://files.pythonhosted.org/packages/f0/14/a4ea40e2439717d11c3104fc2dc0ac412301b7aeb81d6a3d0e6505c77e7d/nh3-0.2.20-cp38-abi3-musllinux_1_2_aarch64.whl", hash = "sha256:ddefa9fd6794a87e37d05827d299d4b53a3ec6f23258101907b96029bfef138a", size = 923334, upload-time = "2024-12-17T12:50:06.666Z" }, + { url = "https://files.pythonhosted.org/packages/ed/ae/e8ee8afaf67903dd304f390056d1ea620327524e2ad66127a331b14d5d98/nh3-0.2.20-cp38-abi3-musllinux_1_2_armv7l.whl", hash = "sha256:ce3731c8f217685d33d9268362e5b4f770914e922bba94d368ab244a59a6c397", size = 994873, upload-time = "2024-12-17T12:50:08.159Z" }, + { url = "https://files.pythonhosted.org/packages/20/b5/02122cfe3b36cf0ba0fcd73a04fd462e1f7a9d91b456f6e0b70e46df21c7/nh3-0.2.20-cp38-abi3-musllinux_1_2_i686.whl", hash = "sha256:09f037c02fc2c43b211ff1523de32801dcfb0918648d8e651c36ef890f1731ec", size = 915707, upload-time = "2024-12-17T12:50:12.178Z" }, + { url = "https://files.pythonhosted.org/packages/47/d3/5df43cc3570cdc9eb1dc79a39191f89fedf8bcefd8d30a161ff1dffb146c/nh3-0.2.20-cp38-abi3-musllinux_1_2_x86_64.whl", hash = "sha256:813f1c8012dd64c990514b795508abb90789334f76a561fa0fd4ca32d2275330", size = 908539, upload-time = "2024-12-17T12:50:16.172Z" }, + { url = "https://files.pythonhosted.org/packages/4f/fd/aa000f6c76a832c488eac26f20d2e8a221ba2b965efce692f14ebc4290bf/nh3-0.2.20-cp38-abi3-win32.whl", hash = "sha256:47b2946c0e13057855209daeffb45dc910bd0c55daf10190bb0b4b60e2999784", size = 540439, upload-time = "2024-12-17T12:50:18.694Z" }, + { url = "https://files.pythonhosted.org/packages/19/31/d65594efd3b42b1de2335d576eb77525691fc320dbf8617948ee05c008e5/nh3-0.2.20-cp38-abi3-win_amd64.whl", hash = "sha256:da87573f03084edae8eb87cfe811ec338606288f81d333c07d2a9a0b9b976c0b", size = 541249, upload-time = "2024-12-17T12:50:20.004Z" }, ] [[package]] @@ -3096,9 +3096,9 @@ dependencies = [ { name = "notebook-shim" }, { name = "tornado" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/ea/04/ac488379d5afef43402b3fb4be2857db1a09804fecf98b9b714c741b225b/notebook-7.3.2.tar.gz", hash = "sha256:705e83a1785f45b383bf3ee13cb76680b92d24f56fb0c7d2136fe1d850cd3ca8", size = 12781804 } +sdist = { url = "https://files.pythonhosted.org/packages/ea/04/ac488379d5afef43402b3fb4be2857db1a09804fecf98b9b714c741b225b/notebook-7.3.2.tar.gz", hash = "sha256:705e83a1785f45b383bf3ee13cb76680b92d24f56fb0c7d2136fe1d850cd3ca8", size = 12781804, upload-time = "2024-12-21T08:40:20.857Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/22/9b/76e50ee18f183ea5fe1784a9eeaa50f2c71802e4740d6e959592b0993298/notebook-7.3.2-py3-none-any.whl", hash = "sha256:e5f85fc59b69d3618d73cf27544418193ff8e8058d5bf61d315ce4f473556288", size = 13163630 }, + { url = "https://files.pythonhosted.org/packages/22/9b/76e50ee18f183ea5fe1784a9eeaa50f2c71802e4740d6e959592b0993298/notebook-7.3.2-py3-none-any.whl", hash = "sha256:e5f85fc59b69d3618d73cf27544418193ff8e8058d5bf61d315ce4f473556288", size = 13163630, upload-time = "2024-12-21T08:40:14.762Z" }, ] [[package]] @@ -3109,9 +3109,9 @@ dependencies = [ { name = "jupyter-server", version = "2.14.2", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.9'" }, { name = "jupyter-server", version = "2.15.0", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.9'" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/54/d2/92fa3243712b9a3e8bafaf60aac366da1cada3639ca767ff4b5b3654ec28/notebook_shim-0.2.4.tar.gz", hash = "sha256:b4b2cfa1b65d98307ca24361f5b30fe785b53c3fd07b7a47e89acb5e6ac638cb", size = 13167 } +sdist = { url = "https://files.pythonhosted.org/packages/54/d2/92fa3243712b9a3e8bafaf60aac366da1cada3639ca767ff4b5b3654ec28/notebook_shim-0.2.4.tar.gz", hash = "sha256:b4b2cfa1b65d98307ca24361f5b30fe785b53c3fd07b7a47e89acb5e6ac638cb", size = 13167, upload-time = "2024-02-14T23:35:18.353Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/f9/33/bd5b9137445ea4b680023eb0469b2bb969d61303dedb2aac6560ff3d14a1/notebook_shim-0.2.4-py3-none-any.whl", hash = "sha256:411a5be4e9dc882a074ccbcae671eda64cceb068767e9a3419096986560e1cef", size = 13307 }, + { url = "https://files.pythonhosted.org/packages/f9/33/bd5b9137445ea4b680023eb0469b2bb969d61303dedb2aac6560ff3d14a1/notebook_shim-0.2.4-py3-none-any.whl", hash = "sha256:411a5be4e9dc882a074ccbcae671eda64cceb068767e9a3419096986560e1cef", size = 13307, upload-time = "2024-02-14T23:35:16.286Z" }, ] [[package]] @@ -3123,35 +3123,35 @@ resolution-markers = [ "python_full_version < '3.9' and platform_machine == 'aarch64' and sys_platform == 'linux'", "(python_full_version < '3.9' and platform_machine != 'arm64' and sys_platform == 'darwin') or (python_full_version < '3.9' and platform_machine != 'aarch64' and sys_platform == 'linux') or (python_full_version < '3.9' and sys_platform != 'darwin' and sys_platform != 'linux')", ] -sdist = { url = "https://files.pythonhosted.org/packages/a4/9b/027bec52c633f6556dba6b722d9a0befb40498b9ceddd29cbe67a45a127c/numpy-1.24.4.tar.gz", hash = "sha256:80f5e3a4e498641401868df4208b74581206afbee7cf7b8329daae82676d9463", size = 10911229 } -wheels = [ - { url = "https://files.pythonhosted.org/packages/6b/80/6cdfb3e275d95155a34659163b83c09e3a3ff9f1456880bec6cc63d71083/numpy-1.24.4-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:c0bfb52d2169d58c1cdb8cc1f16989101639b34c7d3ce60ed70b19c63eba0b64", size = 19789140 }, - { url = "https://files.pythonhosted.org/packages/64/5f/3f01d753e2175cfade1013eea08db99ba1ee4bdb147ebcf3623b75d12aa7/numpy-1.24.4-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:ed094d4f0c177b1b8e7aa9cba7d6ceed51c0e569a5318ac0ca9a090680a6a1b1", size = 13854297 }, - { url = "https://files.pythonhosted.org/packages/5a/b3/2f9c21d799fa07053ffa151faccdceeb69beec5a010576b8991f614021f7/numpy-1.24.4-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:79fc682a374c4a8ed08b331bef9c5f582585d1048fa6d80bc6c35bc384eee9b4", size = 13995611 }, - { url = "https://files.pythonhosted.org/packages/10/be/ae5bf4737cb79ba437879915791f6f26d92583c738d7d960ad94e5c36adf/numpy-1.24.4-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:7ffe43c74893dbf38c2b0a1f5428760a1a9c98285553c89e12d70a96a7f3a4d6", size = 17282357 }, - { url = "https://files.pythonhosted.org/packages/c0/64/908c1087be6285f40e4b3e79454552a701664a079321cff519d8c7051d06/numpy-1.24.4-cp310-cp310-win32.whl", hash = "sha256:4c21decb6ea94057331e111a5bed9a79d335658c27ce2adb580fb4d54f2ad9bc", size = 12429222 }, - { url = "https://files.pythonhosted.org/packages/22/55/3d5a7c1142e0d9329ad27cece17933b0e2ab4e54ddc5c1861fbfeb3f7693/numpy-1.24.4-cp310-cp310-win_amd64.whl", hash = "sha256:b4bea75e47d9586d31e892a7401f76e909712a0fd510f58f5337bea9572c571e", size = 14841514 }, - { url = "https://files.pythonhosted.org/packages/a9/cc/5ed2280a27e5dab12994c884f1f4d8c3bd4d885d02ae9e52a9d213a6a5e2/numpy-1.24.4-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:f136bab9c2cfd8da131132c2cf6cc27331dd6fae65f95f69dcd4ae3c3639c810", size = 19775508 }, - { url = "https://files.pythonhosted.org/packages/c0/bc/77635c657a3668cf652806210b8662e1aff84b818a55ba88257abf6637a8/numpy-1.24.4-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:e2926dac25b313635e4d6cf4dc4e51c8c0ebfed60b801c799ffc4c32bf3d1254", size = 13840033 }, - { url = "https://files.pythonhosted.org/packages/a7/4c/96cdaa34f54c05e97c1c50f39f98d608f96f0677a6589e64e53104e22904/numpy-1.24.4-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:222e40d0e2548690405b0b3c7b21d1169117391c2e82c378467ef9ab4c8f0da7", size = 13991951 }, - { url = "https://files.pythonhosted.org/packages/22/97/dfb1a31bb46686f09e68ea6ac5c63fdee0d22d7b23b8f3f7ea07712869ef/numpy-1.24.4-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:7215847ce88a85ce39baf9e89070cb860c98fdddacbaa6c0da3ffb31b3350bd5", size = 17278923 }, - { url = "https://files.pythonhosted.org/packages/35/e2/76a11e54139654a324d107da1d98f99e7aa2a7ef97cfd7c631fba7dbde71/numpy-1.24.4-cp311-cp311-win32.whl", hash = "sha256:4979217d7de511a8d57f4b4b5b2b965f707768440c17cb70fbf254c4b225238d", size = 12422446 }, - { url = "https://files.pythonhosted.org/packages/d8/ec/ebef2f7d7c28503f958f0f8b992e7ce606fb74f9e891199329d5f5f87404/numpy-1.24.4-cp311-cp311-win_amd64.whl", hash = "sha256:b7b1fc9864d7d39e28f41d089bfd6353cb5f27ecd9905348c24187a768c79694", size = 14834466 }, - { url = "https://files.pythonhosted.org/packages/11/10/943cfb579f1a02909ff96464c69893b1d25be3731b5d3652c2e0cf1281ea/numpy-1.24.4-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:1452241c290f3e2a312c137a9999cdbf63f78864d63c79039bda65ee86943f61", size = 19780722 }, - { url = "https://files.pythonhosted.org/packages/a7/ae/f53b7b265fdc701e663fbb322a8e9d4b14d9cb7b2385f45ddfabfc4327e4/numpy-1.24.4-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:04640dab83f7c6c85abf9cd729c5b65f1ebd0ccf9de90b270cd61935eef0197f", size = 13843102 }, - { url = "https://files.pythonhosted.org/packages/25/6f/2586a50ad72e8dbb1d8381f837008a0321a3516dfd7cb57fc8cf7e4bb06b/numpy-1.24.4-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a5425b114831d1e77e4b5d812b69d11d962e104095a5b9c3b641a218abcc050e", size = 14039616 }, - { url = "https://files.pythonhosted.org/packages/98/5d/5738903efe0ecb73e51eb44feafba32bdba2081263d40c5043568ff60faf/numpy-1.24.4-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:dd80e219fd4c71fc3699fc1dadac5dcf4fd882bfc6f7ec53d30fa197b8ee22dc", size = 17316263 }, - { url = "https://files.pythonhosted.org/packages/d1/57/8d328f0b91c733aa9aa7ee540dbc49b58796c862b4fbcb1146c701e888da/numpy-1.24.4-cp38-cp38-win32.whl", hash = "sha256:4602244f345453db537be5314d3983dbf5834a9701b7723ec28923e2889e0bb2", size = 12455660 }, - { url = "https://files.pythonhosted.org/packages/69/65/0d47953afa0ad569d12de5f65d964321c208492064c38fe3b0b9744f8d44/numpy-1.24.4-cp38-cp38-win_amd64.whl", hash = "sha256:692f2e0f55794943c5bfff12b3f56f99af76f902fc47487bdfe97856de51a706", size = 14868112 }, - { url = "https://files.pythonhosted.org/packages/9a/cd/d5b0402b801c8a8b56b04c1e85c6165efab298d2f0ab741c2406516ede3a/numpy-1.24.4-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:2541312fbf09977f3b3ad449c4e5f4bb55d0dbf79226d7724211acc905049400", size = 19816549 }, - { url = "https://files.pythonhosted.org/packages/14/27/638aaa446f39113a3ed38b37a66243e21b38110d021bfcb940c383e120f2/numpy-1.24.4-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:9667575fb6d13c95f1b36aca12c5ee3356bf001b714fc354eb5465ce1609e62f", size = 13879950 }, - { url = "https://files.pythonhosted.org/packages/8f/27/91894916e50627476cff1a4e4363ab6179d01077d71b9afed41d9e1f18bf/numpy-1.24.4-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:f3a86ed21e4f87050382c7bc96571755193c4c1392490744ac73d660e8f564a9", size = 14030228 }, - { url = "https://files.pythonhosted.org/packages/7a/7c/d7b2a0417af6428440c0ad7cb9799073e507b1a465f827d058b826236964/numpy-1.24.4-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:d11efb4dbecbdf22508d55e48d9c8384db795e1b7b51ea735289ff96613ff74d", size = 17311170 }, - { url = "https://files.pythonhosted.org/packages/18/9d/e02ace5d7dfccee796c37b995c63322674daf88ae2f4a4724c5dd0afcc91/numpy-1.24.4-cp39-cp39-win32.whl", hash = "sha256:6620c0acd41dbcb368610bb2f4d83145674040025e5536954782467100aa8835", size = 12454918 }, - { url = "https://files.pythonhosted.org/packages/63/38/6cc19d6b8bfa1d1a459daf2b3fe325453153ca7019976274b6f33d8b5663/numpy-1.24.4-cp39-cp39-win_amd64.whl", hash = "sha256:befe2bf740fd8373cf56149a5c23a0f601e82869598d41f8e188a0e9869926f8", size = 14867441 }, - { url = "https://files.pythonhosted.org/packages/a4/fd/8dff40e25e937c94257455c237b9b6bf5a30d42dd1cc11555533be099492/numpy-1.24.4-pp38-pypy38_pp73-macosx_10_9_x86_64.whl", hash = "sha256:31f13e25b4e304632a4619d0e0777662c2ffea99fcae2029556b17d8ff958aef", size = 19156590 }, - { url = "https://files.pythonhosted.org/packages/42/e7/4bf953c6e05df90c6d351af69966384fed8e988d0e8c54dad7103b59f3ba/numpy-1.24.4-pp38-pypy38_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:95f7ac6540e95bc440ad77f56e520da5bf877f87dca58bd095288dce8940532a", size = 16705744 }, - { url = "https://files.pythonhosted.org/packages/fc/dd/9106005eb477d022b60b3817ed5937a43dad8fd1f20b0610ea8a32fcb407/numpy-1.24.4-pp38-pypy38_pp73-win_amd64.whl", hash = "sha256:e98f220aa76ca2a977fe435f5b04d7b3470c0a2e6312907b37ba6068f26787f2", size = 14734290 }, +sdist = { url = "https://files.pythonhosted.org/packages/a4/9b/027bec52c633f6556dba6b722d9a0befb40498b9ceddd29cbe67a45a127c/numpy-1.24.4.tar.gz", hash = "sha256:80f5e3a4e498641401868df4208b74581206afbee7cf7b8329daae82676d9463", size = 10911229, upload-time = "2023-06-26T13:39:33.218Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/6b/80/6cdfb3e275d95155a34659163b83c09e3a3ff9f1456880bec6cc63d71083/numpy-1.24.4-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:c0bfb52d2169d58c1cdb8cc1f16989101639b34c7d3ce60ed70b19c63eba0b64", size = 19789140, upload-time = "2023-06-26T13:22:33.184Z" }, + { url = "https://files.pythonhosted.org/packages/64/5f/3f01d753e2175cfade1013eea08db99ba1ee4bdb147ebcf3623b75d12aa7/numpy-1.24.4-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:ed094d4f0c177b1b8e7aa9cba7d6ceed51c0e569a5318ac0ca9a090680a6a1b1", size = 13854297, upload-time = "2023-06-26T13:22:59.541Z" }, + { url = "https://files.pythonhosted.org/packages/5a/b3/2f9c21d799fa07053ffa151faccdceeb69beec5a010576b8991f614021f7/numpy-1.24.4-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:79fc682a374c4a8ed08b331bef9c5f582585d1048fa6d80bc6c35bc384eee9b4", size = 13995611, upload-time = "2023-06-26T13:23:22.167Z" }, + { url = "https://files.pythonhosted.org/packages/10/be/ae5bf4737cb79ba437879915791f6f26d92583c738d7d960ad94e5c36adf/numpy-1.24.4-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:7ffe43c74893dbf38c2b0a1f5428760a1a9c98285553c89e12d70a96a7f3a4d6", size = 17282357, upload-time = "2023-06-26T13:23:51.446Z" }, + { url = "https://files.pythonhosted.org/packages/c0/64/908c1087be6285f40e4b3e79454552a701664a079321cff519d8c7051d06/numpy-1.24.4-cp310-cp310-win32.whl", hash = "sha256:4c21decb6ea94057331e111a5bed9a79d335658c27ce2adb580fb4d54f2ad9bc", size = 12429222, upload-time = "2023-06-26T13:24:13.849Z" }, + { url = "https://files.pythonhosted.org/packages/22/55/3d5a7c1142e0d9329ad27cece17933b0e2ab4e54ddc5c1861fbfeb3f7693/numpy-1.24.4-cp310-cp310-win_amd64.whl", hash = "sha256:b4bea75e47d9586d31e892a7401f76e909712a0fd510f58f5337bea9572c571e", size = 14841514, upload-time = "2023-06-26T13:24:38.129Z" }, + { url = "https://files.pythonhosted.org/packages/a9/cc/5ed2280a27e5dab12994c884f1f4d8c3bd4d885d02ae9e52a9d213a6a5e2/numpy-1.24.4-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:f136bab9c2cfd8da131132c2cf6cc27331dd6fae65f95f69dcd4ae3c3639c810", size = 19775508, upload-time = "2023-06-26T13:25:08.882Z" }, + { url = "https://files.pythonhosted.org/packages/c0/bc/77635c657a3668cf652806210b8662e1aff84b818a55ba88257abf6637a8/numpy-1.24.4-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:e2926dac25b313635e4d6cf4dc4e51c8c0ebfed60b801c799ffc4c32bf3d1254", size = 13840033, upload-time = "2023-06-26T13:25:33.417Z" }, + { url = "https://files.pythonhosted.org/packages/a7/4c/96cdaa34f54c05e97c1c50f39f98d608f96f0677a6589e64e53104e22904/numpy-1.24.4-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:222e40d0e2548690405b0b3c7b21d1169117391c2e82c378467ef9ab4c8f0da7", size = 13991951, upload-time = "2023-06-26T13:25:55.725Z" }, + { url = "https://files.pythonhosted.org/packages/22/97/dfb1a31bb46686f09e68ea6ac5c63fdee0d22d7b23b8f3f7ea07712869ef/numpy-1.24.4-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:7215847ce88a85ce39baf9e89070cb860c98fdddacbaa6c0da3ffb31b3350bd5", size = 17278923, upload-time = "2023-06-26T13:26:25.658Z" }, + { url = "https://files.pythonhosted.org/packages/35/e2/76a11e54139654a324d107da1d98f99e7aa2a7ef97cfd7c631fba7dbde71/numpy-1.24.4-cp311-cp311-win32.whl", hash = "sha256:4979217d7de511a8d57f4b4b5b2b965f707768440c17cb70fbf254c4b225238d", size = 12422446, upload-time = "2023-06-26T13:26:49.302Z" }, + { url = "https://files.pythonhosted.org/packages/d8/ec/ebef2f7d7c28503f958f0f8b992e7ce606fb74f9e891199329d5f5f87404/numpy-1.24.4-cp311-cp311-win_amd64.whl", hash = "sha256:b7b1fc9864d7d39e28f41d089bfd6353cb5f27ecd9905348c24187a768c79694", size = 14834466, upload-time = "2023-06-26T13:27:16.029Z" }, + { url = "https://files.pythonhosted.org/packages/11/10/943cfb579f1a02909ff96464c69893b1d25be3731b5d3652c2e0cf1281ea/numpy-1.24.4-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:1452241c290f3e2a312c137a9999cdbf63f78864d63c79039bda65ee86943f61", size = 19780722, upload-time = "2023-06-26T13:27:49.573Z" }, + { url = "https://files.pythonhosted.org/packages/a7/ae/f53b7b265fdc701e663fbb322a8e9d4b14d9cb7b2385f45ddfabfc4327e4/numpy-1.24.4-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:04640dab83f7c6c85abf9cd729c5b65f1ebd0ccf9de90b270cd61935eef0197f", size = 13843102, upload-time = "2023-06-26T13:28:12.288Z" }, + { url = "https://files.pythonhosted.org/packages/25/6f/2586a50ad72e8dbb1d8381f837008a0321a3516dfd7cb57fc8cf7e4bb06b/numpy-1.24.4-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a5425b114831d1e77e4b5d812b69d11d962e104095a5b9c3b641a218abcc050e", size = 14039616, upload-time = "2023-06-26T13:28:35.659Z" }, + { url = "https://files.pythonhosted.org/packages/98/5d/5738903efe0ecb73e51eb44feafba32bdba2081263d40c5043568ff60faf/numpy-1.24.4-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:dd80e219fd4c71fc3699fc1dadac5dcf4fd882bfc6f7ec53d30fa197b8ee22dc", size = 17316263, upload-time = "2023-06-26T13:29:09.272Z" }, + { url = "https://files.pythonhosted.org/packages/d1/57/8d328f0b91c733aa9aa7ee540dbc49b58796c862b4fbcb1146c701e888da/numpy-1.24.4-cp38-cp38-win32.whl", hash = "sha256:4602244f345453db537be5314d3983dbf5834a9701b7723ec28923e2889e0bb2", size = 12455660, upload-time = "2023-06-26T13:29:33.434Z" }, + { url = "https://files.pythonhosted.org/packages/69/65/0d47953afa0ad569d12de5f65d964321c208492064c38fe3b0b9744f8d44/numpy-1.24.4-cp38-cp38-win_amd64.whl", hash = "sha256:692f2e0f55794943c5bfff12b3f56f99af76f902fc47487bdfe97856de51a706", size = 14868112, upload-time = "2023-06-26T13:29:58.385Z" }, + { url = "https://files.pythonhosted.org/packages/9a/cd/d5b0402b801c8a8b56b04c1e85c6165efab298d2f0ab741c2406516ede3a/numpy-1.24.4-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:2541312fbf09977f3b3ad449c4e5f4bb55d0dbf79226d7724211acc905049400", size = 19816549, upload-time = "2023-06-26T13:30:36.976Z" }, + { url = "https://files.pythonhosted.org/packages/14/27/638aaa446f39113a3ed38b37a66243e21b38110d021bfcb940c383e120f2/numpy-1.24.4-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:9667575fb6d13c95f1b36aca12c5ee3356bf001b714fc354eb5465ce1609e62f", size = 13879950, upload-time = "2023-06-26T13:31:01.787Z" }, + { url = "https://files.pythonhosted.org/packages/8f/27/91894916e50627476cff1a4e4363ab6179d01077d71b9afed41d9e1f18bf/numpy-1.24.4-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:f3a86ed21e4f87050382c7bc96571755193c4c1392490744ac73d660e8f564a9", size = 14030228, upload-time = "2023-06-26T13:31:26.696Z" }, + { url = "https://files.pythonhosted.org/packages/7a/7c/d7b2a0417af6428440c0ad7cb9799073e507b1a465f827d058b826236964/numpy-1.24.4-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:d11efb4dbecbdf22508d55e48d9c8384db795e1b7b51ea735289ff96613ff74d", size = 17311170, upload-time = "2023-06-26T13:31:56.615Z" }, + { url = "https://files.pythonhosted.org/packages/18/9d/e02ace5d7dfccee796c37b995c63322674daf88ae2f4a4724c5dd0afcc91/numpy-1.24.4-cp39-cp39-win32.whl", hash = "sha256:6620c0acd41dbcb368610bb2f4d83145674040025e5536954782467100aa8835", size = 12454918, upload-time = "2023-06-26T13:32:16.8Z" }, + { url = "https://files.pythonhosted.org/packages/63/38/6cc19d6b8bfa1d1a459daf2b3fe325453153ca7019976274b6f33d8b5663/numpy-1.24.4-cp39-cp39-win_amd64.whl", hash = "sha256:befe2bf740fd8373cf56149a5c23a0f601e82869598d41f8e188a0e9869926f8", size = 14867441, upload-time = "2023-06-26T13:32:40.521Z" }, + { url = "https://files.pythonhosted.org/packages/a4/fd/8dff40e25e937c94257455c237b9b6bf5a30d42dd1cc11555533be099492/numpy-1.24.4-pp38-pypy38_pp73-macosx_10_9_x86_64.whl", hash = "sha256:31f13e25b4e304632a4619d0e0777662c2ffea99fcae2029556b17d8ff958aef", size = 19156590, upload-time = "2023-06-26T13:33:10.36Z" }, + { url = "https://files.pythonhosted.org/packages/42/e7/4bf953c6e05df90c6d351af69966384fed8e988d0e8c54dad7103b59f3ba/numpy-1.24.4-pp38-pypy38_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:95f7ac6540e95bc440ad77f56e520da5bf877f87dca58bd095288dce8940532a", size = 16705744, upload-time = "2023-06-26T13:33:36.703Z" }, + { url = "https://files.pythonhosted.org/packages/fc/dd/9106005eb477d022b60b3817ed5937a43dad8fd1f20b0610ea8a32fcb407/numpy-1.24.4-pp38-pypy38_pp73-win_amd64.whl", hash = "sha256:e98f220aa76ca2a977fe435f5b04d7b3470c0a2e6312907b37ba6068f26787f2", size = 14734290, upload-time = "2023-06-26T13:34:05.409Z" }, ] [[package]] @@ -3163,52 +3163,52 @@ resolution-markers = [ "python_full_version == '3.9.*' and platform_machine == 'aarch64' and sys_platform == 'linux'", "(python_full_version == '3.9.*' and platform_machine != 'arm64' and sys_platform == 'darwin') or (python_full_version == '3.9.*' and platform_machine != 'aarch64' and sys_platform == 'linux') or (python_full_version == '3.9.*' and sys_platform != 'darwin' and sys_platform != 'linux')", ] -sdist = { url = "https://files.pythonhosted.org/packages/a9/75/10dd1f8116a8b796cb2c737b674e02d02e80454bda953fa7e65d8c12b016/numpy-2.0.2.tar.gz", hash = "sha256:883c987dee1880e2a864ab0dc9892292582510604156762362d9326444636e78", size = 18902015 } -wheels = [ - { url = "https://files.pythonhosted.org/packages/21/91/3495b3237510f79f5d81f2508f9f13fea78ebfdf07538fc7444badda173d/numpy-2.0.2-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:51129a29dbe56f9ca83438b706e2e69a39892b5eda6cedcb6b0c9fdc9b0d3ece", size = 21165245 }, - { url = "https://files.pythonhosted.org/packages/05/33/26178c7d437a87082d11019292dce6d3fe6f0e9026b7b2309cbf3e489b1d/numpy-2.0.2-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:f15975dfec0cf2239224d80e32c3170b1d168335eaedee69da84fbe9f1f9cd04", size = 13738540 }, - { url = "https://files.pythonhosted.org/packages/ec/31/cc46e13bf07644efc7a4bf68df2df5fb2a1a88d0cd0da9ddc84dc0033e51/numpy-2.0.2-cp310-cp310-macosx_14_0_arm64.whl", hash = "sha256:8c5713284ce4e282544c68d1c3b2c7161d38c256d2eefc93c1d683cf47683e66", size = 5300623 }, - { url = "https://files.pythonhosted.org/packages/6e/16/7bfcebf27bb4f9d7ec67332ffebee4d1bf085c84246552d52dbb548600e7/numpy-2.0.2-cp310-cp310-macosx_14_0_x86_64.whl", hash = "sha256:becfae3ddd30736fe1889a37f1f580e245ba79a5855bff5f2a29cb3ccc22dd7b", size = 6901774 }, - { url = "https://files.pythonhosted.org/packages/f9/a3/561c531c0e8bf082c5bef509d00d56f82e0ea7e1e3e3a7fc8fa78742a6e5/numpy-2.0.2-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:2da5960c3cf0df7eafefd806d4e612c5e19358de82cb3c343631188991566ccd", size = 13907081 }, - { url = "https://files.pythonhosted.org/packages/fa/66/f7177ab331876200ac7563a580140643d1179c8b4b6a6b0fc9838de2a9b8/numpy-2.0.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:496f71341824ed9f3d2fd36cf3ac57ae2e0165c143b55c3a035ee219413f3318", size = 19523451 }, - { url = "https://files.pythonhosted.org/packages/25/7f/0b209498009ad6453e4efc2c65bcdf0ae08a182b2b7877d7ab38a92dc542/numpy-2.0.2-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:a61ec659f68ae254e4d237816e33171497e978140353c0c2038d46e63282d0c8", size = 19927572 }, - { url = "https://files.pythonhosted.org/packages/3e/df/2619393b1e1b565cd2d4c4403bdd979621e2c4dea1f8532754b2598ed63b/numpy-2.0.2-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:d731a1c6116ba289c1e9ee714b08a8ff882944d4ad631fd411106a30f083c326", size = 14400722 }, - { url = "https://files.pythonhosted.org/packages/22/ad/77e921b9f256d5da36424ffb711ae79ca3f451ff8489eeca544d0701d74a/numpy-2.0.2-cp310-cp310-win32.whl", hash = "sha256:984d96121c9f9616cd33fbd0618b7f08e0cfc9600a7ee1d6fd9b239186d19d97", size = 6472170 }, - { url = "https://files.pythonhosted.org/packages/10/05/3442317535028bc29cf0c0dd4c191a4481e8376e9f0db6bcf29703cadae6/numpy-2.0.2-cp310-cp310-win_amd64.whl", hash = "sha256:c7b0be4ef08607dd04da4092faee0b86607f111d5ae68036f16cc787e250a131", size = 15905558 }, - { url = "https://files.pythonhosted.org/packages/8b/cf/034500fb83041aa0286e0fb16e7c76e5c8b67c0711bb6e9e9737a717d5fe/numpy-2.0.2-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:49ca4decb342d66018b01932139c0961a8f9ddc7589611158cb3c27cbcf76448", size = 21169137 }, - { url = "https://files.pythonhosted.org/packages/4a/d9/32de45561811a4b87fbdee23b5797394e3d1504b4a7cf40c10199848893e/numpy-2.0.2-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:11a76c372d1d37437857280aa142086476136a8c0f373b2e648ab2c8f18fb195", size = 13703552 }, - { url = "https://files.pythonhosted.org/packages/c1/ca/2f384720020c7b244d22508cb7ab23d95f179fcfff33c31a6eeba8d6c512/numpy-2.0.2-cp311-cp311-macosx_14_0_arm64.whl", hash = "sha256:807ec44583fd708a21d4a11d94aedf2f4f3c3719035c76a2bbe1fe8e217bdc57", size = 5298957 }, - { url = "https://files.pythonhosted.org/packages/0e/78/a3e4f9fb6aa4e6fdca0c5428e8ba039408514388cf62d89651aade838269/numpy-2.0.2-cp311-cp311-macosx_14_0_x86_64.whl", hash = "sha256:8cafab480740e22f8d833acefed5cc87ce276f4ece12fdaa2e8903db2f82897a", size = 6905573 }, - { url = "https://files.pythonhosted.org/packages/a0/72/cfc3a1beb2caf4efc9d0b38a15fe34025230da27e1c08cc2eb9bfb1c7231/numpy-2.0.2-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a15f476a45e6e5a3a79d8a14e62161d27ad897381fecfa4a09ed5322f2085669", size = 13914330 }, - { url = "https://files.pythonhosted.org/packages/ba/a8/c17acf65a931ce551fee11b72e8de63bf7e8a6f0e21add4c937c83563538/numpy-2.0.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:13e689d772146140a252c3a28501da66dfecd77490b498b168b501835041f951", size = 19534895 }, - { url = "https://files.pythonhosted.org/packages/ba/86/8767f3d54f6ae0165749f84648da9dcc8cd78ab65d415494962c86fac80f/numpy-2.0.2-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:9ea91dfb7c3d1c56a0e55657c0afb38cf1eeae4544c208dc465c3c9f3a7c09f9", size = 19937253 }, - { url = "https://files.pythonhosted.org/packages/df/87/f76450e6e1c14e5bb1eae6836478b1028e096fd02e85c1c37674606ab752/numpy-2.0.2-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:c1c9307701fec8f3f7a1e6711f9089c06e6284b3afbbcd259f7791282d660a15", size = 14414074 }, - { url = "https://files.pythonhosted.org/packages/5c/ca/0f0f328e1e59f73754f06e1adfb909de43726d4f24c6a3f8805f34f2b0fa/numpy-2.0.2-cp311-cp311-win32.whl", hash = "sha256:a392a68bd329eafac5817e5aefeb39038c48b671afd242710b451e76090e81f4", size = 6470640 }, - { url = "https://files.pythonhosted.org/packages/eb/57/3a3f14d3a759dcf9bf6e9eda905794726b758819df4663f217d658a58695/numpy-2.0.2-cp311-cp311-win_amd64.whl", hash = "sha256:286cd40ce2b7d652a6f22efdfc6d1edf879440e53e76a75955bc0c826c7e64dc", size = 15910230 }, - { url = "https://files.pythonhosted.org/packages/45/40/2e117be60ec50d98fa08c2f8c48e09b3edea93cfcabd5a9ff6925d54b1c2/numpy-2.0.2-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:df55d490dea7934f330006d0f81e8551ba6010a5bf035a249ef61a94f21c500b", size = 20895803 }, - { url = "https://files.pythonhosted.org/packages/46/92/1b8b8dee833f53cef3e0a3f69b2374467789e0bb7399689582314df02651/numpy-2.0.2-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:8df823f570d9adf0978347d1f926b2a867d5608f434a7cff7f7908c6570dcf5e", size = 13471835 }, - { url = "https://files.pythonhosted.org/packages/7f/19/e2793bde475f1edaea6945be141aef6c8b4c669b90c90a300a8954d08f0a/numpy-2.0.2-cp312-cp312-macosx_14_0_arm64.whl", hash = "sha256:9a92ae5c14811e390f3767053ff54eaee3bf84576d99a2456391401323f4ec2c", size = 5038499 }, - { url = "https://files.pythonhosted.org/packages/e3/ff/ddf6dac2ff0dd50a7327bcdba45cb0264d0e96bb44d33324853f781a8f3c/numpy-2.0.2-cp312-cp312-macosx_14_0_x86_64.whl", hash = "sha256:a842d573724391493a97a62ebbb8e731f8a5dcc5d285dfc99141ca15a3302d0c", size = 6633497 }, - { url = "https://files.pythonhosted.org/packages/72/21/67f36eac8e2d2cd652a2e69595a54128297cdcb1ff3931cfc87838874bd4/numpy-2.0.2-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:c05e238064fc0610c840d1cf6a13bf63d7e391717d247f1bf0318172e759e692", size = 13621158 }, - { url = "https://files.pythonhosted.org/packages/39/68/e9f1126d757653496dbc096cb429014347a36b228f5a991dae2c6b6cfd40/numpy-2.0.2-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:0123ffdaa88fa4ab64835dcbde75dcdf89c453c922f18dced6e27c90d1d0ec5a", size = 19236173 }, - { url = "https://files.pythonhosted.org/packages/d1/e9/1f5333281e4ebf483ba1c888b1d61ba7e78d7e910fdd8e6499667041cc35/numpy-2.0.2-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:96a55f64139912d61de9137f11bf39a55ec8faec288c75a54f93dfd39f7eb40c", size = 19634174 }, - { url = "https://files.pythonhosted.org/packages/71/af/a469674070c8d8408384e3012e064299f7a2de540738a8e414dcfd639996/numpy-2.0.2-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:ec9852fb39354b5a45a80bdab5ac02dd02b15f44b3804e9f00c556bf24b4bded", size = 14099701 }, - { url = "https://files.pythonhosted.org/packages/d0/3d/08ea9f239d0e0e939b6ca52ad403c84a2bce1bde301a8eb4888c1c1543f1/numpy-2.0.2-cp312-cp312-win32.whl", hash = "sha256:671bec6496f83202ed2d3c8fdc486a8fc86942f2e69ff0e986140339a63bcbe5", size = 6174313 }, - { url = "https://files.pythonhosted.org/packages/b2/b5/4ac39baebf1fdb2e72585c8352c56d063b6126be9fc95bd2bb5ef5770c20/numpy-2.0.2-cp312-cp312-win_amd64.whl", hash = "sha256:cfd41e13fdc257aa5778496b8caa5e856dc4896d4ccf01841daee1d96465467a", size = 15606179 }, - { url = "https://files.pythonhosted.org/packages/43/c1/41c8f6df3162b0c6ffd4437d729115704bd43363de0090c7f913cfbc2d89/numpy-2.0.2-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:9059e10581ce4093f735ed23f3b9d283b9d517ff46009ddd485f1747eb22653c", size = 21169942 }, - { url = "https://files.pythonhosted.org/packages/39/bc/fd298f308dcd232b56a4031fd6ddf11c43f9917fbc937e53762f7b5a3bb1/numpy-2.0.2-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:423e89b23490805d2a5a96fe40ec507407b8ee786d66f7328be214f9679df6dd", size = 13711512 }, - { url = "https://files.pythonhosted.org/packages/96/ff/06d1aa3eeb1c614eda245c1ba4fb88c483bee6520d361641331872ac4b82/numpy-2.0.2-cp39-cp39-macosx_14_0_arm64.whl", hash = "sha256:2b2955fa6f11907cf7a70dab0d0755159bca87755e831e47932367fc8f2f2d0b", size = 5306976 }, - { url = "https://files.pythonhosted.org/packages/2d/98/121996dcfb10a6087a05e54453e28e58694a7db62c5a5a29cee14c6e047b/numpy-2.0.2-cp39-cp39-macosx_14_0_x86_64.whl", hash = "sha256:97032a27bd9d8988b9a97a8c4d2c9f2c15a81f61e2f21404d7e8ef00cb5be729", size = 6906494 }, - { url = "https://files.pythonhosted.org/packages/15/31/9dffc70da6b9bbf7968f6551967fc21156207366272c2a40b4ed6008dc9b/numpy-2.0.2-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:1e795a8be3ddbac43274f18588329c72939870a16cae810c2b73461c40718ab1", size = 13912596 }, - { url = "https://files.pythonhosted.org/packages/b9/14/78635daab4b07c0930c919d451b8bf8c164774e6a3413aed04a6d95758ce/numpy-2.0.2-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f26b258c385842546006213344c50655ff1555a9338e2e5e02a0756dc3e803dd", size = 19526099 }, - { url = "https://files.pythonhosted.org/packages/26/4c/0eeca4614003077f68bfe7aac8b7496f04221865b3a5e7cb230c9d055afd/numpy-2.0.2-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:5fec9451a7789926bcf7c2b8d187292c9f93ea30284802a0ab3f5be8ab36865d", size = 19932823 }, - { url = "https://files.pythonhosted.org/packages/f1/46/ea25b98b13dccaebddf1a803f8c748680d972e00507cd9bc6dcdb5aa2ac1/numpy-2.0.2-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:9189427407d88ff25ecf8f12469d4d39d35bee1db5d39fc5c168c6f088a6956d", size = 14404424 }, - { url = "https://files.pythonhosted.org/packages/c8/a6/177dd88d95ecf07e722d21008b1b40e681a929eb9e329684d449c36586b2/numpy-2.0.2-cp39-cp39-win32.whl", hash = "sha256:905d16e0c60200656500c95b6b8dca5d109e23cb24abc701d41c02d74c6b3afa", size = 6476809 }, - { url = "https://files.pythonhosted.org/packages/ea/2b/7fc9f4e7ae5b507c1a3a21f0f15ed03e794c1242ea8a242ac158beb56034/numpy-2.0.2-cp39-cp39-win_amd64.whl", hash = "sha256:a3f4ab0caa7f053f6797fcd4e1e25caee367db3112ef2b6ef82d749530768c73", size = 15911314 }, - { url = "https://files.pythonhosted.org/packages/8f/3b/df5a870ac6a3be3a86856ce195ef42eec7ae50d2a202be1f5a4b3b340e14/numpy-2.0.2-pp39-pypy39_pp73-macosx_10_9_x86_64.whl", hash = "sha256:7f0a0c6f12e07fa94133c8a67404322845220c06a9e80e85999afe727f7438b8", size = 21025288 }, - { url = "https://files.pythonhosted.org/packages/2c/97/51af92f18d6f6f2d9ad8b482a99fb74e142d71372da5d834b3a2747a446e/numpy-2.0.2-pp39-pypy39_pp73-macosx_14_0_x86_64.whl", hash = "sha256:312950fdd060354350ed123c0e25a71327d3711584beaef30cdaa93320c392d4", size = 6762793 }, - { url = "https://files.pythonhosted.org/packages/12/46/de1fbd0c1b5ccaa7f9a005b66761533e2f6a3e560096682683a223631fe9/numpy-2.0.2-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:26df23238872200f63518dd2aa984cfca675d82469535dc7162dc2ee52d9dd5c", size = 19334885 }, - { url = "https://files.pythonhosted.org/packages/cc/dc/d330a6faefd92b446ec0f0dfea4c3207bb1fef3c4771d19cf4543efd2c78/numpy-2.0.2-pp39-pypy39_pp73-win_amd64.whl", hash = "sha256:a46288ec55ebbd58947d31d72be2c63cbf839f0a63b49cb755022310792a3385", size = 15828784 }, +sdist = { url = "https://files.pythonhosted.org/packages/a9/75/10dd1f8116a8b796cb2c737b674e02d02e80454bda953fa7e65d8c12b016/numpy-2.0.2.tar.gz", hash = "sha256:883c987dee1880e2a864ab0dc9892292582510604156762362d9326444636e78", size = 18902015, upload-time = "2024-08-26T20:19:40.945Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/21/91/3495b3237510f79f5d81f2508f9f13fea78ebfdf07538fc7444badda173d/numpy-2.0.2-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:51129a29dbe56f9ca83438b706e2e69a39892b5eda6cedcb6b0c9fdc9b0d3ece", size = 21165245, upload-time = "2024-08-26T20:04:14.625Z" }, + { url = "https://files.pythonhosted.org/packages/05/33/26178c7d437a87082d11019292dce6d3fe6f0e9026b7b2309cbf3e489b1d/numpy-2.0.2-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:f15975dfec0cf2239224d80e32c3170b1d168335eaedee69da84fbe9f1f9cd04", size = 13738540, upload-time = "2024-08-26T20:04:36.784Z" }, + { url = "https://files.pythonhosted.org/packages/ec/31/cc46e13bf07644efc7a4bf68df2df5fb2a1a88d0cd0da9ddc84dc0033e51/numpy-2.0.2-cp310-cp310-macosx_14_0_arm64.whl", hash = "sha256:8c5713284ce4e282544c68d1c3b2c7161d38c256d2eefc93c1d683cf47683e66", size = 5300623, upload-time = "2024-08-26T20:04:46.491Z" }, + { url = "https://files.pythonhosted.org/packages/6e/16/7bfcebf27bb4f9d7ec67332ffebee4d1bf085c84246552d52dbb548600e7/numpy-2.0.2-cp310-cp310-macosx_14_0_x86_64.whl", hash = "sha256:becfae3ddd30736fe1889a37f1f580e245ba79a5855bff5f2a29cb3ccc22dd7b", size = 6901774, upload-time = "2024-08-26T20:04:58.173Z" }, + { url = "https://files.pythonhosted.org/packages/f9/a3/561c531c0e8bf082c5bef509d00d56f82e0ea7e1e3e3a7fc8fa78742a6e5/numpy-2.0.2-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:2da5960c3cf0df7eafefd806d4e612c5e19358de82cb3c343631188991566ccd", size = 13907081, upload-time = "2024-08-26T20:05:19.098Z" }, + { url = "https://files.pythonhosted.org/packages/fa/66/f7177ab331876200ac7563a580140643d1179c8b4b6a6b0fc9838de2a9b8/numpy-2.0.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:496f71341824ed9f3d2fd36cf3ac57ae2e0165c143b55c3a035ee219413f3318", size = 19523451, upload-time = "2024-08-26T20:05:47.479Z" }, + { url = "https://files.pythonhosted.org/packages/25/7f/0b209498009ad6453e4efc2c65bcdf0ae08a182b2b7877d7ab38a92dc542/numpy-2.0.2-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:a61ec659f68ae254e4d237816e33171497e978140353c0c2038d46e63282d0c8", size = 19927572, upload-time = "2024-08-26T20:06:17.137Z" }, + { url = "https://files.pythonhosted.org/packages/3e/df/2619393b1e1b565cd2d4c4403bdd979621e2c4dea1f8532754b2598ed63b/numpy-2.0.2-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:d731a1c6116ba289c1e9ee714b08a8ff882944d4ad631fd411106a30f083c326", size = 14400722, upload-time = "2024-08-26T20:06:39.16Z" }, + { url = "https://files.pythonhosted.org/packages/22/ad/77e921b9f256d5da36424ffb711ae79ca3f451ff8489eeca544d0701d74a/numpy-2.0.2-cp310-cp310-win32.whl", hash = "sha256:984d96121c9f9616cd33fbd0618b7f08e0cfc9600a7ee1d6fd9b239186d19d97", size = 6472170, upload-time = "2024-08-26T20:06:50.361Z" }, + { url = "https://files.pythonhosted.org/packages/10/05/3442317535028bc29cf0c0dd4c191a4481e8376e9f0db6bcf29703cadae6/numpy-2.0.2-cp310-cp310-win_amd64.whl", hash = "sha256:c7b0be4ef08607dd04da4092faee0b86607f111d5ae68036f16cc787e250a131", size = 15905558, upload-time = "2024-08-26T20:07:13.881Z" }, + { url = "https://files.pythonhosted.org/packages/8b/cf/034500fb83041aa0286e0fb16e7c76e5c8b67c0711bb6e9e9737a717d5fe/numpy-2.0.2-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:49ca4decb342d66018b01932139c0961a8f9ddc7589611158cb3c27cbcf76448", size = 21169137, upload-time = "2024-08-26T20:07:45.345Z" }, + { url = "https://files.pythonhosted.org/packages/4a/d9/32de45561811a4b87fbdee23b5797394e3d1504b4a7cf40c10199848893e/numpy-2.0.2-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:11a76c372d1d37437857280aa142086476136a8c0f373b2e648ab2c8f18fb195", size = 13703552, upload-time = "2024-08-26T20:08:06.666Z" }, + { url = "https://files.pythonhosted.org/packages/c1/ca/2f384720020c7b244d22508cb7ab23d95f179fcfff33c31a6eeba8d6c512/numpy-2.0.2-cp311-cp311-macosx_14_0_arm64.whl", hash = "sha256:807ec44583fd708a21d4a11d94aedf2f4f3c3719035c76a2bbe1fe8e217bdc57", size = 5298957, upload-time = "2024-08-26T20:08:15.83Z" }, + { url = "https://files.pythonhosted.org/packages/0e/78/a3e4f9fb6aa4e6fdca0c5428e8ba039408514388cf62d89651aade838269/numpy-2.0.2-cp311-cp311-macosx_14_0_x86_64.whl", hash = "sha256:8cafab480740e22f8d833acefed5cc87ce276f4ece12fdaa2e8903db2f82897a", size = 6905573, upload-time = "2024-08-26T20:08:27.185Z" }, + { url = "https://files.pythonhosted.org/packages/a0/72/cfc3a1beb2caf4efc9d0b38a15fe34025230da27e1c08cc2eb9bfb1c7231/numpy-2.0.2-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a15f476a45e6e5a3a79d8a14e62161d27ad897381fecfa4a09ed5322f2085669", size = 13914330, upload-time = "2024-08-26T20:08:48.058Z" }, + { url = "https://files.pythonhosted.org/packages/ba/a8/c17acf65a931ce551fee11b72e8de63bf7e8a6f0e21add4c937c83563538/numpy-2.0.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:13e689d772146140a252c3a28501da66dfecd77490b498b168b501835041f951", size = 19534895, upload-time = "2024-08-26T20:09:16.536Z" }, + { url = "https://files.pythonhosted.org/packages/ba/86/8767f3d54f6ae0165749f84648da9dcc8cd78ab65d415494962c86fac80f/numpy-2.0.2-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:9ea91dfb7c3d1c56a0e55657c0afb38cf1eeae4544c208dc465c3c9f3a7c09f9", size = 19937253, upload-time = "2024-08-26T20:09:46.263Z" }, + { url = "https://files.pythonhosted.org/packages/df/87/f76450e6e1c14e5bb1eae6836478b1028e096fd02e85c1c37674606ab752/numpy-2.0.2-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:c1c9307701fec8f3f7a1e6711f9089c06e6284b3afbbcd259f7791282d660a15", size = 14414074, upload-time = "2024-08-26T20:10:08.483Z" }, + { url = "https://files.pythonhosted.org/packages/5c/ca/0f0f328e1e59f73754f06e1adfb909de43726d4f24c6a3f8805f34f2b0fa/numpy-2.0.2-cp311-cp311-win32.whl", hash = "sha256:a392a68bd329eafac5817e5aefeb39038c48b671afd242710b451e76090e81f4", size = 6470640, upload-time = "2024-08-26T20:10:19.732Z" }, + { url = "https://files.pythonhosted.org/packages/eb/57/3a3f14d3a759dcf9bf6e9eda905794726b758819df4663f217d658a58695/numpy-2.0.2-cp311-cp311-win_amd64.whl", hash = "sha256:286cd40ce2b7d652a6f22efdfc6d1edf879440e53e76a75955bc0c826c7e64dc", size = 15910230, upload-time = "2024-08-26T20:10:43.413Z" }, + { url = "https://files.pythonhosted.org/packages/45/40/2e117be60ec50d98fa08c2f8c48e09b3edea93cfcabd5a9ff6925d54b1c2/numpy-2.0.2-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:df55d490dea7934f330006d0f81e8551ba6010a5bf035a249ef61a94f21c500b", size = 20895803, upload-time = "2024-08-26T20:11:13.916Z" }, + { url = "https://files.pythonhosted.org/packages/46/92/1b8b8dee833f53cef3e0a3f69b2374467789e0bb7399689582314df02651/numpy-2.0.2-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:8df823f570d9adf0978347d1f926b2a867d5608f434a7cff7f7908c6570dcf5e", size = 13471835, upload-time = "2024-08-26T20:11:34.779Z" }, + { url = "https://files.pythonhosted.org/packages/7f/19/e2793bde475f1edaea6945be141aef6c8b4c669b90c90a300a8954d08f0a/numpy-2.0.2-cp312-cp312-macosx_14_0_arm64.whl", hash = "sha256:9a92ae5c14811e390f3767053ff54eaee3bf84576d99a2456391401323f4ec2c", size = 5038499, upload-time = "2024-08-26T20:11:43.902Z" }, + { url = "https://files.pythonhosted.org/packages/e3/ff/ddf6dac2ff0dd50a7327bcdba45cb0264d0e96bb44d33324853f781a8f3c/numpy-2.0.2-cp312-cp312-macosx_14_0_x86_64.whl", hash = "sha256:a842d573724391493a97a62ebbb8e731f8a5dcc5d285dfc99141ca15a3302d0c", size = 6633497, upload-time = "2024-08-26T20:11:55.09Z" }, + { url = "https://files.pythonhosted.org/packages/72/21/67f36eac8e2d2cd652a2e69595a54128297cdcb1ff3931cfc87838874bd4/numpy-2.0.2-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:c05e238064fc0610c840d1cf6a13bf63d7e391717d247f1bf0318172e759e692", size = 13621158, upload-time = "2024-08-26T20:12:14.95Z" }, + { url = "https://files.pythonhosted.org/packages/39/68/e9f1126d757653496dbc096cb429014347a36b228f5a991dae2c6b6cfd40/numpy-2.0.2-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:0123ffdaa88fa4ab64835dcbde75dcdf89c453c922f18dced6e27c90d1d0ec5a", size = 19236173, upload-time = "2024-08-26T20:12:44.049Z" }, + { url = "https://files.pythonhosted.org/packages/d1/e9/1f5333281e4ebf483ba1c888b1d61ba7e78d7e910fdd8e6499667041cc35/numpy-2.0.2-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:96a55f64139912d61de9137f11bf39a55ec8faec288c75a54f93dfd39f7eb40c", size = 19634174, upload-time = "2024-08-26T20:13:13.634Z" }, + { url = "https://files.pythonhosted.org/packages/71/af/a469674070c8d8408384e3012e064299f7a2de540738a8e414dcfd639996/numpy-2.0.2-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:ec9852fb39354b5a45a80bdab5ac02dd02b15f44b3804e9f00c556bf24b4bded", size = 14099701, upload-time = "2024-08-26T20:13:34.851Z" }, + { url = "https://files.pythonhosted.org/packages/d0/3d/08ea9f239d0e0e939b6ca52ad403c84a2bce1bde301a8eb4888c1c1543f1/numpy-2.0.2-cp312-cp312-win32.whl", hash = "sha256:671bec6496f83202ed2d3c8fdc486a8fc86942f2e69ff0e986140339a63bcbe5", size = 6174313, upload-time = "2024-08-26T20:13:45.653Z" }, + { url = "https://files.pythonhosted.org/packages/b2/b5/4ac39baebf1fdb2e72585c8352c56d063b6126be9fc95bd2bb5ef5770c20/numpy-2.0.2-cp312-cp312-win_amd64.whl", hash = "sha256:cfd41e13fdc257aa5778496b8caa5e856dc4896d4ccf01841daee1d96465467a", size = 15606179, upload-time = "2024-08-26T20:14:08.786Z" }, + { url = "https://files.pythonhosted.org/packages/43/c1/41c8f6df3162b0c6ffd4437d729115704bd43363de0090c7f913cfbc2d89/numpy-2.0.2-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:9059e10581ce4093f735ed23f3b9d283b9d517ff46009ddd485f1747eb22653c", size = 21169942, upload-time = "2024-08-26T20:14:40.108Z" }, + { url = "https://files.pythonhosted.org/packages/39/bc/fd298f308dcd232b56a4031fd6ddf11c43f9917fbc937e53762f7b5a3bb1/numpy-2.0.2-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:423e89b23490805d2a5a96fe40ec507407b8ee786d66f7328be214f9679df6dd", size = 13711512, upload-time = "2024-08-26T20:15:00.985Z" }, + { url = "https://files.pythonhosted.org/packages/96/ff/06d1aa3eeb1c614eda245c1ba4fb88c483bee6520d361641331872ac4b82/numpy-2.0.2-cp39-cp39-macosx_14_0_arm64.whl", hash = "sha256:2b2955fa6f11907cf7a70dab0d0755159bca87755e831e47932367fc8f2f2d0b", size = 5306976, upload-time = "2024-08-26T20:15:10.876Z" }, + { url = "https://files.pythonhosted.org/packages/2d/98/121996dcfb10a6087a05e54453e28e58694a7db62c5a5a29cee14c6e047b/numpy-2.0.2-cp39-cp39-macosx_14_0_x86_64.whl", hash = "sha256:97032a27bd9d8988b9a97a8c4d2c9f2c15a81f61e2f21404d7e8ef00cb5be729", size = 6906494, upload-time = "2024-08-26T20:15:22.055Z" }, + { url = "https://files.pythonhosted.org/packages/15/31/9dffc70da6b9bbf7968f6551967fc21156207366272c2a40b4ed6008dc9b/numpy-2.0.2-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:1e795a8be3ddbac43274f18588329c72939870a16cae810c2b73461c40718ab1", size = 13912596, upload-time = "2024-08-26T20:15:42.452Z" }, + { url = "https://files.pythonhosted.org/packages/b9/14/78635daab4b07c0930c919d451b8bf8c164774e6a3413aed04a6d95758ce/numpy-2.0.2-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f26b258c385842546006213344c50655ff1555a9338e2e5e02a0756dc3e803dd", size = 19526099, upload-time = "2024-08-26T20:16:11.048Z" }, + { url = "https://files.pythonhosted.org/packages/26/4c/0eeca4614003077f68bfe7aac8b7496f04221865b3a5e7cb230c9d055afd/numpy-2.0.2-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:5fec9451a7789926bcf7c2b8d187292c9f93ea30284802a0ab3f5be8ab36865d", size = 19932823, upload-time = "2024-08-26T20:16:40.171Z" }, + { url = "https://files.pythonhosted.org/packages/f1/46/ea25b98b13dccaebddf1a803f8c748680d972e00507cd9bc6dcdb5aa2ac1/numpy-2.0.2-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:9189427407d88ff25ecf8f12469d4d39d35bee1db5d39fc5c168c6f088a6956d", size = 14404424, upload-time = "2024-08-26T20:17:02.604Z" }, + { url = "https://files.pythonhosted.org/packages/c8/a6/177dd88d95ecf07e722d21008b1b40e681a929eb9e329684d449c36586b2/numpy-2.0.2-cp39-cp39-win32.whl", hash = "sha256:905d16e0c60200656500c95b6b8dca5d109e23cb24abc701d41c02d74c6b3afa", size = 6476809, upload-time = "2024-08-26T20:17:13.553Z" }, + { url = "https://files.pythonhosted.org/packages/ea/2b/7fc9f4e7ae5b507c1a3a21f0f15ed03e794c1242ea8a242ac158beb56034/numpy-2.0.2-cp39-cp39-win_amd64.whl", hash = "sha256:a3f4ab0caa7f053f6797fcd4e1e25caee367db3112ef2b6ef82d749530768c73", size = 15911314, upload-time = "2024-08-26T20:17:36.72Z" }, + { url = "https://files.pythonhosted.org/packages/8f/3b/df5a870ac6a3be3a86856ce195ef42eec7ae50d2a202be1f5a4b3b340e14/numpy-2.0.2-pp39-pypy39_pp73-macosx_10_9_x86_64.whl", hash = "sha256:7f0a0c6f12e07fa94133c8a67404322845220c06a9e80e85999afe727f7438b8", size = 21025288, upload-time = "2024-08-26T20:18:07.732Z" }, + { url = "https://files.pythonhosted.org/packages/2c/97/51af92f18d6f6f2d9ad8b482a99fb74e142d71372da5d834b3a2747a446e/numpy-2.0.2-pp39-pypy39_pp73-macosx_14_0_x86_64.whl", hash = "sha256:312950fdd060354350ed123c0e25a71327d3711584beaef30cdaa93320c392d4", size = 6762793, upload-time = "2024-08-26T20:18:19.125Z" }, + { url = "https://files.pythonhosted.org/packages/12/46/de1fbd0c1b5ccaa7f9a005b66761533e2f6a3e560096682683a223631fe9/numpy-2.0.2-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:26df23238872200f63518dd2aa984cfca675d82469535dc7162dc2ee52d9dd5c", size = 19334885, upload-time = "2024-08-26T20:18:47.237Z" }, + { url = "https://files.pythonhosted.org/packages/cc/dc/d330a6faefd92b446ec0f0dfea4c3207bb1fef3c4771d19cf4543efd2c78/numpy-2.0.2-pp39-pypy39_pp73-win_amd64.whl", hash = "sha256:a46288ec55ebbd58947d31d72be2c63cbf839f0a63b49cb755022310792a3385", size = 15828784, upload-time = "2024-08-26T20:19:11.19Z" }, ] [[package]] @@ -3226,62 +3226,62 @@ resolution-markers = [ "python_full_version == '3.10.*' and platform_machine == 'aarch64' and sys_platform == 'linux'", "(python_full_version == '3.10.*' and platform_machine != 'aarch64' and sys_platform == 'linux') or (python_full_version == '3.10.*' and sys_platform != 'darwin' and sys_platform != 'linux')", ] -sdist = { url = "https://files.pythonhosted.org/packages/ec/d0/c12ddfd3a02274be06ffc71f3efc6d0e457b0409c4481596881e748cb264/numpy-2.2.2.tar.gz", hash = "sha256:ed6906f61834d687738d25988ae117683705636936cc605be0bb208b23df4d8f", size = 20233295 } -wheels = [ - { url = "https://files.pythonhosted.org/packages/70/2a/69033dc22d981ad21325314f8357438078f5c28310a6d89fb3833030ec8a/numpy-2.2.2-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:7079129b64cb78bdc8d611d1fd7e8002c0a2565da6a47c4df8062349fee90e3e", size = 21215825 }, - { url = "https://files.pythonhosted.org/packages/31/2c/39f91e00bbd3d5639b027ac48c55dc5f2992bd2b305412d26be4c830862a/numpy-2.2.2-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:2ec6c689c61df613b783aeb21f945c4cbe6c51c28cb70aae8430577ab39f163e", size = 14354996 }, - { url = "https://files.pythonhosted.org/packages/0a/2c/d468ebd253851af10de5b3e8f3418ebabfaab5f0337a75299fbeb8b8c17a/numpy-2.2.2-cp310-cp310-macosx_14_0_arm64.whl", hash = "sha256:40c7ff5da22cd391944a28c6a9c638a5eef77fcf71d6e3a79e1d9d9e82752715", size = 5393621 }, - { url = "https://files.pythonhosted.org/packages/7f/f4/3d8a5a0da297034106c5de92be881aca7079cde6058934215a1de91334f6/numpy-2.2.2-cp310-cp310-macosx_14_0_x86_64.whl", hash = "sha256:995f9e8181723852ca458e22de5d9b7d3ba4da3f11cc1cb113f093b271d7965a", size = 6928931 }, - { url = "https://files.pythonhosted.org/packages/47/a7/029354ab56edd43dd3f5efbfad292b8844f98b93174f322f82353fa46efa/numpy-2.2.2-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:b78ea78450fd96a498f50ee096f69c75379af5138f7881a51355ab0e11286c97", size = 14333157 }, - { url = "https://files.pythonhosted.org/packages/e3/d7/11fc594838d35c43519763310c316d4fd56f8600d3fc80a8e13e325b5c5c/numpy-2.2.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:3fbe72d347fbc59f94124125e73fc4976a06927ebc503ec5afbfb35f193cd957", size = 16381794 }, - { url = "https://files.pythonhosted.org/packages/af/d4/dd9b19cd4aff9c79d3f54d17f8be815407520d3116004bc574948336981b/numpy-2.2.2-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:8e6da5cffbbe571f93588f562ed130ea63ee206d12851b60819512dd3e1ba50d", size = 15543990 }, - { url = "https://files.pythonhosted.org/packages/30/97/ab96b7650f27f684a9b1e46757a7294ecc50cab27701d05f146e9f779627/numpy-2.2.2-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:09d6a2032faf25e8d0cadde7fd6145118ac55d2740132c1d845f98721b5ebcfd", size = 18170896 }, - { url = "https://files.pythonhosted.org/packages/81/9b/bae9618cab20db67a2ca9d711795cad29b2ca4b73034dd3b5d05b962070a/numpy-2.2.2-cp310-cp310-win32.whl", hash = "sha256:159ff6ee4c4a36a23fe01b7c3d07bd8c14cc433d9720f977fcd52c13c0098160", size = 6573458 }, - { url = "https://files.pythonhosted.org/packages/92/9b/95678092febd14070cfb7906ea7932e71e9dd5a6ab3ee948f9ed975e905d/numpy-2.2.2-cp310-cp310-win_amd64.whl", hash = "sha256:64bd6e1762cd7f0986a740fee4dff927b9ec2c5e4d9a28d056eb17d332158014", size = 12915812 }, - { url = "https://files.pythonhosted.org/packages/21/67/32c68756eed84df181c06528ff57e09138f893c4653448c4967311e0f992/numpy-2.2.2-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:642199e98af1bd2b6aeb8ecf726972d238c9877b0f6e8221ee5ab945ec8a2189", size = 21220002 }, - { url = "https://files.pythonhosted.org/packages/3b/89/f43bcad18f2b2e5814457b1c7f7b0e671d0db12c8c0e43397ab8cb1831ed/numpy-2.2.2-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:6d9fc9d812c81e6168b6d405bf00b8d6739a7f72ef22a9214c4241e0dc70b323", size = 14391215 }, - { url = "https://files.pythonhosted.org/packages/9c/e6/efb8cd6122bf25e86e3dd89d9dbfec9e6861c50e8810eed77d4be59b51c6/numpy-2.2.2-cp311-cp311-macosx_14_0_arm64.whl", hash = "sha256:c7d1fd447e33ee20c1f33f2c8e6634211124a9aabde3c617687d8b739aa69eac", size = 5391918 }, - { url = "https://files.pythonhosted.org/packages/47/e2/fccf89d64d9b47ffb242823d4e851fc9d36fa751908c9aac2807924d9b4e/numpy-2.2.2-cp311-cp311-macosx_14_0_x86_64.whl", hash = "sha256:451e854cfae0febe723077bd0cf0a4302a5d84ff25f0bfece8f29206c7bed02e", size = 6933133 }, - { url = "https://files.pythonhosted.org/packages/34/22/5ece749c0e5420a9380eef6fbf83d16a50010bd18fef77b9193d80a6760e/numpy-2.2.2-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:bd249bc894af67cbd8bad2c22e7cbcd46cf87ddfca1f1289d1e7e54868cc785c", size = 14338187 }, - { url = "https://files.pythonhosted.org/packages/5b/86/caec78829311f62afa6fa334c8dfcd79cffb4d24bcf96ee02ae4840d462b/numpy-2.2.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:02935e2c3c0c6cbe9c7955a8efa8908dd4221d7755644c59d1bba28b94fd334f", size = 16393429 }, - { url = "https://files.pythonhosted.org/packages/c8/4e/0c25f74c88239a37924577d6ad780f3212a50f4b4b5f54f5e8c918d726bd/numpy-2.2.2-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:a972cec723e0563aa0823ee2ab1df0cb196ed0778f173b381c871a03719d4826", size = 15559103 }, - { url = "https://files.pythonhosted.org/packages/d4/bd/d557f10fa50dc4d5871fb9606af563249b66af2fc6f99041a10e8757c6f1/numpy-2.2.2-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:d6d6a0910c3b4368d89dde073e630882cdb266755565155bc33520283b2d9df8", size = 18182967 }, - { url = "https://files.pythonhosted.org/packages/30/e9/66cc0f66386d78ed89e45a56e2a1d051e177b6e04477c4a41cd590ef4017/numpy-2.2.2-cp311-cp311-win32.whl", hash = "sha256:860fd59990c37c3ef913c3ae390b3929d005243acca1a86facb0773e2d8d9e50", size = 6571499 }, - { url = "https://files.pythonhosted.org/packages/66/a3/4139296b481ae7304a43581046b8f0a20da6a0dfe0ee47a044cade796603/numpy-2.2.2-cp311-cp311-win_amd64.whl", hash = "sha256:da1eeb460ecce8d5b8608826595c777728cdf28ce7b5a5a8c8ac8d949beadcf2", size = 12919805 }, - { url = "https://files.pythonhosted.org/packages/0c/e6/847d15770ab7a01e807bdfcd4ead5bdae57c0092b7dc83878171b6af97bb/numpy-2.2.2-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:ac9bea18d6d58a995fac1b2cb4488e17eceeac413af014b1dd26170b766d8467", size = 20912636 }, - { url = "https://files.pythonhosted.org/packages/d1/af/f83580891577b13bd7e261416120e036d0d8fb508c8a43a73e38928b794b/numpy-2.2.2-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:23ae9f0c2d889b7b2d88a3791f6c09e2ef827c2446f1c4a3e3e76328ee4afd9a", size = 14098403 }, - { url = "https://files.pythonhosted.org/packages/2b/86/d019fb60a9d0f1d4cf04b014fe88a9135090adfadcc31c1fadbb071d7fa7/numpy-2.2.2-cp312-cp312-macosx_14_0_arm64.whl", hash = "sha256:3074634ea4d6df66be04f6728ee1d173cfded75d002c75fac79503a880bf3825", size = 5128938 }, - { url = "https://files.pythonhosted.org/packages/7a/1b/50985edb6f1ec495a1c36452e860476f5b7ecdc3fc59ea89ccad3c4926c5/numpy-2.2.2-cp312-cp312-macosx_14_0_x86_64.whl", hash = "sha256:8ec0636d3f7d68520afc6ac2dc4b8341ddb725039de042faf0e311599f54eb37", size = 6661937 }, - { url = "https://files.pythonhosted.org/packages/f4/1b/17efd94cad1b9d605c3f8907fb06bcffc4ce4d1d14d46b95316cccccf2b9/numpy-2.2.2-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:2ffbb1acd69fdf8e89dd60ef6182ca90a743620957afb7066385a7bbe88dc748", size = 14049518 }, - { url = "https://files.pythonhosted.org/packages/5b/73/65d2f0b698df1731e851e3295eb29a5ab8aa06f763f7e4188647a809578d/numpy-2.2.2-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:0349b025e15ea9d05c3d63f9657707a4e1d471128a3b1d876c095f328f8ff7f0", size = 16099146 }, - { url = "https://files.pythonhosted.org/packages/d5/69/308f55c0e19d4b5057b5df286c5433822e3c8039ede06d4051d96f1c2c4e/numpy-2.2.2-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:463247edcee4a5537841d5350bc87fe8e92d7dd0e8c71c995d2c6eecb8208278", size = 15246336 }, - { url = "https://files.pythonhosted.org/packages/f0/d8/d8d333ad0d8518d077a21aeea7b7c826eff766a2b1ce1194dea95ca0bacf/numpy-2.2.2-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:9dd47ff0cb2a656ad69c38da850df3454da88ee9a6fde0ba79acceee0e79daba", size = 17863507 }, - { url = "https://files.pythonhosted.org/packages/82/6e/0b84ad3103ffc16d6673e63b5acbe7901b2af96c2837174c6318c98e27ab/numpy-2.2.2-cp312-cp312-win32.whl", hash = "sha256:4525b88c11906d5ab1b0ec1f290996c0020dd318af8b49acaa46f198b1ffc283", size = 6276491 }, - { url = "https://files.pythonhosted.org/packages/fc/84/7f801a42a67b9772a883223a0a1e12069a14626c81a732bd70aac57aebc1/numpy-2.2.2-cp312-cp312-win_amd64.whl", hash = "sha256:5acea83b801e98541619af398cc0109ff48016955cc0818f478ee9ef1c5c3dcb", size = 12616372 }, - { url = "https://files.pythonhosted.org/packages/e1/fe/df5624001f4f5c3e0b78e9017bfab7fdc18a8d3b3d3161da3d64924dd659/numpy-2.2.2-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:b208cfd4f5fe34e1535c08983a1a6803fdbc7a1e86cf13dd0c61de0b51a0aadc", size = 20899188 }, - { url = "https://files.pythonhosted.org/packages/a9/80/d349c3b5ed66bd3cb0214be60c27e32b90a506946857b866838adbe84040/numpy-2.2.2-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:d0bbe7dd86dca64854f4b6ce2ea5c60b51e36dfd597300057cf473d3615f2369", size = 14113972 }, - { url = "https://files.pythonhosted.org/packages/9d/50/949ec9cbb28c4b751edfa64503f0913cbfa8d795b4a251e7980f13a8a655/numpy-2.2.2-cp313-cp313-macosx_14_0_arm64.whl", hash = "sha256:22ea3bb552ade325530e72a0c557cdf2dea8914d3a5e1fecf58fa5dbcc6f43cd", size = 5114294 }, - { url = "https://files.pythonhosted.org/packages/8d/f3/399c15629d5a0c68ef2aa7621d430b2be22034f01dd7f3c65a9c9666c445/numpy-2.2.2-cp313-cp313-macosx_14_0_x86_64.whl", hash = "sha256:128c41c085cab8a85dc29e66ed88c05613dccf6bc28b3866cd16050a2f5448be", size = 6648426 }, - { url = "https://files.pythonhosted.org/packages/2c/03/c72474c13772e30e1bc2e558cdffd9123c7872b731263d5648b5c49dd459/numpy-2.2.2-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:250c16b277e3b809ac20d1f590716597481061b514223c7badb7a0f9993c7f84", size = 14045990 }, - { url = "https://files.pythonhosted.org/packages/83/9c/96a9ab62274ffafb023f8ee08c88d3d31ee74ca58869f859db6845494fa6/numpy-2.2.2-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:e0c8854b09bc4de7b041148d8550d3bd712b5c21ff6a8ed308085f190235d7ff", size = 16096614 }, - { url = "https://files.pythonhosted.org/packages/d5/34/cd0a735534c29bec7093544b3a509febc9b0df77718a9b41ffb0809c9f46/numpy-2.2.2-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:b6fb9c32a91ec32a689ec6410def76443e3c750e7cfc3fb2206b985ffb2b85f0", size = 15242123 }, - { url = "https://files.pythonhosted.org/packages/5e/6d/541717a554a8f56fa75e91886d9b79ade2e595918690eb5d0d3dbd3accb9/numpy-2.2.2-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:57b4012e04cc12b78590a334907e01b3a85efb2107df2b8733ff1ed05fce71de", size = 17859160 }, - { url = "https://files.pythonhosted.org/packages/b9/a5/fbf1f2b54adab31510728edd06a05c1b30839f37cf8c9747cb85831aaf1b/numpy-2.2.2-cp313-cp313-win32.whl", hash = "sha256:4dbd80e453bd34bd003b16bd802fac70ad76bd463f81f0c518d1245b1c55e3d9", size = 6273337 }, - { url = "https://files.pythonhosted.org/packages/56/e5/01106b9291ef1d680f82bc47d0c5b5e26dfed15b0754928e8f856c82c881/numpy-2.2.2-cp313-cp313-win_amd64.whl", hash = "sha256:5a8c863ceacae696aff37d1fd636121f1a512117652e5dfb86031c8d84836369", size = 12609010 }, - { url = "https://files.pythonhosted.org/packages/9f/30/f23d9876de0f08dceb707c4dcf7f8dd7588266745029debb12a3cdd40be6/numpy-2.2.2-cp313-cp313t-macosx_10_13_x86_64.whl", hash = "sha256:b3482cb7b3325faa5f6bc179649406058253d91ceda359c104dac0ad320e1391", size = 20924451 }, - { url = "https://files.pythonhosted.org/packages/6a/ec/6ea85b2da9d5dfa1dbb4cb3c76587fc8ddcae580cb1262303ab21c0926c4/numpy-2.2.2-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:9491100aba630910489c1d0158034e1c9a6546f0b1340f716d522dc103788e39", size = 14122390 }, - { url = "https://files.pythonhosted.org/packages/68/05/bfbdf490414a7dbaf65b10c78bc243f312c4553234b6d91c94eb7c4b53c2/numpy-2.2.2-cp313-cp313t-macosx_14_0_arm64.whl", hash = "sha256:41184c416143defa34cc8eb9d070b0a5ba4f13a0fa96a709e20584638254b317", size = 5156590 }, - { url = "https://files.pythonhosted.org/packages/f7/ec/fe2e91b2642b9d6544518388a441bcd65c904cea38d9ff998e2e8ebf808e/numpy-2.2.2-cp313-cp313t-macosx_14_0_x86_64.whl", hash = "sha256:7dca87ca328f5ea7dafc907c5ec100d187911f94825f8700caac0b3f4c384b49", size = 6671958 }, - { url = "https://files.pythonhosted.org/packages/b1/6f/6531a78e182f194d33ee17e59d67d03d0d5a1ce7f6be7343787828d1bd4a/numpy-2.2.2-cp313-cp313t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:0bc61b307655d1a7f9f4b043628b9f2b721e80839914ede634e3d485913e1fb2", size = 14019950 }, - { url = "https://files.pythonhosted.org/packages/e1/fb/13c58591d0b6294a08cc40fcc6b9552d239d773d520858ae27f39997f2ae/numpy-2.2.2-cp313-cp313t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:9fad446ad0bc886855ddf5909cbf8cb5d0faa637aaa6277fb4b19ade134ab3c7", size = 16079759 }, - { url = "https://files.pythonhosted.org/packages/2c/f2/f2f8edd62abb4b289f65a7f6d1f3650273af00b91b7267a2431be7f1aec6/numpy-2.2.2-cp313-cp313t-musllinux_1_2_aarch64.whl", hash = "sha256:149d1113ac15005652e8d0d3f6fd599360e1a708a4f98e43c9c77834a28238cb", size = 15226139 }, - { url = "https://files.pythonhosted.org/packages/aa/29/14a177f1a90b8ad8a592ca32124ac06af5eff32889874e53a308f850290f/numpy-2.2.2-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:106397dbbb1896f99e044efc90360d098b3335060375c26aa89c0d8a97c5f648", size = 17856316 }, - { url = "https://files.pythonhosted.org/packages/95/03/242ae8d7b97f4e0e4ab8dd51231465fb23ed5e802680d629149722e3faf1/numpy-2.2.2-cp313-cp313t-win32.whl", hash = "sha256:0eec19f8af947a61e968d5429f0bd92fec46d92b0008d0a6685b40d6adf8a4f4", size = 6329134 }, - { url = "https://files.pythonhosted.org/packages/80/94/cd9e9b04012c015cb6320ab3bf43bc615e248dddfeb163728e800a5d96f0/numpy-2.2.2-cp313-cp313t-win_amd64.whl", hash = "sha256:97b974d3ba0fb4612b77ed35d7627490e8e3dff56ab41454d9e8b23448940576", size = 12696208 }, - { url = "https://files.pythonhosted.org/packages/96/7e/1dd770ee68916ed358991ab62c2cc353ffd98d0b75b901d52183ca28e8bb/numpy-2.2.2-pp310-pypy310_pp73-macosx_10_15_x86_64.whl", hash = "sha256:b0531f0b0e07643eb089df4c509d30d72c9ef40defa53e41363eca8a8cc61495", size = 21047291 }, - { url = "https://files.pythonhosted.org/packages/d1/3c/ccd08578dc532a8e6927952339d4a02682b776d5e85be49ed0760308433e/numpy-2.2.2-pp310-pypy310_pp73-macosx_14_0_x86_64.whl", hash = "sha256:e9e82dcb3f2ebbc8cb5ce1102d5f1c5ed236bf8a11730fb45ba82e2841ec21df", size = 6792494 }, - { url = "https://files.pythonhosted.org/packages/7c/28/8754b9aee4f97199f9a047f73bb644b5a2014994a6d7b061ba67134a42de/numpy-2.2.2-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:e0d4142eb40ca6f94539e4db929410f2a46052a0fe7a2c1c59f6179c39938d2a", size = 16197312 }, - { url = "https://files.pythonhosted.org/packages/26/96/deb93f871f401045a684ca08a009382b247d14996d7a94fea6aa43c67b94/numpy-2.2.2-pp310-pypy310_pp73-win_amd64.whl", hash = "sha256:356ca982c188acbfa6af0d694284d8cf20e95b1c3d0aefa8929376fea9146f60", size = 12822674 }, +sdist = { url = "https://files.pythonhosted.org/packages/ec/d0/c12ddfd3a02274be06ffc71f3efc6d0e457b0409c4481596881e748cb264/numpy-2.2.2.tar.gz", hash = "sha256:ed6906f61834d687738d25988ae117683705636936cc605be0bb208b23df4d8f", size = 20233295, upload-time = "2025-01-19T00:02:09.581Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/70/2a/69033dc22d981ad21325314f8357438078f5c28310a6d89fb3833030ec8a/numpy-2.2.2-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:7079129b64cb78bdc8d611d1fd7e8002c0a2565da6a47c4df8062349fee90e3e", size = 21215825, upload-time = "2025-01-18T22:56:28.939Z" }, + { url = "https://files.pythonhosted.org/packages/31/2c/39f91e00bbd3d5639b027ac48c55dc5f2992bd2b305412d26be4c830862a/numpy-2.2.2-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:2ec6c689c61df613b783aeb21f945c4cbe6c51c28cb70aae8430577ab39f163e", size = 14354996, upload-time = "2025-01-18T22:56:54.764Z" }, + { url = "https://files.pythonhosted.org/packages/0a/2c/d468ebd253851af10de5b3e8f3418ebabfaab5f0337a75299fbeb8b8c17a/numpy-2.2.2-cp310-cp310-macosx_14_0_arm64.whl", hash = "sha256:40c7ff5da22cd391944a28c6a9c638a5eef77fcf71d6e3a79e1d9d9e82752715", size = 5393621, upload-time = "2025-01-18T22:57:04.942Z" }, + { url = "https://files.pythonhosted.org/packages/7f/f4/3d8a5a0da297034106c5de92be881aca7079cde6058934215a1de91334f6/numpy-2.2.2-cp310-cp310-macosx_14_0_x86_64.whl", hash = "sha256:995f9e8181723852ca458e22de5d9b7d3ba4da3f11cc1cb113f093b271d7965a", size = 6928931, upload-time = "2025-01-18T22:57:21.24Z" }, + { url = "https://files.pythonhosted.org/packages/47/a7/029354ab56edd43dd3f5efbfad292b8844f98b93174f322f82353fa46efa/numpy-2.2.2-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:b78ea78450fd96a498f50ee096f69c75379af5138f7881a51355ab0e11286c97", size = 14333157, upload-time = "2025-01-18T22:57:51.001Z" }, + { url = "https://files.pythonhosted.org/packages/e3/d7/11fc594838d35c43519763310c316d4fd56f8600d3fc80a8e13e325b5c5c/numpy-2.2.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:3fbe72d347fbc59f94124125e73fc4976a06927ebc503ec5afbfb35f193cd957", size = 16381794, upload-time = "2025-01-18T22:58:20.094Z" }, + { url = "https://files.pythonhosted.org/packages/af/d4/dd9b19cd4aff9c79d3f54d17f8be815407520d3116004bc574948336981b/numpy-2.2.2-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:8e6da5cffbbe571f93588f562ed130ea63ee206d12851b60819512dd3e1ba50d", size = 15543990, upload-time = "2025-01-18T22:58:45.679Z" }, + { url = "https://files.pythonhosted.org/packages/30/97/ab96b7650f27f684a9b1e46757a7294ecc50cab27701d05f146e9f779627/numpy-2.2.2-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:09d6a2032faf25e8d0cadde7fd6145118ac55d2740132c1d845f98721b5ebcfd", size = 18170896, upload-time = "2025-01-18T22:59:18.84Z" }, + { url = "https://files.pythonhosted.org/packages/81/9b/bae9618cab20db67a2ca9d711795cad29b2ca4b73034dd3b5d05b962070a/numpy-2.2.2-cp310-cp310-win32.whl", hash = "sha256:159ff6ee4c4a36a23fe01b7c3d07bd8c14cc433d9720f977fcd52c13c0098160", size = 6573458, upload-time = "2025-01-18T22:59:32.32Z" }, + { url = "https://files.pythonhosted.org/packages/92/9b/95678092febd14070cfb7906ea7932e71e9dd5a6ab3ee948f9ed975e905d/numpy-2.2.2-cp310-cp310-win_amd64.whl", hash = "sha256:64bd6e1762cd7f0986a740fee4dff927b9ec2c5e4d9a28d056eb17d332158014", size = 12915812, upload-time = "2025-01-18T22:59:59.335Z" }, + { url = "https://files.pythonhosted.org/packages/21/67/32c68756eed84df181c06528ff57e09138f893c4653448c4967311e0f992/numpy-2.2.2-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:642199e98af1bd2b6aeb8ecf726972d238c9877b0f6e8221ee5ab945ec8a2189", size = 21220002, upload-time = "2025-01-18T23:00:41.728Z" }, + { url = "https://files.pythonhosted.org/packages/3b/89/f43bcad18f2b2e5814457b1c7f7b0e671d0db12c8c0e43397ab8cb1831ed/numpy-2.2.2-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:6d9fc9d812c81e6168b6d405bf00b8d6739a7f72ef22a9214c4241e0dc70b323", size = 14391215, upload-time = "2025-01-18T23:01:15.534Z" }, + { url = "https://files.pythonhosted.org/packages/9c/e6/efb8cd6122bf25e86e3dd89d9dbfec9e6861c50e8810eed77d4be59b51c6/numpy-2.2.2-cp311-cp311-macosx_14_0_arm64.whl", hash = "sha256:c7d1fd447e33ee20c1f33f2c8e6634211124a9aabde3c617687d8b739aa69eac", size = 5391918, upload-time = "2025-01-18T23:01:35.138Z" }, + { url = "https://files.pythonhosted.org/packages/47/e2/fccf89d64d9b47ffb242823d4e851fc9d36fa751908c9aac2807924d9b4e/numpy-2.2.2-cp311-cp311-macosx_14_0_x86_64.whl", hash = "sha256:451e854cfae0febe723077bd0cf0a4302a5d84ff25f0bfece8f29206c7bed02e", size = 6933133, upload-time = "2025-01-18T23:01:53.087Z" }, + { url = "https://files.pythonhosted.org/packages/34/22/5ece749c0e5420a9380eef6fbf83d16a50010bd18fef77b9193d80a6760e/numpy-2.2.2-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:bd249bc894af67cbd8bad2c22e7cbcd46cf87ddfca1f1289d1e7e54868cc785c", size = 14338187, upload-time = "2025-01-18T23:02:29.11Z" }, + { url = "https://files.pythonhosted.org/packages/5b/86/caec78829311f62afa6fa334c8dfcd79cffb4d24bcf96ee02ae4840d462b/numpy-2.2.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:02935e2c3c0c6cbe9c7955a8efa8908dd4221d7755644c59d1bba28b94fd334f", size = 16393429, upload-time = "2025-01-18T23:03:00.683Z" }, + { url = "https://files.pythonhosted.org/packages/c8/4e/0c25f74c88239a37924577d6ad780f3212a50f4b4b5f54f5e8c918d726bd/numpy-2.2.2-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:a972cec723e0563aa0823ee2ab1df0cb196ed0778f173b381c871a03719d4826", size = 15559103, upload-time = "2025-01-18T23:03:44.838Z" }, + { url = "https://files.pythonhosted.org/packages/d4/bd/d557f10fa50dc4d5871fb9606af563249b66af2fc6f99041a10e8757c6f1/numpy-2.2.2-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:d6d6a0910c3b4368d89dde073e630882cdb266755565155bc33520283b2d9df8", size = 18182967, upload-time = "2025-01-18T23:22:14.371Z" }, + { url = "https://files.pythonhosted.org/packages/30/e9/66cc0f66386d78ed89e45a56e2a1d051e177b6e04477c4a41cd590ef4017/numpy-2.2.2-cp311-cp311-win32.whl", hash = "sha256:860fd59990c37c3ef913c3ae390b3929d005243acca1a86facb0773e2d8d9e50", size = 6571499, upload-time = "2025-01-18T23:22:28.118Z" }, + { url = "https://files.pythonhosted.org/packages/66/a3/4139296b481ae7304a43581046b8f0a20da6a0dfe0ee47a044cade796603/numpy-2.2.2-cp311-cp311-win_amd64.whl", hash = "sha256:da1eeb460ecce8d5b8608826595c777728cdf28ce7b5a5a8c8ac8d949beadcf2", size = 12919805, upload-time = "2025-01-18T23:22:56.851Z" }, + { url = "https://files.pythonhosted.org/packages/0c/e6/847d15770ab7a01e807bdfcd4ead5bdae57c0092b7dc83878171b6af97bb/numpy-2.2.2-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:ac9bea18d6d58a995fac1b2cb4488e17eceeac413af014b1dd26170b766d8467", size = 20912636, upload-time = "2025-01-18T23:23:58.337Z" }, + { url = "https://files.pythonhosted.org/packages/d1/af/f83580891577b13bd7e261416120e036d0d8fb508c8a43a73e38928b794b/numpy-2.2.2-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:23ae9f0c2d889b7b2d88a3791f6c09e2ef827c2446f1c4a3e3e76328ee4afd9a", size = 14098403, upload-time = "2025-01-18T23:25:26.896Z" }, + { url = "https://files.pythonhosted.org/packages/2b/86/d019fb60a9d0f1d4cf04b014fe88a9135090adfadcc31c1fadbb071d7fa7/numpy-2.2.2-cp312-cp312-macosx_14_0_arm64.whl", hash = "sha256:3074634ea4d6df66be04f6728ee1d173cfded75d002c75fac79503a880bf3825", size = 5128938, upload-time = "2025-01-18T23:25:37.21Z" }, + { url = "https://files.pythonhosted.org/packages/7a/1b/50985edb6f1ec495a1c36452e860476f5b7ecdc3fc59ea89ccad3c4926c5/numpy-2.2.2-cp312-cp312-macosx_14_0_x86_64.whl", hash = "sha256:8ec0636d3f7d68520afc6ac2dc4b8341ddb725039de042faf0e311599f54eb37", size = 6661937, upload-time = "2025-01-18T23:26:05.86Z" }, + { url = "https://files.pythonhosted.org/packages/f4/1b/17efd94cad1b9d605c3f8907fb06bcffc4ce4d1d14d46b95316cccccf2b9/numpy-2.2.2-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:2ffbb1acd69fdf8e89dd60ef6182ca90a743620957afb7066385a7bbe88dc748", size = 14049518, upload-time = "2025-01-18T23:26:33.364Z" }, + { url = "https://files.pythonhosted.org/packages/5b/73/65d2f0b698df1731e851e3295eb29a5ab8aa06f763f7e4188647a809578d/numpy-2.2.2-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:0349b025e15ea9d05c3d63f9657707a4e1d471128a3b1d876c095f328f8ff7f0", size = 16099146, upload-time = "2025-01-18T23:27:15.132Z" }, + { url = "https://files.pythonhosted.org/packages/d5/69/308f55c0e19d4b5057b5df286c5433822e3c8039ede06d4051d96f1c2c4e/numpy-2.2.2-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:463247edcee4a5537841d5350bc87fe8e92d7dd0e8c71c995d2c6eecb8208278", size = 15246336, upload-time = "2025-01-18T23:28:09.658Z" }, + { url = "https://files.pythonhosted.org/packages/f0/d8/d8d333ad0d8518d077a21aeea7b7c826eff766a2b1ce1194dea95ca0bacf/numpy-2.2.2-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:9dd47ff0cb2a656ad69c38da850df3454da88ee9a6fde0ba79acceee0e79daba", size = 17863507, upload-time = "2025-01-18T23:28:56.146Z" }, + { url = "https://files.pythonhosted.org/packages/82/6e/0b84ad3103ffc16d6673e63b5acbe7901b2af96c2837174c6318c98e27ab/numpy-2.2.2-cp312-cp312-win32.whl", hash = "sha256:4525b88c11906d5ab1b0ec1f290996c0020dd318af8b49acaa46f198b1ffc283", size = 6276491, upload-time = "2025-01-18T23:29:09.409Z" }, + { url = "https://files.pythonhosted.org/packages/fc/84/7f801a42a67b9772a883223a0a1e12069a14626c81a732bd70aac57aebc1/numpy-2.2.2-cp312-cp312-win_amd64.whl", hash = "sha256:5acea83b801e98541619af398cc0109ff48016955cc0818f478ee9ef1c5c3dcb", size = 12616372, upload-time = "2025-01-18T23:29:46.645Z" }, + { url = "https://files.pythonhosted.org/packages/e1/fe/df5624001f4f5c3e0b78e9017bfab7fdc18a8d3b3d3161da3d64924dd659/numpy-2.2.2-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:b208cfd4f5fe34e1535c08983a1a6803fdbc7a1e86cf13dd0c61de0b51a0aadc", size = 20899188, upload-time = "2025-01-18T23:31:15.292Z" }, + { url = "https://files.pythonhosted.org/packages/a9/80/d349c3b5ed66bd3cb0214be60c27e32b90a506946857b866838adbe84040/numpy-2.2.2-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:d0bbe7dd86dca64854f4b6ce2ea5c60b51e36dfd597300057cf473d3615f2369", size = 14113972, upload-time = "2025-01-18T23:31:42.323Z" }, + { url = "https://files.pythonhosted.org/packages/9d/50/949ec9cbb28c4b751edfa64503f0913cbfa8d795b4a251e7980f13a8a655/numpy-2.2.2-cp313-cp313-macosx_14_0_arm64.whl", hash = "sha256:22ea3bb552ade325530e72a0c557cdf2dea8914d3a5e1fecf58fa5dbcc6f43cd", size = 5114294, upload-time = "2025-01-18T23:31:54.219Z" }, + { url = "https://files.pythonhosted.org/packages/8d/f3/399c15629d5a0c68ef2aa7621d430b2be22034f01dd7f3c65a9c9666c445/numpy-2.2.2-cp313-cp313-macosx_14_0_x86_64.whl", hash = "sha256:128c41c085cab8a85dc29e66ed88c05613dccf6bc28b3866cd16050a2f5448be", size = 6648426, upload-time = "2025-01-18T23:32:06.055Z" }, + { url = "https://files.pythonhosted.org/packages/2c/03/c72474c13772e30e1bc2e558cdffd9123c7872b731263d5648b5c49dd459/numpy-2.2.2-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:250c16b277e3b809ac20d1f590716597481061b514223c7badb7a0f9993c7f84", size = 14045990, upload-time = "2025-01-18T23:32:38.031Z" }, + { url = "https://files.pythonhosted.org/packages/83/9c/96a9ab62274ffafb023f8ee08c88d3d31ee74ca58869f859db6845494fa6/numpy-2.2.2-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:e0c8854b09bc4de7b041148d8550d3bd712b5c21ff6a8ed308085f190235d7ff", size = 16096614, upload-time = "2025-01-18T23:33:12.265Z" }, + { url = "https://files.pythonhosted.org/packages/d5/34/cd0a735534c29bec7093544b3a509febc9b0df77718a9b41ffb0809c9f46/numpy-2.2.2-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:b6fb9c32a91ec32a689ec6410def76443e3c750e7cfc3fb2206b985ffb2b85f0", size = 15242123, upload-time = "2025-01-18T23:33:46.412Z" }, + { url = "https://files.pythonhosted.org/packages/5e/6d/541717a554a8f56fa75e91886d9b79ade2e595918690eb5d0d3dbd3accb9/numpy-2.2.2-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:57b4012e04cc12b78590a334907e01b3a85efb2107df2b8733ff1ed05fce71de", size = 17859160, upload-time = "2025-01-18T23:34:37.857Z" }, + { url = "https://files.pythonhosted.org/packages/b9/a5/fbf1f2b54adab31510728edd06a05c1b30839f37cf8c9747cb85831aaf1b/numpy-2.2.2-cp313-cp313-win32.whl", hash = "sha256:4dbd80e453bd34bd003b16bd802fac70ad76bd463f81f0c518d1245b1c55e3d9", size = 6273337, upload-time = "2025-01-18T23:40:10.83Z" }, + { url = "https://files.pythonhosted.org/packages/56/e5/01106b9291ef1d680f82bc47d0c5b5e26dfed15b0754928e8f856c82c881/numpy-2.2.2-cp313-cp313-win_amd64.whl", hash = "sha256:5a8c863ceacae696aff37d1fd636121f1a512117652e5dfb86031c8d84836369", size = 12609010, upload-time = "2025-01-18T23:40:31.34Z" }, + { url = "https://files.pythonhosted.org/packages/9f/30/f23d9876de0f08dceb707c4dcf7f8dd7588266745029debb12a3cdd40be6/numpy-2.2.2-cp313-cp313t-macosx_10_13_x86_64.whl", hash = "sha256:b3482cb7b3325faa5f6bc179649406058253d91ceda359c104dac0ad320e1391", size = 20924451, upload-time = "2025-01-18T23:35:26.639Z" }, + { url = "https://files.pythonhosted.org/packages/6a/ec/6ea85b2da9d5dfa1dbb4cb3c76587fc8ddcae580cb1262303ab21c0926c4/numpy-2.2.2-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:9491100aba630910489c1d0158034e1c9a6546f0b1340f716d522dc103788e39", size = 14122390, upload-time = "2025-01-18T23:36:30.596Z" }, + { url = "https://files.pythonhosted.org/packages/68/05/bfbdf490414a7dbaf65b10c78bc243f312c4553234b6d91c94eb7c4b53c2/numpy-2.2.2-cp313-cp313t-macosx_14_0_arm64.whl", hash = "sha256:41184c416143defa34cc8eb9d070b0a5ba4f13a0fa96a709e20584638254b317", size = 5156590, upload-time = "2025-01-18T23:36:52.637Z" }, + { url = "https://files.pythonhosted.org/packages/f7/ec/fe2e91b2642b9d6544518388a441bcd65c904cea38d9ff998e2e8ebf808e/numpy-2.2.2-cp313-cp313t-macosx_14_0_x86_64.whl", hash = "sha256:7dca87ca328f5ea7dafc907c5ec100d187911f94825f8700caac0b3f4c384b49", size = 6671958, upload-time = "2025-01-18T23:37:05.361Z" }, + { url = "https://files.pythonhosted.org/packages/b1/6f/6531a78e182f194d33ee17e59d67d03d0d5a1ce7f6be7343787828d1bd4a/numpy-2.2.2-cp313-cp313t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:0bc61b307655d1a7f9f4b043628b9f2b721e80839914ede634e3d485913e1fb2", size = 14019950, upload-time = "2025-01-18T23:37:38.605Z" }, + { url = "https://files.pythonhosted.org/packages/e1/fb/13c58591d0b6294a08cc40fcc6b9552d239d773d520858ae27f39997f2ae/numpy-2.2.2-cp313-cp313t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:9fad446ad0bc886855ddf5909cbf8cb5d0faa637aaa6277fb4b19ade134ab3c7", size = 16079759, upload-time = "2025-01-18T23:38:05.757Z" }, + { url = "https://files.pythonhosted.org/packages/2c/f2/f2f8edd62abb4b289f65a7f6d1f3650273af00b91b7267a2431be7f1aec6/numpy-2.2.2-cp313-cp313t-musllinux_1_2_aarch64.whl", hash = "sha256:149d1113ac15005652e8d0d3f6fd599360e1a708a4f98e43c9c77834a28238cb", size = 15226139, upload-time = "2025-01-18T23:38:38.458Z" }, + { url = "https://files.pythonhosted.org/packages/aa/29/14a177f1a90b8ad8a592ca32124ac06af5eff32889874e53a308f850290f/numpy-2.2.2-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:106397dbbb1896f99e044efc90360d098b3335060375c26aa89c0d8a97c5f648", size = 17856316, upload-time = "2025-01-18T23:39:11.454Z" }, + { url = "https://files.pythonhosted.org/packages/95/03/242ae8d7b97f4e0e4ab8dd51231465fb23ed5e802680d629149722e3faf1/numpy-2.2.2-cp313-cp313t-win32.whl", hash = "sha256:0eec19f8af947a61e968d5429f0bd92fec46d92b0008d0a6685b40d6adf8a4f4", size = 6329134, upload-time = "2025-01-18T23:39:28.128Z" }, + { url = "https://files.pythonhosted.org/packages/80/94/cd9e9b04012c015cb6320ab3bf43bc615e248dddfeb163728e800a5d96f0/numpy-2.2.2-cp313-cp313t-win_amd64.whl", hash = "sha256:97b974d3ba0fb4612b77ed35d7627490e8e3dff56ab41454d9e8b23448940576", size = 12696208, upload-time = "2025-01-18T23:39:51.85Z" }, + { url = "https://files.pythonhosted.org/packages/96/7e/1dd770ee68916ed358991ab62c2cc353ffd98d0b75b901d52183ca28e8bb/numpy-2.2.2-pp310-pypy310_pp73-macosx_10_15_x86_64.whl", hash = "sha256:b0531f0b0e07643eb089df4c509d30d72c9ef40defa53e41363eca8a8cc61495", size = 21047291, upload-time = "2025-01-18T23:41:14.547Z" }, + { url = "https://files.pythonhosted.org/packages/d1/3c/ccd08578dc532a8e6927952339d4a02682b776d5e85be49ed0760308433e/numpy-2.2.2-pp310-pypy310_pp73-macosx_14_0_x86_64.whl", hash = "sha256:e9e82dcb3f2ebbc8cb5ce1102d5f1c5ed236bf8a11730fb45ba82e2841ec21df", size = 6792494, upload-time = "2025-01-18T23:41:34.66Z" }, + { url = "https://files.pythonhosted.org/packages/7c/28/8754b9aee4f97199f9a047f73bb644b5a2014994a6d7b061ba67134a42de/numpy-2.2.2-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:e0d4142eb40ca6f94539e4db929410f2a46052a0fe7a2c1c59f6179c39938d2a", size = 16197312, upload-time = "2025-01-18T23:42:26.273Z" }, + { url = "https://files.pythonhosted.org/packages/26/96/deb93f871f401045a684ca08a009382b247d14996d7a94fea6aa43c67b94/numpy-2.2.2-pp310-pypy310_pp73-win_amd64.whl", hash = "sha256:356ca982c188acbfa6af0d694284d8cf20e95b1c3d0aefa8929376fea9146f60", size = 12822674, upload-time = "2025-01-18T23:42:53.292Z" }, ] [[package]] @@ -3293,41 +3293,41 @@ dependencies = [ { name = "numpy", version = "2.0.2", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version == '3.9.*'" }, { name = "numpy", version = "2.2.2", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.10'" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/17/06/68c27a523103dad5837dc5b87e71285280c4f098c60e4fe8a8db6486ab09/opencv-python-4.11.0.86.tar.gz", hash = "sha256:03d60ccae62304860d232272e4a4fda93c39d595780cb40b161b310244b736a4", size = 95171956 } +sdist = { url = "https://files.pythonhosted.org/packages/17/06/68c27a523103dad5837dc5b87e71285280c4f098c60e4fe8a8db6486ab09/opencv-python-4.11.0.86.tar.gz", hash = "sha256:03d60ccae62304860d232272e4a4fda93c39d595780cb40b161b310244b736a4", size = 95171956, upload-time = "2025-01-16T13:52:24.737Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/05/4d/53b30a2a3ac1f75f65a59eb29cf2ee7207ce64867db47036ad61743d5a23/opencv_python-4.11.0.86-cp37-abi3-macosx_13_0_arm64.whl", hash = "sha256:432f67c223f1dc2824f5e73cdfcd9db0efc8710647d4e813012195dc9122a52a", size = 37326322 }, - { url = "https://files.pythonhosted.org/packages/3b/84/0a67490741867eacdfa37bc18df96e08a9d579583b419010d7f3da8ff503/opencv_python-4.11.0.86-cp37-abi3-macosx_13_0_x86_64.whl", hash = "sha256:9d05ef13d23fe97f575153558653e2d6e87103995d54e6a35db3f282fe1f9c66", size = 56723197 }, - { url = "https://files.pythonhosted.org/packages/f3/bd/29c126788da65c1fb2b5fb621b7fed0ed5f9122aa22a0868c5e2c15c6d23/opencv_python-4.11.0.86-cp37-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:1b92ae2c8852208817e6776ba1ea0d6b1e0a1b5431e971a2a0ddd2a8cc398202", size = 42230439 }, - { url = "https://files.pythonhosted.org/packages/2c/8b/90eb44a40476fa0e71e05a0283947cfd74a5d36121a11d926ad6f3193cc4/opencv_python-4.11.0.86-cp37-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:6b02611523803495003bd87362db3e1d2a0454a6a63025dc6658a9830570aa0d", size = 62986597 }, - { url = "https://files.pythonhosted.org/packages/fb/d7/1d5941a9dde095468b288d989ff6539dd69cd429dbf1b9e839013d21b6f0/opencv_python-4.11.0.86-cp37-abi3-win32.whl", hash = "sha256:810549cb2a4aedaa84ad9a1c92fbfdfc14090e2749cedf2c1589ad8359aa169b", size = 29384337 }, - { url = "https://files.pythonhosted.org/packages/a4/7d/f1c30a92854540bf789e9cd5dde7ef49bbe63f855b85a2e6b3db8135c591/opencv_python-4.11.0.86-cp37-abi3-win_amd64.whl", hash = "sha256:085ad9b77c18853ea66283e98affefe2de8cc4c1f43eda4c100cf9b2721142ec", size = 39488044 }, + { url = "https://files.pythonhosted.org/packages/05/4d/53b30a2a3ac1f75f65a59eb29cf2ee7207ce64867db47036ad61743d5a23/opencv_python-4.11.0.86-cp37-abi3-macosx_13_0_arm64.whl", hash = "sha256:432f67c223f1dc2824f5e73cdfcd9db0efc8710647d4e813012195dc9122a52a", size = 37326322, upload-time = "2025-01-16T13:52:25.887Z" }, + { url = "https://files.pythonhosted.org/packages/3b/84/0a67490741867eacdfa37bc18df96e08a9d579583b419010d7f3da8ff503/opencv_python-4.11.0.86-cp37-abi3-macosx_13_0_x86_64.whl", hash = "sha256:9d05ef13d23fe97f575153558653e2d6e87103995d54e6a35db3f282fe1f9c66", size = 56723197, upload-time = "2025-01-16T13:55:21.222Z" }, + { url = "https://files.pythonhosted.org/packages/f3/bd/29c126788da65c1fb2b5fb621b7fed0ed5f9122aa22a0868c5e2c15c6d23/opencv_python-4.11.0.86-cp37-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:1b92ae2c8852208817e6776ba1ea0d6b1e0a1b5431e971a2a0ddd2a8cc398202", size = 42230439, upload-time = "2025-01-16T13:51:35.822Z" }, + { url = "https://files.pythonhosted.org/packages/2c/8b/90eb44a40476fa0e71e05a0283947cfd74a5d36121a11d926ad6f3193cc4/opencv_python-4.11.0.86-cp37-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:6b02611523803495003bd87362db3e1d2a0454a6a63025dc6658a9830570aa0d", size = 62986597, upload-time = "2025-01-16T13:52:08.836Z" }, + { url = "https://files.pythonhosted.org/packages/fb/d7/1d5941a9dde095468b288d989ff6539dd69cd429dbf1b9e839013d21b6f0/opencv_python-4.11.0.86-cp37-abi3-win32.whl", hash = "sha256:810549cb2a4aedaa84ad9a1c92fbfdfc14090e2749cedf2c1589ad8359aa169b", size = 29384337, upload-time = "2025-01-16T13:52:13.549Z" }, + { url = "https://files.pythonhosted.org/packages/a4/7d/f1c30a92854540bf789e9cd5dde7ef49bbe63f855b85a2e6b3db8135c591/opencv_python-4.11.0.86-cp37-abi3-win_amd64.whl", hash = "sha256:085ad9b77c18853ea66283e98affefe2de8cc4c1f43eda4c100cf9b2721142ec", size = 39488044, upload-time = "2025-01-16T13:52:21.928Z" }, ] [[package]] name = "overrides" version = "7.7.0" source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/36/86/b585f53236dec60aba864e050778b25045f857e17f6e5ea0ae95fe80edd2/overrides-7.7.0.tar.gz", hash = "sha256:55158fa3d93b98cc75299b1e67078ad9003ca27945c76162c1c0766d6f91820a", size = 22812 } +sdist = { url = "https://files.pythonhosted.org/packages/36/86/b585f53236dec60aba864e050778b25045f857e17f6e5ea0ae95fe80edd2/overrides-7.7.0.tar.gz", hash = "sha256:55158fa3d93b98cc75299b1e67078ad9003ca27945c76162c1c0766d6f91820a", size = 22812, upload-time = "2024-01-27T21:01:33.423Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/2c/ab/fc8290c6a4c722e5514d80f62b2dc4c4df1a68a41d1364e625c35990fcf3/overrides-7.7.0-py3-none-any.whl", hash = "sha256:c7ed9d062f78b8e4c1a7b70bd8796b35ead4d9f510227ef9c5dc7626c60d7e49", size = 17832 }, + { url = "https://files.pythonhosted.org/packages/2c/ab/fc8290c6a4c722e5514d80f62b2dc4c4df1a68a41d1364e625c35990fcf3/overrides-7.7.0-py3-none-any.whl", hash = "sha256:c7ed9d062f78b8e4c1a7b70bd8796b35ead4d9f510227ef9c5dc7626c60d7e49", size = 17832, upload-time = "2024-01-27T21:01:31.393Z" }, ] [[package]] name = "packaging" version = "24.2" source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/d0/63/68dbb6eb2de9cb10ee4c9c14a0148804425e13c4fb20d61cce69f53106da/packaging-24.2.tar.gz", hash = "sha256:c228a6dc5e932d346bc5739379109d49e8853dd8223571c7c5b55260edc0b97f", size = 163950 } +sdist = { url = "https://files.pythonhosted.org/packages/d0/63/68dbb6eb2de9cb10ee4c9c14a0148804425e13c4fb20d61cce69f53106da/packaging-24.2.tar.gz", hash = "sha256:c228a6dc5e932d346bc5739379109d49e8853dd8223571c7c5b55260edc0b97f", size = 163950, upload-time = "2024-11-08T09:47:47.202Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/88/ef/eb23f262cca3c0c4eb7ab1933c3b1f03d021f2c48f54763065b6f0e321be/packaging-24.2-py3-none-any.whl", hash = "sha256:09abb1bccd265c01f4a3aa3f7a7db064b36514d2cba19a2f694fe6150451a759", size = 65451 }, + { url = "https://files.pythonhosted.org/packages/88/ef/eb23f262cca3c0c4eb7ab1933c3b1f03d021f2c48f54763065b6f0e321be/packaging-24.2-py3-none-any.whl", hash = "sha256:09abb1bccd265c01f4a3aa3f7a7db064b36514d2cba19a2f694fe6150451a759", size = 65451, upload-time = "2024-11-08T09:47:44.722Z" }, ] [[package]] name = "paginate" version = "0.5.7" source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/ec/46/68dde5b6bc00c1296ec6466ab27dddede6aec9af1b99090e1107091b3b84/paginate-0.5.7.tar.gz", hash = "sha256:22bd083ab41e1a8b4f3690544afb2c60c25e5c9a63a30fa2f483f6c60c8e5945", size = 19252 } +sdist = { url = "https://files.pythonhosted.org/packages/ec/46/68dde5b6bc00c1296ec6466ab27dddede6aec9af1b99090e1107091b3b84/paginate-0.5.7.tar.gz", hash = "sha256:22bd083ab41e1a8b4f3690544afb2c60c25e5c9a63a30fa2f483f6c60c8e5945", size = 19252, upload-time = "2024-08-25T14:17:24.139Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/90/96/04b8e52da071d28f5e21a805b19cb9390aa17a47462ac87f5e2696b9566d/paginate-0.5.7-py2.py3-none-any.whl", hash = "sha256:b885e2af73abcf01d9559fd5216b57ef722f8c42affbb63942377668e35c7591", size = 13746 }, + { url = "https://files.pythonhosted.org/packages/90/96/04b8e52da071d28f5e21a805b19cb9390aa17a47462ac87f5e2696b9566d/paginate-0.5.7-py2.py3-none-any.whl", hash = "sha256:b885e2af73abcf01d9559fd5216b57ef722f8c42affbb63942377668e35c7591", size = 13746, upload-time = "2024-08-25T14:17:22.55Z" }, ] [[package]] @@ -3345,32 +3345,32 @@ dependencies = [ { name = "pytz", marker = "python_full_version < '3.9'" }, { name = "tzdata", marker = "python_full_version < '3.9'" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/b1/a7/824332581e258b5aa4f3763ecb2a797e5f9a54269044ba2e50ac19936b32/pandas-2.0.3.tar.gz", hash = "sha256:c02f372a88e0d17f36d3093a644c73cfc1788e876a7c4bcb4020a77512e2043c", size = 5284455 } -wheels = [ - { url = "https://files.pythonhosted.org/packages/3c/b2/0d4a5729ce1ce11630c4fc5d5522a33b967b3ca146c210f58efde7c40e99/pandas-2.0.3-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:e4c7c9f27a4185304c7caf96dc7d91bc60bc162221152de697c98eb0b2648dd8", size = 11760908 }, - { url = "https://files.pythonhosted.org/packages/4a/f6/f620ca62365d83e663a255a41b08d2fc2eaf304e0b8b21bb6d62a7390fe3/pandas-2.0.3-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:f167beed68918d62bffb6ec64f2e1d8a7d297a038f86d4aed056b9493fca407f", size = 10823486 }, - { url = "https://files.pythonhosted.org/packages/c2/59/cb4234bc9b968c57e81861b306b10cd8170272c57b098b724d3de5eda124/pandas-2.0.3-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:ce0c6f76a0f1ba361551f3e6dceaff06bde7514a374aa43e33b588ec10420183", size = 11571897 }, - { url = "https://files.pythonhosted.org/packages/e3/59/35a2892bf09ded9c1bf3804461efe772836a5261ef5dfb4e264ce813ff99/pandas-2.0.3-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ba619e410a21d8c387a1ea6e8a0e49bb42216474436245718d7f2e88a2f8d7c0", size = 12306421 }, - { url = "https://files.pythonhosted.org/packages/94/71/3a0c25433c54bb29b48e3155b959ac78f4c4f2f06f94d8318aac612cb80f/pandas-2.0.3-cp310-cp310-win32.whl", hash = "sha256:3ef285093b4fe5058eefd756100a367f27029913760773c8bf1d2d8bebe5d210", size = 9540792 }, - { url = "https://files.pythonhosted.org/packages/ed/30/b97456e7063edac0e5a405128065f0cd2033adfe3716fb2256c186bd41d0/pandas-2.0.3-cp310-cp310-win_amd64.whl", hash = "sha256:9ee1a69328d5c36c98d8e74db06f4ad518a1840e8ccb94a4ba86920986bb617e", size = 10664333 }, - { url = "https://files.pythonhosted.org/packages/b3/92/a5e5133421b49e901a12e02a6a7ef3a0130e10d13db8cb657fdd0cba3b90/pandas-2.0.3-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:b084b91d8d66ab19f5bb3256cbd5ea661848338301940e17f4492b2ce0801fe8", size = 11645672 }, - { url = "https://files.pythonhosted.org/packages/8f/bb/aea1fbeed5b474cb8634364718abe9030d7cc7a30bf51f40bd494bbc89a2/pandas-2.0.3-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:37673e3bdf1551b95bf5d4ce372b37770f9529743d2498032439371fc7b7eb26", size = 10693229 }, - { url = "https://files.pythonhosted.org/packages/d6/90/e7d387f1a416b14e59290baa7a454a90d719baebbf77433ff1bdcc727800/pandas-2.0.3-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:b9cb1e14fdb546396b7e1b923ffaeeac24e4cedd14266c3497216dd4448e4f2d", size = 11581591 }, - { url = "https://files.pythonhosted.org/packages/d0/28/88b81881c056376254618fad622a5e94b5126db8c61157ea1910cd1c040a/pandas-2.0.3-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:d9cd88488cceb7635aebb84809d087468eb33551097d600c6dad13602029c2df", size = 12219370 }, - { url = "https://files.pythonhosted.org/packages/e4/a5/212b9039e25bf8ebb97e417a96660e3dc925dacd3f8653d531b8f7fd9be4/pandas-2.0.3-cp311-cp311-win32.whl", hash = "sha256:694888a81198786f0e164ee3a581df7d505024fbb1f15202fc7db88a71d84ebd", size = 9482935 }, - { url = "https://files.pythonhosted.org/packages/9e/71/756a1be6bee0209d8c0d8c5e3b9fc72c00373f384a4017095ec404aec3ad/pandas-2.0.3-cp311-cp311-win_amd64.whl", hash = "sha256:6a21ab5c89dcbd57f78d0ae16630b090eec626360085a4148693def5452d8a6b", size = 10607692 }, - { url = "https://files.pythonhosted.org/packages/78/a8/07dd10f90ca915ed914853cd57f79bfc22e1ef4384ab56cb4336d2fc1f2a/pandas-2.0.3-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:9e4da0d45e7f34c069fe4d522359df7d23badf83abc1d1cef398895822d11061", size = 11653303 }, - { url = "https://files.pythonhosted.org/packages/53/c3/f8e87361f7fdf42012def602bfa2a593423c729f5cb7c97aed7f51be66ac/pandas-2.0.3-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:32fca2ee1b0d93dd71d979726b12b61faa06aeb93cf77468776287f41ff8fdc5", size = 10710932 }, - { url = "https://files.pythonhosted.org/packages/a7/87/828d50c81ce0f434163bf70b925a0eec6076808e0bca312a79322b141f66/pandas-2.0.3-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:258d3624b3ae734490e4d63c430256e716f488c4fcb7c8e9bde2d3aa46c29089", size = 11684018 }, - { url = "https://files.pythonhosted.org/packages/f8/7f/5b047effafbdd34e52c9e2d7e44f729a0655efafb22198c45cf692cdc157/pandas-2.0.3-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:9eae3dc34fa1aa7772dd3fc60270d13ced7346fcbcfee017d3132ec625e23bb0", size = 12353723 }, - { url = "https://files.pythonhosted.org/packages/ea/ae/26a2eda7fa581347d69e51f93892493b2074ef3352ac71033c9f32c52389/pandas-2.0.3-cp38-cp38-win32.whl", hash = "sha256:f3421a7afb1a43f7e38e82e844e2bca9a6d793d66c1a7f9f0ff39a795bbc5e02", size = 9646403 }, - { url = "https://files.pythonhosted.org/packages/c3/6c/ea362eef61f05553aaf1a24b3e96b2d0603f5dc71a3bd35688a24ed88843/pandas-2.0.3-cp38-cp38-win_amd64.whl", hash = "sha256:69d7f3884c95da3a31ef82b7618af5710dba95bb885ffab339aad925c3e8ce78", size = 10777638 }, - { url = "https://files.pythonhosted.org/packages/f8/c7/cfef920b7b457dff6928e824896cb82367650ea127d048ee0b820026db4f/pandas-2.0.3-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:5247fb1ba347c1261cbbf0fcfba4a3121fbb4029d95d9ef4dc45406620b25c8b", size = 11834160 }, - { url = "https://files.pythonhosted.org/packages/6c/1c/689c9d99bc4e5d366a5fd871f0bcdee98a6581e240f96b78d2d08f103774/pandas-2.0.3-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:81af086f4543c9d8bb128328b5d32e9986e0c84d3ee673a2ac6fb57fd14f755e", size = 10862752 }, - { url = "https://files.pythonhosted.org/packages/cc/b8/4d082f41c27c95bf90485d1447b647cc7e5680fea75e315669dc6e4cb398/pandas-2.0.3-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:1994c789bf12a7c5098277fb43836ce090f1073858c10f9220998ac74f37c69b", size = 11715852 }, - { url = "https://files.pythonhosted.org/packages/9e/0d/91a9fd2c202f2b1d97a38ab591890f86480ecbb596cbc56d035f6f23fdcc/pandas-2.0.3-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:5ec591c48e29226bcbb316e0c1e9423622bc7a4eaf1ef7c3c9fa1a3981f89641", size = 12398496 }, - { url = "https://files.pythonhosted.org/packages/26/7d/d8aa0a2c4f3f5f8ea59fb946c8eafe8f508090ca73e2b08a9af853c1103e/pandas-2.0.3-cp39-cp39-win32.whl", hash = "sha256:04dbdbaf2e4d46ca8da896e1805bc04eb85caa9a82e259e8eed00254d5e0c682", size = 9630766 }, - { url = "https://files.pythonhosted.org/packages/9a/f2/0ad053856debbe90c83de1b4f05915f85fd2146f20faf9daa3b320d36df3/pandas-2.0.3-cp39-cp39-win_amd64.whl", hash = "sha256:1168574b036cd8b93abc746171c9b4f1b83467438a5e45909fed645cf8692dbc", size = 10755902 }, +sdist = { url = "https://files.pythonhosted.org/packages/b1/a7/824332581e258b5aa4f3763ecb2a797e5f9a54269044ba2e50ac19936b32/pandas-2.0.3.tar.gz", hash = "sha256:c02f372a88e0d17f36d3093a644c73cfc1788e876a7c4bcb4020a77512e2043c", size = 5284455, upload-time = "2023-06-28T23:19:33.371Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/3c/b2/0d4a5729ce1ce11630c4fc5d5522a33b967b3ca146c210f58efde7c40e99/pandas-2.0.3-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:e4c7c9f27a4185304c7caf96dc7d91bc60bc162221152de697c98eb0b2648dd8", size = 11760908, upload-time = "2023-06-28T23:15:57.001Z" }, + { url = "https://files.pythonhosted.org/packages/4a/f6/f620ca62365d83e663a255a41b08d2fc2eaf304e0b8b21bb6d62a7390fe3/pandas-2.0.3-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:f167beed68918d62bffb6ec64f2e1d8a7d297a038f86d4aed056b9493fca407f", size = 10823486, upload-time = "2023-06-28T23:16:06.863Z" }, + { url = "https://files.pythonhosted.org/packages/c2/59/cb4234bc9b968c57e81861b306b10cd8170272c57b098b724d3de5eda124/pandas-2.0.3-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:ce0c6f76a0f1ba361551f3e6dceaff06bde7514a374aa43e33b588ec10420183", size = 11571897, upload-time = "2023-06-28T23:16:14.208Z" }, + { url = "https://files.pythonhosted.org/packages/e3/59/35a2892bf09ded9c1bf3804461efe772836a5261ef5dfb4e264ce813ff99/pandas-2.0.3-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ba619e410a21d8c387a1ea6e8a0e49bb42216474436245718d7f2e88a2f8d7c0", size = 12306421, upload-time = "2023-06-28T23:16:23.26Z" }, + { url = "https://files.pythonhosted.org/packages/94/71/3a0c25433c54bb29b48e3155b959ac78f4c4f2f06f94d8318aac612cb80f/pandas-2.0.3-cp310-cp310-win32.whl", hash = "sha256:3ef285093b4fe5058eefd756100a367f27029913760773c8bf1d2d8bebe5d210", size = 9540792, upload-time = "2023-06-28T23:16:30.876Z" }, + { url = "https://files.pythonhosted.org/packages/ed/30/b97456e7063edac0e5a405128065f0cd2033adfe3716fb2256c186bd41d0/pandas-2.0.3-cp310-cp310-win_amd64.whl", hash = "sha256:9ee1a69328d5c36c98d8e74db06f4ad518a1840e8ccb94a4ba86920986bb617e", size = 10664333, upload-time = "2023-06-28T23:16:39.209Z" }, + { url = "https://files.pythonhosted.org/packages/b3/92/a5e5133421b49e901a12e02a6a7ef3a0130e10d13db8cb657fdd0cba3b90/pandas-2.0.3-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:b084b91d8d66ab19f5bb3256cbd5ea661848338301940e17f4492b2ce0801fe8", size = 11645672, upload-time = "2023-06-28T23:16:47.601Z" }, + { url = "https://files.pythonhosted.org/packages/8f/bb/aea1fbeed5b474cb8634364718abe9030d7cc7a30bf51f40bd494bbc89a2/pandas-2.0.3-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:37673e3bdf1551b95bf5d4ce372b37770f9529743d2498032439371fc7b7eb26", size = 10693229, upload-time = "2023-06-28T23:16:56.397Z" }, + { url = "https://files.pythonhosted.org/packages/d6/90/e7d387f1a416b14e59290baa7a454a90d719baebbf77433ff1bdcc727800/pandas-2.0.3-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:b9cb1e14fdb546396b7e1b923ffaeeac24e4cedd14266c3497216dd4448e4f2d", size = 11581591, upload-time = "2023-06-28T23:17:04.234Z" }, + { url = "https://files.pythonhosted.org/packages/d0/28/88b81881c056376254618fad622a5e94b5126db8c61157ea1910cd1c040a/pandas-2.0.3-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:d9cd88488cceb7635aebb84809d087468eb33551097d600c6dad13602029c2df", size = 12219370, upload-time = "2023-06-28T23:17:11.783Z" }, + { url = "https://files.pythonhosted.org/packages/e4/a5/212b9039e25bf8ebb97e417a96660e3dc925dacd3f8653d531b8f7fd9be4/pandas-2.0.3-cp311-cp311-win32.whl", hash = "sha256:694888a81198786f0e164ee3a581df7d505024fbb1f15202fc7db88a71d84ebd", size = 9482935, upload-time = "2023-06-28T23:17:21.376Z" }, + { url = "https://files.pythonhosted.org/packages/9e/71/756a1be6bee0209d8c0d8c5e3b9fc72c00373f384a4017095ec404aec3ad/pandas-2.0.3-cp311-cp311-win_amd64.whl", hash = "sha256:6a21ab5c89dcbd57f78d0ae16630b090eec626360085a4148693def5452d8a6b", size = 10607692, upload-time = "2023-06-28T23:17:28.824Z" }, + { url = "https://files.pythonhosted.org/packages/78/a8/07dd10f90ca915ed914853cd57f79bfc22e1ef4384ab56cb4336d2fc1f2a/pandas-2.0.3-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:9e4da0d45e7f34c069fe4d522359df7d23badf83abc1d1cef398895822d11061", size = 11653303, upload-time = "2023-06-28T23:17:36.329Z" }, + { url = "https://files.pythonhosted.org/packages/53/c3/f8e87361f7fdf42012def602bfa2a593423c729f5cb7c97aed7f51be66ac/pandas-2.0.3-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:32fca2ee1b0d93dd71d979726b12b61faa06aeb93cf77468776287f41ff8fdc5", size = 10710932, upload-time = "2023-06-28T23:17:49.875Z" }, + { url = "https://files.pythonhosted.org/packages/a7/87/828d50c81ce0f434163bf70b925a0eec6076808e0bca312a79322b141f66/pandas-2.0.3-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:258d3624b3ae734490e4d63c430256e716f488c4fcb7c8e9bde2d3aa46c29089", size = 11684018, upload-time = "2023-06-28T23:18:05.845Z" }, + { url = "https://files.pythonhosted.org/packages/f8/7f/5b047effafbdd34e52c9e2d7e44f729a0655efafb22198c45cf692cdc157/pandas-2.0.3-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:9eae3dc34fa1aa7772dd3fc60270d13ced7346fcbcfee017d3132ec625e23bb0", size = 12353723, upload-time = "2023-06-28T23:18:17.631Z" }, + { url = "https://files.pythonhosted.org/packages/ea/ae/26a2eda7fa581347d69e51f93892493b2074ef3352ac71033c9f32c52389/pandas-2.0.3-cp38-cp38-win32.whl", hash = "sha256:f3421a7afb1a43f7e38e82e844e2bca9a6d793d66c1a7f9f0ff39a795bbc5e02", size = 9646403, upload-time = "2023-06-28T23:18:24.328Z" }, + { url = "https://files.pythonhosted.org/packages/c3/6c/ea362eef61f05553aaf1a24b3e96b2d0603f5dc71a3bd35688a24ed88843/pandas-2.0.3-cp38-cp38-win_amd64.whl", hash = "sha256:69d7f3884c95da3a31ef82b7618af5710dba95bb885ffab339aad925c3e8ce78", size = 10777638, upload-time = "2023-06-28T23:18:30.947Z" }, + { url = "https://files.pythonhosted.org/packages/f8/c7/cfef920b7b457dff6928e824896cb82367650ea127d048ee0b820026db4f/pandas-2.0.3-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:5247fb1ba347c1261cbbf0fcfba4a3121fbb4029d95d9ef4dc45406620b25c8b", size = 11834160, upload-time = "2023-06-28T23:18:40.332Z" }, + { url = "https://files.pythonhosted.org/packages/6c/1c/689c9d99bc4e5d366a5fd871f0bcdee98a6581e240f96b78d2d08f103774/pandas-2.0.3-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:81af086f4543c9d8bb128328b5d32e9986e0c84d3ee673a2ac6fb57fd14f755e", size = 10862752, upload-time = "2023-06-28T23:18:50.016Z" }, + { url = "https://files.pythonhosted.org/packages/cc/b8/4d082f41c27c95bf90485d1447b647cc7e5680fea75e315669dc6e4cb398/pandas-2.0.3-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:1994c789bf12a7c5098277fb43836ce090f1073858c10f9220998ac74f37c69b", size = 11715852, upload-time = "2023-06-28T23:19:00.594Z" }, + { url = "https://files.pythonhosted.org/packages/9e/0d/91a9fd2c202f2b1d97a38ab591890f86480ecbb596cbc56d035f6f23fdcc/pandas-2.0.3-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:5ec591c48e29226bcbb316e0c1e9423622bc7a4eaf1ef7c3c9fa1a3981f89641", size = 12398496, upload-time = "2023-06-28T23:19:11.78Z" }, + { url = "https://files.pythonhosted.org/packages/26/7d/d8aa0a2c4f3f5f8ea59fb946c8eafe8f508090ca73e2b08a9af853c1103e/pandas-2.0.3-cp39-cp39-win32.whl", hash = "sha256:04dbdbaf2e4d46ca8da896e1805bc04eb85caa9a82e259e8eed00254d5e0c682", size = 9630766, upload-time = "2023-06-28T23:19:18.182Z" }, + { url = "https://files.pythonhosted.org/packages/9a/f2/0ad053856debbe90c83de1b4f05915f85fd2146f20faf9daa3b320d36df3/pandas-2.0.3-cp39-cp39-win_amd64.whl", hash = "sha256:1168574b036cd8b93abc746171c9b4f1b83467438a5e45909fed645cf8692dbc", size = 10755902, upload-time = "2023-06-28T23:19:25.151Z" }, ] [[package]] @@ -3398,76 +3398,76 @@ dependencies = [ { name = "pytz", marker = "python_full_version >= '3.9'" }, { name = "tzdata", marker = "python_full_version >= '3.9'" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/9c/d6/9f8431bacc2e19dca897724cd097b1bb224a6ad5433784a44b587c7c13af/pandas-2.2.3.tar.gz", hash = "sha256:4f18ba62b61d7e192368b84517265a99b4d7ee8912f8708660fb4a366cc82667", size = 4399213 } -wheels = [ - { url = "https://files.pythonhosted.org/packages/aa/70/c853aec59839bceed032d52010ff5f1b8d87dc3114b762e4ba2727661a3b/pandas-2.2.3-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:1948ddde24197a0f7add2bdc4ca83bf2b1ef84a1bc8ccffd95eda17fd836ecb5", size = 12580827 }, - { url = "https://files.pythonhosted.org/packages/99/f2/c4527768739ffa4469b2b4fff05aa3768a478aed89a2f271a79a40eee984/pandas-2.2.3-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:381175499d3802cde0eabbaf6324cce0c4f5d52ca6f8c377c29ad442f50f6348", size = 11303897 }, - { url = "https://files.pythonhosted.org/packages/ed/12/86c1747ea27989d7a4064f806ce2bae2c6d575b950be087837bdfcabacc9/pandas-2.2.3-cp310-cp310-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:d9c45366def9a3dd85a6454c0e7908f2b3b8e9c138f5dc38fed7ce720d8453ed", size = 66480908 }, - { url = "https://files.pythonhosted.org/packages/44/50/7db2cd5e6373ae796f0ddad3675268c8d59fb6076e66f0c339d61cea886b/pandas-2.2.3-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:86976a1c5b25ae3f8ccae3a5306e443569ee3c3faf444dfd0f41cda24667ad57", size = 13064210 }, - { url = "https://files.pythonhosted.org/packages/61/61/a89015a6d5536cb0d6c3ba02cebed51a95538cf83472975275e28ebf7d0c/pandas-2.2.3-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:b8661b0238a69d7aafe156b7fa86c44b881387509653fdf857bebc5e4008ad42", size = 16754292 }, - { url = "https://files.pythonhosted.org/packages/ce/0d/4cc7b69ce37fac07645a94e1d4b0880b15999494372c1523508511b09e40/pandas-2.2.3-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:37e0aced3e8f539eccf2e099f65cdb9c8aa85109b0be6e93e2baff94264bdc6f", size = 14416379 }, - { url = "https://files.pythonhosted.org/packages/31/9e/6ebb433de864a6cd45716af52a4d7a8c3c9aaf3a98368e61db9e69e69a9c/pandas-2.2.3-cp310-cp310-win_amd64.whl", hash = "sha256:56534ce0746a58afaf7942ba4863e0ef81c9c50d3f0ae93e9497d6a41a057645", size = 11598471 }, - { url = "https://files.pythonhosted.org/packages/a8/44/d9502bf0ed197ba9bf1103c9867d5904ddcaf869e52329787fc54ed70cc8/pandas-2.2.3-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:66108071e1b935240e74525006034333f98bcdb87ea116de573a6a0dccb6c039", size = 12602222 }, - { url = "https://files.pythonhosted.org/packages/52/11/9eac327a38834f162b8250aab32a6781339c69afe7574368fffe46387edf/pandas-2.2.3-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:7c2875855b0ff77b2a64a0365e24455d9990730d6431b9e0ee18ad8acee13dbd", size = 11321274 }, - { url = "https://files.pythonhosted.org/packages/45/fb/c4beeb084718598ba19aa9f5abbc8aed8b42f90930da861fcb1acdb54c3a/pandas-2.2.3-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:cd8d0c3be0515c12fed0bdbae072551c8b54b7192c7b1fda0ba56059a0179698", size = 15579836 }, - { url = "https://files.pythonhosted.org/packages/cd/5f/4dba1d39bb9c38d574a9a22548c540177f78ea47b32f99c0ff2ec499fac5/pandas-2.2.3-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:c124333816c3a9b03fbeef3a9f230ba9a737e9e5bb4060aa2107a86cc0a497fc", size = 13058505 }, - { url = "https://files.pythonhosted.org/packages/b9/57/708135b90391995361636634df1f1130d03ba456e95bcf576fada459115a/pandas-2.2.3-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:63cc132e40a2e084cf01adf0775b15ac515ba905d7dcca47e9a251819c575ef3", size = 16744420 }, - { url = "https://files.pythonhosted.org/packages/86/4a/03ed6b7ee323cf30404265c284cee9c65c56a212e0a08d9ee06984ba2240/pandas-2.2.3-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:29401dbfa9ad77319367d36940cd8a0b3a11aba16063e39632d98b0e931ddf32", size = 14440457 }, - { url = "https://files.pythonhosted.org/packages/ed/8c/87ddf1fcb55d11f9f847e3c69bb1c6f8e46e2f40ab1a2d2abadb2401b007/pandas-2.2.3-cp311-cp311-win_amd64.whl", hash = "sha256:3fc6873a41186404dad67245896a6e440baacc92f5b716ccd1bc9ed2995ab2c5", size = 11617166 }, - { url = "https://files.pythonhosted.org/packages/17/a3/fb2734118db0af37ea7433f57f722c0a56687e14b14690edff0cdb4b7e58/pandas-2.2.3-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:b1d432e8d08679a40e2a6d8b2f9770a5c21793a6f9f47fdd52c5ce1948a5a8a9", size = 12529893 }, - { url = "https://files.pythonhosted.org/packages/e1/0c/ad295fd74bfac85358fd579e271cded3ac969de81f62dd0142c426b9da91/pandas-2.2.3-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:a5a1595fe639f5988ba6a8e5bc9649af3baf26df3998a0abe56c02609392e0a4", size = 11363475 }, - { url = "https://files.pythonhosted.org/packages/c6/2a/4bba3f03f7d07207481fed47f5b35f556c7441acddc368ec43d6643c5777/pandas-2.2.3-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:5de54125a92bb4d1c051c0659e6fcb75256bf799a732a87184e5ea503965bce3", size = 15188645 }, - { url = "https://files.pythonhosted.org/packages/38/f8/d8fddee9ed0d0c0f4a2132c1dfcf0e3e53265055da8df952a53e7eaf178c/pandas-2.2.3-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:fffb8ae78d8af97f849404f21411c95062db1496aeb3e56f146f0355c9989319", size = 12739445 }, - { url = "https://files.pythonhosted.org/packages/20/e8/45a05d9c39d2cea61ab175dbe6a2de1d05b679e8de2011da4ee190d7e748/pandas-2.2.3-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:6dfcb5ee8d4d50c06a51c2fffa6cff6272098ad6540aed1a76d15fb9318194d8", size = 16359235 }, - { url = "https://files.pythonhosted.org/packages/1d/99/617d07a6a5e429ff90c90da64d428516605a1ec7d7bea494235e1c3882de/pandas-2.2.3-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:062309c1b9ea12a50e8ce661145c6aab431b1e99530d3cd60640e255778bd43a", size = 14056756 }, - { url = "https://files.pythonhosted.org/packages/29/d4/1244ab8edf173a10fd601f7e13b9566c1b525c4f365d6bee918e68381889/pandas-2.2.3-cp312-cp312-win_amd64.whl", hash = "sha256:59ef3764d0fe818125a5097d2ae867ca3fa64df032331b7e0917cf5d7bf66b13", size = 11504248 }, - { url = "https://files.pythonhosted.org/packages/64/22/3b8f4e0ed70644e85cfdcd57454686b9057c6c38d2f74fe4b8bc2527214a/pandas-2.2.3-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:f00d1345d84d8c86a63e476bb4955e46458b304b9575dcf71102b5c705320015", size = 12477643 }, - { url = "https://files.pythonhosted.org/packages/e4/93/b3f5d1838500e22c8d793625da672f3eec046b1a99257666c94446969282/pandas-2.2.3-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:3508d914817e153ad359d7e069d752cdd736a247c322d932eb89e6bc84217f28", size = 11281573 }, - { url = "https://files.pythonhosted.org/packages/f5/94/6c79b07f0e5aab1dcfa35a75f4817f5c4f677931d4234afcd75f0e6a66ca/pandas-2.2.3-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:22a9d949bfc9a502d320aa04e5d02feab689d61da4e7764b62c30b991c42c5f0", size = 15196085 }, - { url = "https://files.pythonhosted.org/packages/e8/31/aa8da88ca0eadbabd0a639788a6da13bb2ff6edbbb9f29aa786450a30a91/pandas-2.2.3-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f3a255b2c19987fbbe62a9dfd6cff7ff2aa9ccab3fc75218fd4b7530f01efa24", size = 12711809 }, - { url = "https://files.pythonhosted.org/packages/ee/7c/c6dbdb0cb2a4344cacfb8de1c5808ca885b2e4dcfde8008266608f9372af/pandas-2.2.3-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:800250ecdadb6d9c78eae4990da62743b857b470883fa27f652db8bdde7f6659", size = 16356316 }, - { url = "https://files.pythonhosted.org/packages/57/b7/8b757e7d92023b832869fa8881a992696a0bfe2e26f72c9ae9f255988d42/pandas-2.2.3-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:6374c452ff3ec675a8f46fd9ab25c4ad0ba590b71cf0656f8b6daa5202bca3fb", size = 14022055 }, - { url = "https://files.pythonhosted.org/packages/3b/bc/4b18e2b8c002572c5a441a64826252ce5da2aa738855747247a971988043/pandas-2.2.3-cp313-cp313-win_amd64.whl", hash = "sha256:61c5ad4043f791b61dd4752191d9f07f0ae412515d59ba8f005832a532f8736d", size = 11481175 }, - { url = "https://files.pythonhosted.org/packages/76/a3/a5d88146815e972d40d19247b2c162e88213ef51c7c25993942c39dbf41d/pandas-2.2.3-cp313-cp313t-macosx_10_13_x86_64.whl", hash = "sha256:3b71f27954685ee685317063bf13c7709a7ba74fc996b84fc6821c59b0f06468", size = 12615650 }, - { url = "https://files.pythonhosted.org/packages/9c/8c/f0fd18f6140ddafc0c24122c8a964e48294acc579d47def376fef12bcb4a/pandas-2.2.3-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:38cf8125c40dae9d5acc10fa66af8ea6fdf760b2714ee482ca691fc66e6fcb18", size = 11290177 }, - { url = "https://files.pythonhosted.org/packages/ed/f9/e995754eab9c0f14c6777401f7eece0943840b7a9fc932221c19d1abee9f/pandas-2.2.3-cp313-cp313t-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:ba96630bc17c875161df3818780af30e43be9b166ce51c9a18c1feae342906c2", size = 14651526 }, - { url = "https://files.pythonhosted.org/packages/25/b0/98d6ae2e1abac4f35230aa756005e8654649d305df9a28b16b9ae4353bff/pandas-2.2.3-cp313-cp313t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:1db71525a1538b30142094edb9adc10be3f3e176748cd7acc2240c2f2e5aa3a4", size = 11871013 }, - { url = "https://files.pythonhosted.org/packages/cc/57/0f72a10f9db6a4628744c8e8f0df4e6e21de01212c7c981d31e50ffc8328/pandas-2.2.3-cp313-cp313t-musllinux_1_2_aarch64.whl", hash = "sha256:15c0e1e02e93116177d29ff83e8b1619c93ddc9c49083f237d4312337a61165d", size = 15711620 }, - { url = "https://files.pythonhosted.org/packages/ab/5f/b38085618b950b79d2d9164a711c52b10aefc0ae6833b96f626b7021b2ed/pandas-2.2.3-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:ad5b65698ab28ed8d7f18790a0dc58005c7629f227be9ecc1072aa74c0c1d43a", size = 13098436 }, - { url = "https://files.pythonhosted.org/packages/ca/8c/8848a4c9b8fdf5a534fe2077af948bf53cd713d77ffbcd7bd15710348fd7/pandas-2.2.3-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:bc6b93f9b966093cb0fd62ff1a7e4c09e6d546ad7c1de191767baffc57628f39", size = 12595535 }, - { url = "https://files.pythonhosted.org/packages/9c/b9/5cead4f63b6d31bdefeb21a679bc5a7f4aaf262ca7e07e2bc1c341b68470/pandas-2.2.3-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:5dbca4c1acd72e8eeef4753eeca07de9b1db4f398669d5994086f788a5d7cc30", size = 11319822 }, - { url = "https://files.pythonhosted.org/packages/31/af/89e35619fb573366fa68dc26dad6ad2c08c17b8004aad6d98f1a31ce4bb3/pandas-2.2.3-cp39-cp39-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:8cd6d7cc958a3910f934ea8dbdf17b2364827bb4dafc38ce6eef6bb3d65ff09c", size = 15625439 }, - { url = "https://files.pythonhosted.org/packages/3d/dd/bed19c2974296661493d7acc4407b1d2db4e2a482197df100f8f965b6225/pandas-2.2.3-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:99df71520d25fade9db7c1076ac94eb994f4d2673ef2aa2e86ee039b6746d20c", size = 13068928 }, - { url = "https://files.pythonhosted.org/packages/31/a3/18508e10a31ea108d746c848b5a05c0711e0278fa0d6f1c52a8ec52b80a5/pandas-2.2.3-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:31d0ced62d4ea3e231a9f228366919a5ea0b07440d9d4dac345376fd8e1477ea", size = 16783266 }, - { url = "https://files.pythonhosted.org/packages/c4/a5/3429bd13d82bebc78f4d78c3945efedef63a7cd0c15c17b2eeb838d1121f/pandas-2.2.3-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:7eee9e7cea6adf3e3d24e304ac6b8300646e2a5d1cd3a3c2abed9101b0846761", size = 14450871 }, - { url = "https://files.pythonhosted.org/packages/2f/49/5c30646e96c684570925b772eac4eb0a8cb0ca590fa978f56c5d3ae73ea1/pandas-2.2.3-cp39-cp39-win_amd64.whl", hash = "sha256:4850ba03528b6dd51d6c5d273c46f183f39a9baf3f0143e566b89450965b105e", size = 11618011 }, +sdist = { url = "https://files.pythonhosted.org/packages/9c/d6/9f8431bacc2e19dca897724cd097b1bb224a6ad5433784a44b587c7c13af/pandas-2.2.3.tar.gz", hash = "sha256:4f18ba62b61d7e192368b84517265a99b4d7ee8912f8708660fb4a366cc82667", size = 4399213, upload-time = "2024-09-20T13:10:04.827Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/aa/70/c853aec59839bceed032d52010ff5f1b8d87dc3114b762e4ba2727661a3b/pandas-2.2.3-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:1948ddde24197a0f7add2bdc4ca83bf2b1ef84a1bc8ccffd95eda17fd836ecb5", size = 12580827, upload-time = "2024-09-20T13:08:42.347Z" }, + { url = "https://files.pythonhosted.org/packages/99/f2/c4527768739ffa4469b2b4fff05aa3768a478aed89a2f271a79a40eee984/pandas-2.2.3-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:381175499d3802cde0eabbaf6324cce0c4f5d52ca6f8c377c29ad442f50f6348", size = 11303897, upload-time = "2024-09-20T13:08:45.807Z" }, + { url = "https://files.pythonhosted.org/packages/ed/12/86c1747ea27989d7a4064f806ce2bae2c6d575b950be087837bdfcabacc9/pandas-2.2.3-cp310-cp310-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:d9c45366def9a3dd85a6454c0e7908f2b3b8e9c138f5dc38fed7ce720d8453ed", size = 66480908, upload-time = "2024-09-20T18:37:13.513Z" }, + { url = "https://files.pythonhosted.org/packages/44/50/7db2cd5e6373ae796f0ddad3675268c8d59fb6076e66f0c339d61cea886b/pandas-2.2.3-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:86976a1c5b25ae3f8ccae3a5306e443569ee3c3faf444dfd0f41cda24667ad57", size = 13064210, upload-time = "2024-09-20T13:08:48.325Z" }, + { url = "https://files.pythonhosted.org/packages/61/61/a89015a6d5536cb0d6c3ba02cebed51a95538cf83472975275e28ebf7d0c/pandas-2.2.3-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:b8661b0238a69d7aafe156b7fa86c44b881387509653fdf857bebc5e4008ad42", size = 16754292, upload-time = "2024-09-20T19:01:54.443Z" }, + { url = "https://files.pythonhosted.org/packages/ce/0d/4cc7b69ce37fac07645a94e1d4b0880b15999494372c1523508511b09e40/pandas-2.2.3-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:37e0aced3e8f539eccf2e099f65cdb9c8aa85109b0be6e93e2baff94264bdc6f", size = 14416379, upload-time = "2024-09-20T13:08:50.882Z" }, + { url = "https://files.pythonhosted.org/packages/31/9e/6ebb433de864a6cd45716af52a4d7a8c3c9aaf3a98368e61db9e69e69a9c/pandas-2.2.3-cp310-cp310-win_amd64.whl", hash = "sha256:56534ce0746a58afaf7942ba4863e0ef81c9c50d3f0ae93e9497d6a41a057645", size = 11598471, upload-time = "2024-09-20T13:08:53.332Z" }, + { url = "https://files.pythonhosted.org/packages/a8/44/d9502bf0ed197ba9bf1103c9867d5904ddcaf869e52329787fc54ed70cc8/pandas-2.2.3-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:66108071e1b935240e74525006034333f98bcdb87ea116de573a6a0dccb6c039", size = 12602222, upload-time = "2024-09-20T13:08:56.254Z" }, + { url = "https://files.pythonhosted.org/packages/52/11/9eac327a38834f162b8250aab32a6781339c69afe7574368fffe46387edf/pandas-2.2.3-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:7c2875855b0ff77b2a64a0365e24455d9990730d6431b9e0ee18ad8acee13dbd", size = 11321274, upload-time = "2024-09-20T13:08:58.645Z" }, + { url = "https://files.pythonhosted.org/packages/45/fb/c4beeb084718598ba19aa9f5abbc8aed8b42f90930da861fcb1acdb54c3a/pandas-2.2.3-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:cd8d0c3be0515c12fed0bdbae072551c8b54b7192c7b1fda0ba56059a0179698", size = 15579836, upload-time = "2024-09-20T19:01:57.571Z" }, + { url = "https://files.pythonhosted.org/packages/cd/5f/4dba1d39bb9c38d574a9a22548c540177f78ea47b32f99c0ff2ec499fac5/pandas-2.2.3-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:c124333816c3a9b03fbeef3a9f230ba9a737e9e5bb4060aa2107a86cc0a497fc", size = 13058505, upload-time = "2024-09-20T13:09:01.501Z" }, + { url = "https://files.pythonhosted.org/packages/b9/57/708135b90391995361636634df1f1130d03ba456e95bcf576fada459115a/pandas-2.2.3-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:63cc132e40a2e084cf01adf0775b15ac515ba905d7dcca47e9a251819c575ef3", size = 16744420, upload-time = "2024-09-20T19:02:00.678Z" }, + { url = "https://files.pythonhosted.org/packages/86/4a/03ed6b7ee323cf30404265c284cee9c65c56a212e0a08d9ee06984ba2240/pandas-2.2.3-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:29401dbfa9ad77319367d36940cd8a0b3a11aba16063e39632d98b0e931ddf32", size = 14440457, upload-time = "2024-09-20T13:09:04.105Z" }, + { url = "https://files.pythonhosted.org/packages/ed/8c/87ddf1fcb55d11f9f847e3c69bb1c6f8e46e2f40ab1a2d2abadb2401b007/pandas-2.2.3-cp311-cp311-win_amd64.whl", hash = "sha256:3fc6873a41186404dad67245896a6e440baacc92f5b716ccd1bc9ed2995ab2c5", size = 11617166, upload-time = "2024-09-20T13:09:06.917Z" }, + { url = "https://files.pythonhosted.org/packages/17/a3/fb2734118db0af37ea7433f57f722c0a56687e14b14690edff0cdb4b7e58/pandas-2.2.3-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:b1d432e8d08679a40e2a6d8b2f9770a5c21793a6f9f47fdd52c5ce1948a5a8a9", size = 12529893, upload-time = "2024-09-20T13:09:09.655Z" }, + { url = "https://files.pythonhosted.org/packages/e1/0c/ad295fd74bfac85358fd579e271cded3ac969de81f62dd0142c426b9da91/pandas-2.2.3-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:a5a1595fe639f5988ba6a8e5bc9649af3baf26df3998a0abe56c02609392e0a4", size = 11363475, upload-time = "2024-09-20T13:09:14.718Z" }, + { url = "https://files.pythonhosted.org/packages/c6/2a/4bba3f03f7d07207481fed47f5b35f556c7441acddc368ec43d6643c5777/pandas-2.2.3-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:5de54125a92bb4d1c051c0659e6fcb75256bf799a732a87184e5ea503965bce3", size = 15188645, upload-time = "2024-09-20T19:02:03.88Z" }, + { url = "https://files.pythonhosted.org/packages/38/f8/d8fddee9ed0d0c0f4a2132c1dfcf0e3e53265055da8df952a53e7eaf178c/pandas-2.2.3-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:fffb8ae78d8af97f849404f21411c95062db1496aeb3e56f146f0355c9989319", size = 12739445, upload-time = "2024-09-20T13:09:17.621Z" }, + { url = "https://files.pythonhosted.org/packages/20/e8/45a05d9c39d2cea61ab175dbe6a2de1d05b679e8de2011da4ee190d7e748/pandas-2.2.3-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:6dfcb5ee8d4d50c06a51c2fffa6cff6272098ad6540aed1a76d15fb9318194d8", size = 16359235, upload-time = "2024-09-20T19:02:07.094Z" }, + { url = "https://files.pythonhosted.org/packages/1d/99/617d07a6a5e429ff90c90da64d428516605a1ec7d7bea494235e1c3882de/pandas-2.2.3-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:062309c1b9ea12a50e8ce661145c6aab431b1e99530d3cd60640e255778bd43a", size = 14056756, upload-time = "2024-09-20T13:09:20.474Z" }, + { url = "https://files.pythonhosted.org/packages/29/d4/1244ab8edf173a10fd601f7e13b9566c1b525c4f365d6bee918e68381889/pandas-2.2.3-cp312-cp312-win_amd64.whl", hash = "sha256:59ef3764d0fe818125a5097d2ae867ca3fa64df032331b7e0917cf5d7bf66b13", size = 11504248, upload-time = "2024-09-20T13:09:23.137Z" }, + { url = "https://files.pythonhosted.org/packages/64/22/3b8f4e0ed70644e85cfdcd57454686b9057c6c38d2f74fe4b8bc2527214a/pandas-2.2.3-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:f00d1345d84d8c86a63e476bb4955e46458b304b9575dcf71102b5c705320015", size = 12477643, upload-time = "2024-09-20T13:09:25.522Z" }, + { url = "https://files.pythonhosted.org/packages/e4/93/b3f5d1838500e22c8d793625da672f3eec046b1a99257666c94446969282/pandas-2.2.3-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:3508d914817e153ad359d7e069d752cdd736a247c322d932eb89e6bc84217f28", size = 11281573, upload-time = "2024-09-20T13:09:28.012Z" }, + { url = "https://files.pythonhosted.org/packages/f5/94/6c79b07f0e5aab1dcfa35a75f4817f5c4f677931d4234afcd75f0e6a66ca/pandas-2.2.3-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:22a9d949bfc9a502d320aa04e5d02feab689d61da4e7764b62c30b991c42c5f0", size = 15196085, upload-time = "2024-09-20T19:02:10.451Z" }, + { url = "https://files.pythonhosted.org/packages/e8/31/aa8da88ca0eadbabd0a639788a6da13bb2ff6edbbb9f29aa786450a30a91/pandas-2.2.3-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f3a255b2c19987fbbe62a9dfd6cff7ff2aa9ccab3fc75218fd4b7530f01efa24", size = 12711809, upload-time = "2024-09-20T13:09:30.814Z" }, + { url = "https://files.pythonhosted.org/packages/ee/7c/c6dbdb0cb2a4344cacfb8de1c5808ca885b2e4dcfde8008266608f9372af/pandas-2.2.3-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:800250ecdadb6d9c78eae4990da62743b857b470883fa27f652db8bdde7f6659", size = 16356316, upload-time = "2024-09-20T19:02:13.825Z" }, + { url = "https://files.pythonhosted.org/packages/57/b7/8b757e7d92023b832869fa8881a992696a0bfe2e26f72c9ae9f255988d42/pandas-2.2.3-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:6374c452ff3ec675a8f46fd9ab25c4ad0ba590b71cf0656f8b6daa5202bca3fb", size = 14022055, upload-time = "2024-09-20T13:09:33.462Z" }, + { url = "https://files.pythonhosted.org/packages/3b/bc/4b18e2b8c002572c5a441a64826252ce5da2aa738855747247a971988043/pandas-2.2.3-cp313-cp313-win_amd64.whl", hash = "sha256:61c5ad4043f791b61dd4752191d9f07f0ae412515d59ba8f005832a532f8736d", size = 11481175, upload-time = "2024-09-20T13:09:35.871Z" }, + { url = "https://files.pythonhosted.org/packages/76/a3/a5d88146815e972d40d19247b2c162e88213ef51c7c25993942c39dbf41d/pandas-2.2.3-cp313-cp313t-macosx_10_13_x86_64.whl", hash = "sha256:3b71f27954685ee685317063bf13c7709a7ba74fc996b84fc6821c59b0f06468", size = 12615650, upload-time = "2024-09-20T13:09:38.685Z" }, + { url = "https://files.pythonhosted.org/packages/9c/8c/f0fd18f6140ddafc0c24122c8a964e48294acc579d47def376fef12bcb4a/pandas-2.2.3-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:38cf8125c40dae9d5acc10fa66af8ea6fdf760b2714ee482ca691fc66e6fcb18", size = 11290177, upload-time = "2024-09-20T13:09:41.141Z" }, + { url = "https://files.pythonhosted.org/packages/ed/f9/e995754eab9c0f14c6777401f7eece0943840b7a9fc932221c19d1abee9f/pandas-2.2.3-cp313-cp313t-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:ba96630bc17c875161df3818780af30e43be9b166ce51c9a18c1feae342906c2", size = 14651526, upload-time = "2024-09-20T19:02:16.905Z" }, + { url = "https://files.pythonhosted.org/packages/25/b0/98d6ae2e1abac4f35230aa756005e8654649d305df9a28b16b9ae4353bff/pandas-2.2.3-cp313-cp313t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:1db71525a1538b30142094edb9adc10be3f3e176748cd7acc2240c2f2e5aa3a4", size = 11871013, upload-time = "2024-09-20T13:09:44.39Z" }, + { url = "https://files.pythonhosted.org/packages/cc/57/0f72a10f9db6a4628744c8e8f0df4e6e21de01212c7c981d31e50ffc8328/pandas-2.2.3-cp313-cp313t-musllinux_1_2_aarch64.whl", hash = "sha256:15c0e1e02e93116177d29ff83e8b1619c93ddc9c49083f237d4312337a61165d", size = 15711620, upload-time = "2024-09-20T19:02:20.639Z" }, + { url = "https://files.pythonhosted.org/packages/ab/5f/b38085618b950b79d2d9164a711c52b10aefc0ae6833b96f626b7021b2ed/pandas-2.2.3-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:ad5b65698ab28ed8d7f18790a0dc58005c7629f227be9ecc1072aa74c0c1d43a", size = 13098436, upload-time = "2024-09-20T13:09:48.112Z" }, + { url = "https://files.pythonhosted.org/packages/ca/8c/8848a4c9b8fdf5a534fe2077af948bf53cd713d77ffbcd7bd15710348fd7/pandas-2.2.3-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:bc6b93f9b966093cb0fd62ff1a7e4c09e6d546ad7c1de191767baffc57628f39", size = 12595535, upload-time = "2024-09-20T13:09:51.339Z" }, + { url = "https://files.pythonhosted.org/packages/9c/b9/5cead4f63b6d31bdefeb21a679bc5a7f4aaf262ca7e07e2bc1c341b68470/pandas-2.2.3-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:5dbca4c1acd72e8eeef4753eeca07de9b1db4f398669d5994086f788a5d7cc30", size = 11319822, upload-time = "2024-09-20T13:09:54.31Z" }, + { url = "https://files.pythonhosted.org/packages/31/af/89e35619fb573366fa68dc26dad6ad2c08c17b8004aad6d98f1a31ce4bb3/pandas-2.2.3-cp39-cp39-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:8cd6d7cc958a3910f934ea8dbdf17b2364827bb4dafc38ce6eef6bb3d65ff09c", size = 15625439, upload-time = "2024-09-20T19:02:23.689Z" }, + { url = "https://files.pythonhosted.org/packages/3d/dd/bed19c2974296661493d7acc4407b1d2db4e2a482197df100f8f965b6225/pandas-2.2.3-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:99df71520d25fade9db7c1076ac94eb994f4d2673ef2aa2e86ee039b6746d20c", size = 13068928, upload-time = "2024-09-20T13:09:56.746Z" }, + { url = "https://files.pythonhosted.org/packages/31/a3/18508e10a31ea108d746c848b5a05c0711e0278fa0d6f1c52a8ec52b80a5/pandas-2.2.3-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:31d0ced62d4ea3e231a9f228366919a5ea0b07440d9d4dac345376fd8e1477ea", size = 16783266, upload-time = "2024-09-20T19:02:26.247Z" }, + { url = "https://files.pythonhosted.org/packages/c4/a5/3429bd13d82bebc78f4d78c3945efedef63a7cd0c15c17b2eeb838d1121f/pandas-2.2.3-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:7eee9e7cea6adf3e3d24e304ac6b8300646e2a5d1cd3a3c2abed9101b0846761", size = 14450871, upload-time = "2024-09-20T13:09:59.779Z" }, + { url = "https://files.pythonhosted.org/packages/2f/49/5c30646e96c684570925b772eac4eb0a8cb0ca590fa978f56c5d3ae73ea1/pandas-2.2.3-cp39-cp39-win_amd64.whl", hash = "sha256:4850ba03528b6dd51d6c5d273c46f183f39a9baf3f0143e566b89450965b105e", size = 11618011, upload-time = "2024-09-20T13:10:02.351Z" }, ] [[package]] name = "pandocfilters" version = "1.5.1" source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/70/6f/3dd4940bbe001c06a65f88e36bad298bc7a0de5036115639926b0c5c0458/pandocfilters-1.5.1.tar.gz", hash = "sha256:002b4a555ee4ebc03f8b66307e287fa492e4a77b4ea14d3f934328297bb4939e", size = 8454 } +sdist = { url = "https://files.pythonhosted.org/packages/70/6f/3dd4940bbe001c06a65f88e36bad298bc7a0de5036115639926b0c5c0458/pandocfilters-1.5.1.tar.gz", hash = "sha256:002b4a555ee4ebc03f8b66307e287fa492e4a77b4ea14d3f934328297bb4939e", size = 8454, upload-time = "2024-01-18T20:08:13.726Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/ef/af/4fbc8cab944db5d21b7e2a5b8e9211a03a79852b1157e2c102fcc61ac440/pandocfilters-1.5.1-py2.py3-none-any.whl", hash = "sha256:93be382804a9cdb0a7267585f157e5d1731bbe5545a85b268d6f5fe6232de2bc", size = 8663 }, + { url = "https://files.pythonhosted.org/packages/ef/af/4fbc8cab944db5d21b7e2a5b8e9211a03a79852b1157e2c102fcc61ac440/pandocfilters-1.5.1-py2.py3-none-any.whl", hash = "sha256:93be382804a9cdb0a7267585f157e5d1731bbe5545a85b268d6f5fe6232de2bc", size = 8663, upload-time = "2024-01-18T20:08:11.28Z" }, ] [[package]] name = "parso" version = "0.8.4" source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/66/94/68e2e17afaa9169cf6412ab0f28623903be73d1b32e208d9e8e541bb086d/parso-0.8.4.tar.gz", hash = "sha256:eb3a7b58240fb99099a345571deecc0f9540ea5f4dd2fe14c2a99d6b281ab92d", size = 400609 } +sdist = { url = "https://files.pythonhosted.org/packages/66/94/68e2e17afaa9169cf6412ab0f28623903be73d1b32e208d9e8e541bb086d/parso-0.8.4.tar.gz", hash = "sha256:eb3a7b58240fb99099a345571deecc0f9540ea5f4dd2fe14c2a99d6b281ab92d", size = 400609, upload-time = "2024-04-05T09:43:55.897Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/c6/ac/dac4a63f978e4dcb3c6d3a78c4d8e0192a113d288502a1216950c41b1027/parso-0.8.4-py2.py3-none-any.whl", hash = "sha256:a418670a20291dacd2dddc80c377c5c3791378ee1e8d12bffc35420643d43f18", size = 103650 }, + { url = "https://files.pythonhosted.org/packages/c6/ac/dac4a63f978e4dcb3c6d3a78c4d8e0192a113d288502a1216950c41b1027/parso-0.8.4-py2.py3-none-any.whl", hash = "sha256:a418670a20291dacd2dddc80c377c5c3791378ee1e8d12bffc35420643d43f18", size = 103650, upload-time = "2024-04-05T09:43:53.299Z" }, ] [[package]] name = "pathspec" version = "0.12.1" source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/ca/bc/f35b8446f4531a7cb215605d100cd88b7ac6f44ab3fc94870c120ab3adbf/pathspec-0.12.1.tar.gz", hash = "sha256:a482d51503a1ab33b1c67a6c3813a26953dbdc71c31dacaef9a838c4e29f5712", size = 51043 } +sdist = { url = "https://files.pythonhosted.org/packages/ca/bc/f35b8446f4531a7cb215605d100cd88b7ac6f44ab3fc94870c120ab3adbf/pathspec-0.12.1.tar.gz", hash = "sha256:a482d51503a1ab33b1c67a6c3813a26953dbdc71c31dacaef9a838c4e29f5712", size = 51043, upload-time = "2023-12-10T22:30:45Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/cc/20/ff623b09d963f88bfde16306a54e12ee5ea43e9b597108672ff3a408aad6/pathspec-0.12.1-py3-none-any.whl", hash = "sha256:a0d503e138a4c123b27490a4f7beda6a01c6f288df0e4a8b79c7eb0dc7b4cc08", size = 31191 }, + { url = "https://files.pythonhosted.org/packages/cc/20/ff623b09d963f88bfde16306a54e12ee5ea43e9b597108672ff3a408aad6/pathspec-0.12.1-py3-none-any.whl", hash = "sha256:a0d503e138a4c123b27490a4f7beda6a01c6f288df0e4a8b79c7eb0dc7b4cc08", size = 31191, upload-time = "2023-12-10T22:30:43.14Z" }, ] [[package]] @@ -3477,141 +3477,141 @@ source = { registry = "https://pypi.org/simple" } dependencies = [ { name = "ptyprocess" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/42/92/cc564bf6381ff43ce1f4d06852fc19a2f11d180f23dc32d9588bee2f149d/pexpect-4.9.0.tar.gz", hash = "sha256:ee7d41123f3c9911050ea2c2dac107568dc43b2d3b0c7557a33212c398ead30f", size = 166450 } +sdist = { url = "https://files.pythonhosted.org/packages/42/92/cc564bf6381ff43ce1f4d06852fc19a2f11d180f23dc32d9588bee2f149d/pexpect-4.9.0.tar.gz", hash = "sha256:ee7d41123f3c9911050ea2c2dac107568dc43b2d3b0c7557a33212c398ead30f", size = 166450, upload-time = "2023-11-25T09:07:26.339Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/9e/c3/059298687310d527a58bb01f3b1965787ee3b40dce76752eda8b44e9a2c5/pexpect-4.9.0-py2.py3-none-any.whl", hash = "sha256:7236d1e080e4936be2dc3e326cec0af72acf9212a7e1d060210e70a47e253523", size = 63772 }, + { url = "https://files.pythonhosted.org/packages/9e/c3/059298687310d527a58bb01f3b1965787ee3b40dce76752eda8b44e9a2c5/pexpect-4.9.0-py2.py3-none-any.whl", hash = "sha256:7236d1e080e4936be2dc3e326cec0af72acf9212a7e1d060210e70a47e253523", size = 63772, upload-time = "2023-11-25T06:56:14.81Z" }, ] [[package]] name = "pickleshare" version = "0.7.5" source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/d8/b6/df3c1c9b616e9c0edbc4fbab6ddd09df9535849c64ba51fcb6531c32d4d8/pickleshare-0.7.5.tar.gz", hash = "sha256:87683d47965c1da65cdacaf31c8441d12b8044cdec9aca500cd78fc2c683afca", size = 6161 } +sdist = { url = "https://files.pythonhosted.org/packages/d8/b6/df3c1c9b616e9c0edbc4fbab6ddd09df9535849c64ba51fcb6531c32d4d8/pickleshare-0.7.5.tar.gz", hash = "sha256:87683d47965c1da65cdacaf31c8441d12b8044cdec9aca500cd78fc2c683afca", size = 6161, upload-time = "2018-09-25T19:17:37.249Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/9a/41/220f49aaea88bc6fa6cba8d05ecf24676326156c23b991e80b3f2fc24c77/pickleshare-0.7.5-py2.py3-none-any.whl", hash = "sha256:9649af414d74d4df115d5d718f82acb59c9d418196b7b4290ed47a12ce62df56", size = 6877 }, + { url = "https://files.pythonhosted.org/packages/9a/41/220f49aaea88bc6fa6cba8d05ecf24676326156c23b991e80b3f2fc24c77/pickleshare-0.7.5-py2.py3-none-any.whl", hash = "sha256:9649af414d74d4df115d5d718f82acb59c9d418196b7b4290ed47a12ce62df56", size = 6877, upload-time = "2018-09-25T19:17:35.817Z" }, ] [[package]] name = "pillow" version = "10.4.0" source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/cd/74/ad3d526f3bf7b6d3f408b73fde271ec69dfac8b81341a318ce825f2b3812/pillow-10.4.0.tar.gz", hash = "sha256:166c1cd4d24309b30d61f79f4a9114b7b2313d7450912277855ff5dfd7cd4a06", size = 46555059 } -wheels = [ - { url = "https://files.pythonhosted.org/packages/0e/69/a31cccd538ca0b5272be2a38347f8839b97a14be104ea08b0db92f749c74/pillow-10.4.0-cp310-cp310-macosx_10_10_x86_64.whl", hash = "sha256:4d9667937cfa347525b319ae34375c37b9ee6b525440f3ef48542fcf66f2731e", size = 3509271 }, - { url = "https://files.pythonhosted.org/packages/9a/9e/4143b907be8ea0bce215f2ae4f7480027473f8b61fcedfda9d851082a5d2/pillow-10.4.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:543f3dc61c18dafb755773efc89aae60d06b6596a63914107f75459cf984164d", size = 3375658 }, - { url = "https://files.pythonhosted.org/packages/8a/25/1fc45761955f9359b1169aa75e241551e74ac01a09f487adaaf4c3472d11/pillow-10.4.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:7928ecbf1ece13956b95d9cbcfc77137652b02763ba384d9ab508099a2eca856", size = 4332075 }, - { url = "https://files.pythonhosted.org/packages/5e/dd/425b95d0151e1d6c951f45051112394f130df3da67363b6bc75dc4c27aba/pillow-10.4.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:e4d49b85c4348ea0b31ea63bc75a9f3857869174e2bf17e7aba02945cd218e6f", size = 4444808 }, - { url = "https://files.pythonhosted.org/packages/b1/84/9a15cc5726cbbfe7f9f90bfb11f5d028586595907cd093815ca6644932e3/pillow-10.4.0-cp310-cp310-manylinux_2_28_aarch64.whl", hash = "sha256:6c762a5b0997f5659a5ef2266abc1d8851ad7749ad9a6a5506eb23d314e4f46b", size = 4356290 }, - { url = "https://files.pythonhosted.org/packages/b5/5b/6651c288b08df3b8c1e2f8c1152201e0b25d240e22ddade0f1e242fc9fa0/pillow-10.4.0-cp310-cp310-manylinux_2_28_x86_64.whl", hash = "sha256:a985e028fc183bf12a77a8bbf36318db4238a3ded7fa9df1b9a133f1cb79f8fc", size = 4525163 }, - { url = "https://files.pythonhosted.org/packages/07/8b/34854bf11a83c248505c8cb0fcf8d3d0b459a2246c8809b967963b6b12ae/pillow-10.4.0-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:812f7342b0eee081eaec84d91423d1b4650bb9828eb53d8511bcef8ce5aecf1e", size = 4463100 }, - { url = "https://files.pythonhosted.org/packages/78/63/0632aee4e82476d9cbe5200c0cdf9ba41ee04ed77887432845264d81116d/pillow-10.4.0-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:ac1452d2fbe4978c2eec89fb5a23b8387aba707ac72810d9490118817d9c0b46", size = 4592880 }, - { url = "https://files.pythonhosted.org/packages/df/56/b8663d7520671b4398b9d97e1ed9f583d4afcbefbda3c6188325e8c297bd/pillow-10.4.0-cp310-cp310-win32.whl", hash = "sha256:bcd5e41a859bf2e84fdc42f4edb7d9aba0a13d29a2abadccafad99de3feff984", size = 2235218 }, - { url = "https://files.pythonhosted.org/packages/f4/72/0203e94a91ddb4a9d5238434ae6c1ca10e610e8487036132ea9bf806ca2a/pillow-10.4.0-cp310-cp310-win_amd64.whl", hash = "sha256:ecd85a8d3e79cd7158dec1c9e5808e821feea088e2f69a974db5edf84dc53141", size = 2554487 }, - { url = "https://files.pythonhosted.org/packages/bd/52/7e7e93d7a6e4290543f17dc6f7d3af4bd0b3dd9926e2e8a35ac2282bc5f4/pillow-10.4.0-cp310-cp310-win_arm64.whl", hash = "sha256:ff337c552345e95702c5fde3158acb0625111017d0e5f24bf3acdb9cc16b90d1", size = 2243219 }, - { url = "https://files.pythonhosted.org/packages/a7/62/c9449f9c3043c37f73e7487ec4ef0c03eb9c9afc91a92b977a67b3c0bbc5/pillow-10.4.0-cp311-cp311-macosx_10_10_x86_64.whl", hash = "sha256:0a9ec697746f268507404647e531e92889890a087e03681a3606d9b920fbee3c", size = 3509265 }, - { url = "https://files.pythonhosted.org/packages/f4/5f/491dafc7bbf5a3cc1845dc0430872e8096eb9e2b6f8161509d124594ec2d/pillow-10.4.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:dfe91cb65544a1321e631e696759491ae04a2ea11d36715eca01ce07284738be", size = 3375655 }, - { url = "https://files.pythonhosted.org/packages/73/d5/c4011a76f4207a3c151134cd22a1415741e42fa5ddecec7c0182887deb3d/pillow-10.4.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:5dc6761a6efc781e6a1544206f22c80c3af4c8cf461206d46a1e6006e4429ff3", size = 4340304 }, - { url = "https://files.pythonhosted.org/packages/ac/10/c67e20445a707f7a610699bba4fe050583b688d8cd2d202572b257f46600/pillow-10.4.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:5e84b6cc6a4a3d76c153a6b19270b3526a5a8ed6b09501d3af891daa2a9de7d6", size = 4452804 }, - { url = "https://files.pythonhosted.org/packages/a9/83/6523837906d1da2b269dee787e31df3b0acb12e3d08f024965a3e7f64665/pillow-10.4.0-cp311-cp311-manylinux_2_28_aarch64.whl", hash = "sha256:bbc527b519bd3aa9d7f429d152fea69f9ad37c95f0b02aebddff592688998abe", size = 4365126 }, - { url = "https://files.pythonhosted.org/packages/ba/e5/8c68ff608a4203085158cff5cc2a3c534ec384536d9438c405ed6370d080/pillow-10.4.0-cp311-cp311-manylinux_2_28_x86_64.whl", hash = "sha256:76a911dfe51a36041f2e756b00f96ed84677cdeb75d25c767f296c1c1eda1319", size = 4533541 }, - { url = "https://files.pythonhosted.org/packages/f4/7c/01b8dbdca5bc6785573f4cee96e2358b0918b7b2c7b60d8b6f3abf87a070/pillow-10.4.0-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:59291fb29317122398786c2d44427bbd1a6d7ff54017075b22be9d21aa59bd8d", size = 4471616 }, - { url = "https://files.pythonhosted.org/packages/c8/57/2899b82394a35a0fbfd352e290945440e3b3785655a03365c0ca8279f351/pillow-10.4.0-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:416d3a5d0e8cfe4f27f574362435bc9bae57f679a7158e0096ad2beb427b8696", size = 4600802 }, - { url = "https://files.pythonhosted.org/packages/4d/d7/a44f193d4c26e58ee5d2d9db3d4854b2cfb5b5e08d360a5e03fe987c0086/pillow-10.4.0-cp311-cp311-win32.whl", hash = "sha256:7086cc1d5eebb91ad24ded9f58bec6c688e9f0ed7eb3dbbf1e4800280a896496", size = 2235213 }, - { url = "https://files.pythonhosted.org/packages/c1/d0/5866318eec2b801cdb8c82abf190c8343d8a1cd8bf5a0c17444a6f268291/pillow-10.4.0-cp311-cp311-win_amd64.whl", hash = "sha256:cbed61494057c0f83b83eb3a310f0bf774b09513307c434d4366ed64f4128a91", size = 2554498 }, - { url = "https://files.pythonhosted.org/packages/d4/c8/310ac16ac2b97e902d9eb438688de0d961660a87703ad1561fd3dfbd2aa0/pillow-10.4.0-cp311-cp311-win_arm64.whl", hash = "sha256:f5f0c3e969c8f12dd2bb7e0b15d5c468b51e5017e01e2e867335c81903046a22", size = 2243219 }, - { url = "https://files.pythonhosted.org/packages/05/cb/0353013dc30c02a8be34eb91d25e4e4cf594b59e5a55ea1128fde1e5f8ea/pillow-10.4.0-cp312-cp312-macosx_10_10_x86_64.whl", hash = "sha256:673655af3eadf4df6b5457033f086e90299fdd7a47983a13827acf7459c15d94", size = 3509350 }, - { url = "https://files.pythonhosted.org/packages/e7/cf/5c558a0f247e0bf9cec92bff9b46ae6474dd736f6d906315e60e4075f737/pillow-10.4.0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:866b6942a92f56300012f5fbac71f2d610312ee65e22f1aa2609e491284e5597", size = 3374980 }, - { url = "https://files.pythonhosted.org/packages/84/48/6e394b86369a4eb68b8a1382c78dc092245af517385c086c5094e3b34428/pillow-10.4.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:29dbdc4207642ea6aad70fbde1a9338753d33fb23ed6956e706936706f52dd80", size = 4343799 }, - { url = "https://files.pythonhosted.org/packages/3b/f3/a8c6c11fa84b59b9df0cd5694492da8c039a24cd159f0f6918690105c3be/pillow-10.4.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:bf2342ac639c4cf38799a44950bbc2dfcb685f052b9e262f446482afaf4bffca", size = 4459973 }, - { url = "https://files.pythonhosted.org/packages/7d/1b/c14b4197b80150fb64453585247e6fb2e1d93761fa0fa9cf63b102fde822/pillow-10.4.0-cp312-cp312-manylinux_2_28_aarch64.whl", hash = "sha256:f5b92f4d70791b4a67157321c4e8225d60b119c5cc9aee8ecf153aace4aad4ef", size = 4370054 }, - { url = "https://files.pythonhosted.org/packages/55/77/40daddf677897a923d5d33329acd52a2144d54a9644f2a5422c028c6bf2d/pillow-10.4.0-cp312-cp312-manylinux_2_28_x86_64.whl", hash = "sha256:86dcb5a1eb778d8b25659d5e4341269e8590ad6b4e8b44d9f4b07f8d136c414a", size = 4539484 }, - { url = "https://files.pythonhosted.org/packages/40/54/90de3e4256b1207300fb2b1d7168dd912a2fb4b2401e439ba23c2b2cabde/pillow-10.4.0-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:780c072c2e11c9b2c7ca37f9a2ee8ba66f44367ac3e5c7832afcfe5104fd6d1b", size = 4477375 }, - { url = "https://files.pythonhosted.org/packages/13/24/1bfba52f44193860918ff7c93d03d95e3f8748ca1de3ceaf11157a14cf16/pillow-10.4.0-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:37fb69d905be665f68f28a8bba3c6d3223c8efe1edf14cc4cfa06c241f8c81d9", size = 4608773 }, - { url = "https://files.pythonhosted.org/packages/55/04/5e6de6e6120451ec0c24516c41dbaf80cce1b6451f96561235ef2429da2e/pillow-10.4.0-cp312-cp312-win32.whl", hash = "sha256:7dfecdbad5c301d7b5bde160150b4db4c659cee2b69589705b6f8a0c509d9f42", size = 2235690 }, - { url = "https://files.pythonhosted.org/packages/74/0a/d4ce3c44bca8635bd29a2eab5aa181b654a734a29b263ca8efe013beea98/pillow-10.4.0-cp312-cp312-win_amd64.whl", hash = "sha256:1d846aea995ad352d4bdcc847535bd56e0fd88d36829d2c90be880ef1ee4668a", size = 2554951 }, - { url = "https://files.pythonhosted.org/packages/b5/ca/184349ee40f2e92439be9b3502ae6cfc43ac4b50bc4fc6b3de7957563894/pillow-10.4.0-cp312-cp312-win_arm64.whl", hash = "sha256:e553cad5179a66ba15bb18b353a19020e73a7921296a7979c4a2b7f6a5cd57f9", size = 2243427 }, - { url = "https://files.pythonhosted.org/packages/c3/00/706cebe7c2c12a6318aabe5d354836f54adff7156fd9e1bd6c89f4ba0e98/pillow-10.4.0-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:8bc1a764ed8c957a2e9cacf97c8b2b053b70307cf2996aafd70e91a082e70df3", size = 3525685 }, - { url = "https://files.pythonhosted.org/packages/cf/76/f658cbfa49405e5ecbfb9ba42d07074ad9792031267e782d409fd8fe7c69/pillow-10.4.0-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:6209bb41dc692ddfee4942517c19ee81b86c864b626dbfca272ec0f7cff5d9fb", size = 3374883 }, - { url = "https://files.pythonhosted.org/packages/46/2b/99c28c4379a85e65378211971c0b430d9c7234b1ec4d59b2668f6299e011/pillow-10.4.0-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:bee197b30783295d2eb680b311af15a20a8b24024a19c3a26431ff83eb8d1f70", size = 4339837 }, - { url = "https://files.pythonhosted.org/packages/f1/74/b1ec314f624c0c43711fdf0d8076f82d9d802afd58f1d62c2a86878e8615/pillow-10.4.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:1ef61f5dd14c300786318482456481463b9d6b91ebe5ef12f405afbba77ed0be", size = 4455562 }, - { url = "https://files.pythonhosted.org/packages/4a/2a/4b04157cb7b9c74372fa867096a1607e6fedad93a44deeff553ccd307868/pillow-10.4.0-cp313-cp313-manylinux_2_28_aarch64.whl", hash = "sha256:297e388da6e248c98bc4a02e018966af0c5f92dfacf5a5ca22fa01cb3179bca0", size = 4366761 }, - { url = "https://files.pythonhosted.org/packages/ac/7b/8f1d815c1a6a268fe90481232c98dd0e5fa8c75e341a75f060037bd5ceae/pillow-10.4.0-cp313-cp313-manylinux_2_28_x86_64.whl", hash = "sha256:e4db64794ccdf6cb83a59d73405f63adbe2a1887012e308828596100a0b2f6cc", size = 4536767 }, - { url = "https://files.pythonhosted.org/packages/e5/77/05fa64d1f45d12c22c314e7b97398ffb28ef2813a485465017b7978b3ce7/pillow-10.4.0-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:bd2880a07482090a3bcb01f4265f1936a903d70bc740bfcb1fd4e8a2ffe5cf5a", size = 4477989 }, - { url = "https://files.pythonhosted.org/packages/12/63/b0397cfc2caae05c3fb2f4ed1b4fc4fc878f0243510a7a6034ca59726494/pillow-10.4.0-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:4b35b21b819ac1dbd1233317adeecd63495f6babf21b7b2512d244ff6c6ce309", size = 4610255 }, - { url = "https://files.pythonhosted.org/packages/7b/f9/cfaa5082ca9bc4a6de66ffe1c12c2d90bf09c309a5f52b27759a596900e7/pillow-10.4.0-cp313-cp313-win32.whl", hash = "sha256:551d3fd6e9dc15e4c1eb6fc4ba2b39c0c7933fa113b220057a34f4bb3268a060", size = 2235603 }, - { url = "https://files.pythonhosted.org/packages/01/6a/30ff0eef6e0c0e71e55ded56a38d4859bf9d3634a94a88743897b5f96936/pillow-10.4.0-cp313-cp313-win_amd64.whl", hash = "sha256:030abdbe43ee02e0de642aee345efa443740aa4d828bfe8e2eb11922ea6a21ea", size = 2554972 }, - { url = "https://files.pythonhosted.org/packages/48/2c/2e0a52890f269435eee38b21c8218e102c621fe8d8df8b9dd06fabf879ba/pillow-10.4.0-cp313-cp313-win_arm64.whl", hash = "sha256:5b001114dd152cfd6b23befeb28d7aee43553e2402c9f159807bf55f33af8a8d", size = 2243375 }, - { url = "https://files.pythonhosted.org/packages/56/70/f40009702a477ce87d8d9faaa4de51d6562b3445d7a314accd06e4ffb01d/pillow-10.4.0-cp38-cp38-macosx_10_10_x86_64.whl", hash = "sha256:8d4d5063501b6dd4024b8ac2f04962d661222d120381272deea52e3fc52d3736", size = 3509213 }, - { url = "https://files.pythonhosted.org/packages/10/43/105823d233c5e5d31cea13428f4474ded9d961652307800979a59d6a4276/pillow-10.4.0-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:7c1ee6f42250df403c5f103cbd2768a28fe1a0ea1f0f03fe151c8741e1469c8b", size = 3375883 }, - { url = "https://files.pythonhosted.org/packages/3c/ad/7850c10bac468a20c918f6a5dbba9ecd106ea1cdc5db3c35e33a60570408/pillow-10.4.0-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:b15e02e9bb4c21e39876698abf233c8c579127986f8207200bc8a8f6bb27acf2", size = 4330810 }, - { url = "https://files.pythonhosted.org/packages/84/4c/69bbed9e436ac22f9ed193a2b64f64d68fcfbc9f4106249dc7ed4889907b/pillow-10.4.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:7a8d4bade9952ea9a77d0c3e49cbd8b2890a399422258a77f357b9cc9be8d680", size = 4444341 }, - { url = "https://files.pythonhosted.org/packages/8f/4f/c183c63828a3f37bf09644ce94cbf72d4929b033b109160a5379c2885932/pillow-10.4.0-cp38-cp38-manylinux_2_28_aarch64.whl", hash = "sha256:43efea75eb06b95d1631cb784aa40156177bf9dd5b4b03ff38979e048258bc6b", size = 4356005 }, - { url = "https://files.pythonhosted.org/packages/fb/ad/435fe29865f98a8fbdc64add8875a6e4f8c97749a93577a8919ec6f32c64/pillow-10.4.0-cp38-cp38-manylinux_2_28_x86_64.whl", hash = "sha256:950be4d8ba92aca4b2bb0741285a46bfae3ca699ef913ec8416c1b78eadd64cd", size = 4525201 }, - { url = "https://files.pythonhosted.org/packages/80/74/be8bf8acdfd70e91f905a12ae13cfb2e17c0f1da745c40141e26d0971ff5/pillow-10.4.0-cp38-cp38-musllinux_1_2_aarch64.whl", hash = "sha256:d7480af14364494365e89d6fddc510a13e5a2c3584cb19ef65415ca57252fb84", size = 4460635 }, - { url = "https://files.pythonhosted.org/packages/e4/90/763616e66dc9ad59c9b7fb58f863755e7934ef122e52349f62c7742b82d3/pillow-10.4.0-cp38-cp38-musllinux_1_2_x86_64.whl", hash = "sha256:73664fe514b34c8f02452ffb73b7a92c6774e39a647087f83d67f010eb9a0cf0", size = 4590283 }, - { url = "https://files.pythonhosted.org/packages/69/66/03002cb5b2c27bb519cba63b9f9aa3709c6f7a5d3b285406c01f03fb77e5/pillow-10.4.0-cp38-cp38-win32.whl", hash = "sha256:e88d5e6ad0d026fba7bdab8c3f225a69f063f116462c49892b0149e21b6c0a0e", size = 2235185 }, - { url = "https://files.pythonhosted.org/packages/f2/75/3cb820b2812405fc7feb3d0deb701ef0c3de93dc02597115e00704591bc9/pillow-10.4.0-cp38-cp38-win_amd64.whl", hash = "sha256:5161eef006d335e46895297f642341111945e2c1c899eb406882a6c61a4357ab", size = 2554594 }, - { url = "https://files.pythonhosted.org/packages/31/85/955fa5400fa8039921f630372cfe5056eed6e1b8e0430ee4507d7de48832/pillow-10.4.0-cp39-cp39-macosx_10_10_x86_64.whl", hash = "sha256:0ae24a547e8b711ccaaf99c9ae3cd975470e1a30caa80a6aaee9a2f19c05701d", size = 3509283 }, - { url = "https://files.pythonhosted.org/packages/23/9c/343827267eb28d41cd82b4180d33b10d868af9077abcec0af9793aa77d2d/pillow-10.4.0-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:298478fe4f77a4408895605f3482b6cc6222c018b2ce565c2b6b9c354ac3229b", size = 3375691 }, - { url = "https://files.pythonhosted.org/packages/60/a3/7ebbeabcd341eab722896d1a5b59a3df98c4b4d26cf4b0385f8aa94296f7/pillow-10.4.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:134ace6dc392116566980ee7436477d844520a26a4b1bd4053f6f47d096997fd", size = 4328295 }, - { url = "https://files.pythonhosted.org/packages/32/3f/c02268d0c6fb6b3958bdda673c17b315c821d97df29ae6969f20fb49388a/pillow-10.4.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:930044bb7679ab003b14023138b50181899da3f25de50e9dbee23b61b4de2126", size = 4440810 }, - { url = "https://files.pythonhosted.org/packages/67/5d/1c93c8cc35f2fdd3d6cc7e4ad72d203902859a2867de6ad957d9b708eb8d/pillow-10.4.0-cp39-cp39-manylinux_2_28_aarch64.whl", hash = "sha256:c76e5786951e72ed3686e122d14c5d7012f16c8303a674d18cdcd6d89557fc5b", size = 4352283 }, - { url = "https://files.pythonhosted.org/packages/bc/a8/8655557c9c7202b8abbd001f61ff36711cefaf750debcaa1c24d154ef602/pillow-10.4.0-cp39-cp39-manylinux_2_28_x86_64.whl", hash = "sha256:b2724fdb354a868ddf9a880cb84d102da914e99119211ef7ecbdc613b8c96b3c", size = 4521800 }, - { url = "https://files.pythonhosted.org/packages/58/78/6f95797af64d137124f68af1bdaa13b5332da282b86031f6fa70cf368261/pillow-10.4.0-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:dbc6ae66518ab3c5847659e9988c3b60dc94ffb48ef9168656e0019a93dbf8a1", size = 4459177 }, - { url = "https://files.pythonhosted.org/packages/8a/6d/2b3ce34f1c4266d79a78c9a51d1289a33c3c02833fe294ef0dcbb9cba4ed/pillow-10.4.0-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:06b2f7898047ae93fad74467ec3d28fe84f7831370e3c258afa533f81ef7f3df", size = 4589079 }, - { url = "https://files.pythonhosted.org/packages/e3/e0/456258c74da1ff5bf8ef1eab06a95ca994d8b9ed44c01d45c3f8cbd1db7e/pillow-10.4.0-cp39-cp39-win32.whl", hash = "sha256:7970285ab628a3779aecc35823296a7869f889b8329c16ad5a71e4901a3dc4ef", size = 2235247 }, - { url = "https://files.pythonhosted.org/packages/37/f8/bef952bdb32aa53741f58bf21798642209e994edc3f6598f337f23d5400a/pillow-10.4.0-cp39-cp39-win_amd64.whl", hash = "sha256:961a7293b2457b405967af9c77dcaa43cc1a8cd50d23c532e62d48ab6cdd56f5", size = 2554479 }, - { url = "https://files.pythonhosted.org/packages/bb/8e/805201619cad6651eef5fc1fdef913804baf00053461522fabbc5588ea12/pillow-10.4.0-cp39-cp39-win_arm64.whl", hash = "sha256:32cda9e3d601a52baccb2856b8ea1fc213c90b340c542dcef77140dfa3278a9e", size = 2243226 }, - { url = "https://files.pythonhosted.org/packages/38/30/095d4f55f3a053392f75e2eae45eba3228452783bab3d9a920b951ac495c/pillow-10.4.0-pp310-pypy310_pp73-macosx_10_15_x86_64.whl", hash = "sha256:5b4815f2e65b30f5fbae9dfffa8636d992d49705723fe86a3661806e069352d4", size = 3493889 }, - { url = "https://files.pythonhosted.org/packages/f3/e8/4ff79788803a5fcd5dc35efdc9386af153569853767bff74540725b45863/pillow-10.4.0-pp310-pypy310_pp73-macosx_11_0_arm64.whl", hash = "sha256:8f0aef4ef59694b12cadee839e2ba6afeab89c0f39a3adc02ed51d109117b8da", size = 3346160 }, - { url = "https://files.pythonhosted.org/packages/d7/ac/4184edd511b14f760c73f5bb8a5d6fd85c591c8aff7c2229677a355c4179/pillow-10.4.0-pp310-pypy310_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:9f4727572e2918acaa9077c919cbbeb73bd2b3ebcfe033b72f858fc9fbef0026", size = 3435020 }, - { url = "https://files.pythonhosted.org/packages/da/21/1749cd09160149c0a246a81d646e05f35041619ce76f6493d6a96e8d1103/pillow-10.4.0-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ff25afb18123cea58a591ea0244b92eb1e61a1fd497bf6d6384f09bc3262ec3e", size = 3490539 }, - { url = "https://files.pythonhosted.org/packages/b6/f5/f71fe1888b96083b3f6dfa0709101f61fc9e972c0c8d04e9d93ccef2a045/pillow-10.4.0-pp310-pypy310_pp73-manylinux_2_28_aarch64.whl", hash = "sha256:dc3e2db6ba09ffd7d02ae9141cfa0ae23393ee7687248d46a7507b75d610f4f5", size = 3476125 }, - { url = "https://files.pythonhosted.org/packages/96/b9/c0362c54290a31866c3526848583a2f45a535aa9d725fd31e25d318c805f/pillow-10.4.0-pp310-pypy310_pp73-manylinux_2_28_x86_64.whl", hash = "sha256:02a2be69f9c9b8c1e97cf2713e789d4e398c751ecfd9967c18d0ce304efbf885", size = 3579373 }, - { url = "https://files.pythonhosted.org/packages/52/3b/ce7a01026a7cf46e5452afa86f97a5e88ca97f562cafa76570178ab56d8d/pillow-10.4.0-pp310-pypy310_pp73-win_amd64.whl", hash = "sha256:0755ffd4a0c6f267cccbae2e9903d95477ca2f77c4fcf3a3a09570001856c8a5", size = 2554661 }, - { url = "https://files.pythonhosted.org/packages/e1/1f/5a9fcd6ced51633c22481417e11b1b47d723f64fb536dfd67c015eb7f0ab/pillow-10.4.0-pp39-pypy39_pp73-macosx_10_15_x86_64.whl", hash = "sha256:a02364621fe369e06200d4a16558e056fe2805d3468350df3aef21e00d26214b", size = 3493850 }, - { url = "https://files.pythonhosted.org/packages/cb/e6/3ea4755ed5320cb62aa6be2f6de47b058c6550f752dd050e86f694c59798/pillow-10.4.0-pp39-pypy39_pp73-macosx_11_0_arm64.whl", hash = "sha256:1b5dea9831a90e9d0721ec417a80d4cbd7022093ac38a568db2dd78363b00908", size = 3346118 }, - { url = "https://files.pythonhosted.org/packages/0a/22/492f9f61e4648422b6ca39268ec8139277a5b34648d28f400faac14e0f48/pillow-10.4.0-pp39-pypy39_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:9b885f89040bb8c4a1573566bbb2f44f5c505ef6e74cec7ab9068c900047f04b", size = 3434958 }, - { url = "https://files.pythonhosted.org/packages/f9/19/559a48ad4045704bb0547965b9a9345f5cd461347d977a56d178db28819e/pillow-10.4.0-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:87dd88ded2e6d74d31e1e0a99a726a6765cda32d00ba72dc37f0651f306daaa8", size = 3490340 }, - { url = "https://files.pythonhosted.org/packages/d9/de/cebaca6fb79905b3a1aa0281d238769df3fb2ede34fd7c0caa286575915a/pillow-10.4.0-pp39-pypy39_pp73-manylinux_2_28_aarch64.whl", hash = "sha256:2db98790afc70118bd0255c2eeb465e9767ecf1f3c25f9a1abb8ffc8cfd1fe0a", size = 3476048 }, - { url = "https://files.pythonhosted.org/packages/71/f0/86d5b2f04693b0116a01d75302b0a307800a90d6c351a8aa4f8ae76cd499/pillow-10.4.0-pp39-pypy39_pp73-manylinux_2_28_x86_64.whl", hash = "sha256:f7baece4ce06bade126fb84b8af1c33439a76d8a6fd818970215e0560ca28c27", size = 3579366 }, - { url = "https://files.pythonhosted.org/packages/37/ae/2dbfc38cc4fd14aceea14bc440d5151b21f64c4c3ba3f6f4191610b7ee5d/pillow-10.4.0-pp39-pypy39_pp73-win_amd64.whl", hash = "sha256:cfdd747216947628af7b259d274771d84db2268ca062dd5faf373639d00113a3", size = 2554652 }, +sdist = { url = "https://files.pythonhosted.org/packages/cd/74/ad3d526f3bf7b6d3f408b73fde271ec69dfac8b81341a318ce825f2b3812/pillow-10.4.0.tar.gz", hash = "sha256:166c1cd4d24309b30d61f79f4a9114b7b2313d7450912277855ff5dfd7cd4a06", size = 46555059, upload-time = "2024-07-01T09:48:43.583Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/0e/69/a31cccd538ca0b5272be2a38347f8839b97a14be104ea08b0db92f749c74/pillow-10.4.0-cp310-cp310-macosx_10_10_x86_64.whl", hash = "sha256:4d9667937cfa347525b319ae34375c37b9ee6b525440f3ef48542fcf66f2731e", size = 3509271, upload-time = "2024-07-01T09:45:22.07Z" }, + { url = "https://files.pythonhosted.org/packages/9a/9e/4143b907be8ea0bce215f2ae4f7480027473f8b61fcedfda9d851082a5d2/pillow-10.4.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:543f3dc61c18dafb755773efc89aae60d06b6596a63914107f75459cf984164d", size = 3375658, upload-time = "2024-07-01T09:45:25.292Z" }, + { url = "https://files.pythonhosted.org/packages/8a/25/1fc45761955f9359b1169aa75e241551e74ac01a09f487adaaf4c3472d11/pillow-10.4.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:7928ecbf1ece13956b95d9cbcfc77137652b02763ba384d9ab508099a2eca856", size = 4332075, upload-time = "2024-07-01T09:45:27.94Z" }, + { url = "https://files.pythonhosted.org/packages/5e/dd/425b95d0151e1d6c951f45051112394f130df3da67363b6bc75dc4c27aba/pillow-10.4.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:e4d49b85c4348ea0b31ea63bc75a9f3857869174e2bf17e7aba02945cd218e6f", size = 4444808, upload-time = "2024-07-01T09:45:30.305Z" }, + { url = "https://files.pythonhosted.org/packages/b1/84/9a15cc5726cbbfe7f9f90bfb11f5d028586595907cd093815ca6644932e3/pillow-10.4.0-cp310-cp310-manylinux_2_28_aarch64.whl", hash = "sha256:6c762a5b0997f5659a5ef2266abc1d8851ad7749ad9a6a5506eb23d314e4f46b", size = 4356290, upload-time = "2024-07-01T09:45:32.868Z" }, + { url = "https://files.pythonhosted.org/packages/b5/5b/6651c288b08df3b8c1e2f8c1152201e0b25d240e22ddade0f1e242fc9fa0/pillow-10.4.0-cp310-cp310-manylinux_2_28_x86_64.whl", hash = "sha256:a985e028fc183bf12a77a8bbf36318db4238a3ded7fa9df1b9a133f1cb79f8fc", size = 4525163, upload-time = "2024-07-01T09:45:35.279Z" }, + { url = "https://files.pythonhosted.org/packages/07/8b/34854bf11a83c248505c8cb0fcf8d3d0b459a2246c8809b967963b6b12ae/pillow-10.4.0-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:812f7342b0eee081eaec84d91423d1b4650bb9828eb53d8511bcef8ce5aecf1e", size = 4463100, upload-time = "2024-07-01T09:45:37.74Z" }, + { url = "https://files.pythonhosted.org/packages/78/63/0632aee4e82476d9cbe5200c0cdf9ba41ee04ed77887432845264d81116d/pillow-10.4.0-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:ac1452d2fbe4978c2eec89fb5a23b8387aba707ac72810d9490118817d9c0b46", size = 4592880, upload-time = "2024-07-01T09:45:39.89Z" }, + { url = "https://files.pythonhosted.org/packages/df/56/b8663d7520671b4398b9d97e1ed9f583d4afcbefbda3c6188325e8c297bd/pillow-10.4.0-cp310-cp310-win32.whl", hash = "sha256:bcd5e41a859bf2e84fdc42f4edb7d9aba0a13d29a2abadccafad99de3feff984", size = 2235218, upload-time = "2024-07-01T09:45:42.771Z" }, + { url = "https://files.pythonhosted.org/packages/f4/72/0203e94a91ddb4a9d5238434ae6c1ca10e610e8487036132ea9bf806ca2a/pillow-10.4.0-cp310-cp310-win_amd64.whl", hash = "sha256:ecd85a8d3e79cd7158dec1c9e5808e821feea088e2f69a974db5edf84dc53141", size = 2554487, upload-time = "2024-07-01T09:45:45.176Z" }, + { url = "https://files.pythonhosted.org/packages/bd/52/7e7e93d7a6e4290543f17dc6f7d3af4bd0b3dd9926e2e8a35ac2282bc5f4/pillow-10.4.0-cp310-cp310-win_arm64.whl", hash = "sha256:ff337c552345e95702c5fde3158acb0625111017d0e5f24bf3acdb9cc16b90d1", size = 2243219, upload-time = "2024-07-01T09:45:47.274Z" }, + { url = "https://files.pythonhosted.org/packages/a7/62/c9449f9c3043c37f73e7487ec4ef0c03eb9c9afc91a92b977a67b3c0bbc5/pillow-10.4.0-cp311-cp311-macosx_10_10_x86_64.whl", hash = "sha256:0a9ec697746f268507404647e531e92889890a087e03681a3606d9b920fbee3c", size = 3509265, upload-time = "2024-07-01T09:45:49.812Z" }, + { url = "https://files.pythonhosted.org/packages/f4/5f/491dafc7bbf5a3cc1845dc0430872e8096eb9e2b6f8161509d124594ec2d/pillow-10.4.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:dfe91cb65544a1321e631e696759491ae04a2ea11d36715eca01ce07284738be", size = 3375655, upload-time = "2024-07-01T09:45:52.462Z" }, + { url = "https://files.pythonhosted.org/packages/73/d5/c4011a76f4207a3c151134cd22a1415741e42fa5ddecec7c0182887deb3d/pillow-10.4.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:5dc6761a6efc781e6a1544206f22c80c3af4c8cf461206d46a1e6006e4429ff3", size = 4340304, upload-time = "2024-07-01T09:45:55.006Z" }, + { url = "https://files.pythonhosted.org/packages/ac/10/c67e20445a707f7a610699bba4fe050583b688d8cd2d202572b257f46600/pillow-10.4.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:5e84b6cc6a4a3d76c153a6b19270b3526a5a8ed6b09501d3af891daa2a9de7d6", size = 4452804, upload-time = "2024-07-01T09:45:58.437Z" }, + { url = "https://files.pythonhosted.org/packages/a9/83/6523837906d1da2b269dee787e31df3b0acb12e3d08f024965a3e7f64665/pillow-10.4.0-cp311-cp311-manylinux_2_28_aarch64.whl", hash = "sha256:bbc527b519bd3aa9d7f429d152fea69f9ad37c95f0b02aebddff592688998abe", size = 4365126, upload-time = "2024-07-01T09:46:00.713Z" }, + { url = "https://files.pythonhosted.org/packages/ba/e5/8c68ff608a4203085158cff5cc2a3c534ec384536d9438c405ed6370d080/pillow-10.4.0-cp311-cp311-manylinux_2_28_x86_64.whl", hash = "sha256:76a911dfe51a36041f2e756b00f96ed84677cdeb75d25c767f296c1c1eda1319", size = 4533541, upload-time = "2024-07-01T09:46:03.235Z" }, + { url = "https://files.pythonhosted.org/packages/f4/7c/01b8dbdca5bc6785573f4cee96e2358b0918b7b2c7b60d8b6f3abf87a070/pillow-10.4.0-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:59291fb29317122398786c2d44427bbd1a6d7ff54017075b22be9d21aa59bd8d", size = 4471616, upload-time = "2024-07-01T09:46:05.356Z" }, + { url = "https://files.pythonhosted.org/packages/c8/57/2899b82394a35a0fbfd352e290945440e3b3785655a03365c0ca8279f351/pillow-10.4.0-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:416d3a5d0e8cfe4f27f574362435bc9bae57f679a7158e0096ad2beb427b8696", size = 4600802, upload-time = "2024-07-01T09:46:08.145Z" }, + { url = "https://files.pythonhosted.org/packages/4d/d7/a44f193d4c26e58ee5d2d9db3d4854b2cfb5b5e08d360a5e03fe987c0086/pillow-10.4.0-cp311-cp311-win32.whl", hash = "sha256:7086cc1d5eebb91ad24ded9f58bec6c688e9f0ed7eb3dbbf1e4800280a896496", size = 2235213, upload-time = "2024-07-01T09:46:10.211Z" }, + { url = "https://files.pythonhosted.org/packages/c1/d0/5866318eec2b801cdb8c82abf190c8343d8a1cd8bf5a0c17444a6f268291/pillow-10.4.0-cp311-cp311-win_amd64.whl", hash = "sha256:cbed61494057c0f83b83eb3a310f0bf774b09513307c434d4366ed64f4128a91", size = 2554498, upload-time = "2024-07-01T09:46:12.685Z" }, + { url = "https://files.pythonhosted.org/packages/d4/c8/310ac16ac2b97e902d9eb438688de0d961660a87703ad1561fd3dfbd2aa0/pillow-10.4.0-cp311-cp311-win_arm64.whl", hash = "sha256:f5f0c3e969c8f12dd2bb7e0b15d5c468b51e5017e01e2e867335c81903046a22", size = 2243219, upload-time = "2024-07-01T09:46:14.83Z" }, + { url = "https://files.pythonhosted.org/packages/05/cb/0353013dc30c02a8be34eb91d25e4e4cf594b59e5a55ea1128fde1e5f8ea/pillow-10.4.0-cp312-cp312-macosx_10_10_x86_64.whl", hash = "sha256:673655af3eadf4df6b5457033f086e90299fdd7a47983a13827acf7459c15d94", size = 3509350, upload-time = "2024-07-01T09:46:17.177Z" }, + { url = "https://files.pythonhosted.org/packages/e7/cf/5c558a0f247e0bf9cec92bff9b46ae6474dd736f6d906315e60e4075f737/pillow-10.4.0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:866b6942a92f56300012f5fbac71f2d610312ee65e22f1aa2609e491284e5597", size = 3374980, upload-time = "2024-07-01T09:46:19.169Z" }, + { url = "https://files.pythonhosted.org/packages/84/48/6e394b86369a4eb68b8a1382c78dc092245af517385c086c5094e3b34428/pillow-10.4.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:29dbdc4207642ea6aad70fbde1a9338753d33fb23ed6956e706936706f52dd80", size = 4343799, upload-time = "2024-07-01T09:46:21.883Z" }, + { url = "https://files.pythonhosted.org/packages/3b/f3/a8c6c11fa84b59b9df0cd5694492da8c039a24cd159f0f6918690105c3be/pillow-10.4.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:bf2342ac639c4cf38799a44950bbc2dfcb685f052b9e262f446482afaf4bffca", size = 4459973, upload-time = "2024-07-01T09:46:24.321Z" }, + { url = "https://files.pythonhosted.org/packages/7d/1b/c14b4197b80150fb64453585247e6fb2e1d93761fa0fa9cf63b102fde822/pillow-10.4.0-cp312-cp312-manylinux_2_28_aarch64.whl", hash = "sha256:f5b92f4d70791b4a67157321c4e8225d60b119c5cc9aee8ecf153aace4aad4ef", size = 4370054, upload-time = "2024-07-01T09:46:26.825Z" }, + { url = "https://files.pythonhosted.org/packages/55/77/40daddf677897a923d5d33329acd52a2144d54a9644f2a5422c028c6bf2d/pillow-10.4.0-cp312-cp312-manylinux_2_28_x86_64.whl", hash = "sha256:86dcb5a1eb778d8b25659d5e4341269e8590ad6b4e8b44d9f4b07f8d136c414a", size = 4539484, upload-time = "2024-07-01T09:46:29.355Z" }, + { url = "https://files.pythonhosted.org/packages/40/54/90de3e4256b1207300fb2b1d7168dd912a2fb4b2401e439ba23c2b2cabde/pillow-10.4.0-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:780c072c2e11c9b2c7ca37f9a2ee8ba66f44367ac3e5c7832afcfe5104fd6d1b", size = 4477375, upload-time = "2024-07-01T09:46:31.756Z" }, + { url = "https://files.pythonhosted.org/packages/13/24/1bfba52f44193860918ff7c93d03d95e3f8748ca1de3ceaf11157a14cf16/pillow-10.4.0-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:37fb69d905be665f68f28a8bba3c6d3223c8efe1edf14cc4cfa06c241f8c81d9", size = 4608773, upload-time = "2024-07-01T09:46:33.73Z" }, + { url = "https://files.pythonhosted.org/packages/55/04/5e6de6e6120451ec0c24516c41dbaf80cce1b6451f96561235ef2429da2e/pillow-10.4.0-cp312-cp312-win32.whl", hash = "sha256:7dfecdbad5c301d7b5bde160150b4db4c659cee2b69589705b6f8a0c509d9f42", size = 2235690, upload-time = "2024-07-01T09:46:36.587Z" }, + { url = "https://files.pythonhosted.org/packages/74/0a/d4ce3c44bca8635bd29a2eab5aa181b654a734a29b263ca8efe013beea98/pillow-10.4.0-cp312-cp312-win_amd64.whl", hash = "sha256:1d846aea995ad352d4bdcc847535bd56e0fd88d36829d2c90be880ef1ee4668a", size = 2554951, upload-time = "2024-07-01T09:46:38.777Z" }, + { url = "https://files.pythonhosted.org/packages/b5/ca/184349ee40f2e92439be9b3502ae6cfc43ac4b50bc4fc6b3de7957563894/pillow-10.4.0-cp312-cp312-win_arm64.whl", hash = "sha256:e553cad5179a66ba15bb18b353a19020e73a7921296a7979c4a2b7f6a5cd57f9", size = 2243427, upload-time = "2024-07-01T09:46:43.15Z" }, + { url = "https://files.pythonhosted.org/packages/c3/00/706cebe7c2c12a6318aabe5d354836f54adff7156fd9e1bd6c89f4ba0e98/pillow-10.4.0-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:8bc1a764ed8c957a2e9cacf97c8b2b053b70307cf2996aafd70e91a082e70df3", size = 3525685, upload-time = "2024-07-01T09:46:45.194Z" }, + { url = "https://files.pythonhosted.org/packages/cf/76/f658cbfa49405e5ecbfb9ba42d07074ad9792031267e782d409fd8fe7c69/pillow-10.4.0-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:6209bb41dc692ddfee4942517c19ee81b86c864b626dbfca272ec0f7cff5d9fb", size = 3374883, upload-time = "2024-07-01T09:46:47.331Z" }, + { url = "https://files.pythonhosted.org/packages/46/2b/99c28c4379a85e65378211971c0b430d9c7234b1ec4d59b2668f6299e011/pillow-10.4.0-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:bee197b30783295d2eb680b311af15a20a8b24024a19c3a26431ff83eb8d1f70", size = 4339837, upload-time = "2024-07-01T09:46:49.647Z" }, + { url = "https://files.pythonhosted.org/packages/f1/74/b1ec314f624c0c43711fdf0d8076f82d9d802afd58f1d62c2a86878e8615/pillow-10.4.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:1ef61f5dd14c300786318482456481463b9d6b91ebe5ef12f405afbba77ed0be", size = 4455562, upload-time = "2024-07-01T09:46:51.811Z" }, + { url = "https://files.pythonhosted.org/packages/4a/2a/4b04157cb7b9c74372fa867096a1607e6fedad93a44deeff553ccd307868/pillow-10.4.0-cp313-cp313-manylinux_2_28_aarch64.whl", hash = "sha256:297e388da6e248c98bc4a02e018966af0c5f92dfacf5a5ca22fa01cb3179bca0", size = 4366761, upload-time = "2024-07-01T09:46:53.961Z" }, + { url = "https://files.pythonhosted.org/packages/ac/7b/8f1d815c1a6a268fe90481232c98dd0e5fa8c75e341a75f060037bd5ceae/pillow-10.4.0-cp313-cp313-manylinux_2_28_x86_64.whl", hash = "sha256:e4db64794ccdf6cb83a59d73405f63adbe2a1887012e308828596100a0b2f6cc", size = 4536767, upload-time = "2024-07-01T09:46:56.664Z" }, + { url = "https://files.pythonhosted.org/packages/e5/77/05fa64d1f45d12c22c314e7b97398ffb28ef2813a485465017b7978b3ce7/pillow-10.4.0-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:bd2880a07482090a3bcb01f4265f1936a903d70bc740bfcb1fd4e8a2ffe5cf5a", size = 4477989, upload-time = "2024-07-01T09:46:58.977Z" }, + { url = "https://files.pythonhosted.org/packages/12/63/b0397cfc2caae05c3fb2f4ed1b4fc4fc878f0243510a7a6034ca59726494/pillow-10.4.0-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:4b35b21b819ac1dbd1233317adeecd63495f6babf21b7b2512d244ff6c6ce309", size = 4610255, upload-time = "2024-07-01T09:47:01.189Z" }, + { url = "https://files.pythonhosted.org/packages/7b/f9/cfaa5082ca9bc4a6de66ffe1c12c2d90bf09c309a5f52b27759a596900e7/pillow-10.4.0-cp313-cp313-win32.whl", hash = "sha256:551d3fd6e9dc15e4c1eb6fc4ba2b39c0c7933fa113b220057a34f4bb3268a060", size = 2235603, upload-time = "2024-07-01T09:47:03.918Z" }, + { url = "https://files.pythonhosted.org/packages/01/6a/30ff0eef6e0c0e71e55ded56a38d4859bf9d3634a94a88743897b5f96936/pillow-10.4.0-cp313-cp313-win_amd64.whl", hash = "sha256:030abdbe43ee02e0de642aee345efa443740aa4d828bfe8e2eb11922ea6a21ea", size = 2554972, upload-time = "2024-07-01T09:47:06.152Z" }, + { url = "https://files.pythonhosted.org/packages/48/2c/2e0a52890f269435eee38b21c8218e102c621fe8d8df8b9dd06fabf879ba/pillow-10.4.0-cp313-cp313-win_arm64.whl", hash = "sha256:5b001114dd152cfd6b23befeb28d7aee43553e2402c9f159807bf55f33af8a8d", size = 2243375, upload-time = "2024-07-01T09:47:09.065Z" }, + { url = "https://files.pythonhosted.org/packages/56/70/f40009702a477ce87d8d9faaa4de51d6562b3445d7a314accd06e4ffb01d/pillow-10.4.0-cp38-cp38-macosx_10_10_x86_64.whl", hash = "sha256:8d4d5063501b6dd4024b8ac2f04962d661222d120381272deea52e3fc52d3736", size = 3509213, upload-time = "2024-07-01T09:47:11.662Z" }, + { url = "https://files.pythonhosted.org/packages/10/43/105823d233c5e5d31cea13428f4474ded9d961652307800979a59d6a4276/pillow-10.4.0-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:7c1ee6f42250df403c5f103cbd2768a28fe1a0ea1f0f03fe151c8741e1469c8b", size = 3375883, upload-time = "2024-07-01T09:47:14.453Z" }, + { url = "https://files.pythonhosted.org/packages/3c/ad/7850c10bac468a20c918f6a5dbba9ecd106ea1cdc5db3c35e33a60570408/pillow-10.4.0-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:b15e02e9bb4c21e39876698abf233c8c579127986f8207200bc8a8f6bb27acf2", size = 4330810, upload-time = "2024-07-01T09:47:16.695Z" }, + { url = "https://files.pythonhosted.org/packages/84/4c/69bbed9e436ac22f9ed193a2b64f64d68fcfbc9f4106249dc7ed4889907b/pillow-10.4.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:7a8d4bade9952ea9a77d0c3e49cbd8b2890a399422258a77f357b9cc9be8d680", size = 4444341, upload-time = "2024-07-01T09:47:19.334Z" }, + { url = "https://files.pythonhosted.org/packages/8f/4f/c183c63828a3f37bf09644ce94cbf72d4929b033b109160a5379c2885932/pillow-10.4.0-cp38-cp38-manylinux_2_28_aarch64.whl", hash = "sha256:43efea75eb06b95d1631cb784aa40156177bf9dd5b4b03ff38979e048258bc6b", size = 4356005, upload-time = "2024-07-01T09:47:21.805Z" }, + { url = "https://files.pythonhosted.org/packages/fb/ad/435fe29865f98a8fbdc64add8875a6e4f8c97749a93577a8919ec6f32c64/pillow-10.4.0-cp38-cp38-manylinux_2_28_x86_64.whl", hash = "sha256:950be4d8ba92aca4b2bb0741285a46bfae3ca699ef913ec8416c1b78eadd64cd", size = 4525201, upload-time = "2024-07-01T09:47:24.457Z" }, + { url = "https://files.pythonhosted.org/packages/80/74/be8bf8acdfd70e91f905a12ae13cfb2e17c0f1da745c40141e26d0971ff5/pillow-10.4.0-cp38-cp38-musllinux_1_2_aarch64.whl", hash = "sha256:d7480af14364494365e89d6fddc510a13e5a2c3584cb19ef65415ca57252fb84", size = 4460635, upload-time = "2024-07-01T09:47:26.841Z" }, + { url = "https://files.pythonhosted.org/packages/e4/90/763616e66dc9ad59c9b7fb58f863755e7934ef122e52349f62c7742b82d3/pillow-10.4.0-cp38-cp38-musllinux_1_2_x86_64.whl", hash = "sha256:73664fe514b34c8f02452ffb73b7a92c6774e39a647087f83d67f010eb9a0cf0", size = 4590283, upload-time = "2024-07-01T09:47:29.247Z" }, + { url = "https://files.pythonhosted.org/packages/69/66/03002cb5b2c27bb519cba63b9f9aa3709c6f7a5d3b285406c01f03fb77e5/pillow-10.4.0-cp38-cp38-win32.whl", hash = "sha256:e88d5e6ad0d026fba7bdab8c3f225a69f063f116462c49892b0149e21b6c0a0e", size = 2235185, upload-time = "2024-07-01T09:47:32.205Z" }, + { url = "https://files.pythonhosted.org/packages/f2/75/3cb820b2812405fc7feb3d0deb701ef0c3de93dc02597115e00704591bc9/pillow-10.4.0-cp38-cp38-win_amd64.whl", hash = "sha256:5161eef006d335e46895297f642341111945e2c1c899eb406882a6c61a4357ab", size = 2554594, upload-time = "2024-07-01T09:47:34.285Z" }, + { url = "https://files.pythonhosted.org/packages/31/85/955fa5400fa8039921f630372cfe5056eed6e1b8e0430ee4507d7de48832/pillow-10.4.0-cp39-cp39-macosx_10_10_x86_64.whl", hash = "sha256:0ae24a547e8b711ccaaf99c9ae3cd975470e1a30caa80a6aaee9a2f19c05701d", size = 3509283, upload-time = "2024-07-01T09:47:36.394Z" }, + { url = "https://files.pythonhosted.org/packages/23/9c/343827267eb28d41cd82b4180d33b10d868af9077abcec0af9793aa77d2d/pillow-10.4.0-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:298478fe4f77a4408895605f3482b6cc6222c018b2ce565c2b6b9c354ac3229b", size = 3375691, upload-time = "2024-07-01T09:47:38.853Z" }, + { url = "https://files.pythonhosted.org/packages/60/a3/7ebbeabcd341eab722896d1a5b59a3df98c4b4d26cf4b0385f8aa94296f7/pillow-10.4.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:134ace6dc392116566980ee7436477d844520a26a4b1bd4053f6f47d096997fd", size = 4328295, upload-time = "2024-07-01T09:47:41.765Z" }, + { url = "https://files.pythonhosted.org/packages/32/3f/c02268d0c6fb6b3958bdda673c17b315c821d97df29ae6969f20fb49388a/pillow-10.4.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:930044bb7679ab003b14023138b50181899da3f25de50e9dbee23b61b4de2126", size = 4440810, upload-time = "2024-07-01T09:47:44.27Z" }, + { url = "https://files.pythonhosted.org/packages/67/5d/1c93c8cc35f2fdd3d6cc7e4ad72d203902859a2867de6ad957d9b708eb8d/pillow-10.4.0-cp39-cp39-manylinux_2_28_aarch64.whl", hash = "sha256:c76e5786951e72ed3686e122d14c5d7012f16c8303a674d18cdcd6d89557fc5b", size = 4352283, upload-time = "2024-07-01T09:47:46.673Z" }, + { url = "https://files.pythonhosted.org/packages/bc/a8/8655557c9c7202b8abbd001f61ff36711cefaf750debcaa1c24d154ef602/pillow-10.4.0-cp39-cp39-manylinux_2_28_x86_64.whl", hash = "sha256:b2724fdb354a868ddf9a880cb84d102da914e99119211ef7ecbdc613b8c96b3c", size = 4521800, upload-time = "2024-07-01T09:47:48.813Z" }, + { url = "https://files.pythonhosted.org/packages/58/78/6f95797af64d137124f68af1bdaa13b5332da282b86031f6fa70cf368261/pillow-10.4.0-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:dbc6ae66518ab3c5847659e9988c3b60dc94ffb48ef9168656e0019a93dbf8a1", size = 4459177, upload-time = "2024-07-01T09:47:52.104Z" }, + { url = "https://files.pythonhosted.org/packages/8a/6d/2b3ce34f1c4266d79a78c9a51d1289a33c3c02833fe294ef0dcbb9cba4ed/pillow-10.4.0-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:06b2f7898047ae93fad74467ec3d28fe84f7831370e3c258afa533f81ef7f3df", size = 4589079, upload-time = "2024-07-01T09:47:54.999Z" }, + { url = "https://files.pythonhosted.org/packages/e3/e0/456258c74da1ff5bf8ef1eab06a95ca994d8b9ed44c01d45c3f8cbd1db7e/pillow-10.4.0-cp39-cp39-win32.whl", hash = "sha256:7970285ab628a3779aecc35823296a7869f889b8329c16ad5a71e4901a3dc4ef", size = 2235247, upload-time = "2024-07-01T09:47:57.666Z" }, + { url = "https://files.pythonhosted.org/packages/37/f8/bef952bdb32aa53741f58bf21798642209e994edc3f6598f337f23d5400a/pillow-10.4.0-cp39-cp39-win_amd64.whl", hash = "sha256:961a7293b2457b405967af9c77dcaa43cc1a8cd50d23c532e62d48ab6cdd56f5", size = 2554479, upload-time = "2024-07-01T09:47:59.881Z" }, + { url = "https://files.pythonhosted.org/packages/bb/8e/805201619cad6651eef5fc1fdef913804baf00053461522fabbc5588ea12/pillow-10.4.0-cp39-cp39-win_arm64.whl", hash = "sha256:32cda9e3d601a52baccb2856b8ea1fc213c90b340c542dcef77140dfa3278a9e", size = 2243226, upload-time = "2024-07-01T09:48:02.508Z" }, + { url = "https://files.pythonhosted.org/packages/38/30/095d4f55f3a053392f75e2eae45eba3228452783bab3d9a920b951ac495c/pillow-10.4.0-pp310-pypy310_pp73-macosx_10_15_x86_64.whl", hash = "sha256:5b4815f2e65b30f5fbae9dfffa8636d992d49705723fe86a3661806e069352d4", size = 3493889, upload-time = "2024-07-01T09:48:04.815Z" }, + { url = "https://files.pythonhosted.org/packages/f3/e8/4ff79788803a5fcd5dc35efdc9386af153569853767bff74540725b45863/pillow-10.4.0-pp310-pypy310_pp73-macosx_11_0_arm64.whl", hash = "sha256:8f0aef4ef59694b12cadee839e2ba6afeab89c0f39a3adc02ed51d109117b8da", size = 3346160, upload-time = "2024-07-01T09:48:07.206Z" }, + { url = "https://files.pythonhosted.org/packages/d7/ac/4184edd511b14f760c73f5bb8a5d6fd85c591c8aff7c2229677a355c4179/pillow-10.4.0-pp310-pypy310_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:9f4727572e2918acaa9077c919cbbeb73bd2b3ebcfe033b72f858fc9fbef0026", size = 3435020, upload-time = "2024-07-01T09:48:09.66Z" }, + { url = "https://files.pythonhosted.org/packages/da/21/1749cd09160149c0a246a81d646e05f35041619ce76f6493d6a96e8d1103/pillow-10.4.0-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ff25afb18123cea58a591ea0244b92eb1e61a1fd497bf6d6384f09bc3262ec3e", size = 3490539, upload-time = "2024-07-01T09:48:12.529Z" }, + { url = "https://files.pythonhosted.org/packages/b6/f5/f71fe1888b96083b3f6dfa0709101f61fc9e972c0c8d04e9d93ccef2a045/pillow-10.4.0-pp310-pypy310_pp73-manylinux_2_28_aarch64.whl", hash = "sha256:dc3e2db6ba09ffd7d02ae9141cfa0ae23393ee7687248d46a7507b75d610f4f5", size = 3476125, upload-time = "2024-07-01T09:48:14.891Z" }, + { url = "https://files.pythonhosted.org/packages/96/b9/c0362c54290a31866c3526848583a2f45a535aa9d725fd31e25d318c805f/pillow-10.4.0-pp310-pypy310_pp73-manylinux_2_28_x86_64.whl", hash = "sha256:02a2be69f9c9b8c1e97cf2713e789d4e398c751ecfd9967c18d0ce304efbf885", size = 3579373, upload-time = "2024-07-01T09:48:17.601Z" }, + { url = "https://files.pythonhosted.org/packages/52/3b/ce7a01026a7cf46e5452afa86f97a5e88ca97f562cafa76570178ab56d8d/pillow-10.4.0-pp310-pypy310_pp73-win_amd64.whl", hash = "sha256:0755ffd4a0c6f267cccbae2e9903d95477ca2f77c4fcf3a3a09570001856c8a5", size = 2554661, upload-time = "2024-07-01T09:48:20.293Z" }, + { url = "https://files.pythonhosted.org/packages/e1/1f/5a9fcd6ced51633c22481417e11b1b47d723f64fb536dfd67c015eb7f0ab/pillow-10.4.0-pp39-pypy39_pp73-macosx_10_15_x86_64.whl", hash = "sha256:a02364621fe369e06200d4a16558e056fe2805d3468350df3aef21e00d26214b", size = 3493850, upload-time = "2024-07-01T09:48:23.03Z" }, + { url = "https://files.pythonhosted.org/packages/cb/e6/3ea4755ed5320cb62aa6be2f6de47b058c6550f752dd050e86f694c59798/pillow-10.4.0-pp39-pypy39_pp73-macosx_11_0_arm64.whl", hash = "sha256:1b5dea9831a90e9d0721ec417a80d4cbd7022093ac38a568db2dd78363b00908", size = 3346118, upload-time = "2024-07-01T09:48:25.256Z" }, + { url = "https://files.pythonhosted.org/packages/0a/22/492f9f61e4648422b6ca39268ec8139277a5b34648d28f400faac14e0f48/pillow-10.4.0-pp39-pypy39_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:9b885f89040bb8c4a1573566bbb2f44f5c505ef6e74cec7ab9068c900047f04b", size = 3434958, upload-time = "2024-07-01T09:48:28.078Z" }, + { url = "https://files.pythonhosted.org/packages/f9/19/559a48ad4045704bb0547965b9a9345f5cd461347d977a56d178db28819e/pillow-10.4.0-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:87dd88ded2e6d74d31e1e0a99a726a6765cda32d00ba72dc37f0651f306daaa8", size = 3490340, upload-time = "2024-07-01T09:48:30.734Z" }, + { url = "https://files.pythonhosted.org/packages/d9/de/cebaca6fb79905b3a1aa0281d238769df3fb2ede34fd7c0caa286575915a/pillow-10.4.0-pp39-pypy39_pp73-manylinux_2_28_aarch64.whl", hash = "sha256:2db98790afc70118bd0255c2eeb465e9767ecf1f3c25f9a1abb8ffc8cfd1fe0a", size = 3476048, upload-time = "2024-07-01T09:48:33.292Z" }, + { url = "https://files.pythonhosted.org/packages/71/f0/86d5b2f04693b0116a01d75302b0a307800a90d6c351a8aa4f8ae76cd499/pillow-10.4.0-pp39-pypy39_pp73-manylinux_2_28_x86_64.whl", hash = "sha256:f7baece4ce06bade126fb84b8af1c33439a76d8a6fd818970215e0560ca28c27", size = 3579366, upload-time = "2024-07-01T09:48:36.527Z" }, + { url = "https://files.pythonhosted.org/packages/37/ae/2dbfc38cc4fd14aceea14bc440d5151b21f64c4c3ba3f6f4191610b7ee5d/pillow-10.4.0-pp39-pypy39_pp73-win_amd64.whl", hash = "sha256:cfdd747216947628af7b259d274771d84db2268ca062dd5faf373639d00113a3", size = 2554652, upload-time = "2024-07-01T09:48:38.789Z" }, ] [[package]] name = "pkgutil-resolve-name" version = "1.3.10" source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/70/f2/f2891a9dc37398696ddd945012b90ef8d0a034f0012e3f83c3f7a70b0f79/pkgutil_resolve_name-1.3.10.tar.gz", hash = "sha256:357d6c9e6a755653cfd78893817c0853af365dd51ec97f3d358a819373bbd174", size = 5054 } +sdist = { url = "https://files.pythonhosted.org/packages/70/f2/f2891a9dc37398696ddd945012b90ef8d0a034f0012e3f83c3f7a70b0f79/pkgutil_resolve_name-1.3.10.tar.gz", hash = "sha256:357d6c9e6a755653cfd78893817c0853af365dd51ec97f3d358a819373bbd174", size = 5054, upload-time = "2021-07-21T08:19:05.096Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/c9/5c/3d4882ba113fd55bdba9326c1e4c62a15e674a2501de4869e6bd6301f87e/pkgutil_resolve_name-1.3.10-py3-none-any.whl", hash = "sha256:ca27cc078d25c5ad71a9de0a7a330146c4e014c2462d9af19c6b828280649c5e", size = 4734 }, + { url = "https://files.pythonhosted.org/packages/c9/5c/3d4882ba113fd55bdba9326c1e4c62a15e674a2501de4869e6bd6301f87e/pkgutil_resolve_name-1.3.10-py3-none-any.whl", hash = "sha256:ca27cc078d25c5ad71a9de0a7a330146c4e014c2462d9af19c6b828280649c5e", size = 4734, upload-time = "2021-07-21T08:19:03.106Z" }, ] [[package]] name = "platformdirs" version = "4.3.6" source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/13/fc/128cc9cb8f03208bdbf93d3aa862e16d376844a14f9a0ce5cf4507372de4/platformdirs-4.3.6.tar.gz", hash = "sha256:357fb2acbc885b0419afd3ce3ed34564c13c9b95c89360cd9563f73aa5e2b907", size = 21302 } +sdist = { url = "https://files.pythonhosted.org/packages/13/fc/128cc9cb8f03208bdbf93d3aa862e16d376844a14f9a0ce5cf4507372de4/platformdirs-4.3.6.tar.gz", hash = "sha256:357fb2acbc885b0419afd3ce3ed34564c13c9b95c89360cd9563f73aa5e2b907", size = 21302, upload-time = "2024-09-17T19:06:50.688Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/3c/a6/bc1012356d8ece4d66dd75c4b9fc6c1f6650ddd5991e421177d9f8f671be/platformdirs-4.3.6-py3-none-any.whl", hash = "sha256:73e575e1408ab8103900836b97580d5307456908a03e92031bab39e4554cc3fb", size = 18439 }, + { url = "https://files.pythonhosted.org/packages/3c/a6/bc1012356d8ece4d66dd75c4b9fc6c1f6650ddd5991e421177d9f8f671be/platformdirs-4.3.6-py3-none-any.whl", hash = "sha256:73e575e1408ab8103900836b97580d5307456908a03e92031bab39e4554cc3fb", size = 18439, upload-time = "2024-09-17T19:06:49.212Z" }, ] [[package]] name = "pluggy" version = "1.5.0" source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/96/2d/02d4312c973c6050a18b314a5ad0b3210edb65a906f868e31c111dede4a6/pluggy-1.5.0.tar.gz", hash = "sha256:2cffa88e94fdc978c4c574f15f9e59b7f4201d439195c3715ca9e2486f1d0cf1", size = 67955 } +sdist = { url = "https://files.pythonhosted.org/packages/96/2d/02d4312c973c6050a18b314a5ad0b3210edb65a906f868e31c111dede4a6/pluggy-1.5.0.tar.gz", hash = "sha256:2cffa88e94fdc978c4c574f15f9e59b7f4201d439195c3715ca9e2486f1d0cf1", size = 67955, upload-time = "2024-04-20T21:34:42.531Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/88/5f/e351af9a41f866ac3f1fac4ca0613908d9a41741cfcf2228f4ad853b697d/pluggy-1.5.0-py3-none-any.whl", hash = "sha256:44e1ad92c8ca002de6377e165f3e0f1be63266ab4d554740532335b9d75ea669", size = 20556 }, + { url = "https://files.pythonhosted.org/packages/88/5f/e351af9a41f866ac3f1fac4ca0613908d9a41741cfcf2228f4ad853b697d/pluggy-1.5.0-py3-none-any.whl", hash = "sha256:44e1ad92c8ca002de6377e165f3e0f1be63266ab4d554740532335b9d75ea669", size = 20556, upload-time = "2024-04-20T21:34:40.434Z" }, ] [[package]] name = "prometheus-client" version = "0.21.1" source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/62/14/7d0f567991f3a9af8d1cd4f619040c93b68f09a02b6d0b6ab1b2d1ded5fe/prometheus_client-0.21.1.tar.gz", hash = "sha256:252505a722ac04b0456be05c05f75f45d760c2911ffc45f2a06bcaed9f3ae3fb", size = 78551 } +sdist = { url = "https://files.pythonhosted.org/packages/62/14/7d0f567991f3a9af8d1cd4f619040c93b68f09a02b6d0b6ab1b2d1ded5fe/prometheus_client-0.21.1.tar.gz", hash = "sha256:252505a722ac04b0456be05c05f75f45d760c2911ffc45f2a06bcaed9f3ae3fb", size = 78551, upload-time = "2024-12-03T14:59:12.164Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/ff/c2/ab7d37426c179ceb9aeb109a85cda8948bb269b7561a0be870cc656eefe4/prometheus_client-0.21.1-py3-none-any.whl", hash = "sha256:594b45c410d6f4f8888940fe80b5cc2521b305a1fafe1c58609ef715a001f301", size = 54682 }, + { url = "https://files.pythonhosted.org/packages/ff/c2/ab7d37426c179ceb9aeb109a85cda8948bb269b7561a0be870cc656eefe4/prometheus_client-0.21.1-py3-none-any.whl", hash = "sha256:594b45c410d6f4f8888940fe80b5cc2521b305a1fafe1c58609ef715a001f301", size = 54682, upload-time = "2024-12-03T14:59:10.935Z" }, ] [[package]] @@ -3621,60 +3621,60 @@ source = { registry = "https://pypi.org/simple" } dependencies = [ { name = "wcwidth" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/a1/e1/bd15cb8ffdcfeeb2bdc215de3c3cffca11408d829e4b8416dcfe71ba8854/prompt_toolkit-3.0.50.tar.gz", hash = "sha256:544748f3860a2623ca5cd6d2795e7a14f3d0e1c3c9728359013f79877fc89bab", size = 429087 } +sdist = { url = "https://files.pythonhosted.org/packages/a1/e1/bd15cb8ffdcfeeb2bdc215de3c3cffca11408d829e4b8416dcfe71ba8854/prompt_toolkit-3.0.50.tar.gz", hash = "sha256:544748f3860a2623ca5cd6d2795e7a14f3d0e1c3c9728359013f79877fc89bab", size = 429087, upload-time = "2025-01-20T15:55:35.072Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/e4/ea/d836f008d33151c7a1f62caf3d8dd782e4d15f6a43897f64480c2b8de2ad/prompt_toolkit-3.0.50-py3-none-any.whl", hash = "sha256:9b6427eb19e479d98acff65196a307c555eb567989e6d88ebbb1b509d9779198", size = 387816 }, + { url = "https://files.pythonhosted.org/packages/e4/ea/d836f008d33151c7a1f62caf3d8dd782e4d15f6a43897f64480c2b8de2ad/prompt_toolkit-3.0.50-py3-none-any.whl", hash = "sha256:9b6427eb19e479d98acff65196a307c555eb567989e6d88ebbb1b509d9779198", size = 387816, upload-time = "2025-01-20T15:55:29.98Z" }, ] [[package]] name = "psutil" version = "6.1.1" source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/1f/5a/07871137bb752428aa4b659f910b399ba6f291156bdea939be3e96cae7cb/psutil-6.1.1.tar.gz", hash = "sha256:cf8496728c18f2d0b45198f06895be52f36611711746b7f30c464b422b50e2f5", size = 508502 } +sdist = { url = "https://files.pythonhosted.org/packages/1f/5a/07871137bb752428aa4b659f910b399ba6f291156bdea939be3e96cae7cb/psutil-6.1.1.tar.gz", hash = "sha256:cf8496728c18f2d0b45198f06895be52f36611711746b7f30c464b422b50e2f5", size = 508502, upload-time = "2024-12-19T18:21:20.568Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/61/99/ca79d302be46f7bdd8321089762dd4476ee725fce16fc2b2e1dbba8cac17/psutil-6.1.1-cp36-abi3-macosx_10_9_x86_64.whl", hash = "sha256:fc0ed7fe2231a444fc219b9c42d0376e0a9a1a72f16c5cfa0f68d19f1a0663e8", size = 247511 }, - { url = "https://files.pythonhosted.org/packages/0b/6b/73dbde0dd38f3782905d4587049b9be64d76671042fdcaf60e2430c6796d/psutil-6.1.1-cp36-abi3-macosx_11_0_arm64.whl", hash = "sha256:0bdd4eab935276290ad3cb718e9809412895ca6b5b334f5a9111ee6d9aff9377", size = 248985 }, - { url = "https://files.pythonhosted.org/packages/17/38/c319d31a1d3f88c5b79c68b3116c129e5133f1822157dd6da34043e32ed6/psutil-6.1.1-cp36-abi3-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:b6e06c20c05fe95a3d7302d74e7097756d4ba1247975ad6905441ae1b5b66003", size = 284488 }, - { url = "https://files.pythonhosted.org/packages/9c/39/0f88a830a1c8a3aba27fededc642da37613c57cbff143412e3536f89784f/psutil-6.1.1-cp36-abi3-manylinux_2_12_x86_64.manylinux2010_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:97f7cb9921fbec4904f522d972f0c0e1f4fabbdd4e0287813b21215074a0f160", size = 287477 }, - { url = "https://files.pythonhosted.org/packages/47/da/99f4345d4ddf2845cb5b5bd0d93d554e84542d116934fde07a0c50bd4e9f/psutil-6.1.1-cp36-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:33431e84fee02bc84ea36d9e2c4a6d395d479c9dd9bba2376c1f6ee8f3a4e0b3", size = 289017 }, - { url = "https://files.pythonhosted.org/packages/38/53/bd755c2896f4461fd4f36fa6a6dcb66a88a9e4b9fd4e5b66a77cf9d4a584/psutil-6.1.1-cp37-abi3-win32.whl", hash = "sha256:eaa912e0b11848c4d9279a93d7e2783df352b082f40111e078388701fd479e53", size = 250602 }, - { url = "https://files.pythonhosted.org/packages/7b/d7/7831438e6c3ebbfa6e01a927127a6cb42ad3ab844247f3c5b96bea25d73d/psutil-6.1.1-cp37-abi3-win_amd64.whl", hash = "sha256:f35cfccb065fff93529d2afb4a2e89e363fe63ca1e4a5da22b603a85833c2649", size = 254444 }, + { url = "https://files.pythonhosted.org/packages/61/99/ca79d302be46f7bdd8321089762dd4476ee725fce16fc2b2e1dbba8cac17/psutil-6.1.1-cp36-abi3-macosx_10_9_x86_64.whl", hash = "sha256:fc0ed7fe2231a444fc219b9c42d0376e0a9a1a72f16c5cfa0f68d19f1a0663e8", size = 247511, upload-time = "2024-12-19T18:21:45.163Z" }, + { url = "https://files.pythonhosted.org/packages/0b/6b/73dbde0dd38f3782905d4587049b9be64d76671042fdcaf60e2430c6796d/psutil-6.1.1-cp36-abi3-macosx_11_0_arm64.whl", hash = "sha256:0bdd4eab935276290ad3cb718e9809412895ca6b5b334f5a9111ee6d9aff9377", size = 248985, upload-time = "2024-12-19T18:21:49.254Z" }, + { url = "https://files.pythonhosted.org/packages/17/38/c319d31a1d3f88c5b79c68b3116c129e5133f1822157dd6da34043e32ed6/psutil-6.1.1-cp36-abi3-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:b6e06c20c05fe95a3d7302d74e7097756d4ba1247975ad6905441ae1b5b66003", size = 284488, upload-time = "2024-12-19T18:21:51.638Z" }, + { url = "https://files.pythonhosted.org/packages/9c/39/0f88a830a1c8a3aba27fededc642da37613c57cbff143412e3536f89784f/psutil-6.1.1-cp36-abi3-manylinux_2_12_x86_64.manylinux2010_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:97f7cb9921fbec4904f522d972f0c0e1f4fabbdd4e0287813b21215074a0f160", size = 287477, upload-time = "2024-12-19T18:21:55.306Z" }, + { url = "https://files.pythonhosted.org/packages/47/da/99f4345d4ddf2845cb5b5bd0d93d554e84542d116934fde07a0c50bd4e9f/psutil-6.1.1-cp36-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:33431e84fee02bc84ea36d9e2c4a6d395d479c9dd9bba2376c1f6ee8f3a4e0b3", size = 289017, upload-time = "2024-12-19T18:21:57.875Z" }, + { url = "https://files.pythonhosted.org/packages/38/53/bd755c2896f4461fd4f36fa6a6dcb66a88a9e4b9fd4e5b66a77cf9d4a584/psutil-6.1.1-cp37-abi3-win32.whl", hash = "sha256:eaa912e0b11848c4d9279a93d7e2783df352b082f40111e078388701fd479e53", size = 250602, upload-time = "2024-12-19T18:22:08.808Z" }, + { url = "https://files.pythonhosted.org/packages/7b/d7/7831438e6c3ebbfa6e01a927127a6cb42ad3ab844247f3c5b96bea25d73d/psutil-6.1.1-cp37-abi3-win_amd64.whl", hash = "sha256:f35cfccb065fff93529d2afb4a2e89e363fe63ca1e4a5da22b603a85833c2649", size = 254444, upload-time = "2024-12-19T18:22:11.335Z" }, ] [[package]] name = "ptyprocess" version = "0.7.0" source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/20/e5/16ff212c1e452235a90aeb09066144d0c5a6a8c0834397e03f5224495c4e/ptyprocess-0.7.0.tar.gz", hash = "sha256:5c5d0a3b48ceee0b48485e0c26037c0acd7d29765ca3fbb5cb3831d347423220", size = 70762 } +sdist = { url = "https://files.pythonhosted.org/packages/20/e5/16ff212c1e452235a90aeb09066144d0c5a6a8c0834397e03f5224495c4e/ptyprocess-0.7.0.tar.gz", hash = "sha256:5c5d0a3b48ceee0b48485e0c26037c0acd7d29765ca3fbb5cb3831d347423220", size = 70762, upload-time = "2020-12-28T15:15:30.155Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/22/a6/858897256d0deac81a172289110f31629fc4cee19b6f01283303e18c8db3/ptyprocess-0.7.0-py2.py3-none-any.whl", hash = "sha256:4b41f3967fce3af57cc7e94b888626c18bf37a083e3651ca8feeb66d492fef35", size = 13993 }, + { url = "https://files.pythonhosted.org/packages/22/a6/858897256d0deac81a172289110f31629fc4cee19b6f01283303e18c8db3/ptyprocess-0.7.0-py2.py3-none-any.whl", hash = "sha256:4b41f3967fce3af57cc7e94b888626c18bf37a083e3651ca8feeb66d492fef35", size = 13993, upload-time = "2020-12-28T15:15:28.35Z" }, ] [[package]] name = "pure-eval" version = "0.2.3" source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/cd/05/0a34433a064256a578f1783a10da6df098ceaa4a57bbeaa96a6c0352786b/pure_eval-0.2.3.tar.gz", hash = "sha256:5f4e983f40564c576c7c8635ae88db5956bb2229d7e9237d03b3c0b0190eaf42", size = 19752 } +sdist = { url = "https://files.pythonhosted.org/packages/cd/05/0a34433a064256a578f1783a10da6df098ceaa4a57bbeaa96a6c0352786b/pure_eval-0.2.3.tar.gz", hash = "sha256:5f4e983f40564c576c7c8635ae88db5956bb2229d7e9237d03b3c0b0190eaf42", size = 19752, upload-time = "2024-07-21T12:58:21.801Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/8e/37/efad0257dc6e593a18957422533ff0f87ede7c9c6ea010a2177d738fb82f/pure_eval-0.2.3-py3-none-any.whl", hash = "sha256:1db8e35b67b3d218d818ae653e27f06c3aa420901fa7b081ca98cbedc874e0d0", size = 11842 }, + { url = "https://files.pythonhosted.org/packages/8e/37/efad0257dc6e593a18957422533ff0f87ede7c9c6ea010a2177d738fb82f/pure_eval-0.2.3-py3-none-any.whl", hash = "sha256:1db8e35b67b3d218d818ae653e27f06c3aa420901fa7b081ca98cbedc874e0d0", size = 11842, upload-time = "2024-07-21T12:58:20.04Z" }, ] [[package]] name = "pycparser" version = "2.22" source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/1d/b2/31537cf4b1ca988837256c910a668b553fceb8f069bedc4b1c826024b52c/pycparser-2.22.tar.gz", hash = "sha256:491c8be9c040f5390f5bf44a5b07752bd07f56edf992381b05c701439eec10f6", size = 172736 } +sdist = { url = "https://files.pythonhosted.org/packages/1d/b2/31537cf4b1ca988837256c910a668b553fceb8f069bedc4b1c826024b52c/pycparser-2.22.tar.gz", hash = "sha256:491c8be9c040f5390f5bf44a5b07752bd07f56edf992381b05c701439eec10f6", size = 172736, upload-time = "2024-03-30T13:22:22.564Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/13/a3/a812df4e2dd5696d1f351d58b8fe16a405b234ad2886a0dab9183fb78109/pycparser-2.22-py3-none-any.whl", hash = "sha256:c3702b6d3dd8c7abc1afa565d7e63d53a1d0bd86cdc24edd75470f4de499cfcc", size = 117552 }, + { url = "https://files.pythonhosted.org/packages/13/a3/a812df4e2dd5696d1f351d58b8fe16a405b234ad2886a0dab9183fb78109/pycparser-2.22-py3-none-any.whl", hash = "sha256:c3702b6d3dd8c7abc1afa565d7e63d53a1d0bd86cdc24edd75470f4de499cfcc", size = 117552, upload-time = "2024-03-30T13:22:20.476Z" }, ] [[package]] name = "pygments" version = "2.19.1" source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/7c/2d/c3338d48ea6cc0feb8446d8e6937e1408088a72a39937982cc6111d17f84/pygments-2.19.1.tar.gz", hash = "sha256:61c16d2a8576dc0649d9f39e089b5f02bcd27fba10d8fb4dcc28173f7a45151f", size = 4968581 } +sdist = { url = "https://files.pythonhosted.org/packages/7c/2d/c3338d48ea6cc0feb8446d8e6937e1408088a72a39937982cc6111d17f84/pygments-2.19.1.tar.gz", hash = "sha256:61c16d2a8576dc0649d9f39e089b5f02bcd27fba10d8fb4dcc28173f7a45151f", size = 4968581, upload-time = "2025-01-06T17:26:30.443Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/8a/0b/9fcc47d19c48b59121088dd6da2488a49d5f72dacf8262e2790a1d2c7d15/pygments-2.19.1-py3-none-any.whl", hash = "sha256:9ea1544ad55cecf4b8242fab6dd35a93bbce657034b0611ee383099054ab6d8c", size = 1225293 }, + { url = "https://files.pythonhosted.org/packages/8a/0b/9fcc47d19c48b59121088dd6da2488a49d5f72dacf8262e2790a1d2c7d15/pygments-2.19.1-py3-none-any.whl", hash = "sha256:9ea1544ad55cecf4b8242fab6dd35a93bbce657034b0611ee383099054ab6d8c", size = 1225293, upload-time = "2025-01-06T17:26:25.553Z" }, ] [[package]] @@ -3685,9 +3685,9 @@ dependencies = [ { name = "markdown" }, { name = "pyyaml" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/7c/44/e6de2fdc880ad0ec7547ca2e087212be815efbc9a425a8d5ba9ede602cbb/pymdown_extensions-10.14.3.tar.gz", hash = "sha256:41e576ce3f5d650be59e900e4ceff231e0aed2a88cf30acaee41e02f063a061b", size = 846846 } +sdist = { url = "https://files.pythonhosted.org/packages/7c/44/e6de2fdc880ad0ec7547ca2e087212be815efbc9a425a8d5ba9ede602cbb/pymdown_extensions-10.14.3.tar.gz", hash = "sha256:41e576ce3f5d650be59e900e4ceff231e0aed2a88cf30acaee41e02f063a061b", size = 846846, upload-time = "2025-02-01T15:43:15.42Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/eb/f5/b9e2a42aa8f9e34d52d66de87941ecd236570c7ed2e87775ed23bbe4e224/pymdown_extensions-10.14.3-py3-none-any.whl", hash = "sha256:05e0bee73d64b9c71a4ae17c72abc2f700e8bc8403755a00580b49a4e9f189e9", size = 264467 }, + { url = "https://files.pythonhosted.org/packages/eb/f5/b9e2a42aa8f9e34d52d66de87941ecd236570c7ed2e87775ed23bbe4e224/pymdown_extensions-10.14.3-py3-none-any.whl", hash = "sha256:05e0bee73d64b9c71a4ae17c72abc2f700e8bc8403755a00580b49a4e9f189e9", size = 264467, upload-time = "2025-02-01T15:43:13.995Z" }, ] [[package]] @@ -3699,9 +3699,9 @@ resolution-markers = [ "python_full_version < '3.9' and platform_machine == 'aarch64' and sys_platform == 'linux'", "(python_full_version < '3.9' and platform_machine != 'arm64' and sys_platform == 'darwin') or (python_full_version < '3.9' and platform_machine != 'aarch64' and sys_platform == 'linux') or (python_full_version < '3.9' and sys_platform != 'darwin' and sys_platform != 'linux')", ] -sdist = { url = "https://files.pythonhosted.org/packages/83/08/13f3bce01b2061f2bbd582c9df82723de943784cf719a35ac886c652043a/pyparsing-3.1.4.tar.gz", hash = "sha256:f86ec8d1a83f11977c9a6ea7598e8c27fc5cddfa5b07ea2241edbbde1d7bc032", size = 900231 } +sdist = { url = "https://files.pythonhosted.org/packages/83/08/13f3bce01b2061f2bbd582c9df82723de943784cf719a35ac886c652043a/pyparsing-3.1.4.tar.gz", hash = "sha256:f86ec8d1a83f11977c9a6ea7598e8c27fc5cddfa5b07ea2241edbbde1d7bc032", size = 900231, upload-time = "2024-08-25T15:00:47.416Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/e5/0c/0e3c05b1c87bb6a1c76d281b0f35e78d2d80ac91b5f8f524cebf77f51049/pyparsing-3.1.4-py3-none-any.whl", hash = "sha256:a6a7ee4235a3f944aa1fa2249307708f893fe5717dc603503c6c7969c070fb7c", size = 104100 }, + { url = "https://files.pythonhosted.org/packages/e5/0c/0e3c05b1c87bb6a1c76d281b0f35e78d2d80ac91b5f8f524cebf77f51049/pyparsing-3.1.4-py3-none-any.whl", hash = "sha256:a6a7ee4235a3f944aa1fa2249307708f893fe5717dc603503c6c7969c070fb7c", size = 104100, upload-time = "2024-08-25T15:00:45.361Z" }, ] [[package]] @@ -3722,9 +3722,9 @@ resolution-markers = [ "python_full_version == '3.9.*' and platform_machine == 'aarch64' and sys_platform == 'linux'", "(python_full_version == '3.9.*' and platform_machine != 'arm64' and sys_platform == 'darwin') or (python_full_version == '3.9.*' and platform_machine != 'aarch64' and sys_platform == 'linux') or (python_full_version == '3.9.*' and sys_platform != 'darwin' and sys_platform != 'linux')", ] -sdist = { url = "https://files.pythonhosted.org/packages/8b/1a/3544f4f299a47911c2ab3710f534e52fea62a633c96806995da5d25be4b2/pyparsing-3.2.1.tar.gz", hash = "sha256:61980854fd66de3a90028d679a954d5f2623e83144b5afe5ee86f43d762e5f0a", size = 1067694 } +sdist = { url = "https://files.pythonhosted.org/packages/8b/1a/3544f4f299a47911c2ab3710f534e52fea62a633c96806995da5d25be4b2/pyparsing-3.2.1.tar.gz", hash = "sha256:61980854fd66de3a90028d679a954d5f2623e83144b5afe5ee86f43d762e5f0a", size = 1067694, upload-time = "2024-12-31T20:59:46.157Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/1c/a7/c8a2d361bf89c0d9577c934ebb7421b25dc84bf3a8e3ac0a40aed9acc547/pyparsing-3.2.1-py3-none-any.whl", hash = "sha256:506ff4f4386c4cec0590ec19e6302d3aedb992fdc02c761e90416f158dacf8e1", size = 107716 }, + { url = "https://files.pythonhosted.org/packages/1c/a7/c8a2d361bf89c0d9577c934ebb7421b25dc84bf3a8e3ac0a40aed9acc547/pyparsing-3.2.1-py3-none-any.whl", hash = "sha256:506ff4f4386c4cec0590ec19e6302d3aedb992fdc02c761e90416f158dacf8e1", size = 107716, upload-time = "2024-12-31T20:59:42.738Z" }, ] [[package]] @@ -3740,9 +3740,9 @@ dependencies = [ { name = "packaging", marker = "python_full_version < '3.9'" }, { name = "tomli", marker = "python_full_version < '3.9'" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/bb/19/441e0624a8afedd15bbcce96df1b80479dd0ff0d965f5ce8fde4f2f6ffad/pyproject_api-1.8.0.tar.gz", hash = "sha256:77b8049f2feb5d33eefcc21b57f1e279636277a8ac8ad6b5871037b243778496", size = 22340 } +sdist = { url = "https://files.pythonhosted.org/packages/bb/19/441e0624a8afedd15bbcce96df1b80479dd0ff0d965f5ce8fde4f2f6ffad/pyproject_api-1.8.0.tar.gz", hash = "sha256:77b8049f2feb5d33eefcc21b57f1e279636277a8ac8ad6b5871037b243778496", size = 22340, upload-time = "2024-09-18T23:18:37.805Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/ba/f4/3c4ddfcc0c19c217c6de513842d286de8021af2f2ab79bbb86c00342d778/pyproject_api-1.8.0-py3-none-any.whl", hash = "sha256:3d7d347a047afe796fd5d1885b1e391ba29be7169bd2f102fcd378f04273d228", size = 13100 }, + { url = "https://files.pythonhosted.org/packages/ba/f4/3c4ddfcc0c19c217c6de513842d286de8021af2f2ab79bbb86c00342d778/pyproject_api-1.8.0-py3-none-any.whl", hash = "sha256:3d7d347a047afe796fd5d1885b1e391ba29be7169bd2f102fcd378f04273d228", size = 13100, upload-time = "2024-09-18T23:18:35.927Z" }, ] [[package]] @@ -3767,18 +3767,18 @@ dependencies = [ { name = "packaging", marker = "python_full_version >= '3.9'" }, { name = "tomli", marker = "python_full_version >= '3.9' and python_full_version < '3.11'" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/7e/66/fdc17e94486836eda4ba7113c0db9ac7e2f4eea1b968ee09de2fe75e391b/pyproject_api-1.9.0.tar.gz", hash = "sha256:7e8a9854b2dfb49454fae421cb86af43efbb2b2454e5646ffb7623540321ae6e", size = 22714 } +sdist = { url = "https://files.pythonhosted.org/packages/7e/66/fdc17e94486836eda4ba7113c0db9ac7e2f4eea1b968ee09de2fe75e391b/pyproject_api-1.9.0.tar.gz", hash = "sha256:7e8a9854b2dfb49454fae421cb86af43efbb2b2454e5646ffb7623540321ae6e", size = 22714, upload-time = "2025-01-21T18:02:00.923Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/b0/1d/92b7c765df46f454889d9610292b0ccab15362be3119b9a624458455e8d5/pyproject_api-1.9.0-py3-none-any.whl", hash = "sha256:326df9d68dea22d9d98b5243c46e3ca3161b07a1b9b18e213d1e24fd0e605766", size = 13131 }, + { url = "https://files.pythonhosted.org/packages/b0/1d/92b7c765df46f454889d9610292b0ccab15362be3119b9a624458455e8d5/pyproject_api-1.9.0-py3-none-any.whl", hash = "sha256:326df9d68dea22d9d98b5243c46e3ca3161b07a1b9b18e213d1e24fd0e605766", size = 13131, upload-time = "2025-01-21T18:01:58.927Z" }, ] [[package]] name = "pyproject-hooks" version = "1.2.0" source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/e7/82/28175b2414effca1cdac8dc99f76d660e7a4fb0ceefa4b4ab8f5f6742925/pyproject_hooks-1.2.0.tar.gz", hash = "sha256:1e859bd5c40fae9448642dd871adf459e5e2084186e8d2c2a79a824c970da1f8", size = 19228 } +sdist = { url = "https://files.pythonhosted.org/packages/e7/82/28175b2414effca1cdac8dc99f76d660e7a4fb0ceefa4b4ab8f5f6742925/pyproject_hooks-1.2.0.tar.gz", hash = "sha256:1e859bd5c40fae9448642dd871adf459e5e2084186e8d2c2a79a824c970da1f8", size = 19228, upload-time = "2024-09-29T09:24:13.293Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/bd/24/12818598c362d7f300f18e74db45963dbcb85150324092410c8b49405e42/pyproject_hooks-1.2.0-py3-none-any.whl", hash = "sha256:9e5c6bfa8dcc30091c74b0cf803c81fdd29d94f01992a7707bc97babb1141913", size = 10216 }, + { url = "https://files.pythonhosted.org/packages/bd/24/12818598c362d7f300f18e74db45963dbcb85150324092410c8b49405e42/pyproject_hooks-1.2.0-py3-none-any.whl", hash = "sha256:9e5c6bfa8dcc30091c74b0cf803c81fdd29d94f01992a7707bc97babb1141913", size = 10216, upload-time = "2024-09-29T09:24:11.978Z" }, ] [[package]] @@ -3793,9 +3793,9 @@ dependencies = [ { name = "pluggy" }, { name = "tomli", marker = "python_full_version < '3.11'" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/05/35/30e0d83068951d90a01852cb1cef56e5d8a09d20c7f511634cc2f7e0372a/pytest-8.3.4.tar.gz", hash = "sha256:965370d062bce11e73868e0335abac31b4d3de0e82f4007408d242b4f8610761", size = 1445919 } +sdist = { url = "https://files.pythonhosted.org/packages/05/35/30e0d83068951d90a01852cb1cef56e5d8a09d20c7f511634cc2f7e0372a/pytest-8.3.4.tar.gz", hash = "sha256:965370d062bce11e73868e0335abac31b4d3de0e82f4007408d242b4f8610761", size = 1445919, upload-time = "2024-12-01T12:54:25.98Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/11/92/76a1c94d3afee238333bc0a42b82935dd8f9cf8ce9e336ff87ee14d9e1cf/pytest-8.3.4-py3-none-any.whl", hash = "sha256:50e16d954148559c9a74109af1eaf0c945ba2d8f30f0a3d3335edde19788b6f6", size = 343083 }, + { url = "https://files.pythonhosted.org/packages/11/92/76a1c94d3afee238333bc0a42b82935dd8f9cf8ce9e336ff87ee14d9e1cf/pytest-8.3.4-py3-none-any.whl", hash = "sha256:50e16d954148559c9a74109af1eaf0c945ba2d8f30f0a3d3335edde19788b6f6", size = 343083, upload-time = "2024-12-01T12:54:19.735Z" }, ] [[package]] @@ -3805,9 +3805,9 @@ source = { registry = "https://pypi.org/simple" } dependencies = [ { name = "six" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/66/c0/0c8b6ad9f17a802ee498c46e004a0eb49bc148f2fd230864601a86dcf6db/python-dateutil-2.9.0.post0.tar.gz", hash = "sha256:37dd54208da7e1cd875388217d5e00ebd4179249f90fb72437e91a35459a0ad3", size = 342432 } +sdist = { url = "https://files.pythonhosted.org/packages/66/c0/0c8b6ad9f17a802ee498c46e004a0eb49bc148f2fd230864601a86dcf6db/python-dateutil-2.9.0.post0.tar.gz", hash = "sha256:37dd54208da7e1cd875388217d5e00ebd4179249f90fb72437e91a35459a0ad3", size = 342432, upload-time = "2024-03-01T18:36:20.211Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/ec/57/56b9bcc3c9c6a792fcbaf139543cee77261f3651ca9da0c93f5c1221264b/python_dateutil-2.9.0.post0-py2.py3-none-any.whl", hash = "sha256:a8b2bc7bffae282281c8140a97d3aa9c14da0b136dfe83f850eea9a5f7470427", size = 229892 }, + { url = "https://files.pythonhosted.org/packages/ec/57/56b9bcc3c9c6a792fcbaf139543cee77261f3651ca9da0c93f5c1221264b/python_dateutil-2.9.0.post0-py2.py3-none-any.whl", hash = "sha256:a8b2bc7bffae282281c8140a97d3aa9c14da0b136dfe83f850eea9a5f7470427", size = 229892, upload-time = "2024-03-01T18:36:18.57Z" }, ] [[package]] @@ -3817,18 +3817,18 @@ source = { registry = "https://pypi.org/simple" } dependencies = [ { name = "typing-extensions", marker = "python_full_version < '3.10'" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/e3/c4/358cd13daa1d912ef795010897a483ab2f0b41c9ea1b35235a8b2f7d15a7/python_json_logger-3.2.1.tar.gz", hash = "sha256:8eb0554ea17cb75b05d2848bc14fb02fbdbd9d6972120781b974380bfa162008", size = 16287 } +sdist = { url = "https://files.pythonhosted.org/packages/e3/c4/358cd13daa1d912ef795010897a483ab2f0b41c9ea1b35235a8b2f7d15a7/python_json_logger-3.2.1.tar.gz", hash = "sha256:8eb0554ea17cb75b05d2848bc14fb02fbdbd9d6972120781b974380bfa162008", size = 16287, upload-time = "2024-12-16T06:48:05.882Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/4b/72/2f30cf26664fcfa0bd8ec5ee62ec90c03bd485e4a294d92aabc76c5203a5/python_json_logger-3.2.1-py3-none-any.whl", hash = "sha256:cdc17047eb5374bd311e748b42f99d71223f3b0e186f4206cc5d52aefe85b090", size = 14924 }, + { url = "https://files.pythonhosted.org/packages/4b/72/2f30cf26664fcfa0bd8ec5ee62ec90c03bd485e4a294d92aabc76c5203a5/python_json_logger-3.2.1-py3-none-any.whl", hash = "sha256:cdc17047eb5374bd311e748b42f99d71223f3b0e186f4206cc5d52aefe85b090", size = 14924, upload-time = "2024-12-16T06:48:03.25Z" }, ] [[package]] name = "pytz" version = "2025.1" source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/5f/57/df1c9157c8d5a05117e455d66fd7cf6dbc46974f832b1058ed4856785d8a/pytz-2025.1.tar.gz", hash = "sha256:c2db42be2a2518b28e65f9207c4d05e6ff547d1efa4086469ef855e4ab70178e", size = 319617 } +sdist = { url = "https://files.pythonhosted.org/packages/5f/57/df1c9157c8d5a05117e455d66fd7cf6dbc46974f832b1058ed4856785d8a/pytz-2025.1.tar.gz", hash = "sha256:c2db42be2a2518b28e65f9207c4d05e6ff547d1efa4086469ef855e4ab70178e", size = 319617, upload-time = "2025-01-31T01:54:48.615Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/eb/38/ac33370d784287baa1c3d538978b5e2ea064d4c1b93ffbd12826c190dd10/pytz-2025.1-py2.py3-none-any.whl", hash = "sha256:89dd22dca55b46eac6eda23b2d72721bf1bdfef212645d81513ef5d03038de57", size = 507930 }, + { url = "https://files.pythonhosted.org/packages/eb/38/ac33370d784287baa1c3d538978b5e2ea064d4c1b93ffbd12826c190dd10/pytz-2025.1-py2.py3-none-any.whl", hash = "sha256:89dd22dca55b46eac6eda23b2d72721bf1bdfef212645d81513ef5d03038de57", size = 507930, upload-time = "2025-01-31T01:54:45.634Z" }, ] [[package]] @@ -3836,31 +3836,31 @@ name = "pywin32" version = "308" source = { registry = "https://pypi.org/simple" } wheels = [ - { url = "https://files.pythonhosted.org/packages/72/a6/3e9f2c474895c1bb61b11fa9640be00067b5c5b363c501ee9c3fa53aec01/pywin32-308-cp310-cp310-win32.whl", hash = "sha256:796ff4426437896550d2981b9c2ac0ffd75238ad9ea2d3bfa67a1abd546d262e", size = 5927028 }, - { url = "https://files.pythonhosted.org/packages/d9/b4/84e2463422f869b4b718f79eb7530a4c1693e96b8a4e5e968de38be4d2ba/pywin32-308-cp310-cp310-win_amd64.whl", hash = "sha256:4fc888c59b3c0bef905ce7eb7e2106a07712015ea1c8234b703a088d46110e8e", size = 6558484 }, - { url = "https://files.pythonhosted.org/packages/9f/8f/fb84ab789713f7c6feacaa08dad3ec8105b88ade8d1c4f0f0dfcaaa017d6/pywin32-308-cp310-cp310-win_arm64.whl", hash = "sha256:a5ab5381813b40f264fa3495b98af850098f814a25a63589a8e9eb12560f450c", size = 7971454 }, - { url = "https://files.pythonhosted.org/packages/eb/e2/02652007469263fe1466e98439831d65d4ca80ea1a2df29abecedf7e47b7/pywin32-308-cp311-cp311-win32.whl", hash = "sha256:5d8c8015b24a7d6855b1550d8e660d8daa09983c80e5daf89a273e5c6fb5095a", size = 5928156 }, - { url = "https://files.pythonhosted.org/packages/48/ef/f4fb45e2196bc7ffe09cad0542d9aff66b0e33f6c0954b43e49c33cad7bd/pywin32-308-cp311-cp311-win_amd64.whl", hash = "sha256:575621b90f0dc2695fec346b2d6302faebd4f0f45c05ea29404cefe35d89442b", size = 6559559 }, - { url = "https://files.pythonhosted.org/packages/79/ef/68bb6aa865c5c9b11a35771329e95917b5559845bd75b65549407f9fc6b4/pywin32-308-cp311-cp311-win_arm64.whl", hash = "sha256:100a5442b7332070983c4cd03f2e906a5648a5104b8a7f50175f7906efd16bb6", size = 7972495 }, - { url = "https://files.pythonhosted.org/packages/00/7c/d00d6bdd96de4344e06c4afbf218bc86b54436a94c01c71a8701f613aa56/pywin32-308-cp312-cp312-win32.whl", hash = "sha256:587f3e19696f4bf96fde9d8a57cec74a57021ad5f204c9e627e15c33ff568897", size = 5939729 }, - { url = "https://files.pythonhosted.org/packages/21/27/0c8811fbc3ca188f93b5354e7c286eb91f80a53afa4e11007ef661afa746/pywin32-308-cp312-cp312-win_amd64.whl", hash = "sha256:00b3e11ef09ede56c6a43c71f2d31857cf7c54b0ab6e78ac659497abd2834f47", size = 6543015 }, - { url = "https://files.pythonhosted.org/packages/9d/0f/d40f8373608caed2255781a3ad9a51d03a594a1248cd632d6a298daca693/pywin32-308-cp312-cp312-win_arm64.whl", hash = "sha256:9b4de86c8d909aed15b7011182c8cab38c8850de36e6afb1f0db22b8959e3091", size = 7976033 }, - { url = "https://files.pythonhosted.org/packages/a9/a4/aa562d8935e3df5e49c161b427a3a2efad2ed4e9cf81c3de636f1fdddfd0/pywin32-308-cp313-cp313-win32.whl", hash = "sha256:1c44539a37a5b7b21d02ab34e6a4d314e0788f1690d65b48e9b0b89f31abbbed", size = 5938579 }, - { url = "https://files.pythonhosted.org/packages/c7/50/b0efb8bb66210da67a53ab95fd7a98826a97ee21f1d22949863e6d588b22/pywin32-308-cp313-cp313-win_amd64.whl", hash = "sha256:fd380990e792eaf6827fcb7e187b2b4b1cede0585e3d0c9e84201ec27b9905e4", size = 6542056 }, - { url = "https://files.pythonhosted.org/packages/26/df/2b63e3e4f2df0224f8aaf6d131f54fe4e8c96400eb9df563e2aae2e1a1f9/pywin32-308-cp313-cp313-win_arm64.whl", hash = "sha256:ef313c46d4c18dfb82a2431e3051ac8f112ccee1a34f29c263c583c568db63cd", size = 7974986 }, - { url = "https://files.pythonhosted.org/packages/f3/0d/2c464011689e11ff5d64a32337f37de463a0cb058e45de5ea4027b56601a/pywin32-308-cp38-cp38-win32.whl", hash = "sha256:5794e764ebcabf4ff08c555b31bd348c9025929371763b2183172ff4708152f0", size = 5998793 }, - { url = "https://files.pythonhosted.org/packages/b7/e8/729b049e3c5c5449049d6036edf7a24a6ba785a9a1d5f617b638a9b444eb/pywin32-308-cp38-cp38-win_amd64.whl", hash = "sha256:3b92622e29d651c6b783e368ba7d6722b1634b8e70bd376fd7610fe1992e19de", size = 6647446 }, - { url = "https://files.pythonhosted.org/packages/a8/41/ead05a7657ffdbb1edabb954ab80825c4f87a3de0285d59f8290457f9016/pywin32-308-cp39-cp39-win32.whl", hash = "sha256:7873ca4dc60ab3287919881a7d4f88baee4a6e639aa6962de25a98ba6b193341", size = 5991824 }, - { url = "https://files.pythonhosted.org/packages/e4/cd/0838c9a6063bff2e9bac2388ae36524c26c50288b5d7b6aebb6cdf8d375d/pywin32-308-cp39-cp39-win_amd64.whl", hash = "sha256:71b3322d949b4cc20776436a9c9ba0eeedcbc9c650daa536df63f0ff111bb920", size = 6640327 }, + { url = "https://files.pythonhosted.org/packages/72/a6/3e9f2c474895c1bb61b11fa9640be00067b5c5b363c501ee9c3fa53aec01/pywin32-308-cp310-cp310-win32.whl", hash = "sha256:796ff4426437896550d2981b9c2ac0ffd75238ad9ea2d3bfa67a1abd546d262e", size = 5927028, upload-time = "2024-10-12T20:41:58.898Z" }, + { url = "https://files.pythonhosted.org/packages/d9/b4/84e2463422f869b4b718f79eb7530a4c1693e96b8a4e5e968de38be4d2ba/pywin32-308-cp310-cp310-win_amd64.whl", hash = "sha256:4fc888c59b3c0bef905ce7eb7e2106a07712015ea1c8234b703a088d46110e8e", size = 6558484, upload-time = "2024-10-12T20:42:01.271Z" }, + { url = "https://files.pythonhosted.org/packages/9f/8f/fb84ab789713f7c6feacaa08dad3ec8105b88ade8d1c4f0f0dfcaaa017d6/pywin32-308-cp310-cp310-win_arm64.whl", hash = "sha256:a5ab5381813b40f264fa3495b98af850098f814a25a63589a8e9eb12560f450c", size = 7971454, upload-time = "2024-10-12T20:42:03.544Z" }, + { url = "https://files.pythonhosted.org/packages/eb/e2/02652007469263fe1466e98439831d65d4ca80ea1a2df29abecedf7e47b7/pywin32-308-cp311-cp311-win32.whl", hash = "sha256:5d8c8015b24a7d6855b1550d8e660d8daa09983c80e5daf89a273e5c6fb5095a", size = 5928156, upload-time = "2024-10-12T20:42:05.78Z" }, + { url = "https://files.pythonhosted.org/packages/48/ef/f4fb45e2196bc7ffe09cad0542d9aff66b0e33f6c0954b43e49c33cad7bd/pywin32-308-cp311-cp311-win_amd64.whl", hash = "sha256:575621b90f0dc2695fec346b2d6302faebd4f0f45c05ea29404cefe35d89442b", size = 6559559, upload-time = "2024-10-12T20:42:07.644Z" }, + { url = "https://files.pythonhosted.org/packages/79/ef/68bb6aa865c5c9b11a35771329e95917b5559845bd75b65549407f9fc6b4/pywin32-308-cp311-cp311-win_arm64.whl", hash = "sha256:100a5442b7332070983c4cd03f2e906a5648a5104b8a7f50175f7906efd16bb6", size = 7972495, upload-time = "2024-10-12T20:42:09.803Z" }, + { url = "https://files.pythonhosted.org/packages/00/7c/d00d6bdd96de4344e06c4afbf218bc86b54436a94c01c71a8701f613aa56/pywin32-308-cp312-cp312-win32.whl", hash = "sha256:587f3e19696f4bf96fde9d8a57cec74a57021ad5f204c9e627e15c33ff568897", size = 5939729, upload-time = "2024-10-12T20:42:12.001Z" }, + { url = "https://files.pythonhosted.org/packages/21/27/0c8811fbc3ca188f93b5354e7c286eb91f80a53afa4e11007ef661afa746/pywin32-308-cp312-cp312-win_amd64.whl", hash = "sha256:00b3e11ef09ede56c6a43c71f2d31857cf7c54b0ab6e78ac659497abd2834f47", size = 6543015, upload-time = "2024-10-12T20:42:14.044Z" }, + { url = "https://files.pythonhosted.org/packages/9d/0f/d40f8373608caed2255781a3ad9a51d03a594a1248cd632d6a298daca693/pywin32-308-cp312-cp312-win_arm64.whl", hash = "sha256:9b4de86c8d909aed15b7011182c8cab38c8850de36e6afb1f0db22b8959e3091", size = 7976033, upload-time = "2024-10-12T20:42:16.215Z" }, + { url = "https://files.pythonhosted.org/packages/a9/a4/aa562d8935e3df5e49c161b427a3a2efad2ed4e9cf81c3de636f1fdddfd0/pywin32-308-cp313-cp313-win32.whl", hash = "sha256:1c44539a37a5b7b21d02ab34e6a4d314e0788f1690d65b48e9b0b89f31abbbed", size = 5938579, upload-time = "2024-10-12T20:42:18.623Z" }, + { url = "https://files.pythonhosted.org/packages/c7/50/b0efb8bb66210da67a53ab95fd7a98826a97ee21f1d22949863e6d588b22/pywin32-308-cp313-cp313-win_amd64.whl", hash = "sha256:fd380990e792eaf6827fcb7e187b2b4b1cede0585e3d0c9e84201ec27b9905e4", size = 6542056, upload-time = "2024-10-12T20:42:20.864Z" }, + { url = "https://files.pythonhosted.org/packages/26/df/2b63e3e4f2df0224f8aaf6d131f54fe4e8c96400eb9df563e2aae2e1a1f9/pywin32-308-cp313-cp313-win_arm64.whl", hash = "sha256:ef313c46d4c18dfb82a2431e3051ac8f112ccee1a34f29c263c583c568db63cd", size = 7974986, upload-time = "2024-10-12T20:42:22.799Z" }, + { url = "https://files.pythonhosted.org/packages/f3/0d/2c464011689e11ff5d64a32337f37de463a0cb058e45de5ea4027b56601a/pywin32-308-cp38-cp38-win32.whl", hash = "sha256:5794e764ebcabf4ff08c555b31bd348c9025929371763b2183172ff4708152f0", size = 5998793, upload-time = "2024-10-12T20:41:50.597Z" }, + { url = "https://files.pythonhosted.org/packages/b7/e8/729b049e3c5c5449049d6036edf7a24a6ba785a9a1d5f617b638a9b444eb/pywin32-308-cp38-cp38-win_amd64.whl", hash = "sha256:3b92622e29d651c6b783e368ba7d6722b1634b8e70bd376fd7610fe1992e19de", size = 6647446, upload-time = "2024-10-12T20:41:52.949Z" }, + { url = "https://files.pythonhosted.org/packages/a8/41/ead05a7657ffdbb1edabb954ab80825c4f87a3de0285d59f8290457f9016/pywin32-308-cp39-cp39-win32.whl", hash = "sha256:7873ca4dc60ab3287919881a7d4f88baee4a6e639aa6962de25a98ba6b193341", size = 5991824, upload-time = "2024-10-12T20:41:55.034Z" }, + { url = "https://files.pythonhosted.org/packages/e4/cd/0838c9a6063bff2e9bac2388ae36524c26c50288b5d7b6aebb6cdf8d375d/pywin32-308-cp39-cp39-win_amd64.whl", hash = "sha256:71b3322d949b4cc20776436a9c9ba0eeedcbc9c650daa536df63f0ff111bb920", size = 6640327, upload-time = "2024-10-12T20:41:57.239Z" }, ] [[package]] name = "pywin32-ctypes" version = "0.2.3" source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/85/9f/01a1a99704853cb63f253eea009390c88e7131c67e66a0a02099a8c917cb/pywin32-ctypes-0.2.3.tar.gz", hash = "sha256:d162dc04946d704503b2edc4d55f3dba5c1d539ead017afa00142c38b9885755", size = 29471 } +sdist = { url = "https://files.pythonhosted.org/packages/85/9f/01a1a99704853cb63f253eea009390c88e7131c67e66a0a02099a8c917cb/pywin32-ctypes-0.2.3.tar.gz", hash = "sha256:d162dc04946d704503b2edc4d55f3dba5c1d539ead017afa00142c38b9885755", size = 29471, upload-time = "2024-08-14T10:15:34.626Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/de/3d/8161f7711c017e01ac9f008dfddd9410dff3674334c233bde66e7ba65bbf/pywin32_ctypes-0.2.3-py3-none-any.whl", hash = "sha256:8a1513379d709975552d202d942d9837758905c8d01eb82b8bcc30918929e7b8", size = 30756 }, + { url = "https://files.pythonhosted.org/packages/de/3d/8161f7711c017e01ac9f008dfddd9410dff3674334c233bde66e7ba65bbf/pywin32_ctypes-0.2.3-py3-none-any.whl", hash = "sha256:8a1513379d709975552d202d942d9837758905c8d01eb82b8bcc30918929e7b8", size = 30756, upload-time = "2024-08-14T10:15:33.187Z" }, ] [[package]] @@ -3870,13 +3870,13 @@ source = { registry = "https://pypi.org/simple" } resolution-markers = [ "(python_full_version < '3.9' and platform_machine != 'arm64' and sys_platform == 'darwin') or (python_full_version < '3.9' and platform_machine != 'aarch64' and sys_platform == 'linux') or (python_full_version < '3.9' and sys_platform != 'darwin' and sys_platform != 'linux')", ] -sdist = { url = "https://files.pythonhosted.org/packages/f1/82/90f8750423cba4b9b6c842df227609fb60704482d7abf6dd47e2babc055a/pywinpty-2.0.14.tar.gz", hash = "sha256:18bd9529e4a5daf2d9719aa17788ba6013e594ae94c5a0c27e83df3278b0660e", size = 27769 } +sdist = { url = "https://files.pythonhosted.org/packages/f1/82/90f8750423cba4b9b6c842df227609fb60704482d7abf6dd47e2babc055a/pywinpty-2.0.14.tar.gz", hash = "sha256:18bd9529e4a5daf2d9719aa17788ba6013e594ae94c5a0c27e83df3278b0660e", size = 27769, upload-time = "2024-10-17T16:01:43.197Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/07/09/56376af256eab8cc5f8982a3b138d387136eca27fa1a8a68660e8ed59e4b/pywinpty-2.0.14-cp310-none-win_amd64.whl", hash = "sha256:0b149c2918c7974f575ba79f5a4aad58bd859a52fa9eb1296cc22aa412aa411f", size = 1397115 }, - { url = "https://files.pythonhosted.org/packages/be/e2/af1a99c0432e4e58c9ac8e334ee191790ec9793d33559189b9d2069bdc1d/pywinpty-2.0.14-cp311-none-win_amd64.whl", hash = "sha256:cf2a43ac7065b3e0dc8510f8c1f13a75fb8fde805efa3b8cff7599a1ef497bc7", size = 1397223 }, - { url = "https://files.pythonhosted.org/packages/ad/79/759ae767a3b78d340446efd54dd1fe4f7dafa4fc7be96ed757e44bcdba54/pywinpty-2.0.14-cp312-none-win_amd64.whl", hash = "sha256:55dad362ef3e9408ade68fd173e4f9032b3ce08f68cfe7eacb2c263ea1179737", size = 1397207 }, - { url = "https://files.pythonhosted.org/packages/7d/34/b77b3c209bf2eaa6455390c8d5449241637f5957f41636a2204065d52bfa/pywinpty-2.0.14-cp313-none-win_amd64.whl", hash = "sha256:074fb988a56ec79ca90ed03a896d40707131897cefb8f76f926e3834227f2819", size = 1396698 }, - { url = "https://files.pythonhosted.org/packages/d8/ef/85e1b0ef7864fa2c579b1c1efce92c5f6fa238c8e73cf9f53deee08f8605/pywinpty-2.0.14-cp39-none-win_amd64.whl", hash = "sha256:5725fd56f73c0531ec218663bd8c8ff5acc43c78962fab28564871b5fce053fd", size = 1397396 }, + { url = "https://files.pythonhosted.org/packages/07/09/56376af256eab8cc5f8982a3b138d387136eca27fa1a8a68660e8ed59e4b/pywinpty-2.0.14-cp310-none-win_amd64.whl", hash = "sha256:0b149c2918c7974f575ba79f5a4aad58bd859a52fa9eb1296cc22aa412aa411f", size = 1397115, upload-time = "2024-10-17T16:04:46.736Z" }, + { url = "https://files.pythonhosted.org/packages/be/e2/af1a99c0432e4e58c9ac8e334ee191790ec9793d33559189b9d2069bdc1d/pywinpty-2.0.14-cp311-none-win_amd64.whl", hash = "sha256:cf2a43ac7065b3e0dc8510f8c1f13a75fb8fde805efa3b8cff7599a1ef497bc7", size = 1397223, upload-time = "2024-10-17T16:04:33.08Z" }, + { url = "https://files.pythonhosted.org/packages/ad/79/759ae767a3b78d340446efd54dd1fe4f7dafa4fc7be96ed757e44bcdba54/pywinpty-2.0.14-cp312-none-win_amd64.whl", hash = "sha256:55dad362ef3e9408ade68fd173e4f9032b3ce08f68cfe7eacb2c263ea1179737", size = 1397207, upload-time = "2024-10-17T16:04:14.633Z" }, + { url = "https://files.pythonhosted.org/packages/7d/34/b77b3c209bf2eaa6455390c8d5449241637f5957f41636a2204065d52bfa/pywinpty-2.0.14-cp313-none-win_amd64.whl", hash = "sha256:074fb988a56ec79ca90ed03a896d40707131897cefb8f76f926e3834227f2819", size = 1396698, upload-time = "2024-10-17T16:04:15.172Z" }, + { url = "https://files.pythonhosted.org/packages/d8/ef/85e1b0ef7864fa2c579b1c1efce92c5f6fa238c8e73cf9f53deee08f8605/pywinpty-2.0.14-cp39-none-win_amd64.whl", hash = "sha256:5725fd56f73c0531ec218663bd8c8ff5acc43c78962fab28564871b5fce053fd", size = 1397396, upload-time = "2024-10-17T16:05:30.319Z" }, ] [[package]] @@ -3889,74 +3889,74 @@ resolution-markers = [ "(python_full_version == '3.10.*' and platform_machine != 'aarch64' and sys_platform == 'linux') or (python_full_version == '3.10.*' and sys_platform != 'darwin' and sys_platform != 'linux')", "(python_full_version == '3.9.*' and platform_machine != 'arm64' and sys_platform == 'darwin') or (python_full_version == '3.9.*' and platform_machine != 'aarch64' and sys_platform == 'linux') or (python_full_version == '3.9.*' and sys_platform != 'darwin' and sys_platform != 'linux')", ] -sdist = { url = "https://files.pythonhosted.org/packages/2d/7c/917f9c4681bb8d34bfbe0b79d36bbcd902651aeab48790df3d30ba0202fb/pywinpty-2.0.15.tar.gz", hash = "sha256:312cf39153a8736c617d45ce8b6ad6cd2107de121df91c455b10ce6bba7a39b2", size = 29017 } +sdist = { url = "https://files.pythonhosted.org/packages/2d/7c/917f9c4681bb8d34bfbe0b79d36bbcd902651aeab48790df3d30ba0202fb/pywinpty-2.0.15.tar.gz", hash = "sha256:312cf39153a8736c617d45ce8b6ad6cd2107de121df91c455b10ce6bba7a39b2", size = 29017, upload-time = "2025-02-03T21:53:23.265Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/a6/b7/855db919ae526d2628f3f2e6c281c4cdff7a9a8af51bb84659a9f07b1861/pywinpty-2.0.15-cp310-cp310-win_amd64.whl", hash = "sha256:8e7f5de756a615a38b96cd86fa3cd65f901ce54ce147a3179c45907fa11b4c4e", size = 1405161 }, - { url = "https://files.pythonhosted.org/packages/5e/ac/6884dcb7108af66ad53f73ef4dad096e768c9203a6e6ce5e6b0c4a46e238/pywinpty-2.0.15-cp311-cp311-win_amd64.whl", hash = "sha256:9a6bcec2df2707aaa9d08b86071970ee32c5026e10bcc3cc5f6f391d85baf7ca", size = 1405249 }, - { url = "https://files.pythonhosted.org/packages/88/e5/9714def18c3a411809771a3fbcec70bffa764b9675afb00048a620fca604/pywinpty-2.0.15-cp312-cp312-win_amd64.whl", hash = "sha256:83a8f20b430bbc5d8957249f875341a60219a4e971580f2ba694fbfb54a45ebc", size = 1405243 }, - { url = "https://files.pythonhosted.org/packages/fb/16/2ab7b3b7f55f3c6929e5f629e1a68362981e4e5fed592a2ed1cb4b4914a5/pywinpty-2.0.15-cp313-cp313-win_amd64.whl", hash = "sha256:ab5920877dd632c124b4ed17bc6dd6ef3b9f86cd492b963ffdb1a67b85b0f408", size = 1405020 }, - { url = "https://files.pythonhosted.org/packages/7c/16/edef3515dd2030db2795dbfbe392232c7a0f3dc41b98e92b38b42ba497c7/pywinpty-2.0.15-cp313-cp313t-win_amd64.whl", hash = "sha256:a4560ad8c01e537708d2790dbe7da7d986791de805d89dd0d3697ca59e9e4901", size = 1404151 }, - { url = "https://files.pythonhosted.org/packages/47/96/90fa02f19b1eff7469ad7bf0ef8efca248025de9f1d0a0b25682d2aacf68/pywinpty-2.0.15-cp39-cp39-win_amd64.whl", hash = "sha256:d261cd88fcd358cfb48a7ca0700db3e1c088c9c10403c9ebc0d8a8b57aa6a117", size = 1405302 }, + { url = "https://files.pythonhosted.org/packages/a6/b7/855db919ae526d2628f3f2e6c281c4cdff7a9a8af51bb84659a9f07b1861/pywinpty-2.0.15-cp310-cp310-win_amd64.whl", hash = "sha256:8e7f5de756a615a38b96cd86fa3cd65f901ce54ce147a3179c45907fa11b4c4e", size = 1405161, upload-time = "2025-02-03T21:56:25.008Z" }, + { url = "https://files.pythonhosted.org/packages/5e/ac/6884dcb7108af66ad53f73ef4dad096e768c9203a6e6ce5e6b0c4a46e238/pywinpty-2.0.15-cp311-cp311-win_amd64.whl", hash = "sha256:9a6bcec2df2707aaa9d08b86071970ee32c5026e10bcc3cc5f6f391d85baf7ca", size = 1405249, upload-time = "2025-02-03T21:55:47.114Z" }, + { url = "https://files.pythonhosted.org/packages/88/e5/9714def18c3a411809771a3fbcec70bffa764b9675afb00048a620fca604/pywinpty-2.0.15-cp312-cp312-win_amd64.whl", hash = "sha256:83a8f20b430bbc5d8957249f875341a60219a4e971580f2ba694fbfb54a45ebc", size = 1405243, upload-time = "2025-02-03T21:56:52.476Z" }, + { url = "https://files.pythonhosted.org/packages/fb/16/2ab7b3b7f55f3c6929e5f629e1a68362981e4e5fed592a2ed1cb4b4914a5/pywinpty-2.0.15-cp313-cp313-win_amd64.whl", hash = "sha256:ab5920877dd632c124b4ed17bc6dd6ef3b9f86cd492b963ffdb1a67b85b0f408", size = 1405020, upload-time = "2025-02-03T21:56:04.753Z" }, + { url = "https://files.pythonhosted.org/packages/7c/16/edef3515dd2030db2795dbfbe392232c7a0f3dc41b98e92b38b42ba497c7/pywinpty-2.0.15-cp313-cp313t-win_amd64.whl", hash = "sha256:a4560ad8c01e537708d2790dbe7da7d986791de805d89dd0d3697ca59e9e4901", size = 1404151, upload-time = "2025-02-03T21:55:53.628Z" }, + { url = "https://files.pythonhosted.org/packages/47/96/90fa02f19b1eff7469ad7bf0ef8efca248025de9f1d0a0b25682d2aacf68/pywinpty-2.0.15-cp39-cp39-win_amd64.whl", hash = "sha256:d261cd88fcd358cfb48a7ca0700db3e1c088c9c10403c9ebc0d8a8b57aa6a117", size = 1405302, upload-time = "2025-02-03T21:55:40.394Z" }, ] [[package]] name = "pyyaml" version = "6.0.2" source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/54/ed/79a089b6be93607fa5cdaedf301d7dfb23af5f25c398d5ead2525b063e17/pyyaml-6.0.2.tar.gz", hash = "sha256:d584d9ec91ad65861cc08d42e834324ef890a082e591037abe114850ff7bbc3e", size = 130631 } -wheels = [ - { url = "https://files.pythonhosted.org/packages/9b/95/a3fac87cb7158e231b5a6012e438c647e1a87f09f8e0d123acec8ab8bf71/PyYAML-6.0.2-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:0a9a2848a5b7feac301353437eb7d5957887edbf81d56e903999a75a3d743086", size = 184199 }, - { url = "https://files.pythonhosted.org/packages/c7/7a/68bd47624dab8fd4afbfd3c48e3b79efe09098ae941de5b58abcbadff5cb/PyYAML-6.0.2-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:29717114e51c84ddfba879543fb232a6ed60086602313ca38cce623c1d62cfbf", size = 171758 }, - { url = "https://files.pythonhosted.org/packages/49/ee/14c54df452143b9ee9f0f29074d7ca5516a36edb0b4cc40c3f280131656f/PyYAML-6.0.2-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:8824b5a04a04a047e72eea5cec3bc266db09e35de6bdfe34c9436ac5ee27d237", size = 718463 }, - { url = "https://files.pythonhosted.org/packages/4d/61/de363a97476e766574650d742205be468921a7b532aa2499fcd886b62530/PyYAML-6.0.2-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:7c36280e6fb8385e520936c3cb3b8042851904eba0e58d277dca80a5cfed590b", size = 719280 }, - { url = "https://files.pythonhosted.org/packages/6b/4e/1523cb902fd98355e2e9ea5e5eb237cbc5f3ad5f3075fa65087aa0ecb669/PyYAML-6.0.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ec031d5d2feb36d1d1a24380e4db6d43695f3748343d99434e6f5f9156aaa2ed", size = 751239 }, - { url = "https://files.pythonhosted.org/packages/b7/33/5504b3a9a4464893c32f118a9cc045190a91637b119a9c881da1cf6b7a72/PyYAML-6.0.2-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:936d68689298c36b53b29f23c6dbb74de12b4ac12ca6cfe0e047bedceea56180", size = 695802 }, - { url = "https://files.pythonhosted.org/packages/5c/20/8347dcabd41ef3a3cdc4f7b7a2aff3d06598c8779faa189cdbf878b626a4/PyYAML-6.0.2-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:23502f431948090f597378482b4812b0caae32c22213aecf3b55325e049a6c68", size = 720527 }, - { url = "https://files.pythonhosted.org/packages/be/aa/5afe99233fb360d0ff37377145a949ae258aaab831bde4792b32650a4378/PyYAML-6.0.2-cp310-cp310-win32.whl", hash = "sha256:2e99c6826ffa974fe6e27cdb5ed0021786b03fc98e5ee3c5bfe1fd5015f42b99", size = 144052 }, - { url = "https://files.pythonhosted.org/packages/b5/84/0fa4b06f6d6c958d207620fc60005e241ecedceee58931bb20138e1e5776/PyYAML-6.0.2-cp310-cp310-win_amd64.whl", hash = "sha256:a4d3091415f010369ae4ed1fc6b79def9416358877534caf6a0fdd2146c87a3e", size = 161774 }, - { url = "https://files.pythonhosted.org/packages/f8/aa/7af4e81f7acba21a4c6be026da38fd2b872ca46226673c89a758ebdc4fd2/PyYAML-6.0.2-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:cc1c1159b3d456576af7a3e4d1ba7e6924cb39de8f67111c735f6fc832082774", size = 184612 }, - { url = "https://files.pythonhosted.org/packages/8b/62/b9faa998fd185f65c1371643678e4d58254add437edb764a08c5a98fb986/PyYAML-6.0.2-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:1e2120ef853f59c7419231f3bf4e7021f1b936f6ebd222406c3b60212205d2ee", size = 172040 }, - { url = "https://files.pythonhosted.org/packages/ad/0c/c804f5f922a9a6563bab712d8dcc70251e8af811fce4524d57c2c0fd49a4/PyYAML-6.0.2-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:5d225db5a45f21e78dd9358e58a98702a0302f2659a3c6cd320564b75b86f47c", size = 736829 }, - { url = "https://files.pythonhosted.org/packages/51/16/6af8d6a6b210c8e54f1406a6b9481febf9c64a3109c541567e35a49aa2e7/PyYAML-6.0.2-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:5ac9328ec4831237bec75defaf839f7d4564be1e6b25ac710bd1a96321cc8317", size = 764167 }, - { url = "https://files.pythonhosted.org/packages/75/e4/2c27590dfc9992f73aabbeb9241ae20220bd9452df27483b6e56d3975cc5/PyYAML-6.0.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:3ad2a3decf9aaba3d29c8f537ac4b243e36bef957511b4766cb0057d32b0be85", size = 762952 }, - { url = "https://files.pythonhosted.org/packages/9b/97/ecc1abf4a823f5ac61941a9c00fe501b02ac3ab0e373c3857f7d4b83e2b6/PyYAML-6.0.2-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:ff3824dc5261f50c9b0dfb3be22b4567a6f938ccce4587b38952d85fd9e9afe4", size = 735301 }, - { url = "https://files.pythonhosted.org/packages/45/73/0f49dacd6e82c9430e46f4a027baa4ca205e8b0a9dce1397f44edc23559d/PyYAML-6.0.2-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:797b4f722ffa07cc8d62053e4cff1486fa6dc094105d13fea7b1de7d8bf71c9e", size = 756638 }, - { url = "https://files.pythonhosted.org/packages/22/5f/956f0f9fc65223a58fbc14459bf34b4cc48dec52e00535c79b8db361aabd/PyYAML-6.0.2-cp311-cp311-win32.whl", hash = "sha256:11d8f3dd2b9c1207dcaf2ee0bbbfd5991f571186ec9cc78427ba5bd32afae4b5", size = 143850 }, - { url = "https://files.pythonhosted.org/packages/ed/23/8da0bbe2ab9dcdd11f4f4557ccaf95c10b9811b13ecced089d43ce59c3c8/PyYAML-6.0.2-cp311-cp311-win_amd64.whl", hash = "sha256:e10ce637b18caea04431ce14fabcf5c64a1c61ec9c56b071a4b7ca131ca52d44", size = 161980 }, - { url = "https://files.pythonhosted.org/packages/86/0c/c581167fc46d6d6d7ddcfb8c843a4de25bdd27e4466938109ca68492292c/PyYAML-6.0.2-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:c70c95198c015b85feafc136515252a261a84561b7b1d51e3384e0655ddf25ab", size = 183873 }, - { url = "https://files.pythonhosted.org/packages/a8/0c/38374f5bb272c051e2a69281d71cba6fdb983413e6758b84482905e29a5d/PyYAML-6.0.2-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:ce826d6ef20b1bc864f0a68340c8b3287705cae2f8b4b1d932177dcc76721725", size = 173302 }, - { url = "https://files.pythonhosted.org/packages/c3/93/9916574aa8c00aa06bbac729972eb1071d002b8e158bd0e83a3b9a20a1f7/PyYAML-6.0.2-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:1f71ea527786de97d1a0cc0eacd1defc0985dcf6b3f17bb77dcfc8c34bec4dc5", size = 739154 }, - { url = "https://files.pythonhosted.org/packages/95/0f/b8938f1cbd09739c6da569d172531567dbcc9789e0029aa070856f123984/PyYAML-6.0.2-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:9b22676e8097e9e22e36d6b7bda33190d0d400f345f23d4065d48f4ca7ae0425", size = 766223 }, - { url = "https://files.pythonhosted.org/packages/b9/2b/614b4752f2e127db5cc206abc23a8c19678e92b23c3db30fc86ab731d3bd/PyYAML-6.0.2-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:80bab7bfc629882493af4aa31a4cfa43a4c57c83813253626916b8c7ada83476", size = 767542 }, - { url = "https://files.pythonhosted.org/packages/d4/00/dd137d5bcc7efea1836d6264f049359861cf548469d18da90cd8216cf05f/PyYAML-6.0.2-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:0833f8694549e586547b576dcfaba4a6b55b9e96098b36cdc7ebefe667dfed48", size = 731164 }, - { url = "https://files.pythonhosted.org/packages/c9/1f/4f998c900485e5c0ef43838363ba4a9723ac0ad73a9dc42068b12aaba4e4/PyYAML-6.0.2-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:8b9c7197f7cb2738065c481a0461e50ad02f18c78cd75775628afb4d7137fb3b", size = 756611 }, - { url = "https://files.pythonhosted.org/packages/df/d1/f5a275fdb252768b7a11ec63585bc38d0e87c9e05668a139fea92b80634c/PyYAML-6.0.2-cp312-cp312-win32.whl", hash = "sha256:ef6107725bd54b262d6dedcc2af448a266975032bc85ef0172c5f059da6325b4", size = 140591 }, - { url = "https://files.pythonhosted.org/packages/0c/e8/4f648c598b17c3d06e8753d7d13d57542b30d56e6c2dedf9c331ae56312e/PyYAML-6.0.2-cp312-cp312-win_amd64.whl", hash = "sha256:7e7401d0de89a9a855c839bc697c079a4af81cf878373abd7dc625847d25cbd8", size = 156338 }, - { url = "https://files.pythonhosted.org/packages/ef/e3/3af305b830494fa85d95f6d95ef7fa73f2ee1cc8ef5b495c7c3269fb835f/PyYAML-6.0.2-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:efdca5630322a10774e8e98e1af481aad470dd62c3170801852d752aa7a783ba", size = 181309 }, - { url = "https://files.pythonhosted.org/packages/45/9f/3b1c20a0b7a3200524eb0076cc027a970d320bd3a6592873c85c92a08731/PyYAML-6.0.2-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:50187695423ffe49e2deacb8cd10510bc361faac997de9efef88badc3bb9e2d1", size = 171679 }, - { url = "https://files.pythonhosted.org/packages/7c/9a/337322f27005c33bcb656c655fa78325b730324c78620e8328ae28b64d0c/PyYAML-6.0.2-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:0ffe8360bab4910ef1b9e87fb812d8bc0a308b0d0eef8c8f44e0254ab3b07133", size = 733428 }, - { url = "https://files.pythonhosted.org/packages/a3/69/864fbe19e6c18ea3cc196cbe5d392175b4cf3d5d0ac1403ec3f2d237ebb5/PyYAML-6.0.2-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:17e311b6c678207928d649faa7cb0d7b4c26a0ba73d41e99c4fff6b6c3276484", size = 763361 }, - { url = "https://files.pythonhosted.org/packages/04/24/b7721e4845c2f162d26f50521b825fb061bc0a5afcf9a386840f23ea19fa/PyYAML-6.0.2-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:70b189594dbe54f75ab3a1acec5f1e3faa7e8cf2f1e08d9b561cb41b845f69d5", size = 759523 }, - { url = "https://files.pythonhosted.org/packages/2b/b2/e3234f59ba06559c6ff63c4e10baea10e5e7df868092bf9ab40e5b9c56b6/PyYAML-6.0.2-cp313-cp313-musllinux_1_1_aarch64.whl", hash = "sha256:41e4e3953a79407c794916fa277a82531dd93aad34e29c2a514c2c0c5fe971cc", size = 726660 }, - { url = "https://files.pythonhosted.org/packages/fe/0f/25911a9f080464c59fab9027482f822b86bf0608957a5fcc6eaac85aa515/PyYAML-6.0.2-cp313-cp313-musllinux_1_1_x86_64.whl", hash = "sha256:68ccc6023a3400877818152ad9a1033e3db8625d899c72eacb5a668902e4d652", size = 751597 }, - { url = "https://files.pythonhosted.org/packages/14/0d/e2c3b43bbce3cf6bd97c840b46088a3031085179e596d4929729d8d68270/PyYAML-6.0.2-cp313-cp313-win32.whl", hash = "sha256:bc2fa7c6b47d6bc618dd7fb02ef6fdedb1090ec036abab80d4681424b84c1183", size = 140527 }, - { url = "https://files.pythonhosted.org/packages/fa/de/02b54f42487e3d3c6efb3f89428677074ca7bf43aae402517bc7cca949f3/PyYAML-6.0.2-cp313-cp313-win_amd64.whl", hash = "sha256:8388ee1976c416731879ac16da0aff3f63b286ffdd57cdeb95f3f2e085687563", size = 156446 }, - { url = "https://files.pythonhosted.org/packages/74/d9/323a59d506f12f498c2097488d80d16f4cf965cee1791eab58b56b19f47a/PyYAML-6.0.2-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:24471b829b3bf607e04e88d79542a9d48bb037c2267d7927a874e6c205ca7e9a", size = 183218 }, - { url = "https://files.pythonhosted.org/packages/74/cc/20c34d00f04d785f2028737e2e2a8254e1425102e730fee1d6396f832577/PyYAML-6.0.2-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d7fded462629cfa4b685c5416b949ebad6cec74af5e2d42905d41e257e0869f5", size = 728067 }, - { url = "https://files.pythonhosted.org/packages/20/52/551c69ca1501d21c0de51ddafa8c23a0191ef296ff098e98358f69080577/PyYAML-6.0.2-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:d84a1718ee396f54f3a086ea0a66d8e552b2ab2017ef8b420e92edbc841c352d", size = 757812 }, - { url = "https://files.pythonhosted.org/packages/fd/7f/2c3697bba5d4aa5cc2afe81826d73dfae5f049458e44732c7a0938baa673/PyYAML-6.0.2-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:9056c1ecd25795207ad294bcf39f2db3d845767be0ea6e6a34d856f006006083", size = 746531 }, - { url = "https://files.pythonhosted.org/packages/8c/ab/6226d3df99900e580091bb44258fde77a8433511a86883bd4681ea19a858/PyYAML-6.0.2-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:82d09873e40955485746739bcb8b4586983670466c23382c19cffecbf1fd8706", size = 800820 }, - { url = "https://files.pythonhosted.org/packages/a0/99/a9eb0f3e710c06c5d922026f6736e920d431812ace24aae38228d0d64b04/PyYAML-6.0.2-cp38-cp38-win32.whl", hash = "sha256:43fa96a3ca0d6b1812e01ced1044a003533c47f6ee8aca31724f78e93ccc089a", size = 145514 }, - { url = "https://files.pythonhosted.org/packages/75/8a/ee831ad5fafa4431099aa4e078d4c8efd43cd5e48fbc774641d233b683a9/PyYAML-6.0.2-cp38-cp38-win_amd64.whl", hash = "sha256:01179a4a8559ab5de078078f37e5c1a30d76bb88519906844fd7bdea1b7729ff", size = 162702 }, - { url = "https://files.pythonhosted.org/packages/65/d8/b7a1db13636d7fb7d4ff431593c510c8b8fca920ade06ca8ef20015493c5/PyYAML-6.0.2-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:688ba32a1cffef67fd2e9398a2efebaea461578b0923624778664cc1c914db5d", size = 184777 }, - { url = "https://files.pythonhosted.org/packages/0a/02/6ec546cd45143fdf9840b2c6be8d875116a64076218b61d68e12548e5839/PyYAML-6.0.2-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:a8786accb172bd8afb8be14490a16625cbc387036876ab6ba70912730faf8e1f", size = 172318 }, - { url = "https://files.pythonhosted.org/packages/0e/9a/8cc68be846c972bda34f6c2a93abb644fb2476f4dcc924d52175786932c9/PyYAML-6.0.2-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d8e03406cac8513435335dbab54c0d385e4a49e4945d2909a581c83647ca0290", size = 720891 }, - { url = "https://files.pythonhosted.org/packages/e9/6c/6e1b7f40181bc4805e2e07f4abc10a88ce4648e7e95ff1abe4ae4014a9b2/PyYAML-6.0.2-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:f753120cb8181e736c57ef7636e83f31b9c0d1722c516f7e86cf15b7aa57ff12", size = 722614 }, - { url = "https://files.pythonhosted.org/packages/3d/32/e7bd8535d22ea2874cef6a81021ba019474ace0d13a4819c2a4bce79bd6a/PyYAML-6.0.2-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:3b1fdb9dc17f5a7677423d508ab4f243a726dea51fa5e70992e59a7411c89d19", size = 737360 }, - { url = "https://files.pythonhosted.org/packages/d7/12/7322c1e30b9be969670b672573d45479edef72c9a0deac3bb2868f5d7469/PyYAML-6.0.2-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:0b69e4ce7a131fe56b7e4d770c67429700908fc0752af059838b1cfb41960e4e", size = 699006 }, - { url = "https://files.pythonhosted.org/packages/82/72/04fcad41ca56491995076630c3ec1e834be241664c0c09a64c9a2589b507/PyYAML-6.0.2-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:a9f8c2e67970f13b16084e04f134610fd1d374bf477b17ec1599185cf611d725", size = 723577 }, - { url = "https://files.pythonhosted.org/packages/ed/5e/46168b1f2757f1fcd442bc3029cd8767d88a98c9c05770d8b420948743bb/PyYAML-6.0.2-cp39-cp39-win32.whl", hash = "sha256:6395c297d42274772abc367baaa79683958044e5d3835486c16da75d2a694631", size = 144593 }, - { url = "https://files.pythonhosted.org/packages/19/87/5124b1c1f2412bb95c59ec481eaf936cd32f0fe2a7b16b97b81c4c017a6a/PyYAML-6.0.2-cp39-cp39-win_amd64.whl", hash = "sha256:39693e1f8320ae4f43943590b49779ffb98acb81f788220ea932a6b6c51004d8", size = 162312 }, +sdist = { url = "https://files.pythonhosted.org/packages/54/ed/79a089b6be93607fa5cdaedf301d7dfb23af5f25c398d5ead2525b063e17/pyyaml-6.0.2.tar.gz", hash = "sha256:d584d9ec91ad65861cc08d42e834324ef890a082e591037abe114850ff7bbc3e", size = 130631, upload-time = "2024-08-06T20:33:50.674Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/9b/95/a3fac87cb7158e231b5a6012e438c647e1a87f09f8e0d123acec8ab8bf71/PyYAML-6.0.2-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:0a9a2848a5b7feac301353437eb7d5957887edbf81d56e903999a75a3d743086", size = 184199, upload-time = "2024-08-06T20:31:40.178Z" }, + { url = "https://files.pythonhosted.org/packages/c7/7a/68bd47624dab8fd4afbfd3c48e3b79efe09098ae941de5b58abcbadff5cb/PyYAML-6.0.2-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:29717114e51c84ddfba879543fb232a6ed60086602313ca38cce623c1d62cfbf", size = 171758, upload-time = "2024-08-06T20:31:42.173Z" }, + { url = "https://files.pythonhosted.org/packages/49/ee/14c54df452143b9ee9f0f29074d7ca5516a36edb0b4cc40c3f280131656f/PyYAML-6.0.2-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:8824b5a04a04a047e72eea5cec3bc266db09e35de6bdfe34c9436ac5ee27d237", size = 718463, upload-time = "2024-08-06T20:31:44.263Z" }, + { url = "https://files.pythonhosted.org/packages/4d/61/de363a97476e766574650d742205be468921a7b532aa2499fcd886b62530/PyYAML-6.0.2-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:7c36280e6fb8385e520936c3cb3b8042851904eba0e58d277dca80a5cfed590b", size = 719280, upload-time = "2024-08-06T20:31:50.199Z" }, + { url = "https://files.pythonhosted.org/packages/6b/4e/1523cb902fd98355e2e9ea5e5eb237cbc5f3ad5f3075fa65087aa0ecb669/PyYAML-6.0.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ec031d5d2feb36d1d1a24380e4db6d43695f3748343d99434e6f5f9156aaa2ed", size = 751239, upload-time = "2024-08-06T20:31:52.292Z" }, + { url = "https://files.pythonhosted.org/packages/b7/33/5504b3a9a4464893c32f118a9cc045190a91637b119a9c881da1cf6b7a72/PyYAML-6.0.2-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:936d68689298c36b53b29f23c6dbb74de12b4ac12ca6cfe0e047bedceea56180", size = 695802, upload-time = "2024-08-06T20:31:53.836Z" }, + { url = "https://files.pythonhosted.org/packages/5c/20/8347dcabd41ef3a3cdc4f7b7a2aff3d06598c8779faa189cdbf878b626a4/PyYAML-6.0.2-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:23502f431948090f597378482b4812b0caae32c22213aecf3b55325e049a6c68", size = 720527, upload-time = "2024-08-06T20:31:55.565Z" }, + { url = "https://files.pythonhosted.org/packages/be/aa/5afe99233fb360d0ff37377145a949ae258aaab831bde4792b32650a4378/PyYAML-6.0.2-cp310-cp310-win32.whl", hash = "sha256:2e99c6826ffa974fe6e27cdb5ed0021786b03fc98e5ee3c5bfe1fd5015f42b99", size = 144052, upload-time = "2024-08-06T20:31:56.914Z" }, + { url = "https://files.pythonhosted.org/packages/b5/84/0fa4b06f6d6c958d207620fc60005e241ecedceee58931bb20138e1e5776/PyYAML-6.0.2-cp310-cp310-win_amd64.whl", hash = "sha256:a4d3091415f010369ae4ed1fc6b79def9416358877534caf6a0fdd2146c87a3e", size = 161774, upload-time = "2024-08-06T20:31:58.304Z" }, + { url = "https://files.pythonhosted.org/packages/f8/aa/7af4e81f7acba21a4c6be026da38fd2b872ca46226673c89a758ebdc4fd2/PyYAML-6.0.2-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:cc1c1159b3d456576af7a3e4d1ba7e6924cb39de8f67111c735f6fc832082774", size = 184612, upload-time = "2024-08-06T20:32:03.408Z" }, + { url = "https://files.pythonhosted.org/packages/8b/62/b9faa998fd185f65c1371643678e4d58254add437edb764a08c5a98fb986/PyYAML-6.0.2-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:1e2120ef853f59c7419231f3bf4e7021f1b936f6ebd222406c3b60212205d2ee", size = 172040, upload-time = "2024-08-06T20:32:04.926Z" }, + { url = "https://files.pythonhosted.org/packages/ad/0c/c804f5f922a9a6563bab712d8dcc70251e8af811fce4524d57c2c0fd49a4/PyYAML-6.0.2-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:5d225db5a45f21e78dd9358e58a98702a0302f2659a3c6cd320564b75b86f47c", size = 736829, upload-time = "2024-08-06T20:32:06.459Z" }, + { url = "https://files.pythonhosted.org/packages/51/16/6af8d6a6b210c8e54f1406a6b9481febf9c64a3109c541567e35a49aa2e7/PyYAML-6.0.2-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:5ac9328ec4831237bec75defaf839f7d4564be1e6b25ac710bd1a96321cc8317", size = 764167, upload-time = "2024-08-06T20:32:08.338Z" }, + { url = "https://files.pythonhosted.org/packages/75/e4/2c27590dfc9992f73aabbeb9241ae20220bd9452df27483b6e56d3975cc5/PyYAML-6.0.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:3ad2a3decf9aaba3d29c8f537ac4b243e36bef957511b4766cb0057d32b0be85", size = 762952, upload-time = "2024-08-06T20:32:14.124Z" }, + { url = "https://files.pythonhosted.org/packages/9b/97/ecc1abf4a823f5ac61941a9c00fe501b02ac3ab0e373c3857f7d4b83e2b6/PyYAML-6.0.2-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:ff3824dc5261f50c9b0dfb3be22b4567a6f938ccce4587b38952d85fd9e9afe4", size = 735301, upload-time = "2024-08-06T20:32:16.17Z" }, + { url = "https://files.pythonhosted.org/packages/45/73/0f49dacd6e82c9430e46f4a027baa4ca205e8b0a9dce1397f44edc23559d/PyYAML-6.0.2-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:797b4f722ffa07cc8d62053e4cff1486fa6dc094105d13fea7b1de7d8bf71c9e", size = 756638, upload-time = "2024-08-06T20:32:18.555Z" }, + { url = "https://files.pythonhosted.org/packages/22/5f/956f0f9fc65223a58fbc14459bf34b4cc48dec52e00535c79b8db361aabd/PyYAML-6.0.2-cp311-cp311-win32.whl", hash = "sha256:11d8f3dd2b9c1207dcaf2ee0bbbfd5991f571186ec9cc78427ba5bd32afae4b5", size = 143850, upload-time = "2024-08-06T20:32:19.889Z" }, + { url = "https://files.pythonhosted.org/packages/ed/23/8da0bbe2ab9dcdd11f4f4557ccaf95c10b9811b13ecced089d43ce59c3c8/PyYAML-6.0.2-cp311-cp311-win_amd64.whl", hash = "sha256:e10ce637b18caea04431ce14fabcf5c64a1c61ec9c56b071a4b7ca131ca52d44", size = 161980, upload-time = "2024-08-06T20:32:21.273Z" }, + { url = "https://files.pythonhosted.org/packages/86/0c/c581167fc46d6d6d7ddcfb8c843a4de25bdd27e4466938109ca68492292c/PyYAML-6.0.2-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:c70c95198c015b85feafc136515252a261a84561b7b1d51e3384e0655ddf25ab", size = 183873, upload-time = "2024-08-06T20:32:25.131Z" }, + { url = "https://files.pythonhosted.org/packages/a8/0c/38374f5bb272c051e2a69281d71cba6fdb983413e6758b84482905e29a5d/PyYAML-6.0.2-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:ce826d6ef20b1bc864f0a68340c8b3287705cae2f8b4b1d932177dcc76721725", size = 173302, upload-time = "2024-08-06T20:32:26.511Z" }, + { url = "https://files.pythonhosted.org/packages/c3/93/9916574aa8c00aa06bbac729972eb1071d002b8e158bd0e83a3b9a20a1f7/PyYAML-6.0.2-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:1f71ea527786de97d1a0cc0eacd1defc0985dcf6b3f17bb77dcfc8c34bec4dc5", size = 739154, upload-time = "2024-08-06T20:32:28.363Z" }, + { url = "https://files.pythonhosted.org/packages/95/0f/b8938f1cbd09739c6da569d172531567dbcc9789e0029aa070856f123984/PyYAML-6.0.2-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:9b22676e8097e9e22e36d6b7bda33190d0d400f345f23d4065d48f4ca7ae0425", size = 766223, upload-time = "2024-08-06T20:32:30.058Z" }, + { url = "https://files.pythonhosted.org/packages/b9/2b/614b4752f2e127db5cc206abc23a8c19678e92b23c3db30fc86ab731d3bd/PyYAML-6.0.2-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:80bab7bfc629882493af4aa31a4cfa43a4c57c83813253626916b8c7ada83476", size = 767542, upload-time = "2024-08-06T20:32:31.881Z" }, + { url = "https://files.pythonhosted.org/packages/d4/00/dd137d5bcc7efea1836d6264f049359861cf548469d18da90cd8216cf05f/PyYAML-6.0.2-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:0833f8694549e586547b576dcfaba4a6b55b9e96098b36cdc7ebefe667dfed48", size = 731164, upload-time = "2024-08-06T20:32:37.083Z" }, + { url = "https://files.pythonhosted.org/packages/c9/1f/4f998c900485e5c0ef43838363ba4a9723ac0ad73a9dc42068b12aaba4e4/PyYAML-6.0.2-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:8b9c7197f7cb2738065c481a0461e50ad02f18c78cd75775628afb4d7137fb3b", size = 756611, upload-time = "2024-08-06T20:32:38.898Z" }, + { url = "https://files.pythonhosted.org/packages/df/d1/f5a275fdb252768b7a11ec63585bc38d0e87c9e05668a139fea92b80634c/PyYAML-6.0.2-cp312-cp312-win32.whl", hash = "sha256:ef6107725bd54b262d6dedcc2af448a266975032bc85ef0172c5f059da6325b4", size = 140591, upload-time = "2024-08-06T20:32:40.241Z" }, + { url = "https://files.pythonhosted.org/packages/0c/e8/4f648c598b17c3d06e8753d7d13d57542b30d56e6c2dedf9c331ae56312e/PyYAML-6.0.2-cp312-cp312-win_amd64.whl", hash = "sha256:7e7401d0de89a9a855c839bc697c079a4af81cf878373abd7dc625847d25cbd8", size = 156338, upload-time = "2024-08-06T20:32:41.93Z" }, + { url = "https://files.pythonhosted.org/packages/ef/e3/3af305b830494fa85d95f6d95ef7fa73f2ee1cc8ef5b495c7c3269fb835f/PyYAML-6.0.2-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:efdca5630322a10774e8e98e1af481aad470dd62c3170801852d752aa7a783ba", size = 181309, upload-time = "2024-08-06T20:32:43.4Z" }, + { url = "https://files.pythonhosted.org/packages/45/9f/3b1c20a0b7a3200524eb0076cc027a970d320bd3a6592873c85c92a08731/PyYAML-6.0.2-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:50187695423ffe49e2deacb8cd10510bc361faac997de9efef88badc3bb9e2d1", size = 171679, upload-time = "2024-08-06T20:32:44.801Z" }, + { url = "https://files.pythonhosted.org/packages/7c/9a/337322f27005c33bcb656c655fa78325b730324c78620e8328ae28b64d0c/PyYAML-6.0.2-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:0ffe8360bab4910ef1b9e87fb812d8bc0a308b0d0eef8c8f44e0254ab3b07133", size = 733428, upload-time = "2024-08-06T20:32:46.432Z" }, + { url = "https://files.pythonhosted.org/packages/a3/69/864fbe19e6c18ea3cc196cbe5d392175b4cf3d5d0ac1403ec3f2d237ebb5/PyYAML-6.0.2-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:17e311b6c678207928d649faa7cb0d7b4c26a0ba73d41e99c4fff6b6c3276484", size = 763361, upload-time = "2024-08-06T20:32:51.188Z" }, + { url = "https://files.pythonhosted.org/packages/04/24/b7721e4845c2f162d26f50521b825fb061bc0a5afcf9a386840f23ea19fa/PyYAML-6.0.2-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:70b189594dbe54f75ab3a1acec5f1e3faa7e8cf2f1e08d9b561cb41b845f69d5", size = 759523, upload-time = "2024-08-06T20:32:53.019Z" }, + { url = "https://files.pythonhosted.org/packages/2b/b2/e3234f59ba06559c6ff63c4e10baea10e5e7df868092bf9ab40e5b9c56b6/PyYAML-6.0.2-cp313-cp313-musllinux_1_1_aarch64.whl", hash = "sha256:41e4e3953a79407c794916fa277a82531dd93aad34e29c2a514c2c0c5fe971cc", size = 726660, upload-time = "2024-08-06T20:32:54.708Z" }, + { url = "https://files.pythonhosted.org/packages/fe/0f/25911a9f080464c59fab9027482f822b86bf0608957a5fcc6eaac85aa515/PyYAML-6.0.2-cp313-cp313-musllinux_1_1_x86_64.whl", hash = "sha256:68ccc6023a3400877818152ad9a1033e3db8625d899c72eacb5a668902e4d652", size = 751597, upload-time = "2024-08-06T20:32:56.985Z" }, + { url = "https://files.pythonhosted.org/packages/14/0d/e2c3b43bbce3cf6bd97c840b46088a3031085179e596d4929729d8d68270/PyYAML-6.0.2-cp313-cp313-win32.whl", hash = "sha256:bc2fa7c6b47d6bc618dd7fb02ef6fdedb1090ec036abab80d4681424b84c1183", size = 140527, upload-time = "2024-08-06T20:33:03.001Z" }, + { url = "https://files.pythonhosted.org/packages/fa/de/02b54f42487e3d3c6efb3f89428677074ca7bf43aae402517bc7cca949f3/PyYAML-6.0.2-cp313-cp313-win_amd64.whl", hash = "sha256:8388ee1976c416731879ac16da0aff3f63b286ffdd57cdeb95f3f2e085687563", size = 156446, upload-time = "2024-08-06T20:33:04.33Z" }, + { url = "https://files.pythonhosted.org/packages/74/d9/323a59d506f12f498c2097488d80d16f4cf965cee1791eab58b56b19f47a/PyYAML-6.0.2-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:24471b829b3bf607e04e88d79542a9d48bb037c2267d7927a874e6c205ca7e9a", size = 183218, upload-time = "2024-08-06T20:33:06.411Z" }, + { url = "https://files.pythonhosted.org/packages/74/cc/20c34d00f04d785f2028737e2e2a8254e1425102e730fee1d6396f832577/PyYAML-6.0.2-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d7fded462629cfa4b685c5416b949ebad6cec74af5e2d42905d41e257e0869f5", size = 728067, upload-time = "2024-08-06T20:33:07.879Z" }, + { url = "https://files.pythonhosted.org/packages/20/52/551c69ca1501d21c0de51ddafa8c23a0191ef296ff098e98358f69080577/PyYAML-6.0.2-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:d84a1718ee396f54f3a086ea0a66d8e552b2ab2017ef8b420e92edbc841c352d", size = 757812, upload-time = "2024-08-06T20:33:12.542Z" }, + { url = "https://files.pythonhosted.org/packages/fd/7f/2c3697bba5d4aa5cc2afe81826d73dfae5f049458e44732c7a0938baa673/PyYAML-6.0.2-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:9056c1ecd25795207ad294bcf39f2db3d845767be0ea6e6a34d856f006006083", size = 746531, upload-time = "2024-08-06T20:33:14.391Z" }, + { url = "https://files.pythonhosted.org/packages/8c/ab/6226d3df99900e580091bb44258fde77a8433511a86883bd4681ea19a858/PyYAML-6.0.2-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:82d09873e40955485746739bcb8b4586983670466c23382c19cffecbf1fd8706", size = 800820, upload-time = "2024-08-06T20:33:16.586Z" }, + { url = "https://files.pythonhosted.org/packages/a0/99/a9eb0f3e710c06c5d922026f6736e920d431812ace24aae38228d0d64b04/PyYAML-6.0.2-cp38-cp38-win32.whl", hash = "sha256:43fa96a3ca0d6b1812e01ced1044a003533c47f6ee8aca31724f78e93ccc089a", size = 145514, upload-time = "2024-08-06T20:33:22.414Z" }, + { url = "https://files.pythonhosted.org/packages/75/8a/ee831ad5fafa4431099aa4e078d4c8efd43cd5e48fbc774641d233b683a9/PyYAML-6.0.2-cp38-cp38-win_amd64.whl", hash = "sha256:01179a4a8559ab5de078078f37e5c1a30d76bb88519906844fd7bdea1b7729ff", size = 162702, upload-time = "2024-08-06T20:33:23.813Z" }, + { url = "https://files.pythonhosted.org/packages/65/d8/b7a1db13636d7fb7d4ff431593c510c8b8fca920ade06ca8ef20015493c5/PyYAML-6.0.2-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:688ba32a1cffef67fd2e9398a2efebaea461578b0923624778664cc1c914db5d", size = 184777, upload-time = "2024-08-06T20:33:25.896Z" }, + { url = "https://files.pythonhosted.org/packages/0a/02/6ec546cd45143fdf9840b2c6be8d875116a64076218b61d68e12548e5839/PyYAML-6.0.2-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:a8786accb172bd8afb8be14490a16625cbc387036876ab6ba70912730faf8e1f", size = 172318, upload-time = "2024-08-06T20:33:27.212Z" }, + { url = "https://files.pythonhosted.org/packages/0e/9a/8cc68be846c972bda34f6c2a93abb644fb2476f4dcc924d52175786932c9/PyYAML-6.0.2-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d8e03406cac8513435335dbab54c0d385e4a49e4945d2909a581c83647ca0290", size = 720891, upload-time = "2024-08-06T20:33:28.974Z" }, + { url = "https://files.pythonhosted.org/packages/e9/6c/6e1b7f40181bc4805e2e07f4abc10a88ce4648e7e95ff1abe4ae4014a9b2/PyYAML-6.0.2-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:f753120cb8181e736c57ef7636e83f31b9c0d1722c516f7e86cf15b7aa57ff12", size = 722614, upload-time = "2024-08-06T20:33:34.157Z" }, + { url = "https://files.pythonhosted.org/packages/3d/32/e7bd8535d22ea2874cef6a81021ba019474ace0d13a4819c2a4bce79bd6a/PyYAML-6.0.2-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:3b1fdb9dc17f5a7677423d508ab4f243a726dea51fa5e70992e59a7411c89d19", size = 737360, upload-time = "2024-08-06T20:33:35.84Z" }, + { url = "https://files.pythonhosted.org/packages/d7/12/7322c1e30b9be969670b672573d45479edef72c9a0deac3bb2868f5d7469/PyYAML-6.0.2-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:0b69e4ce7a131fe56b7e4d770c67429700908fc0752af059838b1cfb41960e4e", size = 699006, upload-time = "2024-08-06T20:33:37.501Z" }, + { url = "https://files.pythonhosted.org/packages/82/72/04fcad41ca56491995076630c3ec1e834be241664c0c09a64c9a2589b507/PyYAML-6.0.2-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:a9f8c2e67970f13b16084e04f134610fd1d374bf477b17ec1599185cf611d725", size = 723577, upload-time = "2024-08-06T20:33:39.389Z" }, + { url = "https://files.pythonhosted.org/packages/ed/5e/46168b1f2757f1fcd442bc3029cd8767d88a98c9c05770d8b420948743bb/PyYAML-6.0.2-cp39-cp39-win32.whl", hash = "sha256:6395c297d42274772abc367baaa79683958044e5d3835486c16da75d2a694631", size = 144593, upload-time = "2024-08-06T20:33:46.63Z" }, + { url = "https://files.pythonhosted.org/packages/19/87/5124b1c1f2412bb95c59ec481eaf936cd32f0fe2a7b16b97b81c4c017a6a/PyYAML-6.0.2-cp39-cp39-win_amd64.whl", hash = "sha256:39693e1f8320ae4f43943590b49779ffb98acb81f788220ea932a6b6c51004d8", size = 162312, upload-time = "2024-08-06T20:33:49.073Z" }, ] [[package]] @@ -3966,9 +3966,9 @@ source = { registry = "https://pypi.org/simple" } dependencies = [ { name = "pyyaml" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/fb/8e/da1c6c58f751b70f8ceb1eb25bc25d524e8f14fe16edcce3f4e3ba08629c/pyyaml_env_tag-0.1.tar.gz", hash = "sha256:70092675bda14fdec33b31ba77e7543de9ddc88f2e5b99160396572d11525bdb", size = 5631 } +sdist = { url = "https://files.pythonhosted.org/packages/fb/8e/da1c6c58f751b70f8ceb1eb25bc25d524e8f14fe16edcce3f4e3ba08629c/pyyaml_env_tag-0.1.tar.gz", hash = "sha256:70092675bda14fdec33b31ba77e7543de9ddc88f2e5b99160396572d11525bdb", size = 5631, upload-time = "2020-11-12T02:38:26.239Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/5a/66/bbb1dd374f5c870f59c5bb1db0e18cbe7fa739415a24cbd95b2d1f5ae0c4/pyyaml_env_tag-0.1-py3-none-any.whl", hash = "sha256:af31106dec8a4d68c60207c1886031cbf839b68aa7abccdb19868200532c2069", size = 3911 }, + { url = "https://files.pythonhosted.org/packages/5a/66/bbb1dd374f5c870f59c5bb1db0e18cbe7fa739415a24cbd95b2d1f5ae0c4/pyyaml_env_tag-0.1-py3-none-any.whl", hash = "sha256:af31106dec8a4d68c60207c1886031cbf839b68aa7abccdb19868200532c2069", size = 3911, upload-time = "2020-11-12T02:38:24.638Z" }, ] [[package]] @@ -3978,102 +3978,102 @@ source = { registry = "https://pypi.org/simple" } dependencies = [ { name = "cffi", marker = "implementation_name == 'pypy'" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/5a/e3/8d0382cb59feb111c252b54e8728257416a38ffcb2243c4e4775a3c990fe/pyzmq-26.2.1.tar.gz", hash = "sha256:17d72a74e5e9ff3829deb72897a175333d3ef5b5413948cae3cf7ebf0b02ecca", size = 278433 } -wheels = [ - { url = "https://files.pythonhosted.org/packages/70/3d/c2d9d46c033d1b51692ea49a22439f7f66d91d5c938e8b5c56ed7a2151c2/pyzmq-26.2.1-cp310-cp310-macosx_10_15_universal2.whl", hash = "sha256:f39d1227e8256d19899d953e6e19ed2ccb689102e6d85e024da5acf410f301eb", size = 1345451 }, - { url = "https://files.pythonhosted.org/packages/0e/df/4754a8abcdeef280651f9bb51446c47659910940b392a66acff7c37f5cef/pyzmq-26.2.1-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:a23948554c692df95daed595fdd3b76b420a4939d7a8a28d6d7dea9711878641", size = 942766 }, - { url = "https://files.pythonhosted.org/packages/74/da/e6053a3b13c912eded6c2cdeee22ff3a4c33820d17f9eb24c7b6e957ffe7/pyzmq-26.2.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:95f5728b367a042df146cec4340d75359ec6237beebf4a8f5cf74657c65b9257", size = 678488 }, - { url = "https://files.pythonhosted.org/packages/9e/50/614934145244142401ca174ca81071777ab93aa88173973ba0154f491e09/pyzmq-26.2.1-cp310-cp310-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:95f7b01b3f275504011cf4cf21c6b885c8d627ce0867a7e83af1382ebab7b3ff", size = 917115 }, - { url = "https://files.pythonhosted.org/packages/80/2b/ebeb7bc4fc8e9e61650b2e09581597355a4341d413fa9b2947d7a6558119/pyzmq-26.2.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:80a00370a2ef2159c310e662c7c0f2d030f437f35f478bb8b2f70abd07e26b24", size = 874162 }, - { url = "https://files.pythonhosted.org/packages/79/48/93210621c331ad16313dc2849801411fbae10d91d878853933f2a85df8e7/pyzmq-26.2.1-cp310-cp310-manylinux_2_28_x86_64.whl", hash = "sha256:8531ed35dfd1dd2af95f5d02afd6545e8650eedbf8c3d244a554cf47d8924459", size = 874180 }, - { url = "https://files.pythonhosted.org/packages/f0/8b/40924b4d8e33bfdd54c1970fb50f327e39b90b902f897cf09b30b2e9ac48/pyzmq-26.2.1-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:cdb69710e462a38e6039cf17259d328f86383a06c20482cc154327968712273c", size = 1208139 }, - { url = "https://files.pythonhosted.org/packages/c8/b2/82d6675fc89bd965eae13c45002c792d33f06824589844b03f8ea8fc6d86/pyzmq-26.2.1-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:e7eeaef81530d0b74ad0d29eec9997f1c9230c2f27242b8d17e0ee67662c8f6e", size = 1520666 }, - { url = "https://files.pythonhosted.org/packages/9d/e2/5ff15f2d3f920dcc559d477bd9bb3faacd6d79fcf7c5448e585c78f84849/pyzmq-26.2.1-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:361edfa350e3be1f987e592e834594422338d7174364763b7d3de5b0995b16f3", size = 1420056 }, - { url = "https://files.pythonhosted.org/packages/40/a2/f9bbeccf7f75aa0d8963e224e5730abcefbf742e1f2ae9ea60fd9d6ff72b/pyzmq-26.2.1-cp310-cp310-win32.whl", hash = "sha256:637536c07d2fb6a354988b2dd1d00d02eb5dd443f4bbee021ba30881af1c28aa", size = 583874 }, - { url = "https://files.pythonhosted.org/packages/56/b1/44f513135843272f0e12f5aebf4af35839e2a88eb45411f2c8c010d8c856/pyzmq-26.2.1-cp310-cp310-win_amd64.whl", hash = "sha256:45fad32448fd214fbe60030aa92f97e64a7140b624290834cc9b27b3a11f9473", size = 647367 }, - { url = "https://files.pythonhosted.org/packages/27/9c/1bef14a37b02d651a462811bbdb1390b61cd4a5b5e95cbd7cc2d60ef848c/pyzmq-26.2.1-cp310-cp310-win_arm64.whl", hash = "sha256:d9da0289d8201c8a29fd158aaa0dfe2f2e14a181fd45e2dc1fbf969a62c1d594", size = 561784 }, - { url = "https://files.pythonhosted.org/packages/b9/03/5ecc46a6ed5971299f5c03e016ca637802d8660e44392bea774fb7797405/pyzmq-26.2.1-cp311-cp311-macosx_10_15_universal2.whl", hash = "sha256:c059883840e634a21c5b31d9b9a0e2b48f991b94d60a811092bc37992715146a", size = 1346032 }, - { url = "https://files.pythonhosted.org/packages/40/51/48fec8f990ee644f461ff14c8fe5caa341b0b9b3a0ad7544f8ef17d6f528/pyzmq-26.2.1-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:ed038a921df836d2f538e509a59cb638df3e70ca0fcd70d0bf389dfcdf784d2a", size = 943324 }, - { url = "https://files.pythonhosted.org/packages/c1/f4/f322b389727c687845e38470b48d7a43c18a83f26d4d5084603c6c3f79ca/pyzmq-26.2.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:9027a7fcf690f1a3635dc9e55e38a0d6602dbbc0548935d08d46d2e7ec91f454", size = 678418 }, - { url = "https://files.pythonhosted.org/packages/a8/df/2834e3202533bd05032d83e02db7ac09fa1be853bbef59974f2b2e3a8557/pyzmq-26.2.1-cp311-cp311-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:6d75fcb00a1537f8b0c0bb05322bc7e35966148ffc3e0362f0369e44a4a1de99", size = 915466 }, - { url = "https://files.pythonhosted.org/packages/b5/e2/45c0f6e122b562cb8c6c45c0dcac1160a4e2207385ef9b13463e74f93031/pyzmq-26.2.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f0019cc804ac667fb8c8eaecdb66e6d4a68acf2e155d5c7d6381a5645bd93ae4", size = 873347 }, - { url = "https://files.pythonhosted.org/packages/de/b9/3e0fbddf8b87454e914501d368171466a12550c70355b3844115947d68ea/pyzmq-26.2.1-cp311-cp311-manylinux_2_28_x86_64.whl", hash = "sha256:f19dae58b616ac56b96f2e2290f2d18730a898a171f447f491cc059b073ca1fa", size = 874545 }, - { url = "https://files.pythonhosted.org/packages/1f/1c/1ee41d6e10b2127263b1994bc53b9e74ece015b0d2c0a30e0afaf69b78b2/pyzmq-26.2.1-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:f5eeeb82feec1fc5cbafa5ee9022e87ffdb3a8c48afa035b356fcd20fc7f533f", size = 1208630 }, - { url = "https://files.pythonhosted.org/packages/3d/a9/50228465c625851a06aeee97c74f253631f509213f979166e83796299c60/pyzmq-26.2.1-cp311-cp311-musllinux_1_1_i686.whl", hash = "sha256:000760e374d6f9d1a3478a42ed0c98604de68c9e94507e5452951e598ebecfba", size = 1519568 }, - { url = "https://files.pythonhosted.org/packages/c6/f2/6360b619e69da78863c2108beb5196ae8b955fe1e161c0b886b95dc6b1ac/pyzmq-26.2.1-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:817fcd3344d2a0b28622722b98500ae9c8bfee0f825b8450932ff19c0b15bebd", size = 1419677 }, - { url = "https://files.pythonhosted.org/packages/da/d5/f179da989168f5dfd1be8103ef508ade1d38a8078dda4f10ebae3131a490/pyzmq-26.2.1-cp311-cp311-win32.whl", hash = "sha256:88812b3b257f80444a986b3596e5ea5c4d4ed4276d2b85c153a6fbc5ca457ae7", size = 582682 }, - { url = "https://files.pythonhosted.org/packages/60/50/e5b2e9de3ffab73ff92bee736216cf209381081fa6ab6ba96427777d98b1/pyzmq-26.2.1-cp311-cp311-win_amd64.whl", hash = "sha256:ef29630fde6022471d287c15c0a2484aba188adbfb978702624ba7a54ddfa6c1", size = 648128 }, - { url = "https://files.pythonhosted.org/packages/d9/fe/7bb93476dd8405b0fc9cab1fd921a08bd22d5e3016aa6daea1a78d54129b/pyzmq-26.2.1-cp311-cp311-win_arm64.whl", hash = "sha256:f32718ee37c07932cc336096dc7403525301fd626349b6eff8470fe0f996d8d7", size = 562465 }, - { url = "https://files.pythonhosted.org/packages/9c/b9/260a74786f162c7f521f5f891584a51d5a42fd15f5dcaa5c9226b2865fcc/pyzmq-26.2.1-cp312-cp312-macosx_10_15_universal2.whl", hash = "sha256:a6549ecb0041dafa55b5932dcbb6c68293e0bd5980b5b99f5ebb05f9a3b8a8f3", size = 1348495 }, - { url = "https://files.pythonhosted.org/packages/bf/73/8a0757e4b68f5a8ccb90ddadbb76c6a5f880266cdb18be38c99bcdc17aaa/pyzmq-26.2.1-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:0250c94561f388db51fd0213cdccbd0b9ef50fd3c57ce1ac937bf3034d92d72e", size = 945035 }, - { url = "https://files.pythonhosted.org/packages/cf/de/f02ec973cd33155bb772bae33ace774acc7cc71b87b25c4829068bec35de/pyzmq-26.2.1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:36ee4297d9e4b34b5dc1dd7ab5d5ea2cbba8511517ef44104d2915a917a56dc8", size = 671213 }, - { url = "https://files.pythonhosted.org/packages/d1/80/8fc583085f85ac91682744efc916888dd9f11f9f75a31aef1b78a5486c6c/pyzmq-26.2.1-cp312-cp312-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:c2a9cb17fd83b7a3a3009901aca828feaf20aa2451a8a487b035455a86549c09", size = 908750 }, - { url = "https://files.pythonhosted.org/packages/c3/25/0b4824596f261a3cc512ab152448b383047ff5f143a6906a36876415981c/pyzmq-26.2.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:786dd8a81b969c2081b31b17b326d3a499ddd1856e06d6d79ad41011a25148da", size = 865416 }, - { url = "https://files.pythonhosted.org/packages/a1/d1/6fda77a034d02034367b040973fd3861d945a5347e607bd2e98c99f20599/pyzmq-26.2.1-cp312-cp312-manylinux_2_28_x86_64.whl", hash = "sha256:2d88ba221a07fc2c5581565f1d0fe8038c15711ae79b80d9462e080a1ac30435", size = 865922 }, - { url = "https://files.pythonhosted.org/packages/ad/81/48f7fd8a71c427412e739ce576fc1ee14f3dc34527ca9b0076e471676183/pyzmq-26.2.1-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:1c84c1297ff9f1cd2440da4d57237cb74be21fdfe7d01a10810acba04e79371a", size = 1201526 }, - { url = "https://files.pythonhosted.org/packages/c7/d8/818f15c6ef36b5450e435cbb0d3a51599fc884a5d2b27b46b9c00af68ef1/pyzmq-26.2.1-cp312-cp312-musllinux_1_1_i686.whl", hash = "sha256:46d4ebafc27081a7f73a0f151d0c38d4291656aa134344ec1f3d0199ebfbb6d4", size = 1512808 }, - { url = "https://files.pythonhosted.org/packages/d9/c4/b3edb7d0ae82ad6fb1a8cdb191a4113c427a01e85139906f3b655b07f4f8/pyzmq-26.2.1-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:91e2bfb8e9a29f709d51b208dd5f441dc98eb412c8fe75c24ea464734ccdb48e", size = 1411836 }, - { url = "https://files.pythonhosted.org/packages/69/1c/151e3d42048f02cc5cd6dfc241d9d36b38375b4dee2e728acb5c353a6d52/pyzmq-26.2.1-cp312-cp312-win32.whl", hash = "sha256:4a98898fdce380c51cc3e38ebc9aa33ae1e078193f4dc641c047f88b8c690c9a", size = 581378 }, - { url = "https://files.pythonhosted.org/packages/b6/b9/d59a7462848aaab7277fddb253ae134a570520115d80afa85e952287e6bc/pyzmq-26.2.1-cp312-cp312-win_amd64.whl", hash = "sha256:a0741edbd0adfe5f30bba6c5223b78c131b5aa4a00a223d631e5ef36e26e6d13", size = 643737 }, - { url = "https://files.pythonhosted.org/packages/55/09/f37e707937cce328944c1d57e5e50ab905011d35252a0745c4f7e5822a76/pyzmq-26.2.1-cp312-cp312-win_arm64.whl", hash = "sha256:e5e33b1491555843ba98d5209439500556ef55b6ab635f3a01148545498355e5", size = 558303 }, - { url = "https://files.pythonhosted.org/packages/4f/2e/fa7a91ce349975971d6aa925b4c7e1a05abaae99b97ade5ace758160c43d/pyzmq-26.2.1-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:099b56ef464bc355b14381f13355542e452619abb4c1e57a534b15a106bf8e23", size = 942331 }, - { url = "https://files.pythonhosted.org/packages/64/2b/1f10b34b6dc7ff4b40f668ea25ba9b8093ce61d874c784b90229b367707b/pyzmq-26.2.1-cp313-cp313-macosx_10_15_universal2.whl", hash = "sha256:651726f37fcbce9f8dd2a6dab0f024807929780621890a4dc0c75432636871be", size = 1345831 }, - { url = "https://files.pythonhosted.org/packages/4c/8d/34884cbd4a8ec050841b5fb58d37af136766a9f95b0b2634c2971deb09da/pyzmq-26.2.1-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:57dd4d91b38fa4348e237a9388b4423b24ce9c1695bbd4ba5a3eada491e09399", size = 670773 }, - { url = "https://files.pythonhosted.org/packages/0f/f4/d4becfcf9e416ad2564f18a6653f7c6aa917da08df5c3760edb0baa1c863/pyzmq-26.2.1-cp313-cp313-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:d51a7bfe01a48e1064131f3416a5439872c533d756396be2b39e3977b41430f9", size = 908836 }, - { url = "https://files.pythonhosted.org/packages/07/fa/ab105f1b86b85cb2e821239f1d0900fccd66192a91d97ee04661b5436b4d/pyzmq-26.2.1-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:c7154d228502e18f30f150b7ce94f0789d6b689f75261b623f0fdc1eec642aab", size = 865369 }, - { url = "https://files.pythonhosted.org/packages/c9/48/15d5f415504572dd4b92b52db5de7a5befc76bb75340ba9f36f71306a66d/pyzmq-26.2.1-cp313-cp313-manylinux_2_28_x86_64.whl", hash = "sha256:f1f31661a80cc46aba381bed475a9135b213ba23ca7ff6797251af31510920ce", size = 865676 }, - { url = "https://files.pythonhosted.org/packages/7e/35/2d91bcc7ccbb56043dd4d2c1763f24a8de5f05e06a134f767a7fb38e149c/pyzmq-26.2.1-cp313-cp313-musllinux_1_1_aarch64.whl", hash = "sha256:290c96f479504439b6129a94cefd67a174b68ace8a8e3f551b2239a64cfa131a", size = 1201457 }, - { url = "https://files.pythonhosted.org/packages/6d/bb/aa7c5119307a5762b8dca6c9db73e3ab4bccf32b15d7c4f376271ff72b2b/pyzmq-26.2.1-cp313-cp313-musllinux_1_1_i686.whl", hash = "sha256:f2c307fbe86e18ab3c885b7e01de942145f539165c3360e2af0f094dd440acd9", size = 1513035 }, - { url = "https://files.pythonhosted.org/packages/4f/4c/527e6650c2fccec7750b783301329c8a8716d59423818afb67282304ce5a/pyzmq-26.2.1-cp313-cp313-musllinux_1_1_x86_64.whl", hash = "sha256:b314268e716487bfb86fcd6f84ebbe3e5bec5fac75fdf42bc7d90fdb33f618ad", size = 1411881 }, - { url = "https://files.pythonhosted.org/packages/89/9f/e4412ea1b3e220acc21777a5edba8885856403d29c6999aaf00a9459eb03/pyzmq-26.2.1-cp313-cp313-win32.whl", hash = "sha256:edb550616f567cd5603b53bb52a5f842c0171b78852e6fc7e392b02c2a1504bb", size = 581354 }, - { url = "https://files.pythonhosted.org/packages/55/cd/f89dd3e9fc2da0d1619a82c4afb600c86b52bc72d7584953d460bc8d5027/pyzmq-26.2.1-cp313-cp313-win_amd64.whl", hash = "sha256:100a826a029c8ef3d77a1d4c97cbd6e867057b5806a7276f2bac1179f893d3bf", size = 643560 }, - { url = "https://files.pythonhosted.org/packages/a7/99/5de4f8912860013f1116f818a0047659bc20d71d1bc1d48f874bdc2d7b9c/pyzmq-26.2.1-cp313-cp313-win_arm64.whl", hash = "sha256:6991ee6c43e0480deb1b45d0c7c2bac124a6540cba7db4c36345e8e092da47ce", size = 558037 }, - { url = "https://files.pythonhosted.org/packages/06/0b/63b6d7a2f07a77dbc9768c6302ae2d7518bed0c6cee515669ca0d8ec743e/pyzmq-26.2.1-cp313-cp313t-macosx_10_13_x86_64.whl", hash = "sha256:25e720dba5b3a3bb2ad0ad5d33440babd1b03438a7a5220511d0c8fa677e102e", size = 938580 }, - { url = "https://files.pythonhosted.org/packages/85/38/e5e2c3ffa23ea5f95f1c904014385a55902a11a67cd43c10edf61a653467/pyzmq-26.2.1-cp313-cp313t-macosx_10_15_universal2.whl", hash = "sha256:9ec6abfb701437142ce9544bd6a236addaf803a32628d2260eb3dbd9a60e2891", size = 1339670 }, - { url = "https://files.pythonhosted.org/packages/d2/87/da5519ed7f8b31e4beee8f57311ec02926822fe23a95120877354cd80144/pyzmq-26.2.1-cp313-cp313t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:2e1eb9d2bfdf5b4e21165b553a81b2c3bd5be06eeddcc4e08e9692156d21f1f6", size = 660983 }, - { url = "https://files.pythonhosted.org/packages/f6/e8/1ca6a2d59562e04d326a026c9e3f791a6f1a276ebde29da478843a566fdb/pyzmq-26.2.1-cp313-cp313t-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:90dc731d8e3e91bcd456aa7407d2eba7ac6f7860e89f3766baabb521f2c1de4a", size = 896509 }, - { url = "https://files.pythonhosted.org/packages/5c/e5/0b4688f7c74bea7e4f1e920da973fcd7d20175f4f1181cb9b692429c6bb9/pyzmq-26.2.1-cp313-cp313t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:0b6a93d684278ad865fc0b9e89fe33f6ea72d36da0e842143891278ff7fd89c3", size = 853196 }, - { url = "https://files.pythonhosted.org/packages/8f/35/c17241da01195001828319e98517683dad0ac4df6fcba68763d61b630390/pyzmq-26.2.1-cp313-cp313t-manylinux_2_28_x86_64.whl", hash = "sha256:c1bb37849e2294d519117dd99b613c5177934e5c04a5bb05dd573fa42026567e", size = 855133 }, - { url = "https://files.pythonhosted.org/packages/d2/14/268ee49bbecc3f72e225addeac7f0e2bd5808747b78c7bf7f87ed9f9d5a8/pyzmq-26.2.1-cp313-cp313t-musllinux_1_1_aarch64.whl", hash = "sha256:632a09c6d8af17b678d84df442e9c3ad8e4949c109e48a72f805b22506c4afa7", size = 1191612 }, - { url = "https://files.pythonhosted.org/packages/5e/02/6394498620b1b4349b95c534f3ebc3aef95f39afbdced5ed7ee315c49c14/pyzmq-26.2.1-cp313-cp313t-musllinux_1_1_i686.whl", hash = "sha256:fc409c18884eaf9ddde516d53af4f2db64a8bc7d81b1a0c274b8aa4e929958e8", size = 1500824 }, - { url = "https://files.pythonhosted.org/packages/17/fc/b79f0b72891cbb9917698add0fede71dfb64e83fa3481a02ed0e78c34be7/pyzmq-26.2.1-cp313-cp313t-musllinux_1_1_x86_64.whl", hash = "sha256:17f88622b848805d3f6427ce1ad5a2aa3cf61f12a97e684dab2979802024d460", size = 1399943 }, - { url = "https://files.pythonhosted.org/packages/d2/bb/fe5b78f58dd7846a8a5255d74c3aa475ed6450c68338554222a929695b29/pyzmq-26.2.1-cp38-cp38-macosx_10_15_universal2.whl", hash = "sha256:36d4e7307db7c847fe37413f333027d31c11d5e6b3bacbb5022661ac635942ba", size = 1345877 }, - { url = "https://files.pythonhosted.org/packages/cd/74/b77cab27649917e8a7304c0a4b57f138a092177106a680cccc541189af40/pyzmq-26.2.1-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:1c6ae0e95d0a4b0cfe30f648a18e764352d5415279bdf34424decb33e79935b8", size = 942846 }, - { url = "https://files.pythonhosted.org/packages/8c/18/aae170eb81d5b4d65082ffc7a115487d5985e0733d053b67a2320cf9065e/pyzmq-26.2.1-cp38-cp38-manylinux_2_12_i686.manylinux2010_i686.whl", hash = "sha256:5b4fc44f5360784cc02392f14235049665caaf7c0fe0b04d313e763d3338e463", size = 913016 }, - { url = "https://files.pythonhosted.org/packages/6c/15/d333cb6d96b3740b5b3fba6ff48fb9076266a85da140b02d435429d93779/pyzmq-26.2.1-cp38-cp38-manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:51431f6b2750eb9b9d2b2952d3cc9b15d0215e1b8f37b7a3239744d9b487325d", size = 867683 }, - { url = "https://files.pythonhosted.org/packages/2b/21/bf8e5e27abc0b08416544fc4563d45052ba9219b794d76c83b7e5e026f8e/pyzmq-26.2.1-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:bdbc78ae2065042de48a65f1421b8af6b76a0386bb487b41955818c3c1ce7bed", size = 679167 }, - { url = "https://files.pythonhosted.org/packages/7d/e1/79b567380a967cd525bac814a68585a8cdd5c5ba5bff3c890d3ed559e55c/pyzmq-26.2.1-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:d14f50d61a89b0925e4d97a0beba6053eb98c426c5815d949a43544f05a0c7ec", size = 1212285 }, - { url = "https://files.pythonhosted.org/packages/a5/c1/339456da6fded90d05c7930686bed1ae6cb5d42fcdb4619ee959cb81eb18/pyzmq-26.2.1-cp38-cp38-musllinux_1_1_i686.whl", hash = "sha256:004837cb958988c75d8042f5dac19a881f3d9b3b75b2f574055e22573745f841", size = 1521549 }, - { url = "https://files.pythonhosted.org/packages/b2/26/4b1d9ce3152658535c43b4dc8d0d107c534ba3ef0cf9d4e46b1f87f46e6e/pyzmq-26.2.1-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:0b2007f28ce1b8acebdf4812c1aab997a22e57d6a73b5f318b708ef9bcabbe95", size = 1422824 }, - { url = "https://files.pythonhosted.org/packages/b5/1a/eea539099f165c9e9a496eeadc181091022a8e401554eaa7a1e8eb056235/pyzmq-26.2.1-cp38-cp38-win32.whl", hash = "sha256:269c14904da971cb5f013100d1aaedb27c0a246728c341d5d61ddd03f463f2f3", size = 583745 }, - { url = "https://files.pythonhosted.org/packages/95/74/7dddec65ba0df90489a16221ca4db4616bf4b0aac42650d3708b54007286/pyzmq-26.2.1-cp38-cp38-win_amd64.whl", hash = "sha256:31fff709fef3b991cfe7189d2cfe0c413a1d0e82800a182cfa0c2e3668cd450f", size = 648270 }, - { url = "https://files.pythonhosted.org/packages/8d/a4/42e404040ccb3f65bd3b40e368dc96fb04b8e7eea1ecd3ac2ef0e70c51f3/pyzmq-26.2.1-cp39-cp39-macosx_10_15_universal2.whl", hash = "sha256:a4bffcadfd40660f26d1b3315a6029fd4f8f5bf31a74160b151f5c577b2dc81b", size = 1346647 }, - { url = "https://files.pythonhosted.org/packages/d5/d9/045ee93500e3f8cbd2a7b30a9533cba7b857b51b3bb4ec44fa61eb6d36ef/pyzmq-26.2.1-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:e76ad4729c2f1cf74b6eb1bdd05f6aba6175999340bd51e6caee49a435a13bf5", size = 943305 }, - { url = "https://files.pythonhosted.org/packages/5c/3b/9437cae0bfd3889dc7741ed9c132dc09c2a1fcae05a2e1b1af41a23a77a2/pyzmq-26.2.1-cp39-cp39-manylinux_2_12_i686.manylinux2010_i686.whl", hash = "sha256:8b0f5bab40a16e708e78a0c6ee2425d27e1a5d8135c7a203b4e977cee37eb4aa", size = 913424 }, - { url = "https://files.pythonhosted.org/packages/5c/16/f1f0e36c9c15247901379b45bd3f7cc15f540b62c9c34c28e735550014b4/pyzmq-26.2.1-cp39-cp39-manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:e8e47050412f0ad3a9b2287779758073cbf10e460d9f345002d4779e43bb0136", size = 867471 }, - { url = "https://files.pythonhosted.org/packages/70/68/3a0dd3b6386d725ffb98378cd046e15333fbcc1e2b3b48dbcda73259a752/pyzmq-26.2.1-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:7f18ce33f422d119b13c1363ed4cce245b342b2c5cbbb76753eabf6aa6f69c7d", size = 679051 }, - { url = "https://files.pythonhosted.org/packages/46/9a/0c57cd9c0aae885a096f0c7ebd658f6c7fda49973e484bf7f1c47288beae/pyzmq-26.2.1-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:ceb0d78b7ef106708a7e2c2914afe68efffc0051dc6a731b0dbacd8b4aee6d68", size = 1208959 }, - { url = "https://files.pythonhosted.org/packages/61/f7/22dcf86ab2a4d458a300698972212be327a66e35785649e9f4bad2260f1c/pyzmq-26.2.1-cp39-cp39-musllinux_1_1_i686.whl", hash = "sha256:7ebdd96bd637fd426d60e86a29ec14b8c1ab64b8d972f6a020baf08a30d1cf46", size = 1521237 }, - { url = "https://files.pythonhosted.org/packages/b4/20/854bb34ac377efbe15d791d6e0bf991d8127cc6d471cd9a2666a13b4f3ba/pyzmq-26.2.1-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:03719e424150c6395b9513f53a5faadcc1ce4b92abdf68987f55900462ac7eec", size = 1420720 }, - { url = "https://files.pythonhosted.org/packages/6d/e3/07816d8b50a506f6f59d0023b8fefa109d5549a874b9d250137e85dc4305/pyzmq-26.2.1-cp39-cp39-win32.whl", hash = "sha256:ef5479fac31df4b304e96400fc67ff08231873ee3537544aa08c30f9d22fce38", size = 584311 }, - { url = "https://files.pythonhosted.org/packages/9f/78/eeb040669d0ac1fc3c061c8053e96a49e5c612041f462b026ad154001ac1/pyzmq-26.2.1-cp39-cp39-win_amd64.whl", hash = "sha256:f92a002462154c176dac63a8f1f6582ab56eb394ef4914d65a9417f5d9fde218", size = 647856 }, - { url = "https://files.pythonhosted.org/packages/2c/c9/55eb55eda712573ca759e17b9018a2f9dbc4dd34bc7c862c36d574a40b1f/pyzmq-26.2.1-cp39-cp39-win_arm64.whl", hash = "sha256:1fd4b3efc6f62199886440d5e27dd3ccbcb98dfddf330e7396f1ff421bfbb3c2", size = 562372 }, - { url = "https://files.pythonhosted.org/packages/65/d1/e630a75cfb2534574a1258fda54d02f13cf80b576d4ce6d2aa478dc67829/pyzmq-26.2.1-pp310-pypy310_pp73-macosx_10_15_x86_64.whl", hash = "sha256:380816d298aed32b1a97b4973a4865ef3be402a2e760204509b52b6de79d755d", size = 847743 }, - { url = "https://files.pythonhosted.org/packages/27/df/f94a711b4f6c4b41e227f9a938103f52acf4c2e949d91cbc682495a48155/pyzmq-26.2.1-pp310-pypy310_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:97cbb368fd0debdbeb6ba5966aa28e9a1ae3396c7386d15569a6ca4be4572b99", size = 570991 }, - { url = "https://files.pythonhosted.org/packages/bf/08/0c6f97fb3c9dbfa23382f0efaf8f9aa1396a08a3358974eaae3ee659ed5c/pyzmq-26.2.1-pp310-pypy310_pp73-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:abf7b5942c6b0dafcc2823ddd9154f419147e24f8df5b41ca8ea40a6db90615c", size = 799664 }, - { url = "https://files.pythonhosted.org/packages/05/14/f4d4fd8bb8988c667845734dd756e9ee65b9a17a010d5f288dfca14a572d/pyzmq-26.2.1-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:3fe6e28a8856aea808715f7a4fc11f682b9d29cac5d6262dd8fe4f98edc12d53", size = 758156 }, - { url = "https://files.pythonhosted.org/packages/e3/fe/72e7e166bda3885810bee7b23049133e142f7c80c295bae02c562caeea16/pyzmq-26.2.1-pp310-pypy310_pp73-win_amd64.whl", hash = "sha256:bd8fdee945b877aa3bffc6a5a8816deb048dab0544f9df3731ecd0e54d8c84c9", size = 556563 }, - { url = "https://files.pythonhosted.org/packages/c9/e9/892d0c9654a7ec5ea0b06b40f87b3f255d1440d8b5500dc9bf4b7079de95/pyzmq-26.2.1-pp38-pypy38_pp73-macosx_10_9_x86_64.whl", hash = "sha256:70b3a46ecd9296e725ccafc17d732bfc3cdab850b54bd913f843a0a54dfb2c04", size = 847718 }, - { url = "https://files.pythonhosted.org/packages/b1/4f/1e820f2706df3940f1a1bcbc072515ac5346f2c0e20c300623cf968eb35a/pyzmq-26.2.1-pp38-pypy38_pp73-manylinux_2_12_i686.manylinux2010_i686.whl", hash = "sha256:59660e15c797a3b7a571c39f8e0b62a1f385f98ae277dfe95ca7eaf05b5a0f12", size = 807438 }, - { url = "https://files.pythonhosted.org/packages/ff/ce/a575e9dedc47a83425faa7be99154bf206b3924c5acb0f76212f45933d2d/pyzmq-26.2.1-pp38-pypy38_pp73-manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:0f50db737d688e96ad2a083ad2b453e22865e7e19c7f17d17df416e91ddf67eb", size = 762214 }, - { url = "https://files.pythonhosted.org/packages/ed/89/641e79c58155d8093e4f9acce823121d2402b5ed8a6bf1b5f3c47a2586fa/pyzmq-26.2.1-pp38-pypy38_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a003200b6cd64e89b5725ff7e284a93ab24fd54bbac8b4fa46b1ed57be693c27", size = 570989 }, - { url = "https://files.pythonhosted.org/packages/3a/b2/439341a8304f4a99027a4170349638e9ff0063bbc97bbf2104d53b7e13b3/pyzmq-26.2.1-pp38-pypy38_pp73-win_amd64.whl", hash = "sha256:f9ba5def063243793dec6603ad1392f735255cbc7202a3a484c14f99ec290705", size = 556559 }, - { url = "https://files.pythonhosted.org/packages/d9/6b/f27dfd4b7b3d6a8bd39ab1469fb8f8685c597d6772cbf3b39b1c4d798eee/pyzmq-26.2.1-pp39-pypy39_pp73-macosx_10_15_x86_64.whl", hash = "sha256:1238c2448c58b9c8d6565579393148414a42488a5f916b3f322742e561f6ae0d", size = 847735 }, - { url = "https://files.pythonhosted.org/packages/f5/1f/fe0698f36c619bc960e97efe9a8ece412a7dc4c80e0bd603cde81731c6ca/pyzmq-26.2.1-pp39-pypy39_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:8eddb3784aed95d07065bcf94d07e8c04024fdb6b2386f08c197dfe6b3528fda", size = 570986 }, - { url = "https://files.pythonhosted.org/packages/91/2e/f7f6c00d16db2b1936f3cd3b8362c391e40dd16a646b92ebf2f3b28206ee/pyzmq-26.2.1-pp39-pypy39_pp73-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:f0f19c2097fffb1d5b07893d75c9ee693e9cbc809235cf3f2267f0ef6b015f24", size = 799658 }, - { url = "https://files.pythonhosted.org/packages/50/98/aa114911fcb65645099d6db5694a49975ef442f2c34532ea5365b6ec6da8/pyzmq-26.2.1-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:0995fd3530f2e89d6b69a2202e340bbada3191014352af978fa795cb7a446331", size = 758151 }, - { url = "https://files.pythonhosted.org/packages/53/58/9909ad7a3112999a30464c5c92937c9eec5f5e6905a1eee45fd99788ce56/pyzmq-26.2.1-pp39-pypy39_pp73-manylinux_2_28_x86_64.whl", hash = "sha256:7c6160fe513654e65665332740f63de29ce0d165e053c0c14a161fa60dd0da01", size = 756685 }, - { url = "https://files.pythonhosted.org/packages/01/28/1c0f44e609b91a1168aaf4ac38511645fd725593b41cd54ef06744d502ff/pyzmq-26.2.1-pp39-pypy39_pp73-win_amd64.whl", hash = "sha256:8ec8e3aea6146b761d6c57fcf8f81fcb19f187afecc19bf1701a48db9617a217", size = 556558 }, +sdist = { url = "https://files.pythonhosted.org/packages/5a/e3/8d0382cb59feb111c252b54e8728257416a38ffcb2243c4e4775a3c990fe/pyzmq-26.2.1.tar.gz", hash = "sha256:17d72a74e5e9ff3829deb72897a175333d3ef5b5413948cae3cf7ebf0b02ecca", size = 278433, upload-time = "2025-01-30T11:42:00.757Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/70/3d/c2d9d46c033d1b51692ea49a22439f7f66d91d5c938e8b5c56ed7a2151c2/pyzmq-26.2.1-cp310-cp310-macosx_10_15_universal2.whl", hash = "sha256:f39d1227e8256d19899d953e6e19ed2ccb689102e6d85e024da5acf410f301eb", size = 1345451, upload-time = "2025-01-30T11:37:48.675Z" }, + { url = "https://files.pythonhosted.org/packages/0e/df/4754a8abcdeef280651f9bb51446c47659910940b392a66acff7c37f5cef/pyzmq-26.2.1-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:a23948554c692df95daed595fdd3b76b420a4939d7a8a28d6d7dea9711878641", size = 942766, upload-time = "2025-01-30T11:37:51.691Z" }, + { url = "https://files.pythonhosted.org/packages/74/da/e6053a3b13c912eded6c2cdeee22ff3a4c33820d17f9eb24c7b6e957ffe7/pyzmq-26.2.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:95f5728b367a042df146cec4340d75359ec6237beebf4a8f5cf74657c65b9257", size = 678488, upload-time = "2025-01-30T11:37:55.009Z" }, + { url = "https://files.pythonhosted.org/packages/9e/50/614934145244142401ca174ca81071777ab93aa88173973ba0154f491e09/pyzmq-26.2.1-cp310-cp310-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:95f7b01b3f275504011cf4cf21c6b885c8d627ce0867a7e83af1382ebab7b3ff", size = 917115, upload-time = "2025-01-30T11:37:58.279Z" }, + { url = "https://files.pythonhosted.org/packages/80/2b/ebeb7bc4fc8e9e61650b2e09581597355a4341d413fa9b2947d7a6558119/pyzmq-26.2.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:80a00370a2ef2159c310e662c7c0f2d030f437f35f478bb8b2f70abd07e26b24", size = 874162, upload-time = "2025-01-30T11:38:00.079Z" }, + { url = "https://files.pythonhosted.org/packages/79/48/93210621c331ad16313dc2849801411fbae10d91d878853933f2a85df8e7/pyzmq-26.2.1-cp310-cp310-manylinux_2_28_x86_64.whl", hash = "sha256:8531ed35dfd1dd2af95f5d02afd6545e8650eedbf8c3d244a554cf47d8924459", size = 874180, upload-time = "2025-01-30T11:38:02.205Z" }, + { url = "https://files.pythonhosted.org/packages/f0/8b/40924b4d8e33bfdd54c1970fb50f327e39b90b902f897cf09b30b2e9ac48/pyzmq-26.2.1-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:cdb69710e462a38e6039cf17259d328f86383a06c20482cc154327968712273c", size = 1208139, upload-time = "2025-01-30T11:38:05.387Z" }, + { url = "https://files.pythonhosted.org/packages/c8/b2/82d6675fc89bd965eae13c45002c792d33f06824589844b03f8ea8fc6d86/pyzmq-26.2.1-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:e7eeaef81530d0b74ad0d29eec9997f1c9230c2f27242b8d17e0ee67662c8f6e", size = 1520666, upload-time = "2025-01-30T11:38:07.497Z" }, + { url = "https://files.pythonhosted.org/packages/9d/e2/5ff15f2d3f920dcc559d477bd9bb3faacd6d79fcf7c5448e585c78f84849/pyzmq-26.2.1-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:361edfa350e3be1f987e592e834594422338d7174364763b7d3de5b0995b16f3", size = 1420056, upload-time = "2025-01-30T11:38:09.231Z" }, + { url = "https://files.pythonhosted.org/packages/40/a2/f9bbeccf7f75aa0d8963e224e5730abcefbf742e1f2ae9ea60fd9d6ff72b/pyzmq-26.2.1-cp310-cp310-win32.whl", hash = "sha256:637536c07d2fb6a354988b2dd1d00d02eb5dd443f4bbee021ba30881af1c28aa", size = 583874, upload-time = "2025-01-30T11:38:10.921Z" }, + { url = "https://files.pythonhosted.org/packages/56/b1/44f513135843272f0e12f5aebf4af35839e2a88eb45411f2c8c010d8c856/pyzmq-26.2.1-cp310-cp310-win_amd64.whl", hash = "sha256:45fad32448fd214fbe60030aa92f97e64a7140b624290834cc9b27b3a11f9473", size = 647367, upload-time = "2025-01-30T11:38:12.664Z" }, + { url = "https://files.pythonhosted.org/packages/27/9c/1bef14a37b02d651a462811bbdb1390b61cd4a5b5e95cbd7cc2d60ef848c/pyzmq-26.2.1-cp310-cp310-win_arm64.whl", hash = "sha256:d9da0289d8201c8a29fd158aaa0dfe2f2e14a181fd45e2dc1fbf969a62c1d594", size = 561784, upload-time = "2025-01-30T11:38:14.868Z" }, + { url = "https://files.pythonhosted.org/packages/b9/03/5ecc46a6ed5971299f5c03e016ca637802d8660e44392bea774fb7797405/pyzmq-26.2.1-cp311-cp311-macosx_10_15_universal2.whl", hash = "sha256:c059883840e634a21c5b31d9b9a0e2b48f991b94d60a811092bc37992715146a", size = 1346032, upload-time = "2025-01-30T11:38:17.357Z" }, + { url = "https://files.pythonhosted.org/packages/40/51/48fec8f990ee644f461ff14c8fe5caa341b0b9b3a0ad7544f8ef17d6f528/pyzmq-26.2.1-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:ed038a921df836d2f538e509a59cb638df3e70ca0fcd70d0bf389dfcdf784d2a", size = 943324, upload-time = "2025-01-30T11:38:19.942Z" }, + { url = "https://files.pythonhosted.org/packages/c1/f4/f322b389727c687845e38470b48d7a43c18a83f26d4d5084603c6c3f79ca/pyzmq-26.2.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:9027a7fcf690f1a3635dc9e55e38a0d6602dbbc0548935d08d46d2e7ec91f454", size = 678418, upload-time = "2025-01-30T11:38:21.806Z" }, + { url = "https://files.pythonhosted.org/packages/a8/df/2834e3202533bd05032d83e02db7ac09fa1be853bbef59974f2b2e3a8557/pyzmq-26.2.1-cp311-cp311-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:6d75fcb00a1537f8b0c0bb05322bc7e35966148ffc3e0362f0369e44a4a1de99", size = 915466, upload-time = "2025-01-30T11:38:23.963Z" }, + { url = "https://files.pythonhosted.org/packages/b5/e2/45c0f6e122b562cb8c6c45c0dcac1160a4e2207385ef9b13463e74f93031/pyzmq-26.2.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f0019cc804ac667fb8c8eaecdb66e6d4a68acf2e155d5c7d6381a5645bd93ae4", size = 873347, upload-time = "2025-01-30T11:38:26.496Z" }, + { url = "https://files.pythonhosted.org/packages/de/b9/3e0fbddf8b87454e914501d368171466a12550c70355b3844115947d68ea/pyzmq-26.2.1-cp311-cp311-manylinux_2_28_x86_64.whl", hash = "sha256:f19dae58b616ac56b96f2e2290f2d18730a898a171f447f491cc059b073ca1fa", size = 874545, upload-time = "2025-01-30T11:38:28.428Z" }, + { url = "https://files.pythonhosted.org/packages/1f/1c/1ee41d6e10b2127263b1994bc53b9e74ece015b0d2c0a30e0afaf69b78b2/pyzmq-26.2.1-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:f5eeeb82feec1fc5cbafa5ee9022e87ffdb3a8c48afa035b356fcd20fc7f533f", size = 1208630, upload-time = "2025-01-30T11:38:30.96Z" }, + { url = "https://files.pythonhosted.org/packages/3d/a9/50228465c625851a06aeee97c74f253631f509213f979166e83796299c60/pyzmq-26.2.1-cp311-cp311-musllinux_1_1_i686.whl", hash = "sha256:000760e374d6f9d1a3478a42ed0c98604de68c9e94507e5452951e598ebecfba", size = 1519568, upload-time = "2025-01-30T11:38:32.813Z" }, + { url = "https://files.pythonhosted.org/packages/c6/f2/6360b619e69da78863c2108beb5196ae8b955fe1e161c0b886b95dc6b1ac/pyzmq-26.2.1-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:817fcd3344d2a0b28622722b98500ae9c8bfee0f825b8450932ff19c0b15bebd", size = 1419677, upload-time = "2025-01-30T11:38:35.902Z" }, + { url = "https://files.pythonhosted.org/packages/da/d5/f179da989168f5dfd1be8103ef508ade1d38a8078dda4f10ebae3131a490/pyzmq-26.2.1-cp311-cp311-win32.whl", hash = "sha256:88812b3b257f80444a986b3596e5ea5c4d4ed4276d2b85c153a6fbc5ca457ae7", size = 582682, upload-time = "2025-01-30T11:38:38.556Z" }, + { url = "https://files.pythonhosted.org/packages/60/50/e5b2e9de3ffab73ff92bee736216cf209381081fa6ab6ba96427777d98b1/pyzmq-26.2.1-cp311-cp311-win_amd64.whl", hash = "sha256:ef29630fde6022471d287c15c0a2484aba188adbfb978702624ba7a54ddfa6c1", size = 648128, upload-time = "2025-01-30T11:38:40.427Z" }, + { url = "https://files.pythonhosted.org/packages/d9/fe/7bb93476dd8405b0fc9cab1fd921a08bd22d5e3016aa6daea1a78d54129b/pyzmq-26.2.1-cp311-cp311-win_arm64.whl", hash = "sha256:f32718ee37c07932cc336096dc7403525301fd626349b6eff8470fe0f996d8d7", size = 562465, upload-time = "2025-01-30T11:38:41.994Z" }, + { url = "https://files.pythonhosted.org/packages/9c/b9/260a74786f162c7f521f5f891584a51d5a42fd15f5dcaa5c9226b2865fcc/pyzmq-26.2.1-cp312-cp312-macosx_10_15_universal2.whl", hash = "sha256:a6549ecb0041dafa55b5932dcbb6c68293e0bd5980b5b99f5ebb05f9a3b8a8f3", size = 1348495, upload-time = "2025-01-30T11:38:44.299Z" }, + { url = "https://files.pythonhosted.org/packages/bf/73/8a0757e4b68f5a8ccb90ddadbb76c6a5f880266cdb18be38c99bcdc17aaa/pyzmq-26.2.1-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:0250c94561f388db51fd0213cdccbd0b9ef50fd3c57ce1ac937bf3034d92d72e", size = 945035, upload-time = "2025-01-30T11:38:46.303Z" }, + { url = "https://files.pythonhosted.org/packages/cf/de/f02ec973cd33155bb772bae33ace774acc7cc71b87b25c4829068bec35de/pyzmq-26.2.1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:36ee4297d9e4b34b5dc1dd7ab5d5ea2cbba8511517ef44104d2915a917a56dc8", size = 671213, upload-time = "2025-01-30T11:38:48.334Z" }, + { url = "https://files.pythonhosted.org/packages/d1/80/8fc583085f85ac91682744efc916888dd9f11f9f75a31aef1b78a5486c6c/pyzmq-26.2.1-cp312-cp312-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:c2a9cb17fd83b7a3a3009901aca828feaf20aa2451a8a487b035455a86549c09", size = 908750, upload-time = "2025-01-30T11:38:50.398Z" }, + { url = "https://files.pythonhosted.org/packages/c3/25/0b4824596f261a3cc512ab152448b383047ff5f143a6906a36876415981c/pyzmq-26.2.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:786dd8a81b969c2081b31b17b326d3a499ddd1856e06d6d79ad41011a25148da", size = 865416, upload-time = "2025-01-30T11:38:52.301Z" }, + { url = "https://files.pythonhosted.org/packages/a1/d1/6fda77a034d02034367b040973fd3861d945a5347e607bd2e98c99f20599/pyzmq-26.2.1-cp312-cp312-manylinux_2_28_x86_64.whl", hash = "sha256:2d88ba221a07fc2c5581565f1d0fe8038c15711ae79b80d9462e080a1ac30435", size = 865922, upload-time = "2025-01-30T11:38:54.332Z" }, + { url = "https://files.pythonhosted.org/packages/ad/81/48f7fd8a71c427412e739ce576fc1ee14f3dc34527ca9b0076e471676183/pyzmq-26.2.1-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:1c84c1297ff9f1cd2440da4d57237cb74be21fdfe7d01a10810acba04e79371a", size = 1201526, upload-time = "2025-01-30T11:38:57.162Z" }, + { url = "https://files.pythonhosted.org/packages/c7/d8/818f15c6ef36b5450e435cbb0d3a51599fc884a5d2b27b46b9c00af68ef1/pyzmq-26.2.1-cp312-cp312-musllinux_1_1_i686.whl", hash = "sha256:46d4ebafc27081a7f73a0f151d0c38d4291656aa134344ec1f3d0199ebfbb6d4", size = 1512808, upload-time = "2025-01-30T11:38:59.137Z" }, + { url = "https://files.pythonhosted.org/packages/d9/c4/b3edb7d0ae82ad6fb1a8cdb191a4113c427a01e85139906f3b655b07f4f8/pyzmq-26.2.1-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:91e2bfb8e9a29f709d51b208dd5f441dc98eb412c8fe75c24ea464734ccdb48e", size = 1411836, upload-time = "2025-01-30T11:39:01.157Z" }, + { url = "https://files.pythonhosted.org/packages/69/1c/151e3d42048f02cc5cd6dfc241d9d36b38375b4dee2e728acb5c353a6d52/pyzmq-26.2.1-cp312-cp312-win32.whl", hash = "sha256:4a98898fdce380c51cc3e38ebc9aa33ae1e078193f4dc641c047f88b8c690c9a", size = 581378, upload-time = "2025-01-30T11:39:02.858Z" }, + { url = "https://files.pythonhosted.org/packages/b6/b9/d59a7462848aaab7277fddb253ae134a570520115d80afa85e952287e6bc/pyzmq-26.2.1-cp312-cp312-win_amd64.whl", hash = "sha256:a0741edbd0adfe5f30bba6c5223b78c131b5aa4a00a223d631e5ef36e26e6d13", size = 643737, upload-time = "2025-01-30T11:39:05.495Z" }, + { url = "https://files.pythonhosted.org/packages/55/09/f37e707937cce328944c1d57e5e50ab905011d35252a0745c4f7e5822a76/pyzmq-26.2.1-cp312-cp312-win_arm64.whl", hash = "sha256:e5e33b1491555843ba98d5209439500556ef55b6ab635f3a01148545498355e5", size = 558303, upload-time = "2025-01-30T11:39:08.163Z" }, + { url = "https://files.pythonhosted.org/packages/4f/2e/fa7a91ce349975971d6aa925b4c7e1a05abaae99b97ade5ace758160c43d/pyzmq-26.2.1-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:099b56ef464bc355b14381f13355542e452619abb4c1e57a534b15a106bf8e23", size = 942331, upload-time = "2025-01-30T11:39:10.936Z" }, + { url = "https://files.pythonhosted.org/packages/64/2b/1f10b34b6dc7ff4b40f668ea25ba9b8093ce61d874c784b90229b367707b/pyzmq-26.2.1-cp313-cp313-macosx_10_15_universal2.whl", hash = "sha256:651726f37fcbce9f8dd2a6dab0f024807929780621890a4dc0c75432636871be", size = 1345831, upload-time = "2025-01-30T11:39:14.136Z" }, + { url = "https://files.pythonhosted.org/packages/4c/8d/34884cbd4a8ec050841b5fb58d37af136766a9f95b0b2634c2971deb09da/pyzmq-26.2.1-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:57dd4d91b38fa4348e237a9388b4423b24ce9c1695bbd4ba5a3eada491e09399", size = 670773, upload-time = "2025-01-30T11:39:16.881Z" }, + { url = "https://files.pythonhosted.org/packages/0f/f4/d4becfcf9e416ad2564f18a6653f7c6aa917da08df5c3760edb0baa1c863/pyzmq-26.2.1-cp313-cp313-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:d51a7bfe01a48e1064131f3416a5439872c533d756396be2b39e3977b41430f9", size = 908836, upload-time = "2025-01-30T11:39:19.68Z" }, + { url = "https://files.pythonhosted.org/packages/07/fa/ab105f1b86b85cb2e821239f1d0900fccd66192a91d97ee04661b5436b4d/pyzmq-26.2.1-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:c7154d228502e18f30f150b7ce94f0789d6b689f75261b623f0fdc1eec642aab", size = 865369, upload-time = "2025-01-30T11:39:23.038Z" }, + { url = "https://files.pythonhosted.org/packages/c9/48/15d5f415504572dd4b92b52db5de7a5befc76bb75340ba9f36f71306a66d/pyzmq-26.2.1-cp313-cp313-manylinux_2_28_x86_64.whl", hash = "sha256:f1f31661a80cc46aba381bed475a9135b213ba23ca7ff6797251af31510920ce", size = 865676, upload-time = "2025-01-30T11:39:25.173Z" }, + { url = "https://files.pythonhosted.org/packages/7e/35/2d91bcc7ccbb56043dd4d2c1763f24a8de5f05e06a134f767a7fb38e149c/pyzmq-26.2.1-cp313-cp313-musllinux_1_1_aarch64.whl", hash = "sha256:290c96f479504439b6129a94cefd67a174b68ace8a8e3f551b2239a64cfa131a", size = 1201457, upload-time = "2025-01-30T11:39:27.022Z" }, + { url = "https://files.pythonhosted.org/packages/6d/bb/aa7c5119307a5762b8dca6c9db73e3ab4bccf32b15d7c4f376271ff72b2b/pyzmq-26.2.1-cp313-cp313-musllinux_1_1_i686.whl", hash = "sha256:f2c307fbe86e18ab3c885b7e01de942145f539165c3360e2af0f094dd440acd9", size = 1513035, upload-time = "2025-01-30T11:39:29.756Z" }, + { url = "https://files.pythonhosted.org/packages/4f/4c/527e6650c2fccec7750b783301329c8a8716d59423818afb67282304ce5a/pyzmq-26.2.1-cp313-cp313-musllinux_1_1_x86_64.whl", hash = "sha256:b314268e716487bfb86fcd6f84ebbe3e5bec5fac75fdf42bc7d90fdb33f618ad", size = 1411881, upload-time = "2025-01-30T11:39:32.631Z" }, + { url = "https://files.pythonhosted.org/packages/89/9f/e4412ea1b3e220acc21777a5edba8885856403d29c6999aaf00a9459eb03/pyzmq-26.2.1-cp313-cp313-win32.whl", hash = "sha256:edb550616f567cd5603b53bb52a5f842c0171b78852e6fc7e392b02c2a1504bb", size = 581354, upload-time = "2025-01-30T11:39:34.568Z" }, + { url = "https://files.pythonhosted.org/packages/55/cd/f89dd3e9fc2da0d1619a82c4afb600c86b52bc72d7584953d460bc8d5027/pyzmq-26.2.1-cp313-cp313-win_amd64.whl", hash = "sha256:100a826a029c8ef3d77a1d4c97cbd6e867057b5806a7276f2bac1179f893d3bf", size = 643560, upload-time = "2025-01-30T11:39:36.905Z" }, + { url = "https://files.pythonhosted.org/packages/a7/99/5de4f8912860013f1116f818a0047659bc20d71d1bc1d48f874bdc2d7b9c/pyzmq-26.2.1-cp313-cp313-win_arm64.whl", hash = "sha256:6991ee6c43e0480deb1b45d0c7c2bac124a6540cba7db4c36345e8e092da47ce", size = 558037, upload-time = "2025-01-30T11:39:38.753Z" }, + { url = "https://files.pythonhosted.org/packages/06/0b/63b6d7a2f07a77dbc9768c6302ae2d7518bed0c6cee515669ca0d8ec743e/pyzmq-26.2.1-cp313-cp313t-macosx_10_13_x86_64.whl", hash = "sha256:25e720dba5b3a3bb2ad0ad5d33440babd1b03438a7a5220511d0c8fa677e102e", size = 938580, upload-time = "2025-01-30T11:39:40.536Z" }, + { url = "https://files.pythonhosted.org/packages/85/38/e5e2c3ffa23ea5f95f1c904014385a55902a11a67cd43c10edf61a653467/pyzmq-26.2.1-cp313-cp313t-macosx_10_15_universal2.whl", hash = "sha256:9ec6abfb701437142ce9544bd6a236addaf803a32628d2260eb3dbd9a60e2891", size = 1339670, upload-time = "2025-01-30T11:39:42.492Z" }, + { url = "https://files.pythonhosted.org/packages/d2/87/da5519ed7f8b31e4beee8f57311ec02926822fe23a95120877354cd80144/pyzmq-26.2.1-cp313-cp313t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:2e1eb9d2bfdf5b4e21165b553a81b2c3bd5be06eeddcc4e08e9692156d21f1f6", size = 660983, upload-time = "2025-01-30T11:39:44.503Z" }, + { url = "https://files.pythonhosted.org/packages/f6/e8/1ca6a2d59562e04d326a026c9e3f791a6f1a276ebde29da478843a566fdb/pyzmq-26.2.1-cp313-cp313t-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:90dc731d8e3e91bcd456aa7407d2eba7ac6f7860e89f3766baabb521f2c1de4a", size = 896509, upload-time = "2025-01-30T11:39:46.388Z" }, + { url = "https://files.pythonhosted.org/packages/5c/e5/0b4688f7c74bea7e4f1e920da973fcd7d20175f4f1181cb9b692429c6bb9/pyzmq-26.2.1-cp313-cp313t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:0b6a93d684278ad865fc0b9e89fe33f6ea72d36da0e842143891278ff7fd89c3", size = 853196, upload-time = "2025-01-30T11:39:48.192Z" }, + { url = "https://files.pythonhosted.org/packages/8f/35/c17241da01195001828319e98517683dad0ac4df6fcba68763d61b630390/pyzmq-26.2.1-cp313-cp313t-manylinux_2_28_x86_64.whl", hash = "sha256:c1bb37849e2294d519117dd99b613c5177934e5c04a5bb05dd573fa42026567e", size = 855133, upload-time = "2025-01-30T11:39:50.097Z" }, + { url = "https://files.pythonhosted.org/packages/d2/14/268ee49bbecc3f72e225addeac7f0e2bd5808747b78c7bf7f87ed9f9d5a8/pyzmq-26.2.1-cp313-cp313t-musllinux_1_1_aarch64.whl", hash = "sha256:632a09c6d8af17b678d84df442e9c3ad8e4949c109e48a72f805b22506c4afa7", size = 1191612, upload-time = "2025-01-30T11:39:52.05Z" }, + { url = "https://files.pythonhosted.org/packages/5e/02/6394498620b1b4349b95c534f3ebc3aef95f39afbdced5ed7ee315c49c14/pyzmq-26.2.1-cp313-cp313t-musllinux_1_1_i686.whl", hash = "sha256:fc409c18884eaf9ddde516d53af4f2db64a8bc7d81b1a0c274b8aa4e929958e8", size = 1500824, upload-time = "2025-01-30T11:39:54.148Z" }, + { url = "https://files.pythonhosted.org/packages/17/fc/b79f0b72891cbb9917698add0fede71dfb64e83fa3481a02ed0e78c34be7/pyzmq-26.2.1-cp313-cp313t-musllinux_1_1_x86_64.whl", hash = "sha256:17f88622b848805d3f6427ce1ad5a2aa3cf61f12a97e684dab2979802024d460", size = 1399943, upload-time = "2025-01-30T11:39:58.293Z" }, + { url = "https://files.pythonhosted.org/packages/d2/bb/fe5b78f58dd7846a8a5255d74c3aa475ed6450c68338554222a929695b29/pyzmq-26.2.1-cp38-cp38-macosx_10_15_universal2.whl", hash = "sha256:36d4e7307db7c847fe37413f333027d31c11d5e6b3bacbb5022661ac635942ba", size = 1345877, upload-time = "2025-01-30T11:40:20.712Z" }, + { url = "https://files.pythonhosted.org/packages/cd/74/b77cab27649917e8a7304c0a4b57f138a092177106a680cccc541189af40/pyzmq-26.2.1-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:1c6ae0e95d0a4b0cfe30f648a18e764352d5415279bdf34424decb33e79935b8", size = 942846, upload-time = "2025-01-30T11:40:22.711Z" }, + { url = "https://files.pythonhosted.org/packages/8c/18/aae170eb81d5b4d65082ffc7a115487d5985e0733d053b67a2320cf9065e/pyzmq-26.2.1-cp38-cp38-manylinux_2_12_i686.manylinux2010_i686.whl", hash = "sha256:5b4fc44f5360784cc02392f14235049665caaf7c0fe0b04d313e763d3338e463", size = 913016, upload-time = "2025-01-30T11:40:24.607Z" }, + { url = "https://files.pythonhosted.org/packages/6c/15/d333cb6d96b3740b5b3fba6ff48fb9076266a85da140b02d435429d93779/pyzmq-26.2.1-cp38-cp38-manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:51431f6b2750eb9b9d2b2952d3cc9b15d0215e1b8f37b7a3239744d9b487325d", size = 867683, upload-time = "2025-01-30T11:40:26.599Z" }, + { url = "https://files.pythonhosted.org/packages/2b/21/bf8e5e27abc0b08416544fc4563d45052ba9219b794d76c83b7e5e026f8e/pyzmq-26.2.1-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:bdbc78ae2065042de48a65f1421b8af6b76a0386bb487b41955818c3c1ce7bed", size = 679167, upload-time = "2025-01-30T11:40:29.666Z" }, + { url = "https://files.pythonhosted.org/packages/7d/e1/79b567380a967cd525bac814a68585a8cdd5c5ba5bff3c890d3ed559e55c/pyzmq-26.2.1-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:d14f50d61a89b0925e4d97a0beba6053eb98c426c5815d949a43544f05a0c7ec", size = 1212285, upload-time = "2025-01-30T11:40:31.854Z" }, + { url = "https://files.pythonhosted.org/packages/a5/c1/339456da6fded90d05c7930686bed1ae6cb5d42fcdb4619ee959cb81eb18/pyzmq-26.2.1-cp38-cp38-musllinux_1_1_i686.whl", hash = "sha256:004837cb958988c75d8042f5dac19a881f3d9b3b75b2f574055e22573745f841", size = 1521549, upload-time = "2025-01-30T11:40:34.858Z" }, + { url = "https://files.pythonhosted.org/packages/b2/26/4b1d9ce3152658535c43b4dc8d0d107c534ba3ef0cf9d4e46b1f87f46e6e/pyzmq-26.2.1-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:0b2007f28ce1b8acebdf4812c1aab997a22e57d6a73b5f318b708ef9bcabbe95", size = 1422824, upload-time = "2025-01-30T11:40:36.882Z" }, + { url = "https://files.pythonhosted.org/packages/b5/1a/eea539099f165c9e9a496eeadc181091022a8e401554eaa7a1e8eb056235/pyzmq-26.2.1-cp38-cp38-win32.whl", hash = "sha256:269c14904da971cb5f013100d1aaedb27c0a246728c341d5d61ddd03f463f2f3", size = 583745, upload-time = "2025-01-30T11:40:39.148Z" }, + { url = "https://files.pythonhosted.org/packages/95/74/7dddec65ba0df90489a16221ca4db4616bf4b0aac42650d3708b54007286/pyzmq-26.2.1-cp38-cp38-win_amd64.whl", hash = "sha256:31fff709fef3b991cfe7189d2cfe0c413a1d0e82800a182cfa0c2e3668cd450f", size = 648270, upload-time = "2025-01-30T11:40:41.785Z" }, + { url = "https://files.pythonhosted.org/packages/8d/a4/42e404040ccb3f65bd3b40e368dc96fb04b8e7eea1ecd3ac2ef0e70c51f3/pyzmq-26.2.1-cp39-cp39-macosx_10_15_universal2.whl", hash = "sha256:a4bffcadfd40660f26d1b3315a6029fd4f8f5bf31a74160b151f5c577b2dc81b", size = 1346647, upload-time = "2025-01-30T11:40:44.018Z" }, + { url = "https://files.pythonhosted.org/packages/d5/d9/045ee93500e3f8cbd2a7b30a9533cba7b857b51b3bb4ec44fa61eb6d36ef/pyzmq-26.2.1-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:e76ad4729c2f1cf74b6eb1bdd05f6aba6175999340bd51e6caee49a435a13bf5", size = 943305, upload-time = "2025-01-30T11:40:46.012Z" }, + { url = "https://files.pythonhosted.org/packages/5c/3b/9437cae0bfd3889dc7741ed9c132dc09c2a1fcae05a2e1b1af41a23a77a2/pyzmq-26.2.1-cp39-cp39-manylinux_2_12_i686.manylinux2010_i686.whl", hash = "sha256:8b0f5bab40a16e708e78a0c6ee2425d27e1a5d8135c7a203b4e977cee37eb4aa", size = 913424, upload-time = "2025-01-30T11:40:47.902Z" }, + { url = "https://files.pythonhosted.org/packages/5c/16/f1f0e36c9c15247901379b45bd3f7cc15f540b62c9c34c28e735550014b4/pyzmq-26.2.1-cp39-cp39-manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:e8e47050412f0ad3a9b2287779758073cbf10e460d9f345002d4779e43bb0136", size = 867471, upload-time = "2025-01-30T11:40:50.076Z" }, + { url = "https://files.pythonhosted.org/packages/70/68/3a0dd3b6386d725ffb98378cd046e15333fbcc1e2b3b48dbcda73259a752/pyzmq-26.2.1-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:7f18ce33f422d119b13c1363ed4cce245b342b2c5cbbb76753eabf6aa6f69c7d", size = 679051, upload-time = "2025-01-30T11:40:51.984Z" }, + { url = "https://files.pythonhosted.org/packages/46/9a/0c57cd9c0aae885a096f0c7ebd658f6c7fda49973e484bf7f1c47288beae/pyzmq-26.2.1-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:ceb0d78b7ef106708a7e2c2914afe68efffc0051dc6a731b0dbacd8b4aee6d68", size = 1208959, upload-time = "2025-01-30T11:40:54.083Z" }, + { url = "https://files.pythonhosted.org/packages/61/f7/22dcf86ab2a4d458a300698972212be327a66e35785649e9f4bad2260f1c/pyzmq-26.2.1-cp39-cp39-musllinux_1_1_i686.whl", hash = "sha256:7ebdd96bd637fd426d60e86a29ec14b8c1ab64b8d972f6a020baf08a30d1cf46", size = 1521237, upload-time = "2025-01-30T11:40:56.619Z" }, + { url = "https://files.pythonhosted.org/packages/b4/20/854bb34ac377efbe15d791d6e0bf991d8127cc6d471cd9a2666a13b4f3ba/pyzmq-26.2.1-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:03719e424150c6395b9513f53a5faadcc1ce4b92abdf68987f55900462ac7eec", size = 1420720, upload-time = "2025-01-30T11:40:58.844Z" }, + { url = "https://files.pythonhosted.org/packages/6d/e3/07816d8b50a506f6f59d0023b8fefa109d5549a874b9d250137e85dc4305/pyzmq-26.2.1-cp39-cp39-win32.whl", hash = "sha256:ef5479fac31df4b304e96400fc67ff08231873ee3537544aa08c30f9d22fce38", size = 584311, upload-time = "2025-01-30T11:41:01.713Z" }, + { url = "https://files.pythonhosted.org/packages/9f/78/eeb040669d0ac1fc3c061c8053e96a49e5c612041f462b026ad154001ac1/pyzmq-26.2.1-cp39-cp39-win_amd64.whl", hash = "sha256:f92a002462154c176dac63a8f1f6582ab56eb394ef4914d65a9417f5d9fde218", size = 647856, upload-time = "2025-01-30T11:41:03.714Z" }, + { url = "https://files.pythonhosted.org/packages/2c/c9/55eb55eda712573ca759e17b9018a2f9dbc4dd34bc7c862c36d574a40b1f/pyzmq-26.2.1-cp39-cp39-win_arm64.whl", hash = "sha256:1fd4b3efc6f62199886440d5e27dd3ccbcb98dfddf330e7396f1ff421bfbb3c2", size = 562372, upload-time = "2025-01-30T11:41:05.748Z" }, + { url = "https://files.pythonhosted.org/packages/65/d1/e630a75cfb2534574a1258fda54d02f13cf80b576d4ce6d2aa478dc67829/pyzmq-26.2.1-pp310-pypy310_pp73-macosx_10_15_x86_64.whl", hash = "sha256:380816d298aed32b1a97b4973a4865ef3be402a2e760204509b52b6de79d755d", size = 847743, upload-time = "2025-01-30T11:41:10.214Z" }, + { url = "https://files.pythonhosted.org/packages/27/df/f94a711b4f6c4b41e227f9a938103f52acf4c2e949d91cbc682495a48155/pyzmq-26.2.1-pp310-pypy310_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:97cbb368fd0debdbeb6ba5966aa28e9a1ae3396c7386d15569a6ca4be4572b99", size = 570991, upload-time = "2025-01-30T11:41:12.232Z" }, + { url = "https://files.pythonhosted.org/packages/bf/08/0c6f97fb3c9dbfa23382f0efaf8f9aa1396a08a3358974eaae3ee659ed5c/pyzmq-26.2.1-pp310-pypy310_pp73-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:abf7b5942c6b0dafcc2823ddd9154f419147e24f8df5b41ca8ea40a6db90615c", size = 799664, upload-time = "2025-01-30T11:41:14.291Z" }, + { url = "https://files.pythonhosted.org/packages/05/14/f4d4fd8bb8988c667845734dd756e9ee65b9a17a010d5f288dfca14a572d/pyzmq-26.2.1-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:3fe6e28a8856aea808715f7a4fc11f682b9d29cac5d6262dd8fe4f98edc12d53", size = 758156, upload-time = "2025-01-30T11:41:17.049Z" }, + { url = "https://files.pythonhosted.org/packages/e3/fe/72e7e166bda3885810bee7b23049133e142f7c80c295bae02c562caeea16/pyzmq-26.2.1-pp310-pypy310_pp73-win_amd64.whl", hash = "sha256:bd8fdee945b877aa3bffc6a5a8816deb048dab0544f9df3731ecd0e54d8c84c9", size = 556563, upload-time = "2025-01-30T11:41:19.14Z" }, + { url = "https://files.pythonhosted.org/packages/c9/e9/892d0c9654a7ec5ea0b06b40f87b3f255d1440d8b5500dc9bf4b7079de95/pyzmq-26.2.1-pp38-pypy38_pp73-macosx_10_9_x86_64.whl", hash = "sha256:70b3a46ecd9296e725ccafc17d732bfc3cdab850b54bd913f843a0a54dfb2c04", size = 847718, upload-time = "2025-01-30T11:41:33.048Z" }, + { url = "https://files.pythonhosted.org/packages/b1/4f/1e820f2706df3940f1a1bcbc072515ac5346f2c0e20c300623cf968eb35a/pyzmq-26.2.1-pp38-pypy38_pp73-manylinux_2_12_i686.manylinux2010_i686.whl", hash = "sha256:59660e15c797a3b7a571c39f8e0b62a1f385f98ae277dfe95ca7eaf05b5a0f12", size = 807438, upload-time = "2025-01-30T11:41:35.965Z" }, + { url = "https://files.pythonhosted.org/packages/ff/ce/a575e9dedc47a83425faa7be99154bf206b3924c5acb0f76212f45933d2d/pyzmq-26.2.1-pp38-pypy38_pp73-manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:0f50db737d688e96ad2a083ad2b453e22865e7e19c7f17d17df416e91ddf67eb", size = 762214, upload-time = "2025-01-30T11:41:38.848Z" }, + { url = "https://files.pythonhosted.org/packages/ed/89/641e79c58155d8093e4f9acce823121d2402b5ed8a6bf1b5f3c47a2586fa/pyzmq-26.2.1-pp38-pypy38_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a003200b6cd64e89b5725ff7e284a93ab24fd54bbac8b4fa46b1ed57be693c27", size = 570989, upload-time = "2025-01-30T11:41:40.938Z" }, + { url = "https://files.pythonhosted.org/packages/3a/b2/439341a8304f4a99027a4170349638e9ff0063bbc97bbf2104d53b7e13b3/pyzmq-26.2.1-pp38-pypy38_pp73-win_amd64.whl", hash = "sha256:f9ba5def063243793dec6603ad1392f735255cbc7202a3a484c14f99ec290705", size = 556559, upload-time = "2025-01-30T11:41:43.884Z" }, + { url = "https://files.pythonhosted.org/packages/d9/6b/f27dfd4b7b3d6a8bd39ab1469fb8f8685c597d6772cbf3b39b1c4d798eee/pyzmq-26.2.1-pp39-pypy39_pp73-macosx_10_15_x86_64.whl", hash = "sha256:1238c2448c58b9c8d6565579393148414a42488a5f916b3f322742e561f6ae0d", size = 847735, upload-time = "2025-01-30T11:41:45.985Z" }, + { url = "https://files.pythonhosted.org/packages/f5/1f/fe0698f36c619bc960e97efe9a8ece412a7dc4c80e0bd603cde81731c6ca/pyzmq-26.2.1-pp39-pypy39_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:8eddb3784aed95d07065bcf94d07e8c04024fdb6b2386f08c197dfe6b3528fda", size = 570986, upload-time = "2025-01-30T11:41:48.16Z" }, + { url = "https://files.pythonhosted.org/packages/91/2e/f7f6c00d16db2b1936f3cd3b8362c391e40dd16a646b92ebf2f3b28206ee/pyzmq-26.2.1-pp39-pypy39_pp73-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:f0f19c2097fffb1d5b07893d75c9ee693e9cbc809235cf3f2267f0ef6b015f24", size = 799658, upload-time = "2025-01-30T11:41:50.349Z" }, + { url = "https://files.pythonhosted.org/packages/50/98/aa114911fcb65645099d6db5694a49975ef442f2c34532ea5365b6ec6da8/pyzmq-26.2.1-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:0995fd3530f2e89d6b69a2202e340bbada3191014352af978fa795cb7a446331", size = 758151, upload-time = "2025-01-30T11:41:52.702Z" }, + { url = "https://files.pythonhosted.org/packages/53/58/9909ad7a3112999a30464c5c92937c9eec5f5e6905a1eee45fd99788ce56/pyzmq-26.2.1-pp39-pypy39_pp73-manylinux_2_28_x86_64.whl", hash = "sha256:7c6160fe513654e65665332740f63de29ce0d165e053c0c14a161fa60dd0da01", size = 756685, upload-time = "2025-01-30T11:41:55.737Z" }, + { url = "https://files.pythonhosted.org/packages/01/28/1c0f44e609b91a1168aaf4ac38511645fd725593b41cd54ef06744d502ff/pyzmq-26.2.1-pp39-pypy39_pp73-win_amd64.whl", hash = "sha256:8ec8e3aea6146b761d6c57fcf8f81fcb19f187afecc19bf1701a48db9617a217", size = 556558, upload-time = "2025-01-30T11:41:57.95Z" }, ] [[package]] @@ -4090,9 +4090,9 @@ dependencies = [ { name = "nh3", marker = "python_full_version < '3.9'" }, { name = "pygments", marker = "python_full_version < '3.9'" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/fe/b5/536c775084d239df6345dccf9b043419c7e3308bc31be4c7882196abc62e/readme_renderer-43.0.tar.gz", hash = "sha256:1818dd28140813509eeed8d62687f7cd4f7bad90d4db586001c5dc09d4fde311", size = 31768 } +sdist = { url = "https://files.pythonhosted.org/packages/fe/b5/536c775084d239df6345dccf9b043419c7e3308bc31be4c7882196abc62e/readme_renderer-43.0.tar.gz", hash = "sha256:1818dd28140813509eeed8d62687f7cd4f7bad90d4db586001c5dc09d4fde311", size = 31768, upload-time = "2024-02-26T16:10:59.415Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/45/be/3ea20dc38b9db08387cf97997a85a7d51527ea2057d71118feb0aa8afa55/readme_renderer-43.0-py3-none-any.whl", hash = "sha256:19db308d86ecd60e5affa3b2a98f017af384678c63c88e5d4556a380e674f3f9", size = 13301 }, + { url = "https://files.pythonhosted.org/packages/45/be/3ea20dc38b9db08387cf97997a85a7d51527ea2057d71118feb0aa8afa55/readme_renderer-43.0-py3-none-any.whl", hash = "sha256:19db308d86ecd60e5affa3b2a98f017af384678c63c88e5d4556a380e674f3f9", size = 13301, upload-time = "2024-02-26T16:10:57.945Z" }, ] [[package]] @@ -4118,9 +4118,9 @@ dependencies = [ { name = "nh3", marker = "python_full_version >= '3.9'" }, { name = "pygments", marker = "python_full_version >= '3.9'" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/5a/a9/104ec9234c8448c4379768221ea6df01260cd6c2ce13182d4eac531c8342/readme_renderer-44.0.tar.gz", hash = "sha256:8712034eabbfa6805cacf1402b4eeb2a73028f72d1166d6f5cb7f9c047c5d1e1", size = 32056 } +sdist = { url = "https://files.pythonhosted.org/packages/5a/a9/104ec9234c8448c4379768221ea6df01260cd6c2ce13182d4eac531c8342/readme_renderer-44.0.tar.gz", hash = "sha256:8712034eabbfa6805cacf1402b4eeb2a73028f72d1166d6f5cb7f9c047c5d1e1", size = 32056, upload-time = "2024-07-08T15:00:57.805Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/e1/67/921ec3024056483db83953ae8e48079ad62b92db7880013ca77632921dd0/readme_renderer-44.0-py3-none-any.whl", hash = "sha256:2fbca89b81a08526aadf1357a8c2ae889ec05fb03f5da67f9769c9a592166151", size = 13310 }, + { url = "https://files.pythonhosted.org/packages/e1/67/921ec3024056483db83953ae8e48079ad62b92db7880013ca77632921dd0/readme_renderer-44.0-py3-none-any.whl", hash = "sha256:2fbca89b81a08526aadf1357a8c2ae889ec05fb03f5da67f9769c9a592166151", size = 13310, upload-time = "2024-07-08T15:00:56.577Z" }, ] [[package]] @@ -4136,9 +4136,9 @@ dependencies = [ { name = "attrs", marker = "python_full_version < '3.9'" }, { name = "rpds-py", version = "0.20.1", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.9'" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/99/5b/73ca1f8e72fff6fa52119dbd185f73a907b1989428917b24cff660129b6d/referencing-0.35.1.tar.gz", hash = "sha256:25b42124a6c8b632a425174f24087783efb348a6f1e0008e63cd4466fedf703c", size = 62991 } +sdist = { url = "https://files.pythonhosted.org/packages/99/5b/73ca1f8e72fff6fa52119dbd185f73a907b1989428917b24cff660129b6d/referencing-0.35.1.tar.gz", hash = "sha256:25b42124a6c8b632a425174f24087783efb348a6f1e0008e63cd4466fedf703c", size = 62991, upload-time = "2024-05-01T20:26:04.574Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/b7/59/2056f61236782a2c86b33906c025d4f4a0b17be0161b63b70fd9e8775d36/referencing-0.35.1-py3-none-any.whl", hash = "sha256:eda6d3234d62814d1c64e305c1331c9a3a6132da475ab6382eaa997b21ee75de", size = 26684 }, + { url = "https://files.pythonhosted.org/packages/b7/59/2056f61236782a2c86b33906c025d4f4a0b17be0161b63b70fd9e8775d36/referencing-0.35.1-py3-none-any.whl", hash = "sha256:eda6d3234d62814d1c64e305c1331c9a3a6132da475ab6382eaa997b21ee75de", size = 26684, upload-time = "2024-05-01T20:26:02.078Z" }, ] [[package]] @@ -4164,110 +4164,110 @@ dependencies = [ { name = "rpds-py", version = "0.22.3", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.9'" }, { name = "typing-extensions", marker = "python_full_version >= '3.9' and python_full_version < '3.13'" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/2f/db/98b5c277be99dd18bfd91dd04e1b759cad18d1a338188c936e92f921c7e2/referencing-0.36.2.tar.gz", hash = "sha256:df2e89862cd09deabbdba16944cc3f10feb6b3e6f18e902f7cc25609a34775aa", size = 74744 } +sdist = { url = "https://files.pythonhosted.org/packages/2f/db/98b5c277be99dd18bfd91dd04e1b759cad18d1a338188c936e92f921c7e2/referencing-0.36.2.tar.gz", hash = "sha256:df2e89862cd09deabbdba16944cc3f10feb6b3e6f18e902f7cc25609a34775aa", size = 74744, upload-time = "2025-01-25T08:48:16.138Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/c1/b1/3baf80dc6d2b7bc27a95a67752d0208e410351e3feb4eb78de5f77454d8d/referencing-0.36.2-py3-none-any.whl", hash = "sha256:e8699adbbf8b5c7de96d8ffa0eb5c158b3beafce084968e2ea8bb08c6794dcd0", size = 26775 }, + { url = "https://files.pythonhosted.org/packages/c1/b1/3baf80dc6d2b7bc27a95a67752d0208e410351e3feb4eb78de5f77454d8d/referencing-0.36.2-py3-none-any.whl", hash = "sha256:e8699adbbf8b5c7de96d8ffa0eb5c158b3beafce084968e2ea8bb08c6794dcd0", size = 26775, upload-time = "2025-01-25T08:48:14.241Z" }, ] [[package]] name = "regex" version = "2024.11.6" source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/8e/5f/bd69653fbfb76cf8604468d3b4ec4c403197144c7bfe0e6a5fc9e02a07cb/regex-2024.11.6.tar.gz", hash = "sha256:7ab159b063c52a0333c884e4679f8d7a85112ee3078fe3d9004b2dd875585519", size = 399494 } -wheels = [ - { url = "https://files.pythonhosted.org/packages/95/3c/4651f6b130c6842a8f3df82461a8950f923925db8b6961063e82744bddcc/regex-2024.11.6-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:ff590880083d60acc0433f9c3f713c51f7ac6ebb9adf889c79a261ecf541aa91", size = 482674 }, - { url = "https://files.pythonhosted.org/packages/15/51/9f35d12da8434b489c7b7bffc205c474a0a9432a889457026e9bc06a297a/regex-2024.11.6-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:658f90550f38270639e83ce492f27d2c8d2cd63805c65a13a14d36ca126753f0", size = 287684 }, - { url = "https://files.pythonhosted.org/packages/bd/18/b731f5510d1b8fb63c6b6d3484bfa9a59b84cc578ac8b5172970e05ae07c/regex-2024.11.6-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:164d8b7b3b4bcb2068b97428060b2a53be050085ef94eca7f240e7947f1b080e", size = 284589 }, - { url = "https://files.pythonhosted.org/packages/78/a2/6dd36e16341ab95e4c6073426561b9bfdeb1a9c9b63ab1b579c2e96cb105/regex-2024.11.6-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d3660c82f209655a06b587d55e723f0b813d3a7db2e32e5e7dc64ac2a9e86fde", size = 782511 }, - { url = "https://files.pythonhosted.org/packages/1b/2b/323e72d5d2fd8de0d9baa443e1ed70363ed7e7b2fb526f5950c5cb99c364/regex-2024.11.6-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:d22326fcdef5e08c154280b71163ced384b428343ae16a5ab2b3354aed12436e", size = 821149 }, - { url = "https://files.pythonhosted.org/packages/90/30/63373b9ea468fbef8a907fd273e5c329b8c9535fee36fc8dba5fecac475d/regex-2024.11.6-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:f1ac758ef6aebfc8943560194e9fd0fa18bcb34d89fd8bd2af18183afd8da3a2", size = 809707 }, - { url = "https://files.pythonhosted.org/packages/f2/98/26d3830875b53071f1f0ae6d547f1d98e964dd29ad35cbf94439120bb67a/regex-2024.11.6-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:997d6a487ff00807ba810e0f8332c18b4eb8d29463cfb7c820dc4b6e7562d0cf", size = 781702 }, - { url = "https://files.pythonhosted.org/packages/87/55/eb2a068334274db86208ab9d5599ffa63631b9f0f67ed70ea7c82a69bbc8/regex-2024.11.6-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:02a02d2bb04fec86ad61f3ea7f49c015a0681bf76abb9857f945d26159d2968c", size = 771976 }, - { url = "https://files.pythonhosted.org/packages/74/c0/be707bcfe98254d8f9d2cff55d216e946f4ea48ad2fd8cf1428f8c5332ba/regex-2024.11.6-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:f02f93b92358ee3f78660e43b4b0091229260c5d5c408d17d60bf26b6c900e86", size = 697397 }, - { url = "https://files.pythonhosted.org/packages/49/dc/bb45572ceb49e0f6509f7596e4ba7031f6819ecb26bc7610979af5a77f45/regex-2024.11.6-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:06eb1be98df10e81ebaded73fcd51989dcf534e3c753466e4b60c4697a003b67", size = 768726 }, - { url = "https://files.pythonhosted.org/packages/5a/db/f43fd75dc4c0c2d96d0881967897926942e935d700863666f3c844a72ce6/regex-2024.11.6-cp310-cp310-musllinux_1_2_i686.whl", hash = "sha256:040df6fe1a5504eb0f04f048e6d09cd7c7110fef851d7c567a6b6e09942feb7d", size = 775098 }, - { url = "https://files.pythonhosted.org/packages/99/d7/f94154db29ab5a89d69ff893159b19ada89e76b915c1293e98603d39838c/regex-2024.11.6-cp310-cp310-musllinux_1_2_ppc64le.whl", hash = "sha256:fdabbfc59f2c6edba2a6622c647b716e34e8e3867e0ab975412c5c2f79b82da2", size = 839325 }, - { url = "https://files.pythonhosted.org/packages/f7/17/3cbfab1f23356fbbf07708220ab438a7efa1e0f34195bf857433f79f1788/regex-2024.11.6-cp310-cp310-musllinux_1_2_s390x.whl", hash = "sha256:8447d2d39b5abe381419319f942de20b7ecd60ce86f16a23b0698f22e1b70008", size = 843277 }, - { url = "https://files.pythonhosted.org/packages/7e/f2/48b393b51900456155de3ad001900f94298965e1cad1c772b87f9cfea011/regex-2024.11.6-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:da8f5fc57d1933de22a9e23eec290a0d8a5927a5370d24bda9a6abe50683fe62", size = 773197 }, - { url = "https://files.pythonhosted.org/packages/45/3f/ef9589aba93e084cd3f8471fded352826dcae8489b650d0b9b27bc5bba8a/regex-2024.11.6-cp310-cp310-win32.whl", hash = "sha256:b489578720afb782f6ccf2840920f3a32e31ba28a4b162e13900c3e6bd3f930e", size = 261714 }, - { url = "https://files.pythonhosted.org/packages/42/7e/5f1b92c8468290c465fd50c5318da64319133231415a8aa6ea5ab995a815/regex-2024.11.6-cp310-cp310-win_amd64.whl", hash = "sha256:5071b2093e793357c9d8b2929dfc13ac5f0a6c650559503bb81189d0a3814519", size = 274042 }, - { url = "https://files.pythonhosted.org/packages/58/58/7e4d9493a66c88a7da6d205768119f51af0f684fe7be7bac8328e217a52c/regex-2024.11.6-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:5478c6962ad548b54a591778e93cd7c456a7a29f8eca9c49e4f9a806dcc5d638", size = 482669 }, - { url = "https://files.pythonhosted.org/packages/34/4c/8f8e631fcdc2ff978609eaeef1d6994bf2f028b59d9ac67640ed051f1218/regex-2024.11.6-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:2c89a8cc122b25ce6945f0423dc1352cb9593c68abd19223eebbd4e56612c5b7", size = 287684 }, - { url = "https://files.pythonhosted.org/packages/c5/1b/f0e4d13e6adf866ce9b069e191f303a30ab1277e037037a365c3aad5cc9c/regex-2024.11.6-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:94d87b689cdd831934fa3ce16cc15cd65748e6d689f5d2b8f4f4df2065c9fa20", size = 284589 }, - { url = "https://files.pythonhosted.org/packages/25/4d/ab21047f446693887f25510887e6820b93f791992994f6498b0318904d4a/regex-2024.11.6-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:1062b39a0a2b75a9c694f7a08e7183a80c63c0d62b301418ffd9c35f55aaa114", size = 792121 }, - { url = "https://files.pythonhosted.org/packages/45/ee/c867e15cd894985cb32b731d89576c41a4642a57850c162490ea34b78c3b/regex-2024.11.6-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:167ed4852351d8a750da48712c3930b031f6efdaa0f22fa1933716bfcd6bf4a3", size = 831275 }, - { url = "https://files.pythonhosted.org/packages/b3/12/b0f480726cf1c60f6536fa5e1c95275a77624f3ac8fdccf79e6727499e28/regex-2024.11.6-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:2d548dafee61f06ebdb584080621f3e0c23fff312f0de1afc776e2a2ba99a74f", size = 818257 }, - { url = "https://files.pythonhosted.org/packages/bf/ce/0d0e61429f603bac433910d99ef1a02ce45a8967ffbe3cbee48599e62d88/regex-2024.11.6-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f2a19f302cd1ce5dd01a9099aaa19cae6173306d1302a43b627f62e21cf18ac0", size = 792727 }, - { url = "https://files.pythonhosted.org/packages/e4/c1/243c83c53d4a419c1556f43777ccb552bccdf79d08fda3980e4e77dd9137/regex-2024.11.6-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:bec9931dfb61ddd8ef2ebc05646293812cb6b16b60cf7c9511a832b6f1854b55", size = 780667 }, - { url = "https://files.pythonhosted.org/packages/c5/f4/75eb0dd4ce4b37f04928987f1d22547ddaf6c4bae697623c1b05da67a8aa/regex-2024.11.6-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:9714398225f299aa85267fd222f7142fcb5c769e73d7733344efc46f2ef5cf89", size = 776963 }, - { url = "https://files.pythonhosted.org/packages/16/5d/95c568574e630e141a69ff8a254c2f188b4398e813c40d49228c9bbd9875/regex-2024.11.6-cp311-cp311-musllinux_1_2_i686.whl", hash = "sha256:202eb32e89f60fc147a41e55cb086db2a3f8cb82f9a9a88440dcfc5d37faae8d", size = 784700 }, - { url = "https://files.pythonhosted.org/packages/8e/b5/f8495c7917f15cc6fee1e7f395e324ec3e00ab3c665a7dc9d27562fd5290/regex-2024.11.6-cp311-cp311-musllinux_1_2_ppc64le.whl", hash = "sha256:4181b814e56078e9b00427ca358ec44333765f5ca1b45597ec7446d3a1ef6e34", size = 848592 }, - { url = "https://files.pythonhosted.org/packages/1c/80/6dd7118e8cb212c3c60b191b932dc57db93fb2e36fb9e0e92f72a5909af9/regex-2024.11.6-cp311-cp311-musllinux_1_2_s390x.whl", hash = "sha256:068376da5a7e4da51968ce4c122a7cd31afaaec4fccc7856c92f63876e57b51d", size = 852929 }, - { url = "https://files.pythonhosted.org/packages/11/9b/5a05d2040297d2d254baf95eeeb6df83554e5e1df03bc1a6687fc4ba1f66/regex-2024.11.6-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:ac10f2c4184420d881a3475fb2c6f4d95d53a8d50209a2500723d831036f7c45", size = 781213 }, - { url = "https://files.pythonhosted.org/packages/26/b7/b14e2440156ab39e0177506c08c18accaf2b8932e39fb092074de733d868/regex-2024.11.6-cp311-cp311-win32.whl", hash = "sha256:c36f9b6f5f8649bb251a5f3f66564438977b7ef8386a52460ae77e6070d309d9", size = 261734 }, - { url = "https://files.pythonhosted.org/packages/80/32/763a6cc01d21fb3819227a1cc3f60fd251c13c37c27a73b8ff4315433a8e/regex-2024.11.6-cp311-cp311-win_amd64.whl", hash = "sha256:02e28184be537f0e75c1f9b2f8847dc51e08e6e171c6bde130b2687e0c33cf60", size = 274052 }, - { url = "https://files.pythonhosted.org/packages/ba/30/9a87ce8336b172cc232a0db89a3af97929d06c11ceaa19d97d84fa90a8f8/regex-2024.11.6-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:52fb28f528778f184f870b7cf8f225f5eef0a8f6e3778529bdd40c7b3920796a", size = 483781 }, - { url = "https://files.pythonhosted.org/packages/01/e8/00008ad4ff4be8b1844786ba6636035f7ef926db5686e4c0f98093612add/regex-2024.11.6-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:fdd6028445d2460f33136c55eeb1f601ab06d74cb3347132e1c24250187500d9", size = 288455 }, - { url = "https://files.pythonhosted.org/packages/60/85/cebcc0aff603ea0a201667b203f13ba75d9fc8668fab917ac5b2de3967bc/regex-2024.11.6-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:805e6b60c54bf766b251e94526ebad60b7de0c70f70a4e6210ee2891acb70bf2", size = 284759 }, - { url = "https://files.pythonhosted.org/packages/94/2b/701a4b0585cb05472a4da28ee28fdfe155f3638f5e1ec92306d924e5faf0/regex-2024.11.6-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:b85c2530be953a890eaffde05485238f07029600e8f098cdf1848d414a8b45e4", size = 794976 }, - { url = "https://files.pythonhosted.org/packages/4b/bf/fa87e563bf5fee75db8915f7352e1887b1249126a1be4813837f5dbec965/regex-2024.11.6-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:bb26437975da7dc36b7efad18aa9dd4ea569d2357ae6b783bf1118dabd9ea577", size = 833077 }, - { url = "https://files.pythonhosted.org/packages/a1/56/7295e6bad94b047f4d0834e4779491b81216583c00c288252ef625c01d23/regex-2024.11.6-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:abfa5080c374a76a251ba60683242bc17eeb2c9818d0d30117b4486be10c59d3", size = 823160 }, - { url = "https://files.pythonhosted.org/packages/fb/13/e3b075031a738c9598c51cfbc4c7879e26729c53aa9cca59211c44235314/regex-2024.11.6-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:70b7fa6606c2881c1db9479b0eaa11ed5dfa11c8d60a474ff0e095099f39d98e", size = 796896 }, - { url = "https://files.pythonhosted.org/packages/24/56/0b3f1b66d592be6efec23a795b37732682520b47c53da5a32c33ed7d84e3/regex-2024.11.6-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:0c32f75920cf99fe6b6c539c399a4a128452eaf1af27f39bce8909c9a3fd8cbe", size = 783997 }, - { url = "https://files.pythonhosted.org/packages/f9/a1/eb378dada8b91c0e4c5f08ffb56f25fcae47bf52ad18f9b2f33b83e6d498/regex-2024.11.6-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:982e6d21414e78e1f51cf595d7f321dcd14de1f2881c5dc6a6e23bbbbd68435e", size = 781725 }, - { url = "https://files.pythonhosted.org/packages/83/f2/033e7dec0cfd6dda93390089864732a3409246ffe8b042e9554afa9bff4e/regex-2024.11.6-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:a7c2155f790e2fb448faed6dd241386719802296ec588a8b9051c1f5c481bc29", size = 789481 }, - { url = "https://files.pythonhosted.org/packages/83/23/15d4552ea28990a74e7696780c438aadd73a20318c47e527b47a4a5a596d/regex-2024.11.6-cp312-cp312-musllinux_1_2_ppc64le.whl", hash = "sha256:149f5008d286636e48cd0b1dd65018548944e495b0265b45e1bffecce1ef7f39", size = 852896 }, - { url = "https://files.pythonhosted.org/packages/e3/39/ed4416bc90deedbfdada2568b2cb0bc1fdb98efe11f5378d9892b2a88f8f/regex-2024.11.6-cp312-cp312-musllinux_1_2_s390x.whl", hash = "sha256:e5364a4502efca094731680e80009632ad6624084aff9a23ce8c8c6820de3e51", size = 860138 }, - { url = "https://files.pythonhosted.org/packages/93/2d/dd56bb76bd8e95bbce684326302f287455b56242a4f9c61f1bc76e28360e/regex-2024.11.6-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:0a86e7eeca091c09e021db8eb72d54751e527fa47b8d5787caf96d9831bd02ad", size = 787692 }, - { url = "https://files.pythonhosted.org/packages/0b/55/31877a249ab7a5156758246b9c59539abbeba22461b7d8adc9e8475ff73e/regex-2024.11.6-cp312-cp312-win32.whl", hash = "sha256:32f9a4c643baad4efa81d549c2aadefaeba12249b2adc5af541759237eee1c54", size = 262135 }, - { url = "https://files.pythonhosted.org/packages/38/ec/ad2d7de49a600cdb8dd78434a1aeffe28b9d6fc42eb36afab4a27ad23384/regex-2024.11.6-cp312-cp312-win_amd64.whl", hash = "sha256:a93c194e2df18f7d264092dc8539b8ffb86b45b899ab976aa15d48214138e81b", size = 273567 }, - { url = "https://files.pythonhosted.org/packages/90/73/bcb0e36614601016552fa9344544a3a2ae1809dc1401b100eab02e772e1f/regex-2024.11.6-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:a6ba92c0bcdf96cbf43a12c717eae4bc98325ca3730f6b130ffa2e3c3c723d84", size = 483525 }, - { url = "https://files.pythonhosted.org/packages/0f/3f/f1a082a46b31e25291d830b369b6b0c5576a6f7fb89d3053a354c24b8a83/regex-2024.11.6-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:525eab0b789891ac3be914d36893bdf972d483fe66551f79d3e27146191a37d4", size = 288324 }, - { url = "https://files.pythonhosted.org/packages/09/c9/4e68181a4a652fb3ef5099e077faf4fd2a694ea6e0f806a7737aff9e758a/regex-2024.11.6-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:086a27a0b4ca227941700e0b31425e7a28ef1ae8e5e05a33826e17e47fbfdba0", size = 284617 }, - { url = "https://files.pythonhosted.org/packages/fc/fd/37868b75eaf63843165f1d2122ca6cb94bfc0271e4428cf58c0616786dce/regex-2024.11.6-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:bde01f35767c4a7899b7eb6e823b125a64de314a8ee9791367c9a34d56af18d0", size = 795023 }, - { url = "https://files.pythonhosted.org/packages/c4/7c/d4cd9c528502a3dedb5c13c146e7a7a539a3853dc20209c8e75d9ba9d1b2/regex-2024.11.6-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:b583904576650166b3d920d2bcce13971f6f9e9a396c673187f49811b2769dc7", size = 833072 }, - { url = "https://files.pythonhosted.org/packages/4f/db/46f563a08f969159c5a0f0e722260568425363bea43bb7ae370becb66a67/regex-2024.11.6-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:1c4de13f06a0d54fa0d5ab1b7138bfa0d883220965a29616e3ea61b35d5f5fc7", size = 823130 }, - { url = "https://files.pythonhosted.org/packages/db/60/1eeca2074f5b87df394fccaa432ae3fc06c9c9bfa97c5051aed70e6e00c2/regex-2024.11.6-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:3cde6e9f2580eb1665965ce9bf17ff4952f34f5b126beb509fee8f4e994f143c", size = 796857 }, - { url = "https://files.pythonhosted.org/packages/10/db/ac718a08fcee981554d2f7bb8402f1faa7e868c1345c16ab1ebec54b0d7b/regex-2024.11.6-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:0d7f453dca13f40a02b79636a339c5b62b670141e63efd511d3f8f73fba162b3", size = 784006 }, - { url = "https://files.pythonhosted.org/packages/c2/41/7da3fe70216cea93144bf12da2b87367590bcf07db97604edeea55dac9ad/regex-2024.11.6-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:59dfe1ed21aea057a65c6b586afd2a945de04fc7db3de0a6e3ed5397ad491b07", size = 781650 }, - { url = "https://files.pythonhosted.org/packages/a7/d5/880921ee4eec393a4752e6ab9f0fe28009435417c3102fc413f3fe81c4e5/regex-2024.11.6-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:b97c1e0bd37c5cd7902e65f410779d39eeda155800b65fc4d04cc432efa9bc6e", size = 789545 }, - { url = "https://files.pythonhosted.org/packages/dc/96/53770115e507081122beca8899ab7f5ae28ae790bfcc82b5e38976df6a77/regex-2024.11.6-cp313-cp313-musllinux_1_2_ppc64le.whl", hash = "sha256:f9d1e379028e0fc2ae3654bac3cbbef81bf3fd571272a42d56c24007979bafb6", size = 853045 }, - { url = "https://files.pythonhosted.org/packages/31/d3/1372add5251cc2d44b451bd94f43b2ec78e15a6e82bff6a290ef9fd8f00a/regex-2024.11.6-cp313-cp313-musllinux_1_2_s390x.whl", hash = "sha256:13291b39131e2d002a7940fb176e120bec5145f3aeb7621be6534e46251912c4", size = 860182 }, - { url = "https://files.pythonhosted.org/packages/ed/e3/c446a64984ea9f69982ba1a69d4658d5014bc7a0ea468a07e1a1265db6e2/regex-2024.11.6-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:4f51f88c126370dcec4908576c5a627220da6c09d0bff31cfa89f2523843316d", size = 787733 }, - { url = "https://files.pythonhosted.org/packages/2b/f1/e40c8373e3480e4f29f2692bd21b3e05f296d3afebc7e5dcf21b9756ca1c/regex-2024.11.6-cp313-cp313-win32.whl", hash = "sha256:63b13cfd72e9601125027202cad74995ab26921d8cd935c25f09c630436348ff", size = 262122 }, - { url = "https://files.pythonhosted.org/packages/45/94/bc295babb3062a731f52621cdc992d123111282e291abaf23faa413443ea/regex-2024.11.6-cp313-cp313-win_amd64.whl", hash = "sha256:2b3361af3198667e99927da8b84c1b010752fa4b1115ee30beaa332cabc3ef1a", size = 273545 }, - { url = "https://files.pythonhosted.org/packages/44/0f/207b37e6e08d548fac0aa00bf0b7464126315d58ab5161216b8cb3abb2aa/regex-2024.11.6-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:3a51ccc315653ba012774efca4f23d1d2a8a8f278a6072e29c7147eee7da446b", size = 482777 }, - { url = "https://files.pythonhosted.org/packages/5a/5a/586bafa294c5d2451265d3685815606c61e620f469cac3b946fff0a4aa48/regex-2024.11.6-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:ad182d02e40de7459b73155deb8996bbd8e96852267879396fb274e8700190e3", size = 287751 }, - { url = "https://files.pythonhosted.org/packages/08/92/9df786fad8a4e0766bfc9a2e334c5f0757356070c9639b2ec776b8cdef3d/regex-2024.11.6-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:ba9b72e5643641b7d41fa1f6d5abda2c9a263ae835b917348fc3c928182ad467", size = 284552 }, - { url = "https://files.pythonhosted.org/packages/0a/27/0b3cf7d9fbe43301aa3473d54406019a7380abe4e3c9ae250bac13c4fdb3/regex-2024.11.6-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:40291b1b89ca6ad8d3f2b82782cc33807f1406cf68c8d440861da6304d8ffbbd", size = 783587 }, - { url = "https://files.pythonhosted.org/packages/89/38/499b32cbb61163af60a5c5ff26aacea7836fe7e3d821e76af216e996088c/regex-2024.11.6-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:cdf58d0e516ee426a48f7b2c03a332a4114420716d55769ff7108c37a09951bf", size = 822904 }, - { url = "https://files.pythonhosted.org/packages/3f/a4/e3b11c643e5ae1059a08aeef971973f0c803d2a9ae2e7a86f97c68146a6c/regex-2024.11.6-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:a36fdf2af13c2b14738f6e973aba563623cb77d753bbbd8d414d18bfaa3105dd", size = 809900 }, - { url = "https://files.pythonhosted.org/packages/5a/c8/dc7153ceb5bcc344f5c4f0291ea45925a5f00009afa3849e91561ac2e847/regex-2024.11.6-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:d1cee317bfc014c2419a76bcc87f071405e3966da434e03e13beb45f8aced1a6", size = 785105 }, - { url = "https://files.pythonhosted.org/packages/2a/29/841489ea52013062b22625fbaf49b0916aeb62bae2e56425ac30f9dead46/regex-2024.11.6-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:50153825ee016b91549962f970d6a4442fa106832e14c918acd1c8e479916c4f", size = 773033 }, - { url = "https://files.pythonhosted.org/packages/3e/4e/4a0da5e87f7c2dc73a8505785d5af2b1a19c66f4645b93caa50b7eb08242/regex-2024.11.6-cp38-cp38-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:ea1bfda2f7162605f6e8178223576856b3d791109f15ea99a9f95c16a7636fb5", size = 702374 }, - { url = "https://files.pythonhosted.org/packages/94/6e/444e66346600d11e8a0f4bb31611973cffa772d5033ba1cf1f15de8a0d52/regex-2024.11.6-cp38-cp38-musllinux_1_2_aarch64.whl", hash = "sha256:df951c5f4a1b1910f1a99ff42c473ff60f8225baa1cdd3539fe2819d9543e9df", size = 769990 }, - { url = "https://files.pythonhosted.org/packages/da/28/95c3ed6cd51b27f54e59940400e2a3ddd3f8bbbc3aaf947e57a67104ecbd/regex-2024.11.6-cp38-cp38-musllinux_1_2_i686.whl", hash = "sha256:072623554418a9911446278f16ecb398fb3b540147a7828c06e2011fa531e773", size = 775345 }, - { url = "https://files.pythonhosted.org/packages/07/5d/0cd19cf44d96a7aa31526611c24235d21d27c23b65201cb2c5cac508dd42/regex-2024.11.6-cp38-cp38-musllinux_1_2_ppc64le.whl", hash = "sha256:f654882311409afb1d780b940234208a252322c24a93b442ca714d119e68086c", size = 840379 }, - { url = "https://files.pythonhosted.org/packages/2a/13/ec3f8d85b789ee1c6ffbdfd4092fd901416716317ee17bf51aa2890bac96/regex-2024.11.6-cp38-cp38-musllinux_1_2_s390x.whl", hash = "sha256:89d75e7293d2b3e674db7d4d9b1bee7f8f3d1609428e293771d1a962617150cc", size = 845842 }, - { url = "https://files.pythonhosted.org/packages/50/cb/7170247e65afea2bf9204bcb2682f292b0a3a57d112478da199b84d59792/regex-2024.11.6-cp38-cp38-musllinux_1_2_x86_64.whl", hash = "sha256:f65557897fc977a44ab205ea871b690adaef6b9da6afda4790a2484b04293a5f", size = 775026 }, - { url = "https://files.pythonhosted.org/packages/cc/06/c817c9201f09b7d9dd033039ba90d8197c91e9fe2984141f2d1de270c159/regex-2024.11.6-cp38-cp38-win32.whl", hash = "sha256:6f44ec28b1f858c98d3036ad5d7d0bfc568bdd7a74f9c24e25f41ef1ebfd81a4", size = 261738 }, - { url = "https://files.pythonhosted.org/packages/cf/69/c39e16320400842eb4358c982ef5fc680800866f35ebfd4dd38a22967ce0/regex-2024.11.6-cp38-cp38-win_amd64.whl", hash = "sha256:bb8f74f2f10dbf13a0be8de623ba4f9491faf58c24064f32b65679b021ed0001", size = 274094 }, - { url = "https://files.pythonhosted.org/packages/89/23/c4a86df398e57e26f93b13ae63acce58771e04bdde86092502496fa57f9c/regex-2024.11.6-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:5704e174f8ccab2026bd2f1ab6c510345ae8eac818b613d7d73e785f1310f839", size = 482682 }, - { url = "https://files.pythonhosted.org/packages/3c/8b/45c24ab7a51a1658441b961b86209c43e6bb9d39caf1e63f46ce6ea03bc7/regex-2024.11.6-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:220902c3c5cc6af55d4fe19ead504de80eb91f786dc102fbd74894b1551f095e", size = 287679 }, - { url = "https://files.pythonhosted.org/packages/7a/d1/598de10b17fdafc452d11f7dada11c3be4e379a8671393e4e3da3c4070df/regex-2024.11.6-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:5e7e351589da0850c125f1600a4c4ba3c722efefe16b297de54300f08d734fbf", size = 284578 }, - { url = "https://files.pythonhosted.org/packages/49/70/c7eaa219efa67a215846766fde18d92d54cb590b6a04ffe43cef30057622/regex-2024.11.6-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:5056b185ca113c88e18223183aa1a50e66507769c9640a6ff75859619d73957b", size = 782012 }, - { url = "https://files.pythonhosted.org/packages/89/e5/ef52c7eb117dd20ff1697968219971d052138965a4d3d9b95e92e549f505/regex-2024.11.6-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:2e34b51b650b23ed3354b5a07aab37034d9f923db2a40519139af34f485f77d0", size = 820580 }, - { url = "https://files.pythonhosted.org/packages/5f/3f/9f5da81aff1d4167ac52711acf789df13e789fe6ac9545552e49138e3282/regex-2024.11.6-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:5670bce7b200273eee1840ef307bfa07cda90b38ae56e9a6ebcc9f50da9c469b", size = 809110 }, - { url = "https://files.pythonhosted.org/packages/86/44/2101cc0890c3621b90365c9ee8d7291a597c0722ad66eccd6ffa7f1bcc09/regex-2024.11.6-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:08986dce1339bc932923e7d1232ce9881499a0e02925f7402fb7c982515419ef", size = 780919 }, - { url = "https://files.pythonhosted.org/packages/ce/2e/3e0668d8d1c7c3c0d397bf54d92fc182575b3a26939aed5000d3cc78760f/regex-2024.11.6-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:93c0b12d3d3bc25af4ebbf38f9ee780a487e8bf6954c115b9f015822d3bb8e48", size = 771515 }, - { url = "https://files.pythonhosted.org/packages/a6/49/1bc4584254355e3dba930a3a2fd7ad26ccba3ebbab7d9100db0aff2eedb0/regex-2024.11.6-cp39-cp39-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:764e71f22ab3b305e7f4c21f1a97e1526a25ebdd22513e251cf376760213da13", size = 696957 }, - { url = "https://files.pythonhosted.org/packages/c8/dd/42879c1fc8a37a887cd08e358af3d3ba9e23038cd77c7fe044a86d9450ba/regex-2024.11.6-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:f056bf21105c2515c32372bbc057f43eb02aae2fda61052e2f7622c801f0b4e2", size = 768088 }, - { url = "https://files.pythonhosted.org/packages/89/96/c05a0fe173cd2acd29d5e13c1adad8b706bcaa71b169e1ee57dcf2e74584/regex-2024.11.6-cp39-cp39-musllinux_1_2_i686.whl", hash = "sha256:69ab78f848845569401469da20df3e081e6b5a11cb086de3eed1d48f5ed57c95", size = 774752 }, - { url = "https://files.pythonhosted.org/packages/b5/f3/a757748066255f97f14506483436c5f6aded7af9e37bca04ec30c90ca683/regex-2024.11.6-cp39-cp39-musllinux_1_2_ppc64le.whl", hash = "sha256:86fddba590aad9208e2fa8b43b4c098bb0ec74f15718bb6a704e3c63e2cef3e9", size = 838862 }, - { url = "https://files.pythonhosted.org/packages/5c/93/c6d2092fd479dcaeea40fc8fa673822829181ded77d294a7f950f1dda6e2/regex-2024.11.6-cp39-cp39-musllinux_1_2_s390x.whl", hash = "sha256:684d7a212682996d21ca12ef3c17353c021fe9de6049e19ac8481ec35574a70f", size = 842622 }, - { url = "https://files.pythonhosted.org/packages/ff/9c/daa99532c72f25051a90ef90e1413a8d54413a9e64614d9095b0c1c154d0/regex-2024.11.6-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:a03e02f48cd1abbd9f3b7e3586d97c8f7a9721c436f51a5245b3b9483044480b", size = 772713 }, - { url = "https://files.pythonhosted.org/packages/13/5d/61a533ccb8c231b474ac8e3a7d70155b00dfc61af6cafdccd1947df6d735/regex-2024.11.6-cp39-cp39-win32.whl", hash = "sha256:41758407fc32d5c3c5de163888068cfee69cb4c2be844e7ac517a52770f9af57", size = 261756 }, - { url = "https://files.pythonhosted.org/packages/dc/7b/e59b7f7c91ae110d154370c24133f947262525b5d6406df65f23422acc17/regex-2024.11.6-cp39-cp39-win_amd64.whl", hash = "sha256:b2837718570f95dd41675328e111345f9b7095d821bac435aac173ac80b19983", size = 274110 }, +sdist = { url = "https://files.pythonhosted.org/packages/8e/5f/bd69653fbfb76cf8604468d3b4ec4c403197144c7bfe0e6a5fc9e02a07cb/regex-2024.11.6.tar.gz", hash = "sha256:7ab159b063c52a0333c884e4679f8d7a85112ee3078fe3d9004b2dd875585519", size = 399494, upload-time = "2024-11-06T20:12:31.635Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/95/3c/4651f6b130c6842a8f3df82461a8950f923925db8b6961063e82744bddcc/regex-2024.11.6-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:ff590880083d60acc0433f9c3f713c51f7ac6ebb9adf889c79a261ecf541aa91", size = 482674, upload-time = "2024-11-06T20:08:57.575Z" }, + { url = "https://files.pythonhosted.org/packages/15/51/9f35d12da8434b489c7b7bffc205c474a0a9432a889457026e9bc06a297a/regex-2024.11.6-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:658f90550f38270639e83ce492f27d2c8d2cd63805c65a13a14d36ca126753f0", size = 287684, upload-time = "2024-11-06T20:08:59.787Z" }, + { url = "https://files.pythonhosted.org/packages/bd/18/b731f5510d1b8fb63c6b6d3484bfa9a59b84cc578ac8b5172970e05ae07c/regex-2024.11.6-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:164d8b7b3b4bcb2068b97428060b2a53be050085ef94eca7f240e7947f1b080e", size = 284589, upload-time = "2024-11-06T20:09:01.896Z" }, + { url = "https://files.pythonhosted.org/packages/78/a2/6dd36e16341ab95e4c6073426561b9bfdeb1a9c9b63ab1b579c2e96cb105/regex-2024.11.6-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d3660c82f209655a06b587d55e723f0b813d3a7db2e32e5e7dc64ac2a9e86fde", size = 782511, upload-time = "2024-11-06T20:09:04.062Z" }, + { url = "https://files.pythonhosted.org/packages/1b/2b/323e72d5d2fd8de0d9baa443e1ed70363ed7e7b2fb526f5950c5cb99c364/regex-2024.11.6-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:d22326fcdef5e08c154280b71163ced384b428343ae16a5ab2b3354aed12436e", size = 821149, upload-time = "2024-11-06T20:09:06.237Z" }, + { url = "https://files.pythonhosted.org/packages/90/30/63373b9ea468fbef8a907fd273e5c329b8c9535fee36fc8dba5fecac475d/regex-2024.11.6-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:f1ac758ef6aebfc8943560194e9fd0fa18bcb34d89fd8bd2af18183afd8da3a2", size = 809707, upload-time = "2024-11-06T20:09:07.715Z" }, + { url = "https://files.pythonhosted.org/packages/f2/98/26d3830875b53071f1f0ae6d547f1d98e964dd29ad35cbf94439120bb67a/regex-2024.11.6-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:997d6a487ff00807ba810e0f8332c18b4eb8d29463cfb7c820dc4b6e7562d0cf", size = 781702, upload-time = "2024-11-06T20:09:10.101Z" }, + { url = "https://files.pythonhosted.org/packages/87/55/eb2a068334274db86208ab9d5599ffa63631b9f0f67ed70ea7c82a69bbc8/regex-2024.11.6-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:02a02d2bb04fec86ad61f3ea7f49c015a0681bf76abb9857f945d26159d2968c", size = 771976, upload-time = "2024-11-06T20:09:11.566Z" }, + { url = "https://files.pythonhosted.org/packages/74/c0/be707bcfe98254d8f9d2cff55d216e946f4ea48ad2fd8cf1428f8c5332ba/regex-2024.11.6-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:f02f93b92358ee3f78660e43b4b0091229260c5d5c408d17d60bf26b6c900e86", size = 697397, upload-time = "2024-11-06T20:09:13.119Z" }, + { url = "https://files.pythonhosted.org/packages/49/dc/bb45572ceb49e0f6509f7596e4ba7031f6819ecb26bc7610979af5a77f45/regex-2024.11.6-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:06eb1be98df10e81ebaded73fcd51989dcf534e3c753466e4b60c4697a003b67", size = 768726, upload-time = "2024-11-06T20:09:14.85Z" }, + { url = "https://files.pythonhosted.org/packages/5a/db/f43fd75dc4c0c2d96d0881967897926942e935d700863666f3c844a72ce6/regex-2024.11.6-cp310-cp310-musllinux_1_2_i686.whl", hash = "sha256:040df6fe1a5504eb0f04f048e6d09cd7c7110fef851d7c567a6b6e09942feb7d", size = 775098, upload-time = "2024-11-06T20:09:16.504Z" }, + { url = "https://files.pythonhosted.org/packages/99/d7/f94154db29ab5a89d69ff893159b19ada89e76b915c1293e98603d39838c/regex-2024.11.6-cp310-cp310-musllinux_1_2_ppc64le.whl", hash = "sha256:fdabbfc59f2c6edba2a6622c647b716e34e8e3867e0ab975412c5c2f79b82da2", size = 839325, upload-time = "2024-11-06T20:09:18.698Z" }, + { url = "https://files.pythonhosted.org/packages/f7/17/3cbfab1f23356fbbf07708220ab438a7efa1e0f34195bf857433f79f1788/regex-2024.11.6-cp310-cp310-musllinux_1_2_s390x.whl", hash = "sha256:8447d2d39b5abe381419319f942de20b7ecd60ce86f16a23b0698f22e1b70008", size = 843277, upload-time = "2024-11-06T20:09:21.725Z" }, + { url = "https://files.pythonhosted.org/packages/7e/f2/48b393b51900456155de3ad001900f94298965e1cad1c772b87f9cfea011/regex-2024.11.6-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:da8f5fc57d1933de22a9e23eec290a0d8a5927a5370d24bda9a6abe50683fe62", size = 773197, upload-time = "2024-11-06T20:09:24.092Z" }, + { url = "https://files.pythonhosted.org/packages/45/3f/ef9589aba93e084cd3f8471fded352826dcae8489b650d0b9b27bc5bba8a/regex-2024.11.6-cp310-cp310-win32.whl", hash = "sha256:b489578720afb782f6ccf2840920f3a32e31ba28a4b162e13900c3e6bd3f930e", size = 261714, upload-time = "2024-11-06T20:09:26.36Z" }, + { url = "https://files.pythonhosted.org/packages/42/7e/5f1b92c8468290c465fd50c5318da64319133231415a8aa6ea5ab995a815/regex-2024.11.6-cp310-cp310-win_amd64.whl", hash = "sha256:5071b2093e793357c9d8b2929dfc13ac5f0a6c650559503bb81189d0a3814519", size = 274042, upload-time = "2024-11-06T20:09:28.762Z" }, + { url = "https://files.pythonhosted.org/packages/58/58/7e4d9493a66c88a7da6d205768119f51af0f684fe7be7bac8328e217a52c/regex-2024.11.6-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:5478c6962ad548b54a591778e93cd7c456a7a29f8eca9c49e4f9a806dcc5d638", size = 482669, upload-time = "2024-11-06T20:09:31.064Z" }, + { url = "https://files.pythonhosted.org/packages/34/4c/8f8e631fcdc2ff978609eaeef1d6994bf2f028b59d9ac67640ed051f1218/regex-2024.11.6-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:2c89a8cc122b25ce6945f0423dc1352cb9593c68abd19223eebbd4e56612c5b7", size = 287684, upload-time = "2024-11-06T20:09:32.915Z" }, + { url = "https://files.pythonhosted.org/packages/c5/1b/f0e4d13e6adf866ce9b069e191f303a30ab1277e037037a365c3aad5cc9c/regex-2024.11.6-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:94d87b689cdd831934fa3ce16cc15cd65748e6d689f5d2b8f4f4df2065c9fa20", size = 284589, upload-time = "2024-11-06T20:09:35.504Z" }, + { url = "https://files.pythonhosted.org/packages/25/4d/ab21047f446693887f25510887e6820b93f791992994f6498b0318904d4a/regex-2024.11.6-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:1062b39a0a2b75a9c694f7a08e7183a80c63c0d62b301418ffd9c35f55aaa114", size = 792121, upload-time = "2024-11-06T20:09:37.701Z" }, + { url = "https://files.pythonhosted.org/packages/45/ee/c867e15cd894985cb32b731d89576c41a4642a57850c162490ea34b78c3b/regex-2024.11.6-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:167ed4852351d8a750da48712c3930b031f6efdaa0f22fa1933716bfcd6bf4a3", size = 831275, upload-time = "2024-11-06T20:09:40.371Z" }, + { url = "https://files.pythonhosted.org/packages/b3/12/b0f480726cf1c60f6536fa5e1c95275a77624f3ac8fdccf79e6727499e28/regex-2024.11.6-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:2d548dafee61f06ebdb584080621f3e0c23fff312f0de1afc776e2a2ba99a74f", size = 818257, upload-time = "2024-11-06T20:09:43.059Z" }, + { url = "https://files.pythonhosted.org/packages/bf/ce/0d0e61429f603bac433910d99ef1a02ce45a8967ffbe3cbee48599e62d88/regex-2024.11.6-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f2a19f302cd1ce5dd01a9099aaa19cae6173306d1302a43b627f62e21cf18ac0", size = 792727, upload-time = "2024-11-06T20:09:48.19Z" }, + { url = "https://files.pythonhosted.org/packages/e4/c1/243c83c53d4a419c1556f43777ccb552bccdf79d08fda3980e4e77dd9137/regex-2024.11.6-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:bec9931dfb61ddd8ef2ebc05646293812cb6b16b60cf7c9511a832b6f1854b55", size = 780667, upload-time = "2024-11-06T20:09:49.828Z" }, + { url = "https://files.pythonhosted.org/packages/c5/f4/75eb0dd4ce4b37f04928987f1d22547ddaf6c4bae697623c1b05da67a8aa/regex-2024.11.6-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:9714398225f299aa85267fd222f7142fcb5c769e73d7733344efc46f2ef5cf89", size = 776963, upload-time = "2024-11-06T20:09:51.819Z" }, + { url = "https://files.pythonhosted.org/packages/16/5d/95c568574e630e141a69ff8a254c2f188b4398e813c40d49228c9bbd9875/regex-2024.11.6-cp311-cp311-musllinux_1_2_i686.whl", hash = "sha256:202eb32e89f60fc147a41e55cb086db2a3f8cb82f9a9a88440dcfc5d37faae8d", size = 784700, upload-time = "2024-11-06T20:09:53.982Z" }, + { url = "https://files.pythonhosted.org/packages/8e/b5/f8495c7917f15cc6fee1e7f395e324ec3e00ab3c665a7dc9d27562fd5290/regex-2024.11.6-cp311-cp311-musllinux_1_2_ppc64le.whl", hash = "sha256:4181b814e56078e9b00427ca358ec44333765f5ca1b45597ec7446d3a1ef6e34", size = 848592, upload-time = "2024-11-06T20:09:56.222Z" }, + { url = "https://files.pythonhosted.org/packages/1c/80/6dd7118e8cb212c3c60b191b932dc57db93fb2e36fb9e0e92f72a5909af9/regex-2024.11.6-cp311-cp311-musllinux_1_2_s390x.whl", hash = "sha256:068376da5a7e4da51968ce4c122a7cd31afaaec4fccc7856c92f63876e57b51d", size = 852929, upload-time = "2024-11-06T20:09:58.642Z" }, + { url = "https://files.pythonhosted.org/packages/11/9b/5a05d2040297d2d254baf95eeeb6df83554e5e1df03bc1a6687fc4ba1f66/regex-2024.11.6-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:ac10f2c4184420d881a3475fb2c6f4d95d53a8d50209a2500723d831036f7c45", size = 781213, upload-time = "2024-11-06T20:10:00.867Z" }, + { url = "https://files.pythonhosted.org/packages/26/b7/b14e2440156ab39e0177506c08c18accaf2b8932e39fb092074de733d868/regex-2024.11.6-cp311-cp311-win32.whl", hash = "sha256:c36f9b6f5f8649bb251a5f3f66564438977b7ef8386a52460ae77e6070d309d9", size = 261734, upload-time = "2024-11-06T20:10:03.361Z" }, + { url = "https://files.pythonhosted.org/packages/80/32/763a6cc01d21fb3819227a1cc3f60fd251c13c37c27a73b8ff4315433a8e/regex-2024.11.6-cp311-cp311-win_amd64.whl", hash = "sha256:02e28184be537f0e75c1f9b2f8847dc51e08e6e171c6bde130b2687e0c33cf60", size = 274052, upload-time = "2024-11-06T20:10:05.179Z" }, + { url = "https://files.pythonhosted.org/packages/ba/30/9a87ce8336b172cc232a0db89a3af97929d06c11ceaa19d97d84fa90a8f8/regex-2024.11.6-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:52fb28f528778f184f870b7cf8f225f5eef0a8f6e3778529bdd40c7b3920796a", size = 483781, upload-time = "2024-11-06T20:10:07.07Z" }, + { url = "https://files.pythonhosted.org/packages/01/e8/00008ad4ff4be8b1844786ba6636035f7ef926db5686e4c0f98093612add/regex-2024.11.6-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:fdd6028445d2460f33136c55eeb1f601ab06d74cb3347132e1c24250187500d9", size = 288455, upload-time = "2024-11-06T20:10:09.117Z" }, + { url = "https://files.pythonhosted.org/packages/60/85/cebcc0aff603ea0a201667b203f13ba75d9fc8668fab917ac5b2de3967bc/regex-2024.11.6-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:805e6b60c54bf766b251e94526ebad60b7de0c70f70a4e6210ee2891acb70bf2", size = 284759, upload-time = "2024-11-06T20:10:11.155Z" }, + { url = "https://files.pythonhosted.org/packages/94/2b/701a4b0585cb05472a4da28ee28fdfe155f3638f5e1ec92306d924e5faf0/regex-2024.11.6-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:b85c2530be953a890eaffde05485238f07029600e8f098cdf1848d414a8b45e4", size = 794976, upload-time = "2024-11-06T20:10:13.24Z" }, + { url = "https://files.pythonhosted.org/packages/4b/bf/fa87e563bf5fee75db8915f7352e1887b1249126a1be4813837f5dbec965/regex-2024.11.6-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:bb26437975da7dc36b7efad18aa9dd4ea569d2357ae6b783bf1118dabd9ea577", size = 833077, upload-time = "2024-11-06T20:10:15.37Z" }, + { url = "https://files.pythonhosted.org/packages/a1/56/7295e6bad94b047f4d0834e4779491b81216583c00c288252ef625c01d23/regex-2024.11.6-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:abfa5080c374a76a251ba60683242bc17eeb2c9818d0d30117b4486be10c59d3", size = 823160, upload-time = "2024-11-06T20:10:19.027Z" }, + { url = "https://files.pythonhosted.org/packages/fb/13/e3b075031a738c9598c51cfbc4c7879e26729c53aa9cca59211c44235314/regex-2024.11.6-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:70b7fa6606c2881c1db9479b0eaa11ed5dfa11c8d60a474ff0e095099f39d98e", size = 796896, upload-time = "2024-11-06T20:10:21.85Z" }, + { url = "https://files.pythonhosted.org/packages/24/56/0b3f1b66d592be6efec23a795b37732682520b47c53da5a32c33ed7d84e3/regex-2024.11.6-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:0c32f75920cf99fe6b6c539c399a4a128452eaf1af27f39bce8909c9a3fd8cbe", size = 783997, upload-time = "2024-11-06T20:10:24.329Z" }, + { url = "https://files.pythonhosted.org/packages/f9/a1/eb378dada8b91c0e4c5f08ffb56f25fcae47bf52ad18f9b2f33b83e6d498/regex-2024.11.6-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:982e6d21414e78e1f51cf595d7f321dcd14de1f2881c5dc6a6e23bbbbd68435e", size = 781725, upload-time = "2024-11-06T20:10:28.067Z" }, + { url = "https://files.pythonhosted.org/packages/83/f2/033e7dec0cfd6dda93390089864732a3409246ffe8b042e9554afa9bff4e/regex-2024.11.6-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:a7c2155f790e2fb448faed6dd241386719802296ec588a8b9051c1f5c481bc29", size = 789481, upload-time = "2024-11-06T20:10:31.612Z" }, + { url = "https://files.pythonhosted.org/packages/83/23/15d4552ea28990a74e7696780c438aadd73a20318c47e527b47a4a5a596d/regex-2024.11.6-cp312-cp312-musllinux_1_2_ppc64le.whl", hash = "sha256:149f5008d286636e48cd0b1dd65018548944e495b0265b45e1bffecce1ef7f39", size = 852896, upload-time = "2024-11-06T20:10:34.054Z" }, + { url = "https://files.pythonhosted.org/packages/e3/39/ed4416bc90deedbfdada2568b2cb0bc1fdb98efe11f5378d9892b2a88f8f/regex-2024.11.6-cp312-cp312-musllinux_1_2_s390x.whl", hash = "sha256:e5364a4502efca094731680e80009632ad6624084aff9a23ce8c8c6820de3e51", size = 860138, upload-time = "2024-11-06T20:10:36.142Z" }, + { url = "https://files.pythonhosted.org/packages/93/2d/dd56bb76bd8e95bbce684326302f287455b56242a4f9c61f1bc76e28360e/regex-2024.11.6-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:0a86e7eeca091c09e021db8eb72d54751e527fa47b8d5787caf96d9831bd02ad", size = 787692, upload-time = "2024-11-06T20:10:38.394Z" }, + { url = "https://files.pythonhosted.org/packages/0b/55/31877a249ab7a5156758246b9c59539abbeba22461b7d8adc9e8475ff73e/regex-2024.11.6-cp312-cp312-win32.whl", hash = "sha256:32f9a4c643baad4efa81d549c2aadefaeba12249b2adc5af541759237eee1c54", size = 262135, upload-time = "2024-11-06T20:10:40.367Z" }, + { url = "https://files.pythonhosted.org/packages/38/ec/ad2d7de49a600cdb8dd78434a1aeffe28b9d6fc42eb36afab4a27ad23384/regex-2024.11.6-cp312-cp312-win_amd64.whl", hash = "sha256:a93c194e2df18f7d264092dc8539b8ffb86b45b899ab976aa15d48214138e81b", size = 273567, upload-time = "2024-11-06T20:10:43.467Z" }, + { url = "https://files.pythonhosted.org/packages/90/73/bcb0e36614601016552fa9344544a3a2ae1809dc1401b100eab02e772e1f/regex-2024.11.6-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:a6ba92c0bcdf96cbf43a12c717eae4bc98325ca3730f6b130ffa2e3c3c723d84", size = 483525, upload-time = "2024-11-06T20:10:45.19Z" }, + { url = "https://files.pythonhosted.org/packages/0f/3f/f1a082a46b31e25291d830b369b6b0c5576a6f7fb89d3053a354c24b8a83/regex-2024.11.6-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:525eab0b789891ac3be914d36893bdf972d483fe66551f79d3e27146191a37d4", size = 288324, upload-time = "2024-11-06T20:10:47.177Z" }, + { url = "https://files.pythonhosted.org/packages/09/c9/4e68181a4a652fb3ef5099e077faf4fd2a694ea6e0f806a7737aff9e758a/regex-2024.11.6-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:086a27a0b4ca227941700e0b31425e7a28ef1ae8e5e05a33826e17e47fbfdba0", size = 284617, upload-time = "2024-11-06T20:10:49.312Z" }, + { url = "https://files.pythonhosted.org/packages/fc/fd/37868b75eaf63843165f1d2122ca6cb94bfc0271e4428cf58c0616786dce/regex-2024.11.6-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:bde01f35767c4a7899b7eb6e823b125a64de314a8ee9791367c9a34d56af18d0", size = 795023, upload-time = "2024-11-06T20:10:51.102Z" }, + { url = "https://files.pythonhosted.org/packages/c4/7c/d4cd9c528502a3dedb5c13c146e7a7a539a3853dc20209c8e75d9ba9d1b2/regex-2024.11.6-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:b583904576650166b3d920d2bcce13971f6f9e9a396c673187f49811b2769dc7", size = 833072, upload-time = "2024-11-06T20:10:52.926Z" }, + { url = "https://files.pythonhosted.org/packages/4f/db/46f563a08f969159c5a0f0e722260568425363bea43bb7ae370becb66a67/regex-2024.11.6-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:1c4de13f06a0d54fa0d5ab1b7138bfa0d883220965a29616e3ea61b35d5f5fc7", size = 823130, upload-time = "2024-11-06T20:10:54.828Z" }, + { url = "https://files.pythonhosted.org/packages/db/60/1eeca2074f5b87df394fccaa432ae3fc06c9c9bfa97c5051aed70e6e00c2/regex-2024.11.6-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:3cde6e9f2580eb1665965ce9bf17ff4952f34f5b126beb509fee8f4e994f143c", size = 796857, upload-time = "2024-11-06T20:10:56.634Z" }, + { url = "https://files.pythonhosted.org/packages/10/db/ac718a08fcee981554d2f7bb8402f1faa7e868c1345c16ab1ebec54b0d7b/regex-2024.11.6-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:0d7f453dca13f40a02b79636a339c5b62b670141e63efd511d3f8f73fba162b3", size = 784006, upload-time = "2024-11-06T20:10:59.369Z" }, + { url = "https://files.pythonhosted.org/packages/c2/41/7da3fe70216cea93144bf12da2b87367590bcf07db97604edeea55dac9ad/regex-2024.11.6-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:59dfe1ed21aea057a65c6b586afd2a945de04fc7db3de0a6e3ed5397ad491b07", size = 781650, upload-time = "2024-11-06T20:11:02.042Z" }, + { url = "https://files.pythonhosted.org/packages/a7/d5/880921ee4eec393a4752e6ab9f0fe28009435417c3102fc413f3fe81c4e5/regex-2024.11.6-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:b97c1e0bd37c5cd7902e65f410779d39eeda155800b65fc4d04cc432efa9bc6e", size = 789545, upload-time = "2024-11-06T20:11:03.933Z" }, + { url = "https://files.pythonhosted.org/packages/dc/96/53770115e507081122beca8899ab7f5ae28ae790bfcc82b5e38976df6a77/regex-2024.11.6-cp313-cp313-musllinux_1_2_ppc64le.whl", hash = "sha256:f9d1e379028e0fc2ae3654bac3cbbef81bf3fd571272a42d56c24007979bafb6", size = 853045, upload-time = "2024-11-06T20:11:06.497Z" }, + { url = "https://files.pythonhosted.org/packages/31/d3/1372add5251cc2d44b451bd94f43b2ec78e15a6e82bff6a290ef9fd8f00a/regex-2024.11.6-cp313-cp313-musllinux_1_2_s390x.whl", hash = "sha256:13291b39131e2d002a7940fb176e120bec5145f3aeb7621be6534e46251912c4", size = 860182, upload-time = "2024-11-06T20:11:09.06Z" }, + { url = "https://files.pythonhosted.org/packages/ed/e3/c446a64984ea9f69982ba1a69d4658d5014bc7a0ea468a07e1a1265db6e2/regex-2024.11.6-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:4f51f88c126370dcec4908576c5a627220da6c09d0bff31cfa89f2523843316d", size = 787733, upload-time = "2024-11-06T20:11:11.256Z" }, + { url = "https://files.pythonhosted.org/packages/2b/f1/e40c8373e3480e4f29f2692bd21b3e05f296d3afebc7e5dcf21b9756ca1c/regex-2024.11.6-cp313-cp313-win32.whl", hash = "sha256:63b13cfd72e9601125027202cad74995ab26921d8cd935c25f09c630436348ff", size = 262122, upload-time = "2024-11-06T20:11:13.161Z" }, + { url = "https://files.pythonhosted.org/packages/45/94/bc295babb3062a731f52621cdc992d123111282e291abaf23faa413443ea/regex-2024.11.6-cp313-cp313-win_amd64.whl", hash = "sha256:2b3361af3198667e99927da8b84c1b010752fa4b1115ee30beaa332cabc3ef1a", size = 273545, upload-time = "2024-11-06T20:11:15Z" }, + { url = "https://files.pythonhosted.org/packages/44/0f/207b37e6e08d548fac0aa00bf0b7464126315d58ab5161216b8cb3abb2aa/regex-2024.11.6-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:3a51ccc315653ba012774efca4f23d1d2a8a8f278a6072e29c7147eee7da446b", size = 482777, upload-time = "2024-11-06T20:11:16.752Z" }, + { url = "https://files.pythonhosted.org/packages/5a/5a/586bafa294c5d2451265d3685815606c61e620f469cac3b946fff0a4aa48/regex-2024.11.6-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:ad182d02e40de7459b73155deb8996bbd8e96852267879396fb274e8700190e3", size = 287751, upload-time = "2024-11-06T20:11:18.913Z" }, + { url = "https://files.pythonhosted.org/packages/08/92/9df786fad8a4e0766bfc9a2e334c5f0757356070c9639b2ec776b8cdef3d/regex-2024.11.6-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:ba9b72e5643641b7d41fa1f6d5abda2c9a263ae835b917348fc3c928182ad467", size = 284552, upload-time = "2024-11-06T20:11:21.005Z" }, + { url = "https://files.pythonhosted.org/packages/0a/27/0b3cf7d9fbe43301aa3473d54406019a7380abe4e3c9ae250bac13c4fdb3/regex-2024.11.6-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:40291b1b89ca6ad8d3f2b82782cc33807f1406cf68c8d440861da6304d8ffbbd", size = 783587, upload-time = "2024-11-06T20:11:23.17Z" }, + { url = "https://files.pythonhosted.org/packages/89/38/499b32cbb61163af60a5c5ff26aacea7836fe7e3d821e76af216e996088c/regex-2024.11.6-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:cdf58d0e516ee426a48f7b2c03a332a4114420716d55769ff7108c37a09951bf", size = 822904, upload-time = "2024-11-06T20:11:25.49Z" }, + { url = "https://files.pythonhosted.org/packages/3f/a4/e3b11c643e5ae1059a08aeef971973f0c803d2a9ae2e7a86f97c68146a6c/regex-2024.11.6-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:a36fdf2af13c2b14738f6e973aba563623cb77d753bbbd8d414d18bfaa3105dd", size = 809900, upload-time = "2024-11-06T20:11:27.382Z" }, + { url = "https://files.pythonhosted.org/packages/5a/c8/dc7153ceb5bcc344f5c4f0291ea45925a5f00009afa3849e91561ac2e847/regex-2024.11.6-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:d1cee317bfc014c2419a76bcc87f071405e3966da434e03e13beb45f8aced1a6", size = 785105, upload-time = "2024-11-06T20:11:29.428Z" }, + { url = "https://files.pythonhosted.org/packages/2a/29/841489ea52013062b22625fbaf49b0916aeb62bae2e56425ac30f9dead46/regex-2024.11.6-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:50153825ee016b91549962f970d6a4442fa106832e14c918acd1c8e479916c4f", size = 773033, upload-time = "2024-11-06T20:11:32.175Z" }, + { url = "https://files.pythonhosted.org/packages/3e/4e/4a0da5e87f7c2dc73a8505785d5af2b1a19c66f4645b93caa50b7eb08242/regex-2024.11.6-cp38-cp38-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:ea1bfda2f7162605f6e8178223576856b3d791109f15ea99a9f95c16a7636fb5", size = 702374, upload-time = "2024-11-06T20:11:34.182Z" }, + { url = "https://files.pythonhosted.org/packages/94/6e/444e66346600d11e8a0f4bb31611973cffa772d5033ba1cf1f15de8a0d52/regex-2024.11.6-cp38-cp38-musllinux_1_2_aarch64.whl", hash = "sha256:df951c5f4a1b1910f1a99ff42c473ff60f8225baa1cdd3539fe2819d9543e9df", size = 769990, upload-time = "2024-11-06T20:11:36.813Z" }, + { url = "https://files.pythonhosted.org/packages/da/28/95c3ed6cd51b27f54e59940400e2a3ddd3f8bbbc3aaf947e57a67104ecbd/regex-2024.11.6-cp38-cp38-musllinux_1_2_i686.whl", hash = "sha256:072623554418a9911446278f16ecb398fb3b540147a7828c06e2011fa531e773", size = 775345, upload-time = "2024-11-06T20:11:39.079Z" }, + { url = "https://files.pythonhosted.org/packages/07/5d/0cd19cf44d96a7aa31526611c24235d21d27c23b65201cb2c5cac508dd42/regex-2024.11.6-cp38-cp38-musllinux_1_2_ppc64le.whl", hash = "sha256:f654882311409afb1d780b940234208a252322c24a93b442ca714d119e68086c", size = 840379, upload-time = "2024-11-06T20:11:41.208Z" }, + { url = "https://files.pythonhosted.org/packages/2a/13/ec3f8d85b789ee1c6ffbdfd4092fd901416716317ee17bf51aa2890bac96/regex-2024.11.6-cp38-cp38-musllinux_1_2_s390x.whl", hash = "sha256:89d75e7293d2b3e674db7d4d9b1bee7f8f3d1609428e293771d1a962617150cc", size = 845842, upload-time = "2024-11-06T20:11:43.709Z" }, + { url = "https://files.pythonhosted.org/packages/50/cb/7170247e65afea2bf9204bcb2682f292b0a3a57d112478da199b84d59792/regex-2024.11.6-cp38-cp38-musllinux_1_2_x86_64.whl", hash = "sha256:f65557897fc977a44ab205ea871b690adaef6b9da6afda4790a2484b04293a5f", size = 775026, upload-time = "2024-11-06T20:11:46.11Z" }, + { url = "https://files.pythonhosted.org/packages/cc/06/c817c9201f09b7d9dd033039ba90d8197c91e9fe2984141f2d1de270c159/regex-2024.11.6-cp38-cp38-win32.whl", hash = "sha256:6f44ec28b1f858c98d3036ad5d7d0bfc568bdd7a74f9c24e25f41ef1ebfd81a4", size = 261738, upload-time = "2024-11-06T20:11:48.611Z" }, + { url = "https://files.pythonhosted.org/packages/cf/69/c39e16320400842eb4358c982ef5fc680800866f35ebfd4dd38a22967ce0/regex-2024.11.6-cp38-cp38-win_amd64.whl", hash = "sha256:bb8f74f2f10dbf13a0be8de623ba4f9491faf58c24064f32b65679b021ed0001", size = 274094, upload-time = "2024-11-06T20:11:50.641Z" }, + { url = "https://files.pythonhosted.org/packages/89/23/c4a86df398e57e26f93b13ae63acce58771e04bdde86092502496fa57f9c/regex-2024.11.6-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:5704e174f8ccab2026bd2f1ab6c510345ae8eac818b613d7d73e785f1310f839", size = 482682, upload-time = "2024-11-06T20:11:52.65Z" }, + { url = "https://files.pythonhosted.org/packages/3c/8b/45c24ab7a51a1658441b961b86209c43e6bb9d39caf1e63f46ce6ea03bc7/regex-2024.11.6-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:220902c3c5cc6af55d4fe19ead504de80eb91f786dc102fbd74894b1551f095e", size = 287679, upload-time = "2024-11-06T20:11:55.011Z" }, + { url = "https://files.pythonhosted.org/packages/7a/d1/598de10b17fdafc452d11f7dada11c3be4e379a8671393e4e3da3c4070df/regex-2024.11.6-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:5e7e351589da0850c125f1600a4c4ba3c722efefe16b297de54300f08d734fbf", size = 284578, upload-time = "2024-11-06T20:11:57.033Z" }, + { url = "https://files.pythonhosted.org/packages/49/70/c7eaa219efa67a215846766fde18d92d54cb590b6a04ffe43cef30057622/regex-2024.11.6-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:5056b185ca113c88e18223183aa1a50e66507769c9640a6ff75859619d73957b", size = 782012, upload-time = "2024-11-06T20:11:59.218Z" }, + { url = "https://files.pythonhosted.org/packages/89/e5/ef52c7eb117dd20ff1697968219971d052138965a4d3d9b95e92e549f505/regex-2024.11.6-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:2e34b51b650b23ed3354b5a07aab37034d9f923db2a40519139af34f485f77d0", size = 820580, upload-time = "2024-11-06T20:12:01.969Z" }, + { url = "https://files.pythonhosted.org/packages/5f/3f/9f5da81aff1d4167ac52711acf789df13e789fe6ac9545552e49138e3282/regex-2024.11.6-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:5670bce7b200273eee1840ef307bfa07cda90b38ae56e9a6ebcc9f50da9c469b", size = 809110, upload-time = "2024-11-06T20:12:04.786Z" }, + { url = "https://files.pythonhosted.org/packages/86/44/2101cc0890c3621b90365c9ee8d7291a597c0722ad66eccd6ffa7f1bcc09/regex-2024.11.6-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:08986dce1339bc932923e7d1232ce9881499a0e02925f7402fb7c982515419ef", size = 780919, upload-time = "2024-11-06T20:12:06.944Z" }, + { url = "https://files.pythonhosted.org/packages/ce/2e/3e0668d8d1c7c3c0d397bf54d92fc182575b3a26939aed5000d3cc78760f/regex-2024.11.6-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:93c0b12d3d3bc25af4ebbf38f9ee780a487e8bf6954c115b9f015822d3bb8e48", size = 771515, upload-time = "2024-11-06T20:12:09.9Z" }, + { url = "https://files.pythonhosted.org/packages/a6/49/1bc4584254355e3dba930a3a2fd7ad26ccba3ebbab7d9100db0aff2eedb0/regex-2024.11.6-cp39-cp39-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:764e71f22ab3b305e7f4c21f1a97e1526a25ebdd22513e251cf376760213da13", size = 696957, upload-time = "2024-11-06T20:12:12.319Z" }, + { url = "https://files.pythonhosted.org/packages/c8/dd/42879c1fc8a37a887cd08e358af3d3ba9e23038cd77c7fe044a86d9450ba/regex-2024.11.6-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:f056bf21105c2515c32372bbc057f43eb02aae2fda61052e2f7622c801f0b4e2", size = 768088, upload-time = "2024-11-06T20:12:15.149Z" }, + { url = "https://files.pythonhosted.org/packages/89/96/c05a0fe173cd2acd29d5e13c1adad8b706bcaa71b169e1ee57dcf2e74584/regex-2024.11.6-cp39-cp39-musllinux_1_2_i686.whl", hash = "sha256:69ab78f848845569401469da20df3e081e6b5a11cb086de3eed1d48f5ed57c95", size = 774752, upload-time = "2024-11-06T20:12:17.416Z" }, + { url = "https://files.pythonhosted.org/packages/b5/f3/a757748066255f97f14506483436c5f6aded7af9e37bca04ec30c90ca683/regex-2024.11.6-cp39-cp39-musllinux_1_2_ppc64le.whl", hash = "sha256:86fddba590aad9208e2fa8b43b4c098bb0ec74f15718bb6a704e3c63e2cef3e9", size = 838862, upload-time = "2024-11-06T20:12:19.639Z" }, + { url = "https://files.pythonhosted.org/packages/5c/93/c6d2092fd479dcaeea40fc8fa673822829181ded77d294a7f950f1dda6e2/regex-2024.11.6-cp39-cp39-musllinux_1_2_s390x.whl", hash = "sha256:684d7a212682996d21ca12ef3c17353c021fe9de6049e19ac8481ec35574a70f", size = 842622, upload-time = "2024-11-06T20:12:21.841Z" }, + { url = "https://files.pythonhosted.org/packages/ff/9c/daa99532c72f25051a90ef90e1413a8d54413a9e64614d9095b0c1c154d0/regex-2024.11.6-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:a03e02f48cd1abbd9f3b7e3586d97c8f7a9721c436f51a5245b3b9483044480b", size = 772713, upload-time = "2024-11-06T20:12:24.785Z" }, + { url = "https://files.pythonhosted.org/packages/13/5d/61a533ccb8c231b474ac8e3a7d70155b00dfc61af6cafdccd1947df6d735/regex-2024.11.6-cp39-cp39-win32.whl", hash = "sha256:41758407fc32d5c3c5de163888068cfee69cb4c2be844e7ac517a52770f9af57", size = 261756, upload-time = "2024-11-06T20:12:26.975Z" }, + { url = "https://files.pythonhosted.org/packages/dc/7b/e59b7f7c91ae110d154370c24133f947262525b5d6406df65f23422acc17/regex-2024.11.6-cp39-cp39-win_amd64.whl", hash = "sha256:b2837718570f95dd41675328e111345f9b7095d821bac435aac173ac80b19983", size = 274110, upload-time = "2024-11-06T20:12:29.368Z" }, ] [[package]] @@ -4281,9 +4281,9 @@ dependencies = [ { name = "urllib3", version = "2.2.3", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.9'" }, { name = "urllib3", version = "2.3.0", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.9'" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/63/70/2bf7780ad2d390a8d301ad0b550f1581eadbd9a20f896afe06353c2a2913/requests-2.32.3.tar.gz", hash = "sha256:55365417734eb18255590a9ff9eb97e9e1da868d4ccd6402399eaf68af20a760", size = 131218 } +sdist = { url = "https://files.pythonhosted.org/packages/63/70/2bf7780ad2d390a8d301ad0b550f1581eadbd9a20f896afe06353c2a2913/requests-2.32.3.tar.gz", hash = "sha256:55365417734eb18255590a9ff9eb97e9e1da868d4ccd6402399eaf68af20a760", size = 131218, upload-time = "2024-05-29T15:37:49.536Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/f9/9b/335f9764261e915ed497fcdeb11df5dfd6f7bf257d4a6a2a686d80da4d54/requests-2.32.3-py3-none-any.whl", hash = "sha256:70761cfe03c773ceb22aa2f671b4757976145175cdfca038c02654d061d6dcc6", size = 64928 }, + { url = "https://files.pythonhosted.org/packages/f9/9b/335f9764261e915ed497fcdeb11df5dfd6f7bf257d4a6a2a686d80da4d54/requests-2.32.3-py3-none-any.whl", hash = "sha256:70761cfe03c773ceb22aa2f671b4757976145175cdfca038c02654d061d6dcc6", size = 64928, upload-time = "2024-05-29T15:37:47.027Z" }, ] [[package]] @@ -4293,9 +4293,9 @@ source = { registry = "https://pypi.org/simple" } dependencies = [ { name = "requests" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/f3/61/d7545dafb7ac2230c70d38d31cbfe4cc64f7144dc41f6e4e4b78ecd9f5bb/requests-toolbelt-1.0.0.tar.gz", hash = "sha256:7681a0a3d047012b5bdc0ee37d7f8f07ebe76ab08caeccfc3921ce23c88d5bc6", size = 206888 } +sdist = { url = "https://files.pythonhosted.org/packages/f3/61/d7545dafb7ac2230c70d38d31cbfe4cc64f7144dc41f6e4e4b78ecd9f5bb/requests-toolbelt-1.0.0.tar.gz", hash = "sha256:7681a0a3d047012b5bdc0ee37d7f8f07ebe76ab08caeccfc3921ce23c88d5bc6", size = 206888, upload-time = "2023-05-01T04:11:33.229Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/3f/51/d4db610ef29373b879047326cbf6fa98b6c1969d6f6dc423279de2b1be2c/requests_toolbelt-1.0.0-py2.py3-none-any.whl", hash = "sha256:cccfdd665f0a24fcf4726e690f65639d272bb0637b9b92dfd91a5568ccf6bd06", size = 54481 }, + { url = "https://files.pythonhosted.org/packages/3f/51/d4db610ef29373b879047326cbf6fa98b6c1969d6f6dc423279de2b1be2c/requests_toolbelt-1.0.0-py2.py3-none-any.whl", hash = "sha256:cccfdd665f0a24fcf4726e690f65639d272bb0637b9b92dfd91a5568ccf6bd06", size = 54481, upload-time = "2023-05-01T04:11:28.427Z" }, ] [[package]] @@ -4305,27 +4305,27 @@ source = { registry = "https://pypi.org/simple" } dependencies = [ { name = "six" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/28/ea/a9387748e2d111c3c2b275ba970b735e04e15cdb1eb30693b6b5708c4dbd/rfc3339_validator-0.1.4.tar.gz", hash = "sha256:138a2abdf93304ad60530167e51d2dfb9549521a836871b88d7f4695d0022f6b", size = 5513 } +sdist = { url = "https://files.pythonhosted.org/packages/28/ea/a9387748e2d111c3c2b275ba970b735e04e15cdb1eb30693b6b5708c4dbd/rfc3339_validator-0.1.4.tar.gz", hash = "sha256:138a2abdf93304ad60530167e51d2dfb9549521a836871b88d7f4695d0022f6b", size = 5513, upload-time = "2021-05-12T16:37:54.178Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/7b/44/4e421b96b67b2daff264473f7465db72fbdf36a07e05494f50300cc7b0c6/rfc3339_validator-0.1.4-py2.py3-none-any.whl", hash = "sha256:24f6ec1eda14ef823da9e36ec7113124b39c04d50a4d3d3a3c2859577e7791fa", size = 3490 }, + { url = "https://files.pythonhosted.org/packages/7b/44/4e421b96b67b2daff264473f7465db72fbdf36a07e05494f50300cc7b0c6/rfc3339_validator-0.1.4-py2.py3-none-any.whl", hash = "sha256:24f6ec1eda14ef823da9e36ec7113124b39c04d50a4d3d3a3c2859577e7791fa", size = 3490, upload-time = "2021-05-12T16:37:52.536Z" }, ] [[package]] name = "rfc3986" version = "2.0.0" source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/85/40/1520d68bfa07ab5a6f065a186815fb6610c86fe957bc065754e47f7b0840/rfc3986-2.0.0.tar.gz", hash = "sha256:97aacf9dbd4bfd829baad6e6309fa6573aaf1be3f6fa735c8ab05e46cecb261c", size = 49026 } +sdist = { url = "https://files.pythonhosted.org/packages/85/40/1520d68bfa07ab5a6f065a186815fb6610c86fe957bc065754e47f7b0840/rfc3986-2.0.0.tar.gz", hash = "sha256:97aacf9dbd4bfd829baad6e6309fa6573aaf1be3f6fa735c8ab05e46cecb261c", size = 49026, upload-time = "2022-01-10T00:52:30.832Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/ff/9a/9afaade874b2fa6c752c36f1548f718b5b83af81ed9b76628329dab81c1b/rfc3986-2.0.0-py2.py3-none-any.whl", hash = "sha256:50b1502b60e289cb37883f3dfd34532b8873c7de9f49bb546641ce9cbd256ebd", size = 31326 }, + { url = "https://files.pythonhosted.org/packages/ff/9a/9afaade874b2fa6c752c36f1548f718b5b83af81ed9b76628329dab81c1b/rfc3986-2.0.0-py2.py3-none-any.whl", hash = "sha256:50b1502b60e289cb37883f3dfd34532b8873c7de9f49bb546641ce9cbd256ebd", size = 31326, upload-time = "2022-01-10T00:52:29.594Z" }, ] [[package]] name = "rfc3986-validator" version = "0.1.1" source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/da/88/f270de456dd7d11dcc808abfa291ecdd3f45ff44e3b549ffa01b126464d0/rfc3986_validator-0.1.1.tar.gz", hash = "sha256:3d44bde7921b3b9ec3ae4e3adca370438eccebc676456449b145d533b240d055", size = 6760 } +sdist = { url = "https://files.pythonhosted.org/packages/da/88/f270de456dd7d11dcc808abfa291ecdd3f45ff44e3b549ffa01b126464d0/rfc3986_validator-0.1.1.tar.gz", hash = "sha256:3d44bde7921b3b9ec3ae4e3adca370438eccebc676456449b145d533b240d055", size = 6760, upload-time = "2019-10-28T16:00:19.144Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/9e/51/17023c0f8f1869d8806b979a2bffa3f861f26a3f1a66b094288323fba52f/rfc3986_validator-0.1.1-py2.py3-none-any.whl", hash = "sha256:2f235c432ef459970b4306369336b9d5dbdda31b510ca1e327636e01f528bfa9", size = 4242 }, + { url = "https://files.pythonhosted.org/packages/9e/51/17023c0f8f1869d8806b979a2bffa3f861f26a3f1a66b094288323fba52f/rfc3986_validator-0.1.1-py2.py3-none-any.whl", hash = "sha256:2f235c432ef459970b4306369336b9d5dbdda31b510ca1e327636e01f528bfa9", size = 4242, upload-time = "2019-10-28T16:00:13.976Z" }, ] [[package]] @@ -4337,9 +4337,9 @@ dependencies = [ { name = "pygments" }, { name = "typing-extensions", marker = "python_full_version < '3.11'" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/ab/3a/0316b28d0761c6734d6bc14e770d85506c986c85ffb239e688eeaab2c2bc/rich-13.9.4.tar.gz", hash = "sha256:439594978a49a09530cff7ebc4b5c7103ef57baf48d5ea3184f21d9a2befa098", size = 223149 } +sdist = { url = "https://files.pythonhosted.org/packages/ab/3a/0316b28d0761c6734d6bc14e770d85506c986c85ffb239e688eeaab2c2bc/rich-13.9.4.tar.gz", hash = "sha256:439594978a49a09530cff7ebc4b5c7103ef57baf48d5ea3184f21d9a2befa098", size = 223149, upload-time = "2024-11-01T16:43:57.873Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/19/71/39c7c0d87f8d4e6c020a393182060eaefeeae6c01dab6a84ec346f2567df/rich-13.9.4-py3-none-any.whl", hash = "sha256:6049d5e6ec054bf2779ab3358186963bac2ea89175919d699e378b99738c2a90", size = 242424 }, + { url = "https://files.pythonhosted.org/packages/19/71/39c7c0d87f8d4e6c020a393182060eaefeeae6c01dab6a84ec346f2567df/rich-13.9.4-py3-none-any.whl", hash = "sha256:6049d5e6ec054bf2779ab3358186963bac2ea89175919d699e378b99738c2a90", size = 242424, upload-time = "2024-11-01T16:43:55.817Z" }, ] [[package]] @@ -4351,110 +4351,110 @@ resolution-markers = [ "python_full_version < '3.9' and platform_machine == 'aarch64' and sys_platform == 'linux'", "(python_full_version < '3.9' and platform_machine != 'arm64' and sys_platform == 'darwin') or (python_full_version < '3.9' and platform_machine != 'aarch64' and sys_platform == 'linux') or (python_full_version < '3.9' and sys_platform != 'darwin' and sys_platform != 'linux')", ] -sdist = { url = "https://files.pythonhosted.org/packages/25/cb/8e919951f55d109d658f81c9b49d0cc3b48637c50792c5d2e77032b8c5da/rpds_py-0.20.1.tar.gz", hash = "sha256:e1791c4aabd117653530dccd24108fa03cc6baf21f58b950d0a73c3b3b29a350", size = 25931 } -wheels = [ - { url = "https://files.pythonhosted.org/packages/ae/0e/d7e7e9280988a7bc56fd326042baca27f4f55fad27dc8aa64e5e0e894e5d/rpds_py-0.20.1-cp310-cp310-macosx_10_12_x86_64.whl", hash = "sha256:a649dfd735fff086e8a9d0503a9f0c7d01b7912a333c7ae77e1515c08c146dad", size = 327335 }, - { url = "https://files.pythonhosted.org/packages/4c/72/027185f213d53ae66765c575229829b202fbacf3d55fe2bd9ff4e29bb157/rpds_py-0.20.1-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:f16bc1334853e91ddaaa1217045dd7be166170beec337576818461268a3de67f", size = 318250 }, - { url = "https://files.pythonhosted.org/packages/2b/e7/b4eb3e6ff541c83d3b46f45f855547e412ab60c45bef64520fafb00b9b42/rpds_py-0.20.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:14511a539afee6f9ab492b543060c7491c99924314977a55c98bfa2ee29ce78c", size = 361206 }, - { url = "https://files.pythonhosted.org/packages/e7/80/cb9a4b4cad31bcaa37f38dae7a8be861f767eb2ca4f07a146b5ffcfbee09/rpds_py-0.20.1-cp310-cp310-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:3ccb8ac2d3c71cda472b75af42818981bdacf48d2e21c36331b50b4f16930163", size = 369921 }, - { url = "https://files.pythonhosted.org/packages/95/1b/463b11e7039e18f9e778568dbf7338c29bbc1f8996381115201c668eb8c8/rpds_py-0.20.1-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:c142b88039b92e7e0cb2552e8967077e3179b22359e945574f5e2764c3953dcf", size = 403673 }, - { url = "https://files.pythonhosted.org/packages/86/98/1ef4028e9d5b76470bf7f8f2459be07ac5c9621270a2a5e093f8d8a8cc2c/rpds_py-0.20.1-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:f19169781dddae7478a32301b499b2858bc52fc45a112955e798ee307e294977", size = 430267 }, - { url = "https://files.pythonhosted.org/packages/25/8e/41d7e3e6d3a4a6c94375020477705a3fbb6515717901ab8f94821cf0a0d9/rpds_py-0.20.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:13c56de6518e14b9bf6edde23c4c39dac5b48dcf04160ea7bce8fca8397cdf86", size = 360569 }, - { url = "https://files.pythonhosted.org/packages/4f/6a/8839340464d4e1bbfaf0482e9d9165a2309c2c17427e4dcb72ce3e5cc5d6/rpds_py-0.20.1-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:925d176a549f4832c6f69fa6026071294ab5910e82a0fe6c6228fce17b0706bd", size = 382584 }, - { url = "https://files.pythonhosted.org/packages/64/96/7a7f938d3796a6a3ec08ed0e8a5ecd436fbd516a3684ab1fa22d46d6f6cc/rpds_py-0.20.1-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:78f0b6877bfce7a3d1ff150391354a410c55d3cdce386f862926a4958ad5ab7e", size = 546560 }, - { url = "https://files.pythonhosted.org/packages/15/c7/19fb4f1247a3c90a99eca62909bf76ee988f9b663e47878a673d9854ec5c/rpds_py-0.20.1-cp310-cp310-musllinux_1_2_i686.whl", hash = "sha256:3dd645e2b0dcb0fd05bf58e2e54c13875847687d0b71941ad2e757e5d89d4356", size = 549359 }, - { url = "https://files.pythonhosted.org/packages/d2/4c/445eb597a39a883368ea2f341dd6e48a9d9681b12ebf32f38a827b30529b/rpds_py-0.20.1-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:4f676e21db2f8c72ff0936f895271e7a700aa1f8d31b40e4e43442ba94973899", size = 527567 }, - { url = "https://files.pythonhosted.org/packages/4f/71/4c44643bffbcb37311fc7fe221bcf139c8d660bc78f746dd3a05741372c8/rpds_py-0.20.1-cp310-none-win32.whl", hash = "sha256:648386ddd1e19b4a6abab69139b002bc49ebf065b596119f8f37c38e9ecee8ff", size = 200412 }, - { url = "https://files.pythonhosted.org/packages/f4/33/9d0529d74099e090ec9ab15eb0a049c56cca599eaaca71bfedbdbca656a9/rpds_py-0.20.1-cp310-none-win_amd64.whl", hash = "sha256:d9ecb51120de61e4604650666d1f2b68444d46ae18fd492245a08f53ad2b7711", size = 218563 }, - { url = "https://files.pythonhosted.org/packages/a0/2e/a6ded84019a05b8f23e0fe6a632f62ae438a8c5e5932d3dfc90c73418414/rpds_py-0.20.1-cp311-cp311-macosx_10_12_x86_64.whl", hash = "sha256:762703bdd2b30983c1d9e62b4c88664df4a8a4d5ec0e9253b0231171f18f6d75", size = 327194 }, - { url = "https://files.pythonhosted.org/packages/68/11/d3f84c69de2b2086be3d6bd5e9d172825c096b13842ab7e5f8f39f06035b/rpds_py-0.20.1-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:0b581f47257a9fce535c4567782a8976002d6b8afa2c39ff616edf87cbeff712", size = 318126 }, - { url = "https://files.pythonhosted.org/packages/18/c0/13f1bce9c901511e5e4c0b77a99dbb946bb9a177ca88c6b480e9cb53e304/rpds_py-0.20.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:842c19a6ce894493563c3bd00d81d5100e8e57d70209e84d5491940fdb8b9e3a", size = 361119 }, - { url = "https://files.pythonhosted.org/packages/06/31/3bd721575671f22a37476c2d7b9e34bfa5185bdcee09f7fedde3b29f3adb/rpds_py-0.20.1-cp311-cp311-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:42cbde7789f5c0bcd6816cb29808e36c01b960fb5d29f11e052215aa85497c93", size = 369532 }, - { url = "https://files.pythonhosted.org/packages/20/22/3eeb0385f33251b4fd0f728e6a3801dc8acc05e714eb7867cefe635bf4ab/rpds_py-0.20.1-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:6c8e9340ce5a52f95fa7d3b552b35c7e8f3874d74a03a8a69279fd5fca5dc751", size = 403703 }, - { url = "https://files.pythonhosted.org/packages/10/e1/8dde6174e7ac5b9acd3269afca2e17719bc7e5088c68f44874d2ad9e4560/rpds_py-0.20.1-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:8ba6f89cac95c0900d932c9efb7f0fb6ca47f6687feec41abcb1bd5e2bd45535", size = 429868 }, - { url = "https://files.pythonhosted.org/packages/19/51/a3cc1a5238acfc2582033e8934d034301f9d4931b9bf7c7ccfabc4ca0880/rpds_py-0.20.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:4a916087371afd9648e1962e67403c53f9c49ca47b9680adbeef79da3a7811b0", size = 360539 }, - { url = "https://files.pythonhosted.org/packages/cd/8c/3c87471a44bd4114e2b0aec90f298f6caaac4e8db6af904d5dd2279f5c61/rpds_py-0.20.1-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:200a23239781f46149e6a415f1e870c5ef1e712939fe8fa63035cd053ac2638e", size = 382467 }, - { url = "https://files.pythonhosted.org/packages/d0/9b/95073fe3e0f130e6d561e106818b6568ef1f2df3352e7f162ab912da837c/rpds_py-0.20.1-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:58b1d5dd591973d426cbb2da5e27ba0339209832b2f3315928c9790e13f159e8", size = 546669 }, - { url = "https://files.pythonhosted.org/packages/de/4c/7ab3669e02bb06fedebcfd64d361b7168ba39dfdf385e4109440f2e7927b/rpds_py-0.20.1-cp311-cp311-musllinux_1_2_i686.whl", hash = "sha256:6b73c67850ca7cae0f6c56f71e356d7e9fa25958d3e18a64927c2d930859b8e4", size = 549304 }, - { url = "https://files.pythonhosted.org/packages/f1/e8/ad5da336cd42adbdafe0ecd40dcecdae01fd3d703c621c7637615a008d3a/rpds_py-0.20.1-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:d8761c3c891cc51e90bc9926d6d2f59b27beaf86c74622c8979380a29cc23ac3", size = 527637 }, - { url = "https://files.pythonhosted.org/packages/02/f1/1b47b9e5b941c2659c9b7e4ef41b6f07385a6500c638fa10c066e4616ecb/rpds_py-0.20.1-cp311-none-win32.whl", hash = "sha256:cd945871335a639275eee904caef90041568ce3b42f402c6959b460d25ae8732", size = 200488 }, - { url = "https://files.pythonhosted.org/packages/85/f6/c751c1adfa31610055acfa1cc667cf2c2d7011a73070679c448cf5856905/rpds_py-0.20.1-cp311-none-win_amd64.whl", hash = "sha256:7e21b7031e17c6b0e445f42ccc77f79a97e2687023c5746bfb7a9e45e0921b84", size = 218475 }, - { url = "https://files.pythonhosted.org/packages/e7/10/4e8dcc08b58a548098dbcee67a4888751a25be7a6dde0a83d4300df48bfa/rpds_py-0.20.1-cp312-cp312-macosx_10_12_x86_64.whl", hash = "sha256:36785be22066966a27348444b40389f8444671630063edfb1a2eb04318721e17", size = 329749 }, - { url = "https://files.pythonhosted.org/packages/d2/e4/61144f3790e12fd89e6153d77f7915ad26779735fef8ee9c099cba6dfb4a/rpds_py-0.20.1-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:142c0a5124d9bd0e2976089484af5c74f47bd3298f2ed651ef54ea728d2ea42c", size = 321032 }, - { url = "https://files.pythonhosted.org/packages/fa/e0/99205aabbf3be29ef6c58ef9b08feed51ba6532fdd47461245cb58dd9897/rpds_py-0.20.1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:dbddc10776ca7ebf2a299c41a4dde8ea0d8e3547bfd731cb87af2e8f5bf8962d", size = 363931 }, - { url = "https://files.pythonhosted.org/packages/ac/bd/bce2dddb518b13a7e77eed4be234c9af0c9c6d403d01c5e6ae8eb447ab62/rpds_py-0.20.1-cp312-cp312-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:15a842bb369e00295392e7ce192de9dcbf136954614124a667f9f9f17d6a216f", size = 373343 }, - { url = "https://files.pythonhosted.org/packages/43/15/112b7c553066cb91264691ba7fb119579c440a0ae889da222fa6fc0d411a/rpds_py-0.20.1-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:be5ef2f1fc586a7372bfc355986226484e06d1dc4f9402539872c8bb99e34b01", size = 406304 }, - { url = "https://files.pythonhosted.org/packages/af/8d/2da52aef8ae5494a382b0c0025ba5b68f2952db0f2a4c7534580e8ca83cc/rpds_py-0.20.1-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:dbcf360c9e3399b056a238523146ea77eeb2a596ce263b8814c900263e46031a", size = 423022 }, - { url = "https://files.pythonhosted.org/packages/c8/1b/f23015cb293927c93bdb4b94a48bfe77ad9d57359c75db51f0ff0cf482ff/rpds_py-0.20.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ecd27a66740ffd621d20b9a2f2b5ee4129a56e27bfb9458a3bcc2e45794c96cb", size = 364937 }, - { url = "https://files.pythonhosted.org/packages/7b/8b/6da8636b2ea2e2f709e56656e663b6a71ecd9a9f9d9dc21488aade122026/rpds_py-0.20.1-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:d0b937b2a1988f184a3e9e577adaa8aede21ec0b38320d6009e02bd026db04fa", size = 386301 }, - { url = "https://files.pythonhosted.org/packages/20/af/2ae192797bffd0d6d558145b5a36e7245346ff3e44f6ddcb82f0eb8512d4/rpds_py-0.20.1-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:6889469bfdc1eddf489729b471303739bf04555bb151fe8875931f8564309afc", size = 549452 }, - { url = "https://files.pythonhosted.org/packages/07/dd/9f6520712a5108cd7d407c9db44a3d59011b385c58e320d58ebf67757a9e/rpds_py-0.20.1-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:19b73643c802f4eaf13d97f7855d0fb527fbc92ab7013c4ad0e13a6ae0ed23bd", size = 554370 }, - { url = "https://files.pythonhosted.org/packages/5e/0e/b1bdc7ea0db0946d640ab8965146099093391bb5d265832994c47461e3c5/rpds_py-0.20.1-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:3c6afcf2338e7f374e8edc765c79fbcb4061d02b15dd5f8f314a4af2bdc7feb5", size = 530940 }, - { url = "https://files.pythonhosted.org/packages/ae/d3/ffe907084299484fab60a7955f7c0e8a295c04249090218c59437010f9f4/rpds_py-0.20.1-cp312-none-win32.whl", hash = "sha256:dc73505153798c6f74854aba69cc75953888cf9866465196889c7cdd351e720c", size = 203164 }, - { url = "https://files.pythonhosted.org/packages/1f/ba/9cbb57423c4bfbd81c473913bebaed151ad4158ee2590a4e4b3e70238b48/rpds_py-0.20.1-cp312-none-win_amd64.whl", hash = "sha256:8bbe951244a838a51289ee53a6bae3a07f26d4e179b96fc7ddd3301caf0518eb", size = 220750 }, - { url = "https://files.pythonhosted.org/packages/b5/01/fee2e1d1274c92fff04aa47d805a28d62c2aa971d1f49f5baea1c6e670d9/rpds_py-0.20.1-cp313-cp313-macosx_10_12_x86_64.whl", hash = "sha256:6ca91093a4a8da4afae7fe6a222c3b53ee4eef433ebfee4d54978a103435159e", size = 329359 }, - { url = "https://files.pythonhosted.org/packages/b0/cf/4aeffb02b7090029d7aeecbffb9a10e1c80f6f56d7e9a30e15481dc4099c/rpds_py-0.20.1-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:b9c2fe36d1f758b28121bef29ed1dee9b7a2453e997528e7d1ac99b94892527c", size = 320543 }, - { url = "https://files.pythonhosted.org/packages/17/69/85cf3429e9ccda684ba63ff36b5866d5f9451e921cc99819341e19880334/rpds_py-0.20.1-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:f009c69bc8c53db5dfab72ac760895dc1f2bc1b62ab7408b253c8d1ec52459fc", size = 363107 }, - { url = "https://files.pythonhosted.org/packages/ef/de/7df88dea9c3eeb832196d23b41f0f6fc5f9a2ee9b2080bbb1db8731ead9c/rpds_py-0.20.1-cp313-cp313-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:6740a3e8d43a32629bb9b009017ea5b9e713b7210ba48ac8d4cb6d99d86c8ee8", size = 372027 }, - { url = "https://files.pythonhosted.org/packages/d1/b8/88675399d2038580743c570a809c43a900e7090edc6553f8ffb66b23c965/rpds_py-0.20.1-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:32b922e13d4c0080d03e7b62991ad7f5007d9cd74e239c4b16bc85ae8b70252d", size = 405031 }, - { url = "https://files.pythonhosted.org/packages/e1/aa/cca639f6d17caf00bab51bdc70fcc0bdda3063e5662665c4fdf60443c474/rpds_py-0.20.1-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:fe00a9057d100e69b4ae4a094203a708d65b0f345ed546fdef86498bf5390982", size = 422271 }, - { url = "https://files.pythonhosted.org/packages/c4/07/bf8a949d2ec4626c285579c9d6b356c692325f1a4126e947736b416e1fc4/rpds_py-0.20.1-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:49fe9b04b6fa685bd39237d45fad89ba19e9163a1ccaa16611a812e682913496", size = 363625 }, - { url = "https://files.pythonhosted.org/packages/11/f0/06675c6a58d6ce34547879138810eb9aab0c10e5607ea6c2e4dc56b703c8/rpds_py-0.20.1-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:aa7ac11e294304e615b43f8c441fee5d40094275ed7311f3420d805fde9b07b4", size = 385906 }, - { url = "https://files.pythonhosted.org/packages/bf/ac/2d1f50374eb8e41030fad4e87f81751e1c39e3b5d4bee8c5618830d8a6ac/rpds_py-0.20.1-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:6aa97af1558a9bef4025f8f5d8c60d712e0a3b13a2fe875511defc6ee77a1ab7", size = 549021 }, - { url = "https://files.pythonhosted.org/packages/f7/d4/a7d70a7cc71df772eeadf4bce05e32e780a9fe44a511a5b091c7a85cb767/rpds_py-0.20.1-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:483b29f6f7ffa6af845107d4efe2e3fa8fb2693de8657bc1849f674296ff6a5a", size = 553800 }, - { url = "https://files.pythonhosted.org/packages/87/81/dc30bc449ccba63ad23a0f6633486d4e0e6955f45f3715a130dacabd6ad0/rpds_py-0.20.1-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:37fe0f12aebb6a0e3e17bb4cd356b1286d2d18d2e93b2d39fe647138458b4bcb", size = 531076 }, - { url = "https://files.pythonhosted.org/packages/50/80/fb62ab48f3b5cfe704ead6ad372da1922ddaa76397055e02eb507054c979/rpds_py-0.20.1-cp313-none-win32.whl", hash = "sha256:a624cc00ef2158e04188df5e3016385b9353638139a06fb77057b3498f794782", size = 202804 }, - { url = "https://files.pythonhosted.org/packages/d9/30/a3391e76d0b3313f33bdedd394a519decae3a953d2943e3dabf80ae32447/rpds_py-0.20.1-cp313-none-win_amd64.whl", hash = "sha256:b71b8666eeea69d6363248822078c075bac6ed135faa9216aa85f295ff009b1e", size = 220502 }, - { url = "https://files.pythonhosted.org/packages/53/ef/b1883734ea0cd9996de793cdc38c32a28143b04911d1e570090acd8a9162/rpds_py-0.20.1-cp38-cp38-macosx_10_12_x86_64.whl", hash = "sha256:5b48e790e0355865197ad0aca8cde3d8ede347831e1959e158369eb3493d2191", size = 327757 }, - { url = "https://files.pythonhosted.org/packages/54/63/47d34dc4ddb3da73e78e10c9009dcf8edc42d355a221351c05c822c2a50b/rpds_py-0.20.1-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:3e310838a5801795207c66c73ea903deda321e6146d6f282e85fa7e3e4854804", size = 318785 }, - { url = "https://files.pythonhosted.org/packages/f7/e1/d6323be4afbe3013f28725553b7bfa80b3f013f91678af258f579f8ea8f9/rpds_py-0.20.1-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:2249280b870e6a42c0d972339e9cc22ee98730a99cd7f2f727549af80dd5a963", size = 361511 }, - { url = "https://files.pythonhosted.org/packages/ab/d3/c40e4d9ecd571f0f50fe69bc53fe608d7b2c49b30738b480044990260838/rpds_py-0.20.1-cp38-cp38-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:e79059d67bea28b53d255c1437b25391653263f0e69cd7dec170d778fdbca95e", size = 370201 }, - { url = "https://files.pythonhosted.org/packages/f1/b6/96a4a9977a8a06c2c49d90aa571346aff1642abf15066a39a0b4817bf049/rpds_py-0.20.1-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:2b431c777c9653e569986ecf69ff4a5dba281cded16043d348bf9ba505486f36", size = 403866 }, - { url = "https://files.pythonhosted.org/packages/cd/8f/702b52287949314b498a311f92b5ee0ba30c702a27e0e6b560e2da43b8d5/rpds_py-0.20.1-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:da584ff96ec95e97925174eb8237e32f626e7a1a97888cdd27ee2f1f24dd0ad8", size = 430163 }, - { url = "https://files.pythonhosted.org/packages/c4/ce/af016c81fda833bf125b20d1677d816f230cad2ab189f46bcbfea3c7a375/rpds_py-0.20.1-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:02a0629ec053fc013808a85178524e3cb63a61dbc35b22499870194a63578fb9", size = 360776 }, - { url = "https://files.pythonhosted.org/packages/08/a7/988e179c9bef55821abe41762228d65077e0570ca75c9efbcd1bc6e263b4/rpds_py-0.20.1-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:fbf15aff64a163db29a91ed0868af181d6f68ec1a3a7d5afcfe4501252840bad", size = 383008 }, - { url = "https://files.pythonhosted.org/packages/96/b0/e4077f7f1b9622112ae83254aedfb691490278793299bc06dcf54ec8c8e4/rpds_py-0.20.1-cp38-cp38-musllinux_1_2_aarch64.whl", hash = "sha256:07924c1b938798797d60c6308fa8ad3b3f0201802f82e4a2c41bb3fafb44cc28", size = 546371 }, - { url = "https://files.pythonhosted.org/packages/e4/5e/1d4dd08ec0352cfe516ea93ea1993c2f656f893c87dafcd9312bd07f65f7/rpds_py-0.20.1-cp38-cp38-musllinux_1_2_i686.whl", hash = "sha256:4a5a844f68776a7715ecb30843b453f07ac89bad393431efbf7accca3ef599c1", size = 549809 }, - { url = "https://files.pythonhosted.org/packages/57/ac/a716b4729ff23ec034b7d2ff76a86e6f0753c4098401bdfdf55b2efe90e6/rpds_py-0.20.1-cp38-cp38-musllinux_1_2_x86_64.whl", hash = "sha256:518d2ca43c358929bf08f9079b617f1c2ca6e8848f83c1225c88caeac46e6cbc", size = 528492 }, - { url = "https://files.pythonhosted.org/packages/e0/ed/a0b58a9ecef79918169eacdabd14eb4c5c86ce71184ed56b80c6eb425828/rpds_py-0.20.1-cp38-none-win32.whl", hash = "sha256:3aea7eed3e55119635a74bbeb80b35e776bafccb70d97e8ff838816c124539f1", size = 200512 }, - { url = "https://files.pythonhosted.org/packages/5f/c3/222e25124283afc76c473fcd2c547e82ec57683fa31cb4d6c6eb44e5d57a/rpds_py-0.20.1-cp38-none-win_amd64.whl", hash = "sha256:7dca7081e9a0c3b6490a145593f6fe3173a94197f2cb9891183ef75e9d64c425", size = 218627 }, - { url = "https://files.pythonhosted.org/packages/d6/87/e7e0fcbfdc0d0e261534bcc885f6ae6253095b972e32f8b8b1278c78a2a9/rpds_py-0.20.1-cp39-cp39-macosx_10_12_x86_64.whl", hash = "sha256:b41b6321805c472f66990c2849e152aff7bc359eb92f781e3f606609eac877ad", size = 327867 }, - { url = "https://files.pythonhosted.org/packages/93/a0/17836b7961fc82586e9b818abdee2a27e2e605a602bb8c0d43f02092f8c2/rpds_py-0.20.1-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:0a90c373ea2975519b58dece25853dbcb9779b05cc46b4819cb1917e3b3215b6", size = 318893 }, - { url = "https://files.pythonhosted.org/packages/dc/03/deb81d8ea3a8b974e7b03cfe8c8c26616ef8f4980dd430d8dd0a2f1b4d8e/rpds_py-0.20.1-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:16d4477bcb9fbbd7b5b0e4a5d9b493e42026c0bf1f06f723a9353f5153e75d30", size = 361664 }, - { url = "https://files.pythonhosted.org/packages/16/49/d9938603731745c7b6babff97ca61ff3eb4619e7128b5ab0111ad4e91d6d/rpds_py-0.20.1-cp39-cp39-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:84b8382a90539910b53a6307f7c35697bc7e6ffb25d9c1d4e998a13e842a5e83", size = 369796 }, - { url = "https://files.pythonhosted.org/packages/87/d2/480b36c69cdc373853401b6aab6a281cf60f6d72b1545d82c0d23d9dd77c/rpds_py-0.20.1-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:4888e117dd41b9d34194d9e31631af70d3d526efc363085e3089ab1a62c32ed1", size = 403860 }, - { url = "https://files.pythonhosted.org/packages/31/7c/f6d909cb57761293308dbef14f1663d84376f2e231892a10aafc57b42037/rpds_py-0.20.1-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:5265505b3d61a0f56618c9b941dc54dc334dc6e660f1592d112cd103d914a6db", size = 430793 }, - { url = "https://files.pythonhosted.org/packages/d4/62/c9bd294c4b5f84d9cc2c387b548ae53096ad7e71ac5b02b6310e9dc85aa4/rpds_py-0.20.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:e75ba609dba23f2c95b776efb9dd3f0b78a76a151e96f96cc5b6b1b0004de66f", size = 360927 }, - { url = "https://files.pythonhosted.org/packages/c1/a7/15d927d83a44da8307a432b1cac06284b6657706d099a98cc99fec34ad51/rpds_py-0.20.1-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:1791ff70bc975b098fe6ecf04356a10e9e2bd7dc21fa7351c1742fdeb9b4966f", size = 382660 }, - { url = "https://files.pythonhosted.org/packages/4c/28/0630719c18456238bb07d59c4302fed50a13aa8035ec23dbfa80d116f9bc/rpds_py-0.20.1-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:d126b52e4a473d40232ec2052a8b232270ed1f8c9571aaf33f73a14cc298c24f", size = 546888 }, - { url = "https://files.pythonhosted.org/packages/b9/75/3c9bda11b9c15d680b315f898af23825159314d4b56568f24b53ace8afcd/rpds_py-0.20.1-cp39-cp39-musllinux_1_2_i686.whl", hash = "sha256:c14937af98c4cc362a1d4374806204dd51b1e12dded1ae30645c298e5a5c4cb1", size = 550088 }, - { url = "https://files.pythonhosted.org/packages/70/f1/8fe7d04c194218171220a412057429defa9e2da785de0777c4d39309337e/rpds_py-0.20.1-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:3d089d0b88996df627693639d123c8158cff41c0651f646cd8fd292c7da90eaf", size = 528270 }, - { url = "https://files.pythonhosted.org/packages/d6/62/41b0020f4b00af042b008e679dbe25a2f5bce655139a81f8b812f9068e52/rpds_py-0.20.1-cp39-none-win32.whl", hash = "sha256:653647b8838cf83b2e7e6a0364f49af96deec64d2a6578324db58380cff82aca", size = 200658 }, - { url = "https://files.pythonhosted.org/packages/05/01/e64bb8889f2dcc951e53de33d8b8070456397ae4e10edc35e6cb9908f5c8/rpds_py-0.20.1-cp39-none-win_amd64.whl", hash = "sha256:fa41a64ac5b08b292906e248549ab48b69c5428f3987b09689ab2441f267d04d", size = 218883 }, - { url = "https://files.pythonhosted.org/packages/b6/fa/7959429e69569d0f6e7d27f80451402da0409349dd2b07f6bcbdd5fad2d3/rpds_py-0.20.1-pp310-pypy310_pp73-macosx_10_12_x86_64.whl", hash = "sha256:7a07ced2b22f0cf0b55a6a510078174c31b6d8544f3bc00c2bcee52b3d613f74", size = 328209 }, - { url = "https://files.pythonhosted.org/packages/25/97/5dfdb091c30267ff404d2fd9e70c7a6d6ffc65ca77fffe9456e13b719066/rpds_py-0.20.1-pp310-pypy310_pp73-macosx_11_0_arm64.whl", hash = "sha256:68cb0a499f2c4a088fd2f521453e22ed3527154136a855c62e148b7883b99f9a", size = 319499 }, - { url = "https://files.pythonhosted.org/packages/7c/98/cf2608722400f5f9bb4c82aa5ac09026f3ac2ebea9d4059d3533589ed0b6/rpds_py-0.20.1-pp310-pypy310_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:fa3060d885657abc549b2a0f8e1b79699290e5d83845141717c6c90c2df38311", size = 361795 }, - { url = "https://files.pythonhosted.org/packages/89/de/0e13dd43c785c60e63933e96fbddda0b019df6862f4d3019bb49c3861131/rpds_py-0.20.1-pp310-pypy310_pp73-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:95f3b65d2392e1c5cec27cff08fdc0080270d5a1a4b2ea1d51d5f4a2620ff08d", size = 370604 }, - { url = "https://files.pythonhosted.org/packages/8a/fc/fe3c83c77f82b8059eeec4e998064913d66212b69b3653df48f58ad33d3d/rpds_py-0.20.1-pp310-pypy310_pp73-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:2cc3712a4b0b76a1d45a9302dd2f53ff339614b1c29603a911318f2357b04dd2", size = 404177 }, - { url = "https://files.pythonhosted.org/packages/94/30/5189518bfb80a41f664daf32b46645c7fbdcc89028a0f1bfa82e806e0fbb/rpds_py-0.20.1-pp310-pypy310_pp73-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:5d4eea0761e37485c9b81400437adb11c40e13ef513375bbd6973e34100aeb06", size = 430108 }, - { url = "https://files.pythonhosted.org/packages/67/0e/6f069feaff5c298375cd8c55e00ecd9bd79c792ce0893d39448dc0097857/rpds_py-0.20.1-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:7f5179583d7a6cdb981151dd349786cbc318bab54963a192692d945dd3f6435d", size = 361184 }, - { url = "https://files.pythonhosted.org/packages/27/9f/ce3e2ae36f392c3ef1988c06e9e0b4c74f64267dad7c223003c34da11adb/rpds_py-0.20.1-pp310-pypy310_pp73-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:2fbb0ffc754490aff6dabbf28064be47f0f9ca0b9755976f945214965b3ace7e", size = 384140 }, - { url = "https://files.pythonhosted.org/packages/5f/d5/89d44504d0bc7a1135062cb520a17903ff002f458371b8d9160af3b71e52/rpds_py-0.20.1-pp310-pypy310_pp73-musllinux_1_2_aarch64.whl", hash = "sha256:a94e52537a0e0a85429eda9e49f272ada715506d3b2431f64b8a3e34eb5f3e75", size = 546589 }, - { url = "https://files.pythonhosted.org/packages/8f/8f/e1c2db4fcca3947d9a28ec9553700b4dc8038f0eff575f579e75885b0661/rpds_py-0.20.1-pp310-pypy310_pp73-musllinux_1_2_i686.whl", hash = "sha256:92b68b79c0da2a980b1c4197e56ac3dd0c8a149b4603747c4378914a68706979", size = 550059 }, - { url = "https://files.pythonhosted.org/packages/67/29/00a9e986df36721b5def82fff60995c1ee8827a7d909a6ec8929fb4cc668/rpds_py-0.20.1-pp310-pypy310_pp73-musllinux_1_2_x86_64.whl", hash = "sha256:93da1d3db08a827eda74356f9f58884adb254e59b6664f64cc04cdff2cc19b0d", size = 529131 }, - { url = "https://files.pythonhosted.org/packages/a3/32/95364440560ec476b19c6a2704259e710c223bf767632ebaa72cc2a1760f/rpds_py-0.20.1-pp310-pypy310_pp73-win_amd64.whl", hash = "sha256:754bbed1a4ca48479e9d4182a561d001bbf81543876cdded6f695ec3d465846b", size = 219677 }, - { url = "https://files.pythonhosted.org/packages/ed/bf/ad8492e972c90a3d48a38e2b5095c51a8399d5b57e83f2d5d1649490f72b/rpds_py-0.20.1-pp39-pypy39_pp73-macosx_10_12_x86_64.whl", hash = "sha256:ca449520e7484534a2a44faf629362cae62b660601432d04c482283c47eaebab", size = 328046 }, - { url = "https://files.pythonhosted.org/packages/75/fd/84f42386165d6d555acb76c6d39c90b10c9dcf25116daf4f48a0a9d6867a/rpds_py-0.20.1-pp39-pypy39_pp73-macosx_11_0_arm64.whl", hash = "sha256:9c4cb04a16b0f199a8c9bf807269b2f63b7b5b11425e4a6bd44bd6961d28282c", size = 319306 }, - { url = "https://files.pythonhosted.org/packages/6c/8a/abcd5119a0573f9588ad71a3fde3c07ddd1d1393cfee15a6ba7495c256f1/rpds_py-0.20.1-pp39-pypy39_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:bb63804105143c7e24cee7db89e37cb3f3941f8e80c4379a0b355c52a52b6780", size = 362558 }, - { url = "https://files.pythonhosted.org/packages/9d/65/1c2bb10afd4bd32800227a658ae9097bc1d08a4e5048a57a9bd2efdf6306/rpds_py-0.20.1-pp39-pypy39_pp73-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:55cd1fa4ecfa6d9f14fbd97ac24803e6f73e897c738f771a9fe038f2f11ff07c", size = 370811 }, - { url = "https://files.pythonhosted.org/packages/6c/ee/f4bab2b9e51ced30351cfd210647885391463ae682028c79760e7db28e4e/rpds_py-0.20.1-pp39-pypy39_pp73-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:0f8f741b6292c86059ed175d80eefa80997125b7c478fb8769fd9ac8943a16c0", size = 404660 }, - { url = "https://files.pythonhosted.org/packages/48/0f/9d04d0939682f0c97be827fc51ff986555ffb573e6781bd5132441f0ce25/rpds_py-0.20.1-pp39-pypy39_pp73-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:0fc212779bf8411667234b3cdd34d53de6c2b8b8b958e1e12cb473a5f367c338", size = 430490 }, - { url = "https://files.pythonhosted.org/packages/0d/f2/e9b90fd8416d59941b6a12f2c2e1d898b63fd092f5a7a6f98236cb865764/rpds_py-0.20.1-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:0ad56edabcdb428c2e33bbf24f255fe2b43253b7d13a2cdbf05de955217313e6", size = 361448 }, - { url = "https://files.pythonhosted.org/packages/0b/83/1cc776dce7bedb17d6f4ea62eafccee8a57a4678f4fac414ab69fb9b6b0b/rpds_py-0.20.1-pp39-pypy39_pp73-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:0a3a1e9ee9728b2c1734f65d6a1d376c6f2f6fdcc13bb007a08cc4b1ff576dc5", size = 383681 }, - { url = "https://files.pythonhosted.org/packages/17/5c/e0cdd6b0a8373fdef3667af2778dd9ff3abf1bbb9c7bd92c603c91440eb0/rpds_py-0.20.1-pp39-pypy39_pp73-musllinux_1_2_aarch64.whl", hash = "sha256:e13de156137b7095442b288e72f33503a469aa1980ed856b43c353ac86390519", size = 546203 }, - { url = "https://files.pythonhosted.org/packages/1b/a8/81fc9cbc01e7ef6d10652aedc1de4e8473934773e2808ba49094e03575df/rpds_py-0.20.1-pp39-pypy39_pp73-musllinux_1_2_i686.whl", hash = "sha256:07f59760ef99f31422c49038964b31c4dfcfeb5d2384ebfc71058a7c9adae2d2", size = 549855 }, - { url = "https://files.pythonhosted.org/packages/b3/87/99648693d3c1bbce088119bc61ecaab62e5f9c713894edc604ffeca5ae88/rpds_py-0.20.1-pp39-pypy39_pp73-musllinux_1_2_x86_64.whl", hash = "sha256:59240685e7da61fb78f65a9f07f8108e36a83317c53f7b276b4175dc44151684", size = 528625 }, - { url = "https://files.pythonhosted.org/packages/05/c3/10c68a08849f1fa45d205e54141fa75d316013e3d701ef01770ee1220bb8/rpds_py-0.20.1-pp39-pypy39_pp73-win_amd64.whl", hash = "sha256:83cba698cfb3c2c5a7c3c6bac12fe6c6a51aae69513726be6411076185a8b24a", size = 219991 }, +sdist = { url = "https://files.pythonhosted.org/packages/25/cb/8e919951f55d109d658f81c9b49d0cc3b48637c50792c5d2e77032b8c5da/rpds_py-0.20.1.tar.gz", hash = "sha256:e1791c4aabd117653530dccd24108fa03cc6baf21f58b950d0a73c3b3b29a350", size = 25931, upload-time = "2024-10-31T14:30:20.522Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/ae/0e/d7e7e9280988a7bc56fd326042baca27f4f55fad27dc8aa64e5e0e894e5d/rpds_py-0.20.1-cp310-cp310-macosx_10_12_x86_64.whl", hash = "sha256:a649dfd735fff086e8a9d0503a9f0c7d01b7912a333c7ae77e1515c08c146dad", size = 327335, upload-time = "2024-10-31T14:26:20.076Z" }, + { url = "https://files.pythonhosted.org/packages/4c/72/027185f213d53ae66765c575229829b202fbacf3d55fe2bd9ff4e29bb157/rpds_py-0.20.1-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:f16bc1334853e91ddaaa1217045dd7be166170beec337576818461268a3de67f", size = 318250, upload-time = "2024-10-31T14:26:22.17Z" }, + { url = "https://files.pythonhosted.org/packages/2b/e7/b4eb3e6ff541c83d3b46f45f855547e412ab60c45bef64520fafb00b9b42/rpds_py-0.20.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:14511a539afee6f9ab492b543060c7491c99924314977a55c98bfa2ee29ce78c", size = 361206, upload-time = "2024-10-31T14:26:24.746Z" }, + { url = "https://files.pythonhosted.org/packages/e7/80/cb9a4b4cad31bcaa37f38dae7a8be861f767eb2ca4f07a146b5ffcfbee09/rpds_py-0.20.1-cp310-cp310-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:3ccb8ac2d3c71cda472b75af42818981bdacf48d2e21c36331b50b4f16930163", size = 369921, upload-time = "2024-10-31T14:26:28.137Z" }, + { url = "https://files.pythonhosted.org/packages/95/1b/463b11e7039e18f9e778568dbf7338c29bbc1f8996381115201c668eb8c8/rpds_py-0.20.1-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:c142b88039b92e7e0cb2552e8967077e3179b22359e945574f5e2764c3953dcf", size = 403673, upload-time = "2024-10-31T14:26:31.42Z" }, + { url = "https://files.pythonhosted.org/packages/86/98/1ef4028e9d5b76470bf7f8f2459be07ac5c9621270a2a5e093f8d8a8cc2c/rpds_py-0.20.1-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:f19169781dddae7478a32301b499b2858bc52fc45a112955e798ee307e294977", size = 430267, upload-time = "2024-10-31T14:26:33.148Z" }, + { url = "https://files.pythonhosted.org/packages/25/8e/41d7e3e6d3a4a6c94375020477705a3fbb6515717901ab8f94821cf0a0d9/rpds_py-0.20.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:13c56de6518e14b9bf6edde23c4c39dac5b48dcf04160ea7bce8fca8397cdf86", size = 360569, upload-time = "2024-10-31T14:26:35.151Z" }, + { url = "https://files.pythonhosted.org/packages/4f/6a/8839340464d4e1bbfaf0482e9d9165a2309c2c17427e4dcb72ce3e5cc5d6/rpds_py-0.20.1-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:925d176a549f4832c6f69fa6026071294ab5910e82a0fe6c6228fce17b0706bd", size = 382584, upload-time = "2024-10-31T14:26:37.444Z" }, + { url = "https://files.pythonhosted.org/packages/64/96/7a7f938d3796a6a3ec08ed0e8a5ecd436fbd516a3684ab1fa22d46d6f6cc/rpds_py-0.20.1-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:78f0b6877bfce7a3d1ff150391354a410c55d3cdce386f862926a4958ad5ab7e", size = 546560, upload-time = "2024-10-31T14:26:40.679Z" }, + { url = "https://files.pythonhosted.org/packages/15/c7/19fb4f1247a3c90a99eca62909bf76ee988f9b663e47878a673d9854ec5c/rpds_py-0.20.1-cp310-cp310-musllinux_1_2_i686.whl", hash = "sha256:3dd645e2b0dcb0fd05bf58e2e54c13875847687d0b71941ad2e757e5d89d4356", size = 549359, upload-time = "2024-10-31T14:26:42.71Z" }, + { url = "https://files.pythonhosted.org/packages/d2/4c/445eb597a39a883368ea2f341dd6e48a9d9681b12ebf32f38a827b30529b/rpds_py-0.20.1-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:4f676e21db2f8c72ff0936f895271e7a700aa1f8d31b40e4e43442ba94973899", size = 527567, upload-time = "2024-10-31T14:26:45.402Z" }, + { url = "https://files.pythonhosted.org/packages/4f/71/4c44643bffbcb37311fc7fe221bcf139c8d660bc78f746dd3a05741372c8/rpds_py-0.20.1-cp310-none-win32.whl", hash = "sha256:648386ddd1e19b4a6abab69139b002bc49ebf065b596119f8f37c38e9ecee8ff", size = 200412, upload-time = "2024-10-31T14:26:49.634Z" }, + { url = "https://files.pythonhosted.org/packages/f4/33/9d0529d74099e090ec9ab15eb0a049c56cca599eaaca71bfedbdbca656a9/rpds_py-0.20.1-cp310-none-win_amd64.whl", hash = "sha256:d9ecb51120de61e4604650666d1f2b68444d46ae18fd492245a08f53ad2b7711", size = 218563, upload-time = "2024-10-31T14:26:51.639Z" }, + { url = "https://files.pythonhosted.org/packages/a0/2e/a6ded84019a05b8f23e0fe6a632f62ae438a8c5e5932d3dfc90c73418414/rpds_py-0.20.1-cp311-cp311-macosx_10_12_x86_64.whl", hash = "sha256:762703bdd2b30983c1d9e62b4c88664df4a8a4d5ec0e9253b0231171f18f6d75", size = 327194, upload-time = "2024-10-31T14:26:54.135Z" }, + { url = "https://files.pythonhosted.org/packages/68/11/d3f84c69de2b2086be3d6bd5e9d172825c096b13842ab7e5f8f39f06035b/rpds_py-0.20.1-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:0b581f47257a9fce535c4567782a8976002d6b8afa2c39ff616edf87cbeff712", size = 318126, upload-time = "2024-10-31T14:26:56.089Z" }, + { url = "https://files.pythonhosted.org/packages/18/c0/13f1bce9c901511e5e4c0b77a99dbb946bb9a177ca88c6b480e9cb53e304/rpds_py-0.20.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:842c19a6ce894493563c3bd00d81d5100e8e57d70209e84d5491940fdb8b9e3a", size = 361119, upload-time = "2024-10-31T14:26:58.354Z" }, + { url = "https://files.pythonhosted.org/packages/06/31/3bd721575671f22a37476c2d7b9e34bfa5185bdcee09f7fedde3b29f3adb/rpds_py-0.20.1-cp311-cp311-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:42cbde7789f5c0bcd6816cb29808e36c01b960fb5d29f11e052215aa85497c93", size = 369532, upload-time = "2024-10-31T14:27:00.155Z" }, + { url = "https://files.pythonhosted.org/packages/20/22/3eeb0385f33251b4fd0f728e6a3801dc8acc05e714eb7867cefe635bf4ab/rpds_py-0.20.1-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:6c8e9340ce5a52f95fa7d3b552b35c7e8f3874d74a03a8a69279fd5fca5dc751", size = 403703, upload-time = "2024-10-31T14:27:02.072Z" }, + { url = "https://files.pythonhosted.org/packages/10/e1/8dde6174e7ac5b9acd3269afca2e17719bc7e5088c68f44874d2ad9e4560/rpds_py-0.20.1-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:8ba6f89cac95c0900d932c9efb7f0fb6ca47f6687feec41abcb1bd5e2bd45535", size = 429868, upload-time = "2024-10-31T14:27:04.453Z" }, + { url = "https://files.pythonhosted.org/packages/19/51/a3cc1a5238acfc2582033e8934d034301f9d4931b9bf7c7ccfabc4ca0880/rpds_py-0.20.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:4a916087371afd9648e1962e67403c53f9c49ca47b9680adbeef79da3a7811b0", size = 360539, upload-time = "2024-10-31T14:27:07.048Z" }, + { url = "https://files.pythonhosted.org/packages/cd/8c/3c87471a44bd4114e2b0aec90f298f6caaac4e8db6af904d5dd2279f5c61/rpds_py-0.20.1-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:200a23239781f46149e6a415f1e870c5ef1e712939fe8fa63035cd053ac2638e", size = 382467, upload-time = "2024-10-31T14:27:08.647Z" }, + { url = "https://files.pythonhosted.org/packages/d0/9b/95073fe3e0f130e6d561e106818b6568ef1f2df3352e7f162ab912da837c/rpds_py-0.20.1-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:58b1d5dd591973d426cbb2da5e27ba0339209832b2f3315928c9790e13f159e8", size = 546669, upload-time = "2024-10-31T14:27:10.626Z" }, + { url = "https://files.pythonhosted.org/packages/de/4c/7ab3669e02bb06fedebcfd64d361b7168ba39dfdf385e4109440f2e7927b/rpds_py-0.20.1-cp311-cp311-musllinux_1_2_i686.whl", hash = "sha256:6b73c67850ca7cae0f6c56f71e356d7e9fa25958d3e18a64927c2d930859b8e4", size = 549304, upload-time = "2024-10-31T14:27:14.114Z" }, + { url = "https://files.pythonhosted.org/packages/f1/e8/ad5da336cd42adbdafe0ecd40dcecdae01fd3d703c621c7637615a008d3a/rpds_py-0.20.1-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:d8761c3c891cc51e90bc9926d6d2f59b27beaf86c74622c8979380a29cc23ac3", size = 527637, upload-time = "2024-10-31T14:27:15.887Z" }, + { url = "https://files.pythonhosted.org/packages/02/f1/1b47b9e5b941c2659c9b7e4ef41b6f07385a6500c638fa10c066e4616ecb/rpds_py-0.20.1-cp311-none-win32.whl", hash = "sha256:cd945871335a639275eee904caef90041568ce3b42f402c6959b460d25ae8732", size = 200488, upload-time = "2024-10-31T14:27:18.666Z" }, + { url = "https://files.pythonhosted.org/packages/85/f6/c751c1adfa31610055acfa1cc667cf2c2d7011a73070679c448cf5856905/rpds_py-0.20.1-cp311-none-win_amd64.whl", hash = "sha256:7e21b7031e17c6b0e445f42ccc77f79a97e2687023c5746bfb7a9e45e0921b84", size = 218475, upload-time = "2024-10-31T14:27:20.13Z" }, + { url = "https://files.pythonhosted.org/packages/e7/10/4e8dcc08b58a548098dbcee67a4888751a25be7a6dde0a83d4300df48bfa/rpds_py-0.20.1-cp312-cp312-macosx_10_12_x86_64.whl", hash = "sha256:36785be22066966a27348444b40389f8444671630063edfb1a2eb04318721e17", size = 329749, upload-time = "2024-10-31T14:27:21.968Z" }, + { url = "https://files.pythonhosted.org/packages/d2/e4/61144f3790e12fd89e6153d77f7915ad26779735fef8ee9c099cba6dfb4a/rpds_py-0.20.1-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:142c0a5124d9bd0e2976089484af5c74f47bd3298f2ed651ef54ea728d2ea42c", size = 321032, upload-time = "2024-10-31T14:27:24.397Z" }, + { url = "https://files.pythonhosted.org/packages/fa/e0/99205aabbf3be29ef6c58ef9b08feed51ba6532fdd47461245cb58dd9897/rpds_py-0.20.1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:dbddc10776ca7ebf2a299c41a4dde8ea0d8e3547bfd731cb87af2e8f5bf8962d", size = 363931, upload-time = "2024-10-31T14:27:26.05Z" }, + { url = "https://files.pythonhosted.org/packages/ac/bd/bce2dddb518b13a7e77eed4be234c9af0c9c6d403d01c5e6ae8eb447ab62/rpds_py-0.20.1-cp312-cp312-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:15a842bb369e00295392e7ce192de9dcbf136954614124a667f9f9f17d6a216f", size = 373343, upload-time = "2024-10-31T14:27:27.864Z" }, + { url = "https://files.pythonhosted.org/packages/43/15/112b7c553066cb91264691ba7fb119579c440a0ae889da222fa6fc0d411a/rpds_py-0.20.1-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:be5ef2f1fc586a7372bfc355986226484e06d1dc4f9402539872c8bb99e34b01", size = 406304, upload-time = "2024-10-31T14:27:29.776Z" }, + { url = "https://files.pythonhosted.org/packages/af/8d/2da52aef8ae5494a382b0c0025ba5b68f2952db0f2a4c7534580e8ca83cc/rpds_py-0.20.1-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:dbcf360c9e3399b056a238523146ea77eeb2a596ce263b8814c900263e46031a", size = 423022, upload-time = "2024-10-31T14:27:31.547Z" }, + { url = "https://files.pythonhosted.org/packages/c8/1b/f23015cb293927c93bdb4b94a48bfe77ad9d57359c75db51f0ff0cf482ff/rpds_py-0.20.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ecd27a66740ffd621d20b9a2f2b5ee4129a56e27bfb9458a3bcc2e45794c96cb", size = 364937, upload-time = "2024-10-31T14:27:33.447Z" }, + { url = "https://files.pythonhosted.org/packages/7b/8b/6da8636b2ea2e2f709e56656e663b6a71ecd9a9f9d9dc21488aade122026/rpds_py-0.20.1-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:d0b937b2a1988f184a3e9e577adaa8aede21ec0b38320d6009e02bd026db04fa", size = 386301, upload-time = "2024-10-31T14:27:35.8Z" }, + { url = "https://files.pythonhosted.org/packages/20/af/2ae192797bffd0d6d558145b5a36e7245346ff3e44f6ddcb82f0eb8512d4/rpds_py-0.20.1-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:6889469bfdc1eddf489729b471303739bf04555bb151fe8875931f8564309afc", size = 549452, upload-time = "2024-10-31T14:27:38.316Z" }, + { url = "https://files.pythonhosted.org/packages/07/dd/9f6520712a5108cd7d407c9db44a3d59011b385c58e320d58ebf67757a9e/rpds_py-0.20.1-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:19b73643c802f4eaf13d97f7855d0fb527fbc92ab7013c4ad0e13a6ae0ed23bd", size = 554370, upload-time = "2024-10-31T14:27:40.111Z" }, + { url = "https://files.pythonhosted.org/packages/5e/0e/b1bdc7ea0db0946d640ab8965146099093391bb5d265832994c47461e3c5/rpds_py-0.20.1-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:3c6afcf2338e7f374e8edc765c79fbcb4061d02b15dd5f8f314a4af2bdc7feb5", size = 530940, upload-time = "2024-10-31T14:27:42.074Z" }, + { url = "https://files.pythonhosted.org/packages/ae/d3/ffe907084299484fab60a7955f7c0e8a295c04249090218c59437010f9f4/rpds_py-0.20.1-cp312-none-win32.whl", hash = "sha256:dc73505153798c6f74854aba69cc75953888cf9866465196889c7cdd351e720c", size = 203164, upload-time = "2024-10-31T14:27:44.578Z" }, + { url = "https://files.pythonhosted.org/packages/1f/ba/9cbb57423c4bfbd81c473913bebaed151ad4158ee2590a4e4b3e70238b48/rpds_py-0.20.1-cp312-none-win_amd64.whl", hash = "sha256:8bbe951244a838a51289ee53a6bae3a07f26d4e179b96fc7ddd3301caf0518eb", size = 220750, upload-time = "2024-10-31T14:27:46.411Z" }, + { url = "https://files.pythonhosted.org/packages/b5/01/fee2e1d1274c92fff04aa47d805a28d62c2aa971d1f49f5baea1c6e670d9/rpds_py-0.20.1-cp313-cp313-macosx_10_12_x86_64.whl", hash = "sha256:6ca91093a4a8da4afae7fe6a222c3b53ee4eef433ebfee4d54978a103435159e", size = 329359, upload-time = "2024-10-31T14:27:48.866Z" }, + { url = "https://files.pythonhosted.org/packages/b0/cf/4aeffb02b7090029d7aeecbffb9a10e1c80f6f56d7e9a30e15481dc4099c/rpds_py-0.20.1-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:b9c2fe36d1f758b28121bef29ed1dee9b7a2453e997528e7d1ac99b94892527c", size = 320543, upload-time = "2024-10-31T14:27:51.354Z" }, + { url = "https://files.pythonhosted.org/packages/17/69/85cf3429e9ccda684ba63ff36b5866d5f9451e921cc99819341e19880334/rpds_py-0.20.1-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:f009c69bc8c53db5dfab72ac760895dc1f2bc1b62ab7408b253c8d1ec52459fc", size = 363107, upload-time = "2024-10-31T14:27:53.196Z" }, + { url = "https://files.pythonhosted.org/packages/ef/de/7df88dea9c3eeb832196d23b41f0f6fc5f9a2ee9b2080bbb1db8731ead9c/rpds_py-0.20.1-cp313-cp313-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:6740a3e8d43a32629bb9b009017ea5b9e713b7210ba48ac8d4cb6d99d86c8ee8", size = 372027, upload-time = "2024-10-31T14:27:55.244Z" }, + { url = "https://files.pythonhosted.org/packages/d1/b8/88675399d2038580743c570a809c43a900e7090edc6553f8ffb66b23c965/rpds_py-0.20.1-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:32b922e13d4c0080d03e7b62991ad7f5007d9cd74e239c4b16bc85ae8b70252d", size = 405031, upload-time = "2024-10-31T14:27:57.688Z" }, + { url = "https://files.pythonhosted.org/packages/e1/aa/cca639f6d17caf00bab51bdc70fcc0bdda3063e5662665c4fdf60443c474/rpds_py-0.20.1-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:fe00a9057d100e69b4ae4a094203a708d65b0f345ed546fdef86498bf5390982", size = 422271, upload-time = "2024-10-31T14:27:59.526Z" }, + { url = "https://files.pythonhosted.org/packages/c4/07/bf8a949d2ec4626c285579c9d6b356c692325f1a4126e947736b416e1fc4/rpds_py-0.20.1-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:49fe9b04b6fa685bd39237d45fad89ba19e9163a1ccaa16611a812e682913496", size = 363625, upload-time = "2024-10-31T14:28:01.915Z" }, + { url = "https://files.pythonhosted.org/packages/11/f0/06675c6a58d6ce34547879138810eb9aab0c10e5607ea6c2e4dc56b703c8/rpds_py-0.20.1-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:aa7ac11e294304e615b43f8c441fee5d40094275ed7311f3420d805fde9b07b4", size = 385906, upload-time = "2024-10-31T14:28:03.796Z" }, + { url = "https://files.pythonhosted.org/packages/bf/ac/2d1f50374eb8e41030fad4e87f81751e1c39e3b5d4bee8c5618830d8a6ac/rpds_py-0.20.1-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:6aa97af1558a9bef4025f8f5d8c60d712e0a3b13a2fe875511defc6ee77a1ab7", size = 549021, upload-time = "2024-10-31T14:28:05.704Z" }, + { url = "https://files.pythonhosted.org/packages/f7/d4/a7d70a7cc71df772eeadf4bce05e32e780a9fe44a511a5b091c7a85cb767/rpds_py-0.20.1-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:483b29f6f7ffa6af845107d4efe2e3fa8fb2693de8657bc1849f674296ff6a5a", size = 553800, upload-time = "2024-10-31T14:28:07.684Z" }, + { url = "https://files.pythonhosted.org/packages/87/81/dc30bc449ccba63ad23a0f6633486d4e0e6955f45f3715a130dacabd6ad0/rpds_py-0.20.1-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:37fe0f12aebb6a0e3e17bb4cd356b1286d2d18d2e93b2d39fe647138458b4bcb", size = 531076, upload-time = "2024-10-31T14:28:10.545Z" }, + { url = "https://files.pythonhosted.org/packages/50/80/fb62ab48f3b5cfe704ead6ad372da1922ddaa76397055e02eb507054c979/rpds_py-0.20.1-cp313-none-win32.whl", hash = "sha256:a624cc00ef2158e04188df5e3016385b9353638139a06fb77057b3498f794782", size = 202804, upload-time = "2024-10-31T14:28:12.877Z" }, + { url = "https://files.pythonhosted.org/packages/d9/30/a3391e76d0b3313f33bdedd394a519decae3a953d2943e3dabf80ae32447/rpds_py-0.20.1-cp313-none-win_amd64.whl", hash = "sha256:b71b8666eeea69d6363248822078c075bac6ed135faa9216aa85f295ff009b1e", size = 220502, upload-time = "2024-10-31T14:28:14.597Z" }, + { url = "https://files.pythonhosted.org/packages/53/ef/b1883734ea0cd9996de793cdc38c32a28143b04911d1e570090acd8a9162/rpds_py-0.20.1-cp38-cp38-macosx_10_12_x86_64.whl", hash = "sha256:5b48e790e0355865197ad0aca8cde3d8ede347831e1959e158369eb3493d2191", size = 327757, upload-time = "2024-10-31T14:28:16.323Z" }, + { url = "https://files.pythonhosted.org/packages/54/63/47d34dc4ddb3da73e78e10c9009dcf8edc42d355a221351c05c822c2a50b/rpds_py-0.20.1-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:3e310838a5801795207c66c73ea903deda321e6146d6f282e85fa7e3e4854804", size = 318785, upload-time = "2024-10-31T14:28:18.381Z" }, + { url = "https://files.pythonhosted.org/packages/f7/e1/d6323be4afbe3013f28725553b7bfa80b3f013f91678af258f579f8ea8f9/rpds_py-0.20.1-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:2249280b870e6a42c0d972339e9cc22ee98730a99cd7f2f727549af80dd5a963", size = 361511, upload-time = "2024-10-31T14:28:20.292Z" }, + { url = "https://files.pythonhosted.org/packages/ab/d3/c40e4d9ecd571f0f50fe69bc53fe608d7b2c49b30738b480044990260838/rpds_py-0.20.1-cp38-cp38-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:e79059d67bea28b53d255c1437b25391653263f0e69cd7dec170d778fdbca95e", size = 370201, upload-time = "2024-10-31T14:28:22.314Z" }, + { url = "https://files.pythonhosted.org/packages/f1/b6/96a4a9977a8a06c2c49d90aa571346aff1642abf15066a39a0b4817bf049/rpds_py-0.20.1-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:2b431c777c9653e569986ecf69ff4a5dba281cded16043d348bf9ba505486f36", size = 403866, upload-time = "2024-10-31T14:28:24.135Z" }, + { url = "https://files.pythonhosted.org/packages/cd/8f/702b52287949314b498a311f92b5ee0ba30c702a27e0e6b560e2da43b8d5/rpds_py-0.20.1-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:da584ff96ec95e97925174eb8237e32f626e7a1a97888cdd27ee2f1f24dd0ad8", size = 430163, upload-time = "2024-10-31T14:28:26.021Z" }, + { url = "https://files.pythonhosted.org/packages/c4/ce/af016c81fda833bf125b20d1677d816f230cad2ab189f46bcbfea3c7a375/rpds_py-0.20.1-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:02a0629ec053fc013808a85178524e3cb63a61dbc35b22499870194a63578fb9", size = 360776, upload-time = "2024-10-31T14:28:27.852Z" }, + { url = "https://files.pythonhosted.org/packages/08/a7/988e179c9bef55821abe41762228d65077e0570ca75c9efbcd1bc6e263b4/rpds_py-0.20.1-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:fbf15aff64a163db29a91ed0868af181d6f68ec1a3a7d5afcfe4501252840bad", size = 383008, upload-time = "2024-10-31T14:28:30.029Z" }, + { url = "https://files.pythonhosted.org/packages/96/b0/e4077f7f1b9622112ae83254aedfb691490278793299bc06dcf54ec8c8e4/rpds_py-0.20.1-cp38-cp38-musllinux_1_2_aarch64.whl", hash = "sha256:07924c1b938798797d60c6308fa8ad3b3f0201802f82e4a2c41bb3fafb44cc28", size = 546371, upload-time = "2024-10-31T14:28:33.062Z" }, + { url = "https://files.pythonhosted.org/packages/e4/5e/1d4dd08ec0352cfe516ea93ea1993c2f656f893c87dafcd9312bd07f65f7/rpds_py-0.20.1-cp38-cp38-musllinux_1_2_i686.whl", hash = "sha256:4a5a844f68776a7715ecb30843b453f07ac89bad393431efbf7accca3ef599c1", size = 549809, upload-time = "2024-10-31T14:28:35.285Z" }, + { url = "https://files.pythonhosted.org/packages/57/ac/a716b4729ff23ec034b7d2ff76a86e6f0753c4098401bdfdf55b2efe90e6/rpds_py-0.20.1-cp38-cp38-musllinux_1_2_x86_64.whl", hash = "sha256:518d2ca43c358929bf08f9079b617f1c2ca6e8848f83c1225c88caeac46e6cbc", size = 528492, upload-time = "2024-10-31T14:28:37.516Z" }, + { url = "https://files.pythonhosted.org/packages/e0/ed/a0b58a9ecef79918169eacdabd14eb4c5c86ce71184ed56b80c6eb425828/rpds_py-0.20.1-cp38-none-win32.whl", hash = "sha256:3aea7eed3e55119635a74bbeb80b35e776bafccb70d97e8ff838816c124539f1", size = 200512, upload-time = "2024-10-31T14:28:39.484Z" }, + { url = "https://files.pythonhosted.org/packages/5f/c3/222e25124283afc76c473fcd2c547e82ec57683fa31cb4d6c6eb44e5d57a/rpds_py-0.20.1-cp38-none-win_amd64.whl", hash = "sha256:7dca7081e9a0c3b6490a145593f6fe3173a94197f2cb9891183ef75e9d64c425", size = 218627, upload-time = "2024-10-31T14:28:41.479Z" }, + { url = "https://files.pythonhosted.org/packages/d6/87/e7e0fcbfdc0d0e261534bcc885f6ae6253095b972e32f8b8b1278c78a2a9/rpds_py-0.20.1-cp39-cp39-macosx_10_12_x86_64.whl", hash = "sha256:b41b6321805c472f66990c2849e152aff7bc359eb92f781e3f606609eac877ad", size = 327867, upload-time = "2024-10-31T14:28:44.167Z" }, + { url = "https://files.pythonhosted.org/packages/93/a0/17836b7961fc82586e9b818abdee2a27e2e605a602bb8c0d43f02092f8c2/rpds_py-0.20.1-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:0a90c373ea2975519b58dece25853dbcb9779b05cc46b4819cb1917e3b3215b6", size = 318893, upload-time = "2024-10-31T14:28:46.753Z" }, + { url = "https://files.pythonhosted.org/packages/dc/03/deb81d8ea3a8b974e7b03cfe8c8c26616ef8f4980dd430d8dd0a2f1b4d8e/rpds_py-0.20.1-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:16d4477bcb9fbbd7b5b0e4a5d9b493e42026c0bf1f06f723a9353f5153e75d30", size = 361664, upload-time = "2024-10-31T14:28:49.782Z" }, + { url = "https://files.pythonhosted.org/packages/16/49/d9938603731745c7b6babff97ca61ff3eb4619e7128b5ab0111ad4e91d6d/rpds_py-0.20.1-cp39-cp39-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:84b8382a90539910b53a6307f7c35697bc7e6ffb25d9c1d4e998a13e842a5e83", size = 369796, upload-time = "2024-10-31T14:28:52.263Z" }, + { url = "https://files.pythonhosted.org/packages/87/d2/480b36c69cdc373853401b6aab6a281cf60f6d72b1545d82c0d23d9dd77c/rpds_py-0.20.1-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:4888e117dd41b9d34194d9e31631af70d3d526efc363085e3089ab1a62c32ed1", size = 403860, upload-time = "2024-10-31T14:28:54.388Z" }, + { url = "https://files.pythonhosted.org/packages/31/7c/f6d909cb57761293308dbef14f1663d84376f2e231892a10aafc57b42037/rpds_py-0.20.1-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:5265505b3d61a0f56618c9b941dc54dc334dc6e660f1592d112cd103d914a6db", size = 430793, upload-time = "2024-10-31T14:28:56.811Z" }, + { url = "https://files.pythonhosted.org/packages/d4/62/c9bd294c4b5f84d9cc2c387b548ae53096ad7e71ac5b02b6310e9dc85aa4/rpds_py-0.20.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:e75ba609dba23f2c95b776efb9dd3f0b78a76a151e96f96cc5b6b1b0004de66f", size = 360927, upload-time = "2024-10-31T14:28:58.868Z" }, + { url = "https://files.pythonhosted.org/packages/c1/a7/15d927d83a44da8307a432b1cac06284b6657706d099a98cc99fec34ad51/rpds_py-0.20.1-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:1791ff70bc975b098fe6ecf04356a10e9e2bd7dc21fa7351c1742fdeb9b4966f", size = 382660, upload-time = "2024-10-31T14:29:01.261Z" }, + { url = "https://files.pythonhosted.org/packages/4c/28/0630719c18456238bb07d59c4302fed50a13aa8035ec23dbfa80d116f9bc/rpds_py-0.20.1-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:d126b52e4a473d40232ec2052a8b232270ed1f8c9571aaf33f73a14cc298c24f", size = 546888, upload-time = "2024-10-31T14:29:03.923Z" }, + { url = "https://files.pythonhosted.org/packages/b9/75/3c9bda11b9c15d680b315f898af23825159314d4b56568f24b53ace8afcd/rpds_py-0.20.1-cp39-cp39-musllinux_1_2_i686.whl", hash = "sha256:c14937af98c4cc362a1d4374806204dd51b1e12dded1ae30645c298e5a5c4cb1", size = 550088, upload-time = "2024-10-31T14:29:07.107Z" }, + { url = "https://files.pythonhosted.org/packages/70/f1/8fe7d04c194218171220a412057429defa9e2da785de0777c4d39309337e/rpds_py-0.20.1-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:3d089d0b88996df627693639d123c8158cff41c0651f646cd8fd292c7da90eaf", size = 528270, upload-time = "2024-10-31T14:29:09.933Z" }, + { url = "https://files.pythonhosted.org/packages/d6/62/41b0020f4b00af042b008e679dbe25a2f5bce655139a81f8b812f9068e52/rpds_py-0.20.1-cp39-none-win32.whl", hash = "sha256:653647b8838cf83b2e7e6a0364f49af96deec64d2a6578324db58380cff82aca", size = 200658, upload-time = "2024-10-31T14:29:12.234Z" }, + { url = "https://files.pythonhosted.org/packages/05/01/e64bb8889f2dcc951e53de33d8b8070456397ae4e10edc35e6cb9908f5c8/rpds_py-0.20.1-cp39-none-win_amd64.whl", hash = "sha256:fa41a64ac5b08b292906e248549ab48b69c5428f3987b09689ab2441f267d04d", size = 218883, upload-time = "2024-10-31T14:29:14.846Z" }, + { url = "https://files.pythonhosted.org/packages/b6/fa/7959429e69569d0f6e7d27f80451402da0409349dd2b07f6bcbdd5fad2d3/rpds_py-0.20.1-pp310-pypy310_pp73-macosx_10_12_x86_64.whl", hash = "sha256:7a07ced2b22f0cf0b55a6a510078174c31b6d8544f3bc00c2bcee52b3d613f74", size = 328209, upload-time = "2024-10-31T14:29:17.44Z" }, + { url = "https://files.pythonhosted.org/packages/25/97/5dfdb091c30267ff404d2fd9e70c7a6d6ffc65ca77fffe9456e13b719066/rpds_py-0.20.1-pp310-pypy310_pp73-macosx_11_0_arm64.whl", hash = "sha256:68cb0a499f2c4a088fd2f521453e22ed3527154136a855c62e148b7883b99f9a", size = 319499, upload-time = "2024-10-31T14:29:19.527Z" }, + { url = "https://files.pythonhosted.org/packages/7c/98/cf2608722400f5f9bb4c82aa5ac09026f3ac2ebea9d4059d3533589ed0b6/rpds_py-0.20.1-pp310-pypy310_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:fa3060d885657abc549b2a0f8e1b79699290e5d83845141717c6c90c2df38311", size = 361795, upload-time = "2024-10-31T14:29:22.395Z" }, + { url = "https://files.pythonhosted.org/packages/89/de/0e13dd43c785c60e63933e96fbddda0b019df6862f4d3019bb49c3861131/rpds_py-0.20.1-pp310-pypy310_pp73-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:95f3b65d2392e1c5cec27cff08fdc0080270d5a1a4b2ea1d51d5f4a2620ff08d", size = 370604, upload-time = "2024-10-31T14:29:25.552Z" }, + { url = "https://files.pythonhosted.org/packages/8a/fc/fe3c83c77f82b8059eeec4e998064913d66212b69b3653df48f58ad33d3d/rpds_py-0.20.1-pp310-pypy310_pp73-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:2cc3712a4b0b76a1d45a9302dd2f53ff339614b1c29603a911318f2357b04dd2", size = 404177, upload-time = "2024-10-31T14:29:27.82Z" }, + { url = "https://files.pythonhosted.org/packages/94/30/5189518bfb80a41f664daf32b46645c7fbdcc89028a0f1bfa82e806e0fbb/rpds_py-0.20.1-pp310-pypy310_pp73-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:5d4eea0761e37485c9b81400437adb11c40e13ef513375bbd6973e34100aeb06", size = 430108, upload-time = "2024-10-31T14:29:30.768Z" }, + { url = "https://files.pythonhosted.org/packages/67/0e/6f069feaff5c298375cd8c55e00ecd9bd79c792ce0893d39448dc0097857/rpds_py-0.20.1-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:7f5179583d7a6cdb981151dd349786cbc318bab54963a192692d945dd3f6435d", size = 361184, upload-time = "2024-10-31T14:29:32.993Z" }, + { url = "https://files.pythonhosted.org/packages/27/9f/ce3e2ae36f392c3ef1988c06e9e0b4c74f64267dad7c223003c34da11adb/rpds_py-0.20.1-pp310-pypy310_pp73-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:2fbb0ffc754490aff6dabbf28064be47f0f9ca0b9755976f945214965b3ace7e", size = 384140, upload-time = "2024-10-31T14:29:35.356Z" }, + { url = "https://files.pythonhosted.org/packages/5f/d5/89d44504d0bc7a1135062cb520a17903ff002f458371b8d9160af3b71e52/rpds_py-0.20.1-pp310-pypy310_pp73-musllinux_1_2_aarch64.whl", hash = "sha256:a94e52537a0e0a85429eda9e49f272ada715506d3b2431f64b8a3e34eb5f3e75", size = 546589, upload-time = "2024-10-31T14:29:37.711Z" }, + { url = "https://files.pythonhosted.org/packages/8f/8f/e1c2db4fcca3947d9a28ec9553700b4dc8038f0eff575f579e75885b0661/rpds_py-0.20.1-pp310-pypy310_pp73-musllinux_1_2_i686.whl", hash = "sha256:92b68b79c0da2a980b1c4197e56ac3dd0c8a149b4603747c4378914a68706979", size = 550059, upload-time = "2024-10-31T14:29:40.342Z" }, + { url = "https://files.pythonhosted.org/packages/67/29/00a9e986df36721b5def82fff60995c1ee8827a7d909a6ec8929fb4cc668/rpds_py-0.20.1-pp310-pypy310_pp73-musllinux_1_2_x86_64.whl", hash = "sha256:93da1d3db08a827eda74356f9f58884adb254e59b6664f64cc04cdff2cc19b0d", size = 529131, upload-time = "2024-10-31T14:29:42.993Z" }, + { url = "https://files.pythonhosted.org/packages/a3/32/95364440560ec476b19c6a2704259e710c223bf767632ebaa72cc2a1760f/rpds_py-0.20.1-pp310-pypy310_pp73-win_amd64.whl", hash = "sha256:754bbed1a4ca48479e9d4182a561d001bbf81543876cdded6f695ec3d465846b", size = 219677, upload-time = "2024-10-31T14:29:45.332Z" }, + { url = "https://files.pythonhosted.org/packages/ed/bf/ad8492e972c90a3d48a38e2b5095c51a8399d5b57e83f2d5d1649490f72b/rpds_py-0.20.1-pp39-pypy39_pp73-macosx_10_12_x86_64.whl", hash = "sha256:ca449520e7484534a2a44faf629362cae62b660601432d04c482283c47eaebab", size = 328046, upload-time = "2024-10-31T14:29:48.968Z" }, + { url = "https://files.pythonhosted.org/packages/75/fd/84f42386165d6d555acb76c6d39c90b10c9dcf25116daf4f48a0a9d6867a/rpds_py-0.20.1-pp39-pypy39_pp73-macosx_11_0_arm64.whl", hash = "sha256:9c4cb04a16b0f199a8c9bf807269b2f63b7b5b11425e4a6bd44bd6961d28282c", size = 319306, upload-time = "2024-10-31T14:29:51.212Z" }, + { url = "https://files.pythonhosted.org/packages/6c/8a/abcd5119a0573f9588ad71a3fde3c07ddd1d1393cfee15a6ba7495c256f1/rpds_py-0.20.1-pp39-pypy39_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:bb63804105143c7e24cee7db89e37cb3f3941f8e80c4379a0b355c52a52b6780", size = 362558, upload-time = "2024-10-31T14:29:53.551Z" }, + { url = "https://files.pythonhosted.org/packages/9d/65/1c2bb10afd4bd32800227a658ae9097bc1d08a4e5048a57a9bd2efdf6306/rpds_py-0.20.1-pp39-pypy39_pp73-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:55cd1fa4ecfa6d9f14fbd97ac24803e6f73e897c738f771a9fe038f2f11ff07c", size = 370811, upload-time = "2024-10-31T14:29:56.672Z" }, + { url = "https://files.pythonhosted.org/packages/6c/ee/f4bab2b9e51ced30351cfd210647885391463ae682028c79760e7db28e4e/rpds_py-0.20.1-pp39-pypy39_pp73-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:0f8f741b6292c86059ed175d80eefa80997125b7c478fb8769fd9ac8943a16c0", size = 404660, upload-time = "2024-10-31T14:29:59.276Z" }, + { url = "https://files.pythonhosted.org/packages/48/0f/9d04d0939682f0c97be827fc51ff986555ffb573e6781bd5132441f0ce25/rpds_py-0.20.1-pp39-pypy39_pp73-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:0fc212779bf8411667234b3cdd34d53de6c2b8b8b958e1e12cb473a5f367c338", size = 430490, upload-time = "2024-10-31T14:30:01.543Z" }, + { url = "https://files.pythonhosted.org/packages/0d/f2/e9b90fd8416d59941b6a12f2c2e1d898b63fd092f5a7a6f98236cb865764/rpds_py-0.20.1-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:0ad56edabcdb428c2e33bbf24f255fe2b43253b7d13a2cdbf05de955217313e6", size = 361448, upload-time = "2024-10-31T14:30:04.294Z" }, + { url = "https://files.pythonhosted.org/packages/0b/83/1cc776dce7bedb17d6f4ea62eafccee8a57a4678f4fac414ab69fb9b6b0b/rpds_py-0.20.1-pp39-pypy39_pp73-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:0a3a1e9ee9728b2c1734f65d6a1d376c6f2f6fdcc13bb007a08cc4b1ff576dc5", size = 383681, upload-time = "2024-10-31T14:30:07.717Z" }, + { url = "https://files.pythonhosted.org/packages/17/5c/e0cdd6b0a8373fdef3667af2778dd9ff3abf1bbb9c7bd92c603c91440eb0/rpds_py-0.20.1-pp39-pypy39_pp73-musllinux_1_2_aarch64.whl", hash = "sha256:e13de156137b7095442b288e72f33503a469aa1980ed856b43c353ac86390519", size = 546203, upload-time = "2024-10-31T14:30:10.156Z" }, + { url = "https://files.pythonhosted.org/packages/1b/a8/81fc9cbc01e7ef6d10652aedc1de4e8473934773e2808ba49094e03575df/rpds_py-0.20.1-pp39-pypy39_pp73-musllinux_1_2_i686.whl", hash = "sha256:07f59760ef99f31422c49038964b31c4dfcfeb5d2384ebfc71058a7c9adae2d2", size = 549855, upload-time = "2024-10-31T14:30:13.691Z" }, + { url = "https://files.pythonhosted.org/packages/b3/87/99648693d3c1bbce088119bc61ecaab62e5f9c713894edc604ffeca5ae88/rpds_py-0.20.1-pp39-pypy39_pp73-musllinux_1_2_x86_64.whl", hash = "sha256:59240685e7da61fb78f65a9f07f8108e36a83317c53f7b276b4175dc44151684", size = 528625, upload-time = "2024-10-31T14:30:16.191Z" }, + { url = "https://files.pythonhosted.org/packages/05/c3/10c68a08849f1fa45d205e54141fa75d316013e3d701ef01770ee1220bb8/rpds_py-0.20.1-pp39-pypy39_pp73-win_amd64.whl", hash = "sha256:83cba698cfb3c2c5a7c3c6bac12fe6c6a51aae69513726be6411076185a8b24a", size = 219991, upload-time = "2024-10-31T14:30:18.49Z" }, ] [[package]] @@ -4475,110 +4475,110 @@ resolution-markers = [ "python_full_version == '3.9.*' and platform_machine == 'aarch64' and sys_platform == 'linux'", "(python_full_version == '3.9.*' and platform_machine != 'arm64' and sys_platform == 'darwin') or (python_full_version == '3.9.*' and platform_machine != 'aarch64' and sys_platform == 'linux') or (python_full_version == '3.9.*' and sys_platform != 'darwin' and sys_platform != 'linux')", ] -sdist = { url = "https://files.pythonhosted.org/packages/01/80/cce854d0921ff2f0a9fa831ba3ad3c65cee3a46711addf39a2af52df2cfd/rpds_py-0.22.3.tar.gz", hash = "sha256:e32fee8ab45d3c2db6da19a5323bc3362237c8b653c70194414b892fd06a080d", size = 26771 } -wheels = [ - { url = "https://files.pythonhosted.org/packages/42/2a/ead1d09e57449b99dcc190d8d2323e3a167421d8f8fdf0f217c6f6befe47/rpds_py-0.22.3-cp310-cp310-macosx_10_12_x86_64.whl", hash = "sha256:6c7b99ca52c2c1752b544e310101b98a659b720b21db00e65edca34483259967", size = 359514 }, - { url = "https://files.pythonhosted.org/packages/8f/7e/1254f406b7793b586c68e217a6a24ec79040f85e030fff7e9049069284f4/rpds_py-0.22.3-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:be2eb3f2495ba669d2a985f9b426c1797b7d48d6963899276d22f23e33d47e37", size = 349031 }, - { url = "https://files.pythonhosted.org/packages/aa/da/17c6a2c73730d426df53675ff9cc6653ac7a60b6438d03c18e1c822a576a/rpds_py-0.22.3-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:70eb60b3ae9245ddea20f8a4190bd79c705a22f8028aaf8bbdebe4716c3fab24", size = 381485 }, - { url = "https://files.pythonhosted.org/packages/aa/13/2dbacd820466aa2a3c4b747afb18d71209523d353cf865bf8f4796c969ea/rpds_py-0.22.3-cp310-cp310-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:4041711832360a9b75cfb11b25a6a97c8fb49c07b8bd43d0d02b45d0b499a4ff", size = 386794 }, - { url = "https://files.pythonhosted.org/packages/6d/62/96905d0a35ad4e4bc3c098b2f34b2e7266e211d08635baa690643d2227be/rpds_py-0.22.3-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:64607d4cbf1b7e3c3c8a14948b99345eda0e161b852e122c6bb71aab6d1d798c", size = 423523 }, - { url = "https://files.pythonhosted.org/packages/eb/1b/d12770f2b6a9fc2c3ec0d810d7d440f6d465ccd8b7f16ae5385952c28b89/rpds_py-0.22.3-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:81e69b0a0e2537f26d73b4e43ad7bc8c8efb39621639b4434b76a3de50c6966e", size = 446695 }, - { url = "https://files.pythonhosted.org/packages/4d/cf/96f1fd75512a017f8e07408b6d5dbeb492d9ed46bfe0555544294f3681b3/rpds_py-0.22.3-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:bc27863442d388870c1809a87507727b799c8460573cfbb6dc0eeaef5a11b5ec", size = 381959 }, - { url = "https://files.pythonhosted.org/packages/ab/f0/d1c5b501c8aea85aeb938b555bfdf7612110a2f8cdc21ae0482c93dd0c24/rpds_py-0.22.3-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:e79dd39f1e8c3504be0607e5fc6e86bb60fe3584bec8b782578c3b0fde8d932c", size = 410420 }, - { url = "https://files.pythonhosted.org/packages/33/3b/45b6c58fb6aad5a569ae40fb890fc494c6b02203505a5008ee6dc68e65f7/rpds_py-0.22.3-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:e0fa2d4ec53dc51cf7d3bb22e0aa0143966119f42a0c3e4998293a3dd2856b09", size = 557620 }, - { url = "https://files.pythonhosted.org/packages/83/62/3fdd2d3d47bf0bb9b931c4c73036b4ab3ec77b25e016ae26fab0f02be2af/rpds_py-0.22.3-cp310-cp310-musllinux_1_2_i686.whl", hash = "sha256:fda7cb070f442bf80b642cd56483b5548e43d366fe3f39b98e67cce780cded00", size = 584202 }, - { url = "https://files.pythonhosted.org/packages/04/f2/5dced98b64874b84ca824292f9cee2e3f30f3bcf231d15a903126684f74d/rpds_py-0.22.3-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:cff63a0272fcd259dcc3be1657b07c929c466b067ceb1c20060e8d10af56f5bf", size = 552787 }, - { url = "https://files.pythonhosted.org/packages/67/13/2273dea1204eda0aea0ef55145da96a9aa28b3f88bb5c70e994f69eda7c3/rpds_py-0.22.3-cp310-cp310-win32.whl", hash = "sha256:9bd7228827ec7bb817089e2eb301d907c0d9827a9e558f22f762bb690b131652", size = 220088 }, - { url = "https://files.pythonhosted.org/packages/4e/80/8c8176b67ad7f4a894967a7a4014ba039626d96f1d4874d53e409b58d69f/rpds_py-0.22.3-cp310-cp310-win_amd64.whl", hash = "sha256:9beeb01d8c190d7581a4d59522cd3d4b6887040dcfc744af99aa59fef3e041a8", size = 231737 }, - { url = "https://files.pythonhosted.org/packages/15/ad/8d1ddf78f2805a71253fcd388017e7b4a0615c22c762b6d35301fef20106/rpds_py-0.22.3-cp311-cp311-macosx_10_12_x86_64.whl", hash = "sha256:d20cfb4e099748ea39e6f7b16c91ab057989712d31761d3300d43134e26e165f", size = 359773 }, - { url = "https://files.pythonhosted.org/packages/c8/75/68c15732293a8485d79fe4ebe9045525502a067865fa4278f178851b2d87/rpds_py-0.22.3-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:68049202f67380ff9aa52f12e92b1c30115f32e6895cd7198fa2a7961621fc5a", size = 349214 }, - { url = "https://files.pythonhosted.org/packages/3c/4c/7ce50f3070083c2e1b2bbd0fb7046f3da55f510d19e283222f8f33d7d5f4/rpds_py-0.22.3-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:fb4f868f712b2dd4bcc538b0a0c1f63a2b1d584c925e69a224d759e7070a12d5", size = 380477 }, - { url = "https://files.pythonhosted.org/packages/9a/e9/835196a69cb229d5c31c13b8ae603bd2da9a6695f35fe4270d398e1db44c/rpds_py-0.22.3-cp311-cp311-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:bc51abd01f08117283c5ebf64844a35144a0843ff7b2983e0648e4d3d9f10dbb", size = 386171 }, - { url = "https://files.pythonhosted.org/packages/f9/8e/33fc4eba6683db71e91e6d594a2cf3a8fbceb5316629f0477f7ece5e3f75/rpds_py-0.22.3-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:0f3cec041684de9a4684b1572fe28c7267410e02450f4561700ca5a3bc6695a2", size = 422676 }, - { url = "https://files.pythonhosted.org/packages/37/47/2e82d58f8046a98bb9497a8319604c92b827b94d558df30877c4b3c6ccb3/rpds_py-0.22.3-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:7ef9d9da710be50ff6809fed8f1963fecdfecc8b86656cadfca3bc24289414b0", size = 446152 }, - { url = "https://files.pythonhosted.org/packages/e1/78/79c128c3e71abbc8e9739ac27af11dc0f91840a86fce67ff83c65d1ba195/rpds_py-0.22.3-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:59f4a79c19232a5774aee369a0c296712ad0e77f24e62cad53160312b1c1eaa1", size = 381300 }, - { url = "https://files.pythonhosted.org/packages/c9/5b/2e193be0e8b228c1207f31fa3ea79de64dadb4f6a4833111af8145a6bc33/rpds_py-0.22.3-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:1a60bce91f81ddaac922a40bbb571a12c1070cb20ebd6d49c48e0b101d87300d", size = 409636 }, - { url = "https://files.pythonhosted.org/packages/c2/3f/687c7100b762d62186a1c1100ffdf99825f6fa5ea94556844bbbd2d0f3a9/rpds_py-0.22.3-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:e89391e6d60251560f0a8f4bd32137b077a80d9b7dbe6d5cab1cd80d2746f648", size = 556708 }, - { url = "https://files.pythonhosted.org/packages/8c/a2/c00cbc4b857e8b3d5e7f7fc4c81e23afd8c138b930f4f3ccf9a41a23e9e4/rpds_py-0.22.3-cp311-cp311-musllinux_1_2_i686.whl", hash = "sha256:e3fb866d9932a3d7d0c82da76d816996d1667c44891bd861a0f97ba27e84fc74", size = 583554 }, - { url = "https://files.pythonhosted.org/packages/d0/08/696c9872cf56effdad9ed617ac072f6774a898d46b8b8964eab39ec562d2/rpds_py-0.22.3-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:1352ae4f7c717ae8cba93421a63373e582d19d55d2ee2cbb184344c82d2ae55a", size = 552105 }, - { url = "https://files.pythonhosted.org/packages/18/1f/4df560be1e994f5adf56cabd6c117e02de7c88ee238bb4ce03ed50da9d56/rpds_py-0.22.3-cp311-cp311-win32.whl", hash = "sha256:b0b4136a252cadfa1adb705bb81524eee47d9f6aab4f2ee4fa1e9d3cd4581f64", size = 220199 }, - { url = "https://files.pythonhosted.org/packages/b8/1b/c29b570bc5db8237553002788dc734d6bd71443a2ceac2a58202ec06ef12/rpds_py-0.22.3-cp311-cp311-win_amd64.whl", hash = "sha256:8bd7c8cfc0b8247c8799080fbff54e0b9619e17cdfeb0478ba7295d43f635d7c", size = 231775 }, - { url = "https://files.pythonhosted.org/packages/75/47/3383ee3bd787a2a5e65a9b9edc37ccf8505c0a00170e3a5e6ea5fbcd97f7/rpds_py-0.22.3-cp312-cp312-macosx_10_12_x86_64.whl", hash = "sha256:27e98004595899949bd7a7b34e91fa7c44d7a97c40fcaf1d874168bb652ec67e", size = 352334 }, - { url = "https://files.pythonhosted.org/packages/40/14/aa6400fa8158b90a5a250a77f2077c0d0cd8a76fce31d9f2b289f04c6dec/rpds_py-0.22.3-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:1978d0021e943aae58b9b0b196fb4895a25cc53d3956b8e35e0b7682eefb6d56", size = 342111 }, - { url = "https://files.pythonhosted.org/packages/7d/06/395a13bfaa8a28b302fb433fb285a67ce0ea2004959a027aea8f9c52bad4/rpds_py-0.22.3-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:655ca44a831ecb238d124e0402d98f6212ac527a0ba6c55ca26f616604e60a45", size = 384286 }, - { url = "https://files.pythonhosted.org/packages/43/52/d8eeaffab047e6b7b7ef7f00d5ead074a07973968ffa2d5820fa131d7852/rpds_py-0.22.3-cp312-cp312-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:feea821ee2a9273771bae61194004ee2fc33f8ec7db08117ef9147d4bbcbca8e", size = 391739 }, - { url = "https://files.pythonhosted.org/packages/83/31/52dc4bde85c60b63719610ed6f6d61877effdb5113a72007679b786377b8/rpds_py-0.22.3-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:22bebe05a9ffc70ebfa127efbc429bc26ec9e9b4ee4d15a740033efda515cf3d", size = 427306 }, - { url = "https://files.pythonhosted.org/packages/70/d5/1bab8e389c2261dba1764e9e793ed6830a63f830fdbec581a242c7c46bda/rpds_py-0.22.3-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:3af6e48651c4e0d2d166dc1b033b7042ea3f871504b6805ba5f4fe31581d8d38", size = 442717 }, - { url = "https://files.pythonhosted.org/packages/82/a1/a45f3e30835b553379b3a56ea6c4eb622cf11e72008229af840e4596a8ea/rpds_py-0.22.3-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:e67ba3c290821343c192f7eae1d8fd5999ca2dc99994114643e2f2d3e6138b15", size = 385721 }, - { url = "https://files.pythonhosted.org/packages/a6/27/780c942de3120bdd4d0e69583f9c96e179dfff082f6ecbb46b8d6488841f/rpds_py-0.22.3-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:02fbb9c288ae08bcb34fb41d516d5eeb0455ac35b5512d03181d755d80810059", size = 415824 }, - { url = "https://files.pythonhosted.org/packages/94/0b/aa0542ca88ad20ea719b06520f925bae348ea5c1fdf201b7e7202d20871d/rpds_py-0.22.3-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:f56a6b404f74ab372da986d240e2e002769a7d7102cc73eb238a4f72eec5284e", size = 561227 }, - { url = "https://files.pythonhosted.org/packages/0d/92/3ed77d215f82c8f844d7f98929d56cc321bb0bcfaf8f166559b8ec56e5f1/rpds_py-0.22.3-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:0a0461200769ab3b9ab7e513f6013b7a97fdeee41c29b9db343f3c5a8e2b9e61", size = 587424 }, - { url = "https://files.pythonhosted.org/packages/09/42/cacaeb047a22cab6241f107644f230e2935d4efecf6488859a7dd82fc47d/rpds_py-0.22.3-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:8633e471c6207a039eff6aa116e35f69f3156b3989ea3e2d755f7bc41754a4a7", size = 555953 }, - { url = "https://files.pythonhosted.org/packages/e6/52/c921dc6d5f5d45b212a456c1f5b17df1a471127e8037eb0972379e39dff4/rpds_py-0.22.3-cp312-cp312-win32.whl", hash = "sha256:593eba61ba0c3baae5bc9be2f5232430453fb4432048de28399ca7376de9c627", size = 221339 }, - { url = "https://files.pythonhosted.org/packages/f2/c7/f82b5be1e8456600395366f86104d1bd8d0faed3802ad511ef6d60c30d98/rpds_py-0.22.3-cp312-cp312-win_amd64.whl", hash = "sha256:d115bffdd417c6d806ea9069237a4ae02f513b778e3789a359bc5856e0404cc4", size = 235786 }, - { url = "https://files.pythonhosted.org/packages/d0/bf/36d5cc1f2c609ae6e8bf0fc35949355ca9d8790eceb66e6385680c951e60/rpds_py-0.22.3-cp313-cp313-macosx_10_12_x86_64.whl", hash = "sha256:ea7433ce7e4bfc3a85654aeb6747babe3f66eaf9a1d0c1e7a4435bbdf27fea84", size = 351657 }, - { url = "https://files.pythonhosted.org/packages/24/2a/f1e0fa124e300c26ea9382e59b2d582cba71cedd340f32d1447f4f29fa4e/rpds_py-0.22.3-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:6dd9412824c4ce1aca56c47b0991e65bebb7ac3f4edccfd3f156150c96a7bf25", size = 341829 }, - { url = "https://files.pythonhosted.org/packages/cf/c2/0da1231dd16953845bed60d1a586fcd6b15ceaeb965f4d35cdc71f70f606/rpds_py-0.22.3-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:20070c65396f7373f5df4005862fa162db5d25d56150bddd0b3e8214e8ef45b4", size = 384220 }, - { url = "https://files.pythonhosted.org/packages/c7/73/a4407f4e3a00a9d4b68c532bf2d873d6b562854a8eaff8faa6133b3588ec/rpds_py-0.22.3-cp313-cp313-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:0b09865a9abc0ddff4e50b5ef65467cd94176bf1e0004184eb915cbc10fc05c5", size = 391009 }, - { url = "https://files.pythonhosted.org/packages/a9/c3/04b7353477ab360fe2563f5f0b176d2105982f97cd9ae80a9c5a18f1ae0f/rpds_py-0.22.3-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:3453e8d41fe5f17d1f8e9c383a7473cd46a63661628ec58e07777c2fff7196dc", size = 426989 }, - { url = "https://files.pythonhosted.org/packages/8d/e6/e4b85b722bcf11398e17d59c0f6049d19cd606d35363221951e6d625fcb0/rpds_py-0.22.3-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:f5d36399a1b96e1a5fdc91e0522544580dbebeb1f77f27b2b0ab25559e103b8b", size = 441544 }, - { url = "https://files.pythonhosted.org/packages/27/fc/403e65e56f65fff25f2973216974976d3f0a5c3f30e53758589b6dc9b79b/rpds_py-0.22.3-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:009de23c9c9ee54bf11303a966edf4d9087cd43a6003672e6aa7def643d06518", size = 385179 }, - { url = "https://files.pythonhosted.org/packages/57/9b/2be9ff9700d664d51fd96b33d6595791c496d2778cb0b2a634f048437a55/rpds_py-0.22.3-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:1aef18820ef3e4587ebe8b3bc9ba6e55892a6d7b93bac6d29d9f631a3b4befbd", size = 415103 }, - { url = "https://files.pythonhosted.org/packages/bb/a5/03c2ad8ca10994fcf22dd2150dd1d653bc974fa82d9a590494c84c10c641/rpds_py-0.22.3-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:f60bd8423be1d9d833f230fdbccf8f57af322d96bcad6599e5a771b151398eb2", size = 560916 }, - { url = "https://files.pythonhosted.org/packages/ba/2e/be4fdfc8b5b576e588782b56978c5b702c5a2307024120d8aeec1ab818f0/rpds_py-0.22.3-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:62d9cfcf4948683a18a9aff0ab7e1474d407b7bab2ca03116109f8464698ab16", size = 587062 }, - { url = "https://files.pythonhosted.org/packages/67/e0/2034c221937709bf9c542603d25ad43a68b4b0a9a0c0b06a742f2756eb66/rpds_py-0.22.3-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:9253fc214112405f0afa7db88739294295f0e08466987f1d70e29930262b4c8f", size = 555734 }, - { url = "https://files.pythonhosted.org/packages/ea/ce/240bae07b5401a22482b58e18cfbabaa392409b2797da60223cca10d7367/rpds_py-0.22.3-cp313-cp313-win32.whl", hash = "sha256:fb0ba113b4983beac1a2eb16faffd76cb41e176bf58c4afe3e14b9c681f702de", size = 220663 }, - { url = "https://files.pythonhosted.org/packages/cb/f0/d330d08f51126330467edae2fa4efa5cec8923c87551a79299380fdea30d/rpds_py-0.22.3-cp313-cp313-win_amd64.whl", hash = "sha256:c58e2339def52ef6b71b8f36d13c3688ea23fa093353f3a4fee2556e62086ec9", size = 235503 }, - { url = "https://files.pythonhosted.org/packages/f7/c4/dbe1cc03df013bf2feb5ad00615038050e7859f381e96fb5b7b4572cd814/rpds_py-0.22.3-cp313-cp313t-macosx_10_12_x86_64.whl", hash = "sha256:f82a116a1d03628a8ace4859556fb39fd1424c933341a08ea3ed6de1edb0283b", size = 347698 }, - { url = "https://files.pythonhosted.org/packages/a4/3a/684f66dd6b0f37499cad24cd1c0e523541fd768576fa5ce2d0a8799c3cba/rpds_py-0.22.3-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:3dfcbc95bd7992b16f3f7ba05af8a64ca694331bd24f9157b49dadeeb287493b", size = 337330 }, - { url = "https://files.pythonhosted.org/packages/82/eb/e022c08c2ce2e8f7683baa313476492c0e2c1ca97227fe8a75d9f0181e95/rpds_py-0.22.3-cp313-cp313t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:59259dc58e57b10e7e18ce02c311804c10c5a793e6568f8af4dead03264584d1", size = 380022 }, - { url = "https://files.pythonhosted.org/packages/e4/21/5a80e653e4c86aeb28eb4fea4add1f72e1787a3299687a9187105c3ee966/rpds_py-0.22.3-cp313-cp313t-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:5725dd9cc02068996d4438d397e255dcb1df776b7ceea3b9cb972bdb11260a83", size = 390754 }, - { url = "https://files.pythonhosted.org/packages/37/a4/d320a04ae90f72d080b3d74597074e62be0a8ecad7d7321312dfe2dc5a6a/rpds_py-0.22.3-cp313-cp313t-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:99b37292234e61325e7a5bb9689e55e48c3f5f603af88b1642666277a81f1fbd", size = 423840 }, - { url = "https://files.pythonhosted.org/packages/87/70/674dc47d93db30a6624279284e5631be4c3a12a0340e8e4f349153546728/rpds_py-0.22.3-cp313-cp313t-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:27b1d3b3915a99208fee9ab092b8184c420f2905b7d7feb4aeb5e4a9c509b8a1", size = 438970 }, - { url = "https://files.pythonhosted.org/packages/3f/64/9500f4d66601d55cadd21e90784cfd5d5f4560e129d72e4339823129171c/rpds_py-0.22.3-cp313-cp313t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f612463ac081803f243ff13cccc648578e2279295048f2a8d5eb430af2bae6e3", size = 383146 }, - { url = "https://files.pythonhosted.org/packages/4d/45/630327addb1d17173adcf4af01336fd0ee030c04798027dfcb50106001e0/rpds_py-0.22.3-cp313-cp313t-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:f73d3fef726b3243a811121de45193c0ca75f6407fe66f3f4e183c983573e130", size = 408294 }, - { url = "https://files.pythonhosted.org/packages/5f/ef/8efb3373cee54ea9d9980b772e5690a0c9e9214045a4e7fa35046e399fee/rpds_py-0.22.3-cp313-cp313t-musllinux_1_2_aarch64.whl", hash = "sha256:3f21f0495edea7fdbaaa87e633a8689cd285f8f4af5c869f27bc8074638ad69c", size = 556345 }, - { url = "https://files.pythonhosted.org/packages/54/01/151d3b9ef4925fc8f15bfb131086c12ec3c3d6dd4a4f7589c335bf8e85ba/rpds_py-0.22.3-cp313-cp313t-musllinux_1_2_i686.whl", hash = "sha256:1e9663daaf7a63ceccbbb8e3808fe90415b0757e2abddbfc2e06c857bf8c5e2b", size = 582292 }, - { url = "https://files.pythonhosted.org/packages/30/89/35fc7a6cdf3477d441c7aca5e9bbf5a14e0f25152aed7f63f4e0b141045d/rpds_py-0.22.3-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:a76e42402542b1fae59798fab64432b2d015ab9d0c8c47ba7addddbaf7952333", size = 553855 }, - { url = "https://files.pythonhosted.org/packages/8f/e0/830c02b2457c4bd20a8c5bb394d31d81f57fbefce2dbdd2e31feff4f7003/rpds_py-0.22.3-cp313-cp313t-win32.whl", hash = "sha256:69803198097467ee7282750acb507fba35ca22cc3b85f16cf45fb01cb9097730", size = 219100 }, - { url = "https://files.pythonhosted.org/packages/f8/30/7ac943f69855c2db77407ae363484b915d861702dbba1aa82d68d57f42be/rpds_py-0.22.3-cp313-cp313t-win_amd64.whl", hash = "sha256:f5cf2a0c2bdadf3791b5c205d55a37a54025c6e18a71c71f82bb536cf9a454bf", size = 233794 }, - { url = "https://files.pythonhosted.org/packages/db/0f/a8ad17ddac7c880f48d5da50733dd25bfc35ba2be1bec9f23453e8c7a123/rpds_py-0.22.3-cp39-cp39-macosx_10_12_x86_64.whl", hash = "sha256:378753b4a4de2a7b34063d6f95ae81bfa7b15f2c1a04a9518e8644e81807ebea", size = 359735 }, - { url = "https://files.pythonhosted.org/packages/0c/41/430903669397ea3ee76865e0b53ea236e8dc0ffbecde47b2c4c783ad6759/rpds_py-0.22.3-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:3445e07bf2e8ecfeef6ef67ac83de670358abf2996916039b16a218e3d95e97e", size = 348724 }, - { url = "https://files.pythonhosted.org/packages/c9/5c/3496f4f0ee818297544f2d5f641c49dde8ae156392e6834b79c0609ba006/rpds_py-0.22.3-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:7b2513ba235829860b13faa931f3b6846548021846ac808455301c23a101689d", size = 381782 }, - { url = "https://files.pythonhosted.org/packages/b6/dc/db0523ce0cd16ce579185cc9aa9141992de956d0a9c469ecfd1fb5d54ddc/rpds_py-0.22.3-cp39-cp39-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:eaf16ae9ae519a0e237a0f528fd9f0197b9bb70f40263ee57ae53c2b8d48aeb3", size = 387036 }, - { url = "https://files.pythonhosted.org/packages/85/2a/9525c2427d2c257f877348918136a5d4e1b945c205a256e53bec61e54551/rpds_py-0.22.3-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:583f6a1993ca3369e0f80ba99d796d8e6b1a3a2a442dd4e1a79e652116413091", size = 424566 }, - { url = "https://files.pythonhosted.org/packages/b9/1c/f8c012a39794b84069635709f559c0309103d5d74b3f5013916e6ca4f174/rpds_py-0.22.3-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:4617e1915a539a0d9a9567795023de41a87106522ff83fbfaf1f6baf8e85437e", size = 447203 }, - { url = "https://files.pythonhosted.org/packages/93/f5/c1c772364570d35b98ba64f36ec90c3c6d0b932bc4d8b9b4efef6dc64b07/rpds_py-0.22.3-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:0c150c7a61ed4a4f4955a96626574e9baf1adf772c2fb61ef6a5027e52803543", size = 382283 }, - { url = "https://files.pythonhosted.org/packages/10/06/f94f61313f94fc75c3c3aa74563f80bbd990e5b25a7c1a38cee7d5d0309b/rpds_py-0.22.3-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:2fa4331c200c2521512595253f5bb70858b90f750d39b8cbfd67465f8d1b596d", size = 410022 }, - { url = "https://files.pythonhosted.org/packages/3f/b0/37ab416a9528419920dfb64886c220f58fcbd66b978e0a91b66e9ee9a993/rpds_py-0.22.3-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:214b7a953d73b5e87f0ebece4a32a5bd83c60a3ecc9d4ec8f1dca968a2d91e99", size = 557817 }, - { url = "https://files.pythonhosted.org/packages/2c/5d/9daa18adcd676dd3b2817c8a7cec3f3ebeeb0ce0d05a1b63bf994fc5114f/rpds_py-0.22.3-cp39-cp39-musllinux_1_2_i686.whl", hash = "sha256:f47ad3d5f3258bd7058d2d506852217865afefe6153a36eb4b6928758041d831", size = 585099 }, - { url = "https://files.pythonhosted.org/packages/41/3f/ad4e58035d3f848410aa3d59857b5f238bafab81c8b4a844281f80445d62/rpds_py-0.22.3-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:f276b245347e6e36526cbd4a266a417796fc531ddf391e43574cf6466c492520", size = 552818 }, - { url = "https://files.pythonhosted.org/packages/b8/19/123acae8f4cab3c9463097c3ced3cc87c46f405056e249c874940e045309/rpds_py-0.22.3-cp39-cp39-win32.whl", hash = "sha256:bbb232860e3d03d544bc03ac57855cd82ddf19c7a07651a7c0fdb95e9efea8b9", size = 220246 }, - { url = "https://files.pythonhosted.org/packages/8b/8d/9db93e48d96ace1f6713c71ce72e2d94b71d82156c37b6a54e0930486f00/rpds_py-0.22.3-cp39-cp39-win_amd64.whl", hash = "sha256:cfbc454a2880389dbb9b5b398e50d439e2e58669160f27b60e5eca11f68ae17c", size = 231932 }, - { url = "https://files.pythonhosted.org/packages/8b/63/e29f8ee14fcf383574f73b6bbdcbec0fbc2e5fc36b4de44d1ac389b1de62/rpds_py-0.22.3-pp310-pypy310_pp73-macosx_10_12_x86_64.whl", hash = "sha256:d48424e39c2611ee1b84ad0f44fb3b2b53d473e65de061e3f460fc0be5f1939d", size = 360786 }, - { url = "https://files.pythonhosted.org/packages/d3/e0/771ee28b02a24e81c8c0e645796a371350a2bb6672753144f36ae2d2afc9/rpds_py-0.22.3-pp310-pypy310_pp73-macosx_11_0_arm64.whl", hash = "sha256:24e8abb5878e250f2eb0d7859a8e561846f98910326d06c0d51381fed59357bd", size = 350589 }, - { url = "https://files.pythonhosted.org/packages/cf/49/abad4c4a1e6f3adf04785a99c247bfabe55ed868133e2d1881200aa5d381/rpds_py-0.22.3-pp310-pypy310_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:4b232061ca880db21fa14defe219840ad9b74b6158adb52ddf0e87bead9e8493", size = 381848 }, - { url = "https://files.pythonhosted.org/packages/3a/7d/f4bc6d6fbe6af7a0d2b5f2ee77079efef7c8528712745659ec0026888998/rpds_py-0.22.3-pp310-pypy310_pp73-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:ac0a03221cdb5058ce0167ecc92a8c89e8d0decdc9e99a2ec23380793c4dcb96", size = 387879 }, - { url = "https://files.pythonhosted.org/packages/13/b0/575c797377fdcd26cedbb00a3324232e4cb2c5d121f6e4b0dbf8468b12ef/rpds_py-0.22.3-pp310-pypy310_pp73-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:eb0c341fa71df5a4595f9501df4ac5abfb5a09580081dffbd1ddd4654e6e9123", size = 423916 }, - { url = "https://files.pythonhosted.org/packages/54/78/87157fa39d58f32a68d3326f8a81ad8fb99f49fe2aa7ad9a1b7d544f9478/rpds_py-0.22.3-pp310-pypy310_pp73-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:bf9db5488121b596dbfc6718c76092fda77b703c1f7533a226a5a9f65248f8ad", size = 448410 }, - { url = "https://files.pythonhosted.org/packages/59/69/860f89996065a88be1b6ff2d60e96a02b920a262d8aadab99e7903986597/rpds_py-0.22.3-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:0b8db6b5b2d4491ad5b6bdc2bc7c017eec108acbf4e6785f42a9eb0ba234f4c9", size = 382841 }, - { url = "https://files.pythonhosted.org/packages/bd/d7/bc144e10d27e3cb350f98df2492a319edd3caaf52ddfe1293f37a9afbfd7/rpds_py-0.22.3-pp310-pypy310_pp73-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:b3d504047aba448d70cf6fa22e06cb09f7cbd761939fdd47604f5e007675c24e", size = 409662 }, - { url = "https://files.pythonhosted.org/packages/14/2a/6bed0b05233c291a94c7e89bc76ffa1c619d4e1979fbfe5d96024020c1fb/rpds_py-0.22.3-pp310-pypy310_pp73-musllinux_1_2_aarch64.whl", hash = "sha256:e61b02c3f7a1e0b75e20c3978f7135fd13cb6cf551bf4a6d29b999a88830a338", size = 558221 }, - { url = "https://files.pythonhosted.org/packages/11/23/cd8f566de444a137bc1ee5795e47069a947e60810ba4152886fe5308e1b7/rpds_py-0.22.3-pp310-pypy310_pp73-musllinux_1_2_i686.whl", hash = "sha256:e35ba67d65d49080e8e5a1dd40101fccdd9798adb9b050ff670b7d74fa41c566", size = 583780 }, - { url = "https://files.pythonhosted.org/packages/8d/63/79c3602afd14d501f751e615a74a59040328da5ef29ed5754ae80d236b84/rpds_py-0.22.3-pp310-pypy310_pp73-musllinux_1_2_x86_64.whl", hash = "sha256:26fd7cac7dd51011a245f29a2cc6489c4608b5a8ce8d75661bb4a1066c52dfbe", size = 553619 }, - { url = "https://files.pythonhosted.org/packages/9f/2e/c5c1689e80298d4e94c75b70faada4c25445739d91b94c211244a3ed7ed1/rpds_py-0.22.3-pp310-pypy310_pp73-win_amd64.whl", hash = "sha256:177c7c0fce2855833819c98e43c262007f42ce86651ffbb84f37883308cb0e7d", size = 233338 }, - { url = "https://files.pythonhosted.org/packages/bc/b7/d2c205723e3b4d75b03215694f0297a1b4b395bf834cb5896ad9bbb90f90/rpds_py-0.22.3-pp39-pypy39_pp73-macosx_10_12_x86_64.whl", hash = "sha256:bb47271f60660803ad11f4c61b42242b8c1312a31c98c578f79ef9387bbde21c", size = 360594 }, - { url = "https://files.pythonhosted.org/packages/d8/8f/c3515f5234cf6055046d4cfe9c80a3742a20acfa7d0b1b290f0d7f56a8db/rpds_py-0.22.3-pp39-pypy39_pp73-macosx_11_0_arm64.whl", hash = "sha256:70fb28128acbfd264eda9bf47015537ba3fe86e40d046eb2963d75024be4d055", size = 349594 }, - { url = "https://files.pythonhosted.org/packages/6b/98/5b487cb06afc484befe350c87fda37f4ce11333f04f3380aba43dcf5bce2/rpds_py-0.22.3-pp39-pypy39_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:44d61b4b7d0c2c9ac019c314e52d7cbda0ae31078aabd0f22e583af3e0d79723", size = 381138 }, - { url = "https://files.pythonhosted.org/packages/5e/3a/12308d2c51b3fdfc173619943b7dc5ba41b4850c47112eeda38d9c54ed12/rpds_py-0.22.3-pp39-pypy39_pp73-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:5f0e260eaf54380380ac3808aa4ebe2d8ca28b9087cf411649f96bad6900c728", size = 387828 }, - { url = "https://files.pythonhosted.org/packages/17/b2/c242241ab5a2a206e093f24ccbfa519c4bbf10a762ac90bffe1766c225e0/rpds_py-0.22.3-pp39-pypy39_pp73-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:b25bc607423935079e05619d7de556c91fb6adeae9d5f80868dde3468657994b", size = 424634 }, - { url = "https://files.pythonhosted.org/packages/d5/c7/52a1b15012139f3ba740f291f1d03c6b632938ba61bc605f24c101952493/rpds_py-0.22.3-pp39-pypy39_pp73-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:fb6116dfb8d1925cbdb52595560584db42a7f664617a1f7d7f6e32f138cdf37d", size = 447862 }, - { url = "https://files.pythonhosted.org/packages/55/3e/4d3ed8fd01bad77e8ed101116fe63b03f1011940d9596a8f4d82ac80cacd/rpds_py-0.22.3-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:a63cbdd98acef6570c62b92a1e43266f9e8b21e699c363c0fef13bd530799c11", size = 382506 }, - { url = "https://files.pythonhosted.org/packages/30/78/df59d6f92470a84369a3757abeae1cfd7f7239c8beb6d948949bf78317d2/rpds_py-0.22.3-pp39-pypy39_pp73-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:2b8f60e1b739a74bab7e01fcbe3dddd4657ec685caa04681df9d562ef15b625f", size = 410534 }, - { url = "https://files.pythonhosted.org/packages/38/97/ea45d1edd9b753b20084b52dd5db6ee5e1ac3e036a27149972398a413858/rpds_py-0.22.3-pp39-pypy39_pp73-musllinux_1_2_aarch64.whl", hash = "sha256:2e8b55d8517a2fda8d95cb45d62a5a8bbf9dd0ad39c5b25c8833efea07b880ca", size = 557453 }, - { url = "https://files.pythonhosted.org/packages/08/cd/3a1b35eb9da27ffbb981cfffd32a01c7655c4431ccb278cb3064f8887462/rpds_py-0.22.3-pp39-pypy39_pp73-musllinux_1_2_i686.whl", hash = "sha256:2de29005e11637e7a2361fa151f780ff8eb2543a0da1413bb951e9f14b699ef3", size = 584412 }, - { url = "https://files.pythonhosted.org/packages/87/91/31d1c5aeb1606f71188259e0ba6ed6f5c21a3c72f58b51db6a8bd0aa2b5d/rpds_py-0.22.3-pp39-pypy39_pp73-musllinux_1_2_x86_64.whl", hash = "sha256:666ecce376999bf619756a24ce15bb14c5bfaf04bf00abc7e663ce17c3f34fe7", size = 553446 }, - { url = "https://files.pythonhosted.org/packages/e7/ad/03b5ccd1ab492c9dece85b3bf1c96453ab8c47983936fae6880f688f60b3/rpds_py-0.22.3-pp39-pypy39_pp73-win_amd64.whl", hash = "sha256:5246b14ca64a8675e0a7161f7af68fe3e910e6b90542b4bfb5439ba752191df6", size = 233013 }, +sdist = { url = "https://files.pythonhosted.org/packages/01/80/cce854d0921ff2f0a9fa831ba3ad3c65cee3a46711addf39a2af52df2cfd/rpds_py-0.22.3.tar.gz", hash = "sha256:e32fee8ab45d3c2db6da19a5323bc3362237c8b653c70194414b892fd06a080d", size = 26771, upload-time = "2024-12-04T15:34:14.949Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/42/2a/ead1d09e57449b99dcc190d8d2323e3a167421d8f8fdf0f217c6f6befe47/rpds_py-0.22.3-cp310-cp310-macosx_10_12_x86_64.whl", hash = "sha256:6c7b99ca52c2c1752b544e310101b98a659b720b21db00e65edca34483259967", size = 359514, upload-time = "2024-12-04T15:31:31.341Z" }, + { url = "https://files.pythonhosted.org/packages/8f/7e/1254f406b7793b586c68e217a6a24ec79040f85e030fff7e9049069284f4/rpds_py-0.22.3-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:be2eb3f2495ba669d2a985f9b426c1797b7d48d6963899276d22f23e33d47e37", size = 349031, upload-time = "2024-12-04T15:31:32.973Z" }, + { url = "https://files.pythonhosted.org/packages/aa/da/17c6a2c73730d426df53675ff9cc6653ac7a60b6438d03c18e1c822a576a/rpds_py-0.22.3-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:70eb60b3ae9245ddea20f8a4190bd79c705a22f8028aaf8bbdebe4716c3fab24", size = 381485, upload-time = "2024-12-04T15:31:34.586Z" }, + { url = "https://files.pythonhosted.org/packages/aa/13/2dbacd820466aa2a3c4b747afb18d71209523d353cf865bf8f4796c969ea/rpds_py-0.22.3-cp310-cp310-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:4041711832360a9b75cfb11b25a6a97c8fb49c07b8bd43d0d02b45d0b499a4ff", size = 386794, upload-time = "2024-12-04T15:31:37.237Z" }, + { url = "https://files.pythonhosted.org/packages/6d/62/96905d0a35ad4e4bc3c098b2f34b2e7266e211d08635baa690643d2227be/rpds_py-0.22.3-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:64607d4cbf1b7e3c3c8a14948b99345eda0e161b852e122c6bb71aab6d1d798c", size = 423523, upload-time = "2024-12-04T15:31:39.259Z" }, + { url = "https://files.pythonhosted.org/packages/eb/1b/d12770f2b6a9fc2c3ec0d810d7d440f6d465ccd8b7f16ae5385952c28b89/rpds_py-0.22.3-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:81e69b0a0e2537f26d73b4e43ad7bc8c8efb39621639b4434b76a3de50c6966e", size = 446695, upload-time = "2024-12-04T15:31:40.477Z" }, + { url = "https://files.pythonhosted.org/packages/4d/cf/96f1fd75512a017f8e07408b6d5dbeb492d9ed46bfe0555544294f3681b3/rpds_py-0.22.3-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:bc27863442d388870c1809a87507727b799c8460573cfbb6dc0eeaef5a11b5ec", size = 381959, upload-time = "2024-12-04T15:31:41.665Z" }, + { url = "https://files.pythonhosted.org/packages/ab/f0/d1c5b501c8aea85aeb938b555bfdf7612110a2f8cdc21ae0482c93dd0c24/rpds_py-0.22.3-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:e79dd39f1e8c3504be0607e5fc6e86bb60fe3584bec8b782578c3b0fde8d932c", size = 410420, upload-time = "2024-12-04T15:31:43.407Z" }, + { url = "https://files.pythonhosted.org/packages/33/3b/45b6c58fb6aad5a569ae40fb890fc494c6b02203505a5008ee6dc68e65f7/rpds_py-0.22.3-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:e0fa2d4ec53dc51cf7d3bb22e0aa0143966119f42a0c3e4998293a3dd2856b09", size = 557620, upload-time = "2024-12-04T15:31:45.271Z" }, + { url = "https://files.pythonhosted.org/packages/83/62/3fdd2d3d47bf0bb9b931c4c73036b4ab3ec77b25e016ae26fab0f02be2af/rpds_py-0.22.3-cp310-cp310-musllinux_1_2_i686.whl", hash = "sha256:fda7cb070f442bf80b642cd56483b5548e43d366fe3f39b98e67cce780cded00", size = 584202, upload-time = "2024-12-04T15:31:47.21Z" }, + { url = "https://files.pythonhosted.org/packages/04/f2/5dced98b64874b84ca824292f9cee2e3f30f3bcf231d15a903126684f74d/rpds_py-0.22.3-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:cff63a0272fcd259dcc3be1657b07c929c466b067ceb1c20060e8d10af56f5bf", size = 552787, upload-time = "2024-12-04T15:31:49.142Z" }, + { url = "https://files.pythonhosted.org/packages/67/13/2273dea1204eda0aea0ef55145da96a9aa28b3f88bb5c70e994f69eda7c3/rpds_py-0.22.3-cp310-cp310-win32.whl", hash = "sha256:9bd7228827ec7bb817089e2eb301d907c0d9827a9e558f22f762bb690b131652", size = 220088, upload-time = "2024-12-04T15:31:51.303Z" }, + { url = "https://files.pythonhosted.org/packages/4e/80/8c8176b67ad7f4a894967a7a4014ba039626d96f1d4874d53e409b58d69f/rpds_py-0.22.3-cp310-cp310-win_amd64.whl", hash = "sha256:9beeb01d8c190d7581a4d59522cd3d4b6887040dcfc744af99aa59fef3e041a8", size = 231737, upload-time = "2024-12-04T15:31:52.611Z" }, + { url = "https://files.pythonhosted.org/packages/15/ad/8d1ddf78f2805a71253fcd388017e7b4a0615c22c762b6d35301fef20106/rpds_py-0.22.3-cp311-cp311-macosx_10_12_x86_64.whl", hash = "sha256:d20cfb4e099748ea39e6f7b16c91ab057989712d31761d3300d43134e26e165f", size = 359773, upload-time = "2024-12-04T15:31:53.773Z" }, + { url = "https://files.pythonhosted.org/packages/c8/75/68c15732293a8485d79fe4ebe9045525502a067865fa4278f178851b2d87/rpds_py-0.22.3-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:68049202f67380ff9aa52f12e92b1c30115f32e6895cd7198fa2a7961621fc5a", size = 349214, upload-time = "2024-12-04T15:31:57.443Z" }, + { url = "https://files.pythonhosted.org/packages/3c/4c/7ce50f3070083c2e1b2bbd0fb7046f3da55f510d19e283222f8f33d7d5f4/rpds_py-0.22.3-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:fb4f868f712b2dd4bcc538b0a0c1f63a2b1d584c925e69a224d759e7070a12d5", size = 380477, upload-time = "2024-12-04T15:31:58.713Z" }, + { url = "https://files.pythonhosted.org/packages/9a/e9/835196a69cb229d5c31c13b8ae603bd2da9a6695f35fe4270d398e1db44c/rpds_py-0.22.3-cp311-cp311-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:bc51abd01f08117283c5ebf64844a35144a0843ff7b2983e0648e4d3d9f10dbb", size = 386171, upload-time = "2024-12-04T15:32:01.33Z" }, + { url = "https://files.pythonhosted.org/packages/f9/8e/33fc4eba6683db71e91e6d594a2cf3a8fbceb5316629f0477f7ece5e3f75/rpds_py-0.22.3-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:0f3cec041684de9a4684b1572fe28c7267410e02450f4561700ca5a3bc6695a2", size = 422676, upload-time = "2024-12-04T15:32:03.223Z" }, + { url = "https://files.pythonhosted.org/packages/37/47/2e82d58f8046a98bb9497a8319604c92b827b94d558df30877c4b3c6ccb3/rpds_py-0.22.3-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:7ef9d9da710be50ff6809fed8f1963fecdfecc8b86656cadfca3bc24289414b0", size = 446152, upload-time = "2024-12-04T15:32:05.109Z" }, + { url = "https://files.pythonhosted.org/packages/e1/78/79c128c3e71abbc8e9739ac27af11dc0f91840a86fce67ff83c65d1ba195/rpds_py-0.22.3-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:59f4a79c19232a5774aee369a0c296712ad0e77f24e62cad53160312b1c1eaa1", size = 381300, upload-time = "2024-12-04T15:32:06.404Z" }, + { url = "https://files.pythonhosted.org/packages/c9/5b/2e193be0e8b228c1207f31fa3ea79de64dadb4f6a4833111af8145a6bc33/rpds_py-0.22.3-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:1a60bce91f81ddaac922a40bbb571a12c1070cb20ebd6d49c48e0b101d87300d", size = 409636, upload-time = "2024-12-04T15:32:07.568Z" }, + { url = "https://files.pythonhosted.org/packages/c2/3f/687c7100b762d62186a1c1100ffdf99825f6fa5ea94556844bbbd2d0f3a9/rpds_py-0.22.3-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:e89391e6d60251560f0a8f4bd32137b077a80d9b7dbe6d5cab1cd80d2746f648", size = 556708, upload-time = "2024-12-04T15:32:09.141Z" }, + { url = "https://files.pythonhosted.org/packages/8c/a2/c00cbc4b857e8b3d5e7f7fc4c81e23afd8c138b930f4f3ccf9a41a23e9e4/rpds_py-0.22.3-cp311-cp311-musllinux_1_2_i686.whl", hash = "sha256:e3fb866d9932a3d7d0c82da76d816996d1667c44891bd861a0f97ba27e84fc74", size = 583554, upload-time = "2024-12-04T15:32:11.17Z" }, + { url = "https://files.pythonhosted.org/packages/d0/08/696c9872cf56effdad9ed617ac072f6774a898d46b8b8964eab39ec562d2/rpds_py-0.22.3-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:1352ae4f7c717ae8cba93421a63373e582d19d55d2ee2cbb184344c82d2ae55a", size = 552105, upload-time = "2024-12-04T15:32:12.701Z" }, + { url = "https://files.pythonhosted.org/packages/18/1f/4df560be1e994f5adf56cabd6c117e02de7c88ee238bb4ce03ed50da9d56/rpds_py-0.22.3-cp311-cp311-win32.whl", hash = "sha256:b0b4136a252cadfa1adb705bb81524eee47d9f6aab4f2ee4fa1e9d3cd4581f64", size = 220199, upload-time = "2024-12-04T15:32:13.903Z" }, + { url = "https://files.pythonhosted.org/packages/b8/1b/c29b570bc5db8237553002788dc734d6bd71443a2ceac2a58202ec06ef12/rpds_py-0.22.3-cp311-cp311-win_amd64.whl", hash = "sha256:8bd7c8cfc0b8247c8799080fbff54e0b9619e17cdfeb0478ba7295d43f635d7c", size = 231775, upload-time = "2024-12-04T15:32:15.137Z" }, + { url = "https://files.pythonhosted.org/packages/75/47/3383ee3bd787a2a5e65a9b9edc37ccf8505c0a00170e3a5e6ea5fbcd97f7/rpds_py-0.22.3-cp312-cp312-macosx_10_12_x86_64.whl", hash = "sha256:27e98004595899949bd7a7b34e91fa7c44d7a97c40fcaf1d874168bb652ec67e", size = 352334, upload-time = "2024-12-04T15:32:16.432Z" }, + { url = "https://files.pythonhosted.org/packages/40/14/aa6400fa8158b90a5a250a77f2077c0d0cd8a76fce31d9f2b289f04c6dec/rpds_py-0.22.3-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:1978d0021e943aae58b9b0b196fb4895a25cc53d3956b8e35e0b7682eefb6d56", size = 342111, upload-time = "2024-12-04T15:32:18.336Z" }, + { url = "https://files.pythonhosted.org/packages/7d/06/395a13bfaa8a28b302fb433fb285a67ce0ea2004959a027aea8f9c52bad4/rpds_py-0.22.3-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:655ca44a831ecb238d124e0402d98f6212ac527a0ba6c55ca26f616604e60a45", size = 384286, upload-time = "2024-12-04T15:32:19.589Z" }, + { url = "https://files.pythonhosted.org/packages/43/52/d8eeaffab047e6b7b7ef7f00d5ead074a07973968ffa2d5820fa131d7852/rpds_py-0.22.3-cp312-cp312-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:feea821ee2a9273771bae61194004ee2fc33f8ec7db08117ef9147d4bbcbca8e", size = 391739, upload-time = "2024-12-04T15:32:20.772Z" }, + { url = "https://files.pythonhosted.org/packages/83/31/52dc4bde85c60b63719610ed6f6d61877effdb5113a72007679b786377b8/rpds_py-0.22.3-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:22bebe05a9ffc70ebfa127efbc429bc26ec9e9b4ee4d15a740033efda515cf3d", size = 427306, upload-time = "2024-12-04T15:32:23.138Z" }, + { url = "https://files.pythonhosted.org/packages/70/d5/1bab8e389c2261dba1764e9e793ed6830a63f830fdbec581a242c7c46bda/rpds_py-0.22.3-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:3af6e48651c4e0d2d166dc1b033b7042ea3f871504b6805ba5f4fe31581d8d38", size = 442717, upload-time = "2024-12-04T15:32:24.399Z" }, + { url = "https://files.pythonhosted.org/packages/82/a1/a45f3e30835b553379b3a56ea6c4eb622cf11e72008229af840e4596a8ea/rpds_py-0.22.3-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:e67ba3c290821343c192f7eae1d8fd5999ca2dc99994114643e2f2d3e6138b15", size = 385721, upload-time = "2024-12-04T15:32:26.464Z" }, + { url = "https://files.pythonhosted.org/packages/a6/27/780c942de3120bdd4d0e69583f9c96e179dfff082f6ecbb46b8d6488841f/rpds_py-0.22.3-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:02fbb9c288ae08bcb34fb41d516d5eeb0455ac35b5512d03181d755d80810059", size = 415824, upload-time = "2024-12-04T15:32:27.742Z" }, + { url = "https://files.pythonhosted.org/packages/94/0b/aa0542ca88ad20ea719b06520f925bae348ea5c1fdf201b7e7202d20871d/rpds_py-0.22.3-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:f56a6b404f74ab372da986d240e2e002769a7d7102cc73eb238a4f72eec5284e", size = 561227, upload-time = "2024-12-04T15:32:29.722Z" }, + { url = "https://files.pythonhosted.org/packages/0d/92/3ed77d215f82c8f844d7f98929d56cc321bb0bcfaf8f166559b8ec56e5f1/rpds_py-0.22.3-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:0a0461200769ab3b9ab7e513f6013b7a97fdeee41c29b9db343f3c5a8e2b9e61", size = 587424, upload-time = "2024-12-04T15:32:31.039Z" }, + { url = "https://files.pythonhosted.org/packages/09/42/cacaeb047a22cab6241f107644f230e2935d4efecf6488859a7dd82fc47d/rpds_py-0.22.3-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:8633e471c6207a039eff6aa116e35f69f3156b3989ea3e2d755f7bc41754a4a7", size = 555953, upload-time = "2024-12-04T15:32:32.486Z" }, + { url = "https://files.pythonhosted.org/packages/e6/52/c921dc6d5f5d45b212a456c1f5b17df1a471127e8037eb0972379e39dff4/rpds_py-0.22.3-cp312-cp312-win32.whl", hash = "sha256:593eba61ba0c3baae5bc9be2f5232430453fb4432048de28399ca7376de9c627", size = 221339, upload-time = "2024-12-04T15:32:33.768Z" }, + { url = "https://files.pythonhosted.org/packages/f2/c7/f82b5be1e8456600395366f86104d1bd8d0faed3802ad511ef6d60c30d98/rpds_py-0.22.3-cp312-cp312-win_amd64.whl", hash = "sha256:d115bffdd417c6d806ea9069237a4ae02f513b778e3789a359bc5856e0404cc4", size = 235786, upload-time = "2024-12-04T15:32:34.985Z" }, + { url = "https://files.pythonhosted.org/packages/d0/bf/36d5cc1f2c609ae6e8bf0fc35949355ca9d8790eceb66e6385680c951e60/rpds_py-0.22.3-cp313-cp313-macosx_10_12_x86_64.whl", hash = "sha256:ea7433ce7e4bfc3a85654aeb6747babe3f66eaf9a1d0c1e7a4435bbdf27fea84", size = 351657, upload-time = "2024-12-04T15:32:36.241Z" }, + { url = "https://files.pythonhosted.org/packages/24/2a/f1e0fa124e300c26ea9382e59b2d582cba71cedd340f32d1447f4f29fa4e/rpds_py-0.22.3-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:6dd9412824c4ce1aca56c47b0991e65bebb7ac3f4edccfd3f156150c96a7bf25", size = 341829, upload-time = "2024-12-04T15:32:37.607Z" }, + { url = "https://files.pythonhosted.org/packages/cf/c2/0da1231dd16953845bed60d1a586fcd6b15ceaeb965f4d35cdc71f70f606/rpds_py-0.22.3-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:20070c65396f7373f5df4005862fa162db5d25d56150bddd0b3e8214e8ef45b4", size = 384220, upload-time = "2024-12-04T15:32:38.854Z" }, + { url = "https://files.pythonhosted.org/packages/c7/73/a4407f4e3a00a9d4b68c532bf2d873d6b562854a8eaff8faa6133b3588ec/rpds_py-0.22.3-cp313-cp313-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:0b09865a9abc0ddff4e50b5ef65467cd94176bf1e0004184eb915cbc10fc05c5", size = 391009, upload-time = "2024-12-04T15:32:40.137Z" }, + { url = "https://files.pythonhosted.org/packages/a9/c3/04b7353477ab360fe2563f5f0b176d2105982f97cd9ae80a9c5a18f1ae0f/rpds_py-0.22.3-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:3453e8d41fe5f17d1f8e9c383a7473cd46a63661628ec58e07777c2fff7196dc", size = 426989, upload-time = "2024-12-04T15:32:41.325Z" }, + { url = "https://files.pythonhosted.org/packages/8d/e6/e4b85b722bcf11398e17d59c0f6049d19cd606d35363221951e6d625fcb0/rpds_py-0.22.3-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:f5d36399a1b96e1a5fdc91e0522544580dbebeb1f77f27b2b0ab25559e103b8b", size = 441544, upload-time = "2024-12-04T15:32:42.589Z" }, + { url = "https://files.pythonhosted.org/packages/27/fc/403e65e56f65fff25f2973216974976d3f0a5c3f30e53758589b6dc9b79b/rpds_py-0.22.3-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:009de23c9c9ee54bf11303a966edf4d9087cd43a6003672e6aa7def643d06518", size = 385179, upload-time = "2024-12-04T15:32:44.331Z" }, + { url = "https://files.pythonhosted.org/packages/57/9b/2be9ff9700d664d51fd96b33d6595791c496d2778cb0b2a634f048437a55/rpds_py-0.22.3-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:1aef18820ef3e4587ebe8b3bc9ba6e55892a6d7b93bac6d29d9f631a3b4befbd", size = 415103, upload-time = "2024-12-04T15:32:46.599Z" }, + { url = "https://files.pythonhosted.org/packages/bb/a5/03c2ad8ca10994fcf22dd2150dd1d653bc974fa82d9a590494c84c10c641/rpds_py-0.22.3-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:f60bd8423be1d9d833f230fdbccf8f57af322d96bcad6599e5a771b151398eb2", size = 560916, upload-time = "2024-12-04T15:32:47.916Z" }, + { url = "https://files.pythonhosted.org/packages/ba/2e/be4fdfc8b5b576e588782b56978c5b702c5a2307024120d8aeec1ab818f0/rpds_py-0.22.3-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:62d9cfcf4948683a18a9aff0ab7e1474d407b7bab2ca03116109f8464698ab16", size = 587062, upload-time = "2024-12-04T15:32:49.274Z" }, + { url = "https://files.pythonhosted.org/packages/67/e0/2034c221937709bf9c542603d25ad43a68b4b0a9a0c0b06a742f2756eb66/rpds_py-0.22.3-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:9253fc214112405f0afa7db88739294295f0e08466987f1d70e29930262b4c8f", size = 555734, upload-time = "2024-12-04T15:32:50.528Z" }, + { url = "https://files.pythonhosted.org/packages/ea/ce/240bae07b5401a22482b58e18cfbabaa392409b2797da60223cca10d7367/rpds_py-0.22.3-cp313-cp313-win32.whl", hash = "sha256:fb0ba113b4983beac1a2eb16faffd76cb41e176bf58c4afe3e14b9c681f702de", size = 220663, upload-time = "2024-12-04T15:32:51.878Z" }, + { url = "https://files.pythonhosted.org/packages/cb/f0/d330d08f51126330467edae2fa4efa5cec8923c87551a79299380fdea30d/rpds_py-0.22.3-cp313-cp313-win_amd64.whl", hash = "sha256:c58e2339def52ef6b71b8f36d13c3688ea23fa093353f3a4fee2556e62086ec9", size = 235503, upload-time = "2024-12-04T15:32:53.195Z" }, + { url = "https://files.pythonhosted.org/packages/f7/c4/dbe1cc03df013bf2feb5ad00615038050e7859f381e96fb5b7b4572cd814/rpds_py-0.22.3-cp313-cp313t-macosx_10_12_x86_64.whl", hash = "sha256:f82a116a1d03628a8ace4859556fb39fd1424c933341a08ea3ed6de1edb0283b", size = 347698, upload-time = "2024-12-04T15:32:54.569Z" }, + { url = "https://files.pythonhosted.org/packages/a4/3a/684f66dd6b0f37499cad24cd1c0e523541fd768576fa5ce2d0a8799c3cba/rpds_py-0.22.3-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:3dfcbc95bd7992b16f3f7ba05af8a64ca694331bd24f9157b49dadeeb287493b", size = 337330, upload-time = "2024-12-04T15:32:55.993Z" }, + { url = "https://files.pythonhosted.org/packages/82/eb/e022c08c2ce2e8f7683baa313476492c0e2c1ca97227fe8a75d9f0181e95/rpds_py-0.22.3-cp313-cp313t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:59259dc58e57b10e7e18ce02c311804c10c5a793e6568f8af4dead03264584d1", size = 380022, upload-time = "2024-12-04T15:32:57.374Z" }, + { url = "https://files.pythonhosted.org/packages/e4/21/5a80e653e4c86aeb28eb4fea4add1f72e1787a3299687a9187105c3ee966/rpds_py-0.22.3-cp313-cp313t-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:5725dd9cc02068996d4438d397e255dcb1df776b7ceea3b9cb972bdb11260a83", size = 390754, upload-time = "2024-12-04T15:32:58.726Z" }, + { url = "https://files.pythonhosted.org/packages/37/a4/d320a04ae90f72d080b3d74597074e62be0a8ecad7d7321312dfe2dc5a6a/rpds_py-0.22.3-cp313-cp313t-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:99b37292234e61325e7a5bb9689e55e48c3f5f603af88b1642666277a81f1fbd", size = 423840, upload-time = "2024-12-04T15:32:59.997Z" }, + { url = "https://files.pythonhosted.org/packages/87/70/674dc47d93db30a6624279284e5631be4c3a12a0340e8e4f349153546728/rpds_py-0.22.3-cp313-cp313t-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:27b1d3b3915a99208fee9ab092b8184c420f2905b7d7feb4aeb5e4a9c509b8a1", size = 438970, upload-time = "2024-12-04T15:33:02.057Z" }, + { url = "https://files.pythonhosted.org/packages/3f/64/9500f4d66601d55cadd21e90784cfd5d5f4560e129d72e4339823129171c/rpds_py-0.22.3-cp313-cp313t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f612463ac081803f243ff13cccc648578e2279295048f2a8d5eb430af2bae6e3", size = 383146, upload-time = "2024-12-04T15:33:03.414Z" }, + { url = "https://files.pythonhosted.org/packages/4d/45/630327addb1d17173adcf4af01336fd0ee030c04798027dfcb50106001e0/rpds_py-0.22.3-cp313-cp313t-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:f73d3fef726b3243a811121de45193c0ca75f6407fe66f3f4e183c983573e130", size = 408294, upload-time = "2024-12-04T15:33:05.504Z" }, + { url = "https://files.pythonhosted.org/packages/5f/ef/8efb3373cee54ea9d9980b772e5690a0c9e9214045a4e7fa35046e399fee/rpds_py-0.22.3-cp313-cp313t-musllinux_1_2_aarch64.whl", hash = "sha256:3f21f0495edea7fdbaaa87e633a8689cd285f8f4af5c869f27bc8074638ad69c", size = 556345, upload-time = "2024-12-04T15:33:06.9Z" }, + { url = "https://files.pythonhosted.org/packages/54/01/151d3b9ef4925fc8f15bfb131086c12ec3c3d6dd4a4f7589c335bf8e85ba/rpds_py-0.22.3-cp313-cp313t-musllinux_1_2_i686.whl", hash = "sha256:1e9663daaf7a63ceccbbb8e3808fe90415b0757e2abddbfc2e06c857bf8c5e2b", size = 582292, upload-time = "2024-12-04T15:33:08.304Z" }, + { url = "https://files.pythonhosted.org/packages/30/89/35fc7a6cdf3477d441c7aca5e9bbf5a14e0f25152aed7f63f4e0b141045d/rpds_py-0.22.3-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:a76e42402542b1fae59798fab64432b2d015ab9d0c8c47ba7addddbaf7952333", size = 553855, upload-time = "2024-12-04T15:33:10Z" }, + { url = "https://files.pythonhosted.org/packages/8f/e0/830c02b2457c4bd20a8c5bb394d31d81f57fbefce2dbdd2e31feff4f7003/rpds_py-0.22.3-cp313-cp313t-win32.whl", hash = "sha256:69803198097467ee7282750acb507fba35ca22cc3b85f16cf45fb01cb9097730", size = 219100, upload-time = "2024-12-04T15:33:11.343Z" }, + { url = "https://files.pythonhosted.org/packages/f8/30/7ac943f69855c2db77407ae363484b915d861702dbba1aa82d68d57f42be/rpds_py-0.22.3-cp313-cp313t-win_amd64.whl", hash = "sha256:f5cf2a0c2bdadf3791b5c205d55a37a54025c6e18a71c71f82bb536cf9a454bf", size = 233794, upload-time = "2024-12-04T15:33:12.888Z" }, + { url = "https://files.pythonhosted.org/packages/db/0f/a8ad17ddac7c880f48d5da50733dd25bfc35ba2be1bec9f23453e8c7a123/rpds_py-0.22.3-cp39-cp39-macosx_10_12_x86_64.whl", hash = "sha256:378753b4a4de2a7b34063d6f95ae81bfa7b15f2c1a04a9518e8644e81807ebea", size = 359735, upload-time = "2024-12-04T15:33:14.251Z" }, + { url = "https://files.pythonhosted.org/packages/0c/41/430903669397ea3ee76865e0b53ea236e8dc0ffbecde47b2c4c783ad6759/rpds_py-0.22.3-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:3445e07bf2e8ecfeef6ef67ac83de670358abf2996916039b16a218e3d95e97e", size = 348724, upload-time = "2024-12-04T15:33:15.67Z" }, + { url = "https://files.pythonhosted.org/packages/c9/5c/3496f4f0ee818297544f2d5f641c49dde8ae156392e6834b79c0609ba006/rpds_py-0.22.3-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:7b2513ba235829860b13faa931f3b6846548021846ac808455301c23a101689d", size = 381782, upload-time = "2024-12-04T15:33:17.133Z" }, + { url = "https://files.pythonhosted.org/packages/b6/dc/db0523ce0cd16ce579185cc9aa9141992de956d0a9c469ecfd1fb5d54ddc/rpds_py-0.22.3-cp39-cp39-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:eaf16ae9ae519a0e237a0f528fd9f0197b9bb70f40263ee57ae53c2b8d48aeb3", size = 387036, upload-time = "2024-12-04T15:33:18.555Z" }, + { url = "https://files.pythonhosted.org/packages/85/2a/9525c2427d2c257f877348918136a5d4e1b945c205a256e53bec61e54551/rpds_py-0.22.3-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:583f6a1993ca3369e0f80ba99d796d8e6b1a3a2a442dd4e1a79e652116413091", size = 424566, upload-time = "2024-12-04T15:33:20.475Z" }, + { url = "https://files.pythonhosted.org/packages/b9/1c/f8c012a39794b84069635709f559c0309103d5d74b3f5013916e6ca4f174/rpds_py-0.22.3-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:4617e1915a539a0d9a9567795023de41a87106522ff83fbfaf1f6baf8e85437e", size = 447203, upload-time = "2024-12-04T15:33:21.846Z" }, + { url = "https://files.pythonhosted.org/packages/93/f5/c1c772364570d35b98ba64f36ec90c3c6d0b932bc4d8b9b4efef6dc64b07/rpds_py-0.22.3-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:0c150c7a61ed4a4f4955a96626574e9baf1adf772c2fb61ef6a5027e52803543", size = 382283, upload-time = "2024-12-04T15:33:23.292Z" }, + { url = "https://files.pythonhosted.org/packages/10/06/f94f61313f94fc75c3c3aa74563f80bbd990e5b25a7c1a38cee7d5d0309b/rpds_py-0.22.3-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:2fa4331c200c2521512595253f5bb70858b90f750d39b8cbfd67465f8d1b596d", size = 410022, upload-time = "2024-12-04T15:33:24.585Z" }, + { url = "https://files.pythonhosted.org/packages/3f/b0/37ab416a9528419920dfb64886c220f58fcbd66b978e0a91b66e9ee9a993/rpds_py-0.22.3-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:214b7a953d73b5e87f0ebece4a32a5bd83c60a3ecc9d4ec8f1dca968a2d91e99", size = 557817, upload-time = "2024-12-04T15:33:26.379Z" }, + { url = "https://files.pythonhosted.org/packages/2c/5d/9daa18adcd676dd3b2817c8a7cec3f3ebeeb0ce0d05a1b63bf994fc5114f/rpds_py-0.22.3-cp39-cp39-musllinux_1_2_i686.whl", hash = "sha256:f47ad3d5f3258bd7058d2d506852217865afefe6153a36eb4b6928758041d831", size = 585099, upload-time = "2024-12-04T15:33:27.794Z" }, + { url = "https://files.pythonhosted.org/packages/41/3f/ad4e58035d3f848410aa3d59857b5f238bafab81c8b4a844281f80445d62/rpds_py-0.22.3-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:f276b245347e6e36526cbd4a266a417796fc531ddf391e43574cf6466c492520", size = 552818, upload-time = "2024-12-04T15:33:29.249Z" }, + { url = "https://files.pythonhosted.org/packages/b8/19/123acae8f4cab3c9463097c3ced3cc87c46f405056e249c874940e045309/rpds_py-0.22.3-cp39-cp39-win32.whl", hash = "sha256:bbb232860e3d03d544bc03ac57855cd82ddf19c7a07651a7c0fdb95e9efea8b9", size = 220246, upload-time = "2024-12-04T15:33:30.672Z" }, + { url = "https://files.pythonhosted.org/packages/8b/8d/9db93e48d96ace1f6713c71ce72e2d94b71d82156c37b6a54e0930486f00/rpds_py-0.22.3-cp39-cp39-win_amd64.whl", hash = "sha256:cfbc454a2880389dbb9b5b398e50d439e2e58669160f27b60e5eca11f68ae17c", size = 231932, upload-time = "2024-12-04T15:33:32.092Z" }, + { url = "https://files.pythonhosted.org/packages/8b/63/e29f8ee14fcf383574f73b6bbdcbec0fbc2e5fc36b4de44d1ac389b1de62/rpds_py-0.22.3-pp310-pypy310_pp73-macosx_10_12_x86_64.whl", hash = "sha256:d48424e39c2611ee1b84ad0f44fb3b2b53d473e65de061e3f460fc0be5f1939d", size = 360786, upload-time = "2024-12-04T15:33:33.635Z" }, + { url = "https://files.pythonhosted.org/packages/d3/e0/771ee28b02a24e81c8c0e645796a371350a2bb6672753144f36ae2d2afc9/rpds_py-0.22.3-pp310-pypy310_pp73-macosx_11_0_arm64.whl", hash = "sha256:24e8abb5878e250f2eb0d7859a8e561846f98910326d06c0d51381fed59357bd", size = 350589, upload-time = "2024-12-04T15:33:35.159Z" }, + { url = "https://files.pythonhosted.org/packages/cf/49/abad4c4a1e6f3adf04785a99c247bfabe55ed868133e2d1881200aa5d381/rpds_py-0.22.3-pp310-pypy310_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:4b232061ca880db21fa14defe219840ad9b74b6158adb52ddf0e87bead9e8493", size = 381848, upload-time = "2024-12-04T15:33:36.736Z" }, + { url = "https://files.pythonhosted.org/packages/3a/7d/f4bc6d6fbe6af7a0d2b5f2ee77079efef7c8528712745659ec0026888998/rpds_py-0.22.3-pp310-pypy310_pp73-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:ac0a03221cdb5058ce0167ecc92a8c89e8d0decdc9e99a2ec23380793c4dcb96", size = 387879, upload-time = "2024-12-04T15:33:38.057Z" }, + { url = "https://files.pythonhosted.org/packages/13/b0/575c797377fdcd26cedbb00a3324232e4cb2c5d121f6e4b0dbf8468b12ef/rpds_py-0.22.3-pp310-pypy310_pp73-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:eb0c341fa71df5a4595f9501df4ac5abfb5a09580081dffbd1ddd4654e6e9123", size = 423916, upload-time = "2024-12-04T15:33:39.696Z" }, + { url = "https://files.pythonhosted.org/packages/54/78/87157fa39d58f32a68d3326f8a81ad8fb99f49fe2aa7ad9a1b7d544f9478/rpds_py-0.22.3-pp310-pypy310_pp73-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:bf9db5488121b596dbfc6718c76092fda77b703c1f7533a226a5a9f65248f8ad", size = 448410, upload-time = "2024-12-04T15:33:41.729Z" }, + { url = "https://files.pythonhosted.org/packages/59/69/860f89996065a88be1b6ff2d60e96a02b920a262d8aadab99e7903986597/rpds_py-0.22.3-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:0b8db6b5b2d4491ad5b6bdc2bc7c017eec108acbf4e6785f42a9eb0ba234f4c9", size = 382841, upload-time = "2024-12-04T15:33:43.169Z" }, + { url = "https://files.pythonhosted.org/packages/bd/d7/bc144e10d27e3cb350f98df2492a319edd3caaf52ddfe1293f37a9afbfd7/rpds_py-0.22.3-pp310-pypy310_pp73-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:b3d504047aba448d70cf6fa22e06cb09f7cbd761939fdd47604f5e007675c24e", size = 409662, upload-time = "2024-12-04T15:33:44.748Z" }, + { url = "https://files.pythonhosted.org/packages/14/2a/6bed0b05233c291a94c7e89bc76ffa1c619d4e1979fbfe5d96024020c1fb/rpds_py-0.22.3-pp310-pypy310_pp73-musllinux_1_2_aarch64.whl", hash = "sha256:e61b02c3f7a1e0b75e20c3978f7135fd13cb6cf551bf4a6d29b999a88830a338", size = 558221, upload-time = "2024-12-04T15:33:46.459Z" }, + { url = "https://files.pythonhosted.org/packages/11/23/cd8f566de444a137bc1ee5795e47069a947e60810ba4152886fe5308e1b7/rpds_py-0.22.3-pp310-pypy310_pp73-musllinux_1_2_i686.whl", hash = "sha256:e35ba67d65d49080e8e5a1dd40101fccdd9798adb9b050ff670b7d74fa41c566", size = 583780, upload-time = "2024-12-04T15:33:48.247Z" }, + { url = "https://files.pythonhosted.org/packages/8d/63/79c3602afd14d501f751e615a74a59040328da5ef29ed5754ae80d236b84/rpds_py-0.22.3-pp310-pypy310_pp73-musllinux_1_2_x86_64.whl", hash = "sha256:26fd7cac7dd51011a245f29a2cc6489c4608b5a8ce8d75661bb4a1066c52dfbe", size = 553619, upload-time = "2024-12-04T15:33:50.449Z" }, + { url = "https://files.pythonhosted.org/packages/9f/2e/c5c1689e80298d4e94c75b70faada4c25445739d91b94c211244a3ed7ed1/rpds_py-0.22.3-pp310-pypy310_pp73-win_amd64.whl", hash = "sha256:177c7c0fce2855833819c98e43c262007f42ce86651ffbb84f37883308cb0e7d", size = 233338, upload-time = "2024-12-04T15:33:51.954Z" }, + { url = "https://files.pythonhosted.org/packages/bc/b7/d2c205723e3b4d75b03215694f0297a1b4b395bf834cb5896ad9bbb90f90/rpds_py-0.22.3-pp39-pypy39_pp73-macosx_10_12_x86_64.whl", hash = "sha256:bb47271f60660803ad11f4c61b42242b8c1312a31c98c578f79ef9387bbde21c", size = 360594, upload-time = "2024-12-04T15:33:53.482Z" }, + { url = "https://files.pythonhosted.org/packages/d8/8f/c3515f5234cf6055046d4cfe9c80a3742a20acfa7d0b1b290f0d7f56a8db/rpds_py-0.22.3-pp39-pypy39_pp73-macosx_11_0_arm64.whl", hash = "sha256:70fb28128acbfd264eda9bf47015537ba3fe86e40d046eb2963d75024be4d055", size = 349594, upload-time = "2024-12-04T15:33:54.96Z" }, + { url = "https://files.pythonhosted.org/packages/6b/98/5b487cb06afc484befe350c87fda37f4ce11333f04f3380aba43dcf5bce2/rpds_py-0.22.3-pp39-pypy39_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:44d61b4b7d0c2c9ac019c314e52d7cbda0ae31078aabd0f22e583af3e0d79723", size = 381138, upload-time = "2024-12-04T15:33:57.074Z" }, + { url = "https://files.pythonhosted.org/packages/5e/3a/12308d2c51b3fdfc173619943b7dc5ba41b4850c47112eeda38d9c54ed12/rpds_py-0.22.3-pp39-pypy39_pp73-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:5f0e260eaf54380380ac3808aa4ebe2d8ca28b9087cf411649f96bad6900c728", size = 387828, upload-time = "2024-12-04T15:33:59.232Z" }, + { url = "https://files.pythonhosted.org/packages/17/b2/c242241ab5a2a206e093f24ccbfa519c4bbf10a762ac90bffe1766c225e0/rpds_py-0.22.3-pp39-pypy39_pp73-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:b25bc607423935079e05619d7de556c91fb6adeae9d5f80868dde3468657994b", size = 424634, upload-time = "2024-12-04T15:34:01.019Z" }, + { url = "https://files.pythonhosted.org/packages/d5/c7/52a1b15012139f3ba740f291f1d03c6b632938ba61bc605f24c101952493/rpds_py-0.22.3-pp39-pypy39_pp73-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:fb6116dfb8d1925cbdb52595560584db42a7f664617a1f7d7f6e32f138cdf37d", size = 447862, upload-time = "2024-12-04T15:34:03.302Z" }, + { url = "https://files.pythonhosted.org/packages/55/3e/4d3ed8fd01bad77e8ed101116fe63b03f1011940d9596a8f4d82ac80cacd/rpds_py-0.22.3-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:a63cbdd98acef6570c62b92a1e43266f9e8b21e699c363c0fef13bd530799c11", size = 382506, upload-time = "2024-12-04T15:34:04.847Z" }, + { url = "https://files.pythonhosted.org/packages/30/78/df59d6f92470a84369a3757abeae1cfd7f7239c8beb6d948949bf78317d2/rpds_py-0.22.3-pp39-pypy39_pp73-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:2b8f60e1b739a74bab7e01fcbe3dddd4657ec685caa04681df9d562ef15b625f", size = 410534, upload-time = "2024-12-04T15:34:06.506Z" }, + { url = "https://files.pythonhosted.org/packages/38/97/ea45d1edd9b753b20084b52dd5db6ee5e1ac3e036a27149972398a413858/rpds_py-0.22.3-pp39-pypy39_pp73-musllinux_1_2_aarch64.whl", hash = "sha256:2e8b55d8517a2fda8d95cb45d62a5a8bbf9dd0ad39c5b25c8833efea07b880ca", size = 557453, upload-time = "2024-12-04T15:34:08.069Z" }, + { url = "https://files.pythonhosted.org/packages/08/cd/3a1b35eb9da27ffbb981cfffd32a01c7655c4431ccb278cb3064f8887462/rpds_py-0.22.3-pp39-pypy39_pp73-musllinux_1_2_i686.whl", hash = "sha256:2de29005e11637e7a2361fa151f780ff8eb2543a0da1413bb951e9f14b699ef3", size = 584412, upload-time = "2024-12-04T15:34:09.616Z" }, + { url = "https://files.pythonhosted.org/packages/87/91/31d1c5aeb1606f71188259e0ba6ed6f5c21a3c72f58b51db6a8bd0aa2b5d/rpds_py-0.22.3-pp39-pypy39_pp73-musllinux_1_2_x86_64.whl", hash = "sha256:666ecce376999bf619756a24ce15bb14c5bfaf04bf00abc7e663ce17c3f34fe7", size = 553446, upload-time = "2024-12-04T15:34:11.215Z" }, + { url = "https://files.pythonhosted.org/packages/e7/ad/03b5ccd1ab492c9dece85b3bf1c96453ab8c47983936fae6880f688f60b3/rpds_py-0.22.3-pp39-pypy39_pp73-win_amd64.whl", hash = "sha256:5246b14ca64a8675e0a7161f7af68fe3e910e6b90542b4bfb5439ba752191df6", size = 233013, upload-time = "2024-12-04T15:34:12.743Z" }, ] [[package]] @@ -4593,28 +4593,28 @@ resolution-markers = [ dependencies = [ { name = "numpy", version = "1.24.4", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.9'" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/84/a9/2bf119f3f9cff1f376f924e39cfae18dec92a1514784046d185731301281/scipy-1.10.1.tar.gz", hash = "sha256:2cf9dfb80a7b4589ba4c40ce7588986d6d5cebc5457cad2c2880f6bc2d42f3a5", size = 42407997 } -wheels = [ - { url = "https://files.pythonhosted.org/packages/0a/ac/b1f1bbf7b01d96495f35be003b881f10f85bf6559efb6e9578da832c2140/scipy-1.10.1-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:e7354fd7527a4b0377ce55f286805b34e8c54b91be865bac273f527e1b839019", size = 35093243 }, - { url = "https://files.pythonhosted.org/packages/ea/e5/452086ebed676ce4000ceb5eeeb0ee4f8c6f67c7e70fb9323a370ff95c1f/scipy-1.10.1-cp310-cp310-macosx_12_0_arm64.whl", hash = "sha256:4b3f429188c66603a1a5c549fb414e4d3bdc2a24792e061ffbd607d3d75fd84e", size = 28772969 }, - { url = "https://files.pythonhosted.org/packages/04/0b/a1b119c869b79a2ab459b7f9fd7e2dea75a9c7d432e64e915e75586bd00b/scipy-1.10.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:1553b5dcddd64ba9a0d95355e63fe6c3fc303a8fd77c7bc91e77d61363f7433f", size = 30886961 }, - { url = "https://files.pythonhosted.org/packages/1f/4b/3bacad9a166350cb2e518cea80ab891016933cc1653f15c90279512c5fa9/scipy-1.10.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:4c0ff64b06b10e35215abce517252b375e580a6125fd5fdf6421b98efbefb2d2", size = 34422544 }, - { url = "https://files.pythonhosted.org/packages/ec/e3/b06ac3738bf365e89710205a471abe7dceec672a51c244b469bc5d1291c7/scipy-1.10.1-cp310-cp310-win_amd64.whl", hash = "sha256:fae8a7b898c42dffe3f7361c40d5952b6bf32d10c4569098d276b4c547905ee1", size = 42484848 }, - { url = "https://files.pythonhosted.org/packages/e7/53/053cd3669be0d474deae8fe5f757bff4c4f480b8a410231e0631c068873d/scipy-1.10.1-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:0f1564ea217e82c1bbe75ddf7285ba0709ecd503f048cb1236ae9995f64217bd", size = 35003170 }, - { url = "https://files.pythonhosted.org/packages/0d/3e/d05b9de83677195886fb79844fcca19609a538db63b1790fa373155bc3cf/scipy-1.10.1-cp311-cp311-macosx_12_0_arm64.whl", hash = "sha256:d925fa1c81b772882aa55bcc10bf88324dadb66ff85d548c71515f6689c6dac5", size = 28717513 }, - { url = "https://files.pythonhosted.org/packages/a5/3d/b69746c50e44893da57a68457da3d7e5bb75f6a37fbace3769b70d017488/scipy-1.10.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:aaea0a6be54462ec027de54fca511540980d1e9eea68b2d5c1dbfe084797be35", size = 30687257 }, - { url = "https://files.pythonhosted.org/packages/21/cd/fe2d4af234b80dc08c911ce63fdaee5badcdde3e9bcd9a68884580652ef0/scipy-1.10.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:15a35c4242ec5f292c3dd364a7c71a61be87a3d4ddcc693372813c0b73c9af1d", size = 34124096 }, - { url = "https://files.pythonhosted.org/packages/65/76/903324159e4a3566e518c558aeb21571d642f781d842d8dd0fd9c6b0645a/scipy-1.10.1-cp311-cp311-win_amd64.whl", hash = "sha256:43b8e0bcb877faf0abfb613d51026cd5cc78918e9530e375727bf0625c82788f", size = 42238704 }, - { url = "https://files.pythonhosted.org/packages/a0/e3/37508a11dae501349d7c16e4dd18c706a023629eedc650ee094593887a89/scipy-1.10.1-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:5678f88c68ea866ed9ebe3a989091088553ba12c6090244fdae3e467b1139c35", size = 35041063 }, - { url = "https://files.pythonhosted.org/packages/93/4a/50c436de1353cce8b66b26e49a687f10b91fe7465bf34e4565d810153003/scipy-1.10.1-cp38-cp38-macosx_12_0_arm64.whl", hash = "sha256:39becb03541f9e58243f4197584286e339029e8908c46f7221abeea4b749fa88", size = 28797694 }, - { url = "https://files.pythonhosted.org/packages/d2/b5/ff61b79ad0ebd15d87ade10e0f4e80114dd89fac34a5efade39e99048c91/scipy-1.10.1-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:bce5869c8d68cf383ce240e44c1d9ae7c06078a9396df68ce88a1230f93a30c1", size = 31024657 }, - { url = "https://files.pythonhosted.org/packages/69/f0/fb07a9548e48b687b8bf2fa81d71aba9cfc548d365046ca1c791e24db99d/scipy-1.10.1-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:07c3457ce0b3ad5124f98a86533106b643dd811dd61b548e78cf4c8786652f6f", size = 34540352 }, - { url = "https://files.pythonhosted.org/packages/32/8e/7f403535ddf826348c9b8417791e28712019962f7e90ff845896d6325d09/scipy-1.10.1-cp38-cp38-win_amd64.whl", hash = "sha256:049a8bbf0ad95277ffba9b3b7d23e5369cc39e66406d60422c8cfef40ccc8415", size = 42215036 }, - { url = "https://files.pythonhosted.org/packages/d9/7d/78b8035bc93c869b9f17261c87aae97a9cdb937f65f0d453c2831aa172fc/scipy-1.10.1-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:cd9f1027ff30d90618914a64ca9b1a77a431159df0e2a195d8a9e8a04c78abf9", size = 35158611 }, - { url = "https://files.pythonhosted.org/packages/e7/f0/55d81813b1a4cb79ce7dc8290eac083bf38bfb36e1ada94ea13b7b1a5f79/scipy-1.10.1-cp39-cp39-macosx_12_0_arm64.whl", hash = "sha256:79c8e5a6c6ffaf3a2262ef1be1e108a035cf4f05c14df56057b64acc5bebffb6", size = 28902591 }, - { url = "https://files.pythonhosted.org/packages/77/d1/722c457b319eed1d642e0a14c9be37eb475f0e6ed1f3401fa480d5d6d36e/scipy-1.10.1-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:51af417a000d2dbe1ec6c372dfe688e041a7084da4fdd350aeb139bd3fb55353", size = 30960654 }, - { url = "https://files.pythonhosted.org/packages/5d/30/b2a2a5bf1a3beefb7609fb871dcc6aef7217c69cef19a4631b7ab5622a8a/scipy-1.10.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:1b4735d6c28aad3cdcf52117e0e91d6b39acd4272f3f5cd9907c24ee931ad601", size = 34458863 }, - { url = "https://files.pythonhosted.org/packages/35/20/0ec6246bbb43d18650c9a7cad6602e1a84fd8f9564a9b84cc5faf1e037d0/scipy-1.10.1-cp39-cp39-win_amd64.whl", hash = "sha256:7ff7f37b1bf4417baca958d254e8e2875d0cc23aaadbe65b3d5b3077b0eb23ea", size = 42509516 }, +sdist = { url = "https://files.pythonhosted.org/packages/84/a9/2bf119f3f9cff1f376f924e39cfae18dec92a1514784046d185731301281/scipy-1.10.1.tar.gz", hash = "sha256:2cf9dfb80a7b4589ba4c40ce7588986d6d5cebc5457cad2c2880f6bc2d42f3a5", size = 42407997, upload-time = "2023-02-19T21:20:13.395Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/0a/ac/b1f1bbf7b01d96495f35be003b881f10f85bf6559efb6e9578da832c2140/scipy-1.10.1-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:e7354fd7527a4b0377ce55f286805b34e8c54b91be865bac273f527e1b839019", size = 35093243, upload-time = "2023-02-19T20:33:55.754Z" }, + { url = "https://files.pythonhosted.org/packages/ea/e5/452086ebed676ce4000ceb5eeeb0ee4f8c6f67c7e70fb9323a370ff95c1f/scipy-1.10.1-cp310-cp310-macosx_12_0_arm64.whl", hash = "sha256:4b3f429188c66603a1a5c549fb414e4d3bdc2a24792e061ffbd607d3d75fd84e", size = 28772969, upload-time = "2023-02-19T20:34:39.318Z" }, + { url = "https://files.pythonhosted.org/packages/04/0b/a1b119c869b79a2ab459b7f9fd7e2dea75a9c7d432e64e915e75586bd00b/scipy-1.10.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:1553b5dcddd64ba9a0d95355e63fe6c3fc303a8fd77c7bc91e77d61363f7433f", size = 30886961, upload-time = "2023-02-19T20:35:33.724Z" }, + { url = "https://files.pythonhosted.org/packages/1f/4b/3bacad9a166350cb2e518cea80ab891016933cc1653f15c90279512c5fa9/scipy-1.10.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:4c0ff64b06b10e35215abce517252b375e580a6125fd5fdf6421b98efbefb2d2", size = 34422544, upload-time = "2023-02-19T20:37:03.859Z" }, + { url = "https://files.pythonhosted.org/packages/ec/e3/b06ac3738bf365e89710205a471abe7dceec672a51c244b469bc5d1291c7/scipy-1.10.1-cp310-cp310-win_amd64.whl", hash = "sha256:fae8a7b898c42dffe3f7361c40d5952b6bf32d10c4569098d276b4c547905ee1", size = 42484848, upload-time = "2023-02-19T20:39:09.467Z" }, + { url = "https://files.pythonhosted.org/packages/e7/53/053cd3669be0d474deae8fe5f757bff4c4f480b8a410231e0631c068873d/scipy-1.10.1-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:0f1564ea217e82c1bbe75ddf7285ba0709ecd503f048cb1236ae9995f64217bd", size = 35003170, upload-time = "2023-02-19T20:40:53.274Z" }, + { url = "https://files.pythonhosted.org/packages/0d/3e/d05b9de83677195886fb79844fcca19609a538db63b1790fa373155bc3cf/scipy-1.10.1-cp311-cp311-macosx_12_0_arm64.whl", hash = "sha256:d925fa1c81b772882aa55bcc10bf88324dadb66ff85d548c71515f6689c6dac5", size = 28717513, upload-time = "2023-02-19T20:42:20.82Z" }, + { url = "https://files.pythonhosted.org/packages/a5/3d/b69746c50e44893da57a68457da3d7e5bb75f6a37fbace3769b70d017488/scipy-1.10.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:aaea0a6be54462ec027de54fca511540980d1e9eea68b2d5c1dbfe084797be35", size = 30687257, upload-time = "2023-02-19T20:43:48.139Z" }, + { url = "https://files.pythonhosted.org/packages/21/cd/fe2d4af234b80dc08c911ce63fdaee5badcdde3e9bcd9a68884580652ef0/scipy-1.10.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:15a35c4242ec5f292c3dd364a7c71a61be87a3d4ddcc693372813c0b73c9af1d", size = 34124096, upload-time = "2023-02-19T20:45:27.415Z" }, + { url = "https://files.pythonhosted.org/packages/65/76/903324159e4a3566e518c558aeb21571d642f781d842d8dd0fd9c6b0645a/scipy-1.10.1-cp311-cp311-win_amd64.whl", hash = "sha256:43b8e0bcb877faf0abfb613d51026cd5cc78918e9530e375727bf0625c82788f", size = 42238704, upload-time = "2023-02-19T20:47:26.366Z" }, + { url = "https://files.pythonhosted.org/packages/a0/e3/37508a11dae501349d7c16e4dd18c706a023629eedc650ee094593887a89/scipy-1.10.1-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:5678f88c68ea866ed9ebe3a989091088553ba12c6090244fdae3e467b1139c35", size = 35041063, upload-time = "2023-02-19T20:49:02.296Z" }, + { url = "https://files.pythonhosted.org/packages/93/4a/50c436de1353cce8b66b26e49a687f10b91fe7465bf34e4565d810153003/scipy-1.10.1-cp38-cp38-macosx_12_0_arm64.whl", hash = "sha256:39becb03541f9e58243f4197584286e339029e8908c46f7221abeea4b749fa88", size = 28797694, upload-time = "2023-02-19T20:50:19.381Z" }, + { url = "https://files.pythonhosted.org/packages/d2/b5/ff61b79ad0ebd15d87ade10e0f4e80114dd89fac34a5efade39e99048c91/scipy-1.10.1-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:bce5869c8d68cf383ce240e44c1d9ae7c06078a9396df68ce88a1230f93a30c1", size = 31024657, upload-time = "2023-02-19T20:51:49.175Z" }, + { url = "https://files.pythonhosted.org/packages/69/f0/fb07a9548e48b687b8bf2fa81d71aba9cfc548d365046ca1c791e24db99d/scipy-1.10.1-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:07c3457ce0b3ad5124f98a86533106b643dd811dd61b548e78cf4c8786652f6f", size = 34540352, upload-time = "2023-02-19T20:53:30.821Z" }, + { url = "https://files.pythonhosted.org/packages/32/8e/7f403535ddf826348c9b8417791e28712019962f7e90ff845896d6325d09/scipy-1.10.1-cp38-cp38-win_amd64.whl", hash = "sha256:049a8bbf0ad95277ffba9b3b7d23e5369cc39e66406d60422c8cfef40ccc8415", size = 42215036, upload-time = "2023-02-19T20:55:09.639Z" }, + { url = "https://files.pythonhosted.org/packages/d9/7d/78b8035bc93c869b9f17261c87aae97a9cdb937f65f0d453c2831aa172fc/scipy-1.10.1-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:cd9f1027ff30d90618914a64ca9b1a77a431159df0e2a195d8a9e8a04c78abf9", size = 35158611, upload-time = "2023-02-19T20:56:02.715Z" }, + { url = "https://files.pythonhosted.org/packages/e7/f0/55d81813b1a4cb79ce7dc8290eac083bf38bfb36e1ada94ea13b7b1a5f79/scipy-1.10.1-cp39-cp39-macosx_12_0_arm64.whl", hash = "sha256:79c8e5a6c6ffaf3a2262ef1be1e108a035cf4f05c14df56057b64acc5bebffb6", size = 28902591, upload-time = "2023-02-19T20:56:45.728Z" }, + { url = "https://files.pythonhosted.org/packages/77/d1/722c457b319eed1d642e0a14c9be37eb475f0e6ed1f3401fa480d5d6d36e/scipy-1.10.1-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:51af417a000d2dbe1ec6c372dfe688e041a7084da4fdd350aeb139bd3fb55353", size = 30960654, upload-time = "2023-02-19T20:57:32.091Z" }, + { url = "https://files.pythonhosted.org/packages/5d/30/b2a2a5bf1a3beefb7609fb871dcc6aef7217c69cef19a4631b7ab5622a8a/scipy-1.10.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:1b4735d6c28aad3cdcf52117e0e91d6b39acd4272f3f5cd9907c24ee931ad601", size = 34458863, upload-time = "2023-02-19T20:58:23.601Z" }, + { url = "https://files.pythonhosted.org/packages/35/20/0ec6246bbb43d18650c9a7cad6602e1a84fd8f9564a9b84cc5faf1e037d0/scipy-1.10.1-cp39-cp39-win_amd64.whl", hash = "sha256:7ff7f37b1bf4417baca958d254e8e2875d0cc23aaadbe65b3d5b3077b0eb23ea", size = 42509516, upload-time = "2023-02-19T20:59:26.296Z" }, ] [[package]] @@ -4629,32 +4629,32 @@ resolution-markers = [ dependencies = [ { name = "numpy", version = "2.0.2", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version == '3.9.*'" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/ae/00/48c2f661e2816ccf2ecd77982f6605b2950afe60f60a52b4cbbc2504aa8f/scipy-1.13.1.tar.gz", hash = "sha256:095a87a0312b08dfd6a6155cbbd310a8c51800fc931b8c0b84003014b874ed3c", size = 57210720 } -wheels = [ - { url = "https://files.pythonhosted.org/packages/33/59/41b2529908c002ade869623b87eecff3e11e3ce62e996d0bdcb536984187/scipy-1.13.1-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:20335853b85e9a49ff7572ab453794298bcf0354d8068c5f6775a0eabf350aca", size = 39328076 }, - { url = "https://files.pythonhosted.org/packages/d5/33/f1307601f492f764062ce7dd471a14750f3360e33cd0f8c614dae208492c/scipy-1.13.1-cp310-cp310-macosx_12_0_arm64.whl", hash = "sha256:d605e9c23906d1994f55ace80e0125c587f96c020037ea6aa98d01b4bd2e222f", size = 30306232 }, - { url = "https://files.pythonhosted.org/packages/c0/66/9cd4f501dd5ea03e4a4572ecd874936d0da296bd04d1c45ae1a4a75d9c3a/scipy-1.13.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:cfa31f1def5c819b19ecc3a8b52d28ffdcc7ed52bb20c9a7589669dd3c250989", size = 33743202 }, - { url = "https://files.pythonhosted.org/packages/a3/ba/7255e5dc82a65adbe83771c72f384d99c43063648456796436c9a5585ec3/scipy-1.13.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f26264b282b9da0952a024ae34710c2aff7d27480ee91a2e82b7b7073c24722f", size = 38577335 }, - { url = "https://files.pythonhosted.org/packages/49/a5/bb9ded8326e9f0cdfdc412eeda1054b914dfea952bda2097d174f8832cc0/scipy-1.13.1-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:eccfa1906eacc02de42d70ef4aecea45415f5be17e72b61bafcfd329bdc52e94", size = 38820728 }, - { url = "https://files.pythonhosted.org/packages/12/30/df7a8fcc08f9b4a83f5f27cfaaa7d43f9a2d2ad0b6562cced433e5b04e31/scipy-1.13.1-cp310-cp310-win_amd64.whl", hash = "sha256:2831f0dc9c5ea9edd6e51e6e769b655f08ec6db6e2e10f86ef39bd32eb11da54", size = 46210588 }, - { url = "https://files.pythonhosted.org/packages/b4/15/4a4bb1b15bbd2cd2786c4f46e76b871b28799b67891f23f455323a0cdcfb/scipy-1.13.1-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:27e52b09c0d3a1d5b63e1105f24177e544a222b43611aaf5bc44d4a0979e32f9", size = 39333805 }, - { url = "https://files.pythonhosted.org/packages/ba/92/42476de1af309c27710004f5cdebc27bec62c204db42e05b23a302cb0c9a/scipy-1.13.1-cp311-cp311-macosx_12_0_arm64.whl", hash = "sha256:54f430b00f0133e2224c3ba42b805bfd0086fe488835effa33fa291561932326", size = 30317687 }, - { url = "https://files.pythonhosted.org/packages/80/ba/8be64fe225360a4beb6840f3cbee494c107c0887f33350d0a47d55400b01/scipy-1.13.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:e89369d27f9e7b0884ae559a3a956e77c02114cc60a6058b4e5011572eea9299", size = 33694638 }, - { url = "https://files.pythonhosted.org/packages/36/07/035d22ff9795129c5a847c64cb43c1fa9188826b59344fee28a3ab02e283/scipy-1.13.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:a78b4b3345f1b6f68a763c6e25c0c9a23a9fd0f39f5f3d200efe8feda560a5fa", size = 38569931 }, - { url = "https://files.pythonhosted.org/packages/d9/10/f9b43de37e5ed91facc0cfff31d45ed0104f359e4f9a68416cbf4e790241/scipy-1.13.1-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:45484bee6d65633752c490404513b9ef02475b4284c4cfab0ef946def50b3f59", size = 38838145 }, - { url = "https://files.pythonhosted.org/packages/4a/48/4513a1a5623a23e95f94abd675ed91cfb19989c58e9f6f7d03990f6caf3d/scipy-1.13.1-cp311-cp311-win_amd64.whl", hash = "sha256:5713f62f781eebd8d597eb3f88b8bf9274e79eeabf63afb4a737abc6c84ad37b", size = 46196227 }, - { url = "https://files.pythonhosted.org/packages/f2/7b/fb6b46fbee30fc7051913068758414f2721003a89dd9a707ad49174e3843/scipy-1.13.1-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:5d72782f39716b2b3509cd7c33cdc08c96f2f4d2b06d51e52fb45a19ca0c86a1", size = 39357301 }, - { url = "https://files.pythonhosted.org/packages/dc/5a/2043a3bde1443d94014aaa41e0b50c39d046dda8360abd3b2a1d3f79907d/scipy-1.13.1-cp312-cp312-macosx_12_0_arm64.whl", hash = "sha256:017367484ce5498445aade74b1d5ab377acdc65e27095155e448c88497755a5d", size = 30363348 }, - { url = "https://files.pythonhosted.org/packages/e7/cb/26e4a47364bbfdb3b7fb3363be6d8a1c543bcd70a7753ab397350f5f189a/scipy-1.13.1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:949ae67db5fa78a86e8fa644b9a6b07252f449dcf74247108c50e1d20d2b4627", size = 33406062 }, - { url = "https://files.pythonhosted.org/packages/88/ab/6ecdc526d509d33814835447bbbeedbebdec7cca46ef495a61b00a35b4bf/scipy-1.13.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:de3ade0e53bc1f21358aa74ff4830235d716211d7d077e340c7349bc3542e884", size = 38218311 }, - { url = "https://files.pythonhosted.org/packages/0b/00/9f54554f0f8318100a71515122d8f4f503b1a2c4b4cfab3b4b68c0eb08fa/scipy-1.13.1-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:2ac65fb503dad64218c228e2dc2d0a0193f7904747db43014645ae139c8fad16", size = 38442493 }, - { url = "https://files.pythonhosted.org/packages/3e/df/963384e90733e08eac978cd103c34df181d1fec424de383cdc443f418dd4/scipy-1.13.1-cp312-cp312-win_amd64.whl", hash = "sha256:cdd7dacfb95fea358916410ec61bbc20440f7860333aee6d882bb8046264e949", size = 45910955 }, - { url = "https://files.pythonhosted.org/packages/7f/29/c2ea58c9731b9ecb30b6738113a95d147e83922986b34c685b8f6eefde21/scipy-1.13.1-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:436bbb42a94a8aeef855d755ce5a465479c721e9d684de76bf61a62e7c2b81d5", size = 39352927 }, - { url = "https://files.pythonhosted.org/packages/5c/c0/e71b94b20ccf9effb38d7147c0064c08c622309fd487b1b677771a97d18c/scipy-1.13.1-cp39-cp39-macosx_12_0_arm64.whl", hash = "sha256:8335549ebbca860c52bf3d02f80784e91a004b71b059e3eea9678ba994796a24", size = 30324538 }, - { url = "https://files.pythonhosted.org/packages/6d/0f/aaa55b06d474817cea311e7b10aab2ea1fd5d43bc6a2861ccc9caec9f418/scipy-1.13.1-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d533654b7d221a6a97304ab63c41c96473ff04459e404b83275b60aa8f4b7004", size = 33732190 }, - { url = "https://files.pythonhosted.org/packages/35/f5/d0ad1a96f80962ba65e2ce1de6a1e59edecd1f0a7b55990ed208848012e0/scipy-1.13.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:637e98dcf185ba7f8e663e122ebf908c4702420477ae52a04f9908707456ba4d", size = 38612244 }, - { url = "https://files.pythonhosted.org/packages/8d/02/1165905f14962174e6569076bcc3315809ae1291ed14de6448cc151eedfd/scipy-1.13.1-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:a014c2b3697bde71724244f63de2476925596c24285c7a637364761f8710891c", size = 38845637 }, - { url = "https://files.pythonhosted.org/packages/3e/77/dab54fe647a08ee4253963bcd8f9cf17509c8ca64d6335141422fe2e2114/scipy-1.13.1-cp39-cp39-win_amd64.whl", hash = "sha256:392e4ec766654852c25ebad4f64e4e584cf19820b980bc04960bca0b0cd6eaa2", size = 46227440 }, +sdist = { url = "https://files.pythonhosted.org/packages/ae/00/48c2f661e2816ccf2ecd77982f6605b2950afe60f60a52b4cbbc2504aa8f/scipy-1.13.1.tar.gz", hash = "sha256:095a87a0312b08dfd6a6155cbbd310a8c51800fc931b8c0b84003014b874ed3c", size = 57210720, upload-time = "2024-05-23T03:29:26.079Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/33/59/41b2529908c002ade869623b87eecff3e11e3ce62e996d0bdcb536984187/scipy-1.13.1-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:20335853b85e9a49ff7572ab453794298bcf0354d8068c5f6775a0eabf350aca", size = 39328076, upload-time = "2024-05-23T03:19:01.687Z" }, + { url = "https://files.pythonhosted.org/packages/d5/33/f1307601f492f764062ce7dd471a14750f3360e33cd0f8c614dae208492c/scipy-1.13.1-cp310-cp310-macosx_12_0_arm64.whl", hash = "sha256:d605e9c23906d1994f55ace80e0125c587f96c020037ea6aa98d01b4bd2e222f", size = 30306232, upload-time = "2024-05-23T03:19:09.089Z" }, + { url = "https://files.pythonhosted.org/packages/c0/66/9cd4f501dd5ea03e4a4572ecd874936d0da296bd04d1c45ae1a4a75d9c3a/scipy-1.13.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:cfa31f1def5c819b19ecc3a8b52d28ffdcc7ed52bb20c9a7589669dd3c250989", size = 33743202, upload-time = "2024-05-23T03:19:15.138Z" }, + { url = "https://files.pythonhosted.org/packages/a3/ba/7255e5dc82a65adbe83771c72f384d99c43063648456796436c9a5585ec3/scipy-1.13.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f26264b282b9da0952a024ae34710c2aff7d27480ee91a2e82b7b7073c24722f", size = 38577335, upload-time = "2024-05-23T03:19:21.984Z" }, + { url = "https://files.pythonhosted.org/packages/49/a5/bb9ded8326e9f0cdfdc412eeda1054b914dfea952bda2097d174f8832cc0/scipy-1.13.1-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:eccfa1906eacc02de42d70ef4aecea45415f5be17e72b61bafcfd329bdc52e94", size = 38820728, upload-time = "2024-05-23T03:19:28.225Z" }, + { url = "https://files.pythonhosted.org/packages/12/30/df7a8fcc08f9b4a83f5f27cfaaa7d43f9a2d2ad0b6562cced433e5b04e31/scipy-1.13.1-cp310-cp310-win_amd64.whl", hash = "sha256:2831f0dc9c5ea9edd6e51e6e769b655f08ec6db6e2e10f86ef39bd32eb11da54", size = 46210588, upload-time = "2024-05-23T03:19:35.661Z" }, + { url = "https://files.pythonhosted.org/packages/b4/15/4a4bb1b15bbd2cd2786c4f46e76b871b28799b67891f23f455323a0cdcfb/scipy-1.13.1-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:27e52b09c0d3a1d5b63e1105f24177e544a222b43611aaf5bc44d4a0979e32f9", size = 39333805, upload-time = "2024-05-23T03:19:43.081Z" }, + { url = "https://files.pythonhosted.org/packages/ba/92/42476de1af309c27710004f5cdebc27bec62c204db42e05b23a302cb0c9a/scipy-1.13.1-cp311-cp311-macosx_12_0_arm64.whl", hash = "sha256:54f430b00f0133e2224c3ba42b805bfd0086fe488835effa33fa291561932326", size = 30317687, upload-time = "2024-05-23T03:19:48.799Z" }, + { url = "https://files.pythonhosted.org/packages/80/ba/8be64fe225360a4beb6840f3cbee494c107c0887f33350d0a47d55400b01/scipy-1.13.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:e89369d27f9e7b0884ae559a3a956e77c02114cc60a6058b4e5011572eea9299", size = 33694638, upload-time = "2024-05-23T03:19:55.104Z" }, + { url = "https://files.pythonhosted.org/packages/36/07/035d22ff9795129c5a847c64cb43c1fa9188826b59344fee28a3ab02e283/scipy-1.13.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:a78b4b3345f1b6f68a763c6e25c0c9a23a9fd0f39f5f3d200efe8feda560a5fa", size = 38569931, upload-time = "2024-05-23T03:20:01.82Z" }, + { url = "https://files.pythonhosted.org/packages/d9/10/f9b43de37e5ed91facc0cfff31d45ed0104f359e4f9a68416cbf4e790241/scipy-1.13.1-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:45484bee6d65633752c490404513b9ef02475b4284c4cfab0ef946def50b3f59", size = 38838145, upload-time = "2024-05-23T03:20:09.173Z" }, + { url = "https://files.pythonhosted.org/packages/4a/48/4513a1a5623a23e95f94abd675ed91cfb19989c58e9f6f7d03990f6caf3d/scipy-1.13.1-cp311-cp311-win_amd64.whl", hash = "sha256:5713f62f781eebd8d597eb3f88b8bf9274e79eeabf63afb4a737abc6c84ad37b", size = 46196227, upload-time = "2024-05-23T03:20:16.433Z" }, + { url = "https://files.pythonhosted.org/packages/f2/7b/fb6b46fbee30fc7051913068758414f2721003a89dd9a707ad49174e3843/scipy-1.13.1-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:5d72782f39716b2b3509cd7c33cdc08c96f2f4d2b06d51e52fb45a19ca0c86a1", size = 39357301, upload-time = "2024-05-23T03:20:23.538Z" }, + { url = "https://files.pythonhosted.org/packages/dc/5a/2043a3bde1443d94014aaa41e0b50c39d046dda8360abd3b2a1d3f79907d/scipy-1.13.1-cp312-cp312-macosx_12_0_arm64.whl", hash = "sha256:017367484ce5498445aade74b1d5ab377acdc65e27095155e448c88497755a5d", size = 30363348, upload-time = "2024-05-23T03:20:29.885Z" }, + { url = "https://files.pythonhosted.org/packages/e7/cb/26e4a47364bbfdb3b7fb3363be6d8a1c543bcd70a7753ab397350f5f189a/scipy-1.13.1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:949ae67db5fa78a86e8fa644b9a6b07252f449dcf74247108c50e1d20d2b4627", size = 33406062, upload-time = "2024-05-23T03:20:36.012Z" }, + { url = "https://files.pythonhosted.org/packages/88/ab/6ecdc526d509d33814835447bbbeedbebdec7cca46ef495a61b00a35b4bf/scipy-1.13.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:de3ade0e53bc1f21358aa74ff4830235d716211d7d077e340c7349bc3542e884", size = 38218311, upload-time = "2024-05-23T03:20:42.086Z" }, + { url = "https://files.pythonhosted.org/packages/0b/00/9f54554f0f8318100a71515122d8f4f503b1a2c4b4cfab3b4b68c0eb08fa/scipy-1.13.1-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:2ac65fb503dad64218c228e2dc2d0a0193f7904747db43014645ae139c8fad16", size = 38442493, upload-time = "2024-05-23T03:20:48.292Z" }, + { url = "https://files.pythonhosted.org/packages/3e/df/963384e90733e08eac978cd103c34df181d1fec424de383cdc443f418dd4/scipy-1.13.1-cp312-cp312-win_amd64.whl", hash = "sha256:cdd7dacfb95fea358916410ec61bbc20440f7860333aee6d882bb8046264e949", size = 45910955, upload-time = "2024-05-23T03:20:55.091Z" }, + { url = "https://files.pythonhosted.org/packages/7f/29/c2ea58c9731b9ecb30b6738113a95d147e83922986b34c685b8f6eefde21/scipy-1.13.1-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:436bbb42a94a8aeef855d755ce5a465479c721e9d684de76bf61a62e7c2b81d5", size = 39352927, upload-time = "2024-05-23T03:21:01.95Z" }, + { url = "https://files.pythonhosted.org/packages/5c/c0/e71b94b20ccf9effb38d7147c0064c08c622309fd487b1b677771a97d18c/scipy-1.13.1-cp39-cp39-macosx_12_0_arm64.whl", hash = "sha256:8335549ebbca860c52bf3d02f80784e91a004b71b059e3eea9678ba994796a24", size = 30324538, upload-time = "2024-05-23T03:21:07.634Z" }, + { url = "https://files.pythonhosted.org/packages/6d/0f/aaa55b06d474817cea311e7b10aab2ea1fd5d43bc6a2861ccc9caec9f418/scipy-1.13.1-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d533654b7d221a6a97304ab63c41c96473ff04459e404b83275b60aa8f4b7004", size = 33732190, upload-time = "2024-05-23T03:21:14.41Z" }, + { url = "https://files.pythonhosted.org/packages/35/f5/d0ad1a96f80962ba65e2ce1de6a1e59edecd1f0a7b55990ed208848012e0/scipy-1.13.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:637e98dcf185ba7f8e663e122ebf908c4702420477ae52a04f9908707456ba4d", size = 38612244, upload-time = "2024-05-23T03:21:21.827Z" }, + { url = "https://files.pythonhosted.org/packages/8d/02/1165905f14962174e6569076bcc3315809ae1291ed14de6448cc151eedfd/scipy-1.13.1-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:a014c2b3697bde71724244f63de2476925596c24285c7a637364761f8710891c", size = 38845637, upload-time = "2024-05-23T03:21:28.729Z" }, + { url = "https://files.pythonhosted.org/packages/3e/77/dab54fe647a08ee4253963bcd8f9cf17509c8ca64d6335141422fe2e2114/scipy-1.13.1-cp39-cp39-win_amd64.whl", hash = "sha256:392e4ec766654852c25ebad4f64e4e584cf19820b980bc04960bca0b0cd6eaa2", size = 46227440, upload-time = "2024-05-23T03:21:35.888Z" }, ] [[package]] @@ -4675,47 +4675,47 @@ resolution-markers = [ dependencies = [ { name = "numpy", version = "2.2.2", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.10'" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/76/c6/8eb0654ba0c7d0bb1bf67bf8fbace101a8e4f250f7722371105e8b6f68fc/scipy-1.15.1.tar.gz", hash = "sha256:033a75ddad1463970c96a88063a1df87ccfddd526437136b6ee81ff0312ebdf6", size = 59407493 } -wheels = [ - { url = "https://files.pythonhosted.org/packages/86/53/b204ce5a4433f1864001b9d16f103b9c25f5002a602ae83585d0ea5f9c4a/scipy-1.15.1-cp310-cp310-macosx_10_13_x86_64.whl", hash = "sha256:c64ded12dcab08afff9e805a67ff4480f5e69993310e093434b10e85dc9d43e1", size = 41414518 }, - { url = "https://files.pythonhosted.org/packages/c7/fc/54ffa7a8847f7f303197a6ba65a66104724beba2e38f328135a78f0dc480/scipy-1.15.1-cp310-cp310-macosx_12_0_arm64.whl", hash = "sha256:5b190b935e7db569960b48840e5bef71dc513314cc4e79a1b7d14664f57fd4ff", size = 32519265 }, - { url = "https://files.pythonhosted.org/packages/f1/77/a98b8ba03d6f371dc31a38719affd53426d4665729dcffbed4afe296784a/scipy-1.15.1-cp310-cp310-macosx_14_0_arm64.whl", hash = "sha256:4b17d4220df99bacb63065c76b0d1126d82bbf00167d1730019d2a30d6ae01ea", size = 24792859 }, - { url = "https://files.pythonhosted.org/packages/a7/78/70bb9f0df7444b18b108580934bfef774822e28fd34a68e5c263c7d2828a/scipy-1.15.1-cp310-cp310-macosx_14_0_x86_64.whl", hash = "sha256:63b9b6cd0333d0eb1a49de6f834e8aeaefe438df8f6372352084535ad095219e", size = 27886506 }, - { url = "https://files.pythonhosted.org/packages/14/a7/f40f6033e06de4176ddd6cc8c3ae9f10a226c3bca5d6b4ab883bc9914a14/scipy-1.15.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:9f151e9fb60fbf8e52426132f473221a49362091ce7a5e72f8aa41f8e0da4f25", size = 38375041 }, - { url = "https://files.pythonhosted.org/packages/17/03/390a1c5c61fd76b0fa4b3c5aa3bdd7e60f6c46f712924f1a9df5705ec046/scipy-1.15.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:21e10b1dd56ce92fba3e786007322542361984f8463c6d37f6f25935a5a6ef52", size = 40597556 }, - { url = "https://files.pythonhosted.org/packages/4e/70/fa95b3ae026b97eeca58204a90868802e5155ac71b9d7bdee92b68115dd3/scipy-1.15.1-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:5dff14e75cdbcf07cdaa1c7707db6017d130f0af9ac41f6ce443a93318d6c6e0", size = 42938505 }, - { url = "https://files.pythonhosted.org/packages/d6/07/427859116bdd71847c898180f01802691f203c3e2455a1eb496130ff07c5/scipy-1.15.1-cp310-cp310-win_amd64.whl", hash = "sha256:f82fcf4e5b377f819542fbc8541f7b5fbcf1c0017d0df0bc22c781bf60abc4d8", size = 43909663 }, - { url = "https://files.pythonhosted.org/packages/8e/2e/7b71312da9c2dabff53e7c9a9d08231bc34d9d8fdabe88a6f1155b44591c/scipy-1.15.1-cp311-cp311-macosx_10_13_x86_64.whl", hash = "sha256:5bd8d27d44e2c13d0c1124e6a556454f52cd3f704742985f6b09e75e163d20d2", size = 41424362 }, - { url = "https://files.pythonhosted.org/packages/81/8c/ab85f1aa1cc200c796532a385b6ebf6a81089747adc1da7482a062acc46c/scipy-1.15.1-cp311-cp311-macosx_12_0_arm64.whl", hash = "sha256:be3deeb32844c27599347faa077b359584ba96664c5c79d71a354b80a0ad0ce0", size = 32535910 }, - { url = "https://files.pythonhosted.org/packages/3b/9c/6f4b787058daa8d8da21ddff881b4320e28de4704a65ec147adb50cb2230/scipy-1.15.1-cp311-cp311-macosx_14_0_arm64.whl", hash = "sha256:5eb0ca35d4b08e95da99a9f9c400dc9f6c21c424298a0ba876fdc69c7afacedf", size = 24809398 }, - { url = "https://files.pythonhosted.org/packages/16/2b/949460a796df75fc7a1ee1becea202cf072edbe325ebe29f6d2029947aa7/scipy-1.15.1-cp311-cp311-macosx_14_0_x86_64.whl", hash = "sha256:74bb864ff7640dea310a1377d8567dc2cb7599c26a79ca852fc184cc851954ac", size = 27918045 }, - { url = "https://files.pythonhosted.org/packages/5f/36/67fe249dd7ccfcd2a38b25a640e3af7e59d9169c802478b6035ba91dfd6d/scipy-1.15.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:667f950bf8b7c3a23b4199db24cb9bf7512e27e86d0e3813f015b74ec2c6e3df", size = 38332074 }, - { url = "https://files.pythonhosted.org/packages/fc/da/452e1119e6f720df3feb588cce3c42c5e3d628d4bfd4aec097bd30b7de0c/scipy-1.15.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:395be70220d1189756068b3173853029a013d8c8dd5fd3d1361d505b2aa58fa7", size = 40588469 }, - { url = "https://files.pythonhosted.org/packages/7f/71/5f94aceeac99a4941478af94fe9f459c6752d497035b6b0761a700f5f9ff/scipy-1.15.1-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:ce3a000cd28b4430426db2ca44d96636f701ed12e2b3ca1f2b1dd7abdd84b39a", size = 42965214 }, - { url = "https://files.pythonhosted.org/packages/af/25/caa430865749d504271757cafd24066d596217e83326155993980bc22f97/scipy-1.15.1-cp311-cp311-win_amd64.whl", hash = "sha256:3fe1d95944f9cf6ba77aa28b82dd6bb2a5b52f2026beb39ecf05304b8392864b", size = 43896034 }, - { url = "https://files.pythonhosted.org/packages/d8/6e/a9c42d0d39e09ed7fd203d0ac17adfea759cba61ab457671fe66e523dbec/scipy-1.15.1-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:c09aa9d90f3500ea4c9b393ee96f96b0ccb27f2f350d09a47f533293c78ea776", size = 41478318 }, - { url = "https://files.pythonhosted.org/packages/04/ee/e3e535c81828618878a7433992fecc92fa4df79393f31a8fea1d05615091/scipy-1.15.1-cp312-cp312-macosx_12_0_arm64.whl", hash = "sha256:0ac102ce99934b162914b1e4a6b94ca7da0f4058b6d6fd65b0cef330c0f3346f", size = 32596696 }, - { url = "https://files.pythonhosted.org/packages/c4/5e/b1b0124be8e76f87115f16b8915003eec4b7060298117715baf13f51942c/scipy-1.15.1-cp312-cp312-macosx_14_0_arm64.whl", hash = "sha256:09c52320c42d7f5c7748b69e9f0389266fd4f82cf34c38485c14ee976cb8cb04", size = 24870366 }, - { url = "https://files.pythonhosted.org/packages/14/36/c00cb73eefda85946172c27913ab995c6ad4eee00fa4f007572e8c50cd51/scipy-1.15.1-cp312-cp312-macosx_14_0_x86_64.whl", hash = "sha256:cdde8414154054763b42b74fe8ce89d7f3d17a7ac5dd77204f0e142cdc9239e9", size = 28007461 }, - { url = "https://files.pythonhosted.org/packages/68/94/aff5c51b3799349a9d1e67a056772a0f8a47db371e83b498d43467806557/scipy-1.15.1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:4c9d8fc81d6a3b6844235e6fd175ee1d4c060163905a2becce8e74cb0d7554ce", size = 38068174 }, - { url = "https://files.pythonhosted.org/packages/b0/3c/0de11ca154e24a57b579fb648151d901326d3102115bc4f9a7a86526ce54/scipy-1.15.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:0fb57b30f0017d4afa5fe5f5b150b8f807618819287c21cbe51130de7ccdaed2", size = 40249869 }, - { url = "https://files.pythonhosted.org/packages/15/09/472e8d0a6b33199d1bb95e49bedcabc0976c3724edd9b0ef7602ccacf41e/scipy-1.15.1-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:491d57fe89927fa1aafbe260f4cfa5ffa20ab9f1435025045a5315006a91b8f5", size = 42629068 }, - { url = "https://files.pythonhosted.org/packages/ff/ba/31c7a8131152822b3a2cdeba76398ffb404d81d640de98287d236da90c49/scipy-1.15.1-cp312-cp312-win_amd64.whl", hash = "sha256:900f3fa3db87257510f011c292a5779eb627043dd89731b9c461cd16ef76ab3d", size = 43621992 }, - { url = "https://files.pythonhosted.org/packages/2b/bf/dd68965a4c5138a630eeed0baec9ae96e5d598887835bdde96cdd2fe4780/scipy-1.15.1-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:100193bb72fbff37dbd0bf14322314fc7cbe08b7ff3137f11a34d06dc0ee6b85", size = 41441136 }, - { url = "https://files.pythonhosted.org/packages/ef/5e/4928581312922d7e4d416d74c416a660addec4dd5ea185401df2269ba5a0/scipy-1.15.1-cp313-cp313-macosx_12_0_arm64.whl", hash = "sha256:2114a08daec64980e4b4cbdf5bee90935af66d750146b1d2feb0d3ac30613692", size = 32533699 }, - { url = "https://files.pythonhosted.org/packages/32/90/03f99c43041852837686898c66767787cd41c5843d7a1509c39ffef683e9/scipy-1.15.1-cp313-cp313-macosx_14_0_arm64.whl", hash = "sha256:6b3e71893c6687fc5e29208d518900c24ea372a862854c9888368c0b267387ab", size = 24807289 }, - { url = "https://files.pythonhosted.org/packages/9d/52/bfe82b42ae112eaba1af2f3e556275b8727d55ac6e4932e7aef337a9d9d4/scipy-1.15.1-cp313-cp313-macosx_14_0_x86_64.whl", hash = "sha256:837299eec3d19b7e042923448d17d95a86e43941104d33f00da7e31a0f715d3c", size = 27929844 }, - { url = "https://files.pythonhosted.org/packages/f6/77/54ff610bad600462c313326acdb035783accc6a3d5f566d22757ad297564/scipy-1.15.1-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:82add84e8a9fb12af5c2c1a3a3f1cb51849d27a580cb9e6bd66226195142be6e", size = 38031272 }, - { url = "https://files.pythonhosted.org/packages/f1/26/98585cbf04c7cf503d7eb0a1966df8a268154b5d923c5fe0c1ed13154c49/scipy-1.15.1-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:070d10654f0cb6abd295bc96c12656f948e623ec5f9a4eab0ddb1466c000716e", size = 40210217 }, - { url = "https://files.pythonhosted.org/packages/fd/3f/3d2285eb6fece8bc5dbb2f9f94d61157d61d155e854fd5fea825b8218f12/scipy-1.15.1-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:55cc79ce4085c702ac31e49b1e69b27ef41111f22beafb9b49fea67142b696c4", size = 42587785 }, - { url = "https://files.pythonhosted.org/packages/48/7d/5b5251984bf0160d6533695a74a5fddb1fa36edd6f26ffa8c871fbd4782a/scipy-1.15.1-cp313-cp313-win_amd64.whl", hash = "sha256:c352c1b6d7cac452534517e022f8f7b8d139cd9f27e6fbd9f3cbd0bfd39f5bef", size = 43640439 }, - { url = "https://files.pythonhosted.org/packages/e7/b8/0e092f592d280496de52e152582030f8a270b194f87f890e1a97c5599b81/scipy-1.15.1-cp313-cp313t-macosx_10_13_x86_64.whl", hash = "sha256:0458839c9f873062db69a03de9a9765ae2e694352c76a16be44f93ea45c28d2b", size = 41619862 }, - { url = "https://files.pythonhosted.org/packages/f6/19/0b6e1173aba4db9e0b7aa27fe45019857fb90d6904038b83927cbe0a6c1d/scipy-1.15.1-cp313-cp313t-macosx_12_0_arm64.whl", hash = "sha256:af0b61c1de46d0565b4b39c6417373304c1d4f5220004058bdad3061c9fa8a95", size = 32610387 }, - { url = "https://files.pythonhosted.org/packages/e7/02/754aae3bd1fa0f2479ade3cfdf1732ecd6b05853f63eee6066a32684563a/scipy-1.15.1-cp313-cp313t-macosx_14_0_arm64.whl", hash = "sha256:71ba9a76c2390eca6e359be81a3e879614af3a71dfdabb96d1d7ab33da6f2364", size = 24883814 }, - { url = "https://files.pythonhosted.org/packages/1f/ac/d7906201604a2ea3b143bb0de51b3966f66441ba50b7dc182c4505b3edf9/scipy-1.15.1-cp313-cp313t-macosx_14_0_x86_64.whl", hash = "sha256:14eaa373c89eaf553be73c3affb11ec6c37493b7eaaf31cf9ac5dffae700c2e0", size = 27944865 }, - { url = "https://files.pythonhosted.org/packages/84/9d/8f539002b5e203723af6a6f513a45e0a7671e9dabeedb08f417ac17e4edc/scipy-1.15.1-cp313-cp313t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f735bc41bd1c792c96bc426dece66c8723283695f02df61dcc4d0a707a42fc54", size = 39883261 }, - { url = "https://files.pythonhosted.org/packages/97/c0/62fd3bab828bcccc9b864c5997645a3b86372a35941cdaf677565c25c98d/scipy-1.15.1-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:2722a021a7929d21168830790202a75dbb20b468a8133c74a2c0230c72626b6c", size = 42093299 }, - { url = "https://files.pythonhosted.org/packages/e4/1f/5d46a8d94e9f6d2c913cbb109e57e7eed914de38ea99e2c4d69a9fc93140/scipy-1.15.1-cp313-cp313t-win_amd64.whl", hash = "sha256:bc7136626261ac1ed988dca56cfc4ab5180f75e0ee52e58f1e6aa74b5f3eacd5", size = 43181730 }, +sdist = { url = "https://files.pythonhosted.org/packages/76/c6/8eb0654ba0c7d0bb1bf67bf8fbace101a8e4f250f7722371105e8b6f68fc/scipy-1.15.1.tar.gz", hash = "sha256:033a75ddad1463970c96a88063a1df87ccfddd526437136b6ee81ff0312ebdf6", size = 59407493, upload-time = "2025-01-11T00:06:16.883Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/86/53/b204ce5a4433f1864001b9d16f103b9c25f5002a602ae83585d0ea5f9c4a/scipy-1.15.1-cp310-cp310-macosx_10_13_x86_64.whl", hash = "sha256:c64ded12dcab08afff9e805a67ff4480f5e69993310e093434b10e85dc9d43e1", size = 41414518, upload-time = "2025-01-10T23:59:19.173Z" }, + { url = "https://files.pythonhosted.org/packages/c7/fc/54ffa7a8847f7f303197a6ba65a66104724beba2e38f328135a78f0dc480/scipy-1.15.1-cp310-cp310-macosx_12_0_arm64.whl", hash = "sha256:5b190b935e7db569960b48840e5bef71dc513314cc4e79a1b7d14664f57fd4ff", size = 32519265, upload-time = "2025-01-10T23:59:27.6Z" }, + { url = "https://files.pythonhosted.org/packages/f1/77/a98b8ba03d6f371dc31a38719affd53426d4665729dcffbed4afe296784a/scipy-1.15.1-cp310-cp310-macosx_14_0_arm64.whl", hash = "sha256:4b17d4220df99bacb63065c76b0d1126d82bbf00167d1730019d2a30d6ae01ea", size = 24792859, upload-time = "2025-01-10T23:59:33.906Z" }, + { url = "https://files.pythonhosted.org/packages/a7/78/70bb9f0df7444b18b108580934bfef774822e28fd34a68e5c263c7d2828a/scipy-1.15.1-cp310-cp310-macosx_14_0_x86_64.whl", hash = "sha256:63b9b6cd0333d0eb1a49de6f834e8aeaefe438df8f6372352084535ad095219e", size = 27886506, upload-time = "2025-01-10T23:59:39.288Z" }, + { url = "https://files.pythonhosted.org/packages/14/a7/f40f6033e06de4176ddd6cc8c3ae9f10a226c3bca5d6b4ab883bc9914a14/scipy-1.15.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:9f151e9fb60fbf8e52426132f473221a49362091ce7a5e72f8aa41f8e0da4f25", size = 38375041, upload-time = "2025-01-10T23:59:47.066Z" }, + { url = "https://files.pythonhosted.org/packages/17/03/390a1c5c61fd76b0fa4b3c5aa3bdd7e60f6c46f712924f1a9df5705ec046/scipy-1.15.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:21e10b1dd56ce92fba3e786007322542361984f8463c6d37f6f25935a5a6ef52", size = 40597556, upload-time = "2025-01-10T23:59:55.199Z" }, + { url = "https://files.pythonhosted.org/packages/4e/70/fa95b3ae026b97eeca58204a90868802e5155ac71b9d7bdee92b68115dd3/scipy-1.15.1-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:5dff14e75cdbcf07cdaa1c7707db6017d130f0af9ac41f6ce443a93318d6c6e0", size = 42938505, upload-time = "2025-01-11T00:00:04.734Z" }, + { url = "https://files.pythonhosted.org/packages/d6/07/427859116bdd71847c898180f01802691f203c3e2455a1eb496130ff07c5/scipy-1.15.1-cp310-cp310-win_amd64.whl", hash = "sha256:f82fcf4e5b377f819542fbc8541f7b5fbcf1c0017d0df0bc22c781bf60abc4d8", size = 43909663, upload-time = "2025-01-11T00:00:15.339Z" }, + { url = "https://files.pythonhosted.org/packages/8e/2e/7b71312da9c2dabff53e7c9a9d08231bc34d9d8fdabe88a6f1155b44591c/scipy-1.15.1-cp311-cp311-macosx_10_13_x86_64.whl", hash = "sha256:5bd8d27d44e2c13d0c1124e6a556454f52cd3f704742985f6b09e75e163d20d2", size = 41424362, upload-time = "2025-01-11T00:00:22.985Z" }, + { url = "https://files.pythonhosted.org/packages/81/8c/ab85f1aa1cc200c796532a385b6ebf6a81089747adc1da7482a062acc46c/scipy-1.15.1-cp311-cp311-macosx_12_0_arm64.whl", hash = "sha256:be3deeb32844c27599347faa077b359584ba96664c5c79d71a354b80a0ad0ce0", size = 32535910, upload-time = "2025-01-11T00:00:29.569Z" }, + { url = "https://files.pythonhosted.org/packages/3b/9c/6f4b787058daa8d8da21ddff881b4320e28de4704a65ec147adb50cb2230/scipy-1.15.1-cp311-cp311-macosx_14_0_arm64.whl", hash = "sha256:5eb0ca35d4b08e95da99a9f9c400dc9f6c21c424298a0ba876fdc69c7afacedf", size = 24809398, upload-time = "2025-01-11T00:00:36.218Z" }, + { url = "https://files.pythonhosted.org/packages/16/2b/949460a796df75fc7a1ee1becea202cf072edbe325ebe29f6d2029947aa7/scipy-1.15.1-cp311-cp311-macosx_14_0_x86_64.whl", hash = "sha256:74bb864ff7640dea310a1377d8567dc2cb7599c26a79ca852fc184cc851954ac", size = 27918045, upload-time = "2025-01-11T00:00:42.627Z" }, + { url = "https://files.pythonhosted.org/packages/5f/36/67fe249dd7ccfcd2a38b25a640e3af7e59d9169c802478b6035ba91dfd6d/scipy-1.15.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:667f950bf8b7c3a23b4199db24cb9bf7512e27e86d0e3813f015b74ec2c6e3df", size = 38332074, upload-time = "2025-01-11T00:00:52.633Z" }, + { url = "https://files.pythonhosted.org/packages/fc/da/452e1119e6f720df3feb588cce3c42c5e3d628d4bfd4aec097bd30b7de0c/scipy-1.15.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:395be70220d1189756068b3173853029a013d8c8dd5fd3d1361d505b2aa58fa7", size = 40588469, upload-time = "2025-01-11T00:01:00.149Z" }, + { url = "https://files.pythonhosted.org/packages/7f/71/5f94aceeac99a4941478af94fe9f459c6752d497035b6b0761a700f5f9ff/scipy-1.15.1-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:ce3a000cd28b4430426db2ca44d96636f701ed12e2b3ca1f2b1dd7abdd84b39a", size = 42965214, upload-time = "2025-01-11T00:01:10.131Z" }, + { url = "https://files.pythonhosted.org/packages/af/25/caa430865749d504271757cafd24066d596217e83326155993980bc22f97/scipy-1.15.1-cp311-cp311-win_amd64.whl", hash = "sha256:3fe1d95944f9cf6ba77aa28b82dd6bb2a5b52f2026beb39ecf05304b8392864b", size = 43896034, upload-time = "2025-01-11T00:01:40.933Z" }, + { url = "https://files.pythonhosted.org/packages/d8/6e/a9c42d0d39e09ed7fd203d0ac17adfea759cba61ab457671fe66e523dbec/scipy-1.15.1-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:c09aa9d90f3500ea4c9b393ee96f96b0ccb27f2f350d09a47f533293c78ea776", size = 41478318, upload-time = "2025-01-11T00:01:53.571Z" }, + { url = "https://files.pythonhosted.org/packages/04/ee/e3e535c81828618878a7433992fecc92fa4df79393f31a8fea1d05615091/scipy-1.15.1-cp312-cp312-macosx_12_0_arm64.whl", hash = "sha256:0ac102ce99934b162914b1e4a6b94ca7da0f4058b6d6fd65b0cef330c0f3346f", size = 32596696, upload-time = "2025-01-11T00:02:03.859Z" }, + { url = "https://files.pythonhosted.org/packages/c4/5e/b1b0124be8e76f87115f16b8915003eec4b7060298117715baf13f51942c/scipy-1.15.1-cp312-cp312-macosx_14_0_arm64.whl", hash = "sha256:09c52320c42d7f5c7748b69e9f0389266fd4f82cf34c38485c14ee976cb8cb04", size = 24870366, upload-time = "2025-01-11T00:02:12.434Z" }, + { url = "https://files.pythonhosted.org/packages/14/36/c00cb73eefda85946172c27913ab995c6ad4eee00fa4f007572e8c50cd51/scipy-1.15.1-cp312-cp312-macosx_14_0_x86_64.whl", hash = "sha256:cdde8414154054763b42b74fe8ce89d7f3d17a7ac5dd77204f0e142cdc9239e9", size = 28007461, upload-time = "2025-01-11T00:02:20.237Z" }, + { url = "https://files.pythonhosted.org/packages/68/94/aff5c51b3799349a9d1e67a056772a0f8a47db371e83b498d43467806557/scipy-1.15.1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:4c9d8fc81d6a3b6844235e6fd175ee1d4c060163905a2becce8e74cb0d7554ce", size = 38068174, upload-time = "2025-01-11T00:02:30.21Z" }, + { url = "https://files.pythonhosted.org/packages/b0/3c/0de11ca154e24a57b579fb648151d901326d3102115bc4f9a7a86526ce54/scipy-1.15.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:0fb57b30f0017d4afa5fe5f5b150b8f807618819287c21cbe51130de7ccdaed2", size = 40249869, upload-time = "2025-01-11T00:02:41.811Z" }, + { url = "https://files.pythonhosted.org/packages/15/09/472e8d0a6b33199d1bb95e49bedcabc0976c3724edd9b0ef7602ccacf41e/scipy-1.15.1-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:491d57fe89927fa1aafbe260f4cfa5ffa20ab9f1435025045a5315006a91b8f5", size = 42629068, upload-time = "2025-01-11T00:02:53.118Z" }, + { url = "https://files.pythonhosted.org/packages/ff/ba/31c7a8131152822b3a2cdeba76398ffb404d81d640de98287d236da90c49/scipy-1.15.1-cp312-cp312-win_amd64.whl", hash = "sha256:900f3fa3db87257510f011c292a5779eb627043dd89731b9c461cd16ef76ab3d", size = 43621992, upload-time = "2025-01-11T00:03:04.53Z" }, + { url = "https://files.pythonhosted.org/packages/2b/bf/dd68965a4c5138a630eeed0baec9ae96e5d598887835bdde96cdd2fe4780/scipy-1.15.1-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:100193bb72fbff37dbd0bf14322314fc7cbe08b7ff3137f11a34d06dc0ee6b85", size = 41441136, upload-time = "2025-01-11T00:03:17.245Z" }, + { url = "https://files.pythonhosted.org/packages/ef/5e/4928581312922d7e4d416d74c416a660addec4dd5ea185401df2269ba5a0/scipy-1.15.1-cp313-cp313-macosx_12_0_arm64.whl", hash = "sha256:2114a08daec64980e4b4cbdf5bee90935af66d750146b1d2feb0d3ac30613692", size = 32533699, upload-time = "2025-01-11T00:03:26.894Z" }, + { url = "https://files.pythonhosted.org/packages/32/90/03f99c43041852837686898c66767787cd41c5843d7a1509c39ffef683e9/scipy-1.15.1-cp313-cp313-macosx_14_0_arm64.whl", hash = "sha256:6b3e71893c6687fc5e29208d518900c24ea372a862854c9888368c0b267387ab", size = 24807289, upload-time = "2025-01-11T00:03:34.263Z" }, + { url = "https://files.pythonhosted.org/packages/9d/52/bfe82b42ae112eaba1af2f3e556275b8727d55ac6e4932e7aef337a9d9d4/scipy-1.15.1-cp313-cp313-macosx_14_0_x86_64.whl", hash = "sha256:837299eec3d19b7e042923448d17d95a86e43941104d33f00da7e31a0f715d3c", size = 27929844, upload-time = "2025-01-11T00:03:42.934Z" }, + { url = "https://files.pythonhosted.org/packages/f6/77/54ff610bad600462c313326acdb035783accc6a3d5f566d22757ad297564/scipy-1.15.1-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:82add84e8a9fb12af5c2c1a3a3f1cb51849d27a580cb9e6bd66226195142be6e", size = 38031272, upload-time = "2025-01-11T00:03:52.509Z" }, + { url = "https://files.pythonhosted.org/packages/f1/26/98585cbf04c7cf503d7eb0a1966df8a268154b5d923c5fe0c1ed13154c49/scipy-1.15.1-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:070d10654f0cb6abd295bc96c12656f948e623ec5f9a4eab0ddb1466c000716e", size = 40210217, upload-time = "2025-01-11T00:04:05.615Z" }, + { url = "https://files.pythonhosted.org/packages/fd/3f/3d2285eb6fece8bc5dbb2f9f94d61157d61d155e854fd5fea825b8218f12/scipy-1.15.1-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:55cc79ce4085c702ac31e49b1e69b27ef41111f22beafb9b49fea67142b696c4", size = 42587785, upload-time = "2025-01-11T00:04:16.702Z" }, + { url = "https://files.pythonhosted.org/packages/48/7d/5b5251984bf0160d6533695a74a5fddb1fa36edd6f26ffa8c871fbd4782a/scipy-1.15.1-cp313-cp313-win_amd64.whl", hash = "sha256:c352c1b6d7cac452534517e022f8f7b8d139cd9f27e6fbd9f3cbd0bfd39f5bef", size = 43640439, upload-time = "2025-01-11T00:05:28.233Z" }, + { url = "https://files.pythonhosted.org/packages/e7/b8/0e092f592d280496de52e152582030f8a270b194f87f890e1a97c5599b81/scipy-1.15.1-cp313-cp313t-macosx_10_13_x86_64.whl", hash = "sha256:0458839c9f873062db69a03de9a9765ae2e694352c76a16be44f93ea45c28d2b", size = 41619862, upload-time = "2025-01-11T00:04:26.419Z" }, + { url = "https://files.pythonhosted.org/packages/f6/19/0b6e1173aba4db9e0b7aa27fe45019857fb90d6904038b83927cbe0a6c1d/scipy-1.15.1-cp313-cp313t-macosx_12_0_arm64.whl", hash = "sha256:af0b61c1de46d0565b4b39c6417373304c1d4f5220004058bdad3061c9fa8a95", size = 32610387, upload-time = "2025-01-11T00:04:35.474Z" }, + { url = "https://files.pythonhosted.org/packages/e7/02/754aae3bd1fa0f2479ade3cfdf1732ecd6b05853f63eee6066a32684563a/scipy-1.15.1-cp313-cp313t-macosx_14_0_arm64.whl", hash = "sha256:71ba9a76c2390eca6e359be81a3e879614af3a71dfdabb96d1d7ab33da6f2364", size = 24883814, upload-time = "2025-01-11T00:04:46.708Z" }, + { url = "https://files.pythonhosted.org/packages/1f/ac/d7906201604a2ea3b143bb0de51b3966f66441ba50b7dc182c4505b3edf9/scipy-1.15.1-cp313-cp313t-macosx_14_0_x86_64.whl", hash = "sha256:14eaa373c89eaf553be73c3affb11ec6c37493b7eaaf31cf9ac5dffae700c2e0", size = 27944865, upload-time = "2025-01-11T00:04:54.43Z" }, + { url = "https://files.pythonhosted.org/packages/84/9d/8f539002b5e203723af6a6f513a45e0a7671e9dabeedb08f417ac17e4edc/scipy-1.15.1-cp313-cp313t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f735bc41bd1c792c96bc426dece66c8723283695f02df61dcc4d0a707a42fc54", size = 39883261, upload-time = "2025-01-11T00:05:01.015Z" }, + { url = "https://files.pythonhosted.org/packages/97/c0/62fd3bab828bcccc9b864c5997645a3b86372a35941cdaf677565c25c98d/scipy-1.15.1-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:2722a021a7929d21168830790202a75dbb20b468a8133c74a2c0230c72626b6c", size = 42093299, upload-time = "2025-01-11T00:05:10.873Z" }, + { url = "https://files.pythonhosted.org/packages/e4/1f/5d46a8d94e9f6d2c913cbb109e57e7eed914de38ea99e2c4d69a9fc93140/scipy-1.15.1-cp313-cp313t-win_amd64.whl", hash = "sha256:bc7136626261ac1ed988dca56cfc4ab5180f75e0ee52e58f1e6aa74b5f3eacd5", size = 43181730, upload-time = "2025-01-11T00:05:20.145Z" }, ] [[package]] @@ -4726,18 +4726,18 @@ dependencies = [ { name = "cryptography", marker = "(python_full_version < '3.10' and platform_machine != 'arm64') or sys_platform != 'darwin'" }, { name = "jeepney", marker = "(python_full_version < '3.10' and platform_machine != 'arm64') or sys_platform != 'darwin'" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/53/a4/f48c9d79cb507ed1373477dbceaba7401fd8a23af63b837fa61f1dcd3691/SecretStorage-3.3.3.tar.gz", hash = "sha256:2403533ef369eca6d2ba81718576c5e0f564d5cca1b58f73a8b23e7d4eeebd77", size = 19739 } +sdist = { url = "https://files.pythonhosted.org/packages/53/a4/f48c9d79cb507ed1373477dbceaba7401fd8a23af63b837fa61f1dcd3691/SecretStorage-3.3.3.tar.gz", hash = "sha256:2403533ef369eca6d2ba81718576c5e0f564d5cca1b58f73a8b23e7d4eeebd77", size = 19739, upload-time = "2022-08-13T16:22:46.976Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/54/24/b4293291fa1dd830f353d2cb163295742fa87f179fcc8a20a306a81978b7/SecretStorage-3.3.3-py3-none-any.whl", hash = "sha256:f356e6628222568e3af06f2eba8df495efa13b3b63081dafd4f7d9a7b7bc9f99", size = 15221 }, + { url = "https://files.pythonhosted.org/packages/54/24/b4293291fa1dd830f353d2cb163295742fa87f179fcc8a20a306a81978b7/SecretStorage-3.3.3-py3-none-any.whl", hash = "sha256:f356e6628222568e3af06f2eba8df495efa13b3b63081dafd4f7d9a7b7bc9f99", size = 15221, upload-time = "2022-08-13T16:22:44.457Z" }, ] [[package]] name = "send2trash" version = "1.8.3" source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/fd/3a/aec9b02217bb79b87bbc1a21bc6abc51e3d5dcf65c30487ac96c0908c722/Send2Trash-1.8.3.tar.gz", hash = "sha256:b18e7a3966d99871aefeb00cfbcfdced55ce4871194810fc71f4aa484b953abf", size = 17394 } +sdist = { url = "https://files.pythonhosted.org/packages/fd/3a/aec9b02217bb79b87bbc1a21bc6abc51e3d5dcf65c30487ac96c0908c722/Send2Trash-1.8.3.tar.gz", hash = "sha256:b18e7a3966d99871aefeb00cfbcfdced55ce4871194810fc71f4aa484b953abf", size = 17394, upload-time = "2024-04-07T00:01:09.267Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/40/b0/4562db6223154aa4e22f939003cb92514c79f3d4dccca3444253fd17f902/Send2Trash-1.8.3-py3-none-any.whl", hash = "sha256:0c31227e0bd08961c7665474a3d1ef7193929fedda4233843689baa056be46c9", size = 18072 }, + { url = "https://files.pythonhosted.org/packages/40/b0/4562db6223154aa4e22f939003cb92514c79f3d4dccca3444253fd17f902/Send2Trash-1.8.3-py3-none-any.whl", hash = "sha256:0c31227e0bd08961c7665474a3d1ef7193929fedda4233843689baa056be46c9", size = 18072, upload-time = "2024-04-07T00:01:07.438Z" }, ] [[package]] @@ -4749,9 +4749,9 @@ resolution-markers = [ "python_full_version < '3.9' and platform_machine == 'aarch64' and sys_platform == 'linux'", "(python_full_version < '3.9' and platform_machine != 'arm64' and sys_platform == 'darwin') or (python_full_version < '3.9' and platform_machine != 'aarch64' and sys_platform == 'linux') or (python_full_version < '3.9' and sys_platform != 'darwin' and sys_platform != 'linux')", ] -sdist = { url = "https://files.pythonhosted.org/packages/ed/22/a438e0caa4576f8c383fa4d35f1cc01655a46c75be358960d815bfbb12bd/setuptools-75.3.0.tar.gz", hash = "sha256:fba5dd4d766e97be1b1681d98712680ae8f2f26d7881245f2ce9e40714f1a686", size = 1351577 } +sdist = { url = "https://files.pythonhosted.org/packages/ed/22/a438e0caa4576f8c383fa4d35f1cc01655a46c75be358960d815bfbb12bd/setuptools-75.3.0.tar.gz", hash = "sha256:fba5dd4d766e97be1b1681d98712680ae8f2f26d7881245f2ce9e40714f1a686", size = 1351577, upload-time = "2024-10-29T10:23:25.911Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/90/12/282ee9bce8b58130cb762fbc9beabd531549952cac11fc56add11dcb7ea0/setuptools-75.3.0-py3-none-any.whl", hash = "sha256:f2504966861356aa38616760c0f66568e535562374995367b4e69c7143cf6bcd", size = 1251070 }, + { url = "https://files.pythonhosted.org/packages/90/12/282ee9bce8b58130cb762fbc9beabd531549952cac11fc56add11dcb7ea0/setuptools-75.3.0-py3-none-any.whl", hash = "sha256:f2504966861356aa38616760c0f66568e535562374995367b4e69c7143cf6bcd", size = 1251070, upload-time = "2024-10-29T10:23:24.074Z" }, ] [[package]] @@ -4772,45 +4772,45 @@ resolution-markers = [ "python_full_version == '3.9.*' and platform_machine == 'aarch64' and sys_platform == 'linux'", "(python_full_version == '3.9.*' and platform_machine != 'arm64' and sys_platform == 'darwin') or (python_full_version == '3.9.*' and platform_machine != 'aarch64' and sys_platform == 'linux') or (python_full_version == '3.9.*' and sys_platform != 'darwin' and sys_platform != 'linux')", ] -sdist = { url = "https://files.pythonhosted.org/packages/92/ec/089608b791d210aec4e7f97488e67ab0d33add3efccb83a056cbafe3a2a6/setuptools-75.8.0.tar.gz", hash = "sha256:c5afc8f407c626b8313a86e10311dd3f661c6cd9c09d4bf8c15c0e11f9f2b0e6", size = 1343222 } +sdist = { url = "https://files.pythonhosted.org/packages/92/ec/089608b791d210aec4e7f97488e67ab0d33add3efccb83a056cbafe3a2a6/setuptools-75.8.0.tar.gz", hash = "sha256:c5afc8f407c626b8313a86e10311dd3f661c6cd9c09d4bf8c15c0e11f9f2b0e6", size = 1343222, upload-time = "2025-01-08T18:28:23.98Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/69/8a/b9dc7678803429e4a3bc9ba462fa3dd9066824d3c607490235c6a796be5a/setuptools-75.8.0-py3-none-any.whl", hash = "sha256:e3982f444617239225d675215d51f6ba05f845d4eec313da4418fdbb56fb27e3", size = 1228782 }, + { url = "https://files.pythonhosted.org/packages/69/8a/b9dc7678803429e4a3bc9ba462fa3dd9066824d3c607490235c6a796be5a/setuptools-75.8.0-py3-none-any.whl", hash = "sha256:e3982f444617239225d675215d51f6ba05f845d4eec313da4418fdbb56fb27e3", size = 1228782, upload-time = "2025-01-08T18:28:20.912Z" }, ] [[package]] name = "six" version = "1.17.0" source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/94/e7/b2c673351809dca68a0e064b6af791aa332cf192da575fd474ed7d6f16a2/six-1.17.0.tar.gz", hash = "sha256:ff70335d468e7eb6ec65b95b99d3a2836546063f63acc5171de367e834932a81", size = 34031 } +sdist = { url = "https://files.pythonhosted.org/packages/94/e7/b2c673351809dca68a0e064b6af791aa332cf192da575fd474ed7d6f16a2/six-1.17.0.tar.gz", hash = "sha256:ff70335d468e7eb6ec65b95b99d3a2836546063f63acc5171de367e834932a81", size = 34031, upload-time = "2024-12-04T17:35:28.174Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/b7/ce/149a00dd41f10bc29e5921b496af8b574d8413afcd5e30dfa0ed46c2cc5e/six-1.17.0-py2.py3-none-any.whl", hash = "sha256:4721f391ed90541fddacab5acf947aa0d3dc7d27b2e1e8eda2be8970586c3274", size = 11050 }, + { url = "https://files.pythonhosted.org/packages/b7/ce/149a00dd41f10bc29e5921b496af8b574d8413afcd5e30dfa0ed46c2cc5e/six-1.17.0-py2.py3-none-any.whl", hash = "sha256:4721f391ed90541fddacab5acf947aa0d3dc7d27b2e1e8eda2be8970586c3274", size = 11050, upload-time = "2024-12-04T17:35:26.475Z" }, ] [[package]] name = "smmap" version = "5.0.2" source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/44/cd/a040c4b3119bbe532e5b0732286f805445375489fceaec1f48306068ee3b/smmap-5.0.2.tar.gz", hash = "sha256:26ea65a03958fa0c8a1c7e8c7a58fdc77221b8910f6be2131affade476898ad5", size = 22329 } +sdist = { url = "https://files.pythonhosted.org/packages/44/cd/a040c4b3119bbe532e5b0732286f805445375489fceaec1f48306068ee3b/smmap-5.0.2.tar.gz", hash = "sha256:26ea65a03958fa0c8a1c7e8c7a58fdc77221b8910f6be2131affade476898ad5", size = 22329, upload-time = "2025-01-02T07:14:40.909Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/04/be/d09147ad1ec7934636ad912901c5fd7667e1c858e19d355237db0d0cd5e4/smmap-5.0.2-py3-none-any.whl", hash = "sha256:b30115f0def7d7531d22a0fb6502488d879e75b260a9db4d0819cfb25403af5e", size = 24303 }, + { url = "https://files.pythonhosted.org/packages/04/be/d09147ad1ec7934636ad912901c5fd7667e1c858e19d355237db0d0cd5e4/smmap-5.0.2-py3-none-any.whl", hash = "sha256:b30115f0def7d7531d22a0fb6502488d879e75b260a9db4d0819cfb25403af5e", size = 24303, upload-time = "2025-01-02T07:14:38.724Z" }, ] [[package]] name = "sniffio" version = "1.3.1" source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/a2/87/a6771e1546d97e7e041b6ae58d80074f81b7d5121207425c964ddf5cfdbd/sniffio-1.3.1.tar.gz", hash = "sha256:f4324edc670a0f49750a81b895f35c3adb843cca46f0530f79fc1babb23789dc", size = 20372 } +sdist = { url = "https://files.pythonhosted.org/packages/a2/87/a6771e1546d97e7e041b6ae58d80074f81b7d5121207425c964ddf5cfdbd/sniffio-1.3.1.tar.gz", hash = "sha256:f4324edc670a0f49750a81b895f35c3adb843cca46f0530f79fc1babb23789dc", size = 20372, upload-time = "2024-02-25T23:20:04.057Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/e9/44/75a9c9421471a6c4805dbf2356f7c181a29c1879239abab1ea2cc8f38b40/sniffio-1.3.1-py3-none-any.whl", hash = "sha256:2f6da418d1f1e0fddd844478f41680e794e6051915791a034ff65e5f100525a2", size = 10235 }, + { url = "https://files.pythonhosted.org/packages/e9/44/75a9c9421471a6c4805dbf2356f7c181a29c1879239abab1ea2cc8f38b40/sniffio-1.3.1-py3-none-any.whl", hash = "sha256:2f6da418d1f1e0fddd844478f41680e794e6051915791a034ff65e5f100525a2", size = 10235, upload-time = "2024-02-25T23:20:01.196Z" }, ] [[package]] name = "soupsieve" version = "2.6" source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/d7/ce/fbaeed4f9fb8b2daa961f90591662df6a86c1abf25c548329a86920aedfb/soupsieve-2.6.tar.gz", hash = "sha256:e2e68417777af359ec65daac1057404a3c8a5455bb8abc36f1a9866ab1a51abb", size = 101569 } +sdist = { url = "https://files.pythonhosted.org/packages/d7/ce/fbaeed4f9fb8b2daa961f90591662df6a86c1abf25c548329a86920aedfb/soupsieve-2.6.tar.gz", hash = "sha256:e2e68417777af359ec65daac1057404a3c8a5455bb8abc36f1a9866ab1a51abb", size = 101569, upload-time = "2024-08-13T13:39:12.166Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/d1/c2/fe97d779f3ef3b15f05c94a2f1e3d21732574ed441687474db9d342a7315/soupsieve-2.6-py3-none-any.whl", hash = "sha256:e72c4ff06e4fb6e4b5a9f0f55fe6e81514581fca1515028625d0f299c602ccc9", size = 36186 }, + { url = "https://files.pythonhosted.org/packages/d1/c2/fe97d779f3ef3b15f05c94a2f1e3d21732574ed441687474db9d342a7315/soupsieve-2.6-py3-none-any.whl", hash = "sha256:e72c4ff06e4fb6e4b5a9f0f55fe6e81514581fca1515028625d0f299c602ccc9", size = 36186, upload-time = "2024-08-13T13:39:10.986Z" }, ] [[package]] @@ -4822,14 +4822,14 @@ dependencies = [ { name = "executing" }, { name = "pure-eval" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/28/e3/55dcc2cfbc3ca9c29519eb6884dd1415ecb53b0e934862d3559ddcb7e20b/stack_data-0.6.3.tar.gz", hash = "sha256:836a778de4fec4dcd1dcd89ed8abff8a221f58308462e1c4aa2a3cf30148f0b9", size = 44707 } +sdist = { url = "https://files.pythonhosted.org/packages/28/e3/55dcc2cfbc3ca9c29519eb6884dd1415ecb53b0e934862d3559ddcb7e20b/stack_data-0.6.3.tar.gz", hash = "sha256:836a778de4fec4dcd1dcd89ed8abff8a221f58308462e1c4aa2a3cf30148f0b9", size = 44707, upload-time = "2023-09-30T13:58:05.479Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/f1/7b/ce1eafaf1a76852e2ec9b22edecf1daa58175c090266e9f6c64afcd81d91/stack_data-0.6.3-py3-none-any.whl", hash = "sha256:d5558e0c25a4cb0853cddad3d77da9891a08cb85dd9f9f91b9f8cd66e511e695", size = 24521 }, + { url = "https://files.pythonhosted.org/packages/f1/7b/ce1eafaf1a76852e2ec9b22edecf1daa58175c090266e9f6c64afcd81d91/stack_data-0.6.3-py3-none-any.whl", hash = "sha256:d5558e0c25a4cb0853cddad3d77da9891a08cb85dd9f9f91b9f8cd66e511e695", size = 24521, upload-time = "2023-09-30T13:58:03.53Z" }, ] [[package]] name = "supervision" -version = "0.26.0rc4" +version = "0.26.0rc7" source = { editable = "." } dependencies = [ { name = "defusedxml" }, @@ -4895,7 +4895,7 @@ requires-dist = [ { name = "mkdocs-git-revision-date-localized-plugin", marker = "extra == 'docs'", specifier = ">=1.2.4" }, { name = "mkdocs-jupyter", marker = "extra == 'docs'", specifier = ">=0.24.3" }, { name = "mkdocs-material", extras = ["imaging"], marker = "extra == 'docs'", specifier = ">=9.5.5" }, - { name = "mkdocstrings", marker = "extra == 'docs'", specifier = ">=0.25.2,<0.29.0" }, + { name = "mkdocstrings", marker = "extra == 'docs'", specifier = ">=0.25.2,<0.30.0" }, { name = "mkdocstrings-python", marker = "extra == 'docs'", specifier = ">=1.10.9" }, { name = "nbconvert", marker = "extra == 'dev'", specifier = ">=7.14.2" }, { name = "notebook", marker = "extra == 'dev'", specifier = ">=6.5.3,<8.0.0" }, @@ -4924,9 +4924,9 @@ dependencies = [ { name = "pywinpty", version = "2.0.15", source = { registry = "https://pypi.org/simple" }, marker = "(python_full_version == '3.9.*' and os_name == 'nt' and platform_machine != 'arm64' and sys_platform == 'darwin') or (python_full_version >= '3.9' and os_name == 'nt' and platform_machine != 'aarch64' and sys_platform == 'linux') or (python_full_version >= '3.9' and os_name == 'nt' and sys_platform != 'darwin' and sys_platform != 'linux')" }, { name = "tornado" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/8a/11/965c6fd8e5cc254f1fe142d547387da17a8ebfd75a3455f637c663fb38a0/terminado-0.18.1.tar.gz", hash = "sha256:de09f2c4b85de4765f7714688fff57d3e75bad1f909b589fde880460c753fd2e", size = 32701 } +sdist = { url = "https://files.pythonhosted.org/packages/8a/11/965c6fd8e5cc254f1fe142d547387da17a8ebfd75a3455f637c663fb38a0/terminado-0.18.1.tar.gz", hash = "sha256:de09f2c4b85de4765f7714688fff57d3e75bad1f909b589fde880460c753fd2e", size = 32701, upload-time = "2024-03-12T14:34:39.026Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/6a/9e/2064975477fdc887e47ad42157e214526dcad8f317a948dee17e1659a62f/terminado-0.18.1-py3-none-any.whl", hash = "sha256:a4468e1b37bb318f8a86514f65814e1afc977cf29b3992a4500d9dd305dcceb0", size = 14154 }, + { url = "https://files.pythonhosted.org/packages/6a/9e/2064975477fdc887e47ad42157e214526dcad8f317a948dee17e1659a62f/terminado-0.18.1-py3-none-any.whl", hash = "sha256:a4468e1b37bb318f8a86514f65814e1afc977cf29b3992a4500d9dd305dcceb0", size = 14154, upload-time = "2024-03-12T14:34:36.569Z" }, ] [[package]] @@ -4941,9 +4941,9 @@ resolution-markers = [ dependencies = [ { name = "webencodings", marker = "python_full_version < '3.9'" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/75/be/24179dfaa1d742c9365cbd0e3f0edc5d3aa3abad415a2327c5a6ff8ca077/tinycss2-1.2.1.tar.gz", hash = "sha256:8cff3a8f066c2ec677c06dbc7b45619804a6938478d9d73c284b29d14ecb0627", size = 65957 } +sdist = { url = "https://files.pythonhosted.org/packages/75/be/24179dfaa1d742c9365cbd0e3f0edc5d3aa3abad415a2327c5a6ff8ca077/tinycss2-1.2.1.tar.gz", hash = "sha256:8cff3a8f066c2ec677c06dbc7b45619804a6938478d9d73c284b29d14ecb0627", size = 65957, upload-time = "2022-10-18T07:04:56.49Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/da/99/fd23634d6962c2791fb8cb6ccae1f05dcbfc39bce36bba8b1c9a8d92eae8/tinycss2-1.2.1-py3-none-any.whl", hash = "sha256:2b80a96d41e7c3914b8cda8bc7f705a4d9c49275616e886103dd839dfc847847", size = 21824 }, + { url = "https://files.pythonhosted.org/packages/da/99/fd23634d6962c2791fb8cb6ccae1f05dcbfc39bce36bba8b1c9a8d92eae8/tinycss2-1.2.1-py3-none-any.whl", hash = "sha256:2b80a96d41e7c3914b8cda8bc7f705a4d9c49275616e886103dd839dfc847847", size = 21824, upload-time = "2022-10-18T07:04:54.003Z" }, ] [[package]] @@ -4967,66 +4967,66 @@ resolution-markers = [ dependencies = [ { name = "webencodings", marker = "python_full_version >= '3.9'" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/7a/fd/7a5ee21fd08ff70d3d33a5781c255cbe779659bd03278feb98b19ee550f4/tinycss2-1.4.0.tar.gz", hash = "sha256:10c0972f6fc0fbee87c3edb76549357415e94548c1ae10ebccdea16fb404a9b7", size = 87085 } +sdist = { url = "https://files.pythonhosted.org/packages/7a/fd/7a5ee21fd08ff70d3d33a5781c255cbe779659bd03278feb98b19ee550f4/tinycss2-1.4.0.tar.gz", hash = "sha256:10c0972f6fc0fbee87c3edb76549357415e94548c1ae10ebccdea16fb404a9b7", size = 87085, upload-time = "2024-10-24T14:58:29.895Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/e6/34/ebdc18bae6aa14fbee1a08b63c015c72b64868ff7dae68808ab500c492e2/tinycss2-1.4.0-py3-none-any.whl", hash = "sha256:3a49cf47b7675da0b15d0c6e1df8df4ebd96e9394bb905a5775adb0d884c5289", size = 26610 }, + { url = "https://files.pythonhosted.org/packages/e6/34/ebdc18bae6aa14fbee1a08b63c015c72b64868ff7dae68808ab500c492e2/tinycss2-1.4.0-py3-none-any.whl", hash = "sha256:3a49cf47b7675da0b15d0c6e1df8df4ebd96e9394bb905a5775adb0d884c5289", size = 26610, upload-time = "2024-10-24T14:58:28.029Z" }, ] [[package]] name = "tomli" version = "2.2.1" source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/18/87/302344fed471e44a87289cf4967697d07e532f2421fdaf868a303cbae4ff/tomli-2.2.1.tar.gz", hash = "sha256:cd45e1dc79c835ce60f7404ec8119f2eb06d38b1deba146f07ced3bbc44505ff", size = 17175 } -wheels = [ - { url = "https://files.pythonhosted.org/packages/43/ca/75707e6efa2b37c77dadb324ae7d9571cb424e61ea73fad7c56c2d14527f/tomli-2.2.1-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:678e4fa69e4575eb77d103de3df8a895e1591b48e740211bd1067378c69e8249", size = 131077 }, - { url = "https://files.pythonhosted.org/packages/c7/16/51ae563a8615d472fdbffc43a3f3d46588c264ac4f024f63f01283becfbb/tomli-2.2.1-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:023aa114dd824ade0100497eb2318602af309e5a55595f76b626d6d9f3b7b0a6", size = 123429 }, - { url = "https://files.pythonhosted.org/packages/f1/dd/4f6cd1e7b160041db83c694abc78e100473c15d54620083dbd5aae7b990e/tomli-2.2.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:ece47d672db52ac607a3d9599a9d48dcb2f2f735c6c2d1f34130085bb12b112a", size = 226067 }, - { url = "https://files.pythonhosted.org/packages/a9/6b/c54ede5dc70d648cc6361eaf429304b02f2871a345bbdd51e993d6cdf550/tomli-2.2.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:6972ca9c9cc9f0acaa56a8ca1ff51e7af152a9f87fb64623e31d5c83700080ee", size = 236030 }, - { url = "https://files.pythonhosted.org/packages/1f/47/999514fa49cfaf7a92c805a86c3c43f4215621855d151b61c602abb38091/tomli-2.2.1-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:c954d2250168d28797dd4e3ac5cf812a406cd5a92674ee4c8f123c889786aa8e", size = 240898 }, - { url = "https://files.pythonhosted.org/packages/73/41/0a01279a7ae09ee1573b423318e7934674ce06eb33f50936655071d81a24/tomli-2.2.1-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:8dd28b3e155b80f4d54beb40a441d366adcfe740969820caf156c019fb5c7ec4", size = 229894 }, - { url = "https://files.pythonhosted.org/packages/55/18/5d8bc5b0a0362311ce4d18830a5d28943667599a60d20118074ea1b01bb7/tomli-2.2.1-cp311-cp311-musllinux_1_2_i686.whl", hash = "sha256:e59e304978767a54663af13c07b3d1af22ddee3bb2fb0618ca1593e4f593a106", size = 245319 }, - { url = "https://files.pythonhosted.org/packages/92/a3/7ade0576d17f3cdf5ff44d61390d4b3febb8a9fc2b480c75c47ea048c646/tomli-2.2.1-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:33580bccab0338d00994d7f16f4c4ec25b776af3ffaac1ed74e0b3fc95e885a8", size = 238273 }, - { url = "https://files.pythonhosted.org/packages/72/6f/fa64ef058ac1446a1e51110c375339b3ec6be245af9d14c87c4a6412dd32/tomli-2.2.1-cp311-cp311-win32.whl", hash = "sha256:465af0e0875402f1d226519c9904f37254b3045fc5084697cefb9bdde1ff99ff", size = 98310 }, - { url = "https://files.pythonhosted.org/packages/6a/1c/4a2dcde4a51b81be3530565e92eda625d94dafb46dbeb15069df4caffc34/tomli-2.2.1-cp311-cp311-win_amd64.whl", hash = "sha256:2d0f2fdd22b02c6d81637a3c95f8cd77f995846af7414c5c4b8d0545afa1bc4b", size = 108309 }, - { url = "https://files.pythonhosted.org/packages/52/e1/f8af4c2fcde17500422858155aeb0d7e93477a0d59a98e56cbfe75070fd0/tomli-2.2.1-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:4a8f6e44de52d5e6c657c9fe83b562f5f4256d8ebbfe4ff922c495620a7f6cea", size = 132762 }, - { url = "https://files.pythonhosted.org/packages/03/b8/152c68bb84fc00396b83e7bbddd5ec0bd3dd409db4195e2a9b3e398ad2e3/tomli-2.2.1-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:8d57ca8095a641b8237d5b079147646153d22552f1c637fd3ba7f4b0b29167a8", size = 123453 }, - { url = "https://files.pythonhosted.org/packages/c8/d6/fc9267af9166f79ac528ff7e8c55c8181ded34eb4b0e93daa767b8841573/tomli-2.2.1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:4e340144ad7ae1533cb897d406382b4b6fede8890a03738ff1683af800d54192", size = 233486 }, - { url = "https://files.pythonhosted.org/packages/5c/51/51c3f2884d7bab89af25f678447ea7d297b53b5a3b5730a7cb2ef6069f07/tomli-2.2.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:db2b95f9de79181805df90bedc5a5ab4c165e6ec3fe99f970d0e302f384ad222", size = 242349 }, - { url = "https://files.pythonhosted.org/packages/ab/df/bfa89627d13a5cc22402e441e8a931ef2108403db390ff3345c05253935e/tomli-2.2.1-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:40741994320b232529c802f8bc86da4e1aa9f413db394617b9a256ae0f9a7f77", size = 252159 }, - { url = "https://files.pythonhosted.org/packages/9e/6e/fa2b916dced65763a5168c6ccb91066f7639bdc88b48adda990db10c8c0b/tomli-2.2.1-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:400e720fe168c0f8521520190686ef8ef033fb19fc493da09779e592861b78c6", size = 237243 }, - { url = "https://files.pythonhosted.org/packages/b4/04/885d3b1f650e1153cbb93a6a9782c58a972b94ea4483ae4ac5cedd5e4a09/tomli-2.2.1-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:02abe224de6ae62c19f090f68da4e27b10af2b93213d36cf44e6e1c5abd19fdd", size = 259645 }, - { url = "https://files.pythonhosted.org/packages/9c/de/6b432d66e986e501586da298e28ebeefd3edc2c780f3ad73d22566034239/tomli-2.2.1-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:b82ebccc8c8a36f2094e969560a1b836758481f3dc360ce9a3277c65f374285e", size = 244584 }, - { url = "https://files.pythonhosted.org/packages/1c/9a/47c0449b98e6e7d1be6cbac02f93dd79003234ddc4aaab6ba07a9a7482e2/tomli-2.2.1-cp312-cp312-win32.whl", hash = "sha256:889f80ef92701b9dbb224e49ec87c645ce5df3fa2cc548664eb8a25e03127a98", size = 98875 }, - { url = "https://files.pythonhosted.org/packages/ef/60/9b9638f081c6f1261e2688bd487625cd1e660d0a85bd469e91d8db969734/tomli-2.2.1-cp312-cp312-win_amd64.whl", hash = "sha256:7fc04e92e1d624a4a63c76474610238576942d6b8950a2d7f908a340494e67e4", size = 109418 }, - { url = "https://files.pythonhosted.org/packages/04/90/2ee5f2e0362cb8a0b6499dc44f4d7d48f8fff06d28ba46e6f1eaa61a1388/tomli-2.2.1-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:f4039b9cbc3048b2416cc57ab3bda989a6fcf9b36cf8937f01a6e731b64f80d7", size = 132708 }, - { url = "https://files.pythonhosted.org/packages/c0/ec/46b4108816de6b385141f082ba99e315501ccd0a2ea23db4a100dd3990ea/tomli-2.2.1-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:286f0ca2ffeeb5b9bd4fcc8d6c330534323ec51b2f52da063b11c502da16f30c", size = 123582 }, - { url = "https://files.pythonhosted.org/packages/a0/bd/b470466d0137b37b68d24556c38a0cc819e8febe392d5b199dcd7f578365/tomli-2.2.1-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a92ef1a44547e894e2a17d24e7557a5e85a9e1d0048b0b5e7541f76c5032cb13", size = 232543 }, - { url = "https://files.pythonhosted.org/packages/d9/e5/82e80ff3b751373f7cead2815bcbe2d51c895b3c990686741a8e56ec42ab/tomli-2.2.1-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:9316dc65bed1684c9a98ee68759ceaed29d229e985297003e494aa825ebb0281", size = 241691 }, - { url = "https://files.pythonhosted.org/packages/05/7e/2a110bc2713557d6a1bfb06af23dd01e7dde52b6ee7dadc589868f9abfac/tomli-2.2.1-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:e85e99945e688e32d5a35c1ff38ed0b3f41f43fad8df0bdf79f72b2ba7bc5272", size = 251170 }, - { url = "https://files.pythonhosted.org/packages/64/7b/22d713946efe00e0adbcdfd6d1aa119ae03fd0b60ebed51ebb3fa9f5a2e5/tomli-2.2.1-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:ac065718db92ca818f8d6141b5f66369833d4a80a9d74435a268c52bdfa73140", size = 236530 }, - { url = "https://files.pythonhosted.org/packages/38/31/3a76f67da4b0cf37b742ca76beaf819dca0ebef26d78fc794a576e08accf/tomli-2.2.1-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:d920f33822747519673ee656a4b6ac33e382eca9d331c87770faa3eef562aeb2", size = 258666 }, - { url = "https://files.pythonhosted.org/packages/07/10/5af1293da642aded87e8a988753945d0cf7e00a9452d3911dd3bb354c9e2/tomli-2.2.1-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:a198f10c4d1b1375d7687bc25294306e551bf1abfa4eace6650070a5c1ae2744", size = 243954 }, - { url = "https://files.pythonhosted.org/packages/5b/b9/1ed31d167be802da0fc95020d04cd27b7d7065cc6fbefdd2f9186f60d7bd/tomli-2.2.1-cp313-cp313-win32.whl", hash = "sha256:d3f5614314d758649ab2ab3a62d4f2004c825922f9e370b29416484086b264ec", size = 98724 }, - { url = "https://files.pythonhosted.org/packages/c7/32/b0963458706accd9afcfeb867c0f9175a741bf7b19cd424230714d722198/tomli-2.2.1-cp313-cp313-win_amd64.whl", hash = "sha256:a38aa0308e754b0e3c67e344754dff64999ff9b513e691d0e786265c93583c69", size = 109383 }, - { url = "https://files.pythonhosted.org/packages/6e/c2/61d3e0f47e2b74ef40a68b9e6ad5984f6241a942f7cd3bbfbdbd03861ea9/tomli-2.2.1-py3-none-any.whl", hash = "sha256:cb55c73c5f4408779d0cf3eef9f762b9c9f147a77de7b258bef0a5628adc85cc", size = 14257 }, +sdist = { url = "https://files.pythonhosted.org/packages/18/87/302344fed471e44a87289cf4967697d07e532f2421fdaf868a303cbae4ff/tomli-2.2.1.tar.gz", hash = "sha256:cd45e1dc79c835ce60f7404ec8119f2eb06d38b1deba146f07ced3bbc44505ff", size = 17175, upload-time = "2024-11-27T22:38:36.873Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/43/ca/75707e6efa2b37c77dadb324ae7d9571cb424e61ea73fad7c56c2d14527f/tomli-2.2.1-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:678e4fa69e4575eb77d103de3df8a895e1591b48e740211bd1067378c69e8249", size = 131077, upload-time = "2024-11-27T22:37:54.956Z" }, + { url = "https://files.pythonhosted.org/packages/c7/16/51ae563a8615d472fdbffc43a3f3d46588c264ac4f024f63f01283becfbb/tomli-2.2.1-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:023aa114dd824ade0100497eb2318602af309e5a55595f76b626d6d9f3b7b0a6", size = 123429, upload-time = "2024-11-27T22:37:56.698Z" }, + { url = "https://files.pythonhosted.org/packages/f1/dd/4f6cd1e7b160041db83c694abc78e100473c15d54620083dbd5aae7b990e/tomli-2.2.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:ece47d672db52ac607a3d9599a9d48dcb2f2f735c6c2d1f34130085bb12b112a", size = 226067, upload-time = "2024-11-27T22:37:57.63Z" }, + { url = "https://files.pythonhosted.org/packages/a9/6b/c54ede5dc70d648cc6361eaf429304b02f2871a345bbdd51e993d6cdf550/tomli-2.2.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:6972ca9c9cc9f0acaa56a8ca1ff51e7af152a9f87fb64623e31d5c83700080ee", size = 236030, upload-time = "2024-11-27T22:37:59.344Z" }, + { url = "https://files.pythonhosted.org/packages/1f/47/999514fa49cfaf7a92c805a86c3c43f4215621855d151b61c602abb38091/tomli-2.2.1-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:c954d2250168d28797dd4e3ac5cf812a406cd5a92674ee4c8f123c889786aa8e", size = 240898, upload-time = "2024-11-27T22:38:00.429Z" }, + { url = "https://files.pythonhosted.org/packages/73/41/0a01279a7ae09ee1573b423318e7934674ce06eb33f50936655071d81a24/tomli-2.2.1-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:8dd28b3e155b80f4d54beb40a441d366adcfe740969820caf156c019fb5c7ec4", size = 229894, upload-time = "2024-11-27T22:38:02.094Z" }, + { url = "https://files.pythonhosted.org/packages/55/18/5d8bc5b0a0362311ce4d18830a5d28943667599a60d20118074ea1b01bb7/tomli-2.2.1-cp311-cp311-musllinux_1_2_i686.whl", hash = "sha256:e59e304978767a54663af13c07b3d1af22ddee3bb2fb0618ca1593e4f593a106", size = 245319, upload-time = "2024-11-27T22:38:03.206Z" }, + { url = "https://files.pythonhosted.org/packages/92/a3/7ade0576d17f3cdf5ff44d61390d4b3febb8a9fc2b480c75c47ea048c646/tomli-2.2.1-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:33580bccab0338d00994d7f16f4c4ec25b776af3ffaac1ed74e0b3fc95e885a8", size = 238273, upload-time = "2024-11-27T22:38:04.217Z" }, + { url = "https://files.pythonhosted.org/packages/72/6f/fa64ef058ac1446a1e51110c375339b3ec6be245af9d14c87c4a6412dd32/tomli-2.2.1-cp311-cp311-win32.whl", hash = "sha256:465af0e0875402f1d226519c9904f37254b3045fc5084697cefb9bdde1ff99ff", size = 98310, upload-time = "2024-11-27T22:38:05.908Z" }, + { url = "https://files.pythonhosted.org/packages/6a/1c/4a2dcde4a51b81be3530565e92eda625d94dafb46dbeb15069df4caffc34/tomli-2.2.1-cp311-cp311-win_amd64.whl", hash = "sha256:2d0f2fdd22b02c6d81637a3c95f8cd77f995846af7414c5c4b8d0545afa1bc4b", size = 108309, upload-time = "2024-11-27T22:38:06.812Z" }, + { url = "https://files.pythonhosted.org/packages/52/e1/f8af4c2fcde17500422858155aeb0d7e93477a0d59a98e56cbfe75070fd0/tomli-2.2.1-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:4a8f6e44de52d5e6c657c9fe83b562f5f4256d8ebbfe4ff922c495620a7f6cea", size = 132762, upload-time = "2024-11-27T22:38:07.731Z" }, + { url = "https://files.pythonhosted.org/packages/03/b8/152c68bb84fc00396b83e7bbddd5ec0bd3dd409db4195e2a9b3e398ad2e3/tomli-2.2.1-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:8d57ca8095a641b8237d5b079147646153d22552f1c637fd3ba7f4b0b29167a8", size = 123453, upload-time = "2024-11-27T22:38:09.384Z" }, + { url = "https://files.pythonhosted.org/packages/c8/d6/fc9267af9166f79ac528ff7e8c55c8181ded34eb4b0e93daa767b8841573/tomli-2.2.1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:4e340144ad7ae1533cb897d406382b4b6fede8890a03738ff1683af800d54192", size = 233486, upload-time = "2024-11-27T22:38:10.329Z" }, + { url = "https://files.pythonhosted.org/packages/5c/51/51c3f2884d7bab89af25f678447ea7d297b53b5a3b5730a7cb2ef6069f07/tomli-2.2.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:db2b95f9de79181805df90bedc5a5ab4c165e6ec3fe99f970d0e302f384ad222", size = 242349, upload-time = "2024-11-27T22:38:11.443Z" }, + { url = "https://files.pythonhosted.org/packages/ab/df/bfa89627d13a5cc22402e441e8a931ef2108403db390ff3345c05253935e/tomli-2.2.1-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:40741994320b232529c802f8bc86da4e1aa9f413db394617b9a256ae0f9a7f77", size = 252159, upload-time = "2024-11-27T22:38:13.099Z" }, + { url = "https://files.pythonhosted.org/packages/9e/6e/fa2b916dced65763a5168c6ccb91066f7639bdc88b48adda990db10c8c0b/tomli-2.2.1-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:400e720fe168c0f8521520190686ef8ef033fb19fc493da09779e592861b78c6", size = 237243, upload-time = "2024-11-27T22:38:14.766Z" }, + { url = "https://files.pythonhosted.org/packages/b4/04/885d3b1f650e1153cbb93a6a9782c58a972b94ea4483ae4ac5cedd5e4a09/tomli-2.2.1-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:02abe224de6ae62c19f090f68da4e27b10af2b93213d36cf44e6e1c5abd19fdd", size = 259645, upload-time = "2024-11-27T22:38:15.843Z" }, + { url = "https://files.pythonhosted.org/packages/9c/de/6b432d66e986e501586da298e28ebeefd3edc2c780f3ad73d22566034239/tomli-2.2.1-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:b82ebccc8c8a36f2094e969560a1b836758481f3dc360ce9a3277c65f374285e", size = 244584, upload-time = "2024-11-27T22:38:17.645Z" }, + { url = "https://files.pythonhosted.org/packages/1c/9a/47c0449b98e6e7d1be6cbac02f93dd79003234ddc4aaab6ba07a9a7482e2/tomli-2.2.1-cp312-cp312-win32.whl", hash = "sha256:889f80ef92701b9dbb224e49ec87c645ce5df3fa2cc548664eb8a25e03127a98", size = 98875, upload-time = "2024-11-27T22:38:19.159Z" }, + { url = "https://files.pythonhosted.org/packages/ef/60/9b9638f081c6f1261e2688bd487625cd1e660d0a85bd469e91d8db969734/tomli-2.2.1-cp312-cp312-win_amd64.whl", hash = "sha256:7fc04e92e1d624a4a63c76474610238576942d6b8950a2d7f908a340494e67e4", size = 109418, upload-time = "2024-11-27T22:38:20.064Z" }, + { url = "https://files.pythonhosted.org/packages/04/90/2ee5f2e0362cb8a0b6499dc44f4d7d48f8fff06d28ba46e6f1eaa61a1388/tomli-2.2.1-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:f4039b9cbc3048b2416cc57ab3bda989a6fcf9b36cf8937f01a6e731b64f80d7", size = 132708, upload-time = "2024-11-27T22:38:21.659Z" }, + { url = "https://files.pythonhosted.org/packages/c0/ec/46b4108816de6b385141f082ba99e315501ccd0a2ea23db4a100dd3990ea/tomli-2.2.1-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:286f0ca2ffeeb5b9bd4fcc8d6c330534323ec51b2f52da063b11c502da16f30c", size = 123582, upload-time = "2024-11-27T22:38:22.693Z" }, + { url = "https://files.pythonhosted.org/packages/a0/bd/b470466d0137b37b68d24556c38a0cc819e8febe392d5b199dcd7f578365/tomli-2.2.1-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a92ef1a44547e894e2a17d24e7557a5e85a9e1d0048b0b5e7541f76c5032cb13", size = 232543, upload-time = "2024-11-27T22:38:24.367Z" }, + { url = "https://files.pythonhosted.org/packages/d9/e5/82e80ff3b751373f7cead2815bcbe2d51c895b3c990686741a8e56ec42ab/tomli-2.2.1-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:9316dc65bed1684c9a98ee68759ceaed29d229e985297003e494aa825ebb0281", size = 241691, upload-time = "2024-11-27T22:38:26.081Z" }, + { url = "https://files.pythonhosted.org/packages/05/7e/2a110bc2713557d6a1bfb06af23dd01e7dde52b6ee7dadc589868f9abfac/tomli-2.2.1-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:e85e99945e688e32d5a35c1ff38ed0b3f41f43fad8df0bdf79f72b2ba7bc5272", size = 251170, upload-time = "2024-11-27T22:38:27.921Z" }, + { url = "https://files.pythonhosted.org/packages/64/7b/22d713946efe00e0adbcdfd6d1aa119ae03fd0b60ebed51ebb3fa9f5a2e5/tomli-2.2.1-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:ac065718db92ca818f8d6141b5f66369833d4a80a9d74435a268c52bdfa73140", size = 236530, upload-time = "2024-11-27T22:38:29.591Z" }, + { url = "https://files.pythonhosted.org/packages/38/31/3a76f67da4b0cf37b742ca76beaf819dca0ebef26d78fc794a576e08accf/tomli-2.2.1-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:d920f33822747519673ee656a4b6ac33e382eca9d331c87770faa3eef562aeb2", size = 258666, upload-time = "2024-11-27T22:38:30.639Z" }, + { url = "https://files.pythonhosted.org/packages/07/10/5af1293da642aded87e8a988753945d0cf7e00a9452d3911dd3bb354c9e2/tomli-2.2.1-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:a198f10c4d1b1375d7687bc25294306e551bf1abfa4eace6650070a5c1ae2744", size = 243954, upload-time = "2024-11-27T22:38:31.702Z" }, + { url = "https://files.pythonhosted.org/packages/5b/b9/1ed31d167be802da0fc95020d04cd27b7d7065cc6fbefdd2f9186f60d7bd/tomli-2.2.1-cp313-cp313-win32.whl", hash = "sha256:d3f5614314d758649ab2ab3a62d4f2004c825922f9e370b29416484086b264ec", size = 98724, upload-time = "2024-11-27T22:38:32.837Z" }, + { url = "https://files.pythonhosted.org/packages/c7/32/b0963458706accd9afcfeb867c0f9175a741bf7b19cd424230714d722198/tomli-2.2.1-cp313-cp313-win_amd64.whl", hash = "sha256:a38aa0308e754b0e3c67e344754dff64999ff9b513e691d0e786265c93583c69", size = 109383, upload-time = "2024-11-27T22:38:34.455Z" }, + { url = "https://files.pythonhosted.org/packages/6e/c2/61d3e0f47e2b74ef40a68b9e6ad5984f6241a942f7cd3bbfbdbd03861ea9/tomli-2.2.1-py3-none-any.whl", hash = "sha256:cb55c73c5f4408779d0cf3eef9f762b9c9f147a77de7b258bef0a5628adc85cc", size = 14257, upload-time = "2024-11-27T22:38:35.385Z" }, ] [[package]] name = "tornado" version = "6.4.2" source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/59/45/a0daf161f7d6f36c3ea5fc0c2de619746cc3dd4c76402e9db545bd920f63/tornado-6.4.2.tar.gz", hash = "sha256:92bad5b4746e9879fd7bf1eb21dce4e3fc5128d71601f80005afa39237ad620b", size = 501135 } +sdist = { url = "https://files.pythonhosted.org/packages/59/45/a0daf161f7d6f36c3ea5fc0c2de619746cc3dd4c76402e9db545bd920f63/tornado-6.4.2.tar.gz", hash = "sha256:92bad5b4746e9879fd7bf1eb21dce4e3fc5128d71601f80005afa39237ad620b", size = 501135, upload-time = "2024-11-22T03:06:38.036Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/26/7e/71f604d8cea1b58f82ba3590290b66da1e72d840aeb37e0d5f7291bd30db/tornado-6.4.2-cp38-abi3-macosx_10_9_universal2.whl", hash = "sha256:e828cce1123e9e44ae2a50a9de3055497ab1d0aeb440c5ac23064d9e44880da1", size = 436299 }, - { url = "https://files.pythonhosted.org/packages/96/44/87543a3b99016d0bf54fdaab30d24bf0af2e848f1d13d34a3a5380aabe16/tornado-6.4.2-cp38-abi3-macosx_10_9_x86_64.whl", hash = "sha256:072ce12ada169c5b00b7d92a99ba089447ccc993ea2143c9ede887e0937aa803", size = 434253 }, - { url = "https://files.pythonhosted.org/packages/cb/fb/fdf679b4ce51bcb7210801ef4f11fdac96e9885daa402861751353beea6e/tornado-6.4.2-cp38-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:1a017d239bd1bb0919f72af256a970624241f070496635784d9bf0db640d3fec", size = 437602 }, - { url = "https://files.pythonhosted.org/packages/4f/3b/e31aeffffc22b475a64dbeb273026a21b5b566f74dee48742817626c47dc/tornado-6.4.2-cp38-abi3-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:c36e62ce8f63409301537222faffcef7dfc5284f27eec227389f2ad11b09d946", size = 436972 }, - { url = "https://files.pythonhosted.org/packages/22/55/b78a464de78051a30599ceb6983b01d8f732e6f69bf37b4ed07f642ac0fc/tornado-6.4.2-cp38-abi3-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:bca9eb02196e789c9cb5c3c7c0f04fb447dc2adffd95265b2c7223a8a615ccbf", size = 437173 }, - { url = "https://files.pythonhosted.org/packages/79/5e/be4fb0d1684eb822c9a62fb18a3e44a06188f78aa466b2ad991d2ee31104/tornado-6.4.2-cp38-abi3-musllinux_1_2_aarch64.whl", hash = "sha256:304463bd0772442ff4d0f5149c6f1c2135a1fae045adf070821c6cdc76980634", size = 437892 }, - { url = "https://files.pythonhosted.org/packages/f5/33/4f91fdd94ea36e1d796147003b490fe60a0215ac5737b6f9c65e160d4fe0/tornado-6.4.2-cp38-abi3-musllinux_1_2_i686.whl", hash = "sha256:c82c46813ba483a385ab2a99caeaedf92585a1f90defb5693351fa7e4ea0bf73", size = 437334 }, - { url = "https://files.pythonhosted.org/packages/2b/ae/c1b22d4524b0e10da2f29a176fb2890386f7bd1f63aacf186444873a88a0/tornado-6.4.2-cp38-abi3-musllinux_1_2_x86_64.whl", hash = "sha256:932d195ca9015956fa502c6b56af9eb06106140d844a335590c1ec7f5277d10c", size = 437261 }, - { url = "https://files.pythonhosted.org/packages/b5/25/36dbd49ab6d179bcfc4c6c093a51795a4f3bed380543a8242ac3517a1751/tornado-6.4.2-cp38-abi3-win32.whl", hash = "sha256:2876cef82e6c5978fde1e0d5b1f919d756968d5b4282418f3146b79b58556482", size = 438463 }, - { url = "https://files.pythonhosted.org/packages/61/cc/58b1adeb1bb46228442081e746fcdbc4540905c87e8add7c277540934edb/tornado-6.4.2-cp38-abi3-win_amd64.whl", hash = "sha256:908b71bf3ff37d81073356a5fadcc660eb10c1476ee6e2725588626ce7e5ca38", size = 438907 }, + { url = "https://files.pythonhosted.org/packages/26/7e/71f604d8cea1b58f82ba3590290b66da1e72d840aeb37e0d5f7291bd30db/tornado-6.4.2-cp38-abi3-macosx_10_9_universal2.whl", hash = "sha256:e828cce1123e9e44ae2a50a9de3055497ab1d0aeb440c5ac23064d9e44880da1", size = 436299, upload-time = "2024-11-22T03:06:20.162Z" }, + { url = "https://files.pythonhosted.org/packages/96/44/87543a3b99016d0bf54fdaab30d24bf0af2e848f1d13d34a3a5380aabe16/tornado-6.4.2-cp38-abi3-macosx_10_9_x86_64.whl", hash = "sha256:072ce12ada169c5b00b7d92a99ba089447ccc993ea2143c9ede887e0937aa803", size = 434253, upload-time = "2024-11-22T03:06:22.39Z" }, + { url = "https://files.pythonhosted.org/packages/cb/fb/fdf679b4ce51bcb7210801ef4f11fdac96e9885daa402861751353beea6e/tornado-6.4.2-cp38-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:1a017d239bd1bb0919f72af256a970624241f070496635784d9bf0db640d3fec", size = 437602, upload-time = "2024-11-22T03:06:24.214Z" }, + { url = "https://files.pythonhosted.org/packages/4f/3b/e31aeffffc22b475a64dbeb273026a21b5b566f74dee48742817626c47dc/tornado-6.4.2-cp38-abi3-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:c36e62ce8f63409301537222faffcef7dfc5284f27eec227389f2ad11b09d946", size = 436972, upload-time = "2024-11-22T03:06:25.559Z" }, + { url = "https://files.pythonhosted.org/packages/22/55/b78a464de78051a30599ceb6983b01d8f732e6f69bf37b4ed07f642ac0fc/tornado-6.4.2-cp38-abi3-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:bca9eb02196e789c9cb5c3c7c0f04fb447dc2adffd95265b2c7223a8a615ccbf", size = 437173, upload-time = "2024-11-22T03:06:27.584Z" }, + { url = "https://files.pythonhosted.org/packages/79/5e/be4fb0d1684eb822c9a62fb18a3e44a06188f78aa466b2ad991d2ee31104/tornado-6.4.2-cp38-abi3-musllinux_1_2_aarch64.whl", hash = "sha256:304463bd0772442ff4d0f5149c6f1c2135a1fae045adf070821c6cdc76980634", size = 437892, upload-time = "2024-11-22T03:06:28.933Z" }, + { url = "https://files.pythonhosted.org/packages/f5/33/4f91fdd94ea36e1d796147003b490fe60a0215ac5737b6f9c65e160d4fe0/tornado-6.4.2-cp38-abi3-musllinux_1_2_i686.whl", hash = "sha256:c82c46813ba483a385ab2a99caeaedf92585a1f90defb5693351fa7e4ea0bf73", size = 437334, upload-time = "2024-11-22T03:06:30.428Z" }, + { url = "https://files.pythonhosted.org/packages/2b/ae/c1b22d4524b0e10da2f29a176fb2890386f7bd1f63aacf186444873a88a0/tornado-6.4.2-cp38-abi3-musllinux_1_2_x86_64.whl", hash = "sha256:932d195ca9015956fa502c6b56af9eb06106140d844a335590c1ec7f5277d10c", size = 437261, upload-time = "2024-11-22T03:06:32.458Z" }, + { url = "https://files.pythonhosted.org/packages/b5/25/36dbd49ab6d179bcfc4c6c093a51795a4f3bed380543a8242ac3517a1751/tornado-6.4.2-cp38-abi3-win32.whl", hash = "sha256:2876cef82e6c5978fde1e0d5b1f919d756968d5b4282418f3146b79b58556482", size = 438463, upload-time = "2024-11-22T03:06:34.71Z" }, + { url = "https://files.pythonhosted.org/packages/61/cc/58b1adeb1bb46228442081e746fcdbc4540905c87e8add7c277540934edb/tornado-6.4.2-cp38-abi3-win_amd64.whl", hash = "sha256:908b71bf3ff37d81073356a5fadcc660eb10c1476ee6e2725588626ce7e5ca38", size = 438907, upload-time = "2024-11-22T03:06:36.71Z" }, ] [[package]] @@ -5048,9 +5048,9 @@ dependencies = [ { name = "typing-extensions", marker = "python_full_version < '3.11'" }, { name = "virtualenv" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/cf/7b/97f757e159983737bdd8fb513f4c263cd411a846684814ed5433434a1fa9/tox-4.24.1.tar.gz", hash = "sha256:083a720adbc6166fff0b7d1df9d154f9d00bfccb9403b8abf6bc0ee435d6a62e", size = 194742 } +sdist = { url = "https://files.pythonhosted.org/packages/cf/7b/97f757e159983737bdd8fb513f4c263cd411a846684814ed5433434a1fa9/tox-4.24.1.tar.gz", hash = "sha256:083a720adbc6166fff0b7d1df9d154f9d00bfccb9403b8abf6bc0ee435d6a62e", size = 194742, upload-time = "2025-01-21T18:58:43.742Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/ab/04/b0d1c1b44c98583cab9eabb4acdba964fdf6b6c597c53cfb8870fd08cbbf/tox-4.24.1-py3-none-any.whl", hash = "sha256:57ba7df7d199002c6df8c2db9e6484f3de6ca8f42013c083ea2d4d1e5c6bdc75", size = 171829 }, + { url = "https://files.pythonhosted.org/packages/ab/04/b0d1c1b44c98583cab9eabb4acdba964fdf6b6c597c53cfb8870fd08cbbf/tox-4.24.1-py3-none-any.whl", hash = "sha256:57ba7df7d199002c6df8c2db9e6484f3de6ca8f42013c083ea2d4d1e5c6bdc75", size = 171829, upload-time = "2025-01-21T18:58:39.799Z" }, ] [[package]] @@ -5060,18 +5060,18 @@ source = { registry = "https://pypi.org/simple" } dependencies = [ { name = "colorama", marker = "sys_platform == 'win32'" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/a8/4b/29b4ef32e036bb34e4ab51796dd745cdba7ed47ad142a9f4a1eb8e0c744d/tqdm-4.67.1.tar.gz", hash = "sha256:f8aef9c52c08c13a65f30ea34f4e5aac3fd1a34959879d7e59e63027286627f2", size = 169737 } +sdist = { url = "https://files.pythonhosted.org/packages/a8/4b/29b4ef32e036bb34e4ab51796dd745cdba7ed47ad142a9f4a1eb8e0c744d/tqdm-4.67.1.tar.gz", hash = "sha256:f8aef9c52c08c13a65f30ea34f4e5aac3fd1a34959879d7e59e63027286627f2", size = 169737, upload-time = "2024-11-24T20:12:22.481Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/d0/30/dc54f88dd4a2b5dc8a0279bdd7270e735851848b762aeb1c1184ed1f6b14/tqdm-4.67.1-py3-none-any.whl", hash = "sha256:26445eca388f82e72884e0d580d5464cd801a3ea01e63e5601bdff9ba6a48de2", size = 78540 }, + { url = "https://files.pythonhosted.org/packages/d0/30/dc54f88dd4a2b5dc8a0279bdd7270e735851848b762aeb1c1184ed1f6b14/tqdm-4.67.1-py3-none-any.whl", hash = "sha256:26445eca388f82e72884e0d580d5464cd801a3ea01e63e5601bdff9ba6a48de2", size = 78540, upload-time = "2024-11-24T20:12:19.698Z" }, ] [[package]] name = "traitlets" version = "5.14.3" source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/eb/79/72064e6a701c2183016abbbfedaba506d81e30e232a68c9f0d6f6fcd1574/traitlets-5.14.3.tar.gz", hash = "sha256:9ed0579d3502c94b4b3732ac120375cda96f923114522847de4b3bb98b96b6b7", size = 161621 } +sdist = { url = "https://files.pythonhosted.org/packages/eb/79/72064e6a701c2183016abbbfedaba506d81e30e232a68c9f0d6f6fcd1574/traitlets-5.14.3.tar.gz", hash = "sha256:9ed0579d3502c94b4b3732ac120375cda96f923114522847de4b3bb98b96b6b7", size = 161621, upload-time = "2024-04-19T11:11:49.746Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/00/c0/8f5d070730d7836adc9c9b6408dec68c6ced86b304a9b26a14df072a6e8c/traitlets-5.14.3-py3-none-any.whl", hash = "sha256:b74e89e397b1ed28cc831db7aea759ba6640cb3de13090ca145426688ff1ac4f", size = 85359 }, + { url = "https://files.pythonhosted.org/packages/00/c0/8f5d070730d7836adc9c9b6408dec68c6ced86b304a9b26a14df072a6e8c/traitlets-5.14.3-py3-none-any.whl", hash = "sha256:b74e89e397b1ed28cc831db7aea759ba6640cb3de13090ca145426688ff1ac4f", size = 85359, upload-time = "2024-04-19T11:11:46.763Z" }, ] [[package]] @@ -5094,45 +5094,45 @@ dependencies = [ { name = "urllib3", version = "2.2.3", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.9'" }, { name = "urllib3", version = "2.3.0", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.9'" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/c8/a2/6df94fc5c8e2170d21d7134a565c3a8fb84f9797c1dd65a5976aaf714418/twine-6.1.0.tar.gz", hash = "sha256:be324f6272eff91d07ee93f251edf232fc647935dd585ac003539b42404a8dbd", size = 168404 } +sdist = { url = "https://files.pythonhosted.org/packages/c8/a2/6df94fc5c8e2170d21d7134a565c3a8fb84f9797c1dd65a5976aaf714418/twine-6.1.0.tar.gz", hash = "sha256:be324f6272eff91d07ee93f251edf232fc647935dd585ac003539b42404a8dbd", size = 168404, upload-time = "2025-01-21T18:45:26.758Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/7c/b6/74e927715a285743351233f33ea3c684528a0d374d2e43ff9ce9585b73fe/twine-6.1.0-py3-none-any.whl", hash = "sha256:a47f973caf122930bf0fbbf17f80b83bc1602c9ce393c7845f289a3001dc5384", size = 40791 }, + { url = "https://files.pythonhosted.org/packages/7c/b6/74e927715a285743351233f33ea3c684528a0d374d2e43ff9ce9585b73fe/twine-6.1.0-py3-none-any.whl", hash = "sha256:a47f973caf122930bf0fbbf17f80b83bc1602c9ce393c7845f289a3001dc5384", size = 40791, upload-time = "2025-01-21T18:45:24.584Z" }, ] [[package]] name = "types-python-dateutil" version = "2.9.0.20241206" source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/a9/60/47d92293d9bc521cd2301e423a358abfac0ad409b3a1606d8fbae1321961/types_python_dateutil-2.9.0.20241206.tar.gz", hash = "sha256:18f493414c26ffba692a72369fea7a154c502646301ebfe3d56a04b3767284cb", size = 13802 } +sdist = { url = "https://files.pythonhosted.org/packages/a9/60/47d92293d9bc521cd2301e423a358abfac0ad409b3a1606d8fbae1321961/types_python_dateutil-2.9.0.20241206.tar.gz", hash = "sha256:18f493414c26ffba692a72369fea7a154c502646301ebfe3d56a04b3767284cb", size = 13802, upload-time = "2024-12-06T02:56:41.019Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/0f/b3/ca41df24db5eb99b00d97f89d7674a90cb6b3134c52fb8121b6d8d30f15c/types_python_dateutil-2.9.0.20241206-py3-none-any.whl", hash = "sha256:e248a4bc70a486d3e3ec84d0dc30eec3a5f979d6e7ee4123ae043eedbb987f53", size = 14384 }, + { url = "https://files.pythonhosted.org/packages/0f/b3/ca41df24db5eb99b00d97f89d7674a90cb6b3134c52fb8121b6d8d30f15c/types_python_dateutil-2.9.0.20241206-py3-none-any.whl", hash = "sha256:e248a4bc70a486d3e3ec84d0dc30eec3a5f979d6e7ee4123ae043eedbb987f53", size = 14384, upload-time = "2024-12-06T02:56:39.412Z" }, ] [[package]] name = "typing-extensions" version = "4.12.2" source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/df/db/f35a00659bc03fec321ba8bce9420de607a1d37f8342eee1863174c69557/typing_extensions-4.12.2.tar.gz", hash = "sha256:1a7ead55c7e559dd4dee8856e3a88b41225abfe1ce8df57b7c13915fe121ffb8", size = 85321 } +sdist = { url = "https://files.pythonhosted.org/packages/df/db/f35a00659bc03fec321ba8bce9420de607a1d37f8342eee1863174c69557/typing_extensions-4.12.2.tar.gz", hash = "sha256:1a7ead55c7e559dd4dee8856e3a88b41225abfe1ce8df57b7c13915fe121ffb8", size = 85321, upload-time = "2024-06-07T18:52:15.995Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/26/9f/ad63fc0248c5379346306f8668cda6e2e2e9c95e01216d2b8ffd9ff037d0/typing_extensions-4.12.2-py3-none-any.whl", hash = "sha256:04e5ca0351e0f3f85c6853954072df659d0d13fac324d0072316b67d7794700d", size = 37438 }, + { url = "https://files.pythonhosted.org/packages/26/9f/ad63fc0248c5379346306f8668cda6e2e2e9c95e01216d2b8ffd9ff037d0/typing_extensions-4.12.2-py3-none-any.whl", hash = "sha256:04e5ca0351e0f3f85c6853954072df659d0d13fac324d0072316b67d7794700d", size = 37438, upload-time = "2024-06-07T18:52:13.582Z" }, ] [[package]] name = "tzdata" version = "2025.1" source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/43/0f/fa4723f22942480be4ca9527bbde8d43f6c3f2fe8412f00e7f5f6746bc8b/tzdata-2025.1.tar.gz", hash = "sha256:24894909e88cdb28bd1636c6887801df64cb485bd593f2fd83ef29075a81d694", size = 194950 } +sdist = { url = "https://files.pythonhosted.org/packages/43/0f/fa4723f22942480be4ca9527bbde8d43f6c3f2fe8412f00e7f5f6746bc8b/tzdata-2025.1.tar.gz", hash = "sha256:24894909e88cdb28bd1636c6887801df64cb485bd593f2fd83ef29075a81d694", size = 194950, upload-time = "2025-01-21T19:49:38.686Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/0f/dd/84f10e23edd882c6f968c21c2434fe67bd4a528967067515feca9e611e5e/tzdata-2025.1-py2.py3-none-any.whl", hash = "sha256:7e127113816800496f027041c570f50bcd464a020098a3b6b199517772303639", size = 346762 }, + { url = "https://files.pythonhosted.org/packages/0f/dd/84f10e23edd882c6f968c21c2434fe67bd4a528967067515feca9e611e5e/tzdata-2025.1-py2.py3-none-any.whl", hash = "sha256:7e127113816800496f027041c570f50bcd464a020098a3b6b199517772303639", size = 346762, upload-time = "2025-01-21T19:49:37.187Z" }, ] [[package]] name = "uri-template" version = "1.3.0" source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/31/c7/0336f2bd0bcbada6ccef7aaa25e443c118a704f828a0620c6fa0207c1b64/uri-template-1.3.0.tar.gz", hash = "sha256:0e00f8eb65e18c7de20d595a14336e9f337ead580c70934141624b6d1ffdacc7", size = 21678 } +sdist = { url = "https://files.pythonhosted.org/packages/31/c7/0336f2bd0bcbada6ccef7aaa25e443c118a704f828a0620c6fa0207c1b64/uri-template-1.3.0.tar.gz", hash = "sha256:0e00f8eb65e18c7de20d595a14336e9f337ead580c70934141624b6d1ffdacc7", size = 21678, upload-time = "2023-06-21T01:49:05.374Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/e7/00/3fca040d7cf8a32776d3d81a00c8ee7457e00f80c649f1e4a863c8321ae9/uri_template-1.3.0-py3-none-any.whl", hash = "sha256:a44a133ea12d44a0c0f06d7d42a52d71282e77e2f937d8abd5655b8d56fc1363", size = 11140 }, + { url = "https://files.pythonhosted.org/packages/e7/00/3fca040d7cf8a32776d3d81a00c8ee7457e00f80c649f1e4a863c8321ae9/uri_template-1.3.0-py3-none-any.whl", hash = "sha256:a44a133ea12d44a0c0f06d7d42a52d71282e77e2f937d8abd5655b8d56fc1363", size = 11140, upload-time = "2023-06-21T01:49:03.467Z" }, ] [[package]] @@ -5144,9 +5144,9 @@ resolution-markers = [ "python_full_version < '3.9' and platform_machine == 'aarch64' and sys_platform == 'linux'", "(python_full_version < '3.9' and platform_machine != 'arm64' and sys_platform == 'darwin') or (python_full_version < '3.9' and platform_machine != 'aarch64' and sys_platform == 'linux') or (python_full_version < '3.9' and sys_platform != 'darwin' and sys_platform != 'linux')", ] -sdist = { url = "https://files.pythonhosted.org/packages/ed/63/22ba4ebfe7430b76388e7cd448d5478814d3032121827c12a2cc287e2260/urllib3-2.2.3.tar.gz", hash = "sha256:e7d814a81dad81e6caf2ec9fdedb284ecc9c73076b62654547cc64ccdcae26e9", size = 300677 } +sdist = { url = "https://files.pythonhosted.org/packages/ed/63/22ba4ebfe7430b76388e7cd448d5478814d3032121827c12a2cc287e2260/urllib3-2.2.3.tar.gz", hash = "sha256:e7d814a81dad81e6caf2ec9fdedb284ecc9c73076b62654547cc64ccdcae26e9", size = 300677, upload-time = "2024-09-12T10:52:18.401Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/ce/d9/5f4c13cecde62396b0d3fe530a50ccea91e7dfc1ccf0e09c228841bb5ba8/urllib3-2.2.3-py3-none-any.whl", hash = "sha256:ca899ca043dcb1bafa3e262d73aa25c465bfb49e0bd9dd5d59f1d0acba2f8fac", size = 126338 }, + { url = "https://files.pythonhosted.org/packages/ce/d9/5f4c13cecde62396b0d3fe530a50ccea91e7dfc1ccf0e09c228841bb5ba8/urllib3-2.2.3-py3-none-any.whl", hash = "sha256:ca899ca043dcb1bafa3e262d73aa25c465bfb49e0bd9dd5d59f1d0acba2f8fac", size = 126338, upload-time = "2024-09-12T10:52:16.589Z" }, ] [[package]] @@ -5167,18 +5167,18 @@ resolution-markers = [ "python_full_version == '3.9.*' and platform_machine == 'aarch64' and sys_platform == 'linux'", "(python_full_version == '3.9.*' and platform_machine != 'arm64' and sys_platform == 'darwin') or (python_full_version == '3.9.*' and platform_machine != 'aarch64' and sys_platform == 'linux') or (python_full_version == '3.9.*' and sys_platform != 'darwin' and sys_platform != 'linux')", ] -sdist = { url = "https://files.pythonhosted.org/packages/aa/63/e53da845320b757bf29ef6a9062f5c669fe997973f966045cb019c3f4b66/urllib3-2.3.0.tar.gz", hash = "sha256:f8c5449b3cf0861679ce7e0503c7b44b5ec981bec0d1d3795a07f1ba96f0204d", size = 307268 } +sdist = { url = "https://files.pythonhosted.org/packages/aa/63/e53da845320b757bf29ef6a9062f5c669fe997973f966045cb019c3f4b66/urllib3-2.3.0.tar.gz", hash = "sha256:f8c5449b3cf0861679ce7e0503c7b44b5ec981bec0d1d3795a07f1ba96f0204d", size = 307268, upload-time = "2024-12-22T07:47:30.032Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/c8/19/4ec628951a74043532ca2cf5d97b7b14863931476d117c471e8e2b1eb39f/urllib3-2.3.0-py3-none-any.whl", hash = "sha256:1cee9ad369867bfdbbb48b7dd50374c0967a0bb7710050facf0dd6911440e3df", size = 128369 }, + { url = "https://files.pythonhosted.org/packages/c8/19/4ec628951a74043532ca2cf5d97b7b14863931476d117c471e8e2b1eb39f/urllib3-2.3.0-py3-none-any.whl", hash = "sha256:1cee9ad369867bfdbbb48b7dd50374c0967a0bb7710050facf0dd6911440e3df", size = 128369, upload-time = "2024-12-22T07:47:28.074Z" }, ] [[package]] name = "verspec" version = "0.1.0" source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/e7/44/8126f9f0c44319b2efc65feaad589cadef4d77ece200ae3c9133d58464d0/verspec-0.1.0.tar.gz", hash = "sha256:c4504ca697b2056cdb4bfa7121461f5a0e81809255b41c03dda4ba823637c01e", size = 27123 } +sdist = { url = "https://files.pythonhosted.org/packages/e7/44/8126f9f0c44319b2efc65feaad589cadef4d77ece200ae3c9133d58464d0/verspec-0.1.0.tar.gz", hash = "sha256:c4504ca697b2056cdb4bfa7121461f5a0e81809255b41c03dda4ba823637c01e", size = 27123, upload-time = "2020-11-30T02:24:09.646Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/a4/ce/3b6fee91c85626eaf769d617f1be9d2e15c1cca027bbdeb2e0d751469355/verspec-0.1.0-py3-none-any.whl", hash = "sha256:741877d5633cc9464c45a469ae2a31e801e6dbbaa85b9675d481cda100f11c31", size = 19640 }, + { url = "https://files.pythonhosted.org/packages/a4/ce/3b6fee91c85626eaf769d617f1be9d2e15c1cca027bbdeb2e0d751469355/verspec-0.1.0-py3-none-any.whl", hash = "sha256:741877d5633cc9464c45a469ae2a31e801e6dbbaa85b9675d481cda100f11c31", size = 19640, upload-time = "2020-11-30T02:24:08.387Z" }, ] [[package]] @@ -5191,9 +5191,9 @@ dependencies = [ { name = "filelock", version = "3.17.0", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.9'" }, { name = "platformdirs" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/a7/ca/f23dcb02e161a9bba141b1c08aa50e8da6ea25e6d780528f1d385a3efe25/virtualenv-20.29.1.tar.gz", hash = "sha256:b8b8970138d32fb606192cb97f6cd4bb644fa486be9308fb9b63f81091b5dc35", size = 7658028 } +sdist = { url = "https://files.pythonhosted.org/packages/a7/ca/f23dcb02e161a9bba141b1c08aa50e8da6ea25e6d780528f1d385a3efe25/virtualenv-20.29.1.tar.gz", hash = "sha256:b8b8970138d32fb606192cb97f6cd4bb644fa486be9308fb9b63f81091b5dc35", size = 7658028, upload-time = "2025-01-17T17:32:23.085Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/89/9b/599bcfc7064fbe5740919e78c5df18e5dceb0887e676256a1061bb5ae232/virtualenv-20.29.1-py3-none-any.whl", hash = "sha256:4e4cb403c0b0da39e13b46b1b2476e505cb0046b25f242bee80f62bf990b2779", size = 4282379 }, + { url = "https://files.pythonhosted.org/packages/89/9b/599bcfc7064fbe5740919e78c5df18e5dceb0887e676256a1061bb5ae232/virtualenv-20.29.1-py3-none-any.whl", hash = "sha256:4e4cb403c0b0da39e13b46b1b2476e505cb0046b25f242bee80f62bf990b2779", size = 4282379, upload-time = "2025-01-17T17:32:19.864Z" }, ] [[package]] @@ -5205,42 +5205,42 @@ resolution-markers = [ "python_full_version < '3.9' and platform_machine == 'aarch64' and sys_platform == 'linux'", "(python_full_version < '3.9' and platform_machine != 'arm64' and sys_platform == 'darwin') or (python_full_version < '3.9' and platform_machine != 'aarch64' and sys_platform == 'linux') or (python_full_version < '3.9' and sys_platform != 'darwin' and sys_platform != 'linux')", ] -sdist = { url = "https://files.pythonhosted.org/packages/4f/38/764baaa25eb5e35c9a043d4c4588f9836edfe52a708950f4b6d5f714fd42/watchdog-4.0.2.tar.gz", hash = "sha256:b4dfbb6c49221be4535623ea4474a4d6ee0a9cef4a80b20c28db4d858b64e270", size = 126587 } -wheels = [ - { url = "https://files.pythonhosted.org/packages/46/b0/219893d41c16d74d0793363bf86df07d50357b81f64bba4cb94fe76e7af4/watchdog-4.0.2-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:ede7f010f2239b97cc79e6cb3c249e72962404ae3865860855d5cbe708b0fd22", size = 100257 }, - { url = "https://files.pythonhosted.org/packages/6d/c6/8e90c65693e87d98310b2e1e5fd7e313266990853b489e85ce8396cc26e3/watchdog-4.0.2-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:a2cffa171445b0efa0726c561eca9a27d00a1f2b83846dbd5a4f639c4f8ca8e1", size = 92249 }, - { url = "https://files.pythonhosted.org/packages/6f/cd/2e306756364a934532ff8388d90eb2dc8bb21fe575cd2b33d791ce05a02f/watchdog-4.0.2-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:c50f148b31b03fbadd6d0b5980e38b558046b127dc483e5e4505fcef250f9503", size = 92888 }, - { url = "https://files.pythonhosted.org/packages/de/78/027ad372d62f97642349a16015394a7680530460b1c70c368c506cb60c09/watchdog-4.0.2-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:7c7d4bf585ad501c5f6c980e7be9c4f15604c7cc150e942d82083b31a7548930", size = 100256 }, - { url = "https://files.pythonhosted.org/packages/59/a9/412b808568c1814d693b4ff1cec0055dc791780b9dc947807978fab86bc1/watchdog-4.0.2-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:914285126ad0b6eb2258bbbcb7b288d9dfd655ae88fa28945be05a7b475a800b", size = 92252 }, - { url = "https://files.pythonhosted.org/packages/04/57/179d76076cff264982bc335dd4c7da6d636bd3e9860bbc896a665c3447b6/watchdog-4.0.2-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:984306dc4720da5498b16fc037b36ac443816125a3705dfde4fd90652d8028ef", size = 92888 }, - { url = "https://files.pythonhosted.org/packages/92/f5/ea22b095340545faea37ad9a42353b265ca751f543da3fb43f5d00cdcd21/watchdog-4.0.2-cp312-cp312-macosx_10_9_universal2.whl", hash = "sha256:1cdcfd8142f604630deef34722d695fb455d04ab7cfe9963055df1fc69e6727a", size = 100342 }, - { url = "https://files.pythonhosted.org/packages/cb/d2/8ce97dff5e465db1222951434e3115189ae54a9863aef99c6987890cc9ef/watchdog-4.0.2-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:d7ab624ff2f663f98cd03c8b7eedc09375a911794dfea6bf2a359fcc266bff29", size = 92306 }, - { url = "https://files.pythonhosted.org/packages/49/c4/1aeba2c31b25f79b03b15918155bc8c0b08101054fc727900f1a577d0d54/watchdog-4.0.2-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:132937547a716027bd5714383dfc40dc66c26769f1ce8a72a859d6a48f371f3a", size = 92915 }, - { url = "https://files.pythonhosted.org/packages/79/63/eb8994a182672c042d85a33507475c50c2ee930577524dd97aea05251527/watchdog-4.0.2-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:cd67c7df93eb58f360c43802acc945fa8da70c675b6fa37a241e17ca698ca49b", size = 100343 }, - { url = "https://files.pythonhosted.org/packages/ce/82/027c0c65c2245769580605bcd20a1dc7dfd6c6683c8c4e2ef43920e38d27/watchdog-4.0.2-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:bcfd02377be80ef3b6bc4ce481ef3959640458d6feaae0bd43dd90a43da90a7d", size = 92313 }, - { url = "https://files.pythonhosted.org/packages/2a/89/ad4715cbbd3440cb0d336b78970aba243a33a24b1a79d66f8d16b4590d6a/watchdog-4.0.2-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:980b71510f59c884d684b3663d46e7a14b457c9611c481e5cef08f4dd022eed7", size = 92919 }, - { url = "https://files.pythonhosted.org/packages/55/08/1a9086a3380e8828f65b0c835b86baf29ebb85e5e94a2811a2eb4f889cfd/watchdog-4.0.2-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:aa160781cafff2719b663c8a506156e9289d111d80f3387cf3af49cedee1f040", size = 100255 }, - { url = "https://files.pythonhosted.org/packages/6c/3e/064974628cf305831f3f78264800bd03b3358ec181e3e9380a36ff156b93/watchdog-4.0.2-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:f6ee8dedd255087bc7fe82adf046f0b75479b989185fb0bdf9a98b612170eac7", size = 92257 }, - { url = "https://files.pythonhosted.org/packages/23/69/1d2ad9c12d93bc1e445baa40db46bc74757f3ffc3a3be592ba8dbc51b6e5/watchdog-4.0.2-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:0b4359067d30d5b864e09c8597b112fe0a0a59321a0f331498b013fb097406b4", size = 92886 }, - { url = "https://files.pythonhosted.org/packages/68/eb/34d3173eceab490d4d1815ba9a821e10abe1da7a7264a224e30689b1450c/watchdog-4.0.2-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:770eef5372f146997638d737c9a3c597a3b41037cfbc5c41538fc27c09c3a3f9", size = 100254 }, - { url = "https://files.pythonhosted.org/packages/18/a1/4bbafe7ace414904c2cc9bd93e472133e8ec11eab0b4625017f0e34caad8/watchdog-4.0.2-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:eeea812f38536a0aa859972d50c76e37f4456474b02bd93674d1947cf1e39578", size = 92249 }, - { url = "https://files.pythonhosted.org/packages/f3/11/ec5684e0ca692950826af0de862e5db167523c30c9cbf9b3f4ce7ec9cc05/watchdog-4.0.2-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:b2c45f6e1e57ebb4687690c05bc3a2c1fb6ab260550c4290b8abb1335e0fd08b", size = 92891 }, - { url = "https://files.pythonhosted.org/packages/3b/9a/6f30f023324de7bad8a3eb02b0afb06bd0726003a3550e9964321315df5a/watchdog-4.0.2-pp310-pypy310_pp73-macosx_10_15_x86_64.whl", hash = "sha256:10b6683df70d340ac3279eff0b2766813f00f35a1d37515d2c99959ada8f05fa", size = 91775 }, - { url = "https://files.pythonhosted.org/packages/87/62/8be55e605d378a154037b9ba484e00a5478e627b69c53d0f63e3ef413ba6/watchdog-4.0.2-pp310-pypy310_pp73-macosx_11_0_arm64.whl", hash = "sha256:f7c739888c20f99824f7aa9d31ac8a97353e22d0c0e54703a547a218f6637eb3", size = 92255 }, - { url = "https://files.pythonhosted.org/packages/6b/59/12e03e675d28f450bade6da6bc79ad6616080b317c472b9ae688d2495a03/watchdog-4.0.2-pp38-pypy38_pp73-macosx_10_9_x86_64.whl", hash = "sha256:c100d09ac72a8a08ddbf0629ddfa0b8ee41740f9051429baa8e31bb903ad7508", size = 91682 }, - { url = "https://files.pythonhosted.org/packages/ef/69/241998de9b8e024f5c2fbdf4324ea628b4231925305011ca8b7e1c3329f6/watchdog-4.0.2-pp38-pypy38_pp73-macosx_11_0_arm64.whl", hash = "sha256:f5315a8c8dd6dd9425b974515081fc0aadca1d1d61e078d2246509fd756141ee", size = 92249 }, - { url = "https://files.pythonhosted.org/packages/70/3f/2173b4d9581bc9b5df4d7f2041b6c58b5e5448407856f68d4be9981000d0/watchdog-4.0.2-pp39-pypy39_pp73-macosx_10_15_x86_64.whl", hash = "sha256:2d468028a77b42cc685ed694a7a550a8d1771bb05193ba7b24006b8241a571a1", size = 91773 }, - { url = "https://files.pythonhosted.org/packages/f0/de/6fff29161d5789048f06ef24d94d3ddcc25795f347202b7ea503c3356acb/watchdog-4.0.2-pp39-pypy39_pp73-macosx_11_0_arm64.whl", hash = "sha256:f15edcae3830ff20e55d1f4e743e92970c847bcddc8b7509bcd172aa04de506e", size = 92250 }, - { url = "https://files.pythonhosted.org/packages/8a/b1/25acf6767af6f7e44e0086309825bd8c098e301eed5868dc5350642124b9/watchdog-4.0.2-py3-none-manylinux2014_aarch64.whl", hash = "sha256:936acba76d636f70db8f3c66e76aa6cb5136a936fc2a5088b9ce1c7a3508fc83", size = 82947 }, - { url = "https://files.pythonhosted.org/packages/e8/90/aebac95d6f954bd4901f5d46dcd83d68e682bfd21798fd125a95ae1c9dbf/watchdog-4.0.2-py3-none-manylinux2014_armv7l.whl", hash = "sha256:e252f8ca942a870f38cf785aef420285431311652d871409a64e2a0a52a2174c", size = 82942 }, - { url = "https://files.pythonhosted.org/packages/15/3a/a4bd8f3b9381824995787488b9282aff1ed4667e1110f31a87b871ea851c/watchdog-4.0.2-py3-none-manylinux2014_i686.whl", hash = "sha256:0e83619a2d5d436a7e58a1aea957a3c1ccbf9782c43c0b4fed80580e5e4acd1a", size = 82947 }, - { url = "https://files.pythonhosted.org/packages/09/cc/238998fc08e292a4a18a852ed8274159019ee7a66be14441325bcd811dfd/watchdog-4.0.2-py3-none-manylinux2014_ppc64.whl", hash = "sha256:88456d65f207b39f1981bf772e473799fcdc10801062c36fd5ad9f9d1d463a73", size = 82946 }, - { url = "https://files.pythonhosted.org/packages/80/f1/d4b915160c9d677174aa5fae4537ae1f5acb23b3745ab0873071ef671f0a/watchdog-4.0.2-py3-none-manylinux2014_ppc64le.whl", hash = "sha256:32be97f3b75693a93c683787a87a0dc8db98bb84701539954eef991fb35f5fbc", size = 82947 }, - { url = "https://files.pythonhosted.org/packages/db/02/56ebe2cf33b352fe3309588eb03f020d4d1c061563d9858a9216ba004259/watchdog-4.0.2-py3-none-manylinux2014_s390x.whl", hash = "sha256:c82253cfc9be68e3e49282831afad2c1f6593af80c0daf1287f6a92657986757", size = 82944 }, - { url = "https://files.pythonhosted.org/packages/01/d2/c8931ff840a7e5bd5dcb93f2bb2a1fd18faf8312e9f7f53ff1cf76ecc8ed/watchdog-4.0.2-py3-none-manylinux2014_x86_64.whl", hash = "sha256:c0b14488bd336c5b1845cee83d3e631a1f8b4e9c5091ec539406e4a324f882d8", size = 82947 }, - { url = "https://files.pythonhosted.org/packages/d0/d8/cdb0c21a4a988669d7c210c75c6a2c9a0e16a3b08d9f7e633df0d9a16ad8/watchdog-4.0.2-py3-none-win32.whl", hash = "sha256:0d8a7e523ef03757a5aa29f591437d64d0d894635f8a50f370fe37f913ce4e19", size = 82935 }, - { url = "https://files.pythonhosted.org/packages/99/2e/b69dfaae7a83ea64ce36538cc103a3065e12c447963797793d5c0a1d5130/watchdog-4.0.2-py3-none-win_amd64.whl", hash = "sha256:c344453ef3bf875a535b0488e3ad28e341adbd5a9ffb0f7d62cefacc8824ef2b", size = 82934 }, - { url = "https://files.pythonhosted.org/packages/b0/0b/43b96a9ecdd65ff5545b1b13b687ca486da5c6249475b1a45f24d63a1858/watchdog-4.0.2-py3-none-win_ia64.whl", hash = "sha256:baececaa8edff42cd16558a639a9b0ddf425f93d892e8392a56bf904f5eff22c", size = 82933 }, +sdist = { url = "https://files.pythonhosted.org/packages/4f/38/764baaa25eb5e35c9a043d4c4588f9836edfe52a708950f4b6d5f714fd42/watchdog-4.0.2.tar.gz", hash = "sha256:b4dfbb6c49221be4535623ea4474a4d6ee0a9cef4a80b20c28db4d858b64e270", size = 126587, upload-time = "2024-08-11T07:38:01.623Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/46/b0/219893d41c16d74d0793363bf86df07d50357b81f64bba4cb94fe76e7af4/watchdog-4.0.2-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:ede7f010f2239b97cc79e6cb3c249e72962404ae3865860855d5cbe708b0fd22", size = 100257, upload-time = "2024-08-11T07:37:04.209Z" }, + { url = "https://files.pythonhosted.org/packages/6d/c6/8e90c65693e87d98310b2e1e5fd7e313266990853b489e85ce8396cc26e3/watchdog-4.0.2-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:a2cffa171445b0efa0726c561eca9a27d00a1f2b83846dbd5a4f639c4f8ca8e1", size = 92249, upload-time = "2024-08-11T07:37:06.364Z" }, + { url = "https://files.pythonhosted.org/packages/6f/cd/2e306756364a934532ff8388d90eb2dc8bb21fe575cd2b33d791ce05a02f/watchdog-4.0.2-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:c50f148b31b03fbadd6d0b5980e38b558046b127dc483e5e4505fcef250f9503", size = 92888, upload-time = "2024-08-11T07:37:08.275Z" }, + { url = "https://files.pythonhosted.org/packages/de/78/027ad372d62f97642349a16015394a7680530460b1c70c368c506cb60c09/watchdog-4.0.2-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:7c7d4bf585ad501c5f6c980e7be9c4f15604c7cc150e942d82083b31a7548930", size = 100256, upload-time = "2024-08-11T07:37:11.017Z" }, + { url = "https://files.pythonhosted.org/packages/59/a9/412b808568c1814d693b4ff1cec0055dc791780b9dc947807978fab86bc1/watchdog-4.0.2-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:914285126ad0b6eb2258bbbcb7b288d9dfd655ae88fa28945be05a7b475a800b", size = 92252, upload-time = "2024-08-11T07:37:13.098Z" }, + { url = "https://files.pythonhosted.org/packages/04/57/179d76076cff264982bc335dd4c7da6d636bd3e9860bbc896a665c3447b6/watchdog-4.0.2-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:984306dc4720da5498b16fc037b36ac443816125a3705dfde4fd90652d8028ef", size = 92888, upload-time = "2024-08-11T07:37:15.077Z" }, + { url = "https://files.pythonhosted.org/packages/92/f5/ea22b095340545faea37ad9a42353b265ca751f543da3fb43f5d00cdcd21/watchdog-4.0.2-cp312-cp312-macosx_10_9_universal2.whl", hash = "sha256:1cdcfd8142f604630deef34722d695fb455d04ab7cfe9963055df1fc69e6727a", size = 100342, upload-time = "2024-08-11T07:37:16.393Z" }, + { url = "https://files.pythonhosted.org/packages/cb/d2/8ce97dff5e465db1222951434e3115189ae54a9863aef99c6987890cc9ef/watchdog-4.0.2-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:d7ab624ff2f663f98cd03c8b7eedc09375a911794dfea6bf2a359fcc266bff29", size = 92306, upload-time = "2024-08-11T07:37:17.997Z" }, + { url = "https://files.pythonhosted.org/packages/49/c4/1aeba2c31b25f79b03b15918155bc8c0b08101054fc727900f1a577d0d54/watchdog-4.0.2-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:132937547a716027bd5714383dfc40dc66c26769f1ce8a72a859d6a48f371f3a", size = 92915, upload-time = "2024-08-11T07:37:19.967Z" }, + { url = "https://files.pythonhosted.org/packages/79/63/eb8994a182672c042d85a33507475c50c2ee930577524dd97aea05251527/watchdog-4.0.2-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:cd67c7df93eb58f360c43802acc945fa8da70c675b6fa37a241e17ca698ca49b", size = 100343, upload-time = "2024-08-11T07:37:21.935Z" }, + { url = "https://files.pythonhosted.org/packages/ce/82/027c0c65c2245769580605bcd20a1dc7dfd6c6683c8c4e2ef43920e38d27/watchdog-4.0.2-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:bcfd02377be80ef3b6bc4ce481ef3959640458d6feaae0bd43dd90a43da90a7d", size = 92313, upload-time = "2024-08-11T07:37:23.314Z" }, + { url = "https://files.pythonhosted.org/packages/2a/89/ad4715cbbd3440cb0d336b78970aba243a33a24b1a79d66f8d16b4590d6a/watchdog-4.0.2-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:980b71510f59c884d684b3663d46e7a14b457c9611c481e5cef08f4dd022eed7", size = 92919, upload-time = "2024-08-11T07:37:24.715Z" }, + { url = "https://files.pythonhosted.org/packages/55/08/1a9086a3380e8828f65b0c835b86baf29ebb85e5e94a2811a2eb4f889cfd/watchdog-4.0.2-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:aa160781cafff2719b663c8a506156e9289d111d80f3387cf3af49cedee1f040", size = 100255, upload-time = "2024-08-11T07:37:26.862Z" }, + { url = "https://files.pythonhosted.org/packages/6c/3e/064974628cf305831f3f78264800bd03b3358ec181e3e9380a36ff156b93/watchdog-4.0.2-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:f6ee8dedd255087bc7fe82adf046f0b75479b989185fb0bdf9a98b612170eac7", size = 92257, upload-time = "2024-08-11T07:37:28.253Z" }, + { url = "https://files.pythonhosted.org/packages/23/69/1d2ad9c12d93bc1e445baa40db46bc74757f3ffc3a3be592ba8dbc51b6e5/watchdog-4.0.2-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:0b4359067d30d5b864e09c8597b112fe0a0a59321a0f331498b013fb097406b4", size = 92886, upload-time = "2024-08-11T07:37:29.52Z" }, + { url = "https://files.pythonhosted.org/packages/68/eb/34d3173eceab490d4d1815ba9a821e10abe1da7a7264a224e30689b1450c/watchdog-4.0.2-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:770eef5372f146997638d737c9a3c597a3b41037cfbc5c41538fc27c09c3a3f9", size = 100254, upload-time = "2024-08-11T07:37:30.888Z" }, + { url = "https://files.pythonhosted.org/packages/18/a1/4bbafe7ace414904c2cc9bd93e472133e8ec11eab0b4625017f0e34caad8/watchdog-4.0.2-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:eeea812f38536a0aa859972d50c76e37f4456474b02bd93674d1947cf1e39578", size = 92249, upload-time = "2024-08-11T07:37:32.193Z" }, + { url = "https://files.pythonhosted.org/packages/f3/11/ec5684e0ca692950826af0de862e5db167523c30c9cbf9b3f4ce7ec9cc05/watchdog-4.0.2-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:b2c45f6e1e57ebb4687690c05bc3a2c1fb6ab260550c4290b8abb1335e0fd08b", size = 92891, upload-time = "2024-08-11T07:37:34.212Z" }, + { url = "https://files.pythonhosted.org/packages/3b/9a/6f30f023324de7bad8a3eb02b0afb06bd0726003a3550e9964321315df5a/watchdog-4.0.2-pp310-pypy310_pp73-macosx_10_15_x86_64.whl", hash = "sha256:10b6683df70d340ac3279eff0b2766813f00f35a1d37515d2c99959ada8f05fa", size = 91775, upload-time = "2024-08-11T07:37:35.567Z" }, + { url = "https://files.pythonhosted.org/packages/87/62/8be55e605d378a154037b9ba484e00a5478e627b69c53d0f63e3ef413ba6/watchdog-4.0.2-pp310-pypy310_pp73-macosx_11_0_arm64.whl", hash = "sha256:f7c739888c20f99824f7aa9d31ac8a97353e22d0c0e54703a547a218f6637eb3", size = 92255, upload-time = "2024-08-11T07:37:37.596Z" }, + { url = "https://files.pythonhosted.org/packages/6b/59/12e03e675d28f450bade6da6bc79ad6616080b317c472b9ae688d2495a03/watchdog-4.0.2-pp38-pypy38_pp73-macosx_10_9_x86_64.whl", hash = "sha256:c100d09ac72a8a08ddbf0629ddfa0b8ee41740f9051429baa8e31bb903ad7508", size = 91682, upload-time = "2024-08-11T07:37:38.901Z" }, + { url = "https://files.pythonhosted.org/packages/ef/69/241998de9b8e024f5c2fbdf4324ea628b4231925305011ca8b7e1c3329f6/watchdog-4.0.2-pp38-pypy38_pp73-macosx_11_0_arm64.whl", hash = "sha256:f5315a8c8dd6dd9425b974515081fc0aadca1d1d61e078d2246509fd756141ee", size = 92249, upload-time = "2024-08-11T07:37:40.143Z" }, + { url = "https://files.pythonhosted.org/packages/70/3f/2173b4d9581bc9b5df4d7f2041b6c58b5e5448407856f68d4be9981000d0/watchdog-4.0.2-pp39-pypy39_pp73-macosx_10_15_x86_64.whl", hash = "sha256:2d468028a77b42cc685ed694a7a550a8d1771bb05193ba7b24006b8241a571a1", size = 91773, upload-time = "2024-08-11T07:37:42.095Z" }, + { url = "https://files.pythonhosted.org/packages/f0/de/6fff29161d5789048f06ef24d94d3ddcc25795f347202b7ea503c3356acb/watchdog-4.0.2-pp39-pypy39_pp73-macosx_11_0_arm64.whl", hash = "sha256:f15edcae3830ff20e55d1f4e743e92970c847bcddc8b7509bcd172aa04de506e", size = 92250, upload-time = "2024-08-11T07:37:44.052Z" }, + { url = "https://files.pythonhosted.org/packages/8a/b1/25acf6767af6f7e44e0086309825bd8c098e301eed5868dc5350642124b9/watchdog-4.0.2-py3-none-manylinux2014_aarch64.whl", hash = "sha256:936acba76d636f70db8f3c66e76aa6cb5136a936fc2a5088b9ce1c7a3508fc83", size = 82947, upload-time = "2024-08-11T07:37:45.388Z" }, + { url = "https://files.pythonhosted.org/packages/e8/90/aebac95d6f954bd4901f5d46dcd83d68e682bfd21798fd125a95ae1c9dbf/watchdog-4.0.2-py3-none-manylinux2014_armv7l.whl", hash = "sha256:e252f8ca942a870f38cf785aef420285431311652d871409a64e2a0a52a2174c", size = 82942, upload-time = "2024-08-11T07:37:46.722Z" }, + { url = "https://files.pythonhosted.org/packages/15/3a/a4bd8f3b9381824995787488b9282aff1ed4667e1110f31a87b871ea851c/watchdog-4.0.2-py3-none-manylinux2014_i686.whl", hash = "sha256:0e83619a2d5d436a7e58a1aea957a3c1ccbf9782c43c0b4fed80580e5e4acd1a", size = 82947, upload-time = "2024-08-11T07:37:48.941Z" }, + { url = "https://files.pythonhosted.org/packages/09/cc/238998fc08e292a4a18a852ed8274159019ee7a66be14441325bcd811dfd/watchdog-4.0.2-py3-none-manylinux2014_ppc64.whl", hash = "sha256:88456d65f207b39f1981bf772e473799fcdc10801062c36fd5ad9f9d1d463a73", size = 82946, upload-time = "2024-08-11T07:37:50.279Z" }, + { url = "https://files.pythonhosted.org/packages/80/f1/d4b915160c9d677174aa5fae4537ae1f5acb23b3745ab0873071ef671f0a/watchdog-4.0.2-py3-none-manylinux2014_ppc64le.whl", hash = "sha256:32be97f3b75693a93c683787a87a0dc8db98bb84701539954eef991fb35f5fbc", size = 82947, upload-time = "2024-08-11T07:37:51.55Z" }, + { url = "https://files.pythonhosted.org/packages/db/02/56ebe2cf33b352fe3309588eb03f020d4d1c061563d9858a9216ba004259/watchdog-4.0.2-py3-none-manylinux2014_s390x.whl", hash = "sha256:c82253cfc9be68e3e49282831afad2c1f6593af80c0daf1287f6a92657986757", size = 82944, upload-time = "2024-08-11T07:37:52.855Z" }, + { url = "https://files.pythonhosted.org/packages/01/d2/c8931ff840a7e5bd5dcb93f2bb2a1fd18faf8312e9f7f53ff1cf76ecc8ed/watchdog-4.0.2-py3-none-manylinux2014_x86_64.whl", hash = "sha256:c0b14488bd336c5b1845cee83d3e631a1f8b4e9c5091ec539406e4a324f882d8", size = 82947, upload-time = "2024-08-11T07:37:55.172Z" }, + { url = "https://files.pythonhosted.org/packages/d0/d8/cdb0c21a4a988669d7c210c75c6a2c9a0e16a3b08d9f7e633df0d9a16ad8/watchdog-4.0.2-py3-none-win32.whl", hash = "sha256:0d8a7e523ef03757a5aa29f591437d64d0d894635f8a50f370fe37f913ce4e19", size = 82935, upload-time = "2024-08-11T07:37:56.668Z" }, + { url = "https://files.pythonhosted.org/packages/99/2e/b69dfaae7a83ea64ce36538cc103a3065e12c447963797793d5c0a1d5130/watchdog-4.0.2-py3-none-win_amd64.whl", hash = "sha256:c344453ef3bf875a535b0488e3ad28e341adbd5a9ffb0f7d62cefacc8824ef2b", size = 82934, upload-time = "2024-08-11T07:37:57.991Z" }, + { url = "https://files.pythonhosted.org/packages/b0/0b/43b96a9ecdd65ff5545b1b13b687ca486da5c6249475b1a45f24d63a1858/watchdog-4.0.2-py3-none-win_ia64.whl", hash = "sha256:baececaa8edff42cd16558a639a9b0ddf425f93d892e8392a56bf904f5eff22c", size = 82933, upload-time = "2024-08-11T07:37:59.573Z" }, ] [[package]] @@ -5261,46 +5261,46 @@ resolution-markers = [ "python_full_version == '3.9.*' and platform_machine == 'aarch64' and sys_platform == 'linux'", "(python_full_version == '3.9.*' and platform_machine != 'arm64' and sys_platform == 'darwin') or (python_full_version == '3.9.*' and platform_machine != 'aarch64' and sys_platform == 'linux') or (python_full_version == '3.9.*' and sys_platform != 'darwin' and sys_platform != 'linux')", ] -sdist = { url = "https://files.pythonhosted.org/packages/db/7d/7f3d619e951c88ed75c6037b246ddcf2d322812ee8ea189be89511721d54/watchdog-6.0.0.tar.gz", hash = "sha256:9ddf7c82fda3ae8e24decda1338ede66e1c99883db93711d8fb941eaa2d8c282", size = 131220 } -wheels = [ - { url = "https://files.pythonhosted.org/packages/0c/56/90994d789c61df619bfc5ce2ecdabd5eeff564e1eb47512bd01b5e019569/watchdog-6.0.0-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:d1cdb490583ebd691c012b3d6dae011000fe42edb7a82ece80965b42abd61f26", size = 96390 }, - { url = "https://files.pythonhosted.org/packages/55/46/9a67ee697342ddf3c6daa97e3a587a56d6c4052f881ed926a849fcf7371c/watchdog-6.0.0-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:bc64ab3bdb6a04d69d4023b29422170b74681784ffb9463ed4870cf2f3e66112", size = 88389 }, - { url = "https://files.pythonhosted.org/packages/44/65/91b0985747c52064d8701e1075eb96f8c40a79df889e59a399453adfb882/watchdog-6.0.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:c897ac1b55c5a1461e16dae288d22bb2e412ba9807df8397a635d88f671d36c3", size = 89020 }, - { url = "https://files.pythonhosted.org/packages/e0/24/d9be5cd6642a6aa68352ded4b4b10fb0d7889cb7f45814fb92cecd35f101/watchdog-6.0.0-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:6eb11feb5a0d452ee41f824e271ca311a09e250441c262ca2fd7ebcf2461a06c", size = 96393 }, - { url = "https://files.pythonhosted.org/packages/63/7a/6013b0d8dbc56adca7fdd4f0beed381c59f6752341b12fa0886fa7afc78b/watchdog-6.0.0-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:ef810fbf7b781a5a593894e4f439773830bdecb885e6880d957d5b9382a960d2", size = 88392 }, - { url = "https://files.pythonhosted.org/packages/d1/40/b75381494851556de56281e053700e46bff5b37bf4c7267e858640af5a7f/watchdog-6.0.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:afd0fe1b2270917c5e23c2a65ce50c2a4abb63daafb0d419fde368e272a76b7c", size = 89019 }, - { url = "https://files.pythonhosted.org/packages/39/ea/3930d07dafc9e286ed356a679aa02d777c06e9bfd1164fa7c19c288a5483/watchdog-6.0.0-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:bdd4e6f14b8b18c334febb9c4425a878a2ac20efd1e0b231978e7b150f92a948", size = 96471 }, - { url = "https://files.pythonhosted.org/packages/12/87/48361531f70b1f87928b045df868a9fd4e253d9ae087fa4cf3f7113be363/watchdog-6.0.0-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:c7c15dda13c4eb00d6fb6fc508b3c0ed88b9d5d374056b239c4ad1611125c860", size = 88449 }, - { url = "https://files.pythonhosted.org/packages/5b/7e/8f322f5e600812e6f9a31b75d242631068ca8f4ef0582dd3ae6e72daecc8/watchdog-6.0.0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:6f10cb2d5902447c7d0da897e2c6768bca89174d0c6e1e30abec5421af97a5b0", size = 89054 }, - { url = "https://files.pythonhosted.org/packages/68/98/b0345cabdce2041a01293ba483333582891a3bd5769b08eceb0d406056ef/watchdog-6.0.0-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:490ab2ef84f11129844c23fb14ecf30ef3d8a6abafd3754a6f75ca1e6654136c", size = 96480 }, - { url = "https://files.pythonhosted.org/packages/85/83/cdf13902c626b28eedef7ec4f10745c52aad8a8fe7eb04ed7b1f111ca20e/watchdog-6.0.0-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:76aae96b00ae814b181bb25b1b98076d5fc84e8a53cd8885a318b42b6d3a5134", size = 88451 }, - { url = "https://files.pythonhosted.org/packages/fe/c4/225c87bae08c8b9ec99030cd48ae9c4eca050a59bf5c2255853e18c87b50/watchdog-6.0.0-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:a175f755fc2279e0b7312c0035d52e27211a5bc39719dd529625b1930917345b", size = 89057 }, - { url = "https://files.pythonhosted.org/packages/05/52/7223011bb760fce8ddc53416beb65b83a3ea6d7d13738dde75eeb2c89679/watchdog-6.0.0-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:e6f0e77c9417e7cd62af82529b10563db3423625c5fce018430b249bf977f9e8", size = 96390 }, - { url = "https://files.pythonhosted.org/packages/9c/62/d2b21bc4e706d3a9d467561f487c2938cbd881c69f3808c43ac1ec242391/watchdog-6.0.0-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:90c8e78f3b94014f7aaae121e6b909674df5b46ec24d6bebc45c44c56729af2a", size = 88386 }, - { url = "https://files.pythonhosted.org/packages/ea/22/1c90b20eda9f4132e4603a26296108728a8bfe9584b006bd05dd94548853/watchdog-6.0.0-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:e7631a77ffb1f7d2eefa4445ebbee491c720a5661ddf6df3498ebecae5ed375c", size = 89017 }, - { url = "https://files.pythonhosted.org/packages/30/ad/d17b5d42e28a8b91f8ed01cb949da092827afb9995d4559fd448d0472763/watchdog-6.0.0-pp310-pypy310_pp73-macosx_10_15_x86_64.whl", hash = "sha256:c7ac31a19f4545dd92fc25d200694098f42c9a8e391bc00bdd362c5736dbf881", size = 87902 }, - { url = "https://files.pythonhosted.org/packages/5c/ca/c3649991d140ff6ab67bfc85ab42b165ead119c9e12211e08089d763ece5/watchdog-6.0.0-pp310-pypy310_pp73-macosx_11_0_arm64.whl", hash = "sha256:9513f27a1a582d9808cf21a07dae516f0fab1cf2d7683a742c498b93eedabb11", size = 88380 }, - { url = "https://files.pythonhosted.org/packages/5b/79/69f2b0e8d3f2afd462029031baafb1b75d11bb62703f0e1022b2e54d49ee/watchdog-6.0.0-pp39-pypy39_pp73-macosx_10_15_x86_64.whl", hash = "sha256:7a0e56874cfbc4b9b05c60c8a1926fedf56324bb08cfbc188969777940aef3aa", size = 87903 }, - { url = "https://files.pythonhosted.org/packages/e2/2b/dc048dd71c2e5f0f7ebc04dd7912981ec45793a03c0dc462438e0591ba5d/watchdog-6.0.0-pp39-pypy39_pp73-macosx_11_0_arm64.whl", hash = "sha256:e6439e374fc012255b4ec786ae3c4bc838cd7309a540e5fe0952d03687d8804e", size = 88381 }, - { url = "https://files.pythonhosted.org/packages/a9/c7/ca4bf3e518cb57a686b2feb4f55a1892fd9a3dd13f470fca14e00f80ea36/watchdog-6.0.0-py3-none-manylinux2014_aarch64.whl", hash = "sha256:7607498efa04a3542ae3e05e64da8202e58159aa1fa4acddf7678d34a35d4f13", size = 79079 }, - { url = "https://files.pythonhosted.org/packages/5c/51/d46dc9332f9a647593c947b4b88e2381c8dfc0942d15b8edc0310fa4abb1/watchdog-6.0.0-py3-none-manylinux2014_armv7l.whl", hash = "sha256:9041567ee8953024c83343288ccc458fd0a2d811d6a0fd68c4c22609e3490379", size = 79078 }, - { url = "https://files.pythonhosted.org/packages/d4/57/04edbf5e169cd318d5f07b4766fee38e825d64b6913ca157ca32d1a42267/watchdog-6.0.0-py3-none-manylinux2014_i686.whl", hash = "sha256:82dc3e3143c7e38ec49d61af98d6558288c415eac98486a5c581726e0737c00e", size = 79076 }, - { url = "https://files.pythonhosted.org/packages/ab/cc/da8422b300e13cb187d2203f20b9253e91058aaf7db65b74142013478e66/watchdog-6.0.0-py3-none-manylinux2014_ppc64.whl", hash = "sha256:212ac9b8bf1161dc91bd09c048048a95ca3a4c4f5e5d4a7d1b1a7d5752a7f96f", size = 79077 }, - { url = "https://files.pythonhosted.org/packages/2c/3b/b8964e04ae1a025c44ba8e4291f86e97fac443bca31de8bd98d3263d2fcf/watchdog-6.0.0-py3-none-manylinux2014_ppc64le.whl", hash = "sha256:e3df4cbb9a450c6d49318f6d14f4bbc80d763fa587ba46ec86f99f9e6876bb26", size = 79078 }, - { url = "https://files.pythonhosted.org/packages/62/ae/a696eb424bedff7407801c257d4b1afda455fe40821a2be430e173660e81/watchdog-6.0.0-py3-none-manylinux2014_s390x.whl", hash = "sha256:2cce7cfc2008eb51feb6aab51251fd79b85d9894e98ba847408f662b3395ca3c", size = 79077 }, - { url = "https://files.pythonhosted.org/packages/b5/e8/dbf020b4d98251a9860752a094d09a65e1b436ad181faf929983f697048f/watchdog-6.0.0-py3-none-manylinux2014_x86_64.whl", hash = "sha256:20ffe5b202af80ab4266dcd3e91aae72bf2da48c0d33bdb15c66658e685e94e2", size = 79078 }, - { url = "https://files.pythonhosted.org/packages/07/f6/d0e5b343768e8bcb4cda79f0f2f55051bf26177ecd5651f84c07567461cf/watchdog-6.0.0-py3-none-win32.whl", hash = "sha256:07df1fdd701c5d4c8e55ef6cf55b8f0120fe1aef7ef39a1c6fc6bc2e606d517a", size = 79065 }, - { url = "https://files.pythonhosted.org/packages/db/d9/c495884c6e548fce18a8f40568ff120bc3a4b7b99813081c8ac0c936fa64/watchdog-6.0.0-py3-none-win_amd64.whl", hash = "sha256:cbafb470cf848d93b5d013e2ecb245d4aa1c8fd0504e863ccefa32445359d680", size = 79070 }, - { url = "https://files.pythonhosted.org/packages/33/e8/e40370e6d74ddba47f002a32919d91310d6074130fe4e17dabcafc15cbf1/watchdog-6.0.0-py3-none-win_ia64.whl", hash = "sha256:a1914259fa9e1454315171103c6a30961236f508b9b623eae470268bbcc6a22f", size = 79067 }, +sdist = { url = "https://files.pythonhosted.org/packages/db/7d/7f3d619e951c88ed75c6037b246ddcf2d322812ee8ea189be89511721d54/watchdog-6.0.0.tar.gz", hash = "sha256:9ddf7c82fda3ae8e24decda1338ede66e1c99883db93711d8fb941eaa2d8c282", size = 131220, upload-time = "2024-11-01T14:07:13.037Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/0c/56/90994d789c61df619bfc5ce2ecdabd5eeff564e1eb47512bd01b5e019569/watchdog-6.0.0-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:d1cdb490583ebd691c012b3d6dae011000fe42edb7a82ece80965b42abd61f26", size = 96390, upload-time = "2024-11-01T14:06:24.793Z" }, + { url = "https://files.pythonhosted.org/packages/55/46/9a67ee697342ddf3c6daa97e3a587a56d6c4052f881ed926a849fcf7371c/watchdog-6.0.0-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:bc64ab3bdb6a04d69d4023b29422170b74681784ffb9463ed4870cf2f3e66112", size = 88389, upload-time = "2024-11-01T14:06:27.112Z" }, + { url = "https://files.pythonhosted.org/packages/44/65/91b0985747c52064d8701e1075eb96f8c40a79df889e59a399453adfb882/watchdog-6.0.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:c897ac1b55c5a1461e16dae288d22bb2e412ba9807df8397a635d88f671d36c3", size = 89020, upload-time = "2024-11-01T14:06:29.876Z" }, + { url = "https://files.pythonhosted.org/packages/e0/24/d9be5cd6642a6aa68352ded4b4b10fb0d7889cb7f45814fb92cecd35f101/watchdog-6.0.0-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:6eb11feb5a0d452ee41f824e271ca311a09e250441c262ca2fd7ebcf2461a06c", size = 96393, upload-time = "2024-11-01T14:06:31.756Z" }, + { url = "https://files.pythonhosted.org/packages/63/7a/6013b0d8dbc56adca7fdd4f0beed381c59f6752341b12fa0886fa7afc78b/watchdog-6.0.0-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:ef810fbf7b781a5a593894e4f439773830bdecb885e6880d957d5b9382a960d2", size = 88392, upload-time = "2024-11-01T14:06:32.99Z" }, + { url = "https://files.pythonhosted.org/packages/d1/40/b75381494851556de56281e053700e46bff5b37bf4c7267e858640af5a7f/watchdog-6.0.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:afd0fe1b2270917c5e23c2a65ce50c2a4abb63daafb0d419fde368e272a76b7c", size = 89019, upload-time = "2024-11-01T14:06:34.963Z" }, + { url = "https://files.pythonhosted.org/packages/39/ea/3930d07dafc9e286ed356a679aa02d777c06e9bfd1164fa7c19c288a5483/watchdog-6.0.0-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:bdd4e6f14b8b18c334febb9c4425a878a2ac20efd1e0b231978e7b150f92a948", size = 96471, upload-time = "2024-11-01T14:06:37.745Z" }, + { url = "https://files.pythonhosted.org/packages/12/87/48361531f70b1f87928b045df868a9fd4e253d9ae087fa4cf3f7113be363/watchdog-6.0.0-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:c7c15dda13c4eb00d6fb6fc508b3c0ed88b9d5d374056b239c4ad1611125c860", size = 88449, upload-time = "2024-11-01T14:06:39.748Z" }, + { url = "https://files.pythonhosted.org/packages/5b/7e/8f322f5e600812e6f9a31b75d242631068ca8f4ef0582dd3ae6e72daecc8/watchdog-6.0.0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:6f10cb2d5902447c7d0da897e2c6768bca89174d0c6e1e30abec5421af97a5b0", size = 89054, upload-time = "2024-11-01T14:06:41.009Z" }, + { url = "https://files.pythonhosted.org/packages/68/98/b0345cabdce2041a01293ba483333582891a3bd5769b08eceb0d406056ef/watchdog-6.0.0-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:490ab2ef84f11129844c23fb14ecf30ef3d8a6abafd3754a6f75ca1e6654136c", size = 96480, upload-time = "2024-11-01T14:06:42.952Z" }, + { url = "https://files.pythonhosted.org/packages/85/83/cdf13902c626b28eedef7ec4f10745c52aad8a8fe7eb04ed7b1f111ca20e/watchdog-6.0.0-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:76aae96b00ae814b181bb25b1b98076d5fc84e8a53cd8885a318b42b6d3a5134", size = 88451, upload-time = "2024-11-01T14:06:45.084Z" }, + { url = "https://files.pythonhosted.org/packages/fe/c4/225c87bae08c8b9ec99030cd48ae9c4eca050a59bf5c2255853e18c87b50/watchdog-6.0.0-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:a175f755fc2279e0b7312c0035d52e27211a5bc39719dd529625b1930917345b", size = 89057, upload-time = "2024-11-01T14:06:47.324Z" }, + { url = "https://files.pythonhosted.org/packages/05/52/7223011bb760fce8ddc53416beb65b83a3ea6d7d13738dde75eeb2c89679/watchdog-6.0.0-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:e6f0e77c9417e7cd62af82529b10563db3423625c5fce018430b249bf977f9e8", size = 96390, upload-time = "2024-11-01T14:06:49.325Z" }, + { url = "https://files.pythonhosted.org/packages/9c/62/d2b21bc4e706d3a9d467561f487c2938cbd881c69f3808c43ac1ec242391/watchdog-6.0.0-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:90c8e78f3b94014f7aaae121e6b909674df5b46ec24d6bebc45c44c56729af2a", size = 88386, upload-time = "2024-11-01T14:06:50.536Z" }, + { url = "https://files.pythonhosted.org/packages/ea/22/1c90b20eda9f4132e4603a26296108728a8bfe9584b006bd05dd94548853/watchdog-6.0.0-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:e7631a77ffb1f7d2eefa4445ebbee491c720a5661ddf6df3498ebecae5ed375c", size = 89017, upload-time = "2024-11-01T14:06:51.717Z" }, + { url = "https://files.pythonhosted.org/packages/30/ad/d17b5d42e28a8b91f8ed01cb949da092827afb9995d4559fd448d0472763/watchdog-6.0.0-pp310-pypy310_pp73-macosx_10_15_x86_64.whl", hash = "sha256:c7ac31a19f4545dd92fc25d200694098f42c9a8e391bc00bdd362c5736dbf881", size = 87902, upload-time = "2024-11-01T14:06:53.119Z" }, + { url = "https://files.pythonhosted.org/packages/5c/ca/c3649991d140ff6ab67bfc85ab42b165ead119c9e12211e08089d763ece5/watchdog-6.0.0-pp310-pypy310_pp73-macosx_11_0_arm64.whl", hash = "sha256:9513f27a1a582d9808cf21a07dae516f0fab1cf2d7683a742c498b93eedabb11", size = 88380, upload-time = "2024-11-01T14:06:55.19Z" }, + { url = "https://files.pythonhosted.org/packages/5b/79/69f2b0e8d3f2afd462029031baafb1b75d11bb62703f0e1022b2e54d49ee/watchdog-6.0.0-pp39-pypy39_pp73-macosx_10_15_x86_64.whl", hash = "sha256:7a0e56874cfbc4b9b05c60c8a1926fedf56324bb08cfbc188969777940aef3aa", size = 87903, upload-time = "2024-11-01T14:06:57.052Z" }, + { url = "https://files.pythonhosted.org/packages/e2/2b/dc048dd71c2e5f0f7ebc04dd7912981ec45793a03c0dc462438e0591ba5d/watchdog-6.0.0-pp39-pypy39_pp73-macosx_11_0_arm64.whl", hash = "sha256:e6439e374fc012255b4ec786ae3c4bc838cd7309a540e5fe0952d03687d8804e", size = 88381, upload-time = "2024-11-01T14:06:58.193Z" }, + { url = "https://files.pythonhosted.org/packages/a9/c7/ca4bf3e518cb57a686b2feb4f55a1892fd9a3dd13f470fca14e00f80ea36/watchdog-6.0.0-py3-none-manylinux2014_aarch64.whl", hash = "sha256:7607498efa04a3542ae3e05e64da8202e58159aa1fa4acddf7678d34a35d4f13", size = 79079, upload-time = "2024-11-01T14:06:59.472Z" }, + { url = "https://files.pythonhosted.org/packages/5c/51/d46dc9332f9a647593c947b4b88e2381c8dfc0942d15b8edc0310fa4abb1/watchdog-6.0.0-py3-none-manylinux2014_armv7l.whl", hash = "sha256:9041567ee8953024c83343288ccc458fd0a2d811d6a0fd68c4c22609e3490379", size = 79078, upload-time = "2024-11-01T14:07:01.431Z" }, + { url = "https://files.pythonhosted.org/packages/d4/57/04edbf5e169cd318d5f07b4766fee38e825d64b6913ca157ca32d1a42267/watchdog-6.0.0-py3-none-manylinux2014_i686.whl", hash = "sha256:82dc3e3143c7e38ec49d61af98d6558288c415eac98486a5c581726e0737c00e", size = 79076, upload-time = "2024-11-01T14:07:02.568Z" }, + { url = "https://files.pythonhosted.org/packages/ab/cc/da8422b300e13cb187d2203f20b9253e91058aaf7db65b74142013478e66/watchdog-6.0.0-py3-none-manylinux2014_ppc64.whl", hash = "sha256:212ac9b8bf1161dc91bd09c048048a95ca3a4c4f5e5d4a7d1b1a7d5752a7f96f", size = 79077, upload-time = "2024-11-01T14:07:03.893Z" }, + { url = "https://files.pythonhosted.org/packages/2c/3b/b8964e04ae1a025c44ba8e4291f86e97fac443bca31de8bd98d3263d2fcf/watchdog-6.0.0-py3-none-manylinux2014_ppc64le.whl", hash = "sha256:e3df4cbb9a450c6d49318f6d14f4bbc80d763fa587ba46ec86f99f9e6876bb26", size = 79078, upload-time = "2024-11-01T14:07:05.189Z" }, + { url = "https://files.pythonhosted.org/packages/62/ae/a696eb424bedff7407801c257d4b1afda455fe40821a2be430e173660e81/watchdog-6.0.0-py3-none-manylinux2014_s390x.whl", hash = "sha256:2cce7cfc2008eb51feb6aab51251fd79b85d9894e98ba847408f662b3395ca3c", size = 79077, upload-time = "2024-11-01T14:07:06.376Z" }, + { url = "https://files.pythonhosted.org/packages/b5/e8/dbf020b4d98251a9860752a094d09a65e1b436ad181faf929983f697048f/watchdog-6.0.0-py3-none-manylinux2014_x86_64.whl", hash = "sha256:20ffe5b202af80ab4266dcd3e91aae72bf2da48c0d33bdb15c66658e685e94e2", size = 79078, upload-time = "2024-11-01T14:07:07.547Z" }, + { url = "https://files.pythonhosted.org/packages/07/f6/d0e5b343768e8bcb4cda79f0f2f55051bf26177ecd5651f84c07567461cf/watchdog-6.0.0-py3-none-win32.whl", hash = "sha256:07df1fdd701c5d4c8e55ef6cf55b8f0120fe1aef7ef39a1c6fc6bc2e606d517a", size = 79065, upload-time = "2024-11-01T14:07:09.525Z" }, + { url = "https://files.pythonhosted.org/packages/db/d9/c495884c6e548fce18a8f40568ff120bc3a4b7b99813081c8ac0c936fa64/watchdog-6.0.0-py3-none-win_amd64.whl", hash = "sha256:cbafb470cf848d93b5d013e2ecb245d4aa1c8fd0504e863ccefa32445359d680", size = 79070, upload-time = "2024-11-01T14:07:10.686Z" }, + { url = "https://files.pythonhosted.org/packages/33/e8/e40370e6d74ddba47f002a32919d91310d6074130fe4e17dabcafc15cbf1/watchdog-6.0.0-py3-none-win_ia64.whl", hash = "sha256:a1914259fa9e1454315171103c6a30961236f508b9b623eae470268bbcc6a22f", size = 79067, upload-time = "2024-11-01T14:07:11.845Z" }, ] [[package]] name = "wcwidth" version = "0.2.13" source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/6c/63/53559446a878410fc5a5974feb13d31d78d752eb18aeba59c7fef1af7598/wcwidth-0.2.13.tar.gz", hash = "sha256:72ea0c06399eb286d978fdedb6923a9eb47e1c486ce63e9b4e64fc18303972b5", size = 101301 } +sdist = { url = "https://files.pythonhosted.org/packages/6c/63/53559446a878410fc5a5974feb13d31d78d752eb18aeba59c7fef1af7598/wcwidth-0.2.13.tar.gz", hash = "sha256:72ea0c06399eb286d978fdedb6923a9eb47e1c486ce63e9b4e64fc18303972b5", size = 101301, upload-time = "2024-01-06T02:10:57.829Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/fd/84/fd2ba7aafacbad3c4201d395674fc6348826569da3c0937e75505ead3528/wcwidth-0.2.13-py2.py3-none-any.whl", hash = "sha256:3da69048e4540d84af32131829ff948f1e022c1c6bdb8d6102117aac784f6859", size = 34166 }, + { url = "https://files.pythonhosted.org/packages/fd/84/fd2ba7aafacbad3c4201d395674fc6348826569da3c0937e75505ead3528/wcwidth-0.2.13-py2.py3-none-any.whl", hash = "sha256:3da69048e4540d84af32131829ff948f1e022c1c6bdb8d6102117aac784f6859", size = 34166, upload-time = "2024-01-06T02:10:55.763Z" }, ] [[package]] @@ -5312,9 +5312,9 @@ resolution-markers = [ "python_full_version < '3.9' and platform_machine == 'aarch64' and sys_platform == 'linux'", "(python_full_version < '3.9' and platform_machine != 'arm64' and sys_platform == 'darwin') or (python_full_version < '3.9' and platform_machine != 'aarch64' and sys_platform == 'linux') or (python_full_version < '3.9' and sys_platform != 'darwin' and sys_platform != 'linux')", ] -sdist = { url = "https://files.pythonhosted.org/packages/fe/f8/53150a5bda7e042840b14f0236e1c0a4819d403658e3d453237983addfac/webcolors-24.8.0.tar.gz", hash = "sha256:08b07af286a01bcd30d583a7acadf629583d1f79bfef27dd2c2c5c263817277d", size = 42392 } +sdist = { url = "https://files.pythonhosted.org/packages/fe/f8/53150a5bda7e042840b14f0236e1c0a4819d403658e3d453237983addfac/webcolors-24.8.0.tar.gz", hash = "sha256:08b07af286a01bcd30d583a7acadf629583d1f79bfef27dd2c2c5c263817277d", size = 42392, upload-time = "2024-08-10T08:52:31.226Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/f0/33/12020ba99beaff91682b28dc0bbf0345bbc3244a4afbae7644e4fa348f23/webcolors-24.8.0-py3-none-any.whl", hash = "sha256:fc4c3b59358ada164552084a8ebee637c221e4059267d0f8325b3b560f6c7f0a", size = 15027 }, + { url = "https://files.pythonhosted.org/packages/f0/33/12020ba99beaff91682b28dc0bbf0345bbc3244a4afbae7644e4fa348f23/webcolors-24.8.0-py3-none-any.whl", hash = "sha256:fc4c3b59358ada164552084a8ebee637c221e4059267d0f8325b3b560f6c7f0a", size = 15027, upload-time = "2024-08-10T08:52:28.707Z" }, ] [[package]] @@ -5335,45 +5335,45 @@ resolution-markers = [ "python_full_version == '3.9.*' and platform_machine == 'aarch64' and sys_platform == 'linux'", "(python_full_version == '3.9.*' and platform_machine != 'arm64' and sys_platform == 'darwin') or (python_full_version == '3.9.*' and platform_machine != 'aarch64' and sys_platform == 'linux') or (python_full_version == '3.9.*' and sys_platform != 'darwin' and sys_platform != 'linux')", ] -sdist = { url = "https://files.pythonhosted.org/packages/7b/29/061ec845fb58521848f3739e466efd8250b4b7b98c1b6c5bf4d40b419b7e/webcolors-24.11.1.tar.gz", hash = "sha256:ecb3d768f32202af770477b8b65f318fa4f566c22948673a977b00d589dd80f6", size = 45064 } +sdist = { url = "https://files.pythonhosted.org/packages/7b/29/061ec845fb58521848f3739e466efd8250b4b7b98c1b6c5bf4d40b419b7e/webcolors-24.11.1.tar.gz", hash = "sha256:ecb3d768f32202af770477b8b65f318fa4f566c22948673a977b00d589dd80f6", size = 45064, upload-time = "2024-11-11T07:43:24.224Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/60/e8/c0e05e4684d13459f93d312077a9a2efbe04d59c393bc2b8802248c908d4/webcolors-24.11.1-py3-none-any.whl", hash = "sha256:515291393b4cdf0eb19c155749a096f779f7d909f7cceea072791cb9095b92e9", size = 14934 }, + { url = "https://files.pythonhosted.org/packages/60/e8/c0e05e4684d13459f93d312077a9a2efbe04d59c393bc2b8802248c908d4/webcolors-24.11.1-py3-none-any.whl", hash = "sha256:515291393b4cdf0eb19c155749a096f779f7d909f7cceea072791cb9095b92e9", size = 14934, upload-time = "2024-11-11T07:43:22.529Z" }, ] [[package]] name = "webencodings" version = "0.5.1" source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/0b/02/ae6ceac1baeda530866a85075641cec12989bd8d31af6d5ab4a3e8c92f47/webencodings-0.5.1.tar.gz", hash = "sha256:b36a1c245f2d304965eb4e0a82848379241dc04b865afcc4aab16748587e1923", size = 9721 } +sdist = { url = "https://files.pythonhosted.org/packages/0b/02/ae6ceac1baeda530866a85075641cec12989bd8d31af6d5ab4a3e8c92f47/webencodings-0.5.1.tar.gz", hash = "sha256:b36a1c245f2d304965eb4e0a82848379241dc04b865afcc4aab16748587e1923", size = 9721, upload-time = "2017-04-05T20:21:34.189Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/f4/24/2a3e3df732393fed8b3ebf2ec078f05546de641fe1b667ee316ec1dcf3b7/webencodings-0.5.1-py2.py3-none-any.whl", hash = "sha256:a0af1213f3c2226497a97e2b3aa01a7e4bee4f403f95be16fc9acd2947514a78", size = 11774 }, + { url = "https://files.pythonhosted.org/packages/f4/24/2a3e3df732393fed8b3ebf2ec078f05546de641fe1b667ee316ec1dcf3b7/webencodings-0.5.1-py2.py3-none-any.whl", hash = "sha256:a0af1213f3c2226497a97e2b3aa01a7e4bee4f403f95be16fc9acd2947514a78", size = 11774, upload-time = "2017-04-05T20:21:32.581Z" }, ] [[package]] name = "websocket-client" version = "1.8.0" source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/e6/30/fba0d96b4b5fbf5948ed3f4681f7da2f9f64512e1d303f94b4cc174c24a5/websocket_client-1.8.0.tar.gz", hash = "sha256:3239df9f44da632f96012472805d40a23281a991027ce11d2f45a6f24ac4c3da", size = 54648 } +sdist = { url = "https://files.pythonhosted.org/packages/e6/30/fba0d96b4b5fbf5948ed3f4681f7da2f9f64512e1d303f94b4cc174c24a5/websocket_client-1.8.0.tar.gz", hash = "sha256:3239df9f44da632f96012472805d40a23281a991027ce11d2f45a6f24ac4c3da", size = 54648, upload-time = "2024-04-23T22:16:16.976Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/5a/84/44687a29792a70e111c5c477230a72c4b957d88d16141199bf9acb7537a3/websocket_client-1.8.0-py3-none-any.whl", hash = "sha256:17b44cc997f5c498e809b22cdf2d9c7a9e71c02c8cc2b6c56e7c2d1239bfa526", size = 58826 }, + { url = "https://files.pythonhosted.org/packages/5a/84/44687a29792a70e111c5c477230a72c4b957d88d16141199bf9acb7537a3/websocket_client-1.8.0-py3-none-any.whl", hash = "sha256:17b44cc997f5c498e809b22cdf2d9c7a9e71c02c8cc2b6c56e7c2d1239bfa526", size = 58826, upload-time = "2024-04-23T22:16:14.422Z" }, ] [[package]] name = "wheel" version = "0.45.1" source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/8a/98/2d9906746cdc6a6ef809ae6338005b3f21bb568bea3165cfc6a243fdc25c/wheel-0.45.1.tar.gz", hash = "sha256:661e1abd9198507b1409a20c02106d9670b2576e916d58f520316666abca6729", size = 107545 } +sdist = { url = "https://files.pythonhosted.org/packages/8a/98/2d9906746cdc6a6ef809ae6338005b3f21bb568bea3165cfc6a243fdc25c/wheel-0.45.1.tar.gz", hash = "sha256:661e1abd9198507b1409a20c02106d9670b2576e916d58f520316666abca6729", size = 107545, upload-time = "2024-11-23T00:18:23.513Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/0b/2c/87f3254fd8ffd29e4c02732eee68a83a1d3c346ae39bc6822dcbcb697f2b/wheel-0.45.1-py3-none-any.whl", hash = "sha256:708e7481cc80179af0e556bbf0cc00b8444c7321e2700b8d8580231d13017248", size = 72494 }, + { url = "https://files.pythonhosted.org/packages/0b/2c/87f3254fd8ffd29e4c02732eee68a83a1d3c346ae39bc6822dcbcb697f2b/wheel-0.45.1-py3-none-any.whl", hash = "sha256:708e7481cc80179af0e556bbf0cc00b8444c7321e2700b8d8580231d13017248", size = 72494, upload-time = "2024-11-23T00:18:21.207Z" }, ] [[package]] name = "widgetsnbextension" version = "4.0.13" source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/56/fc/238c424fd7f4ebb25f8b1da9a934a3ad7c848286732ae04263661eb0fc03/widgetsnbextension-4.0.13.tar.gz", hash = "sha256:ffcb67bc9febd10234a362795f643927f4e0c05d9342c727b65d2384f8feacb6", size = 1164730 } +sdist = { url = "https://files.pythonhosted.org/packages/56/fc/238c424fd7f4ebb25f8b1da9a934a3ad7c848286732ae04263661eb0fc03/widgetsnbextension-4.0.13.tar.gz", hash = "sha256:ffcb67bc9febd10234a362795f643927f4e0c05d9342c727b65d2384f8feacb6", size = 1164730, upload-time = "2024-08-22T12:18:22.534Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/21/02/88b65cc394961a60c43c70517066b6b679738caf78506a5da7b88ffcb643/widgetsnbextension-4.0.13-py3-none-any.whl", hash = "sha256:74b2692e8500525cc38c2b877236ba51d34541e6385eeed5aec15a70f88a6c71", size = 2335872 }, + { url = "https://files.pythonhosted.org/packages/21/02/88b65cc394961a60c43c70517066b6b679738caf78506a5da7b88ffcb643/widgetsnbextension-4.0.13-py3-none-any.whl", hash = "sha256:74b2692e8500525cc38c2b877236ba51d34541e6385eeed5aec15a70f88a6c71", size = 2335872, upload-time = "2024-08-22T12:18:19.491Z" }, ] [[package]] @@ -5385,9 +5385,9 @@ resolution-markers = [ "python_full_version < '3.9' and platform_machine == 'aarch64' and sys_platform == 'linux'", "(python_full_version < '3.9' and platform_machine != 'arm64' and sys_platform == 'darwin') or (python_full_version < '3.9' and platform_machine != 'aarch64' and sys_platform == 'linux') or (python_full_version < '3.9' and sys_platform != 'darwin' and sys_platform != 'linux')", ] -sdist = { url = "https://files.pythonhosted.org/packages/54/bf/5c0000c44ebc80123ecbdddba1f5dcd94a5ada602a9c225d84b5aaa55e86/zipp-3.20.2.tar.gz", hash = "sha256:bc9eb26f4506fda01b81bcde0ca78103b6e62f991b381fec825435c836edbc29", size = 24199 } +sdist = { url = "https://files.pythonhosted.org/packages/54/bf/5c0000c44ebc80123ecbdddba1f5dcd94a5ada602a9c225d84b5aaa55e86/zipp-3.20.2.tar.gz", hash = "sha256:bc9eb26f4506fda01b81bcde0ca78103b6e62f991b381fec825435c836edbc29", size = 24199, upload-time = "2024-09-13T13:44:16.101Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/62/8b/5ba542fa83c90e09eac972fc9baca7a88e7e7ca4b221a89251954019308b/zipp-3.20.2-py3-none-any.whl", hash = "sha256:a817ac80d6cf4b23bf7f2828b7cabf326f15a001bea8b1f9b49631780ba28350", size = 9200 }, + { url = "https://files.pythonhosted.org/packages/62/8b/5ba542fa83c90e09eac972fc9baca7a88e7e7ca4b221a89251954019308b/zipp-3.20.2-py3-none-any.whl", hash = "sha256:a817ac80d6cf4b23bf7f2828b7cabf326f15a001bea8b1f9b49631780ba28350", size = 9200, upload-time = "2024-09-13T13:44:14.38Z" }, ] [[package]] @@ -5408,7 +5408,7 @@ resolution-markers = [ "python_full_version == '3.9.*' and platform_machine == 'aarch64' and sys_platform == 'linux'", "(python_full_version == '3.9.*' and platform_machine != 'arm64' and sys_platform == 'darwin') or (python_full_version == '3.9.*' and platform_machine != 'aarch64' and sys_platform == 'linux') or (python_full_version == '3.9.*' and sys_platform != 'darwin' and sys_platform != 'linux')", ] -sdist = { url = "https://files.pythonhosted.org/packages/3f/50/bad581df71744867e9468ebd0bcd6505de3b275e06f202c2cb016e3ff56f/zipp-3.21.0.tar.gz", hash = "sha256:2c9958f6430a2040341a52eb608ed6dd93ef4392e02ffe219417c1b28b5dd1f4", size = 24545 } +sdist = { url = "https://files.pythonhosted.org/packages/3f/50/bad581df71744867e9468ebd0bcd6505de3b275e06f202c2cb016e3ff56f/zipp-3.21.0.tar.gz", hash = "sha256:2c9958f6430a2040341a52eb608ed6dd93ef4392e02ffe219417c1b28b5dd1f4", size = 24545, upload-time = "2024-11-10T15:05:20.202Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/b7/1a/7e4798e9339adc931158c9d69ecc34f5e6791489d469f5e50ec15e35f458/zipp-3.21.0-py3-none-any.whl", hash = "sha256:ac1bbe05fd2991f160ebce24ffbac5f6d11d83dc90891255885223d42b3cd931", size = 9630 }, + { url = "https://files.pythonhosted.org/packages/b7/1a/7e4798e9339adc931158c9d69ecc34f5e6791489d469f5e50ec15e35f458/zipp-3.21.0-py3-none-any.whl", hash = "sha256:ac1bbe05fd2991f160ebce24ffbac5f6d11d83dc90891255885223d42b3cd931", size = 9630, upload-time = "2024-11-10T15:05:19.275Z" }, ] From e17e7d712f35ffd7e99fcd6c98abaf5dc9833d35 Mon Sep 17 00:00:00 2001 From: Onuralp SEZER Date: Thu, 10 Jul 2025 23:30:33 +0300 Subject: [PATCH 286/420] =?UTF-8?q?fix:=20=F0=9F=90=9E=20remove=20class=5F?= =?UTF-8?q?name=20from=20from=5Fmoondream=20return=20in=20Detections=20cla?= =?UTF-8?q?ss?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- supervision/detection/core.py | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/supervision/detection/core.py b/supervision/detection/core.py index 8094130e33..d429e662fa 100644 --- a/supervision/detection/core.py +++ b/supervision/detection/core.py @@ -1041,9 +1041,8 @@ def from_vlm( return cls(xyxy=xyxy, data=data) if vlm == VLM.MOONDREAM: - xyxy, class_id, class_name = from_moondream(result, **kwargs) - data = {CLASS_NAME_DATA_FIELD: class_name} - return cls(xyxy=xyxy, class_id=class_id, data=data) + xyxy, class_id = from_moondream(result, **kwargs) + return cls(xyxy=xyxy, class_id=class_id) return cls.empty() From 7076b4da0c84fc745b98c0562fd65bba38ec243a Mon Sep 17 00:00:00 2001 From: Onuralp SEZER Date: Thu, 10 Jul 2025 23:54:38 +0300 Subject: [PATCH 287/420] =?UTF-8?q?docs:=20=F0=9F=93=9D=20add=20examples?= =?UTF-8?q?=20for=20using=20from=5Fvlm=20with=20Moondream=20results=20in?= =?UTF-8?q?=20Detections=20class?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Onuralp SEZER --- supervision/detection/core.py | 29 +++++++++++++++++++++++++++++ 1 file changed, 29 insertions(+) diff --git a/supervision/detection/core.py b/supervision/detection/core.py index d429e662fa..8af25fa3a9 100644 --- a/supervision/detection/core.py +++ b/supervision/detection/core.py @@ -1009,6 +1009,35 @@ def from_vlm( detections.data # {'class_name': array(['cat', 'dog'], dtype=' Date: Thu, 10 Jul 2025 23:57:27 +0300 Subject: [PATCH 288/420] =?UTF-8?q?fix:=20=F0=9F=90=9E=20update=20Moondrea?= =?UTF-8?q?m=20result=20format=20to=20remove=20label=20requirement=20in=20?= =?UTF-8?q?Detections=20class?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- supervision/detection/core.py | 6 ++++-- supervision/detection/vlm.py | 4 ++-- 2 files changed, 6 insertions(+), 4 deletions(-) diff --git a/supervision/detection/core.py b/supervision/detection/core.py index 8af25fa3a9..99f9beed37 100644 --- a/supervision/detection/core.py +++ b/supervision/detection/core.py @@ -1015,14 +1015,16 @@ def from_vlm( import supervision as sv moondream_result = \"\"\" - {'objects': [{'x_min': 0.5704046934843063, + { + 'objects': [{'x_min': 0.5704046934843063, 'y_min': 0.20069346576929092, 'x_max': 0.7049859315156937, 'y_max': 0.3012596592307091}, {'x_min': 0.6210969910025597, 'y_min': 0.3300672620534897, 'x_max': 0.8417936339974403, - 'y_max': 0.4961046129465103}]}}] + 'y_max': 0.4961046129465103}] + } \"\"\" detections = sv.Detections.from_vlm( diff --git a/supervision/detection/vlm.py b/supervision/detection/vlm.py index 26deb02015..ff05030bd8 100644 --- a/supervision/detection/vlm.py +++ b/supervision/detection/vlm.py @@ -430,8 +430,8 @@ def from_moondream( For Example: { "objects": [ - {"x_min": 0.1, "y_min": 0.2, "x_max": 0.3, "y_max": 0.4, "label": "cat"}, - {"x_min": 0.5, "y_min": 0.6, "x_max": 0.7, "y_max": 0.8, "label": "dog"} + {"x_min": 0.1, "y_min": 0.2, "x_max": 0.3, "y_max": 0.4}, + {"x_min": 0.5, "y_min": 0.6, "x_max": 0.7, "y_max": 0.8} ] } From 58aacc788d2d285c622cf738ef71cd16ca17306f Mon Sep 17 00:00:00 2001 From: Onuralp SEZER Date: Fri, 11 Jul 2025 00:03:04 +0300 Subject: [PATCH 289/420] =?UTF-8?q?fix:=20=F0=9F=90=9E=20update=20Moondrea?= =?UTF-8?q?m=20result=20format=20fix=20and=20doc=20example=20code=20block?= =?UTF-8?q?=20fixed?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Onuralp SEZER --- supervision/detection/core.py | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/supervision/detection/core.py b/supervision/detection/core.py index 99f9beed37..f4b0cf3e5f 100644 --- a/supervision/detection/core.py +++ b/supervision/detection/core.py @@ -1014,8 +1014,7 @@ def from_vlm( ```python import supervision as sv - moondream_result = \"\"\" - { + moondream_result = { 'objects': [{'x_min': 0.5704046934843063, 'y_min': 0.20069346576929092, 'x_max': 0.7049859315156937, @@ -1025,7 +1024,7 @@ def from_vlm( 'x_max': 0.8417936339974403, 'y_max': 0.4961046129465103}] } - \"\"\" + detections = sv.Detections.from_vlm( sv.VLM.MOONDREAM, @@ -1039,6 +1038,7 @@ def from_vlm( detections.class_id # array([0, 1]) + ``` """ vlm = validate_vlm_parameters(vlm, result, kwargs) From 5206b6cbbbf499900dbe031aad93261692c80c37 Mon Sep 17 00:00:00 2001 From: Onuralp SEZER Date: Fri, 11 Jul 2025 01:11:46 +0200 Subject: [PATCH 290/420] =?UTF-8?q?docs:=20=F0=9F=93=9D=20update=20sv=20an?= =?UTF-8?q?d=20ultralytics=20packages=20and=20remove=20old=20BoundingBox?= =?UTF-8?q?=20annotator=20from=20cookbook=20for=20count=20objects=20notebo?= =?UTF-8?q?ok?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Onuralp SEZER --- .../count-objects-crossing-the-line.ipynb | 38 ++++++++++++------- 1 file changed, 24 insertions(+), 14 deletions(-) diff --git a/docs/notebooks/count-objects-crossing-the-line.ipynb b/docs/notebooks/count-objects-crossing-the-line.ipynb index 043bb17a08..aa2a2df057 100644 --- a/docs/notebooks/count-objects-crossing-the-line.ipynb +++ b/docs/notebooks/count-objects-crossing-the-line.ipynb @@ -130,7 +130,7 @@ }, "outputs": [], "source": [ - "!pip install -q \"ultralytics<=8.3.40\" \"supervision==0.18.0\"" + "!pip install -q ultralytics supervision" ] }, { @@ -329,7 +329,7 @@ }, { "cell_type": "code", - "execution_count": 9, + "execution_count": 7, "metadata": { "colab": { "base_uri": "https://localhost:8080/" @@ -342,19 +342,19 @@ "name": "stdout", "output_type": "stream", "text": [ - "Downloading https://github.com/ultralytics/assets/releases/download/v8.1.0/yolov8x.pt to 'yolov8x.pt'...\n" + "Downloading https://github.com/ultralytics/assets/releases/download/v8.3.0/yolo11x.pt to 'yolo11x.pt'...\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ - "100%|\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588| 131M/131M [00:00<00:00, 241MB/s]\n" + "100%|\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588| 109M/109M [00:10<00:00, 11.5MB/s] \n" ] } ], "source": [ - "model = YOLO(\"yolov8x.pt\")\n", + "model = YOLO(\"yolo11x.pt\")\n", "\n", "results = model(frame, verbose=False)[0]\n", "detections = sv.Detections.from_ultralytics(results)" @@ -384,7 +384,7 @@ "outputs": [ { "data": { - "image/png": "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", + "image/png": "iVBORw0KGgoAAAANSUhEUgAAA7YAAAIfCAYAAABEnkAKAAAAOnRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjEwLjAsIGh0dHBzOi8vbWF0cGxvdGxpYi5vcmcvlHJYcgAAAAlwSFlzAAAPYQAAD2EBqD+naQABAABJREFUeJzs/c2OJEuyJoh9ombuEZl5qupW9+2+zR6CIDDAEOBmZsHH4GPwLbjgS/A1+AoEAYLccMVZEwQH5ACc7nur6vxkZri7qQoXKj+fqHlm5SEXxAXCCnUywsPcTFVUVOSTXxVVVbxf79f79X69X+/X+/V+vV/v1/v1fr1f79e/0qv9/3sA79f79X69X+/X+/V+vV/v1/v1fr1f79f79f/L9W7Yvl/v1/v1fr1f79f79X69X+/X+/V+vV//qq93w/b9er/er/fr/Xq/3q/36/16v96v9+v9+ld9vRu279f79X69X+/X+/V+vV/v1/v1fr1f79e/6uvdsH2/3q/36/16v96v9+v9er/er/fr/Xq//lVf74bt+/V+vV/v1/v1fr1f79f79X69X+/X+/Wv+no3bN+v9+v9er/er/fr/Xq/3q/36/16v96vf9XXu2H7fr1f79f79X69X+/X+/V+vV/v1/v1fv2rvt4N2/fr/Xq/3q/36/16v96v9+v9er/er/frX/W1/+iN/5v/7f8OAkClfi5tgwBoEKgqRARNBCKAqt3UBAOAyPyyiMbPgEBE4l4RgWDMz/x3+9n/zoOIZwIQhT1r3j0Ecxz+PlWINntWPHF+GUDbNmDYvc2eszUIBM0+92fn+HOMgGIMRWsCFfXZEbEq7Ro2qCoUAmkNqp2IhjneJ9+zl871gGKoQuxNIg2qA5ABaLMv65yt+GPtuQq01gCnrwy0Pp8xoLGe/l3BpKEORZPpExlQSBMo/PNJizHG/E5rc05OPyiG8YsAGE2AYeOyH0Q2ovGAjLmOaHMeqoBgg6pAMdBANEOzteXPaN7SKm8u963rpZN82BRQEQyh7xndlXnJqC0ikDlRqOZn5V32NX9Hvl2N4Jvd2Y2RYyWDn8v8fAyikwpKfKo6vxtfafYc3w2atCt8InNvl3naWjeJucH2fL0k7i9kllbvGLSlC1GY9eeaqro8GPacOYa2zEIUGI3oUpconypAGzD5NHkWo5UxMoVlMp+t0FyvDrW9lzJQjP7BjRqrM/eH1DFMWuuUYbB1F6e50Pz9+ZJ0ZVYQ4Y0ekxYfQzMO0263n4WLy4Z4tz3T5zTXaM4cU3rRZhGf5JRDtPASbDC/P+y5bRBPm7wedmdTYBuIv48UF7GPReWpbmLOCdrHXmz+ZaOHlvUbRDvf5TlvLTtVff21lTcK/awgesLJ6nrvCY1EIDwhMfmoNFFjgUk3jXHMfZ/LL+u7i5SkNStDYf2oUB2pa4k3xFnO7h0j97Coxr4cvD4q6xtoaMRLxmtKMil+dHxAdGt2/4g3tlgpl7HfYBEg5jH3mKpOGVD2h8sm05+ouCV5Yb6s2d/G8h7eg8FzoD1NGizVTcVBc+/RsEQKH1WMlPpQg3eK0ICazApRTfqeV2ay38jXFhWklZcggHaIc4HK82HSWHzvkdqKz+M7ylhsmG4zHBYY0Ofp9JSFoDReRRm7qK/k3EjaR2CHiVcB1RHjSDq3opKbAtIM5+hAR5+vbwIdVWdoyNkcWt2SRYH6qsUdegLmKN9yzFf2zPoGInrItwXv6oI5CjVJLPljXca4TpzXCJI7P+R7KmuqEIZVVDmsmvwXe23YG5uJEdNdw+iEnnNh3VUYI/XtM4lRWEuSxoW1af0WSBP3NmmBk5+tMdtFjv+gzved9L6Gvh7xDMIvji1iDREDV5INMQdfi2WpVcT2kZgMIMnmwNzWxOfaFLYiOcPB7xtz7Js9bRCyUk3cOGR+83/9v/pfntbj2fXDhq2rQCgDYolN0IqG0yB4s8+GTiAqxmi+Ef13kdzkI2S/L4SznyupeV9rNhbVeAaITRkSGgJ3uDTnE4xmBpUOM9KGPa+hDcTvU7kTPViA+kKJCUNFGH9wIRKAYNKyGR2GDIgOQEcaoA7AYkb2Vk1ANOkkJIjdaNMJioSescq9MMaRQEyFFEoCvtaa/a7YIBii0DbQBNgV6MbJDhgbsa+/W5sGGGrEuC02DNBUQgDnkBvEgMbAVBRzyVJApW6aQk/SUiQFqMR7IKU0AYiaESGFL4FuvDGw7HIkuJpCjBRcERoxi8RFvsT+lQD2+QTl5+lGP5sRqTDDwXFg0QbT4eDAS8gojSWffx+DAGuA/KL95tyNhs6gQgonDK2CVAsOLPwXxgWB/B+7bP8PhbY0LRgsJfjKz5pMR9P8tcJMw2hTDaiEM0gUxfiMq0nZGw6mgk6S8gjuXNMKzPy5qZTdMVDpKEMhMiovFN5K2gUNCCScPA1huKHIy/yzgyzbZ2NR97b8bSgEHYPsj/V9DMFdyfOaQGxPwC2SfIaoYOP94jIpgL2W94gNjJVy4lgDlmQo28oE6UPpmpwRTEcWZDpkc8O2MEIUZKC4PAXJGudue183Q6H5FlJz6rFQCCNTsVrp0+HRjHcSjKjpGzc+HZyHLmD953ov1iMJTJo7gXOo+LNTLkCpr4LLhxifQAUYKqfEMDeMaHbkNMsXiI9H0hHr/NZcfknylkNakSo/lf6jhdXqnHJvaDyjAvvcbAWY29W0vCwca74I7JNfDYQAgEqYyNnA1rfwva8hGSSu92zEPlTCKMQ3JjeFzSMliO9rL5jO5dzkWETPHGdDopXg8Yn58v3Jn+UaCmkwZ5LQOq0GB8JJjsUXI2xAaK6zIPVl3Mx0MMzlWGCO3R2c1daY/KHB7xF0CX3g7OESxnGe0c33gT9XHIss09QnPxbd6mMA6bMnyopkov+1rfu4yMxVgX/jvuVaDbcV38gYUxpK3kAwet5DTsVCfB1IkxyxRnAnr7YIdMz5TQzne2CYSz7kiTTau8lrlSy5nk/EXv5svED+zuI0cPmkynIxn9N1hB0wqrlHppQ7LS3Y589TIbndw04QwxfrUrFjQvUs+7CseuB8+ovSvmGjN/3ZVddC3aFJmIZp6n55ETwMy7rIrNQAcdWPXb/LsGVhuRLCmb61ljoaGalt0k5DLd8V9/6KRdWkclEIJynfc6AnQs8R84i19V7E4hegTcIpwDMqk8772kmQlCiu/z4AaXtGYaQKBY9IrhvWn1Gj1yTTLIIJSTCnzlVQSBvE0Cl03Tgd4XWfNNYxku6kUCRkUG4G+4HUZnqmHW20NapI35cnTOm04khiO3nJGVQodJjwYmPNjN8AHD9wpVGcm1ZI8Ma/BN5oJ37zuQyE0pumsR448ZWGUcpOC2FjHcV6+MYeJ26KMab2F7gi1VAy6a18LuhaADiidKyFnNY5h8JcuziilZDP+sonc2Kg53s4DDMaQ9mv5Jl0e1+Dn3m0Z26JoOYTrSYQ6BgZKTwNPQ0vVc9kSMUWb14MBhGJfRjzUDEv5XNxXtb66fzN0OHMGEJHqfrz+yyjdIynbxYQoi7vkwRoDuSfqSMnAYHEArYVuUYEPPzdbECWNVhZcHnxlkI0cW2IgFy3ystuMLeYjxhY4sc3igjkN824FeeZb8gMkicS+/WJ/BuBUgvNQjepgyBZeDG/w9gqwF0dCP2c83AZkJEO14UpjvieCv7Y4I8ZMfxdxYWRwMBoyEGn/hyRrhswxI6c/6YEvp+vQt4aGOPkqiR5zHxsv/q6iSTN+FrHY45czwxg9pw/DBbfdg+PqdFiUpYNv8S1gvg7U9dhXY5ChBBCeUNdMkaDuUbIyBFOOlbDxGBQLOLjqY6gGKe941tRJDzTP0UGkotDNedkg47sg5V+ClLChC8pSn+mmRZe8chuF6If0absifKj1n3NkCT9WOvXgho512c3nBXvs2hs0U3rGzhS+AQv6/JaX4sfAmc8UTjrEZag9SrOYp59vO5bL3TD8dv69emY6NmUfhT30G5ZX/dkBDzVKq9c/0dWzCJThB3UJq84CJa6k511+d0yKdrrp/FbxkGOZSUG4036zPEs4d2QQ9ATPnyKvWO8PqZnzs9vXz9u2EqH6h5RnfBD2cwGAbNhxilzWaTwEV6MDRWElQTOS1pxwjMXGjFj20hqnuDpGdMtbxZTihGVsXFJRF8kwbJFYdcoC0QssGApuLy5bZOFt8HTxr5lzBmzDQx4yl71iuf8hwHApIWl+Lm3VVukH+u0Equg4rQd1YmPLMqrrlTgUd/pKXF/gA6BiCmHbYLDMYZFiWHPS9AubmAanaUJhg40bRA0dIuOlnUXQPpI7+cCsmf64bDoriuVlp58kgmcPjiBlxaHhd0Va5HRl6RXAFKnTKTEmtIW4+UShTgriqJQURVErHWsTTocpgCwLcxR6WRDA/XO/34vqoov+NfXWHL+lB4dqXdlRimUzmjGVsl4KO+XhRYVhPv4cx45b5Aui/uGf7DlO4sAdCHOgMMdScszR3WQQARNFEMpqyLWABQlkni3R9yKcSCVJEKA3MGaNqnk48gRW9++LiqTwxWxt6UoqnQkDZMFgaSIx3yNOKQtTBSmt39P8hMGhB7xntOyNHDVLHdg8BJbLkITJ76o64+QeSoj7Tc0Dm9Y5k4CN1bRERWxdw+PAMmMCw/fb7ZgGSTOlMNVb+pwQ3oUoyJAkTFA+5Yxo+TjTid7pP+ujlpYqvGqNTTWNp24KX8ouktGUnX71PIdvweu61KDBkUEVk4TzhVPJ+X0vfmgLhPENB987Cmhd9F7C3izqKtnocxPFjeMf9PLP1IOeLbSXNCtvoTWa0bKpQC408UozdNaycAYGIFVQjK64wzsPCM758njU4QJGQaaulaSZpyiCfX0Y8m0QAd9Os7QlPeW5J5Jjp6adBhtVATN6BmiV3LPpeYMKWbPYtqpZQ9opk8HXUzXkMEuSNHR6NOafs4R/laBfQyTMA+NdgYAhmWjcfJuYsdgrQDYWzxDyiKm3m0tI5BSrCrDB6qZmRPYYs7Fscnp8nuIXrOkbEkj9pRc5h7KDlPTWb5Lh0ikvefsWV9POcvBDaelsB6IURPtyWnmGQMdnrVo92UIP9YwUfuae5wlXihUGskvlk2lZE9IJLxqOLInJt9slqs7Mjhn/o+yQb7lcCgfuGC30oeC+cwQVNFTHYL7OBqaZV0qryxl0/gXRma3Nsf0LWR2TsdmaLwjORkb7joRCd1aVIOqjc3mMjRkXsKMs12mw0u0bN08qzbKA2xtwsYakXFYsh5S+cf+HN9zDH/j+mHD1uvs3HEcnjbaXC64GHFwUpCEAHJPuHv7JAHickl+syyPMM+R0Ye4K4GM0JPcCBter7Rcg+q9xhiZ7sxKWdjj48JklHe40cLe6hRK+dX8W615AYHY8mz/+xNjBIsxHql1YmmFsgU4UPPGuDHHHrgxNDzm502+1hVVwT+vNje8wupEp4Hemm/I50DQI+48NzfkzoxdBUJQhpAGe45PhhunERVmwvlzISXl7OsG/brGZdNXgyXxRl0jejEwRrxk8gnVG5UUrbo+z7zWa0irevkIaD1Xs5VeLko1dxkrynOaktIeeZ7GlFHteEn+U9blzAv+bBfA7KCagjAzRFxeRVUepdyC1ixlSBKo0oYNh7p/c+BnlRyAnWoL452CrOunt3HEMdKT5QnvlOE6mKR3By//oGJInRLvVlpHv8d5sbzL9h3LhZC99HqPwp/2dhhvvN6y4J5nabGuMDP6egJltE7l299gfh4/ZwU8vfMbm2e4+clOieapc7TAzzFuDtFv04X/lrH6H5M8S07ak2qB1VGeRv55UMqyjOS4P0dkyndO4RfFeYJk5MMND7QZweR6TwZOyzOeSP4qw8/bEi5VSXoGJlFF6Lz4FoEs5gYjBsK8YN4meVdivosO8j1Q6Ey9L/xV4sRVxis1n0+f0fhEraVswPEXBxpWWruMDSNLU75F+Q7xkuMDEG0M9Io59yQXouyyRfqdVteEJi2Jy8Tv6Bf7d4ScqpJ51dlUXXPin5pd9w0qO7hX7y2ylL3A5rBk/LB+mfzYco85TTn1ugzD58WbzumTkqvKTCnPiSwc+02EZU0th5NnZPD38d5hXqbvr9dJ/jzJhEqu02W7eHox4aXheH0NYNjcWBfS5q37ov65QhTO7llw4zpTSgUHGX2CuhFXg/s5rianMdcWc7YE7eNmwY81I2QdtLTZT2joMMeSUc6dXCXyrRAeqoOU+P2MQhUZS9ShxEcz+DRGBvUyJT4d1O5seopvv3P9uGE7LjjMr9OaBuOkgsiazkwbSmWeBi37/YZF+exBS7+WSD00IqqFEpsS0xFzhsAQ8mcpsKFljR01JmHBFmN68jNHE+NFrH3sL8NTNxy46Fofh/ieeN0xAEhDU6BhLvKxrKHIRoBOk5sVWbfyROjyXNrJYBRgUIqVCCB9LpF7W5GMZkU0aXQsynkkxamecTJzB6KxgjdtUdrcstCIgQ0o+pprbN5HawTm9UJe3RtjPNExAeaadpM/Oz87SPcoyvzuwPRoiYhFhVyIPOGl5b+0r59eijEjwmYExXYIwZjLQV8iwjkvEHQbQnxTx8Mybu09cTYgFhhJXjUHMx6F4/v5OWt6U3XcZGZFvEP2BWwq7XFQDCFLBFIeDKvxgkUiuKY9DWGc1j+bsjSql521OeaFdY+wyaP0KJKSDE8yKyJ34GVGRlKXlJ6wQHdlmimYIYvE2y1wszXQ+uOkNL7l+Tz/veU+8kwFVHmbCpfTCBuayYMEHouhLllJI4JSEw9tJQSy8q7zmM/Lm6TNbGFdCkX8j2vFpTzhZ6tzVCppaDhl3lQDpUKeE01LGjyt+zKSvDIqyu+jJ8YX3NMvpH/PS7t+wAAhaRrRMTdUNHkO8XvqKtA8MmOGai+F0ot9/7pholNOqXi988w6qtISqSuCHjpnLRId+RIbCuRUEG/ywBxcz1JYVUiOxdNyLF636wJnirrZ7GzKAjH6uT6t61He9cSxuq5MIxCc2TAW+TD+DOM0/uMysc16fD3zdpH8JOgHvImdl0MclS/sHV7HLYZrdNELPrcWkbjdvke7LYJ2SvJsRFTXnxNzLlMQ4zsuS1jWUq0lpXg/kCO4XSwtkg3u5LMlU86MH6G+GD1e1orTqBFrF0kg57Vn7JaZJ3UPK6zZWu9QCwhkkqnrKntmRERbYLCy4oQXXGafs78YK9Txlt+FM444x+08dzWjqq6h7W3C7fGXpZyZnS8n1MKtB9S/N6KXTdoL81vdqlfzQU9SfpFRQsdcq0Qg1F2CVBMjKprs6HlDaVRX9DXTyo1tqk2vi6O0pt50baCpVIeJ4YzMmNWQad7yE8bLXYDNdsHwLCQVSAeazoaZ8/seyX2egizWJDaavEW1neMuScc1ZkmUVclQ/bM965Qx2Oy/GvySI3gixL9x/Y4aW49ONQP7tXheAnBTQychY5cYLgXLGXDnNmbQN/8yWIkuwGDyrQSz+XhRZLnGArDR+izqFeOzjzilVb0+LJEeXS06FnJEKoWPkNICcUWzdCAGBEmflIvnbHNlxfvUKKE14IYFyDpkTsMMtayp0PwJOQUaVyyArbBHoIIpKtCmQU0SU+MwV378fN4KKVYQf3eZlbUXi6h27zR5k2NGlNo5b0yju4KTpPqwFAsnyMrV9RJ8b0sWEBsT+hZgXmjoxtHzAEvQhx+rRLRMQTxHFFyRlEUqDde46ch5bfO9JLiE6Z7vyL3WvpEBsPzMMkWYf2sjCImIgsQTgoeJtjl3AiAFQC38R+0QRbxJ3LIAEQWSbGCS0Cb/7k+NQBmvR/X467KeZW+p8zdonXifkMSl6HYdtZR/M+pEvuYTi1OUwlOHQrnXTp8rhDrvlhpZ5iga4YYyH3ZkhoR+YnxWmcjWZS60ngjsb6WR6nmv8HsKNZc9AAewvharnlpZKCe4SAGOH7Hzt+pDar/wNEskIjOSfMHv8e7iGk65hRb+Qk8rp7DS2q20/ExhwuIoCVnvuoYdG1VHPwODM8vqjEucZlh4Z6UHUZ3GtmgcPd0W6+T05H34LPpNgQnSn4MebUahUOSLsAjPNzBN3MONkjLtd9WbPu/gPTOqQgfRWBsky0JCaHDTyrOcFH6rM6fme+Ggm3RvCaSdVkQjXbs6NZLOizs8tm9rjRrPPRHV3qG2OGXPmRiN9JOcnkP7yHoxrNhRarirfDXvBaRQD4HI3Ok5Ro/THdiZrLkdc7cQ7Z8hEdZ9sa5wTJERu4ItFZWfQiy4U6DirMzaWOfFa3CuQy57kXRz2a0l67GS9FuXlgj+E2t7cUrzX886jNbzGy8N6cX45ylW9PFVWZcTEsqgYg3A4/H1knC88X6JhnjGF6HzHN/xU4rDn/ZXdKon7EnqUsp4pxwb7BBzuaGEHWAZpKPy3YgA6o/3z8HvMWxVEN1u0zM7PRxiOfzQRt5p64jnVrsNrWELg2eTbdYn6UC32kUlA6fBMdvcxO3UT7xOuVmqNFpGiyHZhGUFsi7Um4TYKGmlcOXi46CuiZCMjtWoFKKGIOyPBVSpeOh/zlmMsToIEOtAa/W7DoSiIUcwNtUkPIlEctplOWiFgW33joUJmhomomktN8eQZLowF6MZUMsUY/XO0udNslnUVoDp6fIxEt0DmKuDhly7EbTM9KwQFeo1Q+aIccDvm0iYhyQiESn/JT3N4sfGGGforDsG0pM/H6NGN+bdhjzswo5FOR0hw/XPs7KnC2Z9+MGGz6gSwwpC/HiRqIdywk1pUgSjKy913pSGTUemDVJml5AyyjQaTQVYwL6esBvznafyM+97VD/qHNWjn4IDDnpgB+nAoV7U6YMAJFHS8yBS4IfTggwfqfyU9xH/WbduYaVGdTvKPMf+rRDulErjL3VlQGM7KTeP+Dhvkh5IoO+DcYBHStA9VuvcZhw1eUljSCmv7Z359ZGRy2SRb1xCnnZKiZINUKuIL2A09znzRv7f93rW8Oc937gGH2V0vo8NJC1PSm8/R1azZCLp2HwdF153x5yvX/zNPd5LNCVkZ2D63FMM0iL/xPaiZ5F04wFRjy/mW2mVbfcsEDnGMpLHVONItUFNzlQdBW5BlQSemv/1nhFxPBm7ksRkzoiUR20zA0DH7L+Q7pM1sl4jkEL7ajzhBqVNmH4NB0aeAdGSPxWLbpaTvi20sJcPstrrnvAMhG1KfK/9K6EqCRnu2R8M10v00P7WTH6Np2vJI2jBa01mI8kJU8SOTUl5gTC0ELpNYr1Rac47RjV6HuSzqmNpzTCqsJR4DrDaYIm7iEIm89wJmE4+Tu+Hd14l/pl1fdQB3ORYVCgvJSSiAtGB1hw7aGIqy+Lw7JkREbEFaCuwuWOyUf4ayeJBvfwGywSTxS6j4zsWORPLLBCZeEmEdVwdhCAznw7qDdBIl1c26kHbFniFLn/3VNIOx2whGulMOHrOL5KYj6ANsQhLWraRYf0jOo9E7fgeW8XqMzVM6j0tQO8tOCH1ilr5g7+rqfGHNIgYXiO87aMF8WY6AMbTPguuy4djP5HkVzoJIA1B+i4R61zGsO4v+nz5VP34T/t8FOxW7qRxhCYP8joP8udF55vN5ycaRJaDOiQ4lzSJ9wgBBR9tAYc9TysT/fD1uyK2MXhTDmSqEaED3QGZ0BYfNZlpwcNAWXTqpVQVDeGE2Nj1WhV2Mhyv2Zry6J85Q6YHwrtOSoE9aeRWCM3vzPcI3SfJDQv1XNtwBBYh4B3wVGXux+1I4xpg31Cb0U4JeH+DA9bObUvnuOA7iVUN4YAFpDnAZ5wd5w9H+EZRdK/4+ga3W+STFdcTX/ySnsIr/yyFUuM5T4x/cqILN5HxSBnaWUAwnaKmtpGAlBPfrWkUwaMkLSp7uOWESO1Mg5FvNPClebyHNKn3FWG+LABLq+c5CkFXTydZAb6U9SD6R4Qg91c8ZwECQg9xWVqbpDHez1qwANI0V5/6Site55j1Mv/z57QnV7Dm4NYfbPvXxzswLY0WvgdyHimK8VwNa5yuU+qipSqO4eNjJY1oysBBSdAKV7CS68oAqdKpjvOUyinMCyvAtsuiFn6GaYUXpY1b/LOOIfmvprR/73pG4+/cHetI1CBjw2AZP4sEUNExLmfCObnUDnkWiJCM01Uo57hIPUT9Xt4m4Xhbh3UCdwtNzvRbjGypf4Pv88VAd2DqNHRD/AmrEBhcHy+nsfJMUm6ce1XE3bQ2a4SX1ykMYyXCLTxSDBHTB+HooXm70cSP8FUdEZHmKHGlCQ0/Z8985WdgU3bK82uVI15jzid7n/dBGBsUQJiL08rdukTsUPDUU8aN9dl4JQhqqRtKNDaN/5Ls9chN8K5Hf2Q20uJmzTQUp1eUXy2k5uy7anieMRRj06G0BxaSeoZNRsD5hXiOaxIS2W3rOmsYRg06z/yUNh0LfEZ4ydZLh3x79sz4VWhP8fnCpHtjbtNoDOeftIjWs3OkzoIRc2b71Qyr6HmZDvVcpMJjEg1KUzIXZ/KSX3eiI+1D5f4fvraSUj+eEzrSeczc54G3NPoDresQ7/TERcdsPnor13B5xLg25aQZy8sSNslC0JplJ7Vbuo8kjodMAVxdAMYDnOGiiMCMnxXt32j2nHA8PCmvETruymeCVbXQnD3tP7J/QzINOtrwR/T5vH7YsB0Y2GzyzepUJQ5Bh3lzHJA3i3p4XSYbfDZRr4WQ3AYlZdg690pbvUhrWmOCuuzQa2dZcYpr1GR5ek9BCWkTmBCBAL13yBCqEU7gkoNNL1suCFzCRu3pGMPOb8U8k6pl9A9cw+RMxt2TR61nbg6a5pZEsikruQpkPHLpHSgzDBRDNY73laqRr6xDcH4gAWj1P65IPAI9DyGnza9KDavm69rIWhx4JzvyYotHsh0wkqjhbmlhQLlRQTtMReNfGbNBkx8hKTo7HPo7VC3O8aTpTnJq5WNAC/AM/fekVrBEBpdtHmKmgDb6m/M0ncPsm96dIUOosQDvGp0pWc14bipMQXOPmVsfIc9J6UW6OkgZLkcuaXIhRwEFMqMymhE1GYrRJKL/vJdnhhB15XNgRQqMiJSAyOv6uQPI2pLQZRNgB5x75BtZLyfO3zYnkWhGNQdn9SfKxqE92+pzZx0vgWf/hxQ7G+FZpvCdlPWTVuDngPjS17AaTPN1LEUrf6xZLCvog50UyDWoFdzyqEwOmNNn2LFHfqs3p3CtX22pFSQzfefXOv/d7Qc62u1s6CwRmqIT5mfNjzSwlwzN/afRLC434+osHR6OiQhPnimeytre5beGk0+wCcDJqF4S4dGirFGi/5tY7dR/onTVdGD1DWfnOeVNKx8oQk+3qHV3QEzRp7InFwAfhqsBrji70dlhWH0X6PlZF18fJekHEN5XzLfnhj3iWS0E3NLxWDNhlOYI09XB68pd+Om/tq+TLz0amSZVdDaVfL+nbnPXkXi7TXLWp63GlCttWWL0uegDS6nB6qiyOmE0iW8Oi9p5hE4C8K/r4POqwJgoGmNY1y+/z5lG+RT1wAmtXxqGtv6xCGoRqdzLwcmSQQCX188tH7Hzx918T8aKgE3wzveNJxCfsF7kSCXDTV7WEs0sup8MCnE0lUgkMseMJMMMDk+1bdS/IGijCFw9yiKwjHTniOMz33thhkzswKnMoCML6X2D6BJv4j0b46/0beqzdQN/zPpdQfZWIBwu8bZ8R87HFYU/0XsGZIdxtfc1uy91imeAWvBJ9yVLrVm9eGXoRp2Bc/2pfwttoQ5ft9TfosNKyzesl2cVlPmpUs+AHHkD8U2BnkkTrJLT9NMWe1CIF/LZCk8U8RR1kwEuv4A42cE/T22jaN5Lxh1xOgybee+FrZyM8KPXDxu2DpwliCSx2YTax3vqiivIFulhoKgYwvgBq0K734uaQ4mu4CmAr5DwqSDeBWEoMyHjAqDElC2etQK1bWuUCpVEDRK7YMqVogyZzEOX1UBZu54RuFMCLGLCmSNPGely+iU4bIE2JIQMUBlJnEBsxJSZ0c+LQGZjr7VpuIbAt42imgI4FsOMMVVAu8T8xlhhUK0XC0PoNEoJENZaw+iDlJoZY7W8L5wCvl5qkKCRAQ6utSGnCsuAaJywgP4Y2eK1+9a1Cno4z+RpPGQIzTkp8VaTs5JNTzi9W31eyOZSTiyyK5kfXQ3W+iyaaaAzYhGejybRVKsAPjmz/PNQ4rlnS0WT83wB4xqNLaohRklypzkkAPG9WOm17HY3fmS5h5pA+Yey7OGSrcDTYPcxKeAFBs51a1Y3CEwnG5IU9TJl2TKT4sR9bFgvaxLRXpeducSVppGWno4OdyIGiCOZS1h7mVqE4MteWA3Rk0Gm9XkBQSPysBb9+BirQSTEL5Gih7qmkZVCxr4/oMiW01i1dLIXy7gpmCLfZvsko9I85an008nD6bGT7s/T0lIXkcxT1gkSiUpwlYBqIBR5SSybfMAXCwOSA56JgVwW9uP7y4VkQPkbT0np2bQ+TvuVj1IcSTaTCuyyGoTJFwnIqH8IRf5WAO6GVWwgm2yj+WG5v/KAhqxMh3sQK3QqUy7FIW8ulv1ed685n6A10f+0vWo1mygv+llmsQZ/FquL/z6rv15G7evm3os559U5mbyldJYyv5cjvMso6D6mmcZ6+zr4A+rYEHj0PNfEZvn9+c9G0eBS+lEhIKnNLE+qmDSkHekS54PEVc8d8vM+DoNwRkzQIGhIOs4+H80cwGMA2qhhKI0/aMb0Tl172sPLfqrZnyhzDy4mHJal3/V9MSul5/rfm3jXJtsT6XgNvedrSYuTNe9KqcLyxH1e35l0Ts4RkjHNfpPSVVjsmMCRmN3765CjdG36uaw4RWZXGVR591lmRwR/7Nvu5BLTp83WsxdXs0tYCYM+eJnWO+R1iMiKMjOrU9ML+Tuu33Hcj1nUxPmcgsmdLh1gqFJkQ7yuQIj1YKkVS8QNbWFuVzJZ11pS+Zi1zBBtVv8bihsMapCddtXO+fI5BaGF0oARi85R5QzKSLxjkA91fmxRxaHRwEBCwlGaDKePjBFgqAKZuiZKNc0+l8bKvWxuzTkC1mnZFDB3n/QooNPNwSen4/qZsgw2TAC3JtRIROIZau3ENbw5G5rkNnD6iag1s81NkcKerVWhsViKeygUS8/0brulBsjTWLQY4KlQ59y8c26mYk6Btpn3dzXIQy5QuJiXy5/FINgj+BmPt86s4kpVC9gVePSwCgtfi+GeUx67Rc1KanJq0NLBOvYcRazaKhi14hx/Tj42DdPVo8h2L5SONYrmPzL3sp2V7N3Pu7pxwGPhNL9G2JF5X4JGGhvIG23sqbDoezHH+CUBMfNdpnplurGwR5JpHGPKNPc08J9HARJk+ZhcmTSK7GmZtzvCUiYjZJePyQ06VkYcpXNlNoidfXU6rXcYAJH6psGT/vLSsGUkBdUyGZpuFeSztch7M9jP4wXOK17KkrLbPf8cdaRBZfolg8rwkjsfU6SG18C59IlBVTNH8p3iDWcKckWe8Vm85a7bNICHS0Y5AZGZFTDggCfhpRuINTNEItKm2kgOz2G5o4zlCgRPG5ghZLoWYyCAbehYT8GzqLbF4yLZLBxY5Nhd5ni+xJzSGl1wSfLEHSmuXE84/VpGHUTozFLWaxJgaoK4yE+KNV55BzQP+8OUX5ovjw7LPBUG/sYJql6zPmJtc05K+qyCQTYCYFGpucYt9lY28sn9DYfcAstYavGOeY85pU9RcX8OjUaJZ0N2WvMm11cGWqKCjrc9EHXRvI854q3rbJ3ZxqRv7CkyjHOdWvy3GKDRVDNpytsn9JpnVjxJq1TNs6lzfCazpFkn2ioLcs8JmrTYh0d4uGv/FuUuvz5v5Fnp0Ezr5LWq7WnW4/kk8K4SXcQdaaanh2Z/nSHJiyLV9iiYFLNjeTXAFiBL1EqeSAM2+YKZZRhn2X4ddCKEz/XJGvlc05FOLEBD48i0q5/mWWHDg0zmsBQ9zcgf1YgPIGO2rqiSKgJO7sScMnyfuij2PCL9239PUSPLaRQ5azWZfyoliru/Y5iLZ2dNPOi21EYAMPAn7xtQTyYNNkh5Go5FIVkyChYYAkB7SXX/xhSeXj/ePCoSS1zAkDInsR954SWtqUX9gX/H20VTKNKK4gksSy46ewhjTOx2iJo+V6JuvCypzMyplDLBT28k5Dzy58eAyOAorKV+BrCi83FPfVwyTZcOuyhsGEdkyGyClfNz2KyFacuPIthaHoOgT2CBBCDMVQ2c5ULDDOkRgo42EgEWDF8rjYh989QpiqQ3G1OCOA2QVbx7Xq9nOaCR3ue8lnq9KGb11uNLWvJKIxcMLtRID8Q92cJcznzmAsT+Mnz1ljTDoe4pD/IUZxDM4Ga+jGZB3wVOM42vFaNyvn/4mi8Lrty9uTLB0two+SFvsxuLotbymARaRCcOXEjcmens8TchJe9OMpeWLdcGlc+fjTYjQT4eB4Je2+Fp0DkWb3gmC9Gqv1kjyh2OHGINDeHPtCYakTPIG7GJpYCngUhTtPILjlxlIMiVTH4Oin5lREftGA/jQ/FZZT2swmuLlk7BOo8ga0arkI2+58hjx3tiBSo1hTk/m18ZNGu1pIz0Yp+jreb6KlFDCRnB+gghrZaECtpTGeBKcM28ml8T+n/K5SlzqK5e6jf4Ke7ISL5M5U6oJcf4hNHXrcufh1OQa7dibyqvYHymJGdQ+N3p2Ja3LBkomnvA91kY84qQh/ENW7ikg+1BLt0QepsxXGQ9LPRgDAKXK/ZthWI7mxvxrxauzmMpAhJzRKmA6oz5csQl8InkWDK90sbLDqoytDSU1nVGrNrzTzjFObNf0mGpulgaDopPUbxKZD4mxN+Z+yMbYiYmSspmBIrYWrU0EAXhD4WGsZugl3BI4Dvq5eHrrZrBD3KmufO3RIpg2WUlivrk7Gk9L4LzWuix6BnCa7GuEEVzJUGG6zpRNgIkGo65LlHnI9Yv0GgUSarAwGrO88wtZ8fBU2UaadbpUIP6eFIfSrAboQFr+FqauZUsHJ836I4lLZzPaBa+7zyvs0R0gOeZo/TNch4qyUvilZUNEluyjEkMCiAbkrIzx/XPCWtVHmYnzfevlL02Ygzz3bhjiERu0lQzHRy0nm57qVanhoLahiwjEM0srkggKWXmT7Jpl+wQUE1wymnrHUDN80D7hcM9IaKenJH7vevHm0e5UpTzhg4BX1SgRwDkZNQ607MKFauN1bYQmICAnrqs8j2puuJDtGgU4TKdI6qqZpBxWicDbzNCZuSWooeU9hSg0748PVgjFVcgbgfZ1h1SWyjHgE/S0PWgdCSPdjtDlq28LI951EIgZqRVRNB1oIKwjBE08/6rca3LyZAxtnvrtztqqvVGm4wgjLl5vKlQjRxq4Rh3TKDBHAROB9AGOIsinz9oA7tR3OJgeBdmTwSX805EWvX0XAdQcRatR0Xt7k3Wrm9CsQnUtfOz55DHU+RIvieEtIInaPBGgqzcY2sap7jhjlQ0Rb+YM6VtzbhjQLQF2J023MhaX+H15g6UkoY/pe1IMEKm0wBCnkgQxWLbRJOu5PyxKGx7BxnPDOtrergjyUGArVB4/kuGYvleNXdSsRUoWhWPeFU0RRs4DTABQT5PRYtcSSrP373uyYdVMkWgZCyY11mpVjBhSfKRLzDyOAfOpPA/ey1yZA3QHuHruXNGyj9q5/K5GguDUHKfRUScRDtnjlQQXDveruNI/U+AhrpZCtE4IUWOyVOwwglXJ5wyakkhjH0QRoLvzZFgBxLZS/4+Til8Du/SSdqX9GhvoeclQu49DwAtM3Lr6f7RP1X5HdRwKWTT4nRy0F50k9dC8p6wjsuClPtG9MFrFllKSp1Q80odwumNWmRxGpccAVhKk3wNKUU2MXtm0wiZszEbMoCZs502m+acnhkdvII5r3QhC+raP/2KyxyX+8qfu9qN1agTDAcZPT8cyq5HXMflO0JT2pm5NPhZvlO65kYqB8nqzOwJycoyUR3wPpEXPi+XaLHGXFPpxkxd0GmIdNPfmnuVvQqeio9c15TzC7YkWtfl8X21yCo/1zP0ID1dRtIIQI+oqKV5ep8Kx0uBqW1/r4XKRDkRP2UANJuKlZw/wjESg5eYT+5tIY2StfVDvfPv/L0lE5ARlDzxLbkpJIsBp0tbzrf3xZLMsJHU/RWJp6x3TBwR9WUpJ/PUWl+OlKMYVjHCnFs4hZyiOd+gvvreq31KTmsXER5Bo1NKejh5c33KNjYc+OSJpbGZN+zyIW727zlyS44O1qnxuue8l5HnIF5ZPccn7OqMgJ7MrspbOPiblQrilD30vet3dEX2egaNSGh6zCWs+xQADiz57EMCQmzoxjvEHKkaGyEBoyQA8KeZsoqOWsJPkwpuEcOfTNqYBRn8sJFb08W8KVYoWwGlQtEc1LZ+ayEoXOG6sHIFCiRvqgGaucGW9CPfkGBw0AhckpIgOgyfH0VHGdhJmy23OR1WeFSLBx7x/vS2sgPAx+dgIwErp2xyo68k5gCnADJl7LvexCfW34Em0NoWvDUdEVsYQ8OErYCO4CiRvTw3cPXiZeF/Te3zzegG+yAgyt7P4UfHQK3D5pw71wGtXq+aShRclTxEnyqUt2YB+4klFonEcyiKD8tedU7wdKY8FzEDAsKPJB5JIyPeoJJGaQh7A6WtJa+uMmGhQ/5XYt5ZCk+KxNeNv+OpWvGXXt7BCnrKrgTy4a0kRcrUDJlAk/YZuxsp6mM4LT0ir+bo0kwvBzwFf5SoQ0Y3yRBjJZlhkwUULFSlcTqAUIukqskFN+rm/W2JHCuNdUlHXDsCUzYK3KER0Qwz1nVG3ZrMpkhhjEimCfs+WKcl8WOaIUJrtQKTlExCn+qT+/L3CsaFai8pU4l2lli6v/NeXQAvvclnpo7kpeS8GedjpfH42pAec5rQHnSDgbWde/t53zNVIirrwJ0MmCQ8zy8NTnlCwWfXaVQ0piqjqoERqyggIgrNfX3yvNn3eKw36yJeg1WvmwyPVOWT/DSZX0pc+Il5OQ+PRR8HPUy4OO/MfUZ3uR6MmuiUaSe5XH6XwNuCNZK56ICSdUMSWTMrSYmvcy/UNMMiE4rey++5Ho9MiMAW635ac75ztp4NF8ZYbAsKRPj9HumMaJxQUywAmuPLFc40PF6vKlvM8GQHeYuB2Dgkjt1zHBg8wEssUw+43oTvSk36iC6WDG18j0qiIGlyxsS7SC+RLqkp17koKyJck1mDJ6RmXQKUkux8QPjSVzL55Fv6zH+inibUbDUwHZBrGllqrQpXklLVwQ4k34f0i3Up66/VQE25kvIhaECL/FQ+MQ0lM12E+CpvauGQGHyQD+nYCOI1CmpwtqJhE+ezDM7UUYlh6JgNd1aOgAZRdFnXXE3SX5KlcJkNqSX4wjL4mRPgW9fvqLF1gZNiONOzgnxJc80N4n+LFJpoyjD/tokbJZ6eqMEYFWhTWjEfnUEiP0Cp8obLqF3z7sAk0KIW06NoLjTWTqEkKHqkovJ9JBjiEqMfFkHjnYaJckt9Vnyb9nSMmVpwJ82pm2WADqkeXUqhEDsrTNxjqBStKcpBSp6rKDCKJzfrGTgFZXhqDdgQYiBiXhgyOn2M4b3TfPbUDxmbalqjknOobXag9qZlRQAKHha5HqrYSpv8GaXb+GmKE9ixm4M2Xkfo3WJ5zYSFsfD3OC271ihwOjVhDTujWVNZWFOmdITYPQusca9riZoyjzr/laNiGOhpCL9IrbLF0JL24g4P+OahEQThajycMFUpK/g7cDjq/SltPPZJ1EApNmlocZ4fQrEuHJN7Uq1rt/OLLio7ahmZV5dZ8pyQ/xmR0+Nl2Fq/rV6O4fMRW0/JRjetk6F4rg8S70RaQJ3zv8vsrLnOeYM4wxbSUvtHqlUbCaUVUQdzWT3YVBbiH3oynXuufU8rKXDXDY2PigMvGnkOtDbxUAZ1Ru7sqciwKZsdNmU9BoevBG8S3BSj2rp2zvMP0zCv33dAI4W+MmZmUjbwIwP/G7wfctQjlMWFXG8sO90e53X7yW9KcNeP02KPf2bQ+J1qglyDwRw8t3imRLYDApyU4a1efsVaYVwi1ytNtADrfGcYRJAnACj/7jrF18XzS1xunY3bpLAQBkkeNN6gaZG0WcZRx5WVu3qiVTrMtWAFVyP+KCGntxHY9O5e5BoKMPTvVPBZTqo49ZGos3D5xiLbz/McocNQjOdMl049Iu5YoHtj3FZmVLKxnCZC5UseYSewpAu1w1kSKY4aq+9Ossk+1sBRMjKWHk2PbCa2cEtBkUaauGHvmUYlc0GDz4I+9p3AdaB5MQtR6nbu/TWlIVP/WV+5jpXCB7SiFiWUWKeKF0C/sSQlChduYkPF95rrXi8dC/eYkUdND5pmCL24YuLltQVTVHmjGNZLwoMxaVjRA/hh9KyaNMFnqi5UEYommrHWlnE4/V12fteoVTo9RBO7Bk6MdOZcA3YjzmBHC7w5b/CeQpo4kRrizf2RsfhzsIUq60O1OEZNznUGDUrb/h12tGZiAOIWkwndssoGdT74PhL89vXjEduRmw0CyMZ1I+qcGZvEmZgNw8j7ftLRFQa+3OgMz4EmmQqDEw7OMHutcYsna5UteeRKS6OONljA+YiG5kZ1oAcC1zEg+69X5cHOGvXaOxfSofgXELz6rtLrJDTuMZt/RAdpJznncKciiHQFBtvEUU1aKgiLlADZhEb4XDtnUv+VUmsya1iWQnACdN/wuMx621addKQMS9E8LaRv8q4zxXujueS9NG8XQtwohY6JgolCAPOIGjc4SJZ5OrxSynYq7trCHX5klfg2Hda2/gwZgseeAr8pRLyxmJ+PGn93RatpZUSMJ+pB/BkuAuthDFHbGVjtHK9Ir7oDA1bMzM/VWxmg3Y/14HXmfeVNm/2NPE/fm56myxDUeY+aULlSW4FwVWiJEBz4KJ+rLSgOnarolgVC0kbKBKt5VGjuta/hJEpwNCM//uxeYEMBR+zqWbMrhOSeJvBfQR9InUuAiVZkj6qnAQ5K33wyKmqsxACJhjTTX03p9ng3RbAx93TJTgjwAwI7iJp4KeufV3emYUaKrBv25Hs0OZ06bsidVtzlju8ywpbeIA9q3Te1pokClKZqcxoxb04ndhmX03eZ5alkDkier+i6viRTJUfK9U8htkqGkFht17LnkI263IGnSdp857rfg0co+Vz5cwQQZvmSExFaTsnjeDByH5nzprrR2FFJZS/2N5F0FrD8zls8wyBlvUNqTeWXtPFyCF13iMsRmh/prAkCU6r6/wYG9W/WTM9sQB8DzcqfmHYrBzAWKzgACFqFDjIDN+sBk0NEc3Wcvs2apNX0c/ub7/FTVMuxtu3/WFObgzu3he6TZrw5Qn6WEBr3yHDjVbzDP+kjBZWgrQDf8SbX95rByAaEuMEwUusEL8xzZzc/c1Sa9WlJLIdopmYYixoAOY/MFG+NKLhH8M8FebRLaB8yznlW3nR6SqRMJ34bxI35CnatEZaITBLeJxUvpJ5MXOJTCG3tWVwqIeOC16xBaThBJPVm7MEwYrPvzCqMzg6fM03VeK0IsSd7wntcJN4Weo8TrVVpRs7cdR0jaJAjKXormrFJ1ftuJCaYzqCVP9cbc0ZHaWQt96wU44rpua/Zwe9P5UwKwAM5pA9MP3NlgCOyyHhZO8oHdzGZvs2v37p+/Lgff4l7df1QYWkF9M+ifu8Ax0wT6LMM2IXXktxk38jahDRoHATVaAAiriEnZeiePvZqNK/dE+9E6+nCiKVbGV6xRmqeeZPUxI4/Y0Z30WZ3Re/Eq4X1GTUXBLAoqGTzPEZpPqstGSlep+lt5hFARElBwjw4k8kFqXAjSqQkGGlzxHsiNzUj9+obqG2A1TGn3lnpmsq7BeBIYaGII64S/IfR7bXarpjW43bmYNzTpeA2dbQp3WMr00ssAmwmGzo7TQJ82WZsstDiCbzkjo4uyMWF+Jkm3xa2mbq5+VmeBD49cosA+yxAkWtEHnH/Y0mj4VRaEYsspYe/rXuCrL2S8sUdH1EF6+yYl8fHD6N1oz0/AfxSCxXRTjOy4mNvAKMVaGPAT2KTUtebcy87kbI04oVY5laXNmmgDCjrHs60q9OKBhf6YedRxyIeJQ9CL9kJEvNWaywBO+M6pVzdZ/Uz8gYLbYtigtO5hLIa209SgwOf6DNKxM/RPC9wQu4PsHpbM/KFqWbPIn5zO1ro/tU9I8ju/E4n730pVHrgACE6jS+Xp9pl93Tj6YgEafDq6v1O52iFWhxRq//mvaPQm8tiMm0b9KznoMCbgqzRZXqXzJXSOEuSjDnfLuSJLFlBSoxMabnAc7nmC+alKD4p8cZOvCcJxMbbw2GssY7MA8QMsXast9NhX10E4aCzCIrze8rA+dngKZGTzF+5cdc8II4/Khlp6v/JMqz5AIm1zXrHjIjosIZZFnHvSxZSzg+x5zO7oN6X9JV6DNLK/zQ/IbkisM6p4hlwKOuhTx6XawiSd2strvG56jxntzxGkmWWkgMlvmzwc8jdYT3PB45zz0nmu5N9bv1Mx03twZmACmkU8acU7+CmYJdGn4+QWdl00xlWYq0EflSZo6NxXo+FqF6yx5ko44n+Oj3Bcc7CZw6O8g1jZqpMBrQzrqt+q1F2hJ51OZfNgJYmZ77vmoQMFsqIIHWaRm2ag2eXDkfXY1x+HOT36VH0e4wOdLa3/y3rn3k9lLKB/GHRu4RwDsts36cRt37qiEpB5p83zZvYYeC4YJ5K0lJWFiefme4kwIN3PSNFeC1Zr6f8n0OiXaJaew0EQUEWmiZ3yHm9/r+9fjxiK2TUmtEUHjMCfm6obgGlvOubebu0EiIeDmQ6XiwsAVry2MQ3Sl2vNRwCIq0DDAwjAESdmo3F5msztRhwj1oPwZcby57rQs9mwwaVyDxceZh53wC02ek7GM3hn7rgkkwvdu/aaps4QE9mqp2AlegWHYWbxRA0u1pvxLBYmOh8alw2nWIAVpRhGMxzrZs086rN+8NPRdE+BlDcGZWkVEZSTXMNEoygeplYF4rYMDz3F83UnmUjOu+6SJB5BMlosAj2WfgpGYCRYi4OZKjWYDV0I03I+IvTuznS9Uzeeh2mZG15rl56/R30JvZwWs1ba2/zwE3YZLO4AAJEsdHSmE7Br2qgy57YUoFFZkcM39VbS4PFgc83wLizutNRyfMqTne4Y4cjMMyt9qEZ5wGeooZNaCyknMORtqKxujgZZUSNFsR7Wc24Ey/3r1PMj7ARflMozYwA+RhizGPEsVlV+Ukqcd8LJYpe9y+rGaHn+X6NpwzekwsdPBshaOlSu4KcEgVHNZDiz1L3EcqeTbDrsiGMaXUP/gj+TM1tKeF2diDcfSe5Z7y+x5m0lgZkyi5nwtTL5RrLV7XtwXuPMmm8lMUiOm7MtRKX0ekgdb2omhyjTi89RXLcaGuhK9lbcOYtceeXIo8WIeMk+Sg50SNSzlfZ62KGBSYATBDFRqqeuD4dsAGG1Fymnq3RJHVnwP00QJqPv82jwiZdqKusm0xGiqESzuhQr8J8OmJeynxoQ451NX7vMo2UNjzpbytmUfl3ULTWV4WzjpByC7HW2RlAXEfZEXsFpHr/h1C8Z8WSsjUGZHrGJFKJ2ho1DEX7/Ac5XdnBFS4scw5HtqYbAr7uJahAC+BGvQjG6GDToGp/z55KZ6kbPU6HNiQcOeH0N2+qy+eGTL2P/Usdc9yR2rX2M1DzvMcRkxizuzx8TTYKoUrwH0J/+ZExnKJNeClm7PThKNdY1nWu3Yz02l9aZkI4vn4muyIbavnbvJ/SqRxrusNe+eQRln9On3yW68nAak8cb/XzkcYjPd+zdny9EGWFPJKKW7/xpuA3zkGrHM8YQGi9nGn9PStW8FNVdPk8MWg41Tj4Ii3HECKwIqngotOkkl+nDnGcOeXbjNIOcz7NDE2NblKJR1IfDGu06Q4kiXHVFU/6CI3L/+anc5BGtBumq6pjhE05HNt7Pxp7SDsv4Dev39E8Sg20ZM53pIrkKPO/luad54gpgM08SdT82dJLVrSUhcww4OcGMtffoPwcaTBGdDdKWoZ28nIjJJrc9CwuFz+8Xul5ZDDYAyIWGX9vBvxcMeWxQQVQukKXamSr+BiS8Rlchb6FmjBtkYoAP0aEHCPhfIg6JAISfPYnucHGooD9+cmyFGlfDBKhdvjTwzgBQWvNMPizI3kEXfNlASyjqL1BBhtyGTXyo2+6otTLuqKLtAthvkow7HLa0/EibTfSNDKCXLxx1Ggh+V0B2SYvj0zNSZCStJ41yt06+bISeFarnjR2gBLc4TU0Wu8tBkFETO075byg6XVtKthCoTqv+VEYfnzVIuzdIg5hj7rBkllR/1Tv0TFqAx0uXQAJds2aEIDqnwpps8Y4wM4pWXaubfMBrliPokGsJAH2Gq88TN7MVdNkCJaOuqGmEOHFFMrz8HEore3SHKqooEWhqkS69rO5+XhrWloVjipW+05hlsbOIwWWHUdLnesXHLIay9+7NDF8AXdBf16V1MkSBqoG/cIJRGeg+zdlAWA5fa5lyvVsDgRine3/fp4hnU3L0dc4z88VNCv+sh0MMEr25HUwH3ufjprw2XhkM0Ex84OBK8ZwLpcKNZ6hBj0BlBEO6nxYc30dqZoowH3+6zTKVP+gK3XBdqM2/kZZarHmpFuz0Z7EXmiWO9SVmMdlYxDDMUOLRj7MCeEUUURdcQBZjTsSCpfPfF+2oJmQKPBrULfqIhbl2aqka9CfrgJsvEBDEmdT2VjMSeuzM606AwRFfBnhS5QsHPBOQYbaJxRn32kkV5Wce2Hi5Zj8e1pdNF5zLDz/aGjDEejsAi8FhCP2TUTSmndxnlFvd9h2j5Z6yZqQE8MIrHHePGk/0+1de6QWSQRlnpxSULSL81mCXnlKm/qME77AIrvicfz9dLYy5hBaaHdwgfi5bELS+jjpJtILrF+e/Lhe+uQ3dzJ4cDPkPOvf4D/aTGH4CrVvJGGyqke2X+C3fVuPjobgBX92hXo5Zg4ZFadn3XBBR4kMNlLrNAP/vx9r6joWscdYg8z5eskLrNTIwnol2DHUWkm5raPq7VdJH9VrmLNXfODaIsvEsaqoZ8ZSCrSDPmoAPIYl3ZcAb+q7H71+x3E/fJagmCFFSRls3Hhap6bV7Z5uiS5YLbg0mZQBUWXxHopcaSNFvBhNpoHkgDeJI+HUEvpOvs7D8q0gJrWOYxIRPgJGnEZByEtHt9raySDizYjYCLQjYEWmF29r05M59W0LQAZ7dwAlLAKBlDOegVjfNErnpKHeFrCJTwIy8rIPzr14yaojFEuVqd4l1GtOzgbAs5RONiKaJhdUxs53OM27r7EZzVvwEtBHzw7K1PWYU97VPZ/UHKlpM/DK6UQgxcwR43mlwMgd4UKHtZNqN6HcILqlIRoR36WWI6Zcu8uq+CHzEmfYBq3GcnZt1DJM10YjQyVEhvTYo8xLrhfVGERpTcWbl4WD5EmHVdpo0eyDxT977Qmkr0rPBfeQeZRGszRd7mAcD1CN7pyx5xfFk/xYebSSbQJTLUp1SdsmT/I305oiPZYitUvqefzs66Xnvznw5LkOZMR8A8nmMJHWdEIt/HXKvChyPGUxq/sECAvwjKVOMOlGUETbyKmH07eTYISZSc7yerk3O9M940mGWUaWFNsxaJwSlyQZWOePoovqUo7yW4Jpl8+D9oId+8Y2oLuc6bwFlyLctkPipjNYdNq40R4rqgR4lM4Ijbhmyjx3WhXD80mUqALrHIcQJ/kvGUummip16CyZenkyexQyrOkQgTYlCjR6kRsibhaOmFVGP1Tm5+rZXw4suZt3Kpd4SqmPDjMonfBZ0mIOnuD3ObYwdEyPK1myyhFN6eFU75oGhB9XpZQ+OzygwPxJRkb3FG4FJEIaAtF5om+DoodjekazFTUt2J3sCCOJUxUzypmZNFJoWB2I857ZwHG3tYkEepInT3ghZPCIdNXYX47PnfFaZlYEaHYj1GYO6rAK4lk+NqQh9UGUKHhgcmjlRU5hF3aqJL+7Mx5+KMZIugj8VId08viauoPa9RPLXB+7II3zoNszvUP8G8KH0uibskyYWSzUSSUn47pX+I266NE0gHDSjc8vTkt9LmPWaxCuWE6UKLrSJYG5qlSsJjtpAKKr6mASl1Nw5yvcwEt8wsEDoX0Vz6+AOBeEdG78RcdCdau5Zhkc0fAeOEILzbhZnkbn4sQ9eaCbzIhKZB55ZkYEvTR513lRDLmonjM1AseVqQv1ECIbZVnnOMnGFlJoKWb2kmsD2yP6hM+/c/3OGlvygBFAqdGsNBg9EusCyKY9lZhtvvDC0Pe9povdxaFwWnoVszZrD6MhPQuannHJzR6KMSbi3qlsvpQbp5nXT0OBDvUoaar39MBwrYYD95CmjtzNYG1Q9EQq9ZjZ8LLHZiK3NW+2LHiKSVZDMvazA4MptVup+1lA1CJpJhCq3txGTgufa/zZjNtJv9rB9pmRu9EomJ+KI4VTEdxXYZ1vNUC0jQtA22bDppoCsarfVKIMgENhqfDRmPkdEszegEKpo63zWP6N9YtCR0eT/YmXsyf4K2xUo/vRsZAyC1ywe3Q8+aMF38V7Shhm8sxhjpidVI2DjTzaq1ehe4pma+HRXEQGRk88b4ujIMErfc/ONwuxIEnPzBzR2DOxhCXSnN34osM0OZzKUpC8yGGyEpXzZ8vv+fe5Gp04UJZnOs09XWxtunSKvtBQJ809jZLT+lJmkCniyLDOF7VTJCutqqA4QhyDi67aSs8Zy4AdvHl6YKRKS9Iv5vUNo1ui5KSFAbeCDz+XOwC6iDW3YerJU/1V37jKLAaUqZTzTyNpXmJrLVNC64wYFtk+8ShRVo3Hvep0zIhD8kGeIx3rIIXTUkZHGR01AkTuT5hDaBT6nyFowDoh9QY6rzPOc6c9cwJ/yO4YZJxzdD/xKNFWEWephmEWE0sDNZ9gUN/rPx3Y2X3e/CVZgU5xsMt7UWQj7nQY5NjS9eeRk6Cw8ELzsub3MgWw3sbUqiwkaWgDEO2mw+xuF/VFxlZdfspGCqyRHYOXnRjOYvo1ai3rWLXuH494+hfpXol/XS60EF1siHMRjssVofYZs57Q6MgZSsoyx+bgRh7hFx2WZSYtjM9sbEU9MpRGfkqLJSxL2RGuvxITx0MyQg48bQ8F3xc/UC+bKKdZPWsKDJYKxfRgXgHzAso6CrLsEL4nTvf/vcGtvPJUNCz3rXu06gl3sKyv8t0VOOzJu405lnGMEo12/e5RUs5ayZNFUAJZNGGaJGMsMlUp63AEt63KeZTMC5GMGLO8CD5HA7wsh/gw9h+V5injtJLVIimPjYE5IFA4lRsvQsMpGXu2AJd8v4+reT8PayIjSdQf4y27fkcqsh2vArGzT+cIW8vaFYALkC02oy3q9dyKbVvW6GaHxyReHOcRSqdFw+nS/juK4zWI5AArI61JmBizd/BTXqgtwIfqsDRqjUXiFE0ooM2IzS0x4Ztg5HhcELulihEd8jy6q9Ytl94QCHFo1jlxmkq9UmlNvWF+ea4nJdAwP+zMbgyvMrUsEL5154t709sHr7+075vZgA3bKUXFgddAnoNVjMThzK9Z+4g08CUEis9zrmkTil5ySnLp0IrYKJG6l7M1j+8I4eepSDBvVSrWCo/dqKT+VpHieVJN4ntFIzWyGEkUoec1dqXhu2JQeq4IIgot9Hm5LCrBYN4bfCSp5n7q4T1OL656s6pZnU2cyEC/Ch1VKkqKsVWKOND3rAZ3Ia1CjI1bNxU4Rczr8UqSjgGtrGNt5rFu39KgtjZhEUNlWEaZHR9FdBW2FwmWxtxtTkNgdYbNnkdOqkg2YsXnAN3GHd5yVyT5PgmAaXK57BmSFZJN0Zj2QjXkHV6TVdOTiWMDxBfSkWPAo/4jwn8wfs1352zOikporzv4nnqRjz5xBT4yXS5qEL1Zha2/NYzRkdJNl59yVCQJ13FJAt/4P51fziVUYpFHpzIgIdu9zISzd5iinv4qAUaRtXfIjApP/VLmHk3apOxMGRTra7w9ZMtObEDW0BkNBo0weLJpTamzvTccn3jH5qIrcoZCenSmfNrvBfdlfA80hrIL2LgvOHny2cAq24j3GMO7QV6cLObClowUSOyR7Kjv71OK2qgbS8EXkRM139majX0jX3LOy0Fcum964dcw+E7yIunkJVx+zImPCaOTM8YZBdSxf3Umkaw2oOt60RPlm+n3MfqUtRH5F2zSrB3kCC6svroKsf33+YlHyUfyi1uSm+PIxBMiOptkwtIgrd/HfAR1A3Zqlu3Pja4Q94Uecn5bT5gIo7sg9SQZnY6hceQMy/r1/tQvcy/Z6QzhmKf9TvjleXdkIQOIosyBT9LAEqhFcBMrq7alt4iEHIOlq7aib4bJHev/oTmu2lgtjSGwDuX9iNyTbhAJlfOt+OZbtk7w+RI19KBU2QfF0cMI54kz+Um02L/nzjFfOz/2yjMKlHhMjDfiPFeQLHZOFUE33qHiKdvffuvUNkFvm0IGDY+YozSBjnTYqemZ4RJXluaLNG9vsisRsSenHo/adHORa6Q33aDN/FeNOlrv66BQCyhJyNAaDvj71+9IRV6E75Y1inxTbl6XoiO/F8XpGszj/48obsv0UccoLPzmT91ATXqhRfzcRxRSilDKDAmG+YqRYCTAF3dgRgF5rFSGahwVVRWNezuElCZIMZWREBMzl/jnKzwZYaw5IChGjG1+b9x0BnDJIqmUJccaFiN/05XxWXAD5hEditMfxd8o5Q+yfp82el5LramO2BjsTSyOCo9qgpQQvcOXhr2nJPXtvlbmD1OYbCA73fJLKazFDV1XkJKe4XmPUXU8aTLktFI3QmgccCXEFHR6evdr5426FnkUFhktDsC4ppbT5p5E5TRQkYMrJVqfjWmhaMYKXwLcp21AAAJPLjaMeG4ZBXI6VMOP57RS+xxdLfvPlKJEevvMQFBeu6Jg6aiS6NI6/9akVT5nhiSqlHQuSq3Ki11IiVLd8cK85rTU+FlOoGBdm1BMq8deNdLnfJ5xLm44tpwXEU7DpLHS388Lqcv6uwHksF51XX/J9Kmgf/IEx8lCK5eo07pHQI6Bs9zIb7kqTuLGmtJakICh72qxI4E0BumX87vVm8XRX/iIOoM1wZKYqfjt2YN4//ln4noDYTghALxNRNxJq4XPwpkUad/5uWOBFgbhfGRTb/TmUXsGixwBpWHQEXnxJ9LXHIXhDvjz482MMsp1o7UpKbaRyKhlY8SecZ9Y/Copc6u15LYFELzJkcNneyBpPmVIcjqhBFpBFGbS8peU4Jk1EDmK9hhN+gaj5ZqHPPOUas8WWsYNWk9hfibHdsgEIs6ymvm4WPNIRM/x+guF/SsaNHt2CaY+5TICdjqf0VHSXmmkWmShPBHdhJiCt7MRHEIXs9TNhxRcVB5OmQ48VvuI2smVCGK0I5TEyPFvbFiWCS5rV6owdfzJmd04eLxKPCj1m1p4+Mnzl/hQyKNVPpwioc/Xvbxm/Z5nep1u5vAEYi88fayi/C3wM71YbSKZujsvd1bIE1ozHxcDHh4MJG4vxxgRDem5JQjh42jzKdnxX1P/BA9VHJECWSvHUG8RH1OJXvPBkkRKXfnOx79k97BT+Sk0/Mb1uyK2ggRQPvBMA+LLhamUb4ehxgMND/UAZKuLHQZpMjYiPzvTtKonZNZIskL3s0QpnlGeN7GP19ksqbPUKVPKeOZB3lyb0OAAyozBNTUnUrSUGE2ybfgCQuBnqdpHGyz6rdk1WU3TxpqIC+78bNramUevTdCKU5sNqVQU7LVT+kGDT6dRO2sdRzQ2Aa2H84FqervFGI9T8xSWyqR5kDSW9VpZrHnXRzciiyBwgCWx+RoZYeHJJgHim6ird9EkT1qAqDQkJ82aRTvTiIx1CPnIUt6AIDWZ8Z89xUXsnNzyndIP0nz6i2HFfLt+zjAnmqoBGENwvTS8XnZ8/vIG9cY1lB46zxQdSN8+Iv3K3+mr5VDEj8+KexfHTupqrZkFzxaa+cDH7jjt9JW8X0t0Pn3bEnxe1ZsgI2HDQat32lQ+dF2t4c1ZPfK6guq25tckEQlq19ugzLA6rKgxo1iwMIiZ9w0r0B8WyYOKpfPUNB6QsckkGwbyNlDZQkQoJDp+RgxOnR/TsAwZI6Tggv/tOBLORDmtqgZ51LuTOu9SJ+7oYB+eaVmMh8RrLTzAOXc2XE+RWWuX3dYT+4wg0dTIHQ7WpXWOzUoCIBbNsEwjy6XwKHLtyJ3lLbu20IWVNhZ18SZEomHQQ4kvOIq6SkvvEm0y2IG2cGL84vhlLvEurzNCZRJIqxwR71zFLzf93EUwcMz7LHvLz8XcQn+vR2xxHMr7NWjsdyfhSNTFzWszdW51lD2xP2mqttzGq0Of3tfq7fF/HtszByME5bgekLOmAuSasSLqNWtsigVXw7tGBKagserZRZx00JSCLnl9l6pW534L2vobaSSneVIUjxlCxc7a/d7luIgjaFOnttg8W95Ljnl/D5vD/mmPbIfkc98HOjzV2CWr0LMR8bIk4qT3Jrqk6meUKsrsbNfLmNGyiODF2j7JgqFxuixTGn8UGhXnVa59PsebxpE5SZlEjvL8/mH8EMdRcm8XG1jVdAodpqfgJVx5JjusUdDUQynDox+bz63wuYsRNmRozN80cBFzFzr8MRCFe0sYv1dhR/ipPrO80+VswepInuHONMXIL1oHsC71CoFGxkQvuzSz1MjGIAefZ//UFN9zZCB7CcRKQ9VPhPHvMvZf5Ij4e/xym6T2AAKmfeJfGnyaypO1arFHHEuEFI3+Q75PM4X878mPvH7csN03dG8hTp3gViORLzYOfaVLupw3pHHiLZ6pFgts92t+L00wweasbB1wfWMMeBqziewS0CAmIkE44AaK3xeDDf5ddaOIRy3Jk59EyPFqPnE+P5tWeCfTTDnxjU7ePOY3BdFzPeOSNobm7xXCB8+W6+xFWoQsoYUE8Hre65UTyAiaHYyx1K9lRIm+4wy/btalxrEYiSut1iiV3bee68aGSKQhf9NxIyWtVrXSXIh3603TIG60Z04RtNWoJdrzs0TkNP6/V3vjey1Tx6aT5Neff8Yf/unfl4hi8n2+X+L3KZBOZ3zKk7Ei0DxFhr43xid/ewJGv/eMwldPgALyI+KDcBcWUJfe4n2CiQARpnSiI64ricWhRKc7L8UAT6coJL/KLH1NWvK21zpxjNJFaOWhVVsnMViKK2rjr3RSPcu7SM+CQtDaPDN7XQcHKv6U4mMOObmkfNERUkIGFLRKbdWscWc6+oN5Tk4PqyBJwzjWlx0v9CT/e2vA6GZcuqg3HdTsmLbmQJlMeVoHb6Llz4/ozbJUQSFxo3anpl2EnOIsZ6ozo1emPFTwq+bRbyTHc0Tz3yXqPemYEc808gFQKVA08nMjyEp+6phzrA1cElTLUkJvYZ7bPVbQucq5VM8B+p23/Pnx4ErodByqzs721ESmXCfnCL1LNWS8O2PSoCCwzhhHFx1xAsspDxccbk4gPhKQxrriBBBPEf+xPOEsDay0riiAPjsL/JQ7Dmy3ILGu84UvgwTNJZp8SnBeRoxqGv+a2hxkpS7GGqVsfttMxwxcsDrvc6Cnd2SWDNdfM18Zf7NUFVBUPw0QCV7gLDaJZoAxx1iLzBbkbKTEHK4YKh8oLVtzR+gybvG+IqSfeHbO58m77rX0LB5vQFTXdthilPJBJD5K2iaW90E3WejI2Mb3l5xlQuqV2P32vsxscltgjfNHIKRcClq4k64izimXEEb3cQCZJZdBGHdMpex1Ps8Aop4aMhVZEAuVgaXgEALCnDkSJqJk1ok7HorwEli685Ij9Uw+uMweM3gWgRghTKvu0NflJUG1YntF9tc5aeG71+9qHqVWz5dM4RshB56CCbGQXB2itsHCaLUJeGOYU5dKIlgCPzvyRdUEp/81eyR6HnjziMtQYLQ42sW/0yRD/OU98FC4vzOrzSSMUffeUyzNhSbNIQSo0JzAdPGOzCM7Ocvi3XIAQ6kyz7qCRpBSrSGWnVklfjwQnguFlcW8OdPcdnQQiTeTWRRh2WoWeclu2IQ6KAJe04CBKNaSUYR3phwnAFkNuxhhSHI/hHs2a5ods9MqEG7IRIJ7i7TNaYQOyehPgiSEIva0tdiaduj7GDMlaSx8K5wq5w2mQlCfJGbwT6Rx2jjywHlEVDm7AZ+fIxhoMqDjwP1+BzBw2XfcvnzBbz//gn/WA68ffsKhAtgxCF6/7HsjPM6YNJ2Edx9+7pxaUwgM6eG1DCUcoKwe63UeuEfORxhSrrjCUPR0FTYuKfItJJZRTaswemoqNvP4MPCaR4IoBH6q4ooAGaCvhlJG/CS7mS7G6yS0b+LCBMZHPo6UItyd0xWor0h3IcYZfF4uaQb8gKBhs747zlMruOe9mvWvYjU1UjChe/I1+gTMWkxvEuRPdoHoHv2s22IRM+B1RM5fpkfg42cQ0wo38pURCAcWDFrsvRFV8yNNJL4bYNh4zlOswqAfs+5wUIp/Bf7VSMkmWx1oCVwZoc8xjQDBCsQ5Zw1ZBz+QtbUqCsr1ccZEDJIQc7x1ERnJX9lROmNSxXN7AsMBkKPW1py9Sw3X8JWzoyeSK0YZg5Kx0ryTtSBOh81Z+lit2Z12GhWDp2qO+F4XwzfD0m/DHxdLyf1EMq/cDfm6X80gt6iiG7fVOX8yH0JHlPXXeEOkERY97a98ooufxfLDn+NyUuudscqeQaGOf3i8FME6RVL4lAsaQYngCM03j9UJORkBDQpsiDlyVEOfcPZbZrNIRhzp9A3VgWY1iQGWNWnCdPN3NrSgw5zKIJ1oo5fcGaCGksMyLoojEDCprPOYQ66RjjHELqOx5cqo41+onRIgdvZM5iF5V/hmZ5DG2NAAbRl3F501wMXxMwyTCK0lSE66gdaTYlQ24zNwJ2LoLOrInYEQzbIdKnkbpEPVspecqmfe9yNi1Lr8Wm8fJ2+U2bnmtMCXOz2Mn9gB6tQCOG1d6dP8S6M14+96t/Xe3Gh0OajR3NAoheFnLNMTasTcyTx1QbcMBp0HMUOWM8zd8eKnw4CM+sjotFl104Feaz2MX9wR6xR3ncJbhe1974HUINj8DHvCQa5Oi3Mq5J5jITO8/agYk66D8O6PXM9brz25mO1r2uy3wXj9u0feXJCcYy5CC8kRFVeItcPvQlzSD+pNDtZIXw5uEtMBuH2mY0B1YIxuqWbZqCAfQCOI2hFd3kAAhbwu5DKiSTqD9+eWZnVJVUVABg0irUUjUnteHjs8wA3Dhgp+SPkVetHcT1HIAEf5XY1CfwXaqPUxBAgyWuJA0T1T2VyMR+IOBH/HGCM85bIYN2EEekqOG8JSBXV4qez3JjkbpshiY9gfbfXV+EY1CvKfjme5ItVdzKbXJfK+pHIkWE5wltEP0FFJKIa/w/8Pry/4sDf8T/7pz/gPf/6E/+p/+h+gt1/wv/iv/2f4w6cL/vTH18Jv34r+qp9NvDixitxR9mpr8ETaYPQ3+umUtqKp8DKrhiqmZJzSeBYqZ4qgAyRg4Z3kWaa387fLhZypgd9n42XZtrA700+1pgbz/P37NdPAnr0a0suz/XveYGIqmTNcqin2CTFjvLKsjNb/gzBZ5ZPTpIpTQ0liepaGjyfkMK2JuF4IulTDpMyH/nVPNBaw4uOQJ/ucCS3L/5ta6hW2U2bRkJlmqAGuE2CWLcFiPQcTe6JbY7i6JqnPYl70b6wHMdw6J1c9vCY+SwYZZf1yo0a0JfczQn+ucwu+FvrLky3tY+dLhPeqFoOuvkUmONctQWvs3zVrZZS1DXlvjwmTJPRpRzODIWvjCjQLTMAknWNaaoThNaYVBQ7xJmeNIJie+HQsTmtxi0zHd/WKDyecqeS4GU/Ta0nWrYxCLKc6SxOG1b+7vBrD/x1lD4B455zmaGn1QicLqAuVjQy9BUuqFlrpgDWHO5sA5II4z5dpKmnA5T7jnUq4tcQlfQ/KhP2kz3sZDq9VMp+nhCa/1MHNJWmAbtSIDHVtVCDDDD5JTJvzE6N1HXnM6XSMylzXLGFesmmQ+8wzwFY54OmjicepvnPBKau6WC8l2n3v7/HeRUZ5YGcOZEC1xz1izVxF0hEc///GtlrfTm+uHy8cyLoU4eyI3LfyVP8LUzz4XrCkwNtduryDBxMNQRH7ymNI2YTMMHiwBfF8NAN7mk+3rIOiSzqb52kNqx2mZtw/eU7oMwldMofdV8n13euHI7YewfO96bns4jUhoDQKzfxrl1jNleP8B8NqwSIFFEZzVSg289AQYCUAHeeNwTwYEyXFEQZVTdszmp9rZkaIHGjbZR7f04cdZWK9Qq1+bfpcGmDn4kHEjhvizZY7U2mcoaAHC0s7PkgtktSWBhj2pRGF3LHaJBQd2ExwLrWgOGpkhoxZ9wpTFLYO6QUfASDnK/KYpLx0RtvIN5bHCOS6xKjCaNTybAHVyEGtObBSLY+f98bdTyU9+dy4xOle1iA/T68bp8A97x0InQDG5yOeOkdpvVu4bico2mwyXQcdU5FNHKLmpM2IhQ4ypp+krPLPzWp+1shtpkm7cjXBYQCn2ZFHYl5p1dkzxUWNiGAbguN2x7h/xf4Pr9h2gfQDr3vDf/ynf4v/13//3+Gf/unf4a8//4KB1+QZppmP2evFSDv5+keojWqem0rtIFgt4HKmZD4z97s32xrCZ+7ZGocGbeXrkcJyWnfjm9bKUVXOy9GHtPDFfGpflDyvzTM6tdK9kJwvsV+6fSZIUO7U1IiJpMJNeFJNpvO7J59Nft7oGf7yjpFOJAg2VxpCEY0AYH6uZK6LR8I1vOvsgAnvYnF4iYyoXZ7TpbNNqdFKyCjrUu49nBF0yXE49R0sdZmKtZqYPpdn/MXwl110jNYsC0OUOSiivquvT7yeP86ptCpvDY1Fb5b4HrAYRtEhm40EFLpytDojCukYSedByp7N5bdHU4JPkzedx1i7uBwHuumqban1dZnsmSMUsXWarqCPHV4coXCcUfiQgVj0z7Tzpr3ru4RuW8xCiEXRmtHNV9t/dh4sAzAabI4tQlTJqYK1nFsLRLZHroHkKumMlLBrRRzwxUyk1L2nDJFCU38e6xPlfNziCPWOrbkuGZeSiICqg1yPbPljxtJFOP47R7xRFoE74NeMHClHb9W/IXg5kYAKsJnjNDrzltRMpWc7bcwpEj07Rhw9oqc3S2I3qgdNDNbjzhptykdI8widdS2fgzOa57rwlTL1mUHi97gimhkkkbVmND4ME22LceFgyTM5nHXjXHb0yCCYOimNhsQfrgsbKpWJequSJb7yawgitunzleUup+ewLs1haMSe5iybtEeiSVZKZaIpylnIsXL26OZrpKlV/e4RNJKQMou5mFjD5Zxupg9nv5jN+GjvLr81SrhcJ3iOiaeI+x5uRqvux1Ga7JQib4WypaTyWtEGq6HuRwPyHBCby50yHu31/kMDdjTnU+hhOHxJIY+q2yBYzXB0J0rK3SVbR+aJJYw9fuT6YcO2j26GqA2I0gZY8cGajbgnjIGh3xO/F+5mao1kdZH6/LjdQXYK4BC+rvY9osodRsew82MHoN2EgAE6NbWo03M7vFHTbOWYzHFKWeBhuYkzn+uRoXm+qGYan29SQXYethTiXlgDZGjle6bSMzAmDhCQvztNhTzUJIjaYuuFHHk+q1gOB+arS6saFfXvWjZa8ghUy0zX9QV56aR5E/HqNVrXofAbpVyBphcikzaLO1mUIqclpZ7SgYuAt2fUWik2vMk/8Z1xwz30TSJ9e/XgJ+jLs8xEki4RbdboEhNEEChubzf88td/xj/86QOkP/CXf3kDoBj9wNuXz9i3bXbU5sIszwDh6LFMPo/mMSQTgr4cjqRr7tnlTGT71hrh+tblqzk8PX2szPeEZqTQ1kvIIbN+VmQXraVHl87P4J9d2FdQUCQdpYNW/vCUSq8XTJDo8xdPyy0YNuu58lkJcF1Wci132R26jJUcMUHH8/av/BxRtyV8YH9k95orbL48da0171ew0ZtTNjjw3Ih2RVs4UPWUw1DeWuYcUFgVTdwjxIOa3210H7jzYxn/GbKvJJDv3O205HKUrHs6y7rTA7HcR2UPq4wqty9yKvX0cwfReS9pfpjCdZnokx4Asnw3wBRl3cSQvw9sYp75whJtzTc4TxOpUrieJ/o0JZC/qzSHhSLiPGwva94oLOmOZ+SKbCApXF31BpmQQUfE/IX2n78r3k04CYWNvhUZQ9T0B7bx95geatHQUisGyVzu4AOurywMJv6mxBn+ta5eKymRPlsg5GKQAXmufQ14rF2B7Z1PlQ/X6y/PEccJWxiplQuoVvck41B6ufCYnX7h9MPKWho+oyE+O0on5YyhdZ8mI9Hv7LxUMg79IeNk2D272K+dD6fgAc/AK2QCu88fshRRC0c6VBPFd8eRrjSJPc+kW/Fb5kDa+grjQt97dQLcPHXN8nqWcZc6deFXUmOz5viZ7GkEsAjTRYZci3e5QU85UeVRuc/FAogSpTfsSEhOl7ifnyfF/tGgiUJiLoSy4zsxFG/65iVI8d1vraxgYzr8wPXDhu3FI4Nq5yFR054cuBOZp0aNhUxZDQtV77KB44QaDDD/3yObbIRHNbzRQfwtNrfXi0SgGGmgsNLTR0drAyIHpNl5ayM7zYmn1CiwtYFxDEuZaTS32SylWxxSzEgWabHw/XEA3dhs32btooVx5visglVylw+d9caq1ozEa2Cm03FGAm2BN9ltjtO0aTIyrVJnik5r04Pd+wMbe4471bNFnYUBauF+rYMkFgJQO8MFe8ffRyoJiRht2WQj+mJy/Yx7IYm56VzbJi2UVLMvRGdD72RsTaE8+grbwEKeTkeKakLBlXOkLVLHVZ5bBCIJCc2g5ZaNXQTRIRDa8hxVW1e+RASbyIwCmiHjlS/dD4XnJllQiDxK1MNTNsTTZJcoOlkYszaoKe6PN0AGLpcL/q//7X+LJhvujwd0CH79/AVjVI+tG2jCQtsFv0X5IcY7DgLCO+yUcoUyPIFpGgoWiU/aJI8UTCtpDm3kZHBuU1E0OdC0WR2nRB0ew0L3/gfQtagyz0vqMOq1gOCBBBFp5ORCd5nva7bfx7IPagpS7irnybZ0tXSQLOW4l/ovE5CdRmr80RxMxNmuc/Rd+axFENSoQCMNA65urARz2eFteLplQjBxXVb6GBQajZk2iwpNldMioh1OFUFAoKmkja5i7Ygilcn3J/PiQTTJlNIsjck+DcAs15AxsuOlGznFGEgqRdMTpb8W/uYjwCZHdJNvASDMEVW8jSVKB1rb5B5Ry9jg3PtR02Gjp6xlXQlqc621IU/+Xwk25nEfLh9A4EX8zPm/A4VTvuZvvqYtInEekc1zpWfGk9dZWyzIj3wLeVPltB8fE41LdFBdc4K5BGMrJGbg6uvoZ8VWWz7zL+b/93L8EDWCIR3TllFsEXnJKOuZeqPGqmyeYmU9g8pD1AbqGCKSYEtnYU3eMr2pyxo7RgA575w2Hod1ZxsQgcY849NlOTmPq9PMv6ihR9IYIYmjdYWctoi/10aiWFaWOXOY0hJodNuP7srkI/ToZ6KfdJY+XSNtBasrBoYd/SZPnCV8eU+IYaJ69kypVFKqY50ptRnRW9zvyWcuS0mGEKpySUIZluYoN4VedzRnZAj82DE2emKshs/UsibTmDLcLxpPavbZCP+D14QK9Ykh7RTPYifW5NGoMSVeSY19XoHo3uBHJovZITqNKxHgMHqENKQO440c3iPeZKcU+E7NrWCZfH6GvMlwAMM9F5QSP6jOuMWzbMeavhmaRqbQqmrhYz+Sh7NfU/q0UfeMmg51DCNqONvapW+F95W6/5ftHLaAn26gEDTx0ybSkTX5oZn8Ij3yVA4+v37fcT+mj3XMnMwSUVJXJtwtNgUZ2Iuk1tTJtIGCogwEhgPwmrXumx0EhtZIiEcv4SltfpSKdmvSNI2NcTyw7ZfZ7AmKMTr6cWATwegdbdsgbUPXYwqzMSDtYiDKDFg7l6yJYDxu86iHtmHbDBT2O7QPUz87tAHbts9WWW1b6gYmF7TWZqqU1jZaqoreB2QAbd+yIN8Faxi4dn8fc532faasPh4zjXPf82g49/IEA9oGpe64psnofuFBFdA9X79ZlMlrrc4RGUaFAdUYGVSuW4Tl8qSnnysB0Gq0JjQcZdN5BsA4RWuJPgTAwiyIqKg3QtEVHZ7n/Y3PWVGW+ZmAjSNZyHHEj/VIc2stgT118d22DbfbDQLB5eWK//f/8J/wcnnB6PN7274HHHVAk9HYdezeHMAdOwnWnB9LxI73twvhMdCedIGOuZzeKLl2YbJaN3GryatOtdwb+RBJ/vjeMi1/q9HYeq/Kd5Z2fawrNXEa+txweqna+waBIDfW3Mfs4q4gPEp5RvxdyucsS3nw6RSal6dtDlLGdcT1PUKG3RCptWZsqzENInWYp2EReR3liA99QurSICSiK2pNZJZ7v7FOCbIRQEHE7Z/pxJQmCxBHjDunmA3jGKABwM6r7Aqc9m6d4TmK718ePhH1/ZZ3RpSHDDCnfbxccwz5OqX7vg25z1kJhXuew0VKg1QsY+GpyTLWb41hGU+sd5GJBCSEmCQAhnV1lz71bqzF+eVrBIoh8ul+Tb2myx9C33NYi+WQEH98M3qR8/bnKrxLv7n93StPo3WHqP/uBlE/GZf+LWVShUH+zCRwXEdb2877Pq/VQtAweNY5CcvthXdDRjHQfSqz6xhTdjzpQfIdcn9LvJc1eMLYa3aZuy9UKQK6YI3EHmrfyPOvHV+sGTk8hRF9X5ymfk/dJ04vRRpFK8sFmzrfmoGHeM4z/q98pIt85L8FnYpOtPGSLDh/v2ohLVsqjXZ+s4ZIqCHf0zajdeR0fGAuXxz9qULp/NySirP6tOLlZQqJzIqkzvn4OJRq0dfApq8jRw+ZPoXV7YnNggm8fajMlCns3zl1Sy5zkXTAc7Dz6basmZij3JelisuW//tKYbl+2LBd0yK11CJ65Aaz5jbO9UNEUF3Bb9aR05uBOGifEWCdZ36JoslerHVROw8x+F0tssjniUlEBjydIhKQxiw+btKwXS7oj4FxzIgtmkL1wHi8YeiBfhy47DtErsDYoG2mp3VVbNpmWranxopAtg39OHAc9+mVulxmW4gx8DgODO1oOIDRMoX7Yt4899RHZ9ZhBdw+7mnQAgodD4zeobqj7XsASahi9AeOfkPbGrZtmwb1oXNMTdDGMWk6gN4n7Nov1+hQ14ZAWzJc59Rb2+xFUCx8lue6ulCgTV4EiddbI+7NNErb5tqKEkwgqDHfohB9A6hXY3hBfgthNsoYXFj3PAeQQBIDC89MgKZhOWtu7LRN9z76SFhAfBsfZm2wdeAEDnTvTBsd8lpEiPNcOfYCOp+PmVouA9rTox7TUJlnREvDy/UDfvv8hm3f8cc//xk//+UX/PXn3yDbNuVc26yZ1ewkvun2ZPS1g6DAHR6zUVg0PSGQHIIy0EVGTJMTWAFJ8eqD1gcULdVQ477iM4qyYa2Z8/dTjebCw1EDG1H0BfQFVqZaLDFHn99AmsRrupplCAyvqCG+UDdv4xGJJv0jrmtXy2BhbOz6Gl7P5k14GBfqdDh5ycXmMbXYny0e1sx54LzWUoqG+cBKMKCzZeR4BMvpNkvqJTzhwmMmg8THklU2Xv9IxRnE265zRjj4MgahQyKDQily5Q7PoreKfvO5uKqdDla1d4tZu7wfVTVkp8tkl0wiSnbnVON5RGpLo4tApkcbq7GLAPxeSz/vaUutfkZelLqnuqKvVa8apRduJEz2SbrAOwwbz62X0wMhMrfoqrrVG9M5QnJ7vjO/n0ezZBdyYJgf8lkuojszPD0864+11GaLx6Lg3R624EvrwnnSV74OUugafyVnqUTfEcc2g2SMQGSUe9XuafZ80GzdSboaj4J0aniX+GYRwHSs2t9PZQCa60XPCZ2tXttrOE5qCnZkd3kXb7tvj0ixRvR8SPbKEPHOGbTGPhvncxvzVoSK1p9NRlXZ4Tp4MZ9U5zmapkPrqlFPmDAgbB01gydu0CipiRK5Dh4FmJNPq8aWiPbvdmst6axkHKWZpsT+/l+J8c5enZYRwMYyBYCar7uPT0MDFU5RkwPPjAph+qFHQMtlODjKBi0pthJH/XgJldMsZZ0lmZQzo9MQr6PJ01U0s3ow6//Tjh1R769oWf6zHhW31uOaHm3xmUX2rZSuaZWmWZ9Og27W/AszK5IxLBZuoWmaTFbLuETsF/UyRqEghtMdsS2fRqqD/t7p2NP+TTe5g2MtU4ksqFiRgSZZSy7VRi5z8XeKCmGMDIQ0eZjcdnto8kLTedqDyGayGSc+/N7144YtrEnNUkgtZHikEEzDt6QMYILA7FbsgjVTZIUNZvteWxUhyRdXVn4OoTQ3VDJteqaFDujo0wBTYG8N98cNG7ZZI6HzbM/jfoeOA4fOBhnSLtguzZRvnw2ZtKPf5obdrlfIUOjjMEPcmsy0GeU97l9noxpRoG0AOvb9giYtyvXTW8KsMA/2xhhAPyY9xwP9fgdwweNogGwz4jUUfTzweLzh9eUVegwc9xtGP3AcB15eXrFddqj3kBrDDKoDe9sjHWFAMVoWgQPuKXRg0AoAKgJmibw5T2BRBrNuTsv3pbn2yBRc/3rcpdQUhVO5Tg1HvNsrRTxIkAyL3lYFacK+tQDHYdDQs9wDfYrawSNrI0BnNeeSBjUSnCEsP1JA7JB02PM2b+4iOHXPC9XWJPZb21pxDEygss0js/XA/dHxn//zX/E4OkR2XK4f8H/6P/9f8PEPn/CXv/xqDWEaRHYTdmMBzgGJl3M5v389K7esxlLKkmHZB658Kt08OdGcYmbMRcpYupmJxvxGozfz6nLcF07vpJQfLDz+7ArGmyikS3Z1BzKdXdIfmiBvYSwhujtIDKfLMt51KWTxnlZI9GTM9HPI7aGRDpcwigCh8kZKPjk/nsbBVjm9fuiT54STJKmVtyxSSHCSLWXC5NX3/ZmsUcGXlp+fMO+6Tt+oyQbEUlE9ikJVZM/qhgRuNtAUM60snLgxyBGLIKh/OtEBcho3zzTxWMpAREQn51nmDHJEEZgqe1ByzSNjQRMm8YiG7/sF8PJwXU7O/aBW/oHcwEpDiLXyP/QTf87fthhNyjhKuaYomGXghQOPOznXBEC/z7ktZ0virPIgOfpWM4q0yHSgWzqfLjkNXANY1nghZ8gV4l9vLrReqnmcSGQMrLxrX9vE05F1XZKyRilLaufq8jDS4bLwH0yWDmIxz0wRS+9UAt/PUuNrXgTFIZ+cqgFBymtakcz+actzKJKFDOSUyPyaxRBXc/Vh4696Z3ifEscybKw+4Rseb75fgkYrTduTHh/5M2dOkiFG+psv7zvDE/XAk0RarJS9oAt/CWUcfe/yHjbPlbNnseX6+f71rD7fPII8VjIp4O/2ZlG2yuTgCg5S2EF8LQxRLFlUadukPj/veoTezVjPKuGX7J6QQ+s65KK5cyHHlvd5ptECCZZdkmgo5EzgG/puOE6ej2ksz3ZMyRF4fuePXr+vK7LkZtjUImvmpUgiaFKGhHwLGOcDPSYYbZudUiTmHbbuctrR2wbW40i5RcZNs/OX1M6B9ZjdsHx3Y2YV9D6NW7iH/XjgcdzRLheMfqA1sWixQh+3+dbrTDnWxwFtwAMNow8ctwPbtmHbBF0B1YedsTag/cD91rFJQ7/f0aTNNLQN1o0ZUc8xm1SN8MT0LtPw1YHxeEwxcdzn8UPHAb3fp5Fu3pre+zxnbjyg9y/AuENlg95uaAps3eqIt216QRRofTZeGH12OeyqkLYBbUPTLc+7WraZ6gjvFYRql8cg5t5KwxMVqyH2aMRUy6koW6a0IoTtiMUOnnF+Ix6KIv8wChMUiLSIpEUVkXCfbUrjdEG7bLvwrBmtR6RxbhknjGZpHikmMDgQkcxnjU/SkzmV2GbNLprOuo62bdPzbCCAEs2nF7KR8FVB0xb1vHOf5Gy8vvPP//jv8dvPP+PRP+M//o//K/z8t7/i7etX/MO/+S9wewCy7RZJHVFCwIYVG0vnuII3BXMREEVSRVExiIoIqc9BrHulf+QqRdNR1jRryPx92tzYzijJ5OGjGIfwcS0gKb2yKW+CH/hYEOcdqYo4B7L8bqnp3uSqOPAJ5H6rPYePoS1eWEWmEeY5nOTAoaWZ9PYzB+cfst5XlnF7bZuYQc5RccznGN26rUFTBsf+RC+16AEWAu7rlLMd2S24AmqitHWqbwYSohuuIRLxhjJGmGbr1WRAlrMdzfqwOroKAIv+MgOrlcilrZhmnbhAFmfF4nhSfiKBNH9HyDVkBkbUWrlRkF0/T5iOvPPp7MgjP9S6+U45PFO6K0AgsGzCsPnoREsdYCcwXsylAPXOQ9nJzUuM1CKTwsbMU/MpqHxOLbaLU+LzrOkWjrB8qPd60KAfAHRd13ReGZvKEo6I+XLnfaSTw41z7kfRaQiyYB6AzzwVussnricAlzvCKC92xq7xSJylvBqxp8vkITkqs+9Bi2g464znxhGoDpUMAz97EsgI/iJrWX5qOR80HTbMX7EvrA8Jl5qM4RF242/1XZ5Ik9N9/aE0Mlt3GoWLwsAdZuAUbZBuftV1wIP+a2urLeSOaMYoY7JFRmREWo23Uu/EW+POyERxvBZyNF4JkNNjZgJa1sholPGTnawda3HWgme9yTIi5q2IVrIxTGzegga+rhbhl7I8JUIeO0QlsyCEV8H+HgYp6Q/HF35n9Chgo1Zz1pqZCsMyc1z+heMlbF93KgyMMbCZjO5kFPr8I5I8sutxZAYKgmac7WisbZHr7LkgQ2fPCRHIsENDbPy+fn05zzbZwDF6EnyeMjHsuCimONtb2e8nvkcUdBXmxKlR4rVcdNAraidpf6LQPvM+463RWfE/eP2wYbtJm8dueKfKQQKyZdJATZNiQTnC860RiXHhIZE+whuyMd4qushjnXso8khhwLCIE3WqHdaVeLvgsDMp/YFffvsVsgleXl4Badhag8qGx3FMhvbuyTpwf7tjxzajrccD29Yw+oHRFcfxwPV6xegD9/tMSd62GUlVbRiX3TojT8E/jsOMuqkZej+s0+xuemFgHG/oxwHtD+gYGPcbbrc3jP6CMTq2zWGP4svX36D6wN7ukLZP4/veI/VR28yK6MfA6Ae2ywbtikOn4etjGwQI5maOcvpYhhA84XXy9c8IrbCQdMDt66HUut8BqlnBYnDCr6LoF8Wv3sgslIN3U6WaROcwUxSdB07GTRg/YRTRPItRaikTmkA5eR303Of76JnHsTEeo/f6gdiD0/c8PXe63JZshkxVEakeeZgo+ekP/4DH/cDnLzf86R+uGAN4+fARrx8+zPM4fS/GM9wYW0wvzUmqg3A3bBi3rYoOzAYp1IcZBsPSPDO0k80YSiq2VpkQvErpRKDvna4Ad/PvEWNnL+0yYLHjmNxQP3n0zysLN/K5EUuL+Zphou5AeP6UmoqdxmhEW+B7wxe6rj+e8KPvnSSeM1GDm2iDFa57Xpf0xOZdvHmpXWEXE4d4JV7mpSiexkugTFwO5BgzTVwJzCaAQOiS8oZqR+DJXotoA5kRQTBZvsEMnHJglUu8bsuXA5Zt7tC0rAwtd1Gdlo3R03SVIiqB6UrUgB+UqZUTXPnB9y3HbA2BymjXKRdZzKCy7pXwzIfFw4YK14H9/YvBnhEh3uCzPdU5RqaO10IlNimRZxRBtESH8sbmBnQYZ8lnmRrKOmrKc2EHQfAonvNTkEeZ3cudqXPVIvcZsXO6OwNU3cetK0xmRU+OnElZF3ZC+u4lGeHr0koLBWqKtUyvu2ETk8nUZ5+bWJO4MI54XosMVz4yzQG16Un/WyYgG+aMhpFLlInpD6Kfsx31Afn2bn7+B2FjgsaOmK8zpZ7vWTI/nqowJFPH/ozGgnbOfEwqS3d4DR2LieZhFcx9M5I6Ch0Kry2p+4rlGU5ztdTdb+jMlBHLviTt4XuoqPjS00Qik0OJ1gpqvEUbK20Lzm2oOjOyhjwFmPBpQ9oegUzM5pmvHlZOhjj3Psbpz1zJofW9/Pn8dg85p5AwqpNcKzCitGcr1cjls15HTA/Gxc8Yu2C7RZIv+G5INvNVcviwzCgLEvRn/fcN/PZ3rh9PRe4z1jVcAfYDkI7WNkhz70Iz42SLmssAxJGF4fU8DV0FbbTZfaxZTEpmBNQ33qzLzfRYxTwQPFONh+3KAYw+04qbdUalcK9a46iX6wc87l/weNziHNi3r18BVby8vKD3B6ADxzG7Z14v+1RRQ3E8vs4OmduGrW3TFza2mW4y+mwmpcBxu+Fy2TBkmyfhygD0gOoOPe64v+3Ytm1CizGm7u0HjscDl9ePuFjEYDzuOB43oB/oxwOjz/+3Lnjcb+hQXPYdfSi+fv6MfRfodUDlwOP+wNE7LvsV0AP98YaxN/T7F2hrkO06l8HWQNtliiLJMwLhHlM76kiOydV+mHOAe6FyMUWJLbrRogbg1bvIebpBSwE5dNj5xtyBVEL4ToV+0LmDCoyWwsye0yxay9151RUp543QZmRVyUaZ0m6fimTEvMrPcWWHu7Vxggtbvl91nqzo1+GAITomk7KndzXINGAWTazeQt3ow4051BwH2/WK/ehAA7aXCy6XCx6xdhnxAYCtZaMlibjmc5k3NE5DTM+sqkVTv3+lkUiQxJr2uOJp0VAh038KcSVro/KM1NVT6oJ0s0hXD6AHUoC+GfzuAfeiSwjrVYecLzEAUzvEclpfDJ3x+3LVFPC8p8SeznowvguXnWQEDPOIupL0z93HzQ5w8VPLzeGhtl7ZhRx2Rjc/fcwMAtHoPT7cQx/efwfYPWg16T2sBmvKoIYsESgA3xUooRSPS4udGd4zgRR092np3EhsBvAldJA33KKjOcyDPeLZFZSys6yTNz2Nbj++iPJPyDGmS8qakNHBRuIzUM2geILAmQq9jaylnjX0I9CMp8+qnRwvoadhnzeLRwyKbS6sL1xi4gBKiiyJ9VsMzByt2Jnxtk7RHVpjXWC1eTORJR3nsScCfLqxp/kdH8vINfJmMCHnuadEpIeZ8y2iK7l7q+3tjuuMcp0oFRG8SgcuHXFQNyj64vidzHZzbGXtqgNsjR4T/MSa9ue6oLVgumx2VowCxDFyKcVYltl+pa66YeDYkXDRa4XTmEkfOjF8v801adSGLWaMERl5zjHRVQm0hJRd5EKJssCI7oOwSvCNGSGtGDyS3cAXZ2ELJ1GYlMlP2pNHaM+uzUFZuot3w4+IIwF/12MePLJBbMEjqaPLc5vOBqjewbfwLXuj7Rsl24vZVWkjefNRzxjyEijXuZ5tNu8d5sEPORdp1ESHZ2X0Mui0Aw56IGQMvObcOzcLaLRZfpZflILOMp38iQkWjTFND/maRvmQpBNBPUCDWHul7JcW76yOW9cbnAUwXyGl9hc6S/cc3ymfFe7yYRGyCVXzeEA1HSrUATnYFO7M82zK+WG8yXHByDj/kLCWA0e4PRFmGDlP3UHtmLyUznGM9xvHi/6968fPsX18DvDR2mZNm+wsS2+uQKlGrW0c7jGDSez04kZ5hpnu2MwgjeYJjWpybDHDkzHGTIGzVep9QHqH7Jh1guTJEQLCfcz0gaEdx+OOfdtwvVxwPB64Xi7Ytg2//O1XbE2wtYZx3PEA0I8Dj7evaNuGtjXs+yTd6MdUaSK47DuGCPZ9NpMa/RHn2Or9jgt2yL5Bxw3Dx30ckF1w9A7pAzhu6DrrgLTf0e9vwJgNrZrMY4WOxw3NGmCM4w4MxcUMOlFgjA6MA3rcIXvD5fKC7bLhcfuK/uh4/fQJAsXXt6+47DsUO0a7TSNzb3gcj9l51dIeWrtY6g/obDxJKQTvgkiCgjyjUYvpKGexH8WBhFqyoa/xE5SvY+DxuM80cGnGF2wEdzOG2uw83Z51fOSoogN/H7UYmM6og3uvIu2QMhXYuRqHbLtAUOc9El48EpWo7fI0UmktoobNC/r9KAtKB/ahh8ES2iJpK+thxZjr1VrDxz/8hC/3G14+ffRJxV4ZdhQGAriQhHpizInzghkG0SCKu/gtax4/cy102pP55KjL80i1pYRLvJn4Za37ciCxpA172lRwpzsjQGt37uicT5bYBxk/UlLseV9EGNd5n641CZH2x7KvMv+ufj8Um/++fD/WMcYWPy0RgZqK5jwNQWadMBhflI6nxgY4ElK2UgFFjYxORbbZWrpBV0FHbWj37P0OobUwXaC4hc5U88dHJAVTavB3SaZ8IpvO17OUdXIcAAmCnm+srE2WvKWmdcYsnKD1KZ7trPm9NBUkjBmNKfNmlaDXiWe/9TnPG07eLBKpXTpz7IUnlqcVZxP9HF59whD65EknmdMSe2jIWjc4lv1K0UHeP8rDCXnMxTD1JikrvJRL6CjUf0aDXDUlPmTUKETnRXkK0orQZgbn/HwsYg6rvNFaG8ifRxTaHYDeBMu/LznEajblC4WMycI3/ACiSEQLF+OD9xnvNVkzYdhIOFMqDIQG3pdAWVkKmIQe9uUIeQmTVTT3UXstFFJ4Bk4sberjZ7KmahnnvUWyUX0vFNVEXjCW+JFsJe2GusMT7ya20yCC0BrmwDzdlDL6ykZIjERLSXp7odBCB7q9fi7VGK97r37q8xNrXrt2MV75FSLYsIdedJ0WFCtCzYILHmmOMoezAnH6OeYW7+rKW8mcflH/LFY6Qs68iiNoT4STx46EA6bz/yRWaY1CyPv5pC3v8VJKO76VvwKnA/XngUVwo5xK0uFWXdZOai1ZIL83avvjNba//gy5bGj7Nj27m8PA13le6uVD2C3arMnUULS9ZadOESj1zxaZBmoUMQ+P3CV4EQi2No8GCWWmmIbb6LAmzDgex0w5BgA8gG2PLpyqM/LbRNBFMTbgeNwxxmPWujZMz0U/cPRh3RKtxub+hnH/irevXzDGwG3bsV9n2vLoB8bti3UJ2zDuO9plx77vuN8f6OMe3v5dBKPf8HL5gOs205W/vt0xVHG9XqYXaCj0MdDHDkDQjzvG4202ghodr68vAAZutxu2JrhsDY/HA713DB143BVtm0cGQQf0OKD9wDgeaCI4bvcZp2nzSKPH7TMeb4qffvqHed9okKPhuN8gAC6X1+kBPOYGGTrTfCF2Hm/sT4noJqfQITzirvhnp90hMg3OYZ2wVTEOjSZgraklm0tUzfhmlD5wOTrG44DuF2AD+rC7t9l9rh+P2QH6ei1tDtS6P5MWisied0GdvTIllTay623EehTYZKPnzmOf3AfbeIejbszWGnqk8VP/V9+41IlXwv9D4nU1jpHdZGf60cBqzrJQGKpo+2Ue4zIGej/imB/xDTw83ozsTupKK9Jk0vvqT4+zESmy67X5GxvgZO8EMPCOv2yE2E3qZxJyalAxDhCp08LFpZAQw/lSV97uibRqpVh/P0et0jgUlaeHi6ccplGsTgVK/XkqsH3yNm9qE27fyyjRNy0oVTbb8+w6Upo+JqXfM2rQCERqAYqMrTyKr4Cd+Z3PecZjtX6vG895t9RcjQoygsDzPlfyAerk6X1sMvFqsSnikauI1wYIG2UUbjJUOjXImHw2hJwU4pWoK6+tzj3uqgkojskrugdmAH1b1JS/ZPobkE42X9rpRV/RsSz/wjI2LM3eI5QWFd8ogqa0/i2gBq+TdyaoHZcR363Ggr8759UME61p62aQeqdSyb8jZCIBe6mN/3SB8pO3tnRA0jo3a7KlwrxrZ4frYpT48U4LRWPO3iSwrDzyPPO42WVd7dCbOnF+c4TjJt8T8xKx2joNWTPJ1qIRlpCzKBMTW0ZGyZhSTIYU6+YfXbb5fRArvyIuEOZv31taztMM/WGlHR63UcHMxGpTJuooXBqlaRrnlQ6jFXfltbXRXOliBIdhnCulWo9ABNF8NVh0cQhVd2vV5Yh3+5nYrXyTR9zC4V63psB121m+S9DXfo9yDU3jJCwIp1AaEIG1gOhj4CkLPKvsa5PTlOW5UwFslV6Rk+F1qOxQzhp1NlqfzdKNM+4syepfyveCq/P3QjtKzefjZyIqzxSi72vKc6ft8sr4JerYrRZd0qcW94hldTgnT9gwSsBGPZOV+5dgZpLkuhqvjqT3fLdEyj5UoN4o1OoCPEs1sikdR0ibGYCKPLJ0WY8wgn0IseeMH112+sI0lOesBnWIeHhgE/k5QaqwGIKYEn1plPDQ7zFtf9iwvd/fsOFiZ7AK+sGDmBtkazsGGtp1xzj6bGw0tnl2qtdQlCgTMJo15CABkF4LIwAV4MMMVB3Ao08DDE3Q+wMNguMxsLUG2YytVKFHn8y9b9PItSN0jsdj1rmq4suXL2hbw/X1BTcd2NoG1YHH8cD9ccdxe4MqcH39OKOscsyjd8zAbm3g8XjDZXuBaMfb22dAD+z7bgZ8h/bD/g883r7ifnvD1hqwA+M4MB4HHvcbtuvLTKPrA8cxU6N1DLx9/YreZ/fltu+zeYufv3vZMUaftb6Xawj+maE9MFpHE6APxeN+Q9t2G3+3tJvZgXmMGSUevU+F3y64P47ZVMg6HzfhzncJZFMgSSgVmZXf4cE5jtl0a97P7SNcCeXxEs0iojqGpaAfGMcNwIExDuBxoOFihqe1xoWiP+6Qi6IfALYd2lqOMTbsvNymWGB6zOy0mbwzrXv3Y59rAe3hpV6UWayL/6t+eIJEaulM4wcJWQ2DyOu3AqiOUQSKG3/yLaUpbWYsHB0fPnzEb/c7dDzw+vohnEnpmCDl6tFIq/XzKvdnKZERVXTF4elxIcgRwN3n3YdaphcBDEnaTsMqHSiMFCSiNRUwLTM3OqagXK3XAL3fSHuREMaprOUbb9QFrPIzMnK2RiiWG5O5yhpnSnVoIEIEyYNpuNht9qrhxqpqeV3YkMvreU78Bc9KgOMg9lz7/QsLqinKeTvBFvKcn3ddyppwbtBfJCLqmYDJyyiUchp7L5xtSMBOX2KAtVqha/1TpixXOpVMjdCVeVXpR2aUNoKOyPIf3wt1Ueaz1qg+z1+QEZ1MwbA1e0LrIrS08hlO0zjt/gU+nj6uUthpxZ+BZIe/k4yKNYzEC43KU6eBu/PVrKvq3JHTnpWIkKyRqzMNuBuxxPuVZpxP1fjvt43alIPOR0Qv/28M/xSvezLG4oGLkcVeLV9bYa+DzxFfnAlbSXv3+8zsu9kUho12pfXKXgX+N62vZydBmREZUJW8ACdgF3CeKyA8joW+fp/rwGo3s8xdxhC15IRvi9sxv/I9cM57PJ6vNfuBxcT8zLgozm8fcS87nSsNkcfFUFaGy4XCS5Z+yzpvMU1CCypW/lnoWsahmUTwfPvi9OX1IavSioevxlZKnHKnijVeTcyiVgrmUVDejJ72zkdXKWV9+NqnPzr3lOv6koBenAe0N0l/jEH7x/47dJQ1wUL7kHuR0o8ITAQGZacXvI+OY0uQQ6iuIzeTTGcQY01e85RmJUHgiS70+Z5+DwfpMyf2t68fNmwxOgQ7Ho8bLpcL7l+/Yr9cgW3DUOByudqiCMbRcdxvFrnagHaZZ8LKTufGjjiHdnZy7dDui/WI85na1qC6WYdYLaH97XLBeBwYx0zVhQi2rU3DRgTaGjYI2qa43Wf67/X6Ce36Cn18RZev2LYdLy+vGP2Bz7/9iutlx9EPbNusjevHgZ//+ldc91lX26DYMIDxCO/oMfqsuep33N9mqnB/vOFx3PHp4yc8+oHL3tEguI2Oxxtwu32dTLtv6Heg9wP3r28QEbzKTNdWM5ybdny4zqV66MDjceC4veGwtNJtE+sIPf/fjztub3dgAJf9il322YTKi9rHgftxA/oDDc1qOudxQvfjhsftK0QV/XK1+OVMS25bM09cRjuKyhZEJc+mQD/m8Uju+ZXWgMejgKumG/roEXHcNgDasImYt9FAq+SmbG12pu6PB0Q7RBqOPtB0R9sEj/sXAC9oQDgosLnHbHrnxlLUGM2DxBpued1MwfIWgRFET16PYXHzFUEacOea2jw7UiBRt8GNOPwp0WSy5dEFgxpseA2YeCsYGeUM27VlfyzSMZ0YG4Djfsftdsef/vAn9DGgUeNm+8wjmYPr8UjHSuUDTn8SEWzRFMTv0gBH/Kn3fhVTNBDBiACROTbi7F97p8+N63ueo86cvf3d60O5HYzX6zjQY4+qKzBex5kRkjVzIdqFx7dUWhO9vmnU+jtKTEqy4YhTy6M55UvVqOLPeJs25iFaB0Kfp9H4FR5w8tJD8+iCvJMdShLZEc9S5kB7xr+TqW0rmquRfa8gdNjigCO8xMAsfym8lrNRRZ5LDnq/Kea5BwiIE5AGvGMjG2jnS+mLDhnYsM370jBN4J/OI11kSTbGzHPEGSzGo6jS0ks/sDgJlhE//VSInRhWTVmQIIZhjko2heSOmt/i/1wDEC9q0OwZxs3vjvJbAnJrLOhgK97NZ93qiR6CTCGF7ekC4bz2OxwyZ1Ms1p33pqrJNQOgNleCgnSMGcl8wLrfAk3m2dTTuVkNwcLHxnvsFKo8Z8/27IJwvPLxNXNkm42ljxFHKyL2oN1ttb+CmakzbF3CERxRqzMYDu3BRwCRiajhRMqSn7k42a1di5Ef0JsyYSqlPOKVxms6navTYe1dv9HeHOQcEAxPb+dGRoRhQLwcz2NHo20Ym208+1Dmfp7lspeeyNm8hvsXoolcSWP3CJnjCDd2o4RneZXXa8c7aYako31g3Fce4eQpS11Wr9THnzb+sufCpz5sTOE+spnTGli2yDTyexqLSimyQg+N0z9GaJy5IyouEC9bWRyw8MaRQ9fVgoZ8SITl+k+tFDP2v/eo0NyZY+hJ9DTY96x7M5mh8RTQDpn/eCaIB5lAa250sSNbk5bJM+wLSJWXJ1/EkZ0kC9efGZe0OILzO0GAJ9ePpyKPB46H4uh3HLdZ+Nxx4CEyI7L6wBgdre0YjweOty+z9vPlamzV0PaWoB86jeWhGMc8IkdamwZsH0FENyJAe2McedDIftlxPAZ0KA7tM91lG5Au0C5xkBCOA4fOIyAuu+B6ueBz7zhUsUnD68srNhHc3t5w2eYRP54a+3jcIbhgNMV1AG2/4Pryisf9Me2EA9Bx4H7cLaV6YPQH3r58RhPF1gQHjlm8b6k5fXS8vL5ijI7Pv/2Mbd+sPnSEUmiquGzT8DuOY0bahkWJVXG5XiK693g8oDqwNUv96YeNf67d/XGfZ+tul5nydhxA7zNVvHe0fRL3uM/UZgzFiyqG9jhmYxOxM/kq8K0Mp9GVdRanj2mgW6rSeNzRtKPtc15oDb2bobNfrFM07470mDdpkMsV0gf2feBvv/wzXl9e0KRhdEW/A9cPLxAoHvc3fLjMn6c8ToWpLUS4GUoGIETibMJQHKQE/UfVLKh/Vh8gT+Qvb2AlAQqPM4n4QZ6hZFaDOFLXKBVLrYbb68bCOGBwGV7ZmQq+X3boEPTRsV92vFx3jP4ALLuAO0PHfMjIG8h3gIQXgGL4prBEghCPrI1hyt+EuVn2Tayfk6XzIIALAsQQJAklolgENFzOsmKNiq5pJFtGQzLCE7DMc1t0aKZteat7W1+ug/aaZanHnQRzA8XUcrCcpKPugEG//K7XsWa7Boqgj7xfaH48NkICBAxBwOMJjNJFIbnSMVmki8Gklpp2MlpPQG4hvSxrKb6Pa4GnTrvOnKDUlVJxSjGMPWjFng48MfIgkJYDLSlg3J2bDcegUrJ7gsNVFkgqdlrV+F4a7JOQU85khG81XIoBSQAhSJUmW47Nv0nz4bGdABmSjgltE6jWOTDMqz52mwoZF9+5SgmGpjG+QkIlGhaDpe61WINkpDI/BBBlo9dPyVVovZnSdPP5YgZAfauzgpSjO3wv+ri51lQDJ870yCgTiZ0vswkYg9GRKaECnHpL5LpWEB73izfAkVij5CeE/NLImLEZnxQdMiKOLF8YLItB55NHk89vMcS63lVOqrZs+GYNeTgeniN1ll/fY3MY/p11V8Zd8BKUTMdaWZJW3vcWPN876eTyz7NI4LqdnsOqlf21UgxBVlx5LJXSOq/L46ZTs1KWKuc5Jd3wmzp7uXEB6/RLGRclJJ+TF11pWB18PjonT8lC4kcGLZ+ROm/08Tmmc6yGyMyggu/Ye/MFkXXDNCAG0mGGINWqws/cFsJHjjFPqJCc6rHGGjJDY2Xy3elw0MB/zUs5w/nwZLBcW66kmiIjb+Unjb+X1SpbJb/hUf7dOs6XbDnNoFEJ9QSu9DtXzrR9UHgmS/RWu/3vXT/ePKp/ninB/UD3bndtm2e44hXHfda0tsvLTP293yEC9Ns0dDZsaNvFvE8DEkZaR78/0PuB6+vHrBWJDmrz99GP6SlobR59MwYgA4cqLtsF1xfguL2h3++Q9phngm4NTebxPJfN6ifHGx5v89iDfd/w9tuvQH9g3zdc9h23t6+4bs0OZ5+KZdsu+PTpH3C5XjFE8FDFcb+jQXDdLti2O4be0fsd/XgY2DlwvTRc9xn53WRA0OdxPphNcKJzqz5mivIA7vcHrvc7Xl5f0TaBHh2yNezbhl9//hu2reHoN1wuV7y8vuI47vjbz3+dxws1wXEAL/srFB2Xy2Yp0l/xuN3RmuD6uqE/7uhfvkAf96l4hndnbpABvGwXPMZjnnqoA6oPjCHA2IFtm825JicuWWuzO/XoDzyOG/rjmN1L3VOFgX77AtEP2OQFj/tX7Ps+lVNr80gpoU6FQ+I4hWmQCrBfIG1A+xv66DOd2moYLtsFb799AbYGtC0amsFrd6TPajEVbG7oNIH2blHptAKi21zN+5sbObx6empnK/DD0l1QegTJ/m5e+DHG7CjuBlrVfSEs1JqqZQdcB0upzLwzrUib53cKg48cV/O0XxHIdcP9eKBtgv/mf/5f4v/2f/9/ArpZCrjreQlh5I+LOpE4xbbF+c0TkXlkROjIGPquj0e8vk0x2gi6FLBtL/Uu2X30VOWUGgRppxrlWllFlFCvtWvA1qjLYiv0z+hXqhw/ys2a/Zoy8FodyU6VaIEGa1RiiZJSHVJTyWYbwU9CxlX+X5db4jc759lpneeQzjpCr3eGOw1qplXhc3+Td9scQum8Vps4wAY7qiFYrhEp4K78Ixhv3b8djDGAX1rx2P3eHd1WRenouOHgbtbzQRVjJZada+E2kGc5jJE1SbOBlYTVqu7ppxphhs4BQ4l3hSKz576roAhSVfWxGporHTWQi4zIcSyGbmRzsI06f1i7cT+75lhGVDv6eNf785MWD1SasZz2AMkA+8czVbo3THFoGcfEjeh/cDqrsjSZmbWb08NPfF0aj2U9u9C4HDg6YBvxXI/ozBrj5msSx/aRkUW/85YPgBlZNfZ/lxNOPxuzNyB0iT0sdyhlfwsDgWm9+aoFr/BpqnlfcX6s2RqQqP8L3W4EVhMekR0oLXnSHS9xNnnPdwQPa8hrlgEpj0C16zjtiDTUXA7a+yX7VDBexPJtl4+IOntO/ndwn9kOw99FR5AJTFYZzzT10xu4Xl9yrYvcRvae0OUvcUye0Gj92BqXQaQ7kXo5BuxHuRRaJU5QhZ2xLPH8pEvtJqxey02dfl0fRvYd4wLfQ56eHgm3dS14Br7SzftMuGOiLWVu4ShxeblK05QDU2ZMbKpxhGQng32tm0+DUpcO7n536qU29WvCDIhulCaukc4MM4K7O3AWGSRx3N/MKFU6Tsn5OB2RLXpVONRsJEJ7lARoyjSR0GXT1vISDI1gilNNgvtzHfmeXIcWjf+knIc+on/5gER/ol6aLQoZt7MUFE1K9pHEaSnDgkv0N/UMM177718/HrHVEYfQq50grEPRtzu2/QI9Htj2K7Q/LCJ4s0HNFJELJIynrQkOHbNm8vEwY1Ah4wBkgqlmaZHhuYTieMyzYwUyj9dpM/LYt7mBt21Dv9/wuN8gUGzXKzbZMEwg7ftljtUUdz8+Qh9vuN2/4MvbNAxmoyXgz3/+8zyD9jEjXNfXKz59/IRDG/oxcLle5jsvF2zHhn6fdYuP+w2jD9zevuLDhw9hyOsQtOs265CX87z2fUfvx0yX7gOPxw1tE2zbDlVgazs+fviIX37+G758+QxBx8dPn7Bddrzdv+J2u+F6uWDfLujHA/3YsO8Zbe59dgre9x3ab/h6+4K3txv2bcMYx+yyfH3B43az6OFsqKWjT2XWrAP0GHMzWxfoArBcqQ9F7w887m8YjwdaE2g/cN13HI+ZMn659NnhWQT3+4GXlxerq7YCejtE3EI/sbFVt/lembWzfWQL/6GKdtnx9tsvuFxf8PHDT/b5sPruGdUfx8Blnwa66sDoE7DIRpuVFSRnIxfpTJ2P4AqhwDqizUgPmz27hafcDV+l7yxpFyTUA1hTDQQrHafHCip1JEQFBMdxTKOid/wX/+Hf4f/x3/33eIyBAcW2Xaqgw6yrDS+zZGdcN+oYiITS4KMxwptJ3Z2VjSGvw51po6LDAKWQj9PHNOjM41oGGPaIWKxFJYADJZwHTeDHM/hSCv/gqW7xYqt7WYCxf6ekibEBLjQ4Bpd+14h70w6pkaXkhbVbM6tien4xoOexM0r14T5AjuSdalep0Q0kvafr3lihZDR6W7dMGMY96Ng8k0PTkZTgo0XEIzMGMqUzaH9KpyWQEXODqfI0E2IdypEvGdVXG0Mge8n2aH6nT1D8G0Rzf+aaFl3SQYV2Defwwhv7MGVpH1HES07Pct7IyB83fqo0QaypnMx2SXqUe53Vc83mHDfwFaBwXRsybpV4aVj6qZcleImGNyDi6JIDOJDzxoGTz4B2YXxyYhWaf9l7ZNqGoUCZBg7Fea0CCBPTJz1B40hHAIiPRGdio785jqcrJkTSkQYcZ1IzSI3UPk7BjHS/xflAI5SF6dRShzH6dH6TwFXVqAmHSjRaZMdeilV1RWkfeGp/ch7PyVe8rFMs0cgMAxKFDv6LaaXJ0blqrJ+VVirPQ3aBLJop1Jt1kh5lrMybz0y6ZWpPLmEalHHVp1Ae0MLPLfbbKpXPzyDZT2TX2FfpfFDTt6mblvnQpBoy44AeXeYiNDpZRhkj5zIUOtmEsyHOlKk/BteTk2/tHF1/aiSvOBWZxi1rja7rD8S/EqYeIQhqeOdTKty9jtuAoapHWMWHP5sZYpanOf2V9A+JRVoztWatONPvrHaoweaZh8BNtCg1mp8FsCEv1WEjEhmTIUdDTmnIjFKuY3Jxrbr63vXDhu3jcct0ElVs24bjGLjuV7RxzPxBdGgfGEOh447H48C+fYCODaIzOju6LcLodizNrGPd9302SerpyRbZod3TLAc2M7Z0DIzese0N/X7Htg/s1yvw8gLdFV+/PPD1y2/4oB8h+zwzVlRwv/V59M22QbaG1w+f8HK54Jef/4Zt2wAR9McNv/7yN7zdbhh6oI+Ots0QzTEO9LFDtguOo+PD6yvuxwPHcZjR9sA4Hrjf7nbu7I7j8YbWZjTYPXCPfuByvU5A14+Z+uvCGgPQjv64WYOrgbZtuL89sLUd29bCs3y/TUN4jh243W647BvG4wZV4H4cUP0KQNG2HTuAx+PLTGvW+ZmIYhw3PN6+zHFd9mkIH3f0x6Tb/trQ9h2jNYuQjDi7bXBUXXXOpc8zMm+PB/ZNIH1gu7zgoQeOw+iEC/q44fHQWeM8OnB07FSfIOpAYjLNPMpJbM4X/Jt/8+/x+de/4acPr/j85Stw3CH7jk+f/oDLdoXIhmPMOt8xBvoYuN9uaB8+QMaO4+gYMp0Uu+wW5bJom9vMLqxCApF6YCUQ5+bprA3VFMqIGr1mAM4j9rWma0h9J4oRYX0mQ6YMklz5RZEtakW7GbNDFdInDdrlCh2Ct9sbPnz8gM+fP+M47tga0PvkofZ6CbClbXbHzHOqzTMfyt4MzNIh0EC1eqfLnIcLrc0AzpwzGQwhkCWbC3FkZEnTc6MerDjojMAEdBlFTYAaK1mNlWjAwbGSFuckh4PBDDL2lGaK3felcEaExc5t5fdnx0HVPBcxoAbXLJfX6PJ8BygSNW2cmptrl5HkrIUx5RsRoGfzYf7zCXg6lzmMFkAnwMxaCeDiy5LdabkLMM+K0595yvUIRovItxwDwDzTzGTzFORJ1c2jXVG35On2Dh7r0V7Bc6XunGmQ98Ue9sGYAvemcQHy1vktEeJC+XASJGTn79YOlCmr/Ocw3ewdEfn2Leef27NH1PD6VWtZAc9C8dwSDYBFSYs11SzS6K1Tgdg5m5a2K3Zurlh2wIx0kvntndDLXCulKmCTAN/146T7IIdQxqv9WSlnVuOIf4vsBGQmAhu0os2itD1kXKy/f0eyP7WSwea/1z68Lhc0HL/pLHV+YJrxETLVqC1U88hNGxjo2ZgoUv3FolZuEDkgbhZtdyoO3h10Tv0I8dFIjxij2GxbOFhYzq8GSqoBc4vEBui2uzOThQRKXT1hY4U0gk/Na1Pjqxlxn2e2LnwVvPV9oxbEk1kTXv5K68P73acxoLqfnleetWREIaJiFl91o42N9di7nlrbKs97kyxT/tZbGD3OfeVylZzKZsI9HCb83pM9lR/kf72JU1LaXam8PhrZD1tkFfBrNGruSZ+69A+cRUfqSDcHTnW0+0/c04ShnwRfpWHdPJvQ6CjOA0bTEfso05GdxbUl1toMI4zwlWk4WXZpYcyLWBZTT57sljky2KNuY52Jd2xeUpJ2yQ7IxUv9rTMDQIsbnUlcsrHCUe36zrIXHCMNGHQeT573jevHm0cdBxSCYzwiLW+o4uizJnPvHUPvqWDHAYwHjlvDtW0Yxxtky0Yr87idDuiBftxx2VqkJal1+8VQSNug2tD7PM5n33c8rFlUvx/QMXA/bmhNcdmv0G3D64eP0PEFb1++4vXlCnm5QGTHcb/huN/x8vIR22XHvl9x/fiK3z5/xZfPv+HPf/63aB8+4vpywZdffsHjccP1csWH14/4+vUNj/uBl9dP2LeGfnTcbop9mx2jH4/7rAEVqxnF7Gqsat4SWNF4s8YLxwHBbBqlY6C1mcqoOnB/+4KxX9C2jr1d0UTxyy9/QX+8YTcj9nF0vFyueP3wAbe3t0mvZlFeq2E8Rge0Y9sconRAB/Y2N8Js6DCPfLm/fZnpwK8vM5XgccfYL7hszRpAWGJWH3Z8wzCQbOl7x4HeD3Tt8xxKmW2nHvcD6Acu+459b7Nz8+OG4w04vnyBdmC8vkJkw94OtCM9fr6hRn9Mmg6dDaxamx23tx2XyxXbtuPDh4/4688/49OHj9j2CwBg3O9TGW0b+uOB++Mxa4j3HUMfOB4drz99xCZ7KGpvkJD1ZhyQXAxJB1mSoGR+Jw0ohMMCIaTdUBh40ozkqVLTUt9ZYysa/4qnkXlqj3sKRdD1wO32hsfxhl9++QVDD4zHHV9+/QVjDDzuD+i24X674/qSCN691z1Sxzz3ZTYuapECau+yJhPcMGriFDM0WsOwdD8/S9HfowQEAoQ4ZYqCrHCzRjZNMMYh5hkNBSn6gOwGomKJle4jZe/0HdCTYexXAuIKvmLpLHrM3m+Rioe0/ED84s8Od7hHMwPFLkBt3tZ4TOzKDQC9gKlm0X35thJRXdVacm5ETkKD5QRHgHcJYOORj80aCaqD2lmya7yUc2uh4CXS3JUMuDR60hoQWoNQybTu8M+rFUTp3Am+3Db8lsmpcb8szwe6NydzYOKue6PTyeByx0FtZvtsRc7fc7ABFGDtvLSmLa6XxFwQQGmlAwNL314c7fbzK71G1RsTcSpdPql2nIrVNkcgGojmdttyLm+ZTViCS3MS0P7mM2pja6Tj62zwyemTMBSJtgFS2egC8yil7ZZR0/OpCU1G/d1g4LtzfwX0LLWkmhliJYqTDg7QkRss75xmMng9vAxnxNi1DD8FOkcE/fspF2BOKGTi7qn2usp54TmTfhJLf83J1QyMyjT0ROUP3QlB/Og73OY1JJ8ldKtIpf8zp6b4wi1pyELrwgIoeyLQOHxuQUKeG7e+Y5W4yAZ3KngivK+TBtKgve6zyU7Y7rjIdTfMVE7KyDKiXL2kgxAG4mifeJ2s0nm+ISs8unfOXWAhGXwETCe/GYZDv7EmNo5Iak7PCmUKmWZxnej0XyKWdY75ObRFVtLcw5bSzM6MHAykHJjISM+Ma6JtyGfv8xH8k+saKpj6QehW+S16H/iQlcdDEVxr+qvw7vS6lNrM/8pANNac+s4eOFIPLC+KcXjQgP88gJku8YPXDxu25kvEbkZC13nkhx53tMcb2nZB2612TTuO8cDQjvv9BrSGlw/TwFFpM9oqs6bs7XGDNOD+eENrDZfLZR5lc39gqOJyfcU4ZoRWJFMo933Dcb9B0WcH3/sbmo5oPrRfr9hwQHvHcevofaD3AdmvOB477o872rbhYem+P//yCz68/oQ//OkP+PDhA26ffwN0Rz8Gtrbjdjyg48CnTwIdDygEv/32BdeLoB9fofpA78D97YHRFX/845+w7Q23+xteXj5A2jz2SNqOqwham+fU9uOB3u8QYM4RQNOB8bjhuD1wvSr2Dw3H46tV3Gxol6t1sAX2bcdlv+LLl8/zCBwALy/X6PgKE5KbyEz5HrOLomw7+miQ0cwYOjAGcLs1PG536zQ965XH2xsunz5aGrpCu0D2fToqAPT7Hcf9K/ro2K479usVQxoul1c8xhsu1w1f377ger1ijANfP8/Oy7fbTFefToYLNhnoHehd0dqO/eVDHGGkquhdoNixCbDtDfc+oA34+vUNt/sD99sDf/zDnPsYBx73N2iT6L59//wrxlB81Y4hguvLR6ArdCNV1MyoNUSojYQqGlrbrAuq78sUO2L3+Bl+JR2U9xKBHge0sgAieMqKC1UCmMPPpDNLTL2m1SIm6ufVer3J0IjKbduGl5frjEb2BwQdW9vwePR5RrEmmJ7XZgJxpq/5eWxxoqlHCVQp0umeRxeqBNqlRTdQ9wMLtnjfsGdLGC6WphpGWuTxBBiR6D4hcRa2g4ZZ/9vCYBKkBiJdQnWSLedvrvoAi0+jlnlpjNeMCkq5mUox+WyEkUoKLgAMt/jPJLfmg7bgf2cQR5AsZXaO21MVWaFwtL3rdK4ptDSzLHy7AP4kn4/RDBgbzFi+B44KszGBBDJlDzD4IxMmcIcrP2+T7+YT7TnhvVVAiHWBLXPKJhqJCec3WzQpoyOOCs3d6KAzn4lQYuf5qjl+BMBGBv+J4OKd1n0uCR8Y8wn9P9813z0keeb8FDaWcrxs3KTMAVwKxX4DqKmVO/FGoUZ2ttWI2bljLNLmeEZUHypmRE2KD9q3Uo9oW/iRn/dstyZ4rXTAk8/5GWzcMugrvEpGLgCS/RI6JOq7o8lRUkypMZOQtJglIEJ13tXp5N8f4VhiJ4nGHieiAWFOgpo3adCUjf+BHFdXiSPnBJLykbdL9CNgIyO5lPnC3+Hj3drcZ6MYRmzUZrTM9UtVWCMcAbG3ZRge2steZfNfTHeEEzuyUPOc4SGLyWp0i0SMJ86ulT+YT9L4tA7MxE/RxUDr8+L7Ze1ZZyQt4vkFgpDlQvePYv9buZ+VpXm2Us4SFJLM57rjUmLfaq5Rigw2f6KeVzX8vkl7kr8cQeXX+1Si3ayOOJt5Zn60hUZCz3HjzzOUPL2bcjPI+Su6FZzjjoGgIuMOchM4FoT1KOTa8xyLp6JxIZuWEpI4e9qzvSiLQD2jCEm74AlN2JSHSmrBI773hWRYngRHO1wtk6b8rdmCjNDngRntlhq9rxlui3bnVIRoGsWnffzI9TtSkecROvs2N+HX29eZYmu1iv2YXXnlsgOqeNzvuF5ecL28Yihwu73hul+wacPjceD19RWXyweoKh5vb+j9wG+ff8NPP/2El8tlNv8ZHb1b2qzMSMK2XyHWcAg6a3r7/Q3aD7w9Hri+vGDIwOgHgIHHcUdTwb5fAFW8vL5C2iUakDz6gW3f8emnP+C3L7/h5cMV+9ax7xvu9zdcLlfslwt+/fzbTJfGNAz3yxVyveBx+zIZbgw8Hg+McWDfN2wi2FrDtm3Y9g232wNoO1oD9n1D7wce9wOjK15ePuDL588TWCo3lxg4+g3H18f09myCx/HATx8/Qu933D5/wQ2wI34euL19BT684nKZac99eEpvdiq93284Hg9cXl5xafs0/gaw7VdslyseX7/i8+ffsDUB9BWXvU3FNnwNDhz3A1d5jWMH+nHD4/4VYwxcXz4BxwOis/P0ZWu4bMBxXHG/33B9ecEvf/0XXI4NvXd8+PABexOM446jz5rP8RjYrx+wv7yiNUHbtpk+3Q8IFB06a5uvV8jbhq+//YZffv0NbZu1yqoDx3HH47hhv1zn9x93tE3xdr/j5cNHvH74iOvrR0DnwdVCjWv8f8PgQgqvYanXW3orkeDQPargczNjK+fVKHLwDExFY4gwBGZTBc5eYQDiUMnT+Jo0DB3l2WKGr6eN3d5u2GTg82+/4W8//0oRBmvQxtmLbHBI3kd/McGZtXAodRZF1Vc9uwDF5ga7znR2Vy4RFbFzdEOVecqRR9j5yBFrvAVLpWw0Hwfak6c9Qk+oxpfA560ox1/UxUqDyGnhwn1Q2quK0td9nNkcKyBqRFC18I7W0cU8+e9Kii+94WZwD10isZI9v6Q6NDIFvvLnM9VS4bl5uvV8bxhMBOiCW6KGMifYKGsio4HniyMXGT3yIy2e77Hnz1kgJAG/0syi/EtrSmfCClLmOu82W28ddC470ZDplYF1jmJPBCe2z/i7+V6NoVAlfO2Bd3pPnt8a/E6R/jRqx4kDhKILSfsV9LqxnQ4mh7WgbAh+6GyoMu9p5W1paq9GbR2VAz6iwRNHYxob7EAhGU3RJTbEmqT3J2jITZ7Ka5yPz7KQ90E4xIjv4/tryibH3DVlkGLKMy91ie9aakS2PKAE38SRmfJIZSW5lyUQskYkq9iJUx89PR6trlAA4HUtQmRJ0JGdKZnVUU07rkN0HnYTQdXTLb00IXdbCdIua5ad01fTMifhCUwcgXsmJGNf8UX1yJ5NI94BNhZTT/s93V2LYbLwMFBy2P1VoTTC9DTcEyRYou3rFQcJxDa3rALuQE9ND1OfUYbKctXMJc3PSAvmflzRhCes+x05uDCIWX+WbAwpT0q6gZSVO+xaGMyqIxLTgwNNj8bxb5T9wXPy7uiFDopsyEa9BKKYyvcy8zpmzW1mo6U+Zemt8JKbOa8RR1PVcqzQl47nwrGq+Vzvti7Jf36KRsSvrbumgvQFvYdW6SkvcOlFTA2SPXV+4Pphw/Y4Hrher7NrlXYDzsA2epyjOvqAaMfDG0Lt15jA7X6DbPtMJ5V91slaVEnNENj2Ge3bth2QhvuXO5plIT0eb9i2Ga1s2zY7Bh4N97f7jBA/Br5+fcPbbcfrp49Wl6lo+0xb3TBrDtFkHhHU+4xkbjua7vjpDx23t6/453/+T/jTH1/RzCB99Ad++sNP+OmnnyYza59n5kJwuVxwALi9vUF04HabRuPHDx+sG1ubUco+G28djwOvH654eXnBb7/dcX/ccTweeP3wMptaPR4zD946w81upDMC/OHTJ+z7hr/97eeIzN0+f0XvB1oDLltD3xru9xsu1wsggv06m0kNnenPl8sF/eswT8g02Lp1Y+7Hge1xzLXo9xlFUwVw4HJ5iYO6+3HH7faGy2WuQe8PHI877rcv2FrD8WaCt23Ytx29K45j1n62tkPaA3/64x/w13/5F4wx8Od/+BMaZofs4+02U84BSPsJ2zajL914Q/uBfn8Ao+NxHGhbw7Y1fP7tV3z9+hV/+NOf5nmUo8/zjFvDy8srIA2//vwLXl5e8Y///s/Y9lds11dI24C2TQcANOqCJg10duamutYRHXBjCwa4KniJlXvpt5uC7tm2Dk8unamn6geSmVAYI7sUaov3z63fLLsrpYJ7xLx+d4yBt7c3fPn8G376+IqfPn7C//7/8H/EP/67/9GTiBynpzlApy6UklEG70bqAl2t06K9FX4gvITH3VPaEKlyzdNmxkgP+mYRGm8Q1toEgNZ8asq8TGUDrNVqlKtrCGaxWivlNlJKDgY2nlZj6lnkXZT+nm+pqjIBlBsMTe0ExECF3H2R1WuNzIz8g72f6mP9XYRrNCa4dkCDRc5hPnMGErZ/nzlcnqohnmumPzVqJpLg2amfzWZiXhG9pAZBFikt42bAY0CO6yIDGPhZhEuU+O9ep3W2cbkDIhq5adTqwoBnACpfkw1YuULsHXFsCIPBMsZzMzJQ51Jek5WGIgIOqGih6XnlCm2RddVS7qGIceyN/LsOS2NrEn0XvEu4HRU5d100MGshp5TXKewjDdYVAt1KUbOnK1pz0wvgf5o9Q03JEBkgNA5/SjRPSzkhY8zaNtnqHju9xowyFSsBss9USvzRI3YzVX+jvWr/BBh9ZtBXpig1omgzIqcaHYvnnOYMZxPJdIS6Piu6imR7xKvYFxaLotkILhyPLtta2YdekhDnkrtTNMpaxI626yQRRm0myA2B4sxchEAWkF458fQaBfJ1qDp0dcX61YJnzksQT3xWYhCOH3IOlBtA6b9nd55nyOQ8EvyfrlOFijuOB6UOl9uf76zFKVPO00YygcOVMn83cKIx4JK8qrkyrKZWmRY8qGmMOyRrkgNRl1fC60tvDqedp4Z7CrTpE58L68rIVnHckxlp8Wwb38RvczxDUJwLcz/0NCKL82fEfYEVHcj4e6pgT173niYkn0OFxD2e1UFWo//V5V48d0bJNzJtQbTzIIk7gESzmZmni2eAxl/P5xoX7iHcSXvbz/s1Om3tCX9/4/phw/ZyueJ4HBhtHg1zMYB5QQOODuwd0Blxm51vZ6Tz+vKCR+/4en/gcrmj3x94/cOfItJye/sK6EDDhk8//Wmmh0pDE2tVrcBl2/D2mGm0uByWOw/s24aHwM5C7Xh9fcH9ccfPf/0XvF5fZuRSFcf9DRgdx9HxuH1FwwZIm82Y9le01vDy+hENA7/+/C/4+W//GR+v07je9zYbSAnwOAZGB1QbjvsdOjqOx93SABRHH+hD0Yfi6B3oO8TO5e1d0fTAcX/DvVm9qgy0NjsXtwbcR5+p3r2j25m7Tafx9eHTTxPU/+Vn4y9B2wXHmM262jbTZ9++vOEPf/zjbE7Vmp35O6bx+ujYpOHoHdt1wybW4VAH7rfPuOwH9ssFzYzy29sXbNcXvFyuaNsFkIbH44be7zj6DbtcLL25z4JxdIz7Ddu2QfuMsI7HgbZfIPuG/bLj611x+/LVIrCzgdhmZ90+HreZFXB9Qe8dt/sdr68fcbls814I7uMrvn7+gtcPn7C9fsB4dFwvO/7w8Sf8+3/8D9gtWj0bcwDHccdxdHz89AGvr5/Qsc3xmOt6mBcKHl2TNo9GMQXdttVd67VzbngKATTfpAZTIk3Wwe0S8fPGQEKKQ9Nzv7UEAqqK7hGTaCjg+mS2tN9kC6PPJMN0AKlCzdh/ef2AP/3Dn/H29cvcR23Dr5/f8B/+4ysUm9WJ5zEpLtSaOUOGuBLxcKbMCK9y5NpRhIvdBJVjZBMaymgsHnhPA58g2fJu2ZADd4fOZXGaCh3FlOaEKzFvWDIdN3FGpCvFpSNgeDlHpn7H37nBgdWeRA2sK8sFcPDRBsOaouX4c02rk4EFOhvqkvUqrkQgGDKP2JIYPzkT7B4HGwPunU3jU5GODKxvFimgOeqTn9XdaiqmqENTzLOxo0HVOsOMm4e/OAyKBYTar96xOxsLSTSR4ktE0OxoBV8Fj1hEmhR/JyLv81gqB96ZIl/dGAyGAYRxDevKzxA10uoLE5dXV3OTDqkPDvAjcfwZ5OxxsDkkDa7MuEhw48dCEDHtd+NnEG1CHnB0iLYDjX3WtlvMZnDqpd/lKYj0bH8Q7RmOuDCf6QIMeRvl31zG+hLxvXQcjkesVPM+8Z7ctqo2V3fWKdSqNBSKw0CheDVEAOzYo74/u87U+fBBeVr2KL3flQ3YsheZymQQevQwDAHSHcXdxgaJORaH7wYHtMR5JvedpuIzUx5FMQULEyu9co0SZfdcMl7gNr/zuR+hxoYFynm1AKLpY9Y9Or8s5QbNG1chnRSmywQossHnJMRXRBgy9qrhwldfTgNAPDtNMD/SSvkdaUGa02wpbA/9Dko155pmcz+oR6x9JoMi9M73PpZqvFaOKdQugzw7QJJG4aihrIVwMvj+13SypBx348xlDGMmZxLF0Ea8bZxCpS+8Ph5THO4sM5naZJ7Y4s5WjW78/kjGbWo1xRoMzNHm7AChfBLgiWax2lLxZcgas1AjezCOAtRYV6igt+ywLvSD0mOkPp0XaIkBE1+UMSW+ULUg1HFga83kepb/1GQdmrNhr2a6zKrpysqtVFLtFk/jkpkfu37HObZ+xM+MzDYRtAHgGNDHAzczZh9HxzFmre227bhcL2i44D6GGUETiI/xgGwN99tX9OPAp49/RGt7lk6LQraG3375FT99+giBzo62Iri82DEgbTYT6n1GkDE6tgZ8fHlB2xqOxwPHMQ3Q7kD8eOAhXzBU8OmP/wbbbp7RfdYcfvzDHyAN+Ms//w8Yxw3jcY/a0Nvtjg8ff8LrywtUpyGmY3YXbpcdn7YN97fbbFyzTQNylx3bdoHIhq0Jvn75jM+//YL9comU5DGO8PLP7r2WDqoDRwder6/Yr694mKG3bds0GvWwNPAjopStCT5//oyP5qF53I/p6RDg6IfxvUDU6HO/Q9pMUx2yoUPRHw9cri92vqviuN/Qxob9coFqR9sFAw8cXYHRMbSbN2WkQILit19/xiaCq8yjicYx8LJfgOsL7pcrPvzhin48cL1c0NDxOB54eXlBE8H9fsd2ecVxDEi7QKG4H3ae1xj47ee/4FP/hPF4YBfg9dNH7Ntl0mYcuN9v+Pnnv+F6veL19QMurx9w9IG2XzL1M+paUSRA1CSTApz/hDl7TjtcgBYMXMxzZQn8ataUoAD3uqn5mQALyEwjcsHatlms7xMRU/zzHj/7dUagNbyYEpkRf/zjn6xOomFrbabxt60oMyVAOez82UZpjKR3DBd6uvDziFnMVWDHMc0zZfcyR78pFW6kAlGKr/N0KhtHNMPSacybac3b1AFyAHLrojvMQyle82Qt8ltL430RrxwNys6jiDG4F1Sty3d+z85yKyeFVnUQ6x4gwDy3zZWeGzfksRYNYzeMHAIy7hgYtkaDIobuUOHUVF4xN6ZEFmhm2TtoXo9dwWH5rSU/dZxryyXAqXFtFuqeaBOcpPUvT1Mc6TGcEp4A58mznW5RIzTiYy2gyenFteS+dzIllKF/2JuUvVFnlXDa95eAAAYNcZUfBZNpppVprKLvI+ZnpfHrORoFrgkkIyRe7HsStB72fEKymX48gjPqvGttsgM9djiU/WHdXmO+7jjTrP/nK82kxQihdwr9f3imic/JI4xP5BM/ZoLRFkaDG1l+ZOKc/PIcTgmnaL0buVL0QT3mTUtt3pKpQJHm8sI4TtH5i4iy8HE1eeoaiGYNJF9Mi8Kw8b36oFVHuGNQTDYpSMZGqrnDc60NgmzujcfPFhXSodW8XOs8M/tv/Ys3fTzPtH7f3xsyszhMyXDhbrqavJd0oi71TwiZDtT8NM9izhlwRDzHKrTnUu/WpVm7AC/zpnLdYr45xlk2esTER9IBJeulACCzi3oaN2IZokFPYXbN9yjsmDYh6uXM2skAXh8AGhBirwHNOpuzXknngtdLB2fmRij7ml5a9gob8UF3l8dRk6rUrMxlkgZ1K4dgMVy/uYxGXjqCz3DEUDdqp501Hg+M0bFfLpB2hVzqvolthnTK5tr5j5rlLVF+Qd06RE8y4UevHzZsm9WLij6g+4aX/YIvn7/gOG5oDWjXaaTcbjf07M+M++2G7XLFy2U2OGrS8Pb1C646ZqTMo306sIlCHwewzcns246vb18wjjdcLhfo0dEfAMZMmW2XZjWfbxPvbRta29D2DZfLFSrAl19+wdfffgF2xX694n77Ar3dIe2Kl9cbIMC2XYDDGHC74MMf/ojt15/x+nLFb3/7F/zlL/+M6+WK++0Nb29f8fLyYUZye0fXPqNZQ/H6+hG3txnBfbs9sF+u1iEY6GMalccxa5UvTfD29oahA7fbPPKmbS84jtvsVCzdmhUJXl5f0Y/Z1bZtgsfjhsfjjq9vb3FE0Ne3L/j08SM+ffyAr29vaG2mIus40NpMve7HA9pnA6rb/TbrjuNMUMXb18+4vlwjjWzfL4B0HPc3bENx3IH78cDlusM7zLRNMB6P2Z24Ce5vb7h9/YKPH16h/Y57V+zXlxkF7AceX9/w4fUF18u/xZfPv+CXX/6KfniUd0BwRe+K68dXyN5wjI59u6AZaO7H7LaNfsOvf/mC15cX3N6+YN8uON4+4+1Lx+O4z/N7jwdwvUAAPG73ebbvRdHHAVFLiafOlC4yRpsesWYpiCwY1FOTon38WR1yY5ApwD2XeN2kLjjyrFf/jqehpOcvPenZMbEH+ExBxMqMIOtmZwBjYNs3/OM//iMue8PL6xUNwL/7p3+L//yf/oqrH0PFNX6mBKJJxkDU04pFYYc1KJIinFNFjq7zfFrkuWbiBOW5iMysCAmZmG3kJdvgr5aIgnpXWRRCWgvjN+tOs5lEGCNjRlGkjQBhEbWQFtGCVGz0TrByWjol6zz0sFl6puuzEPKq0QhnpgLR6YuDOCgMKjrf2XkrPN3mfR3eBMoBcKKNSLl0Q22MiBwGqF1YNMFhdmd1euqScrhCIo9+x74CKc5QpLl/zqmiEkeLxIwJE+TRLbUBVAUj8aTyc1dELTDYUKeMgpiNgwoaczECMGJPClHAOU74bFZ7MoOPUZwFTndEtsD5YPo1RjYznHxyjCMZ8K7vwBOHU75fyvpAar5JQEUCbWnME41QI6ZKY/oWAONUOcG371XNA0hWuO8gNeYb0xiRSlgA3SgTMVBsWR9CZ12fRpSgtkTkVIvxo3EMXM0wgKXKRgIMPZtF3Cj8HuQMvj3vndyvzZzOqrVbfXRMN8A9dE399ywBDQNFkFHNeBMBWObK1Km8wLlX83zPmvng9PKMgTC+4L0OZpRIQknlW0uLNZGyrEUGuFELprtladHNqalybpJo4DxHWrSysxRZjS4ZIaadWjzsNQpanV/OI9VhvO7/+Y0hLZ55TkHVOKc75SoVgkRa/vyeZx4MMX5C5YvIplh6Rvg5uHHesTERP1mXkyTSU+6Zcbmn/TtDR8q95SpyyWtK/WdIGKYS/O+CiaR3lE/ZM1mY+LF0p4Vm+gt9puHNFH5XKkIfnpHHecHwCkXuJx3SRF+gUFni1ah2/mXdRUlmcV9EYqcb3BrMjlkOeMzyw8f9Da/6AZeLYmsv5qhuM1DmjwuHbO6TOMgsxkalVJiOcqeJRkr2k0l+5/pdhm1rAu0zRXKePbuhH3ccVuN5H3eM3qFDcHn5YJ1p73P7tHmUyOVymTWS92l8vVx3W0yFjsecZJMJSpvg48cP+Prr37C32dX3Ng58+PCC4+jAfUYqjvsbAGDbX/HyOlNmj6PP7sto2GXD43G3yOXcXC+XV2h/4MvnO16uH2bq7rYD+xWCDX/68z/iyy9/waeffsLf/vrP0N6horhcLtj3C1qbgP445tmvx+OBl+sHtG2fnoxt1g7vl5mue7/f8HK9YIyOy7bjcbvh/rhZxLjhl19+tW6Dk9n7ceD15eNsfNQP6NfZYAuiOI4HjsMaStlif/z4EZfLJWoo7/c3DO3Ym8zzXG0MTRperrOmdwKd3aLGA4/HDWiKjx8/YmvAGB1vnz/P84S3G/qYplbbP+KiM5Vy/H9o+9MmS7Izzw/7ncXd7xI3InKtLBQKQANoTHfPQkoUaSa+GdKMJtFMJn1CfQPpI8hkJiM1w+GoOdOc7ukVBaC2rNxiu4svZ9OL55zjfiMTGvQLXetGZWbEvdf9+Fme5b/ERPIBu9mglWK7a9jfOU7HPX5yOSkT6ILW4ts75fNotVqx399wf9+zXq2xRuDudr2mW62JKkMdtM7c0oTRmtGN9Ic91lq8ku6qVokUeoLzeOe42O5onjwlak1SGq0MWhmcdxKkKYPVhct0HqzVjWgJGlpAaOQRZaDa0tKjdp3KjqLqhl2/pKzl5eFSILtLJTtKGpah0nHeWeePiYvqWunc6dzdPb8jbe1soJ6hZdpaGhK3Nx9oWvFI7vIGVe5neW9KiTdaSOfsnMcQvtphKQlMRAoT891XDsf8L0Uca06AUt78Beoi46SzJZYqqrFqsUmr5ficqxCn+vNlpA9z3TVVEaqkIEUJinRJxtUcKLJIwuZzY3GI5bHSef7WIPlsQ527UCmmWYeyKI4uDr+SWC3RiCkhFmHL8avdnAVUVj0OLhe/c2YrMM+5jzqei3eWPy8h5YsbX0bb9Zk8Dj3UYszPKsnL9yw7dHq+5vleawj46JnMc/MMqnpmcSMfEuewIQdoH8OviyLqXJFfJOaPf/9R3FiTlRrAz19+Fqg+Kq7N6y6dPZuzccqIiIJIIFfAz4Op0i1NLFdfqp6TZxvRHHQt0/LHMXvpHj/mBp4hJePZZKlcNsWjYHz59lmlu8yh+cks5sKjEfko4V2oks9B3yIRyW+I6fzeZ67t+RpKRWVXMXsZ1+Wszh/2cmJK6J1/VPapgvwpd6XQ1f3zfJyp8z3luZo+mjdlBEpxKsbwyWQn1aTqfD4tk3EW/H5dRGxUnBWwH6Vz1LFdzu/Ma9Xnhc0l5LXs+8sredy5nQPd+Qd6maTW4T7fF85GsHjwLtKMs1znfJbL7y48tOdfLHdWemSczbo5uZvnLcsi9GLOzeI66exTFg+pfm9aXkSdcI/el5YzIn30WfPVVmzTYkTT4u7LQq1Z16KDzdl7l2umjFWqD2T5TfNF1tz6sXJznjznM2zW8Zg/IS3grrO3qq5/n+OV5dNdonO0mp/02Vgu9DWW91sv8/Ges1xfi/Ng2eCoT+T8jZX2+6mXyte1KCvkf8+xDsvgM80SXqUxUHnpn/jcR6NZ1uJZK/2x9ktKmX6V7Tadg4wojd7hhlFoflrRaE1ICk/CGItpdU7Jl3GJOhtrtbxAlVtBSYnHMWW7yggZxUfh03/q9Yf72OZNUysrSdLYi0qwEmEplKpwZZ0hmARPJOFilK5ta/OAOema5imjtAFrcWMPytAqjVaS8HarFfgW7wdpg6PxHqKXDmggMY5jtgpaiRiUNbhx4rDfE6aJrjWYoBn7E03XoHXC+x56gfriHMQt7cUuPwjDeneFGwbG8ch6s6Y1luH2nqZtaLuWw/4eUmTVNiJOZRq0sTx7/oK3b14TUqQ10n1crTakGBj6g3RSGysCWzHS2RVKKZyL0kExGqXB+4TNPrX9OLFZdwzHHlIghEmefeZDhSCJtCg5C7e0MUYS6SD84GEYgYSxiRgnCInGSiIsiW3ANrmSnBI+TIDPXFVDNE0Opg24ieEYhaOZ15k1Cu8lgbVtQ3ADwY1EH1hPG5r1hoBwPYdxQishgxutOB2OuHHg8vIzdqst0VrGacRYC8iYkDeccRzFw1YbtDFEItuLDU1rUEq4zUpbmnaNadfopkVpg8lcBBOTeLaWzSh4uSc9H4LlkFtuDaVqVFQVk4ozXOJTAeiiQlYCvbJhSvx/lgrJ/6r50K+d2sWGXainZaut3cU0H2KxQFdT8bFdVkZn+KoPHq07Bu+4v7/nd7/7TlTKVQlACphJAq8a4OQi1DJ5pxiO10MxnQVlJp8SFT5TocozLFiVG6nfV+5teQDmRFEFuU/FOdQwxxBasQgsPpUaUL835B1TpxmCLIG7zuM3Q5V04UwtYDPLrtDyDEslxfqUNUOtWhaBE11nUJ2Bak5ukgqLg6F8RyKUKjdF8bnAk5Lwd4tQjWKRtKU6F5m1pfOhKO1xmbe6HqKJ4pM3B+i6BunngUxaJAYp5a75o5PpfJzSbNFUM8dll3kRMC9FZPMaiTn4rJ35EtCkc3uh+UAtY16CkxJ05wIa8SwxEI78Eiq4SGYfJe2fillUGaM5G8qd+XoTC/uvZcrPIogr6pKLlnCKWVRtFuwos6fMVtlD5jFNxTt7QYVYsNUfBbzznKhz6BP3qRaPaw6QH0d1Hyczi1+cP3fxXFK9yHkfWX5zSud/XwZk9XcW1lNzUJ7PkhTmd9d5nddsLHD+/NVq+b1LakUJPlW1WaMEjPn6zjusi6RGybqdkTiLOXc2N+RZmMwZV+Ue6v6qHnX052L3XG+s8JszqPMipVkkPIvfTxBghnXDAgqczidFSb3LelSxJs5azYG0qhzH8++cn6OckvFsPlLXYqpWd3L/OmsKPN6FYwFq1v21nOOczcL5jFtMpLPsYLkeF+Nefjk9+sxyJpQzTVHXb81Lyvep8xlc12EZ2sqHFxGij/u256J581qc+aNlpD/W868A+fN1v8jZziDkZUkvVvHZZy2Eh85X+SLVWxRJlndREh/4BPQ0nxGPrhKVLaPO0QOLeaPnfX8eIzXzZfP+8qkiW42r6ugUETyzoGTNnHZVmiMpneWKZ5+ZnzvF9SQtn/njGTnfbSSilaU42oV6haVUqatI01kBNq+3ukMtIHAlbp3pFXK/taiT3xfdKDmJjrjTCZUkcbXaZotIj0uRrmlIIeIT6BWkZPINZYG5FCslIC6mcDU+S4koXidoTL13yW9mJN8/Bpb8Bye2MQR8SqzaDp9EadcHj22sZPHR186f1g1qUvimgWRAB6zRbLqW0U2oGBiHga5pMg8RWgPaqGrrIsI5MgHb1jJGj27Ebmfqj8QQa4clBCdwzxSwRgSsprHHajBtQ4helItJ+N6htaNLEKPDR5jGI9oaTBDfVKU13WrF5dU1Pzy8zTAdOQhd8NicCLbWEkLEO8/u+pL1aktMgcura+7uPgCO7faStumI3UR/egASzovFEJPYEMXosUaBFlsbDYQgwjLaGLSJDOMAKTEOp7xtR+FDRs9wOtK2AgWWpE+Cu8YK1NZNkxQbjGKz6dDK4L2Mn3OTLKDsgauMQKRXK/nuFKIkfkXFuumYhiP9OLHe7FitVlilGIcjMUamaaKxFqXFGur+4YBtW5pOEnitFSl6QvKMTmANbdvgfaCxHUoZlALvRoyVrmjwQ34GntW6o2uesA2B/cMdPjiM2WZxL49SmovLK7rNhtS0BCWw6ZjXr0pJ7islUavOi1igzmXRLzaaxVpSmbua06caBCslyr5qsSV9vFmdb+cFmkMNJBZVxTlCqrmj1gJPJXcZpeNgzt5b4GRl0xYo16ziWj4rZT9bCRC0dOiNldpnKtL95UBZJNqLbkSJO8+h2ItkddkhKweILtXYsimrRbBff/VMNOvxySoqg1kQ6/zYnAPNpcDLY/jleViy6PIu4TIL+F15T/6yem2LLnX9PPVI+GbxnY8PsCI8NEvlU5+9dA5KgLMIJB4F8/MxX8MuCtW6VKrrc3gU0C0z/vo19WePuhYFulz/SX0UND8OBRPCTS6/c1ZgWHR1VQny1XmXZ76UWSH87EGQ/XbPIKQzWuJTic4yo1Z8/L6Uzn1YYa6Ef/JIfdxZ/tTvlIz80fioR2NQvnUW1VhcxyN/1I+tfuZ9q/z+vBbKxeUQvq5beenFMCxD4cdd0sdjmc6CanlXzCJRcizPHPuzlbxY1wVGuBQDLWiSZQFnaRtRfBgfdznV42e9uOZld38WfDlPigvnd/bWzj87S2rjmeVXWTfne2CZE+r3zoh6XYvPISOPCiok1fvRWbAqz5LH++JCvHCZtD5+VYVSdT6bC8XgzAZsIQSks/AZi7fr6vg5f0oZgFSKEwu9gyIetlxxy844i/Vfvmo+JeqOOT+PZTc41UVSdRDOClM1kSl/fzw2S3jox36pFP/qCr84f79ejOe8JpbXXP6/zNuP6R4sZopanGuVM5k58p94oOf90eVelR6viU/sa7Ng7fkpujjG1LIAkpZfNCdn9Us/wQ/mbC0vz+UFr3exA6YzhMz8LNNyftf7XiRrqlxKmVfzfDlfD7mkvGxJL0ZIn1nNlMSr1MOyr29SZ8lvQYjUxPbRCJzDqx9971lhIs33tpALiakgusodq7xXJCnqLAsD+dNUHZrCTJecYKGJvpg2lcgunxIlH/DZGnS1akkxEiaH6RQ+Jqy1db92bsJ7oaNqpfDjIJY/TZvjzIVF17JIXNEhsz5Aja7P9iP1aC7/p1//iMR2gqTxLkIKIoqTFNF7GbAQiMFL5dsYbPYOTUmjVMAZTbteizqxG9AqErxAl+2qJYY1KU2ShLiJZGxVbPSTR6MYxoG2baRjmW8yBun8NU3DNI483N+CFtVihYzUqu2IbsB7h4oB545M45Hd7lo4d0oxng4kdE4kDa0cKWzXOw6uZ5oyv3Uc6ZoV2lpSmPAhsb16irItY5BEZ/SRhMFH0KbDNA3uGGmaNZv1ivv7PSjNerWFqAgu1MmltcZow3bb4r0XvmnTMowjysqjj95htMJ7R/ABjca7wKg9XdfRNpLM+snloFMSdUlgJWFtW8s0TQIXd7566BIRteTFYahiJMRBFrFOBJ9wU+Di4oLgR2IC359y9zdgNmtIkRAD3brFT0fCdEDpFmsME0FEr4LDaI1uOmAkMbC/f89qd02zbjHFezMl3DQSvUMD1jQEpWlXK96/uWG32XLqTzTdlssnT7Hthogh+ghWulBKGUmKsva/ihmqblq0LdGVQmsrG1VeQ2eHZap9kAwTngN8nRWJVVVRflRFriJAqtZKE+ksTilHjyqx/+KUWHYIqmS9moWHqIdC/tbcKUuxBElUPk2Mwl93bqpXqLX4+dbjL81emypvLkmJOp9CZahurPdZKuSKRaITJRkPFTbDnPwuDp76LWlO5EuSrWpAWQIu+T2zGKt882cBdOFCz4n5Aj6r5sC4wsDze2vHoX4Si09VNSiLudNSvtUkJQFojVseeSY+6niVwLWqKC6Tw4VglMrG8NT3lt/L1kVqlsMJtTOmKg95DhtmcR9Z2/l9Z8kJC+h8CUqpnUGVSmK04Jo94lXWQsIykK2d/AUvPS3mNkv1b8oxXAOMArOv+XZ5RklL5V7NHe8SHjwWFVqOu3zjuZUSWXxGUAHz+pur4fM8KQWeEsRUoOKjOV1zkbPOuKoO2XXOpsXyWMw2cqelgKvPTDLqBsFZYsASupXOd6Eyvud3XdZIKvFqnQ8x73Hyfxrw8rtKybmeFje4hBmXApYqytTnTrR1jtduaIWZ5Oc7p0DC9TU1ap4VhkuxJS6UktOZ6y1kV6uyoZ4VIdRsc5XmooBmpvDrsieVOV+eUz4Piv1TItsd5S+LC9Gjx6+ZvzYnwCbTWmbv8wwfTzmx0KVLrHNHdpm8hRIizl0gNZ8386gXBEaoz0Ss02S84+wqV4sc8iF67mdWIbz6dPJNqUd/B5Kp16lYdPNSFpvLZ44IV6aqzl4SalP2v/pkS9E4niulxpT3JD2LETEXCSomIXeNioOAdNjF/shag1UaHyOuio9RKTllBE0FJUmBvmnEncN7odwVKP2T6ydA4uHhnsvLHW1nGYeRh4cjIWqhdpHqPDpboXkd6QX9IsYolKmKRJn572WnDuURFS/cAv8+2/PlswMRlSKlBz8/u/ksSDWvTh/FGeU6yllQCB21yF4kMM66xoozCayymArioKrr5xgr5gJ1Xs6xPLd6PhXkRazd4kpXo4hzPBbzXCJvHiWfZ+fyo/NM6ZyHz7zicq9ne/gi1ni85ueC7HnrowpKljMyX4SqMBidQ1ZZM4b5O8v+lRbUsERCR6qAZEG0RUr8OoPz5RyeF02Zv6Uz79zI0PcE19M2DT45+sGz3u7wPgodVInw7ORGtp3BjYPkiEph84KJGemrsuhoufq5fl4QDJrCzo25FW+y7kXS577s/6nXH5zYFriF9652+aQrp4lRLH5CENUX1XTZrifDfaIXcaLTkRADxiqBpE4uH4SB6LeorIocJ09jZCAI4rVKSgxDT2M1TWtECdgHQvBY29E2hmmKTGMPSjGNI4216KQZQ8BYUcsd+4mmtTjvOR0OrDY72k6Eh7xzKGMx1qJTpOs6Vqs1p4MIRU3TJJWLEGjbloe7B5RS7HZXRGV4eLjPgyX+qdZaHvY3pLSl61ZZudbw5Mlz3n94T9sY2rbDuQHnHDHKd2qts12PYRodGI3W0K5WjIfbDMPQEAPTOKAz1KaxLTEkxtGhSBnunGhyJYUcqE7BV5sh6Vx6QlCZM+2J1ko3E41tGrz3eO9p206ecxQi+XA8YKxBG0sKKSfanpGEbRuGcaRrLSpFjocH2tVGkunkssKao20sTddyd3fPan3CGFiliE6R6CaxfrJy9MvzydZKk2McJzbrDXd3t2y2F+wuL0UgzHu0yod2FEi3QqONqMCWXWzuZM6bX1oSeZiDmLNu5WIjKpYvEqCFuRJfAmM9V+GplcfCJJiTmvxli8/XGao2Jx1zYK5rNbfsDmcQSebNb950M2+dotonFl6Dc5IYxGUWkOGci0rbGbypwKmUzjxvVRP2tNh0pVquPtrqS1X2fH9RtQ+QMGdQ1grFXlT5l9ywWoRYdlce7V8fvYfzS5ttetQC8kble50FIHnuxMWxvSxelAdV4ulHccv8LJedikdBFOXny78vAvA5BIk1kacWPRZR7aKgkpjFks7UQhfJWD3c6xGc5958ETNkm/Pre/xQ1dlnZ+P2LDK2fA5ljur6neTEtQRKJXFdJgUfd7DLEj1bW2nRgai//fEBWRKVuHjGc0o2i0XF2tUtn7T4b4HXP4IrkwQybdQCEla/ZI6IyrDU5L+EpaVIsEg6FfOeUhPtmh2rmpDXCnma97tl1lX2gvLJpXO3mD65WBXmwtMjr0oeXwuqag98tA7V/HwqbqPsn6mgZZbFgrnIs/iUOg4FMvzpmVdGMdaQslANtNZLTPajvT1n+IXvwFy+KP9cuPdlX1CZMz8Hv+chbL2yT/npLigU5WZmK6m6u9R7+1hM7KOPq/9d7hMsxGeE1sVCJb+Cd+s46dylqnMpqSymmM4SISlgLMY9e+Xq3C3VqSTtszhViIHGyHg4Yi4MkMX9Hs8ueRmtUSFgtWa9WRNT5Hgcakc5JaqHrhSYA6jEk4sdNlMs3DjwxRefM44ux3Ga50+fyL2FyHc/vKEfRqw1tNbSNIImSynx5HpH21qxOjGGi4sNbdeQYuT9hxtO+xPPnz/h+skTVquO71//wMuXz9Ba4YPnzZs3TGNCqQbnpLA+Tb6Kx1mrcc5jrWW3u8Dk2Prtu/egDLvdlpvbWw6HQazwggh/+hjmTq+Skl3X2lysFovH68sdVhuGYeT9/R2jD/l5zMpldctaHB+7zRatEuM4MXqf+8/nHFQdYk2IUgIVMi80q6LVhCSmM9s3gaiafNZmLi5SjNd5QcS6t2SCaimo5Y8MaoFgUap2Npdn8xk649GSrzFgPSPnQzB9tK+YWjGs8YpK6Fx0kALEcrGWeGJBc0vnlmyqiDedJbVLu9r5oaj5I2c7xvKeHCeGEPCTp2vbalWZCNKnqDw3NWuKLyVK8vkRM0K1aRr60wnvHdYomsYyDCMxZPSqE2eUpmnyeRRwU5Q4XRtSXElHWTe1S7MshhVqTCJlVKjcY/Be9oCQPbGTCAUXBNgf8vpHiUfFGEgqihKyAqOs7Gnei5okkGIg+gnvrCgTp4BWFjcepKsQIkSNbSweT4hSFZSGWWKcxBPOT0eBGbtBurpW0TWavj/QWC2Ktynh3ShcK20y3l1LwN57nM/4bzxGaazRjFmtsLEtPgi0t2k0YZoI8YTSktj2yWMudpg8BcI0EdzA6XCbk9YVl5dPsdYQlUZry+QEHnuxWbFarfDOYYxhHEa6rsM7TyBxeX2JMZph7NEGdE7Wovc4QGdBqW69FYXk0ZGYwCWMAt2IaJd0vB0xaYy1jFOfPX6lqjk5hzZWYANJEl2jNT5MqASTG2isEZ/YpLHWMrkeZTS6aXDeE/yYOcQt2go3eBgHUgwcnRMhqqaT5wj0xyNagbUaoxL96cBud4mxhvF0YJzGDBt2BB9ptmuMNlztLjnsj7x4fsVqtZH5UYKuGGReBY/30ukfxxG8Q2vFaRi5fvKCFDX9/sjoPJvNVjzOYiMcbqT6JdW8wDTJvRtjIHmCE95uysWVhBLIcvFbzJvAnFzMu1AiVLhE4UKUTVU6povwbpnoqKxKWCrLM2ZHguFFeyIt4dJFNa7ChVNNblTJuRfd5LPXIumy2tIYWy+4GmsrqRCW3VMrU69Jl2qxChWWJm8uJuaiVlkQCBWe9SjxXiayqkCq673Loau0wiy4RWp5yC2Tgwq5KYHg/48Et0J0yyP4RLJ8JhMo7xEKcVx0RkoQPCeP1dg9leonNQlbpnIlmX2s6LqcHuWgWozK+fh9Qq0xpUVnsfwwk1qqsNDZ7+p6WBb1QelQzYkDJYytwhfZNqkEn3VNPA7A56KQrYFqUWwuQXVZR9mw/kwcbf7fpGY8wHnKUr42V6yTmsWg6kN6xCSrLcmPq/mohK7FpPlaVO7Gh9pRXDznR8l4HqGzZZ5UYfll5vqjYsfymYKu67D++0LiisUo6MWzP3/FBVxcLf48q8Cq5QhnxfNU5kceF70MRB5fa46m0iOkBAsY/flP1CIwm+keClBxAZdfVmlqNxMpGtbCWU6cVWk4LCgdzEgTHnXK52ct/z1XIz4fcVXn71xgomBtyl5HzOyQ4o1d+JUle/c50i97Y6rXuSyyVbGcJEmiIA6SFPqTyj7rJQRcnC5p7sKVIiOP9gyW1410qmosYCXWUflZex8ZnBeknXc8vbrAuYHoPMTqzVKbHCIuczayUsiNsxVLDeBzAq2zp3WIkdXugu12y93dfXaIkEKm86LnonSe+SnRNpaVscTbBy4nz/pixcPTDafhhA9JVPfRIoAJWCs8v0ZrejWxbsUVQKXI4eE9KUmnqT869vfvCT7StjYXswKNaQhuRKdGgn0feff2QNdZuUbnePumdFw1v/v6G6xpePv2kqYR20EfHP/xr/4jXdfkxNXm/VNoGtYa+n4Q2z0g5IKAtZbD/gPTOImWgo9EF+jvLUlbcCPH8SQJLZoYY1Vz78cRUHTdRrrKbYMbRva371AIsnG/3+P9jC6JWUnfWknapfAoRTx3kAR58g4fyIVmsX2JQRSkDYn24ciThwnlIunJjvHHz0ibJscaei6uZYphTBFjDFe7LcMw0vejgA+UOnMzMHnOxxhqUVDmhhFUXpzXfIk5YkpnNnblrCt7lVjj5WJXnGOnebdKZ3+GIuC5KCipNFvspCCxZSo80rQoLC7LQEm0h/Inq/K9ec/UWvKg4rNbi5EZZZcveC7gJ+lsVigxstW4Sdbsat2Jp72Sp6TVjCjT9RCas+gUZf/wXmJ8N46sN2tO+wdGnBTDlWKcJjabDdo2eDfixlF0cFIkes80DHSrNSl4tGpzg9OQdAlQ8/cFobCWPSM4ccgZx7wmUmKaJkIINF3Der15fAz93tcfnNgWSIQ2CZNvIgSf7SWMCEQZQ8w2EsELbCmEJCrCKYBWudJppbLgPSlpjGkzX3DGW/sgVTHvfa0wbzZrjocDwUt3cxoHpmlCxYTPYkIJ4aqu27b+jjEKVaCXCoIP2LahseI1ezwcMFo2n+gd0SuIDp2cVHZTkgVP4nh44PnLL3DTxHZ7Qbfd4hMcDz3WNrx8+RkPd++rsM3l7pIUEyGG3AWV+X6x23F72zNOI21jWa9XTEq60gSDUpYmwGZ7we2H9ygVOAwHWQBGoCrTNOaKu8ZYEY9qbIfzCmMKf1cWpvd+DmxVrrY4TwziI3s6DShjaLs2Lzto2g4fJqy1WNtmpWrNMAykIL7FpfOjbSMdbQSWkE6Zd+09fd/TdlGUoKds7ZMEp6+NIYZI23akpNlstjRNQ4hiBB2TJK9GJVGxPp2wRhPcRNtY7u4fWK/XgMJPnpgiU39i1bWgLAaNH08oI90YY1p8mBiHHr1eScU6TzE3TeKlrDSoVjYYkwOLs5L+DAkqndO54rdQ11xsbvNb06Mkbk449DK2+3gBEkoltAbv1M+pCW3pEsdFF6UICkWpwj/u7paDca7ezx2K8t2l81y4GpEwD0ntyM08k7l79hgMuYAElbFcjskyeCpBtpqD4prgfQLrV77r06H44rnVwVMfXdvyngr8O8UMw80BdK0Sp/maBHmSk8TS1VxUftO8n58jBB5VH5Yp0uOflO9R2e+yilimOVFI2bJjWRWuM2/5oaWDWw/F5cmuZrGwx53Hs+r+QnV48XziMrguzyo9fu5zerV8YuXTaqFAnXO8zosAi78VSOgjTnWoqWf+3Zroz+N/3kE7TwvS4t7gkSjJMuFcXMpH832hQF2LAOl8yM8f+NIbWtVfnEs2s5jUoxLMYvTq4pqv6dF+VAK9ZYJ+nt49bpfmz89TfSkEwnI+Lv95sQ/Mz3te2yWZrtPiEwWSOjQVup+7+3V7SjOE/vE4LmRzCkSd5dyp8O0lNPwcw14KHXrhex6jdLv0LMCb18P81qjOwdEliSjXXP5tuf8pCny6cJY/toKDeawUYLTEPSqpCjmsY1G3UEWIAe8nnHMcHw6EGBnGkbv7e6Zp4ng44r2g3pKb+JNf/Iwvv3zFeDoKRLBQCVLI3TY9J615TOVaZqipygFsUUqeO/GJ/QehxMQUzzrfPuSOrzHZyQKmFBkmz+5vf2B1PzLZSP8nn3PctURtM3dFY63ojLhcUHUkjvfvpUCaURmVPmIMKQmkUuC/uj4fifvK5FWVMx6TwCITERUyJF0bvvvue15+9or3N7eznclCiK76oD/ijpafFc9Q4TfGs4KBVlrA+Kmc0VLmCbnpolHo3OUU6oCiP+0lyQuFqqGqDseS35yqB3LCFfpSSYBSwpeNKIGPUXDGpcAUkjhOpIB5/4En3x9gDLiffEZ60bGPMoeXAY02RjQyMmw4DAeC91kfJcOws5tAzOdvtcdKidE7Vt2KtmsxzZqgG0Ldd/IuqNLM606Fe11kl6h0l8UKnxEjKZ3vPSUeKmO3CFPmrywikfPvzm3h88ZGzKJIKa/fx+f/4m3y+/kPRZ2flGpBQ67H5LrZQqcDOB72jNNAUom27ehWa5rG1sLA/H3zeRdjIMWIMRpjLFMcmPxEjIl+GLi+vCSEwKk/0a06dNb0cc7R6oaUG0YpC9I6NxJDwsfEaq3QjaqnE1n0NqXIOE60Tcfp1BNy48tmh5dxlEJVyB3kP/T1h3NsU0IZi7UmVxUc0zgRUgQVspdlFOirUiQ3SeKLEt9QbWibhgg03Vqqej6AsShj8VHUPwMBmw/2yrEImUcSA501TM6jYoQYaY0BJSq+bbOWhHk45uqYeLcqLEEl4XIEx/7Us9lGutUaa5QkvDZvQCjBk48DI9B0HcklSAatI9PoxDfVtgQfiCFx6nsa22IvLkjJc3l5yevvvmWz3hJCYrvZ0Pc9q9Wa/X5P35+Ypkk62W4iRQm/zip6SuA6zjkSgXEUGLQmse46pmGi6TrU5LCmpW1butWGtl3TuJHjcc+qXRN1ZHQTKOjaFh89GoP3PVpbtJrhrn7y7HZXaNXgp4m2bXDO0bUbjGlIMdGaDqMs+/6YK40JraFpNOSCxel4xE6W1lp22wtOpxPH/QPdaoXJ6s19fyL6xO008uT6Ka3tWHUXUkU9HUBpTGNJIRDHMVeDJsbhxBiDwMTbFa1paU0DccL7B8bRk6LA3pVpmMgdcQXohm61kq6xzl045g1P/JA1xq4koTU62wGVyGvJ06pZTA0yZbNK84YhX7qIM/IG+Chqq5xDsiiSWkCN6++p5U46b0z5f00NLiTrqlDTXIVTWg7aKP8oomop4IkoazMlRaA/MSv3FaWZpHLFtFQu1Uz4Oz8k839rdiZjEzI/xihT4XvnAW6Bd2Yg0UJ6/uyYUfOjkE19kZguhGPPgtLFW2FOTnO8UjsetXB3JlxV3psrwVHmQAFvLlUiZxjRQjCpVBs+grGfiy/NHVy1GLY5cSk8GEn2xIda5eptqYjXpCGLt8yiKaUjNI/A2eDUuGXe/5bCPPUZ1e76eXHnk3BLmCHLzPYrujz3FHNSreeAlorkPU9eaz40J2vLn4f8s2XBIz56fufjPicGseRC+boiihCzcEVRFU9FVKgsv3LzBW47w4WZn9hHo1KTxryfFH7TMmXMIUxNRIQ3lj6CaM8FNQmEq/p1/qSEwmYf7lC/oBQIFgnQ2c6Vr3uBKq37Vsp85kK1eMQrq0lmqtbN9c0pZr7fYtPTy2dZEiC1uP6COligB0qSutwVK6JgIVQkauazsE1V7y4bVpyLOmfWLnVHWhQl86Iu87Y+p4osiPNNz3l7/WNFRFQV7MxXfWRf9alXgWeKD/0Mz1WVA17OmUiIVI6uy4HmMAyMw8DhcOB4PHI6HBmnkRgnuqblw7v3JCDElKF/1PWtSKTgefvuB372089RKYi9YQr5+uUOYxLtk6TLuJD1FJbnINLRjqomLksoUQgZ+VPOkSVcNUrjQyFJeRsDjT/RhRGtFE30mGRIfkb9JJewGfornGCBeoYkPMkQfIWDh+hzXCnaGKoe8SmLQc5FkyX3MC7PvhwChBAI0WOyYYk0FMJC2Cd309M85+ssXhYtVMoQ8HneJwGTApHJe651x4Xt8q9Hcb4wM1JBK7FeUUqJdqvSgnjIMTpJkvqQE2hrLAoRlAzBo7TOnOdyf/KAH5yj7xK+nHlaoXRCh4QNERUdMTlIIzFMpIUg51z8jrkwJNcxDFMu4MieGgs2Y7Ev6CyqKt+pce4EWmwz06MUpoyl0bo+v8ce1bLHzAFDyvdZ1LuX5185n2N96HOsI3+fU+Ra1K9nvTlDotQ4ouwQUeW9VXj0Mibz3qJykzAliM5hjSES6E8nGmPxPqCVoWlbbNtU33jbWFyjGace7ybUdkvbKKJeSWGhxB5ACvIZpertg8MogwG6xgoqIzVo1XI87mXdh4nTcY81srZ9mLBRcTwcOByObLc7KVA5R1BRGjIpCTc3RaJSmMbkwk8kOM8UEsNxj/YBHwNs1oLczY43bWuZxuH37pePX/8IKPKK1aoTW5cQUCGhtSSXpSpSktsYIyl3O5VSaEQIahyH7O+qBPJrND7JRqG0pe1atJ8I01QnsrGaZBTeT+B9hfCRK2w6Qxqdd2jfYKyVil/GvEsX07LebpmM5nD/gXEYcD7y1ApM1xjFOB6lKxsS2+2Wpm1x04mEdBafPn2GDwNvfnjN7e0bLq8umaYjq+EkljIrUUgexp7DwwObzYbNasPpeMJa4QsbI7COYfGAuq7jeNjTNg2JiLWWmPmL43gk4XPyqIlJhKZClMx3tVrhtMFPntV6TZvhzj54Qog473FhwgXP5eUVKSl8L9ySmKC1BqMtjW1QuuV0EgiAzpXMlBJt02CtSHtbY9jv97maJkmAVHfmTSQEz/F45PLykouLC9w4YLQiBZ+x9zqrZ8sm50eBlDvn2e7W9P0JEwOmadDB0rUdq86yf9jjp5HgJ+kWW03wosAcvGeaRpR3xIAo/PoeNzygtRQLAon1Zke0huAdq7UIXCUv/J4lT6OId8TgSTFIwUGbOWKBhfRI7hYUSFjdNErCsuyElEBs3liWP6mwvkccrLlLNwdeSyEEtehYpPM3nlXTy/fEKImF8w7bNKD1LApyVuXn/ABmzuUf88QK1Ki8VIYEzY2jXIk+S1cX3L/8pWkZRC67gfPAz0k0AlVeRLqzrcpjHtuj12OY4afup4x3bX6cda7O2KCPxur8peLM0TxP2hZV3sV7VZ0/s0ryPD3nIFop8RVPaeHGq+ZkQJXkHbWAXc5w88UvLCwpQs360+LHj2ZBnetzwLdAkFYo9kLnsT4TRSrd/8V6qUnn3OI7H8Mln/GR0NLyWX86WThfBxWaqxZvz0Gh8HhKQWE5jsuJpup7Uhadq5T7haLuOe90HpvlNc+XO99XSqly3tVyXZbfPUfbnqEf6tecN+Dr+i5iUI/Ht3ZUPzGF5/1KAvSq6VIoBvUOFh+rmK26Ht18EQKrMV9dayU5Xfxw+b4q6JXmgDEn/2UVSS0x87M/gYbQpRiwoEekUsxbpK+PaRN1b1JzN12KMUpgsDWJnb92pmPM80I92gPqXlIKI3re48v8CYIBFX6rEm2Mw+nEMA0E5zgceo77A/3pRH86ErwXS0bnsu7JHIgbk7Ba0x9PQr1hLoBJdF+4fFF8eLM+ii7K/7rcf8zF1JQFqHId9KyItixFZbGtjOf4eHueuYgphsphrlrC2qK84DRVgkZpjLZYBKnns8BMccqwjcSeo4/1CrRSWWsl1jlXz7LlnnrWuVv+7zmfM5XPYaYpzUWiRSFHq7PPmPeiuQhY9uIlIqtQa1SGvSsFa2XZacsXbct2vaJdr3n7/j3705HJOxKKq6tr9ocj6/WaZ8+fY43h4mJV44YYpPullMI5h07isGGtqecNSpAAWmtSMLz7/gf+7s13+NwnVlpT9OFMFgWyGoIWzrSxWQ23zv6yhkM+DzJ8Wus8PqnmEXX91DlSkGaZFqTKPpRQcbZ305ljmxadzuX5Wte3UqQsCFUaaKWxvKjknq3Q+S8fny/lfWmxF5ZNbqZcLc94abJpPSOrfBCnk+giJtMJUYpxGgXxOQwYrTEGpsMerGUaJ9Hh0RbddjTrFWiykFnKlNHENJ1I+8B6Lc28GCPG2pqr+eBl7mV04njqSSHQGMPN3S0pBZ4/f44BDocjWiv6/pjXSuR0HHCT6PW0bYvKe5a1iXE8EXxuMCrF6ANJKbrtSvYYHwl9j08RqxKH014KvkYKLWO/z1z4Z/jp9xcCH7/+4MS221ySFIzB4YLGqja3wCPBuWxGngSzHhW6NaAUIUaBpyjNMPRiD5PAu4mmbTHGZgx2pLMNbhyIfiSkUboOKZLimLm0MjFiEhy4tZppmmhbgY32fU+36ohEwuQZnaPRDcqLJU5KiaZdcaEMp6HndDqw2ayJKUgX1hi0NRyO97S+o2lapuBouw7bNGxXFzSN5bS/ZbuxaNXhxiPb1uDHB0nWxoHWGDaXV7RNx/F44Ob2A7vLHZFAiI71ai2VpzDQtZbjXkSo0JpGtwyjQxnYNJbT8QHvPduLC/YPk3RWXWQcnfgBR+lcDUMPGsbJg1Y0XUNMER+iqODaFQnFeP/A6XgkJWhWHd1mLRCP/Z5ue0HSspgKfG692UrV3U2EZFitGmJyIs6gpcLTqRZNYupPDMcDfuyx+hJrDA/9CFqx2l5wd3+HzURzrUSYarvZgFUYbTicHgghYoIkntp2+JQYo8dPPcSJcTiwXrWkODGePMFNIigVwLsE2mKsyR66E9paUW0OAbVakbzDoLG6xTlPa4wcyFpjOgVNU3lIKTmm0wm72aJMI/wWMydYs5AAuao7H9zLl3okA6+KN2iJ7vJpGStH1i+SmayQuODA6rRQwEylaxQrPDeVjCQtT4dFtTIFgouybhDxg7A4yJOKMyemRo+L+4bZh1ed/16p+Kvq5ceZi156XBBQKitgqsWYPIZMlaR9cXAsAqHZ72+2RDpHl6bFu7LSZ1qk2GlW7qksmnLaqRk9UkQXhCeZzoJ7soJr+bpSgV58K8s2lySlRdClME0l6fI18C9Bo6ppxRLfnFIZk5mzukxDU00Syq2Uog21rCx/j9XeqX5CDdj0zEetyZ2IyNTAoCRYi2RKF/jxYvbVV9QzzJWiTppq132p+FvmVWUPqkUQCJjEo1Cas7nz+FX+PWTuU+WMEzGJfI4teEflGbNAED0KdnVGZpQZvgTMVjudmQn/SN94TmZLT7LMq7J6YrHqKXuI0lKAUOF8PS78lSuuoC7b2YH0bB4uA+zF9ZQ/zKsizzMl6yyWzp5a3I1eqJ0yqwlXZc5FEjEX/JaepfWdC1rBrCFQhdxK0zOvUY1ZLLW5swIzGKSkCNQiEwSVFuqjaX7uqRRaYuUrKwoFcFnQykryi/2BKownc1XWebEYyVSrrPLuvcM2lsKVA0VwYp8xjiPOOU6HI8f9A1M/0veSyDo3cepHxuCl65jRJqJnQu2Knc37KAF2iDBMEzoEVNPWokfdDWvDNbHqVtmfXJwuVC52Fw6g0qKnUDrwqfjJ1vNg0ZEHyIlMTbAqXDQSQu4Wa507uFnV/ayYmKHdKeHVLLqTohQPrdaSsBSrqbRQRy5JRi58EM4hudT9pXhi1V07Tx51JrRW+IZZphZjZ6hyqdEISkkvkCIz7aOeO/lvVeyyLtF89pTubcb9G61orOHVH/8Rzz57Tu8nnv7TP+KHd+/49vvXfP/6B8yFZWjXHHwgWs+XP37Fl7/4I7HTjI4UI40xM8w1ZPoKCu88uhHEWNOuSAm6Zs3h32nc2+8rOkUpTVQiv6sjmBiwj7Qk5FjNMOs074uqoHaqVkg58yVWLeeoKuAwH6pwkKKoHy9oBmkes3R2FurzaisJpUJdD4VGmaJAvRXyrHRGGXkVF8rOGWFUC2vUolXFQKmlj6702esEUhCJeC8NohSjuLQE2Q9ikHs8HcQe0+SY5rB/QCvFdOzRCrq2wQ09vRs5HvZst1uU1kyDY3Oxo1tvcDGhjEHHyGazkjUbHONwZOxPDP3AZrNhHCcRSetWEncb0T6ahhOHhwes1YynE2Pf82S7wyjNdr3mcDwwDQPrzYbgPKfDnovtlu1W7D+dD8QoTTGVIiGMmUsrYzGMI8mvxMYoRkFXKoUxBpWEuhj9SNu2uPEICk77m997pn/q9QcntijFOI54Nwh8JNumaGWwNhH8KIpsOrftF1UhYy3aWMFLKyWVpQRtPSQSbprodV8n/jSOeA+rlSjxpuw/qpTCuylXIx0AXbeisQYdpWMYUsA5T0jQdLYqGeu8uTVNy1UnFjrjNHJxsRVxqOC5vr7KvrzSPe2Hif00cnV9jaJht9txd3fLNI1sNytSCvipz5NrIrjIZrOhtYIRN0YS/Lu7O1qt8cExTaN0WJsGUmK7veDD+3d0646msVL1UKIcfTjss+pYkvueJqzeABY39RgtYgbDOOFjkLHWTe5EG1zujo7TVDk7xlqapmN3ec3mYkff94S7Pet1izENbsqQ78mROJGiHA4rlUWxvGe73WYxKiXPJ0qFKOEwRjMOPeMwEmNks9myPzzQNA0xJYIXKHHbteLnmw+TaRixxtLoSBhPGAx+mpi0EMr74YTWZU5MDOMRY1u0XnE6HTG2IxHpurUk3j4yjj3aWrFF0sK13my3guFX2a4KFj5+RQAj5Q1UOEe2jehWifl03WI/1dmc18uy05LOgvXySmefRTm6SwL7KNwsTdFZSCBVa4mSVMIi/6ifONd9QdG2LYU3G32coTWLLEVnKI/K/pTlRhZiwYugeWmDlO+h2CawCBpLRfyTPYvyqyVRnrtrczNJquSU5Ll0d1V+fklnPCszzLPk5ZX7ukxy5y9PC2uClK+5/DwVaPbiHud7m7+kVmYXHfVP8Vnqc8qIk1oKWcRRIr0qRY2imlm6Ro85yvLZUbpGZ7yd+cnXivIS73vWpS+wcypHrHaYE4sigspw9vmezsZCLcamBszLAss8+uWzdYbgz1D/ZW17EXSX4GOZeX288s4RAKWIULHfzKln+bWyfpZqw4uiUL3HRxmgKt+1sL1Rj35+Ni6L6aIW67ne73kMNtcoFteu9Lx+lutonmdzO7EkzGef8fjazl6f/p0K1Z9rJvO9LP+b12MVGjtb/3z8509c1+Mku6zvsp/MnZ+yRucCSC0onH1kSdjSnNTkvUMZVYPrmQJBDrILLHehMF32gvRIgX1hqzE/j1lkJ2VXDVEaFgEjHya8d+x2z/j1r7/isD9y2J849SeOxxPTNIhDQQioKC4B0kXVaKXxMYgbRT1TErYm6vIMEpK8g8Lkbm+MEZ1ChRHqzEMve62qOicpw4SXXfesBZG/U6u5eDHvKbPCdd0DyzM4W1fzDFJKo1SsStXLpHj+/iLmWNNCkkqVPqMq8qbEoHLFxpj6DGbUEzXBXp7LZepUPuxiVxBxvZkbqpVCWV1jRaqdHI/G7HzaF9QMi4I4WqO1QUUZ71j4AOUszMn+ckza1YrVZsNXf/Mb/rP/4n9D7x0eGL2nXXXcPjxweXUJCj7cvOdnP/2S8eGIPx5Y0qFkzDWX10847g+kEJhCpFmvePLZRuhYWs/bitI1jl4iyVSatytjDEYbiP4MybUsB1Ye8QLmq/UCPbCA1JRnm/LeIkjQubObD/fFuSt0h/O9QMbcew8p8PLZFf/kjz7nr/7D3yz4+VI0bLQhkNi7hFemPodUg575sz8V+lUZS72Enst/vXeolGqMPByPUmQIMv/d6UQYBlSccG7kYX8vCscpcDgdRRQ1iihr8BPDyeOdx5oGywp3eiApg8tw+HazBaPox4HT6Y5plDztdH+L0oqubdk8fyH7jQI3KlCBadpz2Ava0qjE+/ff07StNPuGnuF0wiiYxhMpOrSKvHj2BK0Nb96/p1utxJ4z0xRDSEzDia7rsCpBFJGpddsSnCSxw0mSdz8NWNWy7w+0qxbvHfv7kd1uxx/6+oMT28kNxOiJ0QucQIkPmjWGkCc+KeGCeKMaLQF0EYnadCu6rpPJF6VC4aZJ/DSnkW69RluNDgavFdFPOO9JyRNSImJQyWCURmc1v7E/oI1FK5P5WhFrG9LkCeOYVW4nsJboAkkbbNOIPU2KdKuOU3/COcfF7oJxKArMlqQNWhtWK4PzgWlyGGPpujWbrceaNSlpsbgJnlXbMA0TRjVM/YlxOIG2RBRt2+G9wo1HbKPYP9yKOFUWLFIpMvYD/enIs2dP6bYr3DgRiHg3Yo1iOB0IbiIGX/mRIYt4eBdEebTJ4jbB4ZMjDgnnAl23xrtAt9rg/QOgubi84uLqSjq+WrPabPExsVutMvcC8J5xHACFNQ3OTazXYsvUdR0PD/cVNhS853g4CC9XRQ4Pey42F3SNRedDMsTIdrvlsJdkfb0WWETfi2r0bnctz8B7VNL0bk+IkfV2xf7hDucn1qsV49gTgsucmUjTKtIkEHJrO0kvYuJ0OqG04XJzQdNlgzWtQTN71Wozwx9z0EGIpOiJzhHDJLzvxmQFvZRhyQKFScXHU2doTN2Ps7JlEeJRpZe7UGl9JHgyCxLlg718Tkl4PuF5V0vuZX/Pn6GXkKZ88AiXJPLy+XOODw94gsB8jK5dErI/a3UTyh2kwkT+CEhXqvUL+M9j2Vc1O3fmN+Xqa+GNikfNLM5SOP0UzmSsPytBQ4VtM4+RTjGz8EQIgSyqkpBgTiVPTEb4XlplnmTxU1tUIcq1avnOWLiz8TwxTRl6p5I6s4kqMP3lGD0+xCt351FyUjvxeo4Gisqqyly6ZJYFkTnpVsuAobJCTe7K5+Ck+mUq5tHWi/tWsyiQqs7Hc2FA66rerbJhYTV9z+8rDomPkyfpMIcaRJTcJ2VbjqIKWbI/+ZYAUUlAPz/tGZb6uCgyD2a9pHKXKhV+p/xb1aeUCZdVGxfzqtgqPCpIzD8uSXbu4CcEZl3HL+U1lxYlIRaWF2UnKOs3EpYx8cKnEvJnL/ePZcGizJXlg6jN2TTPp3IfqXQeFpP5E9DipfVHKV7FCgUuWe6c0C6LEgUOnPKXluejF/NrfhClyzzfwRkd4BOvUlSQvCrWMTp7TirTDXI3uRSJVO6061Ss1/J+o8v8ivXeU4GT5kcYcrdXq0SKmY9YNt/8nhA8Q3/kcDgwTZ6+HxiGkXEcCG7EGBF4efb0CeM08PaHN4QpiDhRnMfXlGRSq9qRVUSsTnIuLXj9RktiK1ub8FrLWpG9LMoZZBStlj0yr8bqD5oyd5Jsx1LnwSPNh7NCbUW8zPSDggDRRsu3JrKS7WJRZhEdXTp2OWmuPG99JoN2Rk05Q/dnAadzSLte7BOm/n6BqiazOPMzj/xjSL+eO9S68D31WaJSEmWTmy4sErSUaml2LlAuJmaZZ1rbs8/6qJNcE7d53icFtJonn7/IeuHw5OlTTNPy7sN7nr14QpPpbZFA73oudheELMAjMOO85wTR3Ng8uRK1Yucx2SpIF5pSneNUWlG+uI/WpDGFBz6f+qV7W84fbWchIJ2LQAWBxGIXKfMghLlQHWMRYc1IhfLvBUW18ErVSeefBYyF3/76K9TQ8y/+m/+Si3DDr141xOSBgFENwUeUTngV+OqHE/dpB8nMhUstaK8lXjrV7v5CuSAliJGoZMbpXLhV0bPfH7jcXYgY6uEeq4RWZ6zheDrhg2elNX7sGU8HgtG01vBwe0O/vxOhVYSbHkNuwGjN8fCAMQ1oRe8mGttw8zbDlWOk61ouNh3Dqcf7Sew4r65I3uHGnqZtsG2Dc5LPHB9uCUrRGEsYEV6tFWHXVWfYP9xA9IRpwKgdRgWGfsRkd4H+uGcYe1abFd5JN37dWsJ4ojUbVPC4MdAfD+y2LxlOBxpr8X4gtoaQImPf45wDEvb6+qMz4Pe9/uDENmSluhAC0ziiabGNrcp6RkMMIiK19BtqW1HZ7fselSXPh2Egxii47KZBB5+9WxviJAs4xkiIgSEOTH2PMR3tZiXKXUlJsjb1ouwbZwlslWGmjfG5QhnwXuCWrbEYY7GNKPgqNLuLHdoo3Cg4cTcMbNZrbNvlw14LD7YfMuzZZm6Cx9rI4XDEaE1ar9FaIJ1GiRCUaTpCFiGJMXA4HNhuOgie08MD1prsD9uy3W459Qd5nzbcPNzQNZbLiwtCjIzDQNNaVuuubpjadDRtR4iB7cUFTWNIyXMaemJMTJPLsu+aGFP2yoXLyys2mwucE/9h7xy73SWn45Hj8cDpeGK9asVHzU2kBJv1Bu8Tfd9L1VnpnKQ+0Iyi7OyDx51kXAu/GgXH45G+77l+cs16s2Hoe9brlXR8jUEpTQgRrRPeB8axZ7vZSpIbI+hAfzpyebUTjvIwMA49q85irCQLl5c7qc7mQOqw33M6nXj69HmG3ObNMspiaZoOlcBkq6VU+Z+BhHhxpRCy8pvPKIVQk5wFKnMOCOZa3iI4Pq9YphqQ5e172U0q0MI4wxpLADpzsxZwTCRpVovkMhUxAuaIvgS+KcOZbeZ6h2yNAInJO1ZdW9DV9VVsG5admvPXfL81YFYSWMSzYH4pCFe6wHM3uXxIYg6o8imW4WQLHlONSWYOJ1ADstJ4DjFfgYpM4x3H4z3G7Nisr7Fte34zaQ6izgKpypOhBihp0TmtXYBPWEued0/Px2E+8OfiA/N0WiS59RHV5DQScjd18VwffeeyM13nUpk+n3iK5bmV8T0ndy5+bcFNy1+4CG5qXX3mxKo5YSIlGiMCOjFEgdgu1aPjDPskRawuRY56idWM/nFH/KNxfpQO1WB49kY6W1OfgjnNEMVHo5DnxTkHnNrhngOdWSr4fMw//tzlpS0TzFSRG/M6Ox/u35P0LaGhZ2l8Tqhr92wml6l6D8s9K83ftbzos7k5d4gLB3o59/WZ/2CarXtiSYbM4mf1adW5dFZpWI533UPnn8b58XxyjCocv5QaKm1hfj4zz1/mqSAwDnUAAQAASURBVNIqUzVk3odM8UnBMQwTwzBk2PCJw909LiOrhmnIdhXZHiWPu9ZgVKQ/Hlm1lt3lhYhELYTVBB2hsxtAwJqGSMKaVH3HQ4KkE0rH/HgDrTJZ4b4cI/IcjOB7cSmwyt3BYss3pVjtUIpvaEHDqHLecJ7U6VzUUtmWJ1XkwvlLkkhdu4Sly8uiCFfOJ72Ecit1Ps8KSpj535UqaJYFimqR/C2f+fKCSuc/Vty1qnO3JG1iA5gT47zni6/s3GlcfrbNei1lrqusAZMKvColzCLhBSRWNJljurAfO+uGls4yS7E5eSaByNX1NfvjkfV2wziJTctms+GnP/8JbpJ5+PAgPMVxGvFuIsaYLYmsNGOMJqYebQ0+hszVBX+MbO2lpMaZNiNJosN7h/de0ISmrTxi5lmTE8HzcarllaryK+NfCxOPKE8qc5nPFvWcU9agQefzXjUZyp7KHhpJEV48vWS7afg3/8P/yAbH9c4QhxuuN3OskWLg7/7mt1w9e871y2tsFsYqUH2Vvyepsg6yenemhOkYefnZZ4TgiDHwsL9n9E7WZgiYRqENDO5E/yB0g+gmDn0PeC4uNnQmoLyTIlfIdp7aMg4e70SslqSwrSHFRNc1dG3RLYoo7TC2oQmgVeDu/g2b7QWXT56yWW/YXVxxd3vLXj0wjSecH/F+wmi43Gw49T1xmgjjRKsNfd+TtKP3Hm0t7dYyuZHo4Yfvv+XJ9RW//PnP+Nkf/ZTNesuf//m/Z3868S//5b/k66+/5v2Hgak/8ubtW1arNf/8z36FdwEXHH/+v/w5/bHn2dNnPL2+RKUA0bNqNG7qRVTKT6xWKyk4pFpC/0++/nBV5EBOTA2n6BmdnAjSkQ345AkZvquVko20BNjBEybhO1otVjQhRGJy9P2ei92VHErB4fKCiUn4usGNDMc9mwtTeRkJg/M9PngikWE80rZbtG2xTUs0hrVWpOiysJBju25pjGWYjlLFCh6rG+H/xoQ1Dd47NAFUm2FEKVeANeu1KBpP44C1iv54YLNac7W7ZBwntG7o1mtM08pBFxMpRJpGLHO6rqVtV4xDj0G8WK1ZEfyEI9I2Bjdp+tNRFmsMqKTZbtZA4v37Dyjd0HUt/TCgdMvl05fsdjt++P41q80lJE+MmlVb4DMDq+0F1jasVpLIWntkd/Gcy90V/dATosNqQ9e0TObEfn9HfxpYd09IQWG1rp5sMSa8l65307T0fU/TtUxuYrNesdls2O/3opCcFPf7O4y1DP1AcJN4CsfAdrPGe0fTrmiaFUqJUmG33rB/uGNyPStakvY4PxFPoygdjhM+BIKbSMExpUC3NqCNdG5twrk+b1Ke7XpDmzlMxoglgCYx9ifwnvV6S8IxuUEgLsmgkxWvXzfA5HMVXOZmMkGg34BKWYVRkVUhs3pirfzqGkyWbo1OmQuWHgdRueNbAjBd6uiqbtLyo9x1U7EqbtaqqJYMQNfMqCSAOUCrkaoEZT7P+RAc3k0QfY5CMsxnWXFeivxU8u8chJY40OTgRHzkYk0+YxZqYJGE6fxZc1KwCCgzD4Zql1EsJIo5fFF8loMw5d+NBIhSja6SISmhCaK4lyYa7bAWlAoLiFy+okWxoXD1ShJbpJXmWEsq+aJaOx/e5xzCnGDXpGr+wewLu0gCMufM5OTBR3nOuaUikMFUgkGyKJQS/pyeO7Gi9qpmTmoVNyrPKlUO25wgFyhtCcTqY6lJaslzZS6aZdE6cxFz55xYIZ/y+TrXsx0/efmcP/3Z5/yrf/Mf6H0Aa84YljIvAruLDf/bf/ELvvnuHb/75m0tWMX6/ymLs35cIPl9XJyUp29pXqpFJ7N0T5cd9Pm1YPou8iy1LFopk62F0nnBIaMCxCM3r5csVWzOvqJU9WWN5vThrOizTPYSeSBK4Jh/aV5nod7XMqgs6rwphQx3L368M8C5BLBV/KnCWxf9lOX+ljL8uAhgfSLZFmmUgAqe0Z3wfsCaDtusUKaDjMaCIkZZBPzKXrooflUdMhFFk39YBD21azePbYhlbDSxosezXUqxF8liQIlMaXIBN3nxdHQTx2HkeDpxPJw4nk7EnMCGbJOhXMJ4L8Fr8h9BXMuzDVNinEYs0GpNZwwmd/W1lQC7FMCMJnfxPcJqCtIp1mB8QBmy6E8ieNGI1doQ8Dg8IXesTKaOBTxaW2IM2NYKtzwGgko4NLYmnUgnKyMpynNeWuIkiq2KrlzKus+Vn6fig372OPKcSRQx37J3FZGkyk9eHJdGadkbM+4jKZNPEl2Lu6Vbt2yqzS/pX8rZqWrxfaahgMYQU6gFwFT4r6Q6P3i0x1TEREzn2gIFSlyratT3Vui3njm49VqWhZh6HuX9IEnX3QXP/tBzGnusNvRu5H/+t/+Wh7t7/uRP/4TL7ZcMRpN84Nn1k4w0XBPWk9gbGYlzdNeIbVUZHx/pbEtUCWMNPkw0ypJiEEV+BVZrpilirKZbtRivaLSpAoVRJbEGenS+Fb/cwjGP2e/eKFuLmqXgnemuAo1fCFrVLTclTEyYNNJoxZ/98c/51//6/0N3fZ2Fq3TlTCdgf3fL7XvH4WHP1ZOOxiaMksTXKOnq//2vv+H/8f/8H3j1o5/w3/2f/lvWxhJDzArTGoxid7lj6AfGcawc2jIXYoikNPLjH71gs93yw/c/8MObt6Ji3FlIgfaio9FXHPYHWm053h7p+3s2q5b+OPHFqy+4vbnl5vaBrm3ZXW558fIFv/67vyckB1ERoyZMHoPiyfYFq65je3nB/njgYrfjhx9+YDo90GxWXO7WXF1csO069scDjVZcXa5pbOJ0vGcajxwPNzx/+RnbTcs47Dkd7gjOcbVdsTISf757/46YLFqteHK54fXr10zDnrvbif/+v//v+KOf/xE//PCG1z98x2F/4P2b17x4ek30I99+9w3H+xtc3zD2e7788qd8/fXXfHjzA8MwcH25ZdUZrI68f/+e1mqGYUSnwDSMBKVpmo7T/vjRufL7Xn+4KrLRAh92HmMbvJcua+GfhCgPuWkaQvBn4YH3QbqaUTph2hi6rmPyPk8QmfTe+boAnJswJIJ3pOx5Klxb6Qh772vF7nA8svLQrQMxurzBBazR2K4jRehWnchPe482Gms1xqiZxK00F7sd/fEO7ye0bYhB1Mts29aNbpomYlQ0jcVNju2FwGlXqxUhif3Q1dUlp1OPdwEfJwKeYXRyD0njp7Ee4EqJ8FOMidVqJR6xWRDHB1FE7odeYMCbNdY2GB9o2o71dst6vWG9XmOzSlrKm8X+cGK1uWC93uK8YxxHTqeRtu1YrzaklFit18Qw4SbxjCVDY16+fEnXWsZhmA965zj1A7sLS4iB1WbDatUxjJGu7RiGgX7o2V5cZIhI4jTsMU2Tu50KHxxy3iuBmSsPasrcA48yiqbRpGQ5nPas1xtCgKkfcW7CuYm27WpFVUzYxa5AW01/Eg6uQOHBtALF8V66r9uLtZhpEzNyKhKmkTgOgIhI4SPKNoRxJI4TzXaDspLc66XfYRbSkJxI14OsVnhrIDkrAS8KynO3hDkZmkvUy/+q+r7K11gEjwowUXogZ+2f2l0rvnPzerz5cCNQbqVwfiQ4t+j4zZf3qHi66DCdq0SUP8azICbWIFfE4c6D7Hp95f4Wnppan9vhxHpA5SCjCPcW+KFadi7PWjUi6BE8D/f3XGwbqawWSxhVC76LQ7h87nlUZDKUe+4uCBct5i8WG45lZ2DBr8nBYOlKlGJE7T4v2nBqkXxSiyL6DPpX4N+K+XdTPWALl63MNzXzuha3lOIis64douUdf2zlo2uHUz0Kvhb3UdKjVH5vDnAVisOxF/5NpqOgEau3JJ6WIaMnXn3+gjc3By52F7TNB4YpzJYnVWm2JI66CmjN3eT5+srfy9yVsdJ1TMp4lvmcFutAnS3Dc4TAzB9cftGceOr6LPX5WlaLIlaZg6XLXi/70X5R/q1+VUYNZHSHQPVL0aQUiNRcHErzXFIVbr2YEOfNEFRaeCcyc9hqFzvGbJeWn71SVVAuwdn8qHtVQawmL4mo9lVsvu4u+VnNRZO5C17HOz1WUC3QyETS5mMubn3qZPGY88TXTRN3t3ecTiecdxyPBx72DzSmZX//QH8aIIqXYip7f5a9UqWkU+GihR+ZZWTybekqqpfQJuJMREWFH3uiF7GYpKFrNCEqrBE0lzgOxGr7RFSQ7xEVMLrJif58jmijCdkPFU3mgcqTURmCbK2ZHQ18nOdu5ucqDT5DAM/neB69hfjT4+5lKcjWAtwnuKwUS5Y8x/WCcpJ4pCWweM0Yi7K/xtqxVcx0mOUcnFEdnH/Wo+sRXYliF7Xcb2dqyZLLnRbr0OY4p/inLr/jMfKjdmNz13pGNJTrpfJ5K2prUThNKXFzc8u//9v/SNKKf/ZP/xmH05Gryyv++Z/+GQl4/d1r/vpv/oZXL1+xu7wEktg+kphCoLFWuqnWYBvxC1ZKoZx0a8lJvzEGo2y9J+89tJambVA60bQNKfjsfXuuAr5c//WsTvNYl8KVD2EWgzvbM1QtKJzVqTJy1I9CW/Mp8ptf/z2aiWl4qJM0eC8d5pi4v3vg3/0v/yvBJ8zzl+hc+C/WoihN23ZY29C1HY1tGcZ3nPojAYl5ldaM403NUco9GSPzL8bI99/d8O03/yAWNcbinKPve8mRvEOReHi4l/3EB0IYUSoSguN47PnruzusNkxu4nB4IJC4f7jndDzinMsCk4nWapKP/PAP/0DXtlztLrm/v+euaXHTBG5i0HDRrlBtz416w2FtePv2B0IMdF1LjD7H7XtiGEgZYduf7qXy3kfGmwdQFt8fGS188cUrQvQ4P6I1TNPAb3/7FVfXl/z2t18xjCe0gb/8q/+Vf/pn/5QQHHe3NzRGhIB/97vfsl6v+eqrfxCaaZg4Hh94+fIZ+/0dw3BiHEaM0qyaltQKTXOzvqio4T/k9QcntsaIcfI0QmM74kLVU2upVgh8I0hiaxt8DFluXmf7nEkmZorYpsFqy2Zl6I8nVusdIQj8OHiHDw7bajbthskNHA8PKMmZME1LiJ6IkqAIshCEkLNTSkxuBBJPLi8xRo4fHxxaJfzU07YtCSVetDHSdRatW0InKsHTKHZFphFV3c36gqurJ7x9+5r7u/es247D/pbj4cBud4n3EzHBMe5xzrFer9EmMblTFRiIQbpEIUZSDEBfTcLHccC2lqazRC8y/bpt6cee/f7A4dTTbq7ZH3uunjwRO6BTjwrS6bFaE1AEDNvdBYOHKUSOR1GK9l5gvk+unxJIwt1JChcTxooycwiOtu3YbnesVx0h3uHGI8M4kELK1gIPaKNpOhGoYlA4L5YCp35ktb2Qw8c7lBFrI53EG9iNPdY2jJNDKYvH0zQtRM/YH1DJ0bYNql1xd3+L1orVeoWfBsRZKtE0Bu8STdOw6hq8T6gsIjaNkyQ5WjFm2LUPK7QZ0bZhu7sU0+gSBMUogl/jiG0a0iQcNz8OhOFUD2+jjHCfiMQ4QYToEta2YkeVO3osVD8Vi2Cx8KBKtniW3c5WPVVfr+a1crDFZccUJJhVKYtnaJY/TIuDn6ykWuGdubF7HE9sKkRdgqYYcjBcuzTxzMIkLg6WyoVdcNDKJbsYZjNMna8iFcanEi64krHPTYTajauHVoHs5ffMCWsO3BbfW66vcI1jSrlIIy/nBpIX3zU3wMWlwbSXGNsSslp73pTqs1hCjWu3oqZ0OieSCqXFtVDlZEJlaGXtWiKcnJgHP6VEqCqxuY+5sE8qBb5aUNDzyJ4xH8tkw+ex1YuOejobq1KIyZUXVuuG/jTm+9AzP/dxl7MEd2mGkdYcR32cBJdkMOU5Xu6p/kYSNEGIkYf9CbQhMpK8JPlumjCrNQBRJ377+jVu8vz8Z19iVy3BHRddmNzZXXK/5tuvV1sLK7no0qrEq2fXvHt3Q8r85vho7amkqm3JHIDmijwlSS3B5jnENmVagDkrBaWKBohnHd6yYnK3tBY5FrYytWgze7uW1kXhr2olnfqY9wsJEE2G+TJzKPUclCeVi5imBMzkEkq+1jiPaakRaJ2Th6wjUAo1pYhXNoP65wVX24QM99MRZRNx8AzDifVa50RLYJYpLZSl07zeSlCfzsZUusix6BcUZauKmpnnQcoxx7w+zp/Ow+0d//O/+p8yzamMZxaP7E+zjchZ8p8hilpXfi8kXA6qVE5ATQooPFppUbwWdpNIO2jwU0/yG2HCp4DVhiYnfCEJjLJ8d+l4pRQwRoJvkiF4j7FGtBBSqHFG9AI5dT6RbERFj9Uan3JTQklnXGvxPbaZGR9VRNtGBKeCyrz3OHf4MzJIFXgyiZDiWWJLPXcWlaJFsaJ2xxfJEEvERFnbpYhbYMoV2Zvy87KL+bFo6zF/V9l/8iTMnFuxHfxUAWz5PtFByOsqqrM9ocxTgSmbR5D7xetMMHFZelXlVjFGs16vRMgzB/AF+l3KmGSKT4qJf/jbv+enf/pLPvvR53z1D79mtVlL8dUHdhc77g57vnj5OX/yJ79iGMX2xQfPOLh6Prpc4O26q0ofHKee0zBgrJFYcNNkoIEU6I/9CZM6NpsOFx3eT1iUeI8aTfKy2RpriIOgDCraByriqG7KeWSqBrqak/5SgKoJfYlpxFQZF4a8byTev/0BoxTR95XKGDMMXCnN6+++5sO779ltL0W8KEV5/hmt4dxIDInNak3TSLXteDhwOAXQLc57mtYynCS+NHkBlzU5zwe5z5Cgnxw+eKZxwruJ/nQQj+IUmaaANhZUxFhwfmC1ajgdeiYndl2nvhdnE99WHrA2GqWlqObdQJoCarDcPhwYx5FRaxprMUoxRaFK6C6g11vsesVxGAQFGdpcyJGG4tAfBOnhR/zUE6NYujIMrC92cL3lQ3/C+YkUPU+uL7m7/cBmsyUlz2+++nse7m64vrrA6oahP/Gbr/6B1WrFi2fPsVZzc/uB9aplGns264Yff/EZMUX6ceTrb37DqX8gJS/iUdHAYaTZbjhMYl31cDp8en194vUHJ7bOTblDGsU7lEBMQcyAXUBlYaaEBC+NFc5l8IGUNJ0CnwpvxIi/qNHYVcPQjwzDqXJOQSqKRVRgtdpwOJx42D+IAnLmrA7jSN/3XF5eYqyuE857TwyRcRrYrFZ0bZv5pRGVlW6D86QQUUZnCIRwfmPSIh4VIyFGOmtx04TOPruXl5cc9ndZ+l0CshhF9CHExOXlJd5LJSSGgFYy0ZxzuGkSYnQMxGwUTlZ6LYmvbazwIcaR1Ubgz9rYunFa29L3g1xPa0WMIrja0ZycwzSW1XpNyqbl3ge8F/L47upSlIgT9KcTfnKMTq6p73uePn0qdkDRo/N4HqeJrl1hGzidTqxWK96/f8/FxZb1esX+4YFx6IUn3bSittg2tN2Ku4d7+sMBoxWn04mUYLXeSNAwZt5wI8l89AYPsvB8YP+wp21aqehlSPiUq44heA7HEWNalNeyELUhBrEyF+8/hZ8mVhuBxz/c3dG0G2y7nmX0yUlNigz9SAIm52ibBlMEDpSIA8lzTkQv89oYDbQfHYbUg3TJ45u7GWoRHJUjrv6n4m5m5dqacC4Ow/mcVkSdv2/x+2rxuRUZXeKLmNBGqrCmsVxfXme1wDPG6qNrqDc2Jy1V/GZODFGxJh/l0hdvlq5RJk1WCPeiyr2ILXI+ph9Vcs/3pSV0a1nVLmPZth2mMWxWa7pWc3V5Sdd2pKQzd0p9dIvL57jkgWm19INdQCIf3WPpKpVqwkfdg5o02LyPpLOPmA/yGR1QgrnS3aj3rnKCm4O1+XvkaxqtURoGJ7ZlXbem792i03yOACix2Zyg1oy5dhznv5UOQlF7mXmaBa44B4jy0/7U8+d/8Tdiv5X3v9IZFLSFfN/xcESh+fWvf0drbSlxSCdjkUWfd2gLhDzlLvejZ6qg61qePLnk5uFQobVnSfliXgl3SpVZmyHenCkqL597rR5VIeJSLIrLRZ/nx5xQpsdrun7PTCeIYeb2Pfb+VQXWqLTAmRPEDFHWBVK/nHuPbKjOaxSlwDNP7iJOVDtPabE2lntMvYFSuMl/S6BjYG0iwY3cPtxxc/Oep08j2+4SVFOv8fw6Hq2MMmeXVcMz9EpW6S3CNssUVs0fsuxAqsyj7U+nuUuYfzyNAyF4bCvQzDLm5TMrQqJefTrbFJSKWANGB1H9TSKQpzWYRqMiWAL4iSb7dBIcxkhXVSNF65RhuEXQKsYowlFWhF5iTCTn8v1E4bDnZ1P2rZS9SlNODMZxrPonIJBnm9VZUxZYtEbhxh4/jdX9QDW2zoW5W6ukA7acw4vxLr8bC/9iWYhaPvIoxYqqML1YL1opuqat+2+ZIlpXg666/6POIfHLvfcM1VKusBavyn917cbNMGz5nyUsm9yVFvSY8Gt1EVKlTIeUhbsWqVpOptbrFadTT0qw2+34v/yf/3v+x//3/8Tf//0/YLIOxkwhmqeftZYxJY7HI8EH3rx9Q9t2bDYbUogcjgfGfpBmw/HIZruhaxvsag3piHe+umlQleslDhb12jFrcAS2642IN2UIdNu2jN7jvcUFh+kEPdB2LSEeiHn8jW1QaiIEcke96D7Eun5VVhOfT+/i+btI/dPi4SINEq013pcilIjTunFkvV4xTiNd12ZEnSS93gXev3tL1xqsijJXtcYH6IeR1XrF3eHAuw83nMaB2/tbbj7ccDqdOJ0Cm20DmWaZUnHLmGOuGES0lhIrZA6ziuLu4iaxK41xwrtASlF0f6KviAXnPJ9//oq3/i3Hw1HmkhJbPe8909hzsb2ojgU+BLFBCoEQlWibZ+FCH0PV9ZlCIAVojYFgIQQ26zXDNNC2bbVLHYZBrtlLwzI4h7I2x40RZaQKOo493k2s12ucm7i8esX9/R3ffvuNNAtTZJOphtM0iM/tqc+0CkV/OvH1118z9Ceh/E2O6D1/8Rf/jmkcwacsCptwg0O3Bms0Dw/33B32/KGvP1wVeTjKhceAMS0hGKbgUBaC0nglXqJN2xCUVEJCCkzOsdpccBonYoTWtHTrC5pWFIkNmqa13N284/LqMicUhhg03nmB9ijD02fPeHh4YJx6EpFhEGEGpaA1WuxFdSKkUDcbrTWnU09zKXY5MUplM3iZcAUSjRKrmWmacFECl8Y2pOiIwaF1K4eR0XTdCqMt3ifGyWGalqQLH8WgtHhBmckQpgllRB3NGsVq3XJ/f2ByLleuROa970+0rcU0mslPHE4CO9hOW4zWTM5xdXXNk2fPIWmOpz5bhWiiSlgdOB7eo5JUkKbJoZs1uhE7nRgmhtMd10+eoXWudDvH4eGW4+GBxsoBloInuoBRidP+QTqyWZwhxETbrvA+K9SlwDT0XFzsWHWd2MaNA42VOeKmUaAXQRKZ6B1OgTaGED0Gj8KLT9VkCG7i5DNcOwSSF9GOh7sHdrvLDE93HI9HUoo03UqKE97DAG2bMEb85IxpMKoREQ1yMSME4jShmzVWZwgjKm/agTbzSKbJo7Rmd3nN5ByqMVk0NpH8BCEQnMM2LVqJUUJMc/B3/kozHG0RXKp8OtcDusbJxbz+PGpOSzGasx/kbkfxJM3dinwmzFCqCgWVjqFPkZBtuZLS2G7FOPUiwKBK8qmy0ng5wBdCUDGho5LEtEDHPrKCiVI4wtarjkosCfQC2lRGRi2CdDJUV6VZ9TWTteZrKLl07bYtRLV0rfVCNBgtCa6yAdOIvUHxO4zMJ6dSGl2D6Vg/M5Gkw4LK3tqyvxV4ZIFamRzZFfVHjRaIeDm0kzqLsTV+huyWTm1NgGQgY7EXKYd+hUJmYZGaYM/R1FLF+GJ3hdGa4d0Hxmli8q7Otdr+qGqhaaGqXPSwJRjVSrFZNRxOR6LSGVae/YBrfUiC29KpS4tAUOX5d7Hd8E9+9iP+8q//ARc1CdFjcGkk5L3WLCDr66bhn/3JT/nrv/stx+MIup2VyM+4lI/XRu4a1pUHPsLvvnvL56+u6FzD4TBJ8FiLI2nBYc6Zds56VS4u6QpJp3ZR5y7ODEO2SZN0nLvm9enMCWu5zhmIOEOty1xOKUq3T5ls2KvyvJjh1DWtS9k6Kr9fZc9ryZ8jSiVCVuiMWa29QrJV8XddwIBJNUBcimWx6HKnM2UvgZdSOk16pmGk4cT+d7/ls8+ecesDL54+5eLyCqVMRWaQVIVUp7p31YVeCxipUsdT3X8oFIa8P8WykNRcOJohsfPD0NoI5zb/e9Ii4BfzEjFL/uYsizPPscL7KyiPRO3+Wx3pmoQJCasUPif/OubVpaE1iuQnNBGfFZGV1lLojRFjO4KPmEZ0Bpx3KAwheZmLwVc9EABtVC6yS+HVaummygPVItiZ5k7jUqUdJT7KKHEbMDiG/p4p06imaSI4KzFPjOjMZVyUN2UW5yS8UDBQhWM96xGYPEdiKe4UfQAlAXQtduY512jLrltlXQEWxYOcHMV5Lytq5TELZEk2fy7UmJL/aK/4qFZVd5YZLRCXNnZ5ToUgyMSu60TJuYrmxZwEzYJSZQ43jeXFi+d88813ImhqWz58uOVnP/kxf/u3f4e1dROdE788XhoRYYXcGQ2R7fqC/njE+Yl3b94zOM+rV69yk2RiGCZ2qwuMbhj8RNMYgdw2NnOOC6XBkjy46LCmISXF3WHPn//1X/LN62/45T//M/Z9j/OO08PAxWZHE6LYZSZFUJqoFUkrojF4lxXtlQimzUO+iCfKYqzF+TNN5FrcU8X5IIEhCUfcdPzww2uid2wvVrhjz3bd8fzpc0l4nePNm7cM/YFVo2ltJCURbNJK8/bDDevNBlDsJ8cpTOjTgR/evOX25gO3h4mfXlyyWnV8/vIzjDGcTif6YaiI1KZp2W427LZbvvnmG66fXGOtrd7SKQVujnuc82LLZTR2ZWm7Fbe3N9KUUZrTccgirqdqtWWtYXJO1o9KrLo1bphw44gOAauF7jb6QCQKMjZ4VFIEJZTA4CfG6YS7EYcY24oA1DiciCGwXq8gw8xjjEQf0VHhXWBMAX8auDtMTAZ+/euv0Ci6rsUYw/FwIERBvd7c3DCOI/uHB/GgdSMxJd6+ecP1kyuur6/45uvf0fcT4zjQda0UacYxzz3Fqmly80Vh14bNuqHrLId+T2N/3wr9+PUHJ7an/iQiCRnu67LNzTjK4aG1PABjLev1hohimhyTczQ+5Dqiom1XrNZbtDZctytpuZ+O3N7e0HYWYzZY1eYESB548XZ9+eIl796/ZxhO1UZovVqhszUP2uAmh0Zjm4aVSgTnub9/IMVA2zTsLrZ4rXFeQk7nBIc/TRPBi2l5iJFON9hMYr64XDMOJ269E0ROTrL6vkc7z8VuJ5xjo3B+yqs1YRsB9/hsddN2HRe7S1zXcX97y+nU015ZqUJlxWilFUetWHUdxkhlKvjA9cunGF3shi7xwXM83GOMkWKCGwh+AtWKkFJnsLbBWsPoR3YXW8b+RN80AqFwHlJku1lBnBhOU/bt7Vmv1yIFnnlfjbWMkyP4QNt2aKVxYeRwOOCcZ3exI0U4HI9opRndCEmxXm+ZxglrJ548ecLheBQV5HzaGCNwoD5DDKTjn6p0vm4M69WG06mn68Tbt+s6Tqej4PA1GKtp8vjVeqtW+MXGmWJEG2hshk8n8MGTnHBnQ/AMmXPo3MTu8qrCZ7QSK6MQEmTYeLXIUaqqdJMSyqQMbZ3bM+XAXlay5yZYhhdFlf943o6sAWb953PI7hI6tahZ10P/MT9Jfk0qgCFIAKeNQWnZ/Fia8qT52wrPer6wAgWjCuMsIdASbOicdFOD+yrCkQ82VexzcheiHF41jFAxQxGLCm2+PT1z8XK/gDmULR0kCfBKxbfpOnw4EVIUV6zi9pT5vPV7UxEFSjV+n2vt+XnqYiqUrYDmH2ffxPw7Cw87rfXcTKwNZVX5icvuaeGJqWJ/kX8/pKyM+ZjvmEQUJber6r+HEPhwU4zNhesco86B4bKjqmpiR+l4FeRmzljWmw1Prrc8HPY1cVEqFXRirfynnIyfTbmaq0sidXGxpu0sx3HKojM58cwqm0XMh0wviCHx6sUTvjp+nyv+YtEyQ83m0PrxjK+xcQ6gm7Zhd7nj+3c3FPFDpc95guX3z7i3eYwqh68qzpa1WqxtchWftFzodb6dd74XCW/lImcOeIyZ60cVYksl361QfF9vMuVkNRZOf+bRlm1QkwWZyvc+Kp5VgbDcoVW6lOXmZLskwVqJ4GIsRZxSeUkQc0eydPClKJRIeKbDHfrpmt2qpdegVUPBQytyoWBRlytDVedOue5cVChJ7RK6WBTrZ3fonGTUDvYMg61jn9FZ2ohma0ozVHxuHs68yuV/Z961PBdD6RgqjJn1BVTWI1F577PGZI6pyntQRsIFRwhijxdjAi9iT85NojGCcNHVR/eRxFkgn53153oe0ITEJOM4YrWpSVrhtUr3pslqwQkfHOM4oJTG+QnnR8ZpYHd5ma9FtEcKx3AerFngb3neVahuXQtqPvOSqp9zzsfMHSrveej3PFHz+JY98BNizPM+vUBLxBTrXFku7bigh5SGuy7aFPU6JVGt37mA6hdKz+l04vLy8hHKZVF4XNSAxnHi17/+SrqQreLh4Z7f/vZrQnYIgXK9ek7O0yygOHnHu/cf2D19go+By6urCq39kz/7p/z6N7/hhzdv2F1sePfuPZ9rQ7e94HgS540QA/cPD6KOrKWZYBtxDVmt1xmCDff3D4xuQrUWpyJ/9Td/ze76KRe7nRRwdMMYhdpyspaoNa5bMUUYUEwBrIYn2zUp9IKSeQTnJnfetdG0rSRMKWbP2cyVPRvzFFmtWq6urnn74QN//Me/5G/+6i/x3klxAfj88885nU6AuIF89tlL+uMRC1xeXfHm/Qe6ruG7N3dcXHiePX3G7cMRZS2j9/zw9p10RVPkx19+yds3b7m+vqLve54/f8Y4TpjGCkS5aej7EwD39/f86le/4uuvv+bFixdVC+hHX3zBqrN8/fXv+NUf/zGvf3jDs+cvePf+LauuQwG3d3f86he/JKXID69/4J//83/Ozf0dr1+/Ztdc0Pen7A8bGEJgbVuUVjRNQwyexlqSgnXXgYJj35NCxI2eGBwXVzsG57PbiDiiNFZyq7btBO57f4+PEL3n+vqSmxTZNhu0iqhVw/F0wmZayu5yxxdffMHb92/Z7cSx5M2bNyLyVhAHMbBe/5SUIs+ePWOznri7e0DrK16+fIHWmru7O6y1PDw8cNo/cHV5SWMsjbVoYzntj/z853/EsxcvPl7ov+f1j7D7cQxDkLb1KNDXlJXtolLSVvaRafJcXm5pWoHMJmXohxFjLOvNFq0b2madIWWBxJQPscThYc9ue1FFCXQenC5XFIiJ7XrLm7f3TNNYqyUkQ4pi85OsCEt5H5hGX6sQKQQuXl6w3e24v7urPFOhjyS8TxjTstntRCCKbPKtxB+q61bs7/fE3H3cH/aihmwcfX/CNpcoJTBaBQzjkIMQhTKadtWJDzCG3eU1Fxc7bt6+YXIjyshBlkYJOLu2wTnhGU+TdNW0MiKoZTratqFr18TVREwTfjoKxzY62vWKplvTn05sSuIRnEDDY2DqT3SrDSFM6AwN6dYN4ySS4lFBkxq67Zrx1ItqdA6onXO40XN9fYULCec83p1YdRuapqNrV9y8v5FigzLsLq7wk+fu7p77+322hprYGRGuCJNUpaXyKweNybL5IQS01TTdihWGu9sbNuuWzXrNzfv3bJ4+obGSLBHFIwudaDuDTpGUBKIlnXvDqu1oVxts0zA6R7de5U6N+JaFkHlQhixy5gnOoa3wsBWqqj4WuxwffYXSkhRN14IV3zdd/VlL13bRlZxbXDkV04uG43wALgNnyHDiymVLNWio0NQaDaazg7QmubkrE1MQDmhSJB9IwWMEB4dKTbVXUbWS/2gzKJlWhmLFlHJyMHe9QtR5e5m5g6r4ohYxqcrvJFf6MyAs6QUfcBkkFL/czO0vV7ngO5bxi7kDpjM/ePAOqwUhkYp4TknuAB0X8NA0dxtT7lrXjs7M5FoIlcTa6fJxvqbCj2Jx/1KQnpM5lTt2GgmOoplhlEVApAZemVNdOlqlz1A7gCrzfDOSQ2eenkJUkyvgzugMbaV2bGTNxcpPFJ/OUNVuD8cTx9NRgsUQMdqI4FdVjNbS7X+U1C7FUWJKxBD4cHPPOIb67GPmYIYQsDbiQzp7z7ffv+X586u8TmXPwBZvwRlamyiFlpLQpTlZymJI/eT5zbdvCHHurpZ6ThFay0dNTqiK4NNcbJDqwww5rFDH3FFNKhJVmDvYgUVgPAfssUbkqa4TXTpYzPzmGUq5KGjk9a0LXiEnolWhOwtWFd2qhFiV6Zx46QWveqloPNuZZAWh5eNUmdtL4fVn9esoxaYYYubilURV3qZTIhGwytCQ6LRYiuhpjwoGZTq80qimqftUWkASU5rhqYpcMMvZcEQSUp0tcJQO0gUsf2fmdJLXnkbhgtCV7MrkXmIBnM8c9xA8YQo0plskbcvhmFV4FQjHL8TM0U4kHwg60iiNc74mQYpQNbFjLtBP05TPKsUwjdleSJOCp1FKOlVaIHopeVJShKSJEaxS2VzNQ0iYppHYKp8VRudkMPuBEpPwfEHOuMaK2m6UfbsoEws96chqtWaaRk6nE1ob7MmwXq8hhrq/qQwJLoWTsj+WeSVCWPmeF13dFLKgljaZQ59Ln0rsBlQtqiiZbwvFYWPs+bMgF1byWi/3nOTQkH1elY6xmruvFX6eFXvTfF7LPNYL+snCw7UWVMgNH187bfLjWQ1a1JKL2KG89/vv37LdrPjs5Qu8n6TAPgyV3mGqajPz/h8Tp6Hnbv/Aurlkc7Hlj37xSz770Y+4evqUH//4R5z6Ey9evuJHX3yJUeDGexrTsFp1XD95wjR5tDHYmFBZ3b6xUpDtxwEfLfuHB07jyF/99V+zP9zzsL9n8+QZPij2vSIY8PaC395FHu4NNr5kt9OYJzuOxhK+hdOkuH37gf/6n/2M//xf/Bl+fKg0AWvn4oz3ntVqJbF+19F1nXDDnZM4OMfwh8OB0/EBrTVPnjzhYrvj6c0L3r1/x5c/+QlNY9lut1hrefXqFUrBdrPhl7/8pcwNH2i05fPPn2OayP54xLQXnPrIZoL19poXL3/EzYcb7h+OXF4/5fJZy2H/wE9+8hM2my193/Pq1SuePn3Ch7s7nj17ipukyfVX/+Gv+OKLL7i+vmaz2XB5ecn19TWn04nJTaxWLc4HfvzlT3ny7AXaGP53+r/kzQ+vxVYnyfhvdzvszQ39NPLy5Uucczx98YTXr19LnLleseGK7XbLi+dPWa1WfPPdt9LJN5bNZs1pHCQGDZHuScft3R2vnl0zvb+hW3eooPBG8gKjNVdX8nnHw5GTO+KdQzWW65cvuLvfs7244DQOrNqOV69eMQwD+/0DV1fXfLj9wBdffMFut+PFixfc39/T2IbbD0LZ3GzXmabY8Pmra7777nu6rmMcR169eoX3nqurK16+eMFvf/MVtrFcXFzgvGcaPba19GPPu3dv+ENf/wi7n1AnICiCl5qo98JBERGkRNdJB3UaHUY34loVSxXMsN1e0DStbIhZ4yWmyG53Qd/33N/fs+palBauozaGpmtZdSumXha9NZa70x0pgTFN7aC6lDDaYIxhmmTjM8YSY2Loe/GvdROnUw9othc7Ygg8PDzgQ2B7sSM4SYZN3pxs7io+PNzNfDICm64l+Sw25H3d4Nwk3qzTOKISNMaikiHkZKCxDZPztNZwfX3N8XAHSRR9VRZEsMYwDoN0pDeXjJNHaUuqXTCpbq03G96/v2cYBi7XHacwst5csL16Qn/qISbGYcQagQ42jcBzg5sgWxu5aaT3oQZUPsN9t9stPgQa2xJTYLVakRIM/cT+cKBpBaY8uYnD8cB6veXFixd8uLmRMQ+e4+HIfn8gpcTt7S2b7RbbiIT6OAzCaY2J3eUlwzCwXm3Q2uKzGbfzken+Aa00q05UrRWwWq/zYSKHUtNYhmGiUcKbULbN1WzQ2mJMw2qzgcYQiUzTRFI9TbsiuBGVDz2jNW1jidHjnIg4jHuBrLRNhzYiGFA4S8n7GpA67zGNgqBJRmebHCoUeeZ9LmhYpbJcDmEWydDcg6i/x8KCoCQFj6vH+VNrsjz/aw7dYkAXVc1lVZ0oCd/SVH3BR6tdxXrYz9dfKt3l5gpCtNBuKdDJnADLjS3gXLM2SK60l67ZAvi3qN7Xf6g83zweBaobU0UFyDUKPEob8d1ulg+hKIoalavJ1I5AhXAvu1vLDlIOhgpkNyzdURaB79x5inlQiqqpZOC1eFCHJgdpC8/EqmKsy0fq2lXVmMpPK+9XSklAWwsUJanO3fLK+5Jn+suff8nvvn4tsKCFwE7htqeY2Kw3tG3D7e0tWinEicVUz8uPuWwLiGYO5qw1fP7qBW/e3XF8+74WdKzShOgFbmbsXAxJsN+f+OmXr/ijn3zG3//mNUkbIl6C8zTbjyw76WQelWotnojzDtsIOiZZS0JUTIcgiXfnEzrOdAJT59Syfbjs0mWhm9I9KiumdOCXUxZ1RlUoKIFq/7OAMtf4Wmnxdy1d+iLalOeKMSrvk7ruHap2GhddxDxfNXpJD2Xxx5pQr9pOrOTKPxYNuJyExGI/ReL+/p62a6WYlys6bpCiblTQtIaIQOW098TpRMLR729x0x1Pnl1wfb3h/Q+/4f7BEy+e0149JaaEtY1oXbRrEUNKgXc3t1xfP6FtOwIh21WJ3kGjW7ROUrzJVmXz3Mvd7phltLSc136aBEXVFH5vnr8x1UQnkcmnZ6/y6YU6oealm9eBUfMYKxQ+hPo+ndEBznuiUmwvdjRtK/oRk6gQ+8mhm7mTPU3S4dU5gZSusySeRhkaK8m6zeiORiuxN9Kq8v5sK9xE54MUGnKCFmJEBeH6mQyf1Lkqq0rc5yYp9IbAy5efcTyeRIdCSTLUtHLexgXnNmUBLlVsi4xejN2i0FdFp1It+Cw3w1mrQtdiRt0nU8rVpFg1CVQdZz3TelKhC51XaOvf1SzUNFNilnVh+ZPReqENMJ8TZf+JMc7NFljc3yxwUY4dhaY/9WzWHb/85S/pT0f8NLFedfzZn/xxpiyJHg0oYki0TUuKnnQ88erHn2O3Hav1hi9+vMYYy/Va6FPOB1ZrSSb+6i//ivE0cPHsJQOGd+/vmFxgdCP7hwMfPtxm/9uJoRc63unY0/cDMbuduOnEi5dP+fFPfsy7tw/s+4Reb+njir2zfDt1xPUFZiNijMol0mGisSse+vesNhuapqE1FyQFo3e0TVtFjgoXNkZxPAkxMh1PopKtDbbphP8d5ey6u73h4mJinEbWXYcbBrxzGK34/vvvuLq64s2bHwARH+37gZvbG148fYZWitF5jncPHPdHxmGQGJWOy6unvP9wS7te8cO7tzyceja7S/p+5MP7t2w2FxlV1HJzc8vonejdKMVvfvMV33/3PU+ePOF3v/td9jyWAv6TJ9ec+hPD0LNar3n37h1Ka/b7Pd5PuGni/v6Bn/7kJ4zjyM2HD4QQ+O7bb7JbywVucigUr394zXq15vOXL1mt1/gQ+N3X3zC5SQRV1xv2xxP3Dw9SKDYG5zzdasWHDx94/vyFiIgdJna7HW5y3N8/sFqJs4o2ukLrHx72rNYdx9NRxMFyYWwYBt68kSTzcDgQY+TDhw9cXV3jXeBHP/qSVbfi++/+J54/f85ms+aP//hXPDzc8/79B+n250JQ359IKfLu3Tu6ruX5i+fc39+TULRtR9+P/PwXv+Qv/sN/YLvd8oe+/uDEtjE2W8ac2G42rGxL7wfhUSoy9xHBZaspJzeglKVpxC9N24YpBtocNIQYcvDlidExTSdSuoCoBfIbfBZwCDy5fiICAl1HZ1v85PGJqopTuygx0TaWpulwBJErN4aYRCW4U4p+GGm6NTFpRjdxGsZaLSlVInWxFnGoFHKlMeWEb421SkSSjJZgVscsDAXKJrSSSi8x0HSKaZzQk2W1FSz/anUh+6UXZbSYJLnzw4D3cqi2jciOG92gjAIjHNBTv0dZw9quSUqxWm8ZDncYYZ+wu35BpKVbGe7v3tOuNmKb4x24AaUSh/0dOkXWa4tLE8FN1T9MJUWYHMd4yBVDjdEtqMiq67BNU4WxLrYXHI4nmayXTiTiTYNpG5RPDGPPMAwAbDYbEfcyhqHvBTKS4PLykm61IaEJSUmxIDhWbZePKQmOUBKgno4nVuuOYRpzlU/hoyPiCDHhhtkeQpeDNpPqo/eMbsJlWHWYBrrOYpVmnIbMnW0IyXE6DBKId6vZSiNFYpAAz+RkSCtFDEECYe9JUaFTi9KWeKYem4NWXQKu+XAViGpaHKVFTZiaeCw7S6l0qNIies6ebBSV4TQnLrFgbRcBrW1kwwspYNqG8U68owuUMWEkoK7fOfN/Ve0LzZxESjcon9zSbZ1lPWqymyFOZJVckibVlpncTmBOgEuVfK4ElCQi5DZVHoTc/dWKbBth5HOUJiWNsQaXxb9maJiqwVRQUZoo5TOrV+wnXinNz6B8R1VfTWdBmcrdMfH2VXNXoHbZU/0cvbB5KIXCcv8C7Q41caEGZrHee0JlaHTmoRWonxKV1pLwyUugiCb7rXz1m9ekFCiszaoOXUXWhHMTXcQqO1vBLDq0Z1zSRZLL4tce9gf+/N//LQ/7IyhbfYALlFfVooSqglLj6PE+8vlnz/nqux+YDAytJB02kLtXEuTGJD7GOooN1q3p+Vb3dJ2m7Tr6dOKYPPuVYwqBU5j4xZPP+CdvFNtpISykSh2hdNBnLuHS6/YMT1ARvqrC58k2OwqF1dk2YgFLTmUdQFWetW2TlUtjqWXQWIObBlQSdMnlk2v2J1c/R0XhsqWY9z+dZoHzR8+kzotFIq1SAueoaWGUuWIky6nWc1pbYgh8//Vv8Cqxu7pChSAcUu+J3qMQb8kmKlaNZds6mnDi1asNT59f8Nn6gp/8yS/wyfCf/1eX/MW//fe8/uZbVqcDtzd7otmQlGXA8jA6DlPk7Q9v2P6zf0r3/DlkrQCFYjgdsHqHblrZl1LpForfuXRglRTJlSI1LafTieF0FAhf16JTICWHSoLwSEnGMiaNyR6fKWXfS1UoAUoKVIX+kpIoGxMwuYhlEhgMPvlsGaNIIeTuaCJow+AcajSCEEOEW2JSqJBQWtAanW1z2z+J9kfuwraAVolWB4xOgpiIEZO9btumwUVHSJGLbivBvwJFyMrApbCpRHujVuCScHe9FODHfmLMAprb7QUfbu8IKRECXFxcsNlecHd/LygwrVlvthwOx0ovaTKNaC7IqiqwpwtuPc12YqkUgtQsrEn2bY+5cJJSQvkg6BQdMrImSjFIy7kcMgdSa52hEOqTxTelZ2j+Y5GwUnhWiFOgQeKJ2hFWCqUMp9OQY83m0f4/d12TUrlzrBj6kW+//Z4XL5/x5U++wA8DmojSccGrZT6jkskJciA93VWotdLC5Q94EQsaJlH0Xln+8i//mv/Xv/q3xNTwr/7i10JDigJxL3XQEAOBGXVQChKl2Go1RD/y/bdfczw9cDpGVruneOVJVhP9hNYrgu4ISuGViKYlFXJBQxBgo58I08D7h3tu+iNPrq54urngxdV1ha4rJeqFSelMv5A/JyR2H5w0eE79wDAMDENPCIl3b19zc/OeH3/5JdMk1pBv3vzAdnvB/f6Bu7tbkgq8fvc9V7sdH+7eE4JHRTDa4pzn3dt3YBBdmq5juL2hjY4YRk5Hx7u335Ji5LNXn3M4fMb+YBgm6SYHN9JYw9On1xnK73n7+h33dze8fPmSXdrxcH9HTILM/Oa771ivOjabNf3xICJLITKNLrvLNFztdtzcvOeP//iPiTFydf2U/cOeGB1390eeXl+y2a55/foNNzc3/OpP/4TNZkOYHIfjkd3VNbe3t/gEp1PPy5cvebi/59Sf8D7wcHtP90L2zHXX4CfH2zdv0MYIl/diw3a35c2bNzjvYEysL6TZdXd3J82h3ERYr9dcXV3z4y++RCvLdnfJd999x3/xX/5XNG3LYb8nKc3oIz5Enjx9xjgMGaFl2V1ecH9/n/2jFc9ffMbd3R2/+tWvOPzt3/Gbr78mpMjm4v8Pia0xhs1mw+AmhmGgs9INVV4Ed8ZhYLfb1cqbbVqsdcTkuX7yhHEcOJ5ObHdThpOJr1PfD3gniqxuciIY1Qks4XIjWP+H/YHb2xt2FzvhYGmNtQ3DqYds2yAKgnKICX9WZ682I1ZFWjEMA1eXFxhrMday3++BlHH5KnukigJl8lIt0k1LSinDgBuOp4GmEXhrJLHebHHjJFDiMDKeTnRdV9VOnRvz4hR5caNNVmWF4+kBYyxT3zOFgM0hU8rCIEOGW9tuzTT1eWOGcdyT4iSKYmmisZZhkqTMGsPgI4fDnmkaWW82FfrivBPzdy1JnnOi1ji5iclFbLPKMG7Pxlr6vicGUexzwUmnuelQWnO4vwdteP7iJYfTbxnHkYeHe1arjcAqgmPoRXnteDpIIBXnrr9Sit1ux8XFBSGKZ54x4g2sVGTV7UjKZDsazzgOUvVVslCFi2GZJk8M4vfnos9y/qr6LMdpRDedVMFtS3COxmjZfMOAnyzeOabMJZrclLm+ggzouk74TilhjZF7Q7GyDVZHYvT1EJCKY8rdAcF6FXiwIgffcdHpO4MnL8RZ9PJgPE+tzjh9JUytXqxLi5eZK1i7jDnkDsHPXaK8XkKK9cPr/5bDuChVLirO5aWVPk/ea8ckfXSdPEoEEr8ncaz3mh7/y1mCe2a0m8dA4HDlGhZ9qZTHtXQHytCccavmTjWfGudlYMQ85rPwyaJTXd5TIZSLpI+SHM9PpQR1IXdKyu9VKG9KiyQlB0oxznxjpYgpZL5xylDMkOsFy1EuQWTudJQ8Jip+8fOf8PXvvs7Qr1zMKNxjpXDOcbnbzToCtQP86Bl/Yt6Wf3/27An/7Jdf8m//4m85TUfprqfsZVjvbcmblEDru+/f8NmLCy5Wa04p8m/23zA8XfNHn31Ovz+iteLDwz23fkRpy9V6w7/onvObt+/4d+2ef/HZT9hieHt/5NvDDUOGnAbv+THPMLql9HtLUUkxF4TIljoqK5OlnDCdP9SCaihd0vxotCjxr7qGoZ8kYDQWN4V5lgpekqHvefHkcz7c3YnegNJ0TcOPv3jJV199BQqG4UhyHSZ6bNMSgvAhk9JYZUmI1YRtWimKIlDMEAOH/YHLqytUIgt8iJqu6BqA8rnLlkVwDIlxGkgp8Ec//RHPn17xw5sbvv2N4W//4de8f615ut7SaYUB2ibx6jJwfbHhn/yTX7C9WPPqZ1d0FtrNJWbT8uu/+Uv+1b/+18CGH3/xBf/N/+FfAr3Y5d28Zf9w5Hd/+2umEe5uex72nufPRtL3f0VwPyast/imA23RRFHYzJSTmB9eSOLN3p+OVUjSpYhVBpwjOUnC8I7oJkyMNEbz/NkT3t/cyTqMQZASRpBbrZGE0mfvTaWKcnaUAn0M0k3GiHhOChAyRSFE8OL2YHOXKgbEmzIr0hst8HRljRSZMk//6skl+/v7mfKRE9+2kSKDzpBVlasgMXq0iZgGNJZpclxcXHDz4UPdi4yRzpjW5czQlX7hpxGTYyo/OYLzNEYTUuL9u3ecjkeePnvKMJzQSpRlu1VHitLN+eKzV3x4934W+9Mqx1wFmjt/ZynuSNezIEkq0CGjJh5B8otGYFVk1xQWgc6cYaUUSYkl2wwdntdopZrkz4z5XI4xZu5hg9GCkHPTBCkxDIL6W2+3WbF2/tivv/4d19dXvHjxLOt2SAI5ey1rmQMJUgjsjzJnTRYB1VqKKhUaXSvfi2J3ClI4sVncLitvl4ZOOR9VVssf3cD9fo+2W7wSVxNBeRfF/VhB+Glxpi338xBkD1Jac7nbsduueOgd0zBAt8IoTasDWnuislLES56ER4fEyorVliLR9yfu7m558ePPGY89+/t7XlxeztZP1ft9Rvp476TwHDy3tx9orCAZ7h8EkjwOI5eXO+7vb7m6vOT+7pYUpdv5+avP+eGHHxjGgdubd6QYWTWW169f8/LlS/phpD+eGMeRyY3sD3u6Vcsw9tkuKHBzk5PgXMR9/zZx//mPcC6BaYjRcdw/8Pmrz+n7noeHB7H61ILC/Pu/+ztWXcfkJp6/fMH+4Z7j8cjtzXt2F1u6tpVCx3Dim29/x+evPsdaafLEGLi9Fd/cbr0VR5imgRR4eLjF+4nT6ch6s2K73UjeYcW9ZRgnLi62HE8nYgxsNmtidls5HA6EGDn1J2KIPHn6hKZtONwfM8oxF72NZegHaR55jzWWiYnVqqPvT4QQef3Da375q19greHt27fc3t3SjxNd13F5JVo1Dw8PKK15+vQpDw8P3N7dse46Li+vcrOrFbGoRvjRz58/5/b2jr/7u7/n1ec/EvSZtVxfP/kopvh9r39UYmubRgq5Oi9qpUmqYRhPXF1ds163hCjcAq1bulVCm4AyDU9fXHHz4T1vf3gNIYrAVIycjqLGqhHYRQqJcRwFPhMDTduyXkkypbXm22+/pTWC1/ZhT/AB20pykgjY9RYXIkM/sN3uWK1XHA97+uEEakW3WhNV4nDYo7VguUOGo7VtJ8lV63BDj7EGYzqc92i7ImUeZkgxQ2YFthFjZLMOxCRJltUdxrZEPxGDo+lWJJXwfpROb4oEH3CTR2tDY1tu7j+gCHTdipC5vT4EEa9qDafjHmMambzBMTgpAqQoQaYPAdN03N68YwiB/njA5ArwOIzZQzIwTQNaJ6yBu/sbWissrc32gqbpaFsvFe1BCg6NlUOh7QSC7pwTYazWMrnA3cMDV9fXbLcbDocjHz6848nVFUN/YhpHNuuNmIErYTKFzEMp/r3DMGBNw3a9YXIjScmz8EGeJ1ox+ZFhGkQAxSjcybPZbJkmVw8obTQxpDlAUyJO1XadQMODF9TB0GO0pusajDH4qef9u3c10cYYgWA3nXC8rcGFIIccwk80RjpNbhRIe9PK76YUpeqaAilo4VEpVeSSsoQLWYUwH0wkMIuEatFWVcVnsnZoz5PFpUhIzRQLBConBKVLVw8rL13dYRwoZGBrzFx9Lrl1hnlHXThXcQG/Lf6NzII5Z9ZG59dSrjmhRP5fL/lpS3/Jpdot5QPq5y0TPpKhNAxj5mSqqoIrzS/pbGRD87bD+3FhBTLD2wr0TCIQs+AE6wpzm8d9hh9WuGJK2UpjIe51dt/zq/Blz39eetZLWGsZ45mnS1brVWqR6Fbub54nuRNX5YZq8DXD8jZtyy9++hnffPeeh6MUzGKKfP3N99VGoXTjZRLKczGNZbvLAlLURvFZkeRxUvv47+tVmw/urMKqFSqKwEfbyJ4ge1KZjyXwlD33arPjw7Tnd/0tH8YDF1xhWs+gEn+v7/laHRl94Mv1M/70yRf4154pOL56/wO/ePk5q4s1P19/jrHCh//+7bds24bdbsuFjehqjyJq8P1pYHSO3eUFP//Z5/zu2zfc3O0zx5izZztP/bk4Id3USGs0u7Whs00ucII30l2+2O0YB7FRGA8n1m3iamNQVuzLLrdrdmv40csdLnisHtmuFCp5njwVq64UAj+8fs1nX3zJu7fvsVPPL778FfvTqQa7IWg2tLx4tmEYJtbrjtNJkhtjDKv1mvt94PrqEq3E2u2/+M/+lMPxyL/7y7/m88+u+du//w3PnjxlGI744YhtGq6eXNEQ+K//9/8ZL1+1/PRn16Q4cfX8BYf7D+yevmI4PeDSiIoN+wfDV199z3/z3/4f+eof/oGf/+xnrDYt2wvLkx/9hMtXgd3Vlqc//iIXcEcePtzyf/+//t/Yf/We1ee/oH35JX3fY3RLDB4/eWwrtiTO+6zw7wnekaIIvHjncAn8NGBUIoYJPw3yd51ojeLZ9SX7hztGF4SaYRKdUWw3K7pGgvSQwPuA8xObpuWf/OpPCDHw/v0H3rz9wPj/pe2/fmzN0vRO7LfM57YLd1z6zKrq6upmO5LDbjU1xJBDSTO81oV0J0AjQdJfM4Du5AABEoYEZyhSIwFDctBNcmhm2lV1dVVWZWaZtMdEnDDbfXY5Xbxr74jsJoG6oDZQlQcn4kRs831rrfd9n+f3ZCBlSiGnCZSAYhgkqs7kaBgiTEOe9OXoMWsKxnGU81Zu5GrB+KNipCoNwyBRfIURzkMIQdIXyHaKTLYfR7HbGGN5+vQpm/Wa6ENWmUiuqbUlk5vwQWO1QukAR5AWrG9vZYqTpFnWdS2msPhpZBxGpnFgGD1vvvmmWLJj5NOffypyxikrDozJsMX742Z62HV9sNQfHDukeGwQHJqOh7VbJ9mfdMoxSAcPcUqoFEV2n6Ny0oNMc/UXGlEP/yhEhugD++2OuqpZLhaQEn0n9FjnRqwTBWJdN3mSqkgx8Mu/9Eu8vrkiRg/YI/jt8BhHz0c/+QlF2UgqhNIUZfn1/V5l28dDRU96oHJSSq73mHIGr7x9RpujxMSH3BzIaqgYAslwzIM/bCUPqcSH/eGwpt/zH+TziSHSzEqW8wVuMgxeCjFCIFATw0DBiCojhTKEqPBhosaT0oBKjuAcpycr7ja3WOcwWnO6XDFOY/7MVY5sVJkkfDjrxKMNomkqxmlgs9swTjVNXfHi+ZdUVUVZlnz00Uek5Om7lpgiL6Pn9vqGaRqZNxXDONDtt1SFwbtRzgY60vUtwyhT0xgC/SCQq912Q1VaQvb4KpXoFHz88YeU1YyynkmTSCvKwrJer5nPZmw2G6qiwA8DV5eXFKVIbC9fveDq8qXYKbzDTSN1VbJcLbm8eklKcubdt1vc0OPcSNftmc8XEndzt8baEmsVIUqhH0KkqmtevPgKay11UaJUpKwKyrIkRI+1mvXmLttR5Iw5m9VM04j3nrs1BCTOyPvAkAtekxRNNcNHR4iBNjcJnZ9oZjXT6Lh+fc1b77wpA5+o+NnPfs5v/NZflgIcjoOhzWYj1sqm4fr6mtksR352A2BxU2K7ueXZG09wLtB1PbPZjG9+45tcXl7hJomo+kUfv/B3jtMkGusYIYg9tiwrisKQGKjnKyIhL2SWEFPOsrIURcl6LYbivff89Kef8PTJUxbLJcYqSlNKrI6RImBygn8e3EDta+qmyW+o4LunwWdfUaLrWiq7yBJEkdC44HFOQpGL5YIYI+MoxLSu7TKoxR9legIAijnY/CAqTCKFnmSzNJkkl1KOu1GOorBoZeiGgfX6jrpuKHKemICV0lFiF1Oi73vKUvJzE1AUAoQaxylPBA9h0QNFUWavrqcsy0yGrkkpSUYrSWJH8gKgs1x6v70VcISHYEqcT1RVgY9TBk/IIj5NIyRo24GT0zOWJ6fSoTee2WzGrt2zvlsTopfsWH9PEK4qSx/h6ZM3uF1vubu75eL8HBLUVc1uu2a9vpWw+UIKo6qshEQMuakhm47WEjSttaYqC/reM02OwnohGyu4urri7FRiS9quo6wqEokQI/P5TH6Okk61LSyTd9iyEL+3MqQohX7wDj+OqKKAyjJNI+1+S993PHr8mGY2I0bFFLwUrymJjFxpyjoDzCZpJIQkQKm6qjNZWN+HgGaJ6WEKdyxUjrLTmK/f+6LtUOCoBxOyY8l4jGT4umfxHlJxnB8evbwP/XogBYROoKyiqRoKIwHdIUW8F9KsOkrA5NCV1D1wSmRgoo5QJHR62AX/OlXywTZ53Cw1OVrnQKp8IHv7mt/2wZpzP0E9vKkcDwLHl6zyaCzfxw9/wKHLqjIdPXiHWRzImxx9dfcy0nuAlLzX8WsnoHuZ3OFwkH+9MfcTu6+VOvcxI4evHSjHHCi1Dyf3x2764VoQv95hwv/wx399EpwwSR+BfORpSzrCUVLmH1R88723KW1J2+4za+BwpcjzmM9nbLe7LHO7n5YoZLp5efn6mMt6hKLliREPPlf1YJJ9HLQrzZcvb3j9est+GNGmyAcpBwqquuT09JTzi0f5/uPYAEsx0A6Jar6k1k58s0YRrcIPAs1ZasuzVKB1zUWwPDE1XyWIDpazU8J1zbguUU3JZ/EF19wxqZZ36rf59pMP2H9xleXZAiBMSVFUDVdXV+zajheXt5yer9hs9yxmNbu2u1cOZJVAPBxQdc7ljOID/cYH7/Kbf+kbrPeOvtvTtR3feO8NxslJfiCJ0lpub285OVkd6bY+yNSwa/f86i+/j/dOPMhaipiQEjZ7iyVvXfN3/95/ySeffMZ626FshdIGoxS73R5bFLy4vGbf9nl9GzHaEKNnOW+kCaoN1zc3KAWffPRTYgx89vlz/tnv/Stu7245XS7YrrekFBgHx5evnmNNIvxRpCw9Tx6d46aJk5ML1nc3vPPeN9hs79jttiyXc8ahZYpz/tF//d+yXCz5b/7pH4JKlE3BbDGXA+yw5+88+TXKsqVoGk6elGhb4qeBod9TTAPBI+AjrcUSBWAUKgT8MEDwKD9li4zCEAlhoq4Kur34CWdlRRhGamOwOnL7+pJCRYKaMFY8sVUROZlZjBbYUogJaxU6JJrC8Fd+49f48ssv8ePIftvS7m+o6hqfae9FUbCYz0W9FRxJK2xR4oPIR4/KMm2PXtCyLBiGLkN0BCwUMmFVHAgiayQr1VR+rmVRsm9bfBAFl2wukU8++ZhxGtGAcyOYw1okaoLoE0UjTfOT5VxasCkyjT0uSKJDTIqyrglZjqgyXMw5kX0PQ4dzjnF0zGYzClvgvMMUFltYiX/TiuBkjzdGiKyH6etx/T14xDOdWCTNsggFEiEvpzEFtCruPfz6kDkdv9YMVnCMR+RrOce5aDwWcomp74luoncT81mdfbOesR9yszifMx/sVVorTk5PWG/ujgWayVFsSsv66kPgxYsrqmbGbFZjtRb5si3zcw4YzP0uc9xgZE+eBse//tf/Pd5HrC05Pzu7z8ZVisvXr5kmx8XFBb/7u7+T4WGamBQmq37uuRgPQ9Ae9D/v5WDHr0W5pSRzd78jhpLKVLhRFIwpTJigiXEQBYxRpOTAT8TujjJ19Ls1u+0di3nNyWLO7eVLyqLkpK5Zt3tiDHgfODs7Q9uILe7zlcdxoOs6KdKCTA2LoqTvOrabNbd3t9J86Hvmsxnru+uj3/TuVpO8NDYW85qyKCEJDPT5l1+yWCwEQutHBuepipKxn3IGdJSerjbE5Ih5L57Ggc3dLdbuefrGm/TjiEqJF+OIC4rt3R2L5Zx+72m3G/q+Z2EWlKVhu+9x08gwdMyaGW6aBGhZVWit2O+33NyUR8AlStI7fHCsL19IcV+XbDd7HAmb4WmL+YyhF9Cr0wMozfLklKIoqaqaqkyUZUHfD0du0aFZcFAXkGTYIVTsmq7tGKchR5JqTk5WJC2Drf1+LwTl7ZbVakm7bzk9PeVnP/sZj588IYRA13XUdY0xApq7ubnh/Pyc4AOzZsZ2s+Xi/JxxHJnN51w8vuCTjz+WYUpWkvR9x/XVa/q2RaXE9u6OX/TxCxe2SUlxO58txGDejWgjxua7zY5umDBGc3p6wsnqQnwHbYfWlrOLM2bLBbu7NecnpxglWVKXV8959OgxzvU4PxBVIORsR4nHSLT7DUVZsVw13K03aGtIBnzfymE7e39i8KBNRrkkrFZMoxSchxBiUEyjo6kapingnKPremISr1lwnpSCZL1l74H3IpMwRcR7Kdyl0wFlURJTpKkrobe5MYcUHxY/kdgMw5hhHOKh8n4Sv1yQyKTJOTkk5jNS3dTHC+70dAlEnJ+oqtnRgzdNHX6Sm7CqCupZydBNMqnUiqKoMeWMoqyYr05kk1aJvktoHNEWBFMSTGK324M2AvXK2P0DtEslAW/UdSNT0eTx3tE0DVXV8M47ZwQf6PYddV1C9LzxxhP6fisyG52yXFeiAeRGzZLJFFE4isIwjT3WNBLo3PZU9QxTCE3y2dM3mDU17X7Dbrvj9OICtD4GznsfcU4yjYuyRCuF94GiSPgwoZTIkl3vICpKU5MyFGOaepqmQBvFMIw0zYLCGLS2WCuSZJ9pzofiVRtDygHmIUTJkkMk7CiReQkHNORzx31MgBSTQb5PmSxNugcI2Ux5fggkve80H7yq+Qj9MOfgQTErRNU/l2l7KGFSRCeFUZrgJe/QFpXEZR0Zq9mjB0fC20NP8GHSqu611lLwHSZ9csq4L27SYWL4YDJ7/Hk6S7jvq7aHE+mjNCodJpo82JLzJCNLQ3UumlM6pmdmBbIUF6Ut7uXHhybBQcOWD4uJe1rv4XV/XTKs76ewB1plus+KPBSmigykOjyfBxJlrfM1cchrzb5gpU3+qOJxMsyDnFORIpqvTQJSXpxVOjQh0rHWP6xrZM9hYRW7rufy8itSSISgSFofi1tjCuq6Zrvd3wOQDtPsfABc1AV1VXNzu8tS94eglfRQF3+89o5QMKVxAfE+Kjl0aZQ0BrRizP4gW4kPMoSQm6clXduJOqKxTIUjahiJOA3tbsM3z59xXs9Yh4lqPuP2+oZx6IkqokzJiXqHefuYp03Fy3FPinfcmVcE7dh7x08/+xRe7yi0xF3sdztImsePn4LWBKW4utvC7YZmPuNXf/kdNps9P/r4M+p6hndyOFOFOebcHhoZk/O07Z7tvucHP/opH/7gQ957601+7TvvY4yiyvYaULzxxtN8HR2uP+l8L+YzFAL4ScdG0tcn5GVR4L3nJz/9hO9//yP0h59mouuDCyY3p5PWvPHsKdevriBEVvOaX/rWu/zwBz8kRSN3vVH8/Oc/IwGLxZKisNzd3DLu9zlaQiZJrQ+YEPn408/BR4z6AqP1cQ/77g9+yjCMOZpO8+jRGX0/sL674/mrOz794oYpr6+JiDGK1WrJ6fn7NNXEr//mdyhtSVVVGDOJascNKFVSlIY+OCpdQXBEH3DDwNDtGftOJMIajJ5jioIQR/a7PWFy9F1PaTTejcxqC9FRW8X8dMWry1c0lZB/rQmUeIKTTHQVI7OyxERR/Hz5xWfMZ/McaBggyUQ+ogjxXrVRlTV4ssTZi/83HSLjJMN2nERSHpKsuz541ETOukwyAABc8BJjp5OsbwGcd0yMIpE2ee1Ok0Afhx6lZNJjLBgjGhGrIuFIDvc0dUldGoyGtutxIchKn8ojbdiFIFnmufFSlBXtfsc0iHptnBxagbcWFIxDR1EYjDYM/cSU/XXz+ZwUclQjOXor54sf1pJDPm+Mkck5eu/ovScUNhe+6uh7P6z/MQXJH35wn+iHihql8M6h8zWqyQyOEPHeSWFqFCl5ur5l7DuGfiACVd2IzzxTsH0IR6Cf1lb2w8wJUGS/bFZtTePE4AJlVRKcp+tHiS5LAaX9A96+PvryD0OWaXL82Z99yDh6yrLmV779S0eJ9TRNfPjRj9m3Ld/+9rf53b/+1/MwRdgPMfisQnmwZ2SVT3xgifm3KcIiCaJnt9+giZysnjL5SJESJkWmNKHHiC4NPliisvgQsFoLcKzbcHP1nLtnFfutZX13y+XlS87Pzxm6LTEkttsdt7e3PHv2BsMYePPtd1gslzx58gRQvHz5kotHZ8QYefz4KeM48sMffB/vJmazitdXl7T7PSTH0O8yD8RRpAI/Co27bVuKooKocKNjt5HrNSHT4bKwpOiIUSTb1hh0YfExcp9fJud5N4145+j3mwxAGpjPFjx78z0+//xzhmHLOPTM6oq6tlirROHiJ4yRs9vYd5hmzovnX4k9wWhMtsgZY3j7vXf57NOfs9tvCUGiSIesZD2wF8qqgKTEP7vdcXt7Q9AalEHrPYfTwDj0PH38Hne3n4lqLgZi8EcrSkqJvm0xRUnf90CkGzt2+w3z2ZzFbM5utxOrVAgkrRjHkeVqwXK5wBqDd47NZsMHH3xDYns6aXLN53NCCCxzJOqsmTGrZ3z044+Y13MePboAFdnvA828ZrvdUFjLo0ePePniBa9evmC5WNBUJbvthl/08YtTkV2OnZiLZ2CxOKGZzfA+ZD16np7lDv7Q9/TDQJNR8VVVUV6cs10r+n4vm7RW3N3dUBcGa+VQ59xEWRTyIWuZTl6/vuL6+jVlVed8V8X6bi1HpygG5qIs8EGCr5U5hGZ72rZFKcX5+TnTNBJjYBwH3DQSYsR7m3Xr4qONwYtZ+jC5zd61YT9Id2HWkJJsQLPZnG7fYYzOi6SmH3rUZo2xVgpP7/BxlOdeN2gtU89pGvFTTwhOADM65+9pIxeKF/R7M5sxq2tCIBfnMAwDKQrd0U0TishyOaeZ2bx5JQGzqAB4xmEPBKaxoywNYXIYUzCfFWjTkWKUqXEUOMghe6uuKgFQZJP86eKUEB3j2GGUZb/bUteBs5MTLi9fUJZSDHZ9z/nFBX3XUZQlhZfXCwo3eQpbUhSFyMiLgmY+g76nHx0xKRYnp1T1nKLUTOMaWxeMuYjXWg7x0XvZDHUkRaFEVpX8/r7viFHommVZi19Ka8ahR6kCHx1MiXGajrltQjIsMtnxwWHwML7Lk9PDYTtGqOsF1khusMrSreOES4kMSCx5uQuVpb5am+O5P5EnXocMxiQRFoei4OhhfGgvFczIcXMid4ZVlqKBxGWkB7Ep911awbHK7xXSY5EPIFJ45wis41n4vnt+KEpB3ZNTUfm6URk4dIBxcJRUJXW4mw5y5qPe7AFE6l7Ie7+dH9+Ge+DI8SsPYm6OjeZ7RcKB63sorq21pOQl7uLB434Tvx+4/nnw0de+/4HgWB3UHg+eezpEWRxioB681uOPOxbE94WjQYpgnSd/h4kyBz/toUDMZNrEA2Ly0Z+U/0WKnJ+fsJyXfPbVpcjlULTdyDDdyoQ+/93BjRyiHLx2Ua7v0U/HkXQ6yKNTYhgnSPbB67//KGWtjPdxRg9AYvnNlt+V4tc+ycNkNwRZm1OGbBz8n3VVitdKaSpViFJCW4yPPP/0c76zVlRffMn87Ud0J4aPv/wUR6I9D5gYOQuRuPuSot9yox1DU6DDQB0VA1ApTdv1zPL7bAubc6VFrXMAxaQkHrW+HfmD733Cct6QgF/65hu88fiM7/7ZT7nd7EnJ5Ncmr3ycRv5f//U/5vsf/YS+bdnvdrz7tniHmpy7+OchW4cr/2se5sNUPMtCD3/f9T1lkTO6s88yIAf8EN2Rzqq1JgTJnw4x0Q0d49RjtSIGxWZ9S2EULnoMmhTFl+pj4na9EakqmhggaonRijnixufDFjFiSCTnj8X6RCJEKcCCi/RjZHSJiKHte0KU5AJCQhuNB7Ztz3/xd/8Bq5nh/OyCDz54fO+LROxKZVXQtntmpyeQhPBLDAQ3st+u8dMkQCcFQ7fj/OKcfdex225FRtsPFMkzdnvqQuGdPEfvBhbzBqtk4qOVyH4JQWLvplGoxTFglOLVixf82m/8hkQqRYc1itOTJa9v79Akhr4l+BHvRs5WS9r9OhelWiTIPqCN7BGFNXTDiJ+kYe2DKLmkgV7jQyBEcE5URdZYyJ9zCC6rQOQsLk4GkXIWRSn7kRJVRsrpAIEJoyRDPq/8eO/k/j+mQMiZJUZFYy1GF7TbHTrbE5RSbNZriHIW1May3+1QCknRSInFfM7Yd+z2O0DR1A3BB8Y4UNiSRMSnkBvK9n6/STl3fXJM2w3RT4wqoSNYUxxuhdzA1EdSOfn+1So/93S/PscQaNuWsiyp6zrnusbjOda5CWvro9+2H3pIMLlJfldyksGscmNXK5TJlih1gLileygS9znpKkYI0tjQBFSSWDCr7LFJLM1R/eDsIYAqYyzaiG0jRInWOtKElco2rMOeIEWIFPeijjvwL9ShdfqgqA3xL+6LByXY5CZms5qiKEUJGQ1KGabJ4X3AaKEdm+Qpg4fc+Ej5M+zblo8//pgnjy6O0+yXL17StR0XFxecnpwy9D277ZbHT988ejOHYaAsC6Zp5OrqiqqqqKsZbdvSdR3tfsujC/leGbZ1xPxnEwOzusGNE8Mwsd/vqaoGa0t2u43El46OsswQTR8y/0Ti7HS2mwmrRaGTzmspmaEDu932CCcbp57N+jVuaun6XjKjjWLZLNEGdvstm90e56ej8nG7vTuyY2xZUJXS8CAe1gyPQijlHo9SBxiaXCfOTcyaOW3XElJkeXJCaQ3eR4ZpktrLBSlkY+SDDz7ghx/+CO+mY9yVtZYnT56w3++P3vW+7xkHsYhWZUlZWrbbHeePHjG5iX4cM+dIgMKPHj3ixYuXkGA2a9C2ZLFYMI4jY/7eaRLf7dWrK6pSon6qquLs7Ix9u2W321HXFd47Xrx8waOLc37lV3+Fp0/f4Ic//CHKaOpZ8xfOY/+uxy9c2J6ePWLf7nOYboEtJboBJEamyl5G7z1DNhY/ffqYYRjZbrecnZ8RvaeuGpaLJV27I3qPKQzj6FjM55SlPU51vHNYbXJHLuKdY0wwn8/RSiImFrN57ohPVOWcorD4FHPItaLvR8ZxYrFY5c6/PRbUOns/iAGFFfDBOOLz5nB4E4dcuKccaOxDQmkLUYjGLngSBqszYKtuiCni3Ejfd7hhAK2xWVrcNDP2+y3jOOKnUeRJuQAw1h6nykKUE4Jw08yxxooMLUe1WFsQrJVYIRTBy1UpC5R4ZYJ3kErGweHdwDS1krXnPToJZMTaGudHSIG+71kuV/nwf5i+iIl+t9vJDTwOIhmPkXHoBIrS1DSzipvba548fsq8KkkK+n5gt2+ZzZosufbUVS26+kbR9z11I14FU1S8evWKuq45Pb2gHwbWm61MKHLW2TRNPH78WGh+IVKWJdELpKEohLwo/uCeppEmC1oknmjFvuuoqoayLmnbFq01p+ePiDHhIzR1LcCq4LFWFh9ty+NkxFqLPgRbm4rZfIHzkeSdEDmVwlhDUlYOniEepZopyqGNnOV63GGOFZVc9+KlMXlzjvcyUeKxU3fvZH0wHbtPlcmd2NwE0PfF06GICDHigzv6artufwxBz0eEr4GSksoFUC7MD94i2YXF93x4AodCOv8YkcE+jGp4UCTHY5ojx804/8KHe/px6ncohA9l7cPcUb72c+7LYmkKiKe9KPSRtnxP5rx3eimlxFucycx//nGMBPnzf68eFrv30/VD5aY06PigEfFg+p2yTeHQDY7HiAiyJ00fSdpHUJU6HH5ipkQL9VMdG4wN3/jgLa5f32TvnhWSaC4wUAddSyJkGnNKMq1YzmdSOOyG++tLS2NCazlgl5Vg+GP687Cw++mhzoCSQ6PlCLc53JMPspbVsamiWS5XXFxcsMpQEQVUVUnTNFkKWbJev+R/9p2/wh/tXvCT9UtuuoAeNXqaMY4lQwx4lWiqircWJ/zqe2/yxR9/yOzLTynee0pz9hR0wbJ5RkfLSbQ8e/qM+amoC4qioFnM2ax3WT5/ABTmfM/ctNjuO7Sx/OiTz/ny+etjXIvKB9qY79tE4vr1NY+eXMhUzYtKh0MT6HAdZSKpSMnNUZ2Qkvghy6L8mpoA4OXVJb/3+7/P+++/z+/+td+Go4/7QEmPWc1wH4lyWG8KDbOqwJBQSaIhysIS/XC8pl08gLziA4J1IAQgS/BF3RGFGiwwB7lWYkQbI5nBRzgatG2HMYmqrGjp8/qUMlApYHOElNFCMy+rkqTSkamw3WxAz9Gmoqys3N8p0e52xHEiBcf+7pYYPCnKWq614uV+i0+Jfuhxg8RaTZPFuw6VHKSQ/X0h25SkYZmQfHpUIkRHjF5sTlphtKbb7bi9ucZaWTm0CkTXU2onjU0dqUpLch6Qvd17d4wiTCHRzGqRcJIVDSQoBQ7V1A3jOFA1NV3Xk5LO5wCdc309Lky4LME8NC+11sxmM/pefIwh+uM5xfuYYY6O+Wwu6qck6qqY5Ht9yDTiHPNhlGG336NMPqgaS9ABHwZUlIYaQFUZxkE+16aqMuBrj/MR7yY52PYdXTcwn82p6pq6qSVT3ch9Y6xMeMuy5Ob6mn6/h77DRE+vFE2SnNuUoW7k3F15v+8BTImUpZf348rDWeIA5tNH2XCODlPqGHlyONMe7GveJ4ahZTarZSKfxPKxa/coLdYk7xxh8mILUbDZ7WnbgSdnS6pmjrEWNw0s3njC00fnmKSIyXxtLzvKjPN+KlAsgaYaZXNLMoMFFcfXcMh8FatXFPWXEWUABzBQfs4+hGPz7eGu9jWmREo5G3Um0TbzCucDQzCoSoBpZWEYSTB2mDRh8eJFJ0DweOe4eb0hTCNvPHuWSfyJ15dXtPuWumqYssXr1atXKFOwOjnBWktT1zjv2Gz3WFvgpsBqtWQ2m3Fz/ZrNZoPzMn13bkJphS0sfnK0+z3OjcKNiJqu3cvZKAaJqyRSljK4cW4Uxk+UoU7wHqsqdAA/Zdim4bgOiYxZUlQOZO/d7o4YJ6xRAl4aO6rRslrOub1b0/ddvvc9Whm8n0gpZOm0Zd7MjufScOfxfoIUGfs++6ZVzpsPx89Jzsun3G42uWMRafd7ZrM58+UcM0xst2u++OILvvHNb0ok5/UVbzx7xsuXL4/Xf1EILC04jwZKayQ5xE/EWHJ6ugISi/mCtu+PfllrLVdXV9ze3lJXDfvtjrNHjwn5ucYo5/TNZsNyKZ9bDJG3334LgN1O+Ed1XbPb7ZgmmZj3fc87777LvmsZp4mqLDk7P/8LZ69/1+MXLmy9UmAtU7sHpSnJ08VSSGhGK9w0CgTEVpycnKJIFFYDlhScSGSsZr5YEFNgu9/iM6nXO48PB2KuLPxFLXJTUxTYYoHSBSEm+mHAhcB8VpNy9qrKGZ0+BPb7HeMooKaTleTEXV9fYYzmbLnIB9SI0eKRtbZgnDq6vocs92ryW6NToCgLonfUVUlKXm4GL97Ywwe1mM1kMQ0CLXLTKBdGSlTGYo0WL9RhsTl2y4TWbK0VKe/Bl5EPjRKS3lNWFX6/ybr5EhORgHTvSc6RvKMfJ0ICa8Vb4zLd1NiC4EfcNGLL6tjJ8T5QZTx58FEydkfBeEeCvJ/Z5zYNE3d3N6QUmC8akSIZw+R6qqZgsZiz3+8Zxp5KiZnfHAhtXZcLeE3b9ngXMUYzn88prM3UOZWlGDD2PWVR8nq7Y7FcELUU4zEEsEa8eVq6XAnxOqWcARyjRAM5n5jND16NhJtGoneU86V4nJOiqmd4H7OfTSTGwzjm8HBZgMZxklgloylskz1xJdZYgnfZgys3sbIFWgkuPREkYy/EYyag5FJypAtzOGIe7ZP3ldxB5nv/fTrLgh8chB+McY913/3udCQMHjZBiPisWJjXTf6nkbHrSTFIbFGWytwnmaqvQYLkF2Qfbm58HJ/D1+KNOE5n072J51jM8PCVHN4PxZ97fX/+cZj+pvvYn2ORnb5WLB0mWgeXs3jWBbqRYjz+/XGIepA6x6Ma+2sy3KNX68Gf759VnpYfp2mHQJg8OXgw/eZBcXzIPdQ5f9cPA9M4Ulal+CitUC91hpAdp/SH4vY4KD1Mf4W42bY93/v+x0zTiCnK4+T/EL8hGaD+a5Nwm/M6d7sdx85LzoI9NkxSyGoDJRC141RZqJzy+nPT4T7D5v6zPkBRjtP3eD/RyPJ650aub29lOJZinjpwvCfCNjDGEWMWvLy5pm8U+tffY/SaV9evWfYzptsNxcWKbbfn4skjvvfqM+bvX1B98Bbb3Y5iqVjugVKjR83YtjzfPKdpE49OT9nt94zek2LiyePHudDRR5n9wQ99mOqmBNtdnz1/Ok+30tEn6yaHKQr2nWT2CcjJHZUFD6+lfbujazsWiwWL+RKAttuz2Wx46823H9zrifVmzb/8V/+Sf/bP/1nOZC35K7/1W3zrm9/kyy++ImEYhp79fo82ZHp+xA9eJHbTAqY+Wy4iY7unUDAEJ/tqknVz8imnBYgV5+TkVKL6bEHbtTnbG+rC8PTxObtth/OSfHB2dko9q2hmM7788jkqQVMG3nv3XYG8xImhlyLg0eNT3nz6iKo0vHh5yX7fYVhS1w1gCQGCD+hSsd1tWa5OidGxX99RGEu7XpOGkeB6us0NWhucGyUv04hKZnCTJBMYkxvPHclNUtjrRPKy/xVWJKUpTz19OJwxHGVlZDJrLUVZcPH4nOub1yxXS/7D//Cv8/ryNavlEh9Gbm6vKcqS2WzG9dU1Xz1/nr21kcJadJ646RipjMg4i4PMPDeqqrpmej3Rdb3QjBM0s0rSG5InxHuIoiiFIjF4qrK6n9YT0SplMjzHw/FhyhczZMn5QFUVuVjMd15ml0QiwU3icQW8gjh6QoTKWlSOhBudJhLv895Totu3+BCo6ho3jhLX0o/YbBtTTSkAzIPfFi0RipPPdq6eIkV23nOrNAs8hXcQS1IIGJvPVgpUIXFWKqtNDnvooVgNXibvKXh2d3cU5+cZtCPNHZWBUeTsWlLCR1GtGaPBi4Jx9BOj89iy5KMf/Yhvvf8Bf+Uv/xbf/eM/xkfxGCkUp8sZy6bi0clMCkyticHzW7/567z/wXuyFh8j2x5ufOm4L6UoDcimKihsyWJe56YhEm9pFVYnKqvwYyfArvwa0eZrzdHog6jC4kGNct+0PuyxR8tRSozOMY5eqNBVg7YzDFr8pVpLTJipGIdJGmoxYJQwYCKesrBUpZzrt9uNxM60LfPZnNoWbO/ELqiM5uWrl5yfn7D2Q34tDbOiZDuO+X6J3FxdUlqxHW7v1vR9i4SqJ4rKZnaLXNMxBPF2p6xK8oGiMNlXHqAAkwzeeRwCYoshos1IVYgqwjthQOgoa/8UBjajByNn1pgig++z2lOSOVxuXGqtc061oipKhr6T52cVQ98dlW3bzYblcoV3jrIqs3JJ6iqtFUVZSMHuDwkhRq7x/DqXywWvXr2S6KAoBO/VaolzPU1T4Z3jo49/LCBcLZ5piS61rDdrqqpm3+1ZrBY4Z9EW+raToWEeBE37PU0zYxyEzWFtwbNnz/jss08h5/V+8cUXFM2M07MzLi4eQYKvvnrOxfljYkicX1xwc33D8+cvmM8avvHNb5ASTFkBu1wuGYaBcZq4u71lcl7AtLs9FxcXf+FE+O96/MKF7TA4SEKfHYeRsg408wXaaFYnK4a+k0VByTTUTSN91x4lDW7sBaKwWGCMTDUvgufq8qXkxqpJJrbZD1JVJUnFjE33mNKiEER+QmGLgqIqIElYfQyeyXkiENzI2LfUpcW7MXfg5ILb7LaQJ4BFbSGJrGmcpixB1oSY8B7J342D3DQpB5erhLWGFGUi+ejijKEf8F466tuNRPgYY2nqhqquKXJRO00dfbfLmb9CCO77PoMUDMMgUueYKcdKyXNJOcxYFh4BLh2gJNJJl8xcaw0aI3mTUTa8du9Ec69kYXQuYA0ZqCGd3bIswRrGUbqp292Wrt+zWq1kUhKFGNh1HRGBmaSMQLeVoL9l2jI/yp+GaWLyjhIhQK5WS4Z+4vmXL2neXDKbz+6jM1Kk63pCnMT3Fz1ERVWWeXMbiX5k6EU+1CwWEgytyLIGz263o6oqZvM5Xd6UirLGuYF+6LBKU2dQxTSOzGYL6npGUUu3UKEZp0mcsTGhTcHkRqIT/2RpLUPX5ZxEWczcIJt1XTcofZjIhVw4H/JnHkhvj7E+91Tce0Hm12XHKfuv5BGPRd/XZIlfozweMgnvo1KSkoJDP/hdEcmOLowFRPLZ1BVuqvLE4gGASR1Ltiz1OlCYD4eedP+/DDU5FLGHYiQ3rR/qhbOs9qEkWT8gKx+/7bjJK5UlXYcCmweF9oPHcVqr9IP37lDVyfthcih8yDmdh7JCZ79zVPE4+lYPS98HoK4E91Ls4/M9AKBihoNxGHXKBOLBJPsgAYtOYHhFYYjeM9zdsN1tqWcNdTPD1rWQUqsmw1tyIZQ73tLoMIfI0QeZiSl37u8zGBdVQVlIfBoxYZLK/8ZkCnk8WiKePjvj8uZWfsYDr+9hwqhj4my+IB7hdel4aNJaZ7VsOrISDtRokP+WRudINnmrA5G6Cqzv7hiHAXe3JiZzPFwdcm6rqkQX8lnuXt9xRsUiVJykiqW16HJFowtCcYqKDeUYGZNn6gfqVcWL2BKKQDmu0cpRDB49BU50IjpHoMA0FXqciJP40qqyyJmYMSsQ9LEJE4+fu0ivdRKQjEwrpTB2XnJEn739FpOTBlJhND5MPLzVQJq5H3/0Y7QyvPHGm9iioioK+q7lox9/yNMnz2SCFOQA/q/+9b/iH/yDv08/jAQf+bt/7+/y4Y8+5D/4q38VpSI//vGHPH/RMo6BwhhSGjBpoik1hampGBjpqZXkBzL1VAZ6HXFJJjFVXeGDYhgdfS+xfu+89W2eP39Ou7slhSAgOuBXvv0d/jf/2/8V/7f/+/+VH3/8EcEn3nnn23zzm+/zne98h//8P/8/EpNntVrw1//Hv8U49nTtyBefvua73/sT/sbf+G3+1t/4H+HHjn/4D/+//PijL6hsgVKZchwyhLHtUCcNMTpSEDZC5z1921GoRFOCH3cSsRID4yjXjjEaPzqwlqqYEfyIYU7nRqzVIttLksQwuum43gUvk0iXizuBenlZGXXC1obk/PEc8vjRI05PTvBx4vHjC9qh5enTp6iU+OLLL7PEUBGcQ2nZm+d1xVtvvsEPf/QhhZYjB1Eo/4lECBFrCppZxXq9ozIiSw9uIkR/XDONKUjJ4yeHnzxrt5Ypj5+y7zcJATbGo8ruuDvEiNUK7+QsdZi4KOWzCiwRfX7O1hKRwtuHRF2arJ4SqXnK2bMpST6n9z11LVPZaZro9jKBm8aOotBoNRedTIIUNSSL0Zrdbi+k2r5nHCbKFHjtHWZeUVq5F5ML+MypMNYgAcL3thZIDOMoiQxOGCEq59OKEs9BYWWfjIF236JVEoJ5SrhpkElujKiYBCA2OWl4uFHk2+NIXZacn53ym7/5a1ijcX58sB7E4yDjIPFdreYYHWU/fbDPpCyLSvEeQDmbV/wv/pf/c5l2KmjKSvaWPCX/nd/9LTkLKwVuwAeD0RnyGEM+l+cs9OAf+EckV1vnBmxUhxg9dVSPoDVlMycZUIVAXGMq0BmwGKMn6YQqLGPfUgDO9WhE/WCUYrlc8OzpEy5fvRKbYt9T2oKpHwjjKGpKragrw357w3yx4vbmKtsfJJP59eUlF6dnfPnF5wxjRwwONw6kIGBIpRTNzDJ6uR/G0XG6OmW/3zP1kxSKVrFcztltd6iQJKO5k6luzPvYwQLjx/ig8SMKOGsNuiiYxhGyhXI2r3AuSjZrjJRVzTgIlK/rWi5z6kZpS273NxijKGyZY4o2Mm32jv1+yzBOckYrDUpDcF6Ghvn1te0+R2ZKpNBut+XkZCXNkuhwbsj3pOP1tdyfZVVTlFaSTkKgKAq++OLnPH78iLKseP7yksnn6zmORBVQRmjswXvu1rf44AlBGrKHBLngA599+hl36zvefPNNxmlgmvxR4t8PIykmLs4fobU89+trafQlEuvNhtu7W1Ha+sCTJ0/54ovPCcHT7VseXVzw+vUNdV0zm81Yr9f/zvr0zz9+cY9tjFlSOqBt5G69BqX54IMPMMayvr3l8eNHWGuYpiF3rWM+90g30U1GLsBMY6zKisdPnvL8qy+x1ki4cQzoPBBKMQrISd2P351zxBQ5WS04XS1p244QfMZU94xBvD2LxYKiKFhvW1I35Awoi/Oe08WMdr8nhEhME8nDOPY531NnTbgUmSGUR4lPiJGQIn3XCyDqgZSla1v0QnT43jtOTk5lQ/Iej6LSBT6IPDnkkGwf7vNZJZ9XJkvKeNKBGOMUfT9kPLYURX7yBOfEI5M9gzEliSAI4mHVtiD6JA0HazOsJWX5joBgjDFMMVAWJUVdiVQoeJbLJSE67u5uMcZQVfVRUrBrB2xhCEkWgojExYQQc6ZioGka2r6nbVt8VTKvqgyZKDg9P0UbIdPpTA49GM1DCOhKURQmG+0Vzk2k5DEKFssV2hY08xWmqOjblqEfcE5ew2Gj1lpoesPQSwRTDCRNzt9qsbaiNtLFb2opsCfn80ZipDjJlOwQPEVZMU49JkZsWTNNg8QQOUdV10LdDeKNkGJOYCBojTGFTOB9BBPB3EtI78u/Q+l38Adl8nEugGOW6KEkW+zPe1DzDxE5dJY+cshGjZGUN69EIvmQM3XjUWKvrclkXxGo3qdrysaXHkxSD5vz1yWx91PIe+DTfeGtj8Vxun+yRz+hymHs4ptSB+n4oX+ts99IMBgZraHupfJ/Tsb8EEz18OG9pykKkRXNDqRffXzu8UiOfCDBBokFOchlOdZxX3s8bDbElPBZElXYIstp8zN+QLQOwTOOcv1WRcXUd+xfv6Db7dkBVdOgbQHacvboKcWjRwQt0jcBnnCcSKgMKTuW4kd5cMy/WXH+5KkwBvK/q8qScRikqaA0s+xFjzFw03ZU8xmVUrjgc1ZuoK5rhnESeWkIDF1gfXtLCp6zk5OcZz6CgsIWnJ2d8fr6NUkp3nn3XYZxZLWa8/bjE67u9txsWokUSxr0nH27l3U+CFwt5P5AygeLb779hCePTvjTn3zKNOz5OyffAp2YrlvmdYmyT1guFmzTKV3XcXI54SbHb8UFy2LBMI48efIWV1evCUGzXD7iZn9L1UaqnJ95eXnzwD+evja5SDHKJCpLslNuOh4AXSHHqBz+7Kee7WbDzfqSurGEQaKH6qqmGzp8jBQPpMifff4pf/RHf0Bpa87+9hluHNmt77h89ZKXXz5nGgRgs9ls+PKr53zvu3+Kcz4fuj3Pv/qU7fo167tLPv/8U5lY+J7Vosb7kRgiqpKC6WTWYNJEXSYaKxI2ixep9zZgrWZ1dsL/+j/7z3jv/ffR2vDJx5/wZ3/2A/p9y7yw9EPPOIzH+7iwJf/F/+Pvs7ltWdQnOBdJk+HyxY4//B/+K1KwFLakqc/44z/8IScnSz79+Wcs6yWr2YLbqysuX34KdPylX3uLb3/7bWJKlIXi5tXntO0ejCW6QGkM6/UdVVXRdx1jP+CnCbto0EWJLQXuV5rE5CeBWp6esdnINeamiRAnnr3xhLsf3cg6G4SMWhYF0zSxPFlycnrK9fU1wzDkIo+sDArZi2n46U9/wrNnz3jnvff56quvWNSLrNaC3/zLf5WTsxM+/ugj3vvgm/zhH39PVh6taZqGpqrZb7Z885vfou06umGiKEt+7dd+lS+ef8W+bSlMgbUl7777HlVV4qbPRG6agqgEjjB+lWNmwrGgUijGfmS5mN97M4PwJ4wx92vYwYOZxHs7DRN2Xtw3cWLEh5h9nplsnyeGknMp4C5p7onEOSnNOPZoJYdy72RSuW93kCC4xBQ9i1mFGzvZvSIka/NrikxDh/ceUmDyEy4K2XmWIiY6JB7YEbPqC5uILjAvFrlBLPudCoFut83qPlitFuz3wl/xk2PSmsIKNCtMAyElehC+yDhJYy5GUghMQ8801LI3uYlx6gnjmN+LxPn5qeyx0X9dhPQ1ve+hIfj1/rScJQLRB4y5Z18opTg/O3uw16ucsysFc52kaR+cl8847+8qRyFy/N4HkXxEiswGiSEQopCTD7aVw/VOTNmCIsqDaUyETlQAURlRc8SEMgUBQ6GSgAGNTLzFv5lYLeb0Xc84DIz9wC6mY/xUaYX8rLRifXvD69eveeONt+jbPV9++SW2LLFG8cMffF8sBoTMzBAWTVXJVHQc78/EJgNRZ82cft9Lc94IxyQFYUqMw0gM6VjYqnwGOGS56+yhBTCHM43K2dFJEVzAjxHvAiF6ZvMmk9BLaegay2a9JkWwWj7PaZqOUl6TZfIq7ykqT4AJwi6Rc7LBTyNNI/ZIY/RxCNA0Nev1Hfu2k9i2rCyahl6889YyhpYQ5HpbLRvcNLLvt5TlY4yJPHl8xudffMViMWca29yYD1S1Zug9LrTMZjPafXtU7Gy3e9584ymTc/jgxG56dsZ8PudnP/2Euvp1rm/vePL4CWVRHV/rfLHAe8+3f/mXefXypYCm+o6z01M+/PBDytJS1zX7tmWxWPDjH3/Et771LXa7HeM4/cWD3b/j8QsXts45hkETUcwWK/rhltevX2OtZb9vj/h2kyVtzk3HqAY3Tcxnc2LwtPsJjaKwAu1RRrNarei6PUVhc1dFZ59szj8zFjdNdM7nw2UUGU5cMJ/Nubu9IVSRmCLTOIrUOcv8pmmirGfUdSMZtTGK3Dlj2UMUMqzKF0HInT/vA5vNFqV8himJT5bohGqaZJE+mMdjjHRdi7Vaiuwx4641+OgYph6V30edc1Rl8UkZsiC5Ts5FmvmCMsmBzgeDGzpCTLSbLaerc1AI/GKSrrI0DZx0F50cpItauo22KER6eegcpiDTgqiOG3jwAzFWImHOE9TFQihmm82WEO7QmPz+RLq2O8qWdYTVakVZl7gQ8M6x3e4wSib7682ab773nkQgTZ7VyRKtCgFvdbJp9eOYfQYlzjt8dIzTIPr+4CSSQBuqukZnWFOKh2mkpqkKOYArJZEGWkn3PAWKwhKjYRpGXBppZnOMqY8NCe/9kXbtnacsJKKqb1sBjU0DzjuqusEWBcbKtGUaPPPFAlsYyQM0Gjd2RyiIVEX6mFdolYAlHsqOjwVc9jEd4U0p3EMoUpSfHT3j2FOWNYUVidlDH+gDrNNBmQtHqFPKUmN/lLelKMRcbY0UPEHuKasPUqkc5ZLlovfi3Qc176GoUw+mpYcvPcg0TQfQU/7qw6GzTDQPu/VDSTJHD6xO6ugbO0hd7w8HfM3bqTIJMOa4pcOU/HCISzGX/doc/Z+HJ51yHrBWKnuzcx5pyuG7h+f54DUcX/BxqCk8AGstITn6rsOaMsuA45G4CNC1O/a7HfOqZBp6us0t3XZHipHeWFImhE67DXFq0U2DqSrGlLCmwJYV2ADKYJSRQj3mBoIxxyJcKZjVDZcvX+GCJ8TA48ePxJ/kpI1xtjpjHEfx2c/mPLo44fXr17R9J55Pq7m4uODm5oayKinrmqYocP1AmiZaL4qR2ogsdbt5TYXDtxuGELh8CcYIwfInPxXvX0qRdt9htWW9ucRoqMq5ZFMeojkOnmqt+dlnL/j55y/w0TNtNyxPVvhxwHpHUxtOVyvcTU+5G4jdQLUoiMNEQ6LQjtoWcN1R7WRSrqaOei8Zp7Yxxwn7Qb6vVDx60lNMqLymeCfwnoOFpmnq7IN1jKNEKpiUWD//irHvSTjmZ2fEfieMgjTj5vqa7334IeM48s5bb9GUJT/76U/wbuLdt95lMV+gUfzZn/4pry9fESfH9//oj/nopz9h13b88Ecfstnt2O9b8UbPKjSB29srvvfdPyKECa1htZT3eb+X/O4iFcQgDSujNYu6ptLyd8MwsKiKfGiUqJff+71/yq/9+m/wN//m32J1suCXfukDvv/d73F2vuRZ9Yjb2zvWdxtp6MSRq5e3KJ2yV3fk9vaaq5sbXrx8wfsfvMt7773LBx+8w+3tDU+fPqbfj5zNT9jc3uLHgbc/eJ/TM0uYevwUUKbk9eVL0jQxXyzYDAPny3Ne7naUK8XJck7yluQUdVHT7teMXSKmQFVqSqtRukThsRbq2hKjpqkty0XD0O6prKHvRcJnrRWPL3IeKKqSoiqZvCN6l1kLhhjVkcSfEnz11VdcPHlGu29xveP25paLJ0/5p//093n77Te5urri+9//Ps4FqkpkxHAfN/Pu+++x3e754z/9U6YQsGVJ2/Wcnp5BjpVbrzfUtUB8+r5lmnqCk9hBpQ5qgfvFeTabsd/v8c4xDENe/2SNE9rwwQstFNuDyiJ4aRRL40aKHqUlvz0E8W1rLa8/KkiqYHQRxaEIEFuCNkYmTSlkcFnO37Vyn1WFUOqtVpCl6y9e35CS4jd+/ddo6pIwNly+ekVdGFqj8DMLsxnjcs5kA7U1nJ6seH1zQzOboYzEG54sZc2NXgCRrTa4/cRm2LM8OeV3/oO/yma74Uc//BCjxBddVxWzWuxr49Djp54YAqWFyQ0YbVnMak6XM05XDV3fU8zk+rCZDq/NIUP2vuF1fDyUZxzTyzlOcQ9+WZkGgz02bGWKLu9/OO5n4WAuVoddT2xoOkYGF5gmh9JawGFR1i5jhMeQVDp6bUWBlvf4CEEfWuMHBsIhIu8AqwoCPNMQkjrSmZUxmKJEZVl7GgcqDV3bUirF5m5NYSzz2ZzN3Zpoi6N/2/uQLXma2xuJDlJAaS3WGMaxz02sncT+WDl/z+dzvJec1SLT5WPMUmCjaFvJZA1BMnKDh7u7tdhBfMC7XDj6cD9MQt3D+TS5PlCijgpid7TWYqK8LwPTA3CjfP5lceDlTLjgqcs6q/3kcfC1Hvze4j5QGKtzJKKsKyGlo3rz4LE9wKekCTUePcE+JQ6nqaYuWS5mOOdo2y430sTH7/2AMYnN5pbT01MKayitJoaRGMAU8vMLoyhKQ12LBVPpA69Bhk/LxYxxmrDWslqtqKpKBo0x8pOffCJnrNwMe/LkyVGxe3t3y2w+pyhLfvLTTygKYQXVdY33jsvLS1JKfPnll6xWS4lkCpEXL17824vTf8vjFy9sp54YJoZpYrU6YVbXpBRZ392w2+6ydLSmnknubMxyTCH4KrS2GKMoy5K+71isltR1xeQm5os5xsgFbq0hIcVC0il7umL2z0mWm1YGaxQxOIwuKIqK7a6jLAuMOZjn5WZp2714VMZOyHJacXp2yqtXL/BZly8bglyk/SCTu0jAhZyKFiNaIRueFvpeqQLOwd3tmqapicDkPct6wXxZs9u2OY/VolG4cZKFT2tsKVlVxkYmF1hUC+pmJdK+GPFJZL9+chJzkRxnZ+d47+m6PVVZiuzP6AzMkry+mKTLM7mRfuplU7ZF9vsKFEKkTzr7+rI32nu6LscxFJILJ5FHQpvebjc8ffyU3V6aD8M4Mo6S7VUfSL9JSw5bUGy2knGoM66w7ydS5BiybAtL20uItgsOHyb6oWVuZqQYafe7Y4dcSMKKGIR2J9PeiLEF9WxGChGrDMNuzBm6GwqrSUEKx6pcMPRB4F3aUJQ1ZVmjjaDS3TSiiAQ/iZrAGsZhYL2+xrvAfLUS4EKE4JNIvLxIMEtrcnRRIuEZ+xZFpChnaFPlCV4GO1gL2t5rXHlQK3Eo2ETfKBbHJJIkcteOJBueLsnmxgcFYJY55/LWxCxNjnLAc95hADcN0m2MkTAOYAwqQwO0IV/rh88ze0qTeuARlQI65TzBh2TmgxdI6s9c/Kn7YlbdP9MH/y8jOX3cnL/+OBbGKWbP2QM4k/q3fd99wWtVzmDI72FUMcuEGlIIee6rjw0Bo0U2fQAbgcj1fQw5o/TgQ3rwuo8G6TyJJYJ3TG1LVJp2vxFfeo4MU0ZxcnJKXc+ErNh3dHc39MkLZGPqSSoQkyNMY+6EB8Z+zX77GluVLFcrQow08yW7biChKIqKullQFDXnjx+hF3Oh4kYPSSb8fhwptGKcvDSFpkDyUQjpSqFTILlRvPrdnuskUWTBid+yMRX4SBgdAUVUGmMLfvnb38KPA+1+y3ze0DQ1bho5OV9SGMvp2RKMpRsD227M2bccu/wHQMk0SHFqdMIo8X5FdVAdyEGJrBI3KC5Wp4SU0EVNsiVBKdrJM2VZYXNygidR1LWsu0nx7ptv8/yLL6lNQW2ErrxsZjKZyE2MFA8e6tykyRLErt0L8BCPtQW73Z5xEEmnNSJJi8Hx+vUlwXueXDzCtbcUCkJImOBQfsSGCbd1XA49f///+Xcpi4KT1YqmKtF4vAvs11u++wd/yK/8+q/xox/+kC9+9jOePnrMsG/55Gc/J6Ho1hvWm1vaviPGwPnJghAC7X4v8WxVQdKw904UR8ZSWitTNa2olaZUGlVYrNI4ndi3HX6/ZZxGuXeN4k+++8f86Mcf8rOffcKTJxJFtF7fQRSoyZPHF2x2Gx6dXbDdbUl4mrrhzTef8dWLVzTzhqvXNywXM87Pz7m8vGS5FEjKW2+9Tdv1bO82TMGxOj1hMV8Sw8D3/uQj2r2jrOa0+5bv/PK3GIJmPzq2+ytCveT9Z08Zho7JZeijUrhxxCNy7+VizunJkhADY/C8+eaz7N3dM6vnnKxW2Mkx/+B9Xt7ccHX1Gu9HxDY4Sp7x5IghMA0jOkVikAxlOVRKAeK9ZNV+9vNPMdqwn/bstjtOLs7Zbjfs29VxLGeNkYxTK1aQfhxo5jOqWcPtF1/IThICq5MTylIa/c5NhBhYnZ7w5MljjNb8m3/1L+V5jWP2x0tsVl3P6Lohw2y2uZGeC5kQZe/URv6dtRS2YDaTHMyURLJrtMEaK/8mBmmaJZkUlXWZfdcT0zhhiwJtlXg2UyLEcM92OBSzaIqiyh7XhNKVND5SxBqLmwKz+ZLPfvIJL19d0bYdjx+d8bu/+9eYVYbge9a3G4KzOFUyu1hx/uwpi/mMohGozHJWiuJPJeqm5mS1OAL2+n5EETAq0pSWbrvlB3/6fWncbbcyOZ/V7Nc3GTwVRd6tFcvVKXVV8PLVS4zSzOYVZxfnnJ2fc2EU+90+S1iz3FcbAY7F+13v0MFNiNfTHmKJ4iESMlEY8SijVba8HWw/MrDZ7rYs5guGocc5ifzx3rNYLKjrmuBDhsYdbGYBF2SiGpRhSpFoTNZBZZBbLsZ8zLaK3ISO3LMYVExoDVVVME6OaRpzrKSWKMyylu9WEKLGGUPSDs0A4x3R7Rl8pDg7FzUcibfeeZurqysiidPTUy6vrlBaMU0D3iOS+QRrf01ZVbz59lt0t2t2fY8bB7quzcOlyBQDtrDH+M6zs0fEGNlutzl+MWEKzXw5p+v7ezBWFJBi3rXluj3yHnKxrg5KbNn/fRSIVFGUTMGTnAzpnHNUVSWqzgC6NMxmS0Cxb1vOzh4JTdo5lDEQvFiijEVrS1lJmopWisIairJku909kK/fe+GtLaiqmu12e2x0SIKA2MisVuK7DYG23WVlqUepInMb5do8WNHathO7k9WkIFFUyogFMh7UZV6k2cvFUnKRtfzd69dXWFtwcrJksZjTti2r1YLJB8rSoHXBF59/JnGc08RytRCC9TCiYuDkZMn5ySnvvvMuzk1897vfo56VfOdXf4Uf/fCH3NxdU9oqNz4kOugXffzi8Cg34p3CFCU2j8/L0nD76grvE88ev0FdNRRVifOB4MXDUVbqGPouWG6XI2kiu/2evu+PBd9ut2M+n+cPApwXaUcKLtPZ9BFyoo0mEOSC9oFhnEgoqrpmGLoMjvA53NwRvHRxyrISQrvVRDflr8vBKcZESCLlk7iEdLygtNIoraXbGiOFDcznDXc317KgppJpmnAh0BjLYrmk3W0prT3ShOU9K6nrhhAjw7iTHDSlMbbEjbKBWa0FkNX3GGMYJzmUF9YyZllM09S5Q6rwbsTESFLmWAgEf5AQRmzuyk6TQ2ub5Q36azE2WseMqNfSZZqcBEgXhtVKprdlKRPVg/dG5xvITZNk/KEpbEkMiS77qwtb0sxmEBPj2LJcLKmams1uIz8vOIxRzOeNbMAo6eBM6phxKgWpAKMKWwi0zMqmnzKg6SAfJkZC7tCFEOj7CWtqmkam9n3fyWKWO6rd0NG2++xTSrRbAZppA1Ujk6mT03NiUrIpZ6+p0Ro3TjnuIjExiJStKiirClvMQEu+LRiUsZlGey8FOhSk91KlLO06yHtz/ELwIm93w0RVSEyCtgbMPUDp/iCefZWHaJDo8dMo0/gkm6SOIlFfrlbSSfchS9j8A0CUTHkX85q6VOhMhY4ZOBGU4m6zJ6TivkI/FpuHCeo9oVg/2FAPstzD9+t/i1brYdzAwZ98zNh9QMk6QFMOqon7ejfmCCSBFknciUAjDizl4/vEoTGg7+XRmY6puM+XPjZa4n2MEtlnFLyjX98S+o7N7WtUdGzurmj3G9mlYwSjGa4bTk7OJDIqTPj1XSatysHTO4m2OHh1D4oQ5wYJcb+9wlrLs6dvsbm8RGstTaBkKKoZ7dtv8t4vfYvQrMS7lYv7vttTWJ2zFWVNPvjPIki0WnJEPCjN2emS29tbKTKz947oScFhsMRpQM1KnAviLzeKpMEnKS5jFNBbSgIdssZkKV+WZkdpPlglz0nnz0mRsEpYwioJiO8gD88DjWNeNCZ7xpLGWsPjiwsur16hrM1RS8JfOPiab15dSkY1HNf0ScnBxKR0nNCK1S6w3qw5WZQQRjY3lxidpMFrDI0xeN9SlgWzmeTuKjfxxpnk9l2czlg+u2B7t6HrOh6dnXG2WrBeb1gs5gLIGAZW8wXddsf1bsOsqTg7P+OrL79iu93x8vIVP/7wQ9Tk2GqLGycKrQkhMg092/UaXRYYbRinCUWi72WvLa3NzWJRvZycnPH44hGb2zvC5ChVgUGDTkfAyeXmjqHdstluxVubggBypp7vfu+P+cYH3+RkdSJTZxTVrGI+X/DGm2/wS7/0LT765BPeeuMNHj96RAK2+47lakk/9Pz2b/82P/npz3EZvleWge22pWpmUFW88947LJc1n/zoJzR1wT/9b/4NL17cUpQVq9NTbHnKblS4pOinkdnyjKvLS7SGzWbNNHQysTpa/xOb3YZ9u2VyjvPHj7i8ujyCJbUyjNcD7m7LFANjSlR1ycnJkn4Yubg4P8YKdW0nsJu6OK6LUaRdOfIkoZRhfbeWqZESH+JXX31FM2t4dXmJUopvfetbfP75Z+w2a549e8Y0TbRty9nZGT/66Ees1xvQsJgteXX5krbbo42ibkqMNXzwwfu07Z7L/LrlIGxzA1OGAHJYNrkJ3tI0DUpbtFH0w5TZAxLRFAikmGiahhAizk9oI+RdrbRIab8mq0mUZUGIHp3CkVw8n8+5u72TYUNMVE2dIxVlkjXLQFCtpZCYnMN5R2nFq7vuO1798Ie8ePkiZ9J7/vAP/5DZrOTtN59SNWWWNEfKUgYdAY+y0lS8u7tBKUPTrFiennB2fs7z58959fIVT54+5eZmwxefv2C36/GTY5wmPv74Q9w0UWhDCAPeVwzTQD+M9IOTLF5T0DuJXZotTpk1DY+fvcXTt9/l9OyMsq5RWlFVFf/k9/67TJyXvcKlyEc/+Sn7dk9MMiCY4shqIYf5b37wPm23YZomxmmkKZvMwjBEk+iHCde3bNZrzs7Oue22eJO4vr7m7m7N6dmFUHHHllld49uBdr/n/OJUIDta4YJkDusQmTKh/KB0S0BUBo/CpwzdzEafg43lYCO0WoCIjx8/ot2PDH0vEueixFYFe5dwzkNlKJo5sR0oVQL56RS2oGkahq5ndbLi5uaGqqlRSjFM01E14L2jqStidAIM8xPaaj7/4nOmfjju7NM4UpQGY0w+146irHkQ41SWch5vu/ZoHTGFJbhA9BE/eZwTVajstfdNc+H6SJPBZNia/K4M1czpIzEGMcNnkq8xBucDisBgJ+qyoSxrFvMlzk+SZb7dYKxhPl9QlBUzJf7aaRoZxoF5KRNoAZWZHIPnj7Yv7wNau6OdIR0shZPLqiKBXSkttsKiLI4e/a7rstNNWBfDMAhE1glMrWlq+r7HKIuxWhg+6t5mJlCrKcPqAuM4stvvqRqpuebzGfP5nMvXV9zeXLOYr9is1/gQef7Vlzx5+pjlcsk0Ddzd3XB2dsazp0/p2o7z83O00tzdrZkvF4Tg2e13vPf2BUrB7e3dUXXyizx+4cK2aWoJOTYNIQqC3haaGKEsSh49esQ4TWBF+lDUFXVdcXPzOnvKXAalFFRVQd/uBWed/buHAlKkXzIlUMbKje4lDy3mg7dSiZA83bAnRYOLSXJDtGw6NntkRR4tIA+USKx8dNxtN+JNM4o0yYfmgmRcKm0EoJCLgZgP4F6Jp6PQlrIqcEPAB8fi9IR2HGUU78TrNjlPXVX4GGiHnqKwR3R8zMQyYy0+OExhsKUhs2tou454yD21mqK0+GSYvIz8TZADePCStUWKFGVNUVbit8qU2tlijlKK3WaNqSvKqhAJ7TShtaWwGuc4ZmKp7AccnWOYRpHlpBnGFlRlQ9e1xJSYzWa5W2SYponFYkGIHpcC4zBR1w3P3nyDV68SwzSRwogbHcvliqaasdvtWJYVYbMmFQXOOawuc1agwaeEtoaqaZgmR3ATxhbM5gshxaqCaRyYBimY5JCiGKYRU0j80tj3FFbIcpMXOfa8WOKix6dACgkVExWS6bfdrXn16jnL5YqqmtHM52ijWaxO0EWFLiqmQTbEqrJMXmBfRQJtCsoiS3WUIhDxSOfNhxyRYaQYOtIH78u3HMeTET2H0PTjJDB/2/G+EKKxtgarDhJdfZT6ksQTHEOiKgpSEqhYoSN+6oRaGSZcmDBJoq+k6SPNir7vKcpJfCbBs99u+U/+1n/Cs8cnxyJccv48+67lH//+v0KYtUWedOZC795Fm5srcB/pKvAitPo6POc4mSVn+qqj5yumyNAPAul6OObOE9QDaOOoY34AdDoUsqUxuYh3eVJ8kLgeJMeixohKYGESpcF9DmuSQsiNPf12z/mji+MhMev16NbXXH31GdEPIq1zO6oo4erBeZQ1TG7HbmolMk0bSiLJwuQDfQgEFZiiR2cJoHNyuCxLlQt4oRP74PBOYjzkwFfgQsfVy8/R2lOcnLM6v8DMTc6m7jE2cbKcS9QHnlljaYoGUqIxBuqGCpESu6GTKBjV5AzNksIklvOKsrQ8enRxzNouywKjYLO+4+T0BG30kTCvUAxuYnKR6CYqUxBCRGdFh0oCM6kyHNC7idIW8rn6yHy2ZBik4WeUoW97UWLMKoy2hCRXoAVuXn1F7IWeOWQYxryZMY7iaRq7VjbqKBO2sihQzpHchNGVUDJTQFvNfr9lanfcXkHfd5wuSkprWN8NDGPP8uQEbzV+GmhWC4bgsIWmrgumyRHDyNBHEp6yssQo/kZjDUVRMY4T+92GWVOQwsTYteAdsxxvUZUlz7/8krHrsSi6thXpZ5LJqi4M/ThQ50NXcF7gPjFkeXm2QUyQfKKwlvfeeovdcsH2boPb9RJHluPJlLYMXc8UHNF7/CQHR50gOU+72XB3cy1NzODY73v22x3rzYZqVvI//Jt/jbEFarnkxasXcjCzGq0Ti0VD226pa8M4QAwDQ79hHCvGcU9Tz+jHkd3zDV98/hXdvuf2ZqSwdfZyt/yz3/9nQladTUzba3S3pSw0ptAE38v7mJVVfTfgwyT096YmxMB2t2XftVL4K41KMmVPlaVQBa8vrwRsVheEJM3Rvm3xIeLGQVQ9wTGb1cJuiIGqLnNe6EiMjq7boZSmrmfUTUXX7lBE7ta3aG24OL9gNpvjxo7lck7bSlEusKYJW1rOH13QzBqev/iKkDy/+pd+hcurS+qq4Lt/8scCYdnvBWqWIvOmwRjNlCNJ3CjU52Q00yRNqfOzc7bbNcvZnENcaTCek1MB67jgcMmTtDR868JkUJdIW90oGfQqBAptmLJiI2XJ9tDuCW7EqAJS4tH5BZ999qmwG7QmxMBv/qVf5nd/93eoZ3P+z/+n/wtjP0AAP43cbrfcre8IeY/TVuOD4wc//JDN5o6T1RyMIuQ0Becd19c3bNZrdGmx1mBswU8//Tnnjx/z6NFjfvrTn7Hb7fnqxSUnJ6dcXr2WJpt3uDBJlr2OqELhk6cdnEz+3MS+6wFNaUo5iyXFfLFkPptz9ugRzWLJo2dvgLHYohAoD8Iwcc7zj//JP0E9WvDx5gWbYc+Ip6gsulQUvWF+U/CN3VukyeOGkc12w2y1IiqFQ2J4xn4kTAIMraqKMDpJntju2N7ccbI+o64bsVi93mB76LuOb3zzff723/6PGQZpdBGE/muUfKYH+XJMEBR4nyS1JN6nG2TBVwYMHixJAhndhp5xHJnPl0Tk7J+UwmmNOigIg8TGmKRISWOsZTmXyJuu67m7E2/8fr+XM800HnvjzjmapszWvo6+E0CnmyaIIpMdp0HO88kcPcpSWBas13csl4vcxJb7IZEhbNkWPo4TfrpPmAghfC314FCP2DyUkofOEEtwXpSjB/uSRjGOAhErYoHy8gaWVhJIxmHI0FlLWZZoBWUtnuDkEyEFTGlJk0SRyX4vDapDvkIIAkg9+J7vSebSgBBGUYmf7uOHhC+jc9EvxagtDFVR5ua8TPBDkEGYMRLxlZyXGUIUS9wBULbf7aTpZSKFVXjXy1k6yRqhVSSEkcJq+q6jMAVnpyvKsub19WtCmHCPHtPuW6q6Yn17x2p1wt63JBIXjx7RfdVmVUOBtfIZ7Hai4DxAvX6Rxy9c2CoFy+WS0Ud22x2Les4wjDjnqcpadOJaUYQKVUrOmoSJhxxZI1rwpqnlAp4kwynlmJ50yAnVGoMsMCk5XJooTU1VzxiG/jjFEr2/XKTWFMdOmY+ewhqUEnz8yWp11LIDTNPIZiNZvAcPgiKhk87SmZQ7HP4IdIoxipzTasbx4Ht1WFvTzOeEuGO7G1jMZwTnsr9Yc3p2xt3dreSZIV6FoigZxgETPInEcrWgaWp2uy1aK3m+VS15wYZjNJHSmsVyRZxFggsZjtTR1DWrxYJxmo5afFPYDH2qICbcODJNQWi8OmELlaXa4s/RWkz3LngpwICu7yTbKmftaWPYrtfHQPND4HLf90c5x8Gj28waFssVm80mZ5ZxlDcZ3UmGXKbPNU0j/uDgOT8/J+qE1gV1UzK5DSlJhzeESNXUhADTOOSJrSxY2+1WPF7hHgBwWKRPz04ICfqxFwloU+ei3ONjYLvbCSVRwTAOVPWCiydPGMeJm5s1QWm0tYSQOD07RWlNmSFVtigoy+YIEznkGh/Q8jGKb0QpRVXOsKW+l7DmUesDRfE97fdBVmWM8egTHccRYy11arBGPBejy8Vy9jy5fkQbQzQ606sDOkHbtyitGEchEp6dXjAMg5Dv8kTt6vYWoy0kkcxtNzdordnuOh6dSfTIzc0ttze3nJ6fyYQtBcFz6PJr3f0URJ50nJoehFmHASzynA9RTViRyNxvJIcpqgIf2G+31FV1n8VD9hDnHfHobY4PZM8poWNitWjopM2ap4gHcrFsVoFIiof3PHtUj+Tnw2cTD+NZuv2ei0cXpOSzgqFAmcjd+oph2GJSFD9ePphoW5KMRRnDfLlEaYs1lrpsZCoUR6yCubFoYxgHofKOw8R8vqAsCmKKrFYnjMMglMB5Q7mQg78tCubzhUxrMt18io44tOAWDM5zFwa8D4LrH0eGUYB4MYNDdrsdXbeXHD6tWQ5zYoj0Q09hDdscETJOE8vlktevXwjITBv8OKIVjG5gu10LwXScWMxmEq2R1TC2KEkRvA/M5zK1DN6zWixQbmQI0rF/48kjadgkAdVwumIYBrFJnGeFSM4uVUoxXyyYRsml9IsFKcHjZsZ+t6UuK5ybJHPPKLTyR4WQNjKd8MHnNUrhvRTRb7/1+Bj1EbIiBBI3r19zc3NNVdfMKmmgLhczSiOgGmu1yCudozKW83PxCBVliYuwuhDp4Pi8FTWFVHr4aWJWVbhxYnQTMUuSC20wGTiScvO13++5Xd/K11CUVpoFIcOMQt4HDiopow1h8szrhllpeXxyQn+zZrfb044Tu3Ziv2mZ1TMYW/R8TlKayhYUKat9hoHb62t2u52A8DKx18eR9VZ82+PgOD+/EIm4EX94COJB/vGPP8wd98TLl02enHY8f/4SY0uMksip6H2W903Z4xkZB7HGTFXF4BwheeYzRbu/zCqdgFIFy/mcvh+oTKRQGj9GhmGgmc0Y8zocp4gyBu8mxjFmQKFwNGxTS4HlY4bQBLnzYxLLjnPEWB4Pl+I3FM+trM+HGAzN0O85Oz3jjWeP+NM/+z6zxYKf/ey1NKDcwH6/YZwmYpqwZSIygo6cni3wPnB+cYKPI/t2KwX1vBZ5axBC9Hy5INU1z549xXvP3d2alGAYJlFHKMt8Ls3tpq4pzIVYEnzMVFtRe9V1xTiNxyxQ8W5GXD4gF4XkfFZlyeQmdtsdSWWYYY7Dmc/l3pqmUdYgFZg1JVUhww2tZar6b/7Nf8fTJ0+xeHRp0KqQa2QcsUrT1OUxskcrRWU0u9tbht0Wa4qMjYhMzt3zInROio4C0Lxe3/LzT3+Wp4CJ21vH7e0N682aEDzzpslZy4q262mzZ7QsC5pZgzZSIMRsjzHGMJvPxS8cPMMh4kYplLagDWXdYIpSvk9rPv3ic3x5xtWTQCznJK0JBpKNWG3YdyP7/WdUg8eg6Kc9VdcSCoOa14Qy4eOEdz1FWRBoGVzHGadsw5rJdCRVMDcw+T3Gt7z7+G3GYc6qabh7fU1hKyol/lRRmUn2cFLS8LLG4L07Tmk5REwe0BVBGs9RqaNker/fYzI3pK5rummi3e9RaoUpSyiKI78i5A53DFJAdW0r8TP+wKzJE07ncN5TFIe16p7sb63Y1lAw9YFxGKlULc0NN6F1JZmwWbEVMjh2HMVWd/Cxk33jwUdSUMfGuaSx3O/xIUgT/PDzDlBJcmFZFFaYPCFkhIpG5ebf4fczJYq6IIYohdjBMlgWDGGkrhtSlH9f1SWTl7qp6zu0kSnqYrE4xgAe7Dg+k9mP09NSpuB93wKyBkHMitKCvpdY1nF0x7ONUpJYEEPMUWbSRAFFky05JDBWvPGEmM+qWR4XZZ90CWlC+ykPHzwgmbebzR3GFrgp8q0PvgVKM/nIfr+l7zq+/OKLI9G5WTVUVc3Z+QU//vGP2bd75rM511fXuHHirWfvcXtzi/PS1Lm7+/8DFVm6EwELtNs74jDKBNca5rOGECXuZhxbxqGlmc1lkucGnB9xw0BdVgxdmyNJ7sGmB2aqtSXjKIv4NAj2OiX5AMQwnrtjOWvOHALlUyCGCaLOBQ8UZcVc6wxYyjJCAdQzDr109bsObbPX1KijNM8YQ1XLIicZri4v7hXjGFFTwmiLMvK7ZrM519dXxOCoK8vkRiY3MGsa6lnD7fUNKUbqRhh9RTUjJhj6tXRbh4m+G1gtV5ydnrFanXJ7vSYl2aS0liKurmu00vR9T91UtM/XTJNC6xPcQYqgE6WxVEV5DC+vmgXWKDabgDEhF/kCmLFGqHVJK0H8H6XXiSE4jJbJh1KaqixY390KIW0aKa2lKsQbUha5y7bfEYME2JeFIYZCislCurlFVdK1PU3ZcHt3w2qxYNt1splEhRsDgxqp6wo/CcFwmBy1CxQBFBZbVFK0GPHTtG3LfD4TmXESenLwER8j89kMbRvKqsne68DYt7ixI/geLYwnHj16xGKxYnSw3XVobTk5O2cKOfst+x0mL3lbWlm8C7ipPTYH/DgSYkSX5ihnGfqOqR+YzUaWJwljS3zwlJUc8g8LX0qSkfmgtEKRCNGL3FqDsop9u8Vazay2aGNFUUBEBzABtrs9TVOLfyZJNFP0nuBG9u2OGANd13O6WDJMA7qUBTmkSLu942RWs9vueOONpxTaU5nE9dUVJ4uaspQM5dl8xs3tHW6UA5JLgdoU0uU1hp+/3PJq59BG88ai5s0nSxSHrmh+nbmKTzkLVyeOcTmHh8rFb1JKoguQSBX54gHEleW0h3iMRJahZm+tn/hL3/k2L7/8CDc66nKBn0Z8imgtMk43TZRFSUiBgABivPOZCCmS5mEYjuHvs1XN7d0Vy8WcNAyUTUO722MLy5M33+DidEllNV0n+dO3t3e4ybFaLSnKgn0rio3VcsHN7Q2rcoExBmME5jarI2enp9ze3Ob3TAl8zU1oa1isFozTSFARXRjOLs64vZHf8eTZE8mr9I409oy7tche70RGONwJDGnsR8nGzof3pq6IboQU6Z2nVGcZrOaxdc00jgTvGPuBVQHTbne0VoyuzzJDcLHl7vU1KSUuZu8whSnvHaCYiCHSWAujx/qJUitKrVk0jpU2hGnP889/gtGyHjdVxWoxo7+7YzIGTMHoA//t7/9zXl6+RinDf/qf/h3+4L//A66vbyVkPjr+o//ob/LjH/+Y62uJWvg//O/+93gmjPIkZMJdWEuYJjnUGZHWxWnAaoOeBGI4OTkkaaXQpuCD997h6eOz40EnZiWO9w6jNGVZAGSFgTRxrTHs9/vcfBB+RL9e8zwEsZYkIfiqEBnbjv1uy0nT4LoWm4R0KpAhSwqReVnzZLGiROGCABDnTcUwyWQ2xCgRZ+VcmAqADxOvr69YzWdYBcWs4K3zN1lvdgxfvmC43WNUZFHVxDLhs3c4Jc0wit9wmAZUIfmRVucmgUoSHwcYA/t2K3mkxrA6OcX7ic1G7B6FEerqbrchpUTft6ToGdopU01lL08JXJhErZBju4w1xGnEGkNZWYpCMTnxEltTU5WWx08e0e47dvs9Td1Q3ljWmy2rxRznR7zzDMExnzek6ARKM03iK7WaFD3L5YLNZoPSiWkcJD7mAGTKzU+f83yVjvTTgEKmUgfP6G63FqvRNGAqg4sTk+tYns1p93t8chSN5er2Ss44OrFtt3R9n6Nx5POepoHPP/9UGsxWMixTiPg0cbe5oyor9l1OPdBynRXJUNYrhqmnH3pIievbW05PluzbFlsWYCXua3SSlTllD28zq4/E9kSgrCoSgeVqLq85KZpltvP4SFEZisJQzSzz1emRKRJToG4q5vM5z549k5iUQr7n1dU1GC0TumzRqueaZj6jrioKW+C9TGbL0mKswrsBdKSQniu2kKzSmGWSKSVcjhoap1GsYmV5JNCOg6fvhVrcdx1lXVEWBeMk2cCzpgHlsU6aXoUt8VHscs5NaAPn5+eslo/4zi//Cpth4uNPX5J0QVPXVFUJqkHpCh8h6YQvIqEQNY6ohhQlhnndkIoKW3vc5a0Q4VMkTQPzZklZlQzOMabEkBJpmqiXM/pbR6Us+IgKif12zTD12N6z8B49jixf7zGXLZc/f02JoWl7nriJO13Q5wljWdkMTk3HaEAfEx7heMhR4wBVzNT3SjENPRdnS7oosZwCVRI2QVJgiwpPggzVs7YkJiMWNWXwKXK2nPP69WvcKGvuYrUU1aIRqrbO/tBpmo4pKaYo6LsuE42NeDpPTyQyqmtJSlPkxJNxlMJxHAfGUYCYhbUoxIM7TdIYjIf0CqXxKWGtPpLvQ4pHa9RhGHYoKFM6qOvkrGILKZ9UkPdR57xhlSAGz3a7xofA+cUFJ2fnIvdWFh88fgp47bHKMvgBfUh+UJqyrLGmYBgHxnFHVRbZRlnKkOkBDfsAo0XLoEUnCC4StclMoZRtR2RV3oQzgaosCb0jobi4OJd1a7+Rz8NLsofPClRbyDBAF9IHmYLDJ48bHbNmlSFcE00j9V0MiaJq2O62vPveN2m7ntXqhMuXr1jM5ywWcn6p64qubYkxcnFxxueff8rTJ4/50Y9+xHI5p5k3XF5f8ezZG+z33ZF2/e+1sG1qKSC01hTGsN9t8MFzslqKsXzco3WDC4H9vqWuZxhrCMkTvafIOvoUI2Upm0BCZ6hRyohsmawGHyhscez2q7xAmWx4Bo4dH++FcGlMlhnmC9DEiLUCSZKOlcBsrNbYXMzG6NAUzOYzKaSDjNiNNRgj3cuY7i8MpRRFWVNVlXhvOqGNWSvT0fXdDfZsmZ/vyD4GyrKiqivafSuZbAkGF2m7nm7fcnZ6KgV6KSbpvhvY7V4yjQ6UO0YNaW1o25Y+S/yM1tgcQWRtQVnKczrIVic3UVaVhEOjcH7KN0PMPt9SZEjOiV80ysWpVSkfuJYuVN/v6fuBi/NHlEXBbhgENJGLxOVywd16TZWgaWbSsTaGuiqx1ub8QCMTxXFiNpsd3zOlEkM/MM/RTN5LDFJhbfYbOlEEzGds2z2r86fMZkvGqWW73VDlCZUUlgLcSiRikKL+5OSEceypdU1K0He9yPn8QNduMvpd5SgnRd/3+GiwRUU9q1kuV5C7igINKEgmUdUNfTeRgpNMOzdJ7qzSEuFRVFkiCm7sGfY70jShU6CoS0bn0MsTopdJvK0kngkM6RjVIs0fYzVjnihEIiF5ytKKx1ppejfIghsCyXsMsLu7I8waZrOa4CfJBnU93o9st1u5fgfpEE6dz1nOPVO7Y7eWz//RxZJXLz9jvV2z2a7p+8cURUFRFJyfnfHq9bUAtXJhpJI/Zs2+fn3LJy83BCA8OeGdp3OI033EwUEtfEQEItCqBx7dlCNXFAp0oqwsCU+K+hjBwgH+nGPFxD+iSMGjC01Sif1uy7/4l/+a27sbyQ+Nnhh6tColJsx5gYLMZtJAMCHT0gXEow8bQtcxecd8saBpGibvefvsPX726WdwekrbtSzmJVVpaOYV/X5DNw2sHp0z99Jca6oGYy3btmM+a1icLCXqKIkEq7AC8iqriroqeevNJ6J68YHVakUI0pQqigIfah49OmEcRxbLBVUp70tRFFi7FE++scxmNd4Z8P5IfPU+kk4kOstnMIY2HA/3QhqXrmoMeRPMn3MiUlhN8Bdoo5nPZjg/5XgukR4Wv/kdiWAoK7qux9qS+WyR6Y/5fsseeGMNSieUka76z3/+Fd/+zgcSW5DlUloZTk4WcrixJev1lv1uzXp9S2Ergpvo9y379QaQrEJDpN9v2WzumM9mzJqC7WaNR6JDjJqRvOf2+ga0xlYFjy4ec315fXzOT54+5suvPjtmlj55+hZlVfHRRz8CJd3x3XZHTJKLfrY6YbfZ0XUdb7zxjNvb2+zl1yxXS9Z3a1CK3XbLzetrwui4vVlTGss4DFw74SdUZcGXn31+VHvEGCU7cXIy4V6uQItPcoyefhxEVq2h7XvKUv48DiNKRYa+Z1ZWvLy8xJ+fMqsq6sJSLxoeNzI1uLm7w6oCo4tMOE5H35rzIz7IAb9uhAVxcXommZ+9yHVFEhdQymI0TGNPSnJw3e22MknOeJYD10Ipye4lgfeT+LvzsuCJjMFBFGuGipo4SaJBOw64q1dybQ/yftxs9ziEct/3PUFpHInZyZwpCvTSGEsyinYUqWlRWDbbXSamJ8Zp5Orq8tjQcW5CmeoIo7TaMLmJIasmtE4Z1BIZuw6dJOYqxAx0CZHnL15gC81ms2Hyji43cb98/jnjOFKWFS9evcxwOXP8XTEEZvNamo4R/CRSdhQEHdFRs213uHhIZRAomM8QGaWSvA8hcHKyYt1uCcFTpZRJ+5YYPZMb2XdbmuUCXdyTc0NKBOXQtsBUmu16i7aadmoJaSJqj88Dik23Fnm3UiinGDNUywTD86uvcF7iu+av5/RdJ+cMY8Szrzz1qj42dlOhiF7Wg0kFYpxIKuKnQSCM2sA0iDIrMziE8i9TSRSEFBhzkeqjxxFJhbx3B/BXTJ5yUZAKKMpCijUSRlls5mKUphDOSGm43az5+LNLPv7yJftBeC6jF2ZADJHdfkRbkY664EFF1OhRSR/tQdoU2FRgy4IwBeK2R6uCxiVsDKhNSzGBGj397YYmK+OW1YLNfoJ2pA4atx0wRUVwAuMy3cAXX33M+66GPjGiqDDUOlIngVt677GF3Jsxyvk0Ktl3UwCNF+VinmamfJ0kZA0+O1sJU+emZRz31AuZ9De2JMTpeOY0kwM/iooiMyuMtfTjwMtXL4+y0vlywWw+Z3N3y2q15PXrq6yOPMRozYTNkafj1lqapkFndcThzDz1HUU+zz5+/IjdZpsnsdLgrE0FUTMM3bF+0dpQ1w1oTRgnAWll1Sjk3Pl0v/4dfp+oHD0mnzcPqkOblDTGY8SgcJMTyr6KzGYC2RXga06giHI/DL1c01pJLJfIpQeqqhJrQRRQlajYZB+wVjJfgSMbyDmPLqTW8N5nbo8MTA68kxRjjssRJcLkPdMkFsFpcvQhx5npTFj2nqEfJX405/eSY0UlJUKiTKu6wk0iJ2efsl0UytJw9foVVbOgbTu2221+7p672xtMbkQMw0Q/DFR1eZxsKyXT7K9efEVdN3jv2R4Ve/+eC9vDmzhNE26aiDFQ1xVFYQTQEQN9t8/dTclorHVz9BCenF5gjRHJWJIbLfqQo3Xc1yAwo5Npzzg56rog4hmmFqOKTPLTGViUcKMQyay1MlUtSimQgmS6yiIm4BGtwShLXdZM4yA6dmskJ5R03CRSijnTkwxzAltWcrDS9z/LWsU0dFTLJYvZnLHbM3S9FG9VRdu2xHjI1a3ZbFv27Zbl6hxjOHZeyqqUAnpsGa73jFOelBSK2aw5aumrqmQYeqqqFpCDl0lKP3aZaOvlQoyBFMgSUwl3HsYeH/0xU7gfJiYfSSqR0Gz3O5x3rM7OIMHYd3LotwVKT8eDKFmysViscv5uxcnJKdc3dxhjqavm2KSoKiH3KRQpU/uiEh/jF8+/5K033hCpWFHJ519oqmpBVRV0XUdwEqNTGM009nJ9ZYiFnwKFsUzjxHzesN1uAbg4v5D3pO84e/ddbm5vRYYSFnRtS993ImMKATeNQrpOERcCdTNn3jTM5w0+erb7LSFPEmdNQ1WXxBTod3tChDBN9O2efhiwhchmjClwY898PqPtOvzY0e3XTKYg+IGiLLBFyXbq6due28vrA4OQul7x3q/8KmZeyRRXKy4enfGH3/05L/ZbzpYLlloJoMBYzs/P2HZycNCZnqlItPsdKYjPz0+OIqPxg3fM6orZbEbne+qiIToIk2dod8xKy+7uhovzC4auZ+xHvv+9H7DbbljOZ7z5ZsyKCc/1zWuCG/BuIgC+EkT+5DxL3fHtZWBWN8zsRHf7iqRdjlKCQMxAhOx9yR3Pg3zyMHWKQYAXRQosdUAP20z21sfr8QBFs1aWsqoQyE5Smkhi6Le4MQrOPkUKHQmxxaiOpjJ0vqOuK+ZNXrwVjJOnKEser86EyB0DXCyAxHq7ZTHLcR/9mouzGbZIFKZCm4ZpamlqDcFg7IyqgIvzBbO6wZYlMUWubl7xzW++Rwie5bKh73v2+5bLly+x1vDWW7/Eo4szgpcJVVXVIl+dRsrcAOrajvlifgS6WKvRRrFre5FG50Pf0yePmcaBmLMrt11PVc/RxQJy5NE4Ouq6kXzq4Bj6nrqsqBohXlqt6Hcb1ps1Xd+SYmSaeoZuoB16+r7LedPiMRNAhEQHeS+AP2sKvD90vRPTNDKOAg5ROVNaa83jx4/4r/7hPyJ6jxsnlosTnjx9kz/5kz/J66Xi4uIx69s9BEVIgY8++oTbu7vsRxK/9fd/8ANeXV3KNTBNfPzJJ/z+7/1jrJEc2CdPnvAr3/kO/+z3/jlJwWwx56/9td/hX/z+vxCLRN3wP/mf/m3+3/+ff3TMBP3t3/nrvPPOe/y9v/dfUh88UvnwUxYl77/zPh999BFKwXe+8x0+++znIv9LiQ8++ICrqyvatpVGcVWxmi2wSjEqAbolp6QojeGYqwiKorRoC9PosqdTgClSoMP52QmOxBQCo3OM08isaQhhQqmET4p2HHh9d0PdlJSFzYoTl2WYhtVqToyGlMwxAi2mRNSaUFWEfmJWVjRlBS7y/rvv0u13XF1HhsnRdj02syRCAp9lsSHbQ8qmRGlEpu6F+K0mxegmtDISM6Gyo0wnkgaX5H1QhUydu77nbruTAqSyuAxc666vMdrQjsMxhmY/tOisPlLBiU9/FEhbCFly5w0uBpKWXHXvJ6bcADbWyvuvJbLDhyDebxRJK3wMqJAEvqWU+CGNZQoTQfCjAmBK0mASsFefbVeBEMixQSIFDDGQ4oEhoo85rlor2nYnsX1Z2RZCYFEvcG6iG9rsEQwYa9FKzlhVXeVDakRbi1bizQ8x5Cgy2O5b+rZlsVoIkCkJOyJ6mdiO00BVF5R1gS1Mvuai8Em0ERCUD1TZmxoOsS9KII/jODAOHKdh/gh/ET+O0qIqcvk1GW0YvUQ6Ku+yASQ3MFMieZGRK6WOBccByy8UX5VzzOMD1oPCVoaitvLe5ziUgENZya6NeCYVCFFRqJJUKFIawVRoFbnZvmbKqRL7qxdoWx0BlCrnxS9WPTc3X/DDH3yX4AbC7R4GTzWr6IeOuijQ+y1O3WGqBt91sNkzaYNJIncY7lpGf0epC+wgTJpAYvAGu3d0L24otaGeoAiRMEV0ZRn7gaF16OWC7djRlCV4zzZMBA3GQq0SxsoZMU4R7YMUuVkFpYDCCKomJE885tlLsS9n2AXWyqR4GSfctGU+LynVgsFLDGYKAe0mkpNrSRUFbbvnjTeeUVcl6/WaxWKBsbJWaGuYr5Zc31wTo2QohzAxTVoaX8EBAW1UHlJpClsJBDUkyiLgfaTreqqypsvNHJn4l9LccVKA+gzJNEb2n0NdAFKDWGs4sDPHrMCB+yjDQ4SosVZo6VHi+7zWmAyVS0qjXSKUAiNUSrFYLGSAYVUudCUWcxxGZrO5WCIxkMRHvt/sjwOoannKdrO+z9I1Ek1k7YHbI9YGYwQsq3JUqUi5DwMvUf05N1Da8vi9WlvefvtddtstUx6QTNMohO0gKhlbSJJMYUQ1GnzMkDNpkGzWG4wRnkvwnqooGMNAcCNlWfPZz3+MQrgSMXm2ecDXzGY0s3nO5tW8evUCYuCnn3xMip7deiMWq9mc0WhW8xkvX73691/YDoPIVvxRI89xwurcxKyuGMaB4EXv7Vyg7fYUZUlhhGhb1bXE0Yz9sdMmoeFBOsyjO0KThAomFNYQw7Ebd0BeKxLDMIJCSMohyIE2S5QPmVtaqWxqLyREPCWqsuTm+jrLwBJl7ghpfS8hHceeEByVFcKaT+K7hZTza332g2jGvqcsS+azOdvtLWNG6ZelyAmqsspZT0u6XnDlSpuc2+TZ7feSo2vEnzO5RF2XGCvds9lshnfuKA2Rm9QxjBLjs91uKQ7wp0Ekzd040o2jdF+DYxhEojPl6bPPZLxDsHhIibqZIZalwGKxFP9sEuLjdrvDWsPZ2Zl4jvJhtG1btLFUVcV2u0OtDItyLl3hnHs7DoP4HFIUeVOKnJ2fHRcNeU+Fildl0uBuvxMvR1VJJm0MQlibyaREoej2La7QIrcYB1arlUykUJysligEM3433lC2e/HGRAHEgCxyRc5JOxAAU/Rs72643WzEg2osPsgB691330EbRVlUWFtKx00Z/DRIVu4oEvWxn6htwdDtceNA8B3Rg04jg1KUdU3XDUQfufzsS377W7+KRfHjH/6An15e8eRXf4W0aIgqYW3i9nbDetuiVc2437G53bLb7yjLgvVmC0qjQ8T3HSkEbq5fUxYCR1FJ/GAh+kzPzZkpSrFYzOXAEwMKyUQz2nB3e82uk0bBRx99yHw+40/+5I/5gz+Qe7+sKnZ9x9BKc0lZy3i7x4dA17UUKfLBswXTtOONZ894/upnMpnLDSOMZxh6hmFiNptjMgihKAUAU5SFdCGVSFFV8Mf8PK3z9N85gpcsTvH3Z0IgRqRkCRarExZNtgbkBlNVGEKWsNn/H21/+qtbmp73Yb9nWmu9w57OPufUXF3VVd1kcxA10OIgkbIzWBYdW4lhOEaQ2H+ZEQQBEscB4jjIl8BSgkiWSJFqUpyaZFd3VXWNZ97DO6zhmfLhvtfau+QPrgByCQ2WuqvO2ed913qee7iu3+Wh5omS4OaqZxgGXLB8+OGHfPbZZwzDSBNaVYQ4rHXsjwfiNHBzcwMIyf3s7Iz33vsO73/3HWI8crLpePn8CVdXO05PV2xXQgNcb7d8/eRrxqnn/fffo5bM02dP+eyzn7Hf7Xj27Gucs1xeXvDmm48JJ514c/qB6sGbQCqFXb+XjLyYOCotMuplJg3jKNaECr9780Our69puzUpV/7Ob/87vHPxCNt2kk9YC7keOb14JBFd1pDKS5rtCT4IBbaxhnHI/N/+6/8Tf/mXf0GwhpImBWbcWZHvJtwi5ip1jkFyGosSlZJclkglY0QSBvDo4SP+4f/qf8kf/P6fsN/dQik8evg6H34Y+eN/9SOJTnOeDz40TGOSeLFqOez24n27p3boh17jL2TrfHN7y/XNDacnG25ubmnbDuu8yDVnkmmM7A8HGt0o930v/tgQKKUu23IzW1sUPCZUTfFbUo1mgVbdIkkBnGJcICxVz7s5+zDXjEXuNe88OaWFGj5L0a3V5kcHllHlepvVCr9qeXWQ82oYpLnr2lZjKGTI0Y8j6/WKbr0GJ2C7SZ/r0LScnJywux0omIVfYGrFGcvGrNQ7HCBmLJbtZkPr5U5+8eoVwzBireVw7EmlLkTcWZZcUF+ud/SD3Jel3mV+V+pClb37/2eENVcoWTaBEnGyAWMkkkKLzaxFpnNGh9VSaFonUTXHoccaj7cBkJpi/tlkKx11K5IXb2Uudz45QJMJRJ01Rxmu1muMcTRtJuhwfRiHRT48092994tHcW7uvJfnKkYhoM6/zxyBNfvsUkoS8bVaM0XJrj8c92xPt+x3RwBC0+Cc5XhQyIrWRcKnyFh3L7MbBMzT95yenZFLou3uMRIMbLdbjsceTCWmSGiCEvoTpRoZoGuDmcWSuUg0Sy4UO2+eyzJ05A78T4oCzhS7SFI5pUbL6Z9f3SZqt2GhOTulrc+1yd0/V/R5qRoPqQkaVrdWxtwxGvSfqcxDVaPDlKjKqyzPLNAPUTbzmsZep1GuMY0zdMawdpUvvvgrvvryI3ItpL+6xdpItIbGS4xiMyVcgckid1mOTDnjjPrkU5Yzo21Jk2y+bKlMx5c0qeAHQwmOVbTUXnKq02HgbL0hXCSeHvdsH25ZP3jAT77+gqvjgbgKuNUtDxrxPfZ9ptpAAkx2eIVeWW9YNwFvDWMsTKmQc+Xs4pTvffcd4nTDdrOlaRp5NmPCGrCuygD95gq/3lD6CV8rpgm46qnGcDgcuL6+ZhqH5bO21rK7ucU3jq+++pq+F+veNI7kHAmNnIPz92mqIRuDxXJ1dbXkuRpjiVOkW0nTPKiicY5kTCnhbKBtW1LKS2571mzm2V/dNKJGE5aBfO4ufNNru3jQU/oGYGpezhkdOjaNbCY7HUi/9vg1xiiUclmoNVy9egWlst3aRV7snOTQ55TVxhlxznM8DnSroP5mp7WrvdeLScZ0ipEmNAzjuGymp0m2tDEmOb8RxkXOwoOYl4vCD4h6t+mgyVv17zaiUpsEPpuX/GsZRDSN8CrMHEsEtG3DG2+8xmeffS7fu5U7VmxUoty6ublVFaAXpVLb8uTrr5as7ZOTU95++23atuXTT36mTfC3++tbN7Z9fyA0srGqpuIbD04ax3E80nhkOhylwPDOS0NaK13Tsd2eUhRbvcCfKNSSwMgFhhFyl6kdFksbGvlnU8I4gzOVmiIutDSrLTkVsJbQteKlSJF4LISmvee9iPjiSFmgQsZY1psTuvWam/0tTZaDrus6hmHUiXjBGKEgElZYB3kYCU7yHqdB5KclZ7lQjCWOB0oc8UoJPDk5wat/zOohWOT0ZX/YcXp2Ttu2unmWPDJKkligUghdx4MHF0yTkMBs45liogC7m1s12ctFcjj0XFx0hLZlHEaqNfLnmUbGoZc8vigrf2ssqZYlAy9lkf/mJJi83gwcjgew8PjxIwX5DuwOtzRtQ9vJVniWJu73t7LtsRa/6nDekPPcCEDTeJk4O6H33l5fk2tms92QppEYB0rtcMHiCaRpJDdBg+fl4uv7Ae8lJ2wYjlgjz02KI44gYdjZcHF2wX63o9TM649f53jcASKTKDWy3Z7IdHMYsFTWnWw1JpWm1ZzYXb9iVDiN5HsK0Tg4w8uvP6Pr1qxWK9qmpRQYUyGPvXh8FiiSJ/a3KiWEMsol1Mco4IsqspCz01NcU/jJ04+5PL+gbC2ff/URKUwkYKyVz/400G5POJsy/uU1ph6ZpoHbfKSWzDQNrNYdY0y0TUPbtdzYkTRlarY0QYBlnTM8urxgGEe9zJ1CChIpTSoJSYxxpJBpEWL51HkMiacli1ojJZx19P3INAokzTcNU4pMQ09OkZozLp/x7NlT4vEZWYPGG69Fe5k0O7SKb8+IfL0MIrfZJymKgvOM1tJ6S9tKpEpGt0hJDj+xNeQFiGBdw2AH+n7ipz/5iQC71DdvrWV8fMnVq1ekKeGUqhxCYLPdCqG0ZC4vHvDyyQtevHwJ1jBOE+v1FoxErQzDuMiTxrHnxfOXfPXl13z11de89/67vPZL7/Lllzd88ulPOdn2PHjwgDfeCHz11Qv+6qc/5nrf81/+l/8Xyjgxjj2H4cDUD5Qi7/oPf//3+NGf/gnHYeSoW0+MxdlGC/nCu2+/yxeff0EuUsAJyTXy+PEjSsk8f/6U73/vQ370Zz+SjZhxpAp/+9f/Hm2zwvqWXAsVp6AUoa0LKMQuPiyvBb41npor+6sr3WCyUNBmsNaS/zfTqedy1M7gC/2ekvqf7UwFl0J1HCesCZyeP+Dk5JTgLOvVmvOLE979ztus1yuO/Ui7aqBmvPqc7BInJV1207RCI6/iF2yC59HDB/zOf/AfEIKjPx4ppfLB9z7kP/yPPK+uXhFC4MPvfahDvS37/Z7vfPc7/IPf+fcYY6JpO15//AZN19C0jlXbqCQ7cXV9yzHJe51K5uLslIcPznjylaxLci40znB5foo3I6ENeBc0i71gspPBDDDp+yNREyKPjDGLfDuJWXlQb6SxhtWq5fntFWOaaJ2jNI3mD8p32fe9bMXJdOs1++NR4qSaBqzFBUesmUwlqTrFGCdb06xRa0GkrWlKTLVnmjK3N3vG8chhfyQOkWA8U044A3EaIRfxMzat3A1JgCc+dPi24+Wrl4xFhjLBBSmMrJXzUcK/Md7hCkum5PF45OLyHOet+Cxr1We7MkVRbVQgGBlsp5yF7GosKQu9eL3y+medbU5Gs+ylOEupggXXeMhR33MrDVGtjFH8wEUzH0UlZQnBSgycM8t2pdRMwdL3ukE1RuN4RPFVkaGjSKHR3HKjAxM1pmv8XVS/29L0Z4nbaNtZrSHQnFIzm+1a/HEKwjk9PeVwvMUYkVMOw8iTJ+J3MwZW6w7XhLsC3UrE1uZkKwRYBow3mCyNhakVY7Nm1SrjQbPNa5UoRllaSI3gVEZZU1ZZpPxBXHAKlJdN3EKYn+0qZibRliVBgGoFyHcfMjifM0YaY21XRYo5f461KMtFh2m6JJDvwi1Dpmpk0xYad0eg1d3xzNGxRSPLFFo4N2tGOTSUip0SXRW7VggBZxNWBz39pLwGD97IYOVYJ1ExAHUYSdngQ0uZEvko0trhEJchYE6ZEDzUTOosBMNn7Dixlq/2I7fsyV2hXRU2K4uxCWcywVZycdzWxBQtuciz7YzHW/GbVtOQ6whpxFm4fHDCV1+/ZDpO5GGkcZbpeMDWLIyF3US3DtQ0kdIBYzLGtUKH9xtsGnh1dU1wlUePH3P54KHYNHJRubFXCWqVIZY2TCmnBZJZCsQolGfvPbe7/TLUOjk9YVQ7xqwqtFaaXuslvi6XQrUWH2Sh9ODiATe315g5rzolpjHirMc2ogitaEICRu7KUpd3D2M0rkqXYUverFVJcaXEwnAY2N/sBCw6jDjvGNNIimIr+eqrL2RwVTOhDctzOU5RhoDjnmorh2NP8IGuk++r7cSnKhBIT0mJoZfkC+bGM0sGt6MIOyI0tO2KWgrZGkwtkrteMjFN+i5XyhyvagMUUX3s9gex1zmpgeZB//ZkDUYGBDEnAScug15R/uQCl49eo1TLOIx4F3jw4AHjOLJaS6Z5zJnzB5d88smn9P3E9773HS4uLjg5vcBYSyqVk9Ozf/ONrfNOIADqjWyaZplmgFkibKTjz7TtCpOMTjekaKGkRUePStzwjjRPZ6lYa5Z1+xQnuraVI0VhOGRLFNeE4tkTu8NeYayCtSbJpEVkYPIl98ejAC1Ozzj2g8qCpOCKMerBqhlftQiFrEIMSV7AyjKtOh72Mr33XjJGl59ZpqlUIciFRnHkuhLw3tN1K15e3ehm2rNerxdZpaUufkGRm93hra1mFZZSefr0GV3X8uDiVGTAz56pRzdhNx5j5cX0zlG8V4+o4NBXqxXb7UaiddS7CWgwtkygVusVn3/5Jc+fvWTVtTx69IjXXnuNly9fSNNXCs5YarULWrzrOqL6+OaN/nyxztsZaw39YaBdi1a+aQIpeonTODsXKZJm8M6NTNd1ixREJt+G43EvB1kToFhilAHL0PfEaaSURNc2GFM4Dj1jlAL3eNyzPxygwna9XtQG4mH29P2BYRyXxBhjrAAVrJD+5pD3fn/DUSoRqjFS4MZBvXgS+/P89gm1QtetKClqLrIQKSV2INEfJpyfeLm7oc/X4Cph2/PodZGKGxzWZZrVyOUGcjwyDSPhpCGEga4JjMlTagJt0HNynJ42dO2ay8uH/OzTTyhpIvgVhkDTuMVLkmLBWs96teJk67k4f8Q4TVqg3QEKDoeJ292o3ruMqVbySI0lTglG2RDYavC+AWtIY+Xi5IFYaw04DN4Ytt0Jcej1ApifH5EUG2MwAdym4KyVvOa2ow2ydZs6oRAa74lJSOu5wHEYOQyRUi3GTUpir2w3HWdnJ+KL0+81xQlrDaGxkDMOWHWe777zJl+ZQo4jf/HDP+AwVZwP7Pey6Y/DUeJoJfFcZJpJLBglZY77zF/82V/y0V/+hH/5e3/Ifr9jd3NNE+Z3bsvheMB1HjrHp59+RD1KXrLxHlMKJcvmecyZOIxkI6Hp4le0pHiUorPMuXTjXTawqdo4VqGfY2lCQwheL/iOISaMEw+vcUEIq7D4loy9o1Eu/95MmraWX/jBz+NN4dmzJxITptvJmfoegkRISSbiHcHRmKp5jx2XDy54+/XX+aN/9UM++vgjHr32GOs6Vt2Gzz//Guc8v/M7v8Pp9oTXHj3GWMtu6PmVv/1rcuEfj1y9eslxv2Oz2tB0K4Zh4vz8lOvbnXAFvOfi4oKHF+dabI2UFPnBL/wCr3ZXS4Tb2euP+P6mZdTt4uNHj3jnu9/h+YvndG3LbrfjrQ++g6kGg2O72hLjyPvvvo1XiXAqmauba1JUYA2VBw8uOD094a03XycniRp6cHHOetsRmre4unrJfnfkcEjL9rdozJdEDhWc8fc23lVD6uWOyHne6ArU7HA4LCqE9WolkrtcsUoZb3xgSpnheCSu1zx8eEIcRyoCQ7q93dEPg26/xBc3F4bGGCiyEaAkiVyKI0+fPMEq9KVtWopmfHebwMGKjcjUStc0nKw7DIXtidx1scig1wZ5JtbtimGc2B8PspH0nhTlc1u3kn+ZFBzi9L4xwKQbCnl2LVYzihd/vrGklOX717s+zURT7+7IpRWsNhhVfcCH40Fo0jmrRNEujc68rWnbVsjeWeoaNKJkvZZNqbEz/K6ScrzLfq8zzb0oPd9IRuQ06l033z93f6463dFkjTVUJ0OL09NTgdHkWX4o57sUoNJUHY/H5X3MJXNzc0sphZOTLauulSWmxrJZ57QoLazXazn/tBG0mhu9SDY1BkQySBO1SBPuXVioyrMCTrbuVesj+fzvNyFFs77NwpaQxlJGLgImKxrfVqvRgcTdEloGZHcqiXmx4XTYVtSCZbBLY22XDbn8mlIrmtmGuBCx5yZ6VlvM2ezoAGmOypmVKKVKgzY/i7VIcT//b7lobreR86OkpGnuMpCJOVPNnXpQGglNp/BBFRtR6yFLiomxJLI33PYH2aSXrP5YIwNcCtiCbSqNTTQdHI4T41SxRiJcMHI3muAwTcY1E4YrPvn0z5nGkZ989COuX11h6oAxFWsr43SgZmjbxDBkDAM2R1E/1glsYbvdsNk6gpP3Jqoc/tW15NlaK1Cv0gTJYDWQs+TWy/BBImfmXmO36+/Fg2aG/ihS7qGnprwobJxzhLCi1MpqLWyJkiQNpO+lH/DJ6hDU6mCJpVHNKauXt9HPU7fH8/Og1smmacjKBvLOLbnQKSb60vP5Z5+z3myJuRAaTywSe/r+e9/hiy++4Pr6RqJHtcad7+CiZ/wcozjHpdYK4xQlarXtFvgVunldZNOI3dNQWXUdM2qzVHQIEGka2Jyc8/WTJ8tzbWylVSAq2OXPa62cA063tc5ZOf9XK8bjsCTISACFWBlyTkwxcnN9BSYorToxDgM+BB48uJAz1xrOzs4W1dWbb73F48eP2O32tG3LZrv9HyfuZ85PFF9lp1NMwVDPmUpmyaMtGJMF2FQqNWeVlsn0XDKgMljxERb9NZZpn0ngKjVm+rGnbSQIuuSIQaZlaRp0OgpxEo25cXZBed8hwKtOSSUTchh6Xr58IRLhtl0OLbnAAs4JjKnvB/G+JNmyDf3IatVicOQYcdbg9JKbH6YmNIw5C4Z7GCTiIUViSeQIznlinKBKXmN3esLt7S3DMLHZbFh3DSE0pDxiEchI8CKRqFT6QYKMH15eiv/VBR4+fMjL58+xds2UxYsTc6EfxiUCZW5eZ13+OI4UJSJrrgmhDVjnyKOEtkvYdMJN8Pz5c5yz4kXcrCUeZL/DEthuBQoTdVNv9SGdpmGZTMeUGMdePQ4ClrIWTLUE39Afe4ZmINfCer3Ce9n2otsfaxyH3TUlF87PzvC20qdIWLW0K8/u9oacEv3BUErCW3j29AmHw4HjMGgzUBiOB6ZR6Nq72502CBPr9QpjHDc3t/hGYFdd1+GsoWbxAaacxRhfHAah7TVtS9bNsTWJVRB/9jBNOAQGEhykAnEqVCMeH/HjOtomsNmsMJfnbLcb1qtWLk5r6IxnigIEsa4SrOdmN5FjxhrJ7rwdR6YYhUabCz4Euq5dLt0Xz5/T74WM6X3DbrfDuLtstlImbTzMkmc8+0aYL+XZk6QDoiVWB/FOWwqmWhpj2HaOJljdIlZK0Uw4H1iv1wRrOT05YeqDTDsdtK2naR2Tbm6D8wTrxRrg/TJQiynqxD1jnGEYI/udNJvDNPD5V8+53R2wRqTrNji6VcfVzZXA0lZOpPs1k/KEqZnWWTZdx4ff/Q5vPLrkrHOk6cCf/vktq9Up7XbLq2uJMAhB3uXVekXJWabzpuIbCXgXQEhhtZLM51VXON0+4MmTrzkce37jN/42f/XRRxxjT7Xw4HxLNHsO/YCrVrfo4V7cgYBPjK+s1i0pFykUqsC0jDPcHvb0g+Rtd13Ddis+3rPTMy4vL/nez/2A73z3ewq9W/GHf/SvaLoV1ciAYN6gt02L83JhWiOwD5F6qa/GVLKD3/it3+Dv/NZv8tMf/5gXL5/x5OunKr+VR04ZF7TNSoeZ41IgotPs4D2//W//Nv2459MvPuG11x5TquPTTz+TbRGVf/SP/hGvPX7M//Tf/nd4fPmQz//yx1K4FwEAphr55V/+RR5cXDLFyHEYmEriZn/Lz//g5xiHgTdef53f/LVf4yc//pHk68WRz3/yEde7a54/f85ut+O1x4+pJXNzI1Epb771Js47bm9u+et//a/zxU9+wsc//TEhSOHwxlvv8t773+Nsu6E/HCTXWXkOwa8WMIcPHmsMp9sTDvtbTIWuFaDci5fPeHX1irbp8L4QVoHxKKqdJqzE6zjJdihlAZtZq5tc3WI55zRqQs6b4BxeZbdN6OjLSKGSjGG9ajk/O2UNnG42PD45Zdt2HKbIeBxEaTFGldB1pCSFN045nVnBbFi2JyfSOJfC7e0tm+1aqLrDSNc2nG5XOOcJN3IHXd/uoRbOLy7oj3spNr0MMlfrjmGKbNZbhkmsAgXZaAVj5PedMtnKvbzb37JabXBGzt+sTV7JUvAGjQqsNZOKwOOMM9hk8MaJlDFnjNqTZCBTFhVK064oOcndnAs+NBhvBKwY71gdPgTaTmK2ppQkOiilRfLuXMB6S+uCgABVUptLxgRLNpVgZUOfqOTMMkA0iEdRIC538Mqu61QqmGgaaeTjFGm6htv9Lev1WmjKWousQ4MpLFLFq6sriQvS+JU4Ri7OL2TbVCsmA+qrtBiqESmhdaLU24SNSogFyDk30NJ8oHmZBWcczkhsW63gnGRk1po1Eq8qE6ABI02jyJnr4mOfo0VSEshTdfdIg/WugV2Uf3c22wV2NGeOy78m9N9as3if1dZmtEivJWvhrraCapThkJbG0gfZZntjxUdZpJMWu5Ujq3Sz5rIM8mspMgyvFVNm+49s9b2S28lW6YfzFtlQosRCikQ7znREEiK3b52npEyeJkzwOAde1XtU8YqXotm1zkpsTzYLpFA+LAEAbtaGptG4TZW31iqALe8qzhasyexvxSs/Hq4Zh5FUCk11kBOHF19wSkt4dcBGAR2aAnWskCZqyQx9wtRGLHy18PnXX1BzJY2JZmgoNXHs90CHd5Jh3IZuyR1OReP5qvAgYky0Grko9PAokDHtAFMu0giNE9MoVH5jMt5UIkmVSenO+52SAiO/GalzXzZtjJHP1NpFCk+ptKGR6KO+Fz+384TQst9fEUJgHBMxFrH41cyqu6TvI48ePuZ4HHnttbcka9aIktPaQCkSnWmsoaktr66uMNglyi34RoCEJyfUWnn54jnBhaWhne0rszVoJvfPf5ZhkKjOpmlomo7bm1ucNRplpJBJ5xfVz3q9ptbKZrPm5uZafg/1PYvNUTe+xmnUmEAmD4e91MZUbl69AONF7YZh6I9897sfcDzsRYrstlxcnFOqAGmPxz1ffjlSCrzxxhvCUPofJ8fWLAfaPMmfXwRqoVEZ0DT7qIoi8clQI8dD1BzBsKy6Y5RJaq558XbMkiyjW9BxEB9X2wmdawYtzNueOAwau5OWHCzJX3VKy5OpmnwwSbeg+2/82XLOoL6RufmbN7c5pwWWVXImaVNjzLyNRA/itGjMveZdTeOEDQ6rHrOmDVzfTEuD0LUd7cOWjz/+hH0pPLp8l+ubK5Ex6Et2nI7qg5IQ5DhNPHr4UC6r9VrJZifEKUoeIwLoqMtWtarZ3GmGWKTvC6ZrsSaoD6tbXtxaJcx+nng2TaOT2UrfH8k5cXl5ucQPeJ3ejKOs5kKMFIVUUFGSm9N8SOTgShFb5XtqmxYqIjduhJQmEnQZcsQYqbbIi5cjfX+gbWTzaEwmpQFICkYYyLngXcPtzTVTTBgrEjSDyFdTEuR7cOKBNsYrgGjUZ/tO5mSNEfk4s79TBik+NBLXU9WyW4o2BPJ7hODxGKzzMqGbBNXuGofxbiF3SgElnwM4hl4kLlhDIVAI0tAcK01wpNwSsyUdKyHIBWisQpMaaULXqzP2+71EvAwDtch0d+h7Vps1xsqhVLJ4zGacsPdm8abHmO4Cye0ERiKR0hSxmoUm3lzx0nVNw8MH5zw8X3Gy3Qi0pAjhu5RKq4TsruloQmB/XdluWnKurFYrmsYwRZmmz2TraRzpTMcYhSS9P+6ppdJ2a/IEKWamKMVHToVV54jZ0DYN1gaRcgZPQejsMQvcJTSVdmV4fHnJ+WZLGgesm9jtn1NNYXPS8d53v0M1D3j3+9/jv/qv/q94H0hxAguH47iobCvAVLBWoxOAOkaK8fh2Rbda8fhNgT+1mxOapuMYj7TOs9puiKYyRomIWkKMMeoNEylt0fxUa2RiWvIMlxF/e8XQtN1yRjvr+N/9Z/8ZodGILSteRMj8yr/1b9GtT+mHEWISwmgpMjg69ov6whgrQAuTFjqmD56nT25pnOX997/DZ59/uvh7DJKdezj0lFx5440V1plvnLGzl1I8hRVrOmrx1BrY7W65unpFCGvx9MVIfzzy7NlTPnj/PR0a5IWWLdtfUah0q5Z+7HEWhuOeLz4T2uzJasVq1fD666/z/MUzTK2UGOlC4NHlAw63t3z+2c94/bVHWAP7w56fffKJDPgMXL16LgNTC1TNe1RYU866eVOAjTV32Y6rbqUST5HXU6E/iJ/RZcswjJxst3JWes+qWzG4wMsX15KVbqyS7aXNwN7dvUbBhqUUseY4R7sKnJg116+uZdiGqCamkjE2c77ecLZa8+h0S9c1tE0gWPHIYi3xkFS2VphyXIpfo1Tquy2CTPm9d+q9gqHvMdawPVnTNg1n2xNRHEyRy82WncKJXl29YrcXMnLTNlzfXOtGp/IyvWTXH5fMVFFCSTTc7Gs7HntRv+g2HmQoTpZsS2sla1zUNzKUqSqrw0kzETpRAM1kUdkSylDXObnz50gMTFm2D069aqVCsCKBFippXTgh6KsbfOCYR824lYxY8W5n2aBOWQpy3eRaKiZYpqQFW63Lu1LvbYScl0Hr8XBcMi6d+jZnj3BQCfr8OdZSmVSmeH1zw2rdLrXN6ekZq3Un4YeqCED9zeJNljpPmv4ov04bljMG7uTTxhhiKss2NJeCs/c2X/NnpPAqa51yP/JCe805Y41fZMrWGdmQ62a+qCQblf7W+RwQL9byfsi2WZsThTot0ZJI7VGM7EbnvEnjxPxX6l2UyPydGj2PZ89fMSKbtvPWCqknSq7qz55hRHc1oTWGnJTYb6tK+wMmlqUOwVTNe9XVMyK9LfdkziklqmavJrUDtU2g7ea19V3EXZ79ucYp02YSyJkODoyqaJog6sspCq88K7hr/pPPG22qMDjEy560YUrkNOm7Z8njFTUnWW6p9Nwo+TxmIeyOU+Tlq5fLEmjVdqQSKVUaVZbvmoUeHidhy/hgFyXj7O2WDNv578sCJLPZcLjZyTJCoWQlqypULQrXV1fL84MqNefnaOl5tDmcpmlRHXjrl+VZVe7CYb9XsKzcn1fXV4zjKN9ZrdqoDoTgOBz25JTY7/ekVHjnnQecnZ0zTD23u1uxdnkvQ3PvGUeJJUPp1FD1DL1Z7BeHw4FVd7a8kxIdaNVLW7ROlzgggX9m2lY2wOOobIHZuhkn2qZZYL6ST5skorKROk58u1oB6SB3ipFXL18uqSfTFNntdqQ8ERRwVbLcM7XAbnfLMA6cnp9BTOx2O7788kuMgZOTLe+99x6/+7u/y3Z7wvvffZ+bm5sFvPht/vr/Y2NrVb7LMs2f/+DOeZqmVSmqfDiVgqkGZw0l6zTF3W2+SioLZGmmnJpZKlKFFOwwd+HHUwQj29SYIiGs6bqWm9tb2hC0cJLf01tD44WOavSQ8K5Fsp7Fiyb0xLIcRIaCqdLgligy43GcSDESnEzenMoFpFEU031oOwlQnqal4ZamVfK3nEILjBW/o7EF76AJjsYb9rsDjx6c8/LlSw67HUlJ0NZKnljVF9k7w6ptSOPI+mxF1wS8qQz9nq5ryWXPcDiIT6gIMdhUAQKZWvC2ISOTG+8kD7GYhLNQiwwanLGMU48lExyE4Bbaqdc4mt3uwDAmjDU8fvyYGEcyhlyNmvjvvCgxRigV3yqYIsp3OI6DyOY6KYi6tuXVfs/xmHn8+DWubm4FbpILIThSHIRGbWRb6Yxn1QaJKxiiouWVem1l8yS0aaFe39wMMqUvBefEl7lqGj3TFOygvuzd/shxv2fz+PGyLe66jm5l5ttJCdZp8cRY66i+0KwaYpStIzgq4jMXeFmDCw256MagjEIPjQVIVEaZ+i9QC/lM5aAdMZvClA9MOWIxWNvg3XI/a/4w9MdXGFPwbiS7gdpEUu7VIaQgn5LV/zAtwJBpmmTbWwRsE0K7SO1rkQmgIVILuLZZsnsvLrcE6zg9P8G0gcmBN4amW3G12zFNkVElZ7XuqKVwHI60+47gA+bGUJLIVWoRqVY1MpyRWBiZVsuBWDHW0w+THLDjxJSSEKQRCEvwafH3e+8ZY2K9WXMYxCOy3awYjeQLPz0e6A97hqln0zaaN+jZnj7i+csdxiiEpxpKNdTiKKMu5vSSKerBmcF2Ugo5DE4HKw3ff+/naNo1bbeiGwMPzs4436443lyx2++5vYnq/6/LFBmjkrrCPTCW/D5/7+/9TzgcIykXzs5O2W638p0m+V5Xmy39ODH0PYPGhDx8cMbxeODF1TVdt6bvB21WWpUqe91sSCPt562GNhinJxt++pOfcrJq+OVf+gVur6/UievI2fDRTz7l00+/4OzsnC+//ppf/ms/J/mmS6OkYJiiUU5Y0lgxVTy8BZGPxpSgFOI4cntzTSmJtvUcj5P6eeXXMMYwTD2rdYszldcfn8MvfKC2hxXBRf78T/+I3/y7f5evn36FdV68diXRBc+brz3ipx9/zFdfPcHrtjrFwsOHHf3hS376499nHAvOidTWEDB4Mp4xVpxxVBSgYqVQDM6xalvJEM+Fw+7AzfVOwX2GdbtiNXZg5X3wwS8gwBACqdTl/a5YvG9kW6EDQeM8JUdiyVzdXtOuAhfdCedna9rg2V3fYlKmsY4mOC7Wa7bbNV1ocB5yiRQCIVjOTs91214pUQrSOO7BOJxvhLRuNGFeoVj740B1MiSyRqIoTk82sjVzsBv2YikJhvW2Y3O65mc/+4z16ZZsBFoy1ZFcLT40UAr741Elu5YpF1zowMjvH8KarHLq9aqVO9oYiQZTurZxRmjhSOO/WgkNeFRZf5oylIxzhqYLHA493XpFSpFxEhJut2q0CAXjHLZWgndy9mQBW4Jssj0ix5VhODjrqabgdbM7TiOn5pQpD3QGmiDRdSVliWeJEdtYbJWNeCnyXqcpKkBKvbb1buOCygBTihyPB5Fvd602aQoTi5KccLpdK022UnCM/aBpEEjcmUWsQCaKxco0MkjRDe8Mk2nDJMPeBe5lMN7J85IzU74D6BjrwCYZiEZYdQZrZctmcmFKk96lhqCqppQyIRgMGW9lM15nj2kRL6UzEgGXpgQ+gBHJb15k116j49QLWcErDV5+HSXbVYs1sqVMMWmM3Hw06Z+voPfIXW60xWHvPWsFXRYgA+1JYafezJAhkdDapccUhZFKLciVZZNrrVd6s2zr5O6zdw2yMYBsh513GnU3Z74X2tbTNlY+55IJ1jD1E01osVSGLEuctgva4EgkpjEy8BUvNzhraLwMJ4pu0ZkXNrMNZaZSq4KupESOotJbrdYYJnJJ5ElUSyY0OvC0AsHKhWwjNUecEXBb166xAabY60LIU4whRWnklhgnlccmTU7wGull5jgbUzAUmuAY+pGa5Lul4e7XyFW84QU8TlI2ShJ5cxHKr7Pi1Z8TW+Z3bo74mcGBMSfIyAAdo++XIfigaqLKMA5qg5j7jJ7r2x7feOxBiraX168kGzz23N7cSI1yOEh/UQrOGc67c9K0p3GO4yA1c1h1tN0aexy5ublZYjKPx5HVqiPGEWcMOcqA8BiPpJRpNi2lGg69wKuwMA6RmPPCy5jVnE2w+nMPqsqViDNntQTWs9wYGTA3viUHgY117YpxFMDmuuvw3tA0lu3JipvrI1RDygJ1HaaBV1evRM2nz6QM0S2ffPYxx+nI1VfX3Oxu2O93Sy78v9HGdt5i3t7ecnFxof9dXaaaMSZiilhvlDYm0pQ5S0lomCJrc9YJOS5nzVoN6i+Rabw+mmy2Is2iWs1Xc3hvGYZErRFoaTTnSTyuEZwSJ/08mWLZLMjEAXKdsFbkRjllJXYmSlOpWR5uq5eM/PlkEpI0DLlpwkJdnjd8sr1OGl0ga3qh94pM1Jk5f8vStoHLy3O22xW1TBiTePz4gtvdNSkmTi8ucN6RxkGbfAFOjClJVMvhoDJqo9JQIc8djweaTiBLq65j7AeZTjtDaMJCcRO6mEgx+r6Xqc++p21bupXn/OIhwzix2x3IWfzRMiG1d0jwWvn8iy84OzuBIjFQ84vchLB4QMZJpCBt1y70tf4g8tl1u1LZg+Ps/JzPv/yCauDm5nYxqVsrMqb9fieb6TjRtQ0xCrhIYAN3BNF54haasHgri2b9zkDEeXI5f2/OCX5GNpaGKUy66TdU4xlipmtbmrbjOGlnk4se9EU8olXImgXxSuZksE6ezdB48UAyYmylpJFSxfeUa8IUi6stWE/KcSHLOh+Wie00TkzxoM+gYxgM1tyR+qxrsc4xTsc7UmsZwWZciGBH8VhG2RZksoCVVJ6Sh8wQj7KatfLMGp2aV/UExSJFgU2RYCSt28QBV+HzVy/k4rSy+QeYpqT5bH6Z9KMSy3kbY+aIhqz0c+ukUFZbwhQjWQnb8/c7f98LqEh97cZYiAJfA9mImSogGO+9TpulKNrt9tSSaJvA9c01e9mPUYvlf/63fovPv/xn/PAP/gXdqsOkQkyVnBCZtbUL5GSeIBtzl8Nrddpr1NByefmIm5sbRqVC5lwY+pGmbfngg+/y6adfCLiu6K+vt4d485CJaSw6YZ34oz/6Qz784OdxxhC8I3jJem28Z7vZzKE3/NP/7p/yxeef8v3vfcj/5j/9X/Pf/ZP/Lz/+y58wjiO/+qt/jQcPHvD//me/x25/4PHrr2HVYymyX6WZGii58MEHHzL2R95/53WmaWSa1LdtrEA+2pYHl5f8+q//Bm1j6YdrKYRVIjdvAJatjG6j5qm4tYZxHLm+vl6UA8fjgRgjJ2dbjseDNshVYIPIz5pzoutazk9P2W7WC6PAWcv1zRUvXrzg0eNHXF+9UiuhfElnZ2e8+cYbfP30OScnJ7z55pv80R/9kN0+8s5b51xf3XI8RpogZOqrV3t+8sm/5E//4mP6w56LszWu6oTcOvXqFGrOfP3VV3RBNtGlZHzwNI34j71zxJwptZCzWgmqYXuyJSXDYbfTDMbC6r4/UocO1hqmLNubbiUZ6U3TUIul90dqlMK5bVvOzudINquviFhgJHKmaOaxp1bwzjPVEWeVNpEKscjQiFqFxzD2jHEkpkQXnEBHpkl/NhlMr7ebJclgs12LB/h4pNpKaBqlQMumUHyhcHpyQqmV/bHXGJCyNE0lz9FxSuVVf3HVM2CJwfBOpbsFU8zyTqJFuRC5Wc6PpFnyThUv0hxGkf1OAoacfW7zMzaOkyhK5mjCeaOObLSHYWB7ckKMqmzRu8g7y/VuL/7bVUNKFWvVfqXeZIngyXfR3k75BXNTUTPdumOaJqx1PHr0iFe31+LnVAmtRARKXNpxGGhtYH97u2xYzs/Pic/HxRowD62WjWARgJxEGcpdtNlsMNZJ7N2/VhMun7G1OO+Z+l7fSWWG6EBghjZZpzLOMlu/vJ71d2wRpyqtORe3lKIbfO5+HWPl35M/BfPYVdaULDTk+X/HIEqpWihuxjfrHaP/jOR0mmXTKxY6iY6aeQ9VGRNF/bnzsyee9kLWOMxGgXEGiWBzc22SJB4q4MA4YpKhrQwy7fI96gchd2Epi8S11kI10DQdXSvLnJwy4zjhQ2CaMjnK34tKTeO3SiROSTelLS1GgKhZFjvWQWsdJhVchalUbebVllTnz7yqQuVOovuvb4vn5wJlLkxxYsqJOEZNlJhrZ9my1pI161vAZLOXdAZ6yfNS9D3MqIRO63L5Hp13tKFjGidZ4OS8WBTQdz7lpN+Z014gKPVcapF5CHt/mDRL3IV3My1kYBB7nZ+jporK5FVG70NQtWhZ1FdmUeEI0T+VzBQj43hknEZubu3ygo1TIljHfmeIcdTPopCz1E43tzeafjAwDEdyztzeyFC71qz1vTTowyCNrGyki4I0558JDioFlvijvPiLSy3kkvRFaXTB1S0KC/mMwdlM8rLNffzoIZvNhlqTKiNFEWgsamG0xDGJNN5JXrtzVjgFpXJzfUOlcnp2yscffyyw0JTh9ITVuuPBgwffplWV7+Db/oPTlJYA4JubKzabEwk5rlamhU4aEIrIbmOMEKBaq3E9RuiXGXzTaLGYJZPTO6pFp+0GQxD5xsphnGMcxS/qXSeSFSwpiT/GB4+xhhAcq1VLinmJ56g1S5FZlcBnLLVEKaKr4qyLFNW+aagGwipgg+jQpZBwtG1YmrIZMz57UGMcqU68PY13KsdJ2kgZvLNMSdb/h+PA6ckDcnrJdrvBWLBemiwXLO9/8B5Pvn5C3x947bXXGI16iYDVquP2+povvvic1WrD+fk5TSPh8bPESjxthrZpRXI8HmUa4oJsLJxMPIc40bWeog/xlBLXtzc8eHDJ9mStwIpE2wWOB4E07XYHVt1a/TEwxpEQPLe3ey7Oz/Wllg2xAHE0x69kvPELxGKWRRgj8p9jf5SD2MDZxSVPn70Ao6HTLoB1xDhysz+w2p7QWqfFoIBkrDYZKWdSrgrpClT9WaZpVG+f0OTSkHG5UJxdDqI8TewPI23bqbyvlVB4jVsoSV7yYjJTHJaJ/bpbIWNY2STHeJTnTH1FlZ71ZkvXNFjd8g3DwDg6UrRMKWNcoloLzhHLwJSjUPpKYUryNpyenAhh2U9YEj5onqKRBhULU50oU5EYBScZg9EVioFsHAMJNx/WRS6iEpfkz3vgmJlqm6ipLFuEokRAyXWtpLHoYW4Urla0OJBGU2RZXqbVmiPJHG8SRR5UkcKtZCV/azFjdZBUk1xoWEMsacHzZ5U4NU0rEtOcNd5YJvXOGp1SS7O7O+w1v87y8uoVOSfWXcfF2QXbrsUZWKuvenc44h2cnm756ulz2kbitm72I0PJOCx3VzgLQO++jKlqU2sMDP3I/lYIslYBYre7W25ixNbC48ePODk9JaZX8tHlokWRwWOo1jEVGPpBbRSG426Ht5WudZKxbYRe/ODijLPtKZtuxc8++5zjfkdwleP1c778+FP+9Pf+BT/3i7/M9vSUv/Obv86HH37A2fkDfvrTTzk5O1PvmRRrEhKv9OoK7737Lj/60Z/y7rvf4cnXX8rzYIRWmICffvIxzlo+/+JjvvrqC/7aX/tFfHBSTCgAoyz+bJbG9u6veUNVVEIn1PZhGDi/POfp06dil9N/eo7iSClzfnZBf+yp1WDNnY3DWvjk00/41V/9m/zuP/9n+OCg6PbbOR48uOTqds9uJ9Pg1WrFcRf5/LMbvJVIi+oKq27Fw++/zQ//8P9B091yeXlB13WUOJJLJbgGYx2eDHliOByoOdOuGgpp8fJVjQ3LSRo/gYNIeOSYRsaxQJCfbxomCiuqydIIZi0mvUAE19sNZxfnrFedbhV6CpVSwVvJBI8lgZNnBOewxtKEIN7SOHEcel5cv+T5i5fkWDnbbpWJIOCTrFCbWkSFFWsiq8e9Ugiu4eLsXIj23vPy6hVXL19y7I9c/WxHypVuvSYtBd6dvHImms6AoZiyWh4MKSaxXqSMbUSJ0q1WOgyQAfcMWpqjdGaYydgP+FWLVwuI0SYha45lcJ7DbifSx1pkIBmzypOFDeHV1y+AtIpzDSCD8XEcWK1WGAPHfa9NoWzDZrn0FCe18FS1NEn0jnMesJQ5BMIJ8LKaqnBBjZ5x0ri5VlUhFEWSyLZpGCO7/QBFMiajEuy32y0319dcXFwImDEn1uuO3W6PUVL0MlBEmvYSo2yrUtHzV3zwFEPrO3kPVbVFsFKzaPNljcUbt3wv0zBycnIiTVEWUKJV0nXbtbgg0uBiKtiMMfJ7iqR3ksgS3RhLBJbc7dLcVN18auM6K+Gq+B6LnSO05tgfp9zisjSxeZa365Z2PrMXF8g99c0cSBacnEXWeXKUHFjU1+mcDJ5jrsuQtpRMLOrNtdyD+xmF5Ig8WGBZZqFxF1kELgwLZy01FW3aWYYpxll8EEncNEXNPtUs+BzIVWwrbdMuELAc5/dZPlPrDDZIjeSURm4wBKcS+SI1YYqamFFk+2qDJRSLM3KmZOtU7i1ncnVWM6hVeVQyTWtJxnAYJla+E6l6E4g54pTBUajk6sip0AZPLeYucsZYPddhGEa8EQbKDFuy+tnHOKl+SKCGcdI8ZOcWa6T1QfzLBk2DKIu/O9eiKQF3jXlKacnCnmX/qNRXhk0sd7/890aVV3q+VfHWWiMWKTQFAIqkx1RI00SJCd80ojTLWZYmxjAOvdhcTJXM4SpRlVPswRS6VaNxqYlYoiRM6CLMmKrshEgpbokOW60aQmO19soc+4G2tIvVbr1ey/Oo74U14qEPQT5jkS0rNK5mxrHHWIHq1ZK5vb2W7X2tXN1cU2vBNY7dfsc4SaKMwbHqtpSaefLka05PT1hvTvjii8+5vLxge7Jmfd3Qecf17Q0lDexudzy6vPg339jOxUDbSujxOE6E0CyTyZzlAUVD0+dNqbWSldSEgMWQSiEEJREvshItVopkxDonJ9HxcFweKvm/Dcf+nuc0xcWPkmJitVoxMmGxC713jsQJIWC9Z+yzEJCNNOsiDRFZwzytiSlK0+wc2+1GKXxRN30sD33OiTJlpioTLu8DbbeiJsOQJICZKiS7KSam/RWPHj7i4sFDbnd79vsDKUX1NGo0hernX758yfnpicgfUuRw2HN6esI4TTx58gTnPet1R9/3+lkqsnyaqKUwTXcZfaUU0iifR1UwRX+wmo2r/qDQ4Vxg6ONCrp61+jOF8Nj3rO1aiHavrnj06LHAQ6aRy8tLXr16Sc6Z/e6ItW7x/FqFZex2Owmqbj3Oe16pET14v+RK7vZ7YkpCSHOyxZFsRiuNcs4UZxd/2+zfQUmA4qUo2gBpdmnbKuFybqRE6ijZfLOfJpPTQMXR+Fay75wcStMkQJKULZgs8SUlg8m4ILLTnKpsZp2haQyrdUeuhW7VEVyg9Q39OGCcwzcQ2obJThQv+X19mkQK6hUqImsnAK56QdubxlEcFGfV6C8NojNVAGUlk2umEW0kCdGqWR9U4iZRDQLhMVTnpOFWSIBTL0fORT8Xd0cAvAeVEpz9HdnSOrlSBAiSRc4YPNMkU3sBbtaFKGmM4Z233+bJkycChVou/RngMUdaSCNoqsVhxU9s5stBsnl1J3M3XdbG0jdO36nKlCLeCq036cR1HCSIvHn0kHXXUa2nnyQ77p/8f/4x+6NcesGvcFbjGmxVtsmsELjbWsw+RJm+a2yHMfTHI2dnZ1y96GmD5zgauq5hyJlpmHj69Bn7271OiTUWo+inr7aB0Db46hj2R6z3+Kah7RrOTk8ErKf2h/7Yc/HgAUY9lN/97vv85Z9f0e9v+Sf/+B/x9Ksv+Hf//u/w1rvvMU2FYZh4//0PWG/Oefj4tSUnuO97ttvtQjhP4wgl8cYbb/Do0SP+xe/98+Uz/OLpFYXKm2+9xZuvv0YbAm+++TdlsFNkJSJDB5EXzs2/85JHXIoAt6wxkoeZBYI0atb506dP+e4H3+HHf/HjRcmDMZgqBWNSEvsMVZrla/O0/urlK3ISX+HxsNcGS4rH1XrFG2+8zkcffcSf/dmfcXZ6xvFwQ5p6ttsVQ4mAxVqhcItUMdOtW05PT6FkXr68IvhmyVaXAWsngDj1oxrnpAgYIjHmWWAg75YxxDRxOB4pWRpEZ2aVx7yZsPfePQGqrTcdK81BH/qB8dBDEuuEFENWpXh2iaBo21aGYtax3x849gM3V3v2hwGTDZTKqmtEfpozwcq50DRBQEwZyfrUjcbJdstq1S0WnTYEPvnkE4wL7A57iWhrwqIKmf1qs7QPYLVSGBsVVw3TMCqxE7xHt7Az4VXO/2EcluF1UN8vwKQ2HmlwlPRtLFMcQH9vawIpZ1bWKgFXzp7QNBgTlo2MEGzzskWcExaE0s8ihZzTFyQHs1nu67uzVPLZo7IwmsZrMSgFojGGMU50ukWRGDQ54GbIkiRGSIvrgiNNkVevrjAGzs63xClpIoWhaVtub285f3AhCjH14hpjORyOCzG66PbfcLdZrioX7rqO4/G4yJ/n4WdWkJJ1MhQXCbNlGHqeP3/O2cnZ4qVv25ZxLMsZKcoxFsLr0ijcU1nd97lq+M7STMygKufMQjVHm4vFi2qNwqSsKqn0LJZFKcY4UlZ5vU7JqjZmRaXMVe1sdwM0YVjGSbKmq9KNRUo8f78Z77Uhmj/LIs051d6BGXMBh0YsStPmXSORmSWqelAUjc5aInmhVDNvyHX1k3NRJcXMgxFlVMpJGsDmDqwkma7cbdtKphR35yM3or6YG1xLxemRbQrqIS6ygNLBwPy5l1QwXv6895u8UqSZLno3o/1AUNugswLRKikKu2OGvao6TM5y+QGKksm/GSEn8uGakvhZs2w0rUlaz8ifNTi/RGrdpbiglOVyBxHT+0Jsf7IdH8eJRqnHc8/j9NebfxKjsX9WFVu1lMXiEUJY6ObWSJykMfLsSx61XUCDcz1XFuCrUNUb/TW89wzDQEWJyaUqT8ARgrBpSim6XJvzz2VrXnX4b4yqWnLGB4cPUlPNMUvehTuVqiopg0autm3L4XCkazt8cKQkv3+KefESz+TolPMyIJpp4XLuZ4XwFW5vrxmngWGYOOy2PHz4CGcqQxx5+tVXtCGA9+wPsrX2Xhac3/avb93YHva9SoILbbuiZCls2q7R+IxWNqu14p2HkklTWiYrpRSq8dpgRMZhTxOahS4WhyQ0Q/XhGgMxGZl8GsFVT1PiME5sVp1EimQhnJlsmUqk6VqiBgvPHzbICzSmyLZtlwK+ZEhZZC5Gg8ezqcQoRcE4jnRNR3Ce/eHIFDOpVJrWQYac5SDKowKrnCdnefBLzmLSVqnDxeWaOPTknPj66y/58Lvvk2KkH0cxX1t5KeLYU/NE4y2311dcXj6S7FZtGNt1y/Z0S6Xy6uoljx89ZLvdcP0qqpe4LP6DzXrDOPYyybLzhFVGMHEamSoSGK/S5FXXEpwTIABWsr+SSkOBplvx6tUN1rdsQ0fbbKBamkYutkeXF/jGkxT0kFLi6vpK5BtZpmW3hyObzYbjMBK8NKYOSxwj5IoLDcF5nj57jnWBzclGsq5WG2KULVuthUkfcOM0hsoYhnHEO8+qEYP8NI2aH+dJEY1SAuOtHj6ZWr280MGz2nY4a5niRMojvlktEqmCUEKrNazChpRlW1BMpRj1QLWeSMUUka5NOVMtHMaJOT9oipGMIZVMbUTCVZ0VVUO+w/PLWFz437MUyDhLAaz3ZFOVsKieIFQ6hMEaR5oyZvHfygVogl8KNWMMSSedRX2dKORhBiNgpOgwbt6q1YU0KUAVpVCaQmgbUk6yW4jy/ZecKKaSFUTilB6qBlXyJF7HgkYhVCFxrnxgGHrGnDAOgvGcrtcMh6NIeRuJE5r9PvO0vSjQY96mzkOzhX9xL3aq1gIWjuPI189ecbLe8Pqjx9QS8W2LTZFxOjBNFvT5nWKh3HElFu/PfMbcbWzn0kMgJV7/3DlNrFeOMVraLlBKw5gi2UnTlJLGR5TZSiZFqfWO0HjWvqG3IhCIFKiZ7VbOJ1MK2YgdIZVEMXByccLpbkOKB55/9QXD2TPeeHhKpxXLP/vnP+TP/+Jj3nr7TbpuRbfaEJN45xmj5EXiaILHWc9hf813v/tdDvtbvvziC3IuHI5HDrd7qqm8+cbrXF6cY6g8uDjl6uql5k8aZsHfsqU1AoPzXuiUznpKEY+ryOMc1/sdlcL19RUn279G452ARGYJOuL/SnlaZGL34RLzd5FT4cd/+RHf//Dn+P3f/32JjtJC2FrD2dmWtvXsdleUHFl3K169eMmbjx9z7LNEhWFZr1b8g3//7/Nnf/7nXFxsud5f8+TLpzx79pLWt6y6NcY5ulVLt2kpJsvmwoH1FePlHZIc6Lo8H+hmue2UBG5ERWQJmJJo9d/TtxxIhGBo9M+xv90LIb94GmQT7KwAC/OY6UIQr7zKe0u1HI4Tu5sDu13P8RCpyeG8YxoHai5s1msBNBnDerVms9lwdnFKcYXn19d8/vXXEi9EwhDZrE9FUXA8cNj3FD9RDIwSBcA4RjorrAtj7AIae/TwkrZtxeuvEElD1qI0slqt1FMtSo2mDdRiRRWmxZdzZpEq+uDoViuOxyNx1M+rlOXTS1RaZ4ij3L19P7LZnhCCoyAFe8qJ1XrNOIyYmunaRnJzi2UYE2OSiDCjfklcWZRsAlaR2Js4ZVyj1ND+iAHG8UgIAvBz3gsYz3lKiRhEal0L2GrJ5GWLKdQiA7PzBeiPO7bbLbvbHVRhikhsjBTUtzd72q6jVI8PHYfjIEf6HB9iK7bodg1LTtKkhc4vQJ62XWkhKnfcME30w0jXrfRdNhyPoiR5cPFQyNTzNrOCrcI6aJtGrF0oUDIVHZirfUfltrYmsd/Mvl5t6mutVI0kMmZutvKS+5tLVcvbjPJXe8pMTq5ydhsjyiSpa/Q+1QGE0aghsbfIZ51TXX6pqpnEkrOMDtNmwJlEHnljpaDOmcaIqtAFh6mSOwtGzrgZ7ImhJvlqq1ik5Y6tcm7Nqraqfs/Z1220qTbGiLy63N07VT2M6Si1bdTzVDZw4t2nGtKYJMarke26xYn6yxuUpyWLKq1brA3isdR7IcdCnVS6G8sCYVrOXlUeDMcj3nvWXStxO7VIbeIMxRiM2jnGcZShEfOAWIe8VppQWz3Bt+RJBhbFZJyrAmYtTiSupTJqLnEqoiwp2gjmnEU5UkXOm6sQ2q16S+eBOlltFQaCpgLMqSe1SkZ6jIMszdSGYpQZYRVUG0sSzkETFoWJjFMCZGmE191arJOl0jYt4zTinMFbR6HST5kpCdPIWUs/RnKtsukOVqKWxl58tyFgSiNDOf155iFVo7F9Kcr2NjQNVZdJzsjyqZqq73gQ9YkxdI1nmAaszULxTolp6Fl17TJANsZwPPTfUOPMjI4ZfGcNUq830jzjCiVD3494n/EGbl89IU074tjjaoHiRMlrDeuVKESds+z219+2XcV+i38GQGlXhuvrK25vb8VoPE30fb+Y+edpzX///0oOnkxrHN4Hgm+XgtBap6jtedpVBFuuZuZ5KrXf7yk5q9m4YRqnRS7QNA2H/UHzowrOBdWWiyQmTpM03mj8j7NCi1MS87x1GccRYy1t2/Haa69zdnamdro655+I9FE3hffldLM3bJ5OQZV4kBlupMX28+fP5UHQF2oONB8nHQwEf2/im2QDqQ3KZrNhe7Ll8sEDpkOP1enoFKfl856nNfMEylpL4zyN8ZgZAV4Kp6enbDabxVswT/Ak3iiKpzCJj2qKEec8Nzc3khG6PcUYw8nJCT4ErnY7LbzkP+MkxLzVarVs5OdcvVbpasF5vLV0rWRJztPE09NTXr56ybHvcUG281UUJvTjSLEG10g8kXNeXladyM9wiRnJLj6GUWMHACOxO0Ybs8Wjaq1St5HpoDXEnIgk8CIB2u13y6juvmS2UClW/m9URP83aYkyvbzvT8glLZPE+xPz+80T98iS83+dS1FC7N1dsuDp7d0oUaQ2afE2zdKx2S8UVFI/E8Nliir+rKYJi7RqlkDJxN0uE0oBUbAUDnNhIdRLv/zMgoRPd94cxGd+PB4Xqbc1Fu8szlUePjzn/ffekkgljaQxpvLuu+9II3vPO3Nf/jv7x++fO1VBXDN9c94MV/3w5q3hyempSo4cpVo2m414IVNhGCP9MJFyWULY9VNfzrzZN8u9hpd72cuoJG6WNwYf6FYdzss2doxRIUJCIJxBHbVWyfXTWAHZfrGoJLyXyfc8Kb7d7Xj16grrZKvTBsdv//qv8p3XH3J5cYI1mbbxPH54yW//1m/xN//m3+Ktt97Wi2luQK16qvS7N3fxQ+fn5zx7+lSHTSu6zvHrv/bX+Y//o3+f//Q/+YcYCuvVShsOt2y0rMZczNt/zJ3nfxpHLSwqm+0GYywffvABpRQOh8MC1AhNWOTds595/p4PhwPr9fobPu77f//5518sGd7z8MgYowQpJiulAAEAAElEQVR9zzvvvMU4DmBge3KKtTKJfv7sGS9fvmKcItMkfsNf/IVf5JOf/ozf++c/5NnzV2y3W/HR+0DbCi1dvEqJzXZL13UKOWGh5c/k4aqxDKuu4eLBKWfnG7YnK7YnHW3ncL5yerphu13peZUpKUosnBdbw2yLme81570CwWQT3K47UYlocZVz5tj3ch6WqhF3fok8cT4wjJO+D/LfhaZhvdlyefmY119/g5wrFxcPuHx4xvakYbUKXD48o9GzOpfZQys0zfk5FlZDXSwPuRT6XuS887TfOkdMkZSzKpnuZMvzf0CkySCNWtFcuVrUO1/rMtycKcjolqbve4ah5/b2FlTpJVm0d+fsOIzKbpjVPOj5dydBLPcO6oXxEYWPcH5+Tt8fidNEnETqG5pGBk+z/Dpl9b1Z/P1tkvr6FmhNnKFBcqwI3GZivVkDUjTu97u5NJF/Vz1yu91ecibb5t6gHz3Pw/KdLxEhWivMSrt5EDkPO9u2I6fM8TBw2PeMg9QrXdeJGmC+R40wV3KR+BeBs1VqMWoPMUvTdn8YP/9nvo+/8fkaQ+MkTshbi1XwjwxgZCs+f191rtXuMX6XbafJAhy6x+Rw+v3drwOtqmCWO7eUhRI9Nzrz9z7fQ5I6IZtP592979Wq5NUuZ8/8ucdJ1IFZG2qZ15rl2RAgVbm30YOUKilJnJ7BAQ5rPLUaHVBIXFLfD8q+Sct3K3+ORH+MTFPW6BtVR2muc0pyHofgaRu/SNhnanLKmWEYFzLxXKc4Kwoj5o27EVvYfJbM3/V8Ps8b7/tRNFlzeyt39p46e/y1PpQkBIGVxShDzn/9mZnrk9mmsPhCa12+z9mDOsuGa5k346ry1DqoajpIE2bgl26AF5uW9CpzHyTPk9dn2S+Nn/Q0MsQxesc69ad3q5bQeHyQZcvs6baLbSMt23LvZPjkZ5XHkrWtvn39DLzG9jXNnGd/V4ulGJcGdwbH5iTwr/kZZyaEL/2B1WjDrEpKiRq8r8KZn7WcM0PfL7RpOX/k15ZUg6A1qlCvJb5NvdbGKN1caia3xFndKTr+h/761o1tt2q4fPiA1Wp1J1FTCe28oZsfoPuH/Wq1EuJelAwqqxfQLF82xkm0hBZUJQoV0xkj0Qe5kqbC1EsYu7OOaUrs90emqZBi5diPGONofSsTF/33KUKqTNPIOPYcj3shMpvCyekJq06Q99XN00C3fJHzZXh7uxeAhRN5Vo4Ri0xzvJGGEY3nEUT+yPG4x/lKCBbnYOgPZP0CRY7UsN/v8c7SeMmTtXMsh3OEtqFbt0xTT98fwIrEyBlLsI7GCSTmrXfeJuZITCNN09K2rQJmRmnis0xbnJmbzcjxMDAcR0zR7VAqeG06FmlWlQtzd3NDHCeOuyPPnz9bHvT9/sDh0NM0K2o1HA4Dn336FTfXR3Ky9P3ENEWaplMZs9VcOoO1Xg9sATEIrEgajqhQlO3JlsP+wOFwZL1d8/L2FYfxyFQzsWbGOKmESKAtUQsKa628lFmGHYUq/iAjUJ6YimwHDRIPVfRgT5USledvLV4DuXPJ4v+pun00leM0UIxVaqkMTwxmCaSfG8LGqTohZvEvoREuFBwVW+cCWyaE3AmOVFYUsBrzUq1IiiV7rdyBMuYA9pmmaWUSaryhW3WK4nf4tpHJf5Wfy6sn3VrolFg9ZyXPl03WIi/GvPieFvgPBTwUW7BBkJsST+Ep1S6QN6OgAol3iHrxOSiVD7//PSlOZalFcJbT7YYHF+eMQ4/XOIy28bz2+CG7/U4ucb0Q5kba3ANZzDKeBSjjnPb5ZYG9zX/N2bO5JEqNVCo/+IVfYX8z8ur5K4Z+JJXKME4MYxTKaJ2jJOo3Gqf58r379e1C8A2h4fLBQ92iVdZtS02ROI0cppFdiYzOsNcB4X0apMTe9KRUODk7p91sSJQ7WA91fn2kqfBeMqetZTgMHG9u+eWf/0X+wd//B/zCz/+AD777DqvWUvOEI9N5Q51GnK6CjseR69s9x3FiTJEpJ4Y4Mk4jfd+z2bTc7m4pJZHzxFdffsaf/PG/5A/+xe/y//y//zfkOIk8Vm0m3B+6mDt533xvzFv8eZj3K7/yKwCcn59RS+VwOHJ7e8N+d8PDhw+VPmyW4hkt4ufhqlc5pl2ku3WR8754+YIPv/chOUeVtc3T5cLp2Qm//Nd+kXHsud3dcHrxkDEZ3nzjbV57/DpTinz55Zc0vuWD9z7gyVdP+c7b7/ILP/g5VmvJPsckcpkIrf9Gk+SCwJli0rOuGqwLkvGcKjWBLQo5cxK7hRF6+2rV0K48uIp14HRVuNmuaNcNTedF2lgLqVoSBhcajDaHoRO7ykypt8DUDxx3e/p+WHxsOWVsFftD1hzXgqcayeg8HAe+evKcFCtX13sqhrPtKdvulJP1BRbLNIyS39rKdmbVtjgLcYzCJahVI6Tkezs9PWUYBvb7A/0wUJ0UeKUacoGUDcOUVLYpQ0tpVjV7ex76pUKesnyWdVagSt5oyXdDonn4UFVWNw9ZKRLh4Y3FlKrno/y9t55pjByPwxKLMftmZ/lnUXCiFMKelCdyiTgvdhlqFeJ+ESvEOCRylsYkxcIwiDoi56p3mtGNnpPNbSzEIVKiQLFE4qgwMiPZklnzQX2Q5tt5LxhkW+Wfsyz1lhSojhizqNByZRxFyROUZjsOk1oSRh3COIwJ1CwAzRQnGajp/ysp62Zc8lBD8EvTM0VJi0hT1PulqBrFazZv0ff2/rmcl3vIWoMPbrGmWOfYbls2qxbvZSjgdGBr/jVg2HwcSxMg0lvvZZNmnVGPb9ZYuyrJC1bTFZzB+W8O0GbfoblHy51rXYCaLcMghHtrLI33Wodmvc8gWKc0ebmwxzEyjUmeJYVXTSkxpUwsonhCfaZGm6ScxasSxyjPfZamM+t3Y3SIk/WuMNYsTU7RwXhVN1WcENp/uWv4SqpMQ1KwmVWrgQzrYowMowx6xWZSltq/FpUkKwQ2FanniqZJiZ1xjhFkgRgBKvGXbXNR0JK1LEOTaZrk+TWz6kDu2FSjADi9kZrEVIqRmi3m2WOaxNeaIpPWh1HfmSlF+nFgnCbGKLnUzjtmLtY8LMkpUUqEEsW+pcuurLGJuSSiZluDlbimPKdQGPHf1kwcRnI/YatsZ4Pm1Tqv2eRWKgfvrVgPvCUEh7ESF+qdqFW8leukayQhxFvkv1Ob2FxDzMs264RI7myVjGJTMVViKhdg3cwrqHWJbV3qwSxRZdyLnMo6AJvBe3NDu9QxKsWbe5KFom4KkjSYSSVivKGUhLeq9EtRgGulLPWxLUUYMd/yr28tRZ43Tuv1mpJlkzFP9ecNztzUOmflpdA/aAhBgDMLnbglKo3Y6kPs52koFefli04pC73WWA7H4112rOYtCblLZAPDONA1HVblvUanRaUUzQm1d1mz6jHqViuO4xFn3HIYdm0rMgTNa0pTXDZS1smDJ5eaTiLLHNFR9EvWqYp6qwSrblmtOm5udmzWm+WBmWLkdHWikTtVJKmTBBi3bbdo+4MSYYVovOb6+hrvA74R7/FuJ36mWfINqMxBNt/GyiRvv5ulxx2Nyh9ykgtou93IpnYYsM7SdY0WgQ0hNNz2A+PQ03UrxnHA2UDTyH+macJ5J3JgnWrNB1WcIqFtlqaz1orV2AA5cAPTOC7T+vUmEJOQROdss5vbncSuKJU65cQwDqy6TmXF8h2H0CxN7iztFVqm1dxAPWDmw1FlKR7x/+QCTdvI9NQYiTFwKslWWU5KiThF2qZht9+zWrU43TqXIi/sDAicv49cCs3c9GrMg6mVau+2ejJBdt8ozJ02oanMmX93r/b873nNj5bs2NnzK/8vNI0W8HdU8zp7yVOi1MpQ7nLhShZpsbNOL8e6+L7mqXupGVMlkxGg0e9FfEbN4qHpug4X0zc2mdXUZXoeY1ziHawRIuJ2vWW1WnF9dY2zjpRhvVpzdn7OV189lQbee6oWFjMJeZ6+39/OzAUNi4dsBtPN8BH559vGc3pyQtd0PLh8TAiteoiOcmaU2UbBAlOYN8bMv+Isj9C/RAVnFuhbnCLewVhki9pPEymOTMNAtJbm9IRhf1w2LlUz62ZJ9eyjPz095fmrFxjjFmhaUSo6xnFyslXvUOXV1RX/6g//mOH6JW+98Rqvvfkexm/59LMvuBkyTdOx2az5+JOfcnN74MuXez7+2Vfsj0e26zW/+IPv8frrr9GtOg77HZtVww++/y5ff/UEY4TE/P7735XIoKbBir5M5Lbq+TcIXXTOozQKAZmmuGwmvvzqCZcPH3Bxes6br7+h5GArm/lSGYaRJ0+e8ubb7/D555+TS6V+89NeiliZjkfNrpz9k/L9/PivPuLf/fv/M/7yz/+EUow0bSrf965hsz4h58qz5y+xzhLCQ3IWgm8dEz/+8U/4tb/1d/i1X/01fus3fhfrK5GRblVpmxXkRKl58cTK+5aI48g0Rro2yfmjfiusSDJzljgwMtQ8xzxZSRcoMAw9KSWa1uKcTN5DO+cU1iXvvVpRKq26ls1mzc3+hocPHuC8IYQOr0W9d5lxyhwPR/p+IsZM07QS22dFdo6RZnAY5Y6NOeOnxMWDR3zy9RPefPNdXn/tdXy9axwlQzZgqmRzZmvw2VO5Az7Ng7g7mmzi5OQcY8X33zYtw7DTfPCMCZIGYKwh57tijZmC7J1u/TT/GwFNzYA88bFKUyzQnSCEHmSILXd3pmn8Ule0bXu3yfNOzqmcSCrpFHlz1qZVzuiqg/B5Cysk0paUp4X2m3NZfGKl6vYkFfrDjtYHurUQxkuVZIas2eiTEm8Nc91RlyI06d8/fvyYq+sr2tde1xgdWRJ45yhJAJqppGVjJWkBg56RUtcEN9cy6rfUvFOJx1HfXXCs1yuMcSrvlHfUqSrHoeqOUrGIPc0gvunQipe06lk/DqPIMEMrMJ9lo2yh3HmqBY6k94ZSx0uVrF6r94586ZbZCWKtfI5Gtz2lyF3rddg8jpPYq1QFUmqGe3JKilh/QhMkwaFWpQ/LhqpZtlRy37RNI8+rd6RolmXxnA5S670tuWaQi3UsLwPZ5eKYgWNL9m/VWmBWzmhNt1h77pr4+T2b/3u0+TLGqMrr3lBQVvu4mQR8z2MrYNZECO0SPSQN6vxrpUUeOqcCzO+0DB9UxTRb2WqlagO8PdnInZAlGvNwOHK6FZZMUan17FctGjO4Xq3pD4MOfcHamYputSaZBzaakoHc13M9LttcHUjPhGf9eUTiLUPOkhNtne0N/9pgVs907GyrytIcp7wwDVAiclaQnVW4WMkFZ71E6qVJPsdSCa0XZWDK2Bm2miX6DfXuW2M4PT0lZolArVWGSKjis+tWhNAwlHFJShmnEWvvts+yQLzbfpcigxx0QNj3PY2+n85bSpEFQtII1pTkHms6gUzNdoZxGllZOQv2uz3rzVq85fne9z6rz2Zl3/ye5bIoGIXBY3RrqxA3aygxL4sxyHe5yt/ir2/d2K7XW0qWF8g6h/fyA41D5OREJKdD37NqOyGV6oM2TZNCHjQyp0S69ZlANapIEHNK1CxNrHMS+FyNUVqaNC0WDSJ3AvyZPRq5VIKHmEbQDZXE2AgR2Psg0jI9OG0FbxzDOMlmz1rxOmlj6sWIQhNaeg2JLoihvW0blSDCOKZFujn0idB0iyRRJKqGHOWl749HVuuV5K3WssgWUsmYg+PR5QOGYZLPLUnulnOWqZ8INrBed7x69Yradjqxq1ocygOw3q65vTkSY76XLyyArkm3l4fbPcEHkVPI6UHbya9rjME4oQ1PKUIC5wLVOgrQTyMnG/HgpZJpQkcXOq6vXnH58H05TGQJwm6/Z7vd4JzjsD9KEeEcY5yWSzUEJxsI7zj2B253R7YnJ9hGJoo2GB6/fknXOPIUsVhOtluJtwmGYcgMw1HzyzxtCKRkcNYzFvW/ah5q0zbSd6gEydpArUpVVD9AKlH8wSXSmUZyyFQeQ7Eq95GBSN+PAmLpHD40ChWZke8yBrWzNG5ufqyRJtaor0MBOSDb2FEbfle/uQXEiVHWajMYwvwcZy1IxBtWNUpglvSUe3LH2YOUo2wPotVDRbP3SpHJK+rlmH8NsigMjHfLO1JNxbiK9Qbn5kbe4ooXAjJGgSRIzqeFmifKslHNSz7jeDzSH/azShdrYNOtuL25YUriZ8o1c7I94XAYmFKiOs11rWCZN7TgrROfXpVMu6q+xapxXFV937NIp+q0ve1WInHzHgs0zRrnV7x6eU1MULAybTZVaLAq1TV6XqirSSEwd5+30RXZkKLmYWYokTYU4jRiywipx1SRU5UQ8N0aE6N4bPQ7ybpFMzmz3+/pVg0lx1moIGAZ5LK1FvG1ac0yTZG/+ugTPvn4Y/7ub/4mDx6cc3p2yu2za37yw9/jr//SL5GnwMOzhudf/4wXX35NnBIlRw7HzKvnT3nj8pxYIzX2XB2vefnyJdc3e062F6SY8EFkttZbjse9uIgaxzAIgKXcb0CX8xxiqVTrsKFlvLmlCx22Wt5+9Br7wwEfHKumpfUNN9e3PHn5ire/+z6D8KfkOylJoTBS8O0OR/FrHntygZxlS2rm83q64Q//6E955/3v82d//iOsFymZ1W0CpuP88nWefP2E50+f8ebb7zKOkT/70z9jtRKYThtayJZNt2E/PAcz8vDiBIzlxfNbxmkQgqQNTEqozJPETAQXsNVSYsZ6kaslJ41THCeaGnA+4FonCqKayWnCNQbrG9o2KK3XKuyjLvaMaiQz1DeO88stobWsa2C7bTFuomlXeCM+5lgKL15eMY1F1RgFSXmUJqUkGdphYJcmYjGs3IZS4WY/8b2f/xXefus1puM1z558wZQTQX1wJycnnJ8dGGJm6o9YB6+9cckXnz/XoaRM6SVntXD56CHeawb8lNXvL+9Q10mkiTHSEAoHQ0nSVmLIfOsVUgnjcboXyyfbplW7YsyjAGxikcbGBayxDMeR4APrzXqJEpkHbvPmb4qTKGCsSOmLwmh8I8O8w+2Rk+0pOe2VhSBQs2lSa4ZxTCnighLE04CxELNwSJxxlFyxXdDzukqCg4WSDdMYlQJ8N8BDh11eIzokqiaw6lr2tzcMw8R2e7Io5sZhFFuQ/vzFyLBoGifaToZ4ahIUYI2ejxr3KkMzi8I3DTFVHTaoLYvM2WZL3x+Vr4DcRVXujLZRSrTxOIVQTsOcVmExSf7crs7edzn3rNVmd25MnFFYYeWow3fJVM3S1M5qIi26q5khPvKZlVKItTLVuNyNwziJB9HKxqjq8qVWSbYoqWgkzR2tveYKDZKcoHJOiviuKwJaS1PGePFBVoVWGeuoWDRAQPzDRkjCc9xN1mzQXDPOSFrHMswJstmbs85LSndpECkRfCu1uXcU9W5SZeNaYyFTVUqPSsVHGSohf7/IwxMc9keMdSp3LpINWxQ6WQqtLjPmdwas0Ibn2iUWsJZVt5Im21aaZkuMk0pLPdM4cph6jvsjFydnBKtD5Ko/uxEmRn8cGIdJN+TqU05QyUyxfsN+5INnKr00UVasYjUvPC+a0GCqLgqqcHmkVJNBV84FrBChvS6lZiXgsjUuibBY6/Tn9FZRJko41yhJtIGuNTGMRWsJJHanQKhGfr6pUKrBhDlyUn6D4CzTNOD8OT4Y9XQnzWWWem0cJgx3XtlYJLZH8uXv1BCztFh+7qi9jHICbKWQcT4Qh1He3Ww49COlgi2GGAvNGvqxx6ryZUwRk0Y2rtOBDEo2H/FOY1apWFW4WSVlOyd2t5hEPSVqKyPKpFKxXhgAuRZSVKWSdRj3rdvVb9/Ytm3HbnezTGdmX15Omf1uh/dGddx1WU3PDVYpldWqpe97+r5fZI2haTDOYosCfWomRSl+ffDSbCpCHZUr+CCof2sMXWh0iiOSlTiJP9a7eXMw6Ycom79aqzYJmuM0e2fuRXaUnFmvGpwLjOMgE0lF1ou5XUh7XjeBM83Vh7vM0VIlb+tOVij+jMvLB8vGSl54mdDd3t7q9KUlN1lgIPpAtioVzTlz2O+Zpontdqv5gAfJO+xWHA8TzmWdCk8CDNGJiQ+eB5cXUKvkus4yVidUtovzC6XDoX5Vac5nuZDzXvI1izTrJxdbgvN8/MnHnJ5vBdIUnMjb1MeUFaYxDAMheZ49eyaykq5TWrP41vp+ZIoTbdcpnVqa3r4/6kUn4JaTk43mcAlRuGYBcMxelWmaRIKmZnoZiDSLTJ5qRYKovoZhHKVQaRuMtXTdiimKZzzlLFTQpiFN43/P7zNvB5vgFameOKYsuVxGDrTQNMRlYDPTeu+Ic87JJDnNOW7OEWNSKYkUrmbZyN1NRucmrdQ7pQD6TC/U6JxxvlmeeeYMQetIJc791zIYAZHNWGup9k5+4r0X/3ApJN2AVJ2kpihwrmGRq919Lln/HFYvR6MS6XnTWSo8eu11nj59wu64p9RC163BWD7//AvZytWZZt7w1ddfE3O+O9juTeWFXipgDLuQFNHJ4D0Z7AwT0eH4TAzvBwkJD67jX/3hD3nv/Q/4+Kc/JWcj7+c3WIwzGEP/flZr3JORG+q8HMYAx8OeEBznFxccbvc4K03numno3EguECvYrlWsv8dogWMx0rhZI/mhefyG8kEilbSQu+8nruJXvbx8wL/8F/+c73/v+2xOT5mq4dX1NU+fPuMP+j/g4YMLvv/hO5ytGg5fP+EqVZIXyvKhP5BKpI6J/nhgHHr+4kd/wW/+5t8lZphSpnEyEMhk/tt//P/i+tU1203k9navkrVxGSjeKUkSMf1Trl5d8fz5S46HI91qzWF35OLknJP1lmevnjIMPcbAH/zhD/n65hV/9Gd/yqeffrZQXacp3uUVu7B4TdMw6rRZpulzxqUPnj//0V/yxttv8OnPfkYeRdJqjW7+rWXoBw7HPcMgdo1nz15yPPa8/vrrfPDdDxjHgZ99+jPaJtBPhma1ItfIOEw0ncSrSJao1ztOflavPmW0wMhtIyoh3XaP40g/jFjnqUbhWk4VGz5IU6zFd5rVJFrUotukXArnZ+esNi21Jk7P1pQ6YYqQMdvQkWImV/DBsdsdKQWaVu60cRggF7xrdaJvJOqkVjbrjmws//z3/invfPA+m7Xnkx//iK6xnGxa2k2Hd56YZAhtfBD4m7WkWtlsO2Ka6Np2oanO0lDxWMn73Pf9AoVLMVKDbHwx8mecs8VzyuSa1MNtaEJDNGn5HlHAXVHfX9t0TGNUadssczRKrRb4WlUYTFFpoXVOctPzJHT3ejdgnEneu5s9pWTarmUcBnKqpJRJw8Dp6QnD0DOMo7ANnCMnOReDDilyymy2G9q20bxwtXEZe2d7mL28+nPPftQY4+L5n6aRthUPfsqZV69e0rYrTrZb4R2kgabrFHglap2mEVsXmvk8H6zilVQVjKkcR1GMhbAixShy7lowZJWDS8xgcEJ6ReWoohaTZqptWrnTprsGWmIT5Tz3mte+3+/FIuUcGIszdolbmZU9xjlwSnRu5kFCXM5lGdoiVh9vZoLikntc5nNTv5M6f8Zz46/bxFgyNRUMstVNGos0U59FDupwQXJTvfrUJ1WoSEJDuWMwxEinqRopJR1Y3Pl5U8kLNLUUhTbOlr1SICdsFVuPueeLtsuAOuvP7ym5LGA6tJG1VvN2nTxbTrkuu91BqLddIzLoaWKaEt4b+oNs9XOSpJOs561zqAdUuR5V82EtWodVAWkFyUF3Xrb3wzDqZy+Dmv1urxTxRAh+SVmotTCpzNUaS01C2RUeh9PzyermWGx08/vi3Px5iEKo5Lth2rx5R4GcTQhY7yTbW2veWaqfcyYustpMSn55DufN+LJlNhKhVNUfjCkUp2ocpXLnIhE+M+8DIE5lyfZNJi0SfDRXeY4ME+WEKGRTTnjbKBvFsN8dFyrz4Xhke7IRovA9BkjVKMaZNJ2zeGinaWK9Xmn8ldYOzomqYRAS8TAMrJvVYpGoeofP8KhaCgQRPBjN9Lb1LjJQwj2cRnCyELqtMRorlhd2kcVinJxt3oRl4zsMkZwr2+3m27ar376xneV7wzBwdnaG91bx0zKdTGn6xj8/F+J+aT4q4yhAoTxFvJJfXfAid6yZBkemihzSyFo/JtHDg+fi4gGH4y1RwUTzJLUWIU1WIy9A0wYwdQkJ9r4uJC9v3WLOboJ4lCTuRprkjMSXtF3D8XhnqM4xQRGvU60svthSIbQtU4oYZ2nXLdM4Mg3jcmGvV2uhtjqnl4hZMPZpinQqHytJLuJixacyDgPOWdabEwky7gc5kJuGrm15/vyZemwy2xPdkh6O9P3A9vSEY5Rf2zcCG6klMxXJ9ssmsT8OtKsGrEwgp2kiDukbw4sxTupHkMNktVqxWnccdju6VcOLFy9Yr9cyBQqe7ARBv9sfePzoUpH/hRcvXkjGnZGM0eOxp+sEAha0wYxxJISGMQ7iEbPiTdqsOoyp+MbLoeQscYpk9WSbIMOMcZRs3VQyORcCMMXpLvbCe4Zx0gmwx4eGWCIOQ8zqAbLI5H2R2d95d6puwZtGLjOC+lYociinrHIO2Y5U7aOMyomFHCyTqDyJXMYY+d8kQ60uWXNy+N0Z7+f3aZ7ozch9kGbWmjsGrVyoUuzORMA5A88at8hCchGP35JQUypk+XMvQA/986eYVNrthWppPRRHjmnx3KOF4eI5qkWzgq2qZ6yCNSQVPmMpVd6hk+0pMWb2hyPGap6uqez7A30/YJynaHNQK8vvNxMr5SyVrbed/6F5C2LuLnlUJix+EtmYvby6ItiWnDy/+Euv38nacDgthlwRiiVzNqGxFDMH2JdlLDyDIUytbFYrDre3fPX1l7z+aE2cWowptJNQpJ16ZGsCu14zErFKfZSGteCDXOC5ToCTqXQaqbrZcs5rk16WiT/G4IPl3ffe5uGDf4/XXntNGrdh4OunT/ni6ydcvXjJ9fUV3/vwXX7uBz/gv/mv/1u++Oo5br1lGkfee3zJq5cvefXqBcPxyH/+n/9v+S/+9/9HjoOjbc5F9j9FXr58Sa6RWHqmYYezf0aahgUstjx792LbXn/tNa6uXuGcpW0aLs7PmYaRzz//HN84Xl694Nmzp7z7nXf43nvf4WS95ftvvMXj1Yafff6FDH02OpAxBqzE0D24eECMkd1uJyCf2felkS21VB6fnvLb/8l/zD/97/6ZFFPmLoaq1sLQH3j+/AU3r17w13/5l/iFH3yPm5trYpzEduCFTOzDHEMDvvGEVAjBCaG5Xat/M8lmNhZMmbfW6Dsg9PzgBYyXUqIfRvLhCBROTlesN51c+NZSaiLXzJQmjLUE3+gpIY0dNbI92yzQltAESskE4+V5LeInNhYePnzA9c0tTdOw3azJU+a431FzYZoMq1XHdrNiGkd8EIpmH0diimy3G1ofZFtwHAi2kOMocKiYxK9qDSdtS42JQy1sNp7+mFT6aeh7icDKWfJfUx51zKzZl75hiP0dvCdKjJsxFm8sOUZKrnSrjpqrFnu66Zi9ZTp078eJtm3w1mu8x/y6lnugqyJnI1ASNJpBX7UBMEb9Yxp3M00TXddJlmgcBVLTeIKz3Iw7jkPPZrPWZlegL9XA5YNLjscDVgu7aDTQ1lWVf9cFFGW0RhD4nngi+37gcDgsvsM5tqdpAsUUrLecX5yy2a6Zhsgw9jSuY73aSB5llgga74O8O2qz2GoD/Hz3XOxFrSPrZmgG1UzThLXw8PKS4XjgeDigixTSGIlFznlvLCVJDIzTPGCRf8smtuqoaRonjBG/a4ozdMdrRGPVYAAZQguESAFB3lFNFJm1tTTWMQ0yXA7ek7J8V84gm09VPaFez6UR0ki1pAMNq/J0ISOL7S5OSejtQSxgRf35zoiU2oRG2TBFB1gGnOOYpXg3WSS4TdtSi0hXbbVkjRaSDN9K0ru4GFm8qHBThljqly0FvDXkccI7f3efmtleVTWGRbg18903c7SmPNOYDcZKPu84CnyuIM9/LoWCSLbbcAccS1maYmeQOrJKfe60Diq68PC60RZrmFui0uDO75mixlCWTNd0dOuVyG5zJljxd1pBnSigTZse62V7Pt/zduZniJKsFBn0yXuuWctA1Q29MY5xmPAzlEn7h5qLQi3trM5Wxk7DOO0VYCRyxEYtgaWIZcFWlv6kIFnysy1srktEESGKqkylZt3Mo3YTaxZVwVyrnl+cyOetw/ekygVTIfgAzlL0czYWSo60oaFxQuWuknu01GHeW72r8gLCOqq1s1R5Juwi5ddayRqCb2RQVwq+abR4kibYe09TCnGa6K2lOtlEW2sx5W4AWEpVta1RVgsi+dbFQ9FGV+KhzQIaxFoZHLWWGA/EOJJS823b1W/f2Pb9wHZ7wsuXL+8IWVr4t62ECw99TxvCsqlzSiue84tWK5HrDuPEZnvCEKNg0p3FBLdcUkWn0VYPIYCo+aziaZPmQQ6hrCRWhRAV+dma0FByYRwmUixsNmsVEdZlq+oULS4+4Jbz83OuXl4xjhNtuxb8v27E5mlD04lf12bZ1lotbOdJqLACMk0TdDqdCerhcc4uG+MQxK9TlAzpnJWGxDrWm402M/K/CZHaU+rIer0iKs2t6RqSBqHPmVVd13J7u2MYBowRTzQUhmkUg3YbVGokunnXGKpSzuYNs2yCHG0nId/jNEI1tJ3EGrggftqYMuP1De+//z5ff/2VDjJEyj1NkRQzjW/V31zpOonkqFllZUV8hW0jUUPHPuKzW56Vfj+x3+84Od0spGHvg154TiSsM1ZcwQ/jNC3DA5HGOvW4OC1wVWqrRNKa5SWWF8tiSsEbSzXIIagS07lYYibV5UyMEznFhc6c08iUIkUHObkmiZLIeSHx5lwwcy6jbpDnadnMfKu6iZOBUdKhDPegOPOkVKbQwXvxPsz/nm6I5obTINrcrGTf+2RZDCJ7KhIhY4xf/l2rSoVaihTPunGeMUAzPbHOeH9kCpoWr7185gtN2KjnB7i5vqE/9ro1MDy4eExKEzkr/U6BF+M4yMGuBY7V2JA5d5olH7coTe8OGlLKjJ43Ssmri1R4PkSNtRyOBzadFVndxRlN1zAd4zc2tWaOXZoBImYe9olXdA5TMPozoFuj7WbFj/78T9j86i+Qi9DCnZOh2sOLDWk30mdHspCcZ8gD7T2yqTGW6gwxZwFrFHCu0fdA6NYA8T61WanJr65eMex3PHr4kFVdsdv1/OxnH/P5pz/jV//G3+DZ8xf8F/+H/zPbzZbjeOTR6ZqeyDp4Pv7pX/Hs6Vesuo7zk1PeevcdbIWffPQTtpvHktcNHPZ7nIf33nuDtnmdH3z/Qz7+5M+pJSrNzC6kTImisfzG3/4bPH5wiskjX3z+Od5DCIaPPv4LXn/9dZ48+Yq2a3j67Anf+/B7bFZr3nr7Lb7/8z+ngJN7tPEiwyhrxdZyfn4pF3kumkmeubq6ZooZ7xzX+1veeOtt3n7rLclMt1WGL6Yuz0+MI7vdnhcvnvLBhx/w8uVz4jTxh3/0+wTbMkxHfLDEmu+KjU6UJQ8fPSBPMvCIqZL0TptSZFUrbdfRtC1QGaaRmBNN12hcUc9ut8N7y8WDU7H96dQpJSG9b8JG3nnrmEqUwZyxnJ+d0bWtwmMkx9H7QMqwv+1hLc/78XBY7pvNZiUD3NQTuoagdPK2azk/O+N4ONKuVvLsDSPFIE1nL41s4x1XV1d4KwOXmAuhaelWHcMw8vDhQ26//BxvLG2QCbzEsHkhjuo7FSeRGM4RJ8bAZruRseCy7TfqY00yiG0aHcCaBUaWc2aaop5dbpH21izU01n5tOpW6je9Gzig26cQPNvNVu7DuSC3TmWpUYtuza4NDYfDkc16jfVSK1xcnGN3cv6uVmviFCm5fAOCM3vPl7NoZgYokGkm+BeNShvHSMmRYeg5OT3RglWe266TRtt6r1mvM1ciMw4DFrmb4jRhisUGyeUEGMdJh3xSGeWSCWGtNheBDdZytxQAw831DW0IPHr4mJcvXqr6zZKKEFFLNQt5f7alzLyJBbqnzYPzVuvImcpstaEp1GoXYr8xhkyWxKMi9FTrHHEYaBt5l6zRJAan2dGadpGjkHxxLMkHWQmSqvdRCZBZEi/uhpTSJGQEtDl7Y2epvDdOpciqVLJ3eahzbTgPUZ1XCuw9X21B5KnyLGqdoUkYQjmuy89itf50GKx3soAAjHU4F6DOOdvlDtyj74exkl/f3HtnKuq1NKLcSzFJM+EC0QrdOepSx3phpBgqzgeRwKtXcq47p2kip5mZIWqJOemkgmzmiiFNiakKNXi73SpFXgZSRe1SWX29S6QWZnkXo9J1RWFoFhXmvAkts2R6rtvrDP+SLbqdEwD0/pbN+py1K/f5FCNefw+ygO72+4PYELyXZi/Jcs5Zo0ZFrcOUBj9NmaoD16qKMhaqP4vKdN6sWic9S8piT2K5yivHwxHnAymXhUcghGTDulsxTRN+5em61dJQsvy5Wc6wqjGMINaClCy3NwdWXctq5ZeNfNE/e86J9WbFNERZpJQ6uxYWgNQMDO66jhij8pTkLJubc6lBtWZXuX6lSvaw9hpzH2bdnVqlH3qapqNtZ+n7DCv+H/7rWze2x+OOx4/fo2kahmFgu13TNOIx9N7KlKAUhmPPWreIM4lNwtQVGhWjFssyJ/PWKGmsUL3QYqMWcF4fNGctBEucJqUfquwwTRpBYpcHdbXuZLOJhwzOWImU8AFnDClNtF2jPqWMNU6/ZN04ASVm9rsDoWmxrjLGiHWeKSW62twBfzDijdCtVs6SNSWUUsF2l2oIXpqprgkLla6USLWO1WZNmib6w5GqxnTvPXGSn0eIn3K5+CAypilN7I97VmZLUSmSVU9G00jsRE5JIVGBGEcqQvgFSDlivWO1XQm1skz4JPRGuWiyIrgFxNJ2ss3enqzFsxscQ5rYHQ/S3KbEarMh7/fa2Fe8lWyxcRgpViKbmtBwc3WF9yKlOKgP+tHDS4ITqXBMER8s6+2K/jBCkelZEyxjUmm4bvnmJmKO9xkGIQwGNfCXXPEu0IQWC+Jr8vLn6/uew6GnZDg/X1HHivUep2AE4x22KC3bypS11ELXhOVnpciUuVJV5uOIVQh81RZqSuIj0mm/8V6yWTWTznu3SOeqZsYuMnXDIpkzCmpY+kNtIqsSkiXbT/2k2eCtZKP6JqhfxSzyZWvcAsyw6uOcq4+5iJghTLPcJLQtjQ9iL9BGNddMTVVy4FImI9l8M/hijjURzL/ko1olAztn6JqO7XpLPxyoVjz80zSSoviocSJVsRQ5G3SiWJkjdhVKULIWECxSu3IvKmC+AOeG+j52KJVESeIwvLhoGWLPxx//Jd/57nf46CefMQxzvt8ck3G3uZ8HHvqFKJBDCyWjJEIyr7/2gNubK/7qo4/4hZ//eWz1HMszmsZycbqmHycO/USyjtCuqFOixlmShMgTnVC9xZtfKHmWWOkPooWhqF1kUuyCA1u53d/wp3/xJ7zx1hucnZ3y8z/3AY8vz7m8fMDp2Zambflbf+NvctzdcLvfcxiFBh1Ct2zOt6utNE1pZLNteP977xGajs+/+JzWtGxaT9d63n/3DR5dnrO7fUiMg37Kd5PjhYDZNjx+dKm7icLV9TVTnJjSwMXjC2xjePe9t3j67DlFvaPWWx6//honp1viFNXTZUiahWmMUG/fe/dtSprEalAKu/2R5y+e0a02vPPOu+yur3n+7AV/82/8Df74j3/IZhUUPqRePmN57zvv8Id/+Ifc3rxid/OA1x9f8uTJ11zdPKftPMbrdNqgHnw570PrOL884/mTFwzTwLFXibFO650zFGsY4kTTNrSaveubFoxs27fbDduTjcQ+oEVcrbSrhrbryCmRpoh3hmjEO9/4lnW3ouaiGxHZvgyHUVgNPtP6ltA0Wigk1qsV3hlyHrHB0G07ztZb9rtbhlHow00b2J6usb7lxeEo6qoC3npONltK7Mlty+FwJFSYokhcg4JB2rbl8uSMXT+wrwOpFl69esUbb7wh22PUdpF0wp+rNl2VpnFqeSgC3JshWUYi1WKS4tN7Ry2JUoQce3+IGWNSmqsM9mQw6JYIIu+8KKMm2bpOw4D3VgfRcH17rZuYlimPeGspKeJ9SxwjcZJtij8NClWpDFNP1zUc9juCbynFKJU3EMeIM043i0kGrcEtyGqrW3xjDDVJpm3S7Y4Plo1ba6yHwjNLAdPiAxwOAqyqiCyWUgT0ZAPjkDgMAycn2wVOZ5DBbRdapn7EBY9XeaXVs22OJlqGw0ihXw0E14pNohphIWcZMpEzrQ0KNazLIHSG/FgrYFGR9UphL5tB+T2NlWah1iLfW9HYKCMQTKxGH/ZyN41TJOYIKl2cKQi5ZFzWRmdWPeSqG2X1/OkZgljaRcXnAziJfPLWQqoEY2V5ECw5ZmzQeCw1uVvjhMSbpKmc4ZEaLk9NeYFVIq3n3YBYAYeK89asWkOahwEqT7aztDQEYXLMYKmaQbd5M/SylEJizuqWAYJTq5DQbDVWRYcIvkpN4IMl5sQUs9YkLHcn9m7LjXrZc86yYa6ZtmsW+TUqnZ3rDqebWI/HFNmEJ5Nou4a2ESDSHIUzQ8xKLlDkXk8pCX9FeRY5Z2yW9yCVjPOeNrhFbpxy1LtTYGj3aygWmb3UPqUaUoacCtaJ+nSKE93qdFF0ed+Q8w4/S4817cFqRM7SoFppNlHIVTVisUxKc86qGJV+s+CcaPpyyZBFdu+snHneWoGYIc/tlET5uG4bSszCBdGtZhqnhWU0D4hmFRK6gJhjNp11ixoPvZOssxz7gbXtxMKBWGHSmPBtA94tAx/vPVjojwc6BeGuVtJcHwa587uuW+Kg5uekaRp5/53BBmUoJUSJp4VdzgWcxTaBTMIHSQjwwbHZdndQtG/x17dubEfNG5z9nfclZvMEZL540YmAhK+nxbNnbQAM0zhirb8jJBr5w1UlnqVpINynxTlL1zZgKofDTg6GnJlGkZ00TaM+s0yzaQjbjv1ur9NekfVOcZJDxhaCmAPETD/nydbC9fU1wzDgbSCUwmrVsNvtKDnhvdXcJcmebbv2jmynzfWUIrkoZdELCGqW9PbDoFvvrTQYTiYoM2160GljSgZvYbe7lQiWWjgeDzpQ6FXm0Sx+APG0HmUik+VhfvDggt3+wDTJCz6MI+M00K3k+5n9ShZpSkrKVDNL4xxtE2i7Th9SgT94lQmFEIhx0un7xHp7wjiMnJ6eijzJW4Z+lGaYwjAOQiQMQSQ0uS7y767tePToERcX50BlIknWX4y0Tct2uyEOSS978bekKFPLNEVahWmVnChlRpI3pBRJMRInT7Z32WKGkZSj0jQz/TSKNCgn8UikiLGVKSY8UFxdLoR5wtm2HSHM2W53TVIpRXMqxVfRNgEaT5oixnkaHyQQHokBKM4tHk6rcUTzZNvdi8SyVr02Wbd3CzJdIBPM6pEl01Vilar6jufJHnbOm1Up8pzDfC9reva/OY3SaZoGVwsl5cUXN8uIsIDTgi1OAkIpekjPmaUqHbbWKflSvL9CSzQ0bcOx3y1NT4yjql3s8l5ePLjg+vqGXM3CDJ4jQ6yxIt+6R0U2+oHMTfnSiN4bCvAN2qHEL2xWa0qufP75p/zGr/82z55dMQ43VGMX6NQs7SrM23N0Kqyb+CXGQX6G4zCpfWOiZMPHP3nCb/3mr/L5z37IwVwRd0c651jXkWnMlKbFBEcZRWo3b/iLRiiUMvuJFQw3jhJDxl3TewcNQ6MNJsqUeHX9gt3+mk23wgXDo8ePeP78JW+88SZvvv0OH/34wOb0BD+1KhmXwcYwjrz3/nvEaeLp119zdbXnj//4jwUgUQu1Zg4WLi+3VApPnnwp320TiDEthfH8jsyDm9kTa/Q7ySpL8sGTaxECY5XGN+VE3/eSCauRCDOnwWHI6hdPMXE8HulWnRZA4v+7ubnhtTffYrVe8+Xnn/HRRx/xD//D/wV/9Zc/wjnhGJSal+fl8aNHvP3221xdXXN9vePtt99kGAaubl5SpqL5wVIczh51Z0XuFeNI1wklte/3jNPEqpOIPN8ESkUiIYyciXPES1RP2fn5GU3rKCWLrN5YmhDwIZCinIXWzLTfKDAbJ5/hMAyLQqEUIdynmGhCYN20i9IgK5F0vV5zPPZEzf9ONZNrZbffQ0XASqWy7jqlBOtwSyPpxjQseY5VNyKDEu5PTs+5ur5is95ibcDbhptDT+vVX6psjKLblWlKStNvFrUN2qDIhtMsUTGzTDSbBF2jd2hY6o55OJdzUpp7WWStxkpW/eztnf1pc60RY2K32y/yxGE4Ykxmv+9pgqNtGsZpoj/2gJEB7CQb8JxkUzaNkw6nxcu2WZ/Js6UqnJlF0W5aUYApIAsrAytrLbFM5FpwSApA44Pc8bNvTunbnUYXDUPh1auXPHhwIZs6r9ySLOdEKTJILWSqWnXapsU5Tz8OyzAwKz33bos6A3TuMsNTzlxd35Bzlft2iqQpKcnZLpuflMtdU8Yd10F8s1JT3sW0zUoq+w2S6zgKpMi3+j3JDpRxSno3Sv00S/bns10GnGXxgd4v8o1KXYMTtE1W77Iu0ReuRXWSnzpDEkuW/16i/RyzdkmGuXeOlDrnTmkMX1o2USgToiznuK13liO5O7XuzUk30Xc8iPkMncnrS8xfuYs1M/MmulSFULlFqTQ3Bs47jA60xXcalxSSmGY1jNx16/WaVETRV0uFQe1IKvmvKgWuSyMsNUVOIoeVWtXeJVWob7LrusVGE+Occ28XxaCWJwKqBcw9qFKtdXl2Ui1LTu7yGejvL9+FvJOrrsVp/KZRG0+Md5m4Vmne1UhvMQ4jMU1Lzm3XSdNXtf4vOWNsVQiu2IZm7ztK3PZWrHMpCRtBrF1mIVXP3teUxeYosHwZwM0xfkYH6nEUayNNwzhONBvxoNcqA6xUktZMaTmP4Y4UnUuWrHZ9Dua+Sb6bJD2EksDn3GKrROeck37nWTkx0vtN47iQ5HNKy9nrvSfFPcMgpOZ5WTf7a8XHb5YhTtQIN6v51N45Wb6p1VS/dJz99lTkb51j672n73sePHgA3B1KM8Z/JjSWKg9+13VM06QB7CpXSZkQGg1hTloIRM0XNcQE0otpCLedsyorWKGLGSsIfHQylmMijlGInDOJV0Gvc7QLOjkcR8m7nWKhaTuNp5ilL/K/o0XjnI24ahvaVnwCUp9XlYiJZyw0YTm0qwHfCD1QDq9EnEYhumJlI9gEijUklS8Px6NshNXwbQycnp1w8eCcSmG9WUnTN01st6fUKit+uRAki9V5qxI6OeybpsE6x/E4sNvt2e8OKnkRSmdJIvuwVWSo1CoXp7FKRcz44Mg1M4w9wcuD6e6Ftm82GzabjR70E8F5mhAoKRPmzXKcRKJVMi54nei3Aptyjs16DQYOxwPGSQG3Xq9E9lqkOTw926pnQeWvMUkOr/n/0fZnz7Jm53kn9qzxGzJzj+ecqjo1oQpAAQTAEWCTlES1HDZFUhTV7YuOthn+H2T7P/BFX3eHww7L4aAdbrXDQ0e4W1JHy93q0ERRTVokGxMJgASqUIUazrSH3Jn5fd+affG+a+UuKmThQtoRFRiq6uy9M/Nb6x2e5/cQMY7kCbXwoen4uOqpQOLPiJYEVKiHVC4ZXT/gwcNLnF+cwXlH28IUEDJ5SUsqBGsAH2aRJMpaab7sEhP1jvLgnIj2aLRqTWpG5p+xEBU7Z7hlQQwBOWaECjUBNa8Uz8DyZNyXCTNcJGf65xiMUsrRE1w/y1WWk0IimBVv+1AyQvRwnjzMKcVGnsyJaJmsCiKKZAjkLeehEVAoA1dRtp3pDE8ZFeU+aspRrDl2ogKecjlm+TJB+jAdME1MzeYL4fT0rGVNCpbieR/ozGHpeM7UWdapuOQ4h7oVqMPy5hXhL7r4av4pfVbAdGyjLVZ9DyUKgpvgvMfp2QmkzE06JCSdQ7SRrY1x+VQ+ruSQeCLxCqQCzD5itTrF9fMbbG9v8PGTF5idQskaAhJGS6wGASsKSgi8kSXfizGW40SYTtkQVQRHElLSAIf9pEQIpeIpsm8wlQjnZxzmHbpBY1h3iCXi8euvox9HvPL4FbpYuXGWgjIfRc7IgT4bX/zST+DFixd48vQpgveI0ePNz7yK84tT9L1FARHttdXoRwL1DcOq5VW317vRMwVHhlhIqTGuV+wpSxhWI2xnAUGT87v9HUIKbTBXZZisC+eNJoCUkWPEzc0NNpsNv2YJ8zxhnid89KMf4Q//xf8XVy+usNvv8P77H+C1195EDHUgoph+TrE6r7/2JoTQePLkOV68uMZ6vYFSlgBMibyRIQVSLpQE7x1SCiBtK2Vibk5GAFRIe+8RGSASOMh+XhzG9QpCkT3HOQfvI6bDArdElCQx9iOMNmRTYaBcDJFomEKxHA8InmAgXW/R96bJmOdpQQgJIaRWQIfgMU0Tdnd7dLbnnPOM/TwxyVNi8QEhZRwOM0m5PQ03QwiYlwk+BEzzDB8j5mWms7UUuOAxzQu06SCyhIbGy5eP8MrlQ6iUsRlH5BgglUTKgUi8vMFYrcZ253vn+XcUDCYpXC9EKKnRdz1t3DI1OtZYBOdb4U81YNeGdIktGVJVO0Nicjo1+UqyZL4I3G3vsMyuDYpSzhjXK6zWa4ycDnCz3aIfe6w3K/S9wTxPeHF1BefIgqMEQWms0WQXKIAPDj56TItDhuB7kJgg1iqUQqCaSl+FIOVPQuJM0GO8k7UWve0YxCKxXq8wjD3xATKdv13f4fTkBF1ncH52CqMVjJZNHmyMbZnvMcZ7oDf2M3NOO6mFcpMdhhixPxyweI9UCtarNcnIq2+0EH07pGMBDfZYSiZaV+YINTvsJ+YtIhgCVGE3NVIpxYQUaWAVAv3lfIQURDe3fFaSJ7kwRfdesct/uJQSxkqChHJurZSCaPOGtrN1w09AVNEUejkVyr1nH3EIkeSjLnD8EZpUtpbYsWTEnOESpVQElmBWXz/JhUkCG1JARs2M9UdbCzcHrblDRhYUwVRkAQxFGyhBHI3EktycCw1c8jHypdr5cqK/JxrUquaog5M3iIVScm5EdlqK4Mj/4IVC5DocWTBg7DhsrhGM9as2ueCBcIwJ0Ue2IjKASQriuvCQtvYbqIPQmhXO4Kqcc4uHpIEMn42SajDw+RH59aW7m7KulSACseKs63EY2yCsLue6rkNJVAMqSMhCdV7fdbzZp6H60Pew2rD6QRG9m5f3ggeVUrIyQoJUeyShQ4kkeReZlAoSZI1gqgdyiljmhT+HkZtDri1FpogfQXJl/obEQOLaJaZ4zJit/u2cYYyGVNTwtjOXBw0SlAqhjIIymutZ7j8SDZMds38qxLXVYdzA15zv+/Y45x3ZPXjrfzgc2O5J23twJGWtewUKMZF+zK8fu7HNJWFeSDqqmr+N9PV0AFh4H5GKoGJlXGGaZvpleDIdc0Y/jLi8vMDQd7BaA+y7WZaZ/LWgqZPRpj3MStOEb1lmjk6gB3y1WjW/iOK4EeccFr/A9l2DdAie1BYB7KcFIWaOAZJ8SAZ+qGmTSlO2gN3+DrkUDP3IMToKWQDaWqQSMS0TNQMVK58Lhq6nUPWQANA0W7AfxhoFq2kaA84OKzxlOux3CN4TSn2hCJlhIAjJOA5IKWDxE6b5gNOzU6bcUvaTkpRz1g0W3dAhZvIud9ZgmmY4H5BioQ23JGBL9fysVuTZqiHoSkqMwwrBB5IR8yU99B3HLpAMQUqBRy89QvAO+/2O5cAaMWWsVmt6KBR7blkGknOCthrKKNieKI45JbjgGoRDCMBqjaHvUHIkuQxvGCT7rKSq0hJF5GNBEDLbdY0aamxHviopWu5tRqHPInjDWWMBREZIgSRPiS6hTAQPgofFhBw8tBDH6XSISJG8yinl5h+ocCgfA0KkSVcshT2SNbA+t8DySjGunq/EF0U9wI8XGW11E5P3vAu0aQ8JRNGq02IazNRGsiRQ0V4kJAh/L7OCKhoaFlZ2kEVxLvEAKSgOqWSFkhWktMe/hEFKAiUpZCfgDwHzbkZwCSVJZF9QAiCSgioGMkmIKIEoIKIA+C8BYJlnep7ZIySEgdY9bbCKAvhn2u1mOJeALImVn+qFDJruZwVk8hQS/IP+ku2/a0gYFqdoFGhAGAhpAEET48uLc+QUsV6tEELE02dPcXFxiWHoWQLJ4BJFE18pC0VPiQItMv0lSRbWwCcKJKlLBevNKVImauHVzS2kXCGmDilLhFAJrQUCCVrVZyUjJ6C3A5QwJHktCgKS1Rnc0FXKO7/vjVSYEhcwElkA02HBfrdgnhOk6pEySbSrb0xIxT4v2QoFiIKL8zNcXj7AbrfDZrOGLAm9yeh0wvnGYjACY2+wGQe6BJs8mjMTeZtSvXxgqahSCn3X43Of+xy++tWv4mtf/RoR4rd3rfmVUmOeHEV8TDNSylifnHDzBR6gKEhpIJWGMhrL4nGyOYOSBjkDq9UKX/25n8Nn3ngDb77+Ot5+6y2gAF//+jfw8uNXEGICpUhoFKGRoJCLwsnJJS4vX0KMwHvv/wgxZZyenqNkiRgzpmVmr1VCTIWiHApRI88vz9ENFpuTNc7OTmCMYqBVpoEW53TmQnRdyQND7xymacJ+N+P2+g4lAjEkeL+0picEz6Ac1bZolQ5chxK16Ag+IYaCkmlIsD/s4Z1D8B7WGKAQ0JFRRQw6EdDWIBVgf5hwOBxwe30LlYFOkOVomg745ONPcHN1C+doIDWuVjRMnWfs9nu8uLpCRkE/DLi9vYExqg0+U0gt3zvzzy8kU1T5K8bEg1p1vHurKoOHA4nXOpRXS1LVEOIxCo8tAsYet0YSpKCqAMBpmpnOv1D0Vi64uLjEyckJtNa4uLjghnaE7S35GAXd3f3QYWLYmJTUqNbIwhpPYm1HG42UsD8c4LzHZrOmgVChgg2JVVPp2ICoe++jFAJWaVhl2FNPQ+yQMoTUlPXINVhV05HXje6wvu9gO0swJyGghIQRJGEUKDBa8z1Jw86c6WdR7HOsD1tKhf6K5OGb5hl3ux3c4iEhYUwHoy1FxVSPpZA4PTtH1w8skRRtuMiXHHk/GeFUODC8AgLpd7F059W71ydEn+CXAGQ+cwR1qDFSBGRo5FZeXOSj55VRD8gMlRNN9YQ2ZKYBXmrquE9tHUFy+Fju3dlsVUq5SoBpqJtBjaMLvoGA7ucxN+UQL3ME+N4o9+L77n3uW3pHKfyMkNcxOrL3zYvjrWFhtQzRyoMnn2TXGWRkhJIRmMRMWfO8uc6p+YbBkmBS99UzJaAAUFq3WqqeZTSAF/A+UsqCUMjpyG1pTWykz1jtIwRHwYXEoNaUScrKwxEXIwKnS1QicUqJ6ue6bU8Fh8PUzoX6ftRBRogUZ1PvuJwLfKCEiFQoerPvu08NEGqTNU8TDvsDBAQMQ+K0lDBSoXBjpqSCFpoI9qJi/Y6gWGN0IyxXT7i5lwVdSmkyZ5TjPxdY0dnUZ7zxFlLR78OLmkr49oEGVJ3pgExw2pJLG+o3nzi/XzdX10g+Y91vIBLZMCXxiZFiJBupUBSzWupA2hwXKjguB1vT6jwy9wGNRM0MolKfk1Sfm8TNf92iB1YeifZ7x8jUcfz4G9sfuwVOJeFufwelBM7OTimiJmd6UPgQT5neiN1hQm9N+9DGlHCYDlBKoh8czlYr6JUgAFG76CkGpWQBXWreluCV+LH/zpk6d8WTSyFoe1R7dCEFpmXCMAyIyDCdxTwv8MEjpIRp9oipYBwHjENPU9F7spsiABcdHXBaIO8zhmHEOK6QmGy32gyIwcEtDiUWkqbm1KanMdAhpC2BDIzViIcJMVAToznkOkSaqBlj0BmDzhoGYpFMqHoFFjej6y3284H9OAV93yEGh76zKEVhfzggFcB0I3x0CGEmfT57K6dpxjBYmKGjy03JoxRhmjCse2hl8PTjJ5AiwIXQ8r6QS4sd8j7gME+UlbcsKDng9vYab77xBsm0AWw2J/DuBfquw1IWrM1IheH5CQ7TDgU0cKigBAXD/t8MzRIMKQpspxo9sU74JASEVi0KKOYEKIl5WUjaIjRioogjXSx8jIRK1wrr9RrOz4yYD0wapiy+UgrLaQv5b8tMG2mAZMWcwQuhoQ3RF3Py5DfSBqoyKFhC6gLBh6ygw9Q5D8vbAiGoiZD1Mx4TihTIgibZ3keeXuc2XSOfL4eqSwUpDJDogKVJIMk5paChTRSxwSfkPWBWzhU6JahRYu9UFlVyLVsklWaZIRU6BcoSKVFDwgiQa5tJ5CT3oviUlDNEZulfieSXNTR4SjzFPz17iMevAVcvrmBtD6gBz672yIXIs5qtDM4npCjQ2Q1nWAoEnjZWybZWYHoh0JmBIxsyv4bqUxfC/WgvkTPWRuPVh6/j9Pwc1hi4KeOTDz+Elh1ONyfoxoIsJADFcvQa1cDREvcKFKEMhFLN51VyRooRb779NvrViBwzTh48wLy9hbBrjEpDmhHx6gU2KqOT/P4OGSlkaN3DWosuBPYuUQERfIDpe/SrdVM/KKPRLzNOTk9QQN7ycbXGsDkhiacdUISGNGs8fv0EN9sJDx69ih/+6GOsNmf47DtfwXvvvUeXfSkwsofKET/xkz+FbhhxdXOLL//MT+HdH7yPl15+BW9//k08fPQQ//Sf/g426w1+82/8Bn74w3fx6quv4N0//TO89vpruHpxhe3dHUEA70VmjetTJEg8evwqYkwY1qd47TM93nr2FJcPHuHs4cuw4wbj5gzr9RovP34Nm/MH8Dnjldc+A6WHVvhVsFvmgZZia8urr72JUgre+ExsxSPuFdU5ZwybE7zx+XeYFNlhu73Bk6cf45WXXkYKGV/6qZ+G/N738PTJh3j2/Apf+MI7mOYJu8MNlCGXqBREyIakwZMxFpuTDQ6HA85OT6GUwPNnV/A+UCFeCjMoKEYpJ9oGCPajC1SwIVq+shBAilRQDgPFpQXv4RwNg41V7NFNUBLojMVuu8WzJ8+hdY9FB+hOQ2qFceixHleIPreILkDSGVSYXMtFbfIMdkSBgYTKDEiTAsvkkOYF3WCQTMb+sMdhdlhvTjBPC15cXeHRgweYF7q7+oEgIMiFfJkhsoyRzre6xVayZnEXztskArUyukngqvrKcCEVU6QIEUmMGioGWUWhSQmUmfkRA4FMKkinfn7m2cMYTYohS1LyGCOMsLQpZWCR1hQ3+NnPv00bkJLx4KWHePb0KVbrNS7OzuG9w4unNyiFYhK9pw25ZRgjuJnUqqCkgJyJlp0Swcgyb6rGYcAyzeTcKWhxQ1IrhBgph1RoqmF4qxZ85O06De0PYaI/F8Bge6TJN98iWbh4oyWO3kEl6fOQBUkBo4ssffckN2RSb8oFzgW8mK8pyinT8iKVDM/yUh8jbnc7ygbVulFQwVDKyvUILgBCNnVM9ePVhpY+m7kppEokv2hgiXcUCaoAMRWS8QpqqkOgRo1yb4mpoi3J1qdlJiKsJGhkTgk5ZAxdhzl7xJgRPcF8tFKImS1RTB6n+14i+ghoNO8u+L2sfkcojkphj6KUkuve3DbVSgqMXUeNWcksU+3axjvwsKY2EeDBd4yJpfg0mIp8ThRB/t3Mvl3NTQ3dv9zAM0TRhUgcjb5HnB39M1xraKbcOudo0KQ4VURoXoho3vBSPA5RsFOrB6pdq9YxNd1hHEcC9kn6/QwPJZOP7a4OMcJz466sgjUdBMduLsvCkEwgLB56UDBSQ7Nlr3DcpmISvWOonJCKuCL8nGlFMSeFkytIwlw92BLr1eZIUWaeiVRE3bZKYfZUn6qWe1voXoCgqENewKBF3dSsavrceR4KVTUG2XWJHaIMbYtt16OzNByzxpAKCKLFSVXZPZGhM4yRRIcm4hkEs2C8WwBFg72SSeU6Dh1QMnrbIzCrB5leF8/PRggJOeammlC6Uplrmkzh4TzF08WQjgNJobAahjYsiTHy85DgvEfJ5NEVklQGOTMkjZeZxBfSkAIts/jfaGNbJY7TdMDZ2VkL/q3gpYoczzliXg6QcoA2iiV8hJwm6EGA7XsoAUze0VaN/Vakt1+aL07K48SwehylpEvRFIIpUVMrWHIkECLlu1VZcZ3wKKXhfWRUuODmCdBCIUmFwECJKhMIzrPswmOz3tCHrkgEFzH0A+6WBSkkpEDbusxZZs6H46QhEN7dMimaBgChTWOtFU1CSRIfgc3mBLe3d9RUKdHiWui1ViiFDpnVasTtzUyT50xyrumwx4OH50gp4+LBKQ77CVIZdMliv9/j7m4Lq89h+54lRureZFBivVnjmZJwkULdhRDoO5I1Jz7U+s7i7m6LkhNW44CHDx4gpUx5jMsCybEi9eC11kIoBW0MhmFAzz5swd7Skqlx0UrRtMkT9VArRdTJ/RbW9AjOc1i8gA+pTT3r1jeniNvrW1yeXxJIanYUwVMi+s4ylTAjhoyUXLs8q8RG1Hw5CRir2evEzSAAbSzR8vRRCin5l4jRQwjD/gnJ3qKaaUx/TokZOdNkr/DPTrKqRMOZ2vTJOqE9yrEACr4G/zt9v8HP/cy/g9W4gSjA8+fP4X3AX/hLf4lea5YiUzYcP+L8DKUqz+KsV8FeB8/NruTDGSBAVvV1Kj64MtMLZfUyFT545NG7WspRCVxl0ZRLXZqUveZAV6mUYeryr/zqv4/CwDjBHtMjTZNI0lILlk8K+JgovxgkCVXieKRV2dV9UrHkBp5IyfTnGK0IfpYSfuKXJiRRgCIoqByyWrgaxbSRLxkQQs9vpuEAN02yEECtIfcVxaWlUqmXBDMroG1+4gllTrmFwxNcUPAyggrOVDM3qyerwsQkDRC1MZD9iC/85M/irXd+gqVIJCmipl6014SyCTlvXGpcvPF22zbUrZPSGtcu4Z2vfg1v/8zPUkyBlFBcHP7yr/8aRBEY+h7jwzNc3dzgL/zar+Lk5JTVBakNFoDq6RZ4RQBv//RP01Sdp81f+YW/0H4fUjDwNon/HSEFPvfTl3jnp46+adFgOPRzl3tbEKVk+9xX73VpZGx6n37u1VeZhgy894Pv47/4u38P/8v/9f8Kq80JlJQ4f/gS/l//97+N589fYHNyitOzC8x+Qi4Lb39kI0WqQmqC6+cv0PHwzAfHcRoFAA2siI5byZLsoebXRisJZRU2mwGmI0iVuOcBLbkASnCO+QStelZMGWw2ZA0ZVyuchAQf3kcuESPPujfrDbSSePDgEjkD8+yQCxCRGUZUmhRecC6O47OnCHDOrIB3kYFRGYfDhCKBw36CDwljv2ob6O12i81mg5deeYy7/Y7Io4Vk6SIr3pZVGFSkTR8TPffTAesV0YZNR8MbkEIU87TAGIOh70li6ApvLRV6S3ddjCzfZDZEQeaIKs/sAWDoBxymqd2BiaFXux2RQksqWKYFISXYrkNOCbvDAdF7qkE6yoePKeKhfAgkyuu2g4VPDkpoDEOH3W7X7DT1PKgeRvqoUg1U0wK0JuuMQKE7X1KjH4JvSQXjOOL6+oY2pEIgeIJkOReIGC01kCNyyYgsza2qn8wbXWs0SV9T5nOZ6rMsyUsM5nNEvqPI8kNsBUBitVqTZDtnKGNIGZYSndHV78qe3GpRgxBcm+V7wwuCvdU7y3aW5L5MG6b4j9JkwZXWW1JBLHxnslw3MsxnHIkRUjNuhSgoiXLacyLKf2QLmihk6RAQiJGWIUwHpGahNiTinoe3egWVbcORGmVS824z+W4gMt1/iRu+mppCG7oMa3qSELOFLYXU7ENEAidpJvnwqeZtTW5J7SAsrLxLLNFFs9mRksyHACEFqebYv4lMSRxa0zNO8tLAlOwM5wCUiBAS2Y9Y6UgeddFgo0pJuOIhBXFGrLRt4VUKGkiWJLjH7WPiAXSMJGPNkaBRmet9rRVkIelvjglGKcQQMA4DbdKFZMtAZg89mjWp6zqOreLYJWtoC+ki51tbGsZrUryUzHxjVkzooYc1BMXSipZXEoYzfGkjraVm/2z1K8fmYZ09A9vqVp6J1MfhOtklUSSspX5qP+0wjENb1Ekhmt2InmD652KK2E8H8tmC4h9DdFDakHIhVRVBIbYD1wxEc9c0QJTA2fkpKhCaaPU8yGOwrfcULxfuEYlpwywaSyNlesa6vmsbaPJQm3Y/L8vyqcbUBxqSaaWIiZMC5pnqzK7r0Hc9ItvliCVU0P34C9sfv7Gt2z3JeaG1+KhNTD9YKC2wWg1UxErK1VJSYl7mhkgXQqAfB8yHA8kPcmLYRYGCoAlnoMukE+R5yXwh0sEgW7ao1ooAQ4HzGyvohxtFrXXL8qyrbTLED1iNAzqr4aYJOUTMy0Rh4j3p9CvVr4ZhG2vgvEffDbg4u8DN8xc0xcgFfnEQKOiGHoknRNF7Ih5mwC1Lw9tnNvTbe5CL2lAFllw4Rzr107N121gLRU2cKIT1joEavcXNKCVhXA8oksKXu84SUTEl2vzGhGE02O8MgncAw0AWbkRr/m0/DHDB8QVC07r1mqKHZrdQ0awVLs7PscwOQz/g4vwM19dbPkRo07zd3tH2mQcftOFMWGbaguYYmYBL7xFKhpEKc0xIIZJEhfVCVTJXt8wKdAnVmJ/MgAqKGaJ4pI3eUIOgDW+5Eko8bvUzrT7bYbRer2GNwX63RyoRKJTlViUvuQCpCAhJsviCTD5a1jC5QMRpCcpai8kDXEhlRtZbpUhixFAFrTT5y1i0Ilg4W0BUuuYpjnXgUtomY1kSvvzlr+GVl19FKcB2u8VuN+HBy6+RPLP+meLTxdSnlRyibTXAGYMVE98kVCCQk6ibMP6SvKmqOXLN39sozX/uBCr41PdqKKa2STs2IB3/7P+qryIKCncSogCqo/0owRtyixC5f5m0/xTHBp9/YKCQVmDiDRbsujK9oMCp4yURffK4i6Wz5P6rmQsi+2olQU55ky2b1CoLHqxpKoYyFIoQEBrQDEKqb00FoOBe41pAhE1a4VBuYj3vKAKNtlYuRfIh64EAFALs+wXLeEkdICTl89LrJZukuRSJyNT6kgT2kyO1QNG0uS4COXDyKMujlyWhFI2cBIrUCAxUySwtFDzhrMVk9d4KoZH5XC6FX4OcIKEZ6IEWgwUeuOQi/qX3txT2J1U/A1nauXM4wr8Eb1va64Zjc/z4ldfwK7/21zCsT3F6fgkB4NHjV4nHkBV++MMP8M4XPoeLi4e4fvERKy0KVusNxmHAYXcgQmlTEyQc5gOkBi4ensBYVurwVlwphRSZBlmqrz1itVqjHy19pqnSglvIGqK1R9f10FpTPnogCaqxZAXa77eYZ4/9/oCYQTmNSjZIyNgTG6Hve+z2e5QM3N7eYZknlAwET9JviDrwEwiJ7prIio4QWBaaIqQlOmwO5LcKnqSW1lry2GcCQ3kfOPde0Gcol1YQ5ULgSR8iSgbLo+kuloqymiup2TmPZXY4Oz1t77U2Bm7xbYvWdZb8chw9oZRE3xNQsrMdeRAjUfqvlusWK1PjgpSSGPqeGuEYyS8fAR8WPHv2jAZ0wWNztuYiEBiGDsvskEGRVhcX5yixYFwN+OSTT8gfro4DbsExRf3QIedIXIPEA7NcoJVEigHWaPjs+HNL26KUq1c60ABX0RAsxQytLVbrEyTe3gTPkB222eRcUGLGaugwjD3C3jPVP7bCt+972o5C0OakRqkkakQUyytToff7ZHNCylV+3xfv7sFFyTuaUsRar6E4+WBZXANgxkiedVNz4e+B/1rOZyGwVinkY5WU3wPP8MtcCrQ2fN8pyhQt9DqWRnai8y3HjGVaYLgJRKp8AhraRJea9DZGUiChAFJZjjA55sk7HwgI5wMUZ0ZLgAedx3hBay32h13zIUvejMcQKU0gEQTJKE1NSqDmXWhquO5vabXRDO4BR3slCMOD4JJRRIFSpnEgquIxs3Q/+UR1KEekkQIkwkd/9OOietHzscHkaD4p6XWLDAyiSCrPzZGiqCgBiFxrjGOTTRtrzkVWR6BV5AG14Y2wgUAUVPMWUaCYo3AEbKpmNZCSVBo0VJGU65yOqRL0OdRQSmDaLZBCt/iZyNA+yfc8xBEMKYSEFDh6rgEYaSB0xuLIvljzs2PKSHxTVZ96YmuKUqrxXUrzedNn21iNUiJyJNtdze6ugzCjSDrsGUo19B3zLAzXKOxTTvkYKcTS95rbTcO6HbquJ+Ujw09rTm0GRSxpYxmOWeBj4P6JlCq26zjdht5r2tbyALzQ+7hMM0nqjWElLSmLCg/ShmFALBEueu7fDCRL5oe+g/cBQmiM44i+t9jvaWHqvWf+h/pX1oV//uvHbmyVNpjmBYpSLWCsRXIOuz1NN0kiSYWI0STbE+wx8y5w7izJqzpjsHULvFuQY0S5R5cEF6w5RMSWfaiaNKDkDGkkIjJcIOJkKZEx5gnekSSCTNm0CheFtObBeVhtYbVBZyg0W0kNoy20pKnIkvyRzteIYhm9NtgfJtje4u7uji4CKTBYixA9SVWjQxYEL5qmiJQjjB0oy9EQdW5xAQVVDiMQnW8+UfiE/W6P9cmGJv05Y+gHhJio2A7V93aOJ08+4mlPQvAOwzBiPa5oWguQD0tJ9gKSrOf8fIP5MGOeDzwJOQIV3OKw2+1arMLQD/T/+4UufqmRQ4aSJPcNcQaExNnFBebF09ZAc5axtrBKIUqBzPdSCIHJ2hHrzYi8I3+E0ppy9mIiulw5SguFoIHJ9dUd1pt1o1IbbZssk6A6jZfLtEKe2gmBvhswLzNipImw0pIPfkUkQBcwTzOypsmnkBIikeQiigCl6HObYkLfkS88xEgQoYLmCa9xMqLQ1E+q6oFjyQ/LjoXWDFILDWAimFwoq2dSqTbsQSEiYGKJeubprO0GCEn019OLl7A+K1T3V1DSPWovH7f3e8tGCUZrDqjJowLnmPWGXIsL2eiTqNPoemVxN10KH9qFJGzl3je530iw6ZL/U9z737X1+HPW//t9LkcQCJBtoOXHchNawLCZ2nZL+al/mfzw/HM0RcjRx1xzcAULfurPBPadyOMP0X42Opvo8q3yb8XFVaP6cV4wUV6ZQg16j5QQ967/9pMSFOT+kKCw1J1m5fwalPa2lPpu8+eoiPpUkJqmNpO1KafC4AitqzTN4wfk+L1VqfJQ+pxKznWEPGZUAoWKzARQRnwFANYEcTrcU/TkrawfqSLu/4oUA1P/zAZGqx9uAv7wjhb5029F+zmO+Y/0bBaOhMvt/WeSavs+AITC2cUl/5kKRWRYo/HWG2/gh+99H1pJfPDB+/jyl7+IZb/FYdohhYQHn3mIYexRMuDDluKtCmCUwdlmTZRnjrEp7N9zy4IcE+o4wxgDzx4r2xkoZZCShxASLgTMc8BuO6EzBclK2EHh4uwB9vsFh2kmCGMICDEhlQlXz6/Jux8Trq6uMK4KlH4ZfW8hs0S/6tGvekipcHZxBmU0nj59gf10IGkl559qRUPOkgtioc2fgMK8RFglMLsAtV/gfM3AVnDzjAIBt0SgODx78Zz8tKDhLsWzAEXSeatZSeEc3WNpCkROTuRf9iEipsAyWIm+I8p0iBFFkAoqV2qsVG0rdlRHCZREwxPvK9CoxziOcG7BerOhrZXS7Y5KbDlYlgVFSGJU+AUlA+vNBv0wMIm/QGrZ7gIXHfkKeTD15OlTCClgO42C1OSgFBNDDAdjFbwPNCysDQSOskIhqclVUmFxS9t6rVYrbrDSPemrwDRNcG5B3/fYnJxgvzsAGRj7EbubLQbbwXSWNqlc1BYmxU7TjM3JCcmO1dFbqrWmAXEBSywFvCMImPMLUVNLhJTEBJmmiZoBpZAifTa3t1ve5PDvcc9KIAXLn1maOk2eByPkYy0CfBfz0Epk8lXzodG4FBxjFDiRogiBlHlIWfjMYE8jzUHIfy4KSSHb0IWJ7KlQwySUaM1vy0lHRswkbddWkxQZx9z2LARLTmkZpJRp4DLwhlcze4SWMRylx97RqmKq92Zd0KQYCQzJdUKiaxpK0kY1se8yBZJ/qyq3zbT1jDmSNFsWCOKiIquCEEixaLuOB9zc4IrSBvwlCwje3vV9/ym/cIV8CShWhlHjeQTEiRbDFWPAuBpaRnJLOJAKpUTIXCAL2fuUVNTU8p3VJPEt8YA2eiEEdKaDKDWykujEpRCM0i8BKRUIxZm2kDCKY2jANY1kKWGVqIva02goFBgtkLyAyKQK7Ye+bck1D5/BfnnyTGd0nW1JIuAtrOBEFMELm5wiwbLaUJaUW9ZahJBRAisrISAFAekoIYOgZ8nT66MlpW4sy9Kk5pFjOxPHLpZSwElaSKVgXqYGdQ0xcGyoRXCRMtk1NfWeewFSQWR03dgioYZhhF8WCCWgjGIPs6O6VvOQEbQIzD5BpAKpyPLinEPfEyRXKn2k65fKK6Hhptb/FhpbcLGc7yH9q/RL8BZNS4mQPLTq4QL58oZuwDiMNP1g0/Jhv+OHmUitMSSMq5FraQGrDKQhr1Hi6YeSdLAI9iJKSVMMa3tobRB8RIiJNwrkJQw+ojOGGkytkKLmAT6VRW7xLJM0WA0j7nY7opExLjuwLr+AYl5iuEI/9pimqU1hrNGwHcUJFc7GVcpiGHtM0wxwc97pDgUC87xA6cQXN09DtOHJJclNoCTWwxqKTfrL4tl/RVS6zlg4N0MqmvwYHhoYrdHbniIKKoSAYQhKESDi5GSN/d0Ozjl0Xd8OBYHcmhGS+FrOIuOiXGnE6LHMC1ImaIsPdEB2PW0QPve5z+FP/uRPGs03C4HEkT8kV5dYltBiebz3rZg+7Cd45+CdR9fT9FwbyVFNlH2MGr5dJ4klNT8hSoKxFrP3GNZrklSUgqHvKXtOJKI/ZnpPfSQf8aobkGLG5CbYjuFKUvH3IilgZrlOihE+0aUhtWxymjqFzExvM1pxbivHeIC2VeQJoSK+SntqOV+3D6KUNsE9ZpGRjwJ1AMSqgMIRPTFnzPNCtGw+kCWrGiioHceGhaeB+V6DV/MGj8XB0QoABoopRb7gkghZL2QdKlQ/imjFnMwV3lSpHBQLk3gaKXVtjCvTn95ngl5wHuX9KCVuFo+qjOMgOKcIowXD2qihVpoy4ErO5PvhjRW9H1TMVf+TlEQRrWePkCwR5Eikun1LOaPTTAtOkYmGpilXALB0hny3kmE4NOUurVELgWAOp6enSCg0VOEJuTUdOkPPRYiBsw/ZJ31vu1E9oQI1DiiznJJeG9t1mOYZUgmE4HBysoaUEre3t0363g89OquJ5hlp+4ba3DPVsEqRq1c4huovFnjppZdwOBxIvUPXA5aZhl0/+P4PMAwjcQcg2qaEe0wMnN+6LAfc7XZYrTbt+9E7zJFSLF+sHAajNV569AAoBdfXWxQpOej96KOt1OS29S8gP30BtDFkR+HigYZQFFewWa9xc32FTz76CG+/9TYSfx4ggPPzM0z7B3j+4hkOhxkffPA+Xn7pZSwfOuwPN/jo448hlcBPfPHL+OTZv4DRtAmRgqSk5JQtKAiwVsJaCSV7uGmmgiZI9Jbo+2dnJ1itaKi4381NcUEFuYBfEsJ8wEZsMI4SznmEELGwP1doknUvs4PmdIKT0xOCCqaI2+0txnFkqR/vwgs1XienKxr8pYK72x2CL3xO5DYUSDnR2R/poSm+IO8OzAWg95kk9sC8LIhpwdnFOcH3bIc8LbRnkMctqVYKLhJcxzu6U42hxlYZCaUVxe1x3IThrV6l1motkQ0NdKj+Fa0hK5EK2MQwm3IPmDXPM3JOGIaB8lCjR0GFQk2QUpL6CRI+0JDg0aNHKKLAdJTukENCb3salhpSGfiFAIH73QF6XnB2foqe5ckxerIl1Nc0JQYy0bZaaMXRMqnFQBneflfbFxXDgrMw1aeI1/U5WK1GinuKFk+ePMHJ+hQl0QCwCOIUxFjgQmyyQKMtn0cMQcwkY04+oJaUSkvEQP7jEJgWWzK8d/weBWjVIeXUSMuGz1+wT3d9soHmhiYzcIgffJQCuCU0yJNgWWXMGV0voaAQfICyPLwtVHRrYWjorSpTgWjWIR/5GTXnOJdCjWominBJNQaI7i1IkgErTa9t4XssZ9pyEciNt6mJbS1ScuYs3608eI3sC0djXBx9uLlS0kPiuDCGqUnJ9h7ZrBy1Qa33dM7075T6WWfopBaSPbfUNCtJnJKmvnChbQNLAUKOQKfRDR2E1Jimuf0MJXFUElOs6/C7bu7qVr7WjLS5pGaUbH9oykpjDJaF7IHeB471Ilo86qBWiAaUq/dacIFTEgoEE4bra1G/X61hfYgQCw8g6vFfa4emnpIIkeBaVnVQQiOFBKEF59qmZhVUvL3tbAejDYykOqbyfWJKiCXD6OMWlprDhZRbQqCkCK16XJyf4263h1sWbkhtiyMqheqoapmkez3B6AGIGUkUAuaiNJuIEhIJ1dIW2/sbY4DWa05KSBhHUsmenGxwmCZM8wRghFYKC2/ZpVZEO2YYmuD0kZKIH1PvX6kknw9ow5i6FwiRAVydQYieWRGVEC6xeIqGSyEhuICeN89FkHpRa4Ve9IhM0Q6efbtKIcbC369pt/61Xz92Y7vb7XB+dgYlBXY72lienp7i9PQUflmQEzV/RBUz2O0OVGTZDqdnp9jd7TjsWGO7vSMIC/umwF4KxXmHUlGBKlnClzJ501BDoWvIciyIPmC9OsE0cTOnJGSW7YGLTA221kJrQx+u4LC4BdpYOO/4TeNtXgFJxliKlzNRICmmKPKL7tslzk8PPZySAswXt2AYehgTkTNJgLz3JJHRCs4vKDBNfjK7GUabtl0K3sHaFb2ZDBiYJ5IcBx9xc32F3XYHYxgCNQwooEtwmg5HcpogSqTWGlodM+qG1QAIRw+o1pjnBbe3LzD0BlYbgugwor2z5E0F5/M65+BdwO4wo+8HKlT7Ae+99x7eeecdrNdrKv65kC8543DYYb1acyYgcDgcmK5NHomcqIns7ADvSJblnMNptyHv7zDAzQ5933EDGbjA5kkvU+SUVtCSGtrNZgPnltZ4Ct7Ai0hbGM2eKi0lFufRWZJlFIHWXKJkWNsTOMF5iAxk3qKFVDCMA+fgJhQokohoktLUz15rLvFp83udNgKCY5YERJVoKvDEmB5oDdWeg5ptTFM4anBvbq/wn/8//lMIEZFSgVZEkcwc+l6hNIWlMagHKv8s1fd434dKmYsKLz16DFEkPv74A0iVm+dBGd0AGBUeVe0KIoM90ZRRJzkzOpcCJQQePniA05MTPHn6HLvdAVIAX/jiF/DkySe4vb2F1sdLS1TpMBcG4J8/s8zI+YC/9td+A7//B3+E1994C7vtFh9++AFW2gIMOCjs9ZFKIvGfRaRCirPoux6KvWrKcLPgArQU2G5vYKwhX896hcevv4bd4Q5Ki6bcqIj7KjfSWjePfy02pRAw1sIYg2macHp6hp/+mZ/DixfPoZTC3fYOYfF4+uRp8yK74HF7c0O+c9CznHmS//nPfh7PX7yADyRRFSD66xe+8EX85E/9NG7urvHs+VN861vfwOZkjV/+5b+Eu7sdLi7O8fz5C9zd3mK/23E8hODNCJ2zUquWa/izP/vT+O//+e+Rjz1zY14yHjx4iC9+4QuAADbrFT75+BMUZFxePsAP332P4wrqV24qDCklvvrVryHNM/7km1/Hf/Pf/H/wi7/0F3E4HHB1dYWu63B2ctIKZyEE/tIv/2W88vKr+OTJh1hMwMMHl/jGd79OoA6m4dYc30rJFVLi4aNH2N/tsN/v4WLkCAy0z1IpGRIJq9Uav/brfxV/8kffhvfkb2vDJm6WX+f3PRwCPvn4KS7OLvDyy4+xOIpU01rh6fMn6IYeRkuUFJtgvbCCpOskTk9HrIYByAJuTwTk5CPUGjg5X2O9GTDNE7bbPeaZir5h6Cn/uhuQfCLaZQKubw+0WUbG7KgZMKCtuLIK3dBhteqxXvUw1iKkhJwD5aMaQxLHyBCnTJP/ywcEUTNW4PrFHfxCkCCq1QVT5wkoYqSG9wkLf/6NNri53SElyvk02mBeZiipsRo7SHHFHlIqmChbuzQ2R2UuUCFMf2mjITUTjTnaJ8bEU/4e3hOwxs2O7+gKrClYrdaYDxMy52bWZ1IpahaeP3+Bi8tL5Bzb3Xg/EqY23jHRMH61HklFNBItffa+xQlJKdH1RETtuw4yL3jx7Bp5XnBxcd5iylLJ0L09DpQz4F0karAPBPy5N6QJLNXMBSg8SPYhQAuLw25CZ1cN3ELnT4K1I4xRcI4a9/V6hRADpCQ72DQdUERBN9DW1naUIJFjZn9yaOwPlEKNn6cmsH6FEJBLQt/3OBz2DM+jrdviF2ijMN8dkKSAWQ2wxpC8ERR71PUd5sPE22BSjaRUEwbYRxiIlyLueTKP0WRExa1DymrvkhA01LHEdTHSUCRXZosNb+KJ8gqEmFGygJs9pKANWYqZC/PCkWWUySuF5p+DPa5JsEyX2AsJiQdmsv3M1Wp2TDpA4xyAGRy4N2RKiTK+tdGtfqjANNxjxlR5cf2cxkRe0sxyXbRou9IG1KV5QTOlG7BqxvaCIU3Hn7VF97Ua4nj95kQqKZ9JRZFKYlJ4hlJH+169/4ZhIMoxRxQaTR7PFGujUpcHJHen/GdSFGpDcVPEsqgqI47vuqdmqv/dWsuJAlQPDgxvy6ykaywVAFJmFFkQ6+CdBwYFAiJRrSJiYt9ugu07JB8wDCOc2yIXAo1au0EuCYOy0EpiHAZM09z878vsMK5WpAhJpAIoiSTjOUVYaxAzb1S1BiQlQiitMS0UwWasacMMLSWrLRVyYco2w5VCCNhut63hDRyxWdgfrxUzkaTENM/omy/2CNDNnKlbwVcxeoTgYbXGxIRxGsgGaGOAQtndndGUj1woTtW7gFQKKzBm6gP6kWLxYBj+l6CNJRhroc9WjLENPlIqCJ7y7esW/sf5+vGlyErhbrfD2ckafd+zr2+H8/NTWG4Kzs5GzMuEeZq5KaWp7TAMOD09wdOnz6FY7iMEHZrWWoApcbo39+SS5YhGr/6wew2bkgolFuzu9hxV0iEnB5lye3OspQZGcQyAUrZR3bZ33Kgrxc0n+d+6zsJa1TaMWtEldDhsUUpqua3IVY8vKGqiZPKS8AQmmohhIHqbguIoDs6Z5fzbeZ5ZFScwuwUp0maGPCgLOqVIRsuyk2V2bLQPQAF6Q/EDSmvM96ZhVWaja/6sUo3+VsPWx2FokxYAsIZkxMYYyi7lySK9DiSPijHAe8eaeqLxWdvh4cNHePrJE1xdXeH111/HRx/+qG3AUGiDuVoNLCHRCCFimmacjCOHV5N0s0pZgg/oOR5AQGA9rvDk6XPYlx7SVIyN9kLyVDbQIWG0ghK0SV+tRpau8XQt0NZJCckRXyQbSiE2GICSGtKw2DTypNTShSwTHX5C0LaBLofU4qQST7pIekwHeypHuVDJx6lm9d2kjHZR0t+jgjxxiH3OdOiVI6moTVpLbSiFgpTAk08+gDHhX6Iu3jv5qYFlil71MH36q8o9C1LxULLD/+K3fgsPL17C/+F//x/j/R/9GYwlOW0uucE06kZY8GfbKoNlno8AKY5vAc+AfuV/9Ev42ld/Af/oH/8z/Nd//+9DiYgwPcT26mPs7rYQgmRgFRZXs1yb4FzU7y2Rk8T3v/NtvHx5hn/vN34N733/Xfz2N/8IE4uHq5/GGIPT4QS27wG+BNbrNVIMuNttsXeOLzy63EP0GDsLLTPSkmGNwelqg9/41V/Bd777Hfz2b/+f8PzZcy4oqhwqc7FwzGD8lP67+W9oS/Fnf/Kn+K3f+p/jF3/pl/Cf/Mf/CX73d/5J8/xUcW/kBqni9XkNjqcvPiFPXpPXUgH2/o9+iH/4j/872k6HAOcm5Bzxo3ffxa/+6q/if/w//ffxd/7Lv4P/9p/+Dr3WzS9N09MsOXuPJUvf+vrXSblxL54qxojv4Tv4wZ/+Kf7m3/yb+Oxn38bv/u4/w/f/7PvYb++AFKrdkenUsk37lSR7BFnUE1LykEjwywElBciisBo0hLB49wc/wP4w4/HLL+PLX/4ygj9gOuzw8Cc+D6MKRIxMUwfFMJXMAyF6Rg67Gzy4vMA8baFEJsBY/cAKkIe1FOx3d3j+9Bl+8itfwu//iz9EKrUoO4qxrbV46zNv4Vt//C1IIfGtb/0xfukv/CJef+11fPCj9yClxNNnzwhumKuInQZGMXoIaBhtsFmvoaVAcBHr1YjoyX90frbGuOnZbkHFifeFoyckNus1VqsOs5iJ6xBJrqcUnSOpSvWiQogem5M1xbxoiWHoIKSgXHFkLN7BdB0pVzzF1dVmosKGbGehjIQtEiEWhJpRKMgaERPL90Rh0B7lRs6L43uSNuzjOOLm5rZJCDtrKaaGCfK0pSAJrDU1hzSg60ZYoxBTZAmn5KFKaXdaCIEtHgo5FbjkUAT9/7WYBmhjv16fkM92v+dnk2SJ634FiIKr6y36foAxkgdqhRUkaM/HMLBH7d6grXpd631H4B1JPI2c0XV9+xzUY5yksFRMUlOqjjLZxFBCQcOlnMk/BxoPUYamNMiBeBJ03yd0PUX7jeOKVSSxqTjOzs/w7JPnWDgLVBuL7e4Op+oU/TCwiiSTZ5pVRJJp/YqL6BA49xfHu0Owkqs2YhBM1Uahz4+cmhQ8g6I9RBFwgTMsc0bOEUrSUL9k2f7slKsCIEMbQ1E0kWCcSiqONKTnvW40pSC1gRSkbNOKlE850nlbOQVEXJXNG0lefG60FOXJK0XQLiESv3XsBy1oSqvMsUeC/cE1mgWRrHou+E/xIipgqtYIVVpaeDOutAKkoui1dGzc+r5HCJRTXWuHugTx3hMItBKPQUOjStk+NqV8l1pDsTmsiJKK6g7nIzzHtNT65ajqKOwJrQ22ZFk9yYoFpxjMy4EtKOpTC6ja1FcuCqmgFEP3qG5ISAQzjFWJwTGeypAigzeEstZeTFEHw15rU1rVS6IOlVt8FkG4lKre+4KYMyZ3wNB11ETOM5PTOS1DSxSGNoKJwD4ECHXMEw6eqM0C1AjnSDA2ow2f3XQP7O92kFJiNa5QEqmRvCOVg1YaS4h8phJAT/MAi8jhdC5RpjOguOmsg1wpFfbTjM1mA2MMy941um5AigmueBRHUV1KKoTgKW/XWlhrMU8LhARUybC2o6EhqznBaixKw9AYmM/jPdUEwXkkQcpbKZhiUwp7hUtjR5A1i16T9WpFC6B7nxGlBPzssb2b6BzWFvM8QbMFLgQP/29Dijx0ZO4lIu+qQTByzLCmg5sP1NVbTWH0kSfW/MBt1ms8fPgAu90eMSb0neVCHbDa4nA4AB1RMEl7TtTEVCJEJklXluzHEuAiJSPEhBfX13j48CWsTYd8u8U8Oxymibww6w5SFOwPd/Bhi77rgUKe0nleCPfOl1RnCcKhNEtXskA3EExq7FfYHw7IiDAa2O8XKE0+Nm0UUhI0DZQkn9nv97TB1gad4u0Wgw50Z9FpA9HRqTgvVFSXrNqU1DkPNVggAyFFdH2HmDIePnwI5x3h7FnqGjLDs7JoF343dBTarNCaQMqqpUMBki4BJQsEItargTfFdJlICRip2LNXKPooZuQSIYTGahwghcD11Q3e+szbeP7sBb7/g3fx5ptvQCmgMxIhegTn0WnLniImqkqFGCJySjx19xAlQ4kCkSP5g/sR2R8zXXNOEKowxbc0f6pSGgqAlBraSFD8JpFuvU+Y3ELebqshwAQ29kd3xmDaH5hCW2AtXbAxJoRMsqmYd6QCYKlxacHjBc57aFlzGI/buRqMXv2BtZiul3bmTaThzOTqF27+x5QbsOPYzJTmlQFvc0uFpygNYzRynuGja3LlIstx8i5YusySE1n+5QjrGj+QUkYqBUrShWGswTB0KCWyhyZDcvQCQUZIylKSwE/9zNfw137lr+Nv/fb/Di9ePCGQQw4kOy4EGhCqg9AD5bAlB4GIziggBSAvyIKkvigRAhZGW/YrJ5QsiG7JBFdA4Vvf/GN85Wd+jnxyxkIZg9OTDfpuaNPu4BacnG3w7Mkn2N3doTMK5xdnsFpApISTXpP8T5Iv5LAcsN89xenmlOKf9pEuKwh0SuPRxQUO2y1ub+fWrGaGOCUA8R7UqBU2VVbNZ/7+dgslBNwy4/ErL+Ph+Rk++vgj+ETKAXzKHyzJe8qGbbc4WuM0ySwd+t4F+AWsgkiNFt1pg0cPHsA7h9deexXvfP6z+PrX/4igH+1bSGRJmwjB0uHA3j95T+pYmB77ubfexnq9IRK31ijR01S8sMwc4IgNuuALk+iREoyWUCLjpUcPsT/scbu9hTUW2mg8e/6C4lCMQSlMXVUGUnVYlhsobdAPFrvgGwQOQqBasZp3znkorWjjnunMSJwheHJy0n6fw/6Ab3zjm/jNv/Eb+Na3v0skU3F832qRdH56hlcevoyPPv4IWkp890++i7c/9xYuzh7g7u4GYfGQmkrZzpIKYHEOUhhIoaCEgCrspc8Rthe4fLQm+FMv2fYQoa3CMA5wYYEdzwCpEIoiCSg3QMuBQB1dr6A0Sei7nl4XKTr0I32ejVKU07hwcQkiwU8sgU8pIviAk/UJUkzIqWCOB8QYsV6vkbPANHsU7xHdhNQka9yooKAfupYL65hum1LGfprJCpIyDtOhFa13t1soQ/EchoEllEbQYV5maNPTmVnz3sEFkBZQVmJZqHDTnW5kdbAUT5SCzmooSQWgMR2Mtdje3eDRw0eUdy6A/bTH2dkppJTYHfa0cUqBvGsMgaPPh8TN7RXOL87b0LC0ATFpZ3NkS0USSJGGDTwq4oxG2jwIodAZxfLL6jHXJN10gWWQon3qcia/dY0BCj7CB5KYBx8JXJQSdrs7dL7DMAzw3rVoPvr5EvpO4+R0A4hCsBok2OEMBYkUMyy3VJyt6RaHcVxxXIhCkZGyahXatlAyQCklkjEDQFbEI4mBeCdkh6m/jeBnipQtISWO8aDzWUvKSCeLFm2gQqyyUIoJKilyNB8xQ0oRFHUnFeLiITOgrW6b3WHoeEtOnseSyT9ZkkR0gWnZBctMikNRBCk2CmjAyTJXqg/zceML1ZgE4h5okmBwuTXNyJkBqgJKalahhMY3QGt2CylkcuRsU1q0dNa2XM/qoUaNhdICXd9DpUiD/GFEyQJGkg2AQDzHrXHmmkIqUk/VWL4cM5LkproUiuDh9yDzcL/vLbquQ/AMiy2Ua9t1RCC3paMaJgGpRGhFUm9qyghqVyXVwDHyqMIsMnu8c8roOMqnDlZ9WBCTbBtozc22rykmRbStcoVS3X9tYyBKdxFHxofhAZoPEUoByzzhECP8QkBUYzSk0rz8yARNAyA63Sx+1mpkkaCVwMm4wiwEICl20qcEyeClkgqkoppPQWC9WgElY3FzGyAKRekLKYRGZjeK7Z2gSy2XRHR4I1kaT9CsSlePkSwNgXPLZ+egDcmIU1qgrcE4DKROyQRes7pv+ddKKYRIW/VUEtHGOQGh8GeiDuzr65tiREwJpqNoUq0tv88KMWYeFiV4F/h1N4g5c9ki4CP5j6l/IpBqCQH9ZoMUPHJMsN0An4l5IP48e+X/z9eP3dhS/hu9gN45dNZCCol5XmA2G5yenkEbBWtpclglPJWKOc8TTk9P6U3wnuUndapSeCJCFMA64S+QyIlQ4LLlyEmE7JkuKmGLQCwC+3mPz37ms9BS4nBYWJpGUx1mO/CWiR6gUGhruBl7aKXRWbTIjBqtQ1CfzJmaGlKtcHWzZeN6zRRLgNBtQ1qqtzIEzPOMYVxBa5L8IlNRmEKE7Hv0HdEHF+fZZ0FDAMkTRYCIgiEGwAOHxeGt0xO89OgSH33yAZz3DKVRHKJNF0WNNJGSjP8QlSZITXPKZEw3lqZmzs3cJFJ+bEKGUUQVKOwDyUXAWIF+7OBcgWVM/83tHT768CNobSjkPgYaYGyvYI1A1BIJBsEH2M7AdhYoHkpI7Hd7nHckNfHOIQWH1dgjJxo8dJ1pD6zW1DwqRR6SwqTVFFOb0trOQAiFEImESRlglppgHl5orbAsAUho0nelFPqhg7EG07SwvDTDmO44VRYZtrO0ocuSCXQV3sNyqXqFi/qftOluvliW2UU+5BV7Y3IBNJNyq3+FhpnsW22SKGoYZC26eRNMciQFHwqUBk+7dZNbkgxNIrPfNbGcUCl9b3DAmbmFEUmFttz0VdqEnrTBGQD9ezQ9ZK9uFtje7hC8wJe+8DP4R0//Psvq6DVEUShFIWaBIlTz3xpDXsDLy0sIEZBzIJK64nieDMyL5+w0wZ9zBSkp63ZcWazXGwCUj/fqq6+22Izp7gaH3RajEni6fQYRI6yfsRpPcLFWEIIIr1olREQ4N9F0fJqQlgW7UnC73cJ0Ays3DthsNgjBt2m4YO+0Zi9VLXzrZws4nj/gTTsh8Wlott1u8dJLj9D3PdbrFU7Pz/H8xQtqBGV93+8VvCDJpltmVjaIe58Pep9EFvzsRAQP3kJH3O122JyckKel71jeTtCfhIIkBJAzEksXlSI/j+YBQUHF/YMhNrTdNUbzcEoQWA2FFA7IENC8pSCvei6kyJACOD87xWGayENXCZZSoQhg3KzhAsGQYwY+984Xsbu9xH5/wOWjB7jbbfklqdgoPt9ZvggILAsNYim4njZZ1lrM89yGtF/5yS/jD/7gD/Gtb30bv/RLv8hD04J7vW0D7b35xps4HPaY5gm3t7f40Qcf4eWXHsDNDi7M5KcVGZeXj/D41VdxdXWF5CM+/OADtltYlEzAIKl7vkvAG6tM9wkKTk9PcHu34PnVLTan5zBW0wYyMYQsFZQcYTtqdFfrHueXJ4iRt+KywOfUnn0AWK9X8MsBznnEkjEMPUNq6C6m4VGE0hJCGAyDRcwFRUnIaHB7uENicihJQSMNEXlLrY2G846z3COmac/05ITzizM8f/GsUS5jpAa+Apiq91Brw9YNht4pIvpWH2ER1OwZYzEMIxa/YJ7c0Xub2E+IDO9nqG5EDHT3fPjJx9isTpslqB9IvTHPM8bVCCMlOquRi8Dd3Z4lpwVdP0B3poHbEueeCwiOAQFDVwQUFFzwSIGoy4027AKkOsrsPMNkSs6I4Xi+astZkJFgMpnrESUUfPYMz+ohQe/Tfr9j+4PCMPTY73f87BWOVKOaqe/pHlRNwkpZp1IKOLdASwWwrSiE2Oi9MaYmp1WQ3NhyoS4JegMQ+EsoHP2mHLlCrAZqBCvnIEay1CCBUht4M14zTwsDlCp8yDvfbAz02QRvyYhLIJXEftpT7Ng4UO3JyjVUZkRJFOGmKG5v8UTRrryJyCyMHKkZzZG2h6Qa5G0nbxuBoywWopAcE3SeexeRQ26y4KLJ1qa1hgElIZRSWGobmpS4MhiUVi0P9r4MuXpaUVVhSsB0BnFmEBTPwEOM9+6B+9ai41kmK8Syxi7y1hj3eBv3fcBUf8e27V4mB6MNuqFGRh7rHbIRJbaDUFMdeLtef08aqPHPV2oDyhJow5a8miXLbImaaBH5c1fY70/2Lt4oC8nSYJIjIwK+ALoUZJHbs1hVczJl+pxLsuAYo6EVQVDrmdhguAygqgo8rTXLlOnu76zBbpoRQiQIYCS2jVUaSwgNapZSxKOHD/DJ00+afzxXm46QZPVgMCL4v6cUGc5WOMqJfpfOdphnyoJ99OglOOdJoq4qS4j6NmMMRZKyGodinIh0L4No73kpwG63R98Tj0FA8TMi6Wfk1+0YNZVJqQE0y0Q/9JQycZhxOCyIMeDkZNOexcgDwRATnA9Q2sD2BmEJSCFivV5RhjiAoe8hQBvtbrCfAp7+675+/BzbQn7PzlKuUwyFPSgBd7s7YLNG129QiqAJDUfhCEUbrMePH2O7vYO1GiG4NinIDGMhfXiEtVR4hBggWGpXQQ1uDuh6Q9p3zoyrGaw5JTx9+gyf/9w7JEf6IRVmKUa4EMkzWyS0tk3GknOGjxGrsYPQdIiX7KlRZHBTjAElS8TkAEgYLVByJKkAN2t8BLARnIKwJV8URkhcnJ7hxfMXdIgoeuC997CdxnzYI6WEk5M1YqCC2IVEsphCB6n3HssS4ZzHxx89wc/+9E+Sb8b5dnHESNNzqSlIfL6bsVqPDCmSrJVPjQypegJwlJTRdR1PooCSCbGtNW9n+LKtQISx71CSh1+oAQtuwYvnz/HSSy9j6Hu4ecHDs0e4u3lBg4fOwHQDFhexLBO0VcSfEwWxBDx/cYXLiwvM7gDNzaEUJBtJmn7/EiM6bVF8hu4VUiG4jFEGRWQ2q2dETxKonBLc7IAMDHaAc0QgLaVQHMM9cMXAlMacM3a7HW0teIJcPa+ilroZkOyTTQ1exPlp3IRqTV5bhSqVpWGG4KB7MyhooZAFe2EyZS83/whPKgWOEp5KsCyFPpMliTYJLwzYqHmx5K2l8ivnirsHX6aBBzbsUUVmifwxcDxXWqSSEEVz/jSpAwSONElq4DLLxSssDHj29An+o//of4O333oTukiIRP88xRdEaE3yGNo4FxhpMdgOsihMhwXznBBiQogKOVWfkKccX85O7IcRXTfg9OISRgpM044iYnICosd09RSjErDGYOgKToXByXrAdNjj5nqHoj209NhtnxGULiUkQ8MhkTJkBHpl0a0tlujQdx3GcQUlC9zisTk9w2Zzgp/6qa9AaYWuH3Fxcdlk6QUF29stttstLi4uMAwDpJK4vb7GP/gH/wBvvvYGnPPYHxbcbe/a9nCz2eDNz7yBfhzx0ssvA/eygeklPzKgb29v8MmTj/GlL33pz8nK6fLxy4L/6u/913jt8etwi4f3Cd6RbK2zFl3f4a/8lb+C3f6Ax68+xmq9QUaBkLTRub56inme8erj1xhK1+E73/kOvv71r+ONNz6Dp0+eU6ZzKUACtNEkxYZsPm607Nx8ZBJkKt6kIklry5atxYZSnKvHucWqZkcCpydrlDThRx98gM985i388N13P8UTINhKHbJkFEGv+SuvvIK77Q5aacxpJsKs1ui7Dn3XobOUUfrH3/5jPHrlZVLTFC7SVc3GzciZJMmf/9w7+MY3voGhG/Dhhx+i7y0+/4WfwHe+++3Gjjg/e4B/52t/FVfXW1gr8f/8v/02UFTzklpjESioGEUkpEzbt5ActOlwcrqC/uQKh6s95iUihAsM4wq2kxApQIaFWACKztiLy1NcX19DSIXVagVRMnwkldA4DARPZHmjsQZKVp+6IuKvC5QwkIiKnsHSvpSRo8dgO5ydrGGUxDgOtA0TCaXIJpGs1qGUcttoppRwe3uD84szvPLKK/jk2TNY06HvB1gr4VyA9xHL4lEyRfvtDztoDYxygKpb2xzpfJUUBeemGSIVhBQhONKHpJ1U6CaG9mRkpOggtILQwEcffYwHDx+gH0YasiCRCqKAPaI1QoReL60llOnIr2osnfdGNfCQlgqL94ghAUnCh4h5ntB3IzrbY5lnHA4HLiopiq/re4zjCiEsnDF93O56T5nCJNknabNUROgW7EaYnUNMGacXp5h2EyQEMyMiNw+5xZlAkFUp54zpsNDnvevhQXEgduhRUOCWhdMhiLhK2beZ2BIAVquhDZFzKfCOGqgoUxWLIFcSsayUe5ZxZgLa+eCb97Q1UYX+/Zg8tAaE5AKah/W1ESo1D74kWGvhPFGfpaZ/rrOmnRlaKiAWILL9J9G5RnNUqvgVDwJJhi95oEf/bMyVb8E+aGZQSNFC3Np5lkvBcnB0pgkJqy0mNyPnwD7hDGup0Uglcx5zamDFKs8lGbhsW7HCNrD6WlVYUmGQYC50FwUfmcaeCSLGss+2UaapSEsakEZSbqsQEIo8w6lkGKshjcDiFhxlfoWHZAwKlcehrRBE9c25+kQ79NagAHA8VKj/bM1bt3yuKo7OSSG216C3tiWbWG2oQc8ZUtN9Fzz5RY3RsNpABoUQmUHDSzLwuVoS1bUxHVkndamlGcqlFJHIUwjQSmG1XpPsncFRQvGAN0cobXnAJFqtWCNHc86YpgXGSEzzQlaYDAhJ/6msxuwIRKcBTG5ByLT0gyCwrPceStPQxvkAJQWc89isV5TZnAnaRgiv1OyIRmv+bGloKXBIoS0RBKv1SKWZMIwjpFSYGYqXM2WQj+MA52hQIQB457Ee1xAMOE0lUawXIqzS1CsIcaRSlwKpDYYB/HtoSE1xP8T7yShl3YYz8zSh74hIn5l/VIcbFP1Jr6kEKRpJpZdgdddAY/9GG9v1etUogkqxD1CSVCfGiNvtFlprnJ+ecAg7/4tCwNoOjx6+gru7fSM13u3uPuUBrJtUMi7zwcfNVOL8tLYNiSRFlooPQUvF5G6/xXe/9x28/PIrmJcJNzfXyLlgmmYobaC15Q1aIvoGa/1jTAgpkASB3/RajNcDwnsHFIWu6xopdpv2dPnfm4bVaVfXGaSQKSbGdliNI7bbG0jeJIrqC5MkYZ5nh5PNJf09ZdrGlki3dGGGkPDi6hrXV1ucnVzi+fOnAEcwGE0B6XWyWf2pUlF+V90+LwtFFlRiYWcsTZ8YvFVjQTST3oIL5OnJCVpbWENaeWSP3X6P9Tji9voan337s9isVuzflLypChgGA2kkxvUpbrcC3i1NPmKNwf5uwi2uoZVGP/R48eIF1quThvYWQmDoB8pFZKmU6CRBv7h4stZgd7djnyG9nzkV9F2P6TCRrNpYLPMMHz36oT/KyXhLCskGqFKgFflcUoUQsMyoUopJSkTSQM0bq1QIfkB0wjp1I1mTbDO4CkpjUqPSTPg+eouO36M02FSpXnT2qgYOr6+vTw0pJyJvbttjKkzZw8Jwicg+k6P8ud4J9J7IlplKm+g6ne66jkJb7k1SUb07ghoAnwt+8stfQZwj/uJf+ov4W//H/y1t3dMCZTsUYSDkve2QIHndIZLUdJ5mzAcPCAWtLb78k1/CN7/1x+j6EScnJ9hsNjg9PcHiF1xdXeP5048wWA037XFxdsZ5x8DZZsTpqEnaiQiUASUk2rZrCW16RFGQo0dN1FmiZy8ISayQyTdWJrI/UFbfjHG1QlYSJ2en+Nzbb+LlV17Cs+fXeOmlV2gN0miMwLLMEEJiGHpYa/D0k4/xzW98Hbe3N/i5n/kqfve//z0Ya7Ber+lZCwF/+Zf/MvbzhFceP6ai7d7WQRRubAXJvJ48/QSvv/56PWYb3v/8/Bw3V8/wja9/E8+fPsfXvvY1vPuDHwGgzObdbofVao2f//mv0RASGeuTDf3coG3f5z/7GWy3WwzDCGsM+s5AG4E/+/73sF6vkB6SFURyXNG8zDxsku1zyVrSNnWvec2oqVGKzqmS7tNCjz7i+snkV5ShXxJPnzzBF774NhEoQ/wULVFy5BxKvSsSUowYhhHADKs1vvpzP4df+bX/Ced+kjT06ZOneO+9d/E7v/PP8O/+yq/zM4sGaaFnkgrsvu/xzjvv4Dvf/ROsVit8/wc/wONXH+PRo5fxyScfccNo8PLLr8J7g/XaQMqemm2GyDnvKSOQx2ZgL5NUEp018N63AtKHgN3ugOubPYbB4uGDM/SbNbRIGDuFl166RMoe2+0OXd/zsDMzNIaHWt4jJ8UEz+rJzhw3Vrdjgov5uqUiNsMwdNDG4vRkg6Hr0NsOZ+cn8NMWIWWkRNCb+n7FUM83xSAahWma8Nbbn8F3/+zPOOVAo+sslpliHfa7A2ZFXi9t+bzNgI8M8+J7SbAc1mpNlhreeup736swOVYIAVcHd4rUHB9Pz3F4/4d4+7NvIeeM292WrFXMNSCpKvhnpw0CJLD4hdVZaIOaHDOCo/NeFALfULHPNG4fuEHm+EFl0PU9KwoknelsoKezh4ZDIfE9Xgn6nGsv2PQtlYQoBeNqxOFux8OuQpu1RqmtxOUEwOD6+hrjcEobKiUBSUNSajwLZreHdx7CgM+XACtJZVaTIRJvgCgihs7akgoSA2zquVfvsmEkBVkKCXqkQb8U/HtnwCc6c7Wh2kRpBec5cUMIBmoyjdgYkl4W2vxZY6hB4lQAq0mCK9i7KEXNrKUNX4WPinsAwsJ+fGKRGMz7+Uh7ZVuJkMfMWpRar2Wuf8k2t7gZwzBwsV/ubVZpOG0M7tHrwR5Sg/tr1OpTrkRczfVGbR5qU9W4M+yxrDL+GInaLXloDZZ7Elybt79KNBVOSql9liqMMSVStpnOYvGeoaPqHgOkMHAxQatj60C1Gdr5Vpv1xHFjohwbIfB7Kzk1Q7CSTkkNZUnNRoDMgizpZ64QTKA0GX9ilYJWunEpKKay/xRfpOs6zPPM4FqDBLK/Rd5sq+pVDh6dNbSsKBlKqAYwSznB8Gay+Z6HAdv9RMT9lKAt2bISq+u01OCPYGMJpEwgvphTIzzftzVQCgFZMP0S22et6zokQc1wfU/22z2C9xCSEhYOhz0WN6MkapadI8uCMZqGzmxXrAuOOnBeluVoVcsFp6dnGPoBOSVMhzvqdwq9B8pq7nFKGyTWBWDXWfhlJrVJoiXf+fkZLVP4vkMlWktSaA79QJt0HqZqI9GZHjGQXZDuZuqVqgLkx/36sRtbCcBqRfluHFQYnINkQFHOGYdpgrEG0hhoaxAjSRsP04KPP36KVx+/ge997zssdRQkN+07MkSrqrfPWBbfHmCiinkmrtJ2vkDQA8Nm7r6sGF6Q4NyE9977AbzzRE1ODi4sWHWGtPUiohsMoi/QSmCaDyxjpGk/bYZKo6TVJoBe7ABjBygtYayAlKWBipSW6AtNOrVIUJ1AlBLRJ2y3N3j46AH2h23DVtOhx7CIIlBiwDzdQZkOfvFYrTZ0WcbEeO2ClIEQMnb7GcaQh1ZIgSIyBVkXic4qhECHrhT0fZaQoAQdwhTLQJLSjinIKfKElb2bxmgoRd+TMvoSUAIfAhTDs9kYhKApeHw/Yd4fcLrZ4O5uCymAcdXjMM3QRkHKApE9ZImIywQhBKyxWK8GlJLhZofVGZGdre0hNU3xYkncfAvozsCngCwEpDaQKQCCZbQQKJLQ/LKQD8kFhdOzM0BkhOBQZEYUEVnkRvA7zHOLKzCC4FVoFwlNyUgRQsCEkGiSlO5RU0niTY0dmHwpOYsWHJOSeQJYULC4BVLS4Z9CQAx0QMsCREEqh8CXDgeyIsUMC0W7sALEJUGwrFxyHmJJtEZOyVOUAcdupBQhChXQdhgIV68kwEHsiiNrwBNNFELr55IJTMZkRaM0tDAQCEAhmR24AKSmW2DOEW88fhNf++ov4Omzp1gN5+xlkYg5MeSmUN6tkOi6gUAUQqC3AwZ0WIqCg0SKAlr3+Ozb7wDswxqswc3TD7FeGWB6isuzc/S9QehGDD3/POyFdi6hlIjFL4DIiM5TWLjUmJYFxUWmJloGgQW63GOGmMj+YKyhAHrbwceMXitIaxBKwvXdLWb3CoxdYb3JENIS5VUUyv4VAlp13MQRlO6LX/g8/mf/4X+A29strq9veVrNtgMhKC7EaFx/fIOHL7+EXvdt2IKW90hbG5Ukb1gMTaNLzUoGwuwxmBG//qu/iu//6Q/QdT1ubq5RQNN8ajSpibVjT7AjLnDuD1iE1BBKI0Ngtdngi196B78ZfgMXly/h7/ydv0fPkiyAEkSKvxexkzPueew+XaClkGBGy2Rqikqjotc0GBpaHAa9pllw5IQUuNvvoY3F+mSD2+stU3tr41xFawWiULbq82dXePz6a3j3+z+AFhr/xX/+/8a3v/ltZAh85u23cXe3xf7uDlKqFq1WY6dETS+uMSG8ij47O8Orr76Gd3/4A1hp8Ed/8If44k98EeN4gru7W4qX4Tga6i/JpqKFgU+OZLyZvMBakwLFhcTeYKLOC83QnUwWGecC9vsdnFtwulnj7OQEox4h7Qn2d0/gk0dZqIgcVz1yDtBaQuaEFANEVoAme0XisxOC4rtSzNjud1As/apSvArGAdtz+t6iMwqr3kBFhU5oJKaghkj3jZACklzZKEVgHFeIIeCDD96H1RZGBYqQyQNklgjeIUWPB5cv0ebCVFhLbtA0qYh+jwT2eINzzI9RYClGQFuKQFGGIIchEojPR9hVj/MHZzjsD8iJfIhudlgNI7/OGRIGpVCaQbVIxJxQlgVdZznuhtRgIYNiiiJ5IyEB03eAUhBSQ1tLtq2uhzYCCQHG0B0agqNoHE3NjFBALp59+iyrlxqqkLfYO5bOintNpaTC3SjyoO4PB6w3JzQsYjl/SkCMZBuY55lSDzqNohM6a2kLriSs7TDPCw7zhN72yCHCZZIfg0n/IXocphkXl+cc1SaRGALWWQPnF+I3RM6MVoCxGtN0wOxI+p1zQWYVWcmJuA9CQVsNJSQmT7ULd0DcgBOsSEgFLQwNmmvkSSJuScm08Q4+QJbqGZbIhSKCcgw0fDFkwaFII6YM8xBfG4PJBc6xLsiRfK51SFMHEMcmPlGToEVTPlEDSIMiw5GGuZ5/3OxJ1Igg0TJ1UQSiLxA5MHCO3p/qGa2NZYUjESyLTrwcExY38z0M2u5zZnpmjbLVlp5z/vwUzpqXHJVYQBvfUoAyeWghII26p/Srg8fC0VAGLgaqc4xgLkk6bjwbHAtYJoehJ1CoFAJF0QJCVmBdhVEW2i9E549RhIEyvETK0AACD7FiZPK6YcJ45cwwRV5JkDUuJDrHW9Ti8TWvv1vdvJbM93dNsCgKxnZEg08JU17I1hIzetWRgk9QAxtDIuCbpLOUGCeAC54sbPwZLSXjsD9A85CWmt0jgVgJ2WIRF86FlYr4OURGB2LMSIWaPWsMfEjEkIgFwZNycz2MFFHITfyyeBiTcX5+iu12ixg9jNXQWmOeHCmdeHjrvcc4DKzWY/91Qosbwz3rGQ18qQ/TWpM1IZPCrO97WhRYgxAcYnCwDP6LKUAqixQiQValQEaG5KGZEpoWH8mjH7pG9v433th677hYI8mFMDRZKpmIaLW53e8PsNagHwbMs2NTcsSTp09weXmBUoC7uzusxrFlg0kl0PUdUlK8nU3tAHHeoy52qzfH8PcrKZI/IxcIDpDPGRQvsFpBriSurq9wenaCnAuGoaMXVggsJXKguMQyz+3Dp2SNRaEtcZ2agH0REKblM202axx2dwQQMoo8pSlBCPL/ilKgIAiHD4qg2e3uWKxX+KGiCVbfWfqewcP5Gaenp1iv1pSLd7elQ0FRw/f8+XO4eeEoHwXb02Q969w+AJqLygwKQEYJEIXkLSPHFdSDgEBfhRr+4LiZP8rJ6H9zaHz0iEGgFKJHFyEhxIDnzz8m78q8w93dFkIAXWdQEOF9IJCWiLCaHhBjDVJOsJ2EUWPLq1U8HY45wUfCvqcioTMIqCU9tCTirLE0DU+JfNClFolaYponnF9eMMnZQ2qJYezhHHs/IjVvQgoiXweattWHNpfMdEHG15dMsSssQTLWoOsIalQ3lyXxxlOxR6TGUwmgxAwtFYM5+ka1KzlDFN2Q/zFF9tWixe9AkUweKWMcVhAitOeyyqmMNpgPGUUmJnZSdE2p8RUs1ycWbIZmyV3dhNQIHMGHvtF0aYB9KEpK8l0LisbajGucnp7jC1/8EpAEvv3NbyDHA/7oD/4HvP3ZL+C//e/+IW5uD7xJUUg1R5BVGCj0nNaf7cmf/gC//PgS3779BN8rFkIqfPN/+CZW6zV22zuYTuPzn30DY6cg4bBeaXz+869jmhyU7mn6C4oIOkwHFA1M0x7TckBBxjLPHLnTw4UAHwMF0YvClHHazJPqgV75w7LAdh3HHgBjLhBaIYeI27s7IiTWjMIGCUO7QIWQbeoeY8TOHaCUxBtvvIHd3eFT1ErFdHOpJC4fPmh+vuqVafJv/nwSjfQ4RZaCgE+lZCzzglIitFL48le+go8//pi8loKaDcUEWwjy/kd3zIEV97YuaPRTosrf3j7F+fkpxnG4B3qlYsDdg3bwn8I/m2yDotbYNhriUZmzXq+bv1Lw4KcWapCChzUJ87LAeYfdbo/XXn8DdzffPm51haj4taMUNZN863A4wFiL/d0eUgj88IfvokjgB+9/H9PhgNcfv4HVek0Fco3KKBSxRXUnDX/qtk4IgdffeAPXN9c4HPYI3uG9997Da7xBTykil4TDtMM4bKCUwsNHl3j68S1SDsxEkBxxkxF8IOkfx5AMQ4+zc4kPP9lSpA/75VNK8D7i6nqL/X7G4eICDgIhBQSzBkLgDEwFIGG9GlFKxtBRhNK0zNSk5LoZofdlmmcc9hPOTs7uEUkJRBhThgseLZ0DGUoCfWeh+x5LIICND0e4Hm1scsuOtJYI/qvVCvPiME0HWKOw2+5wNx2wGkds1iNCDASE4u1g+465GZ2bDSIyiIdYCTTk885BKAmjOxwOE0KI6PseuaYslIR+HAiaJi20qhEuTPDW1IDknDEMAxVyUjSmA0CkfK0VpEooi2PGFZ3DUBrdMMDNvgHlSLqnYZRkwmtuBPXqPazPR1XRHLd2vLUNEUM/IPH2vQjyq1ljWo5lyRnb7R1WqxVF39SmJAPjuMJuO7EUXcNnfm0LR60IiXEY7w12wPWPZEWTbPesj+SbJvahwDwtLe6IRkEUmaaEgDEExyG+HUmrCxNmaWsJ5qAoSE3exZSZ0M6SRK2P1iGSYcZ7nzFW3rGfuPIG+o59lkxIJ3muYGVBhsgCfddhN+9hpG1+QaU0YvAtoouUUal5LOs2sm7alFIcE1k+TS3mYaXkvFN575ko9wBKpX0OmEUhjznt5Z6n8X5NXIdOKJSd7p1HYSjc/UXTsiy0lRUCinOhycdfUJLgRA8JYxRiomz0UgpBo+5F1bW/eHGaUoYU7L1OBBpKMRHRt8UaUT2hpMJcHHlJY4Vj5abiqXeCEJKUclx7+RTJzJWpQbSGngPDZP31eo15mjFNcwNcVWK/EJYl1LJ5OpXqmoKE0g+Ov1fz03INdt+qRvE69L+lsXA+4G53ACDIisicibqpFpJznlPiiL4KpKNligBHBGlJufdFIGUPu15RlOp+YnZZxDzTcLPaiwr7XGvE4MnpKUpJOExTy2iu/nST1ZGBwdTwaZqgtaLtanBNTVIHNbv9nhSRmdSUghv6yrNLPDygfs8gxaU9hyWVJvvWmiTLEJKz7IkV0OxGUjKihTLkU4pNabpajRBCYDosx4gsiSMk8sf8+rEbW9FCogW6roN3npDtidb5xtJlSI3nijx1eQbVZ+Sb2d7dou973N5cM0yAihzSv3PQb3BEbQNRa1MGsiC/EAF6OU4hE2VyGDtoKxhXTQ8GcoJzM2zX4/LBObxz2O9pEnmyGuGWGdlqztUi3X1MhOxXusO8UJxPKUDRvHoXEkoZCKUglcA8TTg52SCnwI2aRM4BKmRuSjK0FIiyAJka1gcPHmC33ULxh6bCMrx3TCtL8IEeiJvbaxz2B5xfnKNfrQClsd/vkRHx/MUzDFYBmS4RoyzGYYR3t1CMJyfPDkXfBB+bF9QYxQUfb6UjeTKVpM2fViSNbrQ+xVh/IVFiInNpjpAio+syfCjoe4Wh1zg9O4F/f4/t7QusNh1MlZboAi0TtErIGhh6g5giXcgQWJKHLT15lWJELJIvvEA6/yzgqo8rJzg/0RBAUqB68NQ8Q6AdaM4tcM7xZpzoeKazLVvVuYDVuCaoF0BZZikBkkEEKC3cXUrZLlOwT+ZIrwTLtA3lz2ai39HkmPrksHgoQxd211UgVYFQBtACCYmn9hxN5enQgaRmNMVIU0Gf8e/+8q/ge9/7PmPsJQD6uf7qr/46/vE//Lu42yVkcA5fosgN8o8xfIKnvCWXTz3bNRxeoGCwRCLuzECRIhBYDSPO1ms4lwlGYjQ2mxVef+NNvPPZn8SXv/zz+NY3v4Xr61v4JWB7s4XVHflkuFGIJbZhVpU6CkHFi3/2Pn72K49xLR3+zBXEUvDGG69iWXYYH1r0nYXME6wlONZqGLDb3mGaFpw/GBiGAgRkbO+2KD0TAQNN5PthwDLPyDT8bE3V4mhTm1OEVDQ6XbyDlHQ+SJUgIm0RSqqwKCquAtOLG0CMJbY1SiZzDrEABd/fXD2nOA5JQ5ga0QIAw3CEQI3jSBFJhTanDy7PcbJa4YOPP0LKR7kubTuqpEni0aNTWCvx4Scf43CYofoOQ9dDW41x7Buwj/5dwZ8S0ejd7fPAjDBVtVQF2N4e8OLZHpeXF0A5xmXUhrhGSFXAWd3U1r9/v9ktnMesoKHAFO6ceAikCbCXMn7xF34B//Af/xN6XbTC7/3e7+P3f/d3cbLu8dFHP8Jbb72F7/3xd6FibpLUoiSTcej1LygQOePu7g5nZ6eI3uFz68/Cp8DgDpLrG2WpyWSvo2DYW/2Za+PQYnWEgNIKX/jCO/j6178OYyy2N3cQ5SP85l//TXz0ySf44P33kUvE+x+8jyIKTs7O8P0/28N2EhIKhVUgShKtNgsuTpUBXIS72qPypX3y9RNFmyImZcbra9zu7zCMPVabS6zGglgEliBgtYH3CQURStDn2Qf27VtqQpDZ8iOIbjxuxgZ/qlFvVJjUGCVSN0ilIAx5zygmhAYQ1hjkvDBRmwt/o+GCh5YWpusRc4HOwIura8zzjFU/AgA6bdF3GgUZ+8OETEpjlp6SWqzkzKAShZypMdDsg84lQ1ZvZi5IgUjm3nkq7AMX+0XBTxEneY1h6BGiJ8Kz4HuGhegVrpdjpr29pNgRIQlsGWPgJATaFCqhKMopBgxDhzshKAM9BJydrxGEZym6pc0XSAZP0kDFm8OIkhKDOul1VepevcB/PpLAvJtgTYdhTeqHi4szpEQN1jx7GK1xfX2Dw+oE69UatossS09IADexgu/YDLdQPE0/rjC7gMA00ugdpCKZdNd30MbQFpvtD8pQI1WJttF58iQqiWVZCOoFIIWAs7NTHHZ77HcTOtORn1mUNsSVku6ikgvRwENoPvu68TO82SqR7trMWz4zjugGDQgHgMFIovD2zh0XIrlu+gFZJPzsYToL5wmqRkAwAj81SW1dWIDkrzTgpvqlyl1rM0fNeW55qZY39wqCtus58+CpNo+5AZIUs1to4KB4u3yU1lZ7UkYFCTGxVtRBKMOfCmCUJr98SQD7+FEtLXzmpxSQMzV7lF0eEDkvNQfyx1avM/1Z+eifrcMGKF4E2La5rk2/kHVz6WC15TtLsBc1NVsT9RCG+SYaIpJ9irVxTcI9WALUrVcbuMXDOfLPKkPWhJqDDVE4UIJjxroOxhh+3nJ7lutdNQwdRT+q4+soIZAYBjV0HfUeISOGhMNhJi839wbzstB7WwpFKAni7dTXVnPaS8oJs5uxPrlA2N4e+ThC0Ock3JLMO2XYvkMsdcBF9U3mpU8/9jg9P8Hz51eUIdsNMLbjZQGRLlKK6PVA6R3cXO92O9jOHJksvOXtLEn/pZL0rNI0CME7+n59j5AoXSHwcKpK4xPfT6poWjaxskpJhcjPxMXFRZPiL7Nj3gdFEjm3IPNwu9ogu86QKiZ6jJxpG/9tNLbjOLaiJeeCEAPOz89xe00xDbkUrFYr3NzctGKGGmHJGbFgXbwh0pjRyPvM01WSq9RJieAPOcF3cps++sVRPFBveQJAhyllbAEd55aWTJubEBd0qzVQLIymKIrNyYYkrJK2ODTBI6DGbndHnx6e3DQ/RaLiNWcBw9P6ZVkwjgP6YaBLvh7y97TzQmuoUBACxSocDgcqWnni13Vdy+hyzlFmZQEE4+SneUa+LvAh4M033wRQcH19TUh/1aEzHeXuhYAUIwcyk2Q4ZpIsp+Sx6kk2IfiizZE07ZC0LQvBQfc9S1P0vd9fNp+a1Roh18w48uJa2yEmgo+sBo3PvPkY2+0LLG7Ben2GVGakDCgBlJRwdnKCUiS2d/t2UJP3JGG1WuH51Q15CCQZ5RfnYPUxT4s2+A7WSJZL0iS2+k2r76PruhZyv2LfbxGF0ecZwUfegpHsY55nlJwpOFwc4QDVu1EnZABdFtXTl3OC0gYxR8gkiabI09XEcQZCSlg+4GlDkhCCbw2SrqTNQnl6GffIc4XinOr7oJTG5eVDbDbPUTm59XU4Oz3D0I2YDgq5wi348haNengv/ufehi4Xju+BgJYK626AFAqdsZCZGgarFDqlsFqtEVLA22+9DWV7bG9v8J/9Z/9nbK93ADSWJeJv/6d/G/Oy0PuhAJRInviU4FNG4lzUujEWJSPFBSJ5iJyAcMDpZsRXfuJt7PY3SMlhGAaMw4AQPPa7LUWkmA5DN2KeDji7vABrg1AK8Pjxq5CK6MGSm8/DNMPHAMH+4MBgFm0M9rs7zNMEbTRefvkxfIjsL6HtgjUdVicXbdDx5ptvwrInp3qlROGms1ltuVzjjZBUBtZSrqWQEufn581LXqmFSilYKVrck4BA1ymcnRd89HxGWkYeaNAaN1cfqEgYVwonG4lPnnvYvoPpOogC3O52DGziodanmk3RyI51a9RMsMd/AjEmrNcnTKkuzStbi7P270p57+/VJvBIbJac01w9V5WAT9K64/mZc8E3vv51GkawTP7m5gbPnj+H1Q/x7NlTfOXLX0Lf92RLAWcsSkGT8QZUo5/Xe4/+wQOCaXAji+iREllK6oak/T73/FR1MyaYLF6n+qUUjOOIt99+G+++9y5W4wq3N7f4vd/7PazXa/xf/y9/q8GxYgy4vnnR8idrKa+UhiikElCWvHcuJOx2O85HFa1YpYgV2c67nDN8cIAA4n7fmAenmzVgLHKOCG5GZyVEjKRk4LiLWsClximwEB0P8JiCLdoQKh83P2zXUEojejq3EsPx+r6DkJI8XTysAN+VQhbIFBEjFch1mDGOKyzzjNOTM5yenMLHAxe4wOIiQvDoOt2UDfmeJ422EbKR4+tzlHKiz03OQCQp3dAP6PsOr7zyCr7/p+9BS4Nx7NCdrRETDRLr9lE1RgSpqrz3sMa0cz9FAu9V9oH3VIDbziJlAWNIzp1zxmocIdlfl1FzJ2UDo0lZeSSlDRsrQTi3DFvKBz9+b43ZLXBuweXFJZynOka1+88ipeNm7/mz5xjeGI605ZQAKbkxINmhcw7BRwJLcVRMPRtSDNjubrBarTAaLt758yGVgtKaN/vs/2S5KtUgOwwM/2xk60LMEi0teksKLdEIvLFB89odrwhglHOGbewNtPOj5hsryWRpLVnGzvLKItkXm4jantGeqxTpM1rScYNOUu/qCwXbEo7vS1WqEMtCHBkc97ywQkrkmBrLJGeKrWobK372mjqGf6dad6XKgNESOfNGk1/nKgn2wdP2DJQocvx9SwNd0d3Av7timCXbNrqug5AUNVXp12DmB1jaH3xVJdX83vrZpXg+xTEw87yg2/RsZzr+TikdN6BgI0dgwBIEgb7qpnRZFmaA6E8xGpSSUNIgMElccJwRKVMyb64jU79Zdqyqff24mDDaEFyqnsBFsb+atsj1c6wr1JB97oLVKylQnbrdH+Ccw3roP0WQFqwa6zqLXIDZUc1I+d0diszH30nSGaE0DQJTioCwbWhidYfVaoXJTcdkkkzKGe89usG27+u8g9bEynHzwkMCjeAinHMk/+b+bLu9hbXc2BaJGDieLUYMw0DAJ6OxONrGZgCZny9rLUQuFKuZEgCJxTmsLL2mpGATEJIiw4ZhRZvddAS21mFhrIOPCqDimE0Ih2WeOc1gzYomUrameFTw/Ou+fuzGFrIg+kCNTyGQwPOrayoo+PCppDB6+EiOtVoNgBAUt5AKtB2QIKBtR1ECJcH2FmCQTiwEwKkR9yFFdFq1SYSQNGGUQsClBFkURQFJ8nMQ3ppy1up2I6cqgXPY72+pKTMSKQiWgU1AsViPA22DUf1gkiMzAM2e0yV4WBjERM3z0BHyPhXakpJJvLQPHclUSEq13+1wcXmJUgq22y36nuIW+n5A1zmkstCBxsHiQKKJSQiY9jtEH7AeV9SeSIO+76E1xX7kRHE1iQtsFyKm5YDT0xGGidM5kZcCPCWSkrJOcy70vkqQdxOFdpi5QGseFgjQZDCTb4ea2kCbHS2REHGY9jRtgeGonojgHeW6CgHbreA9+T6EUsgpQCgBO6ygrIaxAiE4bDqCRYEhTDd3O5L1aIoL0trSA8tQiDqNosbdYxhGjIOAFpK8fxyPETnAvASSwUaXIXiJ5fyCbjjhglYCiTymOed7U3UJUzSRFPkyQwGMtJBFoiTRyMRUFKJNMVtQQCsKZKMT18NRcIwLSkGKEdoKdIZkhaIoSG05+kIDWTXp6zw5CKEhhYEqElpU7R7YfyaRsgSY9k35aOSZo5iHDKs0LOdCjr2CTBab1ZqzNRPWqwFvv/4qtPCYw4T/4D/8Law2NKiYtgc8ff+HPG0zcHe35OWyBC+IScDHBCMKTAFEpMO0sx0uz88xigQxFPyZc9gNFn10eHg+QJQFJSwowSGiICtBk0xjYbuOgUNE3ZSFLmVtO2xOTvHg0SMsy4ySWeaiFWYXYSAJhMWqBgiNzckG5dFjygtkCaIPAWM/wC0k+R/GEbZfQ5YMUQpeeell9N0AITSE0CiCwBUlZyZLUn2W2Rd9enIKa4jslwiGjX5F0sKEAoK2K0hj6L0ToKxqANvdDkIegEQhKOT9BBQERC7UwIuMm90LTD6hyAJtLD0+ueDs/BLG0qalNiha8p8lMiALlABWa/LZxVDjIuqWSGJz0mOaJQ/fOD4rcUOPo1KicIYsjwdbgVxld+ACtm4e6BlKWI8jLs/PYIzB7e0VUonY765RSmqSVCpeAvb7Le7u7hBTwunZBtNhz3mWEgnlXsPMUVSSYIOHaYfTixO8uL6CuAc/zImKo8yvbWHPbi7A5vwM3ckp5sMeAxdxJL9mTzMkHlw+xDwt+OjDj7BZbfCn3/tTPH71MS4uLvDi6jlC9Og7iw8//CGEkuh7DSlYIZAKdNGAVgiZot9ciDCdwclmDZGfQcJwhjGQBfnk+LQAc3+RqQfG1c0W2+0eG5b2npyukJTFYdljOiSsVj2sJo+9Ukzw3m6xWq8J5DYRBVzajiNn+Hzi99h2A07PLxES/Yw5CWxONJxzcCHzllQhosBwTZBSJOsDgJwCOku+r3FYkQ0Ac9vYxZDIfhQzxr7HFBM6zTnmmdIZ+t6iLtMX78lDyykMNY4m+ggpJJTQMNIAgnyt1nY4Pz/B9fMbDN1LDL3hBj5GZB+hTEfywZxpKJcpnson2pkDJM1XQjFrwENo+v9SzjBdjxAcqcmUwbgaEZJHkbx9KdS01GZDyur9A3KWLJ8l1YESGSlkbpiooM+lYLff4dFLjyA0oAv5P6UEkie5tTKU8/vy45fxve/+4Jj9azTmhUCZ3hc8f7ZF381tYFKKxzIt7S4ynUU/nmB9smoewXgvU9UYsg8oQc+RUfRZSIWo2iQ3ZiChKJgXD+cTtKGos5gihCaPaUpE4baqg7L0+xslgJygjICQkXy9KVKtqdgbKQv5snVpntQa66MMbYG1EryRj0ffKG9TDweyzFToWPWwxpTQd4aL6wJoGlL55I/2D1Z2WGsZ0JYajIeab04RQGZ+gGwwtMy0dUDAWsnqstA8oPf/Irm6OKpihEQICZvNQAP7nKCM4qZWwCpJaBRRqdCCXxfJHAi+PzjeTQK8ZafTO/MGWUqGjwLIWSCDFgRdTzGZi1ugdI8UK7xSMOtB8u9Fzdvubs/VCm97CxGMazNfSdQoBSVFBLaSFCHpuUqJs9I1jF03+GjkZ67vNEKgQdTsiE7sFsdxPQbWGuREEkytBDIIxqqZMRKCQ4gZzgdsNitE72Gk5sgqgdlFKAHEnGhQKARyWrBerzGuOszuAESq2yAIeke0YRpwBU90casUjCISujUKifXdi3NYb1bIJcKqjinfaBvymI/xgfSeCVy9uCb4YGJ6OW9Rtaatqe17BJ9gO4OYici+Wq0glca8OHq+TEfPrxKwRmPhoaUyFi5MMNYi1cZWaY6jJEDhPE9HJVYRrGDJcI4BaNpy7+GQMykfjNUwg8barCA1NcYkyyf1yovrO1xcnKOzFsgJvdFAplggcQ8S+W+ssVVKwRWHkiKktO1QWq3WNIUJgT0GEikFjOOIw2FP/57zbSMh7lEFlVaY5hkx2vbQ1SljTCQRqwVQ8ISnhyC5U9tuskRaygp1kG3ylhIofJvpl0rTBzilSB8ckNRWSnrDhr6H4sYkBt806zUvNeVM/kZeeGUO/a6bPa15isjFbJ3Ki2pcAzBNB6zXayilsN/vm9RFCImTzQnCkDG7gJyArrckDep7pqwuGMcR1lq89vobmPY3uL19AsE+QaUUlpix2+4RUsD6ZOBcMfKGpZygrWGKbmoT1Or1a1UqZ1SG6nFiPw8VDcd/qOa7pZKRS8BhuoPWgDaWva3kJav+qN3ugMNhaRImrQ28i1hvBhgrcHIyYr/fI3G00mpFOZt2sW16JJgCTFm2BUmRP6c2jXVb6r2HMY4mjrVIr+Vg5tDsnFFihrUWw8gejECykeRDk9rUi1JKSV4dxvIbY9qE9ej3OcablFRYDk2XgTZ1UlsgZYbhzOHEE9SUGa5QMmeL1m2aAkCkvcw4/5xJsSBQ8Pu/93v40jufhTUWndLojTr6DPn5oKznCbII9NDorcI49Lg4O4fVCutRE116t4dUBsqsIeW6+bSHvkc5XaNXCXezhFJAyQFC9jg9WePhw1NM00Q5yrlDZwyKLBjGDjkJzNMMKTvkIrHpJFRyWPcan339FaxUgkwHfH92cOfneOU04Oyix/7uCigJKdE24W67IKUMl2hySp4VA+8yf1aPG7YXL67g/EJ5noEkds+ePUPOGX3X4/T0FNN0QCgFh/kApYgc+vqbb8KFQFsmBnP0fU/bUTY/iUK0cH1Spb0UdfTq40fIKeH7775/bKxYQvW5tz+D9z/4EM9eXB2n2dXvxL6Ydl7U8Hpu0qZDRlwkchzvhZTz55np5ygK21ueCJczmryLAojciJvVe1U3rEKU43OPui1QXITdkyaLDCEDhEwoCTg9O8O/9zf+OoyxeHh50VQBTeXBG9sqrc5/7j4q97w2xmg4N+Py8hyfeesN7O7u8OzZR81GEDnHu/p3gIL9YY9pmvHkkyd448038NGPPv4UPBlVXt8gLzRMur29xetvvo5pWfjsVS3fu8KnwNTzel5rY/DLf/kv4r/6L/8uFDRMzemsm/JC/vbXX38D3nk8e/YMJycn+Pjjj9F1PV599XWEsODp049RFg+tAz732hkeDTN8XHB1HXF1UPDFMhQks6RWNG9WPblSyUcFwFGzwY1Q5kFsBFTBbrfHfr/Hs+cCjx+/jGG00MMlhJSUT7u/xjh2kJGKkHEYsU+HdkaCG6+auc0vJEdZ0DZOa0Ebck9gxegpp7h+9umOiAihYBjXGIYO03SFEOizZo3hBmuGlAL7/Q4+Os6Tj9icnCKFiM16xLgasN9NuLnd0jaMlWOCL2PKVVUoObVYlVJoiBNjBDhKzwjBPjPNw9fAvjySzeaU0Pcjn78F+/1EGxi+J1Pd6gHQQiNxnnXmjZ81xI4ITGwmNYKC7Q18nNumXAhAMpSy2oFyRtuEkgSU1EVucUgp49GjRxiGkWI6ViMN4WNhkn4mnhNbAHJJ8H6BNQMePLjENM148OASKdFmLGeLZXGYDhMO+z1OTzfouw7eOY7BYmiSVDC9hc6J0wYytAB8zUbn7GVrbbNzSVZthBSge80cC42MTAMQthXVGk0bugdzObIgVuOIGDwPiiNWdgDQ89/PJN/U+njOKMWDKrrrY6A0Camqjz/D9gaLc41ePM8z2cnuAaHqPV5jmCprIHOEUrXOVc9uUwoohciLEG2qxYNj/mJojaVgimyIvnkmBQqkNESEzqWpIqjuDc3nC6B5trU6bhqJWm1bHaKZGN1zY3g4HDhKMmLkRIhSqDaR3PB31mIJS9tOChQIwc1kOjbXVYIquCkX9yJwnKOG39R6LBdu6AS0UFznqpaRXM/pKl22llURTKCmhpfARHWx0HW0BbaWvofWCiXkBrXSllk57AX1s6MaN1KNmxI4wku0QXy5t01W7InOOUH3ihpnQXXA5dkpSinYrNf0DMVI208l24CiMNCuJV9Isi764HGy3iDx+y75rOIZCEHGeCFGCyiKGpW8KAyZzh7bd+18naaJbJDGwFrKeR1HgnRpo2jQwpLx2let12v4QBv66ElyrjUxiYCCs7PTlq4CVhSNfY95nslPHQJWqxXfxaL5eOkcP0qe+/4I9aJmmAelmd7nGAPmhdUxUmJZHMbViMvukoCuJmF/twNyRq8NjNIYzb+yPf2Xvn7sxlYrgb4zWGaaPI59RzCNlFAUPXQhOihNuZlaAiebEUYJRCGJoCYKMiJsZ9CvRqzWa9xut/DBN89iPdhrIVNX4PWDLYTAOPS8Ys+UMdnRixlipIeQDyBqIAiPHQtNYKQAfEpIWcNoAwgFHwPlzznHE9VC+VbV5FwKyU2VwnI4QA4nADR7ghPm2cFaQwQ1FFYmVrN9LRwLFwsRd7stS5MdxnHFH44qEaXXoLMd+sHCO48YaWtomdAXY0Q39BBijZvbAt1ZxJzhQ4RzGdM0U1alMighUgNPlCra3IoagK2gJRAETdJTVE3ypZWB7S1C8GTAxxF1D44hyrnAdIrhCpmgUVIg5QLnI0oWTGUk+U8QFDqPnCF5my6FwmoYsBwOUKJg6Azc4qGLgVASwXl0lkPAheKQ68SbwIAQPHQ3QGvNF3ZuRUjkKWKNdHKeXguhAK1pgAHNPpBc4KKDAsVMkDRFtpy1egAbRTI+lSWST41su8wLxVXRqY2MBFGA6CmXmfIkR9jO4smTp1DKsD+SPAW5FFhlyDuc6ZAtSjXYBEphgA1NUckfRH9vPuxhpMDYj+gevYSTtcXQWcTg+JDpsb27w7z0WI8jDvs9Tk5OcH52io5z39YjeX973WHxAS4TJTz4DEBB6h5LyBA5IyWJf/aP/gne++AjFHSwKAhLQg7kLUkJGM7W8IEGMUpIWC1Jkl+JnpkAVpvVGjItKFLAQUBuJGwK8DlDzHsqIKSCDwlhWiClwhSIGkuyIgXvEmS3QwHBGxbv8MMfvc9gr0JbcIZ6DX2PnBJut7e42++IOFocShFYFofnzz5hSRQFoHf9gK7vEWKixjwVyFTw0Y8+wmoYIbOAyIAqAtvdgd6vKoEFSeoBiedXN7xdks1PQ6A6UhEQTICaZtpCkCWhnh0hJNrciQpJqrFgnFVZaPIuxD0rhBSICCQplwSEQ05ctFDxrGF5+CRw2LPMrQjOQqZGL6SMMhekopBRYLseP//zX+XmWGJyuV1oNICiZkwJyRk2VAwS3Tgjldh6MpKZAbu7W+RCWzU3T1gWGm4xqQ8AOG6uIISC7e0O7777Q/zCL/w8uu4PsTgaRFUZY/06enzp68mTZ9is19jvZ/JHFsnD1oCUSXmDJiIv+PCjj3G4fY5f/uW/iD/45/8cSpPao0bpVGO1kAJvvvUZzG7BdrvFOK7x/fd+iJ9cb/DgwQN88vRjiEywuLvdHgM8lukO+xlY/ACXFQIkSaOLYil15mEu5/rm+7+TaIV8jJkVUseokpiI3Hs4LNRs8tD49GwNdCM6dQIjDKAUzi4fAkWi73o6v2OADzXehjY3ORfE4BAz3R8lF948ZUCQ35dsE3Tndl3H+Y4aSmdIVRBzQBEZt/tbsjSAPm+hJAgj4cLSZMWL81i8R0qRzvEI7PcTb38VxqHjaC6SogaWZxJ9PXPRpYnCnjNyBGxPdxVkxjD2KCIjh4gUImViFsD2PbTRSDy8ijFjHDWWxRP1mYf4JRfKxOTnzXlHkKpM3WVnDfaghIfC27BcCj3Rsp7vAil+Wopa7pFvK+hmOszMkkgMlaNUAVGI3Es+4ArC6di/XYf7Eav1gCcfPYPWL+Pu7ppe32XBbrfDyckK680aSlGD4h3FnlTQUcgJafGsQgKsNfDRwTAxtwI4lSLCrq/Sx0wk/UruF7wkyPe4AjEnomcX2ooJoVq2rRQkQe06oi1X6aYoBV1nsAuOFEpW8ntHSRmavZM5RihrmL4MykXuNfZ78mTnmOBSREKBTxGCh59WaQhtOPKFGprC71kK7EWVpNQSDRqVoLVABGU41hxkH5ZW01J2e0KREkVJeEenZObmOZaC2XmWxgqUKOj1EbTUkdrCGstNFMdP5oSSIowdoM1A/nH+fpHVTNoqYCK1pZIKYKgt1bhEAddSQisBFUT1JkEB0Ax3jCXd89RSmobSCnF27T0OIUCu6D0qie1WSrV8VClJRp9Bx7pQmnQ9MTfIqsxAFhSbU5MQqOyTsIo2/KlQQ7a4hPVmjSIKbG+o+Reg+1SA4JdKUo1UBDwPR3MuyNDolGVlR2BWUKKGPJNqcfX/o+3Pgm1bz/M87Pmb0c1mdXvv07foCJBgT4KWKCu21diyLMl2yolTibvYltL4xqlc5SaVy7iSm9iu2BU7vtSFLdmyJMeSihElS2REESQAkiAIgAc4ON3u1l7NbEbzd7n4vjHWOvKFoSproQ5OnbP3WXuuOcf4x9e87/O2HQD744FNu4LKYZxn1dQMgzSU2RaRASuEzzmLTTKYySmRpkCpa7JGR6aS8VXNOPakJM96cqLS5VB/2LNZr+iPRzBFgX1iq3Hek0PQgbBRlpEjhHGhtffHiRAiq7WAeaeYORx73Gg5O9/S98MCDGzrmoAsI5VWdU9WXZafsZSCqzwuOInjCoPUtypNr2q5Fvr+yDiOrFYdVeU5HA+yyV+iUwV4GkLEOk9VNfqsSsQitbY1gHX0/cCq7fBOt71FlhXYfwRU5Kyr8PsEv0onOEvTNnsskng5N+sN0zhJdlYRL21deZwXqJH3nqauF1lVuYdTn7XZMSbZ/h4Pi8cmhEliDLyjru8Vcot5fg6GNpyfbHEGDoe4+CZnL4fOlbRZk5vTzP4BnSKVUjScGuqqYhyDylutvhdxeT+KZvDONjWjPgWDlTy0Zd8iU6kYIo8fP+bVV17VSVFeJiHOOT2MLLaWg9SrnG/sB8mWrLZLfMc4CkE4xkK36jjdbrEmKXBBkPzeSywAZIx3d1sJ53SyIvK0yleqhY8LBn1u/orq5KcgvqJpmhTPLw/Luq7p+14KWsXeZ81bmyOUrEE9MzKdrKqKYTgs07+6Mhz7o4RKO8u6aQkhEWKRoiNExknozfNGP6WkhLVESvFu8qoHZI6JHCLWy5SpbVvGcSIZHaDMwBsrWwZrZSOflwm9wTurfmqFLUUFdI0D4zBqRFFmCpPI8BTk1Q893nlubm5U6i5k8UVm1Dgpeq0lKBU5Iwds0S0YxXBxdsGqXfHaq69JDlwWr/DDBxdsNht+8sd/it3lJ6QQ6Ooa7+4w+OuNwECs92xG8aon5wjWCawliRQrmJrJjErFhsePn3B9DDx/ds2L6551K565m299l4+ePMG6FQ9Oz4l4bL2hrmuSaZhKi2/XjEHkenW3ZUoHfOV5cXXkm7/7XZ4+f8rNccKkIM2d2RJLFGk/hiki14+xAoagk2YtygO8VA1TCNimZYyZ3/iN3+C6v+Xs7AxfwgKuMwh50zpLNuC9gJrqdSskTyuwr826wxSZWsrUVR6KYZoYR9m4//rf/3VyNozDxJPHT8npG4zDSOsbvmOFIrjarog5cdgfCAqu+FbTSPGvUrlnz59RVZ733nsPzP+XDz/8EGstX/3qVzHG0HUd3glkpq4bpinicOAMh+MB7z2H45Hvfvc7bNYbTM4YxCeUk0A/QpDruh96AL77+99R71Dh8sULvv71r+NredA1VXuX/TkOdN2KEALHfuD89AzvnGRp58Sv/OqvsdmseP3113n27Bmf/cxn5gNPPpdZolfUd6wAk1meNlOnKTIRPhwOhBB4fvmc68sXWM3+BYtPM/WWZQLuTOH2dsfzZ5fkXHjlldd473vfWz4vs+R4o5JiJbw7yzBMPHjQsV5tuLq6Wl6zc07ORn2OzBSwnCN/+2/9Hf7lf+lf5Ms//uN887e/Lh6jfEdpnAswjOHtt9/mu7//+xyPR5yv+M2vf4O33niV84sLdjeXGOf5zuOBj55mptGDa+ReLCN1s1ZYn8hSQ5h0Q3NH2i4aO2TVg5aLxN/UlVukYGXZqGhzFCLTEDHGcLu74fZmz6ppePDglM3a0tVbsAJFaruam+tBtiQxqhWlaLE2q11kUDjlCLXRTZFhe7Li9naHMZ6qrtiedPreipqqGHSzp4MNleBVdUWlqis134n6aBiYxolhGOn7gVIyr730MmGaJBbIWTarjuOxZ7ADMRX6KVIsYj8qstExxuO8FLvZaqbtuls2+eM4YIynbRp5TluRyB0PByEjJ71vrROXwBx9UorE7OVMvdlinNQ9/TRSVzUPH1zw/Nk1JWdiLPha+AwGp5sd+YxEBjtLU8u9a92SrZCFKZarq2vartV7GIqqhoyJFFvufJnWkm0hqMez5LxsVGZ1SN8fee31l3WLfhTPnL2rw5JuaEOItE2nZwMKNHJYdAGh0R6zpUbibKwOaGXDa51sssI4LT5V7xwhlWWzXihUrlqkljnPqiWpOWWrrl5+9SgaOw+d7/y+KYnlyqhHsijjpejAfr1eL99jhjqlGHErgaZhZYAfQ1RbEgupWjald9ny9z2DQb3BM5gzxmnxE69WKyyyyezHAa/anHlxc18dI2oWq+qIoqRxGQwkVZckVa40jTR7MvOa7R6FcRSejK8805TupVvM7I67un6h+Rq7bOCNNVqf5OV6zKUwjpoJHWfSvVWf+J0f39UypK+qeoH3zXAkv9gV7+j4lXM4VS/NCsk7VZFspnMses14GQbkwvG4W+I4Bein8MAiyierz9AcE0MfVCJ8J+uZQUazLSbGuKRYtE11Dxh2RyUe+oGyLOFExXY8Hmm7Tvy9lVy/k8KVchYlWVHoWYgR3zbLcsp7jytqD0vCcTk7O9WNrUJMNUO49hKLlzTBZBxHPSNH2rZaYFilIOeZ5hUbI3XscOw1L9bQ9z1VVdG1rahf9bkhCgB5TpoMTd2QS+ZwODAMAy89eij1QYiyhdfGdxoDwxCUIi/S5xmSOr/jM8ehFMnlDjEoS6HQNg1hHOX91vtJklzkeTFHclX1D0+P+qEb21JmX4Vc6LOJXVDsIlkwxRD6UaJzQqI0MmlOKbBuOrpasOrH/YEX9hld29LW1eJ/KCXhnSHkRI4GawpN7bEONtt2Id2m2ONqT1sLmU42XIY0Axh0q+WNp1ttKHnC9ir5LAWDJcSMqyxt1QqlWLMCQypUFpwX4EFdVcSxl0lwiWy2K/GhxUzKNcZFnJFNSIkJjFdirchMZkgEEvcIMVNMwpE53ayoneew21M3jT7rIyWBqYWOOE4Tvm6o65qTTctut8NR8fzpY955902ZdBb0QeNIJVC3DcZLUxMVhOAt5BRl8l+sSiScygSq5QYwWEwlgcHDUcAtTVULuTAlisIFQhSawhgDq06lsRkNCkchIUhWFQOlyCFmdAsjHgNPcR7ra0KapUAO66FMibrxRJ1ohzxRuwpvoA/DEj/VNA3FFS1+5fCMk4RxO+eIQWRPm5MNru+FoFky0zCRYiLaolmus98v3kV6AGXMVKZizAJVOY69eBWTBq1bkexZb8R3ov5IUySDC6VdVrVkgpZcpAgxWUnUVnM4pabL+R6lds7RTIV1t+GVi5dxxXFxdgHZsL850HYddd0SYqFt1nQvv8mLFy948PCUH7z3O9gySe6jSpyHEFmvV5SYKVNZMuqarqNpGqIp1N5xEwNV24EpAl5pWk7PH/LZt1/nV3/1b+M9jMeB09OWTetobEcuidVmReN1Qx8nUraMspZgHI+EmHiJyMVLD3l69ZRnL56x8oZSpnsRX4OAapDDMOoG3iitLxehww7RU7B87q2f4N13f4yLl1/lZLjlG78aCWFHMEI9n4m2IRbqtqbEUQoBA3GYJGYmTFhk2vr625+hXW/5rd/6mnpaBexVdRu++KNfJGH5+je+yiuvvMTrb7zBs6fPeOXlVyTTzxhOL04Zhp797sjXv/4NXn7wgFdefYlSBFQ2DCOmcnz/ww946aWX+bmf/wrbkxPe+853+NKXvsQnjx/z8NFDTrYn5FJ49OhlXry4whkJb/+Vv/vf8cbnP0fd1Hzj69/g3S9/SYucckciVujV+9//Pqu25T1TePcz7/KzX/l5hrHnu+99mx/54pc0viFxcrpVQInjl37pl/iZn/8Z+mPP3/m7f5ef/8rPUOngbbfbsepaPnn8mB//8hf5wfsrzk5PuHnxXOiVGnOhKankYiTvLqs8NRSO/UQpln4csZXn+nbHSy+9zDBMai8ueDdLXy1OC19rLduTLbWDYTiSUuC9977H62+/zTd/79viQc1WN8ZSHCRVNRS1TXjn+f77H/ClL36RF9e3pKRbastSNNl5NUrBYckh8zd/6W/zJ//kH+fy+SWXz5+rZ1Bjnqz6I42j3ZzwhS/+KN/85jeJ48hJ1/LBRx/y0SeF1197BWM6Up64TUHyVrM8Q10lPu25EkilELP8FDOHK6SkxMrZ3yIRSKYgz515ooq8/3LWOMmuxOm2e+Lmdsfz8Yrbfc9qtWK9anlwvmbVrSS7cWOpVxPXV1cikQ1R0gOsU2J1IWMYh0CJwiKo61oGzaNjShM2yZnXH4/U9UZ4C0NgGoJkb2OYhpGSM5uuo64q8bApXKp2NUGHtc+ePqftGn72Z3+a8XiEkhiOA127YhiPlDpRWdn8+X4Ujx2Z9bqjn0ZijNRVjfeWKUe8NdR1g3eGw+EIpahEMzMOA5V1hGGgaxvatiHmCI0MuJw1ch8uw5OEryRur5iC7WZfWSBOA0O/Z3dTsd6saCsnZ3+W7ZnRobJRT6OZc5LtXV5yLDrsrVuePn1O2zaSlZkLaYyLZNO4whBH2lYURDkiFqzKsFmvyQmGoRdPs8m8/c6r1HWt9VTQbaehcTJU6odRty1GbFlJt8VqnbBKRDXGkGQCiWuE4juLPeKYWFXyXklCQCanRO0rHT7D0PeANOi28ZQsIFCRZXuG4YB1otao65qMMij03p5GGZ7HkKgr2QLnWaFjhA0ypcgQBlY54CpRrdWtx5qaw/7Aqu0k+7aqZCiYEiUn2q4lxkwM8vy0WKVXS/Mig4k7v3GIMkg3dS1NVrzLSxWJccXx+gafZlDUncLCO0ftPL6ytHVNnwamGESiW0lGekgBk1R272Y1j77ZCAyoWHkddeUkGiZEicA0npIgJvFX40ROHqYIrEgIk6aoQlGUl3IexRBVcSNDwylkCBlrKywCCjI6qXReFI8ohCtME+SigwJHLmpBQTbpUbk5OZsF5IXaV2KUBI6s27owL1mUjN0f9mDdMnRB0Uzee7yryLHQNB0pSi1sZ/CdlQzkMY4YHah1XScKlCh19wwcu6MHR/qcmJzlpUcXTKPIaE2BrmmpfE3UoW7KSOayFb9/Bl14JayF7cmGgsY3KaCtaTtZ1FjDqhM7Q1XXWLV4DsNREjOiAKkEwCfnfT8MrNYd2QRCTBASTVsraXglTe0gitOpD+SYGULPw4sHMmDKUawdFNpVR9ofqNtGM7ahPw4Y45hCXkj0qI1zmiYqL1bSSm0Ycx1v9EYOMSrLQoaKtUN6tDkhwVfEKbLb7UX5Wkm2ckii1hQbQ7k3mPgfsbEVn8Qdbc5a2cD6quL25gZykUNXs6tSypJv5pRSHCOVr8XYHKPcLLVCKYxFyNmywWsVSnE89nhfibnfy/QmOSWw1Z62bigkfeNQGnIWymoueoNEKm+pG5k8R9XrFyMPqKhF/zKtUAmO0A7HxTMy/8xNXYkpvHIKnijLxS9eW5G4Ws14K0uFZxbPzUyotcawXq3ox2nJktV6RSZAGqMkEzSRVm03a5p2xYsXl7zzzpvyXseweJQF9V4UYpB1o2uWyeAc2RBCwOmU1bsK5yT4efZ0DcPIOIr8GU2nS6WQcmQY9oCY20XyKDdkjnmhAc8Nfc5Zp7YOYwUoUpJsl4x1GOcYhl79kjMgptB1Eh0w01Prqla50QwSkBtnnkJK7INblN/eV6xWK4ZBCsd5Ojq/3qqWorBk8dpM06QEZQlyX7eteLcbQfeHmJYJYVBJCMAUsk6ZoR/GpTFNKS4emrapJV5DJSUpx2VKKxtVqwOgpBFI0FRCaLa1AWs5Pdlyvj2hbRqeX15jfSsNs/d88L3v887rr/PJ4yf8yGffpqprHpxvePJRTVUEMOS8wZjC8Xhk3VaEaVriX8Zh4GRV07Y1h0PAGnn/TbVis9ny6iuv8PTjjxiritOzM9mkqdqiriSOAAIhjRz7SIijTt0m+awqJ0XMOBCmhPeWl19+mY8++ZDD4YZgRqyVgssYCCVii8iScnSLPHGmZ86buP6YKFYmoF3XcXJ6QqpkmGRsBpPUnySHqLMGooBNfOUVElZkk5+TyFKRIZJkeA74SuLHSoKURk62W44xEpJYI7bbE1LKdOuOLOQk1mvJ46wbkY752uNrKZo22y1N2/L88jn73Q7rHN2qW+ixzsp7s96s6bqOlAQC0TSNxuQ4fOUWueD8kFkgLZTFD0ZTeOPNN7i6fKHAF2S6XISWWNcVddWKAqaqlpy5qhbCovOOuhLZrXFiA9hsN/zYl75A3VRst2t+4Ss/y4urW775zd/m+eXlAnQrKkfWi1y3OQJsms+pjz/5ePGlP7h4yEuPXuFJ/Jir5/PmyUtRPG+CFVbzzltv8OTJYzCWv/k3f5l/9V/7V/nwo0+YpkDKjoxdJu3GlzkdSc4pJVQfjwOrruPjjz6mqjWGIs/n5qeJ44fjkY8//oRf+qW/xR/7I/8Ef/E//wtyDzuD83e03Fm95KuGL37px/id3/0dCpkHDx4yjQMffviYpm5Yb9asVlI4fOFHPs+v/drf4+LiggevvMyLy0turm54/vySZrWWwqcUcgy6fRaZoNSOwi8w9i5uCY15WN77e/nKsoGR4eMYJo7DwBQjl5eXXF+t6NqOs/MzTrc13mTa1QX73QuRJlqL9VJgxBCEXTBNIsmt7jITu65ld1BJ8UyDVQXNLJeu1AMoah+Bw4QQGMJEmBIxZEIMHPsDOUWapuLzn/ssh/2BopYm5xxd1zGMPU3T6Hls2GxPefHiipQTDx484NnlJf3Qs24bFREVmqrSzZsoNdarNZVzApMxQgHOMXJ2uqVua273t2JLUoAPmlfuVBZqiviNQ8zYApV1uAr2h6PAH/XZk7MUtvNnYTRWSP+NPqNRunFa4tlSkmzqzWYjfn8KSSn9y4Khssu2M6aINUJXTTmRpyzN6lFUTtuTLdZZdrtbVbbdgWlSiGKrmTfJVjYsiwJAgWImZ9nAey/gJgR8lGIihrTkrXrnocjwQ2TGBbvk9ArHoyz50OZuW2fFWyiSYLds0HJJUg85u9iNRBou6jFjxQqRlMExewulrhNZu7UaXWkdueuwVrKa67piHJKqpOTPiMP0qbrBaAyU0c/0PlU8jgMxRVyYQU26fVb/ddGmq6ruhgKLv1e9qzMZfv4zZ9Bh1GZ9/pzM/RzwIjCqEAJOSf2l3OUQzxTzEEZ5j9UhkvS8D9LxykDQik2oTEEI8vdydmc6fggDXdfJ9hi5fk5OTpS2bonqoZ8U3GmWqCa90j30/SBLMeVT5FTE5uPEIxyCbBHreubpFJJGlXknA17rKoZx0pQJqyA2u8RDyWdj6LqWqhJ16RQjbdNSeamB0Eg+5xxN25JSFHWXKnFWqxWtl14ghYwvjuubGy7OTjFBbGaXz5/LxlShoc57urpeSNtCjjYLq2az3hIVfsoywprJwGFJkpnp+03TcBgHjW7MjNNEXYsd0xipu0uBVddxpF8sPtaqMjJWpClJ3au2lJwT25MTlSJLhNhCTC+Fw+FA0zQCx1qtqfX1HPsjlW8ESJWCKObUmjNv2ec4oPWqVZl3ptjMFBPeWQGK2TtSdpiCcn2k7mibhjBJfWJs0SSBTysb/oe+fnh4FBBzpvIio4xRJrgXZ+eYnLm5uabyVgFNQU38nlXdkuIBcuTpk2f81E/9BBdnp4Q4MQ2jZlwq+l6nyk1VkWyitF5M79OIyQ68xWJp6g5nK43FEWqeQJukYcpF6HnGWqrKKoAm4r0lpImETBBCQn9Nto3TNFFbf88QXWN8oTIV1tQqIVYpr/LShEAGacp60MoFXpKu7RAiL1n8Ac7NGfMzUTTT1kIQHmMkjIFkHfkehCGniG8MXVuRwshhd4MpW54+fUpdVxwnJQTHkeGwY7NqpLHEUpx6D7JsquW5LF4nkmRYmbqiqT3FVExjwLtMioXKt7oJ9QLPihAyhJCRoYr4aEwWImMsRX7WexeghFVnyQHLcYmDUEYV3apl1x8XiEeeAm2j6PIxUVLG+opKiycZOAxMk2zj2ko2onNsULaGopLg4zhgyIqzD+SUsHWLMVn8LvfgBXNRYa3XIlEgOCmLbAL1ahQjEz5TJF7oOE7URuItJEJmkiGKccRxwpsa6xyr1Yr9sZ+rGpFQ50TO4OeIk5RprKWuPOvVmvPTE063K4YxkqJKdsJIDiO2JJmqurI0hHPxUdSPO00T43CQCXcOQBKPat9TNTXpmBYZzv7yyHZ7wn6/Y5gCkY6qq3QqK0HwNzd7Qoj0xwPOFR48OOfm+oaSJylqSsI6GYrUdcWg8myhphuchzx7GhGpGSUQY09KA6t1I1t3I5NOjYcVtYBRsEgWObpXH2SIKm0tskGbt+/zMCYXLSp185CMUD2bUos/KEmBGuIcLC+k4FwyKZS7TdeYaWZ4gXrkDBZrnG5fJJNXRKkOg/igP/uZdzg9OxM5m6boWC8AsrlhN9qQyjbF0K06hUvM+X1eI4UiKWbeeP1N2rplHHs+95nPUGtUTjFlrpFRqCqu8lRNzc3NLbc3O2EKTJGPP/pYybSOEPUe0C3IV77yFfWHB37uZ38O5zy3uwNf/8bXAfjM22/IYEmHm3XTcBx6nj5/sXzeOSctUu2Cu5K3znB2c0vKEixPhrPTC7773e/xcz/3Fbp2TZ6pz94K7Zc7KNQHH3zEH/iFf4xhGBnGie+//wNijJyen/Ld7/4+hYpY7kn7NGKF+V5Xudv17Z533nmHZy9uZct0D9Y1kz0zEHPhw48/oa0rPvj4Y7Ynp/zCL/4i/+l/8p/gvMdXtQ5SrE7l8zJc26y2hDDRH3dUVcv5Rcc0jTx7folzlnfeeZfDIfL++0/56KMrjFtDcZyeP+D9Dz6i3ZxIjqm3uiUFkmyXkymapwpWC85yL6rOaa7lXOSWxehm7oBlSbcGKXE4jtzc7On7kafeYbzh0cMLvD/DmZ5YAtk6AtKkTFOgRQqkuRmtWvnZm1pkaCkmmqZls1lLA2YR+Vs9KZwwaGM7cdgn+mPPyXrDyaqjaU7BPqRbddzeXmGN4bg/6nZxIsei27rMyelGi1jHcBzYdq0A04CXH1ywO+zwlaPrGtq64YPwMcdksMaTQ6FaV6zajlQ5pmnkdid2hpPNmlQi1XyWpMRms6GpPf3hILEyOdHUNV3XsR96+l5ATyklVk1H471YcrKA19AhczaiGCkpMUbJmZ/jwmIUPkcIQHZifRhHpUlneZaVBJo8Yayh9mu8qcFaKi+cCLF/1Vy9uKZtRJEzKjxpCprDnbMuFAQwZzHc7PYygE1SQ6y7TuKbSibOkuMgcSuuWTHGnsp72Qbpfe+cp56JsykRBsn7NQ569YI661XxJ3DPlMQ3aKwMW5umWgZMs32slAKu4J2VCCkHJsq5lZGfRYjBk3AsVNrqNRmiH0a6brVAR6sqy7B3tcYZyFGyaYWBILcMxihQSOrUGBKmqLoryRknnmu3RN3M3x9YGjLnjCxkmorBFIlCdFp7WIm+CWGk73tZamjurjTuKhWdnzAKdfRWrllbzbE+QSxU6gF3yuUwzmGLJCCkkiixSCOqVqSsypaYMs4q/6NkWZpYr35qFvBXVVUcj0cZpEyBVoehJSYhS6i8FSN9Ql2LnH5eRMQsdoSgOfeQF3BmnuIShZSVvD/HKXlVOhQDTV0LpXoalK7uqHwt15BuglGAZqu/t6pl6VJZw2bV0WvM5jhK+sGohOnGixVwyIVUCUm7qSVyaLePxJh4tN3StS1XN9estifcXEsM4bzBl/tMNtZz1J4xhsN+j1F20Kj3kXXItexEWZlSuvPWKqjQGEOJhThGSBNjP8r5XTI5ZJyVezVoxJTAdTMxFVbrDVEjr3JOwrZZbzkOz+VMqP094KL43YPK4JumI+z3suCZxP+eYtElmQyxfV1rhnZgGidOTk/kjNLByDgONG0rSrtBFK9z0z4N4wJli6VwiFHy3HWondNdlNsP+/XDx/3ops9bKWhiENpVVQlRKyfp0tumYRyjvil3WagxBj744AO+8IXP8bnPfoZvfet3yUmmdZWvVbeeKdZTeakAKyebzmys0MvIWMNC+hWdusgScikYneSkXJFSoapXPHr0Eof9NTfXiiNfAI9Fb36RAmGRKdQyaVPuiRHIQ1u35DypR1I8q0U3I85akhGJljEz4TaJxwwNuNfcLmvdotEvWXJjrRNSm4mCmL+62TENI127ou06yWezIntz3mF1wn15eblMOHPO5ClxfnLG6faEw3Enha6RyZ2ZEfRz8HxJImOaqc/FCiSmiF+3barFN5NTJIUZoiBSgb4/agGugepzPprSDQtSWE8h4J2n8l6+x+I/FunYNAWur67Z7XecnmzpVmuBNpWCc0KCbju3PCxmP/R83c0+iDm+wIDk8noJ405TwOt0KIVIrAKQJX6hSEFYVZ7KbyQewhoFDIXFd2GdxBxZlTvPzeM8VZzzUJu6ZgqT+tGLFilJ5UACcJi9LAInEwCMNULTPPEVTduyOVnTNo3E5VgjUSA4hn5cflazxAnotUQW2l2Wv0/TxIura0J/izEwjDI82Gw2y+da7jXCznuujkeRDIZITD1nppOTVnMnx3EkxMhuf6BQePfdd5imQN/vKSTpvazAuMZpIpdMmAIpBd0wOmK685/P+WrdakVOGv9kxW8Ts0z2nRN6OgolKhTd8rH4RfN8kGcZqoQQsFlgHTPZUp41nmkY8XVDipaiII0YiwxvUsaYRM4in6VIw1p5IWRa2zBjzmdPJer7n4nGLJs7+T1N08rrn3//vQzIuZgwOlWPSe7Jmbg5f7bc+77FFLputSgGtuuNQPCWXbYWgvcaNVd5DoejFiJzHvS0eF6XNlDvr7rWOBUEtmWN59e/+hv8zV/+ZZxz/E//9J/Uxt3cZZpGoVc6DZPPSoc0piyxGPOmHZDMUwXa1XXD48dP+c53fp9HD87ZbrfE8bi8T6iksK4ETlMKvPX22zx+/AnjOPDxxx/zmc+8y7d+91vgLIW7B+AM0TFLBJC8T33fU9U1m+2W3e3twhieP7fl3SyyFfNWCM9/7a//En/23/rX+Wf+xJ/gv/pLf4Wqmj2wFtwdCKhkyTp11rJey2RcAIANr7zyKn1/4L3vvc8HHzyGUnF9feBXf+U3ePPNV/n85z9DVa2gWMm2zhFftdLQmELI6d77WuT3zLT6osRkc4/on5L+XDpEUXpqLkUk5sqdSFmyw1OfGOPEMPQ0teHRgzOcdTLAM04k1M5R1LOVdLA8DUGuJ+dEYlrmfGLZaOUi260wjlSnZxLDppucXAoPzs+4OD2hrR3TGHj5ldcoZJrKcnP1Yrk2rTPUjTaTuxvGcWS9WnE8Hrm+uuK1V18lZYn7SDlzuj1lGI/UvmK7OeHlR4nffe99YuyJU+DhxUPW644Xl0/xxtAfj3RNy+nJlv1+z6puiZPA2nyxnK9PWFmBF85Er8Z5+lTwxVBXDbaRjdLVaq1KgEyYIMRMtjpAcY4UEyFKMyLfSs6qFGVYR9atLJIEMAwT4zhgVYHjK6vRG7oBcgacSABF0icD8uPxyGuvvkGY5Hk8hGmp68TTLxmkQbMiJeXBCcTSy0b86uaanNMSqZNzWBqO+ctZJ35pBQfJ80WJ0U3NkKQJaWpV9y0eybuoklwS0zgqkOqOOjxzM2JIInX1lSoCsrA3UmLUurNaIKQq915gRFltTJqLqUO0VdcqWdsqVVvOi7Zt1TNZli10CtKIZ+lMQbeDzrtPZUyXe4PLWbk0n7HWyCC2mDt2iVGp7DiOeKfpIDEu4K6759hdnI5E+UVIMxV95qpkko10TbtsJeU13+X/ljlWaD4rs9Q0eIlSiuoNnf/7OU98PuNm3y73Pv+kAwDnHLVS2kVpVOFspYMPhc1Ok/owjW7R3RKjNsOqYkzc/5KGTYYY4iP1ehXL0LSu6jl9hhiCphKYRbEjzXqGCpq2IZuCDXL9x5jJ2UOEbtUtn1PUeKnZU2rniKIYWK22eO853W54+vySgGEY+jubXBEJufBqvA7nowK7HP0gcD9RFijnR7OofVUxBoFb7Y8HTk5OGYZR44PCsh2d/cJNVcsSBolBEz/tUYYwnXye/XCkrRsg8+L6SpQy40Au1VJfy7IjLdctRm2NUeTRc40hizK7bMOPB1mi1LUnxUj2cu54baSMghbBKpV8WDbd3nuGvqdqHTklgtKxt5v14lWepokf9uuHlyJjMSXiPSrHlItsmgbatmY8aq4nlmZTcxwGckk0reRZTuNEyYFv/s5v8dl33+H8RLDSKUYJ3TZ6wZeiF3PB2ULxcvHmBEmveqsGf3m4W4wrFJ00MfuBnWG92nJ2esbV1TMBM2SZgjRNzTQmJZMJldYYsN6Kx8OIJMMZ8crKBxtxrpIi2Fj16DjxjahEMMSoMQja/A9hkUDKFFOw9nZeRVWVdM9RciRr69iwgpK5vtlzc3PNdrPBeS9SkzgJFa4EclBTJkLAc8Yy9ROvvvYyD87P6Y87PTSRjNWZpKmSYIfQK7vOidz72BMjtO2KmAb2B5nCGlNwtqI92cpNcBBydJiOrFcOq1PDcZwWQnCMIt0NGMYpi3czpqVkLMYyxkTOlumwpwS4ODlj3TUSS2TA+YqqZG5ubnAaPi3yHahqBXfZjMnIFMlaDJam8hzKkZImCuIJE8DDHAshm8XjOKhkGgn1nnPeEDAG1unmzyJrE/VapLw8zMdxIs4easNdnp7VOIumEW+JkabUZaFl+spzfn7CFHq6rqGuPG1d0/pG4QWtbjUTw5QYxyz+BhuZYqafJlp9OBQjS5yYEzf7Pf0UOQwj66nhk6fPiOOeuvHSyFPob5O+9lGKVd2OmxjZHY8qufcUm4kkiqnIiLwzyRqNUAzXt3uubnZk6zhOQT4LC7akhe4rQ47IMAUSYG1mGEZClKxojJVpfkTppWWRC8qgWaivYz8tHg5nHSXJQ89aoSpao9Ek2nQmBONvXS35mZr5Z61l1W1lWxGSghNG2rZWOWNFzGBsjSkV3jYibStFZfN+oXemYrC1eJWyyWQz4/6NbA6MDg6WOJa7h/9cWBirkWDG4H2tRai5UyeCFs6ZOyQu95o9IT0Xy9JwzE95o2epbGLzvW1iWdQid03zvO6/O+1nz5a1nt2u5zf+/td0g63WC2sXH63Rpi+XjC2zZ7yoTw6Mu3sPDJJD3sy+pJA4HHuaViA9bbfi4cOHkEY22w0xW+quppDomppV13L54hmvvfqKSNty4Zu/801+/ud/jv/Pf/PfCiDDSoF0F4kzZ0TeAzFZx+9883f5+Z//Wf7e3/t7Gs8mN1RZcqX1zJglwCUzHA/8hb/wX/Lv/Dt/jm/+7u/x7W9/eylKhJV3V/gVHDHJ+1U3a6q64XDYESNUVcejR6dcvrhmShCS5bAbCO8/I6SakFuud4lhzDiXiXmQfHNjSDmzfNr6fympVSeJlHUeLs6wLuO1WFQJrHF3ebwpK/0WyZEvGucyhsT+OHHok0ZBnPDKm45xFHDg/N/mlKkU9mitw1uhCK+alhSLxkHJc8gaQw6B2ju2mzVD37Ndrzg/3xDHgW3rWXdrbvMtcdzh65r1uibGimHoWa9XCpYMHIc93hvWbcPJZo23hla3xSGMxBj0bAFXN3jbiBzXVoz7I8ZUtN5jSiSMR6G0Fsuq7vBGCtzGVkx4kTsWQ78/cqxruq7BR8lJH8YjJSZKCLgsmczr9YYxirQ55oJDAIEhBlEiFEhOnhMOt2zQi+aH5iRwwn4QO0dbrXQgKluTyjhcDVYtVNMQBPhjI1WlG+gYZZBnHWOYuLm6VVCVNM4pZSrvaaqK2nuO/VG4Im0FprDZrhjHyIvbG7zzTDF9KrXCe8c0DozTvHGRf4cVOn6IAVtkgxyi5P7mmFl3q+U8mHOxZbnhFFoVJM/YTHSrmjFMYp60hTgkpimSnIMGbCXWh0qBX23VMI2yVRSvrMLkSmK1anBebHHOiY/WZE9TWbrGs9tNpCTS+ZKtxLk4ydM02RGxTINIRWfLkDPiEwXJ+YyTqG7quhZriebdy70m10KaAs4Y3fYatQV5sssaeyR+0Hl5AwbrK/K9xlbu8xmcZcnZyLCRgrcekyXT2NSi6HDatNxvtuU+SRoDJ3W3RcFV+hdqQXSmkEzBZgELbTcbxmG4A/4o1Xi2SBiEtOytWhNDxJtCtobsRHJb9JCKKhnO+a62r6qK2lZL3Tf2w7IBnpNHYkySNasKr8rVODxhjEJexlBZr/nEQXgLmh9sKqE0N21N29Q6ODf0vaVOidp7BodQuceRXALHo8QvXZyf4i0McWRFR9tKxGJlwDaOfMxgRM4r/mHZGscxUlqo6xarQzFRVyRqv+I4yPKhrmvayjMOPVhDp37ZqqrBTuQikl500DeOI+NxkMSQmQ+jeezr1ZZxGDkej4QYGIYeW6SeuHrxHKexkuM4YrHKprHL8k0yaGU4NcUgaocCw3BQ9W4mKP0bI0u/ylnCOOCtEXhwIwwF7z0pSk9lnCN7VCIt12ddOVXr2iXK6I6mHHSx9MN9/UPE/TiykweTNYam8dKwTiOrTuhaslGQh3rbNuz3e9arlsOqISWhit7cXhNj5LXXXuPp82egBTHa680VlmxMLSWKVAqVHTvv/wG9tVmgH342riONXt207HZ7bq5v5MLNWXP4HCVHyfsy8iEaNb9MY1ApocgaxT8o4IW6bkSDHwKr1Ua3jmkJWJeCQpok7x3RpiU6I6VE03ZC281Rq0jxlpQk3gsndkpWq4a6rtgfBjCJUpze/CxenBDFKzxfVKUUVuv1QlxDI3lSCktjWdeVegejSkIKpcDhcBQyWwyMI1gnF7IQIsXUP+53eCcE2cPxoNI3Lar0+4BMu8FTIgorCeqTFYDWQq2O4oPe7Q6cX5zgncgGF8mJc5jacXp6SghJo4Gs0ugk6iEvlMC7wxr1sZQM63VHdNNCbTTWykTLQOXEH26tUHvRvLwwya87Lw+KrPJptNgt92KorJVghVkmkpMoGqw1CicytOs1lXp8m1pyG9u2ZbNec3MjRUftJXoqqz8yTJM2auL9ydkyjo71aUU/DByOB04101k8NNAPPceh53A8SnaZyi2dGQl50sZLEfIxLtO3Mcm2wFhD27RSPE2RmB3ddvyUN+5wHAgZDn3A2syuH9kdekISUEg2ooiYA1NmWecUjYDbjDTp/SD5hLZYxiGQx6gDoii+TiVlV96xWq0XCqScK9r0J8nwzUb88/Ogy1lL2654ePKAtmuWQdl+fyCGRD8MXF1f4b3j7Ow1zCSB7ZvVhn6YGJTIXlU1zntiGmWqaiqqOi651N47JffOyo9GoRkJo3AcskiILJK7eRcHOpMvWSbnzvtlgj7/nmmaGKdx2f7Pm+K27UTBUqCqvOaxlrvGdtnDCrkQY3nttdd5+5235TpsWn7mp3+Guq6Xa9pq1Mbsg2OmgHrP3//7f4erqxdKIdUooHsZuMYazdIsCzhGMnbnV3LnkTUGjsde8xcrwhQ5Hu/yPZu24aWXXsbkibfeeZNixZM6bwuquuL58+e89OihSvgM3/69b/Mn/+Q/y+uvv84PPnx8r6G9257PX0vBpufdd77zHV566SU+/vhjuZ+Nvw8NvXdmqazaGH7wwYf8l//VX+HP/Jl/jn////EfMPQDtvKfyu+dz1fZkMt74axjuz0h5sjheCSFiZJhsznhZnfEuYp+jLz3g49ZrVtubm/YD5G2qbEUUgyLpM3ONH8jn13OWeAleh3Mvlt9YixDi7k4mM/KWfGSNcpjpkjrbxJIkUJgdrtemTBFYXQyUHN6nXgjPAI3q6A05mYeVDdtw6rrlE0xewszb775Cl1rKbFVaxNMYc9mu6JuGm72e5UzT0LLxDJO4nd/cHbGMAwSq5ONkIMbiZnYHw5gKw7XA3XbkoKhqiwhRva7Ay+9/KrIC6eJ43Fiu9lgiuVwPFBKkbpB3jVSRnydIXJ7e4uzp6xaYQyMU0/T1FycnfP48WNa74nDwDhFUgjUTSuZpqXQ+JrKix0kxbzQoAWaKV7DECNt1ZAtHHYCtwp5wnnJDxaOhsOkLB1OSjLsM5mcjcq7gxB/g5x929UJx8MBXzsKiSlKU0LKrE63EvfiZKBc17VskqdAVHVYKeZT984ds+NO0u6sETmzlViPYRhYr1ciqVSS9sxgWTygBoH6UOT15qh5pQ3GFI1Kkuv87s+LelVXateYFQroxqhS+b5slwsKFyqFtqqJ1ol314nFwya7SDSZ5apmlkCrzc2CLQKeqiqnNV1eNoHz/RRCWBgNy6ZWN2Dz+xdjxLftsnCYfcAg15gpM8DJLZyOEMICULTWgL7ntVdftVKZDQZjRXI8R7Axe4xDXOqUqPCXeUAR4t3QclYszlatRWGlMvcwilw7JbH19ONA27b4WgeYGlEznzMWZDGg9rrG1aqsTORURKE5MxS8o6pnQvpMQ3ZEAnVdySCtyDXgUibq+z2Dp673O4w1dI3EIznn1L/Lch55jQ+Vz7fcMRzK7HPV+u5evScqJqH13t7ecrKVbO2rq2tefvgQB5ydbDikpCkjotZx3mGQzXMsQtuunL2rnVOibSXtQfoMrbnaWuFtsohLM8wK8bVLasGkFjwZ8seU6Kd+UXyN44RXwvzx0IuFRX37ddUIcHIhec/KQuln5Drw+gyzOsQoDEMvKQxR/jyrW/k5jtQAddNoksS4WAlCDEufdDz2dAorLRqBJ/1RqyqJRqBUldczw95ltP+QXz88FTkmnWhqYeesymlHUjRyMMeIsRXeWaYw4Z3Alrq24bjf47wRj9Gzp7zy8iuy2XiWKGmSA8Z6nfxZkRE6R1VZcihYJ1msxmhQfSnkLHRjrFdf171D11qmceL3v/MdxnFA7A8CeAAxqhtvabqaoiRckAbhZNvqFCsodkYm2X3fL4fILFUhzZ4KK5mxViR6YUrEpD4G45jGSFU15DJRil9w7lkN/nEKIh3OQif0lcednjCOQf2IjuKtZHKSsc5z6A94L9CGEPNi6L+5uVkKFWPkgbJeb+i6Vh840z35TyXNNyI5MBY5uK0XD4uxkmOWxW+WSmGMQmpOpTCNEz5VWKN5ZlMQYBiijS+yOlEpc74j1Kai74nQMMWfKO7lor6topl11jicqyU30OYlNGkOQbdWCvxpDCSVHs2REVMRT2bdzWZ7+bkrV4nMPSXGKDFFVhzaFCNeE195cpEDeAphIVDOsijrnOSk5YTFQSrUtmacBhnWmKJyYwUy5ITBMw5HnjweZdMYImazYjgMi3ywdiIDH+KoDyZPyRJRs9vd0h/7TwWcO+c4Ho+cnp3KJCwYfN3x2uufYb3yhDgsvlA0E7VkkYA6JWPPB7Hg+TO5GNbrB4zDkf3ttfoQHal4sqlYrRre/sznefL0Kc+ePhXi79CL7KZIcTAXMa4OGhPlaDrZPh93PdMYee2Nt5jGHV3bScySIv5nubXzTuMD5OFv1KOWUpDpdPFY14CFZ598zJQmHj18BeJImERdEVMmBMsUEtiK84tHKvVpaNYboHAIgSlDU3cUJErs5OwEV4n3fhozrmr49re/DY3kwu73tzx77vnwg0/4zd/4OjllXn/tdX7qp36SmxfXXF5eiX95t9dCTO7dGCO7mxu89+z3e77xja8vEKMf/OADVpu1FDNT5Nj3XDx8wOMnT+h7GYTEEKi85XC4wc/h7EYI0UuBpAO+VCK3u1suHj6iahp+46tf5cs/+iV+5md+mufPn3EZXvDee9/j+naH845333mLum4wxS4Pq/e//z0ePbyQQaOB/+av/RLbky3b7Zav/eZv8vobb4CTc9mh5tRS1B9t70VWzY2lTKqXxlfP1GEQ0E7bVBSVNvu6JoawgMiOhyPPnz/neDzw7NkzvK+4vr7me9/7Hl/5ys/z/of/tahs9FmVM5/6Emjz3VB0t9vx9ttv8/Tp08Unf/fQU1CZQgmzkbPFOs//79e+ymuvvc6f+3P/Fv/Bv/8fknLB6ANYnkF33v2ihZj3Rgt0S1O3PLt6xuMnz7G+FpBOFvXQMPZMYWS7PcW5mqdPn0EUeJNJUby9tQPNMxSFkUpYxfmkBXFegGtu/nmM1VgNITnfyRv1eV7M8msK9b/3l5EibJ6gFy1K9Bzq1h3X19dcPX0q3jCNTpo08mq9XrHqVjgnETuHwxFDofKWk82Kxm+lQSNrNuKefjgyqMS96xouL29JaxlKvAjXpFjY3dxKg2gML168wPuKBw/OMVjGKcrQbxzZHw5U3hOT+EuPQ89mvZaB3zhILI6rlxridrfXgt5xezhCzpycbKibRgqzynFysmHVzf8NnJ6eUlUVu90ecDy4uGB3ONKoZ9NYKaAcUuhJLroMwm9uIr6SIWdVVexuDjgjwLe+j1zf3FI1NZtNh81QWS/Z5wpr7CdtDPGUGKl9xZQtJRVIhXE40nQnapeR5qTyAoVra09ONTEXioJ8xnGQiKdUqGpH0gI1K6hsHoikIgVu03RqF4HE3Y0XNe4vTkFYBEX8ym55hklsUpii3DfM1OBCfxwoZFarVr3LgbardOCayQWlswZZJqSgw09pGmKa0zs8uWS8ph3EKVDVIrl1tWUIA8VkjM2LAmM+syWeRiB4zkDXVKQkKqwQAlGb23lLPJ+b/2Ae8ewTNhpbNE8650iTudGKUXKfrYXjOMhgrMgKxzVOs61luxvitMCZ6qahJB2SOmlikiowioFRpbleh6jyjLZYZ3BFNqnOVUs8k5sjnXTD59Wf4aqK/rAXGCOWtq5oKr8MtFt9Ps7bNpNFJmy0ZpqtEiSDMxmn7AxrvQCDzF3EotUzC4NA/kKALPm7JnOXl6yfQRpliyuD0kIqQajtlQzER1XqOd0sp5TIumEf+4FJPcTWGnk/i1wPsjjzNF2Nr50qzRJ1LYDHrq556eKU7z15JnA5p7BC63B1jXOSaZ1iZBwLq7oRho85MoxHhiBpG10nEWnDOJKRSNXj0IMR24JTC9o0Cq8lxUBTe3xTEUvSdA2ptQ79gbYkNusNJ2fbxcZnnMVVnrqu2e/3AjjtGowOUCRL2St8TOrDGCMXFw9Fcm8lNqukzO3tLatVi6kkq9lZiXZrGmlOfeXl7Ejy8wuDQ/J/DYbVSvzuNzc3nFSeHANtW7NadQtYFfUr/yNpbNHdqEUDnNVbZRSAME/kvG50nTFsupVqyS2VF3Ku8Z7HTx7LVqSuCCEJWMaIwT2lTE5CR7a24GpDJMjNpUQvmURr4aZUX690yqK58TlE+r4nq0xykYt6Swj3MrNSwlr5XvNmlVlDbg1kc0djNaKz7zCEccSZGqcFhTTcIvsAaezLTIOrnJD6lL5WSAthTvwImplr5PWgsksU9nR7s6NrThRjf0dpHoY93apRCI14hIchMI1RoTMic6Dojav0ZecddS0y2ZhEHmq9PFDqusLagtHDFDv71OBwuMXXNW3T0FQ1OcflcDCameW91weZ6vU1U3GGmsiETA6VY9/z0qNH6msUeYKZsdBlzlczBEadKM0X7Ax6EhiDbKBhJk476/C+JmrebWEOe6+XDNCqbnTCe0c0tZrhK76WQq8S2FwyUbfcVnMOMdxlA+aMSZn1eo114qGOKUqMVSmSP6zT36S+8hQDFpGSlNSKvF8n5BOSXxlKkiimRRFQ8eLFNVdX13wml8WPZa3j13/9Nzg/PeXZs0uO+z2vvvIqMVqmydP3HudbpiCSGJk0O4Z9Vs+PbK4lS9AzhZEhHNluHV/72tdZbzbsdzv648A4BWIqTAH+u7/992iaGmsNYRqY0rRkH4/9hJ29IzrxHWOg8jVDP3B9+YLvfOtbPHvylBAGmua4UJ67phGpXAzS/B0Oej8Y9rsD45jouhUxyDSvshe8/W7hww9+QEyyUamMNAkvXrzgcDhijfyMVmFox32i3x+gJDngb/c0TU02e155ece6E+DNoe+5vb0lxcJ6I9dRLAIcORyPbKct7drzM2//qPh1Q6AgvmJrA9ZFrK31jJBD+k5Wb6mrmpOTU3Y3t7JNbRuGcaBpWq6uXnDse7lGS9YhmVXPWKFtV0IwrjwY2SLMX1a3Yp88udQNsePzn/sMz17cULcNX/7RH+E3vjZyfX3L57/wOc4uOhn8TYkwZSgydf6VX/kVPv7ksTSJuvVYr1ZCvHSOm92el1Ja8hDnre28Oby/LUT/fQwzAd4sZ8Y4juz3e549e847b71CKV5k/C6phSCy3qzFVhATL15c8+Zbb3FzfcPtzQ2/93vf5g/8wT/AX/qv/yops/hycbMk+e4ptliXDUzjRH/s+fKPfZmvf/3rd6/z/n9xb6KfUlYg0oZf+/Xf5Md/4sf44//MP8tf+xu/tPia4W4Adhd2Ow9eiza3jkePXiYXx0effIL3LdagULyKmBK3uwOrVcerr77G4ydPCONEVcuvDWNWC49kXOesgKhZesyn8yCLPiNm1UvKSZ+JsxJg3i4nnNJ/zT0H9iyBLBI/IHK1YvGNgIViShwORyU1J042p8Rxous68YRawzgM2hw3YgeaAmEcaZuWHBNJpxDTGKgUmrLfHUi50K1XnJyc0B8DaZoYxp7Vak3fDwTdhhkMVS206SlErLsbBIQQ1TfqGaeJ1WrNpNdcXVcSC5ISt8edQnSSDpeCKqQirUrj1uuO42FPcHaRTfZ9L0PoAiEkxhCJRjydx+ORi4sLqsoxjj3TGMgxYb2nxKIKDMfB9iqzzoQhsN/tOT89o6lryAdubvcYavX7O85OTtlu19S1p+TIx08eM6WEN47GV3hf0+eRHYZbzVBfNS0pR5JG/tW+oqlqSkqkINv1nIJs40LSSBFoas+h74khyHkDS6MmnAipHUIIhDEs0xCjGeSfmhjdAbuX5IrZr3+ffGqMNKzO3+Vf17U8b4wOyLNGwOQsSpSo8l5pRgQomVQthbIljLIbSs60TSufcc4iL7ZSoMszV6T1hrmJF1CY9x5jkmzScsLku63ofLZP07T4FO9qMWGsUESxNlOghR8j53VQP68xAmGcpkkks3Wz5Nt2rUTTJM0oHidRcrRNwzSNhCAZoN7PcTNGv08Ue9nMYdCM4WUbqznLznpSmlU3VobIxmhqhjSpwzCqqtFT1V6uiayNr3W6RJBaPc11oNblaQZ6OYfxbskdFr/1vbjFWU1krbJBFNDlHV5VKtZrDmxOWstrtrOFtmtFFaMKx7ZtqNvm7tq7F13qq0qH9/MywYi/eppwVj4XXztMXUs0mdb9MRWeXl5jUmG1bjg9PWV/HMWOmOXgn6YJ5z3rVSf9S5HGbrPucNYRojyDmqalXbUYK6keU5DhvaQIyEC4aWRzXPQan/3ukczu+lZiQzV5YLVaSbKMq9hstovVwc6N/DhyOByoqppJt/3OVUxToOukVhqGQWn3Kw6HPaUUTs9OJde+jHO1IdegMh/GQSJEQ4h4fV6vVmv6Yy+WHi9b9FlBejgcOBwOrNcNhqhDhYppQqPBRGnn7L0z5H/g6x/CYyuId5JKy1T6N8sdnHMLECSnjDeOqqoFfe/A1zIZstZQLDx59oS6WTFOibqGZDRc2YLLTjJfixQ1EpwtjW/OWcfwRSNSMsXPFN1eHnI4pjDRVg3eqwzVVLrptJRJZVAItKnkRCkRslXpokz9SoxarEjhEFPGeYv3tbgODUKPo5AKTBHyJJKmglH5q5NJii30Q68QnblxdjqdKsvrIRuyapKdKYqdjzifZKxgkkyDTKHYSEyWcUo449menXF4/Jh+HIUc6ywUiVe6vbmV15ImzVWtKRj2h1uGaWRbibwRjaIxsxxNf45p0uYTaYqNERO+QC2Esua9DB5iHzAqbawbr9JrLzAeIwTacYqst1uclzzEaRzp1muRXCmsyHqj0yN5cLqSZNJmZbtoERBHsgVrM1XtiEF90Trk8M6SU6DyjWDOYyaRMZ3AH5qqXibsIaiEO0Syym/zDCVy0lBUVqAAMUc26xVTJbE3cRqJYSCNIrlruhWNF8ngNE2yuTUQp4GT7VakNBi2645N19HUjRTsV9ccp0AxNePkJGA9TxRTeO1tODt7QEyGcUpLhZBS4cnz53z//ff5M//cnyJnCKHw/R98wHpdMU3zYc1yuJkiD/BFojM3Xerhy8WyXm1Yn53z5jvvcHp6yvWL54tE+OJ8y7Nnz+i6DePxwHjcMQyDZPNFITIWA269XooU5xzEwKZteP21l/jRL36eX//Vv4E1QSaO48jab6hNZtN4DnHEU1jXQvMcp8CwPzL0I+gW5+ziIecnJ3RNxU/9+I8Tc+EHv/97DMOO68tbLp9eipesqmSSbxVoZC23ux05TLzy8it0XcKaiWkqeCyVqznsbzn2N8Q44X1LIfHmm29hVGp2cnbOw0cv433F+dkFpch1u96ekIqhap3aFtai0MAo4AoO+4EUCl275vXX36Q/9vzgww9YqXQP4Me+/CVKKaxXHQ8fnOsMxi7bteNRkPziwZdGbtlFGtnaDdNICBM/+OADhiny0iuv4CrP6cmaiwcPMMYzjQNtvaGQ8S4hCiVRz3zw4Yfs9gcyIv3PMfIrv/prtKuWn/ypnyBneOnRK+KlXBqf+UUU8Yvp+bkUK9rUVlVFoadtWy4vL7m4uKDtOopO8PvjEVxF0si2s4sL3nrzLXa3N/z2b/8Ov/CP/QLWC8HzO9/5Ln/mX/gzvPvOW7z3++/D7DlWiWJeGumin4VUN945Hj9+zMl2y9tvvcUnnzyZj+FlyLYAU4rBGsfP/PTP8oUvfIFxmvj++0947c3P8s//C+f85b/yl5i0iRM/q173szR4lkWXWT5pePTSA6yFx4+fQ0YGcimJDaYUbna31HXFa6+/xtWLa253O1zlJT9ySvem62BtWSThRqOAnJ0/F6Xx6rUhypSZliybZMkKFhVM7ZUFPMNtFvm2gFTa2nPaNBSfefHihqZu5T1WtcXJZs3oDOt1x42CJeU+rDk/O6WtK4Juempf09SFWgu4aYxMU8C6SqLorERCXN/cSKG+0GglcSAmiRyawsQwI7xmGAABAABJREFUjXTOqmS3sD/0TDGyWolH1amfa7veAjBNogaw9lRi/pqacQr047RI3293e5q2lUFCiVASGcNxmNTOAtM4Mk4y1KvbTjyR40DKcQEWVV6tTKPQ8EXf6sjBMsWMtzXeekpK9MMR6z3bky3eOnzd8OTpM0qMopIyLcY41t2athU7lTWF2/2BkiW/cxoDkxHA3G63o207agUIhRjJGhNoZxJqFuqqAPkSJMmbl+eESIWNAjOLKhlEgSVNuikZb2fbifjYu0aUUjFG3RZKAzVkyUadm6VcRk0T8Az9INDItsVZD7q5bTtNNFCAZ8zKc4BPNWwhBLquU8vNJHWqs0KWbiqst8RQqCtH5axsxeuK2xc3VL4lBKn/Up7ZHWDwHFOPb+W52Q/9cs5K431n3bCacSyqDfm7NbKpdkhdFEKU1xETVZLYwTDdgbtSFEmoNzJU8LWXgc000lQVzsJ+PxEji2w3TIPsyktSG0wlVhgrNdFm3S2NQkpJzwo+tQnz3mGLKAnBLKyMpACfFBOVle/hm/ouhaEUqlr8zeMgoLxZQSnxRGBJ5CI5r2CRq+t+TFm4Gwje+5qHVhYp0ecmWJpbHZQqyM572WI3ncRQTUHOtLpqME4I0BKZM0qNDsQcmcKEM365bkRS3mCNp3IGbypWTU1OUQBjKTGME5vNhv5w4HK/p96uSDHy5huvc3N9QwxBhnWzb9gbxrGXWMJJMrpPt1tu9zcSM9hUtF0t+cIhQDGizqpnn2+Z2Uu6iEuSRxwESti2jQ5urG47ZUi4L0eatiPFsDx35iH06enpcrY7Vy1E7XEMMrhJEUpN16243d+IsqofWa3Ewy9UZkNVNYzTINyUYaCuGkosGC/XPQX5OUKQ+EVjiCmzP+45HHY0rWRbOyOWhkmHHznK4MrpffHDfv1DbWytsUohu9MnzRPdWXY2T+FCmgial+ito/GSGylB5lJg98eD5kYVMVHPYeNFLtoy01u1QTHWLlO1xYdbCmEM6rVM+hAWyYlzhZLT4l0t2ahApiy5ad55xjipj7NIw1dmultaohF8VZFVRlhX6unDLlTclLLq9u1dcSF35ULbwyBeAIVVOQ37TjGod0OGBBaV73kphOpaaGy+9mSdhhq9MEOIIsFNkVAMqUhImYTHG4W4SNjxnIfmS8WLyxeSU1tVnGzXy3vkjEiB7b0CdJ7EyOBCtpyFvEwW7x9uQlpOcj04s2T3zfj2UmRD3Pcj67WlPx6pNeMzJ9kiOCtZtzYjHgFfIakdso4vOUMlkoZ5Wz5v8Y0GcEs2mdUc3rLIYpumIUTJ6ksp0ZxsiSkJxTfPfgqVvSopECPeDFNXmkkm8q6jvva2qxhKgJQhZZwT30jJmrGcRVJyvt1ALmw3WyrnqCuJ9hmHiTBOTNmQjKefJsY4MoasFio18sdEo0DI/e2OOEVeHC+ZhpE4RYbjoDL4sGwu+2NRaVFZpFHGiBLBGiuSfOsWpLywh+W9ncLE5l6Q/MNHj7DGcnt7yztvv6aeHMlifv7s8V3zXCQOAgNuGsUDWGbQwVEinTWap2oaalcJfIwiwfcpMg6j+DKME+/hMLLfHySvbdXy6NFDttutbGE1M9oai/eGm+tbHn/8A3KKS7ac945+OLJZr2SrrP4oKWACXVsRY8YYkRHFONEfbqhcpKotmYSz95QeqtU0GA77gZPNfA8YKBUlO6xpRXlgGnlfdZsl0sz1Mv32Vq759WqFNZbNdsvV1RUpZTabtXo7BRJlrQyIpAAapHmTN0C3pHeRPzkXtienHA5Hdrd7fvebv8sf+MU/dOd/zIVep7ZNWysKuKis1khRXmZ6ttH4q8L3vv8+Fw/OCdO4SImM0texCLiioPElAigqZc7vZrlOpOgry/324Ycf0rY1L790gTEqhdZs534YmMaRb3zj66zXHRcPzoHMdrvh8vIZT58+5fvf+z5/8Bf/AN/97nsYFeUaoYjoa9FHl3Ic5kipkjNPnzyhrpvFryfry3uwKfXkrk869vsb/tP/93+yyOWttTx48IBNV/PJ1TPWq/VyjxUr17q592DO/8D78PDhQ7puw3e/9z790NOuuoUG6p3IBo/HnvV6TbfqeH55KddQVUlRpxRSpzRogww5ZtaKnJHa0Ju85Mp+6mvOC9O/z979+/8OEN+YtZyennDSWIw+o45HaUacr6grgbHFaeL2dqdbD7d8/nVVY62jbTtSiqQsMLfhOJJiwcipT06yzYwpsTvshbhbeZKvmLRRMhj6XvLOrRK5Y0rcPn+ONZYpFoZxUL/+irqqYLXi2IsqYgqRcewF/lNLw3DYH7BKc84qAXPOUFcVpswpD1Fl1oGidOAYw0IEnxkVAOfn57RdR4yTZtyrvWUaaVXuKCAl2ZDe3uw49EfarqOpxK9mMHRtp7VTXDzUT5485eWXL9huOlbdmsvLa3KGuhaaP0Z86yFMrFYdVeVwjSdO8n18JZE7xln86OjHgZLR3PiI9zVDGUnKAUgpfoo0LreLVf5IXhpYOX+SDjvFQzd7T+8PSax1yjLQmJok56TwQbL67IJyOURdN3tPY4zKtLjb6FrNR56bt/naLvnu+ecWz29kGkcqjdTxztG1tdSGBm72+6Xw914WBUVpuPNWt2hTLX9GXry1km0rDaDAVifN0Q3qc4TaeFExlrx4EHPW1Iqc8ZWwHrx18lkWuf9Q28P8GVRVJU2UKgBnVo0x5t7WbyYh3+UEz8KVogfFLN91zlH8LNe7067McUZRUwiksVXOSRLI3e1up89cqzYOUXcUVVfOaj49pZZ7ZMnz1UYYBdPJoE2l0U6UJClLDnflK2wRNop3ImN2tWcYem26JPFCrg2BsWEkqSMmAXSlmMQGmAve1QuYcaZTxxgxWYj8zskSwxiYhkEWazFKrnfw7G5u2e/2rLCcnZ1xdfmc1XpNvJmhpzUhRtm0l8zVzRUPL84Wn7WoBZMmysj9G2NgtW7oNdpnJvDL74uMy/UkG+bD4Sg1h0LLVusVm/WaGAQeul6vhaUzZwzPEUs5s15tRK2YJW4nBIWapczhcJC63DmVa1umKUr9lJI+rwOmNtRenoshTFAyJycnHI9iB6nn2CUvA6ycAnVVsT3Z6pghUTU1Y0rkXmwps6R9Cv8IqMg5I7Q1JCqgIIdQthJRUZKZ0SNgRfpATuxubjFEVlXNFCImJlxVYZ3g1nMKBDTH1lqFKWWU8YMxDmcEBiWZiBplYebCoCwyUSE3Z80ha6mc1QkPWJNIJPl+3uiNLhM17yuOxx5rFVqk/gyJRHMUjUswxRBz0XfNMA4TY5wQSruhbT0hlGXqVIyE2UfN83NGvCXeS5i0inyJMS/bt2XCD4sko6q8NheyAbZG/DEx3z0MQ0gMQ8BXjVADs9EpVloakBAmMI4YipL4hEQmE/6EyTI4mCeQpRSFKsg2vWs72Z6bQsya91W3988+OZi8kGu987rRjwtl9NgPTGOkqRraysvNkoWcrOY8SooyJNHNlCnzO6XDlGIoCUIRMIOAWsBbaUCYg+utGu61EQ0hgMbu5CTDiikKTr0YQyoCQvC1eB2cc2QFlhyGXhUH975nmeV70rQxTUs2YYoBk0QutFptaBqhg59uTwR2lWHXj8T9jmEI9MNISIaYHMMgEvGsTUtRKXIGssoO3//eD/jc57/I7337W1xdXvLSw0c8/eQxOSZylKn6NEpTKRPSssQGCPTK6zVucNwVaiWLz6lqOnIRLzlFmsCm7ajqigcPHizXx+npKY3z3N5cYaxhs9nw/g8+WCKOepUfzvJAAdKIlzpkuL7Z03oBR5WS2O+PNN7T973IXa1ltRLke9u2vPLyIx5cnNG2MlmfgnrOsRjjMSbz4vkLxoPERbhKHqrH/iDfr6QltsFpRvTTJ0843a5pmk48LiVScsR5aHVqmbIR0jB3WZQff/gRx/2BTz75hN/71rcwxtP3A3/4D/9hPv74Y0IYefLkiWbS6QMkJV597VXWq/Uiz3dq3Xj48CHf/s53WG/W/O43fxengLM//af+FH/37/7KIhuSDDjLer3i6bNnNG2z0CKDgi8MXqFMlu12w+lmy2svv0JJCWtqcin83re/w3vf+z6PP/lEPK9WifIlc3ZyirWWy6dPRKkzGy0znGxPOdluMcYtkQZ31GMWACBlbiHLMiCa8cPL9jaLtNdo7rKAkOTXcxTpftO2rFYruq7j7OyUlCa6rgFTeO2NV/jgo/cJQ+Dv//1f58/883+av/SX/yo3u/2y2TbMFhFt8vQ1mmIxCK395uoFn/3c5zk7P//UWWbUG2aMDBjbtuYXfuHn+Jf/F/8Sq1ZUQG3bcnNzy9e++lV+9Vd/lU8+/kTlhXaJ35mbY3OfmqwBswVYrTvefPN1Pvr4Y6ZpFG9xlKm9czUxRo7jka7rePvNt7h8/pzbmxtRFuXMlDN+JprrTz6LgFLJi+f6XrjTMhyeCcdFh5neC6TFaCSQdXd/R/OFV6uOtrHENHB+tmW9avn4k6dEnchfPr8iBqHllpSoNqIcmsqo0umyRIEcDgdK50hDICVJQ6AISMlUlpSl+JHnuKO4grd7xn4glYlpCgzDKJn1RqLGZr9aExOGpKkG0uC3TYVB+BAxZc7OTthuV5hSuL29pvKSH3l7c6tbToFMrpuWzabj6uYFwzBxfnqOc54w+zqd5XA46FkbF9m714xYnGGcAmMcxYY1jgxjjzUdWCtU1kPPOEYq39BWHd5VJJO4vrqRnNMU8LbCe8cwjEJOLZAenAtNtdlKNJsmBYwqpa5qt2xLY5jo1jXTpNvBEohT0qzzjDVeondjIeQo7JMsA1BnrQ6qI6VIMWuNk+vUSs6qQ3krGm135ys1mtWt8uamWRrdkh3TMEeXGJq6xbtKn7UCpBKwVmBVdSIxTRL5AxLZZsiUHOk6iWrpe4F6GYPcU5orO+eHhxCwGL3exbqScxCFVyf1o1EpaJxGnBUG0hSiApKcSpiTxvmU5ayYB/piITKqoJFnVc4R7xy1enLzFCgp42uRgYYQqeoaU9u75AYrv9cbq/WhnLe1NzSVYzZ8ZZXu9r0A+aZxWJqhpNnBaOa5wUhjOPvxS15mWBIDKYelNZa4XM8G6y0pJJHkH48c+pG6huNxYhjGpYkW/7jDSFgKxnhIc3Sa0bhM9ykJ+lx7z/5til08yuv1ellU3O52hDRJTi+IL9176kaAbjlLPeO98FZCKEyTZNbOkNkcE7WtqFrJUB7GAavgSozwPOq6AlWg5SSsHadxXbVGnq3qGofkbJNhdzjos6KRzOK2YX8cNP6vEdWJ8kPmBI2HDx7SNR3f+/hDXF0xjgNt25ASHA/TAn8FoX8fDkcwVhX8hr4f6bpugV6Ok8TiOWckPmuSc/Li/AExTrJ5rupFri+DzMw4DTpos1pbF/b7I+M4cvHwnMPhqLZPWYpM00RIaqnLou7oth2Vd9SVY7Ne0dUVMQamYRDbRJFqvqotYZSI2KwLS2MtUwykHJhCoF61oNdD3bY/bLv6D7GxvTcFmAsEyfjTyakzSjIW/4czlqI3mLVF5bdO4zKs5kvKJijFRKPfz+IwriygnkoL05AiRrenZo68cALmoQjRy+gGtszNd0p3hbw1RArOCjAhN7VOb6Ylo2o2Swu9aw5LMHhX6/RBPHRDyUwlyEOr9nhfK/3O6UQuiI48ivQ3pszGV9RVRSj3wE3ea35gku2tk+y4lJNEWRijjbBMnWKMsjm0VknQEIOAnQyWjz9+wno96/gll9DoZtU7zzEMxJAkZcgUJQ+i26v5MxKRSFLJQs6FlHWLacoiq2AGAug2rPJWhhMqZ3WNkNsyGUy1+Ef2+x11vVoax5kqK/I9ed128YLJptfqtiMq+KuohCkrJEa2tIYpieTGeouLhbat6PthgSuESaQhRQEKlfeQMsOhx1XVkrs4TwUxsu1sVx1xaaK9khnnCWMrciInnqV5w5/VSG9V/jJOI+SAdzKVm6bAoR9k+pmEFJzxYDzOVdRVM2elULIOVAxqyK/47Oe/wCuvvspbb7/JD37wvkAAdCItkU5GGmJF4YtdoCx+IfFTiAdmzpFDH3yC4U+zUk7znB05R5USXnBx/giD47Of/RyffPgBDx4+wCCFTpoHNUbOB2ssQ1S/hQaKzw+OGDO78UBOUdFhhhGrMWA129VGojW84+LiXLYu1tEfDyItMpCKRC5koU1hvMd5jzUy9PKVVxCQbPCaphbIQQzLhN0YLxPcLFlv50UAWyHIuQUWX9XyGosMJoxx/MW/8Bf50he/yC/+wT8AxjGFwPn5CcZmdrsdpwpt8BqdlbNsbGJMTHEixrDA+Pqh5/e/+x3+J//UP8kXv/RFulbIgefnp3z5x39MsusUWpVi5vTkhIcXZ3RdR7deLZuMGfbxy7/8y5yenvHOO29S28KP/egXOI4ZCjx9seP8/Jzq/Q/48pd+lM//yOeXolNuc/HHff03vsE0Xun1YamMJU09KbSYnPi9b36TH//Sj3K+PeVsu6XX/FJ0GDXP5u3d6E5UGU4sBgWRCRoDYRq5ubnGGUeIGVM8Bq++djnbX37pZb773W+TQub542f8xE/9JNcvbvid3/odfvu3vsmf+BN/gn/8D/0h/vJf+auyYUEAYvk+MfoOT714YK01fP973+P1N9/Eu2o5U6WwmynHibPzc37ki5/n4YNzVYFY2qZiu1lz/eJdfvbnfp7/+D/6f/H973+f2noFWRWV3Zk71oMSL2dVEAXOTrd07bt88sljrnc7KusoRXJfveTsMY0TOWUeXFywWa+4vLxU2MzsTxPYnFlyA8XPVxayqbb5Ji/bNquAF8fMr5Cv+d6I8W7DO8ddGWM1L3ug70dVHNXEKJ6saZS4nWma2K7X6j0VcOEUJvKEQuwKh0PkC1/4Ub7/3fcYhj1GYyNKgbjvmXSQEWPEOEPT1Lz06BFPn70gjBNd43Ams1Kv6s3tDQ8ePOTs7JTnz59S16fkLJu1s9NTCuCfPuPy8oYHDx+pFWUHpTD0E1XdYI1jConNtiH0Pet1p/41p/nnhevrHW1b8+DihJSTEsjlelqtN4xToKmFJj/0A+PQy/NAG7e2qpftZVVV2GlaBgopFw7HkcsXt0J17weGIO/darOWPFXdgH308RNubg+cnp5hDOwV1Nl1HeMwME0jZ2cnOnRVxkOR6L9Z0phiWAjAKSfSFCXCKc/SRUMaozwXmbMuM+28XUmzmq0mm4jJkZKFgF7XNZjCFEYpfLtWvqdxTFMUKxgoHCopgKgRFRdSV7Vty7E/AhCmqNaHipzU/5pEfjxNs0RdJPPD0NO2DZUOzmNMGvMrgCzbOg7HI6v1lm7VMfYDXVsL1MxZKh3mUDJV7cklKWSq0NSVCjsMKeqyoKqW4fc8CxS2SaLrnOZ+1iKdtp4UooLl5N62xoidLhfGYWR/uxdJtnO6mTS6SJUtn6gf7DJMkXpVpJ4hTOQYlyVLKpluu5Jc1uKIIS5NMykt71nWxItZqWWd0zpB60MncZZN23I49kwhkvX+nhdUkp5i5+WnkIeVnN3UDVFp6UmHpt7LEmS2Atb6z+M4Clm4ZLyFtdbtaRzljNNBgpx1+VNbzRQFZWb1vJKc7oG6COytsnapO6u6IzHRD+MymO2admnqh2kU/kyxS6TRcRgFardaiwJgGKjrlpOLC25vbiAL8ThdXZF0e9k2jSyavGMYB2U2NNR1zbPL52IR0MERCD8n5SS2RStD374f1L8sw5C5l5gHAM4LSNWqSjGnjHce04g1qvY1lRVFivVy1lhn2R92hBAXqKjU/3FRc/XHUXoOtUO0bc2LqxeqcpUhT1NLzZJS1EFoYZgGrIWzsw3GCnir5EwKQpueQsBlx3q9IuVECHnhIHnvSMmpZP0fQdyP4Y5qKTe60BOFhOVIegCVolEcxSz/nEsR76NS1pKixefJfZwCJem0WQuBylomhRMVUxT7PE91ZomQmPKNETmBq7zKfEROGaZRto9Z7LpGpbDeWXIt63KBRLAAJkAkFWUuEsyMMJ/Pt0RKsNqsgYSvNKuITAyyfUlhwplWiinRDGFx0jT4QgiDQJ3UIzQ/zGbIkXidinpapehKCZ2azblfjpIMMYrEGizPnz+nql7WCeGMGY8CJAqynfOV0Q2z+F1SSmQEI+4rJe4ptU68Mg5fe1KUB2AumcpUOgWuFj+Z95p/liQcvWsb8TjETEqFaQq6dWto6oaqdotsXLafek1lzcHU7a0tUPv5gCzLNC+lRLGGMGnRpeQ85+X9bhqHdwVv74YwKL26qmo9YNVvEiNd2xFJmFpx76awqlpiCirpEFlpySzB4d6LLCMnQ3R3q4+SM8YbPZQyJohfaxoTk4JOZIvnCCURc6ZqKny9XgilvqqWgyyFhNcCP6SAq9wCTXD6AMg58+Uvf5kHLz3CeEez6nj1jTe4OD0RiJuXSeR9CWKeQVuVZ7e7wXnHZrNRlcHEa2+8wWGKGFt49ZWX8U6on5//kS9RUsDvD7z55rsM/cTrb7zN2fkZu9sd73z2Cwvcw+nD6qOPP2a72dJ1HeuzC/rxSN04/vg//cewLulQR4YNDvE+zv9srOL976kpnj1/xmq1pm7XWNeyuXiAqSqwhT/yJ/8Ew+EGZ3UjkbNGehxZdysFpFltaGRYcHV1xUsvvUTTCKTqrbff4Q/asigmrHVU9RqcYegHfvInfpKzs1NyMTw4P+cLP/KjQoJMkVgybz34DEPfLwW6/GEsZPDD4cAf+6f/OO9+7jPEnDg9P+OP/LF/im614jOf/Sxvvf2OwBKMDOTe/exniCEtsj6jGxLeUfl95UT2OkvNS+afMJJRfXZ2Bq7id3//e7z00svEHOm6NS+/8io/9uOZzWbDa6+/Ll5s3bTOUsr/1b/5r3PcH8jpTmZXSuHy8pLziwteevkl/vp/+9eJU+DnfvpnOD074Xd+63c4Ho5cvniuU3kdWBmPdYa6FUn/et3KVt0ZGYxZeOXll0XtUbUqXfUSC6TxDO+88y7vf+/7eFuLVzFZwpjpmjUlwVd//Wv843/oD/Erf/dXVaHiddFs1KJxB1OiFC1yhdJ8OO55cflEoDRJ83kxOH8XoXL54ornL25Zb7Y4m6nqCl8VqqZhdfKAv/OrX+XP/e/+t/x7/97/navnT2naWuI3KMt975xmEBfxtgfE9mKwdK3nnbdf56OPPuHJ80vqpsMVJ9KxSt43iavZsdmsePXVV7m8fMGhP1A39SLFLcmpt232++qzV7fhdiZS6xbXzL7fYnRocycRnN8z60StkDIcjj01gRBGzaCeawJp46u6VoZBM6+DRc1Fph+PlOLoujUxRPohcHr2Msl+RB/2pDCxXnWMfU+lWwpvG0LKTGGk0kHHZt3RdTWDbqXC1NOtV4TUgJHc0raRh10IQvD0rhK1hCq+VqsVMUrzZ62lGMejl17m+eULxjHw9OlzNps1MUX6KRALTCETomw3Lh5dLOAavJMMdn3cpChKqmkK1LVErG3aFWNIjINwF0SNlRd5rHViFxrGiLGJ3SdPsM5ycrqlKZF0KPim0UgnidwIKXJ1u5OhnkpFSx8Yjj3eWW6ORx5cnEpETIrkJPWADGt0+6hgnlJbhjDpoFoa2ikK0bvkSFFGg68bfC1E5UEHJN46corEHCTezDpCTHQrhzFZaxLJrsylULyosuLMfVAridEtYU6JqrLUjWcK0vRXvsKZisM4CKzR3k8q0FiRSZ7tbVszTnM2allI3zPEco5PmxWA3ntGtShQInVlqZwOk516jSkSBegclZeM1DnJIWcWv7I0eRWlGGnei+R3GyOvc07oyEVgR01TMY29cBqiWD/SJBnfdSNwyb6fAG1SNfpn5szIX7IJa+uOopaXylkZCgwj1sJh6NWekJd4t5JFbi95t3ahuGeFXc3Xx/xn5iIDumEc6MeBDEwxUkjUrsIWR+W8GJpKEcXjAjK9g4hmDGEYdEBgFj9z29TKDUisN90CepIBsC4lLkRRVHTwECeRFw+q1BMJfMG7Coi6/HCs12vxq+ZMu2qxyPWdk9hsjD4jnJX6qu1abqZbhjBRrECX0Ps9pUIJgYyjax3FWs7Oztld7+iPPd7B0I+cbrc4KwkxJSdRGlRCje+HXngEcSSWRLvqOPRHgcsmiWQUmGwjNGcncX+H3Z6maehWK+kjtKmX+kCYOF4PIuc9IcqgyqqVJGMUtiVDfee8gCNjlOVNLkxJlmMX51sKhdubg2bpFk39MKw3a4XBymc7D8NiDKICmPOsnXz+3nuxfRrL7uaGk9NTYYroQCfnzDgkLBVtcweJtQqj/R+9sV2IlyXr1FEbzBjxamZGm9bE/DCcp92ebJJ42DSXbPZc1epvyMVowLuEkxdvlciWlbQmWxdpCLTVnj2+RSSfVV1hMYQs27IwT++yTNtmyUzO4oVMCH05laLbQglglmlhlLDyWihqMWfBb1cSF5CLykG0CUtplhOr7HXS4IUkG4mcIyGo11QnJDmVJaTaqEck56KbOqtNtCLbi+j5vcYayJbN4p2EiNzeHhg0PmeaJNs2F9Hh51yovWyDZ/S2wSx5V+IvkZgio7ColOV9q72VuBkT5wnHp6h1Rievzjhiiop0txgvAA+Z6ouMpWla8Yz4Sg+5BW4tgw0jEpIU0lJ8zR6x+aYV75lV35/8HDGL5xcjBG7nHGUKSyZXKRAV9jVPf2XSmkg5stmuZToV5XoZx4nKeIxZ0TQtB/V3GQzFigzUJvEe55Qo1pE0ImE+FOaDMSmNtKiUXMLsxTu02bQMg1A9AapKtjchBnKy1K7VGKZMynLQpwzb09MlmqcU8U2caMzE57/weV68eMErr77M/+n//H+Rz2qRFqkQ0dzFdhl9mMwZo7JFkmiTFCIff/Qhb735lgLjHH695hf/6B9RJ67BG8cr736BoDIrkS/dCR5LQcPhy+If/+D738c4xytvvs3rb72tvvT5upqz+zJ5JpPrJlc2TfL6vpiz+vozH370Ad32VFD3pvDTv/AHSSXdbaf1zzcG7IwH0P3tfY/4DLF4//33efDm5zl55fMyedesYplbWJra8k/+0T9GwfCTP/cLYOwSdVNy4sMPP+TV1y9Yre9FY1i5r4p6m04fwBtvvStFUDZ02wv+2T/1P1sUCRnJ65tC4PrmivNHD0UeODcay71a5jd52crNPvifOH+0wJpef+tdAHa3t4RpolttefjyK1w8emUp8Kr1VndyKkMr8LNfeaR/HncqFmP48MOP2Jyd84f/iT9CCpFv/vbv8LWv/Qavn5zyEz/9M7pNqLh4cM4UAlXTyhkDmNpziIU/9Ef/GX5+mCRnsBTqqmK1WlFVtcj2Upampmn45PEzqq7lF/+pf5Kf/Pmfw3tP23W0bcurb71FPww0jQzNNucP+d//u/8H3Y47LVjmPN07yZu1oirY724oBfa7W772td/kMBw5NXOu48wYkEbovffe48//+T/Po0cP6dpOX0dLU9c8f3bJV7/6m9R1xZ/9s/9r/uJ/8Rd4773v4o3I8IpGIZU5+sKW5aEeFVQoBFXD66+/hq8qPnn8BF81dKuWYQo64a8oKTOOIyFmzs7O2Wy3XL54oVYSJ4PWlKgrL1Fs5g4AlTMaf5eVAZDv5ICLDacsESX3h2G1KpseP35K5zLOl0WOvmyfDdzc7qi9p1Gp9O5woKqE1CneuUrORo3Y2x92XN28IBVhTdzudvTHI6dnZxhj2B8mjHGEaaJtZQOz6jZYbyk3VzJg8J5YMm3Xkktif9gTYpDMxzhxOB5pqo5PPnnC9c0t682aYegJcRToTIjiFVQrRFVX7PdiYdjvhczedR2bTcf+6oqT0zN83RKmo3ANhom+n+j7IBFBNwf6XuSNznnlCOxla7JakXMkSj1Io0VbjFGHX1KsXt1eySC4FVuCr2uO2pyEadLzSVRo/fFAiRnvnUqvpUFYrVbEIGyQEALGzfmcQe0ReZHqY0S2PPWTkOeTAD1DnMSLOycfxMBms2Ech0/ViBINkmUgq83RrP8PQbyMRezrsnHyjjgILMdah1cVRIhBto/Wk5IUzCXlBc40e/udUmYFrBSgOEq2jGOgqjyVFylyVLmw0fgmaw3ey+aurkXq39Y1bSfXa1sLIDIVqb+M1hyV98ScqNzs/U1Mmi5hsNhKsnFLymRz5xtt25a6rjkcDsszac7/bdv2rp5WMGpTV0xhkq2Xvaea0Pf/eDzqM9uqtHT+3OX50baNAFTbFl954mFPZUXqbJAlibNWQVPyfGvbVlWHUX3K87DB6b2t6haFZPV9T3/smZI8W2dWAnq+eSdbyahUbKfPmWma9Fltl/dB1JKeppEteFPXKqsui/pktrPN8VE5ZYwVZYnzsmFM40icpkX+nktSIFJepL/WOI3yERLDFKLIl5dGD7p1y9iP3Fxdc+wHUWuaQO28qlMNdS1E52kaSHGSfkTp0TmLB3kYjlw8PKdtG25ud+qDThhvwapv1GzY7fccR8nbLrM3uCSauhNbJ5Il65wMGrpVq7njc20k5+84DtR1ozGZBpMtTV0TkqhnVqs1dd0soE/vRBV4PB7E7nIcsbpEQZWuJcmmeWcOkhtcVbj5+X5+QT8cRfGiMMJj32NIrDqBiZELq03D0N+ISs7Lz7bRfHqS9j1Fok1Tkp9/CoG6bgFHStOd0up/zMY2xySEK+OU8JYwzjHlgRzF6G6NI3EXNSMrcEfjBUOeVOqCEdpXLrKpcUgeLO7OeyS5oUrr0lD5nIWGaHGLHAMkeijNZviSxWw/+5gyIkkokVo/7JIKJmXGcaLpVljn9I01OOMF3mQkT3Z+PdYI2twUmOJESIlKZV1Zp2VuhoMIfUonlLJ9Er+UyjmKvIZpGjXrz96TFEv1PfszYsyL13TSwONlw6mNSdFDe7PZYHVaJTe7yLYw6nXTUG5rnUoD74iXpcA0ick95UTU7z/j52eY1DyQcPdAAt6K50J6dGnKhynIJEyhE/NBNMtN5gdpTDLNLKYwxZGgweJphlNko9LjskyjZu+OmfOI9bWUObycrGjwgq9EwixTW0dlvDys52bJIL4jHVB4Jw83o5u8nIIGVQtNzxQwWSabZJmQJsDWXpuOsoDMrJN7IJt0974quGUGZhj9rGOUnGNrDV3RgHJTMNPEWCLedozjyKOXXuftd96hW20XQMZXvvIVQow8ff6MH3z4IQ8ePqBYS9WuRVLKXVH7qXtai1YJ/rbLtNKWQiwFbCTbCld34nuuaqz31L6R60NJv9kU9fOp+2e5b9CCWmY1M4W2bmXKiLNkY0japGHkGFD+nPpnlhZZhlnGYl2hWG2UnaHYGuMlR7ioJNnaOfReI2fs3HAvuDv9//8+ac+4GmM91stnnHNaSMWKJJQpvdJBhdXhBFfkHWPMMq2PLHCdQqF8KkO1LDmfUX9+s9zTZrnnS5SNvlEZN04KLCH0WszsY12SW+YCdcbkyQdhtLlzGnci/m2/gDKMPtAlSkBpuUVeo13uK/3WxmKbhuws0TrqVctP//w/xue+8Hm+8+1v8cUv/yTn52eYUkTGFYN4xrRtjsUwFMNLb312OV9Z3hV97cUKVVGBKavzC8ZJmoSLN15fAF7zTHWjOjmTDfuQ2Vw8FCm0dwJbUQvLPKiYv5KBk6amqTyvmDeJeDKG+ced1UHD4cjxeOSjjz5a/GtFlTbzWXg8HvjsZz7Lf/2X/yp/+A//In/uf/Nn+b/9e/9Xnl0+FwUGdqEDOxz5HpDJeK8kX7WOeMerrzyi9p6PPnnCFAPtSrYNM4zJLHE0hqZt+cxnPsvHH3/Efr+XyAuNS8lZzsH74J6Qiigj1JeI9YsfWjZo0jh/6rPRrVqMmeubPamxrNYVVSXPh5SjDKf1Z9lf31By4rXXXmV3u8eQ2Z6eYqzj0Pfg3JKTHhQI09U1XVVxPOwx1nB1dcP+cOT09ITD4UiJgWGIy8+Hy4whcxyOSqvP7A8HVusV+/3AMGYgcrvriaFwuztwdX0r0YI5czge9Fl7B2R5/PixEnSlKRqHiWEcOA49N/sdbzav4XzFx588xteerpFhZkxBogZTIcZBhgZ69h6PR6YpaMRfZL1qMdYwjAM5w0qf3c5KHBJEpnEAU6jbitv9TmwYTc3l5SV73Yifbk84Oztj1TU4DPvbWwU1VYs1YbNZL/DDeUhhlvpJh3uZxcJQ1RbvOjKRKYwU9PlaEpSspGchUY9TWfyeM6xJxGhCkF6vVlhnGIZhGVjODdMUBzrbLtaUmIKo24psmIyz+CyfU1NJzFGYAtFGrKqloFq8s7vdXgrhMqu7smbERkaNfVmvJSfUObvca7Ipd0wxSKar90xpIuZIW7eEKEsZ7xQ+OW+YnTQEqUgjVjK0TUWIi41Yz5A7Cq1zEoVTVdVyf91nusx57W3XiA2q06ZXo4RySYzjuHxffWzKAMtahjgSg6q6rNRVSYfqMUqskiyP7p4XxhnZtuckKQzacM82BDSibgZ1jrpZ6/teGm3naNpGrDZJNnS5JExTM+qm3TqvIZfCO8j69K2q6t5ZWzASzy0SdI0fSinqNSNN1n3GSZn5YOVu2zq/p7NEewryfvVDLxFgWh/knDgc9zR1+2noq2XpH5wVT3MqmThNJF9hsqFtajCJMA/0kkCfZhnu+cUZJU2kktjtbqnrmnXXMowj/RAYxh5f1zjduoeUlN2RNZMbmrpS66T4UisvA5gUA8ZZ6rZSme886EHzXwurrlH1pMPVFUNw7PoD4xg4Pz+nH4Su7X2NdY5+6BeP9RxJVXmBfvbHgVW3koFP27LqVtze3rLuVpJHaw1t17GPB8ZpIkwjj85P9f3zi5pzvZJIta6pxbqy6hhD1G2xkPDrpmIYBppGqPV9P2Kto6sl5uiH/frhpchaRJtUcK2l9Y1M/4qRibtj8R0a9STFmEgRnaIZ8UyVebMgmHUDNK6CVBZC5XwolKREYl8tRnJr/PLGC11NqGxWN7el6FRNo1u8To9ySnhEy74LR4x1cqFMkaoymjFrRYuuW8Kk+Htj76GmE8QpEnygUnM3xSmpQ43wRTJtl9t3PiCKHKhSQEZylumhcWbxR5Wi/32cvVl3aH2RYyfxWRjx2Mo0Slb8m82KZ8+eEMLI6empEHfHXuW5SxAhZHlP4yQPKPG0pWW6KBsmFi+p0SehNVZIjm2leXEiNx1jJDmjiHdkAl755ToQ7+kdRdHNB9D8Z2SJ4ElBwGKoNMbYmdQ5i7vkuhFJD9StXw6grBv1nGZ5nb3zJec7kiJFByFJpNfWG/b7PQ8fvcxNuRUgVyyLfNnq/4wVQuksyam8+DHtDAdxFdMQsOqjFN+AeKWt0UPZOp1YyfWbRUcu10lJGk1gWK9ahaFByXJtuaqhqRPXLz7BEFifPODi0UNKyXztG1/jM+++yycffcTtzTUPHjwgBlEplP+efKMsG9uiPlJj/F0DqMCTyhTifA84TyyGaBxDyHRdi5sbPi1qnJ0bF/TRZcg53PkLreZtFseULH3ImilnsFmjEfT1eTfHtJilsL4DFAFW7Ak5F5KxjDFze5wk3083bbloc1Jmifg92u1yzfCpnE5jwbrCOE4c+gFrPZV1SvyVayKbvPTaor68uy5lopzZTRM3w6BnAUsbleZiws5q/7KARmbbASA0d8QbGWLi8mrHw5dGOWv1Ae5mLxZgnNWz8t79qxu6uXhbCM7DxPOrHc22v2e1kOvbGPXsK6jNmLv33eq03aik9/ltz+0QOD0956WTE2rnJeKkOM2wlqFZiHC7O3J20dzROvVzLOVuOCk1msbOGKQRn+FHOUOGoZ+oW5kky39mmZlUd3WkntPzYDPdi/eZZQnzdaTv1f44UJ2cqtpE/dnO3t0qSSbb6/WKz3/+c9rIFlKId1EZRSJDrBUS6d/6W3+H1159mX/lX/tX+Q/+/f9Q4l6qehmopChxH8x33lKIffo9efjogqau+cGHH7E/7Km7TlUwo/rSxD7SDz3DOLA92dK1DZeXl7phqnTzH7GaN393tsA4RmwBryMa74tu28pi/ZmzNquqxVcVMUx456SRzX7JMCxIjNwUs4LjRsI4EqbEKy+/yjjs+OTjj1l3K65vnnJeX4jSyjq+861vcX56ynbVcdzdAJG2rQgxctYItb9rHJOJxDSS5gx1MkEtOoejeBljisSpsDdHAdZxZBwD1lZc3+7JGGpfUZA4rLoSomrJgaYW+Ixz0mTWVcuqkwa3HwO3+z3PL59z2Eum49WLS4amUQ+9DC9zkucmSj13UhnQ+DnnVIZFIQYoMA2y1dhf3wqUZ7NlHK7JU6LxHV2zZn/ck1XpU7LkqscYGTQv9fTkVHzNKRGmiabbytBFpb1FZaozsI4wNwhyLRhvqVyF1w2wNOeZzXZNCFmBVhWmEo/nnBrhnMU1ct2GGGWbp3UUJYkVKElyhVBe5c8MMRBiYrWWbGprHYfDnmxE9mwrZTQkyTIv8yBQZakxTOLnzUkjyyZ5JuuWuG0qUozyerOwW0KcdNMq3k6hL4+03WqRM/fHozIppAGXrZg2nGWJFMcYJ5u+plXp60jlagF5JpEsi53tTkXTNAI+mqZRKduiwpobu5k2jRGWC6Ww7jrGYcRtWs0YLUQFJs5LibmW6seemAK1qZfmL93LiJ2hr0UbSjRO0lm7xACFMKmvWgbdaERYKoWiPtX5nNpsNnjv2R16mkpi2YIO0mKKTGPPNAXaTryqToGAgsfRZZIuIJrKsu4aihG1UsoZmw0xRVWqzc8xqYVdNvcoODKQzUUAZ16vA6FCS5SPKD9lobbdbpniJBFJQWBs0Ubl82htHEVRKD7io1yDWVQwFMPAhPd3sXUpyeb70aOHDIPkPZ+fnfPk2WOOUa7NmCZOT7dUlefF9ZXArtqafuyXnGGHYdW0xDQpBE2a67qWfgsHJ9sTYpF+bBx6qqqh7wfquqY/9AS11llriSUro6HiZLuVszGOVLWj7VpinCBFGl8RMPj1RnzNzlNbJ4kzsdDUmQcXD9gfDur5tRyPBwqF3W5HrbTokhMn240oN0qmPx5YdR2bkw1t2xFCoGk6ShkZhpH1ai0S8n6kbTuatiamIF7opiZFVdQZu9RaP8zXD93YrhrJkiTJoWoy90KNdQocwoJ1t1bys9B4AWcdynmddy8YJ4VMjRPgTMpKa5NpjEROFSlOFJaUszTCWadmGIshSLNUUElyQ04Bq5kHtbUi/4qJWIIcDNaJiT2kxVuAMdRNg7OFMGRi0uCBuadNiTAFjeMRyajcoAI4EjqD1enYHY1YvAlFJWKyxQohYYqbeUxa0Ijn1hZduBgxvieN3HDWi88uicfBGGmuAOrak1Lg5vqKk5M1lESYtLANd8Q7rxuGk82Gm+udfh8pxha5qjEyEABClOgf62XHWrtaJJFK2JVNxUDVGMKkD3PrcbbCeQGaWDP7hueYEk8cxa9kbEXOIomyXqBjc7YdXnMTtQCcPRDWZdHpT4G69pgszexMKBQ6skiNZ0mK+AMtOczeboctMvSoK8nvska8fn3fi7TUWLwV0BnG0lQioZ6Dorv1GmPEPzz2owDArHwubdsQwyjZt+qjMgVsJV4Lg5FMwZKpnaFpqiVwe/Yie32/VqsNU7CsWsP+2ONcYn97BSVxe3vF7e6aUjLPnj7ha1/7hBASh2Pg7OLhMkwoxEWuMoM+ZDo5S3LRIrYIyCkL0OijDz7iG7/2m+x2klMrcpaV0PbUK1P+gWnpTMiFOVpEhlwGGXbsdjusterPsEvenVmiMoo+nPIShTF/X7jzb8z5fce+xzlP17WLoiCmu0GNZPLNsV2z3/HOXiHgN5nglhS4urqS7UhdL+AptHkFo0WRPHynFCkq0Zy/1+XlpUgAuzXeeY360ixX9XnnImh7a42Sx+WhbPT7pxRJaiMYh4nt9gRf1feUKGW5p+5L7UopKqe6R97FLCCQnDO73Z62XeF1U7HIsdW/OxMy5cwQwIZs9uc3AqYYBFJiDf/u//Hf4Ue++CVRr5S7LeHMVxDbmdMxncFosykfjmy6jMZ0ocOskjPzSjOZcu/aLMuwYrYozL6whcpsdOBZ8vKzZcMSCfZp6Tn0x57Nei2iodpjvBO6q7Oa2VqrT7LWbdo8P8lC9i/zEEAKYowhpMh//l/8l/yL/8Kf5t/8t/9t/p//0X9MiCOVr5bme/aN53uv5z41WTI7C9vtinfffoOPPnnK5c2eummo2lYyAYvYY7KRrNTjMXB+csrJ6Ts8e3YpW04lsya9Zp0O5mZLUc6iJpgBf9bq87gR71TbdvzYj32ZDz74QKwTYWSzXWOSUEYrXxEzC/wvz141a5li5OrFNedn55xstzR1w+2+Z7Xq5LyspMDf3V7jnWG0GWfh7GyrTUWi7TpMsUzjxKE/qDTScH21IxnZaoUoWZYpB1KMJAz9NNGPgSkGat9gjOU4ybYspswUpoUCvl6tVAprpcGthEFhDTRNi7WG/WGg60TOe3b6smyY9LMapqOovYzUBrMfHjSL3RlWXUNVe6bJYk0WIFbI3FzvaOqGcZioXEXlKs2OzZQMznhW3Ypx6nEWTk+2nJ1d8MknnxDCJM1siPRDj/EOS6UE0UxBpelW7VDxbmhSijTXvpbUBav34BQj1nvaqsZajyFgsPTHCW8tOLl2h0GUC6mkpQlCCe/eWUrlSCmohxNR9qjUm2yw3rHb7/SZL+kE3aqh2HnjZhbLUNGc7hkiNgwB18gCwDm3RCpajQnLBYH9ZWG+VJVGCqodTiS+UIKCbHKhaVrabs1+d0sMMuToj4PkeyqtWeIKhYItWctS44QQ8a7hcDxiq3qBbJUijY/QYEW26pyRrRtJCeBRVWySzWs0rpBSmIYBZ61S6508S0NUuB+M00SttXWxGeMtrvZkJTeHnJQ+rRvfe3C4qpKacRxHpmFctrIxZZLyB4SMLjGVc504R7yUUgQ0dByWfFeZJcs9cTzK8LRKlQJSZxCX1BZoCop4YKGqHEn/rBk0J/BR2RhjpAYsSLJFVVULD8B6RwryPs6+zLKAlyxoQz72A2tk+z6nqcwDBedk4DIOI/sQaOqK45DuBsUKVhOglCgcJE5I6z4HJydbcg7cXr/gpYfntE1LiJOCakfibcS7ipPNRl9fpBhh0pjSknOmqWuGIBtxYxwxCH9hVmJaY7E54bxnu9lwOAykPFL5WiIPrROK/JwpjSEMIykFqtqxWrX0/UDfS5PqimW73jKGiXGaZInlnChvjpkSIzc3t1w8OKOJgcsXL+g057mqPNM4suo6zk5PJLpnveLqxQtsgRMF2g2DwLeapiOERAyyqPRehpczIE2k2apEzQJka5pWKgf/w7OOf+jfKeSsijFEpn6kdIaIbPLmAmKWrc6N7pzlJWZ5e+efVXKZnQtgC1kR/7L9McvEUyRX9+R0c3h4QXWLBWc82UhDGKfA5Ce62uO8w1PwwPnFBWMIvLi5kcItyWZXIDwSIWN1i2wVgz7DRWb6r8kiMc5aIIUpgJdG0SyG+KjFl8QJiJxJDtza1xrPE2Tdo75adGNk7TwpRA/12YAqns25Qcg5YpJ4Wb2v6cOAc+IxqeqaqqoXwmAxeWmcBRaR2axWGCd+pBJmIJXmtea03OwFmUDPckB1iYvUNhdB4+cixMcp4r1cuJVuEeIUl+2Ud9VygIQcF2my0yLcWt3mIwOCnGYqWk0q4mWdCyasxLhkEjEhFE1rMDoMmQtj50QaL5Lre/KVOQ/DSgGaS+HF1dUyrWvqapk+xyiGepno66ataPGZEQlzEgLhHMzu1OuSI4tPuaQkpFdjoJJNn7c1m03HEEaMMTKtipHKOyoFWxlnWK06TF/08Pc8evSQq+uBFAO/9mt/j48+/IDPvP0upUy8992v8f3vfJ2kEIVS5k1p0i3enVx1bjRmKBDaWM5gImsMOcTl96Ck3GXDNmcDlLkgt5qpFoXAbCoMUjwLbGuWJkvGXC4KJOLu9YhvXI6lKUzLA2f2fs++UmflfRZwmtGhwLh4aYuqI5xzdN2KcRyUoFgWSvZMHQd0oGWxFHIMHI+GWNfMN6dRdURdNzgLV1dXGNdKZqSrGIxeTzFQzdEWQ83lze1yaM+/PuddP3z4iEPfs9vvaJpW8qanwMOHD3ClUMJEjgEXA8P0icZuyNmnx4c8UPXcnM9dGTLIUES8WYbT0y03N9cLPdu2DZO+zlXbsm6FGnp2LlFKb77zLh9//BFf+9rXxR9qquU6iCVxGI6Y4gHPL//1vyHAqOOR1157jV/6G7+0bAbR3MCukzzSnCRi4Rd+4ad5773f58mTS4xzXF4+J+fMdrPhldcEIOWM1Tgd8QoeD0es9UxT5PGTJxRguz0hxsQbb7zBkydPuFUf07uffYvPfe4d/spf/itawIsH31baSC6e/cg4TQzDwKrr+JEvfYGz01Mef/gDck6kMPH5L3ye3/rGb+FV2bBcYEU8dTnKtWysDHvmrXY/jPznf/Ev8a/8L//n/Bv/xr/Gf/af/mfKSaj129xxJWbYmlVFwcwPSLqpatqGd995k/rxM548eYbxoj6aJtnaVZXTrVLheDyw3x85Pz/n/OyMqxdXHPr94k+8U5SoNQSB/pFluFhy0Si5GYQT+O3f/u1FfjgXVJVdMQwHlXfDoe8XMM4Mq9tstqRc2B+OPHq0pm5q+nHiZLvRjbDGx4WJnGCXI13XUHetgg+Rgs5Ymrbh2AtPI6XCZtNRdDAQYmK7XVFWLddX11hEHnrse0qK9EnuBeMdNmeOux11XdF1DdM4ys9lDW1TUWlMhTz7y3L9tW1NyGJhslYaurAU+g1hiOxuDxKFkQXgUld+sR91rTTIlRNOR1t7ok1UvmBNoqkdVVWrnSVRctSc7kLtPMdDhKahbYV2nHVAMQwDT5884ZVXX9a4IYm3aZpazxr5finGZdPn9IxNKZOGiarxMnBLarfRZ34MMgDt2oY4is9WyRbE6f9P238/65ae53ng9aYVvrDDOadPJ3QjA0QiwAiLViAVLInJlmWXLVnBpoNseSy5ZjweTdX8B66pmSl7RlYgaUmWZJKyaMmWbMkMwwRKpBgAEEAjdaPzyWfv/YWV3jA/PM9a+0D2lOEqe6MaQHWfPmfv9a213ifc93Un6nVLzIN6uqWWcMYyqUdZ4H0CY7RGfN1df5SFSBI+SNFol7quJQ7FWm0cR6qq0royL4kc8wBY3s0y5ErlWhozjhNtu8boAM5Yibwz+u7wlcTQHPYHmrpd8pcl9ULAfE3V6Il0XTcJUGfUukDUWjkmeZasNLi5qO1htnhog+59UGgRy7UvOmwss4pMs6aN5u5ShEEzA9lKLkvCATqIyiVDkOFm8F7ePfMQXROhS0zKZHHL8LJYMJPGUs1QLV0geedxXur3YRjAzFtQySUGBMTmPeu1xNbVtUixvbHkPBKnSLBe7H9WUg4mVTAkLb+cE2VXCAEfnEqWreaDa/wbRs95rUi12TEFbFXLtfdC0c85k4tG1xRRNM0wvDglchELw2F/4PTshKqqiXFekBnNZhWoZ60JCEl96FPMOE2YyCmJX7gU9XWLfLiqKoaxl7omeO4/fMBq1VL6sljoKIb9bo+1ls1mzRhHqiYwJpH0OmPV0pFJY1J2gNPM8kmi3cZhsX5WvqKjp+86LvWc7fvElCaJxIxRz4XrDHFRMUletw+epl1x7PaahAI3zs+4uLjguN8LC0c99ofjAazIsFOO5EEGEDdu3JQ+zYqfN+qfGaeJfpy4ceNc6w5DLtAPA8MwUIVqGe6u1xumcSRmo5ZVsYOmHNXyMPzvA48aFayQsmYlWivEQvUMzZsm5ogWO3t60Cb1GjxiQEzJGpxsnWSsidxAD3drVaorG7OUZ8CBGPFmKVXW16yVqpwcE3EYcCHQWIcHKu9YNyvatnDv4cPl+/AhSLRNziSVU5EzRqcizs7gJ2nGUe+Tn0E0aFSI+uHQ5jTP1kB9Qc2gppykgfbWk52QN2e5LOpjm3Hl4JYtyjy5nDdj6EsuFokyKRh8qKisI0W/SPzm5qOIgUaupz6QDx4+ZFASJMhLfybriVJV/33rsLkA8nInzxtA8f/OfrOk4ehz5mFR0uPsqpghOhTDrJSfczMxVgoF9Znkch01ZJ28mHIx5FlWqrEZKUncQVAvBipljypxkdBtv0g0y7yN1C24NAXSTPdDTwhBG1QnMqcZCFZYoFB2jgIC4jGJ5NWaJTw858LUDeodB5MtfTdIOHsSdH6uZctSksTRTEqMFuN/hXfS2GPAB6+fU0Xf91jfUgq8/NWv8MKL7+L+vTt4Z/lHv/yPePe7n+VDH3yem9sNpkRQirVR2MMcwYKqJgQCEZamdd7oLc/pE0OrOQZphlt8vezVLZu9WaJ2LQ7VyCjdvgJa0P5Tvl9tFhZvjP5Z8xZuBtSUIpPguWiIo3xGp6enPHr06Ot8U1VVSZZlXWumYc00ia9pGGQymHRzLch9GWrwBA026s8jRGlH26zw3vIrv/Jr5NzQ+BVn6w1+1TJkKWy8l0Lg8mrH9saKs7MzQpCC/uLqkoePHvGxj34zdbXiO77j2/nN3/w0Dx48II5Ccvy2b/827t+7S4oD+/1+ga7EdL0hXC7b4rW63tCKklUgcTklhnHg3/8zf5pnn32Wy8sLpgUqEnDes2paqipgNDN49oB//nOf5v7/8//F4TiSihQeH//mb+aVr73C44tLSnakZPj0b36W8pu/hXGWb/nEJ/jKV7+qBbVEEwQflufTAqum4l/4/t/FZ37jDr/5T36Fdn3CS1/6IhcXlzz37LO8/33v4f3vez/OFpyNlEHIoeRE10WmIXHna1/mq1/7Gu957/sowLO3NrQh8uq917hz5y794S7f+/u+i+dv3+B//Ac/ha8asI6s0LUFuqWf9aNHj6mqwFuvv8J3f/fv4plnnsWkyL27d7hxfiqF2xOeROZXESL3TCmpFUaaRGsBJ/FXP/ETP8m/9UN/gn/zh/4NfvRH/wrTNC1euuWZenJbO4Ou5i2uhHhiTeG5Z25hreXuvcdM/UC73nA4diofsxqtYggusL/aUzeB5597hsvdFffu3SPrs1xUOhpTUiuFU5+j+CxzmZ9ZPf/HcRmAbTYb2qbFlYlx7Eg50g+jSCxVahtCxapt2SsYBn1v+lo+x/WqYYzyDq7rimmQCIt+jIxxWD6XkjPBeULbsFo1jGO7DK8EwhLouo4YCnVtaYJwBYILci+/Dlf7A91URGWgComqrrhx4wyD5JbGOFHVjQ4w8yJFViYNzllOVg04x263x1qJ9pqCY9WuJA7D94ty5epyB8XQBEfwBmuLEl3lXu76jlwSVe25ffucUibaVpYAobJsVgFyhfUBUk/btOxKJo0DY4qsVitu37whJOBxwpSEo7CqK44pquVlVoxFvDWUebC7QIciKWasV/UNRiMS7SLTzEksEW0lZN4YJ2I2qtoqGr2T1P+pZ4sSeX0VyMi7db7HC7OFRTOJF6WCQJzkuZAmd1YVWSvPkVd723yfS30k38PhcOTs7Ew5IXZpfMe+Y71eaeyNlWbHGlyQuCMB1QSsnu85Sq42RWobkY7HpTmTmCV5dtABQFs3WC92rpTKUv8+GbFV1zXDIPA3GfpZbLhWaVXBC5h0mJZr4qyjbRqOKo+e5s/LWtmQOit8EbVDpRhV3l5oK8kGLSmRJyFXiKpBnF7eSv00Z96rwlskvN4uea6ifirXACbnnqhX7TI4nSGdbdNQOUtXOur1aon3WzzYTpM3NBe3biqMBxf8Ah61CvgKqoKaKcbeS2Z0yYm2kYidyrDEYJZ5MG8MQz9pLq1bFERVXeOrIFJhBbE675Zs3xk2Oj+jUQfQKSZsmbk0ZYmiFJglS70SY+RSrWC73Y5j3xHqirptOR4OCzV+HCbW65UMUsaJ7gmicdu2xDjRHTvqVja46/VKWTaawhET2fklpaTRbNyu6yhNTd3UxCzy7UntbU2jNVDVyLvBukXxNgy9KMKt1EyULCpGk9TOOICFw1Hitk42W7wPXF5cEafIdrPFe8/jx48XK4fVZd/V5SWr9RowjFOiaVfUjah7qzosZ8zcO3THvd5nUk+2bQsU+v5A266+0Xb1f02ObcYaoW+mJJp2kanLBJWi4e0qCS4xE5FJbggScJ6VapxLIqjMsmgTos4r2ZQag3EWk6VJMjkpUEQ2qN7Iwz1pFlKoamKKGrgtCJt1XdFUgbfeeJPzsxs8evRYaHyTdsUKRgp1JZN2layCk4bTWEXEa+wMDusMBkf2UaluBmMlM3BeoTuNNJpfvk6pdnbZguaFLDDLNQvzNNICM2goynVxhlSSyGbnNEbjmGHteSbwqtnbGY+1ReEIc7SMvIS9tdRtwzBMPLq8wDtPU1W62cwiDc8znEb+y+pqaEzzlrxouFHm4mqHxXByuuHYHyUKokgx7XXrXoVmkYIaK2TncRJp+pwR540QooXPdH2jG928znmYeUoincaKhEw3fNZcH9i5CEhAJGEs/uR5a46V7eUMvkIPnhDkL8lr1eJvgbNk0jSBtUp+lMYthIChSDFEEUAH4rEpSYA/zhulaGdckIZn0gMopciYo0AzFBghE+VAjknjFiT+yFhDqAIxWdrVho9+7BOc37jJP/vP/g5+/Cd+nN3VIz72sfeyXlesT4JAFYqhlIgxIveZadZPuhJtkU37rJZYiuxZppvnsHRUpmiXpnSWIzGHhuhzZZcmdY4YUXminX+eeeAiv09wQYvqWZp7/c+lXzMM46SExooQ7OKBiXkU+MF4hQ2FMonCwDpDTD0XVx3GWJraY2yUbU+M6v9PC/gux5H9eGCsZ+iKPmFGtv19lqLs8eEhITQk6zg5OSd203J/1U1LKoWYRt66e4eqbnjq9m35/rqBq6sju6uOj330WxiniRQ73n77DldXO+ab9+Mf/ZjIhqZE1/WkWLAmkK1sXfLse53BH5oZOHuk50a9KHWyOHj/B78J4wLPv/ACz7/wwv/01Y5Kf2cSCXLNT05vcnb+FIfjHclGJbPf9+z3A8YEftt3fZIb5zf41C//Kl946Yu8+z3vZbWq+d4/8Lv5wAfexz/8H3+WX/jFT+kGg9lYrH9OIZeBKR6pU4W3hb7bkeINpnGk6460rcfkERMCoapo6g1dGLi63HPj5pZPf/Yhl5cnnN+8yWtvvswHPvAB3ju9yJ27b/LWW2/whZe+yB/8vt/Ppz71KRmGFEfOXs6BefqrDe6mqbm8uqLvjnzoQx/huXc8D6Xw3Asv8OrLX2W9aum6flHjzEXr/CzNnuaivutCwWmhf7U/8Nf++o/zb/yJP8qf+lN/iv/yr/11dvsd3vhr9cRMbvZWr5EqIzRfHIVY2ZJ59vZNVnXN23fuMBwv2NQNU67ou54paxxGLRuWYZy4c/ceLjje9e538/jhY46HA8lcK1iSxvM575ghtrkIYMroQDHGadn4Wl/RD5Gxu2JKg7zzxkEGWlNhGiKVdZAj3WFP02zEA9wrkbkSaafX9+kClIxCJ601osd5p4RsiOMI1rE9OcUaw+Gwx9pKJLp1xdVR3tdeFQhVXYulxTgdvE0E76i8bJFCCFTeEnyN1eIZkxiGbgFTCZRN1EQzJTqOo9K0CzlNBGuog2O/P+AM3LxxSowj203D/uqAEQobVXA4ff9VTVCZuUhk6+0W7x0n64YQAqGuoJwxnK/J2Yicz1qaRrbnx8ORZ565JfWWdRyPR6oqMPQHtpuGKhjdnsr9OE0Jr/mZpcygQkgl42shoHrrxNcJBLVMSZNw/b2fbNd0XU8/CgVY4vyGBfwkQ2hpNEEo0845CG7hC3hXLeR7Y2RY7p3XeCC55qNGe80gyFm9Zq3RRIwyp/stCw3vvMRL1ZX4zlOW76doProzAierK3mqiqFtWoZ+0mWBqNPGKPahcRiuB0tqZeqmI5vVimPXExzEDNZbnEYEjv0g0V5JaoKU85IhOg9Lco5LfWito6rmoWugXbdMUnxSYsKGQN009Mfumj2ji45YynJfpqQpGwqtbOuGEDxTdOQxYSVsEmMsQ9a0iNozzptP9d+iiweLoUwCkiq6LEhJiP7Oevq+04iiWgYYxtNdHViv1jI89hINVldCxZ2mqNtYiemS7fDElBNVJdwcY9BaNy+U5Lk+ENChROmJ0g6qRjbBJhWcqxZOxXHocd7Rri1jHBnHcYHZVvouqauGsZtoThse7R7TVDV1qGnqhrpeYS3UdaCuKhmQDCPZZIKvFcRVdKigilLNI/fAfrdnvRaQk5037xHyBMZXHI9H6nbFervFGTitz9jtd6RYZDlVtUzxoBY9UUyw8eIJxpCtxYTAVDSq0QemmAhKDz4eetbbDVEpyHOzL8P9I/v9TgYGyDIhF1HjVq3cr+LJzzgrUWgAUQcLU0xUtVyDh/cuCD6wPd1inQGTWbWBYTiQc8AFAQgO48QwTJycbDge94xxZL1aMY1St+32B1HS9TpeyaJeaJtG7jPr8QbauqapZyDo//LXN9zYVkF+6TAlnXzFZWIjRnf1WPggLxktkK215ChFfYxRPZNmmZDknHHX1q3rklsLymsWZ1lAPajcazb5Z226TIGmqWibijhNHPSmHuOEnUQ/X3ImlowNhhInjGb9zZP4nOaXmWxsjUpbrLEYp0hwMjHP/kEP6n8QyExSX03AVkqZVdKpug7JMS9Fe84SsGtmD5jJiqN3RH3Ze/XI1VXQn0fgHiF42naDNd3itbNOJLmzRw71npLBVQI5ujxcCmmwcsuLO6co8kUj5VSKMmE2TrwE0yQPUhFFn8CmCqzX6yUPLeXI1GdqDapPqehBGTSH7SDb+jkOZo49ypIBnI1CYWa/rDZac9EY40gwFcXKw5pngnLS7avi9UuGyvnF/3ntzhSfs1ugOKJkqq0lVCIXjVORzN40070NtliN+9Fb3Ml0UV7S4tFy3qmcLhHVp+aMI8VEsVnk9iojSUWmxMbCsBvVN+woJjLFkSlnVquWqnYKxzAkIlVdM+wTKZdFbi75qoHj8Si5iN5gnPjUSjGUJBtVuX6zaoIFCpYLQt8sdoFNFAVGLJNjnWzPfuXre2bO453jeuSFD/O2VQ+nuQlI6ODmumAAmJ5oZEUlcy05+bqtLpbjcUBwLDNVW2BqxRSmJBNqrz6klCUeyQdP34snrA7il4wKT0ljpj+OVLXHBIh5kveBEoyTqh3mIHgoDEMkZ8kVrK1jmiKtcdhQ0R323L13l/PzM0JQX99xYLc/0vcTH//mb+Fyt6PkwunZirfeeIOx7zDG8PFv/mb6vme/39N3B4a+V1uCV5BJ1s98zuB1i0xu3lTPBcEcobTZbPhX/+i/qiCKzG/91kvceuoWLsjWLsbISv/Z/nDg9q2b7PYHnr51gxs3brBa1+QSKdny3HPP8sEPvp8vvPQS1jt+6Zf/ES+84wWeff5ZTk7PePGd7yLlxDBF/up/+WO89MUviqfUzCTiOWNKVClNU6mfJJHTRE6J4/HIJz/5Sb768stU1ZbKS/yWkIrluaubmrZt2KxX7HdX3Lh1g5df/irv/8AHePjokXowMz/7Mz/Ln/0P/wM+8MH38+u//uuYUsgoqEyb21nGXYXA2ekpjy4uGafIoeswpbBqVqzXaz7y4Q8xjiO/+RufWRQr13QEpSeTlvcNZOUkiLrk4aPH/PCP/FX+0L/wA/y7/96/w1/6Sz/MxdXF9eZW3y1Rt72lZIzSYo3Kn62qF3JKnJ2uWK9e5O7dOzx4fEWxge3Jlr4bJa6slm2E0YioaYocDgeaquHWzVvcf3Sfq93uCSVGIY8Tyc3qEymUZ9mlwA/lua2qipgzV7sdxma8K6zXDXUMIu0+HqFUxOkIRaI3hmFknCTGZy7Iq0qsCtPUgcnkMuqgRq4fOTN1iX6YyDFRJtkMhqpSXoOcE6tmhdPNQo7i0bt7eZdxzBy7nn4YZbBoDZtVS1XrVtZAcIawaXAu69ZMYjxkKT/79eXnN8mwWq9wXiWQpqUKFcYY8cgZQ1VX9J2cQWNQ1UhTi9pLh3cuOOpqzdiLYio0LX7xYWbqqqb2NxhjZJwmrIVUIu984WmOxyMxnrBZbUQmjFhaivX0g0iCc44CV6qqxWMn0YKSJVyegLgZIzJPFxzd1CkERj7zUaM9gnN4L5TdGJ04wLxTX29PcCLtnZLEQ4Ug8mGxiEgzMU3z2TEPm1ngZEnjYOpK8odFhjooGO0aETQMPXVTLaBNySiVZ2fVtsRpIlQB5wKH3Z5gZIghywRZEMR0vdio64aUB9I46jBD2AdTzPTDwHa9Jue8XJNGpeR1JQCqtmqWbWLXHcV6Y8yyWDDGYrwMecdx0DomM02DQCa5vi5zEoQM9FZ4J55y72STm1X1WFLCh8A0yUJjHCWhw9hKc1s1rmcayaVIFKLGCeYoHvp5wSDDJTeX1wuEdB72zd7aWXkYY1y23O2qlVreWnwt16GpK6nnhom2qVm1LYN39N3E5dUlbeUkwzsbrJHFgPNmYTXkLNCtSe+HcZyWGsCq39faGbIltbcxRd/38mMM2S2D6XZVqxJQBuvTdE147oeeR48uGfpIGhN2I+o95zxV5ZcNdz8I6Rwr8ZXTFPFezlZjHVbPmn7oeepUhlrDINLg7WZDcJ5OwUhH9a9WTUOMiUN34PzGOXXVkGInasZccL7C2Mjh0LFqGqYxcXm1lzPfsdRUKWeOl0fdlK8kdjDJoKOqxe/tnGMaJy4vL9lsNux2VzIka1uGcRI7pTFiYTSFaRqlqU5RvPIh0DY13bFboIlTjByPHe1KBp5NXRHjRNtKbZUVrOhDxWq9oW3bJVN90GSXRmsO6wxn52c6gJBzmFIIzpN8EEtWTmzWa+GdfINf37gUWSEwc1ZZ1qJ0Rrwb3bJ5a6HMhYwBa6hqmZIbNzczbvFOoJMyNCbEe68h4nkBGxlz7bF188ZIJUpUkjFrikw/QwhsVi1pFIroarOhaRuq2nM4HpatYDJRczAFHV+UZJe1yPbqiSNlTC5UlTQp5Ex/7LAhLLJekZI49UxJMTLFKD5FJ+CqrMW+ZuKo11EgEgaJ7Ug5yYNuvcq4VYrjWCAJGKO5uSLnqStPdygLHXMcRaohJnP5tVkzb2PKXF5eqZG7oqqrhUA954WiUBPxHs6NJkwpYSunskiZPq5bIa9NYyYny6EfpKmpM7du3WB12rDb7Ri7ScPUnW6/n9jQG0uM2iB5pwCtpHJ1gQxYN0u0zeJ1WTyFumhy2uCCHCpF5etzxEhGIDMh2GULaYx4c0RiJ4+CM0Cw9P24EFR5Ih4ACnXb4J0TCQfycC+KAc1KFt+pFZqgzC5EkkPBOHk6hmG6pmRnkcT3fU/X9eqLrch5WkKxU048evSI3/yN38C5FS++691cXV3x5ptvsl1vsBgqF8hTZEqdeJry9RBl3uTFmJcDY/avlyIN/OKb5drvM6sHBLw0Y/ET1lshu87gKd24WiMRXlZ9nsbNsBxtdFHQhMZyJc1zXgjL7gkYkA5TpDEXaFiKE1Wo1P+cwHh6EtOYceWaIj5NUbY2eZaFDgx2knguJSLHPmoRmzATxCD3kvESR1RUlk+KS+RNKQbjHLvdAbtqCfr9Pnr0mEeXl9y8cYt21TIME5dXO/bHAWs93/Gd38kbb7yBdY71Zs1+d8k4DAzjwCc+/nFSGjkcrjgeDxyOR5L+3OjGe76fn5SOzR64ucKbBwTOOfp+4Du/8zuERqny+S9/5cvs9x3vff97+PXf/Cz73ZHVasWzzz7Nhz/4br70lVfIOfP0rRuUAn0/UbL4mx8/vuDnfu4XBMRC4c033+KVV14FoG1qPvu5T+OcpzselA6bePa552Q7VVDlgFofjFkknLNHK6VIdzzyuc99jhs3zqmrCsqAVbo9Se47YzOrVc2LL76DL3/1FXnXWcvFxQUvvutdvP7aG/Tdkddff503Xn+D7/nd381nPvMZyT8kLc/1PFhBpcnOe87OztisN5xsTzDA66++yl//G3+TnCLn5+dsz7ZcXFwt+bNFM8itMUuETJ5tEdrMlwTZGR5fXvE3f+y/5o/8K3+Yf/Pf/CH+/F/4zzkej0oolWY2x0yxbpFtGs0JlyNQ8qWNehVDFXjxxXey3lzyyhtvcjweaddrcDAMPS7JxjN4vzQdu6srDscjpzdOOTk95a033yTFRHBBz69CyQLs80Yah5IytmRyGpj6nsoZnr19TkOH8YWhP1DXFduTEyjwuc98lqdubrl1Y8XtmyfsjgOrtRSwVfAy8BPZF6Hy1JWhrlqCP6HvOrIyDZyTXIHGexKWqZ+INhN8Q+VrDvs9JkPbGvKUKDHT9T3j0DP0PVdXB/bdSEqJk5MzHcBnGax6R+UdwYs6arNpaJuanBNtWy3AR3BK8dfPMyeGXuwAT8briZTfS5yNKtOOfbdI2FOcMN7hqyAxNgo8yjmz2rY685HGY93WulksdEMnzxJFbQNbSi6EqmUc5/zXQj/KgK+qHN7VxHEkR7HqeM2Ana1JPlQKtnQL6K/vBvWiFmySptH7avEfzlFglIK3ViKivGMfJ9btSpccMjyQwUeUDVxOGv9SlozlsuS7mmtFljFMY8Q6IeZ2x57VekVB/v2gxNqU8hK9k2ffpRW10+EQZSOqi4DVasv+MGlDXC+Z1HVwTFNPVFLvOAp8NBuJ89lf7aTWULm+Ux+1vKMUCqZDJmsESORx+KbC+cCotiNUcTUrtLrjkZITXddxun1GpKPqCT0cjxjbLjWOb2QzhpG4mrPmlP1+h4El67euAuPYE6cBKodDNtfmiYFwQc7BWdrrrV+Ges45vBOWhgFythKrpPLekgtjyRLxFzx3799ns9lQVxXNquXR4wvOt1u27YY0jTRNpZLXHZvNRmMX4caNU8Y0LGRpVwmpPagCZFHQlMKUoza2lmkadaheFKhZ0ffDUhuM4ygSZoX8iTIskpJdorO8k1jIIcZFdi6gK8PlxYUMONpWGAO+MI49VbXWNI2E946UZFA+5Sgb5SlSDPjJSMxTEQtkzqKSqKrAeiMD0Xv3HjAOkdOzE/rjkXbV0Kgc2ljD7nAQcKuROnK8umKz2ZBSYowT27ClHwaliEd8sEzjSKgqHVhOOriSIUXTNMRpoqlWbNcnqgxM7A89Vd3SNpsl03aaRlF8Bs/lxRXrVSswzySxPofjkbZtWW9PiClzut6w3++BwunZRtkQ0HVHgXr2ArtcrTfEKVFXFaebE5JS8r2vmMZRrICp4HygaVZUVcPQjzN7TpZPTmJl55hGvGGYEwj+t2xsY0pUmoM3+zFm74EPgaAvjRm0NJNNBUTEIkWdM8uS+iy894xTFOO0NjDzS8PMUiUyJVtyiSId1O5/9nVMcZauSNM9Do40yiZss9lottPIdruhV6qxFNmJcZio5wxI9f5m9YsawHpD7WUlfxhGpTRncEWng9KMxRhp21bzS8WPMY4j1nnddgstkGyU3ptpVwGHbvV0e1LXtW5GpcCXA/YJv5Wx2vBmuuORKlR03UEIdyqTGMYRCqzaRtpaI/LdXHgi11CunVe5qGSyXmfkCoFaGw5rBAbgrwO4q1Dp1lQKru4gGZPbzUaktylz7I46/Z0EuKEbL6ef6wxLmf0TWWl2MUqh6a3TXEAEElS8SJZLfKIovQZNGWuXA3PB/Jb5f2YvqLv2RejnPW+9rLVMZdR4oqCSXLc0CnNubM6JZGQAIBTNTD+O0nC464I3qWoBlVHL4MJhtUlFG3Tn5LOfkpAMG1uLhGPsCZW8BEIl98RqteL555/n2MkG9fXXXucdz7+Dbneg8h5vA4ZBqINF5EPzBnVuKObh0EwfL0qunXPcZnlgySL/ytqUW52sUgw5z7EqSJFjBLzlvdInNcPa2uvw9KhT4iWjWHNwq7pamlp08z9/r0UjFuRwtjgnZNwC8mchhX+cpIENVaVDIinoUhLKYfGBaUr0SXxS46AF0CiH19Cr5C0WnI+42pNdoljZ8hudkBptQOb7bZomms2ZeGSd5fbt2xquLkHlDx485Pzmbd7/vg+yPxz43u/9g/zUT/+MSN1yYho6PvqRj+Ct4Wq/ZxyFVihEWLNs0OUZNtfWj9lbq88s9joaCd0EPP300/yO3/nb+e///v/Ahz78IZ5//lkM8J/+p/8Zt599nscXF5yenpJSomkafttv+2f4qZ/+Gb7/e38f3/LNH5J3lg1LNM+3fMsn+PSnP8PhcKAfBy4vL7FWolJ2+0sOx4PKVWffuRNAypP+0Sf9wbNyoxT1Fol0cbfbk2Jiu2kENjZF6iDbipI14N4abt66wW99/iUePHjA9uSMV155hU98y7fx/PPP86UvfYnjseMf/IP/kT/5J/84H/7wh/jNT38WbF7AWrMkWqau17nO0zhyeXGF9+Ip7Pt+YS38nt/7e/g7f+e/VdAKix/WaKSZU2XCNaVZzzz5oOiGnh/7if+aP/TP/wB/5s/8H/iRH/5R7t67t8h8i97zmGu66PLneIfLMgyNChjBGG7euAHG8cade3T6GWw3EtswDD0hVEKiVRpsipmrqyuatuHFd76Tw/7A/bv3Cd7jg/ihZ1BJ0Hv/mWdu88zTN7l5fkaeRm6cn+DzgTF22K0nVDXWOYau550vPMMLLzwv9M3+yJQLF5dXdL0oa3LKjMMgzUJV0VaeumkEwBMjYz8SQoV1hkQixyJDpiyyubEXOXCckmwz02wt0ZoiOLbbNatVw+7QM02R09NzjIHjcYcx4kdumkqo+rq1atuGceipa88wqPXGzLFh6kGMUd6cCsYMIXB1dQkY7t2/wzRFbt26RUyJpm3YbDdUIXB1ean56UI5tqGiaVthO1SeaRxxzuB9jQ8yQG7qWpcCsgxIOTEOI7v9jr4vYGRANk4jrYofrClPLAjMEk9jdYBaVfL5FpX2WmckI3uKkhM7D+S1HvLOL3YckGZkjuEyubBqWyotsqtQcTgeOD07Y3gCXjXXd2bO816UNiJZnD1DKU3iA6Zgs8jDzRxtqIOnAkJsnf2GOeugWt7TTSPbwzRv2dWrGqwjpkEz5QWEl6JYopraqufSYbJVEKU8eyEEmrbFWZFWRx26S8MoBO7Z4mStRIKFFHn8+IJsxLsZ48R61RKngbZpGPqetm2U3SDwtvPzMzCFruuXGnuKE2YwAmA1RlgF2owbgzR+VixvlV5H94TG0RhDCJ7DfiAEOR8kB96CzRr76FX/VPCVo20qbZgHrHEcDkdZWFjLetVyPB5Yb7fsd3uurq545tZN6qriwTCwahtOTrY8enifsxOJtRn6gVQktUMSVFAWjUYJaYoF+ufHkpYFgli9dHuvqoD9fniCtyGZ21brt0GJ59YZismEOpB0aTIPHvMcf2Qtq7YVOJNzqip0muhilgGGMSKppkDfi6JkWeaZ67q/bRqGcdChWFw+l5xkC35ycrr0PLK1H3FO1EdTikzDSEzibZ2Uo7FarRYGQlXX+OCZ4rgkGcwDXWMso9LHZyji0PX4ICqA41Hegfvdgc16RYzCGJD7tsggahwFnKbDr9V6zaHvOB47jeFplQMz0K4b1muJ7pHsY1F2zMoAdAF5dSFnzDRFOBZSntjv96zXG1UvjqxWa40uE9q09x5DUeK4W6T7Y5zojuM32q5+442t1Q1AjCLlsCCG/BCW5nb2ABRtimKJxFE3olZ7DIULTTEvmw64nkrHaZLioPDENgnAYr2TF4uRonacROZEVsBGEnkROXPY72WT5wzWotlhnlXbYlJkmCa6QcTvfhSJg9Gsxpm+V9QzLHQ4mSg4b6gbKXiCCRgFBSQ8ZRJyGsUQQkvOg2yHjNxwxjtKksbNG0ftPLV3HJMQBFFJrVUfmpjoBelOnjdfRiXQhvPTLXXt6YLFkojTiMmZyirp2SKRGcVKxmSWCa5x19EsUb258wbDGKfN+iwDdnq+Oy24hFpXjGeaRvqul3+3SCSUpbBqai1q81JskPMSFi7UW0PBqaRP5aw5LeCoohEd84THe6cwnzkiI+s2MeGMZRyjFoJCQBRarnwPIgNXGmAvstJEFmKf5vyZeQCjdD4XimDMq41MsYrQAodeSKkmebyxuoE3eFstki+K0yy4tPhRZfhS1GaoeXBOtN5xKkyTeK6cl6iNi0cX+OBYrVeSA820DBymaeKVl1/mYx/9KDFNfPGLX+SjH/6oeB106DE/Q7Os3y3xOSqh0R7DKLjAe7s0lkbhbbP0xBmLLfba82qMSp0X0eUTm1a5x8iQ3byFkkNKAHFQRqfNgF28z0bvdQq4bCT422lo/JQp2RAHgZt5G2RAZGRibq2lJNnIxylq8Vw0t06GLN0oMl4spDxqTmOEVMDWmGJJFHwRCXmZYMwjkUQo/vrn1ay2mAshrCkF7l885uTkhGeevs1xGBlH2Tw+eHDBc8+9wDve8SJfe+VrvPjiC7z0+c8zHA/EccCUiY985ENYB48vHtIfO5nqKzE8pzmyQGFERodP7lpJka919hKFkME5gW78oX/xX+Dtt+/wj//xrxCC55u+6QM8/fQtqspyslmxXa+4eeMG0zRSVQ133nyTADx96ylAiuD1WmJDVm3Ll7/8JS4vL2mahlDXfPCDp9r0Ki5cC/7rrbF9oomce1qzRMyIVFvI1hZhM7TNint3H3J+4yZnN57h/p2XaRBo1jCOYkPIEELF6ckZq1XD/Xt3Wa1XvP76qzz9zDP8/j/wB6jrls98+jN84Qsvcf/BQ77v+7+Pz/3W53WjpkatJ4rAZQJmMnXTsF5vtDhpVKUAV1d7/vu//w+5cX6T3e5KMv7mjL0nz8ql+Mkqe54VJ2Je3R87fuxv/SR/8A/8c/xH/+f/E3/xL/4wX3rpJaqm0sHRtfwSLYQkR9xhnYhUvAlCF1dOw9npCatVy90HD7h37x7DaKnaFc6Kr8v4KAVSVctwMGWO+yPH/ZGTkxPe/773MPYDjx89Epmts5QYmWImWqialps3blDXgSkljl3P6fkJY3JYk7lx8yZ1XXPn7be5ceOEGzfOWa0aLh5ecPX4iraq6fujgFmaGqNSxBs3b5DzJBEfozQJcwSSRRQvcfa6O2ErdFO/NJ2pGI6DxPa44LHBYb1l7RtscJxO0xLVAlCtoNLiyWgT5bzHWgVROqQBIkoDoKoeOQ+LyMGtwRYhhfpgObtxyjhN3HRnYA1np2dcXl5ycrLmZLvFWbtYVsZxwgePD466WuGCqlqMbJ18cIS6lgbTOXzwxDhSVbUO1izjFGVAbw1tW5PzVjJua6H+Ho+d1EjBaKMvnkyM1BBZAZFfnzFfFqCnNbK1t85RYqYOnioEKheYxok4qMxZAU39OGjciTR465MNDx4/IJlMHwepoyrHZn2CyXkZ2J6fncu2uO9x1hAn2UTFLLnRYh0o1w2RtbK99Z6Yk6hprJQ4OSXGmNh4R+4zvnIMk2zSmxA4PT3h/iPxJI55Up/4QF15bBFIjbWOmCZC8KxPZ2mnKDzGOElckRHJ+tQNeCs036qtoBSquiEhg9KZWJ80Wi/nzPn2RAYUccSQaVrJ+q0rx/nZlmHsuVS5uiQ0yza7qoQQ3awaxkEkm+u2IaZI5b3Wb4W6DqpGSpLJnguVd1xOI1UV1PaWl4Ojriqh/+ZEiZFN29JUgbauGfUdVm0ksu7RbsfJZqNcionheKByhu12gy2OQsZ7iTYsRLabRqjIzjKmwrpZMYyT5GpHkYQXg2Rja41uZBuAVRnyvCjyxqhdz+CMI46R6EX2fDx0uo32AkRalHzibe6VYeN1MSCvUkM/dBhnhAJkLaGuOB4OOO85CWtyTAxdhzWGqmpY1RVxGGnqmpjMomgrwDQMhFUrUXHA7uoIBvbHjmIMzlvW2xX745UOG+dIuMxuf8SFQFUcU9fRx0QZR/pJQWXTROp7Vq1s0n0xOCNxZdY5Qr1i6HuGQUjjQYnOOSWJjlILZ/CONE2MvbAQvFVmkFogm7qlH3uqWp7xk7MKHyplI4ys2pXAy1QJdzgcMMZR1xWxZDZNQ+lEuWiMZbfb0fUdQ+yFY+RrgXkZS9s0HA57ZimjsBUUYJhkE3/Y72SAgdhhpjEuqrNv5Osbz7HdrLm6vFy2V1mx4ejUPRqR1xhjNc5HJlwFhIBmwS/E0SLk16xgI+ySRSZG+yjbpiKTs6IB2dZ4hr4nZgVKaaOFK4vJ3QcJZ/beodG0OsETc7lMXzxTur5IWScM4ocUxvEM1ohFi/JgqfG44FhvArvdQSdPuulRGuBMPiv6Qmae7qgxeob31HWN0ziV65gHoe9WQeIA5CYRKZhRWXDRAG/vHLdu3ly8DczTIM1zM0qetQu0S2SuRnOC502ikAdZbiCeoFqXIpvTmYI3E4tjTIw5sbsSaUzbNpxst8sULniZQAup0y0RE3PUXUzzy8oqBt1c+6ufgBdN06Rh6hFr2+tNb5EcYNlmykscA3GOh5oLwqwUlEVeq0ClNDcoWbc1ZvGLGyufU91US3GXrcWpLCsEL5I6DTQXOUhSgJdQnmfva4x5ke1OUyRo8yj3mcqqXF5kb+KlSZprmilIjl5O4JPg6/t+oB8GQhVYrVdcaYTLZrOhqRt88BiTsDbjbBDggkqmrLekpSGaKdUqSdZYK8nsS0olzwp0ssvGbcbjz5/D3MSwEHllEuesxz6xmXXOKQzLfN322zsjsjXLEv00Py/zRFa2NBGbLXEUGuScwZlyJg4D3goVshgrkV8q0e2OvfjPmWndMummSF5x8BWpiC2hCh6TCjYWrJdhgFEZYtZAdLnHrQC/ikyL67Zle3qKsZ5+2HF5uWOaEh/+8EeoqoqvfOUrPP30M/TdkXHo6A4HyImPf/yb8MHy6OKC4/HIcBh0WovGotmFKl80gzeE65iO+daeY1nmGDILfOITn+B9730P/9n/+z9nfzhwPB5IKfLNH/sY61XDxeOH3Lx5iztvvcnJiYAscjScn2746Ec/yGuvvcnu6lL+bArveMezvOe9H+DOnX+oapY5Osoun/311/X2fW5k52Wt0e996AfOzs71vCg0db2oBHa7ge0Wzm7c4v7dV3DGst/t2Z55cp63PZ73vOe9vPPlr/La668xjQOnJ1t+8zd+g2Bb7t17QF039P3Az//8L/KH/tAP8pEPf4jf+PRvyKB1hgM9CVKzlkLSDPbrv+Z3R1HFy3vf8276oec3f/3TAql7IkZrvg7Xub9l8fQWLdQNhWGa+Ht//x9w7Dp+6If+JH/pL/xlvvLyl2VTqX7++RlYKPfkBWBX9Nm6vuSFugq8+NyzrOuaN996m35/JDRrNpstx/4gk/Msz1/QQWdKieP+wNDt+cg3fYjv/p2/nc9/7nN85jOflQgUK+8K6ywvvPjiUlyMMWJLRyw9mMT9h3dVVQBjGnnr/h1ImXHfM/WJMV97OwFWq5XSbkemSQfAoyhahimBy4xT1q2b2jhMIZuitiNlDATHUaVw2+2GUhIZCy7jK4uranLJDOqvq4wjqF0KIOm2HlMU8jeT8+dvtWhaA6pUy5DAuUzfHYhxkMa7FHwtSrJuPIrHOVsO/YHgHKGVrZtRAvGYRkrU2BYKCW3gsaS+I5tCH0fNKDYchl4Lywze0QRpnvrYMxXZJFrdmhhvaTa1WKes0ZiTWrZn83t3VjcVUT9Uul313mkMiwy8Z+VNyZniHdk4xkEaoUHl1TFFQrUSe4dzGG/JkjejKr1CqCUT3AEpDYS6wXnD9uSUYRw53W65ePRQPK4pasNVuNrvNZLqejNrvSVFyV52VmBbMWas8ge892y2G6Zpom0baudlCZIzwTpSEUlppLAKXq6ZMRyPBzASNXTjxg0e73bazApEzPvAdIxsTrfUbUPta/EoWrsQhKeUOAwjoalI0/V5FqeJWmuhk+2WlCMhCLBLzl1Yr8QyZ0aR4k8xEHyQoWsqMOZF+eS9qBucRhdRpKF2tWO324mqLEdZ+Gimd84F52QDLIsoqb+N+PPkHAw1U4lMSTy6mcz2dEOXRrphxFeiguyHHusN25Mtj+4/pmhk3sOHD2iaQBUcbV3TtjV3HzzSjXxSdSCQE1Vbs1636rXOEu3irDSO6u9dGBLI5nWm+S6jP2M4HjvZDg/9Ah2rvAxtqkosFuMkdipnpQ5wyVFikhp1rimjyKA365UowqwSnEuW7NntSmi+ykWYLXNCjLesW6nb9xc7zm+cS6axtzRtTSHTNhLl1StTA1UuGHfNH8pGVGehqp5QCAoPx7nCer1iGjPx2FNyoV2vhfHhHKuVZNOLTLsXQraxnJxs2e8OkgmripzD4cDJditAxCz8nFDJsMcYQz8MMnwoMPYjm/VWFgKq4pw3rqEKtOsVRrlLXd9T1Q3bky3ZiOqgshVTHBnHiZP1msP+oLYX4dFMcaKtK5qq4rgX6XSl2eHDMMo7uDyZtPG//PUNN7b7XUfBSWaouT7po/omMIpxzyLRM9aSNNd2lvXORTROJJtxihqkbSVcuoj/EiPTv5yl7AhVpdj1SczVztBPo0KqkkIQ5EUqW5/M2fm5QBRSIk2DTtAq8SwMo8JztKgxGee8yq8k1Nh5R3AOkyMpid+ybbX4wjOE8TqUHJE+CM0uUow8VJTrG9eUgpmFIsXgNYR9jFK4d12/bLolYFya6pzz4lXEoAerRNzUoeJ4OMpgQSdgLngtvmHsB1arLVPKHI5HQnALkdlpwSay6zlG6EnftJUicpLw8RACKWYePnqMwXByfs729BQU3mW9Xf7dYqQhiSnrDeoEPV9myiwiHTUy/Qm6qpNIJCFpR31wpEiUSZhDzPVZpaDyWcnyxSpkRQ7rmYQs03UKOG1gy/yR6w0ZU5ICQ3PeomZooRFKqchwZlJJeNLsQCE1Ovo+LhvZmVxa1J+TioBH6ipgdetSkGdjHEewRu45pTk6IKl/3FjxZY8xM6We3A28sziqZo1xgapZgw1YX3F2do5zlWzqspU5b5GDf9J4gTkiA81YLOTrol3lxkIz1oimuRDPsx+KZZNflJg6b6VinKAYnJep7eHQ411F24rfCpXGOpV5WbwEsE8R5wuK3qapgjZuRjYV+mJPyRAjBJWRp8Ii1TfFiL/FCrE75aigDcMwRqahUNVuofNMU2IcIynNXmP5y8wZuRhuPn2LbrrEmYwLYOz1xkeaF2k4Li4v+c5v/w5KKRyPR/r7Ry52O+7ff8AnP/ld3L79NC+99BIvvvhOxnHg0aMHlJLphwPf9olPUPnA1eUF09Bz2O/J0Yn8uBiiwtGSxiLMVovr5kk85FE95xJMqNJkY/ndv+d7+MxvfZ4vfeWrGOs4Hjr+vz/9s/ze3//7+O7f9bv4whe/xDB2HPorhthx+/ZT3Llzh09+53dS1zUXFxe84x3PMcak/pjAp37pF4WMrz75GfG1+N2X65OXRm8Ghc330Gy5OBwPNE2jA8yscUryXKR00PddEdBghjRO6gMTKfo4DNy86bl98zYvf+Vlhm7kxnnDCx98Hw8e3Ofho0fUVUUaMj/3c7/Iu9/9Lv7Ev/4n+OL/7Ut0XZS3iQ681ImxELiNmWWTkr9euIajAfyTX/t1vHd85CMf4nO/9bknfq/rIZ5+EHKzalOfsw7wrBQSU8z89M/8HIf9gX/tj/9r/MzP/jT/6Jd+SYiz1mve5TUdfLbpWCN0UePniDRp+GSza7h184ymdtx78JDLfU9Jnu1qTUyJw6FbvGZVVVFXFdM44Sh86Js+CDnz+/+530fXd3zuc59ntd5iSub5dzzLrdu36A4d2MKUBoKNTHnE2EKZroFvUUEzaUg0tmHMmWOXSUujqNnR3jBOmXHIS4zFXDt0vcDEZIh1Ta3NGT03pQ2MZdQhstHM0oINdgHaZZuE+G9kOBSMNmk66E45E1wgzY2rcgKM+gxnsNYC9prjCp1jmCbGJNm4xsrgcM6il9iSjDVW43YaSkkSz6dRMs7KzTflyHHowAj91M5DxhxlI+5ksxxJDNMo4E6Necm5iGduEsp714s8t6krrbNkGJnIJCNyTe89ca41ssBfAKXuJ/U8QuWsRHJkQ5cnautFtWfkvPcEff9k2k1D1w34SpR9co5YAZFZ2Zg5byRWUT10fd9zenbGsTtKbmowTJMMK0JbSfTQaMFJNJC3nr7rFVAoqj/jAlWoIEeGPFCKIVQNOY5Ek+XnnAY9izNTnhbC9ZjED+2sY0yRiUxdySYwOcOgdZ+rHSYZ4jhRgsVUgXXbUFLh8XHP2fk5la8gRWnOrcVVjpgnbLDYZEkl4uqAtQLPTFmGAet1y/2HD4gmU7tAHSrxIsZIUzeQszTAMTPEQQZkMeG9gAnHGAnqhXfGMkziZw5GFg4FiwuOfhpp24bVZkOoAjdv3uDhg/uiPBgGsIZ2U5NtYuwHCoW1bmuLDZyWxPTwIYxgK0+1ashDoZ8G9sMRKgvBce/+Pd794nNsNq1aESvy/ftgiwx1VN3jguPk7IRV2+K82AwlUNfw6NEFJSWapr6OaMwFkzOrttG82BFnDW1dcXV5CXUtiSjWiqogZ6EcB09TVzosTlgDXT8wDkZUpHmirQX6lJLAx8ZpoKkbXB0oWbJkS8k0rTRbYosyi5/ZeNkUex+YpoG68aQ4sN2eMAWhlj+8f4/NZsU0DQTviLqZbNdreYcrpDbUFcMgMvA509ZhNB92wlhPqMCOE8MwcHx4T6J5cubhg3ucn58TqsD2ZEO7XrM/HBhG4QwkJdubbJSP49is1+yvdhRjqCpPLhFnLCVFigKkQFQVJQnXqKkb1us14yj539uTE5yvaG9U9I8fc9l1rJEILJOTxjFlTrYntE1LPww0Tc0UM8PVjqZt2J6e0R2O1Ks1h37Aq/x+trs2TcNuv/9G29VvvLFNMYmpW/2QqeTl0LWay1WSSk9VliIyigpfeTByiMzNzzhNJDU+hyZoALVIzuoQlq3OkxviGIUIl+K4/MB1W1M5Rz8MmsMal3iJRW6bosCq4rTAieIUcRozMh9oRn1NS/EozG75/xrGnHPUjbMXf/AoTbI1Vo3pvTZdRSFUfiHqzn5Sa91SKM3EtpQyGdkue712k8b7OGNVWiwbjaZpcMZxeSnwGZEtZnBOp3cCF1lCuSeZvJydn3Nx8ejrPtfrGYUQdK29LlBFx+/12keRtGE4OT0Rql+JBBeWaJTZ73LseqWyiqTE+7I0cFVds92sOXad/uyabcYsYy+KyU+Ll8Bbr5CpKIWF9UuhL00ast1GtrUyUUrqWQq6XbyG7KSU5FcakWBnnWbmLKRCYzLjmBd/DqBSiIJ7YnszU5/n6ZV1XvN9pWjCsuSlWWOp6nopTNEifUzTktNcsOorkHtjGORFFNPAGDMPH17wzHPv4fbTz/L0M+/EOs8f/IPfy8c//nGcCZyuCjdvPsW9B6+KTCb+03Rhs0j7zULWtUucD4vvVRcWmi04ew+Xgn3OZzZS+NdNI4CHlHUIUkk2HNc/5xw9FYJXEqQFI7E9NkgbMU4jKWeaphZSXwhiAcjzUEGl9Ha2C0iGY4qZiIDG0lgWWfowjEsjlEta5IQ5i+ogpWt/s6UQraVYy9n5DY73dkKmnff/6mkppWjTkagbh3GO7eaEt+7cZRgnHjx6SFXLkOHq8siqPcEYy+XlBePYk9PEd3z7txKc5+rykmmKHPdCc81aPI9TWq7zLOd1T9gHpNkX+fqk6hj5GSWe6lu/7ZPUzYa/8/d+hv1RrCHPPf9ufsfv/C42mxO+7/u/jxtP3eLuvXs459hs1mw2G4a+57u+67uw1vLu97ybVduwWZ8wjpFnnn2WN998Swp3rodD5Yl3xdzglidiMp7c5F5H28im8Ozs5rINdc4vg5bVxrPaBO7ffVveP9NEVV1PyUspvPrqq5Ir3K7wLpCTFL+n2xN+5Yu/xtXVJbefuq2bgsw/+B/+IX/u//of8e3f/m387M/8EqHyi3KlLN+b3vnm+pkxGrXz5A8sXqPIU089xenpKbvDUTe/19cDA1aTAq7zPWdP7yxrFyDaL//jX+X1N97gT/zxf4Vv+eZv5i/8xR9mHEaxpMwy5zzHCMkZVdeVRLwMw+L9FmWNXPvtds1mu+bx5Z4337rH8XggVDWnpyd0XbcE3lc+ELwnp4HLix1XF5d8z3f/Hv7ef//3ORwEYNauKt754ouc37zJcf/aYnOR59BjND1gfne4mSCaJtZ1A87QjWJZyTpQc85J7nyJkjnZD4s3K3hPNPOGDo0Jk61OSaJ4cUEavlk2DdAPndhL5o23mRXnEpXmrMSfTOMoPAdVXM1DPMz8Xrl+X822pDmHfbY/yA2t+Yve6d83i5JF7nd5v6BbszlRRWw9lQY6ZSXrisXLWKMNNBjjF7CkcQZnLHVTYaOhqA3HWokYLMMkQ2/youKw1uGDE/JvlKY6TTJ0cqoosFZtY7oVC7VGp1i5z4SSKwPlOWPUeRnyS78RJb5I4+j8pBmcdU0pUFU1x+N+oWn3ykqYN1G73SVTHOk6o7RZHabORHCnMWY5Y9113MespnBLLJ/kdc7qPLtE0sm1zKo8meu9pCqXa6uOI42DRp5Yjt2RVISIXGYmjL6LsynEkigZ+mlQyXVPyZmhRLyrMF6WNz4EQhQ+SaXwKZG4C/DT6b1zOB4ZipxxLojcf1a41JWXKKok4ENTBLYHhX3XLyoQsd1l2lVF8I66aSjGsVq33H/4iM22JaaRbbOmqgLnZ2cY4PLignZdsTk/kYVHKTx49BAaT71eEydYlxW77sBVd+TQdyTNLogpMcSRIU589ZWv4ozh2RffgbOR3eHIYX9BH2X4Q9Q4Fy/+dGsNwzRQ20AITjNjC9vNmipUYq0xIpku8/OsA/j5PFhtt5QsG0jJPEX975VaSfzC4ojTCCUTU8AYGIeB2gfOTk/Y70XRtPKt1IcazzlpFCOaeV/X9XUtpKoZr6qu2SLYts0yfGy3G1IUj3rT1ByPB+GWjJMAtoxEeMU0ESqx3IkyQzynThkpwzBIDF7f0zStytULVfCs1ysqLzFX4ziKSnUceHx5ITaZIvda3dT0fc/NWzfIJTMO45IVPEeBOeeovDSVAgAzWN9z7DpON+KtnsGP282ae/fvY61jGEfaZkXVNMKbCQ6S0ezZosMpTd5YOCuWMSVKMdx/cMHU9ZyenuBcRYqZPo6a+eyIU6Jt2m+wW/1f09hO4jmJ2ZKKwRlPNhlD4Wy7oao8x8NROvssxZ+tLCaAC1b8iZPkM4Igz0sWY7SVsCWR4cVI8X4xaM+Fd0qRlCfp/qPG72QIzhKCYxwhzemu1nAc5fdv2xaXnCLZe6xLC6RofqnnnIlIMWy9XUAtKSUhKArOWUlr6EGnB1xGEd6tviina3qqSmFLTFo8SHC5mjrJWbTqGPHSOCsNtHxvjjj04v9R2nLOGZxo7GtfkYYRkj5gueCtgEuE9OsZbSKWwnEcsM4zjUkz5DJLkFKRz1bia+Y8WfWDIb4bW1VCFFVDu3defRKR4mVTEHzF4XBkGEes6WmbFe2qkaiHSQ4dq9uPbMTb0LaNvNwV2GKMAWeIxZCspa1bnfZEUkkYMlbceEJwTHJIGt0se1MoVvxZ8rB6IV9jFOU/31MseXhzMW1KIiXxlNV1TY4aEeA09kUl2zhPnjJRC/wpGYZoGGPB6HYtq1ycWCAbAYrp5J8CU8kYG4hJYmeapmYckzabZUHqxxjpe/GITcngXMUbb75BKoXDMfLu976HKgS+9vIr3Llzj49+5L289vZdmuCWoknuKZQkXrRJMgqFKkvxWGxeivwpTph8fR/K1FTgLDFJlJE1Sm4tGW/k3h1zUu+HgMmMlSbfaPRBLBk7R6UYh7V52bZIBrDTHD3HNEYFbVWYMmKQiCmShWhwPlAijF1imqTxDUEAM1OUgUnRbOQU83WxiiXHooWNyok04qDkDEniMypXM8RJju9Ki2vmoYoT6b+xDOPIedVwOA5cPnpEU3ve//73cON8Q86e1197TIp7YuyY+j2f/M7voES4evyYYRSYguRCStRQTAIFEoiCDJacbqpzFI/wNMmvORwnXnn1DWIpJP25Q1Vz8oWv8ku/9p/w+c99XmNa4NOf/wo3n36OWw8uqWvP5T7RT4H3vfg+QhW4f+8+jx/v+amf/UfiofWON157i1/71S+wWd/gN3/jszx+fCGqD56ALz2xsb32XGtchDYD7olYHFESyEF98+a50MaLUCqN8gNyjpQ08Pj+PVaNbMNcJfTZYqz+86RDmsTTTz/FvYf3OT07YYo9Dx/cZexHqmCJUeJ97t69w+c//xK///f/AX75U78iA1DjKeWa0jxHjV1/aU62XTp4xcZItukvfOqXWbctT92+xZ079zUmRynsRbJhi8pzpXGSIZwp1wwto0Xza6+/wV/6y3+Ff/uH/gT/zr/9b/Ejf/lHGPojrqr0uTQLDV6iwpzmW3uMlplWPe4yP5CC5vRkQ9vUvH33AQ8eXDJOPe16jR0t+8NhUSzUPnD3zl3OTk+EsB8TaDRJGC3eVqKCmOWw2jS6YDWaJz0BWMqUBCUa7j94zNAlYQgocdOQqWu5K1IcmKaROE7Mv+3I+ERTWbSB1Agk88RGPWb1iRkpQLURLEmiiaw3i+3JqacMTSkYVdaIfk9JLRbO20U2bubrrsAjFCBnvWUqGZ/luUS5FQoZWdgW1ngBNyFnT1C+SEmRylhIjjFO7C72rLcbijWy7Z6ibE9LIUaRqtoim+ukfmOMyOmnOGFdIJWBUbPWvXMc+2F5h/QxSx62lbN3QoA4GVFETRrbMqWEzaKcSpNwSEJdSa6s84wpKjRRScslYp1htTnh6nJH065xVZDi2hmK1efHyUij644UMmOSLa+11wND4yyhEutMiolpGkXaO07ghDthjWOcElUthPvgxS++Hw5q74H9Ycfp6Sk5RqZB7Ct1UxG84bAbF1Wf1cSLYso1zNTI4HWuOZ0VcKMABAWw5azHqxUjO2QT7cRzXawkONStqk+Ol8Q0CQfEyUYx63MvnmUvDW8I7HdHNs2anGHTNKScqOuGw9VO7GJJnjHvJR4rhMDp2RlXX30F58R+0jYVzojiYEiJUEv00c3zU+7cvaekZznnLh49EDBYjPimYnV6wkSRvHgMjy879kOmvuoJViBEMUoEIyVK4+zXCluNpDRxOOx5/plnePDwAcM4sNvvZSBiPbmkJa6sqQKrzYrQBB5eXNDmmnWqWNWVQE+bVjbUk8Q7BSTiM8ZELmJTS6M0maFyrFY1JUc2m5XW+AFbB+q2FvWEdYzjJPcuhuwcY86QRVVgMjz39G2uLi7wxjANI+ZEGkrnJNd+GAbq4EUtOoiSo21rWcDoyyElgWiGJrBarcQXHVqa1YoUI4d9J5tYC75Co/Ekn7aqJfooJTgOkqXsqwrrAzEn+mngxtk5Xd9xPB7IpVCHoBCxiVIcxldEY1jVNZf7C4qBaRoWgO9msyLlwnEamVTZladMTAXrJCoqTZn98YgPgdOTUw59R+8NoxWWgQsVpYhaaxxGkS5fXmKd1Gz7rqM620r04cUVZ6etRDv5QHCBTmMpD/uDLikzDkvfDWybViKu1B6WkcbYLiqw/x2kyIayyDdzioIN12F209RK+rqebkxxom1amYQpMGi73XJ5JXTAOE3iC/LVQvyNGsxdNNvMK8mxZJl6z5vV+QSdt2DDOBEBV1XYGXpkJdZlfziwXrWsV2sO+06iVvK8ZWDZ/C1Frh52Rn2eOWtza6VoKLpVtBpVMiPrZ/Oi0zAbsa9kTJRmzHuROBP1exsmiRhRGIQxBhtkWt3UtWSnlcJ6LdlTJRemlBFgbBGJbNYYJHk8VU8HOSb1aln6cdCtp1MvgLysZ5/CNE2yVVZSXElJ5J0p4Qx0owSYd/1I3/ecn59JxEjOy+Q6+EBdV/RDEECAygpRydY0yEEtNEvHFINm5FWEEFivVhJ7MgxM08SgTW6vOX8lZzwImCBrrrCCxxba7yzZm90XczSQDguwZvEGzKCwRYrITHBVr2JSKrf6AIwW01mz3QyWSel9KUlwddJ83gJKIr7e2s/RHykmlQG65X7LOS/Dla4flo3LLB8eR1EnZLxuGiPDMLDfH4kpcXVxSdd1gpo3hmGa8DZpBqNK+azKv2PC2rRk/wJLPInzIl8vbv5exfsepxFjnE5IzSL3tk8UmFEVAdL4aryOMZSkRVkQ2JrkRxZMnjOorzfoOQmlUSTv0qiOw6SeDmnmxmGSzMaUmUbxzMVJw9wV4mU0S1riZuRnnKaJ4GUIJTmOZZG8g2DpTb6WXd+/d5++F4ImFKqmophE0XxpZz3TNOFcLRvFlLm8uGS1avimD76f59/5Dl544Z28/sYdNpuWcRIp0m//rk+S4iR+lxjZ7Q90fU8uUqBGvZe9f4JtWTSKS7/nFDO5SMzRW2+9we7qkmEYGKO8u55/4UVe/sqXeO3V15UWLvf/T/zYj/O3fvzHONluCVXFxcUjpmmUIrCItFc8dl5VJhZnDE/duMnv/r2/i6efeYq/+9/+t4sf/9qbOsOgrtUB8xnAE5R19Fn1c5SNxqXUdc3QDThbE0JF3/es1gpAc5bgPGJj0+fVzh75BEzUdeC5557hjbffouuOHI97jscdZyfn7HdXbE9PxJISIz//cz/Pv/en/xTf9V2f5Gd/9ucIwSzv+rJEYnHddXLt954bXqMbDTRn/eT0lD/4B/45fuRH/8r1v2OK2mPM4q9l+W2VXFkQeZ4VeFophbt37/Pn/9KP8kP/+h/jz/4f/wx/8c//BR4+fCDNrVp05nfbpNaO6+uuip5iF2UP+jPVdcU7nn+OKtS89fYbHPcj9eqM87Mz+q5jihMOeOWVl/kdv/27ePutN6XBdUpgRSry+R27SOLV8+o0b91ojE8/jQo+g91uT3eMeFcvwL9SpJE0UZ/TErVpl4FbSWn5+WZZcFaI1iyjLkb8/6HyjGUklUmox6UjVIZQiQcRC8FLrF3R6D5nDEGfW5OKnN2pLITleTBtrWRAOuMwqTxBqTZfd34EBVYZN9sV5Cie0w1m1YC30iwNo9B4LTIgizGT1VYzjlHVCwJIGqNEzcRh1G205dgN4ALGOfbdwGa9pqkbDvsDTbNSFZP8JybxfcpwTGm68XprOj+jToFMVsGCFMQupfAjNDszaobsOE7LpidOE7vdTmBlzjPkXqxcwcvz3kqM0jAJEGhQKaJ3otgxRtMoUsSrn9XkRHBOs+ILM4VjfkeRxf6BkYiaGOOy6ZZ0AxmsOW/lL+YIEaOLDauCPG2sLfSzP7OqlLkhHA+htVoSlsPQK2UXvZ4KQSxSvM8MiXa7pt93HFUya7TOmDe2zs22tEJwgeOxYxUaHTrrP58Vh5oJTCkiq9XMz91ut0juqirw7DNPc+ftN4UmPQ9GVWK6Uclr09Z4b6FEhv7IoeupVisePb4kmEKwlmGc6LqeZIxaThIpRgxwutkSc2J7usbaiDMTp9uWdRsoxbA5PeFw6BimkVQK7WrF4XBktW5YrxriONHWjYKPAlOcWLl2IRNPJbFarZhi4nK34/T8FG8th50oqHKSd/CYEt4o8djCet2yXktcUiqJ4mRrm3Tj6hz4IhydjCyP15sVtfWYkrl96yYPH96gAMd+UF6Po669fp8DVRVo24Zj30l6RVtJ1nYfNYpNljXWO7q+o2kayXnWbFbN5lje4fM1qtT32rYb9vsDda0Kvyrgq8DV8YCtA64KnDU1q9VK448kTnOKkSkldo8e0mxaTJzEy30i6pyZN3TYH6nrmm6K9FElxzlRK309kzk7P6PrJHLycDySTAHrWG02MMSFq0SB4/Go6jv59bduP602hyz5294zTBOrWrzisrGVKNVhmtQeKgT4TahYr9dc7a+EAVBLRN2k755V09B13TfUq/K/prGtvEhFztZb8VmkSSUZcHl5KRuZXMgq27KlMA1yKPjg2Xd74i7hq0phRoVQeZJ6EStfKUHMq1kcldtk9acKtEW0RbL5tFi6Ti5eP/Q4H2bLoBzwy4shckjyoVrv6cdpqV1mKiD6kpPJgGyB5hsyJyHDeu+wFFLJS/7WPOTPeSbOGtlYTTJlK7oRmjPXig4Hur4TB5cPuCKae+NkyTdOCUOk9oFt3TJ1PWMWP0AqUpDnGBeATMkSlVTUo0BKmCxN9TQNNKs1WWVLaR4ZZpEnWGMwpeAKOIVxueDUcyBTtjgNOFPYrBRSZQ04oQDmBKHy9H0nMoxVI4Ht1mJswXmossGQsGRMTrJZLonj4YoQKsZ+WCQm0zAJbVv908Wk62mNsUxpXDwJxmkzlrL676ICzDSkuqrEx5qz+KTnjFsja9tiNVvPWY2agqA+uDIXAjpljFPEOq+wLbv4rqZJaK0pF8KqEvy/k+HGpFAKq1EAkhknWNeYIqZYgg1EjUMYdTsrxZzFuUDfRd0qWg6HPcbXYKDr+0Vq5ZxjGA703Y6+64hDT/A8keMmRVrOsikZx/F6mBMT/TDgrHsiC3lUmnDhardnvd5yfn4mwImZ8Mp8G5WlAXDGkUpWd6LEAFnvcZoz7LAEYzl2vZTiQbYQRe9Jq5TOmTab1C89DxtyRoiZ1ql8T5qfrH7umMbF612Egy1DKGMxWYTqWRs9mcYnSIZpiOovkQ3gW2++jqscPlhwCUekWgW8Fxy8dY5xHOgPkf44UE4KJ9uWD33ofTx9+xa7/RX7w56u21NIHI8dv/13/E5KjlwedkzjyO5qzzBlMtL0Z82/tkvEmVG1iJIbKUKITZL53dQV73/fu3jPuzMPHz2i74783t/7e/j4t3wr//lf/BGef+pkkdGLleCadwCZWze2i8xSntUNdV3hvRWfvpMGwFvHl7/6BT73hd9SCZYUdHke4swbLeUNaCLicm7M+dMSoYHGfkDf9VSV5B4O/QBWIiG6YSSmkX7ouP/gLvVzT8tmKknz5KxhjBK7EHOiqgK3n77FJz/5HRyPAy994Yu89urrnH3sJm+88SbvW601jxNefvkVvvjFL/OD//wP8k9+7VfpevETLnA53Tgu8mptyues2rkxXWKWnOPe/Qf82I//bU5Ozui6o3IBzGI9QQei4jl8gqytjaEpSRtQsW7cv/+Iv/iX/wo/+H3fy3/85/4v/MgP/ygvvfR5fKjmVCKVXsYFypU1ko35Ty5m8YzPhVRw8NzTt9isA2/fu8fVfgc41s1KqZM92+0NtuuGG2dr3v+ed/KP1yusc3hnuHp4nzS+E4tsp5YIIwOmGLw1GikuTWPsI+MUF+9qMnmJmRP2hAB8UMmpcxZfnuBU61ZMvSEq0RWaanBeFDwq/8uTSJPTlHQwayFZTG0oTq6Nw5FLwsRCHOLSrEvBbmULp++2XMqiMinKdUhFZdJW1GSNrxerz9wYzrYdKYESaZayJ3lPpiJZ8rkYiTSyhmwM6/VWVBjGMI6RqraAyPuOXU/TrtntL9myBmM4HDualTxnUxwprAhNC9oQF5XJorqdFAt1U5PjKIT6J2xeaOSi0ahG5+VaDMOoTacAHoN11/5uY7UoFoKtUahlfzhydnZG7DsZzBtD09TEsZOtUp4juyKVX1FVge12zaHfcbZqOGkaDn3PoT+yWa+oghTeV4dByLKrlscPHwrozwcGI0Octq7Eqz+NMqRxjnGQoXgdAk5VJM7IlmscI1OaxI6UC2dnJ5ycnfClr36FlCeMqTEF4jjI703W7z1ikkRhOSvqnThlxmGichKdYrNExuU8KTMmE6zF5CxZxhRR1yFLhEmVRSVlcpwIwZGmERsj3loqZzAliUqkZII1bNYrmqriMAxLtFOtAC1THDkZjJWh76puqX3g+Wdus9vvuXl2ynZTU1eenCJ3HzwglURb1ZxtNpxshH47TCPPPP8Ozk4a4iDRbk17i3sPHjFFeO6527SNJ8fMraduEWPizbfucHbjhLoVkGOKE85VxDsSJXXz5g2Ou4PkK+eEC1J3bdqWxjuq4CS5ZLWiGMP9xw85O92yXa149bAnGzgOR4bOUKxhbdf0QyfRPasVq7ZlvWp5/Y03aDdr6jpQsuF4PAr9WiFSzkld9OytW5yftGxPVjz99AlTeo6r3ZEHDy9oWs92s8Jh6Meek5MVtRd/rw9+eU8Ea7C11O/b8zO8l+XO5X7P6vyclau4evhQBmkKwrPO0TQVu8cjxlYYY8UnGyNt3SzAh3a9wnnHxeGAd4HjOLKuW1brLfvDjsv9jvV6jRkGrnZH+nGkDIFxingyu92BkhK3zm/S9Xs6A/v9nkM/UVYNoXIwTqzXGwqZmESJaqwnFbjciZLEWsPQ95zWKy4vLmiCZxxlYLBarTDG8OjRY8a+x1cVD3d7Qt1ycnLCcDzgjcVqDb1areX5VBbPlCZCqRhi5P6jxzgPqUykPsl2W2st6a/+d9jYvvO5p9Q36MinW+49eCAHvW6hZhos+oL07vqgMMYwjiMXl1dsT07k7xeZnppYFr9MqKSzTzljdHvinCWmQScFgis3xlLVFcEHopLN5p+5HwaqEPABfKhwISxB6HVdS+FtjAZRa9OTZSLmvJeMNG10xGOnHpQ4YYzXLF/dCBb0YJvjdazIWJVqOh/I1lpSyUtRzQxTKVkzqgKd+pnGcWI4HuWlr1OKqAHflIJRfwya4ye05axwC/EuzgCLrGAHa+RFIP989nsJRMsss1AhLW+aleQXhg0XF5eEUC8U3k6J1CkmfC1b2jl/LyfJTLM6FZU8vbJMwNumxWQj9L0UCcGr/CwtE235TCxt08q10i2acxLz5FT+O5ZMY8VjIYd4UW+IW8jW0qSV5YHQtAAlk8qhn/VBRvatWBOwTMv2Rhfy+v+liZ5i1Cghs8SbeCsDD68RIhaL846pH5ZIG/Ffz5I3mZRnlZdnMmlKS3aw1M2ScWeMvERtNlxdXrE5OWfVrLh5XqhDRecsJ6cnPHwgyoehi1z1O9ra68YF3cLp9VL5dgjSAHa7Xslz0mDFKM3kNAlevZ86KHJft6sgfhebl2trzbXkdIkMUt+9QRojrxmKLnj1tird0BiC9yqbzDRVLbCKmOiHUeibsHxPzjnikIh5btLc4g3JKeOVVmitpbaeWCSYfd7K55KWQPqmFgCFUZnsOMnGx1vxzQcTSAmMk2d0tQmYeUNlHbvdgYuHA/fevsPTt57mXS++g3e++A7efON13nz7LudntzkeD3znd3wb+/2Be3ffJueJY3ekP3RyfRFY2cwpmLeSVrd4ViWlGLtsYeZC1CoZOuXC6ekp737Xu/hjf+yP8cUvfZnKB5595pllmn+9b3ziSxuKJVrGaGSbuNNIZYKS2a7W/OAP/gB/42/8TYXYXfuwv06m+f/na1YszN+JNSLZ3B8OOCe5kxdcLcTMlBM3btxgf9hz7I689vpr9IcdYzfS9SMxJdabjQze8uvS6A4dvhZf01e+/GUeP77k8aNH3L79NK+//jrvete7lLAuW9s//af/Xb7ne76b/+6/+wcYG65hafP3vAiO9VLp5hCuG68F5oVEU33TBz/IBz/4AX78x39C70v9NaBxQFazwjN5obRf5xNrtwvAxeNL/tZP/G1K+gH+3X/vT/Hf/OR/w8//wi/i3DVltTwxNLhWUFwrUeYm84kfAmPh7OyUk5MtF48vePvth+z3O1Zty3vf8y6+9ROf4J0vvsg4Dpxst3zog99E09asVxVXF4948/XXODvZsFrV3Lp5k5wvGcsBE9OyIbaqaAFD1/X0w0CxlinHRQk0n6nkIgM4fcnOee14gzMsd1bR7POsEWFOFUrGGHIUybcNApIr6qEvucj5YgVOViODgRKV36BrVfHHOSVYCySwGNkKDcMIRWAxku+LWhZm2b1kqB8OA6d1SymG3e4gFpwpC2wlyNnunMc6w+5KsufHMfFw/4iTkxP6KDas0NSkAsejDKP7ccL5oFBAsFb80OQrckqSwYsEfZecJC7lia9xGHQZIIODPKEb75o0RnKUn7UKAo+yGr0Vn4jVEMaDDH+3my3H7sjUDdgo79uuQBMqnjq/KSAj52g0C7Sua1H6rIWia/QMWq9WNE3NZr3i5HRDzEeevn2Ts6bmarfn7fsDN062NJW8g68Ob+F9w7ptKUUG1iUmNus10zhqSoHDmEotBtebWO8cTS1QLGsMlXFkHdgBNFVFcJ7aCyXYW4fDUDlP4yvaquZkI4uBy/GKykvskSiZIjYVfDbUQaJKbJEBL7lIbM40UtUeXyQP2VkZbjgnA+48M1RSJqfIatUIVC8n1qt2Ifb2g8BKm6qiVIiH2Vl4CKt2pSTiihs3bnHnzh3Wmw1NU4tXct1y++lbfOkrX+Xp27fYrGu2mxXTNHJ12GNtxVO3n5LrGDwVzUI0bpqa7KSest6xOxzJxx6rULKSom7WJZpvGAeNokKTIybmJ7mpG4ZOImUwFh9ksHlyssVrbGNVe5rGgZPPum0amqpm1bZaR0MZZUO5Wa85XI2L8u/8xhnWwJ17dzjZrmnaijyBoVHeTeLY93jgvS88z9OnJ5ydrAnBMg0dT9044+REFEw2VGy3a4gTziZyCaxXJ3ofWZp1y/PPPYOncPX4IVOcuHXzBjFlTn1g0qF81x2FmLxds7u6kurQGqacGaYJ6w3BC1NkHEfqqqWp14xxoG1b9of9Yj8Zpwlb4Hg4MEaxGvRDL7VzLcCxmBMpZoyT+nC13mgTalm3a9a1YRoeMuXM2ekGOpF7X1xcsN5s6fqe47Hj9PSMi4vLpT+Y1Rmzv1gYR47NZqMguIHgw1JzZGWBNE2L90HuX43VutpdieItyICtdrIEq6tAjMNCS95ut+QisUZG3yff6Nc33NieblaEEGRik5Fg3ZhJ9EtWZUkyfTLeidxBh+HD2HHo9trEyAalH0aRAXgpiqdpkmgBmyX/Nkc8ljGWr4s2EGJtJlSVwGdyWjqQVMD5Chcqun7Eu0QbKkqR/DNbitD1nKNZN/KBx0TKTnx6KVOFeVuicCf1WlZVJb6PJNPQUPkl7qIsH2KFNfIhZzHhEkIDM2WxG6RI0qJmjnGws+QqG6Y+YZ1MmIdhwpiBbA3FWvKUtFyxAnQo0tg6K/l4sr2Tl4YpGUvCWXC2kLMUoRQ5cMcomal13VA5R+ojoTgYE+MwYNqGVbvhojtQ1Q3rVS1/3xkOw4gj4D2SF0rUKXXBGslEnRvLcZStCibTrCqmKZHSSF05vCvEKJgrdJjgvNWc18KURvk9Q421hqh+5hkukTUQ2s/49yfALKU4pR5HJVx7AWOZpDKfJFvyItLZqaQF8lRmH4mpCApvsaZIMT0lcpZc4FQSddNicsLpNv5J+bx1AoaIOWHzdaad0w3FLGOOZNI4iadiJibr3kvidaT4u3l+g5hgPPZcPXqEyZHz0w05jQoCCYxjZugT03GQZtt7QggEP9E2Nb44fJANvzXQ+prGyjNy9949pilrBMdIqDxnZ6eEKoinKBXilBegS4pZs1OzgJuSDF7iMGfUBXzlyZNE1cRRfj2aJReKpzaOGAt1s8J4aTKKcRKdlQSsknQjcDz0OKOTaZBBlxaaKAegIAWfaj3JxioUTBvInKmsTPqTEe8XSvEN3rFqK5Fn5ygfQLKMppBWjhu3z2k2FRTPb/uODc8+8xxVJfCJF188p/Ke6eYt1ustd956k83JGa+99iq3bt7i4cP7bDZruuPAFAtYL4MVkR6orFFBRtYLaZ5rqWnR3sd6R902IqnSCJjKV/yRf/WPQLb81D/8WWw2FGfI6gueabrXXwq5mRsrfX/KL1N5og4UDseev/N3/x7DJJAHygwxKssWcwa2FbJuFe2SQZ5zwujibQZP5SU2Sv6MooAl6x3dOFA1NWN/JKXEo4cXHK8ekaeozb0lDkJ4vxw7lQTC9OgRpUB/dUmKkTffvsONm7eZpom+P+K8oUzw5S9/la989WW+93u/n5//+V9if+yUgOz+aXut0p8FGGeegL7NW1AWHyZ88Utf5N79u9S1V883TwwWrEj8tW+7jkK6JhlLpp9d5P39NPFf/+R/xyuvvskf+SN/mKeefpq//ZM/eQ3kso48x8wpkEhI91F9nhqxVlT2rxniaHTe07dvc+P8Jo8fX7Db7egPO37lH/0y0zjx7HPPY0PLJ77tO9ie1Dx1a82zt29hnGVzsiVNl7zr3S/w5a9cMQ0ZB+LT0s9zGCb6biDHAkkGsE7zwgvybNU+YIIO3uYLM3uwjfiw3RxsrUNJj6EUL3mH5RrGKGeo8CWKEVmxM2BzxtqC09u/6NkCEufpChI7R2YSjaMMWZWULPLkeVBbLXE71nqm7EhJpbVjT8kCdNrtDhozNUmmtK859iNNbal85tANuGrFkCd2w0iVCwfNJm18wLpEQmwvs7deBtqGygfauqKtKk63W5q2Ztwf8IUltqVVQNHUBeI04X0g1BaT5Dn0RkjFSfPWRS5tFjq5xB6KV7BtK9pVRSFJdE4t5N9UN2zbNSlnPIbGOVY3znhw/yGNMZh1wzgNrNrAZrNmrCt2O8t6u+Gw27NyG3xb8cytM9ZVwPZrkVg2Ae9OuNpdcvvmOcE54hS5bFcYG7BZtpp1HfBtDRkuHz9ku66pg+FwOFK1K1bG4Ncrumlk3TZsWxnOr9qGp26e85gJPxaOveTBpmlkd3GJw9GGljKJTWJfd9w4OSeEQt8lTrenjDHy1PkZw9VeGr39gZtnp5yfbDj0A3ce3Of89BQbE5sqMMWem+c38LoEOXQTh+4g2bMZvDVcxZHtqqWuPd5DFQyDge1mg1fJ+Gq1YrfbyeZdlVdXhx3eGqrglP4byGmiqh2GTNvUTENP0zaSPGAiiZFjH+mHA13Xceg66sax7/c0laNQ07YroTqXxFgmrq4eSYM9SRya8xCCFc94LExjZtW0eGfwzlCFGmMSdSWWuu54ZOgH2tozNgHvPVNMbLZrKu/Yrtc4Esf9Hm8sq1WDHSPeogqMxOnJmmYMVE3Fakrcv7ig8o7m/EzqboR+3cWRXISjE4Kc840mM+QcWG1qXnnjTW7deoqzzYrKJpwVpowplrbxXKwDVC0vPHOL6XjEmBN2+z1Ns8K4wMXjS7J3nG5XmCmS2wZrV/gEUz+SKhj6iRh3bNqK9XbD1X4vcUnO46rAxdWOISaqIL76UIwM8PNAVdU0dcvh0GGcU/BuJBiwJTHFidoFpmHE1w5bDGUaZQilG+FpGjjknmmUAUnwTqKxKkeonHK8iizHUieAqn4gjpPU02rfiSmArzDGsd/vJW86ChTPeUMpCWsDZ2eneO859iPOex49umCsa9Z1RX+UCMbNakXfD+x3R5y3BG815k/ylqs6ME79MkgW9Yva9AaJFvrfvLF95rlnuHj0WDeBM5q6IXVH2S44i9VcrMI1GdNakQq2Vc3p5pSYrnNRF3Km/icrrChPQs0qOmWb44JmX2DTNDLBGEfZwForWWRZDNCzR8E5uxBdRT44KuBDMlLnZjk/kbeZnyCdeScB2k9+zb61Oc8zKsFszheTrNKEMZkQJHBdCIu6mYsJHyopPJRWFoIgvttVLQ2hSnymaWQYLlmdrOWmHWef5/XWdSaR5JTEyztvlBGJinFoSLMUQxJppJmC5Xqz4JxsiZJO3402x40R439JCcs1IdowE3+dRieJzDcin4H4G9TwrxOenAohVBgrnpAxap5fccsGQuKjBAbQNhXHrls8ak8OA8ZpVDm1NKPzhnXOSpz9ks7bBXbjnBM/lJPDYholN22+B1ISOMP876YUIYn801vHmCWCYpwEwV40ukLgEG4p4q/jTWR7UAWvxaVRWrNbPsPZ8zz7FGffLQBJgFbBy/1SVRXxOJJjpDseiXHi2B3ox16J4HK9pzGRp4kSE+u1ZRoHQpCs1iYEKLLp8JWnbRrAEAeRLV2OB6ZxUo/IGdvNCe2qIpVJMtBkXiMo+sXXbCljJg7i7ZiO6oNvJOYqp0gcFBZCYR0anPU0XkLcRwZCqUk4jfi5josByVFzXujiSe+5on7jxVurm9oYp7nnkCZMPcyCHBPQSxNE+uJV3TA/A1UlpNlQVewOe5FvJ7Ey9MeBh3fuYz289vpdnF/z7d/6yeXeEXtBT9u2dMNI3x9ZrbecnJxwenrCZrOh62Q7PsvCYyzXW6AnJN1R/YWzDLCU+ESmsGaI62aq7wc+/OEP8eGPfIi/9RP/Da+88qpGnRjetVnzRz/4bhpn+aeWOU88U9ce0H969frKxSWP3/0+fuEf/4pYQ5YN2rWnnSLqm7L8/evf98nfcKbA5yIQmL7rl/Nh/sBCCPpcDoyjwGOaqmJwjlH9NXOgfF01vPjiC+Qs77Oqqrja7fitz70EFB49fsz9Bw945pnbvP76a3zgg+9nvz8wjiN/9+/8Xf7sf/gf8P3f/338jf/qv8LZoH2sWbzAT34VtZ6gszP9L9kMmrSQlB88fMBv+2e+k77r+ZVf/bXlnitG5Zrmuil+IuZ3idAyT1xfa6AbBn75H/8KU4z8a3/0D3N6uuWv/LW/Lg1LEFm9KV//4RWdgJjZR5jN8nGYWeauAe+hsjz9zFO87/3v5muvfI3dbs8v/MLP88orX+O551/gHc8/z+akwtuBx5cPsdZyeXVBf7jitVe/Qt9d4kOhS5IMkEYZEu72R4ZBFCjOOrITW4T4ByV2T+BUc5SOWXLUVR0v6VVW4i6WbMpKPidbpAiVAc213SgET7AWr1YoCeYTmbSkgcmW2M2b40V6XpasXJHnO+EFRBnihVCz2x3wtWxUTSkE5+m7jnYlz1rOqMLG4l2Fd1FyVpXeXmtO8+KVNgbjHFNKxJypQqCuarqjyHiF6SWZrU4BZM5a1qsV56enPP/0bTbrlunQi2S4CvR1i8sCmZuVWqKWatjtJDsyBP+EwsYtUXoiF5ptGlaiDpWtMvS9qHy8J1cV4eyck5OtxKqMAy8887TUBGPPjZMVqQRSkpzb526dM8bMy8crnj4/wZyd0Pc9kymcbdbUzrDzjlrfvXXtRB3UNMuw44V3PEeoWh5f7gBomwav5GvSlvV6hbWG3dUl2+0JTR1YNRXp8oKmEVpsyALv7PuOVdtqEX1FCAFXCqtVi/eO7XbNxaMrZVtM0lDguHHjnGM/kXZXbDcbbqw2THHk7uVjTk5PqLwnYeiOR1arlsYIn+X+xQM2mxW15tyPcY8fLd6KYcd5T/CezXqDc2CtEPxjirrtc9d1gQLzcs70g9RFXiO/nJ3zxJPScQecs4wla0TNSC5Z601PfzxKrbUoFAV85ZzcL9YZrBOfp1Ovfd2sROZ8PHJ2eoozmThO9GagaRrWq5bTky1t5TFGSNB1s+Li0SWVDZysN5gkW9NlO24E/tq4iqnvCd7Td0emdA2PKyWx3bascs0mif2xmzpu3TyD6UhTBcjQ1DXFrhm6jtCuuHV+jisTcwVoXMUxRd6+f4/T7YabZ6e4IrJyi9j0RBbsmQzYEjFZbFrrqiLnyDhNtLVn349cXl6wsp6q0sXLNKkVzQtsSlNFQl1juo4xRlKWJq7ve631Csdjx3A8SPauyui7cSCEwMn5qXi2mwYzRurgpdk3or5Zb9Y8ePiAuqoY+3GxATmFxA7jQBVE2VFXstk+PTmhP+x49PAxaxvoc1SIZ5FUFs1kzlpTliJWhuCdkJkP4hsuMSqIzbJer7HWMKZMZQzFe+q65vzGDQ67KzrN9J2UYi91vl3OwxThcBhYtWse9z111RJCoGlruu64DP6/0a9vuLF9/c23eHj3PlMq9NkwTFFQ48bgKydZkmTqRnHxJQpYRinALog3xRuPDSJRsN5irGOMo3gwjMHmwDTKdMuUSXPj0rKpxYiUw1cS5D2DkOY6yuj021p5aVAk3Nd5iy92abj7vr9uiqwVH4aZi7yMM+ITjTZqZEimCjXkqDLNaxlYiuLHTZMCndR7s0zkmfMos5Aa58YfKfSMldgD2a6JoPV4PNIdj4LGtiI9mZIcPD5I5q6bTb4ZgvEq/7SUmb5o5OVQNTWx65ElumVKUfxdRiie/ThQ2wrjhDY4xUhQj+3Z+QnHvqPrj6w2Lcd+wE4CdSlZ8/qcJem2MneTgmccBYM3XtH2urUoktvbj0UjaSaJyJkSQxBPrDVQNB+5dpY2SCM4Z8la3VL1Sn6U6CarTaoAW3IR2u58beXVJp/17CU11mgtqzE/c+Wsf00xYvHiPSgGg8cHS8rjYqKPMTKOI6vVSu4XhWrknAXIhfgwau8ZUo9FXmbCetKthMqDgesNhLPL9hdTlq1WN/S8+tprWAWoXF5d8oWXXuKp86fI2RCnTNeNePU+JR0kpSg+lyZI0RTaWvxAxnM4HOiOAzmKHLy3PRaRj9e+oq1WZEb1l0kB5K0TKe0QNacYYh8pGKZRG5oSKVkJknkiVF4m1QViiRAgjZkmNHjneXy1Y3JeJFpJvHuVq+jygEkWm5VmmXW7YET+X5KCupBCv8QolXEReafTwm32ORvhZWOdnw2UEtel24vK16zasjSD8zakRKhCzdM3b3Ln7iM+/eu/xsn5OVe7K4IPjKNItN5+6y6PHl3wzd/a0g0dv/gLv8Dt20+pUsAKIVbhJinJ2nbOnuaJSJsn819jlGxp7wXokqKoNJq65Qd/4Ad46aUv8fOf+kWSekAzhe969im+9akbPOpHYsmLuoT/SQ9rlqZKmdWsg+f95yf8yJ07XF5cKTTqycPlicZVus2vH0Atndx14yUNnNHhnBRZbdsKmMhC29TkaeTRw4es1y3jMLCqRRrurCGViHGqWDGJD3/kg+z3O1KcaFctb7zxJifna/zDR8Rp4M03X+Opp85pWyFUeu+gZF599VU++5nf4nu+53v4mZ/5ae4/eIgpHvBfl1drlqHFk/Snaxjc1/ludZP9hS9/kfe++70YJ/nK8wZ2uWJPxMXIYIAFMPVkVFLW/jnnzG9++jN0fc+f/OP/Cn/63/9T/Jd/7b/g4YNH4Cq5kzUOrnDtmzT6h6VSlo9gHvAaVQcVk6kaT9MEhn7Hc88+Td+P3Hn7Vb722pd597vezQc++H5Oty19/5hSjjIkzYXKFUxTkfKosTmBbjwAlqvdgWFMpFHyeGsvBPSsOd+V9YxlIsesxE4jSh8nEvuco0S05Gnx8M+bVn3DKzxMe8RSyGXCqPTUWRlyOwfeOCHpF2n4kiYIxFEgRElBkrOPFusYxknem0nUU4nIoR+orBPfv7PURZQloWqJMVH5WrbhtqKpWpzxHLsD0zDS1A2n21PiMCwQTonWENL3OI6cnZywXctGM3hP5T1NCOohbSAW2qrm5vkZse+5dXaDVVuzbVecnJ7S94nucCBUFdMwYE0hKU3aeaeEYlFWxCRNR1GmgHeBOEmNUnKh8mLzev6554hx4sG9R4Sq4tb5LUrOXF084mS7FpDVccfp2YacE2fDKc888xRO0yneevttbp2dkIrhzlsVJ9s13lge5olp6Je8Xsg0dS1yc5lwMykHwlvL6c1TvK+p64bae2pf44zEtzjruHl+gyt3xe7yisoL7miz2vDw8QPWbUOwBWskJ36zWgmgisLl5YF1W+ONoe+PxGmgrgJVJYkV09TjveVku5FIkylKCoeT4YlrGyVPzw4zR9+PZLI0Ihac5vfKeWNpasswGCovUveqasQWlLMkY3iVxpfM4XDk5o0bGu82qbBD799pwunSIk4DGIlVCZppWldetrlVRV3VpKlIA73ZkFOkbVvatiUh8VI3Tk5YVY6SMm0VOO4PPPW0gLk2q1atQoHYiCKj8TVxPNJWgVXVkLLBZBka25IIPuCMwaYCSuRO08TKOJqmxTRWkg3SRI4TzjvZ2lUepzRzZw1NW+NsERmqsFfpU6KtAuc3TmjyhpLEpue9bDe3jSdbVUCUAlNc0gWst5ys1jTey2cI1F4G8FEgEDIcq2qhN7utWkigGwpVMZycrNgfO477Dr9aYYrA3yZl3oxdh3GelA1TLFxe7RlV8ZQwDKNaH5Xz4Zws8/p+IqyVY5IyySQOuwNlKlSh5uzkFHJm067oug5r4XjcYSis2jXdOFFZhzfQtF4BnAOpRLox0Y8Dm7ZdwHwSXyjn9jCMrBqR+48pzie2MGhMQ1XVbFqJLRyGS2JsaNtAIfPo0QMAnn32WaZpwLZr1us1Q99z595dVk1FaDzGy5lTrytOao1YKok8JY55pLKG9Uq8+V7p5G3T0PcdVVNfD8G/ga9vuLHdHwZW7ZbD0BO7gSzHqG4gZeqTp0kzpAKYtEiMY4qSJTUXclbyMediPU2RcRop6mchi5fG60E1Y/6r2jH0o4Qze3O9qdRpIsUuPrU5XD14t0wessqIZDrxBJm2SD6e0e2q89c5swstU8u4WUYxg1iKTsRmymBM+ZpqWwRXP28FZ0iGtXYBwjhnlSZdGMeBYeipQuBwOCwbUqG6XudNzVJcu0BOzFI0o9JKmPNs0Q1tphSBXOQkMmRpZIVAHItkC1/uroRw3PcYazkcDsQUFwqu1+mqU2Khc55cFJCwZN/KdZwjFOZt2qQZdsYYpnGkriratpVBhm41Nus1cYpChHMOU9Xqj7AzFYymaa5pyEs2sEQiWecxRfJzTeUxVqbzxcvn3fcDxjbEObd4oZ3KwWM02qNoXE1O0mRGzRaVXFcl+87qgFkSWK6zk0MIS/7qXGh6L57CcZyIaSRm8Z3On984jXr/OhlyVJVMXYeJaZyYxsiqXfGhD3+Ul7/2KqXAo0eP+dhHv5kHdx/I5tw4xjFinKXyXpH1btmsd10nz4RupadJqMudEu7qumHdtBItYC3d8SgHBIXis+T45oK3EgHUWJHxB+sYdVsUs3zewXhiNy1+wmAF+JWibFemUcjpVahE6t89oDppKUI5IyGKhFVomKJuhjXgfVYlzL7M642LFbCNSjy9PodLduic02uuvSPOypbAulnmXmjb1UKklIIvU1ctm/Wacep59tkTHjx4nUeP3pIsTWvJSARHqBo+9rGPEULgjTffZLvdCp02BHKV6YrAuea13TKY068nlSRzA2QXkFFZNvN93/Mv/ct/mNvP3Oav/vW/yfHYY6w0ChShdMdc+E9+/XO8dO8xx65nVNXHUDK+CuRUqLznfL1m3VTYMmGAf/kD7+R73/MiDx88oO+76yxXzPIueLIJ/J9d+85/z4h/z2redSnI+8VYycrTId/pyQmUwn5/xfn5lmHsCbaWgRkiq5XeurA/7Hjt9Vc5Hg+kODFNEp10+/Yt7j684t79S3a7PXfu3uWFF17g7t17vPjiC+zjgRgTP/VTP8U3f/xj/MAP/AA/8qM/+kRjLxKtpc2f6YCqBJnvmTn39skttTGGxw8v+CcPf433vfe9HHZ73n7rbf2e1T9dyv/s56ux8E/E2Vx/xRj5/Oc/z//9//H/4V/+l/5F/tx//Of40R/+ET7/hS8J7tPNW/8nN5BPNM9PfGbWzSodGR5v1hs++5nP8txzz7Na1dTNGR/56Hv47Od+i5e/9lu8/uaXeO+738MH3v8e2nYjtHwitglMkzRvTdti8Zxtb0pj5Gpee/1NikkirazCct/OF3W+bYRFUbD++vm0qmZKmq1KsVJ0ggxnzdzgXp+nFMnk9U6z2KPUHPN56bJsh3yQiJN+mGRLNMm7cla8hCowjZEQamKSz0XeQ46MJQPHfiTmS1GXGYcLNXWzpuuPtKsNTbsm5SPTeGToe1brem7HRXkxTjKcS4VpHFg1LacnJwTvOD87wxrD6emWXfB0fcfZySmv5ERT16za1bL9tdayalecnpxC2VN5T+Urah2yO+9F+TWMWIwAEFXNUbR2choR5b0MdZyTwe84DJQkElNn3XKGUBxVXbNer5ZYwFAHKDKUcN7RhEoiACspL8XPLLYSFySip60b6hBgSoyD2Khyyhy7TqPlZINUimTIO1dpHSTDyPV6zX4XddNbsdlsaJqGszMp/mfGiww65PdZrVrx7Q2DkJc1p9dbS00h6Dbz/PyUdbPi8eNHnJ+eslpJvRFGz2azpq5rXBL5+lx75FwY+oFhGBcFnLFSf9Z1RV2cNraBSyMb4pylzqmrSn3O8jnM1HijQ4kQREUkzYzB+4qq9jBMy7tIrHKTnidSl0XNXV0sCU7tCsngQ6BuGvaHjmGKbDdbPHlR811cXPKiRlWt2jU5RaoQSBVcsifFtCxV5Hks5BilKTRqD8tZFluqcDBqJWtrkbbGIuo+54SMG5wXWGeZY9CkuQ9tIFu5pnXlOV71lBQVbmg1xtIq2wMlWKPPWJZITJtJUxTLm3WMw0isK5wri+9/hvF55xlzXj7HXIQJUlcwdQMpjpSSaFppumpValQ+4Kzl8njAOEtMkccXl3I9nKOtaxFiGFlUdfGo/KEJlyIn2w3ee8ZhFF/ueiWw2zjK0mSKDH0ng3AdmI7DSHfsSJXU3CEI4DXpsz4OA33Xy4Cxrhgnya51k9wLcZBUlKZpJUtciiOqSjJvp0lilELwAqVF8m29dwowzVSVcpE0gq6oAsV7z2a9Yhw7QCIYZcDsOR47UWdNsgANal08Hg6sV2sdZkskXQiBqqqvU3e+ga9vuLEtzhOqwLqqeHS8zzBJgRRC0JB2S92KZEHIqDLZqi3UReSPk8nX6/i6EVlsSkojNeRiyFPSqY1MX4o1mOKWRrSYAZMhT1l8jRbIiaD+xKLZbzNJtxQkRytH5Igquj1V1HQaRW6sgJs5KHkBpKS8PDTTMEII4k8hUdcVVVD6rVcwUBZZhyEvHoSiU3kKBJVX2FKYSiRleTidkZDxUoq8FEpBko2MNswJARPOeagSK1GeiCkxJknhUiQ/tWRpeschLqCMPk8ki8ITDDFpc50z3k60m5ZNK9lTKSVKmjAakVNMJgSoswOTmCI4HxbpWykiDXYq9ZVolUQdavmZrEijnIGJgtUA9NaKtDtOE00I9AXSlDDWE5yTnzvLhg5j2Kwarq521HUgxwlTMmnKJP29MU6YuEU273KNxBtrbGCa5p/bY21Sb7IU7mOKuh1D5XFR/auy6YiIMsEWg82G2nrCqlVZosgOXZDD13lByQeFGhklM6INdTaFFKeFbOw0k6xZteJ11OaSqgEku9IUyxQjX3jpJa52Rz728W/hs5/9LF/9ysvcunFDvIwqt++HSXKC3RzJIvLGumng2FG3NUZz5ZqnTuUaAZuVJ8WtbNZSoj8cMMVQN5XU0dZw4+YN9vsdV9PIeqOkvlXDbt9hTMIYiY9I+fr6zSRp3wgswXpL3Va0mxXtqqW8XWi8ZItO6UC33xFCS5oy/ZQ0UcsyTYMoNYzFWaGJl5KlwdWYjZT1sHNq8NTnL5tELgKJyUXIw7lIDmVZJPlmKYrQjL7jlKhTzeGwwzlofWCYipJDC1g5vKpmzTPPvIOYCi+//AolZ+689SZPPXWT977nPYR1K37hOC3/3qIXKNdNk1Mo2dyk9NMk4LQolOwUIx/7+Ef5Z3/7P8NP/8zP89WXX6UYpzstdAAg59QxRr70tVfl9zAO6zx9kvvgcOx4+uymHLje0gTDNA6StWzEU7kIc59suErmiU6KOQpqbqh4QkpuTMGYNP8yiik8fPSIUgrnZ6eLH7dta+rgOB72WGPoehl+SY62FLVi8zC4YPnSV79E1viRrPfDat3yjuef4vHFJVNJvP7mW9x++plra4IV//Grr7/Kr/zqr/Ld3/09/NIvf4rPv/QVBQe6edFPBqGWFpEc23lzmEQKm622V2WmhLulmd9fHfj2b/0W/oc7d7/uGpVlIMCS7zt7lguae8718OXJ5vTu3bv86H/xV/mX/vA/z7//H/xZ/vbf+kl+7ud/XiGHfoFPGax+PEXuMd0SO+MweYZKic0nThPTlLDWaxMYKWXkYx/5Jl584Xlee/11vvilL/Hyy6/xzDNP8YH3v4+nnzonxZFYHK+98QYffN/7+OhHPijRIkGa2E996lO89sYbjMPI1I1kA6aI4moaEzkJuV4AW/IuzkqpRYvJhGxA/n+0/eevtWt+34d9rna3tdZuz37KaXOmcTgcFplFJIdNFKmIkWBbjuEUJ7ENCEFgwHkXIM4fkJdG3iQvDCcBHDsuckliG1EhqUpxRJEURU7vZ059+i6r3O1qefG77rWfUQR4BET74ODMnLL3Xmvd9339yvf7+Spd4nOMFnAdd1nAi/2GRRZf7vWqkmYyIn5ZZSxOK7pVRz+OjONzsmnJ5fydo0ijK2UK7VgSGEShm2RYlARe47MioRgPA+Z2R/aeN3/oDD8G+hk+fHrDbrsrz/PIWjtCvLMPxNmTfcCUwfbJqsNPI7mtIAeatqPSxcNYVxKJNU3i9zX2aGVJZZAYgxB3K2epnCHHyDyOrNZrnDGyxVQSjyM24ozWMlAwSmL7Kic1UmUUtVEoo2mclfsPJdnJKjPOAz5Mcs3mWDgWscA0c4mbE+nrPM9sb28BQyzNvCQAaExlMdbSDyOHYWKYxSpzdXtge5i42va0TcP2MLLKGrSl7w/UbUNSiaZx+NlCmrFa0dYOZ+B0vUYr6PsBZ0SG3jhDspbKVVhl2Y07mq7BGSf2E2uZ5wmN4vz8lDCNmGxoK1NIxBplNLssCiGWpjmq8v4a4hSK1e3O/iaxbYrNekMVlrgzS4iJpuuKTUs4LetVxzDsaSppCK6MYrVuSQRcYzC6YphmVpuSNFHZUi962uaUFDwkkXOH4KmqWjbx80hUpnjwZTNfaXmvcpTliM6gsyKUGKpx8gJv9BGjK2ytmOcRpZ3wVLIqWd2GkDI5B9qmLTYDedbIXV3k1q4WS0JW2KoiawGLprJcECVBUf+hUFER50gqSj5V1/K7WoeKSur/UOL8tMJpK3RwtWS+S42/WP9MLt8/gbZW1E5TJPhMo5Rcm0ojhYTAv1TWaOXISeTawzBCeUaO0wTG0K07bOWwRXnR1I5xSuWVJ3ySYdu6aUQuXeq+xy9eovWSRQ5pDmzWrdyDOeDjRNdWnJ/J2Xt7uCX6wJPtLV1dURW1JEj03TTMrFYWNWrqpuFi06HmUYbn44ipHNv9gKkaUsjYxgl8jIxSCYXYIYdx4MXLl9y7dx8/CxxuvdmgtWF/kKxoqyX6qu0avFdst1tZcMbIdteLDNsPOGXpXM3JpuP5sz3zNIlV0wlnJ6WZaZrxUQZgRiupqcaRk5MN0QRmPxFyYrVaM+yHYzzZ/18b2+vrG3xVs9qs8H4mhiABwEmhkiEG0dmnssVNIZGSQHucNXg/l0P6FQ9ieRiWKkgmdn2PMZuSx1fIm7nga8uER1vxB4VZHbepix5ftsKhEGZlMyl0XX+Ufi0FQwiiLRfKqJUojSzyYR/8XaRB+cVjvINYwfL97VG2GmPAmaY80BYwyAIJkZw8U+JXxMBSimIlQfNLXu4iR01JJBjaLRvuJPliIR43s8e8xCQ5edEHkhY/snLVkSh8R40ei149ULmKrpAGcxApjDMSx2BdmRymTCbgw1xy4WQC6dPymiRUWvypAioSmUOJPsDQtk2RXJhStCtUMfRrrXG1xWiRn1ln0D7R1JXI5kqzMU6TNPRKBh3aWpnIJ8mWXSKiQEnQfDn8lVLHqIJpnnFVRQqhhFJr5hIthNYCcgp3W5RSqhJSkO201cSccZUj+dKAWJmEpphIKHyRwOVCzElJoDgxF9iPFlneIlHM5ffSWrFuG0y4m2BO08xqveYXfvEX8AGi0qQoIsiz83NW6w27/YFD33P/wQPe/Nhb/As/9TOcbVoIQSRpOvJ7v/s7kJb8Z8RHoWXqX5X4DaVMiSJROCvS/2Xi29QN0UemacQ6Q9c1dKuOtmuOG+z1eo02hmmWqdxQVB3Lddw0zV32oy6NNoo5JC5qGQzMXho2P890TYfaqCNcyCgJnae8BzEEsBadpQGdfZCMxZRpF6Me4tPLKRyHB1lJbEh+5R4WpYgvW3tX7qdMSDIhrJwj5IizIkVP3hfA1J18N+dM03S8/ubb3O56nj9/ifeBb37jKzx6eMlrr9/HVYax90eidirk8jsLxR0V2Tl35z850tlFShlCYLNe82/9W/9L3n3vA/7q3/jNcq3f+VXV0mq+kp9YNQ0Zkft11YrZy/vsnGPdrVBkXFUzT2OB6ETefed7AukpueHS9d0Rml9x3B4HXEcf6ZGjsDzji6hUw5MnTwgh8OD+g+UdpK4qNps1/TiglKhFLs5PqaqaaeilIDdC57QOQhpJCN1ZlXssxsTZ2YbLe2c8fXngsD/w5OlT3n7rdZ48ecprDx+x78Vv+OFHT3j27CXWdfSDlzgYcweiy8hm6Oc+/zPUtRZAUQJtNE+ePOUb3/g2xlbLlSbbjnI8PH/+nN/8zd8SAmiGcZwp1MAjJfooCl+6tKNPdpGr3kmdl61+3+/5K//Ff8VH73/Av/yX/iVef+MN/qv/+v+FL3aMRR2xfDx6yUQuz0i1/H0jR+o0THzsYx9jHAfGMbA56VBFFnxysuYnfvzH+aFPz3z729/l8eOPePbsKa+/8Tqf+MQnuHe+oenWpeA+EbBR3aCU5uLyPj4mbq6v2cZrYoIQxJYUS07tPAfxxSmBEEaVymZe46NHmTvXsV6GgeV9kkVvyaRfsuSBpBXOqsVVBznLMyRF2TJGUBhiFOBVQvJHVfEwypkjf5L9cajAInsuA4OYBPyXsuLqtufr33mf25sbjFasQsJPE21dE1MW36xzQr4VWtyRpdA0cjZO08Q0jux2O1Ex+Zn+cMA2NTc3N1I4bncM/cA0z5IxmSLz7BnHsaRDeNar06LSsUU5JLLirMAYxeQn8c9mTThSs+V6c9ZycrKhto7bcHPHHnmFTh1CYJol81piwmQrFGJgHAbGccQtSr0gZ8E8x6LAk3LzVYvFkm25KMe0WaCjQoMPXqw7rqqlAexWaDJd1+DnAZWFk7Hu1jTFpysn64BS4hdtnAysNM+oawebNcpIvutmsxYvf12LQtAaGtMR51LPWEvTSMSeLpa1qqrQUnRQVTWbzYY+H0hpS9u20tgagyuexqZpcF5ebz2OnF+cA8h/N4yYEoukteTWn5+fo7X8PVMyb6uScVtVTvgi1GSkfkw5ME4jJ6cn7Pc7SQEp9rtxkCi7pmuPKhPvPRoBk43DSMwSxeLnmbpuePnyinkO7HcD85zZXd/i54n1+oSnT6+JQbPbTkxDf2zgM5lphP0+YI3CObFB1HUtaiulZHFarEQhRrFTZZHBbrqOMM3YkgU87w/HHkE22Hf53a6qhOtIkuvcKHSW1ANJWFjSJcR6kUMoHCBzd+YC/TCikqa2GuvEzqHL1Z6KpWfZ6qtpph8mmm4tQ6qYODs9h3Fg6A/Hz72pa1YpofYHrDOs2hZXNve5WMrmccTUIvvWRtG0XamPMslHop8JSjEMPT6I0mHoe7q2QcXEvYt7DPs9MQqgLITIZr0ikBnCjFYrqqYhhD33Ly9ZbTZMk+fJs2cArFYrrueBylX0+4G6dhwOe4ZxxAdRqA19wlknkmIyh8NIYyT+tHIV4zBwfn5OVdVcb2/ISZRWEWhPOlzIVCWnGHLpk8D7mbbpyFkUhBHJde7altpIxKJSSj7jlCRTWQ+SoPPPw2M7TJ6z9QrnjHgeo2dKsqEM84g2ST5wlYk5yAWsJevNKo1yGt/PclBryRxdOvClmBvHUSQvlSNrhU93ETe1rbFKpqhhngTyEz1WaWKQPDeJDhHNuGypIiGUQO9Cjlwy/6TYSgWgUJw7CUwlPtcQxLB/J1HQaM0RfKW1ZprvzNopRPEf6fL/KehFLSv6HCKucoJBP2bnGvn3con4sIt0T6BHKYvc22r3fQOBXGA5EjGklrlAafrED5ytFdx6kiZdtk/SIGhjRHZjl5B2Jd69nJiHAWtk23Y4HHhweR/8jI+h5HDJA8MpTSxIGVUKjlhk4cFHgStFiRJYCl1dkt8XsNWrIeRLfqfRira25CREbFNZAYkdAWOLHwoo8QLWaVLSDLOAZCjNMEoRdMYajZ9nkYckkbqjFdmLPMKhsMow+chhmmi7inmY0eVa2I+ejbXMMTBMcmNqoxnHQTzEOct7oQWepa0t8vaANoo5SX5dKrl7pgJbJBvTIotylgSS81waDGm+Ha+9+RbWtnz05DmHfkBpg7WykVDaUDctb7x9wr1Hj/jcj/8p7t87l2tAZYiBf/xHf4wfdhib6OqqHC6R2hrxPmSI3svwqUjMBcqiOTs74+z0jOgjjx8/oXIVb37sddBZZDhdw83NluHlVfG/IwOCAskS6bm8z6rI0HMSjyVJcxhHdvuBQ39gu+1ZrTzj/iCxFMaitcjzrm63OGPwPklzgXh6VFE3LBu5lGRTH5JEEYiVYdmSyzNALZ2FgpzikbCtjZYBRYjMwcsEWSOHFhFtZDuR0CU6awGvGc7O7vPwtbd5+vyK2+2ecZz59re/yYOHF3zq029zenrKPAcmH5jCku9ZdEly0x+fKxQ5rF6a2VwkYilJxrNS/Cv/yl+iaVv+8//i/8Lt9lYmwNxRYsu0B4qv7OH9+4xJk5QtXkDQOpTsQ2is5id+7HN87RtfK5LvIttOCavUMUN1SWSBJUZrCcZRx2HNIlPWRYao9NLJ5RLQriSTO0YePXoN50wBC1nOTk643W5ZrToOh748d23p+2QoaJUmx7LKK1+5FMOKSF0Z7t874cXVlpjhw8cf8vprj7jd7rl/KXL9br3i9Tff4k++9FV+93d/n+1+kOiNytwNW8msNit+8qd/mrYuEt4s0tpvfOObfP3r30AhXnoKL+HYUGpFInH/0Rv8D//8b/B//4/+Y+ZJth3Hxl8vMuR0bG6Pf7wygM2vfm+tmaaRv/13/x7vfO97/Kv/6l/i3/13/7f8Z//pX+G73/2W5L8qffw87g6HXCjaS3O9ZAt6TIlYi8mz3w3stp4HlxcMaUAZAYP8qZ/4EW5uXufDDz/ig/c/4qOPnvLaaw/5xMffJmnD7/7DP+by4pS33niDy8tLfFasNic0bcu9szOm0fPue+8zT56UFP0wFp+pZDrGFNFJlAY5CU/BaVfusVwy2imvS5OKWsmkzBw9RlfECNaULPcUaBuHwhJ9JODpWo3Kmhw12lSMIRNU5KRp8VHYD0rrEscn2dtxnmUwb8wxzUDlwl7wUawf3vOt73wbXWnOL86ptZzblK2vzLcVKcn3jSnhmpphnoR34cG4FmUMbSd+cJMyh75n7ewRenk49Nzebtne7kkx0bYtu/4gkYZophDR1vHg0Wtc70T1EGcvnrypL5Ljsu1ViW7TSVSIdSVKL9E0lcTIjXIO2cqK1LwMI7XWwv3I8hzOQAyz2I1yLsDDVAYDqqiicoEQGaIPIo2sF3VDQhuY40zjKvG4Osu6DE21lk1jbWs0EndTWUNTOUZnSZNIW50TSe/iea2qBrJkKrd1JZ+ngrZtcPKxYJ2mbStRe3CCc1aovFVNUAIdqksigCpWDFEoCnU4vSLpt85KtE/V4Fwl96uSoahzDpXkPkspsdls2Kw3IlPPihfzC6HlNi3jlL8PICkWLs+D+5vSfMUjhA1EdptITGGiaStub6XezUrO/6wydVvRrTuMFrJ2iBOQ6boVZ2dnvLja4ppGro+qIsZM23QYY1mtVhxub9lsWlKCfj+RteF21/Pw/j2CD9Rtx9X1Nds+8P7jF6zbmqqWxmS1zoSkmfYju+1HJZvXsl63dCeiKtsfRCo7DwO0ZYmUYQ4RVzXlnoQQEz4msjYkZY58lFhskQqIQSxSwSexNCJbWpANcUiJjMhnQ8xsDxONs3QrURqaypLIpKK2aG0lgEpjSQRSVtzebjl4URQ1ShZHdV3jp4lclkf9Yc+9B/c5ayscJYUhRnyU2iUHSX1YtQ1nbQt+ZN21hKrCljpl1a64vtnhsDw8v2Sztoz9gB/2qOjZdB0+RR586uN0qzXPvvwnoDNXty+psgx16qZhvdkwhWtiiuxvb+nnQK6lJxrGntP1ipgN4eAxRjH0A5vNCV3bMo8T0RoB8zrD1dVLzk7P0doSfUJj6dqOfdqTkYHOfhjYXm0xFxdopcSKddjz8upKNujaluzlmin2R4CntRalM+M4sj7ZcHt7i588qpD8zSsLi/++rx+4sQ0xMIUZNcLF5QXx6ho/HDg9XbFZr7m+fiHRM2SS1uQi8zNGM3tPTDKlTRFsZQpNuBCLlciQtZGg5QVwQS6+kEI/1NpgyKjs8CFirZOMOSsN4uKP02ahpspE01ohl/V+OG7iFnlkLNPXRX64NNnWFB9Kyb2D7/eQqhLhM8/hmJcmxOVlG62PsBFrTfEkyEmQWKI21HGI76yAIiiNftPUWCWbGl08wyndDQKckwtL5Iup+JKKBEYpopL3dZzlgeqMwLu0kgngMmEiZ4ZxQDnJc6s6yZc9HAa01uz2e5yRzbsCbFUTyvtstVw+RhucMZJZWIiVx/3pksuZ1LEAXryCtjTWuiDNjXGAoa6dbMDnUXIRy/cIxQ8t0rOENu64BbqTA0JdVyL5ywlTOWlmtUZXViJ+FBJ5kDJZaWKWDMTDOBMihCCfUZjl/QoxEQpcLKZUmlfFkAI6RfH05owrPk+Bs8AcA7Wt6MMo2XTluoul+a2QqBtjpUnwKdPVFTlFYsy4qkG7mtfffAvvM1/+2jd5+Og1Lu/f5+d+/vO4qqar1nzik5+kP+zp+57nL15weyPRJ6+99kjgGNYxltxD2aIvYCrZVlijyZVmHLPkLSdF29blQRKISabvC5n09uYWTGaz2RBiom5mht7jvTRKsWzWjbVHWZYoKUR6HpJHZcXucKBrV3gfGMaJ2fsjgS+nxO31LSlnutWGrm1kum004PD+bsP1qt8aVMnlXXw68rvoAhbzMUiFQ5lYaU1epP5ZMrUP/YGYM01Tk1OWgsfKZjimWB7A4H3C+4S1FXXdYrTj0I88f/GcDz/6iEcP7/OpT77F+cmGFGLZwo9HMrnVmrQMdsqzJcZIVjLtjq/A7HKOR7r6r/zKr/LzP/9z/NZv/03e/d67mJJ5qwpNNx+psvKs+nf+7b/MZ7/4x/wf/8//ATnWEOFnfvan+PzP/yT/8A/+Efvdgf/1/+rfZBh6vvzlL7LuVuL5UkoyJ4N47I02xwiSnOPxfV0sIEtDd2QdqqVZF3+5qxxd11G3DavVihg856dnfPYzn0Frwxwi333nHaZ54oMP3uf09Kz46pbprsLZimnyBS67eHOkmdHGYHUm5CgxVe4xYcrsdntevHzJo0ePeO+9d/n0D/0Qr7/1FsYYbrdbbrdbfFTEnHDK3XlfCzzj2bMXhHlA5UzXdXzsY2+z2ZzxyY9/4o6G/spGmuLZz0ok0r//hS/w1sNH5KyZ5rFEyEFGnmcxLHnbhUSZXpVclWHgQtR9RZr80Qcf8J/+P/4z/uW/9C/y7/xv/m3+8//yv+APfv/3sRqMtoWuLMT6rIrdolhZlCpPY5WPee3GGCrTMs+a66sdVW2pakeYZ1wt0S0/+mM/ytsfH/jmN7/Fu997jxfPrvncj/0oDx4+4PGzWz766DnkIL6qHOiaBuMsVc44q5kmiWzyfkZry+w9TclvVemu8aJYBHShT0shf5fjG0tsnjKa6MW2kUrEl4w/DdMUMEbdDbdQ7PcHhmm+86IrS4xiqclJfOc5Q0iJumnwwZeEBYN1BkfCKS3E65iI3hd5fNFLp0DlWjxFlaOkkF13K+Zpom0aqrpimsbjtsvaEkFYtrc53kUMLs83U87vGBPTNLPerMSaMHn5/Z3E/OVyHgO0Xcuw78sAXLPenLDb3cKRcuqIacI6aeB1yVPVTu57EJWLs6WuKckIGskAljuyePLKAPsYvRYDPsg22aji9Z1nalcJDyHGQqItSRd1Tc4y/HfOstls5OpPma4R0JFCCZejaYSA7Ryz0bjKolWJPnPic1Ro6hKLpBH2iassXdcwqyygU+fo2oYU83Fr2tS1POOcDLCqSl6XzvI5LmwRhS6frUTSWKuI0VPX9TGHs89JoGUxFl6MyK9VKHyPIy8iyRZdaSq3Zhj6492/PFtTWWJkoG4a+qFnmkZiiqVxTozjRNt23G63R7uKNYZV17FadRgrA8IwTZyuzwqZWOOsQZX4rMqKwqRtOuZ5gpxw1hQIrGG9WXO76+X7tiv0Rn7vq5dXcg1XNfcvH7Badcx+ZhgnkZ5bS9c0OKUY+n25TtTxT1FBxOPWfolpDDFwGDz3zk857Pds9weiFh9qiJmbvsePA1kJ9MzPvdQxieMQzBpZgoWY8EW1mRK0TUvwEy+3W26HiZOTNQ0whswUPTf7Hl9bKmOYpkxWlu0w8ex6S312wbOra06cwRdvdVNXR2ZH6ypOVyvO12tqKwkuT58/I2OPw6HTzQnWKS4uOvTsICR0XZFToK5bFJmmragmx9nZCW0ND87WTP1AvxewbE6B8bBlc3LCw0cPue333D+7R2srUoy8eP6ceY4c+pGm7lh1G/bDVOBsUtvsdjs2JxvOz8/YHw6M/cwwDGAUYZoxaxmAXVzc4+bmJVVVF5pzjzaGtlmJMqSyHMYJrzKm8QTvj3GMq3ZFXw/gMpvViqmAX62W52aMAR/FMqHNXWrN8nyMIYj0/Af8+oEbW1VrbuYeh2i3D74nZM+UPHX2KCfNVs4ilVsoe1ob2UpkQ4rT3c2KTA21lSJ7mmaq1qIdoCPKKCET5ohFMltTKDEzJdy9ssI1y1mkDTjwIZStjCkFQRnPIduc/ApcShff53Jw1K4mRQkur4oUcJgnUUFTgEtKPMSaRQ0sMr2qRFWkhZepdIkE0kfwlRyCSWRWWstGDZFmGGNFslqIqNZacpDYCzkwlUw6jGOO4Zg/qXIu637Zgot8xomXKiRMRrI6Q8AUWYy2hlCy81Aiv3AFNJRDIJVt1LKxVqUxrV1FiOXgyuK1zEEOyeXCM0bw8HOMxVeVUUEu8FhM70vhG2NmClG2hEqhnWUOgabgxrEim1wiKqyVQ8RpIdlVlT1u0EUFkMqWqvijRRdZYpisZD9GaUT10SciWaejD8RygMRc5M3Lhk8ZpuIHw1iZ5sWZOUKVpKnwKJzSKKOEAJ0yswTW4r2n1uKJTgitMhmJWqhXHTnospXWRFcRgiepLB4ZNEk7bKfRleF7H7xHd3rKV7/2TX76T/88Cnj27Ak311f8yI/8MKtVw+XFBTkr6lpkwjEJ/ICsSD5L1mWT8fNIroRajc7YSjLRVInIMEYz+ZlxHMhBciKjDwSj8HMQQ3+IWFfLpG2e6IeJpDTNal221pE4+ZKlXHzbhQI8zAGfei7vi2RSO0vMia6p8eOEcZrKGPb7W1abU3IOKG0gpuOQZyn8coK6alFKM00TKUk0TkiLz57yPJBrMOtIipBLMRhSFJ97gd1hNHqCygl8pOtqbKWZS36sD158uig0Bh8z/Tjz7nvv8fz5Yx6+dsLH377Pg3uX+HEi5USYY4FIWbJddpp3w6xlCLAA4dBL4x5pGkdMmc9+9kf5n/7P/jW+9MUv8wf/8B/y6P6FDALLsGhpymLKdG1NCIF//9//v7F6+00+/uYbpKgw2nFz85xHrz3k5372p7m6umK/2/NX/spfwSr40R/5DJ/+2COUn3j48B7pdC1e5DIIO2KWip98gR0tEVa65JWnEsVGgfUZYzg5OaEpvkFiwGnFumtFAh8jq66BnNjvtqy7Dj/PGO1o25owz4QYjhsNXejrMeZjs71AcawxbNYdu/4KleHDx094+PA1MrDd3nAxXMhzr64IEjhKDhBDKtwxKdJjCNLon0impCnPkKYSOrZRiqASSWVMKX55RVK5fCYP7l/yUz/zp/n93/s9Dv1OPOHldQg3oQw9F/WKWqTq+aho4eidVscG1TnLP/qDP2AeJ/7yv/lv8cu/8Kf5/S/8HsNhKMWjWEySCrJlK1tnYjqCBb0PRxKn0gvRH25urvnggw+4d3mOsgp/2FFVAg76uZ/9Sd57732+970P+eM/+mM2Jye88cZDXn/tITlmQs6QZiZfIIcGupOKSCQtsu8s/2AuZ97oZ9brVVHmJNmKxRLxqxBZ91Lwo6i0RSEqrBBL7Jp1JbUmHiF2MjTVjNPA7D1128J2RzJCMtWV3NshzLiqxlaOum7RRnFysgKlmdNM7Qw5eYkTQmGVQqWIVZm6thJRp8DpjHUKZ2B1uiENPZpEW1vq2rBe1WiVmMaBVdeWXFIn50ZOuMKpWNRMfd+LJUmLgkVrQ1W14tGjbK+S1B1t3TKridWq4979Sz4Y3iOrzHp9Qts2HPZ7iRiaAhqJR0upoq4kctBpYT1UVmBHzglQSZrMpe6R5/oC+DS61EVHBR7M80hKgXHsaUwNIaBCZHO24urminGSwceiOGuqimkeQSWmMFDXFiIEL2kOtTMoLcPZBUyzDA6MKVYsq3FG0dS1bFuNEulxzGAUbdfQNhU6BrTVNJVj3bZSQ6RIUzvaRja4ouBRWCujEqcNJiWcUWiVMVYRkqhPtAJTWzIzdeXkPaucNA9Z2AtaKcLiI/VBQGZac7O7BpVxzjD2B15/8xHvf/AhbQFk1rVAfHb7PSElYoaqaRnmiSF4AjCFmZN2xf5woG4kbs5FGfhs2jXrdlVkrTPDNLGqHW0tEFRNZtM0rJqaPk44o5inkaaqRRFpFF1bc7XfUTctVSVEep0jbWXp/YyfPG3taJwtXmfLOIxYJ43LPA6cnpxwdrKmdY5r5dEkhoNYXk5PhWxsjcZWRrgcJS+3qiVVAaOo25oTbfAlRs1iaVc1m82p2A9j5ub2KT5bsQ5VNeMwUxkrSRCNwDDDHOmHkbrtGHLm+X5gHnu6vVjuptkze0/fD5xvNseYRGMdfYjc7GbuX9Z8tN8y1DVVzpysVxxmgW8+eHSPm8NI162x3Zqmrgj7njmVwXhdUdsGbSoymbZa0TZgVOYwj/htwDBzdnLOo809pm/0xDxzcX6fTVtxe3ODcxW32y1hHpmmCa5fCl9FCWvh5nZ7BOv6eSJF8aJ3XU1ScLu94cHZJfc2K26fv+B03YHeEENg6EdmP2FwpV6LZAX7YcBWDX0vsYbzLI3tzXbL2cU5Qz8Jn6ayWG2K598RfWS327FuV8zDQL/d0jYNm/WKmCNzDMx+pK4UjSuxQt7TNRXJyQOln0ec++ewsU1Z9M5zkE2JMhmnLeM0ElO5AaqKeR6PB5NApQQSs0iAl6Y2F9/QkZxcgrdzDgW04O+alhJTkdMrwJJXaKHL1G/JMI1RcmRNiUzJ5JL5WoAwZZNx/B5KNlEiZSs03CTwFAH25COMKsYlV08M3M6ZO1Nz2cCmKEVdKr/zPHu6riaU6V1MEoSujciUFri2NeZYbCwEy4xiGmeZ3qoiJVvoI0oXgANlyi+v8fh6k2w3QxKCnfce5Qx+jsfvkZHfMxUIlSFT1w0xDsyTbG1z8b7GIEHJ2jlClqZAqcwcMuM4M4WEq5VspHMilg1OKL6GXJomV3KJ5xBQRmTfSi8olbuNxxKLEWO48wyiCuzCST/GkoFYoF1GHyE8JZZSJvnFUyY+OH2M8VjiJGQaVKScr0TuqFc2aSJv1rLpT/I7KjhOH+Uzk8aWrNFG4l/wxRusc5nGF5KgUWg0TjkqY/AxCX8madq6hqRE1kymdq5EKymUUQzDgRhnbl/u2N7eFlWCY7Ve061W5T0AYiEnlntNyJZSUI/jyKptpFgvktwQxEs6jhN1U0iv19c423CzvWWz2ZC1KDhu8laoiyGTY5YoHS3RUyEEFgO8KlL/GBOzD2QSrkA0dodbbFVh5hFnrIA2jEBk6rqWSX2Jzlqv1+z2fdnolPf9lY2+QmGdBuVIUQpeP4xlUn0nd9fFx774QX2JezI5F2eeqE0qa1hvWrquPtoQvPf4GJjmmRBlu22RjMLt7pbHjz/g/oNLHj16yMX5fVKUKJS2bmi74hlcvMavAJcWQvzRDK/u/G8+eHwIWFvxF//CXyCGyBf/5E9YrRp5jui7IjgVQEsC6kYmyH/0R3/Ih1/4B7iqIqTMb/zGb/CLn/955jnwpS99mSePP+I73/o6X//GV3nrzbc4OV1zfn4Gz59inaFK9iij+76M1wWUVt7HRcKrYvGJ5gXCk49eea2F0KuPRekSwUaRx7XHcPYMDOOItUq2+MEX2r18lt3RNwbzPMl2pcSOYQyPHl3y7MUVMSeur695/vw5b77+kPfee5eHr71GjOloiYhZ7BFam3LPa3KWjcfpyYkUtOUaU0um7RKjs0jSX/EWv/IkQynFbrfje++8Q7fqGKZDiXpY6OQcN7YLPCznjEGLX/8Vn2cuPmyyKts5TYieL3/py9zebvnFX/4F/if/+qf4+3/nd3j//ffQxW6j7BKfWq654t09XodlcHE8c5GcxM1mw5OnT7i52uJjoGlbLjKY1YrNuuWHP/NxXry44enTZ3ztqzc8/ug5b731JvfuXaDYk8JIjDPWaE7OTknZMIc9TVPTH0aMcYTybFXGlLOR49nMK7fEHeMi36m6Ujw2NtoaNpuO/rCX1lOpY8ze8jl3XYeyVmoAa1FJEhmaqkRppYTR5njedm2NrSqmeWK1aokxULsKV9XUzuGU5rRuuTg7J8wjrXGs6xoTIhtXs2pbruex5KOLRatrW2IItE3N6cmGQ99LfrYtxaCViBZrhIi7PxwK4ZljjvWyAVQKySmvapwrcS6ppa4rzk5PmO/fZxhH6qYTyawVlog8n2GeZ9zJKasSIZJLbEomFQknR8ruOI2SVHDMyZTBz2HfFyqvgBcPh0PhKrRluJjks80wF89dTomxH1m1HU3VME8Sx6WLr5Vl2BcTs5+JKUqsUuWAJNTmvGDW8tEPHEMkucR6vRJoY+F9sCjtyl8lWsdQ1a5IsGWwIEMQRbaS6WqdqNXapi1UY5FqKzK5fIZ17Ug5iLTeylnVNg05Rqq6OoIA+7kn5ogP/uhptmWLOk1Cq725vsUYwzgMaGMKUV/u/QVCKTY4X1ITDH725FbOp0rB5CesqVl1AiSappF+HIWUrct7OvtivQklEgrq2qF0xnvh5dRVzTxPbDYtJp+JnzrOGBNpGoUxEe0983RgvW6oG8dq3TEMB5TWDGNPiIHddkvX1mhWTOOALWfWrt+LrVBrYpTUgMpZhlH4L21VcXqyQQVPjJ6TdYfvYIoJpSHmSF11pBBom4Z58vI7x0iaozTW3gh41GjquiWUwfn5+Skn65V44puWT7z9MVzbcb3dEZLmS1/+CqYMUyzgTleEkDm/dx/lHDHBYYyEcWA8HHB2K5GBrqLrDtyM0L888PR2Ik6zDNyDoWvXDLe9RI+GjLGam8EzWugaR58V56+9gUoZXVVo1+KajoAimZpZGaZsSLamObmA5oTp5Uv2o+d2f0BpizYVm7OGnAKnm45xGNjv9kzzRF3XdGdnPN2LXerTb75JrSw+eionSkdtFDF5DJazszMOZVB9dXVFCIGubnHO0q06pnHi0B84OTthv9+TlKb3M2m/58Hpa/KMyqI+aZsGYuT0ZCODbcTbvd6sOV91bLoGjXiLnXGEEBjnmdVmzXDoyenubPrv+/qBG9uY5fCJWQJ2tS30UG0lMiRmnLdkIlOQwPakQCNbXOsctioRO9mLTCsJ0StGkROHIJtRAcnMxFDATlUr3rcoG1uJ8InFM5uY5lCkactBLdNvVzmBMZXYHmMdaI7xPPoVf15IGV2w8NZINI0krItMVSU5PFOOBfojP8eVLNxY4FIJmVYvcmWjpShkmR4vmalKCfUwKWbvvy9ioi4AppQVrqrxPmKME2BXkWAtdMHC6BWZShanwewjWllCStjGEeZw9DzmOaCcOZryQ5nGhJwZ5ol10wj5MUVc26CN5TBP7A8zm7otXoHAnKFaySQ2h4DPCdu2+CwTzqw1xlmyElLiq1LvkFJpWiV8PpTIEfE5Fylm2f5qrfBTEFmDEoS8giOIQuSR8h5GZ4S8XIq3UCSKCsk6pVxzSqUSdWDJSQYROSu0Eumt1pqo7iBSiwpQaSPbTvTdcKVEVhhncZVlmgTWoJVmmCxNUzHNg0CatAC/nJFrXRstfvQiazJLpFEh/foQcCrx/kfvY61lt7+VLW9t2Ww6MnJQNXXFdndL3/elIXilEF7AM1lhjcU5TeVquqZitVpJM1AKlP3+gFIa00qsVk6QDZLrmGSbPocAo/ge+v2WBw/vs2pXTEPA6kDX1BzGyLgMYwoZES3U4TkkZj9Rodn3g0RJOQGBJR/IIbI/DBJy7xu5D9H0w3iEoGX1T/R/WUn+Yc4iSyzyxbtMT2kU5nmmaZojITq9MkBa1A9ksSV0bcPp2RpdKVCJ2XtCjAwFHBVTyawLAVNBUgk/95xfnHJysuZkfUGYMtopumYtUt7labvcC3nJLi7PnSNUpQAzKJmexVf6y7/4y7zxxhv89m/+LW6vb6nL4LB0ljLRj0J+R6XiS8wc9jdst+KbiRm+9bWvcv38CcEHhnHksN/xnW9+laurl7z1+mvMY8+7777DZdehVcbqsol8hdSriu9W50xeJJdHT+gSIp+PRG5KlIgqz2ltZDAk92TAaIvW0NRSNB4O+yJmkZgnAbxRiqK7GLRlqFFVjs1mzTAeZAAUAxfnGy5ONry43hNj4MMPP+Dh/QvquubJk4+Om8m7L4VzFU3T4ecAJWN4niaqrpEhlirNVloC72SxLv9M/JkqZUpAqrwnpTl79933SEQhr3rPYV8Gh6n4qVUs3ygdX6NE5Cz38ys5fsWTG1MSxUCeeeed7/Ls+XN+6qd+kl/61T/DV778Fb7yJ38idh1U8VHmArG6u24WQNDyXi4DDK01l5eXnJye8vTZU7737ru8/+x99jdbVl1zHEI8fHTJ6dkpz5+/4Prqlq98dcvp6Rmf/tSnuLx/ydTf4PtrsjIYa6mqitPTU5Fg58QwDoU/ocQ2UjbeCsmgjzlhMPKcNuX9yLpApWRbqppaNs85U7nilzNKMk9Lg5hzpm4bfEilgDPCwVDyPhpbMY5eSMwFyFhXDU1bY7Vi03bEyeN0jTEV/XbPRbfCxcDDiwu0SozjwL3Vml1MVKaiaesim7X4kkBQV47USXPb1BUplnxUJ3EmSik2J2uubyqatmW335fBeznXQqKpG8lTFV0vKUqigNaaFCOrtsVqzZuvv8ZHHz1hirI1mWcBf1IUX0sNpLTAvZSWWJzJC9vVT/Px7J6nGSp3jHHJOdPve9p6vUBFGMeRcaTUYHKOD/Ms9RGJ69tbAdm5iuEwYnUlEtJxxnQ1ySesssQ5sbvdCk+j/Jkzco6mwDSNx6G+94EUBVQ1zRO3t7c8evToOJCuG1FBDcPINE6QMn72KJXQWp4/SmdinPHzQFNJ4W6doVk1Mjy1ilykm5WrRKkx77FKUVWGfhAScVtgpKcnJ5ACxmrquoFiI5nnCRAmTF1VdKsVWl+JX9xV9Iee3W4niq9ZJKF1XXN1dUVK6ShPd6UJWXgG/TCyeXhKP/a4ylG1lVi6poGUEsM4UVmHVgK/ikvaR7qzIsx+ICbHNI/UteQGpxRxpmzXYqBtKprKcn6yJoYZnSOrrhL4qRXvr/eey/NLHj95zH63o3YG70di9OgQxfOcM5UzWC3qgJAsxgidedWs0Lqids843WwwOUqChtE4DK2taJqaQ7/nom7w04jVDfM04CqLGpL4kI3GGo1Ji+0vFZ+xls2y1nRVRVdV5ByY/IxpOvGwK42txWfc1g7jKrpVw+WjhzTrFdo6XFVjsmV90hBCwlqhDb/18Y/zYJ7xKfDWWx/j7/ytvyuZ3CHgUyDrFVlXvPnWx/j2t77J+sRg6hX/8Etfo3KOuq4kzcSLtP1w8Exq4Hr3Luu24fr5S9SydDGamGTpNM3SkF7vRoyW9JCAZTcEsq5YbdZcXt5j10+0zZpnT1/y2vl97l0+5Dvf+w5zBGUc1lTEGGmqhrPzM6abGzbdCj3NYMSeIvYizXaeWK/XpXaU4XBdWfASEZTJ7HY7mqZhGMdyVhdPfF1zNk3MMbA6OWG96pjGgTQNsgBRmeBnmsqxahzDOPyg7eo/Q2NbkO5S4Gv0gnnnzvu1O+yJwZelqoBtxmkk+cR6c4KtbPEFyMRl2ZqkXLDnWhNnj3b6WHQeQVjFv0gGVShrlPyw4/fLdxs2hS6+OWlkj1CTLDlduWwFVRak/zgUIhuJGPRxOqyV6NgFX760C4jnUIlfWCkl8CitGA8CA6rWjQAUShZfKlszXUA9rnIoY0gxgJYtQF78K1kVgMNc5MCykfTFk+KqumwVY6GMFj8V9i5797iZylhXidF7IQVrwxDmElAvQISQssgsS/SBKn7KMAcxbisxy1nExG8W2iYitfFBlRxQmcZqZe4kdkXyqa1FU4YSxmKtwaclI1eiomY8MZYogyzDDNmiSpG8bHvFyyBb7xgCOcUi6TaYAmVRSJZnfCWzVC1bCrWQrmOROUuRK+4pg8qh0GXL1lGCPlBZPgtrssRZOYvPRVJfJEdV5WiblnEaOT3dkKLn3tkZRmv6w4Gqbbm52ZaIjUitjEyjjWPwM6ZksYVZtlMPHzzg/OyCf/yHf4x2CmdqmqYjxsh+v8d7z/NnL/jRz9nvk7cuDYjW5hiYXlc1J5sVm3XFo0eX6Bjo+57sM03bCPWuFllaJDMPnpw1222Pj+BDoqktIc5YW/HkyQvuXz6gso7rcUsom++cOXoichlU1W113NwbW8kABY1PET/PR/hY5SzjMACZ3W4rWx4vBWdc/IwUSXHxBoVCWjXOlsb1Dl4lmzhRERhjjs8yUYGIZ9ZohSoyY6sy602LtVLwz/PM5GcZAIVwzKOMZWumtBCkh2Hi3sUFr732iLbtqG1FW0sOpFZ6SRO4sxYl6dCPca9qadoWZm4ilfipn/iJP8VP/vRP8yf/+Et85StfFV/9goQvqosYglgCUuLm5opdVePOL/gP/o3/OT6DtUueaDxK+aoSk+a9FFFVVXF+dkpTZKsLSEyV4nchLVOUEqg7Yu3SduXybF4UF6/SDBdQnzT3pngd5b832rBar2ibht1uyzgOdO1KNk1GPL4StFJAckngbNZVTGNkt9u+Eqer6JqWN15/jeubb5Fj4vrqhufPX/L666/x9MXTpa87fi2qoL7v0Vqe09PYc3N7w6p9UDbS+hihIy8z3w1vCv1ZNqqv0HQX1Qciq724uM+Pfu5z/LW/9lchgXKZGDJkoYuS74YyC7TnmKdb/GjqlUHh8ppzyQD+wj/4Ai9ePudX/swv8fprr/H3/s7fZTjckq1E20hqWhn6HGlgC6VWziK9qF1yorKGt15/g4vzc56/eM63vvlNXjx7xsOHD2i7lqaVQdBrjy65d3HG9c2eJ0+f8Yd/+JLXX3uTH/nhH2Zz2qLURF31GH0D3AKJGDP9MMumTWWiUaKKMXJWhlRqA/MKpqw0nZFA27biXTSWqpJoN5tt2dA42pImUDkp1ox1+DiLyuuVJAFCKnBKufckyzWgyNSuYrNas+lWzP1I11b4kOnaJTc1cLpZieUnebqmYbfdUtWGpq6w1kiW7xxl09E1OGsYDwMnqxU5iOWnrioGI0O+9WqFda7kmt8BFhcPrdWyrTUlRi0FL57W6XCMt5MoHlkqXO+uZRBlDH4YMFbiYmIQmnYsm/p5mo6WAqHQCrF/HEcUSc61YZSGpanLdZLoDwdSiOLpVUp85wqmsdCTUexud6V28sLMmLfHs2kYBmKOTPNMypn9Yc/Xv/ENhmliu9sSP5D0AJRQYEMUfkpMCe8FEnq73XN25rm53dI0qyKpDFhnCDGx3++5urqhdg5bWYJP+CmQfCwKQ7HrjONEU7el/jPHjGsNR9DWcVBf7rv+cMBZKwkHQNO2HA5CMFalmdxsVnzwONC04hH2PlAVX2YInqAVzjohTluLdY6+H7g4b7i9vZX3znuSD+gMzlhyUsSQqdcVfpqIWT7Pe/cujsP4aZrEFxlTufcXdcoSJZlky+5TieuRWKyFgh2DJ5TXkaMouqrKEeNcIJSWOczEOGO0AqOZ+gMOUXGmLIq72jm6roUsGcBhyZ1PkfV6BUHkyDEm0jyjcyZ5zzz1nK439H3P6uQUXeTeRmv2+x1d3eCnCT8VAFNcsT3sMUrezzBNaGCePY2rWLUdlbX4eWKz6oiXZ4wxcBgO4Na8853v0DUOlyMOOFmtaBvDZt0w9DtMsftN00zKgdpYgVAGRVACLAta4gn7w8Q8erq2pm5bUSgVvs9mswFluLz/kK5t0frbVFVL20pGtHNL/RZYrTfkGHjw4DV22wOHOQhZvjR73nvmeeJTn/4U0+R5+fIWHjR8+51vCLCvpEI0zVNAMfuMtTXf+94HnG3WXF9vWW02pCS9zTxNbFZwe7slZ1EXtK7i5fOXTONITk6YFtaxqlv2/Z6264iAXXXkmBmGuQAfJas3xsjpZoOrKi7uXTCNoyxWki3S6h1GpTL0lGWW04b1esXmZMXLly9/0Hb1n8FjWx5WIc7H6BohHyeatvq+xlfyXClwqIhymimKLDPZVGAPy8OzFAjmLgLIWSvApkItnaZRHuaSXEtIUSZXBoKPYCUY/I4QLJVjiBEVRfa7TIGtLRCGlEghE3wufthEDBO1tcWHa0QykpHA92OZYkpGFriqOh6CvviETImj8H6WQtoWOa2iEHRlym+dI0XZblMyNJUSQu08e5TSDMHjrEMXwq0x9pgbG1IUGYnSZCWvPUUBVFltjrKqyXuMs+giBXJVRTbiJ9JaS/ar1ugkPtY5JnQqRN1CnctFAte2HRtjGOeJfQyYUuidbU6ZpvGO6pkLlTNKU6OCDACcqY5DhRRzgYj5kk6hjnGjyyBgaYyWqCCTJYu30ppxFkk0MRD8KAdrzLTWSEbbQsqdJ6olsiDdRZoeadZpySItxQOgkxTlS70n8YulkVaQcqCyjrZybLqaySqyVmxWLWGu2ay7Upw7PvbmG0xDL1mvbYfW4OqGYRjourXInawu2V6KuPfU7YaT03tcX98K1CTC7nakqTeEEHnt4Ru89uhNqqrm0aNHXF+/RGtD07TF180x5FxpGRiokpMruY+yXUZJTpwzjua8wScBLFxdbbHNCeM0oZ0hR4jJ40MmRFEExHKf9aPn+vqWNHpyyKRcIF9JYja0Useg9K7tRMbparb9xHacycZyGAfx0fsgxeLJOU+fPqXrzkgxMcxwu3tGP48iK4+5tO/lmZRz8R9lXNnUxphAS8wDSO6ftQalNeMwSHSVVhL/kSketYyyhs1pR1VlcvL4KIewz3dFTM5ZJO8JVLb0/cg8X2FNzSc//nHqWsiYbd0UIrvI14sRtFCi03HjkL+v2y1DgZyJKTD7wNtvf5xf/fU/x3vvf8jv/M7fl0zBEjGUcxIAUEqyIVDybD7dbPgoZ55ME6enp8eGYHnm3m28S3dXtZyuWuEDpMiYMu+PI/tFGrvYA16JI1sa0mWbu9zciozVd1AQ/onmNhfFi3xPsYbkQlVddx1NV9Nf96QUORy2PHrw8NhApphYdR1zGEtUm8EYLWC0V7YQMiiD+5dnbNY1270neM2HHz3m3v1LTs8v7hgHZVOfU2YaB8glPiFIpnmI9+6AY6KPke2+KuyG0tiqkvWj1d3ZdtyIKS2UTqt573vvc311LdcvZTtrNCRbIuLS8fn16vu2yJZ5JY7sjpwcyjNM1Dxf+9pX2e22fP7zn+c3/uJf4I//8Pd5//1vl7xIdWQ0aP39Uucj+rqQsXPWRy/wSbfi5O0VF6fnPH7ylGfPnvLBex9xdn7O5f1zjNE0teXNN+5zdrbigw8+4v33v8ezZ8959PABP/zDn+T04oz15oSzix39YU8Mic/96M/wW3/9r3Fz/VIyWIlyZljxtCulsTJVlCisAoOpnEUb0CZhnfjLUkyMyWOKfN0YReVqhn6gqVvmyaOtI2bQKeEMWK1KbJimrisg0tQVh90tdXWOs4auaVi3NX1lsW1LP0ycna6pneZk03KyackxMI/SzLZVRdc42sbinABQcrbY4vXUZOpKs+pqhl4UYm3dslM7SJGqdhirWXUiK54KE0NYAg1+FjCW0sL8SCEyzD3Xu2uaumaaBsahZ5wCwzSyO+yxhdCbsmTIm0IMzlno/DEE5uAZhoFpHnF1VYB+gehHotUc9gdyFKvTPI60bc08DoQgSQjRR3wQv3PT1tLgGmmW/BiK9z4SCUBmqHuG6cAwQ9oGtKkw1vHd773DfjxgrOXZ1TO4ei52mj1cXWveBGnM55nt7Y7bXc9HT16y2twjBHh2dctumLi63ZLNGbP37Hc9X//Gt/jMZz5DniYO+1Eaj2ECk7G6EhVgzkWBJxYbow05ZMIcJLIpeoHZl21/LvE1Xd0y9IPEteREt1oxh8C+33F5ds7l5T1OHq/ZH3p59hmNwVC30mT2h17sZlmei1nJdTEMAla0zon3F4XVrjSckgl9cX4ui46YcdZ8X7rCMHpWrgZlRBmTowB5omecB2I2jIcRrZIkWmiFdgoPDMPIaW1RRUVitcLoRFIRlcVr7EwudkAvGfPzTPST+KubmpvDzGp9Rl2yhsdxLpJ3VTblgaatiSOQIjHMx3vr7HRDv8/s9wfmMHFR3yeUoW5VSbNldWYcBmKcqOsNboAYvDwngKEfQMF6taJyMrzXgHGyoDA6UStNVpoPnnzAsL1mdXkP4oTOjtrCSVdTK3h2e826qUjFXqCiVK5xnsnGEf0kdsMYiSHy9a98hak/0FUaYkSbiuhHcBUxhmLbhI8eP2YcZbnWvJJIsFiSQhAwmo+JYZwBJT5tI8NqVTl8VJh6hc4jzSpy+eA13nv/fWLWaFuhrSVkGcL7qFivz2mN5dnLK4xtOBwGaYC1Zb2qcNpxOAxEa5n6kcPsCT6U+1qsqdpY+sOB2lV0TcOL6xuqdUdWCp8S082WVS0S46ptOTs/4/7lJZUzbE7WdCcnfPTkGavNKatuTVdbdrsboZ6PipgkVnazWh8HYz/I1z9TY3vckiQ5zF3ljn5Oa5wsIWI6ynKNNkeM/Dj2JcJApgs5JXKRGtviqRCfqDrmQxol8Sw+SUalK5mblE3gIrvTRhrbBUzk0x10I+cSNWKMFCW2LptERFqTJXx8acy9l42Htgs9Uv5dW3w8pUI8ehKXrFxjjWQVlqYsR/HfqtIchuBBy3vSdB2UAtuXBl5pjbMSmu2zSCbGku3XWVMgV7JBjEsMkLPkksXXti1h8uQoEztbOZL32OIbta6W4i3LFE5lKcSsKY1yaYi8D+Qw01VOmupK0c9eJkLTzFxycZ2VqbEPMy+fP2dZKORCCUSJbJASlQTF/5LFm22NEemYthI7USJiYkrSyOe7xto4yfxaHuopp+I/lg1ayjCOE5Wr8bPHVuJFGfoBXdUoq2VjVqRcsmgqtE3E422MSLiO0UQIZXrZliiljz5kySsWz6vSWmBcMQhpsqrK9l2m49ZVRxiVUrqksMh13zYNKUYB4/jINEdu93s2mzWf+vjbfH3+DmjDF/7B72JUzTSNKKW5ubnm5vYGV8v0+OmTp3z9a1/jl37hF3ny+DEvnj8lhsgnPv42ZydrlNb4EKgryTMcvSfeBhIG5SPr9ZphCFTtmtFPtKePmINB5ZmXL5/LlrqQSK2VWIMQhQa+OTlh3Pccnl3jNmuGeWIOWWQ0lQw3XMq0ruFic8bTq5ccdOZ7Tx4z+sSqapjGkbaq8UG8q7Y6ZXVyIkHqIXGz3ZZMadkeptI4L0OiXALCc/Hri+dUrqnFS2/dssWp6DoZLGhtsLrm2UdP0E5TVZrNpmG1bguFOxByxCcprmOKBTYlF7o0eaAwnK5PuHfvQfFwiSfLFmCSUubOd6lUkb7nIy7g2JwcX6N472NIbDYn/Jlf+3XGaeZv/c2/Rd8f0GVLujRPiz9z+f6L3OdpSvyHH35YZPdCQxf5pTxnKB5NY21J8BPquZ9miS5QGeMk/y/+U4iESyzNMZqi5FIe8y9faZ7vXuMdyVpyse2Rkr4QP5dNtMjGsxChs8jwctSS+TdTYEHSmDprWZ2umcZRZIrlta26igeXJ9zcfoDVhuurl1xfXfHGW2+gMhwOe2KQQU2MxSJiBU6jlWI47Pnm178u8lYt9NdPfvKTx2HfEgMC+a5BLJ9NKlaIvDTOxYWbUuL66pqcIw8ePqQ/HOj7vvh6U/G83knol/dPa00I+W6IvHwO+Y5XcXT45sgH77/HX7++4Sd/6if5lV/7s3z322/wxS/+Y8b9gdrpu7Nq2QZ+3+fFUfNvlEInsXEYY7h37x5t23Hv3gXvvfce73/wISEGHj16cJR2bjYdn/7029ze7Hn69CXvfO9bPHv5hLfffou3336D9dkDVIlW+fO/9ht8+M1v886Hhu1uy+An8SL6wmVQGa9ECWC0cDJkkA1VXQn1NCUBgc0B4wyr1YrVagVlK9R28jqnccaWa3ShiZ+s14RpxBglPtoQ6NqWrbW0bSubH62onMFVmvW6ZfYzJ5sOo4uk0qhCBzZsVi3juhMPpdbixTWaGCRTvXaOaMQWsShJtJFM8f1hR1VVHPo9zgn7IBcquvcT49SjjeLZsyfilw0elTW7w5bDYcc09qTo6fsDQz/w/OqaaRJi/TR7mrqWOJoSt9i2DVcvr3DlOdkfeq7MS6rKsd6sUUrRVE4icBJMk6eum7I19cUOJmqQGMp1mGTI5X04Zg876yS5QCmsloF23VSsN2uadSWvL3iMdcw+ME4HPvb266Qcmeey2LCW/X5g9jPTtDs+P17eXPO1r36Pp0+uqZon5JSojCL4mQ8+fMztds9q1TFNgQ9vn6C148mTj3DWcH29pXISx8jR3y78iZyzDBSsOyo7UpK/Z4ymP/TklBmGgTDNrFcdz54/JacoudCHA3VV0dQNH37wAW+9/RZKKxlwG2GX+EkiLl1VSQNGZiqqR6000ziTurKEITGVyJkYE/2+R6Np65Yc5Xk0TZ5c6jmtDbvtTgZTMd0ti8pW2hjNNHlcXeIJU8SHvlhABIQ6jANZre6gi6pQ2xXHgd3ChLHakIJHpQg6c3q6xlUVz2+ugEKZNkq83ElSB6zW8ldrqTqDW7K4lQGjcbXjsrmg3/W8uLqSoUCJ2FFaYFOmnO+pT4zTwHa3JYQZYzU5BqKfScBobLH3JEL0OCfXcVXXqJhIBsgDq06jmCX/mYg1UFcCgO2fb3nt4T1e3uzomopaaSyaPE/EMOJ9JJdN9rPHH+HHA7WeaXTAZQU+oNOEjpD9iLOK6xfP+fDDD8kpkJIvbBtVOAyemDyJhLM1+92WEP1RmRf9VM5uTZhnUgxE72nqit1W4nIkIURUWjkJ5TopWdT4AgetalEipRglJqiu0ErT1R1jFNDf2ckJ++2ek9MTYohc39xwsllxKPL7m+trbm9vON20jNtbLs9OcY3FzyOr9Rn7w56PPvqQq6uXbNZr2qblyfPn+AghgYqZk64TUK8K8hkah/eJcQ70Je3iB/n6gfM1lcsAAQAASURBVBtbCrjA2Oq4tTDaChk03m1gY8xS7JUtWQyLN1Ka3pSjTI21Bstxaswx51RCfN0rlOEFFKGNKp67TPBB/DggxY0qRVYprnKZmseyXVgkAOMoRu55lg3ZAi9ZCMopZ/w0o6I6ZqLllMm55OEuw+0yGZ9yplLq6JFdCsCqrjEFQHDMJdNKMrdSIvsgdOcSHK1UaaxyJockNGQliwK5gWtiLlP5IFMMW1VEH4TemTJog0GjLfgY0dayriomP6OsIQWOcCqDhmLpSjGRZQSJMbbIOEXWVTnH6BM6Rw79IFCEssp0lQJlGINspzGGpIrn1JQiLZWGLr4ikc6K5CO9H2k2K1RWjNNI5QwoLf5MJ7m6McoGQ0KepYA5DD1N1QohNUnz2XYdSmn6/oApE/LgC0xgmkucgBg0VZKHhsC1ZGPYtrUU/bFAv2IucvNQYgwo/ibxhHrv5YD18zHOavIi4woxUiuwtpJNdIKhH3G2Yvbh6OGahhGSbICsMez6w10MVZGUKuD8/JRVd8LXv/5tFJo/+qN/xOMnT/jRH/8x9tsdH33wEZcX92jqivuXl5ydn8pE01VFDioFQLteleiDKKAq3UuMk48M04zxlrrqcFXL9e5lkZgKNXnyIzFG7l3e4+b6mtP1ipubG8bxVmKfMjjjsFayrNMwoKyhiorWB7qYSMOM956RxGGawdUy2Cj31OZkg9KK692Wfd/z0UdP2G53hJRpVi15kBzEoHPxK5fojyKdj2Ug4pw7NnyLFHschMiek8QUda3msz/24/y5v/Av83/43//vQEUuTjuq1hB1Yjd7Uk4CokiZtlthcNzu9oBMmbW1KBz3Lx9ycXEpADNtqKr6KH9enoNLBuSydcnFk/b9X0v7m4r/ruXX/9yf5979+/z1v/bXef7i+THWZ7kHl6bqn/YlEVJCusWYcn/eeTukmVTHLeDFvXv84q/8Cv/v/+r/WSSMVg5FBMS2QNlebbi+/+cVKNorcKWlWVoa2uWvy+tdmshUhpSu5NulJMCns9MzxqmnqaQBjjFxc3OLsTJoMEGoqKnk8aYUpOkvM0jnDG++8Yh3vvcBKUb8PPHko4/Eg5c1tasLgZhjVuqy5Sdn2qbmjddfL5C1BW9XtutFabLkrAoBn+N9m7ijVN99vmI1ES5D5PLePT7xp/80v/1bv0Xw8syOhfr9KhDsKOEmf9+Q4NVBwaufhypD4v32lt//wu/x4Qcf8ou//Av8i5/4JP/gd/4eH37vOyL3tbrIqs3xcjxeUYvSPS8xd8sQI1M3FWf6lNXqh3nw6CHf+ta3eP/9Dzm/OKHbdJgsZOqLeyecnp3w8uU1z59d8bWvfp333/+Iz3zmh/jUx9+iSjMffuOLnLaWz37m0zx/8ZzHz59wvd0Spii1g4JpCmRnqbItmVbCDdDWorSQ0NvVClcrqtrx8P4jURGVoZd1FcMwgdIc+oEQEp1xKJU4Oz1jf3tNZTUXZydM40BTC93fFVVQ6yxGgbOK9arh+uYaaxUQiWHCzyNxGiDMZD8RpoEwKjlPgmceRxn4psz+dof3kmQwjmOxYCh2+1sgojUyUFSZ/WFH8JM0d0Zzff1S4uUiHA7boyKLHNisW3IKDIeJpqnRRkvTFTJaGcZxKL7XgNJgjJw10zxTr1YoY0vdJYN1U4jltXMMw8h+1xNmT8wyNIwFTGhcJVTqLNu4GGXp0NqaGDyaYu3SspFbBidKCc9Ea8cwiOQ5BJEshiAFd9NWnJ2sS/MEzm3IKHa7rdSUWbPb7Zl9z2rTkPNcosgEhPTk8WNubq65d+8ezsky4fr6KfM8ELzhS1/+KpcX59y7d4Z1VfEhezmDo9Qf+2FfJO8VwUe8DxwOM4fDQeT/2x2Hw56Ts3Op31Jknkb6/iADl0pq2ffee4/bm1vuXd4X5UHteP78GX3fi/pDi3w+5sS2f0keJnJMTONM9IWZUBmub3eEOTD1MyorjDK8ePGS+/fvE4PYGowWAOQwDtRVyzCNEiMYPHOWWL+6rgrbwJS6OwgcrW64HUdM1Rb5dy4WEOEkBC/pG0ShWscgta3VFlfgWcYKoGtZfLmiFgjzhHMVYRhoqlok+iXKzlmHtoZ5njDOFrn5LIsKBacnJzx9+ZL15gSy5EyDYrvfSbSodRz6wzHeag4CelRa4WdP6g9y7cYgm8CcGYeRiEjZnas4P+t48VKT00xTn6JzoEwN2O63XF294OL8lGkYON90vPnoNeLsGfYHbrc3THNAp5Ewj9Q28Oj1c8JlKwku0ZNSYt1Z5img/Z5Ke/bXzzipNBfthhg9Jg1Y46gs7KceEwasnmlMRb+9xaYJo2yxcU6Mc2ROiuBH/Ci0caM1777zXZwRb/4cPH6aJFt41YrveZ4Y93uMUbRtw357Q9euUMgiLudAs15hM/Rzz8VbbzJNEze3t5ydnVJXBmvBzwNa1dy/vEBZyRhvKgsp0q06dtOBqtI4b4oM2nPoB5p6RfBgnNgipn5gs+pomo4UZ+pGJOOHvuf69sDo/+l1zj/t6wdubI+T5GW6nhfoiWwLYiHbqkzJN1XH/C2ZOuSjTyiXJlnpEm8Tilw4ZZFbEEuen/w3rqrEGxKDUNmcVHdzlkDhrK00BFnktLnQPFRSQmzNCqIUZ0lJfkBMAa2tNCIFyrTI0UIKaK8LSVkyGBWaWLI8lz9AIYpHS5wHkQXqBXgRsModm0Wtc5mwys1al0bLlIy9GIN4yLJ4PPHgsFhVkQL4KRTpoqatasYk/iRjHCTZZAoQI5eCUTwaJ6cbXlxdoW2FT9MxJiWnjHYGi4acGIMv3qWIM1bgTDkfM96sUtRW3i/nKnaHwzHbdlX8pCjNVGA3XVUxhUCOAYxkQ+qyifAxlWFBKRJL+LYuhdw0eKjF7ZpjPG5GtHXy2XnPjD9uccahP25kK1fdyWALadlpjUaa/RAjpvhLUpS5V4wBqw1RaVLxuIVCYNVWFW9lLNv7XD53ueZTSIXOq5gnyWedZ8/JelMojeLP3u8H6hIaPxcQVsyZcfJo4zHGMvsEyjKHRDb2mHH5I5/7Ue5d3OejD58yz57Pfe5HxKs+e/rDgc997nM8efxYtk3O0tSSmauL17Gqa0wWD2pOAWuElDqNnmQh5Z6QMmnYszkx9P3M/uaGuqmPfsGcItpogQSUbbkUiTsa24hkcJ7lZ+RlkxiJIeOUeOfDOBWgR6G/kjAWVBaI2Hqz4vGTxzgnNoL1ZkW3ahlmz9Onz1DKMUyTDCWMKdmwocjXKQAuc5wkq+KjVlBgIQJAOag9xli+/tWvo1yHrR1np2c4J1ETOSpikb3K8yOzK0UMJT5pUSicnJxycX6JVlIUNk1zFySeF6+bPiJ0U0zHhgX1/fmkqjwzQ0xkFD/3+Z/n0z/8GX73C1/gq1/7ulzjJbJoaT5k26nuGpvSjBy3qMVjrI4bvf9fGevi593e3vB7v/P3ieVZcNd357tm+pWmdlFVqBK/srzfr26n5fssALaikT+eKQuMxTGXuBurDau6wyhD8AIInKZAU1VYW+GnsWSWylBTGXmWdcWXFI+ZuzIwtc6x6TrON2ueX4+A5umzF9xuD6DMsQnXxmCyvBhzvL6FsLxaraidLRC2Bcy/DOqKpDq/2mweqWZyXsone3wflJiV0drwnW99i6ePn5TELbGbKOIRfIdSZeKej5/nMbquRNws4CpVWAVaa9LSBufEMI18+9vf5sXLF3z+87/An/0f/Abf/vpX+YPf+8KRSEy6o8DnQsmHVz6uVz/3cq1WlSsQkI6zkzO+9Z1v8fTpE4ZxZLUSr7SrKqxV3H9wwU/8+E/w7e98l29881v80R/9I25vDvz0T/4Mz1zHtqlYO8Xbm7dYndY8efqMl9dXhCBb1mmcUVYVO4UAJMWXKrmhVVVLTXFkPszy2somOhfQlhJdLJDZrFr8NLGqa2ZrsU7L1jcG0Im2rSB7rNNUtRSmYZrIfqatBLCno6c2kCbJ02ydwY8DaZ4Yp4naarq6hhjx40jjHIftFqUEIhX8zDD01E3N1fVLmrYWRUk/4P1MSomurdDqFO8jbSNRWZWVRvWjx09xbYXOmrPzezIkdRXn1gl3hMgc5tLoyfVtKwEEKa0KTCqWz7NGJVErOVeRQmQeRg79wDAJzHMcZoEsqgjI8IIQy7YwlG2YNAraShNEZcjL4yTJoCLGxMpV9MMApkQBGlVqycBmvaZparyfmfLirRbGQ0wRowxjmOTMBC4vT9HG0rY1h+2OpqpYr85RRjaF5xdnrBqF4hJjHP0Q2G63bE4ams5irOL07ARtFPM80fcj292e29stoQADD8NAt9oQk2KaA0+fXbHb7RmGwM3tLa9HadJjSBz6XgCFPtLvDzRty7OnzwlTIIWEjzPjYUAlxWHbs729LYwSGEcPEcZ5ojKW/e2BrurY9T3BBJLP1FZijLJPmKyY+plhfyB6T4qRoR/RUTxw0QdiWhZQ6ahyqipRnTVNQ1M3DMkzzRMP7l+yf+8j1o0jJy/112KpyALuNEqDNjiry/NNrCqr9ZrDbnskmhtr0FqVuCrFXBSFdVvTFqr9QmNfdx3BzzLE0FJ3HQ4TfpjoD+LhDCEwDgMhS8PvlWU49JASq82a7cvnVHXFrh/Y7/cM+4ngYR494uKbOPQD96Iix8w8zcQcCcmjc2az7thsWlLSbDYdKgbmcSIEyQmeh4nTc8ODe/eEz6EyRmfsukGbDSElnMsM/TVnZw2rzuL0KWGaqHUlAy0FIWayjtQO3nrtEZZIChP9oT/WD23b4NcVHz0PmDBS6w7bWfxgMcgZdbI+ZRhmhgD5esbZTFPXPP7wA5KfaFxhWIRIjoHgJyYdqNsGDay7iuihsZpU1zSVRZPxAQ79iJ9kwLBZNZA8BgH5mQz3zs6Zp5HaaKyCt998i3n2TBrW9x9ACNw7PaNzhrauscowTJOwA5QpKhVHKukim/WazXrNNA2QEtM8Y9qmKCnF6/yDfv0zSJGXCZthnAIxgdeBhBjDyZnKOHRVScGPIhspbv1wIKZQpFbSEGtjxVOYE6ZsC5eNaAiRgGxry7fG+8BcPGmqHPLjPKB0QllHrTpstmXSnY5btlQKP/FJykmdSRKBEyNTicZQUGRCEl8Ry6R88SKqInsN+Q4+ZLX4cUNMxCD+1pi8hGYWP1BKdzKxnIt0ttzIYhAvE5V5Jsbi01IC+KiVxWTZLuZYsjhzLmHh0ngnSjFUViopC9QoRvEdvfWxt7jd70nKEFPJZyv+t2UymxPoJL4bYigQrbJxLbTYSmtsvgPl+NkTZgEzaDSrumGMnpW2BB1QKWMVRc4hE6OUEzpJvpoxBrTGlxsu5cQ8SbEY5sAQM0XdRVW5I/RnmmaskY2mj6E8xHshXtZ1gb8cWK3WHA49SpdMuRCYYiCphZKnMZaiACjX+LEYFB9QyhGfgsjjWWTq+ViYln4ArYwoEcqDcuon4kks9EiPQjEOE0YJ8CAlmOaJZOT69CHSDxNV00KYGUPEqyzxCD6UnA4BTL322mtUlePy3j38NPOZH/oMt9tb1qsVKkvoOK80HgmFqRxphlDyPbOSCCndGpEOTjMYyYO+vnpRivaJefKglHg6c8LVNdt+j3OO7dVONtOrDp0Nlx97k30/EKdpqcdx1pL9TApBoBBB5Mth7kkqQRYP4zxOxMry5ttvcn31krZ2zPPEXCRZ1tki6wzipU0CWvHzzOhndIkZomxGF/m/SCzNXT+VEynM+ClCVfOJt36I3/gLf4EPvv1VZn/A50jWmimGQhUXRUUqmzwZZARcXVPVFa+99jrr1SmKCmsd1StN7Z0K5E4erJVBW1FwOGflmll8ssWnucTcfPZzn+NP/cxP893vvsPv/d7vE2b/TzS2uVhapVDMKpW07jvbqEzYTYGgqKPMflGXvCoRXiiyz589gRwlM7Nc5zllcok5W7rd/Mpz0BzjY17Z6CLv/eIZffUMuQN3JbSrisc5obLGKkdtalSSQZG1FYfDyMlqQ91U9PstKscS72XQJpc4EpG0keS6MEUFo6xj3XV84hNv8nL7TTyZfp55+vylbK8X33EpzDIwTqNM/mNkf3vNixcveOON1wS8V6TFC2AnvTJEiUfKkypyYi3QLTQ5e7QqeMDvI1Yl9rsdKSUePXzI/rBntxfwSS4jg/jK9UH5/E0ZFCyNdFb5GL+m4OhbVsXFpbLi+uqav/nbf4sPPviAX/ylz3PvwSN+93f+LtcvX6CMbCWO2/Zy/yyxd8tnm1IqQgl13CIbrbEbx4//2I/zQz/0Q/zBH/wB+23Pxdm9cmYKwf/65iXnFyf8+E98lvfee59vf+frXF1t+bGXP8rlxSm72yectBXrdccn12/x+nTJ9nbP9csbbm9v0Vpgfap4q4lR4D5OhuQpgVMC8esHiaDpe6HCWmtwTY338tDWGtrGMfc7op9QKuL9zAfvv0+MM/Pcc3G+RquANZbNSUttHW+99giM5v7ZCSzS+ygbLLVqj2kL9+9fvOKxlvu6cQazaonFr+hDZN/3BRAWCWGi73u8n+Q5nSJ15ahry9nZKUoJfDPEickHka5aRT/0hewrmw+IKKMYp4E333qdJ0+esT+MuEoL5KfkaccURMqMTAZ1icqTxAHFPIpf8PbmmpAU221PTva4uZMaRxXllyL6REjpmA8/TmILGedAVba2ttCurdFM3jPejpI0YRSudtSloTZGIJMxBPycjoTj09NTqZVyxulEtqVh0xpXfKObVcv5ySmrrgWdcM5iVOLRfZHQh2KXW5IIlhi3cZxAdVinefbsCeM4crvbokp85fsffEhMSiCpMfL8xTVPnjylcg2HwwHrGpQWX+rt7Y5V02KUYXt7y3635/Zmiw+e4TAwJiDCPM6ykEHx8sVLLi8fAIYwycB8zoGgS6oIEhEzhhHTiEolh8jYj3RNw9gPzHEW2fkws6k7/OTxU5C8ZiU2niEE6qwx9gRrDW1pbK2Fl9dX3H/4kEpnbJZ6t1utSeMBleT8dsZKkoMWIVAMWaJ90izXUFHMaMSOlklHhc0Sp2SrmlTqcK01MXgO+x3WaFLybHfXTPOMD5Gb7Q2rtha1WyoSeK24vb3ltG6kJ5knEpl+GlhXjpA8N9stavTM81ysh55hDvTDxOHQY9HM00xIgZgl3cN1LcYa4uSPZ9UcZvpxIEWR1yu0WBVub5imEYfcO1Vl0TGidSKEXpZOeclcFxti1rrEN1rGICMByW91+DmiqDFGfPnGGEK0VNuKeZqll1CKtq7RSobV3XrFPAemkLBOzplV2/LWw3sYA9M00nYd4zAyzzPezyjl2PY9pqpobIXJDdrAqhZ6vEKG91plEhIN9uDiglXrMCpQ6wodPGfnp9hNR6elDmms5t7pht04cnF2gh9H6spw/+INwuyxa83z6yts02CdqGWshX4a6bpTVnVDijMpCtvIzzOHFGTgEyKV/eeQY7tEVGR1B7FIMUIBGGhn5cArMuCcwM+BlIVEmItkYTHmT/MsD/wi98A5GuMYp5ng5a5YgCcphuJRkkmOD4vXMQkOWlu0LTmwOeNn8XIaY6lq2UwtuV3GqiNRVBvJ0hRPaNnMpXyUWxGFCmqsIjuRipjy+rU2Qo+dZ8ZhlGKxTNdVifeZxplpkuk1Zdo+z3N5OwWSRSph9GUL4EOJk9HiC81lQ7R4C61zRxnTIkGunDnmD+pymE7ThPGG9959nxQTVS2FgFVykeAjwacSiaSoTYVJQpFWEQEl5ExlDV3b4rc7KL6/mJJQdrUhJ8VhHBj6A3XT0HUdztS0TXvcEl3d3BQireSbzrM/goSmYTySYWcvW1KrpIldJDzDMBb/s5cpvTX4ILl2QtwNohwoUC2Zuqfi8ZFr0nuPsqbI1GXIYIzFYnC2Lg2BJqtUqK7Llk0L6XeJDy6SodJG4WOQrD4v+cup1LZ9PzIMA4dDjw+BcRypqpr9fi8FYpT4A8oGZH/o2azPyEoxzjMvryR/UxV5Firz5MkTvvOd7/LDP/wjfP4XfonNai2yHStNyTe+8Q0ePnxwvGVlW7c0WjIwAqBI0tM40RRp+g999jNYZ9ntd7z73e9itWXycyGPR2onxO1hGunHgeglFqlpGkJS/Au/8mf4q//dfwvFV2q8NKXKWZqTEzZdx4uDZGGGkkvsVUZbQ9t2WFOGRBn6aUKpzOg9h8Mg0/PtFmtriSkwVmiYQYiOS6wCKVE5+We2NJjKWHmfS+OrrKLparRzKKM5v7gH1uAnIbv7LEoIn2ZAs1lv2Gw24jdpO5wTuZRzjrZdyQGDlXs+52NDXdpa0is5yOg70fACjFq8sRQJf0qJN956iz/zZ/8ML1+85Ld+67cZxxGjBDW0bGuXb5KLV5UkipSlOaPI/pevmGWyn4/NZ8FvKQHyffozP8wbb77Jb/7Vv0YqpOmidRLAlrrb5v0TCuRXSMmLhFWaKxkOiY9dq4Urfrc5TiX2624Tmmm6FevTU1zdsj8M+LDYWeQ+VSWnfPGFmiK1Pz5LC/U9q0LDV5mmqXj08JK6+g5+nEVBsdvK9mLZQnP3efR9f6R3Wms5Pz8vm2C5ppxzx+vr1S+9fB919zkXL0uRdN9F/2ityEqaVFXYEA8ePeDnPvV5/tr/568y+6k4/TNqUbgU2q0qzypl7DGaJ3JHSJZx1iv+33z3+8zzxNe++jVeXl3zy7/8C/zFf+lf4Y//0R/yja9+iZjlZyitSka3OiqUlstUa108eHfZ2Dlp2Y5Xlrpu+IXPf57r62veffc9eUrqxGazYYiHwpJQvPnGI9arDe+9+4Qv/vHMr/zSL4A2DNOIVkJmd87QNi2PHt5HKc3t7S3XL25wtqKyEn9nC/PBaiPnuCkeupSA4oXse7pVh62cDK+ieLlTDEBkt7tF6UyYZ+q6oj05IY+ebPWx3lEKfEpH9YpCMc0z0zSRU+RkI9mMpmyDFQk/C4gppQKLRDFOE/v+gHMVMWY5L3MWaWycZECuS6GsRcrpg2e7P9CtNses29lrHm+fMQyTeOONZXu7QyOSTdc64W542X4Ooycl8F4oqs4UbkWUdIcYAqZuZLNiNOvVimHoAUXfj2Rl5H1sNwVYJ/Yr74MMMHM+KqJiodKrmI+10jR7jDHMSGSPc06ahHIGpBilARs9wXty9qiD5MhWtRNi9Diy2x7KUkBJ9mtVYbXDWHkWWmM4Wa/ouhrrZIhryn2itWV/GDDG0I+DEIlToutaOZ/rirqpsM7w5luvcXt7gBzLpjtx/8E5Kc+MU8R7T1MLKfdw6KlrSdAgwzwMDIcD8zRhK8fN7ZbtzZZpmJjmme7QC+xr2xOCgJz2uwMpK16+vKaum0JXNgJoMkYWMUquo9vtllzk3uJ/E8XYNHoZZgUlEuaStT5NE1Xd0DadwFa5sy90bQdlAFrXK7z31E1TvNEyZJ3nCZMzlauo3FwG5CWeh0Au29zgRWrrrMOgJCar2HIWJUUqROZUhs3WGKxzoiorTXAo17s15hgHF6NAWZ0VObhRiuQDV89fUluxWvWHg7B+lCFG6T9UiCXbVdMPPT4G6kriefpeSN8hiK0xKhhmf+xJDoeexlm0yozjyOxlWeFnkdJ6PzNMM8lqtE+kHNjdbslKM/UDvbWs7l0Qvad1xd/qjKQ3WC3bXqfISpRJzlmsMvLctSWHO8lCCGWZ54nk59KHZVwlzwI5DzyKgJ8OmE1HYyClmXsnK+qmZjAJazqm2ZfIxYGmqzjbrKg1okYJQulOMTFOE11dc7vbk9OBdVNzsul4eHnBSbcq97ChthZzfoJSmspIHjI5oFRis+kwQNc2mLZFo4g5MviJqhL1au00PojFwyhZPOiiYFXls3euwlSmZJL/YF8/cGObyoMrpiQ0Ny3SkZDEDyQSPEsqjY9SEhw9+xntNKpMbGKUYiHmRI4Zqy22qkVeqCwhyAUkU3hFXTvxgpgi0SuQDxAJsMTx3EGiKJsK66wUwD4dJy+lBDsCM2IMzLNsfLTWJZcylYJJgA05JmxdyJ1aKhVj5cE8zf6YaaiNlqDpUrRa48SHVw7/uWwRlo2G5M2lY8TJ0sSXWlICxUsYu178ahFyLFvsIn9dIk+WXN2YEymZo8Tj6ZOnfPJTn+bm9gZCoGkka3ZOsjHGujtZcIGFpLQ8LGUIcXK6ot/3Er2jZcpUOcc4TmhjGYeZw36ga9cSK2QNTgvwapwmia3RCuuc+FFjEqmTUkzjQF0Xn522TNstMQRWbVe2hXcxMCkJGW4BMS1enu1OaGknJ+Y4YFBK8lpjLOqAWaAXddsCAgy7uLjg6nbLGINsvrQlKjmIXdsRGWnajr7vmX08eg61dVgFPdKMKxXkvYkSc6S1ZZpkcpqz/I7yGiSaQT5egfb4cWL24hW2zpGLxzymRNO2vHjxkvc/eJ/tds/jx4/Z7w984xvf4v7lNfcu7vHWx97gdntdvFThKCdUSnFysuH0bCMb1mkGRL6jlKJqavZ9zzAHfuqnf4b/8b/xl4kx8vjxR/yf/r1/D6snjNaE4LHGUnUt2+2WpCLjYeBsc8I0TaQ0ErNhmD3bfkApRX2UqSps1/Jjv/FrGGf56G/8puQolw1QbR11ieogy8BgDp44j/jgub69LY2Aous6xnHx1MvmYfZBNv5EWttAmYYuRbxzjn/tX/9f8IW//7c5HG5l+19Ls6+NYQq9FPBGqOb6uEEPWFPx5psf4/z0sviHLVVdl+1wkYgmyvMMKeCPhe9S+KW7IRkyoIuIZzHEAKTjZ7VA3U5OT/nVX/t1UoLf/u2/ycuXL0tTCBIYI/RwSjOrckbl788uPjZUr8Ckcsn7XYpSre3dz06JFy+veP7ipXj1lxzRY5xS2dzmdNyGL8WRfjVbVUuDJs368s+Xly9eZ6PNK5LoV8+XhNWOj338Ezx89Drr777LG2+9xQ99+jN87atfA7Tcg7bCT3sZnhhRQBSBTNkUK+EyIDL8xWbirGWzXrMfbiRnO3o0maHvxc9e4slQct2sN2uJaqsd09gXpY9EfT188KCcN6lACe/ecqXk5xdddkkGKHLYYm2hgKdkiigbVW01X//6V3n67Km8rmRQMkWF5OW6Ua/I2It8WmklG5+MfHZHsvbdv7e4ZuXsgxAyH330Ef/tf/Pf8WM//jl+9md/loePHvFHf/gPubm+wjlzzHpfXtnyuS8bSQx391qRVxsj6p31asOqW3F2esY3v/VNtrtbrl9ec3JyIv+uFT7FvYtzVt2KL335q3z5K1/hcz/yNtFvUcU3L1Amc2yiTk7WAu2TUQkxBK6vrnBWJNFVXRWPpkTXXV6es9vtRVVkDIdxoJ9EUbXZdNS15eTN14jeo1OkrRQqHEhjpHGOrm6odcAkOU9ycEw+ghb10zhKkd/WVYmmC6VZlliWeZqKXNpxu93z/rNn0pSRqeoGrQ1zDFRGVGHWOJq6obKueDVl8Blnf4z3i0EI8Nt9z8uX18RYZPRKBuyXF+cc9gdckLxJa8oQpsjLU4k3axvJZXbWoAshXivZkqzWbUHFU/zeoo6jeMaNkcQIW8BvMUmmdEgS1zPNQQbmBRSqdSw2GXd8Li92IWM08ziVa0vqCmdr5nkkkzjZnAIwzzNhDiIJnaZyfcszUQpfGXw3xnKy2dCtpGELUfgR41i8iLPHWMM0D/jgOT3ZsO8P0tBVIkPXBQ4KieA9JydrUop0ncjdM4mT01OcURidSfc2XFxcYK0jxETVtMSUePb8JT5K5u6qWVFVMpjd3u6g2JhCkPifvh+wVcV2u0OrXurhzPFcSMVbf9hLYx+tFMFVVZVYJcmedbUj+wPTMNPrXu5ebcqwQLbJ65UsIPq+Z5xGfMx4L/F93stWNpUhobWOYehpjGLV1CgtHBoF1K4ip8xtfyuRecWqZqyh0uYubq94t5dnpNbymXdVXQBuJZLvFZvMZrPBWGn2zs/PZItXhhTGinc9x1iAV/EYY7Zen5KVLq8lgg8ls1ee795HjHZMoy/pFzIAyMhQ25MEQKcth37AbjoUmX2Rlk/TjJ/mcg0mfAgoZbA+oLUAuMb+IA3wNNMfBnROrKoKYwvfRquSahCwVujvMXrCPKOS2OlMeZ9zUXdytH6KMvHlzTVn1RnWaFlQmYxzin48QDildQ7rHE3TyvteNVR1ReMC28MeqxKVgcYZzlc1lZH7p6prpllk+nMINPUZ0zRwdrKidob7F+es24ZV14jdgIxVtQwUrED0tM60dUXlDKu6Rmu5XpwxrFqJfyIFuqam30FTOx5cnpN9LINnsYWuuloWYdPIyckJh4P/QdvVf5aNbT5mcklhKF7W2c9C7yISQ6HJJejqrsRVTKioqNtGQAHFj4VSJC05bM5WkGEYe3yYQSWMtTR1TV0LwS+X4kcbae6M0RjtJH/OGFJMzNkXD6UGJQeN95L3FGNGY5m9bIsly9EREhgNwacj1Kot+nOKTyvGgKKg0slHuaFktBbJXVqk2k4eSEG+n1GGFMRfesz1LJKuEIT6aI0VCU8JqNeqyOgWII5ALmVCp4ouvfyurvhFvU8ELz6pXLr7hQr53ne/i7YanTOV0eSAGP+VwftUGmtd8OMi07JKgBPBK26uDyhlCMljtcQUKaWYvCeNQo9brU4IQbypujXs972Qn6eRmBUn5xfMKVLVLVZXuKpinmdUgQ5ppTFW09Ut/bQneokTWuitdxRLRfChbBJkmp1SoqprYpaHwLSdMdqSYqZRLdpq2k4mgqfrtRQppuK119+mn77NZi0Uw6qq8OOEUyXjzUTqqqY/9KI8MDV1U9M1kkO4u93KpNEYdvtDaQosrm6xlcPYgRBlg6SMYZwmUl4KXy0+iyIxDDFxvb0VCTea7ctrbrdbtNE8ePiAB5eP2O/37Hc9/9F/+B/z2c9+ll//9V/jzTffYuwD3/3Ou5yfbfjyF/9EZHfWcv/+fT716U9DNoXkqAqGPhTve+Lmds/zF7eMgwCS3vnOh+z7mbqK8tAMkUbLlHHf7+m6lqZrCWRCzpDUkfQs8k+h2M5+wlYVnXPUTct6s6Jdt6RDhG2gsYbKODrkMx2LzPtwOKBVQmnN5eWlXMMpc3Nzy7e/9S5VtUahmcex3EOeSKbT7bGZEKmT5ez0jM/8yGfZ72/48pf+EZlAVkJszCR8mDDG0K46XrzMzMETsqfr1rz1+sfYrE5FeqcVrqqlGcQe1RWqeCwpm65cfInpFepvPrKDRJkhMVZ3/taYItY4UpSMyF/9tT/H6dkFf/2v/g2+9847stE8upj0sWH8JyFOxy1oac6WJlK6PrOgvY9k0mXDunhxXzx5JoPHIttUxQ/6fbFA5ecvW+Y7ZoJ8b1Xu1WXbV5DPx/ivZcgn1pUiP1YyIDVaoDbf+sbXuHr5nN32ii998aWQzZXFBxkedesTdtsrtIpEE8C67yMTK5VxtthQFsq5grZt+dTbb3F1u5fmBKHsPnn2TIabyi75PKU1FGH3MPR89StfJqeAUYa2bWnrilg2UMUfAgunUik0qVC8pQmMhU+RFWWDne+GsIXrpYvP6PbmmhglKsQay3DYk22GHIhJCdgqF27EcSu7eJvjUTHwfUf3K9eHxK3IuTX0kT/6wz/i6ePn/Nlf+1X+4r/0P+L3fvd3+N473ybFhLVybx5fn14GEvE4TH3FMU0uckdlDSnJYO1P/cRPcHNzzXe++11evHhB27Z06xZnLd7PrNctn/jEW3zj619iszZ8/K1HjMMtOkR8ECG1c1WJ+cs0q+7o+5+GxPq05fbmmqvdzPn5Oa74bH3wVG2LmSdUstwedsSUmMNMVdWcnnZUlabv99TOiud0PvArP/lJwvSYy8uKs5OKFEauX24JEerVJV/85gsO/lzyVEsURUixWJsUwXtC8MeiXmtprt7/8AM+ePacpm1ZbzbFT15UJpVBG0tVCVTMait1U8m2rVzFfj9y++JaosW8bF2mMRCTSCCzWm5IQ1V3KJOZpshud8M0C0TRh0FUVz6iuzLgUwacomoayZp3Fco4xsnTzxP77QHvMzGAVq5Ir8W7zJIKoQ1+mplHAfQtmx/vZ1EJFcmyVkIEzikSoiiImqZmmiSVQJdB/nrVcXLaFuVHAYaqLMqk8p7JxjaQQpb845DwcySoSHeIjLNAhLyfOBy21G0tETVACkHqyDng/UzbNjIczIlpGKXJrWsuzs+FvqtgGgYO+z1N07BadWgyJ6cbunWHMfLajJUMYpRmv9/TtRZtanLqpEYNkfOzlu12h1eZbCy2snSrFVdXW9q2ZRpnttsdVtuSIRtKVJzcZYf9Dq1kcLLcB4t9KgTx0jrrCINnLqoVbRQXF/fY3t6yaTua2lG5mu12S15kxD4x28ThMHBzs2McJ07OLtDK0B8mktXUpiF7OevneWJV2+O9H6InpkDXteyue5RRxDDhnCXHSAiyAa21xlrHNO2oqigcnZSFlO1nnDO4qqY/HPDTzH6/Z9XUaKXFetT3uKrGVVJ3dV1HjlIL5KSZZo+r5Z5xriL5yDxPx7N2iSLwYcZqgbPGEk/lYyAZYelYZ6mMw2RdaMUyIGmqSgjoSZ7p/TiSouH+5oTZi7LQGUNljNR2JZaTnKgqxzSFcq6WwSiy9VRJokdDDugETjtUEEXFPEy4DmL0VFZT1SIXHvuevNlQWWnaK62ZtWLVNrTaMk096hhtGnBtg4+R2jhMylQ5s6kbWufIBGEmWCGx3zs/ZbvbY+uWq6tbzjai1JhToq4q2rahriWFwGiNM45srKQHFH5BZQxtXRGCAHuN03Srhqb8HtZVqKz48MlTnLHSK02SLGONDMmdc0dLWV3YMT/I1w/c2C5bpEwGLR9eKLlnxiSUF7lnCEEezGEiI4djKjKFtm5AJ5Syx82rKnJbVcA9CWleq9rhnC3Fm/gyYxJdf2aWxpgg3oyqwsS7DWjOET97GlvkKECeY4kEWTaiJcYiJVSZdE9zoGkqlDYSjVKmsFFlzJGGKQ8Qa634PoPAAGIWKeAcgwAcShOmlJYDXxcpraxASkGpyiRGcqqs1YX4uEBMNCFIgZazDBF0WoAYUsAbqyFHrBX4gymFj1eK3W4nMgCteHD/ku32hlXXMQ6GeZzZj54QZpyrSp6hDA9k91soHUkOqqylWNPWFil5EAIciroyVG11bLZTTExB8vNcU3Pv/n2q9Yp42FMpja3F17Lf7WQ7gUInpLmPYoxOIaCdQ2eRUR5JigsUKQv8AJVZrVYoI/mpKMVw6KlcTdt2NHUthbrRZesdQMthOQ77stmt5MBwknW6Xq2kwUKRgmxdKyc389D3tE2LK9nJ9y7vsVqv+e4779KsVuy2O0JWdHVH4orJi081ZujnGZ9EnjlOHghM00TTNJyenzPPgeTFy1gZg9WKAIzTwDvvfJdxGBjHA845Xrx8zFe/+mWur1/w+PETPvuZz/DmG6+jjeTj2XLYXt/cEGMGZKPip4lxHAkpSASOg8dPv8d/8p/8X+lWHd/99jdYnUaMzSgVMTGR88BMplopqk5LjmEM2LoMQ5LBzzPOGozVVM4wDCIjiwgR0WqFax0uWFQKaCKVUWzaBucch/0ehWa1XnF+dkLTNuSUhVI5TXRdI95CbY6B34vR2TqLLpJrZ9RxIn16esbf/3t/m3ffe1ey70xGGRksxBQ59AcpELRmmOVQvby44MH91+mqDrLIpqyzsg3O4j00+i7T9vtyXfMS5VrksumV5q80HjLcKlsvlUs8jtgmPv8Lv8THP/Upfv8P/pAvfumLIklSyyZQWqeU43Envfzc76MTZ8pnLZuaJB1JaTpf1RDf/e+f+/zP8+zxU775zW/Ic8ea44b2zkxevv1iI31VfnzXqR63y/mVn7PInpeJ80LeCjGU+AF7B+lTWabYRmTvdVUJVXwYqGrLyWYNSpoXoyTWKJcYsyXjNGddfK13mdg6K157eMn5+QlPnt7ig4D0pqKkCdMksJPaySO4FIxawf37l3Rtg9XSIG5vbwTOUmK9jjCu4+cSynt1XJvL3y9+2+V9PEqEc/i+TyalxMXFOb/4y7/C3/7N3+TpsydiRUG/sua+i8Vbno2mxN4sFP47//Qrsmm1/GBdsifhvffe57/+L/8b/vTP/jS//Gu/ztvvfJw/+L0vsL3Z0TRy774igIfS5MYFoJXlWonl96EU4kvs1OXlJWdnZ7y4esk773yX2+tbmrZGW8t+H0ReWxl+//f/gJPNr1LXhtmLcivlDHo8DoNr56grscEkFenOWtrThnGcSVEy07XRVF3Ddr/DFzWDqcQeZLNmtWpQRstWMEX2+54wTzw6b1i3I7ruadxInCKPHt2DsCOTOL884Ytfu2ae19jKMc4iNXVNxRw84yQy38o5kZon2O0PTIBqLI9ef1DsAVKcnp+c0HU1KkihrXClaZkFqlaLKmx/GHn69AVPnz4TtZrSDFNkDhHtKmxSWGdROomnOGdi9kel2DTNUlDnfIRtpcgxmzlnTczyXLcpsTv05H1kmAZiyoSYiT6jtYW8gNlkqLZsg62VQdqRm6akbpimGWVEMqmLwyf6QHaStWqdRU26SGEFMJSyMCfarpFhZ99jnRFqfspczdekmPDThI8KpcYi7Q6SUhCeSgWjIedAu3LY7PDRH7kdJ5sNF+dnBO9FbbgWJsdutxcblzFAkNoneqzWnJ+dSAxKAbhZVwmRmsR2u6XrOuYC/AJoW1co0+V9SuL3Xa1qdrue/WGm70fqtgG1k59rTfEX32WFpwI1dc4dffChAP6s1gJEK3yGMIcyPIykaCEn2rZhs+5w9v9L25/22rJdZ5rYM7uIWM1uTnd7kpcUqY6USFESKVIUM1OpTGdVZrp6wGUbsA0Dhv+Af4S/GzBgFGwDBmy4DCMLlVXlSvViUmKyJ6UkxfZe3v7e0+5mrRXN7PxhjIi1DyVUUh9qA1c6PM3ea8WKmHOOMd73eWfAn1jNUhTif5wiwzAxTIn7713w6qtvMIyR9UrOQbvrA+H0hJytRhIZpnGE7QoDnJ2d8vBam/zeU4sMl+I4YFlLdGU/8rA/cLpuJEqzCggsag6vJJVMGCOEbYtVOrUVWXZJIi3GsLuWiDbvHF0XqMVw8fgJVOFp7HcHxjFKVJlzIsVuUOuCvL5xHHDUhSUAGktsRWXgfUsbZOBmClKol8JqtRIrX81YF0gpMpbEtIpY72jallXX0HUBgpzHTRVZ7WotXlbZty2DRqjJvuXJ2ZGdWFdMPTYW2yCMmfWqU5WAwJhmOGnwAvNqgqOzDZ13kiWcEkNK+BAY+gNOFUxpSpQp0VpP68MCgZwVpc47bIWT7QZcg58VquOgkYcG4ywhyGs2VmItaQLrzYrNuGbVNARjabynbfzCG8AE4pTofIv1gc1aUxt0Hz0/O6Hve6ZJ1sAnl1car3oEGv4sXz+7FFmpakXpjpggRdDiIRNpSSmoPryoxFTySlMq6nvy1GKV3ij7tMAxJOzaOJlgjXHCGYf3AWerkP2syPCqhUxeJiSxJLKxTGmUYrXKA5txWCMLQ6pS9PjghbpcKtbKf1IMW1mAtGAd46Rdd91QkUzZkmXa25qVHOKsFLxxksy2KphkCgXvmyM5Oh0PuhYhss25tKg8o6B+kyg49oD6Zy3y8Gf13er0xXrxCKP5opvtmtPthmG/59337pOyTLQaHwjWcftM5KMhBNabLZf7x1QEAV+0apwl2ylmzCKVq1QjABDrPHVKcpBIcqiehomqPptaK/s0CXHPO9556x0Oh5H3feADmGFi6nuiOx4I5d8PSnUWs3tB5O4aoqHQFkg5zsdCPdqJ3DiEQMpyCLq6Fsnp9mTDnTt3NYfTMvUi1aEIhGfTNkz7J3gip9uWRw8mTs/PuEqZ05MNQ7+XKVKcZErvLUbzhS3SqElRru3Yj0piFc/f9dUVjZcHeL/bi2ogRq6uLkWiktW/HFoMjfiyShHpRtfgnONsu2G3vyLnwje+9lV++MMfc+e5c27lMyrwwovPc++FOzzzwj3uvXCXiweP+dpXv4yhSJ7vOAqR2Rj2149ZbwrGyKT75OyEagtYhX+YK1557cuiPMiREJLKoiuu1aiuMtF2jnHaE3xgdbIh58I0JuJY+fK/+QIpDbTtiq5x3D4/wflA0zWQI6nPbELArFu6NuCjYdU03L73DKd37nBy61w68vctP//zH2GaJiqV6bXXuLp6m2mKnN26hbUNpYoceehHIWQWSymZ1WrF3TsnbE9Ehjamgc9+/u9x+p2/4kt//sd4J5tbjCIhHPrK1fWFAnA8L734fjbrDd4GclHwkmbfMfsidQo72xuyHpx1jqpgIbUxVLsUgXMmNhx/b/abxpj5xK99nF/++Mf58Y9f4Utf/JKoPbzjmA00S0tn0u7T0TlzzjK14OdBoq14zUaVOJqb0zvNsXWe4APX+51IsL2A6ObCvZasoKq/OQlcfvaie3YL4GiOpTnG/BynCl5lalL8F9pVR31ylOmGEAhNQ77acXH5iHt3n6Mf9nTdqXTS21Ziq0pmd+ix3uJzYrXqaEIrGcsq/zVUqsrRQnC8/L4XePLomv3VFf+3/+K/4PU332a76rj7wgtUKg8ePqBTyuNMQH/h+ef55V/6BR4+eMBXv/JvGPYHnPV4P2evy3vMpWjTTZpKM/xwltiJF6rqNboJq5P9c85fttbz+mtvkOKfElNeSP/OzF7XosV8Xq4rM+xLf9Zc3B5pynMjwhwJ1fP03Xj2hyu+8Gdf4P79+3zmtz/NP/sP/1O+8fWv8r2//ksCogwyqPfWyJx+gYFVkbNnVQo5M0+QZ1m00KWfuXePW+fnvPvOO7z9zjv0+wNXV1eklHjfiy9wdXXNo4dPeP75u+RscKGl5mkp0lOS/TflIg2MUknDKKolF/DeYryodoz37PueVFRCbkXNtFoLXK9Mk+Snx5EcJ26dneJs4pAMTXPO4fpaqMWPE+89LNw+v83h/ohp1qQ+cX3xhGoq6+1GYgT7gVIyTWgwrRPGwxjpp4lH+x0FZMK33sjkv+tkOBCnBWaV1WPVtI14AoeBlAoxRrYnG8bpjCdPLiWXVnNKKZkUJ9rAomwxl1cUMm3bSnxL14n8r1a6JtD3mTjJIb8g90ivcWjWe2nGMu9TgHP41tKEoM0eu9xjznm1eWrEHzCOoyjHalWYkFniz9CGvJC9pfBumiBNao55zQ5LiSIJbbynaTq8bxj7EWM9pUZiLoyTyExzmUgp0fc9cUyExtN1DT5YKFJYeevwjefk9IT1qpNzYRI1YNO19MNAaARAWmtlHEdJq+g6ghdF2PX+IFFK1mERlZFMkY9cEmMMTdPg1nLOHcfIbr+XpqzzWhAnQgDnhfjf9yPXV3uR1TpPqknOxe6oyCgUTQCQ5zA4Ob4XfdJSzio5rljbKfxUJ5e6P15eXpJLp1n0hWmKXF5ecf/hI66vd1zvDrz19nsU4PJqR4qRy8Oedbci1sKT3U7nMTIIsiarSsgxTYmhHzDWc+gntqs1GEfOlcPuwLr1DFMkX1xSiqH2g0Axc2F/GNj3o6jXYpImf5FmShx7AoXNest2fcY7776DU4q80YSKUqo8S1YHO+NIjglTxW9vc9EMdwM5LfGk4u8uxDgp9EqaEJaiTAu/TA2nfuLs/IxhGrGl0q07OQeWIkkCGFrvaBrPmEa2G/HdY6VINUb28rYJaiGwiyc5WEupIr0VS5kWsCuR9GYq602HVbbQqlvR9wdyjLRBCOjWWWqSho41ogiZRrH6yfopfJtajfrUs6pRoZS42HtCCATvyakXlVqtmu4B67Yj2FkKLnJ667SxFjzb7Qn3Hzyg61pqzBgsbRDLTCkygR4GsRK03XHImHIh9QOrW+ek/QHjPC5IXKaAV/c/a6kKf7cc27rEOaQYVf47E78U1LL4xcC7lkwi54ngG4xKlYudc0TtIqMwFnnQSlo2TKnuZ4pyVtCGUXmw3BBz9ypnobdNOdIakWtZq4jyUnVaZ2i7TotyL4cqjp4x6dLMEmMpkqZpkgW5VJKGvqZYlg6HHFbkwOeD00XJLT6kOSurKORoOVTWOWfRLF7Y+WBUqkxxqJVxGujaVoA7So8LTcA34lUdUyKnSHAO6wWuEceR4Axt2zDtDowx0ueex92a27dOiGPicnfgaj9K56WK1HruEoJ0M/fTXvJFF0khEug8jEzjJIRWy7K4Vs2TRUEWORfatuPu7Ttyc+72tN5RnOcw9jy5uKBrVzgfSNMkfp4qnolCwQXxaxz6ntA2y6Rn/rzn6YRVX13wcmhZrTsePHzAvXt32W5P2B12eth3SpRrGMcDtpUYin5/xXMvvsDZ6Zbtds3u+opV13J6smVvDee3TnnzrbfEa7zd0DsnU1w90Pd9Lz4LlY0N3msUUFKpodzDXdvqldRDcE4QAt4ZdrtryQXrGgyNyORdpQueVCcePnrAZrtayJ8pVs5u3cI46Wh97nOf499+81t88Y+/CmUSsndOtI1nvVpz5zxg3ImqDVQ6VieqqSKHqyit0FGrgJCsC8sE3xpLGiRfsGs7aYA4OeAEAtVExnTN+ixIl9sY8AXfGla+8sqXv4wplTtnLZ5I24h8brNe8/O/9Mu88L73cdjvuXj4iGdoef+HPkYTGjabDbl8ge/+27+ibVs2J1tSKlxf7agkSo1YW1lvO+7eO+P0dCtxW0h397ln38dqvaZbrcjIc5irUKZjisQy8P/4v/9f6A8D73/fy6xWK4xxMu0MHmPdMoeTSbFdvPSUTKaqVE2bU3rgr0rGveklXTJsq8SMiedHJFrv/8DL/NbnPsfjJ0/4g3/1B+yvdjoxmCdyLDFd83oxFy12ifE5vgarcIk6LzRVSco36tK5yKm18hd/8ReSdW0lh1dgT1ZJ9jIZzTd+/t8ocBdC8py1mo8cAe203owaKrVgijQJsKKYKDPArxrOzk5p1Tt2OOzxwbLbXXPv3m1Acu/yoFJgI+H0GMMUE6FpAadEbfW3Kve+aQMvv/QCb7/5gHcePOFP/uSPqBju3LrFyftf4uz0lDj2lDhiNFPcGsObb73FJz/xcX7u536ON197ldde+TE5DjrJNMfrWucm5TxRPv72LBmWbPZy1P9Ulon2/GvvPcHA/ffe0+8XsKYqWVwm/5IhWp6K5qnaIJ33mXlfqZp5PN+H8+dvlkl7FjsBme985zu88+67fPq3Ps1nf+fv8dL7389Xv/jnHK4vadpWIWIqOUco0WLbscxzXWPmJkVVCboWLIjf7gMfeJkXXnyRfjhwfX3N/fv3AcMz957FGOgPvciqi0S7YJWCrFFhpURs6/FeGnhxnBgGsZ9s2oZaDf/5/+Z/z59/4U/51je/QkqRbiUeP28tJogfzznL7fNzaVgagzGZ7/7kkpKvqeNAHCubrcOFW7gHMmV693Hg4vKCzXrLar2Sg+goze7GCxCp7HsqlX6c2E3jQvDebDYixc2ag43cXzNDYv7KuUgmut4nXvM679y5TdutePTwApRvMY4TbeswSGLA4aBnFmfo2hXr9YazszM51JaINYZDLhQrRc18n8Qq3tNhjIRgZaqlcntj1T9tpYExt5VLETvLLEzw3uE0Wsypoq8JjYAwrVsSFZyptNbTNI6cxMqE5qiKmk9UHG0Qz3GMmXGMXF4dMEUyjaUQNxrDh6hZCjS+Zb0SsnEIHuuirC+IRLdbdVBZMmhzLcQUefjoIX3fS3xV0xG8eITb9oTGe3LK1GwoNYm0u7VcPH5C27asGoFlzn5+HzwGy/X1QWSajaz3wxDJeb/kce/7A+M4MvSRaZLzcUpF1SZ1ydMuGn+Ti0T2hWClYTk3zIqeWVUxN8NFUa9qSkLEXYr1kmnalsNB4JalVt5++x2u9zu8dzx+8oTQdrz22husVh2uFi4uLxlz5NHlBSknDoOsf9ZkplioFlLMDMNAKULcjiGTci8WrOJZtw2HfiRdT3SrDW+/85Dd/iBwrasrcoqcnW5FfqtNnt1+T+wPbNqAqSNNaEXFE6MA4zR+smkCMQ5SaOZMjmmJNxIp91ETM4Nbi/KBnHNKt5e1rOZMUFuVUctW8J5hGLgXnmFK0w3fujSlLEYK7SrRpQJ8FfgszorPX+n9wXt5/hVI2YSgUZqzl7awXne0TYu1B7abFdGKVz+Og9Q7cVo8zsKdEWDgDBd0zpG1CXl9fU1K4kVPKeueLGeIGCdyhpIT63WgPwzQVcZ+JBU4WTWEEJiGkRAcd27fkbWmH2icIUdpmGzWa3bThPOOaZzEJxxkvYDZciqWq5KLWPSYmKrEKBmNvxwnAaClnMl9T9t2kpITEycnJ397afq3fP0d4FGygBlnFo9rqZInlpJEGbg5coPMFKfl4CUns6TSW0vm2FHGyFQgpSi0VGPoNDi6aztKSXjvaJCuhdMbM9XKbF+zWFLJyyItH2wgFdmwrLUSa7NAfCzG6QRQO6WGImHGFFISY7hV2asxVQAeVTqU3iuFuBZsUQ+lmWG5RuU0RTypwR3hTHP0hzEa9SEHmZiTTCmNxGPMkJdaNe8KycY13tOsO8hJZB7WC7yobQR8EAuTzWzPtpRSGaZE0MPra2+8weXVltPTjdDtXCZ5mGZSroJFvLcUM+fxJhTcq9ExlSFLZ9o7laKRNOrDHXNEda7aH/asV0JHnoYDLniCs3QucNqt5ZCUj1PxFCfiMJI07zOVvERLpJwIbQfWYTSCQqJPBGxjKJydnTFMA2Mc2Z6eMI6j0DGrSL3HqWe73dCPEyaMIv9ysgh7L9/POSPYdoUf3z4/Yxp7rnY7zrZrpr5ns+owznOy2XB6smW321NWHWebDcP1FW2zpg2CPz/bbthdX2tTZMI5z2bdcTgUGu0WNsHSBJki1xjpc9RMZYlCcr49xtVk6YLFceRwueOXf/6Xee+t+zx79xm61nDnfMPpScfhsBO/RJqQ2FcpfiRGouCQfLJa5IDnraFt2oVWLj1LafjY0OBD0EB0mcTkJCC4mOTe9Q04pwqKPFJ9pYZMdiPD1WO2TUfXbUi2k/imAqvQwJJjHbBGsnwfP75kvdmwWp/hw5rTW+f0/YEHjx6x3+2hQts13L5zzvmtc3wXBEIyiZw0xYr3HQ8ePWaKEes8MRdKTMQ4EhqPN9I5f/2Vn/DSSy8L2GwQQEjwnUjWdKIq/jC7gIGkc16fznNF4T1zsYlYDGZVydFP6ZZGYK3wwosv8Y/+yb/HoR/4g9//fR4/frR0XLkxmb0pN56npzeLxbkIdu44GTG13JigHuXMVjMC27bhhRffz09efRVKxnuLc6LJKktMT9Xi0D41AZxlcmghrXhOfS7nSaQqAm78WZ39yEabAlWgOQ63QJa8tbKJvf2edt1h6Hvpmo+RVbfm6nBQiX3GFUhV1CzDkBYljkxkymIFMFokvO/FZ3nw8DFTnMAGHl9c8+jxE7bbDc+/8JxAkeb+Yy1cPXrCt775TT7zmd/i05/5be6/+zZXV5fi51YaNUaC6TXqeDlAoQXgU9P1OXZJ/b+zR5v5/ioz8LAuxeHHP/EJdlc7fvijH2G9Ts5m+qw2z7gB7XIKU1kW8FlKXI5xTPNrnBsgci9nHj58wB/+/h/w7jtv86lP/wb/7D/6T/j6V77M6z/5idCXqxE1j9wVi/zc6c+pxjLPa+U+DcsUf/6ZMx9is95w5/ZtHj96zNvvvCO+z7ahVifwFyVGy2d9LNhjlkl/124Y+oFxvCKXypTEb/nwldd4+Oqbem6p7PueJgRSFc9514jFwFmJASkqwZ+mhppPoWxJFEw9I48ZlyxXlxfEZLh96zZOI/lqTPpcqCJBrUu1VvbDXlMQLM/cus2mWzOOEzmVJe6r5LycUWbSe9bGecoz7M9q4zyRa6VZtdzZrjg5OWGcZKJ9+eSJEpgNzjm6JpDGCQcE61l3G0ras9/19H3Cpcgav6hMjBZbq04mXDlHnJWEBFulgRSnGRgl93kmqzrBYr1lTBMxZkIr4JpxGlGoCjFPuOSp1tKtW+7ducU0DYxZimgXnPoJI6eb2xhTFNYjcTVProRhEXxDyZXdvtczAhKlonY2Gyzr7UotVmIpO9muJc+2DYTGL3GF+8MB4yw5Z+I4sV5J7E3XCI+jDV5ZLiqzjpmmyvNirFiWpnFUErvlwSMBmVknSrLDQabRfT9pTFPh8lrAQs6JHc+6wK3bp7z77gNKqstZyOgecmQoSDMYpmXtyPlGETOfa43FN2Hxr/RDT84Tbn+QYqZWibLR5irakOg2HS5Y2lVDylJc5DxSi9CIHz16QLov0vJ2teLJxRXX13v1Wxva9YrYR3ZXO8ZhYJpGhs2KrlszjRPeBPr9npgiwzThrkbefPNtIaxXy8XFBaWon7gWLq6voMKDRw819mlFcJFVK5GNxknj+cHDJ9y6dYZ1jVgUkfvG+cChH8lJ1A0hdHJ+WuLZqjYiRP0iQy2JdeyaVorFKM+b1Dte7RYJbyypgk0JnxOda7DIc5fLIFZG3xAMtN7gQ8e2W2NK1ZhOicFsXGTbeoK1WDJ5HHHGsAqBYA1d8OSupe0a0PSTmqDZtAzX15yebgjBsdk00thz4Kk0bcA5GIae9XbL1dWOSRt/tVaudtfgLLvDyF1k31xt1nhr6dPA9fWek5MTyhQZDiNkmdjWnKhNB9UQp8LjJzuBgzUSaTbsDlw/uCAQsLpHiBKjKvwxkVJmvZLEg2maIDhqEZhU4yy7q6uFw1GrwIVrqkRTOKiH/2f5+jtRkasWpNZayZLSF+CdLCBTlFgSY2X6Zm54ghafgJdJ0DiNS8fYuIz1FTdjO+ZOtxUKmiXTuYZYRJ4ouYpZA6KDynplMbBPyd/kADVLmeZuQU4Z41nyJKmCvG/bQAjqxawScm+N0Jk99qmpa1UJirV5gQ0U7Z6P0ygyneAWOU/VAniZo+RMLtJBt07lnrks2ZClFHISYptv3BJR1K06Lh8/XvT1zhrNu5KQ9IuLS8bDNat1p17gIA+wkXiZWdrrrD3GdBgjJn7dUMdxxFhL6z3TqIjtinjimL1cSadAdZmKSHdX3sciO7Ky6TnNS+t7CV/u2pYYoxApvZNfJ2lOmFI1X7aofFEObyK9zpiZEDcDeLJAaIZhIJbEerORzbQkXJAFPDSG6XCQ/Dql9M2dbcnskkPZatXJ4aQIsCLFCe8sbSt4exAPd4lyaD/ZrhmGHp8s2+2K9yicn59gaqVvPdtVi7eV9XbL0I+s2k67i56m8cQYOTs71em/ZkJah/dSgJaUMS3SNa5FyXPN0iR5/Ogxv/qrH2d/9YQ7d84532ZKHUXmZIURKyoCltgZI/wNoXjrz6UKGTFOKmEcRWJ7vZdoCnThrotPqypQS1WtBv3f83TPSIFbE8lEHqeBWweRkTbrjtPNhrt3bvOjH3yfV378Y05PTzkcDvgQ+M5ffUN8Gy7w5puvcXl9zTgeKCROTjecnZywWq9FbmoMRcmGANZ2NM2K27fu8uabbxNjYZoKh0Nis1nRhBVt2xBsoPENrRMqeIyJ9XpNEzq51/T6zhCYqqAoU6sqMVjov0vep/o+q2ZEZz3wLsOrucypEkV175ln+L1/8k9wIfCvfv8PefXVV1ketlmh8lOZs7NccaEdL11jJUaKDnQpLqUvdFwTjVHGAfDBD32IT/76b0phq9PNm36XWT3z0/5Kjq9y+btH6XHWvF2zZL3Oh7Vaj3YFVOUBqLduJsOLbHaz2eCsYxwG6bwrAfTk5ISSRi7KfDCRA78ZK70xrFYrfJBGjsQNze9dyfcFnlWv7dsPrzF4ppi4/+Ah9565K3nQ1lKsFFNVZVjf+853efbZe3z4Iz/Ppz772/zJH/6+EP0cSt0UunbWdXj+rG9en/m9VzUiVrOIuKXjXuX+StTlc5w/31defZXf/K3f4uqw55133tFvL5F1IJOJcgPoxRzZNOtE6lHKXue/d9PYS3nqdU9x4C+//W3eeutNfv2Tv86nfvt3eP/LH+JrX/salxePaXVPYm6YLN/LLBalo0j/qOSa7xPmJowR+8Zzzz3Hndu3uf/gPg8evid7cdOQc4QiWfNVZfgAh/7AOI10zYqmaTm/d0fsKv3Iftrx+M138FHOHDlnfJCJYZ6KTAAcCkPJ2rwRH6kgMIRsX52kBkyHiWm3Z9WtOA3HiCWqnGdm6r1EsojCY0qJFBNtaDg52dJYhymVxliiyaRxYNWtaZpmUYjN1y5OUeWws4dePq9pSuz3B7YnJzRds0wDp2liWjfsrqX51nWtwiHtAj/sDyOHw8D+0LM/jGCSNOmD1/2UZQ8ySrw11jAMIzEmSZhI01PNtDlebP68q2E5+4zTqI1Q4bNYa5lixIVA17bklJh6mbAVI5Eg2RpKllcwDnG5zv2hX9Ra0zSRolgmxhLVq5+xRmBs3huiWqG2pxusSqRdkL1rmkbN88yi6ON47nLOcbLdyvXQz1RPpKoOcxgFw1kbCK2nP/Rig0pR6NCjAIQOw0icqpD9UW7BfA0Wyadne7LSeMdHqkiUPY1SGeO0nGcFarpiHKdl7Z2ZBVa9zbOS0eg9mFLi+voK7y1N20KtDKN8PlOMy/XMNdNUkW1vm40kkOig6exsgzNGpLo4NkVsOrH0vPfwCVdX19w+u8O9u/fwLvDeu+9xcfFE9s1n7/H4ySVXl1fybE4yZb/ue/b7nvv3H/DiSy9ycXnJ5eUlzls2mzWbVUdMcg65uLjQxsPIetXRT6IcSwaRRj95wvbkhCnKe5I0EgXD6tBmXhKNsfI5JTkDzQ0DNJe5VuHDyPlLYnRKlkz3/eGwKKe8FRCY9wVTCo1zOCsKhllyb4B119J4iQgNXjKmm9CIRaBaVjHhqWxWK5zNDAdZ82aGjLOGtmnkteVI1waCW1FS4fR0w6prcN7Qtp7DYS+EYmQwGJMwkfbXe2KUIcQwDKCSZKwh5cz9Bw/5wEsv0LUd9997T5IwcqbvR/a7A6UYhmHgsD/gDVxhJGotZ3a7HduTLQWZCI+HEVctjZ6pBAJsoYrloGiB671nvV5zdbVjPIx4JwdS5xxj30sDumkYxgFyliEKT8cX/ru+fubC1nl9uN2cWSb5QlWlE+JlkQInl4IhaYwHms0qxdqkocsxJZUMF5UyFVwIBCuEv1wSUxoIwZGyeGdxlpISFKsvvarh3GpurQQge6UKl5xJqVKV3JrztEgLbdZXawpYMaXjisZgyKEgpYSzCD3NwzBMOn0N5JK0416ZUsK6jhgLFdncjA2L7y7NC6dKFEio7FfyxkLbkONISXIotMEQU1QcviOnqtNZATYJTRnyjPAfRxjFbI039NOEDUEXJyHPtasVZ7duU2vl0cVDKCqz1OkJ6lsUeY9EMqGd9zlncs6PdJLuvngPTEU6K1UWRJlWSwzBYRxpi6dtGrq2od/vBdZVK8Z6gSAsB12lq1qjE/28yCW9l06rNeCMFBe5zB4z8SUZK00K4yzDOBJzpmkC3UokFrUkhcU0HMaJNkammBmHEWPkARbfWlZwmCyQAvexNMGzakUWWI14GWuJeFdxVhLXS4kEb7Ura+jagDPQOU+fdhgyzsik0hk5APm2JaYoeZ21iJwU7erZRGOFFChRFrLBnjQCdfnoxz7Ki+97ge/91X39uRO1JLpGDo1G89MwhtCEJXYqqQwtZpHiyHup4B0py2m11Mp2LRnMuYjXq2i25zBMWAurdYfXSJuy5EO75eDsrCHawvXQc/VeL5APCie3NrRrwzA8Ju4nxthhjGfjznj3vXdIaeD6+pq2azk56WhbIx4TRGLXti1DP3JxecVqc0YIZ7zw/EusN7fYH3q+973vst1ucC6wWZ/w4vPvo2ncYqkwRQib1lhC07HZbhbqnrOSCzwXj7NMMJcszZ1lQnrUmhql1OaqcWIq05ufnflL4p9gs93yu//4H7M9OeELf/ZFvv/97yth1OoKNYObjnLSeTo8F4bzIcZoU0ZUBsdi5m/7qvoaMJa33nqLd999wDgMQijWQnn+3sd/UZ4uztBJrf5ihiYtr1H/pZnj1VRNsxR2ZlHtCuW9VSKrZvCu1+ulOTbHfbWh4fpyR4mRW+dbjLMi1ayFpmnIeVK5qnj35LqLZFysUxGJfRTbwssfeIFHF98j5oSxjovLS/pxEgn+PHVWX7UVdhjf+sbXeeaZZ/jQz/08Tx494Rtf+yreOowtP/X52Pm20LfoIOs6Ozs7DAuJtWplWHX6eQRDleUefPLkCX/0B394Q4au8tUiB9t5gqOJbWQjkEK5/vO89AjvqhytHfP9cyxUNX4qF+7ff48/+qM/5jvf+R6f+/xn+Pf/+T/j29/8Jt/9zrcXGWmxLHLjxUvMzcJWG7vzdLDMF0AmTM5IPJNvOz7w0vt48fnnePe9d3n08JH4GcOKw7DHirEORPlMrZnDsKMfD3jf0ISWdbPi9Lzho7/3j3hjPLD78iu0rdeImQKuUI2Al5zCd47No7JkKzsrkyrrJBN5vd2oZ23UCbnwNZLuiU0r3v8K9MNAiol1uxYppw+YUilR48qQgtTPcsgqT7lvG9IwLJn0Vc80ORd2+wMpF87PTui6FSlnhXVmDFVIz+enNK6hbTspJnWSenF5ze4wEpqOXHv6cSKmgvWB7XYtfAfvCU0DpuJ9owC1QvANOU7kKJOvXAa6ptWIQ79MqqcYF3+nbx0uGKYpcX19jVeImDFHL+AwDBwOB5qmkbXLWEqUo+/+oH/WdnjXEIvIZ1erlmSS5MN6hzGOkke5trN/3zeaUe9E1lsTtS/44ghNIA0Sw1diUTVdlkI7CnV97KNCrsQbC5G2bUQ6fBg59CMnZ6fEmJhykSSIQ6/RW4FB82ut81DdsvY1bUcqSbkKwm2wTvJcD4cDVn3DRT2eGaE8z7a8Wgt9P0hucJA4qDRF8T1XaHw4NkJA7HPjRNt5zYuVBoi1lmmciCYuRZjIro1S3g2hcRjbig/cS4OQ2urkVM5L29ZTt2tMmjg/aQk28twzp9IMqAMnm3O6VSDGkTZYgjP0/QHrHH2/ZxwHmtZTKTx58ljOChgud1fkmkTFWApPnlzItcVw6HsalR9ba3j8+CG73RWH4cAw9gzTRPDCrig5CxwrZTS8RNa0IokUs1fcqFXHVmkSpjzJma+KZWu2BsoQSuxvQWnnzliKkcznOX6scQ1pSHgcOU7QNtgg/64kIQ93TWBKhXUT8FTWXYszibTdLOt9jhFvDNVbyVmOkS60ZOAQZQAQWilsfRNYnaywj6Wh66xhINN0DUOc5EyugNqkvvhSRnKGrlux2x149533qFRWXQfGcHV9YBgmYtlJHaBNl2GKWOu4ur5mHEZSlnPug/IQUyptt6bETJxGTJAGQAgeZyudDyRr6fuB87NTSilcv/cAU0T+bZ0UvbvrHavZtmAd7Towxkiu089arv7dPbZGOxMxZdD8Tu+cTtWMSrFkcQveU5J01GYKsICZohR4BpUOSE6tdyIpFHJxIpdI46yEMqtMGWtwxlMxxDIuwKMlgqcWUgVvZjJpgXrjoO1mP3AlZ6GsNlbBV3WiWqeTVdHGFyt1dPUGExw1yYRParvClDLeBmLSLphDomdUTiZeXjnAxZSWjrPEUMhBoOTC0AtlM6jRe/6SSBM5CCQKl9fXKvmSCU2aJkqS4qQaI3KqOOkEa5ZuZUFsx8jji0uRZhghVxo7Z44e/Vfz4Xacpht+rVnq6JYNdz4+W53+zoejm68/54JpDP3hwDgMEqmz74m1gDZJ5qiY4rIUR1UI0vmGfxH1pwmRTTpnMrFhFvuJjFbriJSzTmSlCxinKBEvMWK9bPwPHj6UXLftCdY6Hj58QAh+oRMKyVr0/b4RCfpmvVpwDd4Zco6UkpimnqurJ+SS6Mc9zohHQw5/jjCTihGi8AyiyjkyTkIm3HSdUoYLcRppGoMfMqcnuvGYjhgTOVW6xvAf/Yf/U+48+6JOBivei2StVo8zkodm9P6akmwUIQQp1uSRpjBHZ6mf1hqJWapy7btGaNeFSvCOOI2sG4/JmbYN8nmmyBSjoN6deM1l8ZRiae6QppTYHw664RfeePM1VqsVUxq56g22elbrDVdXT6hEMGILyDkKUdyIVGhpaAB9P/LCS/dYrU4JYcNXv/INhmmScHAXSDHhjFAH2yYs18qqzDiERiYgTaNeNpVmuznq5Cj9ldrO6qRRTYrVHKctRSjq87STGX9Wj5O5mBJNaPkHv/d7PPv883z7m9/i61/7mkq6nJKSzVO+Wm4UG08Do8yNwvZodbgJhzr+2TEaaLYdXFxcKpAn4434Hxf0+FKosnzvG0DepTi7+b2Xn6e19Tz9wdyI+jFmKXjnSXRoGlEO6Pfvuo4mBKXCS2f47OyMoR9Yr1qsc+oXGmXNDJ5u1RCCZ+h7nJmn7PN1LHhrFhhUqZV7z9zh+eee4fU3H1JyYoqWV3/yOj/3cz9HnmOLgGka6YcD7WbLYbfne9/5Dr/5W5/hY7/6cX7yyitcXFwcP/syR5NpQ87eYCpUbrzrZRPQ3F1u3C9zw0J978u1O0rBrTGsVmuZ3s9ZhzrVLqVQVSZc9J41Cj17yvdd6vH72acl9fL3jgX6OE289sbrPP6vH/Oxj/0Sv/4bv84HP/RBvvTnX+Dh/Qc4C9XduPdminKV6v5431W9b+b7Vu8hZxcFhFFJ8Msf+BAvvfB+3nzjHX74o1d55oW7OJ/Itce6gtdEAevnNIaJOEWijeRURPHRdpyd3WIcd0xT1JSFG37E0GhTJDFN43KonJurpUoRhmYGo8/fNI0CtXSGVLKcc3QfG0YB0/kQWDWtxu9JJT4rvqx6UOezwWq9ph8H9T8emxkCn5OCrW0DmxAYh2M2+n6349APbDYdm9Wak26D94GcMoeBJeowpsyUEodx5Gq3px+FID2Mo3AyrKVrJIViOXNow1NiBy3joRfOh3ME5xdLFUo9LznL91PrVqmFUjNt22B0XWxWK1ZdR9M0pKnnRJU3cT7b6b1x6Huxj8TEft8zjtNiB5kBa1OK5HRUzuGUBFurxC+lREoeawp5SqQqQ4UxDXLfVCnoMI6z01MuLy4lbiTP2dSWlKS5ttsNxGli309MMep94Wibhn4YadpAP4xcXu1kel8rRp/H+RqOMZFLVWjQHENumcbIMEZKNaRcSTET46CxXMcIMZgVJAq10wJ2VhQ5I4WLVXJ/jFF9xgErvhpyybRtJ5M75Iw1P/PeiTfaeolxalygDY0osqqsPa5pqbWyXa0lC7ldcevsjPW604Jb7ov1qqFbrWha+bxvn5+RkmQI++A5j1v6fiTnwma7VahTYRxH4pS4ur5WxR4CvqpSQzhjeHTxiO12S2haLdTh+lqAauM0UYv4uXPK1CDrnHdBAVNFz9zzCbwqyVtSL3KVKCyRT8ozm3MVGrDCp2YFYc5zRrP+Xs4Mfc96vSaOk8iVo8RsiYpVLU3WyH5rLcFb2iDPndPJLXqePuge1CrICVW7ljgpQVnur/V6Q6mFtmuxzize7FolOnG/P2CKqDhyKXL+soY4RRonCgCv9HQfAle7nciG1ZI2jFE4Pf1AeyrwxnGc6PuBYRg0Kk/OCpvViuurK2pOdE3DZrMSlgyV9WpNjgmvaoUmNJydnPL48aUAwHLmcJBzs3XCEipVzqsYKKYu57Of5etn/5tVPY3ZSHejFNKYSKVQfMUFnW44yUrMteC1BMA6sIVa0MXR0tpAykllLBKBUVIkqY9XPDwRcGD8QuKzmn/ojSMXJ8kCFgWU6OZPoRiRys5d61yNFBjeEePEOImP1nnx2zbeiTfKamcdocYWC0NKjFEO/SF4yiTFjjEGVw3eGsbDMO/jR29ohThUlT+PQghrWlzwTOOwZPmmNOKdF7BFqeCNEvGOBVyuFdvKwpJLXeSz1RQqluDEqzJME1M/0rUrqi3ijczShY4xkWPBWyn4YhK57bx5V1P1GsxTpxkMZhaJVhvcEquTdYEYYyK5eYRjZHpbihxwaiXVIsHLxvDCrds8ud6LZ6pEpWkydx3wKvsRGYk2UypLDE51lqhExvn716ILyzDggmfMkdDIoaWS2W4FW7/Zrrh1+1yBH4lpFPR5juKxuLq6YnOy0TB6gZYM4w5MoWaYxpGMSKMkr66ItCUOeFvpD1esWkN/uNSwdMPjiwcYV6g2sjlpRR3gLKu1lynkWjwIbdNgQyHUiitg3MTpaaAJa4IXH1XjHd5WVmenuODYnGwoSJGHNepBiNiaZRpUxFObS1G/uUyd5wOldYbWheWwgMmYLCqBGJMcrgTpSrCW0LXY7ZYmNNzaniywjNY7BiNEzaqHzWos05REilwgF+hHabgE9fbs+x3Viix3miZyhBde+oAWxNA1grmf4tEbaKylkJnigDOOz3z682zO7vLX3/sh3/zW9/jAyx8k+MD9997m+vKCP/nD/x8pTeyvL9iun6Vp3LKxOefZrFbI4CuRcsVZAZ8VlZcWRBooWIkbkv25cDgKcpfCc16LxJtf54RTYiw43/D5f/C7fOgjH+FH3/8RX/yzf800DotPkcUeIA01g8GpauGmx3XeAI++WbtMzebi5OjmXEyfKr2yfPLXfp379+/zk1dekYNekG79zUKMWTJbKyUf36m5MbE+Fsyzb9gszy3LdFdJ+oLYWA7FcwOgW7VqB5HPZtV1dM1McoSLy2tu3bnLbt9z5949cjE0q5a6n/AY0jBhmoZiEChVqjSdx3nLOAz4rl3e2zQlhnEkeMeLLz3Lm+++Q66OUgsPHjzk1tktkRxqZNDYTzx+9IiTtsVbyys//AH3nnmGD374I3zmd36Hf/Xf/TcavyHNLme9UvnLAuPzs5R9KeC0xlt+rfcNAomxkvQuh1GLxj6osskYjHF89Fc+zrPPPsOf/tmfMhwGjJ1zpI1mOpZjlIW5KQU+NjqsrYuc8eZ9dWPT1xcqfIzrqwu+8uUv85NXX+dzn/9t/ul/8B/zve9+h29/4xtMY68FcsUir8PMcmhVkJVq9JA932NqgzBH+w+GxWLiGsf7X/4AZ+fn3H/0Ho+fXNGuAk0rXI9aMxSBoczZ7alEaUwbMNay2m45vXVCHHopTsZEohCCoVRDLPpzbdAmgNNccRRUpY3SGHHM9iVpuhTFklUluw6jyFwb3xJsQ9UM+mLBh7DAk1IpBPXwhxDo+5ExTqR6zCEWbok2w2cQZq20beDq8opaIE+R023HvXt3aJpWJjJjwlhY+zX9MFKq5f7DJ1xeH9jt9yLvs5k2eKzNlDIRq6HaFRkpaI0V+1XWrOVCYcxZ1D0VzDixWbfLUCGlxOEwSKalc1gPwVvOTjdSrMSRk5MTTtYbQgicnK5o2zP2+yvZo0e9ZxVgOY0RY/KypjZNkII9l2U93LYd13FHLYmULTUJ7M1o4sRNUFqpQn8tU11AdSnJejONicNuFEtDrsQ40HUdrQ3EBPvdjmEcWa/X5GIo1dL3EyEEdvs9oQmMh0Ga8E6SEEosNI3HWSHM11x18JFk+oklhI6ShLQbp0iK0oCQlAuZgmWkQWaspxYholvjtO4yWC8qBK8RjFmnvbUUxhjxzYpSLRbLYSeMgmoLNUE/jkuTTZgrojAc+pHgLCknhjqw3qyWojrHkVrn2BorwDWHKgwEbgcoNdpQa6QA7bqhU/CbtYYuOX3+lOlSqp5HpSlijcHUxHoVaNdrbZoLKbxpBNJprawxuXHkFCV+qMIYJ9arNVgjnJ+SCc5gSlaolu7kGkNK1TOFmYdII5mKL44Yq2QjJzlrO2Mlr3nK5GIY9j3bjfAevPPsDj1heyJgP2NpmrXEGaVImmQAcrs5Zz/0osDLmVwiMY3i9S6VrhOatQmOQxwJCoR03rBed1ikrmm9lUxbLTSnmOjCiqkr9IdJmSWBGosCxxpW65UMd2ohqic/Txuyl0I9ZfGLJ7VvSB8ykmLm8uKagKfrOvr9jmEYGYZRaiIvYFZ/4klppOlazs9vy/psJLFiP45ypnKOmGEYJ3KpnJ6ec3W9p+taSk2YAk3w9Ie9rLtTxBpHmTJNs/qZy9W/w8T2OIqfO99Vf+1UApaV3ItObWd5SJoytshGF+OEcZIhOz/k8wI5TyrmDdUHr0VLeoocaOYIAesxVrTXpSSd0Gr32Rmssxpbw9IxmSlom/WKXDKlijdGawM9nGXdYPVAph4UyRizVDOTRmf6X1w6JaVK52mME8EGylAVcoTKwsoxY3AhpdblcCPd97RIIFPKeA8lRgUQRZHbGjRegwXEVbLg69fr9TK1DE0ji12t9L0eoI2haYT6VxRRX41RmaV6+fStz/Rho7LrwkyEFsT/8vqVMGeNHISEXlzkNSfxs+Scefvtt0XCjRBQ7Y1mBJalm73ILDFQWIh/1jqmNBJTwnm3fN7zdU3jSFYqa9d1DGOvcqAqm42zGBPI+/1y3fq+Z7VqCUHw6sZkaploAgzDJdbKJCHGnpx7rJU4gdvdCcYk1pvAauOhJKxLtF3Leu25vNhRa+XkVEjMEp9kdIGt5OxognTfnXfkcqDUhPOGlPYSM9U6ShmgVFJyBN8Sp5HKJJOYubTSzNq4yTgE5R6GoD5w8bE5J74hZw3TeKBrW3CWcVAZez16N41pKVVsBc47JbxKlzhnkeGH0KgtQUicyyyqopNKOShJLEOUCKsQcMYwDiNDGkTS7SXiaJoiMSXJEHYFulb8l8bglVLpvHTyazE8c+9Fbt9+hjFV7t17ljffesA0Tvz1d7/Laz/5Eb/6K7/A97//l5ycbHj22bs4Vzk5OV26ttY6nLlJiT3CaWYfvQTPz4G0R+XC0kBTbyo3Jrs/ZV4EYIqRWi2f++xv87FPfJz777zHn/zhH3N9tdNOrl0mpFJQKwxFSkHF85cb0tG5ky9SVOfsT8mPb7yGWXqq73uzWfOLv/iLvPvOu8uUbP6+y1pUjmi+OoP66k9P9o7qjvm1H2m7N//8adjVMr2Oct84724U5JW2bVlvxH94OOyxzuGcZ7fbYa2jHwY22y391QVZrRLjODKMIyfrtUx0poRNBu8bbp2fEfU5F7CUTHfOTk/Ybjqu9zIzTSnxzjvvyrXWz7Hmwn63Y5omkSzmzNe/8mVu373Hiy+9j1/75Cf56le+zHwTVd23UsqYUo6Ta3tjVjtPv+dmRp0n3DM1Oi+091qKfh9zA5ZX+eY3vsmHPvxhnrn3LK/+5CfLZHe+5m4BmN3IaTSGuco8TmT/pgqA5TUdmzhSeMrh9N133+Ff/tf/LR/72Ef5jd/8JC+99D7+4otf5K03XhUvvxUZn5snxO4GBEfvs5zSQsWe93S9xbjZLrLOcPv2OduTNc8++wyvv/EGjx485t4zd4hxJOVezybCqbhxZxLTxIOH97lz55z1Zk23FpndYb/n6mLPel2pxRKaRsI9apICSQ+/M9F7ipHDONCFhlXXqkJIfGsVOaSN44g3lnW7wjkrME3NJJ1mxcnsNTOiSnBG2BJ930tTWX31pRZSFBWMsyKhdUYiZSpJgGnW8txzd2m7QGgCh8PANEVaq+wIa7g+9Lz+xgPu339MzJnNdsN6u2LsexrvWK1Wav8B33rGadDGp2FOfUgxLUTeUis5RpwxlBLUusTSBJ0z49vGsV6v2G5axrHBhzPJ2nSOrlvhg8F5GSJcXV8yTdKcTRqJKPdsous6GT44aQjkXLhzfk6aJtbrtUA8H10yjlnPHlbPN5KcIBPxrDGB4lfMSZRcacoc9r2uc7P827DZrMmlcnV9LTCyKKqwGBMpS3Hq9BwSc8JkQ06S4TxqRE3O4u2evcc5S8GaizSvSinsd3uCbxiHiUPfC9fE3AADVrGBCfhI5MbH5pRaQW68zxkMhfJw0GlnjJFS3GKt6bPImaX5KuqkGJNE3mSRGdu2wVSY0iRn7xRFQqvxnTOxf9KJb03amEt58QPHaeIwyDUNwQv3xMg1OBwOQgVWq2IthViq2hVkbbDWsO422CYs+4O1hsZvpDjuhCGTkbXfGovx9ph9vXB9JPLSLvY2UZ7pwJOYJ0LjFrukcISSqgWrFvUZo2f/cRiJ+bjn5VI56AQ85cKhH/BeIYC5cHl5hdPI0Vwzm+2JWIZK5dAPYCSjnU4nxsjZO5UqsVvGi4oAif9Zr9ea1mJJcZLJdCmMw8g0RmqVz/3R44dcX18vLBkf/DJhPb97h/bhY+JepO+bzYbDoZe86pxwoaHvB1arlUjXtb4ZerFYGLUmHQ4HttsNRpsZRfe7nBOXV9eS514FULvfXzMMA88++xz7fsA4z/X1NblIA3Emec9JCjFLvvSUZPgpDa//EaTI8w07Tw1kyRDUddBs2PkANYeQpyTdjlqtHEhnwAuIHJPCar3ColLazOJJFV29E9mhyqZssTIpQ7xFTePJVX0mxUHKy9QD3cMF8iDdv6ILhzMWrCCoJdBavaTG4jy6YQmQaI78MDrFjVmAIQSrFMtCdeBbR8yFWDI5TaQx4hqvD+pcuEsxWEylZBZvqTXSIbPeyYaKwWkgcsriy5DiwjD2PS44obbpZHMuDq0eXHIFbxzWBYYpYXIll7gU7tzoPI+THDCkYzVPESST0FmLK1V+34usI6XyVPOhIO8nlkm9OkFiUGY/kXOkWvAa6DyOI91aMlDnzmpVaAZY5lH3TF/MOVOtLBIzfGuG5RhjSWXCYEjWYCYh9OLEy500x3X23AxDz+Mnj2jbjpoT5IJTwnCJiXXXiqekREoWpLvz4MI8rRs1F9eLVFcjnXxwTGnC2IJvLFMcaLLH+qo+AU/w8l5ykQOR9548Sdi5M5CnkVyTvmdLniNXVGY+y91qjkI+NE/nmKoTcnFnymeSmFIlNIF1UKBAzos/6TCMknGYZ8qvypyMoaqU095o3lgbiKUSh5GLq0vu3b27HMSM8UsDKhehoh/6AR8adocDxliGONJ2LSZXus7j8lrz5+Iyxco5KzU90Q9VvPjmGKF1tj5luznj8mLg6nrkReu53l8RQsvvfO5zPHxwnx98f+CDL79E8IaTkw3v/8D7cNarjFsyep1OOI/eQHCqkFDQtiyo1KWBUEpZlBiov5N6o9E3H0osQhTVB05kcZnf/M1P8+u/+ZtcPL7gD//VH/LkyeNFkinFw7xhytHZzZPPG/5HOBYJc6E7R7k8LTf+qa8bhJ/9fs9/9S/+Bde7a2pJeg2qestFtZGNyrTmoojjJO2IpaqL5Pn4+yz045mQLFYQaWTlciy24jRJ/eSdylfluzlvOTnZsl61XF1eSaxOEqq1qSLb3262GBMoOUER9QbGcL3fY6wVImrbkmvi4ZNLqkZdpDERq/gavbF89Jd/mW/+5V8zTpmKYT8cSJoAgIGYJOdxHAbMdos1lXHo+c63vsmnf+fz/MrHP8l777zLe++8J9P9GCmmYr0lp6KNgzmT+6Z8W9ZbbkgNje5BC/BrjoHLWSimOhWHikmJV773PZwPeJXDuxtRc7OElcUvbW/InedEAYu1x8ZkLbPdyKpSR3KRZ9/uLEeXGLbM1772NV599VU+81u/xT/69/593njtVb7051/k+vIJzmWC84ucf36fpZal+DSGY4yU7tlia7HH+xlRcLW+I7SBzXrNxcUFb771BofDnvVmjQ+eKfakPGGsUF5nVgJUDv2eYdzTtR3tas16syVPExcXT7i6kMOf806b3zNESRqxqxjph4muaQhdR7YFhwyxq1EZdJZCs20aATchqjVnVe5phHPhqijaQmhEFjj0xHEiTjIBbFplkowRY6Br2kUCnSZRN0mBDOvNWry7VjyaJVeRG8bEFDOPr3a8+dY7PLnYsz3tODltOTk5Ean0dMK6XdO2Lbv9TvQBtWJ8EOig0ya4XgPftrLXRVEO0bZMMRPaRu83qDVxuu3YbNasV+L3XK8Ct07XNE1gv9/hQ2C77Yg50h9G4jCRYmHsByXKs9gAJB9WVFFCvJ+WyfzM22jblu12Tc57hjHinB6Mc2EcM7nslqEGMUONtN6LGM94UizKfRlp2paURqGoA/v9Ae/C4oNOKWGcWwCqwzCANfSHEec8fd9jjBevbiwkspJ2q8T/xUQpOvBxieKUND/7k3PSs5VCTvVMPBePc0zLU89SkjSHlJI2QgXglavmIqeILZZaDFM+Ftl5Zr54R9eFxcZQS2UaE6t2LZ9FTAxFQHahk/VnGEZpinfd0kzIRRuhtdB0LUOMTCWyP+xpmlZjpEbxuYv0j7ZbSfxngZwr05QYR4GT5gKOQJ4quUa8QjZD2wqN3CgvL4rvuZRKytA0wuxJKeo1cvimIU4RawI5DTjvxO+NKMWGOOGalaaDGKpRe1xWdU0RObJzck7NpcwCFFlHUyQOehasCHCpymf2+MkVXonHU5qotbDdSKzk4ycPuL7eQYVHTy5pmsA4TZydsbBexGJh6YeJmiUhZRon9rsD6/UWjOHy8ppcCodDz5PHF+QKF4+eUHIluIYpTUwp0aw7GoVDNk1H26zYPXnC4dBzebXDeoE+5WyFP6CWzRACTRC7WUwS/+e9DtRqYb3Z4K3UK4dhFA6RgfsPHmnjxPPuew/Uu2945bXXcT4wpUzf94xjJubK4ZCZxkTXNRRNN6h10p8nANhxOMZY/bu+fubC9qZH6mnDFSJvMRWvYd0GlaEaKYBtcKRSmIpU360VOYVTKZ2zboGezJAJFFgjQJ457/bo95y7krVkakrLZsiydc8xPnoMsyyUz7mrMBdOy8Sg1oXAKW5IkSnJ4V7+PGsWnAs3slutZKHFOofUK9QpV6p2IQ2OmKXzVarEBS1SGWZirdGJXhGNeTHUItfde9HV55SEPJsKKYq/t1KW4tR7T8mZcRyX4O4mBHKMAmppZOowaZPBWEMaI1mvaynHvEvTNDptnQtPlXvXIp/RTIot81Vfll39O4jHsWmYpontdsNmI6Hdh74nKmiq3pjCLzRYjt7poxfsOC2yxuq0yi7+belaSlRRvUGqnQ/7IXi8q4zTXoqvKUmRWwQGtd6sBaKkRf/ilVSIjHQI6+JNGcYRZ734vJZsM8kqGyaR0Qcv2bMhtFhb8FoItW2rwAEFcgVPNeJnnTce7/0yeb4J05qpNGa+u3XCFqNO3J3oWLOSY7NWjau2xSKSezlIOoqi7EueY5HUq+dU3jqDZFJmigcN5YQpJi6urtnv99KRXa9kujGNbE+3rPxKJC2lYKlM44F+f6BxQhzM2vl21mGd5+GjR5QqHWhZa8QDHmNk6Hecnp5x69Ztbt+6Qxx1Ehwr4xi5uLjizu27nJ+d8s5bb3B+esLpyYpnn7nDs8/cU99ZoW3WSxzOzeJvvqeSbm5C+a4LBVxudTlwVM2Lm++N2cNZOfpdrTVLBuFMTP3Ayy/z25//HDFG/uQP/5g333xz6ZrP/t3Z6zjf+/MrnDvyxhxf980p3N9WyB4nb0e/6JHIXtjvd3o/FZwLT/3b2Yu0yFpvFrd/y9T2qZ/HcXB807M5ey2X/7Tgzzkt3pkjbElk4l3XYgxcXFxw984z4hva7WjWnvV6Q9O0TIe0KH6Wn6k/d6F/TrK2hSCkzDpnvBpwVXqUhzguhZR4IkUpEkLD66+/zvuef57Nas163VGN4dVXfsxzL7zEh37+I3z6s5/jv/+X/5IpjpJbqFRVKOScNMZN1ucbV0wnf2B4+lpK36Qcpdz6Xqw7qptmyXhReJGxBuc9OcalCTZfS/kM589M2183IVezjceUn3oRRyr20/dYUQ9g5dGjh/z+H/wRb731Dp/57Kf4T/6z/xlf+8qX+PGPfkCZojQt9O3OqoglfuhGMwaO0tF5X5mjouZnSiwbLc/cvcedW7e4vLrktddf53B9YLVd46xnTKMQhMc9TfA0bdD4vZFhlCZZExocntOzM8ZDz9XVFX3fa8TYer7iTFOk70cpRHOmjyLztVRKkvvHOs+m67AaU4VSz4s2ClJOJDSDPmgiRBK6cdW0BOEemIXgbIyozXyY812jQjLlmdmqL9EYwzgKm6MNnmLg+jDy5tvvcnW9Y9V1/PzLL9B2LaGTCJ6aWaY7u6sn8vy1nWSB6p7XH/bi3e02i6JDpLcSGTNFmRiVXFi1LY1v6drKqttIVmznKSWzXklsStsE1l0rWdlGfOvjkJimSMlyfzahYRhG8Rs6x34ncSCtFl6r1UrhSXEp0Oa9sR8EAjk//1k9jCkJG2McBm1WGpKdMEDQAmdZ8xUYJk3ItDxz83oYgsRHWufw1rHf7VhtVwyj+K2rqhGLTh5vZoUKdHPuA0p8TDUFUtKoyOPaKMVvgWJogl/ONfPrmQuO+RmVc98xS3imdaP7ktX9bozTAv9cr1e0rWS155xwOnWfC/Z1t8K2Qc8TlVQNNkZqf6AJgdNtp5BIr6+tyuBqHLi4vCCVwvb0VJ89OZ8Nw4GUwqLI8y5QNFmlVrEixUmGO3L+EeCTsRLfZzSzONeo55JjRvo0CRgQbRLLfilNkmzEhjeOk/pkpWlX87GxOKeECLE3LA0EYyz9MKiNRlQ3aZpofND1qGhWupL5neQdxxSX+EHnDMEbKaLHnieXV1TgzTffoR9Hzs/Peee9++QMB/XoDsPAvbt3NWd2x+NHV7Rtw8NHT8hx4OLymrPzU9q2JWX5XFPKHA4HnG9459138SZw6A9Yp2cGY2nawPXVFfHhI3LKrNcbsQ76QLdqlqn//tAv9+/cAAlNoEb5OcPYk1Li5ORUrl2QlI7Lyyu5ptbwxptvCdEex2EYJGorOC6vrsFYnrl3Txg+eIZh5Pp6T1RQpA86tY2J1aqVabXzHIYDP+vX32Fia9R2OGcUqafBGJXIiKG+zgChxR+gFNuUQBcc59VHZO2xCElolptEtORS5IbWw68xkncoct6kMgPp9pRcsbYcpwd60y8TFJOpReKHjPXkEgVOpb4xYy3uRjTF3CGYF15xR8uEx7sKNmOUIpumSSa4JuNmOmp2RJVezjmS3iGENiVHWzdLeZFJcqnEbCTHD8vh0OONVRmEdrFTIrjAKrRMKen4XvHxVkz/xjuKq6SahfBZC7EUppgw1bBqFcBQRWI6TpFUIlkP66ZamSQbg6kCc/JGOu/GWpJ6WhcBmUqWS07L50QtGM0MkwD6iEF8HbEWNd9n4hRxSuYrWcAUOWaRwizwkUIIKqUpdaGBzvKEUgpWJXtYy2rVUmpUerFMIi8uLsBkbDDkMlFShGok40wL+tVaiLt5miBZ3eQLBflZ1KTgNPl5UTM0iy2YLDIUG8BbIXxSMjizQAu8FUmpQTZG2VQTbdPq4TMvzZMpyeY0T3aDF7iTdUEW5eIxpsVUJ4dTvd7T1HN1nfFBivAKxCmyXgskYGySxgwIpbNxnsbJ64qaOy3h2VoMO8cQhQS+3ayXSVAtVaBSeuDY7fd6+FiDCQyD5Mlllajd2p6SYuK0kyiVmNXflERW1xjD2XbLxe6awoT3shAHA7Z6TjZnnJ/f5uTkhOv9gUM/8ODJA5zruLi6Yrvd0g8Hvvq1H3G2WfPMnVvcu3vO2ck5NUt+Wui65QA5H/bnw/SxcFTwSbkp4RTfZ4oCbTnKv2dI2lG+O28ibt5MqvycF196mX/yT/8Z1lm+8Edf4Mc/+hGlJopK7W9C7BebwiIHZCkub0rVmEFuhkXOuZx2mH29Vbv3lqrwpOeee45nnnmWb33rLxcK81HCqpYLberxU8Xrzany39wfjmCcIyVai+IFTBf133ttCsr9FpynGIm4mPOCQ2joujVgmMaRYejBFK73V9zqzmXi2raMw14gTer9PTs/E1hhzjx77xnefPt19f8WplEOuK5WrDc4F5hC4vbJlt3uAbmmY3NMqb7NqqPg+O73f0gTVjwbGkKQe+abX/8qz7zwHLfu3OFXf+3X+MpffJEgoxKR8XIstrV0089Pi5efagDIe5CpyxxhW7UAr1bkc5YZilWPPuVSadsV/+Af/C4P33uPb3/jG5qpW5ecxpuy4/pU02G+1cyNA/aRgj3fi9LYNJoaL8groelXprHn29/6Fm+9/jqf+MQn+Ozv/H1+6aO/wpe/+Be8987bi7zeWJm+6vj/hmLJLK/JqBNbzhH5xvWZictVc+k77t5qOduesd/vef3NNxj2B9quJY2ZV3/4Q548eCDrrlESqjGkHNld7OgPI+u245k79zg9P6WWwvVuzzCOXF5eEhpP26w4HAYl9xfMlBW2KBPa0+1GotTURzalSp1k7bNmVkEYgpfDWcmOlBPTMBHjJHLt2Rc9FymqYBCOiACPSkx6cxgp4IPQWlMUP9swCpjorbfu8/rb79G2npff/z7u3D4VlVjKoh4oAq+b9ntiyqwajzGe09NzVt2ay8tLXcsL2/VK2BSHnpgnprGX2EMvkYjWIaom27Fq1pxtOjCFpgmsVxuuLq7xrjnalnIhTVEgONVRbcU0AqfJORPjYbG6SWEvdF7XOIyzbNYrtqcbKOKjHEYB2pQi8SRN6/WQ7jUqSYrX1jtqsvRDT+M8u2FkvV7h3VFRuNmsxTOdDCaCLYZarXoNK84FoS1nkVZaJ5LQUqoOCoQxkFMBHCnqedM25GyYJt1bdHAyjQmbHP20p2lbalav5/xsGav3GVjriZMMM4wzFI01MjistxR3JI5ba0lVQh3b4GhWQRSPpmKDyDs3qxUhSAHXdR27/Z5+GOnHK4EKpcyUEzUZ+pgxKUt+aj2wOekIq4BfdSI13u+lAanA00kl9kOMAgDqtlArYz/g/Ux3hhA6chL1nzXi0fTOM9Y5Km1WQ1Zs1ig0bzkMGvvkLMU4SoZcLCkZ3a8zwTuxjQTxY9ZSyTWRblhmlig+tTjJ5ybrxKw0ks9U9jzpDWtGsA+Lqsb5oMO3uhR/0zTKsAcrNZKFputwIeB8Qy2GJ5dXXO8PXFxckbJZvPwXFxeMUajdL7/8oSOYc5y4t2p57+FDhsM1V1dXXO73YlXSjOXGeU62Z7x7/wGH/YipAg3zjTQffOgYx2uGmHBlwAFNYximgev9js12LaeaWrDeYIPBVKGZTymJ0rKRcrEfVPnmAc2WHcdRPMbeE3xgd3XNOI6EJkgMXpTvMUO+gm/0rCCZx86eMOTEMBia0iBCrEzXSUpBtZn4lDrsf/jrZy5s5dDinjpUPRU3ccOPKdRS7XLohE9yYlv5oXPHxVZccNjCctBZipYiN7mrCFlsPrLNmbSlSAapdtVykm6TdxLCvfTDtXPlvNOOXNbCux71VSAePhRuZc2SUZlzIiVwRotHI1NilCA7bzih8fTjxKGf2G62rLYNcS8PSdUpZGjCcrguWQrqovrylDO+qYAU7yJpkwNU55zEIXiv432HVbnAPD0MjcYLaRxLjHN0wXyNlDzW97JJbLdsNmveu/9w8Us/dThdgCPyeRoflim4HI6MHtXMklFsnE4HsnqUS8G3Ld5J+HrKiWE/Yo1f5kdCeNTDVJFJeqgCDRIEf9YsWjnulBsL1OxJNkppbBrJ9itJEP3zJLvvD/hGXlvwBtt4nVaJb6DWquh5iy2AKQw6TTbq1RbflBU0ueYzCBfFCEkvw+ZkzXrbUkpiGOYIAIvXe6wJQTqdSJNA8ofFR9U0jUrmodGFfX4ezI2JWC2FnCKljvqZKWzCGJ65c5e+f0C/35Mp+NCw2WzYbDakaSSnxOXVJev1hpP1FmOddCcVsDYX27VWcors9zuuDz3UKtOPplnWg+UQai2np6dMcWK332ONIxeRnc9dde88bWhIqWWaRqrek0KlPFJgN+sVb7/zlnoMoWs7nr37AuvNKbvdngcPHulBK9Ot1gS/ZrPZ8vjJJT/+8Y/Zbje0bcOdO7e4dX7ONEZCaNlsNlRr/madxrFonK/zHIky/15OIlud172b0TXzHNQYlufFB6/qEGm6nZ/f4nd/7x9xcnLKn//Fl/jmt75JyrOkZp4QVvVDHoniMlHUrNZcnlp7uaGgQYsAa+xThejN6Jab07ZPffq3BBqRvylFZXh6eq0v62/10T69H8x/9vQewXytdOIn7+1IwZ3XzLnUm+XUS8G+/Gzpos/7ibGw2WzY7XY8+/yzy4St9RKTM/UHak5McdQIIfEertZrpmk45v/qs9e0Dc899xw/fuUnPP/cHe4/fsJhuEG/1rUml8JL73uJV374I+6cvcVq1XJ+vsU5x253zXf+8lv85m/9Nr/40Y/y1uuv8d47bxKCENELEEzQeLb61LWS/z2z5Of/W4/RM4vmXa9UVe7BjZxh648NkGEc+eKf/zmf+exv88z7P8Bbb7yu/Q6n/rIjtflpLzY37uObaoCb0neWqcVPPT3LZ53J3L//Hn/2p3/GW++8x6c/8xv843/+T/mrb/8lf/WNbzD2e7wzuOAxTqeyc9wQT8ueMwtv7WjaL8fmTdV4IHTf3m63/PyHP8J+v+fNN37COA58/Stf4cnlk8XaMjdvvPO0HToNNVwNe9ad0Fufff5ZdvsDTSuxaLtdz3530JxloxI8iVrabmX9jCkte6JXSxBVfJzeWZpGVAfjKPmrc+Nkzr9lVmQg0luhJacFyjRPzULTqNT8ON93QQBHDx5ccfnogsNh4KVn7/Lc83fYnmwAORNZK569YRB/5Xq1Wrx3TRMYx4nr62t2u2vatuOsW5F08lQRkJWxsFp1QkstkWA9bXCYmihFQHld19A0YckAz1nANWMvxaQoJiRaMfhAqYkQ4PRU1ndRyzgtniVip1bo2pbVagW18uTxhfIGJOrR+VYnyvN0My/N56aRyWRRa0wphbOzM8ZxoJTC5eUTzs7OlIydMSotb7oWq972ubl8sxEqyp26gLbmyWHO6i33cv+UOufkqtpMo6RSkqYFiL9S9T7LmkMtGLx+P1F1WSvWkLkJKzFnYbEY3OiFLvfqFKOwMSxLQ7tbdYtvPCtQqeo5uOpEet4DZ+L8ei3k3s1mRalCv04xqkT9Bt0+yBnRq5S89aIEcxr/Z62UG9ZIw2K32zPEQrtaiXqsCNgq14Iz87+xS/KAd56UCjkVxn6iVqtALoWsqX+55kJxx/PszDKYFU9TfDrtY953C0VJy/Kzsw4HMEZhsR7n/NJEmFMLqtZDYtlKR2aCOUrrQe7RWiuTFnynZyfkOuHbQJoS3coRa8FbeHL5iNVqTdc1og41cHF1RY4DuRb6YVwAWt458MI7EfWTXA+LJdiGOE3ir42jft4sndNqYJhG7CADt5gim81GYnf2B3YPDlRV9dXWL5FecwpJCIHr3Q5qXXgoM/HdWivKRCugWquxXymJorRtG4HmanPPGKSBDZKCg9F4TlHv/Y9CRa65EGskJ4FbFG7cOPo1y0Tmr6fkcKboRmsWeVOeEt568cJyYwqByLhKtZScsDpNCs4LltwZUozk6RjdIZufyDBNlcLDWksGshEPlvfSEUuavbv8VGcV+JEwtpLyhDVeb0yRpqyaFRjDlKLKZatMNuYbWBdBZwVQYDSHNGYhBAbvhPZHAePxIRBTopYk4A8nH0XSAO/58OycZmndgE6NYxSYQUpLPICsh0LOo4rcxVAklqkiHUSNgJm7kOfn59x/9IiahWiXcxaKq5OHOeuBOVdwGt2yyGL0kuf58OqsAsOEaMucVwniTVF/4vLrJRqjLJDMXEQFUHPCei9UQMsiw549jcx5kFnvCesW6WecJtkMhkKhYIPDO0vNGVNh024Yh4FcK64iVGFk8u6dF3lwRT20BtvK+2pDkEOCLtImG22WWN2YZIEVdH8SWbixEulTC1OMRH34nXaTY0kY78jGMBTxQs+RIHMxO+niYYzAUSxOSNzOS/ZXLU9F86z8GUMTuNhdieyt79ldXnHv7l22Z2dU4HDoKQme1MIzd+4QTNGIH7nfNps1bhqZ0sSqlYVoGCaGQbqHm/WKppFucClJA8AFIuEa2YjE3yyxCeMYZUOQ+GMohq5dLzLvPvaEIJ3Tw8UVbbfibHuLD3/w5xh2Pfffuc9ut5coByrON3zwgx8BHK/+5BVeffUNXnjheZ595h4lysY09BNdu2Z9sl7gciINuzmhrEs8gjLi5pAc3VCFalxveLqjStfgSLitRjw4zhmsN5Qsh57Ness//L1/xGq95s++8AW+/OUvU3LC2BmfdhQIV+rfmOCRi1gZnipU7dKPMyomMaUoE+iYaTuvzcdiRb7ll/7izxXeIWRz68KNgkXHhIYbfvy/xa9703TwU+t9RWV2pqr8WBpBVn2n1oiPcZ4SWow+d0d7gRQiFR/EqjLEkcO4Y3Pase/3GAvXux3P3r3D6689ZL1uCesGCOSYaNuGmDKPnjwiBE/TbKn67IUQWK/WGqk10XWeW+dbXnz+Lq/85MHTsmBtoG63J7z8wQ/ywx/9kOdfvMdq3bJeeWyBV7//A1544SXe9/IH+ezf//v8/n/9L9jvrtVKINMibNbiRSWJzHJCK3tdtdR5mr0MNOsSBSTQLln7qjIVZB2dKdfy/6+v9vzxH/yRTCOKKJfkVrcYUxYA2Q2juN5P6acaFE83MwTyaGYHtEzXqZhyQ0atVONxPPDXf/1dXn/zdT7567/GJz7xK3zoQx/ky1/817z55hvkXPGq/qkmL/c+mh89x8SQ1Xo0E8FRKb4T8NVsnZgLcu895+fnnJ//Kte7a95483XiNLFebRmngWJ7KpXN+oQmVA6HXqc3icvdBVcHQxsa2nbF3Wfvic3nwWPefec9cpZCtHSSUVtKwoWOFPfkHBVCZ3jp+Rd5/OS+2kHEopKq+OJSSpQsjTEfnBYDThrput6Iz7LSaZ52jFH2ojmC0Ej8HIDxnr6feP21t3ny5IoXn7vDC8/f4fzsREmzUVQ4mgdKybTBslltZaodRS10cXHJfr8nxsjts1Oarlvi20SeKl7htpFMVteCo9B6y3P3bpFTou2cvCdbGNPINCaRvh40RsQB1uG9kHxrLsRhpO8nKg7vW2rtiVNms+2Wad0w9pytzxUiBUPfM8SRpNC+rutkP3WOIU3sdjtSmWgVYoWDaivtumNIo2STBsdJd8LhcGBKkZgLDx9fsNWc4mwq/TTSNA3jEGUoolBQ1LceQsd+15MpNG1DTQWSoXEd1liGMlKLFZr+DMc0R5iUSGlnUBpiCzNHNRS14rQRmys60BA2jDDEpJlXSdQa5PlxTlU5ks9rraFpnMQsNUEj+AJpieqU888wjKScsd7Jc58T0zBiMUxjZL1aYYxltep0CJE47A+SeYycc7PT+KpSaLuOVqFV+30v0WRdx9XVFSllpXcnUhrp+5E4Zakpip5fVR06q2xSEip22zQK09rreUOiRnOR6asQkA0tDc4KP2T2Yq9WnUw3new9cwEqdsE5wvQGi0CHTrkmyWk1lkkZOGLvLQRj8UbWb6c8mFITPszwXIldSzUxRIF/2goxK8/HQtd6jDW0q45V24rtahqIGlEqza1M23iZltZK1ijH9XotRPVRIjSncaA7abntztntR0wnLIpDHKi2kn2lbTqmNNJtWrLJDHmk6zrGNFD7rFY6GPqD2LDKUenaBilq5XmWs2hoPE3jiQrkFYCfrJUpiToQjayyGuvaNh4ftnRtpypeydD2TibtEv2XaNrA4XAg5kgxhVwSJvxtZ5G//evvEPejD+Lc1TFFUO2Ll4fF0zj7gGYZncWqJl1umGrFzxZjFNBH45dMN+9nSEZeDksSvfG0v0wKmeN0o2R5aOYOmrHqZ5Ddl5IzsaJ0WAfFLHLCm94vqtKejdJqnSX4lfqA5WBrraUkKKaoT1ihR8aqHCFDtOQ+YquhUerrZrNZvJonJ7q4TnHxksalAzj7LOUguBxIOE4zsi64/TBIfuMwCF7eoN7cgrduiVTwqoOfJySXlwJzGMeJWuHerduLnMBYt4BOSjFLQevmKS5PR48s3a9alkDm+R44enNVlo4VHLp6tLzzWjjYY9zIjYngTIdFYQopJYKVCXbURWrO35RusCDvLy4uCE3Ad4FmFeSeqlYLf5aO0jxN9doNL7Fobp583o1vMK7ShE4ktlUIw6mMlCSTZpHRB+KUhRpEUdjDhNFFcZwkA+/u3bvSYYyRWERipKF2kOVwF9wcnXLs9sWYuXf3BX7xlz5O02wwdsXp6RbbNNRaePnll/mH//Af86Uv/Pe0IeCto+97EoX91Y7HDx9xdvJ+tpstXbtmd+i5eHyJw3D79IzOW6XGWpH6pETrg0SeMJFiZBhGYpTPNzTilRW4kxzAfZAYqVlJEaeI7Zxai0SGJSCdshxm50PpvDY4J56Z07N7/K//t/8H/j//r/8rTx7vsFam8atuxc//wse4vNjz/R/+iMvLSz74oQ8y9Ad++KMfcuvkhPPTjVgZknjJJffUHz34NxpyReWvcwOp3siOnQE2M5TD2GOmaNUHZB6USpc8qOxOpNaf//u/S9uu+bM/+VO+//0fqu9ylgqbGwXi0WNYjy9yibcw1i7FhkjWZbIjfj8lh9uZMTBHqPyU71XX5QcPH8y1q661RwnqvI7ffG3mp/58+Va6vt/8EfPfmx3gR9bJzfIFfa/6Gq0VYqpkLum1hLZtaILHe88Q80LKHMdRurjG0HQtxjiurq5ndhTBqdxzEhLtqpN84nlC1ff9Qt48HA4E7zk9PeHnPvQy7713TV+P3tb52lxdXXL3zh0evPMur776qjR2fKBxjjRFvvGVr3Dn3j22J6f86id/gy/+yR9Lg7YUnJVG4RKfcFPi+9T1tDfaKtoUrNJAnZUtVASyo3FZ4r44NiLMTM/OWhwi2dbyuRiV+ZllGp6VTfDUfTffKDdgaELOrctkZo50mqemUnTP0lvIeeLq8gn/+gv/mh/+8Ed8+tOf4h/903/Om6/9hH/zxS9yuLrEOEN1FeNkp7ezcsHMDR8WYu9yX5l5D5wnzPYpRcB8A5+cnPDhj3yY/X7Pa6+9AdWwWd0lpcgnP/Fb/OCH3+Owf0Pj8owoiIxINfNBGgDBNzz3/POcnJ7RH3qur/e8995D3n73Xc7OT9jvJxrNcj87O+OTv/Ep/vP/1f+O//P/6f/I4eIBMRWlq4plyHsvfkpt+kkhq+oPp9O6UhY7zzAO0gys86SuUmJF6nnDw3cf8fY792mc54MfeJ4XnntWCMI6GawUXW/l8+06AQYaaxfl0KE/YK3l2eeehQrjFOnnLF21sRi9PquuIXjLetWx7lrWXcfJVvzIBVG5jUlkicImkEjCXCTTnGU6b6RIUKvXMByIucwoADnLAW3X0natSHVL5Wp/RZxGmXDWwslqvWSy5yxxIqfnW4Jam/p+IqaR0Mja3rYN4zgtVrOSpWE1R9Us55oqMENhOAj07+xsJfuZUECXCefueset5pbyEIQPIQXB7B+X1IacKlmvkQDpJAZF0ZvLWmqtBQdxmj3wotzw1mlDxyyeRxQ8NZ/DZn9uTQnvW7quk/XQy3tPeVAYlSgMxpg4Oz3FOk+aRhovFoeUErv9fvEHS1rBSM4NhcIwDsvkU1cEsQZ4zzQkOU9ay6HvBb7WtTTeYa0jxUicooKiJrWkVfHWqgzd6aDi2N4Xme88NJup2WZOJfGOlCaxleS0rGCzT3am7NqZfXBDZWq0yZp0eFVKlpqmoPuNo21FkZeL5MxPcRKwo9OJp9qUrJM11HmxIc5JK7mIaqIJgVq0MVaF62NxrLcbnPesu46cI6vcabSXYxzH5VrllOi6liY4fPDsh56aBTR1eXUp8CeVLqec8KpCOBwOeOe4vLpi03VCWPeO1XrF9W5H3x+wGKXomwX2V9VXfnpywnAQxcXF5RPW67V413XPtrq+BO/FSqg+8KrPci5Z1VMbxmkkA43a2KQ2dJolLF/yeQr7huUMLOvsdrvlZ/362aXI1WGrZJV670kKV5nH/8ZKrlVJ4jWz1eqWI5KsOXIm1yKEOl1MBEeOZkKqrDd4qALL6dqW1smHlCch5BrcMoaXhW1iGCec80I8Vi1grll8bNYJ2EGN9s47EoBzmAJlzKQSoVpyNhIHY7JSPVU6ZyTfVrD7M/3ULAd2gMa3UlR6yaIdhx6SwReDw7Jebdms1gxDL6j6mMhJJKPOBaltskQ92LkpsMA/RHpSioB84hSls1MqrW904RWJQ2hbhr0EMRs7ewXyEuztcdjgeXxxzWGY8MGy2XRsT1Zcv3aNs+FYeFj1kpbjwbuUQsyJpKHRXv1T6MEnJ5kGBe/IVCaNUDB1LlqlQ2acdKFxllwroWrEUdWDEgZnHClJA6GqrEWKZPW16vRtlnOtupY0AxRShuxwyeBaT0kjcUzkJPdQLeJnqECwQb15MI6JpvFUJ/czFaYx43AEPNM4EftIjGV5DU3TQCpYPN1qDXVi3A/EJJS4punwPuCKJVdBtA+T/FlAFgYUoDXtJqG6Ng7nKtbIpHazeZ5f/9Q/wXcdtSRdPCAXw63TM37+wx/j33zhC5hyzflmy6ZtOBwOmPUa1zS8+dobDFPk7NZtzk/POO027Hc7Hj18zN3bZzJRjQOb1Zo4RpGJtIHGecY4LTFTIlkRv2kqIjt33qgcK1KLACAoMr0kiJIiG0PRGIxqpKAstYivcIGDGeKYuf/uY378yk+obs3J7Wc5uQXn57e52u14970H/NVffZfTk3N+8Zd+iZ+89ip//d1/y0svvogpif3+gheee55uvWIYe5X8iSymCd1C8ix1hubMObF1AUrUKjT2PKnvJFj1K6nnR311SyFXjRDRS8GFwOc+/zt85Bd+gbfeeodXfvQqcRyw2qyb61qra8siEF1k9rM6Q4rociOSReAbCgiby9h5gnZTujnLVk3VvO6WVRPY93uRU9eshMljoS0/Yt4SjoqK2Xd5rMXm4oYbkzyeag7Ontd5ncTM1ON6/Hd67UTGZck1alEpgfLBeYILjGNlHBT+YT19P7BZr0W+GQK7w442ePH1O8lP1j4Z0zBi2qoSM0uMmYeHx7RNwxgTY5Iu8Xaz4pk7p7z2zhPyNEl0BYVpGtjtrjg/3fKhD36Av/z2t3j+uWdlUrQRr97u6gnf/NpX+czvfJ4P/cIv8vobb/Laj36ANXVRrxhnMGWWLCwtWe0C16WYhCNkamY0ij9vLjS14FXJYp6bhuYIX5IsWcvZ2Tkf+/jH+NY3vsF77729xDcsTWgzg45+Ko5pmZzLl73R2KjKzpCP2SyuW5lA6XvT9TuNmTd/8hoP7z/ik7/+a/z6r3+c/+A/+8/4q699nb/69rcEfOUAp77Z5SoYTVdQpUGdc9XngmGeYtenGum6YWGoBNNyehr4pV88Zb/f88Ybr3O9u+Yb3/iGqsekAVfkBWO8RDuZYujHA7vDjsurK87Ozrn1zG1Obp+xOdkyxYkHjx7y4OEjtquNyO3WW+IYGZ48YX//CYcpknLE24IxGevkWXBerlkepaGDk8lkVKVSqxTd634vcB0MsVSCs8QKY0xcXV1z//4DYoqcnW158bm73DrfShRJP2Gq5G1SyzLZpwoh13lDKoXrw45xFInf2Z0zSi4Mh0FhbuLHTVPGG6+QIQG/bE/WWqhIYSyWirp4iaNO/8ZYyGT99YQLJ1TrGGPWxkum70eJjGsbpn1PLnIOssEzxpFt27A77Li+umaz3nB9uWMcDqw2LWdnp2xWK6Zx4uLqiiln7j5zh9OzM6Zx4v57j4Tj4DzVGK52O6UGFHa7nVCovefs7IyLi4slt3eaoiZyePaHA05p/DGKfS0Eycp2zlOt7mNVcptDY5bmNfXmAKAuz9O8PgopWyartVSsZmZjBBA3luO5olCo6sUu9Rjl43Ci3ghSUJsoYKRSE9Z6nK+M48R2e4JvGhhG2m7F1dW1vP4p0g+D+s4rNkpjaRgz3hVKW3S4lFg1geACuCxFp5V9QwjHMo1v2w5nPfvDnsPVlVjrQqP3otiwxsPIMEUOY9RIF0GRUKtYxHA4o7YzVejNdUFKWW148lk1yr2ZNL/YalxojFUaZgWJGfUiTw/BKWRTJPKizvRCNk9FAUzj0rib1VTWWpJGXY3axM+50I+jqJqMEQAbDmcLY5xUbYOA0aqhYDXOSBpXMSZa07BatVTrGMYJbyVpA7X1pRihFDyWVIQNk7K8/zFOxDxydd2Tsloro2UYJkxBFKAUGg85iCzZ4dgd9pxsT9jtD5yfn7FaddL8Xa1JU8JbR9t1ULKoxwo01pOCTFCdgj+l0aEcChVnOSv3chsanbpnqrcEG6SYbVuKtZRR1ABttyL5xGE/4ENLxdC03bIPTZPcI9Mw0vjAGEfK/jh0+Hd9/cyF7UyenX9t1HM4A0DmfrNMuhzWin/OW6MZUdIVqEW6GCXP2bFWyGLGLvq3uZMT1ODuq3S/k/oY7EwirYWqhOEYk8odZ5qxZgiWijNLHO2ysGSdRBpYCtUcE0U7CjP1caY1zxEzTicjOU5UY5fsWNTvs98N5JxYrTvOb6+pk8TahMYS48Qui4Tm8uKKaUrL+xUfsCeRl2D0RaJU8hL7guYt+hCYdFq76jqu9zu6Vafh8Y7QtgJ10q6bqVBSotGok3Hocd7RNp6YIg8fPuDeM8+IDyYL2t4o3CZG6dDUmTJcCllpu01o1PellGRjVFI29/OePrDPDYlFPn1DThZrxpSK9f4Gmc6o50hkDj4EAU0t1GCrkjKR08yTDmuFKplLYRhHvTvlM53vxzmmJU6RHCQnq2QJIx/HUTZan3HVsrs+YEyh2KJEaX0PRRZ36SRLmH2aHOvViqYxlHoglcz11ZUU3YNIeWMeITQM00SpmSkX8dIYi4kwHhLtvXPp7BZ5PyenZ9x77plFdj1/yeGvUvKwgNNwlSYEmrMzVl3Hvu8Z40R/6Kn1MY0PrJqW09MNMY5MKYpss22JJcsCp1nIzjt88awa5FCj3m6jxeE8NTxmoRqCdmBzzotUJevB11mZTFd3zJYzRrxUpVZyHnnnnXf5F//V/5e33nyTX/qFX2C93rA7HHjtzbd4/fU3+OAHP8TJ9oy//Pa3+NErP+DkpKFbZUrdEcIa5wzX11ecnp7qfeT04F8X6m+9Ib+en8Fj91snX3JOwRr1uSrorTJn2x6HsDGK5PpTn/oUn/i1T3K92/Gnf/JnXF9f445w2Bu159HTPkeaoZtCKWqxuOFlNTfyZnXxfMq7ORc49bhUi3QqFz75G5/kwx/5MP/v//L/yTD0OGNVXv20T/bY0b4Jqpql10/Do45TvuOz+tTvHyuzY5d8hm0h1EO0SeWCJ8ZR7qlS8V4mrF3Xcn0YuN7tiDFx6/yc/tBzdnLC2I+cbM+4ePKYGOc4s4mu7QSO5yw+iMQuTROPHz8mZ5kCzvTtGaKy3/W88OKzvPXeY2qO1HLs/j94+JBbZ2fcPb/N3Xt3+drXv87f225EVuVaKoVXfvQD3vf+D/D+D36IT33mMzx49236/bU0dOeiP88fpj2uHcv11U/rqUFuXaaXZoaJHf9oieiSv3Bcb40VldODh/f57nf+ik/91qf4zr/9Kx49fLiswzfDDWYv2HyoOPIx5FsvHuj5mZlf8dIQKjr5nA/08gKtTnHH/op/86Uv8tqrP+a3P/dZPvnZz/L+D3+IL//Fv+add96GIp9V0YQE9D4x88jfzt5tKZilp1IxywGUJe3A3rhvncq1T05O+OVf/ii73Y7X3nqd/X7Her3CmErOB5GoalMgalqCdY5aMpfXj9kNV6zWa5qN49c+9Ss8enTJX3/3++yudgA8fPiQv/zG1/nkM+9jeusB/cYzlcRmJXE8tohSbIoScYGxNDczn/WAnEom5SqwFWuI2qzNKbE/jDx4+Jjr62tW6zUv3Xue7bZl1TQLfHGKE3i/RNy0TUtS4mvXBGKM6i/NnJ9vaZqOaZIJ3TBOGI6e9hAc5+cntK0o6NablTa4JZZF4qB0vZrXQt2TSy0Lxb9pBcJ4eXUpEWjqcbRG7ENDLznzOSf6ccB6yzCNvPXWu7JWtCgPZIN3hlt3Tjk/P+Ow3zPFiaYL3L31DGPMDBqdlEvG+yBy6suJoT9wfnoCVLqVl6l2hqT0WpkSZbXPiM92GAY266022Tr2+z1mjv3RieV6vVZ/tTn6aNUGx4wZWBpPR0/mTMyevdki95Z7v1CWM9zNeE1zg6FgrRXg1NKEOjIZQggEtW61up+WKtTikssi4S+5aB6qkHyTScveYqz4ZWd76MnpqQybnKo0qfSDRFGaYsjTQdc3OcOA+LFPzk6k4RsjORfGMVLxlAIpilfWOU/wjSpB7aK+KGrLElXRcerqnRd72JQ0ozYve6C1lhQltYQsiolgw9LIQy2VNsuU31arFkCtO2JisKNMUtdraWKXY8JGUjVijIM0OtoghWiFrLamnDNFzwqolFjix478DmNErZGz5M/udjumYWTdBYlDNIZ+2DMOE963uicWhmEQH3vbwDhQS2E1k72t4HoxYF1lmgbatmW16ugqGnuU9DOXoVrbtmqbvHl+s+QSNa3DsN/v8U3g6vJquX+880zjIIBCLdhnmrhzMlEeU1xScuYGj3Pyc2eVRRMaVqsVzgUppFPBd4E+JrHXYQmhWTKmrX1qc/wf/Po7waNmsEEtiuOvUmx0XuBOucz0QU+p9piJ53QsPUOHNK6mKhq/FolXscZr56RoYeeIY6IoenemX1YFbTgni8V8UcWroJNA9ceJN0EOosE7xhiJVbJ1TbFYLN7KwzblCWfD4kMqKUtunfd6cJDssZRkuluy5IXmInFD4zTiGkuwnUgzYmS9aunaFcG2HJ70HHYHPWCpRAc7G/XU1wlt23HYH5SWDKmKTKIORgvDABXWbSOZnI2jyY3i1aUjlIpOx/WgYefNu4r04s6tLcE7nlxESifB6Y8fPVmIm5RZgmZw+p/QkMWsPsVKsNpbr09PbGqpeGuPVtikUix1NluM5LjVGYmfFniPMwKa8iFQk/p6NVahoIpv9Tr4egQyHPMbhVqIlb/nbcF7absEpW0XDClWUjQ0oSUbIWunlCl5DngXuUnO4oeIWbzVxTj6flqgSI0XaceYC3HooThqaYmp4mylXa1xacR1AswgG4bDIGH2iI+wnwbN3pT3k3OimzKmGkqWa5YXlYDVicaSvKOQNIP1XrLWFGzRNhLfEEJgrc9LGzrpZiPxBFFBJb7xkic27Ane0YUgC5Pmf85grlyLxnsZjPGywermWg3Y4Mmad4aGoud5Y8hJXn9QUISGcgffqHRV7qMQAh/4wAv8L/7n/0u+/G++xJtvvMmDR2/xve//AG8dv/LRX2W33/O1r3+Fd999m7t319y7d45zldOTDXfO7xLHiXGYWHVrutVKQRsykb3pIazqmzqCdWbJL4h6dIbjPX14kamZKDGwVSdZjl/5lV/hN37zN5nGyJ/98Z/x2uuvySN+s3xZRp/S9UR98WUpJKseF5fTkRYj5ui/n6ey9SgR1XPUTxUoAmN57rkX+MH3f8Q0REwRNat1+oAq+VEuyTEL92/Cho6vz2gEy0zQfcprewNwVM1sJ5BraXFLMSJQGquRcB7cEmDFSinW5+dnPHj0mMP+wNXVnvVqQ7/bs3qpZTwMrLstjW8kjxfIqTDUQeVv0t0vc1fbGozuRWkGwM1xYlTOTrfcOjvBloSteRa58t6D+zx79y7rbsX7P/gyf/mX3+a73/8e281viMTZCUH+61/5Eue3b3F6dovP/+7v8Yf/3X9DTHHxobrlU5/9oXZpGsyjyEUps9wvem9VFgBaUfmvWf6tTB5LyThteuyHnUDC3p1o/joIbX+Z6FpK0WezSDbwErWzyPicrusz3GvWXpXlgJbnBpH6vovGpphZUm0zGHkuqJm3336Tf/kv/1t+7sMf4XO/81n+6X/4n/KjH3yfr33pixz2O70PjpPnWcE1g1jmcGFZJo4qgOW+08SE+WuO6Zuf15OTE37pF3+Z3W7HG2+8ztD3dOuNMBZiTyGTyvzsqIWGSo4j09WErRbnPJuTFZ/49U9QYub68pLH9x/yoZ//CJ/4j/8j/ssv/RH99TXTNJHLyHrTEoxlnCZ2gxRxXSN54CBQwqr79Dir1nLGq/LJGGlCP3r4gJILzz9/m81mhfeGXCKYhlIhTZEmNOK8tOBzAWNpQ5CmfhEGya3TE4lmqZXDMHJ1uWOcRgHgWPX8tYGT7Zrz05Nl3QGIqWrcoJOc1Cxr1hBHOXwaowo7i3VVCnO1RY3jyOn2RN7/qmWaotiLPJycrogpcXm54/LyklyF3nx+fk7TdeSaGeNAt+ow1vHw0WOxF7QdbXBc7w7s9j1WwT6hbRj6URritdC1Dd4ZTk9u0XWteHXTgHVwenrCFBNX19dLk9E5JwOV4Jfp3gw1lQluImgU0zRN1DxnTqs1aRbmLFnedvne85oqvmc5EQUr30sKW0OnsFQWi5SDUtUDKQ3P6iQ71XlJPC8l4Z0kKBgrijyYmR+GNCVymshTFmvEJD52Vx2miJoklYzHs1l1kgetlochTWQjSr+u6yg1MfQ7Ykk0TUO/74X0XAtt23D77h2MMVzvd1jrSXHOLJ3UxytnQGeglERGG8aaODCfPXPOdE2HxWOKgNucE/jsPkuMpsQ12UW9YUqElIRerLF7zh2tFqlk6qS4lloYp34ZjKVqqKliSayMZCfP+ckpZTI9xq7BzIXxXLbpvpghqQ3EOlE7phQpxWsDIy73RZwSk3M4YymxEJnIwdMEIYkf+kGUiqERq45yemrJND6waTaUUYZWcThQa5F7xXsoBVMsjbM4nDB9mkDjG0qB/jCw2w0cDprbXIRLMwzCUJp93MtQKgnbweRCGiRG1BmDQ//zYpnw1oqVy8jrrLjlbDAMo6RmVFHzNhp9lpPmNDvDerNiiFGm83pWSykLM2U/4s3TsYT/Q18/c2ErcjGvCjIZCcywn6M8tOqmWIgxCyFUi495PFf1ECEG4yNVTHwouhktftpKTJFck9iKjE6Eb3S95gCvucN1E56ScqLRMOGq3d/5EDN37ativLFKNF2kf0XDuNPygBhYAADGGsZpxHij2Zj6IVq3TBGNsYwx0nVr2q5j9BPWWdIQNWpMituqC1i37lhvt5ydnvKjH/6QpF7baZSDd6O+Ypk0eN0Y3ZLXm9UXEqMEdhf1KFmnWazGMMXIdrPm7u07HPo9L7z4PFjDo0cXIqNRmVlWumAI+t64ISusaEB3nUeyWuhYJNT2KJ3khvfOa6ZhLpmo8BopNrIeRMwCiwreE7OEbVdnqIQb1Fij02s5VHul8RknU4amCSJDLxnvrE7b5f6YJrn2M/03xQRF/EQSH2QXWWfOlYASRWMiBE8xc5cQsq1C+ktyH84Zwv1uwAaBSDUHzzT1rNYdzbZhGkfiNGJvnYM1OOtYhZVKjSReKU0DHKJ0NNtAxTGNiajZwzenOjeLGqudwHEawcuzNl/zru1o246mjYucaRxHas5yn1FkGuvlcCP+O5GmzRAG1AMRQkvMSSetQo0W70vG6HS23lgXUL+J007yOMlzMG+cx8Gf1WfZc++Z5/lX/+oPiDHyb//tX/P44oIPfOCD3Ll9izffeI2fvPYaDx4+4Pnn7nH33obttuP89Jzn7j1LSYWc4PTkjG69IoRmkTX6WSlwQxR7LHJ5Og7IgHF2udyyppSlObNMKAHnAr/wC7/EZz//eXKFP/mjP+E73/mObDL/jkbj7Geaf/3Tncl5c5hzjRd/cJ0neseJ6FLAmaNHKefEH//hH0jwuxYjIfjj5BezrOlGpdalHNU5ooA4vg6ZWPBTxe+xK/43/KPzVO2GCpnFUynSyaCxKTMZuGlbTk62rFad5oKLjDDfuUN/2FNrZX84cLJ9RmXvRejpCAtAVDdIHEeK4CRCYxgHJQUrIR8Y+mHZN9abThqM8/WwlnGIvPnWO9w6v8Nms+LlD/4cr7zyI37h5z5CTpE7t89wzrLfX/Plv/jX/P1/+D/h+Zde4td+41N87atfWqayxRZlLGRpAh91tTfWSpH1MsuN54JOpEVPe1CPgULaYNA9YJpwwXLr1jnOGu6/955K3eaJj1u8uWjzknRsTMoB/Kaf9ki8nqepOG2GLM+PWSTC8+tacok5NknHoee73/kub7z+Jp/+1G/wKx//KC+88ALf/upX+cGPvq/ngCNBe9677fyub9xb9UZBfmwIydRWsqjn72EWzyK1cHZ6ytlHP8YwDnz3u3/NxeUT7t67ReMgxetFgoiVpvW872VleRz6gZQLre946f0v8v73vcT73v8BfNsxToWHDx/JVCR7NicbUi7kKVEw+NDKFCiJD9bYsNCHWaitEp03jiL5G/qB7XbLdrul6xpKjuwPe5pG1FX2RuMrxkiMlU3T6MFRq6xSxXfpLIdh5OLqwPXuCqNwn5girlbWXUfTBLquketgjnFMFiP2gLYhatzgNE1UJx7LrFPP4KUAsimSUqVt1qxXK0mASBEfHP3hQJoK3Wol7BHn2R9G+t0BG6RJf3l5IbFSNZOmkVXXMsWJVun8/TBQotBiSzGERuxn0zRRcqZtG4ITX/Bm1Ymv0RrNkJdz6WE4EFMiNIKenWKk61a0bauxddAP/SInLrkoOEmyX2ef95wAMD/rx2fiaBWRdd0uyiGDeBSPzcu6sGbMjVznm1TmefmcYUhzBquzcmYypi4U4ilGld7qNBq7gDgF9pQXxcw8JZUiUJtE2tTeIF7q/X7P1fUVcVJlG4Vp7LGmslp1klGvzQDfBLLmOA+95CaPU9Tc5k7PsFJMz7yVmBLWB2WtyECs6nWWIjbKpF8TWrAOM0SctaRyjJcUiXgmZQga61TKMQN4HEfapiWXwqHvxd+rTfWYEkYzVPeHvfAYilCBU0r0fS8qnCLrn/eeYRyxVhp4RRvlXinTdaZ3K8ByXkvjJJNlp40UbpwlUkyLCmzVSoN3iqNI64vl8vKacRhxzjFq9nPTtItidbNe44zEI+2HgZzR5BEpFPu+X/hIbdPOve2FYxHU41xyJji/2BZAGBdzqoW3XhuPoiyrMyNDVYYxH0G4MrEfl1pAVLvy98dxxHq30I+ds6SoKp4bioX5DPqzfP3Mha31ovdPiEHeE/SB8FQrJmyrwxtjCtJ7QuRIVU3fVaJgjEMPIYKBDl6KO6c6OuMcITjxPBaRMnojIJFqVCaURMJRixxUm6YltE4fdpErkwupgClCp5UQb839pOCd+tlIGMRTaZRFaZ3ImH21sgnp+LxmMZGXXBeITKmQjHQyi3osnPPaURP67aEXmU1YOULyAmbQgs57z2bdsd4IvfPR/QdQBBpx81CLQnqss2AtU4zYWnG5zHhUgRcskRsijygU0PxA68E4eO/BfaZp4rkXn5NFXQvDnIvIYlXCXI0h5oQ3/uiVU1iCUX13ymmZmjJHAhmBM0lG8HFKNoMlnDFKH0ZljkIPdr7inXTeK3IQ7HOkqS0Fo3IIkcoKkEWm8tZKtq610LSerKCVMnsiy7xsiLS6FJFX5yFhsxHcfEpwAw4knqOk8hj1O2omYCwZbytNsBoxkDHGY01QafLAlA7cft8LmHXHxZMnXAwiDwldYOgFtNE0Db4RSFMt4p2uOZP7iVMbiKnQx4mSvRabf/NrkSAum6jk0R36nvWqJejGKPK0IMVzingn6P2Uq2QDpigZkk2DaxrNfquLPGsGHjjnKVUk7DPuvzpZ0POYcNYrMEQlgUqGnF+9940s9m0g+CC5gViMDWxPzjFmw+3bz/DKT37CD3/wA063J3zsYx9j349856//mp+8+n2g8uEPv4/NuuG5Z+5wdnpG23QY44Vq7izdupOCiaM3ydqq6pGbcTjoJKjIxF7l8nO28HxdxVfC8TAwX33jePnnPsznf/cfErqOL/zpF/jGN78FVSbjc4yT+alD+bLI53yjuK5LUTF/zZPamS84H5qcNtDmQvFmYTnL4CiSNT3sDwsd1dulsmQ2dM6D9zk7dAZtLNRyLYCPU8a/vVr/6aIW9dqKxUBer9Xs6zmj1RlLsF6lp3pIVOiedzIZLhqbQYGUCmOMDGnCd0KypUhGo6GQ04SrlpPT2/z23/td/vRPfp97tzfUWrh4/FCBOHLgOQwSCj/zCJ559q4cQAs6BYWULe/dv+ClF3cYG7j3zHO8++47fPd73+djH/0o3TCyWbfYCu+98zbf/au/5Fc/+Rv88sc/wcXVE374/e/RNG6JWvDeQBJZlz5hWv7bowPZsGR5y1S7qALG3Dg4o809FPyiCog2yH0/SwsxywHBaQSZmLuzUpOLZGzq5/205Nwo3b6oQsAsE3uv3zfPtpEy08RV0q/XUaYpVunPiWIyF0/u80d//Af88Ec/4Dd+8zf5rX/wD/nFT3yCr/3FX/DWa6+BKWRTFxUKymgQb3leAFLzYXG5P602e5z4gY05NqZmEuz83G3XK37llz/Ko0ePePvtt9iNI6dnt4lpwthMNVGVWprZq1JaX4SKX4k8un5A16xpNmuMsdy5d49huObhowdMORIuG/H3UTGuktBrXqSgyaN48lLSZoqBlKP4PZPISW/duc1mvRLgipFzz2a1EghLyUxUShyx2iByzmFDEIlrrceYNmO57gfee/yI/W6Ps5az01OctTTesmmbReVT9Xxk9fBsdPoNMKZIrmUh7Rovv+9bT/Cyj9oKwXkab3QfjVxcXAiEynjWbUOy0pS+PvTsDz27XkjFpyeSK7vbXzGljjUrCpXDOLBtN1z1B/ZX0txan24IbcM4SE5mLNLYWYXAycmGzVroq0bPHN414A373YGJRMwyJc8pEXxLxcmUMcXlWcg5k7LQloNvlufp0A//f9r+rOmS6zrTBJ89ufs55xtjDswASXASyRRnURRFTZlSKiurq8rarK1/QF22Wf+Avui/0Hd9091XbWVtlVWZVdWqTKWSklIiJZEgAZIgSAwECEQAAcT0TWfwYQ99sZb7OQExu1AXdWSwoCK+0Y/73nut9b7PS103RDo2w5pga4ILrPtOlWNeAJlWCi6y5M3XQWP2in1kHU1JvJzGbv0hW3CayvEVwGiyweEwJk3nX2MKwXsq6yXjNUqcplFQWV0HTMwMaaCaVXRLmcSakSAdE2hxFGMhBIfzMkU8OT2h7VtyydS+IoSa3GeVixohMXvPcrNh00cWiznGSiPfGEfXDlgTJLXLCSEwZwEMtm0r4KtSqK0XtZyvyHHQzNki6gUr3B7JTHFT7JFz4tUtJZNKxNiKOMiQwCapjn1ViXc1RrkW1tJtWgYdWqC2qxH+5VYrjdrK5GKYKZBT+DISR1o7eValGWfVW1soOIZBwIEGscHESWG6HX4NQyKbRBUCGMvpcoULQZQ2sWiDPtO1K2ywhAzLpSQadN2aS8fHuGw4OjoiRYFuei/RkV3XkZRJum47nJNB1TBIMou3haFEob3rYMc7SymJNKCAxUy0mYIlKxxXzh3yTHe5E1lyjKruA1+sKNuMo+/XU8zUqHAIVZCzmBNP+dBGjMLxoBC8xZrAKq5xVjg9whcSDtFHff2vmthaa0lDnCrrlBI2uG1nVrHZ2uOdZHGY7cHSOw9joe+FMjwWUeOnmXEzIemNlckkkkEox0UgUqkkIW96mSoZr7TNZCdyl8HQtR1V8OD04FBUomBHKIVEGuQsHckxZsDmrfzEjNOMHfni6DcaJ5yyAEk3LQSvk2e0i7qk8Q04x3yxR64Tm6V0C13wVHVF225YrVZCQUsJV4ksoV7M5MAbRzlFZOhk060VkJDJFPUsGItGHsmDlXKiH6JgtYNnvV6zsVIgr7sW03dCNMuFtutJCXwl0/lB44fKzkI7vlFG74Hp2uQ0TfJHH6jJhaIegZKk+zsutp3Kx8fraHe7k0VkT6EKOJXyGCNdc+ucTldFsiBwDrmnvFLjvPGyUJUk9DbnKSVPgAznHN0QVf+fEAWLwAZGn59F5CjFW5FajBNIRsiXkkVVsifFrXSvFnsNrAcuLi6wpgjlsW5IKbK6WFNyZr6/NwWE90OL95bgA+tuDZpDnE1SD9Kuwe7//6uqKnLMrFcrvLN451ivJY8xlY6+75nN5WA0DD1VNWdYrnTRlsOxdIGl82Y8hKoiJumGFyx9LxC2gnZKnd1SEnV9yGPxNj3YTFNH53amtdYTfM1scZlLl64Qwowf/vCH3H9wynPPPkdd19y6dZv3PrjL3Q/epa4KH//40xwezmiqGVcvX8VZr973RKMyVomRMRMR8cOG0klSbEeZpizmY1TYmDlptZgc82Ktcwp1E1XEY09c5/f/8A9p5nN++IMX+NELP1SJPDpNe9Q+uVvElh2y5a5HdSslHuEjI1TKTtKrrUzQTJTv3VfOmfl8jveB87MLouZZG5W/jMXvh6yyj/xs47O+K0l81H87fcK0Fo5e4N2PsVOW4FZO3XXdJCmdz+ecPNiRdenP3zQS0dPFos+8rLFn5+fs7S/o+4HZbMa9909JQxTfX5FrcXax5r//V/8tmMzF8kxiszSrkAk8mCdp2Njt3r5R20llHCJvv/MO88WczcbzzDPP8tJLP+bZZ58FIsFfkQxPa/jZyz/m0pWrPPn0M3z5a9/g3gd3OTs7oQqala70zjjmLhYmSZuaZ9VDun1brE7gi+6r0/2xM2UVcr+ZppW/7pVS4smnnuI3vvAFvv8Pf8/7778n+5TbTkB337dSdrQNU8zUeNgWCFvRiezu3oDRifP4C0yQMv0IKzLEX/3qLd67c4fnP/kpvv71r/JHf/ov+OXPf8H3v/8PXJyfQuwVNmdV6jbCEEdbwHT76U1vlLIszV5rt/5kRhPH2NfJslZeu3aNy5cvc3pywp1332O1XHFw6UBiPJKRc4jRyJYc9XvrNLgkluulxNukRKgC129e5/jKEQ8fnHJ2dqKqKcPh4b4qQEbvsBQcuUgDhZLIJbFer1gs9lgs9iZlheRjZvpuoA4Vs0b2kr7rMAV8ETXNOInpOok7CVVFqALtINOmhyenxJiYzRvmsxnzWpp/tXeqZpH13DkpamIcSLngvdHCIBEN6qmWpkFO0jS1xtB3/bRXBmVllBzxznHt6mV8cOQodGdMYrlacbpcCbm+qsBazbvtmc3n02QxVBXGWs7PL8hFYnaMEZI/esaJvUzvZvM5R3ui9rDekoZB/cOF1Wot160fwFj6pCmyehYU/kpWz216ZE0ez0JDijpUkevsRsCnhttLoxucZhU7a7e9wLH5PDYQR5WD3hJmZ+2x1k5guVIyxeTtGqpckzEpYt7MMLaINDknEiNRXAchBsmQz2Vac5zzUy7uoDan6ZwfpRBuqoqzs7NJ6dY0Dd5Ipn0ckgDpvDz7m03Let2SMKzXrdQIMVFXDXXTUCIKXyx03UDXDjrtLpqXHKlDlpg7baLFoRCqgDHK1MllWm/KxMRgssaMpOysPJfxnNb3wgRJOU3nVoxMC0fi8qjKKFnUQJXmzuZc2GzWVF7O6baURyTKo5LL7HAzRoXqdq/M07pXVFaeS8EHOe+2nZxFHzw4JSlkbaT49yrPXVUtwzDQNDVxEFWsNGHyxPqxxnHRXbDebOiHqKrHyGbTTWv3WGSO03uxXSUZ/vW9SONV1ShxSfNRdzOt+3K/b/2zfeqpQlAvcqRuahnIqGrQ6nNNKZrg4ghVoFNIlNQOBRsse3t7lDw2TaUR3zQzmmb2n9jV/vHrf5XH1jpLKGGniBEyo3cBi9WJrB54jZrU9cCTNaexlIxJRieI4guMKk31DpFTFAEo5aJdmjhoNzpgvCeNQehIZmqojWTiWUMkY7y6j4qj30TyIBPLbvJ6WhwihRzSQDGFhEx/oxESb6ZgK4+3QBJiYtGFaUiQjfgNcxI/oduRRO0fNBiQTmdxlAhEAzGxWW9wGFmIgsc5y9XHFNWPZ3G4x/1791it12QrXe/gZUqW+qwAiI1sJN6z6btJKiV0P+kwivleuqxTNI9hKlKzSggenpxRSma1bOmjTGpRauygC+EkddWp9RgZNB6CnLMTgASUFm1ko7bOTXTWcS7hVBYYsORs2fQbqqqRyWlOhEY6PN1aFRmpTA/MZrOhns01S1ipz97g5WQmC3gcFPm/kemEMQIo0AXQey+EUnqRPcRCHEQeKNPdMk1ATNQDUAhTwT1NpzVvr5RE0GlUjAMmG6p6xmIxZxg6Llan5Gy4du2mAtE8dz94n7v3H3L9+jX29heSyxYkCL2ZLehqWVRsBVVt6T8UrTISZR/dDbeHU2sde/MFWRenEMLkO+/bbvq8MdB71giRriR55vqdPOUUk/prRzmp/M7OebpBst6aMGM2X1CS+Cq7YZgQ+NJJDFjd6LK2MaQhZDg4vkwV9rh67Sneu3OHV1/9IXuLPT776c9w//59bt2+xeuvv05KketXj7l6ZY+D/QXHhwfszw7wJlA0KqmqapGajUWYZqUyxeVsAVGlFCEe9tJYCz4oUEbyNZ3fAf8oUGbcAAXKAddv3OSP//Q/Y//gkJ/97Bf8x7/8G/qu1aI2T35Zw+6bt32Nz9PuOruVro2FYpkIuruS4d1Cdlt0br+Pc44//tM/pe97/of/4d8Qi0zYFec4aUULWa6R3lOl8GsKo9HmkafYmG2fQFUTODmgm21htCvXLtNUUHJ/00QINlS1fyQCSg5esvYF72njwHK14uT0hMVizv3797l85TJd13NwcMS9999XwrnSfmMEE8EywWJIiaqpVD1g5WOAvhepm7XaRNBmzO7PA3D33j2Ojo8I4XGOjw84vnSZH/7oJX7nt7/GZtNSVUEzVnteeuH7XL5ylfliwTd/9/f5i3/3P5H6Du8sWCfTaxMlrzWPxaQ2HnZgHphtsV9UITPJf8drjEhNR38tWadQRYGH2kQamzXvvP0OewdH/P4f/BF/+zd/ze1bt3QNN9PU9pE4t+nAplt+Ge+7uH0edKKc8xjvJp65UZ483VE7BGP58pmub3nllZd5++1f8YUvfIEvfek3efzZZ/nJj17kFz/7Kf1mQwnSIDVsQTFiyxmvwPbnRVUPVjN4pTEdJqL71Ii1WagZeqC/cvUqly9d5mK55N333uXunbscXjrAB8OQWlLpVCY5rr1a0DmDreSAumnX9Bq3cfn6ZRYHCy5OzxTcZTg83JO5vDEUJzLLth+kQHIWYxLz2Yzj4yP6vmcYem1aaOPWSFb2ycW53BNDYlHXLOazKapj0LXXBeFSbPqe04sLVus1bd8xnzU0VUVTC3m88R5nEKl1Ud+5tSzXrUbxOfohC/jF2Mmz6LwjRZlqpVh0quJw6hcdJ4yWotPlTBwyfUpECu0wkCjafPPEnBliJJdxChkmr6Kxou6zFuoQsC6wWq1ZXpwRgqfPhtoFDvdmHB4eyO+TIuvzXn4WDM4FztcrLWaiqAG06SiWryVxGOi6BlMMfScFbFWPcXFSyFrnhFgbvBS/YzGYkwDWKKQik21rhMUyKiBGuCXaFBnXYHlWpRE79rcsj66v6FnLOyMpH4j02utztre3IMYe6wPrfkNV14Ra4TsmqdQ4SK5tHyfpOkYSJoIWIEb3gVldk2OijT2r9ZrQBGazhcCSi2FWzyAb2r6jH3Nhi6UoKG0YhEViifhQsYkbyLBatTgXJltSM5uJ8lM9lUGjoERWHIhxW4gLNTgzdJ1QqhMMfZzOoaVINKLXyXqKWaCkpgiFWveg1WrFoHGAvVq8ZnsLKSZXLVCoK81hruqJylx6eV9SyWxUqj4MkWIMvrKaQKDrS0KjD8f8YjepKVPJogbTtdw7L2f7vlUljxEvc9dpvJEhDsqyyUWgUnhmM5Hnl6S+5GGQoVsSWn0eBtKQ6NqeruuYzWZqiRu0kdNTVwIKHeXYTJYoq4kSshfVdcXpyblI/GtRgYyRcdLQEY8xqVBSoVarhAw/Esbo3hsT7bpltj+TwV0dcN6qSmKrbBqGhAsywZeuSPdrz1C/7vWRC1vvxo2hTFmg1jrRsFmogsgLjQFnPNnoxFQ17s5J5M4w9OJb1bBp6wrBGYZeAszxIrkcH2goOAzWuCnwdzstzVOnxijAQryxRvPDoshQNLNPUO4CURpjD8bN2hojxV4R2YNoo8Ebr37VqIceS9FuzzgZtW4bHzICQEbpItHSrjts9thGNr/lxRJKwVeexWyGrQK3b99i/+CAveA5unaFcnLCZt3i3QgegGxF+jCa6kcoj/eSH5pVyho1M1EmOfLwSDHpFCxgNZw6c3G+kelJL53jEARGMWZnjTFNu9Ol6bXj9ys7uVVe6c1m8gqaqfiWvE8vcnYlKHbRSLZekKmDTEbF3zhmGcoDwpTdlkrGmdErnSaJQyoZoxL2oid0gyH2I/DG61RRTO/S3rcyBY89Bi9dS+O3xMEyBlfJb+q8wxe/JeuqbNxYJU+7QM4DdVMRKgsu8u677/Pw1QtCPePKpWMWh8c0eZ+2T+TzlXiSXIEhy0Jk4FJdM+SWnCQ6gZE+rYeqlNc420Dx+pMZjPVcPr7G6YMPhIxtpdAkS0yX9569vT36GOVeT0l972N3tVI/jtFFTZpN0jUXz/ymbSXPzWsRkKV4RT3vdSN+XlmgRjWGBIZLo0EOpZcuXaUUzxNPfpz798740Y9+zIMHD7hx8xqXLl/i3t27/PgnPyHGSBXg6uOXuXR0xPHRPt565vU+s2YuHjznaOoRErUt8sapgsUQc5yUI5PUNoqPfbwOwYdJMrSdaIrHxprx8C9r4NWr1/njP/2XHF+6wltv/oq//Ivv0HXt2JjX7NA8NXQ+/JqkZ+M0abddLyLmaZ3a9RKO06JREvphP9c48Z3N5lR1w89+9or64eVQ+qgvcZS2/nov8K6nd/r5Rpns9HQz+VHNOHnemerufp51AiEqxT0ywRsZBbtAoKquFf7hKKUXmqrm1J6fnxNCxcVyxdXjA5qmIQ79NBkumhlZe0/XtljvMAGuXrrCw5OHXKzXE43fGoP1svY09UInniMvQn/vLI3Pd9+9w7VrV9hsNnz8uef4yY9/zDvv3Obpp59gb7GQtQtYnp3ykxe+z1d++5tcvXGDL37la/zge/9RvOVFvcnBMJiEDHDLJMczGpExFo2jEqIohWyMvtmdqu6+X/JnmXIzd9/HsVv/2s9/zt07dzBeppajYDelpPmraerm63cex0s795tVH6Y2qsYc+3FvmJonu5P9XW+w3sNZKODLszP+7m+/xxtvvMUXf/MLfPUbv8WnP/tpvv/d7/HWm2/I++X0ADs9J+YRP+L4840cjfHGK4yTHSYVllV/5CjRdtaBh0tVxeHRIU+tn+KdW29z9+5d9g8WNNUeMQ8TCwFTsFYAMDKByaqO6umToLZs5Xjsice5fvMG5+dnnJ2dkKMAKY3T5vK9E+qmYu9oD+8llmyttOBhGERKrGcvjBOKcdvJehcCs2Y2+W0pkgGLNoe6fhAVWJQorf3FnMP9A4KqWMZkAdmvpdmfdC0o1gg1thg267XEedQ1sI05TFkaocE5vLI4SIkYh0cUImNrY+gT67al12J+bJjlIpOd2WJG23WkLFCfZtbI+cbKdclJfL3r5QXr9RprBVjlhkJT1VQuULsARVgTm82GppqRB/Eri6TSkXI/5WY75VD0sZ8a/+PzNX7v3Xs/JdlHvPPiz1e5d7vqpQibzEHyiilOgMXxPrXWTNNT68Z1GfHExjydtccz1KTaQQZHWVUfIQgcsKo8cZDoxoPDfZo4o48yfTaqMhJVIVOD32DJKYo6S0bvlGyxLuCsp2kaColgKg4OAxlJM5nVC9pNy6aVaWckaizUqOSUjHCKpaoCPZoLnLJKhCEY8cEOQ6SuZWiWk0j163ktBTcij/Z+u3uacZLbR4nEylF84G5sXshAQmjHcs8JTXiu3k45q5TMGP4tilBVYaYsyruikMisk1iJJrNyhmGbpJByYog9YElFIaXFiad2iLjsxE1tt2yKUeEAMgCoQ6XgSLGGhVommX3XT0MLkUEXqspP5yprDJvNRs7So2KNQt3MGOKKtBO1l4sqHXNhs+lV/SSk5erSTP3n0kk31pLVky0qw0GaapUML30IU0N+03aTwjXlRO0qSapJCeOsUKyNJcdMV0RF4rwMDkMdqIaK4Cv6oSdlkV5TLDFK7JYxliEO9EOSovkjvj5yYRuj0BlFBVSEaqzdPXCkbLCuUuiKRkkgma9DL56MWosmkJicor4/m0XuZKzT6YqVzSNKVyOpT9eiE6QR4bkTf2GVVDbKOlJMbFY9JctmHrNcqJylM+WsmYqfrITMUjxJvRimWMnL9QHjBBKUYqIkkYhJh21c+Mw0pUgF+r4VyZE1WAO1C6rLz5N821aO4yuX6LqWPkZuPv4kLnhm8xnnF2eC7naW2bwWEEDfs9HYmqYRUlpWmqvRh3kMFi/TIdcKudVaggsEJ12eXNLUgVwPa62B3ZSfmXQB2lI0t4ceM9L9KBiVJ0rcQyHmuIVtjbMyqzl3Oqn1LihR24C1+OCZm4ZQe4wGiltjaNsNoanp+l7Amuq3ct5ph7JgvUjbQ11NgKPRk9fHQRY7hZe1G5E/WC+etSEP4GTRwSeG0opsOUtR490IIZACRbpuowxNNvLRk+GM0Zy3iKs93hRK7uT7GZjPK46P93n7nQ9YrjrOz1dcuXKFw6N9jo6OeXDvLufLNfP5nMPDIw4vXeMzn/8ib731CxxCSe76QSAj0xmxx5p7wCFwLM0cA5th4GKVaVPiot0w35sJjbXItH/X7yDPtYbKuyBZhH3c6dpK1zClqJm1WiwGz6KqlXTYabGqcK6hFzKfQrfG2qkY8Vh2XY+v5syafZ5++jM8fLjkg/dPeeXnvyDFwmc+81lw8Iuf/5z379ymH1oOD/bY3/cc7DfsLSquX73GrJkxdIMcap2hrivxLspxcrpPKSoZLkXJrgqBySKBMllotVnXDDMVmFb9nnowKHbbTc+Go8NL/LN/9qdcvXaNW7dv82//3b/l7OzhNDXZFtePZoKOr1LKJBdjmsoWjdFAQUF+kl2OBagULPlD8uS8I+3eFjubdsO/+e//OzZtrxLeceIsfsi8U3Q+IiOdjqG/fhK8lVTrn4wNHmn45bxbcO98DSv3QSpKtffb7eeRotpIznEzaya41HgVQlXRzDynZ6ekUli3LaG+Ij67fkNApHi20iloHLBZfGElZS5OL9hfHLDZbAhNg/fiR8pauHabblIDjxabnJIoFazlYrXhg3sPmNWO4/19bt64xhtvvMGTTz7J6mJFcAfSjCTx9puvc+X6dT7+qc/w8U9+mjvvvsPbb72JM2rTQALqi5XD8i5dfprMZibq1jjhHDXBY3TSCHl61N9sKWUs3CQPcbdJQR54cP8DTFBQiH6+THUtzo0APaGnjkX+2LDYFrhsJfeT4t/uTJS16J3ewe09M/6tIcseoTnQd967xZ9/cIfbv/oVX/n6V/mDf/4nvPnGG/zkxRe5e/c9TBoEhITkvRuze5/qV5yis5Cc6lExpJLGpLaC3WuSleJNkX3lYH+PT3/ykzzz1NO89+4dbt95l3resFgckVJHlzbyTOlkI6VElyJDiVilSQ+p52TdYYBqXnGpukKJhYuLJavVBavVmr7tuHn9moChisSAxBQpRmWYXiOOMnRJJry+qsRnaxQgaYzkROY0QdiGOEyxLLNanqXKOyrvQdVJY2GVNf5umsonsfmIBFoopiJ5LDqJEz++Dw7vgk5FlTheRhm9nYA+Q5Km+3rT0w9Rc6VF8WStZTZvVCFjiEka9ZWvMMGSbcE4iERWqyXr1RrvHc2sYl7VHB0ecnp6IR7kQaA2XS+skXbTk5M0HoZUWK1bAcelsekj06UYJbfchYAxln7ogIL3lq4fJIalyL4QozQkHYW+G7RATfQx0XU9Q5RJrCnS7JaJqZ8sbUV5AWPUZSniSTTF7ih1Cok0cVaCk8ZRdpmYO7HjlUIT9nAOYkkMm5arB1dwVcBT6OIgvWZVLFnnGLqsEYJi3xuinOmDN8ybRmTeQZrTqYiCb7XZSMKEg6Hrca7GeM+6O5f9f+K3iKWkzpngLXEodH3kYr3RpBP5O4O8P3INvOQEa0GPkaFFscJyQQcZTsfXlatohw2zqsbkQl15tTvpvaoU7mTz9PeolD8XSzaiT8IKe6aLPdkpQ88JXVwaaH6bWJAyxERECvBRAp5ylkip2BOHRF03an0oJIVHqZVe7HRDmoBfRrtspkA7xkcWqReMlwFFTN1k3Qquou3lWs9CAyXK2awIo2h1IQXu4mBfonh0ALNXH5CN4e7DB1ShYUjCD8pFJqzZOLBWYrJSJijLxziHN8JKcV4Uuv0gtsnRTpGznPlRdZgxhmLBhYqoCkuLpfa1TMc3kVJDO3TU88CmW9H2nfBtCsRUSL2cDc4vVly+coWu7xiiyp5H3PhHeH3kwla8No+OqlNK1Eo4y5NETqJSRJ8tm94wDIRaJiGjtEW8JVlx1LKxOPW6WSuTRhRWYI0seJIptf0+jLEJO13plLbFmRlBR2rCTFlQ51KEab5rBkOSTl7WA4F2cskJn8Vrmg3gHWZIOzMKq3AYo3hrQ9PUFCLGgW0MrrKctx0Fi68CXvM/Z/M5uRRWmzVDKhwcHNB2Hc4H5vMF6/WGpm6IqZevrZm6zkm+Y9u2pEGx2DESh0EJtg6sAJKskY6JU2lqSpku98RhYKlFaUpRsqKyZJAVjEYVZIJCgKxS4MYzkUS4JPBeCtid2A8A52WyYL1Tz6wgyqUbOnpakJBzY9mbz3QqJV234Bz9IJRqFxzGe9VHytermhrvDdYWquCYaVd3vV7rAwbd0AtROZvR+SndWY2VMYhkwhpL8H4K+B4ncrlkTAITwnQgE2+ufD3nLEMSMqSrKj2qMdFZk4JZQlVTzRbMF3u8f+ce3lgulive6yJnZxf0faSpG5q64eTklLZ/yPG1x/jyb3+b1179KdW8wnpLXSROaugHbGPBVBiui6xgBEsUODw84tLRjP72kpSEpFysISjBbohR5NdKjSxIod8nadIY7cSPxVKO6v/0mr2W1cdtJN8vJ92IdPoLaCfdTXLGsZMrPinPk09+kr4vtJ3hrV+9x507d3jyySe4cuUaJyenvPKLVzg9eUhdw/Xrxxzs14Rg2N/b5+aNm8yamciGi1Aex9w/XQUemXCmMbdPJza5sJ3QKqWd6d1Tf7hODcXL5MbLK4LHnDk4POaP/tk/4/pjN7h37wF/8e//gocP7o0N4A/5T8sjRVvZhfSwLQxkExYCqDF2atg96ltUv/BO0bjrrR2LyfF7mFxY9hd6kNrJoi7bSZUoUcx2uvzr/LOPvMzOf1uP0wSsY7cIY/pdJAPYUJI0OEyB4IPuB1b3EPEelSQS0r39fUopLBYLHlys1csUKUWmY+v1Wv1BEuWyWS+p1d4R6kCoAn5IrPKKoe+pZzOGOHBx70KzXgux9OPMehxFT0A02KpwAJ0WJ95+522uHO8TrOPmY49x5/33+fkvfsEXv/B51m0nBFYLKUd+8tKLXH/scfYPDvnS136b9++8z9B22ow1UtwaEY5s75E8TcV297epoJwKQrPz99v3YCp0KWSrEweNe5tI5pp7G/tB7CHqzxWFgUrnjZX9suy+p9qo3PX5sp1GMErapjVJ7EqTz7WM99Buzvnu/SU0xiEnfv7KK9y6dZvPfvZzfOmr/4RnnnuOV3/2Mi++8A+Sw64QRePdju94tDJ+qBGz4/G1U9b9WOwqjd1oAanX2Tmv/jDP008/y7Ub13n3zns8uH9KVXuOjy7z8PQBmcTy4pyLixOGQZrPKUWB3iTZB7wLRPVzzxZz9g72eHC/YoiJup6xXncKzZG9MZVMM6umiJcUZbplkGdk1jTSoE2F2PeUfiedgkJGYEolZ+qmYVY3xEFiUFJKxC5O6qmxuZ+UHJtLoev7LYyuyH3TbjpmswY3UteLowpBi69tBrYdD+Mq/WyHSNcNLFdrVqs1xhjm8xlVHXRaK1AZ41Q5ljOhClR1DWT6oSduomSQFjg4OJD7N2f29/ckYqhqSUkKxy4OXKzXnJ2ds9xsOKpqkQXnwqptNedVJk8xDqShnQA6fRdxOHKUnM1SRO3TrttpgJJ1H9m0a/p+mBrgfd8p9EugSsYlOfOqzBtjKLq3GuSZN7pHZXWIWDdmwY+NmTw9a1hp8hltHrJzHht03xqGgU27EXnwMJCxdF1HHxPOOFIemM3mdJ0U49aiecOVeDfTwHwuNqpN37Jcin881JVCUS1938l0LalFMBbq4EhDom/7qVkRY8dmvcaoAir2270qxSRyYytgynGCmPue1slaFFMU8KwVdeOU9V62rI4w3ru6DjlrSSrFFCCbxtJR6PqWUAdSkgGFEJnFnxrqarruY3N6PO+0fU+lftASC1UQ73ifxwlvnuSzTSOROn3fCwRXFW3JyPdy2W7tgFmI1sJ9GWMrDbEkrHHSAB5TKfRslWIizDxNvVD1osC/6qombaSxYlSuLJGAonSczee0646m8RJL6sQC2rYtm01L7HtMyfjFgmIkq7YOlapZ9Nwynn/HxJdurevmlrYtk2EZ6jkj2cn9MFCMoWoqVusl9UyazHEQX3xvRCkxDAPeVlPucbtpiSXjfSDmxGq9+U+cSf7x66MXtkjerBij7eTXEeO1yrn0QJA0B3bcWkaIkpjqNQfNOJUAy5uZR5rfJJNjOm5gjeZgjt0tsxNYvd3cd2Wy1lqqYElZJHJC2ZWJ7lAMaSiEEqTDUyzeBqlrR88D4p1NJU4ByBIFJJ17b+WQaHWKMwwCuBpMTy4JFyQgfYgqgbaBppmRUmYYejZdS7WoqWYzUp+4f/8+m7bHh8BsVnN4eEguidUq0a03U4GwmM0pObNZr4SI7GQRHuUwVjtJdozdMYUhRckIjkI+k5gLidQYc6IK40YcNWRaABEYq2CL7QG0H3pZeHegQd45+l6KI+cEKmS900Ut4bzH68FQMPOFWTOTBdIMkmihMkkBElhCMxPZuTOyKdtATDWpZIINhMYya2rxgKlsaJw2lZLp+1bzlJ16LqRTmlLGYYh9wjl5MGd1RRr6rdFf778Yk0JhRp/5NgrG6UHQB4GvBO9wtWfRNGzWK5yFKjiauqapGz796U/QbiJvvXmL5Xrg4cOHrDZrrl65ypXLnr2DIx48fMiD0zP6IbFZt8xnQih2gxySXnjhJb729S8raXM+HcANcLG8IGYhCjazmZr+ZQMZTFQpl8hFsIZe/bfo5lo0OsBrhJS1lqpqpLtpxsK1CA3TW0KoqeqKqJOW8TX6tJPeM94J0OHppz/Oyema69ef4/bt9/je9/4BgN/4jU9jjOGln/yYs/MzTh5+wGLRcOPmMcE5qmC5dvUqB/uHzGcLLJKDHXw1FbW7vu9dhQFs475ylinpEEdf627RWXQaJVmWgEi8QkVU6VnGsNjf4/f/6A958pmnOTk55c/+7N/y3rvvTofhRw/8/5iEvOvzHb/nKOk3bKeu26LW6MRLfz7xP0w4/kc/dvt9JsmbRuU4wzRFkjVvW3jLz2OmInX3Z939HaYD1lYY9uge8SEIyjgBNMapxFhUNw6HLZY4DNN0MoRq8vgaff5CXWGcZT6f6wEwqYVhwaxpuHfvHlcuX6XrBg4Pj2g3S4IzxDQwm8+Yz2aUFKESwEqKifVmJZEReKFKa45rcA68YyjbaLjR+oAzpCFJ7mIprNYbbr/7HvOPPUc9Kzz1zFO8+uob3LzxGH0cCNevEpzFOMN6veRHL/wD3/zW77N/cMBXf+ub/M13/gJrjOwhVvYX64SqSdoBaI3XPZeda/zh+7VMa9ZY2IkHWqNIsrIh0IiKkvWwrQWugtGkKVrzyU9/lpN793nvndtYL9JSyVvfRlJZO3rHzSMNjfFnNtaS1a4jtXCeGki797kmHD/yvDCqwowlpoHz0xP+/nvf5a233uBbv/e7fOYLv8nTzz3HP3zvb3nrtdcwJFLJeCWZWy1S2blNi8q8Yet1ZCT1689tdYpus07rR0lzERtUCAI/WTy3oH284969e7z5yzew3nN8+Yi33niT/9f/4/+u4DL0mY1TBJ3V653IrLsLrHU0ezX/5MnfZGgTpycnnDw84eJihXGwWMzxpsIpu2R5cU4IXiSfKnePWRRkOWkTMm+bb8nK1GnezEWBZpimjoPGj2CYAEmjLFH2bgFzTmexpBJBVd14Z3XtkXNcKUxNzZwzXd9T1RXeie90uV6xvBBw1XzWcPnyJWkYuDEGMOCCY9N1bNqWpBnJXd/pG6WqupTVcxm5enwkuZ2ahXp4sA/Aar3hdHnGkApnmzU+OJatyKitFR+vLQXjhCNRSqFtZYpsEA+zyFz9lIwg0yopUiGRQeSRfWTT9jLF0qZxTJKaIDdbp9FTkvoR9fy8u2aPpPNSCrnIhGuaNCpULOdM8js2GB2rj5YuMODlPVm3a3zjGVIScnw3SLyeqmB85WTKV3uRgpusmeZWkgRCTRU8+3tzzu6cTVL4kotMzsxAVKhfVTtS1HFnQmCrQ6Z4GaysVityTiwWB3RdlAz1AjEP4ovN28FXJJKT7E/rnDk4PNw2AJL4MwuJXqFoY7aw06m3UPQdpExwHhsqhm4pUZBljHbLut+lqYg1o82tl2igUhIYS9dt6FVpalIh2FrqEFVwrTetwmsF6pWTJMZs2kydK7ohUjUCZM0aE5ZzZj6bTc+VkLGLUP67ThIyJGidrNGKY8E/FGkCOC9y4tV6w9HREX0faZOkANSh0YxzQxc7CpIl3W46VdhKfNeQBuLQM8RB1AEp4Ud6fMr0sSOEQJqGjEnrJ4GzSkPETe+DRECG6RlYb4TcbAUjT59FPTGrgqq1pKkc9GzY973WhHY6H4UQWC6XzPYPpBGe0EbXR3t95MJWdORlOvxWVqijSeVSQ05YKz6J8YYRL0zGj5uqelK23iuJmBHoh0yOxi7E2J0xxm7lybGfJLYTtTRl9cSO0mQ3/VtRudbQ92AyVe2pKgk7lg7ogDWenOzkSWH8vlY9ntNBTwrzNMgbaYxEDxQdlTlr8GqIl7w7CzHRt5GCJ/hAytIlNFakEScPT8RzPCTmi4XCFXpWOeK8pW3X7O3vsdjbo+876XouV6Qh0veR4LySXwu5ky7/MEQNWW/k4JjL5Bnr+w6qoNCDqAdgR68UZoxIWqJOjcYNzmCoKq+AhMh8T/xsAFXllTQnclDxOXhSGsSj6x1V7fAVGCsyFyEiSjGYtSiyVrqN85kQoOfzOX3KW++BczgXaGawXK7IRReNsdHhBCAlkj6FG1lDjnIPDX1HNJambqYu4RCj7Ak+yMOj95+1bucwn9XrlJU46iasvg8VmUgz81SNpa4szbzSUPWZAMlMmfwiTz5xk/PzJW274p3bH7BuxUR/+9Yd7t8/5dLxMZeuXMa5hraNLDcti35BYz3ezzRiYKnPoXkkGDSlyEsv/UQis0dv3khsztIUkRBtp4XrSOKVhSprgHguFpwQxGMWBYCxlrbdTM9eTlF8VEk2F9IW2iMeZOlCjj6epjkg+IarV55lGO7zkx//jFu3b3PlyiVuPnaTu3fvcffeXX755hs0TcVTT11j3jQ0Tc3x4RFHh4fMmoamqqdDcagqnPVaEMj94b1TmVUWv6JOhvLouROazI633nyI8mqmItmMkDELtlhSjOwtFvz+H/5Tnnn2Y1xcrPjzf/fvefvtt7EmT57TX1fU7k4/f13BiMrFxmnpCGXbRq7Iy45SSrba3W0hPxYZlsPDI778ta/y8k9/yru33tGPMzvANyYA1DRhHYuQMe+bnev0Ic/YhyeH22bSWNXabUzKjrR5hPaMRUfbtoBwAxaLPfkdRsg4ss80dSNRFkV+v7sf3OXy8SHBBVbnFzx24zH6fmBeBzZtS6eTjq4bOLFnOMPUkPWa0bxYzDDOKbRGNuUhDpyeXjCzbkdrLXChYA1t7ki9wFdSzNy5c5cnbj6GtfDE449z7+59fvCDH/Dtb3+Lk9NzLh0d4q0leMedW+/w9i/f4Lnnn+fZj32CD957l9defUV8ncUxpDRJ/+UmGKfhefv+POKn/cfe2m3DZLchksgma2GFAgOLgvdGD7rKcHOmbXtycvzBH/8p3//ud/n5L35BMZIXPka97N7D27dbmswlb/2F43OUc4IdWfB0Lxjzoftr+zIqQRw1YqYU3rvzHv/6v//XfOzjn+Cbv/Pb/ME/++e8/vRz/OgH/8DZ+amof6yRynS8BXdAPGO9m3eaBJO3HWncmUd+kjHvejxXGI28sYRQMWtmHB8f8+DhQ+4/uM/p6QXXbzj25/us2zNViTm933Xqpnl0OUaMLUDPydkHzJt9rlw/5sqVI+7ev8c777xD5T3nJ2dUdS2NY19R+4rKWZzfghuTyv9TEZLqoE2SynhVZCWsC3QpQUkiyddGWdY8dusc/RDVruUmmfswnh+M00K1VrK4wCe3gwS530ZuxqxpRKqZEhcXS85Ozuj7yNVLR1y/fl3X5Dz5hnPKrNuW04sluYz0bwFZUaQpV2lqQ1NXHB8ds6grUU3FHkqhU9DTZujYtB25wJVrl6URnaDvIqvVZlq3xFMpOa5djJycn2OLKJua+T5DkqzTjDT4u74X4q6ztF1LKRCFOEc/JL2HLIOS9EsWP6+1XmKT7Na765x66BW6OZ5dtccpz0zZrssZAWKGEDBawKYUJTN29ITmQq2NwFF10g8D6/Va1BTW0KXI/mJBpzFF0z5kRUKadFIY40DbdTSzRiStYVR79eqp9gpNs5JprI2B+b5EL8UkyoLZfE7bduRi6HoBIznrRCqctJmay05DppBLom07FnsL+q6b9ngByUqmrFcQ0zBEUh4b6aNFzkjyijEE76nrmlI6KcBUchuHAee9+OOdwxlDt2kFlpULxsoe3LYSZ2OsmQCYI3WZOFBVgVIk/sf5MVUh0RMnO6SdaMuJlGWy6awlqtpPfOpRJsw5qdxdrpH3AevkOXQicZTmgI1UtUyNrea7xqQNOj2vlVy0UbRBsI6G2nu8MRgtjkuU6XztxNfrvazZfddPjYO6rkk5MkQttp0UtH0/KOzOU1dy5pXfBfpe9jMfJEu5VhsECjM0xlKSxPZpt544JIYYqYOTWDWH5mJ3JN37/zfJsU1ZD7FGIBtRaXg5S5cj56TkOykGRpiOHGZkTD1lJurkx6o2PxW50cfEupgTdsxx1VxDikzERsryuM2O3paRTjiSOmOKkBwpiVnbaRTQSGq1en6wzmp48dYnNk1+igS0O+8nuWVVVUqBVBCNLkh1XeG8myJRhj7Sx0I/GBbzA0osnJ2fM5vNqJsZ3fk5Q7ueMpq6rpXOvHVC/qsrrlw7JsaB9957X4BT2WEKuGyoQ4NXyW9WuWXRTLaSoa48JY0ddksqkUQkZiO+Qu9o2xaDLLixSJGXyGRT8E5y94wrYBPFSUxP7JNkgqnso6rdFADtvNMAbYs4UDQPzxuc/medhUEjlGxWOqrVA4fo8rMPIpn1Qj402sUUOc9YqMsBqO075vMZNmh+YjJa1EQq76aMWfm7REyOqqrp1mslxFpiSeoRCdMBejudgJIjWKfyNENVOeo6UEAm7mSKi8z295jNKtbrNX7uccXjVDYuXkFoas+TT1+nG1pSWtI0hzw4OWO12rDuIqsucu2xp3E+cLHq8CcrnF2zf3BELvC5z316K7stW0jP7dvvcXR4xMH+4RRhlFLCK8zD+m1OaLdpsS4wKNRCCNt5yqsdu/XBB+lP56JE5ELlA5uhI9gxR06m9rnv9X3JGBzOWZwLXL50leef/03effcu9x+c8fobb/Dw4UOe+9jHmC8WvP/BB/z4pz/j9OyExV7FjeuXOT6YUVnH8aXLXLt2jVk1J8Uo0nHvJANbD2BJp3zeO806HaehZiJUZiNQF5HQ50cPDiNIY8dLOlJS5ZAhOPp5M+N3v/17fPz5T7Jer/kP3/lL3njzTS3YsvoFt0XC+DW3Tbyx85m3ftmpMBmLzaRQKKYmAdrNd0q+NEpiHeWWj3pjpYb4jc9/gU988lP8/fd/MOV97n7sKHUdrxNaPIxgol2q3nj430pcd4vZ8XfZFivoQbCYgupbJnWNKUK2Lfr3Y3RKoQiZUfPOZUgjElqL5NnaYogau0PONFXFxdkZVfAs1yuODq5IlNnFUoAV3tK3HSFYgTpVElHhDFy9ckUmKymy7jrWpycCwlh39L2dmn4AdXBcOt7j/c1D8WQj3IKu7bl16zYf+9gzLC9WfPITH+P733+Bn/70p3z1q1+l7RMLa8lGmlqv/OQnXLl+g4OjI/7JV77K3ft3OH34QOSF3pAHfSesmdagUeo93gvb90DfgQ9Jxsfp6fZzjF5rkTyDIauEc7wf3LSTZlIqvPTii6w3LZ//zc/xcHnBu7du6Rfexj2Nb/n4XuWiHigzndGnxozImxUsNU2YHy3KhUZttJFj9J5leg5GafVqPfDTn/yE27fe5ctf+TKf+8JnefKZZ/jpT37Mz3/yE/rNhqj0YOc0rmzUyU9KsN2vzST5NGbn99te0R2oWqEUN1175zz7B4fM9/Z57PEnuHv3Lrdvv4P3jqPLl4mxZ7O5kMaY9yoplQN45bbWHWMSm/6Utnc4Gzi+csj+wWd5eO8eQ9uxWi7xocKbmhIhzBSQV0SiyxilN06GFPRJEdl/Kol2M7DabJjNZjAPQtBWkE5OA3VtKZo5X/TRz0liz5xxQicPlsoHfW5V0m39VkURPE4L+VIkRiXmRNd2OGO5cfUK83lN5eW+7Ic0yUW7buCi3dD2PaGqMdZQ2SAN4SIUa2sKVVNx/coVbXhJSkGbJK89K5BtiIPQbw1gxWdakhDsm1nFclizaVeEqqYdIucX57Rtr7JV2JSWatngK4/rOqpQTRTlZNWPqwqefsjgHF030A+DwDy1QJE1NUxWGGtH4NAARYqbAhIpxdh4GenHeZKqZt3H5Ixc8CBfI0lBZa14cqvaC+BsXsu9pYJGiwCPbCVNno0mIgxqXSsK3Iwl0g1QVQs2XctwEnHBMd+biac7SKOmdJEQpNh03mGGLPeOEQmwqwKlt6xW7STZ7gdRjaUUddJvVK47kGLWIUwUH3ca9PrJQjKkKOq6YnFFvs8g1azSiK0Uu07tbUjDwupzO2a6GiNWRzmryr1njZds1NzijUSZGmMlukejfFIsOo1M06S3VpvLqDipQqVxO9LU2Gw2MuTJma5taeZilStKnzb6rLbqf8dI48o7J8WtE1VVTIngwkRXjvp5zllKZXn48JQmVAJg7TpRzfayP/Q6FCwRMglikhxnK7Fe3jtm3uOt17xpTyxFYtWCJw4CaRM+kbLkVTEw1hTjGppVRm3GmiCIWiN4Ga5YbWj2XbejsnXkBF0rRGnnHCkOJK9T9DxQzQLYTAgVXduxWp7zUV8fubBFycHBB2ZNQ9cKca9kyfsCWVyN0+DxlCjskIe12hcYAQJdQHZDi2OIkTRsvaQFCWZ2esPtFpuZouRkucghBPEQqZxZRvxM0RKl6FTOOEVlW9Hk6+RUw6XU76FgltHEHrVgMiiZOUxFg3hvpVuWk/pxdcze95FcwPsZxhhW6yW5lKnrt9jbIw666FjJAEtZoC4+1FRVxYP7D3jw4KHizjWOw2wzY/s+ys2MdN6rWUPb93SDLLQ7b910/YvS34yR6bp0LSWgfOz+QWGxmE+ZkM1sxmKvYRh6fJYIId9U0/VOKYLJksMaKtIwiFdQyXISO+SmSKJqbAIM4h/oYqfyA1nkhxyxRTqT/dBLh1CzyBjlECUJha4gGWnI/TMM4vuIWSi3UT0qPtRyjStZoJ0TAuFYyJRQYW03TTB7BcYIBr/SQrwQmoCvHC5YXHA0OqWPQ5SoD81d7rqO+d6edBajhHjnIptFPau5+fhVUnHMmiMyiffu3MMaw+npKednZ6QEd+8vGXo4PFxwenGHq48/w+XLVyZy7DTwy4Vb777LZz79KV784Q/YPWVaa6QoBeIwTHCiVCJt2+KrSifxWYiXVrqOqWSsNqgkPsJN0UHOOcHkd51MUZ3FOT9NG533VNUeTXXAzRtP4X3D+cWS7//gBfb29vnsZz9LSokfvfACd+/eZchw7dolLl+dE5xnb7HgsRs32Vvsi9dEIVTeqZ/W+4loyjThYVJ4jA7E8iF8fUpJvbZ5ilQZLQ9WF6rRVjEWBjEmmmbOt7/9e3zi+edp25a//uu/4ZWfvSLRZlb827uv7RRVvtekLsnbonuEuO7KSMcp0fi/jdnSOI0CYSYvY94WMI/4CY3I9n/wD//A2cmJ2AD+EQmZqRgd/99HaOcqg9tOzn7NS2F5u6XAdmI7Zvm5SUq9682VBt7O9HGaUosyxxjRg4YgXeTZrMZXsl6IuiTTNEH9bIlN2xFLYe/gkOXFhRwOYpb70lpSisQusmnXWGC5WgoFHwF3WI2PS7EQBz81R0oR5c7169c4PblL26YpkicVeO/9Dzg8OsR7x/HhAc99/GP87OWXuXHzJrPZgqYOEndiDWfnJ/zkpRf4+jd/l9l8wTe++Xv8z//jv4YsgJhsRWUihaHOrB6Z0o7k/zw1GD7cPLHWkPM0bhaqqj77WeNCbBZwytZjutvUKeQ88NovXuaXb7yiipCthHj6WYooMWQKrKCgcfozeoN3ngUpqGVqUdgpzBnjLvLO/VEeuZ+n4l2ls4XMyckD/vI7f8mrv3iNb337m3zla1/n+eef5/vf+y6vv/aqWmNEOjweqkbvPdP3ZpoKm+ljtuCr7TXZXqvpdxyvua4X3lsee+xxrl29yoMH9/nVO2/hK8fx8WU27XrysRvrIEfB21m7I4uU9eLs4pSmbsgZmoVE+KSYFHSXWG02eF+xWfd4r/YuFVmMcj5j7cR6SLmw6Tusccxnklseo0yJrD671lpiyVJMGKvvj/hBm9lsC4JUemyKacqBN+rpHGmrcdge/ttWovaOjy9x9coWLCUfq7LQYtn0A10vcnwn4cZibYma5WkNxVmqquL48Gjyxy43LRslR1ehlv1aJ0zoXTvEgeACRZMB+j4q9V8mZm27kvOFkUkwphCCJ9tMnyKxS6SL5XQ/NJPEXqNbUk/OiW6z0XvUT1buUpApaJZCVSLORB0yDhzG/XJXxm2c0yntqFzUzGeNEmzzIKCulPAxUUgcHx9RNV7ZHsIn6DtJNvDes1oJi8A5S9evpMjyntVmgzWWeVNN5+RcmGxEOYGlmoopawLtZkMI0riuq0DfSoRm0oSBvosT6LTtOiHZ2iRxQOPAIDOlcqQkZ7amrtWWKE3qpGkfKUXNUNYoKixZ75WUijAApkaa7JFFJ6DO+WnfG6/3MAxYZJqbyxYgFzSzuWoqzs7OqULYYUgIiC/G3RQWSEm6kdZZnThKJFCMiRBkzWk3HXVdT+kiMQ7S6NKG8diMyVn2vlISqRQ8npIkX32sY4wxEnVlnT4fEi3prKVbS+xnUbXMkLPkQPtA7nuCl0bR3t6egFm9k+lwljWg63qyns/Rs3jfi1wZilpWZE3sumHKph3vX4layhrTM2CQM5qzXu6nnDQ7GvqhU6ubE/WDxgm1bcvegahTq7rW2kJUufNFw2p98etOIr/29dFzbBW6UIdKHxg1U2emYtEoo2E0sQcTRKakN9UYv0MxkglZtJCzhWTF3F6UVphKPw6kpm5AGuLkwxxNMuMh0hk3dSjFr1Ak8LuXcXYpYj6foiWnIG3NxM2R4IMUq1mkQgWwxZOj5o5p/zul7YKTzJgRayVYWqe/1npiD0NJpLiijz3eB4yz7B8ccHh4wIN773N2cqb+QJlIppxompqcE6cnZ3Tt8Ig02xpDtkIOdkYKitEbMoxU5B2Qj1FggVPvqlCqZUG+fPmShm/3AnkaBg29ztRNoO83xD6S0kAIC8DhXI13ViEGAhOYO8Gzx0EOfikP4t1QqccUi5Oy+O0cuOD0YBonn8iIJi8GXBXoN61mIwv0IuqGmpEN1iRLLpaz83MgMZ/PVJYruci5iMfAGIctqhLQiZGxAosYi3OjC4I0DbYFPhmaw31y6qUwD475/py+b6EknOaROecpJNo2bv2AccAHsy1204BBOmf1rGb/oObB/Xvs7TfY9/NoqOH+7fd4+W9+gF1b3j2/T9v11E1NTHLAK+OhSw9nd95/H+ccs9lMyOXWU4pk05ocKckJGEM7cCEE1eoZ4jAIGMJKV7gg0C+Lwzr5z+SsXhaRr6WcJpGpdaOHVX6ixd4eOTluXHuWg/3rrFctf/d3P+Lu/bvcuH6Da9eucuv2LU5Pz7j3wV1SjDz1xA32jyowmevXrnP98nWOjo4ZOrmnjBE/b3DbyC90XUAP01OO9ocOxtvYEoVTaDlsx4ZGHgFRo58RhYGIF7uqGn7nW9/mU5/+LDFn/uqv/oqXXnxJmjLO6tRVIiQgfWiClqepUFZQBRN06dGCYpSGbv+zUzzJuJGOG8xIfv/whGk8gL34ox9JDIKqL7af/+iUb1dOOq3z2w+cCgGjxNvtB21/3vGabX2gY/VgxzTW7YTa2OkQb3Y6nuOhRCRpVqIarKyj0sgQEE07DFPjqqrmUgycnXFyesJjN64x39uf1ulijU5F8iS1zzoFNlYmVGNecULuMawA68apeVFd9Hw+48knn+DVV9/QnF5prnT9wDu33uXSpWPOl2uu37jBB3ff5ycvv8xjjz3NvKmpaquqhsKtW7/i6ms3+ORnPsvV6zf5xjd/l7//m/8o/kuV/sSYtzHD7Mra5XAllyw/cq+M9zY78trpdL17f4zvazFTU2j3I4zGykku6daDPsKVRvlrKUwyaecMVp+V8kgTZBuvg1o4yBqBN+YfK51122D5x9FSjzZi9NkBhqHn7bd/xf/nv7nDV776Zb7y1S/zR//8X/DsJz7J33/3e5ydPhA7yqTwSVMDZdJ7jVJ/CeDdgWOZnetptk2XHQWFLkA78vFC8IEb165z6fIxDx4+4FdvvY11lus3r7Bul5LRqlC+QhE6aSqaImGZLxql4xpm1ZzNekOYVRwcHJKHIvL6Bw+Io++xFFyQrzUMEIdEVVmSyQy9xpeFimbWqErNEmPP0PcCfXLyTKW+1T0QrK0kvqfyVFUQ+aZalcZs5d3Gynw+V8rxMDUgrSvM5pIJ2jRCip3W4JSIpWBd4PxiyboXtoe1HlsGhr7HaNHkrcWawt58xuH+AZULlFTYrDbkIuebxWI+nctiSlr4yr9VPihlOREqKXoqF1hv1qzPVhrbIg3qWT3DeMtsMSPmzHK5ZtN19J3knO7t7UErmaJyrpF1tN20dJtOIZvy3KQhK4+l6HkkT9LsoBLYXQWM2YFFDTFqUSuxOE5lqVHvxzhkwqxWVaJkptZNQzaF1abHqRe3azU+Rfe/lKGqA847OXulyLprqazjcH8PCvQxCYwNC7ZggxS4fYwc1hV926o8Nci9VwXSvKHrywRAWi3XrDZrur5ntdmIXzV2mCJ+4qRKgDhEzdX109pCQfzZVZhUHUMccE6K3jgMk9VKdn1HqBu6/hyTDaXvVP4tTdBKgVAhhOmMOwziVfXW6dCj4LUhMuSexWJGjJL5Wjc1TS2Dqb7vp/VjhF71fSvXQaOGuq5XuNYwFdTO+Z2JuexFST92iImUJJ0Bk0ilI1QeBjlfkVH1ToEsRWkdNJcYCzhizPS5n+xzbd8LkTgVhrjEVwFjHME7mma2pRfrgKvy4p+OUbg60gwWFV4zq1UVagVsGwJVVTMMAj+Mup4JDDhq5FJRcC1YE1RCLKqOqA0SJnm2DEkGbWJZa1mulrpmyP7ctp3GmVY0TcNHfX3kwlZgG0FkxVHfjGIpZVDo0870wzqV9oxekDx197L6THMRPbnDaX5gPWWqCanMipHeWibl5RjSbNGJ7fZgO2r3taGMtyLZc8Hgs3TopKugPszpYCBa7srXEjaeCjZUchOmRMo6lZj8FL1IqJ2QdyXaVg4dQwQn4k8NO0+U1GNw+KqWGJtuw9177+OcoZk1DHFgvVrh8cQiuvXZvKHtWpVMsiXGlSSSWO8x1uG1QxiHKN3JeYNJulg7q4fFkVgboXiapoISMdly9vCEUjJBc1y9NzIFTSJXW8wa/IGXuAvtZm49gEn9P+ANGCdggs2mByvXzAWDC+CDp4zxSuJux+XMqmsF+OQsKWXWQ0djG6wekKTotKw3A6gMZVwQrDX4WGiagNM4nn4tRL6Ykhj6s5BAwdD3Hd5X2t0eNLNMH+jpPR5PhlqMpox30MwNQ4RcIpmBIfdko77UIak8uZoI3ImE8YGUC6XvqULFYr4g5cyma2mTLAz7hwcYW/Hg3ilH+3POV71AEOLAG3/5Nxzlgb4qnJ1f4DYb2q5/5JkcD6rff+FFHrt5Qw9wlvVqw2a1puSMs0aBAxIoL3qHjAW8sWRj6LphghMkpfCNBWvKGes9KWmWNZ6UjdzbJdMnBdJ4OZRdOnqMUirq6oAP3v+AN375S6xzfPpTnyTGgVu3b/P6G6+zXi05WCy4fPMqV68eMV9UHOwfcPXqNbytKIMcErwTqYyxRu9pHvF77nYNi2awbafZE65XGkGiK1cZkqgIcGYqKrbTL7k+znm+9vVv8Nkv/CYU+NEPfsBLL76k8BU/BjfoT2J235VH/m5bQH5Y6vjoayxiJ3nwhyaxY5FYtAExVkBZhf9o5EFRMFaZSIvbYnLyR6o4dayB/lNF8vaxMNoYUgK++g+l470l8Y5+/u1n7np1s0YOje/NVuZpdLBbJqms/sw6gWqqwHItZOS2H8hk6rrinXfe4crVK9y7d1+aT2Kk1vdGQGGlgAuekgRuUfLAYjFj3YmEUTLAozY5Hr0Ozhpq77hyfMytOrBcjbBETymWBw/PuH37fZ579gnatuUTn/gEL7zwI1544QX+6R/+PsZCCBp9ReTlH78kEvsbN/nY85/m4YMHvPLyT3DeCotCD3TW2KmZOcoSt/fGOIUYY36YinFrR0DZNmd2LNbGNNqietPte7R7DyoEcmRdlDL5U0EtPCPzQvOvYVtQy7Oz4099pFhFvLojRE2ntiVvGwlGM+t3H4qRY4HC0CYNNIa+W/N33/1b3nz9Tb72W1/nE5/6OE8+9TQ/fvFH/PTFH9FtVgICGs8Qeg+rgXOrrti5/7dwGT5UfHyoC5Tl7FHsDqfaOIJvuHH9Ma5evsrZ6Rlvv/MrMHD56hWGoWe1OsfajHUG79X7TdZGmUjv63pGybBuN6y7FofHV54rV6+QYmK5WnFycjJJzauwpbr2XY9VGmwITnOSE7aALdKcTknIx7FEFrOZ2gIMmUxQDkPJMijo+15UBSOVFi3cVLIvGeDS6KuqGuvttC5P1rAoyRMxFTIiPx59sXlsV1irUXEyzaucY1E3HO3tS7O469n0IqE92N8XLkceprVFMl0NfSe55nIw7gkaz1dc0sGETJxCVePqSs468z1cqFi3azabDevlmqGXPNZSCuv1ilYj7VwImCiT7E0vk0lno2QJD5GU41REtO2GOgTtWYuUc/QyytRavd06LY0jdE2bLEPfqSd4bGZbvA+SQ4+ZJmsxSTRPKpHFYo8hJoY+alEvU76qFvZJThGLYW/esD+fc3i4T9u1xNjTdu00jUuaeCBSdI93c7Ek4nWIooA6VZp0XU8psFqtVZljFDQ6Rk86VXOKjTGN0ZSqGLPGSv4tM9rWTgOHlDJ9H3X/VjmssiYsAnTKGIqV85c1lmTSlMldVZ7VKjGbL2j7Db5yhNpDipJScSHxWqGSIdFs1lBKJvYygfXeEqM0EiQDOZKyUQtjmVRR42CkrmspaIfI3t58en68TnZLViKwTnnFU4uA2YwnpzhBluT8E2S4oGcbXwVyiqp8EoWoKWba61DqfYxyn3sr8arBCYyq73qCQl7FvmmwXgrNnBPGOrLeWxijRauhjzLckeSZLQjTqUVUfueOlBMxWzyimmqXq510AUvfy/vfNDXZWPqlnFX3D/ZwVlNR4jBNuZ1zdG0/NVg/yuujU5Gz0JCdreiGluVyrZuueETNlIE3dpidEnd10pnHeJkkE7kpJ8mJn0rjfia57CCo7xy3hE9jnMJi8sjEkVxZayZjubUOi8V7kUVbB9ZXxAmHL4cY0SiN/jVH8IHNuiMncFaouSbbbY6lUwKHiKRJRem+WTbrYgolWbQWJYQZB0c1uWTOTlZU1YxSonxOzDx4eI+Dg31CHZgVWQSvVBUPTx7ivOPa8TVuvfMORQnU1lm6oZcc12BJw4DxAlQoztC2Pa54nRJWer3lvYsx0lSeKlggSv6uGswL0Mxq3CDdOd8JNZkSmc0WhEoWzpwHNY5XOoCRmz7lhPNBQ7vXhGRwvhbZcrD4yoBJuCoQW5naW+u0vCoaIK4dpCERqkzfD4RQPVK0tLmTrLNc6Ick08giXgRXBJZ1cbEkm0w2EpXQd+KN7buBi+WKg/0juV6w/VNIVjRVTW/6CRs/StBm8xobMsfHR7RdS8oDq1VivqglWqCVfK+URbKMTtrE2J/lsJ4lrqGqqqmbLIW258rVYxaziqODBe/eesjJyTknDz/g+Rt7PP34VWI8IyHd2PVmI3L/8bhaCmdnF7z66us88fhjKqEX+Ufwnk6ltzKMslSuJsZeFiol1knodzXJb8eFJLOVAKaYeeKxZ7g4OePswckU7G415sH6ik99+nO8/+5dnn32M9y9e8Lrr73B+++/z82bN7nx2GOs1ite/PFL3Lt7l5I6bt68ytUrl2nqhoP9Pa5evcrh0aFsZH3WPFyJtnJsD0mPrEk7B82xcEtZ1oNxbSo5k2NSG4MQsAvbSczu548vayBYx5e++nW++JWvAYYfv/RT/uqv/5ZhiDhrlDqed7yPdvr/xwNmmerqsq0gf03Byk7h+EhBqf97yurWwiHnUUHCVJCTy9TIECVKJsZBwB8fmoAVpf1OObbKFPrw9dQv/o/kxmaaWu3KTsfraeXaTNMvpuJKstW28UpJSYsocMx5Q1HYUdT3rKnlkNHUQem6wio4PJwpndFy5cpVXv35z2iqijokQpBJYC6ZEmVfmTf7WgjIdHGzFqbB/v6BePmsIQ4iv9slfJeSqYPFUfP4zRu89dZtUk54ZxiAnOD2nTtcvXoEzDg+PuTJJ5/g3dvv8/Y7t/nYx57SQ0DCpEgczvj7732Xf/onf0ozm/G5L36Zd997h9OThwpeFClhzqpCyPkf3Q+7Hlo0+3L7MWPWOJQiDebxvmLMxqVoNvB2bvuo/HfnPRv/zhQuXbpEHCJnp6ePNB1GIvnk/yqiatrWi9uICGPAamMmyxyVNE1DlRExWgU+NLW1xkwNi+mchIGS+OCDW/zZ/3ifJ3/2LN/47a/ztW98g+c/+Ule+N53eevNN4mp305rlbGBSqHFhrAr1R+bBPaRw9R2Yj1GJsmUKe36n2H6Hs44rl29xpXLlzk5PeXtW7fpuo6rVy/TdhdbCaLdeSeKZKO2bT9ljPabjciXnWVWzTDWclQf4avAxfk55+cXeFNJ5J9pxdZjArN5Q84bDvdFhVBSpq5nBOf44IP3qZoK4z1dihhlqEjxazApTTRl6xzO+mnt8F7sWF2YjGg4AAEAAElEQVTbqbzWUVWyzjgnwwgBZA6TWqPreoyT3NRNu5EGkxVZaRwtbEopzzlhnefo8Jh5VUEstH0r0ksjTeRRDuuKTDnJkbqeSfxdlma1844uZ4lMypk0DHS9rJGH+3tk62iKSnTbxMVyJY2E5Yqk0yjvnUq4I7mI5chqpEmwgbbv2YzxXfo+WgU4FVPok0g5qxAwUfbhqEyIcQ00Raa7gyZGjI/iGFtp1XdvJwWKnJG8Kpg2m434b70nZaE85yIN/pgSe3t7pCxDk+ArsZL5wLUrl4jdQCmR2SwQI6TcY7LDWQFRDaljf38Pox7nrq8Z2oi1XgjYrdyrYseSn827oL5Wh7PbiB4BkRmygRC8yNpjxKjPWK6dmyTDXddRVxVGicNW6wxUnTXmR2+VWzupCEaAt7Yf7W9BqNNe4qisl+fBWsPR0SFgGIYWSmbWNDJZtUXuM285mh1wvryQojT1Un+k7b4dY5riLEMIU+pC1jSGUbGUU9bzU5YmSEoSg4iQ95GhpwCjnCNookQVPDGJxXA+nwtNeRioFwtRmAyR2LVT1Nao5gtWPLN926s02OrXj9NZwSr/JiUjwNwkk3MfvAyK8sgTKnT9RoBexuF9YD6fK38IjQzLVHVNCJ5QVwQfODu/mM6VwmdKdK2oBwH29/fp+1Y+R4nrjcYrjY35tusFDvoRXx9diiynIfErRSFYSaal0UmW0EPt6E0rEg9ERNHyljj0cuAv0mUoVrypYzbjiEsPPhB8IA5ZPWpaUOqkYNyCR58sFs0mlX+JWcFWekiJKmXNJZOHhHVFiM7a+B1hO2O3Y8gJ4yotvtQHlMVziJOHTki3Rn1NIsX2lccUwchbX9jba1guL4hDR+Uq6llFP3SYnBUrnsl5oG4q+m7AOsuNGzfouo733nuP+WLOZt1ShUqpakIgc+oPWy6FvuiqmtBI7ltURHrXSdbY3mIP5yrms5qqCVhruHTpiG61noo35z0zN2e5XhFz4sbNa6TYie9BM+uEpJyIiiUPVdCNRoKuF/OFgHaKTNnadpymiWOsG3pccKw3a+rSgBYZQz9gCAxdxFUSo+SUkGyRgtW7jq6NGCPeToOY4FOMRGcptciyvPP0SQzqWX0pU3SI99IssZJ9KO+1FInBWyhyWBVJu0xh6zqwWFSymAAH+/ssN+eywagsuKlnDENLihnDMBUzxlj6krT7FxmGJIRHYH8+Z2MNm26g71qaec1ib8bxpcv84udv0N9b0S5XNDeP+eQT1zk9fUg/CMCID/ka5/MZX/3KFzFoVNOQoFaZnJUmUNZiyBqLcU6ubxIFQowREvS5lwWpqpRMHmVBzp5nnn6eP/mT/4r/8Od/xv3378sk3ovEZz5bUNV77C2OOT6Cn7/yGm+++StCqHj++ec5ODjgrbffZtNtOD87hwxPPXGDxx67LuHddc1ituD44FgAMasVFiHWGvUDj2f4D7+c08mCkTnd6Pkcu4m7Ul5UdpZ1AjRufiXrqjEdYDPGOv7JV77CF7/6Vazz/OzlV/jOd75D164l6sTo0MjskovHfO1Hp7TThPQRiXL5UEE7FuZ2+rOUrdx32qjIk3x2jIkQvy0Y6/n4x59ltVrx7u13Rd0xqSQ/1AAY/XUjNXbn37bSV6bCdPvp/1i6vP19xj93i/ttHEz5UFFv4BG7xHw+nw4JmaxremL/YA9jYDafyXtbEuv1mqaZEfvMarUiBM/Vq1d5/hMf59avXuXi4nQimGcr8t7T03O5H4p4wCmFuqpxBsK8kZ+zsmw2+UMSXmkMNU3Nxz/2HBcXK96/eyJ2leKwFFbLFbduv8unPvkx1usNzzzzNB98cJ8f/PD7PPbENVJxND5MU9UHd+/x0g9f4Gvf+G1mszlf+63f4X/+H/81uURRphQzed62hdXuJH+LfJpioMaSrwjZ3dgRLJenJgtKU5dGyBhDM36uUd6FmZoPGGVaZMnZvPH403zlK1/hpRd/yIs//KHujGOOOZNFAs3ndTqRT7sZszu3nCkZZ5xm7OgePP5f+dD9Mj1XeiWm9WC8JxND3PDmG29w+/a7fOlLX+Y3v/g5fv9P/jm/evNNfvrjH/HerVuyFupz5UY7lGb+js+fHSewZkeyvdPsGOF948fY0Yte8iPgOOO8rArOc+nSFS5fusLdu3d5++23GFLPY089xnqzoutWcgj32zzhrhd1TjFFlVqWbhjohp6SCpUTxsW1G9c5unSJzXLDyckJZw/PBOaCxZ85DAX7hGExq3HG8n/4r/9rrj/xLP/X/8v/mba9gCxQTq+LbMpQhkhPogqeKniM87RDnA6nhkwfB7GFebeTIc7U3BjvU/FGCn1/s5E4n2LN5AVFPZHWCmCrqSoWizlNVdH4gCuWrmvp2o7FfEEzq/S+VfWAZpk3jTTAgka0ZfUe9s2ANSJH3t/foxoSfSdk5zYWjA8MXcfde++z2QwYzV9NMbK/v09dNwxDZOgH9UNGvBdpetdKrnxSi0Msmfl8Pv3OOcsQR5R9Kud3+juboiRdmZMLkCqRFUzl1AMaYxIop5XiXwBdooqx3qsFqkDuJfkgGfq21RxRCLOGuvJEVZYdHx1LssVixvJipdGUnqOjA2kEFnlvixGeSONqgq2ISeITZWBVaFcrTPCcnF5MSjiBy8rEbegjjoz1QWnLMlkFS6hqKIahj1OzKJcs9O0q0DTNlG4xkXBLoZhBQILWMvSRpp6RcqFqGvquFfujFY5NsUWYKmmrOjFDImgiiBtjuKxlvpiJUi1IuoQxcq4a7MB83khEqTfM6oq27YWt4Txd28r30uei7UTS3zTiDe77qPJkP6lrxgKwaORU7BIpCQValKR6ju0GjZiUQZO3WpQi6oiihXJVVZyfn6uAxWmzblSniQygqj2mFuXkGONojCHFYbK9oNyeKkhzpO+jWj5E2eg0ix4knsur/Lofeo1UEgmy99LwqJTdMijXpaoqsDL1Nt6xbltCXdHM51wsl9LgKB29RZ7TpmG5vk8qic1mjbdG16iP9vrIha2zUrSmlGm7Vrx3KkmVJkqhS516L91k3t92vYJ2cATC5IOXhSkXcNI9Fl9iVJ+uTr6AnKJ2Q+SQIt1mN4WuZ7LKlAPOWVLsJw8to5zSqP9OD2vjYXdIgjif4jDUl5FKEdlMkUNzcA5DpIs9Xd+TBnlIm0Y6Kt47KeQNhNqJfCH1pBR14xOpkXU1wxhzEXuRduiE5+rVq0ITVEiPdY753pymalSDLjEzxsB80cAsYKwYxTFl6uYMw0DdCJo/6nswmwe8F3/E0fE+5vIeDx/e16mAkKgXixkxy/cRlbds/i6IjC1Yy2bTaUyOeGdzEVrtEHuqJig9G3zeys9GzWNGceRGYABN3ZDTmhgzQz8Qqpn6SUZYB9Kx0y5+8BXZe/UkyZSq7wdi46Z71CSNb0hClxs6aWoIpE6qzjEioa4qFs0M7wzteo114nsahkTTBC5fOaJpZMG6uLhgvphR10FiAJIsutY7Zn5O33cYii6csniMvhNZ/LJA0IyhZMf+Yo+ULogakTGkjGsCzz3/HCfNBwzryO1f/pLHrn2GWdNQeUNdZ374wf+NlvcfeTbv7t3lvrHcuTuj/uwvqGrHpecu2OvWj0xrRum9VZ9uVvmSwHDShGI31ojMDHDWc3ip5fSq4+pvv8kzN2+LfMUa6qbG+3O8r7DVXerrF4STE57/Dbh0fIx1D+m7jkuP3cM5x83f6WmahtlshbO/2sKgrKeE10Q9kEQBYD40oR0nIdt5CiRjNMJk+0HjJBKAoYJffQ5is51I6aRGmh5bn+7oEfU+8LkvfJ4vfe3rGO959dXX+Iv/8B2WywuR3CKZeXaazuwesrX8HC0RO9nau7CfR0FNuxLoMm2C4wRgKyO24mUdC1a2BW8GnnrmWf75v/zf8dff+Q/c0gO82SEs7xa3U2PmEUfkbsG9nbTu1ngfLjY+/JJmwVhi8ainln8s5RwL4hGqMv29Uflrhr29uRw+5nMt4jLr9ZqhH6iqmgcn53Rdx8HBPiUnrl27zsXFmdoQxuLNToWVK0YtLnInxThQNN6irmb0/W4eepko7If7e/RDx/Hxgvfv3ZVAe1tPv9f7H9zl6pVLXL1ymdlsxmc+8ylefvllfvbKK3z2Nz5DwGP9tknz2i9e5bHHn+SpZ5/hscef4otf/irf/+53sTZIw9SIgmYsbHcbBdNNVwCT9Cc1mhggf2YF1Bj1Ik4Ar6ITD1O0oDPTc7V7D4+SZDPBhDIvvvQjLi5W/M63foejS1f4q7/4jh7enaqatk0c6wQCNjayt/dPmajeZMnTdbbo5GULQ9qdVH/4nvvHk+vxY2Qy3rUrvvvdv+Hnr/6cb/3Ob/PJT36MZ557jl+8/DI/ffFFTk8fkq2QwEdw2Pj54+G8lLF59OgzMErDzbj2aHNo/N1GGbcc1nck2Np8u3HtGjeuXeX84oLX3nyd9WbFY4/dYLk65+TigZBmlZA7NpXl/RT71KhE6FPGJEM7SITKYm/O8aVj0pOJ87NzTh4+5N7de+QYuThbYXNmMdvHJs/FvYekPhPJBG2iWR8kq1RBV845if/Joo5bd0LTbZqGFEXeapIU9DEl/AhG0v21qAev63pyEontuu1E5ZXSFm5pRmmw5WhvTjOrJW+9Hxi6liELDG8+W4iiz4rNKqconku1zATvRpGI2kw8/SDnr9A0HB0fydly1YpkOA50657z5QV3br9L7HqB/HhLcDV7i0s6GYP1uqNFInFG0M561TEMCec8dS02mWY+E8JwEs+x80Gnt8KvsFkjlJzDegFl1SHgrKHEgskoOTiT+n46Y+ciU0mJ2rH0fS/qRC0uqhCoa0dd16xXG4wSzr331FWQ/4I8x3vzGdbL5LcKlqaeU9UV871GflYr1qRNtxFLVSl0/cDq4pTFfA/vA+uu42K5wjnH6dkFe4t95vO5NPuywEK985DlPnFBLB7DaAFLhc2yU4WDUXCfTA5LLtvzUpJBV0GiymJKuIUXH7Oem+Q+EgtSigNe6wGjStG+H+9ni60slQvTWX82m6kUOFNK1Oa3yolDwCTZ76tKlJCz2UzAWwW6ViaIzgn0aExSaNtW02Ekrkdyoq00RwYpJEefqfeeqqpFpp+SKl9R+KZEZw7682fnqPS6jPL/Ud0qwjonEYhOnhFygsBUS1SVpHhs1htQ4O7Qd1gbNE4pT0wJ7yvWm26aNlurvJXRY7/TZGVKENlt0JtJBm6NJ/hK1tBS2LQtWEet1z6tNwLb8mFq2Kw3Lb5uMNbRNI44DCzms0eai/9Lr49c2GabwHtS6UilwziZ0E6blZFNoOuE3Edx2sE0dF3CGclyHTQipGQoVqaflZGJW9/30waOdZp7azVjk4l6huYyCg+iaNh80Y1UumrToc6KVrwohUvwxnbyVY4cKimCtRjWhUjM5Y5coPKS6dV3neZk6tdDDdJ9xFjwQTpWmUjbLclloFl4nCvELJ5cXzkKmeVqRVVXWFPIDs4uzmjblqyh4OMhOBeBWYXgSIOEn8/mtUoJCv1yxf7BHjkxUUSrqmLWNOIHSJEQHDEN+Nqz6td4B/WixluHtYGTk3OMMRwd7otUzYUpxH2EYY1T8Zwy0URCJREFpWT1vUIyKifTiWHORrH0kgWKceqTgIODA6y1nF+sabsOExyzvTl5iCSVdsReg9OdyMFnvpFQdOfJJH1A5edJMYpEU+9Lbx3RGBKFPkb5WU1kNqvou469vYV4g+qKvWYu+PXYc2mxR8yZVDr6wbNYzOn6lpOTE/YP53hfSZdwuZSOlXeksp00SEeyUCspTnKa5aCUy9Zr3jQzUs70saeUwtvv3IJScXTzOuls4MHDd3Hvf8C1G1dwlWNTvc6LD/4Nzgas2RYCyav0qrfMn5IFelYKzT8Cr/wvvR6VzG4nLGf84t6vSE3k8mdQeb4g48XbCp0xzI4s86fR7OFzeQ8oPPvMztTRrHYkwOaR4skCbqdI3HplzSM/3SSPnYranUB7nQJiCsZGymZGeevzW/nxWFhOn7udUFrj+I3Pf4Hf+uY38VXN22+9w3f+/Duszs6l96YwpGnqpHmw8jPa7QH3kaJWGmBjUwEFmE2/pY7NDNq5ZvQZ6jsyEpONgOhGf7DZYQRY4LO/8VkuLpa88fov9fu5HU/ytvou4/Xevs36z3r/jvW/nXCw08eMtpLpE/XrmMk/vJUlT9fUqlJg/Piizqjx7/R7jdP3nDKuKGGRrexZfGKWlA1Dnzg7W3Kwv08VAvfv3uOJJx5jiInDo2PqWcNmvcQFCa2/OL+Y1CN6xyk4xkzwuP39faz1rO6cTJvwWPY1dcX+YoF1Cz7z6U/x1q/eZdNHSJLjh4G2i7zzzh2ODi+xWrdcuXKFxWLOyy+/wuOPP8nixmKCZlgBO/DCP3yPq9evMZvP+dw/+RK3377FrVu3pmfFTH5o9P7gUffyI8Vp0dg9PWRk9ckyQh3Vc6v+2qzXoOi+bZxOy80ILDEKv0mTWiqlgVdeeZk7d95n/+CAlAtDN8jvZdQiJIxL+Znth6Xslulx1n2b0VPtBJA4UmW3EmagCIXajs/K2FRSAN72RtxKmiFz8uAD/uz/+2e8/NOn+M0v/Saf+tzn+djzz/Pyj3/Kj374Q1bLi4lBUDTux5o0eW7H6zqpKTTihtHHP6kRtuCuRxpI5tFnKDH+boa9/UO+8IV/wsXFKT996WWW6w3VLFDvzYlRSL1VCBifRBGXVZpaCtZvqeiQGJJYhRJz5rN9Hj9+gieffooH9x7w+muvYZ2ljxG/POf1//b/TUiJ+cWKvPBYV6ZpeU5SpFYhSFMlqTdWp2d13WCcIUWJkKtd0KQIOUzHKHF9rZ7jYhKKeRykIBtH7X23tSAE77l86Yj9xYLFrBF569CDDkRKyswP5tR1JVAaN2YUj+pAyakWR5EkaADk0tO1G6xz1E3NcrmcmhCLxYIPTh5wsbrg/MEplbNcvXZFo5ks+/MFs6rBOs9qvSEOPSU7gfVkgWjVTcB5KRp7Bec4LTpzKqJ2cxbvKoIVD2W/6UWGHCR2ppRMqaBqGnK7wRTxM/YxkWKWSGYjagGvD4avAsE5ojM4i8jA1eMYvNefSyb+zlm8g6ryhKqWWERj5DyzaTk6PtQsYGnQJwpdu2G5bAUE1a6kAHOeTduyUWkoOCKFdrOR5zcOeAPFeYldzIDmn87mMwoDTdOwXK5ZRQGZ9rEnpkSnk0FvZO8Xe1evKhCj9gyNG9THaYiD3Kul0PbdZMExxtD3km0rgFtRQo7pB33KVMHjfCEVAdEGgyZvoF5Zj/dSpNrgKUYo8rEkKuOZzWpRq6aeuW8Eoht72jjgQ5D30sj5NwGDSoZjkfXWGmiqmqr2DFHOjrlk/ZpZ7Q3xEWq6LQaHJQ8JbwR8ZYOn7TpWK4kMNUUm9NZK8zfrZNVQhLKs5x7vK0Dgcyk2EznaOzv5YGOJ+MrT9x11XdF3PXuL+WQRjSkLsyKDdZ6SxFcc+/V0ptlsWqw1zGZ+Uif0UQCmPlSShdv12CzrirUCMpXMdMtmsxE5u3VUoSZjNHLzo70+emFLEtN/22GsSCUsjlLEVByjSD5G6hbIL5ujQGBiTNSV1+mkmWR0RidH3vsdyW0RL2DeSgZlk9Nir2RMHsPH1Zu14xGzauQGBLhjnMg5GL+O+KzcWNXu+ISKZdoYYxL/gbWWLsomErxQB3OGqnLTz2+dVbqYGLbRw7NkjBm6viVnJxOZrB4iZ2T67S3GwXJ9Qd92xEGQ6cOgoeu9QpaAxXw+hSkbAzH1kCKVs/hZIzI7Cgd7C6oqTH47G4wWUFk2cadSBQ8+6KQ7ZcmoLQroKBJ3UgrUtcTABB/0sMFEaY4pETeJqvKTdyorvEbM8jJdH2KirhuNBohTp2uM+SlKNB6Drcd4KGvkY7J2q0bf7RhxIBCaSN924CSOCIpALJxl6JPGCTkwA85HDmcNdaUh96nl+PgSh2aPizPxj1VNw/nZBe16I74TKzmLfT+wXK6YY6nqmrPTE+bzmaDjvSMbI9lr2oSxKhVMMeKNn7xZznnOl2udJouUZrO84M037nF0dMila9eon73Ja2+9TcJx7fp1hnROofDF6/8nnj/+L6YD4wsv/JDXfvE63/69b/Nn/9O/oeSee3ff497dO3gPzsj7UTW1Lh5ggyfmhPdBJMwx7UwXUZ9c0usb+Pznvs5LP/4hi72K11//JZ/97Oc5ODjmhRd+hLGWxx9/jJvXH2foI++88zY5J1brFVUI3Lhxjdm8xhjH4cEhhwcHLOZzuaetJSpQrmlksto0DXVdq2/P4F2lIDqDD4H5Yq5ePqWRU+i6JScP7vLTl34sXryD+9jf+HcUF7cTmB2SLOMhVAs6Zx2f+cxn+MY3v0lV1dx+9z3+4i/+PScn9yaSKRMrwE7FxYcnSbuSxC1Yaoz3yDsH3zKtRWNRODbjZFRkdJop3yvlsaiVonfLHZDJ2o9//CJd/32Wq6UqLfxEQ7ZWSOPT1Ltkdova7b9oMp9OidCp1fh9xlJvlEqPzYSx3Nqe4XWiZozmKZapxzsWCYyd+lSmDdXqVLWMUJ6yDYQPXqb7qZPD88OHp3IgT5EP3v+AZ55+itVqxaXjfY6Oj1ktzyQ3Ty6bRIc4z5DTRA4VGXNgf3+fOAyyRivBnJ3fY7W8oFue0Q8DQ9J7poid5MrVq1wsl3Rdx/0HD3jvzvs88/QT9H3Pxz72MV568af88Ic/4vof/4kc3EaBkoWzsxN+9pOf8KWvfQ0fKn7rW7/L/f/uX7HZbDSiSdbfpPeuG13cO9d+zAiGPCkuUJ/4BD4UQZUUYNMEOD/6zo8gRm08MGXgjpEXRTLPKTy8f5+TByequBrzviV6A43koYy8RTs9a5MIfct02075jZMGb4aS8hQtsZPYpZMY9XFOjaLxa+VHfPhG5V6bYclrr73KL9/8FZ/65PN863e+wZd/6+s894mP8x+/89e88frrEAeZVKqEb3xuprVigtRtn7tt84MdC4EUuSMN3U2S8UKxVg7JO6JyYyyHh8d8/vNf4M77d1m3LSenD2hmek+mnm6zUjq9NHed3Vooosa9jA35i/U5y82Kppqxvzjg2mNXaRY15MKDu+9zfnbKwVPX2L9yxMmrP8Y0e8zGCcwI1bOqxMqZToF8zkCl4MG2a8W+E5qpsTCuFX0/iG9wlOGWgg9B5b1JP06lyUAza9jfW7CYVVAKXdtOqr2maaiqSsnIuhf5HS7CqDxKQmUtxoj9qpfJV1UFNpsN3jpyVPqt91AQ8NbZGevlBdcuHTCbzfQ5ysxmDfNmTo6J1XqDyYWmqvDW08cs0Ki5nEH7TtavRqfWI69if88zn81ou56+F6pwSlmGOjmRe/maRs+vs/kcYw2zqhErWRcpZLpOYp2Kcl2skaLRO8usbgjeqUIS6qqWsxmZw8MDSimcn0tzWc49sFqvKBTmizn7e3tEtY7lAucXS85Xyyl+ZyQ313UtkFBrGDqZoFpr8UrMTilJAZ4z1ok0OueILeBC4GBvwXpzTh08ZTFXaJkQfu9vTndi8LJCKD3L5YqDw31CCNS1vo/eq7dbohRLMYRhoB86XR0EcmqDyK5R+KN1cj8lCrnLurSJKtEgpOhCmia7sjUZhb+KxZGR21Gy5L4GS1UHmtmCqmpYtR0xCQgq+CDNjzFCbowZLFKwBSuDsqLn5yEO1HXF+dnFlOdrdOGT76kxoxrDU88avHP0eWQaRfHz6zqbdV33IcjwQYFm642ctZumYRjEAmYxrFcr6lCLEqNIXNdm1TKbzamswBMPDvYJwSuLQpgVRb3txljSkGhq8W9bZ4l5YKMRWPP5QuTuOo01VoYPwQfJpx0GKgyz2Zx1WbHZLGXfW6+15pGC2+sU/KO+PnqOrRZ/m81GpqBVJdTgmHSBF3mD9Uaz/gpDijrKtgyxo6rE4zd2eYNxE+Ex6pTVKW0PKwWrUdiHhGwnkThYXUiijLplR1WZEEU6aDkprdkSh0wqsG47XLA0Mz/Jo2TbieRsdfripTiMYEyPdRnvDVUtZUrGUtkZVZTDcI4iFxg3/1BJmLAxIq0aN8vgLakfM3+Zcl3zkDk960XK4wNNM+Oxxx/jcP+AH73wkkhqVW5ijWwGxopMyTlDyZ5Z3ajmXRexsQNvC10r+VazpoHMlJubOgWaWEcqCbw8zLZkvK9lapqTmrYr1utWsfVWXVBCy2XEsBtD0WzaEISea5SCaYNMG3xwO9EUhk5zaWOW2IL5vBHCXxtp6lo6w8bgKkfqslCHcZQc6dpeFoZ+wFZ2kmiQM9kanA869TWUAPO5x5hM01QyaXaGYkX2E+pAYiD4wHxfJrfFZPYP5zQzCfjGwGyvmSYDDx484PDwgGY+U9msLjTjYdEaLs6XeCfyb/FziS+1HcSY751ls16yMAtmdc1nP/0883rOO2/f5Ze/fIN6cYlunXjn1j1ysXSLh3wacGmfKl6baLTDeYOLRxw1T+LjMVVlufLsM5zf/Tvee/sd9vfmVE2Dyw0eK34NL56HppqpZyWxWOxNObRjdm9V1TSzPX7vD/45v/kbf8R6s6T8YWG+2GO1bPny5/8le/sLDo/2CYq27xTa5awUqbNaJDJFJeZ9308TEWMtNlTSFFBJEoyo/6hRPFYz5xRYo8RYVD6cS4bujPXJEtNdpuSIqdbT19mVA49SQqvU8KJBn5/45PN841vfompmPHjwkO/8h+9w//49JYBupTajJ2h8jaqK8eBetEMqc9rxoF2m/NPtf2UbOVSmMldlqEbBLUL3zUmjaqbff7smj7Kk9957Vw9XWZtr/pGD+VR1qu8mT9oXLW1K2fmQsc20nbZNRTsGY9JUlBsj3sqy/VLbz0+ajWnK5OGkGLI2NmMcDzVaODhHHpJ6cURy3cwa9hYL2mGQZ6dvKUqQnc0ajIHz8xNSEtlj1w8cHhzxbpGcw8FEuT8oQn0sCVfNuXzpEnfv3SXnNDXYcjbTgW78dbI20ozeM5UzXL18iXfv3JdD2qZlf7GvkSiZd27f5urVKxJddf0qNx67xu3b73Hr3Xd46vHHqStHQkBm1hpef/Xn3Lh5kyeefpor167xjd/5Fv/xL78jskAF0cQkWemjXD5rZSi3ltxPI416ehMceMz0zEnxUtTCY6Yia7yHGf/d7AQ0GScTyslDqg0OpclbZ0hJpjiS0V5pc2brsZbGamI0DZUpf3m6scTzbQDjsE5mzGN0TJEbbNuHMXl6lozCm6RZYFQ2vJ1oowqQQiYNG3760x/zzq/e5otf+iJf/8ZX+M//9/8Fr//iNf7jX/0Vdz/4QBRGiPTWO10bdHycVX1WjDTEzY6vf1RV7D5qFCnExwmyyZny4YmDekUXe/s899wew9DTD49z9977XFwssc6xNzsCZ8RD2K9xQZq1SRVdzlXqPc8E6ZlTTOTs4oTV+lzOFFXNY08+AY8/waf/8/8jm7bn4f/zv2G26Ql+TsppS9V2XhrPMU2gphQHYhRehTGGqq7JWDa90FXFEz6AsbQ60QwhUKKQ842TqZ/zjtV6LZaoquLK5UtStMZu8pQ750mpqBrOqMcwbi004/DAiSc3q1zf5EKOkhMfaplC7R/sSR5rKdSuwhjP6dkp56sLcopcvnTMpcNDsUFYi8MyayqWFyt5X1OWdbhAcNJY91WlGbgtRe07YmWTN3Q+mzGfzzlbXbDpW5H1tp1mr4oM1pVCOySxuFWe1WYtdjvvqOoalusp+rFE8VwWvdFT7iklUNUVQcnPe3tzjJXGfTPbI2rE4Y0bN3jw4IGcC52oS5yzAopKhU0/sN5sGIaB9WYtDeYqsNjf1wxvM8mTiylytgeBVkmnhRgHApZiEAiSsbTrllxg5qtJaeJ8wA6yRvRDnqxcQnUetJnppgbV1vYiTZEqhIn3kLMkmfS9eDrjGCOqxaycsYuCQZka2yknmZIGM+XdF4oU7sXgtBkjZ2DPgCgDLQKljEX2IIGXVcScWG/OBchqDEPfMduvxKqnrI9xwBa1VnGhIpXMkBLFWIm5MjKV7LuBWVVrtqw8j66IYmgE7417ZdSoyjSqU70MgkhZo4qktBOqt8rzFb4UglfQmcRzei/Py0wBrCUaTPHMZzXr1ZK6qWXf9BbsmIqjUT/aAOy6TnzuZHKMNE1FSiLLH9JA7CS+SuLsjDbjJC5rtdroecVRhWaSh6ckZ37vPZt1+5+0QP2610eHR+nNMWZCTV6KyedisVbkAVJQyqg69vKLpEFM8ZIlFfVryIPmfZBCWPOR2DlIWZVudZpzlPMW928VPmQ1M7WUMQZIaa5ZH6AhKtzHKl3O7QAO9LA9dHhbY5D4HOth/2BOQUFURaNWrISMW6sPt/NKSCvTRHELrZFYgZEO6J1ITbTHrdmpY95ZURBVZIg979x6m6YJzGcVVXAqfTZ6c45B0UKJ9nUgJ5RG5pQo11JwtP1G0OJmoO1bBV15yQS1jr7PlDJMm3fKWTZhJZw5jWDatJLZ5YvHB08VHMYo6tyODYRhWogmg7wRIl3fifd26AecEelMmqKIZHE5ONwXwl+b9GtkbC3ypJgjGQ2m7tMEntmbz6epguDLLQkJgzYW9c04wl6g3fTM5w3zvVqmlCmqhyXTdS2tRivUdU3tLX0n0UXNvKYo+c5gcVa8FM7L4Xo+m2GN+JSNEzmUs1YK4romZAFqeeel85izZMp6j1ssJmrgfD7nE598lsOjfV5+5TUenDwAY9nfv8xXvvI5Dp4+Ab7HrV+9Rtv/tbSETGF98h61WfP97/574rBiPj9m0/UYG+iHwm9+8Wv84R/9KYfHl6mbmRR1zgkqvhQ2mw3L8zVWZSlWF9wxe5ACq3XH0fFVDo6uEEKF95U0evTw2vetgDVChQkzrK/wGhthMPSakTzGdFkrnighZAvdGp0I9QpO8UpF3g2xF+Kmm2S7uWTaruO9d++IxK2YqRhGC9Fxc9lOW8ZiV+BzTzz1JL/z7d9jtphzdnbBn//5X/DOrXewo9pZI8hge3h9ZJ3SVx5BO+NEbbRVTPYJHilux6nk5Dmc5NKWcT6q4xmRadpJ5Dt9Tzn0qbxdI6pQUNaHC1uzI+1kSvTVl0KHitkpOn4tLGo7YR6nzcVIZ9lMYJ+xxN+RPU8/t2ZVqyJgvH65FKq6Ydh0j2ikrbXSzDvdxj0lnaCH4Alhj/PzM9brlcqbIrPZnNlsLtmbBrmHxqlaiRATq9NzausxlUyUhmHg5s0neOvWBzqdFolsyaM8TL6WsYbnnn2G87MVF8uB9WpJ08yoKgEDLpdrTs/OWexdZb1Z87GPPce9e/f44Y9e4PKlY0oOk5cKIA4X/P13/4Z/enTIweERH//Up3n/znu88dqrIo20Bo8jljilC2zhaDLplEJqnPiP96XmcKssGP288R4bAUrb93n7b0UJ3PJpZqLcYuSusVqolBzxGs3jjN169E2eCluDTGKTeuVGdsMIjCm7Bbqx0jr2mgueUVvJ1p9djJ2kv0KL3Sox5Gtp0bvz8YidF5PhYnXB3373u7z//l1+99vf5FOf/TQ3H7/JC3/3fX7y0kuQB/n9NcLQmLHbg0YECvXXasbq7n063uIjUM5Oaoex2eCn900iXBLeBrwV3kjwhvkscHx0QN8P3Lt3jzffepNcElevXWfezFi1S5kgYTAmMkZje+8mawRAXyJDjgx9R9dtmNULDvYOsL4Gk9mbH7JcPtT83sJsPqOuG/pOwJgpSYM6Dhq9EyqqRprxfZ/ZtGuCLUp/Vv4KIl32+qwFBWjJOUEKtaau2d/f3zZhFBA0Hmyj0mCtkTxQE5hiHHPO2FH14uQsYaxF7JwabeYkis5gMU4K3llVE4fCvfsPuVheUHLiaLGHt46DvX2VPMuwZMx7H9UixkRtgnpcSQw5SRzQWiZS1jiqZi7Z21maHG3XcXJ6JhPklCQLVCnK1lnNBpX7NpZIFzsc0Had5O7uMFbYaQSF4AneMZs3upcUBTjOqGdyLrfO0K1XlGKo65pr166xXJ4TguPw8ECnYIWTsxPOV2slKmvub9Mwm831HCoFUmp7IqKSmdUzqqrGZClWbTHUdYXJYiksvQwbVuuNNDwwXJxfgJOIxdOzM5yrAYnKcSpH7bqOWT1X2FBiNpvt1BWGvh/Ym89JKcq6oGfHdtMSKgUlacpF3/VyZ+n9JnWF3CemQMpgs0AkR8Cid16k7l03qRApheDFW2oMpGQZ2RcjIKnTafHe3pyuS9qMy+wtFmLTUKVACIG+66iCwJL6vqfrhYgscZ09VdVA6WQYo83rsJO7y05GuNRQ6yl+c7RVFVOm52Dc+6bzju7F8l4noto4q1pkwSkl6rri7KzgncBcWdTCkxmf3aZRm1mZrsUI/RrXP2sddV2RktPzuKgFhmEgaU7xYrY3Nc+s86JM0Qxg6xwXy+XEFtl0HYeHh7RdPzUvPsrrIxe2VTVTCUCRsXWOxDTIgUY7GnKgTPqGyYZknciEsiv0eaBYCQEOekixdluMZo3OMY6peDUEiRnS6WuZpFJFNkySdC98EWx6lu6OtdC2rfgvhyITUZ0ym2Ll5s4yCfbWTd4dk4tmAeZJMjrEgSFqBmNxlGwk/qcY8piT6Jzmv8qNWdczvHes16uttECnF7lApFAr/dcYQz2fc/nSEavVivPTB1y/fp1LRwuZJw8d69WapKfHGJMSbr10s03GB+l2F5NkoS8DQ4oYlyFllusV1ovPNQ+ZsNjXzlZHjD1kQ+oj9WJGHIYJPuK9o+uF2Nh1AyYbvAlywJlYJALbQpWhRTN3Rwmnt44u9ZQo0yITLEPO5CSytBSTyH2cZGLODhraTSuLmJEQ6ziInN0Zj3dGPChOs7gs9L10V72XRWSzWbN3sE8m0ywagvM0s5qmCtRVxabbMGtm0mVuO7pBSIIxJ+JmjXXSrayDxIqM2XMXFxeknJjNhcK4Xq8l4LsKE+xFpPSRvb19PYTK4tyTJEtSGytlSDJ1VOmLSPccV25c4/OV53y1YblaceXyFf7wD/+AB+Ul7vI91ssHPDh5SyOEAnUohMM5lIFnnn6C1SaxXi/xYY8vfeVb/NGf/Jfs71+lGMdyHUl5oM+tLHZZCsngvLyv02FM5PaliPeh5CQFrZOA+ayTvZRlQU/J4F2N80EaPnqgTGX8T2RjuZjJLylysjGCSyW8hcmPNS6KKY0+Vfl5ctoehlOM3L97F2PgnXfeEaJ1sFNZOB46pSEmX3cEthljeerpZ/nDf/rHLPaOWK9X/Ls//3N++cZr0+zLmnEKNGbIjgfVbTEwFWf6Xo/E4m1F5x/ptk7FxygrZDoTK1lWD/kGBalpqLn+2whCEsmxNAXHqd7oTZ+ifEa5cFYJKJo7yOhF1+ZS3MJcdDvUaZhGs+z4hre/7wjSCRIzpdnALkhZ5JzFIB3vojEXlixfsxi9H8CbBkPC+5pYJmejAr6M+HgwzGYLzs43GGvphkwfE7YIhO7k5ISbTzzBetNRNw2L/QVnZ2dY66mqMIFn9hYzbt68wdAPvPPOO8ShxxjJeB5S5MbNm1R1oF2vuLg4Z95YVTFUpC5BzixmFZ98/il+8vIbrLvMcrPm8PiIu3fvUzDcfvcOBwcLTClcuXSJ557+GG+99Ravv/Emn3juWXyoREJYRO10cXLCC//wd/zuH/wRznm+8lu/zQfv32F5fkKwTkxACo7aAo12mxJMvtrpzlPtebFbz/eoHBgVAmj7QXowjrILPlK/rTVG8icVyues1aIYSokqazfagJhBcWzWS40DUxqo5ruWMuw0LXal+mo3UkmyGZsiFgWYpKlhzM5c2uz4d0dQ5CS1H2/lqcjUBgyZkgZef/3nPHx4j69+7at85rOf5vf/2R/xqc98mr//27/l3XdvY1UKbmwR8JOxGp2mU2IrQByz8z4Yq2DEsfE+2rJM1maVnZ6rrNfYYKa/D36m1zUDjuvXbnB0dMyDB/e5dfsWKSWuXL1MVVecX5xREhifcUGkyhK5ErWZt3NdU2HdbrCuEqWcDzzx5JPEfJXl+pyzs3OxxWwG0iCyyZgTIWRWK/FRHl86JkQBNo2y5f1ZEFlhCJP6ZJRH5gy2bjRNITLEQRrB873J2z7mE9deIJhR442Cd0LjHgbloSTZi3Ihmyy2JGMwQQqMkjNYQ6hrBTdFJcoiUuQ+sTy/oFsvCTbTzGbsHxxIQVMJ2KYdWjabDSi8J+UsyQvrNQVouw0bVRrmnKjrgFW4Jiph7eIgsUbGkuOARSKHmqYRmXBScKWSh533HBzuSXQhAI77909Zrju1oWe8F3hULqLEq4Jnb15hnBJpK/Gr1oj15Ox0KYVXiZSc2NtbEGOHDXLYXm5amTh3He1mxciNcN5TVzWbTYd1ltVqTde10/CkrmsWCyHUn9yXdANvDd45YpLGVdbhR/AWQ2a5XkrUziyw2rTTx51frIkFUQbGwt7CEbylCk7IyzYgTrktYb9XIOp43oix1/fYT9a1nDIxSQMgJ5HoDvrnyPXpu4GqmstZugitro9RJ5gyfS+50PaiVLRYVUcGmT5nWRO99ThjCU2gbc9xtqh1Ts5JtUbUtG0rtZH3FCdWtWwMq007xWV5Y7ClsL+YCxVbp9GDT+zNFzgb6KNIqkMdRAmbIskKMLdocemt5HWnFCFFjHPU3hE1RqqUKPBdCzkmvCoVUKvAQbOgaZYYHQzFlKnUOphjIXeaJmOEiO6Mm6bTbd9hrMUHtxOrKutb5SrIA74YYiWqzE3bMV/sibdcLZUxwXxeY11h1tTSqLGF+aSa/N9AijzmfY5es23XURsGdgya1u7sCHsyVvO0olT2ORMqrwWNxsPopiH+SQErjV947A7sZk6mWAiVJ6sXxxiPSM3z1L3OeXuwMyaDddP0BT0kBB/ka2TUw6fTHZNkk8+yuY4Fx9CPkggr+bpePKE5JaXKSpdFfKMV+/t70snKia7d6FRWJ1Vue1gdvaKGwnxWE2OkrgMH+0ecnJwwa0Q6sFyuJzBD0bgMF4KEgFcVhUzQDrPR8YnzTiaiVnNqvaffRFCYiCDlB1wJAi8YRMYyXo+URP6dbCZvErmIBCjGiMkQGi1yrcNYkSgPwzDifOTQkcY4h0xTV3JIy0WjfoTA60NgvV7T9z2z2YyqqbAFCc72FW1pKangKpEjSQczaHe3TF02AxwdHuC8bFAZeaid4tLrutbOj0z2XKjo+2GLqlc666Zt2Vss9HvUk3e6qjybtlN6rUzMNu1GABvyoNB1HcF79hZ79H2EPOi0JLNaryVHzVqCkY2hH/qJthhNwTc1V65d5Qqw6TrOTpeSm6fAKOcss8bTtxFTBuKQsK7Cei9erjIw9IkvffFrfPbzn6OaHTBkgS6MBVbJEugt769eR4WRjQXL2DkGiTuRZ0izk9VHOpKfnZPAe+OsFO/jVCYXUpYJwChRG31Zhi0hOKsXJeUk93GQ7rYKDKefacTcj9Oms7NTYuw5OTnhl2/8ko89+7QU56VMnnoZzqoXzApkJJfEzRvX+fbv/SH7B0e0bct3/vI7vPHG63JQMru+1OnourMm5WlCi0aGjdRaM4JsxmntVIiKsmPspKYRDDRSjqfc2oLJOmnKYvcwKlukSLTYuB7v7e+zWa812B6NIWOS4I0/ty0BisGpsjTumheReCc+nNU5zvuMEXjDzqR6lGCLJ0tkuBREnWIKw9DrJh+w1tEPA66GpgrMqlp9cA2v/Ozn7M32GIaODz74gPPzM+raT5P6kmXNOj05JY9TvwJd19PM5kLBzIXTszOefPppfRYcs8Wck9NThiHqYD5igdh3rNdrjEaikaWoraqas7NzlurhPT87YbNpOVgcsbe/x2p5pqoUUSsdHe3zxBPXefWX77PerPBBpJY5w8OHZ9y5c4/9jz3NxfkFjz/2GO+9+y6vvPIKV69cIefE8eEhbpS6knnrl7/kqaef4eOf/CTzxYJv/cEf8m//zb+S+9gYQuUwCXK2olrR+69MGcp6Dz1CX9I10aDrwugNZtqrpfgzk8y96HOjj8kEZDIa/YNKqAUkps+5yp2vXLnK7//RH/PuO2/zl3/x76dMzq3Kwe40RuQsMUqO9QP0udlKe43ZRk6V3eaKKq2yFvrTp+54wvWJ22mGMykpKHD/3l3+3b/997zyymt87etf5bnnnuRf/Ff/JS/+8If89KUXWa+XwthAfGWytqlsvojf0e6qIvLojpBna/TFGyNSaXYUDWVnmoyC0vKoxDKWqm7wzmOs4caNG9y8eZPlxZJfvPoLhmHg2o0brNsVq80psxGolUe7QJ687dYYitMGpRbb680p908fsn/QcPnaVa7duMHF+QUf3PmAvpWGeNd3nJye07YDfYqsu4izMHQd11RCHIOwL0T6anA5i0IqiIRZ4hvjNJSQs+N23RkbNE7pvlbfRGvETxi0MeCsxAZZZ3Vdy1ikeSpy+KjTqDydp2YzSS9YL5eT+m/W1Phqwd7eHlUl4J+261mt1iyXoviYz+e0fYfznq7tGWJks5FM4axS6aD+xeA83jnWmuOaS9aBR2ahEWLCi6jUq7+mNh7nLeuNYTafcXC4z7yZs9m0fHDvIfcentCr4itYoSLHvodqO+xJcZBJWhe5WPY4b7ErufY5JarZDOsqurblwkntYqxMv05OzyYgUwiefkiT+nAYxJZhrGG9Xk/nvxACi/mCkgsXywuGdiClQh0CpST6Ts4QOcUtoFElxdZZun4gaPzLw4enCqFy+BAYun4aBo1Mib7vmM/UM1wKi8Viu4aolHa9Xk3RPX3X44wRefDQ46xY97q+mxqAcUwMycPExDFG4mxKQafootYc97+xA5j1LGSMw/P/4+4/nm1LzzNP7PeZ5bY57rq8aZCZMGnhCIAgkwAJFkFWsYvF6ih1aaKhhporOjTSUH+FZuqBOkLVXdWiq2LRAgQJEgmP9N5cf+zee5nPafB+a+19EmAV0KEOqWpHXCCvOedss8xrnuf3bAGAVVWJitFIpmvbjWkYEuHTtl3OnBfFi/Oei9UK50QVIBtLPUUFlYVhVjcMfS81c47/GoZBAFnZlrJppRkUAOpCtrBJ6myJ2VG4bEeK4yDcO2JWD6icSmKLIt/X1aSequqaFHuBsjqfCc8Jo+2U8GELtrFBKLQ1EOR6Z5H3wjnHZrNmsVhQVVWOdpLrgOv6idpbNzUXF2c0s4a23XByeiy2SjUCLMVOuL+/3EY//RyPX8BjGzAGrJWTtHc5CLwsJv23c04otspgM646+CzhQ04crcTrmEZYU4I2fy9F3vSlLFvWRb45iKwkZZO60ZYYIPok9McMF9BKC8o838CLQl6eUz7f7D1JeVwIWFvjQshxIRYXnUyg8hpSKYMPkvGpM4BgvFWGfCEf78UpyZQmJcn6Gn1aMXlQia7dELOM1XvJDautRWeN/Pj9zs4vqKuK/YMl5xennJ8dS1hxVUtxnk8aYy1Ga6HDkRjajmKU4cYgmxAiVhXk6pSiLMD7rI2XYlTnky2NjXDWvUNgliUT0mRX+KFHZ6S/oM8Lun4jKPrs79LaQtJC/EMm2iEyyS6mQkaJN2sM7O77DqUSm5UDBcPQUxRW0PEKUvQMvkXbEmVk2hmTR6mUic/ys+qyop7PKCqLrUrQic2wwUeRZSkt/lbyZqwfHNonvAsiXcwXL7meBdzgxdeU5d9lUTCfLzDK0GdfR/KeopE4JpNzwpICZQ198HI8ejkOR9hK8I4u35xmTSPHUhIlQ79aST6ZkfzAvUWN1RWr1RnV1dzYWoOtLEqXuMFBTFRNRVXPaYdAjC1Xr93gc1/4IqYqGUIihSHLucTz5n2cLoSyjfaEjO0cMe/jcWmLQqRWJNI4NUtpooMrLRFXSotkRatiZ0vEFKtjssx5hMDlShNUlKgNJe+BIIHzVFZpjLb5YizbXG3kfV6tVpweP8D7ju/+wz9wfn4h3tGYGFFxQjUvJm+fNLiR2XzJl7/yTyjrBefnLX/5l9/i7779Q3wcSDlyYaxER1CLIlPVCZB8bvxdbvBivqGFPBSQ1xiihNCP/sTx+ACFR6iPtjDUdUWZvS/WWJq6oTB2gthYYygLIxRUJ1L/L3zxS7zwla/wx3/wh7z66stZqpU3CLmx9fn89k4ylrtepL5+9/PJDcQIqBv94qQkACKtsgxz+2u8+Vtrs69/13+8nbRbY7HITUoXmqoqsXloZq3h5kNXsSly//iCYeh4//13cwagyNqiC6xXG1LwqBCluVKK07NT3nzzLSpTyCbRCiV/HHY29Zyu7SmNRWcPWAIKrXCdTJd1HpIUphB7Q5Kt0Pvvvcfg3sU5x3vLiqeeeYZvf+ubMoB1UhAMXctiNqeuNJuu5+zkhMKWwl1Iiffev8W1K0cc7Dc084bHHn+UV156me9997u88JUXWLcti6YWmEY2o7z4D3/Ptes32D884qGbj/CFL/8q//DNbwo0RUsciEyM00SEDdPnOPrAf9ZUe6fhzRvNcVM/qgBSiqio0Xl7mOdw23jnHV+13COSbDO1nK8hBN579x3+5q+/wVd+49f5b//1/57/8Cd/zPnZOcWYR63zMGuy7Ij9xsUg+eExk5InFJk0w1twW8jpCNI8yEwsx5PFOIHSLgPd8tNX2cM5vQ954xs87731Nrc/uM3Tz3yKr37tBX7l117g6Wef5ht/9ee8+drLsmkbG2i9bc5H6vN4Hm2H7zse7Zh5FFrnDFK5IMYcB2S0yX++HfIFwk4kSPYpklgu9/nsZz7P2dkZb775JonE/pUrDE4GrcYEUuxkW4fINUWbYaa8yoRE84Xk2XQr1v0FVVVRVyUfe/JRok9sNh0ffniL49P36b3n/HwlnsmqytcRNWWwjtEzhS3QhdCXU6FkY5lrp9IW5LkXIULdVHR9J8O0CLOqzt7aOL2HPkXhLuTtvc5DheBF1hq6nrKqhBdhCryPk6qqKCqKosyfjUhqrbXs7+9JbWALTLbEbVZrfAjMFjNijpBzeYB2vt7gk5b6U0WMki1liiOsR9FlSqzzjsIa6rLAGktZyD1QVGvCpFnOynyNVWza2aS4e/DghHsPjlm3Il1GJUIKpJFBEIOkNBCJBMqmAkNWTcr1vXcD2lqquiYi75FzA0UtXtDg/WTzSclycHRA2YsP8vR0Te8Dbt3S9x1VXWfKrmY2n7O/vwcoTk9P6boOqwqCd7iUN/QpihIxiiQ95vjCkSo8OE/Xb+i7gb53k4fSmAJTWPqup/eOhRbvdZ+v/aosCYOntEIq9t4Tsv1N+o2BwlQQIy4fYEkr+uCJWiKChkEiBnWul7URBVppqimSBqAoGobeTQu5iMR9qhin2j0FSd2ocsONkeFeWeTklEKBLjOdXuKLiBIf6Qc5F3ebZltZ0FA1NQSPKWRJNFsuSHnJE3PNmEiyQIuSX4wWG0IkYks5d2IUV79EQVnxy7tIWVSZQi/DxJiPV2VzozkMVEVJP8gGuaqqbGeUX13bS2oAsvUOTpY4siNM+CCwMV1qXPRYCtabDauLjaSpAGerCyGP94q9gz02mzbXCHI9iNFJDjONLIs2XbYQGdp1i5rJIOjnffz8VOS4DfaVTt0SQg/ZH5ESuYiSCWXMPs2cojP5cFOm50GizOuD4GXjabM0zw0Z8DLm1OZm1oeE7wVVrUZ5YZZejZu2tHPwpNF7gsK7mPM3c6auFg+lG2TTIit1jdWyMfHO5xuN3jYeapwyh+l9qGsBPiml2bRrIEw3Wu/dBJao61oOiiAf2OHBAZuuY3ADs9lMJiHGcnBwwN7+jOPjY9wgFOPgR/hGkgsPjaC89WisL8WUbWQrZ7TIYfuhB5WYzZrp+Q4+ZIO9z94B2bqUdSVb1x1ZucuUw6qqISmaumE+X9B1G7lQRtis+olC6AdpOkOUzY0xGmO1AItske+sit6NxvMxbmM70UopUVTipd1fLnHOsb7YoPVWwuq9k9c5DHm6L/KlqqoorM0bPpkC1lVFO+QNgbWEOGZmiQwcn7dOA5RViet6vHfs7S1FjjMIqbHtOmZNzfWjA5pmRpE9KKOUfH//gPOLc5wbKAsBegx9j9GWpqqIUUm2mNaQp11irPfSIOaGcaTVeedJPlJWmqIoeP21V/nkkZzY2ogc0NYlyhrS0DNbzJjN9umPzzg6vMJjH3uGqmpwKU6Dn/GYjFHk+GVRSIySVGVT45vyFtLmKBSbwVcpRoIb8uQ45nxdKw2QaynrWoq92OcNkGx2dP5MUoiQlQ1ab/PcVPbOmtw8++gnSWyKSQrL3DDG5GnbC0Bx/uAWlU58/wc/4PT0lL29fd5//0Oc6ymO7vKpL8Gt23d4+zvfIzrxT0VVAJrHHv8YbfdnuKC4d+8+r7/6Gs71RIZpKyd5v0weepXVH9ZCYcfNS8rHss7DgBx50XVZFiy+kbqqJ3jDJKDUilRYfK9oLzZAyJIoKLRMb8cm0lrD4eEBhdVYo2hmc55++hlu37rF66+/Pm1Pq6qCvGFCKZpGjhkzSbnl2hjSblGecqFhLjUFWolcmDG2ZWdbOz52JbG7nk2yzN1ojVVyHdCFpiwsVcb9xxhZ7i1YlAVXr13h+OQBdV1OtE3x1Cnu3bnPD37wI4ia+6dnImKNjoceukYcHKcnJ2zOWy7OL2hmM7qup2nmhJAYiBS1SMSM1gxJttAqBJqqxg9CoY950ND1jtPTEz748C5f/MIX+fbf/TW/+bVflUGgtRSlDLlm8xpbVdw/PePNtz8ETB7eyfnQ9wPvv/8BB/uf4vTsjGvXr3H/7l3u3L7Nm2++yVOf/BTzWTN9JqTE+dk5f/c33+S3/unvUpQFz3/2Cxzfvccbr72KmmStTER9BWifpm3m6Im+BBfb2YxtfblMTer2X2XC8c7XqpFgrLKcOY7S/C0tNO4SOYPntVde4fz8ghe+8gK/8U9+m//4J3+KH9rcGGTyMXo6XsX7ljOXQ4780duUg+0mdoe+rKSuUGlstEdP8dhIbCFNl+0CarupHmXMUTJ6nfP85Cc/5IPbH/DCC7/Cc889wz///X/FW6+/yt/85V9yfna685y2/vpLuofp+W6HdtaoiQsybrhFnaGm2mZUko3XhZTBReNgbfTAJS2U2itXrnBwcMDFxQWvv/U6Xd/x0M0bxOTp2hUhDhRVORGOJRrHoI34Hp33KKMwhcqy1Ja2X2MwLOd7HB4dcOXKVY6OrvDGm2+xOVvjNi1H8yW9kwifo8OrxDguN6TxGBt+YzWVLadDaRjcNNjWWtF2XQZTVbKdilGufUZLRmluLH3wqDzE9z4QYobRZL+ezrEnxpi8GCGTnTXtps+WONlSW2vl2liIrDUOA8HLNb4uCgIR14tEsmt7sScN0rQWRZFr0BHAk60Y+XizObFhfz5nPp/lIYVI2J0fqJuKvb0lPgo9VzZaS87Oey4uLjg/l/tZWZTZwtfh3ECMMASPUQJpSqWmriXqEQ3DUE+07lHJoLTkqvZeolrQmqHrcTHkjOBa1I5Rhml9L8uLth/ou466FCZJWc9YzBeAbKYvLi5wvaMqanQyJAtGi9JrtWkliima3LjH7BVO9G1L1Il2vaHbdHS9Iygldj4dKHRmIOSBlLGWWonMusmbTu88RVHtJA3Ieeadg6rKLJ5t3ntMkbbrRCad78VVJUpIi6GoytyrxAmGNUYwxrBNJ3ApEMIwWSblj2UYJ6kqEtVTlWXObRZGuXdS3xlEhTnkRjcpna/PwgloZsJmmS/mxDEiy3uWyyW2KLh95w7OC0h1kynBXS/kfjPCNrOPeAQGC5tGLGr9kPsPtHjYtcHnBljngeHgHSrpTCPXYsnJhGitt2Rn7wNNVcrPzgqsMYPYuQyrtDr7vCVCSpJd/NbCIc8UVKSuK5SCTbthsWikVyExa2as1xtclL6jsEaAxerywPI/9/i5G1vnO4qiQmOmsGEipGgIHpwfsszOyDY1IcAmZWRVjchRlZcwGJGQCNBCmp8x901hVabAhRGrr8Z1l1B4g2RnJbQU3WaMsIi4mMOr9ZZ8hoHaFrmANznCBEJIhChTnaQTuCATorKQAHulqHUhF9rIlDU5XkS8d1SVyYHhu5KpBFoK4aHr8dFhS00zn9MOPcv9A+Z7+5ycn0+yFqWVEJtntRj0USKTiBHvnARd1yVlUxFDEhJzkGlQWTa0XQtRLsTiw3WUlUUWODmSaNxQFOJhSUE2W957hiFSFA0pOsIgWvwUoS5r6qIiDDIZijpiS0P0CefBmqzBj6MMHZwPE0AqeI9N0rRYYymrkr47xySFtnIiVVGouS76vHHR9M7nZrpCZ9m6LQS64ior8mUbaRrN3nJGCNJgFpVhiF5ywsIgXrYgknLGgilvzsTULxlmwSdUZamKHFPkY5Y2jbj8in7o2fSeqijFo6gMtqpBGaF/o0leYFMoWG1WDLGjHIO4Xc4n1komkDFKfAgq+53jRFgW/2Egak1SinfefYtuEVh8GW7fucPQPeDo6DDLfhJJaaI2zBcH3Lx5g6o+YAjyOSQlXkmVEjrLwstCZ6/ygLI2hzKKB3JWF8zqWuJVQqSwQukF8W9oA0VtKcpS/KdpxP2b7QVohPXkRlwihQT+UGQgmWw8tpm2Y8E9AYryjWRbbUtR3W1aun7gww/e5fj4Hu+98xaLWY0xmrffegOAA7XOm8oOP6zxXuwQzXyPz3zuOZZ7c2azxJtvvcOHH7xN03jqOqIwKARkYTKpV2UogmSm5FiRMUJzFCvnHNypcNUKq3Mcg5YBW9qhwGut0CbL8FSWM2mBpiits7dxbFhGv98WZnPtoYeoZg2v/+gtyqaiRqRgEuye30+9LZ6ZvpccLyZTI1WOS0oT9XQnH1IueiObIjtft9u0UYI9jW8nXJGcZzbLCNEJZaDQksFntZ7AOkQIeWNoyyJn8uXmU54Ey+WCZlbRLJq8eRT42eHhIVVhODja47333uX49AGPHx6w6QYOD5bUzYzX33gVlSJGaQ4Oj1jsLTPV0hK8l2uV6wkucv/+Cc18j3/2W1/n9Tfe5KmnnqIxicPlkqeffoZCwwfvvs2m60RmS+LoYI93+HB6/cuDJafHJwDce/CAuw+uc3R0QD9EPvHU0zw4PeXHP/4xTzz+BKt1S12VaJ0wWjJUP3jvbV75yQ95/nOfx1rNl7/6G9w/vs/pgwdY0aMLz2D0PWcPrYrbTaw0StLchTGXNW15CCIb3crJLxcMO77XacNLBkFpks7gqWSlGRkBaUko/TEN3P7wXf7o392lamZAn5kV24ZQk2M3kjAt4ihz3nkeo91gVF+N4DE1EsMzjG0bFZKf/RQ/tIXGTVuS/Pq215k4UdFFypc4vneXP/7DP+Lln7zCV776Ap946hkefvRjfP/FF/nh975L17VZcZFI2VY0bYB3LgfARK03Ofc2pTHGSGV7wPYaMubWT01TVBPtmLHxHb+fEfjewcERX/jcFzg5PeGNN14jpsDh0RGJROs2AnO0UmtpwOZr1ma9yZFh+dzO9pOQIqcXx/RDz9WrN/jkUx9n/3Cfxz/2KKuzc5pmxttvvS2NQB8oqxKtInVRYgtRp1hjSd5T6pJVfwEZAohSDCGCjzkTOpOUUay7nrIYz/00eVdjloEqk3DJ52JZKNxFlvymEMEkYh7ouzyo79uBspImUEeDrUp0UbBar/NWt0Bbi/Mixe27Dau1EFq980QvMT1N0wj7IwV6F0mBHDsTUKKDpxtaamOpS0NpBFpaFpZZXVGUe8Ic0Bp8pOsD9x+cEhNcrDbSUKRIVLIBRCe0gRKDQmxuZaFpGsPVKwuuXl2wmBUMIVLXBb3zrDZrlntLkWmTsJUhmAK0oh0c3TAIayRVpAjd4Ni4XrZ1MeCjNHmzpuZgf5+6EVub0oaEwg0dOkWuHR4I1XjTc+Ed5xcXFEVD8FnFEUG5iDJyf+uCz9YieR5t34lsXRsKK0sIrRLtEFClzseKJqqEc2CUImoJuR2GLtcf43kSqZt6WlRYK2kmRUpsNhsh4KtECA7neka0hQ+BEBTRiydeG0vvxNudogwkUpANqbGigNR5/mUKjc/sgZAiJhmIUBYSXaOTZgiBLjlWXT/lt89KS5cCylrhC1UlQ9fLx62EE2IzDHHIMl1rrDTzIYlnHE1lK9brC0iKvXlJ1YjkN0yDhABInrRYO+ME0isL2X764NDGUGZy+MhCCjFRoChsyUXYsGk7YlIEpSVCicTpZo3RmlnTyELIR6yRIXXCo1XA6izLSAllND56lssFQ/awC70+L6NKy3LRCPeHyHw+JwaP1eB1YjGviJTojagUL1YX/4kO9fLjF6Aiy0TXj5ldIZM6lRAMRaKSJrS0G5wUTgQsBSHJhUAbCewNeQMywiGKQiRjIYORRkmKy95FydkU0q3L0xZB3wsiPMVxuyuAAZXJYClPUEUyvZXQMRGac96asRDBe5F7RR1ompqktWyWgkgBGCVM0y+Z+Ky7VrybKgkAK0uz+76nqOSArpqK+d6Csiq5detDYgxcvXoFpTTr9QofPA+OH0A6Yj7fy7lukdB1uI2nNgVFUTPEQWhpjD7P3MAkR0iJTdvRNDVaG4pSZ9jUOF03uMFT2WLHIyx5bFWl6fowkXJR4uVbrdYygEhG/Aw6ZVlySVlUtO2Gsqzo+z5vVHNDHsVrorIWf70WWp94iMSTNrhtNEkiYQubjxtFDIFohChYNpVAPLTi6tUl95IDAraQOJ3VqhPMvxFsf9gpGoyRJrJtW6qyotSa+WwmZOYQsoRRjgnnHCHLdUdPj/OO+WyOsYa27/IGXQYZVV1DSqzXa4w2VGWV6X5DHrYkBjeIvCYEZk2D0RZdSvM+xmdpLdsMlWMktlS77HUNkbt3z1gAH3z4IW+89R2ee+4Z5rM5dVWKHCokFssDjKkYBqFgBy/eVmsUs7qmbGZZPuRzgV/I0MSMtWzC5ExZPW4+1OUtHVNhuL02/Oce6VLB91NXl5/1FTtfo7ZDI9/TzGZoK0T17333u1POaUqJZ599Cq0T5dUHKPUq129cZfHpp7CFpWlm/O7v/T5PPf0soPjRD3/C7Q9u86lPPI4x40ZrJ+Rm53WrfOwJGCVOz3HkDchjC4bS40YoCYhL/qXOcSvjNWT01ImH0Y6Zkpk8u7u10nr8G/l59x7c4d/+u/+JbtPnG2+YJqzjcx39dqNsc2xs01gw7yCEpiVTjMSd66RSGUo0Nkc71z922p9daqNAt/QEAdJZZr794MevlRvqeHyMMj2dqbQBAWIVhWU+n7PedFOTPbjArQ9vcbi/ICSJjTg/P9shuC8EkDP0ED2Dcxwfn3B6ejZNzY3WeOeZzRv+xe//C9mMOc+t99+kLiNvvf4jrPKcHd/n6tEVSqNoqoJ33n2XTdfiXKAuhGobGKWS8lxcBmS89fa77O/vc36+4vq1I5544gleeeUV/u7bf8dvfPXXBWw1emTzFvQHL36Ha9dvcP3mTWaLOV/92m/xR//ufyLFgM33u5iHSZfPKTU1q+OGMyixmagRynZJnrvdEP7UGbkzpE15bZqmJnE77Ih5Kz8ez0arrCQaGC4cxiSMsttzfPKT53zlJDL7kYmxhVxtn+fu1nUki0uO9bY5Hx9xAlGODe7Pfp27Htzxv2PKBWIYeOPN17h95w6f/8Ln+MIXPs+vfvWrfPKpp/j7v/0Wr732St6CX5Y+j5Fc+qOqhsmf/rNf0/jGjBJLJqLcljy6O4CQ2mikT8PhgWThnp6c8Nbbb+OD5/rDNzGl5va9t7G2oLQqA7ZE9VVYS1EKKValRD/E7CFPtMOGW7ffo64alDY8+rGbXD38NH3Xs7+/5K033+b8/Jzl3kLe33zOJp1p9ybRdd103Q65UZi8hjHg+gGVJFt63DxZKzsuyQ3NET4p4gfH4Pw0oNE5q368zg19jxsGojEClNOa/QOJrtPWYPLgzeeM3NHrZ23J8fEDnPf0g5BZx4g5NNSVpGQ4NwjkqpRhicSbGVQSn35dzVnM5nl4HJhVNXVdM8u1T0iBfhjwDs7OWu7ee0BRlUJBTpJRS75eaw1VabBKU5X1FI10sFjw8ccflvfIGjQWn2r684tJYtwjsZEmb/YkxsjgQkCpxHqzwQ0DQSWKWtRvvXOMVO0i+4eFiu3pncPYgv3FgrquaBrJv12ZNd45Nu3AerXCp/GYTdmnOlDVFUkFnPN0wyCSX63QiHqmKpWI15xY3YpCtv6FMfRRMrlHlkpdV5yenlJVldRyfgSkyaB0VlVUdUlVVxhref/9D2BkIeZrStu2WcqqMvcjS4wzedoYkxWc23pUbFWygJmuP0ozuIHCFHINyPcva8Wml5Ri5TdybBoZdnsnqkmySi/4Aa0ExDf0A4MZuHLjOnVVcffOHdbrNcFHDg8PmdU1p6enqCQ/Y29/Tpk92+Lp1lK/5+tI13f52iHvU91Ukj1MpCw0RSksF2VE0RGD+MmVNlPk1jg8GHqJZazrWgY4fY/Rhr7r2dvbk/5m6Kkq8aYLLLeVwUKIVHUtFlGz5SMtl0u8d3R9T12XKBIeJedbXdNuNtM9QK4djvlixsX5mtl89lP3qX/s8fM3ttGSABeFqqhtgU1gkKmr0IVt7rg1yRpU8iIh8Q5lRY4Wgs8wsoTBUpiCmAIpiHQ4pkgfvEhzrSUqJi/GOK0PyTH0AzYUEh1iFSF6mfZpNa3IU86LNfmAkgZLokxSkElmVRqBkkQnzWEssKV43cQrkDNaVSKZhMFcmj7LRWCL9U4ZjT5uheu6lqa2lMBubRWbdiWyxxTYtGv29vYwVucpmeb05JyUoCwXnJ2dEaIQBNfrjcj7cuPvsyHb+yH7+FKmzVnqWiQlWhmBdI3gjjydRWm0LYh4VM5oCyHQ+0EoxC2TVKEsS1SM9OsBVciFYrFYEOnxYSBET9e16MII6TfIhiRmsElMyIY+Rtq2gyjm/qoocZ3LkmRFVciNNaWILRQUEVMVdH6DraAyQl+sqxptFMcPjnGhY/A1UUf2Dw748pe/wr//j3+MNorCyollywTOSVC6STl6JhcWufAxWkjSyubFXPK58Iri+et7xgVj5zvQir3lkq5vJXvTRfb39iiskBa7jUx+l3tLlDZs2pa+6yVPGEhBpluFERKzCw6lDXVZY4oCFQSitN6sATCFRRPyMddzdnHKD156CY3micefoJlfZWFKCQh3PQeHC65USykeCpEdl6XIzbUttk3bDohpt2EdZV3/33r84t9qd4M7PhKr8xMW+0coEu+/8xbrizOauhaYSYgc7C2xhUYvZMJbFhY9nzGbzfj6b/8On3zqWZSyvP3WO/zVn/8VECmKvEEUbSLk+BmVvaGjF1CpDFRSZDDTaBDYWT+OnNOdpnhs/KSqDeOX5e5ArnvabDeUZBBMSOOrD5eoryK7U2xWci4x0pDLYqdgFpiJ9DfbRnWMA2FHljz93Omzuiw1nhp0rcfZx6WPZczc2y3WE6IiEAq6QSWd4UbjxFZv35LshauKOlMozWThIFtDjDHM5w3L+ZyTVU9I8OD0nGvXr1DZCqU1d+48mHzFzg0sl0tRTwQjcsDlApV9bzH7ae/dvcP5yQMWVckjj9wkKYdzK3wOmB8GoZcuGtleGFvQ9w6DljxqY2maivPVQERzfnbGIzcf4vbt20QSZ2dn3Ll9m5s3b3J2cc7NRx7m1q1b3Lp1m/c/uMWjjz7M4f4SpXwOIdV0647vfOtv+frv/QuqquChhx/hyy98lb/56z+nLCQ+RU3sikAMskVNmVQ8RvkICKrIMLPtkEXB5LkVX/RHG7/Lje4IOxq3mnq6XsjKLyQ1xeelGKfNYvKeiCbgpucTwghgHKNzxkJKhquTNPuSH3j7fEIY/bHx0vMbv//4/6PEN2QFkDy/7Ub0o43lVExlG3NUkYvzY/76r/6Sl156mRde+FU+/fwz/LN/8ft88rVn+NbffJOT+/flWM62iqTk3pzSVoVyeRGtpmHldBLu/PnEoJr8WyOoauyIR3ieysMuTUomx69ZqrLmytVrHD845r0PP+RidcH1mzdRCk5Pjyms59atd3nnvddJJjH4QWTdmQeglCY7S0gp4NKAioqLi4F5VpLdeOgqRVmwXq1ZXZwTo2KzcZhOU9SWFCNu8AxuI/wIFH3XgU45giuyGfoRgk1wDmsFAiW+foUtM88hOYa+x0epc0TdZ6aorxgDLiRWq7XUQymgYqAoC6x4RfBeovW0EhBXzADDiObiYk2/2gj8MiXKLIkFDdaKtzU4jIrYylJVtUQiBT9BFpeLmWTUao3RRR7CLTHW0swafIicPnhA2/Ui9x0k79N5l1UHsoAxColgnBcoAqWFG9evcHR4gHcDy1nNwd4StHiAzy5W+OiZz+eEEGmHAZX9pUO7nnyvPiUZ/OWhLFo24n0nS5eqKnMtKNf3TdfR9z0xX/sOj0oWswY/DNK4E/Ep0AVhikTVZ4WkNIiDG/B4TCpww8C6lRhBHxPKlHTdRuxzZaSpLYpEYQyzppEoRG3xeKyyBCfxicKsiCwWZQZHbSYCd1nK0kjbxMHRHj5Erl6/ymrV0rYts9mM9XpN34snu7Q1WtVEAv2wIeIhStJL1/X03cB8PiNGqed774iVpWlKYhAA0xAjprFoEi66rGxzgMeoSGUlTaPrh9yAl+LnBUkiiJHZfCYLB60otKKwMqy5fu0KwQdOHjygsjOaqmBjxMYzn88oCzlPzrqLLGu3UufHyNCHnZxwAUJqXUkkqrUYHUUda6wAApUc90ngEviU6Db9lP9bVuUEw+p7AYYVhaHvO4YskQ7B5yG6hmTQqsCFga7rMYUMz6IS37i1BYUpqGxJ8FGGAyV4RM26Xm/QKcdiVZrNxZqU66LSWqpsN/15Hr/AxtZmOV/M1F8r0TkTHTNugS0w+bVCEIhJKfzurMLJRrKUp26YycSdokhAUvZQxJy3pI1QCEdPaMpZViGEHEughdoXM4E5Z5hVZYWxBhcEVa+VwVpZz6cRU5gx6ioTBG05kkwzZCcJUt9k4EgYG+Y8Pe+7DqXM1jOY/ZsKhHLmnBCADRM4oyht3qwNHD84JsRAVVey7XYyyazrGaen53IRzZtyUkLZYoIXyHPIqP8QUdaIlFmPpDOBKoyEW9cPxBCFYhdHAIxEKqm8bY1RYUyabp7eO8YITtcPzOZzlJIw8m4j/tfZrKHrOtbnq+3WJ2/zlZJis65r3BDyBdBhjcaOEiQt+vpN6kW2aMX/Y4PBZJKbznTstuuwheXhRx+hyDKnxWKfEAqSEslRyFAFOVYLUogo5RmGHmM0m9UapTTzeS2SG51o3YBSUkQ7N0yB5t45vLbYosg0OIUyAhcrixIXBzRmyhBLCR5++BFOz09yPJB4NuezmWymCkvXtXlKVbFar1FKsVqt8VUgVKJaqKqKDF+WLOa8hUgpEoPn7PSMdtPyxS9+hV/6wldp6oammcvIyJY/1U2qy//zX+BDCux2fUZRzjg4OJwGVynDrKSp3Co+FJpZs+C3fvu3+dQzz6GS5cNbt/mzP/0zVucXGUo1eul1pqhmf2nuvC5vX7eXMaZS86OP3W3zWDBv43qmVzNGZGRJkiZLnFFyrmcvZUpxIt8KjVrkcwLJEliH3ZGBqxw/obPsfhfkNTYxim3+JyR00tO/mTZQMW6/30580rSu+yn56OUGSeU3K8aEstscwPGzHAv8MWh+Pp9nyizbfzuRotXkLzy++ICUNOuLjs2mY7nXMF8sCB/eY7NphXew3rCfZcdDF3YOez3xGBTw2GOPsb5yxBtvvEHbttiyYLPaoJVhcF7IlilN73s/bOjaPnc/iVnTcO3qIW13FxcSbuiZL+bs7S05O7/A+8D7H3zIjRsPsdmI9PjJJ5/khz/4Ia+++ipXr15hUxiWi0ribpJU/Pfu3uEnP/g+n/vSl1Aknvn0Z/jg/Xd49+23BMhVGGKmRLpMwx2Pr90mb6sqUNuGNH+GCp2VCvrSlnPr101TPFUa/VGTj1dPW9wYtxvbsSFVOa4rhjCa06Zh9XhuGKMvNa3b43tsUKUQnGiYOw37pauC2oLLxtcwNsjj/4/E3MxE+6nmfXuuwu7ZTQzcu3ObP/yDP+L119/gV3/ll/nU00/z2Mce57v/8Pf84HvfpevWjLA0cqSSysPa8XVc9i5ftjGktEP7VNut+9g8qR1itZzLW5+hwA7lHj4W+9evX2d5cMDx8THvvv0Wq/WKxx5/nOX+Pv/D//D/YLNZTeeztjorOvL3z9e6ERAGChd63vvgHeqqZm+5z3w5E2lrIzyIs5Mz7t+/hzaG2XxGTGJV23Q+D62hLCU20IdAEYRzYoCyLLM8USwSWinxlertgEKANrXUn5niOz58JvGGGKjKiqquhKqaVU/DIN5JHwZRLBhhIZydneJ6J/mssyZvVhO9d3SdeGxndUVdlpIdmym92hiMk/oueTA64bWwH+aLPYyx1HU5kdo3bcv5akO7aem9QI4E/gdWSc1pC4NVMGsaCqtYLmoWi5qqtMxnM8ryAKPINVzKsY/jMSL8maKp8DGwWa1w3lOVNsvsA7NZjev7HKel6HppskdvshuTNnSkGAGCObauLoW0PAKFLi5W9IMsP9q2y3VnIg6Owsh2ECtU3iEDC2OKOR2E7LsMuMpLTn223RRFyfn5OQfL/Uv+zpHie3i4pCgMVV2SCHlolX2rRjGkyLpv2aw6oXHnRQ8gEtd8PmmtpR53Es0UifRtN9l1AGnKMsm73bT0ndRiI9fH5KGJ0OF19gibfJ3SzGZNVgG4HBVkSYWAcF3QFCTms5zVW1U5MjRJ7FNVc3Fxzv7+PnUl6r/FckEMAsOtKsumbac4v03bCjy0bKaYyfG5V5Wwb6J3kyIypSTnnJH33ViJayIloo945bNNU9QrXQZKqVx7972A6rq+Q6XEcrlk067YbES12fU9s9lMjoOcXOK9E/hbvp+4QXz1Z2dnsuAqpdEV66XPEVyyLhgXRVUp6qqf9/ELUJGZpmwp+zjDEIh50mZ1meEwSoKJS/GghuQxGHTS+SJVkKJEtqA0IecrxqCz53bESEPwQ44S2F7wu35N348xEipHSzislXyoMKL9k0z+ra3kRhOV/MrRFuNUNLiIUgFllOjDUbK5yzee4LO5PWmCiyQtZmhjLbO6ZrVZEVPAqFFWl6YbjEwkfZ5i9plUpqct0Nj8qyB4yzQkQp8peElz69YdKUSVlYu/T0LBw4A1GCvb6ZHIqrSmLiuUFkgPQW6qppB80ugCIZLhRjpTqkXWMjb+09QcL34IyGAAIbiKTzPRWMtF10mOnTFsVmvc6BWY1ZMsefTNFMZQljV9dyYHeFJ0A1RliXcBqwy2tLJh0hFtEs63+E2f438KgguElDBVmWUqmv2DfdarFa7rcIPnP/zpH3K+OmO2qHF+ECm6luduHAIpM4qBSBgCvRLpTrCi81depsKC9k8UpmD/YB89bieiNDJWGwo0MQR0FLiPyh7xvnf4cEE/eNDiofRuoKlKQopshi57Q0rKuqHO9MNYShHT5vcOI8OkpmnQaHxYAeI9KY0loPDGsLc45Nr1R/HDClMU+bT+xcz2/yU8lIIQNf2q5drNK+wfHLG3t0/fd5MKBJUmryFIcf0rv/ZVPvX0cyhlOT454w/+4E+4fftW9v07NHHyowiEYmxMVY6+4pJ/cXyM/tft87vc5G0b2W382O6vlAs5rXT21srXCjE15agpTSTmDWtEJUVVlBkUkpuMTFIeabnjTSyEiLUjEVpNhf6uTFM2siIXHu1/Y8yOyjfuces7bv62jdPYbIdt1y+vXr5/bnwMVvBVegySGYcIDud7UAuUkoiQkMj+dSHkRiWeLVsWnN+/T1Ea8U9pzfn5Bcf3j4l+yXI5o7SG4wcn3Hj4iNOLc/b39mnqGefnZ5T5Zi/HUETn6JNkEvPFjJOzE1ablYjF87AwpYgPommz1hKDfC4aBVqo9tpEHn/0Blol3nv/Lp1PvPrKS+zvH+RNBZydrXnnnQ/41Cee4OJ8zcM3bnD6yDF37z7g7Tfe4bnnnxZJrjbTpg4V+dEPvsvR1Wt87MnHMdbwwte+zt37/yNdu0YbhVWahMfESPJh8lErZFOTA+Hz5yvXlmnPOTavO9tbOe63DQ3TcGP7maLkaySRW08DH6EVj/E+aqsSQOWhInkwadCmyLFUWwm8NCvb82QrvU1ZPTWOh9IEcZEhTdy+ZVNTKMwHOW/1dC1IY22Q34DdJjnmGcDYxqu0k4urEmFoeenHP+K9d97hl77wBb70y1/ghV//dT719DP89V/9Oe+//x7Bi0KttFLsphxTo0Zvuopbpcb0LFIeponkf1qGK7PT+IpvbatSHmExWzuD/DKYUqNjojGahx++ySMPPcxqveL1t1/n1isf8tBDN1ku5hx3G/wQqUwpAw8Tp3oqpUTykaQEMJlMJIbARTtw0Z4LuAvDjRs32Z8tuXHjOmfn59y/d0xVVpyenzD4jrP1CUVhOVguqU2dYTayIU5eMa9LSAaf5ezROXrvsMaynM0o6xpTlhMt2cdOSLo5TkQSIhSzRZNrQCPX0EwMTvl4lezTRKGl4Tw+OaXtWtmY1RZdyVDaDy5HO2lmsxmzssTqyN7+krK0nJ+fAxqDEG1VlYeLSjZ+2mrJLNaJdddxdrFivd7Qdj39EEFZgpN8W2sU0QeqsmTW1FSFYVZbmqbg6GBfvPeZn2FyUkAk0V1sdnLdxf5wvlpxfH5OApqmQsWEVYqmLPLWTVEZkZMqrSmqAtv3WGNZr9f4YcBqC1ZArvMcOdN7T3QeW5SE4Ol6R98HVpuWddvjokAInfP0/cByXqG0RaWEH8Kk9vGDk9rTRZqiptGRShe4Vki4STM1ooPrQUEgZ80biy2hUuN9zG+XD94JBM1a1m3Hybsf0q8FuuX9QGEFgKpVthI6jy0Um7Zjs2nxMYqFywXOz1cs5wv63qFtROlA4QJdJ0uJ5qKnrBS6VmhdSF/hPSQrqpQQSVHgaGVlSBGWTU00kuJgjaFrO4yS41LnjN2mmZG8z2IxSaogJrEKFAXzeYN3g0DSMl+hC45hEPl852RR1TgBgZkcawryWfsQ0EVBUZckL6wgW1oMhmHwJKycKzFKQotPtN0w9TjOOwwyVPbR0fUdvZZGPkRIxlAYAUGt2qwuVJGqlLig0Ad0AJsE0MV8m+3ss7XThTB9rlhN0IlkxY6UtGK12RBcnDJzf57Hz93YTlK2KBEhY/c/9C539EaAQ4zRMTJRASSuAyNgAaSwGCcA3svkW6acTIRdrRXD0OJ9uvTz3eCmKSVKYDZ93+GMfG2IHp2bjJHqOG66YhBD/Khvl01okBvOuDXRWUYXt9mTPkNvJI4gZvmIp+97wd3nAnJ7U91GonRdN/l8tbK5QRpzO30mPI+QFZ2JgSIN6Pt+gkt5H4SkmEYfkUjjRmIZSSQ2Y8MvW26bY3VkWtV1PXXTMKsbulaIvsYUU67X6EGpqipLIcMUtSB/LnEWfd9zfCwS5bbdsLe3R8yv1QUhLqJyVm9u9MuizBt8kU8YIxMlrQ0mWcmBNEamXWFA6UjKU7u+78T476R5N0qkRq7v2bRrgZFZgTacX5wTY2Roe9namkQ7dCyamdDnckTNbNbgB7moSWEjvlmTjfuysd1ORZWR7VGh7aXNAEl8tuN+sB9E5mxjlgoqDSkwn80lOzQlUvCZGG0zXU4k66awDIPL1GjxzfggQdpab4/HiQAYxd99/OCBFLUhkqKj7zq6znFwdPRfVXMbY+LunTvs7x/gfODHP/4x6/VG4F5p9MjlTUYuxJ9+5lk++4lfEh/7puUv/uKvuHX71lTwj3nLWznttqCWYnFsBj/qibvsv/3on+3+9+jFA7XT8ObPccyC02raLpGbK52hM9PmTW03ZWN23fgYc/lyb59VMxK/td0ObSNeVG5ExyZ+wvPkjWnaeQ8nX+RHXq/KHkehPUqMF2MLtJs5Oq2stlvf8XsIZZtLk+Rxcz4CAGPO4/beM2tk0h1TZHCR05NTHr55I0+oCx7cv88jH7shN0EFBwcHnJ2fUllL13XT+0zMESIh0PUtVV0Q4iCTcF3k91Rh8osxJmXya8KNPABrGFzi8GjJfDmn63s+vHtCSmIhKOsFvhVZ34e3PuTRRx6iLMWWcOPmQ9y7f8zLr77MJz71BKtV4trRcvw0s8Q38t3v/D1Xr19jNp+xXC756m/8Jn/6J38omx5twFhhQkz3nTR9ZqMkbfuY3J7jXvWS2uCj29Bdae/097ue6jGHeUwwGH9PzNYhNR2TMUZcdCgdefyRx3j2+ed59ZWXePONN7D5PrF9IpefyzbPmi3nghEulRtSvVU2jMkF4zm72yhvPehb35yaMmY/urElN9BxUihcnJ/xjb/6a9549Q1e+LUXeOqZT/Av/9V/x+uvvcY3/+ovOT89yZamiI6WMQpYa5Uzodk5p+XewHQlyuC1KPLm8To/fWI7PnZrt9cW2XJPhDcZ5GZfs0qKA3vA5z/3OU7PTnnnnXd4+b33efjmw9TzJZt+g/OyzYwqkgjTZm+EXUnjq+XvcpPu/cDdex8yLA44OrjCzYcf4vDoiK7tOLiyz8XFBT955WWGwWVrgGzIpA4ie1YtOkcTDnEgekcY87UzoGf0UffZj5qyr9UN4g0tymJSwWml83VQjR9djngZI4dyjTJkiaiW+8Yw/t6I/7AwhsIWLOcz5vMaWwgzY1xENE2Vc9mlSPd9T1mV+CS8k7OzM1abftpWyoJFE5PUFhiRoDZLy2zWYLSispa9vRnLRSMgreyn7wcnEYVa6hvJ0dX0Xux6F6sz2rZlPmtomoaiFDXY/t4iDykCRpfUTcXgxNvYNA3dMIgvOW/46qqe0jmIiaEXqnTfD1xcXND3HefnK9yQ6FyQgZFg4Ka6LuZj0RrL4PxU5yrEehaUp6lqSlvgXbYoEnFEUe9ZabJk472NnrPWTpTwkLebMftwffZHt/0gx0UnNe1sNhM7mcqbznKPoizw3rNarXDOo/TudUI4Nc55dBIScMhpDv0wcHZ2xmwuiQNFWYlyNCdixJyQYZXd3ifzttLla1jIygPnnCwCjXilq6IgaU1hhXxdZjXmMAzbOiBvV5139JuOzkld2Pc9Lkhv4kPmvozD6KxIFdtdwGipD1UElQxGC6ci5CSHlIeK5axCD12OGGKKJNVNLcsnawgYnPe4PFy+erBPWZUM56cYI7a3oR+y8kOuTeOyT8RxBcYq+kEacRecZDD3kb29PYbMp/He028GkXqnyGaz4ed9/AKNrRgShQbsJRjdaFwXGJynrhtCjqap6lIuUs6J/h6RbGpFvugnlDZTULFSYAsjtF4zbjl0nvKP0o2ICx6MIQaZYpnC0vcd0QesLiT3KwipS0Ul/ihls4lbbUEFuVlQKVEXoFSZp3yBkLbwlRDGbbShNCVtfh4mB55L1mLCmoKyqHO8TyD6QGFlC5qU+CNluaMJ2ZM83jBD8FhTYa2l7eTk3F8uWCzmFEYI1CQjN52kxzJcfMRKZV+uJSYuNbXG2Bw/As5FgheS8ryRLM6pgBnzBI2gy40xEnvj+imEOfjAbC4XzZjShHQnS4mc94SYaPuBZt7go8i3C6PyFipvOmMQX60fUBRUdSkeHBNxKeSTdJSR5m2zMaQUtrEjGlzsUbpA6ch6WEtMkVZ0Q4dLXd5oFmBKhuCwIWeelTPqqhQ5BRpbFdRVLZKUILlvpq5BK2aVFNA9fvLBpJQo6zyJCjLU0UljlSHESO9akVEXEoVVFjXBa2pTkBIMfpBNGnKBSVkCNAwDUWuMrkTqFB06A9FUgtX5BYvFIsfhyLHX9SK5CUFz/OAe3rf4EDDJcPfObV5/7S1+5YVfZb6c/1fU3CYWixl//Ed/yN27dwGhS5OLR4FCiC0hrxk5PLqSw9M7/vw//jkvv/JSbuZiBhv9tDx4/P+pyUspQ2bkuLxMkk2XoE0/WyqpLv37MfebvH2yRl/62ePwZ2xKVD4X5vMlL3z11/Eu8Bd//mfiYczxEWrcnuXCM3iPMnpn23w5pkRNPkDxTW0bCzMNEXfe9ikCAcSbqi41+Zq0U1iPTfgIhBLJVv6M0hb9D0iBmr/XGNdFHgoRt1mnZWFQKbKYz6nrmlUndpXNKCND09QN56sLxviHlGCx2KMsSmLwkgcevMRzEEQCCGgr5FWdLTJJxRyXlKgqKYasFQJucglTyPUAHVFasgOTjjzy6A3unZzS+UA/dPQ+Zj+7ZN2+9c7bfOpTH+fk/JSjK0ccXj3kww8/4MXvvciXvvhFztYds6oUmFiO0Dk7u8f3Xvw2v/qVr2GM5vEnP87zn/kcP/red6jKEm2leUopMox0z6QoxniulMRDODVSlwcW7EiPd4/Ty8dw7h6T3h5lWZ6tgKjTNBBSgMrvzWjXkYPd4KNwAz744D0+9sTH+J3f/ef87Te/yU9+9H0ZNOThR1IaZVLe0IyDkTR2vFJ7pDQ1oimNG1o9/TvZAMcJyCSH3Hjf3fGXK7ElmTH+6qNXnLQ9lk2WAKeY+PDDd/l3//Yez732PL/21V/h6Wee5bHHPsb3v/P3/ODFF+naFpX5HKbIcTt55aojO9cKM3n3UdvGV6KuyFFpAqQiKznGa8e4id5+PmTF1ag0EXsDRtRjh8tD9p/f5961e7z33vt8+OGHXLlxhStXb7Bp16zXZ5nCnKjqYgyqJDF+Bjk2xChKI4PXByf36NuO/f0DqmYOVlOXM+Z7S65eu8r7773P+++/z2q1EV9dWWQwU4EpDD5J84WSz8oag84RMlKzSeNKSlil6QYn4J8cTXWxXmELS21LyhzLM4KmwuRBLEhBEiqSD+wtlgIzRdFtOlw/CEjRGrwafYiJspKhvvMOl7kvY1NVVRVNJZ7P9UbUas45+k62fF3nCEoTQhKJJZqUPLO6oCpnVIWhKqXBKUvL/t6SuilRKRCC5IcCU/52SlmqneX9IdeaxmquXD1iPp/jvKMsLQfLOQlZvNQ57m3dttIAdj3h7ILVak1dVZAi89mcq1evMf7As5PTyX/bblqJTjRyLHjn8S7gY6BrHcPQUxT1NrYKhUlg0bgU0GhsmVWKQQCOWmvCepNtcqUsryI5zlGO9qZpZHhgo8Cvds7HNHEUHFGJXHZsBJUJLPZnHO4vxZ6TwbPD4FHK8OD4lKH3orbRBpPf26H3oh7VRprEFHExiOS4tLR+wA6Kpq5xg2OdpK03WrM+bwkhMJ8Xkgbi3WTF0HkrrPI1ZzabMQzD1MhH79EKqsJAClTljFCXrNcXFMX+FI0YgxCyz85PKZpqqvOl5pftdVFJmoV835BTZnJ2uB/9t9ANA0ZH3BQjmhcwRrEZBknYIKKi+NPnVYkyiLpDa4nGCzYPd0RmXpSlqBW7gbU+R6HYW85p201WxkkG9DB09Lm595mGnEIkarmPBecIbqCqapqq5v7xMS7J5zfyFX6exy/Q2ArcIUWDd0hgdAi03ZCnKgGjLSEHuVdljXNewqmLcpKBjXcOl3Xuw9BLrqyyMjXM0/iQt3OFMVku4OnDQExgTTHFXpS2oJwZqroCJL9qnMaNRurttkBOmhjFjG7HjE4loegxCc49jZsb5ObgQ4C+z/JpmRZLJl/Wz0fZ6lpjRFYwFcC5CRy3F1q2dU0jk59p+hTk+XkvG9zlYknTyAfbZgjRyYmQ0UwagVhZioFGKSGyjQWLynlYY7D7WEw2dSMXD6OnE8wNPsMYRN7TNI3kCodIUZRyEc2/+n7AFjab5UWq3DQzeR6KHIQtU8aqKib/QXQh+3RFgsBAzvqV3MeyLOh6yY+NWTpmrRXqclkyDINMcUj43lPURZbtbV+rzsRFrRVGyTQsJUWhoevltQcf6INHK818PqdtO1RSGW4mg4+UxM9aaiPHYghCgLYFfd/hnZ82bDFLR8bsrpi8RCpZOx1/RmsKW9ANAynGPIzpGVyLXYo/VEANAxCnvL9RWppSIrSefuiZ521FSqCSUB2N0ZnQ6rl//wFV1fO3f/O3DC7xox+9xC994XOUVfFfRXOrlGaxt893v/sib7/9Nl//+u9Mm5dpg5QE43/txkOcZH+pD55vfeNv+MmPf0wKQeizO9ein/Xe7Pp8Rskwars1JwOicq39UxvZ3UaSn9Ewb/+CqdmFkfyqt/8u94shRB5/4kk+/dnP8eJ3vkM/9Fnqu4XsqLHwz5uEn+0lVGhlchzAaBa+/Pp3JdRpqpl3mmxB2nKpH1aX/3scCozn5TggSFnKO16Rh2HIPWyc/NIhT5/JdGVQAqtLEasl63nVyrVvs2k5O7vg0CwpioLN5pyuHzCm4PT0lIO9JfPFnKYs+dpv/hP+43/492itefjRm7z99ltC8s0RHc47gbH4kOEzibIssk9Iosh89Mxnc9quzcX16G8NLPcarl075L0PH4AS4F9RFLhe5Ge3b9/l6rWrXL2yx8XFiieffIK7dyXX9onHP05dlVTWglYYPa72Em+89irXrt3kU888i9aaL3zpy9z54D3OT0/ET5gSI1Yj5OM1RZHmxyxf3zFIT/+3cyhP947xmP/Zj61E+dIxvLNJHP2142c95pXDyIMQgNTffetbdF3PC1/9CjduXOMv/uzPgYTFSMxZTEQttNzo43Tv1fn4Vowd+Si9l98rbfK5FPI5OSoVtufX7i8Y1Qnb5771yKed83Yr3x7fOTf0fP973+edd97ihV/7VT73+c/wa7/xNZ565lm+8Rd/wXtvvyNU3xAwAEZNkXu733eqUMY/y0TYEAPBSUNpRip62p7vWz/zuHvf5g1HwiTvnpIhsn/y+rXrXL1ylfPzM959/11e+eHLXHvoOg9df4S7d+8wDB0DQRYNWuWhmWwL8ytAmYQtCjxSl907voc2J6A0B3uH7C33KOuaGzdv4rxns95w9+59+sFxfnFOXVekqCR/viyoGwEvjfVUH0QJOAwBCNTZd1dWJSnBxXotn7fJpOQ8DN8OxdMU1RZjZLNup5xp7z0pR6zVdUGV0xRmzYzZrJkyQ/u+Y+gVyshnIl5AuQeLD1DiFgcX6fvA4GWR0HeypR5CZMiJFXVV0VQVs6ZiPhcfsNES41aVBTF6Tk/XNHUl8UKjZWI8no0oPTartbAIjKHUmgNTTMkMJkOIUhIrQpnzT50Tb3KMApSqq5Kjw70cwViIhNVoTk7OcIOja1vqqp4y2r0PtF2PVgYXEsMQGFxglWGmYvcbt6hSv0nKiaK0lqRkMNEOPV4PzOqaeVUzDA6rNWVVZU+6mewQ0/mZksToxTCpRHd/Fjv3UwVcvXqVGzeukWJks1lT2pI+ONrOE6M0v/v7+2zaFmMtKShSDITQTfaIwlr6oZcaOlOBB+eIKFyItL0jRthfNsIGyowbl/3c5EhHckZuyNvmrW/YTGoZozVlIWqkxXxGURZUoWI+m3F4eMB6vWGzXrNcLOlDYD6bMdtbcnaxYj6fo4wRf2tOhiBb/8pClIXBbzNpQx4GTapZteubzcwgyB5l2aIuFnOsUkJWL0q0dqzbTu45RTFFqnVdKxt3LxYBleGxIUb2lgvarmfdddRZ9TAOslW+lscQ8pLJ41xCIVvwsqyISaLFfpHHz59jm6dRcSQMJi05gIPPTdW4tdB4F2iDQiMQozLDOmKQKYJREuOjUszSTwlpT1Gm36SMdlcJFxKt6/KURlDcVZHX84xRBIbSig/AKEt0Ik3V6Cwvlv9PTqTUWhnxFCTEOI1HFyrTOP1O8SlSnPH3oxTFKgshZ1mhZKrmAyiNMYXEe4RICrJVtUZAH54szwiGFCV9KsTAkAQPvlzsU1c1w9Az9B1XDq4Qy4hWlvl8QbvuiEajxu3yEKhqizKS6ZVUEkS3GU8qKwHO0eE7RzNrMFZTVgWlLTk7O2foJTy9GH13OQ/L6hLvPN1GCrheBYpSUVY6T0Uj7WZD1VQkZILX9i3G63yD0tP015hxi6wk9HsjMsAudFS2wqhCZM7ZQxx94rxdsdxbUFYaa+QmuF6vJMg5JmpbCXU1QzpiDAIaaGrqusH1Pd55klIoW8i0WWsu1hdUdUU3OFCa3vWUjXgWS1tuQ6mDFGAmKQoluava1jJRSpGykcFNIFJUMsm1WGZNLSTqENhsNlRVLZnIWjLanB8oKysbCSXblEQSn4GShqQP0nCrsYm1Cm23nYNCoU0xVkO89fZbnJ5eYIo5f/VXf8PtW/dZ7h/yzjvvU9dznn3uk/9VNLdKKYzdStrJflR2mkrQfPwTz/Lpr1zhjz74vxNS5MXvfI/vfedF0jCgx2Jfbbcd/1hjm0RLtpVvTpma8dLWdWoQsy+Xjxb+O7JOxs9UjSTU7GsjkKKabjbbzW8iKsnOe/bTn8V5zw9/+AOR6sUh39z9uNOZJJvjRufS4jVtQUETuXX6+zH/VDayjPRkRjl2zDne+YtSyP7bzBXIBTSjjTH7uURVG0l4UjKylUvy/RXIcEkLBdXmwVTUIyQnA6eSJmUioxRw+UcojY+J1aZjuZxT2AKjEquzDUdXDmm7C64cGBb1nOB7fvDd71LVDT548YgFT11aHnnkEU7Pzzk9PWE2m2XCvND/vR/Y29unbTtW6zVJRTb9eoqGkUZdohhMEdnbm6Nv3SPmgrouC5m2+8gwBN5/7zZ7yyV+2LDXzPilz36Gf/iHf+Cbf/0N/vm//D2KQrNX1xkiFfO2PvDSj7/Pw489yny+oKorfu1r/4Q/+V/+58yKiFhZ/ZM8UyKAfC5q8sWO9s60c2yOPrjtkbsDYkphAhZtD/Btpux0rqTc3OaBR9rJbVUhYvMQeGzAUooMfcv3v/sdzk8veOLjH+epp5/j5Zd/LA1cykORTPK3piCqOEWgWWsmun9SstEkhfy0ZKOgcxzO6Kmdmtgx4m1neCUv+vJAauuzT9PWI6nsD88qBylYA+cnx/zpn/x73n7jHV74jRd4+OEb/P6//te8+tLLfOub3+D4wZ38veVeNWZqJhWn918pfen9l81InE4mNW3d8/mW70nbgVPKgwE1DeOmz1iNDbykdJelyE3Loysc7O3zicef5LU3XuO1n7zKjZsPcXhwhbt379INDluOvlF5joHMwNCieFI5bqR3PdHLUsEdDxyfnWCM4WBvn49/8hMEn/jYEy0nx8dcnJ1y/959zo7PsYWhriuGoWG5XND3AW3Ec1gUGqMQyn0+96Nngi1WVY1SATQYW4hnMlt7bM6v8058zyhJ5Rgl+8ZKxnhQYq1TeSIQghPFBBGtiyyjD5N3sWkqUooS1RPlE1ttNvSdxxSZETBuVYnYQlNXBU1dU1vLfN5Q1ZqyriRDOzhWbqDLzUI9q0laYZuSYbNBKdkCBudZr1ucD+yXlSi/BgFCSWpIpCpKyBvCPsuOXY5TNLlZ3l8spi1xUopucJydn3N2di7JJJnBUpYlSSU2m462HxicwwfN4DxhCBnsKgP5pNZEIl3XstfMsEau41ZZej+QjJJ40EIzKw3LWUXwkVQJ4DIpaaa0lWOs63vMJCfPDWy2M4xe3HEQ6kPAas28rmnqmr35AtdJDI2LkbZbc3x8Stt5ZvUMlURlODiXo440trBoo/CuoyoKrDUQHcoYyqqiqiqJZYyai/MNZ2rF4f4+81mV5eYyHQte5LeFsVkmb/KSjayuS8Qgi6SysMwXC7wfKAtL27akLCMuioLl3pwYBoa+ZbmcCwema2ULnGA5m4usPgZmVYV3A4WG5Vxk8k1VslqtGFxHWTYEFEEp/OAxTSVbZAVaRXo/YKJBR+lvYpJEhn4YRAWhDW3nQBeEqKac+ug8TVlJL5af9zA4+iD3j+58RVFYeh9Ytx1FUYkSCghekgmaWcPQt1QzGcL4lCibMseXiipYmyS2u7SFxv3nHj8/PCpJc6tNmcPpyXJd2TJON44ohZjPuWQgNF8VEykDc0bjv9aawqoJoMJIAbSZlBmiyFYVNLMZRSETw8IWWXoY5OcXdT5w/KSjn6buSW5y4wUuhCC2pCg3BQFbRAEtsdXu63whEzXC9oYnkw2L0ZIv1nZruraXvDQzwiKYqGXk6YjPdMiqkgPPu4GoMmjKGOqmxgfHeuOxWjZ2D45PSClR51y0FAObvgfEZxLG6IUMO0AletfR9m1G99sMm5Kbufh1NWVZZepyTdsOqBjp8gTL5Bu9Npp+3dN1LVUlUmlpaB3eOdquJ8ZENauEcJgU/SBIflTEhQ4VASX5YikpueD0XYYzBYpCpjDOD+JDKQR24HrHEB2bVuQqWhlmzUzotdlLIxTFmAsfkyXtog5AiX6/b3t8iCyWy+xtkPdfZVq3VoqyyMezyj5nJRtblY/JbuhyU17khkNnWUiisAUpysVsJLsOw4DV8j6jNX1wVNYQc+at8Y5Nt8mqMylaykwclEgqKVFCCJRlQbvecLC3L2Hmus3Hkxz3Abmh3713h//+v/8/84lPPMO1K9fpnaNyDt11/PCHP+Ts/Jxf+ZVfEun3f+HNbVXVzGbzrLrIJPUdz/MjjzzKP/n6b7PSLwPw5htvcfvbRqAUo3xv2lRe9hMyblRHSmeI059Js7DTxOYcufF7jTvIXVCwUtvgSpW99fmnTTmqu83x6HuEy9ubkEJWGGz48Q9+wMmDB0JPj3Hy4Eucjp4aGnbk2Ze3x3HUFu+8/K3U83IjI4W00ltZNvkmLg0wKAzjeEb+bd6AqRFKFCf/r1ZjDME4GBBCYl5MY4yhqWsuXDd9LjGf8/v7+ywWC1YXGxbzOccnAlJLMWZrhDRCtjDcvn2L69evsRq8QJmqilu33+fe/XtTvNWD4/vE5Ale07/fERBVy3qzEeVNlPNv9O2nSB7WbQm7H93IW6052F+yt5xzet6jEqxXF5RVwxAEhPjg/jEP7h9z7eoeF6sVV64c8sijj/LWW+/zt3/7d/zO139jjIPcNicqcXp6zHe/821+7Stfwxi4/tBNPv/FX+bv//abmFwQmZQwetdikpvOnV3ruNkct5Lqo03uzu+lsZRccya/LZdec5qksbsS5Z3zKl+vVN7Wjh5InQxd1/HKK6/w5htv5uFJfm93sONjk709HtIWZpa3Aok0SfPGTPs0FsTseM4+4h/WWS0j/xaMGrcJWynC5fdo989T3lZI3eCd59VXX+W9W7f43Gc/yxe++Fme/fTzPPaxj/Gdv/sWL730Y7ouZzQqAbMpM+bUSrM45hmPJ6/Cbs+lyBj2I+eelobA5PNY71zLxJsvkmlhdG4HSWTiu8rF6Bid86UvfpHz1QVvvPUmb77+BkdXjrhy9Rrd0HJ+cSqSbr3djMUkIEcFGKsxSUPwEj9FToFA0bUr5s2Cg/0jjq7sc3CwxLubnDw45s7tu7SbDd4PdJ0MrhNkWFNJTIp5U2Vvu1yLnRN1VlFWueHcRub4ECBmT7a2nJ2dyXCpqibll+SlWuGL6O3mzFqzvTdkWFyKkU3bUZRWFIFJOC3eD4SgGAYh+2qlWSwWdIMnhEGySmPAGs1iucQoWajUdSlwJyNJIX1wDEOHytEqi/li2kI6J0sjl4nCtqyYNTN63dN3PfWskpSGLlsxQmDjNiIvzudcSonlYiFRREqkn0WWazvn6PqBIac8DN3AfL6gLoXoS5I4qL7v6XMig/PCabFKlI6L5ZyzU5E8V6VEv4z+cZN9o82swhYJW1Z03SAEZFOQSgE5DM4xeLdl6HiXBw82x1PGnBKytQCN567WGoOoJkf/6llmrDgf8CnRu4Hei/9X8mctJiuA+uPjCZJ45fCQPnuVlYKqkIHZfG+ZlXsRPwS6rkdZWK833E2O5WKx3VTH7HE1JsdN2um+GLzHB9mkmqwSleFMJc1uXr4NwyDxWzDZNIuyFCl/8MQoTh2jpd/wOWu3LAyzRmrxs7OWqqypavFVC0OHPNRJ2Us8QhFz/npWJ47QqmEYsnw+DxSATdtSWLtVSObnm3rFbD6bJMnD4KRRj4m6FmtNDBGfIlWl8WGYEnGGQbgWzkkfaZOalAohBAY3iOdaxV+odv25G9uYJ53GykW9H2R1H1MQz2kMGWiyzUkNIYp3IgWUETrg0HpiGGNgtvInrW0+OHwGm2T6rNUoa9AmURqTixg1yWOV1qhC0fadINSNyRsH8ENAFzDEMEWBpJQIbiArWPDO5Yt7maUq+hIsRgZ5ETI0aT6fy8E7FjZJ5w+lwueDKMYoEAQDPmWpAgGd/Sojrt4HmSIBrDcrIY85jzUlTb0QpLaSrDrvPagCrRzBJXT2H6eUBDJVFuLdVBqTZCiQgkhWVdKUVpr8sqhkqpIGVusNgcRs3rC6WEsRUOb8We8Z+pZZUwkcySoGFxiGlM3vGo9MS310aJsoKpVpwmryB1qrwEJdlhnwUmPwdH0nweQpZb9L9vAUBabUDAyE5FFWpnbdsBHZ+d6eENe8EzCELejzwCISBBwWA0pbqsbQX1yIb3qSNsoF0sdAUwgMaxhkcy6fn0CqlvM5dVMTfGC9WWNKKWSasqYoG4zS1HVFb2W7bvP0P4WYgRFSVK3aDS6IZy8p0NpSVwKxqopq8o4rbTAqEnFS1OjR8yUX56Isp9iMSMAnLxPlTKx7+eWfcHHe8uyzz3N4eJW2H8AUnJ2dcf/4lAS88MIXsuz/v9zm1lhL3TQT1GsXNJNS4lNPP8V8MWeVOQO3b31Iu3loiiJJWTUxbnI+2pyM/efoqTZquz0dG9tpm5pjTzJUViI55DtN168t8Ev2PPJzpIifdjQ7kuNs8pxu3uPz6vueP/sP/0G2iSGhstd9bLC0GunEI9c1XJJNbov6UQQcc3zLKDOOO/rU8XnJplZru/VnXlKgZpln9umMjT0Te3cKFcnNiBbQ1FggK03Xdpfe27IqiWeBlCWn5ObWGsu8mXF2es5iOcu+PPk+Fxcrjg4WqCpx5eiAO7c/JH76eWxR0Q6O2XzBfLmk3WzyVlgT8ZJvmj8zobiL70peQiQ5l/NV5ZdCuvaL8xWzWSMxaePmL390y8Wchx66ytn5O2gUbuiY1XPK2ZyLizU+eN579z0OD59ltVlT1hXXHnqIu/dPeHD/Hu+9+yHVk4+zWFQ7O1F5J95841WuX7/BU888hyLx3Od+iXv37vLWG69RZJaBGQ9g7ac4uxhBJ7HGTLpbnRvSkTS285lum3aNWGRDjk/TO7TeRJom6PkIGOW+Me74qOVcGK9dk5g5Q2Fi9BLPlwGKY8xWyhvbXf/62MBcArnlwQc7ogmVEiEPPvVHcnB3z/mYEpExVkaGZBLXlnae6a7Gfve4Z5oabNvewPrijL/91jd57ZVX+eqvf4Wnn/0kv/Hbv8Nzn/0s3/rGX/LWG29ITSD+p7zBLSaAzfa9VzmPOKsX1Cjj1zkpYlSsjO/ydvOeUkJpGdSkDBlMQd6HwGh12J7uxhi00hzs7fOFz/8S5xcXvPHGG7z841c5unrEo48+zt27t2m7Nkv0BfiUVOYFECissCZEBivZ4GOdtmpPafsNi/key8WSsrA89MgNDg4P2GzWrM7POTk54fy8I8TInTv3mc/mVFXB6sJwdLSkqe3W554SHk9IEuejlaas6tyMim+/G2Qj11QltpAhiqi67HT9bjcbCm2wtWzpRlDmdiCnmM0q6romhMh6fSGRLApSELZKVdUYa+kzjMl7TyJQlDI0iKGnmTUUtmJWVdjCAIbT8zNW/YZ5U1NaO3FLus4xdI7g5LzoNx2L+Rw/OMqqYtUOor5rKqzWArILwnXpuhYUzOZzZlZew6ypIIrs2uchAMZwsWkZnDBgqqpiOZuL7DMmBi/sgrbd4HO8psCJCpqqpjCSMtE0luAH2rantBWuH4SsqxRNs2B/b8HRlT3QXqIMgxNoVJDmLySFjyEvzKS+jqRpEyv3BclwT4WeYpxUJugbYzFDj7WWzjvW7UrqJAVB5UGHUhSlJcSBbujQVSN8HqU5WMpwsalrirJkXljKUrbbdV0TkyYqRe8HXCUZrM4NKKuIKbDZBJpmvr1Ox0hRVhMfQaWYOTV5+FPoLNEWufbQdVRZSaeQBJWYAsFH9g/3ZCsdAtrkekKLBL7rWrSVSMoUB8rCYHWFUQhgKStixQpY4Fyk7xzBZ19518uwwEo/5TOsLnm5bscQs03IyT1ORXyMVMZIHm7+HJqmIZFYty2DHwgpUdfSw8S85InBCeFbi8JkcIEQsnXTKgafQXnBYY1AqVLOK9dK4MKnp+fTEO7nffwCje04lZAPq+t6ur6jriS4WzawkrdGEjmRSIUkvsbk4s77gFajI0h8GiM8JWW0eUphMlunJJLamC/MMd+EvPN5gqmlUet6kaYNjsKWmJy/WliTfY9FzqM0MkHIBMkJuDRtWXXWprts4dE5J0oubsYY/OBQ1rBeO4YMPwkhEPL9cHDiuVRpSw5V2mQCKhl+kDJQS3K15PtstwDD4HBdoKoFk79Zr1FGqMohSjNuy2KSR8cYJAYjRpqmzgjtbQ5eUcgkRW5MMPQDbduhrWxKyYTpUpU7TZUiRQnzjr18bVBCOZvP53RDhzGa+bImpB7n5XMsy0J8UimCSfgwUESbYR4ebSSfygeffc2JSGDo5SKlLNRViYvy/Ua/qjZCPURLRq5zjk3bMmtm8udpvL5koqqWDZBCPGsyIZNpVN91NEU9ASZSimw2LbNmIZL5XFDVdY02msC4xd3K0odhkGiA7DO2Vk8X05A3ScaJB6IoSmba5MxePTVMWmuST7SbFm3lfRkjhVIU2EAMkdXqgjpvKEU1kAE2SuftjExh79y9y8HhVUKMrNYrTk9PaZqGH/zgR1hr+fKXPy/eqf/CmtsRGBFzEZySwrkohbYiD8o0wUtTdX6+mr5u3LQkthPf3S3TVo4sg6qYLnsMp0y8UTqc4TWjd22bZZum5k6NvOW8zd39+nH7GUfpb9rZMKmtrHr83uLxFcWMNBg5k89s3apbQeK4Wc5ey7FjHgnGl7a02/8ct9TTq5iOjx2P4bixzg3r5Hn6yKG0lWnnrx83gTl6a9fSO0I/yJTb2WwmwzGtJc5ITgRSUly/foP7xyeS91hYirLJ26NIUVQT3LDtWtq2pawqzs8vuPHQEbPFQq6hSlE3FZvWZwVHTdu2EEQZMrTiA5MNjsmFVcz3LfHaz2czirIUiNVqJduRGLG5YTg6PKAw75GB/2ijWcwXnJ9fyLBrveGDD27z+Mce5vx8xbXr17hydMS9O7f54Q9+yEPXr1GWlrIw07GrUETn+eF3X+TGjUfYPzzAGM2XX/gq9+/eoVuvxdYzfYZbmWpK2bOsts3TGJMzfbhJ89FLgsrH7/YeMzHZpmPp8nVkZ9ufZFs4es8lxmfn5+WfIJFTYYrnIaQpnkppKWBH4OM2ozYPy5HB06VhSj7mzQ5FfnqOGRQ1PmJuiGM+QUIMO0qO8fmKHHiEJ/3U6x2PXjNujwWC9OD+Pf7oD/+Y19/4FF/80ud5+JGH+L3/9n/Ha6+8zN9+85ucnp7ACNzJRPGgJAddjRnDedOs1BjLNK6QQeeXO46mRnGIDN1zZNk0nL+cWa0+wgoY/1xs84nFfM7nPvMZnn7qKd566y1+9L0fce36VR69+THW7ZrT8wf0Q09Zl0IOL3SuobbEcZHx+yy1joQwsN6cCVtCGfaWBxSm4OrVq+wvl1y5epWLiwsePDjmw1u3uXPnHjFGDg/2aZoaCMwaiQgJMZACeUMbiSoxrNaSClHXrPo2qwpzcke+xpRlOTFVYoqE6JnlpqZupE7oe4f3HUorqSu0+AtTGpjP59JEdaKIq2rJGV1vetquY3ADMccJVnWdORmSTyteeGi7NhOiewiRuqwwGWwavOfi/EIgn7MZ82rGvG6o64qQIi44FgsrWcFIPEuZazcPzGZzybJtN0QiGlGRpByP0/d93o5JzTMzcr8pi4LCWNq2o217UbMZPVkWJml7DFSF1PuSBiLeYdcNlFZhKVCItPv69SPms5L9gyUPTu9ztjrDaCPxPkE2syhpYLu+Zz5f0OfMVJ95ByEEqrLIx7LHa0n+MFnRWBTyWQj/paPIkusYE1VZoXD4bsg2swKfgXrjRnmxmDOb1RNHoprV1HU5xe71Q8ywMp8XXorl3nyCl81nDeQkDa01NqskpBY0xCQ5sSnCbFZnLzRs1i0uN43OOeq6ImqJJjK5TxBexJqiFOWAHIeWqipwXs5zHxLaSA9QWsNsNuf+8THGGGHWOE/0EVtUDEMQRWCSc995P9WQXr6hjMPzIMNam610lQBvc/2hs1dfZ3+4tQU6D5xMHlIoLbm/Arey07XbWpMXkgJf8z5wcXHBcjlnvrcgeMem7WRbHyIBYdgs5ot8zv1vsLH1IaCtQhvFECJtbiSroia4OE2DTWEorCEFkS6gpQFxE6zJTjcVrcZCbEuyELM14LMuP4FthIzntad3A+gkMS5th3fSdKosT1VKoTKJsagaaSR8omhsbowURkvMRAg+TywCAWlMY642bZFlWDFmb42hsBUEiD4SgBhkrW9Mgfcy5QgxofL2OTiPSYxIRmJAQCJjLAFaPK4xQTIkr8jWX0JUDCERNj2lLdh0A02jJKdUZdqyVhij2dvbY7NZYQudCxGRN3fDAEjOr8JQVRX1rKHtWoyxzOdzKSpSxJaW1WqF6gzGFGw2G4kLQkkOmYk0FgjghoGqtJkY2tO1nsWygfmckGSL2zt5b0OORxp8R1M3xODz5xrQSrZOkcj52QXOeSpbMturc6O9Q4fVCceAToaQDMko5vOlTK2UDDgqW2xlZEoTA5S2Eqp1KSeqJwq0Qpes1xuMzmTnviX6nuALqqogRMfQ9kQVWS7nuMHRD8O0Fauqiq5tBWwCDEOgyFvp3jmMlfimWTOnH84YvKNMkRjENG+s+MSD90h8l2HoO5qyxqi0U8RpQgokracohIi8H35wqBgFxEGg6zZ4H+kHT6EMF6v1dLPYrFb86Ac/YlbXfO6Xnsueqf//b27Hyfobr7/Oj3/0I5579qkcIVAQPGhVEKIEo2tt6fuBe/ce8I1v/g3x4znPObq80RmL+zQVdOOmdyzuUgqTB0+yE8PU6I4N6m5hOAIu0vT1oyJDTQ3iWOuPHlalRzmzHDuXKcvbTUrMdPFIBB2IuVAc1SpGFzmAM1ti8zBKvJFKNjtZYjs94XHbNfru0m7DwRbDOUUL7bzOLAVVjMVznLaqH/3MRB4N5BgBnSEiSYUcEyHf2LlhsotopSXXLwoUZnxvyTKkxXyZFSFgrGK+WOCc42K1pu0GquWC559/jvsPjrl99zZPfvzjtE62QFVdiX2kKmVo5jtCCPkaoGmqGWVZsFpdSNZ6iOJ5yoM0Y8CgiSM8DsW1a9eISTLRq6rm9OQckxQHe3MO9xfcf9BhjUBoDvalQO+6jsF5PvzwLkcHhxwc7rNZt3z208/zl/duc3z/AS+/9Cpf+tIXMrkzofIQViXFZnXBd779d/zGb32doixY7O3zK1/5Gn/x7/+QRJzopSmpaagRp+N19GkCebsas493d8gDOxrm8cgfhxVqzERmOo/ASLJtGrf+uZmdjgW9MzxK8pp2G63cgvvgpIZQlqosccFt/bAp5+AaTcyyuuA/0jDDjoc8bXtUBXGS0W59tSqBGoeIeTO6ze3dZlnv+s/Jiotd60I+sSbQWcoa8N5FfvTj7/PaG6/w6ec/zS//8pd45vnP8LEnP8H3X/wOP/r+i/QboYZGJXRpo2W7LvCwlO08aYod26qV5T3Wk4FBNjpMYKqRDO+lwY1bT/G4MBjP08goFNkCulJKNFXN888+xyeefIK33nqLV3/yMovlgsc+9nFCjNx/cJe+7Rk8mFIIvUorysxAUEaTTB7ixZg3Pz2bzrParCAqHnroJnvLPRZVST2b0cznHBwecn624s0338L7QN85SAVu6AiZ/Bv6kFUtMnRxbqB3HtV3UgQbQ6mlqSjrGnKkXllo+qFH6ZrqcB9jLaTEetPmCESpWxbLBYpE33VTga6yyuBwPqNrO4L3nB6fkJTEtuhC52hCzWIxo6lnYovLG0/fDxmQGVjUNfN6XzzJzhHCQAKW8xnFQbEjdc9bVhcxyrI83KcoS1S26q3bTqJmstS6aweG9Zr95R5NUeP6QTbnRngyRWGp6gKtLV3fZdliYnCyee36AZ8CXc5IVUphC4NJGpUMhTGs1xuGYaBtNyjgYG9BVRUsZjOxvFmo68SqPeNsdcy6W0uDv5jJYiaId3cYPENwdM5j+kEGIlriHdtBtrfaLChszkwFjEtokwjOy9Iqw6qMUhSzWsi5GvGgW0XrO5ILWFPQzGa4wZGCJAZYYyjqChUVRVUJN0IllNWcnp4TETZLYSXCxmjL2cqhXERZTVkaSJ6+l0EEKLm+e898MaOsjLBNotgWxfMdsqIz5FhMGRikKJwa0xj6LE8f+oGiVhKB1JScn50DJYv5XKw9QO+FvO6jcFpmM5EED23PaiXWh8JLzWu0kZ+dlW4+BuIgvYdktEeaxrBarfO5ZXEun8c70X1eaxkiaE1Mjhg9VVPT9pF+GKQWb6pMdLZZzry1dmhtiAlCEhJ2224gydLGDU76qyR1QyJILNV4APycj59/YxvHtbqdGk7JhFqzWIg3wAdPN0jwc1PVIm5LCqMtWm3R1N6PdNeIczFvUtWk/R/lMSmqycMQUxTvpXfYymTa5uinUEKUTglbFttVvMm+3ZRQzmMxKCWB4ORYkODDzgQ5o+fztFh8cIIAd15W5WMkgBtCzmkdi71xAqxomnoqtkPw426DQMJnM39ZyLQsRSE/Kq0mff4weLxbo5JM/Jx3mRaas2SNnnT6UiiYyaMXUxTAkpb3zFhDdCLblWmWhK0Pg5u8Jc4N0yYmZBl5VVecnZ9nH7X4fxLy/Moq+2KToahkItN3PWVVEaJIhOoyN6cuTBE+PkgWry0LfO/phw4oBVZQSc7k3Xt3eXzvY7SbFpWD7m0+Ib33DM5nwEuQGI8MEei7jkD8KRDP6AsyRrD/Smusls3QyfExKcqNwxYFqjMMg5so3iGGKTpEa/FpGwOF1dL4a5193mG7JUMGC+IBBlsULBZzNm2LtcXUsKacCZ1SomkaaZT7TH4sJZJITSCrOG1NGI8zNAf7hzz9zLNs2sgrL78nYeve44aBhJL3JES5aXWaqut4+eVXOTg64MknH/n5rxL/P3iMDe1br7/Ovbt3ufnIw/zyl76AQSIhvB+PYTWpSZRS3L93nz/+oz/h7uoOi4+zleJ+xL+662HcQp221MXJV/uRLE92v25HSrzrw+cjDeO4DZ4KS7Z062kDOlWs6fL/jxf4KBJMPW1xtg2x1jr3o7tEyfxt4lYPPf6sjzar0sDGHfCU+hlDj7EpESlkjLmpVZee6vh25E3uuMHTO4OAj3zOH/mdbGe2z28cVMWYi0sEbpJi4vj4gfy77IWrS8vrb7yO0pr79+7zqaeeyp44ifopyoJN27LerHOzkjf/OYs9eE9pLIWx+VodKJB7TchKC1uIwiXGyAfvvY8yihgSwaTMdShJ0XHz5lWOT95FGUNV1pyfrzi6csCdO3cIIdK2LQ8eHLNYzjk/v2Axn/Hsc8/z4ne+x2tvvMHNh2/yyKM3KQpxMSuVsic78eH7b/P6Ky/xzKc/gyLxsSee5NlPf47vf/fvKcoCZTU6aVSMkpAWR6PHTtOn1c6bnyZBOrtqhl1Z+tgofmQY9NFBz/TZx6xeUAmnIlbZrfQ+jkOe3JyNCoYJCBXBu0kaeimPNjfIWhuJCMgb0vSRV7I9RydL8c88AIXhoKZ5zm5DP0qSU7YcyHwoTuf1rvpB/jtcgsqBRCy4ds0PXnyRd15/h9/8+tf45NOf4IWvfJWnnnmav/vGN3jztVflPM/Fm1z3E+JY2mnS88+V57u9lqncfG/Ply1RnZ2tuvjVsx87exbHZl7k49kjqGx2HqR8Ts759Kc/w8c//gk+/PBDXn35dZrFgkcfu0nXrTm7OIHoRBkXTNYLyGBXVHaeqqym51DWkveZYuL+yR1OL44BRVk2LJoFNx6+yf5hz7Xr1zl+cJ979+6gkGt+jIGrV65grKimqlq8jcPg8TGgTCKGRGk1y8UeB/MlfR7wjzA9m1MlBudZrdvpM3T5mNs/2M/bwI6qrgUupTWuH6irWgCPw0C7WpMQzoE2Jid5yPZ1ZJJIxqlky5fWUBYlpCB5pTlveVy3i3JMPm9rLWVZTpGLGoXznt45YmZrpJyb2/UDaC9ApGGQaLOyzE3oxTRotTmuaHCexbymjFJndDmztut7UJphkAFqVZX5v8eDT3F2cc7F+YaYbXulNaACm03PYlZz9cohKUk2uCkMVV1QzwQGVFU1xhQMzjO4yMW6pe97Ls7PKLRmOV/Q+56uG+izYrI3jqGTz282qwXYaoxE+PTCZpFNokBrQ0y50XMTBVtrkdobY0hW7nM2S2qFcTNafjRdu6Goy+m6ZPWYJasoKwu6oTBLXBDVqHi1VZafV4RkqGYl88UcYxW2sGId0nqCbVlr2LQZhGckv1YrTcw90mq14uL8XK6rGehVlwVdIZRvk+N4Qo4AKvN2tG1bIXdn0vGo4gghEHwCu+UmpMlulTN7vViTNpvNpUH7MAyUdQkkvJd7kE+Rtk0E31CWhajJeoc1Fq8Dff7vsqwndW9RSLpA1+doJpVp2KXEPa3Wa7SCGDWYcTYqy1CX84I/ain5Tz1+ocYWJWRi50KGENnJZzbK4/q+R9Wa3svvDYoUDdhEilvJL5kqOBaZgwuZeKkpS4EKhSQXmughBo13MW8U5NdyuWToHcMQWK1aog/MFwuqJl8QkhZKcIKlXaCNweWLI158IWkkfGmRKRdWJtJCYJSf44MEN6u6YgiSo6ZyEzt6mowxDL2TQPPc1HgvxnptjDRJuRE3o2eNLM3LPlOt8greR4LXNJVMEyVaxyEsG/F+FOX40SUGJxITU0h2Lpls5oMneM9sPmdvuSdSmI1clIa+p6pqyqqg7dY456jKGoyl6/u8eZRw5GbWyJYcRT946tpiSwlrrusaJVF5RBfohwFdWgpTUZUlfT+wWa+hViz2lygU7bABlXKepGy7tFUcHh3Qdz0nxyd0fYcuLPNmMU3BrS2xNhGR2A2VJ/ZGaap6Jh4O72WKnSFQkgU8QrCEHB1ToO9byetrmklSXM8W4rcuS3zO2iorMeCvLi4mINfYyMQYcEGGBuLXihS2lCgio4lJpnC2KJhnmaJEJYmf18VA8H4aDC3mywnwoJQRLxZM8K7Cyu/nzYzrTz/H/v4hZVUzDBdSQDnHgwcPaGa3WC6X5Ku10CJjoO06zi4u+OEPX2Jvb8mVK3v/q7e2P+si40OYZDn/ax8pyZT8nbff4uTBMY8+9hhPPfusyOVTwvcbbt68KT/Pe0xhyH0ixhhefvllZs0MtTdqJmXjh5L4p7Gh4dKm9vLPH5//Ll30o5CdsZH+6HuxbWKnP8lTyh0661gYR6ZmdWqSd619ubCsikoyQDOlNu1YJtLlDlYk+9lBO411f+ZjN6N3hFeNr9VcasxT2mmCdgi7acylzUCa8ftui/FRUr3Npd5uiuS9coPLnsGI94mmme2oFdT0Zigln7d3AtqYzxpOz9aSuZc3LvsHIhMrq4qTkxOGfENdr9cc7jWUVSW+Me8obY4ySbJZNkbsCCgllhKlKQqR/KeY0FGySI3SHBwc0g49q4sVRhm6fsXQ+/yRiezt+pWrnDx8wTsfHNOfyvsj0rcZFxcXRBLvffABB0eHHO4vOTk9Z//oiGsP3eD4+IyfvPoaVx66DtpiymKy5silLfLD732Hw6tXufHQwyid+KUv/yp37n7Inbu3sMZiCoF6hZAmWW5EiF+jhwpAp+wHU3kiPg5YLnmymby1u43d1r8dP/Jvd/46CY1XKNJ6OvcUMXty9VZtoDRJRVyUqX2Ro+2KopBhXdp6SsdiexQVpKC2T0HlxIQshyYP2H965J+yVHprHdhVIOyeH9MxPWXljlC5bYM/yqrJJHGSQGBUhhUeH9/l//1v/xeef/7T/PILX+LKtev803/x+7z5+mv83Tf+mgfH90Rai5QHLg80yZ74LSl/p1PftUiPdDcFMfkd2XGWS6Y0Ma1JScizY/53tnWptBszNhaTMcsHaz7+5Cd45NEnefeD93jj9TewheGRxx6l61bcP7mLiYayAE8iaTnutTEoZQlRZIoih4w5GhLxZYbAql2x2qw4ODhkVs2YmYZm9jAHh0veffd9Vg8kL5bTExKRw8MDopaie/CilClsiU8DtakpTMnJyRlFaSlL2Z4VOdqrqhtQBe+++y7eO4xSuWnV2Q43ibwZQiA4h06KTdexadusutJSgySRRjuXsKZEKejaHugnVUiKEY3EuDTVPCuDnFCGswrHxm3283htnyLnjCZ4BMKmNf3g8tDa0w9uqhWW84bKFtR5m1nXNShF52TzNQyDDNGHga7LqpXNOnte5TUXRYGONsdBBny298QYcN5T1tJ5zJuGpqwwOiLlrSclRz2riBiM1VMW7mY9MHQO7yPt4LhYbSTr13mq0lJUFlNZdPKEmIhhZB84YvDTLTGUhSgyU5LBtpWl0+hBj2EH2hoiZVEJtyF6rLF0bR5A5sHBqGhMMYg33ydMUBS2IvpAaTRVI/cGYwzlYkHI2bPWirTaKIG3HuztSZMYMzDRJApj8RtZ/Hgfcw1pmM9n0oeM0U5Jzi8yuKxtW5FPR4nMKVWktpVch4IT2Ko2uORwXY/LAy+rNDF/XkVZ4AY/KWNCCJhsQxuXTVJXq6x6iHTdJtcWZPmxp1bZqpjtjiOLpHc9Icl7OWRlTVmU9L3He898sSSlSFUI2dsqTV0UGA0+RGHTFIbDw0PWF+d471C65PT0LC8sNSbErIiq/rdpbMeTzDuZQpZVRWELIdNZnXX526JmyLRLMQ3LYTk4lzkPQlo0Rmf/gpw0RQZKDW6YCscQI27wEzQixAhOUZYWrQwpDZOPKXg/3XydE1S1tXnbHD0+GEyeRA/O470Qx8ac17FJH+Vc4iMQ+agyRjJL24HR86S1ZOxWZYUtLM5Hkie/zigSY21IiB7e5DggmZoNKB9HjZUU7d5LDFGUCtCNvts8NIjRS0HoxUNgCktIQfxGWmRm4g81RC+gLh8C+3uNeGX7FpP9BXVd5UHFINLbIIXlvKkxWhG9Z28xy8j4nt4NxBDYWy4oihprESkGQqEcMilNi4EFU5ic41uwWCzx3tF2nUglvM8bTCMbV20oqoLoEsu9hfjntHgtVIjZxG6zbHyUYW9BAmjxNUv9rBicp7QChoohYY1lyHTjGMS/0fsu5/KJrFIox5ak8nAG2bYWtqDvesnELawQBIcBawvxCGcCosmeD3n5gei8xJZoKYSKQp6vGwY5NstS4q3yzWw8v0Zio1Z6ihiIORprzO69fvUG+80jKGVYtR1nZxciFwkIAt45NpuNnH+2oM5AgBQjMXjW6xWvvvI6n/v888xm1c/d3KaUuHPnLufnF8znMx48OCbGyMHBAU3T8OMfv0RTV/zqC1/+hRvmUWJ759Ytzk5POLpylU9+6il0fm+ksJXMvN/4za/zP/4//2fadsN+tQ8qoY3YGoa+oypL7FiY5CHYtkzfVt0f3dSOx9PutnY6xn5GMz/+u91/s/u9P3od3t3gyqZ5R5KZxiZ8vIaOXy+NRvBh2kzHKNecEZ4Vp+efdorR7eu69PzT5aabvMuDHdjVzt+rqej/yPs3yUh3GgAlAmyVi+Lx2N79aWMbMT6P4P2En0pJZPW70CyVpWsqB97XdcXFuqWuSmA9Ncwf3LrNrCnY35txtL/P6fEpJ8fHHF3Zp2tb9OE+e/uHrFYrqqokBZ/p+jIR/pf/6r/jnbfe5JWXfiTyaCVbEZ29l7Oq5PDwCNcPrI5PMNZSWUs3CHRKPERFpo5CsdfwxBOPcevuCV03ENA8eHCfGw/d4OLiAjLh9Z233+HqFz8vjIUETz75JOcXP+L1N17nmeee4crhAZVdCBgvbye1hr7vePHb3+a3/unvUtc1RVnx67/5O/zB//L/wg0dhTHSsBPxuSHyxJ3GcOfg3GmO1LS7nT6pSw+dlUDEPAiZJMm7n/LlZe/ksUUGX+MyOGUZ8u4gSABeY0KCqKK+/MILPHzzEV78h7/n5Zd+Mm1ElZYhMnrc7JK3hWwJvmq78Z2O4J0X9Y+d27uvZTvg2W1wdxUa23Pn8r/dfWciKM/gNnz/+y/y1ttv8uUXfoXnP/MsTz3zHI8+9jjf+fa3eOlHP6TdrCfa7+SJVtvnLr/Pn9Il/+xWjTJt3bP/VyWFNQUhxSmuY3zSCY2NwioYwZu7b1JKOXIrb4PruuSpTz3Fx598glu3bvHSS69Qlpannnmevj3n5MEJQ9cKIM9KzaVEay1cAp3VA/m4EOmoyMJ97DhfPeD87BitDFcOrvDIo49ycHCFzabl9PyM09NT7t+/y8nJCQd7B3RtS1UV2MpycbohxcC8mkESS9Z8vmDTrnA+oI3l4Mp1/g//x/8TbTvwf/u//l8oCk1VSaJFUQiQse87occOjrbvmS/mhJTwG49BIhyncaRSIqPP6rkYgwzYc53SNFW+Ztcoo3HZH0v0mdbrprNNBp3k+EwZ7LRtCzkPvM/brouNyEW9z9FFeUC6nM1loxfDpK5x3mFsgSpFAbler7l//5i6abKK0kptHRIhOokLGgZcP5CS5Ox67yEFmkry0a9euc7h/n5OOklUZUld1Tg34KNnVldE4OLinL5zdF0v2+VuwJYVTVXSFBVlVaOsqCgjim61oney9Usx4vphx8IjNaUxFrLSEJ/VdMnnLXyGwWbOTopJ2Ae2QitFvb/H0DtIklHe9f2lDG9dFjm1Q4ACZVVQlDIk7IchZ0xLiV5WwluIuQdIJEyhpZlECaE6JUxpcBuft+9G4uGMEeiXNsxnDZu1JAEMg/Q+ZVlM1w/vA6vQZn+42B3FhlhQVoqL1YqUVRxehyyZL7C2oN2cEvxA0ywoRnDaEDMvwk5b/5R5CCNzopjozVvrk1y0RdFYZAipDxHv+ykZxzmfl34ipdZG5+8fs6KgZ76cs1fX3L13j5g3utoY6qLg/oPTbEuR5aHco0U9+Y/nq//04+dvbCPYUgjAKtMLA4lu6Cgqi/d9nvpHhqEjBJjNJMBYZY+qhBpGuvyCyzo3Zz5LCTOcKiIyzbKUHFYfg+SAIoVIiho/wGpoGVxPm+NZqnlNURdYrfFKSUNg5Pu1XYcPEWsEyhBSEipbjgEqc2yGUBFDlq3IBTk4R2VLko+Q43kSo09FE5Nis+kzil7gP8Mw4LwEdIvcoZCLi7YMviNGR1FambJkY3qKckP3LshU3WiUKgSokRApLVpOiCgkavJNXGnxwhITIThSkHidEGF90dKuWyKO5VwgCWMskg8ebRTzecP5+QVVKdCEbrOhaY64c/cu/dDT1BZjSmwBRidsoShKnaXMjtLWZGEYSQkOfTaf4UOgqSuM0XRDT+cGmqbiqGlwvsuTMDGxd+uWumrAJeZzIQe7QXLT6qIhRoXrZepkjJVG1ihc9JxenDGfz0V6YqQg1gpC9GhrqErJZquqgpOTE9wQsE2FURZTimyoH3psaVFaptnBe/oOyWq2FUM/ZA+lohs6rDVoqylzFJCxOtPolBCWAZvzZrUBgxFUvlYCQson6rilTZlw3edIp6IusVajTYXBsGhEztVUDfFUZFU6GoyWr0VrgYZlEIgULp6+2xCdl/Ni3pCC5/zslHt37vPY4w9jzM/XhHof+NY3vsXTn/okr7/zLmdn8p4/8tBDHN+9zxc++xk++OADSD+jIv7Hriu5ob1/9y4P7t/n2rVrPPXU06QYWZ2fsDo/5/T0lA/efZ+HH7rJk089JSoB5Vmtz7hybR9cmqiB3nWo1Ii3Vs6ODNLJKtxR2puQ4+QjjS07m9rdAnb3v8eh2+6F9vK/uywxVjukUxjBeHH6M/XR90tJkf7Iox/jC1/8Ivfv3OVvvvHXciMZUfsZEjNtguP4/Xdlx9tGfVtoX1oJ41ygqmy2X+gJOrUt+HeeWNou8sbtrh69ymPBrwVCEVPM87q0+7LQGSyIxEYKCdLLsFCC2IuPNBl500vClobDowMZrDQNKd6TwWEU6Etd1syrGSE4iI7T43tcu34F54XgW9Uz9g8OSXjWZ2e4LPOrZ3P+4R++TVNWXL9+A2sVdV3hhp7FvMYaQ7tpOTy6wsVqzcnJMSEE2tNzhqHH2nJ6z0VCKpLCa1ePuHK0x4e3TklYNu1GJtnzOeuVNOXrTct7737A448/wunxCdeuX+ORR27y9jvv8md/9hf83n/z31CagqbSoMOUGUtM3L39AT/5wff5/C9/Ga0VB0dX+fWv/TZ/8ad/IEoinUSJZLIHM+VTJR+7lwqF8bPNw5WPHpKXZPoa8YeNmalx3APm/NqdDOa8O9kuGGMiab1tiFWU2iBvi2WDmnen2X7ynRe/y/I3D/n67/4us/mc77/4D3Lf0JqEhRDz5nb0gcXt4EWxQ+keX8vl17V7fvy05O2nFRdbCwAfOb9/ukHe/j6/H0oG0Send/n3f/rHvPzKS7zwqy/wsSce46u/+XWeff6z/P3ffovXXnp5+lnGKDA222vytjbPi0y220xCkDT1wJfHDVZPkRnSZJLj8sYNzNYbPB4GTM3ySHndiV5Kktf5sUcf45GbD/POO+/w2k9eYz6fce3aw8z7ls3mgmHopShNHooRAJ+PoUhW08j1UPJMe0I/TMO/B2eyUbxy9TpHiyvsHe5x9doVrl894vbt26zP17RtS5zXnJ2es1lt2N/foyhqUc/l4VM/OLRxaNugizmL5U0uzm+h1BJrNyQl1rWUkvgkx9iVTDwXOSvEELBG5KUGTVNUpELqQZ1ZM207YIzOHlCD0jKsRitcEP+qLC66afBXVxV1LeoxseqZDAp09J3DlDKUcC4Qk2OTt63Reeo6E5etpR7jWHLjt9m0hBiZLUqMMrT9RqChWobsShm0LdisN3if8C7SdbJpHgFNVVGgZ4rgHTEG5rOaRx5+mCFvgPf3GqqyYr1uxb5RFAydw4XA0HtRHhSWxd4+zgv5V+cmtR8cpxenbLqefohcnKxwfSA62aBGJTBElZU0qa7R2pEqUS8NvptI1zEGyMumwkZZRCRZ0qQIRSnZsYUV8Ofe/h7t3XuAEoBXZfMQQBOT2NO0VjBG5aCxyhJVjnKaNaJ+9Nl6oSAoAaa2/Uaej4LOdTjvUZg8sJOm2vuBfnDMl3tEWgYv5GKjRVUg4KWs4EiKpMwUDXmx2tD1A0VdoXOEqtWSNuO8x2hL3w3TsCR6T7Jif2zqSnoKH+nGmExrIdlpwBxCmGrwtpV6VOcljbVCLe77jrqqsm86ZvYJ6OyjHRtWnyJNXdMOA6vVCl0YklIScepluLPatBweHGCLCudbISyXJSFkC2UKPwX1/E89fu7GtixKjFGkIJs7ny9wwbu8YTJ0XYv3ETcMNM1sWnVLZpIjRMGUz2fziTIWfaDddLKByD4RbaV57AeXT3LxU8QUcC5grGFw0unH5IkZP1wWlUiHMy3V+R6dASoJkSwnW4ItWK9b6rrGYlFBEPUyDVJok6fJSlOUJue72tz4bm/aEmek6Ic+n+QCHigKK5Q87xkGL/mlRoq9kesQsw9JGwEcSDEbJqO19ykfaOKvtYWY22PK3uAg3oeqKhkzC0MUENfgHNYIcW02X2CNlg26Hj2jhq4XPT4654PpxGxRUzZyI/UxYIzhRnFA3w/0zmWCsqUuhcKmNUI51mCsyXLBRFFW0mCiITjadUtZFJRWCJeu9ww46qYA8oY0b5K1Bud6CmuoqpqQ6W2JiPfiRzaqkDgp7yjKYpLctG3L/nKfWSNNaMgFyJhTG2Pk6OgKq9WKopDNUN9viYnBR5q53ZkUKoaumwhwo0eZHLFjCzsNbiTOJeWiXaRnKTetch6ANsWU32l0gbUlbduyXrfcvLlPWRZcXFxc8kkaU3C43Oeh6zeZ3zzD82O5QCbNvQcPuHf/mJPzC5FTZWLh0eERZVXsUOgCYfAcH9+jbdcoJVmBJ6cnXLl6yGI5+7k2rNYafu/3/zkhBB594jFCCOztCwDj8OoRRHju6PlcqPz0dvOjDykCWs6PT4DIlYMDTu7c4bUf/pCqLpnvzyFGLIrPfvZ5rj78GKYoWfcdy70Fq9Upxj4hE9c0KhYuN24qS2Wn7cSkh5XKL6Zxo7OVl390C7u7AR0LXbgsS/xZD7VTXE/b2lHymL+nMTLB3a56xumx4rOf/zyfevoZPnjvvUvRN+N01GhNkTfDKQOiRpFizPaQqeiepMvj79VEkC1QU67tFNOSIwimhlyJjHVsecbB3s6LFRlvzsSDrddx2xCNTcD4RbINjUE2cwI3KaYCM7/pu9203CeyLz0EgX3IZ5JlxD6QiOzv73Pr1i2e/OSn5CbfO0y+Jp5fnKCVxAn0vUNbuHv3Q+bNjKauiVEyNY3RHB7sYbTBuQs2mw22KDg4POTk5JSiqrDZwzseEzL4lfeya1uODg+4ffuEkEQad/fuPa5evULf9QQf6bueD2/d4sqVA0or0UUPPfQQZ2fnnJyd85Of/IRf+5Vfw3tIOqCLrTTWKHjlxz/g6rVrPPbkx1EKHnv8ST759HO8+qMfYo2dgEPS2CZ0QGSnOwOPf1zipTKV+qd95uPXS8EZsyR3u8HVO8CqLTZb5yItD0U+8m/0dNamaeMaSZydnfKn/+E/8tWvfoUXvvpVDo8O+dY3/yrTblXmcQg5PCgQ2+JHjs+f2bSOh9jloRXjCGrHY7/dgF5WQMScg6nQEzH/PyWZk7+KmeDuePvtt7j1wS2eeeZZvvLrv8bV69f5Z7/3+zz1zHN84y/+nLOzBxBEaZMyv0EI/yY3o1GI0lt3/PS+TT8zZtL0SG+Oo8xYFACMzWt+jNdDxmQKJZtWm68JSUlFFTPtVCnFE088wdWrV/k3/+bfoPRL3Lz5EI8++ihHR1e59+CuFPrOYwolw6sQSFE2MqhEiOIjLcwIm8ny1xTo3Ybbt9+jLBvm8zlXrh7x6CM3efLjT3L/7jH37t3j9q0P6buO/eUSQmS9WnFxHmnmlcgh64r/D3P/2SzbdeZ5Yr9ltsvM466H9yBA0ICuCLKMqrurO1rq7ump6ZmRCb2QvoA+hyKkV6MvMFKEZiYmJI3aVbWr6ipWkVX0FiRAACRhrr/nHpNmm+X04ll7Z55L1jQUilF0RlwAF+ecPJk791rreZ6/SyhOT884PVvxx//0v+cbf/EN1qslVeVoGkEE1Zh2YAxlWeQoxZKyKtFK4YaBMDjqeku/FFQ0TPVgWcr3ej9gjCChJjfIPjO26mxmZ7SZ0LXgYx5Q6B3KeXaXVkj9ZQxDPwjLzVhsVVNlPe2ovS6qksF7YdsFT9M0xDzorUqLPthjs+nGsSR9NzD0js26IyUxGULB0DlUqbl2aS4u7aXJWn+IsUPhWMwLcUZ2DpT4ILhMlTXWMLMzCh9ouwFTWlwSarNKsN5sODs9Z911OB/ZbAb6zUC36bOBnDjnyn0epMbO4JfWjTAOg5PmU4vZrLYlIfvMlEWB1oXkOWcmQkLlSJ6R4i+ZztELI9Rn+r/zbhpgC2vIbb1Y8hAoekHMU5JzqygL+mxKGEKgjwORlOtQGfq5ILGf4juh6Pqe6JPUdChS9JnxOlBVJSqKiVgK2zU5DI4YRXrmR1lPzGe2Mng/cHZ2hnOeoihzBGpmCWiEFarz/hWE+r23t0ds4xadzejxyCYsszHqZKypFFYpCmMklqrP7tNlJeflmCsdQva+kdqqmc0YBkHw9/f30YWWz7UbOD5+iPeiL6+rMu/vEvMag/+fBrEtM6KkshOfijLZnTezrJmQyIDgpXGSCyIbubi+ZbqsbiQqwwfp5n3Au4DREZ8jCGTRatpuyAemkQM5yKLwwckkqWro+44QHM4NVEWFqgzWSkOVkgQTa6sBj3MhT4FlExp6h60qcdod5APr/JCbpXxwW0NZGPpeKAJJ5yY7uKxhs7ghTBM0FzxJlySdsIXGhdHzMTfNKgmvHmlwdB69ahXByOIMQSIGYrYnL+s6o9mZwJMpyTEEXN9Pk3EXIoP3MhXsXG4WpZSO3lFVghAL5VVT1TmsexD32LIQRGmsc9t+gykKDmf7RBLLdiMUIpXoXYdWEvvjnScmR2ELKiOGA0IFVpLLGiOVstiipG07AomgoGsHyqrMBk6KvflcDgptiNHT9624xQWP9nI/LJdLZvM9Fou5BEpniu/e3h593wtSEaWZ8Vl0HoJMEbuu486dO5NuyNoSTQ6JjgmTLc6HnEc3n88ZhoGmaaR4iaLFi3mqa0MBWmjxITc92pSi4SgrfBymxjaEgCotddmQkuOxx57mH/+n/0veeect/vRP/pjl+ZpLlw+pqkps+UNAhcjjVx7jicefoCwqvNngcxTU6Z173Lxzh9OzU1wUtMsqxUsvviza86GTSVxRsJjPOTzcp7CWvu85PTvmxz8+IyXPYtHw3OzZnKO3W4CNTeBYMsnBoI1FG0tRlGzaVtZUCvm+FarR0Hes12tOz055cP8+Nx67wee/8PrFQjpB3/U8vHePzfkpp8cPUMhU7sMPf8WX3vgywzBwcnLCZ7/wBrP9Aynacqh53Yir9Wj+MlHKR9fW3YYz7cT87OBQKQ+CRr2q0LF2NYTbx0gtHgvAbXMrXx8LvEcpyfLDWeoQRU+zdR/NJnjTFd5m5h4eHvLc88+zWi156+c/l4YgxqnwtkrxBwdHPF1VFz+3nc/qNz8uvrldLe3f/O0Tv/I3I/HT4ABOveefH99lky66GI776a52eNzDQkpCnc33q7FWnJHz6xsn2EbrKb6rbmrRq4/DhuywrFRDUVTUdcWdu8dCY9aG9brl8FA0rmdnx6L5VJFIoO3WGCUGdFUpsXB1VWGN5v59ydRcrzcYW9As9iirhqJs6ftThsFNw4Ix13ZEQxWa/f0FVWWRRKHEarnilVc+QbtpOTk5IwGr9Zqzs3OuXt7j/PyMx554UnT+3vPee7/g2Sdf4PHHH4ciTki33AaR4Ft++L1vceX6dZrZHK0Vn/viV7l38xZnD4+FKjIOKbI+d/zAflOzOn6eKh8CafyFeWI/srLYKbxHZ9JJezqafk/rJJu15bUTxmIsbe8F4ugQvnuvbAOoNu2Kr/351zg5PeFzn3+dxf4ef/Lv/g3dZpMHMvk9Zk1qmhgbXNAs8kiD+zfr5Mfm/VH68a55VP7/Sb5P7dDud59v+99jg5xyoyEDz67r+MEPfsiHH9zmi1/+PJ/+zCd54eWXeOyJx/nBd77Jmz/8AcOmF8OXFCBTBMXQcUyDyM7NcUufHpEu8ZbKBnMhsx+MUCqtHa/XDt8jr/mLcgw97dvk36Vzgz02+FVV8Yd/+IfZs2Pgp2++hfOeFz7xIper69y7fwfnNvjBk8iadC0Nm8pNHnkfHc1KEwnn+5xA4ei6NcvVGQeLA+bzBfuHe1y6dMgzTz/B0Pcon/jpmz/l3Z+/y9WrV8WbAPABjo/PiFHSA3707T/hzq/epagWzMoZRsVJ7jR+xpuuxRSW0haZWRRpqhpdyHs3jTR0fhAZl896Q4nW6aiySZW1uelCQwpUhbzPqqyyC7zUtm3f7TQQcXJM9jnbU4Uw1ROFUjRNQ2mLjK7KcN2lyOACy+U6s0ek8Uhe/FLquqSmxmiJQmv7jm7wrM839H3P5ctXqMqCvu9YDh1VaZjVJXuLGc2sYrNeEWKOGSpywsko18vMnaK0GGtpM/NMZaPX8+W5IH3e4bxnvVqzXK9IiOGWBpq6oi5rhl58bUJK0gjmIUtIkTD0lN5S1xWFsURC9iQJWALakJMEtpF7Wmv6YWDIrtdKG87OzklBvGiSSgTnxCwL0ZNWVSP3VMjMqmyQK1I0O933dV1nEMGRggBDs3lN2zqWyw1FWVAWgqoGHyQDWRu0MRRFRdf1KITCbBHNLtkcahqqRxl4rFYb0QSrbOLocsxqGp3iE4WtKExBcEHQ9rIijTFZsiFS1iWud5Q5xzbteGLA1gtmis4ca7cYCc5hyhJTVln6qCjLIhuhiV4/aYWPyFmhIr3rM80/p5AMA33boY1hvdrQdwNd24EW355x/SuVwc5fq63+xx8fu7G1RY13jmY2I4RWTiAkuqSuazFx6nt8DBndzQhnRrpCEAFwzMWkzjbiqJhNnUSrWNqC1CeGbqDr+kyPMVPBKQWE3nH2K3DBTR++GzxxbKoRfndpFGVZQxxyFELK1GODMuQ4h+xQF+Ugszn3a17OBVnwHmUNUWlcdmO1WpOCww0dbpD4o6ik6CgrmTwKZ14sylGBiJPc1hBI2qKzWYDSMvXe9D2bTYdSljrz2PuuyxE+YAubXf0kzqGqKpSCfnAZGZdr1Pc9i/mCGIOItK2MdZzrQUWqWmJ0qpyXGJxsNiok6qogll6aq4lCGJkVJSEIRUIJrI0yGqOK7A5niSnQhZ6CRGUFTbXGUJclyli8tXTdhk3fo0xi32wzasU5LuCizyw1QahDCFlHUzMUBck5Vmdn7B/sU5gS3/dEHXKmYZSpVGHxeSOR/GQ3HfI+o6w+egolebqbdiM6CaXo2oHLVy6JsUFVywZClKbO5nxBJah28mKbXtV11p8LQlxWJb5z6Fx4iBtioutanPdcufo4X37jD3j99a/yg+9/n4cP73J6ckqKicV8wZXLV7l8dJnDw8NMtdG0QTamj27d4tZ7a1wKBBWIeBKRtu04Xy7zxHGQiAHvMAR86JnPGp588gmuXLnC9as3CK7l52/9lNJqnnr22QuN2f179/lX/+rfMZ8d0tQzlBbX2D6bsYUQuX37FvsH+yiSaGuyS19hQGspgLu+5+7tW3ziEy8xXwi15Rt/8Q1e+9RraJ8wCa7duM5zLzyLMUKv/8SnXmFv/4i+a7l64zFm+4cXNrWyLGlmDefn5+IUu9NvTSYxu6iJ2qIyYxQJmeqY1LaZHLOtd7u3CwVvRr4usAvzwf03oTR6RFJT1pEplXWOSv7OTk7lRM2OPP/Ci1RVzVtv/YDT05Mpv3o8UCuteCHHWBx7N72e8VV4L4VBXTdTQzruxaOGrhiHGZmKOOrFGOmumZVycnpKSoFm1qB2RgMXhgfAnrE8XddcLko2Q5/3DpVzScdfpbZdjxodGx2lLVFaCkHJMtzJ9c7u8YAY76XE3nzB3mKPs2UrWt0Y+OjmTXQMXL5yKedSJvq2YzZraNuWS5f3qeuZmNlE8XXYn4umf70Wyt4wuIyKaULQHJ+ccna+JPrAarOhcx8I3cuJQUaKEq0UdzTOI2VKq8jlwwVPPn6V9351dzIqfP/DD7h29Srr5RofPN5Hbt2+w2JeM5tbTk5O+PSnX+P8/Jy+7fjzP/9T/sk/+S+EmhbHWJqQh8Bw8uABP/7ud/niV38bYw1N0/DG7/0t/vU//X+J7stK/rlCk/zYeG/v89+MMo4N7a83aCNDYlxbXIiReRQplQEuu8jwGDXF7qAoTQ6w42sakVKD7Attu+S73/oW77z9M+bzZoqIiinuFIBxQq5i2rKQx2bpwnvNhfgWVN55XVniMzo5P4psP6rPH9/31lROTQ3xhWt64TekC9f54fE9/uTf/Fve+fnbvPGVN3jmmaf4yu/9LT7x6mt86y/+kvfeeUe0jvnnYooi8MrDa52R49FDinEYJzxiQbYy2rAtmtPkmhvZoTBnaYLVZhqFxDwwnujOo+Y3Mzi0UVBKwgHAV796xK3bt3n/Vx/gvOe5Z59jsfc4m27J2fIYFzdCm1SlNDZGi1xLKXzwwpTLxlujtwsq0bVrwuDYbNYc7B0xPzyiLC1ucLi24/kXnmPvcI/jhw+5fecei7092q6nLErZD1E8+/wrvPjip/nrv/4GykhuaEQicXwQF3qtjDQIPkLyuWktZJgVY64BEi4GIiId01b2V2tMXncq73OJwYtetKzEfGnWzNFW6pSul8GFzikQbd/inbDFirpEZaSObFI2SlhCdidWWmrdPvvTjPUxSmeUPkhD4YM4IbdiPtX34uxblJa6LmhmBYtZQ1ks6A8XWGNY1DWH8z2c79ApURSl5P0mGWa4QRIKYqZsF2WR1+TW46KwNZtuyXrTsWpbhqHHDYPURUoJ0mcshpJuM+CGM7QRuneMgaq2ghobyes1NkviyhJblpwtz/F+wBaG2XzGarnKBqVyrZOHfghs1i1N04hD/mYtDK0URJ87DLlelsiaspSmc3QydnmwYK2hsDJsVYhkLRgtiSBIGoAyeqr9ht7TdYPcMxFm1VzqqRAw2jL0jsKWzGYLfD8CEiUaw9BtsrNxxOYElRAjbd9JRu4Ym6plLZZlQT8M2RxKZWaARD+i5FxTiIdQWQrDtbY2H8cJnWB/sciyJ2F4FnZrnhVyGoNQq+VR5Do/pESIiRCkF1JaGuGRYj9GZK7XK6nzncNmY6miLEQ7rZXk2ObGtqwsPjPLbFnzcR8fu7Gt6xnn7lwWsU7YzFMfN/mh7yTSJsYJiR31LaOG0BpD13UYIyHLCc/gBrEuR5rSru9IMU2uxClnRDrvp4k+jK7F0qSI2LoSe/DeoXWYgtKNUSgdKLKgPAQvRUmQKAT0KMcRC3A7Tmu1iMNB4nFSlJvTVDmyKE8T+7alHwZsmamzmZqmkA9ZFoER4nl25I1B0IeR+hBiwljESbgwGOMnQy2TYXiji1zASaAzeaporZkCmUdKhFKK+Vxodcvzc+rSUtQFKXkgEEOeSyjZhIzWpFJc8Pq+RSELxLmY8/lEG9JUJaYoJOQ7SRMzujC76EluoKobTGEI0eMiFIUVWnC7pihrfKYM9l1H0okrV64wxGy0lbwcCFFQ4cNLlzh5eMLe3h6r1YoYfB5qqClL0iqLQZpy8obiQ6Zvl+LMl4LQncuykuDvJI6VpYI+SFZtUZucrWzY3z/k2rUbrE7PWGcEt+07CUaPkRSCxH4oQYwSMhwpylLoKSHS9Q6tLVqNqJO42MUQ2XjPw4dnHB8/oK4qlCpxg6fKh9rh3gHPP/uC2McH2UQG19GbAQucr89ZDRpdiMY3Jk9Ijq5teezG4zjX44IMQlTyuL7ltVdf5v6Du9S1pao0D49v49zAwcEhX/vaHV5ffpGXX3kVpTVd1/Hzd97m3fd+yuH+weTUOE6PQ97gb926xdNPP8P+/gJjFGVdUBYF89mcshA61u2bN3nixmW8E3Mc7xwfffArvvyV36IsK2Zuj+9985t88Y0v5wgDz349RytLU9RU819vGLWxLBb73OVuNtnSU6eUpgJ8S4cdab+TSdMjj21TexGtefR7RP8Xd6iV5EPiYsH7aAEsL0dl50bEU0Ap2RNIYqiy2ysoxe1bt/mjP/ojbt+6NSFFu9rXMSLlw77nXzw8zpTqOKGHH350lwfHp/z9/8U/5PDSJarS0jQVZVnmOCtDXdVy4NQVqthSEVVKqJCyjGTgv/q//Ff83b/3d7h39zar8zPUqHVJYxSK/PWL+/v8/uEltDKyOrXk006NTH6NWutRbCfykr6naSpSNu6TYslNPfaIHMWYmM8XLBZ7DCEyaxrOzjd5X0X2QK0YvOwjTV1xdnrC/t4ebc4E1lrTNDX9RqjGZVFweHhEDMcslyvxc8haZmtHJoagSUMYZLBlLYOTJqws7KTZHpu0kXKtgUJFXnzuSR6eLnl40hNRPDg+prAFV69c4fadOyTg+OEpt+/e5xOfeJHVaslsVvP6Zz/Fd7/zPdzQ893vfYuvfvUNTB5QjBPHpMRc8N233uLK9cd5/uUXgcSNx5/g9S+9wXe+9Vc5BzUPZowR0psWB9EYL8ZU5Q92+vfoxpwuNHNbmj0TwKcuNHjj98h9PVKOt+7JSbhBaLI774V1KBnJo1u49M7ipJzCwPnpCavleTZD0dPzjpT76e/kaVL89azoXRR1Ws75M9vVqcZRO5S2SPzu2r64RzBFs0mDHh/5XRe+Ow/hYv4jqG8Mnvd/8S63b97mE6++ym//zhtcvnadv/uP/hNefPdd/vob4p6sckGeyMMqxMNBj9HTOxFJcgFj/n3khnv7mr0Pkn+bh4RucJIpX1XCoBg/mzGTO10c/qmcea1TQpfV5HZsjOHJJ5/gscducOf2Pe7cusMv311x44nHuXb1Gc7b+yyXKwii9/UkyfI1hhAj1hqaqkIBw+BRyrDZtAzDQIoeH3t89Jy35xilscZyef+Q56+8wJPuGc7Ozrlz7z6/+MUvWG96jg6P6FrHiy+/yn/5v/8/cO/uXb72198k+iCMusLSt32WF4E1OqORMuDfuFbSL7ywMUKQPaKeFbRtS9dviKmgyFRKk1Fu71126BVpQFVYccA1JT4GBuey50ui7XqJOIkeT6TMTJbkhLli8nlnKy2GiVl365WibTsxkiuKKcbSFjYj/YKKt6sN5+crqQFDYuhamlnDfNZM+0RdWRazBpoZ0XvRbmpF1GKaVVUNXdvLcK2UkUhZZFflHE8ZY5p0njGK3vL8bM1yOZp4Keaz+YTOtX1HiMKy9HHAFIGqLmjqEkWkmdXs7y1IwVNXFaaQ+7VoKpbLlSRzWEHKjdFUtQxYqtKiksraZPn6erNmPltMTa3OEkNSxGhF3/U0zYzVaiMmRvisp1doo6iqQtI9up7kPFVRkmxBcBEKgy4kRrTrBqmhlZiRkQJlWYusIFPPda4JVNJUZYO2BYqEUZboE8HL8EJbTdu14+qVjN9MJtdK46LLKKvHu4GisKRUYa0RKnVKGGUoTDnte9oYkkL2UYAQJ+aUsBylJ5hkVAqJ44tc2AcLxEQq5MFedF2O17QMg6PvWmbzea5hAkpH/OAYnDA2rdX0gxgKl0VFTJG6afJ121DoQgax6jfto7/58bEbW5U1oMPQy41cFvR9yO6uSXIl+2HikieEQ19YPRWFxhhMzHzvfAh4L1Q05yQax06ZrLlJSzlnSo1uwdKwOpewGT1Tym5RFx+2B3meJKpM8ZPInMBm0xKDyXx2Td0Iwtz3PUWtZBKiFdpYfAh0fSe61eyKK38Mq9UKBVRNnV8jYiSkxHBKa00K8mFWRZXprxbnB9F9JkF/ZZJqwAViSNR1LfSIEPFBCumiFG6/NHZMxbIxlq5rWa3WrNuW69evY4xhMZvT1I2gx2VBjDLpLQqTheJCwRiCxgRFaWtsnp7FJOZP3keapqGuS8pqn7ZtGYKfNk4fI8EKrdkmcUhWKVJVBdEHoevOFvRhoFt1EoKdXVvLSqY8QmGxgkpraPZnKJ1Nw0IQfYstJlqwMeJAOlL1Yub8OydCdWuL7IYcKYoSP3h0IY2PtRYXfXb2DJLFqxVJRaHWaEMcZMG2bcfe/kGm0ntW6w3KGJpFI5qCoaMoS3RRUBQlSuVoqYzYyGsUMX5hS5RWRCea2cPDhl+9/0v+z/+n/6NkXJ6eUZcV+3sLDg8P2FscSIHhPF3Xcf/BPY4fHqOv3ealz4CxYgwTGECJWdaYa3b50mXWmyXu1MuwhoKnHn+Of/SP/zGr1RmHh4ccHh5ilBY6f1nx1tvv8MFHH/Cpz7wuQyMbONhb8Pf+7h9w48bj2XW1pLAyVRe2RcmDB3c5OrrMbLa44MK5W/DFHDlVVDVKKcqq4j/5J/+ZDKhy/NFnvvAFjM3OIli0ElQyRJWNeS4WUtZK85+8TBO11rLRa0XSMVN9RxLjowYxW8qUkDNG9Gos+MaczN+AwuYOdHyveqRK7upnY7rQHD9aTKedXGQyXVCjp0FXykjRg3v3uHvvPsPQbyNaxqZ2bAzHa5wj1EbUcBgSn379c3zrOz/g9Te+zNHlKxBHNGxLQ9VacXJywqUrl0U3xNQvYXJxXxSGp559jgcPz/jSl7/K9773bR7evyeSijFP99dOC9HiphhJZksnlcZFDPfSVBxnh/j8mSitqesZy7MVMZ85krcpLBdjNYvFjPsPT7h0tMftO3dQSHxa28sE2FqDQtCE4wfHPPPMs1m35KibGVVdsTw/xWjN8cOHnJ2fjwSkKSM8JeiHgZTvN1MWhA15X1tniqHOWklpTEZ3yfGtSfkRmM8bLh0ecHx8i4QlJs/y/IwrTz/HydkJbdeREty+e4/rN27QNCWnZ0suX77EtevX+eiDj/jwow95ePoKh3tzTFNi9Jbzq1QixJ7vf/evuPbYNRZ7CwieT73+ee7cucXN9381NcNydmhUkGtqEMQz5qJhO+DZIqcTE30XCRzrgumfcUIFJxn7tH78dgCSdp5njP7TWe2W42hSijlzdxtxs6X9C3tKHOmDyI52acHjOlQjsnwxt3k3R1yNa3SHMp2/OEqFp3pGmNlqGmT9Jlrz+O8RbTBGXVizKW33oB3i786QIE7nY9ct+fEPv8vNmx/wxlfe4JVXX+GlT77Kk88+w4++/12+/91viwwrhamxFNnWNk5x0viPVOlx7U+vdauTzj8IIHuR1hJ5p7bDuZTNuVBb34JdOjpZJS2OvhGttPh4AC++8DwvPf8CD44f8vN33+XNH9/myaef5MlrN1guH9IOZ2J+qQJ1I/ek84kh6wPFOEtcaqta8lcFOepwricGqa1CGJj3CxazBXsH+8z397h6/Squd9y9c4/NqmU2W6C1xTvPetMza3Id4nyusUq8F9pqjJIg0Q89vQsYJVRaa4RyLNm64ucxm80EaTYmm01J7qjznqIsaJo6D7nFTXKzWePzsEQbTb9pGfoeawp0IawwMa60dN2apm4orc2SIDUx9HSmce/NF7RDj89gg9aZPaIVw+BYr89o20HYdUkzq2tKo1gsZphC8lTLssCoCJntVRYWFaM07VFQuuicuBorycbNduSEJA2qz34vg4usVi1d6xicww09TV0yM+LHMrIkQx4cNHVFaQyH+zWwjzGGw70FVVUIcuc80Xvqps5JAOCT4nyZqKuK5bASKjCKxXyRtehZ2hcD83mJLRLrtaPtxC/BWEsaTQSretoHvBcJnDIynLXKCiqKUPgH10vNmv1VQvAy+AnQdh0hRlabDW3bCxMw61RtTuIYab4JpDGOkuhQV+JlFHNvJP2CpxrNRV2PthbV9xnwEgYn7OQiZ1bbCEisc0KGLTItPQm7IvooaL2x1KVovrWSwa3Pe5wPkjBTVfJ1n/17ZK2F7KIuZoY6wbypqUrF0A90vZiJGZOoikLYBEoSHmZNPTlJpxxhajIoFWMU9q/3aJ1wQ5+jTv8noCIfHB7Q9i3rVo4OYxXNTAw8OtdPN8PodhaNGIOUymTX1Wy2lDTGmimaZ29vASbx4MHJpE8IIQj8Tf7+LIwfN96QN4MQsrA6H0Yk0ecaZbYW4UZR5oa0NAUhGMoisOp7qlLoo4N2VFVu3vMUOSbZ4F3oGZybFpP3HqVCbtRVni4LFS2GgLbZjjs3YGVhZUqeqSJiciNaQKNF9JJidjzURqjNfpCg5CAwvzWFhLcHWOxLBppo0MxUlIe4zeZKSZQ3zg3M5g0xigZBNGrSUPooUUDKOypTYKuKfr2WLFJrqauGdVgLimnUlO86tNm2XMkiAGTCacTCf5x0Ji0UDed66rokOCdOwbnqiSGSjExIY5Spo63EUGnVnstr9Aglu56Ju2A+hIUyEjGlYbkSzYePDhUT1kSSJofdJ1JIFFU5BXlbY7N2pc+OprIEuq7DFEWeemvJHXOePgR0WTBbLISm3PVizFRofIz0fYcLQdyP2dERJmEv2Gw4pZIhRvDeYUtx47bG0HctQ9vx3HNPcuPaFcmdQza29WbF7Tt3uH33FqvNiqO9tSza0tLMGpKRpiBl58wQArawHB4ecrZaCrXEKr705Td44YWXOH54j0uXLssUXtv83jXPPJu4fOWx6fU3zSw3ub/Z9Ekeiaeeeu4/8D0SmWKy9nD83nnWUo9/n81mF/4+PkIAW6hJv7ctEg17833C4Cm00CwTgvAkk2NIdp7nQoOpMjqQ9SYqPfp9W2ry36Q/HFFRlWHWOFLpGTM62RaLXHRU3Ta226+nNGpo8ntNQp2XPD8PKRL8lob86HXaRZtDCJydL5kf9ly+do2nnnwMbSuMeuRYyGzJ9fKcRVNu99HR1XDUSWr4z/7wP+Wb3/4O+wdHHF26xunxKSkOudrPmd5M3cF0f6gRKdoxjBppmlvKqmTZ7n5eojvLumS00NqjGN/YwrLYW3Dn/n3Zh5UnZcd9H5KgF0HiJvb3DzhfrSWKpxC5RF3VlFUlyELwGKXx3jP0LqPZFhBmkJi2yAAwDuNAVfIixfn3ohHWbn6zNOPyXv3Q88QTV/ngw7u0PRitaDcb+qHj6OiQ9a1bYmQ1eN7++bu8/tnP4FxiuVrxyquvcPv2bXo38Cd/+u/5B//gf47pB+ZFuY2HUoJ/Ls8f8MPvfpOv/O7fkgJFKb7yO7/PH9377+n6jezLubOUCbj8XZZAmO7pC00eO9TxR+jnKrFlL6gRphVzw22+K7nJYoquujBoUjIM2qUBx5gzUJOWVml3f1FS1IcY8X4gJXOxyYxxKh6n+5yt1OjRodWFNT7xcEenbyaH+ZSEdihGhtnQ55G1OGbi7ja44++7uI/s/tm9HtsRUcr54/fv3+WP/+Uf87M33+Z3fu+3eeLJx/jyV3+HZ59/gb/++tf48Fe/yMVsQus0XXd0zEMPeS8meyWoacKwvf6o8f2RjQ0l9uTCdpFnYtZK9IlSF5tj2TdG6vPIqhrfT5x0EpeODvj85z7N8ckJ7/7iF9z88CZXrlzh8tXHWa3POD1/iDK90JoVDDk9QGVToxCkzrG50BeXWflsisLSDx1t27I6X1KUFUVVU1UVB3sHXL1ync2q5fDSJdl3nGPTbghBURWW2ayZtjHnvOgGR+mcHo3YDEo5QhRTy7bdZHmcxZYFOhj6tkVVtehB87BLKegGQSQLa+i9J0aRqkUk73Q+a+h6YRO261aAFEFLUNrgvae0lsViwbpfSy1SlhKbmU2l2q7NDMaSlN1qN6uWtuvp+4HCluzPxWyqLEphD1qN8w5rNHuLuRBos3FlWZToDCbFKECH0FMNQwxoJfTpmL1rurajyzrv1aZl6AW5NNZwdHAg2apBZHPOuWw+qplVFVVZsmhqDg/2iEpqOENkPm84ONiT3N0EXdez2bQi0UIxmzUUhefK5SP2F3t453jw4AGqECp43VTMjuZ4F3ChYtN2OOdxfUB7S6EUdSngltTTmrbtUFoxq2uSk+GQG0QuGYIXEzHn5RoXUXLAjeZ8ueJsuaIoCwY/EKMnRok0reuZAF9RNMVN3chzRLm+3jkGBGRxXvJw0SI5cE5cu/vs+ZJyLq3FZPZrnBgWCYjeTXVB3w/C7BEbpPzZSoxeXdcCxHlPWZR5fRXoKPFG2liqjGj7DNaN+9wUVZlrbYuhMAZbVNicP75ebzLLNnD1ymUgslkvGQbHwf4RH936aJJ+JhKLTIMeugHvPM737O8v8CFx/8EDPu7jYze2d+7eIyXFfLEnJknOU1V2chwL0lUKNK41Vmt0VWZzAml6hk5C1meLKmsQNPPZjHW7QitZNIKsSgEjbrkJo4ViarMRxuhkG7KmL6owZXzKxD0XQdaQVMJYJZpXArhI3RSEQN4YqmywIW5c1ujceEmjOrQBPySSUTlmQw7SoesZhoC2UBYWoliUuyAFmanM1KAYJa55KSXJwjIW6XED1pZYbYlRTa7QxCzSHgImKYqywagoxlFJpns+BUgyseyHjugD+3t7aC0DBRc8xgiFm5iYV7VM75QhhITVBclB1znMvKAtOrCKQolLobaW2WKRjawMfoiopClthfceYw11IZRhoaBkDVdSaGXAyPUcBw3lUSn5a5l6ZLXBZ7QqJNFfF2VBPzhWm1aucZBTZuhPaJoGF+KkKx51zikf6iok6kI2KaU0QwyZGh9ouzZPCDVFzp9NhegG2vWGZj6jqhpinq6W2tC5ltQnfJSfm83nuVAQGqjkDEbi0BMGhxlR4bLcliwxo2kxZI2zhLkvV0vKao/f+d3fRaH5yfe/zazRlLXoslfrFat+w627tzlfneNij6kMppTlKgeyOE0nn0heUdkG4gZS4Nq1a3zw4YcYZdg/WPC5179A0+zx2I2aoih3kFVZ21ev3eDqtYvr/T8s1L+YB/k/ySM3akb/+i+qmlryokfeYJQGMmR0b9K/ZnOoESQZXUBHRIapOOVCobl9CWp6nrGsnxqAndczskyEYqwmiuOEgiqV47nS1j9pQlBUprNK1IIxxVSE76JN8EiTvoP9RMSc53zVYss93njjq/SuZzGviFMe7faRWwx+/vOfcf3KAbNyzt/0eO65Z8BYnnzqSf70z/6Coys3eHjvDuiQnW3DDn115zVmreP4StVOPNH4v7XWdJ0coCPiM1/MSEnMBTU6u42mybBmPp+jleJgb5+6rNi4HOMUIsvlmr29mmHo2dufc+fBA9q+x5iStnPs7+9RVXPqeiH62KxPHocSVWnZ39+n63uGbqAoSgEkMt24sDbnQQdCEDfqNLlJ58FF1uhGL0VSUp6mqZjNLb0fIMnQ8/TkhKeffop79+8Rgxh/nJ9v+MUv3+e1T36C9WrFwWKPz376U3zv+z9kcB1v//wtPvPaJ/ExURhFitI+KKWxCn713js8/vhTPPfSJyAG9vf3+fLv/j7/7l//SyqVh7skAgqvMrtBnMm2eq2oLtBV1UhFvqCwHnve0ZQtZ5grGbiOjdpIj9/erykDzdt1sF0nj1J7penepbuP68aoJOZfmeUQovh9wA6yqhIpyf020tBTkPgQH0Y34B0qdtqVBOzAyrlZS+NsPQnCkCLbRvI37BvbBndkgexSs3ezcEcq+86QbURCVSIGx3vvvM29O7f57Gdf5/Uvfo7rjz3OP/rD/4J3f/4z/uobX+Ph/YeomNDE7FeRB0s6N9ZqzKrO1z9vHNthxrbJHff2NC1U2U8lYkwYXSNKTPYKEA8Bua+NyrvcBOur7YBEK6wquHLlMpcuH7FarfnZz97mh9/9gOs3rvH0ky/Q+5bT1X2JaszyoJjjRGKKuEwBNtpkE1KdHYVjprJGVhtH4Qb00DFrZll20GAKS1HKYCvERHSR0+U5h4f7DMNACJ79vT2GQWJIjNE4L7GDo8zLKkm9SEN2ms7XaLVaMWtmRDSd87kZFwRMQA+bAQ7J7h7CQFQJ77zUDlljGL0AK25wWKXpQpAUCqMxRcGqXTM4lw80jUoy1BtCEMdfpXAeUvZd2bQtxmpmdUVTNxTWCuMjKbyT4akKnsIUWJgYfcbk95u9L0K0NE3DZrMR+V1hc6yLmGT6mNhsBjxa9LJJUxVQVXNJBrGGYXAE79ApURpNVTRiomQse4sFTd3kGtgLw1FDU5ViggRsumGiM5fIvlsYTV01XL10meg9q6HF6sT1K5ew1rBY7AGaDz+4Jc7asz3Y9LTZ6HJIYuZkdNZFW00cpMcpg+z3yblM0XdgBEhKMaGMIPhdjndctxtUhOQjyQes0tSFZe/oMM8hxW8ohYi2CmUtQ9+DEqZo2/VCTM2gnI8RnxI6JuyICK878b1BjHFNma91XWVXfkGZVcpSoDHvPooeOwVFcsKosEVJSjHrcrPxrs4SQtdLDzUqj8K43+Y85SQ1vo8hv7fEerXi0rXLeO+pKzg6vCT9kC1YrTdYY/BBEYLi5q3bGFuyt3/IycmJ9FtdL+xU5PmsLTg5XdLUM9Fjf8zHx25su74V+sdITZlQyiimPztathgiulQ085ncnKaACKvVWrJES6FmzhcztFas1o7DwzlVVTEMA6UaY1HEqt5m+qMxdoKnjdbCtbeGqLxMxmIEFUgqUlQVZZmhdwIxTxGNVZhCsbc/o8g5uVLrC9pMHI0VFIPzDK0Iu8uikolJHMSp1wWCTxgraEF0EauFUqCUZnB+h/YoE16TYyxS8BgrUz7h+csmPaJF1lquX7vO2cOHGZVOaC3l6TAMzPdmk7bW5wb20qUjTGlFcG8VyhRSvjhFZSpKZfNhLTEBRilKU9G7AasroT37QajjSqjWaE2IAz6Io7PRBXVpGZTYcCsLLjpB0BOUeYI2OEdTV8yaBpWjb2Ic7f0tIYpWdlbP6Acntu7B43zA+TYvghU+rrDGsHIDXUZXRX+QzR6yAL0oLfNmRl03edIm+hwfwqTBNhoIMvUddQnaiANd13WUezV1WdLSSd6cHzJFxk5006IoMh3aEnxg8OKiJ7l5Bav1GhCdaQwSqxCjbGbCZhBtW2E0lbV89jOf5fEnn6FQkXfe/jEhiDHGBzc/4sHylHW3ytNxOeBDbso2Xcf5uUwZS1sBeopN6LoNL734At/73g9IwFNPPcnjj93Ik7bqYzSs/3E8VM53HvqBJk/Sdx/FZAcvjxFJUkpdoO0yFpbyxW0RNxVdafKaevTSXKQj76IzW6pxegSp20KTXCggJ7RWjRRHxfhjeqQ7IvuazZEGY2Mb8mR01O5tDWpyYTrmgirD7bsP+cIX3+Cxx65TFNLsJHVRnqJ23s/nPvMpqrK40Jg++qjqCmWsUKKT5t7dO8zqiui77Pg8om67z//o9Zxa/IuvImv8xr2P7Hg8Ir4jdTMxNraCRhitKeqCy5cus7l7nOvvxHq1RqnLDEOPNgUheU7OTrl2/Tqr1SnOizSgLCvCMBC1mOFV+2LCJ95agb39BdZazs9X+BCojQxj5fPUhOQnirRSZtsMjPF2OzTNoqyIg+e5555g/eYvZCCqDOdnp5yd7nH50hH37h8DkhN/cnrKrdu3uHS4z+npCQd7e+ztzblz/z5vvf0WL738ImZQUIiTqDUSvTAyCH78/e9y+ep19g8PUdHx7Asv8tqnP8vbP/lxdn0mD+Yk41YHJYPZmEhRjEhSbiBjprDrnaZzt4HbrruR5h53hkSZDhnT1NyqPIbZbWLjtJa298yuBna8llNzOBljSJMVU3Yknjw4yDnW20ZcTRInlZEGLtKSx70hu4CmzJd+VDM/otIKZPCit88zrufxvW61xUxNvqzdsRlOO430b2huIRtLyfVaLk/5q2/8Je/+4pd88ctf5JVXXuLlVz/FU888y4++/32+881v4ro+0z9inhMpqQmMnjxPyJGBkrGQHvk8d/6Z2S1jdnJKMhAxVmi2IQqFNMYg9GNGd9W0k9M9jfIyrVNJA5Uk23V/b58vfeGLLJdLfvnLX/KjH/yEK9evcfX64ygLq+UpQ9ciY39IWrKPQ87f1CiCE7qu80Nm/SlCzjhNocP5lk27pi7mGEouX7sBOenjmWee4fzkHsv1kr4Xl1alNhhjSUNEqQBJ5z0SMb4xCVMYVNIUk9wMCmWEQhnS5NXSNA3WaPocvSPhG0riIN2AAmG2eYmvXJ6vmM8X2LLAahmQiXGowRYFq806m0N6Eoq6KsUNOcYp0q1re8nB9QFrFLO6oZlJU2CMyRTzQpiTwaMTFGVBXdeUxlJmtorKtHRNxOWaeL1eE5Lk0pJg6CXmchgGNv2Qzbc8ySSauhKTUiPMwsF7UnCoEJlXlUQ/FQUHBwdoI9eu7/ts9GWpS01dFRSFpesEiT873zA4lwGiUZqX0Ab6vkUDV69e5nBvwcHhIS54+mFgs+np3cCm9eLlEXvxSVCGfuh4eHLGwcE+TVEQoqeoCtbtmuVKqGMKhcq9gSnNtFpU1jHHmDLglh2KvRjh7u0taJqakM84QWiFGRoy66MoCjHjCoEI9N6jrZJkETTKDdk8N5KyHr2shE2gC8Pgs0SPbGiahO6rMrBWVeItk2JAW/GSiT6KyVeIDH7AeUep1eTeTB7YhBhzpm4hZlptlweJWR6U/S8KI3rmtm25dfM21soQRGcqdNt12KKcmFBVWY5jNlbrDVVVo5VmtVmK1CR7uWA0q9WKoRsmRsXHefx/pbFNKUwOh0SJS/FoySQLnsLorPUQt8hCVzSzWaZc9vi6pCiqSUvVD0Lz1VZu3pgCpijy9B6GLKQ3thAamHcYa6iM0BZsYTM1tWVICT/S34ya4hwkH1bMfMq6BFWgtBRT2igE3lWY/FwahfOCUrrgKaoyO+aJtqcfBpnWxUx5zSPnFBQ+bCe0eLCFBiNNosoTR2OEBhyTIrgg9AaVqOsZycDV69coa3GPDr7PzmsJU0oEkrYGtKXvN1zaPyQGi7Yq25n3eC9UWUE8FIv5LE9csoU8GUlNMiG0dSGh2TEQvEdj0NkczBqD116om8GhMfhc6FhtKKqCTb8hJsRMKykCsmj63lHaYsohTjnHcrZY0K7XtF1HNZsTgqdvxY1uNm/ENl1prNF0m3VeCAPeO2bzGfOZ5CMXpmDoJVvXFBYxsApEFVkvz5nNF2ilaTcrrDXs7+1LRl4uElSSA1bVki3mnM/TNDmknJf3aZTKGbqi+Q1RqNoyqbb03Zo0l4NBJ03MB4LVhqhjDpcWV8fCVNRlRVU2HB3dmIpCYwpiVLmg/YCzs1M6P5B0lHs8mwwZ3eYD2TJvamnwreHxx58iDIpbH53RtT1PPPkEe3sNq/Wal55/PjuA/8ff0D6qaTXWMKwHGur8tW1Dt394QO97QkYqBSySjD2l9XRtUy62RXa2RSKmwvpRHa0akRI1ofNjdvH0Lb8BodktjidqXv4tesxXTVIMK20zNjnyfcdom6yN0cWE7qcYM7PDiPnPox/jWDgrzcnpOT7B8dkZb7/7C2azmlt37soEPwidaehijlIYOD27T4yewXlcED23FN4iM3DOCyXKD3zw4a9IIXH68Iwb169y5fIedZ2phxcFl/L3SS88AuNqou9epCIjdD5GymbaTu3zkyqV9cj5MB01bCAmeTHeRwlMxMOTh5ydHrJYzDg9PcX7wHJ1xo3HrgNCMTS2oKoaVv2QTQclC9QNPYuFOCifL5eEHAtXVKXoy5K8BpXGyDSbh03buBSt5XMK3stAIjtXKhKXLh3y7DNP8M67H0BSDMFx885tXv3kJzk9W9F3jkBitVpz6+Ydbly7xmazYd7M+MIXvsi/+/d/Stf1/PEf/xv+8B//J/RjRFtI2J2InPV6yQ+/+22+8j/7W1itUSnxhS9/ldOHx5w+eCBmQyqJcZPWYtrlrUhcuKgffZQhsLsGtt8nzRpqbOp2UflxAJN2kFt1YdldaH92gEOtttnM5HNVayXgIxI1Y5Ug5j4ExtZatGJZ7jQxLnKjltH0FPyvrVtBI3fp2Ns1ni7oanfev+LXm19G3emIfG+HY6P2eBxQPar/3/0dI3KsJ/17IuG5e/cmf/xHd/j5z1/gd37nt7lx4wZf/u3f4bkXX+Lbf/V13v3ZW5M2djtgyXtYTNMal8FFZpmkMZ+WcWfKjAum6C03eNGyFgVFMY4omAywVI4uTCPzbEzTTfk59GQFhgIKY/EESIHD/X0+++nP8Px6zS/e/xU//fE77B8e8dTTT5BmjtPTu4QoNNsYI9EL4uSzDCuEgLGGYnS/1iMTRlzXU0gEF1DB0rbr6R5u5jOq+gYH7oi+67l75y7L83UeGCpm8wYQQ7v1eiV03HqW88eTDLiTmyRNYqzY0rYt1lgKW9DlXNWQHYUVij7vD9YYmtmcqiyJIVDXop+f1SWz2YzoBtzgJqRaGcnaLYjUVY0uLIMbhMXXO/pumGqtqpAmvywLbCFaTZ0RWKL4txTGUmb95CgJimmM3vLZ7dkS05aCapQYxzo3sNl0uLDVsTZVKTR6HyTv1gd8L942khAQWOw12MJQFOLgXjU1Xdux2mxwvacwloPFjPmsFm+SIJKrvheGltGaqqyY1Q3tZpnzVEs265Z501CVNZWt2Gxa2mGrdx28B7KDr4rU8zlNNWezWrI8O2XwHu0dKGEGKG04X64oraU0Ug/HGKispSgqBu+z0VnKbIIsUbRyzh9elnPI+Z6T9QqV8t4zSnC8UPR1UkQUm36Q/dd75nZGjNJAbjYdOsFsNkPbHBGoxOgq+Ejne8lBjml6/qKocIMMHawuqGZVHlYoEoGitPn1muymbHOdFDLtfJzIy9qNIYLNzbMEhQvCOrgc1RWZLeasNmuGvkWrBjd0aCOI9zAMxOzsnWKiKisOjo7o+p47d+/y2PXrGQEuM7JsxbMiy4iCD8zni187h/6mx8dubItCBMNkKoUfhuzoGyfxd4qB/YOF0LCCoGbCuTYoSjFj8hGsloMo6ygE2hbHVaUVRq4bZSGC6CFnZFa5ySQjoGGQabvRJqMeYZoeGCt0qJHLr7KVvDEGUyjAUZTiRNcPgziC2YK6mWNMQdcOEkNTClIiH0zKFzuB1lRVORkVjdMRrcUQShyVR3RojGiI+UCRiad3Xmhb+WettdkAyXLv/n3ZcKxs5CZz21UueG1p8LGnmTWYQuzxQ1I4lwjJsenWkrtYZbtupShsIRlahaGykrcqFCPyREhlMy7h06uQdZtGaDA+iHtfUhJrUWTL+rqsaTdiLBVC3B6UkRwSLUHn9WxGiIHFYoE1owtzR98N1E2TaToO5x1du2HWzLHWst44bCFmC2VZ4GIiWOH52rFpS9LYFMYwn8+oqjIXvg3eifieUbSfdYyzZsbarYiaydl0/CP3lJoopmKdL+4rg+upy5pkDPP5HGssrhdqtHfi2pdimibnQkGN1EXJc08/y2Jvn0Ql1x/ZhM7Ol7x/8yPuHt8i+EHoS1qQ2qqs5VePmccYdBR0/OjSFR6/9iR3b51gjGazaamqisuXL9G2a5575qmPvRn8x/A4Pd1Ql1bMxbI2v21bisJmIyl5zObzfM/LIa5z40s2ZPq1fnVHF5KmPNtMlx2L2xFOZfpSpplp4qPPp7bP9+hjagiy/iyGTPM0IyvDAGHHEitOBa9SmhDD5NgYs/7GFnZkOMs9uft7M/3++KFkGv/zP/pX/A//7I+yMR3TnpOS0IlCZo+UdSQEx7Vr17h87Rq/fP9XFFnDJYW3AQVWGZbnS/rNwND2XL50xIPjY5568sqWZn1Bl8nUqE8U7lGPmfSUjZcyNavdbCAj5AqYzZotTRN2XIflM2qahr29PdbrtRg8pTT9ZmMMly9fRatE8CtSTDx4cJ8XX3wBst7o8KChaWacPDgmIPQslxk2Yyj8aHhYVbUMPrV4FLhhkJgZ9GSeMTpmiiNu/nxNyoZoEgdmtWbeNCzmDVVp6HtPQqIZTpfnPPX0U7z7znsZwYls1h03P7rJ449f4+zsnMtXr/DSSy/xzjvv0feON3/6Np989WUSohNWOdvYWBmE/fKX73Lp2nVe+9SnSSlSVSW/9dXf49/+y38mhi0xm6dNStKxqdRTduAFHeq205r+325Dt/tPssNvmpgJ+kKU1kRx3sKzkynVdK9kx+xHTdzEeIzpubTOvzkmXJBIt2gsRivx0AiZzZXd+CfG7U7DPv736Ffx6N5x4bXuvM+JnJGh2l0EePt6L16X8d561IVd1sPO9d7JvN19v3Kvyxp+5+2fcfvWbb74hS/y+S98nmvXb/D3/+E/5p0XXuKvv/41VsszGdTHmGuTreuzzpuJUmlnDW8ZZuNHMkb8KKWoymr7upEBk7w+M7H12DHf2yWyXLwe28Ggydm/MUSCCxzu7fP6pz/Lyy93vPveu/zg+z/m8Ogyjz12FVsE2s0JXb+WxslkzWCO+RP5ks8+B2Z7HZF9IwTx4QhRhhohRmlmjGL/8AB84nD/SAwb799ntV5zfr7mLK6IUaF1fu9JBuMpSV02UuBDSAyDpFOUhaB1SkmGLtlUcr3ZSF3kh2mKY3xgMbfcuH4NRuMi76gryYoNpacdBORIyaNNLQ1hVdEHRzf06NGsLet6y7pgb76Q5jRLXFSuX6qyIgVJGRHz1yg/l/XLoLJDcSK4AaekRrVGUZUlgxeENuSmO2X6cllWVHXF4Ae0MaxWa1bLFSmJfKyqSmEpppibJYhBsV52PDx5iDGGg/0Fs7qiriogSVMfRe6Wsj9NVZQoYyQaNMddWlOgrcgLz07PmDczoa9n08D1ugNlsGVF2/as24HLV66wv7dP23bEBL1zBMT007mBrh/ks3ADi0uX2d/fk2QRFWnbgaGX9xljgTGapizFNTglmlnDpu+mfc/aTAtOOVIqxsn5PaZEn30mtNb0fUdZOtwwjH7pci0yklpYkfc57+n6PhvV2Zy2IgaqgxuymaGsy7IoJzS2tJIjG2PCVIaqKnMUlaDP3kssaPCj838G97KfSMhRcyoKIDgOxJqZDHyaus6650IkisbSO8ely1e4c1uSLNbrlpNTyXHv+p7Ts7P8WXvKsuT69eucn59zujyVHq8wfPDBB7++ofwNj4/d2Ib8IWo0dVEyAP1yhTUyEZ7PG4n2cQOXrl0TFDMGrMnW5/MZXec4W63FHcsYjBHKbgwB7wSWt9YKrTlGrFZyc4VsEBCHaVruc0yQ5AYqrCkZXGQIA8pEylJn5zH5cOuqABXzhmhy0SwfYFHB0LekCPPKEJxnGBy2KMXSG6jLMpuIDBRFBRrqqiEG6NuelJ9XZeOhoi5znpeIzYtidG/OtO0IRglVLiklMTXJc7I8xW6E6x6qgrquaDdriQ7SBS4kTHAo7UlB43px1JzVtUxNtVBBDg8u0bUdwY9GXPngj1qcjW1BURb4rpOcrkJlil6BcwPt0FFWpWh9UmK93kyUy6IqICXc6BqqBUXXGIbkSSkwb2aS/ZskE64sLVpl2maKEu8RE1rPWSpyDJHQN1RKqGZGBGZlydAZKltIvlvbivYSsBh0BJIMNqKXBWaU0HCMNSwWC7p+kGY4jBOr7HycI6pGg5LgBlzfUVYVtpLBiPdBjCryxjIGy4hDoOhbYhRHQGsLXI6TSililJYpsdIcLvbZm+2J5sCUOC8bGNl19f69O5ydHJN8gIh8Bv2GGCMHh0c0dZM1e2DQLOo9rhxdYb7YIwVNXTaokGjXG2KIXL16hePjB1y9enWnWJLHf8zo7d5evaNHk8biwYN7XL9+fatJVYqqKAWtCdsIEWkmxaRrt9AaHylvzPlvgjLtFLYjxCiMvRGC2w5NtojDlpI4/d4R9cmDoREBkiIhjMRMVNIZD9GggmiqdrIwQQqviEyAY26IZZimLmT27r6Pvu85OTnh3sNzji7tcfnSVb7+l3+FMaXcj7l9GYeNr730Cr/9u7/F9773HX7rt77E4mCP2bcavvilL+W8uR7nPW274eThKT/96c9Ad3TB8dHdu7z8wrOs255FU8rBNsJtO03P9oXmuJSsi9w1nkHJvpThUACqut4abo0AYJBrFpxDJbh29QrvnZ+xv5hLZAI5VzLA3XsPuXy0z3yxx0sv7PH+Bx8QQkIb0fns79fyO6wheY82W1OaEEd2hDhAJu+kePGClhBF01cYTVXKVNn5QNYZCMqbIkpbQRtGV2cgDI7LB/s88+STvPvuBzmSTnHr5i0ef/xxDg72ODk9BaVZbdacni+ZLWrmTUPbtVy/epX3f/UrlmfnfPc73+fpp5/i6tXLEBwuiMbLEHOjpfjJD7/H1atXufbYY6gUuXLtOp/+3Bf45l/+OUVpJvq2QgnbZNKQb6NqtndZeuS+2w4ztgOMbSfzKOKppqY1Xvie37QXpR2Udsyl3WVJiLxjHCxtkWGlmApJjeYLX/otXnrlFT768EP+3b/+1zg3oLS9sI+wIzkYnyc+OsUa3/FErX3062Ozxy4XZMQrL1yH6f2NLs47e8a0JtC/Fu+1bTxjZknIG9+cL/nLP/8LfvHe+3zlt7/CM88+ySuf/gxPPvss3//ON3nzRz9A9QMEkQsElbL5pdl5Tj1JAVTWno4Nr87736h31iZryVVk3HqVNuJNkhHghCCmI2I9JWWksNUr79K/p8GihozSNHXBq594ieeeeYr33v0lb//4Tfb393j2uSc4mF9muVqyXC+zo7BElwirzqGzCWdKYKzFGsurr73G22+9jW/DtC+F4Fmvl/jQEtM+i2ZOM68ltq4uWa9aTk5OufXRh3z4/occHOwzn8849Su0VjRVIcW7EYmYNYb5bMZMSSxgWVmKouT0/Jy2b3PNqwiILCnEyPHDBzR1g7JCyx1NmMrCooaBGCTGZb6Y0XWdyOO8x6fEedfL+kB8DkyWGCirqYymriybTc/Q9wxeGicxpzSUpRWmXRS2XmELooLOuRwRI6DQMAxobYSanYSaKhGPYho12zMEH6nqKms2LTZrMYvSUpQWa6QWDlEopmWVEy28Z708Z7NpgcTVK5c42D8gJXHFTSnm6CUxgCVFhiANnwqKuio4ONgXv5WksVqx7loZiBlFdIkYFG3rWC47mtk+Xe/46OZtVqueot6nqhvmewvOTo+Fbq4CQ9eyXC7xg6RMpMwkLaoS5xNgqBrR3A+9fEZaWy5fOmJ//4Dl8lzWSYqsludUTSnD2piIUeOGLsecynWwxghS6iPKWpqqpG17tNGUVZnljshww3kG55jP57iQxGBVW0KSurAbxCBRW1kPPkWqUmIpY0oEhM2SkLqjbVtsKVTqsijwvcQX+cHThYGEFvPapOmGAZSZBu5aNk/pcbKDcjOfE/xAWZcCylQVvu3ZbDacL39FSomqqklOUNx61lCW4nsTicScDd0Nnno2Y+Z6lstz1i5wvl79xn35Nz0+dmM7Ui1GS3nnXHbSS9nZN3F4cEDf9zx8+JCD/UPJ6NSKxWJBiF6ockEmSOSp1WazIfqc0WVMDhOXmJBu8MSgQNuci2REUJ/h+CmaISMiYvgUxyG0NDZ7c4pCTKTQ4kKnNBRGtDq2qggpyvQlN0fBi+vv4L1MfJzYoI8HgOQbCv2iaz1921PmRj2mRF1XFKWgnBJfFCgKk6lUMmnxPkwBzmF0LxsG0tBTaHEUc35gb29Bq+Q1EDMNS2kOj2ZopVgtV4J0Hx2JYx2gvOTRVVU1HZDGbOMonHN0SQrvECTCab2RXLKjwwNMYTg5E5fqw719jFYkK/rSohAqBzFNw4iAF82ONjR1QddtMq15dJFMUwbq/v5+DltXk45ylm3wyxwNsGhmmGxZDoowm4vOrRbDoM0gDsaI3EYKMytOnMYYEdy7gYQFbTKqo6jrZspg1Vq0wIUWJGucmI8mMimJm7ILngfHD5gt5lN2rrGitdMZ1RWNoHw2YobTQorszRZYbbh06RLPPvOsmIsNHluJyH+zEUpUUnB6ciIGEcVctMM4YvL5s5PMvLFOWszmXHn+BcqiRmlLWVSU2TJ+uVzRDz3GGI6OjpjPZ/zkJz8lOM+lK5d56qknPvbm8P/vh+jLzYX/V5Ylq9WKK1cuo3PECsBibyERTfkzS7vIEr9eLI9I7RYt2kEBd4vrqaJW2bwqbhvXUVy3q//Lhf3YiO8W4Gk0XtkxYJHbK0gRN/1axf7+AV/40peBxF/+xZ/RthtpBpN4FIwxS1t2wkXN4/n5Oev1mq7b8Mprr3Hz5i3RcLlECImks/EKFmsb3v/oQ+790ztctNB+kwABAABJREFUvnzIt777bX7+9tv87b/zd/mv/+v/m+huejcFsceY2LQbLl+5wqWjI85WSxb7B2zWD5g3OcJrV4P5G0r/C5f1ka8Nrp+oqClFmhwvtaV6jtrpNFGA9xaLHP4uA72QB0394Lh567Ygo/VozBcZMgW526yIKYrze9MQ3RgzIM3/iNyq3NyO7VoC6qpis9lkt9eYCz0v8Qi5Gfrd3/9bXLr2BH/0T/8HXOiIGfnQxlIig9wnnrjGnbv3ODvvSWhW65VkKy7mnJ6dTnTgu/fvYyy88sonaLuWg/0DvvqVL/O1r32dsiz593/25/zDf/QPmFdWzF0yTUYnocG3mxXf/dY3+Vt/7+/T1ML6ePUzn+X+3Vv88r2fC7o7DXYywpZGg7XdNZG2fe5EL35kvLKLxP1GvfZFB+ltE7f7HDs03AtY8hZp3UU1x4Z0q4/fosM+wbf++puU9YJXX3uVZtbwL//5v6Br+6xxHZvGLTIqGeWRR7eDKXDo15r0bXTYyM5gV74/Xpc0YrW/ucHd/bsxNr9fNd33XGCGmB2X4UgkkCK8/8F73L5zh1de/SRvfOVLXLlyxO/8/h/wiVdf46/+/Gvc+vAjBtdNJmwxU5Jl2Gww2j6CYu9+rjsf/c5/+CDyHSJgcyOrUtZAk/c/Nc0IHx2NTIy2cc9QCVNodFKIvE5RGstrr7zCC889y82PbvLu27/AWMPzL77IYnGZh6fHrLsN3uWhrw0omyP3UsI7hwuBH/z4hxMo4jJiK0jeCqUd50vPennGvJnTzOb4JA3Y9evXqArDerUCBevVmnW3FhO64oDVao2LwhTYWywgQd/LfhZTYLVes9psSEhdqDLCr41hcAN1U+O9l8SRzZoQZECudUNdiERp/FmtFalNrFctfZCh514zp7I2Z61qFos5KSZKWwpTLMkwyVhh3wjzaaxbnEQRFQVolXN0O2zOqx1db8d7JRAlfi73A1EpkveCxGamofcOhfjiNGVBdXRAUuLmq0D25Jzzu2lbhqFnsaiZNQ2H+3sopdi0Pc4NO7WrmbJmhQabsMYSgiclI1m9XlaqtQbnHZu+pesH1htH2zqMLThfLnl4csr5+TkJy/379+jalr1ZQ1EYjE5UdYFzis06Uc5K6sqISWDytN2KtttQV3XWJJfEIEkbV64Ioju6pXvnMy040veiGfbeURQz9g/2uXv3GO/lPmydk3o51z8jSzCEmIEcckatmDxJ9GgpUalRgBlBfHVmqHqasprYbC5EfGRif1EU2QHaZU8IOfuqecnyfElRabS1aGvFaLY001oez+TgpYbx2fdFm1xnK9gMPUnL3tj2AylK0sZytcoGVTJIHqntSkk9t1qtcF2P94E7d+5y9dolbly/kd2w3cTu+DiPj93YmmyxH4PPaKcWA44QGKJnsVgwm89Yr9ecnp4Skickgx8C63bDfCGusn3XSi5TVYt193rIjoYlxhaEFIl9nmIgDemoUdLZzECm79LIOOfQWZvWe49r+6lAUhhxTdZZA2kUppLNHC2an6QNoesoi4J+0xH689xsJtGU5JumKiUeR9zKNBa5iVbrFToZtK0xxqIt2BxJME6Qrc1NsRZKRVGWNDPL8lyianRepARplgaxaEAbWK2WDINkOjnnuHR0Ca3DNGnd21vQdTKVE2OuirZrWXcde4s9TFESfcBEhcvZXHVd04cuo6fQzGvSOmBtRYqRqphxsLfParkU2hJK8rqUnoTx5CJQIo1K0VBkvYtEyUjjaUxBQETxhIAfZLqVcnSS9x7vepqmYVbW9P2AtQVNM4M0RjslQaxEdEAKgaHvMRgKWxCUkiBxpbGFIfkkVvYxEILDZD2AUgpbWpRJ4hatI8qaHMQuSExZGOq6JGWrx6as8HVDmd9T3/UMraMsCrRNOas24lPA5HxOq8WlsTBiTnHp6JKg35Uc2C4lbt+5x8OHJ3lhazlQ6jzAIOEyzbYuK8lQ83GKuzo6OMSfij09KqPYuXBarVecPHzI22+/zYsvvkhZlrz88ktiBGE//sbwH8tDZ+nDarWiaSKLhUgR6rqWjdX73AhEYX4bc7FZVY8WpSPdfLdIzY+RxpwHGGmnGFUXqrrdojxN7qBM3zvqHcfCVVC0KQPbZKolRhoJ73juhZf57Oe/yM2bH9H1jhgVxIwoFrL+0FsaZ9ytoJPm4fEJXdfRdR03blznL/7i6znmKxebOQ80hUjnBobTAc4i/9v/3f+Gmzc/4Ps//D6f/NQn+X/+D/9MWAZJDNZGDSERlqfnPPvUM9y6eZMHJyccLmb4IO5USluSyho7rQhaXt/odTxGSOjp+m0/Hu8cu8xqiS2rZUBERiTynj2Wx7Y02NJQp4qyLAlui9APw5aGZbSYrK2XZ1y6fJ02ydpPKXJ4cEC7UZnWHfG5yBP3U6F8kSJXrl5hvV5zuH/Aw+Njhi7TlRXUsxlPPf0sJ6dnNPWcw4MjZnXN0888z7vvvTlFvqj8/WVVEHvH1atHLNe3pmHa8fExL730MnUzo9v0oGDTDpyveu4/OOHSpQNOz5ccHu5zdPmQh8fnnK+WvPfzX/LpT70CyQmrQCWMUtP5c3z/Dm/+8Pt8/stfQScxTfrSV3+X+3dvs1wt0bZAa8RwMGR32dwk7lJTSWmngXt0lf7NFN5xzYzr7kLTmOIjza26sM5E662ytj7+2u8ZpT1q0m6nicHgw8Bq5fizP/m3nJ4+4EtvvMF/+b/6X/PH/+Jfcvfu7ZwxuzW9mmjvO07mTAOtrDeNUfJOJ4R6Gw+03Wp2KBUpXTCUSjt7xK9RvXMzm6afeRSp3e43u18DMcdUMeJ7z09+9G0++uAXfPGLX+LTr3+Kazce5x/+k/+cX737Ln/99a9xfP+erKfs+aGsFiSXKNEtWj0ydBvpxTufM1s0OUY/RTrtOu4LDTSilc0ximn0rdrmC6ed5n56f/I5aqVQRmRVVS05pnuvvsxLL73AL3/5Pj/9yVtoY3nx1U+wf3iFhw+OWS7PKUsx+RklJsnEbAaaGVZRzIIEDXRSE+ZceFRgMyxZdsus3y4obcmNJ26QQpS6arVivVkxDB1n50uJybGGsip5cHyazat0ZrWBT4HZLA/us3EPSTKbrVHYWS2Gl0ox4Ek+4oaAKwN9iGht8BFOzwSdHrynG3o671BasekU86MjajsTFp0TPWvUiaCiyMNSZLGYE5PsrcoWLNcb+q6jaRpCBNf10uwkRe8cGIWyRtzmvQwJUAlPyGCPl/QLnZ3vlcg0nBtAi2HRrC7wQIyj+WtzgZlUFQWzWliCWhlc3wv6GMJ0fxVFKRFUxmBtYjFv8L6Yaq3oREpitWGICYXFOc96M+C8Z7Ve0/aOTdvTtg7fBzRK5HiFom9PUWHJ3nzGfFZirSDBKh1JbVwXrFY9VheQArOmZH9/IWzT3tHUBZUVmvXq/GwytLTWMqtryfWNLoN3FdZaNpuB/YN9zs/XufnN4ztjJpBr1KR750SWFrObuxcE2+V+oG4a2s1GyF/kOtdYXJBh7ugDMTLYJBpSAIGQUvaqkH5q03a5MR0yvV/WfQjieq2VmLCqGPNQy+Z+MKfYDGL+FUKgz3GWbggEH1mt1vmMjzmDWiSJozzx4cOHALRtNw0t339/zVOP3+Dq1at8+NHNR3wM/scfH7uxLauSzWaT9YeasiwYBtFm7u3tsb+/L1pWpbh8+TKz2SzP8QsRDK/WdF3HZrPBOUdTN3Rdx3q1yW9OKHchc6ybuia4SN91ovfUOruIjSYFOxtoiDTVTDJxidhCqKlj7lL0GgoLUYmbXpEnD3lE7QY3LaR2s0EpmfynBLqwuGFguZTroI0crH035LgRKK3EBYmDrSGh8S6iVcyGL+LobJRiyGHHo/X2bNbgQ8R7afis1ZM2VSc/0Zy8dyhlODw8IMYBraW5HPUdw+B4eHxMVdeURSn04LIErQXV04bV+ZKz9Zq4v8/Bwd6EXtbZvEApxdC3UuAZy6WjS6Irc/LazI7hxdCL8deo91OIvstYadKHQQKvJSJJsosJYzB1yqZS0rjMZrO8aMxkhx+yrlprCXnXWk9at7ZrCc4LhYKEz5ojA9jaEo0SOmA+i5u6ISQxdiAloU4VEJTQkupZg+t73OCy3s7hopemVxtxC7SFbDZJZdOmgn7oSYirncrRRClEDvYOuHR0yLWr12nqWdYci1FZ23c8OD7jzt073Lt7F7I+xRjNMHRs2g3GqsmkoipLCiWUnsP9ArgjNDI03oWJBjKakWzWa372s7d4+PAhjz/+WKbzfnyb9P8YH0opPvroQ55//sVpnc5nMpnuuo6kJYNVm21BdrEu20VGxuJZP1JkZ7Q+N2e7nN+t5m3X9GZL1RuRn93XO6I6kGQPyOK2HBAhUSE5eqOwJa996tMAvP3WW4Iugkx984BoLLwnRCVHn4luHG7evCURDMbSdz0nxw8ztXek3299bQfnxITJKv7yL7/FbF5zctLy0zffwQ3CtLBKvAVUdmXWQHBOhispcef2HS6/+hI//slPISWOLh3xxZf2YbKSEX3yKA+UtZi1wWaHdpmg77uca559CpToaNvNBjGqz+Yc2aEx5viCqq5ISVzJ2wenE5jY5/gEkGIrxciDBw+4du3xyZSiLgrMYgHR0fct3qvp+novBYHWhrbt8D5wfr7ED55rV66K06k23H94TNKwf3DAwdElPvjVR/zlX/4FbT9M+i6lmMzmSivuX6YoefLJG9y5d4+2B5UkY/v4+CFHly7xMDzMe4viwYMTrl+7xmw2YLSm63o+/elP82d/9pfUVc03vv7XPPnE4xwdyBrXmcZvJkq85v1fvMtjjz/B408/jUqexf4+v/u3/y5/8q//CJf3WK0NyUjhmuIWIZwac7NF136dPrxddBdw+6QmLTUTTVhNEUEji+LX1w2TcZFSaspHH1HyXXou2Y14XIMxywa0koiV1fqUv/rGX7BaLvm93//b/OF/8Z/zJ//m3/Dzt39GkfPtR3Q0ggxBpyb+ogu6IAzZ6j6NzT47a/3iNVBqN7+aTHO/aDa1O3Bjui4Xjeh+vaBLO887Dk4UpIgicnZywp/+6Z/yzjs/5ytffYOnn32aF155hSeeeZqf/uB7fO/b38a5PiNLTsxucnMCkpggf83mXXnNT+9Pm6yTlIbdexnEjfEwI+U8+ZTzdEP+zPX2dslTwykLeuf9iwZY7l+jFCH46X4sbcmnX3uNZ597ho9u3eRnP/kxRVXywosvce3KFe7fv8PZ+UNMocUx1+QBhc6xJeM8Im3NPI3RYralhXsixkoCAohpn8i0fPQcXbrEpctHdH3Lvbv3WW829L1judzw8OQhNx67QV1XhJgoc9SkztdRa4kK0lrQWpC9qigsCUWpNIWtCC6yWm1YrVvmdZl9ZHJ9ZCR/vsosE+/FIbg2Vc6FFa+WhHjHuOApcm1HjFKja6GV9sNAWVQ4RLJX5Lp4dM5V2UEcowlIzbbuRZsZY2Re1xMinFJCRzH0InuWhABDDNP9PX7f+KepqylVIMUonjMmsbe3l4eaKSdqRLyXmjhF8QuIvSCGVmlKIw67USm0F7r+MDjarme53tD2A/3gIWmcG1jM5pKXqjWr9SmzuuLalUOMUcQoPUNz+QiVxAW5Lg8EeKtUNryaCWM1ivijKWS46l0v0sycDz56D9VVjRs8JMXp6TmbzUBR1jk21VEUkrJhrRh8WWulZjaGomhwzrFer6dUBMhmrTn6cdxzvPeEXJM3M0HaNxtBfMfnBShjoO96MWvK+bFWF7hMFe9cwBaleILk/cZoNQ2LS2vz8NSgrSC1IQT63ot3RNL0ncPbQPSJ9WojxpTGMpvNGFyP1rKuz8/OWG02k4dTUThJHcm9yb3797lx4zpVXTPLGuOP8/jYjS3KUFYzTNbImJzlWRWGuqlRKtG2G4wxzGYNTV0TQ5SNUxesVx0PHpwSI5S2xuqCqBN1WVJXNlPtNMoU2JxLFkLYmgMpQTokD1ZNMRFJix5O8h81TVVjC4VKkZgRUI0lBS323lmXmQpDVKK7REmmqS0ssZBNuG07uWl8nrLlia0fPFVVEYJA+M2ikcihGMRvN9NTQ8wbY7Zmj0miXozRGAvJBcrKyhk5OLwbKExBYcQ0KMSA76PECFlFXZQ0sxmLqiQEsRaPCVIQJ7q6KlkXQtVYrpYcHRxhcn4wSnGwv481Bu7fx+ocD4Mi2awvJeFcj45Rpjp5El7WQr9LoWdvb29qAJqmIviBqq4obCkoRj58rC3wPtImmYzapCmxBALex0wDlUxepcBmKm2MQajkRGEIBKYCqK7FbMkWpehwjWRdrdZriroWfYCC09USqy026zJkwRSk6HFxQEWN9wOmyAeqzkiQ+OsQfMwh9Uao7TFrhIxoKrQ1pBTRmTK1zsW3d469Zp96NuNTr32Kxd4eLtM5U0r0feD49D63H9zn7HxJ2/WcrU6BRDOXqCuDOI/rXLAZa7HKcOXyFa5cvsLeY2fA2xnBZtK8RKCqGwKJ49OH/PTttwgJDi9d+o9aT/s3PS4arsDVq9d4++2f8ZMf/4Tf+vIbYj1f1UJBym6YIQRS1gbq3UJzMmp5tPkcvxwvFOwqI6GP0im3zbHKBbueUAw10mUnhRzZfTtrfUe3wjz8ilEKSMleVdx4+kmuXrtGu17z3ttvMYb/xChGFtnidFuYxVHTCg9PzvjuD37E+bIlKsXlS5dZn53jujY79EbUlFor+6IakaGg+NZf/LXsSQF+8dY7NLk4Hd0yZ7MZJyfHlNbKvjesqQvNZnnON7/xdV595UVu37zNN7/+V7wWHX/wlS+L8ypCJUwpyuBB5xiZXMBOKLcSXdzWNVPe62w+4/jBfdnBdN6zd7I1S1txsDik746ZV7WYh+VGOuRYFT84CqM4PNjn+N4D9GuGshA39UWzx6ZrWa43zGYSP7fJ+vayKHDdwBATs3LG/bsP6PqBwta4qKgwPDxb4rxM0d/5+bs4H2g3EhPi3SDu1p14TES1ZTuJB13i8GDB5z/7Gj/6yTusu0TUBQ9Pjvnc65+jbVu6EzGECcGzXK0hRp55+ilWyxVGLXj+2Wf48KNbaGP40U9+zFff+C3qwmIKiZEyetSQe6Lb8P1vfYPF/r5EAAGPPfUsX/rK7/CNb3wNnUT7HQhgEHZOpvSO9/3uf0/rYEIoFdsVl3NN4yN04zEj9zc0srsojtwXOeqPBDFk1tajpk9bOrHaoavrkRafZNClggxi337rLdpNz6de/yyf+dznWK7XHN+/nw1ckBg8Ja7BKg/Mt5T6vB4z1VnQ1zFjd+R1ZCf2UTo+GmjtXJ+JrSBuTMSwNV6bsiJjFC39zr69pVynnab24h45sUuCx5hE9J5fvvcO927f4sWXXuWN336DK9cu8fk3fptnXniZb//1X/HWT38iyGiC6KMgsWiJ9jNj/i3oMcInw+5K8pkkakkxpQbQydk/FsPSGPlJTpByFJQakW4t0wSlzESRVtnVeEKptUTymVG/GyGgqJsZL77wIo/deJz333+fn7/5U2xhefq5pzg43Of44QPafsNiUZOyq0YiSCJGGBj8Svwwopcc1xQpy5EiaRj6DpLhfC1JCH0/MAyOqq7Y39unmS949rkFznnOz5ds1i3tZmCzkszsGCNqSEjfIfpFdCE+A5leq1JEVaWwEH2kNBqswevEEHrJ4+07imA52t/HaC1DfVJG2hVt5zg5X0lKQlFQZflEUpJPO583UivnIYxzAec2WG0o54s8MEz4kEhxrFeyWanROX6mz0kREu1oAKu3Q5tIvmeztCES2TiHj+NAVtZ+YW12aZehT8jOw0VZ4JzHx0jwjmG9QiuEbpyk4euyF0xpSwoKkhUqq7aSiOGHgMtpHC4EVqs1bdfTDdL4W2VRVjGfFVy+dMCsaWjKghhm7O2J/MtHjy5LTGGZzxcoNOv1mqq0E0OMXKN1XYf3Mki2hULpSNOU2EKLnhnJHFaDpusHYlKcnS+lUUfhu1Y8GLwjhMjgI/Q6G7xKfnJSkZAzbceBRVlXbNabaeAYolxDqWHF5HYYBrTtmS3mHJ88FLaUAu/zMGWw9IPLwwwr8r2uF5lhUVIwiOtyjszUuX7QWvwNopLs3DT6HSRo1xvKssza6EQkoJFDW9nA3sEMkqYsDdaWU/JC6AdKo1Exgg8YLXsPKPrecbI8J8XIYrGgKj5+u/rxEduyopkJfx0kGqEoBV0TXrpkk46Tw8lcKMqCMdoyn+2RSDR1PTnHHh4eSlCx3qWiSESOKeWwqfcFCSjqguVyxWa9wQdZTFrJ8zVNPW2esvXJlDFE8mTHZKSxIxY6Fxw5SypC3zv253P69UqcfbVor2wptFSjDevVGh8iqRsY+oCxYlDllaIyBcZaMWrSCt95Eb6HRNJywJVGYhGcE2rxMHiMsRTWkEpB7bz3mEJT2gKsYRg65vWMojAUtcWawKyZ4V1LCJ7NZkNRWOaLOVVdUpLoB9F4lkVN1zkRa+cJcl1VGCOh0HLIJLx3ObtWDtB+GDLf3050YTJ1eDxg53VNmSeBRVlgC7kHyAitLFhxozTIpqbyNJxM1bC58AWyqZfGBT9pa6rKEELEt+2E+hhj2N/bkw3Me1KIbDZremOZzRqi70naY6taNmlDjqDKOuwoG2UMgxwoKjsTG4uOmsrKJC2EkOMm2Cq9sp4KBGVSWjYMNwzUZcWN6ze4fvVxZrMF3sXJCbbvB+4eP+DDWx9y7+QBRVlitKXthAFRN3Ue1EBTL7A6x81ozdHREVevXqGwFVqtc92kUYh2AqVpmlqcL1Pi5OyUkzNxm6vrj5/79Zse6eI/fv3rU+8o9/eIQsYxyDtPPENMDL1Q1nw2P3DO0w8O57KOMyP5Ix3YZXOJ3/3t16nrmvV6Rdv2LM+XHF06yu7hhVDB6uKilmunWX0U7NgW0qPJtd6iUr/BHOYiWqImxHdbXI+mUbmYzs69CjEUG39njBElIaliJpV/PkbFSy9/Auc97737DqenJ2LIP2Ve7mJg4pajULjB4X3g7PSUd959B6ULMJbFfMa9u3cxirwPGkSaojNCIshTURbT9L+whvroEh/+6n3mdT1RgQqj6dsNhRX0Q6nIvTs3aZqG+3dvMp/V/PTNN/NBG3au0miylXM6lWKb9DJSMsc/ST773PiMpltVWbEVLF4050pRimxTlbK3Z8rcWC/HFHOjnHOGlZJCxHmKQhwhtTaie61Ey1uVJa3Sk5nH/v4+MQY2mzUHhwccHh1xfPyQO3fuTJNvn8/ClMgxYdkBU0F0A2Uhh3/IhcnoI4HRWFtQVzW3b91nffO+5F6TeOfdd3j2medYLpeEQVICbt68ybNPPslyuaKZFXRdz4svvsivfvUrorF893vf5cb1a7z84rNSfGlynqxCZXOZ1eqc73zzr/jdv/0HEv9F4qVXP8Wdu7d5682fUqhCrlvaMmpGSmDKyFqahkS5e9Nj+5K26N5oxpfSRFndZUtc3Eu22b+yPyuMkcZP56Z5yr+dGp84xULtUnS363dXepCmNRSC54MP3+fm7TtZNygUOjUO6o2RLPlprcnQO0Sfy5kt9V9P73XH+G3UiF/cbS7oUqcce6SAm3ab8RoHtq8/31iPvsdHEd7tN5OHZllTaQxaK7p+xU9+/AN+9f4HfPHLX+Szn/0Ul69d4+/9g3/Iy6++yre+8Rc8uHcvv3b5zEJAGB6je/k4pJIvEMdfK5D2VBzHIGY/Vmen4yTMCq1kqIca0fqMmka5e0LILqsT8r5zruzcO+NrkTUt13I+n/PKK6/w5JNP8uFHH/Lue++htOKpp57k8OgQjwzNur6XyD2r6fuB8/NTum5NHIfoRNxokKVzCogpUMoQ1UCgo/ctaXCklePy4SXKoqGZzdnb38f7wNGlQ27fvs35cimyp6HNVFqFnim8lmQJYwX5MyZHF+Uz1midjVJzpGCK+GGY3G8FKdM0VUUfA0p7+n4guIB54jGqyoDzEzOtKkt8TFlr7NlsWrpuYDGfU5dS21kt8UFKm1zriXGVJKBIbu3x2RlJK5qqRgGFtuhkMMoSsyu71WKM6r00luu2J+ZUgdKKqep0bqZRT17kdSa02JSBirbrONzfFy1rUaKUUFRD8BSmzLn0SsCTdTv5QLjgOV+t6IeBru/FCFIpmqbGak1dlVw+mku93DRcPjrA5POh7TraYZB4GqVw3lEUJTq/9hADVguzxuUYzqIQc7CqKvMQWrTKZDMzn6BftTk9JqGsmTLbu76jsHZCq7WW12DmlqSFaRByDT1miauc013m32eMEXWOmlT3DDnSZ7XZMJ/PpvOwLGz20xF0tawqNpv1NBCz1op+OQRmtei+x1pd575kZJK43AeMZ/VYWzdNQzFqicuCohH35t72xCCftzGKsqgpS0GKy1ZhzAKtDZtNS1pHbFECCe97jK4xhaIoLXNmfNzHx25s9/cPmc1LTs9PhRqMoW0HrNVYo1DJEHNwtzUGRaAshWPd9R3ei6ahbTsxUlKWgKeoLGVppAEYxPHMlCU6T3+skay6siyomhqNYl43IrRPY0SNmBCFKJE9RttpOjg2dNYWWKeJfsAPTqZQBmLyDN1A17ZU5Vw0vjHSNA2bjMYlJU6l2Z6AfpCNYzQ38j6iohcdnZWw+67rcg6ZsBuVlazbhIj0jTLMKosbPEVpkbNSPsw4ZIpuXfPY9SeoikJeB4HVeslhccg8mwQonQcJEeqipus6Lh9eFqQqBQmvVgnXd3jXUxVWKCxDyoJvRxdbiqqSBrUsCd4zbxqS1hw/PJ6cB0U/a6irkqa0DB0EFwjGMQziyjlb7InRQKbaaG0pdHbgc5HSlgzBEUKibhpBiZWgBDFC3cx2SgKJeGqysYsx4nZc2hqtC/z6HGOEYtyuW6qyYN7MsFoQ1BA9vR+YqSTTtUL0BmVhCIPBOU8g0npPyBvUo00wuckcktDPQgokH6krMaKy2nLl4BJPPfkM16/coCxqBhfohp4UEm3bsW433Lx9h5OzMwAGP0CKHB8fE4KnLEravmO9OmdvMUdXlqppeOzG4ywWe5m2XmbnR2GDjvqIqhEHvLqpJMi8F3O2lFKmav56U5p2tE0pJUI2AvPZnXwYgoSg9x2btsUNnr6XtbvZbOgHR9sNbDYtfd/TDz1dnhQ6Fxh6oZKTqVZdN9BnRD/FhMdP9v0Xi5iMvGjRLe/PGz7/+su4YcN/99/9NywWh5w8POezr3+We3dus+l6Tk6XlLVMA1NG+zBbzeuWIjhGcZjp9wn6ejF2Y/f1/HpBmS4UzlvXz5EeDON8biyGpXge0WCd96Pt69JW8e3vfJsf/OiHbFbnk94seE9hy0xhZodCLa8jeC/mMTHQbVbYsmTdthztzzh+cMylw1nWbvf50PW5OdAYA2UJZaGorZg5FEUphh21NFNFYSjLMZpI7P7LosAkQFvuH0e+8tWvMJsvuHv7Dk1V89Jj1/J1GJug0VU1Z7+iRf+md9G8XNw5B5U4KZaqYDFboKIUsyF5iAE1ZlArMTfReYgxmzdjeK7YPiW4decO8eoVDvcXzPf2ufvgIeenpxwcHeJcQEWDUQUqwsOHD2VoltGErusojM2Hq5dQ+rajqWoWi0U2kMo7VAz0fZfpxjIkLK2g3knlwWeQc4MUxZ8gRrrB0VQzLh0u+PCj27igiErz8OFD9vcOuHTpiHt37qCRpuz+8TGmKHjxxWfZdBtmfc8Xv/hFfvLmTxnswA9/9GOefPIpjFHMai3GLhGJKMkNxZ3b7/POWz/hk5/+nKAoWvGlN36HO7fvcH58AkqGBhkoy/mMYvQXwnatxjxE0GlkOOTclbF1HV2N1cXh0kWtKHmwk58zimmVSJKEirfrL6zH6k0LW2xqbHPcixmHapMnx6iLJTtTe1LfY+yQGwovMqB+dF4dzQALadjy8CSmrc/HmIE+vtE0Pv+4LyQlxmLZQX1sdVUWl45G6qPZnWwfKqPfCa8zaqoz/hvH/YcddPoiAJCv4sjrnXT8FzS5KrBenfC1f/+nvPv2O7zxlTd49oWnef6ll3nqmWf4+U9/xre//pecr07FW2LSV+tpPxL2v6DSY7xOzPWH1hZFRKdR4kWWMWzj8tg16ot5P8tFvdLiaaLTSJ/fnk0yzJNGdhymqLy/Kj1SsQ17ewe88ok9bjzxOHfu3uGDX73Ppm15/Mmn0dawaT3L5ZIrly+zWfX84Ac/4PjBMdoYUOJI6xLE7ElQ1jUheLxrmZmKujIUdk+kE0PPultDbeicoyprjC24dOUqs/mCs9MzHj485vT0hPVSzIZKU6BTou1abKGp6oqqys0zwgbrBqFcS6SioJdNXaNSout7mmaGVjkKzskZEQm4bPJnrWboB7xzFIWhKiuC6+SeSAEVPZVVqOghSY2eAO9l3wzB0TQNZUZIO++5ffc+GM1svsC7QFNWGCUoOtlJt7CyZgbXS8xMcNLAa01UmpCKnOgRCFo8arwXvxRrLcF5euchSkTowd5iMiYKg5Os1kEowsuukyhGhAV3ciquyrPZXMAVH4mKDDooZmVJWRTUpTTIwYvcrGkqyf7ODEWix6qELSRfNsWE6wIWlZ3xJeVFJIFpQhWnYYxS+Fxvdm6g7wfazuUzcKQW6+z1ItyImATwKYxhGDzOdcIg8ICTgYTJa2EYhsk8qSgKhqFH6wpbCCOhG9Z5H5X1tOlbfMrX17tcwxtMzjM+2F9kva5oe33aRg6u21akpj6IzjclhuhzM20JOYJRIggVgh7Cuu2w1lA1FbbUuCReOIUR00+tFZ3rZXCpFXv7e5SzBu8Dq9UKVehcO0TKquCJpx7n5OQYa6QfbIqPL6n72I2tc47BqcmC21oz5VJZayGJXbkPgeDD5M4VvJxcWsvkZG+xQFsJTxdHSyAFmXjHyN5iIVbWTtzVUo5p0TpPi6wlOEed4xoU4AaXqbkRravJZMpk97dxg1fZFS7FIFlbyAKty4qhCiJ8R4ymZo3Yq9d1hY+B9WojU0MjlvTGGKEjdzJ9TUZugrIuSSFe3Nizgy7IZN8qg7GW0pbMath0mx1EMk80k8QdHewvhNadIl27JAZN17cSbh4CdVFRVQ0xRc5W54JwFzVaQdfJxDCGAGUhZgDBo6PCFgVt10EMkndpDSZoqlI+E2MtMWdTnZ+fyyGUefykSKWFKqKybi54L7SJGKeiZLPZUNcVnZNNrq5qmfAHT9u1VE0lk63gcAH25zL5jJmG3nc9qRQNqzEGPwx5wpkwVlCVYihxg2OoJJtTIfmFKbY4N+Tg6pCDvrcxB4W1ohvMjtNiHGMnTXBRiAV517cYa0TJG2WqXpsSMcbRPPPMCzx27XEWi0MUerrfh2HgwfFDHjx8yHqzYr3e0HYdZVMSUiDEyOnpSY6gkPvEWpkILvZmPP7Y48zn+xNaMgxe6CKTsYChLGtsUZIUFEVNCAnvBlbLdY52sXzzm9/j1s0TnFds2pa27eh6x3q9oe96uq6TxrRv6bsNXbeh7/s8vXW40Av9y49RObL5+BBw3k0xNKjRLC1lLZXaRraklCnTuXMtpKqzRmejklHXKkVqURbi9Kccq7bjcNFQlJbVasmzzz3Lpz71KR4+/hjzvX3ef/8D6mbGfLEn1D6dfmMzf1FPy6T9G2lhu6+V39DojmjQo4jCtvHMCEsuVuPO8+hdNOnC6xCa1nK9RG80fui3Dq0hZsZKxoJ26NUpiUOvtZYnn3iCv/cHf8AvP3if0/NznnrqCX7rS19gPlswmzUYYNbUNLOS2bxhNptRFAVVVdFk+lpZVlRVRVlW2XnaChsjx8ao7Hg+ri+UYn2+JPjAP/sXf0RhLG7oLjhabxv/afu9KHwe33/K+4pzgp5md9rZbDudHelxu3CYytEVMoSsLzDNx0KAHKlhM1Lw4P59Do6OcqMmpnf7+/u07YaDvQVFUbA8EwOQ8/Nzye4bw+WjsCNi1v6HEDLaI4gxaovchewWGzO6V1mhaLGDTha2QGvFK594iY9u3+XW/VVG6RS3b93iC1/4PA8f3BdX7gTnyyWLvT0+/PAm165eZnm+5MaN67h+wFrLu+++xzvv/oLPv/5pcSAtTGbECIaqtMLEyFtv/phr1x7nyvUbKCXX+fd+/+/wb//FPyckMeVKmTFgrc8snV1qMRld2TVRMr/24cr32ty8bjNvR/bCuN7Hz3SiOgNJjU5iudHR2wiuNDbWW5hSfn6nmb244C++Lu8GichQic06CgqlYBj6bYyQ2qKp4/B8d0fJI6m8F0pDFuMW0VU51i7sOqJdQG+3SOtIeE7TQECRwhb53l7LsWkdWRy7G4/ObsTju93do8iU9EgMgZsf/YJ//v++y9PPPc8bX/kSjz95g9def52nn3uWH/3gO3zvu9+h7/q85uWPUVoQ5oyak5uBkF+juOaq6ftJajoDpheR83gziCsaf4XIR1RumTPzAcJ0v8Qk91nMOow0vT3DqM1QimkPr6qa69dvsL/Y5/j4Ie9/cJPVes3zLzzDEy/fQGvF+fmSf/XHf0zftiJx8CHHGsrr9T4QwyC5t0h8YmkFhFA50ma1WlKVM2FRNAvmsznWFhRNxaG5RFGVHB1dput61usV52crynyGLfbm4lSfRGI10u9TjlEZ9Zkmxwf1XSexlWSGIdu1WJZS33V9l8nyUFQVIXpWXUv0XoyXjGU+m00Ox+NgaNTcGm1ISTwVTjcrlqsV67UMtWfzGcl5eW5lqMqC0oqsw1qzNSFKXvK9kzRRIGxJUeMkohcquIqS26qNoe17zs7P8c4zq2oOD2ZUZYELkbPzcxnupK1cwfvAkDx92+Kd7FNlVYFW+Bgy4m44OjzEWEPZiHStXXdoBYv5LOfASlSPyeumKAphLWZPkpQSSQyY6ftOXKKzY7o2hrbdMJJXtNZSW/Xiu3O+XtF2Hc4nmtmM5XIpSRooXAh436MRiWNIiRhc7l305JQcM9stOk/TNBNbUmnJmhV9ricx5Ixm8aioqgqXG9lNu2FWNzJgiJHofNbSj14M0miP+69E3okb9ti/1U1DjCFHXZqsdxYWhBnzqzObRZ5D4iuNEa+hdr0hJOnXQpAhY9en7KCsGToBSbvO0XV9jkL19KuWbhCJagI2m+7CcPU/9Pj4ObbBs14NeO+EsqOgKCrKsiAlyX6LyAckgnCmI8Aa4WTrHCA/Nki2kKbDDxHnBmazGUeXDkhaQ68wxjAMvURPbFboXg7QSKSZNRATzg3Z0CnjqZnWnJzQVMeiUKuAVpG6LLLTm59498nK1Gq9HhhcxBaa3juG4KlCpN10EBXzumJwkXa9JiGZhTGJDm52MM/2+UKhLmyJVmnKd7NaAudR2ZFXRUorH1p0HoOa+OfWWtbrNZeP9jMtVa6nLS0q55+mosDoQmgn2TzK9YL+KqVwzuOGSLQOYw1nq5UUW0nhYmJmLE1ds9lsmDU1RlvK7JZmjeVsuRbds7Y0zRw3dLSbjrqqiRHOl62YiBUlMUTm9QznA8NmoNizlIXl3PXoyqKQBVRYWbC1KQjKETqPtjC4QQqpTC/1OdqmKAq8d9jCYJTCA8ZqohfDJFuU1KrGaENV5+uKwrmEMTVFOWPwPS5GjJZ71BrZALVSRK0pdEGha9HB+UDQMrnq/CCTUS2aihTFYVvFRNXMaMqaWTXjuSeeo2pmQn5PYjx1en7KR7c+4vjkmN51KKNRhThTt/0m65cNy+UJZ6cPSMkzX8ypS8N8PueJJ56gKEqCz5udixJzkwuloiwo6oaoteickmYYFE0pFKM3f/RT9g8P+clP3uFP//TP+JN/9zWUKbOhVo572DUvUeO9mRe7UihjJj31mEPIDtqQRipdziUcczyjIcehIJq9HZRBayNmIbnmCVrcw5PN8gMrTVXKVMnB9axWS64c3qCpKz7zqU+IC2FVigv7rKFrHccnZ5wuO/b2Dzg4WBCT26HGqglNyWXjhS7rNyG1u4/JFRXR2CujL3xNj4YjO1do1OEotc2dlaJ7LMa3hXLK1NXgB7nPchGgJjvVrP1LW5p0IhLzZ2IKy2xvn9/5vT/gk596jc997rNcunRpoiLqC039Dur7KMP64rv+Hz0LQNzOh97x8ide5YP3f8XND3/J7rtS2alWoaZooqRGHWVeU2mkiZIjuDIFVAWKRjwYPJGUs7/H6Z+SSpd6PkMZuZ+MEXfOFOS6OddLZFzbTdf+dHUmk3xjODldcvnyHsqUxCBa5bEwTEny/1KUYdcQfC46BnrXZ+fTHPmlFMrYyQ1+GByOhNbiAnvlyhWuP/YMP/zh9zJ6mEhatPwnmzMSmrKqKMsB3+W9vO+5+cFHPPv0s7z77rtTkXh8fEwMA4/duIpKsF4u+fKXvsh7772H1vDmm2/y5BNPculohutX1JUYcphszAjQb9b88Dvf5Hf/4O9TVgXgufH4Y3z681/gO9/6a9lnEugkjTFGhgAp+z5AQqds0D4BlWFq3Ma1oia0Vk3OwDrnQBulCWpriEY2mZqoz1MLkxHSUVM+ORbvMj3G/SXfIXHrsKu1RidpnpIuptva5yGszshtWZYYI8Zc4nGgc+OoxA1VfhExt6HS0kVMRpKDijvxQePrTFsH9hGnNWm8OnkJxqyzF38ANWpY01YWtH2fOv/ZUvyn1apyAFU2K9Oj9k6NogCFTnG6XsOw4Z233+SjD37JF77wBT77hdfZOzjkq7/3d3j51U/ztT/7M95+86fTsE9lFoZWKtcEO9sqAR1HRDajuTEPI7JO02iy++vWRIgkDaNIAkwemqqMSumJ1j8acI4xk1tNQ7jw/lWCaMRLZO5nuMUeN27c4BOvvMTx8QPefvtt7ty8yfUb17l65SoxBDaZqVcUBm1qUkjZQCiSjMJoS4yBIUR8ciQiVuczMASUhXZoGbyj7TMyW5SkkKibisO9Q1KC9WbNw4cP6fuW9abl7HTFbNbIsChIPRtSkOQELZGRIhcT06OQNP3Qsl6vsCZHq0c5y0trSEbTuQ5TaFTwDAl6L8ZF81LyZYW9obFW5bSIgWHo0NpQlw0x+sx+c5ydnLJcrWlmM1IVsSRmRcHB/h6FNdJAakUfPOuuJUUBH8aIpcFnT4gUsFmT7oaAHwJKR1wQqrXzjuXyHO8c89ksSxnltXbrDtcJHZjsxSKxc7008TFhtBXpm1I5JSChjaIsS+Z1KS7wKWCCooieZlZR11JLjg7dJLn+SimaupZ1OdJtM+XZJI3vHbrSVGVBOwjjsCyqXFPD8ekS78dayoAuCann7EwGBFUtsaJ+EPOl/YXQhFfthsE59mYLVIr4oSd6RzMT+nTrxHOmmlX0vhejVa0pVM35+RmlShIJmJmYtlL0zk8yGGIQSeLQik43sz+HYU0KvdyvSfTdLgbCMMhZGkUbtz47mwYt2oqx4tD24uqtBDwZNbgpxSwp0wKyZMf0sWF3TgYPBoU2luXZhtV6JQBoCGKEGzUxJLo+cH7WMZ/viXSzcxcH5f+Bx8dX447bSYg5h0iKAO8Dw+ApyiI79CaCEt69cwGfZGJU1xXz+ZyT07PpuWKehpbZ2bduGpRSDN5Jc6O2aM8wbNDaUpYFpsjToJwpm7y4Zeo8ZZSpg5/oKz6IaVFRmozcRfR8LjA9AacCVWXxLnB+3nF+vuHo0kGezAz0rVhspwzH62xSMT5Ev9DTNHpqrkakeDy8Y4xoK5NV5xzRqIkuEYKnrmoW8xlay8I82N9nsciLXYMbPM479vb2ODs9pe8H9vcanBtYr2UTOjo6YrNZy7RPi3tbP3SZciCW4f0wTAVCM5tN03ARdIsWbXxNfaakWmupykry1tqWxVymk2R0pSgKUgRjCzZdT3QeaxRNKRRG78JkxhFCoLCCeHovDb1CMfQ952FJWZZCZ7dWIkpGFzjvaNsNe3t7KK0YnM/Zk1JQWGspyhLnpJka+kG0CHmIkbJ+qm1bcY22FmJi8EFcia3NDAPRXqXRwVJLYSf0F0VhDPNqxrNPP8fh/iGagmHwJCPGE2fnZ3zw0fucLU8YQoepcni6hnnZYHpDcEJ1WZ2f8d/83/+vPH7jMT752qvcuXmTy5cui8NezsYdKb3ee2wYzbksqii4f3LC8cMzQoTNuuPq1WsYWzK4xMnJKf/tf/v/kKiczYpkC8KOFi1pNSGkspnL9NvIopPp5IjYIZv9SNdk/HuecJocZyWT99H/R00GZDEjGEaPWdC5QSmyQcUEsiisFq1bcD0meNZtR1VVfPUrX+Hu3fu0m02+BoayFFO68+WKm7fe4+q1a7zx5S9mIyny+iPnG6sJM5nQI7ZdX4ppmoSrnbWbfyCbwIxIpGb7o9tiVeVpaMquvdPzTGBtnrRv/0feV8JEH9dKUUTNrJqJ86A2eeo9mgHlmBmVd6AQqdA8dfUGh82C0A64VYsqrGh9dpBM2G3p/397pMGjfCC1Hcv795kbQ6nH6zZ+1zhU3A4DRmRq656aWTk5xkAbhTIyxJvMosbPLD+DyiZ9hbV5wl5hrWHwFw2LmmZGU5SUVcmVy5dZrVfTRHy1WnHpaJHp3ob1ciW6N5sR2JDwQbLaw7jn570y5OgwjXgvKKPohx5rxmGsMH+I8PD4mLv37xHCQIpyvwcfUVaGDF3bcbR/wAcfHQtzIcpaXy6XvPD887z//vtZAy57V1OXfPjRRzz31FOcn51z48YNmaYruHfvLm/+5E1+73e/DEpNKQUxRlTwU078ndsf8eaPvs/rX/hSptIlPvO5z3Pv7l0+/OAXmTqnUFEcPhVJjArjSPce9dpbBBclbH89Ojn9DRKIaagy3YRpJ1N6i8KOEgGy+eF4L/2mezclCb3JBN9pOBFDEJ0dKlPqEymJhpooXw85A9p7T12L/Khp5lMzzkStHxuotNNkpQvvY0SgH5UtbOUL41vJzemoy09aXr3e7jvqN7ghxzgOhkRrPBpnTbf8qPvdQfSESRBRI803/z+VAu36nL/6+l/y7nvv8NXf+x2ef/45rl67zj/+w/+Md179JN/4+tcn5/5H344aXat3NMcxiqeGG4LoCnMmdVVawoX3kzFvpUlkfW32VXHB5+/IKPX07XEalqWdoeyILDNuq1pqVK2s1JcYrl+7wdHhJZZnaz781fv87Mc/Zb5Y8PInXsQnz8nJCefn53JdtNRp1lhictPvCUEMNUcmSlEUHB8fo7JMbbXuGXJzq5JI31KShm9vb0ZdSzrI/v4exw+OMyPNsdlI06OymVhRlZSFNNTBhUzvhuiFqlvVNTGJ0dKoIW+aBpPjOrTWDJmKHDOzROUm3RhNiD7X7AFrS/b396Y9K8QxIkYiz6QOEYrzbFZSFGZyNE8kuraX2rWsJMJFpSn7XHScNuunZegYgjS3owHner1Ba8XlS0f0vcR0ToNgpVjMF/J+coxQPzgGJ82SNbmRK8oJgbaFBV2I8VXeCRpbgoL55UO0zv1GIWBL1w4i+wliSqp2mCBGaZKWWstok6+jvK55Nvvse4d3gc1GkkT63qONmRgubpBIHpKY6PoYUMmI4WpREHwgZQR9vVrJ+o4I1dsII9YN0gsVdSnpATHS9T1FWU1nqXMOH+VetVYy71UUuY5RcuYcHh7Qd4I8K63+P7T915Nt2Z3fiX2W2e6YPJl5vSuPcvCmYRrNNmx0N3s4FGPE4Yw4IYVC86AISU8K6Q/Qk0KPGoWCowiO3kTFjChpeshmd5Nssgl0o2EKplBVKKC8QVVdm/dm5jHbLaOH39r7nLwAqZoI6UQAVXXvyZPn7LP2Wr/f7+vICvl+FZomXfvMZokpq8gKSzWp6Lt+vCeHeDWbvISKUtZJTDOmth2Gvpqua8nLjNmsguCpa8l2zrIClKzReuw1JMLVO2Gq9l0vrN/OcdyfiDu0MslY9uM9Pj5iG3px7E10xJFNlOgByojj1XCuYSQ3c56XrDc1LgQWB3tsEv0xhIBJerfOdWRFjs0MLgQ2zYosz4jaEbVnvpgC0GxkukbUrJcbbJ6JYRDg+06MnpSm7TtccHirUBiijpjcoDMRMw9QfVBB6LhWURQlbeNom4564ynzDTEGZpMZ3orw3hspaIpSpnLO+bFYrjctRMhzQ2ZL+cKco+17mpQXNl9MKCpLWU2FEmJh/2CBwieqSJ7odT5RrcHHHtd5jo6OcCGwvzgkMwWdb5IwvmK1koZQzKsymo3oMbIsx2QZbdukCB1PTCHXq7pDmYIsn9J3HWDGA1mMbqTJaJqazsekG9OsVktA3FeDdyP6bBKd1BoxEJiVU84dnhOTGhTr1QqXpowxSKPnXZcyby0xqJEC4dyaPJObbggT7ztpbG1mUVaiTkLvRqdVbQx5nhNDS2YyjNKsViuwMdVGKlnmW5mGNt3YwPfekfsMlaKsiDApZrJOlMMUmuAcZVFwuHeBR64+wt5igTUZTSvXte0a7hzd5fbdmyzXx0LTVRGrhaYfQhCkOMskYByNRfHSiy/w7t6CixcucOXylfEmJ6qUbyy6joEeStr0jTH84v1f8ORTz5IVBd/85re4/+Aey9WaRx95ktA73njjDdmkjUbnlmXTgDapWFXjAGbQA5Lm4CYVkwEl+nm9HeMMKEBMUqm8LCT+IQzoy9B+xGR+IgiuCaBxBK2TXj1iOjlwMy3ueyFGvNHJIV1+/u6de2j9PFev3+DDD+/QtIN2W1MUBV13hGol++z+/QejFkzFXy6BdwvGmFDRbarPVgT3sBZweP5wgA7XYYx7HItVlWI9wgASbwGGhH7riBiV9D0+KpSRg7ssCoiRz87mfH2xL9/Lv2MvHmrMUmuens/43z7zJMZ0mI/extx6L5lX/f+iff13P3IiOfC1rufLF/aJcUE2aI3j0BSJrjikFKWhGdAJodsW/KmxTXVFVGzd8IdmeHfQkPJwc5thU4NrlaH1bnSAXm9qlqs1vZaM8hChXq2o6w3VZErXy7DT2oLF4pD16YoQYLNZs79YYKxNsbmCdmY770dych1FlqdBXcF0Msf5nuA9ZZVz4cIFNuta7ufVBmMyvvy13+TnP3uZ5WpJiB6jFJMyZ7E3Zz4rOV01eHKUVXRdy2p1ylNPPcFrr702Uk9PT0+ZTsXgzqWh5uc//3nefPtN3n7nfX7xi/d4+51LfOKpGyj6MXvWhyEyRaFU4Oc/e4VLV65x9fpVVDIi+epv/A3u/Le3qOu1yEw0aC+ygRgGXsL2Ozlzj6T7f/RY2o292WmCB/twFYeObGvVprREkqgIQafYqBgGzHEcHp0dPIVtE7wTrzP8rjhmsA6NgJxzmRFpWN8LGp/nJcYYDg/3adtuRARj3DIOiF5or+n3BzVQhtP9pga3crW9FjtDnN2HfCKT2G1iIBTGzNs40rWHnx+GWuxQf4f9ZjDk0Tt7LikORBuJQhsi4ZSKqZiW78HHjps3P+Kf/tE/5bnnnucrX/kK5y8c8tynP82jTzzBj77/A37wne8IMw7R0wUixurRPVspk36/FYqxgfV6g+sc67AhL/ZRBkHYBpbDDhPdD3svKplYbqngOsUPDcPSYVGlpD56v6VoysWJ8r7ErEHqihgps4LqfMnFc+c4PT3lgw8+4Mc/fJHZYo8nnnyC8+cucffOLVarUxlsOzEejWh0luKNtOgRMytNSaY1Lsn0tIp4LzKf6EVbr7Rmb2/B+cOLGG2wOnJ+coHz58/RNA3HD+5zdHSf0+M1zvfs7S8oy2mqLQMxKMpCZAyzSYFRXmpkJ8iYijApSubTaWJfSENmEkuic54YHEVVERHQwqekB621RN4o8RoJIUgj1vWyLxUFs+mE8+cOyK3IUAgK1zt8ionSGIoyQ1vJRe5a2ReVg2lZoK0e49l0oorbNHyoN2s0YjjkvafIc3Ir3jg+QjEp0vtS9CHgU5xPUClf12oKLTpZrQ1t04iRmS1wXYctS6o8F4Rba6zRkg0foakdnXNkVlgpVmXJRT/pk60VFmWWk+cWp4E+YItMTJQSS1J8PTynyzVt0+FcJPRST8YQxUDQGA4X54RqbI146mQZrmtZLtd0dUeRZ1LXpnspz3OKIsNYTetabJaBM7Sdk+YcQ8QLs7RrJPoniHyublqsMRSZTV5HoKIAS2Upem5lFJNJJY7eJyuJFUxMgdJm2NJiraFpO3x042DHOdHYKmtQeSa5uzGlqSiddMcBt5sPrQwhKKZzAZ2CR/xZ6o2ANlr2YZShD0HSwZTCZpqoDCQZVKbNVsLyMR4fu7F1rk86IZX49EO2YByLCRFGC11UJ5RjyCOq65rj42PyPBfudiG60TbZQ2/pa9vMQtE6eJySyfN0VlHkBW2bdJE+5S418uVqa2jbXiZtKmJ0LjSmwXFTC3qQF4I+9l0vplKZ2Ip758epQJGXZJlhUpaURYXrBb0kTeu6fsjnGpw3pcoVUwApUn0Mcs2S3rEoCsoyIyJaCucdq9WK/YN9OWytpppWWzqcd8nJTHTNR/fv03eOg709ZnOZtBljRg5+SGLxPDkYO+cpq2Kc2g8LY0BRj09OmFaThLz3yXdHiz5ZGYqiwPWOW7fuQPCUVcXh4SFN03C6XBJcT5llyZZdCoxhejtQHITnn9ztQsAlvYhMKD1GF4QQKbOcoASt9n7QvOayMXaiwa4Som+NHZu+pkvuxl6+O5u0zRcuXACg8y2d60ZX0qqaCCugadMNZJNDs2y8nWvlJu57sR63FoViWpVcvXSFG1efRCtD9AEXI6erNbdv3+J0s+J4dYzzjeg8lUwQQxS0N4YoP5fG3K4T9+dsYjnYP2A6mYm2KmnNsixLmhK31UPm2YgP3rt3xNHRfa5e62j7wNvvvMODBw9o+579gwM+unXE5u4dQojM9+a0TiKl8nKKMXbUNqnkVjnQPAZal+TR6Z2MSLZ/v9Ncy+Syw/duNNTZogcDshmlyIiBaHTSM0mDY7Kk1UtNRExaXG2EwnRyfCLT25nojSUWSiaHRVHi+p4yabvXqxVt21Jk26n+4MR4xsF5p8FVqIdKTkZElp0ieSioB2MWpXZ/cgeZjYm2N+aI7ngEJ63hMFlXKX+3LMuEikceryomxvBeU+O2rMpfehg0j5YFmxB4+2TJweF55tN9rNGJgppMspJ2DeD23SO6rufq5UuJ0BnPmOEM/flQeLado8jtqCM+PV1xfHwiOY9O8mP3Lh5y+4MPmETPpTwfKe4DHTPGSNSKLYtoi4zLtZXrNGiIhms+eBQMLIGB3bNFZMW8bzqd0nthjdA4BrZijIrJZEauJBKtLCQzcbVaMZ3Nt6yOWcGknKTsRy/UUuck9kUperd1pbTJxXKrE91GsIwoXrqOJycnrJabxCYRucbrP/8Zdb0hDtmOKYN1b2/Cl3/tc3zney+yFrsF2rZlvV4zm83Y29uTyJ90ntabhnfeeY/HHr3OyckJs9lsZNLcuXubn7z0E65dvcRsmp9hKTCiXZF6s+HHL3yfw8M/lLi+GFnsH/D1v/Fb/Pm/+BNi8KPRmNIy3NJ+GLSdvWNMcgdW41Q7rbmd4cywh2yb0h0UfideS2sziDBFV5kQ/ajCNu5nXEk7gOnwxQ+ZrmprYhV36PjbYYm40KqkKRvc0b33I2Nm21SqHbg1jjRhNe4Pw2c3SW0wuDyHLaX4IY08ac86i8pu79Xd6/Xwc0aJ7s5edmaP3tnDRsd3DTH6FGs0IOLDzwT6puGlF3/Ce2+/x1e++mU+/flPM5lO+fpv/yaPP/E43/zzf8Pt2zdTQo9LGZ5DBu2wrwmTx2iVHHkFMWyahsm0HM0uBzflkTI+5FuPQ9Gt87xOUoYBjx+mJsrItbLajvrv7XUerl8EYzA7wwKjNIeHhyxSQ/vmO+/w4os/YTad8uSTT3D1yhXuHt1huT4ZjdSiDynOMWArk7430dwbO3ipBPowMKDEKM+HwGq9YrF3kPaSHo+jKkoWiz0mVcVi74AHD465d+8uvgsc3XuAD46yLKgmJcFHvAvMp3sYK+ek7x2hT5miVSXpAMknxGqTGHReBvnputVtM56beZ5jkzM7yZRzQEVBMZuVKD0hL0qRDqa8VRV10nYmLxptpCEz0PutE73JMxQKm8Y3PqGiOrG4jk9PKMuSosgTy66jSqxNHxwqgI8qsR8NXdezaZs03BQUlUSDnZRFWjvSL+SFISsKaZTznOC7M+uh63pBtPNMGthkmOm8I6ZM7+GaZNaOdTpJkysDjpjkmIqmadms64RUe9quxSTUcm8+J8sysgRItH2Xal+59abVBIKYSk1nwp5sG3Fc3rQNsY244MFr2m4ltF6lscbgfEdZlHRtN6LIwx7atx2Z0bL2jdRd1gqgMZlMRfqX+rI81QoCHnWJISb7Z9s2NE1LWVQCIAaRPGJ00tAOyTcpKglkPSR5iOvFWdlaI6aq3Yqm61L2c5uYkbIPSEyex3ctRimKqqAsizREiFRFSWYyPu7jYze2MWhcChGOQaOQnM+hOFZBKDDiLiih3cbGMXu07x1N01FNpihl0NqilVitd71E6xRlxsnpCQToGuGxxxDIkkYzxgKbZYSUtzeYXMj0SsyWRJ8hombtBzt/T++Sa3Emlo9lURGt0Kp8kKzH0hYQIr6PGJ1x7vCA3GiaRnIJA3LT9s7Rh5hkhVHE6MYQosdFjy3FicxqQ+4tRkcO9ufMp1NsllBY77C5Jsae03ZJlll6D6GLKXoGjLJJd6JY7C9wwbHZrKn7nMX+HsTIer0aaU0Baf4igabpCAGWpx1VVRJMhu+DBND7gEUc9OqwQRtNVUoMhmsbJpOKoihQEQ729sSxNMAkLyDpIL0XDbKzij6IDXtmc1zbodF0axku9HXPSS20YJKZiTHJgr3XkjvoobIFfdI0zacTTpdLjJGs0r4X6klPD9qiVYZRYlOfGaFj6mCwMcMaofI9uP8ApRWzYpZoHp56vaFrHWU5GV33rBbzo5hybEnmFqHtCREmuqAsS8pyxuHiMlrJ9y/Ofy3rrubu6RFHD+7hQk+Wy8ajrVBZvJd8Z4WlMIIK4yMazayacv3ydSbVnDKrwCpOm1OiCqnQl0a/LMu04cqhfefOXf7rf/xtvMrofMXjTz7G3/uP/xP+6I/+37z11rvcvn2Pzjt8LxKBc+f2+cnLL9M5z96hxs73tgy/IfeObSGhjRhAxGRDuls8jcVDjMwmYtsevML3W7qbZDxKfsVQqoSU4RoDKVdNQRzuPSfa3+jFTCiIvbAPcLIU6nFRlDjXiSY3NYZFLmsW7/B9g+t7NpsVxf7eTpMUkt5VnykEt2XiMCrYUuy2B6EaX2PXaXSgTIbRlTXp3NJ3q7RJw75tITsUZiohksrIJFJy4uThlWiU2hD406N7rHZiiMb3nE73ymT8zy5d4k4w/OMPlhQrw/yc0KDmszkXzl+k7Z3Q64Onc44PPpJm6eJqAlEKQpuM2bTSyYRFs5hNKI3hrTfe5tOffJzf/e3P8s67v+Dbb3xPhh4RnnryaR5/6jGqi+f4i//7f8OV5Yo/PH8ob1GF5Eqf+KlqQPqSra3Yzoq+Tsse3Xf9mWI3y9LAMTkz6qDGPL9dV2+VnHz3FjMenNQJKVc4B8f3l1y9fIEu1MQYmE5KTk7vc+XqVYxRbOo1hwdzaqAocjabNaUtCH1IbsxCayyKIk2t/ThIjDFitRFdlpLDu3Utm43QqDJjmRSCOhgiGEWzvo/vOqFkWYuO4gZrtKIwgf15QVOf4qIgzO9/8AE3btzg2o0bvPH66wQvhNuTkzVGGa7diCjluX9yn099+lO89957nC5PaNuGb/3Vd/jdv/kNglJYGwXNU2FcvzoE7t3+iJd++AJf+vpvSJNH5PEnnuIzn/0Cr7z0I1SUtak1+PHeSI1a2A4hdhsvxbjsxRNAbyPSRp34rnaUoeEiafkHJDIxHHZRSLX9DGGkJm9RfMZ85Lil9e68Hdm2fHo/IQ30ElPFi/lg3weMCaM55MPvd/eD6hhHbR9J+x2B4OPO/rP72fW4dod3tmsENHyQMzmu4/semCbDd6jHxjLsRIP90l49yKCG6VTS8Q805iFnSC6b4fT4iG/923/Lu++9z69//WtcvnqRa48+wt//H/9nvPLSy7zwve9RL48xpNs5jcj0KOZXYKCalFSTgq7vEjU6ea/siKUVarSR11r0xjEqga7VMNhgRLOHM2ow/xvWcowRPL98zdPaHYeSxohqO12jqqp47tlnuHr5Eu+99x4vvfQSk+mMxx57lIODi9w7ukXbbfB9gw+OzFpc48CmxtZKXRLSQMKmRggdiM6hojgN3zq6iUYTnFyHzGbMZ3OKrGK2WJCXJQf7+3RdR9M19H3HzVs3Ob5/TFkWLPb2iNGkNdmT5yUxGjGJUxIh4/o+DY7F2TmEIGaAQdO2LsUIBYrCYrOc4DynqzWz6UTosiiyvKTvHXmZyR4ePQQZJFktkUAoyKNQpVMPL2wbFFUukT8EyWPVXhFUoCckUyeFVoZJXlBkEnloUURl5Nqk/cK5iAuRunEsl8dEoI9ehlBAtMJ1yIylKgq6psbYHCyUuSHLS1k0gwTKWLwXw6IQA0WRUeS5GIsqafh88CnCJxvpz5GtFjwi5wooglf0naPetPSdAEh952jqlrywYqqbWZyXGnjwdPFdT2EtmVaE3FBOC0IaghfTUhIlglz3ppcGt3fCisyMaGZd3zLJZ+CSWRuGLBkFSvRqwfr0GJOJL4snolTAha08UinFalOjlKKsSjbrFY4INnmteBnuGqOZzSYJkCsJ0bM8hZPVRpDWXpy7babJck02pODUnkqVDPFvLgbW61Ohnhsr8adaepaBLaB1L2yLEFjs7TGZTSRz2knvRVBSF37Mx8dubNs2ORxHx8ZvxCwqBPI8GzcNa0jubbJx5EVG7Z24iqVQXp86cJJOrndemhwrk4Uyz3C+lw0xQJ5lVJOSoiho2oa+a+k6R/A92maE4KiqnN65kSoYgk7xEIMuSrKpgg80vsUk11udK+qmpa7XY8xPWRhC4r4LbVUldMoC/XhyaxOZTEqmswJrM1bLNSGK1ipELzoNa8isTH7OHR6SZxZw5NWc09MTqlmJNoq67+j6DqKirmtCljPJxca7KHNcL5OkqizoknNq5zoybdMUM45U4OAFBe+6njwvcC7QNI1MeqyVTUxFyuSW5lPBNtDD26ahbVsuXb0qZgAhinZ3KQHMGMOm3si0sCjkRkAMEqqiYlqWEmaezJe8Hwy2slGLIE7ahhDM6DBa5EWilPdkhRTaTdtyOJ1ibc5/+g/+p/yrf/HPef+99whGilufipQsy8Y8rV3TDYPQpYqiEDRGC7LQd3XS/snPNE2T8jBtWhuWwuRMipJHH7nBZDKlbsQRsU/GVafrFffu3+dks+RkdYqLHhcD4kqSEAEsbSsTvaqcEvEUJqeYTbl04RJ70wUai3eOk5MT8ixNLb3HOS8W9tbuFELyODq6z/379yln+3Rdy2a94vnnn6bIM2IM3LlzG+d8Kgg1r7zyEl1Tg7G03YaJmm8bLXYoeww5tF7ooztuo0ORtW2w4+iUm2eGbhNGKtmulG43E3b4Q52aupAyPnXSMRN3EbCACZHTk1P5vUqPv7/ve4oiZzKd7phESdRK2zbA/CEh6YDYji387jsa/5Sdv9lq/lTSBe98iuHvFGeazph4mA+DrDtAwvbaDIOxsS4XXbMfPs9DKMwuDTdG2DSCcJ7WPXf6jM1Hp7gPToTuExTK68R4keqzD/3otOjc6wl91onCp7ZwM4rCGgoNfdPy2pvv8Pa77/Pcs0/wla9+hf29Kffu3mN/MefKlUtCsTL6zIeOia2ioxSuNqpU0JIKVX8GUQohyP63c/G0SQWJ22apDq8ddnqZLMuAwHRanfn5EAL37h1x/mBPpAKtHOQSsSWoXL2psTbD2IzMFrTNffLcSA5fIXuK5Ahu0cKBJeMTimE68UBomlq0aGXBZrURfbRVKGUFxdCDfswm19BEufdBHLCN4blnPsHp8mXWtcdHcZW/desWFy9e5OrVq7z7zjtSSHrHpq559733ePbZT3B8csJ8Pmez2bBYLFguV5wuax4cn3C4WIjngY4Yy5mUgBgDb7z+GucvXeGJp59OVNvIF7/8Ve7c/ojbNz+SYfGAxu00RIMudrzDdu6BASU8c4PxK547svh3CpZE5R+SuwYd6tgEprDqwaU/7uxPu43foMkd/nW4/8e9bPyd6sxaHBr1mAx8lNKjVlnvxNcoBt+BxHvYua677LMR1U9DAc40X1s2yNlG9lfRNLY05GHQprcv96ub751H8AmVjkNKxQ6SrGIy6JHBQdN5XnvtVd7/xft8/guf48tf/hKT6YTP/9oXeeKpJ/net/+K13/+U6L30tQlfbxNMVcDTVopTaEKGSxqPWbEKpWGFulz+iisPz02/gn5VXpk86hUhw31zu51kaZ+dw1tI4Z8cGeYFLIMVEKcZH0dHh4yn8957PHHef/99/npy68wn894/MknqKqrHB3f5OT0viBbWhDpwRhvqHWDc/joxoGo1ppoBLVqmjqVjSHVNSt87NjfO0dmpMCf70lMIhrJZs8z7t69S9t0HB2d0DY9i8WULJe9McsLusRW9M6R57JfmuRM7RMSqdPwOCB097ruaZqevu9wvaOsCoLWOC3gjzZyoYwRUyCVhj5ZJpRjbS1BC6AkHNKkPzYGrWWoo4yAH871QtPOs/GgK4oCY+z4vr33cn5AyosVDWndtiL/i5CXJdGJ/ldMyJLrcgxE7yjyXICEZDKVaTv2EyqZ39V1m66bxNaJZ4yctTbLyLA4Y2m7lsxmkv3r0jmV1o7zwhxs+5amaUW2WDdyZhYFxmYYq9BJdhNdShHxIjUs8pwyUa99OlPKqpDm21pW6zp5I3Qslyupc7JccqKtsP5c6nO0NunMFI8fvMPmwvLL81wyZW02ppQMxnI+3bODUZ/QxBN4oQ1t25Ilg9/pdCZ7RxRjPmMMxsow3iYEPssylJY+MC9ymvqUEFSiu8v9tlk3rJZrfIQsF1+Koa6VKLaAIrC/t2BellRlIfdB34978MDY+riPj93Y1kl47J1kiRmr06Rmu6k4L26BkTA6YIbo0Ua0LDYLqDRVkMDgHmMURstE2QVP37UQe6pC8mgBTAZBObJCkyenOtd5cVf0UkT5GGn6DpKBhWxCiJkQ8t/eRVltBqq9KWVR0PRtctqNYhV/4ZATW6PTRAjEnnsoZGJq3iXmwRKjpt60QqetCtabFb2bJ6dhTZVXCfEryNI0KrrkqIbEBGQmE6OAQQtqbRpqBnxwYzE1nVVoI7m5Xd/Sx47laoW1GVXK9uq7niITpKDpGmIQ/UJZiANyWWS0bQvK42KHMZncJG0r1NLpjBgjm6Yhz3OatqMqS6qqou88JhP6gEs0Hdd7siygjKFNzay2hj62ki3snNwMQegenetRrUpU5ZhyzDp832CzjI5A7xWT2R73j085XTXMZnu8+85HGDvHJ0dZpcCljbWqhIqzWq8wCVEeVEzOu9FCP8tEexuG0Guj6L1MjZQW3WMsNIUxXLxwgUdvPC6aYS9aEJTGxcDp6pT3PvyA5XrJpl3T+V7c3vIMbUX3E4LHhohrPXgolCFXmsV0zrVrN5hO9ug2/YheKaXwrk/ooqGqylFTOx7c6WBv2xZ8QEWHoqNpVlgFkyIH39PWa7SxnLtwDqU1D06OxC3carSJQoVPzdpAp1PJ4IEBhRiKvR2zpKGmGNCBru2Zz6e4vsMrL4VJopI95GoiAeVojBIDLqUUPoruOTihAY20xSgoPDFycnxMTOHfQ4HpUlTYbD4fJ34DHa1t24c2QLXzPxL1dRfd2EGbRqSDhISo9Hx2mpstcq4f1s6lH9yiiel1x+KcEX0yyhJ6L9mm6a9c68YGXum4NZsa3lO6vn2Ae7fu469f5vjBKa/+5DU6Ig5x241RCbq38x4EV1HjcMF5cT/U6dAbqQoRDBEbJP96Pon822/d5PojV7hsL3HveMO67iiLnrb1WJsM586cFsmlMg0kPDs03RHdSjEQqQlyCTUQKrrcvaOTaopB8y7uxInI65fTkqACk0mBVvKzQiEU/ZG2Bm0lGqjpWu7eP6ZtRILS9iv6XjRdJhN/hiwvUTo5SisoJuKYO1Cft02PwfUtITrJqFQmeQ0oMq2xWhzos0JM+fq+I9MZMY/0XgSCve9kmGssISoO9jM+9clnePVn73KybIkETk5OsNby2KOPcPduxWZdA4HVZkl2Ytk0LVobjo9PePbZZ2k2Nd/59gvM9mZ8/3s/4G/+zm8TYsd0khNDwKqwo7GH3jle+O53WRwccu78OQhC0/uN3/4Gf/zf/hNc2+649JLYQclM5KH4hV/dXKmUcbuLNm6ZH7syAdlvtg7LIZkhoWNygSW9jmjVf/XvTffmsNpjEPft9KdCy9k+b7g/hj1tKPjSK/Pc888ymc64d/s27731lpzJO43S4AI83P6MhJYtuqy1SuZ0brtbKEYJ13BN2NmDwg5NeUt3JmXwDg3ioONVYwP972qOH6Y2D/fdkCNLymTWaogm9KzXJ/z1X3+Ld955m69+9as89YmnWBzs83v/wX/As5/+FH/1zX/D3Tu3hOgUHF0Xdij7ZrtelOwl43vY/d84e0jIMVtHZ8brKHTkYU8YSNTD/qaH2CBAxWHnkYZdjIrS+RaimCOOxlUR4jbWKMsse7PnePSR67z/3vu8+KMXmc7nPP74ozx6/QKb5hQX6lSjijs247BSoGVtdIpNsWlf19vxblSpyY/0vuNkc4LySzKTYTORvBmrMZnh0qVLHO4fcHp6yt27d2nqDtcHDs/N8KEhIBpaHRV+NF9TZ2Imm7bBe3HO9ymD1HlH17bk1lJUJZ2T2D4fnLAPc2GLtG2HCmJGhErGYJ14zQjbSGM19EEMk1QaQvjQJ7YOUisqg87EcVyhiTkps9WP0Y02s1Ljx0jXOeq2k+Fflks2bHD4EHE+kFlDaSxFZsiUxiStsA5aIm+Ck8GKlnMgBE/XdckY0GDzHFCs23ZkaeRGQBXJnm1xeRpW+IjvxCsFFfEustn0LDcNPniaRtbBbDohL3Lqpk7DbalRVFTiS0RAQ9IRa/q0b7RtQ5lLrX5yfMrJ6RLXe+q6oe+k1smsZVJWTKciw2vWDU1Xo21O0zpB8rUixi7R1D1FVnD+3KEgs6dLskJkAdFHujS80MlpvHdCZZZIIBlYFJmGqCmKCX3Xc7x6QNb3ouHt2q3EIwTR2yYDqK71aCWILFHR1LIWmq6lT+zepunGsyPGQJnllJWkYCz2JtLDhI4YU3pJFEbgWfjh//vjv1eObWbFccykwF2lCin6vCMqT4yeLJPC0UcwOqMoDJqCpu6T5EGCepVW5CZPmg9p6kLnsJnG5pXoADIRzsv0XuZHshB6vMtAi/BdphgGl3R+Qm+x44bW937MVbPGpBgeyYEtCglwRmm8D0IDjhlFNcMaQ93USevap4mbTK2cc7jeE4OIpLUWp+jFYkGRFyMde9W3+OBZzOaUecZm4+WGGpsFoaWpqgK8aD6NGU0uYsrGbLuWCOztzanrlqauJeamyAlBHM3apqbrHNPJhCIv8W0t9BF+2f6/67pErctGTn2MQmXWWlN3HSbLMFZQR6vkez09PRWUJjd4Jzehd4G9pPldrzdkhUT22NTEuJRrnGX5WBD0XT86KksDF4lKTFNiylbru5a2sTR1y1/+5V/Quz5t3Mm0IiAugcmlNBCILibzIYMPfuvmmYppiWRS6MTXD5sOFyKzaiKIgIErV65z9eINwEr2dPo55z2btub23bvcuXdbYh9UTDGsSY8TwLuEDjvPpCjZK2dMyooLi3NcvnQFa0qiU4iETPKWSW6bxtiUUWrG6bdOhXZMh3rf98kwQIqG9WoJIHnHwTOZVFy+cpWnn/kEb7z1ljRgWmPzjLIqk5tl0r2e0VkOQ4MtSkPcFltjEZrG6n3bbyfqQzYsQlsMO8VLHNyEk/OeSAcikyKXkPjgxAo/ypRvKLs10DYtAIvF/phb2rYNs9lsR2876LZIDuC/PNkbikBBE86iTewUlMM9KTEiZ3920Kpt312i9u3QIUfam9aJyp2a5BjHSIvM5hR5xvHxA1nPO3EW231h2yAzFM0qApo7d464d+8+Wmm6pubozk1cQkRIwzKJ0wk7H2CnioxJs0hMRclZpbEWRjW/9qXPcuHcIcZq/sn/4//J/+Z//b9ib1byyNUnOTyYJzfzbnQa/qXrOUa8bP8MtsXXbrEtdLgtimeMoShL6k2TKJNJ3xyFLh/SOjNyQmO0GQ/nYZ7SNA3L1YrMGqqiIAbJt12tVhwcLEAZ6qZhvljQ9y3Hx/dTsSP3W2Yl8zyzOdqkPbZrxiHHMPCx2giSEWSgVVXik7C3t8/585do244PPnyfkMyKXPTj8E2ne7ptau7ee8Dp8Qqt/A6NX4x42q7jmWee4cUXfyI5vEH0Ym+//Q7PPvMMy+WKsixYr9dMphXHxyc8OD7hs5/9DFmumU7KNGgGM/KFZaDRNGt+/IMX+K3f/YaYMwbH4blzfPXrv8k3//xfCA0RxHmVIIMpAmpwEldDc8WIqsbxm4w7jIlh+W3p/wNjZHieUkLvP5NVu7OeBvYsMZ4pdbYy1rhDfR+oznGkLW/NqNSIvG5zPUlolxuZILdv3+Z3f/8LfPlrX+cn3/8+3/nrv8KF/gyLRT0UzTPIHuR3DYO+UdiwoxP/5Wvy8D30sHSCdG/E0WBKn2nEh71jFw3e/R1naODD3uK3zBRIlFA06EjwkY8+/JA//ed/wtNPP8OXv/JlLlw6zyOPPsbf+0/+Aa++8hI/fuG74laf0FYZDjDq+mROGcb3PuwDMcaduKY4IrLGbIe44rS8+563a0ANg9gY0yBwyFNXZ9bYeLztDMXiOGAb9iSNVjJA2zcL9j71KR597Anefe89Xn7xFSbTKY898Sjnzt1gubpH065pmyWZylKklWRuKi3sRT24/z/0HWxp5tB1NdErnMqIdUOT18z3ZuxP99FFSbupmUymnD9/gb7z4rHSN9y9e0zbdZjMkhnNYm8vJTdYdDLoGoY4xibX2SDMSOdbqknBwcE5VivRPBKDoJiVpJqsVuINMGTDuuDpNxs2TcNmveFgscf+/oIyz1JDn5g30Y+fzXu/9ZIYTd90ksYIg2/XQXm9XtO6HrQhRI3XAnQFJNVioEtP85JJnqOJzKpKWJDJYHM424N3uG5w246jZDE3RWIH9bggUZwhxgRESCa5NobNph6HM0ppeh/Z1DWudYJ2B3F6FsfreRrKiFeG8w7XS84rUVHkRUKSdZIryprwTjx76lrYlZumY1M39L1Pdbk4c88mE8qqZG9vD2sNdd5ycnyCbzsxKwxgTZYYpZBZS1aV1HUtDt3pTNRmyIlKjKrkk9H1IgMrCjGsyssqMZVguVxK85rAhMGt3/uUg5uYuuN5rjXaWrSG6XTK/QcP6JNbdN87iYMckOoiTwkEiqI04vsCkm8bhV3gfcBgKYtSWrpfYQj673p87MZ2NpmmuABZtL7rJcM2HeYKOZB6l7IelcGHmKa1omEyxpLZFBafKayK9J2n9x1FmZHnGqW27q9RIW6MqSieTqdMp1PyvOCOv0/vRK/pXBjt2JUWt8KgIoXJIDi66Og7T56LVkoZS15Uo2bP5FkKsTaUuSKzYMyUED0Bh80t+/sT8gyUzYghUnuHbzv6GMlyS1aKTL/I8pE6lWWW9eqU5XLJtKg4fOQGIXQs17XoTbwaDYZCcMl1ME0irRKzKsBaMebCQ+s6iixPwdGt0E8SehxsSb2p6RtHH3tijCmCCdpO0ME8UUH64JLNvBEErMol4qevqaoKm1uxJ1cQFHS9R2txU2wbMVcJIdC0krPVdR0qL1mua8rekWWGPkZ0LpPQrvMoIzR0FQc33mR9aeSzRuWwCpn44KlKQ2YjJs9o+2OKqsR38h6qakJwMQFNEhc0RgN5T2bFsc6aDMPW8CWiMNYQohhgWKOxk5IiM1y8dJnZ/iFVOUfrtCkQxpu66zve+/Bd7ty7TR9anO8xmdysXdNQlVVypJShTpZZCpuTm5zHH3mCaTFBRUXfhZEyFEIQ6nuELMvJEm1HKQEX5FYOZ2IO5BAR12IfYbXZ4IInK0sCcO3GVa5ff4QrV64QVOCVV3+GzSsme/vooiDEZBwFZynJCa0dfTcS0jHQ3EmaJpWKw+h7fNuTaSvUy+RQqhAt08D+NakRzHJBr0IfmFrLc49f56mnbtDUa9778Banyw1H949xLmmrkilBjBLdMp/PBdVPcSqz2XSkk5MiIwbtz07JO+qwzhaI2yJwl0apdmvDpP0i1d6CkmyRI+JZ9PDhAgYtra0hUed95Ne//hs8/6lP0jQb/sl//Y/p+07QKZ8GP9srPby7HZpwpHWO1958h/1qQYyRPng23SYFmycBrBfvAkF3xBCnd2LcNTpV621W5pD3qZKLKjFijeEHL/4I37dkxpLbnLu3b/Llz//G+DmdE4ZO29SobLtG0IP+h7MFfIKa4kMNC2oboaNQKTosxxYlgYhNz9M6rXkvuluDIreWKi9oTIfROjFJxMXUB7h15y6XLl2gQOLeisywPD3h/IXz2KJiWS/BTjG5RP00G58O7UhIOdJd78gwBNcQQk9eFGTWQhBKqElGIF3fkqX8wOVyxfHxfY4frIhaEYLD9c3YUDnnsXkmKEMqqA8PF5y7cAGbF5y8/CY+WpyCTdPy4P4DPv3p5ynygrpuUMqw2TQEf5/HHpFs+dPTE/bnC770pc/zF9/8NovFgn/7l9/kt377tzhZbdifFoKea4VJ2avGCLJ486P3eev1n/Pspz6Z+l3HU888y+2bH/LzV34ilLPUtAWdAH4riEuMKes2dRzCxtj95kOaqaid711YCbu3olJbt99Byz1KCNRQB6iRaprED+MwTiVarWLIdZV9yiPmkVIXyXDajIOr1AKPAxhhNoQg2aI3b9/mv/vv/il/+Id/my987WvMDw741//qz2jazS8hpANSOwzFVEhOnmGIqFJE5QmBMT7s4cevanAfbkgf+tsz/5RzYjt4Ge7xs0OyX3Z9Hxp7+Rw9A4lDJ+pnvXb89KWf8P677/LJz36Gq9eu8uRTT/D5L32Fp55+hh989zv87JWfEtJgUdz909A23d+9k6ilvCjG9aBSbSdnXmITGDUO5eI4EBxM5WJqONKfJy02MWWmpwJf6+3P6MR+k2Y2pu9D76xH+W7Q4gmgkivywWLB/PnnuXT+Ajdv3uSNn72G0pqnnn6Oa1evcfvOL1ivl4gptCbgU9ydDGnZ+QwMMX1KHIQjco4KY6YjRE/nWparFh86clOQZwVlUWBchjY9k2lFUexz/8ExR0diqliVOVUxwRrJPQ0+xXvpTK4jAasNhbGi5c/yccAp9VtHWeQ4H9EuSNyalQbZ+Y6maajrhq7tiSpw8eJ59mdTMmvQg8xa7OMpEkuxax0xSWCCaMaIUeouZS1FJlTkgNTuePk+qrIkGMNyveF0uSEoKBJ12OaWSV6wKEsyY4jeEbzDa1krIURyk9On2BuV2EjGKpQTZ94QFdF5iqJEx+RjEsIYleM6kYBom+GjAC3eOZbLNU3Typ+lvafIC/FqUYrNZpWGmeKK7HyP1jCbVCK58skLQmnW60bidbShdyLxbNse3wd00KjoqMqC+VRqmyLPmJZlkglEuj6waToCHpsprFIYK9niViuKXKSPy+VKNMVEuo3IEieTCbawxOgwHYCmyCcYKzX6cEvEEOlcT981YgClpaZWSlEWJS2Ovfke3jtptus1vXNUEysoe+foY8ArcRJ3waWhfCDLFFVRUJY5xiqywiRmqhI02AlrTViDgngbKykXA4P34zw+9jPn83mC5z0xuctJXlEtCFkmMTJ934upguoJPhCc2NrneZ7clMOIEvR9T13XSYuUnLaC6KokjkeQjBDlvzd1y7ruIPHylyfHiQokE/vtNiUPj9C+hKrImLPmvJguGaPouh5rI2VZkhlLeWDQRtE0MqkopgvqpuFgMePBg2OavkMM8Tx13Yste3R0baCalMQIDx6ccHCwoKoseaIa5JkVHctA4+w6MpWNtCujJXes73pchJhFeh/EdGmghCrRYAxi7rZtU65wJu7LUZGnAkRMuyxaaVbrFTHRSkLXCu1PS6GYZ3L4DsYH3jtpMjG0XU0cEIkABkHqyzKjD4E8z8nzjPlsSrtZkxc5e4sFq9Ml3sfkAC1VjM1zQjLxAZXc8ARp97Ebv7Qsy4hKtMqTyQRjDE3XorSibRuMsjjnOT05xRrRFPTJJMcW8t8mIZx9L+HiWdIeRB/HqZ4xViKsMnGxPjzY5+LFy2BKImY03Vk3a06XJ2zqnrrbcP/knkR1ZLJRCcqmkrV6KioY8gkVi/k+5/cvUhUp4kkJ9dmpcMaRtygL0UQkfaE2BpKD8ECzVQ/rs1JT59NUuyxLQeeTyc2nPvVJbGGYzedk1RxdTPAJGR8QkK3WbKwiR/3xgEDKQbml2ZGck9HQOqEjX64uMykLmrrhw4/uCYXXpM+nNbnNiIjTodEalWVM9haUsz1u373HatOyf3hudOw2WnPz5kcSWB5kjU+n0+QyLo+yrABYrdeQrltZlmccNtlBPn5VA7r7nHRxR+RgWCsMVMXUMA8o96CvUmmfMlqPiAFpMKcY4m8Cs9mcz37+c+wtFvz4Rz9I69+KPssFsuIssqWG/Nwh0NUYbt++xbvvvM/lw4vi1ohozcdD1wfwnqIquHr1EjFGjo7uc+fug2TKolK8Sc7BwQHGGO7du4fv5LWMkulzkWfsL/b58Be/IJ/nLJcr/uk/+3N+5zd/jem0HPfZ4AP1ukYf7p1533pYIztF/0BHPrNJp7XnEsuB0ewmOT0OVOztKh1pfcMfeh+Y7+1RljntqktIjrzW4cEBhweHEHqWp6e0Xcfx8bG8BS0RCodZjp5MmVRTNqv1eD75NNgbJtZFnonxXVlKDqF3I3UzDEVqiBRlwcIYjk+W1LXsoWWVE4NN+5PaMgvSFElMTuDowX2UikxnFQ+WTULkAveOjrh58yZPfeITvPrTV4VynTIMX3/9dT7/uc/gXEPX93jfAgHve06PH/DqT1/l13/9q2yajqo0qTHkbH5sbHnpJy9w4fJFzp07L5Q+Ar/2td/g6O5t7t+7izY2DT8ktkNFYbGEEJPxz1a2sN2itgyJXa35+CS1RexG1kvkTMM4fJdKqTGCyQ+OyanRHQo/0WMx3pvDgolhyI3+pRt/q/VNoz6tNNoIKu6j5/TkmD/9kz/l93//9/jEM8+QFzn/8k//hOXyVAYDO+j02MDH1CzHXfRYIsbMSLNm/C4e3qt2WQ5+1A0/3JSqh4zUGPerXb3x4BGwS0P+dz2G1x+3wx33Yx8UD47v85d/+U0Oz52j636bZ57+BPO9fX77G3/As89/mm9/85t88P7b2/cewkjZJQ2ddWJ4DEi5Ts7Dg/ZWcnXiiNxsh3yDJn9YJ0m2oBQ2oeSMWZdhy5wZGtqRWTMYSG2ZMEKrT74HyPcfEO3o5cuXuXz5Ep/85Cd5++13+PnPXuH1NwyPPvoI1648SdOfcO/oLiFErDIjiiXvP6VRjHFLYl7qnBtNuzJr8U5o+Jt6SdNssKagKicUWUVmxJ9msb8gRnjm2Wc4ODzHcrlkvTql6zqCdzQby4PEOpgvJrRdQ1ZkGK0IQfbJEFLuqXuQPE8EHSTKIEcZMW3UWpJHTpdL1qs1RV5w/vw59hcLms2KTe2YVZPxe8yyPEXqBFTconh100jOdWIqeO9BD7U4ZHlG34qW0hNZrTd0XZekHmIolFlLUVTMyop5IQ7umamk/nUOkl7TB58YO7KGrRWfBJ1p6roneifDBqfHmKg+gRYxBOqmRRvxf/EhoDrJ2q03jTjoFzlVWVGUxajBjzFQTarkExLJM4kg9c6nrNqAseKu37WtmFIlY6uY9rDMWgprUZWYpdpMtNLee4oiQ6lI09TUdc3ytCUEz97+XOSEXY/WAR0C5aQkBAfKoo2wH9tespLLskp57yV5aSmnUOV7dG3gdL1k0zTEZDJnjR6ZWCLlE7djuQYFTd3J54jizTNQspVuqEqp2TebTWJuBKYTATTEqFJhjdxfNsV2+qjwvaTu6AQ8meQ4XhWVSBCUgJ4f9/Gxn9l13YhMuZTRNZ1MkmJF0bWetuvEwas0ZBWEvqfrBJKX/FkxSIm9lzl8kAJcApU1vu+JLqamSxqtkHJGQwicnqzpWydNsjFs2lqyl6qKPDPSuCD6Jtc54Yw7LyY3mUGpQN935GVF33f0vaANMc8hzsbKfTqbELW4DeMjeTkh0wXTaclyuaLrW9y8pGkcm0YWq9KZFE0PTuhTvMz+wZzZTJCmPBe3tb29OUpH6qYWIbeTSbc1Br0T8VK3LUGBCalhSnSCGCJdI6/fdE0aOBiZVjU9Xd+QFdKkoyJlntPWhs4HMitROm3X4KMcrrOJHKJy1ijyPBkYuZ4qXWfX9zSupcCiiUymecoia6nKCfPZlNxYMRDLAjoTDULrPR5xeZWM3eRA6TydE9dhOTCFHjKdTkXnYwzam5Qra4hIaLRzDmXlkC6Kkv35PnXT8ODkASFqtBYad9+16EyoQVFHgvZp4xN3QACtDMpFzl88z7Vr1yjLUjb+aIlY2r5hvVlx8+5N7ty7Rdv1goqpIJnIOlIkxMX5QFVUaTgRUy6f4mDvHI9cexS8EtdwD533+Lh1AhU7+EzMAVTcoWqlmIGdeIswNmYkvGLroBlTRBAoCfTOLM8++wx3792S4cgQHI5GGTs2qIzNmRxKQ7C5Vnp0iZaCJ4CKHB4cMqmm5HnGnbt3Mdawf7jgxiPXKMuC4wenfHDzm4neLoiBySxFUdK0sj8om7PqHT949VVe/PnPaNaidzl/vuEzzz7BhfN74B3f2dwn9M1olmK0wXlHXYtTclWV5FnGk088wbptuXbtGucvnIfEVhge8aEmVx46IQTb5+zSrQdDi92fGQ4kNeJEgnxumYUqIUrp54IeWYHOBT773HPM53u0bcerP3tV4n4GJ1C1dSbefd9S5MYUah554633qVvHlRvXx8a3jy6ZLA3NY2S5qfng5i3R5TRNMuPZUrB99GSlOA9HFXFJy6+MQgXYbGo++ug2vYu4PmKM5qWXX+HW7fvsLyrqTc2lSxcJIbJeb2C3sd1B1tQuBXr4TDpK0ZgoCVEHnPep4BxMlhTTapKkGEPDK1rtiJb7rA8YLeZPaIO1CF0iZmnI5FmenHKwWFDmlsuXrxCV5u7du6OJXdfVOBdwraOqpiwW+wTvyKzGZpbZbML+/oJ79+4mOpRjf3+fRx55hNPTE+7evSPB9wiLwihDCJpqMqfpHZvmPptNI/4ASQsOaoy6M1oTU7641prDg30Oz53HEzl++XU0GQFN3TTcunWLz33287z5xpvUTSMGJzHK5wmBpnMY27G/WPCN3/2b/OAHPyDPNPfu3OXB/VOmk4yqzAQ4N2rbbMqRS1Mv+eH3v83vfONvkxklEW9Fzq//1jf4sz/+f+Fc2A5btEhIrTE4BLlVQ8OkIzokNkjcNn7bZTA0v+GMDGLLrHiogRvXrRr1bqS4HOJWLz/MgMa1RkxaXA3RJJQ46YMTw0NkAgEVZM9TSTuvBiqp9wTv2CxP+fM/+1d8+atf4VOf/SR/93/49/mXf/Yn3L79i2S0Y3YM4gZNfDLbSehiUHKPmuT6FJJT8HjjnmF/7OhPlZZ1/9DQS6e9ZyjmB2q5XDuRIA0mLkNjq8Z7Key8zpbOvG2Sz6Lrw2sPQ9v7R/f45//sT/j5E0/xG7/1dS5cOMeV69f5u3//7/PqSy/y3b/6SzabWhg123HUaBqjdiKzBgq5uCBvXYvP6uqGQe7QJCckWicEP/r07MFkZruOHj4DhDVGOj/9Gcq3H+ctwxpVqUkS85/nn3uGa9evcvvOHd54403ee/sdbjx+jauXH6V3nuP7dwmhE9RfR7IiH6NVxBxQ8ky1ssRODE09ga7tE/tDi+mm6ui9EUZHNCm5oiKzBcWk5NqNa8QIbd1w9/Ydju/d5WRzyulqg7GWS1fOoY2iDBLJkmVJhhQDXdcTk8HoZDJNhqcBE4TSa7Ic70Nyutbk1jKbVkyKir6VdJNIYFIlFpwXkyZ8GA25BnS6LAuarsOYgt55lstjsqIY6xxvAl2I1JuWum6FeZZnEhUUIpW1TLKM3BgyJdp5owUU00aLa35iY/TO4YP4TBhlmc+kuW+bBudCYtlAs6rHrPTgo8QVOpF+5LkRZ2oX6VtHvakx2jKZzZhNq1THGyBSNyKNs5lE5kS/ldg0bUfnQvruJaWkqYVVZFJcaqbBFFY8VYpcwLlhmK61AEwxiI+DtbREphNLWc2xuRHPEe8SXTjStTXlpMKYSAi9mPAmffFsPmE2ryjKDB86nBcD1NWqZrXesN7UlHkhEprJDI1K7EHIypyiKDi6cwQ+0PeOzWZDlklMlEHobK7z9Lofmb2TyYQis4Sk41WDoaIRSQJA50VXLW7hBmvs2N+NFHZkSDF4GXycx3+PuJ8gGteyZJOm0FmWEXy/1UGkzbXvOpQxVGVFWy/pu47gPdpEtAmEAG3dU2SW6aRKk+6ttqkPfjQakhwpPzrqxiiTpNh3tK1QssxUy+Slc8zmM/rEHzcjyiWNctM0ONcz1xNsMhkKrkcDfSeTkCwTbSdeclujkzxco+VLtrmYL8nE3bBpao5PjqVgN2I4o5TGuZb1ChSe6YXz2MyyqddChysLeu9GLU7v+xF5Y7RFV2mSlpxkB42C61BaXD2NN9R1jTEZVcrdtZkgzrnJBMEMkWk5xWhHWVR0TjYF30scUdf2FHlO07WiK1BCibXWpgJTMsryTHK/sqQjUUYTaWm7lrqphfJrM3yoZYofA4XJt1QoH4ha44LDKp0c5uLoEGpsRtf3KWtOUU0mo7nA8Bqir2zRiMnE8fEx8705ZVHS953c4JkU5z7KZHDIYCShQMM0vSxKFod7XL/+CJNqmqLgIWpL3XTcf3CfO3dvcf/0Pr1vwXihUipN33vKKk/rVnSG00kuruFBXPkOD8/x+I0nyE1O57amITEh7yGZ0Qz0U9Hxbh06h0n9iDrsHPGCKKWlkWhtKjV6EHG9I7MZZVWxN9uj1GJr75UijC83aNS2m4XeQQviYD0rqRgYIjF27C9mlNUck+fo42NW6w23b93j/tF9PvuFz/LKz14DI0wBpUU7MZmkBoVtbE4kUjctioiJGm0s2uRcvHyVG1cP8F3LI49eo2sGjZWsW9f1rBNCe/78BbTWHB0dEbTie9//PpcuXuGrX/4i8aHMs92ibrfY3prIpIJv1GbFbaM4fHfsRBWxUyDuaPjSi6V/pnIwyuT/2eefAwUffvQht27dSkYpsrFnmd06FI8/rNP3rEFpjk9OeO/DD5mc22edkGwffDoAhTKuEjXL9Y7lqiazVgz0khYtRjGM6X3L++++m37TYJiVIjGS0ZvzwlpYtTWLScVHNz/iX/75X/Gtb/5rLl08x//hf/+/IxJkCLdTN8Y0wNSD0dZYVP6y03NSYOGSwyM7ESzGGKlnUyM4XNohX1IbzXQ2pZpULFeblBdYy/O0mMdt6g2bzZqTBw3WGqbzOXfbE06Oj9k/2KfvI3XdMp+U+NmMO7dvslmviMFRVjIAvXPnLlorisKiVeTmrVvcOzoa9Upd29L3nsIWrFuJHAreE7U0ArPZbLx7s8xKsZrOVDegUlGGB1lmKSdTDhZ7lNbiosFF8RPoOnHPf/KpJ3n5pZfk+kZFjJr33/0Fh+cO8L1jtVxx6cIF1usVCrh96yY//vGP+Vt/8A3W6xWLvZmct3qX4iqN0u2bN3n15Z/wmc9/URrN4Lh46SJf+/pv8+2//Lc7Jk5bV9ugQXk/7icxDgjtsNNs/2+Lzm7XAGdVoQ+53rL9+x3X9LjT8AxP3w6B0i+MW4f2IUd5MDQSXWTE+222dEjf1xYtTqhiGkQuVyd861vf5Oj+PX79N36d/+jv/cf8iz/7Y95/970Un7Zz72pJHDFDnnW6PmGnQR00oQ83+ON+NaC8Suju3oeHGs4tE0K2ITUilQ/vUYOUQiePlFF2f2b/i2fv0bHBG/So484ousW24bVXf8oHH3zAl37ti3zxS5+jrEo++6Uv8+jjT/KD732Pl19+WdSeRo114rA+RgRTCXlcsbv/JTOk4TveipS3fz907CDGTXpgGTFKU4Yz/5fkeXFofn95kx/W4XD2qh1WgTGaxd6c+d6MGzducPv2bd588w3effN9bjz6JFevXKcPS06WR2KQJF5oeJ+Q6cSySHPpNFgw5HlBnsuZ1XUdpCGL8z1aedq2p+3X5FmZaNRSX1eTghuP3GBeVaxWa6rjE0m52Ehd3jW9aD/xOOvJ84zMitmXqey2nibiQpA9yUujO5tOmFYVscgFMOi7NHxVqblTIxtSgBeFzjJWm02K2HHy3Sb0cRiuDL45eS452yqxWIo8wzpFVZSEGKisoSqkqS3zfPTnEfanTmCF+OX46FPu7ZCbmqfaVIyYxCfBiD4+1Vabuhb3bZOhlCEzhjIvaJqWvuloGmENluVEPBcyK4OI5PbsXMAYyVetqoqubcac377vqRs37oOD1CaEiCJQ5rn0LgPDJQSUEuapsEAFOHEpAaKqKsncdYJKd21LluW45O5dZNnWoTsEDvb3cT7QdB3OO6pJyXq9ZLk6oakFmdZajWkouZEEl01dk+VZSmMRszAXPG3bYayl611KNAnJXdthtSXLchmatC1FWYoxbyu9gBri+6wl4PDBUddyTpNYvHmei+42GZNJoSpDdu8cfQBrcj7u42M3tpM8T7BxxHnPZDrn4sUL9K5htVzSNpukb4vYLL1BLIeHB0QvDsMD/UB7McfQUabV1lp8ULS96I1cynGKNgo61so/rVMsl0s6L067WWbJ8wmZzQU1NWJU0HX9aMQTokvzYfn9QmuW6fxkVpAXmTjAWQU6CA3aezIrukEpOBHr8tDjQhCnSyORQfnEUs0sdb2h3nR4H3HOEkJkUmWiKcbj6TndrGETiErTdYJClkVJnuVSoKYGtzQZxICNiiLpZNq2o/VDmLHA9QVCc45REJdcG4oyo+87fIDOBdq2oyhKUJa66aWZMg4VxWLc9Q7fB9abmqIsmFhxD61sTvQek4k2w0WfMrnk+cZKnqu1iqZrCV7cOTvfY8tCqDaJfqqJrFcrykkpebtDAWFkmus7TzWpiMFJpqX3YDTOiVNxH5KRitIUeZGMlnpWTUvvWvI8Z282o+sa1qtTooVZNUN5qJsa1WmytHFNygnnFodcuXKFrCghKEJQaSKuWK6XHN0/4qObv2BdL8GSgqRlmNB24uDruk5Q0BCoygqtxJ3OWMvVq9c42D9HpgtUkJxOn+IWxGBCMymqhLButTfj2To4ryb30pBMX4ZSbjKdpo0kcnq64vzFA0IUIzShTYaRvjGfzvnUJ57h7Q/vcOocRoGK2+s5NnbDFD0NUrbvR4ZDB4cLykngYG/K6WlL6wObtsW3PeHoGBXhL/78r1DWYExGpuXg3dQ1vu/pvcc7l4zjpEkRrZVoJVGKTdvzyutvEOINnnj0UbKipO9To6IUt+/c5tq1G3Sd0JFn8xnBSz6xnVSs1zXvvfcLvvCFz6FHtt1DObDbqzx+9u1Uf3g+CSXeZvjyUAPIUGyHeLZAGpHwlLsaxYzliSee5PKVq/gQ+MGPfyAT55CQnKQJ2jbcQwGsiAjlXZuMj27f5f7xMc997glu3r05vrZPEQAh6deHIWPX9XSdk7eU0BFBC0XH3rmAHvJkbWKLeEfbyb08aNM636LyOfVxzb/81/+GC+fO8Qd/6/fp+p47d+5xvFzRdDsGUlGlGVA6nMb8yrMPpZNSMkikRBwmaWmhbxtbLW72DGZRTjLFE50pKkXvembTGTqeEsbXEAMSmylm832iD7i+J7eG9XLFwf4BGku9bjjcqxJjwhK9OHBu1vWoLbJJKxiiG4dsFw4OaRspAr0PYDyZlcLUO4cL0n7lpZgBtvWGGGQPqCYl0+mUu/fu4WOUojZG5nt7zBcLjo9PmJY5q9qhMPgYefDgAe+99y5PPfUUb71R0ra9GK0EePPNt/nC/POsw4ZJKUXMV7/yFe49eMDPf/46bdvwxptvMylzqsmcPOkYB3OQLVvA8+orP+Hw/EVuPPoIBAcx8uQzz3Hvzm1ee/XlZIwGPq1xnYZ1UUmRu+uCPDQHAzKmhkbuofvxLHV5p9fY2ffkL0yi2MYzA48REVaC6OmUeRgHKnTSubPDzPBeNPM6RRpFvzUhGopQoacmHR+Buu158Sc/4qOPbrHYW6BVgdKZRAEOTb1KhlqpUTM6IcBeWCLD/TlG7yizI4HYdmYDTXbYUnaHBdvrkUznxp/ZmjLt7m0iUYnJnEsJ1Tb88l6PCul+29kz06BAJR1siKKX16lB3Zwe8+1vfYt333mHX//613jksUfYP3eOv/m3/hZPP/9JvvNX3+bu3VsoukTNTQyg5HI80sAH2vEvocXDH++uGX2msY9JUzsMHpWWzzb4Q8RfIUf55QxhtTOYiTtrJSbBsbCi7JBprRWP3rjGYm/K3bt3efe993n/3be5cPkSjz52nbzMOLp/hwfLO0Aky43sI8n3wOgtwicjGZMYbOIQrTE0bUNEkhZQijx3dF1HlZf0ribPCiblnMW5Q/bPn+Na8LRty/H9E+7du0fXNehSy57WbYGeLMtwXsw/264jLwsx4LNWGlwfaOsN+U6uq1aaSVVhtMQ6GWPlinkxfvWZ5JI7PHXf0nVtAqtk77SZYbG3R9O0NE1N0D1aKXKtqGYTtLEjk2YwJCxsxlD8DOwfba3EpIVAbkXKExVYrVFWvm/nJRXEOUdRFGgtMWueiEu5unXbUpQVKr3Htu/ZnCzpW+lN9hcL8qIQZ+auxXlh1jknQ4MsF6TWAN2mZtM2KWJPsd5IDa6NmK5WZUXIoW0aMpslerWlzAtc37ParMYsaBekgS1VRVVNmEwqNJHcaExan6ebFt87QpTealJV9K4X5+gyYzqZiO61knr+ZLWkbTtihGbToNCUZUE1qaiqCuckYnU+nxJVYNOItLFzPW0vspneiVTSGEOXTBRDiDSuI8s6iiwT0CgXZpB3YvwYEJOuOGiTtBoHPBHxGZpNRVY2yHsIakxAQKUMaPXQ3vfveXz8xnZaEYH794/ZrNesNzVNvUGbSJaZcbqfFzJNyXIrx0ky2BgOM60NyliMlendpmmEpppnBCWFlQpJY5g2p67riSHStHWiWnqcFy1N0zQpVBnKskCrOGqAvevlxjNm1CEqTYojkiInqoDJtLjxxsi0kJgVOY+FM98Pmt8wcNrF0bJve7LSsD9fsDebUTeSYdv3vVAYrCXPLSH2ON9KtEfKCCW9fudborIpokjii7SWm1dFoe1mpVBsN3VLXhYyefJ+PEi9F9QZLZQXcQNW1E1N2/b0rkdpS4zgvCFGj0kmVyrlgsoGJj9jrcVreU9d14lDc+8o8pK+F2QbLwe0tULL6PtOXKq9G69P27uRupFXJcoIouS86H+HbK6ImOAYYzDKgndoZei7WqZweqBiI6ZQya5f4kA8isBkUhJw9F0PJrnyDUwDLZnC+3sLrl25wWK+wNoClzZHVKBte05OT3n/5vus6w3oiMkVyiqaRg6ALMvHgy+EILhxSGZR1oiD4eEFzp+/IDpsNM6L858xJlnui958oOLoHROpyNYoY5yOp5zPmNydFfDYY4/xd/7OM7z+9ns888xzXLtxObn6yWt2XTu6BC/2F1y8cIU7x2tOjx+MOrKhg9Bqt5gc0LJtd2GMNEz/+X/+P+Fv//5v8V/8w/+KP/qjf4Eui8TKKFFJMhC8UBejVcyqQjI13zthtepAi65CaaGbKK3IC2EGyNqT4u7O3fsy0Mn2uHv3lPl0Mh7+XdexXC6Z7Um+WlHk6BTirXpLDI7OOZzrKHbLlR2nzF9lwrJb2A00tN0aKgQxQRmfNTS7Ssw5lGY0LhMKYhyBp5iKmE888wynx6fcu3/E+++8MxqLDIf/UEiNVGEfaVqhrmVFAT5wdP8EpS17sz0efHgLrRSfv3aJf/gffSOhFzuaxiAF6BYd2ha4w/qKO9ZhWhvR/2s1Zt+OFMQYqcqStmmYTWdcOH+O5/oNR3/8x3z03nv8h+f2ecT3D13vVCbGBJelnn9wUxTztOTSqMK43oYGiZR5uL3WYlUSR3f3kZ04RmwsFvPdjyisgLrhdLmU+C1tKMuKvLAcH9/nxiPXhRLcdUSl2T845PTkmJMHR1gruvDM6MT8kIbVZobZbIZCUVQVUUFZ5pR5TlfXcn8XBcZaYtdLIe8Dmc0kLi94ogp4r1kulylLUUsWYaIWXrt2nU998pO88sprrN+7mVAfGTotl0vqpuHpZ5/mlZd/KvbVUeh3H3zwAefP7bO/v097csr1G9d5/a036fuO09NTvvWtb/E/+Dt/mzt37nL92vlRi+7x+NRAaSDGjh/98PucO3+BybRK+zF89otf5oMP3me9OpU1P2gHk+9OUGrULsSBCjoGP8UR4TlzD3G2YRm1onE4I3eisna/2+RqO+iy466WdbDOHV5GsX1f4xDLj0ZVZ/aEKJbuwxxGUNWBOSWxNd513Ln9IQ/u3CHLDJnW+Kh3mtLhWu4aSm37Nji7F8VdtHk7bhsZObto6si32c7lxs81sm126Lfb82Ro5kUCENPZsntNUMKg2FFWbFHfGKWRHaM6ht+niHj6PvDu229z86OP+MznPsuvfflLHBzu88hjj3L5yhVe/smLvPC977BeLSUrNYqDfdCKaLT4eCS986gxHs3c1ehfMHzfY4zOTi7v+H0NV3Hn54e4qgHp13pwVFbjtY9p6Lerk45xd7Ki0l6pRzQ7msjh4Tn29hbcuHGd+w8e8M777/H9736fg8OLfOLppzg4OODW7Vus61NUnobbbGUsPtUoTVMn1pYMWSSHVdZemZXSCHiP1Zq2XRNxKALrEDBKIh2NNUzslCIvmc1nHB8/SEZ2J4QQmM/nzOYVSls2647lSlzUy7wQxp+1nK6X8rtT4z3sX2VKEOk6LxTrGJKURZIaurpNBpgFdV2Lh4TyzGZTSKazXdvhegGzhqSTvMzI8kLWVhiyWIVtmBkDIbJuNhjMqL/tE8NnGMZbmyV6q+zn3vuUmhBHbw/i1qRQp3gi1zu0laa3adpxX5hUZTI+CxigyAXdbjYrrDFMynJwt6Vtu3FF1usNhBwVNJPC0LQtRV4K2ukc5FLLV2WBMZJ24nong9EINhe35rZpyayhyEUn3CbDKatlIGWNDBwyqymyjP39qTTnrbxW13VJ+uXZ1HVCSIVePJlIEzmbTzk4WGBtxnq1wafhn7g1i0Nz00iU6XQype5q6a0yi1EaawsCUt+2TYvCprSKjCLLsfv7xCh+Rn3fEnxHUBFtNcWkQrcmmXwl008l68GiiVqhldRFmVW4PqD//9HYnizXWGsocstsUhKVkQgB5VmvV7RdAwqMLVOUQaInKDMefN6HZCojwmCtNbaQArlNnHmjLNFpQhZAB/o+SLbTphHzIGsh6Ue6rsO5BqUUs+kEa3JC12NTIx296FKzzOKDk0WqNTYTo6auD/gowcZGCXLbtC1V0lsqJaY+REfb1tJUaYt3EsjsfIfykbzMQFmhCgTI84yyLLb6l9QUV4UUh03bpimRwhqFw1FoQ24sjRd35LzIUckYKThPZixWp2gjKxtubgvR6QZPsAZlDEaJVrPretCRvf0ZXddjlMb1ntX6FFtkVHlG3/WURY7SionJWXc1veskqigEjDI0dStibm2ZTmZ0naWp76ONXAOh1gW0lemOtYJwV3lO27ds+o7CSsi0C462blmerjg4OBQnOaWYVBMpjEJMN2tGDGmiaWXCI/Tpjr7VRCNmBeLuqQDHenOKj2I0ZpTBORHp66iYFRX7ewsee+wxptUewUsGrg+B3vWsmoYHxw+4fesjlvUJUUdpZJQmeNEHz6ZzGSLEiPdiUa+iwmKpsorD/fNcvXIdvOSQeOdp+zqh5aKRkqK3FC3NaDCxE5attgfvgDjFECFRsomyyR7du8frb0ie6HJ1yoMHJYcHh5RlKRNT50V/FwKLgz2WzYqLVy/x4fFRQhW3plegkleHOlsgKCnyBhOpoiip9hZcunadIkuHiNGUpVBQ2iaQZYarVy7x/rtvo5XHu4bMSBB11DqhBdLYZllGXliqqhrfd9c0rJcd7/3iFllWslgcUuZ6pD0dHBzSNFtJQlVVGKNom7UYFHuHzQxVle8gOb/aaXT3sdWVDTSr3agfs0Vkdx6jBmvIsx2pfTsFXxRNpdaab/7Fv8Hm35GcvKaWJlYpnOvI8+lWJ4ho7L/5zb/kjQ/vEdFcunyFZ557jnv3TsiyimbdsK57Xrl9xBeuXuQ//cJzH3cb/6XHsAYHBGW3XlapCfWDrm2of7WGWx9RARcvHMCFA7KEbp84x6mXjGhZQqIXikoyJEeJZNKPa7VFyAfqoE/fiRjJkdarGZ1kB+qovBkoikyGdcak36sgoaV934+Op8oIhSrPDbfv3uSZ/hlslhOCo+0jwbUUVcGly+cps0x0REYGcSgxGsF5XNsSI9ytN/TesTefEmLg2pXLtHXNerOhW68JMZClaIrgHGWe4ZwwVrzr8UG0wiF4kSeEwNqv+OnLL9M0HZcunOfWzbv4TcAnSt+9+/f58KOPeP65Z/j5z3+O8yHRNDW379zl/Plz+CCa7U1dc3i4oJoUvPf+LUKAt996l09+6jmazpHpiApupLANQzZFx9G9O/z4By/wtd/4GxKv5Homk5Jf/83f4c/++R8lREmn7zOI9k1tI0KSw+LYpO02pLt69ofvz0Hjnjq04U+3GtshXkilPPmddUncOnOP2cmo1JT1Z6jC0vRtM60FudVnmujhvQ/ur8N+6VzA9S3ROHw0KRfSJGmA29k7Uszezpa+JVInZkaMhPGOS7KjdI2EQrxl1exeu7BDJN7Se+NOvu+W8ht3TL28j0g/OyCRZ/e1ODbRw+AhjNff+7PMFsY4s+GflrbZ8MIL3+eNN9/gc5//PJ/+1CeZzeZ84de+zFNPP80Pvvd9XvrJjwjBYa3oSVvv8MZIc6u3+6qKIp3RccuMGRyntxR20dmqIfYteXHEKA2C0TbtbWEc/g0jPWl2t9R5pZJXctrbwzCUGTzIwlmn46FBigryzJBnlqqsuHz5Csvlitdef4MXvvtd5ot9PvH001y99Di3b9+k6Zb42GNzK4OlhP4O2dmCOMvwQQ0SbAIEP5rGaSPZ313UdPRYZXF9Q1GUGJNRZCWL/QWz+YzNesNsesSDBw9Eb9r3ZEXOcrXEh569/TlFWRBioHN9ytItJFXEi1PyYrEQL4AQ0KlJM0bcx42xECW320UZ1GlryI0evwufTFyNMZRzkc3FFIdFiOM+75HaVaVM3pgihGazKRGo65o8z9P9LfngxhhUkNfXVu65zFiJ7oqwXq7E1C/PRx1p8IFpWRKUIaBZL5ci4co10+kkyXbE40Ubg7LiwE8yicyMwXX9mBcPEFzEKkVeid9LllkWs4k0l5ua0PdMipI8sTSbZiOxOyGxRI3FINrfyUEhVOO+xyfPHWm8ZS/IbE5VlhS51FVGGTGedeJRszxe06bmtus6rJX3M59PRfef5FNt1+O83A9d59nULSEZXcW0TxSZDE30XAb1ZSX0cGstjsi6XmMWe6igKMtqjAGtqoKAFwdkp/Cu3xp7aoUpMoyReDWp8cDYAuWTgZ/SoD0+ODIL2cf3jvr4jS3pho9KU00m9E4WqfOOPlEMi6KgKovRHTlGmM1muL7DuTY58+qkY5OcT2vFZtp1PVaL+Y2xhjwWbOo1fe/oUjB0REvzGmV63jbtmEsaQpAstYHrrzXBC310b29B5zbYXFPmGecOFkQl9uohRkyMFGUpzWrXy0IOg7jcY5PNtFKKqirpG4d3HdbIQdi1vWhbo5hgWZv45F5QE62iTLJsRkdDU9e0bctif4HKs+2x5iOZyZIoSKKQbGZTyLhMOPvoUVoaWpXLwZZZg3c9LYIO2eTWFrzcMFVZjFoi7RXNpsYoMeeKNmM2nWIzxeZejVFywETvUVay3ZqNaKof6Pvi/CzOU1hlRjqEvA8Jnc7ynKzIaBon/HggGtFex4R+tX2DtZayrCiLUjY+38mkMjnehqTnGvTIwQe0tslZUnKDdSbifd/1QlF0fqQEZ1nB/sEBVy9fZbFYSNaxk4O6dzLZu398n1v37nC6PKF3DcoMaJunc914ww3oduzFjCw4T3RQTiouX7rG/sEhVmdYIzR0vGh6B/dTa+3YyBuz4xy6Y+Sx21WMRUmKi4iJLgzw5ptv8rNXjjk4d5m27nj9tbd49hPPjDnTIM132zTs7e9x6dolyv1z/Oj1n4sxm9IjQrflcm31RGmxp3tL3sMrr73F4sqL3Lp7l3I2kYltyq6blCXWKM6fP8//8n/xP+f/9F/8H7l96yZ9m+gpNk+NLYlKL5PILLNYrdFKdCejYYpRkv1580M+9dxTYxF86dIVJpPpWIyUVYW1hqvXbnCyqXnm+ec4f/68oMzbj/EQMhTHkvCsXk2PaPVY0Cn1EKIdk2ZLrpt3btQZ7pLk1KhVViN6K1SffqS2AvR9J1mPOqaMRfl5n3L5Tk9PWa03KG25cPEKR/eOiCFycnLC/eNj/sH/9b/hoKrG71Cl5kcKtCFzN73/lJWLgsxYmYRHuHL5Ik3TcLpZEbWmaaRQIEQOFwv2Fwvefvvt8QNmJqcqC7q+JrQ1VsFkUvCffe1L/I+ef45vHT/gxPUJ5Ao7jqx6zMtWo5ouUTT11ql10AYqpWR4xdbQZzA/E3u24bprqqIahyXy1Q1OrhL3cP78RYo84+T+fZp+zWq1pnOB05MTDs9fEC1a15Nlhsl0zmI2Y3VyTJ7nLE9PpEBZ7OGDo+lburZjb2+PB8cnMmjpW5Q65N79I/I8o5qUNF1DlQxntNbMpjOsthRFTt3WnJycsFyuMUqz2D8cI2qOT44lqi7C1cuXOH5wyutv/CIxHgxKGU6Ol8Soeezxx3n9tbdGSqkPgbppeOudt3js0Rus1muuXL3EarXi1VffYH9xyIsv/oTFYh/z2BUO9iZi+hKcGEiRGr1Uyb/95ptcvXaNxx5/XLIqXc/Vazf47Oe/xA++/x3KzI4NkLCyEuYYwkN3xODqv23u2GkOdh/bJncHuR3/LrBdPanxGUS0bO/tFKybmuD40OvuvN44hBrMhHay3pN3nOwEw+uSnLKluXLBiZlgUJiosVY0YNLcqi3iOtAVdrJsh31JJTnB7nBHZplhB5E8i2jHlG2/+98jnXenRyYhk7sIbvo2zqC/20+6zVkdjKm2+9nwHDXmc48GDDFdMzV87sD9oyO++Rff5OevvsavfenLPP7E48xmC37n977BE089wfe/+z1uffThdvgQROYk57toD3fwbGn0iSlzd/t+FanXHNdSoj1GScSIcctRigNrL8m5xmu5Q8neHUqkfxmI7ODkTFc7MUq7+9aQ2RtjZG+xx5e+9Hme+sSTvPHm27z4ox+wv3/A9es32F8seHByh6ZdpQxeWa8Ds2yXOZSZlM2emlmTDAeVTgyuxLCJ2hNURx8heJGfaC3Nx97+HvP5Htdv3GC9XnH//jHvvvc+q/WSosxo1h0ELRE+RpFnBcooyiwTmu9wT40MNKmRo3cS4ZLLZ7dJzkKEqqrStQ2JEi4D/8wYiswmIzDpAUgSE9H6ymPwwPHOo1PPIMxCm8z9DF3fi1QwsbmGTPssyyiKQhyW+16kNUrjvaX3jmbTJNacpV5vWG2EabO/2GNS5nQ+ndNJzaxTPWmUpswLAae8w6gs3a8SEZfnktyAEo8LpUwy7TIURS46VWOp646mTvnsyVcly4TRk1mRceZFQdu2Iiv00gzOpxPquklu0oayEk1wXdesVi1dL+durg3GGmy0WO+oqjmz2ZQss4J2+8C6bqUO7gNNs6LvepbrDcFLnR6CZzqdMp/N0Eqc/g8PF7RNTWYlsqdpW1zbMJ1O2N87oGu7xDrLxKMjiA9IUWaUKiMET9N14kjtA1pB33Z478iU1M5961BBYYmYTM6jPjlj59lZ35R/3+NjN7Y2L/AhsNqsmc6mEqq8WXNwsIc2YpZkjBpjbXoixmoShIVzvWhZ0WLvnCh7RZ6TFQqfaIQxSGBy3/c7YmtDnlcYk5HnOc2mIXok48sYtIpYrfBOJullVmGNIWpxGo1RvpistJRFji0y2ZpDJPQC2+dGGk9rDU0jrr5Wy8Jt6gatNX3XM5/uEXNP27RJrG5QcdvM1q1oArUSDam4uA20h54iL7h4eI5NvcHm4oRmtLhLGgUgVuSd7/Bes2lqJpOSIs/Z25tzullLdJELROuoypyY6AAuIYlN22B14tn3PW3jyPJC3Mi0WONLIaNGrYfzPdYYZtNpWhhDJZsxLStAzABUUCxmi7S5Ku4f3ycvCsnZVYKgxiA3/WJvxjKFgJeTJH73kb3FDB8kouT49BSrNXlyqFNK6JlaaQ4WB1I4rteQ9MjDxFziVwwxQJd0xlVR4roOg+Zgts+5g4tcvnQ1Of5uGQM+eI5Pl5ycnnD76CNON6eiBdA+xVYIBVdFzhxeZtBoRaiykgsHFzh//iKTak5mC1QUhCgMk+1Ufg8bLUNsTEJnhiIiBDcOaAZSlFCphT51xmEWUrQT+D7Q1m3KnlWUucVaRQwS+dE0a65evYQLgQenJ5LfqxRWWRj0PSZpIcPZxnakYwHlZMILL3yfH/7w+4QQmMyrFG1gRw1aZg13797hH/2jfyTxMd6Lu3LUxLZP5iVyKAcdKHLLJ67f4IMPfkHfbka3Ru080Xl+8e7bdE3LNFGRAa5evc7x8TFZJtfSWDFMuHLtCuVyyZNPPUFVlayWy4SunH0MBcFQDD1MhxycUEWPlxgDeofKNzRkmhTBEcfG66wJSyoG03TSGBkQOOfHWJQYA71rKYo8OZlu36fWiqOjO2xWRxAVR/du8cMfdGhr6esN77z9Ns713G823HlwRF6WFLm4cqsge09RZqNDKoDH44Kn6zusyajKKVppPjzdJKQTirJkvWrHYvX28i7xg7tUk2qcwhS24ObRAyYTQ24VN99/ny9+4dOcv3IRABeFHjcyDmJI8gqbBrUmIVMDnXiLTm2hOimkJa4hUQgTpVdYMCSkU2I6VBRUdT6fM5mUuHVPVFa0qUFyAqs852D/gDK39H3Ha2+8zfHJKRcuXcY5zfHxMddvXMb1YoZ3eP4Cjz/6CForyjKnbjZs6hUx9jRNz9G9+2hrWOzPefDggRRmXUffNxI5RZACEej6jq7vWbc1h4fnaJqe/cWhnD19z/7eguOTE9q+G6MwbJbRd47HHr3KvXsn3DreiL1OiBwdPeDll3/Kc88/w+uvvYnRknISgQ8++ojFYsJ0WrFaLZlOLev1ikduXGW1qgk+8upPf86jjzzC8cmGw4MJJjVYCWJPt73H+5Yffv97HB6eY7G3h3ct+I7PffHLHN27ywfvviNnyRmqJyOKxU4zNQyflVBFzjRbv6x/H8DLgfkwPDeM+aNiOqMGzHCLDCNrV0tHORKhH3bmHv9dpVz1pGuX4ZUeZR/S5KbIqZ1YHWMUOkaRQRgjrIRWimqbi0ZwWNNjK6ZlIAxD9AvpXPFnTOjOuvIOcq6tS/s4HBhds3Y+26+4lL/qcw/NojTZeufPd/XFnPn3YXCw/R1qvM9JJ9cwFJFsUccHv3ife3fu8anPfJov/dqXODjY57HHn+LqtUd46Uc/4sc/foHV6fFoetc7YXsMiKoipf8kh6yt9nV7LUaS007EURjE2d6N1244x4X6eJaCPsgudnXMOrlXK63HeCBSasVofLWz5/s0AhliCENwnD93yGy+xyeeeIL33vkFL7/4MuW04omnHufcuSvcu3+LdX0iPiLRM6mEEqy0sLxC8BgrFM3ReDE1wcIak/2CTBG1wsUOF5ILbTT00aKiJjMFxaTC5BnaZoQYWW/W1E3NetXSbGQosX+wx9TmqCAIZNP0FEUxOteO6xo/+nL0TqIG1TAgVlsp2IDUZpl4CPTJ1NWmBBBhaSazQKXoffJV8T3T6QSbZ8mwyVFVFZnRoxmt1ZqsyOX7MEI31hhMYUbTWQXszed4H3BODKO6vqdLbsoiYZlRVaUwPZOB1hBXp1IEjgqC31utCaOzt4UIeW7T+0/DjnTeaa0TI2jLCNhsarpO0G6QM87mOZmaJIlOxmZTS4xRkvLkSTecWUsxn8n3nkUgUNcbeb5Pub2Zoek6sjwxJ6utA/Wga63bjqYW89beBTabmrYR6vHwPGtlmFuWBcELcNm0LXVdM5+WLFdreu9TUy7ZuDZTuBRRWqgM53rKLCfipfbWkGHRXliFSgl7lqwgMxneeXznsEYG1Crtg8bYkTn4cR8fu7G9c/ce+4uFGENpS1Yo4U47z3Q6I/gcH9yIemRakeeW3EYIYsKkU35X7OUQza00qs63qXmUL8AlWoHVluAjk6pkUpX0nRddatfRdi3KKIxVaC30stBLk9P3Pd57yjxPmUwN07zC9Y7e9DRdI4hhLvmsMchrFnmRNFtifuJ8T5Zn6MxQBEuuLFVeYApFZi3r9RpPchtEskyjyQlqILGELXUuFWgDVmG0FW2FlymtUzFljml8P3yhGmUVdb3GamlIijyj956syEReNeTCZiJib5qGPLe4the796Kg78RKvshyMqOENz+YbBmF1oxTob7rybIMk1vqTU1M9urWGAIBHyLVZCKRMnlO3XVS1Kiek5NjFvv72KSv1loznUzxfk30gSLLMchkMDjZ1GbFTOhDPmyLBy+Hx3qzwRhNUZW0yz65sUW0jzT1BpQhyzNU2miCD+zv7TObTTk8OMd8fojWpZxvvcO5Hhc6Vusld4/ucev2Lbq4QWc6bbAK5xItOIqhj0863L73WBXIlEWjuXbxKo/ceEyoqlFct7umw3UShRWCbA55USQNuB6LIthOxAf6tRoceYcbGsYN1gyFYGrW8jxDqxrvelbLJYcXzgl12wq93TlHcIFmI3FQ9+7c5JU33mZSlNiqpG06cQVVW8qfGjq+AaVI9FMfPK4NHB/VFHnJtJoCina9Se60msY5+q7BO8frd++D8vSupXExudqJuU5Mh3DUkSNryZqW3/vG7/LTn/2Ul156CZtMFULKN54aw9WLl8YipiwL/urbf8UnP/k8ZZlx68Nf4FzPW2+9xeUbN9DG7ByoW1MZxtJLYkh2aZDbxw4tMiGMY1bqQ88NKbZlQHZiMvca0NGhAA6JfWBtlpD7VHwRx4zUbe7ndte2NuMPfv93+cLJkqMHx7zz3i1uHa3YO3+FfP+cMF2MFc2S64XBoKQJHNFbnSIwhqJPjyW+RF1hEsJmxj07GE2xPzurn4ug0iTeB0evNVk15eqV8xzMC+7f/og8M+xWmjHI7xoKMYn/jQweyNLXRpF7aJXW/tDcb+mW2pikLU0a3BjHgcTu11aW5WALy2JvzvHqrpgMpbV96/ZttLpEmWm09onJk3F8/0jeawwSNeE8vZcBy1F9xMmDB2LmV04oyylNvaFp1uNAarVegpJoIHEZLqgmE/b393HuNipI4VRvaik+OolGcp2jrMrUCHe8/4tfCG06BMkmVhB8PyIfVVXAgyXOC0IdfBA3Sx94/PHH+ejDj2gGH4qmZjoteOfd97hw4Tynp2vOn7/Ek088y1//9Xep1yJv+fGLL/H8859gvW4ocxmqKq3Qacgy/O/k+JgXf/gDfv23fisxeRw2t3ztN36bP7l7j81yKRFRg646bpvc4Ldrbkh/jmwRssBuUztQTBk7lYENwU4M0PB322Y6jA0aQ2OVTMviDq5PCqvZ7nfDIC+tK6XHZw6cjl34c3AwHumsqfC1ifk0FPu9A1wgzwsa19K2HVVZpI8x7EJDjEUctWQ+yNkzIIRaqYTI6bE53l6p8VYb/2DLEFHjlR7//Jea3Z1vZcew7ldRw/9d/75twLcSiofRdlFoaJra8eMfvsA777zNpz/9ab70a19gUlV88ctf5vHHH+eHL3yPn736suhdkZx378TAc9C3j5niD+mI2envd3PHd7/HEIM03ckpnQGlJelcx3Mv7UVjhF4Q6mfYGuMpLb4aIxV62O9JHkdpYKe1SXWVxxrDwcEB+3ORQ7393ju89OLLLBYHfOKZx7l88TLL1Sl37t2UM8OkZj69X63V2NiCILh5kdM7R+h8SsKQ9dv3Use2fSt+I0pTVRNcaOlDJsaVewWPzW4QQqRtOh4c3efO7TtS57Qdq+gELOlFfhAReZpKUYJ9L5Kz3Ao7zQwMgygu/aHvR/ftwWPH+5QX6wN5Jpm1MV0nn4TNPsiekJcFxmhJ6dA6ZSEHJpMKRSTLM5pOdK15UUhDawxFWaKipu06lBW5o/EBY6SRatuWPM9SRq5IMOazOQeHC/m8rdQwamBXhG3qhAxWo/Q+WSamrcElba+WeiPFNZZZgdIK7wKbek3TdiP70BjFZFKKoRwRm8sgLDOGvuuE1ZiGcpFAmbJzt7VfLl4/vme1XiXWmPhMDF4T0rD2yT1azvm+93QpSWFTdzSdnHnL9QafopD25ntJRirDeNFUW3ocm80qaZ9z1mtpvEMQA0+SXCmzVjyGXEtRFBSlsPKaxo1DbqUBH1OercGaLKU2yF6RZ+LG3EUw1o4MiRBC8qP4eI+P3dgGH1mt1jTNhuPjY4qyJM8z6iblYVWZTNCD3OEKcXUVaq4dQ6s3m5oY2oTAyYbfdwHXy4ZYlSVZ5rA2CGddW1TSlMYQxZQp05QUoCEvcqazCYcHC3zvOTk9pe+lSZrvzcgzS4wKa2y6uMLzdn0/GoqodIg0TYM2gtYZI66z3vXocXeF4Bwmy5Ip0gzX96IPBsq8QAcIKlJ3TdrkktmRsWTGjoggdLje4XyDybToVb1oCbW29E5uPJ0ZZtlMKCi9F8vxdND3vcd6QYR9CGzqDUob9mYznG4ITnRQWdogjFb0MSa9ayDPhRoXEfH9bL5Hva7pO4fNLMoafBfwMaIR/UWTbL+1kemTMTkhCsIwmc5SALhLbnCyMZRFKXlfxmKVWK4779F4tPI0ITAtJ8xmc1bLlaD6LtApjwlQlBXzubgLixW+3Mht1xGQSZDVQsu4dPEyF85fwFiLD2LGFROy03ee1nf84sMPWdVLOtcQtESh6JiCR5KLojaWGEBb0kTQYqPi3OKQGzceZTqZYk1Ol/KSiZ4Ytj+f5RllWcqQIGV2DW6eu1opaVqTCZhzstaS8UhU24JtCPNWwPPPP0f/9cjNj+5y5fIhTz/7DK5vRiqT651cv66nLApuXL/Mj198iWK/ZDqdsFqe0ncuebMJQmGUSVpfoc73bS2FY4isfU/bt+RZQVlOOHfunKxqJxFgRitmuUWXuYSbR0fvxJwst/nWRM5IA+VjwBrLvbsf8X/5L//P/P4f/AF/9+/8h3x48wMOFgtee/VnTKoKFeHxR68DsF6v+d73v8df//W3efrpT/DUU09zsFhQTSoWiwXPPfccyth0X4edvMNtoXOWfrzN0hxQ9LGwHhETNRYq44BqyA4emlq11a+NBeeuSVVUKQ5BCvSQ8oud60dX7IcfSin2FgvsdE+0+yFH5yesYkbvI1kxEf2iBWN90l+bVLin4js1tmFwW017BikaRJxr5fDEp8/dh50onSGLU2Qiw0EWXcZeNZPs2Ah/+Id/wLn9+Rk9pFEmUaO3ZlGjAVRCBGNqdEkRJUOhOSAmMcq+ZhI1T/YvPVLdBnqyUhJBN5/JVP7ShQu8+8FtAi5lQAfu3L3LIzeuU04yMqPwWqhUpyfHo2kHwHK1ZDqbQt9x+72bI0NfKZHHSIMu+2ZVFVSlRWnJhM4ymVB7l3NyfEpmc9q6wRgZvgUfMfkwrBJ3zBADaEOIYdQ5WZOhjKb1YmZ4cnLCdFqQWyn8fBpwHT845ujuEY8/Jo3t1jTMszxd8b7/gMcef5zlyQOChzyr+PDDj6jKPZarY378kzs89vgNDhazZDea2CMEVIgEBHnRWvH+e+9y8eeXeO6Tn5KmwDn25nN+82/+Hv/qj/9pMlAbdATDPSMGhn1waTakMUP8lYqiw1Ps7IWks294jTg2u+w0wHEcNqU1EAcTN5cyYUWKMRADBk1CHCJfhqp1+NcU4baLMA/98/b5aTCTqIO79ymIzMSniDsi1JsNCsVkMuX0dElZFqnJk/eq04tHJUPjUT9sJD5OhpojDDkOPofHMGs704juDJb07ma0syftNrC7jdnZ5/zy42Eqc9zRuP/qnwnjZ1Lp333Xce/uHb71rW/xwYcf8dWvfJlHblzn/KVL/M7v/QHXH7nB9777HU5PTsdzsu86oWoanQAM9Sua2u01iMOgAvmeBkaIfHcBwtZCb9DKqig5SEpJbPtWkpKc2ncA/2E9GKNH9oFSQ+RNwA9nh00D3GSYatIeqHPDuXP7LA4+y2OPPsLbb7/DSz/+CUVV8uhjj/D4I09TNyecnh6z3mywpSHLjKCco1Ql3aNG6O9kETyUlSRRhDhk/QoLUmnoncJYTd/XxKgp8wllXmKMZqIrJsVVLl+8xGaz5ujoHg8ePODBqcQGXbx4nqyQ6yF7nMM5z2xW4FxauzrQ6yFtpKRNbMut6dlwLcUMS2WZnA8h0vYO13t8DGTaoK2YURV5Jsy0lHEegscnH4XgBdl3zlH3bRo+DuZaW/26Ss11XdcjC08G35H53pTpdEoc6mEv4I82wp7cPTfVjkheJSQ/yyzRi3bb9cnscFKlnGZo21Z6nSTByIt8NA3VytA1NSpGqulkjPnr2g7n+gR6yPqZT2ZMJxOikhooep+Mbj1WafJpRdM09L2TWrIJLNcrqukMayXyKARom17OpxBYLmua3kt2b4CqnJAZ0YfPZlO6rhkHb3me0XVrQhRqtfeeel2nQYanrAqyskz9nSZEjTFgrcI5YTcx7lfbBBBrDJmx5LZkvapp2l5qMKMwEXyipfcuDVLQv7yp/XseH7ux7b0TznaWUdc1Lki+0Ww2xfU9p0vhd0+mJUVVEXyGIoqmUYnTYO89WZZTTVQqPp24eDlQKkPrDG1KereS5tJCNBqftKNZnrKaMkXTCgVCGU1WFuRVjioCGHEnNtZiS0NVlaMWwYScqMQ5TYMgQ4WlLEuCF0fmMstTzIScnpvNGmNzrLasN2tcFyiLUgyoYsRm4uhcty3eeUyeQfTkMWOzTpmGKtKpFpUnRz1twYiLKzHQ1pKzJbrkiEnapa4TWmA2qQQWRpye2y6FU4eQaNsh5We1GJOx2awpsoxms6HIstRcWay2WJsLRSN0Yo9OpE6fsU8ZWVtthBTiUWW44HBeYpTavsFGS9f3iTqkxylP1zUSsl0UVNVEFnzKdjXK0DnZxIiw3iypygmTYkLbtlhtMTYjy3NW6zVlJqeJc5HghkMnQ5mIDhFjEtUzaqzKuHTxChcvXBEzA6RoCd4RgKZvOdmccuv2Te7cv4u2SrxGlCaiRTOuDWDQaNpawq3LoqDIS8q85PqlqxwenCOzhWi4o8L3vWh6TBgnUnlRpIza7MzmfnaqPYIH6cZXI1WXgc43HsLb5gzg4sWLfOMbn+L733+Bz33xi3TO0TuZYJZFRdcHVutVMs7RPPnkE8S+YX3/iNi1FK6jMoZMW4l3SC6zWmWC2miNpxi1VSo5bxtj6NqWOx+8w95sj089/zybzQbnemBAqHMhZEWh8BhjeHD/iKDF/bZtRTOi8ozZbILR8Gd/+sdcu36dT3/605weP6DMNfiWEBRXr1wB4J/90X/Lf/UP/0vyPGc+nTGf7xG8Y1JVyQU9TU5dT13XZKXfXuUxs3CnYGWbHSmF9VBIb82zBvrx8P2FATFEDTLbdCjtPuRAdE7uy6IoOVkuybN8NH0bikmt7fY9cpZHaJTFmMh8b8HR8YaqmrJZdvTLFV5rcUrWA+Uq4KPZLrPUVProxlxehjihlImto0rxCTL48aOhTOKUKFGzhuCT43Uvh1++x4VzF+j6BpcVXLpyjcLuBIWOQulh6aqEemjQmi2ZVKQog3bWDyZI6IHwmKKhhqiVuP0sOwigQjTbA0XOWoOKLoXEi16xrjs++vAW169coKpkCnz58mVeff1dTpdLiY2KPevVhtlsQts2FFXBZr2iqkrqekPoJfJHGyUxSv2GLLNUVclkOmF5eop3gXVYJ1OTnmyIrQiBMhPtFknC4bwfLIilwPAxNf6iBdRE5os9nvzEk3yq89z+v/0T+gcboVgrcbJ/+513OX/hAteuX+P2nbsslytA0/UOVTes12vu33/AjevX6buO3/nt36RtW370w58wn0557bXXuXj+EK3A5AaFl4ZKDUh6wKiIip5XXnqRC5cvc/78eYgyCbly41Ge+/Tn+PlPXxrmvmPeujGGYBwq0d1ikEgW+d51Mqwahklxp9+MZwqYoWkbqf7D3ZhoLUYNzUrSHsqmLitEJZ3tsMfubrwDvjk0h2cSvR8uoRKLY8g6Z9tYD/8/FNwhOCbTSWKPOC5ePD/SMUe6d2JyDR2qMD/EMGig2fuE3A+//sypscNsGIrtLT55FmnefZz1FHg4/iaeaeJ28eGtWVMaQiTL/bjza9RDV2w7vEqUcSVDF1zkrbde4/atD/nMZz7LF77wefb3Fzz7yU9z4eIVXnnpZd5643XWqyVolaK0pGGTyC2V8rE5+7719j0qtmaISg0Oy2YccYaYGCU7QwtpcIefGb7TxAQbjKtQ4+BP9hdGL4qQInKiSo3n4OScZiGDSZ5QGeDC+UPOHSz45HPP8M677/H2G28RgSeffIRHrj7Jzds3afp10hhEGZqjxbk6RfrFCEpbtAq4wDgccyFgTEBlMoDoQ493A4tJUhO6rGI6mcs5Yy3WZhL3OJkwnc3Rt25yenLC6ckSW4iDsTV9WqeKpu1QURBEG6UZ7HyP6x15WdK1nejQfSTTFqXE4TgiSKaLYjbpgsTyoDRYNXozLOt+RIaV0hRVxbptR6aFCz5pneW7azYbnHMYbclzGaa3bTf6wRhjRKsbAnmRMZlOmEwnrFZrlquVuPQn75FhuGWtEfanSzVSFBbn4M6tdCbGRwhrKLOWum7oEmPUGkOeZyN1fVqWqUZUlPkkSTcUTSPeM23TkBmhNxd5zmI+Yz6d4byjbhuKMif6SG5ztAoShaQl1tEXnrKs6NqevMzRWYYPkTpITvGmafDO47wXKnMI5DajKiV2Ms/E8HZSVpikKvfO8eD+EXW9Yjqb4pyj7WqmexOKPMdaGSq3XUvfN2S6FM2z3UrnhlSSsizH2si7wRgP2q6n68W0SmmNTvnWvXPEuhaUNoIty3+vzOLhx8dubJ1zgggqmRpHH8jRPDg+pcjzhPZ48rIQi2qt6btGtDVOTES8c9hMzIp8cKyWQutyvRezn+TQS1QUeY4x4nrme+H2YzQ2s6zWa45PVtg8p5wWBCKdd+RGUU5Lqr0JMSTDliBGBD411Rqx+N6bzmhbmYpbY8SKOyK03VI0DU2KIqrKgug12mr6LqBT5uKg57Amw+qEeKFxBHSeMVWa4KT5BEEYSVpdl/jsVVWmhR0lqiR48nSA1PWGaBR5Lq5sxmRorDS5SmMyOV1750SXqhXTlAeFhvliDx0jIWWIFnlJWU5Zrlaj+zDAZrPB150YNvk0weo6mZBlKVvNpwZWSdMk5gAyINeZZP4WRU5dazZtw2q9AqWYzebkpmCz2mCrROPonOh6lZNcSCWDk5PTU6y1TGYz0IYHp6ecOzgUkXrvEsKlxtxiYwxlUTGfzplN5xwszkmzoExy5IY+dJysV9y5d4fj1ZLV5pTatdihoAlCLcpzS9O2BCe5npnNMQRyk7FXzbl0eInzh+cxOkPrHO8dXdfLZ7FGdBWJPpNl8j9xej7rzrs1LNnqg7Z5ejsHa6JwDpSoXd1aOk85PNznpz99ZaT0ZVnO4eE5ehe5ffsW6/WaECOPP/Y4uVF4Io9eucj9+/dQSswZuq5L5kKy6ct/a2IyYciyjDLLGMqCOJmxN5nx0Ucf8f777/LII49wctKikl6773pBAZW4fQavaOo1JycnDA6QWaZplGhfpmXOpWceo2sb+uURV69c4/HLzzPb2+P8pUs8+cwnAFifnjLRhueeeZYvfP7zABJBUJZixBDFzMlozenpKYv5Dm1lC2Y8RMvbmrhs0Yzdoik1f0NxF4aXU6Nj9JDBG4dom51C2oWeypRS0EUPUSfXancm7mn75vT4BnXS+2plOFmuKCd7lI0nS427z3NsVYq2z4U0qd82zj4GfPRbt89UiA2DCh2Hok+yTQJb3aMMOQSh8smmv8gNVw4u8vSTj1O3G/JyQdfWhKjEGWS4xnqnP1epMWWI61Gjbc2ON0uiqCcUXOnRnEaMVISGpmKU4vhsdzJOga211HWNNYoiM3TB7zQeikklERjGyDSdoPExcu/oPouDQ5xr6XtHZiwHBwtC33JyckTWK1zXUSQKWJbnWKvpnQz5tLJoLHlW0bg6FUFbTSnArJoIYyF96EByNSWMzUUkiJ7LiL7O9Z7T0wccr04IER599CqeW9w9XqFVjjEZJ6dLfvTjF/nSl77I3Tt3yKyh772YD/nI66+/wf7ejN45VqcnXLp8kQ8+OKFpNiid8crLr/DIjetcvHDIYl4wKS0RnyyHpcFFeZSGzWbNj154gd/+vd8TH43gUUQ+/+Wvsjw95sMP3scYhYo6UccVMWpMNHg9kGNTMR6FVTAwVUat4m77pnb+Lt2DerjP1DDYkK9XrmsqSIcsvaHd03F8rRC3aE4cKdNDM3SWcrvb8DKYoO1AxUrr5FS73VCyVMSG6IhIkzoYw3jvpfFJA5txnxgddxGttBfsGWW2rJOE9u4CsyOqPZ4x29Zy0H/K2vLjZ3r4nw/LMR42Topxex4Nze7uYHYnQfiXvzfUYNswvo6sJ4jBsVo5Xnjhu7z55pt8+jOf4XOf+wznL13iy1+Z8ej1G7zx+mu8/fZbNN1mbJKd80SlUv4rie0kjdAwDBsJ6GMsmN4OKNNeNNBLR1r6TgT57mPYm7UeDLsG+ZAH77cxbcNgOmmDBwnEqI2Oavx9SonZp0jtFNnejM995pM8+cRjvP/BB7z++uu8/vM3eeKpJ3js2tN0oebo5Ih6sxF6aSHU0qbtz+iv+94nNlGq06I02QPo0A37lTaoGGjakBiLFqMLtDYUWUFRTbhcFuwf7HN0dMSdO3dYbdacrmRgl+c5xaSg7VZURUlZSr3ZNi38f6j781jbsvy+D/usYQ9nuNObp3qv5q7urq5ms3pid1MURYriJMlSIlmUnQGW7SAIggBGbBgwjEQJ8keQBLABxwlgxMgA2IlMQRJJUyRbapE9d3V1dVXX3DXXq/fqTXc+w957Tfnjt/Y+575q2iUgCZADFOq9++499+xprd/v951IElNTmuFqOBcwRrJoi9LivUTImCwjtIVhbEbEJMaFoRVX5pAiykotbbTCkfDOQZB6XWdDTp0CSgtFWCsYjSYDlbyJMbMvNVVZDeeryEZOISYWyyUxBKqyQk5bELCsKERqkAyLVob641EtfkLZCVmh0aYcaOLB57hJJUhnmSOIgvdURSGuyoikR2LmHMELjdl1DaOqZjqZDEZUNscQpSjxpNpInuuoGhF8iynEL8aODLowdJ2ni56iLAhJZZf2yDxnFQMCROUs+K2tKVtbmxhr2JhOaduGtl1gtDAmmrYjJaEYV0XJzqntE+Zy4q1icdkINsaAzdph7x2+E8CjqEpKa3J8X6RrPc4HmmVL2zq6TpycO+fEWT+IH0jshJWqgFFZDP3Wx3n9S7kid53LTmsFPklDqpMmJZ954Yn5osPaksJqympEWZhBpM2yERe3TFclT9vruqAejbKLpUFrJ83qspNlSgvNLngn9INOHMCiknwj1wbu3dtnOq6pR4KullVJSJ7Ot6IzDZ2IqauKGMTwaWM8ZbZY4LuQU9FED1iYknFZElpHly33Y3bpwoCyapiOOu9QaIrKyoZuhEPuXCcxCQhFySqLD54YPFYbTBZa12VNaUd0rQjivQv4TlzajDYkouQF14lCR2xR5GZYCjGTLfLFTMBL0YYUe0ZbxlVNiEtiSrSuJeaFfpIjdtquZVyP8D5SWIOq60HraXQuiJXYlycUKsrCJDG6WrKAUzeYAxXlmCpKCHTsPMkFmcQZRec7WRCMweqKelQTQ8CFlvl8QakzNT0XkGUqWSwWZDhpcBguCos1BVtb21w4d4HpdCNH+CQqxCWw11m3XcutO7e4eesmSSei9uhC6FQhRKLPVMQkBkoKLedVGeqiZGfzFFcuXGYymkrTo6FzLct5c8Iyo8jmYdrkglytuRr3kSbrmrJc1aw25dWrL3b1ULznQkWbrOWRif61hx6U6WDOuVXK8M1vfofZbMliNuO73/kmf/1v/DUee+xxzmxtc3g4Y7a7i0kJbSImBVw2kJAFOGRDB8nb9EXBxsYGWo+kGcpap7LWPHL1Avv7eywOK6rsYFjVNXVdU1cV9XgsdOyqYjT6OSbTDabjCXVVsbW9xXgyZTweM93YYGNTtB3GWsbjqehFeupVbjr/1t/5HZ761JN85zvfXhlPWMt4ssHtW3cpK8ts0RJyQP262YqcxBVV9iMY61ocRv/Sak2bNhSWaUBENKLJXhXlOT5D9eepoqqF7rW5ORXTkUwRc84NEUcMg4weIc6/Muuq7u7tkpRma2PKlcuX+OB6xcsvvsrRwTF2WVPUgtyG3KilIEMTl8SxtX9v7Vb0QYUgtuSirSgKovO5gCRTRqURUMGzOan45Cce46knn+Q3f/Mv80d/8Ef85IWfsHAti/mCUT1dM7/K8VFxVS3qHqXKnUjMhj2922jnOlg0tMs2UzN7mr7IV/BxiIboC9j+WeqpYWUpa0VZVkynE3YPFyv6eIK93T0uXTgtcQjZEbwqLIvFIk/nLW0zG7Q8ly9d4uypLV5/9VWKwoojZ85WbJ0jBI/VmuV8TrNsBFUJITONjDinB/ldkp2oGU/GNLkAVHk9S9HnDD+JCEMptjY36Fw3OElvTqec/cIFds58yNe/8S2UUTmKJLG/v0/TNGxsTJlOpnxw80NZl0Pggw9ucuazn2GxWEJV0bVSkD355Kf44MZtOlfwwosv8Vu/8Vc4Op4xHm+jU7/GZPOl5KV504qbN97jlRd+zGef/qKc18yi+vxXvsbd3/9HuLYZBj7K9Gi9QSlBp1UyA1qWUlq7Z1bP4YlHdkBj5ZkLg4HeqsPrc9B7dknK0Vypf+QHt2FBlP16Y5afx17uMXyOjLKtseuH4QP56SemIb+6/9xiPiX69c51knCQUk5q0CSb66DeDTwf39CoxyRFulIQsvQpr+3rXa1iIKGs1g8yvft+rDnH4/Q+DT2tMvXXIRvbrGi6KxhWr0wYTgwaBlZR3+TfP6BQ6r61rH9HkTSpPCzwXcPuvdt8+1vf4v133+eLX/o8Dz50lUc++QmuPfIwu7v3+NGzz/D66y9laq9cPx8CRZYo9AwRnRvvnkKqh202nWg+h0VOpSEjWDwPJFJvleNOHvKsDxPEO4MYCb0ZVX+swmvPP6mHaxZDIGmJjemvV+/R0DfoSsHGxpQnPvEo165e4ebND3nrzXd5953rXH3oGucuXOZI77O3f5t22WEMWeol2sZB9pXIiSD94CTIsK7ozazkeIw2BCKdbwnaEeMcrS2LtqC0IwprsYXl7PlznDp9Rgym5nOapuHevXss5gu8c9hNS1dKT7BcttRZipRSkv/H3lwqCMiQY2Bigs3NKSEkMf5U2Tw2iLaXCMrIIL9tPVpHbEwDJVUuo7BWKmvEXEiLyVB/fxpj2NyQfam0GqsLYf3koa/vPLPFnBBEFpX6YZWWhyu4IDIqrSiKMOj5g4+ZnWhYNB3OOSZVPdTLVV0Msrv+GuvRhKqStcBYgwpKQAcnudjGGMYbG5nBZvMQp6PtGokDS5HkM4psFEUpkgW0OFg771guO7rO47wcmwuRpJTEMmmD1jYPU0QaePbUWba2NrHG4qNjvphJLZ/7rMKKRnw0GuWdJg4xld5L7JMxlsJaxqOxDHnEm5VA7IXxwg7TkuriOpGltJ3Dd54UEqOqwupA6514FHSZIh1ilr+JTtcnL5r7j/n6+K7ImVblXUArQ0wQtDicdktHl+mITdPhfaS0isJqRqOS8ajG+4APntKUUkS0LUoZNjZGKF1J9mYU+D5YyaHUlkx7FpF28JJFpozKDbLw7wsjpksySIso7/FKHJpTlIXUaMmMDDlixiAW0qM6hzaj6NoWbUsKWzEaTzg+npOcOC13mdaZsrDe50mZKWQRmE4mLBYLFm0n49ecT9XfzDHJYqy0weR8P+cUzbKlKGqMtoP7oM6h2CLkDnl60hBMoEiRGFXW6FUSeaNyrq5fbbJd11GWsGyXmQIit+d8NhcDqHIiC6/PNCm0hH/nyUkMORycfkopTfVi4ajqETEJxcgoQSsjUQpAHylsyentHWl0jWh1lVGrYimbDmkl7rLey89GH/A+YFw5FCsxRuqyIoR+GgZVVXH2zBl2trfY2T6NUjZv4BkFiBI31bQtu3v3uHv3Nl1oISbqSUXnW3noUDTzFmuMoAhokobKWKaTKZfOXWBrYxOrS6JEWeJ8S9eK02pZ1UJFL8QETbSJq4l8pE+eiHmDVCcQXNZifnrK3Lr+NvQuouQqLTt1xp6apmJ25FOEIMwBozSukwbh+ed+xOzoiIuXL/P3/t6/wSsvvEg1EmMDm9HllLM+R3VNXdUUVYnOtJ3CijanGtWMRjVlWTKabmFtNdCsq6qiHo+oRmOMEcq75BtXueBYRdCsv9aRh5/16tGI/ns2d3Z44qnP8JOXX+K//C//C/6d//m/l83JprTNdUIQbe3x8XFG8NbpeD0d7SQ7b71YW32+jAhl846+uo1hFTUy5H2uANaPGK9oJeySznVrBbuYaKy7FK67XPb5uX2zpoHdu3e48f518ImvfvEpPvfUNb7wuSf57nee4ScvvkDTRVQxxthxpjHGnI0ZiSoKSgLi5hhkcyIpeX6VQhWaqihpFvMBRZImyzGqRjx49TJ/5a/8MiF4nv75z/LlrzzN8viQf/HPv04bI7PZjNOnpisEde2yqqFhUCs3oj6ruY+GIQ0IX+8Q31MN+4mw79qB7qiGxjbmIkC+t65rUkpUVcVkMmX3YCHNVL5qi+WCqqzQRoaOzgmN/ej4aBU/l6fRPngODxsO9u7le0N0Q0qJL8S5S+c5OjpkfnCIa4XxUNU1IcZMj+2n7QwGKikFdCkND0bTNE1OSJUGyRpD9OL9MJ/PsbYQ+Y+2zGcLFss93n//fYxO+OgIiBQmhcg777zDQw8/zM2bN2VAFWUoEWNkNm+4e2ePTz7+GLv3Djh//gKj0YjrNz4UzVwMfPPb3+ErX3qaxaJlYzLODV880fKJXjDx2qsvcu78RS5duQLRAZ6tnR2+/NW/wJ/98z+hV5urNTZEr22LUZ2gHw8NxAmd7f2vHuXv82TXY4BWP9BrOnuKcuoR4H5tJesuBzfc+6m364vPil0z3LsDu6D/WhyYMis9faYsoFFK9qthONPHhihLiH7VCOb9cH1NUkRJlIjS9fTNrQw7xQsiqfvQC9Ub3azpW9abzBNd5hrtWvfo/H3n9L51DVbDv/X1bO0ynmhs+7dI/XMv4xJSVMOQUSlDCuCS45133ub27Q/51Kc+yRe+9Hl2tnc4d/ESv/5bv83jn3yU7337W9y7uzv8rpgpusrK+R2Ixr1L96ChXZ2DlB2NxWwvf460GrillMTIaED14/BnrfUK1e+7yPvW/HVzaZWnD31msQ9e6r4M8hweHHLm1JmVqWQSLe7mdML2E5/gE48/ztvvvM9PXnmF119/g0996lOcP3OV2eKQ+fyARBCGRK4vevlVyhOPVQzR6toJtVpquRg8IYVhqFZVNc572lZMXMfjCVUxoqgqihyZ6b1na2ub9957j+OjI5rsr7O1PaWqCpwTfWhMieVyicLkDHBPXVUkI02uUpq2c9l5PdGGkOukhDFyT7og0pK285AURUZJdW+6qvNQSPe1dB815Ydz2stR7HhC9J4AdCmikqKsRTLVLFtsH5CqjPQQzslAohDkdDqdSiRc26Iyu7BbLGh9kHxXYwg5o7c3p+o18r1BklbgY0e7kNjTFGBSjzBWzlFRSiPZtstsqijXtTfSVUlR2hJUxFgYZWbmsutovGPZtgLuuEjnAyiJHxPfuhbnItPJRMCFUqSXZC1w51sOjw4prGE6nTDaHBF8RzSaohDwMIaIb1qM0UzHY2GdKU1ti+wipIhaKOIhRIy18m9ZLtI5z+xoH2sLibGyBbYsJP9YS8NtNSy6Lg8bMlhSSbpLTCsDt4/z+tiNbVnXdN6jlQQWl0nQJsktLfJEPtEuFszygzWZ1LRNQ+e6YfrXOo8PCaUtrWtYNh5rwso8JCpxeEwJF2QKoaxMMuuyoOsSBqisQRtLZU2e3omRRGEKeZjwObpGTHmKohAXSu+xRQlGs3Qdy65jVGWXMqVACU9+f/+A5XKJtprRSNG14tKLIRfuVvQGeTo+WyykqWhbyqKkKmqcd4LoGkXbtVhVspgtmEymlEVJSJbgI23XYIzoGEpdEH0QRFTnhlFbQGMoSF5ulLooh9iYlMQVWWU3V2vFREfooXEo2lzo6HyHD5Gmk4zFejQSA6yuI+TF0igN0Q6UphgTLkQsGmMryrLANS2t61BG9FQqKUEoRKmFNSXGCsqrk6YwxUppmvVwIdN5vM+/1xYYn3CuJUTPZDTCec/1O9dJJM6cPseliw/w4c1bPP74BSbjES7o1QZKIgbP8dERe3t7dK5l3s6YtwsCnrKQxm85W9K0x1RVjU4Kqwy1LbIrXaCux1w5f4Vzp88RXO/mq5kvlsOGZYsKbUTPUZblMOHuaapCAwmDy6dScgVPGl+kE8XZuiGIFHQrinJPw6NHE5QiRp2b+bx5GUGuvHc8+NATXLh4KTdWkb/6d/5V/sa//q/JwvKzHvA1c5M/79//W77w/9HX/Y0wJJbtkrIuefvZN2iWS8Zj0cl0XlzStRH5gJhonfjRoSldL8q0Url2XCvIco0X48p4Kddk2VwiN59rCHBPuY1xhUZp1VvLynfJv6U8cCo/gnDwEcRKKOiz40Nm+7uc+dRn+Nf/+3+Xw6MD/oN/7z/k3JnT/PZv/TbP/+THvPz6G2i7EFMXpWWz6FGrjGBlQiJR9/Q8uRc7FzhoZoJmBZnE6pyH/Ou/9itMJmP+yq//OkeHR8yOD1kuG1565TUODg5l+u0ceqBhszrmHo3qi9oTyAbDvZwSlGUl2tjeJbpvFrTQ6xdpluvvlAs3I9tNLhJjjEzGfSxUEulIDCht6fOdOue4fv069ahEa9jc3GQyrbl3OCN6j9IGW5S0nWN75zTdYs7u7h7KSBah1UKRdtFx8+ZNLl+6xLnTZ3jv3XdEFmE1MRjJHAdZr0uRevQU+Zgk9iLkiT+9pllJwVmPBN3tTZWszpQ7rdmYTvjUJx7BdR1vvX8rK5XlBN784AMunD0LEa5cvsR7718Xl1+luXnjFtYYtrZPc+/eHcqjOW3bcffubba3T3F8sM+9W3d44rEnKOwpJmPRtKnoVsMgIkaJpCd2LT/50TNsnzrFeDKBEFAxcO2hR/jkk0/xygvPZX+ArJ/WoIOCrF1La03iwO0fmp/817jyeFIkYRcMZk7DqGR4dk48N1m3Jk1LRo1jWsX+9N92X2PdP/gpv6cgy/I+On88PZyQzBsIaXD17vmsKtNBFRq0sLJifh4iortUGb2LzovJlRra8LxPrBpGYzRRC5MsDQcojIuYm5iUnfVjYqDrpf6z5mMLYaVlHtDtdUhaM0QRnTxHJ6U0q+Z+denIDcbAPPrIHte/h14NIGSVJSUnFUNSLOYdP/rRD3nnnbd4+gtf4NOf/jQKuPzAw/ytv/swL73wPD969hnm8zlKiwFm6jzGRAqtc6xajl9TOrMI9Ur+M2hj+1zhnjLPatDW05NR2dekP748IstxUCfW7bh2Dw1HpwQYUDlSak2TbbXi9JnTkqIxJECp4Z6JRIw1PP74w1y+fJF/+I9+j+9/5wdsnz7Fg488yIWLjxH9ktt3bgmwUep8nCv5jQ9+YL1471HZEKmnRMec36wLqSEbt0Qj3jI6GY4XLWG0SV2NKW2N0RpbjrBlgdaKe/fucefWbRaLBTFGRqMRZalwXUDZLDmy4lcjuk5PRxrMwGaLedafBok6ysMDMWKLgwFkyL1AXY5zlqzJ11f2XR9CNqzyQkOPCRV7OQ6D4WBMCZ/9KJSRGJ6xFlZjz7bpfMwxYnlAXEhjWdUVigKxDwxoL2yyUd1H9MgaI41tKUMFLf1LiB5jS4kYalsBpGwhObTTmrKUdJVIYNm6gS7ioxfX6yS0ZpUUzksSTHCJrpP6svHCTPRR0OSUwRBTVdnbIlEVBRtnJ/J5MxMuJTEwbNsFPrSMSkNZFYxqiy0MwZRUSjwlsBatNNPphhi5ZRZS0zY419J2DaByjJKjnowg6jzEkPzzMkdeVhkAkr4koFKkMOKNURYVy8VSHKu1YjKdUpWF9J6uzWynj/f62I1tPappmmZYgLUiUyk0VVUyylmrhRbn4+VSnLN8FLONlS12YOkaefh8oGsDpZWM0qZpciEpDmHz5QwfPKOpiJJra4lVTYFmbEtCipRFgXMddVUzHo2kwFdaClBjpCAKIWsfC7pOtMIpRZyTJs8Yy+Z0kvVvKZtzeJqmpahKlssWYwvKssJFMQsKefIT82K3XC6pq5qyKCVMOPPrtREa83F3nAObLTEEookDjVQeBEUh/C3JZhTrFryPqCQoXMx2hyY3MLJhRSKgdTksYm0rmkySFH7ei27Aew8aqqI3imop88RTZwpJyPSssqroug6d1GCVrmo96ODESMXgU55UmZLoPToJZUwbsUS31oIPBBeyxoWcoSuLqw+BsrSSCYZiNK6ZzeYsl0uIglrXk5rj4xn39ve5ePFBjK3wAZadI0VxLvRBPmN0kb3dPXb371GOSho3xwWXdR9pmDSFztG6yHg0ZlSK9rq0BSM75pFHHmNnZ1t00Ai9ZdG0MonKrsdVJfrO3uluRfHqp6ViciEawzW95zpiuDYBP6lT0oOOgRxeH7L5yICipNUUv0dBXA4s995Tj8Z86ctfFov8rI3pKTv///raPnWac+fOZSmDMCjGkwnOdeIVGSUDeWtrC6UOhp8brGeGHmutoL2vf5bvSytTqKFeUZl8Z4YojVVhIxrXQUMdRTDnnBu0VqmnFJ0wjzqZhbhq+sRoCxWJwdHMZ9y4fp0bH9wAFK7zAzLxuZ//PPtHM44XC2JKHB0eorUZGjqZeQSihsm4lpghIk2zzPqrSGEKzp46zWKx4OBgny984Qvcvn2XKw9coixr3rt+g5+88BK+bfjDP/46P3rmGaHjxoBzjeRvn0CtpOlcx3BPDCrSMJ1Z+7eYkVudGR3ybz21bYUx5fxg3WfdCsVqY2NThqHOMaqrgUoqcyhhP4wnE+raErzn+PhYqPRLz9HREZs7m0KXcp5QGY4XC9Gd54zc4D3KaAKJqrTcvPEh040JtiowpTgZh2UguiRmKjYx3ZiitGKxWGCtZX40z/EVIUsqVsYifUav0AYDWinG4zGz+YKQxABkdnzMZCwRDI1bNUOtc7z88is89OCDnJ5OeO/99+U0KzE/nEwm3Ll7l7ZtmLqCelTx27/9W+zt7fHCC69QFAUvvvwaly7/KsfzhuiXED3j8Ujo1/m+TVGKor17d3jume/x5b/wyxRak6JHacXPPf0Fbl5/l4Pd3YF9ILR8nU1EMqNqYCucfPZWCGpPpcwZknlIsq6xSvc9Mys2zNqbZo18n4m63lgPz//Jd8y35Fo0UU80yBrLFfqZ79GY1njLmR2itOTbW8k/Dd7TeZ/pfZqHH36Ezc0tumXL2++8wfHsQJrdbB5GkpqiPw86KhlkpvVzIAYX/d4h4OKK7bMuYl/pavOx9X+/fzy5Rt9d9agrVHqd0ts3xyeu131vtWIbrb46nE/VU8GDDKm0RicNMXD33l2+/vWv88Ybb/KFL36eBx+8hrWWz3/pyzz0yKN8/3vf4a2fvkGMbsgcdtGTkjizar02OOsR/n4gkNdcldbkFqyTSuLwcQdzsXVtd+rX7bXzo7NBXtY7q7VzpLWWqLV08uz0l6hf1xIKrSzGqEy7FrmRUvCv/NW/xn/6f/rPODqecfPDDzl34TyPPfIoVy9/gjt3rzNb7EICayXyJRGxtlgVG0oNv1PyhTOaqaQYM7qP5ZFhTVSeECN+sc+iXTCqJrm+nlCPCk6dPsXm1gaXL13k+GjGwcEhd+/e5XjmGY8LilqaRTMtZfCZUwcSMB6PxRm5zXKjIM94zLUZg3eN3CiT8QiFoq7Ex8coWSujFhZmTFJHuyT07p7m3e/tKSVpqopKZHVRDE+9c5LSYe2Qj5yCREYaranKMtfE4jui85DWWkNRlYxGI4nb67pBbwqr/F6ydMv5jqR0RrChqmpGdUVVVwKIzef5egiTwlorA2alBejJjvwmg1OLZknXRbreMLYHTRRoa6irSuqA+YL58RINTKdTdnaEQTmfi9lnShJFVBSWcXaHVgpsobE56mdjYyzD3GU7uEqnJOARgC0sWivGtqLrJIKoKgU4aduGrg25T1SURcnm5iYQCdmdWWlNqS3YROs6KluwuTnOxlyG0URSOJx3ohNuGj7u62M3tl0nelfXiX6ttEVe3CLHR8cDnWEymaCtIFkheFIX6DpPVYkLWszZF8YYkg8YEm3bCB1HqawJMMNArdCWQls2xmM2N8YUyuC2tjg8Pmb/8EAyjoh0zZxZ8pRVQVRgEUezSV2jjNBclTGSA+tlGhKip2sdMwTmTyFkhzDD9tYmdVWIi6/3At3HRGmFKx98oFksxbBnY5ugUtZvqcFsqV/YvO/y5iM0mPliJuYjBEL0hBAoS0Ndj5jPF8SIcPEVOcZFHtCmlfiILiaSTtRFNdClevG2UFN7PYDPC5lMkG3WpbRtg67Goud1QaJVtMV5JxQ0pbBWY/I5bFyDz6ZK6xSutmlJOcNwMpnIhC2IrjakQFKJLnSEzlNVJSHIJi+B3BpjS3TWiFhb0LQdLvgs+FegI5HA1s4pPvvZzzM7ELrk+QsXmC+W+FgM0yqhDx5ilOK4OYIisvRzfOywhWxEMQRchM3NLepyhMqh2oqITonLl6+xvX2GuqrpecQ+BIwRmrjLjs4bGxtMJuO8iea80AE9X8X5pNy899PaFFfoOScKhL4Y6gs6tdYgr8x19DrCEZIYg7Fy5nXeU9VVPs+JoqipR5NBe/L/q9f9dLj7/63Xxa1/7UQsTP/1lNjb2xMn5I0NyrJi5/Rp6nE9FCjjyUSYA8B8fiwbT44TkDdRQ0E1SKz669FTG1EniuyU1WqJQY41RKKotGoYVwi6yg1soE9rNdkZWdaxNNDgelri/UjTUDyuHXuPHPkQuP7+df69f+ffz5sD3L59m84H5s2CzjsevHaNt956i5RR16TTgH4abXj44Uf4t//tv8cLLzzPU099ht/7vd/nhz98FhQ413J4uM+v/uqv8PWvf53D/T0ee+QRvvmnf8atO3ep6xGz4zkhdDjvCL4jBUfTyADz/ulA6img/QlfOyYGJl/fCKya+RVtvHeUytr+KOjHyrFaKGsDUwGG+IWUxFRMKxmwCegmxiPBJzam28OVP3P2As8+/yL7Bwdsn9rOBofgvKaoaja3dzja28U7MXoJXXY0duKAKqwMz6lTp2RImiQmazIZ46PnaDYbrnfbOYKSwWFv+NLff6J3FGqrMEQStpC9x/URXFpoYlfKiv2jluu39ghRERD98d7hHp+cPEFRWjamY+bLVtyuk6LtPK+8/hqPPPyQSGVmC65cusi923dxbUNVWd5+6y1effUKn3j8QUajEYYgrvl5CCkz1ZRJ4JH33nuHC29d4dHHn8jgm6MsLV/9pV/hT/7r36Nz7cAC0dlXY/C77h0zh/t9xZS4f9VIucDtG4dV47HKUV0fFA1r62BYlIZYrv7eWl+nf9azOFBM+73uvg81yA16k6aeSpzlC7JMJ0B068ZmI8tOaoKmbfnSk5/h9JmzfPr25/jjf/r73Lt9Z2iw+vPQawmVTtnVPOSILDHmC4TsCpyGaLb+ePpZU1w/njXn4/W1bv3Pcn7VKku9H6KefJTvYxtlqc0wJ1QnGuphCJDrktVpXm+6+xg1qQ8TibfefIMb12/wxCef4PNffJpz589y6uwZ/vKv/yaXLj7P88/9iOPjI7lSOSc1hJQHuas9TwZlvdFWf476dVytfcZ+3+qHGinvVfnzZmlEf1+nXD/0yG5CNPXrLo/SMOVjVeuDFYUPfeMphnMqr9d9XpNk70amGyN+53f+Fnv7+3Rdw2K55Ma77/Dma69y9aFLXL3yMM5HFssjmnaWWXeF0J+tlti3IE2ZMYaQP2cfR2SNDGtjiEQVMtiSCKnDu47lckFdjWiaJZsbm1T1iFKV1FXNdDrl9OnTnD59it29u8xmxyxmDUZr2mafqioZT8bi3J/XAq0VygqCXNYlwYvTcNOlYYg2qushEsb1Tag2RM+QkWutheSZN0tC1ku3PieLWAGQfPCEoaYVreaiEbp19jLDdd3AjDG6d01RRCfSNxfCUM9UuqbSJdYIaNRn7fZDypSzXruuzWkSgRBbbFlQFiV1VVIYnQ1l5RWCaJ+9j3Rtk0GIPPRUMkxPeUro0XmIE/FZl2xtgS1LXEa5l8uO2WzJxnSTS+cvsWyXHM+PMUYzXywyrTexsT2hLku0kfzjlALWakaFNMjjuhSjrBAJQQYI9OP9LKfyPhBUQFtFkUpcCLlX0NhCKMymsAMlXyuDsYpJUeU1WAAZFyPWaMbTEWVdSXrOaIPD4znLRpJWbFXycV8fu7FtmiZvuELl2Nra4uzZs7Ttkt17uxwdHnPczZgvl9RlSWGMUAfyBCkBi+USYKAO98jLsvHYIlDXFcaUYg5kJ2K9FEX8nGJkOp1QKkMcJaaTMeO6ZLZYyLSGxPFsxrIFW5VYb+TBUIpSm2y4JNC5teIsbOsRlp6OIIhBDJ7CTkS0bE1eMBoa32aNi1qhrEDoPKZ3aFOIAQhCV/bBi6OnV4zqOqOhaXBqSylkK3Kd8zSNaG1NED2A85BdMm1Z0EWH0omqEodOl/PCYpQHqDc+iD01SYvJjWyQKjdiQv8I2RSrj9kwxpJCH6QsxYu2BoKEgZeFyTe/iHlMni61wWXzlhrnWtmYfBBtdEYjlIaRqYeGv6hKcZDzHWUl8UNaaYqiFM5/txT9CIm2adjePoO1NZ/67Cd4/bXXuHH9Om3bMpkINSaoiPctnWvQOXrBlGqIzehcQBvJWQ7eSbh21lVrFamqigeuXOH0zhkSgurXZcmorvBBpm1t12G0YWO6wXQ6GYrzvimN+Z64HxUYSFd92Pt9iMEJpC5PU09siinlsnKtqugpYzoTElOQiT/kzERFUdRsb23TNWKe1iN4H0HOWNuH0+qL/R97rV5PHQ8x5aiBJPlzIdI6x7Lt8M6hjQyvXJDoKJmIi8GD80EGX6UUDnUtsUldgMJqrm2PB1c9svb3v/rd3+W3fuM32djYkC8azWc/9znG47FoKkcjQQ67jvl8nm3lZRDHfcODvmpcPwW6t4PqqYY6F9lKUKYVfU/ql6S8FJsn6GiZeh4ijzzyCJfOX4CY+MkLz4t8IXfIzjnqUX2fpvfkvbB6qRP32N7+Hj/4wfcpijJb5Yu5hq0qrj3yEG+/9Tazo0NMD8gPjbgU+Z976iluvH+D5DU/feUt9u/tE32gKETSQZLM8LIoWcwX/PS11/grv/Hr/Of/1/87IfRaxUgIjhQDIXQE3w3GZcOnViuUo6ePfpRq3ZupnTz+/us2u41qramqeu29BY1ZDXwGm2pGoxFVzkUfjUYZBVBDAatS5N7dPaGttUtSCtTZzGw+m+XCp2A2WzKZTLBlSZvzD3tqFD2bKDrRxEahiM5nC5m2F4U44zrHYdswmW5A3hustTlvOA3maDGvoSkzgPrCPOVszZilGuSiOraeEBxVYaiMXDef0Z2oFbfu3Obc2bM8/onHef6FF4VqnxDq8b17PPLIw+ztH1DX53HOsVjMuXzpHLN5Q0Tx/As/5qGHHsD5Jae3J/I8rJk89ci50hCD5yfP/4gz586zvb0FIUDwnD1/nqd+/gs8+8y3ZeAWyWiEFd+GPqqkb3YyFfPPmYMNqHu/hw3PyFqn9VFa/xp7YGBX9Nrx+1HH1d+HRmcwoVIfGcCx/v394LK/nxWre54+zUl+v+SLR9q25cYHH/DHf/iH/NKv/GUuXb7M3/zv/g7/4k++zhs/fV2OVStiCmuNVu+uLG6x0fsVi5t+LrDuIN0DXvefVLUywPpzBp1K6cHLIb+1DIhWE7ec+zq036vfkz9MGu6bvmlVa9mc683uSY3yatDRa/01i8WCF174Ce9ff4+f//zTPPb4E2xsbPCJTz/JeDrhtZdf5IPr14eoxBB6mZMffCDkUAUh6htXpcUg8ITmuKeB56FmPxkYYoFQOWdYI+lc6eRmgpI9In6UHj/cX/fRuIdr3HsPKI3OMhE01KMRKSbOnT3N2TOnUFr2kcOHjri7e5c3336L6+9f59LFazzy2IOgArP5AQf7B7jO43QUDakKuDbkPGA9PCN9bFFhLVGJKZbWhrKshtSQmDQutBweNcwXx1hTcfrUGeqixlhLpSxnz5WcOXOKtpOf+eCD6yyXCzrXcXAwY7oxxRSGZdMxntYDw8IoiQwy1lLWNW3boJSmtBLLFkLMdVrOZw+rgX+PzoZsgBZilMxfY4bcc3E0R1iiLq9Hg2u47NlFUUivoPurn6nISP6sRtE2DSE3oT5IXdt2XUZhq+H+JdctPWu0NpYQZfjVuQ6jJfrOB0mIGTJxI8Na770nZAS7X6dMIb5E88VSEN0QiCFS1VWO3AnsHRyisENV07UdN258iC0N2oILDnTM5rWGyXQkMhySuCxbTV3V0gckL/u7E0NabQy2EJq4ybIS5yQSEyua2hB9loFKEVJmKQ55qBZzbKRCofP1bbpWTNuMxlgrfhMFzI4XtK3n4GgurM26phbB8Md6/UuZRxljaJoFR0dHLI6X3L1zL7uAWXSh0SFRlhZbKuqqoKrK1YKhNMdBKIPKFFIUJEVUBl2ALhRFbSW7VgeqqmK8cZauXdIsFxCgWXSoupZoG6PZ3N7GxUDsOrTRVOMRhwcH1OOaqiwI3hF9iRnV1PWYQhccHhwQo0dZQ1mVWC0xP8L3lzlZVRQoFO2iIUYojMUbJ8irkkmF0oa6qjHK4Il0rpV8WBTaR7QpswW5IiWHtRXWCDWhNBbvnbgUx0BZ1kSU3CQKQvSD1kJnM5DgAy44dNYtoGXSpLTGhcjh8XGO4IlD4au15JOpbGEeU5RGMjckqEQ5qpg182Gxk7gJhWvbjNB31HUtuXo+0TWe2EFdlnRtS+MdWhn27t0bEENjJFicrMGuyhqdJHe3tBbXdUSiGC4BKkRcK4ZOm5Mxqaooi4prVx+UfLVizP7+AT/5wQ84Oj7CtQtC9Cy7SGgiAY/zLeThQFWVmGTzRiH6bOd9rjy0FKohUpUlZ8+e4+qVq4zrDbrW0zQdWmtm3ZK2OaCqJ3Sdo9AFm5sbjEZ1npLnSJu+gFhrWoeGNaOTkbDWM56kZw20r5QD3te1O2v6oB4FM7mmS5lqPnhZKihKmx1T4YlPPcFv/dXfYnN7i/l8LihMXjj733t0NGdv/4i565h7z3LZ4lwgBVlcXdfhY6/hskODa2zBI1fP8/3vPct3vvUjzpw9zde+9nl++uZ1vvJLv4Qra1Ihm0vXOaKPpC7Rtgl3eIjrGhZHM/bu7XHv3i6LO/vUWvH3/5f/Fpub4+HzvfXWW/z0lVf57/1r/9rwuUMAY0v+wT/4Xb74hS8yGk3wIbBYLjk8POTc2fNcf+89wuh9zv1lQWu0XdG7B61nOunYp1SmlCmhEistjY4gtjEXQnrIm+yRFXLuaEqRUT3hL/6lX2NrZ5t7u3s88+MfEzOKFLKLoFJmKCrkMwi9VX8EFcrOglmv3fmGEEA5M+jvQkycm5zj3NlTvPDjH2FznIXWGmUsyoghg1aRP/qn/5jJaEJRyuBjOZ+zPR31JDhsWbJYLqhHI5q2wdqSHz//HN4tBHsKeZiSyBEiIZul9GiObGYxrWdrru61VfOhBoMdUi9qzMOToWlIGU3QlNYMRkRkHft6DEmvjyuLgnPnznF0fIgpCmF8JDX8ioRs7JubU5Sa4LqGw8NjSq1ZHs9FN6QMne9YtkuMCdICWI1WNtOvEoWxmVolw9bok0RcpcRkMsF1DmVlLfeZAdQPhVRGPLtW1n1ry7XBUchxcb3jqXR7xhh8DBLZs1jQdY4Hr12i6wJ39uegLcpYXNvywfsfMq2nPPTQVSnNlSYoaSwI0th37ZxzZ0+zf3TIw48+wmRc861vf49lO2fn1A7PPf88n/rUY+wdHHJmc5oRW7UaCmklOYcpspgd8+KPf8RX/sIvy3A4Sj7iJz/zFLv3bvHe22+KrlEbGQgnYcckE4a1hLWCsB9urJrN3p1NDc1H33j2z4jutZ1Db7Wikva0YkFp+0ZirRnOxxRzdMdw367JSshIo8prcW9kNZBv157Tvold5TRnM6OMzFsrA86mXXLzw5v80R/+Eb/0F3+Zhx99iF/7rd9kc3OLH/7wB2uRQHF4TlKmzBqtUFaDFyOpmBHW/BhkN+q1gUCPPLO+t5xsxoY/9ai2Vtl086TB3aBNHfrttIbGMlB26R2Xh60ufRSpzUenUhqa4OF9IqBCXlsC0bXs3W3503/2DV59+Q2++otf5eoDl9k5c4Ev/cI2Tzyxy8svvsR7771LCl1mXkhuri5yI6cSOqYhiTglTwrrlO9eK53/nAecNtdFqb+zelNHwCQZTtFHKq2dnF4RHbMLdgprZl9KHO/1cLg5wVuL1pNsNCafQRqzqqrEsyMGVKk4dXqHrZ1Nrly+zHvvvc+7793ku9/6LhcuXeKBB67wwJWz3Lp1k/3DezRLJ5GRKmJVKbTVQuWITi9rSB4aqrLIvgWZSutWRnJaa3zX0IaWUV2xZJEjJIVeXKgRrQtMp2POnBEQZvfeLnfv3mV2vEQZw2xxzOb2hOlkRFkK+OWjAELaGKytB+19SomyqsTltxOPFBl+GkkiydpVyR7p2VKJ0hhUlPQMXWaCW47OiklQbK1FMWtKy6iqZPDcdtncCFCOFHV2/s1MU5+kdqQbsl/XHyNjNT46SivorEpi4qSwHB3N6LK+VoqJgoDC54e2qErmx3NczszVWX/tMgpM2+J8R5ejT8vCSESRrYg+MZ8vCV3Ee0Gjtzc3ZTWMMszAgHcd1kJdlRijUdETukbAhqLElpbKWlI2jXVLMcArbCFJFCGiEGMnnxmp1loiAddKU2u0Rhlp+n1QTMaTYT3UKHyO4VR53dVWmFbOd4TghG0YIoumJcYGqxWTUTVkWn/c18dubJfLpegqtZYYi2RxzuO9BAKvVnNpJpx3dF1LVRbZfdEJHUxlVCrKhAWtKUrNeDwSS2wljUDEs7N9inOnr7F37w6LxYKuaTk6OiIiYvW6qqhGI5S1RBIbhVCg67rMBZBMElR2GU5RnGObboGLoo+tTEGKka6TRs4aaby0NnRdxzJHJIiJlFhfO+9oOocaacmP8j5nW8nFcjFgm5aqrHC5iVQayqIgqcRiIcHDffSBOMcpmtBQlhV1Xci0zAdxTfNynvuls6c/uJSYzRcsMpoeooiwVaa+lUXNpK6ksDBaHCGjaJCjCvk9oawqgpMbUw/xTKs8Rq0U1bimax2+dVR1SVVY5ss5MTi6bkkKDm012lRZKpSo61KiKzqZYKGhKCqatmHploQcm2BMNk0hMS5rtnd2OLVzmu3tbbEvD3D61Bmqqub6B5Gt05vMmwWHs0OadklRWqEbJ3ngfJSpttY6x7YIxd2aQrTeykKEC+fP89i1x9EYXOeJQSI3ijrT7EtBwquyZDydUBQ2awHTQL/qzR96t8r7WJm5KFBDATC0oicA2JW1ybqph19b4FOm8A+r6H2RFAooK8t4LG55H3zwAR/eus3OqR2++c1vEkPgt377t09M6l95+TX+xZ/9EMYTUlWDNtiiyg1dylFcNdYUeQgnw5JalRx5i9eKNiy4/MCTvP3u+0ynmxzPFrz25pvs7u0xP5pxeHDI8cGcxXxO2xzSNXNwgbhsUKHL23rgV//iLzEeryZyKSW+8+1vszGdUo9Gw9dDjBwdH3N4cJMrV66xsbFFjInZfI4xlpdfeomqrPj0U4+h1HsYayhKO7xnf/51zpRVqqcGZ6pabtRUvu+1ymYjfXukVtN3erpwFHfaxz/9Cba2dkgx8dKLL7FctqjsXtp2HUVZr2kLFRiJ6JFcuTyEGfRXvTOwyWYagZDz58gFc1KJe7t3OHVqm9OnTnN8dExRlEJNqgouX73ElcvnqEtLXY3ROU6tKisKbSiy74AxBf/kD/6QnVOnsNYyO57xiU9c48YH17FW5U1sPapKSTGEGShJw3VbdR1rlM77EWl1AnFTuQD03kFpT1CWq6rMTa75COW5f/P++3vzjvGkZDSqmS38iu2sYP9gn929XYkxI3L61A7GFNy5NxuYK6JAUNSjEVZLDvfe3r1ciObfo7XsbUU16EdtYfFOsq2LQotBYFVxdHQ0uGr2n1GXCufI0UJ+WBd0NuLrz6O1NiPiMtjc2Njk1Cm5vvsHx9y8e5dARfRivhido21a2rbl8qVLfHj7Lq7LMU4R3nnnHc6c3mJzc4uDg13JrCby/nvvMd7c4cNbH/Lq669y7twZrj1wgc5FCp1jmZI03FqtqHMpwbvvvMO585f4xKc/NTQo1hi+8OVf5O6tm8xmx9nvYcV8WB+wxcyCWteBDkOoHj1VuZG8rwHqBxtDJulaI7f6mxm0k/3PqGw6NjTEH6EPrHWmGXHMON+JRlGvfqEgpiH1fbA8v5nHrLUe0Nz++Y4psLd/h298458xW3yZJ5/8NF/75V9isjHhW9/8U5G3rK2FPeqnsuM+OruJ9xmpK8Hran1Z+9k1Hg692OJnkHdWut6eXhv7NWmN9XLiJzh5sjjBxD3xfSvJzclT3jfQK+R3FeNDSnnwF3AxceP99/i9f3iXJz79BF/44uc5f/4S589f5NHHnuCDD67zg+9+mxvXP8B7GRRHH0AFtAajEynnEaue2p5pqr1PRc+EIjt4x5izgBVDY6tTb2SXtaD9/TkYuuWErDUpUlrf4BUElVbmkEnqrLTmLRBV77yvhwmqVoqolciSY2RUjyhswROfeIIHH3qE3d09XnzlFd55+10efPBhHrh6mdF4xN17d8Rp20j927kGgxl8z1MIRB9zfa+yN4xooM0Q92gILkIpTMuuW+CdJ4QRUXnKssLYmo3tKb6L7Jw+hVawMd1gY7rB4fER9/Z2ccvA7uIIc77Cbo1pXATl8cFRlGIOVVh9QraeMorZNi1GF9KUWp0jQ1khfqbIcsJK8qQzhVb2cp3ZQKWYhmojsp2sqTVaEX3ItagTNDXHkratEw+TLvcCuYDTOa5JdLaaspb0juhFb0ro45ZGwzofYqRdLIkxUdW1SI28w5vekVthizKz3YTW2w9Fe230aDzCGvEuapuWtuuYHc+YzRaEkBiNRlgrCGuMHhccTdOSYmA6mUiPEAOlKShHtUhOqpqyFsZRf1yhiSgMIdcltrBDzaOzMVkfU2aMytFEkjbTtG3ua6Q27vcGk12sfYhy/bKLttbiJJ1iwmrNdFQTY6SsKgHjYsweTx/v9bEbW+da2jbRtp3oDPKDqo0RF87sABtjypoo0Zg13sFoJNbdTYuxFjsVWL0LjuCjuBtToooyL+CCWnonWU7aKCbTkWgcgS555k2b0TJBUAyglMGMDdZmGldhs+4GmqbDKNFy2iSGUyqpjH5qYpLiwPvIrGmz81ekNFZQTCtFddO2jEYj3MyxnM9Jo0xd1DkXNcnDUJeR1nlcFwArUzAPKijwgUKJs67zjtA5nAtEA+PJhI3pFkdHh+hsCOOcHzROSq0KoqREwB2PPQcHh5S2glImTqWxEDwxFnRA0VOWvUOjsVYMnkBikFwMFFUBWmgP/US9bR1lWUkRq1Om4QqV+tz5s+KOmgfX1hQoJD7Ed63omJPkZLrkcjyCxiUx/vHe5yBxQ1WWGBTbG5uc2j7NeLxJ5xLBizFP03Ucz2f4FGgWM2bLOctmLpQjJblhWimSS7St0KCLsqQuKzSG2hoUluhhXI+5cP48589eEAQ3L2gkRZ2d47qulRii3NTqwq5lBypWGi8xCOnzDNUa4trH9cRBb5gLHYEJhoI/pr5JFp32oFFS6w3BauMPGQGKWmWHxuzMGxOjskZFiXVazBfEmHjowQf5+//h/4Kf++zP8cDVB4aG49SpTf7oD/4rFkvA1ihl0KZAK0EktTZsbEypqprd/f1sra8oxmOe+OyTfOWLn+GJTz7O9evvM51uUJUt3/zP/gWvvPQyRiVcaHNWZ490ycBBGYlbKJRQkI2Bz3/ts5myKK/ZbMYzz/yQzz/99AnDq/F4zHK55Hh2zGuvvcaZ01toWxIinD59luV8yWOPPko12h3qiFW0jCC1Kl8DPWAvK16fnGsztFwDWi4J0NnwK50o5GRwZfnkpz5Dior5csGbr79xohiXQUFfhGYkKvXxO2HQpPW6k5Rk6FeNa5KKGeTUA51toDqGyDPf/z5f/tKX+MY/+waKhA+RzY0H+e2//j/ky79wjcXsiLoec+3qNTY3N3nu2WcZlSUHB0ecP3+Wy5cv88MfP8/h4SHHx8dsbW2xubnJT168tyoKCIN5WQjZJ6FYR6BXzagmrRWx+T5Xa+d5oHjqXuGctWgZ+VgrcoWFkrJOLl+kbBQmzw6DCYw2muPj2RAHdvzuzaEYRYspS1XmRjk/u855uk6awbKyuC7SLJZsTmrmx3NxG41izGJ745lMSeuUTPhDClRFhesc2kpzXBhx1x/0j3lTN0aDEQTJu7DKCk3kYlqaLqWh6xpCigPd27Ude3t7tM6jDWxtjjmatbQuoaLcGweHB7TdBT75yU9y+85djMo6QWUy+mK4e3cP55ZMp1O893z5F76I84k33niHqrA89+PnuHrtr3HcdmxMKvm4Kg3FFcNcR0FyPP/cs5w+e5YzZ88Kjc17JtMpX/7aX+Ibf/T7QkHWGpW1hCe0oPfpzGGtYci5pANiq1f5WmqtrxL/ilV8zonXMPjoM2iNOKHr/jnKjt59g9u75NLfu/kzrwXH9mtJ6LWT+fNKZJf8qqhWhoAxH47u70UyQ8d3HB3s8p1vfZPZ4TFf+OLnefqLX2RrZ5t/9sd/yGJ+PDAPeswjpTQgs0qBcivqNKxo+nHt3DCQA9dOy5phofw5rsy21rT+J6/N6mf7r62e1VXTvEJqf9Z75OsayS7RKjNATr73/TIdwUA8KiqaxTEvPP8cH978gM9/4Qt88lNPUNcV1x55lMtXr/HOW2/yrT/9U3Z378raEwJJsrdIueLVA2Fz7Rzk4V02S85q8nWIumesxIEbkMlWeS/p16/edfnkue7PU0qZSt7ToDMFfpiXp5i11DrTak8i5ylrHHsfl7Iq0EZTnD/D9s4XuX79Bj99/W3ef+8dLl25wANXH0BZxYcffsDRbCkay6bDWjHrMoWlKEuh6fbO9Ln5MFpSR6wxwh/Izb7SGqstXbug7TqsNVTVmKKs0BQZxAFTGM6ePcvp06e5eOkitz68ze69fbwLHO0fczw/Bi374NlzZwn4vP/mHHAc3ok3TVVbAQGip20D3gvglFLCYrPJk+HU9lmuXnsQHzzP/eiZzGLLTZVWmLLAGkvXdLhWElQUiaQVyQjC2jtI62zchMpeATkS07sGk5NJejmJNGUFLkZSEEZVzMNSW5ZoK2DgfL7Ax0jpJKKwKEtiFEfkCDRtJ54M2RAr5digsq4oTTYd7FqcD8wXDbP5nNl8SUqJ7a0tAfbKQDLCCnPe04WGUV1RFIois8+sUVSjUdYwG0KKEIKc75ioi4JRUUombkpYI/VTyKM9m8yQs2u0QulSZH4JyqLGmiSsNNlAcL1RW+5DQgio7FxtNdTjEcHJYJQUh7gjYxTWFCT/8SN/PnZje+nCRVDw7rvvS6GYQ8dXtuo5e1GvMhpHoxEmT2iLUrSUcRgfykbgCWvRKHKD64ygxBQ4nh3RLGdycbocwVGYISamn5b09JZkssV3joEIIWJJ+OjBWKq6QluZApISLudjmZyNmxJCb84Pb12OsIUl6SRRIpnrX1UVh4dHGOvkswaXjz07h8WIzrEOEnosn7UsDJPJhMV8TmkKNIpFJw7SSkfarsPtNcN7hBCossNyFxpxlcsTLJOjKM6ePUvTtJlCIlTc8WgsKGQ+tyEE6qrCu0x1MUbKypwp5oMndSkjXEUeCPTufJHlcklhxbI7BKHGFbbg7JkzLJZC2W46QdTZ3BDe//Ex0Xsiki9preV4djwsyikKHbjSBad3TrEx3eD0qdMYXeeFxIjpQIzMl3Nu3b3D8fwIlyReox5V2GCHLLO+KIr5oUj581dFhQqgkgFruXThMufPniP4IFtXUrjWD5tc13WkJJEgtqxWyFNibSNcIQaryJ21RjStFRo53DvmrDMGmezQbuXBSBgQgKEEUCtNTL/hSEyNGhra4QPFxLiuUcAyO5OnlLh69Sob4wn/7I/+hP/Bv/VvDCZNDz38IJ9+8iG+8fVvESjyoEgqpr4ouWMsp06fQhXSEMxmc2bzBW+98Tzf+MOKlDw2GQnVJpBSoFBJBkGtOIibvigLMu2WKASV42ksGxtbfO7nP3eCJvjqq69w88YNHv7bf/vEOlQWBU3TcPfOXaaTDVJyFFWF84GqGvHQQw9TZm3VcF76hrWvX9eLlZUcdHUac3Eo12rVsPVNpVZ60Ev2KMb58xc5f/4iCs0br/+Ug4P94We994L295FKAwW3R0TW4jnyK0bwMTIajcWdsXPDAGS4D/Jk9f333+eJT3yahx9+iLfeelPoVaMNzp+/Ql1vc3S4ZHdvyZnTHms9x4tE4yJtKoh2zLsf3KZpO7puD+ccV69e48UXX8yu5vJZa1uK3KOqMFZz48YHWGtXBduKjThsfEb13rJ9oafWmtP+BPToWz6na/dAyrm0fUEoHghxOOdDoawUwXuqnGXrnBNnbH1TClqZr5OAxWLBeDxiMp4wGo2YTKeE27vs7u5y5YFLMtRqhc5YFCXTjQ1C16FiEM1R8PhscNJ2Xd7bqoH9EqPse03T0HbLQUvmvcdqSMFz9swZdnf36AY6rhoiW/phinf52SlsRjWlmR6PR1gfgYYHrz7Aiy+/nptDWUMOjg557/33+Pmf+xxlaalGNft7M5S2pCB621defZ2HH7rEwcEB1dkzPPjggxwezXjp5VckeskUvPjSazz5ySdou8h4VKB0HJr64SnK13Ixn/HM97/Lr/zar4tbvw8k13Hl2kM88emneP65Z3POt0XrhIr+JIr13/AatKPrWs6+uR2+az2n9ST62qOXA3N27Z37H1mPUjsB3A7zq/Xh4uo3r6/5/eCxN/7TSg0MjHTivfrPlaMCfct8Fnju2WeYHR7yC7/4VR57/BNsbEz553/yT7n14S0ZNK4PfFTvOK1RJg8bekXLMByLJ5z2T75O5navvvozvnOtof2IydbaufyZr36P/Ai6m+PU0Gto/kd9B/pjXtczp+TlejrPzZs3+KN/usurr7zKV776Czxw9QFsUfDYE5/k0pUrfO/b3+SlnzwvSRf5nDiX41CMAa0y1Xh13nqjzuGeY33N6g8rDZ85oxq5UT1J9e4PR+uezN8bgPXHwjDY62Uu9FtW7NMOVhF8/ZBM3lwPDS9AUfRcgoKHH7rKpYsXuHXrNj99822efeZZzl+6yEMPX6OsC95//12OjvapyxFNJ/4AxsScTKEHjXKMicJmiUlmjki0pzDg6krYgF1weN/SOqHBFkXF9tY2vo1DBKctLGM75tKli2xtbXF4eMRsdkwMkYP9A8bjEfv3Dokxcur0FqkUJDUEub+t6c+DwhSaxaIheCh1SUK0m6C4dPEq/+5/8L9lY2ub119+ieeff4WQWhItRDHoEn+BJb4ViVnnHEYLrdZ5l/02ZKhW5Mx6rXU2cEtUtsD7Ep+b2aqq0EqzbJag16+RoK/CbBVwSrTgcn3b3LvoEGgWjaCiuUnWxqCVAIAhREwh+9d8tsT7Y1wjaLBzHSHAxuYmo7pmOhnLvMQEWtcJYBYjo1HNqJSBw8haGWAYjbYam9vApuuy7CVSaEMwmtLIUMM5J8dalsIgTQllIiEllC5YNktiitiiAG2EVh9XgE3qI5dyUoTWRgaeSRDauqrE/wJH8IGqsFhraLODch9j9HFfH7uxLYxEhlw4e4Y7d+6IIFqJd2hMogPRymCURqNxncMpz8Z0QiDSLWao7DgWfCeuoURsobClpqgTLs4ZVSNKW4r5UnLsHh7TNC1VVZOM5ECmJk8tMu03hUhZCs00BEd0UJqxPJxOKJ3edwTrCBTZ1Kpk2XR0MQqNIeYcLSVZcxqGG1klQVpLVdDR0C0bdApM6pqiLMRUJUWsKTi9c5rZwRGu6UhWUMyooHPiWByi0DtRJps0BOqKbE6U0CqynM9F61sWQj3J42ltSkZlhYoK13aC+mWx9tlz56XZSQmTefwqI2DSXMPSZUMdo4ZmipREvK6Ejx+iF3OV7FxrSys0EVWR0HTOD0WY0uL2GGPAxShU5KBZNAsmG2MkFi3ROsnfKlSBCx3WjMTVN2om5ZRrl65w5vQ5UlRiWuAkuNuWimXXcW/vLnuH+xwtjiVuiSDaFS2i06TkPlApUlSFZPN2HTFECpPzfoPnwtkLXL78IEVREZyDmJ1JY6aFJ42PwiDY2pwOjY1sLkLfTlHOmepRveyIPPh7KkGGtFL0thQRsdI3yvR9VqYgrabTKVOu+sVbKYXNi6tKmSrVj8J7xC47vq73cHUtxgxt27BYiIv0eDLmkcce5vf+ye/x23/jr3Pm7JlsMFXwr/6tv8N3v/Etls2MoCxRSWYZuWkP0bO3fz6zjPoAAQAASURBVAcMTCZTvvzlz/PTN97g/OXLfHDjA7RS/JVf+zV+9KPnODo65H/yP/4f8dJPnuXU6bP8P/5v/wV7+7vSVEQ5vyiDzs2cQqOS5pOf+iQXLl0Y1poYI9/80z8lxshDDz90YkHT2XLee8fu7i5bWxs8/fTTdF0LRMaj6sQ5WdUka7bIuZEUbLzXP4uGY4UgZXfTXNAP1Li+KCE7IYeAj54nP/tZib8i8Mprr5KiGxo47wJVLZKH9aEBKZuUZE0LyQx0Nh80wVhsNSGZAp8cO9s7uBBwwROycRx58PTd736X3/iN3+Tm7RscHBzw3puv8n/5T/6PbG5PCN6zf3BAWZYSeeZaUnLD/dp1S44OP8S7litXrrBYLLi3u0tM0IXIxYsXKYtKBlzNkrZZYouKoqrECC56UrT52q0GAyTRtyvVoxw5yl3FjFCEvGFZyQD3XkTBiIN48oGqrHPmbtbYDFBdTy3NG1mWyYSQCK5lc1wzHZUczJ3E/aQIIfHmO2/zxCcepT1c4GJAGzAmcbC/x9UHrgjzQ8swYjSqUXg+/OA60XWYjBqabByFUqJvDWIKpHLuqOpEe6eiTKuXi6UUFKMpVVny+ONP8J3vfFf2UAS9jVnb3blWYhSUJvpAZUuSF02uimI4koxia2PK7OgmRNFahny3hRj48OYtDq7uc/niZdrOc7B3BDjQiYPjIzjyfOKJR1guW3Z399nY2OTdd9+lWS6ZTkt2d+9xeHjEIw8+RIoGjWZcC+2sT6RB9Vpo8Vi4dfN9Xnz+OZ7+0i+AMSIFCZ6f++JXuHX7DrdvfUBhCrQCqxJB9ciezpjG/XTY/Of8oKYsFdAZVVzdB2uuTf1jjv4ZzZYd2ANqoLqyigbRaRg49Y3MCX+DtRzSdcbGuh64H0YrZTIVNebfZyTiYe33rg+ofNux9JGXXn6ew/kBX/zSlxmNJ3z1L/4a//QPfp92PssNbRw0l1EJ60QZnT97fu6kaxoGiD0ZYL1xV2unbzjWE8OAn91grv/7z25whyuy/uZrA+DVgEKYIAwpDOu/V2U3eDGXzt+ne8BU7hUdFUoFfBt5+43XuHXzfX7us5/n57/weba2N5mMNviVX/01PvmpT/Hdb/8Z77379sCMiINrtXgpqHxP6aRyPna/Xg27lJzzfKrVGuVYDSd0dfyrvmb9PK4GeD1TIWb3YaUNIaRBc7tCqbPsSeX0BrWG3GbUG72iyFtrMdmvoC5LpuMRD1y+wp2793j5tVf5/ne/w7lzF3jw2sNcPHuVrlty+85NunZB9A31aMyia6hHdTbHKtGmyvLASIgwa1o0AkxYFbCFpTYFyxiEcUJCE9jfuyvJDLZgMtnAN57WeYL3WKs5c3abnVNTzp0/w97uPrPjGe2iwXnHEYqisqQY2dyWBApUzFF1msJWaBWIWgbpejBJNdT1NuPJFkpV+GBp2hJjHUUe0Po20rZL8bwg5ag6JetDpp+Lc30gRU9QYjKmYsJoK01eQE589IJ0OpEw9UDTYj4XlqfqdbKO1nUUWTtfVQV0MWu1FbPZjKbtqKoR47LIzaCkcYQk4Asp0SwWtE0nLKOly4iyZmQryvFI2HWFpXMd82VD0zYoJfLK2lYUWlMYnVm2CHU7CQodXEBlhkBZiKGtylFyhbLY3OvpxOBI3XoBxNDgSNJ/xCBsKi/1OCRcUHRZLhmdlz22NHgXsChsKdLAZtHgvZP3rwQk9C5Kc5sSTXB/7ppz/+tjN7Zb25vs7+1RlQWnT+1wPJtnF8eATklCqnVEA9bUKCV0zsVyyfb2BmIXlClgmVEUkUa1yqHPSkNZFRJaXghC2oSGLnkpjlNEVxrvI0svOYwecfgNPlBqaSBiRpRttgp3SXKbOif22DKVFvMP7yK1kUwpHSMpI2SVtZn/Lu56wQcRUheF6C18ZFwXQsXTBmXkwWmahulkgrMhU78yRckYoRQrxXIhxaHO7m1lWVGUpdw4wCg7u47rESF4+V6t8CSil5W3azrqUZ0XwCQPQQiUVYUppJlORg2bnTZZU9BrblLfLCuhkRhxW5UpT56qGEPZc+6TFoQz67lG43rY6I0xLF2XdWrQeQfLRbabN6SQZKITg+g3Q6Suaib1lIvnL7Ix3YGUzYZaR+sCLkWWx4fcvHWT48UBi2ZBiEECo5PCeUdKXpybh9y6XFjEmI2VZFMaVWMuPXCBnc3ToOxAj/XeUxjRP4UgAddFVTKZTOXBzpNxhcqUwJAbWjVQrqLpnYn7pna94F5NbiMxZ+6t3JPXXyGzGe4391g1QeuTdZWd/dbeIKMG1loZYiwb9g8OCMFjTMUv/aW/yD/5J7/P1//46/zOv/47+XMpPv8l0Xc9+8NnBbno+7cekVSKGIU24sqCr/3iV/jyV75E0pavf/1PuHjxEucvnOfXf+PX+a//6z/geLHkkcc/B8qibJkNfARNjkM8R0bQMjXxl//SL8tzlQuo3Xv3+MEPvs/W1hbnz59fHXd2vx2QbRJnzpzhzJkzvPDj57l65YFhsh3XGtTh/2ntf2r9n3tbmFVu5ZBV2J+L9WJucIuW52Fjc4uHHn2UpODmjZvcuvVhbuZS1vjo1afIWir5HaKlcl2g7TyujTTjMbGw3Li1y2Hn2DuYk3Qh5UII1HXNyJqs8+w4OjigMJrZfMb3vv89fud3/i6/+w9/l6ZpeO+DH6NupIHWXJblYEqidRhiCow2nD69w3g8ZnNjwksvvUw9zhl2wbF3eCi51yFKY0FiPJ1S19XK+fyEYO9+h+eTr55KHZMUCyrnW7dtN1y3XmtuTJ/t2V/Dk+/dG53qnOEdYyQ6h7ElVVWQZt2giYwpslgus85Y8p2tUWxuTjk8PBiub5eHYsRI07RiIKIUKTh86LWism4slktxtY8yVe+L0RTlfcYTyYAMQYYL49GIl19/DZ/6+DTpMnq6cl9oa2tEy5ajLqIWs8WiLIltR0Lx6KMPU9Rb/PBHL+RhmM7Sishbb73NZz/7Wd54623G4zFN12S9oKyRs9mC3Xt3+LnPPMlsNuf8+fNcvvwA+/uHvPbamzjneOGFF/jqV75M27aM6tFwXVanv48pEcrb66+/wuWr17h48SJoYWBVZcHX/uJf4g/+8f+L0AmryRhxDCUIQ8u7fmhx0mOAbKhDNhoJMa4ZWWXEtV+whuZWnWig+nVDs3p/UENTGZFGcH057inKrHrQjNKthlIr86TVOtKvPT2QN8wh877es8r6BUgphUGjikLi/3zgvXff5oObN7DaUmS38h6RXr3f2rrWRyplWmvMubo6rbJmV9jsuslWWnP75cSe0zMH+v109S1q7RhPNqPpvv1p+Nqf8zuMMYNp0uqcppM/txaZp9PJhro/jwnRIjfLY3747Pd4/4MbPP300zz+6KNU45JLl67x1//m3+Gnr7/K977zbQ72doe1WZgUwqrTgw3j2lVNw1k7yRgYKp9+4Hn/D/an66NrYE+X7xFqNRTEaRiyrP5NDdrwlZzFnPycecijMyCjdDkw7bQyGFNy9eoDnD57mt39XV5/7XW++53vcu7seR56+BqPP/YE93Zvs7d3J8c/eryVpqmsCjEEUtnYCnGIV72/CBJtI3FFkrphrKGwBcYEvPGE2DFrjjKTAVzy2GrE9vY2JtOtz5w5x+zoiK7t+PDDmzjvmc/EDff4qCEGnaOKFPVI41wYmiulV9nwwuZR+GXL7O4+77/xFoUyPZKQEVtDdG6gz4IAQcFHovPS9NFLKmW/KK2m0DI0cM4T+mFCivgo0YoJsGXOrs+pCV3X0Tk3pJToLMovtNS6s/lMfHyWS7QpCDkzlzykiEnqOeccbdvhuk4YB2gmUzHRLasRxopLZNc1NAs3DK8mVU1hs5eGtVgjjW2KadAeqxzZU1g77A/W2Ex8ScOeZI0FgpiKxiAxq1HqARe85M0r0f16L+kywuhCjGcB33ViRGXs4PXTMxlEWikgW1VJOkqMERcis8VcgMPi/wuuyEVZSJSHC8Kdt5oQe12gByK2qimLgul4hPMtRSEZWdF5RlWF1ZbgAyHKA1RoS1kX1FWBLsEnyUwtdEmhwVYWmyzaQkpCjTDZbMqmfiH3mFLCm5fdnLIoMxW5w2LQViYnOmWtgopD9mlRWnT0pKwFxcpkIvhAmwsTayA5AzHiokdbha1KRkaOLfhA4zpBPEOgaZd45VBR6Kmdc3giMUGVzYdEy2CFbqZAm4qqqlF57p6UTHka70kxUo9GYsCETDDEblv+LLQ3J9m0hZas3GQ5PjymdQ5lBSEelwVVWeLaFuc8MU//FZqu68PjLTF2OQhb4nIwirIWikpwDmM0LiZIJaNqm+CWpDinLCyxkCy0tnN0zRKtFN2yHwZoUoiMyprSFGxMtrl88QFG9ZjORQ7myyHWadEuOFrMubN7h8XyGFNpTCkubXU5EqF/LOhclyl4RjTbbcAaWegLY7GmYHtjhwvnL7I53SQGncO5Q87cM7jQG7gkRuMRZVUJXS5lAluvgVUKkzJ6nqmIgw09ZI0tWXOYNUP9ODfDKVH1TW3MDm9qFduQFCqJc2EcdGRajC969uo63e4EWrDaQOscddJ2LUeHR3gXKMvEY48/wfmLZ/nD3/99fuM3f4Od0zsATKZT/ua/+rd5+bkf0MaIG/Rqop8gSJGuUsQtG55/7nnefucd6tGYw6MjrDL841dfo64qjvYP+ce/+4949933OXPmDIe7e7il0FsKA2VuyMTq3WBi4sFLV/nqL371xDH85IXnOX36DP/G3/u3mEwm62WBHFvbopTi3r17/Ef/8X/E2bNniElyAVMpudaGePIc5cJF5fPem4cwkBIVqHCiQOs3xNjHXww/YjJdSwwfrj74CC5Ejvd2ee755/C+w+YhRte1efOX4l2nlOle4oh46/Yur772BsfZ+OHXfvOXuTaqeO75V9idL+m6JUVZU41E37/sXKbHyYexRW5W0dy6c5tvfuu7/NzPfZ7d/X18vtfKshioPNqYgREgyGPM9F3PwdERd+7c5TOf/RwvvvyK0JwQ3XeKOQ4tF8paKUKExaJZG/bIv9mMLmg0OmXWiF7l92bz1ZxnLUMfULTtYk1vl/KgroTs9kwSR8wY17U2Q9dLWdghOzilSFlUxHiM0kaMn6JQoQ4PD7HW0jUtOzun0NpwNJ8NOYRKJZzvGNc1k8mUzY1NDnbvyftKLUaMUsiFEDFKY5QhtJGkNV3MWdxFSQiRpu0G1L91Hbdv36EsS6KSvaCPhXHOZWqXwlgj+X8JGdD6xObGNknJtXbeoxXsbNdURaLpPDGZoSB7/8YNrly7Rtu1PP74o/zkxRfEgVv6Sd5+5z2hGWrL/uERk8mIs2fPc+PGLZqmYXvnFHfv3uWHP3yWzz/9WclyVCkjRzJQGCh6ublMwfPjZ3/Azq/9BnUllGRi4PTZ03zlF3+ZP/vGn2CsMFdAoXzMmb6RlHpUvqetrWKkUkropIf7hR75+giRVpF0ziyVH1xpSdcYHOvrZm/slGJ+zte0pzqt00v73rlv9ELWjZ+YPq6aOrLxhMDCWXbx0e9HJbSBUosBZogeXEJhSSjKumQ0lgzROKCIKQPA683lqlnvqcgphYxOqsGgrHcWXZ2Hkw0qOUe9134rpXImPUOzvzYh+HNfJ5rU/BvX19ZevpD62URea/u/Dx4IKje3MaFUXGmFe9aMluFrQBOD44MP3ub27Zv89KFH+covfoXzF85ji4pPfeazXL36EM//+Ic8/9wzNI1EF4YgbK1e1qHQeU/Xw3DX9/FNMQ2mUCca+n6ozao5FVO5FWque4aA/IaBvr6O0kadBvfe/v11b7a1fp/3ZmarqcuwJ6Ts7q9zM6oHivVYQKntHe7eusc7b73Dj3/4IzZObfHgQ9e4du0T3N29iwv3WMwkRaFbiidOtBI/lVREGUVVif+MCpo2elISJ/g8QaKL3TAcUdoQE/gg8WIhRo7bI7rQsDmZsrN9hrEZU1SW6Dzjac18NuPw8JDZbM58PqdtWwGMNqZsb48l8rIoGI9HuZeQmMGisNx89y1++J/8p1zdX/DKd77D5IFtGtMJgmis0IOtRcVIYcQ0SmtFUIm2W67F6UltVxSiX0Yb6X9iWPNGF7afrDmKEBVt1+WBdsK5CFFJdJHJLIQQhJ3Ty5SCrCOxZ240DdPJWAC2bBo4ny9ZLFweLMPW1ibjsWFzYyKAWQgsupblciHaca2ZTEZsbkxJIWC0EjmeEjO1QMCUgi6GCPWoZlTXzI9nwpTUVob2gkTgUhDkVls6J4wxrSXlBDQGK8wBC4XR+JTw3g7GdlpFSivZyoUxwnxSSlJolKIelZDEG0hlL5tmPpd9AIZEGGPXXKj/W17/Uq7Iy2ZJs5TGh7y5xLgyTqirksmkpigtm1sToaG27VCs9NN3pTSFLdDWiPDdRigijc887H7yHiVjKhlBKwKr6aHNWbgh5LzVJAjp0i/RlQRpJ5XQyWDzQ18UBSF5Qd6MoTCGrpMiyGotU4kYSSpJLJ+T4G+tnCTApUiKiphkOkaPnCWhzq1MbhIJjwuBo/k8TzQKqnJTHpS+OMxU5845rC2ELpEXbddljZXWkONXbFEI0hi85E0lhbUVVSmh7ykmumXLuKiYjsb47pCubQna4IxFFzLVMloe1D43tS8Gy1JnOp9EUfQbUYyRFCKFFY5+9I5f/dW/zq/+xt9g985N/vmf/COeeeZb6MrgXEtMBTpmHUticBc0SrO9scXZnXPU1ZRRPVmhPUpoiL7z3N3fZfdwj2U3B92HrmuMVYTgpQHMGYnWWqy2Qnk02chBG8bVlO3NLS5dfICqFBqldwEXkujxilIiOVzAFgWj0ZhRRsDX9+5+Yto7F+vcxOp8Xvoypje3UTqjk5HeH+hnbPImx7isBzH0v3e1hfXT/1U9tEKA09r3rkw8JBOurAqC9yyXS6F3AjunT/PkZz7DN7/xTf75P/sX/Hf+9t8YJna//Kt/mf/no4/z6qtvk6zQr1N02Ixkpz43ddnwx//k9+icH5qjG3VFYUWnErznVnoHFQI37nxIoRPj0lAaQ1nAdDJha3OL8XTMdGuTC1ce4G/+nb/LqdOnTqw1n/r0p/k//MJXmEynH5l637t3LzsNFuzt3uH27dtcunQRnyNXenRjha2o7Iya0bD7Crr+ecuwfz7nemgc+/frn2spFOOwPimlefWVV/ng+k1mixlN1wwFR+9oa3Iua8pFI1nb/uGHH/K97z/PbNmhlCUpm3NMYbn0LBZOzmtEaLw9nXGFTQ3D6BzXyptvvsk777xLGtD3leb7fjQsrelfQmZzaODW7dskpQVFSmHQw0vxrAYXW5USLssbBgaIWhXYA6rDOtKVhjv5ZG2c1vI5c1GndR40qWGPkUPRJ1B5QV88p06dYlTXdNk9UQo8NaBj5MZ8PJ4wGY/EBdNalo04+M/nC8aTihhEZ7sxnjAejdne2eH2zRvUdSm0rewYr9bpgVr2NO9Dbi4DSlm8l2bF5udKVaJLli00o/4hUeYp9UpvKI6o0ct0vCgkXaDzEoV3eHTE0fEx86alLIxkdfeLRZaYvP7665w5c4arV6/ykxdfkHMQpRHf3z/g3NkzFGXF++9f59KlszjX8e677wjdruuYHR+xv7fHE594nI2N08TYoVTWIea8dIhryF9kb/cur7/yMk997mkpdqM0t488/gQ3PniPt958ndLavmNcyTwkQEoMaZO4lvf3SsoI+PpLwfCcy/2fmzoVB5hV5UJbGBYfjYro2SOpN2RSak15uyIJrP/O9Vv2ZGs3CPhPoG6re/zkOqby/Sl+JXG1NiGOqnJeDE3TYgsxmEmukwYDQTvupwcrtBjlDDmfmejdn8e41rRn9Gg1PDh5XOt56vfvS71H9P2/v38W0/0n7s/T4N5/QoZleSUBY9j/+vdfI9H0FOoIPgVB94HYLXjt9Ze5+eENnvj0p/nMU59he2db6N1f+yUee/wxvv/d7/LO229LFF1K+OiGwV/KUXBq+F1pYIT1i62ip7+u9mCzNljILbJIRWIkKkno0MP39xv56gKo3jH8BBFghfCSh90pD+7u3xvT+rVKcm/3fozGiC9NYS2TayMunj3Hrd27XL/1Ic/+8EfsnDrFo489xtmzZ7l75yYPXrvCiy+/RIwe30p0jy0NSms6JxEwKsfoBJUj32Ic5FKu9RmpkwGJyfUnUdyHQ+g4mh/SNC1bGztoJS6+29tbbEynnD9/nsPDIz68dZvj4xnkBudg/5hEZDoeiUmtVhRFma+dZnb3Q9zbr5IW+4yX77MxKlHW0rQ+r9srV98ByM0DYKOFStyj+aQgTXBeV0X/qvFOnkFjzBDXZrKxXYxhMCOtKmnETGapNO2Szvts/mWpqgplLGEYTMi93DlHyEwh5x3H8zndUhhWG+MR08mE0Vh+nw8BUuD4+Aids9hLaymMkXu4BxO0GvwpjLW0rhWTx8gQSai0ojByvH30HDAku7jkZC9WfXzSilUg93+fJAGFAeeifL6YsEaozFXODLa5Se2cuEUP/VxmTPWvELwM7pPUIx/39bEb26YRYbjL/PM+cqbrpHA2pcFYscqOscjhyZGtjQ0619I0S8n7iwlijtnI9LhIh0/5xksabaTZCj4bHeWNHp01SMliSzG5qWwh6HEn8TIi/E640BGcNGNRGcmODVEys3JGl8qTkj6AfLlcUmjD5uYm3nmJJAqJoEULnLJhiHOOcV1TGkupLXVRU6SADwFrKnE/jZHgHFpL9piPoo9xTgKKjTGYvLGG5Egq4pGA8c6J8chIj1HKEnLRIj9XZCqBR2lF23TEGAT57BydC3TLjmpUUViDilAaTaULCizOd7gUqMYVSqvsvOkx0dC2MmkTWnMcCsmu7bDaCoUgSLNWlhtsbp1ia/sUd+/d4vvf/w61rfE+m3lpeY9CW+qyJiW4dOE8Z0+fZ1pvC10BjQ+RZduQtMK5hrv37nBr9xY+LcGkbKrk830gGroUendoi+8SgQ6FprQjUoLRaMzly5fZ2doRW/sAXRPwLkpmmKkzy0BT1QXT6fSEIy85jmH4c4zipJln8qkPRcyZfzH0DrB9rmbWlOYNqNfVquxM3Wtr4tqGLccXc8PYU8bi4NDIWhbggN72DVQ/WQc2Njc4e3YLj0cZk5siud/+zX/z32Z+dMyf/Ys/4dd+/VfY3NqC3PT+u3//f83//n/197l7uC8LjTbUo3poYKu6QhtxAKyqkrqumG5ssLm1zWg0xtiCqi7Z3t6irkfUdc10YyJ/H08oyxGjekw9noozubXovGmsiiI5DxcvXR6aLu+FntO1Hfd29/j2t76P0ZayKGnaBdtbWwQnWpeN8UT0kVGvTmuOD9PDaFxoqytX1UxBVnGtIM0N4QDzqJW5U9ZC9nQvMvVvfrSP71pskk0+Ijb+vRkEeRAIihQkj/Jo/5D50YxkSmF8SNgQkPAx0PmORTNjPj8W3baRKa7OhWePW6peb50HLCnfJDGtDU76SJL+eO4vy08mSd1fhw/3ATlLk5QIRpx7B1YD/X26cgftN74Q0soBOI+Igs8Ut0xN7ppWvBe0lgxnRXbsLPCuGwpc1TuN9weWo92SipS1xFkopRmPRqI+TVYGTEoRo+LO7T2uXDxHUWgKrTi1vcn1Gx+ye/cOk8k1UtS0y5YwDSyXS2ECKC2UtT62tNfk9XdJTGKIlhJd63JkRjaHCpGuk8FuURRyhb3Ebxgl2YeL2Zy282LogTiKY+SaLdpGzBJboTkrrahGNWdGNZNly2S8wTvv3uCD2/skrcTzIkbu7e1x6pQMjaqiYDKZsru3P9z1KMVP33yLdtmglOX4+Ji/8LWvUNiK119/k/euX8eReObZH/Obv/nrqOipSmkSTZ7m6x59VWnQp7/68k84d/4CFy8/kJtsmfB//ku/yP69XWaH+/QGx9K/qcx+WN3/9IO9NEhIT/wbA4rXGyvlWytmpkxf9K8NJ4H7BjtxaEg1ouONvZazpx3fNwgaaMbDAEznh+e+940rSE3lqZNaLToDgpqybrt/HgtrMBGC9/lnxMSRqBnX46H+6LOddeoRvIyqphxDghakVcswzufzY/TJB3u9IY2x36uEPC2NXeyXvYGS3bfgH2msfta5Wn1l7RzpYTirVtvbsEcOjJo1ecjqZ1eGTik/d/ImiZCSZCwrhcOzf3iPH3z/GV5/7ad87umf57HHHmMynnDm3AP81b/xt3jrp2/wg29+kzt3P6QPF4ip3y/0YBSqTmTJR0I/BBnil4Saq/TawAaG56EffjnvcmRgOnFKhiVXrc5LiitH3BP3Wm9g2Ouf6OO4eplfrmOiGpg1AvIqispQ1gXBBUyheWByiSvXLvHogw/y05++yQs/ep6NrU2uPfgQrhtx6cIj3Ll7E+8yA0UVeX3zpCiNTC/XEQ+NgNGy1kouPMSQh+AJqsIQg0LZHLEZxdio6AqSU4xHU0H0MtNlY2uHaiw59cv5nHt373J4dEiKkUO3JHjLaFKJ8WkIjCc1E1uzUdRMH7gGNz6gjgqvC5rkCM5TKEWIgS546qokDBFiBgF01QDIlTkmUGdXYqMLYojS7MfALDkWyyVVUaKcoy6s1BvZ5bkeV7iuI4aOGBQ+eFzwjOpxZouo/PdS6npE2hJDwLUdC7+UekUrSqupypKdrQ2RQBrFbDkXsyfnSCFRjWoqK5F3mxORCqUY8rqq6PLwWrlAt3BUldy/XdsSchzRqK7lHvRJ6mWgKCUlI4bsBZFlI0WWz+hCALHOi4TRao0LQXhcxkISBmhV2mwiuFpztNHM24Z6JAZcKQQ0UPSu37ag1RETM13qY74+dmMbvVAibZL8186Lu5c45DpqMxJNpU8411KWBeO6FhetpsH2yJWCLkgMkMVSldskYzhaypQ9hEBoQrZQRzSaWk4qHlTQQ3aSMtLwlkVNKLN+yhisNXTOs2waQhlJZUlwgca1VOVI4PXO0cSlPPC9vg/wwa/QC6OJQdG2LRKZFaWBzwY9vQN0URQYLDoISktSVEVBpyUiYjoZSWOroOtaYohsTDcG05iyykWjDugkzb5znqZtKMtNTL5x0CZPkjKFKp+v/lWVEjTdOYlU6WlYhS2Enp2jd4KXwYGxZmUElR9oqw1BiZ4YEnVd5aI10TkZFoSgWCyWw0YzmW5RVbXQm60iRtFB1LZkXI44vX2K7Z0ddrZPYXRJCHrQGi6WDUfzY1BwvDxmb39PpklWCmFrLSH4rJF2xOAobU2KSDZXCIK225LxeMLm5hanT59lZ2sn0ydFl9zH6Eg2pGwsVVUxHo+zSdRJLcuJTXptU+0dSNcLp+H7+klfn4eZYs6v7FGHvqnN339/g5EpS0n3SFe/yaVh4z3xmfrJeMrZe1nz8vTnn+Zb3/sRe3v7Yr+ea6wHH3mE/91/9B9z9+6dYbpM3ni/8NWv8Z//7j9kuVhIwWp0DhPPDIvsNNzT99bRsLXyZPjcq7+uTfLlDzmjLdEuHV3XsVi2LBYLdvcOefOt99jbPWI2W3BwsM/e3h67d+8wmx1xeLDPX/61X+bhhx/h9ddfI/jA5cuXcc5x5tRpNjc3OT4+HI5pdXyrj9IXDQMaQP95Mp1vLUN29flX7sdy7mOOdsgZhtqIm6KS8jvkoj9mA6IUA51zLNsmD/wUVVnhXZPlByGr8NaL+khMjhA6QSCFKZ3NOQZFw1Bs6hUnbZWyeaIg5L5m9s8LO7+/o1WDrlZl3Tr5765JzA8PicGJHX1mMYTQ5zv2hmdraMsAUvSU0dXvc040mL3OCSXanrIs8F0zxGP0R7P++aTYU0ynU2bHxyil2Dl1CqPfzxPxfhaV2N/b5/yZHeazBmMU2hSUheHO3Ts8mM3KYogslk2mkSdOnz3H7PBA2C05Zms4nrwXdV2HsZbkI1VdoZT4RBRFMTiNLhZzOUatKCtBZ3zwGGMZjYqBxhiz7ns+n6GUTPc3NqYslktxIO8R6wQbkwlnTp/i+s27ucnPTKqUeP/6dc6dO8eVK1ew1rK7t5dlIYH5fM6rr77GQw9eI5E4Ojrm1NYmOzvb+NCCSozrMcezGc8++xyffeoJMcEzMWdaJ9aXQ52HQtG1/OSHP2Bn5xT1eJI7Bs90OuEXvvZL/NnX/6nspbl4CUGKL501VTH1+nTRVuYEHaHyxXTi9uxdiJVOq+exh/REfE1SKyTtvh8fbr/+LtQmDSjwCnlMA0LYf3canrPwkfVvaNlUz1ZQw8BsHc0lNzODLrdH/oxGq0DwIpmxSvb9GGLWFSp8pjySh6HDoruaxQ37u1JRBjv588cTDegay6XXdOYmbo2ostak3o9bry8V/XOusrHY6rOc/F39faM+skYNXJQeub1vmLG6AqvnmSRRLTrfI4MxZlTE5Nnf3+Wb3/wzbty4wZe++CVOnzlNWVgef+KTPHDtKj965ns89+z36XLN03tlpGwAabLZJoPUKN9LiCHdYIAVwnAfSGMrf+7zanuZQK+JVcM9dJIW0O+TKa7Rtdd9UbRau+YrOjS9U7bSw32X8olSWhiCKjMabGHFiDFGLlw4x+lTp7lz9w5vvPUmP37uGTY2Nnn4kUd5+MFPsLd/l8OjXaLzQ3izsHhE/qGUziwDuUIxiBbe2oKkxRhwuJ8KO3ixqIxwHh8f4tuIcx3T6ZSmcWikQVNWUxWWwhqm0wld13Lr1m0O949o247WtRhriD7RtpEtU3F8+QLLJx/j009/hn/we/8QIRWp1TnsnzGtid4LHTjnbxtjOD4+xjvHqN4eslT7etV5z3HTDhJDuU1j1uwasIgBrRHJlHMuOxDLvmayK3Nfc2utGVdVriEiVU5zWS47YVFayZZVExiPR1RFybJdgINl1wyI9YULF1CI3NEo8ekxRtMFP/g+eC8a4lFVi6Q0R+0IUJYzfGOUKB4fBqRaKU1dS0576Af6wxoirNL+Me5TP6yxuGzGWRaFmPvmiM9ewiLnNNJkXx+TfY+ssXlviEN9GXqm6cd8fezGVqtEaQ2bG4IM+pnDR3El897RdYZCK6pCNqvlfI6OCbKGcWu6wentHabjCe+88S53Dg9IWrOct9g6UZYVSaec0enxTSNULCy2KMRIQVuSjZgkk7TWO9CatpXCqjSVWH/7RF3VGGPxeWLRdB2VsYLghiCNOeBjwEcnBlBKg1YcLeeMqjHlxphu2UGSLCvvl4SuRVmLscIr9/0mYIy4+lpxTpuMxuxsbXHzxge0KdAEjzER7zoxWpqL+25hC9FoaTH+CEm0AFs7OyxnC8qypFvKuSgLy3y+hCQoZlWXWGsIKeFjJHgv8RBBUNfpZIPDoyOaZQtBHsx6PM75UxBdorDZNdj3dNpECkJp7W92IJs1SUGjdMEPn32WKw8+wZUHrrBcOpKGEBpc11EVFWV2cD536hynT59nurFN5wJHswUpyo0aUmL/6Ig7+7fwwbHslmJ2VMpC0XXStLtMV0gpDoHhZVFik0WR6LqWQlvOnjrLlQeuyXUMQouJMeFDEHMvBB0X+3NBFZOSqeJqk8g5nb2Jhgq5lcn/3m8acY2ylhgQdCXQECEX2n3lJ5O+ONj4J8WJyVX/3mmdxtl/psFwYl1v06NFefEZBLiJTzz2BN/+3vO89+5Nbt64x872lsS2oNDGcv7CJeip1GsN4GRjk/HG5lBs3G+o0kcUdCES2pDjpeS+61ygbTranAm6aBqcCxwezpnNjjk4OGT/4Ii9vX2WsznLZcPe3gHzxYLlcjYYzUUvwxGJEstmAnWJUYozp6dMRxVPPvkUt27dxvvIxsYmu/fucuHCBTFcyPTfPuaF3Gz29NUeHYh9Q5hRsZA1n33T0vfrPUrfm9fFFAeqHznrN2YUXd67L9wSRiuypxyjsqCwOg885Jw/8cRD3L57k5u3D1B6CEViXBT8+7/yCyxci/eOZrEciva1D3Xf62QBuBJk87O++b6vneABnvhqjz6QG1sGjFLom+fOnOXBrR3OFNkVmZhpgRrT65nz+RwK+vxretShb+b6Ta+/34QiKsOaRbrPyKb/jIMbLWhtGY1GYqRiTUZH+udspU+0Rcn29jauaymMpmlbJqOa+fw4G5MpotK0zjGabFBUBZvb2+zeuyfXNR9AT18kBULnCCphCaAjh7NdRtWIuq6yER20LdnASzb2wkoDasbjQSrR3789+luPaykYFCxns6HyNXlCUJWW+WwJwTMZlxwvHZqCoGVfWjYNH9y4wc8/9RneevttuV9zc7VYLERXDNy+c4/xqBbKczXnxgfvU44m+NBxeHjICy++xKOPPYyiZFQV+OBRJpKiIxkZGJJRLq0Uxwd7vPL8s/zcl78m0RkxoFXg/KWLfOrJz/Lyiz/KDRArOYqWQi9m9FalKDrXrHG3xuBVzPEeaxR7FU8yZtbuT5XiqqHsEaz1O3z4axwGNgwayxVi22si05qJUUir6KnVnEWt/dcX0tkAi75RyTRb+vW8b3IzHpkLTmXzoN8nkhHmFloMxCwW7zqx6r3vUJJUrPJ3nfXJIQxsDh05Sble+yz0iHOmCq0jr2pt7+ljmNb1yqth8ElzxDQg3GtDAtU3fuvrllr72p/36gd4vcY6Py+xzxhfOfoLRbITs8ku8sbrr3L39m2eeuopPv2pJ9nc3KCuJ3ztl36Zhx99hO9/9zu89fZbxOAzg0tl4x8zIGzqxLGq4RzFGLMbv15R5NF5Gc4Zub2cIwlLIWa2yoDarg+q+98zzCwiJzdkVhFhiSFGU7Jte1mc+Hv084MYo1QyShp0ow1KGwol0ZTnz5/l9Jkd5vMl77z7Lq+8+CLT6QYXL13i8sVHmC32uHvvNj5J3V9XBV0I+XoDNuU6UiSE1lrxTQkhx0fmfNeQBmq0MBQ7yrJk2cxpfcNiuWBcTdg023RO9oTSFiKzqmuuVmO68y1HR8fc3b3HbL5kdnRMXY+58sWv8Av/0/8Z9caYG99/hrsLRWU9dWnQNtElh1ZgVBJ2oRGvBWOt0Ga7ThBDnam8WgmzTsFx2zCfz1k6MSTUWlOUJUXWryoDJmk8YlK1aLoVOJcUVVXJ2pYZmCIT6/Wmgbbr6HJTSQoURnFqa4OysGCSxI6iaecO7xxd24rGdaQxpcVoRVmKqZbOMXFd8HRNJ8zJoszXIw5mheIEvdpvm6YBL02ksD0CWpW0rRiIxizDkTgiTUqKpllIoowx1FWdBweG49mCthMZjrhPy70ZYiSmNYDEiKSpbQU511rq/mXbgVbiy9AqRmX937AunHx97MZ2e2uTpmlZ0mTYueP4eI5SQp+paoM2MkH03tE1rUDqXUtVlmhrmJZjxp3i4nQHozS7bsHh4SH+sMWMNLbKLr05cqGfUnocpigprUy+CyWlRYyRLnhSLhSslZgE33pU6J3MssjZSCPZc8nLspTpXpRNtc25gZN6RIxB4HnjIWtvN+oxTaOYzY5oZjNBaa3QLkIMVFqifxRgM7JalpaHH7rK9Q9vYfMNu1wscVHQR60KJpMJdSEZv0bb3EzJBlRNRlST8eBsHHJz5DqPLeRYCmtXjZcRXV9hCsqqYjyqcFmv7ENAJXEfc62jrPt/kwZMZ457IuKDp1CFuJN17eBeRm4CQ0q88JMfcXC45Mz5i7zw3Pc5e9ZSVYKsl6OSzekmmxsbnNo+S11P8T6JAZaxQv92ns45Do8Omc0PaboGdMoOqXK8ruty/m/LaDSiqmtigCLHgyhrsUqxMZly7ux5Lpy/JK54XtzxgveyeOQCKERxza7rWvQNqt+gWdPrrabXujetybqBYfKeN+CPaIxUXzCszlfK0+moFFELGtujWGLGk1amPlqc5fr8r2FzyxEqNiRKoA0JUQDkDbCfbCdIyXNw3NB28L3vPcvuvf8Nl6+cY2O6LXQXLVSctvNMJmO2t7bwPqDi2mYaE7P5LGeuCX1+1ixw3tE5T7NoaJYts7kUxoRI10rGZwgu/ycmCzE6YhQWxKWLF6WQj10uo8T1ry4LrPacPSeaxrKuMKZgOt5gNBqTEuzt7zNfzvnBD57h7r17HB0dDHpxpRSXL18anPRYd0Xu/zfkC/fT9pSnyxklybp5sbnXa43kCnWJ+brLtdUrTVTvHxAEZStMQdd1jOpaEC4tsolCFZmh2Gd9B37+c09x9vqHHB0uOD4+5q292/wFrvHbTz42IJtprcD+2K91nbFiVT73jeoJHfL9CPvquP9lXofBcxQixmSX+x7dV+sNx6oI11n70yMM4ii5ul5yXi2j8ZiDvTUn21wgqjWWRN8Qbm1tYcxaQ6tYe07luetcx4c3b1EWmu2tTaaTKdNly53dQ5xzFFa8AlrjQCkODg8ymrPS+ElhJujZgKgDMQSsMYxH45x3LHKCorDUdT1ouO7Xyct9dNJVPXpPYQwxRUpb4DtBdnXWhJI1/JPRhK3tHaI1/OSlnxKyAU4vg7h16xbhyU8TY+TRRx7hjTffPDHQcp3jrbfe4jNPfhqtNU2z5Fd+5S9Rj8a8+vrrXP/gNsuF48c/fp6/8LWv5gGEZFkmq9EZURzuG6WAwHtvv8WZ85e5+sjDMrLJ+bWf/Ozn2N+7x4c335chhMmNQxK0P6pE7Fx+jllRQWNuZXrK7Bq7ZhXP0hfwK9OoFO9bp08+JuLann1xB9eEtGr91u+fEz8+7BkrVLNfZ3qETjbNld795C+Oa++5zqdIa/dBfi68x5gClT0w6qqmqsY0zXLQu6u1Z3d9b+qfwd4cLeqV9GBdBjJ4hGTCh+rjj/ov9wea+iFrOnFOBt3oCSPlk83v6kjXz+X6Xtqf95NeCav1u8dw167JMIw8eW3lPcMwSITE/v4u3/rmN/np62/w5S9/icc/8RjWGi5ffoi/9q9c5OWXf8J3v/1tZsdHMlzNOeTD4OUjHgJ5vx+42uL1rHrzrf7+6g25epQ29V4B8cQ91a/RPbtxtWavYp3IaHCiZ6vcd1+u32IwUN2VTHFX0U9R4vOM1dlR2WOCobAlTz35GS5fusK7777HG6+9yc0bt7h46RwPXHqI48UR9+7dxbcQVGZLKBlAlaXGmjycIkpN6pzE6AS5h2OKIifTUjsbo4c13LUO7x3LNAMlRqRGGzYnm6RUYk1NPa7ZmG4w3dhgsjHlzt27uEbkSs6HXMuKQ+98tiRVCqNLnO/oYsd4VFNVZc7IjWJQmKBrG+llqiqz5KSvaNtO6mYf6FyHR/JcjdYiHVAK13XMswQnkjBV7knMKm9Y2J2WqhD6dEjiOxOjxMV12SdEIoEso7qmrkthLY1EknM0m4uDj/cSAZcS0QfKsQwKvPc45wbQwhiLMQFrBDXtM9VHo5H0ODFiCzOYS4rcshUX5Uryh0MILOZLnHdYY6jqchjsWWPEqT/L9VzqTSptbsTzwGkABdKgS06IHC/ESLtsBbAqqxwZGIZ7uiorrBap68d9fezG1haakSooLTRtS+cUrjO4kCgKw3gkTeVoVEkkh8sXOUWiCix8i9mq+fDOPY7ijDQxxENP2y0oqgKTNEQJ461MSWHrrBGRRqtxc9RIHFJd1viqwmDUChnrzVxKK01L6zsxerKGYjRmMh5zdHSUtapitW+s0Ai1TllkLZMYo2M2ACmJ0TN3M0xpmG5uEo+PiSmwbJdoa2m7Fpe8FLKonIMYufXhnFM7O5w7e4F7e7t03rG9vUPrHcumpW09VmnqohSNQoi4GChHFfPFfLD7XtnvW0bjKaYMOcPUr01bAqoQw4IYI41v6I5bkni1o1OBxtIsnViGp5DNqCJVaXG+QVtD66MYxiSorCW0nqiUTKWsweZ8Raxn59QOT//8Z/jGn/wjTm9fJOiITuJ4fOH8ZTam28SQ6FwSG3kvU/EQPLPFjLu7d9nd3yPZIIhnNlzoM9tcMlhtqTdKyrKShl5pCmPwrcNozZlTZzh75hwb002ICu/FydfnplYpMTtQKHGHno6GQkopRT/3XZtfQ25UhCqTJ/e9ZXvv5Jof4L7I6hvClISGPJs3HC0dPjvoeu/xzkuB3Lt+xjQYDIG45EbAO3kOYhcG6myIgXOP7/LVL8LLr73PG9+eD2iwuIl6vF+KntEFuhC5fe9DDo/2ef4FS1WJ3bzOGmGFGig2XdeKmZtWmRlQDkXLaDRid3eXu7t3hpwuTUSrSMKgVMFolB33sgCxZygbI66V1mqqesTGhsGaGhgPRYvSGu81KkYuXrsm76M8Nt/zjW/xXvSmMQbatuXVl1/JBZYMMXZ2dtg+tc3h/j4pO+aurqca9EZ9UXRi688VnlUmG0DwM2i6Wc9GLtwyuqqUNCw+BBnX9k6pKaGSpyhH+dekYSCik2RQCqUtcfnSJS6cv5SPreFW1/F/fud12aQ7T9d1tM2StmkG59a+4R2Cy7VmVFeZVisbalmUA63X5MmotTbTfCxVWeSNO3/EgRq5muDGXkfe5zQPgHFPxWSQg6A0bUwsImLmNlhbraJDpNFcOUzTNxT5d/s8aFtvWGKIUmigMtoYV2B0z5YZjHoEXQkhDJEKSUdC6EhJ3PFRkRQ8xmoWywVNu2Rre0c+TgwcHx5y+vQZQlKEKK7XVVVTbiv2791huVwMxh/LdolRhmpUE2NgUoppW0qK8WiMixKP0HUdjXNs70xFH5mkEO+CHwp6GVBGjJHotgT4JCaIEqvn8d5Taoko8oEsqVDsH+zmyTgYA96r3JloMGJO+N4H74su9/RZfvrTNwbNuVGa2x/epusWlFYTXcvcNWxtbrO9ucnyeE50jslkyt07u/zouZ/w8597ChU6rJG1tk/RNSZfZyMNafSJ53/0DKfOnmO6MQUnQydrLZ/70tc4+OM/oF0cCwIbQ45JSjk1QFDz3rRvWAdzs7tCAHuvjP6Z1fe1iOtIZFrzLMimV32DfB+Q239/Whv4RWJuRPRqKJFWuT79wGJoSnujuORzc6FQiNyIHp3tF5Ks1ewd2vtj01qKYe8DMTiMKogePrhzHYCNjQ329/fZ3t5mPBqdpBDf91z3jBYV5ayEGO5bD/OwiZNNYua8CLOpd+pdQ8aHgYZeMVzSiRN6kp2UcrNnVOinv/l7VkOB1a8/2RT3wWlR5/PdR2ZlOqT+mfO/RAqZcWYiSXnu3H6fP/mTXT64+Rm+8gu/wMZ0g6IY8dnPfZEHH3qc7333e7z+6ks412a5gccHnT1I1pvble4apU6cz4F23ts+q2EuQEwh0+L7Z5VhrLJqmFdEZY1eUazp184e+Zd1aoWi94ydNKDOKDGeUllONbTdsR/c65yMIfWf944zp3fY2drk4Qcf4r333uOnr73OZDLhwuXLPPTA48Tk2NvbZbE8JsbsE9M2mNJgjREgpZPECW1E562SmFANTIYE1pa0bZNZAonpxpi2bTleHNI0DVVVMRpVmKTofKLzisKWGGPYnE6oioKdyRb7B4dMx3U+LxIdeXRwjN4Zo6wAHcYkicJKSDZtlh+1zlEURijbqo9aE5PKZdNm7XV2xU7iQaI1pOBxuT7rUekQA4v5AqOM0L8LS3CeGKHzHmukh0m5FnadwzctOgkqa4yBQlNXFcqAMnJXtW3Lcil5sIUxFKMRzWLJqDKURmrAEDzLZcds3lCVJVVZorD4ANqLNttqkxmNkmCgNeLHEvK+qxW6LAYX4hgcLke7FoXNxqjCprKmwKiSkKONfMqGH9rSOUfTtpRFhbG9uZbCR9CmIMaQM4PBZiaTypI6pcUXwiQtwEBp5B75mK+P3diG0FGUlvG4Rs89jbNoU5PyJNDYgqqsBh1IDIGyKDP1UtF2LS+98dqAhCSVUCNFETWntjbx0eNNdnLLm1FRlAS8OAFqjXOd8PZTn40kRVdveGRNIYyiqPMmlPJGJG50y6UYYPV6RaHqyMTY9gtRRn6zMwPex6zDi6jgsWjq0YiYBEksjGykTdMQvGdcj9CAj6IZOzw6Zmtnk43plA9v30JpQ11UpKQYVTLZ39newTnHYjmjWbQAbEw36JpWUKAk/PrgxbxKG5nUGSWC8xCEEpk0WK1l8qN6x0VwQYqtwpicYZmjkkKgKCSGydHinZMs4bLEGEXbtGvN28oIxftAXZbs7e7y4Y2bVJU0QuN6xIXzFzm1cwatS7zvGzjkwcjo37JZsnu4y9HiCI/PU7qITRJxYbMpyaTSQwRC1zqMsqQgRUhhS86dOcPFC5ewOueQ+UjbenyIwwbgvEMrzXRjymg0ypvFSkN7v56WtSlzP6HWeoVIrJCJfirfowfyXwR29w959scvsLvf4qMZvs/7NROT/nex0sXEvmDqp81xNYNPMaJPzQE4Plpy587RQBGVXSoQ8JCzHqvRiFNjubeqssaWMsyRgG0NWmMyVdN1HXu7e5nx0FNE8satNZtnTlFsjCBrakgORcSaEq1s/vxp0M0UhWE8lgHC/v5B1q9agleksEKkeoK3C9KIif4visM1oEKE4LDI5leowOH8mOnmDucvXeDgpX2cdzzyyEMiN2ibjLSshzemtfKg18+tIJah4cxDizSgKusoTdYOxjzwyIihZOuZQbMt64ro942xgx5rpV9LK32VUqQc4G6swiTZ0GI9wisFZYVJgSpGqjzVlY8Wh6JGmkChFRmbBxe6ZwxIRFdKflgDE+BVImlNiEMi6EBTExpbH82jMnVSrRmZrJ+Tla4GZMA2mKfkp2xgLfQ3eo/SpB6xYDj3ai3vrn8w+oZ1WI/7d17X+PS6M6Uy+0HcZvvBk9aazL4bjtUUhjPnzhJ9J9E6xlLVgVu373B0dMTpM2clmza7RRutMVVFXdc0reRxu4ziqKzbb1uf12D5PN57WtcNkUp1XQ055j2LyBg9TNiF5hioqwrXuSH2ox6NMNqwXDSk0GR/if56iS5sVJYUWtaZs6d3+PDOAr+WnQxw7+4ejz32KOPRGJJIUDrXgdI0TUOKkaIouXXrNtONaTaBSbz91ptMt7aJwbO7e4/Dw/83eX/abNl15ndivzXs4Ux3zBHIBBIAwQEcUWRVEcWhSFW1VFJbEWqFujvk8Idw+APY4Rf+Gnb0YDva0XK3W1JJpSqViqxikUWCRRIzMSMTOd+84xn2tNbyi2etvfdNQGrqhV44fBhgJnDvPfecfdZe63me/3TK5z73PLNpJukCKtGC07DG9665Shk2mxW/fPmnfPM7v4+1ObgWXMdie5sXf/ub/PVf/Gns63TPkHDRUl5Hh9gQhxkhnkVqdD+fWzBxPSRmxnh9DFtC6O/pT/ZASaP+aY7o9JpH/zgCrIbh5HBPjH+1mMwlSrwesUASM79HKc+9n4gaoclzGw3r5Ly4cOGCUNXLkgsXLrCK8Rjp9451rT3tcMRE8lFa0LMH+p8ZGtCE+qT7d3wuDvTp88/xaY/xz/VckDDaoz8xWPsUNtRIsKtGpkj9ECB95n2e8HANUspGlqkoWRATytVqxd/+/G85PHjEiy9+jec+8xmyPGNnd5e/9/f/iC9+6QX++i9/wK2bH8hnG9ElKfCznq3TvysTkdWecZVOnniepXisdH0D5waVWqc1mdaw6nOtU7TgsObivpc+m5HRVBi5iGuto9He8HnqmOrQr+vRtRZTUx3ZNB3OOHZ3t5nPX+DS5YscPHrEzY9u8tFHN3nyySe4du26aO514M23XqNtOjrvUaXGGhkMmdzEWC8dc3HVuWsXop+NUhrfCjMmj+65KVFgU22kvuqk4ZzNZhRZgVWWvMi5dHnGhYsXuXjp4ogdpGg7x/HxitXSMJlk5DmsQ4NGHIdFKmKizEoGkQSR4LWd8LiTBrfpWpzryG1GXVcydM1yrEo1paNpRBubZTmAXI+oV21UoGpa6mYV2SRajC+tJY9yq1S3Gm0Erc3FSMsHx6aqaOoKay2LaA51mp2Jb06U0wXnaepaIpbaBsKUzaaiKKaUzlJkth/y9+CO1nS+Y7PeiDloKYCHcy7SqImgndQ/ITbDSZbloglY17bYLMM5LzrlupGG34DVk/7eU35IlTDG4kMLIfrL+OQjEBlxQZyqFb4frP0mj/8IjW0DwdEFRdByUItTaoyyCMhUUWu6tpGcQyc5rKJHDbSdNH9BBWxhKEqF0gUqC9ig8c5EzYCWm0NJvlieZwK/t6HfVEDFBTM4KGslkyJwaCUUALxBBSm4tFJgRTeZLPMVkOWWnBR7o2Icg0wzN3FKMJ1NpLkwGcW0kPidPCMoL3pdL1MfYy2d91gk4uZ0JYj0pCzY29njbLUmKMWslEnQZrPhYeeYTid0neT7Lk+XTGdT8jwiz00VC2BNt2miqVQOmdCpgxZNFjpGjBBkgukjFcFmtFVLwGGtZrOpKYtZP8lsaym2u87hVBBL+NkE5z3HR0dorehcjTUaazPaNvDZ55/nf/9/+D/TNi1f+crn+fM/+Wdsz0sWiy3yYkrnlbged57lahXpuB2PDg84PTtlXW1o2gaPIyss2spn67WjbgA6scg3BufEiMd7R5nl5FnO9Seusbu9K7FMjkjp6AghDkS86BS0USwWWxRFMao4Hj9sz1Mvx9NqKZJl00ixCfIc5ylSIRZEJ2drfvHK69y+94DWWXwY2feroYRJr0MoPPI73fjLIebYkuqtgAuy6Ts6ulCffx7S+5Dpb5HLGq3qGq0MSmfyp7XSgWlw0bV2vrXDelNTV7W4qnqZrKYsPm0LJnbKetUwufQ033zpOWbaQ+u59sQ1rDHs7e1ANORqmpq9vV3m8zn/zX/73/Kjv/4xSpdohIau9FDkEbVItsjFIMZ55kXO9SefJNOB5559khdf/Crz+YJ20/B/+T/+n+iyjCtPPMkvXvlbbJZx7fo1Dh4dyDQUeidkIjIgMTmpyYzUL6/6dZCKh54pq8L5NdDroQd9mNaKspywXC4FYUvxIiica5hOZqOGLhYhetD5yktQg2OrAmXiwCkElNExR1PWlklOzrFZpnfGTPtzGJpSpSJtE5RKW/wINUX1CEf6P21En+Zjdlzv0BkLyXQ903OFNCaIBis9bVANhi9Bp4xaeaEaCF73qO0wEAr9fp6GI3pk4FVOJrhOTOJiqIl8fCE9jzQ7Rismk4Lt7QWr1YaisMzKKfWqQmOiZ4Nm09Q8OHjIfFbiXEtZTMhtjlKB4+OjeODrnt6cFznLo6PeAdV5ca9UgNEOOnGmXEd2UJHZmLU7nFfTqdBGlVIoG7DWoKwh4DG24Pr1a4Dk7B4fnkhBkFmqupFzDijnJb7tcK08t7VCnS8mBYUPLHa2yadTTv7qZZatZMOm2Jy7d+4xm8zYmW1x5dJlgoL7Dx4MtEc0y7Oad9/9iBdf/CrGWJqm4nvf/y5ZnvHBR7e4c/sRq6ri5Zdf5g//s79DvWkxRlpZ5wEnTZtRJg4GPISOOx/f5N033+LzX/4SWAVdC77j2o1n+PyXvsqbr/yiH4AkveI5KUbfCNIPRgb6qyKxVkK8v9NueG6DVP3SPd8Qq37xxgGINLd+NPwU46DEONCjVyNnbVCDjZvcmo87vas4KEK0+uMW29NTVHuULRr8BFLHqfv92EWjl7SfNE3Tr7FkUCaPQecqRkj0za3UB5FS7OOwoG9ux/ue6i9R8CHGfJ03cAlRV5qa3ZCGb489xg1r30ilc2v0WX/i58JoWBEvUWqr+wZ2uNARsR8OUaVCj1TDCE2P+1vXdbz//gfcvX2H557/DN/81ktcungRrTRPPX2Dy1ev8OqvfsnPf/oTTk+OpQmLRnd1dL1PwwIbzW7GkolhfPh4XaExCgwqOmAP9QRxTxNTQHuOnTB6giipEQQxMTDG3gRpLerYkKehYIjnyjBsHdmixaQQpQ1ZbjDeo3WDzeDJJ69w4cI+1689xcODA27dusn9u3e4cOki165d4/lnv8St2x+wrk4hBDovviMoI8/vpeFW1kiShBaToRBNTb135Fkme7/ROISFGIKYNrXdEq0kw5vKoc0cY6c4Jz4qxkiTq3pgLGNne4/l2SmbuqapKopSs1jMsEbYfK6LGb3BDWsjev10PlCvlmw2FZPJVNBXbaJ3wVrYi1ajVN5LD9IgVilF52QIMpvNIiNRhvZayxoqckvlWxazXCJwjO3jNsWkz8iYMKL8eW6Z5jnWWrZmJdPplLLMqOs60qoDylomudR4SusY1yemhU2lKXKhJOvIWFXRpC9E2Q+A61qqVl771vacNibf6Cyjc45yWsheU3W4zqMzRZaLxMZGIzHvA3lRSN1M6OMDV+tNXLuyHjNrIcYJdh1MJgVZZui6RoYiRrTBPnTMp7NP7A//vsdv3NgGJF9JpnxQFLmghTF3QWlxyjUmExRUSWZWnknB4HFsmg0o2XxNiIOt4Gg7gfo778hM3qNYOlE+lCwU79roekc/7T5HY3PCx59NZhFdDFEnCMbLBATEEU5poY66ro2c7yDaMCUfsNaazWZDE92acytNs1c+LjwdA5cjncIYaRY6aaaIqGiiIG3qWib6QW7CyXTWL2LvHKvVEte15JntQ4lDEM2WNJbStJVFKYHSzsUDV0VXsiE2QxsjP6eElpcXBd5IPl6ZTWLgdJoAKtHras+6WqOsOOB2TdsbAPggdEdjrNwMSuE7z/bWgq2dXa5df5KP3nkD16wk8iko6tZR1xvqruLj2x9Lw60dxydHfW6fV0HMsoLqXXY711K1mzihNGQhw3kxJdBBfubqlSfZ37tE1wraG4IUUwQR6jdtKzljVtZCUeTRwCQi+PqxA5bztU6ieTKmNn3KoetDol3JUX62qnjltTe5ffs+Xad6llrcLiP7cmiOAwPypILob9P0FhJ7adwIjxrd/vWOHCbVQDVqm06ogk2DzTJs06A78DaXeBmjpXkyhmqzYWu24GBToVIeL+m+TvRjcKHg2he/w5e+/mWev6QxwIfvfsCVK5f5zPPP8ejggKIoWS5PMdawtb3DhYuXcQGyMbUtTdbV8H5UzEbzzvMP/sE/5Ctf/iIfvvsO3/7ON9m/dAlCi/eGz37lK/zoR7/kz/7sTzg6OuKll36Pspxx985dZlNx8NaPGR2Ntaa+N5HRve7NGtPr8dIRPzSzaWIur9cHz71799ne2cE7+fuVy1eEfqsktkSNipj+oxkVDaRCr6/eiWtNiXlYX/Cdn/D39LTHXUvjV+R+1p9qwJKK1rFOfPjVqjfAM4yKxBHw1SMzyegnDFEl4/TPsS5O9w3q+HcNrDwdaXLKi6PkuKjz3kUtoBx+nXPkwfbX4tytG4jRRpJrvbOzw3K1Js+FJm/WlTToSqEwNE0Xs8PnouOqK06PTyAEjo9PaNoWY4ecUKV1n7FYVWu881R13VP6kns73pMpoW8Js0boU5PJhK5t+88kFRBllnN2ckpZFDy8/zDu4eBbMRJBi/OtQ9xxt+YLVu1S9qYwrFEdZTdd23K2PGV/b5v6wQldkklElsLDgwMe7u/x2c8+z9vvvhNHE6l51Hz00U2WyxXGWNbrirLMuHz5EuVkws1bt9EGJrbg4NEBH3zwIdeevBSp4SFmz6Ymc6CwhCBMp9d/9Qt2dne5cv0aaCeZlwZe+OrXOX70kDu3b8ngR6YFg9mOMrhoPtVrVsdIahhlxZ5z3B7vsY/dKIP92Tkde6KUJkMiMQiO6nqVvt/Hta+iSXeIaHPS9p5fl+m1yF8T738cYROimU5qGAdG0AC7jl5+igiMDaxS0hh57/t8SAEURq8jXYNw/n6WGib0FMrxT4zR23P3/6foWEOPMH7KntN/Lo/DuercCxozqD6tuebxHe0xRD4NRdTANY9f9ueeZ4jGSRpsoX9XtePNN1/n7t27fOVrX+WFF77Azs4ORVHy9W/8Lp/97Of4xcs/4xd/+7e09SbK1egN70LQvewj7bVmBPoMaP7wPpPHANaO7sMgn2c/1BwimEjf3y/0OIQZANzRdaM/u4ReOnL2H30w565vMugbDXl1zBgVwECTZTmTyYyd3W2eeeY6JycnvPnrt/nJj3/CxUuXuX79Kia/zMnpIx4dPUJrQ60kji84N0ql8NhcKL/OSyykippU+ixTofwSIGjfMzVPT46ALXzn6EqHVhkag68jOKWGxvbq1Seod3c4Oz3i5OSI05MlCkO96chyw3QmCQdxHiy6WGVibS+IbZbFdIiIsoZOgLM8E/1r24qkRFvVn2Mu6ucnkwl1U9PUNdbKPjGdTsisaGiLIhPpV5S6iYa1wEQzxbptxR8nuhdPplPKosDmpmcP+DAYMNoyQ1uLc5Ji0nYdZVmyWq1pa4d3GW0n/kCzctKfDdroPoM3BEfnopN6GFgqiRHQ1A2dcxFtNliT0XadyAU70QlnufRQddPgPDT1qo95TPeqTrm5xvZmXDazMmjwYK3osaumwlgdB/+/2eM3pyITHT1jtmyWSX5n2wxle1Hk+DgBrJuGLM9RmSXTEvxnM0VW5DgXLeu7mixXGCMmUF3waDIybcQZrAsCUJi4oVuFCfIBiD7Fx004CeAVrvOsVxWz2Ywsk/gAay1t29J1FpFkaOpGGlqdZq9eoTFgFUpb0TF1nrIQYXdbN9jJRLSSUXytgK5qcTG3sCgKcisTp+DFmbDrOlbVpg/zaLuOoA3rqqIsMoosR8dmvasVm82G6XwuN3FarFYczpxz5HnOJJvRNC2ZzmRhIxO6DhcpJ7LZZpmNGl0Dhcc7CDhBnwk0zonhVaZE71uWqOBFd4DGNa4/cKzJCMHTuUCRWTSato2THGPI8hlN3YhLWtuyWlcs12dU9ZLDk/tsmjUeoVIXRRaLIE3QcRIUXZlDnAlU1YbZbIHNLaF2GKO4fOEyly9dZVbO6FqP66DtfMwlDvEgEfORPM8py3KgvPhkzS502PExPkbr9MjxUX6OHg0d64SI89TWyfR7val55Y23eee9j6maQFC2n4R2sUPQCVX16UCR59GJKkSMTFExziq5LKY80J4mRtTU0NNIldZoJetZG8Xu9hab9THPPrvPP/yj75N1x9SbU159/4hNO6HD8MHNj8jLkuA903Imzt6JKhzfp4sHq9aGzGQ88dTTXNi/yvHyNoWBL3zxyzRNy517RzgPN+/eYTadcnR8iFaPeHi0IegClWUDBSYpMNPa0jJVJh7exWTBrY/v40JBoJThkVI8fPiAW3fuYPLAoig4Oy2Yz+acHJ1xdrJiMS0l2iL4oWn0oJzCq5SxlCjIsmEbLRhKUK6nv6gRqmOToVsQSrxWmievPiFGBgquXbsijpzBQaT/5Hk2DCfUoAsLSL5db34U4nApmYqkNRo/gbSNS0OckNSBAj9ev32zGgbR13kdIv2f48aWvtgb6kHVR1EkGWHoKbU6BZAm/aBOzcWAWOn4dZ1Q2seQIBKG22fy+hFCG2ld3uO8DO2yrIwD1dTQpLBR1ReO6Y5UWnPh0iUePnqEMXIm4VyMEJJr7pwiz4VxNFHiLE8HTd1yvKw4Pjlh/8I+IUBVNWRWM53PUMqz17aslmdoLVl7u9s7ONdwdHSItTnldELTNWhryK0ms6K/JXTYTK7hqqrIjQW/ZpIXQjVereiCnFUhZiUqjyARuYWgOX50HOnism6886zrtaxjK/mAT157gi9/9Uv8j/+vf8nB0RofhizGk9Njbt25xXe/+13ee+8dyiKnbrvYcCkePjjAdZ6imHDr1k3297YheLZ84IMPP5TzXAUeHTzkr/7qr/jH//i/oCwNnW+xvVmO3Ct9VIn3QEfXrPnlz/+G39/fYTKdgRKKfFbkvPjSdzj45/9vuqYSOqb24iGhh3WW9j7tVM9K6ddvEKOa1OKENJRUgyttz47pW9r4vSqcb46SdhMxshw3ziHSoEMaeIY0TExnQjINTPd+amLk2XVCk3uEcuyyPKJHp/uwz9KlR50TOqiU6dlv2hjwHheE9WGzTGQvaXgbRrtJKtDTi4j7UWKTjDN/x73q8DoHHWyvg1dJUzxCTc+Zbw1RemmvSi8mRQnSX0OGfebc/hdfe4pdGmdI959tkp4NA8nHZ9c+vk75RyJqHBC0JgTL4aOH/ODf/Tt+9atf8c1vfpMvfPELWGOZTrf49u//Ac8//wI/+st/x8cffUTn2ujQnRICQHViUKniuZaaWq1VjAYa3pPWAWuH1ynNskjgwji2CKGYCotQY43qB2o+DSGSpjk5JavRNe8HvaNBiaIf0owfY5lHGmpbbSTXWGtMJnWa7RRdpyiLi+zsbnP749u89dY7/O39u1y8fJFnnnmGi/vXefDgPsdHRzTBSbolSsAI5XGdZHk5FehCE8EN8a0YzB+0SIAiWcIo0V5aZSHApl73NXLT+P4zSe/FWsPi0h67e3Pa+hLL1SmHh4es1mt0o6jqGrSKVGBPlkncJnHsVxQl2rTUVYVWYjqLNbjQUeYit9o0G+q6olDia2GUGC5Za9BG01aST25ifZFbQ1GWKGPJipJqU+O8OHFPyxJcwHkdZXsNPoQoRZDL0gVP1UpucBu9jOQGDTgFrfMRwRVGRmYNvsjojKJtG5q2o+kcZ9mK+WKB8p4ss9Hs00fml7D6vAu0nfz3IheZ4npdjWoCaJpOZIxx/3IReWmqiuOjE+aTBZPphCyz0X26o2kqsrzABB19ieRMr6pa1pyyZDpn024IXQDsf5q4n8wKJz0gSKrVmg6HNV4mVVkGQYlrbZ7T2IaqrTlbn1LkGZmVqWvwAWUNLiJnQhGVqVOmWkLo8F7jnbj/TiaCUAoVJrqW+tA/l49W45LhqsCLUZAPHcYoZrNpzHSNKAAB5eJ0yjm0thFViwHT8ZKIVjhjd7dktVzSdW08rMWlMOl4vBO6tLVWmvEsFwqA6/Ah0LYd7ekpk7Kkqis2VU1eliy2tgQd1gZcYD6b4oqCTV3ROUdmM6EJdF2kvGmqTSUGVzZlkA3Fa7JPT85qNpcpiM0zghe6tXcK38nN3nUtAU85ydEm4CqHCw4TRJdQZHksxGVal5sMnKcwFluUbG9tUwtnWHJOyxJ3IpO245MTNlXF8ckhR6cH1N0ZXtU0rZgoFYWYUblohtO2HSZmN6KCuMrS4BqHx7OYLLh86TIX9y/JZhgUk8lUrreSAUQaOGitz7keA33QOUmXGBtoNToVU7E/RlH7DWNcCvW62gBa0Oy66njr1x/y63c+YlW3eGIIe3SAC3GK60dFlkwVpUgNfc8VKZ5Rs6VCKkeEeumj7i69BtejDbGsj3FVeTmlLAxVfco/+a//S/7pP/2ntOt7dM7ztdc+4OVfvEM+WXB4dMKq2kgsUpBp4OnxsWRHKnFM1NhYgDjaesVP/vRf8v5P/4yduQw4mtWG1WpN3YgLuvMy6ayqigCcnBzTuUDw4pZsjVCwegRRKaZTsXE3xrC7tcWPf/wjgpMp7ltvvcnO9oS2W3Lr5k3uPTigmBQ8feNZPLDZrDl8dMh6vempcOOjOsSRARHVMyohiaKZSnpXFaNK6EtoRabF8ZBzOIpQXpPe0sSCPoijDc47JtPJYzq0WBRG5MlYmVTLQML02YthjFA8nndJQOEi7VmfKzKHx/np+/jvjxeUoUdjw4iSTL+vpUJxrH3TWo9YBIM+sGclhAGdGorf82SHx5GdhCYN2vWYIxmLTxDzHJNQ9RFFNILs/dfSdZHDd81kMomOm22k4ycvbjg+WRG8Y2suWev1pmZ7Z4fD0wccHR1z8dJFuq5luVpSFpZpMWG1XkejMHjhS1/k6qWLLJenHB486n0AmqZBGSjLguBkABvixHu1Fj1UkRei0/UiQZlMpqzWK5wSA8N6U8UBSEeZF3FgFz0PtGjxMmtxXvZs55wUL1rTqcDZ2RkXL17g6PS2UL/jo3OOu/fvcXxyDEbxzHPP8MYbb/WmHa0TQ5OjoxM++PBDrl37PSYTMVz87Oc+S1EUPHzwiMOjUw4fHfLqq6/y9a9/VSK6ikwkAEE0dP1914+YPEeH93njlb/lt37nW0Lp6xx0LVs7u/z2S9/mxz/881FjQr83GmuEOt9JRrxWIUZvhX4tRxK/DIAShUb7aMrUL7aouR/dLgOZY0AR++HOaC2nxnLMmU5ylKQTVOfv4aSHfpw98WkPQUbiPTAeSOn+P/W00USVV5kdhsva9E29cqrXkfb7CKNmJjJ7RKolBkwh+J4J4Mdw7+i6DE3u4DVxvnEc9s9+Hxm992EvG1z8BS12A5U5ocCjBpo0mBvLf85/cMO+PZp5jLbS/t/1aE9OP5dopHJ5hUp48OAhf/In/5r33n+P73zn21zYv4BSmieuX+Mf/Zf/FW+99ip//dc/5Pj4sH9fPg6dhNKuaLUavQY1fJDxoWOOM71DfHLQ9ZGSH8214vBERXlZG9KAxcsZHQcbjKnWo91dja69l0Dj/qMZf35jurj8cGInJBmW71FFo3XMp5U64amnnuLqlSd48PAhb7/7Dj//+S/Z37/E9evX2d+9wtHRIw4e3IvUco3JxBelcx1NaLCZoHXCRoiymjhM9ZG1k3x19vf38TEyKL3ntm0IsRlMCyOEQN1sCKphNi0pizmTaclsNufo6IiT4xPqqqHpauymoixEg+q6GCtpNE3d4KPPj4nNtFYGleneZyHLMonJQQamoGKkTcA5iZbMrY0NoxxaEkG6ZrOq2Kw3ZJmhKHJaY8AaIL2X0LvCy/ow1HWDtyrueIisxSX2RBz0ddHPwcrZmdDlIo9192rDarWMzBQnrsNGUU5KiRE1OmbaDvLMrnPkuYl+EdIDtV3HZinpGEVZyBqNw5wkH5qWBWWRi2Ga9+ADRouW2yjxNnHe07VdL0XJ8wylFEWWy/VyYynU//rjP0Jjq+ialk1bMZ2VZLYE5ZhNc5pORNNN2+KdcKq1lZK4C9Lg+mB6Pr0OkNucpg64Dhwe75EpNgZfO/CO3Frh6tcR6s80WZmjdaBpo6uh0nRObMFn0xkGmUqEII2baKUcWS68/rZtI9Qti6XVHh8DlrXSWCOOxjpSWzWKMi9wxqKNiULyts/R871TqdCDz5YrirxAIQgAaIITx7XOCR3aB08bY3S8dkLL7mTza73Hd6LV1Uoy61zbYpRmUpZRa+l70xMVzbu6tiV5/OY2I89spL/5SDuOMUIhYLUVk55M44jv1UhTULUOWkcXz1jvFUWesyhn0Hbs7exTTreY7uzRdW2/IWZZwWq1ZtMsWW9WrOoVh2cHrGsp2LQtKEygyD1K22hVr3FBBgA4h3fSdGqvKcyEWT6nsAVPXrnO3t4+ruvIbU5uC7q2Y71eR3rKQA8vy3LQMqbhg3d9gePDEKY9DPDHBVgydoiFeUTX0rR8QMwCPnTUzvPOe+/xxltvs6paOiUZwcTGVMwkxoYmqeAXvcVwiEiRMS62Ap7g5Hd77fuCw8cixI1ROzTBQj6dkU0mrDdnKGN4+OCErlVk0y38puaDj27x8OCQG89c4OLFy5x++AFWi7nbdDbl+PhIpv+uAxVoO0fbgovu0oc/v807IQibANExE82F+gzZyC4Q4zBB+X0IEDxP3bjG9mIu118JbcdkQkNy3nF6dsLZ2RFZNLF4cN9SKiimJWfVBm0zHB6bi57mX/zLf05TtXzn298eNVyPTeoTghILokSZNDKURCeEIdBrlfoQ8Wi21laNAKvx8HCuhYQMx2gy5x02Oiv2cPqI/ifMCtXn3oZIK5S+u88LGZrQsUlNKiRGDeh5yt5A+U26t3GRfv77IgAU0RwhT3wK/W+EtPbNsVai242FeP8KzxWbMVv5XBEZKe4jKLi/J3RCCugHBOkwU5Fe3H+/EvfdVIgmzV/S+TnXRcaKfJaTSSHmf6FDBdOvj8OTE566dhUVOjoXOD1bIduE4vjoOL0ptDZUdcVskpHlOYUvWW9W3L13j9VqyersJA7lxOm0qRsmc6Gfzcs5y+WSvb09iqJg1s1Zb9bkueQ7EgLTxYzpZELjavCtxKnFjPK8nOI7h+scRV4SYgNgjBH357ojs6KbatuWJngq12KznGeefYr7B6ecrhq61uGCxynYNA2/fvttFltzrj5xhVffeGPQBiDaunff/4BN1dB2npPTJdNpyQuf/yxlWfKjR3+Dd57ZdMbx4RE3P7zJlUu7zGeT6IobUi3OELmT3G8D77/zay5dfZLrTz+HNpbQtuBqrj/7HI8O7vPma78S1DpA8EpMJuNAKMSsyOCi+7z3sZVNDWfPBYmfh+pRRJXoB2N+/ZgrG+/FfnmmqcnQGkSaoe/jpAMDopzoyEKLjz4CMR/7fF/b45jnUFBwo+9TUZEr71MMpGIkhzaRFijNbZZn0TVbinGNuGgbDUVWSASaG0XKRPbH2IhIiTxahgNRzvC4weLw4kZDh7hudDrTIgDRX9u0FZwbNY4kNiopaAaZ0PiMPPczaUDQR+ql7NaR0Kcnv3gIIylBf9CPGvxoWGZGZ0WIzVvaipu64s03Xuf2x7f47d/+HV78rRcFecoLvvzib/H0czd4+ac/5tVf/YrNZoONDah3oR9mJmaWUn2IXL/GkplTYoy5qHdEEnCJR0MfCShv38e6Qp6kCx7t6KUhxGihYS2l3zF8LIMMa8gpTsycc+dK7H5drHd0UDgnAJBSIjdMz62QYdv1a09y8eJFHj484K133uFnP/spuzv7PH3jOp9/4UvU6xXHR4ecnp0SEH8apwVEklonRPBjgu88xkBmdAzbk6GyQuqKdGbpJPWJzCq5bX18/gplNFXr8Z2jKEq2dreYzCdc2N9jebZkvdpwdnqKq1pW1YasER0qSpEXHqyX+soHXNuhbIHrOqrNiu2dbYw1TGdTTMxx3dRN1Ld6MajKCxl0tB3eaAKe1WYtJoGdYzKZYK0W5hAqrgG5xjZGIbVtg1KatnPUTUuWlzKoiXIJvNRq1aaWz8LY3nAsBIkFTZ9r07Tsbm8xn06kOW3ayFr1lPmEPJO4VeO7GMeU0XUNzvk4SPODz0iRU9WbPuPWNTFFxShUF5gWMlyuq0rej7UYK2kjyssHZzNLaJu4f8przCJzKS9yyTr27ePkgv/g4zfX2EabftWJc5V34iCmjWU6neBXGzKrafG0bY0JkjukItqjjZYJSzywuo2nqhwug6Ad2mpm5ZSu9bSmocwz8mwizeLZmrqumS1mdJ2jyCx5VpBlciNumoa6qmlNRm4tnXeETjJRnXM0TSvTiqLEY1iuzgDNpJzIBEGnYioWDUomI65zcnPFRgwCxlpKSuqmgohktm1L2zbkmThNmhg/1HUNxmSUZdm7iCbXua7rZIPPc5kKBaL+2ONCS16UlGUhw4A8lwMqRnAkd+i8LNAWJllG1daYTCZYRVFErYSmc4IiWSU6YJ3JDWpshncdCsnp8p1w6o3ROOdpqpo8E02t9orM5Fy8eJXpZMZssUMTMuq66TfDosw5PTum6jas6yUPDh8QcGJV7hRdKzeXzXKZOtaCsMqUWDEpSmwct9osJ7eBvZ19nnn6GRQZrnEoZShi7E/i+YfoLpjnOZMy6odJTpA+NgrDPh1i9lbvNig8sv6QSS7H9ChVND5Qw6Q/TcedD3zwwS1eff1tzlYNPuh4pqTSaHCC7KfMo0kxvUdKGJqMkKRYYSiqvJRqPgwRWkJBj3t7ENpJWcyZTKagFMvVGhUc//P/9M85eXTIxb09jh4d8dqv3yKojLff+ZB1VZFryWL2QfI3t7a2qM9WZGWBzSyr9ZoPP3ybdV1Lqx18v/kY41ksZhgTY5C0FJLHh4+E5h/vJ1SJc4GyyCnzQu6veFCnCBqQLLjPf/nLPPvMU2wtZvzyV79kf77gub2LXH76KTZW8cd//K94//33hBqlYHV2SrVZY5VDq4TinNu5ZA1EbWg/1depwtI9zTxt/OKybvo/Ez0nUdyy3owkGizFJqttO8qy6F1TEyWSqM3tX1FiWsThTmqMEwpKatQighPLM5QyQlFVQ9H9ST3tOCpjjLR8SrOaumo1fH3w4R76neHnz6PDQ1EUY4P8ODYl0evS942hAfndPTsuZmU6n7SBcejlXY8UZ1kW0YYwZOP5VMiFvolSSknsQDyfJpNS9EMhWeHrHlUpy5KuqZhMSrYW27SNY/PBTY6PjqirBmvEkKeqWnxQIo2whkcHB6yWK5ZnZ1ijWczFKOzsdEmchmKM4fLly3Rdy+npCbPZjE2zIc8zyiInyzKyrGA2m8aYLKHozWYzrLbkecbnvvB5Hj08YLNac/3adRSaD29+RNPKvtt1U5EkBFieLVFdJ14MTcd8suCJSxdobx+w7DbxM5A8wQ8/+JCXfu93BXlRsLWYc3q6lHI6BB4dPgJga3ubu3du0TS1RFv4wEcffkBezlBK8cEHH3Hz1i3+d//bf4rSExROBqax8Bkoj8l9U0wAX/nbl9nZ3mOxsx2psA5l4Itf+zoPH9zn4MF9QanTHhizqfVIjiHKuGEw0xfsguFHmm9ix/SLbnSnDE1tSGdEzyLRI2bAeWfkRJlPPXGITdpjc6i+QeMcOvjJyuwcs8INvbfvm8LHCveItI6HmtYK9dF1XR/3BTIYms/mVHXdIx4hyWHG97UKUVMer0ViGvXIabq+Y3pyONeU9bFIWo3jVs81VekK6MTmSO/REfPrU5TTJ6+RGjbGkT9A2hM9Xo+Q9TF9vWdijT7yIOZ6PjJ1VGTsERtGFc9fHQcqpycn/PAHf8GHH97kxd96kc88/yxZlrG1s8f3//CP+Oznv8iPf/Qjbr3/EZ3rep8C74Mwn1KmdxzkBi9U+/FyGA/0xsZ5aa2RaNbRPTYNXged+MA3UEpJA6iUJBLEbNT0XEJoiP/uB1PD9Hml703XXGjWPtbzxEzqYf0ZbcASKdmeIi+4evUK+xf3ODg45MMPbvLLv/052zsLnnn6Ga5ff4bTs2MOHj1AbTZ0vsEEje1NhaRG7bwTYAofZQU6+vWIZ09AomC0FpNSrUU+MD5rghLgqnXC9uicIkfQ0Xk5YTadsV4umU9KVuslj44OODk+RWnFZDLDOVA2ujYTyDON0l4yXLOMrhVgZnBwp2edhBDd8QOELCegaBpH29Z0zmFtxmQypchzylizh2g45r2LSL0nz3NcVUcWqFCLm7qOdPQMQiBTgso2nTA4vI/xmcZIbGl03fbeY63oc5Ui9hgqNqqGPLdkVupbpS1WZTS1j8ynEB2ah+d2PjCZTCjLSfwZqUvrusZqw2QyoSgLlqsVZVnG4bOcd12UQgaFZA+3LSHGJg0MN2lu664Vx+rf8PEfEfcjznsLO41GTVII2zyjKAuhvWZxolA1OBdwrdwMxmgGCVXAtY7gNK4V7riyMfTXDcL2oKD1NcYaJpNcuO9Wwul15JE20aBjVkzIlMU5T6fEWbNqatCQ2YzptIg6LIHSF3oOSD5humm98r2LXdu2TCYZKte4tesnY4nqCoE8zzDaMp8sMMtTmrainBQYrZhPJjFrtUEZ0ze2CilwJxFV7GI2lM4NTkedhgqRFtb1Gof5YkGWZZycnRG8p61qsnnGutpEFFcOiEnMUzTGiPg7aFrXsakqplmGyTWeTkASZfo4INd5ClsKdYIOV9cYL1qGPCu4cukKO/MtLly8KIe+NuBgtTrr10de5nS+4XR5zLpbsunOKPIMghifmKDJdCb6A+9QTuFq12+MORmZzXGtYzGfc/nyFba3d1BoXCsmXd47Ngi/v3OOrhVa4GQ6ZTqZRgRfHGWTDsc5H6+j3JjWmv5g6DU9j1E6vXd0LpDZrKcQCT04bupR73f79j1eefVtjs86XLDSbIUAfqhQ0kGriGZFIwwgxMlqUFJMKEQzFUY5h0GLCEj5oQgSGp7rHfNMvAaz2VZsxAPL1ZrSwtHxCX/2539OmQlNxBa5UGiwYirW1RhjcRH5n06m1Mu1ILIhsFgs2N3bor5/LxaK0gh5H9AY9nf30XGjTIXQ8vSMpqn6plJrz87etlD2jWicAwrvHPPZgkQTThTzO3fvc3o259pTz7K7tcX9ewf4ozPev/MxJ8sNAR2N5zy7OzPUzoTdnRJ6p+iB7jrgD7HI0j7GjaVIKNWjsipqb1PRkKhOYkhBTwtKIeOpeRsiG4ZCq9fLxc+rR4FQ6IhMKDTBDXKKMZrj43UeirxAsp4SOqHq73sd1FCwPvYYfj6uR8+5ajn0hXtq+BJ6FymhSoMWNLun7geJdhmjETBoI0NQfcEv94sbIelheI+jCAsXAm3X4loX0Xuf3Nn6hqOuG0Gc/HC/huB6TS5B8gFdEOMJrS2z6QxrNE1nIEj0hVKwWq75xS9+yXxasFjMJas2z8kyxXJVsVlt2NrepvOepqk5Pj1jkls2m4p6U1N70XPluaWua6bTku2dHapNRZkXWGt4+PAhm03FdDYhyy3OG2zMHN7fv8DO9i7OOW59dFN8GpRhNpniS8dmU/H6K6+jUJRFwcGDRzR1w3q5YjqbkhVFdAGdcHp2xny24OjwELxII9ymZqs0UNfCLlBZbJQsTd3x6OEh+qJib2eHq1ev8tprb4ASk5TWe4zWrDYbfv3O23z7pZeYTafcv3+f3d1tpvMZVQ3rjWddVfzylTf53ve+Q/AVBo/2JN2FDB2U6dlFoFmfnvHa3/6M3/7O9wSdjYyPPM/4nW9/nz/74/+P5AWPCnyVzMZiMyXIjRSALiTas6ytZIo0vh1Sc0AaFak0FBJ6fVoYIxu0oVVIDIP0hDoNrQZEs9cw9kwIFSP3zutqH388TpdNzaPWQ1yf+EakQeygnUzNd0LPfDRfzHQW9WjiJnv50hU2VcVms2azWcdGLqGWwwi1b6p8IHTj3zN+ranRTVRhj0f3Ay2txc29l+s8/t6TnjhGxMkb1v0AWn9aiviIPj74IY+vl+4Nv/oXkuQfCfuO68HE4aYhsbl8P2gjqaRj9EsahCoCvoMP33+fO7dv85nnn+Ol33uJS5cvoXTGtevP8I9+z/Lr7KfcvnWzN9MLEY1WUfqSUP0BzR4xJUaf/UBlj8huWhNqaNoUQ5zX4+h2nwhCjKYKo7yz8TUNo+t3jgl0fm065/CZNEQoNbywNN1R544umqaV7OxmRXb5Ivu7u9y7f5ePP77NK6+8zny24Okb13n2mc+wqTbcv3eXTR3Zd3i0lSGxj/rgzjnxULGSeAIBk0lGtzSc4LtOmIkmeu9EgEFb6PyGrnYRSJiSO/HNsEVBVuTMt6a4bpeubblwuMf9+/c5OTnBtZ6zZoOjJS8LbKaFeVp0ESpVLNdrGZB2HUWWY0yNj82Z1oPL8aZu6Ro/3DvakOcFIXiaTnS0xli6tuvfj7U2eheANZrW+34/wUdWbDSVkijGjK3ZDGOM+AI1DRrPZFrGuEl5ztbJtZoYkbmU5VTSZVox8iVYGXpmMlwOwQk1uQtShyto2yYm1wgVO4Qgmc9R+21MxiwCh23TEryXfk0bAc46QWh9F6idpOgEHbBGZBJtZINWm5aZnYLWYub1Gz5+88a26+hCwIWYHxu521YbVAjkxqCLnMwKogqG9UZ0dl0Ql7cuTnJNJiiF9UJFNV4KPKUNmTZkZRZdgB1d09JFDaYOgTLLIuLpcK0T4yAjfGznOgIC/3ddI03eTA5V4vREGUVeGrxD7MiVOL2hQ+9caaPOQSENeaLEmZjDlagi1khxOF/MWa9lYekg0HqR58wWMxF3R66HtWKkJYugxeYZ2sqUKsssbSvIZdU0NFXN2myEQuDlNeRZSUvDbKpRMRKpi5papaBrW3HIrDY4F9DGRhtx0a8GLTTMpm1ofRffi2xKbSsGWEopcpuRGcXOYovd3T0uXbhCYSf4TqhhaE/bwHq9GTZKAo8OH9L4RugfcfPUESHRWlOYXJAYJVOnrJQmoJhIRmqR5exd3ufqlStobambRoqeINpdYwzamGgEJg36YrHFdDqNxh5KnNMi18c5P5h/qKQ10aONOxn5pE0+FQrRoEF98hD1sch++PAhv/rlG5ycroS2LLtNfxCmrmR0dkWEMESajJx8qTkIakT3+oTxxvl8xHSyKC9DkGIyZb7YkgbTecnTM5bO10znE77z+9+GAB988D6f/dznOD074+LFKzx88ICjoyM+unmLLJ9Eqk4h+u3g5EAxhosXRW/44MGDeOjH6IcYBxUgmkwlJDLIvaCj2YKyNHXDhYsXBKkyWW88sFgs0FmOySw7W9sUecHDRwccny5F212UPDo+pn39Dc6Oj6k2K7a2Jjx94wYHBw/45ksvceXSHlaLJkVpc46Gmwqx9JnoXrWcCgDdIwAgDZ+KUTiBgHdD5hqEPsak63zUvcizddEN8Dx9b3iMaWmpAO6x/V6rFwcdffzO4HYpSzEIHTm5r8Zm2PfoyScLaJUQjoRUjijFxMghQpB4oEDU8CanbaGm9pq/npIo18yNdLHCnHAjvDcasQWJtEkO7CqiJL1mMCHIIdD1GcexGEyoecwLDj6IU77RQ3GYHF0j8p5lWU+LNlpTlhMpMKLUIt1m3nuuXLnMhd2Z7C91FyOjZDp9794Dtnd2wcNkMqVpOhYT0YLPplNWy2Vcw/Le67phkpdYJ8aJxkzY37/AfL5gvpjGWCh5rdtbO3jnuH37NsvlkqaqMdbiHZwtlzRdHZu2EB2YNxhjWC/XnJye0naOq09s4Zzn9OSUum5YrZa9JrUsS5brDc479va2OL19F22zIapGK+4/eMDO7hZfeOELVJtWGg09mIApo3jn3Xc5PVuyWq9p25rpbMZ3vvsdJtOSX/zqdY5PTtEKbt/+mNt37nBhfwcTOnKtRLdlhUColFBdjbEYrQgu8PHND7nwzls8/4UvoZTEOxACO7u7/PZL3+EHf/ZvZMirBsoqMb5F6yEiLbEO0h0vwKHHqEHl298/KaO2b3A5z+j5RBMX75G48Z+jwqX7Jj6dT38fNQafpkMdzpIhJm6AEulbN9/vW6o/S8c/N76/5T4w0tyGThxlVR5dSDO+8uJv8fSzzxG84xcv/4yf/fQn4N055/j+xOkRaNWj5IkFk7578JuI/8Qhbd9MhdEgcSRlSH+6aL6VGE3o4fcrFRHfx/bReIRHds1j1/LxS9ijviGagSXG1NCTpR233+t0QjJDNAZLXWZMLFAKQktVOV5//TVu3brJi7/1db7+jd9iUtdkP/4RX2pbvnThwvhD/uQH//8Pj4n88V695k9OH2JMy5NPXuXqlSscHZ3y7rvv8fprr/FOkfP00ze4fv056nrDwaN7nC6PZVhvZJ9qW2ExBuXJUGgDneuwRqO9x/tIpQ8B37Uj93SklrcGZTIUWuRr1Yr1ZsNsMqeeLSinU+aTqehDfaAsCra2tliuVpydrVmvK1bVmvVmzbqpsTpjdeYpiwJjFdNZQVEUrNdrOi9mtX1qiRJztKaJcaBNK47GVgz3hA20iYykQJ5H/57Ya0if4FF0uABN28UYTy8IZ/T7CT5g0HTrjnIqsZZZNCU0ccjhg6d1Xe/cLkhoSWaznlpcaNHsZybFrjI4I0epTdd2tF1L27RMpzNJQYmDBKWiB5KVAXkV6cd1XUdNbvxaXxeruFeJEWOWifxSzBMlP17p2OvFvPff9PEbN7bzWUHTNGw24txYmEy0EU7erNUyUQ+IMLiLOidrC0IXaH1DbouIXMpwuIsUAY1BR6fYrmkxWYbvROtqrUDj3okLbmYLVACvfL/Rdl0XtUeauq2p6o0Yjigx4jBeUxSlGMGo2PyMd+WYLidNZBSOp6mdDhil0N6CgaLUkY7ZYoymcRLInOeFBC0bCVJfV2vZQI0sQBU/JOLm3bkOoyyeIJRfrWlrTx5F9d57mk0DOZjQxKmkwpicLE6xQueonVCfPZ62a4DAdDphudrIZ2C1uF/WNXlZgBO6w8ZJmHLnB0G3iqHMO9vb7G4tuLx3ga3tbXTIINhYSMBqXXFwuGG5XA8LyRjOzk4xhUERKK1oqrMsJ3RCP8htTtd2ZCYDDZNCqOZOCVX04sWLXL18leCga1rw0DZtjEqK76Op+yZ3sdimKIq+GZXaJ2JXLvRZngmdlcZ9cDjup8qjaSWxZkkxTufq+SDF5tHRI375y1c5ODiCEA0fBMbsKUaCIonhmVeiR0y/+9x4M7WtasDcVPxdfWGV4idSmRZRYYXorne2d8HmUtSJuFCMrXxDVhbcf3hIbgvOlg07+1c4OF5x5/5DvvGNb3D79m3efu9DbOajWZVisViw3qwijVgxny+wxvDkE0/0WloZmEjDgZbojjwTG3kQ/be1GUqJEUJRTtjd3e7XMSiapqX1DtqGdr3m8OARb7/zDu2IBkfUXXqfjLY6iolluV6jtKZpG9FgjovVYRTQX+c0cNC9LkiaXMVA61JKgUlopoqGBm106ZS1YzNDXbU9xTbEJik5petPce5LBS89ujMgTGnYEkKQ8nyEGKfH+DAiaQf7XSsiA9Hxt69Pk9toMk7rJ/0DjfecLs5JEeva5CqZBioDcqN7w2XVN3TxSWNx63qkhN5hPL6H3uhJD81GGIY4UgQQG/AEKMdptZUBXd80qMEhNiQDmpCQcdkLtNJROyQGhc26kXswanJ9CJgsY1oKA2k2mbGzt8Od+w85PFpzfHxC8nV2zqOCUML29vaYFgVvvfHG6L2Kfqqtl4LWe0+lau7du89sNuXO7RNWqxVXrl5mNi04OxUzQh8CdV1TN8JM2t3f5+HDB6AC6/UaYwz7e3tsVhuOjg/FOMkYqk3DRx/eQhsTzVb8SEsnKGYxKbl85RLa5Ny9e48mUm67GHVyfHbGydkZX/+t3+KN198SJosV80EUNF3L+x98gDGa3QsX+eD9d9nZWqCNZpFtcXT0KLq6SjzDD37wQ/7o7/8R29McTyv7emw+ldHYAMaD1VGr5x2v/eJlLly6wu6FfbxP8UktTz3zGT7/wl3efPVX8rq0QhkiUk9vPBTiQDA1PCE2vn1zFmQQOyRHDwyFfp9I8oTH2A4yTxwauvDY/tKbHfUa0VTcjRrkNEVJ7IzHf0c/nTpvNBcXaO/y/ant0eg+619YjCtBWaqqoSg0IdT8xb/7AS/VHV/8ypf55re/y/buLn/xb/+Upm56fWy/P8U9wmoZSjjnBNVNbItPvJhPotLps9DnhsUDDBgiTVyPv5bQ8nhNErujX9Pn0n8/8Qo+caL2190P/yV9bvJ9aSg3DJnT10MaWowuru8djQXlPzo64oc//Es++OBDvvuFz/F018GNZwlPPYUi0DYNb77xKh9++AFt2whaO6ozROoy6FPHR74wEzSnZyt+9KMfc/HSJba29tjf32F3Z0sicdTojEwfQ2zSvZeaXCtNXuQRNZTIHW3MKNJvuGreO9Z1h0PMoSZFhomyguThkmV5dPEn1lahZyONHwZ4qdxikWVMy0k0SZWvTSclu9sLTs9OefDgIe+/9y63b9/h+vVrPPHEda6Gq9y7d4/l6gyHnCdGWQIOnCReaG2j/Enys33wEZmOsZ/Ri8A7h/cOa4WGm6sMT0u1qelOO05XpxRlyfZ8m9xkzCczirxg78IF5ltb7O62klfctKzWa46ODjk5PuPw4ITZbMrO/g55Llx6HzRd15ADrm1jbI7vGSlZJk7LRZGJqZI10TlZkk1ClBgmICMNaNumFdquD1R1S17k5HlO8I66bdA+IdYtWZ7RtDVd58lsAUEif1CgrYByKh6ubetQrZyPWWYJwWOMZWIzdPBxoCX0edcJgJjnGW3b4FqPVjKI9Yl+HhlEIcaXqRAI0fcmz/OoFxa2pM2MoLyA6hTKyO5YlgU0HcpoTCZxsjbur7pt/qPmRL9xY1tmOcF5NkGooy5CxZ13ONcyLUuJ8GkbTIr0iEZImdbilhzzYZuuFZttJdop4c9LnEYX3YSd9/hO0bSeLMtQKuB8g0cs0bXNCHqdbCIoygJtprQnx5gYTVLmVsTUXpoq551Y0/sgDlzxJrQaETNr1Rv6iNbUxVxMjYmRQcF10nw6j1Gm16UQ+fOZEdfotu2ifqijalpxJcskM1RF15q6qmi7Dj2dkU0KbB5omkYcfaU9wBpD2zlCEMew4ANt48jyRO2KFCoftXvRXYwQcK4ly4pel+GdI0SXNiKy1baNUPcyQWouXbzE00/f4OLeXkTGJSYIhBN/erbk5OSUttOs10NjO5/Pya1QoKwq8UrE67kqCNaDRW4mpSU6KFL8ULCzs8f+3gWZolXSxOd5jm8ESZANVRM6oazN53PKouw3i/EW7WPjTm/gIai76Drpp889fbQ3nxkOCe88XefIMj0qPobCo64rtramXFdwul6yqR1NixihRWc3+THRSaa8Wx+n0743vIgH7bkJdC8EGuJMUoPRFw5yEE4nE7Z39iMaY/qiYLNc0jY1mQ4cPDykq4Ty6zz8xQ//mqbrUMZwuvkJruso5zvkucUaTdCGbDJhZmNMUqQf33j2OYmXiMZVIU3mR4WJj7lqwYFroe4cnavoOofSJ9y5dzcivrGRi7qiLqKiREfOoEaIYSoKg++btePDOdXyFN813Lj+5GCEEv+n1SgDUkkEhtainVdR/2iMEW1Q0itFlEKnnDWcmDu4wGQy4w/+3t9jOpsSQuDf/Ks/5vj4JH7Ogda5XuvYti2PQwohLpy+NEpoQvBRXylFj09IychIZVgfo+I86bUjBCnswQH9GcJRhlfQD00UaK+iFGFAtIIXJCUh8uNCKf121+vPNL0Vihp+w+Oo00CXjs6aqYnoqXixGQ3J7n+sQTd95IV8bkYYKNbQulb2Ny9Z31IYxAFI5yVCTWuhYmUli60FJ8v7IkcYXZPbd+9hvBTu21sL8qLg0qWLnJ7e4uzshKatMTbpQ3XUMta0XRcjVVpBrduOzBpW62U84OVNOO9ZbSratmZ7d5sATGYzFrMpt2/fFrkMsidkecnnP/dFppNZX5g9OjwkeCXO/SONftc24Dom0xl5Ll4HXesjfTVQVxUYGQgH7zFakVsNJiNDUW3W1HXD7dt3+e1vaNq25pkb1zg+OePg4DCS9wUhKFXBpqp59733+N3f+QbaaA4PHnJw/x5lOUWjODk+YrWpef+9D/nGi18itOJm39MnkSm8C4DyfZJHtVnxq5//lG99/w/JixLvmtjwdHztd77J0aOH3LtzJ+7DIzQ1kdy1wrjQR8GcY9eg+jXf76U8/ki8jHNL91yT07dKPdti+GbV0zmH5vQ83X4ws0r/nlz3h8aN0dmiPvE+00BP6aExoj+vRndbyjqN68QaQ1NXOGfpOsdf/vAHrNZnvPiNb/DFL3+Vvb19/s2/+pccHhwAsicElVDpMNJZJplJ1CuG8EmucHoHo0ZLjVDXx1Hb9PBhRHdO6yT4x/au0emb+tXR8zyOYKe9J5z7UEdjz/5H/bnPPwEcEKnS6dvDsCSGxlrO9M7XfPT++/zo4CFPXdjFzWboJ6+jfMDi+fyTV8g/eI+/+uEPeXTwKA4RfFy7MhDXRowTuwBr11HVAW1LMIbDoxU/vPuI6eEKuM1kUvLEE1d49tlnaE2M4nOy0sXYKQI8kmkpDbRtI2DRxuGtJlOQG2G0WCO1brVZ86/+5E8piinXrj+FUZrPP/8M24sZbdMQXEMRqd7KjMCANNxhMGm0Abr4ASTWTJblvfRusTVnvpiyv7/LE09e5dat27z77q/58CPLtWvXuXL5SS4ruPvgHqv1GT5E3agTrX1R5mTGxJSTqOdXCmUMLjjariUnREaRSMeIOupkKJgkiK6rWK3hpOk4Uhl7u/tMStGMbu9u0zYd62pDVuRszaYcz045OCzZVBtOHp3RNA3lLGc+n9J1DRttCK5FGxOHcqY3Ks2SQVTMja3qSprJSQ4IlVdjKIqSzETpSEDSaHw0vlaKyXRG6BrquuozqE0hvVVhLZkRpk/rOlonjFfJdJ/0g+U2fhb5LCezBuc7CBIT1HaCehdFEVmdCu9aiqxgNpn0IFgarFibUzcVm2qD0haTZVgtcpEQovlXdHT2wUukZAL7gsI1HVmZSxKMkoa/dbJuO6I/aX9//maP37ixbaqazXIlOY2ZxUeTItc44VtnYhdNG7BWU2QlZZZTty0OT9cpcdoySvSCemTUEBedcw60aM5SnI0KhsxmGCuFUdPJxCDg6byjcw3BGequZW9vnyzLKYsJi9mU3Gq2pguauhXn054eqiA4tFEYGT/h0fjOC8qpFJnKJTTdjT9AWQBd22CIU9pIOzBGnIVb7yUsGinAWi8T8qqumM2mzBYzVpsN2pqYY2no2sAmNNJlG8O8LGibhk3VYGxGEyF42+sAda9dM9bEfC8p1l26CZzHu47gxJo9M5a6qimyXF4vclBmRkT7Gsvu7h7P3HiGra0dVNA0TYdSmTTqvqUNntYHqrbFOTg9Pe4PlnIyjcZboLAyLfeB0MjGZ6zuER+tDI0TasH2zjbP3HhWmuyqJaCYzWZRp+h6WnDSEUwnU/JJHimkwwGXdI0QortjLDaiXsmPYnoCiWIxmnonJ8GoObH28RmwaIK0Cly9eonLly+gFLSdIMhVVbNeVaxWa1arNaenp5wtK1ZV01M3aq/pQk5Q+hNN4dDfnpsTx+ZOJ0isP0zKcsrO3gVMUfYGU0Zp6qbi8OAhu9tbdO2K1WqDbxzL5RplDUenRxBzqe98fEeaG+9RwUW35UgrbZs+uscnTa/rRrECjCi6Km688Ws95ufi9Q7nmjGdkNj0jv34WggbQ9wXY86eIxYEEjdgVIO/uI3rGvJMNF0JUUhRPqm5TNeXyDYQxNSDVz2tXDkXG1uN8dApYWu0dYPvAs89f50nrz0N3nFwfMS9hwex4RdUfrPZUBQFVZQCJAb7UM7GxrwHLYYsWqF1++iknQpjscYZdY09cjEMXwaTFJGoqXMN9TlkqTdqUn1MignD8w4o7wiVigeJSlViGHS5Sg3ISmqAE3IpCJju6f9jOCXl8A4Y1KgBUAMN1vskI/Di9J1lQpHXJhqHi4QlhBAHesPaC15Q+eFCOIoi6wegYeSavY6ov3OOs9MzXDihmM9ABZqmEu1sVoqTfifeDc45Vuu1RCYEoteCpsgyarvBWoPvWlGCtRpfN0xnOVVT0TnPelMxm4jmqWkdRZmRxcb5pz/5GzlrmwqTSXZ5YiMl+pYmWhx4R+dqmtWG6XRKUzuauqNtGhlghiAmhLlmUuYsq4a2C7g0JEAM5t5++23aruGFF77Aj3/8k0hsj1TzKL14+513Wa03BAJ1W2OV4u/+3T+gLEtu3rrLG7/+EKU1P/vpz7nx1HW2FrlM2REjEZscgIOOesc4aCRw5+YHvP6rn/PVb3xTYmfinpPnOd946Tv8q//5fxTHfz2SY/jRnRXvdzceAI3MiYZhYOi7kzFam4Ynqbnqr/WnVkEjici4kY26dDlXej7CQHqOiK7qm6RPi+oa/ZbRXpgMtGSuqfpCVvd7SWypQ3SLje9OaxmINE0DPtCg+NnPfsrR6THf/e73uHrtOv/on/xX/Ns//Vd8+N778RNXgyRGR7Q0sigEsZTf41WSzkSjxvDY3hGpxv7T3tP4m0Z7ThpN9g366NGfiyPX1PHPfvJTemxYfH676hvacz/R05dV3Ob0uXUwlqskmnZyKW9r8XZ49dU3aOrACy98jvl8ijE5z3/+81x76gav/+oVfvHzn3N8fISOkVTBiYTHBc/puuXh2YbTqqPTOdl0F6+2+ezv/UMO79/m/Vd/QXP7Hi05xxvFtc99AWJTnM5UZdQoPii+R0fvhB+i47JVgawLKC1eDt51+M5w/fO/w9HBI46Xjrdef5WPbx/x2eef4drVfaZZNjhNR1RYMZhApn1epRzz8bmRHLyzHGsFcHHxHr+wv8fWYs61a1e5fecu77/3AR99+DGXrz7BtevX2fc1Dx7e5uDoPkURJYfKkduM4B1t18RzQZEZQ+NazjZL7GRG23UiBYwO7d7JgEZbjc0lB1rWt0NZTwgdy80pVbvGbjIW812yrMAWVnCDTHxJ9i7s0zQtm03FcnnG8ekRBw8e0bma2WzK9vZCWH8xWjIhokFJc5tnE1CKupHrUBQ5XdtE93IBKJq66VlKqfTTxsqAXhtxw1aKIitib2LFDDaIpK9VLT5AOZ2zPDvDO3FKD97Rth2FzQioaOjUobVI/ELwdD6w2VS0URqUGUOZ5wKa1TVlkWGtuK8rrfBaETrPcr1Gq4xiAj4zMRpKS60RmU8oAUOljpP9Rce8QBUEWOh8dPF3ni4omrrB/Qf2y097/EfF/UzKkrwoBNo2mrwoaH1LVwn0TmwYqqrF6AJjLc1ySR7dUNumxRlH09VMZjldI4JlUGR5MZjqxBNBI/TmqgnkWNHe+o7atRijhMocHKEVG+qjo0PapiXPMnED7hyTMsOHjtVqKYePSjeZODZneSaTAycRJcFHJ7EA1uZkMYqi2tR4HwS1idpWceV1ssFphXMifqfrIE5axFpfJqB120aHTkFjjLJxQhjF8o0jzzLatkNpizYd1mq805FuKZMWtJjfaCW6QmNj1IAXTUnrO1oveoOqJlIBoOvaGIfUYm2O94FJkTGdz5iUcy5euMR0OqeuW9pGMjPLUpyeq7qmamqOzo659+AeeMPlo6OoM5QgayIKp4zoiTvnwWhc14EPMRfLo2Kxeu2J54XqrA1t1XF6umRSTjk9ERqs80JrSDSayXRCUeTiattPgaWx8j7EYPRITzT6HFVQxwnxeB4+OAUOWpuenKRC36DQxw/4OHkSTbhk7lpMZiknU7Z36AsrAnS+pe0aXNuyWVd8dOchv3z1PRoXX+coV1NFo5FeUxUPgzTVDwnRQjKb92NTm1zZlFa0Tc2jR/fpupamE/rmennGZrnsj3IdXSBd3C37BjvGTQSXKNqDrtQnOnQc0jyuPe4H4T09cJiQ+0S7VUNkQ4rgSK9dTDVUT0lNeujZtOTk+ETWVO+mqTBG8cIXPsd0UlBmVqaNgLG2d9cceCux6EsFq5ID3ntx8EsHsFEGpeMUXAmlqakbsqzgi1/5qhyCxvDKr16P9wZ9c+qDxMJ0Ttw5dUJzQKhTiUGu4gCGfsQtzdIIURCt+GgdjRmNaS2mYUJqGKM7sHqsmktIsTQZY6bASNsXzhdtn1osJq0ZA4KehjGMaJTpsnscKX5Fmokh6keMcEK0PhkhtUgTlxy/nesI3uGsEYaO0QPbIg0BpESMr3v4PLTWXLxwgdVqhUexvb19zhk1oTnOBba2d8htdPlUgcZ75vMpZ2dHnJ6eMd+a09YbssKw2dTkecHO7g6r5ZKDh/chmH6KnYxnEmLSNVHzVcj03mjNZr3h7PhU7jmt0H4ujuetsFFUWiOdZEJ3XYvRRoZKxK42InldzFEUUxBBMCbTEtsadJQEeB/48hc/y6/f/ohHy6Z3gA3eU29afv3WO9y48TR7e/uEIMPqoCyrugYEBfrg/Y/QJmMyXXC2PGJS5OxsbzOfz1lv3pfmSWdcuLjPT37yE37vW99gZ2cq19q7mFWY3FlN1PKmfdbx9puvc+Xq01x58ioEMV8JXcP+xYu8+Nu/y89+/JdyT8UBlbYaIoLhIhspkJzHh+Z0jCql+4+0j6lh3YU47E57F7Fl68PO+3WuY4Sg6vcsGYrHr/voAn4O+B3YCUPTpj61SPtUff7QWQ0MHwYJaH/jKXfuvabn6R2TmwobMn795pu0TcP3vvd32N7d4+//b/4RP/i3f8qbr73RmzeFWEv0PYtSolGPSLFyIj1K/m7pnPV+QFvPtY2f2FPSuTvIMMLIOb2nIPdPMDoLRxm4KgweZaPfdm5g1v98SJFO519LYtup5GYrJ0380UHzn+oM9VhzLZFDcu1Pjg/50Z/9Ca+//kt+7/de4tnPPIsxGdNJzm+/9G2ee/5z/OSv/4o3Xn8leqCIJ8bb733A0fGaVaeY712iM5azek0XhHJsyh1ufPar3PnoPd599yNm0wN0ucXiwiUwBT4wSgOIZ1tM9lDR22W83kLXYJWAR8lAERXIL+xxaf9Zlg/vUPMuncr4m5d/yaNnnuL5555ie1EwLXQ8x+llX+mzJLLLvBoSHjrnej+HdC2zrMQah9ZtjGk0ZHnO9vY21558int3H/D+B7e48/E9nnrmCS5feYJLly9zenJCtVrS+YamanBeXIJdrMtaL2DJarkiL1YCKHQOpxqU9mRyaNO1ToAWnRI0GKjiqgMNTddweNqBMmTGipGoFyptMS2Yzibs7G5T1TssjhccHDxktT7DuY66dijlRKpoPK70TKdi7Fo1LcE3vdRJqWF4KWANkokbpM5zkdHkgiMrROZ4cnzU17qulvxcE/seolmnyXJMkLU6mUyxWmGtSMVM2/UOx0lappTCeZE+GCvZyFUliDCZJN+YxCO1wrSt60pMfp0nywyL+YymcQKG6CgjdJ6uLCB4yjxnNp+xWq/6mtt5L4xUBXpTYa2hbmq6EKg2FetNQ5YLQl+W5eM3+7/38Rs3tov5gk1VCSweQmxYnDQ1ZUGeFfjg6ZyIpZerNWWRU+S53GBBkxlpUgwK5cT8Rqcqw3syk0XdlyyK4Ih5mjHwuGnJcoPJjWSoWplY+Fam76tVmiJpqqoRwXjnsVrTOXEby/OCzGZiaOVkkWtLz3NPkadt4whBUUStrrEG3wrnPssyvB4cUHU0y3B40TDFTaR1HYkK2XYdddtQRBdjgjQjoqmTYkU7mVqItlhLExc1uNZaEcgHT+e9LHRjyY3kSHW+w8QMTZtZtI1Fc3Bs6mrUGEcKedexmC/ItGF3+wJXr1zDGEtdC5VWfJc8Z6slm82GR0dHrKs1J6fHVFWFNSVVVcm02ohJUOccrm3JiqxvzDof7b83gljk2jKbTrl86RKTiZhrNVUXaVdyRmhj8R7qiD4URcZiMY8bNEMbMCoE0vRcNEb0U7rxQ0wJTNRDqf7vYWSFHvpCf2gsfMyMFfMx3ccueDeKSlEDNVMhOobMZOS5RRvN3gXD8brCuxblY/ZfihJiaKDHZlMDojxM4QFmszlFOcGNqJ5d13B49JCmWqO1YrVa4boNm9Upvm3Auzg4ktcfovv2oIeMcQfeCLo9Jm2GEMPizxdOY93o+UeCSdL0/zxScu4vSkkzqCMTIQSy6LT31PWneXv9JptqI9TCoKNBl2e+mDEpMiJPvqd2jaRc/WXVStD9hHomoyXVDzGGBeJj0SS0a3jq6RtcunwFHwJnp2e89davpYFGGo3OSXZtUJ7Yz/QH1JCBrHtqnormVYLyhPFliJTKWGSN+QgjdjppTNObRaUBzOMoxMg3M8j3Wm2GIU7KVlSJ5vnp6AcjKmH6/DUqRi+oXtc6/nGVbHu8iSBZiE1WzG4mYNGoYPrB2HgdZZklyyxdK0ZOwcfJcJ+LmsxchoZ2GD6pXsMWQqCYTJjNZv37SA6gIYjG++HBAft7O+KtkFnyvGR3T3Pn7iEnJyc88eTVqBc3tK2jnBQUZcnFyxdZLU8IXcdmtabRmsxacpvFHMaCtm4pplOsEYRDx3NOnqul2dSEWYzL0hqvHJPJlLKccHJyQgZcvnSJ4+Nj2rahbRuyLKPIJT4hEHp9t1ClDV0XmM9nvZznysV93J4nKzJ++os32bQ+GiEplDYcHZ0wnx+yXm8IIXDjxjPcvf+AVVX1BlZV3VBOCibTGa+99grPPXdD3ECnU1574020npCXBY8ODjg8PGC2mPLd338JtI5u72n9pgFiop0K26Bta37245/wd/7o7zGb5ajIDAm0fP7LX+Xg4B7vv/MW1kamThxEg+8duH0YDWz65ZwGISHq6dOXPMEnZoXuc0VDHH6mwWLyakgyhRAL6OS479PgVGmJtksMgoi0jul6w270ia703Nr/9z+SxMCc+9FhQJUaaHXuz+Qd0DpH01RYCt5791026w3f+vZ3uXb9On/4R/85i8U2v3j5p1JveXo/EKJmPb10HQeToZdBRJz4MUTl8T3h8fcir1E/9t9C/H2DedWwo8RPpf8Q073++PUbrkOKXUnIcxg1YuNHGhgYNbA5YoLsaF9Jzz3Qw0MQZHTwPuho2xW3bn3A//K/POD5z73At7/9LS7s7+M97F64yN/7B/+AZ567wV/+4K94+PARb739LtpmFOWEB/cesbUXyNC03tHVIlXz3qM7ze7FJ/C1IMRHD+7StB2VM2iT45MLcNRki5xBBjhFLgwKAmLIF/WPIUjDpbIMZQxafEHR+RYvvvT7fPze2zw8PMVOHuLzkieuXOTiVsmiFAvG4LpPGIQFZAgfUt3g/Dkddx8LpRR5VhKyQNdJXU1QbC8ypuWM/f0L3Lt3n1s3b3Lz5kdcunSJGzeeobx8gwcP7/Dg4GMZaJto+GU1VosE8PDoUGI9l2fSvBnxxpZhle9rPZPZiBzK7mCMjcZTHq0DVbsWn4AYiaRVJg1nUbK92KbMS+bZDFAUxQStA01bR0O/mrOzU7q2oluUIkfzHmMlbSEoQeuVDzRNK9GIWuOi3I6g0Nr1/jIm19FMUFzgkweH78QHZJqX5FmOd451V2GLPMoGJCM4y4TRabMMtKauml6H3EWDwr7BdUF8H5S81izPIhu0kz7I+6ghlqEqWvKFZ5MJKlRUTYvCsFouaVtP27oYSwnT+Ywsk4jUqpKM4bppULqgqht0K3tw07Y455mWJZOpsEH/k8T9KBXwrqNua4wx5Eo22EwJkppZy3q9xnetLPoQJPRbZYCiqlaRc64pTSa86c4JUhJNhqpKXJRtYcjyEo1MEZrWY7NCyI1dJ4ZORqOCFBGbdcUmHszT6UxcxgyijY0Fh+npPwLvexc53l7jG0EHEqndxDBtnKeLxk25zVAomSY4R4imVQRPbrN+ehVCCocPoMUlLMQD0BB699gsyzA2E72yE0tsk8nUWRsRoiulqboGqzOJ74lUzBCLIx31vDoY2lVF04mRTpblZFmOMYa2aemajkxrofNFaH9S5Fzeu8jW1jbrVcX9ew8xxqKtLH5tDL7xLNdLzs7O+PjubZqmIcuNRBEpy+npSV/YW2MlR8ulKJ5W7Muji3RVbSjzCVeuXGV/dw+jLXXVAkps1H1gNp8TfKB2bbR7d5RFwXQ6Q2FiVlkqMoYiNuCjs2LUZvswcpoN/Wfjg8d1QxNct03v+pZotT4adgyHoxx8zgda56PxgiApQNTTDQSngfmq+kNROViuTjk5PmNna4vVqhZ0D42LXXiP4I4yTkOIMQYqNuJxOGGMaGrTkNE5z/HhIV1VU9gs0oscIWiMyXBNI+s7WXD41IQriJE2KUBQ4UYHe4899NPrsRHLf6AXOv/FFMr4qQQ/QSk9GqXS5FCjPXx08yZ10w6at5gtqDxxKJboeaOhRixw+7zJ+K5T1EJPaezRCNNfi5AK2ojsmyzna1//ukwxteGNN34mplo93VbQxbLMe4p9WgNE1kDAC5V6lPX4CY1Yf/APlDzVI6uDm+dQdI0a3X4Qco5jOQqDSB1+6JHb1Aik3+9HOu9zxeljCNKwpok6mWHPe+ywGKFTQ30qxar802Mjo5zb/p7WGm0NOoihUdd2PZ1LRcQ6JOlBcpo6p9uV/XWz2eACYmCidVwr8t61NrSu4dHRUWQ2nGKsYb6YU0ymaAJnpye943JVO1onbtjrVUXbdIkCgdVyzkiOomaai5Zpd2cbQqCq1+gAZWYpd3dZbG9TbSpOjo+ioZkMUF3Mh9ysN/i2JbOWs6Nj2qqinJQoEFdNY7l4YZ+qqSXAvnMUNuf46BijREveOIfVBpsVnJycklvLYj6hOV1CsGLYF9Grg4MD7ty5S1mWfOmLX+DevfuyHPQwXAke7tx+wK2bd/jSC19kMZty785drly6QDGZUreB1dkaYyyvvPImX/zSV7h0aSc2PS5GqiXJSGycRsyO1fIR77z+Cl/5nd9F2yyyfBzaKn7rd7/Nvbu32azXfRxEykv1/YAoFaTEKLBwfg2mvOaRkVNIaG8cOCkkDubcUtYDMqWURhsb9yxB6nykBIZIXe3RRJUasUGz3ls3PzaAevwxbhTO9XHJv1gpzhm/x4WftOzyw4mdJi16Fot513ZoFHdv3+ZP/viP+d73/oDnPvsZXvru77O9s8Nf/fCHrJZn6JGMQKnBhdonVlT0AZCvhdjkp33jcb3weZR52E903xQOfaw69xzp50P/PEO47/l99PFrx+hrEu2m+v7/3MZ5DkFPQ77xaxk/QhhQ/dQQ9+1yCL3p12a14tVf/oJbH33Ed779bb70lS+LS63OeeGFr3L92nP8X/9v/w0PD37Gl7/yNX7687/lM5/9Ai5oVk3L2dEpxGjEuqrxbUepxUynqjd88PrrMfnA411Kd0hDDfB0eJ+iHSVRJNeZSNa0ERlfkMhLMynJZ9PemGg+X1CWOSYrKBbbVA7uPDxh0xiW+7tc2y/Y27JCdx6ZWibDzMEETBhWzsXhZ6/RSSZXHmNU9NkRGnXTVIQAOzsLFlsznnz6Kg8PDrh182N+9KO/5sKFKzz77A2uPTnh4OAhDx4dcHxyQlCexXzO3qLh/t173L9/wHvv/hprPTbTON9Gv5wEVoSIWkpTXBQ5zkWPkDgI1ko49YnB1nQ1VVVjNobOb1hMdijyKVluyfMFxsjnMJvOaduW0+MTDg+PODw44MH9hvlizs7OFibqgDonhlxG5xKLqTVdWw0+IT6QW+kJXOP6mDJiiol3jkk5ibGantY3GC3sT9eIU3oXHFkIKKupqpqsc3RN1/uhVFUlwJjrIkPHRQab9BbWGkwmZsBGSX4wcXCS7mE0GC2JOZLTLuDdaQgYFXBNjSOwClKD5kVGZg3KSHxbbqw08spG1ohnUsrfrcklMqhte5r9b/L4jRvbqqmpuyaafWg2awncLbJCTByUwhotom4dCEahlY9Zo6moVeKSGzfE4Ij0VIHinZPvbTsIm0o+9Myig7iQaqUjYintgHeBrnEED9OJTOVTDptWiq5pRMScyyRDjF08JvJnXOsxmY6HW9wUjRwlVps42Ymh89bGZtTEBlzQBKutvC6X6HedhMdHwEtHEx5pnJxQqozGBU/V1LLZGUPQARez05KGuXNBphm5/N0HcaPNMhXt0KVOtLllwkSiQELaXOTaZlkmmmYnNFKjNFuzGZcuXubShUsUkymLWWBTdWyiLbcxlqpbc3h0yMHhIWfLJZ0TtMB7hw8dnW84OT2kaWqKwpLlGUWR42tH1VY0bYtOAn0nwfEXL17i6tUnaOsO13mszeMURkXTMNGbOO9RRjMrS7FVj1EesSKKk78BGR83oj6+915zd67oNpKHRdIa9sSmUeN43m0wNcvjiXQIQ4OdnDoTrOZjPeBdy8nJyUDnQLG/d4Gd7X1OT0/58KOPWK0cDqFZZkUug4yqEoqHVxFHlQGJMpbFogBOpHExRvTd3nF0dERT12Rxqhac7w8WY4RqH87tCZH8GnTkcqkEfY0CMvxjh//5qTW9LUp47Ot8egP7qU3wqDDxQzarD5K/GNZJ0xvizF4ayjLa1Cf6jh4jzyoWvgkNSG6bKt0vCXoYqM8hUrlSDI2P/1x78gmeeOIa3geapubtd96R34UwK5zz0YjKjgoh0SmLJi5R7M5P/h9vBPtr6JOi7jz6krrlEIu6VLQrBrog40Is0pZ7NJcBPffhfCOaNNWcKyTjy/H+3OtIhanqX+N5BKQHosLo73Kx4/OMI4d0X/gMP5c2zSGOyHnRtuoYsyQI24AQJQQt6bZdjAooipKiKIR+ZVqMUnTJQdl7nJcDPC9yLl2+BJcuoFVgs1lzdHKM1oHV6oy6bijKjLatCUoi1lK8btu25HmGtRKpNp1OKMuCrpE8v62tGc555ouSs7MznrlxA20MRTllvVoxLbMoSwlcvHyJ5fqMhw8f0LYbMquwWhhG89mU6WzWswnWyzXBe3GRVIGgA+vVSrwh8pyqkim/zXLyouSJJ+Z84YVdnn/hBf7v/8M/4+iokcC6OMBar9e89trrPHX9OluLhcQmGUPrAy6ICWQIgbfe+jVt46nWFevVGbPphO9/77toazk8PuMHP/gJoDg7W/Gzn/2CP/jD75Lnpjd9C2nNpv2pvwc9zle88/ZrbF/Y58azzxGUnB2h61hsLfi97/0hf/6v/2VPvw5+cLUf7r1Bp51W6TCWG/bEURfVm9aldasidT4NqHp2Q9zrUnGV0Gbdo47C4+21tEpJVrbSfXObTIl6lkFQ5+6fT90hwye31hCd1cdoWXpNfT572idG1FsV83+7tkVrx9npMX/+Z3/GcrnkS1/7Ml/62ovsXrjIv/njf8nR0cPo1p8GtcIoUPG8Ta876X1ljj8g1OPGVGrG4f0Mje2YFcS5M/YcKs1o3xzN64YeNQxD5P4HP+38Hze8Q3P9yWs+2l/U+D1FFD55DYy+t/+5pLFWosE9OnjAn/7Jv+Hmhzf5nZd+l8uXL4OCTd3xyq/e4tLFJ7h562OCUuxf3OPkdMnxZknXrGi7QOs6keOdnsH6jNXpA6xRWAOu6XjqqSdou4bl8hRrLM6l80nkHMTomNLmzLUmU4FAQ901nFYbQqvomoA7VdRacVY3PAwKURZKQ3TsHcrkFNMFu3t7PHr6Kt/51ossJhN820Y/iOFaJNAr3VdjJ/L+rE4ZwnEf0lqztViwtdgWj5LlGZvNmvV6yaTIeOELn6eqGt5770N++IMfooxib2+f/f2r5NmMO7dvcrg+4uHsET/6y7/i0fERp2fHhFBHlkMaXpk4zxdfkMSWFOo2kf0ia9fF12ViKkvTVBRFRlEWdK7idHWC2ayZTedkJseqHGst8/kCgGk5xRgB/NZHFavlJvY/jkkpcTzVuoVgMSbE2J9czk/X4boGUxgynbFeVzRNQzCRhRHRd2OEqeMDBB1ofcBrJGM2BFYbSYgR6Y0MSVQgZrZneC9pIYFA27oeyJHntTG7OEViBbQZ7kcd8+Zl4BcIjewPRS5xrbs7C7k3fKDzjqqu2VRrbDbHmowsnxDQLD20PrpdWxXRexk8tL6NzDI11G6/weM3bmxPlsvYKFmKsqTdVHFjkMIkGShJbqVCZxm+k6bVBY+x4qzVNp4shrUrLyYmfUZRdG0LTqZJTXRhVUqzadZkRii52hhw0tjYLMNm4qhlrcV3HdpLjmZrjcDweS4c/K4TY6ro0LvZbDCtpSgEVZaQZ9HqhSAfNEjxmnZFcbJTffCyC7HQiQskz0s2TSXaopiHm+yuN+s1wUnQdArRTvbkski6SEVOOk7fZ8saY2RaEmmaEkVSCzc9E4MtrU2f4dXUazHHMpZsmqG6wLycU2Ql8/mc7Z198nJKF4Sm5KJGsSxLmrbldLnizt373L53F2ssk/kEHQLGyLLuOsfZ8oST02Om00yQ6X63lwKhacQdbm93n63FFpcuXpFhROcoiwmZtWjtcAR83EyVEqv56XQqG4xW6CDTfddTRdNkfIjkSQ/vE/o6oLDDY2hiGOGsIepr+sNRD9QlF5HefvofT1PVH4xpaKP7gU1y352UJQQ4OztltVxRVaIfy7KMqxe3UZcLFls7oBU2z1gtV5ycnnB6ekpTi5td0zqUgd3dbbYnsg639houP7XCKcXp2RnenmJicS95qj5qFcXRuqstrrGjCml02I8Ls3NV1CcP/OEqfhJ9Depc1fCJ7+8pzCp9fgO6nRpa+f/oYhj/bpTGaPmMsizjySeucv2pa0wvn/RUKG2GCB+VGtvFafx90VE0aeJIQ389KoJU70LctpKZBvD1b/x2zEyFDz/8kOPDI/CifRRX75aiLKLR1XDtEjKbkFA1zmyExwqw8b8PDIEB8Ri5pyZHzXGW5PgzGCGrn0Bb4yAwkLT48pn07JLxJ/4YdbJHi5KLcbzOfkRp/jRaYIjSCfPYekn0SMXjhbnCu0CmDVpbmbbbnNq5iJQNsy0iChevWnR0DVEep1FG6HBKg7WGoszpNm6gGAYZPmzWG6q6Rnkx8ZhvzSlnM1wwHDw6ZXl2wmRyCYAsDuLKckpuDTduPMPt2zdxTgYzVV2jjaVp2hjno1nMF3RtTZZPqDqHb1rWTcdiPicrS7a3t7h79z7Hp2fs7m+z2N7i7OwM13YcPXpE1dRcvHBJ3IhPjphNZpRlwWqzZndrB+c7XNey6tYUeU7TtOS5lYgi7+maGt91fPzxTXSW87UvvsDPXn6Nqg10cUKuQuDo5JTrT6vIKOp4+umr3Pr4LnUjZWvdtNx/8BClFFu7F/jwg7eFWfTokGtPXefo6CZNU+O94vKVqzw6fMQbb7zJV778eRrvyYzo2NN+6yJDxEQ/C6UCdVPxsx//JTu7e+zs7qC6Gt85fFNz7fozfOXF3+Hlv/krMXXs49AG5Dk1GgnY6ANdfNQv00Owoz1G/vAJfez/U+iHbKr3BRCUNq3d4NW5+7bfV/R59oCwrNKekHweUuOtPrFt9o3peAcdUTT0qNlSI0nAeZQ0MT6GBk/F6CWtlaQheIf38MO//AsePLrPt779HZ548kn+0T/5J/ybf/3HfHzroxHzw/dUcvBJhNxLKFRIpkLj95624PPskcdfZ/96P8EWUY/tcI9do/S64h4rT+8/5Xt47FoNGcLnmtLH/OR1YpEElTwTR4yxx9g2n2hyVT8cXq+XvPLqr/jo1od87cUX+cILX+C//+/+n9y794j5YsrHt2+xvbfH2dkZHqjqmu3dXbrO8+DhA44fHdCeHXN5Z8osW8g97zuqukHpEJ3RHa1OkiEFyhK8DCBUCFRNw5nq+jhCVEAXU5S2WK3Z3dnh2rVr3Lp5U2JajKau10ynMpQ7PTnFNafc//iQ+7ffZm+34Hde/CraZDFhwvfyD6NGFYKi10iL+WasBHSSf6VYRqHAKuWZzWZMphO6tqOuN2w2G46PT/HG8vSTVymM4my94uTwgNlsymeefYavfunzVJsNDw8OuHnzphi3thXTWRY9WSSjVQZO4urveyNZRSvFJ0EL6IQfaOwu6oSzOMT03rFarfG+QmvLerOmzCdMJ1NmkxmZkeY0t5aLFy6wtViwXC05OTvl9OQE1wUaLefQcrmm2HTMZyWNdWRaUeQ5i8UOTVPTdA3KqMgMlGuV5XnvfqqV7C0uiBlm23Y456kiy6fIbY/Odm2L8lBkAgrUdc1kMsFmBhc6fDSRMhq0ieNA32HI+r3RROfppukoJ1PxGIjNbWYL8I6udUwmE2EhxWgjHwKbqsKFQJ4XwnhNzLjcsF6taVuLNSXBeZqmkQjF+UQMrvB06/8EiK3WQ3HiYj5RMgwwxuBcR9M2AuUrRWHzyKPe4AhMp6Id8t5JoRcgt9ngZhs1P857KidvSsW4gq6rhddtc8qyJMutULI6mWYRp5Q+SOOtovZxPpsRkObXWEvdNHSuE4g9GMpJ2WdGhiBcd2s1TdQGJC3eWIsZnNCBfU9NMlIoOtW7FpZZgS5EH9y2LVXbyk3vhO9OANc5TC5asjbyycXUST6SrhMNcIpDko1YhNn5fM5iseD4+Ji6qePUKTYyEY1WyvTN12QyYatcsLu1K41xXqC0ZbmqokulAq1pvOPw6FQ0tY8ecrpakhUZ6/Wak3unYideFlhlaOtTytpzeHTA/t4W4EVjGyfaNuaYXti/wJNPPimFsJPGwegM78ApKTA614kpFprpdMasLKKWKh2WomVMNO7zj/MFdQgpymdobJMeIcS8s2F6HM4dulrrPhKp1+Qk7aeS4lUllGGEXBKL9fFr0down82Zz+Zc2N+PMThOgnuiZteaHJtl+P6/uUjdlm7Ct3Jdnvvs84QOquwDNO/x+e/f5nPfuxNfd+iboX//7H8a//n/7YdQENco3gH1zoh6+2nfHTcZV/QZ0krr/jPXo0m9bD9iM+86yWV78to1btx4BoUMfl5++WWJj8FHBCLdZzrGH6XCd/RykmlGQmI/pZgbCqERhe8cvXeAOs4NLJOeKZx//+ExRHa8vsdDnuBDTzX1qdAjmmyNirXHUVyiazEq0cvGaAt9kaO1DOPG6O34Xkx00nPPH+hx+RAntolil4xQTGQq0N8mw/eFKCNQSrJr15s1PniKvGA+n7Jai2lTGjxB4PTsjNsff4w10bzNKPYvXGB3d4eDR8ecnBxz8eIltDZUm5o8h2mZ0zoZalhr2Kw3dG3H1E9pYqY7wOlyxWpdQRCa3LsffCj7d1Gwv79PZhSbumFTVcy3FhSTGRA4Pl2ijejennryOmVestqsuHzpEkYJeuDxbDYblqszZtMp8/lMioOuxUZqV+ccWimWmzVnyyXaWK5dvcyr+Zt4o5lMF+jM4uqGarXko5s3uXTpAkWR87nPPsetWzejw38cgHQt1mhW6w2/fuddXvrm74hzs3O8+uprtO0Ga3OadsPh0SPW6zNuPP0021OFDh5lzjdZQid1Ub8mQ9Fqvebnf/MTvvuHf5fc5Cgv03tcy5df/Dr3793how/ewdq8p+VqrVHODZW0GmnW01bQ/3VAdMf3iUdcp5XXsUvyQ8xaXLFjXWeiXaY9AAb9YMoURp136+4LfegbzgiFnNsL+qZr9L39ECi5DY/2hzQYINZmqW4BxUBcSZp0ef/GGrpWUCjnHb/65S+4/fFtthY7zBdblNNtlLJyDiXEvd/O/Lk/lY5kizC4NvfXjOGajWfM/77mdvQdn0BX+ZQ9VA0fy+hM5tz3D+f8+YEDycU9udQ/JqvwEcgIPdvkMbflxx2cz/2upCsRFLdtGw4eHfDDH/6Af/Ev/gU//uu/YXfvIgeP7uG6jt2dXU6OjzGlmK6p2GCFoFifrQibDQ82RwRfIYIhj84U66amrmtWdR1r9IAxNg5S42AlZpK2adMk4LpWMmDjfnvw6JB33nsfQFgnrkFreGp6nbwoCXopzMBshmsrXn7553z2mWe5sLeLwg3Mn/HwJiL9ITGFvBN5ntbCFksRbec+0xCNQEU6Z40izzK2F9vCYPOOz3/2M1RNw8e3b3Pz1h1++fLLbG3vcuPG0zx741lOTo+4//A+rq0JnWwGNre4xAZAUFq83AdoRRcCrm1pnUMjelcVEckQQQKlhHFa17VECSkB7Tab6EYfz6rFTGrfIsuwRU5eFswWc3b399ms16xXS05OTlivVhhtqKtarkk0mp3NFWXhYuaw6e/pyaTEa5FztjHqRxk576pNRfBCtXado8wzMmOYlCVN08iZmBfoAMuzM4qypK7rSMHuKIqcPC/QSpPZtH+IOe1mXVPkOUUpnj/r1Yqm7kimIgOLRcUayjOZlEyKkpDL/dB2HWZuOVuueqZb03o6X8Xho8Q02VZMFpXNImtW92DTfxIqsotNl9KG1klYcrKt987F/FSPi5MPrzpc20nn7QXNnZYlk3LCei0mVNZmFKboc+icEkewLBgyNNZmVFXFpqpjDqgszM5ZdNxEtdKyGLXktHolqKOShCtAsVpvetqDtRl1LfrI6Wwq4um2Y70+i1NM0aiqDHJtsZkRlzcCTdtKVIa1aC3UaxFsAbqLTpWt8NKtuNJaY9lUFXSCRISuo2lbaVwnE9HvxbBptEUHLaiz1lFzK3mNKk6ojclo6pqNtShrsETDLTyNq+PNL3oKHSDXORf3rjCfzNlabMfmU5zImqaijrmrJ+szlus1m2pNXVc0zZpgoJxbbDmlqRuqasP9hx9jVY7vAvOm483XXiXXlkBNUEKN7TrHYr7F5YuX2dnZRStNXTdCj3Yd3oHSHbkvYuMvLnGLxZRJvCYkHa0aGtJ0kPKJ6a6J0yXfNwghyNpQNkmb0mSJnhqXhjXj5+qnsSkmdOTop42WOKiogUiUs1RIyOFHnGSnnxPkPRCwRSYHTxL+J+djBMVWTpzr0k/O96f8/ve/z2ee/4xMjbuGD5uvcdbd5c033+Dg8CEEEfqv1xvqqqJuxGQm2UX2h40bFZDxfjORypKoQNrINZPcaGngjTVxGmexmcVEir7Sqv8+4iCGeG8QdZtaDZS1wQl4XNzF6xRirtkYJVbpGo7yTcNwUJLKQaV7l9X+k0oVZJfj7z7fD+HSl/R47aQ/XaBtOok4QfG7L30bY0q0Urz5zmvc+fhO1GALdb5pxI6/a7teaiG/diihU97b+L0+jtoO/21M3xvoj6lwU8m5Mz73QJUfv2k1aBhHNMWkQ1da9WBlHNoLRas3wUlPeL4YHNZ01KmOrl/STiatrNxTg/FMmtgThkZW5JWhf+5UaLpoeCI38ODMbWIm4EDB1hiTaKQKLeFlQgOMdMgsy5nPFmgtDq67izn3HxxBMBH1lUi2ra1dvv8Hf4fcKH795ps8uH+PzXIFusEoxenpSX+tD4+P2d2ZsrO94PDRQ3Tw1I0E2kh2uRhxlEUhU/Qof7FGs6lqnHcsFguUtpycnFKt1yJhUVDXLe+//wFPXnsCFzqqzYarTzzJYrHFerUmLybYLGpPtaNqGjbVhsmkQGnFk9euo7Xmnbff4dHhI4q8BB9YrpbYLKMoSpq24+DgIU8+cZHX3nmfelMRIq0NJzTsN996iyeuXuXC/sXYQA+0fhcHh7/+9XscH61QOkNrxenxGZ/77GeYTKZUVc3Ht++jVeDRwRF/85Of83f/zneo6jNUqMUkxSi0NZhgYgcaxHBGKQia2zdv8vbrb/Clr35NIkm8eGCYTPHSd7/Pgwd3aKs6DjziGnc60td8v1erlKt9jrI/Wvzn7h4/rNlUlctvGN2Pcd9OSVwRvRSKfPqZ847M6b5GSaxFAn5V0KN7+HxD1e8N6b5OsTMhDFFByT0/IaijjivRpOVnTLyPh0SANGTTRqj7TVNhM8vD+3d49PAeWhuszVnMt1guz4YmfPT8/b4yHoAlOYjWfUMZ+4dzjXGqZYaB9AgV/sRjzBoZUa0fl8okyvVjtORPXtfzf+/PxygdSR+hSSyiGMGGYrSXD6yac9clmuqlRljWc/ykZILI8ckZf/EXP6AoCparUx48fMB8vsAYTes9rnX9J9l5z3K9om3W5MGRlznrTRXXAQSvuXv3oZj6mFwop7Ep1slPIjmRj66B99B0nta3CdePGm1pVJpG6uO26Tg+PsN3HVXV4oPUadZAXbW88uqb/P53viUgik7eHMk+P53XEq8nEh4BrjoviR5jXTCPnWd9FJ5S8r7ix91qRa5yTG65ceMpLl26wOHRITc/usUrv3iZ7d09nr7xNJ/73BdYnZ1x784d1psVmc4xLvSGcG2IOanaoTG9YaOODvTBe0w0MbERiXZBJIEoE1NcPMZY2rqhdmv8xrHcLDldn1EWBTuLXfI8R+cW7WXgkEVWZDmZ0dYtZ8szDo+OWK3WONfJWWozTu0GcNG40GKsxkUpo++cVCHec7rZoLV48tRVzc72tpjNGgFpfOciM1L32e6NdyjvwGocgartyHU0GUOJPDMaWVX1mqbr0DYHLdnYdd1QbVpyOxFzqRg7pVE0NCgVaLuGLJv0Ovq2dWTRuNd5R1e3PR29dV1ff3rfxaE31HWNDl1MsNDnY/z+Vx6/cWNbVzWhgDIraKJBlNKCCnad3IxGG/KJ0G7biFIuFguqWm7Guq5xnTQ+0fgLay11K07LxbSMk1Av4dHWEjJPmw/TATyszlZ0bUdRlhILATKlUkJ/LYtCCt6YrxmiWYhSWkLLIyXBtZKBlecZTWuoW8lpIsYZea16epxHi8sxQqEOAbQS+qJ3vteeuLbFB0eWW6FkK02R5b3WNN3zWqkYZO/Iy4I8z+icIBKda+m8o8hFX+rbLjYdYk7TBc+6qWi9i9qzEAcKkFtDU7UoH9jZ2mV//wKXLl6iyEqxFY//a7qWTVNxfHrCyekJR8sjmq4mRP69sh6jRTeUW9GAllNNOTVkusQ1HoLlj//FP+OtN17n4uVdWt+SFzmXL1/l4v5FrLbSLEQ0OemjsrwAFFVdi6bBGra3t8nzXCjg0QkwFbJ4odYOMT/n9TTpEHUubZSJqiWvP6H5rhe8D+tlaISHA1CPzaNUOgx8j5wzOsgTpfzxqfK5M09JPpe2Sf8kLtqhR6YSsmz658/znN///vf5wgsviLYieLJ8wguz/5q//cWvuPvjiq57kiyzWKUomwbTttg4nSMMVu4hBLFLGblEymRX7rE0ICJOW6XhFbRNx4ngmE5HzFfzkaI/noq7ntbVg2qjyzCi1fYIROgLODGd6HOBIu3LEs7RpZM202G17EGfNsdL71OrscNn1FSFURETn1fYDgCBCxcvcunKFU5Pl3Rdw8s//TlN3URqvLx+5x1lWQxux+qxAzourMfX6ac1t8O6S+sonGseU82YardPoKixUE9IKSO67/h6AASjBzpzkCxDk8T6Ybi/jHFRJ5aokYn2b4Uk3scXqnOf//geCDGnm2R6lSK1+oHRcJ8k9o8PXU+5DrG5FaTW9usqaa3VqDnRSgsIkD4GFFvb21TrFW0r+YJi9uMGLrOCTVXx6NEjdrfmvPDCCzz/mefYu3CB1abmn//zP+H4+CQWh4rWyT0akOk5wTGZzlAhcOniRYLy3L13l82mwnuRoARS8yDDzLpuKIqC+XyODjLILYqMuq4xRnN8dMy6XpFnGe+9935vuDiZzLhy+Sp5XuDqiulsJoVOvFfv3r/LfL5gMp/y5GzC6myNc54Lly5R1TXTqdDhVusV02nOzdu3eHjWEJyVAXBEXG7d/JjnbjzdL7yd7W3OVhvarutpsx9+dBO0BQyd67h//z7PPHNDDATzgg8+vCn5strw4MEDPvzoY64/uY9WCqs8JoXxjh79Gooo6auv/JKr166xv78HjZOIIteyvb3Ft37/D/iLP/njuH4MSnmy6NaZ9vvUI6mRQ7bo+PvfONqzI4LEeUnFsJ7HSGC8j1LElmL0POdRVM6dCnHWmM4b/xj69xgama5HQkBVclqP+l/Tn0WfpMGmfTWAOPAr3W8eyWwrNdNGi8GU6xowBqWEgda1gbX3LBYLzs6OezkOo338cVaHSvVSOnOS23lkZqWXO1ziMAwu/wN8o4HSPETe9f2QP/evfYv/6YjwwI4ZJETEddT/ktEnfc7A4Bxl/JNMlr53JQQZ9LaJbq8Uk7KAAG+99WtOzpZcnkzZbFZU1ZqtrTl3791msXcRaMgyi0NQ3rOzE7wTzf5kOmFTL8VHI/7+JoI0whIg3g9JeTOc9f2+GM9en7Svw0hWPuM+2kiuxaOj4x79JQ5XZ9MFXdvwyquv8+UvfpH9/ZnU23HYb9TwnINh4aAZS/epjzJDHfOr+8HwucFzZGUYeu+Mpo3rWpdkmWaxmHL50gUeHR7x4Ycf8/rrrzO/teD6tes8c+M56mbDwdFD6o3Q77UmRrIpujbgmgZjTTQBlLq9c100ovPYmB/rvbASvfdkWS6GVN6hrRazLkSC0pzW5HnOcnnCdDpjZ2eP3IjpnzEGbWRw1FQN5WRClhcsV2c8enTA4eEjqmrDyXTC7t42kwKaxkl/0MlAx1hBkxNdV2vNJM+YTErZQ6PLPiHgOukd2uhj5J341+RFLvRk7zBZhjYWZQQdlsY3vu/MUhYZddNwto5nsbZMJhnWZPHj8jH9RlOWGVW9iQOWVFPoOJyOA9ampq0b8ixDmTwCWYHc2nNbotYR6bXCWrX2P0FjazIbQ+M91WYj03ejmOQ5uTXUm4qiLLHG9JN91zZMZrOei00UMLsgB7LzHVUrKBOAsooQjYa0MShjKCYlaBMHcYLDShPoODk9ZrNeU2Y588WCYjIlhJambSjyrJ/u5dEpNvhAZm0/QXJtC5lisVgQlGdd13S+RaEoslwoHFFy3tYVTdvgFeTKY6yJtGQjk5uIHKEFrUoB1FXTyCAgNkllWZIVOV0nrpVN0/bXRW4eRZFPCThcaEWT6h1FZgg6fdiOzslEz7eyEWqtMShs0JSTKWUx56mnbrCYLbDagNLYrKDuHJuqZrle8vDwPqfLY6q6wqsOjAwFlPL4TmbULpo7+SB5nUErnOoo5xOMyvB6wwcfvc6HNzWZ0Tx55Rp7uxdl02g68lyMfpbLFcEjduNx8BGCpyxLJvPZOTtv75Nd/bg6GGiSqTEKIWVz+hhRM84ujH2QF52suDiqHl0aaEnD5DxOHPoCmhAIvcO4xBoYbfuDU8fGtp+I9yefxvuBBpY+txQh4XpjK/o8ynHWnDGGb3/723zhhS/RtS3BIze3yXjjzTf5t//23+K9OBqmn7M275FtYfmpXv8AMVc1uH7DOdeMP5bMII2s6rVk/UcQgtyb2n5i0jp+eMTKPlFPdTyswihnlHFxkKbaaSKnXLo40oKl/x6GabBC4+P7DCNzr8ebSNRoCBKLFKUH6p9POrGE4gNnJ8f8P/77/w5rMtq6Y7k8k6zTqMPuOkeZF0MMSHLrfQx9+QSiMbq+40casKQPo89z9J/+/QMlcISGn2tMh6Km//2Poahp/cpsTkyZxrTmvpBR5/8kFiu+N//4JNJE31jrSKHuu81oFhWR2JEBWKJ3BycTT6OsuNd6WRY9YkvqqoXbqLXC2oDSHuN1T62uXYPNDWEDRVkync2wRtO4qO+MheDZ2ZqPbt2hu3KRzazh8OAht+7cQ+sMYyyr5Zq6qSnKDICmEeZKXhRA4OKlK7z+2qucnp5hc0FGjMkwBsq8RCOO+l3boqeqN0nrmpbgheVTlrMYtVaxPDtjtijZ3t7m7OyULBPviNzk3LtzJzbHNSYzNG1D1zVsNmuMybh162O2t7fZ3t5he2uH+w8ecnR8gneeuuq4cuUK+/u7fP7zn0fnM/6H/+lfAEZQJhMZGkZxcrakbh1KaT77/Gf45a9ewwVhVHmgaWoUgbKccHj4kJOjE4IPfO5zn+Pg4CH3799jMd9jsVgwm8/5s3/35/zj/+I/Z393hg9yzhk17CyihNHDsMkHqvUZL//NX/O9P/i7ZJkB58Szg4Znn/scB1+9zyu/+DlGe7QZsprpGMz+tMT8pEJdq9jgRqdm+fWjZqk3xOtGTeNjzIjHBjiPP+QeshFoja60fbxRGqh5MKMGeiRp+TSkUY8cpFO+7Jj1Mt5DVLJLTuhwNBfrKbt9Yzf8ZnHr1cI+CUE8FlWg8x1npzXlpJQ0iFHcxrn9LKGVo9szOfYneDOSMGSA1SOujFrR8Njf05YR87rVkDU7bIJDYxrGr2V8Jo3O8nFDnvac+Ir7iYOK+95Yazs81fl9Pf27G3GsV+sN77z/EXfuPKCqpZnIjeZ73/0uITje+vV7zLe38MGxWi/JCwsqcHp8wtb+ZaqmxeZT2ralXi/ZnJ3KqEcFDk9P6HxAGXPOs4FI5exaR5anOMIw/NOficKE852TWB/ide0TAYZrlv5b57p+OJlWTECTFyXHJ2e89et3+L1vfb1nLgznX7yCkTUxPESb7vohZ4xbjOwLHZl6qvdgGIb9yfgwszIwTCw00fdmFMWEyxcv8ejREW/++m1ef/UVZvMFTz39FFeuXuPy5Se4f/8Ox0cHMatYNL5d26IzwKo+utoEg2skZk4MTbseCffROZjg4797kZ+EQGYSHbfmrF5TdxXL9ZL5bIud6R5lkYvW2CjKaYHtLDbL2NnZYnuxoMwzlsslCmHCbHIx0UXBbDqN8ZEGV7XgFJkSXyNto/61G1yN64i8q5j2gffYCJ60TrxeuhjhY6xEENVtg2qDNMlK0Xmp0TsvTbCNzL3gNK6tKacF2momZUbng0S5mgmdd6ClPmuqmhBR3Dy3Ed3vYgKMYZIXkrhiLcZKj9m1IvXxbUvTNUyNHryOfoPHb9zYFrNpdCKVEPd1tWHTNCiTMS0y7KSg6bqILkVaphZaLMHHLC3N2fJM8ouiCVLSRuV5TlPX8kFo1Rs4JVOqEBRGy8XvdItSHd1pTVNVTPNCGmqkAKqqjWxNWY4XbmHcUH3P3ffBQSc3X9d1go4agwkSnJ1ZKx96LIK7tqVpamxZRPMoRecDXdeglREjhkQ5jdPjpmn6SYlsRqrfBI01Q4UaG8fc5tRVh80YbdqI/lQ3/VTMuZbOOdpOmvzMWoIP5DZnMZ0zKaZs7+yxtbWD1WKoVW0qnPes1mJQdLY+5dHhAVW7xlgZMhRFLgdScIDuaeVVU5/nuCtwvkNbi/MdddNQZCWXLzzBYrFF27SRliuo+SZm2GojVJm2a0EpynLCZDIh6LHDZdTwpSJaDQ6pj4erpxfjkk0pmnPnUdxg++ZOj1NYdSyyR7ROP0yyQ3SXTpSx9Dp66ts4QP7cYXq+CUgT4EQX7xvu2NQ6J87VvZZAab71rW/xtRdfRIxbpWnN8oL33nuXv/iLv5BGOGZrpimWIF7qnJEKaIwl4luhN0gaF23/viJNj1DOVGyEpE8coxef8uM6To4TFY2kGfeDkdr4IfEc40JFR9RO94VQWk/pdYdID/OjQvMTDWDc4IcCS527r1K15zpxNE/IDj7Q1BUbt8a1vo8RSc135zqZNqbS0J6/t9Pvfhyt/Q8/Bmpe/zpHLzWMGtrHEaX/0PsfiuQ0NR8ozucfomMZmukUlzToGIfnHAYTn46MjN7GJ96jvDczoseNX6/3MiQw1kZDPHENz/N8uA7p9Ubqv0qRKzoqI728l7qpWS6XaK2ZzWYUWU4To9qSpqntOj748CaL2ZT7Dx4QXCdu7a1Mp9uu4+zsjKLcxxrLcrlkMZ8wm+acnZ72CEPnHN2mFTfiyAJyXdfDOJnNxE3eySBrPp/jIBYXjrpuaBo5/6zN2Hpyj53tfY6Pj1HAfDpnZ2uH4D2r1QplNQeHB2JSN5lAUJTFhNVqRVEU3PzoNsfHx+S5TPGb0xXLsxV101I1HR/euYfRpo8FC3GfajvH2+++z87OHhcuXOCZG0/zyiuv9zq9FJumlRhKvfba61x74jJ7e/sYk/Hqq6/R/X9p+69nS7LzyhP8beHuR10dWqRAAgkNkgUCRBEgUCCJIrure6Ztxtps2vp/6PkbZt7mdZ7HbISN1ZhVm7VVdTerQVEURQESIJAgFJEyMjK0vPKc42KLefj2dvdzI1CFFx6ztMi4ce+5flzs/X1rrW+trsP5DqXg9ocfULcNf/2d7/K/+69+H3w7sO69BD6eK6plHX5w/y4//ocf8s++/GWJygutjPooza9+6Td4/vQJ9+59JKM86WkMRpITlNaYfAdnMCUZRkn0WQZJs2z2PMA08LTjY+ufo9E9C+f2gvznqJscWEe1KYnuWcHh3zf/X/WNWz4excDIDseh+n8dM8bjI9JKIXR5gmnPrZ2FLWjbVlieNGYiIJSnqiomkwnL5XL4HHkdSgeWBC9pDx3vrQnITWZBY6XG5gaiNv7sAWaGxiuJrpJz7YBgD84Xm2Bbn2sfNteoMDIHGhts5XU4bxfjPWzzmr941AB3797l1u2P6DrwXurXFsXZsub2R7c4OV1y8cpl2mbFcrlka2srjfFIXXp6fIatIAZPvV7RNWuMghC9mJuOnp3N+yQmcySDtblmyg70QrjIT5o0BJXPzehcj/aLDG6P1+z8OluumJQFIcI/vv0uX/6Nf0ZRJq+ZXiU2nB2thlzb/JxtzmGnpjWROBv5w/l+H9VRWYWhtUFHMUCzVolkuLCUVy9z4cIFjo9PeP/D2/zsZ/+ILQpef/01Xn/tDcLNG9y7e4/j0xM611HaCQZNcJmh1ZSFoY3SJOa6t5ekywlL7K8ohYJP/HcMQn5ohfIO7x113XJycsp6a8XF/QuURZnOg2TETiZTlIrs7e6yv7/HcnlG0zQcHh6yXK9YJ6NeoqJpxKW5bVuqqmQ6KZhMJjS+Y71ey0iFsXTOsVyuekNfZZREgWoZk/Qx0nWdAKeFqLDW6zVt21IWFqM1XRoljYAtLHiX4oCQ+M6ipGsbClUmn4sh1k2nMc3WdbS+E9MrJdfMGC3eMj70fUXXOax14jgO+JhGMwvZb4IRUvOXff3Sje16WXPcnmBtwWwurpBt13BGoHUFEc/Z6RkGw7yaUCjR0xeTCRFF5yK6QLJAkylU29WYIJE5rgPnpGGrqgXFpJS5wq7GFAWtcziUSHMJFKXi4t4Bi+mcxXyLsqwwxtK6VmIKOsfaieX5bDbDx0gbnDC2WhO6SDTSkHZdw8WLF4jRcXJ6QgiBphOHR4uV7KXS4mNBUDG5P4pccFoKU+ZHWX2yEDicQ5CLqFKDkhGHmJpZkWT5tMi03hMNdNEl9khjrcY4x/JsiUsssC2MsHhBo4PGRItVlt2tHS4eXGQ6maKNFGcuthIWfXZKjLBuVjx4dJ/D5SHr5oyoPDpqqsmEohBXzaIo0UazXq+ZTCRGqa1bJrYSvb/RSeoqi8rWfIsLB5fY2dqja4QJmUwKydDtnPBgKZC68R6lDfP5HGtsmp0eZDEhN5dpzdN9UT1GzlUyIxATJlImWcyGNP3mk9DiPHPIUG3nd4tp+qhvZvvmOvQFBEokqLpnMPP80FB09NczDjOIKhUTqnfizOixwnuHd36j0bNFyZe//Bt88de/jA8RHzXaTlDa8NGdu3z723/EyfEJxmiqqhCmQmXw6NxM5XhD7v+uRwVRbp6GZnIon3JDrnpXyN7xerTRxDT7Gc8VWSrkfEhPUIKOG20xemAhyVEaIaPDAoD1hWbY3MDlz9BXd5mAVYr+Pfr3hX7+OUv+Mgaf4YWeJQkS+zUuVvKm6lyXYqXkQ8Vs+pYiukLwkjEcM9uZGcqXO3Oef40Z/lxEyZ8j6OA/wQ6N//1l8sCXNtVxJMvuC51cCP8idnkomEWKfX4GN/3u/hJkN9FkvJeev6gDMeWEZ+JK62Tak1wSffApTmTIOlUgczwbjtGhl0fHMLDVulcfaHZ39qnXTbr3G8lAVT4VHkYUIMFR6IKt+YJpZfvxlKbuODs7ReM5PT7h4oWLaKVZ1jLPvr2YsF6dAbCYTfHeYXSeBRaANXhPRPaF4EMfRdS2DWdnMr9aVRX16RLXtRRGU5YVXRf48Nadfu1pu4aT2Rlb84WM7jQtLjqePj9kb38fdMFsOpPCxrQ8fX7M6fJMvAuS5K5xLU3X4kOgbR2LScX1Kxe5ff8RRNvL5gmBk8Njfvrjn/GpT32SsighOFEsdD7FmQmjfv/OfZ48esorN27w7NlzrLW88upNPv6JNyjLinv37vPhrTOMtrz33i3u3H3IzWuXCDGlE6jYj2MwMh8aTMU87/z8J1y8fIlXX3sdfJQYjNZRVhVf+fpv8wf/9t9Qr5dYoZ+ECdYGT0RHTVSi/BErjLR+xJgi30b3PPSqm76hyc0po8508wEeOt/xiEG/wogj7QDEvPhM98egSM9VRrB0H4UiQdgvf65fBLPyejKsQSEmsCc9rz04OwIv86crqpKmbmg6YVC0SvmXpSgHJpMJXevSeFcyJkrqquH95JmWSC2SB4Y8mONIoIFlHrPJ55qrqJOpXY4eG3OL55syvQG25T1aj0DB84z45p/ngM8NJjmOZNPnboP+22WmvatbAgYHBCWN0f/y7/+A1dkSYxXrdcNquaKuHZcvL2jqmul8C5QmRPABvAusjk9QnUfrQPBdynlPe1xSMWXVkEpy7zYZkQ4ReElRlJv2zHpphYkCLoaRRdr5+3O434Z9JqDoAkRtePjsOX/5ne/y1X/+65g0+penhEOMdD4QQv+QyP6rNrOAM6ncAzYBgkrNpHC5fX5rfua6NAer+8SDDHQYCh1Bdezt7/IriwWvvXKTWx9+yPtvv8uDO/e4ev0qV6/d4OIVz717t3FdxHUhRTXpZCIqbKfzHSqoJPOVWRdrxSumtCVt20LyTfFeAFmNSTO6BqstnlpcgZszHj3rmM8WaG0pbIm1FdPJnNAJiVZVM4piAjGwu7vPql5zeHjI4eFzTk9PJRLHGGxlmZgCdMnzo1PQMvpBUHQxYIxENYnRbQCfzmSB+O9oSxuT+3XbpLiflkJrtiYTdIi0TSNEWuewRhiIyWTCuvOUpdRArXPoKdS+6yXcIcjqV2iDD+CUPBs2zZFPJjOcO+tBYaUVHs2qixQ6QJS8+AisXSNjKPafiLE1aWZrtV4n3bMsFm0nF9aWBl0YgvMoDYUtmFiLT1KNtuvwTU3npLkMOqTBfJLtvMz2lcmBWOh+idQJKQ82eDGnmSiNc4JiLOZzYf0iuM5Jo2NEt+9z5l2S0a7rNcsYJBMwSaPLpFcvqpILly5TO3GZE+ZZM6nkosic04RVJ+Y8zgnqVeS4Ea0wOeBYAUbktj0KrITRCcnhrCxLbFlinU+LkVD1ACrNf9ZNQ5Hyc9uuo2lbMfQwiuCiPECdxwSoqgkXDy4yn29jtaBpwUvj1zqZ2X346CGreslqtaRzXVYv9nEpeRasqiqqopLFPo4mMfLcYgqjdz6wtbXHx159g8JOaNdtyltdsF6LCVVTt2gjcUoueIy1bO/sYK3F51laJQtitiVP1Wtf5OQlMKYZkCz1zmHS2Z2SFGlC2gDVuUKgn/HYkPAMct1xY5D/TjIwyIxtXqIH98nzG6HqZ6J6Oe+YCRixwXm+NW/AX/zir/Mbv/Ebch6cB2uxRcWDBw/49rf/mNOTU4zRlGUh1ywVYjHkpnmEwPf1luo/B6ONXI0kSGNGNm/TSTGZD7o3+AgMBVJGZtU5FkNlIZIS590QhmuRX94NKGhGz4djSxtVmivrCx09PtfDb9us7XIDpvvr2yOtSvXFSUwMdnY7HDJnZb656ZLsTkXJA0w/37Yt8/m8B2D6Odq+nZOvje+psZnKUIANTtpx5Co8Vt+/rCkeF33j18u+92UyaM1gepbRo7HaIN8Hm8Xz4GiqlBhO9NDQueclkmasesJgk/HIEjOjM2s7zFgrpYfnn+HnFMImqdHv6c+SAqVHGaVp3lYnhr+pa6azWZolzOZVUkBqJchx0zQsl0usDclMLTCdTbh08QKnyzVPnz4Rh+xUPKhkMrK7u0vwjv39fR4/fiwma0XBYrHg5PhEGHAvCh6lxGDKdU4YRq0JSjGZTjg6Oma9WrK7vU3XtXSdgIJERVkVtJ14VLRNS/Ce1WqFKSU72aTjefjgCfsHBzTNIV2bZHNaihZri5Q3KCzMdFoxWyyIVnP/0WOiCxvXF+Dx4yds72yzs7tNjIGPfexjvP3uez1lHkLg3XffFVBNay5eusQHH3zAm29+gtlsRlWVHB8dSdyf1xSF4Z333ufypX1Ko/DRpxxJyV/MkWDC1rrkXK0IXcMPv/dd9vcvsLU1xyS/hOha9vb2+OrXf5s//eM/SGZ1QwejtEaHkHLLSUm2sb+fVNSjNW9cyJ97ds6xiBv/NhrniPHc9xDR2fTtpevW6Jkf2obRHjSASWOpLYy/f9yQbc77jhnHDOhtAmmbLPNwPBI30jUtru0oylI8OdqWruvY2dmR5sVLASprm6zlWg+Neb8XRTCJMY+pcdda9S66Y6XO2KRqONYsGc978Msxhk2F0X9eIXN+/RyawPNnOJ/MAax72c/n1+7OFpZOXIWT1FahODp8KABcq7lz5w7z+YyoNGdna7q2YWv3Im3bSRsdAk3dcHp8ksA3j0qjE0P6wjDTqvr0Dj1qGsf54AyjMiliSxVF3yuGfuZ6uH8g9x3jZn/ULMtJp3WOH7z1Fm9+4mMc7GxBdGL2ltzq67od5Zin2kmNVHQJhNaMa6kkP8/qiugl8zp9bdib6MeQQPx60q4rSh9dUBYVZVWyv7/H8ckxH310m/fefYc7d+7yyiuvcuP6J4DIkyePePTgoczMqgpw0lynNUUxMsXMBpqI4342ZhMVphhRKqVFYZo+Z1FaQnTUrafzNQpDjBL7efniJYwuKW2Z4nYMpHHHajphNpuxvb3F06dPOD4WxatbiXlYO/V0nWc+n1KVAsxmp3mR8vohqzZFj5bFhKgMvmuo6zVNJ47aJhlIVWVFl5537z2TaiKgrbEYY6mqirKQZJOiKjCFTUx7Nv3StE1DZ2XPizESfMQbJ+y60UMNnu7PGIX01ERxA0/PuTIa17Ss1us+MeaXef3S3znZmosMd7ki+ICLIhFWIdA1LaiKxWyLSVlitcVqkQQ7F5KDrKdrapRPA9gEgk8h8ybN/VlDVVV4r/GIJGE6n+J8mlXQiug6DIqqmjKpSpo0Z2RtgS00be37mI3JRAyTnJOvVVVB07U0bd0/CMpUdN7z8PHTZPhkqSYWisjybM2qXjGZTlIAs6KpG1wrkTBlVSZJhBYHL2swZSGbqrV4xBbcarmpVabrQxQpTUbRvKdrG7TRFGWJ6zy20HgtLqxWG6pZ1TMlxhjauqbUhq2tBQd7exzsXcDoAoIiGsnEdb6ja1rWTc1Zfcaz0+c43xJUoJpPUK1IXKqq7JHesqxoW4dGCsPOS5M2mc77vCqjC0ozYe/SAZcvXcHokmbdYrSlsBVd4+gayWBFK1rXieyiKpjN5yjAd07cgqPkJEboGzSFSF6JQSQeamC0xGBmaEjFGTVvqDqdo6FRsoXtY17GkpIxM5vjnOS9RrmA6XvF1GloUBQKq01fS+eFVfeLrxTP5vycY8pEy/PXY+T6V3/1V4em1gtrZa3l+fPn/OEf/iFPnz7BJIfAbAwQkbnxgbqU8VSlelPkTRZv9DyrFPGkE5ssxlv0x5ndtXWOOxpLl+OwGIWYG8cxK5g9RgVx1+Pf2W8DgyFU+jj9n5GYTKvy3F2afeoli5tF2XkGQ2eaL238elSn6FHxFxjApr7k0waMTsHzgxOiUapv5PsFPM0HqhHmHZOUeVx4DtcgF9NjKV+e/d7MVRx9uvxOL5H2vih5Hn993AQPgIcavWO6h0a7Sy6UX2QyYrpWZlT8DwDImI2KhHQ7JPl6BsUEEsNqJc1vPrb0KwxDB52PN5tgZZM8aYTDwAozXM/x5y1Mwe7WLlVRMS1LLIZJUaBikwq5IMZYSrNcLvnxj3+MtZFJaZlMZuzt7bO7e8B0OuPs9Ew+R5LAee/TTFBF0Ja9vQMePniMi4F17PDulNVqzXxSYlCU04kYK1VlD2o+e/asbz6raYk1ismkSk76Jj0Hcl6n1YTppCLGQOcDs2mF8wHloV01nDw/ZrVuqFc1J6fHFEXBdFphtIC9BE1pjeSfO896XdO6GoNiez7n+GSNV7qXGqsUcfLRR3cpqoKtnS0+8ck3efvddwRMVYqYQG5QGF2wrlsePnrM/v4+F/YDi9kl7t69R4ge17Vceu0mP//5z9nb3eJXvvBZuqajMpZCZckwKJMUG+nmUgGUCpwePeWH3/s7fvNf/DamKFGuk/00Ol57400+efcjfvzDH1CV1YbJTV8mqxHAaPIaoVO+bXKXZCy1P8f6nVtj+r+H4X4f1r+0/qR7OqQLqftGY3gORQUyylTNWt789VFTm989qNg/weee+NF7ZTmteun4zvhznW8I+1GAsiD6jrZrsEXRj5YcHR0xnSz63+86P9IEh9yiSnOhFCHFauX9QiUwSsfBLZmNpvscWJY/ewbhs4/dCDQ7P6M8bn7y6/w+/LLzkdcx+bbQy6lhMO4KBHTUI1VYj2pAjLx28wb7W9ucnJ7w7PiQ5eqMk9MTTo8LViuXYtBUisXUtD6iTYUyVvZ9ZKyhbVuaVZ3O1xA92V+zJCPW5HSQpG5T9I2XSYRF39gmY8geTE/7VIiBkH/H6HMNmcR642OqXtYt56zrOkliSD+jR3emNNOuB2ryem+TeVxv6DYCdyGMnLOTA3S6HjJ0MOydedxMpZibmDxUrLVC7HQOqzSmMOzv7rG7veDmjRt8cOs2P//p27z/jjjR37x5ncuXrnL33m1OTw7xTuY/s/dEs5aZVB88Td1KHW5NUv9IrFphLXXT0PqOwljKssQHjwkKa6Wea9uGEAWo8N4RfeTw6BlVOWU+32JWTckVRTSgvGI2mVIUhul0wu7ukiePn3J0uuTk5IymLVMkqmM6rZJyJYizcwx9LVSUog5S2tC4jqar8d6xXq8xRurZTKKhpEkvjaELsfeHwRZ0IRK1lbnjGJhWVe8Z71wn879eiMS2bbFFHgjJxlPn/AOMoQ0dzEq8DyxbMfgyuSF2TubBvezNv+zrl3dFTg621lhUoWh8kx5EebVtS1WUKKWlmQydPDAhUFYVi51tVquVWD13jqauaWMn0tdKXMd88DRtg1JlWuQ1rhnmCnqzIGuF4YuOtu0IwaF1R1lNhNHzgWi0zMKV4v4VoscozbSskoGRbDo2ZekKo9v0TGFZWGIQJ0xSwau0MAfGGEznNtgYkqnMfCZzTk3TDKxNXsyztE7JeXHRM51MqYqS5ZmYCpmUnWWMQUdD57o006QpJhXRRwyawlj2dvb41Cc+RQyRxXyBUQaPEktylDineceqrTk6PZbjMEP0hrEWlcKxM82fC8nsah1CdsqLIsFEcnpfu/EaO9u7dJ2nbRwxKGxZJLYx5cV6Kfe1NkxnMwECrBXpsB8C33MboJVCWYtSCVXsN5kh11KpYW4kL9wqmzhFTUwLRl9ApKHzcaGfZ2kZ2cqP2RylNEaZxPxkCfPmppjNTjIK2v++UfzPeUg8N7VjpjbGyOc+93l+86tfS7btLrkSFxyenvLtb3+bRw8fohIQI6hVdowO/fnZeI3MQQYjhtzrpeMXYV7vdvmyQmBs8jT8exgh2+OmZnPjGiO9Mc/mjtjkYaPODAuJCVPj0fPhmNXw++KgK3vxmM9LkpVs+rmPVmq0UXsBEcb5rsWkom5qvB9mvnWaRWzblslkMoAAw0ndKAi0HkljR7OpZJf2ETvcX7ANxLr/RKN7Uw/z06PCe3zf/SKGd+PWSL9YjQo6RvN5wr6cN7B5sejMmZHy+UbNqFJSlIyKMEHPdQKH2LzuG4zYgECYDcftXKzp/jszEzH+jBvMcwJcrLGsV2uKomJra86jo7OhIVYy516UJW+++Um2tyq8azk5PePo6Ijj4zNCiHROCoeyqnpjRGsLgus4PTnBuyG2IgYBbK0VRnUyqQjes2wa1vV64xmfVGJI9fnPfZb7d+9KyaY1q/Wa2XTWq2W869L4jO8/a1GWaGvFzwDFpKqo1+sBdAoCLgTvKWdl8osQdtRaRdM5JhPL5z77Cd7/4A4Pn5wQutBHK4QYWdU1tz68za/9yudZLOaj+y0BVEGmnrwP/PSn/0jTOhbbu5TVhAcPHvLh+x+ytbVNaQU8WK9r/v57P+C1115lWgi4YUKUsc8kpeyNzFL2pdECxdy5/SHv/OPP+PTnPi+FZNAQAsoGvvTPf4snjx/x9NEjGZPJCpOXYERZPaXI96TMQg4L2ovrOaM1fvw8hexWfv5ZO2/Gx+bfYwaYzj2zGfyJKQ+aOAZvhmcmR4GN33Hc1A7rybgxH313BtRHs6T98zj6vkKXki/Zdmgbe6NC8UjRHOztcnJygg+O3q88nQ8xcxxqH5CmK/cj2og8eey2fA56TVht7M/nxjM/wFnDSX3xcm+evXPXbxN0HF/j/O+b7zbEAQ0ZseP3U0lBsbe/x97BHq+om/gYcD7y8OEhf/7nf8lqvRYD0bJE25JyOsV3jtW6YZISDXznWK9WuLbBWoW2WkiQGLHGiNdNWoFzY1sUIg1VWqG0lUitbOCXwZbUiJo06kEap4sEogp9bF428nNuqA1iTx4oQlLayUtq2adPn3H5wr4QCKMcW6mTVM/M6yyZzfexkffoE7PGAPpwe/d6C50VV3EwGsv1Hyqbfwrwaa2lMEVfdymt8Rj293bZ2trm42+s+eDWh9z+8AM++ug2V6/f4MaNa7z+2mucHB/y7PlTjg6fgwafVAkuRbjJORfzQ2tsXxMYY6hSfKdO90t+bsQw0Q41FJGoInW7SuTTkvl0wdZiW6IUc4OrxHdha0tAV2Mszj/g7OyMelWzXq9EJVtYdre3KaymrGCSmFWQfqJzgdbV1HWdUgaE2V3MZ/2IQF3X1Ks1s9kMayzTySSpCGL/3GulaZtW3JonBcrkRA1RqRAj09k0TQoFWhfScQiB4lrZz6wxRG2pV2vaGOmcl8+iYDqtKBIpVU6mWK0p/inifpTVhACdE2aunExpklRWKcnYdF3HWslG5zu5kaqqIupI6xt0qVmv1kBkMq2YqQmu6/AIOrvuJCsreHECq6oJoLBKp4XSiytz16bhZGjahsY5tre3cXhxLo5ilW4TAiGOwRp8QBmDUZp1U2OtZbVcEgFblWn5Ur0TqyktwYlU1kWksLAllTW07hTvW1arVSq6LNEFfA2qVTLMrsQ5OmqTjLREXqCQ4WyFoWllgHu6tcVydSZMm460TppFQdsLCmWwSmaIp9M51w6usr3YZTHd6ucsGx/FKRlhv5uu5tnJEUcnh5ycHROMkwce3TO/RWGHQgBwTooylKbpZEEIPmKUpSwn7G/vc2n/Mvs7+3SNF2c6DNW0SguIFIGC2khTOZvPmFSTJOWTeYmgAi41ZiYvnmoojrVRRDwqRkKyOUfHYYFNG9UYlSTlsRpVbPA5BLFAjwqiy1LkwRQnBD8ws0mmhQrJYn6QcWmdNpi+CEmh92rYZDfKjYRIB8RooGtbyrIcZgWU4s1PfpKvfuMb6LKi7ZyYjBUFZ6s1f/wnf8Sd27dQUezei8Ik5FJyo+Mov1An1D/ofCQ6MQppg0mN5TDBPDCpvfQTZI7kF75GRYBKUUpII5Pz/rKcsD9vaWH2eHEo7Zu68YymSUXQYBKBymGRQ6OcN7Msq6J3f37ZvFlywFaDDIq+yRcpnGTQSuZjDIi5mTeiJsCPWPzh8xeFGQqil4ABPQO5kbmYJNdJLikjR0M01fnmdKNY6v/tJWvyueL7xcZ487j6a33u/aMKki3dfzmvgbxYeCdWID9vSsn8Yn5fuR7JElWL2ZawCePfl+ShMUcUpZnAbBwXdS93VIm5Lwq7wbwRB4AjRnHazA1tXiBCcCgNy+WKLWtYbM+xyuNDB6ro72PnPZNqRlEWLLYWXLh0Ga01p6cr7t5/xNn9JwLIBoXSJat1w7rpmFWW5XophhwmxcCFgE8u+C44WieN1qSq0FalWB+5g33bEbzn3kcfpZi6Kc26oWs6amSfLKxJSPiC/YMrLJdLHj9+TFkK82MLy/7+Pm3TsVqveXZ4lDIIxWm9sCU6IvNOPtDWDVuLRYoLCuyEBaELNE3Hk6eH4jae5+QULM+W7O8fsFqdAZG9/W2WyyV12+GSheiTJ0958OAeFy8ccHp8QqHAdS3/1b/6PSaTCSenK370j+9DVBwen/FX3/ke//JffpOoIj52yWc1MfJJuSEz/yqxNAEfGn74g+9x4eJFLl66JPLEEME7qknFN7/1r/hf/+3/SLM6kSgTozA5dmzIgOrXnKGPHcyq8nMuj+8YkHr5q182+0boJUzhOX3EBkK38cwzPFRpDU02wANKl75FHNy1NCg903i+6BsMfJKSVtZWFfujiiNmefzsx5z7qyOq0NiQsiedE8PP6CAqnjx9yu7ePuv1Eue6fjfKoR0+jZtpbwgkP4IRqKeNqHgyaJ30rSPGOUPeqY1LDO3GFYkDEDqw9MM5/8+9Xgr8veQVY0Sn5mwMNsSRv0QGuWV9l1iapnFUkxk3brzGbP4jfBDwykwm7O1fwlox6TSmICrD8viMEDXLo2OC7zBlxKiISs2gTf4O/b6fGkVTWJGKaiUMe5L3ayVmPSY1wG3bUk3K5JMynAOltIwN9WNebgPcFX+AtK5aLWxjkH0s+paP7t7nk29+XBjbEVgR8P3/i5Jh5EeRHI1VFA+TfA3HAIdWyQwu7edhJFdXjPe2vP5nYCIzwdJA2aSwal1LDIHCBqrSMp9/kldfucG9+w/44NZH3L59l1duvsarr1/j1VfeYDHf5tnTx6zXa7Q2tE2bQGYhvtCwbkTd1foOaw2l0cmgKRC7iI1apu61pbQa162Tn4SjnFU0dSOA5uqMVXdGHZfsbx9gVEnX+Z7FVWgmleXihQvsbO3gnOfs7JTnT5/1JofrZYOaz4hA07RMp5qysrRelKtd52ibWvYjrdnZ2UGpEm0MITh88LRNw2Q6l6ayLKl9QwherjWAsqzbGu8jZ+u1RB953/vJFEayi32QzPKqkL3WaEOIiqAjzkvsXlM7Tpc1wUgv19YNhTGossQaMWHUiNuy/gX1zctev3Rj2zmJZ/EhgA/IsyWyJGsN0SnW6zW0TYppkJPgg6fREM4cs+lMUGbXiKzLWsqioHWdoLPe4doW54bcLGMs5WSCjiQm0KNsmtPwHltYGu9ou4Z5ORPbaheo65oYS9qulcVVK4w1/TypbIqRrm1Z1TWTxYyiLJOxSUzSLGH/tC6TPKRhkhpgmZsqJRi5aamqmbidtR6dXD+10bg0b+CDp2uE1TZGE4MsyOu6pm6aXjbtvad1Xb/AZs17gaHQlmk15fLlq+xsb4vsOC3+nfOs2xaUISjNyeFTTpZHHJ0c0bpGFsO0gefMsLzBWFvgOjE58S7ldFlBuuq6TiZWBZcOLnD9yk0MEoNhTclivqBuWlardTL+EWlKSIPm87k8IHn+oN8M0mKFSlOPiuSIphJClBq31Mj6lGUbQiTGUUZnjlBI70kQg7F+8cvN61hmlRiJnq2KBoXfYAizTBBkVjnH1gwssmyqKjttZoOqntCIG5/Ve081mQzGUkrxxhsf55u//TsU5URyIrW45NV1w5/8hz/l3XffRceAtToBELkZEHl2DEkirNI1HT/45/L9enYgo/NqkP9wTub64ma/ed1IUuXYF0UjMyYGAjAjvD0DmIyeepRe0TMnMeXq6fQL+0OI2WAm/CePcdy8KaWSwPZl7pFqw8xnjPz3boUjNjEjweIgWPaNt8oRCb0U7hy3MpIyvljsJsSEsXvkS4qqfI3OcRkv+96XNcUv+97Mfo8BIs41zjq72Y9Yjc3me7gpxsXzeRkzqVmRdB1xlo5B0HeVmHnd3znyYfvfO5IohhDExIg0riCUUH9sAj4MDG9I8jalFIutRf95L126hP7H93vVaMIf8CHys5+/w87WlPm8Yj6fCWKuTM9IL5enzOYzSOh123VMS8P+/h7BeXb3dlmdSsZk13VAxBaGsijRKsXMWZXMRqBrW6JPzUgrM+edFn+DIqHbznUyymItZ8slEcXR0RE+Sc+EbS44Ojthd3uPyWLO08MjInK/VmWZ1sukcElAs1SIvrfCuXTxAmcrMcUKGNaNx/teoM5Pf/pT9vd30Vrzmc98mh/84Ad5ZgClFA8fPUxRMJHLl69wdnLI6ekRN65dlTi32ZzTv/sBShXEEHn46DHvfXCbT77xKq3zifUYAYZpfejdHYwiREHz//Zv/orf+b3/ktlEGHNiRHnH7v4+X/3GN/nzP/xfiVEUO8ooZPxa9ffS8CCl+w2VnMKH++GlD9zoOeqfhfwDanj/8frRS29f+mbD2pnXY1kXE7SegPAeHOv3OdUfiyiYXnz/jc+iYg8E9t+VQDmV3jPv2xtvMPp/bURm0XWSeGGtgRg5Pjnj9kd3uHHjOlor7j64K0X3fIFK0R+giFqho+lnbAeANDfx44i9zXN9/nBe8ilf/HL/PpugYBz/gpesmWrDrZcX1uZBcTS878v6YKVEvXd0eEzdNNhixWQy4drVizyg64mHSzeuUZVzXBdpOi8mS6Xh8Okhz54fgQ59v6bT/L4+p6TSuU5J5I+Mw1kZ90gxTibFa2mlWK2WUAd2dreTN00Ge6XR9Eme7xLLGVPd5ZyX+jtGQnA4ZySNIkRcG7h7765kcheWl6jfR89UTIxwAjfGl63HXocrPiiEhreI2eF79D0+phE/owUYSyaFMWafGGFTZ+UM7zqCFz8ebQxVNWF7Z4ebr7zC3XsPuH37Ix48vMvli5e4efMaH3/js5ycnPDw8QNcXWO1QpcyKhhVxBMEqDeRGEXl6NuOEOU+KIzUpGLc1/VRTRnkt4Ul+EhRFsTo6bqah0/uE4KmKqawtcd8MpP31RpbllTlFGJka3uLvZ1dVus1T58+5fj4mKapOT2T5JnVqqEsLdNZSZkM4EASYKpqkljahqK0vfeD1ob1eiWKyxAkhjWlvWhtaLuANpq6qVmullgjJpuz2STl/LrkiyHnYjqb9s+VxnDarGmalrptqJuWNkiUm/O+B/SsMcwmFYvZFBWCmCvqfwLGtotBHE4rMa7xyuMRy2jnPdE5adCmE5FB2IKgkiscgc51KOcpC0urhNp3jacqSmmQvac0E7S1tLHDGjF/apoGvKDPnXfJaU/RNG2Sugq76ZZCq+eGs23FuGm5XvUSjbIoMFFswYtphXee6bQS2bGG4Fq8suhCEZTMzTjXoHSSNRTy0DRNQ1EUEqTtDXXdJFQxDY8HRY7JC53Hx4gpLQaRt8agch2GT5t407W9tMHEIMZXMWKVYmIrVFDMqhnzxYL97X2mszltkOJ81XWsm5rlqiYgkurD42cs16es61UqgGySfuTCUySHPiistiiviM5joshw8YKiT6sJi/kWe1t7XDi4hFFi4qWtRRcm3RegrGRotZ0UOLOtBdPpdJBN9oY9keiTFGPk3DjekXTIm12KUUpOeRlh1pm1S5msKlmhxn6DHlDViMIn+adKUrdIxLtcpOTFUw/zsaOIoReahRR300tK02yKOT8Dk362cxLxIbO+w8Z48+YrfPObv0NVTmm7gFK2j/74y//41/zjz94mBoc2JslGxJFWNgVpLtVoXqEvkDbmkxL6np0x+/xS3ZsuDKxiTCxjun9z8zw29EhHn+Vuus8AFufCGMNwHuNI3qdT4ZYl4Nklut+s5NpkdD4XcGOJXN7he3Yjm6KcMzrSqA3ZeN9iZcY6fVbnXAI30j2VA9tdJ5LZmKXmcoRd17C9MyOqQcora3Bu1Hv4W5773hiFEXAgs4nDcejeCXVcZOUiT+qw0XmKLxZlLxTbLxia0Z+bQSo9sLHjy5RfwyzxizI9yJnMoxnedO2iF2Z+87kSVD+k51Kl+UYVhVVL2VAoI/O1g+mWgCfeB4xWG0h9CKG/K/pnbXQJYnKm1ioymUw4PDzEe09RWKqypGl8PwMuKgHN4ckxezszZtMp69WKp8sV9boVF1HvOTs55vLlyyilOD4+YXt7wrRSaCus9GJ7m9JWKBRPnz3GOZdAPk9wrcTxzCu6zjGdzpLCxyd2JIqjsRKvBjGmE2lZYU3P4C1Xpxgrrr86rcOuDaz8mtXZWgq+NEpiTSF54FGUCVVV9UoR75w0lIhhh3eRiwe7uO4mT58d0bTHCVSUc/nBrVscHu5w6eIlPvba63z/+99PhaU8IznKKwQ533/1Fz/ktddvcu/ePT716U/x83d+xur0hK2dC8ynU3YWu/zHP/0rticzLl/cRnsxidGFKGKijyliy8qa7Yep/KePHvL3f/cdvvqNb6KMOPPH4NG0vPr6x/n8r32JH3z3r3tWS7Js80hQioYbnqK03pvRahRTA/ZidX5eliwiAXkWdBgZBObKXp0DthJblQVGG33ZRgzbcB/3z27fDOpBKZTmoUMUcwWltBwH4BOopFW+06WRNemaZc8CstlhWtCGzzj6zHmNVLYH38uiYLHYYjKZJdDR8qlPfIr1ep3ioxLb2q/FEDAJ0E7rnhKFRgwZLGTjOuRrNKyj9O/Vn7T+Om56RITMTMfxNds8r+Nr+vK/Z3BNvXBtNn//5td1jJydHLNeNymiquX0+JCrlw/YXkz46O5dyqogOsfaN9hyhjaWk9UZZ3XD8dkJ7XqFSUrGwoj8czaZbMRF5rzmSEQFL0ZpLlBHcVg3RmYsdYxMypLJpOLKpUsJUIn4FGcZQ0DpwPJszenpMkWsGawpsMYKsZFx6yBMm9TUJBWkZbVc8ezZc1575QbGp/M1GNdvnDN5BsIIfI8b90kGxlUcXdZe9TMCz0lBCSnmMCth+p+JyZl8Qy4uSkVjDdoHdPL80VpMOff3dnj91Rt88MGH3L/3kMNnj9ne3eb6jeu8+YlP4bqOxw/uc3xyRNs2RB0xNkeRRrS2BC1qoxgUxpT46CmspfN1il1MJyUo8FCYEo9D2ZQNH0NKE1GsQ0fn1kwmM4ly0pYL2xcwxvYGbEVVMdeiqLx48SKr1ZJVs6JtW46Pj8VsyrfMFzPQmtKWFIXF2IL1uqFer5nPK7knkZluHzyBSN3VFE5c942xFGUhY59FIZJspShLK9J55yTas/NMpxOUkpxcZTzGaLrgZQa5c5zVa05OTug6hzHC4hqtmVfJZ0JBVRgBBawBryjtP0FjKxLfSFlWcs9ECRn2XaBznqqwLLa3qKoKrTRd2xKi71mdshLWM8Y2LbgS7xC6lkJZjLa9LK1I7ldGi+xvtUrNqcmzN2KKEXIGaOdw3nESPXu7uxRFQVWVTCoJFm7ahtAJa2bLAh0NE1sSQ6Spa2ya9xi7lIaElE+mE0g5tlWi7+nnfwTdmE6mxCjD6xqh74tS4kAkK9ANUooQMWNjnH4+Bqqy6o1sqqKkTJvTYrbF1nwLg00ZvArnAj5Gmrbl8PiY1WrNclXL520aVvWSzneoECmVEZdNrdAeuYGjGFlpNK5uiU4Kh1KZfjbWKM3FC1e4ceMGk3KKb8C7ZOyUjJBCYkicc31+7WyxYDabjcDxJDeKYWioMsu3MUc5ZLiEGPtZjzGKOl4gBwSVNBc2lqmMEb3857kFdDRrNEbONyJ9Rs1CP4rYVyeD4UR2QM6mQioVDN4LqzKWy9y8eZNvfev3qKoZTetQxmKLEmLkr//qb3jrrR+meXYjsqK0NQxmDi/OfA3sQD4BcWMmM4fcv6jlog857xur0dkTVoARIzkwfkPBlh2ZxwYsQ2OmYjLD8UGi2EeMhzgfv4TV2Kj8RhuTGoq689d5PK85XNP0OVIjrJP7d372uraV3OpCMhyd8xKCjiYm6XvXuT6WKYzOk5g+q9TcDkJDuV/VCBTIDeE5eeOoUM73eQYawohdinl+ZXx6zhXe479vAhabr3xOxozs+OcyI/ufkkfL10cRRSn/tkfV0/0ySIdjzyyMZ4/QMl+pRlLI4XiGmcGQokSMNUmlk5yJzfBs+v5ZlbOUGxid1qn8fVuLLU7qw/QYpCirGGX2bTrl4OCAzrWE4CW7vOv44NZHrFYrSOd1b28PlRj+tvMsT0/x3vHo0SNpAEy+amJi0jpRsJydrem6gHOnLBYLirJktVpRN7WY9nUtRFgsFqyWK3Z39mgaMZApbJn2vhxZI/e79z7do11aZ6VxyLO8Wps0z0h/fwEURXIrNwZKzXS+YD7fouve4fHh0YgREWbw+PiMmzdeYbVcS7yWVn0TlT8tCh49esT9+w/4xCc+zqWLB3St40c/+rEwJG1DVZY8ePiQ1dmS7373+/zX/9W3qJslZakokgJFMnUDKro0GjGY10Hgvbff5uKly3zqs5+RdSt5ZGir+NVf/wrPHj/kg/ffoyirBFIOc7c+O8nnR3DkQxD7jFX1AtgzvjcH9cuwlsbx1zeeteEhHv5t9Gz1DhN5o3qxgcr3rphd9Wdbvj39PfTNgk1KEvken7009eC6nutqnWYKMgCoyFnuI/XR6Gi01pS6xIcueXAUFEUhDYVSvVRZj9IhXmBJyUP2OVpFxHM5MzUkpZ/aON+b4Nuwho3XeNU36v0+1a9F500cf7Hk+Dx4MW6Ix/eArK/n30fu3doF7j05xGAwRozqHj58ADHy6muv8dqrN7l95wFP7tylmm2LYnCyhQ/QPX9CeHifrS5QmIpCyxiVLizTqqJNBpjaGGxSAgqwrtMxyT3Zdi2VqgSIj5HptGK9rjk9PZU1QtOPolXJNXh5doItDF0rQJXvPE0GI7UZnJgZXLaMklSRgOJHP/oxVy9fYH8x7+9Za21voNbXFD2aOtxrWqlBS54veEpGIMi4EKM9PrsmYwYX6Kxu6kGi0YUbPE3ozfEkuhKM9/0cboiRxXzG5z77aT755sc4OjrkH370E9566yGXr1zj2rXrXHv1Fa7EGzx8dJ+jk+d438mapTXegY+OEKIQFSEpAYM47hfW0jUNhTUo7bFJQapNgU8Enhgl0qttXGg5PD6jLAtUNPi2Zn/7qhAeWta9ylRUVUkIE2bzGU1b07mO3d0djo+PePb8CV3bUVYV3gU6PM7VvfuxUpON58B5R+dcUkiJQknFQOu85MsrzWw2l5EXY5hNZ7QpMcaYAuc9y9VSaqEEXq/blrPVmhAiZ8sl66aVUDOtmU8mXNq/IJFAbcOkLJmVJVZnRZcAMb/s65dvbBMFGdqWsigolHTQVktX7ojCChotQIQR2WfoOmnmlGi4c7h7MAaipm47Jhr2dreo12txHB45Y06rCUUhgcQqOdW6NjCpKohyc86nM46Oj2laR7Oqme1XUFaoqJjaihACre9ovQOvKDTUXS0NKJM+8kOKVI2KSmaeJhUmDZ+DmCIJjiGNqTYWrQw+BsnFDQGnPEYL87ZuV4QYmJSVFAMh4n1HMA7Kgs45UJ4QPKtVR2w989mMhZ1SpM9lbcHu7gG7e/toZfFeJEGnqwYXAutmxdnyjOOTY5q2EaSma6TwUJrZpKKwJeumTnKxIEPYWtOFlrKosNrSRZ+iCWTGwljL3t4+Vy5fw+qSsFapQYlErTBWSySKgvVqlW5wy2KxSGhN3kBFrhJDTBIzMQwYhJsiVQpjdC5J3sPIyp08o6HVaLZODJScH+6XcXPFaKMOSQKrVHb9zIvoWLMbk+PiYP7DqLAgf/sIvVW94dRgwiBuivRzbnnBjUFx7do1fud3f4/pbEHnIKJlgQL+9jt/y/e//z2cbzBWURY2iXNzg5/PhXmBDciH1G+8qWPo2T8lbsQ6M6Pp+0LKWpSPo/Epn1D5xG4oKQazVUXyrk2zNZmxGBVoEWRCz/ScOcHnCzv6nr5jS3Ef+TKkwqSXqitB/3MROK4Nc75ujp0gZxa/iMRn6bQPHucdaFkonz1/zmKxoOs8x8fHzGYzimK7b4ZIss7JZALR96xprwgYMZtRSQZhdiNVbMLVbiSRVXlmODMvWZLdxwcNzX12Tx/P9J7bt0df/8Xun3LriAxajzKEGccinT9r5xrkcbE+ACEjBD1KcylRXTn3Vv6eDeE0oTeVyk6q8uNOYtyiw6iI0dkRM2IKizYWH9tUXA33kVIKYxHm0GdgQeMDzOZz5vNpAt6URL09PiQq37PqwYOK4k3QOU/dtFRVwWQ642B/zv17T2lW634dixHOlmt82EKryOGzpxK7o6Qot8aANjjvOTo+hhBYr2rsRMDborCcnp4yn09pfYsLge3FnOOjI7QxRDSL6TYXD64z317w7rs/p2na5KbqJH7Ky7NijICWEQHQfOewZZWc5aWIM7rABSezt15m3qwxuCAFmMxKrdjdP+Dgwj4f3Lkjhnto2XOjFMzvvXeLqpoRA1y7fJmnT59LBF1U/Tn/0Y9+ivMRpSxPnh6yWjd86YtfwmhDWZbcf/iI9z96gNaa996/xTvv3uLNj79GUI3MiSY57rAayL6cl10VApGWH/3ge1y6dFmk4LEW+bEPWFPyla//Nk+fPWO5WlKkdUErnSSAkuvoQuxn7XUUELdTKXqud91lQ/r7wrORTfQ28utHoF/2K8izaeeAGzbWqbxJjEC7DeAyNxSx/3taHeT5Smt4wCWmMitLVM98RfK4D6PjTH++hBnNTeLGHqw1SouDrxSxoS8jnRMAUMzVDJ3zm+tLek85L6EH95WWxjxHMA7XfmiMx81tVmUNpMA5MGCUA76Z0Jp/Tv0nm1vOraMvAxrG/z8GV13wHJ/WPD6qWZQFs1L2U5OevaYWb5eqKHhw5xavvPoaq+fPeXZ2i6sHV9ldnbHf1FzEMjUlLYoneI5TzeVS1rvK41LZ98AOZlFaa3wUdm1iK6xWbO9soXSkmohbbyZovPes10tQgRs3rzOZTOnaDmuKXnFSr6V2bDpZL4IKaC/SZFt3mKgpo+XBrTv8zZ//Fd/6l/+C3PtaYwbCITP/ISZCJPbeGlobtPJibopKbuWI14qm3yF6Bn4EbWuzCRBLT5yNRWPvlaGU6s1SSe+pksGVMaIa9d5T6HzPWuazCQd7e9x/8ICP7tzjxz/+EYudHV599VWuXXuF/YOLPLh/l5OzY3AOlCMmRVSHw4cOWxqpUWMkRo8tZH02StYiH1qqosIgbK/SmqIUpYoPIalNp3mChNP6iMa1lMWEyXRGaUpm1QKjNBaDLWUExgfHYjFje2vBxQv71HXNelVzfHzKykvsnLWWajIRUGVdo43CmpRHG0V5q6wFI54RwbXUdSv3WEj+O4XBlAYXO+bVjNY5OtcSndSM2kXqdo2LTq5VDEyrApNGdOazObs7W0wnEzH+9ZGymhK1Zu0cSsFZ11KoMbT/n3798o1tm6Syee4JaVbLshQHyBHr5aNHVQU2ofTrpk5GU6XMSSIB0loZceZVBhcCLgQ659BAYUuRsmpwK5FShRDETa51PZqjlWYymXBgLW3XJtflTmzoo8JbuaHL0uKjR+uID60UNCFglBWnuKQHj4lR9QGWyyXaWKKXeSciglAma8+27eTnsdhCNkhHh49e0IUoM01GC4OdWRnnPRH5vOKQqzDaor2gxlFHqrLi0qUr7O3uEbVJOa8i3Wk7jw+eqCXr9uT0hJPTY6KSOeCoYsrpk88jocmSYWWsOIF2XZOQNohGilCCFKHbW1u8+srH5IZ3jq71GCZoY3FdK0Y7URN8ZFWfQYhMqgmz+VzY9rzRpD9CZqDGsF0uW/pCeXAYzg3ty9ikMaKt+pmYzIaH5Io5ILXS94T+Z0KMqJx1m6XB44Jk2H6HY2RE+zJs1PmYxiybNiKfbBqRa6i8nofAxYuX+d3f/V22trZoW0dUlsLK3MN3//7v+dvvfEdio7TMJ2QmNKbM2M3GY5NV3jzixMiNhl1S/dXH8/RzhrkJ6hs2hniD0faR55gz0j787HA9Nti2HGrfM49qo4jLPxoRkzSdJd5JCtgzs3HwAO0jZDLHm4ueDQv5YX54kwSWLzgnxhj52l24cCFt9KbPSfPe9T88ZsYzqx0ZSp1+VjvfQ+TPlVv00YGcYyXPM0BhQyaZf1L1ERmD4cz4OzYBmPzneca1/39UP3fXE2Hnvk8n8Khvsvvrd16a/2J+cQYIc/SVGl33npE+f16QdU0lI7dcyOoUK4MCWxQUpcxVDvfGKGIpN+FJVpmvg9aGum7Z3d1hvarx3ovcvA97H87Ns8Mjurajac5AiWnHJ9/8FJPJhOVqydnZGbOthcyfasnxNlqzvbvD8mwJSiUEXo7JGJM27pnsZQaeP3+OMYqdnW0OD58znU4pyyDmJEbGOQpruXxwiSePH3Lr9kqcUTVJ3hyEnU2NzvbuborVE7NEJuJ6WpYVR0cnmAQiGmPTeQ5iRqUmsn8Cp6dnPHz0mJ/87KecrdbJOC3ldivdS2jX64YHDx4C8Ik3P8Gz53+Xb2iUNpycnPC8ewbQx+/9/Odv8+Uv/bqA4WVB5z3vfngPrQ3L5Rnf+c7f8crNG8znFT4Z9GTQcXzfSrxaTFFSima94vvf/Q5f/+3fpSqLNDPvMGh29nb5xu/8Hn/6x/8efJfuOUsRAlbLLF6XouSIrvddUFHhUr5uz2yeM6Z7Ufo/fnaG+JnxWt2vTOeAo833ehlTq/uttB9IDJuO6jGeVxaN5xJH63NUvcdGbhjHaozx/tIz1ipufJY890tS06lC9jrvfZ880LYtWmlTJQTuAAEAAElEQVSm0wna643rmD+GMkNucYwpwiikqK8Ye9PDmDNWR9fg/J5z/jU0wi9+z/k+9vw1Pf+1Yd1/sRaJeV8bX9IYOTw84tHjY05Pjim2tqiszMvv7e0JGOA68A6lIov5lKPnT+iahvXZMXFni2069gvNx1XB3FpCUfKBbfmRr7n+6uusne/vi1yvKqV49PghIQZReVmLKWS0yZqCqrAUVclBdZEbN2+ws71NVVW8++67vYptsZhy5cpVvvCFX+WD92/x4MEjTo5PODtbUlUNzokSsPOOpm2gawidZ6oMn5tdYOWOeXr0jOVb7+D/2T9DHVxJgKNB94aUSRre14Qyu9u2Ttzyc7a5UgSlUj2qNsBV3dcjCcjOqR1hTG6oXtkQYkjmU6TeZADLxtdcwAHbP8djFZ6eTXn9tde4cvUaDx4/4/1bt/jJj3/MznyXGzeu8+qrr9M0ax48usfJ6YmAZVqJyZoKBK8wRkvdHyKz2ZxmvaYoLNF3PThclCUuiuluxrlUUonZ5LHS+Fa8b8KSul3TdGshpqYtRVEym0ylJ9EarUwaaSmYTifJd+iQo6MTjo+PJa1mscAtO8lXLzTVJDluxwFsz67OXdOKRDrqFDsp59B7j0lxYErLOlVVJb4L1I2on4yVfUQUcordxZaAK54NhREh5RGHSNO0dF56uq7rmMzmL33mX/b65Wdsu04+YJZcxiD0NEqMj4Isat47mq7GlikE2gi61KbGblJWiWIPyRZPGLvWdb21dYwyyG6s7SUzEi0gltBaib47ErBTMRWZTqcShxMDvusAR+sE+U+raZK/yuYoDJ6jcU2Szwh6AtCFQBccneuYGHEwpqrAh/QQ6lRoeIJCsqxS1qJVMhusjGJSTNlaLGi6mtaJI24IHrfqkhtc6Floo6AsS2l66pr1uiZEhSlKfFR0rqNtZI7Ze5GgnNVnPHv+hOOTQ2J0TCd5rkqKQuc80WS0OGA0tE2bLMclCDq4SOMaDLL47e/sc+niJSaTrT6yqCwnWD0Rc5FU6K6aNW0jIeTT+ZzJbJoWJFLjMjSnMY42tbx5JvQtI3DEzQY0Lzh5w+0Rt9H/CzgRNzaf7HBMlPcPKsp/eSNP8rlcTPSldd58MxPW9+AjCW5O/eydGNU5RksJ8NAIe51n0GKAnZ1dfvd3/yX7+xfpOifGNEY2n3/8+T/yN3/5l9SrNUYrCiM50ETfm2i9wKaNpaq9DFaPMv4ye5ZnmwdWWhpmkzb60Bc7+W1DnxMqfFrf2PdvEvpmZ1OytdnwjBmB8XXVG9VAKpxUYsMjhDQ3HfIFiZkVzMVKlpCyMcSjhywZkeMy0JpZ0OJUwCH5aGR7/kpkWtaakSRbfrRNkQsyk656ZjhLhUN/f2T2ZLjHdcjVVAIC9GaR5H0eSxBAS+tidHmDOIkmJ+WxbHAovn4BK9vLoTebXPl7YqrE0hLNpmHK+NnLSgS5hmF0jTef0f58xSxVE6AkG4FlhmUsB/NRADxhgPRLwCOVZmw7mU9PsQnrOIwyvKy0lZlKYWLzyETTdNR1R9cFqqpIN1qWJ2sxNAuBZ0+fc2F/l+3dA549fUpd1/zkxz/GB01Te06OT1jsbIvJC5rjkyU721MmsxnGWk5PzlifLqVhIlKVJdYWFFWFrUqMVuzt7XFyckTTtDRNR1FU4hcRI2VpaZua05Nj6uWZfG4CVTEhoqiTMZXsP5YrV66ytb3F2ekpmkhhdRrXUazrmqbzfPrzv0q9PuODd98jREdRGorCEAJJdl9RVpZrVy9x8dIByhre+vFPaZ6cESiTQUzIoaM8evyQV165zs1XrvO3f5fvG5mZrGspujSKyWzO4yePOFuteX74jIML+yymc27f+TA1547ZbMrBhUt87+/f4je/+mWOD59y7eCAqHyKEZF5YjE4Df0zqWQsmqeP7vOzH7/Fr33pK6iefZbm9frN1/jc53+Fn/3w7yXbMYpaQSudMoADLjqCkcIskIkc06/tQclsuOpBlIzGjZvJAUDshxFeaJg2AafcnGUnWBg9x4pkvtkvKj3BFInC6KT1LEsV00K/8SxuvGd+oxQ1ODCfmxLd82u5GLeP1COZME6Kpzy6JYBL7JvbqGRmfDFfEIksVyuUMv1+Kg12VuakEZE8kxD94IyrBg+DceMte/yQN58Pbvhc5wGC0TnoVw3df21z7zq3npzb22L2TlAyxoUaWPQQA7c/vE3rDO1ySVtVhKlJSkzVr/MQ2d/dYT6fcffOHRmvMIqp0aiu5tJkwj+7cJmjJw851Jqd4JjGwPJoyfzCRZxzTCbT5Ccj9ffzZ89pmrXE5gXJmlWppgpBvFQm0wm/8mtfRCvNzZvXePvd98X8xxo6f8q6dty//5i28zRNS9t2NE2L9/K8dm1LCIFXX32V45Njbr39PheZ8uvTPY5OGh60lqddjXt+0jeSQxb96PyH1FgGMBgmad/1IaAQoytjrTxnSZmidR53kvc16d4JWZWgxe8lj2aQ4oGiSio68vsIwCcqzPEeJ0dcWCsz4gwjcMLoRtAFr9yYcOXSBZ4+ecatD+7wox/+kL2DXV559Sav3vwEtVtx7/5dunqN95J7LGNgWtRERFarNhldJV8YJBPWt41EkBaSxpLvaYU42osDtmTShuApCg2xpXE168MaIuxs7XKwfwFjK5q1xMpZo9FGM5kaLly0bO/s9mtHXdc8uH8f52LqMTomE9kjjQFrpPfLtbUthOjLuck57UWFYdywnBRpVCgK265E6dasa+r1GqMNVVFSVOKwHoOjXknsXnCRpm4SCafERwEBA+bzf4LGVmYmVY/aiWlDkDicVNRlx8dcKAQfsEZYqZ2tHaL3qCAmBHSKTkmekfOeEBvIN6WWRbzuWlkIktlNoWUWNwSRTHZdh55KQLDzjsZ1aTUCbQtKZdONpShMgfOOtq37gpS00MjvyItWQCuDSzmumbnKzbxKjE5AjKp0kjxkhkNpLXm3psAoQ9u1uKSdn84mKcy6E9dhF9iaLSDl6V68cJVrV69TWsuzZ4coDKenK5SxNE3H2XJF5x1109L5jtOzI86Wp2LMpQIhCFITvJdFL0TWbU2Zona897RdR5EW667tBNVB5B6XL1/myqWrmMRyaG2YzaYURUlZzVi3Lb7uCF2g9TIPtr3YZjKbbugihc0MGxv7+W1D0JrN5iyzX1mcmDdPqUnsqMncRNKzHCiOkPMQMgM8SMry+20W+0NkTi4YNhH37ESZ3VaHOITzM5M+BJx3KQdXpwZSsbu7w+///u9z+fJlcT9OOZi2qnj3nXf5kz/6Y85OTimMpZqUaAkD6xulRAEOpVNqymNAMgRTllr/GmcT5msw6kf6HnfD4Ifh+3KDG0Ji+NjYqLK0To30YVnaNP5lMR+LHman5c2Hcz8u9sIoAicykvH2WaaaHJE6sBIkqaG8R86K7tGU/FIDCjlGgXukcMQ+DkWmSqMEkw1WRqGwyFxn3iD63zs6t4N+bjCcGr9/YROLEjZnYoV5VKlwEngkn9/N4nj88TZdmM9/T/+ZNi7+y79nzHqoxL6SzMHOsxw9e5SQ/9wID+8jDGJ/PL376dilNqa4kpDmaFSPzY9ngWU9Pvf7050WEwsQEwSRP4/Whqosefb0qTCopZVRmP44kuQtyZzE/dexmL1CoS0KxWrd8f77H3F6drqx3ngvx12WFb5zlEXJWi0H5hhomppI5OT0hMJq6vUabRRt02CUwrUdVmlBucuS0hZMiomoj7wT5DuNhkynU8l79575Ys7O7g7379+naRoWWwu8sRQJ8T49PWVra5vZZIfH958m0E0KtRADq2WNLQrW61pm5ayhqEpsWVAVFYVaSbGFgJXZ0Xy1WrO9tUNdt31jVNiCpu02VAt13fDjH/+U2Wwq0julefrsGe+++y7lZJsYAltbW9y+/SFd13Hj5g2uXrmINkWai+4SgedROiQACKzRad5OrvwH773LtRuvcOXq5X7fCZ1DF4rP/9oXefboAffvfUiVnmE7ytOO0WB6p/1hHCM/tlkOOQBqA4jYP0wbj+Gm3meDyT339Rc2xHMspBp3k+Q+byx7VX325BigfOH3nAPAYkgssBo+zwa7fL65zaBh3ve0Gi1wEs1UlgVtAmcEHJSfXS7P0Mawvb3N6elp+r2bjGg4t/4Yo0EHif1C5kNVH/+TjyWP2WyOYyjFSPXyIuy1CbwOgOsvamqH87y5z6usfEExsvUgBrh160P2D64RvGe1WrGzKPqRAZNqZ5FdK6pKHMOXy1Nmk4roO4x31J3jzvExAUOd4qhmXvHoo/vce/xM5MhG1CHGWpHqu24Ye0rNbPBKHGWjp05s/w/+/ge0bUfd1Bwdn+KDxwSPDQrvoW46uqajaTt8iLRtJ01t19LVNd6nuJiypPCei1qz3Qa2igXYU+rmjNXRcb/WBycAEmTPSJVGGwbCI9fXPkC9rkXBmAyzBCzNNZtOM/exjwCS+1hSDsZaqsEJnX60IHgvhlG9Osyj1MCAa62xowgtrU1ihWNyWpbnwGi4cGGfg4N9nj17zvsffMA//PBHzBc7XL52metXPkZh4Nmzx9y7/xGx64gFouKrCjrVAZ4WYWJ1MgeNmbzrOiFlQgZ9jBjkmSI9c5qyKER5ktbJrIY6PH4COjKZ7OCdRzUi951NJ1hrsYVlPkvJI96zXtdMyorT0xOOjp6zrldpP1B4I4qWzkuDXFYls9kM79xwvtPv9p0X5W6IRBdkn3IeYqTrWlyKC9NaM0/KzuAlntVqS4jQdU48ilIqQEygV64pvPcvPp6/4PVLN7ZWm36A3GidDtSjjMZ1QhX7IDS60YbYBeq2QesOayyTakZwHa7renmvImK0zPo418kAfGmIUdEictnCligKuV+9Ejlz4VHK4kIDBJq2wUt1Ik1wNKCtmFt5kQYXKmWAlTOcc7ROkG/nPaY0FNqwWp/SeifsrzWSo5TjgZSicY4QxeErRpmNRReoqDCmkM1XK5wXYye0wgefZgBENqwUgraZAl0qClMyny64fOkys/kuRleEqJnN9wg+EqKiXrYs12uW9ZLTlciOg4r4IMHMtpJNet0F2pByU11Hm2R7wTXYJPdGK86WSyZFQWELSlNijeXg0mUuX74iC69zGFNRliWuCyzPjoEzmaVO/xlj2NreYpICnPM2IvMMfsR6ZdlHmqdIm0MIIWVeSqB3iBGf8tJiok2zQivGYU6CmMyrGBqK2LNiOjmwBjrv01yPGHzJ8WRkd8jD1OgehNEJlOhz8fIBKDHjiNmTMn2esY8vSq61tVbuYxn/ZWt7m2/97re4fv06dStO4kZbsAUf3b7NH/7htzk+fI4iUlYWaw0hiOxdo/HRDwXLRhQKaeM34jAZhmYMFTYKLBirklX/hdzIp9ZwmGHtFcSq52zlM2sICqVMP7uUFx2thushxj1DA0w+ttxD5+PL1zcjupmFS+eOhOsrlRg9cTRLzsQMLsxRslEzU6/Hmcj9KwETaaYuI73W2LQphH4TzOfIuS7N/gyGSuP+kMCQzevFcZzM4qRZuV4BkNjRwUl6ABRCCpT3jBgJBjfSqHIwy8DQvNCEj14vMuijAjakSJHzurzR9/VahVS1hTCY6qmBkBrOVS/JSDaYygzPTG56Q5IcqqTS6Ivr0L9pLkyVtkTlJf/b5i1KjEjyjyWsalMZkh03E8OmlbjF7u5tYaxiNpuybmrMT3+WmmqJycj3nE/umCpKA2QTU741n2GN4ujoMK19mqZZo7G4Rpz+62UtRZGKFGVF17a0XpQ561qcZENRUhiL9x3zqbjJus4xm81Awdb2FtPplNlkxt17dzk5PWZndydlS8o4ydHxCWVZMvWRDz+4Rd20XLh4kbPVkpMzR2EUk2qC7zyn9XPe+v5fSAxHNUEHiZ/zPmBNQWGK/vnR1vS54l/49KdYnv6Q45MahRb/fBXAanywfPDBh2xtbeNdZGdnh+lkyr37j6RgT2vK2+9/wPHJGbP5gtaDA9774H1uvCLArQ8eFz1NI9ny3/m7v+e//T/+74lKDFicD5KuIPR+ulZDPoi4/Sq6uuHHP/h7tr/5u0wnJb5riKEjenGV/so3fodv/7t/w2p5RllW6VaL6e0iVllR9BB7I8Ts06D6hjE9EkGh87jEuHUaz6aefx4zcDMC+/qIntHPjV3G5XcP63QPzMY8nzqAtwOIlfa1F57l85LnsNHobqwNv2ANiSr0Szg9sDNqtiNMJiVN1+J8wCbVQEy+E8vVKWUl66wY1eR1bjDXU/lUaZPi/LLaS9YqaXwCOiSgpb9Am2AcG+qm8ajTucuixmv9qCHaWBdVf87GLym4h5GnfNZDjKzWKxZtjXeOulnh/BStbFLlxeSPZCjLCctVzcVLV6k/WuNWK65evcr/8H/9v/DOd/6Gn//136HqjrKLzM5qpssTgmvonOx9PkZcUJRKnIt9dOzvXeLTn/qMyF4RhtUolZoyh1aG1q3QSjGzimpnAUEaD6WD1MpdTeigaxxHJ6c4L/Wccx3RdXjv+OmPf4iOsL3uOJgtYLViJyqehECInubkZMhpjyO1D0oSNRCvgWwUlvf9DGZ7HwjOp0szmFaRrsQYWtK9B0Xaq9Lsto+ZFR5G23Ld7tOx5cuv0x6llMMlBdUA1GfHboU1Ea0MnYfFYo6Pnmp6hctXxG/gnXfe472fv8NH79/h5s0bXL9xlSsXr/Pk6SPu3rtDu3JYbaX+0Upm/clZ7cNvU6iUXuIFDNBglMIajQ9a+OoQxEE+1yU64kKH0orDs6fo5SlWW6zSTKsFAfF2KIsCqww6KrSxLOZzZtMJi8WMg4Nd2ralaz2Hzw95fvicsozYUhFMwFqFd6L0CHnUTEvjnUcj26bDOJPW9iYRSZHSGibVFkpr5rMZVhvq9ZpgLaYoICqCF0XV9nzG2dkRPji0Elly13W0/xRxP1rrlP+pk+GNhhQKLQVJmm0NuXP3yS0zD3NLCeico1mJLny+mKdC2PWLiELRdA0hRKwtRepsKqbzOaHr5CInu+7Od5Akaq5tEvIhmbvBp5vWJLeyENBRUdoCkwpaW1icF7fm1VIcvDRyzLPpFKU0Ntn426okeIkoUlHkyoK8+d5VOT+YMYLzHZ1zGG2wVifkQhhlqwzGKPb39qjKKQe7l5jOFqzXjuXZGatl3WvkI3B6dkbTtZzUxzw9fESgRluL0Qzy6mgBQXSCr/s5X62FdfaKPjahbVt0gNLKHO+lS5cwRZVmi2R2WimJVOpaYQS7Lt+ootmfz+eUZdm7H/o4NKCyVg3ZeD6785JZtdwAq2QgIEtV10oBiM4RQWM58xAQbpTY0evR74jIzFQcIddj1jUThhmkyKxfluGKrEdvsJP0zZEsOdroPnMXRjm3UWbDJRKqkNmQEFlsb/H1f/FNbr76Ck3XyWKrDbYsePrkCd/+377N4fPnMgdhi6SG8P3nHc8akRjLbMQQs0bu3J69aeKUpf0vNkEvk5W+AHKnfDvVyz7HjQijc3WuiIqbtcSG8+foV/V1SS4O+mpDbX6fyvKvge3blNeOC8vh2GGIRBruzcR+6qEJ7lJ+Wi8zS5+2qRsm0+lggpYiaHJxvFG0ZslzbuQ2+JvN886I6Rwzj2NmJyamYmhkxxE9+RzFF96HczLkl73Gsr4xyzu8x/mYn/w8j01chus0KCDCSBEhzJo1aVY8hN64Rn78POs8zNjn+zr0qg+V5kbLdB1jz9rFZIKVvR9UH22VR2Y8i8WCO3fu0HUy3zOfTzlZJZZ+sCvD+8iHt+4yn2gIjvlsKrFu5QylYL1eS3yBEhn/fL6gbhoKK6qhoiz6NdFai3ci3WtbUf+4rsWaiZgMuo7oQ5//Wq9qDg+PmM9mMr5S14Tg0+ytTnL5NTs724CibZsEABVsLS5xtryL61qUD6w6JwAOUBSaECxt01BW4pxZ1zVddMmhPqQGO/Ds8DmL7W0Onz9nd2tOve7wrWyk2aUepTk8PubD27eJMfLmm2/y5PGjAS9L5/327ds9sFgUJc+ePQfgt772NVQMmMLyt9/9PkeHz4lo7t+/y3e/+z2++Vv/nLpeY0xAaZtk+NksR/X97UBwRp48fsg/fP97fPmrX8eWFaFr5Vhdx9b2Nr/5jW/x53/878WDISmA8nOqUnRJDH40YpEMz4xEqgzSE7XB0ipe3hSOXyovCqOfGb82FDOpWxxzjlnpHEfLY16P9XkvlTi85/ljOq/wgBf3g/HXxt//MnWISuByf1pUmqvzKXMy+0swAoyUokgxIb/wfCm18We/Jocx8Ol7UDa+dI0aGtsX2fPxZxgz3nH0M8Pfe+UTm+vhBmicfl/OKa3rJiniBl+VbIBGYm/LasaTp2ds7cyYTuccHS0xuuD+k0fM33iV6ckxv/KlL/LpL3yeerni9P/2f+ed7/0AZyWr1odk3kiEMmK04vHDhxSqZGtxwGy2zdZiQXQSHTapCiaTiq3tGZOqSo7WE2bzbUIMFBMZ6Ts5OcG5Guc7/t3//L/QrGuiksaWIGSODh2q8ywoWVRTlnXLWXDUO5YrN17FbJVyfAmMCH0kEWktCb3CRys9yq8X28mYpOq9qicDvSrL4Ic9tjem6vtouVY+ejFKDDG5gusRlrx5P4dsbpkye0d3IwA2m0ttJEfERGgZFIHLly+wv7fL02eH3P7wDrdufcCdO3e4fuMar756g+vXb3D/4T0ePLiHqxu01VCa/vcqldQOIGxockDP+FYA6q7p1V3GWPlIKpFIhXgwtAkA9cFRdxGjCs7O1hRlxe72Nns7O73hHGkUyyqDLS3TMJH53ZWoNX0iklrXsmoaYfFdwPmGECVCdDadUk0qnPec1UuatsUok9RRhXgjedenGhhj0SnWLhMhRmu0srRe1o3JZELnJrRdI6MgOjtsF/yyr1+6sY0xJkltlRAcR1kUTCbC/PnQgjJ0y5ama6kmpdDNIenzXcNsMsV1Ctd1qCLFNKRMNJDGSxaBKFFBvkP4qgKswk4Gpi5H8bRdBy6OjA20zLwiRUMbA9pKE1JoC0HhnRT8XeuxCS3ouloMKqLEGHgXKAqJW9Fag9FUkwlGJRMP1xEjFKU0gV3XUOoKHwWBIWqi87Rti5lWybTEUyjL9s42ly9d4tL+BapiTohanKOTs6YxhqOjY2GxjUYZxbo94+jkGWfrE8rKYFJGYT53RJkH1Fb1zJXRmuADxhToKExyWZb4okBh2Nne48rlqxhT0HXi9kzUPSqW42ratqNtXZrnmMmmlez9syxH2FbfPywbsqo8c9lvDrLh+CRnjylcHOWxhcxLSCGl+0IDNtEakZPoHjTxwWELWSRD3wwPm7U5P2uYnK2N/sWNX967csGc5Ypj2ScZKEimDfl7q8mE3/r613ntY6/TuA4XA8aWFEXFyckpf/TtP+TxwwfiUm0sZVGKs2dfPA1ASXZxDjEKcp7zYOPgOklfO+UK6sUCpf/sLxRi5xrc/iSAUkkmk+ODVJJj69hf1/PyUDVYR2XB1oZ8rYdKM4GYXJHN6HzTz9OkgiZmLmjcRKo+0zi7RxN1Yjhlk9PK9MV7L3+KGcE1UmSFLKMdzkKeG8sSvHzgMUeYJZmsPxe71Pf+o3OIenkROW4qx/E+A5jh+zfIcsleCjtiIkLYZHHH0rnzheL4/j1/LJv3yOa9EUf3mhox2BtsS3Yt1PSy5OCT7+XouCV6KWLQm3bKKbYkEEFHrNU9i21ScRHCAJ7kfGulTJKNyr4xPrcxSuxCWZYUheTxXdjf42T5UIBANdA366bh8OiIm59+g9XZsUionOfkdC1AXNtycnzMwYX9xPRqmm7Nlq7YO9ijrWXM5cmjx9jCUlYlZTlPM4FSsBitcUYJSBihtJZmtaIqS+azKa5zPH/6jGpSJaWLqEkIZRqn6SDF/3SdrJfr9SmubbBa49oajTQZxkiElciixWXTeYheURrDqllRVROqwrJqGi5duEBAsTWfEi7uY2zBe7fuokKBCjlWQ9ahBw8fM5/O+NjHPsajtI4NDJesiTEBiAd7F/jzv3iLg4Ndlss1O8mA6/aHd7HFFO87tre2UCh++vN3efWVKzJTawanc7SWvc0EibWJeY+RO+TOh+9z7foNXn3jEyiTkhVCBN9y7ZVX+eyv/DpvffdvqApJBFBKwEznFDqGpNwZNTdxkLLrsbN8oqXjyOgtnl8DNp6zoQg/3zRxjqXdMI9T9EBeHK2FMpc7MpQbN3ZxMwInH9d4PRivCecBrZc1f+dfAiSp9KjnrO9k+EbKXKWiaVvJvEwNR2Zq9/b2ODw8fGGuvwc6z7022VfAJJDUD+dzg8E71+33uMG59e3FRl6/5POOo+7SnpQ+d977Xvwcsb+uzrVS/1UVIanBtFaYQuY4m9ZRPz1ivtjlhGfcfvcWf/7v/oiDxYz66BT7OZhv7xPbyFd+51/yJ3/3Fq6rhfFM667zXjJsk/nps+ePuXBwnTc+9kl+9xuf53vf+ztWy2P2dyc8uH+P7clllssjbj18wuXLV3DtLqd1QzQC7N+8+Qr/r//n/5ePbt9GmYLZbJ6ce0VO7LyjCIGq87z52Tf5P/yf/wee3LuFcQ2v39inLg1/86OfyNqsFG0MAs4ovbEXpAHg/tr2knQN+ZTGlBOf0Ith/3nJ/ZGdkcnGfcqk8aCINlHGejApgnQAT3OckPd5pnX8fMhx+ZCNRpV4rBiNieIYn129Y4zoynD1ygEX9vc5PTvj/Q8/4NZHH/DR3TtcuXKFV169wa/+6hd59PABDx7eZ3W2YjqrwMt95dNYZ/bi6eMd0X0KRnCSKhONKMmK5MsRY0yxbjJGqZWslc53NG3N1ASWjaGsLYU2GKUpq4q2c2mPTCSlNkznlqIs2d7ZIcZI09TU9ZonTx5zerJk3ZxRTSyTyS4xKs7WK1mJ09iotuKdpLSWmNdW6imNJbpA27iUCCO1oUlZ6yrIerts1jgCGINJqSFd6kF+2dcv3dgOSkdh3LTW4lRVluJWbAtBZ7dL6notLJSx6NIwnQxzl2VZsliI9fm6rgGZ0bBZntQ6qmpKVZEc30Te1fo2IRvC0DbeS6aX0bRdhzamn5utSkGfVt0yKe/EgMcJ8U+IAWMsznV0+F5yJ7JEYRfqWhw0daVl+DmIxNqWFUon+24Us1Lyn47rY5EdW7PB+hltKGyFNZFpqZkWFQf7F7hy6RqlneA9dIml82mB7pzYYpelJUTHcrXkZHVEF8+oJgpTCPUvW7vIypTVGCt/943MEWgl59+moHuNxmrL/u6MKxevsL97gbZ2aBUwRSXzEM6lhl2LY13T0nWeoihZLBZUVdGznv29kTSc2QiHEe48bAyKEIeCIUtDSM7Mmphs0JU43uXc215mktmyEWsUB8mWVeYc2ja8XoY4p38ZRRycLz7670j/dl4OKp+7a1uiIhXdcu9MqoqvfvVrvPHxN4XZD0ruAVuyXK35oz/6I259eAuilwXFmn4Tzawiw28bGL/Rob2sGe/P94g9+c+/pC0M5zd+Bla2N6rq0bMXzvAg5npJIRFHJciIDxdJrMpl2jBjnQ1FejOWmHjR/sMN10wl6SjZlKq/NeU9c6D9YCoxmtsMo8Yufcxc/LVtmxhCXiz2RlFWMSQ5jhZVhvd+5Gc1biqHeyf/l35kkLOp4Xt6treX3Q/s5UBzD81ijMM89vnCNV8hNVIq9E3mqDA7/znPYyJjZiODD/SNePpMJHZF545+9N7n7gnZCIcGRvUsbWI4vO9PkFJKRiOCw4S02WfeJknVVZqdVSOwKhc6VVUlwK2jLEtB8q0azEeMoCwxwoULl2i35igVxYAPgwsPePT0iKPjEy5cuoAxhnXdUFjFZDLFpfGaajKR6+s91XzKxUsX+cSbr2OtZXW6AhTvvPM2Td1wdnKKtYJQX7hwIKM8KGF8pJyk7QQln0xltkmbmbh2RyUxN67j2fO7oJQg5OWM4DyT6Yz5fMbJmYyQnJ6ucU7cKWNMOeUpzQAtaLixFuccFw8uMF90VLM57926mwpB1bOmoFmv1xzs70n2cwI0rU1AUZ5hTPFWT5895fbtj7h0+SJ37t7j4Auf4/133uXo+IiD/RIVIgf7+/zgB29RlgX/3X/331ItKpEkJuYlx5iI/0aWwmaHX4V3HT/8+++ytbXD/sUDCK0800HGJD7/a1/i6Pkz7tx6D6MFKBGPSgFYci6992FYwxILqBMz5DkHPvX32CYwuAkiba6L/Rv38TojkGsgbV9QuWw+m8Pa0j/jMXsg56zOF7HKlzXf5/cRNTzoo5mDzffISpExDT2e/rXaoMqK1nVg5L7I73V0dMRkMsFow/LstF+n+1Mb42jNY2O/zWdLKyUjKRlcCy826S97bbC5+b1fes0Gg6/+3kf14Od5tck5+8B+3rEypRAFaX5VKYUtSmLUHJ+e4EPg9OyU7cVFdIwcP37Cz+4/49VyxmtbBxy7/8j/8gd/QWugCRVXmbH2R3QalLEJzo0o74npnp5OKy5c3OeNN7/Am5//NGauee+9t/nyF7/A8+fPeOONN+g6z1/85V9x6fI+V69e5vnz53zyU5/l1q0P+NQnP8sf/MG/4daHjsoYfGjwSc6rIkSfWFul+ca/+n12P3YDt1vwvT/7M6pXbhK94u6tR/CFS+l8jPb8cwBwPGeEuHHNczZ1TLO2erj+uY5Qyf8hpkgcuRciZC8ONYwuiI3O8HMZNOqB0jQy9wKrn9JTQlKgZoPKCBgjRxS0SkkLUnfbiWEyKdnZn/P666/w0Uf3+Oijezx48ICbr9zg5s2bfP7zlzk6fsrx6RHL5WnP8IfgUT5STCSux/UGlGn/jwoXAyifA9OH86ZEkaoREHiihMwqWocC2mbNw8drCm0obUE1neCcEI/bW9tsL7aw2lAUpcQ9pTVoNptRr6VXe/rsCRcu7Can4sBZ3YARINPjmVQVWpu+jyDKaEyr2jQbL0C0D56mbYT8jEHMsZLPRl136EEQQtM0+M7RpH7xl3n98q7IzgsVrDSKIAfkAt6D61pBMIIUL4vZIkk2haoPeLrY0awbjCl6WVXdNNjC4htPxRQdrUgxg4RGxygukG2QiJngPEVREJATd7ZasrW9hakqtNKUSlxprZKHIRQTrHe0ocNFhzeewmiUiRgVCCrNfGiNzc6k6XFs04C0Qlw7s/lMVZQiQ7WlFHAh5WwacSqLXRDkJMicwKScMCknGGO4fPEaB/sXcG2HUgVtENbTJQlE3Xas1zW1q3GqZdWsWa2XrOoldVejTJRNQ4nZh9ZgjMYURqRtZAlfKnyC5PPhPFM7pZjOsNpy/dp1dnd2CU5yPYuiQBtL7VpCkl6fnC1lEfeRqpqyu7uTGEkvu6bWSR7s+4Yyb3oqSTxVmoEbj/ULMjvK7AtyHeTxHBj5mO6lmKKl+qI8NfPDBhT6GVmVZYh6KPjzJjVmmzKD+wKKG+KGdJXU1Gilk2nSYPEfk1N4II7mNBXWlnz1a1/n05/9HC5A8AptSowpaduWP/0Pf8o7b/8jAXG1KyqbFtyBVdTnYlRiHOJ++s19ZDbUn/cEIvSN3X9ikx/efNNdtm+8etloph/T5pFrmTgUbaOtYCjH4lCYqdF7q1HUUN50cgRA7E/xUOQplRHcZIXasylDAYiSWTw9crqUuDph1ULaJAGZW/cJUQ8ZvR0kfvn+894znU5HrOggwe5jiSL9OhfSzMuYddDajK6D2pApA0MWZX8NcqOW7ueI5AaPiun8X1QxZYLrjcJv7KiyWcSO5oo2atehQO7ZoXC+6Bg1sC+RKAaVInai5IKqKGMfSsszkeKOZV6S4feGZIwSetdocC7llceI1ar/txxXpo04/+oUJadiYgKywUgCM/q9J83OC5AmRh2zyUyuW8p9jInp0krTOc+q7VIB51itV0xnc0xl6Lzj9GyJYJqGVb1mPi3ovMx1PXn+nCLlVUalOT5bctY0HJ2eiTrFd1RlwdHhM2KUtSIoWDY1zcOH+CDzttPJVCIjioKuEROXddMQvIMYKMsigcuBra2ZADFdR1FoZrOFzPP6yOlyxbppJKddm2EWSkHbOZQxeBCTkbRnyhyXqJW2dxdcvX6Zj+49kz0vndP8TBwfHfHuu+9KesDE8uprr/Hzn7+NVkW/JkciP/npT2g6hzaWm6+8QusDP/nZPzKdVICjMIaz02NcaFmdnPH9t37IN7/5daKv5TqokFEoYjD5Zkqs5QDorJZHvPXd7/C13/09qqIk+mRwGT3GFnzpN7/B4dPnrJeHkNgzbYSNs1pB0L3J4gDWjaLqMvOtwmidJUm0R+Bjaoh75/b+4Rm+4TygqnTWudCvF9kpb/wYn3/++n0gzdfGrF3OPgR5+d5Qnmy+32az15PFssbp1LTGgfkljpi3zCiN9iQBDAwTrWm7lq6VZzd/f9d1YCNXLl3h9ORE/FlGwCOj9Syz/tnnwKice59qgCxvZWCjBxXK5uccM9YZU1Dn1qTz5zhfh7TSbZy7vsbowVr53avVKds7+1w8uMjW1oK2a0Sx5xWxhUeP7mHKGV30rNuWpuvQs5KOmjPlWClP09X85PvfwyswVUGhC14PLU91x1GOxEr3f4geFeQounbN669f5td+9SYoWOxM+fUv/TOmswl7RrN74QDvAp948w12d/dYr5fM5tscHR0znc6TYVTEewUYvAtD/GJIefZRUQXN2YcP+OBPvkf7bMnjb/+U//Fff4fHyyOm+xV87nNgQKmUu8vQZA4vcYyOMZDLK6PysyFNm4q6d5IOyaV7PO5Gqs9jUpJlAKwfweoj7vKNoHJXneblx/vwQCqMgVudFEg5UUOiShWYpFLJz0bvAyP3rVYlVy4fcOniHp968xO8++773LlzhycPH3Pp0mWuXr/O6zev0zQ19x58wIOjO2gdhypGDUxsSChdTIyxkEkyDimZ47Hfy2w5NLxGG8oohk4hepx3dC6y7hSsj5OpWcmqLZiHOUYXor4MAZvGOAttsaZkNptw9epVIo7Hj55z5849yf2tDKtVjYueabWgXjc0TcN8Pse1HlNa2dO8k1rNaAFYCUynFcF7JtuzNLbqKApL17Y0dSufWymsVlRV9cL69Ytev3RjW9ct86nBlHLTOScLUV2vaeuGQotrY25KiskkSVnDRqZS10kUSlVW1E1D17bMZtMko5HvTRNTGGPwwYm8hogtrbjAGUNhNP5MHHQl31BmpkKQmU9jZCarXTV454gqzY6aZOWdZmOz019pC5pG8rqMMSk3T4qdGCKdd5LHlEOxkzy08S3apocrhJRjmHK4osxOlkXFwcEB16/doLATmrrGO58kHlKUdK7jdLliVa9Y1UvOlsd03rGqlxL7oSI2zSNk5Fy09B1N57DaYBNCQ6L2MxplbIktDNeuXuXShctoNK6TB7CaTJOJVuhzWJ3zydjLMplOmUxmGGOSC6MUPt7HNA/qe5c5zsmc+n2qL6hH8T9RpGKZ8Yr9wpJURn2TcG6+M200Sg+FgUoPS0wxG+dR6H4WdhwZNGKQBPEe5Frno1Lk2RoabSJ0Pks4Bt2/MYavfe1rfOELX8A5J5tDKhi99/z1X/8NP/nJT4jJ0r2wI1hKjaSm46Y0Dmwbow16/PnGr9zsq2x6EscxK78A1c5NYm/mEPvzmhFU3ecBq9HX8w9vsozDcYwZjtxsjTvdVHXFfAOc48uzidULRlCbBz4UF+PCRPW/QxiuTZe9sizxTvKg8/HlDdw5yc3eZD7ZuE9DilPIbGxMhbcaIfh5c+zRf4bIgnyuxtmQuT5WWos3QGpsSfON+Tyovkgd5NUDm6HFxbW/QHEk8xvmg8ZMtDwP8iMhJqklm89ANrYeX/OeisoMRu9qnRvFxCTrjI4PhnL9OfVgdBpnSBnf+WbI1yLfv2VZEpwnGjEv8yESg0uFT2IJR3P5Ukx6lDIYU6QMYy/7zchlOitDAnB8csxPfvJjbl6/jOtqTk9PqaZLTo7PKArD88NntG0r4KIySfkTKXRm88WQSlmbohJanh8+l1GYtJnv7O7RNuI2um5kL6iqSuTJxnB8csLJySkXLlzk9OSUEDxtXVMUlqoqsFbiH+q6YT5fYKxBaU3nHE0jSoPZZEJhSx4/fUyM0OiWsphQ1w3eeYyxoi5IozVa6SR/Ey+Fddtw99FjXLvCmEAIMh6ik7cEQN3U3Lt3j0jglVducnCwT0Z7RBqoOT455cmTx31x+8EHt5hMSn7lC59nZ3urd3L9/g9/JPndRcmPfvITPvHxN3jt5tVU7Mh1iyhsmjHTRpxTQ/9My/l//OQBP/nh9/m1L/+mZNZ72SOjC8wXC77yjW/yZ9/+n3tpfd7Too0iSVa6B0c29pIkp1S9S/KwRm3oUUaAUd47fBivXRnkGs8r6A1mqxdoqtAX3b9orScOQNu4yc+PpvoFDe34PQb57uj7MmiY17hRvFbeY/r/JwPZo2ZdEhaZ2IquFYJiMp2kZxlee/Vj/Na/+G3JfXcd7779Nn//3e9SL5ebm0DqSfoooVGE4KDm2Gxih8/Gxjo3XIKRm/XovA4N8bB2/qJzltfAjfObzkHTNEnC6vBBzEibtkVrzdHRCe++9w7Xbn4MZUs617E8W2HLKV1UnM4Vt8uCYx0oVEXloAyK0rWsFoauEym97uuSIS4uIPf77Q9v8fff+2sikWpSYa2maWq0Nvzkxx9h7YSyqFgt1zLyoGccH5UUds4H7x1yehKxpuwNz5L2qT9VWkVesTPaf/tX/HT9pxAd+96jqXm6PqSZXxXvAFv2gMvY6Itz97NOqScZzthgz8m1XnJZJg5u4CElKahELimQil7SHNTmptUDn70oTkUxvUyXOoxYetmXR3Fa6b4ZCAXZ74weSB6VjM8ykJ7XSWMM29tzfu3XPscbH3uVDz/8iIcPH/D44V12dva5cu0aN6+9yrWr13j0+D5Hx0/xXsxnnXNYY9A2PadpJKfrR6WkHo9RzJ3Eb0Jm2UMCU5UOmFKe8QJN07a0XZtcmA1NK8kthTZcPLgiLsw+yLys0WhkZlZbA0ERgmax2OaVV8X5vHMOYw1NJ6ZpnQt0nefw8IS27tjZWrDYntMloLMyFbYomc4SGEYGl4OoXr2X2WyQSFmlmC7mG7X2f+71Sze2KgZBT51PRSBDwRMCJ2fi1jiZTCTfNQraro2msBbvHaXVUhSki72YzfphY5VKqbbrRCIWZXhaaYUxksnaRUcI4ublQ8CWls51RBWpygpcJIQO51pxNbaayaQi1h4XHIXWaITK94hUulAiWy6Liczf+loG69PDoxk1QRHarulnKTvn8EqhWmTOAdJGHbFoDi7ss7d7wMHBAYvFgpCyfmNQBC/ZvWerFaerJW3bcro6pXEr1uslTdvQ+lYC41XAWC1afyXzrDHo5GgnBlGS1yWLnMXIXLHRMmugDBcvHXDt2vXEcHim0wlN3dB5D14ad480bF3XUhjLfDalnE4G17+QGVrJD4uJ9dAquUf1LNtm9MhQ7LpesthLW4h9jdxvWtA3Kr38rW9Eh2imsbW/1NQyiD7EjmxuWsI20MudxiyuNrp/z/NFhBgL5UgYYbnHaHlucL/yla/whS98Ae99Qv2thE1H+P73f8B3v/s9nPN96LXUE6HP4x2ayU0Uedwond+kf3FzO2y2/1nmNgr0PW5m8vnui8ZcIKTrqRhtGoqXFgH9sanNZjzq1KiFHESeCqFxszW6/ufnpui/I5tbmf5j5P/Rid31vuujV0jN97QS6/va1zAqmHKTmdnavIENhEZGjkN/bvPGnTdNxhshwzzu+Ms52+/89dTp37K0U66DS27YeiSHz8ZqG/0rCvBKiRtwvxnLH2bcFOe53txQJ+/rkAvGdD0ziKP7GWYlm3i+6NmsyQ0xPwOLlRrekQFGXz7HAQmPQafiXQsAGeLG/dTPB6aMQdWfgVGUSu8yu2nsYowVYElbYkAYegKLxUycQ4PvG+58Gp1PYxdbC9pay32ARHN0D57RtjXPnj3l6tVreNemeyyC98ymM9q2YWtnB9+5PnjowoUDkQMvT9EhsjObY4uOR48eYQvLdDZla2ubpmk5Ozvj+eEROiqePX7GfD7DTipxPvWetpG575whulqJoZVOcu66PhVDkyijMz6N/0QC6/VKTBURd1BjBGw2KQ9TK02pC7Z3tmnahqgV21tblMVj7jw4xKdrNI5jOzw8ZDqr+MxnPsXh4XF6BtI6ojXL1QqCSyBvxbVr1/kP/+GP+dpXf5PtxTbWSrO+Wi9BRZz3nC6XfOdvv8u1q/8N0YMO4rRhopStVolxi7DxArjKmi/PxLtv/4yrN17h2vXrPZMlaI3j6vWbfPoLv8o/vPU9KRgTKxgMWDR4mcsnmV4Gn/en9JmTo7vkH2f1zCbTF5Oz67A2q3PrYxz9NzB+m43jeEzmJa9RzrqsqcM7yGMxMkI8l0p0Hhgd1EDZhX3T6FnAg7E7/mj9SECcQie32WEdDymH1liD8pIKMZtOKYuCB/cf8N2/+y6/8dXfZGf/Al/8jQN29w74m7/4cw4Pn20C0Of3j5hn7FNDol6MIRs+3xicHDdMLweJh6/Fc9eMYe3tr3PYACmN1kwmE9Z1i/cddb2iKAx1WxNj5Nq1Gzw/OhK14npNNZf7eb1uqDAoUxA0rIyBasKkmtIUBZPphGpqQUVmtz8irmohaGLsAXmSL0RVTrh37z537/yB/LvW/RherzaKmuCH2MNsuiVgT+Tps8eUVmNtJAQHWgCtDBIURLanU1be80QvOTUNWEWtIx9OYDYbxupiAK8CBi2jFuei6Dbvz7F3w+isK4VR4jWT9X/eR4JPc+8x9IZIeW0aUhxV/5wNT0gCtDL4n74te6gM+5MaTDoZ9lql026oDCY9wd7Qz+lL3KNCeUcIXVKcybq9s7PNZz/zGd54/XUePnjA3bt3+dmP3mIy2+La9etcvf4KV65c5fD4OQ8e3Ieg6RqPdqkRNxqHxysPSlHlZk/HXjmqlEqOwlLX5udTAa7tMFrGHH1ODlERHxpOl0fUdcP21h7exzRmU+F9i/EGq1VKxjFMZlNsqVhszRKBFuhcy7puWK1rHj9+zNOnT3jOEf7KFUxZsaprYgxMPZSFBaVoG5dkyB1lYSkKiQFSRkjUUDf9iJEYLf5yr1/ePEprXAjUbcukmmDLMt2UgWomCH3bddhSzJbatoE0Y6qQYl5QhoALEIOX9zCGImWfRQNlVfQostLiOqySqVPw0PoUwZEGk3OzhYoEFdBFmsl1rTgxW8NkOqNu1v2iZLQVCYpCTHtC7C3lrRlofK1FsuqDBCijoXENHp9+rzDG3nsKpZgUlcxYlhWzasqN6ze5eOEKZVnhOkfbBXwUmdhqvebw+IjT9RmrZsWqXrNulvgo7K00eCGh8RZj5WFxLrlNx4COUBUFMSCZtLZEEeiaBmvFKGU2mXGwf4GD/csEr3FtJyAAWvT1Th5EH8QkSrITJ8znySRK54ZvyEDMK4TO85YC2fYrRAYCIsOiE8mRBENYdl600i7TNyB61DwpSCjUiOjrNx9ZvcbNqBplZnrvRxmawxsMklOSQkAK2pjiLnSPQuseP88Sl66T2QFBkNMiqTRf+Y1/zhd//UtiB991RJRcO6P54Q/e4j/+xV/QNTUmFZJGy3xMz8gy5CpzboPOjXzf7uUF+1wcYl66x2zvuNF4WRO8wQz32cAjmVV/gUdf3zim4bdL7lpMbBgb/5Y/Z/89ZAOSEfjAZmMypAWOrx3Dv42OLTdc+Sfzy+f5mKiYTWZMplPmsznOdzx6/JDocpzS+eJ004ypLwL9qKntmZG4cU3oM5RfLJpeeg1GT0RmlTOMnCX2Aq74vj18kYWJw/X3mQ2KvUQXkIK9d6KUz+XTHGtE9U1l/yQnJP0XMeb5GLQeHMQ3iu1cfWdDm15mNrDWeuSuqlG0bScIboJZsjNjTHl+ufjhZQWQOTcbl36/5CKKwZSJsslXVYGrQy8akM1frp0LoE2BUsnRXinm8zmnpzVPnp3x/Mkh16/dIChN50Jy/vRUkwnz+ZytrS1uvfc+k2pCWViePT2krCrOTtdUpSM6n3wprKDvbQshsj5bMSkqthZbaVYq5TnqDLyF/k/QvTQrhMBkNkkGhR3OObpGcnWddzRNA0Ta1tO1LkWKhSTvFvfaqix76XZ2rf34x97g8bPnzObbNN3b3H/8PI0DDGqmrnNMmaJ1crtVImELQZz4Q+r+xJxF8+GHH3F4dITzgQ9u3eJzn/kMzw+PePrkOYvFHs16xZtvfoqLl67y1ls/4vOf/7Q4fRKpyhIVha0gCGAuT4fppYwCPHV8/zt/xc7v/yvmW9tol/Yh71FG8flf+zKPHz/iwd07lEYTdcBERTSJnwrC3JoUtSPMTUj7yHidODezGjefi5yVrHtmNX9TmtMP6bnOVnsj1/MXGrV+LRn+GkJmLPtB/fQ2A1vEBng8XtvyM54BRKnl5GPp0TMfN8Gq3o05R/EwjKvk94zJXElvMqsazXK5Yj6bEQO8+87bHB2f8LWvf4MrVy/z8U9+kp2tBX/9l3/BRx/dlvfSic+Og6lQXl90Wrdy40MCqc4bOnHOUG9jDXvBu6BfTXrGcnRpN8CD86MZxlrKsmS1qunajnotpnDaSv1ar2radSPMY+iIwSXD0hT5EhU+Bhyalkj0DmelltauxRYaU1Q07TFlWQmDlaMRNUxnE3Z2twnRc3p6InVbNp/MbsIq11e6VwcZHZOjvSRozOaWL3/pazx5+pDnz5/L8XoHLuK6jq39bS5/+gs8bjpOupqT+pTj0xMOj484elZzoypGZyvHOaZ7PI6nsemVfvnY5NHQfR2UUz8ygaK1SZ8h4kixmjHF+iTCStGLzkRhmUeeeul4ZFSFZEFyv0flNVXy/Ab0Xkxh6Uc7lMpZvEFmgbXG2Pxu8myn7UvIIC89gy41ZbFgZ/tNXnvtJg8fP+L9Dz7kpz/7B27f3ebGzeu8+tqrXLt6kwcPHvDgwQNsqjbWq0bqmSopVnTs40RjELJN9pVE8KBFsUaQkbnUUxhl+ujOkExBXahZ10tOTg8havb3dolqIRFNWosJoymFIFSaqpoC2XhLnqXpxDGft1RlxfZim7PTJWcnNW37UJyglcJ1kaIwlGWRVICJ/LD0ytEYZYxJamVRExnzMoLj5a9furGdLmaYIAh850U61Q8Ia0M5rfAhUjeN5Nh6McJwURHLkqqq8EHkty4EuRezmzGKyVROknMO37mB2XF5RD5iUkBx5zpBWxVoI8hk59phLjaKHGSxWGB1gdIiRRNZsziAETyt65jMFpTa0jR1aqJ1QjKE4csLa+edIDWFIupAUUq0UFM7QWdQ0tBOp2wvtrl04SJbi12Imq71aT5ACsXles3x6QnPjp/TxYaj00PqrqXxtRQuSuTRXd2hvOQ3giKoII7SJj3kUVHaElTEFGJSoIlMC8lO29/a5+qVa8xmC7o20gZHZSu0KlLjrOm6Rs5p10mxVVUsthYURbEpX03Ob5kBVMNEbJI+DgtZ34BmQyAkj7fXWPWr2OjvUeaBY7o3hCVMm26mps4jfalhHTcefcOqshU7GG3EYTY7XWZ345RZK3lqefNN35MLmH5LE4l2LkhD+pxaW774xS/ypS99GaMtrXP4GDG2AG1460c/4s/+7M+o1ys0kbK0aJPY65FhBqNmf7xZxtHnGa0BG0hxXwhtdP8j4usXSnnllYvc3s16vMvkgPo02zKw1GFobiP9hjUGH1QCPHK+ojQyeSMLeYSsP+jMfPQodG9ydG7jy9ltPcMd0s+bjfPnncOFxJ57+NZ/81/wymuvotEcnxzx//l//z+Sy+zwO5umkRGIhGay4bSZCqxeUpw2ynDO6GV0XfK9OY7Y2TBs6qGTJGMeMT0xxFSEjBVzYfPZ6d8o30NhhDOpVNhk2a1O2XjDs5ivpwopAWlUhCuGv+fPcr6flro4jG+0XuLZR7MEmUOKGQpQGYVXGC1SZbRHJ+fgkLJ7Qy6y08GWRTE4YPcSxAG9kTzgF49Pa81sOuHx48d0raeqJswmU1b16QvNiELz9Pkxz4+WKN8ym0wwVqOR8RkVTjk7OUsAh6JO5npbWzMIHu86iHLvLM9WxBhYLpfs7Eg8mdaa1WpNYS2FlUaybRqePH4ifg2B3tHTdx1aW4qiwgWHLUxC4FU/X53l823b9NmLeY0b1jqZlZpOpeCxxtI2NcpKnqTRIgcN3vcqTVtYrBHvhvlixmc++wkeP/9bXPCk4bl+9v3sbMkH79/CFhCj4+qVSzx7fsiybkQJkK7p6XLFT3/2s3RdFNvbOyhj+MEPf0hbO1zpMNrSdZEfvvVjqtLy+hsf58L+HoYaa1RiDWKSBAs7HEO+VzJgEjg7OeKt73+Xr3ztm1hlUXSJ3muxtuQrX/smf/q//c8sj48SqBH68+S1TOvHGLAGPAGXmts8N9uvey95Daxi7Ne7vHzleb8Misb+mWbEiI7WnORDodJinhvRqKNI8bNb/AsKnXN7iQpJepj+LW6uWOKtMTCVm+DmpgIqxHxgeeBfAPv82VXITX9asUJey2WNOzk5oapEhXDvow/59r9f81tf/xofe+N1Ll6/xrf+1X/Nd/7jn/H+u+/QdF16H40kh0ktlZl2iYaJmLxuqQHYPm+MN/4MGcDNnzn2Kq4hD/3cAtv/N/zM8N4g42+5bmqbhkYr/NyJObf3nJ2eUa/rxJw1xOkUk0bKivkE2kjdtURj8In1MykG0FiFtYaLly7y8OFD6npN8HIuYogoI8/svbt1D6r2NZDSo+QJAThlDc1u82rwHACs1UxnE25cv8lq1aDw7O3tsj494+5Hd6AL/PT2rf5z122TnHMdLiimi4XseQnc8VGIIZN+dzx/XkdqMJ+zzQM96JnvI+d9GonLM92jZI1MpKghrz7GSGkKmVvVOtWBgaBkDcuz4XlmnHMjW/kZyoaefYvbq/bymE4CeLzcmHlUQRhTm95DZs+9d/1olAbMfMqrr73K5StXePToMe+89z5vv/0O9+494ObNm1y9eoX9vQucHj3n6PiIug4ED9alfcClWs9A0HINQ4xYnUEDIReFJNMUiP9BTjQBmM4qiazsWoLxqX+LnK0jZ6uTPhqomk6Zl3P2tvYFrw5Ztp3rLk1RGqwtmFZTDvYOODk+4cmjpxweHdIuG2wpBr15NKcsDFtbC5xrWa7WQkwSKWyRzNAmuK4TKb/5J8ixJRH3NjlblWVJ17ZiAJWiTrQWJ8uoIsZayXvtZGB5amaUZcm6XvdFXOfani2MWgLVMQqDlZOr0jD2CD3z3uO6lmAEucl5aVkC0DQ1hCARLFpRmDKFIgsD2zaNFH3J4nu5WqLmC0xRYLzHB0G8jVGpwBXTnOlELOwVOkUtiPtjVVTYQlFqw/Zim4sXL3Hx4CLTyYwQFF0bJMdJKTrnWa5WnJydsa7XrOpjTlYnrJua1jt0McR6WGOF8SMzoxGfZMI6StCy6qUlgFNUtsRow872DlevXmdvbx+FlhzF5HwZA9R1k6IsXM9sxuQcOlvMKYuidzDLj7PvB+tHMw4wbJCjTWLApgdWUZPVUYOUMaM1w/xgYonSRhaVbAjZal1qgVzoixPdWFqZX2OJsRptPFl2o3rDHZXmfBlxfSlCRmd2Wb7etZ1kKxe2L0oAPvf5L/CbX/stlBbDMR9iivUp+Pnbb/Mf/+LPWa9XaA2lNdgilVCZWerfajRLPELlx6/zMuX+nKv8/z1UOBT4o6b2pZLkLMHJJshqVLhl1i67F4+MijbO+eh8qGTWoEb3zmg6KxU8ORNWDQwcoxnezASOzKDUxp3V/9LEFiSIJYVXZ/Ki69okCw9cvXqdV1//mCgytOKdd97lbFljEmGYG4Suc0wmk56NOS8XHvVRPWsxntUen5/hZ178GrlAVMPFi2rz3L7I8A4/PwA74/tBPnuWmA4gUBw5PmYX7HFG9DDbnR+FHsRKE4AvxmiMZXznZqaSuYZODW4+3uxUqfXgYjyg6KlQcS6ZiYncNBf7SinKqnphHjCS2TTdO8IOp2NwupxMpzS1mBdOJxOqquxBt3z7xgQmHB4d8dZb/0ARPfPZhNl8xsVLlxLIo1gul3RdR1Faia25/SGffPMNFrMJ9588onUtmTksbMFsOqFrG8rCUBhDNZsym83Y2dnm4oUL/OSnP6GtW9o6vWeTHCONEVVSFIBQp/vEWov3oWdsJZKtpe06prMpB/sHuFac/QtrewZ2/+CARw8eScReMvOx1uC8p+t8zwTHxJA8ffaco8Nj1m3H8emKwhbELqJNiQ9JbhjFOfrJ0ydcuXKAtYbPfOZT/OVf/Q3EkCLZpJC5/dFHrFZrbCogu87x/Pkh6+WKG9cvoY1h3pX4bkkIjvXa8bd/+3f8l//lt1DB4aNDmSSNT1JslRQAkdCv4Hk9uPPhh1y+/Daf+PRnwecCGBSOnZ1tvvSbX+c//Pt/S2glzSD7fOg08618mqNPyoIQVJK/5nv9nI8Aud/Lm1lOdshCwBH7owblwZjBzYxVv46N9f3pmclmMTZlV9KrJQVkjv2YjkpFdhxmcPMxZpipX8/6g0nPbGT8qzfX+yxz6FGh/tiGJiWSXeOyeiN/nrIseoOuQmuODh/zJ3/8h3zp6Et84Vd/hfnWgm986/fYOzjge9/92zTTntdenSJJR2tlnq9Pv1Znd3Ql7FrsfbTH6++wZm+uZy/m1I4xgA3/i43FeADTUUrm3VshWwokMWG1XtK2tXiadB0uKTW6lEYh6pmULVqW2LIUP5miwBTSCBS2YH/vgOPjw2TQlh2lQ1+zeJ+c5bXsdSGk0bG+sU2eKEnNovoWT/XGm3/5Z3/en5PPf+4z/Pf//f+Jjz68zb/+1/8/vv7136LrWuq6Yblc8fzwkFOlaZoOW5Rs7+yKw3petxLCqVUaDzlfhpwbgcnz9DGvyTHP+abEEJ1ULFpTFpbSgnOyD4TkkuyceBh0nXgTCEmVHLSDyJB1JmsSABW837gfhn1JalYZv9TJuG4Mcqc1qZ/gChs1qLyk1jXZg8cPaSyFtZRbJbPplIuXLvHk6VPee+8D3vn5z/ngvQ+4fv0GN29c42D/Eg+fiMS3dWtUWquCixLHhkMXkj/b1D7JemVMLibgV4ybBFxwTYMtCrlng4xRGmPQUfWgqeucKGZDpFs6urplOqmobIlSVprhEClthbJpzdIKYyzKKLa3t4heWOVVvcZ5T1PX8oxag4olXdsJMdk12MqiraJIHkfeCRAQiTTtP4Ersus6iGDLCaawOCK2KtP8i6ATZSm5ed7JLJNRBucdIQbOlmcyqG6NoPfpJOcCzrmWEKRRMdpKhA0iPfB+YKRKW1Amtz3nJbYnhEhZWUA2+5iMnmSh9fJeidlVsSA4QbqsLeialtNwQlmKs/JkMqFNttvOOWm0jaGwlvVqTdcGDAXWCGM9m02ptDhtXr58lZ2tXYqiomm8IBoJhW+bhnXTULeNyJEJuNjRuYaovDh3q9jPTikVqcpB0qFSbmxTrymriUQg2EIe/iDmRyYarly6ytVr15nPFunBbpPm3xCcBIjnDTlL14yx4sY5ncqNrYYitjem2EBy+xVJMiRzYdHHoIzXLCXsver7yGE+Z9wCDxrTtGjIm3nnRKaTF4rcgaV7AwZJ0Li4Pt9Y9Ght7A02hznHMGxyIgkaMHRQYjLkY5Izps8RAp/89Kf5xje/idKatnMSGWFLirLgo4/u8Cd/8secnBxCFATKFnqjChibWQ0v9VIpVS5WxntuGH/mXpY7uG+q3ByPNt5x07RxhUNAadu/VT4Cn1xlcw5wSHl2Gwu3Ui9EIEB2+jx3bH0tp3rEv59Re6Ex2fzRnqnVw72glEqVTG7M07nxnpgKheAjv/bFXxcDoRDo2oaf/PRnKFVA9HgvRmvei/O76u9/LSYvL1yMoeyJ/QXZbBLza8zUnnsLMqVp+nt6HEk0dv4enr3h+m2+n0qmLGLKNnxfbiLz857lhZuNaTbOIiMhG6h/zqcd3zcDSCSxB3FUKOrEGGuVUWu5D/yoSc3gQzbryUWVuKGrXo4WfESAWnmGxg12/t0hakHLx/e0GoCimEzxCmuSB0Qn3guRXqKXi5iQ1uCbN66iugbXtWgVef70cR+x0bYddV1TlgsArClo65o4KbHWoJRNsk6Rs5Wl7aPQZrMpIXjOzk7Y2dvj7oOHfPZzv8J7777D/ZO7TOdTbGmZlzPKqqRer+maRmRcAaIy/Qx/2zUjcziZGVZac7Zc0jYtCkXnWmKIfOt3f5/dvQP+3f/0P9HWZ6DlfvehS2uExDys12uRLzsZ+ZlOKo6OTjh6dogK8izF4P//vP35k2TXlSaIfXd5i7uHx5KRkZH7hpUgAIIAF4AEm6wiq9g9Mz0ljTQ20g/6syQzmcxk+kVmkqxlGrWmq5osVjU5ZBEEQIBYiCUTmUAmcs/Yw8Pd33IX/XDOve8+z0QV2mQtNyORGenh/pb7zj3nO9/5PiLPehGtto4mh6jXlnBy8yROndokwIm7dODkcHt7m5NrXvdK4c9//gjf++73sLIyZDEo4De/+QOCDsK1a9dx8/ZzOH/6JA4nE6wtD2luU3IBoiipl5xQxW4aAFiDjz78E1bWj+PExgbgWvJc9R5wFmfOn8eLL38H7775Bs3WShXn5KXo5veEF1BCEZMqUHADoTGZ+QwFXMLz7fQJuuqzi88+/CMXmDKJEwl1ODy/ASAIxZqPz6qPMSgtTkNTIGJvXNTEPS+p2FJwKtyzFGxO39edhO/H5fCPKrxXJJ+Zqrt3nTBjWxSlhjM1/vTOH9E0FV7+zneRFyW+/d3vYzhawj/99teYzarku0WyjQoeQ+MQyuNhYIcDIVVXAC6Aht05pfGZwJ0ILvfgiEd/PwCCSESQqEilvbqqaqhhJ8QEtssEU+NJqE/GZzqI5elMoxyUGJZDDMoS5SDHYFTixMYmNjZP4uqnn8BbC2uoiBPORIAi9TUPp0nCPMEWB0QtDuflfWTSyPQa83l9+fl1/B//9/8HtNagaSpkucb6+hr29vfhvce8atA0FkVeY65qqDzv7pWQsI7sZpRSCQieWtF1OZzkWVmDANxyXhmeagbMraMnQHoBxQUu3T0PYw20ypBpKs6kYE0TEZguGW9p3Z4R9i2RrNv0Xnvvo3aF87FVAwvqDodnRSnFIFY/R4r6Ljyy5ZheGwprIYhJujIeYzgY4OTmCWxt7+CjP3+Mz69fw53bd3D27FmcOnsK6+vHcbC/hXv37qCa0ZhJORxQIybs5cJDSQfrgIwBHmMMNQKFgM50BLclA2Xh+XDWwcFBKGpDOctjQW2DoiiwO9nnJhpZrQoIrIxWoCNowaKpSqMsFfR6jpXVVVjnUNUVsReVQF1XODjYx/RoBuctzeBDIoOEVRaQHsNhCWMMqqqikdOv+fr64lGcUBrfoq3J9Fd6gUxqpkR4tI2FdwJta+GsYWue0AlpUZYDDPIhB12LxjZ8c13spBlrMZseoclb5HnGBQzQNC2k0lCZBhygvIJrHZwlyXQI7igrCcmmxYRIZ2T6DA+tFFZXVzE5nHAAEbDGw7YGTmkonZFabZEBXiHPMhi2G7DGgRiZAq5p4Jjvv1SOkCkNbwBYDe81rBEQghaQ9RZH0zklDM6gaipMphMczSZkgaBzaC+pj8kzh4FemeVFpLXoTCMvCuR5AS01lJBcqBp4K3Bs5RgVtSdPA1Li6GhGPrZCwrSGhbd8nPsxTcuJvMZ4PIbKNFNOwRt4gr6iS0K71l5YwKH70+0EYb4hljLRly4k7d1nhuC3WNQgkKZYbTpEDuf7QhGK6ZEdjXVB1Cj8Pc0ZfCeEEKwcAhJrnYnHA4Dmu5xFnheMGBMyePmpy/irn/81lFZoGgNnAaVz5FmB+/ce4Je/+BX2dvcBRxZNFNS7gkSgQwgIFBCxuwEE5C+8RXCnPDyLvutqB8qL7GiJsYBnkaFFteLuOnRdL7IC6Sil0ReOKVZhzuFxSUHs8IpueSSRI5mnlr3f9QhobUfZ7fCNMIOL2FFXbM8Si8rYTeEdORTAcRadBNbW1o/j0uXL5EutJG588QUePnzAEv7h+xXqukZeDsJqiIqp4WgDJbw7tY5eh5j0pB3ePvobCsYOeKBjdnHm9PGUucX7FZkIMf1I5p4hASmgkCaj3eb8uMQMgfooPKkeeo/gd++T4gS9xLZbGzEB9yLafD3CoEjcHuJ0Eyflkp8regYZyfYEqBhjYFqaD9JZwUCa6yi2AamKoEkIPkmHxnsUeUkiUvBo6zkKpSCdoPkicI4TnzuPkyc3sToq4dqGOgHWoTEOX97ZwWTSYHJwiOXxGN6TOJXSGeqmwXA4Ql3NMR6vYGfrAWrboCwLtDWxZo5aUpCEENh9uI26afDw3n1YazFeHlMhCg/rFeZVhWpeEajkJbTPoIVC29C8kTUGbUPJsM40MpVhNptjjgrekNVDuOfvffBnKKWxtbuLIs9R6AzGtLAcA60j+zwhOTFrHZz0WBoOcen8OVw4ex7XbtzCe3++Qt0fEZI7il/7+/vIMoWXX/42tNKRni8hYEPCbVlx2wFlMUIrKly9+hm+8cyz8Tp667CzswutSljnMZ1N8eYbb2P9X/9rTI4aLI2K2FGUkqjcSmsq8H2iMs9xcjY5wntvv4Uf/+yvUOQZvHF8ny0kBF54+fvY297Bjc8/o8+REsKBLaNU1Iggx4bEssoj7RF34EhSaHZquekj06mYdz9/tJsYYmMMF+zeEJK7sGuFti+XBHH9Cy4QvGD9EAa+usTTx4Ii+ZJ/8RW6poJ/WST+2aF7mm4A/c5VYlnHYo7GWNTVHFmWA97hg/fex+Rwih+8/jpG4yU8+/y3MByO8Jt//EfsH+zzgcpkj7NJDA5zhSxMF1B2mnFIuut9RsyjzJj+q6vlu/ekdntpEWxCcarIOqyqGmQZeXiKpmWvTgaJrYFxHlpQB1vAQ0HANAaudDCGRE8tPOq2hZt57E0nGKwu45XvfQ8SAjrLIIVApmgeMdMkWOkB9kV13LGzjzQTXNAvMC1a7iQ765gZwufStqSNA9IGOXX6NP77/+3/DlVV4+aXX+LmzS9x5+59bG9t4dOPP0a9tY0LFy5Q3s2UW2eocWW1hFJZpHvLSJf1yTXl8R8FsvCxjzLVwn0NuawVFgKUywolmdHCir5SRUqztbSPgDUhPDMKnLcRaJaeAVuZrFPp+vsl52ZkeR3AeXZLiRR8n/hUM2VZgXM8wFoRFZTTvDjktEWe49TmCRw/fgx7uwe4cuUarl69gpu3buLMmXM4f+EMnv3GOvYPdrG19RDz2ZwKUUqaiYlTE3jhlOdBCwnbOh4rs1EAr57XNOYiJIwz8AyC5HmGLMtghId0gPQKtm1w2NTIlEaR50Rp9tSFXh+sU2e3NbAtPadaKkipkEmFQikMh0PYZRLSnc2mkCDA82g6h/cOw1JBI4dpLPJRDmeBtrbIFFn9fd3X1y9sraOikvMfJXiu2pLiWaA0wANVVaFpawyHRD/OdY5MauQ6o+5pEB+oHWpnofOMhUskhPCQQpGIiCeqsZRs8s2Fl2BuvVQSjSWainOEMDRNgzIvyBqCEara0ANupgZzPUdTNVGZVnB3ZzafEZpRMwXVGtTOwnAhJbXCoCgAy+15IbGxfhwr4xWsLq+wsnPOiZGEgEJdVzicHGI2r9CYFrP5BIezA8xrUrL00gNSwVoTlSnDrKO1QFMbUlwzgFYSecZy+cbCGw/beDS1wfGNE7hw/hJOHD8B64CqqQAhUZYDOEtS+21DwYkQLQtnHMqixGBQ8qB518GMPqpp9yxBZX2gbsIBzOkPCTshwbQDUsLUIUExe2f6HIJQU4ICdzTYbtOQXPBFUQ6e9QxdI88CJXFjRYKcM60ieO4SH1rSrIXr5kQj5RGCZ7dojRlriMLNx+Kcw4ULF/DXP/9rZGWB1tAMjVQkHLG9vYNf/vKXuHf3Hqyz0Dx3E08mCeRdpO6OuQvg4bqlhQIXToKSrpQWlW7OXbeKFD4fR41JA2o4NMFt9X7hSkfmrO3R/RaFSELRF+03koQsRX/Dh4bZsEWabqSu8noU6DqGEKTwF9ZntJxIwRZBiKhlb1PnLb75wgsYDkdk5SUc/vTen+C85XlqOm6iP/HS8C6uo/698Mkz4Dvhi8VOdbzF3aaG0JGmlDwp93nTYU/Ffkc0Tba6nztHz12It0F8QyTzPiJRavWP0Kn717z7B8doNGIHKsAjPm39R0uEsBoY3OAYHoCjeK16p5EIy0nq+HopIXmNWtsCcBHAUlLBGhLEEiBVZpH4hroQb9IiIxYfIhY6w3II6z2ENdAS0JJmAX3SXQpACTwwWlpCkSsUwxIHBwfIywJDlWH/oMb+/gPs7+3j7LlzDFYIzOsGUhZQUmM4XEJ2KkNbVziaTOC4CyM8daQb22I+n+Ng74C/12JpvISj2Rzj5TGr+Q+wv3eIshxQN9jRegvUQ51RgV8UPI/rHdqG/Nq1VrCVw3DAXVDrcOP6dagigy4UoEjEpK5bQJLdnFCSLO2MQ5nnEC5QAilBcdZjeWmITLMTglRoHQuVeYfWkP3QxvEN8mkHzVBvbGzg9t07EdRy1sNR9oUPP/wzzR5Op3jw4AFe/NYL+OST97G/f4DVtSFqU+HC+Qs4c+Ysfve73+HHP/oBqdML3lcEdeRsmOf3HmEMvANjPB7euYtPPvgA3/rOdxkAtPQ70kFnCq+89kMCIeoaPJXB9Q8LtIRi2Tum9Yd6KVhMcdwKzyLnMGE0Iuwx3Z7m43WNoB/6ca976pNnNO1GJyMbqclYoODyA5wwZrqPiPtJtEATeFxd90h8CEJ64eNDbItvE9EvHJHCyTP0/O8hPgUejGJ136aeQwoPKTU+v/45rHV47Yc/wMrqKi5cfhr/1WgFv/7Hf8CtWze4c9bBZIj3IgDHicWdA8UWGYxgLDOfFkDH3isFoJNLH667eAzICXQgKe/NbWvZqYEEJduWclqlFM+vU2ErhWB2kaMxurpB3jQo8hx+WsNbCZFriNbBD2o4J1F5KlihFTKdw+QaIstQrqwgy3PUVYVmPsezzzxD84w55SFlWaIsS86ryTpGKVLRvX//Pi5duEhNE0u5j2EryrpuUNcUh65+fhP37z3AFzdvoGlb7O/v4WA6RWPJouXGzZtoz5yCl6SZoIQElCYf1aaBc3wNNAHmQUVbMguDxPKijXMykoToExvWoIt7GQkhEbuvSxkAUFOKGY+AiIrlRLnlfATsHS80MSksP308HxxAIMnz99SFdXCOmlfkRZ/OzwNYYFd5F8kqvO7Zaz2ypRycMXA2CCXR2MfxjeNYXV3HvXt3ce2La/j8i+u4c/cOzpw5g3PnzuKb3ziNhw/u4tadLzGfVRgMSlKM9lRPtbWDyCSNZAbPYEdFvnEEnghICAlooWE9jZp2lkctsWsNxzdnUNkW3htY42AN0DQNNM+Xh2dfZRoOmubiLaCRE3tJUm2mlsbQSiPPC342PJqmArxBax3m8wrOOGitkecaWv4XsPspVMbonKIFx8EhK3KUOZns0sJxZLzuXfyZdx56QBY9SnUUSi8kvFAw1kdfPUAgL7J4ot57uDZJ8AHMqhkV2EISMq0y8scVGc8X+Ngl9vBobUsIjKJ4OBqPiC7ClGAbDK5FRgWQ92jZz1ZJ9oxyQFmUGA1HGI1GKLIMyytr0LqAhMRwMIQUObyXqGc1qqbBbD7DrJ5hXs8wmx9RQetbWN/SALuQqJuaUBJo2KbBYDBALjM01vOCd1BMk7DG06K0ArZ1GGRDnDmxjnMXLmFpuIRZRXx3JUmN1zlPM84tXVfnPKqGOgLDwRKGwxGEZAQ70JtCYu0QrRS6IiL1qXRMg7Zxs4yKhLxZBl8wy56vjmdzwoYomW5ovOMHnX2PBRh0oDYPWd76iFb3UNYehYr+a1oDpSUn+CG3kLFADoi2lBJQMklk2PAm+noKFHmJIItkWoNTJ0/h5z//1xgOl1DXLc+TKugsw8HBAX7197/Ezc8/h/NB+U3RTJljWOExyLhnpT2lxKMFZ/IeyiGoewP2ThULao/dZuuj6EdaXIXXIgra0eR8RMa6LqBLisjwHTKqbSZtyIWDDf9dpOMunJ8UcWXR+XWFsu8pM/NmFrqiSRc07ZqSEBq9ZzAY4vnnn49gyP17d3H31pck088nqJRCVc1R5Dm0JNZITCHjXJpAOmbaHVNIkBYL2vR9ItKE0M8z41xY7MEs2CGEc5IyhQsEeTaLLuNKu90IBW8yZ7u4poLfayygBY8NiCBaFajNYQ5Pxu+PbIdELZY6vgzMxUT20YJaiDBMCLad4YRQdL61AM2RtiwcQ9Q9z6AnkrvNBXxUTo7S3l1jKv1uCGglARE2SO5OCBqgCqJUUgrMZjO4yiOTlAg5b6BAYhbWWBwdHUXKqgVgWotipYgCUtaQHYO15BkrhUDbWFhjoHLF9m/Bf5A0KqqmJtC1yHHUTOAt2ckFFdqqmmE0GiHLctoXtGaldrK3Q5FDZQO6JgNK6Lx3EFpAS+puKUVovjUWTpDoTvQo9ET3Ii/zFpACKyursJa6D888/wJu3d/CvAUq4zGfVZjNZhzvJaqqwYd//gRPPfEEnPc4sbGBM2dP49adW11yJwg9eri1jS+/vANAISuGOLG0jPm8xkd//gS2dmjmc6Jve4c33/g9jG1x5swpvPytZwBbw3sL4z0UgpWII6CYQXaPMB/rIKTHtU8/wsnTp3HyzGkS97KUnygIrBxbx/d+9Jf4x1/8BxLIRCeuJKSI+0iq1tqtbxdBYfoFphbjcSMMj1aPaVe3r2bciax5H4Tf0rUvkojZxe/k0eveFj7PIzKYOiZWN3bQvbpYEhgbj2OQoAs/dA0S+7AI+jkXGmTx8gimR3fz8xQLptMZ8hzIshLXP/sMk/0D/Pgv/xInTm7i+OYmfv5f/zf41S/+Fjeuf0aXmW2e4ncKokFTzsJXSHZEbZ6YpKvu8Mj5LF6DxZ9Fc5gFRk64ZxFM1hoCGq212N3bh1Yay8vLaJoKrW2pPyNpDlcIwR0yywoHhtZ208DUNVTTQh+Q8JnTCpOHhxhdPIcH7ZQ8TTMC1LOsQKYzHD7co9l7SXPon358hQF7ErTMsgJFlhGLjJs7xGi0uHfvHu7efEjiX+wra4OnKOfFAgKZzHD78xs4OjiAFALV4R729rdRzY6glcL21hZpBCwtQWcZ6nnViUhyPKdRPw+hBc/LdnoyJCLqI7Dd13fwsSEhueO4aNHonAeMj+OHocniADSmjc4eCfcLXFfCSBPB87C27EJOJliwVCmSYrcLuXH4TAK7HIu/CZ4PF1HdtweUM0CrFbufeEd7vAQyRZ3PCxfO4fTZTdy9ew/Xr9/Ajc+v4+7tOzh9+jTOXziPF154BfcffondvV3UVQWtNbSS8NbDekBoiolOeirgpYLKBM+iE3NVc5c7y6j4nM+n8NZhMBjAKbbu4lzYmJbxM7of0/lBpHsrrSCtQp4VkKKA9wJt3UKIkoQTswxFQQ3I0WhIGhFNDe+X4WExmx/h8PAAs+kcw9GQwEj7mJj6Fa+vXdgOixEJMjkBKIGs1JgeTVFkgyTxInrJ8soKRuMlHBwcoGkatE3LegOUHKmMPZSiwmA610E0SOUVy+HHCAtrDCv6spJcRlTjprFxvoaEXxCREMc2PUICeZGjqQwVMzx8nskM0tJCI7GZ0OEQ0FIj0xreecyOplgqRjh76hw2N09iUBRoWwfnJSu1CRjjcXA4RTWvUDcNZtUUh7NDHBzuwvoWxhmiNXuHo/mMbISsQ14UqOoavm4xyEvoQsFC0eIQEnVdw7SWFeYMcpVhPFzGpbOXsL6+ASE1mopmPPO8gOTZjvmsRhjMr5sGbUu2CcPRCHleEpXCGiBJpgMtNBiuh8UkxKObgE8eZ+9CgPCdOAyPMGjd+YymVGLJNE8JxbOIilgBcF1yz5s50cq75Zqui7huuFtH4gKS53pFlD2nI7WxCgm0MaorBFOcAihikOd5PNfWtFhbXcNf/dXPsby8htrwmlYKeV6gqhv8+je/xufXP4PwFlpKFFlG9BMfur2PFjwAW1oJH4eT/CPFil8I7n3BpV6nNt7D0PFUvX+P3qW9TbxTHhRRcbBPZV2kSXfH0b/+oRMQMo2wqUaupwjqld35++7Low1B9w3h30Rar0WqdKy3eIGlin/WOjzx5JNYXT1GdE0t8af3/kQzi8n5hnPIWHVXSwWbzn0zspt2PntUtN78KxY6vaHTnlDPfR9oSCfa488Wrn+4BN1a7rrumgsc9DZqnhV8jAdwOM6O9SDggtBNOJ8o+pPQwxOVygAQpR6esQvC3rWhAO4lBeHe9dZMV4RTHAhUNXqO4UBAVUtIt2lt71hcnJcP1mLhREVMgLJMYjgcwsNgMBhiOKSRGBlBCRmXrXMOX375JS6e3oTINIvXCDTTGazTEEKgquaomxoqF8h0hvv3H2JleQnDkuZiHz7cYoCMAD2p8xjvtO6sFqQkAafDyQTFoMRwMKDOvWmxNBrBOcd6DTZ62YZ1b+oGZZkTvctatE1DYzUJtd9a8rEVWuDw8BBS5/A+w3Q6JfuGvADalujw3A23ltTEh8MhDg4PMa8ais1FgcGgxJ27d2CFZjYO+77Co6lbfP75DZw6eRJCSjz77LMk1hjuY9jvIfDRx5+gbmjcaF5VODhocHB4AMDh2GoJmRkUwyHaegIlPTwU/vDW23jyyUsYl5q69g4ADOAl2/Okwne87qSEFEDTzPHum2/gJz//NxgMC4BnGoMw1PnLl/HK93+At3//O+oihedWSsBRfiE5BoV5TbJISQTmwnOCBJzqCew+pi2aPJO0D8j47C1igZEFEcpZj66fxeKOLmWHuDDe1I3axL0P3XGnsbg7nsV4sbh3xegdz9kn70eYT4aAt9S1lVLAxm5bJyYVPlPrHNW8ImVwpXH3zl384m9/gR+8/kNceuoSxsvL+K//5n+B3/zyP+LjDz9KCgpW1g16CKEmiXuPjwWRQxg/+Wp/98cDyz3X094d7bbDoAovsby6ir29fVjncO/+A+zu7ePYsRWMRiPs7gjSnnEs8OQdWmNQaGIYWdNGDRqzNkRdlFjiIkBKiQNlsTxapZE+T+JAMsyQOoO2BXKtAQtUeyQcZ63tQEhP4x8+On94gC05d+oKwnscHU7QtiSk6gVgmOEmhUJ1aHBw5yGGNTE6pn4OJ1uYukKZZ1GUdGPjBP67H/0Qv//dP+Hzm1+gmwfv1lzTUgyQMt4mGoVhCxuXNltYr0HyiBElEhJSduCtD+tTBAZRJ06oJN2fTJBStHOWGyZsqcdbaBD7DlZ5ISeKLgkJuCSkhIbqHWNs4iwytryHtYFxiCRnIHYL7aUSXnpIr6CVRmtbGEOGvVprZJnC5UuXcPrkGdy9exfXrn+GL774DDe/vIkLF87j3PnTOHniNPb2d7G3v0d0d0t7jTUWikcNodk+j6+3FBLgkTmysuxsfAI1uvEm2mMVBTUzlZTwzlANpDyqah5HHJ0ApJxBIIOExvJgHIv6pmlZz0QwMENsAsee5cvLY6wfO46j6REmkwnqeo79/cljn9fHvb52YTvKl7FUCsyqI0hNoioKEt60aEyDvMigM0a3YeAEUI4GsEcerq5hbAsnPAzoJrWmRdPUjAL5UFfw5kqqWgGxJLUtWsCz+RzVvEJrDIbjJequiJDIW5SDIbJMU1LWSDSmIeNka6GlRmUr1GzlURYFtMqhs5xElqSAMJb9VCXgHJRUOHH8BNYuryHPcpw4sYk8K1E3jvz8vEJrPKxtcTSdoqoqGGNxOJ9ga+8h5tUM8/oIzrXcmaLOTWOaSI0oZUEoVZYR9a71yFUeh7sBGYt06YDBoMDlixdx+uQFmNagms+gVA7FNAoSNyH6tXeWaKTOYTgosTRe5qScn15Zxo7s4wrbLnENEzw+MD5ZCApx1w2Im2BFta5jknQR0dGFfDQfXKADeaZAxESho0J2QaLbUWLRwGsoJPkeYQPl7UewkrxPt/GwLdGxGGNgwoPJgaw1BssrK/jpX/0Vjp/YRG0srKfIlGcljLH4zW/+Z3z04UfwhroiRVlQIuRCh5i/3vs44xH24SCf4yPNJmz2XbGSUjtDkBS9lCl4CqaJRz9hWaRdpeJV6ewqwPOSYbcRNHcQCg94H+lv4Z8jhi1SglxCVfNd8uPBtFuGRXSYaQ6CDnHVLBRl3pMioUg6qVFojH6rbXmWHIDUGb71rW9RkiAEJpNDXPvkGm2YscNBHV6tZTeXJUj9PdClu85oulYTMEAsCn6lm1z/utAzZvv3s1dU9k44EW8J35v40jK9TjKtKXRaaCN3XWHKdyN6xkEyHTptH7MyuSRKkkjmgwLdHAmU9VjqIi8GLwR70fL8MKsyk9hbSPgTESlJrAepWBXegYUFCfAkFViaDcoKUmK0jv4uQuc4BbsgosVIKAhCASKkglA5BksrTBOUsKE8EIDwFDMPDvZQXDoP4S28Z5sJeEwOt1EMiDJ1dHSE5bUxreFsAOcV5nWDrMixvrGO2eQQ1rRo2gqWO7mtaWGhotXYaDxGVc0AAdjWYnuyjUxnyIscWlMHr7XU6c0zj3xQoLENMqlRtzWyQuP0qdPw3mM6ncI4i6qqMJ1O0bQtNbNZQFAoEqmRkmxzrGnRZoS8CeegJTCfTpFpgSzPILWE8hK5U4CX2N66j2MrQwxyh3nTkAiLUnAcO733OJwc4c7d+1heWcW58+dw/fNrPMxGPvNeehjnsLO3R0WYECgGJcpBiT+9+zb+6q9/ilIRk8Y64N33P8be4RQCwN72Dt74w1v42V/+iGYmrWHbF49MhcltdOtTABCdUvre3gN88M4b+O4PfwKtM1hD1GvhDYTO8dyL38aDu3fx5Y3rPW9myfOpzodOiwU1KURU7/dI7WWCCnEo+hA7yHHz7IJ6fI/zMibhaQ2VFsnhnwKA5hOaJCDYYVjAcYOgGxmhZDqALSIBoh+l1Saba8qOWFCJj78jkiufgLEJFapjfqAT03KxY0UfoxRQlhmsbQBBtiP7ew/xD7/4W7y09Qpe+s53kA9K/MXP/ysMl1fxxh9+B29dVPXvUXcQDw0ymKD1WESPxq9Il+d8Z+EfWSnWx3vZ7ZidMBBZaTU4fmwdWVZiZ2cbUgrM5xXu3Ktx7NgqlCpontzUvBw8nDNwnmigwrRo6wpVlQHwqE2DeU2NDpVp5GaAoqJCV5cllgYlnAS5WgwHGA+XsDQaYTQcYTAoMRyOkOk8dksHeY4yo+JFsdJylisoJbG6tkbss7097O/to6orNE2NWTXHbDrF4eEE0/0Z6qfO4+jwEPv7+zCHhzDbDwEBDMocMAwYKYkz5y7gv/3vTuHaZ5/hzd//E7a3H3YsBS7+6rpGC0H+q5LsyLyn5hO87fJTBlyl1JHe7h0BQqQngDgKJZXk8RWexw3PMltACgh4qaLwE3g0IByX5RxICBlBQoScahEMYps5H8duaIQmrDfBBXfIYZXSVGTDsxinjwV0tKLkrrLOFQnyWnqvNdQAKosBzl+4iI0T69h6+BDXr93EZ1eu4NaXt5iifAaXz69jNpvi4dZDtNMJhAKEomdVeQVpGbxGEGFlSyjrEEa6QnOndRZWODRtQ4JshpxbdJFDIkfdNLBtQ/aKzqOpalhnSAMIAoNyRM4AeY7xaAmQnoQLbbCl0myVpZnZ6CGFhlYaZV5iPp/hQfPg0Yf2K15fu7Ct5jWGwwHyvEDT1DCmRp5lgLOMznWKm8YQR1oIidHSCEujES82nl8UHVonEvVOhPUF6sQGP1tjGvikQ+O9w3w+Q812L4NBiTwr4F2LeTWDsRpCyOjNKjgotU1Lg/Xs+2e0goeCMQ2UJGS/yMkyxxhCT0fDETaOb+DJS08CXqBu6WY5L7hLS2peVV2hritY3+JwcoiHe1uYNUeEPEkbKTFSkG9vkNYGz5noUDYai/l8huFgCC8TRM0DS8UIm+sncPbkWYyXVriTa3heQaE1dF3An19VFYkBCIHxeIzRaASAjlmy7LhdQMQiNSIJ6CFguISfbx3NF6R0C3q/hBMu7o3BMKRDh0PXTsRiuJuX40KCkegodetDZyZFh31UBA0zSx3Q6qP9k2B1SClJbCUM7/MHJRscJSZtayIN2jkHay0GoxF++lc/xbmLF9EaohNLoZCxZcZbb72Nd995lxgF3jMSlcLefYVChCKz++doCyF6CUMXPENR2s3+JAJC4fd8R59ZTFYWu7WPqPV22RF/nkiucz8LCIBB+KIwWwIgqjr2E6UONQ3zavEWMHBCz0WXGIaCOC3ku/6npM2CK3mZ3GfLXpzOAxcvXcCp06fhPAEVV69cRV3VsbuHRDSqLMt4XYhxsEC/S4rYZMl2/95DZ9Ou82OyrV4Hnjc94eOGKxIqMikKi4RulSo2hi5Blzz7UP/HGMsbuhDwsqO6C/+4Tm4fCOrOKxTX4X19SpBYoE47HzIJpkZ6R4l28IgMRX4isBFAHO/CbL5NZjzDMQA6y6iotb5T+OxlqXzsrotr3nsoJVEOBtja2oJxPEIl4oAtfKdPBy88VlZWWPRpDq0pqRxlBZaXlyHv3sXO7hwPHtzH2voKnKXjlyrDfD7FaJBDSIHR0ghZpjCZTVAz1T1cu7W1tQg+Om9hmO61NFrC9OgoAoBt2+LoaEo2Daxx4ZnckZU5GmvwcHuLxmWSDlxWllheW8Pu7h4LwnjoLIezDlmWUwEPIMsztliSkJJ8NYvBECrLmeWgyf/UktjSmTPHMZ0d4uatLUymBhCKFMWdg5a0p1z//AtcuHge1ltmTyBa6JA7F+kXWHp4sbQ0xvXPP8PO7jY9O0pDZxqjQYmDyT6U0qiqOebTKT784EN84xtP4tSJdQZrLCkawxI1UYD0B9J4IQK4Anxx7SpOnDqLS08+BS8daVUYCwUDnef4/o9+jIP9HUwO9+P+oQUB+c4yXONlFGcKXZ80NoSY2WOeRJAzyYcTgEgICRnm4ReB3oV4Q/mS5n0jrZN9lLWVED13Ax8LBAHpSEXYM4MqNHJ9ZHh0z1xXyD4qOJdSKdN414+RAcTqWDpOdBtAANRjbJOAZnq9cwKDXMKaGu++8xbmsxrf/cH3MVwa4rUf/gira6v41S/+DnXdeTg71oFYFEwUbDcDL2M+012bxB84AHk8O98v8Jm2GyiRnMM4HtSnGE32WVevXsHmqTM4tnYMR4eH8FmOxljs7OxjkCvkWY7ZfEbUVC7QjAnjHQZ1PYea0RyW1hqt6phX5MmqIZSCyKjY9axmG2xtQm4pea0IoSkvgUShMpRMRR0MR1haWmELtAJr62tYXl7C0WSKvb19Aoqlg/Gk1WJaA2EJDJ5OZ5jPGrQ12Ud67zBaGgG2jQCTcQJCl3j2uRdx+vQZ/OGN3+GTjz6EMQRAW0+jDxA0p6mkgioVHDqF5ED3d9b29p+wpojJR51oFYXemGERp6X6OYy1FHON9X22KHf5I9si0JYXi1tggQafqKN7sFhHWFN9lhx1QgOjUNJYkNDwoNqA6pxubCfPZWwwNXWD1pCuQa4k5GgJ5bkCmxunsb2zi8+uXcOXN7/EwwcPcfLkKZw6eQrnz11G1cywf7iD6fSAgISmhc4UirIgoSdmWBhroDKFPM84zihY72AcNxA10b9Jf8ZCMOBbN9Soy/MCUoEKYG44VrM5MqUw9w4P9x+gsjUGZUmz1x7wPHbpePQxgPnOkZWZkgqDcogzp8/g676+dmE7b+aY1VNYb2kmSHqUeQ7TUKvb84YFTwIXxhBXXUlKCpx1MM4Alopb60wUogozRiGxtLZF2zoS7WHzb29JeEJKiaXlJeRljsa0qKuafGKRQ2UKzlvUtUWuNYS1tJlIGR9qARqKHw6GkFKiNg0HbwXlHXKVQwuFldVllOUQq6ubOHFiEx4ZmrZB04btkmbxjqZzzKs5rHdoTINZdYiH2w8wnU9o5scLFEXOXRneRCQJfpimQVM3cE0LpzTyLEepczTBbEaQGJYAMCgGOHX8DC5ffII6z7Ma3gFZTsnKvGrYM9jCC0HeUK2BkgLD4QijpSXuClpSRYserT6KIYRXQMhSYNm1YaaWOjHe0mfF7qfrOpGID3oXgNICrdvZaSMKVjE+KWApsCR04tBuBdgOhH/sgeASaIKtEHf+Ccn1EYn1Cwgxtw75UBzato0G4J7tUQaDAX72s5/hqaeeholFrYbSVNS+9957+MMf3kDbEL01y0gUIaLh8YuC8m2HFodL7pixEO0ekmIbScClrlqarCAwrbuudFye7EkakhEW2EJCqenf74VkSjJlpSdqxV10wUHfpR3a7r4/8tlRmTnttCYHz2tCIjl/AUCwDyavVBqpCnS6sMZEpAy1po2bjJIC3375Jeo+OgKyPvnkY9owQIIzHoj3PCQCKd19MZGLoI/vF01xvYdZuxSQCF1tnn8LKopUrFI3STJFyrvuvGJhSebP/Y1VdB0IxgmpIxMBhgWA5JF7LKLfZezEuvAoiO5nvd91cdxk8f4+8nd+rkUQc+HDsM5Byc4zMT5/XkYLFUKmQ0Lhk1krkA2cznif4OEC2VFhO4ZLF3Osp3jXtBY607HQgie9h5ataxALbB9jirG8cjWJbAwHGsPhCGurK9jePsDB/h4V8FygNHWFuqoxHg0wGA7Qti3mdYP797eQZ4TSDwclBDy2t3eQ5zkpcefkAV81DfIsw3Q2w3A4gKhpPZ7ePIX9gz0UWQ54YFCQWn5VVRgNRyRWIxzatsFkMoEQEnlZRG/aeTXHyvIyhBCoqxqnz5yEcBaz2RyH0ymqukYmVQe2sj2Zd1T0lXlBxS08VlfXcGx9A169iz9/fB1CFLTPMzidZRnmdY17d+/j1vHjODg4hPcSJzc3cTA9wsHBEa0FaxnEAKqqwccffQrvBY6mM9y/d4Dnvvkstnf2cf/eFsYr67C2wcrqMv7Vj36MDz74FOs/+REyoUiYxDmYRATJAyCtSRmFKgP646zFe++8idW1FaytHYNTLtJMpTVYXl3D91//Cf7+P/x7Yo4xkURyPLXeQ+gOhKFnx8URmBAnheiskJDY7XjPykki2Supj9OxQsLa79F/ZffMJI+nCKKdnJCHZ0B46pDHeOVEjMUdANd1oEKHOd33Hy2u+zYo8Wfh+nZoePxvui+FEQzBgEYHXPbnEwXTE40xqOo5NVCswQfv/RGHR/t47fXXsbKygqeffQ7lYIhf/oe/xXR2RLfYBd+3oJqbqvVLSOH5XhG4wnerBwpOp3McThq0jtgczlk0TRsjesPWl56nmuqNFeDSGdzb2sNk7uCFQt00uHXzcyyNl7G8tIzWGORBPMm2VILz2EzQUbGOFMmtJRskDxoL0Fox26UDGSNbJ9MYDIfIiwKBUSOdgLNtLJC00pBSo5rPAEi0AqiEg7UCbk+Rnyto9rcsC7Qtqek2NTVwXHSP4HBtLRfS/Oy1FZqGZjqHwwGaI9M1RJyAsR5eA0tra/jLv/o5nnrmafzhD7/HrS9v8OPjYmfUe4+qbiAt6ZakkzRekGJ5R/Nl/QXRMQzBXdaYXyw0T0L+KaVErhQ068JYh861wqd5bNcIiKyj4AYVbbz6Ipje8zoMc/oMpLuQBwnAGAaa+INaEDs05J9EVe6A9qBfI2WGIgOca3mvpaZWkUsMRkOsHV/HdHKEm1/cwO1bt/Dg3gMcWz+Gk2dP4fSp82jNHN5aPLh/D1Vd4cnLT+Ojjz8msFh6EsH1pOHjubHkvO3t8wXvP3U9h/MNMZ+yznqzbVtkmYbOSLiwyMn3vDU1pnNiqwoAo3KIclAiywoMlCZQiwGc0OwUHqhkRcBpVuDrvr52YQtp0dQ1ZvMKUgisry2zbUBO9CrR3VSpJLSQrDKmIufcMc0zsyRHriGp6ONkOygCO9clGVIJYhMlw9hSa4yKJahqFsWL2raBZmoZeb1Z9lPsxBfgRFTRJEsgAWsaAB65zlGoDOPBGKNigFOnTmO8sgad0fzSvGpoLpgpPG3TkB1D3aAxLeZVhaPZIermCMbxfKZisSe4JHB62LaF9B6lyjAcFWiaBr41kLpAkeWMCgMGJLx1bHkN589cwMrSGmzr0dg5z43RTGDTGtR1Q2io96hrlnnPc6wsj5Gz/Ltgn1YCzrvkO2xS4R6knR4OKTH5dug2pIAoCSlJJjtVsv2qgilJfpPUuVdsdYyhfvLtubMTiqRYGAgVqUJp9zZ0mHufH/bZcGzcgW5Z6Tq9FoPBAD/96U/x3HPPcYfaQckMSmeQUuHKlU/x61//JxxNJlBKIlMSmRbJsXb0TxFOauHVV0LufoZor4SFYsL338eCDDGwpt2vBA33rL74VeJU8b6gyzH84/4NHeUvFurokrbY3QwflVDTFjt7sQ4LtaBfSJpi2tGdV+rPCFbVFmzvY5kCZZ3F8RObuHjxEsBz/ze+uIkHDx7w8chIHWzaKtJtFjvc4Xijwmbooi78vTudDshwwYpKSBLjSNZ96NYGT8n+tQrXaFE0o08lD4BCWFdysfiOoFWH8lsbxNfQS1Y69sBiZzkcV3gu0u5zv/BNr1sKGPWyd9+pWgZ7KhqzYHANhNqHl5QSlmcaFQuMFEURN/tQB4Q1Hbwg02PxbOVQty0p5XuP2ewI4/EIWQY0Ffd748wdRcbJZIbDwwmKQsdZWA9CoinRJCTatg4yozVlnUVRltRhYRoWJIkjCji03vC1tmj5ePb29nDq1CaU1jDWw3iP0fIYMih1Ow/T0LytUBJKEGDnPKmnepcKbbESPitezuYzXLhwHnu7u5CKwOUaNXZ3d9HOGwyGA8xmMy5aRex8WWtxNDkisKhp0XpAS4VZVaGut6CKAuvHj0Gq68TU4oSwNYaYTvA4PDzE/sEBhJDQWuD5F76BN958u3dvaL5Y4+rVz7C/f4DxUomiLFFkFGPfffdPqOY1ikEFpYBja6t45513cXA4wdJwCa+/9h0408Y9gmjWkmbSAChmkwQaumQRpPl0gj+9/TZe/8lfoChoriuwAJT0OHPhIp57/lv45M8fxPEEEeKxJBA3UFbjXFwA3JK1HveawLYIM8AR4Ay9pH5RKNJI0ouHIgJlKUMp9R6lAhaRzhcPKM43d0rIaR0qog1f97lfVdgu/pxR0DjD2QuLbFVFh+Q75h0SqrQPPtlhXdD1zLIM3joS9isGUFLi9q0b+Pf/rx2MRiMIBaytH0M5GKGqaxrVkojWj+lRCp4bFHE3CZZO3LXme+S8x+df3MDNL7ZgZQFkmrVQbASnY6UMBQ+BsaUYsrW7j1nFBY1z8GgwOdhGNZtgMFyClxLWttACmM/nUTzOOUHUV46dzlpACszmswi6BuA1vT7UMcug2ZZFSomiKEgEUWuUxQBSKZSFQJbx3ulbjJbHGJQ5hNCQKkNRlMhyjaWlMb77ne/g3T+9h6PJhOifD+7h1u2bpBge9pKwDwrJQnM1BASGgyFMa2JndXtrB1fe/CNeeOlFSF0wqKtw6dITOHfhHD54/0/449tv42D/gESNuMB13lNsq+sodhe6qgoqsT1kpoEjEId3I95+wjODOFsdrhuBpAwUCMoBJa9/yXunT0aNuqIVsM6Q0J5I/KEXcwFBHU24IJIa9sNwbJ1TQQC8RKgNrI37f+gch2MWDIqFnMQ5Bx3EreCR5RlK5zEsS2xubODChfO4ffsWbt+5i3sPH+D4xjrOXTiHM5snoVFi/2Afx1ZPQovPUdcTSE3UdCkl8izna+rhfMcGohohjHeweJd0vWc3y3TXyJESWa6B1sB7kMWcc9HZojY1pMywMvLIdI7RYIBc58jLgsfrBHRRom5qNHWNr/v62oWtEQbISSJbKQVd5lBZAVM3MM7DOAOpFLIih/IKGTSpYDnJ1CNDtU9AfCAAtkJpXUvVeetZGZaCRkAPClnCQ8BygSiFhJYCTuWQQ4l5NYM1LYRU0HnBFAZanEpoaKmhVY6qJWqudWSZYo0hjr0XyEWG1fEaNo9vYm1lFePxMQgumJxxsIa6oa2hzl7TtjTva+aYV1PsTw5QNxUAR4bUjNi2dQvnLLLQ2lc0ewDnobwiFDHXMeGum7bjFhmHc6fO4tTmGQyLEVn2eMtUkwzWklJm01oordBygQ0Ao9EIwyXy2O0/eKxOJ0VCKeySYpLo5wfL00ywix6PIRF17D+comDgLhgXW2ELEaS4h7DXS0SaGJJaE7FIYtpl8NXsOEtx9ldyYSICtVYm872cgIZNGr6jJSqmmEbQm2kQxlhWgJZMgfDI8xI/fP1HePa552CdgHEgb2KZQSqF69ev4x/+4e8xmx5CSgetJDTPnodvcMk1F2w9g1iw8b8kSUS/q/z4ImOxi9h9UChkgsefh3SdEFoAHWKhu9Bx7H8JIoAjEvuWrvuWeADGgi05FCAWKjQHyYkf0/E808aEY2GGQDOPNZOPawKhmRY6HIKen25lkPy8tfQ/CNJJffFb30ZRDOAMIY8fvv8RzW5KorgrdBtS6NIudiPSnz32moc4Ey1n+vc1KMcLngFLWQkh803BIwBJZ/Rx37fw3Y8pLuPx80bfnbNgG7GOkrhwy+OBi16i3VEK+2DTo9/dFdHs2ezYd0Gk1LFgGpUAMeiom62zsN6RkjjP68uEupjpjNY2wjrtwJ2YuMjkPsrOg1RllIQdH60AUmFtZRnzap/BV+6EMyi0uz/BZ5/fwPqxMarZDJlSOHX6JKuZWmiVY1ZXmFZTLGVLEErj3t0HOLY6hlih87976w5ObGxgkBcsmkFzbM5Y6CzDaGkJFy5exP7+PsZFgel8TvY5StL8nJKoq5qomdbANC2c9zAz6jpneYm8yDGdVciLDBDAysoy0ZcPD6EBzCdH8MaiNTZeq93tPWiZ0fyT8RiWIxjPexYISPCOvaA9FSTGtvDOYTqd4eEXd3Dv/jYyBDqs4Tl3ERk8rXO4f/8+xkslzp45hTOnN6EklQJBUyAAf7e//JK8jL2At0A1r/Dg/ha2trexujJCJiyWxiUy5TCd1RBK4L33PsCzTz+J9WMjeG/J/s+DiiTnyUFAd9CYjN67dHz379zGZ59cwTe//QoL17B/MmERePnVH2B76yEe3LsdqZJIkkxafkGXousgpcq7HXLXgVqBodKpLoS6kwCByGjx/RgUxZ8CGMqe46HLiJ4eQcoUSjqmyceGdwji8veFqb4K+GQV9PDwhZhOjIFu1CUAcp5HzYJSswtfJCUzZwJI7brP4/0foTOpJXIpMK8q5BnNgddH25gc7QAC2Nl5CNMalIMc8/k82jl1BUEyExksmWAxmR5hZ2cH8/msE3ESAsY63L93G8YKWEusPBvvVSjsKYYFhk7jA5gmEgqqiQlO287QHlSQMkNZDuEU0Y8tM8w6PQC6SdZZtlMMnyuhVU4sx3SfhA/0NFIVljSio0LXCwLLyysYj5cwOTrEsCwxO5rw/K/C1vYuhFJEhxUSUuT4f/zf/ke0LRcyroVtaxhbRyVhsAiTAFHGM53BS4ciz2DbFrPZBMuDAQBgPp/iH//hl7h65Sp+9OPXceHiRUhVkMK8Vnjp5Vfx9DPP480338BHH36AajaLYyoBqPXWwXoeyZHdM9ephIfr0D0b8CDbumAnia7rSp1XSe12rhECHT/Q/QRIodqaQBsOYovUORc8l2v4vpP+QjdWGYEjPt6++oYn72XfKWFK9gDyHGOcC/PEiIBYcKkOocVHOy3J8c/BtQZlpmk0S0icO38WJ09v4OL2JVy9+hnu3b+Pw/19PDj+AGfPnMXmqTNwUNg4von6dgVja7JTcxotDKw3kBk9gwSU0bG0rYm5srU818M0cMXe8wTEMK1BOmQZs6qch9b0nulsgqIoIUQF51oURYmqLaGlQpEPUJYlpKDz0ZmCUoPHxqXHvb52YduYlh5EJZCXORRTh60nOkXd1tCZhnUKkAI6y4n/zyLmjenz4ol2RkIXXvGgtncQTkRVLe+DD6mOFBbPnVxrDLXuc0LBWtPCWYemrpFzR00I8qBrnYNtqNoPD4PWmgRKvEChC5zc2MSJ45tYW1mH1hna1vJgN6EOrbWYzStMqwpVVaFqakymh5jMD2Bdi8a0xE9XIqLnwaNL64yTLppD1lrDGwcYWtxKaZ7vbOFZCjvLMhw/toGzZ88hU2WkHlNhTHMc81nFs8Dk+9tamiEejUYoBwN4AMZREi/CXEmMBl0i/EhSHMQdrIOXncpbeJ9zLtpZEO2WP4cR0LBJyDj0j1hsipjo+m4DY9C227j5MfbdBpV2r9JOpAi/H2RqgvguEmU8dJ29sAbD/mCMZeSRFKit88iyHD/4wQ/w4gsv0nEzIiulhM4z3Ll9G7/6+19ib28XgIVWAloL9tdjlLDX3QqFdkfDDcWgT8Si8M+i4o9SS2N3LCQjCfIH/lyi9hsIJaKScNetFlFO/6totkJ0omL9oq/f8e8VN72Nt9/+DbTwyBmMtX+XCPpEvj/+c+h49PrI3folezDyYV1ZXcU3nnsONKIhcPfuPdy4cZPmyp3hBMzDWmJWLBZm6d8X/9wHBphuhaCYydItLCYRgB7Jwl4h/nQWOosJZB8lfhzTIcxGe94QyWj90XURmv0+uQvdsS+yIZL3LyTvi6/H5bw9WmJUOe6uT7hlDmHOkDb7oL4YRcxAFC46J9V9PrrCNXYuAv2S11vQeAj/7oXvPYFCkVWPFJ6VPqmrqVjEzoiQpDOwIiVOnNrEyijDvNTkL9lUuHP3LlpjkeUr8J4S5PHKMkj1RUJnGZqWFB83NzcB77GyvMxieg5KAm0j2BXA4+HDLTRtAzmfIc8yzGcVrG0xn5MVh2lbAoMEIfNlkROAnGnUdU0zx9YiR0YKld6hKHJkq6tECdMaRmtUrYnztS1rVwQ9gaqqMG/mGAwGyLIMw9EIrgXN9orAoXcoigI6z3H2TIa1tSVMqwZ7B4e4/vl9Aot5tj3YV21tPUTbjPDMk0/CtG1/TfEajNZJ/KJEUuD99z/ED197DcdWl6EZDP7zR59i5+AuAImqrvH7N97Av/23P4czArblOA4HLyXpQFgB4TWP/7gYa4OX5Ed//hArGxs4d+4cjWpY7kZYizwr8NqP/wJ/9z/+O9T1nBPtLj6QT3ZHme8ewa7jmsaOGDMSRXgfAWN+3oKCMQNhIgUQ01iJLnz+c2JIXTAJR0b/H6y1AgsjFrnJsYYXMWR8/BwRLHZ63/kVvq48SiB8GCkCW8cQVVpKdvIVXSyM3apQKAvap7IiQ93UmDcV51N0TZqGitml8TpmswmhEr2DSAA4192P5eUxlpfHLMxjIwuoNQat9fjs2h0czQyclbBC8d4UimTm4DHwHoo+a2jmEMz86L8cg5Z0LfKigJ9Mor0ZeoBJGrXpzhjHoA3sAojKQAlbd1nnYNkqUwjg7Oo5XH7iMiaTfbRVDXl8HdV8DqU1dg/2mI4tIxgT1gixRQyLGPnYTHA+cPIEcpURTVySoOny8hKyTEc6LeV4LW7c+Az37t/Bs889j9deexUbmydCVwHD4Qpe/9GPcfmJJ/HO22/h5o0b7H4CBixpX7A8VqhZ1yTJDCivVEna0T0ccXa8W1tBrVtGa8/w1CI0XrhrKzn3D3maZ3HR0AAKzQI4shYKVlZxT0qeC+dIwJW3WygfhEE7vYw4Mseir+F7rCOqOtLns8NBSN2YnxfnHFpH+kBKU0f92LEVvPLKt7F/sIft7W18+uk13Lt/H8c3TuD0mbM4vXkGx48dx50HX+Dh1n00DdUyXjjkIkeWlXCwsCCx26By71kLQ3KXXWodBeHioxfqPSlRqhLOkUp/VVUoB3lkEVrX4GhWYeYy5FmOQdmSZpGlGexcZtD6v4CPrZSS7H64kJnVFYQUGJYljCOaVdW0aEwFKRXGS0Rx0J7oTBk0jGnhFCmKtG2DXGeYNXMISf5IWrBimZLI8hywAm3d8E1SEJJmWZo2oMu0uIp8AA9BdjoOaIyH1p5Vmg0FA4eeQIjWGXkPaoVL5y/iiUtPIc8KmJZoJ5YH+Y1zaE2Fo/kcTduiaufYPdjDZHqE6ewIXhhkuYL1FtYbmIaCZGtaUg2TGlA5KTM7ljH3ZEQuc5LbbpomzrYIQd3WUydPYX3tJLRQqKoG3gNKKHjrUdU16pr8aLXOmH9Pyp0liwDEhwgejffR5FoE2qLzcfNd7MCEIOC9hzeei1IX1QCjEiMQZfO9DzPQNCwvglgIaDjeBYVZdEEilKou+A6ykqOwIiLSMiBWUsWZWiS+eiHwpUUWelh1L+J1tFgAxppolRLOTyuFV155Ba+88gogyJ7Asa1Dlivs7e7g1//4j9h6eJ+U7Typ+UlOiqPYgUOyMSHOEXXXJMxSdXH4qzp0j/+5iJ6NVMCamKyErrtnEQyhRA/ppATDc1JPn6YWiqkAKrgFa560oPW9xMb3gm5MzFz3xrjGWMyF5oAtYgOTIM7YCYZHVPJ8XNEZ/m6te8TG6IP3PoSzQF1VuH//Nkxdk2ezJ9YDmHq5tDSKBd7iZ6Tf4RMkPN0oAxUK3KXu3ynXdV+SFvTjnrXA2OiPAKArPOPi5/vI9lVeyK47wx1t74OiIyWhUqDzerU+ouLp+gzPpBDdTJUMnaLY6ek2/MUOUbpEyZO561LH3TwViWF0HJ4+T4Yxlixs0OGTeXaehfp0ltFVkAKZ0pFqBsc0TB5FCKJ5dH9or8jzEnleQiqFoihxbG0Nd+7udPcjCg7R/qRkDp0PMJSe/P2EwIULZ/FgawdtS3FnOp0izFgZa6EyjcZaaJ1hXldYHo+xtDxGVVWwbROZLs55tDX5rFtrYQHY1sAbgywwCBzNOsE58qWER9sYSOHgjIe1HkcHRzwX3GI8HsMaYiDoIse8rrG7v0fJXxQlAnlrCwWlyGLFVnNkusRotIzZdAKTET0SQkNqTzOBrlOY1ZnGeHkZy6sKx9bWsLc3w87hDL5xJCbJAFXTNpjOCNnf3tmhZAke6+trJEzDlGHnTIxPo6URphOLL2/exJNPXoJSGkWhkRU5juYznvuiGHvlylU8+dRlPPPMBXjRwrKyVhCRgQOkNzRTzwktmK0kAdTtEd5845+wsvrfYGk05I4iMbkyKbF+YgOv/8XP8Otf/kdmGXV2OkCnBZEmcqEA7QsP9Z9pGrmSXffUMWAXFr3sd2vipwR7kOSz4+cKttbx6TOdVsIhSgRAMVVpT7ukXXIfXrEDC7bO4zjXi5O+H6s8M4bCd4d43hFUSPjLhq4uFxAxykSxSJ57l7RW5/MZATksxBZGEnZ3d5DlGVZXVvHw4Rbb3HmK+fFYOxZR9OBWgOLZTZrjU3jqyUtYWTmGT69cx70H+4BTcNzVDLZodAlZoInXsQ9zlTIHnAHQLBSoCsbSLKVn0DktgmMcZ5A0dttDV1sIwKvkPYhdYucFCVtGlhuBCvuHB3i4vY3d3R1sP3iATBCteTxeQmssWtOi/+oKZgGaMBsNSxxbI8u8+1s7aJlqbJyE9BrCKbRGwBjg4GCG86fPIMs0Gke+vEJ4NPUEH7z3Nm59eQPff+11PP/CN6EVjVRAZDh79gI2N0/i9o0v8Oabf8D9u/eSBKNzaKjqForVk+nZI1V3yaMIOnRPgQgwxRny3lpNgMx4lX30qhNQUDLoBoV9TBDjMzZWyApHckcViY0dOsfkmMfYJE/yybX2/DzKMLMrRVQq9p5yYaEDkyPMI4PXcAcEBaBYKQImTGu5I0wzuBvr6zhxfB0nNk7i6tXruP/gIXa3d3Fv/RjOXziP06cvYH1jA3fv3sXOzg5pF2mgnbVwkkrbumqp5io0lOJ8mhlahmfFhULM+UPDKVqAgpDPjHUlck0uB3mWo6orQFi07ZTm2lkoUgggUxp5VuLrvr5+x7Zp0LYtCl2QqISzmM5nsMYiyzQGYgipGvi6xfRoBtPsYXllGcvDIZnAe4G2tQAUeTNZEx/3LMw/KKrsVUDBnIDSGlrnJKKkPRs5d0lSQPvzvIB01BoXUMTTb5q4kLTKIBRbi1gH0Xos5QOsrK/i1OYZZIp8Bp0zPKtF6FfTkqFz086xs7+HyfQA+4cHqNsGQkkY38JpMrhXUkFYKqacNeQrKMg7VifiL9bQA2idY48qSljKssDJkydx9uxFjJdW0FQGTeNo47MedVOjqmsoral4TWZH8zxHORzExR2eG58gv2BKFj0wLm7Mj+va9oqp0A0McwuCaLfppi6lhpTheGieOTgKCQSpfESKhQfg2eA6oFwizMmysI5HpwYXAhUC5RC+53MskyIkHDNtYrIrPAKIzUrbnf8nGIVS+Na3v43XXnuNZrWshRcqiqIcHkzwi//4H3Hz5g0WYxLIMhVZso8CBAGNexxwgJig0HH2u7ZItrXHvRaLXUL2bESfpaRNo1OHlhE8cIGu2R1mj0rmOSCJoKabKDr7HlrcP45HC7J//hXEsgjV76+9eK8Suq5L55VDF9yTEnPw9wSAg/19vPnWG9Aqw/xoFrsBztnOeiSudxnvUfjsSCcSAXV2X3kMAUgISUpMRhe6nr0cM+SiIu3IdMyE7lns2AVIktCuqOT3icd8SQQgOvGlkA8R8v4okt1L0jlxVwnI4PkrHANk3f3ud2z6nroJGp6s6zhWIAUlI+zJ2F0jGbskKbW4KApOvqMUdB/QEeidb/B5VkrDGvJmlUKiHJTYOLEB/9G17h7FJFLAGIPbt+9A4ATWj42QKQXTGgyHBZ56ch0PHuzj6OgBDvb3qesiGO6XEpOjCYp8DSdObNL9cxb3798HmGLItt5dvPBhHZFQ1Wg4pA0dMl50nWkWk6HOo1YEppEivoDWBOJUjcXYkXaF1iWspWuVKaCua/LD1QrOdOI1QkhiDRmPam5h7RymJfA1yzSEsJCKrLTgQ6wxqGY1tM5x+vQpHM5uoDWenqdo9SXRNBZ3791H7UhVNdcZnv/mN/G73/0uslfCjLTnDsnHH38S54uvXv0Mr7z8LRwdTXHlyjUMRqsAJ7GXL17E1tYuBoMcZ8+chOdOGqNUTEEnhVUtuuQUjpR5BQSOdvfw/jt/xKs//BGU1HC2YWVcB3iLC088hW9+6wE+fPcdYkuJxOc7eArzPHRINrmVk4xu9IvAIAAY4xsDu5GNsTgO0XvaH33F55d9y8OD0QMDRYd9pWrM8ZPZycBZH5/LPsDXPZ+yty/EajRCXuGaOC74hI4HGoGFLiCBO4QpCChYn0V0wuWODjjPc5qJtibGFgcHKWh97+zuwnkHFaxLIqbYCWyFQtFaPjfJBY7gOU8vsHF8FUvDb+DGF7dx/Ys7mFUVjMgghe70Uph5EkUy+f91OYJ3Ct6QsOkj56kkqqrqUJD0Pjy+9c4/TkfHkvcResd5RIIIAth6uIW9/X16xoyB4lxs//CQR9IyLuZcEv8IvlwajrBxfAVPPfUUnnjiCTRNg//pb/8O9x9u0bl4j7ppIUDiWtPJBGVZoHjpeYrFgQERCm3vsbN9D3//i3+PTz/9CN/9zqt44skLpAbsLJQqcOnykzhz5gw+eP99/PGttzCbz6lADAwJjs2WY1+w8yFg0ZFNKDof9XDvIywfAOKIA8vk8oaZV5Fc126fVlIR9ZrzB8sCXZFFFOn8ov/QCpDNnET0zPXMWiBQAhGg7dgTKYOO3y9l77mVSsI72TvG8MxHxmvM57rcYv3YMXzve2s4ODjA7du38cWNm7j/4A5ObJ7A2XNncfrkJVy88Ax2tm9j68F9VPMKKpeAAtq6hZYS4JpHKonWsmMKeSxGEDoAqZabboF1ZV2YV5fJM01AtM40jDBo2obA5Txj66amlx/8S6//rI7t6uoqKXsJVjb2FtN6ihIlMpEj1yW0KJDLDNaZaA7sXbBf0dFbSnoB2xpkGbWXnXOomxZWkYdkU89JBVNpTjodWVS4IOntWcafEj0hBZkPI4hZOLSGvHa1UihExomCxGA4wMb6JtbWjuHY6ioJkrRA1TRonUfTejSmjX65s2qGrb27mMwnmDdHaK3BvG0hPSEnppHIsoJmD/ghGg0GgCcJ9yLPobyg4GxoAN1KCyU02qZFnhUYDcY4c+oMzp07Dyk05odzOEeq0gICdTODqVvi1GuN1jm0Nd1snWUYDspY1HrfJWjeJkqrnCU7xwrHjAjRe+1julGp7NXju02d6JNLkttkhpZpHZS4MY3ZcpasOej4vuorJNNkkyATmj5U1IaAkcwwBdXpmFSE4shHqyVIQmXbuiURKNU31n7xxRfxgx/8CFrnJG/OhXWmM8znDX7969/g2rVr8M5CCo88z5Kg3V2TIGJCxuE+EeXwsdgN1zJ01QRo3ldJ2W3GMRFZQOf5FdSsPXeUO2Nt2+s+kmIuFRJEjyGU3AejcN+F01A4dd7BfByJbP7jOshxvnGBdve4F10GSZ15H7xPkQRunyhEcycvCj/ImPALUJeMkMugwEvdrWGpSTRHKj7ugBdSMJ03FbJy0OuExgQuKWR9orLoXCjg5COF+2JHma9KetbJ+XfUep90fRafP7BoG+1/krtu4RFh32JOjmWkQDLTgb/TO0KKRVQ3ROzoAj56UQevx0CBCtxk6x26iXnEa0VjFV0i278Glu8lq9ImnXwhSOda8TrSySy9isIzbL8DDc/jIN5RByLTGaPQFOshBNNMk/UWQCMB9sZ18G1Le4qSyHONuppjZXmIwVBh2gDwBIbaQOtRGg93dtFWM7hzm1gZj/FwewtCCqyvb2A4KCC8x3QygzWkXJpl5JcuvUCe5eSXbi0gFQlJOQulBOqGioe2afir2E9QarTeY2YaGGORqQwiI69FpRUASUrObKXgWVVT6gyNNSTaKAWaqu4szngGygsVP9PbMCNIM9fOWjqeusagyMnOrnWQ2sOSDCmyLEPV1JBQUFrCWIG2arA73cPh/gSjMsdsVtGIUUyPFawFvrz7ANOmhTUeZ0+fwplTm1DCw7BOqPUkSuiEwv2H2/jiyzvkYykkNjaOQwiJDz74M44mc2RqCUoLFHmGvCzx4Z8/wY2bX+J/8z/8r6G0h7cNJ3KW15Fjppfi2bokCAkacPz8s6tYXz+O5154ieat3ZxYNZY6ei+88h18+eVN7G4/hFKSn0kBzUCT8aGo7VSZgWSerxf8gmgc4AUVz0IqSEie9XZRSI8U0bsOHJnzoUt9U2As1jOWu0yRD5UURmmx7Tp2Dc/BxrLPy0RjQbBactIhDJ2lBJwD0tEKystkFgA+3otEKIBJrInc6bpCPCjuUxfIM2WazzUU1QxAO9MSg5DZB1RAkSJrWZQosxJ7u3vwkgsA7/tquqRuQtlNmPuP46sOWgCjQY5vPHMRp04ew0cff4J7DybwfgTLcddKLsZdAAVofC3LNZwtqLsrBM0t+qgmQKKFTceo+2rIIt077EJhK5O/y/5b4x8kvDVo5yYg+rRCGISLkCclH8kvEzW5NR7O5zA+x7yRWFpax2i8BjzciochFVNTlYSWCoNRicFg0N3TWCy6aHtTVy2uXfkA925/jmefewHf/f5r2NjY4L1QQpcS3/n+q7j8xGW89957uHrlCiZHk6QYovy+aUwcT1FKQCueN40QQ3BaoBzUBSCJok3MIcJDIdDlHyEX8o5d4aSEs6QlILWGZs0EAHDG854k+VMYW0vAcsBDCsUNrm6vcvA0suSJmRTe7yB7DRHv2KOX8V4XFZmp4JcczvIs5Ca0tzvOhW0Iynw1tBJYXRljafwULl08jy+/vIm79+7iz+99gNHSCs6eO4cz507j1MmzePDwDrZ3tlA1NYQhYEpZBd/SuJVj1oFTkrv5PtqRAUH93sMzlTnEKts6NIbBASH5+XAQWsKZmkY7TQvpJC3Pr2A0Pu71tQvbwXBIPnw8o4TQJeOOG22Q1GXNsgy5pFmjqq4xyMooEuMB5FnGCAQF57ZtGXXTMemdz+bI8wKioAdvMBjAs8WB4DlVa7nVDkEm9sH70NJiUEpBCwmtMhR5Scb32QDH1zewcXyTVOMg0DYOzlB3dl418II6xR4O03ofB7ND7B7uYlZN0diaEFYREBDHnWiJrCyRZ+T7J1h5rZWOKcSWbijf5CxXsMbCGY/B0ggXz13EsWPrgAdmsxmc8xgvrcBaj9lsSpukIvS5rmryGJQSw9EIWZF3ScxCkAzUpRBErXNcyKSoqYj8/s4ax8XECYxsBZxyMREXIhSsjj1c+zOIYdMKCzrQix06D85eYh+6zAmy/EgXOdoJdQm3iHQmHuSnXZpDPABLXXylNXQCAjjn8NRTT+HVV19DnufdHJBUyLRG2xr89re/xccff8wbaGp90u96EW1GsdohnXDYdCM5Jc51dLRb5z2yxMs5UZzvfpZ0u2UnhZkUv13nO+0sRqaAtYEc2wn2qDDPTAVyqNgIyFws1vpI/2Kc6XclFlSg0+5aqvabgBMiMgpcr1gKGAbRrmVvhsax1UZ3mTyU1Dg6OuLjc1FcxXsCNuA92S+URQLMKD6/tAB1TNML81GKC8M+Zfnxr9jG53Xdf3+/eO4rLqc3PRSi3rkofpP+W1o08o/ps5k62/0MNHMYk0WfrKkARCSdTnRrFEjAjwgE9M8n0g8lgYzhPPodeBKXCORpKYKit4uFdIg94RoZY6nY5rVBQl8+JjkisVXpOoWUjAc6Mtm9kXaBiHROINMKS0tLONqZPIZtATRti5W1Uzh1+jS8aXDmzClUdYX9g11U8wpCEGWZLHtGtO4mEywNB9GS4969e8gzjaZpoaLAFQEGKhwLP6+tMfASrEAq0XqDwWCAuqkBa5Br8nOl51ahsS0GRRZZRZmUaCwJiBwdHfH4UA1jLMYrS1FVvLUWTcNz4Am4HLQt8gzIFHURW9MwoEDemxISQglY4XBsfQ3jlSWsHVvH9v4hdvb3YC3R0mg/p6Syqhvs70+Q5zleeOEFouEm4umkO0V6GB9/8inNKPP6qaoG+wdHuHbtCwgBVNUM4/EKiiLD7u4O6rrB4WSCjz+6ildeeRF1WzOYmYwvOPJRhgQkUzmDUAvgAdPiz++/hxObp3D8xEakzZGzgkc5KPD6X/wUf/f//nfk+Ss66p9zFtIBLrKLAmvpUVVzfiB4trazoaFZ0pSlgigQJbm7KXozeGHfWShuY9xKnuUuBDw+SnGnVQR/ZNc9y5FRE7uyogfiLgJacegviecxXHxVThpjmIQIejOBUeSCGCXv4QEsEwKSdUuMSayW+FjqukI9rbC6soLKNJjOZsn18XF/DYccYijFUS482C7KK4Fjx5bxyssv4t7DHVy7fg+HBzXbwxDFPR21kYIKaUDRfDc8nBfw1vTiqrUm2jo9/u6kP198z+KfF+d5wysRteJ8jPCKlFHjH/MZVHQ3TYM7d+9jZ/8QN27extNPPw2lujlHIQSyPIvMNykIABuUg954d1jfcV3wopjPp3j/vT/h+uc38NJLL+Hll1/GaDyChYMxLdbW1/GXP/0ZvvnCi3jzzd/jypVPYS2B9KFZ41lfw1oR1erBSugCAkqoOHonlOTiNj37jvafiiYKPl7nWDGb44nzHs60PVZSOFcX7C/ZjzXtoAZwWEi2SgyjYghNhkDXD+vTdb7XESpKmKrhH0IzretBLDC3UgAK/Fw5ii0qUHwzfPObz+GJJy/i1pd38Nm1W/jggw/w5ZdrOHlyE5snj+PpJ09jd28Ld9xt1PMp2qaFt8w0gYfURMu2DIwLzsdp/FLxuJiBkjpesJ7GhhQEDFn6c5bnyIs8svHATgBf9/W1C1vPlglKUFfJ8GINg+IKClVj4J2I86TGOFS2hZIaKlfMeHAQKucunSAEVNEsrHFUeGlFF6gxDVSmYJyhwXwpYIPCLvs6KaYAa+do1pb59E1d07PkBRQUtMywvLSKk5unsTRaQV03mDTTrhBjddyW1SHnVY3D+QT3t+9iMpugait44TAoMqYQN3AWaJuWxDyUR1PVaK1DWRRM58l4HsrCtA7eepq5lRLw1Ik9f/Yczp05j+XxCup5Q4iHV7QZO5oDPDqadQP5HIO00hgtUVEb41bAG10XqGKjFgTfuIWiKNmFeoIX8RWsSmQqfLHwX0E8e8mal6Fz6xg5DwFjsdjqBuJp1s5a10sGImWjJyyxsC6Tn0X5dZcg0LypWueoqFWpgiMBMhcvXsRPf/pTDIYD9hej4KSVRlO3eOONN/Deu39C2zTwzqDIM6joMbbYRQ0Jejj2FNUOsxkddSX1Hu1oQP1kIAB8UUGZ1z8VEOHa+igA1CVdjwYCivsyFo80iyQ6anQsnpLiLXRRgzhM4rXaFTlprHBRQKiTy+reE0SrBNJ8h5H6JKESLDrQgQFdd9txSDW2IXoXq1k7CIyXlzCfTiKrI8yLeu9hol+xZHpTv1h0PBudFrShexpUwdMiqA/ypOCLYKpal2Qu5naPK6b6NMQFyqLv3hOZDKHzHhNpGe9LAH5EBIFcvAeekywV6K4JWi9EsHRIRdsCEh0YO6IXA3rUyQUwKiifimC6myRa3gegC3Fcgbwd+doESXYGqIK6fKSa+U5l14Xuf7qZJwCSlOSPKaXEaDTCzs4uxuMx7m0fQAgdkbd4T7l7Pxovo62nyLxFuVTi+IkNCCHx/nufoDItZrMjLC0NoZTEdHYE0zYoyxJLS4NuDktyt9XUkJwcipzozd60TJUmZwEJET2523YCnUvs7B3gzOkzaAzN6JV5Cd+0MMZxN0NgaWkI6w2U1hE4GY+XcDiZYFCWaNg2yBiDbF7D1i1a7zEaDqKdR9s2FPu0gnEWmVZx5RaDIiwFuJbWtlYSZZljaTgAYe7EkjKpR7IXmE3nOH3yItbWV5gxxJoGiQpqW7W4f/8BXNDJlQpVM8P7H36Ii5cu4aWXX4aAR54r7O/v4879fZqv0xq//8MbePLpJ1AoCetbZAXN4YV4FBIoF2IkKPmk8U2P2fwI77z1B/zkZ3+NXGvYlmynHMfZzVMn8eqPfoJf//LvoKWGiNQ6QIHYWDawH3g0YdEWLIJ9kmKCC4Cb4/1VBAj2UeZGYJMQC+hRRwLaRpJYHOda03iegMZ+gXUi2EVcLVLkk7f0CqpHKdP9rnCIe0mFwzlGkJ8QCF7pjoFWGff8DhDsx0fHlGUhBYRS0AJoG9J1CaAXdXwF5vUMhu2w0gIFsVGdKgxLKCXghYsMq3DgSgkMhyNcPF/i5MZx3Lm7hdu37+FwUmNetdDgRg88MgYIrNdk9ygEnFUESvKMufcE1sV78pUvn8zamoV/swvv++defuG//YZA1wH2yf/Yg8R6zOZT3Lt/BweHe5jPZ/H+U/ecFPidJ7eRTGmUg7L31Sno0ruXzsH7GpO9h/jtb36Fq59+hFd/8EM8+dRT0JpmqK112Dx5Fv/2b/6XeOKTj/DWG3/AzoOHFKplCuQb1LVBlhUseBbYeiYWhdKHp4tepFTfvQKwFPI2sKgZsYUQeVAuWotR7pTxKI23hizPPMAydt2+7wWxLyVnLy5pHPHcuhQurgiXNhlEorhsgyp3uIiWQR0RzyH8d/GaCz5BqRQ9dz4ZCxQCg3KIJ598AqfPnMft23dw5cp1XP30Km7duo0TJzZw7vwpfOPZ57F/sI3tnXuYVyTuRGKZGs5JGEvRu0WnkC6lB4Rlj3QJ21oItkwK2jkebKUEGmGQktaoc4IAeckWSl/z9fV9bEEiLTrXvUBtjCF6U+j2hYUhBbTSZJHjSN7bCgcnKLkEAO0FMqkxLJfQNDXq1vCwsIBmFLmpG2SKvW5bi7qm2UjBth9KSVJg5rkfKgAVyryAsS3mR3OoPEORDzAajrG7u4/9vSMqYhuDPB/g+PENNG2N1rRoTY2qqnAwOcT+5ACTeg/GGXjhMRwNkTH1ophVJBXvgVwqaKqe4I1D4yo6DpcRwugVFDws6OGHFyizEU6dPIOTJ08h0znqqmUfLVp01hpsb29xF5TO11rDVjQ5irJAVmSdVDlnet1GmnqudVVF5wKLJMn1PNOaPBC+m9/1ILVSj6TQ7XXjQkEUUKhuhiF9bzi2VFUNLOrhEp/VkEy3bUvJtZKxK5l2diPawwUl/T499JlQCd06fFbg+DsuFj3OnD6Dn/zkJxiNRpwMagqDXAC/++47ePPNN1HXNbwn2fIs04AzPeQ6rP94OdDvomLhWgjRzTt31xGIu24C34caUvTeFzYMlqKPHfUOdCBErF9oeC+4U5aqTCdPebSjQe+zBKOe3TEnQfeRubAO4Y8f7QOgQsVqsGvhKxSLYCH6XVOBx2yMghLh+bztl8beIy8K1gMgRDxOrQgCLJz3mM3nGI9YNAosSoaO0ix6c64LiOeCv3P6/SH5fGyiEW6iX/xx37sWi8/WwvpJ78kjHx9tCbpZnMcVz+H9IvnstCvfATLUHfEusD5897uJ5/PicYWPimrbzAhJcGamKove/8Il9dxpDTOklmf1IChJVVr3yNHpK4JzLrFO4WPJshxFUcAYUsZ23qMo8g6cS+5diE9SaSido6nnkRbatgbjpWUc3ziOW3e3MZlMsLl5EtYZeEiMx8uYHE2wfmwFw+EQzhhYZ6nwtAJ5nqGqayqyuVUmhAC0Jn9FohYQ+wgOilXyd3Z3ISExnc5ZvbWFlAJFUQLeo2lqQHjUVUU+ms5jdzqH9x6T/SldCEejOd5Rp0MqFZ8ZmtfVfL8lfOuwsrqKyeQo3m/Hnp5KSRRKoa5beG+RZxnKPIcwHtayIr5UcfbdOocTJ07g8PCIxLE4np3Y2MCde3c5fgfWEb20zrFxYhNvvPkmvvWtF3D58qVIIzxxYgOf3/gteyka7O4e4O23/oSf/Oj7aOsW/RS2W9+hk9NL7BlAuXv7Nt7/07v4zquvQkvANi3R+YyF1AJPPfscbl67hi+uXYMCIDXFLcWsFxcZDz6JBcEnOTYnFxpuPtKV3YIfNQKbIY6s0M+Jrcb6CUg7YV3cCtTXJBR3+31a1CX/HovN+KbQ0UpiHAIulcZosRAJk89IwE2RfoFI3hk6mTwilX6XiAfXXa/w2YGBoHUQ2PTQuYodaNO2aJ3HqdOncXR0hIPDg94xLjJmBLOthPSxcRJ+rrSC9AKZVnj6qUu4cP4M5lWDw8NDnMmJCTIsBVZGQNUItK2AsRmMFeQs4Sj3dd4SpdW0/0ynFT1bwq9ud///8urvMY/ftxggtRambTGfzVjdXMb8gcaeEMGXwWDAQEInyBjzvCR/6+K9o4EEr/Dg/j38x7/9O1x64ip+8IMf4MTGBrKMYof3Cs8//zKevPQU3vjdb/H+e++hZvBJsMWc4Fn3kEMGgSkX2EFAHEEQC8Cs911DIe7JrB0T3FHgg/971xTx3sO2LeX7TFm2lizrHIubUUNKwBpPtkWJx3QU9UOwxwPr3zhWWQ4iarSnqzB+ljw/ju2HgptEaDpEsJfP0S0wPdLxP8uCjVorLC+X+Mazz+D8+XO4eeNLfHb9C3x25Qpu3riBM2fP4MLFi3j2mVOYznax9fABdna24A0Bc8qTlZKzFkprwFLzIcs1FFRcYpZZv4GhJVh00vGYgjHBqxdx3/nnGXL919cubJ1lDy1JRu/Oefb8Cyi7pbkDYUh23xMlbTAYwMPCuJaVVh3qpmbJdsVqljp6QWZaQMNDZgW3qCWE8zDWoPVkK2ScJUNqTy4LENzNNQ2UKsgnUGkM9BCy1CjyAdbXNzEeLQFekKVCPYVvDCazQ1jjcTg9ZCpzi6ado3UGR/UhWtfGzqNxdL6lLjFeWoKWCjanglDpDPPZDJIVZ+GAxtvY0fO8cLXSWF1dwYULl3Ds2AaMtahmVXy4ZrMaxnYWK3RzTewe5TmbFyvFQqdd0LO2QzTSTmEsOjzbYDgP63yiqgaWVpdxVtWyF1xndN4hSGmXir8tcv49FyaBCiwkKXt6DwglSIJcyDg6RMWFY4VCzbOAtOi1luzN1nVeKfL4SHOD4Dkm3sNlfHZ8nCdtGwOpsjhQL/n4jx8/jp/87C9xbOM46pYQOEiy/hFa4srVK/j9m79H3cwhBdkT5FqzpUSYU0wSEbAgQCxCWYo+WKBEqqkPlV5SMIn+pi5I8RaMaoeZVxkLoT5FLE2YRAIQhE5+6LSBEeO0MHlc8fNIcesldxrQK/BCFyLWor0iGpzOuO7eoaMGxkQneBhHgKRPy0MvwaENgkYASPFUqTCjyBrcbQ3wGgqzWSQcRQqkSuiksA9dOv4rC7n45DwQnmCRdLH5qITwyUkDwtuEKS2JxcC/FzsVIadcKGBTqnq4vuks7uJLiCDEIhZ+LwVbknu8mHwyoAUGvOg57pKtsGH2AZi+n+3jGBxSdv8ufUC+uwLexVzcc5dvgaVhHSnbSh/VJAV3c1WWk0ehC/7AHRAj2BcV6XGhL0q1vLyK27dvoygKDAYFlpZyCG/gvOxmz0laBsIB9+9v4dMr1+CswSDPUJY58jyDMxPkKgecx9bWDi5cuAStFQANlRWoZ3OyLfIO49EATz15GbdufhFF2eDoPFsuKJ11yFQG23JSpjJIRZ252axCMRrCtKT674VAVc2hNc13rIyXUBQ52raF1qSMb1sDZy3atsV0OsPh3gR5nkELidq05B7QGmSlws7+AWxr0TRHyHMCqYflAFVbQzcZ0/cdd3RbKBWQdgXniTGhJXD8+Bo2T53Gp59cQeM85rWlNc9zqZ9c/QwHB4e4fPESlMiQDySefupJ3Ll7h2n+Ao6fbS+APCtw9epVTGcVnAf2DvZxbGUZeV7i9u17mM8b6HyAupnDNg2uXv0IL77wDJaXBzAgqp2zoXnILCHLwkjCRY16smalZPXKp5/gzLlzOHPuLKQW8MaSl6Y10EWBH/7lX2Fvbxf7OzuUuMWRGWbMWNcxLCB4Xw0uAsmMpOhAZrD1CD034fxFF18CZdqHApJUUwMDIj7bPl3vovu9OM4RALTu98AFcbeB8Ey96p5IwR7FXQt3MckMGcJisevjuYb8IxnD7eIJKF/yogOjRLT76TQPet9pQzdMwEMhK0oqZOeWhESlZ5aZx737t+Gcx9raGo6OJlEwbRG89Gko55GJWPBI+h6iWnoMhjnyXGJplOHccAQIgSeeOIe/VN/D7u4Odnf3cDiZ4vDwgDyVRQnblmjqGtOjKWbMDEsvRQqXhnENB8ust378//opfvhksfD3x736eyI4ixKgWfRQAxAYxwVIa3jvoNxm4/gxjoPhA7hBsrChh+sa2EeehR3nM4tPP/oAd27fxCvf+Q5e+c73kOcFdQONRzEY4yc/+zmefe55/P73/4Qbn38BY1qww2T0pI86I1nGzABW308SlR7bz/veNRXeJ/tGWPv0HSo6jCDmN963aI0E+xTF2WLKyU285tL2u8SeeV2Bjhx/7rrrQ7kNde5dGLNImY3CP5LDxT1RIkaM0OXxnLNYHxxaZMz/CaSj5try0hKe/+Y3cOnCBdy4cROfXb+O21/ewoMHWzh5chMXL5/GU5e/iZXRPdy6dQuz2RxFmQNCQGcqji8Ss5DYnCDXOyjlCTiEpSJeKhJI9KQroqRClmUwbVfIB8G4r/P6+h1bnvGEJSQhyzS0JiEKD0BkioQyAkUBMv6O9R7Wk2dkU1U04+M8oDMUOo8XXgpJanbGwHuihiilmc5B1XzG87l1TYqMktEwqbqgr7MMK+MVbBw/gUE5hJI54BQZTwMYDMfIigGqpsV8XmE6m8EJBy9Z7Ux4NK6hOVpulztB9DDF9DSlFEnOK8JbnAeWxmNY08IZStZMS6ISWmsIKTEej7B54iROntzEaLSEumnJ7JipgtZ2izkorVlGKpRSyIsSirvgwjtkOouoUZpoKiVjEYM06ZTJGExSbNGm0wU/j45OpQLC7ReT1wQd5vNHCAFsuQHLibYm9FzqBCVLiwZPanZBKAcJjcF7UCIsRa948mwXJEKHYxEF5uto2BoqFLXhmMfjMX784x/jxIlNGMe0G0/q1TrLcOPmF/j7v/8VpkdHkVZFM3r9RL7XuA592nicPqH99FHCxaIgdF97L06QPM8gCOHj+7zvvtv3aFvdjFe4FqFASY87XqnHomAL6G1vA+7IxYuI5yOfK2Rv3XRvCQlP0qVc6NrFc+81FvgIpETbNIygJl1AITBeXsbO9nbv/fGMhIB1FmVZ9jqaSTXe/dbidUnuT7L9dLepB/gg+lsimf/sAKZAQUrnkH3yyT5uvI/thPe+tfunHuVx4SUSstnjX6L3X9+bZ+l3a7vL4x+JPeBCwUVVbUp7AjUs/E6IHy7ZaMM1MpZUhqnAk3A8huHRQjMw5qyD0nJxpca5x3hZHnN5y7KImhAry8vItEJtUmGSDgSYz+e4fu06Mi2xNChh2hqjpSWMx2MISZ3U2XQKawNtl5KZal6hbQ1W11YA73F84zi2Ht4j5ogT5BVoTOy8mbYFMor3UijkRUYiNSwGZ1q6Jsa0qJsauaK54aauMTxxAlU1x2RyiKWlJSwtLUE4j9HyMqqqwvRohkFZYHVtFU1TxTWf5xlRn6WAaUjEI3Ruq6bunnvvYA3tecYYSJlBK41ykENnArv7BygKhVdf/RbK4RDOznH181uY1S2p9PJ+MTk8xBfzOVZXVgB4PPvsMzh2bC2ZWXcxtsEDe/sH+OTTT3l+T+LWzVtY/sazGBQKH37wZ9RVBaVzSAGcv3wJL3zzm/jjO+/ixz/+AYxzcLWBlhmBJD2P5S7PFgi2GTTn3dQ1/vj2H7B27N9gOBhCOh+1K7xtsbQ0wo9/9nP8T//P/3sy/tHtaZJHcOJP+BkIia7nArGbBQ+gsogshhi/474clnDowgARzwqAVOhoCBn37vBZAo+GizRG9MPFowwjH68V71NcfPZDZMgfHgPAhfxhYd977CuhGAX3g6/iZqQ6BULQXF7btuSRWeS8Z3b5jjU22gClXdredYj6HuwPiqBFoYhZlvgWBypryNVeWFvHatm5hjhv0DYt2tbCWY+mbtG29NxXVYXWkN/sYyvbR//4SPh/XCx/zLYVf6HHvP7nXgkI3YHMXExxx9LzPHGacimtcP78eaytrGKkNQ6ZJSfSfXXhfPrFWJcH7+5u4ze/+TWuf/4FXn3tNTz55JMQkKirGs5anDx1Fn/zN/8rfPbZFfz+97/D9tYDen7QFbjOObRtAykVj9YIKIU4v/+4Ua3+Rej2KgC9/CyCzr7bF531cXY+rKvQbJLJvHraKfWCrTi9h85kdCpJm0jwoTHmALbReyRVjLEk/eFis0L23B/i5yNoAiDmJ+B1LYTA6uoyXnzxeVy8fB637tzGjRu38MXn13Dvzj2cOXMWF8+fxyvfPofJdBf379/DZLoP72m/8PCwTrBdK3slS0BnCq2VsN7QfC1/X6YVx1EWYmTGFukNLHhU/zOvr13Y0iC2hGm4olaCZtQcYNGibk1UwrSCVLcUK03CsbKikhB5BjTcgmdTewGJMi8hKiqGnCNrG5oVMsS3Z9VAslcRmM2maFuaC8qUhnI8iCyBssywsrSC1fExSFHAO0G0LaFpPtZ5TKsWB4eHmM6msNagaitYa1CbChAG1lsSz2dRptAMFQOi5rXWcMLBtgkuzP5SS11Dk/w1c9rLssS5k+dw7sxZAEBV1eT3KOkGeu/R1JYTJA3rHWo22i6LAoPhkIVZJDLRoS/9Qqlvl+K9gJfJJhoVelPqYnjIEbt6mmd5nQDNJHnEDTbtvHSJdzevE1L/KOzkEmpjkgwjdG/YksEDMMZHMQugs0Ts+7yxb6j3nRBSUuylGx3ZPQFFXlLCzBTE5eVl/PjHP8aZM2dgHanSSZXRLLhSePjwIf7hl3+Pna0tAAZKkgpnAAxiIvbYJ6XrkobrvLgxL27s8ZiTJJyuV6CpSKZWShZ/6Bcf8d6ysiGJ+IqYRKUAx2IREo86UTVOC5ZwnkF9PLTaI1VTymipEovEeGFCwioX9krfda644ATPX6XdQZEoaAlGQQUr79UMUkHQfKnzQDEYYP/woKcdGjMbGahTFYoiW1CYDDWmD/2XniBVSG48yM4lCiTE2WTHCDsrKcZTYICGqbiWBnUiRT4kSAjqjIzsikW6VnKPQ94XQAzhg4F8ugl3zxwSVDycbQpISZlxgWl6SZaQi0DMIgskvM8jWG+FBMB5QDoSX/Pp/fPdswobWADJ/Q9UL6YJx0yTKVVBkEkpyVYiQa67m0wKBXfydNH5WQ/hBcbjZTx8+ACz2QxN22I4HGK4NEA7aeA9s2A4snimth1bXcWlC2ehhINtG8yrGpOjKe4/2MH42AkYYzCfzzEoc2RKw7TEiNA5jdO0dU22lkISU4aGKiMaraSAsQ55Qc+ctRbOazTzBkVZwjYOMhdoaqLerYyXUZYZTFtDa4379++jaWqU5QDHj5/A7s4OYByG5Qh7O/s4d/YcFIDpfIam9XCwUFKzEAtdwkxrZFqxh7sFnEeeZTBNC601TEuChaPRCFmmsLGxgcPJIc6ePQdrSXhxdf0YLj/xBJ64cBn/p//L/xWzeQsnMjgoFlR0qKsGuzs7GAxLPPHERbRtYHKRsEroQkqlcO3655jPau5wCzz1xJMYFEN8efM2bt2+A6lKzI5mKFQOrXK89fa7aJoGZ8+fwzeevYzJ3kMcW16G0gJKkvq0iOrx3by5XOhWbj+4jz+9/RZe+9FPqLjxxGCCo3GjU2fO4pVXf4C3f/9bqFzFxF8FGpIIWgZUNFuQCbBDsFxD9G4OAF8Ka0XQOGhjcPD0kS0jYuwIfw8xIXZIkMTzJNSngPTisxziYPpvcW+NwoWh7Eti/QJ769GXX4hJvou30dYriVXJXhVQsVSfI8SzGB2SHCjLyO2gbgzyrGQdDw8vHGbTGTwE1laPYTKZwJiWmAihe/eYQ5dSxwKYaKVJ/FQSUjhMnMNe0+D0YIjTg+Fjzr+7Cl1U6hdKeOTf/oUP+Ipf7ACHxWr5/48vXpe3Z9PuKOIM+IKwZHBEiIAW++dKCdtUuPH5Ndy/dxcvfutFvPr9V7G6dhxN06I1Fkpl+OYL38KFS5fw4ft/wltvvYn5bMJrR0Z9DNJNYX9vreAkoGUQmurvhymwkzYKHgVjOhue8KsyfY7DOP2CiGL87VC4RitKFmFiypWXLgJklI+ER83F6wRBavd0VTtF5cV5hwAwB1AmeO+CBZ66fIfPW4LZPmwFx4/oaGmIZ555Ck9cegJbD7fx6aef4fPrn+HOnbs4dWYTZ86dxKUnn0YzP8K9+3dwdHREhb0HbGvhYLkB6diLOIP3lBcZZ9Fa+p8QApmghpVncTDnXOzGf53X136nUhrGWBhDHQ/P8uaSPTKVkjHAWEeS20WWwzY1vHNEo7ISSigUhaZh89airivAAGUxID8jayEygdZb9nVCPDFEgIQ6fN7TBiyER16QSrIOA91ZQcmDtTCGhtDhPYz1ODicYH+yj6qeozIVZvMpjmYTtKaBdQ55rsjKRXbdKc/qXI3iooE40BGlCcm1kpI9Ai28cSiyHMdXj+H8+QtYXlpGwxSxMGs7n83Rti0HeLqWxlq2MXEYDAZYXl6m68oFcCw8epvco93AgOiGgiNaooCG7dPi1Pn4rPAZM33SOlYkVfGz46bL3YRUlCbSIkGgh4CMSqmhE+YDOu86qk/odgYlYyTFeJjZ7bo6/WLRJ4JD4UEOaybPCvZEJKbBoBzixz/+CS5ffpJSGdeh3FIpHBwc4Fe/+hVu374dbYiKTEf0Ku0Gp8V+FxzD8YY0oNtbHi1UOOBBPGb/Ed01DQkLvzcURSmqGMEDkYAC6He6Q6IgRSJq4tPj62avuusr0AV8pu2JfpISr0eCDnev7mgjatm7V2mDNlHQTTsa6AquuOY8JcDCB99Yh9HSCLs7u1HUK+yfYd0ZY7r76B/33LD/r1sULunWoejZHXWFqU9miCkJ848KvIREMQJPXdcg/r/ovg+xoOyONU3IkdCpUrCpK3z76yl8Xvf56f8QCcmpiFzY1DtRNBef1rAg0m6TED0SYjz/2MAPx8fXj2JSKjLWqe6D95KwD2itoKREnueo2vkC+iwiRTLMm/cKeCEBpWleX0hkmURZlpg1LVaXl7G//wAQWa9nHp7fIi8wGg4gYCEHBcYrKzixKTEYjbE3maKZN5jOpji+fgwCEtOjKQaDkkZyZI6H+w9wsH9AzB1e11lGuhHB/3RQlijyHM55NL5FXc1jgpcpIr+VBfm5ZxnZ4K2tjFGWJe7cvYMiKzAejrCztQ1nLYosx/bWFpqmwXw2h21rzKs5HFsjNW0T1Sa9c1DMTFKZgh5oNE0TmUlKKihl0DQNhsMh2rbFfE4iWFtbuwAUhsMCRV7ixhdfomkp+GRZBlUOYayAaQ2sbSC8x61bt/DEk5exvLyM7e1tvs5BwZosuZwHbt2+zUWtg1Ya29s7yHSGDz/8EMPhEEoXyIuSfWctjCXg8o9vv4MnLl2CUkMcHB5hbXUErRTvY5TU+WQ9ewEEuVTW4sO1q1dw7txFnL90GUJaphs6eEP0+Be+/R3cu3Mbt29/gVwrbrB2woS05lUcXwAXstb5aKdGwHenhJ+Gza5OTOnHi4BNFycEz6S7sJOGUQYsPguInSYfnh3uJEfaKUJ93iky+66+Tn7eeVyHkjct13oMnPTYH7MfpufdMV4kJ9Z9a7Quv3kUIA4FjIBAU9coizyp1im1ODw8QNu2KPKC59K7gsAnz376ueGwo2c53xUpJSbW4P/85ecoWTU3zgEnL89U03DH6BxpFjH8PRTP3QXndRSqmph3BAAWEQgTrF0RPL+dIYqnDr6uYbQkucgx4nokx8w2MWneFRksYfSFzzEIZCb5hc5yeJHDQ+CQ89UY/4WK90gs7HEkdNzF6/DdHg7z+RTvvP0Wrn32GV77wY/w/DdfgM4ychVxAoPBEl597XWcPn0Wv/+n3+DmzZvMVPDR5xaeZq4pJ6QvVTwuGe5t2Ed6Gh+pXVd8ZtgOS7heHhrTuPD7rj/HizCu13PzQKQVdxojFAdVNw/A4wDEhAr318PDKfaGRsqgTPfFbvlTTtR9ZtTACI1KvlfWh+I3PHcmrj8lFXShcfbsKZw8eQK3bt3GR59cxY3PP8eDB/exsXECp0+exMWLT2M6m+D+vXvY3dsOFxjCiziCKpQAHAOpgthRAGkWDIuCrS/JSip1Wvg6r/8M8SiBqiJRFu+BAQiZst5Se18rZHlOBZmlmYCmqQh9tw6m9vDCIi9yFFmOTAHT5pDUkEWLWeXhLVkB6UJCF2VMRK0DKcp5gyAvrTINKQDlBHKd49jKGiEDzkMKDeEVUUAcCTYJIVHVDfb2DjGbHsEKA4cGVXuAWX0Eiwa6kEDTQEoSZVKe0NhhWaDMMxwcHMIZ1rIzktjxrEqWMbKXyxw215EnfnLzNM6euYjxeBl1XaNuGsALtK2FbanoblsgyxSctLCu5c6lxMrKMtscJQhPKGxdGuAXDN1DkPb9BDV2P3hQvKMTOp6R7X5f8txPVzyj+/7YyesepAjCOXRDhMGDU6FTaUzWE21agmdrXM8UPr47qKYG/6sIFHc+xoo3g9DBNMaQqBkLkAmmNmit8dprr+Ppp5+DZ2q58xJaaUiVYTab4R/+/u9x7eoVwBlSUVWSPMsCrTigZSnimByz55lh8hIMc1G+91A+sqGHFl4ie8wGBwBTfqiT1c1apDTkcN7dTC3CVsaIKPucChfLs+jfFixTRJ8mhyTB6aDgLpmJRW3oXiebf7/A5Xm2iCQiduSFIKVc8mTt5kZ6xWLwkA1z2M7DtYbEWyR3wASQlyVm8zmMNdzk73xpw942m82wOl6GSFQv/WMEPIToOrZhvTsu7F1PmU/GIq/rnoSNrz8XlnZP4ubugnS/5C5P2IgWyivfL9LSLipiQS4ipchHwGVxPjddd6EQbJPlnM4W+4QRoLr7jSQBCfGWRfxC0hWLV9FPqMP6ERGgIlEQ71heltdo07ZMYXJ90QhWmxwUJaqjGS1v1c04KpVRZ5YWACeFiPNDcQ0Kgd29XaysrsI7hyLLaG6eFbdFSNj4Wu8cHOBy8E32FlIRI+nS5XPI7jzA3tEtTGYTcprka7m7s4czJzZRlBkKPcDKGGhmc1g3gTMtjDUo8pIpjZo8GQWQ5QpSALNpi9FwSPqYpoGWJY1slBmKXEFLByks6uoIWnqUeQnbNvDw0Ip8PuE9VsdLaOs5TNPSqI9SUIXG4WyC8XiMYjjC8fV1HOztYmtrC6PRCKPBAL4c4OHWFgAJrcnCL9A8p9M5ZvMa1juUgwGauoZsWhxO5wR+W4O6qdCaGq2RMF4xkEsdiNmsgrUt7t69S/OO8JCixrnTF/HlrVtRGTQoQ4NpjkvjMe7evwupBP7mb/4t7f+5xqya44MPP4VnWtvO9g7ee/cDfP+7r+D+nc+xPF4CMo2mNtBSwEqyp4jdFNBND4rDYcD0nbffwOrxdYzHy/CthfWkoeCNQZbl+OFf/Ay/+P/8O8ymZK0kPACl4HxnY2HJzLRXADhG21zsXrm+5H0EbxFFY8Dq36T4GvZyn/wbAKHilKQNzAi2bROL9m/BbSiyJUKBk6i7y7Rb3Akudsmx42Q/TfC78naxuAsxK863ctH/KNU4FE0uUsgViz7G6PVVYz2BIaMUkAM1KyYrqSAVHVFdtzg6muHUqbOQKkPTNDyaYKB16KonCj0ixF0fR7MCQBjy0amzmCaCU2lBF8rZUBN2s8iOczEXzyfsH9T8D8wwB8sxUMYOfb948Z7muwmg4SRJKB4H6wBXa12o0GmtON/TIADAvr6BPQF466OAn9YaVrD+iuV9NpoLCOjWwcmWcg6puVBHnOMOBTJtNwtcZnTz4I79xKUDhLBwcDjY3cYvf/Ef8PGfP8YPX/8hLl9+AtYS1TXTGucvPoGzZ87i6pVP8ebvf4+HD+9DBYNXLvw9HNnKeAvIjPIOEQQ1+Y7yPiA9sUl99JLmHACxdRP3QpGs/HB+Sno4S8++ZbYgW2FwDkQzuZI7tQ7dsxyezQDIxavE+jtOaDhvYNInrbfNL2q2uFgwh3zIBZVoT8yr8NRKCHhFc7cuMK88sWm98VCaGiZ5luPppy7hzJlNfPTxx7j22ee48sknuHPnPi5dOo9Tpzdx8fIzOH50Grdu3cDh5ADOAmWh4Y2Fgoa0ApmgUU0oByeZxm+JdW2FpXFPJ+DwX0AVOdMZhsMhptM5LSZrYsfAeVIDbltDirSa/LuyTMMaErCwjqjKTVOzab2j4kNn9HDDwDQtqZNKHYsB6yy0zqGURDlYQlPXqJsKSkqUgwF847A0WsHx1eNYXl6G88DB4RFmRzNoWUKqDF4A8/kMu7u7mM0qGNuisRUOpwewooKQFhn7K9kgQCJZlZO7eVprDAdDKJVDCoV5XaGua2S5ig9rpjR1s+GxNBrh+PoGTpw4CSkzHE2OYCxRjauqwfRoRnQ1pZHnAzjvI0quswLjpTEGg7KXpAHsZxkfpq6T87iX6BW3/bmCDvnsCjSBLlsOXd7UrwsLgTSNh6HTFfxxhQBvKLrrdrFym4td2mSWaCGBD8cekn1nbYA1w+HS9/fQNRGL2qIo6LN4tknrDN/97vfwrZdeAriohSAxryzPUTcNfvvb3+Lq1SsR1dRaQyk+Ntd1zuLxLVzvSFmJOUpK+12A5HsbcjqX27/GVKx2fnRhs7TW9Owk0sKZOvuM0EULGs+FAX93QF99ADu6meu0kIibrXQkee/7QlVI1JjBdzpiwcm9BBBnKQPdqLtK4ceMRvMGFKoMn4gckLAaz1YnlDbvHVmWhKRmgT5kTJt03RELxGA9FKl2j1DzOuGV2E1dsMHoMA4fu72UgC4KOoi4JsLz1TXefbz3QqA3F91dx+4qhw5pQIHDdYsd74QqnRxp3Jx9sNgIfw9J92PEzrrvibevW0+iH1ciLXHh2D3PBSIqeYveYQUAISQBwZojPCNhfSulMCgH2A+rzQdwqYtZHSiBWJxTAmkBCRRlifHyCs/Mq57tg5IS3jhClhHYHwaz2RxtO8fSeAgJwe4ADjmDmLPZlPdCSm6zLMO8qpDlxCSaTmcESnkgLwqIhmb0aN5boG3ryKDw1uLC2bOo6xqz+ZxU2D2JEq2vH8Oly5eglUdrKkghsbM7RFO1GJQDGGPISSAL/pICuzu7kJo7O0JBKYXx8hKcs6irOba3HkAJgbW1FSwvL+NwMiEhRCmoi8y2G1JKEo8KHUqQPZCxFq5tASlhjIVUEmdOn8bWzqfwMHCiuxeC2TU3vryFkydPRsX75eUxLj9xCV/cuAGhM0rnHatb83jFeGUJb7/9Byp0lUKea+hcY3llFW++9R4tP/6Vd955B9945mksr6xhOq1ZxFLAWAPpZUz6pOxUxKOXO/9sOj3CB+++g1df/1cEsLctjVBxh2F1dQWvvf4T/O7XvyJxKaViH8pYC+sEhCX6jGcKegTjHM30CkaUhZSdNZgQsWNGj14ACJN42hNYTwqwuPdIBpdYTE3JJE6xCn0SH7puFXXLu85eEqUFdY582LtCAi5DoZ18R3owyUuwdQlC/AvPcS9GdScTu1upym10QuBiNunodmNXgMqIXt/UDbyzkGwxUuQ5jjDFhx+8j6efeQbDYYlbX97C4eQAF86fhdIqKVcQ44Dg2OXCvgSid3rumNJkRbcnR9EkH65teBBcDyBWKonj3VbAwKSnOXXJYwsIsdn3rlRygbkwTq89gX9SCIQxxdDsj39P3h01UsL/JOC1j9ZXApIaOiDwIxTbnvcgmbCSwjrqckuymgqguBAiWQVhK+yUh+M+4RyNxjVz3PjiKu7evYPnn38Rr/+rH2E8XmYWl4PWGZ57/gVcvHgR7/zxLXzw/juo5zUxIwTIdQSAcS3qmvQElFLwUnTkCe6AJhsw7XupIjHv2X2m4uLdYBVkAehMd80Lvobekp+5ddRYQgABOC8TXvS7uN6TeFRwvICA9AyOBIglGR9If7d7LkT0sg0v53ykIvsgMAswKxWxxggWiY61kwJLrxwUeOml53Hq1HH85rdv4uHWDqbTQ9y7dw+Xn7iEjc0NXHziSezsPMTezg41PFuDsiy5ticNgjzLYYVDqUtqjgowo4Hm08Ms+9d5fe3CVsocRZ5DIOMkxnAiZ6GEhuTC0DuSv5ZKIMtLQmOVgMo98kwT+mNbOEZqvbdoLVv4aIvWzdFWElme8/C3QRnybJsh1znaqsZ4aYQLZ89iqRhB62FcXEIqrOsBWkNzk9Z4HB1NMZkcUiIy1JhPDnFU78P6FlICRZbBCwljDHKtyUfRKkARBXc2mWM4HCLPCjih0LQtnHCQuQI4COoyB6yHLnKsjldwfP04lserEFCYT6u4eNrW0UxxWXJUEWgdFWPwHsPBECsrK7SRRroHFxnOQ3FHRkgZ1VZDQi0ZWVksdIOiMpJCqytwkRQX4UEOlzN0OhCT9F73SLCXWCxkeBP2RCfozW36rhiOAFhg2GRfMW3CnTMRk35OcvjL+3QkFp7hohbg+QVHQMv3vvc9vPydV+DZD8uz+IPSpPr51ltv4f3334d3Fkp4SC1ZlZnXVZC0TVCjoEAZjqGjKcU3dEXTYwQ3Fjtv4RU26FDUExgb5lppNtEjdAXRu5/hfkNKOCG5Gwru3qKnppduuvC+12VMQRGZoHxCqF53uZuVFZFqFc99QVTKO/qsbm4s4Jxc9XjHG0gH3tjQNZS0BpumgWGwX3LSp5TE6uoaHjx8yN1aKtvCnfLw0V4F6X0QkdAV71PaIYwzo87FTVf6/pyaj2IiIizZBKjokF6f/p4Iyqw0H6sEIEUnShK6A7GDLnzvvsQEK3xvQGh92m2Pu29yTD7phiwoJifsj5TuHNaVhIjm9r3bx2BbiBVp19gjmLWrSLELuE9AvkVA550g8MR7tMbwvDV1GFseAwnAVZ5nUWQj2MNQ4UoIeewwRWCE1s329g6WV1cAD9R1jfl8jrIcIi9yQtj5WDo9IHouTGvwcGsXdT2HeLiF1bUVHD++DgGgKEpIKXF0dATTtuRVKASyokDd0DxuXpRYW1uHHy9DANjZ3oLWOYajElLS2AR1DBWapoUQ5Ok3HA6gM9KVaJsGg7LAk5cv49z5c9jeuY9vXH4aWmvs7u5CeIkvPv8CTdNAjEmsoywH0JnGYDTC3u4uqnkFneWYz2bIMoGyHMG05ARg+Lmo6jnZ9xQ8e20aQKrOCijScmg2uG1ofEdKhaa2mFc1jDU4msxhjQMUMbWC4AwkIL3AvGowqxsWQRJ48sknMR6PIsAEVnK3jthfQik83NrCrTv3cO7sWRweTaG1wubJDdy7+wD37jzAyvJx8sC1Bk1r8Ie33sZPfvQaZtMD1I0hjQ+ITknYu47Oy2ul6zeSSv7NG59j/fhxfOP5F+C8hTUtKaaaFgIW5y5exjdffBkfvPc2g0uiOwOpKP9xLbtPMVgruiIwBfX4aY3duY4RQ0qlAQjj6BQ2Cy6yRHT35p0pPJz07l5nNoh0dYB3CNoeHaCGHu24E9DxcRSoP0KQgrfdnv/o7KpHAoDFH3ZlWho7Y37i4qqgrmmPodb/QyjYRVDCVQXatkVrOJkGcGJjHevH1iCER6YVTpw4jpMnN2Issz7povLccvjOtCsrGPC2lhgflpMawd11sg0KtzJ07VMxPvaUZ5tCz/lcN68h4m2M/u9hj4i6BYjND5XkbOl9JU/37n7asAkmqVzy9j7biIs+yQmchoTzohP1DEcTNDcCgBk70AG0DmCHjceiAu3Zd2uMyAJJUekD0yasc4t6foT33n0Ld+/ewXe+8108983noFUGw6yQfLiEH/yrn+CZ576Bd996C3/++GMCNyIQT8V12xoYY5HnOfux8ktSlzA8N4swjUgiRXxUF65juC8hPwqWRDEnUswusKEpEopSSjO9BwxMV/xzgSrZfQHc6RVKUoGLrusrmOkopeoBB/EPZOuRNDGCUnrHMOgYXwE8Z1Zd8J0N+YYgcduTJ0/jX73+Ov7T//wmHjx4iNnsNu5vbWHl+Do2NzcwGg5w+uxleNtia/seJtNDwHsSehMCSmSAM1CZhMroOmWK9nwJkfaw/sXXf4bdj2XBI4+iyFjwx9P8jVYRrQEnaEVRkOKj99BaoUAOLSVa37Kirwwxl9ADF4b4CVm38zmcp8/33tGcrLEYlgMsnziFleUVnNg4j0Feom5p/md6NEHbGmS6IKEX4TCr5pjOJmgcqdHVbY26qbkzqnk2l4akRUF0r8nkEMYQR95Yh7Z1mM9JRENmHcIUhG6U1HCGqUJK49z5ixgNRnDWo21a9r7qilSpNDKpYRz58jouWsZLY6yurnaFiktoBpwMIyBKUgSJk14hgrTjxqrKxlrm4bNio+h3aTj1jhvRIs3He0T7n/4GFLosLiI+QhAtXUh0STZTuBx/XqB9hETXJcl3QJdi8FdhQadJP/hzu3O21qE1LYqi6BIIFtt66VvfxksvvwylyVdOCMX+d6Sc984f38Fbb/4Bpm2gWY0100yvRBD86Tq0IXUQ6UVcuO7h2nBIg7M0xxCCfNq9ixtJrxO/+ArWLCL6nIWZq46e1iHLIQDBd4I6MShF5BRRkdMHOxzRX0vhfDso3sVzipOUKRCCYKnc91QDWz+lVzD8jpSKuhUhcUjBEJdQqSzN+AuGmUN3SEmF7YdbsfvRbTZpseqQZ1n/u5E0/EXScU8Rei7sWQcuefZlVGSOv7MwXdrv8KfrIzWiY8/ECFKhVxiTYEkQWks6NmnCwKMWMZFk1D3QgwM1OH0tFsphzXYFalLwhuJTdbNZnp932ROZShkVousi88+9o82XAGn6b7gPXZLt4lq0zsFZAqvCjA0lmKzO6RC7++FaE8NCxoLFs7hUXhQ4eXIzFg3ToyMsLS0RXXdluZfexxXK763qCts7W1gZjyAE8ODuQ9y/swXnWuRFCeGA+dER2rpBNhzCszqn8+S1Ds/qzl5hPF7BfDYlmqXWRBt2Hpubm/DWY39/H2fOncOJjQ2c2NhANZ9jOjnC9tZDZFmGohwAQiLLSjSNo3vsJK5fv46mrjEYDlEWBY6mR9jd28FotARjWmye3ERdN5hNZ1hZWUY9n1NXeV4hz3MopZHnGfI8R13X2NvbYz9Bgh+Wl5dxxOrPxpIvr3fAeGnEf3cwbQVvW+zv7sO1BsujIQ7nLZzhSOWTstEDH374IZ556mmMlsa4dOkiqqrzpQzPQlibbeNw9eon8E4CULDWQylAeIU/vv0u5rMaZV6T77CSeP6F5zE5nOCNN9/GK698C9u7ezi+toyyyJhNFFnpsQMoBSJoHOdqhMBHf34Pm6dPY3V1BVLYCPw466CVxXMvvoSth/dx+8YXZJcU4h3H3/joxRwgzBB6jnsdBhaFmhKEsANEk3ncmH6m+0WyvyQsoEWge3GlL76P8o+g3Jj4u8UYHzIG+rNLCjAOPl23ORap3Z/T+JLGyC42oXt/yG3Y+icUjOBxHZHE2l4cS3rGUsroX00z6uRukGkNKRXqeo480zhx4gTu37tHeW0sEGU31uCDS0afKUX5G+W6wlq2xyLrQydc59kehYICS811cU90+0THumHKOu9fUuoeiB7WaVzDjxGqDC+5IJAV701qVxfziZBZPAasACCcg1D9Yw0MGxUEAxk0Fqw7QWCK68B6QWCFd0QNliAXFL8AroQaP24vYa0Jaoo9vH8bv/i7+7h65Qp++PqPcPL0yWiLBUhsnDiLv/43J3Hu4mW88/bbuHvnNusshPE0UrtumwZOEoNScBNFsoiqSJ+5uNd3IEFoPIW3dWs6rNP0Cnf6NDHfRlhTQOhPSGZVRXAgfqmH6ukqMptNSAjFQ16B+RZz6aQwDyyNRBme4lHXWFh8DiMVufuXNCQAXsAYi6ZpUBYlXnnpJfynX/8nHE2O0LQtptUcWw+2kekca6trOHvmFE6duoALZYb5bIKjySEODnZRtRXl5JWFyBALbYBGYVI7pH/p9fULW2NQzyvycc11IJojZ1n11ra0OOChlQ5j27AgxSvFaljQpEgWuOPeObgW5DWq2QjbEadfeSATCkoo+hzjUOgCy6MVbKxvQskcs7rFvG5QtTUmTYW6bjAoeLHYFq1r4JTFweQQu3t7ZG1gajjfIs81vM+gZE7zI5aK3TIvIEtSQxbQyPMc03lNfrptjbomOnVTk6pmmRcoc7LiWVlZRZ4P0DQUaHSeQTQNyVXrDLnK0LYG1byKKr1SSozHYywtj+Gk5LkHRCqCl0zHS1QRv0pRz7O4TlAqpjlSeqRE6EbJgOg5+Ojn1s1L0oxgv6PjvEvseAR7y3bhDwLRLF1xMiuF6uiYrPILwUiV7IKlColtIrrgkyS+e9a6DTLMujhB1DNrGXVLijIhBF548SW88uqrkHkG4z2cVCT/rjPITOHj99/H73/7W1SzKVNAHA+rs+gGdzo7ASsZu31pIoEEyQ3XTCkVle7kYwV9ODkRXXITCjoRDM2TTcXzfIzjQT6fIGqLBVlE7AUYzFAslIV4v0VPjKgj5IbgzHUv3VvRUX8DmOLdAuou/GOKWsRzj6PXSvWKqI7UFj6HFf6c6LEQjHFQQsF54O7duyiKAssrx7C6uoYPPnsPZZlj9dgKHS/PJ5P/mUWZ53GWJXRZve9msxfp0x1QEHoR3dx6uDdppzPczcCcE9yVoc800e+266ompytCkSgXbHbCmlec2CRUahYUQ+iS+w5FDsVD6FqmSXJ6juHPQZn0K/PfoFgd4aYuuUqx7Ag4xXXYiSUFpDkk/ILFpLSSJPjHdlaBei8VzdQZ0zEknKdZK5XnsA7Qgq0BJFjoqItlXTHAf5Os+A6P4bCAd5ZCkRTkz+js/5e2/2y27LiyBMHl4pxz1dMvdCCAgCRAAhQgQZAEdWZWdVZ2VU51Wo/ZfO35a2PdY9Y902NdnUkmySSZRUIQJKE1EIHQ4sXTVxzhYj743u5+bgSrUB/60sCI9+K9e8/x477F2muvDQ8DG0cQyTSPW2k8++wzmFRFENKI517g0qUraA5nEEJiMZ9jZTKBcUFc0EKgqApYEcb6LOY1nA3jLAaDAZpmgZmdB8DGeSgoGOtx4/otHBwcY3fvCLv3djGsKhwe7GN7ews7u/sQusCtW7dw994eJpMVXL9+DZPREKfPnsPe3i6arsViMUPTNJhNj2Gti4mq1hpFoVFUJdbX17GlFKqqwu07O4CSsABGKxMYZ2HtQZg3aIMaNJyFMUTfkxrj8RjPPvssbt++hZ2du/C2Q1UOsTIpMG87bG2t442330PbeVhoCp4QRut5YDpd4PLlK3js0cewurqKur5LCWYKrIUMStjXrt/Enduh51dKiclkgsGgwq2bt3H96k0IH2b7DodDVMMBLl25hOPjGa5eF7j4xKPY3ljFvd19nDyxgaos0jzwqNxOasZs972l3l+gred488+v4/s//CkKVaI2dTgPzgPoUOgC33rxB9i5dQdN3RC4QsAO9XgzpZrto3cuVkLY/kikto5UwWKf0h+/BVJazmdA99hABCK4B/idByW6fTCL2SN5YpMp6qMfdKbpp5x9pKQtH3OSTFfyz3EsWvbqJdqemgGDAQi22EtAZQBqL0kOL4UUwPNLax1ZH0qp0EZBdkAIgZ07twHvMBgOUDdNXAt+W0u9zSKLXUD2x3O/ogrCYM4xREH6YAyOU1znfWxMDZ/DfbVkxaOMlQhrKIXu3Z+XTA2nZ8Cc4phsZKraPjHr2K/LqFvRX3eRVfk4nsnBeN4rQaE+e56s85K1woBZbPETOckKoo9BQ4iE/QSgKBl24FnkMibG/XnlfMWh6GBNg0uffogb16/j6S8/h5de+i7G43HoKYaH1gW+/JWv4ZFHHsPrr7+KD959B7Pj45jAKp7fKgBruwh8CJrhzvoMqSUsFQe4YJQy4HiieqwEZg/lhYW8UuKch7E2jFBlgNpTyz9dpxCA1LxH+tX2XhJLSEqK64kiHxNvnwEpAtZxMSA/l6ApG5kIFld4fXhe1tuYoyhVQCkPiAZKtnj84lncu7eLvYNpGJVqahjTYu9ug9nRAW5eX8GpUydw/uwpPHT2EZzcPoGbN66H50KxTOs61K2BLgroQgc69xd8ffHElgJ1KcNQcmMspBAodJjl52qHxjYoyhJSSizqGkrTpqbKV9O2RPctUBVFGGtjLIx06LwDtIQodHAY3qOSJaqyglQaq6MxRqMVrK2sYW11C8PhJCg+1jUO5zPM2wXqdoH9vX2srq7SwN8S3locHh1i7/Ae6rYOyYbvYG0HVVRo23APtuuCQmUnCN+SKAoNZ8PMwa4LSsVe2KgYVqkSK8PQS7u9dQplWWEwHMFRv7GUARUcVAPYwqNuOsznc9R1EypPQmA4HGJlZYV6cxHlsUM/hMzhophYelbYW6qqIgu2mUOfUyZishEph4gJjkxWkpyFpOQy9dwJEJU1KiinfhtNvQpShgpaOnBIBzVHax0rzKXKU7hkH+9DELW9V+mi9+g6F2klne2giCaX02mffvppvPDtb2M4GlHVPCD8itRRL332Gf7zv/4Ws9k0GuaIDNK6uyWUSCCzrBw4Z8nsclL3l9DyHKkLLOcs4SG0NyYvXB2OCC0h0rE3DA/8rEhPjr7twaN++L44TPIEMEgpqR86JZ69xIwTnkxKHv7+62CkMNpyl5yA9w5RZ5d/TSRE0FFw1NHcT6kUvLUYjUYoigLj0QD79+7ixInNbP37SGvbtlgZjagSkfW30ucvFd6zpN/Ha4goJZJ4BEQSzWJVdMf0c+ejI+SzJoi6xe8riOLM57H3PNJW6PXFLz/nXtUj66VZfsL3gyr93/VLz215xh/bDQ4kBdHupezT3hjFj8CVzMQ5ltZXZHsizv8k4S0pBLyUJC4kCCiSMN4Ge01MFK1l78zl4FK0dS6vrIf7XVtbw2g0grUOw0FFlSceP8Y9mOHejAM8JKrRENa2RFcM6P4zX34Gb7/3AQ6nCxweHuLUqVOkjG9wPD3G1uYEBVGM9/b3sLW1ieFwCGNbOGepeihhuw6dbWG6FtYETYrj4yNY06IZlPDe4+DwHjozw+7ebSwWMwChz7NtW2xvrmE6neKhh0Jv7qCssL29jf2Dfeze28VsNgcouC+KCrPZDHt7+zh37jwODo5QlgPU9QJaBwXjnbu7aZISbURrw8x1ZwzKIrQEXb9yFUICmxubWNQ1ulmHyXgMLxbYevQkbty8hRu39lP1h4SAPM2Onc2mePzxx5PiP22S4WCARbOIQnw3b92M7TpKKRwdHcG5Md57912sro7QdhbD4QhlVQXw2rYAPNrO4D//7hX83//H/wHT2SEOj46xubEK7wX1VrtYmQlgLlN3KbBzHs4L3Lh2FR9/8D6eefarENICPvwX/LjE2sYGnv/O9/Drf/45lE0K6RHglY6S2aySI5LP8D4lQv3+1/5Z5/MTnfDS2DIGdfIEh3WQHmw30rnI7UGihfpYRVq2PzyODt4RCNoXmeubnP7kgNy+8s+K3oWnz+Q6Z7RN+UQIwUuxBDIyMLtk16RUKAqJul6g0AVUkScSAVgrihJ13dBYwaglxh4jtVRlzDPJishCRC0HYy0JftGoOWcjS4rgU2QumtYWPXvKMF0/ZxKxItenX3t4SbGiTcl0Ho/cX6GPn9yLJ9NHPSBmkDlrB0vvT/47guNpyoLk3logJqyCGH69ve5p7inPFY8gB39e8t8i5octmvoQb73xCq5d+QTPP/8Cnv7ylzFaGcM7h84aTFZX8cMf/wTPPvcsXn/tFXzy0UfomiausBQSUgX7F1peSkilyUYkUJn3o3P9+JvPrM9j5ljV9si5tAH3DusvJeCNh21bGNOhLEooHVpB2q6hgkTwqYWTgFY0Q5hACpZyf0ARKH4Wrx3SPcRnFt9LZFMfwt8tsaf4aymSKJVk8I72zoCU/Tc31nHx4sNwzuHg4BCHR0c42D/AfLqAtUCz6DBdLHD10ue4e/MOTp48jXPnt/HoY19CW9fY27+He3t3cXwwRzkoITTgjIcu/y9IbOHDYPugdCZgTFA906QspqSG1iW0KiCVQGc6tF0XpaQ50CyLAhAKi86gpRE81nk4FZAaQYHmoBxgXFSoygpKFRiPV7B98jSGwzG8l5jNF3DO4Hg2xf7xPqb1DHVb4+D4ADNzHOa9qhJaSMymU0hYKOnibKuAOBWQUqBuFpCEonVtcHKNNxgMqoCkdB6j0Riz+QyQgLEO42qI9dEKzp89j62tE9BFBWtCX1zTtPDe4/hwitFgiGo4guks5vNFqPaSEt54PMbGxgbN1fPxUETBJHgokebkWeqNcZn8eq6xlxt3Z1mzjQx2nPXq09bOEoh8JmqorrmoDoos+UyGUcTDpgn9DLRJGd+PaSXcVJucXqbeG2nRyUkLEjpATCCyGamcgskg1tB1HYpSxxmRfL+PPvoofviDH2I4GaOznsSfJCXfCjeuXccv//mfsbd7LzCBRKAxKkIiuWLtbF+YKb8eT3t32RHkfz4oGeGvExWZkXlkTf5pzWNQQsiwciHwFpES1U9C4mciII0u//cMxU7XnVBRn1GBPSn3SqpkR8PNj0FE9xwVLqlEHPdvoPEmWpokYy48ywgj0Jvz+Yo+7+kN19NZE6qvLnjslZVJmBFpDYQSgQLoAwMh41mF6p+UcXZlCpBYiMD0gpR8TTjQYuqYyM5HXLXsOQuEcWYcpAqRRL8QKfcyjoSIYIpXdB1Z/3aPWtffN/GMQMLz1pQ5Tdj1r+sBozHAAhRRnOn+oLcf0LBoVnz4lAQk4EUI7kVDhgj7CBaxwjWydeT9HTKJsFdCjy0BZjoIJznPwkcew+E4AiUQqYLieexXFiz2gkQ6K+vrG9jb3SPmjUOhNAql7pvVHQriwR9cv3kbK+OL6ExL1RELoTSqSuPEiS0cTK9hsQjJY9d1UErCGhd6ZpXAeDzG+uY66rbGdD4N+9XZ0Lahgr0utYaAxXw+Q0H0q5XJGKdPnICSGm3bYWVlDAiP8eQ8pBS4dfMmHjp3Fisrq+i6DoeHh0QnbtF1FiuTVTR1h4ODKZRUsCKowha6xGKxwCcff5YlMRLWTlGVFTXhhWp2SEQtJI0FmqyuY2V1FXfu3MatGzcB4VFWJWzXYVQNYK2DaRq0xQLbWxu4c+8IXevCeAfEdv8YZN26dRPen0LdNOC2laeefBxvv/sOzX916Iyh0XNh/6yvr2N/fw937t7FX//1j1EUEmWpIbzErVt38O4HnwViu1C4efsuPvr4Mzzx2EPYu3sdW9vr0IUKNQzPmi06AXBIYFaodoT5tR+8/Q62T5zGydOn4QiAALNcvMPjTz2N27dv4f2330QhVVKC5bOuJJT3cE4QFTr83bk0K5Y4LfclZHnlLLcF/WQ3/S2zYv9FdteDAdj87Avksgz5S8RkLgCbojfmRmR+Kc3yzEHg+5P3pSTNIz5vtsVZB0cvscrvCULAcHtCGhqeVkQIlOUAi8UCxjrS5CC/5BzqeQ1vPSbjCWasvk6q9RzChD95lExyVjKza0pqOOugoKKNMtYugQ/p/qL2BPk8zwq5NBs9MmVyKnfOwhH5w2fwIdw1t6At7xWmwC4Dn8utTfn6sm1+QMpNbyqiD5QQccybZyo3F0Sy8UpJKC0TA8vAhH4RgcGXxLgIAlYOcB0Odm/jt7/+OT755BM8/+0X8Njjj0IVof/WeWDj5Cn81d/+HZ7+ylfwyn/+V9y8do0qlMTqIZGirmlhpSF9AY+i6LfdBBV1pvGmlUhiz3l7EQO+Mu5tZL8nlYTSJWzA7lAUzHp0aJrQH+5EyLOclFS9FNlIzQTkhr7gDOBlQN75tGUzcInFvhi250Ivx4Fx7BCzXOiGtFSB1ZqPRFIKDgqKRIHXNyRW11bx0EMX0LUGpgt7xliHW7fu4MrV67h+7Spu3bmFU6dP48KFszh19gImq2uQVy7jeHoMU7uQU+o0BvC/9vrCiW1VFmjaDkpIFLqIKFnbGuhCwZrgANuuQyXLQEcVmuYQsgMJtF5rHQypa1ljYEl9ywkPZwyk85gMBxgOhpiMV7C6soHheIxqOIZzAsZ6dMai7Ros2jlaM0Nr5tg/2MeirqHLFWh4NHaKad0SEhfm57aLNtCctQ4IkhGwTVAwZIROUvDpVDg249EqRpMJtCxwNN2HkhLrKxu4cO4CTmyegVISs/mchExCkCilxHA0DnNUnUdLtGPe3GtrY6yuroaqMIsR8GLTxlGCee8k1c69Gz5uzYg0ulgF434GZEZzKWDLkpo4yyrTBtesoMhKlqSUiCwI5r5gcO8bUXTY6PmsPzjaWbZcPlpfOOv66rGZboLI1FD7Djw41I7UP6UI6tkgcYZHLl7ET//qbzAar8CSuINUgWIjpcLO3bv41S9+gbt37kCQ4IJUgUKtMorGfYE90iX0kPYIDiQxn2VVOgZTEvIoMgdBVNjY45B6N4SUPQW7uD/iGvbR1KROmwwqVw/CtXM1Ma1l7l645zb+xxXGnugT4j1EVDZ6VTKANKbIW0cjWeLFAzFZp+9ER0hhHffJUrJpjH1A1RKYTMbQWuPwsI572TGVi3+3sRgNh8hZAP1nm5It5NeIFHjFycFZhSHuihT/UqCR1tRna8IVaUFK33yC45sQOyEivMt75kFBRgyRWJTE0/imBzMFev2/WA5m0hlcRugT6tx/rygEFjcc0u/3kvD8ih+A8GdiK/BBudZT9VRpjbZZ0Pg0CcMAqxDQalkkBf0gTVDwS87bkViQiHNkOzjbYjgYYHt7C7fvHQXxJ6bieR+VMG/evI1SScznh2gXDZRSuHDhAjY3N7G6toFC38Xh4TGOpzOMBhX1wXsURRlmoBJzaDQcous6DAYlrDOYDMdw1qJDUDkfDgdQOgjb6aJAU7e4c3sP3gNlNUBRjrC5uY56TuwjW8J0Glc/v47JyhjNYg5jOnTGYjgcY29vD3t7e1jMa+iiiDNM4R0WiwWqwQBlUWExW8A4h0WzwKAaYFBWcMZgdWUVXddiZXUFVVVhOBhhPp+jqkpsbW6iqip01qDrWgxHI2itcXx0SJRlgbMntnHz5j3Yg2loexEqAawujGa7cfMWtk+cQNuGRHF9bRWPPPwI3nr7LZ74SjuOe8cCFfn3v/8dmiZU1sqyhNYKWhXY2jqBtvkAUmq4zsBYg9/+5jd45ML/A2U5xMHBMbY21wAZaIhxJmVG54v7MpZdgKap8dYbf8IPfvJXqMqCgKigdwDTQhclvvnt7+Lm9auYHh1kJ5xbcZJfY3X53L+lZO8BycJSZS7ZBBnPbqp6ZqctY5UkMNzHALt39n2yVkBKInz0NUvVP2Zx5Ghpds45tuB7TX6ynzg9qEob30fmTBFuW3JZIJ4SvAgEU7JNeAIyWaZe0j4cDNA0NRZzG9TJ6cx3pos+iWev5P7cZxTe+Hk9S5eBhfRP1ltKJgjYzJK1+wzY8kry2+SAYyQsp6eanm663Zi8yFT9JFQga0HxSTFDJm0ERFudXS4nyvFak1w+7zKXrY3zHtLJ+DPeszYM4nrwxoi97Zzw8/Mjdp8UMrKhsvEOWQ0SUTncdAtcufwRbt2+iseffALf+c73cOLkaTgvqAClcfahi/gP/3AKn3/yKV59+WUcHh7AexvPnyL9g64LrSQeRWiVlBzOpp73bKQ0WK7J534bTG1m7ROKfx0niTr0lxYkmEo3WFUVyjKoBLdtEOazNM6rKEpABTG1kIunKnEC7jmTJRYUnwefEvQcQPd5VZ1F43zy6cHN878HVqvMenAt6SUBImhIiAGaroN1HmqogUrGySgXH30YZ8+fxq1bt/Dxp5/h6pXPcHfnFk6fO4Uzp07hiSeewXR6hDt372A6PYZdPBige9DrCye2SglIL6Ag0NVtKNEHIBO+s2G8AABhQiLJVFkJAWschFKh99aFYNI5G2lqlZaQDmidhTcWWmgIB6yvbWBjfROT8TpUWaEzoSzOs2kb06LzHYzrMJsdBR531+Jg7wBlpQOi4kLPr/MCWkgMiwGGOiBoXW3gOg/fhsSQqbRCCChZwBvqfShLDIoJXvq3L+Hl3/0O1nd49OKjWJ2sw1qH6WyOtuniw3U+VGPrusVi0aE1HTzRjIUQWFtbCQPmlYKlIA5AtsG48TscaEPCTfz7MhoXT8q/XPkgQaUHoLR9dBe9Dc27mHPPoALLCVoYMzCbzcOzKsqQTMpAlU7JOJLBzlKF/DNlvK4kQiVAhqs3y20ZuU1CDUIEenvXdlBCQ0kdxGZcoLieOXseP/rxTzEar8A4uibBiJjE0cEhfvubf8HNG1cBb4lFwN7Lp/ElS9SmvrP3GVWTUpRozLO1FUn8yNpEO2RBBJf3XDifepWYlpz1EOVrmhwWi1qkx5iumZ8DrRupIyek0PcQcO/Tb+TjE+huw6xgRP5cCvp8qDz4ZXUldlwSqbfOuTATWKbRMExbyp2wiAGBj+cm38f8p3MW83mTBTQMDsiInzjjUAwV0T5TwsoURJ+24gMqlXki2++hiedJ9L/28IBNVcv0aHwUIxKQgFfEFwMgXeypy+lL+TPN7x2Z/qnjPlrqtXVL4696v0ftMbTBe++fJ7UpSOZ9lCqYHPzFYI9oTLkpkbGnNglH5XMX+T9JVS0JqgjKAFhZk/reQMwEIRGBvbLQWXAR5t1y8BDUpgWcMxH0ozlVRJsCtCowHI4gZYPRaIT5dIZTJ7Zwe2cPWg1DJUEKCBmEq7z3mM/nmNcNTp44BWEMdu/t4sqlz3H58udYWd+E1gWOj2fY2zvA+PxZOOtjX/Z8XqOqJM6cORVaNoTDzZvXUVYljDNxFJUxBk09x2AQ0G7bhbaXplmgKCtYb3Fn5zZ2du8Em+/CbObd3T1UhUY9n+P4+DCcValx7ep1NE2D3d09bGxtoiHF4rZpsDoeoW1qwDuYusXR0RTDcaqECyVx+8YdrE7mmKxM0JgWuhrgsSefwnR6hFk9QylGePTio5gtFtBaoySBnq6pIQXQ2Qb7B4do2g4ffvQ5bu9RvxWJ4SjSadi5t4sbN29hOKwA7/DlZ57EeDSgakQK4L1ggFzhxq3buHrtGipdwUNgZ2cX58+fRVlVuHr9EzRtB11WqBfHsKZDU2l88P6H+MbXnsX+7m2UpcZkVJGgHrFKfFAn74NCPgaCkBZ3bl/Hh++/g+e+9o1o1y3VpmQnMRqN8L0f/AQ/+8f/D7zrSN01eD4W8HGxx98/4Gz3Y4DedYhcGbSvZhzUVxkwzc52tO9ZCwSDqPH8477ryT83/xkhsu+JZNv7GgX306PZviWl9xRMh5Yit3TPnpGF0N7hPeBtYuRkxliIEJd6vl8C+kW0y+ma87UVMjB9mrrFYjbHYDgM0wQo1li0NbzwOHP2LHZ2duCISeJiHi/o7+xAeNRYdv9kJ5NNVRDSRrMkMhZLDu73Vz9bD6QKKyeIIrYD2ahfwTGEyGwuaweA+9i5j9uzDGmKA3uMgajySp/nQ49v4E9EKDn72VxrBPCWOIiZv0/V5rwXOk/aab95AS10tgquJ4IpPTEE6RQm+AIAOjSLDh++9xZuXL+Jbzz/Ir70pWcwHo9hTAshAVWM8OSXn8O5C4/grT+/jg8/fA/z6ZRC1ASQex8mKxSuoDGQKugvQERqNoPFaVIG7XXu+c4fqA8VTydFFOwEwlx2pUJhwLkwv1gIj0JKaFXBmCB21bYGxjgMqyrkYdaRkKPsi0zSNfCs4gDuBiEvmjHUi8cjRCN8ZGwy69IRGKko1umcpZjcUGFIgWsorBuglIYQCoZiVWssnCGQSmuUlcJ4chGnz5zEtevX8emlz/HJJ5/g5vXr2N7axkNnz+HJx76Etmuxs3MHX/T1xXtsHVCUJQpdwtY1VBFm2sFaOC8wGg6DeSWxD8uRsgtzCSutw/w7ADAW0ntKiDU0wtytqizhncPqZBXjwQij0Qp0MYD1ErYLvR7WBd553SxwPD3Eop2hrmtYE2bFDaoKUmhUpYZ1BsZ2IQlSFsWgCqj2vIPpLEqpIQoBGJrFa8McLKkUBoNBkAIXHoUW6LoFPvv0U2xvnsTW9gaGwyHapkNXd4GT31ns7++h6zoYEwyX0gorKyuUVGkoFQQ3hsNhluzkzkssrTknrPf3wOW/w5QfT8hMoDj2qxmx2kSKhdkI0wdUEEkcig2mC7QcdlCMEVrLghs5HJsof5z8pIpf7iBFrwqXO7U8yI7/Dh978Nq2hSRKsbUuHuTNzW38+Mc/wdr6ZprNRdQMJTXmswV+/S+/xscffxzGSAhQ1SehV0zbtRFciE+DF+u+RABLSUec/Jvdv4wz+CyUyOBGNsRSxL6hWNHIRMI4IOp9dnQQCfnPgYH4WNjB8514mzl8SVUED4H+58X3kQmZjP2xFAD3ZgqKVOViKrnIk0PJyHe2e+9LvkRPndjQqJcHvSaTCe7du0fvnY/SCJ/cNA2KQsc9nZ+FvFKSJ7Mp0PDx3vN+Uz5XDwo8U9XTZk83/mb2eYhSK2BwigP4paoLensMKQGGCIGMlL0EfLk+GleDg5vlZ8FGQGRfxwgxB9v4x0QU1OrdmkjVZinSmeKEGBQA8I6P7xf7sERUiI3jlYQIysiMAEtOXrnSwAl0fjY5h2U2S+63Q0DvnYVzFov5DLooUTc11jfWg3IxjVvxzmcVp+DU19bWcP7cWZh6jjOnT8JYi1t37+DqjRsoq1UYIzCbkQidDYBMGCs0x3i8ATEYwhqDjY1N3Ll7B8NJBV1o3L17F4OygrUWnXUQTejxGo0UvPU4OjqC1Aqnz5zFYtGgXiywsbYO7w28N1gsOnSNhHMjCAFsbGzg1Jlz2NzcxN27d7G1tYWdezuYjEdYW19HoTVmxwcYDissFjWMsSi0hLMdClUEhcumwcrqCpy1mM6m6HwQNvngow9xPD2C8ZaqrTexuX0SGxtbcM7h2rVrGI1GOHHiBIbDIYpqHf/T//N/wsuv/AH/r//l/wcrBzicHgfAgDbp7HiOTz++hLPnTmNrexuPPPYovEujuKiDndgRAp2xePvtd2jyQbDRe3u7uHDhPKbTOd588220rcdIV5AS2D59Ej/4/vdx+/at0E9cDXDn7g4GD50NIIDnURbLFsZR5T30ybJN//C9t3H6zFmcPnsWaAHXtUEszBsIAZx/+GF87Rsv4NXf/TYA/pnYUACmgxryMngqeLxd9KNJWIkTtr69WY4H8uSYN37yMgKC9Hb8fdYpnHGXVSblA/1w/jmengfbw/Q+/BdBbT5s2ym8F0kHI5wtG6tBcVOwaB/pfIQRXP3xepnxSakkzwBNZcMsvVi6XwTqZDms4IxF3SxQlCUBu0lNfmfnbpzdaY3pfXbQPUlV7VQt6wPOHEsw2Msy+1KK2F/O9+X46u57RGw3HaLcIQEVsd3Ip6fto8p2+j739fcAC6I8++wzPX+9vF70NwaSw+UkgJfb5OI3smsQ6MdLDJxHH0MjFR2xpET+PnFLybTziXEV5q6qCEL1GA+U9B0e7OG3v/4XvPfOe/jGN7+Bp57+EpQqwsx0IVANV/DiSz/E4089hVd+/3vcuHYVhnRyOI4L2i6heluWJSlkhxYaFqMDiVVKroaT/eLYN8bX3KqlkmCcIOak82kesMyYVFAKugyCjM6JkPd0BkoWoQ883jb37CcWGL8YzA+HNrBVAqNWZOuaTdLgZxYnfFB7hkjXbS2NEJMpluKzGkXkCEiSQsAKF9sxw0xdYDIZ4aknH8f5c+dw7fp1XLl6DTeuXcfdW3s4e/YMzp0/hVOnzywfiL/4+sKJrbEOZVlBaQ1Xe1SDAlIBtgtS/3XT0bpKGq7LqshAZw20M3E2VakVShnK60oqwIVxQpUqUI0qbFCltqwmgNChR5LoiMaFsS4BnQr9ZF3bQXiBsigBLyG8hPQhibYk8GDaDuPRKqqygmssukULQKIcjNA0BkooKAhoXYUE3IUATQsH19UoJgOsr61gMlyFtQ5t3aJru1AMsKAqg8SgGmKwNojJGIsaDcoKo9E4UNN8Oix5EB9PIm2m2L8p2OkmMaVUgWXnkMZ95RSiXvXTMb01oC6G6UfZiJQUiIZnyZ/nqGosVKIXIW507u/L57MFZMnaUD+WXoQZb+D+w75ADW90Fl7oJbtMhwXgui46mdaakHhbh5WVFfzkp3+FE6fOwFqa6ysUhJTQWqNpWvz2t/+Kd997LwAKkgJlyY7ZJVTThyHsUfDGB0SQbqyHdufPLq51FhDnr+WKbQqk+ooRy5Xq+L7ZM03VKKbs9tdMiDSDjcERROGj/Lq5Qk1z0ZZmBPLLE4WW6XSeE6M4s4WT6VTRTaIG4e8SROMRSfAnH50QPl9H9J73HdAPrrwPqrK7u7tx78R1i/cQAJDJZBLPFPf3MhBy71+XZgABAABJREFUf3IqMrGwPmU5nSlejz4t0EUYP6loLseeqWpBQVDWZyb+0i/FXlhH66MCfYnHESxR0ZeTdvgs6BQsSJb1cDGFKAc0kDmxPFgmh+i96AlhxEo+EgOht/89nYd8Lp4A9ShRmOZZEToApp6SW+5ZaxuDqiwhlSTEXMM5QEtB1QcWzUuBvKRRcdyLx8/fO2A0qLBzp460SH42zgYZSmtdBFQEBVB10/QUUaUEHn74DE6d3cbHn1xF01kcHR31AMvDw0OMBwXKskJjLY7nxyiUhHcCs6M5dKHgOofaNijLClU1iAj/YDjE9HiKoipRNw2Ojo9QFgUGgwHGkxHaZg6PMvTVDifQWmFrcwtlUWCxmOPoSBPQanDh3DkoJTEcDuG9x3hYQCoJ01l0bYejw0McHh9h0bahF8oGO1YWJZq2gdYaXdvi3t27WDQLKC1JsVoAXuH6letY1AsopVENhrh583a06Z98dhmLukZVCuwdzyCcgPASzgcxKu8E7t3dw8HBIX7ww+9hvDLB7HhOZ4GYXt7CkJ3c2d0L4llCAZDQusDFi49CCIl33n4Xx0czCFVANXOUlcZkZYI/vP5HHB0e4vjoEH/37/4GBwf3cHh8jBNbW7E9AE4Etd1lu83mjRIw087x5h9fww9/+m8wGJRQFJsw80jC4mvfeAE3r1/DrZs3+qCnELF/wcu+/+8Ducia9bLr8f2z3r/K/G+ZSFD2a8LZAB4t2w246CPy14OSWxaaSYnQ8u9l0xNiTpUB8Oj3e3pvg3ChUPclQOm284ozoo/h6Q+QSeCSk3O+Mq4iM3idB99cuRU6VMsW9SLMumV/JwSM6SCEwPrmBvb39+8DWgWBHo70GmKlTiRAO4CRAQA0PLpIMhhIlWuZaMrCM9Ml9Rsj3VFv/UUmRCacg4QMLfLZM2Rfy2OB0v7ItIqF7zF5YpKbVV+BjHZLACIDl2H+/P0ggs8EPZd9lZAy5cUUdzn4qKEsfOrhFNyHDMTygYEIAXi00ymRzG/COwvrFrh76xp+8bPbuHL5En744x9hbX0j+Bon4SFx+twF/N2/P40P3n8bb/zpdezt7kVuRASHnUdd1xACNCotjDhyzI6j2JZnV6uAc/aKDoE05uLEkvScaOwPrY2i/zzlCo6SxEJrlCsrEC4IPBmY8DyIPiwJRHYiteLEtef2BZe0NVwEkIHc5/fyB6YvR4Sd1d1tHr6m+6Rv8shWyojhtYQWKkwDsBZc5nUCGI8HeOLxR3HxkUdw48YtfPTJZVy/eR13dm5ibX0NX/T1hRPbeV2HeUbUOzmbzlCWBZQOIhnOWZRFEZAjDqbI2DRtAxBlrCyr0OuDoHQaghIHrSXGoxVsbWxia3MbZTGAhQqoAqEYzocKzmKxCDSn/SPMFsdYNDWcNyRgALqekPR4KyFRAABs7XHUTGGNQaELmM6hrRuURYFChzlJUilCAEPlsygKbGxu4ZHHHsNoMEY9a9G2LfUHezRNUHpWWmH75AkaUWFgaaiwdx7D8RiTyaTXX9FD2SIqkwJn7oXyTI/1oULqedo3V/Z4dmevYkOzMTnKE2FzGcPz0IKj6KzJgvz0uewMuMGcUW3rHFEGg9BKCDIpge0sHcbkpLkSpYSIoj+MFueHHBS8y6yq2Es4yPCFyrvCoBrAeQfjHayzWF1ZxU9/+lOcPXsuXTeNiVBKwRqLP//pT3jrrTdhTUvjd0Jiq5ZEc1joSrEjyoKD+KyWrs8TbURrHa+9d/3k3QUDFC7/B/SNRfaegiphqTqFNOctS3JDstNH4Xv4RKQ0U3dnL5lLAgcpAEmqmOygYzV+qd8nB2Ji3y2NIggUHb7afFRNwjIDOJ+SaxeVoAHvBIEUfZqa9x7D4RDz+TzL7UW2fAEFlwRq5I5ZCE4U0Xu/hJY7Yim47P6SAmUeLPJz7vce83ovJ7XLSfTyq//sPdPpggfMfspG+h8nyByk5MFivh6e+pY5qfVc2XQhlo/fZ9Qrm9Hdv/4QbuTV/951C753EanpIWgh3WubeqoEO3uA+t/DmTTWwlkb7b33Hs6G2aHWmCBUp0NbQaxqiXSN+XWxLkGwjbwnFYT0WFldw2A4RNuFYFRrCXhL6LeCMyYkuRm+Xtc1mqaDkhJFpTHQRZgXXJQ4ub2Nw8ObmM+nVAEtUBYDGOMxHK6EoN0Dd+/uYHtzHUpK2C7ssYdOncZkvAKlNEbjEa7duAatFR566DyKosDR4RGuXQ0VhHqxgJQSx0dH8C4od46HE4xGI+iiwHQ2C2NN/BzT4ym2t7YxHAywtbkNpSTW1tZgncN0eoD9g320psHq2hp0OcBwsoIbt27CdGFmfNdaNNaEte8cuiboaEgvIB1QFaG6ZZoWSgjU8wW2trYwWVnBdDaDtw6NaXC4v4eiLLE6qbB3cAThK6ioEYEorCRpXNPs+Bj1oo2zKje3TqJtajRNuPfpbBoAL9r/bdui6RaQWuLy55ehNaBLiUL5kPu6Lgg6QuDq1Zu4cWMH584+gt3d21hb2cCgosAr9obLyGxKDBaXqooA7t29g/fffgNff+E70GUJ03WkDhz2a1EU+P6P/hr/+//2P8N3XZbgZICfI6YJOLjM7TcdJuEzRlaKHfySr+j5EmQXinS2uaLEldH8PVx2ckCJYHwbBuGjgFVKFvlnHgTiBlCJA2nWFbAR0Mt+OrMxCZhK7Jb7q8Xxul1Ko0RG6UTmp/jZLYPQyV2Q/gYUBhXQth201tBSZaJ6Hru7ewCAoihhrU3Py2fv6bnlhNFrXus09idoSATVd08zyJViPQei8UZXmX4xXwORP/fcL8PDChfH0Aj6LFAM7YG4n3rArE/VOR/Xx9P69Vc+Mq8zkKNXYc6un3+BgQuXxy7g/lmX+fCsPUsg1OpppnJiCnkSLiSCP/V9Oj6jnualS75/Em+DhfcWtjb44J13cevmLXz9m8/jq197DoNqTOviUFYKX/36t3Dx0cfw1p//jDfe+DO1V6hs3QBrQy5SFAW1MYow0YULIvEZuvicXGy5Yxawz9YrKPhbnhjiPFxGseaXhECHLv6alAoWHs4Z+lpCQGXP0mdxXgKgQ07RZ01KavvxnosUqUUQ1H/rRfqep/1lnY/FoRQbLRfNwl4ORY5wNrQOnqCuFyHXUAn8PnfuDLa2N7G7t4fPP7+MO7dv4Yu+/psqtoumwagaUEUzJHBSUyLlQyW1VBrOW0LCeZi5Q93WcADKaghAoWu6wLWWHuPhCjY3NrC9dQIrowkkFI1z0QEJcT5SEo0xOJofw3mDedOgpR4oj5DkKIkwZshadJ1B25gwfF6W8K2AlZ4kCEKQr6mvFgJQhY5Kq5AeZVlgc+sEHjr/CLSqcHQ0g+u4Z9KjpqSWh2V7+NAPK0IPgoDEqBygGgzRWRspikFVM1VBeYcmZEoQ9ZYGL9Nm74yNRtp6B+sd9bElw89VHGcRN60QAgbhs7QKdAfj+qJNgprNoyCVSOrJfI3BKYdxOQIyzp4UEBAq9L7GSifb9oySwnOwEvLlIt1PShnQJ+F7joIPXdu2EAAKrVNCBIHBcICXXnoJFy9eDGMzXBCWYOoDALz15lt4+fe/R9vUEHBReEap+2mfAkl8JzmSlK3kVTC+PlaDxoOcZz4Lj/6JaSqJKsSzSPMKe2YQ+fm6tFe4WpoQ4nCdqeKaOUcfn2QvqOGfy59JqhjmiTm5E5Hxm+Mz6uP1gtFICDgS7mLhqbQXEp7unYNAQe5Rgb209z4AMUu6Wd57TCYTHBwcJEGMTMxLEGWormdhhFavjy29R5oxu9SjzPP9BIvVsAHPJ6fnZyMkw6HqyN/NnNoDKPbpXljgYZnmzj/B18iId5j7nVoTOOBx8ZkFVN6n0WAPijNofrjgEIlG4ghIWBZ6ySonIhNxS0g/7xW+PlIVtjy200caogNTs1RMxOF9qNI6BycEvKMB80L29hO8h1YSjrykdSbYSikoAQ4/E9sa6NK88yT44XvxVgBcFcrhEMVggLo7BpTEcDyEKhScDWvAQSMHqUII7O7u43jeYHU8wGRlA6fPnMLV61cxPzzCcBhor/Vijvl8gZWVAlpqHBwcoNQF9QVLnD51CpL2VlFVWFmZ4MknHsN4NMEbf3wT9+7dw8HRAVZXV/D+e+9jMplgPB7jicefgLMW8/kci8UCK5MxBoMSN2/cwpnT6zh3/hxOnjqFolC4fv06zp48izffeAM3rl9HVVW4c/cejo6Owrz0yRhFqTCfz3B0dITPP7+O4WiVqrsKhR6gNTVGw2GgJbcNGuqb1VpCoIBSEkVZAgLoOgvlwjxJITxGwwGOp0eQQqBrGxSDAkoVuPDQWVy/vQPvACPCDEteW0lJyTvvvAPTLXBi+wSECGDh0888hffeeYdsWzjHLiYQAWgdr0zw3vvvY2NjDS+++C2UZdCBaIzDlSs3MZ3NY7L06mt/xj/8w38E5ADHxzMMBpMA/pAdZsGqnv1naizRJL03+PD9t7G2uYXHn/xSSNSdCfvZhDO9ubWN57/1Il5/+bfhLUgAzTkXlaGDEjj7Eaa19oFlz/YysoX6diR9nU55AsV8fpgjkNX/7fS1JLFC1zMaTD8UPXuazj8e+BJUwQv/J3tXuKy6m8A81/eBPtmcxKxKgnoxn3KM3iUF+hBTpJjGZeJ8/QVIwIBWBaTUqJsaXnoUuogsOBZhHI3GqOsadV3HdcjfMVLoM13CHAqUVJ3yIqjXRmaMR9aj6LPqalq5mADGZClJP4LprfR+EdjMRMt4/jGy/R3rdCzWRD26XoaKKbzMfHcGvtD/u6iKlvVqOp9+iOYtO6Lgcxgi4v7OfXSmJJ62TQKe7msD6gul5i/nE8NMKNZZCL7KW4fde7fwL//yc3z8ycf48Y9+iocunA8tbADgFSarm/j+j36KRx57HK//4VVcv3oVXdtGsU8hAmjeNA2AVL1NFUtiAQpqZfAiu09BGku+ByILWiNmdTryFUyS4jjRMnVYhuTUUy+/jwXsVMX22TrzM2OKcrQcdO59bIEkkbRcuJQFOgTldUL1JoZwUisjeMLMAhFjYJ6QE/crMfIKXQCC9ISshZAehZLQxQCT8VmcObWNuzt373vGf+n1hRNbDwtrW1jokNDAQ5LaqdQKRTGAofl788WM3jn0E2ie69UYyFHI3CeDMba2tlCWJQpZYlANoGSJujY0XFvAIkhtA6EP43h2hHm7wL2DHahCoLFztK6BIcutpSTEAhgPx+gaA+HaQGWyRPvxobRviQ6idAg4LKkPe2/DkGatsbV9AmfPXIAQGvW8RtsaKFGg67rAb7cWigIW73xQ/6J+CR4iX+qCxDI8jTQJaHg++iLQUlSsHvLBkHEHCEBYSEUG3gsaLRJo1zxHDhkCJ4WE1iEgtdZGmpFihVPvobyKVo8pJZaSowArZs34TBsl4yMEN/CTKJIK4xMcAYw8zoUNEd0oYq2OFH+xFPSz2Ezcdz6AGkKE8RdAog4Oqgrf//738fSXnw6jKlwQR5BSotAlAIH33nkPv//9f0bdzKNgkNY6yaNnaBWi8Re9z48GIRMa4jvJKdzLiQsHF/n/2NOzsQIlns652BcUv5+wa6TfSg4lfi4LI/XEt3zqr/DI+ENJOdHRPM77K4sI40yY5hUljKPM5HLqGxHAtA7JuaZh89kP92hw/O+E+PmwZ/ks5f/l1dv079mzhId1wUAOtOr9PAdHIPobcP8z6/WQsPGnM+h9aJkQUbOQe85Tj3uEGO6rvvc/K4EKywFcvg+RrXI/GOP7AAdwHBzHZ4EeMs6BLb+L5AoBVY+0VJTIceJOYxTYZnkbRV4QEdywd8OcTAcpdezBZbaBJIAvoNj0fGluaBxR1FOBBpw1AdSEhXMGbVuTfdcRPCiKAjX3acYAm5gsLoD8zvKIrHR+QlIUmCxFUYT+050dlGWJjfVV3LxzDIjAKPISYPjae2A6W+BPf3oTpVaotMJwNMBkZYL1tVVIJaB1gbptMZ/Psbq6hs50UEpjQOyC0ajEweEhVsZDeA8s5gs45/CH1/+IrjMoVRDmW11dw8WLF7G+HmbTnjlzBtOjo/CcdInBYIRCSZw7dwaPXnwc4/EErTFomgbzeYu11U3cvnMXkArT6SzM5JQeh0eHgLBYLI6hdACAtFQwwsF0Bl3bYjIeheqEt6GCPBpgvhBY3VhFoTSsMajncxJ/9FhbXcPx8TGsMTh/9kyoqB7t4dT2Bnbv7aHUAr5r0c09RNdhIhUWpcC0zQAS2pTGWhwcHODKlavY3AhzqU+e2MJDF87j7bfeCL1fZHV57zlIqLKCVB6ffHIJJ0+cwMraOsbjipS0Fe7cvQdDPtd54PqNa3j3vXfx3LPP4HDvDobjIQZlAQcbxvEIYiVlIigxCeA+fi9gjcW7b/4JJ0+dxurqGNYEsTqf7f+vfPXrONjdwcfvvwtVaPL1MvhKOJoF2U+cvCeGE2tVMGtnCcTMbUkELx9gP2KlljHKZVuU2RYpONGO2VA0P94lW+KXfu9Bnx2BJO8hpIt9nMujZ/psG0TAu2/77rencR2WfZxHmMpB6xXABHv/2vTGJvK1hGdXDkq0iwbWmKCYnLWNHRzsA0D8/mLRpASBKsHO+34qTz6VkxFOAByrzkbAL/gei6SfkJC5/E+R3LFwqTMkBios4EQMHPIvaaCiiPYwuWbSj84vGSk+iB/bRx5jZTBCn70qbwaAuiDsGGZD214bUu/ZZL58edAvx7HJp4qwrgJhZGd+LjLBxqxGAAdLPfsCrm7x+acf43+9s4OvfePreOHbL9BIUQdDbXRnzp3Hf/j7/wGXL32KP7z2Km5evxZ7eaWSUCJMNqnrBlJKlGVJrDUf/Z0UgSIe1ySLI63nlo4kQClYFIvH9nC1n86V4RU3HOsZIE9UE4QcWDYZFR4MGsVYPrwpV0sdM+p4/2SbSwgE5q6X8MTC8xmjLD3txMhDLgyaIBpILeNm4/hHew0lFZq6jnZCSIGyKnHy5El80dcXTmy1lmE2H4JIk3IOwgXUVamQ3Dnr4GyLznSB6qkkzeKbwBmHtrUQ1qMsCmyubuDcmfPBKdcGs+Mp5kczmMZCyhK6KFEMg5CTEEDbNtg9uIfdwz0czvZRVCrQj2EBqaCFRlnIKNjhixLwAlVRQUKl/pEY6Ani9wdxK+sdpHQolML29hmcOnMG4/EaBBSauoE1Dlpq1HUT3t97tG0HRTRay/PJKAFbXV2NNEhNii0h/VRxTeMGF5KcXZ/C2kvysuBdSBENRmiZoSpLdCiOYsaAbGqt4UUYS+CX567S7wbB0SAdLpXK5pLSz3F1sqdqR9/P+0HDjcIhOw8x8OzTGHvqu5T4i+zrPKmtqiqNRfIBSX3hhRfw5WeeAYjqHPpYJJQqAAhcunQZ//qf/xXT2RG8DzMjtSyo3yBRvJxzveA6JRzJAfaV5rLDKVO/6DISnJxzXzVWwBOrI4kwRMONfu+xJ1W89K+hR1BKFc0Iq6+mDIY/B6QIK5PFA2d3iUosMqsfnakIiWbil3KQQ0lctjagGX9swBLoweuSrVsU5MqpzH06KajlwC2NOeJqrTEmCNfFvZmqmtZ5NO0CUimq6iDuqbxCHdQll5LaOHInKX3GpIiTwKyPODpk4VNVZemVgyf3VQruc0P37xsgUaeRgR1KZXaE1OdTUp3tg5gw+l5UwjsnzXwlSpxQvXEWztH8UdaU8tl1UxWH+3diGEoeTQpJaDQ/e59V3WTca/ne8HA07idw9q2zEDL04wQHmuZlJ7DQRwDPGD7TQeQl9dyCT14QBVESg8EAh4eHcM6hbVuy4aTmKBMDxbs049DBYziqoOBgbIPr13dx7ZqgeeQazrU4OjrC6dNnYuVGa42umwMoiW6lsLm5ifn0GPP5DMZ2sMbCwKK0FqUrUS8adCOL3Xt7OD4+xsp4ghPb27hz5w5msxnmsymuX7+GixcfQ9O0gJA4ffoM3nr7DQwGA7RNA9N20QdMVkdouwWqitolZNC6WF9bw97uPrq2gWmmEAMJAYOy1FFpc7IyxtrGGrqmxdr6KvZ2HKqyxNraOk6cOBEmEezvY7aYwXtgvmiwub6GyWCIwWCIs2dOQSpgZ+cWzp89gXcv3cCf3vsEwhV0rqhK6ILO6mKxCAKBUuDxxx8jAbiMShdzmUBFVLrEBx++j+PpHFtb4Sx2xmM8GsLZDpcufw5nC0hqh7LO4ZVXX8ajjz4MoSrc2z3G6e2N0IAkHYQIsYBSGZ3OuXQGGOGUDkeHe3jrj6/iOz/8cQhcPdkzH0BypQq8+NKPsXdvB/u79wAt4ogwplBKssAu6/d2NB7mfvOQCxXlPie3Vb73/V64mZ+1peob217JFjq/X7D9i1zkmCDlTKxo2fKvCdTiNrZATOtlYpHlk19j/h7972X/ltkaRFX8JGjEiRKPKOxVnHOfQwYtAoYCGI4GaBY1mqYJve8CcR8GgDy0Oi0WdXxftmkqa1PheCmaZC1TcdM7KtN6eOmCmI8NSZAX2bVmIUC4Rm4Z8eBpOp7bejwyxh1XYtM9iyzl5qSm9ziiMnI/8edEqe/o4neRu4ZeKBITThYlXWZY5bGXC0l535lFRfEeIN6LJznO6p+DeBnEHmPxRA9PIa6Ah8Hh/i7+9de/xuVLV/Ctb72AJ558HGVVUqU4MEGfePJLOHv+HP7w2it4/Q+vBWDdeSikUZKhVbIOya2mET8IGidOMCOEWI0Ud8d94tluxHwwXJ/I8ha6dvbxSZsisCy6zvbOHevTyJw5RmeQi1VScM4gM9CCY+3sYdO4PCn4ieQ8hD69P0bJWWGLFZvjO1LLEZCKZgAVQoltZ6yNvjfMm/5iry+c2E6GQxiiA5iuC3xzqhwKL2E7A+GI/ioE2rZDURYoPFDqMhjwtsFAlDixcRLrK6sQXsEaBNqxqjAYFrBlQLWkUoBSmM4XmM6OsLe/i3v79zBv5/DCUs9MeABCAaoo0JnwUIfDMSAUpA4P3jQ2Bl+l1iiLIgRP8QAKKIRK3tbmNk6fPoOyHKCZd1CCKhVdG9ATZ1HowGHVhUJrOxjbEo1SYDweYzAaRiogHzhPc6Tig2Z1Uyl6Bjrf0qDDyYQ63pgR0RSKGzbixgp/cj8joaOEWDJikzavT8O0AxQDqWKrfC8XAgf2maBSTzOYeuKQJS7R2Gb7iBVOOSGOL1ZFpSRSyqBABxIFc1HEKgjoPP+tF/DVr38DQhVwXgBCBTKrKgEhcOXK5/jFP/8cBwf34L2BQKA2SAqwEz14GUxAPJBxFUTehB+OzINGDfZesS11uSE/+h3Wnwz/k0lhmBH83Nj3HL9MgVFMwJfGJCUaKyc3nLjy330MrAgVSeU+wWhdPyGPyLJIqtkpOWYFzKwaSffPwTVZi96GCD9KxleFP6116Lq8r1ZShTWpJOdO0fukYAsEMGQyHsakVimes5YlqaIPHqRIU0Qhjhy0YODcE6uBv+DPkFlC59A/J/1KLXqfm6rbae34ebILsFz1iI+Hq6pE8ZHZhojGwKUkVgoePJgVYTjJd1nC6iCkjRhJDuL47CykQDd9L/xS7BaMgAZ4VmF8JwFEslx49qwfycG6NSayA5VWsJ0g+5AS/cFwgPlsRkc1MVWUZmQ4PDvLonMMRJgwO1AIwHQW1hqUZWDhrK9NcPPWPpzUgJYceYakxgNCejz+2GO4cO4UvFkAsFGcyRiHW3f3cTy1ODw8hCGBOpCKb9u2GJsKD124AAGLsipxoCQODw8g4VEQUCGVwHwxw+efX8Jnn3wc9AucxeOPPoqjg33c27mHtmvRtg0EgP39PZRliStXr+OTjz+ClBL1YgHB6pwAOmdCj5vWEFJiMhljPFmBFAKPPfoorn5+FR998DG2trbRdG2YcjAaYTafo24bGGdhdgIA7DeBU6dP4/TpMzieTrG6vo7BcIiVjS0ordA0DWbTGabTGZ5+5ll477G5vo66nmP7xAYuPvYkdv7n/xXVR58Beoi2s0R7s0Hl2XkczxaYzuY4ubWNh8+fh3Q2CTzFfZPO7XQ2x8cffwr4ME5wZ+cePDye/tJT+OTTT3Dzxh2sr5+C1gWss5Ba4eJjj+OTTz/DV55+CtevXsKgFFiZjKDjSJ1U2QhbU8bz5AWxFoiad+XSZzh7/gIee/JpKDh0JHIpWwmvDKrhEC9+/yf42f/x/4UzHSBZxC87s55aTRyfEBn669h+x+pasiV5lUtSjGBjHpT63eDTbPDYI/9AG0h2j8BJ41xmqx8gdJdhZeEKWA2eglR6nwimc7tVKu0lkFwkujN8AJLcAwFjjqtymyrSOLfYyhT8HO8ZSJHFZCkGS040vb+AgCRaZlUNiKE3R1lWBCiHhGQ6ncN7h7KqsL62gbu37wIOMc7jPhpPQT1vXg+uG/jomzwJ3wkSmGSxIN4aSZuDnx9Rrmkvpldqb+G964mWG1eNGH2h1OKyhCQuzlIS66MX4HjZZ4kWA4YeGXDN2zosPmfdgQnGQn6Z8rVAALjc0sxhZv1FPRqX1jFcK4t6PmBUlUxJYML909gdF32qi/v42ueXcPvmTXz5K8/g29/9Lk6eOgWBoNMCYTEYruD7P/orPPr4k3j91Vdx+fIl2K6LvpupuW3bAV1gBQWaZGhFlNxbnYlmJb1suiU65yEu7ye1XHGP4J7gM0cPWoq4nZnibq2DYeE11pfJW7HI4vRBC3oHzg/g0ZoOZVEgDaYk38v+PBfyFuk+8vMbzzQ9CxX3F3l3As8U/Y7WOhQfrSWdni/2+sKJraCSNm8w7qMqdRmrtYXS6AwJL/gwv9Z0DoOywsb6KtbOr6IqhijUEMPhBN4LzGZzhAlBAl5oyELCi9C/W88X2N3bw92dW3AuOHPnDKQSROLxAFSonEpFh4QCNZKRti2pYpIIkpIqVCVkUBPjhR4MBtg+cQLbW9soywHquiP3EgKEsLhdWHcZKkMhaQzCTFqWGI/HqAaDgM5YQ+DhEoJETz4EzSIby5OjTMlh+UgpSUF525qAXqSzH59R/0Udg4SE83fYmPPneoS5hWBlY+974niclERHxvLgdP+eZipCSkr4MvojI2vZe5HFiVQN0PPiD1BaUlVchBFQngNTB6U0nn3uq/jmN1+AKjSMIXBWBFEHpTWuXbuGf/mXf8He3k5QshSBw89Bt8/Uppmq2HfWKdkIfY2ewIL0I72zsYSCs3NeRsnTU6FH50UMWtjh5O+TP/cIkOTQLdLzz/s0+ug5JXw81QIhIxE0ykIIF5M0nl0ssn2QX0tMWqNaJ6HhvD945AtfmEhoXL4/+wk4tTNkswxTtTYp/EoZhoFXVYWjo6MsWe2j+ZZmqxVaxyXiSj+Qqoa83AEk4uQ5o4cD2bzJdPX5GIxI6OpRnNOz7IVj8RqRnfd0Bh9UmXBLv8uaM55nx9L1iMj0yMCLrAoeE1kvenNu+Vw5EjARAvDWBg0F2VeFllRNzeljPUBIIq6rRJrHuxyA8pYWxHASHGRR7xyjtCDxJyllGLNBPQ6CKOhaaVqT8Eb8s54SSs82huynYzDRewKRPJQKlcDBoApj55SKxpTZLZLScKUVUf49rOngTQcpLVYmQxIZHOJotsDO7j6OjoIoUzUYQGmN4+kUg0qgKAtKqDs471GUgZHkuwara+sk5udQVSWUkmgWQSwPzmP33i66tomiaIOqwmIxx61bN1ANKmxsjHH79m06JyOsb2xid3cXRVnBmA51U6MsK6ysruD8+fPY2dnF4XSK6XyBtc1NXHzsMczmcwzlBNeuXUPdBv0IoUJP6GK+wMrqKtbWN9E2He7s7EMVGrfu7UFIjY8+/gQXLlyAsxb3dnZCD2Jnsb21FWbGdx2cM5jN53jiicfx6h/fw3Ft0TQ1PHQWEAksmhZvvPkmvv388xgURZjRnFVulFJo21CRV1rh408+wXw2j0yHra1tlGVgV7359rtwDpjNZ5iMV6ALhdNnzmAwHOJPf/oz5sdH+PpXn8GdnbuoqnMQ0DTCw8ezdL8t5zad0CZlncFbf/oTTpw6i9W1CZzxMJ2lfefglMHpc+fx7e/9AK/89pd0hqn3jObVi6hin7U35FEicpCUBH/yftT8UOeVGaRkT/BBjfmcyOxbenGQzCq9IgPDc5sQhSCXwnPP/f+Z/cmfr0+fQsF5nkSR//FBW6T/EhFR5pF191WJs75kXjEPD9g0ti6v2mbpXkyaY7xDr6LQAHysxGmtM78IuM6gq9ugXkvX4DMxx1TZInr0ku5DeJa5ai2vA60hCyoqQDqRJbcEHsd4LvkABp5jP21cJNH/+j7hL5Ht9bT1+7J8ET2JgGYepqSYd0mAI1ZIEPeNR+bY8pvPHwtX4bN2qqw60LsuseRr4xPOknHvfUZ357ORkkdjGrzz9tu4fOUKXvzOd/Dcc89iUA2peBPO19nzF/Df/4cz+Pijj/DaK7/Hzt07kJlvVSRC27UGXiNO38i1KuKKeBackgkczuYv57cagaCEjtCah3spyLfxaEjpZd+Xx7alxPyIQL0Iui2J/ZUVTLwPuU1OMxfotXrFO+NCSyLYx3WP+5YekJCJBcpnJcWOngoGRPl2iaX2X3t94cS2abvwgVJBQKK1HRrTwVHpWELBeQElC4yqMab1Mdq6wUBXWNlcw6lTZ3D29FnAC5hOoGkMuo5u0FKCJ8PCL9oa+wcHODieYj6foTGLMKS40vCdR9N2weEoUtL0Bs18gUIGSnRnPZwKIYkzFlrqiDo0zmI2b+K4jKosMRlPcOLkCaytrUMKhbYzRI8SaDtD6pqsChroTF1U7vQodJhPW9IcXudtxoGTRKOg/iApiRbYF5WR8n4qkaVB9j5WZ6jH0IkYlHLlhlEPz4bUR/8bRACWj1PsF00JryBEBYhNGbHyEpMsR8mPQjSCzFYVYGviM0n/VKVmhyFif2maNZsyaQHTdvAWqKoiigbwej351JP49osvQhVBTS309gYFZK01dnZ28Otf/Qo3rl6DokKWZNrjsgen28+fQzJ09D0S0hB0YDmuEfdVSNlm85wwdpAP7puM1CTeC9n3BdEVAZEJfCUBIwZE4nLzu+bzRRktY8CApdrh4xB10MD26E+z3tl8L+aOL+oU5RVTft6e56vyHurPhozmcmlEkEhYC7wHOkJAkYkLeO9grcBiseitfZyHFuA+tE2HYTXMng2yANBHRDvtaU7UKFDiAFrkCRzSBl+q7kfEk559cDbJaS0DBbxRloOy+/7OswW56iw5kXepZSFmiaD+5CS5Hdh+jN4mqrr0BERFingagwPvIZWODJLs+NL1Kvp7xiAR/esP/b4McGQJNztjyZUGqoxEoEDAGBMqs9ZG9obwEt760ObiPGShqcpapnOI1K+vk/UJwCMFjIrtJ3wwbc5jPB7j4FBFpL0oCkgtaSxRCKacB5TSUEWJtp7h+PgY8vQ2RFEElU/nUBQlTGdQlJpoxx3mxzNU1QAQAvP5DFoOUFUDGNOirmvcun0bm2urAD3bpqnRWRPmnmpN1EkDpQTKUsM5g6LQOHnqBMaTCcoqJOW60Dh54iSk8Ji/coTBYICmbeG9xaOPXcSgrFDXNe7s3MF0OkXT1NjbO0DTdGibBjeu3wxjexyCsrLWNKvR0DigFlpr1HUN5zzu3rkLBUUaBoEC2tEowKufXsLR0THatkFZlTg+OsL169cxGU2wsbGGrmsjFXw0GWH3aI88Vqq6CBJHXCyCWnMzr6GVhvAOklpQNrY2Mbt+A0ppdJ3F5cufx15oiACCdJ3F7dvXsHdvH0pKaOkghYFWFUxb492330LXdfjzG2/iy19+GlvbZ3B3Zx8Pnz8L+CBIiaiIm2xJH6xJbJyjo0P8+Q+v4Xs//jG0LuFsDWFDgmM7Aw2BJ5/+Cm5cu4LPL32SAswl3+k5KeollD71FdNeD1U8FT/f0QXyTGfKn1K/ZCZMmex6tGIs+RJ9Sp8RI7J7XkpumT4aAwxOV6g/MmXckYnFP0FFy6RcC4c4kNMjiPx4l7UKpWyrfx/L15qejc+yaudcZBUxQB+DfLqvGFNlqq7wob1MCBVbYMoyaHgoqeAccOr0WXzl2efQdQs4F3rFL332WYjh8nWPc4LTvHpQ0UjQKBn2n5JtkAz1rDQRAWnmd0pB0jPKgNcEjscII9sYSR2392Lfy39lwTSI7HnGx0pFj/T+mQeih+tiVXAZqI8HK79W1p/hD+81/WZJcCZBE5XvSZk8sq+YqbbUy5n2Lr/SvFVnPbyzONi/h1/+4mf44P338N3vvoTHnngs7EnuldYST3/lOZw/fx4fvP8e3vzT6zg+PooXJ4RAWRZhTKkx5Ps0NFE2RB4LeaYHy97zAjyUVBDxvLJYVkoQ2ccKEcZWBXmcZBt4fXwEhVzcYyLqTgrqPvMkdiWSMC18Uk3PinMenI9QvsIglQgADMcA/f3SH29qjYtTN4RIbXEx/stYZw+YRvYXX19cPMrqILgkHZQOiUTXtVjUcwwHQwhnKIgK82A3ihFmncOKKrE6mGA82oD3ihKFMHZBCpo7yBQR6dB0DQ6OD7F7uIvD6QEaHuXjLAbFAMPhAEohVFvJiA8Hg4iuOxeCES1DnyW0R1mU6ExHaHCNhvp3xuMhRuMxTp85jdF4DOtDj0OhK7StQd2Gwev0FCFloFoba+IoiuFgiPE4jPJhiiTIWUcxFR+UOCNK623WN5mCb6CPgDgyfGz4OciuBkRBJqqPcCLSPMBiOkg9H2F9E8VjOYEGG3Wiwobqt8+C3rCUSWkxoXbhnimoj1AOJbc5muYT+gLB14f0XvR3aw2c9VSpTVLkzjs89dRT+MH3f4DhaBgqOJL7MwKN/OjoEL/8xS9x7crVqMqsJFUMl5DY6Jj7PrtP68lQXQ8eMi2j40u/khx9rGbGPt4HJC0885T3gED8Hs+aY2Gn/pwxRqk1JWQZzTllpNm90Op6n1GUqLIa1RXT74uoZp3GNt0/Z3EZhc0/C/37fYACJdMzGT1NiXHmrWIQmT5X6wLr6+vY3d3tJbVxTcmZWWNRTapUqXigE0vBm4+iLb5niHN2WsY3SAgm2Nn7DEiS8X34uoQQ4XzGz+0HiA/6E/E8gpKHrA8JCSxJe07Gyi27RJEFLaliwGIWROsVPvYupcQ09cAKAl687yf6XGFJvUL93qYIAOTgGTllDnis80vV37QfAwUvDK9HBuKks16grMq0FbO5zkIIOFJDBiXaaZ9ISAkYhNYUrRWapkVVlWiaBhvr68Q6slEAEmSb67qFcMBiUQMCYe65KsIsPhNs9ng4wGBQomktjo+PsXXyBATNI2/bNlREB2VIhCmJ995jMBxCKQkNHSvSVVFgc3MTUsrABKpKHB4fYn1zA089+SR27u2g6Vpsb2+jLAvcunEDp06ewebWJm7eugVrHfb393DuzNloJ7quQ1EUmM8XqMoBfBECEyU1utbQRABLeyBQwCaTCQbVAEfHRxhUofpbqaBTUBQlyrJE3XYw1gbRSOEABbSmhfIKs6nB9HCGG9evY/vEFqy1OG4anDp5Ep9fvRtUREnNMwEigb5aLxq4UQNjGxQyVG3PnzsHXRXAtRvxPLVtF/caB3lt2+Gdd9/FxsYapJRYmYwAIWCchUAderC9h7UeL7/yB/z7f/+3ODo4hnM0FE0k/QPem5zYJtiKQclw7q9euYyt907iK1/7KrRSkVJvTdj/xbDEt1/6EXbu3MFiPqODEqo0LDglYxIaaMVs23zsneQ0l8nMSUU5sh9obBkyu+qX7Et+5tmsxzUkO5ePI4yWMGv9iBoIebKfy4IwIzfGEjn9MXMjeeukzz5r6dPjR4nszGevlGwjpmW5v4/+kW2WFJHN95dscoybPKLibQB5HIaDcfQJu/sH+Orz38LZ86fhnYMxFm/+8RW8+sqrcMZGX+hzx5LrpoCpuaEf0nsbuv1FumnH3NWYaCI9uLQ6+Yr0fgo+/wn+HZmBvP3fRfyJ9GDvd/0+ZTOxTSVPRPP3E+hfQZbE+ewZZZ/iedxlXjMm196ReKDWMiT+3kOBBbhE9plYii/6cXAqTHACbsD9AqY1+PzzS7h9awfPfu2rePE7L2BjYwMeikSfgJX1bXz7Oy/hsUcfxmuvvopLly6hqWtqn2I/JEIxjOezE8AjPSWRNNM6zVvm9i3Eok+8o6wyn/aVSPcWq+aItp9bRHlNY3sNMTPArVwC0XLwxBNm5XkSDWZCo3WxyhEqxLlVdKkyzssus7PFYLLzXGAJe1XTiE5J7Kx8/q6XXzyz/cKJbWctyrJEaxsICBjroHUJJYBqUMI7ot9Yh9FghIdOnQly+20NiQLNrEGjKqp6hgV1nsfWhL7d1jQ4nh/j4PgAe0d7mNVBbVGXKtDjtICTHuWoDD0gpkPXmfgQo6CSJJqll1CFouosYGwHJR1WJyVGoyFOnzqN1ck2ymII24YHPxiNICBgfRAtsZb58wotKbVaGzbf6upqEDXy/JDTNJSIMMKHxBLcj8cy2zJuCj5gjtYksEN9TGbjMO4cYfOM/AHWm1S4IWPso/F38DbRXRIqm/4MjdsuJlpOuF5iwf6ABRrCxqXk1bo++swbO08KYxteQugiaJg5Qh7nNCiqbIRJACvOP/QIfvDDn2KyuhZGFRFgIGgu6XR6jJ///Of47JOPKah3QQ2OZtFFtH2ZRukZCU9Gjqv7MRkWIkPv6fojHVT234+diRf3OZoompEdUI+4uFEOvusMvSehuSoX2eFn6KLQjcyveemVVwmXnUusPvjARuD+Vx9ROZ8p4ZL/8QLLdxbpuQTGcL+pYDI/o7mKH7ZM1OfcIMNn6Hwy7vw6Pp5CxmHf6PUnOW+xWMzjLOFUaWVabFIuZtAlnBOmA0p69iwOAhq9IbMe0SDskYALkZSjSSACTMmhBNA5F+hAHiQg4bjTOFAsowNGpJnGz6IDZGk0GJ+nXD3dE0W/19MvJPX0BPpaFLuhYr2QMiDAmZPhJLqXiNLYDHjAwaTAkdaRwwAlQ380fKo2ILOBQeGYz56NYI0hLFhD9RgVzvmI7DpSxAc8jOmgpEBZaAwHQ1hL/cAE1ITRQeHZOGMT5Ymux7kQWCymM6IiK1TViNgAHlU1xMb6CqZ39gEUEfV3PvUrHx0d49LnVzAeDLA6WcNwOAJsBw+HlZU1jCf7aA4XOJwewbvQW6sk0HQWg8kqDvZ3oaXE6uo6nJOQqgCUhhNhTndVFWGmJRyKQkFIhaZrILWCVAV27u3Cdh9AwKNta9y8eg1KSayvruHsuXNYWVnH1as3cTybYW1tDVIXKMoK588+hKooMJ6MISAxnqzizTffxGBYwQmPqlKQ0qPtFuja0EtVEDX7+PAQq5MJjLEYqAK6LGCtgXEGwgZaaFFoHB4eYjAYQnQizIm3HXRZAtJD6RLH01kQKdQlhuUYGgoQKo746FxC66tBiXm9wONPfgOjUYV/feV3kNrj6WeexJWr16KqfQyebAB1pQx++fKlS7h96y5++P3v4ZFHHsKgKgB41F2Ldz/8BPtHN0NlXgIffXIJ7773IZ587FFcvXkLD184C2faaI8liQGl2J9sRZxpR+fXG7z11p+wfWIbZ86eg+8WgAuCK85Y2LbD6uo6XvrRT/EvP/9PMJ3pVVukZJHCOHCI/KePauR5ZYwDcU8K0TJPnJhl6ejcyQf0IMaDyoacv5NYUsGse6pocdUnV9/PYwm+spRoZWkVxT1JJAc8Wsy7XsyUlG8Rk3VnEzMFpPGQo6mchAupUt+fSHGh8x6S5wZ79kUi2HmGJ32yvbEyFT8nrIeUMs5Qr2sSCRIS93bu4hf//At876WX8NgTT6AsJF74zg8wWdvCr3/1SyzqBZI8Tl4AoO9QbMJyCc4FpgoEMUy435Hn3DruyeXZ9Km9y8dngay/NY2EY+fMPjKDWlOiyrCAABIu6zOQEhmTEPH3RByalT5TUKsJOFHyIhMmY8p09vkZSBGr6Nm/RyEqmfmcGCdQok4/22ve8qz3ICM7jONv1hqROQjMoL7wWCz28cafXsGVyx/j+W++gOee/SqKckgzc8N4nhOnHsa/+duTuHH9Cl599RXcuH6NdA7Ce2utAe9h2jaInGoNkEihVDKe2cBeTUrXwb/xc06K6yF8Y8YTnbTsaxGnH/jsbNNfpEpistzqoSiuYaCF2gsF9y87ZCrJOUieim9g8F0GO6Y15V8Iwq6ScyEhSaXeBhDO89Xdz4S8Dzj/Aq//hnE/IIVKoGnb0FtKQ4mttXA2LNmwHODc6XN4+MJFOOeDuEYbRIC8peZm2mTGhDmETddgNpvh4HAPR/NjNKaG9QbOO3TWQAsN4wzQAbPFDEIHCkjXBCXLoIKLMCtKAMqDBqZLjIfjGLjCegwGFc6cOYVTJ09jNFhB24SgRgodenfqFsZaNG0XFbvgQ+9Z0wYKs9Yaq6urKMsyqhiCKa+xL5bneKZKoSBT72JSkaOCZLMTQJgZqISGplMqIk0H3INK1R3Fa4yEmkipydG5WCGWkg84o5hZ9es+9K8HpMVgWURqENnPTKAhsyjR8MTkTPC1hO93XYeu6zAcDhOFxgek6eSp0/ibv/kbrKyvobOWBDKC4+IKxK9//Wt89NGHESVTKqh4C8lVT5ecVfYSGXkGmZgFX39C9WQ6XEvqb3lykp5R/4NE7DlgEY1MgCELEMJzUVmVKVSx80MehJLQe0Z9NC8DEzLH068e++TksndK907mPc68QwoIvI/0k5ySxiBJZpFjgtMzSlFBW2YOiW2CiR+vVFrzjc1N7Ozcva8CzC8pJUzXYTJZzT5rSfwKvA7sujgDT9XF/v0s/abPA00Cs3osBgrQYiLEox8c11mznxW9Nc8DRXbm/PN5gib8g41/SuT5/fv3K+JeZkXnpDDOO8XHNUDsvc4BsMgkcelzeW5uvG7jevfiqV+QAwQgVFQDKOFgnSDUmFBr79EZQ7PEJayzpIXgYmLadYYUFsOscz5/rKDvWC3Z2vi8OJISNIcyiJA51IsaQgCLxQJ13aKsCuqRC6AHR5r87KfTKT77bI6yUNCihJIKZVni5MkTOHfhNPmiOabTIzR1HRw7B9mQmNcNJqMKV65dw2OPPobWOri6hZYBqLPWYjAs0NQ1Cj2EdQ5102G+WISRQLpAPV9ge30dZalglUA1KFHXC3zw/m00ncHhwSHOnD2L1dVVHE+nONg/wO7dHUjlcOLENq5cuYZTUmNzcwMHB/uoqhKAg9IC2gkMJqMYoHp6XlppWBP6r7WWGAyHmM1maDsDKRSsbeGcQdfVKHQZWSfwHs51OD6eYnfvEM4L7BxOce/eESQJm3A7tPNMRAqaF+OVCYTWmDc15nWDc+fP4uTJLXx+5fMYogmu8Dsb6XPeebz//ocQQqBrAxjirIVSEiurK+hMiC0cJOaLGnAOL//+FTz26EW01uHoeIZBpUMsIaifk/c3j3Dj5JH8B+/vup7itVd+j3/zt/8ew6pCR9U9QMC2LYQHHnrkIp772jfwx9deDi0nPgHDgpUBM9AvmiifCwWl5M97T4CbT7YsysyEdKqvMyAiW4Irm27J9ud6p4lFlsBRnqKQ25jYsxv/P/NQGcIUq8gsup+zywASGEqAYbQNjpsMsh76qIXAPvz+pJvtogeiIIePYlppdnFPsXXpupegaIxGI3RtmMChdQmlgL29e/jNr3+Nvf1DfP3rX0NZajz95Wexvr6Gn//sZ9i9dzc+z3xxcqZLIA9l10/UdEH3xv2orHmSS1MuwwkhWefPSc8u98W5fQdygD4JJiL7jN5nLfl3XufYcpTFqg8KJ/m94rbKNC56sUXPW4Z7cd73GADIrscTiCnlX/pcphJ48iM2JqdBhzScDRWdYWCwedNid+cOfvmLn+PDDz7AN7/5HTzx5GM0GkwGhoWqcOHikzhz9jzef/8d/PEPf8Dh/l4E0hmo8T4AmVYG5lAUGpMSUoko9sYrypALg8kiixmYPcExs1i6zaB8zHs+A6O8IAFIAhsQFOMFgQMMiqdedxHfM8ZWAtAygWuEucSqceoZphYo0l+SKlSocxb8Mm05Z1rlDNcv8vriFVtj0RoDSIPOdCgrjVIW0IWCaVsUeoBCK2ysrGNtdR1KlbS5aJA7uPKYbtAYh/ligdlihv3DPewd7KK1LVThIaSHcwbWdpjPHKy1GA4qzOYzqEIGMQ8viMpkUdcNutZgMKiwMh7BtAZaFGFWnAC0lCiGI5w+dQaPPPIopCqxmNdouxYCAkoomNZg0TaJBgoP64PypQ/+F8PhEJOVFYCoA4FaEObQcv9tb4B4TChCKd35nCLjo2Py3gfKYgxiqRIlks2OozPyKpdPRokTBk/jg2Iep1jQi40Mobu0A71jRVuZbS+26GqpWuwjPSck0pxk0/VaclzcF8AJFCG0ngapu4xmzONbgpx3mO8XnJDA9vY2/uqv/xrrW1swzlKvc0BllS7QtB1+97vf4d13302JlTcoaD5xiJS4D0Bm15MCdSlkDD5c5vzjvL1IRYuwV9ItiONxbG9sz4MSsHyKV0KDUyO985aCdw5oVKQz87Uq9YBnxNTRLHHnitp917Ak+54nQj0qaSb1HxMeqlhyTBedosvQRSAisvCBvhLmT/owMB0iqWeyyAhdgTUuAGTk1NY3NnDixAlIUiFfWVvFp598nGbbZddgrYl323fWaZ3Y8XJ1kkdzOBpdhuhQ03pF1gVXMMh+xT6gGHhkVCxHNRfqM/Ek2S9ylU4fkCwXE8klEIIrwNERIc5wzZ1HWggKYWljekFzMl1Ycwumw4FobuEMGpfAFUZpUwBPz8WmEQK8B71PAa+PFKYUHAnqtfU+jEVhhyppHQRRjSXP9HQWUsXVCSCqC6JNUmsI56BJRMIDkFrD+lDdldxfGQMWJIonXDijxkchJuHZJjoMBwU602FQlkEc0XSxWmZ9PnorhRlnTp/FmVMbqAqJ6fExDg+PMT3axVtv3MJwvAotBGZHxzg6OMLJkyfgXKD5Ci/Q1A02V1bw7FeehVYKzzz9NO7evYWj3X2UWkAKj65r4azB7PgIRTWAswaD0QoGgyFM16FpGty8eQuDqsBwMoLSBeq6xqJeoNAV4Dymh0dYn6zgaDpFoRRW11ZRVRrGGIxGQ+zdvQtvDcaDCvCAsQ5VqTEYFljUNQwMhqMRVtfWYY1FU9cw3kBIgUJLKMmKlgJKhrUZjUooXcC2oUet1BKwHaTw2FxfQ103ODg8xlgryM0JqlJh73iGujXwUgVggir2h8fHePW11+GtwZe//CUMh2N86amnQ+XU2lBNUQEck5BwglU9JT6/cg07d3dJi8Jjb+8Aa6tjjMcjtE2Ly59ehiyHgLfo6jmUktjf38Xrr7+O737vRezd28HqqMJkWEI4SWKVxCBgRokUmTYI7Q86e3v37uK9N/+M51/8HqQu0NlFFCC0xqAoJJ775gvY2bmNq5cu0ySCZKNSkpGN9eAKW5aEcHIGGQLfMBKLzlkEU9jW9QHGRM2lUUbxi57h4y+W7G1fzb1/7emkxH/x3M7A/o9ZUNRPvMQOC5dhkwhpzt713Afr4nFn8TsgqGdzspzRtFLQTOuY2zT+GbatD7rv3nfpZ3RJ412aOQaDASQcjo728YdXX8Z8eoxvf/c7GI4GOHP+Av7+P/4D/vmf/gnXr12Ov+/jR/Q/h5+1lBKOgAmOGJ1PA00lAFimy3NEmdSOe+8pBWg0cgbE3+dECBBPtWX2JSCK9PLeiKFoT2QtJdYpqc0mE8R9LbPe0aTVktYhF67Mr3npa/YpnCUTYBPYVlmrDfsoBjpEpgeS7+Uw340YwIIEjiSxpiyct7h25VPcunkTTzz5JL7z3e/i9Olz8ELCu9DjX5QTfO3r38ajF5/EH157Ge+88zasaQFOTgkwNc7AtAaFLqB53jIcANWLIR0xNqRnwCHtVyZ59XZR1p4TC3t5fEB0ZOtcZKHFyQFhgDsUjbMKTGUZR1hFcEakuCUlugLCcQ9vankDsU44AQ6j9fjA+QiU8I4UMoFfUlLu+H9FxVaoLhwcCWiiARuj0XqHYTHA9toGJpMVbG9sYTxcpb4jpICPkUWuZPgwr25/bx/z9hgHR7tobein1aIIiIkQqIoC8EH8QwJYnUwgVFDObG0SJ1BKQQ+LMIqHDooDo/wek/EKTp8+jbNnH4KSJRZ1A2NCEhr6pGpYEx40IxzOeTgTRDQ6OEzGY6yMJ4QupwRIsMSnD6M5FA9UF+mkenpKOfrkSZGUFWC5F89nFcFY2ULKLSMmlyXF6X1J5ZRQLUv/5kiIRXJgnh0FER1Aivfj50QHxkG8jdQQGZVfM6XYrFKTVxaZssuOLt2/Q9M0GA5HqZ+XfmZtfR0/+vGPsX3yRKCsWwtAQYoQBFlj8frrf8QfX/9jqPDQ4dJa95rynbd0QARgXTTEeZLH6J/LJMUfmJwyUubTgeZEP4r05OfmQRXGLH6IFXOiaDHwEXsmlpCquKeywIL3Qv+Z9a+378R8dh25wiXvCvHAUQsCgMmS3/TvKTCIoBCfi8yBM3UJgquY2Rw3GvPD1691gX/7t3+L8+fOkwiVxMsv/x4ffvBBqCX1EHmB+XyOQTW8H8WlV6AwJ3i4X0D28f54jEJcrowSz+csRnAQcd5qOGMM3/Eqpoql9yABIzLcmbAjoqBTv+c91j6YXZj3HWcATX52ORl18cyLbL8GL8jXyAyN4ORsEKmIyoi8l2hkQW8PBsfH5ztRo2gYPfXriFjBJ8V1Cm4FOUoIFh6kz5RE7ab30FpDtJLU50XSOwBQVlWYVew8ZBQzTmrugs9KkO+P/T2e7xseSgkMhxVKq1GVGvNZHQJUGQAZ6SMZNNsfwMpkFWsrq1DSYjQscebMaShZYF63uHnrLtrOYrZoMZ1OcfrUqSBkZS2Oj6awxkEJFZhE3kLAByDYCTz62AW07RxdV6Nb1GTDgaPjY1hjoQdFDAi895hO5zDeoW6CWrI1Ft62sUI/n84wKEpU1QCj0Qh1M8POzj0UWseKxpkTp1EvahwfHUFpDe9cZLs45zCbzWC6DmVZYjgaYjFfYDwaYzQcQkLg+PgYSimsrq7C2qBaP53OUTc1fCTJWBRFiScefwy7+/uQSqHpDO7u7uPl196M8309Vwetg4PF4bHBhx9/hvFkjPWNDZw6dTqxXKiqXlYD6qkO58UYgw8//DAlhFJiOp1idWUMpQu8+8472Lm3i62Tp+EdUFYFRoMBXnzhW9jc2sK9e/tQssCdOzvA9jpGwwpShtF+PDvaU1XDexFG/zDzSDLIYvHR++/j/MOP4vTZs6jgaOalIwDPQBcFvv29H2Pn1g7qehH9lSB6bH+yRZ54+SWfgQTYimRnI2gbtYL+ki8LZ9JB9F1E/8T3WpOW2SHMoYz9yA9+i/j+noBFEenc+fUkvx2pxLkQHfX2sd+SkkRHI8urT1vkHBfpbe+7wAgWeJ9Ej/iXYj6cgQKZirMuNLwXaJoGhdZQ2qNpPN5868/YPzrED37wfWyf3MbmiZP4+3/4B/z6V/+M999+O9rv5biJY7rluCReXgz8BLVhpV7nqPewfHMQUf8h+vn4DO/3lel3U7IcbGnGgMlDNe677AEgPIaO/SOy60o+NPza/U1UPT/YQ5pTnAP0dV/yokLe0tNjD2XjKPNnC5/0JUBAQJxqkp07joOt93BugffefRuXLn+GF1/8Pr7+ja9jMh7D2DCD2jlgsrqBH/34r/DEE0/hT398DZ9f+Tzo/dAUAKlCtbbrOlghoAoVAew4TSKKljJIk1GMSVRTynyb9wtnqf8ZUUAqYTrB71rnwshWnnoCAWMtDABVKqJN0+d4AslJ40YunycpIL1MIFUmQJq3KcRn46k9Soge00ew4JXjv/9fkNhyFKYkUGiNpg1OZFSMsTJZx4mtU9hY28JoMAIgYQ0VVoSCdYZmEAVDVTc1Zos57u7fxcHhAWpy5mE0jUEhB2EJVIVioKEGGrPZDE3TAC5gtG1j0FoLJR00WGgnzNQ1nYdWBYQP85pWJmt46KGHsba+js54zNsprA0JYNcY1HUdRW201rR1wyibshrAOYdyUGI4GsHSlonUANE3TjpW1EQ0KqnHTUF4lSpYzhGNj/s8wyGykIRCGSiwsiw7nj6lVlAfWj4rskcNzZLq2EcQkw5yzESjBicmPnD1l+XxmVIpfAqKeV9wP0Y0rz0J94DAMB0yp1gaYzAcEPWNkxwBjFcm+PFP/wYXHnkUHVU84qalpPbdd97Bay+/DNe1FPRToCx9FGIIty4i9TIuo0BClXI1aH6u+SiFpaDAe6Zu+yA0wIjP8j0jsi9jMpG52977hSQfafB6Ru9IgQU/czYS+fF0UYAlg72Dg4EI6q550if6n5/fp78vqU2GRVIfGxtbnmXK7ylJdChsfXrWjntvGJWNuFxEz0Ezar33sBB4+MIFnDl7DtYFBNF1Hd5750PAawjqoedV9RAwDhhoHcb9ZH2vyXmz8qqM9BdWB84r4gwCcH7LVYZU/BW9RN2xRcicZI5FCKLnS5G+L4g6lIAQnz1fH3trJfV8ybiuMgIvKnoTSiZ7fAAH5TMUG44URrPGXQIZJLEnlFQUb4RKkfQcLIez3OucY7pCPPcymw2dqgdCKhpLl74WDHNRggt6b6VEfA/vLOANlCqhFfU9cbsFtV4o6odiO6Ko2hcUK32qzIYLTlUcB+q7N/BeoNQFDuczKCUhhcfG2jqkvgvnwkidhmirPIfcky5EUVSA6+Ah4ayAswZKCpw/cwqfXb6KhQCmsxnNKhRw3uLo8AhSKJTDEZxZoG0NmraGksDd3buwvoVSCl1rsDIeom1mYa8ICVVoOOcwGo+xt7cH5cLIufpwCl1oaC0xHAywqBssmgZaNxivAndv38XTTz8DpcJ817oOyXtjOkzGY+iyQAmgoqBGSYFqNEDdtVCCph1KCdO0aJoWg2qAtnNY35igHHTYKEeYHh/ikYuPoWlaOOewOqtx7949TOdTGBJtFIWEhcFgWKIYDFF2Bp1zWJsMsH/UwgsF5w06y/Q0CWM8rt+4g677I555+skAdChJ5J/A6nr44nl8/MmnERC8u7uHuq7JFkt4SJw+exaDwQDzRYO333kfEhpNHaY8DAYjrK6twQuJ3/3+FaysruPv//7fo67nmC4aFKXGQAdVasFUYdZYkD7Mr2d2Dw3KEJBomwVe+92/4q//3d9hMKzo/LhQ+XUC3hqsb27h29//EX79i38MoA9D2AIQSkFaYl44AUtnmPvdHIsJkQ2RCPojPF2BR9rFidFUOXFZ4pv8mICM9jQBVywIE0eBZUXQfpDZT0JiMhkFR5Colg5ReZ4/O/e1LlMqjoypDDD2DNBRX553ubgQiTuKnKMbDXesRub+UWQJYfh5lwHPJkfCYrwTLSEBFVpJSBGUzbVzKMughH3p4/cwPTzAD3/yA1x4+BEMRmP89b/5W2xvncBrL/8ObdMEqn8+tiYuK1O/c6qpS4r03A+c0crDfyZWv9iPSSdipVf0VPsjKpnuM4L0XMnnWEQkRH45kcmeTdwPDGpzzy887bFEWeUHIOKC54lxLgSWwAaR+vjCFsvunR7KUgycYlXJ8SnHO9w8LPqikJy8RnCUfT3Hg+xIfRdA9ekhfvMvv8QH77+PF7/zIh5//AkUZRHexQkIVeChRx/HuUcexrvvvI1XX/k9jvYP4hQKeBEKNfDoWhO0YRDQ2viYyTez+4bl5xX2SWILJ5FJiEw2Mgd6QLGBVHEtrbPQWhJrJmTJjiu6zsEbA0MtoJpBg9gNIGIbJCIFOQH72UPN9k8aR+W5mpu6CQhQCAymoJrsY8vmF3l94cS2KEKfjXICg2oIIwystTi3cQrbW6ewMtlEoQah98I5OCo3B3qujSjfbD7Hzs4O9o8OcLg4xHR2jM52KEqBYVXC+wLz+RzOhmHGzlrYbo7OdBTkBqPdtR0qqVEVJXRRQWmFRdPCO0/NyB5lUWA0nGBlsoHhcBXOSHRdQwZToW1bWGNChVansQ+J3hhQ8PFkgqKqejMs+ZX43z4ZE5ehZ2RYg2BLQIGcs7COewl9mm2WD0mOwgkp2YgmXziaRRrmzHFfUjIGvp+osTADBaVJ7ElEpIT3TPzMXr9h4u8Hhy6TY8lGEQHc3B7xomxP+7iZPRlNY8J4iyTcE57vcDzGj3/yU1x45BGqOIs4b1SrAgICH3/8MX7zm99gsVhEQxQQdTogcpmSmiGuueT+fX21ffRwmSKVJ7sxsY/4bia+lL6ZehuWnCywHCDwgU6J5vK/57Qa9BKyHJVOn8Pfl0tV9Qe9d36//eeW/kxJ7TK6yclFLiK2PMYI6UxkwZUQotdbK6TAN55/nhLAYP0vX7qM27dvU09av7+36Trooug52JSkJucMpBlrEfnOnCN/L+VDeR9sel8OonNAqA8OpOefno2IVj6tKT8jpiwvnZecgse9Kvxc6StJVaT0+NnVUK+9T18/eL/xz1LgE20FV0gEoe+iv+4xPiT1RHJWXK1Nn5lEbqRMwmOC5orzdknLwy0oBoKYOMPBAG3bku0PbQUFCXHAp7EZcZSI5/7/5FhTYJ76kpq2RTWoMDIjVFWBQTXErTv7qUWDkWTnIaWCIsrzweER6mYbmqvbdL9KCEitUFYacmEwnU5hrIWSAlop7O7uYn19NYAISuLw8AC3bt7EqRPb0EphPp/HM1HXUxRaoqwq0h+YYXVlFW3boixLSC9QUq/S0fFRBGqFkFhZWYUQCnfu3oXtDD759BMMB+F9jAmtRHRwcXg0hyV6M4NFSksYa9A4h0qX9OwkqkpDKYej411M54cAgKZpYFqD1177AyaTSZgxLIswL15JKFWhtQZChv7kwWCE9fV1HB4eYWVlgqeeehx/euN9eB3AKUtiKoAAVDj/t+/cxbNf+XIAfa0l/+2xsjrBE088io8+/jAIsAiJum2D4nYyaGiaAHxeuXIVR0fHKHQRFL2lRFUUkAL45JOPMZ/PcXg0xYcff4wvP/0kLn/0LgrlMR5txXMaKoThXKho8xUUUf95DqTSGkeHB3jjz3/Ai9/7AZQuwhSI3O55h8e/9DTu7dzGW3/+YxzfEyupWkWasKUWEES7m4kjiSRGF5NJ9tlsr9l3USKZ2wEh8rFbuTVJICCfIX4tv0ee3LKNj0kxQrzCAGKsPvJny35c5X2yo70qLtu+2IvMOQmd/xjQ+2iX+5r7yS712TAi3nJkymS2Otp0z+/IcU9qUVFKYUB2qm0dtVUJ3LlzE//4f/6f+NGPf4KnvvQ0Cl3ihW+/iO3tLfzin36Gg6ODPG9fAg/4mpeeFfuxJduWPycf75MBSJM/pqiWz8mHI/vN7588J7+XT1HOXxiMkMc3SClVNn42PcdUN+3D8/lFOud6+8pTnCwgEjjt+5/JwEO+lz1rRgC9heb3g0SviMM/4uiM5n2/OWPKE6gd8pQWt2/fwM/+6Z/w5FOX8eJ3XsT6+jrFC0FhWaoCz331a3j00Yt496238Oc//gmL+YwS5QAgK61Jhb+G1hJCS2JS0XoqGXcEF5j4vlKs0p/McN8rizuAAEBpqakyjzQmUApooWFtaMc0NoB70DIrDCGjwi/pf0RdEUQGlycwIQmCUfyVqbv3tpQUD76H/8rrCye2GgqbozUMqiHWVtewubEFrTS0KlFWQwAlnPMwraULB4w1UCrIYjvn0LUdprMpjudHmM720TRTeNdCeAtYBeHCmJdOW8wXi0DTtazGqTCsirAw1qGSAxRKoyzCPLGuM2GDmTDjcHV1BZsb2zixfgaFGsIbj6ZtIHToN+sWDUxnw/zTsoz0XwsXRUygJMajcSjDx1qIj8bbkWJioN+BxJw8CeykaJiDR65WWm97B9oxdMOKrJloBICg0Iykwigco3GMKskUBMd+94TYCVIRDJWSjJMfyijR9AsKYKK6Yi6epPoOAaAk3SLNjCOUMaeBIE+KqFJsiXoRZsFRSwMhQ+PxGC+99BIuXnwkIEbWwfhAD9c0p/izTz/Db37zG0yn01BJgYcuwuxH4X2S3M4ORn5geo6UDnns7qOE2DumWkfLQWuW/ZnZ1PD4fI9SlpBRH++T6RXh412iXvQ+g6ldCV0FMmrvEjUH8fn1Vj2+Rx9x7yc4y4DIctL7oAQ47BtHSowEivgw95mr155vWEbuWYQafVTn9nFWIdOQIQROnDiFhx++CGNMVFR86623Ya1DoQNVx3IvrgDqusZwOAz3lVeZ8QCjSFUMy2cjSyC993GQe7aCqTKSJZzL5KkEAHFUksnrk4p6v32hj04jQ+5ZsZi78cH9TVGxWWaBHbdjpH3qqZdXeBEVheM+XXqeAqEnJiLAbIukhxIKgIfNQC++7sCO4U3NHjatEe//FHxHT0sVr2CI+HwRoSeeq65tY7BmjCGxJ4tCh5nkBQEZzoe5vvApyESW2Lis78+D53MHoSmtNIpqAMznaIwFpIIhSrZxQNe1sPl+IF7nvf0DfH71OoalxmRljKosUJSa+n1d8Id+gflshnqxwMpkDC8l2q5DXS8wm80wGACTyQjr66vxWZSlRtM0kV4YFDUBYR2UEGjbGnCAJkVLXWpoqbE6WYWxgRXF1H6pBc3DBZq2BoRD2zYBcVcF6s6EKQZUQfPWBtVprbC2sg4Ij+l0ikcuXsTR8TGMMyiLAlVRoG1bmC7oIsxmM1gD1HUD54KvbtsOUlhAiED1rcborIEQMwAOx8fzINgoBR65eAEffXYVx/OOKpUCpA6YASsa12/cxerqGrQW6EwLKT2eeOwixqMB4C0UMyuci2JCEbSUQNt1eO+DD3Dy1CmMxkMMKg2tQ4/kbLaAMTr0yAngtT+8jscefQTrm9s4nh5ja2MdZVlk5z/rnfcu9Brz12RzHPnWy59+ju0TZ/DkU1+K/XkRKHYGQml8/Vsv4s6tW7h76+YD7HOILaRXNHmBhffi6c0SHBErtRyMs5Aa998vYWyUaDJtNFmFmMD4B/lzh3wsfKqMiQhigntqIwCbWZweMyiVpLxHEkqKoGFfAFCEQKR3LQzQe+9Dcu+5GsTU6KySzGwslYpHefLc94cuJT8xVHC5248mjW1iWYbRYW3bQJcFAIej40P84he/xPHhHN/4+tdRDUo89sTTGE/W8LN//E+4dfMmiRr3xfzSvQsCZlPi5oSnWJSfEbKEPDGM8hQjoojxWaS9LCke4bCGz42Ma5mSUVDyk1bB9Z7J8lzcOARCIDIGOIESjlo+iMXIP8u+z/m8J3fpYx+QXstMnDZ/p9ibLdO5iirNDwB8QXRfLvrwDuB9ESFaTzcoDLy1WMxbvPnm67h27XN84xvfwrPPPouyKuFSWzgmqxt44Tvfw8OPPIJ33noTn378MRaLGsIFuyFIlLc1BrAGWisUsqAzStdAbUDK52KmdFXsB/t3k0Dv5ZAo7uOwz7wTQbOEzr6SCqrSYSa3s6E9k4S5BF2Hdw4WQcvIx6oxPzNP014UCTPShAcf9pjLJjQwg47jd2MzsdT/hgT3Cye2w3KIlckqHn74IlZX1qBlEJ2wzsMaD2NDcMoVFt5cPNC6aRrUdY3pdEozZT2qqkJRarRNHRxi06LrDPSgwHg0xvR4iq4zKCodEiIDSGigMyikDtU7Cr6kCKhIqStsb27j/PnzmIzXAKPgTOjp4yS7bVvYrF/L0wFihWPnLKqqwnA4vI/qkBt5uRScBqcSDhKPTokJbT7TiY1uApmQ7E7eN8cJiyIDFq7PxioHK8b5qEbMVQ1eE8FCFz5QuIVMFBf+fa66xsCVmvEj1slneGkYukNfaRExl19OisjhEVpcN3Xs2+PPdi6oTX/nu9/F008/Ayklui48M6mKWOG5ceMGfvWrX2F/by+ABh5QWqEoimBwMiQ50kjRR335Hpxzkarlwc6Y5r0KG+8zd4r8Coqsy31JaV2RoZJ5Fdb7/Dryqnje97nsOpcSakSPnBlYR0EgJ15JpA1eZkg/eu+ZP8/+M+sbe7F8VTmymfe5ENYb/DFT8lNAFYMxmWaUtq3pBUTPP/9NlGWFzgSqz507d3H58uVQ4SPqckwGs3PZSxizYC+/l3hGmHaXOciIhPaSP9ELBPk9hRQ9uxCvn7dDhuzmyeCDXsvXHL8fe9RTwpeq5WwfYjoZ7UhE+jPkP39+vfvjSidTjrnSoiTlqzwXEzGIipV5nl2XzSTm+8+BnQiWZedD0FxsFTsoBPLD5ByvKeLzTrYEUCqo2FvTxUCMdxe/H+MvjM4nWC4EwoUuYEuHo+Mp1tZW0bQNJpMJRsMhjqaLmLhgaQ/VdYNbt25jVGq4GwZSAePxCOPRBEppFFVQdm+bFtPZDCsr49hKUZZlEHIhf9SZoHRsSfEZrBehJWwXxtlBCEzGIzRtg7btUCgNISVm0yngQxI8nozQ1R1pWzj4LsxY5/cNM+NDVbFpWhJEdEGYi4K1otQYj4fQWqKua8znUywWcwh4bKytoTMGJ0+dgpJF6IOlWcRaanz22SVcu3ENgAi9WlTtq5sOhtB/axRaAMe7d3F0dBQATuMhhYJ3DaSQKJQKuCR33BDYc/XqdZw+uY3NrVU4ZzEeDfDoo49Q+7aIe5VtUwIzPFZXV/Hxhx9hb28Pzz73HJ599hkMBkVoO/IOn39+DX/60/sAwroeHBzg9T/+CX/z4x/g9rVLmM4W2CjKsF6kCi98CrItAU7O82zUoOsB6tN7+403cfLEKayvrwCWmCkujP6SMBgMK7z0o5/i//jf/t/o2jYmiNFeUq9sqLb2beWDbIlEChZdOEDBBaSaTs+g5T7bZ/bwPlsRzxjHHsuXsOSjlmwa24RcVR2sUOCWFPVBiS2bxvwaskSJ45IHLETPZ7P9TH7Yx7aZuCTIY7Qs0M9+J9lhZLTmrAItBUajcFabpkZZVRCQaBY1Xn359zg+OsT3vv99jEdjnD59Hn//H/9H/Pyf/hMuXfo0vKdMdj67FXhPY7GIsQLp7gcqY4wWLohVnjmJTM4kOrrIwuk9srxyH/u0s8Q4b/HJnkcivj44Acn9T96G4+haIjU3ey+ZJUj59eURVgY7BLFKv3wFeSsRYpwkc9bZfayAzObTM3cugKxKZb486gdRskZ7dvfeXfz617/A559/hhe+9SIuPPxwnDXPjNFz58/j9KnTePzxJ/D7//w73Ll9B14mTJztk7UWsKx1EfrhrQ2iuJ7mQ3up+i2LWbsf25L+ibg/tmOQx3ueeJMox4JQicKHCq5zFkKlIlgEqcQSazGeLx8LYP2YLHy6ZIycafCxMp/u4UHH/C+9vnBiu72+ie2Nk1ibbEEJDetCw7HpPExnsrmjATWFDAli07TkkFvUbY15O0PbzCG8x6AcQEqJuZcwxqDp2pDNG4nOGDTzFs46VEWQ0+46Cy0FFM/DtC45MwOsDFZw9vQZnD17DmU5QNtYdLaDkBJaFWjqBsYYOEdVUWqU7mwL4xyUVnA+CJNUgyGNJnJZU3k6QjEO83S/gpTkwYI5ueNIaxMk63lr0YGJiRi5iqi4ylBRGGHgnA3JF8ni54G1IwEb3knxmpkKzcgozaPlDZNoFnzdNopAMAc+r8TkL0HiD/EAZfx+ToxDQOzJKXss5jXN85KhSuPDsyhViW9883l85SvPQqoyOGYaiCqlhFIKe/fu4Ve//CXu3rkVAnJOarUKJZ+oG08OAlnivlQli4qu/A1JgAz19XjQTNbowNmpcUIQ0EcR/UWo1vlsDms6tvm6+d5z42tJ/4Ys+O8nmTlgwMlM1kgYVS1C/2aAXCXTrQTuC1IeRPHIHTsyA4MlA5jQwzwtZCoYAZnxykRCh1nlgNX9nKFgLez3tfUNPPnUkzDWxRmy77/7HtpF3aPycXBXL2oMihIK7NBcmr0LARu48xG4ENkzXzboEEjqyLS+jsa0CFJFXU76w/c4EC0oyOah4/RerChNn8Go9DLYIuPC5T1TiNVe4S0BbTJzEuhdD2j/WFjG/AnRpfPEFepe1STcOCc4gIA3CobTwGgrPFUOWHFdxHiJe4lpUG7apzzXl4IsKV2oqjBzxAu4MB8+BgXw4Th7UhIulAachxJB1Mg6Cy8FdFXCukBzhbCZVHkW2GTAVFAmVqzJDQ9FytUSXdfi6OiYknsL7y08NFWdmJ3DvckeX//ac1gfD9B1DdqmhrEG9aLGvXt7WF0L729si+PjQ5w6vU3RgQxVQbq0+XyB/f1DjM+MMahGaOoaSiPafeccOmODMN5CwJgGWmkAFqXSULpAWVZhVNFiAakkhsMSUgp0TY2uqQEAg6pCV7coiyIAF6aDlgLWtHAqtAxtnjiJra0NDEcDbGysY29vD1/6yldwdHwMJRX29vZxcHCAe/cOMJmsYG9vH/ACw+EQK5MVVKMxVte3sL+3j6ZtUZYVJiur2Nvfh3UWVVlBQqJrWkjvMDs6xs69PUznNbrWoRJh5riQCnPrUcPGSoSDx/FsistXrmJt9ctQkHjs0UexOhlhVtfU10609thbzRS4UEF+74OP4JwETGCfwdIO0BWa2qFtLYpyAGMNvPV455338NVnn8Pq1kns3buJwXAIIRxKWYT+cycCNT1CeUjAqmBav4IUArPDffzpDy/jBz/9K+iigGmbOGs+VHg9tk6exDe/8xJ+9+ufh15iCEilSXjOQtPoO0T1cT7395nwaAei74laDeF7UghiJrmY1BorI7uJewh9THqTveIiLNt1D8BlDKP7k8xkJ+NvZW7HMSuJe0dlbPOMAoMp+RQ0mCip8caRgRxMS6LYuuxCKYZiH+OJ0RYr1Z59vCCwlXxBxnTiKqNH6MUPi5v1fnJ7DcUNVVXBdAbtokVVCUhl0HUG77z9R8yOD/GTv/q3WF1dw9raJv7uP/zf8Kuf/xM+fP8dvqklwDzFGY7U3oVDVCnmHty8CMNigc4nUS9y3HFGOOJTzlOepAWS8qQ8JhBLnj0HiBnU5T2Q5sUKYjFx3J2/HftqLwIkLjyD4zThA30/uRy3xJ0VY1UZx9W5uP/4qrOqZpbni3jniLF1+rzUyiQEkojc8khAUgQWMow3tU2Hzz5+D3duXsVTTz2Lr3/reWxtbwd9DKFhvYXUGo8+8QxOnjyLt974M959/x0cHh1E8EcIEceZdtb0tG94uEO6B55ZvDTZAQC8jZtICPSYaRwnCI7ble+dUUTtFkdjloJtclmxLoL9Iv9QWldDzEmVMQ4zRCSu+jLrlHIYF+0UvvDrCye2X3rqaQyqFXgv0HYWLY1PsI76ObOA03oLYw2m0xkOD4/RdDUWzQKAgzEdhPAoCg0IYFEvMJvP4IVHa7pAEYOGVgpVVcEaAyUVGmMgtYIl42WchVYkJmEcVlZW8MjDj2BtbQOAwmLekGKmglAS1gSeeKAwkgAFz5WSEpr6ZsbjcawmxqCMrUKvD65/2JzzNIqFv9f/MU/iQPw8U9KTG/3lpENE0QDPCWlM1NKziTLdZJ4lC+REqkWWkCMZGo8kMhEHf7NcekyEApTCfdL59TmXYOte5ZarvpxsiGComqYmelxWBfeAUgJff/4beP5b34JUGm3XkZOicSBS4vDwEP/0j/+EGzduxJUPlVqd+olovSVRsyWJe7FGQFQPzCrP9xmALMn5r70Sgps3O6T3j2hj9u9cue9fC69p/pSSYVtOhPvXkK6931uCmFz1+rSX5s7m15y/8p/pi2ug19fNRi9QYn3PTCaTtTSHLm1JdF0Xq1neA8899xxGownaLszunU6n+PCDD3tnI7/etuuwOhhEUCW5psxJZWsdJnOka1lGMj3PU8zEVXxmVf9iHOnT77NIW/avsXKdv1g0JXfWgtogxP13/MD7h0MGTiHut1hniPTe+xHa/L09jc7hrw3NThaSnB05tDCeI43viX/w2otEg86XQPSQV5pvGsJESEpcpUwtHqYz9PYi0pA5cAgCSy0KrdGSCJWSMnviaX00hUis5s1q386nZ61ZXVnmFb+8wblvE6SU2FjfgHQNpChQlmme++raBPNFC3lwBOcsjo6PAsovBc2nDor+s9khBtUAX3rqKXjrcO78Ody+dR11PYPWBaw1YQwDLLQqUBYlqiL4xKauQ5KtgphYWZbQIhdCcyjLCgVVhb1zWN3YgKO1a9sWUoWq92K+gPUeumxRzRrcubsHazV2d4/R3tjFuXPncOHCeZw6ucBrf3gNe3v7uHtnF03doKqGOD6eYWdnLyTNNMKCg6fj4+PwWRR4d11H9ySwvb2Fc+fPBbGrRYNbd+5ivmgxrzvUxsJ1LlRf4CMIef36dVw4fw5CKjzxxJORNZHvw/w8CqKofvbZJRwcHAIiJIeLxQLdcYPTp0/DWYePP/qUo1lYY+Cdx6Ku8YfX/4i/+esfoKgq3Nvfw8ntzWi/pZRR3CglgC4IzMgQZArP1E6PGzeu4f1338FXv/E8pDJwtKdDYusgpcczz30V169ewpXLl2gqg8sqSqAWqZDEi3he+7aLz1q0YXSmnWOSDNmi4BxjPOO8A1zoBWdTJWhd84oug8UiW2ifdWMKcb8vuc91RdOx1OiTzXoPZsZHEcWcAYKcHUM+KLel/N5pTTLaCvtZn8B2Tvkj2NdLlpLAVbKOeSKXrUemLSKIliylpL74kBA55/HpZx+iaTr86K/+BidObGMwGOJv/rv/DqtrK3jttZdJ+M4vxYZZBfkBPjyfZZr7EhH1AnyMifgeeE3yyhmyu/RIRZvsl7LrAaVTPcuL5Rc/u/i0c2A301YAjaWhO4r7wt/3Xve/OJ5FfiJEfNuwLjSWi+na+TPmPc+h2oOmQoTkVvU/0/voNwWNouN2OIEA6M6Oj/CnP/8Bn1z+FC+88AK+9rWvY1BVNPYmxPaj1XW89JOf4rGnnsCrr7yMK1eukK6Ei+Ay0+2t4Rm9vPcD6J22NTNCfW+N+WtW9Y4FH961fFScz1ENMPTgSbsnRngMjpAA7n37LwLyiAXAuJ6ZXUksEYovmG3iXBxb+t/6+sKJbVVtwJExDRQyhUIVkA4wMsz8M8aiNR0602HRznB0fISj4yPM6hkW9ZwGmQOF0gHBFQK6kqhQoWmawLX3FsZ2AcGXHkIBrWkpsQriDFqVKXBRBdbX13H+ofMYj8Zomg6zZg4hJApdwhoDW4c5tM54KKUBIeJ4GCcBZ0N/7mg0hJAyzjiTUsLxg6czz/RbpqTAix5qEV4+OgBwlZaBOE5qRaBxcwUWINqVAJyx0TEJ6mOknRnv2xAdIGJj3PNGMI7xDl46AmmCkwV4viTi54o4+9bGBJ6TXSBRY4I6Y/8+A8UwoVf8ElEtN827bNug+KmU6hllIQSe/epz+MY3n4fUCq1p4XyozCitoGSB2WyGX/7zr3D16nUaMWaglIQuFDz1LcklZC8g2wmI+EuJnGRU0QFeOEgu2bFh9bmTTKOQ2JlRzp71XaUXC4e5+FzcUmIrotPJHXe4Nh9R9uVrz9HvPOHy3P/j/stJa+4Y8/fLjdJ9iTTbI99/n/77ssEjUIVmN9KQZHjh4nwyIUIvh3Gk9AWBtbU1fPnZr8J0wUgrrfDhBx/g4OAgeimpFLzwsLZD13XQZUGzctPm8xFmjz4s7ktHIm3sLMA029zZxhvKqt/kml3mnFk0ycOgP4Qv+zPbFIJk8l1MNhUcTAyPZF7n5mAgcxIiu77eM0P/mhmoYkGYPNjz2YiFHvrmxdIoAG5RCAySXCTLU0VBKBGFa1hAIj4DuhcpJLw1kfEQAlDfd3COK8EEtJHAnvA0tkFmlWGi4ylIlLrAgoO9CD76eFDTfnZUMU7ggqA5vkVRwDoP09A8cykxnoywdzQPGrasBC8Ce4f3d9u2KJWDgwlVVO+hCo1JsYKtkyPsHU5xXB9jNpuhbVsMBhWEEKjrBQCgqWsMyxXoogCkw2Q8gSCho7Ks4I3FaDCE86T0LgRm0yA0IlwQeOrqFoZG1OlKhyq2LoKQlHfQSkal8a4z1K8ZKgBChJnRnrQXZrMp2rbFYlFjf/8Qw+EQ8/kcVTXA9PgYwntMD6Zo5y2pXavQl2tNaC9BABe01iiUgpZBzHFQlOhaA1MbzKdzDIZDSiaC6vRwUMGtW5w6vYEPP74EsT/HvDFx3k1uYuq2wxtvv4NzZ09idW0jTG5LnTKQwmMwGuLo6CgGpW1r8PEnH8G4DjRZOYqhSKlw+fJl3Lx1G0UxgNQFnDcQWmBzcxPVcID3P/wITz3+MD7/7BNsbW4C1B4TnLiD1joxrjhOcNzL11HCFNhl773zFs6cfQinzpyAEfMwXtCyqrqCUgLf+/FfYWfnf8F8GtZcUhximQkEQbRHFmn7y8Bnz5ax2IvzNJeTQGBw4OhicKruyx04OU50FtnzE3lKIWLBIAbLvXfKGWv0WwlLT+uFZeDZU8WSg+nMxGZYJYvfQycwM1uCaClZlT707OY9wg6R3Lac3FDVMcZ+EbhO2g4CgWUCYuZpHULsuq5RlmUomnjg2vUr+NnP/gnf/8H3ceHCBRTlAN/74Y+wurGGf/3lr9C2DQlusfgW37PtsbqWn3fPPzhERqOhxCe0jzAwKVJhAtzKlHqr88ZW3xtHyQmwiIkSgMRcyvpauUpOJzQmz7mPoacbGG+gqrvPpws8eG/fB8Yj3UteiU7VV/Rag/I2PE7OHflN/sjlWOlBr/geTgLSwVEbWzwTHoBrsb93G7/+l1/gxrXrePE7L+HkqZPwjthkzsF64MSpc/h3f/cf8Pnly3jtD6/i1s3rYXV8YCzxaTNtYKIKraOuTWjfSBoZgiegcLItl2jCdO02b9XzzGzjwJbXX0bfz6zTCAlla8U/LzMhPE9ME857eiHWUiU2MTD6MelfAjT+0usLJ7bOIkk/A1BCEooeAlDnPNqmRmM7HE0Psbu/g64j6i8MhPZomybMlS0r2M7B1oGCaJ0FpEdZKaIHAUI4FKWAdgqddRjoChoKUkgoaMhCoCgHOHPqDE5tn4IuCjR1i7YzkERr6roOpu2CwrIICZWlZDAmfEJAFhKDsooOhPknjmmc/GzpyIANhweczUeKcOKSnpTk4IIeYvh5Qsoco3ghAZWkQhEckMsQJ0nBmyeRjJBwmmzWHQsdCap6KKmDEIfwlNiS2FNGqVVSZSIrRM11AlCIAZ2j4FZkFVwh0v0j29AxAfAhemfn1rYttA5iHSk5Dr/x1Jeewjdf+FZQ/3Q2KMPJMDdLSo2u6/Db3/wWH3/0Ebx1ERwJCfLSociSvOR4EQ9zH+XkhD39rgDnYDJKnucvQQcvp1r2Su/LQhe0Y1hllecV/5eMJAcrD/r+gw54nuBw0hJNKhmIZdXJ9D7/ZSgsVp6XB5X17jD/KquaRiSO6F6ifw9CCHSGFYMknHX40tPPYG1tDW1rILVG17Z45513oyJ2SIxsrBC0bYsxJQR5EMQJIDvyeODTnaWxGNnP53vEsSiJEFGhXeQsqswRcMLIP99fVhEBKe6fZ5p8rIYirRkr2+bPdhn0uH8PIO629G8y35ixotSD37Meo965BqI4jACgqNLYd4iA4D5zqko5Q3uNwCHJ18s92MssNHK8MhcY4XPMCsgZuu6chWcKvAwD5NMs3XDBEZC0GSMiPyfs2LmFgpR2gZDkrq4WEXyL10MINt+/NQ63bt/GY4+coUQbUbSIG0LKsoRWGnVdYzZbYDQaUYLZYT6fYzgaoywrtG2DrutColyUUKpA07QolAx9xBSEN3UDrUuMRxPAeaxMVjCr5jjYP4D0YRyQUgqHh8fQRQkpQsCiqArddh0ERNS88ERNU8SIcd5jsZjHqQbNYgFnDG5cux7GR1FFyDmHtg4aCULqWAV2zqGsSsDTnFHqhQ+UzKBkbJ2FUgo1gZzGGCgtoYoCq+MRzpw5gaKc4Wh+G2XZwThP4G/a+wf7B3jooXMQQqNtF7BdF5J977G1sYHV9XUcZ4nt5c8/DxRzUgvy8BiNxhiNhug6izf+/CactfDKoWvDLFIIgWe/8hXc293Fxx9/gpXJGJvbJ3Htxk2cPXkCg4GkmeOhApzOX2Zm8gohAgjW1jXe/OMf8ZN/+zfQugJ8S4JQtH+oH/jHf/1v8fP/9L/DdF1IblyyS9J7KB599V8w3/cF/TnjxKeEkJ2eoEqUc476cV12M/1WrPz8gnVESJ/kfjvVO9hpQXp2TfTfM/t7bqMf9GKbLDJle+7LjtcT/X3eI0rshixDDvUF12P0LNvbuAz5rWVgd35/vJ5BUXyAtm2ContRQQC4e/cW/vnnP8NLL/0AX3r6S5CqwLPPfR0bqxv453/8JxwcH/R8U5448Ifkvp21EjgBiQmCCEKAPlIGRXY3GTDhl28srQHAYH5i5uAB+yw9Zr/0aNMXqUIcoYwHVsMj8PEXE8u/FMM8eLcIFnhzS/eXJKZ6a72c1KavOZYJ1y7l/XTp3vVxew+Atpnj/fffxs7ODr7xjW/i6S8/jdFoDGsDe63QAlpXuPjY4zh5+jTeeesNvP32W5hPj2GsjftBKRX9Cc98T/eZYhDWggnCXDLfsr3lW6609mIPAaLdSyikODMCAxndnKuwPZsoVXakfO/g+NyOiT4Qwdflfb/3/Yu8vnBiO583VA4PIj9CeFLcBBrT4HB+hHu7O5hOj+FEh+P6MFQFhUJRBul6KXUQi5AGnWkhRHggWgR1XK0UtGZ6iICVDnDAUEkolPDGQXgJrcNM2TNnz2JrYxu+s2jqNlSSoeGMQ93WsJl6GSd0zjuahxi+Hg6HkXrsmK6RUT6iQBQ9KAlNQ6RCsK5kfyMER5+eoaQRENzr4GXe15oFmTSLljdFCpRBs2ZT8O6cI6oEqA+R0xlJVV8HJXWkUUfTFXvQWBTBwVJQGikAtNGsWzrMoSkpITfC0YHO6FLUzxgTDQBNE0axFEUY3RDpIACeePxxfP+l72EwGsJSoKCgwp5QBabzGq++/AreefMNeBPETpQWKMogGBZmC/bputFZRrXFJQoy9cImY94XtYdXVGVkdJn6fKJ0fm+iZ/rbA5I/T+slRE497j/zQG0h8RG6FKXYWeXJqKT9gaUEpr+XeFB6FAlbqvDFa8ueW7yceN0+OUeJqH4s8sQ9CoBkQQ/tvSA5KYLABXxsXGUgybu0N+itUI2G+MpXnwv7gALua59fw87d26gKdogu9JlH5V4JqWSMXXwcsp5mukpab+fztVgKCpfvHey4w39FUQCUuEgSNBBSATHo9hCwEZWMf4a0CZYAL5VKAeRokqhRiI70fTYhLnYWuPSeu0SkPcU+4hi0IQsmErDCQBl/Djsj/ox8UQIKnIs3Ia4LXOjbFZqpXOE+ZdIYJ5BA0hxfR30zEtozQh96DV20oYLUwk2sdiupAeVoJipVHKSFrhSsN1CiSAtCPZaxNz7vqRZhT/L2CXY0nIV6NoeUEsPJGFA+9AMZRq7DTGG+fec9ZosFOkfCVqTWXFSDINTjBYajCoNKo7MO03mNTR96bJ0Q2Nndx5nTm9DVAA7Ardu3YIxBNRxByUMoJYM4VNNCC4nZ8RQrqxMMByMU5RAnT56ElEAxGsIKB2ctTNdCa4m1lTG8Bw6PD1GWBcpiEH2GsQ5aaiitIGQRR6Wx/wuiIC6we6TCgJSnu/8/bf/9bcmRpAeCn7uHuPKJ1ApaV6EaKFQVVAlUNbvY3JkluUueWc7s/Id7znCpmt1sdpeW0FoDmUgg5cunrwrh7vuDmbl7xHsJovcc3jqozHzv3rgRLszNPvvsM+vQsujR2vqEgj94WO/ROsu09QzT6RTL5QIDTb3f69mKwOjCI9cGXo9QDAzWNk+ShkZNZ3amMxzMlhiO13BhuIFPr9wkB5QTPDq0CKOkw+7OHrZub8PZFeBb6kyggCe/9QRubW0zaEtO3P7hDF4ZiCqLB7BgIcvmzi62tnfh4ZBlCspblHkBpQ0++/QT3N7ahm09fvHff4//9//5v0FBY1m3GA0H0mURDorlGfpBYAwZaKtZKOVx68YVfPbhB3j8ySeh8wxtVQO2AZDBO3rgS/fej6e++328/uc/MofYJxRIzRkm2gc2sG505ztTgEpsjvPpWZA4sYjZFyoHcMxoABULBMp38mwhq0KilEGFOgkCjmP0BGc6BZuRFtf1wFoRkOMWjloALMkmOd09kzU7wi2LZkpw5D1rLegg1h+Iz8GXsgmVOlI9Y+YycfTFq+RynySmD0CfYpVngJRly7LEcrmCc0BeOGijsb9b4Vf/+I+Yzxb47ve/C6Vy3PfQY/jX/2aC//qf/xO2t26xjUe8eC9bm4Ky6b8h1atCxw3UWXkkYkslYUTQCmEkL/S7kGD2CEbcneEwb0pGNxHsCi13jrw/LVxKBxLhev1n9TEj0WEexcx5HK70RNXBN+yWWgHcBSDQY2PmOgWLxacDNJQTHQA613xogamO+l1CyVWAdw22t27iV7/473j3nXfw4g9/iAcffBjDwQgepE7voDFZ38ALP/oxHnjoYfzuN7/GV19ehWvbwHiKfrbHqqHSnEwb+NAxginF0ns7wBKp+JcPnSHk7O8H86QZQGJVOnkerTTlxlXQMiO/M0xXBHqEeaXDVtLhXpxveVlngHNsL2NZp3MuqCR/09c3DmylpgRKwXqPylaYzxeYLRZomgrbB3ewf3AAaysg86jbFYq8QM596bRWGI6GMDUN8mq1IoloS3xxQdlNUSI3GnVVQzvCCMp8CO0z1G0FpQzGwynOn7+AkydPwTuHum3hWK2zqltUVRPqX0IGRgILGValMJ2uIctM2Eaa+7PSYtQhs9mdJpVkQ9BZCD6Rxvec8Q2STh06S4qYdiw935sOAGO/NrNzWAi7QCXGjoNhjYhOyl37I8qsPjh/SFAqJPebIjairkwHhmP6b5IdC89D76vrmsAKpgyLZL21Dg8++AB+/OMfYzKdUn9iPpwzQ5na1lq8+cYbePXVV2DbljeSR5EX0Ca2YOmjaXLPKcLzdRnSjtUL5jUKLsn3SDbrOEqEoHcp+tRfe0I97qLaSWjcQ6m612YHQrJjvUbVglSH5SV0kkRkrH8QhmkSKlmP9tytJe+qDXeupdWRmtKwrhPENt0XUAq2taGGAvB46KEHcfLUKUYgqW76jdffRNs2KILoQAQQ6rpBWZAyO4euHNXrcDiJcyLfKc/+tetBVoAgszCs1icUK+kracOBIJY8+j93ub6MhxKFzi5qGt8UUW/VG8d0LlPwI50t39vLYOchRZy7+yXMWuLkxTsKTIPkGfjdVJvqdAqzyyIJ+4ifJNxbAIm8YzDHJwqPisXyKEtolUKWGcAbdjxVGLesyGOWJjlEJYOuElp6sHueWDvWc09ARxm8vZ1d5FkGe3CI9ekUyt+BhoYUeyitiTHC1x0MR2hah+WcxKPgPdbW1+C9R5Z7bKyfwu3tOdqVxXw+5wPcoyhyrFZL7OzsosgzjEZDFOUQxjRo6wrGZPAsjmWMRuMchpvr0EWOfDpGNh3h1sEe0LRYLRbIjMHG+jp2t7ehFGWK4YETJ04QA6ltYa0jACAzXOLjoIxGnpMgIzjD3LYtrHMo8wK5NiEbVGYlltUCp0+fwelTpzCdTDCfz7Czt4uqrTFbHKAc5JhOBzhzbgN1VWNvbx9rGyW09nAtteQbZzmcs6gbylxlWYa6rrF16ybmyyW8Mvj8yleYH864saYLwYWX81FpbG3dwUcff4KzZzYwHg3gAZw8dRL3P3A/trZ3O+UjwRbwf8YQmF4UA7zyyu+R5TmGZYnxcAiT5ciLggL5tuK2Nhp7+3t4+6238YMfPI3d2zdgJz62zXMOSpDsoMbcZ8SIs01O3Juv/RmbJzdx9sIlGOPgGLQFM8qUcnjmuRewu72Fy599jExnYUsRyyFIx4XekaGMSPac1Cd7Hfad9n3xQPmL7yiWhn8ldfLRvKcsDzkXj8+0pqVLEgBCnOnUf+pn7NLrBNxZnk/2t7w7ZtUUMz+89GXlrHk0bz6onKdsImmN2EnH9sxZdwzSu0zekMw1gjAWYoDnPQZlidWqRmtbDEcDKK0wX+ziD7//NQ5ne3j2uecxGY1x5sw5/Jv/1/+GX/3iF/jgvbeppzFkO6RjHdk2SAAOYv74iM/2dCWkjrF/vY4/xc/WDTj75+iRA6zz3ujjovPe7tkU5/v4a6XZ0t79dfzzeD8KyfnYCXbTdkASwNvoqXcUwl3vu8Hrn30mLbT7o90O+mMT5ojbbzlnUddLXLv2Bf7Df7iBhx5+DD/80Y9w/vw5mLIkETtPSYJzFy7iX/8//g3ee+9d/PkPv8N8PmOtC8X+Pwma1XUNy8nCWC5BST0aBhd9v8THl3s7zpdOfUHvE720zlkeWaDxubs+BJJzP4BpCSkklPb1II6wfO6Ophz7+saBrUTsbeswW82xvb+N+WKOOzu7qKolardE61oobeErj7pZwWiD8WiMIs/QNjWatkVeFNzyQGNVreB9gyzLobXBoCiovs57aOTIBwbaa2jkaJsWWmcoiyEuXLiE6WQNy0VNDeGNIapP22K5WsE6cFY5bgQRIfJeIc8NykFJk9+TE1cq46eljIrqGCof6iaBrjE/7tX/LQUB6BjOzjvFoZSNmGQBjwYn6FAWVYD1fFBEVkqRGJogWawyHNDEDprWNVg6oJDxXlIDKgte7ksMmFZE9ai5bUGeSf+9KEBz4fxF/PjHL2FtukFZAn4mTelvOAu89957+OMffodqtQDpmHoSKPHUXiqOgTqWppBm0I8aRRcMVQQFpB7Zd8Zapw370A9cEWtTjpnxPoUiGkquTfQ+tMZJD37nogFSCb2V7tTFNZjMv3cusKjksKYaZ9dBx8P1+BDvo70R2JD6ap0UFsdgEVrQwOPbToQ5SOZIBC6cpZpr+b48z/Dkd54M353lGjeu3cDnn30GeM+CcwSIkLoe0YMpsHURhWREVgAJj6RHNLrP941eCiS37pkN4dlZSJQ5UwBABaRWMu6xVkAy1Yr7P0Nxf2oZIyRZiOiHhTIAufcUmArZDoI9Qg1TP8PaXfvxEOuORReU84lyJt2IT4eRVUD5sBc6JtsYqUWNlw8PwOrJvNa9pyyVqJBbByXZQBtFJdqmYeE/UtU0WQatPIaDUYJBRwCReRnduQwRNmd0+YS2vsWJzZO4ce0a1qZrgFc4u7aJr4bXsTtv0MqB7mxne7//0cf46uoXKLMMwyJHXVUYTSaw3mNQDnD23HlkWQ4Fi4O9fQou24Yovdbi5InTuHNnFxculNBZjqZusVrVqKoagIdxVOJj2xZ+WWOhPGYHh7jx1Q0MBgO41sK2lK2cHBxCK4PxeIymWcBoCljX16eAAhbLBQ52ZsgyAhkzlSFzgMmpd6s4P+VwQFoXmSH2Q2ZgW4vWtQAD1LfubGFndwer1YogHqOxrBxMnsO6HMPxCXh/iLNnJygHIxzsH8Bpotlpk6GtHVxDtaeZyaE8UGiDNi+QFQUmwxKHxQLNqkFjLatIRzviQS2CLl+5CqUdLl08D2UUnnjiMZRFTtlTr6EcA9OkvxXAL6UUBoMRbt68ils3t/DIIw/je9/7DkaDAYHczuKr6zfwwSeXoZWjftfO4uVXXsG9996DjckaDg+XmEyGUHDIODBQSW9pSFwp9sbpADIq71Gt5nj95T/hJz//v2M0LGH5nCBnj9KJxmg8/+Of4s7WFhaLGYH/ylMfUCWAtINxXCIGUXWP+9Rz7WcaSJItaBPmELeCC2EMOHnBvgRUko11TOk2fA6InRGbEG0J2ZPo4CsuOUiJxXL2egEixIlW0WbRmCR7OYD3Kthj0gpmNpBmNh5EBDDaaHo2L+xcvq6Lvk0Q7WM1Xq7zlHvyIswTzuLeeS9hU1Cglmy0RYBGvcdwOMRqtUS1WlGJAjzaaom3X3sds/0DvPSXP8PGxgbGG5v4F//yX2G6sYZXX3kFvm1DWQ8xABL7nAwPjadmnybtIQ9KUCgPrV1n7o57JaFpAD+jGfVJ+NB+zTU6UMWR+40/vxtQ8M1eEbxO2zXF7+z7zxL0Kmm76XTocX634Dv6Tz74BbJr5PdHWE38dwmGw73ABgXupqrwwfvv4vq1r/CDZ5/DXzz1FEaTMZXIeAXrHfJygqe/+ywuXriEt958A5999ilms1n8Pm4PBBdbrGptoKznjgcmMOuIIRXPeyW9f5OHVcmzB0YZsypV4icoya36eMZSKYpKxHmp97wSXRnea7LfvfJ8HkcB0q5v8k8LavFPCWyNyaAUsFos0bYNtra3MF8cYP9wF7WtYQoDzYI+8J4pu4ByFm3jsVgu4b2HyTJUdQUoQDPSqbRGWRbkqDrKWGoY+JbVK5XDoKQ+umuTNUxGUyyXpHo8mUxgDLCwNnDNtVfcAyoqGHrvsVqtMF1bJ5Eoce56oiwyYTo4y5Sp9knNK6BC0NlJ2fd4+Z2sZ+Kseg6cY2YhrKc4lSkCy9TjdIrT7GFETGOPSMUBWQQjyVlxQrdh9LJvQrz3yXMiZL7lUCKn3AUp7nhHcbE3bQsFhDkAAOtofs6cPYuf//znOLF5glq6gFoxgSnb3gEffvQBfvWrX2GxmHMgoZBnGatCxsx7JwseHyDEX2lv04Ce9mnLyofDKh2DmHHlMZIDWmTf5U/osJbSuZZ/S7Y2Rcfk5wIChDGHSoxnnIS4fqRdTmzTkDx2fE/vHvrrRWbNc5DdRXOTyRfxHvmdCJSFHoOemQ1JFrlzjnHw76IEvfeAtZRFIoEBhXvuuQ/33HMfbOsDDfy9995DVa8gnb3SCaqrOgBV8AIMSL0Rj03Yb7HuuAsgJqrVKnGe0uxuMlg+9Oql/3SCTaWHS9coK/SdDiUUIUj2JWnrlDgNnSxIsjb6rxRUUkGhkOdIxz6LRkTgpJcGumu2S0FO15UPP/bxVjoATyqk1qGrJ+OXgig+GYvURprMiLEK+xVsd0jbwQdQyHtPAZ6wIfjGqDWAS+qJ2f70st+SxbPWom3JSSnKErZpcfLkJkajArvzFQu4+IA4A3RuNU2Dsw/cixNrU+SaZIlWqyUODg6wmh3gzdeuo5hMkZVjLBZzzA4Psb42gXeWGAlKc6/uFru7u2hWFYYl2UHnLJVeeBInquoVTKZJDVlrUoIG1eBq5XE4myEzOba3dzCdjmEMAUj7B/torUVRUM/W1XKJtXIKo6lPrVIaeV7AA5jP5+H8bEC9cmfzORSAxjXIixwHBwd0hmuDpqrRcvZhPp+hrRrs3NnGja9uwFtFPWmLHM4ZtE2FtrUohwWXr1BPTmcdvLMYDksMJyPAGDz++MO4774G7330Gb68eQetl8YfXNnAU7iqKlz98hoGgwHWN07g3nvvpVrZToaJ921YBxRMW+vwwfsfwnuq08/zHCbTPE4D3HvPvXjr3Y/o3LAOTV2jWq3w29/+Dv/2X/+vOJgfIssNhoMC3gGZ89Dg0hwdWUxQQmVXHWKWUgpbW7fx9huv47kXX0BWFGjrmLX1zgOuxdraBl586Z/hH//b33Cvei6NMghdDDzXNLcuVRell7QIkw2rVFKSIZRJr8P+PPL/3idsFHE4EbotpIyR9BWs35F2OcecS8HiUCAcBe4kRe07NkbKQdDTqlCJANSxlMrUiKUtjHz8Xbw/x/28Ux8nWPsQ7kVwMALI3QHgdyYHiZSADAYDVPUK8/mc6vG1QttU+PijD7FYzvGTn/4UFy5dgs5LvPSzv8K58xfwj3//91gs5rQXQoslef74HQIyai79EbaYgqKARtG8y/rpghPdThHHXluscl/8P7y/n7jprox43nV1Hvpnz5FrhkAZYQ0fc5NHv/WYpJAxJnkD2M876k+lnwk12OFDkElOzv0UuEEyZikowBnKAIxTRLC/v4tf/fIf8f577+HFH/6Q6q7zggJcFtk8c/YS/urnF/H0M7fw6isv4+MP3qMyEWFOcKlP21pmSWrkmYHW3YSNAEa6kzyTh0ViS1S4155XFN+czKuCAown7T9F2g1UrkM9wEMyTvZeOvc91kfnT62P1EZ/3esbB7ZVS6j5bHGIg/kBdma7aO0KuvQoHCHBJLJClFVdlGzc6b9yMCDnxRg0rkFjG7SuRZblMIawrbZtAEeKvsa30E6jLAZYW5vi7JlzKLMBvNOYL5bQWmM8npBzUFWEyiqDQTlE07RHglrnHCaTCQaDMgSVglSmmcd0lj3ANajca5HrafxdAlpwnVKXphGtnYM4+BIE6KTuTTKwiQBAUhuKvpKtjshlJ2hRSeZPNpBWMFw0T0aHahW99JwUukJAYTjYcRKCSyCgSZAqCaBj71ga1cZydrXgui2heWiP0+dO48c//RE2Tm7S+1QOxlZZsMng6pdf4Be/+O/Y2b3D6oykhKuNZuEuL/qTwUkOCUWXiBsgZnJTWohP2rlEAxw3kfw+GlLpUUx1nwgOvCyTfsjUXRMyXySWIgdJy8G2D8ABRABMen9qzb09k+BG2jcExz+h9wLRuClpmkA/72f5wpt9Sh9JX+pYeg0CEORDViS+X5wnHesSDdkChyiK5L1D28ZaJq01nn7quzBZHsTQDvf38f7771A/OCCIb4EP9OV8ifFkkgxL1/mSQyc6uR4QOXxNFJ2o/E99MLxCrJVLpPERnku+AyGIQwKwqJCpTQdM1ouAQ/zdXGhigg1iJ5QPGWoLk7QSEXCqk6lIgBIVsx0+AXAkwyVIbejtzJwia21v7BCzCz30OTinuieqlqy5uPd6q4m/34HqbJx0hdFUR6m0J3ps4ng3roHXDjCALjIo20JZCiqtTehfYXvIc1GwJPQo6SspAn0CwsjYImGKWOugMw00HvPlPPRXDL0vpZURO1jTtQkeevAeHOztwDmL0UhhY70EtMGtWzu4ub0HoIFtHbbv3MbmxhqL0lHLGds6tE2Di+fOw7YNvLcYFBnubN3GfD6D1h6aW8E426LIc8q4GoNBQX0yV6sVmqaF0STOJ1kqaKC1DaqqQlNXKIsCRZajzHNiO2TUnsfk9BlrLWX+vEfVNpStVS60X2nbllkTFiqn2lLPi7PMBwQmw0BbKhNomJWR5zlsw4CoU3Cth9YZ03IbWhUmh3UWg7KAHg5gjMbjj92Hql7izu4cLddps+GDV3QmHc6W+OD9T/Ddp7/NbLKa6rUMrSlq32TQgvtkKw2lM1y58iVubd0OnQS8dVgtlhgOBlAmw+HiAAeHMxTlBM7WOJwtUGQZrl79Au+9/z4ee/RhHMwOYPIM2pOrmxkDDQvD7eY8U/+i36dD6xpRAL/86fu4eM9F3Hv//VDGwrkWzpK357yDVgb3PfgwnvjOU3jv9ddQ5lnonCB+IAE9huvSHYur0WksfaBT99kjdloQP1yyej7iPmFzU5sgESBMIjflOmdHChgjXEfxWLiePUmOlM6ZFM/zcCZrBaUdBWSe+tN2sm2dzK1QcHs1gn1QEwg6uFLfKcch/Z18jTi+fI5KOxp2+kNdc8Lio7hfFK26YKdL1KK1VijLEnVd4/DwEKPRCHleQHmLr65ewd/+zX/BT372V3jooYehdI4nvv0Upusb+Nu/+c/Y2d7uBZUq+JBh3AzgvQljb63nzJzlxFPMjjuXtgoTm313gDYGaXcPbhHizjRwcr23pJD1Nwta4jns5BBJRv7rg+LON6fPFxZA+nsE9p68ArU+ZIGRgFcCZqUsz26gC8SzW3raw1PpgfIiVNnixrWr+E//4TY++vDb+NFPfoizZ8/COcvlWxlggFNnL+Cnf/VXOHfuHN566w1sbd2CBCcKCirL4J1D6xxs7ZEbA2PYp5QOBhqBkcArPCQJ0qA9PAGvf8cPbsQeaPksjQ8JElJy0HnynUmuPFLEg63gzio0Ra7DQu0zyqCP8Unv8vrGge3W/ha2t7cxW80xmx1isZxBaRJdyHOij5VlGZwlZx3yPCO0nUfKe4+moQNUQVE9JRep25aUEzNFE5CbHKPRCJubJ7G+voHxaIxm1aJuGhTlCKPRKPToa5nI17SJAdUq0JG1NsjznFR506HqCIt06Xk+2bEBo0vWK8lSp9Q937lu/xV9bh+vgVgHHI1SF7WQ55EgPf15uDNx7jpZJJe8Dwmi6O5+v0mmN0Ud0VlocnCkziW5tG1LvReLokDrXdjwgMLGxjp+9KOf4NzZc2i47stwKxiVaWRZjmtffYm///u/x+7ODvfCJDVco6ODLkBSPNDinKR0Kxcc/fQ5EomPr62XjehgFI2KvwcA51THmPYDLOtI1EXUZKuqxny+xPr6RgjwPGIwExB+VoVWTHmRa2ZsqEJghW79bPosR0AadO9d1mM/y9x9n/wu/LS7JpOfhgyjVqEtDJBSyFTo8Sz2wTO17fTpM7jvgfuDw6cU8NGHH2J/bx95xg06mDcvDriMh0vWcLpXOsiy9Eb06bqI9y4ghgRUKUzhmYrnhWKfZNbj52V/pVlWcRJceGfi44T788GOqE7AmPb1FfRUJwFt33GTm+mzLdLMi2KgJ/SFO84GyCHdQ+3lfZEB0V1XmjMzYR4Se9pdW1E/IATbx2Wik9rveH3Vqel3APIsT5yMruOlk6yAOM/9zCtUbFHjvMPO7i5OntjAcDTCiRMnsL+4DVgOkJJWJ+DgpW5q7B2Q2NNoUKIs1mGMRlU3OHnyLB60Dq+++S6qZcstq+QSCsvFCm3TYDFfYWN9DO8LCl6lhOaWx3BYYLlcoRyUDHp5ZFkennfIQaC1lmo+hwXyLAtiTq1tkefUDq+tGzhmzTgb9RHqqkZrLfKiROY9BfaeGFpaK9i2DQrT8r11XWMxX0JnBkU5gOHsswKpBPOkxb1lCUSdzYgOLesiz/OgKmyMgbUt2qZFZgzWJ1M89e0n8efX3sbBsqYgy0cartxLVddYrmps7WxjNBiidTYYrbNnz6BuWly/cT3AEatVhS++uBrsqOf+utt3bmNjcwPGaLz+xuuYz+Yw2RDWka7DoCygjcZb77yD+x+8D6PpBAezGcbDAbTK0XoL48muZ5rAkiDIpBJAVOw8SETmrddfxsbGOqbTCVpmNsGR6GbbWmQmw/efexG7W7exdeN6hyklNi3qgkTRtLhfeU7YLgi4hgAsymaNJR3H2XqdOBcxW5sEpOkhGbJZrC4fMqWdvj7hvWn2twO+AaH+N/hJ4TJRe6JvPnw/CdCxDyoB47u2G70whJ7BxZrtRL/Cp/PZ870kYyoXkvsx2nTss+KaeMWaM5T4yaA8sLuzjf/+3/4OHz/wCAaDIYosQ55nuP++h3GwN4Nz1RE/M83YKxWZLUjOKZ20s5QXMeHivUqg2cmsytCprq3t2/njfN/j5iasFI+oz/CNXukB50PrPvldmMfe+RUA/yMJKdd5v1LorCd1JIMd04zhjHK0Dh08tEk/i+R9KvkZfS4FYeL30Hqvaou3334dX1y9jOeeex5/8dR3MByOAG636uGQZwM89fT38Mijj+LNN17DG6+/RmxYEDCfZxm3Z7XcC16hKPJYox+ALWmB0N37Mi5yb3HUEUTGZPqC5UgyrRTjGaIvQ5iGvfHvwBHJWEj5YmdvffN18o0D28++fA/LVYWqpgBU5ZadsiwsVK2Ip260QetauKaliU6zj87BNR7wdJDBOFiQ8uWoGGOgC2TIMSxG2Ng4iZMnTiHLS7SNQ91Y5EWBycYGBVJ1Bdu2WNUNOcy8yUyehXq+LMu5hlfEoFwwwinqFBcjT5tLKAfS/sL5qELIjqsNk+UTJa9Yj6rCYomBUACIPKkEe1FH7WXJ+lm/4xzFfnDrQrZCh8wfUfUYSXWpIU82qCzgjoFWwWERFn7HkCf009ZTb8AiLwmpDVx7h/WNTbz00s9w7twFkN9D7XzggCLPobMC29vb+MUvfonbN28yNZhquvMsY4XfMEOdzcMPEIKUaFi7ji4SJ0A+e1xAJyBC/B0/v3ZcuyjZXEbeOEvsAqWH2lq0jWXarcVyuURd1yjLAs7V0Jpo4SJ0Ge5bccmTVomTwY68CId5nxgbf+z9p2vluAD3bq+0xlLWpQSrAdkmrz5kCJE4F6kDoVj4I+a3EGifaYbz6e9+F+VgQI3KATR1hXfefodQP3F6lGZRFeoHOBgMZKh6iH9qkHkcVGq4FbTtOsYy0kpsgYoHr0868Mm1kDgLSqLT3hwJxVoDTD2lYMFxpl4cIxfAFvmf7ziN4bALtfdp/bUKGTRpfRUOXUaONddI0+FGQFSqlHx8Jl8CbHdkXNO936Uo6uAQxPe53mcUtPaUHQrZT7ErPaTWgWpLBcThuljq+Un9rUVcSnccAx/2lgrlB77rqASwjTIXRlP/U63oWhk7A6dPn8ZXt3ZQt5a+Q2koo2GyDEWeo8gzTMZr+O4z38divo/trS0Yft5lRZ8ZjyYYDEZYrKiXbV3XKAsSUlosamQGMFmOwWCEuiYb4byidj0mR1U10MZAGQXPzy72fDqdoFpVyfwTeET0SUPq4TzHe3t71ANRnFyloJynXvLeI1NAU5EmQqEKZlTQ+d42bQhsArhqgUFRENPBOhilkGkNlRmsVhVUbpBrA2s98qJEU63grYezFo2nFkAAiYIZ0wBKkWK491SHnFFgPZ6McOb0Cex9/iWgC162rOLKz9I4h/c++Ajz+RKnT52CbSlAM0bjsccexfsffMAAKfkp127cxMHBQTgTwNnWDfYpbt+8hU8//gTOKdRVg7Z1GI8nMFrjqaf+Avfffw8+/vQKnvz2t3A4uwPtgZLp3I30gGX/QnFgqUEq9dGB55p11eJg7yZe/sNv8JOf/XOYPIf3lgBRr9DAwlVLFGWO5378Ev7bf/r/oq4WSTuqKKilhYfmgRYxeIx+BasKI7JAKKPs5XbkztiOMDtDSU9WFs/znnWQFazq1dvJ+cPUSJe4rT65p8RsMlAlGqlsDURxVUoMKP14V0rkcQFcfPF5nwS2Kvxc0SF8DFinOACmplk6McJxClNbTFFfCn71goQjoGM8u4qigDEadV3B2hZlOYCHxXJxgA8/eJP8JUXA9ubGOvLMoG7k3O1rjPgjY5MC8B1x06T1ogpKwzqWgYRkgZxxXd9K/v1P8THCXfoEHfj/4yX1ygjsstj3Wvwzmi5e+4hBVTgLk7Kc1LdNv0V8m+gTRv/CJyBpTLroYwF3etnwM997T/wnAZi0Xi3293bwi3/8B7z91tt46aWX8MjDjyHLDYlLuRZaKayvn8RLL/0MDz/8CP7w+9/ji8uXoRypsMMxdZ/bA1VVTQzIzMAo8g2MdH8JzAed7FU6++QGQ+cFCUo1WIPEcqeVtDODB7iFpwrP1mWcCZtKxtonwW/AAHT027/p6xsHtnd2d+hGEiqNvIo8R6YJmaXWGEBRlGjbGoOi4CwNLY7GN8hziuLLglDQTGdUR4kcZVZgfbyG0WiKydomjMkJbWD0UmmN2eEh4KkvruegRplIH7W25dqiglsbRLqxBJGhxpXJsN5HJKQT6LIxb70LqtA61MbpZBPx1Hmh9XY3SRRj6f9cqEHdw6GfVaWsjgoZDgkMkCCE3pGUe2sdiiLj6yP8GYwJP5lk0eUg9s4nFCYWGQiGGUmmrqv07JxD07QoipIavjuEGrLBYIAf/fglPPjgI3DWMUqVUX21Jsdub38P/+3v/g5Xv7gS6iSV1sj5ABeUNlBde8FL3xzFZ/LcJ1Qo4FIwfxT5SYN71TM+HAYcOduQvE9q/eJ/ZCAEMVtbm6IsC35/rLlSOo6tDs/qj9j7EKiFHyDcpzgXzkWZOf0/ODCOoL289uMhH0xRx+h6748CrCFbGAWvpKYr7rs4NuA2MhsbG3jsiW8F5WljND7/7Cpu3rzBRo2VxW2sU3bOYjgcwDkbqa8dkAYd4wjpxax0oiDf35/dOncPn9R+RBoZb5O433oZzz6CD5Dj5zqAlA/7SIVvEMfrOLCi6wmmQa1nJfi4ZiWLz46XdcGx7fcyPm4d8B10ngNJra7iG1JInTQBedJsroADsqfkYNTH2sAUthXwsa4rBktjzV1wdC311i3yIhyWwSZytlEUben60qOb157IMTIu45zHxsYG6rrC7a0ttK0l1oT3/AxSnkDXa52HssDHn1zGyY0NzA/3YJsW49GAr0/jpLMlDFPAVqsaq1WDcjAAHPWT1SpHZkoYnUOpCovFAof7+yiLHAf7ByhLYjyVg5x62nLNkskyjMYTLBZUA9y0FkppLJc18jwLQYFzBEIPBwNMJhPUdY22aULGprHidGh4UD9arQ2gHGVqec8NyhGBT22D1WqJIi/Q+AbGZKibBsPBgHrvZpK19RgOSmzvEEVbeYW8KKHalimeNKdFPsBivoJXDiYzMIbEJlerFVbLOW7e3oZrKgzLDK0H2tYHCnTq5qyqBp9/fhVN49E0K2ijcOr0Kdx737149723Ocik83q+WMBKlkbUllnYyXmFV19/C3XTwmQFvG2hncewnEBrhdWqxt/8zd/DWofNjXM4sbmJ2cEuNtbXAwxmGewXEM1wCY23nvvUJ84wO3PXr1/Dxx9+gG//xVNQuUPlqGOEZvDY2hanTp3Eiz/5KX71D3/Htka+L1LyU5MvNpf+S4FgsZlikyRg7Itosj2Vn7pU1ClEpIlNQwiIwzU6kZzq/nG34ykBSCVYUEjtUSJkGFhHPvQgDZvay5iYYMOc853ARw70fkATHG8vgW/XVCVvDO/VAvam4sr9VwIeqJ4asTAKV8sKTV2jKEoW+XJQuoWzDZeSTak3dFsFX4xsu5SVRN/oCBgZStNi8OWTZwAJxQOOxircng4fThIEsZbdh4O1C4amWdC7TrScQZ3lccwHPNBZTpJp7tRdyjPx3DhZ2/7YCZFzE0BoE3T0jOwBJmGIVWcOg3/mIuU8nYP0XOzfShogS2AIFqlUULBNhVs3r+G//Jf/hG898SSeeeZ7OHfhHLwz8E7stMGFi/fhX/3rc/j0k4/x5z/+Dts7d448pzEk5tqsWuQ5lfh5pQnY1YhK2iGoV6GFZBhcFcujJIHnmX0m/XUl49phKBzZ/MLY0oHM4cN6UFy8pKGsD2Uc3/T1jQNbB0ciGwCUpRRzZgxyk6EscpRFhrZtSdyiqmlRKQWfGeqFpgx8a5GrHJbT6TIIsOwUZwZnz1/EqVNnkJkSrfVYVZRaz7IcsMBquYLzy2ik+bB31iIrSnKgARRlgSzPKVPkI/VCnGEbFI4tYToeVMDvTXQ+vYdmCq/0rPMmdaLohFVJzaf8y/NCjtncYKLDmIrD56VuRMUAIH1JoXtYX8EIyKZix41R4iIgupG2g7T+BD4s1hhAq1Bko7wKaojUQjcxmHygKa7/tNajqhtC4T3V5EgWbzQa4Uc/+hHuf+BhtK1QODSoGiuDzjUOZ4f45S9/ic8vf8ZZQjrQjTaQd4dWDwnFE8HJl3HuGukQqMq5nBx8xzn5WvVotEk2L/w9UaENjvExm01EM4wuoJVBURg+/GJ/Wi9oqJOWcYk6j3bUJzVZK32gQwJMz+BLXN8pnYjuT7Oi6d2uBZBR8pDgT5x+DeWTnrpJ6ZBP7yM8eOLvdOikZLWapuH3U6bniSe+jdF4grZlw2VbvPnGG7C2RWZI6EyAFoCVVbWJoEAqEi8Bve4KKAnq7KU1TYIMxGC2uy+dc3EcxPkJCKKEf10QKs69CtdOd74HtauS9+gUOAkOY2xPFB1LZqFo3XMUuwwOn+xnpVTSpio6tX0nJvwcnrPHYKZEPwsT2/2IMx7Be6nTcqy2GVkrYdw0B6bc41UzkCnrzFnPAZENQm5tXXMdJq3t6XSKVb4iFfwsg61rou2KEFsAd7o9bOmHviNGpZSiPt1swyXT3jQtAI3RaADvFTanEyxX+0HR1nkP3zr4pkKtaqzmC/zyV79Hph2mkwmmkxE2NzexWC0wHo2wefIUBmUJhRmqusHhfIG1jSnNoNa4s72DixcuhvYwqxWJyZT5OvWBrRoMRgOcO3set2/e4q4COZq2xc3bW2ithTIGSms0dQvrSHnSuxbaA21r4WBx4sQYw9EYJsthrUVVVVjOF8g1CXbt7u7C5Bkm0ynKcoDFnW1oRTT6xjbI8wLOemQmx3igYZRGpg2WyyUmoyEGgwGWiwplXqJaVWjaFnVF1OflcolMZ8jyAmVhUNU1moZYDPv7h1guK3KwuC7Mtg2Ut9iYDGGrMQoDnDgxxZVrN3Bne0Wikt7BwnG9P831qmlxa+s2hqMSXgOPPP4QtJG+10wj1ZwhCOtWoVVA4z0OFnOY7R18dvkyTJYh1waZcpRVB3VuuHnzGlZVA8Djt7//Pf6P//3fwtsWq6rGeJTBsh/jFGXswf26nY75yLDz+FyWdlTvvfs2Tp85h7PnzsDkDq6uAdfAaw3nFJxqcN9DD+KRL5/AR++/C2NUss3Il/Fc8Buc4761juYsAbzpL5aB4NizVkBJRcSioGAaVVTDg4TsWMyqin1O3xZ7jLrgvNIPNLzivZ58QCVqzUgtH9e+SjCvQh4/+jc+ubbEwVqnWcqoCHtcBi3cg9w7qLyty9aJYyhty2QU4u9jneJx8Vp4NjIKGJQDVKsV6tWKfCpF9eneacB5bG3dZl8CKIsBqnp57Hmezi3C2ETBHo/I5kt1aAAg46ytU/Sf8lnCbkyCV65zbW203cbouDY70K0ALTz2Kq6pMADHgZ7plcIZR/EIgY2y/uSssoH10/W74xkYgs0ANPSo66HPrQtrCgAzF+Kcdla4XCuIHB6t9Y6BsOqB/j5Q/WOCQMDjhreJwXK+h1df+xM+/uQTPPPMM3jmu89gsj4hENKTncvLAZ586mk88PCD+PMff4+33nod1aqCSQJ3wyzMpmmgrEKe5SgyjjG84pIVAnW0dpxwUZyZJQV2KSmS016SMs5aqJDwVUETxvNnJEaROIfUmqNf70DsPOcsJ9hsAI70/4waW600iryAAlA31JLAcpp5VVUh0KyWdLAJXbBqSRDBeMfiPpSdbBsLozP6mVMYDEqcP3cJZ8+dh0aOurKom4YnmRBu36ITOIVsgVYoswKKlZu1Poau2nn5zh6S/W9ZkEcGUAslVAIY5+CSBUKfc8meVLJN+Hv6BfgIGyWgSkmtowicOCfoeaTnITWYPePpGQLsBj6JE+4Ra10S51vuS3P2VzKNiiY8QXRVx/n3iIqiVdVQll7un6EcYwyeffZZPP7443BQhF1w1kNDQ2uiov/pT3/CBx+8z3Vfnmtqddh8bE/DS4lz3RnvLqLr2AmNw9593tTBDwHRsQbVdw7TeC2E50USREpwYYxczZGRD5s3XQtJ3QcccpPBiKhVOCzvLrrR8RnSZ0kCTdmTKSIa3t97XhWyW+g4DF7QzrQHoiOGRBwIooAqMNWT1biNMRQMOEftTli5HFAoR0M88eS3WNHTAU7h9u0buHzlMjI5HD0dnj4jo7hczjAcDpPDJs3YpgfIXQ7HjuhXN0CUbKJSLhjtiH7HQQ+ZjQ4VIh3vdIwRDjHwGlMqUs+7gWksiXBy0EEFG0stPQSoQKQs65hFIVqqDpnx9CCPmfKegIdQqKFIRAlUH55miKk+XzITOtkMsR4rAC3eRqVnXkiyP70IlfgWyhiUgyHquuJnb0O5CFFgGz6ECUBdLhaoa6LmOudDljLLcs4u+qTO0waQUJ6ZqLkq0CPT2t6NjXVsbW1jdjjDdDpBnufY2dlBU9cEvnLWPzAi+Jmco2za+bOnqd1cvcTursV8fojDrETbWhzuH8AohdZZHOzu4tL5M4SOG43xZExBcJNDG4ONjU2URYFmtWTRHAp2L1/5glQlIQwAi8pXoaVa27bIlEFmSEDKth7eOjRtC688tnd2sLu7i8FggLYlpeXGWqxvbGC1WmKytoaqqVDVFZarCq1tUXLPWeU8mrqBgka1XGI6ncLkpObsPJDlOeaLBZarBQVWvB7apsFoMGDfAMwGIRq5Y8VnrRWm0wm897h46SKKvCDVfu1R5BkuX/kcJ+oNOGWwrCrsbl/j0h8H5y2L/UQw9mB2gNaNcOLkSZw9e4762/NZ4dK977ikg+nqWZbh/PnzePnl11A3DR556GFMhiNkmnLZjW2xd3hAolqa1vXt27fx7rvv46nvPIbdO7fgfIlBkZPzJkCPUx0QVTmp01R879SaC8pguZjh9Zf/hJ/9879GOSigodA2FES3bQuFDFmu8f3nf4jbN29gf3dbdB+DYnhyOoY92bUzaaAbz3PH7TkEqw82yfnwbkjSVklQntqXrt8R6f6plUhU38UYH/NKQeRof1LGEmfi2DFQEpSJKn74Nv68ONY9XysNYpREvj1K8pGzhM8yL4wolY5nYlMh5y6SAL17Xd/5dxwsrRUGwyHvxRXysiA2YgjqbAgO77n3Hnz22SfcFsbHgKwXHnqhwiN2ddA8FulZFM5EQ0lax0mbDjCSBIlCDXLOEkuypQSHMUX45vh83R6nfJHg67QtnVlFkXfOxNBuMUnUyxgfAedDgib1lY8yqRhmjY/UWQ+q+4zp79I5PjbDS/dpVNQ/ieuIfTpO3KQXTH16OWN0ws6kl+PnanBwcAe/++2v8PHHH+JHP/kxHnroYRiT0T5WQOscRtMpfvbzn+PRxx7DK3/+E658/lloAwR4KKOQmxyOz1o4R+JlHaDcB6YtuMSF2h4S80YHXzH6RCF4TwaL9GZNR2tJKRCDRZacKCa7WMBgHTNdVEwoftPXNw5sM52xGBMVJatMUY87S9QmEW5q2RloWwr46rqG0RmMZjSd66KKzEB5jTIvsbm2gfW1dWyeOAnvibbV1JadbUXIs3NQ3kDBdGg0WW6CWpbWmkVquuhb6szR5nCdTeoY4SM10p6DmtB10xpYyoj4qFIoQZa8l8VaxMGMQSoCkiQTKAiqfK3pZFyjUQlZZKmTCP8fhSRSSkRqUCQjnArwiHHybAiC8IdSQXkyCkT5oAiouJZ3uVwR/ZiNo9ak/JrlBX7w7LN46qmn2PGy8JpUIbPMwOgcy0WFP/7pD3jjjTfQ1i2jrgq5Nsx8iUe11D3Ks2k28pJl8uFYZ4fTdvRwe+sh0jllYI8LdoJYhKimRsAwvFcFBx5ouNcqmEVgMrAz3T9m4vdLCROnbOFYFjjchT5eOAxgMetE2CqMzzGbv5Npln/b7r14qVHpUIyiKEga+Kf9lRUranum+2uuuxItJAFL2tZGMRlFdbqvvvY6jMmwtraO27fv4NatG6jrCpk2UI7pwIrmnwRxwAEvOck+3H+aXUzuK6mB0snhcXR8ENavF9ZCAEBssBJx3nVwqJFgBj6Z65CBTw9Mbklhre3UcUcxDx3uTjQDQopFlJMBaqfC7AblEnDGdOt/++CNfM/xfZ9Z/yCU6MbrEBU5BYMiayJ8OJhACXA9nWhKtIXTg5oGrmI2jk5bc2kFA8PgKWsGMO08MznqhiiwEIEjZeCUC4h3aAfWU2zVTMe2SbAbHQ8au8ViAa0Uzp8/j/vvvQ+ffnoZ+0uL1pHioxb7rmP94HA0xD33XsJwYABBmu1ZADmcBT7//CrK4QTKOcwPDwgUUpqF4BzWN9awWC4wGOY4PDzEjevXcOHcWQIAZT69gjE52QjrAqA5HI5QVxWxWxwFg3AWRZ7BaofcOazqikAADwDU9302nyMvcuzs76PMM7ZXGaqmod7z4zFU6+CNhhkMYDS1EirLAgcHMy6pAAbDIVrrUNU1nS2GAIDcGK6fzTgYZyE8RbX7wyFRtg8ODpDlOYajMXb39pFlGS5cvIDG1hiMR3j4scdx/dp1HBwc4oF7L2B/Z4GbWwewzhO7yrVhvxL2ZrBcVViDxqefXcaZM6fh+JyQOETz+a8Se59lGQ4PdvHFlS8AAKdOn8JjDz+EwgCj4QDWtbh+6zZ+96e3KSNLQhV47dXX8cD992A4WcPewR2cOXmCeqqq2EpF9pzWGjaxoRKEUWDlYRRw5/YNvP36K/j+Cz+MFHxLdrBpW0AplMMCP/zZX+Ef/+t/RF2vSH+C14h33TMv2PawF3zosU3nik3aYsXgLwYBiThm0jv9iK8hWaegY8JvDQFbSu1NTmT5p0tDUYQ9qXpAstwfgVjJz0DOrwt+WWRy0VzFa0YbHpMCoRWg9p2z5MgrsffBme+cq6lifBLw9o6c1LeQ+4eOAalS1Hqs0U3QlPAiPMVAs3UOH330QfQHlZEaiGCTo+8YAUgJxlVi2+U8MsZEu6iojtrzOex5HEPFrrTL8x5FTm3DgEHv2WV99HvL9sZDkQDtceeSDJ/qrRlxo72K8x1YSyDdhHT9RFjEJWeQCkJQ3YwtX6cHPkvIe+xdhrNafIf+u1S8Jo6WJUq5HAGXLpz1WmXsc8dOKlAtrHe4eeMq/uN//L/w4EOP4Ac/eAHnz5+Hd5QMbJyCVg4X7rkH//LCBXz64fv4w+9+h5072wQOMoHcKAUYBWsbEqvLctJqkHI5qNidwwPeKe6MEveKLDOp34cXViv7ZNyCQgX7FNWlu34p+QImp7C00Q2cQ4hX7rY+jnt948AW7HRwpAHbOtjWQhuDPMsDFUOMqWRxgxEF37WmBuqFMRgMhphOp7h49h4UeQnnPZq6JcEOVnuk+lwOnJSjwJUXGtVSUS2Z9Nnt3vJR5OU44XcVJPp9yEj4xEGCShGi5Jmc47qZlL7DTdb919yHbDR2AqUGT2lZMKlAURKoBz36BHXki2kdnWKeooC4BEoFVFDEFBSzk1HSkWatY6eTcNUQPABEkysHXJMl76B2Tk9/97v47jPfA5RBaz2UEvVSDa2Isv7O22/h1Zdfxmq1DFRaQm3QMT6pOEWYtY5NUB2FYEnxhrb0CTom95CaE+ZaU+NyxDUcVodCmIfUWU6zr+HY4IOlbR1a28Lo+EwpPTYazhh4CVLthArK9I+UQhnjJkH+Oz9MroNkgLpiSZBabnl8Cfb5u1LHBOm6CNSvxHHhi2hDwhmaqfWUyVYxM+ICrSAAI01V49033+qKWViLnCALrnXndaEMDhYHGA2G8XDme05tTD+oQ/Lcx6O76Th1DWcXbU1RTMlWdFv7yBhKnTqAGOB1gBAes+S543tiSxrKcKoANQTQS2vemwremyQ7zwcNp1Uihbz/Suq3WSRMJesntJBSPcX2JPgUByJcL2SiGYHn1hJHnEMf30PryDEYaZKxQXhmKAYaNbeQ80CeG87YcS9tTZR1ow3bb6FTJV4U23fNGWRhczhGh513GA6HOHHiBE6dPEE04KbFcDSBvb0PpYvEsVJhPpQCDg4PsKorjAZTtG2L1jqURU4iejrDd77zOL64egPLusZsMcOqXmEwKEgsjenCq6rCcFjCGIPRcBSErAQY1VpEGTVa6zAZjYP0zaAcUesgSxncosh4HKhmtSwKFGWBarnCYFBisVhgPB4iL0uAdSqUVtAmg7U1Fos5NqZrcG2D3b1dFEWOjfVNTCZjHB4ewhiDul5hNBqiaWqMRiNoQ9l+UYDPMoPBgADP4XAIyyAGtfoiQceqqqGUQVkOoZTGYrGEAnDNXUPd1FAAijLHbDaHc8DpkyfxxGNAVX2MO/szzq5lAaig/UZCR7dv3sL+zjbuu+8+tE0bAUdZ6QGcAgw0NDK8//6nWK5aQBk0DdsqRT10lTKAovpHrQdoLa2/O9vb+PPLr+Lnf/USDg80Dg5mmE6GgDj9zhBtT3N2P7CWpD88n+3cJUIp4PNPPsal++7HhYuXkDlugegB3zo4tPBK4ez5c3jm2Rfwh9/+EtrT2naebAMxrqLN0sEeMpUeAuzYzlknG8UJGNejUsqB46zt6Xwgyfb6eDZ1/KwYjXR8MN+1D2lWWexBUZRYrVYhcaCCnxIShoGpEa8Rs2T9ALwDPIIYJrI2JNMnr46YYs+Wda7VoR4fd87Hc0klNgnS4o0z+D6UNtH1KPtJlP8896Qxo9Lvp+ucPHkKRVHgxvXr0X6KJkSvTK5/uKfjJM8sdlHAaQE1hPSnVGJb+VqqBxyk39IVsJL/el5K0DeJ1+3OXWTBJYObjEcKhCTrUK6brs/gEMX5FsC66yscZVQJMy0kWTr+ac8vT4YorCFJMvi05CgJnrWC9joJjF1vDUWQyjuHajnDh++9jS8uX8UzzzyD733/+xiNxmidg/NUZmG0wWNP/gXuuf9BvPX663jn3bewu7cT5g2KhaQ8AWht65FlWehr7sAsLO+5BzuYlixj5mQ4g30VthbZ5HSlIJmDbvcVSlyIloWjziMeMHkRgPVv+vrmVOTMQBnNFCKDIivhc4+Mo/m2JVpWURQhvS01tNY52iSc3cyVRq4Mzp45i43NEyjzIdUISSbRGNRNA8f9aJWSBSSZG8Wpd1oIWZ51lUF7i6mTvUnkzONQ6yDp7juVIYnTKRlWF42UIFyyoZRQKxSjiEc44dGoiWPnvafgR+uwiNNgMwZFtAE016NEmJoCfH5guW0SnmDVVM9F6NFvTIyvtCth5WRpJ5DkMcNYgtsRNE2DPMthuN+m9IHUJsNj3/oWnvre96DyHHVjOfDjA0tpWO/x7rvv4ne/+TVWywV/l0dmgNyQiIlXNjiPXvmARMvdOAk2A8iAzj3G4gkX5oUyzlEUK5q0VGadM47KR8EfZXrGrRuoOO+C2i+8RlNbHBweoKprnDt3Blke+wdHQyYHdxR9Cmg5AK9ZxD6I17CodRDu6CJfqVBUOs8qAWHElqjkv4CSy5oWxFGpBJeU6DYRG/HJ+gjZdBcAB8ctUuS+qnpJqHC4M8cZKYezZ8/iyy+/6Ow1LYqTWmhchtVSRwhFyXIl577W4PUD3P4rOiwCZPUdH3m+rmMj9SF0cIpCojjNkYqje0F2B6Xln0tgR/WnCtowIMUibD7JkhL2xbUpPUBNDhTVQ6G765buQYegOTQl6ThmKeDCGzE4D5Hs6EKmVxqoKy2I7tE5MNwHVmsR4EvbUIjzS7VPddOidVRrbrICqBu0bU2BqW1DhlA+52DZkaGxT7PXNknZdJS02cnQxhBr4OZNzBczbO/swFqF0XBE2WKuN1UMKcdxAWrbslK+wmg85Sy0BbSHUxbrGxOMtkvszhaYLxc4WByiGJ2kAERTzan3xGiYTtcJvPEODz74MLbu3MT+/j5lcPI8MAqKwQCzw0OmqnLGg/uGy/oiijeQGQ3XtijLHHlucPbsKZgsw2JVYblcYjydYHNzE7u7+9DaYLFYonUW2gDrG2sYDoZYm0yQZxnWN8ZYrSpUqwrOkRpznmcoBxlGoyHmsyU8gOVyif39PQwGlMEZTSfkF3iijDdNS/11G1KPt1zKsFossblR8LNqVFWFumoIIK0tNqbreOjBB3HnzbdIs0N1ayS99IV3wMo5rFZVcMjggfXJBEoD1XIRbKAGsLO9j88+vwbnDfe3VlgsVlDKoiwH0CbHex98ilVFmWTbWDS2hQbw4aef4snvPI7TJ05h68Z1TMZDPn91CFRkHTpP2VXDfbOlFlfx2aiUQtvUePmPf8Rf/vX/gul0QroV1pI6ryWV6sJkeORbT+LGjWu4/MmHsXOBEqCHy0BYPMdzDajyEXTz0sc27tLIcgrlMFK+JNX9HLBblt4MSQa5lhNTwVneDg7P1XnRR4mgc+prJKeTR2B1BNvQeR+iz9Xvkdq5ZnJeu/4Z0AWoU8v1PzxXAtBPYK5J2G30WR2CliMAZ3qPSsRyVHx6tot5TtTc2WwGlCUy1XXZldbY3dsjv0aLUr6LCs3QDJBKANZlEMY60pitV1pDBR0TvmfN/UgT8Nx1YIDELlKb9MCsi4GtrCcf7i1kX0MHhLuMN8u98lcdGddkRPj9EZxKg2eJoPq+XKRk40jdbnppFzKZ/aDXBx9CQYc60iNrBul6Vx1Kfxosp9fuxjS24wfK++azPfzxj7/D5cuX8fwLL+K+Bx+CNor7kyuo1iMrx/jBiy/i0W89jpf//Cd88tGHaKuaa67pebKCMv8i+KtFHyN0MbBxaQVfluY36Fx4L40z6NpB0zT6FmlQLzMcwYq4Fo0R2j+VsXzT1zcObGXSvfdoraXowhNX2xgd+kPSpvCi4sFCIRls62EyjTLPcWp6CuuTdWxungKgsVqs+KCnB2trakYs3AMqNBY0OENZliG7YDIDr2OGMxq/3mJKFqCgS8FRU+LgqbCgpZYhqunFSeleK9YA9LN5sigjUheNa6AyS69MF7M19ODSQkPqdMQZ88E4hxyj9ERF997kYI1HBZsXVhftbh50NzG/hO6qNW0SygoU3BaDC/i5IPyJxx/H888/jzwnJWvH/TeVViz6o/Dxx5/g17/+FeaLeTj0Qk1tKvokgkodZPFoUHBclk1eXZEoFYMQUfzjDGO6diTEC/SdHtKZCtN4zk42TYOWBVP29w/gvMf6+gaKIofRVLstdQpyDxGdjhk6CGOgv94EleR4M82kxwMqXTuMbXofnDqH5JlTpFPQWPn/ALjw3B5pn4DQBkGi5RQ8Cjfqpek71fo5FvBJjbf3JIbhXHtk33h4oCWEtGkqZBkrSrvkXJDbOWZdyM9lTX0djSVdW/1rdTMTrrdHXJgLAd7C+xULkvUys912PUeDblr/LN3mXWgBpFWkpitWHk9bW4QDUHrLJbcZ11JCZ/cUgHpvKYMp3x+oXTr02IWNtkXruB6Dw6JiMYCT/ZuMp/w9VPk737t3YZdH0Mfalg9IHx2ooAxPB633HlmRwy08B8yRCuidY9VMF/YAlYdwGxymzFt4Vtw3GI3GmM8OcO3aNZw4cYqzy1wjDg8lugfyfIQ+4fBwjs3pGjJoWMcCK5Yyys57DIZDeLcDC4v5fI6TJ08SEKg19vcOMBmXmB0eYlDmyMsCrW0xmo4xqabY29+HbS2s1oBRaJoWt24uA0hg2ZZrDbS2RcstIJTSMNpgOBxAa417770U9t3e3j6KosTBwSGGQw1jMsznMzjnMBiU2FzfAJiCb9sGVbXEakmBrNEe08kIy9UKwyFlbfe29nDp4kUs1AKj4QDjUQkAWN/YwLnz57F/eIjFconhsMCdrW3s7OwFxV7nHXKdYX1tHXpjE2trU7Rc1jEYDHD79m0sFzNYp7BaWWzvbMMQSg6nFPK8hDYm2OBA23ce16/fQJ5l0NpAK4VHH3kI129ex/adqEdgvccHH33EGeR4/s/mM2jV4szpE7izvY2PPvwU3mfIh5aDemJO1HWNl19+Ff/85/8Ma5ubqNoW5XgAaLZ/sWAk2fdsL5E6eGFT4fBgH+++/Saee/FHyPICra+Ygs7lAtzi6fvPv4it2zcxOziIziKi8KLyDlbFfZvmzRSD3kKVDnv5CAgX96nR1APXaR+YD11TnAZL8UxL3dejPkZXvKkfXAqrLUHlg82I1+tTqCXY7neXSO1OtOkQkZvk7PwfZYfSew7CPwKOhgO7H2zHz6ZlbQKSybNGxz/6f9PpFIeHh7Dc7SN8hXWAbzmwBe699z5s3b6N+eyQv4yfKdDAY81yyNIa9isY4zZKQTsFp8VPVgCiTohnfxU2TiwFI1FlWvMDRyACySR2g8XUv+qvlS4g26/n7s4RnZ1c1iPvR7I+whsTqEZ6xrtUTBIdW5D6WOB67jh/MYOq5AlC4Bv9024QrsJ/ERCKzMxEyuHYZw1Bu3PsY9BPm7rF1S8/xe2ta3jk0W/hxRd/hHNnzwKgs4HWeo6NzdP4Zz//F3jowYfxh9//Dnfu3AntPLXS8NpRiY9zaBoKfLM8p/PAeyhDZ5uWriy95FfH7+K4UKe1+0G4PJU0VT3bw4C/luDcQ/v/CeJRzjlUVYW2rQOyQn05W1hHvb6UNkRNzjMMipzl9ZfwltDCcjDApXMXceHURWQqR920qKoG3jnkRU5U5LZF21BDdqHGysLKsiwqKQPIc5LVd2xkpSF5f4Bk0JWSOq8EvQEI3QrNgn3S88rDOd15r3dCI4rzIdfvO8jdnmqJ0y7Zj3Srp5x0r8LnOwEDBxLaBWsSnje04AACvSX0pHKsWOYcjzFl07MsTn/qxMs4ITloPKvaUs81k2SyKOPx0MMP4dnnnsNgMCDnToJi75FpDW0MvvrqK/zyl7/Ewd4etNFQnMkscq7J5IyKZSpNN2g7Grz0/0xfqSFJDwoXstcR/YsUloiw+zAmCOtBNqogrpKpJREZi6at4WExnU6xtjahdgxJLWuc8Qh4+LSGlq2ZBJNOgBqxcjzXwrLsigsgGv3YQ5ypRGy4vYqBLN+P0I6I1qmhfQRgkBip/tjGfsC6s+4Juc7CwVLVNTnfkP0g69ljOBxgPp/3AlWiy1EAQXWRy+UK6+vTOJ+c4egckPxKWRKSzT3uGeJzIOy5/vo6+ty6QwWK46STfnldJU1hoURBunh/Yh9izXvXKUvHXwA4YUB0A27pjZ2uhcTxElGy9HGSrEoniywHso9OED1P6lAk7AHv4JVPWANCSxY7rcIaEdSXAmALwYC1MhCqYZw7prEjZU8giA4pZswoCXa16pyN3kcFTw1pZ8UoMIAgJ8Bjl2cZJpMxtLJ48slvoWkd2naLMp4CuiU0ZlJKJrG8L69eh21JcXs4LDGfH2JzcwMbm+vUHicrAOeR5Rl2d/dw6dIluh6A5WKJ0bDEcJCTuJNrYL0liq2m9S+6A4pb61nlABb2GQ4GBDjaGnlR0D1pAzhu7cDBy3w+h/dECV4sVqhbC2MyzGZzzOcL6inPS2h/fw/VcoUL589hMMpRrRaAMhiNRlitVjDGYFXR969WCxhloJTGqZObGAxKeE+CVsvFDJ9/9gkWyxp7+3uYrk+4RRPNjTEaw8EAu3t7OLG5icV8gTt3tiDo/3Q6JVG90QCLinr8jkcZBqVGaxXaysJ5wLUseJYiftCo6yZ0AlhfW8MjjzyCr659Ea2/Vpgt5tja2U2cfrK5JzZPoCxJ2O+1115F3dTIMgLZAE/BBYDHHn0U33r8Mfzp5dfwwnPfx2p5gAl0FJBRSNa2CnbeQ4Xypw54yzv88qcf4/zFS3jgwYdgnA1go/fU4xnKY7q+hmdf/DF++d/+lp87VrNDOSgDGCV1kwIa+7DPdEeskLinikU+g5FAtPUSEAR1ZKT2sxtwduxStAwdf+m4l/LxHBNrl77C/uOpTlWOj4AEyX3IfUabTXbKMrtIQMO+3U2fr+/fdc4HqUNV4Um7UVqSmQruXMKsURycCLAvJLWgPaAU1tbWcHh4iKqqMBgOAnDt+Tx11uOrL68RIMn34BDbnPUD/nDrSlPpCXwAQJwX7Y14v+KLBqCR1ew746RMqMeNw9MVMAtnRzJ26Zx11kyS3TvuXD7yO/mvf3Z3wJD4U/Fvg7cbMu3Hn/+QNnahxjSOqw5ZYhXq+PWxqtv9RI34/IkoWn9MROTxGPoynXNSlqixWs7x3ttv4OrnV/HCCy/iye88iawoSTnZyJ7P8NAjT+DcuQt468038OYbb6BaLQgMZt9FFNKt81itKhSmQGEywPiQfNA9/RV5BfFKhns8PGd6eQ1oH/yZtIVnOqcyNuSXfj3Q1H9948B2OV/Ql4Lq51SR06HiSHSorSt45zAclpiMxsgUiVKUYNqcNjg5PYnTJ85BqxyLBYtaKAWT57CWVJadjRQIUQb2ioSHPAexZVESGs4oi0l6gCI1IUngkw6cc5EUyXELF2WzM5UGvehfQwUHV35/XJZInFHZPJ4L7wUUoLpEDuYClMf1vJ4nU4vBkO+J35E+Z6AD8QLqZqhULNJWZEw102tTNClFWZDQTDxhdaiqinsyCn0iOugPP/QwfvTSSyjKEnVDNdLW0aGqFVEUd3dv4Vf/+A/Yvn2DCta9hTIKmVFU6M/P78XZDIdukoE/hkKSvvqGrxv09VcHBx/eRkVgauGGtrVoGuqbnIlwVAJ8eCfCCQ6CAmdZhsFgiDwvkOdFrFXx3JZCqByduh8fKCAdAx2Ca64xToyaVnJc0bx0Ds7kIFUcsTsOyrU2Ifsce+eyGnIIXlRoA6AQGRRhBnwqHMWrWVA0/l6tDKN5IuYRQSBBP7XWKIoSa2traJoG1hKlkkQsKF0vcv1N03K9h+HMbqyplnn9unXQQTp9pOBGuynr/vi1FUS7UlRZEHehd3uhlml2XFxy6ERRFedsb67vHmyLnRFHQIC3I2rW4Rk7Fi0RpOq+vNQX8jhoRDsEeG4LkLYdimupbyfo8jpQ/+W5dMIKSLMUgAiREL1cgjtaSl7QAD7ouW2CtfDWhn3jnIdWBhkfrkVZsL3zHbVoYVZIsOvDPejg6MuQaa2RlYZbVVAwWLPzqJmNpDgbLdkKay2zTDQWywqfffoZDFsIaxuMRhOcPXsG07UplMoI8NMZ5rMl2sZhUBZwioDc2WyGjY2zlJ1b1TjY20dbNzDIoBzQ2gbZoOAyH9Ka0FBwraXstWsxHgxRFgX2DnZRDkeYHRyirlaYTMfw3qOuG9y8eQsnTmwSxbexyPIMdVWjHJRQUKhXNYq8xOxggTw3yPMcRtMzD4YDmKzAYJgBGhhrTTWAZY7paA3T6QSDYYE8z3D71hYGoyFOnDoJ7xyuXPkCeUbBdlM3QR3dWo9qtcJoUGAxO8CZ02dw09ZcR0P11EWRYTxaw5q1OJwvMJ4OceLUBF/d2MKHn15FWwOOc5HeORaxi1lS5yyyzODhhx/AaDyAbdvO3l+sqDY5ZitpsdRtg9ZaHBwc4PPPv4DR5Iu41iLLDTJN/w3zAX71y99i/2AfZ0+fxYP3X8T2ziFObK4jEyVPK3a869xGO9QDUj3gmxZvvvoqTp06jelkQgGFbSiwtZJdAe574BE8/u1reO/N15BlicCQAJSaRV2cOJn0fDqckXTO2qTXZ7Ab8Uf8TwYoIf06ORuj06BSbFEMTvvJmK7dU0nHheijhCSDF5Be8V6NTK402OwzcqJYoOKWkHQdCT5kHOA1SDA9tT18H4nqdGo/g73s+WMpnfXoq2s36eP8MyXeW187I8kY8jpZm05QcTlAXuQxgcA3U9cr8g2MwYkTJ7G9sw0ksmUacm4JYCjfp6FNom5rAC2lLUEkSIUzX2sNk8exkeem6TPdxeNjGWJc/zHI7SyyY85v8Q2P9+fifAfYO8m2dt4f/BAkwTevrw4QE+mcSsTiklQPfJqZTwBml1D3j6yJ6N/F8zot9xLWQVrXfTQYT/2K4B8rxQkJJH3oLRaHO/jVP/4d3nvnDXzvuefx4IMPQXPdtnOUBR1Npnjhhz/CQ488jFdffhlXLl9GWxEbT1y9zNB9t21DbBFP2jECvIomhEp7x8dVT7R2L/47P7kTmhbRncUnkTIqUXqX2MDofqLw61/fXBU5CHwo1HWDqmmwqmsADkWWw3AT9mFeIlMG2hl46zHKRphM1nD27HlM19bgoTBfLNC2hNhnGdUGtbbtZDfSbJbKMnhFvPW8KIJKrQKn4pMdI8a2M7jphuBV0hki7q8Kb4+IHsTsRLIgE15DwuI7gjoE4ytGRA7glJrRq330fH8UoKrwHYI88xeFZ4lZF3QC2tTgaK6bIPqbD/U8cs/pZgkNln2E3KqVBLWmI6qllMKlS5fw7HPPkUKntdygXoWgKcsLLGZz/PIX/4irX1wBlA1GwmSklq24TZAIJWlWhuvMYUytHkEc+/N83LOlh7VO5lOQ0pAR0gp121C9VjKmacDjOWsq6B5J3bdQitQBsywL74vBuWJBpO79yrPqPhU7ZM2DfKKYP97sGqK+p5RiRVJpiq3CilIyDmJY+raBD0yErCD9jLJocqAkMUc4cCSg6zopSksNJWBbGw7mNKCSvsx37tzhteoDRVR+J2NzeDgLpQdam2QOdQAFukhmuv+6f6egy4Tsp2Sr07Ui7+0ohwuU4KWuKrZVEPdNhbZf6sj3x5fvrSPd+d50/8a2OggZbp30j0wpzUgc1H5Anq41GSNxpkN2uaeoLEFu9zA9mvWOgW//KQU1j98THAOtmEGiw0EnDn94v9i7sN5VQhlzYV9476hFTCjjSNSqQ7gQW4N5SLsh+k6X7NHG1mhtwy0nCgzKFlle4vSZU/jqxp0wFtpk3FvUhbVgncPGdIxzZ07A2xa2qbGzs4dbN67hzlaBrCiR5UNoXaJpSE1+UJTBGdvf38f9D1yCznJW6D1EU1XYXN/AcDiCVh5tU/P6sCjKAsop1C31ls+zDMo5rOYLlFkB1xAlt2lqKDXGZDLFqVOnMRyO+BpAVtWo6xq2bdHWmlpBeMC15IRMJlPUdYMH7ruEOzu7mK6toa5raK2xWC1Rmgxta3Hi1BmMWARyd28bdjHHsqlRO4u1zQ1kJsN0bQfWWdIgYJpxUZSw1mE8HmE0LNC2DebzfQwGObwClssVlssl1jc2cObUaaxtrOGra9ewt7+H4bBAMSzw+ZUvsapp7wWdAmTBcZdAaTqd4p57L6KpV3DWIjJaFGxg4TiKbbgrwqqqoODw0Qcfom4c93RUxD6ChvFArjN89eVX2D+YoWk9fvv7P+L++/93DCbrqBsX2hl2M3epjeiVNigSQiPJqgz7O3fw+isv44cv/YwjOkNUA0+BpW0sjAGe/v6z2Ll1HXe2bnENuPjMsmjTHpzyI1p7RmmufY1ZwmADgpsTH0BzQiHN3v6P1ErTPIHv0WDp5ZhxxiJXYZzifnZBvFkduU5q9xzTM5WKrX+UMkRddwQIeeUBQyJ3XREfdK4DmxylqeBfnK4AQqMTsKdARRrgIAlw0yUhbWDEVvF5n/h14jcaKIyGAyzrBnVVs7iPC+dm9N008qIkL1kozmlgLrWTHNwjCZ7kGRXXbsf5FVvO86J8L3DzDFrGNROSRMcKtx71Q9M2dT5Qs6VLcTdoTMc3ULjD2jl6Dsca3uibh0SVphIslZzR8iQSxmrp3xpC3ORMlGQMfDKQ3Wc7DoQXkJzsFxIwO/of3nd9mM6fcrlw2eAhwKNB2za4ceML/N3f3saDDz6O733/Bzh37iyyPKMWgppG9sz5c/hf/9W/wtUrV/DnP/0RV65chknOdgWFLGMQrKUEpM5yeMPLJ6nLTn2P4MeKL8HAiugZAT4K2bFwliJDyJhWtJ/CKvomr28uHhUyLQXKooR3VAcF5ZEbCmwHZYFcG8AZKE999U6fOoWzZy4gyzLUbYNVtYKzihTeNAkc1HXNcuMZ8pxUc8VpyrIMrac/i6IMzqFSUYREdegI0SBHlyq+hBoUULmggJxkODkVL5uL2oT5wGWnrF0MKsXe6sThFSMivaUA6i8VJLFB8vLhkA0BbhRqcdpx/dlRgZyO4y4IB9dm+nAKRKdciRPPzx0zIOQUag46SBgiBvCr1RLKA0WRR1SOn/P0mbP44U9ewnR9Ha118NZx/QfLz3uFxWKJX//6V7h8+XLHEOUshhIcbY8geEDGUffMoI/P10f0voam0glqtPTp9OGg6iNh2iuMBqPgXIvAV2psYxDC6G8IRgzVfAV1azJaWvGhI9mkpPWTAomJkACYD/XcZOxi1i0aB+ntFv8e2GVSuyAIaZrJ489GFDSt40kOmGTV9FEXCdDJ1gh1OlnAnCEQY0aGiH4nNdqignvh4kVc/eLLYIijgFKX1tw0NSaTKax1nfqakEkEK+BChaxdp72X6j8VgSgiSBABY9YQQARmuuso1g/L4Utfq6XhH+8nJN/dFQ3xYX5kTR49rI6CMzGQBvoOYfe7jjvMU7Q4ffVp2rKv4/rrPj8YaOsi7D5hbnQBQedVaBmkU9pRYptb57lfojhmMRD1IqyXGWj4EFRlZQkEcRyHcjBM1l9atwbRaz6yb8P5wZRQzz25vfNYLBbITE4lMspgNBoi5Lq8grJsi72nQIDt7UMPPYyL50/CNxX1O3cOq6rGnTt3sLt/QIyXYoS2rrCYHeLk5jqU0iiKIVaVx8HBAdbXJsjzDGfOnka9WgHWY319DVoBBwd7VMdfUxukwhSkNOyo/rbMc1IjHg1RVSusTaZYX19DORzg9JkzOH3mLD788EMc7B/Ae496VaNuGtoL0GT3PVBVS65tNjg4OMSNm7exWq2wu7MHANje3uZ1r5DnOeazBSaTCT67fBnWNtBKIeN+iG17HUoBrXXY2DyJLCtweHiA1fY2nPfYPLGB9bU1yjKxCJfzHovFCqvFErZ1GI3GUEpjsrGGU2dOYbqxjr2DA2TDMUajIfWqlXXppbY62lcN4P777oMxGk21CrTMAG470SFIGFFaYW19A7u7d/Dp5SswJsfZs2dRFoYcwrYFZXVrWAtY1xAIdzDDb377B/zf/vqfoVqQgOCoyOGZ3qeOcVDj333Hb4BvoZTBlc8+xtlz5/DI40/AWUv9exngkerz4XCI537yM/zdf/n3aJuGfYwkMAJgldTrd4MwCfBVeGf0l0icywS9kQgY4K4lX3ezU/G5kQR3DKAlmZ5QZQVpncJtouC5fAbde+3U5zI4wF6YZ4aRdTZkQZ1kN51kOQXUTp6dDZSzbPNCGyB+gOAq3t0nS+9NJa186MVnTMgaiwI3Ax2dxIv4dHRjjqmuQoWvub1mWntEWgItrl37kgX96Jyy1sH5NghpouOvJvRgddSn6q5b8SWTZ1JpSXEMQ32qZuu7GWmh1qe+aFxDEvz7kLhKWVPpGCcbp7MG+/feXYeRqeRh4Zzq6Il4BAmFMM2BZYFjXir04TiSWJPvCz2TQ0An/m4MCKWNXxq5JLHzkQC5E9v0MtRx3D2aaomPP3wH165fxXeefArfeeppTCYjGJDoK21FjwceeBTnzl/EK3/+I95//13MDw/prAO1JJN667b1sHUDkzmYLAunL/kPsbXjUX/FBVAEPgGhE40lLyBIqO/2rPfxP6HGNs/zjnEySsFkGZbLOfJSQ6mMxCxaUiXM8gLnzp7DmVNnoGCwmK9Qtw0pZnqF+WyFYkAiE21rQ82nF0ntoBjrkWUFMp2z46rCZg+LID0wkkl2rDQTnfgk0OsMYjS42usgckMZMM2Bn4HSrrv5kgUnLVrCAvNJYMvbXHmd1AKr4Lx5pl3DxwBVKRUCsNR+ppnskF2SupiO46a57+wRSIeuk9E4mrSBPNK3kjOZm4yV+eTzhKicOXMOP37pJzh5+hQF4a2L6syImf0//uEPeP/9D1iwynGW3gS6qzj88HJQJwJO3RntjAGSjXycs9B/hUCBG3770HohGirFtBSjVGik7dHNqIUh4r+3bYuqqjEcDpFlBa9dJOp1PnFZVLfmwiGiVtJHNgSbiXqi3JsWITWpQRUqig41HXFdpkZeBcAnPicbb0HXwrrWMZBNgxum+6hknEgcRfaYhohkKlCrLqIZO86OdmuKr1+7ngQaMZOdjnNV1ciyPGQsOw6MBJe9bMFRhzHu4YDSEiDIDgOvneC4uYQdEYNMo0yYy4DAQjGTBNzjNAbEwVFLAshYWiBOhOK9cvya1cFGxcxOSnNO1+FxIhVpENf/2dG1rI69XjqmdDDr4JREIKLn4KHbckRo64AL7Sy8j+I6/MWJM07zap2l3nfeo21Iy8ExFTjLMljrkJmc+0cKBZnWr5UMnmj7fQ0goLVGnufY2NzEzvYdmIzYKXXrAlgDzm4pbYiiRwdVADTmiwWGw4uwcCHbPxjkWF8bYzaf4fPPb2DhHJx1ODjYh1KXUK0qohdbi/WNdcxnB1ifDDCfz3Cwt4dzZ84iL3Is5nPqLCAMmqpC4ytkuQ717EYT+0lDoywGmE4nqOsKtrU4PDjErRu3sVgssHXnDvb29rG+tgHvPVarVdh71WqFXOfI8wy7u7uA8liulhiPhshYpXg4LLBYrWguHLBczlDVFbKMBKjatsXG+iZG4zG2d3ZpbGaHOHXyJIAKd+5s0/gohe3tPdRViywzWN9Yx52tO/DeYz5bUTaK6+tb51E3n2I4HsPkBuVwjLV1heFwgIPZApkmMBzaI0uyZsIn8c7Bti2fkQnWl/S3DiuXheCKssSnn32OurUoshI/+MH3cWJjhJLbKVlr8dnlL/DRp19SC1FLLJr3P/gQjzz8AB647xKWi12URkHrnEBZTdny1OmLoGgMGMimUxbZOoc3X38NZ86ex+aJDTijuMYWEeB0DqfOnsXT338OL//hN0QVTRkarFBvraPA3h1zhvZtDwdQCEwIPsdswuQ43sU/YjeOC/jCn94B3tH4cYZW9QNf5RO6LsIcybV1wqAQe+ISu6fYv4vhliBfKYMlZjPjfPiEoZYwV0Jg5LrPx4FY+nzeU22h0vLNkfmnORMZGSYyrvL/qX9Dc+3kZhgMHA6HWK1WsLCsayBjY7mdGgFQ9z/wID784CO+puv4DnJJJN/ve/ZbM35rTPRrnWf7RyqhcMpxwsfFLL3Y+yP+WXw+8WdkXNIzS7KwXQGxsJBiTNsDVtMSr3DtkHyKAqpAEKWOc6C6IXSMKVzIHoeXj2w3n7TujL/u+2HxHmOg65Pf++A7dlcF7hosChh2V/9XgdSMASwO9/DnP/8Rl69cxQsvPIcHHrwPWZYHXxNeYVCO8MMf/wRPfPtbeO3Pf8aHH3wIx91opJ1eUZDiWCsCdCAQTO65H2QnA8Z/Ou6pzf8iLC8pB/XxbWG7/k/oY+saLlB3FkVeBFqqKkcwOkNuCmRmAO8tphsbOHfuIoblEFVt0bY1qqoh8Sdl0HqL1YKQ4TzPYLhdj/U0SFSXSc3Xy7IkRAEKhhWIvQSuzkaKanCYEDaC9N6EToLMYESEJhoNu1Ig4SPnuT+eD+iaZ5VI79P/UnqFBqV2XVCATTNeJFpEfHRnEeomZEGJKhupn5IRE3XIWAPabcnhBe2RwJ6podrEnqw+ceYBhUwyk8aE708dXXHE25bQ4SIvyGh5oa04nNg4ieeefwFnz54nFNCBgwfNwRLR1F7+85/x9ltvwtkGWhFSkxvNvariGreeqAg+OPxSVyEKpIKW+vA716N9Hs10qeN/Lg669oFmK85EqFVOggDpJSn/Tjds27bY3z9A0zQYloPYKsi1PWEBhFYtKs0qKZEyF0qm4yWjQiuLFEUFAzKhN5iSQMcn4Ber9gXTLHTR2PInZlcTY6tltYizr+QGAW7mne4Tn1LqPaHq1gF5lhNC2LRJm6NukDQcDjGbzUKNPHCUWqu1QVUtsLY2Df1d02uk2UaEQ4yD0ISWpZTpzGk/gOuAD6HuScc155P20T2lbRpXmgjLtkQlh5NkRfprMgWbpOdq93lw5B7R+/4j71ORuktqyl1qcf/9qfMQ6WQ0zi5cLz2MdWcuY5Yp7B42l573Vrr/ouCWs9QujrYzOQrKG66rE5tJNFprW+RZHkpWfM2K/Ewjdp4CXHgPo6Jgj7xI1I1VpXXMenfsHX/CWo/RcISyLLFaLWEtrd/NtTVozs56ofKzox9LOqTm1qDxZFtjPRCJ/Dz9zEm89tZHaFuH/b0DVKsGxuQhs0wpbGp/09Q14Cl7/OVX15BpA28bwDmUgwJlUeDkyZOoqwpNTeKLrW2xsbmJ0WiI/b19XLjnAgCPw9kcFy5cRGFKfPbZ52gtMVa8omxfXmZobYNBmVMPXEsq2bZtGUQzmIyH2Di5AecstRHas/A+4zIij+VyjrIsMRwOsLO7g3q1wmq5gHfcD1GRRoO1npg6PN4UaHmsVjWWN26HOZvPF5SRzHOoTGHVtKh299DcvgNtMrTeoxgMceLkKdzc+pzrpbk0QIIxp3leFW7e3MJDD90P531oIaVhkOcFhqMBtrdXyTq30ArY393FlctXoUAshvl8jpMnRtwSDyjyAuPJBFXVwOgMbdOirom+/Ovf/Bb3/J//B3Q+xeF8gY31nM2oZufXSXmZmE86W0NtIsI+gFdYzmZ445VX8MOf/hR5nlF2zzZ0zvC+NFB4/NtPYevWDVz+9GN4nYWMmhKnGApGG1jnYJ2CtUnNrTCURDs5HFOOVQ2kHj5hQIT2hPE5yDbEAOVuQW38seJewamau4+aIMH6yHvTYC8FMdm+BvQ2bSUTvzvez1EnuQ+K6uT8Fb+E/pMzRbJ08XQM2ahOK7buIZJoTAHh2X0INqPWrIIXMNSL/spREKIsSiyWS0oOGRPosJ4dVWstLl/+HCZTVP6iNQUqgVotfkKiaqyEViuArQYdq5HxJewjr6SNFc+PUyyYnM5Rbx0IoMugdwS+ZbyT+Un0JaL7G+c5znn4QAxaw/iJgn/3TEZYc72fp4G+nMtMjU4g4bCWfGcfHD235ef9DHK88chQkL123P6J98OrJCm9DNcWPy8tExLxOGUBX+Pmtcv4m/98DU8//RSefeEn2Ng8CdcKa4Y+snniBH7+1/8CDz30KH73h99jZ+cOsoTuDUWlGdZZihfgUA4GJFDF8695/kKmGUIuMGSrOX7RYLxF/LDOPCko9fVtHfuvb05FdiT3XpgCmSYxF+scoIG2pfYG40GOzTNncPr0ORTZAFVVo15R1kZr6jvrrEddV+wsK3J0jEbDog4Zi0xoo5HnJdUQcKDnfJoJYMckyY7Ky4kqHBsToqJIYNtHNSgLbCUr4mIhuThjwZm1CMGxtB1RWjJ/XL/nFaxylOFxbBC1Z2lsCUzJuFByQQJacdABwSaF/s2rqPNnFINiWpLzgU4cjSsi9QoqtNDRYfyOEV3QVG/lncdgMAgiThLmr03X8PyLL+Kee+8NG1JrBWNyqtMDUc/efvsdvPrqK2ibmgRInKWaWsOtNkQZDnJqsXPiYlZHceZUaEle1KpVHIvUSZfXcX9PgwotSH1QwY9BWhogBSQ4XS18UFhrsbe/h+Vygc31TRRFFlqh9Fu/pMgxeqie4pYkWqfZq8TAS1DgWZY/qU3oIpWyLsTuH0eZ8TF7puK7lSJMRind7dPpo4VUIbDWAaEMme9wnwwGWAtrHcu1azgXa4GlVpuE4XwYz7R3m9YabetQliWyLIe1dWdOZb7TbGgEH7rtdbxP1tpRRfn46mU1Q7CmorFNrytrQ3Gwkx648n3itNwNbOnvu3S9HL09dWSsjmZVPTuxKtDC0nXfv7b83fWy3+FgNpEEFgDUQI9X3fr0vqPZ+Q7X+alzHsZoyihAbJiUSNB1WqnjgQpgY103ode24/U0GJQkOMj32s9EezksZV5ALV4iS4DWCIkWUuBVVRW8d8izDGvTCfLMoLJxB0k9IKAY7CMq8Xy+gG1bGv/WMV2U4pUsB4aDHItqheVyhZ2dXZw5fSLYsGpJ2VXbWtxz6R6sFgssl0ucPXMWy8UCO1u3UeQ5j0ONmzdv8vOR7Te5we07t2GtRVmUuHlrB9PpGrwr8OGHl9E2FRbzOVbVitXwCRSQHufDwQDDQYnVYo6sKIJdunTPPXjs0UfhvMXGxjqqaoUP3/8ABwcH1ArCg/qwK1K/XxuOkIFQ/eVqheE0h+dsr7UORhvkWQ7vaihj0NQ1TJ4HinXbtijLMqzLhuqAOEMGrKoaTetRNx6T8ZTB6BYeeXCa4pqlOT+czfHJJ5/jzJnTxAJgXY7TJ09iurGGra1boR2dZ3/hrbfewny+gFIGmttZzRcLqPEAeVnAFBlub93BqqqQlRO0doXFYo6yLLCzs4v33v8Qzzz9XezNDjCsWwzLIjj6lLVNz6kEwPTR/6b7JHt7/cur+PD99/EX332a+lw7S/0DPJjZoJFlGZ598cfYuXML+/uHITA2wWarUH+qmP2jFa0h2pNxH4bAOt3LPZ2FbmY1jvndHPtjX0rF/5LzrGMrU5+tF2imwGZ6LwIOp63z0q9M/an+/abzkl7Xhfp+BH8FAUSOY6PDXyKIqhRY2ZWD1aTdpI+HaAiOfXKL8vhpENN5Hk3shdVqhcZTOZj4h6FO1FrO3paYTMe4c2eLz3CV3HnsjpB+T5zG3nxzyZtjDY/0CPDKwzkBElXI9sncpT5d6LncebijayjVnQmZ5k5f4gRw7s1lN8hOg8BeICsPobqXFZAASoXAj9xWQb99VB5PANTOPB3xMeIkey9K9+yLGm63B/FN+mOT+Cjh1mOGW2jRInwon6O/Ua1qXbV4/bVX8OWXN/HdZ57FE9/6FkajEZRvqWsB1w0/9u1v4+L99+Ptt9/Am6+8Sp1uUm6lomSaax1mszmyIg9njFYgXQIpD5E6ZAaHQgLGRwCjOx3p+vwG9oRf3ziwPTFdBwDozHBGUhGyTDggoDTG4wnOn7+AMh9ifrhEVdVoW0pX19US1rWwtkWRF8iLgliPvPmzLINS1KdvkOcoigJa0+1pzl6pjlMo4gAJBTclJPg4vUgFqVwMMMIfPhafC9qWbozUAYz9bU1w8DXXS9DBqIgFIsFS8p6Yemc1MePjhulsQlYL46xqmFKPQCPRgvJJH1m4YGuNUQKExAyPZunx4LAfdaC11qjrGm3bYjAcktENda0Ow9EIzz7/LB56+CGqoXTcAxOGgnSmcX/w3gf4w29/h2q5CmeWzjRMxsG8BEksb+4dNwUPrVIEcbQxO5j2LwvdB45SKvvBZDcjxSCI9smG12HjS53JUeMTry9B7WKxQFs3WJusYTqdQgq6lKZsqtTEgE2VyQSV86H/GwH0RA2zXIRF61TqTaMgkfc2MYIxeIpzKECGT54IAQmEmDUf2/uEUezUblDgbQSFDj68CiW16VjHIIoACdtSP8nWNYHdHJvA03fu7+93jYunFk86zJ/BfH6I4XAUhAViNkB1vr+/hvsKlkcDNkGa03FLr494MAWDG4+EzvoSC+NFwC5S2yT4S8c3/hmpzjGr3wVo0nWbrsX+84ff+YAWJc94nBojjoxPOobpWMUsigrIfSoM4Z0LQn4h4EscxS4oJ6ImcdLl+pAaNG67EXo1cybS2RbOWe7V6gPNEvAYjUcd2pwEsVqTI+UScT+6qFCpeUwcHf7WOni0hELnOQASQ7TKoChK1IuazW8sXfGK6h1hPQ4O5zicL5FlCr4lESrNKstwDq5pUQ6HUHtLrJYLHB7s48zpE/Dew2iDvb0ZRoMMd3Z2sLm+BqMzTEZjjIYjHBwc4NatW0BrE5TbI8+yYMedtbDeo25qOChcvfYllQHAoyxKaK8peIPCqByiaWsSUuLBrqoliizDeDzEyZMnsb6xgda2KIsS6+tTXL5yGc612N3bRuNaXLh0EWfOnsOtm7fQNDW2trZQFgXW1ybYmKzj4PAQ3nncc++9uHz1C+zt76GqWnhDB1PrWgAabd1izC3kFotFoFd6bi+3XFXI84Id4Ayr+Qz7szm80tifHRIlvbGBEWWlFxohynBwmC3m+PTzyyiHg+CQ5bnGo4/ej539XYaceR/oDAcHc1y+8kXYlwL8XL9+A2dOn8Dps6ewf3CId999D6vGYFqOoOAxKHJMRiNkmcJbb72Jhx56COVkgt3ZDMPxgMAYr4heDw2nEvE1hU6Tcs+5UigPr1p4eLz/7ls4d/4czpw5Da8p6+1sC+8NnLcw3mE8muCHL/01/vY//3tqm8gCQBDgkB1IKhFRMNwPmLa4htNpfRuXRLGPorvmIxHwi/1rY8uSo+dntDvx7woKmbBLEpuavrdbtxiDlwgIyL5WCQOLsogOCVW5k8pKAcj+/R21k92z1lJLOi4/iy1wk6CLy1o61whBVPRJ0+8SX4dYBSqePY7GXol2QXJtuS9jqB3XcrnEcrlEORhAcZcH8RfBVGlnqU+pCr1ru1Rh8V2DkLHuPn/nDGDBUWK2AVq7FD7nILAbtIZ1yCsgvVYKKkjAE4CqIHom7CrSrSHA3QQxS6WOOeu4m0tnflX8jnRtJXfa+VNJKBaCaqq1D8BDpx2gnO1HGVP9dZV+XQQ5BKCJmAdLrgZ2k9Y++Kz0/b3rJUkHaAEfUnSK+iDfunkNf/t3/wnvvPcOfvrTn+G+++6B1mRX4YGmamGyAj/4wXO458Il/PlPf8IXX3xB3Sy4tR+8J6VkZUIMkec5HAOPmTa0njIad2JwyhMmYry9sXfuqObJN3l948BWZknUX50D6rrBcDBEMRjgwfsfwsnNk7CtQ121TK+jhU1F6zQ1WZYjHwyolYDS3M5HFhy18inynDM6hg8bBWMyOO4ZGp5bFmraP1KycZ5T+io6pd57ZEYnqCQ6izc6Xsdk29h4iNy8UuZogMgrUOo4YxZGFqmO20OCYQ4Ig4FG8v26t+nDevedPXks9z7pcxoQw062Bp3n894H0a7BgNtcJG2RBoMBXnj+eTz86KOw3jP6yDWqimhdzjl8ceUL/OH3f8B8NmPD70gcKZGsF8Vj2WiUFbac0U5EwJKNGjZs6qii65hLhjudjj71RATHXKdGMNZzp8bmSPYnUa5VSmE6nWI6mZLzqkUh0gLcDiiAI+EaXB8LzW1EOKvjUxpWMoVKh6wm7YUkuOF2KPEwoi/Skk3rBaA+XVs9wEaGyXMLCa3jwZNuE6qBos+KSjAh/YZpbAi1keGayX0MBgOMx2NsbW11wKLOeuYPWEttOtLMmuIs+lFHI35Hd/yOz3727y1ZJndFVY8NoBPdCp0EgWmv2y7w0A34vO86CbH2HqGH3HHP19+36Xj0s7jHreF0XPpBbx8IUNxjkUDB/th2Wz2JCFlfkfno2KsjqLhScSwUi9Y47nUKzvi3bQsPYhcYQ1mnvCioXCIE07ENnNYGrLEdvpfUeeN0eB+dCAUFkxmUZYmyGISWSZ1sWjeXEUCf1arCl9dvIjMGs4M9GK1RDgtM19ZwYmMdw+EYo3EDrfcAa7GQ9nm8cWeHc5TFGvWBLwpupdeiqSpqx8M0FxGL85ZLXiAaDg5FkQcH0LkWeZHDaEVj2CgslwuUWYaiyDEalrDWYnNzHatqhWJQYDIeYm0yhrUtmrZFs6xwsL+H5WqJummoJ2+ZYblc4uLFS1hbW8fhbI4l19YaY3Dx4kVsrm0iL0rcvn0bq+USYIGjqmrCHBRlgbpu0TQtlsslwOC2gIdhrSbrtnUNMqNRZBrXrt/EwWyOoaGWSJUlsNKCFbS9Cyri1jkslkssV1XY56dOnsQ9917A9ltbnbNe6QzXb9yEZTET71Q4+8+eOYPJdAilFD7+6GPsHxwiK6aUjW4bTKcT5FmOPNM4dfIUrnxxBU9++wlU9RKNszAsZkVYpgsBp1dJnV9S05k6fA4Wq9UCr/z5T/irv/4XGA4GaOoVWu5v6xz189VQOHv+Ap75wXN4+Xe/idnEJHNDz6NZ0Z/LMTUFgowrwbVtYiMQuwAk4BySsyeCrcczU6Kd6RsDwZp6FbvhfoNhTndd/HAYq7Rsp29rYj2yC2fM8cDo3V6d9wU7kPgkyXtjoBuBdXmGoJEgoji9Ol8kQXy4d86IKtaySMEDGVexVYMB9YZfLZcYDAaUmFCxbKJpGuzvH5CtMxrKJWdZ79yT+9BO8BAXbHeaFZX7oDOLWgxS+QYxcpSRhAHCGoi9YI/LmMexEBBS/plABWEeg0hgkjs/CljEMrfwfN0FF9d2Ypc70y4Ba2DLJetBHfUX4hl+vD+Z/j0Fy5H4E+k1EUQ7JePtEx9QA8pGPaGOUGkMtlVvLZO4bQPvW1y7+jn+/f/nFp767nfxg+e+j+lkTLqY4n/B455778P5Cxfx+Wef4re//TW2t0kXQTODQ+uox1TXNYzWyDNp7cfCtuJTJCJ33flSR/yzNOH0TV7fvMaWVdVsSweG0grj4QRFVuDShXswGa3h8GCBtrHI8xLWA411hIR7IM8LgAvmM67/SNYrMk0HrjEm6bEWUX3nHUmUe25KLYX0iu5NFpdKFmB0aNJsqGKlNjkxpBrABWEnQIqkY3YRYUHkSYaEi8llwUmBs7TV6YmoxIxGMMn0/0l9ZBiQpB+kOPdSPxc5H5HyGhfA0cLtaMBlO4pRic510zTwnhrPB+eaB9QYg6eefgaPPv4ElDZorYNGxrRUEgpTXuP6tS/xm1//Ers7W8i0IjoD1/V0xhGIBjfgcNInknMuLkHYeJAkOy91Px6aayh5ZqU5eKfiQQXQQvHmc4kCWzybJKPrehm9rrMPrq3J8wJFQfXfRN8VKiTgYTuZu3CQeUtPKpRlpeCgGRlNa1Fpbo4T8BFnRzIPPqgeJSioYgXXPnWDIv27HOisjm10+A4kaKPy6pjaIQTqHkRV18Ze1Cm6rhTREVer1VGHh3v8yu1SzV4exiGlKR/JVCbId5863v8edJyw9GjSUdT/a4znkd8lNeoWLlD8YxaWr55QsOReY1sDG8S/vGd2hdehtrn7XXF+UwXgzncJMp/UH6fvUarXkzG5hlIqOEgdu+HTse8NQMCSIxWYaswV1dF4D2ViDRpb2tCfPNrl+NJcq2W5zzm0gskzZJZqUkN7AEH+uUE0OQK83xWgjIFWjvdVdHDTVk5KuaAMb53HYDDCQbVPe1VnKPMCgzLDbLGk2kytYeFj7RsUC1RpfHH1CvLMIDeaKNQ7DXbu3MGtssTmiRMoh2PoLINvHGbzOZrWhbVRNTWa1kJnGdW9eod21WK+itkXzUBYXuTwGQX9BCIRJXs+n7OoloVrGyjv4LXBslmGjGRlLUpdYrw2xs7ONnSusTHewHgywWq5wLyqMB6NcHtnBwoKq1WN6URjc7qJrDBYVQvAAr/877/Gc8+/gNl8hv3DAzivMRhOUDcel698Rai9Ba58eQ0Hs0M4T7W0k8kYynnUVQ0NoMwNciNZImI3VlXNbeMMhoMhPBzyosBiucRkMsBkMsDm+gRaZ5jNZ3jnw4+wtT0DPJ9dLN5HSTpaY7a1mB3O4Ry1rXjoofsjcBZsGdnm2XIupP7gg2itMRpNoLXGcmnx3vufASihoNFWNZTzMFkBrxUeefRbOH/hPD7+5FMMhlNcPH8a2ztzrE8LDApDIS2rfCrnqX+o0PF9OP6TdStnicOdrZt48/XX8NwLP4LWOZRayaFDZVCWhDi//Rffw+3rt/DllcvQ0KGUyHMbPt16bi0kQGni+ILLq1ilGj5WCwWgOBiR+DvP6KwEwX1bnTqwwRPxURzTKU5GSJmXlJpJlq7zyfDYUb62Z5mOIsXcIjkE2PF8+qY+s2dAXzKpQo9VIqQIcDlMN6AJAHMi7um5V6fy1F9WcYs97y0rKfsY8CsR8nJHNCfgY49k5xwGgwHatsVqFQVanXc8pzwUXmM0XsPG+gauXLmSzE33zAnBleJsaU8jIqwfSdr47jmqWEPGCkDNEa5PFpGILqZ1tul5zRA4ARNJYCnZAAXWawi+ngvggwv3EQO8fjVi8COkZV7CXpPnVOF+WWsIsewh9EwWWyIihqG/fXjs4KYpaXnTZxSGYD6u93StetRxzEKCTDgNopsTvN7Q5lE0OKTlaGdbhHZQLRbzPbz8pz/g6pXLeO75F/H449+G4bIF71pQNziNRx59AmfPnMVrr7+K9957B01dQ8HAKFI5J1+HkpF11cLlljoceE0CvXDk94m/wjgZx72hlj4Gej1w6X/w+saB7XJFvGzN9U9ZprCxvonTJ0/j1MnTmM+XWC5XyEyB1lrMlyvYpiX5/4zEoYzOYmNer0JWK2fqsbT8QDL0nus7YS0vWBZLElOXpNYjjnc0dd3NbtAXpO1cUmk0FVZxt5Yvoh8dGx9qqYLRMjFwCUbJqxhscIbWiyOMVJCFHXnN9aZMn8aRlj8+PPHdsoxpVib9XD9jQ42XHYqyOHINrTWefPJJPP300zAmh/VUL+0duLVDjjwrcPPGTfzyF7/EjRs3WO2YTFAmQlGI8uot/9OEW0oMQ0opvwvCpZJ7k2eQjCHZHhL/MsZ0SbkBSIlol6io9lOmwaz0QAOhcBXFgDK1AcGMgUQqGhTrIbs9miFNqoNnnqJ+LvQ4DYfNkTnsUofiSRF42h3HQom16ymCx8HxDEAcFwzze6Veka/l0+CCPbKoYOw6yJv0op3P5x2Utv9SSlH/yvX1dBY67+kjvEfos8cEv/F36ATn0v/161/HizjE6x5/b2kWNVVJxpE+s8k6hwcyGj+NVCiqq4QSD8Huy4WyDd17z3GOYdcWHDduqYMhr687YNI1m65RGmcCupRWodBeCWunR8WWukrFgWSbqMeKI+ksaylozYrqElizyFq4V5Z4UVG7IHUyJdjNTE79WHd2qDYoM9CqxeaJDWzt7nMbHw+nFVHfwkPT9w5HQzz5rcdRFjmKzGC1mAPwWCwXuH3rNvaufonx+jkorVDVNZXdDAuuA3S4dv06HnjwAimBZxaH8xk+/uQTfPvb30aWGRTaoLEtMk8CQo2zyLSGyTJqmSTnrDEwZUHlEo3FoCxD+xNjMihNgn11W2N/dog8y7B/eIC6rjCZjjEcjXDhwiXs7uygWlU4PDjAcr7E/uEezp47jZMnTuDalzfx2WefoygLLFcrDIZDVFWLVVXj9p1t7O3twXCrFQFOtdawrQVYpXgwGIQMU7KC0DYNWuugtMOley6iKHLcd/99ePe997C3u4uN9Sn29/fgvMVksonDxSXs7X0Eax3XblEGITKO6Nn3dvfgnMOJk5u47/576QyIhj78mfoKqX+xWCygtcKX129gf3/GrK0YDHrvYFSO3YM9fPL5Z2gai62tLfy7f/fvkGdDZLkOpUReiQMc91aKPfcznHSEWijl8dGH7+LMmfN48OEHkNkMrW8hGScSTLPI8gwvvPQzHO7vY7a/x/aaR6Pnr8QYLP2+voMtfkwMGrvQWxjpIxTbdG5VarVYTFErBFBb/CYvokQBwIttwOSltQo0Wt8D+INPmJx/MbhOpRCjr+IZtL67TUM473wIuuOlUvgufR3nm6UsER/amkS7J3cnNiwmR1zPXmtiAqp4rnimBxtjMFvMMRwMSLFWABAuc9rf38fhbA6dEU3UsYhnmoEWASnJrh2JCsM6kgqJ2LGja8+Txw7RarLgk/WWBrepR+aci+d18Gc6rjAlUPg7gq8iTyL7WRAOsNghz6WUM/CVjgSA4j/FlmE6+PDhLZIQ8ohljUIJZqYbJeu7/lx/nXXPZqFCdIEHH8a0e1aHRATbpKZtSelfa0QSaPczND4kkOtsg+vXv8Lf/M1/xscff4xnn3sBly5dhNE5bNvCegMLj8naBn72l3+Fxx5/DK+/9hqufP452pbajUnLLZNR69fWWrSOymeMtPqRmn/PiUQuaxBwAZA2pP+0bC3+KYFtXdcoihyDQYnxeIrNzVPY3NhArgsslxWqVU3CEDnRiYZFjpYzKKPJCE3L9CKmpuZ5TnStoiCREsVOWVgn0WBFMR3XOWi6pcZJVo7XrjsGNQRz8J33VPPb0hRoDWijGDGIO8W5SItyzgfHjOTPFfF4FFG/6D41mrpBVlLdsVYJShbuwYpJS9dYCDq1qBCKUmkw3rKQxViIoq5NDLco2yHJ8kS6y3HiWdZaon9zPU26QR599FE8873vIy+lZyDZBMMOldYaOzvb+Id/+Ad8+eWXHCwyFTwJ4sBokXU2oliqj2jdPYCQ+dPyHKBxJFqO9P+yfODqiJhp6WATjuqwxhQjWURN5t/Ks0sAlFhkax3a1iPPDbftkcnzSYsYn/hIKZ39+E1KnznasqYfdChIxi+E9TGgFCQytdnSI1niYkShI6SIr4gtHROrkNMvzkhUBhQlzbinuF9g67i9VVTmVQmSTFRVE9BD26OkS4BxHLW+DzCkQW06VscFZ/L3uP/7h0L6vmjo5VBJwNP+UUc4dYeKphPksetUpfeCtMZKkZiS0RqttUFQriOMcfdYstMCSIXxcUcCbplPuZVucK2PZIjAGTQdO5l1nZVOjXAyTyL7T6c8I+oeWWg+HyfAKg/NGdNu4E4IsbdtcHRJVKzl8z0qUGtmE+mMjtTQ25ncz047IE/+CGzjguJ5x5mAwXy+hNEKTUvBy3QyQm4UGkstLuh6RO/zXmrWgEFZYmN9Dco75MagNMRaOX1yEyfWN7C7O8OdvRWaukZT16iqGqNRCa80nCUxpKIYQOscRQGMRxPcc+kewNIznT53FjeuXYfmFnnlaMDnGJ2pRVlynpGGsigKeM8q4Uzlrusay9USl+67F48+8QTqqsb+/j62t7dhvYLJB5gtVphOJljfPIGmaVGtVshKg7zKcHBwgLpqUBYZlvNDuHYArzTG4ynOnTuHPM9x69YWl2V4eGthTIZiOISzLZU6ZBk2NjYwm81IAZnLlVSgo1tkRqEoc6yWcxTFGuqaWqotlws88tijaJoK8/khrFU4fe4e3Lh1B9du76OxQvUVO2/ZZVDY29nDYJDh8cceQZZpREnE7j5xnstd2f5L2QoUjekH738EpYBMA6XRyIxG7SxsvcCwmKBZzWAt0a4PDw/x3jvv4MUXnkXV7KP1FoM8pzNeRacXWvQKXMduBP9fAH0NwDd447U/4dSZU5gMh2yA2JaC1I6VajGZTvHsj36CX/7938K2Na8LFfadY2YRt5DoCk0qRUeId6w0HftSx7FKjVMqKNi1wSGj6TVfwyefkiSFD9cUjNYjEleUZAKDzUmCcul1GoIJBNt9jLU88gxyTjkvrb0iUI7eOUIXdwkoImKd4FIzehYTBKDuAuL2qKsyThLAeeWQ5RmQrFAlVOQQcFKJHrWR6tpg7x3y3GBtMsFquYTORMeE/MXVagWTZdjfmcFa4Dvf+QsSqdvZwWKxgAIwXZuEZ5XT5W5nmYL4ogw0ehfPRZ8IWSVxrgAN4hOl/lQAJIW1aEmkFspDG2YCJT60A2C0SiSn4yJSncWq4r+T9Ss9WLXxCYASS2PSUCOed4YD6JiYIrAj42exvSkXyq6Ghw0sOQBR5fgIjV+FMQp14ojq6X0gvf9Z5xSsU4Cl/Z2ZxK/0YJq6ZNE11Sn7BgBQLVu8984buPz5FTz77HN49vnvoywH9FjOw1EBN85fuBc/P3kan336MV577VXs3rkD79qwJuA9jDKA82irGl5rmDxj9WRidDkNKOd4fCN1X5bEPyVbi39KYKu0hfca6+sbOHfuPAblBG1rsaprtA3V3WZ5FpxTCcryPCOJec2iDSYLjqvRhjdBVHrt5DFSjxKJoy4/PVLr4RNkrzvJaZAhmTLKIuvg8MgrbUNCGYU0Q+K4ltOwEaL3aa2DYNByscAQA2SDsgNKSXCJzj7rTpjQE5xzUdpe9mHy8JJtFvsdWxmx5piSTX/UyZfxaNsWTW3JAdKKKHaJk/foo4/iueeeR1kOWYiE+uFprWGYljc7PMRvfv0bXL58Oc4UI9GkittFf0W52TPE50W5rRe44JhNG7OO5KzJrOkkqDFaKOHx/SGYTBDAsOnCiIkElxhqzjQryjZUTYOD/UN4r3DixCaMidm0iAQfXW+QwINre/u9uLygl716S6VUcKzkkO63/vbJmlImNXxx20T1wbgUu5gygwHhP0HbOZvdc1rk3rpzxc6Ss1yv4ztOjtaG6JGupmb30CxQxWwELfVtGvPZjJT5eoHq3dbHcQavPw/dtR+D27vtC3olLRzS+qPkvRoJWBLqanSSicex1+7evwhRAK3zdGi52K/Qew7U0r57idrlsWPAFMKj39dnAkS0XWzccfb1uPHsXENaDSUJriAsIwFmQOHBokUpLdtz2x6bzBBC4Cl185YzcMYY5Jkh5kdGLePozEnuPc5073zwISuSBrWp0vTa2hqKPMP29g6qusHGxjpGwwH2DisonbHwn+naFA/KcFYVTm1uYDoZY7a/h7ygmtTJZIzMDGBxiMP5HHVVYblcYnNzCqPpHDo8PMTNmxbDsqDgR5toFzw9t7VE+3feYTmfA3wvpizRNA0BCCZDVdfBRjkfGT8Ezllsbe3g8pUvKaszmwUbVlUN1eYaal/n2hbj0Qjz+QJlOSBl5FUFrTQWixXKssR4bQPnzp7Hq6+8yuaZ6JJ5UbDzYkPrH6VIZ+Pw8BCr1Sr03pQ9nuc5xuMRAKqfbuoaOzs7+PKra3SuGY0PP/wIgMJgMMRwOECZ53QWyv8UqWFrLjGQMWhai3PnTuG+e++Ndri3ZjSXlDQCtiRsnOl0ik8/+Qy7u/vQmcGT33oEo2GJPM8BAE3rcPv2FjdkJKtgsgxvvfUW7r/vXlw4v475bBfleh4zw4Lx+Lh/jpwliAGS4uDtYH8X77zxBl744Y+QZTmahsTAPAekLTxypXDxvnvx5FNP4Y3XXmGby9cSqFx8EqUowaDJJnsXGUfQ4BIocnwFtIAKJ1RqWo+xSfJ3G7K+CL5OorEQNWFDn/aOGe35emJ9e1KJnZNObqxr5nvAcqhoEHuUWpCj9rB3U0lQljSPVNHu3N0pj5nQJHTkzyRBVVLe4vpPFkQcUzorwv0YozEaj7BaVnBWoWAdksGAhNTyzODq1avwUBgPRxiWA9y6dRuz2QyPPvow1tbGiZ3Tib3sKvVKmKlEoNRJax4BEzWBRQzedNeI766BDvDPo8LJMMnqB79bWrz1h1gSXEc4BbJOU3p7+kyyJxQHnzhmPXVBHZ+48eTDSR10gCB6t+bCuKQjmP4Zx8CxaKNi8LlbRtXtAXwUzAc0dZqBPTq+TPu1lhi0ynCdfUK99gqYz/bwm9/8Ape/+BzPPf88Hn74ERR5AWsNrCUF5WIwwbe/81088MDDeOuNV/H2229gtlgGkBXKwymPzBhY61A3DQwyEshl30SAPMXdZryi1lFHYqZv8PrGge3aZIzRaA1nz1/EYLCG1aJCvapQZAWUyqBUg6ZpsfItXGvDIaGhUC2XNCmKWoGYLENelFyTxxQArSljmhZEc8AmLSEk/HVc16S8jaksIMH/joqouCNU3sRZ96C+fj4GsjHLmTqQYcmw0xUDW1LKA4zxWNuYRFGI5BtdGtQcQT99pEckgTmSbLFQdfkWSFlRnFhE4SAgsL2j0IBSUNqHg7tuWrRVjaIccKbaQhgPHh6XLl3C95/9AYbjCZzTcC0YIdTITIYsK1AtF/jj736H9999mxWrHTwsNL9Pm2iYAQXvbKgb7oZZ/BOvguJbt19mV1gG0mZD6c74phniYDQ7CG4y3kxz8pyVku+TmEQQYWs9ZvMF9vf30VQ1JuMpq2iagHQpQbSPyTB2Aj35uYAQcbo7nxc0LaDBIjQitT2M9KkEBaL6LB3VFBGFv7xiJ88r2CAC1VJ2N9RIaQ7UdCejK7T+cKgqE9Zuavhb59Bax5nfKLoCKGxunkRVVTg8PAiHgNASpd2SwKJV3WI6yVluPj5gSueVDDhlExUba86+BLXLYzKJvaAyijj5I/XqxwW8Hl1lUA/qbwoeNw3JAKbuR2eF9gJKxeJgLtkPQsFVpGTqaW9SsEy/J7bA0eC5f7j1Kdrxe9PAVMorbOdQ7Qe1fWe1Mz4JrZ8S0LSvlKE1I72aZUWq5Bret0TRcrFWSUmf05bqdJQGcpPBG4dV3cBrYk2QYBGQ5QZ+RQrtpDgrdVck0gNQX1MFBRuTW9yLnTMkQkdzDoNyAGMUyrIgYLYi22WUhkscVrlXk2VwTQtnNTbWNjCZjLCYHaK1Ldplg7quYa2HVwbjUcEtViwOD/ahL5yDd5bQdJXh5OYpVMsKA5NhfriPq1eu4MRTTwEAbt26hXJQkEAHDKqqgs4ISD5cHRJQ7D2sbjmLkLHYYwLqeqCqG3zx1XVUqxUmg2E4G/Miw9It0NQZrLdYzheYjsbU3k8prFYNxpN1lMMxxtYhK4eo6gbz+RzXvvoSmaExbeoaaGv4jJxoo8jNsNzqz9o5xuMxtM5gjA17GrcAAQAASURBVEZdN8wIK9Bah9Z5mIwCqqauUaoSRZajqmtAO1TVEtAGs+UCqxsVxuN1rG+s4cpXO1BZDs1NjAgzY9tsLaA9Tp8+Be8t2prrwJ1l4hyp3J49dQKz+Rz71ZJl61VoUbGsa7z93gdQmnonj8cTPP74g8gzTVn7jMCFX/32D5zVp16Ni6rG7//wR/zb/+e/RF6OUVtSMC4yssnOA9pGF1hs17GZPnF0oXD50w9x+tRJPPKtv0DmuT+xt/DwsJYUajMDPPnM93Br6za+unwFKtQzx84KPuiBkM/WJrZA6wyi/O484JSDd0LhcLFzt/fBb4kHU1Q0Ff8FwhpKbLL0GA0aJB0KdOrbCVE0tVsi4kcOsuYzI7D/JAgHknOB/gz9YpWc+XL+UrbOO9FR6Z8dXWBUaYHGE8Ax0cy4q92U2tfo/kNpKt9COP2jTaZMvJyVsbRFSvi619bMKiQG1HA0wHy+wLJpMBqOoJUBlMPmxjqe/s634WGpbMy3+NbjD2FV1QwuCKk0BoJdJV45GyQ899Csc5A2eRMfFEw/h3cdKndMOrlkvOK4OQ5oVW/thFXi4xzIHMUvx5GkQOcl4EbwuWQGj9ajxpcH0KQXSWKENqkZTZWdu7EKCUH5sN6Vir/uAhQR9JLkWso86I5Zf42JZgadzVaCffnT+iCmqx2D3sFtJiaSh0PbNrjy+Ue4ffMaHnv8O3jhhy/ixMmT8Ay+ttwvvhyt47kf/hQPPPo4/sy1uk1FuipBYEplUJwEaWyDzGWUhO4kwYSBooNuxj/l9Y0D25MnT2N97RSKfIB6VaOp26CCCZCi7nyxhPUKZVFgWJK8fW0bKGhkWjHSTXWZwTnlmj+lFDzXL3oWxfFM3/RO2kFEAaDAN0bCXQmIW6zvQ3wXLQJLTpTQkLRsKqgjAUi8Vh+FVMFgHhH8EXn5dCt9Dc02InRdh0mEkuLnetAyAtDFgZAcRKwDKmhAQEBUEHuylnj3w8EQOjMBSJDnvXjxIn7yk59iY2MT1rNzaoiCZzITEOK33n4b77zzTtLb0sXaNKGj9LLpHlKrmZSWSlZBhF5ChvL47KD3UiuSGqWvy9L1fhaQ5e5cyHV9Mu5VVWG1XKGpG0ynU6xNp9062UDTOS5j20X25LtJVdwGEMH3asIFjY4/S5/LHXleMNWO1oE6slbCQeRJFl9+QX13WSo/vQGlIkWZ0RllIkKevk0OPdtGFNZzlkn2zvb2Ns8bOsFkH7NcVRWGo1GSHY3rMg1q0Qna+uOm07Pjrkjm8Sj68YeDfL9KMgqq83ZxxhAQ/Jh3lHuWfYDwPjDjQ/ZPbPMkKfZ07xy/nn36sL17P87mJEmPjpR+rIvqI+Yx4O5+Jvk+ZiT4gELzqnaCvFINVwAxOvcZv9P39mlEcyPIKOKC6WOl6tne6/gdCUAoZto531HF96K86witzrIM48kE3lqMxxM4Z1lXQHPfUJJWdUmtm4yddQ6ffvYZLl04BdvU0EojL3LY8HugHOTQiuits9kMrbVEoQsrRqOuarjxENO1Ndx3/30AgOFwCGtJeVhUx4sih/PUg12WhzAGmrYJjuJgQD0usyyjFloeKMoSi/mc+8fSc6+WS5SDHNZZWE9tzaqqwk7ToK0brK+v4+oXX0KzaNVqteL7clitFhgOS7YzBpkpA2CS5QUzNsiZaduWQQmNwWCIshyE2vs8z5AXOdVq8fgulwtUTQuTkd9Q1zW3wlHQxqBpW5w9exbqvS/CmlVGcykSTfVoNELbNAA8VqsV2rpGWRZomyY4XVprPP7443j99dfjGpWzWCl8/vkV7O0fUMAKmm+AeiAbY6CNRpaNsLu7D1NO4VUG60kp/+rVr/DZ51/i4YcuYW//BqbjMYqsiGcOELITIYA4DpgLDBKHtq3w9luv49w992E6HgO2RdtG+mPbtlAwyIscP/zJX+Jvd/4vzGcH5PeoJLsogprO89pi2+SjgGPIsrq+JZLxSW16PEehvuYsFPe8b4pTG6B04mPFc0lKwMSkyBzFswOJ3YqAgfgQ6NlCINpNxdlJx2rC4LHp3WQ3uIWcwYk+iIrf0xuwNALjOY2ld96jZ+PiB5zzIfHSv+/+K7XTWmuMJ2Ms5kusqgplWYrMAfIig9Zkl+CAM+fOwXlPeilKde8gTfQEAb3+uLBPxtTS0CINEVkI0pYeR/yANKijs6HLcgu34WX80BuTNCEVXMR43hzj/HlhICTZULmWAOYyCKqfsToyD4m/Auk/rDr+THp/KaDVnz+5npQ4xbNd9tcxIqHH3ldXO0CeU7NImWb2nFc+ST5FxWywqNl8vo/X3/gzPrv8OX7w7LP47nefxnA4CCxdy9vt9NkL+Ov/5V/i+ldf4E9/+B1u3rhOWSMV/XqjDaz1WFUVlAbVAXNMqQxn98NR/fWdFvqvbxzYnj15DlqXaFcWbWNJAtx5LFZzPlwcjCmQce++xlJrntzkgVZCdIKC16OnHlssgY+QihYKA6fPBMwKbT8YCwq+Y0QjxMAoKQyDos0rmV5Pxjo4oInBEKMsDrM46IKexn/HugBwaKwkPcB0Sq00tKjZ9ah8UQ317jTK8Ge/lQcpNiXOI1O+JV1PD9+5vue2B3LDzjpUqxXROowKCqGWa8VOnDyB555/EeubJ9GK6h+LBygDQGfwUHjvvffx+9//HsvlkhWgKcuX5eYogisScjJl3sMo4v+nYr6kWB172elUNfUYdC8dq+DoK8q+G856Ot8zm6GoPiLN6QEgTqqsg7ZtADhMp2OiE+YZI6SizZxxBtaFmim6ENWiCk0VXjLDMqfkfIFVvuHRWRMdAytKtuwdhHoiz82uxcAnAS8ZJxeUG6W3nkFqoFnATEcgAaFWOF2b0hfZBcelG6y5TouOdL5GoxHqukHT1KGPs5fa8TQrCIWqajAaDSMtpceYEAMd902aGe1+b0BL7/I6LuDtfv6Yel3RARAnhkPaKEAXlXllfGLmWHEQmzJISME0fi+DHZ7Fn7hnmkquIYFztzev3HtvL/jUOUrXVTKviaN39/HwnXFBsgeDoIcj4FGcgCCq4ykr5lmRUymFTGmioXtLjRa1CRmYMPbOoV6tCFS2FlmWUfuAzATgkkTsLLTKaC84Rcr58FBOrKTUuvmYnVLULges6G04I9daC53n0FlOKsjKoKoWWCwWXK9as0os0boMl904CHPAYlnVWDUWbdWiLHK4uo1ggFYoTIZBkWGxanEwO8SqrjEcFMG5JWpug8VyAVNkOHP+HIzSuP/BB7G/u4M7d25Tu5wsg20ciqJAVZHipE/r2jXZdCgSqjIF0V8P5jMURYH57BDWtvDcikHBYjIaUHd4RbVq5WiE0XBA1PEi517VDsoB2nusT8bc2oHmrLXUjscqQOcm0MN9ELPJCTgYD7GzswPAYLGYYTweI8sMqSG3LUajISaDAZVvwKNpIc3s4RiSpky8ob6JrcVwPEFeFnBtdGS1RD1aYTgeoWkafHb5c5hM49zZM+QVKAqejNI4e/o0Ll24iDdee71Ts+nhMV+u8P6Hn8B5YW5QzfWqatDUK5w6dQqZyfHpp5dxcDDH+skJoCycbejcVgp/euUV3H//fSjKEzg43MMwz2GKLAifBXPfAy47ezy8id53MNvDm6+9gh+99DNkWRkARvC5bV0D7RSm03W8+JOX8Iu//6+wtu6A+V50afgzInATgaqk9Ygi9kKwgr17lDOEfijgb6rEDqQ+F23GxOmXIJkDRwtG6XuU5XA9LnlwLAIkYX2wal6ypz0AUM4d3+8SQJ90nlea5wANXVHI4xMVse7W9fwK+V13vMRrT+v85Tjn1mkhgJbEA7OhTBTasklbxtQvEpYPn9iA8hiOh6jrBlW1wmAwEOSb5px9ohs3b5DPHgTxpd0QOuVaUNJBQUUFXmZLagDaZFxSR3fhxKH2gHIq0Op1IuDYP+8pe96bu7ABaMCOeNHBPUhPaWaTpXFrV48xWekuMOa7eWC5uOjY9HwOHicw+dKDBaMSbEjcuqSqvH/3xwIV/fUWVJ6V1DLfPbgVsCT1d9PravYXI6DeD/JTgV4H51vs7d7G7379C1y9/DmefeF53HvvPXx2eUAZeAcYk+PeBx7G6bNn8f477+CNV1/BbDYLWWEKmjU0K/nXywZZlqHIc3oa62EU2SKjjvbR/rrXN6+xRYmm8sGBh1ZobQvnHQpDFKLBIA+CMM45ZCbjA10jz2JtkmPFOyc1I1mklJKiJw+oSRRXA+LTQ3h8XHxhvjKhS1LxOXUfYSRCu0RKOlmkOtU3RDCiKkEvVNLeIyCTEBpq12kkiuHRzI/vBbrJAHd+b60NUtjyWcW1VtLuCBABJsq+SU0Vei1QJLPpnENVVciyLPQMdCzW46zHdG0dP/3pX+LcuQvhMBDpc6OzMHfvvf8+fv/732G5mLNDR+NgOKtLCyChlIdsYhx2p6OITGfDQvHzqc48d9DUBIUEus62vKw4CJ2fq/hDBjnS+gSp6Uuz10oplGWJwWCAjNewLBPKquoelVSy73HNIBzofWwy1gArpcLeSRGzI68OawAhIJbrh5pN6VerZW9pbhUQ60HF2YaPnxAwJjSZ71DwBZFWYb8ppdDUpKotB1oadFHWrQ6ZpP6ekLmh2kEfa6s6j5ygxEp12gIc51zIePedruMR+v5BelwwHZ9fMgNhMUsAlWQJES0DvcXF+1Iqztfx9kCF9xx9HW/Zw9jKUexVOPhk/PrPFsE51btb37t21071xyb9vcAjR2rFE5SWVMiT4Dgd56SdlIdHteJWJpJRZiS8rmvkWc6CZZ56aCeAjza05kX4D+xcE4gnznak70vG2HmHtq6xWq0wm81h2wZKAYNigFMnT+LOzjxkbrxPgCsGrRSAvf1DGKVhFHD+wjkczudQ3nJngIwylIMSbn+Bpm2wXK1Qsho9lELbOhilsbe3j/XNKbdKUphMxijyDLe3bgXlW6ln8FwjneU54DyaukGZFVgu5nDw3M9SweQ5BmVJ79MaWiuUWQYFYDgoMR6PsFos0NoW48GY6elAnuXsQCoqN+D5Kooc2hCgoI1mxg31rHXOoSjoXKpWlkXhIng4Go2wXC6xu7eHoiygFFAOSjRVhaauMRwOkOcGSisMR0OYrMDB4RyLaoGiyHE4X+Lq1auoG4u8KHE4WxBtXbVhrUEceijMlks6I73HzVtbyLMc4/EE2uQET2qNxx97HHmexzImceyVwtWrV3FwMOuoqFvnMJ/PsX3nNs6dO4fWWrz51ttoG4u2tezLkDCcVhpbd+7g3ffew9N/8QT29xscHM5w+tTmMaBTFF5M920ArZJdq9X/j7Y/65bkONIEwU9VbXH3uyMiEIjAvnIDCALcAJDMrKzJrqmurK27euZlft3MmVMPc+bMnJ6eqcysZJLJJQmQIEGCAIiFWGNB7BE37r2+2KKq86AiomLmHiTyoS0TjIh73c3UdJHlE5FPgM8+/hAPP/wIHn/yCTjnUup73wHOItgE5Fe1xYMPPYTvvvQKXnv1p4PzZkyqXS5sgT4ExEBp/WLvbJYBG8NWMMrfsRT1HcQXpWXKkLAukx8OzLuovxxHf65fWtbDsFEf16Rbvq92mpRNBypriNlMHEad1TxE9cfID2JA1IzWVzYXe0KGwW0zqF8NRMKkbeAQgwKg08XtvMY6S9qfKTlflhWauMLd4yPsbG0nvoDAIC05NiTndnd30bU95ot5cixURgHb2GxSWTUeY7htJqVEx4jog+hgY7iO894O2do8q3fIgQxaK54jbSuoqc5pz5oXQz9EWXCKC4e/kfdN1lsQi46i7ApE5edFKDtYBcqw4WyP31fAD5iNv+O9xfbaejUvfSeq7675KRBugrWzI/aomodI7XwANMsF/vj+u7j4+UU8++xz+N4r38f29nZqu8lgTYiYTPbw4rdewsOPPoJfvfoaPvrwQyHXY/niXNKPfd+nEhtnKZocEk+DiSj/lF08ur6wY9utuLmYhXMFutCj8cmgXayW5Chx/yIj7XssFavrJtXGZsHB1WlAijxm5B9UTyBfk0Vk42d9AxCjISwZQgHGM16V0kkCAkVt06R6kxj3gtRDUCqvMgyhNlJK2TE5NUGOir7imjLQ7K05lZV/pqAcMUxp8xvIseJUyBx0M+T7RyFQGqKEEPZeH1JabVUk1DwQ8maoJcN0exsvvfwKzp1/MJGe+Z6IvSKcqwBbALC4fPECfvpPP8ad29fp2QEWKdLApAHgA0/tB5gsKFIdU7RFel8yztZNaiOnMQ41ST5cyrnVTi8TNYkINNQjN2xAl6VHcky13lQ3nSKQvRjGk8lkUMeSBVGu8UFETqlHGNS/gt6dAUsQgMMQiyQHs8FPrM6B8WdxQNhiyOlZbHjJ4wz38c09fiOji+JwaydHp9VEJQXJIHC0l+Uopn3ppH8w0LerRCoSLbz0aY4IxuDw+Bjwqecm9wsVZSsgjMNyucSkngGeU1+GqGI+g/fuN6v3xRpwpKKd+ftmOA8AybBh/QrfzwCwJnJptdxH0qv5DPPtKPKYFbGXuU7fGdbK6DEblc40GAOPlwyi6GkOHaX0+7SOzhmEwCm64/S1iBhLuidnsFBphmykPE/aGYZJ7b4SyzAznPPvHWLk9kZm41pEiggmQnl+XiDZnOchAlh2LWxdom16dMHDx8SyG2OkdjUdmtUSrirQ9x3KooKNBWwk1kiqlQ/UXialmyUQQIjyYkhREEauAcyPjvD5pYvY29tNCHUIuP++A7wfP03yi/aLBxCcSazFVHd/9epNHN46RGENbt68BWuB2WyKg/391IKsrGFcAeMc+tBjvjzB7s4OFcIXODw6wc5WBetKlGWdnu89Vn0HWxRY9R4lHLrWo3AOvY+opzNMpnVyDqsKN67fwGRSw7g0Vwf3HeDkaI7ppMJisUIMHawDqklB/TMBH3sslguUVYF+lVjymd3TGKCuKwTv4UOXUs8pkhUozc57Dxhi2HcVtrd2ARPQ+x5lmUqVqqrGarVCMAGudtid7mJ7bxt922K2NUXnA8qqQFkUWDUrNKtkK7iigO8bhK6F8RGrZoHt2QzPPP0YVm2Py5c/x9Wrl2AiUDkHD4MeNqXFkYHt+z7tL2tx89Yhjo7m6L2B71MPgrP3n8GjD58HQo8Q+lxiYlJZ0cXL1yiilanmnQW2t6fY3XkExkR88ulnuH7zNoKxaNsG1nqUZUlGvMHpU6dx+/ZNXLp8EWfPnMbJ3avY7qYpqw1mkG2XdYUGT7UsZGkc4f0Kr//ip9jb38fBwT5c6BA4ZTcm3eeDh3UFnv7ac7h+/To+/OBd1cbFAkhM/xY9SiSAxcTEnswk4AxMJoOTo5oQZmctcXM6tVX2mR2831D2QfSSdkq0vE6ZHErHKaebOQck6kujMDGnmUJKeZgvgu67FrklXZExcAEAjIlKnmunmGKZikJEnFpDjmXgf+u+qDkTCTan5yJGKvHITpKQrhqLYEYZUth8GeMJQFBRxghUZWoztlgsUNUTFEWpep0S8BcjuqaFtSUACx+T1Sh9h1l/UGYdT3NqB8r6JUWfrdG9Zm1Ke7acqZCiqQGADqua0fxsbM3HAKtT2UlR18dG0VFtl8jVqqoAYi9BD74/LTMBMtoRpgAMMnkbBzYigMhARCQ7TEX2NwLfig1dmMrFFh22BkyBByaN4vkgkJj8qMQ3RDavCTnlW4AVRWQGBk5y2Z+BSzanEEiSXUEebR8NCqP2tPeACQimg7EGi5MOb/z6l7h2+XN875W/wKNPPImiKpLcDZ2QQj7wwEP4d//+P+Hjjz/E66//Elc+vzywnwCgLsoUvfV9ylpzDpZSpIPJ8uLPXV/YsU0pxBFt12HVNNS+B4kJ2diE3AIonKE6T2Y5rAZF9Gz8B3II2OhJDpCDdZrVeAjoGHJOwsjo0kgVb7YBuiaCFTKOfFhoXKqMI99zOAcSicvcPilVYs0QXwei2FGVKDCn+UjALK593lKvRolempwaMzYa152ufIUQqcaqTKl8xI4ZSIJN6gleeeV7eOKpJ2VMzhXiTBWuAGyBzy9fxk9+8k84vHM70S5R/zdL6eeIw7nl/nQ+JsPVOXJouAszKTCJkmKINvIaSDR8uKgAKVcmzZLvSomiySiwrM1obrxPqXbB5LALfS6EkKLbVBPOEWZmjuTP6f7LbJSPVU2MykGU8eQUcl7vNG86Ej1MhskR2awgNZmF7OENKJ9AygO0kMS/aNp8phLaToLHQ1A4o53avpeUQ+8jlqsGdVmiLBzOnTuHTz77BCfHx9jf24Uz3KyADbdI+zMZwFtFASSuW5mzdUQzKwizwUEdG0J6H2VALJ/xvG/MQHGsRzj54BMLIzRhQ1RrpT/Pxh231ciRCnmJDZkH/Hct8PV4WA5FJWgYaeaAd0prDUkHKTk7BAniaJ8OIaY1eSIYSDq/OpjLiLRGs8djZ6IT3gA6YpzqvIdGQBTjjt47JtK7FPW1qOsa8CG1uVER/OATgJAiEQGwQMFtMWLKOjAmyUBrjPSm5jFWVYlHHnkEzlkc3b2TaikNhPDEFrnuO3LaFu9rBGxvb+HBc2cRwgo3b93Andtz3Lp5E1Vd4+ToBEcnC0zqGq33WC6Wqb6XygFO5nNUFbA9qxNYHAr0XYcrV67ggQfO5Xk0VnoAA8BytULTrCg10cMHj72DfUymE2xtbaNrOkmvLFyB2dYMXduhazvMplNUBTEuW4OyrgREMgZouwY+9Il1NwZMJlMgILEBG4O27RJZIoGlTdtiMp3R51Mvw+Vyldo1+Z7SHlOkHdSdoO06NG0HA4PVokllLdT+KvE7GJLHDt6nNP26qmGswROPP4xTpw5wdLzAfL7C7duH+PT6IdXbD2vTuq4nueXx4YcfYXd7B0VZ4Omnn0JROHSdH0Ty0t5LzPgaGJNIUEhtA9u2x29/92aqcTVOSg2qqoI1BpPpBN/97ndw6eIF/OKfX8V/+g9/A+McVm2DguqaAWLPZ+BfWO3jQDeOdX0MASfHx/jNr17DX/zVv0ZVVogR6LuUURdiAhmLMqIsLF787nexWBzh0sULsMaJ7tA2GTsDZoOEkOyg7PWlzwh4nJyKDMjl7wg8arLs5rOuwbBN7woCHg0gNf1KygzKPsxIb4r8BLdkGRoGWUZFtc5ZH2aPMz9rKOOC+kzW2/xPnjf1G3JaMoivI9s6SoiRbpB3UQKYbchN9iDfT8ZBI6zrGoUrMJ8vUJQVJlPq4qF4OpbLJSKWaS+6dBZ806X0fV47o0GIxHqen50zkJxzmeOA9xfZ+QOiKaxfvH/yvGdnP8sqo+6C/Gxaw6qqyHkecvDIWDZxs2g7ahAEUGvCuj8Ofx6VjhsC6umSjEy2AaMiUFSOK/sNcWBfj4JjQp5lBv6FEQN6mHlqjRNix6y9rNhAUNRwXnFSyNznzQwgwHcNLn72Kf7XG7fw1Je+jO989yXc/8D9lIHHgE3as089/VU88sij+P2bv8Ebv3kDJ8dHNP+J/LS0FgaJO8H3Hh4QRv0ven1hx9aVyaArbVKivmul7Qs/0DmXWCclBdai73xKUbXaCbNEIOSB6FUPLqaRD1IbmoUVCEHLGyPqyWVDI0bKA4+UnhGkfpcjmyGmdjigSF4EELh3JixoCCoyAvk+j5Pf0VpHj4+K2y5KxIs3oewochi0sSfGoOHm1kYEIeTcqCbZilBHG7vaENeCumkalByppZTFQPef1jW+853v4Mknn0yGoBxMYhk0qY7p+vXr+PGPf4TLly6mnr2k2MqyRFmM0pXEj0pKztkhGm3VwYijddUorEZJ14VIlFYoGPi8IyImRtf4gJkh8i3ODThtN0Udui6xZrqqTuy0lLqH0IFuRU46R6iykclORu6/LA0IJTqfHVmG7TgRnndQFGknKfKs/3jfG2JCVrXIrCKyUGWnIxNuafEQ1e+DSh0f1pon50CDjuz4r1YrSfG8eOEyDu+e4PFHH0dZAB/+8SIufX4NiB22t3ZhCyO9P7XiXbZNqo8jNkobw0ARDBVk3llxrfmBel8lI+QdhvgT/Z6Jz8ZOXlRCnicSOVODx6Hkg9TzcFosmBGbQZER4iwF2evpuzz24T5dvwQY5PNgiLgNmo17k7nQq9/lP7NBt04SZdT8WTLKtOHoTKSzMfreGISjyJcxvHc5UuBkXQ21IzMAnAdsH1DBIhiXogl9gCtLeB9Sqqwg9BwFMFLTJS0R6KQznm8sKEMghQt6GuPewS7mxydomoZ4GajFUGmxajxCcLQHI7GK596Sxhg8++zXsLczQQgNTp/eQ9t69E2H6AOuXb+BW9dv4vQDD8MYg6OjozSfhuvwPS5c/AzPfe0rKFyB4CyapsHly5dx9v4H4IyDDxFFWaT2LM6i6zu4IhEzGhhsTWaI0WO5anA8X+LqtZuoywpF4VBPpwAMyrLGbLaNG1dvJECqa6SWueta2LpG2zbY3t5CRERVT1AWDlVV4e7tQ4lcF4VDaFcI0eNkPkfhCpS2xHy1QPQBbdsAMJjP5yiKIpE4hYC2bdEVKepsYdB7j/l8KS0Cp/VEQFat52JMLQNNpOwgH1AWFvt7W9jZmaF0FT7+5BI+//wGWlNJenpPDh4fOe89jk9OEGKPU2fuw4OPPAiPAI8e0YSUSWBzhC1InaU2TC1WqxWO7h7i1q0T3LhxKEZoUkuJ/dq4ApWr8NqvfoU7N2+iXc7x9jvv4Fsvfg1dt0DbdbAEGNoIGOPgRhkW2pPKgBQbvulZlz77BG/+5lf49is/wKR2aP0Sne8lJTp4j2AMtrb38OJ3XsGNq9eIPAvIifV0Z5fOE9e1sdHMrBGp1+oQQNTg49AIz7pIO7PD7wyZ78cyTr5nBhJZRjbOkBOJZtK7CFt9yFHJTeDz4N/CKWFzX/sIASjZTssZhoMVy2I3ZF6N7GzpUbqhoyxOa2bqGgK7Rvaf2E0bwdhs31h5ohn8ry0tdnZ3sVgs4fseRVkMSvtkbQHs7x9ga2sLlz+7QD+TRV1br02XYeCVZCU1jECwqUWVZRLBGNf4MfItGQTOJGdaj2mA0zDjNQPfyOcf4D7WY0dU6SoFRKzzRWkjkxxKTrlmn8WSM7eB5ZztBTIT835RepizDLONAWVT0D7goIYINtJDlsGpnDFhwA9Lc2ZjbliYXyfb6kyZURKonM3yKNmZkXr/WhMB9FitDvH222/g8ueX8Pw3nsfXnn0Wu7u7ALG2933Kji3LKb75rZfx+KNP4ne/ex3vv/8B2rYjuQPYAFRFKWSDbdtmUPwLXF/YsZ3Pl6m9DRmXZVlKZInZ86IHbJH67zGLaEa79EGLcizYmGdjnZE7Hc43nOPAKF3MhDngtN2Y0yd4Y0hAQ+pis/MTqRE37wdLmyCQxyeRqZgXPclFFk5aUIyNxsj91IfR2w21c1pwQDnxg3QGBgOUgGNHKqo+rjLJUo+bnFrnHDm1Qeo4EQ2KosA3XngBX/3as7BFMajDMFQPZ12Jwzt38JOf/BMufPYZNV6ORA5gURZODlmU/8uXrhXSGml8yDGSj2OnQkdU9NxYIgljhycRZfF6cV8uhd+quj65h0ukJN57dH2P1WqFVbPCbDaTwnpeaUP9i3MTac0om5EILQSDRigZOR0Z/6Pdo9DB3CkwQu8PVuhEpMO1V5S2ltBgZcrLVJq8LlwvPLpYUcjOVIy1kIh7MsK997IOB/dtY3d/iuksYjotcbw4wYMP3YfSlVSWkPvtcc+4VIO3wt7+vry9BGUHzhForyMZGnR+g99ctzs+Z+PoJ+Rs8piQnVKb0qp5trQZabiNlh2fzyHZ3J+68u8jRT7z2TbS51krt2HKvayOKEej5JJm68z9BvmrwxZHmdwsKpSex2hMlgPs1OvoF4ty2cuW3MqYgaYh4JbTwhisYlQ6UO9reTtmvw2JfTYx/fZo2w4lsewWRDJR1/Vw38QsKxLLI83NKApjHLWhgUdEgItAHzyqssKNxQJlWWK2tYXFrdsoyhL7+3s4uX7EQ8zZICr6FEPEhQsX8dUvPQFrDSb1BHUFbJ/dBrzHuQfO4u13P0BLDvlyuaRIJKeOAnU9UTVTqcb/mWeeAZCicIgptRcxcUYUZfpsWZYoy0Kimr3vUU9qWGNQuor0akTTtFgtFjjuepTOoXIFYC16k2TCbDpD26ykDY+hPXNysoA1DU5O5phNJqjqEiGkDK2u72CsTQzQvmN3AC211UmMzNMUtW0bBB9gyqyzrLU4c+YMmiY5yVVZo20a0R+FSwQjZVXClx5N26GwFl3adKirGq5w6LuIg/19VFVBRhT5FlRi4lR3dx882rbDl7/yjKRas+MDFcconENHhhnLBFCEYTrdQllU+NlPX81lWK7AtEgpzjZ62GhgTYqqpvZLFr/61Rt47LFHcObMLrquRb9cYXt7Buf4vNgcsRmbFxtlSSqBee8Pf8C5Bx/FI489gcJ5dCFFoLl3aB8BZyxO338ez3zlObzz1m+HscE1+yT/eCjrclRXfkZZe4nUZCgDx/J4/T2Gn9NOBtbk7DhiqnkgRqVN3GbEJOJMqPsgRpVyOjD1BkCKIh0nezaf1UglbkMuAlW/qcQq2zQ60ybLfAzk78CWEN0dldxO8tiZ3H1gPM/3UkPi2lJGnbMWs9kUq2aF3qeSAWu5vpiFOXB45y6Oj+awxuUMAmmrE7MdP5iJzOkh62cYbATHgKQ+NSV0K+6TyIGcdWddv/MQXMljgnr2GBzQ+Qjj0kO9R2LM+j4D61F6zcukGhDEyQS49Fbi11jZMzz/glmZ9efajALkGmzJ4hiuN7tZZmTnxMEedWCzMIQ4jPjH4bzG/EMJwEitMHe+ICdYfYNS/3sc3r6Jn//0n/DOW2/hr/71v8aTTz5JnEsWbdcCcDCmxJn7H8K//j+cxuOPP42f/exnOLxzCCaOjSoo4L0Xotsvcn1hx5aN/khGe2EtEQzY1NfNJQPD2iI3/B30FWWB5cXjcxLlsIjo0yHiiA0iTOJwFUEh246VDx0K6bEWxwI1krOr5LVCGQ2vBEcmkSxXZuaDSYowBErbRZTosqUUpUh89YIOiQPHDtA6KjhOsxnX0HG0jZ1BQbFihHGpxgLqQOs2T1KL4wPatqeibCsbg5Ghqqjx/Ne/geee+wZcOZH0MGbmNHCw1mG1bPCzn/0UH/3xfSETMTHAWZPqhziSJ7ncmvyHGVKpVYoZK5Lx33nthmy3gsBJ5C7PnzZUB3JLLkovMoCxgb3DNZQuwmOxmGOxXCRjjlOQ04cEEc0JTobabyjHPW+7geKV9FuVkjQA/DaQFg0Uhfqs9CyLJqPP3IOZnG6AmBzNuE1OhgZjpL2rW1xB7bnQ0z63g3ZE2fDwktaXsIWA/b1d8QAfPP8ALl25RGnohCzGIBHSSHWf3vcobEprCqqXhDhV1g77jbJiJ+LzzdHZ9TPHzOk56clKNsCfcorFvWeFwalwI6tBK5hxVEKPLW8RroPWAIcd7GNGuLPyNeIwKC9OdGROU9fR9lHKlaViJpNkLkciNPJtkBh/od9Tyc9N0WUGMNPe5Bo4RYCDxAXIc56iHD6PNb8lGHDsuy7tH+cQC4fYO9TTGfo26Yqua+CMwbSq4YxLLOoxpSzF4LOOYNSaQT9wdDQieGKgjoA1BQpnEExE7yMWi2MYm3qqJj6CCGcDvOFRp1okXm4bDaKPaJrUZsUED4vUz7trlqjKEpNphW9983l88tkVfH7jDnzXYrmao6p2YaxBXU3QNBG3b91BVdj0vD7i8M4xppNtAAZd16La2kLvO5iQibF4Ddq+R1VV6PoAH1K2jrMRq0UDR2RSXevJgLWJWXmxBHxA13o0oUdZOWI8Tu/UrjpY44hEzyXiKJP0oCtKOB9ROspiIjAkhAhblsl5Lis4ZxKLfky1wMak1n/ee1ST1Ne+qmuEmMiXQkxRg6qskoFpDLa3tnH37hFMiAhdh8IW8CGNe7XqYIzDmdNn8OgjD+K9jy8QqzFgC5s4PULWt9Y4TGdbOHv2DKJvEX2A79KfXPRnTcSD587j0uefo0UngEMCSRyqyQwXL3+I67dvwhYFnnnmGeztbMGaHtOqRFE4XPjsAjqsEHoPbwC4AotVh5+/+mv8h//wPyAGi9uHJwghoigdZlsT9CEQWX1qceVGZRFx7CxS1kPft3jj9ddw+twDmNYVKqoRDzH11mSmWmctnv/Oy7h15wauXLogHWIRyQg2qd1N3MAXwinqOhIl+29oGm8ETsf9XbN+hzyLxV4m68uSUyTohiDBUHZnZWuohp7HQ8E0IDoKihCxHOnEATxvuEOFlbZIgyskDhPC2LOFIGAzOzOjsYVU25sCEflZes4ltZRqapnFmiPBnngOcA+gPAdCnNiR+u0SF0raa7NJheWiwfx4jtnWViKrD5roKNDzLMqyRlGUWJ7MEYyXe2k7PUcV8/pkTy0zD2cIidYmqsxGmivuF69hZnYyoSL2vDehuGqGDi3bLxmMzjp3DL5wqnguiVOzlp1LDpDpckawL5HXW+hLhKka0tbUhJwqjvEe1nPrCSpgLqDB/sprntO986wZznSk7iN5rCpyS32y06tTCYgae3oSM2bTvFk9vw7Rp7ra3gM3ry3wv/4//x944umv4KXvfQ8PnjuHSTmRbiV9BGCmeOqZ53D23MN468038dbv38TJ0V0iKc5753+XiK21BmVRpN5eABUbW2IiBIoqsVp1XU9G52Y24cT2m9BIYSJm48oYIhGJA1SCp4yFJxvgjCoEYvHjbaQRLEAb46kgWiJPozY8ur9hEv4OsOmA9Qz9wqlIAzsaep6IKIl+bm1ON2bWXWF1DZEK8jeMM7n4gloxI2iMo02MCIux4Q90bYeiKFE4R8/MfVONsXjuuefw4jdfRDWpqYcsaONwlMZhsVji1VdfxXvvvQvv+1RBRUhSWZWkiJQRHeLa2Fg5GdXUe3xFiZAPU8/z/tkMAPB3eRzsUGQH2MBZm5BaEj6yb9RzQwjoulSDFnxAWZbYu28PVUnHIwbpExuIAIGZZ9n5+pN7LuZaBkA7qtlRls+LMGOn1oggzWg1fY/ST1PqZkHvF3Jqip5XuvuAz49JnnQd8wh15b/r9gUcSey6ToiC2HlhgX/x4sXUksNEILosgBn4ofdp2xZVVQsCzJFIKINn/J+Mg+dSR2xjnll+xnAfqbkfKLM8L+PvgY2i0fnk9RGQ7E841+O9bGSVdXQTAtLkz29oEm/yvdav0fhV5DQIeUd+5wwOaWbv3Fsc1CJsiO7qs6rHwtHacSmFAmxAdT/3GLcGMdvVKskXiipYa7FcrSj9ibIUnCXGYTtgE+fIygBvUoCi4ch2TClxSW4n0A4momkbNKslpQPS+3pqn2WTDPUhSJqhGLEA9efz6HxqFVYUJXrfw6+WMMaiLCfY2poANwK6rsfJyQn29vZSWijNw/bObkrNgkfvPS5evIjz58+hriucnByhrivRLd73KIvk4HkfpMdsXdfwPuLu4W3ct3+AqizhiYl5fpzShq1N6cWOMjh81yZm4NiLQReCTxFiulK/2jRHxgCLZQNrHfq+x2w2E4cnBI/t7S2sFkt0fQfAwRUO9SSRSFnn0DYttre30TQN+r4FDFBPayxOFlgtVyitQ1kUwmPQe49AfXeF/brv4Ps+RYsRcN/BaZw79wA+uvg5Qq9qv01KmzPWSu1206zw+eXLuG9vB5Nqgo7bM9FaTqdTPPP00/j8yucJghfnjWpve4/33v8gZRxQ+dTTzzyFqgD2treBGPH4o4/h3Y8u4O77F2jf9DAw+PDDj/HOOx/gheefRTU9RlGWqOtSZQMZycwSe4pLruj3Wc6ktXIu4vD2Lbz1uzfw7e++gqqu4fseXe/hQ6S2ayWMcairEt995fv48X//WxzeviN7gM90YQqy2ahNFkc4Y2KElmwoAzGUmRl/GBEbAqMDMEyD2okFh18z241aSoxkhyNQKpATMQYQ5WYiZ9OYuPqNUyyl3EfsW7ArkO/D8nlkf/LBZyeNM+Y2jmUktyWiGSFsunxfttesMcnJ1LI7klzmFxNxrwhGiWtB2w38GRU3zIAf1YLDNpjPj1FPalRlNejNy2cHiDh9+hQuzeda0Oc54UEqJ3I8B1mXJzHL9jv3L7XUhi2GMLIf83pioGcyuKueviETcPiJe10Dm0LtHa2/9Z3M6B/aEt7APEH2TQ7iKD5adbOcuTe0WXKLsFEAewOwrxmr+SxmfT0gWxPOHwxki5pB0Zv5ASanKfM+k+4iqRzl3T+8jY8+/RgvPP8CXnzhmzi474D2hIWPHl0AZjsHePl7f4GnnnoGP//pj3HxwgU0/erPrtOm6wvzJ/MmTE6pk/oe2NRGAACljikCAuWAaKfLWUUigySUAtOeIxBrJgX7CbXhZs8xJqHkkZzCPniqn8n9R5nQRvckFVbi/Ea8Dindzcfc9oGcFB8S82YfkrHAjGVG0k8DoTKZBZcd5LEhHmNE9EispZHqL0McHQDaOuwE8efoT46q6tTXNHY/2MxN08Bak3oKhgAfIvXfS70fv/ylr+D5F19AWdepfy20w+CAaNF1Hq+//mv85o1fo2lXghA6AGVhJZXV2RLOFoOxy+YaOyhYd1JydItrUONwHjbVJshJNoKEOWvgLEVzTU7fDNTfNQWS1lm99H5hB2ZnexuVqxJbdwxSXxWoryg7mc4NI+cZuNDrk0AFqdEaOOqR1lf3/RwpoggYOPmc/nmu6R3W1eh9x+OLJiCaTI7F6xm5xzD1AeU9p78bRm2oYkwGEr9nWVaU8ZDW5OzZsyJcnLFwIIr4mFmAeW6apknGHNVzGWE05NZRZjCfWR5B+sIOzswGuTUGjPj7LFizQ2fWvpfqVaywGA5+nzY5RTaG+1NHmweGKSC/sy7V5ST5IRiukk2Z/ZNJbOyIGXKTAz12JNMP+WxxJ1CdIkaRAGJpZuXGxrNxzGwxzC5Yj5BYhf5CUs+BoYyT8VGanUWEBdXokjlpTUToO5iQWNe5v6ArDCazGmVVCGFdWZaJ4A4cDQ7pP7ZV1cqaUeTLGMA5Q9H/NA9F6bC1PcPO9hamdYXZZAKElJFgkaJ+htpwWO5bTnVsxgCHh3dw6/YdeFj0SP1OfaC+1zbpzJ3dbThr0Hc9To7nMNGiKJwAS0XpUM9mOD6Zo55M8NzXvyZcFbPpBI7IlRAC6rLE/Wfux2wyTZFQzrDqOvR96ll5fHKMtu9x+/AOThZzlFVBfckDTubHuHnrFk4WcxSVA2za89wvmGUkr/WqbdF0bQJlnUM9maS/kwwsKwfrgMkkOd8FPcvHHt4njoKqKlLEqevQNV2S4QYIfY921cBZi/v2DzCdTgB6n7ZtcXJ8nFqLESAcvIezDoUrMKlrOGtw4+Y17O5tY2dnG8H7vP4GqW+itURGAjRtg88uXMKqadC0K5RVhaIsJFL6+KOP4WB/Hwi0NxnYJADu4oUruH37LkVQDFarBbzvECLQ9R5912Nrto2+69H5jiLZHovlHCfLFX7609dw53COrd19HB0fo1ktEUIu75BSHmbvJwkqp0zX6AEAAqwDPvjDH/DJRx8DzsEWLskhEykVkeyF4HHf6fvxjW9+R4CD/FyT5tUmcNxRdwFLZS8i18w4M8+o3uj54BszPHtZ5xuRORytDMSoH6RNzeZLQNC8uGtA5tqViuLzd+gWiS8ml+cYJafz80JuiQPOmDKUPJVKJrSuGTiTGzpWBGIXN5RWaCQDkd8mIkafiNtCLn9iZmOQ7eZjQO99KtmQNGUmGEwZa2PbBNwAIQt6cYQndYWt2QRd08D3PaxJZzNlxiebt21XuHDh02RTsHwOPinkgSqLqr3TEOxMva0t6QlqVU0s3JayeoyjdtWkv4xh8kfeXIrZZg3/TWQ5w31ADNEypkDnIfeQl//ybpTP6pPGHoz4FbqVTiSHL6hpGdi9kD/H+4V/zsG6QNkCASnQlpJJckfvKP5PWLMNcuvFXJIUQ0T0fc5MUWNJWG0CE2TPxFTCGGXbxfxnBEIwCJ4Yy7G+/2P0iKHB8uQOXnvtn/Ff/+t/xW9+80byF4nDIgaga1OU99SZs/gP/+m/4N/9+/+Ahx9+ZGPg6M9dX7yPrS0oQpHSVIxNUb2yrGCtRde3tMCk6EUgR6ptSBvSMWOytbkPID0jHToqalbRlUi5F0GMeO0omyz4aSHGqabyDmzpSCF/TvXlPFFtsOUNmJ6bUnQZpBuyNguxQkTuN2uGhmBODc1/Qs0Bo2f8vlBIV1Rok5WaO8gPDFmjbZtqaquqzhEm2mzWWjzzzDP4i7/4C9SzaUopiDn6ziybfdfj92++hTd+8xt0bUNELxHOGlRFAVcwkqbeQ401M9Wp50elgEdOyr0QXYk4WmJgFWGWDWpdn5IMK15DKykfjFCJ00d7xXufnVpah739XZRlRaihql9lpDewcM092fSYrc1peCFST1omv1Kw3ljJReoPa2xOC+G0NxZQRkJ7aq5dTkyNKtpnxnuECX9Ulrc0Yad55PmNZt2cyDW86TeemGcNkoJKQBKSAA55z/JZizxuRicpWqvZ7tYQfJ6btf1CUb8BZMkoqVQo5zRizoCgNhU8h9Zo5ZJT3fW+ZOfSWkdyB/IuXGeHkVvMDI1c567vKRT+I6JNDXJHRfw1BCnyvfhM6fcT2cbzru5v2PwghWlUaw3agHLeIrXpSsYrn2EyRSVF2Q7QZh6znsNsxKh7yHsMrwj93oac23Sn3ve5dyuQon0GMFVi700EflFqy8d1xYZbm5kcvZM9xYvAxhJxLGzNZmhgcGe5wIp6f586dQrVhRvwbaAsl5ypoPXG8WKOy1evwRRnE1ndNMniukrELF3fwdoiOZdNj+PjORbLJba3anJqLObzZaqVDRHWFtjd3Uug2+4uqqJE37UUybA4OLgPZemwv7+Do/kcW1tbsM6i73uUZYl6kiKsi8UcMAaTuibHKI13MjHY2dnCivoGd32Pvu/E8OX2fd57LBYLhOhR1xWqqkTbduh65YgxwEdtu2LsUVVFckCNxbL3FIl0cC7de7lcSL9L56xEwcqyRPCJ2ZfrszqqUW3btCbGOjRtk8qkIlDUKaV51a6wt7OHmzcX8MEjUs0gZ4Nx1k2IwKVLV7C7tYWHHzoPg05Ysre3t/HEE08o2MsoZ8pgtWrw8ccfI3iIrA4+lVod3b2LrbqGQUoN/+ijT+D7CFeU8L5H06zgyhKHd4/w05/+HH/zb/8a9XQLXpVN6AwlfaBiSC1Woj5JdNgjZbAhdvjt66/j1OnT2N/bUVwUGaBEBFx0eOyJL+Hq5c/x8R/fU2fCgI+DIScptVQhmeF9ju6sOZGbIMacMaM/KgB0UHWy2jjH+PNKphuIDZlF8joQrmWklqJRZKlIoCTj6XejFt75HcnksYrhPd1K1bpCvNMhqKeQZeGhoXIR6f+LoYxaB/Ztdlo4BZd5P0RF/GnwEyJvx1HWNJayrOBciZOTEwA1qqpU92L7JC3mbDrD6TP349LFi2KncBYX27Jr+lvOEk2pSbZM4BZiTJppMk9EUOPGaD9pnakmSz07606j/q51pgBFA327Pmd5jfN8jX/P+plt+rEdALJr9SEerjP7JYy/RP3Q0Xuu/UX5DdoOFytA1jGf98EUJRlNfypLTG3ooa/zp84cM4YbY4Dgcfv2dfzwH/4Wly5+ghe++W2cOXM/TJE7j0QA1pV46pmv4LEnnsAf3vk9Xn31NRwe3tnw8puvL15jywaWj/AmoJqkHHtjHPreo+90obGRPrKCaFBaaIo8ct0jE9uwUMnI30CoCw27RgJk/uWQc4QFg7Q7bdhacUw5PXUtshWGtOESB6JeZ4IuIm9Kjq5a2GxWy2Yhh0goxpnZj4xfhWBxFDsoY1tSMmJGqqykdhu1zyKa1QpFmWpDwYobPYJJRCWPP/o4XnnlFUwmE/Se+o8JNpgooYx1+MO7b+PVX/wMy+WxvIaNMTFgQyBjmfcQhq1P8pxmA5eTbgOt9/AgqHQMmgdxdiSiFQDjKBrOn6dIGP/bWKpJNDkSarJmjIBEuMcIZoge9aRCVVeSQiF0/AT0RkBqajdd1hK8EQKCT+RjxhjApoh+6EPaQ1wbyiktllG/QtWb5PZHhhmTlRUjJFSiqmmP8hlix1Ycfbqr4+pAxjtJgdsIFNnAMCErJu0QWGJpzeczMYPKGXcFbt68nfoicr0QQBENVnJpPIvFIjHmKWHIUZ9BtE8pMmERHyl+MwKzRrgJjI3SCidGPkNE7DVIq8kRXO1MDlBWJrKKkL0XB56qNhZiqhlSBhT3+85ND0EM30kc50bvm4ySrOAYODRU1sqKPvgg85NJTficINfT6Qni3t9iIEQpX4AigbMAvE8RgkiAhwRnRI4bkT9pDDRGIg6JKXYJG202AIxFUD2dRadbAxMs6rpKCK9PkQ3nuNlEehfnCsToE/Jvs75wJqHJIuthpWQiMohD62yNBbqUSXPf/h4uHB+hDT6VmSFHIln+R6WEoqW+tiHAR+DKjRu4dfsGjAl45OHzeOjB84B1iaXWRKozLWGdx607d3CyWGJ7Z5aclmBwfHKC2XSC1bJBv+1RuNQ279FHH4fvO1z//HMcHt5BVc3w0COPAgg4Pj7CsuuwXC4H5yWEAOOAyaQGqhK+9wmoIUC09wGFs6jKUogBt2dbiCGgXTXofYAxKf23aRrs7e1hPp+jw/CMOsooCMQob0xq8ZEmxqD1fdrjxqDzHZy1qOoSzSqlILsiOa+FKxH6tJbVpEz7MAB9CDAutRYs7QRN36OaTGG9x+Jkjhs37qBpe3Sdx53Duzg6nqOwMZXRxIL0D2WkcO2gCVg1Hn/88BKqaor79qmjgjV47LFHcer0QQIEghdimIDEtHvxyhUcHh4hmJTRYWOS+7EPuHTxIs6eOQPnHD76+BNcvnIFs93TKGMHE1NLlKIsUnT1jx/i6SefxDNPPYrV8k7iLEEclPlYpXPYJhJTlSJt2ekIiKHD0eEtvP7qL/Cv/vqv4coSLoQU/YsBoU92XG1KOFfhWy/9AId3buHGtas51VkETZQ6uhgoJmgzUq17wKb9pmxkMYUM6UM/kmlG9koGkq0QvQl+KRwANo9r8PMNjs2GS+f1sBHNYDfrJzvKRtHEfdmmUKChftnhzKm/5XpNRvmNGcmguEneszzM7O48Z9amrgzsnMSQalGpyYLYAfpdxraLfNeA7Nt8OQdsb8+wXC7J2S3Xv4uIpukwXzZp31LHjMgKTK1xtguJf0bhsYYyrmyR9h7baOwTBkSKbBvp6JHrllOWjrzIYAF4b2nwmR1eRWqofDYG6bRtof0ECVLwzwaPpMj7Gj/KhjUII+4g+agRp5j1o5WSF+4vq+xnmEwWGof2nsIhZHys7yFAu3p3kF1ieF3Y7zHDshx2bYQQch1UyouQO0lEk9a071b4wztv4MKFT/H4E0/j2ee+jlOnTqOeTJL/1ns4a1GYGs8+9y089tiX8Ls3f7fxbGy6vrBj23UdQDUV09mUiCWi6mNJZChW1yEGiegZKkIGKU5EMQdl1kOII6Rn/cohaeU0qc/aEZKZo6V8uPRiZ8RejDGFZDE7qrJXKbJlct8yxZiWx8VpIKwMuHYiykHjDT/c7FkQ6IiMoGD5pYa2eAjo2o5SO4pcw4t8SB568CF8//vfx/b2tkQ5YJ20j7DWwTqHTz/5FL987TWcnByLwW+tRUmpR86ZtYOYyH04gjkUAgoepXq5vC760s6JpDI63T4nivMgfqzhVFFIz1WOBoCFokTWc0orAGXEW9qnLpGfqfpNMdQ1AGKy4OMIUm5HkYRMYDKIOGyZ4riRt0JJuc48LT+l20vrkowG5t6xQRk2SkyPo8cRQLBKGDki+sqOnFEb2yKRxKS0Iyt9AjM7IcToiCGnsaae1Wk+63qC8+cfwmeffUapxIWsl/f63Ob3KopCET7kZ6aIZ1ZOcr5H7SA2C9PRnlLZIOCArWbuVedeBPeIiE47fVFqjvNz8jtl2DOwcUbEaoHPiCqbFTBXZaIEUYKb30ufnYgoTNE6ZduYodOvHRA+C3rsIQxTtvU5ltr+kFIEY4gCzsj+tAm49BRd5T2rQcKhbMyRXNn/0DIwomtbeJ/G5z2nwwY1z7wWQWQ70yQkshRqnWYNXHTouo7OQCDOgnRWpY+2GIiJTR4A7r//fpycHGM+n2fyCgYk+fNUhwqk2kNrgKZtYQoDawMufnYJq0WHaT1BVVeYTqeYzWaY1FMYNOi6DvPFHIj3EeAJ9F0iUPI+whVFStMNfepLbC18jGi6DmVd491334ejetvO91g1K3Rdl+R24bC/t4/ZdIrJZILQ9+jbHgX3dQxZRwMGVT3ByfExiqJAVZaYVjWO5ycoy1LSVTmaz9HxsiyxWq3S5+saq6VPbf4KAhEpohmCRz2ZkM0QYAuLoiwxmdboO5/qg3svpJFd7+F9j0jGM6JJJjHty7btsGqP0j0mFR595DzaLuLK1WtoGmod1HrcPj5BgEeMBh4uEdjRzmM5fzI/wceffIri6ScBY1DVNR57/FEYA3Rdg67vEI3N+x7A0dERAdYDqQNj0r5hm+d3b76dnt2nSKr3HtPpFNFEOjMBv3r913jkkfMoygkOj46xv7tN7UlCqmd1NstIQMpKGHSHci5lHIi4dOFTvP/OO/jaC99AUUagzzZUDJFSww3q2QTfeeUH+NHf/y0W82Oy46IYuUOZAdHFJM1z8IGZ2BkwVEe6cC6VjZG84XM8sBfEItRAOTIRkY68GfX5DRGjPyU381pxRwFm+8+cL3ou83+ktyPxKlHUKrJS0eMxo2eBo4NRdDWPay06P7INNYhrrYWFk8hZdl6D6KZ1B2ezLuE5N2xEyPsSAGwdtra2cHIyR9t2mM1mAxmd2kd63Lp5M9Vc29Tesfc9jWs4/9k5VPXNY1uRbMr080AdCqK8n2GnNuaxDnWHybpd/Wn0x/mBSg9DTpcFE49k+ys7tbxPLPsVSheZQYRTa6n1OeB1kVFzyq3igZF5VkAOocSy9gqpISczRz5Fh3NGSciRYh5vRMpBjgNdHGVB9AzzvpBIrmJ5FsAebFOpAIx0RlHZm6HH4Z2bePO3d/DpJx/jmS99Fc8++3UcnLpP/KFAa7+7f4BXvv+DtZ17r+sLO7Z8oKb1BHU9QU91g5HSDh3VOImQspHa44CcqOGEG3A6YVQ1Ipud2jhKyVhH0kYbB1T7JsLFCKoYqa7QWEORA/nmkPhIauxsFuKpECv9npnjjXJUDDk1yA4OwHuE8ZdM/DOOUiHaYR0EFBJuDXpugB7yRjHGYLVawSC1ifBigEfqv2pw/+n78dJLL2Fvb09FKNOmc4VL7SCKAp988gn+7m//Frdv3QKXYxpj4IxB4diBYUc+G8iMIvI6WI4+M7OdYrM1ap3GCJY4LVR/IWmbSPn7ci44ldIacX55PdKtvFIyuoYgR5h5bvs+kXnVZZmivFJrYqUe0RhHZGc5rdjQGPlcyJ4hMQSrUxSt1F2zQOD9EvkcIEsOYV3kiBz/ndO9tZBlci7FHmcoOhclukniifW2CN/83IGOUMIo3TOjxH3r4fuwgXEQ6Psen1+5jBgZbc17eGh4pCjv9vb24NzKcWHny2cQQitobQhpoELvq/Hv+WwHADHknsIOTFqXswBytkQUZJMdwMhRRuRU9OG48nd5b3jxgbhkQBmIKoXf+xTpCqqGStZ0w3uJAyoIdAYsNjmpm/7T8o7/HOznyO2q2PjjPrWRZjWdMS/cAhpgUWcQOYXOh1QPn1P0+d2YgTvJpuTIegJPTMo06Tq0TSvjK8oi9cWrapzMT+CCQUQh2UFpPjjzha2UxAqrTWWeZ2cduuBR13V6Pu2Juq6xWDQUKe5TX2veWQMAIe2yqqzw5WeewqQyCL5H03Q4unOEtm2xahrs7u2iovY31jrcPTxExMOyf3py5J1LzzYxkf80TZP4IIxF5wPa3sMak+rhvIdxqTVC6RzKssDW1hZ6amHmnEsAKCxckeQrR3fLqkRRVuh6j0Dp3nVZonAWs+kE1TQ5pFzvxE6zdRZd1ybt2XvAR4Q+om97hJBSh6tyIuRkZVkhNF3SJ1Ivlhq/FnCJmboo4UOEjxGwRQI4CPQ2SF0BInVV8D6ga1qKUkWUpcPDD53D2bP3YT6fw3uL377zHu7cPYYhsIMJeiQrgHby4d27+PTCBUQA+/u7Un/nfY9U1ZaYQq0ZnvuBwYdEbLazswtjHT7+5FNcvXFD5EhHJFx1XaMPPRCBcw+cx9NPPYl33/sQLzz/HE5WDXyMcDaiD9TJAE6YysEZRFoAiUPGwE7KHPIh4s033sDB6fvx4EPnYb2Hj4F60Rv40AF9gLMlTp87j+df/CZ++fOfCsACcA/PqM48a/KkH200A6b2aADjTAYBaZ583w5A1ajAwTUdkF3BjQDf0Onc7BDqn9/b2VVrx05HNKPoJdmYJgxkqY4dDwMTwysK2ZDK0ovDt9K6dNzaTctwiFwmHcI1pFwRxq03R+98r/fffGXHluX2bLaFxWKBk5M5trd2yOnQ0ctUmmSNw1e//DW8/9H7aFZLGgffUxMh5kBBJGDUxBz8gtiDASFY6tZBet4CNlgpO0rg1HoWkj4aecKz7WfYuwb7i0YcNP5T611ZE9knObQgvoOyYZA1n2Su3eva1I6QfRnOzIS23divUfYAYxOGQCYOkDA+xVlMOssyZWEKPMVFGnqZJDIrj2WbWoueAV+OyZ9mfhvxe7KcSjOSAM3bN2/g9cNf4NJnn+LbL72Ex596Eq6qCDiM6ELUKYt/9vrCjq1zieq/pAhLiNwWhw9BkMnneTD0c2OS8xQN1TpJZG9YW8kTmVE7bXyp1EjaKCkKNDQs8uYYTXaEoP8Cs6uLFyKE1FTdi3PBxfbc90lHPtI3nWWim1x3mBy6KAeMlRKzMaZIHdcSe0LZstCXWaD0aWuN1HTkOoaUFloUBdUg5RYoMSQH6fSZM3jle9/DqVNn0HtI+q4zFs6VcLZEQMCtW7fx85/9HHdu3iSHLI2lKBzVYtKG555wavokQswOAZBaeajayvQ+WRXEkWOfUdjMMhxjaqdhbMxrMCC3SPOeSb20EOI9M9rIEQg+k4ytqM+vcxNx1I0i78q+nhFlYqnHkSEnjVW8Vh1GRTejCUJcJTiWGX567U+ppUEiZokhpWhh06VShYlMwTibiMpMTPuG2RE1Jb04uBresYhet2XK6dwhBqwoDTkOiAkgGVarrpNzK+n2AKVmG9k/y+USBwd7dEYN+l4RJWlhfQ+DZW0GlMGx6fvGqDxkTlWmti2SqrRGiGRG90/zEUMCLqLa+zxXY+ec91y+lNHFjdCNcuwEbYfU70aDQa9bfT7G4EIGh1Ik0xorUaHN86dBkuG78PNSiyYnewBUX2940elzQe0VVr4RibgukYPx+tqRmqdo04hwJj3LIQSDtvNo2p7a6+QUZwamuD7LUCaFyBEihQusmASgiPIo2cu0J0jgoq5rBB8wndQAarRNj/3dHcyXd8SIE4IvnkOEtF7W4uBgH3vbNfqealfPHKBpGhwfHWO+WOL46AjVbB/OAovFEr4P0p8ZMeLu3bsonUVZlui79G6ffPIxzpy5H2VZSIQc5Pg7l4ifZtMpCpfesW0bGKpnPzg4wMnxCbYmUxgiULJtIynHi36OyWSK0hY4vHsHO9s7qMsacI7qghPB1apZSZZD33usVoms0BQGq2Yl9cddF9C2Hov5IWazKZxzmM/nKMsCfd+gb1tYa7G9XaH3HlVRwvsWloBXZmLv+h7WpZKnqrS5rMdZTIoSbddSqzOASkdROwe3tQUYh4fPn8Vq2STwxTo0vUdqaWoZlyYZDtw+PBRn9urlq7j/1AFM7OAAeFgEUDsjzjhTepv3lA8Bly5dwvbOLt747e9TlN2YVM5jLOAsSmthTQIG7rvvAL/+zRsoXIGz95/DmVO7WK5azKYWiB6pGV0ge0GDWSxrhi6VskkREbFcLfCr1/4Z/+Zv/gazSYVoIvouSJZG1/cw1sEVFk9/5Tlcvfw5Pvnkj6mmVhEuSklUoPZ3iZ2DWogR8GCc9LIWg1jGF8SB4XFvAte0ZBKjWd5olEpMclPkEDHojhXlRgdFADeiAxNAUDO/mKzHTC4JixwRo/RYFZ/aDBiqzK9BtE1dPL+63EbfR+s1zlLhd2M7SEfaJJamo+H30qEDlE9FSNWczWYzrFZLHJ8cYzqZwhWO9FS+p/c93v/j+yliq+aD51ieQ0Dp4B2Q2jIxsJ84MRIxX45cpLEFq6LcKatX9snQtorDv4stqti8Q+51ngyjkD+zASQR0MWofakes0nPjgGW8dpyFJ/LACJlveb9yns1CAjDvYaBDDTL+xnmzAgUWCGyQ2Lz9z2BszZbgHrPGQnSDVJcc2BP/686x+M/uSxI2zOajNSy3o89+t7j0ucXcOcf7uDr17+Bb3/7Zezu7JEOH3af+XPXF3ZsJ5NJij5QKDtyRFKcMRXvH6AZuedsTDlJhPZwf1NIiDwScYZRqRmbojVDhixiLhtHM5CNd5DAs8ZSisO6EcuRLyFFokNkHDmglNImBygm1N9ZnW4XJd0zRo4YDDdyMMkohgFMZCIWqkdcq01VETeThTCnxDXklJVlqeYsC7bd7R289J2X8PCDD6MPVNlmLCKlsRhY+D7g8PAQP/zxD3Hhs88GAt45i6LQjK5RoVnUBzJ4IZ7SIIXnSeVLKxalnhi1S1GbzZE5jawZwz2E8+f0JWtKBE78GUapemKqbNsWq9UKfehSWtg4FVoi7yxoKO04ZkXH45H9T+m8YGJAiw2kGGaQuq5Ralb4CfTQWQNcix1S3CCuO8aCBNM6AQa2oDlzWTbFsXBgVJCVCRElBVHw7JBa9F2H3veDaB/P2X33ncJsOsHlS5eErj+YpKgEyKI6RiaNinG4x4HMBKrnZ4xWj/eH/uz4yoAZF5KQkIRVzmKexxzNxKAsQvYGGz8K7M0O3rqTyeeSgS0tz5iwyyiHNCqhz3NvqJewVfOhFdBGdN/klKMQInzwa8pX773RrCkUlt8vSDmFJcBl7NiyvGXiFIn4MMAUYmLSV+lOaewBQSoY1xHgEAFXlIBpU4uYtlMyKjmX0+k0za1PBrZnWU68CWqGZN/J2WJQBJFOWISxDrPpDF2zwu07h2i7Hm3TYmdrCoPbKf5gE8Om9xzXpQiVQWIN7z0CRRSrqkJdVZhNpzh96hSapsOt23dx42gO20esFkusVg22tmrE2CECuHPnNk6dOiC+ivS+q9UKFjH1frYGvuvgqpy5AuOJaTTtvaZZyTzfuHGDUm6m6PoerrAoSofQA5OyBDBJbby8x2y2jYaIoSxl6ITQ42S+oP0YYaNFs2opTdnCFAX6rk86M1g4k1KxqwpomhWNp0FVzdD0bVo7BxzenaPve1SVT2ngbaoD9XxWDLVishZt3yF4L+9XuJQGXtgiAQCxR98H4nFI/UXPnzkNA4PDu0fY2tvHzbsnuHTleo7+AsIma4JH8B7zk2OYGLE9m+JkWohRbkLap3WV0qXbxufzblJ2Wh88tnd38NmFi7h2/aZkt6RT7AmUb1HVFaqqwoWLn2K5WiH4iJ//4lX85//0N4gmYtV2mNaVZNwwW3K6V0Fmli4p0OebfkZkXDduXMFvf/s6Xnr5e2TQJlCk61J/4h49DJI98+1XfoA7d+/gzu3r9Gyn4TiUziUm+JgjiwGBHHguv41SCwlQmmXkEhaWY3wWx85gGMgWoqOWoMYQcLQiJ0A8KDFq5uPhNeQDYZmv5Sind0YhjBRTXjmIST9TuYyPSmZCSwL1FO3TDZ0lDcpuusZ6jWUtp+PGGKVPbwi59VJ6HU/RDqve5V4RXA0IjGV0+vtsNkXTNFg1DWZ2Bm6IwaCvMUDbrWiOHKq6Qtc10v6S9QGDVpZ1pqS+Z2Z+kP0FE1PbSpiU5aCy18Qts56yicaRT22D6v2Y68PFLiKbPcoa6ZQs5U+Qc5FrfDGwB9ad6zznGigY2C6y1/O4su2hMjVMBva4s4qRqKh6NtVwuxH4Y8kpNmWlxj+0pbMNTW8X8/hi1H1r89rHOAaOIukMBRgoJ55thBz1pc/D4/j4Ln756i9w7fPreOml7+ORRx5GWZdo22bDnt18/YtSkb3PUUgO0fBkFE4biYycQJRiqkc0mW1WySdGJ4imFD54icpaZ6jNhSFPP8CKQ6i+v0YeQ8ynxGaKODQCZRGlkURuB+TKIqe4ygRkvz191cnB4lA7jwXqZ8ZA3iVy7eVgQ6v/iUpAKIIASyQ3Rmo5k4FgqE5qLBRjALa3t/DSSy/jkUcfEXTRugLOFkKiZaxB2zR47Zev4pOPP4JzXJIZ4ZxBUeSevet9WkNCUpSTmuc+NZJmQWdUFCmSY7bulOTDwbWrUIRfut5BTgSfZoMNwmLdqQ0hoGtb9MT6aa3B7tauEEYNhJFEQEXCElGOTllXBFV8RtQ8sSMga0kf9CrivvGS9HxC8QCpDZTtMtqYhgUFIZsGuY+eTr0ez3uMcbAfI4KEEiNlKbDz0fXd4AxlJ8tiPp9juZijKAp5d0PEVKnlRt7P8/kJdnd3B2dx7KiNnTX97zHYNXiXEfKYNfXwz2xQ6Ejm8Hd6Oxg16YV1WfmplGOMIriCSlI0Sc6GOJ+kwBLqJ5FbPZ6otEvEZuW4aY0D1eVJHvToGju14xqvTc7y+txCsjBYmcWYezvL51jhGyBEDxsy0yV/wLBRoxRx13Vo2xVskfgcnE0t5WA4k8RIdLYoSlmoEAJMak5LbRtMTkETAzTXxOt9x7sghoCdnR3cWi1RliUWywaFK7B/sI+i+BxN61WdtWFSaWI1T8Ba16VWNFU9TUQYpMu2tmaYTD1m29tYfvwpFotjdF1iB97ZnSKaRIQ129rG3t6BpMf33uPxx5+Ag8EyLgBAuC5ApRl938H7lM1S17VkaDiX5qcoyuTUVhP0ATDWoawcQteTHLRo7h5hUlUIvsdq0aIsC1hnMJlUmNYT9NFjMpmgazxQAX3fwhUOvk/va41B4Qo0TY+yLBBgUJSJ/6FtO0QYlEVq2dT2LRarJfq+TyngVQX4ZAPUVUoHd8SaW1U1lvOTBCoTuMsp65zB4JCe3/SpRUpRFZhNazzy0Hncf/Z+VFs78J9cxqXL1wFE9PBJxomeNiirGnAVbh0eYu/gANOtKoHcZKxZAI88/BBu3rqJk/mJAIugCEXhCpw+fRo//tFPEqCEBD5XZQEW+b5v4SY1isKhWa5SO0FEfHbpAv7w3vt4/rmv4O6dO7B7W5hMUgsnO1BPmRCHDuCopjCD4/yN9999B2fvP4unnnoa0XvEmNpBOReTnOgiTFVja2cbL/3gL/G3/9v/G8H3qRWZ8vm4rl9Ei4kJzOBom6jMdZnLwoB1upbZWtaIs6okDYZierPjMmr7rWUMA6djJ3oYiFHfE2JAiCPDbaaGNYRx8F6Rf897Sr1LpJvfC4Qdy98sb4cOpjh2a/LaiL2ba13iwGYxGMr3TY7WWObzFUJq7wd4tG2DWTlJmWFif6jlMBHnz59DCAGfffYprwA5gAlG9BRhT2SVgXyBPC7RHWSjZ+Jn2m8x7zH2/1jPDiOpOjgyDGixHtfRarErec1Yzg90Fp8GDPcq2/PZWVgDLTb5Kmxi8NkYfI5tZGq7xzNoJGI+JqLKwLA+d0FV6xr1v4L/x5izPhVfS4SygcQbXQemBraLlALxc7JtvhGsAbVTMwaxb/HpRx/gyuXLePa55/Ct73wbe/t7+KLXF3ZshdDFGfUiigSG0lUDB+oHNXogFJn79HELjfT7EIzUUgJGWET1ZageLoT1lBK9KIJoDvqPDcmcBmQhHFVl48CklN9slNEzEAfpf+zkSvYCfQqDxeWURytzNsilRx43o5FGHVBuWYOY6rQYlGdiE+3UyjMjUBYlvvnit/D4k0+k6EHfwqBMhAd0gJ0zWK5WePXVf8Yf3nsbwbdpjimdObX64JqxoQIJISBSekBRVANPK9L9bZ7SPGdKMGgFw1Wnm0DErBSMRNj09+X/xs6R8sO5VYgwwNGzisKhntTSk08b4hkxzHvIGp2WxICMFWDGUw9nHX2z1g2QvPV3u8dFDHLgWJ0hAwKq/kfVdUarwBQe84bazLGDMlagUTlqCW1Lf+98Tyy5Q0MkpSeWaY5DrqeOqo478pk3hojmgkRDx9e9Umz50ud7PP5NhkGk8811wlYAAkvjzwy6eg8PAZIhO2KUTIz8OwbuRKGqKKzOHGAwhC3QqElEoM+yev5Agea9E6kXsjg2JjM5RiRfzmxwYvP7jY3Hdbmu13q8DvQ3qR8bGl95jE6Yupk5P8r5THWTgaLoTr4bQoShHtCVq2CtQ9uklmORW1zRe/R9i7quElmVRIRGPR/Bra36BPIJ2Q3XW+YyB66d75Dn1lqTUmGrknoe5lpplk+Bo8GUNnq8WOCg30qEfgRoAT0WyyWMMZjMtrGzPcWNm7fR9YnA6HS4LzlkRYk+dPjo448Rg8fe3jYMLC5cSGy7wYdMEFWW6PoWFgZVVadesi6lLxc2tekRJnYAXdvDoEfvI7a2JujbFtEYrJoWfe9T+x6kdjdd08L3HlU5QVXUWK4WsM7h5HiBrungTOpF6YxLa9R2WHWJyDD4iL73aH2Luq6xs72Dsuvge4O26xBCRNt1sM6htE4AVN/3NKdkM1DPYERymFcrOJPWqEWrsnF6VEWVwISqQtd1iUCqcAh9gHMlrl2/hmvXrudcMWtRVJXod1fUKFyJarqFVdej7TqU1SSBRNTqbTqZ4Jlnnsbt126k/aM8zhiBoixw48YNXLt2TbbHs899DU8++hCAHoUrYa3FxYsXcXg0x3w5RzRJfvjY45evv46HHzqP/Z0DLFfHqOsS0iKSmc75DEsf7+zUQpxbKt8hYLRvG7zx+q9w6uA09g92UbiOGO55DlPbu6oq8cAD5/DNb30Xr//yVSFKY1kSIhHhMaDDg7AZwNd6W8AfrtmPfcp82qDvN8kX7dRmWZflo8hmkOHPxEQD/cHO4dDAzs4Pm/mkR7RdCUgmXppznckUJfIMKB2/EWwfeNp/wokdyk8GhHkOmfNg4+ecVXoqDmxMecsRiDy+xk6K6I/IUEVAVaWSj6OjY5RFTa23mGwSUlN/4cKFZP9qEiL1F7b90t7LRJpD2xAUmLGIltihjQGCReYoY4b9Ic+FGUy5AlYMl7OwjWApUuwp2sljjrIz8pyz3Lf02eE2460vu2xkM+lLfkZDSCbfkOMkfzj7VnJfozxiYFDupwdlTFREdwrgUR/bxFnEfomeO+EIUdjJOjAC9H2QPsVAbpVoTPbBhsGtZAskPMkhwmPVHOM3v3kVn3z6Ib7+/PP4P/67f7M2h5uue4SM1q9Uh+hQFBZlYVCU6T9XmJSu6iysSwdQmnfTf47+Sxs5IZ4WuRWBXoC8KHoRo6A5WqiND6bki29Ms9ic0hFjkLYWueZ16CwaMoScye9knaVaWd7zORVv4DwActgMb0LZiJGYUqO8fnZqU4rV3aND3Lh1A4dHh+j7XiK1ZVluJJqqqhovvvhtPPOlL1N/R4ixllOGk1H35ptv4je/+Q183xG5UCLLcGot+bMxKMpuih5bV4ijKOvFgkknarCDE6LMiVFpp9IcntZfN+021L7DWiPN1Y2BQkmHYEEIMbVcCKl/su9zax9Bn2JqXTGdzQbKRbeMyumU9HsDVXfKwjRVP0E5L5uUBTfZlgiuSifV4A+pLnUahko9Sz9FzKUETCIMMASkZBZGw/cYSiL5neEXjDn6x6yGiCm9qWsDtRbQ+ykBVWcfOIfZbAs+9PChT2lohCxGqkMx1L5nsVhhMpkSw+EwSqjnznINoN3UXinXUGuFw9/X7MCB00tVJJPPPU/DWmSAau29D/A+UMp9/s97T+R5cTSd42dEkVkJLcmnglP+LdXfOwUUcA05tzxy1ghbN28BTscSGaWyOYzhlhkZcBsrkCwP8u8NAZMRWJtX/V02ovk9IHWm2QgJVIdneQ/queZotSh1+pkYNnwmkww0LgNFrHgZeWZlPOinHY10KHFcP6cAB77XpsuMos3GpfO2tbUlUZK+72FBpH5c027o9IaUixwCcPX6TXgio1o1LdoQ0AdguerQtB5dHzGZbsk+OTo+lrTtpmkRosHjTzyJhx95CEd3DxFD6iNrQHX31qBpGyxXK/SdR9N0WC1bnBwtsJgvMJ/PsWpWaLvUY94aC1eUsEUBYy2WzQqHR0do2g4wDiECXZe6HHgiWSqqEq5Mn58vlrh96xDO1vjOS3+J+06dgSsdpltTBAQ0XZtayQDJSQ4RRVUjwuH4eIGT+Qq37xxh2TYIiFg0KzRNh9AHRB+wWixwdPcIq+USMUTMT04Q+4jC1DCxxKTYQlnM0PUhpe5yVoi1cNTnNgKwhcP+facBW+BkvsBq1cPZCsv5Ah99+DHu3LqdW9QoZyxlhhUIAVgsFjg+OcYf3n0PH330mch7Zw0effQRnDlzis4i8WtYNoQNQrB45w8foO0iWToG7arBzvY2Dvb3sLe3hf39KZ7/xldw5v4DhNDDURukGIHbt2/ht7/9HSbTbVhXYr5YEellFB0RCUTMsgb8G2Wc5s/bEOEAHN6+jTd+9TpisKjLKWbTbVhTiN7r+h6dT8DfV597AY899bRkIYlscUZaRRnideDoFbhdnxyvMdhPstKMxK46f3GgBePaPQJlRiVGc7of20FrvmoGH7WMlnGILhBvSwamux0gu10pI4oJNAeaI1GNZueaQOhoUn0C61hYkZW8B4fe0fCdk/2Sneex7aCvHCShVn6gPqNUY8n2qJ5vKN2Z59DIIslc2gilVOCcw2w2Q993aNrU8i+yY0Zj8b4n+xJwtsBkOoPnGvnoVHu98T7IPzcEUBruf23L1MWDshmN4R2TiVutyYEQsRcpg1MCJdKT3ZAuNjAxr422583Atqd5McSfov5vGKAZJCuvgb58SVaiLLDqmqK11gDZzpDycOKiikyzPZHnNM2bHZT0ZVCMbZURka4Zzq4MhQyftmlz9qbRdr2Vs5cCGl5AC61nxw5xINnGtkUMHrduXMVPfvzDtX1yr+tfGLFNDK5RHa6MluXJzKFnNVpO3FApH4wBZERDI1GjVeTvqCL+qNqRaAONP6evSDUIPHYRbuTA2GgSGQg5KkOUhclQknFgDKONcbh141BQIKjUnEF+fsiyg42xwfvxPQImkxrb21uChmun1qvNBDJuv/bsc/j6iy+miBuje0bXLibD7O2338Jrr/0SXdPBuhQxSelyyZDWyGsyUrOQscTcangGxHAVyStKJZIW4xoL7XBBOSKG0kINRTxEtpBQkvUkZ45RLTCFORvmPkh9QvB+4Izm3mgGdZ1QxrgBGYsxUvp0HkSOcNEsRCNJHdpfHB9cjPabUT8bXoT+Ri3MNNOlEqg082Yt+k8OjUlrqKN4g+fw/Xi8Qbc0Sp+S+tKQ0Pmu6wWFT048pwM7fH75c0H7o4koqwKrtoGNqTcplDzoOo+Dgz340ELltwzOHEZZFRq4EQMu5hZCZlBfrtZR9mdKcUFMbKGbHRxt2PAztDxS9gDVxoYYE3u4egc7qJ8erTOnt6teyDryzGyz+n1Z4WpsI5hM3BejDEfmImaPfRTnXd93nBIcaJ2pdmBNnubxGKXAzVD22XQmAzJrohHTHuK0hXvwnWZoLBujnupLe2oj5H0v57gsS1hq7F6WhRgVvg9wjvqRSn/xkEjoeEMOyL1yNJ6JuYDUsmexWqEPAZNqgtnWDG04SQYVsf1HpFT7iExqFWM6B7cOj/D+Hz/FtHY4OZpjZ3cbD54/h7os0PtExMYp1DEG3D06Qk/9+1JNc+ox2/UdmtUCuzszPPvsV4AQsWpSrWuScQEmWvS9hy0yKdFsK3EHrFYr4sfw6PuAuq7x5FNP4d133xWip1XToCqrBHgQsOkREAlUiQbSqqgoK1z49FMcnZzAFgaT7RpHRw0MLNqug7EG060aIRghLQswOJ4vUgsjrACRxylCUpYlmtUShSsAWyRG3z7gK9/6BnZ2T2Ey3cLjTzyBX/3yn/GTH/09ZtMSPgYU1qEoUos75woYZ7FsGyxu3MTx8QmOTk4wn9/CfL5AHwLmR8ewwZGzZhGiJ/br1Ke9UX3ju5XH4fExmq5D16c+6tNJjaeffhJs36Y0Zu6cEOBh8Pm1m/j8ynXpyhwjhOgwgrg5HFBWFW7fuY2+6+DsDH3okkwLHm+//Q6+8uVn8NCD9+Hozk3UzqEs00kKKqLEcthKxluOXAlxDDz1bk7t/S5+9ik+fO+PeOYrX0JVRPTOJ0AyJhZmdB0Ai7Is8PL3/xJ379zE4c1bAxDWuuQEeE9RWMrYYCKeiKETILaAMTDW0Z6NuWc3y3EWufdwAqDq762Qf1mYGJSsU+0SVQmajhzrS5dh5NZXQ7kkADE4M0rbc0r+WtUlnPOiB+Hc8fMz6RQDkl7KSnR5SQYTMZC/6w5TciKt2AwmIttaeRoHV5aFPMac9aLtsaicR7BzuzXFYrHAarXCpJ5BNQ9R75GySb785S/ht799g9posuPjRwGBzNfCfMLa34BhhzaRKRlqkWcIY81gNdmY+cVUdpZ+eapV1gA57x9lz+W50rYuVPlh7oRijAIE6Oma+nPsp+T3z6CLPB/syEKhNsrXEaczc+AgDm3WoVO+vgs4iirZhmtzhDyXyr4wMChcmcoYR4GaosjlcNLaz5hBbT40YKU6U6RfBJUNEeG7fn3t7nF9YcfWUJ4LGwZRFcaPBYWk1Kp0EQDS6FcErzK89KJKSs3AmKU7K8GWnU/+va73Go0fLGOGiJ3sPoOUYgamt+cICfd5UptUWFVHhiLVwrJBnOosLNtRwmcQpN42pc4F5JrjZAI4QZDregJI+nFyyPSaGNVy56mnn8LXv/E8yqqU2gVLAirVPiZD4+OPP8bPf/ZTLJfz5MT6JABcUUKXfaa0ZS9zJFEJAiG4P2+ak/WDxOklMQQEZdCzmSupSCpVGTYLeT7QORnEcMnIUDRTVDCKM0RrgajQ5tRHEcagntTEFLw5wiprzAzeZDRYYXPN7xqorigS4xwj+wgRmoF+43MUsqZ5LtnZ1EIyb1hkp3JQ+2BE6BmRybkNlX4veSaTMFgLE630AtZKJMaItm0HZ45v533AdDqh3wv9Crq2S8zKJssNgxSFco5rgLRSzmnBNMr0lhvb/OT55J/nrI8xIUMC4szIyWQwzZgh8YoG6gbzrubOcJg1y/oBgh4pisDtogagxnh/UVphHBkx+s+12nYFpjHvACitL6Gc/IKMMK63LMhzaRJ6HjmRmFaC0gytgCPDNeCDGZmpm9PkACGtyOcwtXCg7j6EikNQIDaSjER9WK6m6Jvve0TvU5ptUaZ/qzUPVGM7m82kRZjUXwqQaVWPPZW9oI+iTS2y+L7ee5RFmciQYHAyn6NtOlSuwMHuDq7fWRC4kIrgZZ0M9/EM6L3HhQuX4EwiRrx2fYLDOws8eP40isLi/IPnMJluwViH3vdYLJZYNQ22phMav8Vy0aBtPbo+lX3sbO+i73ocHESUdYW7h3dx4/p1TKspmr4BygKucPKaTdvC2ETyZIxB03Roux7vvvcefAiYlBXaLrVUavsk611RYLVaolm2aLsOhbOo6wp1WQEAjo/vYr44ge9b+D6QM2Vw//334+qVq1iuGriyxPHJcQLZSofSRqyaJayx6JteznZZFNROJ4Fe1hQoK4doIp578Vt45tlvIEaDW7dv48bhHVy6dCn1AK4skSlZAmc8vPcoSofYBZRFhTNnTmG6NcXx0Rz7+zuJAKxrcHS0wnzVofOBWrjRUYkBvl0laNumffvBHz/CLrXuMSat2e7uTjoHIRL5FCXjG4uuD/jDu++h6fp8boIHHNC0Kxwf3cGjjzwEa4DjoxN89NEnsG6WCP5CcvQd6ftfvPoa/qf//DeYbu3gaD7Hwf4Ook9pmBwNGcotjhQqgNIQkSJzWIQA7zv86pevYnd/H+cePIepBRaLkwxmU1aKtQazrW188zuv4Md///9jHlvqiGDIgaIWLcFQPTvbNsoiZ3thZBCb9WOobD/925ENSLeVvrNg0h2Ts0cYnKfvs1OYSCDNAPDNBv/Y3qRLBScgEosFFUV7SWZ5kolpStizjqKrGdjPU6PSrE0kckiI3L1XlG/gXKnfi5xnJ4U+53ueg+y8QOk40bUCaLJjYbMNzDbniK8GALa3t9G2LRaLE8xmOykDycTBMxbLE7z55u/WbOa1uKMKnkVhaFQkSjbbjGw7sB3M+4/bbsr+EVbq0XMU6VN2hDMfg6xNjArM32zPRZ1bP8RiaP3vXcecPj9shwSjvs/7M2y2S7QtqR3i0SclqCaAjOIHGjrxJm93DP6ifLX0MOu4feomEGDz39fen9eQOpaYwlGkmAv7dS/fP3994VRkjtylvrV2fTOOLo4I6RRWE7PBLp7/wJhT3x6hUZw2ktIBcwrOEMUajncQAaKJGTrFGX+CdrKRU2Vk0dXCsdOTx5zNM2Nyui+I0RRSf4zh4vB+sjnaoYUII2dN08L7IDW1+v0ZgXriySfx3ZdfxnRrC13fJ0rvCIq+cPQ2tSF49Re/wMnJEaLvgBBguSG2c1IPwf2mxhEtUU7R5Pekd9Dx6zRHYehYZRgu1zGrlARrLRHoQNKf5QxFTr0c/mcUKZOMT2Xv8hy1bULDjbVwRSHP3rRX9M+Mye/pQ05LZQUoKcaBUWSVNjoGfEaHOEfFtMOiMlLGaZEE7Fgl2C0BApx6Y5WTJUgK72MD9V9OqeJnWxVl5nfx3qPrutz3jOoP+eydO3eeDEsCUoxDDIAzaX2reiKo+WrVJEKbmMmzOO2c59laJ2UP/N6cNisp62rejKTUbIqCZ8Kv1ItZlRJYp1JmnKQyjssojEIh5d8qjZ7HYAi5jZH792ZAhc8xz7M+v33vKV1eZ0gMW/OMiZ34voZKIwblCNS/Ggqh1U5t3nv0TgrAA7dcyE9Z27/aOc5sjZpwYPBX4TeAMfls0Lqw6JbUPEp/05kPgfrjeu/Rti3atk2p4EQYBEKaE8t2FJnLzK/GpnPAKcVivKn3BYDSOUHUeb6m02ky5L1H23WIEajLCvft7yVHJkb0lBUSAfjoU5FUzNkpPnjsH+zigQdO475T21i1J/jDe+/izbfexltvvY22Ta1qIoC2a6WvLAuxxXKJrvdYrtoMMMJgOtvCfadO0/lL6XWzyQyuKACTxtV0HTjFezKZJnDOOgQfcOPmLZyczPHY40+irCc4Op7jeL7AYrlK57SqydBIPX353E8mE1RVAe+TwzuZTLBYLNGHgDuHh3BFgb29PVRVjbIqE1BL2X9lWaAoCyyXC0pNSw6Icw6FK7C9tYuirHHm7DlUk2088cQzuHn1Fh489wh8F3D38C6uX7tG/XONZJVweUBRJPr37a0ZHPXzrcoC9923hwcffACPP/4wnn/+K/j6c09jb6fCtLKYOCetdwZGbEhlQp9+egHvv/8hAIe6rvHMM09RXV5E9AEOSswagzuHh7h2/UauK5QaVI+ua3Hz1k2SfQXeffd9LE5WWC17Im0MKGgurHO4ePEyfvPGm6gmW+h8qn2GsUJGx/skRiV7yKnLeovYmoUzwwDwWC1P8Otf/hKrZoWiKlHXddobIUfnvA+IPuKRR5/El7/6NUl/ZjsnkSl5USncWkz0+RrxURSHjTsDbAxCjIj72B40hg3BHN1EvqsA1WvGtMjBfMcxSLoG3mEoLyG6PgzTwJFlCYNoAvMZFc2w7JypMShHF1reUaBj09zkNY+D8Y7/8zGkcgKGm1VAiLP99H/Di/SXCQjR5zVj/TACftlmqKoKk+kEx8dHkk2lL6sIMGOMuP/+MyhIpw8ceF2nTXMXo7bJ8qprXc3y3tA+Nxbyn7Ub6laF/DXbpZEh3oFjnJ05nba+bs9lG1VFwQZp54NVHPybda+Vkkg+r4y7GErFHtjdaynpjl5aM1zrdY1yHnlPEC2afDxKbTIDvdpFjqI/2WdhQq97XXqvDsu01u1uaw1KAWZz+YBfYzP/09cXjtgyxXQ0ur8S/dLk2sns8gZxPLJBR/lpUtvFKDpPtKcJdPRCLGzWJ8kooSnWuslrl+jlc+3X+DCK0wK9B9O9LBRLnjbYxix+ZJRBEMr15RW2UjLm+O8awYkDUqmMEiWHLBE7TCYTpIhrqq8JRGJjjMETTzyJ73z3FWxv7xHiAamFhHVCmHD1yhX80z/+CNeuXuEyPSLySRFdE7Pg+VNXlPenNGCN4qiUCssWzfiMRSD6INHZ1Owj56/wVK4rotHh4tAsRYI4y2RwYGJE33WSxl24SqI67BRoxHageFiQxnyw+ZNyf7IDojXUS9GIAtOYgCEE04hgWEdiR/IwvzfyL2IIGcWki/e39yqVhBSkds4zyplrDqXljNdR3Chj6b1X68eGCcQx/OyzTwBESn1mG4L2tLHYmk7Qtw1AdRYp42AopNZr462k0WUyimwUDZHrddKoTahoBKXZYfNnB4Ryei20U6jScIUGNwJG0uxZyeuo9jB9Jqryibw29GFhFA2y08YsnoP3olVhJmqQUaDrvde0m8mGlMhKSWDMqG+OCKyfC04hA2UzGCO7MCPj3ObKqHc0SX9wunzaJ4kN1tG5iSZHhWIMiL2BQQFrAqwrUNWTNKcx9ZE1sChciVh6FEUhRpquj8ugbFAlJDTLZKwFH3LtnzXwHXB45xCrVZf0SKBUrdpga3umYNC8b3OfvhRVs0hMzg+eP4fz5w5gYLBYzHHl8hXcvHkLy+MTvPrzXyDEAvV0G6C60lOnDlioIHiP1bLhrQZXJEvNt4Gi8hZlNQFiRDWpmH0EXejQdC2qMhEVLVeL9J6hgyOyt6ZtUdVTPPbEE7hx/bVUS2tSh4OqcIi9xeFigd3trQQkGANXFELURBsgCQ8PHB8fpdZpxuDk5ATGWczqLVRlleqAfTpjy0WDomDwKqVelkWBmpiUr129hf2D+3D1yjU886Wv4OMP34fvVrh+7SZC38DYgF4iUKm3a1GW6RwQWFRVE3RtB/iQnDoC6XZmW9jb3kOMBp9duITDowVstFj1AX1MpZC2KMW4jzGi7Xs463D+wYdw5swZBN/AhgAwR4jj8xexWjWIPhuJUPwa9bTGo489jmgK3D1e4J13/wiPRI61aleIEajKUiKPIUb87s238cADD+D82dM4mc9x6qAW+SrBHhVlifqZJEOCmBQEHroke65fu4i3fvcbfPOl76KsEiDio6fUeoPeJwb4oi7xrZf/Enfv3MXFC58m+2hck0l2WJKVRtoXSsdqm6KZMbLdxBaxKmlSrXU0MM1zy9JHy0DOC46cJWOGnC3i0Mn48nc1gDy459q5VlwjIhJ1VJxHHUgsEhcFO6zj0jdimeafBdbHf8pu59KXgcW7bpfKO0TqH2p5/JlMKndOANk2SRgyeMW2yTi6mZ9FA6BWLlH6vgIVASQnx8eYTCbJblVJMgJOGGBrZxewDlevXkn1yBgGJdJjWYexLWPXdPwQmAgyXPkM2zp8qkeggQZ+YxwqOx1sG5+5sf7WHEDS6YUBFaN07oZL7Q56WgJobVGgb1vaL0b1DNbOuCG3NGJkGmrvaPBuqoQ5Bb9idniy+6vnQNm05JcFdnDVM9cBIlC2JPk4JoG94u2MQQIKFDHOzeWTZjDgP399Ycc2teBxiCEkZFQLCUAMGj1Y/jujRpJaqdjGRMBhSIKUv4/Bvda99vxMST+QNJUocMLm72Yhxcl4IswiEvLu3ODjmY2X92rMtzHDtjiDZ2qEjRw5juJodC4bY8kojtQY2xiD3mdFwtHCJx5/HC+9/DK2t7cT0U0EnCtoZq1siNu3buNnP/sZrl65Amvzfaw1KMqC0mjj2rgFqVNzmPtCq+iOMPANBeDAUeL70r+zgszzG2KA4z6uo3mMYiQoB3wgeDKrLtfhhRDQNg3atkNZVrBuGJUb74nhgcxRa07z5HkKlAZlTEqb086vJ0cnI5zZGebWErpnr74C1Stn53k9e2Hg4NPmM9ZIGyzvPaX8KkBHbXcZahxmvxgidIuUotP3fTr3SnBLlNxabG1t4eTkRO6bI4dsbHjcPTyEtRbzxQLT6VTO0KYoZEpd14BWRkjTfe8Nugyc0rH8CWGQsrRmBGDI0idKeLAO9H4mPy8/O/3J/UO96rM5JHfLz+RnSe17pJK8GOC/gPwWYG0NqDPUikNHSbSDT9I4jNLRQsznUynv7KhnACCl+mZW4CwF8vejtPpS82QtAOYFyNEU1h/irBOAwJE4jmYbawno8xJh67p+Y6RmeMXEuBxBoIolLoUoBotXgEaMwHK1grEO09kMbdvCokfwDebzOU7mJwk84H5+FBazhmt35U4pXdUZVGWqz5xUDvu7W7h75wzu3LiLbjlH069QF9tYdQFHd49yFIgM1OVikQxl0kURXnpyG2PR9z0KIpMrnINzEU1oUkS571GVVc5yoOjF6dOnAQCvv/5L7O3u4uBgHzF4VIXD3tY2LCLqssSkqpKjz9ERl85uVVVJPvQe3vcoygIFja/tUr9hJr1pViuqmU09KFfNArY1KMsak0nK4Oj6FmVZYbY1wfykwfVr13CwfwohBrRti9u3bmB+fILSpbpYHwJFOC28DyhKi67vURVlIl08PMJsNkNVViirAvPlEl3fpym1wJnT98EZgwufX8HhyQrtfElzaxNAaSKk2Rvp27ZtcXR0F2URUVpH0SzdizFloPTeDzgnLLfMMxG2dAgA3v3gAxzNl2SUAn3wKF3qxet9RPDA9tYWXnzxm7h58xDTeobdnQLH8zl2t7aFQT3vezFfc6TLIAkVNti1AWqTN/j2W7/DuYcewkMPPyTvEjxFo22RnFyfoijffuUV3Ll9M/cyVvp8IEtIhhvmN9DRUjGOM3qYpUe2pbSu2wTs5aOdWVsNtxgxcSAb2amBBm4VGLDJYN7kPOVgFek4ZvYX1c95rUZ4RNjWHcwN/duq92RsQEBHfUkARwdFoFhu85jzh+ivQbeHUa6TYpLWulsCLEaxM4zWwoxsNg7S8L0KV2C2NcPR3eNU7jCdglUMO9MRBh999KGEwiz7AFn7KvtnsNyS0cP/1uNKzOqZI0SPEbxEG9Z6MNX0l/V9NwaN1+/BcjYilW3qgBV3JNmopUZZhoYA/STnoPycob6PgZMrE4RklP+R68WpNC5SuxLR0byfojqF2mfmZ0FqXdmaTNkLOcA1tlHzvOR67aG/Q6DKhnnmIBAGomW05/7M9cXJo8iwdEWKtkahks9Pj4iQfrwDVmGTKfthAN8zWEdROy1ghhOUUD/qCWrFQ1hDBpj4JGK0qUMcOJv53vRcVQ+WD0gUIy1RBI0ytgc7c1RHtyY4h89Nn8vRybSI6xnhbdsghIjJJKWEeSmshjhV586dw0svvYTd3V0h9InknDhbpvYXxuLw8C5+8tOf4rPPLqxlBRe8niQk81xpNHA45xmhpTMzaJcyOnibahZZTm9g92PlxHMP1ZpF5tHIrqJIZBp3ICPY61Sb3idCFucwnU4GqbbcAzOPL4/NqJqN5MBbWSd2SJiVWJxq+IzeqkihqsgR4z0rcSOEbNRdZ+0A8xiinKUcKcvznFhSDZE7BXKidXpljHGQ4psWD1LnHQHEnqKPFmibXu6v54qdxYODA5ycnAxSx/m2Ud41/blarbC3t0/Grto/9IY54mmoDirdiFNhYsxgwGZUcOjYCvos553nKd9bbWa1KZmblyOHbDySAaC2uoA+oqzTbXiOA5Vt5PFx4/mgAAuTtW30ufk6o/0jZ52dV373jUqBjK+RzTl4T20UrzmEceiQyo8jR0LJshjhDEZmTgE9KtWOCcY4msOcBobumeu5aNwB6Psu1YU5o9pEsYxL89y2HZwt4FyRPj+ArRPzpkEk4jA+R8kUkHFTRITns65rTCcTXPn8UmLNJwbMybTC7u42nAM8WWvGmBQFQOaOsIwYMbFPMDABqMsSfW/w1BNPwD0B3L17hI8+vYDPr99FjAXmx8eIXU991FP05Pbt25SNkSKSHgY3btzArVu38eSTT6L3HmVdI9qI+XyOsixRuiL9vEgOZ0ss8aEPMC7C2ZQN1DVLWLuL06fux62bNzCZVKinEyxOjuGKArOiRFmXWLUtjo+PB/uNe+g27QoGqa3carlEHwyapgUA7O/vCdAznU7Qdi1O37dPvBBFiqQGYr+OHsFHVCVw7oHzODm6g9u3rqHvPeqygO87WCRysDNnz+Dk5AQhAH23AiKVG5QVXBExnzfoeo+ySHLaFQ69j1g2K5Rlinzs7u1g7/gYRycLOAu4iARwEJkNgjqLAK5euYIb1+7H/t4M03oiXQZ4F5XWoSpKLFYtYkxggJYvq/kKq9UKpavx7h/eQ4xEFBQ8XEyZMynVEOgj8PWvP4/FYoHLly7i88uX8D/+m7/G8dF1lEWFurBwLp9RlgU2Zos1bkhZTWWXhkrKgL7t8No//wz/9m/+I7ZmM1gE9H2TOgpED2t6BF+iKC1OnT6Lb7/8PfzoH/57ChywvLHMQk66hw17cfyVURpSQb+OoEY5kwwGeiWfdfYIBjJtKLfCyGkx2RAft2RhsHmkM7SdssmZNo4cK5bdUUXIIpsH/K5ZF2YH3mRdJ8GULFsZ1DNj3SR2tJbnQ1srz1XmOlBvK8SnfD+WVeyw6z0CMKFndsrWnFntVJLCF1JJGFhXYP++PaxWKyzmJ5jOpvT8XF/srMETjz+O3d2dBGBGD2MiDg/v4MKFi2oPEGBBKbMMfGr7Smwsa8lupC3B70YK3AetxNcvfk+205NdvE7mJbYQZ3qpjck6Gpb6tvMcK8BY/yl2wMCei9KPPYYwWE9e/RRw4VRl6moiMwZpTSk8OFR/zweDbRcGJgZBqNHF45LgIWM4G87P2O4C2aR5vdRGFjNB2XHKXtLAvK4N/3PXF3ds+XCQ02g4v4X7gm44ZBmBYKpxQ5s0CGtXngxejnVhbExqh8Ghb60u5JlRnwOFcMWApmlQluXA2E256zpt0KmDzXn53OtpJESohYS+DK12Jo/in5vhfY0+gJCxaLRytVpJ+rGhyFl6bh7/Iw8/gu+89BLOnDmTfhYCbJHy64110rZguVji1V+8ij9+8MdkINJkG2JmHK6UOmQarVHzrN8tqLQByOjH0Syz9qdRm5n3wAAx5Cgp9zpWh5pXQiPFkWq3jUlR7t6H3Nuw62Gtw2w2RVWV0l5JM8BBDmZK9QuB021NVjgbAJdAEKShWiNEA+OKQc85azMn7GC/CETHlcgUFad5sZTSZZABgHxCMkW7nmdDDriheh6RQJGZBM3gs+lFyFm0KRot5Dm9l303diZ5vT777LO8DnR+ZX8oUoi2bem5WVFmsrEMNKVMEIhiGaaJR6ktuRdgNP45/zutM0fonTh2GMgrBjzI+SRekiHyy72M8xqK7KFRBh9GZ4icMEfRfZWaOIy2ZOd7WEOn92cGlrIc4165OTIs5Q/qrFo7TOEydmiojOcuGzZjOUfRTn7+ABhigy/kOqAQJRWvIJk7qOIVTgKlGOXnKduCgTdXpGwL71NdX9d1qOua0rYcirJE261UupuV/oYxeulZLK0JaBxW6s8I3Ivc09Th4GAfV69elX9bazGbTlHVJZZtVtLagOKTyv5/ylCIWC0XkvVwfHyMurSYbtX41re/iR//7FdY3FhitVyia1vMZlMCupIDWhZcnpPuXdc1dnd301n0PkVEuyjzWdcT2K5FWZQoKfK6alaoqgLWAqvVPAF+hcWtmzdw5/Yd7O/t4uzZs0CIuHXzBsqiTH8/vI1V08A5R5lBXsCuGCOxOIPIuxLp1oRID1n2VXWVsomCQzGZYLVKOtlai6bxqTY4pui2LR3aZgnvI6U8J6N5e3uGo8MWXYgIfcBDDz6M+XyRWv/4DvPFCQ4P72J3dxenTp/B3cO76PsO9WQLJmREN1LfzMmkwunTp3C0WOBouYBBqkM1MQJU8uOKQgx4ruWuyxJd2yRnXFq1RNx3sI/ZdIZPjo75UeLUxRhRliWKosT773+A1bKFNS451GQLxN4jhh7GOlRlgcuXL+Latevoug6XLl3CV7/0FTz5+APofQuHAGOKlN1ksyEscixEIbkDZ7BBG5SZLfb2jZv49Wuv4Qd/9dcoXAVTAr3p4H2SbX3fw7kaCAZPPPUV3Lh2A7///W+HskMAtwDLNedQICeHGaNI86yfRJby8BwMkzKpaOemiE2WW2H0cwvtaIzl2PAage8bHI9IQLEBhEDVIIcOtQ0qxjmtg5AGDZyT0b2FidgM7j2wJQep1JDnmpEMlvfXekEIKg0s2cGB6qU58st7XLelS8/VJWVx8HxeQU02yIEO6yymsymW8wUW8zmmW7MBb0Ugmf7it76J3d1dtG2Hqiwxn5/gR//4j/jgg/dpDyt9PfDueQfH3L/ViDGes/sGoMA9Mjc3zCWiHYGk97ZrI+lCbYvw/k3mzQisuAeAYsb7CRkY1r6EsWRL8OeiKn9QW4z9FQWN5L00YujW5FaZ7yVbO1KupWbDjLJUdfBDD4TZmuUcy02i2I36e3mf5/us14Lf+/riNbagvP0+sUQ61XJHvwDLhcCpbWKyKadEWCtHjvAotU5eViJA9P3hTqUJUqPgQxCSw1cVZTIyVFuYJHA9sXECkYwruZ3UefJEa7Y8Hbo3g3GPnbqxQ6t/l50UI3PcrBqEECRtUwgKrJU5eODcA/juyy/j9P0PwFOaeIwR0aeD6GAQTMBiscQ//dNP8NZbb8ESSVREn+qoCC2Po3nL4+Sx50g4OzBSjbfmHNAbGSsH+k8pFR11GswbtxYyloJbmgESg/ulKG12hPrei2EaQoAtLEpXoKgKcu5GXPR6PYyhmi0jfUa5T2HkZ3CtBrEgGkI+neE2KfnekurMoI0YvUPgBhR9DT4xYhPPpOrDRvsjRBVxhrSSysBIroFPLZbEpEj7V/VDjVwjqubTU8/QiIi+TwKxoJRCWWdyQLa3dzBfzKXBeQqcGzGgIoEezloslgtsb29LClckNmA+S8mPi7A2CLmcThPPTijEMdXKTu+ne/2bnaNNaCmvETudoFRsCZxSyg8A5YCldWdHl3s0D6/kAFgT6KwxcplSFiMRc0SOKEhPueF7S8/mLPgkOg9ubm9UlsEGC1Del/5XG0YDsMpE6uW3QRmxjAA7yXEg1/P9co88niMz6N44vEJMbVJstJl4Kx1FrLoV4BIDbiBnNYSIsizQtg18LGEKi7bvYMoSIaRneBPSXg6JZIoaQsiayz4gUy1QX2KDFFm1MPB9IA4Fg7qqUJUlet9hNq1RlyVWRCjlbJHqLYm8h3Y5QOl33gN918PHPhEoFSV6n/rzTW0B3wdszya4YU7Qdj2Ojk4wnc6kBtgVJSazGWxRpZ6vsNja3kZV1cmxdMkRir5PEbkYsFqsqA0OtYWzBrZwqKg3dIhJL1ZFhaZpYYoS1jl89PHHqOsawVp0wacWC9aimpRwRYEenlq7UD9TY6UXc1HUcG4HARbL5YpqnolLwTq4aODgEdChqgo457BcLtF1nZSHVGVKN5/PjzGbbaPvW1RFibZpYI1B53u4yuHw7h3cuXuH6ggtyrLCctWj9Sssby6p1hdYLOeY+BqLZpUonGKHvu3hfURZTzHd2kJRleg9ARCU/cMZBxJlo3ZA3OLGWs4uSJ0HSmvw5acew7Wb1+FjB2sL0Q8RKWJd1zXatsW7776fvmeAurCY1E7YyAvfwKKAKyq0zQqrtkm9gY3Br379Gzz6yH9CUVqs2hMUZYkAC2dKBN8CNp/lQFkTbIZKuQOdXSY5Y7n04Qd/xAPnH8KXv/Y1sA+6auZAahKEvk81f0VR4IVvv4Jr16/h6pXLg+wjyYylVoAM6LD2Dib1pg8hwkUKVAADnaEkllLT2UkQSaOygig4pr+qanY3OzGDD7Nc0PYdg8w0m2PHNKrSOcmOMi6D7BQIYp0JWRXF7aIN+pExP1Yla86CTfqd9VT257i+GpJhE8W5SizZhhZYt7/kmVAeR075HegO9W/Jwc8RwBhVAmJM52c628JqtcJ8Psf21pY4ZTAR733wRzS9x/d/8K9w+tRZKnGq8D/+zX/EwalX8frrv5QSJWtTa5mu64S52BJLsOTORQtrKGtA09bElGVKcTjpJiCA/MCRY13O+9LIzwbgsHLihEZxZPMHnTotOocAhk0Otk6tFw5X1ijs4Fop9WFiLURm/s9M74kQ1A7uDZLViMq30DX7o/TfPKYoGRWDU7rmA6z7Ohy4iIM2Ieo7G+wVnWQ7dnq/yPWFHdv8kpQQwPWCg1rBIboC3nA8ftqOThY9DA6z1FKpiYnUe0v/nNGM4ecw3HxkMBlG01XEK8bcX5brQOIoyp1fgR34MNjIyk3fgNLkseNPLLpsbvo1M37OZjNARU34KyECZ889gO+/8j2cOn0akRwaW7iUisXK1Do0TYPf/e63ePvt30uaKiIxIBcq9/4eY829uYa/5xRzESQbDqc+2Jy6ONjE5GAGJUz0HtKRIjVzyejNUgKR2NJSywkVTSTWVDYmCmJBFjR0JKD44oi+UXtJo39aqZqYhIqFIWbIDcCFQr9EwGTtkOeL6mCMzE/+vVH7w+pxR95BjJhnJ0zmWfVtM0VWXqJ4B/UrLDzJ8AlIzrr6tTEJhZ1Mptja2sJiMZe5YaCDowfsvAZi1ivLcoDuaTTeqjEzaVRGBzPphaCGNs9JpIyOfPYzYDYEldYd4cF+JdRIJ+JoJJ1BGh6qUQzS3rNiH9w1O4bOiLEHcGQlKuZkBbblsIUycCIwru+h+hvaqTAmEqmSGZxrYP18gYwEvRZsIHINjBmBdRrgYwOJ8RpEBiP42Uoe6qeS08tz7JwjoFK1dcp3SEQTzGRukCKybYeC6iiNMXBlQYANMN3extHhoZzbGBJRVUpjznsmv0+WB4YyGgIZYxyFnEymqKoKs+kEIXhyyAoURYHCBfTRYzqdovceJydHa+/Re4+jo2OcP3OAvu0RQopCGgBd7NH3HifzBmWRIqmePn/2gbOIIaKeTNB3DYyxuH79BvZ2E+B55/Yd3Lp1C48//ricKx6zMUDoAoJN544zJgrq+etcAYeAZtWgj9Q6htjBe2MwXyxQFIWMsyoLTIpJkrXBE+O0Q9e1FOE06BEk/dhQlLNbrdD3fXLoug7wwMl8DkM1wt5HKpehOmcqH+naNgEYsYdBxGKxwNbWFpbLZSLmor3rST/WVYWT5RLVtEZoUmTeh/SMoizQdC25pgGtb3H7zl3U1S5W/TGazmPVZvA2pIbOhKsY+D6BRtZZxBDwwft/xNNPP4y93R2JnlsYHOxu47FHH8bVG1epfrsYWImp5V6JP/zhXcznCxhTICLgy196BvefPkBhLUoi1Do6OsJnl64S8RzpWmtx5fp1/P7td/Hii8+iDxGHx0fY3d5NY6AMh9HBHzguOXzFhjrLuGQr/fY3v8a5Bx/CzvYWnCswnU7Q9V3ScSGg7xMB42QywSs/+Ff42//P/wvNajWIRg3OPPevZF1FH7MmCsgVMHSKNDDHP1uT2yzPxZlR2LGSSdl4jko/RDnz2nlmEG4cDdxkI8lPVUqsNRZFUaFpGuW05jZ06bu5P7iMS4HdKbrLHAD6de/hnJs8zAwo8rM3fSzKHIMIVtejdGbtEXnMGyLEUFuK55m1W8gZSNPpFKYBTk7mmE2nREKXQO1PPvkETRvw/e//JR556GEY41AUNX7wF3+Jg4MD/PjHP8JyORf7LYFZcbCnhuPK5GXG8Ptqmz+dbVb7m/Vc7mVrBs7e+l5YWxbFkGxM3q+D9RzvazP8S5SC5KHe1m2q5AzQpje8v9gelAUylLkUUls0ylYUkxyplNOEjARsCDADtKaDPTMGxkcknPkzZjSPkZ3JjfM3mpSN9vqfur54H1t5KEQkIaaG3zHGbICqBudrzlOgiE9ecZkA7/+0N74p0qInT9AnMuySiW6kRzaox5icQpYrlnswMWkOM8hy6k56Wyt9ooa9cgNFTBi5DsqAlvQ0PnSWKnYpUpp7wKaa2q7vKVJL6AudwtinaMCZs2fx8ne/gzNnzpDRl9o5WJscWx9Szaz3Hm+99RZ+/etfS30T1woUpRMDKG7YJ1GlgFqOQJKzF6I6SJSiy3XTSpwNjEXtwPAG4lo6dtSGJE75UDEql9lLuQdXjkgGn9Gd1Pg5p9NqGnioAzN2erRhtSmPP1CNQxxFmA21c8gQqRkcbKejq+x4QhvYkLMz0MyUw8gRMaMdK2hMhScqbXINkvD3GanXte9QZoHh54co57HvO6njZuVgLNUNGoe27XHz9h3qw0x3k37HxENEdeTL5VJ6MecWXaON59M89KKk1OcMEGwCL1bLBtPpFJaj6pHPoxmwYIl4oQi2oPek9MEZJyFIAltOMR4DNtqZXT8rAyUzQnbzZzjODzGGx6g8AwMpaiijojXbHNFIFP2W0gf450bJqHWCsk37Xva0oCNRRYkNYIKc7sQ6mqPUAYpQS7UAG6DaIyORfy9AgeF+iet7I6UfGXjfS5uf1WqFGBNBWkctbYqiSCmd+t7EqMgoeFAtDYyhDAVTDNbcmGT02GjQdS3KysFaYH9/H6vVCvWkxny+hIGjfsUO8+MTqj0agZwU0Ts8OqEesRZtH1CW5IgS63jofCrzcS5FbO/elUhrFAK8FfZ2zuLo7i3s7+2MDFLOkMgGC5dceO8xn8/hrIWzDrGs4EMPYyKavoe1qe9t6xus7ixRlWXqwbtakYqMRBRF4IVJTPtFUaFtO/R9gCN5XxSJ/GjVteRAJ8Kuvu1TCnnwmExrWUcgA5BVVREPwhRd26L3Abdu3cL29jaqaYnOd8RYbdH0PWIIqQ1RkYCNokiOdlWXWDWrRMLUeVhY+C7V7lWlQ/Q9PvvkInxw8NHAw6FpW0lPBrfooQhP7zs4AjDhLS5fvYLt3Sm2d/aSAR2Bwlo888zTKOqK6uFAACHLJYdoHFZdjw8//hQJxwxUjxjw8MMPoq5KOGKwde4hnDl7Fr964x1E4pAwAeh8j1+89ks8+NCDuP/0Lq5e+xTBB+wf7KNA0okm+sHZy1dg5JP0B+upNA5rgJOj2/jt67/E9//yr2BNAYMeJnh49FQSZGGRiLHuf+AcXnrlX+HnP/lHRARFZERGtOg4Ryy8HLk1CCZLOM4X1VEio/6tRV4cipGB7BRLUwRVGHJZjJwXFXsh/UvrZjJAm4Mn2ekeyE52GkjGt80y6VpxdoetG1n+sl7LqaAaeBAlOASqtf2i/ncwDxEI3qgyt5QtYCS0Z2itdGqyGpMCHfl5KbKZ7SljjJQfcr0rlE0jYKGEsRKJpDEGk2oKZwosFnPUkwmcS6UI8D0uX/oU/+2/HeIv/+Kv8MzTzyQgCRFf/drXsbd3H/7+7/4bbt+6Cd+vYEyk1U02TmoJh9y/XPYhBnJSdyPg4EwMfgAGaxsx7651cEH/e5NNw3qeAe5BoENA5BzDEF9hkOlIWXfGCAgewnB98j05i5BuHBjU4iXxgrOJfULgL1SL0nUgKdcvRx2h3+Dcj51cGRfXR8cevk9vnbJ91oOY2ibRf79Xd4h7Xf9yx3awAYbGUT6842/xIoRhiiGhVNrI2nSQx5tGEwDx7znSYYh8Ji8gn7uxiGFUBnQvcn4CG6KgyASlfRAzGOTzrPazQRxp5+To5PoBCOI8J+Pah1QD3Pc9JpOJGCMAxBEP3mN/fx8vv/QSzp8/zz3IqQaVNqVN9WQ+BHz04Yf4xS9+gcVioZBIUO8/OyCGWUdWaE5tjiBJFHMc0eL1s1bqUXl+DdVtikLVZDuMYMW8n4brnBFWxETqkcFmIo+h+i4RUiFKg3jeIwWl3a2DIcPI25qSIAXD+8OA2enyfdb2IBkNQ4eBopEDanV+xfF7m8F50Z8VjIUgWU5DuRd+RS5qenefIjkMqvA54XuEmFHW9AwvtXP8TFc41FWJyhao6yk5KxZ3j+4m5m6eJaq70y8wXyxw+uC+gbAaX0ELYUXswXNgrQUKg9nWLMsJNUFZCCLvGzUT6f9ZcAc5E3ofQj1/uFfyvcf7aMjsPJYNehb0WkMizEPAhUiHrM1pz1YTuWUAiO9v6cxHSv0dnkErJEv8jLHDrX/OCLVlB3Msdw3WUqf4HFiVLsUfEXBsQEKVZbxW8obrraDOFN+HWqcwKFIUBTlaberPSWmukdjjg/cIsCgoJsRpjpzKbGkMbZtq7yNR/Hiq5fSUYWCMQdu2AyM4OZqR5pXR87TfC+fQE5qdmcXpTISI24fHiKGHNcDezjYMAFcWcGUJh4idnV1YewtAwGKxQNs0qCYlOoqS9X2fnEdXwPc9Tp06ha3ZFkW90++3Z5MUnTXUU9Q5lGVq7dO3bXL2AjGoE8jTtA2K6GGKQtLl+r6HI5Kuvk8lLavFHFtbWwQ3GkQsUBQO3vcIxITKslazggOJtAoxounbTF5He6frOtJ7Ac5V8u+u7+GKQtKUY0CKbi/mmC8WqOsaM59bPDGAyVEirs0FATyFc6jKEqdPncI3X3gWFy9ewaXL1xBRoHKWAFIPY0upxYakP1rE4Gltgdt37qLzUXqW3re/j0cffVQcFUPgreRTRAMDh/fe/xB3j04ywRrzD5DTlBzbxA67NZtiuVwSIBDQdW3q59z1+NWvfoP/+O//B2xt7aDtUzvAzgQU1sEG7u3J5V76/LE8HBv7Yr3gww/ew8H+fXj2hRfT3PYpbbv3PtlCvYGzDggRT3/tOVy9/jnee+et7ACIuyRmfX40yGkkQch6at1czd/MuhGDiLSOTWdZZnOm2QbbRjsBInOjyp0lLyM7yVona0dHpWOOzQdqVyaO8UYXVN9xXR+y/BtIzg31tpsMgBij0A8PxTe/b3aerMm6b3DvP1H7KTYJsl0NxZeRo/OJ3Cxy7WdMaZGFc5jNZliuGjgXpUYc0eDo6BA//OEPcXx8ghe+8Q0UZQlE4KGHHsF/+S//J/z93/03XLz4KY3NiqM2AAfUfGudNyaQNeQsCmuvgMs8P1pPju1FnjOM7I31uZOAxIAIUsUk6NnjOlW+N1TJ1th+Gtg9JmVkZns9nyGtT8HbOg73eNTZfWvmkzJeyUYa75d7dYORtaIbMn2IlSDDun83tlHG9/wi178gFVkhBALQRAToFwq5hkMGk37HtWWGa/lGNbrDP5m9zZCyGb7cOPKTW3Ukp9T73GsXketI1ydpMPkcgVVtP+T3PogzGIh+O8ah4xc51QFRyAV00nocCJWkfDz1qe1Dj3pSA9agD16MSj6Q+wf7ePmVV3D+wYcRYeABOOtQGJdYFImxt/MBFy9+hh//+B9xfHxIEVdIykdRFNwnXEiKxhvIKoRSz7En0pNgBJPlTSFrH7UDSnMBO3T6IMcoyhwi0yelQ66FiBKa2dG0iDYi+D6lusKT05bu48jIGjqfRMYkfdBo7UbrPd4bJhDhDK8p4tB4Z6IrcsCYYEJUCT9bUr9Crr8JIMbWvD1FYUQgcK9Gzhbg9APRt4zCU3SVDFPpd8eCV5gD5SAr9Ek7a8l4pJ0g7Tq+/4Pv4esvfB3gfVfWOD46wf/9//p/Q991NMcpShTUvunaDmVZp57SoR+BV8qpM+vEB7IOMIieBDX1BtQ800bmYRQBlawJjTim+yTGWSIrk2+wA4S8TiJfsnOjlZI2jvQelXZGJrWZ0Q5y+gxncOT532RYxDA0KMY9pgVcVApUzrSSM2s9euU8YGgixozi89zr1HJOvcu1slH6IGoSqeE6pidYqC03eN9E1GNsZt7m53kfsJgvYAEUhuofuz6lyDuHvusR+h7WBnjfp2gVnelI7XgE+PIpqsRyz/tOgABNnsJZKt57lGWJvu/RNCvcuHENZTlBWSV5YwtDKc4p1Tl4Jki0VOMfZX0Ob9/Fu/M5TOgxqWrMJjW2trcwm01w/vw5VNMKe3szlM6ioRThu3cOcfb8WUlPRABWyw4IFn0XURcV7CTN4c72DL5vsXuwj2tXr8Eai1XbwboC9cShqqeINTnlBIr6AMr08SnFtG+pXRWA0KGczrBaroDosVoloqSyLNA0Da7fvIn9g/uwvT1F2wJ1VWG5WqJpV6kMJAZyqFMU1EYDYwuUpUHvO5iYan+jj9je3oEzCRztQgdnHLyn9ksugQl9l8Czpm0xX56gqmrs7G4np7DrEXwPFAUKVyFGJLbgkCLgvP9j9Ai+hw0RB7s7OPX8fXj0sUdwslji+OQYR8cn+PSz60n32AIBTtpZGONIiqb5vn14gstXb6CLgHXAl778GKbTAoHTH9l5pD1vqU3V5cuXhJDVUpTGB8BHg+bkBHu7W3CFRVHVuHt8AyfzOarZDkwf0bRL+K5DVU3w3h/fw1c/eRpPPvkQ5ie3cefuXdRVgUldYVKWAzlmpc80seIbRtcUaE2pryTt8M5bb+L0/Wdw/sHzKMoCsBFd3yEGi+BTZhjIWH/x26/g8PYdXLtyQe7gpLI4ahcwy6zseeRsJcpukBZaDMAy2DmSb+BIlrIxucRms2OmbdKRnKL2M1FFnQcRXYXYRzDlR6S6+tQ6bSCnQczPgSNzJBuDkq0kGwIBJrneM0qrHXZY2DFioqd7Ocp5apPE5f0bAYTIQE+Q9ws+rIOVyhHi5jsIrNe4CwqPk99ZmEfSeHNsnuZXt5aziTNgYrFcLrGY99ja3ko2QIxYLY7x6s9/ipO7h3jx29/F7u4+QozYOziF//w//y/46U9+hN///rfUftRImi0YpBd/f6jvNjm5EsFl/hyuxQUzCFvh1slOLOSebIjpvSbOIRTHEBsNKrCSAdOcrq/NsihzBzlX7PvI/hlE2FV6u1BDDWGj7D8pRzcbiopgMgfujABGMRG6yaD4P63Lh2BOMpkjTPQy/qHDO7zGDrG2EzcGfv7E9cVZkVV0QU3lYPNsipiw4ATNX0LE/Vr0U2+2vAmph9NoEtix5ZrIGJnUKKNYgRjDNPrB0QMxdka9NDXSIwMeXGxIkuAZ5ZvzqTBM7sItkdzIAKU0i67pEXwiirJOs5bm6v/9vX1873vfw+OPP4ForLwLDPU1pFqJECM+vfAp/ulHP8SdO7dTuyqk1KqisKmGa3Ao1/+OARKY0Z7BGsNoLicR5Ea286juU6dmqxQIvp+B0JIOojtR7x3eAzwt8AihF9beSKlAqZ4zoijKtRRk75kZNSuhlKab0j0MIUkpnYXqXci54EPNL7wJAWRhP/AXNfRFaUAZR0NO7VBLkGdRIWUqhZnBETs4YxjsGw2MyHndtOYjBRVjkMgQH6SdnR18/fnnUdd16s9ItY7vffA+ThZzlOLchcF+McZgsVhitrU1TC1WYxgAFhsiupwRwGcrKUydeutJkQzrp4YYuXZKad7DvRFBXdM+mrZ7Iob6PQbOu8nP0p/VgF9eiFwCYBRD+xApHzqrUchhhorv3u+m5z8MpiqjvxS1jWHwLsbQOaGU7rQHeZX4/N47XSjLYDuYJ353I/ZtBgacTWmMweez5r2XbA1rLQpr4YoU5a6rElVZwFlHEcehYeMMt+iKqKpSTpqFSXWhaXMIYMHRQGMMjo6OsLvrcPfuXUy3Z7AuRcWM4xKXbLDovQACcq2pMJlMU+u64HHzxnWsmhWOjo5RVjVOnz0LV9UwrUEXPK7fuoWz586SoZhqAeaLBarC4GSxwP2nDmBMSld++umnUJYFrlz5HBFRUnoNzXUiKqMWfaQ3PPXlLsqC5j8xyB8vV9jZ2YG1Fvv7e6kHeNOirmpERGLs7xFjR1FWK/KsKBxabjFUOOmxG3sv5FIVUrpkCClCH7xH8F0iQIRBURVSF2csUo0npZVvbc2wt7dL6cupLY6NAeVsKmenp/pdCyD4HsYUQmTW9z2i9wD9fWdnC7PtLZw/fz/apsXR0QK3jxYwziFaB5vIPZLNIrItoFku8OEnn8H3HnsHezj/0LnEim/GbOZUemUtPvvsM+n5LSZhTOzzPgRcvvw5dneeImcn4q2338ZqtUQ147RzECt4coZ+9fobePDB86iqGe4e3sTezg6KIqfxamCOHVsgA9PQRHpKChkkxuzfvfE6Dk7/W0zqGrGNaNoGxjq0bUc6tkBZFtje3sb3vv99/Pe/+99wfHic1o6dUUBsMEQVPQLLMq0jN1zsK41k71AurkGi62abvqV8fpgGPAQW1wFMltmbnGIGlrPxTZltEggeORmDzLfxczWnRDbl4/Cj4tRkoEBb5UbZpsMa2vE85jVQnjzGz0lOeYiRQOGRTaSYi3XfVl53VYgjUeqiKLCzs4Pl/ASLxQL1dEJBGoOub/Dmm7/D4fEJfvAX/woHBwew1mA2m+Gv//qvsbe/i5//80/R9x2VJeWZinrg/ERO+0bm5uH1HqQnB0hWTzLZjHTb2ATKarA7d3AYXXH8VyPOZdbx7AhnmzCCQB1NeKv2agJYhgMbWD5q0PrnDFqMGZG17uKuIIZ8kKBLmlhn3+vY0sPEzldnbDx//5LrX/qdL86KHFhZW9msOUrw5wYRpQYu3uNF9aYwqvDbuvGmQkKAqCBZHIq8bQaoIC8kI4Jcb2cZ2TOQZuMszbhGgqMWckioUDGhez5vEjEICaviVFVFLsArnup+TWLJ9B2qugRg4Ps8N1wXub21je9+9yU89eTTVCOcNlVVlbC2QCQa9hCBzz//HP/8s5/g9s3rFE3NyE1pnZBkyfzQodDR7/HBHEZ4IPVnmgHdWifpeFppsEOV2s+YzFJsNXpHijfynKrZZuIJPuADkRUQIhOQ5NTZpmlo/hwZc9yrzQ7Sy4wxKMsKRVGgaVZiWBtiWTZKSUWTo4GRwBLZg4gJbLBW1JZlJa4Ep4ybFYjJjIYaEMiiz2aAQZ8Nl1smBGaqE4GTWx5pR0uEzD3WlNEOHwO6rlOEZWlPP/3005hNt9B4DyBlCKxWDd5++y2YGFR7k6HDHBHh+x5VUaSICjn2yQdisqfMnj0eH3hGTCYqI6omebcofW8Hu1b26mYDj3822OojZ8uozJO8Z8b7ViOW6bznuiKQvOA1Gb9bctDXI6kx6np+ldYeNNFIvkIc9rjTDup43NbaQZr5QEauGXcb2A/JgFgzu7isB3GQsSDGNFL/TGinX8aWGaGT45XTtCNATowR1trJZIKWSjcCOWcIEdEHlC4Rkrhx23El2yylyUnPWhNRWIfgozAZ8/7gCE7XdZhNp9jd3cbd4yOsVkuUpUscB8is4ez0I6T0bCaxNgh47utfxcHuDE4ci4gP//ghrl2/ga4DLl++DltPUdRTtN0Kt+/cQtv3KBylVBuDk+UK+7szHM9PcLC3kx12lxyO3d193Lx+I7WKm9aplU67SnwMfQKlYFOtZqQa4NJVBBoZVM6hrit4Il20RYHYtijqEkVdIPqIrZ0tlJMCIXq0bYOqqtG1K0yqBJw6l865RURZOpTOwNQ1Qozw8CisgyeG4a7pUp/Lk2PsHeyn9e56OFhU5DDPqgo+eFRVRaBHyrjwwWM2KbFarBB9Aiu895hO61RrbCx63yfyMCrX2dnZwZ27dwEAZVWh6z36tkXfRsymWzh93wHuHC/gfYBXbfu4l3X0QRhab964gdl0iseffxblpEyZVhvq0/jP5bKhpPfs8LGzZ4xBNZnCuhLGOVy4dBGffnYJvrdomhW6roErE6GOQXK6r1y9ij+8+z6+9eJzQLyNZdNiatJaOmOA6MVot6pPdD775KCwTBaRluby6tXP8bs3XsfL3/tLVFWFGAO6PgEG1kYYG6R3+akzp/HVrz+PX/z0p6S5VGqvNakXp0ktIoMBcswxgyIid6UNkY76pagaC62c8RVVRAf59waDzEHI/fhMm6EzJE7+GNQc2bEm6wRZ2QF4bbMDZfJcWhXNZPtTPGdR/3EwB2CnjLOFbRR7gM0FzeK8PtYg4Hzif8k2IL8bP5qdW6M5PCT6jYF+994PdAqhUCLbk43Hn1ewK9ueIyBltr2NZrXEfD7HbDaDNQHOpGyJTz58H4v5CV75/vfx6CMPwxYOtijw3ZdfwfbODn70w3/Aan4C4zTBqsoo1cAt/0ef060NeR0jcUvEkNPkmfzWqO9moCPv3ZQdkQHc9AsjGHwunV4ntQQxhkOi+nHwrKFtwvpDvyTk51bp6ED3N8YM+06v7e2898Sh1b8d185aXtW897O9pWLEwtuR77P+7PGzIPf+837lva8v7NiyB84U0XHNSR3gBar43lL6N1OLDwu4nSs2H0zEwaLpS0cQCAdU0bksM2R42uFCZuXlqMo6U6taDIWKJSOSFUIGyiKnGhuLYGyOUImgNiJsYYC2adF2LSZVnRTwqFUIt/v51re+hSeeeJKUbA8vkbnkZLBTcu3aNfzjj/4R169eZbdb7uUskXgg9zOjl12LLmhHKA5kl5b2w6Okl14MVgz/5HuM0TzD/V758FOtJZj1Vg43BFGKEYjB0jp4Mfq7PqXEFkUxZEEmAzn1Qk7GMbeW0C/EDj8LbnacgqQwx8EONyIB0p9uQIBlYDgNUgMuPFlqHTSCPZhjRr6QlAwb+pEdwshZAel8pShaoPIaM3rmhvoJehsmwIqeGGiV4KvrGi+8+M0U5TEGoNT3d955B7du3pS+deN9YK3BctUkgygEtUFYHqzXyPOfOlIZuY+c8bJnDWVySMPvNecszyUDceN+uOxM57lfJ4jSv5NluQcHAOjMppqivIxsOw2inkwmJYQKw+eM76/niM+vHrtlBs2RUT3+LkfBJPqv3kmez0DKhvFIu5A1uZBI0iy1hYoxEmkTK1rVqgvr4Fl+9+zgSvRT1avm2u2cbSPR35jKRQbtsUbraK1B8DnabcmQsYqHATC5rVeIVKMKTKdTbG3NyElIZ31rNgXCHckokrPJACbfl7IMy6LA1tYsMUADmE2neOCBV3D9+k3cuX2Iq9dv4NbdExQuwvuUutq2LcqtKYXAIlZNA5htuLKCK8sErgbOskisu2VVp5RbOptMulWVJZqmgS1SxM9Hj62tbVkPZx0mdY3trRlCjOiDR7NaoXAOq1WLJgYURYndvV20bUP3ThlVVVnBOgtHOpWzPoL36LoOhUvEUKtmhSY0sLZA4ZKMLosCO7s7iU22KACX2lEk+RxhqxJNm9aQ05vL0sKvGkzqGqFPEf3Q9SjLEmVRwYeAtl2hcAXaLpGMTScTOFdLxstqtULbdeh6D+cSoc3OzrY4sAxYRMrAgkkkQVbaS0bs7ezi7P33w/cBfd+idCWRsWSzwxBRnXMWxlOKsmQZZiDy7NmzMDa1Evr9799D3yX53nUdfJ/WrywrAddDDPjdm2/iS08/gYODU7h7dBuFc6n/iSsUK6w+60H2JNsixqTyjMw/R4a27/HBe3/AI48+gfPnz8FEoOf2VpWF8Qmo7Y1BVTh87dkXcOPadXzw3gdwNrfLYblnDRF5StKqIlGEYoQ3CjiXM6TkGrKQNsS3AW1My8XglH5/qL8PZWWyfZiFf3inIfDIGSu8xvr+Oiqr3i1LLiXyhq12MBoPRm+UZYvS2+wgD74H0W8aeFXKCByMMWIR5zaOeT0ywao46mAGap0Gzk5IHgfbvlytrN9TzwFHBOvJBMZZnJycYFJPMKnqFA2OwLWrn+Mf/uHv8fLLL+PLX/4KisIhhoBnn3se27Nt/Ogf/g6379zOzv6oHEfP4BC4Xo++i442kIjqIAtJpaUPAeO8DNoG5CdFCkLkKVofQ44mD++jAyVjO3zzNbTOB/bqpk9vzCDTxmcebx4rjTjqc7juNG9+Ipsa6zZI3kubx/y/i2MbpDXOemrpONpnjD4MbLTEDQLIkrExnBS+px+1Ucn9HklImxx9BSOFMRuubOBEEPuxyVFLeQfauJIKzYkjMUezuJZyiJA4qi+LGbGgurrkz+Z6G0sGXkRywJqmSZTn1qZ2AoGQTQIOqqrCiy++iC9/7Wsoi1LaejhKdbLGwZgCpa1xdHyIX/zsZ7j2+WVkTricIp2mddi/k52DFFlwpIF9+lzgTc31AZaMM01dzwcwCgKqa/kSoYvdqDxSFJU2MEI+QNGq6U39XAVEGDktOvrrnINXLJl1XVMULyrXzqiU0KTc25YiGCGmKC2RmujUlMQC7SiSnA93FAQuH2B+VTaaGeo0Jt0H1sCC+uFinMYcs6DgLAid9sSgELdOkvoLJ0qQjQILZvqzmRVWidnAziv12LQhne229dR+IzmfwTg88viTOPPAA9Q3Ls1m8BHv/P4tRN/T2dKpT1npnRwfY3dvj1pWcPSYIRcCZpDnbHylNehFufjgJRLDfVTDBna+LGRB0RVdo4GBEubPSsQVRup1YxyipHoPD5aNJVQgYumUBEm1qevKNr9bEIMub3xKtVYRW35Okg19+hzVZg+AKvWGQ0ealU8Ac0ky6ytGzj3/EfitErIjzNNMBML7ILpk5AVPzh1lN8RgsrEqkfnAXcOJVDMb9SzTpUzAOASfnH9P+8z3PaUPp2yTsioRufbfGMBZ1JNamDH5ssLaz1wNTHRHRj7vW2LEtcRXa0z6vXMOZ86cxq2bN9G2Lba2Z/C9x9n9HdwsLQ4XC8CWyTkIARiQaZExEkAR01Rj6ozBqlkimoCydvjyV5/Gw4+ew4WLV/DJhavokNKC5ydz7GzPRFr4PuD4eAnnaopg9mjbBjdu30JVTkn2Fej6Dl3bYLY1RWUqmA6YTSeIxqMPHtW0ggkRhTEIXS+kS8vQSPsW6yxsjHAmEXFNq1Qu07ctQpfKPYwjfW6oFZUNcIWDdQXapoWr2WjnuQ5wxqKlzJCqqhBNQGFLmLYTl8dVKZvBWoe+8/B9SDX6RYlZPaG+9DbVyxsHWzhsbW1JGxPf9UBw8BGwpgSiweHhMRbLlpiqU79HZw1M6YiXI2JvdwulofZtNvFWZJ0UEWwyJAydha2dGfpVj5NwDJgeqCuY4CW4xnt9a1JjOpvh82tXlfFmBMQNiLh56xamWzVuXL2JCxcuCau8CYnnwRUVirJM7NQhYHt3F8985ct474P38c0Xnsek3sbt23exPU3ghHUFEeMYATqMMVSbSFKRCa6Ix2RQaxsimuUCv/rFz/Bv/u2/w3QywaSM6HtP2SOBwPaIYEuUZYmXvv9XuHnjDu7cvKHq9TJiGDnjSRndZk38iMsIiDQe4qdaNlpyysPATtBZcrIFpUWMksQDPSD2vAKbxVZSTkIMGQQcjMfkFomGQDK2I9ccE76j1MHG/KKSmprPF9NpgNNnqcyF588YR3PUk07LugDI1TtSAshHEyTjM9ygJjkOHBbEnHVG8B1l5GkSKlAQKJI9hVz2wstos9PMPy/rClNrsDpewkSDsqaa3ggc3bmNn/30Jzg5XuD5b3wD9aSGDxEPP/YE/uf/8/8Ff/93/19cuPCpOJEMPBmxTwkKMAl80yWUwoeh7QgTRVcEKl0Y6++8b/QGzvpahb5UpoRiDtcR+kEIQkXNZT/qDAM+KGHkjxCfDdu+oxKowXvyfg0ckFOl7UQgqVPnx74UxBdjoH69dlb/W/uJhOcnlydP0WBuM3GfXfvdF73We5vc41qPAAwRB2GCjJEIZKj1CrFM6v/EOVb1BIONw/cLRljLspCOgqQyMm5U3n8cLYThdGJWNtbeM3IgSL+kmypiKHXvkT2Je0WimJ2QIxiJiCQhzcnISUQb0VLboBhRVCW+/o3n8bVnn4VzBTrfow9esfKmPoTGGNy6fRP/+MMf4pNPPpZDzQNKvRad1CGvXTR/kQXxOkiYUb1BeiuUQZr3ADuFzjkiCwoCGOi/swOGoShIKcVMpDDaY957FbkJ8u9AJDGW5r4sSzGO+SDr5/MeTv/O0SXtzPI7RnHsOyD2GmccLLzeH1pwRHFW8+kdIqfD+Y6SSqyRMYWaUR1HYMIrFWXM94hKGMXhWZPbMDGPFyHifaB65XwfYwxeeOEFcu7J+TMWly5fwuXLl6X9U4ghAQuqHEBSmhVQxURU4gDH4fzpd9DjZ+HmrFOOD3ToWdbb2LwPeY+yQTfY0zqyPmp7I2txDyHKPx/va/ker3+IIvvWEH/jKFXOwqCQf/MKaUXLsm4gX9Xf87jV/lWET3J2NbIeuZ4n770MMA3XKwR9LrIs1e8TYkhtazyPNdJ/PE7IO3jFZh6iamA/wne5JVgaC6W/0bp479Gr/cuAYFmWA+Arz1ekbJuhNRVDBuv0nmFZzvKsrifo+x5llUjpTk5OsDWdYjadsuWRWJepXyKnOTMz+/+ftv/+suy4zkTBLyKOuSYzq7J8oeAdAdCIDqDoRJluabr7jdTds95/OWvW65k3/dRNiaToRAMQIAxBgCDhypu01xwXEfPDNhHnZoIC36x3sRKZlXnvOXHCbPPtvb8NAPf39tF2rU669wMODg7Qtg2WqwVCDDh/4Ryq0gFcV7xYLEZ1cSEE3Lx5S2W7ZKZcv34d+/v78N6j4TTtruuwXC6xbtbohwGL9QpdGOAKx/WuhUZVt7epjtNZC++DMmznNcZN06BZN6iqCmVZYTKZMKtxh74fYJ1TJuLCOdR1jRgiyrLEfDbFpK4xqWtUVYnpdEI1wLovac+WZYnJZIKyrDCdzgADlEWJqqwAQxHDvu91TF3XE1gXIpbLFWdNjNmAKU27I2bnpkHTNCSvYmA5GnU+JpMaO9szBqOphtwZq6zy1llOh7QoyhI3b9zET3/6UzTrlpm6pZQjkSVaY/DEE09ob3pkOVWy17z3OD4+BqLBG6+/SWA3kn4QdntrSJ+XRYkvfP7zONg/wK9//RZ+97sPUJYT0ot8PvQ768okF4VMKKSz7gPCQK2XYkj61RqDB/fv4dVXXqb656zLQIyR9HWM6PqOWLm3t/GNb3+H93+W5imy2SYbCUw8ZzJbymT/z2VfEr6nCGTzCT/rvfnsqKw85RoYG+abXyIPTD7Gja4GuTMMAS4zZ+HUuyrRTuYoYUOWZ1GykY2S/S1Jz80oW3IOyHYYO+jyg8n0YPpD5txnz5kDlmJLiLzFWC1n88k6cENvRGGyI08YpXPY2pqj63qsVkv0vK9iDFiujvCLX/4rfvjDH+Lg4FC6M2H7zBn8/X/5r/jil74CcMbduGNG0i95NDQTPfrsORhiNrfWhq0rz5G+x1Ovk6KP+bVw4lrmtHtqUNConBvZS3k2Muuumn0L0XVyvVHatTi+m+dB2wWlbEMBInJZnZ5hfDjjCFAf23Q5OCK/C6or5Xf0+57l/Kb9/qe8PrVju3nxPyYIYqDeV5FbLAzBwzN3bZA5lR6NJiRURTaK1ivSBFIPPgPHikIEgknViCN0IcIhcgucZLRFRejzfofBR444cHprTJtl0+iGoi6B2ewCExkFimCwMUeag1kU2Hhbdz1WbYOiKgFr4GOgaAOExTPAlQWe/9xn8Wdf+hLKSa2OG1hAOVvBmQkQHZbLBj/84Q/w23ffxuB7Zr2jA10UJZN3nMIOqEKMUwTjQI7biNDAKFodTUC04026uQd0M2XtHvL3BanJlmuYwNEdAit84Ai3pbqvAEP7xQ/UTmLDqM8disEPiAZkELHBFzLUB0qgEDVyvbmmIwZlcGSLaStTr1TLJAqphigXTDn5mTpgepucKCekKPIoYs1olk3fwQiXjwFwVmu3nXPc5N5TZIlTrqimM6HPRGgSmJ+Sv8eQSLTYwOq7Xg1xcRIuXryIaw9fo2htIGfMFQVef/3X8EOnqY7irEu0zlpiO9zd3dX9chqaZzhCJy2oclIvMcLEkBpFScFS1fLxskC0UYlxoo30pfIgaP2LZIbkRl5+v1yx04+nM7fnpHOjPalG60bEPTsvuVJN90+tUSRaLF+C7iJLpcrnUdNx5VzbsRLVvc69n0Ogkii5NtWV2VOd+U0Zr/2jOQLKpz6d8yAAZDLOYpRzl9bPx8A7MtBpM4DnSC+CoUbxpCQQhogwRMosAdeKRatfjvsHOOe4lcy4H9/I3lRjUlIKbZJ4ef9bjrY5Y2EitbLpe4/CVZjUU8zn26iqCaxzWbvfHOgTNlpKLTXW4vB4AcCgb3t0bY+uG9D3PZbLJRaLBaUdlyW25lNl9j86Ohr1QJR+ryF4XeQYgaeeehLnzp+lNTFUQjCta9RFicoV5LR0FCkuGI1vuhZN16KoKszmM+J6MJQ9VVUlppMKVV3i3KVzmMxrlFWRkfa1qKqCnPu6Jh3tHMngokTpKkyqKUpXIQ5AGDy6dYOqrFAVRKKVg4+kLxgQ8wHBe7RtxwBGT6mfwQPBY3F8jNVqhbbt6HwG2oPeBywWK6xWqxHvQtc3WCyPUE/pGeb1BJOixqSosDWdwUbW0wGoXIlHrl5F6QATiGHbGqrztJxySNuQotODH3B0fIw/fPgRTFFhMpuj7TtEazjAZjGdTvD0U08xyEVjMlrfSMB8UTg88+wzuHn7Lj6+fltRZsNDs8aiWzVwwaCEw6ya4MM/fIj33v099g8X+OFPfoamH7C1cwaL1RohEoeHMYm8ip6CggC2cHCFg3HcFs9ZlIVVckly9lM76/fe/S0+/PAD2LLUMh6xc4ZhILB5GBD9gIcfeRh//o1vUp1l5LNtuN7P8v35nDoGjyz3AyYgAKyvN2QQTndcNfysCLzNf6H6HDaB5hLkGAPLqU4y2Qsi01KwxHAZG2XNOQUlDWeGJGQzmYEx64aRZKmapZk8zxlpN+VwHNk947dEyoIygTmpnTpEm6Cq8hKI3ApW7YyQ3OoNJ4XtExmrjDtgBHwKiJgD5CFEta2T+Ry5h3xE9MyKH1JUerY9hbEBq/UCPvQIYUAYPPpmhd+89Qb+5fvfx/0H9wEQo3hVz/E3f/N3+M5f/jXKqho5tcnBFCc6aJq6ZDOmjcCgJmRdCdiKPtDXRmAv18c54Cw64MRW3QDVAZvZA8k+zffkacGJ/FxIppmMpWmajBwzASKbtohk1hkIF0QWqLSJe8g6stHGvHhj3U5+h9j8+ReyZ4NmfxomzWu6Fr333D7OahBT+qHLvkMkwKLnDhyf5vWpHdvx5g0jQ368YNmDy6TCIPqxsTFGpE7bBWz4aqQh/1syPnRz5YZzNg5JC0koxulRlyjSK0MMIx9ArSXIkCoJHEGRlfGmB6T9SUA/DFiv18wWWYzeJ0Z9URR44fnn8bUXX8JsNufc6WSwlUXJhhvQNC1effVX+N3v3gViTAQjzBSdb3aTD/SU9ZT5zEG6kfCKFjGc7IeZPprQws3baF1nJMEVmXhDZitHdo1l0GIDuSKH3qnDtbkP5T1lVWodoM2M23yco583nGRd80hRUVkX2YNG1zm1NrFM3OIkUp2lVY42ooJVUZ1cY6w+qNxHoutjByjtXQduoxSz58iiuwmc4PE5PpsZG7iOj3vsShTVZNFNay2+8pWvoChKjqSTM7734AHe/8MfNNpjs8bepORp3w0DtUqRvZvXNY/BgNSeARsyZvPnk3/b2G3mJBj1SeDbpvAd79kwUsz5nj8NtZVnc45SsowJGeN7hgDnjlPmAG2OLUdW89+fUEwjo8gkMC4YhFSSfOKsjM9DPu8nz3U+jjzLQbMOdIyChdksxXk8h2JMlkWROfLZezZCMyJXiHmXo3BZ7aVzVu9ZFAVgDDPlGo2U642ztSYnekOO5fOo5TL08zAMWrdPQJrHbEbsvJPphCO0HBFzXNahSprkibUWTdMQSDRqwUSs48YY9D1l89STWtku1+sGQx90HxkmvavZeJM9ZjgCDM58adsWMRIREwBMqhqlcbDBoHCOHFxYMoGtxf7+PpyzKAo5pxSdq8oS89kcVVmhrivVtZPpBBcvXkDbNmjbFl3XYbE4RlkWKMoCQ/Do+g5VXWE6m2obDtlDIYsKipyqayKJ6vqOa18HGOPQ+wE+elR1BVc4Bi5pbdfrFZqm0UhxCAFd11FU2pHz5oPHZDJFYQxcpBT2oigwqSd48sknMZ1OGCikGuWHHrqGrdmMo/kx2w95uUJqAeZDwIcffoRbN2/h9q3bmnpP9eUGTzz+GLa3tzJxlTQcpXE6Jjss8Nvfvktt5YysdYG6cJiUBWrnEPselbWorMPx8THpL0Tc33uAV3/9OqbzHZTVBIdHxxi8V+AY0ZKDFjIZazIY29rsbNHZIHlmtazn1VdexsHBIeopRd+LoqC0c36PtZbAeWvxxa++hCeefFp3pxXSL0vR78IQURn1YE67WHRBrg/HgNNJQ+aToqHiTAKG+zZbZQk/eY2kO3Q+TuFvUJsqH0m2t0/oFROVJCzPvMplnJ7gaBADOcj5WDVBCan1mg+p17Ze9FQzz+i6yrhVn+RcHGQ8K9iiwPsp4fJNB/00h05twiwirW2KcnA2jucr77cym01RliWa9Zr6VItz71t88P67+O53/wc++ugjClgFAMbiS1/6Cv7h7/8zdnfPZ5FSCQZkJJ4nIvJpFyayOaOcDZIBE3mOTKYfR5/d6LoSs7VO+voTgoEnfp/s55P2CzZAjpQhRdkaJ1tCbdr76s/Y8Xv+eHQ0Ocwmk2eSnStZaFThmjJFx+qdiXb5TFoALqZ2XmpDi69tPJdJnm6vfdLrU9fYiggScyGEgKIoPnEy1JHUnPfMouYHhCwao5vyb7G5YkhHNUak9BYjuf58OfnRCPN42oDaAihjFB0dxIxEIbXDSdEYLaRHniqClEoUXGp/kdVSGE75GYYBTbvGZFqhLsk4CHzQ8zqUJ596Ai9+5UVsz7bR9p6xJSZIQSF8yhh8j1++/HO8/ItfwHe91jNbA1aS43mUFjPCeCARwCi5HJYc8BgMTLRpbBzFCVINuWnYj/YZp+PFOHJvZZNGw4QaAqgKT6DxiIYi6Jp2xeueVbUS8QSopjIijICVsixUYRIyLYOy2QFJ62KNSRTq2WEW41k6mw6enslqTUYSaCKUowG3u2DBIVHDEMb7BGkvRW4KbphhmpDdwPNrGQalCKQxwrZrNNIrDokxluvFUloIoWrjdUoqg8dtOQUtcM9pP8AZIGoE1mB39yyeffZZ6lHLKSvGRrz5xutYLZcUvRADPnMEjTFYLFaoqvpE+vfIoIjSlojrjzeEusqPTYGc/V6MW8t19eIEifLJRMyGMbNZzzs2BxR510hpPg6JJJgspS6zVbOxyjqNUePkzErqa06ElY8xkZ6MEXC5XiK1sCoDkjGnE51dYzNN6DSn9vQm6/LvYGJioTZUgxikF3CWWRLlOMtaDdS6ByHA9x3gUkqiyBIjXAaOlJ2xoAwfw2fJGgzs5ETjEUDp8zAFbFFxP2sSIEPvYSVqGv2oJVJA0GnJ91pkBxXGcrq80dqh7e1tnDlzBqv1Gq50mE5nCCZiNq1QlQW6gSLOJjdgdR9YhGgxBI+h71CUFh4efeypN2/w1E8WBkMImM4mZCAZYL1u0LYeRUHRYWcjmqHB8WKB+/eAnZ0ZnHG4deM2iqrEpcuXuLUGhfqsdbCwsIVFPZ8zgEoZFY7JkQpnmEXaU6o0gL4zmJQlDo4Osf/gCM4abG9tYTqZIVqg6VocLo5x4fIlija3a6yWS6rfdAbrfoXpdIpgKCY/36aes8v1iuY60LxWVQUgoigLxBgwQ02O+TCgqip4CgVjUpUaTTI2cPsfwLgSQ0fdBZwrMJnMYCzgigJt38OVBc7vXETfdfAdMxobkh29B7Z3zuDao4/hjTfeQlVOmG25I8CSs6kGG9I+ZrZksCz3vKuatkHTtJidO8MGiENhDbbnNZ5+5gnABRjj1R5JrCAWzpZwrsStW7dx/cYtrgWMKEqLL3z+OZQFiH2eic8e7O2jbRsM0XHGFx2W1954C089+ywunb+M/bs30PUD6knF7rNlxubkwFENMckfz3rPWKP1wYa7EkRDfBeHB/v41x//EH/zt/8BVVXC+IBhaEiXRMpc6AIwmxEx2Itf/wvcvnMPy8UCivcwC3LgfqhUvpjJGOTyEwwmODacOYIdgv4txtyOS+3wko5W6/hU4D2J5qSrwcyyYnyP1Q9fywh3Cktrw7o35DJFBWdiU47qcbNO3qhpU1PTqNwXEi6IOS3PfoLvxo6eRUMEYiNINiF30XAu9euW7C0FoLIsSBoOf5bDdlG7G/mRXShMyi5ThSFyxp+shXCUxERalqBZsXdIp02nE/QuKGNyXdcaQr9z8zq+991/wte+/k0899xzgHOwdoKnP/NZnDl3Af/0P/8HPvzw/cwZOw0cjmlNkaL01lB6fmR9Np1Ok80ptk7mAySbe9PWGKMZ+d+TLQAlkhyzciedPB67tAWMyhyupyca5RFS2CLmezz3wXifaJmnHga1dbTGVbIf1R6KGzFR2Yeex+2y61j2IDaRHQoKWaTa9HRuomYqyf6mjLtPHYf9EyK2ag0YDaGfiHjKezeiYelvY61/IlrGEy4puHm94Mjh1cW3mg6hTgfGm0dmy2jaXiKLstbClRauAGxhKd0zewaTRzLzKMSGQIpAFu1ymtrnvce6WRP6XVVAFnUUdAWIeOTRR/DiV1/EmTNnMXhPRowjFNfaAs4WHI6P+O1vf4tXXnkFXdtxyprXTWA3iLBOQ15yRaARPyVzwmjOA/cDNNkBPnHNjXpbZEJdri8R1A2sc/xZk4zbvF4zhAAfPAYfEIJF8FCGVEFVQwB8iBjCoGimRn1OSe3ZfJkRishrHZLBf7L+z5z4nNX6w2x+Y3pmIebIFW8SJolEyBir0euUHpvGkKPHm8cqjqK9JlOiDPaIU8ZRAq1h2Eh5ef6FF6hv7dBzxJdaZ7zzzjt6TseopOz9Al3XYTqdjuZnM9oJpOMz0usbKT6nRUlzvWE5Ojfe12MldhKhN6OvFPQWATpGXpHJn5O/UxNDxUSqSR47ssk5PSkfN/cVMB5TPu60J/Lay3T9k1HX8V5NL0/G9qjWCFkE/uS85+fX2DQGqQPViE8GaunYdcrH7bCgIEmeH5jpEm4lIdeW7JbgychwzioAVVbEviuodQhBa/vSBZNxv/nK6yMBaMaDtBlq20bRez8M2Nqac11vWlvllFBYm5R0WZYomdyp7Ty6NsCHAj44Kr1gsHFnZ1uzepqm0d6n1B6OZP18PkdRlDg4OIJ1FjtntrG1NQcQMXQ92rbBarWkuuCSiH3atsNiscBqtWY5Q46ltRYVk+6FELlWlMo/6rpG3/fouh77Bwfohh7WWhwvFrh9+zY+vn4di+US1jqUVYXBBwxMTrdarrB/dIRV16Jp6UvSyzxHvSUFOddZxhis1yu0baucCw9dewgXL15CDBF1XfEeoOylelLBe4/5fIqt7Tn12TR0Dgc/MPFcxJmzZxEj0DYNvA9Yrzu8/PKreP8PH2I2JYd4uVri3XffwWRSYvfsDuazGlWZ0s1lrCdrEoHVeo3lqkEIdH9rDZ548gns7GxrKxfJaonIu3WQTfDOu+9ikNpa0L5+4rGH8fxzz+Dzn3sBX/7KF/ClL7+AF1/6Mzz2+BUMvhvt69W6wU//9efogsHOucs4PF5yf3tKmfbBax14yNrkyZwrB0IWjhEdQmUHA+7cuYk333gN1hWaxeAK0iPDQH3lu74DQsTZ3V38+Tf/AmVVjo61mhz5wTNjRWA2fpYav00ZmgOG6QxmsgN50CVl9W3aqyNZJ9eTgZ4gDJQ5GjvKBmN5qb8fyZ7T2iqm1HST6Q2dFzF4NzL8YozamvCkjsPIZlFdm4HCkbMJRwAy2wtZZ6XxIukannQQ868Qwwmdmc/9eFTp2vmziM4sigKz2RTr9Rrr9UprxkMcsL9/H9/73j/htddeRdf33BITOH/hEv7hv/xXPP/8Z0f2fm6vEJhsGVRkvQcpzzLUwlH6gFuLQjLObDr7duRXbNo4J9dF7IrNuZMsL3PCls6up3sxausuWSR5LjH5sKnbcoMkA3Eicj2dObuCU3CJ5PjM5M7tSdso8t4yrOtPfjbtRQH3/9grLxP8U16fvt2PIUQn2ggbaQsIgvTHHAdjpH9o5vWLEaoCJNUWqNPIc5cX1qeTL39PVQHIUy3EgN8wzpRAgBkHQzREW68pGqn+UVnporT64cWzm70n6RF8jFnFL+B9wGq1ImOhLOAHEmAhJDZnA+Chhx/Gt7/9LZw7dwm9J0IVYb0VRxwmYugjfvP2O/jBD36A1WpJ2Gckx5hSYc2GJJJeocJmKpufBYcCQFlNHLhWMVLOnhPDTN6a1WGmKFDWi05ovLlWK0p9hXEauadpi2oM8/LzWosMp+t5TQWHOl/SvmIsUBKiaThynju0I4HDqW8QQzYXHryg4qhmmzgDvOiaUts3uj6SfW6MgXa3jPJcVvdqlL0lqRmCuErvN5eyA4wic8KAZrT+03Dv3030dOQIj84RNUGPJqIbeo12ypi2trbxuc9/Hl3fUA/ZQMbj22+/hf2DPZ53AwsPIoF1us+6rtE61phlJMQstXss7AWtkw2Q/p6DKGNlxwogSDst3k1R0t3G6UWbUbmxQpVUeNkvITsjJ+vT9VOR8hgSwJaFQ4wFotGaGdk+AioIA+3m3tn8dyI/S2eOWNGjygeJ0m6+TihHEyDJLmP0V55b5ioZkKQ8VUhwNoJhUJPrlKzU6Qvynj4jJSQ2shMsjIhGR6XGFImHKB1vR7EV7z23l0nGBAIDScwqn6fUWW0nx6AYO6fByFlMmQ8xyyiQMyhjyh0Yzw7vpK5x6eJ5HB4eA9FjOpmka0DSTaT+MCDpoADrKuwfdphPp4gw+Oj6LWxvzakNTQEUJRlQ9aRmx5YINI6OjnDp0iXSMSz3hqHHZLaL+w/uYXt7jqvXrmK1WALSwxTkHM5mNWIkB6ZpWtpH0WIYBvTeY6ueoK4LLBYLnD9/Hucv1CiswXK5RF3XKBzVPVc1Oa2973H7zn3ECPSejRiGPr2nlkvHiwXm0xlC6KlFTBfQlUA7RIBbsjUN1cd2XUf72llYU8APHQIiur6l2ntHhu3N27dx5fIVWFiURYk+9LDOwBUWXdujmpQoKotqUiJYYLVaoapKeB/wYG+P0rybDhIF67iWt7K0aaq6QjQG9azGl7/6WRhYHB0u0LQD3vndH3Dj5gGCLTT7SaKgIrd8jPjgw4+xXDeALQBLLNTPPvUk73O2gUxEND61oAsG0Th8dP0Wrl+/yTVo1Jc6+ojVYoWdrRllrvG+2j17Dtev30Pf9zBFgdgHBXPfe+/3eO/dd/Fnn3sB9/uAnonAvBSKGqt9nJMsYwESEkBnbQbCIvNCQ8Dv3v4NnnzqGeye2wXg0ffsYFsDV1pEG+ERYGHwzHOfwfHRAV752Y9ZNwo7LmfZMPtskF6r0WS1kCnrLQZsBDpyuWkzGTauURWgOYaAaJnnNetlTyYk6VSb9e0WUEpKApCR9iS9QlkaIQbYaFmHik2QxonoR0RTn/wa6zuqlxefZNO2S3eJMX6C4Z/Lbv6NZPcBpEPCGPhMqTbyfsuyMLMnyC3MH1PTl2NmQxpjeF5SmVxU5zXqs0katjjxOSwhDlddlXDWYr1eIfqAup7AWYuIAe16iZ/+9EdYrld48cWXUNYTIATUkxn+w3/6X7C9NcMrr7yMYfAbbLtSGinPwk6jZfhWsshM0lOaxZgRuRrkNkZKOU5OYmqnk0chk00qaxX1K2qkMwNUZA2j4ZZj8rdxjbAaqiEiSgmdydAKAXbznWISuGWlBaf4N6NRpDEn/CvZWUmXeo66sx+l7NppnNoM6gTKNQ7Q/J99ffp2P4EdQHYGvDiiWR64tbwxYzKUob6obA6JeHKKqTBbQtAkEWrQZugJzaGUrcgh8eBZ2FlppxBGEyIpFl4ZMVMKowEwhMCHV4zEnNRB6h3l/cmxDpkxoz3NpD4zEFtg13WwtsBkUmoEly5kVLBfuHQRX3vpGzhz5jyGIWIIpPiNdTx/IsAtrt/4GD/58Y+wXBzB2gQOUGTXpHnK0mfyyM7YERchla6jwUrizccJcCnKwbT6HLrxjBkfgSzrRg4N9ABlCjP/jNaI0MEKGQmV4TknBZ5QZomWnIxSpZ9P+FGZYHFM/hKZ1VS3rhVnMTm7yfHNPFiZh1wASaR5hCjzOdlgjBsJOQFkDAmv/D4CgggKJvvVcDQ8J5jROdiQdbnzHTgNXQSuGDIhRDz7medwdvccmnZNu97SmX/jjdcxDAMDWjFFebP7rdcNqmpyqrIdobUyFkZPVell6xYyRmT5/Ik5y4GbEQ5hRsol/7xMrKC4ibAjd4RPkjTlr7Tv08YSIR+j1GCPx2wMGeKk8AsCazYitlKU4UZOPdj5tyOZIGonzWl+fnLFI0p7cx7SbKR8t7QnxgDA+KVGTBzvSfmI9N6TBzhNQeUOoQJmEVxwofF0NUhC8MpwK/2W6RZUlxaChysSaZcx4zFaZtVSYjtpSaFzkEpn8nmKEQjeYz6f4/joEIBBXdWYz7fBJazK2E0O3sBEZmMw5vadOzjeP4A1EVvzCdqmwX5VIniqH63rCufOX0CMlUbNh2HA0dERBu9RFBYxCENxh7Ko0A8BIRgUBbEJL5dLuLLAZDrBzs6c68qISOj4+Bjb29tYrxtYazCpJ3C2QAwWq1ULY/Yxn8/gUKAqSqzXDYKP6LoePkS4okTb9oiR6nybpkHbEkMxPDCZ1CjrguSoj1oiYp0QcDl4z9kh3mO1XKLve0wmNUKw3NaJILyd7R10Xaepf13bYu/BA+pFzKzqw+DhnMV0NkMEcLxYoRsohX+xWFM02jHIYCJ8GOCspRrrENAOHdXuVgV828A4R710LbmtRVFgq6xx/vw53Li5x4A0Y77ioElv8+Cxt3+AdTNgOp3CGotHHnkE8/kMPgxEipj1hxb7LgDohwG/fftddL1XMFVlvfIQiCx08CHiw4+uA9HAWYc+0hpET+P7yY9/gscevoaLF6/g1q07eOihq0SAZcKJjCmVrwxsC6Cn5zY7q3JE1usVfv6TH+Ov//bvUFUV+n6A4XTJICBT6IljARGf/9JXcO/2TXz4/ntwptByMQrQM4AcWbYFwGfiScAlG4EUy87kVsZESw6HyQz95NhRuQRLFGmlpsIsRazExkvij+fEjuIxaco25aKeeSmzCFQzK/ZVlu20KV4Td4v5hPeYzX+mEMwnALC5O5w7WIjjLMfNZ0j3jqofkrUWsyuznS3PnbeY4ZaXaR7FLszKE01a48iTqvhw5pdHRBTc0mu5IHbzqZsoqN42a7zyy59jtVzgpa99E2d2tjnb0OEv/uIvMZ9v4Sc/+RHatjthH0oEN2398TMQPzpnRIbUaUWzSk/oS7FJzAkyqNw+S79OgPsoUKv2S8zec1J/bwL4o1eMWrJpuOe92KUWaa7BZ9syR0b6mc+KtRnLudH1PO2e+XiMlNdt1n+bLIk6MwllHqzNmapSYORPeX1qx7b1gwasFP1muvzAaCB8Sm3wPvWgFBSH+cYYBSFmTCCSI5cjmxgvYhjIqIENG6mCvBu94ZYQycA3lhqt016VI8mcpaekdUTxxnjiRfwZFTZGr5OciBxhIYTLh4i+62Ct01SvXAgIGdXFSxfwzW99E5cfuoI+esQwEFOgLWBdqT1LAYMbN+/gJz/+MY4OH6BwQVlGqZ1PMvBTBIsNa/iT0IzOa0hRmBR6VycuIDn0JvtJXOJRjWGathFayvQYfGsKzUYQIm00ujUmsqDLGxW+5ERRSmw/dGibDiEYTKeTUY03NvpeqfOTpXiAq3ujplwxQMLGjyqePNofUppJ7lQxmKkra6P0JEy1KtgQ9pFrXKRnsTIwB47+mWwWoks9ybgGN3Jtj5H+vnyuRtHgXMgJiGCToxGZEVDT3jQTw6CaTvC5L3yRmHOj1MGVuH79Y9y+eQPORFjeezFSing0XOcagK7rMZ9vQ8yQHOVWNE9HDq7nGk/kJqL5ya/M8QM08ppQYZPVnGw4c/xvq2cMGQNxun4ezUtGn6DSJFusLjR/BmCWwJMjDj4if6wT0WReK0mJTczlI77K7KGTkk3DS45trhCNSc+RnMpRRTq/NwdkkrJTS4RlP0nyDQBFnyuo0WSE5VT/loafZCjvZ65/NLKOkZH1kCL+rihgC2L6lYyWfiAdEo1FWdVqD4gBETnDKGT6SWSkpGNqND9wFkSElkAAEY4dNd8NMNahnkyxDYvJbIZm2TKrI4/XjMtoJNIKO+D5zzyNrdkUq9USi8MjHB8fo+/WuH+4j5s3buHsufNw9VSPxGK9Qjf0KMoaYpI06w7twNFSQyUr1XSCsp7gs/Mt9H2HB3fu4c7t2zCc0twxcVUIEW3TwcDBD1SrvFgsGTwALl+8AOdK9G2LvuvQNgN632I6n2PogMJO0bUtMfH7iMlkir7rYIxF1zBxEzOJhhBhCwPf9XDOop5QrVrJ0SlfloiImM2niEzU1awbTKoJwhCI6LUgwrG+bWFiRD94Tnfmmtc4YAhA0/UwtkDf9tT71VhUZY0YAprjJdxkgiEYWGdQGANrK1J9JnJLPgdXlDg4OICzjloT1Q5nz2yjqh18F2BNASmU8aJbha8gGMTVCjFGitY++ySMDdTkORKXgREwX06Zibj/4C6Oj4+VlVbqOwOoa8L9+3vwvsezzzyFEIHrH93Axx/fxGR6BmVdKmOridQj+OjwCD//+cv46+98C2U1x8HBMXbP7pBOCpK6nyJA1loEP2iGhmQ75S91Bk2ECcDdW7fw61d/ja9+/c9RVlP0zZqcVMvN0UFOrgWlu3/jr/4Gh0d7ONjfZ0c2ZM5AJI4HCRjQlcYWryQ6IcnggJDJZPDcjswYfQ5n0+dEhFlIPWn+nAyyjZ4/RRdzQZdk10k9lXQKuO9xVFsuRgqoiNRV694ELe8gZZGihpQ9aMcthpB6w56qK+Vv0Y2cZg2yhKh6PCcNAzjBLtMNRiK72voomYx8kzH4zy+qpRazJs1jzMYnDm1SaawHNYCSODgMDGazGdbrNRZHS8znc7iC2WeGAb998zUsjxb45re+gwuXLyAYA2tKfPVr38C5C5fwP//xH7E4PtqwL3izWDOyJeTZo0lZmGKPCQdEiMSXk5I35JqW9W0+Hxmr9Ce8+IhCtznnL21G/GO27iPHPLOHTniS0WoQYqT/BXDjvSrjyO6me4HGxhwY6Tda4qAZpjkIo+CFRKCjgkhGLCZjOPsU4yAgv1dAvT/l9akd26HvNF1L2GfJ4OGm6BnqIOl2uZAkYoLMTdJ6rhSB8Eqikgw+ayxtUHaQsyAarE1pejEyLbVENWRqspQyNXoVoYnqDIsrllAzQZCEKIlS76IZCwFy1CRaG9APPVxhUVYFp9ZtsJwiYntnGy+++BU89NDVtOE1vSkVoRjjcO/ePfzg+9/Hx9c/hDUph91ZB8s1wYr05jXGxmgKayKnSenael5UcKQam9Par2BEcDNGiXJDVZUDaxmZJYmgiT6LMevcuWloa9pxqgUBo9euKFDAoSjKEdOrOrXqw0l9UI4ISlokRWEMNzqXD0akKI448+KM5YinAZRght4WRZ/rHs0AueTc8t/Hzr5F9LJH1U3ScyIpl+ogcsotuL6UhLB4sGPHRBw8cZRyx2YYfAKeeP2vXXsYV65c4f6Q6fOvv87RWssOQkiER6KIuq5DxczUkk52EhAQ34veE0yqESJCitwREyGbWGF1EmWOTtR2n87kuPky2ZrnYEz++qRoLVTwi4uOtD5asyt1PX5E5oZT7iVRKAAcqQXG2S6qYkfPm8AameNxqt7mPXNwZ/Mcyxk9bcYCG6GjdHidxPxnnY0sGwOaNA1EmCByJYFgFklm6P21Zp32ST/0XJ+ZnESNdlsL50iNpRpZkUGU+UL6SoAuPhN+k/uBjYQsC0nmNsSIqqoxmUwRQXv9/v09DAMBu94PMLYk1veY9AHbctyAg6Kk586dw2xS4eyZHZgrl7BcLrBcLnFweIR7d/ex9+AeXDXDbH4ORVlgtSLm3+m0ZnkT0PUD1k2Hfgho2w5VYRn7MijKAjDA9s4Ort+4ARsB5wqcmZ0lIp4hwjqH1WqN2Zx6xVZVDXAUdN21mE1nsDGiXa4RHfWqXe7toes6bG1tYegprbcoSsymU6xjwGw6Rd+3TIpIkXHnHArnUJWUFtysGxQF1fd7PyDEiLIqmT8iwNoCRVGiazuURYFz585hvjXH0dEhPbkPWCwbktOB6sPrysHEiMo51EWBwjh0bYfgPRACtuZzrNcrlIVL5wKAKwuu1QtYNw3qakoRXe8RBo/tGfWznU4naY+YJJcjIqIXMkuSv5Ty3eC5zzyDnTNnEGPPoGJ2CWM0RdDCYL1aIXo/0pNGz7BF23XoulbZ6d96+7do+x7RNrBlBe8H5mNw6vi98867eObpJ/DYo9dw5/YNTCYV6tKigOGoZtKTpDZOOrMYydOk7+mIeLzz27dw4dJ5PPnk0wiup5R3qa9jO4rY8T22t7bwzb/4K/zP/+O/Y+i6lB2m0ieVJUmaZYDU8bPzy6zLkc+yzQWdDpizndRpzv6QPVOWPqfPJcGSsQ4ag9lhUy5s8hCmrZB9HipbxA+3sBoxJWdvw3GJuR1skvMFM7J/o8YlTuOUyOwAGIQsvmJAZJGScRUDl5WY3E5OVzBqj+ZzGzf2jMmA+dN6nqZxhc06dS3dQcqMzOdD9QzxHsy35ui6DoMfYFyhdcw+DPjwg99htVrg29/5Szz08CMIxsAPAU899TT+83/5L/jH//7/xd17d0b1rpvOtXrgzGodNDtOwHrDZQMMypqouse5EsNAmYVG2v5B9sBp9kg6CWN/MtdNyPymzEIcLYBkX4TN6dfAQcztb1k/k4Jh4nifWFdxnkejHmeG5kGl/AwkvR45jhQ3zli6Z7r/eK4S4P7pX5/asa2loXuG/JCyoeiEjRgJAedS4a9GGwQcQTLINO1BGDczR0xZgy07kBBvPkU0kvFs2ZnChlBLtP1gDMRkdaxZDoJuoRiRlFb2e025yAumpQwjAF3XABC2x/SSMXpOaXvxxRfxzNNPIxjHkdc6M1K5VYC1WCxW+NnPfo6PPvwAMH1qjcN1ohLBk98lVIWFISPXJnmxo6hgjEYZz6SWD9lm3HyG9IoazQE7H+SHpMNIkUHLKbhCiZ9a8ZCDmVJcxHmVdMGu65MiidJ4OzIZSj0aj+wja4nVORokhtJI9XXy9pytNzAxTUTU/q/RpPoLw2jx2KGQMYlgkzyAqAZCxIaCyXichHAAxlBvP0QYJ0CAzYz9TDpw72XehuAhwhmuw/QDIrgm2pxcw9RehMbkB8+GacFnjZD8r3zlq+RMqJB2ODg4wAcffMCAEJRMQMYnT9k0Dba3z5zYN/nLGga8eFqC1GdLNF+FmkmgQjwtlTU5bHlEVYywVJMUR/Ws8lm6noA+gnyfjBSfdJx5AQKDEzm3nIISJjM6cobyUyxHQPeZAG45c0eEV8WfXiI3B+2VKmlP+fXku7U26yudDDZNvdboedDnEPeUoitDUq02rZMyW2dglqo+dgBiFIM0ZTkYgDgaLMkvtzHf8nl6liGVRnD7j6Io4Iee0yB72vfOoe97DMOAaV2zTmFgSHSQJxklXTlSlY/MKaUQhEGIRkxWfwVKv+16YLnG0fERfPDoux7w1MYswvF59QRP8t6Ws2etxfkL52GYf8EyacxsOkVZFDizcwYPX30It+/exUc37sCZgOhKDMOAxWKBs7tnuM0jyd71qoG1BRFmGZJAIQRE62Ari4WxcK5EVTjNIGq7Hs4UACzWbcN9sQ0KV2j0en9vHwfmEH0/aN9A5yzq6OC7iKqwsLFE13WoywrWGEwnNYa+Rckggx8CXFGQMx4j1/vOEKOjcoV6QgZpiPAhom0HNE3Da+vJOQnA0cExjo6OYZ3FxQsXsDg6hnMWiyWRS83ncwQ/YFZViGVJ7WdMhDUV9ZMNHiZazOoaZVFwCjs5i9ZSH1XAoyoonTjEiDM727RvClq32WyKuq6w7hr1JIqigGfgdeQtI6IqHB577FGVv85aDCFF+KI4UsZgWpao6woHzRpWTjDfg1q/FLh65QLqCRnvd+7cxUfXbyPCwseIpmsQgsd0MiV5yjZL2/X4xcuv4MrVy5jv7ODGzVu4fGEX21sTDMOmXSYoGTaM08z4ZAMdan8EDP0Kv3r559g9ew67587C9y1MDNSLOHpQc3oH5wjYeejRx/HC57+I137xCxiueyeC8g2gj0FOZKCYMQI7SwAFSBJPnC5wRtgn28AC4Kp2iFQ1neuDTTG9CZSKnQY54zFPks75GmSUee1iVNsOkXgPjDWjOch1RcIUcttDBmg14HJK0JjHENQesPmYJI1Z0k053Z2A/4LkNazau1ZqNNlu1hRjIyCs+LpGvmWmZl4TI8GqbMC8bjy9Ws6ozg7o3oLH2EAdO+pJhX7osVguqH92WZJ1Hw3u3rmJ73/vu/jGt/8Kjz/xFMm2aHD16jX8P/7X/xXf/R//iPd+/x51tMicvmQruIT8QFojQQMHaqs7iXYa7aoBJoJyJmXuSQbSmNw118fk35ho1B61GVlj8BHWnbLIGReJiQExChGWUQcy7Xu1tHmqY+L1Nry346YNwkE8zShnUlzTb5yDUwjRNtttaoDPIN+wwhOU7Jr8DP1pzuxoXj7tG4uyovYB3JzaKXFPYg4TJlerURhm/vSgPrYisDb6X4VABgc1Zx+zcImRSBswqIAziSiM/23V+BKGYugimzShUYSYUYc3d1TlnXnU8jRmLp10Nuj6ziNGi7qeqIMqbRyoR1nEZDLDSy99HZ/97BdgbAHvI3dTiekZOaVncbzAD//lB3j77bdpXMobRL0IhYVXETUZU4zCOz8eJ/1L/x2kebgIoWxjjh3cDNkRQzYDJaL0ZB1b+VkwJ0uXyMaqY0Z6nwGlj2skMtsDxrBhW5bMdJoQvxz9y9MjDROTpGW32jZCen2RYxh03qVnLUtXnYcYsnmQcZv02EayE/LnixrAUcEmEWNjDUwInI6bIOzk6GtlLQs76Jnx3tPZ8pGVgU317bmwzKBxY1KLlYio7KGWW1VdvvwQHnnkMbRdq0RpRVHgt799G6vlktGbtB9EQTnD/Qsd9Zgc17umlH8CCSwRp8hZG5GTmJEwTFHftJaj8zeyX0z2fVMBmEwIi8MsfQeN9jUFpAUCKVfnUnRxdDXD6bDOpb6IUQiHNmRDtrcTupl6/yagTk/n+POnyvUEqPkY4SOhw16J2tS9VsVsNXIwHt/GKGmuokkkeFm0PEV/oVZLzIakM68EfdnqbEyinFWrjMVRZZvL+y5yqYIYCAJe+UDRoCA14sbADxS5mkwn2vdaxp0yO8b7Q+XnaExSy5yMSIkUN+s17t69g/VqhaHvcPnyJTz66CMsV1NvSflelCW2d3b0GtY4arVRMOGaJZ6AyXSCqi5w5uwcn//8c/j2t76GMzsTWFDrr+OjY06RDlxnCyyWC/gQUBQVyqqGsxSB3Nvbx9B7iljy3ijLAiEGLl2hetaioJpX72mN/eAxMKmSHwLapsXQDxj6gbJbAMxnU2xvzXHu3C6mkxoheK37Ndbg3IVzqCY1iqLE8fESy1WHph2wbloslyvAWhRlibZrcXR8hKPjIyyWSxwcHhKhU4xYrRtMZ1v4zHMvUMZOiGjWDW7fvoOjxYJIn8oSdVWmcye1r8zOW5SE11d1TWzMVcXdBqwCdoajdFVZYlJVKAoDa4mzoixLFEWJsqxQOIeiYKZ60SXBw0rqLe9hx2VB9aRG33U4PjrCerUmwKXvKN2Xd5Tjr0ceeQg7XA8oAk1kf65bGi6/+fWvf4Ou8xp5CT6gKEq4klrsFEXB/Ygd9vf38dprb6Asp6hnW3iwdwDnykweQuWrRHzV6VEFOMKqGbAVJyfg6PAAr778MnwAysmUeizXE+4/SxE0jWZF4Itf/iquXntYowHWpARFxA122aSEoWFsa7JzLRZ7pi9zf2vjXCNnpdV08PzfqSvC2FBP39P4pB1JHMmq3LaRbEXRJ7n0luysJDtP2nK5nFS7JouaGaTss5F2ELBdgdXcXjajL7VxbQJpiYlc7DF2EMSBVQ/n5EtNH5M+O/pl5gTZ7Jm0LAzpvQZC+jVmajYjhRVRuALT6RTL5VJr8sVmvH//Hr7/ve/it2//RjNwQog4e+Yc/pf/+3/GF7/4pazlnASGMj2dqQth1rfMlKx2DZgcK+sckOrvOUvV2BNzngfjJCvBGqd92A2fR0ntNZpNMLYfbP57a2BsTEz+HCAzbHNYW2h/9XxfayYgA/MqD4zV79Klw1mDwgKlNXAKOG2sqTxjHsTJdC0FE7wGO8d7aDPymzvOMSOf+rdfn9qx9dzDzURKeyJnNbJxzRs0sPEbM6OVN2fk35/W5iJEdmi5JjbvCzU2RDJhZa20UkyOp9BNI3eMwBUVUicr00mLHLMJjNk49d9Za4587CqAItC2LUIImEwmLLS5DRHPT4xAWdb44pdfxLMvfB5wFbog0ZEM2bAW1jm0TYd//elP8frrv4YfWp5sQo5KV6Cwjo9Umo+0GagOMu9/JYcuGzJFJo2lMg8bx45i9jXSEpkiOJEGFE06OJH6KDLBIykiZtAdKQ2TBLNE5yiAJu8R6nByakVpQnrWquPGETSOpBU2oY2SckEEmFF/J86tonKs+ByTVciejTEZ3ZYp4SVCSy0lvCIsUWuRUro3JQywIjMWsJH3JxmFlL4oAAmn6NgMjDFW20Tk6yJAD4DRnEYBNnhiPdfOIZLwjCEhhjGKEnP48pdfRFFUZEzyGWyaNd5643VGcwMs0VOOgCCA9v9kMlFlD1WJ+XdoTX5+nhEo3cGMkMyEaOZnMO1xo2BFVMWZ13DkzJo2+1syitIetKp8gLFBIgaMktipUyyAVHISE4v6mN5+/DOyr3G68aZcVJQ1spzKyJ20B3WU+lshAzPEJK51MwFhGLRcZOPAbkSbxKG13PdSm9Hy/hXgirMN5CpiePD9DKLWKG3KFBgzKj9AiOxkmJGOEN0hQeYYIgy3QKMUejCzrKGUtL5DXZUoCwdXMOkfrAJsuRzMjaw8yqwmVaakBbx1zqEsSpzZ3gaCR12VKJzDgwcPqEc3nw+Vxby3QgzUIsdRF/h79+6jWZOusMZoX9WqLjGbz7Bz9iyqeoInHn8cTz7xKHVKDRHr5RJD38OZSD1BbcDx8SEO9ve4l7WM1+HNN97CerFC6RzO7OygsCSxisIyeRnJud3ds6hrar8z9F4zlNpuQLNuGfkEPP/NmohpPUG7amFCRFk4hKGDoW7DsEWBvcNDdH7A4dEx2qZD2/XoB5KP3TBgsVqjD9S7fL49x/aZbYRIrL4+BPQDtaVZrBb44MMPUNcTlEWF0pWUWWIJPKvLAlVRMAFKRD8MCMxObBwRpEzmM/gY0PY9fIzoBo+m61HV5KwaRNgYYUPkOtXINfAOZUnOeT2ZwrkCD127hLoulNPCFBYoDExpYQoDUxi4yqEoKZvg/T+8h/0HD3Dvzl0sjo7RtQ2nG9P+dwaY1BWe/cwzKTWPtZCnCn2u0w5Yty32Dg5x/eY9fPjRbY2qRK4Ft7BwhpxaisIGPPH4o/j7f/h71JNtvPHmu9g5cx6WwYa+G0jHKmkeQ70sa4wKBIWck5xTEire7yHiow/ex7tv/wYRjvULpbQPwwBjAvq+QQwDYvCYTGp866/+GltbO1qjZwxxRuSJjkm3iG4gZyFoiVhgfZh1JhDTmW0AyyU/WnaWvTNG6tUaxWFTUWiUuDFof3aj+ndki5pTxnripUh/Ir0kLaMlfVHLLhJAqDpu9OIAibQQpObhp753FCnLQYpPeInGhElBJ4kCGt4fbFWTvs3A/RFImm2bmP1d5bjIWzK+SM8Igay0CQpR64vFgDSwMIHXhqjK9P3WWmxtbaFtW2oRJrwlxmN5vI8f/cv38Itf/BzNeo1oLToPFPUMf/N3/wHf/Na3UBRlFlE2/HzMBaPkWWzvIQUo5CXZdTLPlvF7yvSzcMbAZm4dmPDV2uTIEqDu2AEdA+p0/6jnVTVVZqPIxjE2ZuFVo3sGnKlAZ9hxGrVcJ9OJJpnkwi2ke9NQHXikNgeQXEvKwsqAmsw/01EYscGJ+Rxac55sxRy6GQNLm2fp070+dSpyfpDznwV9lnYbMd/cG203RIAKQpLGzI2dS6cpmyOkiVENw2mtRqLCIiaMHaWNaQQUUj+KRAvPCyQTGgOTXwknqRiM6gCFkcCJSDVbEUDf9/AD9fzL7y1GLTjy9cUvfhGffeGzsNaiHwbdAIRusrNiDPp+wJtvvoHXX3+dnB4k58u6k5FjdXJkc2cHyG6wq8oaGKE2z5G0DMlNm/1kTEeN5hyFPJHCyW03PgHdkzFZk9ooye/zPr8pxTSxMauIUJa25BzQGCI7KNxiiFmtLaweo8DPGJjIKyHEnxwZNMLSzem/+fptzpnuPYyBE5oXhxC9pkFvTvDJCGGOWqWUYmV8VaQmKXExQsBCVBBL6jPYZ5FF+t+Zs2fw9NPPoO8HToOhdPo33ngHDx48oGfUCHdMZ9QkYGc2m23sl3x/nCxGyh3jTZQaeb2kOqgJDJGPWgFNhHglI0DKP7v5Mqfs7dz5BKBtr3JwLWUomJEczHKxslTg00nNNtme5ZlPjfJCWnqlBueyV0XJj/ZcPs+KlKa10vr6nFQqJpAmySGBblIEYzRXTFalkQiODsSsnIC+yXPKv9Naig7wwWf1u+nc6L1YrjnnGCAsFZ0vigJVWTApG81tVdejOcjvJWvhuRdiviN4UhmfI8MqcC/rwI7XdL4Ft1fAuQJbW1McHi5QFgXgqWUR2KBxRYGyLNANlGLL8BoOD49wdHSMM2fmkI7pBgZ971FVFdqOxrW6fZsij85hGAJW6zW6riNiLM4cGbxH4QqAwTU/DPDR4+LFC9QloBtgDM2X9x5DGDS9MISAxeKYn41rYYuSdZ2nEoUBKJwFygJ1XWurlMjpps4WqKoazhWIfP+icChcgbNndxBjxMB91o0VtmrJtKXnihFUt6ygksVsPkdZFFSHKHXQxqJt1rhy9QpK67C/9wBlUbJRms7VMPTU4sZYuLLQCL98N8Zi6D2scZCakYHT9IXnwFmnmWMwHut1i8uXLuPB3gJ37x+rjhcj3AoZpqF1b/oe73/wIYbB49FrV7G3f4izZ89sCHaDK1cvYXf3zAkmWdFvEikZhh7T6RSvvPI6+t4nllPmh5BSFIkYG1PgwoWL+PGPfoq79/fQth2uXrmE3Z0zOF4eIYYJ6rraAL1Z/4UIBKtZXDkTah4pjWrnBMTQ4c03Xsf5Cxdx5aGrsLYn0CCTP94L10DE+UuX8OLXv4Efff+73CcdgLOcDmv0vMcTkgBJG+dplhBZiJFMN+oEJ5EUM67M8TX5ezQKCTvjyJGLgcthcttX5G7qoZ5+n9siRmXtSBZmkWHnnJbDRNXiJw14I1lnp41dnzGlNae12yAEikysmgHU+VyKfSeEhPTc40h+AnTNaD4VCsl0TH5tcZyTfe1PfDgovIMTq6/zu/Fbay1msxmWyxX6boH51px6A9uI9foQv/zFT7A4PsA3vvFtzOfbLFMMvvriS5hvz/H9f/4emvUaUlq16bfIPWIY70g9NgADDokMzBrhQcGo5/HmtQ3GAHfSgskZ9t5zC7hcl43XbnOamHRc25IZhHQmEnwy8rPElxqvZnKUFbTfuF0Qnp8gvC/Mjh5FVjEwLxxAmd2Sexox85lOs4n+lNenjtgaC+odJ/1SDW0c6llERbaRv1tnR5MuaTyWEQBBF6FNgOkBfeBm4j5khpr0BAzKcIvoE6lMAPwwpLSkkEdDoqbCyJe8okbkoIyQcqs8sqJIhgodq8jZ0HsMvUdVVhxZSM3AZXGcc3jhhRfwhS98AVVVjRqjS+qUzJX3Hm+88QZ+9KMfo+s6QkgQKMWAW4XkTlUysIUURXJZjcZzJXVBlZGspyJy3G/stAOSoz4yFRtO4Ai42FCWckU7Si/cjC6ma8nvhmEYrZcxkibKEaVoM2XGqRCifDMn0nBKh6Qm2kxlpPSXsVOfHyztH2olxTO1CxmlTWlkLnP4MmGeFBnUSDh1Tmw2niz1SS6Wp9rkff006iTpyMIymWUfgAWk7A3JJvDe43Of/QIm9ZRSDrkXqB88Xnv1VV1Hw83P80taY7Ber1GWZab0woZAijhNPm3uBX33iZrZ8e9jTFHayKmKQtEWRhHSzPgalT4k5ylwlkkI2bXlKwg5yBjA+eRXPPE+Wef8Z5F96fcnz4U4Y5S5bRTxTGcvMziZa15SlwpXkLDm9NC8dyyQlCLyVKKYnDKJFEXr1YDcPOMSZc+ESXbt7D46X5JWTGymwswts2Yc3VfKBKTUAAxoSvp9ECckRs2SaZomk4WsvE3KhpGx5PvKcfQ3l1MhBvTeY4jc8zJLOxMdMZnOMN/eYSKkFmEYMKknDLAEduZoH3Ys13kApNRDxPFiifW6yXQLlbH4IaJZNfC9x3rdwDmLqqwQDbBcr7BYL2k+nOXaWIu6rmGtRVVVKKsKMAbXHn4IdV2hHzqs1ksOjkR1LAwTIrmContS++dDhHPUL9IiYjqpsDWfwVmqoY0xomkbAmb7gZiYqxpd16PvevRth2bVoFk1CBgQzIC2WyFggHXkSPZ9j8PDQ6zXLbpu4FIccuzbtkPbUn/bECOW6zVW6zWBvZ5S7e/f38NHH32MriVG5r7r4T0RaDVNi2Egbobl0QKroyVCN8AGAxMAB4dJUaFvebx9gB+YhyKyQccR6r7t0a5brBdrrFctHCy25zPAexhPmVjRM/m7B4w3CAOteYgRbT/gw4+v46PrN7FqWm4z4ggwgUFd13jqqScoJU8jWeNohciInZ1tHB4e4MbNG1xKQ71vhYsDhvry+jDAOqAsLG7dvI0bN29j1ayxXC/wz//8PRRugq2dHbRdp+o8ZudTQO8Q0teJTJFApDnJsQkwJuDwYA+vvfoamnWLonSoqxJyfIOnWu2u69B3HeAHPP2Z5/D5L35R28xhZDORPLGc/p1kyli2pH63OfXSpqE/djBPuESc8WJi4Hpf0SFIabD8W4q4ng7GyqU2QXmRHen+mbzNdIQ4HEGrqMblVMk2kBGGcf9SCWjo8ETf5Wus5AIn7S5jNFAhOiYyaVLI9UeUqHHmHsmz5KSb/DvDE6NOC3IbJtmpVp19fj4BGE1WWiN2FqPNJsRRarIxBvP5DMYYLBcL3q8E+vTdCm+/9Sa++z++i7t372kZEpzFc599Af/wn/8zLl68qNybCewZ6z7xX5Kdy3qW+SiIns2m3CdxCLPJMmmCNsqs+HecmYnMFnGu0IyByKSUuY2Tv1TvhkgAHS97FPCEjLksDVvsVyIE7fuBepLHItlPGQdyyOwr2fcGBfwAxEi2SHpC4RSgzMNgbKLSze207Cv9eWx7/KmvTx2x9QM7GZlhSAZL1MMrhqMUequT51PtkjGEdnqfHJcYIzwbAoMfAFCvPCruNlkPtjHpARXHc257hq6xSFFExNrMAdRIhcxk1kIjN8YyAjhNczHpM8MwYPADJpM6GU4b4rMoSjz3/HP46otfw2y+jSEE2BBo21urz0NszsCHf3gPP/vpT9GuV6O6S6qrLU6gECoq5QSYxF4nUWP5c6pPNmn99PmziKOiKtBDpIa4Ecr3hETySqfxMBspBWcSwpQ7lLIOkd8Dbq2R99KEtmNJhmiOEEZhOOY7y6WszcZlktOPwM8dMAI4JCUokVdBCZXGM234/bq5s/unWd04nch/FUNMhF9ZGxq9Sk6UtFFDLuzVqrQYBVbTZKQAMgwsJlKhkcNlLHwM2No+g89+4fPoh57WwBCAdePj67h7+1amqJIizaNfy9US53bPZY5nLrxlW/7xFj46tjh+5o3ZyaKqObs2R3ZjZuLkWbYbkVhKM0rptVaVZZo3GosACxmjtyoiHdHoOU4+XiI1K4pizJBKM5gh33m7HaSzsZGFgRwx3Xw2HdM4ayQp5zSu9G8xDiXVS8DDTUMyUz06pqjRVln3kRNsLBHG5e0ypYYwcFuN4BF4rvUM6rkw2v5I099CQAwBZVFgGAbtZV3wvwvnKEUthtROQ1qHsc4ImVPug6Q2s3z3KfPFqAyieSoLh2HoKe25LDGdzhBMgUlVofURgWumk6wbA5ARwN7+IR555BoCDOaTKdbrBj4ENG2nfADOWUynBWaTCos1MeIuFyuYq1cQvZB5Bf6PDJ/giBX3nXfewZNPPUlgQD/AG6q5FPXlB4/JZILBGzSxpfRdBkyDp1p5ayxF0ZzF2XO7WK3WgKWaYc9ZLl3boqwK3ZvT6QR1XTOBFbX7k8wm66gOfzKpaX18QKEOdeDSmQg/9Fj3neqpoQ/wfkA/dEy8OEMvBqe1GAbPpCkpO8IMHpOypL7nfY/JdMpGKXV0EMIYw8C55ag1QoDve+onay1C8BiGgMVijb2jQ9y5d5+LUIICITYDRWMkkhfRyb0PuH7zDoYQMalriloag8IA165cxsVz5zKDlnVldjY5yRjWFnj//Y/RD4HLhwxsAOoiwNqBIp1DD1OUKIsKgEWzXlG9tAWsc7h79z5+9eqb+Pqffxl9QSCBZRuBIursyMn5ZSuWmJatpmVCQU4+jqqSIj7+8AO88fqv8ZUXvwzrCrgisJEcWOdGFAVHxYsCX3rp67h//z4+ev8Dzl5I8+Csg5cMnMxZNWl6lHleK/dEZmjHjtTOzwhdAJJ9J/LMmPQMIuskg09ip1F1fc6VMBLJAGLWUUHKXZJ9NJKLGQOBZiZpVmDM9kBmy5wwLsZGf3SiF10mqzeYftOFxs4t8leS8ZFtlhxcyKNtaqJuZPXkNnAEOJ1ZXTx9FB8FyIknRmGyscTs7nlUD3pv+qs1FvP5DG3bYrVcYjKdakbdMLT46MM/YLVc4Otf/3M8/uTjxAwdDR5+9An8/T/8V3zvn/4Z7//hDym6lWEq5OhvzLuV2t8EDOXTHQMTJoZkNwuwLs+iO1t8I3b8pbMMVP/ixCu3HWhvBrX3JKgRpfWg9KfUNUzR10S6yxwuoYNzBYQPK3Wm2PAt9GkJ9PFydbGXsnF6JhmW3urjhTbqb4yfbRzh/lNen9qxDVkhN0k2aSGSwu/CYJoMQaNOguTDezZMYtwQpBEY+gHe+4z1Nm/dI+i6hbU8AUyvmh+iCKDvOriC03xl0qTAmntuakE2+NC5rDdozNsIBXaWUr9T7z36ocNkMhnVqaRye2qp8Myzz+KrL30N0/kWRxAofc6gUMSEUqU8/vCH9/GTn/wEi+MjTsWIihI56zilIEufS/KHhWKqH45sxZABmaeURE49PCEj09rJJmJUaBM1MUkT6LxinJmc9on4CxnJgQp42VOyv3zUg5W/LzcMDbPHgdOCTUhpVJF9Pyf1Dhp6M0qQYoSNeWMaQ7Yfo6RBSasO50Y7TA16E3HiuIkAQUIlReiLMS3rZIyhSFUuQLUmWQR60LoLcdClXQPfJW2CTKKmfZuuFUKipI+ZgHvuuedxdvcsmrYFZegZuMLhzdffxNB1HNFhgiKfGCCNMVivG5RFyWmicbRWcv5jzFHzk6/kcJu0h7I5ERmS0nfFqc2MIZl3Y2CisNOmaH8ulHPgADIL3HZMkVyO+uETRq1gzSnKZtOZHAvlMFLMxMUlIIHLosuprCK/Zi7sUy9vUTCnAxhpnjcBAlknMaxSnVCeRpTen34WECd42WMmKUiAevwySossRTlSdx6O+kuPw5jYFwU9DmlMkSOgcsaLokBdUToyXNbGh8c2n29R2lbI90dqDxRASLbssaD9M4U8I89QkegZn3kLeN9jOptjMpnA2RJtN+DKlUu4dec+mp7GUpYl+r7P2j4l4/VoucK7v/89rlw+j4sXzuPw4IDIAK3B9tZcAciqmmI+q4A9jxgNDo+OEYJBBNdlWcAPazx4sIf1pMLOfAJrC7Rti+iJ8VzIeZyh9OuqroGS1sxFg7IoYKKYI8DQ9/ADyVPfeJRliabrsFqtUNc1+qGHiQMqV8JEcvTLskBVl2jbBn3P0XVeKyc94rm+0DmL4A1K41SmGVNgiAP11+0HOOswdB1msxmx4/c9IhxC8FivVzSX1lEteXY+V6sVPTOoBrbgCHHTdSp/PXlYcEWBuixovX1E15GetDFiUlaICBiihykcSgcMbQMbAialA7g/rzebZwIwzmmqu7UOZT3B0fECnadsAIOIuirw9FOPUWuhzHATGUnbJGVi3Ll9Bx9dvwUfpbVaxGxa42svfQFh6OCsgY0RcBYH+we4/+AAQMfEYVwSFIHX3/wNnnn2M9jZnmP/8BCXzp+nDB2u0wsxKBgtZV4EdFCGWoiUORbVmUdmeAeE0OOtN1/HlatX8MhjDyMCGHxAwbWwRHjIoHHwKKsJXvrGt7E4OsLB3j0F7QNIZjjWlUFRTtrLQQFhASbTvAAGalKwfojCAL9RepXkJtgpDdxeLP1duV7yqG/mEG8C7VbsnBFAnxNssm0h/2VOo7MWYRjUMVeBmb3MpqMvkWsDKEQbhd3Za6aJlgiecMg3M6Oi2oliv5hRhDK3tknE5nan6mbmMZS3EghEwGnMbCxE4uwRHSLPnGei5XpY9apJ45dpkrEZUP164FZp9XSCsii5lKLH/Xu38C8/+B6a9ht45oXnYGwJH4FzFy7jP/39P+B73/0u3n7rDe37jizjJeYO2Eamn8yfgCTCxWIN80EomEpXSZ1yDU9WbtOMdT29rH43Js+KM9nfx3Znmhyru8cZO9bnuediDIyWg0Y9S1EDDume+dZUe0+fG+KU6CYgjNNk1/vkaOyJjIL/E68/wbENinRqFMxwCu8oSiDdtJOBVxQF1a6EQOiFwYmFk9Squk5OrTR+hthIxmp6mqQ7y+SpoIqE2iVmTNnwVklJ0uZkdl0kJssTk8vkHOLXhxipd2BVUc2j1tRywTQXaz/55JN46aWvYXv7DPxA9T8hBlgHOEuRZUGTPv74Y3z/+9/Hvbu3s9Rr2khlKb1BN63oDO8xJ3+nrGPip2btR4CoUytrIQiskU2ctYgZpbloRFNwOaNRDTFgfQgZ+pzQvXHkJ821pGdHTkMee2obtRqneBMjp4pbKxhlFobuUe2YsyHMRyhclKgsp4MqUVNMe1JN+/QcozWI0N9LypRE/+QsjWpzY6L9H6cX5+OKun81gqVo5ye/1KjzA0L0sIzommgwmUzw+c9/Hp572oYQUJYl9vf28Iffv5etM48oY1mMMWK9XmNra+uEINLjq3vg1JGNUD1y46UWi1kzua+rOlx8YRKSgeuBx1Ey2bt5XdQYUT6JCtIeS6k+EXLuY6oBzxz03LA4QWr1CcLYe484pD6rGO2RmBFUjcc3Ri6l/ZnTj9NxStEU3adqF2VncAQUQfeqGgYRIwZvcl0VAAD6iklEQVRPYFPJjNcun7+8TlYALanTcsYkQzPbrkHHRB+yRszUVMcVIzQFWeZu8B4+EMutlC3IWlhrqP7U5KUCqbZW5zr5vDRbAmowW3EIeR11YhktyxplVaMoKgAG3g84c2YbewcLrNolojEYhoHvlXRKZOr/vve4dfsO7t2/i9lsi+U7GQVPPf4kLl08Dz+0sM5hNp8QGh6Arlmhbxu4gpw8VxbkuDUNnIk48h1m0wpf/tIXYWBwdNDA8DNL71/qRW3RdT2cM5hOZ+hcp3K3qko0baMOYggeXReYJbjA0eER6rKGLWuUzApO9W1TFIVD0zRE5MRRWjAL82QyJSCCZdf21jaMIX6K+XyOvm/RDQOKqkLbtHCFRFYDuq5lTgT6qqsqsZx6Mhb7vgcisaTWVaUZRn3fo207OOtQViUily0VRYGqqrA4Psa0rABEqonue65VLTF4IoPa2p5gOq+xbjocHK3xwUc34fueABstKefIHkclIMRhfY+uDbh/7wEzEgNXr1yhtEeTAZN8aPLqyoiIwQe89Zt30Xa9gkdis5zZ3cWZ7SlKC5RlAWct2qbF4dEKv3r9bUqnl0h8iDg8OsQrv3oF/+7ffQeDL3G0WGE2nVB9eOaoidwQc1f2TsoukUBFyhAjpzOibdb49au/wsXLl1HZAs6UGPyA3rcwxsAHOhdVVcHYARcuXsK3/vKv8f3/+X9gtTxOoiuLmI50dSZ/N+WSUZsy01eEXKm9F7NsF83yYblCwCK4pU3UvWq4DR/MWDeHDDhLpoOQ34lQOalrEuiIkW49adacbuekn+UteYoIAPiR7aD4fj5fQErjzXrz5rfV8YZkYyvJomTCafYm9OcIJc3WV9A+uTKWXBdzne3IrkrOErIzIVOa28PJf5Pzw0CBKzCdzbFcrRAn1K6NYJOIw6MD/PCHP8C6a/DZz38eVVkiIKKqa/zdf/wPOH/hHH7xs39F0zVZxDy7H6uzwNmX0oUlxCHpZC3jkcgp92HWPST7hCYrZBkbAVnWgc5FCvik1j3IgJOTtnHS/EyAmllb4ZS9NGJCybs8pF/mUzG+k+G2UEh94NOxHZfsnWYfbZ6P0+z8P8XJ/dQ1tnEjt1o3WUYPXTiHsqDUp6IQ+nmKmkaN1KaI7eY1xw+BTU8rpaNpBIpragMLHz4whcvb7ID/BrG2TqyMHopR6D+Nzwv5jg9YrxtqfeQKZiCFbqHAQuCpp5/C1772NWzv7LBzYFG4UufFWgfnChTOYW9vD//yL/+Ce/fusUEnjLUc3ZUSiIxhFNkB0zx2cI0zAgw8p0xlxfDqnKb+YKO+uJJmxBcfbcCR48zObUxqOciBNYkdOJgIn8TexuImlDOvpR2GgQiOuh59P6hjJfVwfwzJGc0ND9LZAsgco397zxl9fiMYV5Ayfv6bSXWLUWdEUrij9keOGvwT5TJO54Cq3vQcGhnK0nFHEW5Nmx+fk8252Hw+dTCcy5xsg8cffxyXLl8mozOrP3zzzTfZwC05DTwx9eXzTMZwpb8Tg1LaD222yVKnKgcEhIUY+X7OI5vjuhQgqrEmEb0oNSR8drwfNtpF5QhnHH3FGEbvlw0knw2M5udIaOBasxH/0B8Rxgn1FuRUWi9JHXwa1ycjmUZbiDnrMsAta3fC5mAuk8Zsnrl8iWr8bKL4f1TJbPRdSFGJoPO2ea2IHBjI9isbQOk8YLSPZNxBxwFtrWK4Ps9a7m3rhQSJdA42zo+MxwDapin/ggAEUZjdhUTFUzTHGAZeJ1zL2WG1XCNGoO87LBZLTR0M3ieQZMMgggGqssRsMsPu9jaGtsHB/X3s3z/E66+/jTfffBd7Dxbo+4D5fIuiqgho1ys0qxXBBzGgbam2OHiPhx66hv39A0QETGdTFKVTueJDwGq1Apjo0BgHP0Qsjpeoqhrz+QxVRbqpqktMpxMUHImV1jFVVWK5XKLveu0XKQABpa6l2mdE6uFoQkTXD6jqCZwjnUfRI4eyrmCdQ4gRi+USy8UaQx+YgNKhawc0DdWlFmWJra05rl2j2mEiDCsRQ0DhHKqypJY99QTTyQSz2QzOOc78KlGVBEA7WzBwY9G2raaxL5cLDEOPrmspSgMP6wzKsmAdbHH+wi4uX76IRx65jGeffhSlAQphD4eBcVaJfSKn3fV9j/WqQdN0WC7XGAYiNnvu+c9kqeF5ic7YlTHG4O69e7h99/4JcDCEgHXTMdELp85GoK4nOHv2LNbrBrZ0QBTCwA69H/D6m2/gvd//AdPZNkWRByoDUEMU2fdTdKbIjATAjp0hEyNu37iJV3/5CjwMJvWUCL4QMfiewVUCd3xPQN+VKw/hO3/919ja3lEqmciEmaKD9ZyOAF+wvEw6Yix/mS08EmhkM2M36cy8rZfhiC2QhRW120dytKLqphzATvhz4nMIp9i5Sb7n3Q6gsn80oboa8YTNKmNV+RuEEFc0wdi5zWWhysHczhGnnr8LQ35kGS3R9txuG9f6Rt3/YhnmQSudvZzHIhJHTxhlKmX7LCtzjvkUZPW7SY+PwwKRCUTnsznatsO6bZH4nT2aZoWf/fSn+Pm//gxN09ICOupK8s1vfRv//m//DtvbO2obSzeJpNOo5jIy5YS0/2MlRs/tmPGYf2XdZtcFKXfhUom8+4bZ5L2RTifg2vd8DlPdrfhFso2Mnussb3zDKtdrZZaRbsM4todO0++yQCEYJfEjQDVkNfvj9o0n5cpYvm2emXw/fZrXp47YSmRukzNLhExuYEoUVDZniBE+pohEDvbJxfTwgdrPQJAGg3EPThFE0bNysPRj5gDIpCjBAiNoWpQeMzIfOXzC0ikolBCrsGHe9QPWzQp1NWGGsvFLogbXrl3DS1/7GnbPX2CURgRJRDQOIVAEG9HgwYMH+N4//zNu3bzF9T5pA5ZFgbIoOGCd1aQi6ZP83pIuLc5XQuKCzsNIYKgjmqJsJ+sXsqiZTK4Jungyz5bXW9cmJHRG1nIktAPY+EsbadxGiftAFonkRd6DvCn1KREyBSVkDS1gBnZIM2UUsyhvrjSUMCarO4yRSNGM5TR22fe5INBWhFHRPAi7pTq4HFlS8hz+G8YHN8qEZ2mMcq+gh533bExIaL43ohpN3AJGEWYRug5f+OKXECK18jKc5t82Ld59992MYj6lrMp6O1fg+PgIs9nsxH5JbIqGWxulgemc84QZNoZizI0NIGi9q6SaCkCDU4WjRPICEqFE8lHTtZToTkGesWFDnxGWVMnmSLpADFEpq5DnSpJHoaERMCGR7pMgBJ9H9urFaUlTakd1WpBeuzymENMq2yzFKJpx7EeMpjQnEv1lE4RRYAUYsrOU70u+eLaiBpHRZZJv8jk+ECaBO5ISYqR3pQEcaxMrtbAjuRap5CRaRD/A+ADrLHzw7FCR82gjpdqK3NcU18yZl2eROt7CFYCDGoxRwBIPLq0JSqZBPVytkld1bY+ubXD58iVMpwWitZjOJvDRw7oKnjeLNVDSJDEObKQZu3D+PJ7/zNO4sLuNw4MD3L/7AHt7+1i3LQ4e3MXycA/372zj0SefRF1NMPQtunbAetVgqnVj1E+5WfcwXCsJOBg4OEcHipxH4nq4dOkKPvzwAxhj0XUtvI84Pl5gPp8AAHzfYWs+Q+kslsslzp87h9VqheVyCe8jlosF96+d0T5lPT8Ej+VqDR882qZHDAHT6QTGGLQt1XoOPacig7g07t65S6ncziq7NbGHWgzM4CxG887WNkKIWBwek1Mt6ekmEDhclChdiTXW2tt43axRFCWscxjCwBkeHsZEuKJA23ZYLpYoywJwRA44m88wDB6rVQPPPB/ifHZNBwCYVg5Xr57HHz6+jqNFjwiLgY22wOCxydCuIQwwEZRGPgx47JFrOHduV50xK3VvCghnEsVYvPe736Prev6lkMrw92C4fMeTow8L60ocHxzgeLFCWW9j6DsMXY++bVFV1DLppz/9Ja5cuYKt2RQHR4c4v3uWgkYeyW7jPRvUcTSqjxIQlYByqHNpEeOAd37zBs7unsVzzz2PsqoQ4ZkMk8Gi6NH3HYwp4QqLhx55HE889Rn8+rXXTpIiGTmjcjujrLuS0ikyMrcHBEzT4JZ4FyFdGxawccOuBNixlpIhkB4LMREs8f8CO8x6/xHZFjInbSxTN+0QunWeGSf2FbSF4ImXzHkGlif9OGbaVYkqtgO4XZtGXTfkfX6NzD7K9bvuSe2EEpH9YZQyrbeKUYldR/Z6BmoalpNJL+mJyKS5/MOMQFZ5R2SiMzAQPJvOsW7WaNZrbslJNmvXtXj1Vy+jaVb41re/g+3ZNq++wQtf+DLOnr+E7333f+LmjY8ZbslT3jNG3wjqKJGBxTKPOW+K2ufZ/o6aQp7KbfTvGonNbCNpG7UBRp/2ilnxYpQMqTzKLnPIY9O1GHWxSBBW0AyVFDxC5qNJ8MYYp+fDxBxQ+nRMx5vv+2PBqE96fWrHVo0i5AtAr5Ch7kE2Zpa/H3Qjy8FKu9lI7r1cX6LzKjCN0miLs2FjuojRw53SINRhgzjNcbyYMoFskFl+v6d83eT48eeHYcByucCknij5xHhu6PkeeughfP3rX8fuuXOcBmbUEbHWwDqh7LZYLBb4wQ++h9///t2sryhNQOkcRZ1jQkvUuYkx9XAdIYBQBZDEb1YdmhZQP5dHNXJnnl52RMSUkkRO1rXR+liu5yXESXo15vWXitCEAD/4UTRLhKZQmzuuO9N52ZhvXcNMmUkNqKaAmKwVwCmoQORIaj6HEnUXlFEZ3qUXlwjb7HKG/x5DIDIWqVdmZ9I6ro5hg8By2rHN5j9F9cxonDEft6RGZuh1VJAmvT9EEs4CNPkQs7ZAlMJ39doVPPzoY+j7gcdKKW2/ffdt7O/v0ftNSEZ/GM/7arXGhQvnRzXRI4UVRTBgVEMZM8IPGEmRz9YEIJpcsJNhpJfeBpqjay8KXi2f0frmSiXdIWcYF+ZiMc6gRlNaieSwWo04j9cFLLtGrcd0HH5UOyVOFqXdRzW2YtbGSe/MgJ5z8iyWjfRM08jYo7SZlYjj6XIvnx+1bHJiiww4GDu3YwApm3SehpxQjc+LHSthul/Wvssw6Y60bLJmtIbGkNNlTaAetiGwYxsRPNV7Dn0P46wqWDuSKRtM7WJoWEk1JKIg8T8JJCTzJsRATLaMRGsmkNTRDh3arkE9qWEd80mw0RQzBskUcSI5MJ1NcebMGXjfYD6b4NwzT8E6i+XyGAf7B1it1vjde+/j3t4DuMkWjK0xDB4PHuxhe2cb02KiBmzX9uj7jnWXgytKYADOX7yE2XwLYQh4cP8+7ty5w33AKXW463oMfY/1GvBDD2ctVosFZrMZrDHo2hbbW1vY3tqCDxE7O2fQth0mdY3pfIrlcgkTqPVP07Ya2VmvW8ymM90pfvA4Xh5jUteYVSUKVyDaxGMhaeauKNAHyiqpJ7WSgk3qCfb39uEDObLcLh2uJNPFh4CqrDCZzqinsR9grMPA9aMheEynU1y8eAF3795F5Mi1kFjVdUXp3ZEiDRSppQ09nU4xn8/Rti2Ojo7Q9h0mdYVr1y5h9YcbCD314uTqKgj1h0SMJavpwd4+zm5v4ZlnnoZxUW2bnCBGbCqRNCEErFbrBHLKeYwRk3oC7yNWqzX279/BC88/j2gNbFni5VdfQ9N2mFcp2mCsRbREBnb3/n389F9/ib/7279EO/S49+ABLu3uIoJ6SlPdOo8nzxwCOVm5fhJTKyG8XIo0dPj1a6/i3PnzuHTpEopQom077XPuLOBDj8EDERSVf+q55/G73/8eR4d73JpEEid5cpn8yWZ6RPue85Asl7spaC86Pktr1jlPvnpyAjPSyKCGeybmPE2MN0m+hzQTmXzMSRTHsnQU+dbvQUkpN80VqavNHUxA2OtTJt5pDmz+Gslxk+y2HChHPrciu4RYKAtkAIkUVEW6doWxWl87bltkMkc8JqcN2Trx77RKU9aAdbKWC540BbKXpElbTSE3xmI2pXKI46NjzOdzkj+RiG3ffON1HBwc4cWXvoHzFy5y6YXDxSsP4W//43/C//v/9f/E3t4DhgM4IirlBzG3TExyZtNOyP7KkRYJgWSgFhgcy0yjUW10WteTduwnOoyZnxbFNzCbb4jK7jxyqtOfs3uPo+0jHyDz75xzBCR0HQrrMJ1M1N6xWYlo/lyngTH5edn8zL/1+hMc28CpLxxatzIAOyIyEfbaqKkF6YEl0hbFuOFT7BmF0GJ9LS6W3rO0QSyvTMiiXJ6NM8NsdrKxVNbEJC0k5WO8CWi7Ept7ct/AREqE4q5RcdP2uHHA5bnJqf0Gzl+8RPW4qrBSrQo4PattOrz26mt4993fwvs+CcJgUJacamekhjKP0uVHCAlR3GgDxCumMMLYVBy/NqOdKeSVfkcGYVAnKr+YFQc6o3WHITIuIy1mdA/RBwO3aDFZCngesZUvIT5AFq3VXACTan7EINXosU0kvur4ac/NqO2lNvuJkqBJaYoxRiYVi7KU6uBGMRrkHnxPE80IRRWnWBFZrsXWTAQxdzecoXx8Uev/+Hc2Z1FM66T1npqqYwhAiMkAof6MFi987rNwzqHrB4ruFICPA95889cIYUDBSieGyBFfAQ0cGbiTyejeMesZmdKz07PQ0gdVUjEXaNluorFT1NJqIfj4tanEFdxQAZ7Oe5pX2RBmdC+XIcey16wV7lMgcvQmGXk0NsN1hCFGOJvqY5LyyWrBTOT6E5uN2WqZgijHqL3moo45KuJriEHWbJyVKPJOrI90PmOalVPmUFKbBCwRY0NVYQpN/JGXEJzJetqY5kKyAOjnkPQCQobG01WMEw4E8bOTbJUEMmPIoSnLEsPg1ThKso/OVVEUaJuWQYgECI0i/VltmRHgBeLUJvADzD8srPDzrTnicQCMQxgiRcOKAo55GIxxVKPL+k+Maci+jFwDXBbwDZjZd0BZOkynU2xvbwEAnnzqCfzi5VdxcLxC4QoMAbh/7x4effRR7rNL1w/R42ixxGK1xuHiGHXhuF2eRVVN0aPD2bO7ODo8oH3NpUCTumJQmCZdCK9WywW3PyHG4X4Y4IeIdtUihIhlt8TB/gEmkwkuXjyPplljuV6haVtMphM45zD4AVVdYWu+hRADSmsA79F1tHeLqkLwHr6NlO7sChwvV8zWSxF8YywGP+Dg8ABVVVHtLrEh6d5aLBaYlLVGjEIIWBysAGNQlSW6vocpDGxR4ODoGEVZI4aAra1tBB8wm80w+DZ1fLCO+wRTVwbq2duhKBxmsyn6xYBgAq5duYiu7XDr7iGOVh2XFhD7qWHB47kXqmR9XLpyGWfPn4MfBja8xeHCiX0IA1w4t4sHe3vAkIjXZO9aa+GsRdc1WK4WBKoYg5u37+DDj66j6yKqoYX3HawBppMatnB8TiPeeecdPP/803jskcu4f+c2eh943/gxaSbv11QFJgRINEZrSPalLDcR+AHHh/t4+Rf/ir/663+PyWSCSe3RczqyPEfXdVT7aCx2dy/gKy++hJ/88HsY+iZBi5HdWYn2Cu+BpCwpk3vSuSqDGaAe8SAwh0aQlOcNaSYLYHPdraAwB0EkujUCAPntKUFQnb3cntBxKCKwYYeI6uQLGLFxRk4KMq/ldPm8OR/jrBtkYHPmevE9BXhJY0/3DYHa8YhtGpGCCABShJzdWPH3jTFUTptS3vgaG+5UlhGUbpx9zgjAglGtaQ6sR2YvFwde1q8qSyBELBdLTKdTmIIdTR9w/aMPcfvWPVTVDIUttGwLcaA63WxNk6efTxxS1pPNHyhflCRvDfsIeQJBupo5sbT/VsTypOM3doqtPXmN5IwGBY2irEtmWykA9AntiiKnlEvQwhgCJKuK+mVbTbd3WvdOu8OdmpEwWsv/q1mRC3G2Qm4opRtuGptkfPmMcCbC+ywNOTMIkzO5+YBZNDFDpowRIwJ66MPgVVhEZbRL0bUc8MqfIOZoE/81csH3EDyaRqivCz3YSfiTM3H+/Hl87Wt/jmsPPwLP/RBjIKIOm/WMEvai1157Da+++qqmgEYmW7LWMgshR/diPF1uaS1wLgg3BOfIsJW5On29eHDyF1XOaqhn9VOSYiL7UeccCQkUYqTIrM6pr1uK6lgmowjZNfP+kjIm+ZwSBmSgBg83E2DJ4zcmMWorMZM6HTKWMFIq1lpETV/PxstrGLME35wYRvYRImAl7R1cy8f952S2rTGwtlBHN0ZmaWWwaPwyKcc5S+kUhzn6cEIAiCAJooQ4ch4zlHV3dxdPP/sMur5jxyCirEp89NFHuH7jejapiTZe7i8G5c7OzgiEEOWZ1itHmOUEUzQgxLFQHD/xBgj1CZBMrrjzrYBMEI83ST6nUkZlELIohBgoIT9/nHocTcpUkHp0bBgs+V4ZKVwYBG+ytjdRyXR0TPyj9NQdAVRcvxJjRBiRqUCzXaIqm4wASw0Tewrymc6V/jsbTsIFT1c8abUSo6M4schqheyohCQHF4NG5o32LTQjpQqQ8h/6nuuJA8DGt5DMeU+ys3DUe9k5StEFGoDZRqmHroBSqZLQgKLFqXYsZucIKitMJl/nW1vY29tnx9qgLktMqholO5/WOTbuxvLBcBkPRQnJ0ehDhOU5CCGisAQKF4XFtWvX8Ohjj+F//8fvYv9ggeiJ+Xe9brB1ZotKQlgJHi9XiQzESP9dqn+1zqIoS9R1BWMiBt/BOIPSRZw7dw7nL+zi6PAQ21tz7Qt87+5dWAQM3RphGBCCQV0Q628/9CynI+7dvUNgS0lkTDFEJgaibVDVFRFETadMeEfzMPhB6/MpZRqYb22haVrsbG1hcXyEuq7RHHc8J8B8PuNMFHpmIQITuLAfhtFx11ozH5lEqsVkMtUoiTEGbdvC2rwGDFyjW1B2ANffu6KCDz2qwsAWJaxxePjqJdhiguPff0hZApKlw0MoyxKFKRRwrGc17t67i+1phaosYYxB71ttcaU198w2/eyzT+Nff/YzWuIoacp09WEY4IPHfD7H0089xQCHwWu/fgNdT22uhqFHP3RwxlIfYkPcAMZE9N7jl798Bdce+o84e+481usG9c48y6TJM2AyohnW+6IftU+2RAEh8pIIjG7fuI7fvvkW/uyrX0VRlOiHHjFEtENLZ9M5sjaso2f+zHPYu38Hb77+apYzk0BcI/wVmT2TyniY7JEd2eSIZJ0AMhFnDbV60UfmEiHN4hFjXMmApArLKNlWOGFD8fu4+0bwfqQjP+k1tiOSbLeWnABrrQSL9fmT5zPWs5vXO+3fGfaaqx6SdZYyIqWdoGgBg2TrEZN8QAyJAJX2C7Pjx+TURu5dDuavBuLYkc90jTxYjCa10hF9pion9XBPm+GUeRTnlt8jmZwV9/5er1aoJ1OUFcnFGAYMwxred9SJNYuORng4iWpmgHCaOLG0MzBmw75JKpN3bGB3kvWRNWaDxyt7sNF1Po2Tl8A/nY0Y1O9KkXYDwI2cVMlIHPlzIx9sbEPLS7LPClfy+SGQNx+3MaTPrUS79Syf3K+bTu0JcObfeH36iK2XonA2iKLRKBgVlnsV7FHgrGgRYpY2yVGTRBpnFMWWWk6Jmgjab7INIwuTmmVTVI9a6ZDQtZYnVertMoELdsEAccwMLBfwJ+OUhLIPAyk+41AVpSL2tqCUFwlEnj+/i69/4xt45LFHYZwj+vLIUTkmMKKDbNG2HV771Wt49ZWX4YeBUi5iOuyC5AbDaRJm7MzLAhtJhbCJdQ15iqc+a/oedV9uojZWD0KMEvWQ2tus/U6kFEuDk+mWeXqIOPMy65IKqJE87lpklK03pQ+nfrXZasWUtpYiKIJ0cx9jdZRJEUQDjYqKYx1ypj4dX7q2ONnWUmaA7lEbRuAcZQRYqo1gx10dUBFAHMEiins/IsihOoc0v4a0sTrdEoFXUASO6pQjWDlIitkGEizGeLbGm9FMUVIvfPZzxIjaE5lHYBT7zTfewNAPTFjjEXzIBBOhbVQvZxjo8emZR3sqc3zyVk2a5cDOj03pRacJLXWWeb3G8m/MtjI2DozWsaUTIGsuIAf3bxSAg/ea94LpDOSUcUsJcHq94Si+4dUI2bkzIlfkeTRLwChbfK7wxMmTlKM0D+NMlwQcpIgNJ5ur6o0RCuYpCh6RfR8TiYhCU7ZFGDogdmPOTomO585fQn3H6xA5wmx0XJaMFSPAYRYJAIF1nvEAayQSG+F9QNd5qil1BfzQw3tgGCKnOZNuKMoS/TCwDClS1EBqtK1FDJFa0ISAgeVEDLSOPnpYQ7JXBiVYoMmenwikKnR9i6ooUU9mmE6JSdiFiIHrEK0xCGJkB4pMGg7nrJsWIQCuqBCGHkXpWE8FGFMiBGBvfx+7587hm9/8c/zv/8f3qAsAAharY1zALutOAtuWy4b3hWMDzGKIHm3bcWYBzbmxAefO7GDwA7bmczz33HNomgbGGYRhwLVrD2N7ewt7D/bw4P59BO/xyMOPoOs73L59B0fHh1gsF1yHbLBcDIghYHl0jLqu4YqK7tutUZQFbGswm05QVAVW6xWGbiAW9X6AcxbeD5Rq7gfWAxarZo1ogAd7e3CuQNutMRiDvu+YqyPw9RqEGFHOJvC9x6pZo206zLbmgAEKSzLaDz2WR0coqwreOdZhBlVVIMaI2WxKLZKEGbqewA89LCLmO1uYzic4d24X9+7dQ9cPOLu7iwd7B3BlicPlGmXh0Hsr5o6e2hAChtixbQF8/NENtKsVPvP045jVFawxaLsBvu+RWB0ijAl46MpV7O7ucuQ9qlOQWPUHBptLNH2AcXPcvnkbH1+/Cx+IeG0I5CAU3N92EOczelgY3LxxE6+++jpe/OqX0A8ebdfDOTBlkOZh0ZmWjMlcREc5/+CzHLPWYSBgJUa89dabuHDlCh5++BoK6+AxcAbboARL1hKrclE4fOWlr+Pg4ADXP3qf78lggXB1BPFt2A7NfBCJu1DGDXTu1ISWCGPm6ARgpH9ErmnX0lyvWJNsjwgGkEUC08vq8xMQJOSTycYSEh0py9EELMrsyVWcAWzhMqfcCD6n0f4N6QsxKY1mnsSNd7EdbcaOwgiEUw2dwFKZPxMtZwlJvaYAhrQHzEY5Ejcoy64j2oFuEvLnErdhlLlkRjJYUtJHyiMNODm5G2RA+nkDcmadxWq1gg8ek0nN9skAGM/OVhStCGMsHnv8Sdy7dx9HR4fkmBk5AzERhmpZWrY+/KCbNjyk3C0ZpaPSP1lnBRUskeQm0NpBt1qMiJHOVdSewOOwsTHZGsSMsEymaYOzZuwA53vypGMdDelfzcDMtlsCdYzuS7XF+PnyjjR/zHn9UyK3f1ofW1CPQmmlIxGnGJKRGSGHMKjxLk6J+qOjawqJwtipzR5HUX+o8IEaatphx6RUNsNMY/JerbGwBgg5ei9SwiuKJIxjXdejLCvUZQWwwxYiYU/E4mZw5swuvvGNb+DxJx6HdQWj0hZlWbLT4xSJDSHgN2+9hVdefplqwsTJ5/qKwjlNTzxpUwr8KNPAqFfGuqvpC1oyx6jqKftkJMQUHRIHT/rrQo3uEFJUVdZY005jqpkbRX94IDGQURlioGB/4HoCf7Iv6iaLrhAVbO713Ji2TmoU0hzEGFTACrIv4sKycxVMBszIIRaBLUQRZhyZNVyLmgDS5EyOlkjQTokwM0gTBDXTheQWUbnTNhIEGw/ODkoeTd78m0TO/ZDafKiDiICt+Q4++8JniaSFIyfTyRwP7j/AH37/e03pI1Qyc2yZZfD4+Ajz+TydrSx9PMaxIBu1qcpIotJR3qw7yh5HSaEy5DcTgBo1zd7PE5jta4z7t7LQjVpbnQNaUvNi9Sqy9wFoVoUOPgMM0hyl9U8altqAhDgAsMx0brg3cNAxJsEeRhvKZGMbE5MkRTp2YHNlBl2TjY2iW13fq56cooE5YHyqUjF6PjbWQefGiLvPd5Z9mNiaJRoKdggh6cOQpZeSBKc1mcZYzGZUU0mMt1af01pHaaQ6b9nqywJJ7T/LtShyLhKxnYISIecToL1XVRV2d8/yBBqUVQVXFNje3sLqwUIjGRFCbjiuHzLWYn//AA8ePMCZ+QwAsG7WqKuKSJM4i6TrO8BauLLUHrKD9zg6OmJnQOp9I5q2R9O0SY/yfO7v78P3HS5fvoz51hx9v8LgqYxgsV7jjbfeojS7CHzuC1/A7Ox5HB4dYuvsOewdHGJ//wDTgwP82Z99EU88/Rk0zQL7hw9wfLjArZu3EMJ9FD1Fhdu2Iz5+H2Cco/lzJN8s94ifTCewzqFdLPkcEIN513VE9sSELrL49aRGs+gBE1DVDl3foa4mWDUNE9cB29vbOD44xKUrl7FarND7AdYabM2naJsWk2qH5oHTisG9kKuqwtmzZ9H3rWYAtF2H/f0DPHT1Mna251itV4gx4uFHHsWFi5dx684dzLZ2cPXaEzhcHODDmzcwDMQ0DViK1DFYF7l8g0qNLI6PFigtZbvYOEPBsiUneTMmoC4d97nN5KJJToxRdnug7QbcvHELl65cw6/f+A3aZqCyEQM4rls2sCirGnEYED3Vp1d1hWeeegzWWty9ex+XLuziaLGPGHtcPH9OQSVppWYtZyKJqyR6aBQsjJlsYcPdObTtGq+9+itcuHQREyYbDNGiH6R0jFoweWbSn0wm+Ku/+Vv80z/+f3Dn1q0kV9Rh4X62Qeox8+iPcFkg8U+Y9OHk6CYinbE8S44XEIkvI2TgsQLKIu8dOzksr2L2cbGPTUYGmI1LbJJci+V2zaYTJDnOCZ5NzzeOamVOjGYfbtb7pvGMAcDcuc2Ff3qzsdQjOtfZ2l3DGq0VNuwcRo38jp9RI4SSTj5WRvpdnH9VZpk+T29CQiJVN+ZOvUmAJesc5xxmsxlWqxVC8JjPZsTQHFJPcx1vBPb29jCZTHF0dMyZqCbr0T6CmNWuMRlfRh65173EQY7A7zNZv/V8DSXjj4IpUtJDOjSMdr6uMDY3d257UevTRPoWc8KrEcCT7BpsXDH3BSB7WauiTu7hEbiebT5576Zzuwk2/amvT+3YSk2ts9T4XYgsIwhNc5I2GmiZrVBf5oauo+L+DIjR2gw5O+IwS9QPMYJ7yEOiVDFmtCiyARTp4JomIwqBo3mIqVchI4FGai+516L3HgEGTdfAOUukINYgBqMpQ5Frm6bTbXzlK1/FE088RfVSIcIzBbqzDsFHRGeYSGLA22+/jR//+EdYLY/htPYvMoulVRTKFFkz6wzREUEYWYBwrJ/SPDJERF4J+YlyfpRAQQ5rUpaZQwi6t9WWJicL9lUoW8OGYLb5tb0HgwcOKd3KS10YRWrzaN1mSx8Zpxx0aecxEg5AaumEqBkBaZ1yVuGoKeZmdDDZ4B64PjcCHlFrrYwThSW9xeTwJeCAHGShepci/cjGZxLGhcvp4BNlvcmUVx6ZFkDE2HSOskrmRB4hTpyksWb1FFHLAmidnn32Oeyc3cW66xAAdMOAqQFefvllMros1LHdVPwhRPT9gOl0ykao14gEdDZztFAIrKIq/5O14CkTQ2XNqYKMnaFohAuT91kYKyHdh8j2gsgV7j8n+zXkqKo8gZeREzsuz11OdmQ2nkXvkyO1oNQ/WR4BbMYtIGSsXpWhXC9wbVmUC+fnS9Z2lLa8OWc5CJjmISGl8gxiHFltKi97ctQvkJ1152zWX3wjrUzWQSI8bEBaMUIjRT0EVA7S8EjJXDj7QvaDMdqrVvqSSk/mrmvYzqGzMPhB5YXOR2SyKM4M8iL/RX/E1DheST8kZSpS7SBienZyKCOPw2Noeqq/NcDumTO4++CQjBOA2ZFFJPBp5QyM1bLBgwd7mFcl+maFtmnh51NMpzXW7QomWjjnsL+3B1eUmE2mWC4HbvuzRmTnnnLXAoa+wWq1UjktztCt27ewNZ0gBKrhXa0G+D5ive7R9al3dVFUeP1Xb+H6hVvo+ob2vKca5gf7R/jRT36OL335qwjBAqYCihLXHn8cW2fP4YP3P0JYN0DhtK3N2e0deE8py+Lg2sKiqioyZFndOeewWq1weHiIq1evwtpCo3jGGFy4cAHllctYrheoSocrly/h+vVbcAURw3R9j2a5hAVQOYdQl7BdxHxrTrI2BMzmc5R1hf3DY/QDkUat1msM/QBbkH71A2XVDJ1HXRd46qmncbw4gilK3Lh1C//bf/vvmM1mOF4sYWyJcjrBY08+DusmG8AOGfHWWXJoWF6FQPp2tWrwYP8YVVHgzHzGxJVRyoYBRDz8yFWcv3gevj9FBLL8cZyxERCwvbuDm7fv4qOPb2rZiEQkDQy6fg3vp3C2YLb5iKeffQpf/OLncfPmTfzilV/h3//1XwO2wHq5QFnX8H2fGd+6zTZ0jtGyG4oAmRGpZYwRYSBZeufWLbz5+q/xla++iLKu0XWBM2GSfuq6jsAmHzGdzPDiS9/Aa7/6Ja5//BGbElmLFyrXVPtPNTnLSRsj57zk4LDYRyGfTHY+ovpNMscSJY2Io2eSVFNWINoaSEBYtbpEt8CMolQKwKvBm/Dqkd4zScxqUMHE1Fc2y/jJPyMbQLWQdKgQN3oDrExAbA4mp/GKw6JTLDPLadIhnoy25YGA/Bl17ji1Xpks0v+SM6f3i4nln4HCnFICG+3q5HOILpubzLZgHWg44r41n2O5XOHo6AhbO1uAiRhC4BIW1ieIODg4GN8ipjZSwVgY44kJQshUAQRpM5qNIQ8U8DHiWnax7Tm4JWfPRGZTtmxnOmbt5vZo6tCnWvKYZQ2MX2K7SB/35ITrKTmlrlV0pclAkXGgawyQpHC5+GaBM3qz1oMMwMbs3rkNeFqw4/+SiK3WVqrZljkNhlJLEA1Hc8E1icKqmurvDEfKIqcVGcuodtZbEEGcI55kGxVDyY1CQYeCbHrDfaKsgeYZZgujjbZj4B5ihiN4wACPgICm7RAjUNdU+OwHz7UpIOTZG8xmM7z41a/h+eefhxNn3VDaD5gNtywSocqNGzfwox/9CIvj4xTlEBIIZzWlDjalcyhSt4FsiBGqPyOLnG4atyOZN67zkGiI/sf0v4Q6c18+ZUZOBf9qzIuw4jnHSJiBjciYUphM2jPDQCmwwpicG/0SuU3j3Og3mSkYacWkqSwjAZlNQ54Gwp6MyRrYExCSMVPn983ncjS2iOgju3ApVUgeWCNRum83hXCKDCIXEDpey44B1yVk2Qya3JQrlGyvBx+UgU7mN4SIup7gc5//M/S9R9tRal/hCiyXS7z33ntqNCmmNHK2DDGDT0p43yMEmzl7SE6szt9Y0SX2yHzc8tT0+819IGhtuqbNFFra/9gk3jImW8vkOKvCze4tIE/MJbfo33wvaAuzjf2UEy4ldGfj8yLbkiEHpEgtcwvxHBh1otQG2wC0U5TccTp7mv+NnZ/2jDhXqoDSOikwhoxF/MRnE2iuoGU2lhMkLZm8URmhIKYQlCRdoppFyFeMUfki4J61FmEYsmh8QAgURY0+6BgkKq61xYHgCmGdHGexZCQymTNvYOGjVyBCI/cx4uj4CM5aTMsaRUnRVANKcy5RiDdM2SIsc4xjI5PldFVVNB5rsbW9jRBSBoumoPoBse0xndQwWAAxYr1ao20aVNsl1YfzU5w5c0bXKnJ65xNPPArDunfdNMQJASorsrbQFFwDj9Y3uHfnHoZALMfWGEzqCVbrDut1jz+8fxM721t47InHcO/eXUxmNcrCoayncP2Arh8oQrdca/sb37UoywKh6WFsiXXXwVqL7e1tTeufzWY0F544OYqiwNmzZ7WG/87dO9qX98aNu3C2wHw2w+HhMeqyRNu0mNYT9G2LoaGa1TB4rNuOotvMTGydhQ3Up7IoCyKnGjy6rkHfD3DGoa5qmGjwy1++gnW7QllP4JnwsT9awNoCPhi0yzV+8/bv8N57H8HZSgsHhDSSyMMMQmR5xR5K3w/48IOPUcKgsiUmk4rnn/ZlXZZ4+skn4axlgzadCxEvyvVgDabzKWZbM/zqlTfQtoOYyyOwjlLVF5jNz1Dde+EQI/Df//G72N/bQ0TEpYuX8aXPf4YIAY3JOj9YvUYY2X/k4EQj/aLl/IztC9FJIXj87p13cPXqQ3jooYdQlCVCCOi7juyEQLZAy+zahStx+co1vPiSxf7+Ho6PjyGSW6NOzmq6cQIfx4LSGsrMEmA3ybVETBrGfu7IflBC4BMRKMNFQZFtmpRBp3fJSqh00Go6iROsudynGO2GA0TM0SDtGTIdlZR+cqjHkdlUJDO6ripAIdpMTrziA0bWUyK+J/kPDDPG546/k24e6rizzE/4gvbcTSXOGTib6zmdn+QYi37I7R0k7SXwAYMaSKV6ammkf8vczGczNE3Ddbc13CapaDaDssXqugY8iKBOe+hm5WhItbbqfOY6EcSRoiPWNbFMoCdgBEFYMUD3LYSjAnG0HjJAY07aAmPbOc29ruu/4TSKXyaDz8EHtZOVITrbnwzAFM5qS6ER0JC1Ct10bEcBrD/x9Sf0sWUBJ0ZnkMgUpelJb0dhuYrR09L4oL1Bk4PGLSy4fi3ve0sPKymwyQpVASOpakw4Yq2FizbbMIbr5RKUQPhVJmDE2zJB26KYaNB2RElfVzUjjkxfz60DjDcoJzW+9JWX8PRnnkc3BMRuQESEK0s4B65rcbBFAT9E3LxxE9/73vewv/+A+i3GSGltNsI4g2g8Zb5ap0RTEZKiG1TY5ossCJ+mxmQqLXJhv5K6xISwSl1binYLmRGlyUJ7s0UEEPERl86os2BdquPAJorC4wkxaB1I4PSRyH3xCISwKjzEAcwd2lEK6ynOraCWatZlgnrzpcaeDjilrGgvssiMmDEyqs3gg82YF5ntWNhOkQkFTd+VfSVIq3GJtElTt1NWgirSnOxHk6uSwzpGjY0ythpINDy1ikK0ejbz9A5YgzPnzuP4eI3j4xvwEVg3ZNTduP4hVqsl1xd7WGPhczAF1A9uvW4oDTPbm2O5E3SfqMSIcaSHrabtSCsBScU+KcTkvKs5FT2tF6fJI4qhx0aOkptglIK8uU9PQwYj7ysLp+fNZMo1qkEwJgWSiJ9RbCcRXqUSinFUOO/DLNc6jaE7ZvMotVvGJTZnDyHV0ORdVWoiZ8cRpVyOJBZx+vegHAU8YSeVDeh9MSQDN3fYlRzTcqRWSuMst3xzDNgIazzB5lmvYaD3FOlyurkst25hGeEonVtYfMVBMcYqMcWZM7u4e+s2y0JqixTZCfRDSEBGLh8AeB/hW6k7jxiGgL73nJJP81WWJQwoijzd3YW1BrvlLlxpcP7cGdw/aMjB8QHecrYJorJFRM5GiqZEdBVWyxVKO8DEiH4ImM6m6IcGzhlYF+EKh93dM7h+8x4Ai6YfsFitMd/a5nNF612UU7T9gFldANFiaD36bqAepxE43D9Shz9GykSBsZhMagABfdsDA9D1HQEBMaC3FDbs+xZds0azXuLOnTuYz7fRtGvUdQHrgOAH9F1LdcSW2jAZ7kYVhghnClRFgePmGE2zxLndXQQfMalKODjYQPaBs5bJtCwO9g/hhwFxCFg3LY7aDn3fY3trC+fO76IwBYbek94sCiyOjzH0PVxRomlb7O3to6wqBtUD+r5FjAbDEOBcCRstmnWnoFE3dFqPGiIwBINutcZsNkEYAv7w+z9gZ3cXR8slPCyOlmvsHyxgTaG2iQH1Z48+bwXCXBKM+i3Xa9zbP8DWfAv1ZEqEmrBw0eDhq1dwbvcMYvBcSkMZAkYqeIxEkUBlTjA4Pl7hww8/QjRUJhUtOYnOUiqVrRwsAszQoXQFfASO9g9wcP8AEQ4+Dvjly7/C448+iksXL2G19piWLgN6QzI4OP0RNqjusczyQ6ZW0sEiUyQvY7E4xM9+9hP8zb/7W5w9cxYGDmEI6PsGrpQsMtEHlOl2/vJDeP6FL+CXP/8pc5+I8M/A40AM1MZaRE8gQTBU1xljFD6uzDaQDKPIetRRWRiXmYmikog1/TPoZ0/qkEz+eZGdMbPHUl9Q9XcMNNKpve1DAu9E7/uYLDvAZ4z1m10UjHLaiu1ILMKJmGgzgpdaTYk9QW+Qdp0yQ+P0ag4vaQprTJ4eZ7MNTFjnjNTiggmSTGavZQ6g2DPWaJYPQuKr1tafikiyhSS97QOIUDELQhhGLJLaS4aKZL0lM4Wc+9lsgn7osTg+xny+haq0ydHmVnQJEDU4f/4innriSfzrT3+KgcuMRm6b2Jay07KML312m8+d2G9iqtOnrSEfKnV2MUB0iUyOHR1jJKKbCuKj/m1sC6XHsNwFJCdNTLbnCafSSLW0H/8659GSO3B03/D+kiMonNUKfOTXOSXyvwkqfdrXn+TYipFNvcKggxj7NulvowhHlmJptJWLTTn5EsnNPgcJ04/avYjRRW0YoLUg8cTE5K+cWCWIs6DojSGFHqO2MfGeyXPUyaDUqeeeew6PPPIIumHA0Dfw/QBXFJjyvatqwumkFjdvfoTvfvefcPPWDfpd1g6EorUp7C9GsTiFMhenGfvynJQmIfOns6PGjqbYZGmYJ3w/iYzZfBGh7XhsNk8ieGKG2MSQaihi5FpEk+pvxMkOgcg5ZPyB85uKotD1132wkQ5x4ruAlqO9Y0eHcfO7/Cy1w5JyqWiVEmchxwdZUMSkvJFAGnDKaLqXoLkpYplEXdSUE30IdZ6M7mvDrLshRDXUQ7ZsetCzE6Y1EpE+23tKNclriK2zuHfvHv63//bfqN+f0LMbixCo5ZRzBkbSkPV+NL9t22omxviVamfT2tGIE3HY5mnMQQtkjth4n+dv3Yy65u9Tg0GiVSMWYPl8Jos2nVxxDrU9DTRtShUGkw7ZE9kDUBIwmYN8H6aUI5ONSZxZVcWj8W2mOOsaZuMWllndnwocmizCGJkALp9bk107EwgSqR7VSefR4VRHlNcGyr6TfodOIq06txJ9CnCyXzit36ghBZV9AJVXRGuZ9RtomkZBGurvucJqteKMjwDvA7a2tiidsaz03A1+YAbytJkNsyvne0CMKQsq/wCfYWtDIpbTHtsO0+kMy+UxIiLKqkJVVzh/4Rxu3n5AbWksSc2iIOJAqfOHgijAb377Dn5fFjg+3MekLlFYi8lkgstXLmE2n2JnPkMRAWcsqqrU0px+GLBYrnApN6wBGFugriYwNiB01PP1ww8/woXz53H1yhUUZYW2aRRAZN43DN7DWmJF73tyZAf+Tk48GX1D38PZkpz9rsN6vcIwFOj6NZwBdnZ2MISIs2fPqJ3gB49h8PCBskim0ynW6xVWyxW25nMUroCPHl3oNYrUdR1Ms0bhCqxXa2IldhTlvXvnLkIAFsdreB/Rdh3tibjSiKxzDkVRYOfMGdR1DWO8Eq10TJBUFoVyJYhc2dreRtt26P0AEx3Kskbft+j7HnVd4fz5szDW4WB/D7036ANQWAMPals4IKrTFFUuxWQvxVQ7t3+4j4vnz2M3k1F1XeGpp56As8DAvVhNUhNMbGa03ZE4eL9/7/dYr5sUZUNAVVrsTmrE4BU0cgXgSoNmGDLuBAL7102Ln/38l/i//d3fIHiPoRlQFgZ1VWYyNrLsiyO5NBYpJw1TcvLIJtzfv49XXv4FvvXt76CuKnSuRFUTU3fbtlgNDba2pAa6RFE6PPf8C9i7fxe/e/e3TKD2x19qy0jNPQyipY4cEhU07KjE5GoxUSAD8Wwnnm5UG5WbmzJdCadUnotsDfp+HzxnvUh2UlSypHzu9G5GQNKNrhdG5H327MjltOi+LP1z9Fm2MWNenZlllEXxxJH9Iv0/wa4x3ZP1eGCmem2Dp0BCspuy2B79L0ThF1SjwOR/588nFu4sa82MgstcpsdOsCbJjArCZSKSHWsItNze2sZyucRQlpjPtqCx4BFfg8Ht27dx8GBPQQiZ1wza4fVE4hjK0wOSX02fjXnWYX6GyO8IMSaiMskOFJdf+U0kmps+K6S8p9lgVAIVEMLpttXo3RopzN11mY3NvZK9NuzX3CfExrOe5redCEx9ytendmy9Z0dUqM4xdrxc5rhKUF4NfIjDw02H2eAyGyiGphpkdU1yDMC1Wf0woOt66lXYNmiaBlvzbWxvb51uvErBPmK2Fma08fq+Q+Q2DMid6Cz9sCgKfO5zn8OfffFLmM63AFPCl14NBTJinKLi+/v7+OEP/wU3bnxMzhTXllomPHJu7KzpS8mJMlbV9Cc92IajOCmqB3B1KG2mOCh6Y0zQEyMHATHrwaooltEoJlvj2u8xRTyhxrT0NZYLRySHXOs6gwjzlI7e9z2GgYxEMf7yuRhFGjdeJvEPI3p+Pmd1z+Rf8omk0FKWQV7CzjeH19oDWiNjU4q3Rms3+3dldb3gnp7yisEToCMpQXq6s0MtwkwifjGk6CAToFmxWpjsRqN7BioqxCHxnpR4vmZGIpnRA7HFhYuXcXR0xOmJPE7Q3owmqLNOBjPd6+joUKM7kkKbI+FjwWM0xYuezVMNiEljSQ+/qchPQ+k+4ayo0ZVqbq0mJ2QgwikyUe4T2Kgw6jimeuS0zvQ/ab+ggljOCN/DSAkn1+9EcY5h1ElLznbMUu8T6zEg6XFjBRKlZ7c6/II6Z2lkvAfHjrLO1MjxzucvAWvpd6fNM01cAUSvTJj6twiOdmcKUIx8D93gOSlJ5DZX3qQWagQAMeLvLKXlhkjsvcYgDF4jtuC03ZJTG621GHwP40DsuUViWE/AqSfnW8lw2MRlPgBrJEPFwgQDFMkxJSc1oKoq3L2zQlkU2D13BmVZ4plnnsGv33iHowiZIStOLcD127R/jo8HrCOl3x63Ui98hPsHB7h48QIunNvFI1evwLgCBQzKusCq7zF0HRaLY6pZAvVrDSFg6AfcvnEbs0mB7a05qqLE1cuXMZ3OYIxB39GYfOjR9QFFWSAioh86WGtQlZR2S+OP6JoOzjg4YzCbzFDbCjBAE1oUpYN1BmVVAKaAcxa97xE8ZRLU9QRFQUzI1lD7oq35FH0YMJtMAEQ07ZrmPgTYiupvh65H8AGLxQLOWlSsUwHSGRcvXsTh0RGMc5zmbVBUFZVdIKKezjCEgXrXeoN2aGG4W0NZlByxJUfXOilLMtyxoOe/Ab7r0Q0eZeEw9AOcsdiazVDWFZ579mn0PmLVtLh9+x4Oj44RrcVi1WKQ6KGeP8lkY0ZT/m+xWlHv364h+WOBhx66jPPnzgHBK/kXMscrl7PGUTu3g8MF3n//Q42KRsa4Hrp6Gd/5xjfRNAsUBfUJBjxu3LqJj27doZYmzqCPgWr2YsDv//Ah3nnnPXz+C5/B8dECFj2mZYFJXcG5ivSapG9lJG8+cndKTUe0CMZvjJqNGg98+P7vsbW9jRdf+jqqqoZvehSFYxA0ousaABWTqE1RT6b48298E/uH+7h/9z7bhyGjEqYssuCjMsKamNf4jWUs2IYKonq03CWVs23qn7FxHU/ovBFIJjIxhJTdJtKc9WU0JqWWxlQbkQP6JmJEjJVkeWDCJccAXUBWUZwFzcVpPemISBprZIDEmDSXNKZcn2QjkG/52yOtOTjDgPSfx+A9AhyVBiLpKCM6IIL3nkStKVLsuURM2wfntlZWtgZufQcngTST2bgynzIfRnNvoyjp0TiSU2oLh9nWHMvlEna1wrSecomgyaLhFsEPWIUh+RbsgApwAbVHCIySnzc1q5ybyHw1YlsbCB+NdBQYOFIUNEts/GLbVIkxx2B+HgjKP0M2iD1hF+jJDVmpFX8mdV3YfH8q45LfhRBHEbUc45DgWWQ5FAIUyMzPw8l7/duvT08eJRGJzCKPIaBgJluJAImjBE55BfczlL8FZpzdZDXNnVtkBzwnmzHMoFcWJTmQiFivV2Q4I3AN7abQSWkXMaToAx0qQoi9HzCtJ8mx28g5L4oCn/3s5/CVr3wF5aTW0HpVlRqVCoFQcgB48OAB/vmf/xkffvABnE3OPThy5vJ6Yn4l4wcjw1T/LojVKex1Gh3MWJIlvXh0n+ySqR407UmZa3HgwMczXSOREOhINwkIsvXMIx1gh1V+LstCeyMr4vlH8uplDASMBHW46XAO2SSP51OeloDulC4ifVZj4APMwh6jZ031rOKxqDMxcray+ZCagTzDIDs/pEvyqN8p5AcjcMak/bAR1U5zHFViDN5Dwur5XhECHmOA6aTC0aEHAvV+JHIbAT+IzMxyimfgMoPAfRNzQWMkrVEMCm09FNmYkzTklCokAt5kdZmnRQjHa596oW4KOqNOigADfFqEffeU/ZDklCyrGDdhzKKc6XMlb8j2qKr87Hoy9N6ziWts6qCjz5OBV+zI5s8twFPuNMsz5dHTTcNq8xk3dhQ71kJeFbL7jN+/WeOu62I50mpt6hEoZ4kzDWwGkimY41JpgaxIDmbJmUlnvFBjUwwhIswhWRyDV2fWGMstgTr6WwyYTCaZoyyPGJW5XfdkiCo7A0Km24LqAZtlPdDcAVVVcQaDQdd1WCyWWLU95vM59g73M3mwAUyGQWIpcFx+sjXbRumAdr2maG8fcHD7HprDJZpFg63tLTzx5BOYz7dxvDqADQGL4wWGnoBBSsemZ9k9ew5bswnu3LqOq1cv4qFr19BzVNMPHtYZzGdbaNuGgyRkAFFP3g59R9cKnrJr2oZIFLvmACYaTKdT7O/t4aGHH8F8PuO9XsIzu7phTgYA6LpWjVNirgeGoUdZFpq5ozWVRYF+COg91RyX1mA6maJ0Dm1L0bzAoGNV1Wgaam/U9R2iJfAAgcgF+6GnaDFnCJngiR3Y0NjqqkJRlCgsjWMYBj3PzjlmpCYymd2zZ+AMO4Y1UE/IYW/7Abtnz+DszhzHyyUWywZvv/M+ICn6XFcYmQQm5LKc5cb9Bw9w+colRANUVYGnn34qnQMYGOO1vEF1qpYaURusd3/3HtbrJuki1lpndraxf/AA587vwAAonEFpLZ564mFceegqfvyT19T+Mp7soj4M+MUvXsEjj1zFzvYWEFqY0GfAN3jn8slX5C/JfnUSMs6L5KMHzuAC3v7Nm7h06SqefOJJRHj42AGw8CaQDc97yPuAorCY75zBU09/Bnv39ynKlAH6Cu4aChZ4H9SxSOCAQcHp3D6X/RmBZi7rRA6diLCdIl8/CWw9EViR1j6W0miFUCxuOMNKwHWCVEeuaROKqiVRoKBGTPafGBv0czzxjFFtwGS0mQ2bHNznm5IdI6eJy6dTBorROeP8vkjP4INnmDLbI9kVIBHeQGUqEYmFWrH/TI0l+8Kke7s0VoONmh9k8zG6ULZOGNvA4P7K29vbaBdrtG2Dsq6pdVMeceYfxU4uXIHLVy7h9u3bxDfEzqrYPYFT+o0ZD4X8WNZVTjqupL1lTXJYnTigXPKQP0xkO04DL9k8pLRzmY8UjBE7bBT5VwBHMhyzSRu9Z7RVMptY3oMMtNcdp8EplSlZBq9zZSp3/f+jzvZPcmzBgomcqKiCiyGHLBrBfU81KSIqq50KbpvSSsaIGBM9GN1CfG0ACCjrinr1AZhMaly9eoWdlMwANLrrEhmKtGZBSmPue49hCJhMploXtvmyZYVnnn0Wf/blr2Iy20I/UJqWsYT2W8cpl7ZAiMDh3h5+8P3v43fvvsOsb+LgUE2tpMJuOqkjdELHTk6AjzJvMbE5S62xOKGb6Y42ORqb4oouz4zGSI5Fej/jTaO055TSIWlxQYrz06jpKwZlbAWrFlHGYKfbuQJFYfWkq7ucOS5inNoREBBhHSNcnqNbQm6lz08EFOC0eI28C5FSlDRfInyQ1HpjrbJke3ZrLYMlEtFTdJCfVdLBxbRQnzcHEXKBzIzXI0MninEfT3dYZDMIezWnv0XP88UpcREBve95DaOCFZukTB999BGMMSjLUo1MiVIGFjImDExuY7A4WmA2m6uSBKiVBfVCtVmNado/Y0HIDpHh1KAgWRkJ2R87tOL0SBqtz9JpzImoqjD72gx5lHWQaKvKFm3rFVhNGQW0EBO7+ugsGYM4eETnsudKxGhyLTALYkSEY/ZCqq+ySS5a3SmqcHPHPO0VPvsQhu7MGVab6TSHVs5zmp/873mdltxPFM0YBEtOX0qRp7NmmbRLxprOZzKxRVlbQjg4uyPNregTo7KN/uqsSV00DT3L+ngJ4ynzwxqgXTcInpzPfujh/YC6qhCZGdkaSmOWKFNk9vl87QAh+bGpb6JEBNgRHgYPBHpu4nywKAqH1SLg0qVL2Dl7FoPvUU8cjpcrbO3UGD5eIsYKwRoOsefzT2SFkWu6L12+iMcfvoZZVWJ1fIQH+/fpuYJH2w3Yu3sft2/dwd7eIXre+2EIaI4btOse9dmaHQaSn03ncf78HPvHR7h09RImzF7uhwAfPIx1VJPmgaom5zzEiOAjyrrClYcexkcffABjHc6eO4fgPbp+QOEoO8pyn/F+aGERmYnaoi5rAr98RFVNUJYO63UHZ4DppEZERNe3RPDUD6imEyXl6vsO3gf4ENF3HSZ1DRuBZr2C295G5wf0XBZkrcekrhCix+ADpTF3RIBlYyAmZhsR/QALi6oo0Xd0Lh2ox68DrYvxA3amNZYNg61cy+pcxPbWFGXhgBgwqWs+mHT9uq7gnMVitcKkLrC9fRFN2+PGxzexd7hGsEVGGpXKMFLGA1kFR6s1bty6Be8Drl17COfPnU3pjlwz6IPUJVquh0uZOUeHh7jx8U1K6zdJKxlEnDu3yzWpzEbuLFxh4WyF3gQcHByjKKfcx9wTgVME7jx4gJ/+/Ff4m3//HUxK6nRRVgXpGuaZiIE7MVjARnEiU5EBjcWNQjPGkb4wgcqShq7Da7/6JS5dvohJXaFdNRg6qgn3wTNZIpOPxgplWeIzn/sz3LhxHR9/9MFIvRJ7edQ+5BJREqZzw2fZcyzdcrhWOYUcxPtk2+VkCVR+fpPsNwp0meRdjZwCIlhkQlDRNtIb3UYGv1O9pzE8Nm27SPtuZGPxWELMWlya/G/iCNGzRgQhRiY9uNl5IQNvtaWT9l0PsC7TF5mTI+RP45Z+CdgxXH5CqdasPzZ6lkJSi4UEMlBKcODssWzYOfow0ue0rGaU3DiCFTNwSH2vLPKe4zNGuFQsOa6z2RRN0+B4cYjZbBvOFdo/Xvxhdk8QoseZs+fRDx537tzS+8SYKlIV8FHDJA1YyplsTlSYWZZC4mpH2QbS5UHeL3o9B+fF7hnfMn+pvXTCYU0lkmztZjObgcbCHWRO9n5G5liHfODMXq53yn+f7anTnuXTvD49K7L2LJWRyAELzLyYIk8SGZBBjvxFRZI2EYTskIU4clKg7+Voj5XKWzEYuZuTSRs5CCFMDETmkKjeAAB916HrA6bTeuRQITtDrijw3PPP46tf/Sq2trapZ6LUcPDDWuNQFg4BFkPf45e//CXe/d27ySlkg9k5aetzOo31achfYrvj54rp/SKJR4a8onpJiYqhJ4aECrUYM2GRUnFGCGOeGpOjmBtOG5QR0jNZRkwtftjaDVn0DkiREAE7gg/UCmRjI5+M4MV8GbOIXZaWLY6OzcCVHFmMuVAb78VNpSbfvSof+h4QTyC6woBILNIpdVgN5gxxh3GpubwhRQRpC7CJVClRFp+5EDXqmcAhi74fNLVH5laioplfPYqSUnsNz1+GUEaue4xce7RcLnH54mWeX8tKO+j1JP01b+GUvyQimfoUiyOdOU9aApCekxzb1L5F1gvqFGZzlDuy/NyeCSROE4iyL03MhWeqN8r3fH4OUl1svkZmNEbH4Ii1pQDbtOeRUnUCM9fKvXJG8JSlAiJnsdn8SAkBEpCTzsFmtsmmMy//VuhK32UxXjM1Sk1imTea6ZCi7ifOp4HmjyUDKhmd+Vrn5FrIGDdDhijHQFkIwhQc+YwMw6C9LAuOyDlnmZG+AJiV2DgBzixC1sEqGaBChrfBPA+TQDCQ8epcatd0cHiAxWqF3d1dOOewt3cIF8lOHmKAkfYLecRbshUynXbhwnlMS4edrQkuXT6Ltm1R1TWWyxXuPdjD3Xv3ce/eTRT1DMbNtWZ3vW5w9tw2gk9A86ppyCGKAa4oAO/hrIMtHaazGQpn4cMAGMts/5EYgrkVUj90GLzHhPuwwxiUZQUwaZYrHM6cOUM1uBaYTqbEZts0mNYz9P2gEzyZTNCuG6qrbVdUCx1oXLLXi6KAcwWxEluLWBSIIWCIAceLY6zbFlVVIwJoe4rIo41ADGi7DmVZoqpLBB9QWouyqmBMYB1EeiEWQNu26PoOVVFqdouzBpMz2xi6Dn0InEnGZzdEOOYTMIH68paFg7Gkw010mJQF+hjgLHD+/C7O7Gzh6HiNyO17tJ8sd00YMYYbg34Y8PHH1zGd1HjmmacJ8GbAL3D6dIJ709EyBtiaz/Hhhx+iaRqVJ/K/Mzs7CEOPGAv0A7WImk632cF1+OCD99E0HbbqLcCQUxuCV932zu9+h0cfexQvPPs4isIiGup04QfPxIkEOIltQhE3HoQ4iXyo9YyJjLWp/+r9+3fx1htv4MWvfY2i4KZFURr4jgAl6wKKQEzJxlrUdY2/+Mu/wU9/9AO8//572rM5xoxgaFOEGepfSufeJTAydySBlCoZxSHNgcLc+DYbl7f6jHlWUQIo5SKJIDH/LGxIhFzI+6SPPPfRc0XlhxmPRUHMMHbGUxQ29ToNmc4cW1apTjZ3lfK5sOIhjZ4lA+DVgTSwTGRJgEikvtZSD0ozTXpF+12JvSSbPaYWbLJeihs4drWEVAxjvReRFlo5TMAOenLKxsZkzOaOdPhkOgVag+VyiclkiqJkVvIMjJUAwm9+81aaBZl/cQ7FPs/vl97B5yXV4dO2CtomkYIqyTu13FFEIrdplTejnJ8E0uQ/y3Nno1L7F9nfTtrjot9HfsfGS3Sr92QzOmdGe1zWId3rpH+EUXvFf/v1Jzu2Jub7JUV6cgRk85UTE2mEN7+2/GAB66HpOyFZhfrOuJGOgJh6GVLdKdHZ6wE3RmsyhQCo6zp0XY/JZJrYRpXanjaXcw6PPfoYvvLlL6Oua3YaxFklApKqrNmRMGiaDi+//Eu88cYbVDxvDEeWAkco3YmF3wy358ZVSoujGllxYlQoKCteQtdyw1ZdmxiJxVAOtZJFAbnqjCZm48qFtIxt4Fz805xNMvg9PNW6aHoBp1UwQuoMz0NWR63PhZQqflq7nxgzZ0oIoLRgnje+J8fISkpMFhWVl/epLno039l+gtTgjpEa2YFUo+PzNNxsJ0vzOe2zmubC5o5+DNxCgesxje5SViCpvjnNNAk2a5KTDD7wIQT0TctIL04w10UYzOfbuPbQw/jdu79DjAOAboQwQ/qaatWWwWK5QFml2nPJODDqledO6clXUvxgooL8fQmXzYEEVSya2pg7j9DP0DyVGvkVkCNyfVLBgM4m4zCdRRqHE8ITQ86P+Fp5zac4397niCQDEUPKh8jJx5ySvOiqZio2bmQhjDMV5PuI9zJzetUvOiVt+5PQzpP3SazciWyEZckmQUzk6KOhnqSngXP8xlMV1CZm55kx2eg9M+s8a1JoTOQaTUdM3cHDGkdt1WDR/P9o+682S5LrShRcJtz9iBCpRWkBrQkCBRBkN8nuZqv7MP1L5858M3PvNzMtABKERrEAoiAKKJlVlVWpIiPiKHc3MQ9bmPmJBIl6mMMPzMrIOOe4m5ttsfbaa293LCgTYb0DjEGII1zjiaKaE3y2e4l9EfRRkASkhq5ngVtlhFqQU9nD1locHR8RVX8ccO/ePbLv1uDo+BDOG+RokIzVKnjW8WQVI8YYPHp8gj4ELBcdZn6GtlnAOYembbDb7nDpyjFu3bqJd+68j3sfP4JFgDHUU3p+fo5b+XqpaiBjO2wRUiDxIWtgbYeGVZi/9LUvIWeDjz++hzt37tBM16aBMUDTNogx4tH9+1gI0Juor3U+nwMcDKecsTg8wND32O52ODqaI8UM7xKapkMaCZSIQ0QIA4ZxxMf37uHgcAljHRWwrQVGqrCbDOQYYQHEMVBPLYPSi+USMA4hUItT13VIKWE39Dg4WOJgRpXUS5eOsNmuYRKda5Mj5vM5Pr73ALtdwHJ5DOOol7ntWqRhgDcOKQWcr86wWMxxZXEZp+fn6HdbZopltLLnAo0xmnczDGFAZpmoo6MjnK/O4QyNNbp0dICzszX6YLEZdnxGbSWOpkOu9DWGgOduPI0bN6/DsMAUwIraIfK+k35A8k1t4/HMM0/jl798DaJ0IqPUyJ86HB1dQsoj7t17gNXqHH/21a8AhmKU1177JYZhIFp8CojC8DGGxjUNI37845/h9o2buHblEGG3g7ekPm1yYrVyoj2m6pwnJFIlZmZGyjym0VjYJLGZ1fnvQMJvX/8Vrl+7jhdffgHeOozjAO9HxER9s9SfHuCDg7XA4eEhvvHKK3j04COcnZ1R+MqCQ6UgXsUu4AqcTg7YV3mvbJacoklCcBHEJFvm+LNE0E4+J+n7ys8o/k0JiAk8SimVEY/yPlGzl2BJk40quTMlTsn1v8u1CvOH5bpCLvcmDEp19cz1FS0KIx5RE8qsfcDiwyQGs9X61Du6Tqhkji+YhQNY6uGv1Yt1/cs+J9q0VbChVAxtAfdrHFWTan5vVcFWyJaBhWzKtBBTsZqm4IX0w5cr7Lo5rA0EJKFD01ILXdLtQWCb4XU1CobW4lni4kp7jTC1kv67+BjHBQh+kpkBbgDJMuuHzxMjYaUqL1Ru49jHaYRf7WVgsoi67y/OpM+TFOzJ7XN7RV4Fm+qXMRksi6EtXzm7J4vR7T/bJxa4/uXXJ1BFzorEPClBg1awSoBqlPZQ5M8LRXb62dDAMFeoFCYGRh+w5VEtueQSZbMkFc+x9iKSMAwj+n7EbE79MkaeZ3U91lo8+9xz+OY3v4m2aTGMIwBGv630OBBNyFmHYRjx2mv/hJ/+9CcY+l1VJaKHIb07kzExe4njfvANMMN2j+KZTRlTMwUIJODk98BAZnnX91bz1wV5mia1RpWMp8gP9H4mBozvM8YiL19XoHQdQBQbaaaXraQzPWEKjVJEwU0RYJls6sJfeYJhkn5UTO6RDJagqWU+n1bcVHwh6/cTdcdOAJ3MRrs+3Op05BCmVLC5XD1D1IlzvT+JylIGvdeVK3l+hkckGaV5Z5mxicwq3pHXP+t5lP2HBIRdjzvvvcfP7QmJqKqwG64uWWy3W1w6vlL+3ZSzWO9lmV+X95Ke+rmViqHV9eB3T/ZmoU7Xzt9ohU42fjkz9UGInCC5ye/sJ2KZe0blpykWpH16zaLwnHDBrua6+innvahd4gJ6Or3UIk6XJ0BLbcRzBYygOluTxzapvqfJGa3PoHx/zVQQW1FX3xWYikkVRq1SIeVa44UWhwJwls8vqvdQGp4m1MyqkUTP1MIhem9ibul6gqEZ2cMwYAwBrWuIEutIiX4YBn0eJekTk1N6lif7oqLiy5iEcvSYoZNE3Zbee+3aNWx3W/imwUcffYQbN27AnTos5nOsNoU54awrAF89FgzAtu/x4NEjHMw6zDtamxgjxk1EilTFXCzm+OynPoWnb27wm9++iTFnxAysN2vEGDlopCvt+x22fY+QIs7Oz9F1DWyi7mHrHMYx4NLly7jz/vtabTKs9q3gm/zdGlVKbpsGyCTgtVmvsd3t4JzD6ekpzs9WaJoGi8US3jcI44imbWAtYBsHYyz6fkDbtvBNA2ctArfzxBAwn8245zdjseiw2+6w2WzQzuYIjPDvdls0nt7beKowzxcLqkgah8bPMA47AMBiscRut0XbNIghw7mM69cuo3Ee6/NTXLp+RRlM4zhy0pHgncVIDgnOWhxePkLrG2y3W/b1Gb51cN7h/GyNru0wzmg8oHcOLz3/HPUKR4u377yP83WPkERoszp+nDgnbntYLg+oaj1skUJAPwyIIaAfYgU8yXszbt68gWtXr2gLCf1DlayJiNpI1R6jIz0s3nzzDzh5dIqcZ6QtkgJXULz6Z+SMRyeP8Ytfvo5/81ffRr/d4c3fv45LR0d4+aUX4bsOKQZKYq0ksYUdBRRVYjF3hoU/jaX2GXCrzLDb4bWf/wzXrl/FYjGHTR4x9YiRBAyds3wvIzMPLK5eu4U//+Z38A/f+x8YRpnAYDSZkG81KCqylLWRR46I2s9PQGsu1y6jZyZVN1EEhMZX8r5p3Fp6OUWYrsStPLJpopSNqqVGYp3C+Mo6DqhoqNTg7lTgqWKcVCw/oSQX22x0/9Ugfu2bJOctCfPUvmdOogprEpxoX/Sd+vwljqv6POUKAaMFMnlyqNpWiH5rNNnPwMXrruy4pvaT66jBiur3+Wf7QLDsgiS6NSBdBecc1us1UnaYzWflEyf3UyrLzz7zDJxzeOedd3ju8fQyJlV11gDIVd+0qilHSZo5VpCEFhlwjr8v6SOVnKnOKUqSiwm7VuPvnKskePr6lxPKJ+WD8tztJJ6RZ1c+rsQ0+6BT/eg+SUIrr0/QY1uConIzHNTxzyRQKvNIeSatkQZpRypu/EyyXrCo6hkkIz1DZSCwVCzlm5EtIy/1jDW5vqmKV6nqZYQwot/1aOczFXrKmh0XcaznnnsO3/r2t3Dz1k1EODSpCDPRrVlkQ4juMAx44w9v4Mc/+SGGfgODqFRo5EzVhj3V3wuldhBKe0HorDZC4IAMRK/Z3wIssQL9RdWJJeQH1fmr6Z3yQ7NXsTU6MkgSzmk1SOlVTiY0gsmWSTdp2ayigg1u9i8IZFYp/DqJB/dccC+DJMIZbLg5GQQjZVKJdZbbHAssYrP0Q5Q+IOYCUKO+JXEfuQ5Yow5R++1YWbre54Sy8h6XfZgNTERxnJavw5bERw6SOBiaMljYEGr0IHRjFrxIQEhBKaBErxIzxjNYrUp7ILNQjp4bB4Q0AkOgSpgrfUJdS4yEKIkMo6z0jAHnXaHOMurqjC/HztDZzpl7f1GSwFI5Z2BKR+rQtdZGbf980FLRHZESJm9QHjFlYTVYqPeSJk1P/ExTADjuMYcKOBTwqaDzFw2uoNG6hyfGP02+r5ypiw5UWiioWgLkZCeOZvK73IeDPE1aTcU+0Ge9lxQXbJADnUrURfqoHX+JJs22BBgZWZVOTTVzNlWtDyJGl0QJEixmkTKylZ7hsr8l2FXbUyW70GoGBcIGBiZFeGZ7cOQB62VNLbbrHQ4ODmgOqstwtKB8NlhXkOOBWmnTyrlL0kPvqoC2XIf3nsdikRjSbNagH7ZYzDvcuHGNehgdJV4pkbiRhUVjqQpGaxGJasv72huLt956FzeuXIWBQxO5rzqSXWu8R9s0GIYRl45u4v6D+/j44TlCtDhfr7AbB8zaRgPaFCJ26w1MBrqmQeuprzjGCAQghYTGOYy7HbrGwyRiXmQ2rrQ+JPpirQAOCTkGONZl2KzWRBxxQL8LTJ32WG/OVBiwszOkHOE9gWpxoL7XrqFq85gyWmsR04iIAHjqkQxhhHENuvkhFosZPvjwfTx16zY1BaeMrmmYEm8x9iN2Q48UI695wJgDVlv6+3Ixx+WjI9jG4ejoCIBBN7NYzDocHx1zRSrBOYvdbgd3RrY8jAFXrl5FiAE3btzEcrnE+WqF1XqFa9evo+s6vP76b3Dy6DEOFkt03QxHR8fYXtnhmWefwof37uNs/Ri7PiHFNBErMqpDwmPDssXJ6Tm6bo73/vAHpDig9R4xBay3I3Lkvn4+wt5bvPzyC7CORnVkOcua32Z4a3DtyjV8+NEdXLt6Fe7GDaRssOkTfvn6HxAz2e0h9ggixOlcYerwUfzd736Pl196Cc8+ew1f/NKXYGLAMGzRdY7YLZno2s55nRlbg+reGp53y/3tlmMtl7gfluz1w/sP8A/f/Xv8zd/9B7S+xXyesNmuVL3aWYswErvIuQa+sXjx05/FW2+/ibfe/ANs9tWQHbomgDU4mPlEYQpTSGOhDyNnrvZG9VeuqkSSbbcV0E4ztaXqVZJNiX2EJVWz6QqobRyQDI/Ty5LMQNei9h3TynGxV+VPBts1Jktqq+mXTKlUVjNQSyJveSZ7EXzVCRjlGyffLWKQGYnsJi+aJG1Zk680+YSkhQ3wCCqrqvpkn6kLWvaObMLE8YQxDsbS/SWIcFPx9QpfFsHuCXCp3Ke05xOLlOgk5tC7tiysaQCwcv9iscBuu8ZZOMdyueRJMYbPBHUNSa7w8OFj3Lx5A43vEMNYaagUCraAqRBgA1OmmAQ90rak4lIC8AvbggGNpPzUKgbLWQuGRkGD/Vhk+vpjFdKLMUye7BP5kQBD9T4uoIUpBYg/8tL3qV16QqvBv/D6ZHNs+QIL4lDdyR5iUyorfPiVWpk1Gd4PClMSZVroWI26QioBUzaZy5lZr6N+BvsVDjBtZLPZYNbNqRenuvYSGAO3bt/GX3znO7h+4zoJHqXI/TeMqCQP64gqEELEm2++ie9973tYr1dkzLMYrUwD56u+wskD40WqMZLMaL6ZnK4K0Zhcr2z0khCVzWZ0OHYtLIUnbOSCI+2jf7JBpZfyCXNiq/5Ia+zk3jL3uNX34Fh8pBbLIal/TIyUyQZNQ8FKjeQJMioosYyQyonUpkX8KQuth9fA8OxKcXSo0FwxrvvJAqTXWJKqqmqoz0ycOapnpu+b9ibXn61VST4jxhh4R1VDaKIIGE9GzSdV1KdPrueSSiJujdK8630t60CKsfS+GAsNEwAL8Owlbznh9PSMe8sLHU7+u/rNyZ4y1sBxkivVb+jqlV0nfz4RpdNrgNoDU/UGCSgQTd5LRI2uJzA1wn/0ezJVgKwzkxnc+6/6DE7vvqzJk6qm+5+xf391BbyuvD7pupVmnktlu75XqTqKLVNmQjWeQyuXmlSyszRFyRtl2avvZvvDLQwXK8LT+4EhFVIZXaAApHwesxrUpvMH7J+ZDAJWfNeWZpEsyuqkoNig1WBGxq21bYNx6Gnciil9UfIS0beMAhBlvQmurtRNudUzTCliNp9Tb6hzmHUz7Poes9kcTdPQvVlXv4sEeozRURnSTn96doaHj0+AwwW8o3OaYkIYByyXM67KWozDgFu3buLewzMYAMOux3a7Q+cbBlHp/mnmb6QKgy2KvP04YLvtsVjM0bUdwLbV8rxg3b+RZot7TwGbs6SQ7q3XADzliJgTsgOWywWaxmM2o/nB4xiwWCxgncW23yDEQM9C+mgdtaOMwwDfOBagMlgultitdzCGBYusweXLl2CdQdt4so3GoB+o57K1M1w6JvGuYRj4uwcg73B4eEhUWZBK9od379J8+gwMQ0CIBsvDA9y+dRuLeYftdgf/4AGOQsD9ex/j9jPP4MGD+zi+fAldN8Om38E3LdbrDR4+PME4BJyenuPx4zW+/OUvYz5fwPkWfj7Hn33rO+ijwXr7OgKAfhyx3m4QIosiOcfBPYnCPTo5wQcffIiDwwOksIE1FmNvsHPCvikKw7du3sCN69ew2Zyr7U5Zd66evdOzM026+l2P5eIQb779Dh4+ekxjYkCxi4FB4x2PVBINDvq87XaDH/zgh/iv//Xf4cqlBU4f3sPRwbwqXjg9G5REmokYjLB+qiOlgNLU5gEffvABfvP66/j6N76BmSWQj+jSBTCD9H4moqW/8u2/xKMHD7E6X3FCxHGmjFHUUSIVYA4qsqQYJ2P5JjZbTyzHIxT66Y34yoZr7J0iUo4XbHEZw1SLe6ZpzKfML45L6ri1sr21TZTryxOtC/EdUkhgQG+SZBq+nlSoyFU8V5u6kjdVcyEkQa90TOSXjRHmXyq02T3jaa2pWj6mbByVGRZ7LP4wF/acAN3iS3J9tVphLlMi9sJoyEkpsbGpImCjYqM1plD7DWtJsd/ZJdb9FpvNhiZFyH43AonQlfSbDd57+x0lqGtxo15nYRZWQDytB/n2mMbyMHAxRiifI9cofc17dWr92srfqiiV7IHpnpsmsdXD/hcSUrUJwAVWwH7stP9d01hCPkhW7QkiuP/C6xP02Jrqz7raVg5iXZl0jgMTQVEsX54GOGVESY00lbI1VY+speoTUCPtRRynhCQl8cmpup4MxDBit+vR+g6+8YQAV70Y8rpx4wa++coruHL9GhKI8haFb58dkAyPm6Dk+s6d9/H3//A9nJ6d8BiaCMcIjDWWnYZBSoE3h51UQCVBSDIbiiXVtV9A14Tvu3ZguRx+QYhQy+Br0G3VcU2SW6GzGulBNIp6AeWAWhGCqcbTAOTYYiRBiZSSKpjKJq0P3kWaNY8VSgVF0nhYFe6E0sRAAReRohpl7m+t+3RzBk8M2Dsgdcu+5UDQTGikkpyWNSd0SZQPRRAqczWb3mmL7gQMI5JU+bDyPKp+Srkey+N0kK3SvqF0SVl/lAqiCl7wtVVzMgEghaD9xVKtLjpU1C/+9a9/HT//+c+r5zIVGpI4vAAaGf1uh8ODY4qeuLezbkWQNROxn1pYqT5XZi+Bm/YHFRtglM61lwLLXufEHtVayB0Xg1/y7ifRkPeTS8IXihAbfeFF2rE6/oK/FBEK+dETRoUVgz15smynosROmmCCz1qqZuaaur+22tdTun/5XBlBVioK6rrLM+ZXkuWt2iT0WYGqTFrtRZn9mDjgSYFnNTtTxhpZo/9O7zF1PEK/UgcP2sZV2fBcnPMQAsYUMYwjzRYNVCkEgO22VxGjEJO2fEhPKI3XoL0bK2q/SZYr0RkxJ0S2qU4rF8SAqcM9a0U3IGEcaDyOMw7r8w2atsXVS9exXC5g8ZBqN8ZgGEey7646Kwaw3iOnjH4c8MHdu2jMTTgLzLoWjaPkeex7esZNA2czDhZLNN5jjBlhHLE+W+P44IhQfhaiWW3W2G22LLIoKpsJDx8+wt0PP8aXv/wlpJRxfnqG+XxGAkHIyJGpn45ARaSEtvFo2pZtFlV/vfM4Oz3BOA5wzmG+aDGbdciZ5vsiZ2w2Wx5/13DfK+AdSLxqTFh0HRaLGWAi1ts1Qg5Y78jOeudIfdRkdLMGu2HHiRMQYoDzDtkA290GYxzRDyMlizxfeLM+g/ctrAOM9xjXA9brDfqRhO0WswU+/Ogebt68Aes8LICmaXF6tsGDhw/QtB5jBF546dM4OjrC22+/jc1qh/V6g4PDI9y+9TTOTtdYLA7w+PQcdz/6GIDBMA64fOMGVtuABw/P0C3mMCMwBqBp5jBmREwDrl29ikePHiPGgJgTtrsev33jD3j+1g0cdJ4qOwZoPTWk0ZhTg9Z7fPYzn2UmgoxSE0NUYoKUgMen55jNWoxDwMOHj3BwcIxf/OJXCEFAwjJWxSWaITyYoOJ/FEAlPHr8AP/8q9/i2698Fc18ibabE0hEimVkPwIrSttiQ5PQfSUu4wTVJKHkVpVJjgN+88t/xtNPP4Obt27DmhEhbAmsiBneehgL7HYDmsah61pcvXYDX/vmt/CD7/0vHpTNc0058ZIqoYKjfPAtK07XsfrUXpM3zhXVuC7g1H689leaPNdJG1tYARxLkkmiXHSBaervKrtNsVH1nrwPeNaAYpkkoNe312JHMVUZlSigft5LQqetINynDBK7shnISXqMiw0v61gDlbwCTI+3UnioBSa1FaYeb0QxUc4lWTZcdRfRpJwNz0GvkuFKtUMFQquYWZO12mdmw88is+p/LvHA3vIZS5TkoTdYWou+32FzvsNi2cE7Bv5YvE7+W2MPI4Ucz7oBqHKospApG2Q5pxyXGwOEPbC8Bpb37y9JHJ/39m8lDGZq+pTGX7L+032e8zR+r2OjJxUMEq+j1VhvP/7Ik/fvJ/Z1Uiv7Aftb+V95faKKrbUW4xgvzD3aDxYlgdWfV5x9qbYIGlLfoAZ8GrRKZbAkGJNFrRIS+QxZQg36U8Jut4N1Hk3bVN/FQRB/z+3bt/Htb/8Fnnr2WaJPRUp+m8bTmAR4/i6iuD189BD/+I/fx8P795VGK+JA1hrqW9G+zhoMqCm6TG3O1fzTDACRe5/2n0ABBFLONPbI1JXMspZa7a5Uk40RB1Q2sSRf9RaHhrFQXXxCmAuaJusvAbY8s6IoWA6VrUYP1f2yhVIhRtpoUhVjZDCket7V7184BHs4qGWah9A9jO5TST7KW6y1pa8ks3qinaJWOv9S5sNaU99mOQeSBEjVV2dnFmPhQIktpzHsPGr/xidjj5Zaf59zBIBoMMLgSJF+NyrEk1LC7373O4zjOFEpv3D+qsxjtxvQdTNNqBVL2ZvRN9maewltZqEr7VdWI79/1p+s5Cf7R/eRKGCrUyifY3Stp5T5+hnur6UEJrL/jexFfRayTy8qPdef/SQUdYp2YrI/6+py3RZgRD0cqM6o/PxiT/Q+uqnVCdkBGnCUAK+gstXerhLfcr0T3UcFh8p9o5wzqTTIWa/PhKxrHUjK52nfTeVIUdo45FvHMPK4GrLXIsY3DAOsMZRk2Zkm9d57qnJOrgKld56vJbN6e5r0fpUNZ0wZ3zTZZ9bBNw0e3H+AS5cuYbk8QAap73rvOVjje0mpaicpvVSExpOi53y+wBgibOMQY2JQ1GtA0bYzzGcLWDeiazz10YaA3Zb6SokOR0H5bjtgHJM+I1mrfreD9w0MDBbzObyIwHEiH1NAjESzJuXfrArMIQRWGDdYLg+wmC/glgfYbDZYLObIKWG32WLoefQOHCnd9nR989kMMEA/9Njutui6GcYQsN2u4DvPDJ0GISUslwc4X60RQQkWjflx6LoOQz+gZxs2DIM+O2NpD+x2W+Q4atVlvVphtxvhvcfZ2RlVX/MGvnF48OABPv74Hg4WS6SUeGZ3hHMWP/z4Pq5euYaXP/Uy3nrrXQSxm6bB6vw93LnzIVNlidJprcXp6Tl2IeHhyRt479338fDxGiMremeOCVLKODk5ofFGsQCm77zzLvqzM3zqhWewmJPK8zgG3bkWGU/fvolrVy4Tha+yLcrCMEbB66bxAI9jOj4+xrvv3sHJySlgLFfwS7UtxACfqE9YzzYyvvjFL+Iv/uJbODl5gD+8+SZefuF5ON/COY847mh2PMTnJ5hEQZBlRLVWSIGI3UxqSDzrnKms2+0WP/nRj/Af/8t/JQVuRzOarSHQoNWRIQHOW3hYfOYzn8PHH7yPN974be06J0mVJJwTpXn5YvH/IGR3Ek+b2gbXRrd8uNjAid248KrZiRWKCaP+UZlf1UjDi19afEad4Eqcc9FnWl7ji7oN+qvc0gMzefek2g6U6xb7l0VDBaIHsjfCZ+/69/1jDXKLm50A/8YWAFziSkPK717WSlkAexNVJss2LZhNn2FdzqXP1HnTpuic1O/NmdoZfUP7zzmD3o5Yna+oDcZ5LXlIbFEST1KW/8pXvoJ3330P9+7dr9aiPHPVu5DQWwsPF8VOTa3bUt2es1TsosLRXtxgpk+2xAnT3Kv4PSkmXJyAcKG6ir2PlnfXBxIFyHnS+yY/U6CqKt79ia9PpIrcs+MSVTgVgVGUoyxFSlkV4ACZxSq02dJsDrC6Al88vTiRlcWQoduTYcFFTEkqetJzkrW3IpPQRePRNA0gHH3uvTSZnMLxpUv4+tf/HM899zzGDIyRkE9rSWkzpcRza2nznzw+wf/8n/8d77/3LpxQNHORsi6CWZLsWHU8QNlsNmWtZhilRoCqtklEOfek1UUZV7EpOjQZuUqikx7WjIQUaOSRsTQ6xFaN6VLVNbbQWCQ1yrrpM3JiOjnkPFBQqGllLpu1FgEyBnC2YYdJFCzHdAmZEmC5l9dIFbYaIwVI36hRLyQhMBU/TLUnqgRLwROj577sVWiADB6WbtQ4SzJZ9yJTMAudyybVKNmHFaWR577JQZwANRVtWQIIGAObyNEmm4tFq5O6VGinKcfJGJVamCazSkntHOUazs/O0ThfgQOMfMqJ4B4Ny5+7Xm1xfHzMzz9N0GZgamQ0H9xLIOvUyDzBoOZs9KxeTDhrZ1w/47K3qSrk1bHLR+wnmE9CNsu/AzlHWGRkb7UimScKgUWJXSu33I9VA2iTe98zwrnq2ZV9VjuUJPNhtUBKDp4ANqnw4sKrDtgUSIPY2DJmynLSN3V0mXvIyK6UUUOGOccJxsRJkpsrtUzrOSgSsgkYhExgRWNmFzinKLjlkTyw5QTJlRhnqvuH3rcxGdZbpRB679F1HZqmwdD3MACcI7BnswnwbYOuabBbr5GZ0kWZnAFSIOoh8fSQIq+ALX3lmrCnYnfEXmREOONgjUffj9hsdqQaboCua0lVWNpmrEFIGSlFDdbAon4plFFUd+68j/utx9XLR3j+uWcA5zGkiNaRKMH9R4+xXAxYLpa4fOkIj9f3EFPEertBihFt47V6l1PCweEh99IBORLl9fbNG7h2hefJ24zr16+h73tsNitYZ9E6j4PDA+z6LVWFe6p0jpzwed/gYLnEbrOhcTjWouFKaYqBKvApI4aAjIh+u0G3aGGMQUhJxeVgDdb9gABKJgK1z2IcE/ohIJ2tYEFVeXClZ9aQBgD5ZKtjXXNO8N6gbQ0cHPpdwMHRZTSeqsxDHHAwX6IfehKdygljv8WlS5dgrUW/61kdnmyAsxbeOgy7Hg/u38NqdY7F8gAPHjzA8aVLWK032Kw3VIVPGWOKePu9d9E0DZq2xYd37+L9Dx7g44/vow809ml/hF0M/cRe5Qycn62AMeD2retYHsyRA/cbZmJBdK3BZz/9ArylnkgLA5Mdp4TKk2XQJWMcd/BNg4ODA3jX4qc//SeKXUxCkpE7DBrHHBHjCG9aigOcx6xt8NQzz+P7//ga7t+7hzjucP3aU/De4/iwg7EN2xny55ZZHSnrsS1JmsYYdedlTY+NEmngo48+ws9/9lN8+zt/gcXyAMM48GgpQzaaxFoQY4C1DZrG4zv/9m9wujrFxx9+wLZbxB4lCUuq+yGup6iCQH8X2iGb9f+sKT2MWcVKxa+yV9wzylMRwKnYk9WMRZiFccLcq4HMUpGVFpOSMBnj6LztsWDkOoWeXPucCQot0wOMkKXrahpdrCi6q/Uz1b/bWtkXyNmS0JuFKhrv68rIWtNFV/Pm5aHILpBpJjxXWmbDi8BUDCJ4mOEskFj9FxLv5T2W1sQNCz1I2hOF3gydfQxmFiBlYorAaH8tuI1LEtaUMryzmM+XOF+t0XYdulmnAJPEEDI6sR8D3n7nQ6TsYUzDcW2ePB9Zr5gICBJh14wGMIAziYsVRQNB9pzEgob1EeisQJPtKlDTQldmgSw9t5JI1nGtyReuU9bgYoFJwlejTFtwIVFslD4vTGPkGvio94dx3C///4/Etlbho95JogurWiZp5RCVi6s/MUdVHaSNwbMERUjIkAiCKLdF7lNQtFmVZgVl05SGDQUvoBMqp9XFyxnYbHeEfvNcPqmMGaY/xBBxeHyIV175Fl544UXqqQ1RG9BzBm0MY+E4MDl9/Bjf/V//C2+/9ZZWaSVXsE8YVSPczixJjVCmURI/TcRyAQdSqoxLjdByQEa3InNjjR7OVPd8ckjqvCfDYP64ZLZU4wQxIxq4KU5BjLwY7pg5YObkMUdFoCMLLFCvVoOYSX3SVskHVUpZCCpJv6woKwpiJHMzS5+RJGPIRunkyp9lESW5dum1kGRiH5kqFf4nyInzOmohWYUVOPFmxNKy49Zqpi0HU/oddHYrI6Rqc22pqBZHMEUdtYpfI2gV4lvEhqbq4IkBpabx6pT3UducMyI7m4JWU7XcWmIrUBChnvOJwHRdbasrmDX2fBGdoz1reYbf9LMKinix8lleTxJlq++xBBh/fN+rwd6j8dcIc0HFi22XeKTGti8qTRe0fjLIXs9bXZEvwlAS7Mh+0Xm89fVOPfb0syUdqwImY6hfMoZ6DJTRWbLTYIpReDk3FgpQ6lg0CfIqwKCuOBRAyKqCpkWGiXQ+nXMMXBXcbopI088kCQ0xIEZKOGOMpIo8jnDWYhh6tG3LfflJK43OOUoCONE01iJl7vXPVn0MGPI0PHdU940p6yhDVWIq85ZjijRn0wCr9Qq7ntRlSy8ZUc90f+sYCVEwJfuz2/UI/Q7b7QrOGty4cY3V+COPPMloEwDrcXTpMvIH95GRsd1uEUJA13rda9ZaHB0dqw8dxwEAMI4jzk5XmM9vwlqLs/NzTdyvX7uGzXaNo8Mj3Lp9C/1uh/PTU6zXa3Rdx8JXCd4axGxgvSOlZFAVYtYdoN/tcLY6RwgRs6bFrJuhbVrETAq3xFARwNOwfWkQ4whnO6xWK8SQsV5tceXyNRJ1GgKWywVCpPFG88UBmqbFGEc0TYuua9G0NPt2MZujbzs0TYcQ6Nl7z7NcjcVsNmN7TnunbVv2SSKyR3smI2O+WGAYeqScEVLAfLlEiIGuNxHNPcSIMYzU4xpGDOOIex/fw+OTU4Qx8NxUFjUsXqbEAqaI1cUMbHY7zBcLdN0McaS9LYKLN2/ewLVr10jIayJcJMB5Ofuk9jzgwM1grcXb77yDBw8eTm2GgO28R4ZhBGDhmgYwBm3b4de//g3ev3OX+r2HLX7045/gf/uvf4fdOMKmqP6M3HOZz6mgqjhsBZj3bW6xQZqUm4jfv/EbvPjyC7h16yZissiJFJ5TNkjjABuLXU4pYda1+Dd/9W/x3e/+T9z76GO6nqryVuzS5OuKDZPoa88/1f4iSQxX21ZuPTJpX79hWnUVIF8qnagTzspPKRhWg94cWNf+J9e6M/wsjWitSLxnHf+suv4L/bn1fU59bFK1/OmCFT9aVqIAk8LWS9qGKJ9Z2/VSDi/3I88yI8GCbDa5Q7GRhrSGTBFpgmWNhRCmn1VVEW3V2yWxP/YYi6beL/WeLK3dDKJnPo80Q11/jedxLxZLrNYrxBjQdW0V208LAA8f3KcWtvooaJ5TQHMj44DYj6QcmLEkMQ31XFn1w+U+6rXXOJjVvmltOA+yAHLkXINiatEEzyifK9dWx8P1s6vXeL+4Uf9pVOXb7FGw6fXHRDANpuOj/pTXJ6rY1n1eKRFSl2wqD8c5ohCJUpqxQJRkiBvnU676+aZBjPQFgoODxvlKYdk+eaGQEbkyYCu65G5HSL4E9rr4smlSxsFyiVe++S28+PKnka3DGHlIuxpDC+86pRXsdlu8+upP8eYf3gA42CRhlATDlK9yYNiIGa7mMhpkjWNpYKlOJkVM1Hhm3VOThyn3UaiDRM8BO5Y0obNUVTNTRBWIulGCt/2A25h6JFMulU0OvFOqKp4V0lKC9KR9JSnFosgMyyM5+HgZg8TCKBlS1C7G2nlX6MEafPKzq/oxjCJHJRmhdREQQ3ptRA7d7h1Io5LypvZ+mu9k6l+VdSE3rGBE1mb/Onkuey1zUGiMgfONUl6ADCssGsOjGWBJVXvy1NkNSdLFi5VywliBTfJu2T/W0ADzP/uzP8evfvUrDP1u4mCSqqHK4NasVcKzsw2Wy8PqmU6N2ZOqn/XP1WybIvj0pJcxFiaVWnDtOFPKe7v/4qtOxPAEQyqv2mDW/0YBkvQmW1JVlOc4uT9uQUAiJWftxzZ73yf3vfd3sToVfXr/zMlzljMlPXQCeNGZlLFacsOVAxDHI2ggq3aXNYkXrqkAbwU04Q8uAY0pTl0RTBjq1UKCgav2fLl/smnSSw5le1D/D8+33AsA5ZlQkGcV5JP1qM9WSgyg8R4NIWCz2fDM8RGNb7BllpDMKk8harAtoWotIkPrkdQuiqAO/bJl1W/6bs+0TGMyFss5QhphrCPhJEuzbAuibRUUtNX1Sy+0jL5OIePDux/j/r37aNoGy4NDrNYrHB0eId2y6IeIHSdqJhN9c7ftcbCcV3RAYfsQVc4YjxwT7j+4j7sffoTbt2+ha2c4OTkh25sTNpsdttsd0V8fPCDhqsUcRwdLGvvjPHbbLa0RsyuGYcB8Pmd6KNGpd7sBYx8w9hGLRYc4AtvdgMiz3L23yJGq7zknjCPtqThGONvBdwbRR4REFPN21sE1Hh988AHGMSJbh8XBgm29R9t2aFuHmCLiOKJpO4Qxag+bUH6NMQj9COSM48MDpJSw3exotNI40igi32LX79DNO1jrsAsjdjGgjyOOj44RY8K9h/eprakhO22j0LiJMj3vWly/dhl9jFhvxxIIqlLpk2wXzcMcU8bPfvYqvvblz+P2zatouA2kaR0+9amX4D3Z/JwSvLeTwByVZI1htpt3HjFmvPG73yOGrEGwyYCHQQNbRuTECIQB3lu4bNEai/OzU6TYAxlw3uKN37+JT7/xKXzhi59CTBlxHGBCoL5qn1RtvcqYJF3SiQQ6prBeDQPAJJ03Og47/PgH/4i/+0//CYeHh9gBSDFgGEYCFMaEznYIIWiCe+nKNfzVv/1b/L/+7/87xt04+f6cpa+Wz7tW9qDMwcSVMSsK6jINQsae5VLxNaofUPWYVjZ+ksgIOJcJaJH3KFfFlFDDVqlH0oQoTyryYjcUdDNF10Cq3pbtTVIBQcneautesqkM7Qyagv0lFKuqxZVGgVwf+5ucuNW5wjsnCW19F09oD6LeWyij0kyuK6ndls+PySD2I7V1WC6OZEyqfpqcyXkzBpZnP09GfCZedFO9jyu1KScdmVUnY+oXOA5w1uJweYD1eo1d7NHNOrimik0zVapp9YsKt3FG53nTfix7g/aenN0MpMjRh8SWCQk8U5d1fPaBfWOotSRxX75hYdtsRWSLvt+i8rc1jFOFWJb1rxMDbBeLFdVzzvvngwuTRoCIJ7Pa9v+uoZQ12C8b/EuvPzmxdTIviRfUuQoJZ1VRorSKYHpp0LeWA66Ui5pa3QgNon1ZOD1gNPS+KNrUlaCUZfRK1Y+moyqM9hJ2XcdXX1UVOOHuFh2++tWv4dOf/RxgDPfYSBIORZ0co2V9v8OPfvQjvPrqqzS0HZKIiUqgnSQ2BdkyAu0UK1bUxsv97weW2seZK0NRknlJnAXl20dqUBs13SiCrMWqqlZViISWUFXKjeXmf1NoipmvPaXEAXhl+I2FczWdQBLjknzq72fD1JFpD6ME3OX36xZ0+R0K1jM7c6GzlnVQ83QxQao/TJDOiRAQAwi8/s67ydomzh4NV9VEgKuukEHEsVAMw74ZKNXEguBeOOyJxJ/EuRq2+Cmmqr8WSmsWgygb5o033iDVUAYfMo/SqgWGiGpvNbnf7ba4dOkIKQeuPqVypmu0+ALgRGutvSr1ua3eVdaypiKVCux+Uluo7dM9Ivur7vEpKpG2oPaTfVN+z/Lg+Fxf7/TIVGe6JDzF/tJeTtKrJOdS+nar4ehyvTHm6npru1R9r5oMowmdOhItb05RzWpD85kTW81AjFaTzeTa5frqj5YkvCTgBikWYKd8TtXrLl+WZL5lua8CogmlG0yBtyiLeVF0C0Lf40NkDVXhDEgZlarQhY7vmfIcwojFYo7TkxMFwTL36Fa5vN6G4XEdKScqDNhiE9W311UUAL5xODo+wqxrqAewazGOEfPZDE3j0YfSrqA2VNRCc2KFeB7TZQyuHB1i0TVo2wabzQrn5yucna6o/7MPGPsRbdvh4PgyrHNIEeiHEZvtFikfKe1cKtj9OGC2WGDWeex2WxweHiLfontYrVYIYYRtGgAJ49hrsLTrezhn4bzHZrsDDNC1LSUVIWC1WrPytEU/DAhjwNWrV+GsxWyxRD+MPOsyU7IcAtqGKtnOWiwXC4wcqIYQMA6DnlHrPbzzGIcRbdtg2PVYzueYNS0WMw/nHTbrNZx3QDZYr1eIsQOMoZFlPQV3pJYd4b2D9w4hRqqisq0bxxH9MJBSMsCjzgq9crNeI8UIawlcffToEcD0QFFxtt5hZubY9T1R8mHgncVxyhhCj/c/vI8cSX4s4Un+2ExB5Zyx6wc8dftpHBzMsd5s4ZzBzevXcfvmTWWHGGPg25bOWBT0tQD2YMEyGIs7dz7Ew4cnhRKIDJsyZp3Fy0/fRIpBoDnAZDRth0cnZ3B5RMwZBmUEYT+M+Id//AFu3rqOa5eXML4hv1gDNCB2iXOeVcUp07HIEybEpOIMAcESkYGNwccf3cWPf/Qj/PXf/ns0TYuUIsdngRP2qP3szpGq89Wr1/Hssy/g97/9HZ83zrKEbjkB8Iy2FFWSA1VRIV+YmS6vItj3ZNxVeh73YxGJnejPEivK52Txe2q38/TzKhXiGsBNHHMp0I76+wSE30saypar63P6T/VtEfPLlnjQlDhI1rV4cfIJxGqgNEjif7H7U39gJz6tfCYq9pJEDrUujTBnqM9dREDBLSRaYd8rnEnsUyEbk0o4WDA2ZWZTSisgsjJ66DkU3y3xBwxgncPh0SEBjrst5nYB5+TZVLyNnLRv+fDwEJ9++WX85vXXSSiPsmBe66TflUXAy5QWQaHQZ92MtVZFqbBKH37aUxPTgqKwDlOpqJkyOPJCy1AdWeu+qWMi+Z09ZXQpjpU4UBuc9LmbSvxS6jkAK69/gtcnEo8qm7FQLSHBlRF1vsQCPBw02EKvKHHTNBHTfsiqwmitRZSRP8jV9xBlOWdLhlcMOr9I+h+Yz2dVGb4kmTFmzGYtvvTlr+GzX/gKfDsjDCVGGOv0sFnrGGmnRPm1117Dz376Uwx9D+cYsUvUV+C9r4Juu7fZzEXjoueiGCijIynon1KlbicbQw+58ESUPnmxj1DQPmMNz14TCqFVaqLSMyqlQscVlsQ9zjqjDgbWeYQQ1LBnVhqVWaKRhT4cV9qnSU/STSq9fnSdkSm5U0qqvKSPtyBpUyTQSv9yZjqzrRLh2gDxwquZkTEKQukV+o2iZPIu/h/bhBTp2DqmV6ZIMsxavaqef4YodEt1G0qN5PSy7BNTVawrZBKiiBsTVVW5Kk1noNo/1qiyoeS1QMZqdU77WIruEVyZNWUeaybQ3Hlgt9thNvOErInBZvq0MdRznpX+nC88j/Kcqson9Pjp2SZQZKoImbVvv1L8nCTP02Bj6riM3reZfCFRwIqT4udhy/sE1ad7Cxp80b9PE1np81OHpyDKE4S+UJK5xCM+ps66uiahLlX0lZyTKiumnLlfT7bkVP5efi7bKaVq/zNToaZglR7fGnk11XVbBZ/k87P0l+8DeDV6A4McOdG33EtrZcRUTbdPZVRZnqqGY3I1BikEjP1AoxYYdRvHkdSRY9DrbZoGCFGpbCklkuMVxW5bEGkYmf1ckGG53SwRLlvRDJ5FnYz2EfrGY3mwgHOsqGkNOttgNmsx71qsNzuiKRogJnLi7axDSgn9uOPWGpr77bzDZz/zIg5nHsPQI8YrOD1d4eTsDI8enSCOI+5++BFmszkePV7BNy0AixAiNtsNjaTL1O+1mHfoxy0enz5GiCNmrUPTWFy/dg1Hh4e8TyMOD5YY+h1SGtHvEpz1CtallOGbDpttjxgijCN2SEoJpvWwjijfZ+tzmGhwvpKxPi1W2x4xDehTgDUeISYg92ibBtZ4YlDFiGEckHNE17WIIVJAyTRy7zyW8yUa45FjxuFyCes9Qs6k4tu1MADGYcDp6ZoU+he0j731uj+ds0RdjBG+9ew6KaGeLw/w/HPP4eO7HyJnYLVakxJxzsiRqM3DMAIJ8NZhN+wQrQEaizEEjMMImxycsfCNJy0P79A6h898+nmkEPDeh/f5jFplMKDy07WttsbCNA1Wu4DV9jEenjyCcw6ffflFzJqGxsmwD3ae/FG2GcYkDXINj9hKxmC9G/HbN97CUANWGcgx4NbNp/GZz72ES8dLnnWcidKdE9555w7e+/ABHp7tkLmVJjPz7P7DE/zgx6/iv/zHvyFGUAxwovSdkpbYUhq5Hz3pTRIlO3Eblq30K8h2RjDLiH3eb3/zOm7cvIXPfe5zVK2PCSkEmsUOUyWAQNt2cM7hG9/6Szx68Aj3732oQHVCYb9MXzSCaxpxyPUnatmoevxrRolUSZNWJcVSGQ3S65a0upIIiBp+LsCusXDgsYeG/HhKgZNCYl8YSZD5O50w8Di2IkC58CU1UZGKb63ox4myJuk1sM++0BhOHNW2i2hmupAMyj2GmHRdkBM8aCpIACuXCxAqDBWp8JrEqXNiH1aqK8L+SuxDvarL0/WMY6CzU9qXaZ3UmBf9ExKyRPEHKPdRg+MWGSZNwZCMMjpNYptsBASZKha3swbDAJyfrXF0eMgxAMfXjs5F5iLf6ekp3v/wLoxvEbc9nScDPu+ZmWIMbhgR7MqT2MlMEnRmapkSr9bxZInB06SAQACV+MDpVIjSR84xTprqj4DZuLLHosahqZpxXCXEuYhmCuYmzM5yjaVdBzwqVsGqP+H1Jye24nTq5KkkujJ+hBMwLTGK4AYtsJHAVBInzfMkMatmiwn9U5aPDahhhISux2lfbQZIaCBnzGZzWmA9mILU00iAT3/m0/j8F78A3zbUDI5MQRMrAwqlOGeDEBJ+//s/4Mc//jGr9IEfQFEgLFRHTAK8+s9JEqJJ/Z6Kak1hryoyuonrhLRal/3PLgFtSQykom0rUMFaioAZRJyMRzHV2sv76++R796vMIoKp3NWBcQoqEdBqrB/nUZHIMkaUtDLsgbmIvom/0F7oiQxsgnr35dEkqxDEV7KOresUn5GtWeRaeCH7FMJ6FPBray15Dy1Slcc3H4Qk1OaoOfqOJk+CBmZVPgXAM8cTCkh22q/pKJaqteRIlenEo94gobm1OtuVIlSA/hUKuowBmdnZ7h8+bJWX1EBR8pQsIy2GeknlIYeyXbAfc6sbsjXWNB62fPQZHV/D0/PUJ78fv2q7YZRhfBc/W4lGJYL1Yf2ZjlbU4S7UMby3veJHZHPnSay07Mhf993fPvvMZMUFWUv1riKEQV3+s2Yo9LUND68AIwIQY0hnQocggA8Ioz0R2zK5Ler0RSG6dHgmdKWZxdDxnWZxE4ZLO5nqsoOqn4dJtGbvXO4JyAB8Kg10Kgb6QPf7QadXRtiIJ0D78gZ7tkKCUrkOtR31YLgChRyyC3qm9wrB+cxhBEpJVy+fAkff/QRnD9AP/RAIgTeieggVzuapkHf9xSwIBd6Nl+bdw2uX78JG3fUf2wdDg4O8cyzT+Hx4zOM44i33n4PMBbnqzMcHF+mwDMmnJ+dk2+1pHC72WwAGIwh4qnbT+Pexx/A2oyubTlpJZu33W1JjIvVaWOMyEMJ3j/+6GPknNF2RO8lu8KgpCPmRtfNYBKpHRtDiULbdciZ+1bh0A8bDGlAXs5hg8VuHGGc03mkklQ65+AY4MkpYXV+zgBcRtM2GMZAQay3iIESKmctZk2DECJCP/DnZe6BSzxWjWYaJwm6+f5DCPjgww8QmVJNTJUebeexWC5gjENMGfPlAtvdllR6w8CKxUR1j6oLkeC8Zftu4L3DCy89iwePz7AeAnIkAcBYnUtAQBKOG6zFar3BP/7ox7h5/SZ2uw1u3LiB27dva4BneH02m3NqBVNRygJyG2Mwm83w4Qd38eDBw4pGKgCawYsvvYizszMcHS5JpMYYEuWxBs89/wIerXrcP93Qfqlp/wB+/etf4ytf+Dyee/YWjAOsTUAMlMRWwBVYls4Yy6OiGGhn3+tkhIgG8ZKcWwa+M37xT6/ixvUbOL50TM/b0VQOVRpnmnLOHkgGx0dH+Ot/9+/wf/w//nfsthtl7IjAaLGNsiYyFaUY2pxo3zi2tyVxzAqgSbCuUYWiiewzKjEeVJVNEju02idquOVCIEoJh5wl5qOsZULmsYt8zRWoWoP31pQ+SsCQ7pKy/CpfxjZatF5kBBl4PwoQYK0kHkU0dD/eM7rvAMctbmKb5KxZ0WiQ9h1TtE2kGpkr0NrUavJcQDDWqN2UWFlCPvV3wF57Dir/nZV5Rs+5+DxNX1V4qVLPz+W90NjK6jg7TYg5p5G93/oGuTE4PT3FweGSGQuAqQRXDYs13fv4I61XJfHZEtJqO5ir7rVK+gTEkMglQvV0JkkiCvAtgLnsk5ST5mOlQl0mnFyMc2p/ChXsKjFWqq50n+XFLEfZisKc0DMIja1kOoLVsU/7Mckff32iHttcKW9NklxhX2ejYlKSBMSY6IDVY2OqA2a4mlJuG7CWBW8gVWBaOGclqHKAo5+nSGjFwDP/Fos5UVF4tpkYdQksn3vhOXz161+F8YaQ8+B0NI8ETxL4hBDwh9+/je9+93tYrdaMvZIBs87Ce3dhRmsJ/oohfVIiWleFJPGiHJwNpIX2mNZB+pNe+8ZGULdcJWtaPa+SQ+kt1UBuT+m6OtlMo4yVMZ0G7c5JpdYphbfQVlAoFExnlUOA6s8kQkvaF1vdX/Hf1cZPVRs+8abrJELeJzQSMT5gMM85pwoL1hQKbUnsJTiuKLW2zPZNPFtNqvfZVkZ379kIUimKghX2w3uAEnkDEmi5sKcqhFFETsRplUo+B+XI+Oznv4iHDx/h0YN7CqAQhY6uhdvJFVoxBghjEV2RJENRTEHAOZiT2cMlMOPrZKRVAiL57ALooNpT9XgoVP++r+4oz9SV9dC10f+q9pMkpwlCopZeXxaOhnUOkdXFdb+TByU6bTYXjtsUuJoGFfvPW15/bExPvS+k/0thnxRZWIYpjLxhtcVp0qsmX1yvRe1KeH+Ik7K1AeD9x+OuqivUgEN6dVEFUWqvJBsUKl0GXHUc9ZnruebnkuisOq18l+spTrMaS8UgnGW6vHM0/iWEgPl8wbTTAjBGZCwODgBXQKRc2RkAPAORwSaU9a9BBZqFS1cUU0Jjyf4749CPAaePz7FabYj2O59pu8ZiuYQ56Scq/QCxIawxVMkwRlsQYsjo+xGXj2YYI/Vmpki05vnNGWJMuHL5Ms7PVvjdG39AHHew3QJIEZvVGuMQsDiYIeWIGBKscZSMsjCQgUe3mAooAoDzHnGIqqY+9IPacgNK0NKYMASqeI7DSFWSPMKAZs5mm0kRFZaCCWNgDQENMSR4T4lndhbbcSAbzxwsI+1N7Fu8Y7VX6TUHMIYRXdfCO09q1I3FGAM8z3OdLVueaWzgjUXks0yiXXSNKSWMwwjvHbKxmHUd1tsd1usVGgbf2rZFP/Tox5ErbBl9P2CMETFF0nxgRpNrO2p18vTZu6EneqShiMo1Ds3c48bNy3j/owfI2SDxzPI60M4qlkmJdszA3fsP8PDkMVrv8Bd/8QrRzpOA74ZHE4UnKqQDQOM9nPd48823+MhbTjEpMe3aFuvVGpcvHyAb6jh0VZXbNgQi9Lue5g7zuKeh38F4h7SO+P73f4D/9t/+L5jPO5xtHmPZOBpPJewXSF89xUlGAlxT2Uc1UVmppJYjyeyAGDPWZ2f42Y9/gr/9u7/DfL5A03iEkFiwrWIP6kjBjFtP3cY3X3kFP/3RDykh5wspR5+p0wym2VzZsQrwtYao50mrZnStMQZitVV2RVqpDDxMIoAJVUW3BjWLH8ulJUwSW1t8jHW2inmy2v4kmgFVfCWfe2Fue6ZV9c4hp8gJTAUg2yoZl+RRVIhldrVJhbIsOjF7St/q522JbTOYsaMxfPkO50jwLUuPJ6+7JZljWg8dIZmY9clJJ4v+OSuZOFN7S8vyBGCHFHAkNix1Q3WDrmIWTuI1jUdqsNfUhEne63u6Lewnu7mHazzWmzXm8zkximRkXDY6gaIOYeXqLKHNNI0lZ+Roea0SkC2SCBJJrMiJX2K9HRmRI7Odhd7M4S+dVQY+LBxSMkpFLtVp2UsO9SuJmrfmJPInAcUktLufhBbtbYlzNK6uEXz+PcOjUHW01Z7//tdenyixrR94+XlSFV1jSvACVb1NVeZf1TGNKO4W5Ehm/NUqcPvVA/lubaIHMIYBGRnzxYzGSTA6mLJQLch5Pv/88/jan30d8/kCGYZm8jZOBVukUuOcQ4oJd969g7//3ndx+vgRmMtI92vNE5NaTOTesffgqwAf0yRz8sByUoxDEPb9YLlehyf9XStTWk2vA1P+KxuFZGWEjvQB7fWqShKXSwJbAxwlSbdsXMvzQZ0IgRBtmAzjpgm3JlBs/JS+IMPKKnqrLlXKwswtKgMo96EBZZLgXtaJkzEraFslaCVGuKrVicsdY1CETOiLWebGGgDGaX9yMThGqemSkNfPK4tDNJaqoLH0UdYwhjGRE2Bu8Fe157LnCgOCHNyHH36IzXrDcyBt5XzKugigIY73/Pwcy+VyctZzJRoHYDLCILPjhKhUl5jtAgKHKrgBJxSo/l4dgAkgU3qBoRVJa+ueZyjVy7DAV6qAibpnBEwJr79SnLTQcrIm8yyuUF8gJ3T1eGVTYeTS+iCJ+L7dslUiVwNcMScWlOPftyT8lYVGjWq9ZQ00WCsqq1Xaxg6z6m0WEG1v/vJ+RVr3po4DADMqaqq3mdgHYw022y3CGHDp0iX+VBabyyCqYSJASO1DTiC2HzlroiqXkRjKbgSQwojddouYMhpLI2biMKLfbRFzwna3xcFyqWARABJLY7GNnCILFhUxFl37yKAU9/eJ7U6R2lGyBKPZ6O+O44iUIuaLBQCDo6MjbHcbrDc7ABaXL1/C+x+dYhxoRE0ICTElFnSzyISdwFtSvB/DiHv37uPo4ClYaxFCQNM4tA1ReZ1zmM06XLl8Gc4avHvnPWwiBRdjHHF+fo5u3tJZ4P0xhoB+HBBihIv0HKx3SDHj8OgIOYwwxmC1XmHsB5pdK2Onsij2EtuCVweWK2ok/DQie88TByKss9TvmxK61mM2myGlQMI5jUc2BnEceNRTA2OAfkfzeA2A2WwGxz3CtXJ3jESzNtaim7UIKSCNI3ZxxDAO6HwL7x3W6w3aNsE3LYZhQExErd6sd2gaj8ZTryY8z0L2HjPvYU2mRBmGk8iIpmmx3e3gPfVz+oaA78Z7CIU9hIB2RhVn52nufRC/CGqFevHl59HOZ3j7nY8wDpSE1YBf5uSBfCmdxhAj7Vfb4fLVy0hIyNwLK0JVw3ZbWHHKoKBE5+mnbyGniM1mzXu9xB9gMWTnqJJ088YNnJyc4to16pGmf3d48PARxhDg3AxAQIz0P5MTmm6G9+68h3/+1a/wjW/8GaybI4QBjSc/YGWMlwGsK5MPDMTf7IkPapJhCgMl0zzlnIGPPvwAv/7lP+PPX3kFbefhXCBRsERK1N61CIHayIy1aGDxuS9/FXfv3sXbb/4BsKWaJD7IqeZHBazvgdGmDFQoVjVnYmNUoQvDvmpTc+2fqs+PMeqZElC0LmhIsqxaGRr/QtdUiiE5SeWxrGPJ5abAQc4Gy4MjrDfnwBi0A9IIs8xMAWzGQvRapcKKPE3O67XyziEkLjIwSBFjLGAqaNyZioflAiyIi5aKI+p+3Eq4SvKeLD5MKtgq/ijx2rTVR4sbGhNkpbtLBVniJqNxW4UaVfcqekKsAVUB2+Kj+X6NjNgDuraBNQti0mSjbRSZmvBg69jVkZjmrdtP4ejgGL9/8/eIiew0OCeS5yujSAWpl/jQcEA02b8C9LOoI4xHTInGGBmJy6y2PWnFWIsF+zN09UTw2kniSwaGxLFKi2CFKgHMiJXPrlsUJ9AEb+nEArtAmev+p7w+kXhUzpmb9WslyVz6aKsEDoYCNsOn3ZQdrOIiMqfVWgtjywOuKzI6p1NwhklgltmJRczn8yrAF9yDAhPrHJ555ml8/RvfwNHxMXHJAaowGqJ+OefQNC2ycTRT7e6H+N53v4eHD+9pHwtdXoJvPDeF86U8MemX/t+p4ZCgz1TBrQblEiiLA6gbpifjNKav0hdcV1ulmmYKn666RstojSy1McXxTDZxLslC/W9CTyKDXa4rxlBdcnmepSI2DfgtbBlDpLOqOFmwSR1elgYAqURL6U3HPBmlh1AAmTSQJfXdxAclVf3gjDIxkmdduV5tvGelXAvLiWeg8UmTp2lJfCQB1mZiAEDoRFY6fUiIDAWBKvkH9zWbUJ0hAwOe0abJp0OIFCynqgdEk1YJ2lPG2ePTsjdT5KoBz2fLmWZPWqtotCiEHh0dXdjT5Xn9MTrtlPYiz3KyB/imEyqlOznTdYBWoaT1+2GqacbG7lVtS0Ua+n2WAa0ynZCQTKnU5cqxivG0ygDIUgFHuV8RZyne2JTk/Ano7h+v3lbO1BQJf4dplVLmNEvlej/pl19OKcG4WjWwhD1p4owYoedEjZL3cYpy7627OB9xbhNRqkzu2WaLtmnQNg2JEgnL0CQt5ZLvIJYLm1FEQ2eyMHEMEhKsMzwvkEbqZAsMQw/ftqToHqP+zzmLxWxOokPjqGvSNK6o1XPQq5URGGQGa5y1LDAl/aVgcLOgzlYEELNFMhY2RTiTcfXqVTx6+Ai73Q4nJ48wb+do2xbtrAFs0rndkXuDeBkRIlUJAgNZIQfce/AQN29cgrVRlbr7YUf30lFS1jqHr339a/jU5z6D//O/fxcmZvShx70H93Hl2mUKGAwlgikmrFZrxJSw2/VYLpeAtcgx4eVPfwbZBIQQcOedO3h0754Gg05nCVuMIyUz3jnYZBCHiKZtEXi/0kgaAkabrsEYthjGgaqKkWeuetrjoQ+IYUDXdugaavtJhsdAWYO2bRH6AdY5DDHAmIbsk/OQMQqbfsfz6A36YUSMtP9CBrK1aGYdwjAihIEBRosYExoHrVYlgGjhss9dg3EcMIYdMQvAfaWiLstaALI/vPPoxxEpMEhiQPaVe+YMB/Vd1+Hg0OKFF57Cw0eneHwyANljTJH2WyVYZ2WMR2QhQUuChSlHbHcbICXkMWBkyncag7JtioVKmM87vPD8M1itzwFETkZq8IqeSds6xAj0w4DXfvHP+Pf//m+ReBLBxw8e4r0776PrDuBc0vc4Z+GbFs57BCT8/LVX8ewLz+Gp61eQepnvHtE0jfb7KmNLNS2mCRHUnhtunZHWA2njAVIc8dtf/xrXb93Gc88/j5QDJQUsUhci7TUddmMMfNPia698Cw8f3cfp4xUvEhcukqmcb3UtYneN9IEaOFaj1Son0z5Lllx0LkxVucvcTmRSVjCfqPkFaJBKWMpEc4mcGE6TR2mJKWa9QMTFVxgYhBS4ylWqy5lB8JOTU1gDOOORTEZOgQQoc6X6W/lo+Y+s4o6VtkP1UvuIMlbGoFDKoxG2j5n6vlStWe2beI+mHCc3XRJPKchMgVlyxewLc9b+ZYmHSw5R8rzMQaSBrdJS1sSQ++NrsDUIUj2LcgXVi+0OkJlkl9G2Hs4usVptSeNn3vBzytX5ZT9pgPv3H6CdHcJ3M/TbVOVOZQQo+fI8uaA6xtazJQ9UhikYmu1ASuGWma0yK5jtRSqCmRKPTWOyAuSIBZpGg6KAbvUaCCRPldaPFCTKlcrzl3VJ8ovTBf+TXn+6eJThhNQWFV6gNJpnDf6KGiRQ2r4ychmspT1qHKSaaszFJGjiyo5SBXlECi/2OAzc19NWqJgpF8yL+vTTT+M73/kODg4OtKISU4avxq94KyNUIh49eoR/+Id/wL17H8HaROq7vDHcH6nUogpo66CfCzR6f4JSZoNJ8C9OLld8fqkGCjhbV1LrP+uq7iRnKFjCZFuUBBVsDEmcQKgkQB3IU7+EHPLMioFJxQdY4c9aHreUJp9Rr01Zo4ouzEFU1nlvpjrwZZyRGrJENJ1M5QlNNiaJlsmMaGelQNcbudAiq61ipCeDB2BLLxzMdI2NUCe4T4VBhRBGnK9XpEiZSbXPGY+26zCfz9C2LaK3aFsm4ul6FJGN2nkQXTMVVIz3hygh13tgug+KAVNTzDYwsiGnwI0oalLRXa3WBOxUFdyJeq8ge0oc4YQ7l6qnMeXs7id11lqtZku1oV7XyXv0CDP6iCnqKv1eJelkMCQL5bbQW0o/kikBVi7vDUF6lAtSWG+MSXWSU18F8XJJTKfnq9jjurqtT6QSxoJQYJOMkChnp1aunibN03MGlFE2em5Z2K1U2LNWFDJXiKkNIUGwr8SKpjXFTdRBjSkAROlVKtfpVBwkqUOrbln3AHh2LlHvZQVACW+W3zPM6kiwySEz9Xgxn6NxDXYpo2OmiYo5eU/08kDV1OPjY55ja1UI0Bij0EXiwQmZ97XsW1v1lOkzt9QDHwMzGBzR7HJK8I3DfLnAbN7i/HQFWODS8SGNeJPPqBLkGIlGmqR3jFslNts1QhyxaBpkZi7J7PicM/q+R+MajCMp1raNQx8M+m2PRw8fYRwDvHfl8FiHk9NTIBtsd1tcZpCZAMmAkAakGHF4cICPP7jLCZ1RtlJOI1931qRFzh5RnunvKUZEZJyfncEYh+VirntwvphhNuvgncdms8H6LKFtWrTdjAPejLALOHn0ELdu3iIfHJO2+YhyuYClzlmMQ0/iOzlh1nUwBlhv1vDeIsYRGRFdS2vY9z2cNWhahzBmErMKEd436IeB5iHvBrRNC2ctbGMwDpSYN01D1OuUiNnFPt97N5mGEEPAsNtqMuAbUgTuN1tljrz4/LN4/fwtDNEiqHAQ2xdrNAbKXBC4cvkSUgi4c+cD3Lp1EyYG2BQRBkr8wzio/a0rdbdv38LBwQFOz07U7xebI1Udg6b1iNsA64ArV49pRiaPIPznf34dwxBhzAhrB4RxAHLGfDaHaxoGaxNOz8/wox/9CP/bf/6P6LzHEHewJsGrvQUQCaQSx0ZyKPsB6tS+yTlMKKy/7XaFn/74xzg+voTjS0doQkCI3GdvCsUxxoiYHVzOuHHzBr7xre/gf/5//zty4op3lTjWY2EU3NR++uryLLWAiIjlNHYz09uRRE7W3SSg6mXMBho7aK1Gqm4qXic2R+w9JwkaSKKA//V4HhkVBOWa8gdkTsANzaxnhpjMuafqcrnmzNomdTphJP405XkVlhv7Ga3Kc2xQVZkx8YPC1BJFZFR2siQM2ko3AW9kXeVBSHep/I7RXyn/qWIG5e/qeim5zbzg+3GLKFEXTy0fWsXaWkVNev9pwqri/3YWy+UC680G2+2I+XzBFGlo/JBZOGvMI+68+472niNLMimKytNNWnxxtQa6vUqrEG3APPk8TVCqlkknRS8dT1TsnbBLKA5hlq6kz7wXrZwLfUblNU1us35+zeqARMTGamosI0T/1NefTkXWnkVTWJZVYJKYCy8bKaMcWNmeuVKLE5RH0CCJNcUYU1WJETEJnGVWK1OtQgg69iHv3bUgrrdu38I3v/lNHB9fYsdcqh7US0ibzjJCf/L4Eb73ve/i7XfehGB0Yvik/xB7B7YOfifXsddLJ68aMJTqZ/1Z5dxVzcfVOBT9HLOP8HFwZkpGK1vnwrxGVuzVClTVF43qs/ap0FKpJbyB6ZPc/+a4L2ViHKrgUN4PQ1QjW43f0GqYOMHMQk/SFyufp7x8qmDWvX7ytZlpF3IYaxdP31NV5mROJ3+/zpKreh5rGg5E0CpnOP6cbAA/73CwnCkwMwwBYQzo+x6njx9hGEb4tsHTz9xC6y28pdlo1pb+xwuOoBoDBBY8mThkFY0qfe9Xr13DbNbhvTvvq9NISuGx3DtqtaIh6orb7Q5Xr16tAKfa+VhFOYvIAyRU2ANyCs1qMlOumpH2pHOhn2GoaifrCHbqwmiojlZFG65+JjNXjYyUKi56n1ksARWhzSWYULRbjb7+mCtwJALm1NAnRTexFzTVWgSTZDZJ0pBYITcjIl1YS6AGrqajlSZ7Je8BikLtM+W8J1GerVTq1S6wiqwxjqjvyuwwOmPacGBWiuimoj8pOK8CHEb3DKhqyr3Z2i8uPsTSbGoR87BiV4whgS9OAq0hUaJuPkPf7+Bzg13fo2k7DMNAiazzVN1sGjS+QQqlso5cWEWKEgtoJvwyGeugPotFUNhWxhiwG7aYzWdoZx0Ojw5gLDCf0/zcmDL84LCYzTCEHfc6WbU1SNLzlyfqnzGPCCHC2RnRh51H4z1iCPDOYXZ4yGuZ4K3D8eEh1rtTWFj02x79rsds1lagkMWuH9F64oS2TYuYRtiGn0ug1oqDgwM41zDYQmJclu2gtZToWu6HBicPzlrMbVf5nwhnSKU5RtpbTdPQjFMYrFfn6PsebdshxoTNbsdAOe8vFpxsfEMVdngABBY6TywVmnZA3aLeObTew1kD6y26rqFxg5ZU/LuuQc4Ou+0G235E13WIYYTzHsZ6Pm+iBp9hc4Y33KPtJdjO8HOHYddzkkVA3/n5GavwWvS7Lfk9AE3bIFUj8bxv6LxloPMO3mXAOIw5wgmwLEJAAu5xj8PZ+QrOAL///Vs4OT3H1YMFbl27gvl8hjCOGIehmu1JAGvbdHjppReIgRB43nKGVv9lR3vf4Omnn8I777wDa4EvfvFzcI6Eme7de4C333qX/CqDtTGMsMZh1nWkklzZ7bfffge/+e0b+NIXPgtrGt4Pvor3oHtW+v6MMcX31tUY8atIDCSlyq5knDy6h1/+4lX8m7/9dxTzWQJ5w1ho3SEEYDDwrYeDwUuf+Rzu3buP1197VScG5D3fI9+hOgCiaVCZbKO0XRa+AdusBK0+EghcxT6auabSa68BvC1FhJwroYt9QNGoP04yFlCIRJZ7JFV8R9/ItrnuixRwWwQ5c/Htih/X4EKevE/jeQ0Xy+QItaf1SCWOuQReliBPvkMARJ1jbirqYIa2+kjsJT0plCxxQi6j07QaYNWnif+OqQAN+zkCZx5KZq5/p8TgEkOX+Kz6wLJ1pQe5civIxffJVnLe4PBwge12i/XqDPP5nNh/ptCc9WvTqK4pmQzPo8dSrtf8YuIoYDww2cIMxErMy8/KllgWyNUaSWwgyWtRSaY2USnOCV/R8TkRujSqAkgppAlorFeqxbhcrTHF/G6vp7m6kz/p9adXbCXQkccrPUqidOnAgQM5KtXyrpRfJVBXcQHdQKYcgwxNPo1UBxIlQuBem2EYEELAbNZxpaB6rFXkeuXKFXzrlW/j+vWb8A3xyj3380afed6agXUNUqYewx/+4Id4+603tZJhVNTIaB9SMbwFHVJp+wxN8FUApcBz+gDlkE3FZWoUZPog6/uqE1qIoqmpgjSmkci2kaqAmWwSw3QNwFgymJHVi4kabgpKxwYjpYwYom44/X6mNsBM55rW11oMpzgVNixyvZKwiqNRVoXhMQGlBzhpBY5Fn9SXFLXTpIAKJxgKAEBnW5rJ/zQlqP7NqIHSXn0rqm/ci4f6WRhWGTWYzxqYeQtjllpRTDz/uTw3fj48GzZXmVdxalln0KbEPVjy3hpD4f/thgGrzRa60tUoArKSQm0u6zMMAS0Loug+1WfFFDtVxhZ6uEKt5dkalASy4JCFciBzrPk50PEo1CSSc5fmmuIcKDiwTA2Mk4Coyod1JbLMP61WRn5PKNxSNaXnUVoCSo+8sEp4gIK2T0jQE8n2ZTljZhoQ6N6Xa8qTv9Owe7Ip1haBlfp5KtIsyaD6s+JoJeGtgyq5jH0grB7PlsCK8Tx3HBNV+rKfrTOFTZM1D6uqw+ULPavQggO9KOexAv9qZokBDai31vGweAIPhYZoYBC5khxC1H0SEtERQ4zY7iixFTX2xKOGrGsQ5TlmwMqM8jo4QbXPNMGtxlUx/qwqjpmEDRvfKWV5HAM225VWWK1zaNsWy3mH8/WGoFGmVidkpdVaWLhkNWhMiRRfu9kCISRcunRVenWw226pSswH1zqPw8MDmHuPdXzEar3G8aXDEpyBBBVNIkE/mXtq2Hbsdjt45+F9Qyqw1qAxDrmnsTKNpdnZUq0lAI16Qo3zCJHm6uaUEUfqR0Uu/VMpBoy7nqpqOaO1Hm1LSsJjiJxkeWRjcfXqNTRNC8PaFSpO0np0nce4HtB6z/R08rtdR3S+bAyOjy+h7RqEcUS/69H3I5rGYN518Ey/ts6hHwZcvnqE3W6HFCOQMwlKcVI0a+ZoGsuzajM63wDJoB96HBweUp+psarCnWKEsw7NnIAp7zxm8zn6YUTKwHa7AZDRdS2effY27j9YYXvao5Y8JDoo2zlOAMYQEDIQxjX6ISJcOcb1K1dozq/JME58H1kCmw2ef/ppXL10BTknooMLkKj+m569dy3msyUJjAViXMUEhAT88le/xm4YNQ7JDIJa5+C81zqFjAxMKeHVV/8Jzz//HC4dzTEOEWYMrNnGfjKJv3K6P6zMnqtMjeXRNGIfU2YqryQfIeEPb/wGt27fxksvv4wQEs5XKwX0Qgw0872hvu+DgwW89/jzr38Dcdfjl//8i6LSn3OZPBDFLySOGSSTy1X7FZTVIeP+pNiRkwjzFIBCbXgt1pPr4L3oaMjLZOVl6nUyTKprxBgzb5NS9Kj7FCU2s5UQxBQMLQypCmquMVe9d/FrVH2lVqusQlDmApir35hL3AJIPCzXYbW9KyFQnGkLkGBymTGMeipKrj5bRTfrAFwKOnW4nRWIMTIqp2Siej60ZU9iTqnG63MrjDopjEzKh7nMYiaRxwq4laZEKRbAYD5bYLfb4ezsHIvlAm3Xqp4EdH05qebrunXjNoyzeO/OuzzfFpoQ571nDB3ZJDkBCaDlarqI/LITgIb9bikwyDWXOBwSOzBNquAwTxp1ePHv09Gr8lmmOvdgOn/5TN33Bp/o9ScnthZVUqudgyQ2YMR4WstiHdK8zL1V1u0hWZIClPEfOUc4RRqyUjCcs0xdo4RmHEcMw4Dlckk/26MPiODL1StX8Z2//EvcfuopZJ5fG2JE4ywHvjTY28LBGIfVeoUf/+Sn+N1vf4OcAzIi5wDUh+V96V9NMWlwJ8l6HWxKAAZVdC40izoAvrgR1LdVCIktZX39vbIxSqKQ9YAW5EyuqaZJG0VDdeMjI2WpWEpCJAaJqeChiBbkJ1yH/P1JFeqcSzJB6yFiQ4WSWq+JyUILrlBBTlbq6lQ9fqR+CWoOFONd7GIxlnR+ygBqmdmHag0kyM36vKv3TvC4rABArtacvp6Ft3i5jbNTB6j7A8WYs3E2mfrxSLCGq/uMmplaiISdzenpGa/hXt9pBoMSiasv8uwszs/XODg44ARSxIj8JCHTAkGmXjDsPbNcB1ITYEDWjuZDIvOwbUNIdc4yK7nqI01lbcT9U9Jb9q0ii3tgyl5uOQFYBVFMSUTiPJy7CBpBEe3yAZowMHtE0GPDM6/r15TNMfkX7dubjtYq1zzdF4yMSw8eKto2oDQg3UX1TMU9hJqqQ0ntauYISdgPFsWhmFroisHKMjRdQLPS724qW5QNtXVk7jESIHNqF3hPGaE3icoiUaMzIzfGyPdbTVhlL8SUYFgbAQDW6zWuXLnCZ83CN42KBkq1rcBYU6aArG0JzMoTE2sh9++cRcoNQqRZpk3TIK4SnGswn88RY8Ti8hEsi/TEKIq4GSHxzMV6azJYsNtxz6j1iBnYDSM2q3Oi9sLQHFkkNG0Lg4RbN2/g92/dIQAhBqxXK+0ZhgqdAI9PTnD16lUYFnkBCJx8/fXX8dKLL+Py5avwbQMTSbCq6w4pIOWxNuMwIiNjN1JF3LUN0gj0/QCbKemxxrLqsMdyucRutyE12hSRAqkML5dLzGYzDMMA72lEEDIlfcNuwBhItXUcR8znLc9Bp6r19WtXsZgvce/j+4gpUvuAofXdDQE2AyGM2G631FPrG4z9gJwiGt/wGB7qVV6t11TNd6STMZt1lAzvBu4ZdjDWIYw9UsgYtgPgDLbbHQBiebVtyxUPh3EYYC2BLCYDp6enSOJFM2l4GGtw/fpNnDzecfBM+9DqOY0Ut4iQHav9pwzstjs8epTw4OEj7IYZZp2vZkaSINmia/HpT79E5805jDEqeJtZMEciqxAS3nzzLQIgY8brb/waX//zb+DevYd45877anNSTMgecL6ZVFMgtpz9xMOHD/Gjn/wE/+Hf/zV80yLlAJtLf7mcoaQOhKjsAraLrUqoBMtq4JXXL2eg323wwx98H13X4ebtW1gsDxDHAbvdFsPQAwBiCgjjgLbxsKC+4C9+5au48/4dPHz4UCwlkklkl3Jtb7kNTBhcoi0igDgDzOKvE8qUhZQStR9MDD7Pn2e12KS0ZAZws6n8fVIbTr6BR9uwIJe+klWwn3+gdjpWRZJ9HzOOI4FYxulIGYn9wAm6MIcEyNOiS8WYrO8u21IsEWCbroXAwFSNItS0XtBRvnbkolBPo5SI+WHkuRuKV70xmuOPXDQT5XOJUSYTFjSeKoKcKadKW4N9PPuIzGKkkrMkUyjq1kmME3k/u4kf2Qd4DTNRRcsl89hRCxnhZNB1M3jf4PHZYxyaAzSu1UKUtbULIj98evIYz738Irp7HfphTTFSLuKNkmWKQFeSnwtNnMVKEzOQ6nUTICBX8VMN1BDoU7U7Zij7a5KLTNrjyrVP84I4iQXkf6ognmRW71T23Zgpm+1fe30i8aj9SqHhHknpW0XKJOEPySuKeEGhMlTiMFIVhFGKhASPgIE1rLgMCgxiiNhut+i6Tj9L1Oa06pITji5dwte/+Q3cvH0bgZFym6jKGkABkUmAg4F1Fuv1Gq+++ip+8YvXMI4DHzipNjiuqpTSegJJWouzKOV86E80AYpRUZjaKkyRvRKN14GuUMJ001VIB79RmcRZq4tCq6kqpdVnC2JZnqUcxoL2EVBbBX4y65bRO6SsG907P/mc/WRHKo8yHoYCYFOAAUxOcQl8rYw7oSZ0qhtU9F+UMSl1QlAfLjnMhn8XLMgjexMiPDUBSKYJeZJAxBrdE+LsnFRVhealKKncc6HsJE1G6l4U/n1GMBnaLnsk01mJMWDXUxUgcmVLrku3gjbbJ04O5H7EiBWF0ZKOkxpt329x6dIR967yDk/ilEgQK6VQ5/VcDSv7WlFDGVVlrPYZpqrCbywFW5PEjtesoL81WEX7wTmjapNqDLkHz7Cwlvy9elsRA6n7XawtFNrqTJVk8GJyqE6eA0XqtbVFDNoUkYnp2a57lcVMFCcs9rCukMvlmwkyzCAWj+YRJ1iLaJUbR/Vd/EQ5mHE8ZiBVSdv+vdJ7k35e3RMscv7lq6bglBH1Sw2EjCbKpWqL6r8NrOO9LB5W/630+IgdSUxzpWrpSGq6zuHo6Ij2lHMIRhT2HWJIPPPT8J9gyAAqGjWh8vE3GonBcgElYcoYBMPjcbpuBmc9jo8vcdV2xNlqg8OjA2yGEY9ONxTYyAxMa2Eir6WVoIESxw/u30MwxA4522zQtQ7bEJgKTBTbIUQYk9DN52jbhvxbBCW2McJ7rofljJSA1WaL42OiD8M6nj06w+Z8gxwjTEponIOzFsvFAtkkHB8e4vGjhzBIaBvqtzs/X3HSNCAnam4Ow0DnzZIt9MYh9COccWi7FmHoyU9moN/sYLPBerNBt5gjxYjGeuw2WxhnMFvMYEzGOBClmvaiQ0wR2/MdhmEErIV3Hin1SBkIiebsjuMAYw0WyzlWp2uay5oTHAtNRe7bJXYX2QGiJwcaj2SFGhphTEYKEZYDwJADjpZHyMhcgQVMCOjaFilHTtQLdR4AVqtzbDc9UrBYbzZIjcd222O1XlWxQmaV5MzSgllplsIaIJ+XsN5u8Ye33sZnPvMyAAPfdBzQUnL21NM3ceXKkX5SDLEE2eInBFwymSvPFF9cuXwJjfP4za/fwLCLQHI0IMiWPssYotL7R53hHjHzHrdu3ULTZHxw9wM899RtxEQJ4KxryIewPRWAVXwgiZGK6GGJEUqlku2S9CHyxey2a7z22qv4u5v/CUeHB8RKgKG2AxDjI/H4F/IzHldv3sK/+Zu/xn////y/sdtsyd8Loy5VTB1mFRlTdB2qTiFKCisdkpQTK9gzBT0XIU2as+2QDM8r5tnOdbIv9y2VTGPyxF/WVTL1r8yOq6FfVC1DsnoWprgTa4CmqTRD6vey/zVJgRCe3Uf/LIsAZmmiEimVDxIdFGlf4jZKVyVykjBm7rUm+2oZ5GD/wNfuG1cB/dDETGxy4zy3p9FzctYVQaja+UkCm00Z3+dqkAXsywHDGgI5FQq14QkYRpNVqJic3JcWMFCqp4ZH6mXxGyjflav1sM7g+PgIm80asYno2o7XM6kuBHis02pzjn/+5WukM2Q4XzLE2kAVx1iJGYSBpLN/oxaELItvSjxlkJFyrEClCl3i+G4CaWRSU4a1k3gMe6C+tFtJ7iER7yQXTNAxRgYV++HCyMtpkfxfe/3pVOS9ZCWjFnSBDtampCfrw5MePKV+aAmFK4CMyiBp+3U5SIyMJBbN2W63mM1maJpGkfpp8ztwdHyMr3/jz/H0s88h8xgiK5RXpVAYpk4ZDP2AX/7yl/jZz36O3XYDi5IUWHak3pdAL+nBLgIpWuUSo6HN2lLNBQ9zL0Hdk6q2JZgsCNn++mtACOjhVyQMskmgn6PfIweQZ3hCf5p1D5OsfBk7Qkky93CC1SGZppJyIoNSV5yqPXJRFKjQMAkskK2wT10u89CQKqqp9L6mSlV3ujyTa6jXcVIClfvlCpXsy2mnQnmP9tREAlmommjYGGTuPyCEMkoYbiIj7gWJ1Pm5k16U4jAgIgyhvg4yQH2/Q0w8kzVnIHIDfzVPrp3N8fTtp/D2W29SZdhwQDfhLMucVDIgzjmcn6+xWMwn+yCzKqxl4IlEheiZWPAsX9iCyMm5YF8i70OS9oWsqKgBYJyfVHn3H+YEoYYk5xd72A33gKCiDGuCqPuPz0GyHDDEPRZRnpz3YpirEUl1tVETX6GTCRJd7dO95FYqjeUcGGDCrrhoF8CAkiSwgIU1XkEco8JiRu9zUumoEGVhOiRVHa8E+o3dO8P7VWbeN3J2bamgTO9H7r7MuPVVf3FKSRF2oPKZpvp75fDktoUlsN6scTkl5ED9zAOL/IQQWA2ZgJuGx6c45xED0cWtEaFKFsvia0hsl5UawTFailFHHYn6OlWXko4LMZ5aWyKrDx8dHaEfdnj8+AS+7XD16hWcnK9YdMbAeenfo9mqBKYZJa6knPHWe3dw9949zNoGjfe4dfM65rM5vHPwzmI+a+G9RdM0mM0cmrYBttR7ut1uMQ4DZl3LfWf0Wh4cwjpfBPP4nHz9z76Kru1orq7NWHiHOKxgjcH6ZMCBb7BYWhrl4x06SyNsZrMWu+0GKUYMMWEMAduhp34xQ8ljH+hZetcg5YTZwRIGQDubwXYtcoroZkfYnK+QQkTTeLrnxmNrClgzjiO2u578ZyABHJ1xHy2rw48kzBdH9H3PfZcB1jvA0OikEALCLsD7Bq5pYY1Bx2uy2+5gLQkqdV0Lz5T2cQzY7Hpk0yEmmmUrcYjQmFMIDPg7mrGaE9q2xXweMfSBxjnZGR4/PkULi6PFDEMfsOOe7ZgyQo4VlIVi50rTEkzOePj4FG+/ewefefllnhkLGCQs5h0+9amXYB1TOI1Me5CAtvhZSSgPDw5wfn6K2azFC8+/gHsf38d7736AnASs56pKLoyp9WqN2ZVZNYrR4NmXnsdffPsVxBDx2i9ex9VLN9E6A2eKequa2v1RYTqFwCiACyPjT4owX9KRfOxHkfHxR3fx+q9+hW+88k00TQvnBoyBxM5GFhoLMWIMEc6TivQzzz6PL3zhy3jt1Z8y6CpAfYmpoqi+p7qNq8RhNCO0jDu0EGaKVF+LnRdbR20W0GRqv+qUM4Ak7Rpsq6TdJVfrVRWEXC7GUwDalBIQo6S0ZXyQ+DMvIj92Yu+A0uVS9Ghp7whTsrCw9rRgKt0NMa8piQK05MeZNYu4Kiy0NdZ40bxMK9hTDQegYh5qciu9woDlCrZkoJMYwYBG2EjcwXmAhWNgowJk9ZjQczSiMM0Ky8Vv1aC15DnSwpMKq5D3i7C51C3LmkP8lEVzdIyz83OknLCcL3ndHY+biwogSzucnAUF5k2h+Yr/hYp5lsKBrRJRHVEFZgVkaNtNPUoVBnDcry3vFR0as1dQmia5poo9q9GghosDxtHITmEcTCZdmE802udJr08wx1YfDyBolRa+ymaUodN1ciEWtq740E0m5lTzZ/HvmyowzEwdXK83nNS2hKoq3RSaRBwcHuIv/+ov8dQzz8Jaz8kLRTXGGjjwgrJoTwwBb/z2t/j5T3+I3eacx1MQkcgag9ZbWJs1aAT3tThDh7wwH0pyVAdn8tPEsw+bpuWxEUWBrwSCpQKWZZ6jrBNkQ8vD5gH33GOTOTgzYk04ARx2AyXn3nPCLcaxGAqgNixOf6dsUsvPQHqmiZePbJRqKD3I9V6pK1XFFvBzNSzLlI3SO8r7CLEigKfQVyYVWXG41Z6UBKxmFQjlmj6D+7PYAIpAUYpMxdFq0eSRqsorP8mSRHEg7qwgpkCySZ9VNgZJEkOFobl+rNU/yyhqJcxjje5bqbokTnCsrJ+z7EOtgiazeYcYR1baozOno1UU2LCIEWQsLWU3m90a16/f4ISU9jDR/6V9oFCa1GFVL8u9eEbPe9b9N1nKLGicCElU50cNmqsSs+meKbOwK9qzfHpG6clItcRD5eQUTCh08Rr4mXz2haprSXYlOJOXEzou74dpz7zcgTzXksylNAWqlKkgCVVOKthn9N9QOSt2Hs6pIykUnir51kCk2JtqOdiBG6Upl+Uov1fuWSoi3LuU67UUO8LniinFFqXqbKLl4FXWOmgQmG1JuhIHIxYOyQAx84iWlBDHACBhu94hpYR+6GGZ2h9jRGo8QozwQskKkZBlcjV63RLCJSLN0pihxDYpsZorzx0lW8NAlS1Aa0wJ3WyG+WLOCVSE9ySYNJ/PMO52GPoe2Xrdw8YaRCO9eY5UTA17juzQ7yLSjlR/16crdN0MbdehaSxu3LiG+WyGg+UCw7iCd1aVvvshYLXusTw8ZsCFWEdtS8kasqWgnCtQIUY0THt8/vln8PStYxwfH+N3b7yB46NjXDm6jCtXriCEEQcHS/RDjwf37+Po+Ai73ZYUhUPE/QcPcHp6jnEY0e8C+n6EyQY2EYCaskEYegz9gKHfcQWRrnnY7tB1LeaLGVpv0TQOwwboN1ssD5bYDiO8pVFSNLuU6M0uZ4RxgHMN4hjQWI/GtjQ2xRPY4JyngMzQuCVviKWVh4iQElyXGSAnf9B4D2cdJUSxjAFpuPfMZmJ4gSseNKeTWDVhiECyGPOIw6NDLHNGe7Xh8VTA1auXMI4B22HEpUuPcXK2wmq9xcnZpkBMPJYKMIgpaH1Hkz5rMYwZMRssWhLu8jB45vYNXL1yqVTMckYKzFCQmZtSGeSRPkeXj7HeUAXeuAa/+d0fsO173jeAOgMqxqN1jc5vdk2rBYL58gD/+MOf4v33PsRuN2Axn+Pbr3wNORsMY0TnHVGPq95RSRStJVG1zD3C5SpLgpiz9FlyoqDFg4xf/+qfcf3adbz4qc+gnQVkCxqHlJjWHYHQD4jsx1zX4mt/9g3cv/cx7r7/HtFO+fsNGzpKerL2NZb+RLo6K+rpvD6lIoVJ7KXWU2JGfnfK0rubNEHRuI2/K9XaCCYXrZBsNJGg+NBOgH1iqBRwVFlSYrtzASsK7FkYV8YVpocmLdUXZBR9DPVpuVQsJYa1LCSaUoJJUvUtRaWctVOb2Uemil8rVl/FlJokoKJbI3GGEc2PrBVOVTqumVAMZGh/bi4VTWNqfRNh73BxxoJH4phKt2MaA0gxyyjIXnyu+mX9ZWEDlRjDWovjS5ewWq+x3m6xmC8IHMpR6cwT5hYMhjHh6tVrcA549OgRjaLLNCpMwJYJhCLTQaww0LNeq2XWgeiHOEfzu7GXZ0nF19gS50hsqtutjr+lqJBdNe6nVPozC4jJlI56Q4ubzhXgnZ8QW/2x1ydIbCvxDw5Mn4ReTINSo1UiGQMkIkOSvdfVjvJZZYRIjBGbzQ5t23FSK5uvJILWWnTdDF/9s6/h6WeegW88cgKGYYTzDWIK8EwDa9tWS/Hv3XkXP/jB97FanU2SWmMMGk/0rMzz77TqwqclV4dO7l+MTanG0v3I7F+ZvymBd871hhUjY7Tjq4YG6nAd1RgOWQsjTfDCBa3Rvpwn763pAvv/rmgNj/GIMTOfPipSBFA1lXr/rAobGRYyCEFoDdKXZlQ0KTMCGzkZmc7BFUQp6p7br6gZRv+0WlYlt0IpEkNX9lrU3MlCDpKMN6pG5wDa40c0FKsjiLKirkRJkj5Dw8qxVhBDqa+JIFAufaDqsGQGLdMlJaFEFJZDSWxpLugUvcrs3I3M7rUWq9UKq9VKq7g1Q6WcwqoyZoExjPCNV7DFMLhhFByZqv0+4ajy70iCU5LP/d9V4KAy9NLV6LQVWUCx2qZA9+JUybEWYisGr9a9na4ZgxqS0DHIK+u8PwO6Ph91NaUeHyWCXHXCuP9SxoApAE1JYktCpslnXc0Vqu4e+l6qxULnyaWfFEaF7coZtLoxS1jDvXSI7OhkDW1tkvgZF9ueZPyaYUVZlGDYWOrVz4zUpphprjNXdccYCg3aiNoi9f2RfRBaHF1jrObngu2oYyXdvOQ+TyeouuEZpxRceRgsF0uixtpSrSr2mtZIWBaWBXGIX0BIueW5B7KWiYGkFLkf0lHgHkLAgwcPYIzBbrfDakOjs2ZNy4lVICDQMrPDSH9y6UGTMyug6uHBEsOwwXZ9hrPHRGs8e7zC4eEBLl0+xrXr12Gs1zm8fQg432xwXUHK6Xml3roRGQYhRrz33h1cvnQZX/rCTXzjG1/D4SEpS//+7fdx5fpTaFyDeycrXLlyGZtgcXz5Bkx7gM16hXaxoIp53MDYJQ4PZjg/P0cYNzA2Iww9vHdYzBcKiLbcDz0MA1IOSInmqfrG4trVS3jxpZfw4NFDHMxnOD89x2KxUHVsay12O1JV3u0GIAPjyH12sGitJ0HJYURjHeazOQlAIcEZwBmiLA8DjYLKKaHfJaQY0fGowJyIWl7G2gUYC3hDIVJIAY3zRIME2c5FO4ezFjFEhBgRh4i+H+CNQY4Bw8iK5s5i1szQLjocHi3wPDLu3X+En//iDcRkENj2Ouc5WbJ6HomOTBW4zXaHj+/dx+FLL8Iai8Vshs999tNoGvan0h+ZZBTQnt1mZsBms6W5qc7jwaPHuPPBh9NqopEAvALjnMMw9pg7B+88AIvTk8f46O49muuLiJ/9/Od44fnbeP65W9RHagmVyplmpEvsRfbL6TVqDMi+bBpClqkZRWoU6PsdfvqTn+Ly1Rs4Oj6CsYDzFsNux+1rBEPklPicArODA/zlv/1r/I//8/+Jk5OTUkjQOEwKDoXGCoMiHidaHPL/TRHR0pnGEConKvYOqupmmvoTraehqqIWPyoqyFJhLGwvmQyhC8XVwSR1E2VSci1hT5Ok9lclCSK/k6rCSuW7q4qpNVUSb0TYs/gva2oBU+haUxEgsoliyrg1JBTGseGT2Yxi0KZAMKTVkcEnOTPCJtKwQ/5Q5pjRHxpjCwV2EmMTYJ8tP8PEFXJbb1Co3knRCZn8Y1UAo7/rUIAJoxE4PDrCZrPF6eoch8slt/nxvyeDYRgwhBGnp2e49/EjXL9+E9/8xrcwn2WsNxT/rbZrjMOAp27fgncGBtJeVgSzCngge7QqKtYFI702oTcX5Fuq56gKixfjrjzZ42VhuZK+94762fPl8K8zG/DC4v7x15+c2NaSz9LXOLU/Zbi9yDqX6ks5TDlDaV0EhyelE0pQXie12+0W1roi2AD5bK6+ZpKw//znv4jPfOZzcK5BitUwcKkcGQpEjLWIKePjjz7CP3z/+3h08mgagueMtmWqcwaQuSJii8JnXW6XYcxZZ6/JGB2pxpSBxFH6AiYbqjbXctW2VLnq9RUjmeoxIQXFMxXalHWcUWbKg+MEVTYmJ9lCtWMevsyoBYs/kEK19OUYpTQZFWSZ0l0zV50kGJaE2BjAex5wLkmUMZxclEBPFP6MMXC+7BmD0g9iWEUto074TNXHUmZpilMWSrEYZMMzwlLdkwkDQPoOOOmUf3ZUQcpZAWXt44Mgc4ykmvpIM6ABsCqwtNJap5L1QVBMU2hZhulFMUalBgOkXJ2415geNaehvM+1giiOUQ04q3zr0HWL87NzHBxcZjMQ1ADWvaopCSX5CZVIPQOEFJJoBCaKduX39G9IKTCSy91a/O9WgvJqzxdWQawUHTGBfQrAU4GL4oTVsxZFR0pIxdZMhZ8mzADuxSoOPe2Z6OLQ5T0amvAa0s/oF6I4+Fw55uo+U5r2qWYQXVH6X2q7nnJi/kCgKg3vG3shMGBHqkqaU9Ct9C9JAhc0aCsHw1QJJrWVGCdNC2y3mWmg+47ncxqAk1GRG8ycsJD9tobYAd56HbUDUbDMPBKLg8Ku6xDGkanCVNkimwIMA7FTQhhhjUHTzXj8T0lqnXOM+TFCnDMcn3cFLCofAwVKckGOE6e3KcJkSpxSDFitzli8yZGjDxHHly7B33uIOCZu/5CKguU+0MjAFiuOp4jr167iqZvXcel4gdPHD7FanePx4zMMY8Q4jHj04CFOHj3G3bv34JsG3rcwMSGMEZv1Cjly24A8aRnLxm0UKQNjiCyy5BFzQj9E+J3BO29/iPUm4s779zD0A42V+cM7ODg8pPmlOaHveywXC8znc3z88cdomgZnjx/j7OxUk5cxBnTzGbrZHNvNBrNZQ3OGLQVnq9UpVymOYa3FYnGAs7NzbNY7eNPAuRbr1Y4En5jSebg8wJWrVxBjwltvv4PD4yPMZnPcf3AfsBnXrl+lqvHYw1nLVFQatzafU/uS9w6BFT0JTLE6b1PmWbdNo2dS5gh775FSgHONWByEfkBKkeb0th4N606sTs9wdHyI2XKBfgjchkJMh8DUw7Zrcf2qxaJ7F2GXKdlGYn2PCkjLJXAPKWPbj7jzwUcYA6nE33rqNi5dvcwAGFiNlXRDIttgW+1lSThu3b6Nk4cnyAn43e/ewK7vp9BcTnBI8DRXpohPxYA0ZjRujgyHMPTohy19PwOlP/rxT3Hr1n/FrHMc0FtVFwagrWGZW3msCgYQbVNmedd5eVaKqiQrdD0nDx/gF6++ir/8m78mWxkSCXs6nn0sFSbWOWnbFleuXce3/+qv8f2//54KLUqBhYo3WQ6NjgnTnldhAGmPaC2eww0zleaC/ptSeLmfMzGjqwLUNQasxu6URLpEV/IsxdOkWJLhAsKWooeAmobB+lRVTfcBc3lp64rqkYgY7D6wXeJgw7FL3YpTJ+K1ay/CjHxPWpWcVjIhxOpaF0Z6YSt20f57StzwhMoZ859T2XaMyk5XGjxGay//53tO9Q9gdMaqqeJDET6UvbP3LLWFE7qfEQPmXQtvDc7PVjg4OETbOq3aN22DpiPV7/OzNd55+218fPchXnrxJVjrcHB4hO024vdvvY3tqscLLzyD2cxUyyDPivduqp6RKUGBgP6iC4OyqyatS1ZGlUoOsr87qmKGPM3EbAJTZT77gEK93CrvYS5svn/x9Ql6bEufW0kCStWyIDuYUDImFyo9ASrPYXRRJvMNQfL72+0W3jdomjqp5d9gqutyscCXv/RlfP4Ln6egwjgeM2Fp8DrPNgQbkpQS7t9/gO9973v44IMPYLWzgBbaugYwno1xAjLNrTU8bLzQhvcfWlFcLZXc6TULRkH7ftp0Lb9hDM1tRDawFVIWY2Ta9kS/s1o//svew9+vQFluhJQh80KUMUy323v33riTMvKo9A0WB0S0roxsHZqGrjnGMicYlhr/haqSIvH3qf3EklQGi4UZgRlR9ppWr5JTIqHco6BQAipZy78rqtXSS5unaybM8BpaNLCq2iyBv3Ni7KsqPe8cTZY5Adqv/gmIoQiv7Bsx5ijVYzJ4ntVOp0ktGRHDgiyGBoEb4Mqlyzg5OSnOZGIwpglfxcTEMARcuTKrrnGP8s1zQ42ZOqoaYJrsEx1wvd+nWaxT/fl1D3KJ5SqlPkkW60rlBOGuAp0noHkTomz9zFh5m57l9HzId4l4SuJ52rq3KlqdjC9yPANbetChgQFVD5Mp+yEZGmMhwFAdBAioAg76BKwyFT1scq61F684z1wFRtZYVjUnmhpy5jmvhUYkYFA5O+nCHriAutoM4+h4WnDPfgXqpBx5RmktlkL73zmLosNFoA/Z7UL3VzdoSyWh7we+5iKA55ylPtcU9VxK24UyJKpedLIplY00ZdxYuUimR0krgNgLCSjr7ZQzurbDrOswDh36vkcIo57pogpaBVoMEkgvmgBJOQMuZ9y+eQMvPP8MQthiOXcAbpC41LbHyckpHj8+xdnZOXIa4OB09EPOCbvtFuPQw8/nDJ5ZJCQMIeDx41Mslp5tqMNXvvwlqi6vV/gf/+N/AslgDAMeP36EtmmwZHr1YrHAg4eP1A6N44jFYo7ZrMNms6EWG8fPNVueJ0sVVnvJ4OzsDIvFdYysqmytxcHyAG3XYgwBMQ7YbO6i62YIQ0DXzdDvBoQ4kk2MCV1HTK3zs3MYa+G9w3w+g/Me49gj5YB25pGRMesaUjcGUVEz08ZDCPxwaV80bUOiU7GqXggWnopyKHh+uJyJlCg56doOIVDynFOGbzzm8xnA8zOdaUj80Tnsdjum9hUKnzMWN69fx/bDBzzGKGsyWvsG2asxJcSQMQ4jdtv3cOnwAC9/+lOIzBzKDEC3TVtGogngKp/JduTk0Qms9bh37xHefffOJGaQHXp8eIAvfv7TgDVwObL/Izvx3vsf4OTkHCmNXH1zOjrwvfc/wK9+9Vt84+tfQYhEqY8hXBgDOAUwi8XWPENtXBnFNbHxmRKKt956A1duXsUXvvAlWG4NCmNASgHeUyXfNw3yMAAG6LoWz7z4El788EP84p/+CSmGwkDRHsW6naNQSnMVuouNKey2aXIjCVW5NRZFrdda76eiBxsz8YW6OCXMlNufJo0Ve0o/huNRY0XoR3aD0aS0AMcVc08qe9ZMJoCU7+PWBlu3wFXtc5CqbnledeIuF1huyfKc1SdnLjLOUuK8krxPk1kAE3+qhSDZLwbql40z7K9LlXkaPOfq6VXpnSmU6zoJho6EKsJHxECz2rJXbQXNI6vsQSvcbdvi+LjBZrNBjBaz2UzX0BiDrmvxqZdfwlO3N9hud9gNJziYH2IcEg4PPV588TaGsccYtphhQXvYllvMPGJHFbX3YjNUjENjaHJr4rjC8ki/GKkw5Bz1ytIaV720NZilqIbs5TJ2LlfueD/Hq9lrdQHhT3l9gsRWgs0qOK+qgZBAhBNCqfiYTAhiSQiFJiddYqZUKGKpVG23PRtSr32GdSXIWgfvW7z8qU/hM5/9HLJxGMaIzBSlGEmsxBrLNBUSXDh9fIYf/uCHuPPOO0AMhSrGPYnWNojRVNUFFiPIgEmRqgnaIwbta5DXpMdO0aIyl8oIzbhKxsph5F5GVL0RQt8WKXJkOFXOI/EtyxmaZQGvEoQViqXTvg1TCR5AxRAyiB0Ea5BjRI783fIcjdMkB1yFQW1g1V6JV7JwVkZ+SPBcZrSV5nDu8WN1UFqLifUvvTVJvibp+uyjg3LPWfvATQluUduisidN5Ux05hqj31DglmBaI0lmZAEDnt+sIXitzlf1F+dEFTbLfVBWGvLBfYgJRSyLZwpTMFb2GrKbKMfabDBfLvDCSy/h5NWfV+tWkORcGRbOhWCNwWq9xnI+hxEJe7U0mBgg7Ycw5Z/zJNCXNS4KiGKMqC9niqjWAFipXELbA+q+JT1GlQBZWQvNa4t1rD9bK44sesYPJ/Gv+8k5Luj1ZD+hJIlJ2QJCDUp61urKNfh8S5JnjIE31T2YintdATaGqVtqFxTVNCoIUnptndLnhHal4nxqJjmgyabqvaIeekrEE69RHXAW9WJZC93UqJLeXOY/ZrbdSvvnQKUOmOoqqLB6ZK8aS2JrMWcWJTPqY2AzbKIk0+ps4gTraBysmDQCFwxiHOFdQ5XbHLFYznHy0Kh9ywrUZR5vlAuYlws8nCHraXhvGqb9l34vmdtqLHDt2nWikcYRZ2dniCHAWId+uwVShmM7kJC1z9aaOoAVeDGjHwaMMcA77uUMkajJixmuHB9iGG/i/Owcm22PEBPunZwhRBrdsl5vMQ4Rs5lBDBlN62FNwtAPgLF49Oghlss52tYDeYZsiYr+8NEDWBBI0I8jxhCoTcE5Ssz6HjlmpgL3GIYBbdvAOoPtZo1Z2+k52O12cM6g73e4e+9juMbj7OwcV65cRkZC23p8+tNfwnq9xh/+8AccHBzAwOLy5cuAyfC+w9Gly3j//fepwjoMOFgu0XUdUop4fHqKm7eeAiywXq9weHCIxXyO7XaDbtahZWpxigMWixmGccBmE0kULCWYmGCcBwwQxgiTLAlHtbRPG2MwxKRshMyiZJAzHwKMtWi9w2azxbybU8sOaORT0yZkE2kaAtsI7z2MtRjGETEEeOuQY8bVS8f44KP76BEJztHYwQr+UZd4eG+SbX/66Vu4du0qMwYiQj8gxIjZcau+uXxIlUDFjLsffgQYj9+98Rb6PvJxlnNBOiJP3b6JWdfg5q2b6JxF23o4R/v++vXLOFtt8frv3kLjLcaKzphjxM9/9iqeefoZ3Lx5BSY7pGRpxjXrnkhMUcA5ur2UpyNq5JqVNZFqNVt6DbsNXv3JT3D92k3cuHmDRak8ct5w53xEzAbGtBhCgG86GJPx1a9/HR/dvYsP339f7xuc3MqEiQJ42Ap0Lt8dq8RUPaIKidaEuzyJC7Kt72Fa58qTmFHea1SYUdxGTkXXnn6W9foLMMyfkKrvzlHtvnxfqvyrgWzD4odLMimvGuSrNyr/694UD31LLvGnABeGx/cKHRi5JFuG467MsYmMb5UYwPAkgqQjvqeZjyZmKCBPVtEEedZ1AlZajyj+K9efM7QYl5lBVTaDBB/MnIiS6Zc4tFDVy7Wgbl9FtbGQ0TQWx0cHODs7xdAD3WzO90Q2wDcGh0cLHB8f8mUwA817XL3yEra7HoULUBUjjYQHNUjD98XAr/QfS0sagVYWTRmljmyrWKxi3+0X0qqdXRgLuheNTlyoc9rClCPwXFoPP8nrE4pHQbdrjWrmXKM/SRWSTTXuBCzBbyCVCnmqpqjwWYcYE9brNZqm0bEOgtLX92atw/PPP4/Pf/4LAAuaCASQc4bzXh+kbNj1eo2f/eyn+P3v3wBipEpI5pFCJqPxXoWpCuovPk2CGlvdMyaB4KRKZwockeqDw6GvVKuEJldvhAu0ilwdgHpuVm3ITPn8+nP0fxJEiapzFYsbTXaJwhWTrE2pbDrnpxUdERLSqpH0yhTEykBAjSnFPMWEnGROJl1HjIlBg5Iwi6nVYFohLk4o9vZovf4AeGSQUFiyKpSCKwHgfFUQQaO6p6YyOJp+8CUkpYlaNeK5+s0qUdKEMpVxQ/sOzZBcvVRnMzv4GAtAQvdkEUGGp0ACwHazxS9++Qt1nFN1YPqeVCV8sl836w2uXr2qFcjaudFlpQpMof7zpH0nNfI87UMlsbVc0crNBTRwvwobE80V1BaH+gzpb01uqlqXvT0weQPUQYpjUTXr6pr2kcrqzigJBBg4Uq9P1TBTEh0AgLNMR2WaPcp5nFZmZQ2mdkMmEmi4ooUbDbfKqTDTEQSA0HYTsimMEXLcUUVqCppao7X1Ne6v5kWgQddXUZtctTiUwEqAA6RM4kxWHKWDc1Ml6pwjbLZIhkR6jBVGhWEGDjhIyDA5IgSaH5pSsYfjOMJbj91uh27WwDdNqZIYcF9hvQal+jtlCuS9cPPinnTOIYSAGKmqee/je3AWOD46wnK5QNO2eP/DjzCfzTHI2eZRIparX9prX1G+PvzoLm4/fR3HC5rhGkOEdw4xBp6pDly7dgVjGJEADDnjo3unSClh6HtstlscHB7AGKpcGQBhDOjaDovFZXz80V3cvn0LY7TwrUcMGcPQQzT8nIglWUp0V+s11qsNkA02my1yzuhm7cT/9z0p0qYcMAwDuqaFcxabzQbXrl7FrG2wXq9xfHyAa9eu4cr161hvt2jbFmdnKyzmSzw6OUU3nyMj4nTVYxgT2vkBlrMDzGYduo6SVt/NYQyw2azw8OFDHCwPsFwuiXI8m1Pide06VqsVHj16hBApQTeZhWYydD1nnkZqtM6jaYiankJA13iqOPsG/cgCZ84jI9AIGQaKG+cZeCZ1ZWMtnLfaroSUESIpNNNeiRxTGLjW4YUXnsbdB/ex/uAe9PCrnaPKtyYwpqiQGgO88OIL9JyMIyZU02CzWWO3a0iBW8+x2Bj62IODA8znc3xw9x7ef//DKvTNGmC2bYtZ1xG1PV9DysDQD2hah5wjLl06xGx5gB/+9FVY2ygoAgApJjw+eYwf/egn+M//5e/QOiCETL3gqdgsVG1BmVlSNDig+H+yhKmMpIGcTUkiaVHWq3P89Mc/wn/4T/8ZXTvDdrtG27YIIRAtOwZY3yCNI0ZPuhLtbIlX/uIv8X/83/6v6EehYrNAnENROmZ7Jf5YgUxhRrFokICRVaFcn+XEktT5Uh2roPq5VDPrOBAC3JJWxKTlhJ+dMMN0TdXXJLVrU5tWf7hRISDlf2rxoMSqUokVu1n7thq8NdV16Aac5orqz0z1vKlXJE1+ScS8BGDM2lZltMXMYBpXTGIDzg1ooobSAeTDeU1rPRdhEJbPkkYbGrlX9qmp11X2ggIT9V6uhWWnxCFZ51IIKf2tly9fwvn5OTabDYGAllvF5Bmkas1ZaO8LX/gi3nrrbZyePlb2Rs005C+c3BtpB+2tfX1rRvJjXZV665R4XRmTVr93/wPN5ICY/UNRvkPUqveFsP6E1ydIbPOFRBZ7qmXUm1fBStJdkMrJVH56Bs9kgiagOSfsdlt4bzGbtZoslICQDGHTNHjhhZfwjW98E0fHx4iJF1KSHseTJg05aeeJDvTzn/8cv/vdb5FzpHEzXL4xFvDesYBJ5NmdtqpQlrmw02qGVDRLH2iRwy+PyVo5sEV9TYx6TVvdD7T1kDpbHFsuwX/SLUbzQ0VYrH6/PB+r62gZiZFxIfnC75OBI8NmFaWqngWvDR2aQh3MicQfKGmnA2Wz5TmMFjEmov5wCllvZroEqzP8jCA6VfVWHLAVRCfLCI2sBt/oUufSk5tljqcYDgr+hTaSMne77j1bWRtlJWSwumjiBDfARKFgGsAVxTcZ7ZYMGVWHAroAQhNiIZ7EqKr0aidWXY1lyH1MUfd3ypFo6pVDqfsnjTqeqbGWVwhBz3KMokots82kZ1woWpHXUD3V1ChKvwwnOkmG2FdCFZlVBUuLQn09vF5VD+9URbAYbUDGBlS/a+r9WRssrsgKuKHmmyEYPncqOLGHNMqzV+DKQM8uqZdWIMUE8S5JnYjOlXPNQYbS16cAltV+3IpmxcESacpIL6yoBleS/TyiJkr11AqaKmN+eFRXnFa1qfpbQDqaYVwx4CbP+iIYUAKBstektz/zyA7jeWUqVe2UDLV2GENMkVJTRRJ7pXM+gXEMQEzU4+otCxGFspdN2ZtGaODech9rNdIoU4hieXxVrEZBlApC0qjPVoBWNqbewgSe5gw0BrvtFt47PP3U01gcLZByxvHlyzh6cI6HJ48RhKljI2bzBXbbkbdpQsyJZ5ZnnK+32O12uHJ4CcvFHLNFwvVr13Hnzns6+iQzXa1pG1w+OsAHH3wMA49hGLFanePatavcWyfj2RL6MODy4QyPHp/g5s0bVAHKUoWMiDHD+wY2U6KUGDw2BpgtZogjrTUpAgcADrvdFgApLxM1HyQ26CPaloSW1ucr5EWHxWKBMEa8+/YdwHhstlvEbBES8PGDB5jN5mjWG2x3Pbp2hs12i+7hI1y5dFmT9NlshmeffQpAgvcdFvMDbLfU42ldg5QdVpseTTtgDBltt8Bu02PWWaY9G23liDFh1s6QjEEMI7xrMY49mqbBMAxMmY9AolqmaRyNWWJBsJwzLh0fIgT2wikRKyxmeEOJc+MbbLc7zJsGKY6wOcNzDy8M4BqHl198Ho8er3C62kKkXvRMV0wooXEDQOs81tsdPvzoI8zaBm3j4K1BCgGPTx7x87EK0FKMQsKYL774HBpv8cH772EIfdnM0taTgOtXruPevfu4ceOYQXMD7y23IQHWeaxPTnB2tsby4CocszZCEnAy4Xe//y0+9ZmX8PnPfgrWdUgxIZiocZSAvxKYZxZUS6gZWxVkLswQBlVTlnnpGc5k3P3gXfzqtX/Cn3/rW2gbhyEE5JgQxxHWWYSxRxgCPCzi6OAbj9tP3cZf/e2/xT9+77vo+8AiTYmplbVPSRr7lEofCrTOo3qMMG5Ac0ZTdf0K3vGZEgZiluSI7anoZcBWAEnZEcXuSuWxomoCzKQxgHGF9i5gSAEyC1iZuS2HYkTofdU+OLLRsyYz66QwdzILfknInwXMl7SuSuKz2YcL6T1WWnnUDhtkiK5EuZIkay4jmQwzFfFHEtpqdxuZ+iDTPVCq8oWnK1B0pNgORv0JfU5i5pojxp6ANFYKMPzJrtKFqfqQM7Oo5O96HZBYTkQea8CCwKjNZoPzs8c4Oj7mtedpGpYr8Px8N9s1fv3rX8Fwe4Bk0IZHOEFaF3TcEfsJFHEp3dM6hivIj+hSa5+pQoigWMrYyXim6YihJxSfTImxxW9LQJkn+3aCuP+rr0+U2NYXJhfcNE31M67KlR3OlYiajlbQCaHI0ayvjH63gzXAfDHXRd/vzTDG4Lnnnscrr7yC5fKAgzNanJgiOZcsyReJ/4zjgF+89hp+/etfI8Wo/WaGD5WoaeZcxtZIUltXNeT7i8EoSQSvks6RlU0p1dDM858UoKiCw0nVp3rpz6pq7P6RKL9cUKiiUFxVlNUG2ykaaKCKZpn7kYBcVZRJXVB+bi2JxkTuT6gRQukFxR4l21qLFEtlUPoThLqeUkVPrwxUEccq9yjVYqq45jIHua44irJAtpqQWRFb4lI1URejXqsY0UJadZNgfRzH6jllTc5UOVITV1kPMqJRDi5XzSV4pso1iUubzEOzDV3HOJbZnOC1z9kgcWJkLRBzQOsb7s8S9eLyLEQ+PbOcuwAJxhhsNhscHh5qr7NsSuqRTrqPsvQHQgzj1AYUhHZqvKg30lWOuMxULNQVPTElIQFTxitRA5Xn1/nNeYKuTg5UjVSz6IoW+6v+HWss9nHEulKbKwp/9cPyn4IpMp1DEHz+cDpTk+SvSr5lHWw5+3UFsZz7gotaDi7VYVSCZ/IdtiCKWu2sVcLlVf8+/bebfLfeigIN0/eLPa7/NLbYQmBqz2olYjsJFolKbxO0XUHOeOGYC7Oa7BH10DkFG8eBZpc2DY1VaXxD9H1D/aC+aZTGllF6xqGfDK7oRH2uqBT/5bqTgj+ZRJT4ZznTPYUQEFPCjcvX0bQN1pstdn2P5cGBFD6Ifpypt/Pa1St4+833yjOs7GZMCe+99x6uHsywcxYpRrz//gdsF0gh3TkH5x2892i9R4wBzhEF9/z8HCEEtK2n8Tj8Oj9f49r1g9KOwIrvcAaHh0cqGhjGSCJGxmO93aBpOiBFhHFkFhPPC25IECqEUavO3nm0By3GYQvnHFGekXH58mU89dRTWB4e4sMPP8BqvYUx1DcdY0KMwPlqDeuoF/Xs9BzGGJw+foyzk8domw6Hh4c4eXSC7WaNfiDwO6WEzWaN7W4LwKIf6FqGgUSsdiw8GdiWOktg93a3w24YEFJG41tuUyGBxK6lObfDMJJ6f4joZqQYDecV6HXOYRx6pJzhXUMzgRtP/aTGIlsH6x28czxKyML0A5yhGZrDMGIIK3TO48Wnn8Gv33gTwUDZQLo3bFEl0tEvxuB3v3sTt29dw6JzOD5aoPEE4vfDDsPQV+yOrAH2latX8MwzT+Ps5BE9NyT9N3WxhkD+l19+Do8f30NOGQ8fP8TNa1fQttK/7vHqq68hhgJ6phQICODrD2PAD3/4I9y+dQuXDufIYUA/7OC9Ezx6avcMtVgYWxR/oSBnxVKr7J5hZV0DIKeA13/5S9y4eQvPv/i8thrEOCIDiIGubxwGGLRIXEH+zOe+iEcPHuAX//TLyXcWTIESAeccCWmqBoCZ+DCjQphs6/mZSUokVcBiJ6c6NCkpGlrYRBW4ObWNKAJXuibcDighkDJ+pkWSiwmCqVZZ9kDZNxIDZE5MLazOpy0JX/XZNdhefcO0PLH37Rm0qqaAxJyu6ueXlayvEZN7rBMpuWeNG6Qaqsy20gpZrrRUtkvIXH/3VP9DgnHdCdUNG8NjK+WduVT39ZdNtbcrxem6ECG2erlcYrfb4eTxCQ4PD7mdSNJl0jdJiVp7+qHXSrQ6oCznhftbmVhZx0E1n7Csn91jy5a2SmhyKz5O1JOFcVhypzqh3S/cAWXP1DnVhN9o8kRj5F97feLEVoIlSQKNChGV7DobC1gHg0Sqd7kSU6rmbQlKnkLAMI4wmeYCEtrw5B64Z599Hl//xrcwWxwiIrH6XVFUjpGQl7YlFcax7/Gb11/Hqz/9GYbNlhffIOfAiXhNA7aTg1BXMuqNRsYr8ffFUjWq+fxisGsDMKnMTvtC9x/2pDIia8/VUU2aqxSXYnxX0J6MSZKe5JBpVYMNq6X11wRHoDf5Jrlm/R4JgosaNL2cUiuttdqPNk0YarEnqe4R0gvIiBqrG728j0U7qv6MxIda1F1yzpNkov6+yYsNUUxR53bVCJRyz2UUB1sp7beUMUschFgWpkpO2Adl9A1PBwIsEJDh+d9zZZQdDD+2yM4oM6PAKtOB9plllNrCNRbeefzFt/8C3//+95FCgLMejtX4yn2XPvCCM2SMY4+jS8fcUyFdjZj0o5hU9+8IHV4oATJ03ei8NErUGW2v+i4zG9WMqlUAwtAocwmK27Lcz1oQXwNQtY4R2swazgrYpHThDGVbnJug6LKzoaONpgjyPriUdT9CEyEBPyqQvQpWSq+vnSTvfM+5CK7lXKORSYOWOoYRmyrBlayQkT56TYDLeB86bulCm0TO5fOMMVVVJKgNV1AG3PSZaXyYCv1xICnrWo4UAw4acNbJdjkT9fJq5UZmHVoWuGBgSp6PEUXOnOHaBi0SUhzhjce86+BcS9WiEEhkkOmQMSbMZgvqZ0yZmNhSMWCwMuWEzHOsYbg9oQqgVejHOWqjyRkIka6Pe+ITgKadwTmDbb9BPs84Oz3H2dk5YC0ODxZ49PgUJhvM2g7b7QbvvPluNcvaMKOEamrOZOy2A7bbHmPfI+eEpvVYLpbYrNbouhbRGuxSxmw2x3w5R9vQjMyIiPVmgz6M7P+sUvUePz7HOF5HDEA/JDRujsY3aG3G5z73RYQYsdlucOfd93By8hiL+Ryhj4jDDjmROnDTOkpGA49PY/XqHCJc69E2LRrv0XoS97ONx3zRIRmDR6fn+OjRCa5duYq7H34EA+D09BwZQNPMsN1ttWXDd56S5nXgVpaEfqDq8P17dzEOPQtAtciGEn5nHPq8Q9O2lISmjDCOqvDa9zscHh1i1s4xjCO6rsN2t4NtWjTe0nggYxFjhoFDCqJn0eDa1RvYDjusz88whhExZXSzGXYjVWX7cWQbRgDmwO08rTWYz+dw1uFweYiH4wmQAe88tmOPpiXBqds3ruPe/Yd4cPYYIdJ87wzLwjMW2WZ437KAZMIwDLh3/z5SCnjhuVtIIWK2mFPFWSYAsPK22BJrDF5+4Tk4b7jtg7QHjPWVvaEzsly0eOrpG1ivHwEw+NWvfoP5N/8M8+Ucxjq8/+FHeOutd5GSRw7M7BlHpJjgndfZ1Q/un+BHP/wJ/sO/+2s0rkW/WaFpqf/cO1f6GLnaSYCdBOz1NRlta0Jk3FrF+Lj/PhuEfocff//vcfnKf8Px0RG6GbVAxBhhxohm5knozoGEKpnN8WevfAd3P7qPj+9+wPGaK3RI+XxkRAFZuRBmUdrMKDe3cGx7owCDFbBqdDRQEQsUH20st6eJjiILD0mCK/FH/ZzAegvg5MbkQkHPAhZOBJmMxoq0NUwZG1gck7YPVkOAxIxrklSSFqe2TD5Tf31Pv+SJLxH21B7iqeCTMMaQylpQibRiflZV6yxFAklSBRnXvu7ax1aKwPsXBfHHuSShybDQqQCdRetiGndmpk2T56NYheNU2NJva+SZcrTDrE76pLh/UZjNZsgGODs7QzOboWvnMChztgGaHZxSVKoyYGFNhvdU8IrJKuihSeOESVfa/pK2MZlpLGQj/w77ea0BW95JsSoKXqzS1utUfi6FmCLmW7+n+O0/7fUJxv1M+8Q0eJF9U1UMILx4pealQkWrqLcx0kw5Qczn8znkOFEC7fQzc864du0avvKVr+Do6JgTGQr4GtcihKLEKdXsYRzx1h/+gB/84w9wdnamdAt5pNNKaVGunFZlpz2EdS9ZvTYQBVUUqnAZ61MQCY7XFJXYRzLqhLZGbvXAp6rslUtlCiiIh9yPVHskgZR1rJNNoR7TaANoP6x+RoUmQZKfJBtekiirP/feFIPCfRuEKJXKsHNOK7U5ZxZNiiXh0++SBHi6XoZHKxgFHKYHSBC+et0VsctG/12SK2OInka0Gqf0GogT0x7mmkGQdJSIYAHGSHDOuQqPPLGN4zUUmlPpjTBK/2RqcKjYANZpj+SjRyeIxmA2m2FhlkC2+Pu//xHuvHcXzjk8dfsavMPkOZe9mXkUSsAw9Ny7Xqi2+hwk+6h7ZSbPhA0xO3VNTnVfCYBTkFDtQa6yQKPX5/g7ss5eLerrFbxSJ6DJ0KB7jXwq41cnt6lQhbSmLvcmh1AW+o+8xMjWCbMwGIygDhO0VU4NJj28cnick5mIVVJYXYpiStUsgnr/ClAmSbUkozXaeeEeyjdNAf59kTaU76PqkJzZKTNBnHx9TQQ6VfFALnsjpQQvSaw+d4neatS/ft5QkMDw2IVhHKkyl5KqT49jQIbVSmaMRcgQmao0kN4s2ZN1EFaPlzAyeL6qE+jjqwBK0UzgpUspc3WSKKyr9RohROx2W4wxYtZ1QM4YxoBhjEpzNhUgNGE6cMUxhoTZolVVdxJlckgpomk6eE+Gpms7XLl8GSenPWIEdv0O2+0Wh4u5PlVrLbbbLfq+Rz8MWK9WWMwXyCnB8TOIDK4cHBzgo7uUeMYYkcaRryti5lr0/cD+ImI2b6j3l/d0v9thYBuYckQ0LVx0GEPGZtcjIeP08WPs1jteOwIgEget1hI9vR97mq/tLIwVsbPIZ8ghctXaGoMhEkW6cR7WGPRDTz5j5FE7iajSvvEYhxFnp+dofMMzIg31KqeAVb/FYk7zeXe7HbX25Iy2m+Hhw4eAMxjGkcIva7Dd7dD3vQJIOSX4huOOgdYos1o3AGyxne7NGBH7HsuDFv+/9q6sR66jCn9VdZfutj09M3awPHYskYSEAMIBKUICAYpAkeBX8M4LP4YXXvgRPCAQ4iGLhKJEkNgIEgSxnNXbLD2emV7urSoezjlVddvD4reMdD5pLLl75t7uurWc5TvfadoaF85PMDt5hHm3SqItsn6SAKRzCH0iZOJwdoj5YhNu6wL9nnMw3AtcbATDDuzG1gVcu3qFWvlUVdFnHUVoiubhpUsXcePGN/HJx3cQQsTm1ibqpibWkTV4972b1EfYOHRdBx8pmFRXLDApLRKjx/vvf4DrT1/F1158HovVCkf3DnHtypfQNjU82xASbBN9ghwQlPMn7+lJI6M432za34HZbB/vvP0Wvv+DH8IIE3C5hIkG/bJHALEMpf1h1TZoRyO88qMf4/e//Q12H+5y4DpvzBFZQ0C8LvmM0pfbslEfxIaM4sgMa3LLZ1PuyzEOzwp5/qexh0pbSHptSBsWUdZd99fWHa/kOUpANQUfWSQvmqJVXnFOrB2bMR1aBesn5HsKRVf84ZwkGTqDA98Bg4OLKeg5gyy2MJCpz3m+Z5tTzv0gLdqSrYzH75sGil8NueyEfMayKLYsGyzG9JSxzr/7n50yeSeE4hlILDnkck8AaOoG5rzB/uwQ0Ru0o5ZMhoGOVSBGOjMEojF45ivP4e7n9zA7OOTXYrZF80DS5xWdk/I8H4x9LvfJDyyPHz1zi5wPzvZTaTeULLFsAQwHRS59mmP83/BEjm2ZyczGm0xrpAluOE4h7alSDSLzs6VuyhiLZbcCYsRkPEmiUyFmNVi55/Xr1/HSSy9he/si+tBRZI8pQd5YuNrRpsjZ4r7z+OjOx3jjtTcxm80K4zSQSrJ1A3W+xxZ+8bocXt4H6iG69qBSy6OQs0PSiFwW/jBKJpGzWGwMSIJb8n4wYTABiA8vx14lHzbVNQoTwFru8yU0Pwy/pziz8n9qh+BJfdrknpOZlmHSIpEx7HtxRCRyKM5TnoCUlYlpw6UWFy6NU1okrlTiy+MhjleSjbdkFEq7G+MiK7C6/KzEsUqUnlgcHvnaYpxLXXAKeaRDs4xCMnXP0JzzTItM9dESWrAmGcyy18YYAc9ZcutSzUOULF3Rk9VawEtkL/V7Bnb3DnD7zif48rMvYGv7KRweHqJtGywXK9x/sIfN6XkyyuE5QMlrVOq/JbtqKxwfz7CxscHvxfQTmGYkXaAGAR8eNmInUHYICI81aS8jtKYIAFmhu8vtUnAgsx1QOoahcISLg8KUQhYh05fXUtI0llwomB0nuo9N/bizE44UUR2WPQhlPiZDRFr4FAbOGrMgGxx5L6S+pZlyLs4ibEHZlw1ibQNfD1SUS0T23Bg5g1H8gklCS+IF53sYvl95q9J5R6SWMGIqIJZiSoGixKfUNRuhTkqvuqLtQkyCIhGOneYoughGEsQx9Yy0cOkotQBCt+IAEAVDc9sfTxFqS70r65oog9Y4tPUoO7Yxm+7p8TMDAMU7WZyEjIu0txvAJPHD/DxCIKVfqiFdYjI+TzWaxmN37wB7D/eAYFMdWGVsUl4fMnEc92WP6FYePQe4SNCvQx/IeR+NWlSVQ9O0WK06wBpcvbKDvYN/AaCM6nw+f2y++N7j+OgY1hhUdY26pToxywrsFtRnvG4qCk6iQ1VTq4d2VMO5Ebz3aNsGoaYOAsZYHB2d4Px4jL7v4EPA5nQKGIP5/AR95/FodgLfeThXIRoKPBBd18DGwLWoFZa+g7GU7bOhh18uUHMLtN57dBEYtQ1i36Xyp77nyuXo0QWw49ezkibXpdYVjpdzNFVL/V9hsOx67stOY4BArc8mY4PJZIKda1fxvVdexa1bf8Xfbr6L+fwR2smYSp2aBpWzMH3HCRZi2ghrIMaI6ANGbYuGM8E+RnShx0lHAlOhB/oAzE9OEIyFcxVW3ZKcY7Y3+KpUghICliuan9wBGjEGrDqPB7v7mIxbbF2YoGmprpNYLQHSK7KyAS++8AxGbQ0fInwvgfAcrkoMLBPx6PgYtz+8ja7rEOHx3PPPop2MERBx7+49fPTxfQRUMNHA9wE913I3dQtjLXyQTdWiCxFvvf0OruxcwfTiJXTLOTn1XZ/OJwAIXP8s+0EZTI+RBXui1AxLrSTZAZTtIgpkRMSH/3wf040L+Na3X8Z4PAEQ6H6mwrLryPnpI7plj8o1iDZga3sLL3/nu/jjH36H2HvAOrhCzyFa2kNcRBaz4p7flgO0YVD2IuyQMjPokibJus1pisyXOBGS8xsI/0jyxBSsJxknBKokclJ/aYiRUuzxKQOJcv/PwUrw7lta9cUOnzZ6KyU1xmeHU/4+mky1LjK2JgKWBfSSjXSKq0kfiejI4Kx+0h+RQRWZ6GQrCt3XZucsRx8oCbYWTE13L+nPnJlMr3O7qZRxjaVIFrOZ4rqTPkhoIno6n6irhUnZ9hyhzno/2UR1OfCa7BeaE7VrsD3dxuzwEMF7TMYTycDw34j5xMyMaHH//i6adgzYo2wnGM9dMSK3RFlnbHJNfOAgfxxOC8N2TDBSnMWJgIG9XaxhehhrTEq5V24dFVNNcJ6rT4onztiKwUwkNVYATcZwSd1DWjzlFzWGExLOwq+obnE0Gqc2MFirdwOA6XSKGzdu4PLlyym6ECIr6cJwzzJHDcoNCXLcu/sAr7/+Bg4OZumakQv4SXJ+KFF+mnNrCqpxCGIgs0FVKviWwlqcyBmqkMk1xXaNReYvv5cj95aj6DniGyNI3CplZmiWUbY7pGi/fGaXlI9N0cN1WGTvfb5+MhRhOPNBdajWUlsLl74rjUdVydQJnMl0/N0yVd1VtqBbcssUaZtjbO77ueYYDZgBqU7UcIKPTpDUo7OYn+k5M41GNrJYrEgRxQLvKV7q6eiVx5fQoM9WtopDCLzhmfR6ygoLZSkUAgtGjIniABDn2IqQjdTzGTbWSdzm4e5D9H2HvYMHCJgjhB53Pz/C4niBjXMGkzbAxBVT0dmZkFqgNAXZYPIRbTtGQJ+a3ou6rMyp0pEsn430MpYfkwTj7GD9GB7cMphUztvIAkzDoE2RpR0um4QsWiFGO3/e9ADy2pVrDuiwScGyWOfyNwPV4XVmg0GM3DOU5w85qGEwZ8EKnjK5IhtEVrKqzC6HsfCxR80tn8qxTp8rfYe16ch0ccuiHzIMnjPUKYvKwk1JbK1woMWpMsW+OPwM2eD0PG5WzmGhu5ns5Flnc8MHN1S/jCzOV84hOShZdSCNf54PhqmYa8/fe/SeasvzuItCZi65oFp/ooHKPm/E4LRMaeR1n+ZhKjEwVAcZhywXyXKIKFoZ1PTBYzQa4ahbom1bjCcjbG5u4OL2JXzwj89gjUksiXwGyRyJgAezT3JAMUbg5OQE1hr0nii1040pRqMRjAH367VYrlbYnG7wGAJd32GxWBRR8PwcTk5OBvoQkQiZ6IPnrBa93o5aWANUlYGpK1RczyusgKZxSbSr6zqYc5PUqm3VddRmz7rcJilEOEtBD3KOWwBAv1ygbUlYynuPxtUwDujKTgPO4mB2CFfXMNGimy/QMs3aew9TkTO67Mix7nuPyliMGqo5Xq6WWCyW6K1P84+YKyvUTQPrLKq6onZCHpiML+CrX/8Gbn96Bz/7+S/w61/9Em+9+RqaYNG2EzhHvVBDqLFcZt2F8biFDxYb585h16/gmoqcbBhWtCYRy/l8geWiR997rLoO/aNDRHZyKwCVseA8ZjLiY0RqdWMTO4qM1sPZIzwY12hqiz6SkwxruLadnv104wKuXdthh8xgZ2eH6bZ5tac9HQEnx8dkNPP8X62W6PsRqqrGrZt/x3yxTPt/lFZaqROA4eBWZpjs7u7jjTf/hJ/+5FWMxzW6bh8+BNROtE3YSTXZoSrPk4jM9gK5kYhM5K1AnRySsJsB+r7Dzffexc7O07h8+SmEtsWSs1MuOA5SVzAwpKReU1DpmedfwN3PPsWtv/wZxrkk1CZ1r0GYLAVDZ5B8RTGgZVyp1P8wFgZCM87aFPn8W7dBMtMmFjotxq4LtzKlW84E7jVrbd7H8iVNCsZI8ikFJc3QRhnYxYPvGtO+uz4EPESD7PTgjOFApy/agkLs43R82rSniOsb1s75QV/39G92BJNtVjyXksln+Gx+fHjkWeROBVRyVagW56E8ZQIMAw6pj3lhSEYM/Y3y/Vh+z5g268F6cK7C5nQT+/v7mK1m2NzcSGMIiJ2dx+PgYLZmqwiDYC1jOpi7NPKSAymZjhCmSr5p4fFKF5SYtBtSwH1AljOZqbA2wQYjelqM5X/AxCfN8SoUCoVCoVAoFAqFQvEFgv0/fkehUCgUCoVCoVAoFIovLNSxVSgUCoVCoVAoFArFmYY6tgqFQqFQKBQKhUKhONNQx1ahUCgUCoVCoVAoFGca6tgqFAqFQqFQKBQKheJMQx1bhUKhUCgUCoVCoVCcaahjq1AoFAqFQqFQKBSKMw11bBUKhUKhUCgUCoVCcaahjq1CoVAoFAqFQqFQKM40/g1ZvzOfLwM9BQAAAABJRU5ErkJggg==", "text/plain": [ "
    " ] @@ -394,7 +394,7 @@ } ], "source": [ - "bounding_box_annotator = sv.BoundingBoxAnnotator(thickness=4)\n", + "bounding_box_annotator = sv.BoxAnnotator(thickness=6)\n", "annotated_frame = bounding_box_annotator.annotate(frame.copy(), detections)\n", "sv.plot_image(annotated_frame, (12, 12))" ] @@ -419,7 +419,7 @@ }, { "cell_type": "code", - "execution_count": 12, + "execution_count": 11, "metadata": { "colab": { "base_uri": "https://localhost:8080/", @@ -431,7 +431,7 @@ "outputs": [ { "data": { - "image/png": "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", + "image/png": "iVBORw0KGgoAAAANSUhEUgAAA7YAAAIfCAYAAABEnkAKAAAAOnRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjEwLjAsIGh0dHBzOi8vbWF0cGxvdGxpYi5vcmcvlHJYcgAAAAlwSFlzAAAPYQAAD2EBqD+naQABAABJREFUeJzs/c2OJEuyJoh9ombuEZl5qupW9+2+zR6CIDDAEOBmZsHH4GPwLbjgS/A1+AoEAYLccMVZEwQH5ACc7nur6vxkZri7qQoXKj+fqHlm5SEXxAXCCnUywsPcTFVUVOSTXxVVVbxf79f79X69X+/X+/V+vV/v1/v1fr1f79e/0qv9/3sA79f79X69X+/X+/V+vV/v1/v1fr1f79f79f/L9W7Yvl/v1/v1fr1f79f79X69X+/X+/V+vV//qq93w/b9er/er/fr/Xq/3q/36/16v96v9+v9+ld9vRu279f79X69X+/X+/V+vV/v1/v1fr1f79e/6uvdsH2/3q/36/16v96v9+v9er/er/fr/Xq//lVf74bt+/V+vV/v1/v1fr1f79f79X69X+/X+/Wv+no3bN+v9+v9er/er/fr/Xq/3q/36/16v96vf9XXu2H7fr1f79f79X69X+/X+/V+vV/v1/v1fv2rvt4N2/fr/Xq/3q/36/16v96v9+v9er/er/frX/W1/+iN/5v/7f8OAkClfi5tgwBoEKgqRARNBCKAqt3UBAOAyPyyiMbPgEBE4l4RgWDMz/x3+9n/zoOIZwIQhT1r3j0Ecxz+PlWINntWPHF+GUDbNmDYvc2eszUIBM0+92fn+HOMgGIMRWsCFfXZEbEq7Ro2qCoUAmkNqp2IhjneJ9+zl871gGKoQuxNIg2qA5ABaLMv65yt+GPtuQq01gCnrwy0Pp8xoLGe/l3BpKEORZPpExlQSBMo/PNJizHG/E5rc05OPyiG8YsAGE2AYeOyH0Q2ovGAjLmOaHMeqoBgg6pAMdBANEOzteXPaN7SKm8u963rpZN82BRQEQyh7xndlXnJqC0ikDlRqOZn5V32NX9Hvl2N4Jvd2Y2RYyWDn8v8fAyikwpKfKo6vxtfafYc3w2atCt8InNvl3naWjeJucH2fL0k7i9kllbvGLSlC1GY9eeaqro8GPacOYa2zEIUGI3oUpconypAGzD5NHkWo5UxMoVlMp+t0FyvDrW9lzJQjP7BjRqrM/eH1DFMWuuUYbB1F6e50Pz9+ZJ0ZVYQ4Y0ekxYfQzMO0263n4WLy4Z4tz3T5zTXaM4cU3rRZhGf5JRDtPASbDC/P+y5bRBPm7wedmdTYBuIv48UF7GPReWpbmLOCdrHXmz+ZaOHlvUbRDvf5TlvLTtVff21lTcK/awgesLJ6nrvCY1EIDwhMfmoNFFjgUk3jXHMfZ/LL+u7i5SkNStDYf2oUB2pa4k3xFnO7h0j97Coxr4cvD4q6xtoaMRLxmtKMil+dHxAdGt2/4g3tlgpl7HfYBEg5jH3mKpOGVD2h8sm05+ouCV5Yb6s2d/G8h7eg8FzoD1NGizVTcVBc+/RsEQKH1WMlPpQg3eK0ICazApRTfqeV2ay38jXFhWklZcggHaIc4HK82HSWHzvkdqKz+M7ylhsmG4zHBYY0Ofp9JSFoDReRRm7qK/k3EjaR2CHiVcB1RHjSDq3opKbAtIM5+hAR5+vbwIdVWdoyNkcWt2SRYH6qsUdegLmKN9yzFf2zPoGInrItwXv6oI5CjVJLPljXca4TpzXCJI7P+R7KmuqEIZVVDmsmvwXe23YG5uJEdNdw+iEnnNh3VUYI/XtM4lRWEuSxoW1af0WSBP3NmmBk5+tMdtFjv+gzved9L6Gvh7xDMIvji1iDREDV5INMQdfi2WpVcT2kZgMIMnmwNzWxOfaFLYiOcPB7xtz7Js9bRCyUk3cOGR+83/9v/pfntbj2fXDhq2rQCgDYolN0IqG0yB4s8+GTiAqxmi+Ef13kdzkI2S/L4SznyupeV9rNhbVeAaITRkSGgJ3uDTnE4xmBpUOM9KGPa+hDcTvU7kTPViA+kKJCUNFGH9wIRKAYNKyGR2GDIgOQEcaoA7AYkb2Vk1ANOkkJIjdaNMJioSescq9MMaRQEyFFEoCvtaa/a7YIBii0DbQBNgV6MbJDhgbsa+/W5sGGGrEuC02DNBUQgDnkBvEgMbAVBRzyVJApW6aQk/SUiQFqMR7IKU0AYiaESGFL4FuvDGw7HIkuJpCjBRcERoxi8RFvsT+lQD2+QTl5+lGP5sRqTDDwXFg0QbT4eDAS8gojSWffx+DAGuA/KL95tyNhs6gQgonDK2CVAsOLPwXxgWB/B+7bP8PhbY0LRgsJfjKz5pMR9P8tcJMw2hTDaiEM0gUxfiMq0nZGw6mgk6S8gjuXNMKzPy5qZTdMVDpKEMhMiovFN5K2gUNCCScPA1huKHIy/yzgyzbZ2NR97b8bSgEHYPsj/V9DMFdyfOaQGxPwC2SfIaoYOP94jIpgL2W94gNjJVy4lgDlmQo28oE6UPpmpwRTEcWZDpkc8O2MEIUZKC4PAXJGudue183Q6H5FlJz6rFQCCNTsVrp0+HRjHcSjKjpGzc+HZyHLmD953ov1iMJTJo7gXOo+LNTLkCpr4LLhxifQAUYKqfEMDeMaHbkNMsXiI9H0hHr/NZcfknylkNakSo/lf6jhdXqnHJvaDyjAvvcbAWY29W0vCwca74I7JNfDYQAgEqYyNnA1rfwva8hGSSu92zEPlTCKMQ3JjeFzSMliO9rL5jO5dzkWETPHGdDopXg8Yn58v3Jn+UaCmkwZ5LQOq0GB8JJjsUXI2xAaK6zIPVl3Mx0MMzlWGCO3R2c1daY/KHB7xF0CX3g7OESxnGe0c33gT9XHIss09QnPxbd6mMA6bMnyopkov+1rfu4yMxVgX/jvuVaDbcV38gYUxpK3kAwet5DTsVCfB1IkxyxRnAnr7YIdMz5TQzne2CYSz7kiTTau8lrlSy5nk/EXv5svED+zuI0cPmkynIxn9N1hB0wqrlHppQ7LS3Y589TIbndw04QwxfrUrFjQvUs+7CseuB8+ovSvmGjN/3ZVddC3aFJmIZp6n55ETwMy7rIrNQAcdWPXb/LsGVhuRLCmb61ljoaGalt0k5DLd8V9/6KRdWkclEIJynfc6AnQs8R84i19V7E4hegTcIpwDMqk8772kmQlCiu/z4AaXtGYaQKBY9IrhvWn1Gj1yTTLIIJSTCnzlVQSBvE0Cl03Tgd4XWfNNYxku6kUCRkUG4G+4HUZnqmHW20NapI35cnTOm04khiO3nJGVQodJjwYmPNjN8AHD9wpVGcm1ZI8Ma/BN5oJ37zuQyE0pumsR448ZWGUcpOC2FjHcV6+MYeJ26KMab2F7gi1VAy6a18LuhaADiidKyFnNY5h8JcuziilZDP+sonc2Kg53s4DDMaQ9mv5Jl0e1+Dn3m0Z26JoOYTrSYQ6BgZKTwNPQ0vVc9kSMUWb14MBhGJfRjzUDEv5XNxXtb66fzN0OHMGEJHqfrz+yyjdIynbxYQoi7vkwRoDuSfqSMnAYHEArYVuUYEPPzdbECWNVhZcHnxlkI0cW2IgFy3ystuMLeYjxhY4sc3igjkN824FeeZb8gMkicS+/WJ/BuBUgvNQjepgyBZeDG/w9gqwF0dCP2c83AZkJEO14UpjvieCv7Y4I8ZMfxdxYWRwMBoyEGn/hyRrhswxI6c/6YEvp+vQt4aGOPkqiR5zHxsv/q6iSTN+FrHY45czwxg9pw/DBbfdg+PqdFiUpYNv8S1gvg7U9dhXY5ChBBCeUNdMkaDuUbIyBFOOlbDxGBQLOLjqY6gGKe941tRJDzTP0UGkotDNedkg47sg5V+ClLChC8pSn+mmRZe8chuF6If0absifKj1n3NkCT9WOvXgho512c3nBXvs2hs0U3rGzhS+AQv6/JaX4sfAmc8UTjrEZag9SrOYp59vO5bL3TD8dv69emY6NmUfhT30G5ZX/dkBDzVKq9c/0dWzCJThB3UJq84CJa6k511+d0yKdrrp/FbxkGOZSUG4036zPEs4d2QQ9ATPnyKvWO8PqZnzs9vXz9u2EqH6h5RnfBD2cwGAbNhxilzWaTwEV6MDRWElQTOS1pxwjMXGjFj20hqnuDpGdMtbxZTihGVsXFJRF8kwbJFYdcoC0QssGApuLy5bZOFt8HTxr5lzBmzDQx4yl71iuf8hwHApIWl+Lm3VVukH+u0Equg4rQd1YmPLMqrrlTgUd/pKXF/gA6BiCmHbYLDMYZFiWHPS9AubmAanaUJhg40bRA0dIuOlnUXQPpI7+cCsmf64bDoriuVlp58kgmcPjiBlxaHhd0Va5HRl6RXAFKnTKTEmtIW4+UShTgriqJQURVErHWsTTocpgCwLcxR6WRDA/XO/34vqoov+NfXWHL+lB4dqXdlRimUzmjGVsl4KO+XhRYVhPv4cx45b5Aui/uGf7DlO4sAdCHOgMMdScszR3WQQARNFEMpqyLWABQlkni3R9yKcSCVJEKA3MGaNqnk48gRW9++LiqTwxWxt6UoqnQkDZMFgaSIx3yNOKQtTBSmt39P8hMGhB7xntOyNHDVLHdg8BJbLkITJ76o64+QeSoj7Tc0Dm9Y5k4CN1bRERWxdw+PAMmMCw/fb7ZgGSTOlMNVb+pwQ3oUoyJAkTFA+5Yxo+TjTid7pP+ujlpYqvGqNTTWNp24KX8ouktGUnX71PIdvweu61KDBkUEVk4TzhVPJ+X0vfmgLhPENB987Cmhd9F7C3izqKtnocxPFjeMf9PLP1IOeLbSXNCtvoTWa0bKpQC408UozdNaycAYGIFVQjK64wzsPCM758njU4QJGQaaulaSZpyiCfX0Y8m0QAd9Os7QlPeW5J5Jjp6adBhtVATN6BmiV3LPpeYMKWbPYtqpZQ9opk8HXUzXkMEuSNHR6NOafs4R/laBfQyTMA+NdgYAhmWjcfJuYsdgrQDYWzxDyiKm3m0tI5BSrCrDB6qZmRPYYs7Fscnp8nuIXrOkbEkj9pRc5h7KDlPTWb5Lh0ikvefsWV9POcvBDaelsB6IURPtyWnmGQMdnrVo92UIP9YwUfuae5wlXihUGskvlk2lZE9IJLxqOLInJt9slqs7Mjhn/o+yQb7lcCgfuGC30oeC+cwQVNFTHYL7OBqaZV0qryxl0/gXRma3Nsf0LWR2TsdmaLwjORkb7joRCd1aVIOqjc3mMjRkXsKMs12mw0u0bN08qzbKA2xtwsYakXFYsh5S+cf+HN9zDH/j+mHD1uvs3HEcnjbaXC64GHFwUpCEAHJPuHv7JAHickl+syyPMM+R0Ye4K4GM0JPcCBter7Rcg+q9xhiZ7sxKWdjj48JklHe40cLe6hRK+dX8W615AYHY8mz/+xNjBIsxHql1YmmFsgU4UPPGuDHHHrgxNDzm502+1hVVwT+vNje8wupEp4Hemm/I50DQI+48NzfkzoxdBUJQhpAGe45PhhunERVmwvlzISXl7OsG/brGZdNXgyXxRl0jejEwRrxk8gnVG5UUrbo+z7zWa0irevkIaD1Xs5VeLko1dxkrynOaktIeeZ7GlFHteEn+U9blzAv+bBfA7KCagjAzRFxeRVUepdyC1ixlSBKo0oYNh7p/c+BnlRyAnWoL452CrOunt3HEMdKT5QnvlOE6mKR3By//oGJInRLvVlpHv8d5sbzL9h3LhZC99HqPwp/2dhhvvN6y4J5nabGuMDP6egJltE7l299gfh4/ZwU8vfMbm2e4+clOieapc7TAzzFuDtFv04X/lrH6H5M8S07ak2qB1VGeRv55UMqyjOS4P0dkyndO4RfFeYJk5MMND7QZweR6TwZOyzOeSP4qw8/bEi5VSXoGJlFF6Lz4FoEs5gYjBsK8YN4meVdivosO8j1Q6Ey9L/xV4sRVxis1n0+f0fhEraVswPEXBxpWWruMDSNLU75F+Q7xkuMDEG0M9Io59yQXouyyRfqdVteEJi2Jy8Tv6Bf7d4ScqpJ51dlUXXPin5pd9w0qO7hX7y2ylL3A5rBk/LB+mfzYco85TTn1ugzD58WbzumTkqvKTCnPiSwc+02EZU0th5NnZPD38d5hXqbvr9dJ/jzJhEqu02W7eHox4aXheH0NYNjcWBfS5q37ov65QhTO7llw4zpTSgUHGX2CuhFXg/s5rianMdcWc7YE7eNmwY81I2QdtLTZT2joMMeSUc6dXCXyrRAeqoOU+P2MQhUZS9ShxEcz+DRGBvUyJT4d1O5seopvv3P9uGE7LjjMr9OaBuOkgsiazkwbSmWeBi37/YZF+exBS7+WSD00IqqFEpsS0xFzhsAQ8mcpsKFljR01JmHBFmN68jNHE+NFrH3sL8NTNxy46Fofh/ieeN0xAEhDU6BhLvKxrKHIRoBOk5sVWbfyROjyXNrJYBRgUIqVCCB9LpF7W5GMZkU0aXQsynkkxamecTJzB6KxgjdtUdrcstCIgQ0o+pprbN5HawTm9UJe3RtjPNExAeaadpM/Oz87SPcoyvzuwPRoiYhFhVyIPOGl5b+0r59eijEjwmYExXYIwZjLQV8iwjkvEHQbQnxTx8Mybu09cTYgFhhJXjUHMx6F4/v5OWt6U3XcZGZFvEP2BWwq7XFQDCFLBFIeDKvxgkUiuKY9DWGc1j+bsjSql521OeaFdY+wyaP0KJKSDE8yKyJ34GVGRlKXlJ6wQHdlmimYIYvE2y1wszXQ+uOkNL7l+Tz/veU+8kwFVHmbCpfTCBuayYMEHouhLllJI4JSEw9tJQSy8q7zmM/Lm6TNbGFdCkX8j2vFpTzhZ6tzVCppaDhl3lQDpUKeE01LGjyt+zKSvDIqyu+jJ8YX3NMvpH/PS7t+wAAhaRrRMTdUNHkO8XvqKtA8MmOGai+F0ot9/7pholNOqXi988w6qtISqSuCHjpnLRId+RIbCuRUEG/ywBxcz1JYVUiOxdNyLF636wJnirrZ7GzKAjH6uT6t61He9cSxuq5MIxCc2TAW+TD+DOM0/uMysc16fD3zdpH8JOgHvImdl0MclS/sHV7HLYZrdNELPrcWkbjdvke7LYJ2SvJsRFTXnxNzLlMQ4zsuS1jWUq0lpXg/kCO4XSwtkg3u5LMlU86MH6G+GD1e1orTqBFrF0kg57Vn7JaZJ3UPK6zZWu9QCwhkkqnrKntmRERbYLCy4oQXXGafs78YK9Txlt+FM444x+08dzWjqq6h7W3C7fGXpZyZnS8n1MKtB9S/N6KXTdoL81vdqlfzQU9SfpFRQsdcq0Qg1F2CVBMjKprs6HlDaVRX9DXTyo1tqk2vi6O0pt50baCpVIeJ4YzMmNWQad7yE8bLXYDNdsHwLCQVSAeazoaZ8/seyX2egizWJDaavEW1neMuScc1ZkmUVclQ/bM965Qx2Oy/GvySI3gixL9x/Y4aW49ONQP7tXheAnBTQychY5cYLgXLGXDnNmbQN/8yWIkuwGDyrQSz+XhRZLnGArDR+izqFeOzjzilVb0+LJEeXS06FnJEKoWPkNICcUWzdCAGBEmflIvnbHNlxfvUKKE14IYFyDpkTsMMtayp0PwJOQUaVyyArbBHoIIpKtCmQU0SU+MwV378fN4KKVYQf3eZlbUXi6h27zR5k2NGlNo5b0yju4KTpPqwFAsnyMrV9RJ8b0sWEBsT+hZgXmjoxtHzAEvQhx+rRLRMQTxHFFyRlEUqDde46ch5bfO9JLiE6Z7vyL3WvpEBsPzMMkWYf2sjCImIgsQTgoeJtjl3AiAFQC38R+0QRbxJ3LIAEQWSbGCS0Cb/7k+NQBmvR/X467KeZW+p8zdonXifkMSl6HYdtZR/M+pEvuYTi1OUwlOHQrnXTp8rhDrvlhpZ5iga4YYyH3ZkhoR+YnxWmcjWZS60ngjsb6WR6nmv8HsKNZc9AAewvharnlpZKCe4SAGOH7Hzt+pDar/wNEskIjOSfMHv8e7iGk65hRb+Qk8rp7DS2q20/ExhwuIoCVnvuoYdG1VHPwODM8vqjEucZlh4Z6UHUZ3GtmgcPd0W6+T05H34LPpNgQnSn4MebUahUOSLsAjPNzBN3MONkjLtd9WbPu/gPTOqQgfRWBsky0JCaHDTyrOcFH6rM6fme+Ggm3RvCaSdVkQjXbs6NZLOizs8tm9rjRrPPRHV3qG2OGXPmRiN9JOcnkP7yHoxrNhRarirfDXvBaRQD4HI3Ok5Ro/THdiZrLkdc7cQ7Z8hEdZ9sa5wTJERu4ItFZWfQiy4U6DirMzaWOfFa3CuQy57kXRz2a0l67GS9FuXlgj+E2t7cUrzX886jNbzGy8N6cX45ylW9PFVWZcTEsqgYg3A4/H1knC88X6JhnjGF6HzHN/xU4rDn/ZXdKon7EnqUsp4pxwb7BBzuaGEHWAZpKPy3YgA6o/3z8HvMWxVEN1u0zM7PRxiOfzQRt5p64jnVrsNrWELg2eTbdYn6UC32kUlA6fBMdvcxO3UT7xOuVmqNFpGiyHZhGUFsi7Um4TYKGmlcOXi46CuiZCMjtWoFKKGIOyPBVSpeOh/zlmMsToIEOtAa/W7DoSiIUcwNtUkPIlEctplOWiFgW33joUJmhomomktN8eQZLowF6MZUMsUY/XO0udNslnUVoDp6fIxEt0DmKuDhly7EbTM9KwQFeo1Q+aIccDvm0iYhyQiESn/JT3N4sfGGGforDsG0pM/H6NGN+bdhjzswo5FOR0hw/XPs7KnC2Z9+MGGz6gSwwpC/HiRqIdywk1pUgSjKy913pSGTUemDVJml5AyyjQaTQVYwL6esBvznafyM+97VD/qHNWjn4IDDnpgB+nAoV7U6YMAJFHS8yBS4IfTggwfqfyU9xH/WbduYaVGdTvKPMf+rRDulErjL3VlQGM7KTeP+Dhvkh5IoO+DcYBHStA9VuvcZhw1eUljSCmv7Z359ZGRy2SRb1xCnnZKiZINUKuIL2A09znzRv7f93rW8Oc937gGH2V0vo8NJC1PSm8/R1azZCLp2HwdF153x5yvX/zNPd5LNCVkZ2D63FMM0iL/xPaiZ5F04wFRjy/mW2mVbfcsEDnGMpLHVONItUFNzlQdBW5BlQSemv/1nhFxPBm7ksRkzoiUR20zA0DH7L+Q7pM1sl4jkEL7ajzhBqVNmH4NB0aeAdGSPxWLbpaTvi20sJcPstrrnvAMhG1KfK/9K6EqCRnu2R8M10v00P7WTH6Np2vJI2jBa01mI8kJU8SOTUl5gTC0ELpNYr1Rac47RjV6HuSzqmNpzTCqsJR4DrDaYIm7iEIm89wJmE4+Tu+Hd14l/pl1fdQB3ORYVCgvJSSiAtGB1hw7aGIqy+Lw7JkREbEFaCuwuWOyUf4ayeJBvfwGywSTxS6j4zsWORPLLBCZeEmEdVwdhCAznw7qDdBIl1c26kHbFniFLn/3VNIOx2whGulMOHrOL5KYj6ANsQhLWraRYf0jOo9E7fgeW8XqMzVM6j0tQO8tOCH1ilr5g7+rqfGHNIgYXiO87aMF8WY6AMbTPguuy4djP5HkVzoJIA1B+i4R61zGsO4v+nz5VP34T/t8FOxW7qRxhCYP8joP8udF55vN5ycaRJaDOiQ4lzSJ9wgBBR9tAYc9TysT/fD1uyK2MXhTDmSqEaED3QGZ0BYfNZlpwcNAWXTqpVQVDeGE2Nj1WhV2Mhyv2Zry6J85Q6YHwrtOSoE9aeRWCM3vzPcI3SfJDQv1XNtwBBYh4B3wVGXux+1I4xpg31Cb0U4JeH+DA9bObUvnuOA7iVUN4YAFpDnAZ5wd5w9H+EZRdK/4+ga3W+STFdcTX/ySnsIr/yyFUuM5T4x/cqILN5HxSBnaWUAwnaKmtpGAlBPfrWkUwaMkLSp7uOWESO1Mg5FvNPClebyHNKn3FWG+LABLq+c5CkFXTydZAb6U9SD6R4Qg91c8ZwECQg9xWVqbpDHez1qwANI0V5/6Site55j1Mv/z57QnV7Dm4NYfbPvXxzswLY0WvgdyHimK8VwNa5yuU+qipSqO4eNjJY1oysBBSdAKV7CS68oAqdKpjvOUyinMCyvAtsuiFn6GaYUXpY1b/LOOIfmvprR/73pG4+/cHetI1CBjw2AZP4sEUNExLmfCObnUDnkWiJCM01Uo57hIPUT9Xt4m4Xhbh3UCdwtNzvRbjGypf4Pv88VAd2DqNHRD/AmrEBhcHy+nsfJMUm6ce1XE3bQ2a4SX1ykMYyXCLTxSDBHTB+HooXm70cSP8FUdEZHmKHGlCQ0/Z8985WdgU3bK82uVI15jzid7n/dBGBsUQJiL08rdukTsUPDUU8aN9dl4JQhqqRtKNDaN/5Ls9chN8K5Hf2Q20uJmzTQUp1eUXy2k5uy7anieMRRj06G0BxaSeoZNRsD5hXiOaxIS2W3rOmsYRg06z/yUNh0LfEZ4ydZLh3x79sz4VWhP8fnCpHtjbtNoDOeftIjWs3OkzoIRc2b71Qyr6HmZDvVcpMJjEg1KUzIXZ/KSX3eiI+1D5f4fvraSUj+eEzrSeczc54G3NPoDresQ7/TERcdsPnor13B5xLg25aQZy8sSNslC0JplJ7Vbuo8kjodMAVxdAMYDnOGiiMCMnxXt32j2nHA8PCmvETruymeCVbXQnD3tP7J/QzINOtrwR/T5vH7YsB0Y2GzyzepUJQ5Bh3lzHJA3i3p4XSYbfDZRr4WQ3AYlZdg690pbvUhrWmOCuuzQa2dZcYpr1GR5ek9BCWkTmBCBAL13yBCqEU7gkoNNL1suCFzCRu3pGMPOb8U8k6pl9A9cw+RMxt2TR61nbg6a5pZEsikruQpkPHLpHSgzDBRDNY73laqRr6xDcH4gAWj1P65IPAI9DyGnza9KDavm69rIWhx4JzvyYotHsh0wkqjhbmlhQLlRQTtMReNfGbNBkx8hKTo7HPo7VC3O8aTpTnJq5WNAC/AM/fekVrBEBpdtHmKmgDb6m/M0ncPsm96dIUOosQDvGp0pWc14bipMQXOPmVsfIc9J6UW6OkgZLkcuaXIhRwEFMqMymhE1GYrRJKL/vJdnhhB15XNgRQqMiJSAyOv6uQPI2pLQZRNgB5x75BtZLyfO3zYnkWhGNQdn9SfKxqE92+pzZx0vgWf/hxQ7G+FZpvCdlPWTVuDngPjS17AaTPN1LEUrf6xZLCvog50UyDWoFdzyqEwOmNNn2LFHfqs3p3CtX22pFSQzfefXOv/d7Qc62u1s6CwRmqIT5mfNjzSwlwzN/afRLC434+osHR6OiQhPnimeytre5beGk0+wCcDJqF4S4dGirFGi/5tY7dR/onTVdGD1DWfnOeVNKx8oQk+3qHV3QEzRp7InFwAfhqsBrji70dlhWH0X6PlZF18fJekHEN5XzLfnhj3iWS0E3NLxWDNhlOYI09XB68pd+Om/tq+TLz0amSZVdDaVfL+nbnPXkXi7TXLWp63GlCttWWL0uegDS6nB6qiyOmE0iW8Oi9p5hE4C8K/r4POqwJgoGmNY1y+/z5lG+RT1wAmtXxqGtv6xCGoRqdzLwcmSQQCX188tH7Hzx918T8aKgE3wzveNJxCfsF7kSCXDTV7WEs0sup8MCnE0lUgkMseMJMMMDk+1bdS/IGijCFw9yiKwjHTniOMz33thhkzswKnMoCML6X2D6BJv4j0b46/0beqzdQN/zPpdQfZWIBwu8bZ8R87HFYU/0XsGZIdxtfc1uy91imeAWvBJ9yVLrVm9eGXoRp2Bc/2pfwttoQ5ft9TfosNKyzesl2cVlPmpUs+AHHkD8U2BnkkTrJLT9NMWe1CIF/LZCk8U8RR1kwEuv4A42cE/T22jaN5Lxh1xOgybee+FrZyM8KPXDxu2DpwliCSx2YTax3vqiivIFulhoKgYwvgBq0K734uaQ4mu4CmAr5DwqSDeBWEoMyHjAqDElC2etQK1bWuUCpVEDRK7YMqVogyZzEOX1UBZu54RuFMCLGLCmSNPGely+iU4bIE2JIQMUBlJnEBsxJSZ0c+LQGZjr7VpuIbAt42imgI4FsOMMVVAu8T8xlhhUK0XC0PoNEoJENZaw+iDlJoZY7W8L5wCvl5qkKCRAQ6utSGnCsuAaJywgP4Y2eK1+9a1Cno4z+RpPGQIzTkp8VaTs5JNTzi9W31eyOZSTiyyK5kfXQ3W+iyaaaAzYhGejybRVKsAPjmz/PNQ4rlnS0WT83wB4xqNLaohRklypzkkAPG9WOm17HY3fmS5h5pA+Yey7OGSrcDTYPcxKeAFBs51a1Y3CEwnG5IU9TJl2TKT4sR9bFgvaxLRXpeducSVppGWno4OdyIGiCOZS1h7mVqE4MteWA3Rk0Gm9XkBQSPysBb9+BirQSTEL5Gih7qmkZVCxr4/oMiW01i1dLIXy7gpmCLfZvsko9I85an008nD6bGT7s/T0lIXkcxT1gkSiUpwlYBqIBR5SSybfMAXCwOSA56JgVwW9uP7y4VkQPkbT0np2bQ+TvuVj1IcSTaTCuyyGoTJFwnIqH8IRf5WAO6GVWwgm2yj+WG5v/KAhqxMh3sQK3QqUy7FIW8ulv1ed685n6A10f+0vWo1mygv+llmsQZ/FquL/z6rv15G7evm3os559U5mbyldJYyv5cjvMso6D6mmcZ6+zr4A+rYEHj0PNfEZvn9+c9G0eBS+lEhIKnNLE+qmDSkHekS54PEVc8d8vM+DoNwRkzQIGhIOs4+H80cwGMA2qhhKI0/aMb0Tl172sPLfqrZnyhzDy4mHJal3/V9MSul5/rfm3jXJtsT6XgNvedrSYuTNe9KqcLyxH1e35l0Ts4RkjHNfpPSVVjsmMCRmN3765CjdG36uaw4RWZXGVR591lmRwR/7Nvu5BLTp83WsxdXs0tYCYM+eJnWO+R1iMiKMjOrU9ML+Tuu33Hcj1nUxPmcgsmdLh1gqFJkQ7yuQIj1YKkVS8QNbWFuVzJZ11pS+Zi1zBBtVv8bihsMapCddtXO+fI5BaGF0oARi85R5QzKSLxjkA91fmxRxaHRwEBCwlGaDKePjBFgqAKZuiZKNc0+l8bKvWxuzTkC1mnZFDB3n/QooNPNwSen4/qZsgw2TAC3JtRIROIZau3ENbw5G5rkNnD6iag1s81NkcKerVWhsViKeygUS8/0brulBsjTWLQY4KlQ59y8c26mYk6Btpn3dzXIQy5QuJiXy5/FINgj+BmPt86s4kpVC9gVePSwCgtfi+GeUx67Rc1KanJq0NLBOvYcRazaKhi14hx/Tj42DdPVo8h2L5SONYrmPzL3sp2V7N3Pu7pxwGPhNL9G2JF5X4JGGhvIG23sqbDoezHH+CUBMfNdpnplurGwR5JpHGPKNPc08J9HARJk+ZhcmTSK7GmZtzvCUiYjZJePyQ06VkYcpXNlNoidfXU6rXcYAJH6psGT/vLSsGUkBdUyGZpuFeSztch7M9jP4wXOK17KkrLbPf8cdaRBZfolg8rwkjsfU6SG18C59IlBVTNH8p3iDWcKckWe8Vm85a7bNICHS0Y5AZGZFTDggCfhpRuINTNEItKm2kgOz2G5o4zlCgRPG5ghZLoWYyCAbehYT8GzqLbF4yLZLBxY5Nhd5ni+xJzSGl1wSfLEHSmuXE84/VpGHUTozFLWaxJgaoK4yE+KNV55BzQP+8OUX5ovjw7LPBUG/sYJql6zPmJtc05K+qyCQTYCYFGpucYt9lY28sn9DYfcAstYavGOeY85pU9RcX8OjUaJZ0N2WvMm11cGWqKCjrc9EHXRvI854q3rbJ3ZxqRv7CkyjHOdWvy3GKDRVDNpytsn9JpnVjxJq1TNs6lzfCazpFkn2ioLcs8JmrTYh0d4uGv/FuUuvz5v5Fnp0Ezr5LWq7WnW4/kk8K4SXcQdaaanh2Z/nSHJiyLV9iiYFLNjeTXAFiBL1EqeSAM2+YKZZRhn2X4ddCKEz/XJGvlc05FOLEBD48i0q5/mWWHDg0zmsBQ9zcgf1YgPIGO2rqiSKgJO7sScMnyfuij2PCL9239PUSPLaRQ5azWZfyoliru/Y5iLZ2dNPOi21EYAMPAn7xtQTyYNNkh5Go5FIVkyChYYAkB7SXX/xhSeXj/ePCoSS1zAkDInsR954SWtqUX9gX/H20VTKNKK4gksSy46ewhjTOx2iJo+V6JuvCypzMyplDLBT28k5Dzy58eAyOAorKV+BrCi83FPfVwyTZcOuyhsGEdkyGyClfNz2KyFacuPIthaHoOgT2CBBCDMVQ2c5ULDDOkRgo42EgEWDF8rjYh989QpiqQ3G1OCOA2QVbx7Xq9nOaCR3ue8lnq9KGb11uNLWvJKIxcMLtRID8Q92cJcznzmAsT+Mnz1ljTDoe4pD/IUZxDM4Ga+jGZB3wVOM42vFaNyvn/4mi8Lrty9uTLB0two+SFvsxuLotbymARaRCcOXEjcmens8TchJe9OMpeWLdcGlc+fjTYjQT4eB4Je2+Fp0DkWb3gmC9Gqv1kjyh2OHGINDeHPtCYakTPIG7GJpYCngUhTtPILjlxlIMiVTH4Oin5lREftGA/jQ/FZZT2swmuLlk7BOo8ga0arkI2+58hjx3tiBSo1hTk/m18ZNGu1pIz0Yp+jreb6KlFDCRnB+gghrZaECtpTGeBKcM28ml8T+n/K5SlzqK5e6jf4Ke7ISL5M5U6oJcf4hNHXrcufh1OQa7dibyqvYHymJGdQ+N3p2Ja3LBkomnvA91kY84qQh/ENW7ikg+1BLt0QepsxXGQ9LPRgDAKXK/ZthWI7mxvxrxauzmMpAhJzRKmA6oz5csQl8InkWDK90sbLDqoytDSU1nVGrNrzTzjFObNf0mGpulgaDopPUbxKZD4mxN+Z+yMbYiYmSspmBIrYWrU0EAXhD4WGsZugl3BI4Dvq5eHrrZrBD3KmufO3RIpg2WUlivrk7Gk9L4LzWuix6BnCa7GuEEVzJUGG6zpRNgIkGo65LlHnI9Yv0GgUSarAwGrO88wtZ8fBU2UaadbpUIP6eFIfSrAboQFr+FqauZUsHJ836I4lLZzPaBa+7zyvs0R0gOeZo/TNch4qyUvilZUNEluyjEkMCiAbkrIzx/XPCWtVHmYnzfevlL02Ygzz3bhjiERu0lQzHRy0nm57qVanhoLahiwjEM0srkggKWXmT7Jpl+wQUE1wymnrHUDN80D7hcM9IaKenJH7vevHm0e5UpTzhg4BX1SgRwDkZNQ607MKFauN1bYQmICAnrqs8j2puuJDtGgU4TKdI6qqZpBxWicDbzNCZuSWooeU9hSg0748PVgjFVcgbgfZ1h1SWyjHgE/S0PWgdCSPdjtDlq28LI951EIgZqRVRNB1oIKwjBE08/6rca3LyZAxtnvrtztqqvVGm4wgjLl5vKlQjRxq4Rh3TKDBHAROB9AGOIsinz9oA7tR3OJgeBdmTwSX805EWvX0XAdQcRatR0Xt7k3Wrm9CsQnUtfOz55DHU+RIvieEtIInaPBGgqzcY2sap7jhjlQ0Rb+YM6VtzbhjQLQF2J023MhaX+H15g6UkoY/pe1IMEKm0wBCnkgQxWLbRJOu5PyxKGx7BxnPDOtrergjyUGArVB4/kuGYvleNXdSsRUoWhWPeFU0RRs4DTABQT5PRYtcSSrP373uyYdVMkWgZCyY11mpVjBhSfKRLzDyOAfOpPA/ey1yZA3QHuHruXNGyj9q5/K5GguDUHKfRUScRDtnjlQQXDveruNI/U+AhrpZCtE4IUWOyVOwwglXJ5wyakkhjH0QRoLvzZFgBxLZS/4+Til8Du/SSdqX9GhvoeclQu49DwAtM3Lr6f7RP1X5HdRwKWTT4nRy0F50k9dC8p6wjsuClPtG9MFrFllKSp1Q80odwumNWmRxGpccAVhKk3wNKUU2MXtm0wiZszEbMoCZs502m+acnhkdvII5r3QhC+raP/2KyxyX+8qfu9qN1agTDAcZPT8cyq5HXMflO0JT2pm5NPhZvlO65kYqB8nqzOwJycoyUR3wPpEXPi+XaLHGXFPpxkxd0GmIdNPfmnuVvQqeio9c15TzC7YkWtfl8X21yCo/1zP0ID1dRtIIQI+oqKV5ep8Kx0uBqW1/r4XKRDkRP2UANJuKlZw/wjESg5eYT+5tIY2StfVDvfPv/L0lE5ARlDzxLbkpJIsBp0tbzrf3xZLMsJHU/RWJp6x3TBwR9WUpJ/PUWl+OlKMYVjHCnFs4hZyiOd+gvvreq31KTmsXER5Bo1NKejh5c33KNjYc+OSJpbGZN+zyIW727zlyS44O1qnxuue8l5HnIF5ZPccn7OqMgJ7MrspbOPiblQrilD30vet3dEX2egaNSGh6zCWs+xQADiz57EMCQmzoxjvEHKkaGyEBoyQA8KeZsoqOWsJPkwpuEcOfTNqYBRn8sJFb08W8KVYoWwGlQtEc1LZ+ayEoXOG6sHIFCiRvqgGaucGW9CPfkGBw0AhckpIgOgyfH0VHGdhJmy23OR1WeFSLBx7x/vS2sgPAx+dgIwErp2xyo68k5gCnADJl7LvexCfW34Em0NoWvDUdEVsYQ8OErYCO4CiRvTw3cPXiZeF/Te3zzegG+yAgyt7P4UfHQK3D5pw71wGtXq+aShRclTxEnyqUt2YB+4klFonEcyiKD8tedU7wdKY8FzEDAsKPJB5JIyPeoJJGaQh7A6WtJa+uMmGhQ/5XYt5ZCk+KxNeNv+OpWvGXXt7BCnrKrgTy4a0kRcrUDJlAk/YZuxsp6mM4LT0ir+bo0kwvBzwFf5SoQ0Y3yRBjJZlhkwUULFSlcTqAUIukqskFN+rm/W2JHCuNdUlHXDsCUzYK3KER0Qwz1nVG3ZrMpkhhjEimCfs+WKcl8WOaIUJrtQKTlExCn+qT+/L3CsaFai8pU4l2lli6v/NeXQAvvclnpo7kpeS8GedjpfH42pAec5rQHnSDgbWde/t53zNVIirrwJ0MmCQ8zy8NTnlCwWfXaVQ0piqjqoERqyggIgrNfX3yvNn3eKw36yJeg1WvmwyPVOWT/DSZX0pc+Il5OQ+PRR8HPUy4OO/MfUZ3uR6MmuiUaSe5XH6XwNuCNZK56ICSdUMSWTMrSYmvcy/UNMMiE4rey++5Ho9MiMAW635ac75ztp4NF8ZYbAsKRPj9HumMaJxQUywAmuPLFc40PF6vKlvM8GQHeYuB2Dgkjt1zHBg8wEssUw+43oTvSk36iC6WDG18j0qiIGlyxsS7SC+RLqkp17koKyJck1mDJ6RmXQKUkux8QPjSVzL55Fv6zH+inibUbDUwHZBrGllqrQpXklLVwQ4k34f0i3Up66/VQE25kvIhaECL/FQ+MQ0lM12E+CpvauGQGHyQD+nYCOI1CmpwtqJhE+ezDM7UUYlh6JgNd1aOgAZRdFnXXE3SX5KlcJkNqSX4wjL4mRPgW9fvqLF1gZNiONOzgnxJc80N4n+LFJpoyjD/tokbJZ6eqMEYFWhTWjEfnUEiP0Cp8obLqF3z7sAk0KIW06NoLjTWTqEkKHqkovJ9JBjiEqMfFkHjnYaJckt9Vnyb9nSMmVpwJ82pm2WADqkeXUqhEDsrTNxjqBStKcpBSp6rKDCKJzfrGTgFZXhqDdgQYiBiXhgyOn2M4b3TfPbUDxmbalqjknOobXag9qZlRQAKHha5HqrYSpv8GaXb+GmKE9ixm4M2Xkfo3WJ5zYSFsfD3OC271ihwOjVhDTujWVNZWFOmdITYPQusca9riZoyjzr/laNiGOhpCL9IrbLF0JL24g4P+OahEQThajycMFUpK/g7cDjq/SltPPZJ1EApNmlocZ4fQrEuHJN7Uq1rt/OLLio7ahmZV5dZ8pyQ/xmR0+Nl2Fq/rV6O4fMRW0/JRjetk6F4rg8S70RaQJ3zv8vsrLnOeYM4wxbSUvtHqlUbCaUVUQdzWT3YVBbiH3oynXuufU8rKXDXDY2PigMvGnkOtDbxUAZ1Ru7sqciwKZsdNmU9BoevBG8S3BSj2rp2zvMP0zCv33dAI4W+MmZmUjbwIwP/G7wfctQjlMWFXG8sO90e53X7yW9KcNeP02KPf2bQ+J1qglyDwRw8t3imRLYDApyU4a1efsVaYVwi1ytNtADrfGcYRJAnACj/7jrF18XzS1xunY3bpLAQBkkeNN6gaZG0WcZRx5WVu3qiVTrMtWAFVyP+KCGntxHY9O5e5BoKMPTvVPBZTqo49ZGos3D5xiLbz/McocNQjOdMl049Iu5YoHtj3FZmVLKxnCZC5UseYSewpAu1w1kSKY4aq+9Ossk+1sBRMjKWHk2PbCa2cEtBkUaauGHvmUYlc0GDz4I+9p3AdaB5MQtR6nbu/TWlIVP/WV+5jpXCB7SiFiWUWKeKF0C/sSQlChduYkPF95rrXi8dC/eYkUdND5pmCL24YuLltQVTVHmjGNZLwoMxaVjRA/hh9KyaNMFnqi5UEYommrHWlnE4/V12fteoVTo9RBO7Bk6MdOZcA3YjzmBHC7w5b/CeQpo4kRrizf2RsfhzsIUq60O1OEZNznUGDUrb/h12tGZiAOIWkwndssoGdT74PhL89vXjEduRmw0CyMZ1I+qcGZvEmZgNw8j7ftLRFQa+3OgMz4EmmQqDEw7OMHutcYsna5UteeRKS6OONljA+YiG5kZ1oAcC1zEg+69X5cHOGvXaOxfSofgXELz6rtLrJDTuMZt/RAdpJznncKciiHQFBtvEUU1aKgiLlADZhEb4XDtnUv+VUmsya1iWQnACdN/wuMx621addKQMS9E8LaRv8q4zxXujueS9NG8XQtwohY6JgolCAPOIGjc4SJZ5OrxSynYq7trCHX5klfg2Hda2/gwZgseeAr8pRLyxmJ+PGn93RatpZUSMJ+pB/BkuAuthDFHbGVjtHK9Ir7oDA1bMzM/VWxmg3Y/14HXmfeVNm/2NPE/fm56myxDUeY+aULlSW4FwVWiJEBz4KJ+rLSgOnarolgVC0kbKBKt5VGjuta/hJEpwNCM//uxeYEMBR+zqWbMrhOSeJvBfQR9InUuAiVZkj6qnAQ5K33wyKmqsxACJhjTTX03p9ng3RbAx93TJTgjwAwI7iJp4KeufV3emYUaKrBv25Hs0OZ06bsidVtzlju8ywpbeIA9q3Te1pokClKZqcxoxb04ndhmX03eZ5alkDkier+i6viRTJUfK9U8htkqGkFht17LnkI263IGnSdp857rfg0co+Vz5cwQQZvmSExFaTsnjeDByH5nzprrR2FFJZS/2N5F0FrD8zls8wyBlvUNqTeWXtPFyCF13iMsRmh/prAkCU6r6/wYG9W/WTM9sQB8DzcqfmHYrBzAWKzgACFqFDjIDN+sBk0NEc3Wcvs2apNX0c/ub7/FTVMuxtu3/WFObgzu3he6TZrw5Qn6WEBr3yHDjVbzDP+kjBZWgrQDf8SbX95rByAaEuMEwUusEL8xzZzc/c1Sa9WlJLIdopmYYixoAOY/MFG+NKLhH8M8FebRLaB8yznlW3nR6SqRMJ34bxI35CnatEZaITBLeJxUvpJ5MXOJTCG3tWVwqIeOC16xBaThBJPVm7MEwYrPvzCqMzg6fM03VeK0IsSd7wntcJN4Weo8TrVVpRs7cdR0jaJAjKXormrFJ1ftuJCaYzqCVP9cbc0ZHaWQt96wU44rpua/Zwe9P5UwKwAM5pA9MP3NlgCOyyHhZO8oHdzGZvs2v37p+/Lgff4l7df1QYWkF9M+ifu8Ax0wT6LMM2IXXktxk38jahDRoHATVaAAiriEnZeiePvZqNK/dE+9E6+nCiKVbGV6xRmqeeZPUxI4/Y0Z30WZ3Re/Eq4X1GTUXBLAoqGTzPEZpPqstGSlep+lt5hFARElBwjw4k8kFqXAjSqQkGGlzxHsiNzUj9+obqG2A1TGn3lnpmsq7BeBIYaGII64S/IfR7bXarpjW43bmYNzTpeA2dbQp3WMr00ssAmwmGzo7TQJ82WZsstDiCbzkjo4uyMWF+Jkm3xa2mbq5+VmeBD49cosA+yxAkWtEHnH/Y0mj4VRaEYsspYe/rXuCrL2S8sUdH1EF6+yYl8fHD6N1oz0/AfxSCxXRTjOy4mNvAKMVaGPAT2KTUtebcy87kbI04oVY5laXNmmgDCjrHs60q9OKBhf6YedRxyIeJQ9CL9kJEvNWaywBO+M6pVzdZ/Uz8gYLbYtigtO5hLIa209SgwOf6DNKxM/RPC9wQu4PsHpbM/KFqWbPIn5zO1ro/tU9I8ju/E4n730pVHrgACE6jS+Xp9pl93Tj6YgEafDq6v1O52iFWhxRq//mvaPQm8tiMm0b9KznoMCbgqzRZXqXzJXSOEuSjDnfLuSJLFlBSoxMabnAc7nmC+alKD4p8cZOvCcJxMbbw2GssY7MA8QMsXast9NhX10E4aCzCIrze8rA+dngKZGTzF+5cdc8II4/Khlp6v/JMqz5AIm1zXrHjIjosIZZFnHvSxZSzg+x5zO7oN6X9JV6DNLK/zQ/IbkisM6p4hlwKOuhTx6XawiSd2strvG56jxntzxGkmWWkgMlvmzwc8jdYT3PB45zz0nmu5N9bv1Mx03twZmACmkU8acU7+CmYJdGn4+QWdl00xlWYq0EflSZo6NxXo+FqF6yx5ko44n+Oj3Bcc7CZw6O8g1jZqpMBrQzrqt+q1F2hJ51OZfNgJYmZ77vmoQMFsqIIHWaRm2ag2eXDkfXY1x+HOT36VH0e4wOdLa3/y3rn3k9lLKB/GHRu4RwDsts36cRt37qiEpB5p83zZvYYeC4YJ5K0lJWFiefme4kwIN3PSNFeC1Zr6f8n0OiXaJaew0EQUEWmiZ3yHm9/r+9fjxiK2TUmtEUHjMCfm6obgGlvOubebu0EiIeDmQ6XiwsAVry2MQ3Sl2vNRwCIq0DDAwjAESdmo3F5msztRhwj1oPwZcby57rQs9mwwaVyDxceZh53wC02ek7GM3hn7rgkkwvdu/aaps4QE9mqp2AlegWHYWbxRA0u1pvxLBYmOh8alw2nWIAVpRhGMxzrZs086rN+8NPRdE+BlDcGZWkVEZSTXMNEoygeplYF4rYMDz3F83UnmUjOu+6SJB5BMlosAj2WfgpGYCRYi4OZKjWYDV0I03I+IvTuznS9Uzeeh2mZG15rl56/R30JvZwWs1ba2/zwE3YZLO4AAJEsdHSmE7Br2qgy57YUoFFZkcM39VbS4PFgc83wLizutNRyfMqTne4Y4cjMMyt9qEZ5wGeooZNaCyknMORtqKxujgZZUSNFsR7Wc24Ey/3r1PMj7ARflMozYwA+RhizGPEsVlV+Ukqcd8LJYpe9y+rGaHn+X6NpwzekwsdPBshaOlSu4KcEgVHNZDiz1L3EcqeTbDrsiGMaXUP/gj+TM1tKeF2diDcfSe5Z7y+x5m0lgZkyi5nwtTL5RrLV7XtwXuPMmm8lMUiOm7MtRKX0ekgdb2omhyjTi89RXLcaGuhK9lbcOYtceeXIo8WIeMk+Sg50SNSzlfZ62KGBSYATBDFRqqeuD4dsAGG1Fymnq3RJHVnwP00QJqPv82jwiZdqKusm0xGiqESzuhQr8J8OmJeynxoQ451NX7vMo2UNjzpbytmUfl3ULTWV4WzjpByC7HW2RlAXEfZEXsFpHr/h1C8Z8WSsjUGZHrGJFKJ2ho1DEX7/Ac5XdnBFS4scw5HtqYbAr7uJahAC+BGvQjG6GDToGp/z55KZ6kbPU6HNiQcOeH0N2+qy+eGTL2P/Usdc9yR2rX2M1DzvMcRkxizuzx8TTYKoUrwH0J/+ZExnKJNeClm7PThKNdY1nWu3Yz02l9aZkI4vn4muyIbavnbvJ/SqRxrusNe+eQRln9On3yW68nAak8cb/XzkcYjPd+zdny9EGWFPJKKW7/xpuA3zkGrHM8YQGi9nGn9PStW8FNVdPk8MWg41Tj4Ii3HECKwIqngotOkkl+nDnGcOeXbjNIOcz7NDE2NblKJR1IfDGu06Q4kiXHVFU/6CI3L/+anc5BGtBumq6pjhE05HNt7Pxp7SDsv4Dev39E8Sg20ZM53pIrkKPO/luad54gpgM08SdT82dJLVrSUhcww4OcGMtffoPwcaTBGdDdKWoZ28nIjJJrc9CwuFz+8Xul5ZDDYAyIWGX9vBvxcMeWxQQVQukKXamSr+BiS8Rlchb6FmjBtkYoAP0aEHCPhfIg6JAISfPYnucHGooD9+cmyFGlfDBKhdvjTwzgBQWvNMPizI3kEXfNlASyjqL1BBhtyGTXyo2+6otTLuqKLtAthvkow7HLa0/EibTfSNDKCXLxx1Ggh+V0B2SYvj0zNSZCStJ41yt06+bISeFarnjR2gBLc4TU0Wu8tBkFETO075byg6XVtKthCoTqv+VEYfnzVIuzdIg5hj7rBkllR/1Tv0TFqAx0uXQAJds2aEIDqnwpps8Y4wM4pWXaubfMBrliPokGsJAH2Gq88TN7MVdNkCJaOuqGmEOHFFMrz8HEore3SHKqooEWhqkS69rO5+XhrWloVjipW+05hlsbOIwWWHUdLnesXHLIay9+7NDF8AXdBf16V1MkSBqoG/cIJRGeg+zdlAWA5fa5lyvVsDgRine3/fp4hnU3L0dc4z88VNCv+sh0MMEr25HUwH3ufjprw2XhkM0Ex84OBK8ZwLpcKNZ6hBj0BlBEO6nxYc30dqZoowH3+6zTKVP+gK3XBdqM2/kZZarHmpFuz0Z7EXmiWO9SVmMdlYxDDMUOLRj7MCeEUUURdcQBZjTsSCpfPfF+2oJmQKPBrULfqIhbl2aqka9CfrgJsvEBDEmdT2VjMSeuzM606AwRFfBnhS5QsHPBOQYbaJxRn32kkV5Wce2Hi5Zj8e1pdNF5zLDz/aGjDEejsAi8FhCP2TUTSmndxnlFvd9h2j5Z6yZqQE8MIrHHePGk/0+1de6QWSQRlnpxSULSL81mCXnlKm/qME77AIrvicfz9dLYy5hBaaHdwgfi5bELS+jjpJtILrF+e/Lhe+uQ3dzJ4cDPkPOvf4D/aTGH4CrVvJGGyqke2X+C3fVuPjobgBX92hXo5Zg4ZFadn3XBBR4kMNlLrNAP/vx9r6joWscdYg8z5eskLrNTIwnol2DHUWkm5raPq7VdJH9VrmLNXfODaIsvEsaqoZ8ZSCrSDPmoAPIYl3ZcAb+q7H71+x3E/fJagmCFFSRls3Hhap6bV7Z5uiS5YLbg0mZQBUWXxHopcaSNFvBhNpoHkgDeJI+HUEvpOvs7D8q0gJrWOYxIRPgJGnEZByEtHt9raySDizYjYCLQjYEWmF29r05M59W0LQAZ7dwAlLAKBlDOegVjfNErnpKHeFrCJTwIy8rIPzr14yaojFEuVqd4l1GtOzgbAs5RONiKaJhdUxs53OM27r7EZzVvwEtBHzw7K1PWYU97VPZ/UHKlpM/DK6UQgxcwR43mlwMgd4UKHtZNqN6HcILqlIRoR36WWI6Zcu8uq+CHzEmfYBq3GcnZt1DJM10YjQyVEhvTYo8xLrhfVGERpTcWbl4WD5EmHVdpo0eyDxT977Qmkr0rPBfeQeZRGszRd7mAcD1CN7pyx5xfFk/xYebSSbQJTLUp1SdsmT/I305oiPZYitUvqefzs66Xnvznw5LkOZMR8A8nmMJHWdEIt/HXKvChyPGUxq/sECAvwjKVOMOlGUETbyKmH07eTYISZSc7yerk3O9M940mGWUaWFNsxaJwSlyQZWOePoovqUo7yW4Jpl8+D9oId+8Y2oLuc6bwFlyLctkPipjNYdNq40R4rqgR4lM4Ijbhmyjx3WhXD80mUqALrHIcQJ/kvGUummip16CyZenkyexQyrOkQgTYlCjR6kRsibhaOmFVGP1Tm5+rZXw4suZt3Kpd4SqmPDjMonfBZ0mIOnuD3ObYwdEyPK1myyhFN6eFU75oGhB9XpZQ+OzygwPxJRkb3FG4FJEIaAtF5om+DoodjekazFTUt2J3sCCOJUxUzypmZNFJoWB2I857ZwHG3tYkEepInT3ghZPCIdNXYX47PnfFaZlYEaHYj1GYO6rAK4lk+NqQh9UGUKHhgcmjlRU5hF3aqJL+7Mx5+KMZIugj8VId08viauoPa9RPLXB+7II3zoNszvUP8G8KH0uibskyYWSzUSSUn47pX+I266NE0gHDSjc8vTkt9LmPWaxCuWE6UKLrSJYG5qlSsJjtpAKKr6mASl1Nw5yvcwEt8wsEDoX0Vz6+AOBeEdG78RcdCdau5Zhkc0fAeOEILzbhZnkbn4sQ9eaCbzIhKZB55ZkYEvTR513lRDLmonjM1AseVqQv1ECIbZVnnOMnGFlJoKWb2kmsD2yP6hM+/c/3OGlvygBFAqdGsNBg9EusCyKY9lZhtvvDC0Pe9povdxaFwWnoVszZrD6MhPQuannHJzR6KMSbi3qlsvpQbp5nXT0OBDvUoaar39MBwrYYD95CmjtzNYG1Q9EQq9ZjZ8LLHZiK3NW+2LHiKSVZDMvazA4MptVup+1lA1CJpJhCq3txGTgufa/zZjNtJv9rB9pmRu9EomJ+KI4VTEdxXYZ1vNUC0jQtA22bDppoCsarfVKIMgENhqfDRmPkdEszegEKpo63zWP6N9YtCR0eT/YmXsyf4K2xUo/vRsZAyC1ywe3Q8+aMF38V7Shhm8sxhjpidVI2DjTzaq1ehe4pma+HRXEQGRk88b4ujIMErfc/ONwuxIEnPzBzR2DOxhCXSnN34osM0OZzKUpC8yGGyEpXzZ8vv+fe5Gp04UJZnOs09XWxtunSKvtBQJ809jZLT+lJmkCniyLDOF7VTJCutqqA4QhyDi67aSs8Zy4AdvHl6YKRKS9Iv5vUNo1ui5KSFAbeCDz+XOwC6iDW3YerJU/1V37jKLAaUqZTzTyNpXmJrLVNC64wYFtk+8ShRVo3Hvep0zIhD8kGeIx3rIIXTUkZHGR01AkTuT5hDaBT6nyFowDoh9QY6rzPOc6c9cwJ/yO4YZJxzdD/xKNFWEWephmEWE0sDNZ9gUN/rPx3Y2X3e/CVZgU5xsMt7UWQj7nQY5NjS9eeRk6Cw8ELzsub3MgWw3sbUqiwkaWgDEO2mw+xuF/VFxlZdfspGCqyRHYOXnRjOYvo1ai3rWLXuH494+hfpXol/XS60EF1siHMRjssVofYZs57Q6MgZSsoyx+bgRh7hFx2WZSYtjM9sbEU9MpRGfkqLJSxL2RGuvxITx0MyQg48bQ8F3xc/UC+bKKdZPWsKDJYKxfRgXgHzAso6CrLsEL4nTvf/vcGtvPJUNCz3rXu06gl3sKyv8t0VOOzJu405lnGMEo12/e5RUs5ayZNFUAJZNGGaJGMsMlUp63AEt63KeZTMC5GMGLO8CD5HA7wsh/gw9h+V5injtJLVIimPjYE5IFA4lRsvQsMpGXu2AJd8v4+reT8PayIjSdQf4y27fkcqsh2vArGzT+cIW8vaFYALkC02oy3q9dyKbVvW6GaHxyReHOcRSqdFw+nS/juK4zWI5AArI61JmBizd/BTXqgtwIfqsDRqjUXiFE0ooM2IzS0x4Ztg5HhcELulihEd8jy6q9Ytl94QCHFo1jlxmkq9UmlNvWF+ea4nJdAwP+zMbgyvMrUsEL5154t709sHr7+075vZgA3bKUXFgddAnoNVjMThzK9Z+4g08CUEis9zrmkTil5ySnLp0IrYKJG6l7M1j+8I4eepSDBvVSrWCo/dqKT+VpHieVJN4ntFIzWyGEkUoec1dqXhu2JQeq4IIgot9Hm5LCrBYN4bfCSp5n7q4T1OL656s6pZnU2cyEC/Ch1VKkqKsVWKOND3rAZ3Ia1CjI1bNxU4Rczr8UqSjgGtrGNt5rFu39KgtjZhEUNlWEaZHR9FdBW2FwmWxtxtTkNgdYbNnkdOqkg2YsXnAN3GHd5yVyT5PgmAaXK57BmSFZJN0Zj2QjXkHV6TVdOTiWMDxBfSkWPAo/4jwn8wfs1352zOikporzv4nnqRjz5xBT4yXS5qEL1Zha2/NYzRkdJNl59yVCQJ13FJAt/4P51fziVUYpFHpzIgIdu9zISzd5iinv4qAUaRtXfIjApP/VLmHk3apOxMGRTra7w9ZMtObEDW0BkNBo0weLJpTamzvTccn3jH5qIrcoZCenSmfNrvBfdlfA80hrIL2LgvOHny2cAq24j3GMO7QV6cLObClowUSOyR7Kjv71OK2qgbS8EXkRM139majX0jX3LOy0Fcum964dcw+E7yIunkJVx+zImPCaOTM8YZBdSxf3Umkaw2oOt60RPlm+n3MfqUtRH5F2zSrB3kCC6svroKsf33+YlHyUfyi1uSm+PIxBMiOptkwtIgrd/HfAR1A3Zqlu3Pja4Q94Uecn5bT5gIo7sg9SQZnY6hceQMy/r1/tQvcy/Z6QzhmKf9TvjleXdkIQOIosyBT9LAEqhFcBMrq7alt4iEHIOlq7aib4bJHev/oTmu2lgtjSGwDuX9iNyTbhAJlfOt+OZbtk7w+RI19KBU2QfF0cMI54kz+Um02L/nzjFfOz/2yjMKlHhMjDfiPFeQLHZOFUE33qHiKdvffuvUNkFvm0IGDY+YozSBjnTYqemZ4RJXluaLNG9vsisRsSenHo/adHORa6Q33aDN/FeNOlrv66BQCyhJyNAaDvj71+9IRV6E75Y1inxTbl6XoiO/F8XpGszj/48obsv0UccoLPzmT91ATXqhRfzcRxRSilDKDAmG+YqRYCTAF3dgRgF5rFSGahwVVRWNezuElCZIMZWREBMzl/jnKzwZYaw5IChGjG1+b9x0BnDJIqmUJccaFiN/05XxWXAD5hEditMfxd8o5Q+yfp82el5LramO2BjsTSyOCo9qgpQQvcOXhr2nJPXtvlbmD1OYbCA73fJLKazFDV1XkJKe4XmPUXU8aTLktFI3QmgccCXEFHR6evdr5426FnkUFhktDsC4ppbT5p5E5TRQkYMrJVqfjWmhaMYKXwLcp21AAAJPLjaMeG4ZBXI6VMOP57RS+xxdLfvPlKJEevvMQFBeu6Jg6aiS6NI6/9akVT5nhiSqlHQuSq3Ki11IiVLd8cK85rTU+FlOoGBdm1BMq8deNdLnfJ5xLm44tpwXEU7DpLHS388Lqcv6uwHksF51XX/J9Kmgf/IEx8lCK5eo07pHQI6Bs9zIb7kqTuLGmtJakICh72qxI4E0BumX87vVm8XRX/iIOoM1wZKYqfjt2YN4//ln4noDYTghALxNRNxJq4XPwpkUad/5uWOBFgbhfGRTb/TmUXsGixwBpWHQEXnxJ9LXHIXhDvjz482MMsp1o7UpKbaRyKhlY8SecZ9Y/Copc6u15LYFELzJkcNneyBpPmVIcjqhBFpBFGbS8peU4Jk1EDmK9hhN+gaj5ZqHPPOUas8WWsYNWk9hfibHdsgEIs6ymvm4WPNIRM/x+guF/SsaNHt2CaY+5TICdjqf0VHSXmmkWmShPBHdhJiCt7MRHEIXs9TNhxRcVB5OmQ48VvuI2smVCGK0I5TEyPFvbFiWCS5rV6owdfzJmd04eLxKPCj1m1p4+Mnzl/hQyKNVPpwioc/Xvbxm/Z5nep1u5vAEYi88fayi/C3wM71YbSKZujsvd1bIE1ozHxcDHh4MJG4vxxgRDem5JQjh42jzKdnxX1P/BA9VHJECWSvHUG8RH1OJXvPBkkRKXfnOx79k97BT+Sk0/Mb1uyK2ggRQPvBMA+LLhamUb4ehxgMND/UAZKuLHQZpMjYiPzvTtKonZNZIskL3s0QpnlGeN7GP19ksqbPUKVPKeOZB3lyb0OAAyozBNTUnUrSUGE2ybfgCQuBnqdpHGyz6rdk1WU3TxpqIC+78bNramUevTdCKU5sNqVQU7LVT+kGDT6dRO2sdRzQ2Aa2H84FqervFGI9T8xSWyqR5kDSW9VpZrHnXRzciiyBwgCWx+RoZYeHJJgHim6ird9EkT1qAqDQkJ82aRTvTiIx1CPnIUt6AIDWZ8Z89xUXsnNzyndIP0nz6i2HFfLt+zjAnmqoBGENwvTS8XnZ8/vIG9cY1lB46zxQdSN8+Iv3K3+mr5VDEj8+KexfHTupqrZkFzxaa+cDH7jjt9JW8X0t0Pn3bEnxe1ZsgI2HDQat32lQ+dF2t4c1ZPfK6guq25tckEQlq19ugzLA6rKgxo1iwMIiZ9w0r0B8WyYOKpfPUNB6QsckkGwbyNlDZQkQoJDp+RgxOnR/TsAwZI6Tggv/tOBLORDmtqgZ51LuTOu9SJ+7oYB+eaVmMh8RrLTzAOXc2XE+RWWuX3dYT+4wg0dTIHQ7WpXWOzUoCIBbNsEwjy6XwKHLtyJ3lLbu20IWVNhZ18SZEomHQQ4kvOIq6SkvvEm0y2IG2cGL84vhlLvEurzNCZRJIqxwR71zFLzf93EUwcMz7LHvLz8XcQn+vR2xxHMr7NWjsdyfhSNTFzWszdW51lD2xP2mqttzGq0Of3tfq7fF/HtszByME5bgekLOmAuSasSLqNWtsigVXw7tGBKagserZRZx00JSCLnl9l6pW534L2vobaSSneVIUjxlCxc7a/d7luIgjaFOnttg8W95Ljnl/D5vD/mmPbIfkc98HOjzV2CWr0LMR8bIk4qT3Jrqk6meUKsrsbNfLmNGyiODF2j7JgqFxuixTGn8UGhXnVa59PsebxpE5SZlEjvL8/mH8EMdRcm8XG1jVdAodpqfgJVx5JjusUdDUQynDox+bz63wuYsRNmRozN80cBFzFzr8MRCFe0sYv1dhR/ipPrO80+VswepInuHONMXIL1oHsC71CoFGxkQvuzSz1MjGIAefZ//UFN9zZCB7CcRKQ9VPhPHvMvZf5Ij4e/xym6T2AAKmfeJfGnyaypO1arFHHEuEFI3+Q75PM4X878mPvH7csN03dG8hTp3gViORLzYOfaVLupw3pHHiLZ6pFgts92t+L00wweasbB1wfWMMeBqziewS0CAmIkE44AaK3xeDDf5ddaOIRy3Jk59EyPFqPnE+P5tWeCfTTDnxjU7ePOY3BdFzPeOSNobm7xXCB8+W6+xFWoQsoYUE8Hre65UTyAiaHYyx1K9lRIm+4wy/btalxrEYiSut1iiV3bee68aGSKQhf9NxIyWtVrXSXIh3603TIG60Z04RtNWoJdrzs0TkNP6/V3vjey1Tx6aT5Neff8Yf/unfl4hi8n2+X+L3KZBOZ3zKk7Ei0DxFhr43xid/ewJGv/eMwldPgALyI+KDcBcWUJfe4n2CiQARpnSiI64ricWhRKc7L8UAT6coJL/KLH1NWvK21zpxjNJFaOWhVVsnMViKK2rjr3RSPcu7SM+CQtDaPDN7XQcHKv6U4mMOObmkfNERUkIGFLRKbdWscWc6+oN5Tk4PqyBJwzjWlx0v9CT/e2vA6GZcuqg3HdTsmLbmQJlMeVoHb6Llz4/ozbJUQSFxo3anpl2EnOIsZ6ozo1emPFTwq+bRbyTHc0Tz3yXqPemYEc808gFQKVA08nMjyEp+6phzrA1cElTLUkJvYZ7bPVbQucq5VM8B+p23/Pnx4ErodByqzs721ESmXCfnCL1LNWS8O2PSoCCwzhhHFx1xAsspDxccbk4gPhKQxrriBBBPEf+xPOEsDay0riiAPjsL/JQ7Dmy3ILGu84UvgwTNJZp8SnBeRoxqGv+a2hxkpS7GGqVsfttMxwxcsDrvc6Cnd2SWDNdfM18Zf7NUFVBUPw0QCV7gLDaJZoAxx1iLzBbkbKTEHK4YKh8oLVtzR+gybvG+IqSfeHbO58m77rX0LB5vQFTXdthilPJBJD5K2iaW90E3WejI2Mb3l5xlQuqV2P32vsxscltgjfNHIKRcClq4k64izimXEEb3cQCZJZdBGHdMpex1Ps8Aop4aMhVZEAuVgaXgEALCnDkSJqJk1ok7HorwEli685Ij9Uw+uMweM3gWgRghTKvu0NflJUG1YntF9tc5aeG71+9qHqVWz5dM4RshB56CCbGQXB2itsHCaLUJeGOYU5dKIlgCPzvyRdUEp/81eyR6HnjziMtQYLQ42sW/0yRD/OU98FC4vzOrzSSMUffeUyzNhSbNIQSo0JzAdPGOzCM7Ocvi3XIAQ6kyz7qCRpBSrSGWnVklfjwQnguFlcW8OdPcdnQQiTeTWRRh2WoWeclu2IQ6KAJe04CBKNaSUYR3phwnAFkNuxhhSHI/hHs2a5ods9MqEG7IRIJ7i7TNaYQOyehPgiSEIva0tdiaduj7GDMlaSx8K5wq5w2mQlCfJGbwT6Rx2jjywHlEVDm7AZ+fIxhoMqDjwP1+BzBw2XfcvnzBbz//gn/WA68ffsKhAtgxCF6/7HsjPM6YNJ2Edx9+7pxaUwgM6eG1DCUcoKwe63UeuEfORxhSrrjCUPR0FTYuKfItJJZRTaswemoqNvP4MPCaR4IoBH6q4ooAGaCvhlJG/CS7mS7G6yS0b+LCBMZHPo6UItyd0xWor0h3IcYZfF4uaQb8gKBhs747zlMruOe9mvWvYjU1UjChe/I1+gTMWkxvEuRPdoHoHv2s22IRM+B1RM5fpkfg42cQ0wo38pURCAcWDFrsvRFV8yNNJL4bYNh4zlOswqAfs+5wUIp/Bf7VSMkmWx1oCVwZoc8xjQDBCsQ5Zw1ZBz+QtbUqCsr1ccZEDJIQc7x1ERnJX9lROmNSxXN7AsMBkKPW1py9Sw3X8JWzoyeSK0YZg5Kx0ryTtSBOh81Z+lit2Z12GhWDp2qO+F4XwzfD0m/DHxdLyf1EMq/cDfm6X80gt6iiG7fVOX8yH0JHlPXXeEOkERY97a98ooufxfLDn+NyUuudscqeQaGOf3i8FME6RVL4lAsaQYngCM03j9UJORkBDQpsiDlyVEOfcPZbZrNIRhzp9A3VgWY1iQGWNWnCdPN3NrSgw5zKIJ1oo5fcGaCGksMyLoojEDCprPOYQ66RjjHELqOx5cqo41+onRIgdvZM5iF5V/hmZ5DG2NAAbRl3F501wMXxMwyTCK0lSE66gdaTYlQ24zNwJ2LoLOrInYEQzbIdKnkbpEPVspecqmfe9yNi1Lr8Wm8fJ2+U2bnmtMCXOz2Mn9gB6tQCOG1d6dP8S6M14+96t/Xe3Gh0OajR3NAoheFnLNMTasTcyTx1QbcMBp0HMUOWM8zd8eKnw4CM+sjotFl104Feaz2MX9wR6xR3ncJbhe1974HUINj8DHvCQa5Oi3Mq5J5jITO8/agYk66D8O6PXM9brz25mO1r2uy3wXj9u0feXJCcYy5CC8kRFVeItcPvQlzSD+pNDtZIXw5uEtMBuH2mY0B1YIxuqWbZqCAfQCOI2hFd3kAAhbwu5DKiSTqD9+eWZnVJVUVABg0irUUjUnteHjs8wA3Dhgp+SPkVetHcT1HIAEf5XY1CfwXaqPUxBAgyWuJA0T1T2VyMR+IOBH/HGCM85bIYN2EEekqOG8JSBXV4qez3JjkbpshiY9gfbfXV+EY1CvKfjme5ItVdzKbXJfK+pHIkWE5wltEP0FFJKIa/w/8Pry/4sDf8T/7pz/gPf/6E/+p/+h+gt1/wv/iv/2f4w6cL/vTH18Jv34r+qp9NvDixitxR9mpr8ETaYPQ3+umUtqKp8DKrhiqmZJzSeBYqZ4qgAyRg4Z3kWaa387fLhZypgd9n42XZtrA700+1pgbz/P37NdPAnr0a0suz/XveYGIqmTNcqin2CTFjvLKsjNb/gzBZ5ZPTpIpTQ0liepaGjyfkMK2JuF4IulTDpMyH/nVPNBaw4uOQJ/ucCS3L/5ta6hW2U2bRkJlmqAGuE2CWLcFiPQcTe6JbY7i6JqnPYl70b6wHMdw6J1c9vCY+SwYZZf1yo0a0JfczQn+ucwu+FvrLky3tY+dLhPeqFoOuvkUmONctQWvs3zVrZZS1DXlvjwmTJPRpRzODIWvjCjQLTMAknWNaaoThNaYVBQ7xJmeNIJie+HQsTmtxi0zHd/WKDyecqeS4GU/Ta0nWrYxCLKc6SxOG1b+7vBrD/x1lD4B455zmaGn1QicLqAuVjQy9BUuqFlrpgDWHO5sA5II4z5dpKmnA5T7jnUq4tcQlfQ/KhP2kz3sZDq9VMp+nhCa/1MHNJWmAbtSIDHVtVCDDDD5JTJvzE6N1HXnM6XSMylzXLGFesmmQ+8wzwFY54OmjicepvnPBKau6WC8l2n3v7/HeRUZ5YGcOZEC1xz1izVxF0hEc///GtlrfTm+uHy8cyLoU4eyI3LfyVP8LUzz4XrCkwNtduryDBxMNQRH7ymNI2YTMMHiwBfF8NAN7mk+3rIOiSzqb52kNqx2mZtw/eU7oMwldMofdV8n13euHI7YewfO96bns4jUhoDQKzfxrl1jNleP8B8NqwSIFFEZzVSg289AQYCUAHeeNwTwYEyXFEQZVTdszmp9rZkaIHGjbZR7f04cdZWK9Qq1+bfpcGmDn4kHEjhvizZY7U2mcoaAHC0s7PkgtktSWBhj2pRGF3LHaJBQd2ExwLrWgOGpkhoxZ9wpTFLYO6QUfASDnK/KYpLx0RtvIN5bHCOS6xKjCaNTybAHVyEGtObBSLY+f98bdTyU9+dy4xOle1iA/T68bp8A97x0InQDG5yOeOkdpvVu4bico2mwyXQcdU5FNHKLmpM2IhQ4ypp+krPLPzWp+1shtpkm7cjXBYQCn2ZFHYl5p1dkzxUWNiGAbguN2x7h/xf4Pr9h2gfQDr3vDf/ynf4v/13//3+Gf/unf4a8//4KB1+QZppmP2evFSDv5+keojWqem0rtIFgt4HKmZD4z97s32xrCZ+7ZGocGbeXrkcJyWnfjm9bKUVXOy9GHtPDFfGpflDyvzTM6tdK9kJwvsV+6fSZIUO7U1IiJpMJNeFJNpvO7J59Nft7oGf7yjpFOJAg2VxpCEY0AYH6uZK6LR8I1vOvsgAnvYnF4iYyoXZ7TpbNNqdFKyCjrUu49nBF0yXE49R0sdZmKtZqYPpdn/MXwl110jNYsC0OUOSiivquvT7yeP86ptCpvDY1Fb5b4HrAYRtEhm40EFLpytDojCukYSedByp7N5bdHU4JPkzedx1i7uBwHuumqban1dZnsmSMUsXWarqCPHV4coXCcUfiQgVj0z7Tzpr3ru4RuW8xCiEXRmtHNV9t/dh4sAzAabI4tQlTJqYK1nFsLRLZHroHkKumMlLBrRRzwxUyk1L2nDJFCU38e6xPlfNziCPWOrbkuGZeSiICqg1yPbPljxtJFOP47R7xRFoE74NeMHClHb9W/IXg5kYAKsJnjNDrzltRMpWc7bcwpEj07Rhw9oqc3S2I3qgdNDNbjzhptykdI8widdS2fgzOa57rwlTL1mUHi97gimhkkkbVmND4ME22LceFgyTM5nHXjXHb0yCCYOimNhsQfrgsbKpWJequSJb7yawgitunzleUup+ewLs1haMSe5iybtEeiSVZKZaIpylnIsXL26OZrpKlV/e4RNJKQMou5mFjD5Zxupg9nv5jN+GjvLr81SrhcJ3iOiaeI+x5uRqvux1Ga7JQib4WypaTyWtEGq6HuRwPyHBCby50yHu31/kMDdjTnU+hhOHxJIY+q2yBYzXB0J0rK3SVbR+aJJYw9fuT6YcO2j26GqA2I0gZY8cGajbgnjIGh3xO/F+5mao1kdZH6/LjdQXYK4BC+rvY9osodRsew82MHoN2EgAE6NbWo03M7vFHTbOWYzHFKWeBhuYkzn+uRoXm+qGYan29SQXYethTiXlgDZGjle6bSMzAmDhCQvztNhTzUJIjaYuuFHHk+q1gOB+arS6saFfXvWjZa8ghUy0zX9QV56aR5E/HqNVrXofAbpVyBphcikzaLO1mUIqclpZ7SgYuAt2fUWik2vMk/8Z1xwz30TSJ9e/XgJ+jLs8xEki4RbdboEhNEEChubzf88td/xj/86QOkP/CXf3kDoBj9wNuXz9i3bXbU5sIszwDh6LFMPo/mMSQTgr4cjqRr7tnlTGT71hrh+tblqzk8PX2szPeEZqTQ1kvIIbN+VmQXraVHl87P4J9d2FdQUCQdpYNW/vCUSq8XTJDo8xdPyy0YNuu58lkJcF1Wci132R26jJUcMUHH8/av/BxRtyV8YH9k95orbL48da0171ew0ZtTNjjw3Ih2RVs4UPWUw1DeWuYcUFgVTdwjxIOa3210H7jzYxn/GbKvJJDv3O205HKUrHs6y7rTA7HcR2UPq4wqty9yKvX0cwfReS9pfpjCdZnokx4Asnw3wBRl3cSQvw9sYp75whJtzTc4TxOpUrieJ/o0JZC/qzSHhSLiPGwva94oLOmOZ+SKbCApXF31BpmQQUfE/IX2n78r3k04CYWNvhUZQ9T0B7bx95geatHQUisGyVzu4AOurywMJv6mxBn+ta5eKymRPlsg5GKQAXmufQ14rF2B7Z1PlQ/X6y/PEccJWxiplQuoVvck41B6ufCYnX7h9MPKWho+oyE+O0on5YyhdZ8mI9Hv7LxUMg79IeNk2D272K+dD6fgAc/AK2QCu88fshRRC0c6VBPFd8eRrjSJPc+kW/Fb5kDa+grjQt97dQLcPHXN8nqWcZc6deFXUmOz5viZ7GkEsAjTRYZci3e5QU85UeVRuc/FAogSpTfsSEhOl7ifnyfF/tGgiUJiLoSy4zsxFG/65iVI8d1vraxgYzr8wPXDhu3FI4Nq5yFR054cuBOZp0aNhUxZDQtV77KB44QaDDD/3yObbIRHNbzRQfwtNrfXi0SgGGmgsNLTR0drAyIHpNl5ayM7zYmn1CiwtYFxDEuZaTS32SylWxxSzEgWabHw/XEA3dhs32btooVx5visglVylw+d9caq1ozEa2Cm03FGAm2BN9ltjtO0aTIyrVJnik5r04Pd+wMbe4471bNFnYUBauF+rYMkFgJQO8MFe8ffRyoJiRht2WQj+mJy/Yx7IYm56VzbJi2UVLMvRGdD72RsTaE8+grbwEKeTkeKakLBlXOkLVLHVZ5bBCIJCc2g5ZaNXQTRIRDa8hxVW1e+RASbyIwCmiHjlS/dD4XnJllQiDxK1MNTNsTTZJcoOlkYszaoKe6PN0AGLpcL/q//7X+LJhvujwd0CH79/AVjVI+tG2jCQtsFv0X5IcY7DgLCO+yUcoUyPIFpGgoWiU/aJI8UTCtpDm3kZHBuU1E0OdC0WR2nRB0ew0L3/gfQtagyz0vqMOq1gOCBBBFp5ORCd5nva7bfx7IPagpS7irnybZ0tXSQLOW4l/ovE5CdRmr80RxMxNmuc/Rd+axFENSoQCMNA65urARz2eFteLplQjBxXVb6GBQajZk2iwpNldMioh1OFUFAoKmkja5i7Ygilcn3J/PiQTTJlNIsjck+DcAs15AxsuOlGznFGEgqRdMTpb8W/uYjwCZHdJNvASDMEVW8jSVKB1rb5B5Ry9jg3PtR02Gjp6xlXQlqc621IU/+Xwk25nEfLh9A4EX8zPm/A4VTvuZvvqYtInEekc1zpWfGk9dZWyzIj3wLeVPltB8fE41LdFBdc4K5BGMrJGbg6uvoZ8VWWz7zL+b/93L8EDWCIR3TllFsEXnJKOuZeqPGqmyeYmU9g8pD1AbqGCKSYEtnYU3eMr2pyxo7RgA575w2Hod1ZxsQgcY849NlOTmPq9PMv6ihR9IYIYmjdYWctoi/10aiWFaWOXOY0hJodNuP7srkI/ToZ6KfdJY+XSNtBasrBoYd/SZPnCV8eU+IYaJ69kypVFKqY50ptRnRW9zvyWcuS0mGEKpySUIZluYoN4VedzRnZAj82DE2emKshs/UsibTmDLcLxpPavbZCP+D14QK9Ykh7RTPYifW5NGoMSVeSY19XoHo3uBHJovZITqNKxHgMHqENKQO440c3iPeZKcU+E7NrWCZfH6GvMlwAMM9F5QSP6jOuMWzbMeavhmaRqbQqmrhYz+Sh7NfU/q0UfeMmg51DCNqONvapW+F95W6/5ftHLaAn26gEDTx0ybSkTX5oZn8Ij3yVA4+v37fcT+mj3XMnMwSUVJXJtwtNgUZ2Iuk1tTJtIGCogwEhgPwmrXumx0EhtZIiEcv4SltfpSKdmvSNI2NcTyw7ZfZ7AmKMTr6cWATwegdbdsgbUPXYwqzMSDtYiDKDFg7l6yJYDxu86iHtmHbDBT2O7QPUz87tAHbts9WWW1b6gYmF7TWZqqU1jZaqoreB2QAbd+yIN8Faxi4dn8fc532faasPh4zjXPf82g49/IEA9oGpe64psnofuFBFdA9X79ZlMlrrc4RGUaFAdUYGVSuW4Tl8qSnnysB0Gq0JjQcZdN5BsA4RWuJPgTAwiyIqKg3QtEVHZ7n/Y3PWVGW+ZmAjSNZyHHEj/VIc2stgT118d22DbfbDQLB5eWK//f/8J/wcnnB6PN7274HHHVAk9HYdezeHMAdOwnWnB9LxI73twvhMdCedIGOuZzeKLl2YbJaN3GryatOtdwb+RBJ/vjeMi1/q9HYeq/Kd5Z2fawrNXEa+txweqna+waBIDfW3Mfs4q4gPEp5RvxdyucsS3nw6RSal6dtDlLGdcT1PUKG3RCptWZsqzENInWYp2EReR3liA99QurSICSiK2pNZJZ7v7FOCbIRQEHE7Z/pxJQmCxBHjDunmA3jGKABwM6r7Aqc9m6d4TmK718ePhH1/ZZ3RpSHDDCnfbxccwz5OqX7vg25z1kJhXuew0VKg1QsY+GpyTLWb41hGU+sd5GJBCSEmCQAhnV1lz71bqzF+eVrBIoh8ul+Tb2myx9C33NYi+WQEH98M3qR8/bnKrxLv7n93StPo3WHqP/uBlE/GZf+LWVShUH+zCRwXEdb2877Pq/VQtAweNY5CcvthXdDRjHQfSqz6xhTdjzpQfIdcn9LvJc1eMLYa3aZuy9UKQK6YI3EHmrfyPOvHV+sGTk8hRF9X5ymfk/dJ04vRRpFK8sFmzrfmoGHeM4z/q98pIt85L8FnYpOtPGSLDh/v2ohLVsqjXZ+s4ZIqCHf0zajdeR0fGAuXxz9qULp/NySirP6tOLlZQqJzIqkzvn4OJRq0dfApq8jRw+ZPoXV7YnNggm8fajMlCns3zl1Sy5zkXTAc7Dz6basmZij3JelisuW//tKYbl+2LBd0yK11CJ65Aaz5jbO9UNEUF3Bb9aR05uBOGifEWCdZ36JoslerHVROw8x+F0tssjniUlEBjydIhKQxiw+btKwXS7oj4FxzIgtmkL1wHi8YeiBfhy47DtErsDYoG2mp3VVbNpmWranxopAtg39OHAc9+mVulxmW4gx8DgODO1oOIDRMoX7Yt4899RHZ9ZhBdw+7mnQAgodD4zeobqj7XsASahi9AeOfkPbGrZtmwb1oXNMTdDGMWk6gN4n7Nov1+hQ14ZAWzJc59Rb2+xFUCx8lue6ulCgTV4EiddbI+7NNErb5tqKEkwgqDHfohB9A6hXY3hBfgthNsoYXFj3PAeQQBIDC89MgKZhOWtu7LRN9z76SFhAfBsfZm2wdeAEDnTvTBsd8lpEiPNcOfYCOp+PmVouA9rTox7TUJlnREvDy/UDfvv8hm3f8cc//xk//+UX/PXn3yDbNuVc26yZ1ewkvun2ZPS1g6DAHR6zUVg0PSGQHIIy0EVGTJMTWAFJ8eqD1gcULdVQ477iM4qyYa2Z8/dTjebCw1EDG1H0BfQFVqZaLDFHn99AmsRrupplCAyvqCG+UDdv4xGJJv0jrmtXy2BhbOz6Gl7P5k14GBfqdDh5ycXmMbXYny0e1sx54LzWUoqG+cBKMKCzZeR4BMvpNkvqJTzhwmMmg8THklU2Xv9IxRnE265zRjj4MgahQyKDQily5Q7PoreKfvO5uKqdDla1d4tZu7wfVTVkp8tkl0wiSnbnVON5RGpLo4tApkcbq7GLAPxeSz/vaUutfkZelLqnuqKvVa8apRduJEz2SbrAOwwbz62X0wMhMrfoqrrVG9M5QnJ7vjO/n0ezZBdyYJgf8lkuojszPD0864+11GaLx6Lg3R624EvrwnnSV74OUugafyVnqUTfEcc2g2SMQGSUe9XuafZ80GzdSboaj4J0aniX+GYRwHSs2t9PZQCa60XPCZ2tXttrOE5qCnZkd3kXb7tvj0ixRvR8SPbKEPHOGbTGPhvncxvzVoSK1p9NRlXZ4Tp4MZ9U5zmapkPrqlFPmDAgbB01gydu0CipiRK5Dh4FmJNPq8aWiPbvdmst6axkHKWZpsT+/l+J8c5enZYRwMYyBYCar7uPT0MDFU5RkwPPjAph+qFHQMtlODjKBi0pthJH/XgJldMsZZ0lmZQzo9MQr6PJ01U0s3ow6//Tjh1R769oWf6zHhW31uOaHm3xmUX2rZSuaZWmWZ9Og27W/AszK5IxLBZuoWmaTFbLuETsF/UyRqEghtMdsS2fRqqD/t7p2NP+TTe5g2MtU4ksqFiRgSZZSy7VRi5z8XeKCmGMDIQ0eZjcdnto8kLTedqDyGayGSc+/N7144YtrEnNUkgtZHikEEzDt6QMYILA7FbsgjVTZIUNZvteWxUhyRdXVn4OoTQ3VDJteqaFDujo0wBTYG8N98cNG7ZZI6HzbM/jfoeOA4fOBhnSLtguzZRvnw2ZtKPf5obdrlfIUOjjMEPcmsy0GeU97l9noxpRoG0AOvb9giYtyvXTW8KsMA/2xhhAPyY9xwP9fgdwweNogGwz4jUUfTzweLzh9eUVegwc9xtGP3AcB15eXrFddqj3kBrDDKoDe9sjHWFAMVoWgQPuKXRg0AoAKgJmibw5T2BRBrNuTsv3pbn2yBRc/3rcpdQUhVO5Tg1HvNsrRTxIkAyL3lYFacK+tQDHYdDQs9wDfYrawSNrI0BnNeeSBjUSnCEsP1JA7JB02PM2b+4iOHXPC9XWJPZb21pxDEygss0js/XA/dHxn//zX/E4OkR2XK4f8H/6P/9f8PEPn/CXv/xqDWEaRHYTdmMBzgGJl3M5v389K7esxlLKkmHZB658Kt08OdGcYmbMRcpYupmJxvxGozfz6nLcF07vpJQfLDz+7ArGmyikS3Z1BzKdXdIfmiBvYSwhujtIDKfLMt51KWTxnlZI9GTM9HPI7aGRDpcwigCh8kZKPjk/nsbBVjm9fuiT54STJKmVtyxSSHCSLWXC5NX3/ZmsUcGXlp+fMO+6Tt+oyQbEUlE9ikJVZM/qhgRuNtAUM60snLgxyBGLIKh/OtEBcho3zzTxWMpAREQn51nmDHJEEZgqe1ByzSNjQRMm8YiG7/sF8PJwXU7O/aBW/oHcwEpDiLXyP/QTf87fthhNyjhKuaYomGXghQOPOznXBEC/z7ktZ0virPIgOfpWM4q0yHSgWzqfLjkNXANY1nghZ8gV4l9vLrReqnmcSGQMrLxrX9vE05F1XZKyRilLaufq8jDS4bLwH0yWDmIxz0wRS+9UAt/PUuNrXgTFIZ+cqgFBymtakcz+actzKJKFDOSUyPyaxRBXc/Vh4696Z3ifEscybKw+4Rseb75fgkYrTduTHh/5M2dOkiFG+psv7zvDE/XAk0RarJS9oAt/CWUcfe/yHjbPlbNnseX6+f71rD7fPII8VjIp4O/2ZlG2yuTgCg5S2EF8LQxRLFlUadukPj/veoTezVjPKuGX7J6QQ+s65KK5cyHHlvd5ptECCZZdkmgo5EzgG/puOE6ej2ksz3ZMyRF4fuePXr+vK7LkZtjUImvmpUgiaFKGhHwLGOcDPSYYbZudUiTmHbbuctrR2wbW40i5RcZNs/OX1M6B9ZjdsHx3Y2YV9D6NW7iH/XjgcdzRLheMfqA1sWixQh+3+dbrTDnWxwFtwAMNow8ctwPbtmHbBF0B1YedsTag/cD91rFJQ7/f0aTNNLQN1o0ZUc8xm1SN8MT0LtPw1YHxeEwxcdzn8UPHAb3fp5Fu3pre+zxnbjyg9y/AuENlg95uaAps3eqIt216QRRofTZeGH12OeyqkLYBbUPTLc+7WraZ6gjvFYRql8cg5t5KwxMVqyH2aMRUy6koW6a0IoTtiMUOnnF+Ix6KIv8wChMUiLSIpEUVkXCfbUrjdEG7bLvwrBmtR6RxbhknjGZpHikmMDgQkcxnjU/SkzmV2GbNLprOuo62bdPzbCCAEs2nF7KR8FVB0xb1vHOf5Gy8vvPP//jv8dvPP+PRP+M//o//K/z8t7/i7etX/MO/+S9wewCy7RZJHVFCwIYVG0vnuII3BXMREEVSRVExiIoIqc9BrHulf+QqRdNR1jRryPx92tzYzijJ5OGjGIfwcS0gKb2yKW+CH/hYEOcdqYo4B7L8bqnp3uSqOPAJ5H6rPYePoS1eWEWmEeY5nOTAoaWZ9PYzB+cfst5XlnF7bZuYQc5RccznGN26rUFTBsf+RC+16AEWAu7rlLMd2S24AmqitHWqbwYSohuuIRLxhjJGmGbr1WRAlrMdzfqwOroKAIv+MgOrlcilrZhmnbhAFmfF4nhSfiKBNH9HyDVkBkbUWrlRkF0/T5iOvPPp7MgjP9S6+U45PFO6K0AgsGzCsPnoREsdYCcwXsylAPXOQ9nJzUuM1CKTwsbMU/MpqHxOLbaLU+LzrOkWjrB8qPd60KAfAHRd13ReGZvKEo6I+XLnfaSTw41z7kfRaQiyYB6AzzwVussnricAlzvCKC92xq7xSJylvBqxp8vkITkqs+9Bi2g464znxhGoDpUMAz97EsgI/iJrWX5qOR80HTbMX7EvrA8Jl5qM4RF242/1XZ5Ik9N9/aE0Mlt3GoWLwsAdZuAUbZBuftV1wIP+a2urLeSOaMYoY7JFRmREWo23Uu/EW+POyERxvBZyNF4JkNNjZgJa1sholPGTnawda3HWgme9yTIi5q2IVrIxTGzegga+rhbhl7I8JUIeO0QlsyCEV8H+HgYp6Q/HF35n9Chgo1Zz1pqZCsMyc1z+heMlbF93KgyMMbCZjO5kFPr8I5I8sutxZAYKgmac7WisbZHr7LkgQ2fPCRHIsENDbPy+fn05zzbZwDF6EnyeMjHsuCimONtb2e8nvkcUdBXmxKlR4rVcdNAraidpf6LQPvM+463RWfE/eP2wYbtJm8dueKfKQQKyZdJATZNiQTnC860RiXHhIZE+whuyMd4qushjnXso8khhwLCIE3WqHdaVeLvgsDMp/YFffvsVsgleXl4Badhag8qGx3FMhvbuyTpwf7tjxzajrccD29Yw+oHRFcfxwPV6xegD9/tMSd62GUlVbRiX3TojT8E/jsOMuqkZej+s0+xuemFgHG/oxwHtD+gYGPcbbrc3jP6CMTq2zWGP4svX36D6wN7ukLZP4/veI/VR28yK6MfA6Ae2ywbtikOn4etjGwQI5maOcvpYhhA84XXy9c8IrbCQdMDt66HUut8BqlnBYnDCr6LoF8Wv3sgslIN3U6WaROcwUxSdB07GTRg/YRTRPItRaikTmkA5eR303Of76JnHsTEeo/f6gdiD0/c8PXe63JZshkxVEakeeZgo+ekP/4DH/cDnLzf86R+uGAN4+fARrx8+zPM4fS/GM9wYW0wvzUmqg3A3bBi3rYoOzAYp1IcZBsPSPDO0k80YSiq2VpkQvErpRKDvna4Ad/PvEWNnL+0yYLHjmNxQP3n0zysLN/K5EUuL+Zphou5AeP6UmoqdxmhEW+B7wxe6rj+e8KPvnSSeM1GDm2iDFa57Xpf0xOZdvHmpXWEXE4d4JV7mpSiexkugTFwO5BgzTVwJzCaAQOiS8oZqR+DJXotoA5kRQTBZvsEMnHJglUu8bsuXA5Zt7tC0rAwtd1Gdlo3R03SVIiqB6UrUgB+UqZUTXPnB9y3HbA2BymjXKRdZzKCy7pXwzIfFw4YK14H9/YvBnhEh3uCzPdU5RqaO10IlNimRZxRBtESH8sbmBnQYZ8lnmRrKOmrKc2EHQfAonvNTkEeZ3cudqXPVIvcZsXO6OwNU3cetK0xmRU+OnElZF3ZC+u4lGeHr0koLBWqKtUyvu2ETk8nUZ5+bWJO4MI54XosMVz4yzQG16Un/WyYgG+aMhpFLlInpD6Kfsx31Afn2bn7+B2FjgsaOmK8zpZ7vWTI/nqowJFPH/ozGgnbOfEwqS3d4DR2LieZhFcx9M5I6Ch0Kry2p+4rlGU5ztdTdb+jMlBHLviTt4XuoqPjS00Qik0OJ1gpqvEUbK20Lzm2oOjOyhjwFmPBpQ9oegUzM5pmvHlZOhjj3Psbpz1zJofW9/Pn8dg85p5AwqpNcKzCitGcr1cjls15HTA/Gxc8Yu2C7RZIv+G5INvNVcviwzCgLEvRn/fcN/PZ3rh9PRe4z1jVcAfYDkI7WNkhz70Iz42SLmssAxJGF4fU8DV0FbbTZfaxZTEpmBNQ33qzLzfRYxTwQPFONh+3KAYw+04qbdUalcK9a46iX6wc87l/weNziHNi3r18BVby8vKD3B6ADxzG7Z14v+1RRQ3E8vs4OmduGrW3TFza2mW4y+mwmpcBxu+Fy2TBkmyfhygD0gOoOPe64v+3Ytm1CizGm7u0HjscDl9ePuFjEYDzuOB43oB/oxwOjz/+3Lnjcb+hQXPYdfSi+fv6MfRfodUDlwOP+wNE7LvsV0AP98YaxN/T7F2hrkO06l8HWQNtliiLJMwLhHlM76kiOydV+mHOAe6FyMUWJLbrRogbg1bvIebpBSwE5dNj5xtyBVEL4ToV+0LmDCoyWwsye0yxay9151RUp543QZmRVyUaZ0m6fimTEvMrPcWWHu7Vxggtbvl91nqzo1+GAITomk7KndzXINGAWTazeQt3ow4051BwH2/WK/ehAA7aXCy6XCx6xdhnxAYCtZaMlibjmc5k3NE5DTM+sqkVTv3+lkUiQxJr2uOJp0VAh038KcSVro/KM1NVT6oJ0s0hXD6AHUoC+GfzuAfeiSwjrVYecLzEAUzvEclpfDJ3x+3LVFPC8p8SeznowvguXnWQEDPOIupL0z93HzQ5w8VPLzeGhtl7ZhRx2Rjc/fcwMAtHoPT7cQx/efwfYPWg16T2sBmvKoIYsESgA3xUooRSPS4udGd4zgRR092np3EhsBvAldJA33KKjOcyDPeLZFZSys6yTNz2Nbj++iPJPyDGmS8qakNHBRuIzUM2geILAmQq9jaylnjX0I9CMp8+qnRwvoadhnzeLRwyKbS6sL1xi4gBKiiyJ9VsMzByt2Jnxtk7RHVpjXWC1eTORJR3nsScCfLqxp/kdH8vINfJmMCHnuadEpIeZ8y2iK7l7q+3tjuuMcp0oFRG8SgcuHXFQNyj64vidzHZzbGXtqgNsjR4T/MSa9ue6oLVgumx2VowCxDFyKcVYltl+pa66YeDYkXDRa4XTmEkfOjF8v801adSGLWaMERl5zjHRVQm0hJRd5EKJssCI7oOwSvCNGSGtGDyS3cAXZ2ELJ1GYlMlP2pNHaM+uzUFZuot3w4+IIwF/12MePLJBbMEjqaPLc5vOBqjewbfwLXuj7Rsl24vZVWkjefNRzxjyEijXuZ5tNu8d5sEPORdp1ESHZ2X0Mui0Aw56IGQMvObcOzcLaLRZfpZflILOMp38iQkWjTFND/maRvmQpBNBPUCDWHul7JcW76yOW9cbnAUwXyGl9hc6S/cc3ymfFe7yYRGyCVXzeEA1HSrUATnYFO7M82zK+WG8yXHByDj/kLCWA0e4PRFmGDlP3UHtmLyUznGM9xvHi/6968fPsX18DvDR2mZNm+wsS2+uQKlGrW0c7jGDSez04kZ5hpnu2MwgjeYJjWpybDHDkzHGTIGzVep9QHqH7Jh1guTJEQLCfcz0gaEdx+OOfdtwvVxwPB64Xi7Ytg2//O1XbE2wtYZx3PEA0I8Dj7evaNuGtjXs+yTd6MdUaSK47DuGCPZ9NpMa/RHn2Or9jgt2yL5Bxw3Dx30ckF1w9A7pAzhu6DrrgLTf0e9vwJgNrZrMY4WOxw3NGmCM4w4MxcUMOlFgjA6MA3rcIXvD5fKC7bLhcfuK/uh4/fQJAsXXt6+47DsUO0a7TSNzb3gcj9l51dIeWrtY6g/obDxJKQTvgkiCgjyjUYvpKGexH8WBhFqyoa/xE5SvY+DxuM80cGnGF2wEdzOG2uw83Z51fOSoogN/H7UYmM6og3uvIu2QMhXYuRqHbLtAUOc9El48EpWo7fI0UmktoobNC/r9KAtKB/ahh8ES2iJpK+thxZjr1VrDxz/8hC/3G14+ffRJxV4ZdhQGAriQhHpizInzghkG0SCKu/gtax4/cy102pP55KjL80i1pYRLvJn4Za37ciCxpA172lRwpzsjQGt37uicT5bYBxk/UlLseV9EGNd5n641CZH2x7KvMv+ufj8Um/++fD/WMcYWPy0RgZqK5jwNQWadMBhflI6nxgY4ElK2UgFFjYxORbbZWrpBV0FHbWj37P0OobUwXaC4hc5U88dHJAVTavB3SaZ8IpvO17OUdXIcAAmCnm+srE2WvKWmdcYsnKD1KZ7trPm9NBUkjBmNKfNmlaDXiWe/9TnPG07eLBKpXTpz7IUnlqcVZxP9HF59whD65EknmdMSe2jIWjc4lv1K0UHeP8rDCXnMxTD1JikrvJRL6CjUf0aDXDUlPmTUKETnRXkK0orQZgbn/HwsYg6rvNFaG8ifRxTaHYDeBMu/LznEajblC4WMycI3/ACiSEQLF+OD9xnvNVkzYdhIOFMqDIQG3pdAWVkKmIQe9uUIeQmTVTT3UXstFFJ4Bk4sberjZ7KmahnnvUWyUX0vFNVEXjCW+JFsJe2GusMT7ya20yCC0BrmwDzdlDL6ykZIjERLSXp7odBCB7q9fi7VGK97r37q8xNrXrt2MV75FSLYsIdedJ0WFCtCzYILHmmOMoezAnH6OeYW7+rKW8mcflH/LFY6Qs68iiNoT4STx46EA6bz/yRWaY1CyPv5pC3v8VJKO76VvwKnA/XngUVwo5xK0uFWXdZOai1ZIL83avvjNba//gy5bGj7Nj27m8PA13le6uVD2C3arMnUULS9ZadOESj1zxaZBmoUMQ+P3CV4EQi2No8GCWWmmIbb6LAmzDgex0w5BgA8gG2PLpyqM/LbRNBFMTbgeNwxxmPWujZMz0U/cPRh3RKtxub+hnH/irevXzDGwG3bsV9n2vLoB8bti3UJ2zDuO9plx77vuN8f6OMe3v5dBKPf8HL5gOs205W/vt0xVHG9XqYXaCj0MdDHDkDQjzvG4202ghodr68vAAZutxu2JrhsDY/HA713DB143BVtm0cGQQf0OKD9wDgeaCI4bvcZp2nzSKPH7TMeb4qffvqHed9okKPhuN8gAC6X1+kBPOYGGTrTfCF2Hm/sT4noJqfQITzirvhnp90hMg3OYZ2wVTEOjSZgraklm0tUzfhmlD5wOTrG44DuF2AD+rC7t9l9rh+P2QH6ei1tDtS6P5MWisied0GdvTIllTay623EehTYZKPnzmOf3AfbeIejbszWGnqk8VP/V9+41IlXwv9D4nU1jpHdZGf60cBqzrJQGKpo+2Ue4zIGej/imB/xDTw83ozsTupKK9Jk0vvqT4+zESmy67X5GxvgZO8EMPCOv2yE2E3qZxJyalAxDhCp08LFpZAQw/lSV97uibRqpVh/P0et0jgUlaeHi6ccplGsTgVK/XkqsH3yNm9qE27fyyjRNy0oVTbb8+w6Upo+JqXfM2rQCERqAYqMrTyKr4Cd+Z3PecZjtX6vG895t9RcjQoygsDzPlfyAerk6X1sMvFqsSnikauI1wYIG2UUbjJUOjXImHw2hJwU4pWoK6+tzj3uqgkojskrugdmAH1b1JS/ZPobkE42X9rpRV/RsSz/wjI2LM3eI5QWFd8ogqa0/i2gBq+TdyaoHZcR363Ggr8759UME61p62aQeqdSyb8jZCIBe6mN/3SB8pO3tnRA0jo3a7KlwrxrZ4frYpT48U4LRWPO3iSwrDzyPPO42WVd7dCbOnF+c4TjJt8T8xKx2joNWTPJ1qIRlpCzKBMTW0ZGyZhSTIYU6+YfXbb5fRArvyIuEOZv31taztMM/WGlHR63UcHMxGpTJuooXBqlaRrnlQ6jFXfltbXRXOliBIdhnCulWo9ABNF8NVh0cQhVd2vV5Yh3+5nYrXyTR9zC4V63psB121m+S9DXfo9yDU3jJCwIp1AaEIG1gOhj4CkLPKvsa5PTlOW5UwFslV6Rk+F1qOxQzhp1NlqfzdKNM+4syepfyveCq/P3QjtKzefjZyIqzxSi72vKc6ft8sr4JerYrRZd0qcW94hldTgnT9gwSsBGPZOV+5dgZpLkuhqvjqT3fLdEyj5UoN4o1OoCPEs1sikdR0ibGYCKPLJ0WY8wgn0IseeMH112+sI0lOesBnWIeHhgE/k5QaqwGIKYEn1plPDQ7zFtf9iwvd/fsOFiZ7AK+sGDmBtkazsGGtp1xzj6bGw0tnl2qtdQlCgTMJo15CABkF4LIwAV4MMMVB3Ao08DDE3Q+wMNguMxsLUG2YytVKFHn8y9b9PItSN0jsdj1rmq4suXL2hbw/X1BTcd2NoG1YHH8cD9ccdxe4MqcH39OKOscsyjd8zAbm3g8XjDZXuBaMfb22dAD+z7bgZ8h/bD/g883r7ifnvD1hqwA+M4MB4HHvcbtuvLTKPrA8cxU6N1DLx9/YreZ/fltu+zeYufv3vZMUaftb6Xawj+maE9MFpHE6APxeN+Q9t2G3+3tJvZgXmMGSUevU+F3y64P47ZVMg6HzfhzncJZFMgSSgVmZXf4cE5jtl0a97P7SNcCeXxEs0iojqGpaAfGMcNwIExDuBxoOFihqe1xoWiP+6Qi6IfALYd2lqOMTbsvNymWGB6zOy0mbwzrXv3Y59rAe3hpV6UWayL/6t+eIJEaulM4wcJWQ2DyOu3AqiOUQSKG3/yLaUpbWYsHB0fPnzEb/c7dDzw+vohnEnpmCDl6tFIq/XzKvdnKZERVXTF4elxIcgRwN3n3YdaphcBDEnaTsMqHSiMFCSiNRUwLTM3OqagXK3XAL3fSHuREMaprOUbb9QFrPIzMnK2RiiWG5O5yhpnSnVoIEIEyYNpuNht9qrhxqpqeV3YkMvreU78Bc9KgOMg9lz7/QsLqinKeTvBFvKcn3ddyppwbtBfJCLqmYDJyyiUchp7L5xtSMBOX2KAtVqha/1TpixXOpVMjdCVeVXpR2aUNoKOyPIf3wt1Ueaz1qg+z1+QEZ1MwbA1e0LrIrS08hlO0zjt/gU+nj6uUthpxZ+BZIe/k4yKNYzEC43KU6eBu/PVrKvq3JHTnpWIkKyRqzMNuBuxxPuVZpxP1fjvt43alIPOR0Qv/28M/xSvezLG4oGLkcVeLV9bYa+DzxFfnAlbSXv3+8zsu9kUho12pfXKXgX+N62vZydBmREZUJW8ACdgF3CeKyA8joW+fp/rwGo3s8xdxhC15IRvi9sxv/I9cM57PJ6vNfuBxcT8zLgozm8fcS87nSsNkcfFUFaGy4XCS5Z+yzpvMU1CCypW/lnoWsahmUTwfPvi9OX1IavSioevxlZKnHKnijVeTcyiVgrmUVDejJ72zkdXKWV9+NqnPzr3lOv6koBenAe0N0l/jEH7x/47dJQ1wUL7kHuR0o8ITAQGZacXvI+OY0uQQ6iuIzeTTGcQY01e85RmJUHgiS70+Z5+DwfpMyf2t68fNmwxOgQ7Ho8bLpcL7l+/Yr9cgW3DUOByudqiCMbRcdxvFrnagHaZZ8LKTufGjjiHdnZy7dDui/WI85na1qC6WYdYLaH97XLBeBwYx0zVhQi2rU3DRgTaGjYI2qa43Wf67/X6Ce36Cn18RZev2LYdLy+vGP2Bz7/9iutlx9EPbNusjevHgZ//+ldc91lX26DYMIDxCO/oMfqsuep33N9mqnB/vOFx3PHp4yc8+oHL3tEguI2Oxxtwu32dTLtv6Heg9wP3r28QEbzKTNdWM5ybdny4zqV66MDjceC4veGwtNJtE+sIPf/fjztub3dgAJf9il322YTKi9rHgftxA/oDDc1qOudxQvfjhsftK0QV/XK1+OVMS25bM09cRjuKyhZEJc+mQD/m8Uju+ZXWgMejgKumG/roEXHcNgDasImYt9FAq+SmbG12pu6PB0Q7RBqOPtB0R9sEj/sXAC9oQDgosLnHbHrnxlLUGM2DxBpued1MwfIWgRFET16PYXHzFUEacOea2jw7UiBRt8GNOPwp0WSy5dEFgxpseA2YeCsYGeUM27VlfyzSMZ0YG4Djfsftdsef/vAn9DGgUeNm+8wjmYPr8UjHSuUDTn8SEWzRFMTv0gBH/Kn3fhVTNBDBiACROTbi7F97p8+N63ueo86cvf3d60O5HYzX6zjQY4+qKzBex5kRkjVzIdqFx7dUWhO9vmnU+jtKTEqy4YhTy6M55UvVqOLPeJs25iFaB0Kfp9H4FR5w8tJD8+iCvJMdShLZEc9S5kB7xr+TqW0rmquRfa8gdNjigCO8xMAsfym8lrNRRZ5LDnq/Kea5BwiIE5AGvGMjG2jnS+mLDhnYsM370jBN4J/OI11kSTbGzHPEGSzGo6jS0ks/sDgJlhE//VSInRhWTVmQIIZhjko2heSOmt/i/1wDEC9q0OwZxs3vjvJbAnJrLOhgK97NZ93qiR6CTCGF7ekC4bz2OxwyZ1Ms1p33pqrJNQOgNleCgnSMGcl8wLrfAk3m2dTTuVkNwcLHxnvsFKo8Z8/27IJwvPLxNXNkm42ljxFHKyL2oN1ttb+CmakzbF3CERxRqzMYDu3BRwCRiajhRMqSn7k42a1di5Ef0JsyYSqlPOKVxms6navTYe1dv9HeHOQcEAxPb+dGRoRhQLwcz2NHo20Ym208+1Dmfp7lspeeyNm8hvsXoolcSWP3CJnjCDd2o4RneZXXa8c7aYako31g3Fce4eQpS11Wr9THnzb+sufCpz5sTOE+spnTGli2yDTyexqLSimyQg+N0z9GaJy5IyouEC9bWRyw8MaRQ9fVgoZ8SITl+k+tFDP2v/eo0NyZY+hJ9DTY96x7M5mh8RTQDpn/eCaIB5lAa250sSNbk5bJM+wLSJWXJ1/EkZ0kC9efGZe0OILzO0GAJ9ePpyKPB46H4uh3HLdZ+Nxx4CEyI7L6wBgdre0YjweOty+z9vPlamzV0PaWoB86jeWhGMc8IkdamwZsH0FENyJAe2McedDIftlxPAZ0KA7tM91lG5Au0C5xkBCOA4fOIyAuu+B6ueBz7zhUsUnD68srNhHc3t5w2eYRP54a+3jcIbhgNMV1AG2/4Pryisf9Me2EA9Bx4H7cLaV6YPQH3r58RhPF1gQHjlm8b6k5fXS8vL5ijI7Pv/2Mbd+sPnSEUmiquGzT8DuOY0bahkWJVXG5XiK693g8oDqwNUv96YeNf67d/XGfZ+tul5nydhxA7zNVvHe0fRL3uM/UZgzFiyqG9jhmYxOxM/kq8K0Mp9GVdRanj2mgW6rSeNzRtKPtc15oDb2bobNfrFM07470mDdpkMsV0gf2feBvv/wzXl9e0KRhdEW/A9cPLxAoHvc3fLjMn6c8ToWpLUS4GUoGIETibMJQHKQE/UfVLKh/Vh8gT+Qvb2AlAQqPM4n4QZ6hZFaDOFLXKBVLrYbb68bCOGBwGV7ZmQq+X3boEPTRsV92vFx3jP4ALLuAO0PHfMjIG8h3gIQXgGL4prBEghCPrI1hyt+EuVn2Tayfk6XzIIALAsQQJAklolgENFzOsmKNiq5pJFtGQzLCE7DMc1t0aKZteat7W1+ug/aaZanHnQRzA8XUcrCcpKPugEG//K7XsWa7Boqgj7xfaH48NkICBAxBwOMJjNJFIbnSMVmki8Gklpp2MlpPQG4hvSxrKb6Pa4GnTrvOnKDUlVJxSjGMPWjFng48MfIgkJYDLSlg3J2bDcegUrJ7gsNVFkgqdlrV+F4a7JOQU85khG81XIoBSQAhSJUmW47Nv0nz4bGdABmSjgltE6jWOTDMqz52mwoZF9+5SgmGpjG+QkIlGhaDpe61WINkpDI/BBBlo9dPyVVovZnSdPP5YgZAfauzgpSjO3wv+ri51lQDJ870yCgTiZ0vswkYg9GRKaECnHpL5LpWEB73izfAkVij5CeE/NLImLEZnxQdMiKOLF8YLItB55NHk89vMcS63lVOqrZs+GYNeTgeniN1ll/fY3MY/p11V8Zd8BKUTMdaWZJW3vcWPN876eTyz7NI4LqdnsOqlf21UgxBVlx5LJXSOq/L46ZTs1KWKuc5Jd3wmzp7uXEB6/RLGRclJJ+TF11pWB18PjonT8lC4kcGLZ+ROm/08Tmmc6yGyMyggu/Ye/MFkXXDNCAG0mGGINWqws/cFsJHjjFPqJCc6rHGGjJDY2Xy3elw0MB/zUs5w/nwZLBcW66kmiIjb+Unjb+X1SpbJb/hUf7dOs6XbDnNoFEJ9QSu9DtXzrR9UHgmS/RWu/3vXT/ePKp/ninB/UD3bndtm2e44hXHfda0tsvLTP293yEC9Ns0dDZsaNvFvE8DEkZaR78/0PuB6+vHrBWJDmrz99GP6SlobR59MwYgA4cqLtsF1xfguL2h3++Q9phngm4NTebxPJfN6ifHGx5v89iDfd/w9tuvQH9g3zdc9h23t6+4bs0OZ5+KZdsu+PTpH3C5XjFE8FDFcb+jQXDdLti2O4be0fsd/XgY2DlwvTRc9xn53WRA0OdxPphNcKJzqz5mivIA7vcHrvc7Xl5f0TaBHh2yNezbhl9//hu2reHoN1wuV7y8vuI47vjbz3+dxws1wXEAL/srFB2Xy2Yp0l/xuN3RmuD6uqE/7uhfvkAf96l4hndnbpABvGwXPMZjnnqoA6oPjCHA2IFtm825JicuWWuzO/XoDzyOG/rjmN1L3VOFgX77AtEP2OQFj/tX7Ps+lVNr80gpoU6FQ+I4hWmQCrBfIG1A+xv66DOd2moYLtsFb799AbYGtC0amsFrd6TPajEVbG7oNIH2blHptAKi21zN+5sbObx6empnK/DD0l1QegTJ/m5e+DHG7CjuBlrVfSEs1JqqZQdcB0upzLwzrUib53cKg48cV/O0XxHIdcP9eKBtgv/mf/5f4v/2f/9/ArpZCrjreQlh5I+LOpE4xbbF+c0TkXlkROjIGPquj0e8vk0x2gi6FLBtL/Uu2X30VOWUGgRppxrlWllFlFCvtWvA1qjLYiv0z+hXqhw/ys2a/Zoy8FodyU6VaIEGa1RiiZJSHVJTyWYbwU9CxlX+X5db4jc759lpneeQzjpCr3eGOw1qplXhc3+Td9scQum8Vps4wAY7qiFYrhEp4K78Ixhv3b8djDGAX1rx2P3eHd1WRenouOHgbtbzQRVjJZada+E2kGc5jJE1SbOBlYTVqu7ppxphhs4BQ4l3hSKz576roAhSVfWxGporHTWQi4zIcSyGbmRzsI06f1i7cT+75lhGVDv6eNf785MWD1SasZz2AMkA+8czVbo3THFoGcfEjeh/cDqrsjSZmbWb08NPfF0aj2U9u9C4HDg6YBvxXI/ozBrj5msSx/aRkUW/85YPgBlZNfZ/lxNOPxuzNyB0iT0sdyhlfwsDgWm9+aoFr/BpqnlfcX6s2RqQqP8L3W4EVhMekR0oLXnSHS9xNnnPdwQPa8hrlgEpj0C16zjtiDTUXA7a+yX7VDBexPJtl4+IOntO/ndwn9kOw99FR5AJTFYZzzT10xu4Xl9yrYvcRvae0OUvcUye0Gj92BqXQaQ7kXo5BuxHuRRaJU5QhZ2xLPH8pEvtJqxey02dfl0fRvYd4wLfQ56eHgm3dS14Br7SzftMuGOiLWVu4ShxeblK05QDU2ZMbKpxhGQng32tm0+DUpcO7n536qU29WvCDIhulCaukc4MM4K7O3AWGSRx3N/MKFU6Tsn5OB2RLXpVONRsJEJ7lARoyjSR0GXT1vISDI1gilNNgvtzHfmeXIcWjf+knIc+on/5gER/ol6aLQoZt7MUFE1K9pHEaSnDgkv0N/UMM177718/HrHVEYfQq50grEPRtzu2/QI9Htj2K7Q/LCJ4s0HNFJELJIynrQkOHbNm8vEwY1Ah4wBkgqlmaZHhuYTieMyzYwUyj9dpM/LYt7mBt21Dv9/wuN8gUGzXKzbZMEwg7ftljtUUdz8+Qh9vuN2/4MvbNAxmoyXgz3/+8zyD9jEjXNfXKz59/IRDG/oxcLle5jsvF2zHhn6fdYuP+w2jD9zevuLDhw9hyOsQtOs265CX87z2fUfvx0yX7gOPxw1tE2zbDlVgazs+fviIX37+G758+QxBx8dPn7Bddrzdv+J2u+F6uWDfLujHA/3YsO8Zbe59dgre9x3ab/h6+4K3txv2bcMYx+yyfH3B43az6OFsqKWjT2XWrAP0GHMzWxfoArBcqQ9F7w887m8YjwdaE2g/cN13HI+ZMn659NnhWQT3+4GXlxerq7YCejtE3EI/sbFVt/lembWzfWQL/6GKdtnx9tsvuFxf8PHDT/b5sPruGdUfx8Blnwa66sDoE7DIRpuVFSRnIxfpTJ2P4AqhwDqizUgPmz27hafcDV+l7yxpFyTUA1hTDQQrHafHCip1JEQFBMdxTKOid/wX/+Hf4f/x3/33eIyBAcW2Xaqgw6yrDS+zZGdcN+oYiITS4KMxwptJ3Z2VjSGvw51po6LDAKWQj9PHNOjM41oGGPaIWKxFJYADJZwHTeDHM/hSCv/gqW7xYqt7WYCxf6ekibEBLjQ4Bpd+14h70w6pkaXkhbVbM6tien4xoOexM0r14T5AjuSdalep0Q0kvafr3lihZDR6W7dMGMY96Ng8k0PTkZTgo0XEIzMGMqUzaH9KpyWQEXODqfI0E2IdypEvGdVXG0Mge8n2aH6nT1D8G0Rzf+aaFl3SQYV2Defwwhv7MGVpH1HES07Pct7IyB83fqo0QaypnMx2SXqUe53Vc83mHDfwFaBwXRsybpV4aVj6qZcleImGNyDi6JIDOJDzxoGTz4B2YXxyYhWaf9l7ZNqGoUCZBg7Fea0CCBPTJz1B40hHAIiPRGdio785jqcrJkTSkQYcZ1IzSI3UPk7BjHS/xflAI5SF6dRShzH6dH6TwFXVqAmHSjRaZMdeilV1RWkfeGp/ch7PyVe8rFMs0cgMAxKFDv6LaaXJ0blqrJ+VVirPQ3aBLJop1Jt1kh5lrMybz0y6ZWpPLmEalHHVp1Ae0MLPLfbbKpXPzyDZT2TX2FfpfFDTt6mblvnQpBoy44AeXeYiNDpZRhkj5zIUOtmEsyHOlKk/BteTk2/tHF1/aiSvOBWZxi1rja7rD8S/EqYeIQhqeOdTKty9jtuAoapHWMWHP5sZYpanOf2V9A+JRVoztWatONPvrHaoweaZh8BNtCg1mp8FsCEv1WEjEhmTIUdDTmnIjFKuY3Jxrbr63vXDhu3jcct0ElVs24bjGLjuV7RxzPxBdGgfGEOh447H48C+fYCODaIzOju6LcLodizNrGPd9302SerpyRbZod3TLAc2M7Z0DIzese0N/X7Htg/s1yvw8gLdFV+/PPD1y2/4oB8h+zwzVlRwv/V59M22QbaG1w+f8HK54Jef/4Zt2wAR9McNv/7yN7zdbhh6oI+Ots0QzTEO9LFDtguOo+PD6yvuxwPHcZjR9sA4Hrjf7nbu7I7j8YbWZjTYPXCPfuByvU5A14+Z+uvCGgPQjv64WYOrgbZtuL89sLUd29bCs3y/TUN4jh243W647BvG4wZV4H4cUP0KQNG2HTuAx+PLTGvW+ZmIYhw3PN6+zHFd9mkIH3f0x6Tb/trQ9h2jNYuQjDi7bXBUXXXOpc8zMm+PB/ZNIH1gu7zgoQeOw+iEC/q44fHQWeM8OnB07FSfIOpAYjLNPMpJbM4X/Jt/8+/x+de/4acPr/j85Stw3CH7jk+f/oDLdoXIhmPMOt8xBvoYuN9uaB8+QMaO4+gYMp0Uu+wW5bJom9vMLqxCApF6YCUQ5+bprA3VFMqIGr1mAM4j9rWma0h9J4oRYX0mQ6YMklz5RZEtakW7GbNDFdInDdrlCh2Ct9sbPnz8gM+fP+M47tga0PvkofZ6CbClbXbHzHOqzTMfyt4MzNIh0EC1eqfLnIcLrc0AzpwzGQwhkCWbC3FkZEnTc6MerDjojMAEdBlFTYAaK1mNlWjAwbGSFuckh4PBDDL2lGaK3felcEaExc5t5fdnx0HVPBcxoAbXLJfX6PJ8BygSNW2cmptrl5HkrIUx5RsRoGfzYf7zCXg6lzmMFkAnwMxaCeDiy5LdabkLMM+K0595yvUIRovItxwDwDzTzGTzFORJ1c2jXVG35On2Dh7r0V7Bc6XunGmQ98Ue9sGYAvemcQHy1vktEeJC+XASJGTn79YOlCmr/Ocw3ewdEfn2Leef27NH1PD6VWtZAc9C8dwSDYBFSYs11SzS6K1Tgdg5m5a2K3Zurlh2wIx0kvntndDLXCulKmCTAN/146T7IIdQxqv9WSlnVuOIf4vsBGQmAhu0os2itD1kXKy/f0eyP7WSwea/1z68Lhc0HL/pLHV+YJrxETLVqC1U88hNGxjo2ZgoUv3FolZuEDkgbhZtdyoO3h10Tv0I8dFIjxij2GxbOFhYzq8GSqoBc4vEBui2uzOThQRKXT1hY4U0gk/Na1Pjqxlxn2e2LnwVvPV9oxbEk1kTXv5K68P73acxoLqfnleetWREIaJiFl91o42N9di7nlrbKs97kyxT/tZbGD3OfeVylZzKZsI9HCb83pM9lR/kf72JU1LaXam8PhrZD1tkFfBrNGruSZ+69A+cRUfqSDcHTnW0+0/c04ShnwRfpWHdPJvQ6CjOA0bTEfso05GdxbUl1toMI4zwlWk4WXZpYcyLWBZTT57sljky2KNuY52Jd2xeUpJ2yQ7IxUv9rTMDQIsbnUlcsrHCUe36zrIXHCMNGHQeT573jevHm0cdBxSCYzwiLW+o4uizJnPvHUPvqWDHAYwHjlvDtW0Yxxtky0Yr87idDuiBftxx2VqkJal1+8VQSNug2tD7PM5n33c8rFlUvx/QMXA/bmhNcdmv0G3D64eP0PEFb1++4vXlCnm5QGTHcb/huN/x8vIR22XHvl9x/fiK3z5/xZfPv+HPf/63aB8+4vpywZdffsHjccP1csWH14/4+vUNj/uBl9dP2LeGfnTcbop9mx2jH4/7rAEVqxnF7Gqsat4SWNF4s8YLxwHBbBqlY6C1mcqoOnB/+4KxX9C2jr1d0UTxyy9/QX+8YTcj9nF0vFyueP3wAbe3t0mvZlFeq2E8Rge0Y9sconRAB/Y2N8Js6DCPfLm/fZnpwK8vM5XgccfYL7hszRpAWGJWH3Z8wzCQbOl7x4HeD3Tt8xxKmW2nHvcD6Acu+459b7Nz8+OG4w04vnyBdmC8vkJkw94OtCM9fr6hRn9Mmg6dDaxamx23tx2XyxXbtuPDh4/4688/49OHj9j2CwBg3O9TGW0b+uOB++Mxa4j3HUMfOB4drz99xCZ7KGpvkJD1ZhyQXAxJB1mSoGR+Jw0ohMMCIaTdUBh40ozkqVLTUt9ZYysa/4qnkXlqj3sKRdD1wO32hsfxhl9++QVDD4zHHV9+/QVjDDzuD+i24X674/qSCN691z1Sxzz3ZTYuapECau+yJhPcMGriFDM0WsOwdD8/S9HfowQEAoQ4ZYqCrHCzRjZNMMYh5hkNBSn6gOwGomKJle4jZe/0HdCTYexXAuIKvmLpLHrM3m+Rioe0/ED84s8Od7hHMwPFLkBt3tZ4TOzKDQC9gKlm0X35thJRXdVacm5ETkKD5QRHgHcJYOORj80aCaqD2lmya7yUc2uh4CXS3JUMuDR60hoQWoNQybTu8M+rFUTp3Am+3Db8lsmpcb8szwe6NydzYOKue6PTyeByx0FtZvtsRc7fc7ABFGDtvLSmLa6XxFwQQGmlAwNL314c7fbzK71G1RsTcSpdPql2nIrVNkcgGojmdttyLm+ZTViCS3MS0P7mM2pja6Tj62zwyemTMBSJtgFS2egC8yil7ZZR0/OpCU1G/d1g4LtzfwX0LLWkmhliJYqTDg7QkRss75xmMng9vAxnxNi1DD8FOkcE/fspF2BOKGTi7qn2usp54TmTfhJLf83J1QyMyjT0ROUP3QlB/Og73OY1JJ8ldKtIpf8zp6b4wi1pyELrwgIoeyLQOHxuQUKeG7e+Y5W4yAZ3KngivK+TBtKgve6zyU7Y7rjIdTfMVE7KyDKiXL2kgxAG4mifeJ2s0nm+ISs8unfOXWAhGXwETCe/GYZDv7EmNo5Iak7PCmUKmWZxnej0XyKWdY75ObRFVtLcw5bSzM6MHAykHJjISM+Ma6JtyGfv8xH8k+saKpj6QehW+S16H/iQlcdDEVxr+qvw7vS6lNrM/8pANNac+s4eOFIPLC+KcXjQgP88gJku8YPXDxu25kvEbkZC13nkhx53tMcb2nZB2612TTuO8cDQjvv9BrSGlw/TwFFpM9oqs6bs7XGDNOD+eENrDZfLZR5lc39gqOJyfcU4ZoRWJFMo933Dcb9B0WcH3/sbmo5oPrRfr9hwQHvHcevofaD3AdmvOB477o872rbhYem+P//yCz68/oQ//OkP+PDhA26ffwN0Rz8Gtrbjdjyg48CnTwIdDygEv/32BdeLoB9fofpA78D97YHRFX/845+w7Q23+xteXj5A2jz2SNqOqwham+fU9uOB3u8QYM4RQNOB8bjhuD1wvSr2Dw3H46tV3Gxol6t1sAX2bcdlv+LLl8/zCBwALy/X6PgKE5KbyEz5HrOLomw7+miQ0cwYOjAGcLs1PG536zQ965XH2xsunz5aGrpCu0D2fToqAPT7Hcf9K/ro2K479usVQxoul1c8xhsu1w1f377ger1ijANfP8/Oy7fbTFefToYLNhnoHehd0dqO/eVDHGGkquhdoNixCbDtDfc+oA34+vUNt/sD99sDf/zDnPsYBx73N2iT6L59//wrxlB81Y4hguvLR6ArdCNV1MyoNUSojYQqGlrbrAuq78sUO2L3+Bl+JR2U9xKBHge0sgAieMqKC1UCmMPPpDNLTL2m1SIm6ufVer3J0IjKbduGl5frjEb2BwQdW9vwePR5RrEmmJ7XZgJxpq/5eWxxoqlHCVQp0umeRxeqBNqlRTdQ9wMLtnjfsGdLGC6WphpGWuTxBBiR6D4hcRa2g4ZZ/9vCYBKkBiJdQnWSLedvrvoAi0+jlnlpjNeMCkq5mUox+WyEkUoKLgAMt/jPJLfmg7bgf2cQR5AsZXaO21MVWaFwtL3rdK4ptDSzLHy7AP4kn4/RDBgbzFi+B44KszGBBDJlDzD4IxMmcIcrP2+T7+YT7TnhvVVAiHWBLXPKJhqJCec3WzQpoyOOCs3d6KAzn4lQYuf5qjl+BMBGBv+J4OKd1n0uCR8Y8wn9P9813z0keeb8FDaWcrxs3KTMAVwKxX4DqKmVO/FGoUZ2ttWI2bljLNLmeEZUHypmRE2KD9q3Uo9oW/iRn/dstyZ4rXTAk8/5GWzcMugrvEpGLgCS/RI6JOq7o8lRUkypMZOQtJglIEJ13tXp5N8f4VhiJ4nGHieiAWFOgpo3adCUjf+BHFdXiSPnBJLykbdL9CNgIyO5lPnC3+Hj3drcZ6MYRmzUZrTM9UtVWCMcAbG3ZRge2steZfNfTHeEEzuyUPOc4SGLyWp0i0SMJ86ulT+YT9L4tA7MxE/RxUDr8+L7Ze1ZZyQt4vkFgpDlQvePYv9buZ+VpXm2Us4SFJLM57rjUmLfaq5Rigw2f6KeVzX8vkl7kr8cQeXX+1Si3ayOOJt5Zn60hUZCz3HjzzOUPL2bcjPI+Su6FZzjjoGgIuMOchM4FoT1KOTa8xyLp6JxIZuWEpI4e9qzvSiLQD2jCEm74AlN2JSHSmrBI773hWRYngRHO1wtk6b8rdmCjNDngRntlhq9rxlui3bnVIRoGsWnffzI9TtSkecROvs2N+HX29eZYmu1iv2YXXnlsgOqeNzvuF5ecL28Yihwu73hul+wacPjceD19RWXyweoKh5vb+j9wG+ff8NPP/2El8tlNv8ZHb1b2qzMSMK2XyHWcAg6a3r7/Q3aD7w9Hri+vGDIwOgHgIHHcUdTwb5fAFW8vL5C2iUakDz6gW3f8emnP+C3L7/h5cMV+9ax7xvu9zdcLlfslwt+/fzbTJfGNAz3yxVyveBx+zIZbgw8Hg+McWDfN2wi2FrDtm3Y9g232wNoO1oD9n1D7wce9wOjK15ePuDL588TWCo3lxg4+g3H18f09myCx/HATx8/Qu933D5/wQ2wI34euL19BT684nKZac99eEpvdiq93284Hg9cXl5xafs0/gaw7VdslyseX7/i8+ffsDUB9BWXvU3FNnwNDhz3A1d5jWMH+nHD4/4VYwxcXz4BxwOis/P0ZWu4bMBxXHG/33B9ecEvf/0XXI4NvXd8+PABexOM446jz5rP8RjYrx+wv7yiNUHbtpk+3Q8IFB06a5uvV8jbhq+//YZffv0NbZu1yqoDx3HH47hhv1zn9x93tE3xdr/j5cNHvH74iOvrR0DnwdVCjWv8f8PgQgqvYanXW3orkeDQPargczNjK+fVKHLwDExFY4gwBGZTBc5eYQDiUMnT+Jo0DB3l2WKGr6eN3d5u2GTg82+/4W8//0oRBmvQxtmLbHBI3kd/McGZtXAodRZF1Vc9uwDF5ga7znR2Vy4RFbFzdEOVecqRR9j5yBFrvAVLpWw0Hwfak6c9Qk+oxpfA560ox1/UxUqDyGnhwn1Q2quK0td9nNkcKyBqRFC18I7W0cU8+e9Kii+94WZwD10isZI9v6Q6NDIFvvLnM9VS4bl5uvV8bxhMBOiCW6KGMifYKGsio4HniyMXGT3yIy2e77Hnz1kgJAG/0syi/EtrSmfCClLmOu82W28ddC470ZDplYF1jmJPBCe2z/i7+V6NoVAlfO2Bd3pPnt8a/E6R/jRqx4kDhKILSfsV9LqxnQ4mh7WgbAh+6GyoMu9p5W1paq9GbR2VAz6iwRNHYxob7EAhGU3RJTbEmqT3J2jITZ7Ka5yPz7KQ90E4xIjv4/tryibH3DVlkGLKMy91ie9aakS2PKAE38SRmfJIZSW5lyUQskYkq9iJUx89PR6trlAA4HUtQmRJ0JGdKZnVUU07rkN0HnYTQdXTLb00IXdbCdIua5ad01fTMifhCUwcgXsmJGNf8UX1yJ5NI94BNhZTT/s93V2LYbLwMFBy2P1VoTTC9DTcEyRYou3rFQcJxDa3rALuQE9ND1OfUYbKctXMJc3PSAvmflzRhCes+x05uDCIWX+WbAwpT0q6gZSVO+xaGMyqIxLTgwNNj8bxb5T9wXPy7uiFDopsyEa9BKKYyvcy8zpmzW1mo6U+Zemt8JKbOa8RR1PVcqzQl47nwrGq+Vzvti7Jf36KRsSvrbumgvQFvYdW6SkvcOlFTA2SPXV+4Pphw/Y4Hrher7NrlXYDzsA2epyjOvqAaMfDG0Lt15jA7X6DbPtMJ5V91slaVEnNENj2Ge3bth2QhvuXO5plIT0eb9i2Ga1s2zY7Bh4N97f7jBA/Br5+fcPbbcfrp49Wl6lo+0xb3TBrDtFkHhHU+4xkbjua7vjpDx23t6/453/+T/jTH1/RzCB99Ad++sNP+OmnnyYza59n5kJwuVxwALi9vUF04HabRuPHDx+sG1ubUco+G28djwOvH654eXnBb7/dcX/ccTweeP3wMptaPR4zD946w81upDMC/OHTJ+z7hr/97eeIzN0+f0XvB1oDLltD3xru9xsu1wsggv06m0kNnenPl8sF/eswT8g02Lp1Y+7Hge1xzLXo9xlFUwVw4HJ5iYO6+3HH7faGy2WuQe8PHI877rcv2FrD8WaCt23Ytx29K45j1n62tkPaA3/64x/w13/5F4wx8Od/+BMaZofs4+02U84BSPsJ2zajL914Q/uBfn8Ao+NxHGhbw7Y1fP7tV3z9+hV/+NOf5nmUo8/zjFvDy8srIA2//vwLXl5e8Y///s/Y9lds11dI24C2TQcANOqCJg10duamutYRHXBjCwa4KniJlXvpt5uC7tm2Dk8unamn6geSmVAYI7sUaov3z63fLLsrpYJ7xLx+d4yBt7c3fPn8G376+IqfPn7C//7/8H/EP/67/9GTiBynpzlApy6UklEG70bqAl2t06K9FX4gvITH3VPaEKlyzdNmxkgP+mYRGm8Q1toEgNZ8asq8TGUDrNVqlKtrCGaxWivlNlJKDgY2nlZj6lnkXZT+nm+pqjIBlBsMTe0ExECF3H2R1WuNzIz8g72f6mP9XYRrNCa4dkCDRc5hPnMGErZ/nzlcnqohnmumPzVqJpLg2amfzWZiXhG9pAZBFikt42bAY0CO6yIDGPhZhEuU+O9ep3W2cbkDIhq5adTqwoBnACpfkw1YuULsHXFsCIPBMsZzMzJQ51Jek5WGIgIOqGih6XnlCm2RddVS7qGIceyN/LsOS2NrEn0XvEu4HRU5d100MGshp5TXKewjDdYVAt1KUbOnK1pz0wvgf5o9Q03JEBkgNA5/SjRPSzkhY8zaNtnqHju9xowyFSsBss9USvzRI3YzVX+jvWr/BBh9ZtBXpig1omgzIqcaHYvnnOYMZxPJdIS6Piu6imR7xKvYFxaLotkILhyPLtta2YdekhDnkrtTNMpaxI626yQRRm0myA2B4sxchEAWkF458fQaBfJ1qDp0dcX61YJnzksQT3xWYhCOH3IOlBtA6b9nd55nyOQ8EvyfrlOFijuOB6UOl9uf76zFKVPO00YygcOVMn83cKIx4JK8qrkyrKZWmRY8qGmMOyRrkgNRl1fC60tvDqedp4Z7CrTpE58L68rIVnHckxlp8Wwb38RvczxDUJwLcz/0NCKL82fEfYEVHcj4e6pgT173niYkn0OFxD2e1UFWo//V5V48d0bJNzJtQbTzIIk7gESzmZmni2eAxl/P5xoX7iHcSXvbz/s1Om3tCX9/4/phw/ZyueJ4HBhtHg1zMYB5QQOODuwd0Blxm51vZ6Tz+vKCR+/4en/gcrmj3x94/cOfItJye/sK6EDDhk8//Wmmh0pDE2tVrcBl2/D2mGm0uByWOw/s24aHwM5C7Xh9fcH9ccfPf/0XvF5fZuRSFcf9DRgdx9HxuH1FwwZIm82Y9le01vDy+hENA7/+/C/4+W//GR+v07je9zYbSAnwOAZGB1QbjvsdOjqOx93SABRHH+hD0Yfi6B3oO8TO5e1d0fTAcX/DvVm9qgy0NjsXtwbcR5+p3r2j25m7Tafx9eHTTxPU/+Vn4y9B2wXHmM262jbTZ9++vOEPf/zjbE7Vmp35O6bx+ujYpOHoHdt1wybW4VAH7rfPuOwH9ssFzYzy29sXbNcXvFyuaNsFkIbH44be7zj6DbtcLL25z4JxdIz7Ddu2QfuMsI7HgbZfIPuG/bLj611x+/LVIrCzgdhmZ90+HreZFXB9Qe8dt/sdr68fcbls814I7uMrvn7+gtcPn7C9fsB4dFwvO/7w8Sf8+3/8D9gtWj0bcwDHccdxdHz89AGvr5/Qsc3xmOt6mBcKHl2TNo9GMQXdttVd67VzbngKATTfpAZTIk3Wwe0S8fPGQEKKQ9Nzv7UEAqqK7hGTaCjg+mS2tN9kC6PPJMN0AKlCzdh/ef2AP/3Dn/H29cvcR23Dr5/f8B/+4ysUm9WJ5zEpLtSaOUOGuBLxcKbMCK9y5NpRhIvdBJVjZBMaymgsHnhPA58g2fJu2ZADd4fOZXGaCh3FlOaEKzFvWDIdN3FGpCvFpSNgeDlHpn7H37nBgdWeRA2sK8sFcPDRBsOaouX4c02rk4EFOhvqkvUqrkQgGDKP2JIYPzkT7B4HGwPunU3jU5GODKxvFimgOeqTn9XdaiqmqENTzLOxo0HVOsOMm4e/OAyKBYTar96xOxsLSTSR4ktE0OxoBV8Fj1hEmhR/JyLv81gqB96ZIl/dGAyGAYRxDevKzxA10uoLE5dXV3OTDqkPDvAjcfwZ5OxxsDkkDa7MuEhw48dCEDHtd+NnEG1CHnB0iLYDjX3WtlvMZnDqpd/lKYj0bH8Q7RmOuDCf6QIMeRvl31zG+hLxvXQcjkesVPM+8Z7ctqo2V3fWKdSqNBSKw0CheDVEAOzYo74/u87U+fBBeVr2KL3flQ3YsheZymQQevQwDAHSHcXdxgaJORaH7wYHtMR5JvedpuIzUx5FMQULEyu9co0SZfdcMl7gNr/zuR+hxoYFynm1AKLpY9Y9Or8s5QbNG1chnRSmywQossHnJMRXRBgy9qrhwldfTgNAPDtNMD/SSvkdaUGa02wpbA/9Dko155pmcz+oR6x9JoMi9M73PpZqvFaOKdQugzw7QJJG4aihrIVwMvj+13SypBx348xlDGMmZxLF0Ea8bZxCpS+8Ph5THO4sM5naZJ7Y4s5WjW78/kjGbWo1xRoMzNHm7AChfBLgiWax2lLxZcgas1AjezCOAtRYV6igt+ywLvSD0mOkPp0XaIkBE1+UMSW+ULUg1HFga83kepb/1GQdmrNhr2a6zKrpysqtVFLtFk/jkpkfu37HObZ+xM+MzDYRtAHgGNDHAzczZh9HxzFmre227bhcL2i44D6GGUETiI/xgGwN99tX9OPAp49/RGt7lk6LQraG3375FT99+giBzo62Iri82DEgbTYT6n1GkDE6tgZ8fHlB2xqOxwPHMQ3Q7kD8eOAhXzBU8OmP/wbbbp7RfdYcfvzDHyAN+Ms//w8Yxw3jcY/a0Nvtjg8ff8LrywtUpyGmY3YXbpcdn7YN97fbbFyzTQNylx3bdoHIhq0Jvn75jM+//YL9comU5DGO8PLP7r2WDqoDRwder6/Yr694mKG3bds0GvWwNPAjopStCT5//oyP5qF53I/p6RDg6IfxvUDU6HO/Q9pMUx2yoUPRHw9cri92vqviuN/Qxob9coFqR9sFAw8cXYHRMbSbN2WkQILit19/xiaCq8yjicYx8LJfgOsL7pcrPvzhin48cL1c0NDxOB54eXlBE8H9fsd2ecVxDEi7QKG4H3ae1xj47ee/4FP/hPF4YBfg9dNH7Ntl0mYcuN9v+Pnnv+F6veL19QMurx9w9IG2XzL1M+paUSRA1CSTApz/hDl7TjtcgBYMXMxzZQn8ataUoAD3uqn5mQALyEwjcsHatlms7xMRU/zzHj/7dUagNbyYEpkRf/zjn6xOomFrbabxt60oMyVAOez82UZpjKR3DBd6uvDziFnMVWDHMc0zZfcyR78pFW6kAlGKr/N0KhtHNMPSacybac3b1AFyAHLrojvMQyle82Qt8ltL430RrxwNys6jiDG4F1Sty3d+z85yKyeFVnUQ6x4gwDy3zZWeGzfksRYNYzeMHAIy7hgYtkaDIobuUOHUVF4xN6ZEFmhm2TtoXo9dwWH5rSU/dZxryyXAqXFtFuqeaBOcpPUvT1Mc6TGcEp4A58mznW5RIzTiYy2gyenFteS+dzIllKF/2JuUvVFnlXDa95eAAAYNcZUfBZNpppVprKLvI+ZnpfHrORoFrgkkIyRe7HsStB72fEKymX48gjPqvGttsgM9djiU/WHdXmO+7jjTrP/nK82kxQihdwr9f3imic/JI4xP5BM/ZoLRFkaDG1l+ZOKc/PIcTgmnaL0buVL0QT3mTUtt3pKpQJHm8sI4TtH5i4iy8HE1eeoaiGYNJF9Mi8Kw8b36oFVHuGNQTDYpSMZGqrnDc60NgmzujcfPFhXSodW8XOs8M/tv/Ys3fTzPtH7f3xsyszhMyXDhbrqavJd0oi71TwiZDtT8NM9izhlwRDzHKrTnUu/WpVm7AC/zpnLdYr45xlk2esTER9IBJeulACCzi3oaN2IZokFPYXbN9yjsmDYh6uXM2skAXh8AGhBirwHNOpuzXknngtdLB2fmRij7ml5a9gob8UF3l8dRk6rUrMxlkgZ1K4dgMVy/uYxGXjqCz3DEUDdqp501Hg+M0bFfLpB2hVzqvolthnTK5tr5j5rlLVF+Qd06RE8y4UevHzZsm9WLij6g+4aX/YIvn7/gOG5oDWjXaaTcbjf07M+M++2G7XLFy2U2OGrS8Pb1C646ZqTMo306sIlCHwewzcns246vb18wjjdcLhfo0dEfAMZMmW2XZjWfbxPvbRta29D2DZfLFSrAl19+wdfffgF2xX694n77Ar3dIe2Kl9cbIMC2XYDDGHC74MMf/ojt15/x+nLFb3/7F/zlL/+M6+WK++0Nb29f8fLyYUZye0fXPqNZQ/H6+hG3txnBfbs9sF+u1iEY6GMalccxa5UvTfD29oahA7fbPPKmbS84jtvsVCzdmhUJXl5f0Y/Z1bZtgsfjhsfjjq9vb3FE0Ne3L/j08SM+ffyAr29vaG2mIus40NpMve7HA9pnA6rb/TbrjuNMUMXb18+4vlwjjWzfL4B0HPc3bENx3IH78cDlusM7zLRNMB6P2Z24Ce5vb7h9/YKPH16h/Y57V+zXlxkF7AceX9/w4fUF18u/xZfPv+CXX/6KfniUd0BwRe+K68dXyN5wjI59u6AZaO7H7LaNfsOvf/mC15cX3N6+YN8uON4+4+1Lx+O4z/N7jwdwvUAAPG73ebbvRdHHAVFLiafOlC4yRpsesWYpiCwY1FOTon38WR1yY5ApwD2XeN2kLjjyrFf/jqehpOcvPenZMbEH+ExBxMqMIOtmZwBjYNs3/OM//iMue8PL6xUNwL/7p3+L//yf/oqrH0PFNX6mBKJJxkDU04pFYYc1KJIinFNFjq7zfFrkuWbiBOW5iMysCAmZmG3kJdvgr5aIgnpXWRRCWgvjN+tOs5lEGCNjRlGkjQBhEbWQFtGCVGz0TrByWjol6zz0sFl6puuzEPKq0QhnpgLR6YuDOCgMKjrf2XkrPN3mfR3eBMoBcKKNSLl0Q22MiBwGqF1YNMFhdmd1euqScrhCIo9+x74CKc5QpLl/zqmiEkeLxIwJE+TRLbUBVAUj8aTyc1dELTDYUKeMgpiNgwoaczECMGJPClHAOU74bFZ7MoOPUZwFTndEtsD5YPo1RjYznHxyjCMZ8K7vwBOHU75fyvpAar5JQEUCbWnME41QI6ZKY/oWAONUOcG371XNA0hWuO8gNeYb0xiRSlgA3SgTMVBsWR9CZ12fRpSgtkTkVIvxo3EMXM0wgKXKRgIMPZtF3Cj8HuQMvj3vndyvzZzOqrVbfXRMN8A9dE399ywBDQNFkFHNeBMBWObK1Km8wLlX83zPmvng9PKMgTC+4L0OZpRIQknlW0uLNZGyrEUGuFELprtladHNqalybpJo4DxHWrSysxRZjS4ZIaadWjzsNQpanV/OI9VhvO7/+Y0hLZ55TkHVOKc75SoVgkRa/vyeZx4MMX5C5YvIplh6Rvg5uHHesTERP1mXkyTSU+6Zcbmn/TtDR8q95SpyyWtK/WdIGKYS/O+CiaR3lE/ZM1mY+LF0p4Vm+gt9puHNFH5XKkIfnpHHecHwCkXuJx3SRF+gUFni1ah2/mXdRUlmcV9EYqcb3BrMjlkOeMzyw8f9Da/6AZeLYmsv5qhuM1DmjwuHbO6TOMgsxkalVJiOcqeJRkr2k0l+5/pdhm1rAu0zRXKePbuhH3ccVuN5H3eM3qFDcHn5YJ1p73P7tHmUyOVymTWS92l8vVx3W0yFjsecZJMJSpvg48cP+Prr37C32dX3Ng58+PCC4+jAfUYqjvsbAGDbX/HyOlNmj6PP7sto2GXD43G3yOXcXC+XV2h/4MvnO16uH2bq7rYD+xWCDX/68z/iyy9/waeffsLf/vrP0N6horhcLtj3C1qbgP445tmvx+OBl+sHtG2fnoxt1g7vl5mue7/f8HK9YIyOy7bjcbvh/rhZxLjhl19+tW6Dk9n7ceD15eNsfNQP6NfZYAuiOI4HjsMaStlif/z4EZfLJWoo7/c3DO3Ym8zzXG0MTRperrOmdwKd3aLGA4/HDWiKjx8/YmvAGB1vnz/P84S3G/qYplbbP+KiM5Vy/H9o+9MmS7Izzw/7ncXd7xI3InKtLBQKQANoTHfPQkoUaSa+GdKMJtFMJn1CfQPpI8hkJiM1w+GoOdOc7ukVBaC2rNxiu4svZ9OL55zjfiMTGvQLXetGZWbEvdf9+Fme5b/ERPIBu9mglWK7a9jfOU7HPX5yOSkT6ILW4ts75fNotVqx399wf9+zXq2xRuDudr2mW62JKkMdtM7c0oTRmtGN9Ic91lq8ku6qVokUeoLzeOe42O5onjwlak1SGq0MWhmcdxKkKYPVhct0HqzVjWgJGlpAaOQRZaDa0tKjdp3KjqLqhl2/pKzl5eFSILtLJTtKGpah0nHeWeePiYvqWunc6dzdPb8jbe1soJ6hZdpaGhK3Nx9oWvFI7vIGVe5neW9KiTdaSOfsnMcQvtphKQlMRAoT891XDsf8L0Uca06AUt78Beoi46SzJZYqqrFqsUmr5ficqxCn+vNlpA9z3TVVEaqkIEUJinRJxtUcKLJIwuZzY3GI5bHSef7WIPlsQ527UCmmWYeyKI4uDr+SWC3RiCkhFmHL8avdnAVUVj0OLhe/c2YrMM+5jzqei3eWPy8h5YsbX0bb9Zk8Dj3UYszPKsnL9yw7dHq+5vleawj46JnMc/MMqnpmcSMfEuewIQdoH8OviyLqXJFfJOaPf/9R3FiTlRrAz19+Fqg+Kq7N6y6dPZuzccqIiIJIIFfAz4Op0i1NLFdfqp6TZxvRHHQt0/LHMXvpHj/mBp4hJePZZKlcNsWjYHz59lmlu8yh+cks5sKjEfko4V2oks9B3yIRyW+I6fzeZ67t+RpKRWVXMXsZ1+Wszh/2cmJK6J1/VPapgvwpd6XQ1f3zfJyp8z3luZo+mjdlBEpxKsbwyWQn1aTqfD4tk3EW/H5dRGxUnBWwH6Vz1LFdzu/Ma9Xnhc0l5LXs+8sredy5nQPd+Qd6maTW4T7fF85GsHjwLtKMs1znfJbL7y48tOdfLHdWemSczbo5uZvnLcsi9GLOzeI66exTFg+pfm9aXkSdcI/el5YzIn30WfPVVmzTYkTT4u7LQq1Z16KDzdl7l2umjFWqD2T5TfNF1tz6sXJznjznM2zW8Zg/IS3grrO3qq5/n+OV5dNdonO0mp/02Vgu9DWW91sv8/Ges1xfi/Ng2eCoT+T8jZX2+6mXyte1KCvkf8+xDsvgM80SXqUxUHnpn/jcR6NZ1uJZK/2x9ktKmX6V7Tadg4wojd7hhlFoflrRaE1ICk/CGItpdU7Jl3GJOhtrtbxAlVtBSYnHMWW7yggZxUfh03/q9Yf72OZNUysrSdLYi0qwEmEplKpwZZ0hmARPJOFilK5ta/OAOema5imjtAFrcWMPytAqjVaS8HarFfgW7wdpg6PxHqKXDmggMY5jtgpaiRiUNbhx4rDfE6aJrjWYoBn7E03XoHXC+x56gfriHMQt7cUuPwjDeneFGwbG8ch6s6Y1luH2nqZtaLuWw/4eUmTVNiJOZRq0sTx7/oK3b14TUqQ10n1crTakGBj6g3RSGysCWzHS2RVKKZyL0kExGqXB+4TNPrX9OLFZdwzHHlIghEmefeZDhSCJtCg5C7e0MUYS6SD84GEYgYSxiRgnCInGSiIsiW3ANrmSnBI+TIDPXFVDNE0Opg24ieEYhaOZ15k1Cu8lgbVtQ3ADwY1EH1hPG5r1hoBwPYdxQishgxutOB2OuHHg8vIzdqst0VrGacRYC8iYkDeccRzFw1YbtDFEItuLDU1rUEq4zUpbmnaNadfopkVpg8lcBBOTeLaWzSh4uSc9H4LlkFtuDaVqVFQVk4ozXOJTAeiiQlYCvbJhSvx/lgrJ/6r50K+d2sWGXainZaut3cU0H2KxQFdT8bFdVkZn+KoPHq07Bu+4v7/nd7/7TlTKVQlACphJAq8a4OQi1DJ5pxiO10MxnQVlJp8SFT5TocozLFiVG6nfV+5teQDmRFEFuU/FOdQwxxBasQgsPpUaUL835B1TpxmCLIG7zuM3Q5V04UwtYDPLrtDyDEslxfqUNUOtWhaBE11nUJ2Bak5ukgqLg6F8RyKUKjdF8bnAk5Lwd4tQjWKRtKU6F5m1pfOhKO1xmbe6HqKJ4pM3B+i6BunngUxaJAYp5a75o5PpfJzSbNFUM8dll3kRMC9FZPMaiTn4rJ35EtCkc3uh+UAtY16CkxJ05wIa8SwxEI78Eiq4SGYfJe2fillUGaM5G8qd+XoTC/uvZcrPIogr6pKLlnCKWVRtFuwos6fMVtlD5jFNxTt7QYVYsNUfBbzznKhz6BP3qRaPaw6QH0d1Hyczi1+cP3fxXFK9yHkfWX5zSud/XwZk9XcW1lNzUJ7PkhTmd9d5nddsLHD+/NVq+b1LakUJPlW1WaMEjPn6zjusi6RGybqdkTiLOXc2N+RZmMwZV+Ue6v6qHnX052L3XG+s8JszqPMipVkkPIvfTxBghnXDAgqczidFSb3LelSxJs5azYG0qhzH8++cn6OckvFsPlLXYqpWd3L/OmsKPN6FYwFq1v21nOOczcL5jFtMpLPsYLkeF+Nefjk9+sxyJpQzTVHXb81Lyvep8xlc12EZ2sqHFxGij/u256J581qc+aNlpD/W868A+fN1v8jZziDkZUkvVvHZZy2Eh85X+SLVWxRJlndREh/4BPQ0nxGPrhKVLaPO0QOLeaPnfX8eIzXzZfP+8qkiW42r6ugUETyzoGTNnHZVmiMpneWKZ5+ZnzvF9SQtn/njGTnfbSSilaU42oV6haVUqatI01kBNq+3ukMtIHAlbp3pFXK/taiT3xfdKDmJjrjTCZUkcbXaZotIj0uRrmlIIeIT6BWkZPINZYG5FCslIC6mcDU+S4koXidoTL13yW9mJN8/Bpb8Bye2MQR8SqzaDp9EadcHj22sZPHR186f1g1qUvimgWRAB6zRbLqW0U2oGBiHga5pMg8RWgPaqGrrIsI5MgHb1jJGj27Ebmfqj8QQa4clBCdwzxSwRgSsprHHajBtQ4helItJ+N6htaNLEKPDR5jGI9oaTBDfVKU13WrF5dU1Pzy8zTAdOQhd8NicCLbWEkLEO8/u+pL1aktMgcura+7uPgCO7faStumI3UR/egASzovFEJPYEMXosUaBFlsbDYQgwjLaGLSJDOMAKTEOp7xtR+FDRs9wOtK2AgWWpE+Cu8YK1NZNkxQbjGKz6dDK4L2Mn3OTLKDsgauMQKRXK/nuFKIkfkXFuumYhiP9OLHe7FitVlilGIcjMUamaaKxFqXFGur+4YBtW5pOEnitFSl6QvKMTmANbdvgfaCxHUoZlALvRoyVrmjwQ34GntW6o2uesA2B/cMdPjiM2WZxL49SmovLK7rNhtS0BCWw6ZjXr0pJ7islUavOi1igzmXRLzaaxVpSmbua06caBCslyr5qsSV9vFmdb+cFmkMNJBZVxTlCqrmj1gJPJXcZpeNgzt5b4GRl0xYo16ziWj4rZT9bCRC0dOiNldpnKtL95UBZJNqLbkSJO8+h2ItkddkhKweILtXYsimrRbBff/VMNOvxySoqg1kQ6/zYnAPNpcDLY/jleViy6PIu4TIL+F15T/6yem2LLnX9PPVI+GbxnY8PsCI8NEvlU5+9dA5KgLMIJB4F8/MxX8MuCtW6VKrrc3gU0C0z/vo19WePuhYFulz/SX0UND8OBRPCTS6/c1ZgWHR1VQny1XmXZ76UWSH87EGQ/XbPIKQzWuJTic4yo1Z8/L6Uzn1YYa6Ef/JIfdxZ/tTvlIz80fioR2NQvnUW1VhcxyN/1I+tfuZ9q/z+vBbKxeUQvq5beenFMCxD4cdd0sdjmc6CanlXzCJRcizPHPuzlbxY1wVGuBQDLWiSZQFnaRtRfBgfdznV42e9uOZld38WfDlPigvnd/bWzj87S2rjmeVXWTfne2CZE+r3zoh6XYvPISOPCiok1fvRWbAqz5LH++JCvHCZtD5+VYVSdT6bC8XgzAZsIQSks/AZi7fr6vg5f0oZgFSKEwu9gyIetlxxy844i/Vfvmo+JeqOOT+PZTc41UVSdRDOClM1kSl/fzw2S3jox36pFP/qCr84f79ejOe8JpbXXP6/zNuP6R4sZopanGuVM5k58p94oOf90eVelR6viU/sa7Ng7fkpujjG1LIAkpZfNCdn9Us/wQ/mbC0vz+UFr3exA6YzhMz8LNNyftf7XiRrqlxKmVfzfDlfD7mkvGxJL0ZIn1nNlMSr1MOyr29SZ8lvQYjUxPbRCJzDqx9971lhIs33tpALiakgusodq7xXJCnqLAsD+dNUHZrCTJecYKGJvpg2lcgunxIlH/DZGnS1akkxEiaH6RQ+Jqy1db92bsJ7oaNqpfDjIJY/TZvjzIVF17JIXNEhsz5Aja7P9iP1aC7/p1//iMR2gqTxLkIKIoqTFNF7GbAQiMFL5dsYbPYOTUmjVMAZTbteizqxG9AqErxAl+2qJYY1KU2ShLiJZGxVbPSTR6MYxoG2baRjmW8yBun8NU3DNI483N+CFtVihYzUqu2IbsB7h4oB545M45Hd7lo4d0oxng4kdE4kDa0cKWzXOw6uZ5oyv3Uc6ZoV2lpSmPAhsb16irItY5BEZ/SRhMFH0KbDNA3uGGmaNZv1ivv7PSjNerWFqAgu1MmltcZow3bb4r0XvmnTMowjysqjj95htMJ7R/ABjca7wKg9XdfRNpLM+snloFMSdUlgJWFtW8s0TQIXd7566BIRteTFYahiJMRBFrFOBJ9wU+Di4oLgR2IC359y9zdgNmtIkRAD3brFT0fCdEDpFmsME0FEr4LDaI1uOmAkMbC/f89qd02zbjHFezMl3DQSvUMD1jQEpWlXK96/uWG32XLqTzTdlssnT7Hthogh+ghWulBKGUmKsva/ihmqblq0LdGVQmsrG1VeQ2eHZap9kAwTngN8nRWJVVVRflRFriJAqtZKE+ksTilHjyqx/+KUWHYIqmS9moWHqIdC/tbcKUuxBElUPk2Mwl93bqpXqLX4+dbjL81emypvLkmJOp9CZahurPdZKuSKRaITJRkPFTbDnPwuDp76LWlO5EuSrWpAWQIu+T2zGKt882cBdOFCz4n5Aj6r5sC4wsDze2vHoX4Si09VNSiLudNSvtUkJQFojVseeSY+6niVwLWqKC6Tw4VglMrG8NT3lt/L1kVqlsMJtTOmKg95DhtmcR9Z2/l9Z8kJC+h8CUqpnUGVSmK04Jo94lXWQsIykK2d/AUvPS3mNkv1b8oxXAOMArOv+XZ5RklL5V7NHe8SHjwWFVqOu3zjuZUSWXxGUAHz+pur4fM8KQWeEsRUoOKjOV1zkbPOuKoO2XXOpsXyWMw2cqelgKvPTDLqBsFZYsASupXOd6Eyvud3XdZIKvFqnQ8x73Hyfxrw8rtKybmeFje4hBmXApYqytTnTrR1jtduaIWZ5Oc7p0DC9TU1ap4VhkuxJS6UktOZ6y1kV6uyoZ4VIdRsc5XmooBmpvDrsieVOV+eUz4Piv1TItsd5S+LC9Gjx6+ZvzYnwCbTWmbv8wwfTzmx0KVLrHNHdpm8hRIizl0gNZ8386gXBEaoz0Ss02S84+wqV4sc8iF67mdWIbz6dPJNqUd/B5Kp16lYdPNSFpvLZ44IV6aqzl4SalP2v/pkS9E4niulxpT3JD2LETEXCSomIXeNioOAdNjF/shag1UaHyOuio9RKTllBE0FJUmBvmnEncN7odwVKP2T6ydA4uHhnsvLHW1nGYeRh4cjIWqhdpHqPDpboXkd6QX9IsYolKmKRJn572WnDuURFS/cAv8+2/PlswMRlSKlBz8/u/ksSDWvTh/FGeU6yllQCB21yF4kMM66xoozCayymArioKrr5xgr5gJ1Xs6xPLd6PhXkRazd4kpXo4hzPBbzXCJvHiWfZ+fyo/NM6ZyHz7zicq9ne/gi1ni85ueC7HnrowpKljMyX4SqMBidQ1ZZM4b5O8v+lRbUsERCR6qAZEG0RUr8OoPz5RyeF02Zv6Uz79zI0PcE19M2DT45+sGz3u7wPgodVInw7ORGtp3BjYPkiEph84KJGemrsuhoufq5fl4QDJrCzo25FW+y7kXS577s/6nXH5zYFriF9652+aQrp4lRLH5CENUX1XTZrifDfaIXcaLTkRADxiqBpE4uH4SB6LeorIocJ09jZCAI4rVKSgxDT2M1TWtECdgHQvBY29E2hmmKTGMPSjGNI4216KQZQ8BYUcsd+4mmtTjvOR0OrDY72k6Eh7xzKGMx1qJTpOs6Vqs1p4MIRU3TJJWLEGjbloe7B5RS7HZXRGV4eLjPgyX+qdZaHvY3pLSl61ZZudbw5Mlz3n94T9sY2rbDuQHnHDHKd2qts12PYRodGI3W0K5WjIfbDMPQEAPTOKAz1KaxLTEkxtGhSBnunGhyJYUcqE7BV5sh6Vx6QlCZM+2J1ko3E41tGrz3eO9p206ecxQi+XA8YKxBG0sKKSfanpGEbRuGcaRrLSpFjocH2tVGkunkssKao20sTddyd3fPan3CGFiliE6R6CaxfrJy9MvzydZKk2McJzbrDXd3t2y2F+wuL0UgzHu0yod2FEi3QqONqMCWXWzuZM6bX1oSeZiDmLNu5WIjKpYvEqCFuRJfAmM9V+GplcfCJJiTmvxli8/XGao2Jx1zYK5rNbfsDmcQSebNb950M2+dotonFl6Dc5IYxGUWkOGci0rbGbypwKmUzjxvVRP2tNh0pVquPtrqS1X2fH9RtQ+QMGdQ1grFXlT5l9ywWoRYdlce7V8fvYfzS5ttetQC8kble50FIHnuxMWxvSxelAdV4ulHccv8LJedikdBFOXny78vAvA5BIk1kacWPRZR7aKgkpjFks7UQhfJWD3c6xGc5958ETNkm/Pre/xQ1dlnZ+P2LDK2fA5ljur6neTEtQRKJXFdJgUfd7DLEj1bW2nRgai//fEBWRKVuHjGc0o2i0XF2tUtn7T4b4HXP4IrkwQybdQCEla/ZI6IyrDU5L+EpaVIsEg6FfOeUhPtmh2rmpDXCnma97tl1lX2gvLJpXO3mD65WBXmwtMjr0oeXwuqag98tA7V/HwqbqPsn6mgZZbFgrnIs/iUOg4FMvzpmVdGMdaQslANtNZLTPajvT1n+IXvwFy+KP9cuPdlX1CZMz8Hv+chbL2yT/npLigU5WZmK6m6u9R7+1hM7KOPq/9d7hMsxGeE1sVCJb+Cd+s46dylqnMpqSymmM4SISlgLMY9e+Xq3C3VqSTtszhViIHGyHg4Yi4MkMX9Hs8ueRmtUSFgtWa9WRNT5Hgcakc5JaqHrhSYA6jEk4sdNlMs3DjwxRefM44ux3Ga50+fyL2FyHc/vKEfRqw1tNbSNIImSynx5HpH21qxOjGGi4sNbdeQYuT9hxtO+xPPnz/h+skTVquO71//wMuXz9Ba4YPnzZs3TGNCqQbnpLA+Tb6Kx1mrcc5jrWW3u8Dk2Prtu/egDLvdlpvbWw6HQazwggh/+hjmTq+Skl3X2lysFovH68sdVhuGYeT9/R2jD/l5zMpldctaHB+7zRatEuM4MXqf+8/nHFQdYk2IUgIVMi80q6LVhCSmM9s3gaiafNZmLi5SjNd5QcS6t2SCaimo5Y8MaoFgUap2Npdn8xk649GSrzFgPSPnQzB9tK+YWjGs8YpK6Fx0kALEcrGWeGJBc0vnlmyqiDedJbVLu9r5oaj5I2c7xvKeHCeGEPCTp2vbalWZCNKnqDw3NWuKLyVK8vkRM0K1aRr60wnvHdYomsYyDCMxZPSqE2eUpmnyeRRwU5Q4XRtSXElHWTe1S7MshhVqTCJlVKjcY/Be9oCQPbGTCAUXBNgf8vpHiUfFGEgqihKyAqOs7Gnei5okkGIg+gnvrCgTp4BWFjcepKsQIkSNbSweT4hSFZSGWWKcxBPOT0eBGbtBurpW0TWavj/QWC2Ktynh3ShcK20y3l1LwN57nM/4bzxGaazRjFmtsLEtPgi0t2k0YZoI8YTSktj2yWMudpg8BcI0EdzA6XCbk9YVl5dPsdYQlUZry+QEHnuxWbFarfDOYYxhHEa6rsM7TyBxeX2JMZph7NEGdE7Wovc4QGdBqW69FYXk0ZGYwCWMAt2IaJd0vB0xaYy1jFOfPX6lqjk5hzZWYANJEl2jNT5MqASTG2isEZ/YpLHWMrkeZTS6aXDeE/yYOcQt2go3eBgHUgwcnRMhqqaT5wj0xyNagbUaoxL96cBud4mxhvF0YJzGDBt2BB9ptmuMNlztLjnsj7x4fsVqtZH5UYKuGGReBY/30ukfxxG8Q2vFaRi5fvKCFDX9/sjoPJvNVjzOYiMcbqT6JdW8wDTJvRtjIHmCE95uysWVhBLIcvFbzJvAnFzMu1AiVLhE4UKUTVU6povwbpnoqKxKWCrLM2ZHguFFeyIt4dJFNa7ChVNNblTJuRfd5LPXIumy2tIYWy+4GmsrqRCW3VMrU69Jl2qxChWWJm8uJuaiVlkQCBWe9SjxXiayqkCq673Loau0wiy4RWp5yC2Tgwq5KYHg/48Et0J0yyP4RLJ8JhMo7xEKcVx0RkoQPCeP1dg9leonNQlbpnIlmX2s6LqcHuWgWozK+fh9Qq0xpUVnsfwwk1qqsNDZ7+p6WBb1QelQzYkDJYytwhfZNqkEn3VNPA7A56KQrYFqUWwuQXVZR9mw/kwcbf7fpGY8wHnKUr42V6yTmsWg6kN6xCSrLcmPq/mohK7FpPlaVO7Gh9pRXDznR8l4HqGzZZ5UYfll5vqjYsfymYKu67D++0LiisUo6MWzP3/FBVxcLf48q8Cq5QhnxfNU5kceF70MRB5fa46m0iOkBAsY/flP1CIwm+keClBxAZdfVmlqNxMpGtbCWU6cVWk4LCgdzEgTHnXK52ct/z1XIz4fcVXn71xgomBtyl5HzOyQ4o1d+JUle/c50i97Y6rXuSyyVbGcJEmiIA6SFPqTyj7rJQRcnC5p7sKVIiOP9gyW1410qmosYCXWUflZex8ZnBeknXc8vbrAuYHoPMTqzVKbHCIuczayUsiNsxVLDeBzAq2zp3WIkdXugu12y93dfXaIkEKm86LnonSe+SnRNpaVscTbBy4nz/pixcPTDafhhA9JVPfRIoAJWCs8v0ZrejWxbsUVQKXI4eE9KUmnqT869vfvCT7StjYXswKNaQhuRKdGgn0feff2QNdZuUbnePumdFw1v/v6G6xpePv2kqYR20EfHP/xr/4jXdfkxNXm/VNoGtYa+n4Q2z0g5IKAtZbD/gPTOImWgo9EF+jvLUlbcCPH8SQJLZoYY1Vz78cRUHTdRrrKbYMbRva371AIsnG/3+P9jC6JWUnfWknapfAoRTx3kAR58g4fyIVmsX2JQRSkDYn24ciThwnlIunJjvHHz0ibJscaei6uZYphTBFjDFe7LcMw0vejgA+UOnMzMHnOxxhqUVDmhhFUXpzXfIk5YkpnNnblrCt7lVjj5WJXnGOnebdKZ3+GIuC5KCipNFvspCCxZSo80rQoLC7LQEm0h/Inq/K9ec/UWvKg4rNbi5EZZZcveC7gJ+lsVigxstW4Sdbsat2Jp72Sp6TVjCjT9RCas+gUZf/wXmJ8N46sN2tO+wdGnBTDlWKcJjabDdo2eDfixlF0cFIkes80DHSrNSl4tGpzg9OQdAlQ8/cFobCWPSM4ccgZx7wmUmKaJkIINF3Der15fAz93tcfnNgWSIQ2CZNvIgSf7SWMCEQZQ8w2EsELbCmEJCrCKYBWudJppbLgPSlpjGkzX3DGW/sgVTHvfa0wbzZrjocDwUt3cxoHpmlCxYTPYkIJ4aqu27b+jjEKVaCXCoIP2LahseI1ezwcMFo2n+gd0SuIDp2cVHZTkgVP4nh44PnLL3DTxHZ7Qbfd4hMcDz3WNrx8+RkPd++rsM3l7pIUEyGG3AWV+X6x23F72zNOI21jWa9XTEq60gSDUpYmwGZ7we2H9ygVOAwHWQBGoCrTNOaKu8ZYEY9qbIfzCmMKf1cWpvd+DmxVrrY4TwziI3s6DShjaLs2Lzto2g4fJqy1WNtmpWrNMAykIL7FpfOjbSMdbQSWkE6Zd+09fd/TdlGUoKds7ZMEp6+NIYZI23akpNlstjRNQ4hiBB2TJK9GJVGxPp2wRhPcRNtY7u4fWK/XgMJPnpgiU39i1bWgLAaNH08oI90YY1p8mBiHHr1eScU6TzE3TeKlrDSoVjYYkwOLs5L+DAkqndO54rdQ11xsbvNb06Mkbk449DK2+3gBEkoltAbv1M+pCW3pEsdFF6UICkWpwj/u7paDca7ezx2K8t2l81y4GpEwD0ntyM08k7l79hgMuYAElbFcjskyeCpBtpqD4prgfQLrV77r06H44rnVwVMfXdvyngr8O8UMw80BdK0Sp/maBHmSk8TS1VxUftO8n58jBB5VH5Yp0uOflO9R2e+yilimOVFI2bJjWRWuM2/5oaWDWw/F5cmuZrGwx53Hs+r+QnV48XziMrguzyo9fu5zerV8YuXTaqFAnXO8zosAi78VSOgjTnWoqWf+3Zroz+N/3kE7TwvS4t7gkSjJMuFcXMpH832hQF2LAOl8yM8f+NIbWtVfnEs2s5jUoxLMYvTq4pqv6dF+VAK9ZYJ+nt49bpfmz89TfSkEwnI+Lv95sQ/Mz3te2yWZrtPiEwWSOjQVup+7+3V7SjOE/vE4LmRzCkSd5dyp8O0lNPwcw14KHXrhex6jdLv0LMCb18P81qjOwdEliSjXXP5tuf8pCny6cJY/toKDeawUYLTEPSqpCjmsY1G3UEWIAe8nnHMcHw6EGBnGkbv7e6Zp4ng44r2g3pKb+JNf/Iwvv3zFeDoKRLBQCVLI3TY9J615TOVaZqipygFsUUqeO/GJ/QehxMQUzzrfPuSOrzHZyQKmFBkmz+5vf2B1PzLZSP8nn3PctURtM3dFY63ojLhcUHUkjvfvpUCaURmVPmIMKQmkUuC/uj4fifvK5FWVMx6TwCITERUyJF0bvvvue15+9or3N7eznclCiK76oD/ijpafFc9Q4TfGs4KBVlrA+Kmc0VLmCbnpolHo3OUU6oCiP+0lyQuFqqGqDseS35yqB3LCFfpSSYBSwpeNKIGPUXDGpcAUkjhOpIB5/4En3x9gDLiffEZ60bGPMoeXAY02RjQyMmw4DAeC91kfJcOws5tAzOdvtcdKidE7Vt2KtmsxzZqgG0Ldd/IuqNLM606Fe11kl6h0l8UKnxEjKZ3vPSUeKmO3CFPmrywikfPvzm3h88ZGzKJIKa/fx+f/4m3y+/kPRZ2flGpBQ67H5LrZQqcDOB72jNNAUom27ehWa5rG1sLA/H3zeRdjIMWIMRpjLFMcmPxEjIl+GLi+vCSEwKk/0a06dNb0cc7R6oaUG0YpC9I6NxJDwsfEaq3QjaqnE1n0NqXIOE60Tcfp1BNy48tmh5dxlEJVyB3kP/T1h3NsU0IZi7UmVxUc0zgRUgQVspdlFOirUiQ3SeKLEt9QbWibhgg03Vqqej6AsShj8VHUPwMBmw/2yrEImUcSA501TM6jYoQYaY0BJSq+bbOWhHk45uqYeLcqLEEl4XIEx/7Us9lGutUaa5QkvDZvQCjBk48DI9B0HcklSAatI9PoxDfVtgQfiCFx6nsa22IvLkjJc3l5yevvvmWz3hJCYrvZ0Pc9q9Wa/X5P35+Ypkk62W4iRQm/zip6SuA6zjkSgXEUGLQmse46pmGi6TrU5LCmpW1butWGtl3TuJHjcc+qXRN1ZHQTKOjaFh89GoP3PVpbtJrhrn7y7HZXaNXgp4m2bXDO0bUbjGlIMdGaDqMs+/6YK40JraFpNOSCxel4xE6W1lp22wtOpxPH/QPdaoXJ6s19fyL6xO008uT6Ka3tWHUXUkU9HUBpTGNJIRDHMVeDJsbhxBiDwMTbFa1paU0DccL7B8bRk6LA3pVpmMgdcQXohm61kq6xzl045g1P/JA1xq4koTU62wGVyGvJ06pZTA0yZbNK84YhX7qIM/IG+Chqq5xDsiiSWkCN6++p5U46b0z5f00NLiTrqlDTXIVTWg7aKP8oomop4IkoazMlRaA/MSv3FaWZpHLFtFQu1Uz4Oz8k839rdiZjEzI/xihT4XvnAW6Bd2Yg0UJ6/uyYUfOjkE19kZguhGPPgtLFW2FOTnO8UjsetXB3JlxV3psrwVHmQAFvLlUiZxjRQjCpVBs+grGfiy/NHVy1GLY5cSk8GEn2xIda5eptqYjXpCGLt8yiKaUjNI/A2eDUuGXe/5bCPPUZ1e76eXHnk3BLmCHLzPYrujz3FHNSreeAlorkPU9eaz40J2vLn4f8s2XBIz56fufjPicGseRC+boiihCzcEVRFU9FVKgsv3LzBW47w4WZn9hHo1KTxryfFH7TMmXMIUxNRIQ3lj6CaM8FNQmEq/p1/qSEwmYf7lC/oBQIFgnQ2c6Vr3uBKq37Vsp85kK1eMQrq0lmqtbN9c0pZr7fYtPTy2dZEiC1uP6COligB0qSutwVK6JgIVQkauazsE1V7y4bVpyLOmfWLnVHWhQl86Iu87Y+p4osiPNNz3l7/WNFRFQV7MxXfWRf9alXgWeKD/0Mz1WVA17OmUiIVI6uy4HmMAyMw8DhcOB4PHI6HBmnkRgnuqblw7v3JCDElKF/1PWtSKTgefvuB372089RKYi9YQr5+uUOYxLtk6TLuJD1FJbnINLRjqomLksoUQgZ+VPOkSVcNUrjQyFJeRsDjT/RhRGtFE30mGRIfkb9JJewGfornGCBeoYkPMkQfIWDh+hzXCnaGKoe8SmLQc5FkyX3MC7PvhwChBAI0WOyYYk0FMJC2Cd309M85+ssXhYtVMoQ8HneJwGTApHJe651x4Xt8q9Hcb4wM1JBK7FeUUqJdqvSgnjIMTpJkvqQE2hrLAoRlAzBo7TOnOdyf/KAH5yj7xK+nHlaoXRCh4QNERUdMTlIIzFMpIUg51z8jrkwJNcxDFMu4MieGgs2Y7Ev6CyqKt+pce4EWmwz06MUpoyl0bo+v8ce1bLHzAFDyvdZ1LuX5185n2N96HOsI3+fU+Ra1K9nvTlDotQ4ouwQUeW9VXj0Mibz3qJykzAliM5hjSES6E8nGmPxPqCVoWlbbNtU33jbWFyjGace7ybUdkvbKKJeSWGhxB5ACvIZpertg8MogwG6xgoqIzVo1XI87mXdh4nTcY81srZ9mLBRcTwcOByObLc7KVA5R1BRGjIpCTc3RaJSmMbkwk8kOM8UEsNxj/YBHwNs1oLczY43bWuZxuH37pePX/8IKPKK1aoTW5cQUCGhtSSXpSpSktsYIyl3O5VSaEQIahyH7O+qBPJrND7JRqG0pe1atJ8I01QnsrGaZBTeT+B9hfCRK2w6Qxqdd2jfYKyVil/GvEsX07LebpmM5nD/gXEYcD7y1ApM1xjFOB6lKxsS2+2Wpm1x04mEdBafPn2GDwNvfnjN7e0bLq8umaYjq+EkljIrUUgexp7DwwObzYbNasPpeMJa4QsbI7COYfGAuq7jeNjTNg2JiLWWmPmL43gk4XPyqIlJhKZClMx3tVrhtMFPntV6TZvhzj54Qog473FhwgXP5eUVKSl8L9ySmKC1BqMtjW1QuuV0EgiAzpXMlBJt02CtSHtbY9jv97maJkmAVHfmTSQEz/F45PLykouLC9w4YLQiBZ+x9zqrZ8sm50eBlDvn2e7W9P0JEwOmadDB0rUdq86yf9jjp5HgJ+kWW03wosAcvGeaRpR3xIAo/PoeNzygtRQLAon1Zke0huAdq7UIXCUv/J4lT6OId8TgSTFIwUGbOWKBhfRI7hYUSFjdNErCsuyElEBs3liWP6mwvkccrLlLNwdeSyEEtehYpPM3nlXTy/fEKImF8w7bNKD1LApyVuXn/ABmzuUf88QK1Ki8VIYEzY2jXIk+S1cX3L/8pWkZRC67gfPAz0k0AlVeRLqzrcpjHtuj12OY4afup4x3bX6cda7O2KCPxur8peLM0TxP2hZV3sV7VZ0/s0ryPD3nIFop8RVPaeHGq+ZkQJXkHbWAXc5w88UvLCwpQs360+LHj2ZBnetzwLdAkFYo9kLnsT4TRSrd/8V6qUnn3OI7H8Mln/GR0NLyWX86WThfBxWaqxZvz0Gh8HhKQWE5jsuJpup7Uhadq5T7haLuOe90HpvlNc+XO99XSqly3tVyXZbfPUfbnqEf6tecN+Dr+i5iUI/Ht3ZUPzGF5/1KAvSq6VIoBvUOFh+rmK26Ht18EQKrMV9dayU5Xfxw+b4q6JXmgDEn/2UVSS0x87M/gYbQpRiwoEekUsxbpK+PaRN1b1JzN12KMUpgsDWJnb92pmPM80I92gPqXlIKI3re48v8CYIBFX6rEm2Mw+nEMA0E5zgceo77A/3pRH86ErwXS0bnsu7JHIgbk7Ba0x9PQr1hLoBJdF+4fFF8eLM+ii7K/7rcf8zF1JQFqHId9KyItixFZbGtjOf4eHueuYgphsphrlrC2qK84DRVgkZpjLZYBKnns8BMccqwjcSeo4/1CrRSWWsl1jlXz7LlnnrWuVv+7zmfM5XPYaYpzUWiRSFHq7PPmPeiuQhY9uIlIqtQa1SGvSsFa2XZacsXbct2vaJdr3n7/j3705HJOxKKq6tr9ocj6/WaZ8+fY43h4mJV44YYpPullMI5h07isGGtqecNSpAAWmtSMLz7/gf+7s13+NwnVlpT9OFMFgWyGoIWzrSxWQ23zv6yhkM+DzJ8Wus8PqnmEXX91DlSkGaZFqTKPpRQcbZ305ljmxadzuX5Wte3UqQsCFUaaKWxvKjknq3Q+S8fny/lfWmxF5ZNbqZcLc94abJpPSOrfBCnk+giJtMJUYpxGgXxOQwYrTEGpsMerGUaJ9Hh0RbddjTrFWiykFnKlNHENJ1I+8B6Lc28GCPG2pqr+eBl7mV04njqSSHQGMPN3S0pBZ4/f44BDocjWiv6/pjXSuR0HHCT6PW0bYvKe5a1iXE8EXxuMCrF6ANJKbrtSvYYHwl9j08RqxKH014KvkYKLWO/z1z4Z/jp9xcCH7/+4MS221ySFIzB4YLGqja3wCPBuWxGngSzHhW6NaAUIUaBpyjNMPRiD5PAu4mmbTHGZgx2pLMNbhyIfiSkUboOKZLimLm0MjFiEhy4tZppmmhbgY32fU+36ohEwuQZnaPRDcqLJU5KiaZdcaEMp6HndDqw2ayJKUgX1hi0NRyO97S+o2lapuBouw7bNGxXFzSN5bS/ZbuxaNXhxiPb1uDHB0nWxoHWGDaXV7RNx/F44Ob2A7vLHZFAiI71ai2VpzDQtZbjXkSo0JpGtwyjQxnYNJbT8QHvPduLC/YPk3RWXWQcnfgBR+lcDUMPGsbJg1Y0XUNMER+iqODaFQnFeP/A6XgkJWhWHd1mLRCP/Z5ue0HSspgKfG692UrV3U2EZFitGmJyIs6gpcLTqRZNYupPDMcDfuyx+hJrDA/9CFqx2l5wd3+HzURzrUSYarvZgFUYbTicHgghYoIkntp2+JQYo8dPPcSJcTiwXrWkODGePMFNIigVwLsE2mKsyR66E9paUW0OAbVakbzDoLG6xTlPa4wcyFpjOgVNU3lIKTmm0wm72aJMI/wWMydYs5AAuao7H9zLl3okA6+KN2iJ7vJpGStH1i+SmayQuODA6rRQwEylaxQrPDeVjCQtT4dFtTIFgouybhDxg7A4yJOKMyemRo+L+4bZh1ed/16p+Kvq5ceZi156XBBQKitgqsWYPIZMlaR9cXAsAqHZ72+2RDpHl6bFu7LSZ1qk2GlW7qksmnLaqRk9UkQXhCeZzoJ7soJr+bpSgV58K8s2lySlRdClME0l6fI18C9Bo6ppxRLfnFIZk5mzukxDU00Syq2Uog21rCx/j9XeqX5CDdj0zEetyZ2IyNTAoCRYi2RKF/jxYvbVV9QzzJWiTppq132p+FvmVWUPqkUQCJjEo1Cas7nz+FX+PWTuU+WMEzGJfI4teEflGbNAED0KdnVGZpQZvgTMVjudmQn/SN94TmZLT7LMq7J6YrHqKXuI0lKAUOF8PS78lSuuoC7b2YH0bB4uA+zF9ZQ/zKsizzMl6yyWzp5a3I1eqJ0yqwlXZc5FEjEX/JaepfWdC1rBrCFQhdxK0zOvUY1ZLLW5swIzGKSkCNQiEwSVFuqjaX7uqRRaYuUrKwoFcFnQykryi/2BKownc1XWebEYyVSrrPLuvcM2lsKVA0VwYp8xjiPOOU6HI8f9A1M/0veSyDo3cepHxuCl65jRJqJnQu2Knc37KAF2iDBMEzoEVNPWokfdDWvDNbHqVtmfXJwuVC52Fw6g0qKnUDrwqfjJ1vNg0ZEHyIlMTbAqXDQSQu4Wa507uFnV/ayYmKHdKeHVLLqTohQPrdaSsBSrqbRQRy5JRi58EM4hudT9pXhi1V07Tx51JrRW+IZZphZjZ6hyqdEISkkvkCIz7aOeO/lvVeyyLtF89pTubcb9G61orOHVH/8Rzz57Tu8nnv7TP+KHd+/49vvXfP/6B8yFZWjXHHwgWs+XP37Fl7/4I7HTjI4UI40xM8w1ZPoKCu88uhHEWNOuSAm6Zs3h32nc2+8rOkUpTVQiv6sjmBiwj7Qk5FjNMOs074uqoHaqVkg58yVWLeeoKuAwH6pwkKKoHy9oBmkes3R2FurzaisJpUJdD4VGmaJAvRXyrHRGGXkVF8rOGWFUC2vUolXFQKmlj6702esEUhCJeC8NohSjuLQE2Q9ikHs8HcQe0+SY5rB/QCvFdOzRCrq2wQ09vRs5HvZst1uU1kyDY3Oxo1tvcDGhjEHHyGazkjUbHONwZOxPDP3AZrNhHCcRSetWEncb0T6ahhOHhwes1YynE2Pf82S7wyjNdr3mcDwwDQPrzYbgPKfDnovtlu1W7D+dD8QoTTGVIiGMmUsrYzGMI8mvxMYoRkFXKoUxBpWEuhj9SNu2uPEICk77m997pn/q9QcntijFOI54Nwh8JNumaGWwNhH8KIpsOrftF1UhYy3aWMFLKyWVpQRtPSQSbprodV8n/jSOeA+rlSjxpuw/qpTCuylXIx0AXbeisQYdpWMYUsA5T0jQdLYqGeu8uTVNy1UnFjrjNHJxsRVxqOC5vr7KvrzSPe2Hif00cnV9jaJht9txd3fLNI1sNytSCvipz5NrIrjIZrOhtYIRN0YS/Lu7O1qt8cExTaN0WJsGUmK7veDD+3d0646msVL1UKIcfTjss+pYkvueJqzeABY39RgtYgbDOOFjkLHWTe5EG1zujo7TVDk7xlqapmN3ec3mYkff94S7Pet1izENbsqQ78mROJGiHA4rlUWxvGe73WYxKiXPJ0qFKOEwRjMOPeMwEmNks9myPzzQNA0xJYIXKHHbteLnmw+TaRixxtLoSBhPGAx+mpi0EMr74YTWZU5MDOMRY1u0XnE6HTG2IxHpurUk3j4yjj3aWrFF0sK13my3guFX2a4KFj5+RQAj5Q1UOEe2jehWifl03WI/1dmc18uy05LOgvXySmefRTm6SwL7KNwsTdFZSCBVa4mSVMIi/6ifONd9QdG2LYU3G32coTWLLEVnKI/K/pTlRhZiwYugeWmDlO+h2CawCBpLRfyTPYvyqyVRnrtrczNJquSU5Ll0d1V+fklnPCszzLPk5ZX7ukxy5y9PC2uClK+5/DwVaPbiHud7m7+kVmYXHfVP8Vnqc8qIk1oKWcRRIr0qRY2imlm6Ro85yvLZUbpGZ7yd+cnXivIS73vWpS+wcypHrHaYE4sigspw9vmezsZCLcamBszLAss8+uWzdYbgz1D/ZW17EXSX4GOZeX288s4RAKWIULHfzKln+bWyfpZqw4uiUL3HRxmgKt+1sL1Rj35+Ni6L6aIW67ne73kMNtcoFteu9Lx+lutonmdzO7EkzGef8fjazl6f/p0K1Z9rJvO9LP+b12MVGjtb/3z8509c1+Mku6zvsp/MnZ+yRucCSC0onH1kSdjSnNTkvUMZVYPrmQJBDrILLHehMF32gvRIgX1hqzE/j1lkJ2VXDVEaFgEjHya8d+x2z/j1r7/isD9y2J849SeOxxPTNIhDQQioKC4B0kXVaKXxMYgbRT1TErYm6vIMEpK8g8Lkbm+MEZ1ChRHqzEMve62qOicpw4SXXfesBZG/U6u5eDHvKbPCdd0DyzM4W1fzDFJKo1SsStXLpHj+/iLmWNNCkkqVPqMq8qbEoHLFxpj6DGbUEzXBXp7LZepUPuxiVxBxvZkbqpVCWV1jRaqdHI/G7HzaF9QMi4I4WqO1QUUZ71j4AOUszMn+ckza1YrVZsNXf/Mb/rP/4n9D7x0eGL2nXXXcPjxweXUJCj7cvOdnP/2S8eGIPx5Y0qFkzDWX10847g+kEJhCpFmvePLZRuhYWs/bitI1jl4iyVSatytjDEYbiP4MybUsB1Ye8QLmq/UCPbCA1JRnm/LeIkjQubObD/fFuSt0h/O9QMbcew8p8PLZFf/kjz7nr/7D3yz4+VI0bLQhkNi7hFemPodUg575sz8V+lUZS72Enst/vXeolGqMPByPUmQIMv/d6UQYBlSccG7kYX8vCscpcDgdRRQ1iihr8BPDyeOdx5oGywp3eiApg8tw+HazBaPox4HT6Y5plDztdH+L0oqubdk8fyH7jQI3KlCBadpz2Ava0qjE+/ff07StNPuGnuF0wiiYxhMpOrSKvHj2BK0Nb96/p1utxJ4z0xRDSEzDia7rsCpBFJGpddsSnCSxw0mSdz8NWNWy7w+0qxbvHfv7kd1uxx/6+oMT28kNxOiJ0QucQIkPmjWGkCc+KeGCeKMaLQF0EYnadCu6rpPJF6VC4aZJ/DSnkW69RluNDgavFdFPOO9JyRNSImJQyWCURmc1v7E/oI1FK5P5WhFrG9LkCeOYVW4nsJboAkkbbNOIPU2KdKuOU3/COcfF7oJxKArMlqQNWhtWK4PzgWlyGGPpujWbrceaNSlpsbgJnlXbMA0TRjVM/YlxOIG2RBRt2+G9wo1HbKPYP9yKOFUWLFIpMvYD/enIs2dP6bYr3DgRiHg3Yo1iOB0IbiIGX/mRIYt4eBdEebTJ4jbB4ZMjDgnnAl23xrtAt9rg/QOgubi84uLqSjq+WrPabPExsVutMvcC8J5xHACFNQ3OTazXYsvUdR0PD/cVNhS853g4CC9XRQ4Pey42F3SNRedDMsTIdrvlsJdkfb0WWETfi2r0bnctz8B7VNL0bk+IkfV2xf7hDucn1qsV49gTgsucmUjTKtIkEHJrO0kvYuJ0OqG04XJzQdNlgzWtQTN71Wozwx9z0EGIpOiJzhHDJLzvxmQFvZRhyQKFScXHU2doTN2Ps7JlEeJRpZe7UGl9JHgyCxLlg718Tkl4PuF5V0vuZX/Pn6GXkKZ88AiXJPLy+XOODw94gsB8jK5dErI/a3UTyh2kwkT+CEhXqvUL+M9j2Vc1O3fmN+Xqa+GNikfNLM5SOP0UzmSsPytBQ4VtM4+RTjGz8EQIgSyqkpBgTiVPTEb4XlplnmTxU1tUIcq1avnOWLiz8TwxTRl6p5I6s4kqMP3lGD0+xCt351FyUjvxeo4Gisqqyly6ZJYFkTnpVsuAobJCTe7K5+Ck+mUq5tHWi/tWsyiQqs7Hc2FA66rerbJhYTV9z+8rDomPkyfpMIcaRJTcJ2VbjqIKWbI/+ZYAUUlAPz/tGZb6uCgyD2a9pHKXKhV+p/xb1aeUCZdVGxfzqtgqPCpIzD8uSXbu4CcEZl3HL+U1lxYlIRaWF2UnKOs3EpYx8cKnEvJnL/ePZcGizJXlg6jN2TTPp3IfqXQeFpP5E9DipfVHKV7FCgUuWe6c0C6LEgUOnPKXluejF/NrfhClyzzfwRkd4BOvUlSQvCrWMTp7TirTDXI3uRSJVO6061Ss1/J+o8v8ivXeU4GT5kcYcrdXq0SKmY9YNt/8nhA8Q3/kcDgwTZ6+HxiGkXEcCG7EGBF4efb0CeM08PaHN4QpiDhRnMfXlGRSq9qRVUSsTnIuLXj9RktiK1ub8FrLWpG9LMoZZBStlj0yr8bqD5oyd5Jsx1LnwSPNh7NCbUW8zPSDggDRRsu3JrKS7WJRZhEdXTp2OWmuPG99JoN2Rk05Q/dnAadzSLte7BOm/n6BqiazOPMzj/xjSL+eO9S68D31WaJSEmWTmy4sErSUaml2LlAuJmaZZ1rbs8/6qJNcE7d53icFtJonn7/IeuHw5OlTTNPy7sN7nr14QpPpbZFA73oudheELMAjMOO85wTR3Ng8uRK1Yucx2SpIF5pSneNUWlG+uI/WpDGFBz6f+qV7W84fbWchIJ2LQAWBxGIXKfMghLlQHWMRYc1IhfLvBUW18ErVSeefBYyF3/76K9TQ8y/+m/+Si3DDr141xOSBgFENwUeUTngV+OqHE/dpB8nMhUstaK8lXjrV7v5CuSAliJGoZMbpXLhV0bPfH7jcXYgY6uEeq4RWZ6zheDrhg2elNX7sGU8HgtG01vBwe0O/vxOhVYSbHkNuwGjN8fCAMQ1oRe8mGttw8zbDlWOk61ouNh3Dqcf7Sew4r65I3uHGnqZtsG2Dc5LPHB9uCUrRGEsYEV6tFWHXVWfYP9xA9IRpwKgdRgWGfsRkd4H+uGcYe1abFd5JN37dWsJ4ojUbVPC4MdAfD+y2LxlOBxpr8X4gtoaQImPf45wDEvb6+qMz4Pe9/uDENmSluhAC0ziiabGNrcp6RkMMIiK19BtqW1HZ7fselSXPh2Egxii47KZBB5+9WxviJAs4xkiIgSEOTH2PMR3tZiXKXUlJsjb1ouwbZwlslWGmjfG5QhnwXuCWrbEYY7GNKPgqNLuLHdoo3Cg4cTcMbNZrbNvlw14LD7YfMuzZZm6Cx9rI4XDEaE1ar9FaIJ1GiRCUaTpCFiGJMXA4HNhuOgie08MD1prsD9uy3W459Qd5nzbcPNzQNZbLiwtCjIzDQNNaVuuubpjadDRtR4iB7cUFTWNIyXMaemJMTJPLsu+aGFP2yoXLyys2mwucE/9h7xy73SWn45Hj8cDpeGK9asVHzU2kBJv1Bu8Tfd9L1VnpnKQ+0Iyi7OyDx51kXAu/GgXH45G+77l+cs16s2Hoe9brlXR8jUEpTQgRrRPeB8axZ7vZSpIbI+hAfzpyebUTjvIwMA49q85irCQLl5c7qc7mQOqw33M6nXj69HmG3ObNMspiaZoOlcBkq6VU+Z+BhHhxpRCy8pvPKIVQk5wFKnMOCOZa3iI4Pq9YphqQ5e172U0q0MI4wxpLADpzsxZwTCRpVovkMhUxAuaIvgS+KcOZbeZ6h2yNAInJO1ZdW9DV9VVsG5admvPXfL81YFYSWMSzYH4pCFe6wHM3uXxIYg6o8imW4WQLHlONSWYOJ1ADstJ4DjFfgYpM4x3H4z3G7Nisr7Fte34zaQ6izgKpypOhBihp0TmtXYBPWEued0/Px2E+8OfiA/N0WiS59RHV5DQScjd18VwffeeyM13nUpk+n3iK5bmV8T0ndy5+bcFNy1+4CG5qXX3mxKo5YSIlGiMCOjFEgdgu1aPjDPskRawuRY56idWM/nFH/KNxfpQO1WB49kY6W1OfgjnNEMVHo5DnxTkHnNrhngOdWSr4fMw//tzlpS0TzFSRG/M6Ox/u35P0LaGhZ2l8Tqhr92wml6l6D8s9K83ftbzos7k5d4gLB3o59/WZ/2CarXtiSYbM4mf1adW5dFZpWI533UPnn8b58XxyjCocv5QaKm1hfj4zz1/mqSAwDnUAAQAASURBVNIqUzVk3odM8UnBMQwTwzBk2PCJw909LiOrhmnIdhXZHiWPu9ZgVKQ/Hlm1lt3lhYhELYTVBB2hsxtAwJqGSMKaVH3HQ4KkE0rH/HgDrTJZ4b4cI/IcjOB7cSmwyt3BYss3pVjtUIpvaEHDqHLecJ7U6VzUUtmWJ1XkwvlLkkhdu4Sly8uiCFfOJ72Ecit1Ps8KSpj535UqaJYFimqR/C2f+fKCSuc/Vty1qnO3JG1iA5gT47zni6/s3GlcfrbNei1lrqusAZMKvColzCLhBSRWNJljurAfO+uGls4yS7E5eSaByNX1NfvjkfV2wziJTctms+GnP/8JbpJ5+PAgPMVxGvFuIsaYLYmsNGOMJqYebQ0+hszVBX+MbO2lpMaZNiNJosN7h/de0ISmrTxi5lmTE8HzcarllaryK+NfCxOPKE8qc5nPFvWcU9agQefzXjUZyp7KHhpJEV48vWS7afg3/8P/yAbH9c4QhxuuN3OskWLg7/7mt1w9e871y2tsFsYqUH2Vvyepsg6yenemhOkYefnZZ4TgiDHwsL9n9E7WZgiYRqENDO5E/yB0g+gmDn0PeC4uNnQmoLyTIlfIdp7aMg4e70SslqSwrSHFRNc1dG3RLYoo7TC2oQmgVeDu/g2b7QWXT56yWW/YXVxxd3vLXj0wjSecH/F+wmi43Gw49T1xmgjjRKsNfd+TtKP3Hm0t7dYyuZHo4Yfvv+XJ9RW//PnP+Nkf/ZTNesuf//m/Z3868S//5b/k66+/5v2Hgak/8ubtW1arNf/8z36FdwEXHH/+v/w5/bHn2dNnPL2+RKUA0bNqNG7qRVTKT6xWKyk4pFpC/0++/nBV5EBOTA2n6BmdnAjSkQ345AkZvquVko20BNjBEybhO1otVjQhRGJy9P2ei92VHErB4fKCiUn4usGNDMc9mwtTeRkJg/M9PngikWE80rZbtG2xTUs0hrVWpOiysJBju25pjGWYjlLFCh6rG+H/xoQ1Dd47NAFUm2FEKVeANeu1KBpP44C1iv54YLNac7W7ZBwntG7o1mtM08pBFxMpRJpGLHO6rqVtV4xDj0G8WK1ZEfyEI9I2Bjdp+tNRFmsMqKTZbtZA4v37Dyjd0HUt/TCgdMvl05fsdjt++P41q80lJE+MmlVb4DMDq+0F1jasVpLIWntkd/Gcy90V/dATosNqQ9e0TObEfn9HfxpYd09IQWG1rp5sMSa8l65307T0fU/TtUxuYrNesdls2O/3opCcFPf7O4y1DP1AcJN4CsfAdrPGe0fTrmiaFUqJUmG33rB/uGNyPStakvY4PxFPoygdjhM+BIKbSMExpUC3NqCNdG5twrk+b1Ke7XpDmzlMxoglgCYx9ifwnvV6S8IxuUEgLsmgkxWvXzfA5HMVXOZmMkGg34BKWYVRkVUhs3pirfzqGkyWbo1OmQuWHgdRueNbAjBd6uiqbtLyo9x1U7EqbtaqqJYMQNfMqCSAOUCrkaoEZT7P+RAc3k0QfY5CMsxnWXFeivxU8u8chJY40OTgRHzkYk0+YxZqYJGE6fxZc1KwCCgzD4Zql1EsJIo5fFF8loMw5d+NBIhSja6SISmhCaK4lyYa7bAWlAoLiFy+okWxoXD1ShJbpJXmWEsq+aJaOx/e5xzCnGDXpGr+wewLu0gCMufM5OTBR3nOuaUikMFUgkGyKJQS/pyeO7Gi9qpmTmoVNyrPKlUO25wgFyhtCcTqY6lJaslzZS6aZdE6cxFz55xYIZ/y+TrXsx0/efmcP/3Z5/yrf/Mf6H0Aa84YljIvAruLDf/bf/ELvvnuHb/75m0tWMX6/ymLs35cIPl9XJyUp29pXqpFJ7N0T5cd9Pm1YPou8iy1LFopk62F0nnBIaMCxCM3r5csVWzOvqJU9WWN5vThrOizTPYSeSBK4Jh/aV5nod7XMqgs6rwphQx3L368M8C5BLBV/KnCWxf9lOX+ljL8uAhgfSLZFmmUgAqe0Z3wfsCaDtusUKaDjMaCIkZZBPzKXrooflUdMhFFk39YBD21azePbYhlbDSxosezXUqxF8liQIlMaXIBN3nxdHQTx2HkeDpxPJw4nk7EnMCGbJOhXMJ4L8Fr8h9BXMuzDVNinEYs0GpNZwwmd/W1lQC7FMCMJnfxPcJqCtIp1mB8QBmy6E8ieNGI1doQ8Dg8IXesTKaOBTxaW2IM2NYKtzwGgko4NLYmnUgnKyMpynNeWuIkiq2KrlzKus+Vn6fig372OPKcSRQx37J3FZGkyk9eHJdGadkbM+4jKZNPEl2Lu6Vbt2yqzS/pX8rZqWrxfaahgMYQU6gFwFT4r6Q6P3i0x1TEREzn2gIFSlyratT3Vui3njm49VqWhZh6HuX9IEnX3QXP/tBzGnusNvRu5H/+t/+Wh7t7/uRP/4TL7ZcMRpN84Nn1k4w0XBPWk9gbGYlzdNeIbVUZHx/pbEtUCWMNPkw0ypJiEEV+BVZrpilirKZbtRivaLSpAoVRJbEGenS+Fb/cwjGP2e/eKFuLmqXgnemuAo1fCFrVLTclTEyYNNJoxZ/98c/51//6/0N3fZ2Fq3TlTCdgf3fL7XvH4WHP1ZOOxiaMksTXKOnq//2vv+H/8f/8H3j1o5/w3/2f/lvWxhJDzArTGoxid7lj6AfGcawc2jIXYoikNPLjH71gs93yw/c/8MObt6Ji3FlIgfaio9FXHPYHWm053h7p+3s2q5b+OPHFqy+4vbnl5vaBrm3ZXW558fIFv/67vyckB1ERoyZMHoPiyfYFq65je3nB/njgYrfjhx9+YDo90GxWXO7WXF1csO069scDjVZcXa5pbOJ0vGcajxwPNzx/+RnbTcs47Dkd7gjOcbVdsTISf757/46YLFqteHK54fXr10zDnrvbif/+v//v+KOf/xE//PCG1z98x2F/4P2b17x4ek30I99+9w3H+xtc3zD2e7788qd8/fXXfHjzA8MwcH25ZdUZrI68f/+e1mqGYUSnwDSMBKVpmo7T/vjRufL7Xn+4KrLRAh92HmMbvJcua+GfhCgPuWkaQvBn4YH3QbqaUTph2hi6rmPyPk8QmfTe+boAnJswJIJ3pOx5Klxb6Qh772vF7nA8svLQrQMxurzBBazR2K4jRehWnchPe482Gms1xqiZxK00F7sd/fEO7ye0bYhB1Mts29aNbpomYlQ0jcVNju2FwGlXqxUhif3Q1dUlp1OPdwEfJwKeYXRyD0njp7Ee4EqJ8FOMidVqJR6xWRDHB1FE7odeYMCbNdY2GB9o2o71dst6vWG9XmOzSlrKm8X+cGK1uWC93uK8YxxHTqeRtu1YrzaklFit18Qw4SbxjCVDY16+fEnXWsZhmA965zj1A7sLS4iB1WbDatUxjJGu7RiGgX7o2V5cZIhI4jTsMU2Tu50KHxxy3iuBmSsPasrcA48yiqbRpGQ5nPas1xtCgKkfcW7CuYm27WpFVUzYxa5AW01/Eg6uQOHBtALF8V66r9uLtZhpEzNyKhKmkTgOgIhI4SPKNoRxJI4TzXaDspLc66XfYRbSkJxI14OsVnhrIDkrAS8KynO3hDkZmkvUy/+q+r7K11gEjwowUXogZ+2f2l0rvnPzerz5cCNQbqVwfiQ4t+j4zZf3qHi66DCdq0SUP8azICbWIFfE4c6D7Hp95f4Wnppan9vhxHpA5SCjCPcW+KFadi7PWjUi6BE8D/f3XGwbqawWSxhVC76LQ7h87nlUZDKUe+4uCBct5i8WG45lZ2DBr8nBYOlKlGJE7T4v2nBqkXxSiyL6DPpX4N+K+XdTPWALl63MNzXzuha3lOIis64douUdf2zlo2uHUz0Kvhb3UdKjVH5vDnAVisOxF/5NpqOgEau3JJ6WIaMnXn3+gjc3By52F7TNB4YpzJYnVWm2JI66CmjN3eT5+srfy9yVsdJ1TMp4lvmcFutAnS3Dc4TAzB9cftGceOr6LPX5WlaLIlaZg6XLXi/70X5R/q1+VUYNZHSHQPVL0aQUiNRcHErzXFIVbr2YEOfNEFRaeCcyc9hqFzvGbJeWn71SVVAuwdn8qHtVQawmL4mo9lVsvu4u+VnNRZO5C17HOz1WUC3QyETS5mMubn3qZPGY88TXTRN3t3ecTiecdxyPBx72DzSmZX//QH8aIIqXYip7f5a9UqWkU+GihR+ZZWTybekqqpfQJuJMREWFH3uiF7GYpKFrNCEqrBE0lzgOxGr7RFSQ7xEVMLrJif58jmijCdkPFU3mgcqTURmCbK2ZHQ18nOdu5ucqDT5DAM/neB69hfjT4+5lKcjWAtwnuKwUS5Y8x/WCcpJ4pCWweM0Yi7K/xtqxVcx0mOUcnFEdnH/Wo+sRXYliF7Xcb2dqyZLLnRbr0OY4p/inLr/jMfKjdmNz13pGNJTrpfJ5K2prUThNKXFzc8u//9v/SNKKf/ZP/xmH05Gryyv++Z/+GQl4/d1r/vpv/oZXL1+xu7wEktg+kphCoLFWuqnWYBvxC1ZKoZx0a8lJvzEGo2y9J+89tJambVA60bQNKfjsfXuuAr5c//WsTvNYl8KVD2EWgzvbM1QtKJzVqTJy1I9CW/Mp8ptf/z2aiWl4qJM0eC8d5pi4v3vg3/0v/yvBJ8zzl+hc+C/WoihN23ZY29C1HY1tGcZ3nPojAYl5ldaM403NUco9GSPzL8bI99/d8O03/yAWNcbinKPve8mRvEOReHi4l/3EB0IYUSoSguN47PnruzusNkxu4nB4IJC4f7jndDzinMsCk4nWapKP/PAP/0DXtlztLrm/v+euaXHTBG5i0HDRrlBtz416w2FtePv2B0IMdF1LjD7H7XtiGEgZYduf7qXy3kfGmwdQFt8fGS188cUrQvQ4P6I1TNPAb3/7FVfXl/z2t18xjCe0gb/8q/+Vf/pn/5QQHHe3NzRGhIB/97vfsl6v+eqrfxCaaZg4Hh94+fIZ+/0dw3BiHEaM0qyaltQKTXOzvqio4T/k9QcntsaIcfI0QmM74kLVU2upVgh8I0hiaxt8DFluXmf7nEkmZorYpsFqy2Zl6I8nVusdIQj8OHiHDw7bajbthskNHA8PKMmZME1LiJ6IkqAIshCEkLNTSkxuBBJPLi8xRo4fHxxaJfzU07YtCSVetDHSdRatW0InKsHTKHZFphFV3c36gqurJ7x9+5r7u/es247D/pbj4cBud4n3EzHBMe5xzrFer9EmMblTFRiIQbpEIUZSDEBfTcLHccC2lqazRC8y/bpt6cee/f7A4dTTbq7ZH3uunjwRO6BTjwrS6bFaE1AEDNvdBYOHKUSOR1GK9l5gvk+unxJIwt1JChcTxooycwiOtu3YbnesVx0h3uHGI8M4kELK1gIPaKNpOhGoYlA4L5YCp35ktb2Qw8c7lBFrI53EG9iNPdY2jJNDKYvH0zQtRM/YH1DJ0bYNql1xd3+L1orVeoWfBsRZKtE0Bu8STdOw6hq8T6gsIjaNkyQ5WjFm2LUPK7QZ0bZhu7sU0+gSBMUogl/jiG0a0iQcNz8OhOFUD2+jjHCfiMQ4QYToEta2YkeVO3osVD8Vi2Cx8KBKtniW3c5WPVVfr+a1crDFZccUJJhVKYtnaJY/TIuDn6ykWuGdubF7HE9sKkRdgqYYcjBcuzTxzMIkLg6WyoVdcNDKJbsYZjNMna8iFcanEi64krHPTYTajauHVoHs5ffMCWsO3BbfW66vcI1jSrlIIy/nBpIX3zU3wMWlwbSXGNsSslp73pTqs1hCjWu3oqZ0OieSCqXFtVDlZEJlaGXtWiKcnJgHP6VEqCqxuY+5sE8qBb5aUNDzyJ4xH8tkw+ex1YuOejobq1KIyZUXVuuG/jTm+9AzP/dxl7MEd2mGkdYcR32cBJdkMOU5Xu6p/kYSNEGIkYf9CbQhMpK8JPlumjCrNQBRJ377+jVu8vz8Z19iVy3BHRddmNzZXXK/5tuvV1sLK7no0qrEq2fXvHt3Q8r85vho7amkqm3JHIDmijwlSS3B5jnENmVagDkrBaWKBohnHd6yYnK3tBY5FrYytWgze7uW1kXhr2olnfqY9wsJEE2G+TJzKPUclCeVi5imBMzkEkq+1jiPaakRaJ2Th6wjUAo1pYhXNoP65wVX24QM99MRZRNx8AzDifVa50RLYJYpLZSl07zeSlCfzsZUusix6BcUZauKmpnnQcoxx7w+zp/Ow+0d//O/+p8yzamMZxaP7E+zjchZ8p8hilpXfi8kXA6qVE5ATQooPFppUbwWdpNIO2jwU0/yG2HCp4DVhiYnfCEJjLJ8d+l4pRQwRoJvkiF4j7FGtBBSqHFG9AI5dT6RbERFj9Uan3JTQklnXGvxPbaZGR9VRNtGBKeCyrz3OHf4MzJIFXgyiZDiWWJLPXcWlaJFsaJ2xxfJEEvERFnbpYhbYMoV2Zvy87KL+bFo6zF/V9l/8iTMnFuxHfxUAWz5PtFByOsqqrM9ocxTgSmbR5D7xetMMHFZelXlVjFGs16vRMgzB/AF+l3KmGSKT4qJf/jbv+enf/pLPvvR53z1D79mtVlL8dUHdhc77g57vnj5OX/yJ79iGMX2xQfPOLh6Prpc4O26q0ofHKee0zBgrJFYcNNkoIEU6I/9CZM6NpsOFx3eT1iUeI8aTfKy2RpriIOgDCraByriqG7KeWSqBrqak/5SgKoJfYlpxFQZF4a8byTev/0BoxTR95XKGDMMXCnN6+++5sO779ltL0W8KEV5/hmt4dxIDInNak3TSLXteDhwOAXQLc57mtYynCS+NHkBlzU5zwe5z5Cgnxw+eKZxwruJ/nQQj+IUmaaANhZUxFhwfmC1ajgdeiYndl2nvhdnE99WHrA2GqWlqObdQJoCarDcPhwYx5FRaxprMUoxRaFK6C6g11vsesVxGAQFGdpcyJGG4tAfBOnhR/zUE6NYujIMrC92cL3lQ3/C+YkUPU+uL7m7/cBmsyUlz2+++nse7m64vrrA6oahP/Gbr/6B1WrFi2fPsVZzc/uB9aplGns264Yff/EZMUX6ceTrb37DqX8gJS/iUdHAYaTZbjhMYl31cDp8en194vUHJ7bOTblDGsU7lEBMQcyAXUBlYaaEBC+NFc5l8IGUNJ0CnwpvxIi/qNHYVcPQjwzDqXJOQSqKRVRgtdpwOJx42D+IAnLmrA7jSN/3XF5eYqyuE857TwyRcRrYrFZ0bZv5pRGVlW6D86QQUUZnCIRwfmPSIh4VIyFGOmtx04TOPruXl5cc9ndZ+l0CshhF9CHExOXlJd5LJSSGgFYy0ZxzuGkSYnQMxGwUTlZ6LYmvbazwIcaR1Ubgz9rYunFa29L3g1xPa0WMIrja0ZycwzSW1XpNyqbl3ge8F/L47upSlIgT9KcTfnKMTq6p73uePn0qdkDRo/N4HqeJrl1hGzidTqxWK96/f8/FxZb1esX+4YFx6IUn3bSittg2tN2Ku4d7+sMBoxWn04mUYLXeSNAwZt5wI8l89AYPsvB8YP+wp21aqehlSPiUq44heA7HEWNalNeyELUhBrEyF+8/hZ8mVhuBxz/c3dG0G2y7nmX0yUlNigz9SAIm52ibBlMEDpSIA8lzTkQv89oYDbQfHYbUg3TJ45u7GWoRHJUjrv6n4m5m5dqacC4Ow/mcVkSdv2/x+2rxuRUZXeKLmNBGqrCmsVxfXme1wDPG6qNrqDc2Jy1V/GZODFGxJh/l0hdvlq5RJk1WCPeiyr2ILXI+ph9Vcs/3pSV0a1nVLmPZth2mMWxWa7pWc3V5Sdd2pKQzd0p9dIvL57jkgWm19INdQCIf3WPpKpVqwkfdg5o02LyPpLOPmA/yGR1QgrnS3aj3rnKCm4O1+XvkaxqtURoGJ7ZlXbem792i03yOACix2Zyg1oy5dhznv5UOQlF7mXmaBa44B4jy0/7U8+d/8Tdiv5X3v9IZFLSFfN/xcESh+fWvf0drbSlxSCdjkUWfd2gLhDzlLvejZ6qg61qePLnk5uFQobVnSfliXgl3SpVZmyHenCkqL597rR5VIeJSLIrLRZ/nx5xQpsdrun7PTCeIYeb2Pfb+VQXWqLTAmRPEDFHWBVK/nHuPbKjOaxSlwDNP7iJOVDtPabE2lntMvYFSuMl/S6BjYG0iwY3cPtxxc/Oep08j2+4SVFOv8fw6Hq2MMmeXVcMz9EpW6S3CNssUVs0fsuxAqsyj7U+nuUuYfzyNAyF4bCvQzDLm5TMrQqJefTrbFJSKWANGB1H9TSKQpzWYRqMiWAL4iSb7dBIcxkhXVSNF65RhuEXQKsYowlFWhF5iTCTn8v1E4bDnZ1P2rZS9SlNODMZxrPonIJBnm9VZUxZYtEbhxh4/jdX9QDW2zoW5W6ukA7acw4vxLr8bC/9iWYhaPvIoxYqqML1YL1opuqat+2+ZIlpXg666/6POIfHLvfcM1VKusBavyn917cbNMGz5nyUsm9yVFvSY8Gt1EVKlTIeUhbsWqVpOptbrFadTT0qw2+34v/yf/3v+x//3/8Tf//0/YLIOxkwhmqeftZYxJY7HI8EH3rx9Q9t2bDYbUogcjgfGfpBmw/HIZruhaxvsag3piHe+umlQleslDhb12jFrcAS2642IN2UIdNu2jN7jvcUFh+kEPdB2LSEeiHn8jW1QaiIEcke96D7Eun5VVhOfT+/i+btI/dPi4SINEq013pcilIjTunFkvV4xTiNd12ZEnSS93gXev3tL1xqsijJXtcYH6IeR1XrF3eHAuw83nMaB2/tbbj7ccDqdOJ0Cm20DmWaZUnHLmGOuGES0lhIrZA6ziuLu4iaxK41xwrtASlF0f6KviAXnPJ9//oq3/i3Hw1HmkhJbPe8909hzsb2ojgU+BLFBCoEQlWibZ+FCH0PV9ZlCIAVojYFgIQQ26zXDNNC2bbVLHYZBrtlLwzI4h7I2x40RZaQKOo493k2s12ucm7i8esX9/R3ffvuNNAtTZJOphtM0iM/tqc+0CkV/OvH1118z9Ceh/E2O6D1/8Rf/jmkcwacsCptwg0O3Bms0Dw/33B32/KGvP1wVeTjKhceAMS0hGKbgUBaC0nglXqJN2xCUVEJCCkzOsdpccBonYoTWtHTrC5pWFIkNmqa13N284/LqMicUhhg03nmB9ijD02fPeHh4YJx6EpFhEGEGpaA1WuxFdSKkUDcbrTWnU09zKXY5MUplM3iZcAUSjRKrmWmacFECl8Y2pOiIwaF1K4eR0XTdCqMt3ifGyWGalqQLH8WgtHhBmckQpgllRB3NGsVq3XJ/f2ByLleuROa970+0rcU0mslPHE4CO9hOW4zWTM5xdXXNk2fPIWmOpz5bhWiiSlgdOB7eo5JUkKbJoZs1uhE7nRgmhtMd10+eoXWudDvH4eGW4+GBxsoBloInuoBRidP+QTqyWZwhxETbrvA+K9SlwDT0XFzsWHWd2MaNA42VOeKmUaAXQRKZ6B1OgTaGED0Gj8KLT9VkCG7i5DNcOwSSF9GOh7sHdrvLDE93HI9HUoo03UqKE97DAG2bMEb85IxpMKoREQ1yMSME4jShmzVWZwgjKm/agTbzSKbJo7Rmd3nN5ByqMVk0NpH8BCEQnMM2LVqJUUJMc/B3/kozHG0RXKp8OtcDusbJxbz+PGpOSzGasx/kbkfxJM3dinwmzFCqCgWVjqFPkZBtuZLS2G7FOPUiwKBK8qmy0ng5wBdCUDGho5LEtEDHPrKCiVI4wtarjkosCfQC2lRGRi2CdDJUV6VZ9TWTteZrKLl07bYtRLV0rfVCNBgtCa6yAdOIvUHxO4zMJ6dSGl2D6Vg/M5Gkw4LK3tqyvxV4ZIFamRzZFfVHjRaIeDm0kzqLsTV+huyWTm1NgGQgY7EXKYd+hUJmYZGaYM/R1FLF+GJ3hdGa4d0Hxmli8q7Otdr+qGqhaaGqXPSwJRjVSrFZNRxOR6LSGVae/YBrfUiC29KpS4tAUOX5d7Hd8E9+9iP+8q//ARc1CdFjcGkk5L3WLCDr66bhn/3JT/nrv/stx+MIup2VyM+4lI/XRu4a1pUHPsLvvnvL56+u6FzD4TBJ8FiLI2nBYc6Zds56VS4u6QpJp3ZR5y7ODEO2SZN0nLvm9enMCWu5zhmIOEOty1xOKUq3T5ls2KvyvJjh1DWtS9k6Kr9fZc9ryZ8jSiVCVuiMWa29QrJV8XddwIBJNUBcimWx6HKnM2UvgZdSOk16pmGk4cT+d7/ls8+ecesDL54+5eLyCqVMRWaQVIVUp7p31YVeCxipUsdT3X8oFIa8P8WykNRcOJohsfPD0NoI5zb/e9Ii4BfzEjFL/uYsizPPscL7KyiPRO3+Wx3pmoQJCasUPif/OubVpaE1iuQnNBGfFZGV1lLojRFjO4KPmEZ0Bpx3KAwheZmLwVc9EABtVC6yS+HVaummygPVItiZ5k7jUqUdJT7KKHEbMDiG/p4p06imaSI4KzFPjOjMZVyUN2UW5yS8UDBQhWM96xGYPEdiKe4UfQAlAXQtduY512jLrltlXQEWxYOcHMV5Lytq5TELZEk2fy7UmJL/aK/4qFZVd5YZLRCXNnZ5ToUgyMSu60TJuYrmxZwEzYJSZQ43jeXFi+d88813ImhqWz58uOVnP/kxf/u3f4e1dROdE788XhoRYYXcGQ2R7fqC/njE+Yl3b94zOM+rV69yk2RiGCZ2qwuMbhj8RNMYgdw2NnOOC6XBkjy46LCmISXF3WHPn//1X/LN62/45T//M/Z9j/OO08PAxWZHE6LYZSZFUJqoFUkrojF4lxXtlQimzUO+iCfKYqzF+TNN5FrcU8X5IIEhCUfcdPzww2uid2wvVrhjz3bd8fzpc0l4nePNm7cM/YFVo2ltJCURbNJK8/bDDevNBlDsJ8cpTOjTgR/evOX25gO3h4mfXlyyWnV8/vIzjDGcTif6YaiI1KZp2W427LZbvvnmG66fXGOtrd7SKQVujnuc82LLZTR2ZWm7Fbe3N9KUUZrTccgirqdqtWWtYXJO1o9KrLo1bphw44gOAauF7jb6QCQKMjZ4VFIEJZTA4CfG6YS7EYcY24oA1DiciCGwXq8gw8xjjEQf0VHhXWBMAX8auDtMTAZ+/euv0Ci6rsUYw/FwIERBvd7c3DCOI/uHB/GgdSMxJd6+ecP1kyuur6/45uvf0fcT4zjQda0UacYxzz3Fqmly80Vh14bNuqHrLId+T2N/3wr9+PUHJ7an/iQiCRnu67LNzTjK4aG1PABjLev1hohimhyTczQ+5Dqiom1XrNZbtDZctytpuZ+O3N7e0HYWYzZY1eYESB548XZ9+eIl796/ZxhO1UZovVqhszUP2uAmh0Zjm4aVSgTnub9/IMVA2zTsLrZ4rXFeQk7nBIc/TRPBi2l5iJFON9hMYr64XDMOJ269E0ROTrL6vkc7z8VuJ5xjo3B+yqs1YRsB9/hsddN2HRe7S1zXcX97y+nU015ZqUJlxWilFUetWHUdxkhlKvjA9cunGF3shi7xwXM83GOMkWKCGwh+AtWKkFJnsLbBWsPoR3YXW8b+RN80AqFwHlJku1lBnBhOU/bt7Vmv1yIFnnlfjbWMkyP4QNt2aKVxYeRwOOCcZ3exI0U4HI9opRndCEmxXm+ZxglrJ548ecLheBQV5HzaGCNwoD5DDKTjn6p0vm4M69WG06mn68Tbt+s6Tqej4PA1GKtp8vjVeqtW+MXGmWJEG2hshk8n8MGTnHBnQ/AMmXPo3MTu8qrCZ7QSK6MQEmTYeLXIUaqqdJMSyqQMbZ3bM+XAXlay5yZYhhdFlf943o6sAWb953PI7hI6tahZ10P/MT9Jfk0qgCFIAKeNQWnZ/Fia8qT52wrPer6wAgWjCuMsIdASbOicdFOD+yrCkQ82VexzcheiHF41jFAxQxGLCm2+PT1z8XK/gDmULR0kCfBKxbfpOnw4EVIUV6zi9pT5vPV7UxEFSjV+n2vt+XnqYiqUrYDmH2ffxPw7Cw87rfXcTKwNZVX5icvuaeGJqWJ/kX8/pKyM+ZjvmEQUJber6r+HEPhwU4zNhesco86B4bKjqmpiR+l4FeRmzljWmw1Prrc8HPY1cVEqFXRirfynnIyfTbmaq0sidXGxpu0sx3HKojM58cwqm0XMh0wviCHx6sUTvjp+nyv+YtEyQ83m0PrxjK+xcQ6gm7Zhd7nj+3c3FPFDpc95guX3z7i3eYwqh68qzpa1WqxtchWftFzodb6dd74XCW/lImcOeIyZ60cVYksl361QfF9vMuVkNRZOf+bRlm1QkwWZyvc+Kp5VgbDcoVW6lOXmZLskwVqJ4GIsRZxSeUkQc0eydPClKJRIeKbDHfrpmt2qpdegVUPBQytyoWBRlytDVedOue5cVChJ7RK6WBTrZ3fonGTUDvYMg61jn9FZ2ohma0ozVHxuHs68yuV/Z961PBdD6RgqjJn1BVTWI1F577PGZI6pyntQRsIFRwhijxdjAi9iT85NojGCcNHVR/eRxFkgn53153oe0ITEJOM4YrWpSVrhtUr3pslqwQkfHOM4oJTG+QnnR8ZpYHd5ma9FtEcKx3AerFngb3neVahuXQtqPvOSqp9zzsfMHSrveej3PFHz+JY98BNizPM+vUBLxBTrXFku7bigh5SGuy7aFPU6JVGt37mA6hdKz+l04vLy8hHKZVF4XNSAxnHi17/+SrqQreLh4Z7f/vZrQnYIgXK9ek7O0yygOHnHu/cf2D19go+By6urCq39kz/7p/z6N7/hhzdv2F1sePfuPZ9rQ7e94HgS540QA/cPD6KOrKWZYBtxDVmt1xmCDff3D4xuQrUWpyJ/9Td/ze76KRe7nRRwdMMYhdpyspaoNa5bMUUYUEwBrIYn2zUp9IKSeQTnJnfetdG0rSRMKWbP2cyVPRvzFFmtWq6urnn74QN//Me/5G/+6i/x3klxAfj88885nU6AuIF89tlL+uMRC1xeXfHm/Qe6ruG7N3dcXHiePX3G7cMRZS2j9/zw9p10RVPkx19+yds3b7m+vqLve54/f8Y4TpjGCkS5aej7EwD39/f86le/4uuvv+bFixdVC+hHX3zBqrN8/fXv+NUf/zGvf3jDs+cvePf+LauuQwG3d3f86he/JKXID69/4J//83/Ozf0dr1+/Ztdc0Pen7A8bGEJgbVuUVjRNQwyexlqSgnXXgYJj35NCxI2eGBwXVzsG57PbiDiiNFZyq7btBO57f4+PEL3n+vqSmxTZNhu0iqhVw/F0wmZayu5yxxdffMHb92/Z7cSx5M2bNyLyVhAHMbBe/5SUIs+ePWOznri7e0DrK16+fIHWmru7O6y1PDw8cNo/cHV5SWMsjbVoYzntj/z853/EsxcvPl7ov+f1j7D7cQxDkLb1KNDXlJXtolLSVvaRafJcXm5pWoHMJmXohxFjLOvNFq0b2madIWWBxJQPscThYc9ue1FFCXQenC5XFIiJ7XrLm7f3TNNYqyUkQ4pi85OsCEt5H5hGX6sQKQQuXl6w3e24v7urPFOhjyS8TxjTstntRCCKbPKtxB+q61bs7/fE3H3cH/aihmwcfX/CNpcoJTBaBQzjkIMQhTKadtWJDzCG3eU1Fxc7bt6+YXIjyshBlkYJOLu2wTnhGU+TdNW0MiKoZTratqFr18TVREwTfjoKxzY62vWKplvTn05sSuIRnEDDY2DqT3SrDSFM6AwN6dYN4ySS4lFBkxq67Zrx1ItqdA6onXO40XN9fYULCec83p1YdRuapqNrV9y8v5FigzLsLq7wk+fu7p77+322hprYGRGuCJNUpaXyKweNybL5IQS01TTdihWGu9sbNuuWzXrNzfv3bJ4+obGSLBHFIwudaDuDTpGUBKIlnXvDqu1oVxts0zA6R7de5U6N+JaFkHlQhixy5gnOoa3wsBWqqj4WuxwffYXSkhRN14IV3zdd/VlL13bRlZxbXDkV04uG43wALgNnyHDiymVLNWio0NQaDaazg7QmubkrE1MQDmhSJB9IwWMEB4dKTbVXUbWS/2gzKJlWhmLFlHJyMHe9QtR5e5m5g6r4ohYxqcrvJFf6MyAs6QUfcBkkFL/czO0vV7ngO5bxi7kDpjM/ePAOqwUhkYp4TknuAB0X8NA0dxtT7lrXjs7M5FoIlcTa6fJxvqbCj2Jx/1KQnpM5lTt2GgmOoplhlEVApAZemVNdOlqlz1A7gCrzfDOSQ2eenkJUkyvgzugMbaV2bGTNxcpPFJ/OUNVuD8cTx9NRgsUQMdqI4FdVjNbS7X+U1C7FUWJKxBD4cHPPOIb67GPmYIYQsDbiQzp7z7ffv+X586u8TmXPwBZvwRlamyiFlpLQpTlZymJI/eT5zbdvCHHurpZ6ThFay0dNTqiK4NNcbJDqwww5rFDH3FFNKhJVmDvYgUVgPAfssUbkqa4TXTpYzPzmGUq5KGjk9a0LXiEnolWhOwtWFd2qhFiV6Zx46QWveqloPNuZZAWh5eNUmdtL4fVn9esoxaYYYubilURV3qZTIhGwytCQ6LRYiuhpjwoGZTq80qimqftUWkASU5rhqYpcMMvZcEQSUp0tcJQO0gUsf2fmdJLXnkbhgtCV7MrkXmIBnM8c9xA8YQo0plskbcvhmFV4FQjHL8TM0U4kHwg60iiNc74mQYpQNbFjLtBP05TPKsUwjdleSJOCp1FKOlVaIHopeVJShKSJEaxS2VzNQ0iYppHYKp8VRudkMPuBEpPwfEHOuMaK2m6UfbsoEws96chqtWaaRk6nE1ob7MmwXq8hhrq/qQwJLoWTsj+WeSVCWPmeF13dFLKgljaZQ59Ln0rsBlQtqiiZbwvFYWPs+bMgF1byWi/3nOTQkH1elY6xmruvFX6eFXvTfF7LPNYL+snCw7UWVMgNH187bfLjWQ1a1JKL2KG89/vv37LdrPjs5Qu8n6TAPgyV3mGqajPz/h8Tp6Hnbv/Aurlkc7Hlj37xSz770Y+4evqUH//4R5z6Ey9evuJHX3yJUeDGexrTsFp1XD95wjR5tDHYmFBZ3b6xUpDtxwEfLfuHB07jyF/99V+zP9zzsL9n8+QZPij2vSIY8PaC395FHu4NNr5kt9OYJzuOxhK+hdOkuH37gf/6n/2M//xf/Bl+fKg0AWvn4oz3ntVqJbF+19F1nXDDnZM4OMfwh8OB0/EBrTVPnjzhYrvj6c0L3r1/x5c/+QlNY9lut1hrefXqFUrBdrPhl7/8pcwNH2i05fPPn2OayP54xLQXnPrIZoL19poXL3/EzYcb7h+OXF4/5fJZy2H/wE9+8hM2my193/Pq1SuePn3Ch7s7nj17ipukyfVX/+Gv+OKLL7i+vmaz2XB5ecn19TWn04nJTaxWLc4HfvzlT3ny7AXaGP53+r/kzQ+vxVYnyfhvdzvszQ39NPLy5Uucczx98YTXr19LnLleseGK7XbLi+dPWa1WfPPdt9LJN5bNZs1pHCQGDZHuScft3R2vnl0zvb+hW3eooPBG8gKjNVdX8nnHw5GTO+KdQzWW65cvuLvfs7244DQOrNqOV69eMQwD+/0DV1fXfLj9wBdffMFut+PFixfc39/T2IbbD0LZ3GzXmabY8Pmra7777nu6rmMcR169eoX3nqurK16+eMFvf/MVtrFcXFzgvGcaPba19GPPu3dv+ENf/wi7n1AnICiCl5qo98JBERGkRNdJB3UaHUY34loVSxXMsN1e0DStbIhZ4yWmyG53Qd/33N/fs+palBauozaGpmtZdSumXha9NZa70x0pgTFN7aC6lDDaYIxhmmTjM8YSY2Loe/GvdROnUw9othc7Ygg8PDzgQ2B7sSM4SYZN3pxs7io+PNzNfDICm64l+Sw25H3d4Nwk3qzTOKISNMaikiHkZKCxDZPztNZwfX3N8XAHSRR9VRZEsMYwDoN0pDeXjJNHaUuqXTCpbq03G96/v2cYBi7XHacwst5csL16Qn/qISbGYcQagQ42jcBzg5sgWxu5aaT3oQZUPsN9t9stPgQa2xJTYLVakRIM/cT+cKBpBaY8uYnD8cB6veXFixd8uLmRMQ+e4+HIfn8gpcTt7S2b7RbbiIT6OAzCaY2J3eUlwzCwXm3Q2uKzGbfzken+Aa00q05UrRWwWq/zYSKHUtNYhmGiUcKbULbN1WzQ2mJMw2qzgcYQiUzTRFI9TbsiuBGVDz2jNW1jidHjnIg4jHuBrLRNhzYiGFA4S8n7GpA67zGNgqBJRmebHCoUeeZ9LmhYpbJcDmEWydDcg6i/x8KCoCQFj6vH+VNrsjz/aw7dYkAXVc1lVZ0oCd/SVH3BR6tdxXrYz9dfKt3l5gpCtNBuKdDJnADLjS3gXLM2SK60l67ZAvi3qN7Xf6g83zweBaobU0UFyDUKPEob8d1ulg+hKIoalavJ1I5AhXAvu1vLDlIOhgpkNyzdURaB79x5inlQiqqpZOC1eFCHJgdpC8/EqmKsy0fq2lXVmMpPK+9XSklAWwsUJanO3fLK+5Jn+suff8nvvn4tsKCFwE7htqeY2Kw3tG3D7e0tWinEicVUz8uPuWwLiGYO5qw1fP7qBW/e3XF8+74WdKzShOgFbmbsXAxJsN+f+OmXr/ijn3zG3//mNUkbIl6C8zTbjyw76WQelWotnojzDtsIOiZZS0JUTIcgiXfnEzrOdAJT59Syfbjs0mWhm9I9KiumdOCXUxZ1RlUoKIFq/7OAMtf4Wmnxdy1d+iLalOeKMSrvk7ruHap2GhddxDxfNXpJD2Xxx5pQr9pOrOTKPxYNuJyExGI/ReL+/p62a6WYlys6bpCiblTQtIaIQOW098TpRMLR729x0x1Pnl1wfb3h/Q+/4f7BEy+e0149JaaEtY1oXbRrEUNKgXc3t1xfP6FtOwIh21WJ3kGjW7ROUrzJVmXz3Mvd7phltLSc136aBEXVFH5vnr8x1UQnkcmnZ6/y6YU6oealm9eBUfMYKxQ+hPo+ndEBznuiUmwvdjRtK/oRk6gQ+8mhm7mTPU3S4dU5gZSusySeRhkaK8m6zeiORiuxN9Kq8v5sK9xE54MUGnKCFmJEBeH6mQyf1Lkqq0rc5yYp9IbAy5efcTyeRIdCSTLUtHLexgXnNmUBLlVsi4xejN2i0FdFp1It+Cw3w1mrQtdiRt0nU8rVpFg1CVQdZz3TelKhC51XaOvf1SzUNFNilnVh+ZPReqENMJ8TZf+JMc7NFljc3yxwUY4dhaY/9WzWHb/85S/pT0f8NLFedfzZn/xxpiyJHg0oYki0TUuKnnQ88erHn2O3Hav1hi9+vMYYy/Va6FPOB1ZrSSb+6i//ivE0cPHsJQOGd+/vmFxgdCP7hwMfPtxm/9uJoRc63unY0/cDMbuduOnEi5dP+fFPfsy7tw/s+4Reb+njir2zfDt1xPUFZiNijMol0mGisSse+vesNhuapqE1FyQFo3e0TVtFjgoXNkZxPAkxMh1PopKtDbbphP8d5ey6u73h4mJinEbWXYcbBrxzGK34/vvvuLq64s2bHwARH+37gZvbG148fYZWitF5jncPHPdHxmGQGJWOy6unvP9wS7te8cO7tzyceja7S/p+5MP7t2w2FxlV1HJzc8vonejdKMVvfvMV33/3PU+ePOF3v/td9jyWAv6TJ9ec+hPD0LNar3n37h1Ka/b7Pd5PuGni/v6Bn/7kJ4zjyM2HD4QQ+O7bb7JbywVucigUr394zXq15vOXL1mt1/gQ+N3X3zC5SQRV1xv2xxP3Dw9SKDYG5zzdasWHDx94/vyFiIgdJna7HW5y3N8/sFqJs4o2ukLrHx72rNYdx9NRxMFyYWwYBt68kSTzcDgQY+TDhw9cXV3jXeBHP/qSVbfi++/+J54/f85ms+aP//hXPDzc8/79B+n250JQ359IKfLu3Tu6ruX5i+fc39+TULRtR9+P/PwXv+Qv/sN/YLvd8oe+/uDEtjE2W8ac2G42rGxL7wfhUSoy9xHBZaspJzeglKVpxC9N24YpBtocNIQYcvDlidExTSdSuoCoBfIbfBZwCDy5fiICAl1HZ1v85PGJqopTuygx0TaWpulwBJErN4aYRCW4U4p+GGm6NTFpRjdxGsZaLSlVInWxFnGoFHKlMeWEb421SkSSjJZgVscsDAXKJrSSSi8x0HSKaZzQk2W1FSz/anUh+6UXZbSYJLnzw4D3cqi2jciOG92gjAIjHNBTv0dZw9quSUqxWm8ZDncYYZ+wu35BpKVbGe7v3tOuNmKb4x24AaUSh/0dOkXWa4tLE8FN1T9MJUWYHMd4yBVDjdEtqMiq67BNU4WxLrYXHI4nmayXTiTiTYNpG5RPDGPPMAwAbDYbEfcyhqHvBTKS4PLykm61IaEJSUmxIDhWbZePKQmOUBKgno4nVuuOYRpzlU/hoyPiCDHhhtkeQpeDNpPqo/eMbsJlWHWYBrrOYpVmnIbMnW0IyXE6DBKId6vZSiNFYpAAz+RkSCtFDEECYe9JUaFTi9KWeKYem4NWXQKu+XAViGpaHKVFTZiaeCw7S6l0qNIies6ebBSV4TQnLrFgbRcBrW1kwwspYNqG8U68owuUMWEkoK7fOfN/Ve0LzZxESjcon9zSbZ1lPWqymyFOZJVckibVlpncTmBOgEuVfK4ElCQi5DZVHoTc/dWKbBth5HOUJiWNsQaXxb9maJiqwVRQUZoo5TOrV+wnXinNz6B8R1VfTWdBmcrdMfH2VXNXoHbZU/0cvbB5KIXCcv8C7Q41caEGZrHee0JlaHTmoRWonxKV1pLwyUugiCb7rXz1m9ekFCiszaoOXUXWhHMTXcQqO1vBLDq0Z1zSRZLL4tce9gf+/N//LQ/7IyhbfYALlFfVooSqglLj6PE+8vlnz/nqux+YDAytJB02kLtXEuTGJD7GOooN1q3p+Vb3dJ2m7Tr6dOKYPPuVYwqBU5j4xZPP+CdvFNtpISykSh2hdNBnLuHS6/YMT1ARvqrC58k2OwqF1dk2YgFLTmUdQFWetW2TlUtjqWXQWIObBlQSdMnlk2v2J1c/R0XhsqWY9z+dZoHzR8+kzotFIq1SAueoaWGUuWIky6nWc1pbYgh8//Vv8Cqxu7pChSAcUu+J3qMQb8kmKlaNZds6mnDi1asNT59f8Nn6gp/8yS/wyfCf/1eX/MW//fe8/uZbVqcDtzd7otmQlGXA8jA6DlPk7Q9v2P6zf0r3/DlkrQCFYjgdsHqHblrZl1LpForfuXRglRTJlSI1LafTieF0FAhf16JTICWHSoLwSEnGMiaNyR6fKWXfS1UoAUoKVIX+kpIoGxMwuYhlEhgMPvlsGaNIIeTuaCJow+AcajSCEEOEW2JSqJBQWtAanW1z2z+J9kfuwraAVolWB4xOgpiIEZO9btumwUVHSJGLbivBvwJFyMrApbCpRHujVuCScHe9FODHfmLMAprb7QUfbu8IKRECXFxcsNlecHd/LygwrVlvthwOx0ovaTKNaC7IqiqwpwtuPc12YqkUgtQsrEn2bY+5cJJSQvkg6BQdMrImSjFIy7kcMgdSa52hEOqTxTelZ2j+Y5GwUnhWiFOgQeKJ2hFWCqUMp9OQY83m0f4/d12TUrlzrBj6kW+//Z4XL5/x5U++wA8DmojSccGrZT6jkskJciA93VWotdLC5Q94EQsaJlH0Xln+8i//mv/Xv/q3xNTwr/7i10JDigJxL3XQEAOBGXVQChKl2Go1RD/y/bdfczw9cDpGVruneOVJVhP9hNYrgu4ISuGViKYlFXJBQxBgo58I08D7h3tu+iNPrq54urngxdV1ha4rJeqFSelMv5A/JyR2H5w0eE79wDAMDENPCIl3b19zc/OeH3/5JdMk1pBv3vzAdnvB/f6Bu7tbkgq8fvc9V7sdH+7eE4JHRTDa4pzn3dt3YBBdmq5juL2hjY4YRk5Hx7u335Ji5LNXn3M4fMb+YBgm6SYHN9JYw9On1xnK73n7+h33dze8fPmSXdrxcH9HTILM/Oa771ivOjabNf3xICJLITKNLrvLNFztdtzcvOeP//iPiTFydf2U/cOeGB1390eeXl+y2a55/foNNzc3/OpP/4TNZkOYHIfjkd3VNbe3t/gEp1PPy5cvebi/59Sf8D7wcHtP90L2zHXX4CfH2zdv0MYIl/diw3a35c2bNzjvYEysL6TZdXd3J82h3ERYr9dcXV3z4y++RCvLdnfJd999x3/xX/5XNG3LYb8nKc3oIz5Enjx9xjgMGaFl2V1ecH9/n/2jFc9ffMbd3R2/+tWvOPzt3/Gbr78mpMjm4v8Pia0xhs1mw+AmhmGgs9INVV4Ed8ZhYLfb1cqbbVqsdcTkuX7yhHEcOJ5ObHdThpOJr1PfD3gniqxuciIY1Qks4XIjWP+H/YHb2xt2FzvhYGmNtQ3DqYds2yAKgnKICX9WZ682I1ZFWjEMA1eXFxhrMday3++BlHH5KnukigJl8lIt0k1LSinDgBuOp4GmEXhrJLHebHHjJFDiMDKeTnRdV9VOnRvz4hR5caNNVmWF4+kBYyxT3zOFgM0hU8rCIEOGW9tuzTT1eWOGcdyT4iSKYmmisZZhkqTMGsPgI4fDnmkaWW82FfrivBPzdy1JnnOi1ji5iclFbLPKMG7Pxlr6vicGUexzwUmnuelQWnO4vwdteP7iJYfTbxnHkYeHe1arjcAqgmPoRXnteDpIIBXnrr9Sit1ux8XFBSGKZ54x4g2sVGTV7UjKZDsazzgOUvVVslCFi2GZJk8M4vfnos9y/qr6LMdpRDedVMFtS3COxmjZfMOAnyzeOabMJZrclLm+ggzouk74TilhjZF7Q7GyDVZHYvT1EJCKY8rdAcF6FXiwIgffcdHpO4MnL8RZ9PJgPE+tzjh9JUytXqxLi5eZK1i7jDnkDsHPXaK8XkKK9cPr/5bDuChVLirO5aWVPk/ea8ckfXSdPEoEEr8ncaz3mh7/y1mCe2a0m8dA4HDlGhZ9qZTHtXQHytCccavmTjWfGudlYMQ85rPwyaJTXd5TIZSLpI+SHM9PpQR1IXdKyu9VKG9KiyQlB0oxznxjpYgpZL5xylDMkOsFy1EuQWTudJQ8Jip+8fOf8PXvvs7Qr1zMKNxjpXDOcbnbzToCtQP86Bl/Yt6Wf3/27An/7Jdf8m//4m85TUfprqfsZVjvbcmblEDru+/f8NmLCy5Wa04p8m/23zA8XfNHn31Ovz+iteLDwz23fkRpy9V6w7/onvObt+/4d+2ef/HZT9hieHt/5NvDDUOGnAbv+THPMLql9HtLUUkxF4TIljoqK5OlnDCdP9SCaihd0vxotCjxr7qGoZ8kYDQWN4V5lgpekqHvefHkcz7c3YnegNJ0TcOPv3jJV199BQqG4UhyHSZ6bNMSgvAhk9JYZUmI1YRtWimKIlDMEAOH/YHLqytUIgt8iJqu6BqA8rnLlkVwDIlxGkgp8Ec//RHPn17xw5sbvv2N4W//4de8f615ut7SaYUB2ibx6jJwfbHhn/yTX7C9WPPqZ1d0FtrNJWbT8uu/+Uv+1b/+18CGH3/xBf/N/+FfAr3Y5d28Zf9w5Hd/+2umEe5uex72nufPRtL3f0VwPyast/imA23RRFHYzJSTmB9eSOLN3p+OVUjSpYhVBpwjOUnC8I7oJkyMNEbz/NkT3t/cyTqMQZASRpBbrZGE0mfvTaWKcnaUAn0M0k3GiHhOChAyRSFE8OL2YHOXKgbEmzIr0hst8HRljRSZMk//6skl+/v7mfKRE9+2kSKDzpBVlasgMXq0iZgGNJZpclxcXHDz4UPdi4yRzpjW5czQlX7hpxGTYyo/OYLzNEYTUuL9u3ecjkeePnvKMJzQSpRlu1VHitLN+eKzV3x4934W+9Mqx1wFmjt/ZynuSNezIEkq0CGjJh5B8otGYFVk1xQWgc6cYaUUSYkl2wwdntdopZrkz4z5XI4xZu5hg9GCkHPTBCkxDIL6W2+3WbF2/tivv/4d19dXvHjxLOt2SAI5ey1rmQMJUgjsjzJnTRYB1VqKKhUaXSvfi2J3ClI4sVncLitvl4ZOOR9VVssf3cD9fo+2W7wSVxNBeRfF/VhB+Glxpi338xBkD1Jac7nbsduueOgd0zBAt8IoTasDWnuislLES56ER4fEyorVliLR9yfu7m558ePPGY89+/t7XlxeztZP1ft9Rvp476TwHDy3tx9orCAZ7h8EkjwOI5eXO+7vb7m6vOT+7pYUpdv5+avP+eGHHxjGgdubd6QYWTWW169f8/LlS/phpD+eGMeRyY3sD3u6Vcsw9tkuKHBzk5PgXMR9/zZx//mPcC6BaYjRcdw/8Pmrz+n7noeHB7H61ILC/Pu/+ztWXcfkJp6/fMH+4Z7j8cjtzXt2F1u6tpVCx3Dim29/x+evPsdaafLEGLi9Fd/cbr0VR5imgRR4eLjF+4nT6ch6s2K73UjeYcW9ZRgnLi62HE8nYgxsNmtidls5HA6EGDn1J2KIPHn6hKZtONwfM8oxF72NZegHaR55jzWWiYnVqqPvT4QQef3Da375q19greHt27fc3t3SjxNd13F5JVo1Dw8PKK15+vQpDw8P3N7dse46Li+vcrOrFbGoRvjRz58/5/b2jr/7u7/n1ec/EvSZtVxfP/kopvh9r39UYmubRgq5Oi9qpUmqYRhPXF1ds163hCjcAq1bulVCm4AyDU9fXHHz4T1vf3gNIYrAVIycjqLGqhHYRQqJcRwFPhMDTduyXkkypbXm22+/pTWC1/ZhT/AB20pykgjY9RYXIkM/sN3uWK1XHA97+uEEakW3WhNV4nDYo7VguUOGo7VtJ8lV63BDj7EGYzqc92i7ImUeZkgxQ2YFthFjZLMOxCRJltUdxrZEPxGDo+lWJJXwfpROb4oEH3CTR2tDY1tu7j+gCHTdipC5vT4EEa9qDafjHmMambzBMTgpAqQoQaYPAdN03N68YwiB/njA5ArwOIzZQzIwTQNaJ6yBu/sbWissrc32gqbpaFsvFe1BCg6NlUOh7QSC7pwTYazWMrnA3cMDV9fXbLcbDocjHz6848nVFUN/YhpHNuuNmIErYTKFzEMp/r3DMGBNw3a9YXIjScmz8EGeJ1ox+ZFhGkQAxSjcybPZbJkmVw8obTQxpDlAUyJO1XadQMODF9TB0GO0pusajDH4qef9u3c10cYYgWA3nXC8rcGFIIccwk80RjpNbhRIe9PK76YUpeqaAilo4VEpVeSSsoQLWYUwH0wkMIuEatFWVcVnsnZoz5PFpUhIzRQLBConBKVLVw8rL13dYRwoZGBrzFx9Lrl1hnlHXThXcQG/Lf6NzII5Z9ZG59dSrjmhRP5fL/lpS3/Jpdot5QPq5y0TPpKhNAxj5mSqqoIrzS/pbGRD87bD+3FhBTLD2wr0TCIQs+AE6wpzm8d9hh9WuGJK2UpjIe51dt/zq/Blz39eetZLWGsZ45mnS1brVWqR6Fbub54nuRNX5YZq8DXD8jZtyy9++hnffPeeh6MUzGKKfP3N99VGoXTjZRLKczGNZbvLAlLURvFZkeRxUvv47+tVmw/urMKqFSqKwEfbyJ4ge1KZjyXwlD33arPjw7Tnd/0tH8YDF1xhWs+gEn+v7/laHRl94Mv1M/70yRf4154pOL56/wO/ePk5q4s1P19/jrHCh//+7bds24bdbsuFjehqjyJq8P1pYHSO3eUFP//Z5/zu2zfc3O0zx5izZztP/bk4Id3USGs0u7Whs00ucII30l2+2O0YB7FRGA8n1m3iamNQVuzLLrdrdmv40csdLnisHtmuFCp5njwVq64UAj+8fs1nX3zJu7fvsVPPL778FfvTqQa7IWg2tLx4tmEYJtbrjtNJkhtjDKv1mvt94PrqEq3E2u2/+M/+lMPxyL/7y7/m88+u+du//w3PnjxlGI744YhtGq6eXNEQ+K//9/8ZL1+1/PRn16Q4cfX8BYf7D+yevmI4PeDSiIoN+wfDV199z3/z3/4f+eof/oGf/+xnrDYt2wvLkx/9hMtXgd3Vlqc//iIXcEcePtzyf/+//t/Yf/We1ee/oH35JX3fY3RLDB4/eWwrtiTO+6zw7wnekaIIvHjncAn8NGBUIoYJPw3yd51ojeLZ9SX7hztGF4SaYRKdUWw3K7pGgvSQwPuA8xObpuWf/OpPCDHw/v0H3rz9wPj/pe2/fmzN0vRO7LfM57YLd1z6zKrq6upmO5LDbjU1xJBDSTO81oV0J0AjQdJfM4Du5AABEoYEZyhSIwFDctBNcmhm2lV1dVVWZWaZtMdEnDDbfXY5Xbxr74jsJoG6oDZQlQcn4kRs831rrfd9n+f3ZCBlSiGnCZSAYhgkqs7kaBgiTEOe9OXoMWsKxnGU81Zu5GrB+KNipCoNwyBRfIURzkMIQdIXyHaKTLYfR7HbGGN5+vQpm/Wa6ENWmUiuqbUlk5vwQWO1QukAR5AWrG9vZYqTpFnWdS2msPhpZBxGpnFgGD1vvvmmWLJj5NOffypyxikrDozJsMX742Z62HV9sNQfHDukeGwQHJqOh7VbJ9mfdMoxSAcPcUqoFEV2n6Ny0oNMc/UXGlEP/yhEhugD++2OuqpZLhaQEn0n9FjnRqwTBWJdN3mSqkgx8Mu/9Eu8vrkiRg/YI/jt8BhHz0c/+QlF2UgqhNIUZfn1/V5l28dDRU96oHJSSq73mHIGr7x9RpujxMSH3BzIaqgYAslwzIM/bCUPqcSH/eGwpt/zH+TziSHSzEqW8wVuMgxeCjFCIFATw0DBiCojhTKEqPBhosaT0oBKjuAcpycr7ja3WOcwWnO6XDFOY/7MVY5sVJkkfDjrxKMNomkqxmlgs9swTjVNXfHi+ZdUVUVZlnz00Uek5Om7lpgiL6Pn9vqGaRqZNxXDONDtt1SFwbtRzgY60vUtwyhT0xgC/SCQq912Q1VaQvb4KpXoFHz88YeU1YyynkmTSCvKwrJer5nPZmw2G6qiwA8DV5eXFKVIbC9fveDq8qXYKbzDTSN1VbJcLbm8eklKcubdt1vc0OPcSNftmc8XEndzt8baEmsVIUqhH0KkqmtevPgKay11UaJUpKwKyrIkRI+1mvXmLttR5Iw5m9VM04j3nrs1BCTOyPvAkAtekxRNNcNHR4iBNjcJnZ9oZjXT6Lh+fc1b77wpA5+o+NnPfs5v/NZflgIcjoOhzWYj1sqm4fr6mtksR352A2BxU2K7ueXZG09wLtB1PbPZjG9+45tcXl7hJomo+kUfv/B3jtMkGusYIYg9tiwrisKQGKjnKyIhL2SWEFPOsrIURcl6LYbivff89Kef8PTJUxbLJcYqSlNKrI6RImBygn8e3EDta+qmyW+o4LunwWdfUaLrWiq7yBJEkdC44HFOQpGL5YIYI+MoxLSu7TKoxR9legIAijnY/CAqTCKFnmSzNJkkl1KOu1GOorBoZeiGgfX6jrpuKHKemICV0lFiF1Oi73vKUvJzE1AUAoQaxylPBA9h0QNFUWavrqcsy0yGrkkpSUYrSWJH8gKgs1x6v70VcISHYEqcT1RVgY9TBk/IIj5NIyRo24GT0zOWJ6fSoTee2WzGrt2zvlsTopfsWH9PEK4qSx/h6ZM3uF1vubu75eL8HBLUVc1uu2a9vpWw+UIKo6qshEQMuakhm47WEjSttaYqC/reM02OwnohGyu4urri7FRiS9quo6wqEokQI/P5TH6Okk61LSyTd9iyEL+3MqQohX7wDj+OqKKAyjJNI+1+S993PHr8mGY2I0bFFLwUrymJjFxpyjoDzCZpJIQkQKm6qjNZWN+HgGaJ6WEKdyxUjrLTmK/f+6LtUOCoBxOyY8l4jGT4umfxHlJxnB8evbwP/XogBYROoKyiqRoKIwHdIUW8F9KsOkrA5NCV1D1wSmRgoo5QJHR62AX/OlXywTZ53Cw1OVrnQKp8IHv7mt/2wZpzP0E9vKkcDwLHl6zyaCzfxw9/wKHLqjIdPXiHWRzImxx9dfcy0nuAlLzX8WsnoHuZ3OFwkH+9MfcTu6+VOvcxI4evHSjHHCi1Dyf3x2764VoQv95hwv/wx399EpwwSR+BfORpSzrCUVLmH1R88723KW1J2+4za+BwpcjzmM9nbLe7LHO7n5YoZLp5efn6mMt6hKLliREPPlf1YJJ9HLQrzZcvb3j9est+GNGmyAcpBwqquuT09JTzi0f5/uPYAEsx0A6Jar6k1k58s0YRrcIPAs1ZasuzVKB1zUWwPDE1XyWIDpazU8J1zbguUU3JZ/EF19wxqZZ36rf59pMP2H9xleXZAiBMSVFUDVdXV+zajheXt5yer9hs9yxmNbu2u1cOZJVAPBxQdc7ljOID/cYH7/Kbf+kbrPeOvtvTtR3feO8NxslJfiCJ0lpub285OVkd6bY+yNSwa/f86i+/j/dOPMhaipiQEjZ7iyVvXfN3/95/ySeffMZ626FshdIGoxS73R5bFLy4vGbf9nl9GzHaEKNnOW+kCaoN1zc3KAWffPRTYgx89vlz/tnv/Stu7245XS7YrrekFBgHx5evnmNNIvxRpCw9Tx6d46aJk5ML1nc3vPPeN9hs79jttiyXc8ahZYpz/tF//d+yXCz5b/7pH4JKlE3BbDGXA+yw5+88+TXKsqVoGk6elGhb4qeBod9TTAPBI+AjrcUSBWAUKgT8MEDwKD9li4zCEAlhoq4Kur34CWdlRRhGamOwOnL7+pJCRYKaMFY8sVUROZlZjBbYUogJaxU6JJrC8Fd+49f48ssv8ePIftvS7m+o6hqfae9FUbCYz0W9FRxJK2xR4oPIR4/KMm2PXtCyLBiGLkN0BCwUMmFVHAgiayQr1VR+rmVRsm9bfBAFl2wukU8++ZhxGtGAcyOYw1okaoLoE0UjTfOT5VxasCkyjT0uSKJDTIqyrglZjqgyXMw5kX0PQ4dzjnF0zGYzClvgvMMUFltYiX/TiuBkjzdGiKyH6etx/T14xDOdWCTNsggFEiEvpzEFtCruPfz6kDkdv9YMVnCMR+RrOce5aDwWcomp74luoncT81mdfbOesR9yszifMx/sVVorTk5PWG/ujgWayVFsSsv66kPgxYsrqmbGbFZjtRb5si3zcw4YzP0uc9xgZE+eBse//tf/Pd5HrC05Pzu7z8ZVisvXr5kmx8XFBb/7u7+T4WGamBQmq37uuRgPQ9Ae9D/v5WDHr0W5pSRzd78jhpLKVLhRFIwpTJigiXEQBYxRpOTAT8TujjJ19Ls1u+0di3nNyWLO7eVLyqLkpK5Zt3tiDHgfODs7Q9uILe7zlcdxoOs6KdKCTA2LoqTvOrabNbd3t9J86Hvmsxnru+uj3/TuVpO8NDYW85qyKCEJDPT5l1+yWCwEQutHBuepipKxn3IGdJSerjbE5Ih5L57Ggc3dLdbuefrGm/TjiEqJF+OIC4rt3R2L5Zx+72m3G/q+Z2EWlKVhu+9x08gwdMyaGW6aBGhZVWit2O+33NyUR8AlStI7fHCsL19IcV+XbDd7HAmb4WmL+YyhF9Cr0wMozfLklKIoqaqaqkyUZUHfD0du0aFZcFAXkGTYIVTsmq7tGKchR5JqTk5WJC2Drf1+LwTl7ZbVakm7bzk9PeVnP/sZj588IYRA13XUdY0xApq7ubnh/Pyc4AOzZsZ2s+Xi/JxxHJnN51w8vuCTjz+WYUpWkvR9x/XVa/q2RaXE9u6OX/TxCxe2SUlxO58txGDejWgjxua7zY5umDBGc3p6wsnqQnwHbYfWlrOLM2bLBbu7NecnpxglWVKXV8959OgxzvU4PxBVIORsR4nHSLT7DUVZsVw13K03aGtIBnzfymE7e39i8KBNRrkkrFZMoxSchxBiUEyjo6kapingnKPremISr1lwnpSCZL1l74H3IpMwRcR7Kdyl0wFlURJTpKkrobe5MYcUHxY/kdgMw5hhHOKh8n4Sv1yQyKTJOTkk5jNS3dTHC+70dAlEnJ+oqtnRgzdNHX6Sm7CqCupZydBNMqnUiqKoMeWMoqyYr05kk1aJvktoHNEWBFMSTGK324M2AvXK2P0DtEslAW/UdSNT0eTx3tE0DVXV8M47ZwQf6PYddV1C9LzxxhP6fisyG52yXFeiAeRGzZLJFFE4isIwjT3WNBLo3PZU9QxTCE3y2dM3mDU17X7Dbrvj9OICtD4GznsfcU4yjYuyRCuF94GiSPgwoZTIkl3vICpKU5MyFGOaepqmQBvFMIw0zYLCGLS2WCuSZJ9pzofiVRtDygHmIUTJkkMk7CiReQkHNORzx31MgBSTQb5PmSxNugcI2Ux5fggkve80H7yq+Qj9MOfgQTErRNU/l2l7KGFSRCeFUZrgJe/QFpXEZR0Zq9mjB0fC20NP8GHSqu611lLwHSZ9csq4L27SYWL4YDJ7/Hk6S7jvq7aHE+mjNCodJpo82JLzJCNLQ3UumlM6pmdmBbIUF6Ut7uXHhybBQcOWD4uJe1rv4XV/XTKs76ewB1plus+KPBSmigykOjyfBxJlrfM1cchrzb5gpU3+qOJxMsyDnFORIpqvTQJSXpxVOjQh0rHWP6xrZM9hYRW7rufy8itSSISgSFofi1tjCuq6Zrvd3wOQDtPsfABc1AV1VXNzu8tS94eglfRQF3+89o5QMKVxAfE+Kjl0aZQ0BrRizP4gW4kPMoSQm6clXduJOqKxTIUjahiJOA3tbsM3z59xXs9Yh4lqPuP2+oZx6IkqokzJiXqHefuYp03Fy3FPinfcmVcE7dh7x08/+xRe7yi0xF3sdztImsePn4LWBKW4utvC7YZmPuNXf/kdNps9P/r4M+p6hndyOFOFOebcHhoZk/O07Z7tvucHP/opH/7gQ957601+7TvvY4yiyvYaULzxxtN8HR2uP+l8L+YzFAL4ScdG0tcn5GVR4L3nJz/9hO9//yP0h59mouuDCyY3p5PWvPHsKdevriBEVvOaX/rWu/zwBz8kRSN3vVH8/Oc/IwGLxZKisNzd3DLu9zlaQiZJrQ+YEPn408/BR4z6AqP1cQ/77g9+yjCMOZpO8+jRGX0/sL674/mrOz794oYpr6+JiDGK1WrJ6fn7NNXEr//mdyhtSVVVGDOJascNKFVSlIY+OCpdQXBEH3DDwNDtGftOJMIajJ5jioIQR/a7PWFy9F1PaTTejcxqC9FRW8X8dMWry1c0lZB/rQmUeIKTTHQVI7OyxERR/Hz5xWfMZ/McaBggyUQ+ogjxXrVRlTV4ssTZi/83HSLjJMN2nERSHpKsuz541ETOukwyAABc8BJjp5OsbwGcd0yMIpE2ee1Ok0Afhx6lZNJjLBgjGhGrIuFIDvc0dUldGoyGtutxIchKn8ojbdiFIFnmufFSlBXtfsc0iHptnBxagbcWFIxDR1EYjDYM/cSU/XXz+ZwUclQjOXor54sf1pJDPm+Mkck5eu/ovScUNhe+6uh7P6z/MQXJH35wn+iHihql8M6h8zWqyQyOEPHeSWFqFCl5ur5l7DuGfiACVd2IzzxTsH0IR6Cf1lb2w8wJUGS/bFZtTePE4AJlVRKcp+tHiS5LAaX9A96+PvryD0OWaXL82Z99yDh6yrLmV779S0eJ9TRNfPjRj9m3Ld/+9rf53b/+1/MwRdgPMfisQnmwZ2SVT3xgifm3KcIiCaJnt9+giZysnjL5SJESJkWmNKHHiC4NPliisvgQsFoLcKzbcHP1nLtnFfutZX13y+XlS87Pzxm6LTEkttsdt7e3PHv2BsMYePPtd1gslzx58gRQvHz5kotHZ8QYefz4KeM48sMffB/vJmazitdXl7T7PSTH0O8yD8RRpAI/Co27bVuKooKocKNjt5HrNSHT4bKwpOiIUSTb1hh0YfExcp9fJud5N4145+j3mwxAGpjPFjx78z0+//xzhmHLOPTM6oq6tlirROHiJ4yRs9vYd5hmzovnX4k9wWhMtsgZY3j7vXf57NOfs9tvCUGiSIesZD2wF8qqgKTEP7vdcXt7Q9AalEHrPYfTwDj0PH38Hne3n4lqLgZi8EcrSkqJvm0xRUnf90CkGzt2+w3z2ZzFbM5utxOrVAgkrRjHkeVqwXK5wBqDd47NZsMHH3xDYns6aXLN53NCCCxzJOqsmTGrZ3z044+Y13MePboAFdnvA828ZrvdUFjLo0ePePniBa9evmC5WNBUJbvthl/08YtTkV2OnZiLZ2CxOKGZzfA+ZD16np7lDv7Q9/TDQJNR8VVVUV6cs10r+n4vm7RW3N3dUBcGa+VQ59xEWRTyIWuZTl6/vuL6+jVlVed8V8X6bi1HpygG5qIs8EGCr5U5hGZ72rZFKcX5+TnTNBJjYBwH3DQSYsR7m3Xr4qONwYtZ+jC5zd61YT9Id2HWkJJsQLPZnG7fYYzOi6SmH3rUZo2xVgpP7/BxlOdeN2gtU89pGvFTTwhOADM65+9pIxeKF/R7M5sxq2tCIBfnMAwDKQrd0U0TishyOaeZ2bx5JQGzqAB4xmEPBKaxoywNYXIYUzCfFWjTkWKUqXEUOMghe6uuKgFQZJP86eKUEB3j2GGUZb/bUteBs5MTLi9fUJZSDHZ9z/nFBX3XUZQlhZfXCwo3eQpbUhSFyMiLgmY+g76nHx0xKRYnp1T1nKLUTOMaWxeMuYjXWg7x0XvZDHUkRaFEVpX8/r7viFHommVZi19Ka8ahR6kCHx1MiXGajrltQjIsMtnxwWHwML7Lk9PDYTtGqOsF1khusMrSreOES4kMSCx5uQuVpb5am+O5P5EnXocMxiQRFoei4OhhfGgvFczIcXMid4ZVlqKBxGWkB7Ep911awbHK7xXSY5EPIFJ45wis41n4vnt+KEpB3ZNTUfm6URk4dIBxcJRUJXW4mw5y5qPe7AFE6l7Ie7+dH9+Ge+DI8SsPYm6OjeZ7RcKB63sorq21pOQl7uLB434Tvx+4/nnw0de+/4HgWB3UHg+eezpEWRxioB681uOPOxbE94WjQYpgnSd/h4kyBz/toUDMZNrEA2Ly0Z+U/0WKnJ+fsJyXfPbVpcjlULTdyDDdyoQ+/93BjRyiHLx2Ua7v0U/HkXQ6yKNTYhgnSPbB67//KGWtjPdxRg9AYvnNlt+V4tc+ycNkNwRZm1OGbBz8n3VVitdKaSpViFJCW4yPPP/0c76zVlRffMn87Ud0J4aPv/wUR6I9D5gYOQuRuPuSot9yox1DU6DDQB0VA1ApTdv1zPL7bAubc6VFrXMAxaQkHrW+HfmD733Cct6QgF/65hu88fiM7/7ZT7nd7EnJ5Ncmr3ycRv5f//U/5vsf/YS+bdnvdrz7tniHmpy7+OchW4cr/2se5sNUPMtCD3/f9T1lkTO6s88yIAf8EN2Rzqq1JgTJnw4x0Q0d49RjtSIGxWZ9S2EULnoMmhTFl+pj4na9EakqmhggaonRijnixufDFjFiSCTnj8X6RCJEKcCCi/RjZHSJiKHte0KU5AJCQhuNB7Ztz3/xd/8Bq5nh/OyCDz54fO+LROxKZVXQtntmpyeQhPBLDAQ3st+u8dMkQCcFQ7fj/OKcfdex225FRtsPFMkzdnvqQuGdPEfvBhbzBqtk4qOVyH4JQWLvplGoxTFglOLVixf82m/8hkQqRYc1itOTJa9v79Akhr4l+BHvRs5WS9r9OhelWiTIPqCN7BGFNXTDiJ+kYe2DKLmkgV7jQyBEcE5URdZYyJ9zCC6rQOQsLk4GkXIWRSn7kRJVRsrpAIEJoyRDPq/8eO/k/j+mQMiZJUZFYy1GF7TbHTrbE5RSbNZriHIW1May3+1QCknRSInFfM7Yd+z2O0DR1A3BB8Y4UNiSRMSnkBvK9n6/STl3fXJM2w3RT4wqoSNYUxxuhdzA1EdSOfn+1So/93S/PscQaNuWsiyp6zrnusbjOda5CWvro9+2H3pIMLlJfldyksGscmNXK5TJlih1gLileygS9znpKkYI0tjQBFSSWDCr7LFJLM1R/eDsIYAqYyzaiG0jRInWOtKElco2rMOeIEWIFPeijjvwL9ShdfqgqA3xL+6LByXY5CZms5qiKEUJGQ1KGabJ4X3AaKEdm+Qpg4fc+Ej5M+zblo8//pgnjy6O0+yXL17StR0XFxecnpwy9D277ZbHT988ejOHYaAsC6Zp5OrqiqqqqKsZbdvSdR3tfsujC/leGbZ1xPxnEwOzusGNE8Mwsd/vqaoGa0t2u43El46OsswQTR8y/0Ti7HS2mwmrRaGTzmspmaEDu932CCcbp57N+jVuaun6XjKjjWLZLNEGdvstm90e56ej8nG7vTuyY2xZUJXS8CAe1gyPQijlHo9SBxiaXCfOTcyaOW3XElJkeXJCaQ3eR4ZpktrLBSlkY+SDDz7ghx/+CO+mY9yVtZYnT56w3++P3vW+7xkHsYhWZUlZWrbbHeePHjG5iX4cM+dIgMKPHj3ixYuXkGA2a9C2ZLFYMI4jY/7eaRLf7dWrK6pSon6qquLs7Ix9u2W321HXFd47Xrx8waOLc37lV3+Fp0/f4Ic//CHKaOpZ8xfOY/+uxy9c2J6ePWLf7nOYboEtJboBJEamyl5G7z1DNhY/ffqYYRjZbrecnZ8RvaeuGpaLJV27I3qPKQzj6FjM55SlPU51vHNYbXJHLuKdY0wwn8/RSiImFrN57ohPVOWcorD4FHPItaLvR8ZxYrFY5c6/PRbUOns/iAGFFfDBOOLz5nB4E4dcuKccaOxDQmkLUYjGLngSBqszYKtuiCni3Ejfd7hhAK2xWVrcNDP2+y3jOOKnUeRJuQAw1h6nykKUE4Jw08yxxooMLUe1WFsQrJVYIRTBy1UpC5R4ZYJ3kErGweHdwDS1krXnPToJZMTaGudHSIG+71kuV/nwf5i+iIl+t9vJDTwOIhmPkXHoBIrS1DSzipvba548fsq8KkkK+n5gt2+ZzZosufbUVS26+kbR9z11I14FU1S8evWKuq45Pb2gHwbWm61MKHLW2TRNPH78WGh+IVKWJdELpKEohLwo/uCeppEmC1oknmjFvuuoqoayLmnbFq01p+ePiDHhIzR1LcCq4LFWFh9ty+NkxFqLPgRbm4rZfIHzkeSdEDmVwlhDUlYOniEepZopyqGNnOV63GGOFZVc9+KlMXlzjvcyUeKxU3fvZH0wHbtPlcmd2NwE0PfF06GICDHigzv6artufwxBz0eEr4GSksoFUC7MD94i2YXF93x4AodCOv8YkcE+jGp4UCTHY5ojx804/8KHe/px6ncohA9l7cPcUb72c+7LYmkKiKe9KPSRtnxP5rx3eimlxFucycx//nGMBPnzf68eFrv30/VD5aY06PigEfFg+p2yTeHQDY7HiAiyJ00fSdpHUJU6HH5ipkQL9VMdG4wN3/jgLa5f32TvnhWSaC4wUAddSyJkGnNKMq1YzmdSOOyG++tLS2NCazlgl5Vg+GP687Cw++mhzoCSQ6PlCLc53JMPspbVsamiWS5XXFxcsMpQEQVUVUnTNFkKWbJev+R/9p2/wh/tXvCT9UtuuoAeNXqaMY4lQwx4lWiqircWJ/zqe2/yxR9/yOzLTynee0pz9hR0wbJ5RkfLSbQ8e/qM+amoC4qioFnM2ax3WT5/ABTmfM/ctNjuO7Sx/OiTz/ny+etjXIvKB9qY79tE4vr1NY+eXMhUzYtKh0MT6HAdZSKpSMnNUZ2Qkvghy6L8mpoA4OXVJb/3+7/P+++/z+/+td+Go4/7QEmPWc1wH4lyWG8KDbOqwJBQSaIhysIS/XC8pl08gLziA4J1IAQgS/BF3RGFGiwwB7lWYkQbI5nBRzgatG2HMYmqrGjp8/qUMlApYHOElNFCMy+rkqTSkamw3WxAz9Gmoqys3N8p0e52xHEiBcf+7pYYPCnKWq614uV+i0+Jfuhxg8RaTZPFuw6VHKSQ/X0h25SkYZmQfHpUIkRHjF5sTlphtKbb7bi9ucZaWTm0CkTXU2onjU0dqUpLch6Qvd17d4wiTCHRzGqRcJIVDSQoBQ7V1A3jOFA1NV3Xk5LO5wCdc309Lky4LME8NC+11sxmM/pefIwh+uM5xfuYYY6O+Wwu6qck6qqY5Ht9yDTiHPNhlGG336NMPqgaS9ABHwZUlIYaQFUZxkE+16aqMuBrj/MR7yY52PYdXTcwn82p6pq6qSVT3ch9Y6xMeMuy5Ob6mn6/h77DRE+vFE2SnNuUoW7k3F15v+8BTImUpZf348rDWeIA5tNH2XCODlPqGHlyONMe7GveJ4ahZTarZSKfxPKxa/coLdYk7xxh8mILUbDZ7WnbgSdnS6pmjrEWNw0s3njC00fnmKSIyXxtLzvKjPN+KlAsgaYaZXNLMoMFFcfXcMh8FatXFPWXEWUABzBQfs4+hGPz7eGu9jWmREo5G3Um0TbzCucDQzCoSoBpZWEYSTB2mDRh8eJFJ0DweOe4eb0hTCNvPHuWSfyJ15dXtPuWumqYssXr1atXKFOwOjnBWktT1zjv2Gz3WFvgpsBqtWQ2m3Fz/ZrNZoPzMn13bkJphS0sfnK0+z3OjcKNiJqu3cvZKAaJqyRSljK4cW4Uxk+UoU7wHqsqdAA/Zdim4bgOiYxZUlQOZO/d7o4YJ6xRAl4aO6rRslrOub1b0/ddvvc9Whm8n0gpZOm0Zd7MjufScOfxfoIUGfs++6ZVzpsPx89Jzsun3G42uWMRafd7ZrM58+UcM0xst2u++OILvvHNb0ok5/UVbzx7xsuXL4/Xf1EILC04jwZKayQ5xE/EWHJ6ugISi/mCtu+PfllrLVdXV9ze3lJXDfvtjrNHjwn5ucYo5/TNZsNyKZ9bDJG3334LgN1O+Ed1XbPb7ZgmmZj3fc87777LvmsZp4mqLDk7P/8LZ69/1+MXLmy9UmAtU7sHpSnJ08VSSGhGK9w0CgTEVpycnKJIFFYDlhScSGSsZr5YEFNgu9/iM6nXO48PB2KuLPxFLXJTUxTYYoHSBSEm+mHAhcB8VpNy9qrKGZ0+BPb7HeMooKaTleTEXV9fYYzmbLnIB9SI0eKRtbZgnDq6vocs92ryW6NToCgLonfUVUlKXm4GL97Ywwe1mM1kMQ0CLXLTKBdGSlTGYo0WL9RhsTl2y4TWbK0VKe/Bl5EPjRKS3lNWFX6/ybr5EhORgHTvSc6RvKMfJ0ICa8Vb4zLd1NiC4EfcNGLL6tjJ8T5QZTx58FEydkfBeEeCvJ/Z5zYNE3d3N6QUmC8akSIZw+R6qqZgsZiz3+8Zxp5KiZnfHAhtXZcLeE3b9ngXMUYzn88prM3UOZWlGDD2PWVR8nq7Y7FcELUU4zEEsEa8eVq6XAnxOqWcARyjRAM5n5jND16NhJtGoneU86V4nJOiqmd4H7OfTSTGwzjm8HBZgMZxklgloylskz1xJdZYgnfZgys3sbIFWgkuPREkYy/EYyag5FJypAtzOGIe7ZP3ldxB5nv/fTrLgh8chB+McY913/3udCQMHjZBiPisWJjXTf6nkbHrSTFIbFGWytwnmaqvQYLkF2Qfbm58HJ/D1+KNOE5n072J51jM8PCVHN4PxZ97fX/+cZj+pvvYn2ORnb5WLB0mWgeXs3jWBbqRYjz+/XGIepA6x6Ma+2sy3KNX68Gf759VnpYfp2mHQJg8OXgw/eZBcXzIPdQ5f9cPA9M4Ulal+CitUC91hpAdp/SH4vY4KD1Mf4W42bY93/v+x0zTiCnK4+T/EL8hGaD+a5Nwm/M6d7sdx85LzoI9NkxSyGoDJRC141RZqJzy+nPT4T7D5v6zPkBRjtP3eD/RyPJ650aub29lOJZinjpwvCfCNjDGEWMWvLy5pm8U+tffY/SaV9evWfYzptsNxcWKbbfn4skjvvfqM+bvX1B98Bbb3Y5iqVjugVKjR83YtjzfPKdpE49OT9nt94zek2LiyePHudDRR5n9wQ99mOqmBNtdnz1/Ok+30tEn6yaHKQr2nWT2CcjJHZUFD6+lfbujazsWiwWL+RKAttuz2Wx46823H9zrifVmzb/8V/+Sf/bP/1nOZC35K7/1W3zrm9/kyy++ImEYhp79fo82ZHp+xA9eJHbTAqY+Wy4iY7unUDAEJ/tqknVz8imnBYgV5+TkVKL6bEHbtTnbG+rC8PTxObtth/OSfHB2dko9q2hmM7788jkqQVMG3nv3XYG8xImhlyLg0eNT3nz6iKo0vHh5yX7fYVhS1w1gCQGCD+hSsd1tWa5OidGxX99RGEu7XpOGkeB6us0NWhucGyUv04hKZnCTJBMYkxvPHclNUtjrRPKy/xVWJKUpTz19OJwxHGVlZDJrLUVZcPH4nOub1yxXS/7D//Cv8/ryNavlEh9Gbm6vKcqS2WzG9dU1Xz1/nr21kcJadJ646RipjMg4i4PMPDeqqrpmej3Rdb3QjBM0s0rSG5InxHuIoiiFIjF4qrK6n9YT0SplMjzHw/FhyhczZMn5QFUVuVjMd15ml0QiwU3icQW8gjh6QoTKWlSOhBudJhLv895Totu3+BCo6ho3jhLX0o/YbBtTTSkAzIPfFi0RipPPdq6eIkV23nOrNAs8hXcQS1IIGJvPVgpUIXFWKqtNDnvooVgNXibvKXh2d3cU5+cZtCPNHZWBUeTsWlLCR1GtGaPBi4Jx9BOj89iy5KMf/Yhvvf8Bf+Uv/xbf/eM/xkfxGCkUp8sZy6bi0clMCkyticHzW7/567z/wXuyFh8j2x5ufOm4L6UoDcimKihsyWJe56YhEm9pFVYnKqvwYyfArvwa0eZrzdHog6jC4kGNct+0PuyxR8tRSozOMY5eqNBVg7YzDFr8pVpLTJipGIdJGmoxYJQwYCKesrBUpZzrt9uNxM60LfPZnNoWbO/ELqiM5uWrl5yfn7D2Q34tDbOiZDuO+X6J3FxdUlqxHW7v1vR9i4SqJ4rKZnaLXNMxBPF2p6xK8oGiMNlXHqAAkwzeeRwCYoshos1IVYgqwjthQOgoa/8UBjajByNn1pgig++z2lOSOVxuXGqtc061oipKhr6T52cVQ98dlW3bzYblcoV3jrIqs3JJ6iqtFUVZSMHuDwkhRq7x/DqXywWvXr2S6KAoBO/VaolzPU1T4Z3jo49/LCBcLZ5piS61rDdrqqpm3+1ZrBY4Z9EW+raToWEeBE37PU0zYxyEzWFtwbNnz/jss08h5/V+8cUXFM2M07MzLi4eQYKvvnrOxfljYkicX1xwc33D8+cvmM8avvHNb5ASTFkBu1wuGYaBcZq4u71lcl7AtLs9FxcXf+FE+O96/MKF7TA4SEKfHYeRsg408wXaaFYnK4a+k0VByTTUTSN91x4lDW7sBaKwWGCMTDUvgufq8qXkxqpJJrbZD1JVJUnFjE33mNKiEER+QmGLgqIqIElYfQyeyXkiENzI2LfUpcW7MXfg5ILb7LaQJ4BFbSGJrGmcpixB1oSY8B7J342D3DQpB5erhLWGFGUi+ejijKEf8F466tuNRPgYY2nqhqquKXJRO00dfbfLmb9CCO77PoMUDMMgUueYKcdKyXNJOcxYFh4BLh2gJNJJl8xcaw0aI3mTUTa8du9Ec69kYXQuYA0ZqCGd3bIswRrGUbqp292Wrt+zWq1kUhKFGNh1HRGBmaSMQLeVoL9l2jI/yp+GaWLyjhIhQK5WS4Z+4vmXL2neXDKbz+6jM1Kk63pCnMT3Fz1ERVWWeXMbiX5k6EU+1CwWEgytyLIGz263o6oqZvM5Xd6UirLGuYF+6LBKU2dQxTSOzGYL6npGUUu3UKEZp0mcsTGhTcHkRqIT/2RpLUPX5ZxEWczcIJt1XTcofZjIhVw4H/JnHkhvj7E+91Tce0Hm12XHKfuv5BGPRd/XZIlfozweMgnvo1KSkoJDP/hdEcmOLowFRPLZ1BVuqvLE4gGASR1Ltiz1OlCYD4eedP+/DDU5FLGHYiQ3rR/qhbOs9qEkWT8gKx+/7bjJK5UlXYcCmweF9oPHcVqr9IP37lDVyfthcih8yDmdh7JCZ79zVPE4+lYPS98HoK4E91Ls4/M9AKBihoNxGHXKBOLBJPsgAYtOYHhFYYjeM9zdsN1tqWcNdTPD1rWQUqsmw1tyIZQ73tLoMIfI0QeZiSl37u8zGBdVQVlIfBoxYZLK/8ZkCnk8WiKePjvj8uZWfsYDr+9hwqhj4my+IB7hdel4aNJaZ7VsOrISDtRokP+WRudINnmrA5G6Cqzv7hiHAXe3JiZzPFwdcm6rqkQX8lnuXt9xRsUiVJykiqW16HJFowtCcYqKDeUYGZNn6gfqVcWL2BKKQDmu0cpRDB49BU50IjpHoMA0FXqciJP40qqyyJmYMSsQ9LEJE4+fu0ivdRKQjEwrpTB2XnJEn739FpOTBlJhND5MPLzVQJq5H3/0Y7QyvPHGm9iioioK+q7lox9/yNMnz2SCFOQA/q/+9b/iH/yDv08/jAQf+bt/7+/y4Y8+5D/4q38VpSI//vGHPH/RMo6BwhhSGjBpoik1hampGBjpqZXkBzL1VAZ6HXFJJjFVXeGDYhgdfS+xfu+89W2eP39Ou7slhSAgOuBXvv0d/jf/2/8V/7f/+/+VH3/8EcEn3nnn23zzm+/zne98h//8P/8/EpNntVrw1//Hv8U49nTtyBefvua73/sT/sbf+G3+1t/4H+HHjn/4D/+//PijL6hsgVKZchwyhLHtUCcNMTpSEDZC5z1921GoRFOCH3cSsRID4yjXjjEaPzqwlqqYEfyIYU7nRqzVIttLksQwuum43gUvk0iXizuBenlZGXXC1obk/PEc8vjRI05PTvBx4vHjC9qh5enTp6iU+OLLL7PEUBGcQ2nZm+d1xVtvvsEPf/QhhZYjB1Eo/4lECBFrCppZxXq9ozIiSw9uIkR/XDONKUjJ4yeHnzxrt5Ypj5+y7zcJATbGo8ruuDvEiNUK7+QsdZi4KOWzCiwRfX7O1hKRwtuHRF2arJ4SqXnK2bMpST6n9z11LVPZaZro9jKBm8aOotBoNRedTIIUNSSL0Zrdbi+k2r5nHCbKFHjtHWZeUVq5F5ML+MypMNYgAcL3thZIDOMoiQxOGCEq59OKEs9BYWWfjIF236JVEoJ5SrhpkElujKiYBCA2OWl4uFHk2+NIXZacn53ym7/5a1ijcX58sB7E4yDjIPFdreYYHWU/fbDPpCyLSvEeQDmbV/wv/pf/c5l2KmjKSvaWPCX/nd/9LTkLKwVuwAeD0RnyGEM+l+cs9OAf+EckV1vnBmxUhxg9dVSPoDVlMycZUIVAXGMq0BmwGKMn6YQqLGPfUgDO9WhE/WCUYrlc8OzpEy5fvRKbYt9T2oKpHwjjKGpKragrw357w3yx4vbmKtsfJJP59eUlF6dnfPnF5wxjRwwONw6kIGBIpRTNzDJ6uR/G0XG6OmW/3zP1kxSKVrFcztltd6iQJKO5k6luzPvYwQLjx/ig8SMKOGsNuiiYxhGyhXI2r3AuSjZrjJRVzTgIlK/rWi5z6kZpS273NxijKGyZY4o2Mm32jv1+yzBOckYrDUpDcF6Ghvn1te0+R2ZKpNBut+XkZCXNkuhwbsj3pOP1tdyfZVVTlFaSTkKgKAq++OLnPH78iLKseP7yksnn6zmORBVQRmjswXvu1rf44AlBGrKHBLngA599+hl36zvefPNNxmlgmvxR4t8PIykmLs4fobU89+trafQlEuvNhtu7W1Ha+sCTJ0/54ovPCcHT7VseXVzw+vUNdV0zm81Yr9f/zvr0zz9+cY9tjFlSOqBt5G69BqX54IMPMMayvr3l8eNHWGuYpiF3rWM+90g30U1GLsBMY6zKisdPnvL8qy+x1ki4cQzoPBBKMQrISd2P351zxBQ5WS04XS1p244QfMZU94xBvD2LxYKiKFhvW1I35Awoi/Oe08WMdr8nhEhME8nDOPY531NnTbgUmSGUR4lPiJGQIn3XCyDqgZSla1v0QnT43jtOTk5lQ/Iej6LSBT6IPDnkkGwf7vNZJZ9XJkvKeNKBGOMUfT9kPLYURX7yBOfEI5M9gzEliSAI4mHVtiD6JA0HazOsJWX5joBgjDFMMVAWJUVdiVQoeJbLJSE67u5uMcZQVfVRUrBrB2xhCEkWgojExYQQc6ZioGka2r6nbVt8VTKvqgyZKDg9P0UbIdPpTA49GM1DCOhKURQmG+0Vzk2k5DEKFssV2hY08xWmqOjblqEfcE5ew2Gj1lpoesPQSwRTDCRNzt9qsbaiNtLFb2opsCfn80ZipDjJlOwQPEVZMU49JkZsWTNNg8QQOUdV10LdDeKNkGJOYCBojTGFTOB9BBPB3EtI78u/Q+l38Adl8nEugGOW6KEkW+zPe1DzDxE5dJY+cshGjZGUN69EIvmQM3XjUWKvrclkXxGo3qdrysaXHkxSD5vz1yWx91PIe+DTfeGtj8Vxun+yRz+hymHs4ptSB+n4oX+ts99IMBgZraHupfJ/Tsb8EEz18OG9pykKkRXNDqRffXzu8UiOfCDBBokFOchlOdZxX3s8bDbElPBZElXYIstp8zN+QLQOwTOOcv1WRcXUd+xfv6Db7dkBVdOgbQHacvboKcWjRwQt0jcBnnCcSKgMKTuW4kd5cMy/WXH+5KkwBvK/q8qScRikqaA0s+xFjzFw03ZU8xmVUrjgc1ZuoK5rhnESeWkIDF1gfXtLCp6zk5OcZz6CgsIWnJ2d8fr6NUkp3nn3XYZxZLWa8/bjE67u9txsWokUSxr0nH27l3U+CFwt5P5AygeLb779hCePTvjTn3zKNOz5OyffAp2YrlvmdYmyT1guFmzTKV3XcXI54SbHb8UFy2LBMI48efIWV1evCUGzXD7iZn9L1UaqnJ95eXnzwD+evja5SDHKJCpLslNuOh4AXSHHqBz+7Kee7WbDzfqSurGEQaKH6qqmGzp8jBQPpMifff4pf/RHf0Bpa87+9hluHNmt77h89ZKXXz5nGgRgs9ls+PKr53zvu3+Kcz4fuj3Pv/qU7fo167tLPv/8U5lY+J7Vosb7kRgiqpKC6WTWYNJEXSYaKxI2ixep9zZgrWZ1dsL/+j/7z3jv/ffR2vDJx5/wZ3/2A/p9y7yw9EPPOIzH+7iwJf/F/+Pvs7ltWdQnOBdJk+HyxY4//B/+K1KwFLakqc/44z/8IScnSz79+Wcs6yWr2YLbqysuX34KdPylX3uLb3/7bWJKlIXi5tXntO0ejCW6QGkM6/UdVVXRdx1jP+CnCbto0EWJLQXuV5rE5CeBWp6esdnINeamiRAnnr3xhLsf3cg6G4SMWhYF0zSxPFlycnrK9fU1wzDkIo+sDArZi2n46U9/wrNnz3jnvff56quvWNSLrNaC3/zLf5WTsxM+/ugj3vvgm/zhH39PVh6taZqGpqrZb7Z885vfou06umGiKEt+7dd+lS+ef8W+bSlMgbUl7777HlVV4qbPRG6agqgEjjB+lWNmwrGgUijGfmS5mN97M4PwJ4wx92vYwYOZxHs7DRN2Xtw3cWLEh5h9nplsnyeGknMp4C5p7onEOSnNOPZoJYdy72RSuW93kCC4xBQ9i1mFGzvZvSIka/NrikxDh/ceUmDyEy4K2XmWIiY6JB7YEbPqC5uILjAvFrlBLPudCoFut83qPlitFuz3wl/xk2PSmsIKNCtMAyElehC+yDhJYy5GUghMQ8801LI3uYlx6gnjmN+LxPn5qeyx0X9dhPQ1ve+hIfj1/rScJQLRB4y5Z18opTg/O3uw16ucsysFc52kaR+cl8847+8qRyFy/N4HkXxEiswGiSEQopCTD7aVw/VOTNmCIsqDaUyETlQAURlRc8SEMgUBQ6GSgAGNTLzFv5lYLeb0Xc84DIz9wC6mY/xUaYX8rLRifXvD69eveeONt+jbPV9++SW2LLFG8cMffF8sBoTMzBAWTVXJVHQc78/EJgNRZ82cft9Lc94IxyQFYUqMw0gM6VjYqnwGOGS56+yhBTCHM43K2dFJEVzAjxHvAiF6ZvMmk9BLaegay2a9JkWwWj7PaZqOUl6TZfIq7ykqT4AJwi6Rc7LBTyNNI/ZIY/RxCNA0Nev1Hfu2k9i2rCyahl6889YyhpYQ5HpbLRvcNLLvt5TlY4yJPHl8xudffMViMWca29yYD1S1Zug9LrTMZjPafXtU7Gy3e9584ymTc/jgxG56dsZ8PudnP/2Euvp1rm/vePL4CWVRHV/rfLHAe8+3f/mXefXypYCm+o6z01M+/PBDytJS1zX7tmWxWPDjH3/Et771LXa7HeM4/cWD3b/j8QsXts45hkETUcwWK/rhltevX2OtZb9vj/h2kyVtzk3HqAY3Tcxnc2LwtPsJjaKwAu1RRrNarei6PUVhc1dFZ59szj8zFjdNdM7nw2UUGU5cMJ/Nubu9IVSRmCLTOIrUOcv8pmmirGfUdSMZtTGK3Dlj2UMUMqzKF0HInT/vA5vNFqV8himJT5bohGqaZJE+mMdjjHRdi7Vaiuwx4641+OgYph6V30edc1Rl8UkZsiC5Ts5FmvmCMsmBzgeDGzpCTLSbLaerc1AI/GKSrrI0DZx0F50cpItauo22KER6eegcpiDTgqiOG3jwAzFWImHOE9TFQihmm82WEO7QmPz+RLq2O8qWdYTVakVZl7gQ8M6x3e4wSib7682ab773nkQgTZ7VyRKtCgFvdbJp9eOYfQYlzjt8dIzTIPr+4CSSQBuqukZnWFOKh2mkpqkKOYArJZEGWkn3PAWKwhKjYRpGXBppZnOMqY8NCe/9kXbtnacsJKKqb1sBjU0DzjuqusEWBcbKtGUaPPPFAlsYyQM0Gjd2RyiIVEX6mFdolYAlHsqOjwVc9jEd4U0p3EMoUpSfHT3j2FOWNYUVidlDH+gDrNNBmQtHqFPKUmN/lLelKMRcbY0UPEHuKasPUqkc5ZLlovfi3Qc176GoUw+mpYcvPcg0TQfQU/7qw6GzTDQPu/VDSTJHD6xO6ugbO0hd7w8HfM3bqTIJMOa4pcOU/HCISzGX/doc/Z+HJ51yHrBWKnuzcx5pyuG7h+f54DUcX/BxqCk8AGstITn6rsOaMsuA45G4CNC1O/a7HfOqZBp6us0t3XZHipHeWFImhE67DXFq0U2DqSrGlLCmwJYV2ADKYJSRQj3mBoIxxyJcKZjVDZcvX+GCJ8TA48ePxJ/kpI1xtjpjHEfx2c/mPLo44fXr17R9J55Pq7m4uODm5oayKinrmqYocP1AmiZaL4qR2ogsdbt5TYXDtxuGELh8CcYIwfInPxXvX0qRdt9htWW9ucRoqMq5ZFMeojkOnmqt+dlnL/j55y/w0TNtNyxPVvhxwHpHUxtOVyvcTU+5G4jdQLUoiMNEQ6LQjtoWcN1R7WRSrqaOei8Zp7Yxxwn7Qb6vVDx60lNMqLymeCfwnoOFpmnq7IN1jKNEKpiUWD//irHvSTjmZ2fEfieMgjTj5vqa7334IeM48s5bb9GUJT/76U/wbuLdt95lMV+gUfzZn/4pry9fESfH9//oj/nopz9h13b88Ecfstnt2O9b8UbPKjSB29srvvfdPyKECa1htZT3eb+X/O4iFcQgDSujNYu6ptLyd8MwsKiKfGiUqJff+71/yq/9+m/wN//m32J1suCXfukDvv/d73F2vuRZ9Yjb2zvWdxtp6MSRq5e3KJ2yV3fk9vaaq5sbXrx8wfsfvMt7773LBx+8w+3tDU+fPqbfj5zNT9jc3uLHgbc/eJ/TM0uYevwUUKbk9eVL0jQxXyzYDAPny3Ne7naUK8XJck7yluQUdVHT7teMXSKmQFVqSqtRukThsRbq2hKjpqkty0XD0O6prKHvRcJnrRWPL3IeKKqSoiqZvCN6l1kLhhjVkcSfEnz11VdcPHlGu29xveP25paLJ0/5p//093n77Te5urri+9//Ps4FqkpkxHAfN/Pu+++x3e754z/9U6YQsGVJ2/Wcnp5BjpVbrzfUtUB8+r5lmnqCk9hBpQ5qgfvFeTabsd/v8c4xDENe/2SNE9rwwQstFNuDyiJ4aRRL40aKHqUlvz0E8W1rLa8/KkiqYHQRxaEIEFuCNkYmTSlkcFnO37Vyn1WFUOqtVpCl6y9e35CS4jd+/ddo6pIwNly+ekVdGFqj8DMLsxnjcs5kA7U1nJ6seH1zQzOboYzEG54sZc2NXgCRrTa4/cRm2LM8OeV3/oO/yma74Uc//BCjxBddVxWzWuxr49Djp54YAqWFyQ0YbVnMak6XM05XDV3fU8zk+rCZDq/NIUP2vuF1fDyUZxzTyzlOcQ9+WZkGgz02bGWKLu9/OO5n4WAuVoddT2xoOkYGF5gmh9JawGFR1i5jhMeQVDp6bUWBlvf4CEEfWuMHBsIhIu8AqwoCPNMQkjrSmZUxmKJEZVl7GgcqDV3bUirF5m5NYSzz2ZzN3Zpoi6N/2/uQLXma2xuJDlJAaS3WGMaxz02sncT+WDl/z+dzvJec1SLT5WPMUmCjaFvJZA1BMnKDh7u7tdhBfMC7XDj6cD9MQt3D+TS5PlCijgpid7TWYqK8LwPTA3CjfP5lceDlTLjgqcs6q/3kcfC1Hvze4j5QGKtzJKKsKyGlo3rz4LE9wKekCTUePcE+JQ6nqaYuWS5mOOdo2y430sTH7/2AMYnN5pbT01MKayitJoaRGMAU8vMLoyhKQ12LBVPpA69Bhk/LxYxxmrDWslqtqKpKBo0x8pOffCJnrNwMe/LkyVGxe3t3y2w+pyhLfvLTTygKYQXVdY33jsvLS1JKfPnll6xWS4lkCpEXL17824vTf8vjFy9sp54YJoZpYrU6YVbXpBRZ392w2+6ydLSmnknubMxyTCH4KrS2GKMoy5K+71isltR1xeQm5os5xsgFbq0hIcVC0il7umL2z0mWm1YGaxQxOIwuKIqK7a6jLAuMOZjn5WZp2714VMZOyHJacXp2yqtXL/BZly8bglyk/SCTu0jAhZyKFiNaIRueFvpeqQLOwd3tmqapicDkPct6wXxZs9u2OY/VolG4cZKFT2tsKVlVxkYmF1hUC+pmJdK+GPFJZL9+chJzkRxnZ+d47+m6PVVZiuzP6AzMkry+mKTLM7mRfuplU7ZF9vsKFEKkTzr7+rI32nu6LscxFJILJ5FHQpvebjc8ffyU3V6aD8M4Mo6S7VUfSL9JSw5bUGy2knGoM66w7ydS5BiybAtL20uItgsOHyb6oWVuZqQYafe7Y4dcSMKKGIR2J9PeiLEF9WxGChGrDMNuzBm6GwqrSUEKx6pcMPRB4F3aUJQ1ZVmjjaDS3TSiiAQ/iZrAGsZhYL2+xrvAfLUS4EKE4JNIvLxIMEtrcnRRIuEZ+xZFpChnaFPlCV4GO1gL2t5rXHlQK3Eo2ETfKBbHJJIkcteOJBueLsnmxgcFYJY55/LWxCxNjnLAc95hADcN0m2MkTAOYAwqQwO0IV/rh88ze0qTeuARlQI65TzBh2TmgxdI6s9c/Kn7YlbdP9MH/y8jOX3cnL/+OBbGKWbP2QM4k/q3fd99wWtVzmDI72FUMcuEGlIIee6rjw0Bo0U2fQAbgcj1fQw5o/TgQ3rwuo8G6TyJJYJ3TG1LVJp2vxFfeo4MU0ZxcnJKXc+ErNh3dHc39MkLZGPqSSoQkyNMY+6EB8Z+zX77GluVLFcrQow08yW7biChKIqKullQFDXnjx+hF3Oh4kYPSSb8fhwptGKcvDSFpkDyUQjpSqFTILlRvPrdnuskUWTBid+yMRX4SBgdAUVUGmMLfvnb38KPA+1+y3ze0DQ1bho5OV9SGMvp2RKMpRsD227M2bccu/wHQMk0SHFqdMIo8X5FdVAdyEGJrBI3KC5Wp4SU0EVNsiVBKdrJM2VZYXNygidR1LWsu0nx7ptv8/yLL6lNQW2ErrxsZjKZyE2MFA8e6tykyRLErt0L8BCPtQW73Z5xEEmnNSJJi8Hx+vUlwXueXDzCtbcUCkJImOBQfsSGCbd1XA49f///+Xcpi4KT1YqmKtF4vAvs11u++wd/yK/8+q/xox/+kC9+9jOePnrMsG/55Gc/J6Ho1hvWm1vaviPGwPnJghAC7X4v8WxVQdKw904UR8ZSWitTNa2olaZUGlVYrNI4ndi3HX6/ZZxGuXeN4k+++8f86Mcf8rOffcKTJxJFtF7fQRSoyZPHF2x2Gx6dXbDdbUl4mrrhzTef8dWLVzTzhqvXNywXM87Pz7m8vGS5FEjKW2+9Tdv1bO82TMGxOj1hMV8Sw8D3/uQj2r2jrOa0+5bv/PK3GIJmPzq2+ytCveT9Z08Zho7JZeijUrhxxCNy7+VizunJkhADY/C8+eaz7N3dM6vnnKxW2Mkx/+B9Xt7ccHX1Gu9HxDY4Sp7x5IghMA0jOkVikAxlOVRKAeK9ZNV+9vNPMdqwn/bstjtOLs7Zbjfs29VxLGeNkYxTK1aQfhxo5jOqWcPtF1/IThICq5MTylIa/c5NhBhYnZ7w5MljjNb8m3/1L+V5jWP2x0tsVl3P6Lohw2y2uZGeC5kQZe/URv6dtRS2YDaTHMyURLJrtMEaK/8mBmmaJZkUlXWZfdcT0zhhiwJtlXg2UyLEcM92OBSzaIqiyh7XhNKVND5SxBqLmwKz+ZLPfvIJL19d0bYdjx+d8bu/+9eYVYbge9a3G4KzOFUyu1hx/uwpi/mMohGozHJWiuJPJeqm5mS1OAL2+n5EETAq0pSWbrvlB3/6fWncbbcyOZ/V7Nc3GTwVRd6tFcvVKXVV8PLVS4zSzOYVZxfnnJ2fc2EU+90+S1iz3FcbAY7F+13v0MFNiNfTHmKJ4iESMlEY8SijVba8HWw/MrDZ7rYs5guGocc5ifzx3rNYLKjrmuBDhsYdbGYBF2SiGpRhSpFoTNZBZZBbLsZ8zLaK3ISO3LMYVExoDVVVME6OaRpzrKSWKMyylu9WEKLGGUPSDs0A4x3R7Rl8pDg7FzUcibfeeZurqysiidPTUy6vrlBaMU0D3iOS+QRrf01ZVbz59lt0t2t2fY8bB7quzcOlyBQDtrDH+M6zs0fEGNlutzl+MWEKzXw5p+v7ezBWFJBi3rXluj3yHnKxrg5KbNn/fRSIVFGUTMGTnAzpnHNUVSWqzgC6NMxmS0Cxb1vOzh4JTdo5lDEQvFiijEVrS1lJmopWisIairJku909kK/fe+GtLaiqmu12e2x0SIKA2MisVuK7DYG23WVlqUepInMb5do8WNHathO7k9WkIFFUyogFMh7UZV6k2cvFUnKRtfzd69dXWFtwcrJksZjTti2r1YLJB8rSoHXBF59/JnGc08RytRCC9TCiYuDkZMn5ySnvvvMuzk1897vfo56VfOdXf4Uf/fCH3NxdU9oqNz4kOugXffzi8Cg34p3CFCU2j8/L0nD76grvE88ev0FdNRRVifOB4MXDUVbqGPouWG6XI2kiu/2evu+PBd9ut2M+n+cPApwXaUcKLtPZ9BFyoo0mEOSC9oFhnEgoqrpmGLoMjvA53NwRvHRxyrISQrvVRDflr8vBKcZESCLlk7iEdLygtNIoraXbGiOFDcznDXc317KgppJpmnAh0BjLYrmk3W0prT3ShOU9K6nrhhAjw7iTHDSlMbbEjbKBWa0FkNX3GGMYJzmUF9YyZllM09S5Q6rwbsTESFLmWAgEf5AQRmzuyk6TQ2ub5Q36azE2WseMqNfSZZqcBEgXhtVKprdlKRPVg/dG5xvITZNk/KEpbEkMiS77qwtb0sxmEBPj2LJcLKmams1uIz8vOIxRzOeNbMAo6eBM6phxKgWpAKMKWwi0zMqmnzKg6SAfJkZC7tCFEOj7CWtqmkam9n3fyWKWO6rd0NG2++xTSrRbAZppA1Ujk6mT03NiUrIpZ6+p0Ro3TjnuIjExiJStKiirClvMQEu+LRiUsZlGey8FOhSk91KlLO06yHtz/ELwIm93w0RVSEyCtgbMPUDp/iCefZWHaJDo8dMo0/gkm6SOIlFfrlbSSfchS9j8A0CUTHkX85q6VOhMhY4ZOBGU4m6zJ6TivkI/FpuHCeo9oVg/2FAPstzD9+t/i1brYdzAwZ98zNh9QMk6QFMOqon7ejfmCCSBFknciUAjDizl4/vEoTGg7+XRmY6puM+XPjZa4n2MEtlnFLyjX98S+o7N7WtUdGzurmj3G9mlYwSjGa4bTk7OJDIqTPj1XSatysHTO4m2OHh1D4oQ5wYJcb+9wlrLs6dvsbm8RGstTaBkKKoZ7dtv8t4vfYvQrMS7lYv7vttTWJ2zFWVNPvjPIki0WnJEPCjN2emS29tbKTKz947oScFhsMRpQM1KnAviLzeKpMEnKS5jFNBbSgIdssZkKV+WZkdpPlglz0nnz0mRsEpYwioJiO8gD88DjWNeNCZ7xpLGWsPjiwsur16hrM1RS8JfOPiab15dSkY1HNf0ScnBxKR0nNCK1S6w3qw5WZQQRjY3lxidpMFrDI0xeN9SlgWzmeTuKjfxxpnk9l2czlg+u2B7t6HrOh6dnXG2WrBeb1gs5gLIGAZW8wXddsf1bsOsqTg7P+OrL79iu93x8vIVP/7wQ9Tk2GqLGycKrQkhMg092/UaXRYYbRinCUWi72WvLa3NzWJRvZycnPH44hGb2zvC5ChVgUGDTkfAyeXmjqHdstluxVubggBypp7vfu+P+cYH3+RkdSJTZxTVrGI+X/DGm2/wS7/0LT765BPeeuMNHj96RAK2+47lakk/9Pz2b/82P/npz3EZvleWge22pWpmUFW88947LJc1n/zoJzR1wT/9b/4NL17cUpQVq9NTbHnKblS4pOinkdnyjKvLS7SGzWbNNHQysTpa/xOb3YZ9u2VyjvPHj7i8ujyCJbUyjNcD7m7LFANjSlR1ycnJkn4Yubg4P8YKdW0nsJu6OK6LUaRdOfIkoZRhfbeWqZESH+JXX31FM2t4dXmJUopvfetbfP75Z+w2a549e8Y0TbRty9nZGT/66Ees1xvQsJgteXX5krbbo42ibkqMNXzwwfu07Z7L/LrlIGxzA1OGAHJYNrkJ3tI0DUpbtFH0w5TZAxLRFAikmGiahhAizk9oI+RdrbRIab8mq0mUZUGIHp3CkVw8n8+5u72TYUNMVE2dIxVlkjXLQFCtpZCYnMN5R2nFq7vuO1798Ie8ePkiZ9J7/vAP/5DZrOTtN59SNWWWNEfKUgYdAY+y0lS8u7tBKUPTrFiennB2fs7z58959fIVT54+5eZmwxefv2C36/GTY5wmPv74Q9w0UWhDCAPeVwzTQD+M9IOTLF5T0DuJXZotTpk1DY+fvcXTt9/l9OyMsq5RWlFVFf/k9/67TJyXvcKlyEc/+Sn7dk9MMiCY4shqIYf5b37wPm23YZomxmmkKZvMwjBEk+iHCde3bNZrzs7Oue22eJO4vr7m7m7N6dmFUHHHllld49uBdr/n/OJUIDta4YJkDusQmTKh/KB0S0BUBo/CpwzdzEafg43lYCO0WoCIjx8/ot2PDH0vEueixFYFe5dwzkNlKJo5sR0oVQL56RS2oGkahq5ndbLi5uaGqqlRSjFM01E14L2jqStidAIM8xPaaj7/4nOmfjju7NM4UpQGY0w+146irHkQ41SWch5vu/ZoHTGFJbhA9BE/eZwTVajstfdNc+H6SJPBZNia/K4M1czpIzEGMcNnkq8xBucDisBgJ+qyoSxrFvMlzk+SZb7dYKxhPl9QlBUzJf7aaRoZxoF5KRNoAZWZHIPnj7Yv7wNau6OdIR0shZPLqiKBXSkttsKiLI4e/a7rstNNWBfDMAhE1glMrWlq+r7HKIuxWhg+6t5mJlCrKcPqAuM4stvvqRqpuebzGfP5nMvXV9zeXLOYr9is1/gQef7Vlzx5+pjlcsk0Ddzd3XB2dsazp0/p2o7z83O00tzdrZkvF4Tg2e13vPf2BUrB7e3dUXXyizx+4cK2aWoJOTYNIQqC3haaGKEsSh49esQ4TWBF+lDUFXVdcXPzOnvKXAalFFRVQd/uBWed/buHAlKkXzIlUMbKje4lDy3mg7dSiZA83bAnRYOLSXJDtGw6NntkRR4tIA+USKx8dNxtN+JNM4o0yYfmgmRcKm0EoJCLgZgP4F6Jp6PQlrIqcEPAB8fi9IR2HGUU78TrNjlPXVX4GGiHnqKwR3R8zMQyYy0+OExhsKUhs2tou454yD21mqK0+GSYvIz8TZADePCStUWKFGVNUVbit8qU2tlijlKK3WaNqSvKqhAJ7TShtaWwGuc4ZmKp7AccnWOYRpHlpBnGFlRlQ9e1xJSYzWa5W2SYponFYkGIHpcC4zBR1w3P3nyDV68SwzSRwogbHcvliqaasdvtWJYVYbMmFQXOOawuc1agwaeEtoaqaZgmR3ATxhbM5gshxaqCaRyYBimY5JCiGKYRU0j80tj3FFbIcpMXOfa8WOKix6dACgkVExWS6bfdrXn16jnL5YqqmtHM52ijWaxO0EWFLiqmQTbEqrJMXmBfRQJtCsoiS3WUIhDxSOfNhxyRYaQYOtIH78u3HMeTET2H0PTjJDB/2/G+EKKxtgarDhJdfZT6ksQTHEOiKgpSEqhYoSN+6oRaGSZcmDBJoq+k6SPNir7vKcpJfCbBs99u+U/+1n/Cs8cnxyJccv48+67lH//+v0KYtUWedOZC795Fm5srcB/pKvAitPo6POc4mSVn+qqj5yumyNAPAul6OObOE9QDaOOoY34AdDoUsqUxuYh3eVJ8kLgeJMeixohKYGESpcF9DmuSQsiNPf12z/mji+MhMev16NbXXH31GdEPIq1zO6oo4erBeZQ1TG7HbmolMk0bSiLJwuQDfQgEFZiiR2cJoHNyuCxLlQt4oRP74PBOYjzkwFfgQsfVy8/R2lOcnLM6v8DMTc6m7jE2cbKcS9QHnlljaYoGUqIxBuqGCpESu6GTKBjV5AzNksIklvOKsrQ8enRxzNouywKjYLO+4+T0BG30kTCvUAxuYnKR6CYqUxBCRGdFh0oCM6kyHNC7idIW8rn6yHy2ZBik4WeUoW97UWLMKoy2hCRXoAVuXn1F7IWeOWQYxryZMY7iaRq7VjbqKBO2sihQzpHchNGVUDJTQFvNfr9lanfcXkHfd5wuSkprWN8NDGPP8uQEbzV+GmhWC4bgsIWmrgumyRHDyNBHEp6yssQo/kZjDUVRMY4T+92GWVOQwsTYteAdsxxvUZUlz7/8krHrsSi6thXpZ5LJqi4M/ThQ50NXcF7gPjFkeXm2QUyQfKKwlvfeeovdcsH2boPb9RJHluPJlLYMXc8UHNF7/CQHR50gOU+72XB3cy1NzODY73v22x3rzYZqVvI//Jt/jbEFarnkxasXcjCzGq0Ti0VD226pa8M4QAwDQ79hHCvGcU9Tz+jHkd3zDV98/hXdvuf2ZqSwdfZyt/yz3/9nQladTUzba3S3pSw0ptAE38v7mJVVfTfgwyT096YmxMB2t2XftVL4K41KMmVPlaVQBa8vrwRsVheEJM3Rvm3xIeLGQVQ9wTGb1cJuiIGqLnNe6EiMjq7boZSmrmfUTUXX7lBE7ta3aG24OL9gNpvjxo7lck7bSlEusKYJW1rOH13QzBqev/iKkDy/+pd+hcurS+qq4Lt/8scCYdnvBWqWIvOmwRjNlCNJ3CjU52Q00yRNqfOzc7bbNcvZnENcaTCek1MB67jgcMmTtDR868JkUJdIW90oGfQqBAptmLJiI2XJ9tDuCW7EqAJS4tH5BZ999qmwG7QmxMBv/qVf5nd/93eoZ3P+z/+n/wtjP0AAP43cbrfcre8IeY/TVuOD4wc//JDN5o6T1RyMIuQ0Becd19c3bNZrdGmx1mBswU8//Tnnjx/z6NFjfvrTn7Hb7fnqxSUnJ6dcXr2WJpt3uDBJlr2OqELhk6cdnEz+3MS+6wFNaUo5iyXFfLFkPptz9ugRzWLJo2dvgLHYohAoD8Iwcc7zj//JP0E9WvDx5gWbYc+Ip6gsulQUvWF+U/CN3VukyeOGkc12w2y1IiqFQ2J4xn4kTAIMraqKMDpJntju2N7ccbI+o64bsVi93mB76LuOb3zzff723/6PGQZpdBGE/muUfKYH+XJMEBR4nyS1JN6nG2TBVwYMHixJAhndhp5xHJnPl0Tk7J+UwmmNOigIg8TGmKRISWOsZTmXyJuu67m7E2/8fr+XM800HnvjzjmapszWvo6+E0CnmyaIIpMdp0HO88kcPcpSWBas13csl4vcxJb7IZEhbNkWPo4TfrpPmAghfC314FCP2DyUkofOEEtwXpSjB/uSRjGOAhErYoHy8gaWVhJIxmHI0FlLWZZoBWUtnuDkEyEFTGlJk0SRyX4vDapDvkIIAkg9+J7vSebSgBBGUYmf7uOHhC+jc9EvxagtDFVR5ua8TPBDkEGYMRLxlZyXGUIUS9wBULbf7aTpZSKFVXjXy1k6yRqhVSSEkcJq+q6jMAVnpyvKsub19WtCmHCPHtPuW6q6Yn17x2p1wt63JBIXjx7RfdVmVUOBtfIZ7Hai4DxAvX6Rxy9c2CoFy+WS0Ud22x2Les4wjDjnqcpadOJaUYQKVUrOmoSJhxxZI1rwpqnlAp4kwynlmJ50yAnVGoMsMCk5XJooTU1VzxiG/jjFEr2/XKTWFMdOmY+ewhqUEnz8yWp11LIDTNPIZiNZvAcPgiKhk87SmZQ7HP4IdIoxipzTasbx4Ht1WFvTzOeEuGO7G1jMZwTnsr9Yc3p2xt3dreSZIV6FoigZxgETPInEcrWgaWp2uy1aK3m+VS15wYZjNJHSmsVyRZxFggsZjtTR1DWrxYJxmo5afFPYDH2qICbcODJNQWi8OmELlaXa4s/RWkz3LngpwICu7yTbKmftaWPYrtfHQPND4HLf90c5x8Gj28waFssVm80mZ5ZxlDcZ3UmGXKbPNU0j/uDgOT8/J+qE1gV1UzK5DSlJhzeESNXUhADTOOSJrSxY2+1WPF7hHgBwWKRPz04ICfqxFwloU+ei3ONjYLvbCSVRwTAOVPWCiydPGMeJm5s1QWm0tYSQOD07RWlNmSFVtigoy+YIEznkGh/Q8jGKb0QpRVXOsKW+l7DmUesDRfE97fdBVmWM8egTHccRYy11arBGPBejy8Vy9jy5fkQbQzQ606sDOkHbtyitGEchEp6dXjAMg5Dv8kTt6vYWoy0kkcxtNzdordnuOh6dSfTIzc0ttze3nJ6fyYQtBcFz6PJr3f0URJ50nJoehFmHASzynA9RTViRyNxvJIcpqgIf2G+31FV1n8VD9hDnHfHobY4PZM8poWNitWjopM2ap4gHcrFsVoFIiof3PHtUj+Tnw2cTD+NZuv2ei0cXpOSzgqFAmcjd+oph2GJSFD9ePphoW5KMRRnDfLlEaYs1lrpsZCoUR6yCubFoYxgHofKOw8R8vqAsCmKKrFYnjMMglMB5Q7mQg78tCubzhUxrMt18io44tOAWDM5zFwa8D4LrH0eGUYB4MYNDdrsdXbeXHD6tWQ5zYoj0Q09hDdscETJOE8vlktevXwjITBv8OKIVjG5gu10LwXScWMxmEq2R1TC2KEkRvA/M5zK1DN6zWixQbmQI0rF/48kjadgkAdVwumIYBrFJnGeFSM4uVUoxXyyYRsml9IsFKcHjZsZ+t6UuK5ybJHPPKLTyR4WQNjKd8MHnNUrhvRTRb7/1+Bj1EbIiBBI3r19zc3NNVdfMKmmgLhczSiOgGmu1yCudozKW83PxCBVliYuwuhDp4Pi8FTWFVHr4aWJWVbhxYnQTMUuSC20wGTiScvO13++5Xd/K11CUVpoFIcOMQt4HDiopow1h8szrhllpeXxyQn+zZrfb044Tu3Ziv2mZ1TMYW/R8TlKayhYUKat9hoHb62t2u52A8DKx18eR9VZ82+PgOD+/EIm4EX94COJB/vGPP8wd98TLl02enHY8f/4SY0uMksip6H2W903Z4xkZB7HGTFXF4BwheeYzRbu/zCqdgFIFy/mcvh+oTKRQGj9GhmGgmc0Y8zocp4gyBu8mxjFmQKFwNGxTS4HlY4bQBLnzYxLLjnPEWB4Pl+I3FM+trM+HGAzN0O85Oz3jjWeP+NM/+z6zxYKf/ey1NKDcwH6/YZwmYpqwZSIygo6cni3wPnB+cYKPI/t2KwX1vBZ5axBC9Hy5INU1z549xXvP3d2alGAYJlFHKMt8Ls3tpq4pzIVYEnzMVFtRe9V1xTiNxyxQ8W5GXD4gF4XkfFZlyeQmdtsdSWWYYY7Dmc/l3pqmUdYgFZg1JVUhww2tZar6b/7Nf8fTJ0+xeHRp0KqQa2QcsUrT1OUxskcrRWU0u9tbht0Wa4qMjYhMzt3zInROio4C0Lxe3/LzT3+Wp4CJ21vH7e0N682aEDzzpslZy4q262mzZ7QsC5pZgzZSIMRsjzHGMJvPxS8cPMMh4kYplLagDWXdYIpSvk9rPv3ic3x5xtWTQCznJK0JBpKNWG3YdyP7/WdUg8eg6Kc9VdcSCoOa14Qy4eOEdz1FWRBoGVzHGadsw5rJdCRVMDcw+T3Gt7z7+G3GYc6qabh7fU1hKyol/lRRmUn2cFLS8LLG4L07Tmk5REwe0BVBGs9RqaNker/fYzI3pK5rummi3e9RaoUpSyiKI78i5A53DFJAdW0r8TP+wKzJE07ncN5TFIe16p7sb63Y1lAw9YFxGKlULc0NN6F1JZmwWbEVMjh2HMVWd/Cxk33jwUdSUMfGuaSx3O/xIUgT/PDzDlBJcmFZFFaYPCFkhIpG5ebf4fczJYq6IIYohdjBMlgWDGGkrhtSlH9f1SWTl7qp6zu0kSnqYrE4xgAe7Dg+k9mP09NSpuB93wKyBkHMitKCvpdY1nF0x7ONUpJYEEPMUWbSRAFFky05JDBWvPGEmM+qWR4XZZ90CWlC+ykPHzwgmbebzR3GFrgp8q0PvgVKM/nIfr+l7zq+/OKLI9G5WTVUVc3Z+QU//vGP2bd75rM511fXuHHirWfvcXtzi/PS1Lm7+/8DFVm6EwELtNs74jDKBNca5rOGECXuZhxbxqGlmc1lkucGnB9xw0BdVgxdmyNJ7sGmB2aqtSXjKIv4NAj2OiX5AMQwnrtjOWvOHALlUyCGCaLOBQ8UZcVc6wxYyjJCAdQzDr109bsObbPX1KijNM8YQ1XLIicZri4v7hXjGFFTwmiLMvK7ZrM519dXxOCoK8vkRiY3MGsa6lnD7fUNKUbqRhh9RTUjJhj6tXRbh4m+G1gtV5ydnrFanXJ7vSYl2aS0liKurmu00vR9T91UtM/XTJNC6xPcQYqgE6WxVEV5DC+vmgXWKDabgDEhF/kCmLFGqHVJK0H8H6XXiSE4jJbJh1KaqixY390KIW0aKa2lKsQbUha5y7bfEYME2JeFIYZCislCurlFVdK1PU3ZcHt3w2qxYNt1splEhRsDgxqp6wo/CcFwmBy1CxQBFBZbVFK0GPHTtG3LfD4TmXESenLwER8j89kMbRvKqsne68DYt7ixI/geLYwnHj16xGKxYnSw3XVobTk5O2cKOfst+x0mL3lbWlm8C7ipPTYH/DgSYkSX5ihnGfqOqR+YzUaWJwljS3zwlJUc8g8LX0qSkfmgtEKRCNGL3FqDsop9u8Vazay2aGNFUUBEBzABtrs9TVOLfyZJNFP0nuBG9u2OGANd13O6WDJMA7qUBTmkSLu942RWs9vueOONpxTaU5nE9dUVJ4uaspQM5dl8xs3tHW6UA5JLgdoU0uU1hp+/3PJq59BG88ai5s0nSxSHrmh+nbmKTzkLVyeOcTmHh8rFb1JKoguQSBX54gHEleW0h3iMRJahZm+tn/hL3/k2L7/8CDc66nKBn0Z8imgtMk43TZRFSUiBgABivPOZCCmS5mEYjuHvs1XN7d0Vy8WcNAyUTUO722MLy5M33+DidEllNV0n+dO3t3e4ybFaLSnKgn0rio3VcsHN7Q2rcoExBmME5jarI2enp9ze3Ob3TAl8zU1oa1isFozTSFARXRjOLs64vZHf8eTZE8mr9I409oy7tche70RGONwJDGnsR8nGzof3pq6IboQU6Z2nVGcZrOaxdc00jgTvGPuBVQHTbne0VoyuzzJDcLHl7vU1KSUuZu8whSnvHaCYiCHSWAujx/qJUitKrVk0jpU2hGnP889/gtGyHjdVxWoxo7+7YzIGTMHoA//t7/9zXl6+RinDf/qf/h3+4L//A66vbyVkPjr+o//ob/LjH/+Y62uJWvg//O/+93gmjPIkZMJdWEuYJjnUGZHWxWnAaoOeBGI4OTkkaaXQpuCD997h6eOz40EnZiWO9w6jNGVZAGSFgTRxrTHs9/vcfBB+RL9e8zwEsZYkIfiqEBnbjv1uy0nT4LoWm4R0KpAhSwqReVnzZLGiROGCABDnTcUwyWQ2xCgRZ+VcmAqADxOvr69YzWdYBcWs4K3zN1lvdgxfvmC43WNUZFHVxDLhs3c4Jc0wit9wmAZUIfmRVucmgUoSHwcYA/t2K3mkxrA6OcX7ic1G7B6FEerqbrchpUTft6ToGdopU01lL08JXJhErZBju4w1xGnEGkNZWYpCMTnxEltTU5WWx08e0e47dvs9Td1Q3ljWmy2rxRznR7zzDMExnzek6ARKM03iK7WaFD3L5YLNZoPSiWkcJD7mAGTKzU+f83yVjvTTgEKmUgfP6G63FqvRNGAqg4sTk+tYns1p93t8chSN5er2Ss44OrFtt3R9n6Nx5POepoHPP/9UGsxWMixTiPg0cbe5oyor9l1OPdBynRXJUNYrhqmnH3pIievbW05PluzbFlsWYCXua3SSlTllD28zq4/E9kSgrCoSgeVqLq85KZpltvP4SFEZisJQzSzz1emRKRJToG4q5vM5z549k5iUQr7n1dU1GC0TumzRqueaZj6jrioKW+C9TGbL0mKswrsBdKSQniu2kKzSmGWSKSVcjhoap1GsYmV5JNCOg6fvhVrcdx1lXVEWBeMk2cCzpgHlsU6aXoUt8VHscs5NaAPn5+eslo/4zi//Cpth4uNPX5J0QVPXVFUJqkHpCh8h6YQvIqEQNY6ohhQlhnndkIoKW3vc5a0Q4VMkTQPzZklZlQzOMabEkBJpmqiXM/pbR6Us+IgKif12zTD12N6z8B49jixf7zGXLZc/f02JoWl7nriJO13Q5wljWdkMTk3HaEAfEx7heMhR4wBVzNT3SjENPRdnS7oosZwCVRI2QVJgiwpPggzVs7YkJiMWNWXwKXK2nPP69WvcKGvuYrUU1aIRqrbO/tBpmo4pKaYo6LsuE42NeDpPTyQyqmtJSlPkxJNxlMJxHAfGUYCYhbUoxIM7TdIYjIf0CqXxKWGtPpLvQ4pHa9RhGHYoKFM6qOvkrGILKZ9UkPdR57xhlSAGz3a7xofA+cUFJ2fnIvdWFh88fgp47bHKMvgBfUh+UJqyrLGmYBgHxnFHVRbZRlnKkOkBDfsAo0XLoEUnCC4StclMoZRtR2RV3oQzgaosCb0jobi4OJd1a7+Rz8NLsofPClRbyDBAF9IHmYLDJ48bHbNmlSFcE00j9V0MiaJq2O62vPveN2m7ntXqhMuXr1jM5ywWcn6p64qubYkxcnFxxueff8rTJ4/50Y9+xHI5p5k3XF5f8ezZG+z33ZF2/e+1sG1qKSC01hTGsN9t8MFzslqKsXzco3WDC4H9vqWuZxhrCMkTvafIOvoUI2Upm0BCZ6hRyohsmawGHyhscez2q7xAmWx4Bo4dH++FcGlMlhnmC9DEiLUCSZKOlcBsrNbYXMzG6NAUzOYzKaSDjNiNNRgj3cuY7i8MpRRFWVNVlXhvOqGNWSvT0fXdDfZsmZ/vyD4GyrKiqivafSuZbAkGF2m7nm7fcnZ6KgV6KSbpvhvY7V4yjQ6UO0YNaW1o25Y+S/yM1tgcQWRtQVnKczrIVic3UVaVhEOjcH7KN0PMPt9SZEjOiV80ysWpVSkfuJYuVN/v6fuBi/NHlEXBbhgENJGLxOVywd16TZWgaWbSsTaGuiqx1ub8QCMTxXFiNpsd3zOlEkM/MM/RTN5LDFJhbfYbOlEEzGds2z2r86fMZkvGqWW73VDlCZUUlgLcSiRikKL+5OSEceypdU1K0He9yPn8QNduMvpd5SgnRd/3+GiwRUU9q1kuV5C7igINKEgmUdUNfTeRgpNMOzdJ7qzSEuFRVFkiCm7sGfY70jShU6CoS0bn0MsTopdJvK0kngkM6RjVIs0fYzVjnihEIiF5ytKKx1ppejfIghsCyXsMsLu7I8waZrOa4CfJBnU93o9st1u5fgfpEE6dz1nOPVO7Y7eWz//RxZJXLz9jvV2z2a7p+8cURUFRFJyfnfHq9bUAtXJhpJI/Zs2+fn3LJy83BCA8OeGdp3OI033EwUEtfEQEItCqBx7dlCNXFAp0oqwsCU+K+hjBwgH+nGPFxD+iSMGjC01Sif1uy7/4l/+a27sbyQ+Nnhh6tColJsx5gYLMZtJAMCHT0gXEow8bQtcxecd8saBpGibvefvsPX726WdwekrbtSzmJVVpaOYV/X5DNw2sHp0z99Jca6oGYy3btmM+a1icLCXqKIkEq7AC8iqriroqeevNJ6J68YHVakUI0pQqigIfah49OmEcRxbLBVUp70tRFFi7FE++scxmNd4Z8P5IfPU+kk4kOstnMIY2HA/3QhqXrmoMeRPMn3MiUlhN8Bdoo5nPZjg/5XgukR4Wv/kdiWAoK7qux9qS+WyR6Y/5fsseeGMNSieUka76z3/+Fd/+zgcSW5DlUloZTk4WcrixJev1lv1uzXp9S2Ergpvo9y379QaQrEJDpN9v2WzumM9mzJqC7WaNR6JDjJqRvOf2+ga0xlYFjy4ec315fXzOT54+5suvPjtmlj55+hZlVfHRRz8CJd3x3XZHTJKLfrY6YbfZ0XUdb7zxjNvb2+zl1yxXS9Z3a1CK3XbLzetrwui4vVlTGss4DFw74SdUZcGXn31+VHvEGCU7cXIy4V6uQItPcoyefhxEVq2h7XvKUv48DiNKRYa+Z1ZWvLy8xJ+fMqsq6sJSLxoeNzI1uLm7w6oCo4tMOE5H35rzIz7IAb9uhAVxcXommZ+9yHVFEhdQymI0TGNPSnJw3e22MknOeJYD10Ipye4lgfeT+LvzsuCJjMFBFGuGipo4SaJBOw64q1dybQ/yftxs9ziEct/3PUFpHInZyZwpCvTSGEsyinYUqWlRWDbbXSamJ8Zp5Orq8tjQcW5CmeoIo7TaMLmJIasmtE4Z1BIZuw6dJOYqxAx0CZHnL15gC81ms2Hyji43cb98/jnjOFKWFS9evcxwOXP8XTEEZvNamo4R/CRSdhQEHdFRs213uHhIZRAomM8QGaWSvA8hcHKyYt1uCcFTpZRJ+5YYPZMb2XdbmuUCXdyTc0NKBOXQtsBUmu16i7aadmoJaSJqj88Dik23Fnm3UiinGDNUywTD86uvcF7iu+av5/RdJ+cMY8Szrzz1qj42dlOhiF7Wg0kFYpxIKuKnQSCM2sA0iDIrMziE8i9TSRSEFBhzkeqjxxFJhbx3B/BXTJ5yUZAKKMpCijUSRlls5mKUphDOSGm43az5+LNLPv7yJftBeC6jF2ZADJHdfkRbkY664EFF1OhRSR/tQdoU2FRgy4IwBeK2R6uCxiVsDKhNSzGBGj397YYmK+OW1YLNfoJ2pA4atx0wRUVwAuMy3cAXX33M+66GPjGiqDDUOlIngVt677GF3Jsxyvk0Ktl3UwCNF+VinmamfJ0kZA0+O1sJU+emZRz31AuZ9De2JMTpeOY0kwM/iooiMyuMtfTjwMtXL4+y0vlywWw+Z3N3y2q15PXrq6yOPMRozYTNkafj1lqapkFndcThzDz1HUU+zz5+/IjdZpsnsdLgrE0FUTMM3bF+0dpQ1w1oTRgnAWll1Sjk3Pl0v/4dfp+oHD0mnzcPqkOblDTGY8SgcJMTyr6KzGYC2RXga06giHI/DL1c01pJLJfIpQeqqhJrQRRQlajYZB+wVjJfgSMbyDmPLqTW8N5nbo8MTA68kxRjjssRJcLkPdMkFsFpcvQhx5npTFj2nqEfJX405/eSY0UlJUKiTKu6wk0iJ2efsl0UytJw9foVVbOgbTu2221+7p672xtMbkQMw0Q/DFR1eZxsKyXT7K9efEVdN3jv2R4Ve/+eC9vDmzhNE26aiDFQ1xVFYQTQEQN9t8/dTclorHVz9BCenF5gjRHJWJIbLfqQo3Xc1yAwo5Npzzg56rog4hmmFqOKTPLTGViUcKMQyay1MlUtSimQgmS6yiIm4BGtwShLXdZM4yA6dmskJ5R03CRSijnTkwxzAltWcrDS9z/LWsU0dFTLJYvZnLHbM3S9FG9VRdu2xHjI1a3ZbFv27Zbl6hxjOHZeyqqUAnpsGa73jFOelBSK2aw5aumrqmQYeqqqFpCDl0lKP3aZaOvlQoyBFMgSUwl3HsYeH/0xU7gfJiYfSSqR0Gz3O5x3rM7OIMHYd3LotwVKT8eDKFmysViscv5uxcnJKdc3dxhjqavm2KSoKiH3KRQpU/uiEh/jF8+/5K033hCpWFHJ519oqmpBVRV0XUdwEqNTGM009nJ9ZYiFnwKFsUzjxHzesN1uAbg4v5D3pO84e/ddbm5vRYYSFnRtS993ImMKATeNQrpOERcCdTNn3jTM5w0+erb7LSFPEmdNQ1WXxBTod3tChDBN9O2efhiwhchmjClwY898PqPtOvzY0e3XTKYg+IGiLLBFyXbq6due28vrA4OQul7x3q/8KmZeyRRXKy4enfGH3/05L/ZbzpYLlloJoMBYzs/P2HZycNCZnqlItPsdKYjPz0+OIqPxg3fM6orZbEbne+qiIToIk2dod8xKy+7uhovzC4auZ+xHvv+9H7DbbljOZ7z5ZsyKCc/1zWuCG/BuIgC+EkT+5DxL3fHtZWBWN8zsRHf7iqRdjlKCQMxAhOx9yR3Pg3zyMHWKQYAXRQosdUAP20z21sfr8QBFs1aWsqoQyE5Smkhi6Le4MQrOPkUKHQmxxaiOpjJ0vqOuK+ZNXrwVjJOnKEser86EyB0DXCyAxHq7ZTHLcR/9mouzGbZIFKZCm4ZpamlqDcFg7IyqgIvzBbO6wZYlMUWubl7xzW++Rwie5bKh73v2+5bLly+x1vDWW7/Eo4szgpcJVVXVIl+dRsrcAOrajvlifgS6WKvRRrFre5FG50Pf0yePmcaBmLMrt11PVc/RxQJy5NE4Ouq6kXzq4Bj6nrqsqBohXlqt6Hcb1ps1Xd+SYmSaeoZuoB16+r7LedPiMRNAhEQHeS+AP2sKvD90vRPTNDKOAg5ROVNaa83jx4/4r/7hPyJ6jxsnlosTnjx9kz/5kz/J66Xi4uIx69s9BEVIgY8++oTbu7vsRxK/9fd/8ANeXV3KNTBNfPzJJ/z+7/1jrJEc2CdPnvAr3/kO/+z3/jlJwWwx56/9td/hX/z+vxCLRN3wP/mf/m3+3/+ff3TMBP3t3/nrvPPOe/y9v/dfUh88UvnwUxYl77/zPh999BFKwXe+8x0+++znIv9LiQ8++ICrqyvatpVGcVWxmi2wSjEqAbolp6QojeGYqwiKorRoC9PosqdTgClSoMP52QmOxBQCo3OM08isaQhhQqmET4p2HHh9d0PdlJSFzYoTl2WYhtVqToyGlMwxAi2mRNSaUFWEfmJWVjRlBS7y/rvv0u13XF1HhsnRdj02syRCAp9lsSHbQ8qmRGlEpu6F+K0mxegmtDISM6Gyo0wnkgaX5H1QhUydu77nbruTAqSyuAxc666vMdrQjsMxhmY/tOisPlLBiU9/FEhbCFly5w0uBpKWXHXvJ6bcADbWyvuvJbLDhyDebxRJK3wMqJAEvqWU+CGNZQoTQfCjAmBK0mASsFefbVeBEMixQSIFDDGQ4oEhoo85rlor2nYnsX1Z2RZCYFEvcG6iG9rsEQwYa9FKzlhVXeVDakRbi1bizQ8x5Cgy2O5b+rZlsVoIkCkJOyJ6mdiO00BVF5R1gS1Mvuai8Em0ERCUD1TZmxoOsS9KII/jODAOHKdh/gh/ET+O0qIqcvk1GW0YvUQ6Ku+yASQ3MFMieZGRK6WOBccByy8UX5VzzOMD1oPCVoaitvLe5ziUgENZya6NeCYVCFFRqJJUKFIawVRoFbnZvmbKqRL7qxdoWx0BlCrnxS9WPTc3X/DDH3yX4AbC7R4GTzWr6IeOuijQ+y1O3WGqBt91sNkzaYNJIncY7lpGf0epC+wgTJpAYvAGu3d0L24otaGeoAiRMEV0ZRn7gaF16OWC7djRlCV4zzZMBA3GQq0SxsoZMU4R7YMUuVkFpYDCCKomJE885tlLsS9n2AXWyqR4GSfctGU+LynVgsFLDGYKAe0mkpNrSRUFbbvnjTeeUVcl6/WaxWKBsbJWaGuYr5Zc31wTo2QohzAxTVoaX8EBAW1UHlJpClsJBDUkyiLgfaTreqqypsvNHJn4l9LccVKA+gzJNEb2n0NdAFKDWGs4sDPHrMCB+yjDQ4SosVZo6VHi+7zWmAyVS0qjXSKUAiNUSrFYLGSAYVUudCUWcxxGZrO5WCIxkMRHvt/sjwOoannKdrO+z9I1Ek1k7YHbI9YGYwQsq3JUqUi5DwMvUf05N1Da8vi9WlvefvtddtstUx6QTNMohO0gKhlbSJJMYUQ1GnzMkDNpkGzWG4wRnkvwnqooGMNAcCNlWfPZz3+MQrgSMXm2ecDXzGY0s3nO5tW8evUCYuCnn3xMip7deiMWq9mc0WhW8xkvX73691/YDoPIVvxRI89xwurcxKyuGMaB4EXv7Vyg7fYUZUlhhGhb1bXE0Yz9sdMmoeFBOsyjO0KThAomFNYQw7Ebd0BeKxLDMIJCSMohyIE2S5QPmVtaqWxqLyREPCWqsuTm+jrLwBJl7ghpfS8hHceeEByVFcKaT+K7hZTza332g2jGvqcsS+azOdvtLWNG6ZelyAmqsspZT0u6XnDlSpuc2+TZ7feSo2vEnzO5RF2XGCvds9lshnfuKA2Rm9QxjBLjs91uKQ7wp0Ekzd040o2jdF+DYxhEojPl6bPPZLxDsHhIibqZIZalwGKxFP9sEuLjdrvDWsPZ2Zl4jvJhtG1btLFUVcV2u0OtDItyLl3hnHs7DoP4HFIUeVOKnJ2fHRcNeU+Fildl0uBuvxMvR1VJJm0MQlibyaREoej2La7QIrcYB1arlUykUJysligEM3433lC2e/HGRAHEgCxyRc5JOxAAU/Rs72643WzEg2osPsgB691330EbRVlUWFtKx00Z/DRIVu4oEvWxn6htwdDtceNA8B3Rg04jg1KUdU3XDUQfufzsS377W7+KRfHjH/6An15e8eRXf4W0aIgqYW3i9nbDetuiVc2437G53bLb7yjLgvVmC0qjQ8T3HSkEbq5fUxYCR1FJ/GAh+kzPzZkpSrFYzOXAEwMKyUQz2nB3e82uk0bBRx99yHw+40/+5I/5gz+Qe7+sKnZ9x9BKc0lZy3i7x4dA17UUKfLBswXTtOONZ894/upnMpnLDSOMZxh6hmFiNptjMgihKAUAU5SFdCGVSFFV8Mf8PK3z9N85gpcsTvH3Z0IgRqRkCRarExZNtgbkBlNVGEKWsNn/H21/+qtbmp73Yb9nWmu9w57OPufUXF3VVd1kcxA10OIgkbIzWBYdW4lhOEaQ2H+ZEQQBEscB4jjIl8BSgkiWSJFqUpyaZFd3VXWNZ97DO6zhmfLhvtfau+QPrgByCQ2WuqvO2ed913qee7iu3+Wh5omS4OaqZxgGXLB8+OGHfPbZZwzDSBNaVYQ4rHXsjwfiNHBzcwMIyf3s7Iz33vsO73/3HWI8crLpePn8CVdXO05PV2xXQgNcb7d8/eRrxqnn/fffo5bM02dP+eyzn7Hf7Xj27Gucs1xeXvDmm48JJ514c/qB6sGbQCqFXb+XjLyYOCotMuplJg3jKNaECr9780Our69puzUpV/7Ob/87vHPxCNt2kk9YC7keOb14JBFd1pDKS5rtCT4IBbaxhnHI/N/+6/8Tf/mXf0GwhpImBWbcWZHvJtwi5ip1jkFyGosSlZJclkglY0QSBvDo4SP+4f/qf8kf/P6fsN/dQik8evg6H34Y+eN/9SOJTnOeDz40TGOSeLFqOez24n27p3boh17jL2TrfHN7y/XNDacnG25ubmnbDuu8yDVnkmmM7A8HGt0o930v/tgQKKUu23IzW1sUPCZUTfFbUo1mgVbdIkkBnGJcICxVz7s5+zDXjEXuNe88OaWFGj5L0a3V5kcHllHlepvVCr9qeXWQ82oYpLnr2lZjKGTI0Y8j6/WKbr0GJ2C7SZ/r0LScnJywux0omIVfYGrFGcvGrNQ7HCBmLJbtZkPr5U5+8eoVwzBireVw7EmlLkTcWZZcUF+ud/SD3Jel3mV+V+pClb37/2eENVcoWTaBEnGyAWMkkkKLzaxFpnNGh9VSaFonUTXHoccaj7cBkJpi/tlkKx11K5IXb2Uudz45QJMJRJ01Rxmu1muMcTRtJuhwfRiHRT48092994tHcW7uvJfnKkYhoM6/zxyBNfvsUkoS8bVaM0XJrj8c92xPt+x3RwBC0+Cc5XhQyIrWRcKnyFh3L7MbBMzT95yenZFLou3uMRIMbLdbjsceTCWmSGiCEvoTpRoZoGuDmcWSuUg0Sy4UO2+eyzJ05A78T4oCzhS7SFI5pUbL6Z9f3SZqt2GhOTulrc+1yd0/V/R5qRoPqQkaVrdWxtwxGvSfqcxDVaPDlKjKqyzPLNAPUTbzmsZep1GuMY0zdMawdpUvvvgrvvryI3ItpL+6xdpItIbGS4xiMyVcgckid1mOTDnjjPrkU5Yzo21Jk2y+bKlMx5c0qeAHQwmOVbTUXnKq02HgbL0hXCSeHvdsH25ZP3jAT77+gqvjgbgKuNUtDxrxPfZ9ptpAAkx2eIVeWW9YNwFvDWMsTKmQc+Xs4pTvffcd4nTDdrOlaRp5NmPCGrCuygD95gq/3lD6CV8rpgm46qnGcDgcuL6+ZhqH5bO21rK7ucU3jq+++pq+F+veNI7kHAmNnIPz92mqIRuDxXJ1dbXkuRpjiVOkW0nTPKiicY5kTCnhbKBtW1LKS2571mzm2V/dNKJGE5aBfO4ufNNru3jQU/oGYGpezhkdOjaNbCY7HUi/9vg1xiiUclmoNVy9egWlst3aRV7snOTQ55TVxhlxznM8DnSroP5mp7WrvdeLScZ0ipEmNAzjuGymp0m2tDEmOb8RxkXOwoOYl4vCD4h6t+mgyVv17zaiUpsEPpuX/GsZRDSN8CrMHEsEtG3DG2+8xmeffS7fu5U7VmxUoty6ublVFaAXpVLb8uTrr5as7ZOTU95++23atuXTT36mTfC3++tbN7Z9fyA0srGqpuIbD04ax3E80nhkOhylwPDOS0NaK13Tsd2eUhRbvcCfKNSSwMgFhhFyl6kdFksbGvlnU8I4gzOVmiIutDSrLTkVsJbQteKlSJF4LISmvee9iPjiSFmgQsZY1psTuvWam/0tTZaDrus6hmHUiXjBGKEgElZYB3kYCU7yHqdB5KclZ7lQjCWOB0oc8UoJPDk5wat/zOohWOT0ZX/YcXp2Ttu2unmWPDJKkligUghdx4MHF0yTkMBs45liogC7m1s12ctFcjj0XFx0hLZlHEaqNfLnmUbGoZc8vigrf2ssqZYlAy9lkf/mJJi83gwcjgew8PjxIwX5DuwOtzRtQ9vJVniWJu73t7LtsRa/6nDekPPcCEDTeJk4O6H33l5fk2tms92QppEYB0rtcMHiCaRpJDdBg+fl4uv7Ae8lJ2wYjlgjz02KI44gYdjZcHF2wX63o9TM649f53jcASKTKDWy3Z7IdHMYsFTWnWw1JpWm1ZzYXb9iVDiN5HsK0Tg4w8uvP6Pr1qxWK9qmpRQYUyGPvXh8FiiSJ/a3KiWEMsol1Mco4IsqspCz01NcU/jJ04+5PL+gbC2ff/URKUwkYKyVz/400G5POJsy/uU1ph6ZpoHbfKSWzDQNrNYdY0y0TUPbtdzYkTRlarY0QYBlnTM8urxgGEe9zJ1CChIpTSoJSYxxpJBpEWL51HkMiacli1ojJZx19P3INAokzTcNU4pMQ09OkZozLp/x7NlT4vEZWYPGG69Fe5k0O7SKb8+IfL0MIrfZJymKgvOM1tJ6S9tKpEpGt0hJDj+xNeQFiGBdw2AH+n7ipz/5iQC71DdvrWV8fMnVq1ekKeGUqhxCYLPdCqG0ZC4vHvDyyQtevHwJ1jBOE+v1FoxErQzDuMiTxrHnxfOXfPXl13z11de89/67vPZL7/Lllzd88ulPOdn2PHjwgDfeCHz11Qv+6qc/5nrf81/+l/8Xyjgxjj2H4cDUD5Qi7/oPf//3+NGf/gnHYeSoW0+MxdlGC/nCu2+/yxeff0EuUsAJyTXy+PEjSsk8f/6U73/vQ370Zz+SjZhxpAp/+9f/Hm2zwvqWXAsVp6AUoa0LKMQuPiyvBb41npor+6sr3WCyUNBmsNaS/zfTqedy1M7gC/2ekvqf7UwFl0J1HCesCZyeP+Dk5JTgLOvVmvOLE979ztus1yuO/Ui7aqBmvPqc7BInJV1207RCI6/iF2yC59HDB/zOf/AfEIKjPx4ppfLB9z7kP/yPPK+uXhFC4MPvfahDvS37/Z7vfPc7/IPf+fcYY6JpO15//AZN19C0jlXbqCQ7cXV9yzHJe51K5uLslIcPznjylaxLci40znB5foo3I6ENeBc0i71gspPBDDDp+yNREyKPjDGLfDuJWXlQb6SxhtWq5fntFWOaaJ2jNI3mD8p32fe9bMXJdOs1++NR4qSaBqzFBUesmUwlqTrFGCdb06xRa0GkrWlKTLVnmjK3N3vG8chhfyQOkWA8U044A3EaIRfxMzat3A1JgCc+dPi24+Wrl4xFhjLBBSmMrJXzUcK/Md7hCkum5PF45OLyHOet+Cxr1We7MkVRbVQgGBlsp5yF7GosKQu9eL3y+medbU5Gs+ylOEupggXXeMhR33MrDVGtjFH8wEUzH0UlZQnBSgycM8t2pdRMwdL3ukE1RuN4RPFVkaGjSKHR3HKjAxM1pmv8XVS/29L0Z4nbaNtZrSHQnFIzm+1a/HEKwjk9PeVwvMUYkVMOw8iTJ+J3MwZW6w7XhLsC3UrE1uZkKwRYBow3mCyNhakVY7Nm1SrjQbPNa5UoRllaSI3gVEZZU1ZZpPxBXHAKlJdN3EKYn+0qZibRliVBgGoFyHcfMjifM0YaY21XRYo5f461KMtFh2m6JJDvwi1Dpmpk0xYad0eg1d3xzNGxRSPLFFo4N2tGOTSUip0SXRW7VggBZxNWBz39pLwGD97IYOVYJ1ExAHUYSdngQ0uZEvko0trhEJchYE6ZEDzUTOosBMNn7Dixlq/2I7fsyV2hXRU2K4uxCWcywVZycdzWxBQtuciz7YzHW/GbVtOQ6whpxFm4fHDCV1+/ZDpO5GGkcZbpeMDWLIyF3US3DtQ0kdIBYzLGtUKH9xtsGnh1dU1wlUePH3P54KHYNHJRubFXCWqVIZY2TCmnBZJZCsQolGfvPbe7/TLUOjk9YVQ7xqwqtFaaXuslvi6XQrUWH2Sh9ODiATe315g5rzolpjHirMc2ogitaEICRu7KUpd3D2M0rkqXYUverFVJcaXEwnAY2N/sBCw6jDjvGNNIimIr+eqrL2RwVTOhDctzOU5RhoDjnmorh2NP8IGuk++r7cSnKhBIT0mJoZfkC+bGM0sGt6MIOyI0tO2KWgrZGkwtkrteMjFN+i5XyhyvagMUUX3s9gex1zmpgeZB//ZkDUYGBDEnAScug15R/uQCl49eo1TLOIx4F3jw4AHjOLJaS6Z5zJnzB5d88smn9P3E9773HS4uLjg5vcBYSyqVk9Ozf/ONrfNOIADqjWyaZplmgFkibKTjz7TtCpOMTjekaKGkRUePStzwjjRPZ6lYa5Z1+xQnuraVI0VhOGRLFNeE4tkTu8NeYayCtSbJpEVkYPIl98ejAC1Ozzj2g8qCpOCKMerBqhlftQiFrEIMSV7AyjKtOh72Mr33XjJGl59ZpqlUIciFRnHkuhLw3tN1K15e3ehm2rNerxdZpaUufkGRm93hra1mFZZSefr0GV3X8uDiVGTAz56pRzdhNx5j5cX0zlG8V4+o4NBXqxXb7UaiddS7CWgwtkygVusVn3/5Jc+fvWTVtTx69IjXXnuNly9fSNNXCs5YarULWrzrOqL6+OaN/nyxztsZaw39YaBdi1a+aQIpeonTODsXKZJm8M6NTNd1ixREJt+G43EvB1kToFhilAHL0PfEaaSURNc2GFM4Dj1jlAL3eNyzPxygwna9XtQG4mH29P2BYRyXxBhjrAAVrJD+5pD3fn/DUSoRqjFS4MZBvXgS+/P89gm1QtetKClqLrIQKSV2INEfJpyfeLm7oc/X4Cph2/PodZGKGxzWZZrVyOUGcjwyDSPhpCGEga4JjMlTagJt0HNynJ42dO2ay8uH/OzTTyhpIvgVhkDTuMVLkmLBWs96teJk67k4f8Q4TVqg3QEKDoeJ292o3ruMqVbySI0lTglG2RDYavC+AWtIY+Xi5IFYaw04DN4Ytt0Jcej1ApifH5EUG2MwAdym4KyVvOa2ow2ydZs6oRAa74lJSOu5wHEYOQyRUi3GTUpir2w3HWdnJ+KL0+81xQlrDaGxkDMOWHWe777zJl+ZQo4jf/HDP+AwVZwP7Pey6Y/DUeJoJfFcZJpJLBglZY77zF/82V/y0V/+hH/5e3/Ifr9jd3NNE+Z3bsvheMB1HjrHp59+RD1KXrLxHlMKJcvmecyZOIxkI6Hp4le0pHiUorPMuXTjXTawqdo4VqGfY2lCQwheL/iOISaMEw+vcUEIq7D4loy9o1Eu/95MmraWX/jBz+NN4dmzJxITptvJmfoegkRISSbiHcHRmKp5jx2XDy54+/XX+aN/9UM++vgjHr32GOs6Vt2Gzz//Guc8v/M7v8Pp9oTXHj3GWMtu6PmVv/1rcuEfj1y9eslxv2Oz2tB0K4Zh4vz8lOvbnXAFvOfi4oKHF+dabI2UFPnBL/wCr3ZXS4Tb2euP+P6mZdTt4uNHj3jnu9/h+YvndG3LbrfjrQ++g6kGg2O72hLjyPvvvo1XiXAqmauba1JUYA2VBw8uOD094a03XycniRp6cHHOetsRmre4unrJfnfkcEjL9rdozJdEDhWc8fc23lVD6uWOyHne6ArU7HA4LCqE9WolkrtcsUoZb3xgSpnheCSu1zx8eEIcRyoCQ7q93dEPg26/xBc3F4bGGCiyEaAkiVyKI0+fPMEq9KVtWopmfHebwMGKjcjUStc0nKw7DIXtidx1scig1wZ5JtbtimGc2B8PspH0nhTlc1u3kn+ZFBzi9L4xwKQbCnl2LVYzihd/vrGklOX717s+zURT7+7IpRWsNhhVfcCH40Fo0jmrRNEujc68rWnbVsjeWeoaNKJkvZZNqbEz/K6ScrzLfq8zzb0oPd9IRuQ06l033z93f6463dFkjTVUJ0OL09NTgdHkWX4o57sUoNJUHY/H5X3MJXNzc0sphZOTLauulSWmxrJZ57QoLazXazn/tBG0mhu9SDY1BkQySBO1SBPuXVioyrMCTrbuVesj+fzvNyFFs77NwpaQxlJGLgImKxrfVqvRgcTdEloGZHcqiXmx4XTYVtSCZbBLY22XDbn8mlIrmtmGuBCx5yZ6VlvM2ezoAGmOypmVKKVKgzY/i7VIcT//b7lobreR86OkpGnuMpCJOVPNnXpQGglNp/BBFRtR6yFLiomxJLI33PYH2aSXrP5YIwNcCtiCbSqNTTQdHI4T41SxRiJcMHI3muAwTcY1E4YrPvn0z5nGkZ989COuX11h6oAxFWsr43SgZmjbxDBkDAM2R1E/1glsYbvdsNk6gpP3Jqoc/tW15NlaK1Cv0gTJYDWQs+TWy/BBImfmXmO36+/Fg2aG/ihS7qGnprwobJxzhLCi1MpqLWyJkiQNpO+lH/DJ6hDU6mCJpVHNKauXt9HPU7fH8/Og1smmacjKBvLOLbnQKSb60vP5Z5+z3myJuRAaTywSe/r+e9/hiy++4Pr6RqJHtcad7+CiZ/wcozjHpdYK4xQlarXtFvgVunldZNOI3dNQWXUdM2qzVHQIEGka2Jyc8/WTJ8tzbWylVSAq2OXPa62cA063tc5ZOf9XK8bjsCTISACFWBlyTkwxcnN9BSYorToxDgM+BB48uJAz1xrOzs4W1dWbb73F48eP2O32tG3LZrv9HyfuZ85PFF9lp1NMwVDPmUpmyaMtGJMF2FQqNWeVlsn0XDKgMljxERb9NZZpn0ngKjVm+rGnbSQIuuSIQaZlaRp0OgpxEo25cXZBed8hwKtOSSUTchh6Xr58IRLhtl0OLbnAAs4JjKnvB/G+JNmyDf3IatVicOQYcdbg9JKbH6YmNIw5C4Z7GCTiIUViSeQIznlinKBKXmN3esLt7S3DMLHZbFh3DSE0pDxiEchI8CKRqFT6QYKMH15eiv/VBR4+fMjL58+xds2UxYsTc6EfxiUCZW5eZ13+OI4UJSJrrgmhDVjnyKOEtkvYdMJN8Pz5c5yz4kXcrCUeZL/DEthuBQoTdVNv9SGdpmGZTMeUGMdePQ4ClrIWTLUE39Afe4ZmINfCer3Ce9n2otsfaxyH3TUlF87PzvC20qdIWLW0K8/u9oacEv3BUErCW3j29AmHw4HjMGgzUBiOB6ZR6Nq72502CBPr9QpjHDc3t/hGYFdd1+GsoWbxAaacxRhfHAah7TVtS9bNsTWJVRB/9jBNOAQGEhykAnEqVCMeH/HjOtomsNmsMJfnbLcb1qtWLk5r6IxnigIEsa4SrOdmN5FjxhrJ7rwdR6YYhUabCz4Euq5dLt0Xz5/T74WM6X3DbrfDuLtstlImbTzMkmc8+0aYL+XZk6QDoiVWB/FOWwqmWhpj2HaOJljdIlZK0Uw4H1iv1wRrOT05YeqDTDsdtK2naR2Tbm6D8wTrxRrg/TJQiynqxD1jnGEYI/udNJvDNPD5V8+53R2wRqTrNji6VcfVzZXA0lZOpPs1k/KEqZnWWTZdx4ff/Q5vPLrkrHOk6cCf/vktq9Up7XbLq2uJMAhB3uXVekXJWabzpuIbCXgXQEhhtZLM51VXON0+4MmTrzkce37jN/42f/XRRxxjT7Xw4HxLNHsO/YCrVrfo4V7cgYBPjK+s1i0pFykUqsC0jDPcHvb0g+Rtd13Ddis+3rPTMy4vL/nez/2A73z3ewq9W/GHf/SvaLoV1ciAYN6gt02L83JhWiOwD5F6qa/GVLKD3/it3+Dv/NZv8tMf/5gXL5/x5OunKr+VR04ZF7TNSoeZ41IgotPs4D2//W//Nv2459MvPuG11x5TquPTTz+TbRGVf/SP/hGvPX7M//Tf/nd4fPmQz//yx1K4FwEAphr55V/+RR5cXDLFyHEYmEriZn/Lz//g5xiHgTdef53f/LVf4yc//pHk68WRz3/yEde7a54/f85ut+O1x4+pJXNzI1Epb771Js47bm9u+et//a/zxU9+wsc//TEhSOHwxlvv8t773+Nsu6E/HCTXWXkOwa8WMIcPHmsMp9sTDvtbTIWuFaDci5fPeHX1irbp8L4QVoHxKKqdJqzE6zjJdihlAZtZq5tc3WI55zRqQs6b4BxeZbdN6OjLSKGSjGG9ajk/O2UNnG42PD45Zdt2HKbIeBxEaTFGldB1pCSFN045nVnBbFi2JyfSOJfC7e0tm+1aqLrDSNc2nG5XOOcJN3IHXd/uoRbOLy7oj3spNr0MMlfrjmGKbNZbhkmsAgXZaAVj5PedMtnKvbzb37JabXBGzt+sTV7JUvAGjQqsNZOKwOOMM9hk8MaJlDFnjNqTZCBTFhVK064oOcndnAs+NBhvBKwY71gdPgTaTmK2ppQkOiilRfLuXMB6S+uCgABVUptLxgRLNpVgZUOfqOTMMkA0iEdRIC538Mqu61QqmGgaaeTjFGm6htv9Lev1WmjKWousQ4MpLFLFq6sriQvS+JU4Ri7OL2TbVCsmA+qrtBiqESmhdaLU24SNSogFyDk30NJ8oHmZBWcczkhsW63gnGRk1po1Eq8qE6ABI02jyJnr4mOfo0VSEshTdfdIg/WugV2Uf3c22wV2NGeOy78m9N9as3if1dZmtEivJWvhrraCapThkJbG0gfZZntjxUdZpJMWu5Ujq3Sz5rIM8mspMgyvFVNm+49s9b2S28lW6YfzFtlQosRCikQ7znREEiK3b52npEyeJkzwOAde1XtU8YqXotm1zkpsTzYLpFA+LAEAbtaGptG4TZW31iqALe8qzhasyexvxSs/Hq4Zh5FUCk11kBOHF19wSkt4dcBGAR2aAnWskCZqyQx9wtRGLHy18PnXX1BzJY2JZmgoNXHs90CHd5Jh3IZuyR1OReP5qvAgYky0Grko9PAokDHtAFMu0giNE9MoVH5jMt5UIkmVSenO+52SAiO/GalzXzZtjJHP1NpFCk+ptKGR6KO+Fz+384TQst9fEUJgHBMxFrH41cyqu6TvI48ePuZ4HHnttbcka9aIktPaQCkSnWmsoaktr66uMNglyi34RoCEJyfUWnn54jnBhaWhne0rszVoJvfPf5ZhkKjOpmlomo7bm1ucNRplpJBJ5xfVz3q9ptbKZrPm5uZafg/1PYvNUTe+xmnUmEAmD4e91MZUbl69AONF7YZh6I9897sfcDzsRYrstlxcnFOqAGmPxz1ffjlSCrzxxhvCUPofJ8fWLAfaPMmfXwRqoVEZ0DT7qIoi8clQI8dD1BzBsKy6Y5RJaq558XbMkiyjW9BxEB9X2wmdawYtzNueOAwau5OWHCzJX3VKy5OpmnwwSbeg+2/82XLOoL6RufmbN7c5pwWWVXImaVNjzLyNRA/itGjMveZdTeOEDQ6rHrOmDVzfTEuD0LUd7cOWjz/+hH0pPLp8l+ubK5Ex6Et2nI7qg5IQ5DhNPHr4UC6r9VrJZifEKUoeIwLoqMtWtarZ3GmGWKTvC6ZrsSaoD6tbXtxaJcx+nng2TaOT2UrfH8k5cXl5ucQPeJ3ejKOs5kKMFIVUUFGSm9N8SOTgShFb5XtqmxYqIjduhJQmEnQZcsQYqbbIi5cjfX+gbWTzaEwmpQFICkYYyLngXcPtzTVTTBgrEjSDyFdTEuR7cOKBNsYrgGjUZ/tO5mSNEfk4s79TBik+NBLXU9WyW4o2BPJ7hODxGKzzMqGbBNXuGofxbiF3SgElnwM4hl4kLlhDIVAI0tAcK01wpNwSsyUdKyHIBWisQpMaaULXqzP2+71EvAwDtch0d+h7Vps1xsqhVLJ4zGacsPdm8abHmO4Cye0ERiKR0hSxmoUm3lzx0nVNw8MH5zw8X3Gy3Qi0pAjhu5RKq4TsruloQmB/XdluWnKurFYrmsYwRZmmz2TraRzpTMcYhSS9P+6ppdJ2a/IEKWamKMVHToVV54jZ0DYN1gaRcgZPQejsMQvcJTSVdmV4fHnJ+WZLGgesm9jtn1NNYXPS8d53v0M1D3j3+9/jv/qv/q94H0hxAguH47iobCvAVLBWoxOAOkaK8fh2Rbda8fhNgT+1mxOapuMYj7TOs9puiKYyRomIWkKMMeoNEylt0fxUa2RiWvIMlxF/e8XQtN1yRjvr+N/9Z/8ZodGILSteRMj8yr/1b9GtT+mHEWISwmgpMjg69ov6whgrQAuTFjqmD56nT25pnOX997/DZ59/uvh7DJKdezj0lFx5440V1plvnLGzl1I8hRVrOmrx1BrY7W65unpFCGvx9MVIfzzy7NlTPnj/PR0a5IWWLdtfUah0q5Z+7HEWhuOeLz4T2uzJasVq1fD666/z/MUzTK2UGOlC4NHlAw63t3z+2c94/bVHWAP7w56fffKJDPgMXL16LgNTC1TNe1RYU866eVOAjTV32Y6rbqUST5HXU6E/iJ/RZcswjJxst3JWes+qWzG4wMsX15KVbqyS7aXNwN7dvUbBhqUUseY4R7sKnJg116+uZdiGqCamkjE2c77ecLZa8+h0S9c1tE0gWPHIYi3xkFS2VphyXIpfo1Tquy2CTPm9d+q9gqHvMdawPVnTNg1n2xNRHEyRy82WncKJXl29YrcXMnLTNlzfXOtGp/IyvWTXH5fMVFFCSTTc7Gs7HntRv+g2HmQoTpZsS2sla1zUNzKUqSqrw0kzETpRAM1kUdkSylDXObnz50gMTFm2D069aqVCsCKBFippXTgh6KsbfOCYR824lYxY8W5n2aBOWQpy3eRaKiZYpqQFW63Lu1LvbYScl0Hr8XBcMi6d+jZnj3BQCfr8OdZSmVSmeH1zw2rdLrXN6ekZq3Un4YeqCED9zeJNljpPmv4ov04bljMG7uTTxhhiKss2NJeCs/c2X/NnpPAqa51yP/JCe805Y41fZMrWGdmQ62a+qCQblf7W+RwQL9byfsi2WZsThTot0ZJI7VGM7EbnvEnjxPxX6l2UyPydGj2PZ89fMSKbtvPWCqknSq7qz55hRHc1oTWGnJTYb6tK+wMmlqUOwVTNe9XVMyK9LfdkziklqmavJrUDtU2g7ea19V3EXZ79ucYp02YSyJkODoyqaJog6sspCq88K7hr/pPPG22qMDjEy560YUrkNOm7Z8njFTUnWW6p9Nwo+TxmIeyOU+Tlq5fLEmjVdqQSKVUaVZbvmoUeHidhy/hgFyXj7O2WDNv578sCJLPZcLjZyTJCoWQlqypULQrXV1fL84MqNefnaOl5tDmcpmlRHXjrl+VZVe7CYb9XsKzcn1fXV4zjKN9ZrdqoDoTgOBz25JTY7/ekVHjnnQecnZ0zTD23u1uxdnkvQ3PvGUeJJUPp1FD1DL1Z7BeHw4FVd7a8kxIdaNVLW7ROlzgggX9m2lY2wOOobIHZuhkn2qZZYL6ST5skorKROk58u1oB6SB3ipFXL18uqSfTFNntdqQ8ERRwVbLcM7XAbnfLMA6cnp9BTOx2O7788kuMgZOTLe+99x6/+7u/y3Z7wvvffZ+bm5sFvPht/vr/Y2NrVb7LMs2f/+DOeZqmVSmqfDiVgqkGZw0l6zTF3W2+SioLZGmmnJpZKlKFFOwwd+HHUwQj29SYIiGs6bqWm9tb2hC0cJLf01tD44WOavSQ8K5Fsp7Fiyb0xLIcRIaCqdLgligy43GcSDESnEzenMoFpFEU031oOwlQnqal4ZamVfK3nEILjBW/o7EF76AJjsYb9rsDjx6c8/LlSw67HUlJ0NZKnljVF9k7w6ptSOPI+mxF1wS8qQz9nq5ryWXPcDiIT6gIMdhUAQKZWvC2ISOTG+8kD7GYhLNQiwwanLGMU48lExyE4Bbaqdc4mt3uwDAmjDU8fvyYGEcyhlyNmvjvvCgxRigV3yqYIsp3OI6DyOY6KYi6tuXVfs/xmHn8+DWubm4FbpILIThSHIRGbWRb6Yxn1QaJKxiiouWVem1l8yS0aaFe39wMMqUvBefEl7lqGj3TFOygvuzd/shxv2fz+PGyLe66jm5l5ttJCdZp8cRY66i+0KwaYpStIzgq4jMXeFmDCw256MagjEIPjQVIVEaZ+i9QC/lM5aAdMZvClA9MOWIxWNvg3XI/a/4w9MdXGFPwbiS7gdpEUu7VIaQgn5LV/zAtwJBpmmTbWwRsE0K7SO1rkQmgIVILuLZZsnsvLrcE6zg9P8G0gcmBN4amW3G12zFNkVElZ7XuqKVwHI60+47gA+bGUJLIVWoRqVY1MpyRWBiZVsuBWDHW0w+THLDjxJSSEKQRCEvwafH3e+8ZY2K9WXMYxCOy3awYjeQLPz0e6A97hqln0zaaN+jZnj7i+csdxiiEpxpKNdTiKKMu5vSSKerBmcF2Ugo5DE4HKw3ff+/naNo1bbeiGwMPzs4436443lyx2++5vYnq/6/LFBmjkrrCPTCW/D5/7+/9TzgcIykXzs5O2W638p0m+V5Xmy39ODH0PYPGhDx8cMbxeODF1TVdt6bvB21WWpUqe91sSCPt562GNhinJxt++pOfcrJq+OVf+gVur6/UievI2fDRTz7l00+/4OzsnC+//ppf/ms/J/mmS6OkYJiiUU5Y0lgxVTy8BZGPxpSgFOI4cntzTSmJtvUcj5P6eeXXMMYwTD2rdYszldcfn8MvfKC2hxXBRf78T/+I3/y7f5evn36FdV68diXRBc+brz3ipx9/zFdfPcHrtjrFwsOHHf3hS376499nHAvOidTWEDB4Mp4xVpxxVBSgYqVQDM6xalvJEM+Fw+7AzfVOwX2GdbtiNXZg5X3wwS8gwBACqdTl/a5YvG9kW6EDQeM8JUdiyVzdXtOuAhfdCedna9rg2V3fYlKmsY4mOC7Wa7bbNV1ocB5yiRQCIVjOTs91214pUQrSOO7BOJxvhLRuNGFeoVj740B1MiSyRqIoTk82sjVzsBv2YikJhvW2Y3O65mc/+4z16ZZsBFoy1ZFcLT40UAr741Elu5YpF1zowMjvH8KarHLq9aqVO9oYiQZTurZxRmjhSOO/WgkNeFRZf5oylIxzhqYLHA493XpFSpFxEhJut2q0CAXjHLZWgndy9mQBW4Jssj0ix5VhODjrqabgdbM7TiOn5pQpD3QGmiDRdSVliWeJEdtYbJWNeCnyXqcpKkBKvbb1buOCygBTihyPB5Fvd602aQoTi5KccLpdK022UnCM/aBpEEjcmUWsQCaKxco0MkjRDe8Mk2nDJMPeBe5lMN7J85IzU74D6BjrwCYZiEZYdQZrZctmcmFKk96lhqCqppQyIRgMGW9lM15nj2kRL6UzEgGXpgQ+gBHJb15k116j49QLWcErDV5+HSXbVYs1sqVMMWmM3Hw06Z+voPfIXW60xWHvPWsFXRYgA+1JYafezJAhkdDapccUhZFKLciVZZNrrVd6s2zr5O6zdw2yMYBsh513GnU3Z74X2tbTNlY+55IJ1jD1E01osVSGLEuctgva4EgkpjEy8BUvNzhraLwMJ4pu0ZkXNrMNZaZSq4KupESOotJbrdYYJnJJ5ElUSyY0OvC0AsHKhWwjNUecEXBb166xAabY60LIU4whRWnklhgnlccmTU7wGull5jgbUzAUmuAY+pGa5Lul4e7XyFW84QU8TlI2ShJ5cxHKr7Pi1Z8TW+Z3bo74mcGBMSfIyAAdo++XIfigaqLKMA5qg5j7jJ7r2x7feOxBiraX168kGzz23N7cSI1yOEh/UQrOGc67c9K0p3GO4yA1c1h1tN0aexy5ublZYjKPx5HVqiPGEWcMOcqA8BiPpJRpNi2lGg69wKuwMA6RmPPCy5jVnE2w+nMPqsqViDNntQTWs9wYGTA3viUHgY117YpxFMDmuuvw3tA0lu3JipvrI1RDygJ1HaaBV1evRM2nz6QM0S2ffPYxx+nI1VfX3Oxu2O93Sy78v9HGdt5i3t7ecnFxof9dXaaaMSZiilhvlDYm0pQ5S0lomCJrc9YJOS5nzVoN6i+Rabw+mmy2Is2iWs1Xc3hvGYZErRFoaTTnSTyuEZwSJ/08mWLZLMjEAXKdsFbkRjllJXYmSlOpWR5uq5eM/PlkEpI0DLlpwkJdnjd8sr1OGl0ga3qh94pM1Jk5f8vStoHLy3O22xW1TBiTePz4gtvdNSkmTi8ucN6RxkGbfAFOjClJVMvhoDJqo9JQIc8djweaTiBLq65j7AeZTjtDaMJCcRO6mEgx+r6Xqc++p21bupXn/OIhwzix2x3IWfzRMiG1d0jwWvn8iy84OzuBIjFQ84vchLB4QMZJpCBt1y70tf4g8tl1u1LZg+Ps/JzPv/yCauDm5nYxqVsrMqb9fieb6TjRtQ0xCrhIYAN3BNF54haasHgri2b9zkDEeXI5f2/OCX5GNpaGKUy66TdU4xlipmtbmrbjOGlnk4se9EU8olXImgXxSuZksE6ezdB48UAyYmylpJFSxfeUa8IUi6stWE/KcSHLOh+Wie00TkzxoM+gYxgM1tyR+qxrsc4xTsc7UmsZwWZciGBH8VhG2RZksoCVVJ6Sh8wQj7KatfLMGp2aV/UExSJFgU2RYCSt28QBV+HzVy/k4rSy+QeYpqT5bH6Z9KMSy3kbY+aIhqz0c+ukUFZbwhQjWQnb8/c7f98LqEh97cZYiAJfA9mImSogGO+9TpulKNrt9tSSaJvA9c01e9mPUYvlf/63fovPv/xn/PAP/gXdqsOkQkyVnBCZtbUL5GSeIBtzl8Nrddpr1NByefmIm5sbRqVC5lwY+pGmbfngg+/y6adfCLiu6K+vt4d485CJaSw6YZ34oz/6Qz784OdxxhC8I3jJem28Z7vZzKE3/NP/7p/yxeef8v3vfcj/5j/9X/Pf/ZP/Lz/+y58wjiO/+qt/jQcPHvD//me/x25/4PHrr2HVYymyX6WZGii58MEHHzL2R95/53WmaWSa1LdtrEA+2pYHl5f8+q//Bm1j6YdrKYRVIjdvAJatjG6j5qm4tYZxHLm+vl6UA8fjgRgjJ2dbjseDNshVYIPIz5pzoutazk9P2W7WC6PAWcv1zRUvXrzg0eNHXF+9UiuhfElnZ2e8+cYbfP30OScnJ7z55pv80R/9kN0+8s5b51xf3XI8RpogZOqrV3t+8sm/5E//4mP6w56LszWu6oTcOvXqFGrOfP3VV3RBNtGlZHzwNI34j71zxJwptZCzWgmqYXuyJSXDYbfTDMbC6r4/UocO1hqmLNubbiUZ6U3TUIul90dqlMK5bVvOzudINquviFhgJHKmaOaxp1bwzjPVEWeVNpEKscjQiFqFxzD2jHEkpkQXnEBHpkl/NhlMr7ebJclgs12LB/h4pNpKaBqlQMumUHyhcHpyQqmV/bHXGJCyNE0lz9FxSuVVf3HVM2CJwfBOpbsFU8zyTqJFuRC5Wc6PpFnyThUv0hxGkf1OAoacfW7zMzaOkyhK5mjCeaOObLSHYWB7ckKMqmzRu8g7y/VuL/7bVUNKFWvVfqXeZIngyXfR3k75BXNTUTPdumOaJqx1PHr0iFe31+LnVAmtRARKXNpxGGhtYH97u2xYzs/Pic/HxRowD62WjWARgJxEGcpdtNlsMNZJ7N2/VhMun7G1OO+Z+l7fSWWG6EBghjZZpzLOMlu/vJ71d2wRpyqtORe3lKIbfO5+HWPl35M/BfPYVdaULDTk+X/HIEqpWihuxjfrHaP/jOR0mmXTKxY6iY6aeQ9VGRNF/bnzsyee9kLWOMxGgXEGiWBzc22SJB4q4MA4YpKhrQwy7fI96gchd2Epi8S11kI10DQdXSvLnJwy4zjhQ2CaMjnK34tKTeO3SiROSTelLS1GgKhZFjvWQWsdJhVchalUbebVllTnz7yqQuVOovuvb4vn5wJlLkxxYsqJOEZNlJhrZ9my1pI161vAZLOXdAZ6yfNS9D3MqIRO63L5Hp13tKFjGidZ4OS8WBTQdz7lpN+Z014gKPVcapF5CHt/mDRL3IV3My1kYBB7nZ+jporK5FVG70NQtWhZ1FdmUeEI0T+VzBQj43hknEZubu3ygo1TIljHfmeIcdTPopCz1E43tzeafjAwDEdyztzeyFC71qz1vTTowyCNrGyki4I0558JDioFlvijvPiLSy3kkvRFaXTB1S0KC/mMwdlM8rLNffzoIZvNhlqTKiNFEWgsamG0xDGJNN5JXrtzVjgFpXJzfUOlcnp2yscffyyw0JTh9ITVuuPBgwffplWV7+Db/oPTlJYA4JubKzabEwk5rlamhU4aEIrIbmOMEKBaq3E9RuiXGXzTaLGYJZPTO6pFp+0GQxD5xsphnGMcxS/qXSeSFSwpiT/GB4+xhhAcq1VLinmJ56g1S5FZlcBnLLVEKaKr4qyLFNW+aagGwipgg+jQpZBwtG1YmrIZMz57UGMcqU68PY13KsdJ2kgZvLNMSdb/h+PA6ckDcnrJdrvBWLBemiwXLO9/8B5Pvn5C3x947bXXGI16iYDVquP2+povvvic1WrD+fk5TSPh8bPESjxthrZpRXI8HmUa4oJsLJxMPIc40bWeog/xlBLXtzc8eHDJ9mStwIpE2wWOB4E07XYHVt1a/TEwxpEQPLe3ey7Oz/Wllg2xAHE0x69kvPELxGKWRRgj8p9jf5SD2MDZxSVPn70Ao6HTLoB1xDhysz+w2p7QWqfFoIBkrDYZKWdSrgrpClT9WaZpVG+f0OTSkHG5UJxdDqI8TewPI23bqbyvlVB4jVsoSV7yYjJTHJaJ/bpbIWNY2STHeJTnTH1FlZ71ZkvXNFjd8g3DwDg6UrRMKWNcoloLzhHLwJSjUPpKYUryNpyenAhh2U9YEj5onqKRBhULU50oU5EYBScZg9EVioFsHAMJNx/WRS6iEpfkz3vgmJlqm6ipLFuEokRAyXWtpLHoYW4Urla0OJBGU2RZXqbVmiPJHG8SRR5UkcKtZCV/azFjdZBUk1xoWEMsacHzZ5U4NU0rEtOcNd5YJvXOGp1SS7O7O+w1v87y8uoVOSfWXcfF2QXbrsUZWKuvenc44h2cnm756ulz2kbitm72I0PJOCx3VzgLQO++jKlqU2sMDP3I/lYIslYBYre7W25ixNbC48ePODk9JaZX8tHlokWRwWOo1jEVGPpBbRSG426Ht5WudZKxbYRe/ODijLPtKZtuxc8++5zjfkdwleP1c778+FP+9Pf+BT/3i7/M9vSUv/Obv86HH37A2fkDfvrTTzk5O1PvmRRrEhKv9OoK7737Lj/60Z/y7rvf4cnXX8rzYIRWmICffvIxzlo+/+JjvvrqC/7aX/tFfHBSTCgAoyz+bJbG9u6veUNVVEIn1PZhGDi/POfp06dil9N/eo7iSClzfnZBf+yp1WDNnY3DWvjk00/41V/9m/zuP/9n+OCg6PbbOR48uOTqds9uJ9Pg1WrFcRf5/LMbvJVIi+oKq27Fw++/zQ//8P9B091yeXlB13WUOJJLJbgGYx2eDHliOByoOdOuGgpp8fJVjQ3LSRo/gYNIeOSYRsaxQJCfbxomCiuqydIIZi0mvUAE19sNZxfnrFedbhV6CpVSwVvJBI8lgZNnBOewxtKEIN7SOHEcel5cv+T5i5fkWDnbbpWJIOCTrFCbWkSFFWsiq8e9Ugiu4eLsXIj23vPy6hVXL19y7I9c/WxHypVuvSYtBd6dvHImms6AoZiyWh4MKSaxXqSMbUSJ0q1WOgyQAfcMWpqjdGaYydgP+FWLVwuI0SYha45lcJ7DbifSx1pkIBmzypOFDeHV1y+AtIpzDSCD8XEcWK1WGAPHfa9NoWzDZrn0FCe18FS1NEn0jnMesJQ5BMIJ8LKaqnBBjZ5x0ri5VlUhFEWSyLZpGCO7/QBFMiajEuy32y0319dcXFwImDEn1uuO3W6PUVL0MlBEmvYSo2yrUtHzV3zwFEPrO3kPVbVFsFKzaPNljcUbt3wv0zBycnIiTVEWUKJV0nXbtbgg0uBiKtiMMfJ7iqR3ksgS3RhLBJbc7dLcVN18auM6K+Gq+B6LnSO05tgfp9zisjSxeZa365Z2PrMXF8g99c0cSBacnEXWeXKUHFjU1+mcDJ5jrsuQtpRMLOrNtdyD+xmF5Ig8WGBZZqFxF1kELgwLZy01FW3aWYYpxll8EEncNEXNPtUs+BzIVWwrbdMuELAc5/dZPlPrDDZIjeSURm4wBKcS+SI1YYqamFFk+2qDJRSLM3KmZOtU7i1ncnVWM6hVeVQyTWtJxnAYJla+E6l6E4g54pTBUajk6sip0AZPLeYucsZYPddhGEa8EQbKDFuy+tnHOKl+SKCGcdI8ZOcWa6T1QfzLBk2DKIu/O9eiKQF3jXlKacnCnmX/qNRXhk0sd7/890aVV3q+VfHWWiMWKTQFAIqkx1RI00SJCd80ojTLWZYmxjAOvdhcTJXM4SpRlVPswRS6VaNxqYlYoiRM6CLMmKrshEgpbokOW60aQmO19soc+4G2tIvVbr1ey/Oo74U14qEPQT5jkS0rNK5mxrHHWIHq1ZK5vb2W7X2tXN1cU2vBNY7dfsc4SaKMwbHqtpSaefLka05PT1hvTvjii8+5vLxge7Jmfd3Qecf17Q0lDexudzy6vPg339jOxUDbSujxOE6E0CyTyZzlAUVD0+dNqbWSldSEgMWQSiEEJREvshItVopkxDonJ9HxcFweKvm/Dcf+nuc0xcWPkmJitVoxMmGxC713jsQJIWC9Z+yzEJCNNOsiDRFZwzytiSlK0+wc2+1GKXxRN30sD33OiTJlpioTLu8DbbeiJsOQJICZKiS7KSam/RWPHj7i4sFDbnd79vsDKUX1NGo0hernX758yfnpicgfUuRw2HN6esI4TTx58gTnPet1R9/3+lkqsnyaqKUwTXcZfaUU0iifR1UwRX+wmo2r/qDQ4Vxg6ONCrp61+jOF8Nj3rO1aiHavrnj06LHAQ6aRy8tLXr16Sc6Z/e6ItW7x/FqFZex2Owmqbj3Oe16pET14v+RK7vZ7YkpCSHOyxZFsRiuNcs4UZxd/2+zfQUmA4qUo2gBpdmnbKuFybqRE6ijZfLOfJpPTQMXR+Fay75wcStMkQJKULZgs8SUlg8m4ILLTnKpsZp2haQyrdUeuhW7VEVyg9Q39OGCcwzcQ2obJThQv+X19mkQK6hUqImsnAK56QdubxlEcFGfV6C8NojNVAGUlk2umEW0kCdGqWR9U4iZRDQLhMVTnpOFWSIBTL0fORT8Xd0cAvAeVEpz9HdnSOrlSBAiSRc4YPNMkU3sBbtaFKGmM4Z233+bJkycChVou/RngMUdaSCNoqsVhxU9s5stBsnl1J3M3XdbG0jdO36nKlCLeCq036cR1HCSIvHn0kHXXUa2nnyQ77p/8f/4x+6NcesGvcFbjGmxVtsmsELjbWsw+RJm+a2yHMfTHI2dnZ1y96GmD5zgauq5hyJlpmHj69Bn7271OiTUWo+inr7aB0Db46hj2R6z3+Kah7RrOTk8ErKf2h/7Yc/HgAUY9lN/97vv85Z9f0e9v+Sf/+B/x9Ksv+Hf//u/w1rvvMU2FYZh4//0PWG/Oefj4tSUnuO97ttvtQjhP4wgl8cYbb/Do0SP+xe/98+Uz/OLpFYXKm2+9xZuvv0YbAm+++TdlsFNkJSJDB5EXzs2/85JHXIoAt6wxkoeZBYI0atb506dP+e4H3+HHf/HjRcmDMZgqBWNSEvsMVZrla/O0/urlK3ISX+HxsNcGS4rH1XrFG2+8zkcffcSf/dmfcXZ6xvFwQ5p6ttsVQ4mAxVqhcItUMdOtW05PT6FkXr68IvhmyVaXAWsngDj1oxrnpAgYIjHmWWAg75YxxDRxOB4pWRpEZ2aVx7yZsPfePQGqrTcdK81BH/qB8dBDEuuEFENWpXh2iaBo21aGYtax3x849gM3V3v2hwGTDZTKqmtEfpozwcq50DRBQEwZyfrUjcbJdstq1S0WnTYEPvnkE4wL7A57iWhrwqIKmf1qs7QPYLVSGBsVVw3TMCqxE7xHt7Az4VXO/2EcluF1UN8vwKQ2HmlwlPRtLFMcQH9vawIpZ1bWKgFXzp7QNBgTlo2MEGzzskWcExaE0s8ihZzTFyQHs1nu67uzVPLZo7IwmsZrMSgFojGGMU50ukWRGDQ54GbIkiRGSIvrgiNNkVevrjAGzs63xClpIoWhaVtub285f3AhCjH14hpjORyOCzG66PbfcLdZrioX7rqO4/G4yJ/n4WdWkJJ1MhQXCbNlGHqeP3/O2cnZ4qVv25ZxLMsZKcoxFsLr0ijcU1nd97lq+M7STMygKufMQjVHm4vFi2qNwqSsKqn0LJZFKcY4UlZ5vU7JqjZmRaXMVe1sdwM0YVjGSbKmq9KNRUo8f78Z77Uhmj/LIs051d6BGXMBh0YsStPmXSORmSWqelAUjc5aInmhVDNvyHX1k3NRJcXMgxFlVMpJGsDmDqwkma7cbdtKphR35yM3or6YG1xLxemRbQrqIS6ygNLBwPy5l1QwXv6895u8UqSZLno3o/1AUNugswLRKikKu2OGvao6TM5y+QGKksm/GSEn8uGakvhZs2w0rUlaz8ifNTi/RGrdpbiglOVyBxHT+0Jsf7IdH8eJRqnHc8/j9NebfxKjsX9WFVu1lMXiEUJY6ObWSJykMfLsSx61XUCDcz1XFuCrUNUb/TW89wzDQEWJyaUqT8ARgrBpSim6XJvzz2VrXnX4b4yqWnLGB4cPUlPNMUvehTuVqiopg0autm3L4XCkazt8cKQkv3+KefESz+TolPMyIJpp4XLuZ4XwFW5vrxmngWGYOOy2PHz4CGcqQxx5+tVXtCGA9+wPsrX2Xhac3/avb93YHva9SoILbbuiZCls2q7R+IxWNqu14p2HkklTWiYrpRSq8dpgRMZhTxOahS4WhyQ0Q/XhGgMxGZl8GsFVT1PiME5sVp1EimQhnJlsmUqk6VqiBgvPHzbICzSmyLZtlwK+ZEhZZC5Gg8ezqcQoRcE4jnRNR3Ce/eHIFDOpVJrWQYac5SDKowKrnCdnefBLzmLSVqnDxeWaOPTknPj66y/58Lvvk2KkH0cxX1t5KeLYU/NE4y2311dcXj6S7FZtGNt1y/Z0S6Xy6uoljx89ZLvdcP0qqpe4LP6DzXrDOPYyybLzhFVGMHEamSoSGK/S5FXXEpwTIABWsr+SSkOBplvx6tUN1rdsQ0fbbKBamkYutkeXF/jGkxT0kFLi6vpK5BtZpmW3hyObzYbjMBK8NKYOSxwj5IoLDcF5nj57jnWBzclGsq5WG2KULVuthUkfcOM0hsoYhnHEO8+qEYP8NI2aH+dJEY1SAuOtHj6ZWr280MGz2nY4a5niRMojvlktEqmCUEKrNazChpRlW1BMpRj1QLWeSMUUka5NOVMtHMaJOT9oipGMIZVMbUTCVZ0VVUO+w/PLWFz437MUyDhLAaz3ZFOVsKieIFQ6hMEaR5oyZvHfygVogl8KNWMMSSedRX2dKORhBiNgpOgwbt6q1YU0KUAVpVCaQmgbUk6yW4jy/ZecKKaSFUTilB6qBlXyJF7HgkYhVCFxrnxgGHrGnDAOgvGcrtcMh6NIeRuJE5r9PvO0vSjQY96mzkOzhX9xL3aq1gIWjuPI189ecbLe8Pqjx9QS8W2LTZFxOjBNFvT5nWKh3HElFu/PfMbcbWzn0kMgJV7/3DlNrFeOMVraLlBKw5gi2UnTlJLGR5TZSiZFqfWO0HjWvqG3IhCIFKiZ7VbOJ1MK2YgdIZVEMXByccLpbkOKB55/9QXD2TPeeHhKpxXLP/vnP+TP/+Jj3nr7TbpuRbfaEJN45xmj5EXiaILHWc9hf813v/tdDvtbvvziC3IuHI5HDrd7qqm8+cbrXF6cY6g8uDjl6uql5k8aZsHfsqU1AoPzXuiUznpKEY+ryOMc1/sdlcL19RUn279G452ARGYJOuL/SnlaZGL34RLzd5FT4cd/+RHf//Dn+P3f/32JjtJC2FrD2dmWtvXsdleUHFl3K169eMmbjx9z7LNEhWFZr1b8g3//7/Nnf/7nXFxsud5f8+TLpzx79pLWt6y6NcY5ulVLt2kpJsvmwoH1FePlHZIc6Lo8H+hmue2UBG5ERWQJmJJo9d/TtxxIhGBo9M+xv90LIb94GmQT7KwAC/OY6UIQr7zKe0u1HI4Tu5sDu13P8RCpyeG8YxoHai5s1msBNBnDerVms9lwdnFKcYXn19d8/vXXEi9EwhDZrE9FUXA8cNj3FD9RDIwSBcA4RjorrAtj7AIae/TwkrZtxeuvEElD1qI0slqt1FMtSo2mDdRiRRWmxZdzZpEq+uDoViuOxyNx1M+rlOXTS1RaZ4ij3L19P7LZnhCCoyAFe8qJ1XrNOIyYmunaRnJzi2UYE2OSiDCjfklcWZRsAlaR2Js4ZVyj1ND+iAHG8UgIAvBz3gsYz3lKiRhEal0L2GrJ5GWLKdQiA7PzBeiPO7bbLbvbHVRhikhsjBTUtzd72q6jVI8PHYfjIEf6HB9iK7bodg1LTtKkhc4vQJ62XWkhKnfcME30w0jXrfRdNhyPoiR5cPFQyNTzNrOCrcI6aJtGrF0oUDIVHZirfUfltrYmsd/Mvl5t6mutVI0kMmZutvKS+5tLVcvbjPJXe8pMTq5ydhsjyiSpa/Q+1QGE0aghsbfIZ51TXX6pqpnEkrOMDtNmwJlEHnljpaDOmcaIqtAFh6mSOwtGzrgZ7ImhJvlqq1ik5Y6tcm7Nqraqfs/Z1220qTbGiLy63N07VT2M6Si1bdTzVDZw4t2nGtKYJMarke26xYn6yxuUpyWLKq1brA3isdR7IcdCnVS6G8sCYVrOXlUeDMcj3nvWXStxO7VIbeIMxRiM2jnGcZShEfOAWIe8VppQWz3Bt+RJBhbFZJyrAmYtTiSupTJqLnEqoiwp2gjmnEU5UkXOm6sQ2q16S+eBOlltFQaCpgLMqSe1SkZ6jIMszdSGYpQZYRVUG0sSzkETFoWJjFMCZGmE191arJOl0jYt4zTinMFbR6HST5kpCdPIWUs/RnKtsukOVqKWxl58tyFgSiNDOf155iFVo7F9Kcr2NjQNVZdJzsjyqZqq73gQ9YkxdI1nmAaszULxTolp6Fl17TJANsZwPPTfUOPMjI4ZfGcNUq830jzjCiVD3494n/EGbl89IU074tjjaoHiRMlrDeuVKESds+z219+2XcV+i38GQGlXhuvrK25vb8VoPE30fb+Y+edpzX///0oOnkxrHN4Hgm+XgtBap6jtedpVBFuuZuZ5KrXf7yk5q9m4YRqnRS7QNA2H/UHzowrOBdWWiyQmTpM03mj8j7NCi1MS87x1GccRYy1t2/Haa69zdnamdro655+I9FE3hffldLM3bJ5OQZV4kBlupMX28+fP5UHQF2oONB8nHQwEf2/im2QDqQ3KZrNhe7Ll8sEDpkOP1enoFKfl856nNfMEylpL4zyN8ZgZAV4Kp6enbDabxVswT/Ak3iiKpzCJj2qKEec8Nzc3khG6PcUYw8nJCT4ErnY7LbzkP+MkxLzVarVs5OdcvVbpasF5vLV0rWRJztPE09NTXr56ybHvcUG281UUJvTjSLEG10g8kXNeXladyM9wiRnJLj6GUWMHACOxO0Ybs8Wjaq1St5HpoDXEnIgk8CIB2u13y6juvmS2UClW/m9URP83aYkyvbzvT8glLZPE+xPz+80T98iS83+dS1FC7N1dsuDp7d0oUaQ2afE2zdKx2S8UVFI/E8Nliir+rKYJi7RqlkDJxN0uE0oBUbAUDnNhIdRLv/zMgoRPd94cxGd+PB4Xqbc1Fu8szlUePjzn/ffekkgljaQxpvLuu+9II3vPO3Nf/jv7x++fO1VBXDN9c94MV/3w5q3hyempSo4cpVo2m414IVNhGCP9MJFyWULY9VNfzrzZN8u9hpd72cuoJG6WNwYf6FYdzss2doxRIUJCIJxBHbVWyfXTWAHZfrGoJLyXyfc8Kb7d7Xj16grrZKvTBsdv//qv8p3XH3J5cYI1mbbxPH54yW//1m/xN//m3+Ktt97Wi2luQK16qvS7N3fxQ+fn5zx7+lSHTSu6zvHrv/bX+Y//o3+f//Q/+YcYCuvVShsOt2y0rMZczNt/zJ3nfxpHLSwqm+0GYywffvABpRQOh8MC1AhNWOTds595/p4PhwPr9fobPu77f//5518sGd7z8MgYowQpJiulAAEAAElEQVR9zzvvvMU4DmBge3KKtTKJfv7sGS9fvmKcItMkfsNf/IVf5JOf/ozf++c/5NnzV2y3W/HR+0DbCi1dvEqJzXZL13UKOWGh5c/k4aqxDKuu4eLBKWfnG7YnK7YnHW3ncL5yerphu13peZUpKUosnBdbw2yLme81570CwWQT3K47UYlocZVz5tj3ch6WqhF3fok8cT4wjJO+D/LfhaZhvdlyefmY119/g5wrFxcPuHx4xvakYbUKXD48o9GzOpfZQys0zfk5FlZDXSwPuRT6XuS887TfOkdMkZSzKpnuZMvzf0CkySCNWtFcuVrUO1/rMtycKcjolqbve4ah5/b2FlTpJVm0d+fsOIzKbpjVPOj5dydBLPcO6oXxEYWPcH5+Tt8fidNEnETqG5pGBk+z/Dpl9b1Z/P1tkvr6FmhNnKFBcqwI3GZivVkDUjTu97u5NJF/Vz1yu91ecibb5t6gHz3Pw/KdLxEhWivMSrt5EDkPO9u2I6fM8TBw2PeMg9QrXdeJGmC+R40wV3KR+BeBs1VqMWoPMUvTdn8YP/9nvo+/8fkaQ+MkTshbi1XwjwxgZCs+f191rtXuMX6XbafJAhy6x+Rw+v3drwOtqmCWO7eUhRI9Nzrz9z7fQ5I6IZtP592979Wq5NUuZ8/8ucdJ1IFZG2qZ15rl2RAgVbm30YOUKilJnJ7BAQ5rPLUaHVBIXFLfD8q+Sct3K3+ORH+MTFPW6BtVR2muc0pyHofgaRu/SNhnanLKmWEYFzLxXKc4Kwoj5o27EVvYfJbM3/V8Ps8b7/tRNFlzeyt39p46e/y1PpQkBIGVxShDzn/9mZnrk9mmsPhCa12+z9mDOsuGa5k346ry1DqoajpIE2bgl26AF5uW9CpzHyTPk9dn2S+Nn/Q0MsQxesc69ad3q5bQeHyQZcvs6baLbSMt23LvZPjkZ5XHkrWtvn39DLzG9jXNnGd/V4ulGJcGdwbH5iTwr/kZZyaEL/2B1WjDrEpKiRq8r8KZn7WcM0PfL7RpOX/k15ZUg6A1qlCvJb5NvdbGKN1caia3xFndKTr+h/761o1tt2q4fPiA1Wp1J1FTCe28oZsfoPuH/Wq1EuJelAwqqxfQLF82xkm0hBZUJQoV0xkj0Qe5kqbC1EsYu7OOaUrs90emqZBi5diPGONofSsTF/33KUKqTNPIOPYcj3shMpvCyekJq06Q99XN00C3fJHzZXh7uxeAhRN5Vo4Ri0xzvJGGEY3nEUT+yPG4x/lKCBbnYOgPZP0CRY7UsN/v8c7SeMmTtXMsh3OEtqFbt0xTT98fwIrEyBlLsI7GCSTmrXfeJuZITCNN09K2rQJmRmnis0xbnJmbzcjxMDAcR0zR7VAqeG06FmlWlQtzd3NDHCeOuyPPnz9bHvT9/sDh0NM0K2o1HA4Dn336FTfXR3Ky9P3ENEWaplMZs9VcOoO1Xg9sATEIrEgajqhQlO3JlsP+wOFwZL1d8/L2FYfxyFQzsWbGOKmESKAtUQsKa628lFmGHYUq/iAjUJ6YimwHDRIPVfRgT5USledvLV4DuXPJ4v+pun00leM0UIxVaqkMTwxmCaSfG8LGqTohZvEvoREuFBwVW+cCWyaE3AmOVFYUsBrzUq1IiiV7rdyBMuYA9pmmaWUSaryhW3WK4nf4tpHJf5Wfy6sn3VrolFg9ZyXPl03WIi/GvPieFvgPBTwUW7BBkJsST+Ep1S6QN6OgAol3iHrxOSiVD7//PSlOZalFcJbT7YYHF+eMQ4/XOIy28bz2+CG7/U4ucb0Q5kba3ANZzDKeBSjjnPb5ZYG9zX/N2bO5JEqNVCo/+IVfYX8z8ur5K4Z+JJXKME4MYxTKaJ2jJOo3Gqf58r379e1C8A2h4fLBQ92iVdZtS02ROI0cppFdiYzOsNcB4X0apMTe9KRUODk7p91sSJQ7WA91fn2kqfBeMqetZTgMHG9u+eWf/0X+wd//B/zCz/+AD777DqvWUvOEI9N5Q51GnK6CjseR69s9x3FiTJEpJ4Y4Mk4jfd+z2bTc7m4pJZHzxFdffsaf/PG/5A/+xe/y//y//zfkOIk8Vm0m3B+6mDt533xvzFv8eZj3K7/yKwCcn59RS+VwOHJ7e8N+d8PDhw+VPmyW4hkt4ufhqlc5pl2ku3WR8754+YIPv/chOUeVtc3T5cLp2Qm//Nd+kXHsud3dcHrxkDEZ3nzjbV57/DpTinz55Zc0vuWD9z7gyVdP+c7b7/ILP/g5VmvJPsckcpkIrf9Gk+SCwJli0rOuGqwLkvGcKjWBLQo5cxK7hRF6+2rV0K48uIp14HRVuNmuaNcNTedF2lgLqVoSBhcajDaHoRO7ykypt8DUDxx3e/p+WHxsOWVsFftD1hzXgqcayeg8HAe+evKcFCtX13sqhrPtKdvulJP1BRbLNIyS39rKdmbVtjgLcYzCJahVI6Tkezs9PWUYBvb7A/0wUJ0UeKUacoGUDcOUVLYpQ0tpVjV7ex76pUKesnyWdVagSt5oyXdDonn4UFVWNw9ZKRLh4Y3FlKrno/y9t55pjByPwxKLMftmZ/lnUXCiFMKelCdyiTgvdhlqFeJ+ESvEOCRylsYkxcIwiDoi56p3mtGNnpPNbSzEIVKiQLFE4qgwMiPZklnzQX2Q5tt5LxhkW+Wfsyz1lhSojhizqNByZRxFyROUZjsOk1oSRh3COIwJ1CwAzRQnGajp/ysp62Zc8lBD8EvTM0VJi0hT1PulqBrFazZv0ff2/rmcl3vIWoMPbrGmWOfYbls2qxbvZSjgdGBr/jVg2HwcSxMg0lvvZZNmnVGPb9ZYuyrJC1bTFZzB+W8O0GbfoblHy51rXYCaLcMghHtrLI33Wodmvc8gWKc0ebmwxzEyjUmeJYVXTSkxpUwsonhCfaZGm6ScxasSxyjPfZamM+t3Y3SIk/WuMNYsTU7RwXhVN1WcENp/uWv4SqpMQ1KwmVWrgQzrYowMowx6xWZSltq/FpUkKwQ2FanniqZJiZ1xjhFkgRgBKvGXbXNR0JK1LEOTaZrk+TWz6kDu2FSjADi9kZrEVIqRmi3m2WOaxNeaIpPWh1HfmSlF+nFgnCbGKLnUzjtmLtY8LMkpUUqEEsW+pcuurLGJuSSiZluDlbimPKdQGPHf1kwcRnI/YatsZ4Pm1Tqv2eRWKgfvrVgPvCUEh7ESF+qdqFW8leukayQhxFvkv1Ob2FxDzMs264RI7myVjGJTMVViKhdg3cwrqHWJbV3qwSxRZdyLnMo6AJvBe3NDu9QxKsWbe5KFom4KkjSYSSVivKGUhLeq9EtRgGulLPWxLUUYMd/yr28tRZ43Tuv1mpJlkzFP9ecNztzUOmflpdA/aAhBgDMLnbglKo3Y6kPs52koFefli04pC73WWA7H4112rOYtCblLZAPDONA1HVblvUanRaUUzQm1d1mz6jHqViuO4xFn3HIYdm0rMgTNa0pTXDZS1smDJ5eaTiLLHNFR9EvWqYp6qwSrblmtOm5udmzWm+WBmWLkdHWikTtVJKmTBBi3bbdo+4MSYYVovOb6+hrvA74R7/FuJ36mWfINqMxBNt/GyiRvv5ulxx2Nyh9ykgtou93IpnYYsM7SdY0WgQ0hNNz2A+PQ03UrxnHA2UDTyH+macJ5J3JgnWrNB1WcIqFtlqaz1orV2AA5cAPTOC7T+vUmEJOQROdss5vbncSuKJU65cQwDqy6TmXF8h2H0CxN7iztFVqm1dxAPWDmw1FlKR7x/+QCTdvI9NQYiTFwKslWWU5KiThF2qZht9+zWrU43TqXIi/sDAicv49cCs3c9GrMg6mVau+2ejJBdt8ozJ02oanMmX93r/b873nNj5bs2NnzK/8vNI0W8HdU8zp7yVOi1MpQ7nLhShZpsbNOL8e6+L7mqXupGVMlkxGg0e9FfEbN4qHpug4X0zc2mdXUZXoeY1ziHawRIuJ2vWW1WnF9dY2zjpRhvVpzdn7OV189lQbee6oWFjMJeZ6+39/OzAUNi4dsBtPN8BH559vGc3pyQtd0PLh8TAiteoiOcmaU2UbBAlOYN8bMv+Isj9C/RAVnFuhbnCLewVhki9pPEymOTMNAtJbm9IRhf1w2LlUz62ZJ9eyjPz095fmrFxjjFmhaUSo6xnFyslXvUOXV1RX/6g//mOH6JW+98Rqvvfkexm/59LMvuBkyTdOx2az5+JOfcnN74MuXez7+2Vfsj0e26zW/+IPv8frrr9GtOg77HZtVww++/y5ff/UEY4TE/P7735XIoKbBir5M5Lbq+TcIXXTOozQKAZmmuGwmvvzqCZcPH3Bxes6br7+h5GArm/lSGYaRJ0+e8ubb7/D555+TS6V+89NeiliZjkfNrpz9k/L9/PivPuLf/fv/M/7yz/+EUow0bSrf965hsz4h58qz5y+xzhLCQ3IWgm8dEz/+8U/4tb/1d/i1X/01fus3fhfrK5GRblVpmxXkRKl58cTK+5aI48g0Rro2yfmjfiusSDJzljgwMtQ8xzxZSRcoMAw9KSWa1uKcTN5DO+cU1iXvvVpRKq26ls1mzc3+hocPHuC8IYQOr0W9d5lxyhwPR/p+IsZM07QS22dFdo6RZnAY5Y6NOeOnxMWDR3zy9RPefPNdXn/tdXy9axwlQzZgqmRzZmvw2VO5Az7Ng7g7mmzi5OQcY8X33zYtw7DTfPCMCZIGYKwh57tijZmC7J1u/TT/GwFNzYA88bFKUyzQnSCEHmSILXd3pmn8Ule0bXu3yfNOzqmcSCrpFHlz1qZVzuiqg/B5Cysk0paUp4X2m3NZfGKl6vYkFfrDjtYHurUQxkuVZIas2eiTEm8Nc91RlyI06d8/fvyYq+sr2tde1xgdWRJ45yhJAJqppGVjJWkBg56RUtcEN9cy6rfUvFOJx1HfXXCs1yuMcSrvlHfUqSrHoeqOUrGIPc0gvunQipe06lk/DqPIMEMrMJ9lo2yh3HmqBY6k94ZSx0uVrF6r94586ZbZCWKtfI5Gtz2lyF3rddg8jpPYq1QFUmqGe3JKilh/QhMkwaFWpQ/LhqpZtlRy37RNI8+rd6RolmXxnA5S670tuWaQi3UsLwPZ5eKYgWNL9m/VWmBWzmhNt1h77pr4+T2b/3u0+TLGqMrr3lBQVvu4mQR8z2MrYNZECO0SPSQN6vxrpUUeOqcCzO+0DB9UxTRb2WqlagO8PdnInZAlGvNwOHK6FZZMUan17FctGjO4Xq3pD4MOfcHamYputSaZBzaakoHc13M9LttcHUjPhGf9eUTiLUPOkhNtne0N/9pgVs907GyrytIcp7wwDVAiclaQnVW4WMkFZ71E6qVJPsdSCa0XZWDK2Bm2miX6DfXuW2M4PT0lZolArVWGSKjis+tWhNAwlHFJShmnEWvvts+yQLzbfpcigxx0QNj3PY2+n85bSpEFQtII1pTkHms6gUzNdoZxGllZOQv2uz3rzVq85fne9z6rz2Zl3/ye5bIoGIXBY3RrqxA3aygxL4sxyHe5yt/ir2/d2K7XW0qWF8g6h/fyA41D5OREJKdD37NqOyGV6oM2TZNCHjQyp0S69ZlANapIEHNK1CxNrHMS+FyNUVqaNC0WDSJ3AvyZPRq5VIKHmEbQDZXE2AgR2Psg0jI9OG0FbxzDOMlmz1rxOmlj6sWIQhNaeg2JLoihvW0blSDCOKZFujn0idB0iyRRJKqGHOWl749HVuuV5K3WssgWUsmYg+PR5QOGYZLPLUnulnOWqZ8INrBed7x69Yradjqxq1ocygOw3q65vTkSY76XLyyArkm3l4fbPcEHkVPI6UHbya9rjME4oQ1PKUIC5wLVOgrQTyMnG/HgpZJpQkcXOq6vXnH58H05TGQJwm6/Z7vd4JzjsD9KEeEcY5yWSzUEJxsI7zj2B253R7YnJ9hGJoo2GB6/fknXOPIUsVhOtluJtwmGYcgMw1HzyzxtCKRkcNYzFvW/ah5q0zbSd6gEydpArUpVVD9AKlH8wSXSmUZyyFQeQ7Eq95GBSN+PAmLpHD40ChWZke8yBrWzNG5ufqyRJtaor0MBOSDb2FEbfle/uQXEiVHWajMYwvwcZy1IxBtWNUpglvSUe3LH2YOUo2wPotVDRbP3SpHJK+rlmH8NsigMjHfLO1JNxbiK9Qbn5kbe4ooXAjJGgSRIzqeFmifKslHNSz7jeDzSH/azShdrYNOtuL25YUriZ8o1c7I94XAYmFKiOs11rWCZN7TgrROfXpVMu6q+xapxXFV937NIp+q0ve1WInHzHgs0zRrnV7x6eU1MULAybTZVaLAq1TV6XqirSSEwd5+30RXZkKLmYWYokTYU4jRiywipx1SRU5UQ8N0aE6N4bPQ7ybpFMzmz3+/pVg0lx1moIGAZ5LK1FvG1ac0yTZG/+ugTPvn4Y/7ub/4mDx6cc3p2yu2za37yw9/jr//SL5GnwMOzhudf/4wXX35NnBIlRw7HzKvnT3nj8pxYIzX2XB2vefnyJdc3e062F6SY8EFkttZbjse9uIgaxzAIgKXcb0CX8xxiqVTrsKFlvLmlCx22Wt5+9Br7wwEfHKumpfUNN9e3PHn5ire/+z6D8KfkOylJoTBS8O0OR/FrHntygZxlS2rm83q64Q//6E955/3v82d//iOsFymZ1W0CpuP88nWefP2E50+f8ebb7zKOkT/70z9jtRKYThtayJZNt2E/PAcz8vDiBIzlxfNbxmkQgqQNTEqozJPETAQXsNVSYsZ6kaslJ41THCeaGnA+4FonCqKayWnCNQbrG9o2KK3XKuyjLvaMaiQz1DeO88stobWsa2C7bTFuomlXeCM+5lgKL15eMY1F1RgFSXmUJqUkGdphYJcmYjGs3IZS4WY/8b2f/xXefus1puM1z558wZQTQX1wJycnnJ8dGGJm6o9YB6+9cckXnz/XoaRM6SVntXD56CHeawb8lNXvL+9Q10mkiTHSEAoHQ0nSVmLIfOsVUgnjcboXyyfbplW7YsyjAGxikcbGBayxDMeR4APrzXqJEpkHbvPmb4qTKGCsSOmLwmh8I8O8w+2Rk+0pOe2VhSBQs2lSa4ZxTCnighLE04CxELNwSJxxlFyxXdDzukqCg4WSDdMYlQJ8N8BDh11eIzokqiaw6lr2tzcMw8R2e7Io5sZhFFuQ/vzFyLBoGifaToZ4ahIUYI2ejxr3KkMzi8I3DTFVHTaoLYvM2WZL3x+Vr4DcRVXujLZRSrTxOIVQTsOcVmExSf7crs7edzn3rNVmd25MnFFYYeWow3fJVM3S1M5qIi26q5khPvKZlVKItTLVuNyNwziJB9HKxqjq8qVWSbYoqWgkzR2tveYKDZKcoHJOiviuKwJaS1PGePFBVoVWGeuoWDRAQPzDRkjCc9xN1mzQXDPOSFrHMswJstmbs85LSndpECkRfCu1uXcU9W5SZeNaYyFTVUqPSsVHGSohf7/IwxMc9keMdSp3LpINWxQ6WQqtLjPmdwas0Ibn2iUWsJZVt5Im21aaZkuMk0pLPdM4cph6jvsjFydnBKtD5Ko/uxEmRn8cGIdJN+TqU05QyUyxfsN+5INnKr00UVasYjUvPC+a0GCqLgqqcHmkVJNBV84FrBChvS6lZiXgsjUuibBY6/Tn9FZRJko41yhJtIGuNTGMRWsJJHanQKhGfr6pUKrBhDlyUn6D4CzTNOD8OT4Y9XQnzWWWem0cJgx3XtlYJLZH8uXv1BCztFh+7qi9jHICbKWQcT4Qh1He3Ww49COlgi2GGAvNGvqxx6ryZUwRk0Y2rtOBDEo2H/FOY1apWFW4WSVlOyd2t5hEPSVqKyPKpFKxXhgAuRZSVKWSdRj3rdvVb9/Ytm3HbnezTGdmX15Omf1uh/dGddx1WU3PDVYpldWqpe97+r5fZI2haTDOYosCfWomRSl+ffDSbCpCHZUr+CCof2sMXWh0iiOSlTiJP9a7eXMw6Ycom79aqzYJmuM0e2fuRXaUnFmvGpwLjOMgE0lF1ou5XUh7XjeBM83Vh7vM0VIlb+tOVij+jMvLB8vGSl54mdDd3t7q9KUlN1lgIPpAtioVzTlz2O+Zpontdqv5gAfJO+xWHA8TzmWdCk8CDNGJiQ+eB5cXUKvkus4yVidUtovzC6XDoX5Vac5nuZDzXvI1izTrJxdbgvN8/MnHnJ5vBdIUnMjb1MeUFaYxDAMheZ49eyaykq5TWrP41vp+ZIoTbdcpnVqa3r4/6kUn4JaTk43mcAlRuGYBcMxelWmaRIKmZnoZiDSLTJ5qRYKovoZhHKVQaRuMtXTdiimKZzzlLFTQpiFN43/P7zNvB5vgFameOKYsuVxGDrTQNMRlYDPTeu+Ic87JJDnNOW7OEWNSKYkUrmbZyN1NRucmrdQ7pQD6TC/U6JxxvlmeeeYMQetIJc791zIYAZHNWGup9k5+4r0X/3ApJN2AVJ2kpihwrmGRq919Lln/HFYvR6MS6XnTWSo8eu11nj59wu64p9RC163BWD7//AvZytWZZt7w1ddfE3O+O9juTeWFXipgDLuQFNHJ4D0Z7AwT0eH4TAzvBwkJD67jX/3hD3nv/Q/4+Kc/JWcj7+c3WIwzGEP/flZr3JORG+q8HMYAx8OeEBznFxccbvc4K03numno3EguECvYrlWsv8dogWMx0rhZI/mhefyG8kEilbSQu+8nruJXvbx8wL/8F/+c73/v+2xOT5mq4dX1NU+fPuMP+j/g4YMLvv/hO5ytGg5fP+EqVZIXyvKhP5BKpI6J/nhgHHr+4kd/wW/+5t8lZphSpnEyEMhk/tt//P/i+tU1203k9navkrVxGSjeKUkSMf1Trl5d8fz5S46HI91qzWF35OLknJP1lmevnjIMPcbAH/zhD/n65hV/9Gd/yqeffrZQXacp3uUVu7B4TdMw6rRZpulzxqUPnj//0V/yxttv8OnPfkYeRdJqjW7+rWXoBw7HPcMgdo1nz15yPPa8/vrrfPDdDxjHgZ99+jPaJtBPhma1ItfIOEw0ncSrSJao1ztOflavPmW0wMhtIyoh3XaP40g/jFjnqUbhWk4VGz5IU6zFd5rVJFrUotukXArnZ+esNi21Jk7P1pQ6YYqQMdvQkWImV/DBsdsdKQWaVu60cRggF7xrdaJvJOqkVjbrjmws//z3/invfPA+m7Xnkx//iK6xnGxa2k2Hd56YZAhtfBD4m7WkWtlsO2Ka6Np2oanO0lDxWMn73Pf9AoVLMVKDbHwx8mecs8VzyuSa1MNtaEJDNGn5HlHAXVHfX9t0TGNUadssczRKrRb4WlUYTFFpoXVOctPzJHT3ejdgnEneu5s9pWTarmUcBnKqpJRJw8Dp6QnD0DOMo7ANnCMnOReDDilyymy2G9q20bxwtXEZe2d7mL28+nPPftQY4+L5n6aRthUPfsqZV69e0rYrTrZb4R2kgabrFHglap2mEVsXmvk8H6zilVQVjKkcR1GMhbAixShy7lowZJWDS8xgcEJ6ReWoohaTZqptWrnTprsGWmIT5Tz3mte+3+/FIuUcGIszdolbmZU9xjlwSnRu5kFCXM5lGdoiVh9vZoLikntc5nNTv5M6f8Zz46/bxFgyNRUMstVNGos0U59FDupwQXJTvfrUJ1WoSEJDuWMwxEinqRopJR1Y3Pl5U8kLNLUUhTbOlr1SICdsFVuPueeLtsuAOuvP7ym5LGA6tJG1VvN2nTxbTrkuu91BqLddIzLoaWKaEt4b+oNs9XOSpJOs561zqAdUuR5V82EtWodVAWkFyUF3Xrb3wzDqZy+Dmv1urxTxRAh+SVmotTCpzNUaS01C2RUeh9PzyermWGx08/vi3Px5iEKo5Lth2rx5R4GcTQhY7yTbW2veWaqfcyYustpMSn55DufN+LJlNhKhVNUfjCkUp2ocpXLnIhE+M+8DIE5lyfZNJi0SfDRXeY4ME+WEKGRTTnjbKBvFsN8dFyrz4Xhke7IRovA9BkjVKMaZNJ2zeGinaWK9Xmn8ldYOzomqYRAS8TAMrJvVYpGoeofP8KhaCgQRPBjN9Lb1LjJQwj2cRnCyELqtMRorlhd2kcVinJxt3oRl4zsMkZwr2+3m27ar376xneV7wzBwdnaG91bx0zKdTGn6xj8/F+J+aT4q4yhAoTxFvJJfXfAid6yZBkemihzSyFo/JtHDg+fi4gGH4y1RwUTzJLUWIU1WIy9A0wYwdQkJ9r4uJC9v3WLOboJ4lCTuRprkjMSXtF3D8XhnqM4xQRGvU60svthSIbQtU4oYZ2nXLdM4Mg3jcmGvV2uhtjqnl4hZMPZpinQqHytJLuJixacyDgPOWdabEwky7gc5kJuGrm15/vyZemwy2xPdkh6O9P3A9vSEY5Rf2zcCG6klMxXJ9ssmsT8OtKsGrEwgp2kiDukbw4sxTupHkMNktVqxWnccdju6VcOLFy9Yr9cyBQqe7ARBv9sfePzoUpH/hRcvXkjGnZGM0eOxp+sEAha0wYxxJISGMQ7iEbPiTdqsOoyp+MbLoeQscYpk9WSbIMOMcZRs3VQyORcCMMXpLvbCe4Zx0gmwx4eGWCIOQ8zqAbLI5H2R2d95d6puwZtGLjOC+lYociinrHIO2Y5U7aOMyomFHCyTqDyJXMYY+d8kQ60uWXNy+N0Z7+f3aZ7ozch9kGbWmjsGrVyoUuzORMA5A88at8hCchGP35JQUypk+XMvQA/986eYVNrthWppPRRHjmnx3KOF4eI5qkWzgq2qZ6yCNSQVPmMpVd6hk+0pMWb2hyPGap6uqez7A30/YJynaHNQK8vvNxMr5SyVrbed/6F5C2LuLnlUJix+EtmYvby6ItiWnDy/+Euv38nacDgthlwRiiVzNqGxFDMH2JdlLDyDIUytbFYrDre3fPX1l7z+aE2cWowptJNQpJ16ZGsCu14zErFKfZSGteCDXOC5ToCTqXQaqbrZcs5rk16WiT/G4IPl3ffe5uGDf4/XXntNGrdh4OunT/ni6ydcvXjJ9fUV3/vwXX7uBz/gv/mv/1u++Oo5br1lGkfee3zJq5cvefXqBcPxyH/+n/9v+S/+9/9HjoOjbc5F9j9FXr58Sa6RWHqmYYezf0aahgUstjx792LbXn/tNa6uXuGcpW0aLs7PmYaRzz//HN84Xl694Nmzp7z7nXf43nvf4WS95ftvvMXj1Yafff6FDH02OpAxBqzE0D24eECMkd1uJyCf2felkS21VB6fnvLb/8l/zD/97/6ZFFPmLoaq1sLQH3j+/AU3r17w13/5l/iFH3yPm5trYpzEduCFTOzDHEMDvvGEVAjBCaG5Xat/M8lmNhZMmbfW6Dsg9PzgBYyXUqIfRvLhCBROTlesN51c+NZSaiLXzJQmjLUE3+gpIY0dNbI92yzQltAESskE4+V5LeInNhYePnzA9c0tTdOw3azJU+a431FzYZoMq1XHdrNiGkd8EIpmH0diimy3G1ofZFtwHAi2kOMocKiYxK9qDSdtS42JQy1sNp7+mFT6aeh7icDKWfJfUx51zKzZl75hiP0dvCdKjJsxFm8sOUZKrnSrjpqrFnu66Zi9ZTp078eJtm3w1mu8x/y6lnugqyJnI1ASNJpBX7UBMEb9Yxp3M00TXddJlmgcBVLTeIKz3Iw7jkPPZrPWZlegL9XA5YNLjscDVgu7aDTQ1lWVf9cFFGW0RhD4nngi+37gcDgsvsM5tqdpAsUUrLecX5yy2a6Zhsgw9jSuY73aSB5llgga74O8O2qz2GoD/Hz3XOxFrSPrZmgG1UzThLXw8PKS4XjgeDigixTSGIlFznlvLCVJDIzTPGCRf8smtuqoaRonjBG/a4ozdMdrRGPVYAAZQguESAFB3lFNFJm1tTTWMQ0yXA7ek7J8V84gm09VPaFez6UR0ki1pAMNq/J0ISOL7S5OSejtQSxgRf35zoiU2oRG2TBFB1gGnOOYpXg3WSS4TdtSi0hXbbVkjRaSDN9K0ru4GFm8qHBThljqly0FvDXkccI7f3efmtleVTWGRbg18903c7SmPNOYDcZKPu84CnyuIM9/LoWCSLbbcAccS1maYmeQOrJKfe60Diq68PC60RZrmFui0uDO75mixlCWTNd0dOuVyG5zJljxd1pBnSigTZse62V7Pt/zduZniJKsFBn0yXuuWctA1Q29MY5xmPAzlEn7h5qLQi3trM5Wxk7DOO0VYCRyxEYtgaWIZcFWlv6kIFnysy1srktEESGKqkylZt3Mo3YTaxZVwVyrnl+cyOetw/ekygVTIfgAzlL0czYWSo60oaFxQuWuknu01GHeW72r8gLCOqq1s1R5Juwi5ddayRqCb2RQVwq+abR4kibYe09TCnGa6K2lOtlEW2sx5W4AWEpVta1RVgsi+dbFQ9FGV+KhzQIaxFoZHLWWGA/EOJJS823b1W/f2Pb9wHZ7wsuXL+8IWVr4t62ECw99TxvCsqlzSiue84tWK5HrDuPEZnvCEKNg0p3FBLdcUkWn0VYPIYCo+aziaZPmQQ6hrCRWhRAV+dma0FByYRwmUixsNmsVEdZlq+oULS4+4Jbz83OuXl4xjhNtuxb8v27E5mlD04lf12bZ1lotbOdJqLACMk0TdDqdCerhcc4uG+MQxK9TlAzpnJWGxDrWm402M/K/CZHaU+rIer0iKs2t6RqSBqHPmVVd13J7u2MYBowRTzQUhmkUg3YbVGokunnXGKpSzuYNs2yCHG0nId/jNEI1tJ3EGrggftqYMuP1De+//z5ff/2VDjJEyj1NkRQzjW/V31zpOonkqFllZUV8hW0jUUPHPuKzW56Vfj+x3+84Od0spGHvg154TiSsM1ZcwQ/jNC3DA5HGOvW4OC1wVWqrRNKa5SWWF8tiSsEbSzXIIagS07lYYibV5UyMEznFhc6c08iUIkUHObkmiZLIeSHx5lwwcy6jbpDnadnMfKu6iZOBUdKhDPegOPOkVKbQwXvxPsz/nm6I5obTINrcrGTf+2RZDCJ7KhIhY4xf/l2rSoVaihTPunGeMUAzPbHOeH9kCpoWr7185gtN2KjnB7i5vqE/9ro1MDy4eExKEzkr/U6BF+M4yMGuBY7V2JA5d5olH7coTe8OGlLKjJ43Ssmri1R4PkSNtRyOBzadFVndxRlN1zAd4zc2tWaOXZoBImYe9olXdA5TMPozoFuj7WbFj/78T9j86i+Qi9DCnZOh2sOLDWk30mdHspCcZ8gD7T2yqTGW6gwxZwFrFHCu0fdA6NYA8T61WanJr65eMex3PHr4kFVdsdv1/OxnH/P5pz/jV//G3+DZ8xf8F/+H/zPbzZbjeOTR6ZqeyDp4Pv7pX/Hs6Vesuo7zk1PeevcdbIWffPQTtpvHktcNHPZ7nIf33nuDtnmdH3z/Qz7+5M+pJSrNzC6kTImisfzG3/4bPH5wiskjX3z+Od5DCIaPPv4LXn/9dZ48+Yq2a3j67Anf+/B7bFZr3nr7Lb7/8z+ngJN7tPEiwyhrxdZyfn4pF3kumkmeubq6ZooZ7xzX+1veeOtt3n7rLclMt1WGL6Yuz0+MI7vdnhcvnvLBhx/w8uVz4jTxh3/0+wTbMkxHfLDEmu+KjU6UJQ8fPSBPMvCIqZL0TptSZFUrbdfRtC1QGaaRmBNN12hcUc9ut8N7y8WDU7H96dQpJSG9b8JG3nnrmEqUwZyxnJ+d0bWtwmMkx9H7QMqwv+1hLc/78XBY7pvNZiUD3NQTuoagdPK2azk/O+N4ONKuVvLsDSPFIE1nL41s4x1XV1d4KwOXmAuhaelWHcMw8vDhQ26//BxvLG2QCbzEsHkhjuo7FSeRGM4RJ8bAZruRseCy7TfqY00yiG0aHcCaBUaWc2aaop5dbpH21izU01n5tOpW6je9Gzig26cQPNvNVu7DuSC3TmWpUYtuza4NDYfDkc16jfVSK1xcnGN3cv6uVmviFCm5fAOCM3vPl7NoZgYokGkm+BeNShvHSMmRYeg5OT3RglWe266TRtt6r1mvM1ciMw4DFrmb4jRhisUGyeUEGMdJh3xSGeWSCWGtNheBDdZytxQAw831DW0IPHr4mJcvXqr6zZKKEFFLNQt5f7alzLyJBbqnzYPzVuvImcpstaEp1GoXYr8xhkyWxKMi9FTrHHEYaBt5l6zRJAan2dGadpGjkHxxLMkHWQmSqvdRCZBZEi/uhpTSJGQEtDl7Y2epvDdOpciqVLJ3eahzbTgPUZ1XCuw9X21B5KnyLGqdoUkYQjmuy89itf50GKx3soAAjHU4F6DOOdvlDtyj74exkl/f3HtnKuq1NKLcSzFJM+EC0QrdOepSx3phpBgqzgeRwKtXcq47p2kip5mZIWqJOemkgmzmiiFNiakKNXi73SpFXgZSRe1SWX29S6QWZnkXo9J1RWFoFhXmvAkts2R6rtvrDP+SLbqdEwD0/pbN+py1K/f5FCNefw+ygO72+4PYELyXZi/Jcs5Zo0ZFrcOUBj9NmaoD16qKMhaqP4vKdN6sWic9S8piT2K5yivHwxHnAymXhUcghGTDulsxTRN+5em61dJQsvy5Wc6wqjGMINaClCy3NwdWXctq5ZeNfNE/e86J9WbFNERZpJQ6uxYWgNQMDO66jhij8pTkLJubc6lBtWZXuX6lSvaw9hpzH2bdnVqlH3qapqNtZ+n7DCv+H/7rWze2x+OOx4/fo2kahmFgu13TNOIx9N7KlKAUhmPPWreIM4lNwtQVGhWjFssyJ/PWKGmsUL3QYqMWcF4fNGctBEucJqUfquwwTRpBYpcHdbXuZLOJhwzOWImU8AFnDClNtF2jPqWMNU6/ZN04ASVm9rsDoWmxrjLGiHWeKSW62twBfzDijdCtVs6SNSWUUsF2l2oIXpqprgkLla6USLWO1WZNmib6w5GqxnTvPXGSn0eIn3K5+CAypilN7I97VmZLUSmSVU9G00jsRE5JIVGBGEcqQvgFSDlivWO1XQm1skz4JPRGuWiyIrgFxNJ2ss3enqzFsxscQ5rYHQ/S3KbEarMh7/fa2Fe8lWyxcRgpViKbmtBwc3WF9yKlOKgP+tHDS4ITqXBMER8s6+2K/jBCkelZEyxjUmm4bvnmJmKO9xkGIQwGNfCXXPEu0IQWC+Jr8vLn6/uew6GnZDg/X1HHivUep2AE4x22KC3bypS11ELXhOVnpciUuVJV5uOIVQh81RZqSuIj0mm/8V6yWTWTznu3SOeqZsYuMnXDIpkzCmpY+kNtIqsSkiXbT/2k2eCtZKP6JqhfxSzyZWvcAsyw6uOcq4+5iJghTLPcJLQtjQ9iL9BGNddMTVVy4FImI9l8M/hijjURzL/ko1olAztn6JqO7XpLPxyoVjz80zSSoviocSJVsRQ5G3SiWJkjdhVKULIWECxSu3IvKmC+AOeG+j52KJVESeIwvLhoGWLPxx//Jd/57nf46CefMQxzvt8ck3G3uZ8HHvqFKJBDCyWjJEIyr7/2gNubK/7qo4/4hZ//eWz1HMszmsZycbqmHycO/USyjtCuqFOixlmShMgTnVC9xZtfKHmWWOkPooWhqF1kUuyCA1u53d/wp3/xJ7zx1hucnZ3y8z/3AY8vz7m8fMDp2Zambflbf+NvctzdcLvfcxiFBh1Ct2zOt6utNE1pZLNteP977xGajs+/+JzWtGxaT9d63n/3DR5dnrO7fUiMg37Kd5PjhYDZNjx+dKm7icLV9TVTnJjSwMXjC2xjePe9t3j67DlFvaPWWx6//honp1viFNXTZUiahWmMUG/fe/dtSprEalAKu/2R5y+e0a02vPPOu+yur3n+7AV/82/8Df74j3/IZhUUPqRePmN57zvv8Id/+Ifc3rxid/OA1x9f8uTJ11zdPKftPMbrdNqgHnw570PrOL884/mTFwzTwLFXibFO650zFGsY4kTTNrSaveubFoxs27fbDduTjcQ+oEVcrbSrhrbryCmRpoh3hmjEO9/4lnW3ouaiGxHZvgyHUVgNPtP6ltA0Wigk1qsV3hlyHrHB0G07ztZb9rtbhlHow00b2J6usb7lxeEo6qoC3npONltK7Mlty+FwJFSYokhcg4JB2rbl8uSMXT+wrwOpFl69esUbb7wh22PUdpF0wp+rNl2VpnFqeSgC3JshWUYi1WKS4tN7Ry2JUoQce3+IGWNSmqsM9mQw6JYIIu+8KKMm2bpOw4D3VgfRcH17rZuYlimPeGspKeJ9SxwjcZJtij8NClWpDFNP1zUc9juCbynFKJU3EMeIM043i0kGrcEtyGqrW3xjDDVJpm3S7Y4Plo1ba6yHwjNLAdPiAxwOAqyqiCyWUgT0ZAPjkDgMAycn2wVOZ5DBbRdapn7EBY9XeaXVs22OJlqGw0ihXw0E14pNohphIWcZMpEzrQ0KNazLIHSG/FgrYFGR9UphL5tB+T2NlWah1iLfW9HYKCMQTKxGH/ZyN41TJOYIKl2cKQi5ZFzWRmdWPeSqG2X1/OkZgljaRcXnAziJfPLWQqoEY2V5ECw5ZmzQeCw1uVvjhMSbpKmc4ZEaLk9NeYFVIq3n3YBYAYeK89asWkOahwEqT7aztDQEYXLMYKmaQbd5M/SylEJizuqWAYJTq5DQbDVWRYcIvkpN4IMl5sQUs9YkLHcn9m7LjXrZc86yYa6ZtmsW+TUqnZ3rDqebWI/HFNmEJ5Nou4a2ESDSHIUzQ8xKLlDkXk8pCX9FeRY5Z2yW9yCVjPOeNrhFbpxy1LtTYGj3aygWmb3UPqUaUoacCtaJ+nSKE93qdFF0ed+Q8w4/S4817cFqRM7SoFppNlHIVTVisUxKc86qGJV+s+CcaPpyyZBFdu+snHneWoGYIc/tlET5uG4bSszCBdGtZhqnhWU0D4hmFRK6gJhjNp11ixoPvZOssxz7gbXtxMKBWGHSmPBtA94tAx/vPVjojwc6BeGuVtJcHwa587uuW+Kg5uekaRp5/53BBmUoJUSJp4VdzgWcxTaBTMIHSQjwwbHZdndQtG/x17dubEfNG5z9nfclZvMEZL540YmAhK+nxbNnbQAM0zhirb8jJBr5w1UlnqVpINynxTlL1zZgKofDTg6GnJlGkZ00TaM+s0yzaQjbjv1ur9NekfVOcZJDxhaCmAPETD/nydbC9fU1wzDgbSCUwmrVsNvtKDnhvdXcJcmebbv2jmynzfWUIrkoZdELCGqW9PbDoFvvrTQYTiYoM2160GljSgZvYbe7lQiWWjgeDzpQ6FXm0Sx+APG0HmUik+VhfvDggt3+wDTJCz6MI+M00K3k+5n9ShZpSkrKVDNL4xxtE2i7Th9SgT94lQmFEIhx0un7xHp7wjiMnJ6eijzJW4Z+lGaYwjAOQiQMQSQ0uS7y767tePToERcX50BlIknWX4y0Tct2uyEOSS978bekKFPLNEVahWmVnChlRpI3pBRJMRInT7Z32WKGkZSj0jQz/TSKNCgn8UikiLGVKSY8UFxdLoR5wtm2HSHM2W53TVIpRXMqxVfRNgEaT5oixnkaHyQQHokBKM4tHk6rcUTzZNvdi8SyVr02Wbd3CzJdIBPM6pEl01Vilar6jufJHnbOm1Up8pzDfC9reva/OY3SaZoGVwsl5cUXN8uIsIDTgi1OAkIpekjPmaUqHbbWKflSvL9CSzQ0bcOx3y1NT4yjql3s8l5ePLjg+vqGXM3CDJ4jQ6yxIt+6R0U2+oHMTfnSiN4bCvAN2qHEL2xWa0qufP75p/zGr/82z55dMQ43VGMX6NQs7SrM23N0Kqyb+CXGQX6G4zCpfWOiZMPHP3nCb/3mr/L5z37IwVwRd0c651jXkWnMlKbFBEcZRWo3b/iLRiiUMvuJFQw3jhJDxl3TewcNQ6MNJsqUeHX9gt3+mk23wgXDo8ePeP78JW+88SZvvv0OH/34wOb0BD+1KhmXwcYwjrz3/nvEaeLp119zdbXnj//4jwUgUQu1Zg4WLi+3VApPnnwp320TiDEthfH8jsyDm9kTa/Q7ySpL8sGTaxECY5XGN+VE3/eSCauRCDOnwWHI6hdPMXE8HulWnRZA4v+7ubnhtTffYrVe8+Xnn/HRRx/xD//D/wV/9Zc/wjnhGJSal+fl8aNHvP3221xdXXN9vePtt99kGAaubl5SpqL5wVIczh51Z0XuFeNI1wklte/3jNPEqpOIPN8ESkUiIYyciXPES1RP2fn5GU3rKCWLrN5YmhDwIZCinIXWzLTfKDAbJ5/hMAyLQqEUIdynmGhCYN20i9IgK5F0vV5zPPZEzf9ONZNrZbffQ0XASqWy7jqlBOtwSyPpxjQseY5VNyKDEu5PTs+5ur5is95ibcDbhptDT+vVX6psjKLblWlKStNvFrUN2qDIhtMsUTGzTDSbBF2jd2hY6o55OJdzUpp7WWStxkpW/eztnf1pc60RY2K32y/yxGE4Ykxmv+9pgqNtGsZpoj/2gJEB7CQb8JxkUzaNkw6nxcu2WZ/Js6UqnJlF0W5aUYApIAsrAytrLbFM5FpwSApA44Pc8bNvTunbnUYXDUPh1auXPHhwIZs6r9ySLOdEKTJILWSqWnXapsU5Tz8OyzAwKz33bos6A3TuMsNTzlxd35Bzlft2iqQpKcnZLpuflMtdU8Yd10F8s1JT3sW0zUoq+w2S6zgKpMi3+j3JDpRxSno3Sv00S/bns10GnGXxgd4v8o1KXYMTtE1W77Iu0ReuRXWSnzpDEkuW/16i/RyzdkmGuXeOlDrnTmkMX1o2USgToiznuK13liO5O7XuzUk30Xc8iPkMncnrS8xfuYs1M/MmulSFULlFqTQ3Bs47jA60xXcalxSSmGY1jNx16/WaVETRV0uFQe1IKvmvKgWuSyMsNUVOIoeVWtXeJVWob7LrusVGE+Occ28XxaCWJwKqBcw9qFKtdXl2Ui1LTu7yGejvL9+FvJOrrsVp/KZRG0+Md5m4Vmne1UhvMQ4jMU1Lzm3XSdNXtf4vOWNsVQiu2IZm7ztK3PZWrHMpCRtBrF1mIVXP3teUxeYosHwZwM0xfkYH6nEUayNNwzhONBvxoNcqA6xUktZMaTmP4Y4UnUuWrHZ9Dua+Sb6bJD2EksDn3GKrROeck37nWTkx0vtN47iQ5HNKy9nrvSfFPcMgpOZ5WTf7a8XHb5YhTtQIN6v51N45Wb6p1VS/dJz99lTkb51j672n73sePHgA3B1KM8Z/JjSWKg9+13VM06QB7CpXSZkQGg1hTloIRM0XNcQE0otpCLedsyorWKGLGSsIfHQylmMijlGInDOJV0Gvc7QLOjkcR8m7nWKhaTuNp5ilL/K/o0XjnI24ahvaVnwCUp9XlYiJZyw0YTm0qwHfCD1QDq9EnEYhumJlI9gEijUklS8Px6NshNXwbQycnp1w8eCcSmG9WUnTN01st6fUKit+uRAki9V5qxI6OeybpsE6x/E4sNvt2e8OKnkRSmdJIvuwVWSo1CoXp7FKRcz44Mg1M4w9wcuD6e6Ftm82GzabjR70E8F5mhAoKRPmzXKcRKJVMi54nei3Aptyjs16DQYOxwPGSQG3Xq9E9lqkOTw926pnQeWvMUkOr/n/0fZnz7Jm53kn9qzxGzJzj+ecqjo1oQpAAQTAEWCTlES1HDZFUhTV7YuOthn+H2T7P/BFX3eHww7L4aAdbrXDQ0e4W1JHy93q0ERRTVokGxMJgASqUIUazrSH3Jn5fd+affG+a+UuKmThQtoRFRiq6uy9M/Nb6x2e5/cQMY7kCbXwoen4uOqpQOLPiJYEVKiHVC4ZXT/gwcNLnF+cwXlH28IUEDJ5SUsqBGsAH2aRJMpaab7sEhP1jvLgnIj2aLRqTWpG5p+xEBU7Z7hlQQwBOWaECjUBNa8Uz8DyZNyXCTNcJGf65xiMUsrRE1w/y1WWk0IimBVv+1AyQvRwnjzMKcVGnsyJaJmsCiKKZAjkLeehEVAoA1dRtp3pDE8ZFeU+aspRrDl2ogKecjlm+TJB+jAdME1MzeYL4fT0rGVNCpbieR/ozGHpeM7UWdapuOQ4h7oVqMPy5hXhL7r4av4pfVbAdGyjLVZ9DyUKgpvgvMfp2QmkzE06JCSdQ7SRrY1x+VQ+ruSQeCLxCqQCzD5itTrF9fMbbG9v8PGTF5idQskaAhJGS6wGASsKSgi8kSXfizGW40SYTtkQVQRHElLSAIf9pEQIpeIpsm8wlQjnZxzmHbpBY1h3iCXi8euvox9HvPL4FbpYuXGWgjIfRc7IgT4bX/zST+DFixd48vQpgveI0ePNz7yK84tT9L1FARHttdXoRwL1DcOq5VW317vRMwVHhlhIqTGuV+wpSxhWI2xnAUGT87v9HUIKbTBXZZisC+eNJoCUkWPEzc0NNpsNv2YJ8zxhnid89KMf4Q//xf8XVy+usNvv8P77H+C1195EDHUgoph+TrE6r7/2JoTQePLkOV68uMZ6vYFSlgBMibyRIQVSLpQE7x1SCiBtK2Vibk5GAFRIe+8RGSASOMh+XhzG9QpCkT3HOQfvI6bDArdElCQx9iOMNmRTYaBcDJFomEKxHA8InmAgXW/R96bJmOdpQQgJIaRWQIfgMU0Tdnd7dLbnnPOM/TwxyVNi8QEhZRwOM0m5PQ03QwiYlwk+BEzzDB8j5mWms7UUuOAxzQu06SCyhIbGy5eP8MrlQ6iUsRlH5BgglUTKgUi8vMFYrcZ253vn+XcUDCYpXC9EKKnRdz1t3DI1OtZYBOdb4U81YNeGdIktGVJVO0Nicjo1+UqyZL4I3G3vsMyuDYpSzhjXK6zWa4ycDnCz3aIfe6w3K/S9wTxPeHF1BefIgqMEQWms0WQXKIAPDj56TItDhuB7kJgg1iqUQqCaSl+FIOVPQuJM0GO8k7UWve0YxCKxXq8wjD3xATKdv13f4fTkBF1ncH52CqMVjJZNHmyMbZnvMcZ7oDf2M3NOO6mFcpMdhhixPxyweI9UCtarNcnIq2+0EH07pGMBDfZYSiZaV+YINTvsJ+YtIhgCVGE3NVIpxYQUaWAVAv3lfIQURDe3fFaSJ7kwRfdesct/uJQSxkqChHJurZSCaPOGtrN1w09AVNEUejkVyr1nH3EIkeSjLnD8EZpUtpbYsWTEnOESpVQElmBWXz/JhUkCG1JARs2M9UdbCzcHrblDRhYUwVRkAQxFGyhBHI3EktycCw1c8jHypdr5cqK/JxrUquaog5M3iIVScm5EdlqK4Mj/4IVC5DocWTBg7DhsrhGM9as2ueCBcIwJ0Ue2IjKASQriuvCQtvYbqIPQmhXO4Kqcc4uHpIEMn42SajDw+RH59aW7m7KulSACseKs63EY2yCsLue6rkNJVAMqSMhCdV7fdbzZp6H60Pew2rD6QRG9m5f3ggeVUrIyQoJUeyShQ4kkeReZlAoSZI1gqgdyiljmhT+HkZtDri1FpogfQXJl/obEQOLaJaZ4zJit/u2cYYyGVNTwtjOXBw0SlAqhjIIymutZ7j8SDZMds38qxLXVYdzA15zv+/Y45x3ZPXjrfzgc2O5J23twJGWtewUKMZF+zK8fu7HNJWFeSDqqmr+N9PV0AFh4H5GKoGJlXGGaZvpleDIdc0Y/jLi8vMDQd7BaA+y7WZaZ/LWgqZPRpj3MStOEb1lmjk6gB3y1WjW/iOK4EeccFr/A9l2DdAie1BYB7KcFIWaOAZJ8SAZ+qGmTSlO2gN3+DrkUDP3IMToKWQDaWqQSMS0TNQMVK58Lhq6nUPWQANA0W7AfxhoFq2kaA84OKzxlOux3CN4TSn2hCJlhIAjJOA5IKWDxE6b5gNOzU6bcUvaTkpRz1g0W3dAhZvIud9ZgmmY4H5BioQ23JGBL9fysVuTZqiHoSkqMwwrBB5IR8yU99B3HLpAMQUqBRy89QvAO+/2O5cAaMWWsVmt6KBR7blkGknOCthrKKNieKI45JbjgGoRDCMBqjaHvUHIkuQxvGCT7rKSq0hJF5GNBEDLbdY0aamxHviopWu5tRqHPInjDWWMBREZIgSRPiS6hTAQPgofFhBw8tBDH6XSISJG8yinl5h+ocCgfA0KkSVcshT2SNbA+t8DySjGunq/EF0U9wI8XGW11E5P3vAu0aQ8JRNGq02IazNRGsiRQ0V4kJAh/L7OCKhoaFlZ2kEVxLvEAKSgOqWSFkhWktMe/hEFKAiUpZCfgDwHzbkZwCSVJZF9QAiCSgioGMkmIKIEoIKIA+C8BYJlnep7ZIySEgdY9bbCKAvhn2u1mOJeALImVn+qFDJruZwVk8hQS/IP+ku2/a0gYFqdoFGhAGAhpAEET48uLc+QUsV6tEELE02dPcXFxiWHoWQLJ4BJFE18pC0VPiQItMv0lSRbWwCcKJKlLBevNKVImauHVzS2kXCGmDilLhFAJrQUCCVrVZyUjJ6C3A5QwJHktCgKS1Rnc0FXKO7/vjVSYEhcwElkA02HBfrdgnhOk6pEySbSrb0xIxT4v2QoFiIKL8zNcXj7AbrfDZrOGLAm9yeh0wvnGYjACY2+wGQe6BJs8mjMTeZtSvXxgqahSCn3X43Of+xy++tWv4mtf/RoR4rd3rfmVUmOeHEV8TDNSylifnHDzBR6gKEhpIJWGMhrL4nGyOYOSBjkDq9UKX/25n8Nn3ngDb77+Ot5+6y2gAF//+jfw8uNXEGICpUhoFKGRoJCLwsnJJS4vX0KMwHvv/wgxZZyenqNkiRgzpmVmr1VCTIWiHApRI88vz9ENFpuTNc7OTmCMYqBVpoEW53TmQnRdyQND7xymacJ+N+P2+g4lAjEkeL+0picEz6Ac1bZolQ5chxK16Ag+IYaCkmlIsD/s4Z1D8B7WGKAQ0JFRRQw6EdDWIBVgf5hwOBxwe30LlYFOkOVomg745ONPcHN1C+doIDWuVjRMnWfs9nu8uLpCRkE/DLi9vYExqg0+U0gt3zvzzy8kU1T5K8bEg1p1vHurKoOHA4nXOpRXS1LVEOIxCo8tAsYet0YSpKCqAMBpmpnOv1D0Vi64uLjEyckJtNa4uLjghnaE7S35GAXd3f3QYWLYmJTUqNbIwhpPYm1HG42UsD8c4LzHZrOmgVChgg2JVVPp2ICoe++jFAJWaVhl2FNPQ+yQMoTUlPXINVhV05HXje6wvu9gO0swJyGghIQRJGEUKDBa8z1Jw86c6WdR7HOsD1tKhf6K5OGb5hl3ux3c4iEhYUwHoy1FxVSPpZA4PTtH1w8skRRtuMiXHHk/GeFUODC8AgLpd7F059W71ydEn+CXAGQ+cwR1qDFSBGRo5FZeXOSj55VRD8gMlRNN9YQ2ZKYBXmrquE9tHUFy+Fju3dlsVUq5SoBpqJtBjaMLvoGA7ucxN+UQL3ME+N4o9+L77n3uW3pHKfyMkNcxOrL3zYvjrWFhtQzRyoMnn2TXGWRkhJIRmMRMWfO8uc6p+YbBkmBS99UzJaAAUFq3WqqeZTSAF/A+UsqCUMjpyG1pTWykz1jtIwRHwYXEoNaUScrKwxEXIwKnS1QicUqJ6ue6bU8Fh8PUzoX6ftRBRogUZ1PvuJwLfKCEiFQoerPvu08NEGqTNU8TDvsDBAQMQ+K0lDBSoXBjpqSCFpoI9qJi/Y6gWGN0IyxXT7i5lwVdSmkyZ5TjPxdY0dnUZ7zxFlLR78OLmkr49oEGVJ3pgExw2pJLG+o3nzi/XzdX10g+Y91vIBLZMCXxiZFiJBupUBSzWupA2hwXKjguB1vT6jwy9wGNRM0MolKfk1Sfm8TNf92iB1YeifZ7x8jUcfz4G9sfuwVOJeFufwelBM7OTimiJmd6UPgQT5neiN1hQm9N+9DGlHCYDlBKoh8czlYr6JUgAFG76CkGpWQBXWreluCV+LH/zpk6d8WTSyFoe1R7dCEFpmXCMAyIyDCdxTwv8MEjpIRp9oipYBwHjENPU9F7spsiABcdHXBaIO8zhmHEOK6QmGy32gyIwcEtDiUWkqbm1KanMdAhpC2BDIzViIcJMVAToznkOkSaqBlj0BmDzhoGYpFMqHoFFjej6y3284H9OAV93yEGh76zKEVhfzggFcB0I3x0CGEmfT57K6dpxjBYmKGjy03JoxRhmjCse2hl8PTjJ5AiwIXQ8r6QS4sd8j7gME+UlbcsKDng9vYab77xBsm0AWw2J/DuBfquw1IWrM1IheH5CQ7TDgU0cKigBAXD/t8MzRIMKQpspxo9sU74JASEVi0KKOYEKIl5WUjaIjRioogjXSx8jIRK1wrr9RrOz4yYD0wapiy+UgrLaQv5b8tMG2mAZMWcwQuhoQ3RF3Py5DfSBqoyKFhC6gLBh6ygw9Q5D8vbAiGoiZD1Mx4TihTIgibZ3keeXuc2XSOfL4eqSwUpDJDogKVJIMk5paChTRSxwSfkPWBWzhU6JahRYu9UFlVyLVsklWaZIRU6BcoSKVFDwgiQa5tJ5CT3oviUlDNEZulfieSXNTR4SjzFPz17iMevAVcvrmBtD6gBz672yIXIs5qtDM4npCjQ2Q1nWAoEnjZWybZWYHoh0JmBIxsyv4bqUxfC/WgvkTPWRuPVh6/j9Pwc1hi4KeOTDz+Elh1ONyfoxoIsJADFcvQa1cDREvcKFKEMhFLN51VyRooRb779NvrViBwzTh48wLy9hbBrjEpDmhHx6gU2KqOT/P4OGSlkaN3DWosuBPYuUQERfIDpe/SrdVM/KKPRLzNOTk9QQN7ycbXGsDkhiacdUISGNGs8fv0EN9sJDx69ih/+6GOsNmf47DtfwXvvvUeXfSkwsofKET/xkz+FbhhxdXOLL//MT+HdH7yPl15+BW9//k08fPQQ//Sf/g426w1+82/8Bn74w3fx6quv4N0//TO89vpruHpxhe3dHUEA70VmjetTJEg8evwqYkwY1qd47TM93nr2FJcPHuHs4cuw4wbj5gzr9RovP34Nm/MH8Dnjldc+A6WHVvhVsFvmgZZia8urr72JUgre+ExsxSPuFdU5ZwybE7zx+XeYFNlhu73Bk6cf45WXXkYKGV/6qZ+G/N738PTJh3j2/Apf+MI7mOYJu8MNlCGXqBREyIakwZMxFpuTDQ6HA85OT6GUwPNnV/A+UCFeCjMoKEYpJ9oGCPajC1SwIVq+shBAilRQDgPFpQXv4RwNg41V7NFNUBLojMVuu8WzJ8+hdY9FB+hOQ2qFceixHleIPreILkDSGVSYXMtFbfIMdkSBgYTKDEiTAsvkkOYF3WCQTMb+sMdhdlhvTjBPC15cXeHRgweYF7q7+oEgIMiFfJkhsoyRzre6xVayZnEXztskArUyukngqvrKcCEVU6QIEUmMGioGWUWhSQmUmfkRA4FMKkinfn7m2cMYTYohS1LyGCOMsLQpZWCR1hQ3+NnPv00bkJLx4KWHePb0KVbrNS7OzuG9w4unNyiFYhK9pw25ZRgjuJnUqqCkgJyJlp0Swcgyb6rGYcAyzeTcKWhxQ1IrhBgph1RoqmF4qxZ85O06De0PYaI/F8Bge6TJN98iWbh4oyWO3kEl6fOQBUkBo4ssffckN2RSb8oFzgW8mK8pyinT8iKVDM/yUh8jbnc7ygbVulFQwVDKyvUILgBCNnVM9ePVhpY+m7kppEokv2hgiXcUCaoAMRWS8QpqqkOgRo1yb4mpoi3J1qdlJiKsJGhkTgk5ZAxdhzl7xJgRPcF8tFKImS1RTB6n+14i+ghoNO8u+L2sfkcojkphj6KUkuve3DbVSgqMXUeNWcksU+3axjvwsKY2EeDBd4yJpfg0mIp8ThRB/t3Mvl3NTQ3dv9zAM0TRhUgcjb5HnB39M1xraKbcOudo0KQ4VURoXoho3vBSPA5RsFOrB6pdq9YxNd1hHEcC9kn6/QwPJZOP7a4OMcJz466sgjUdBMduLsvCkEwgLB56UDBSQ7Nlr3DcpmISvWOonJCKuCL8nGlFMSeFkytIwlw92BLr1eZIUWaeiVRE3bZKYfZUn6qWe1voXoCgqENewKBF3dSsavrceR4KVTUG2XWJHaIMbYtt16OzNByzxpAKCKLFSVXZPZGhM4yRRIcm4hkEs2C8WwBFg72SSeU6Dh1QMnrbIzCrB5leF8/PRggJOeammlC6Uplrmkzh4TzF08WQjgNJobAahjYsiTHy85DgvEfJ5NEVklQGOTMkjZeZxBfSkAIts/jfaGNbJY7TdMDZ2VkL/q3gpYoczzliXg6QcoA2iiV8hJwm6EGA7XsoAUze0VaN/Vakt1+aL07K48SwehylpEvRFIIpUVMrWHIkECLlu1VZcZ3wKKXhfWRUuODmCdBCIUmFwECJKhMIzrPswmOz3tCHrkgEFzH0A+6WBSkkpEDbusxZZs6H46QhEN7dMimaBgChTWOtFU1CSRIfgc3mBLe3d9RUKdHiWui1ViiFDpnVasTtzUyT50xyrumwx4OH50gp4+LBKQ77CVIZdMliv9/j7m4Lq89h+54lRureZFBivVnjmZJwkULdhRDoO5I1Jz7U+s7i7m6LkhNW44CHDx4gpUx5jMsCybEi9eC11kIoBW0MhmFAzz5swd7Skqlx0UrRtMkT9VArRdTJ/RbW9AjOc1i8gA+pTT3r1jeniNvrW1yeXxJIanYUwVMi+s4ylTAjhoyUXLs8q8RG1Hw5CRir2evEzSAAbSzR8vRRCin5l4jRQwjD/gnJ3qKaaUx/TokZOdNkr/DPTrKqRMOZ2vTJOqE9yrEACr4G/zt9v8HP/cy/g9W4gSjA8+fP4X3AX/hLf4lea5YiUzYcP+L8DKUqz+KsV8FeB8/NruTDGSBAVvV1Kj64MtMLZfUyFT545NG7WspRCVxl0ZRLXZqUveZAV6mUYeryr/zqv4/CwDjBHtMjTZNI0lILlk8K+JgovxgkCVXieKRV2dV9UrHkBp5IyfTnGK0IfpYSfuKXJiRRgCIoqByyWrgaxbSRLxkQQs9vpuEAN02yEECtIfcVxaWlUqmXBDMroG1+4gllTrmFwxNcUPAyggrOVDM3qyerwsQkDRC1MZD9iC/85M/irXd+gqVIJCmipl6014SyCTlvXGpcvPF22zbUrZPSGtcu4Z2vfg1v/8zPUkyBlFBcHP7yr/8aRBEY+h7jwzNc3dzgL/zar+Lk5JTVBakNFoDq6RZ4RQBv//RP01Sdp81f+YW/0H4fUjDwNon/HSEFPvfTl3jnp46+adFgOPRzl3tbEKVk+9xX73VpZGx6n37u1VeZhgy894Pv47/4u38P/8v/9f8Kq80JlJQ4f/gS/l//97+N589fYHNyitOzC8x+Qi4Lb39kI0WqQmqC6+cv0PHwzAfHcRoFAA2siI5byZLsoebXRisJZRU2mwGmI0iVuOcBLbkASnCO+QStelZMGWw2ZA0ZVyuchAQf3kcuESPPujfrDbSSePDgEjkD8+yQCxCRGUZUmhRecC6O47OnCHDOrIB3kYFRGYfDhCKBw36CDwljv2ob6O12i81mg5deeYy7/Y7Io4Vk6SIr3pZVGFSkTR8TPffTAesV0YZNR8MbkEIU87TAGIOh70li6ApvLRV6S3ddjCzfZDZEQeaIKs/sAWDoBxymqd2BiaFXux2RQksqWKYFISXYrkNOCbvDAdF7qkE6yoePKeKhfAgkyuu2g4VPDkpoDEOH3W7X7DT1PKgeRvqoUg1U0wK0JuuMQKE7X1KjH4JvSQXjOOL6+oY2pEIgeIJkOReIGC01kCNyyYgsza2qn8wbXWs0SV9T5nOZ6rMsyUsM5nNEvqPI8kNsBUBitVqTZDtnKGNIGZYSndHV78qe3GpRgxBcm+V7wwuCvdU7y3aW5L5MG6b4j9JkwZXWW1JBLHxnslw3MsxnHIkRUjNuhSgoiXLacyLKf2QLmihk6RAQiJGWIUwHpGahNiTinoe3egWVbcORGmVS824z+W4gMt1/iRu+mppCG7oMa3qSELOFLYXU7ENEAidpJvnwqeZtTW5J7SAsrLxLLNFFs9mRksyHACEFqebYv4lMSRxa0zNO8tLAlOwM5wCUiBAS2Y9Y6UgeddFgo0pJuOIhBXFGrLRt4VUKGkiWJLjH7WPiAXSMJGPNkaBRmet9rRVkIelvjglGKcQQMA4DbdKFZMtAZg89mjWp6zqOreLYJWtoC+ki51tbGsZrUryUzHxjVkzooYc1BMXSipZXEoYzfGkjraVm/2z1K8fmYZ09A9vqVp6J1MfhOtklUSSspX5qP+0wjENb1Ekhmt2InmD652KK2E8H8tmC4h9DdFDakHIhVRVBIbYD1wxEc9c0QJTA2fkpKhCaaPU8yGOwrfcULxfuEYlpwywaSyNlesa6vmsbaPJQm3Y/L8vyqcbUBxqSaaWIiZMC5pnqzK7r0Hc9ItvliCVU0P34C9sfv7Gt2z3JeaG1+KhNTD9YKC2wWg1UxErK1VJSYl7mhkgXQqAfB8yHA8kPcmLYRYGCoAlnoMukE+R5yXwh0sEgW7ao1ooAQ4HzGyvohxtFrXXL8qyrbTLED1iNAzqr4aYJOUTMy0Rh4j3p9CvVr4ZhG2vgvEffDbg4u8DN8xc0xcgFfnEQKOiGHoknRNF7Ih5mwC1Lw9tnNvTbe5CL2lAFllw4Rzr107N121gLRU2cKIT1joEavcXNKCVhXA8oksKXu84SUTEl2vzGhGE02O8MgncAw0AWbkRr/m0/DHDB8QVC07r1mqKHZrdQ0awVLs7PscwOQz/g4vwM19dbPkRo07zd3tH2mQcftOFMWGbaguYYmYBL7xFKhpEKc0xIIZJEhfVCVTJXt8wKdAnVmJ/MgAqKGaJ4pI3eUIOgDW+5Eko8bvUzrT7bYbRer2GNwX63RyoRKJTlViUvuQCpCAhJsviCTD5a1jC5QMRpCcpai8kDXEhlRtZbpUhixFAFrTT5y1i0Ilg4W0BUuuYpjnXgUtomY1kSvvzlr+GVl19FKcB2u8VuN+HBy6+RPLP+meLTxdSnlRyibTXAGYMVE98kVCCQk6ibMP6SvKmqOXLN39sozX/uBCr41PdqKKa2STs2IB3/7P+qryIKCncSogCqo/0owRtyixC5f5m0/xTHBp9/YKCQVmDiDRbsujK9oMCp4yURffK4i6Wz5P6rmQsi+2olQU55ky2b1CoLHqxpKoYyFIoQEBrQDEKqb00FoOBe41pAhE1a4VBuYj3vKAKNtlYuRfIh64EAFALs+wXLeEkdICTl89LrJZukuRSJyNT6kgT2kyO1QNG0uS4COXDyKMujlyWhFI2cBIrUCAxUySwtFDzhrMVk9d4KoZH5XC6FX4OcIKEZ6IEWgwUeuOQi/qX3txT2J1U/A1nauXM4wr8Eb1va64Zjc/z4ldfwK7/21zCsT3F6fgkB4NHjV4nHkBV++MMP8M4XPoeLi4e4fvERKy0KVusNxmHAYXcgQmlTEyQc5gOkBi4ensBYVurwVlwphRSZBlmqrz1itVqjHy19pqnSglvIGqK1R9f10FpTPnogCaqxZAXa77eYZ4/9/oCYQTmNSjZIyNgTG6Hve+z2e5QM3N7eYZknlAwET9JviDrwEwiJ7prIio4QWBaaIqQlOmwO5LcKnqSW1lry2GcCQ3kfOPde0Gcol1YQ5ULgSR8iSgbLo+kuloqymiup2TmPZXY4Oz1t77U2Bm7xbYvWdZb8chw9oZRE3xNQsrMdeRAjUfqvlusWK1PjgpSSGPqeGuEYyS8fAR8WPHv2jAZ0wWNztuYiEBiGDsvskEGRVhcX5yixYFwN+OSTT8gfro4DbsExRf3QIedIXIPEA7NcoJVEigHWaPjs+HNL26KUq1c60ABX0RAsxQytLVbrEyTe3gTPkB222eRcUGLGaugwjD3C3jPVP7bCt+972o5C0OakRqkkakQUyytToff7ZHNCylV+3xfv7sFFyTuaUsRar6E4+WBZXANgxkiedVNz4e+B/1rOZyGwVinkY5WU3wPP8MtcCrQ2fN8pyhQt9DqWRnai8y3HjGVaYLgJRKp8AhraRJea9DZGUiChAFJZjjA55sk7HwgI5wMUZ0ZLgAedx3hBay32h13zIUvejMcQKU0gEQTJKE1NSqDmXWhquO5vabXRDO4BR3slCMOD4JJRRIFSpnEgquIxs3Q/+UR1KEekkQIkwkd/9OOietHzscHkaD4p6XWLDAyiSCrPzZGiqCgBiFxrjGOTTRtrzkVWR6BV5AG14Y2wgUAUVPMWUaCYo3AEbKpmNZCSVBo0VJGU65yOqRL0OdRQSmDaLZBCt/iZyNA+yfc8xBEMKYSEFDh6rgEYaSB0xuLIvljzs2PKSHxTVZ96YmuKUqrxXUrzedNn21iNUiJyJNtdze6ugzCjSDrsGUo19B3zLAzXKOxTTvkYKcTS95rbTcO6HbquJ+Ujw09rTm0GRSxpYxmOWeBj4P6JlCq26zjdht5r2tbyALzQ+7hMM0nqjWElLSmLCg/ShmFALBEueu7fDCRL5oe+g/cBQmiM44i+t9jvaWHqvWf+h/pX1oV//uvHbmyVNpjmBYpSLWCsRXIOuz1NN0kiSYWI0STbE+wx8y5w7izJqzpjsHULvFuQY0S5R5cEF6w5RMSWfaiaNKDkDGkkIjJcIOJkKZEx5gnekSSCTNm0CheFtObBeVhtYbVBZyg0W0kNoy20pKnIkvyRzteIYhm9NtgfJtje4u7uji4CKTBYixA9SVWjQxYEL5qmiJQjjB0oy9EQdW5xAQVVDiMQnW8+UfiE/W6P9cmGJv05Y+gHhJio2A7V93aOJ08+4mlPQvAOwzBiPa5oWguQD0tJ9gKSrOf8fIP5MGOeDzwJOQIV3OKw2+1arMLQD/T/+4UufqmRQ4aSJPcNcQaExNnFBebF09ZAc5axtrBKIUqBzPdSCIHJ2hHrzYi8I3+E0ppy9mIiulw5SguFoIHJ9dUd1pt1o1IbbZssk6A6jZfLtEKe2gmBvhswLzNipImw0pIPfkUkQBcwTzOypsmnkBIikeQiigCl6HObYkLfkS88xEgQoYLmCa9xMqLQ1E+q6oFjyQ/LjoXWDFILDWAimFwoq2dSqTbsQSEiYGKJeubprO0GCEn019OLl7A+K1T3V1DSPWovH7f3e8tGCUZrDqjJowLnmPWGXIsL2eiTqNPoemVxN10KH9qFJGzl3je530iw6ZL/U9z737X1+HPW//t9LkcQCJBtoOXHchNawLCZ2nZL+al/mfzw/HM0RcjRx1xzcAULfurPBPadyOMP0X42Opvo8q3yb8XFVaP6cV4wUV6ZQg16j5QQ967/9pMSFOT+kKCw1J1m5fwalPa2lPpu8+eoiPpUkJqmNpO1KafC4AitqzTN4wfk+L1VqfJQ+pxKznWEPGZUAoWKzARQRnwFANYEcTrcU/TkrawfqSLu/4oUA1P/zAZGqx9uAv7wjhb5029F+zmO+Y/0bBaOhMvt/WeSavs+AITC2cUl/5kKRWRYo/HWG2/gh+99H1pJfPDB+/jyl7+IZb/FYdohhYQHn3mIYexRMuDDluKtCmCUwdlmTZRnjrEp7N9zy4IcE+o4wxgDzx4r2xkoZZCShxASLgTMc8BuO6EzBclK2EHh4uwB9vsFh2kmCGMICDEhlQlXz6/Jux8Trq6uMK4KlH4ZfW8hs0S/6tGvekipcHZxBmU0nj59gf10IGkl559qRUPOkgtioc2fgMK8RFglMLsAtV/gfM3AVnDzjAIBt0SgODx78Zz8tKDhLsWzAEXSeatZSeEc3WNpCkROTuRf9iEipsAyWIm+I8p0iBFFkAoqV2qsVG0rdlRHCZREwxPvK9CoxziOcG7BerOhrZXS7Y5KbDlYlgVFSGJU+AUlA+vNBv0wMIm/QGrZ7gIXHfkKeTD15OlTCClgO42C1OSgFBNDDAdjFbwPNCysDQSOskIhqclVUmFxS9t6rVYrbrDSPemrwDRNcG5B3/fYnJxgvzsAGRj7EbubLQbbwXSWNqlc1BYmxU7TjM3JCcmO1dFbqrWmAXEBSywFvCMImPMLUVNLhJTEBJmmiZoBpZAifTa3t1ve5PDvcc9KIAXLn1maOk2eByPkYy0CfBfz0Epk8lXzodG4FBxjFDiRogiBlHlIWfjMYE8jzUHIfy4KSSHb0IWJ7KlQwySUaM1vy0lHRswkbddWkxQZx9z2LARLTmkZpJRp4DLwhlcze4SWMRylx97RqmKq92Zd0KQYCQzJdUKiaxpK0kY1se8yBZJ/qyq3zbT1jDmSNFsWCOKiIquCEEixaLuOB9zc4IrSBvwlCwje3vV9/ym/cIV8CShWhlHjeQTEiRbDFWPAuBpaRnJLOJAKpUTIXCAL2fuUVNTU8p3VJPEt8YA2eiEEdKaDKDWykujEpRCM0i8BKRUIxZm2kDCKY2jANY1kKWGVqIva02goFBgtkLyAyKQK7Ye+bck1D5/BfnnyTGd0nW1JIuAtrOBEFMELm5wiwbLaUJaUW9ZahJBRAisrISAFAekoIYOgZ8nT66MlpW4sy9Kk5pFjOxPHLpZSwElaSKVgXqYGdQ0xcGyoRXCRMtk1NfWeewFSQWR03dgioYZhhF8WCCWgjGIPs6O6VvOQEbQIzD5BpAKpyPLinEPfEyRXKn2k65fKK6Hhptb/FhpbcLGc7yH9q/RL8BZNS4mQPLTq4QL58oZuwDiMNP1g0/Jhv+OHmUitMSSMq5FraQGrDKQhr1Hi6YeSdLAI9iJKSVMMa3tobRB8RIiJNwrkJQw+ojOGGkytkKLmAT6VRW7xLJM0WA0j7nY7opExLjuwLr+AYl5iuEI/9pimqU1hrNGwHcUJFc7GVcpiGHtM0wxwc97pDgUC87xA6cQXN09DtOHJJclNoCTWwxqKTfrL4tl/RVS6zlg4N0MqmvwYHhoYrdHbniIKKoSAYQhKESDi5GSN/d0Ozjl0Xd8OBYHcmhGS+FrOIuOiXGnE6LHMC1ImaIsPdEB2PW0QPve5z+FP/uRPGs03C4HEkT8kV5dYltBiebz3rZg+7Cd45+CdR9fT9FwbyVFNlH2MGr5dJ4klNT8hSoKxFrP3GNZrklSUgqHvKXtOJKI/ZnpPfSQf8aobkGLG5CbYjuFKUvH3IilgZrlOihE+0aUhtWxymjqFzExvM1pxbivHeIC2VeQJoSK+SntqOV+3D6KUNsE9ZpGRjwJ1AMSqgMIRPTFnzPNCtGw+kCWrGiioHceGhaeB+V6DV/MGj8XB0QoABoopRb7gkghZL2QdKlQ/imjFnMwV3lSpHBQLk3gaKXVtjCvTn95ngl5wHuX9KCVuFo+qjOMgOKcIowXD2qihVpoy4ErO5PvhjRW9H1TMVf+TlEQRrWePkCwR5Eikun1LOaPTTAtOkYmGpilXALB0hny3kmE4NOUurVELgWAOp6enSCg0VOEJuTUdOkPPRYiBsw/ZJ31vu1E9oQI1DiiznJJeG9t1mOYZUgmE4HBysoaUEre3t0363g89OquJ5hlp+4ba3DPVsEqRq1c4huovFnjppZdwOBxIvUPXA5aZhl0/+P4PMAwjcQcg2qaEe0wMnN+6LAfc7XZYrTbt+9E7zJFSLF+sHAajNV569AAoBdfXWxQpOej96KOt1OS29S8gP30BtDFkR+HigYZQFFewWa9xc32FTz76CG+/9TYSfx4ggPPzM0z7B3j+4hkOhxkffPA+Xn7pZSwfOuwPN/jo448hlcBPfPHL+OTZv4DRtAmRgqSk5JQtKAiwVsJaCSV7uGmmgiZI9Jbo+2dnJ1itaKi4381NcUEFuYBfEsJ8wEZsMI4SznmEELGwP1doknUvs4PmdIKT0xOCCqaI2+0txnFkqR/vwgs1XienKxr8pYK72x2CL3xO5DYUSDnR2R/poSm+IO8OzAWg95kk9sC8LIhpwdnFOcH3bIc8LbRnkMctqVYKLhJcxzu6U42hxlYZCaUVxe1x3IThrV6l1motkQ0NdKj+Fa0hK5EK2MQwm3IPmDXPM3JOGIaB8lCjR0GFQk2QUpL6CRI+0JDg0aNHKKLAdJTukENCb3salhpSGfiFAIH73QF6XnB2foqe5ckxerIl1Nc0JQYy0bZaaMXRMqnFQBneflfbFxXDgrMw1aeI1/U5WK1GinuKFk+ePMHJ+hQl0QCwCOIUxFjgQmyyQKMtn0cMQcwkY04+oJaUSkvEQP7jEJgWWzK8d/weBWjVIeXUSMuGz1+wT3d9soHmhiYzcIgffJQCuCU0yJNgWWXMGV0voaAQfICyPLwtVHRrYWjorSpTgWjWIR/5GTXnOJdCjWominBJNQaI7i1IkgErTa9t4XssZ9pyEciNt6mJbS1ScuYs3608eI3sC0djXBx9uLlS0kPiuDCGqUnJ9h7ZrBy1Qa33dM7075T6WWfopBaSPbfUNCtJnJKmvnChbQNLAUKOQKfRDR2E1Jimuf0MJXFUElOs6/C7bu7qVr7WjLS5pGaUbH9oykpjDJaF7IHeB471Ilo86qBWiAaUq/dacIFTEgoEE4bra1G/X61hfYgQCw8g6vFfa4emnpIIkeBaVnVQQiOFBKEF59qmZhVUvL3tbAejDYykOqbyfWJKiCXD6OMWlprDhZRbQqCkCK16XJyf4263h1sWbkhtiyMqheqoapmkez3B6AGIGUkUAuaiNJuIEhIJ1dIW2/sbY4DWa05KSBhHUsmenGxwmCZM8wRghFYKC2/ZpVZEO2YYmuD0kZKIH1PvX6kknw9ow5i6FwiRAVydQYieWRGVEC6xeIqGSyEhuICeN89FkHpRa4Ve9IhM0Q6efbtKIcbC369pt/61Xz92Y7vb7XB+dgYlBXY72lienp7i9PQUflmQEzV/RBUz2O0OVGTZDqdnp9jd7TjsWGO7vSMIC/umwF4KxXmHUlGBKlnClzJ501BDoWvIciyIPmC9OsE0cTOnJGSW7YGLTA221kJrQx+u4LC4BdpYOO/4TeNtXgFJxliKlzNRICmmKPKL7tslzk8PPZySAswXt2AYehgTkTNJgLz3JJHRCs4vKDBNfjK7GUabtl0K3sHaFb2ZDBiYJ5IcBx9xc32F3XYHYxgCNQwooEtwmg5HcpogSqTWGlodM+qG1QAIRw+o1pjnBbe3LzD0BlYbgugwor2z5E0F5/M65+BdwO4wo+8HKlT7Ae+99x7eeecdrNdrKv65kC8543DYYb1acyYgcDgcmK5NHomcqIns7ADvSJblnMNptyHv7zDAzQ5933EDGbjA5kkvU+SUVtCSGtrNZgPnltZ4Ct7Ai0hbGM2eKi0lFufRWZJlFIHWXKJkWNsTOMF5iAxk3qKFVDCMA+fgJhQokohoktLUz15rLvFp83udNgKCY5YERJVoKvDEmB5oDdWeg5ptTFM4anBvbq/wn/8//lMIEZFSgVZEkcwc+l6hNIWlMagHKv8s1fd434dKmYsKLz16DFEkPv74A0iVm+dBGd0AGBUeVe0KIoM90ZRRJzkzOpcCJQQePniA05MTPHn6HLvdAVIAX/jiF/DkySe4vb2F1sdLS1TpMBcG4J8/s8zI+YC/9td+A7//B3+E1994C7vtFh9++AFW2gIMOCjs9ZFKIvGfRaRCirPoux6KvWrKcLPgArQU2G5vYKwhX896hcevv4bd4Q5Ki6bcqIj7KjfSWjePfy02pRAw1sIYg2macHp6hp/+mZ/DixfPoZTC3fYOYfF4+uRp8yK74HF7c0O+c9CznHmS//nPfh7PX7yADyRRFSD66xe+8EX85E/9NG7urvHs+VN861vfwOZkjV/+5b+Eu7sdLi7O8fz5C9zd3mK/23E8hODNCJ2zUquWa/izP/vT+O//+e+Rjz1zY14yHjx4iC9+4QuAADbrFT75+BMUZFxePsAP332P4wrqV24qDCklvvrVryHNM/7km1/Hf/Pf/H/wi7/0F3E4HHB1dYWu63B2ctIKZyEE/tIv/2W88vKr+OTJh1hMwMMHl/jGd79OoA6m4dYc30rJFVLi4aNH2N/tsN/v4WLkCAy0z1IpGRIJq9Uav/brfxV/8kffhvfkb2vDJm6WX+f3PRwCPvn4KS7OLvDyy4+xOIpU01rh6fMn6IYeRkuUFJtgvbCCpOskTk9HrIYByAJuTwTk5CPUGjg5X2O9GTDNE7bbPeaZir5h6Cn/uhuQfCLaZQKubw+0WUbG7KgZMKCtuLIK3dBhteqxXvUw1iKkhJwD5aMaQxLHyBCnTJP/ywcEUTNW4PrFHfxCkCCq1QVT5wkoYqSG9wkLf/6NNri53SElyvk02mBeZiipsRo7SHHFHlIqmChbuzQ2R2UuUCFMf2mjITUTjTnaJ8bEU/4e3hOwxs2O7+gKrClYrdaYDxMy52bWZ1IpahaeP3+Bi8tL5Bzb3Xg/EqY23jHRMH61HklFNBItffa+xQlJKdH1RETtuw4yL3jx7Bp5XnBxcd5iylLJ0L09DpQz4F0karAPBPy5N6QJLNXMBSg8SPYhQAuLw25CZ1cN3ELnT4K1I4xRcI4a9/V6hRADpCQ72DQdUERBN9DW1naUIJFjZn9yaOwPlEKNn6cmsH6FEJBLQt/3OBz2DM+jrdviF2ijMN8dkKSAWQ2wxpC8ERR71PUd5sPE22BSjaRUEwbYRxiIlyLueTKP0WRExa1DymrvkhA01LHEdTHSUCRXZosNb+KJ8gqEmFGygJs9pKANWYqZC/PCkWWUySuF5p+DPa5JsEyX2AsJiQdmsv3M1Wp2TDpA4xyAGRy4N2RKiTK+tdGtfqjANNxjxlR5cf2cxkRe0sxyXbRou9IG1KV5QTOlG7BqxvaCIU3Hn7VF97Ua4nj95kQqKZ9JRZFKYlJ4hlJH+169/4ZhIMoxRxQaTR7PFGujUpcHJHen/GdSFGpDcVPEsqgqI47vuqdmqv/dWsuJAlQPDgxvy6ykaywVAFJmFFkQ6+CdBwYFAiJRrSJiYt9ugu07JB8wDCOc2yIXAo1au0EuCYOy0EpiHAZM09z878vsMK5WpAhJpAIoiSTjOUVYaxAzb1S1BiQlQiitMS0UwWasacMMLSWrLRVyYco2w5VCCNhut63hDRyxWdgfrxUzkaTENM/omy/2CNDNnKlbwVcxeoTgYbXGxIRxGsgGaGOAQtndndGUj1woTtW7gFQKKzBm6gP6kWLxYBj+l6CNJRhroc9WjLENPlIqCJ7y7esW/sf5+vGlyErhbrfD2ckafd+zr2+H8/NTWG4Kzs5GzMuEeZq5KaWp7TAMOD09wdOnz6FY7iMEHZrWWoApcbo39+SS5YhGr/6wew2bkgolFuzu9hxV0iEnB5lye3OspQZGcQyAUrZR3bZ33Kgrxc0n+d+6zsJa1TaMWtEldDhsUUpqua3IVY8vKGqiZPKS8AQmmohhIHqbguIoDs6Z5fzbeZ5ZFScwuwUp0maGPCgLOqVIRsuyk2V2bLQPQAF6Q/EDSmvM96ZhVWaja/6sUo3+VsPWx2FokxYAsIZkxMYYyi7lySK9DiSPijHAe8eaeqLxWdvh4cNHePrJE1xdXeH111/HRx/+qG3AUGiDuVoNLCHRCCFimmacjCOHV5N0s0pZgg/oOR5AQGA9rvDk6XPYlx7SVIyN9kLyVDbQIWG0ghK0SV+tRpau8XQt0NZJCckRXyQbSiE2GICSGtKw2DTypNTShSwTHX5C0LaBLofU4qQST7pIekwHeypHuVDJx6lm9d2kjHZR0t+jgjxxiH3OdOiVI6moTVpLbSiFgpTAk08+gDHhX6Iu3jv5qYFlil71MH36q8o9C1LxULLD/+K3fgsPL17C/+F//x/j/R/9GYwlOW0uucE06kZY8GfbKoNlno8AKY5vAc+AfuV/9Ev42ld/Af/oH/8z/Nd//+9DiYgwPcT26mPs7rYQgmRgFRZXs1yb4FzU7y2Rk8T3v/NtvHx5hn/vN34N733/Xfz2N/8IE4uHq5/GGIPT4QS27wG+BNbrNVIMuNttsXeOLzy63EP0GDsLLTPSkmGNwelqg9/41V/Bd777Hfz2b/+f8PzZcy4oqhwqc7FwzGD8lP67+W9oS/Fnf/Kn+K3f+p/jF3/pl/Cf/Mf/CX73d/5J8/xUcW/kBqni9XkNjqcvPiFPXpPXUgH2/o9+iH/4j/872k6HAOcm5Bzxo3ffxa/+6q/if/w//ffxd/7Lv4P/9p/+Dr3WzS9N09MsOXuPJUvf+vrXSblxL54qxojv4Tv4wZ/+Kf7m3/yb+Oxn38bv/u4/w/f/7PvYb++AFKrdkenUsk37lSR7BFnUE1LykEjwywElBciisBo0hLB49wc/wP4w4/HLL+PLX/4ygj9gOuzw8Cc+D6MKRIxMUwfFMJXMAyF6Rg67Gzy4vMA8baFEJsBY/cAKkIe1FOx3d3j+9Bl+8itfwu//iz9EKrUoO4qxrbV46zNv4Vt//C1IIfGtb/0xfukv/CJef+11fPCj9yClxNNnzwhumKuInQZGMXoIaBhtsFmvoaVAcBHr1YjoyX90frbGuOnZbkHFifeFoyckNus1VqsOs5iJ6xBJrqcUnSOpSvWiQogem5M1xbxoiWHoIKSgXHFkLN7BdB0pVzzF1dVmosKGbGehjIQtEiEWhJpRKMgaERPL90Rh0B7lRs6L43uSNuzjOOLm5rZJCDtrKaaGCfK0pSAJrDU1hzSg60ZYoxBTZAmn5KFKaXdaCIEtHgo5FbjkUAT9/7WYBmhjv16fkM92v+dnk2SJ634FiIKr6y36foAxkgdqhRUkaM/HMLBH7d6grXpd631H4B1JPI2c0XV9+xzUY5yksFRMUlOqjjLZxFBCQcOlnMk/BxoPUYamNMiBeBJ03yd0PUX7jeOKVSSxqTjOzs/w7JPnWDgLVBuL7e4Op+oU/TCwiiSTZ5pVRJJp/YqL6BA49xfHu0Owkqs2YhBM1Uahz4+cmhQ8g6I9RBFwgTMsc0bOEUrSUL9k2f7slKsCIEMbQ1E0kWCcSiqONKTnvW40pSC1gRSkbNOKlE850nlbOQVEXJXNG0lefG60FOXJK0XQLiESv3XsBy1oSqvMsUeC/cE1mgWRrHou+E/xIipgqtYIVVpaeDOutAKkoui1dGzc+r5HCJRTXWuHugTx3hMItBKPQUOjStk+NqV8l1pDsTmsiJKK6g7nIzzHtNT65ajqKOwJrQ22ZFk9yYoFpxjMy4EtKOpTC6ja1FcuCqmgFEP3qG5ISAQzjFWJwTGeypAigzeEstZeTFEHw15rU1rVS6IOlVt8FkG4lKre+4KYMyZ3wNB11ETOM5PTOS1DSxSGNoKJwD4ECHXMEw6eqM0C1AjnSDA2ow2f3XQP7O92kFJiNa5QEqmRvCOVg1YaS4h8phJAT/MAi8jhdC5RpjOguOmsg1wpFfbTjM1mA2MMy941um5AigmueBRHUV1KKoTgKW/XWlhrMU8LhARUybC2o6EhqznBaixKw9AYmM/jPdUEwXkkQcpbKZhiUwp7hUtjR5A1i16T9WpFC6B7nxGlBPzssb2b6BzWFvM8QbMFLgQP/29Dijx0ZO4lIu+qQTByzLCmg5sP1NVbTWH0kSfW/MBt1ms8fPgAu90eMSb0neVCHbDa4nA4AB1RMEl7TtTEVCJEJklXluzHEuAiJSPEhBfX13j48CWsTYd8u8U8Oxymibww6w5SFOwPd/Bhi77rgUKe0nleCPfOl1RnCcKhNEtXskA3EExq7FfYHw7IiDAa2O8XKE0+Nm0UUhI0DZQkn9nv97TB1gad4u0Wgw50Z9FpA9HRqTgvVFSXrNqU1DkPNVggAyFFdH2HmDIePnwI5x3h7FnqGjLDs7JoF343dBTarNCaQMqqpUMBki4BJQsEItargTfFdJlICRip2LNXKPooZuQSIYTGahwghcD11Q3e+szbeP7sBb7/g3fx5ptvQCmgMxIhegTn0WnLniImqkqFGCJySjx19xAlQ4kCkSP5g/sR2R8zXXNOEKowxbc0f6pSGgqAlBraSFD8JpFuvU+Y3ELebqshwAQ29kd3xmDaH5hCW2AtXbAxJoRMsqmYd6QCYKlxacHjBc57aFlzGI/buRqMXv2BtZiul3bmTaThzOTqF27+x5QbsOPYzJTmlQFvc0uFpygNYzRynuGja3LlIstx8i5YusySE1n+5QjrGj+QUkYqBUrShWGswTB0KCWyhyZDcvQCQUZIylKSwE/9zNfw137lr+Nv/fb/Di9ePCGQQw4kOy4EGhCqg9AD5bAlB4GIziggBSAvyIKkvigRAhZGW/YrJ5QsiG7JBFdA4Vvf/GN85Wd+jnxyxkIZg9OTDfpuaNPu4BacnG3w7Mkn2N3doTMK5xdnsFpApISTXpP8T5Iv5LAcsN89xenmlOKf9pEuKwh0SuPRxQUO2y1ub+fWrGaGOCUA8R7UqBU2VVbNZ/7+dgslBNwy4/ErL+Ph+Rk++vgj+ETKAXzKHyzJe8qGbbc4WuM0ySwd+t4F+AWsgkiNFt1pg0cPHsA7h9deexXvfP6z+PrX/4igH+1bSGRJmwjB0uHA3j95T+pYmB77ubfexnq9IRK31ijR01S8sMwc4IgNuuALk+iREoyWUCLjpUcPsT/scbu9hTUW2mg8e/6C4lCMQSlMXVUGUnVYlhsobdAPFrvgGwQOQqBasZp3znkorWjjnunMSJwheHJy0n6fw/6Ab3zjm/jNv/Eb+Na3v0skU3F832qRdH56hlcevoyPPv4IWkp890++i7c/9xYuzh7g7u4GYfGQmkrZzpIKYHEOUhhIoaCEgCrspc8Rthe4fLQm+FMv2fYQoa3CMA5wYYEdzwCpEIoiCSg3QMuBQB1dr6A0Sei7nl4XKTr0I32ejVKU07hwcQkiwU8sgU8pIviAk/UJUkzIqWCOB8QYsV6vkbPANHsU7xHdhNQka9yooKAfupYL65hum1LGfprJCpIyDtOhFa13t1soQ/EchoEllEbQYV5maNPTmVnz3sEFkBZQVmJZqHDTnW5kdbAUT5SCzmooSQWgMR2Mtdje3eDRw0eUdy6A/bTH2dkppJTYHfa0cUqBvGsMgaPPh8TN7RXOL87b0LC0ATFpZ3NkS0USSJGGDTwq4oxG2jwIodAZxfLL6jHXJN10gWWQon3qcia/dY0BCj7CB5KYBx8JXJQSdrs7dL7DMAzw3rVoPvr5EvpO4+R0A4hCsBok2OEMBYkUMyy3VJyt6RaHcVxxXIhCkZGyahXatlAyQCklkjEDQFbEI4mBeCdkh6m/jeBnipQtISWO8aDzWUvKSCeLFm2gQqyyUIoJKilyNB8xQ0oRFHUnFeLiITOgrW6b3WHoeEtOnseSyT9ZkkR0gWnZBctMikNRBCk2CmjAyTJXqg/zceML1ZgE4h5okmBwuTXNyJkBqgJKalahhMY3QGt2CylkcuRsU1q0dNa2XM/qoUaNhdICXd9DpUiD/GFEyQJGkg2AQDzHrXHmmkIqUk/VWL4cM5LkproUiuDh9yDzcL/vLbquQ/AMiy2Ua9t1RCC3paMaJgGpRGhFUm9qyghqVyXVwDHyqMIsMnu8c8roOMqnDlZ9WBCTbBtozc22rykmRbStcoVS3X9tYyBKdxFHxofhAZoPEUoByzzhECP8QkBUYzSk0rz8yARNAyA63Sx+1mpkkaCVwMm4wiwEICl20qcEyeClkgqkoppPQWC9WgElY3FzGyAKRekLKYRGZjeK7Z2gSy2XRHR4I1kaT9CsSlePkSwNgXPLZ+egDcmIU1qgrcE4DKROyQRes7pv+ddKKYRIW/VUEtHGOQGh8GeiDuzr65tiREwJpqNoUq0tv88KMWYeFiV4F/h1N4g5c9ki4CP5j6l/IpBqCQH9ZoMUPHJMsN0An4l5IP48e+X/z9eP3dhS/hu9gN45dNZCCol5XmA2G5yenkEbBWtpclglPJWKOc8TTk9P6U3wnuUndapSeCJCFMA64S+QyIlQ4LLlyEmE7JkuKmGLQCwC+3mPz37ms9BS4nBYWJpGUx1mO/CWiR6gUGhruBl7aKXRWbTIjBqtQ1CfzJmaGlKtcHWzZeN6zRRLgNBtQ1qqtzIEzPOMYVxBa5L8IlNRmEKE7Hv0HdEHF+fZZ0FDAMkTRYCIgiEGwAOHxeGt0xO89OgSH33yAZz3DKVRHKJNF0WNNJGSjP8QlSZITXPKZEw3lqZmzs3cJFJ+bEKGUUQVKOwDyUXAWIF+7OBcgWVM/83tHT768CNobSjkPgYaYGyvYI1A1BIJBsEH2M7AdhYoHkpI7Hd7nHckNfHOIQWH1dgjJxo8dJ1pD6zW1DwqRR6SwqTVFFOb0trOQAiFEImESRlglppgHl5orbAsAUho0nelFPqhg7EG07SwvDTDmO44VRYZtrO0ocuSCXQV3sNyqXqFi/qftOluvliW2UU+5BV7Y3IBNJNyq3+FhpnsW22SKGoYZC26eRNMciQFHwqUBk+7dZNbkgxNIrPfNbGcUCl9b3DAmbmFEUmFttz0VdqEnrTBGQD9ezQ9ZK9uFtje7hC8wJe+8DP4R0//Psvq6DVEUShFIWaBIlTz3xpDXsDLy0sIEZBzIJK64nieDMyL5+w0wZ9zBSkp63ZcWazXGwCUj/fqq6+22Izp7gaH3RajEni6fQYRI6yfsRpPcLFWEIIIr1olREQ4N9F0fJqQlgW7UnC73cJ0Ays3DthsNgjBt2m4YO+0Zi9VLXzrZws4nj/gTTsh8Wlott1u8dJLj9D3PdbrFU7Pz/H8xQtqBGV93+8VvCDJpltmVjaIe58Pep9EFvzsRAQP3kJH3O122JyckKel71jeTtCfhIIkBJAzEksXlSI/j+YBQUHF/YMhNrTdNUbzcEoQWA2FFA7IENC8pSCvei6kyJACOD87xWGayENXCZZSoQhg3KzhAsGQYwY+984Xsbu9xH5/wOWjB7jbbfklqdgoPt9ZvggILAsNYim4njZZ1lrM89yGtF/5yS/jD/7gD/Gtb30bv/RLv8hD04J7vW0D7b35xps4HPaY5gm3t7f40Qcf4eWXHsDNDi7M5KcVGZeXj/D41VdxdXWF5CM+/OADtltYlEzAIKl7vkvAG6tM9wkKTk9PcHu34PnVLTan5zBW0wYyMYQsFZQcYTtqdFfrHueXJ4iRt+KywOfUnn0AWK9X8MsBznnEkjEMPUNq6C6m4VGE0hJCGAyDRcwFRUnIaHB7uENicihJQSMNEXlLrY2G846z3COmac/05ITzizM8f/GsUS5jpAa+Apiq91Brw9YNht4pIvpWH2ER1OwZYzEMIxa/YJ7c0Xub2E+IDO9nqG5EDHT3fPjJx9isTpslqB9IvTHPM8bVCCMlOquRi8Dd3Z4lpwVdP0B3poHbEueeCwiOAQFDVwQUFFzwSIGoy4027AKkOsrsPMNkSs6I4Xi+astZkJFgMpnrESUUfPYMz+ohQe/Tfr9j+4PCMPTY73f87BWOVKOaqe/pHlRNwkpZp1IKOLdASwWwrSiE2Oi9MaYmp1WQ3NhyoS4JegMQ+EsoHP2mHLlCrAZqBCvnIEay1CCBUht4M14zTwsDlCp8yDvfbAz02QRvyYhLIJXEftpT7Ng4UO3JyjVUZkRJFOGmKG5v8UTRrryJyCyMHKkZzZG2h6Qa5G0nbxuBoywWopAcE3SeexeRQ26y4KLJ1qa1hgElIZRSWGobmpS4MhiUVi0P9r4MuXpaUVVhSsB0BnFmEBTPwEOM9+6B+9ai41kmK8Syxi7y1hj3eBv3fcBUf8e27V4mB6MNuqFGRh7rHbIRJbaDUFMdeLtef08aqPHPV2oDyhJow5a8miXLbImaaBH5c1fY70/2Lt4oC8nSYJIjIwK+ALoUZJHbs1hVczJl+pxLsuAYo6EVQVDrmdhguAygqgo8rTXLlOnu76zBbpoRQiQIYCS2jVUaSwgNapZSxKOHD/DJ00+afzxXm46QZPVgMCL4v6cUGc5WOMqJfpfOdphnyoJ99OglOOdJoq4qS4j6NmMMRZKyGodinIh0L4No73kpwG63R98Tj0FA8TMi6Wfk1+0YNZVJqQE0y0Q/9JQycZhxOCyIMeDkZNOexcgDwRATnA9Q2sD2BmEJSCFivV5RhjiAoe8hQBvtbrCfAp7+675+/BzbQn7PzlKuUwyFPSgBd7s7YLNG129QiqAJDUfhCEUbrMePH2O7vYO1GiG4NinIDGMhfXiEtVR4hBggWGpXQQ1uDuh6Q9p3zoyrGaw5JTx9+gyf/9w7JEf6IRVmKUa4EMkzWyS0tk3GknOGjxGrsYPQdIiX7KlRZHBTjAElS8TkAEgYLVByJKkAN2t8BLARnIKwJV8URkhcnJ7hxfMXdIgoeuC997CdxnzYI6WEk5M1YqCC2IVEsphCB6n3HssS4ZzHxx89wc/+9E+Sb8b5dnHESNNzqSlIfL6bsVqPDCmSrJVPjQypegJwlJTRdR1PooCSCbGtNW9n+LKtQISx71CSh1+oAQtuwYvnz/HSSy9j6Hu4ecHDs0e4u3lBg4fOwHQDFhexLBO0VcSfEwWxBDx/cYXLiwvM7gDNzaEUJBtJmn7/EiM6bVF8hu4VUiG4jFEGRWQ2q2dETxKonBLc7IAMDHaAc0QgLaVQHMM9cMXAlMacM3a7HW0teIJcPa+ilroZkOyTTQ1exPlp3IRqTV5bhSqVpWGG4KB7MyhooZAFe2EyZS83/whPKgWOEp5KsCyFPpMliTYJLwzYqHmx5K2l8ivnirsHX6aBBzbsUUVmifwxcDxXWqSSEEVz/jSpAwSONElq4DLLxSssDHj29An+o//of4O333oTukiIRP88xRdEaE3yGNo4FxhpMdgOsihMhwXznBBiQogKOVWfkKccX85O7IcRXTfg9OISRgpM044iYnICosd09RSjErDGYOgKToXByXrAdNjj5nqHoj209NhtnxGULiUkQ8MhkTJkBHpl0a0tlujQdx3GcQUlC9zisTk9w2Zzgp/6qa9AaYWuH3Fxcdlk6QUF29stttstLi4uMAwDpJK4vb7GP/gH/wBvvvYGnPPYHxbcbe/a9nCz2eDNz7yBfhzx0ssvA/eygeklPzKgb29v8MmTj/GlL33pz8nK6fLxy4L/6u/913jt8etwi4f3Cd6RbK2zFl3f4a/8lb+C3f6Ax68+xmq9QUaBkLTRub56inme8erj1xhK1+E73/kOvv71r+ONNz6Dp0+eU6ZzKUACtNEkxYZsPm607Nx8ZBJkKt6kIklry5atxYZSnKvHucWqZkcCpydrlDThRx98gM985i388N13P8UTINhKHbJkFEGv+SuvvIK77Q5aacxpJsKs1ui7Dn3XobOUUfrH3/5jPHrlZVLTFC7SVc3GzciZJMmf/9w7+MY3voGhG/Dhhx+i7y0+/4WfwHe+++3Gjjg/e4B/52t/FVfXW1gr8f/8v/02UFTzklpjESioGEUkpEzbt5ActOlwcrqC/uQKh6s95iUihAsM4wq2kxApQIaFWACKztiLy1NcX19DSIXVagVRMnwkldA4DARPZHmjsQZKVp+6IuKvC5QwkIiKnsHSvpSRo8dgO5ydrGGUxDgOtA0TCaXIJpGs1qGUcttoppRwe3uD84szvPLKK/jk2TNY06HvB1gr4VyA9xHL4lEyRfvtDztoDYxygKpb2xzpfJUUBeemGSIVhBQhONKHpJ1U6CaG9mRkpOggtILQwEcffYwHDx+gH0YasiCRCqKAPaI1QoReL60llOnIr2osnfdGNfCQlgqL94ghAUnCh4h5ntB3IzrbY5lnHA4HLiopiq/re4zjCiEsnDF93O56T5nCJNknabNUROgW7EaYnUNMGacXp5h2EyQEMyMiNw+5xZlAkFUp54zpsNDnvevhQXEgduhRUOCWhdMhiLhK2beZ2BIAVquhDZFzKfCOGqgoUxWLIFcSsayUe5ZxZgLa+eCb97Q1UYX+/Zg8tAaE5AKah/W1ESo1D74kWGvhPFGfpaZ/rrOmnRlaKiAWILL9J9G5RnNUqvgVDwJJhi95oEf/bMyVb8E+aGZQSNFC3Np5lkvBcnB0pgkJqy0mNyPnwD7hDGup0Uglcx5zamDFKs8lGbhsW7HCNrD6WlVYUmGQYC50FwUfmcaeCSLGss+2UaapSEsakEZSbqsQEIo8w6lkGKshjcDiFhxlfoWHZAwKlcehrRBE9c25+kQ79NagAHA8VKj/bM1bt3yuKo7OSSG216C3tiWbWG2oQc8ZUtN9Fzz5RY3RsNpABoUQmUHDSzLwuVoS1bUxHVkndamlGcqlFJHIUwjQSmG1XpPsncFRQvGAN0cobXnAJFqtWCNHc86YpgXGSEzzQlaYDAhJ/6msxuwIRKcBTG5ByLT0gyCwrPceStPQxvkAJQWc89isV5TZnAnaRgiv1OyIRmv+bGloKXBIoS0RBKv1SKWZMIwjpFSYGYqXM2WQj+MA52hQIQB457Ee1xAMOE0lUawXIqzS1CsIcaRSlwKpDYYB/HtoSE1xP8T7yShl3YYz8zSh74hIn5l/VIcbFP1Jr6kEKRpJpZdgdddAY/9GG9v1etUogkqxD1CSVCfGiNvtFlprnJ+ecAg7/4tCwNoOjx6+gru7fSM13u3uPuUBrJtUMi7zwcfNVOL8tLYNiSRFlooPQUvF5G6/xXe/9x28/PIrmJcJNzfXyLlgmmYobaC15Q1aIvoGa/1jTAgpkASB3/RajNcDwnsHFIWu6xopdpv2dPnfm4bVaVfXGaSQKSbGdliNI7bbG0jeJIrqC5MkYZ5nh5PNJf09ZdrGlki3dGGGkPDi6hrXV1ucnVzi+fOnAEcwGE0B6XWyWf2pUlF+V90+LwtFFlRiYWcsTZ8YvFVjQTST3oIL5OnJCVpbWENaeWSP3X6P9Tji9voan337s9isVuzflLypChgGA2kkxvUpbrcC3i1NPmKNwf5uwi2uoZVGP/R48eIF1quThvYWQmDoB8pFZKmU6CRBv7h4stZgd7djnyG9nzkV9F2P6TCRrNpYLPMMHz36oT/KyXhLCskGqFKgFflcUoUQsMyoUopJSkTSQM0bq1QIfkB0wjp1I1mTbDO4CkpjUqPSTPg+eouO36M02FSpXnT2qgYOr6+vTw0pJyJvbttjKkzZw8Jwicg+k6P8ud4J9J7IlplKm+g6ne66jkJb7k1SUb07ghoAnwt+8stfQZwj/uJf+ov4W//H/y1t3dMCZTsUYSDkve2QIHndIZLUdJ5mzAcPCAWtLb78k1/CN7/1x+j6EScnJ9hsNjg9PcHiF1xdXeP5048wWA037XFxdsZ5x8DZZsTpqEnaiQiUASUk2rZrCW16RFGQo0dN1FmiZy8ISayQyTdWJrI/UFbfjHG1QlYSJ2en+Nzbb+LlV17Cs+fXeOmlV2gN0miMwLLMEEJiGHpYa/D0k4/xzW98Hbe3N/i5n/kqfve//z0Ya7Ber+lZCwF/+Zf/MvbzhFceP6ai7d7WQRRubAXJvJ48/QSvv/56PWYb3v/8/Bw3V8/wja9/E8+fPsfXvvY1vPuDHwGgzObdbofVao2f//mv0RASGeuTDf3coG3f5z/7GWy3WwzDCGsM+s5AG4E/+/73sF6vkB6SFURyXNG8zDxsku1zyVrSNnWvec2oqVGKzqmS7tNCjz7i+snkV5ShXxJPnzzBF774NhEoQ/wULVFy5BxKvSsSUowYhhHADKs1vvpzP4df+bX/Ced+kjT06ZOneO+9d/E7v/PP8O/+yq/zM4sGaaFnkgrsvu/xzjvv4Dvf/ROsVit8/wc/wONXH+PRo5fxyScfccNo8PLLr8J7g/XaQMqemm2GyDnvKSOQx2ZgL5NUEp018N63AtKHgN3ugOubPYbB4uGDM/SbNbRIGDuFl166RMoe2+0OXd/zsDMzNIaHWt4jJ8UEz+rJzhw3Vrdjgov5uqUiNsMwdNDG4vRkg6Hr0NsOZ+cn8NMWIWWkRNCb+n7FUM83xSAahWma8Nbbn8F3/+zPOOVAo+sslpliHfa7A2ZFXi9t+bzNgI8M8+J7SbAc1mpNlhreeup736swOVYIAVcHd4rUHB9Pz3F4/4d4+7NvIeeM292WrFXMNSCpKvhnpw0CJLD4hdVZaIOaHDOCo/NeFALfULHPNG4fuEHm+EFl0PU9KwoknelsoKezh4ZDIfE9Xgn6nGsv2PQtlYQoBeNqxOFux8OuQpu1RqmtxOUEwOD6+hrjcEobKiUBSUNSajwLZreHdx7CgM+XACtJZVaTIRJvgCgihs7akgoSA2zquVfvsmEkBVkKCXqkQb8U/HtnwCc6c7Wh2kRpBec5cUMIBmoyjdgYkl4W2vxZY6hB4lQAq0mCK9i7KEXNrKUNX4WPinsAwsJ+fGKRGMz7+Uh7ZVuJkMfMWpRar2Wuf8k2t7gZwzBwsV/ubVZpOG0M7tHrwR5Sg/tr1OpTrkRczfVGbR5qU9W4M+yxrDL+GInaLXloDZZ7Elybt79KNBVOSql9liqMMSVStpnOYvGeoaPqHgOkMHAxQatj60C1Gdr5Vpv1xHFjohwbIfB7Kzk1Q7CSTkkNZUnNRoDMgizpZ64QTKA0GX9ilYJWunEpKKay/xRfpOs6zPPM4FqDBLK/Rd5sq+pVDh6dNbSsKBlKqAYwSznB8Gay+Z6HAdv9RMT9lKAt2bISq+u01OCPYGMJpEwgvphTIzzftzVQCgFZMP0S22et6zokQc1wfU/22z2C9xCSEhYOhz0WN6MkapadI8uCMZqGzmxXrAuOOnBeluVoVcsFp6dnGPoBOSVMhzvqdwq9B8pq7nFKGyTWBWDXWfhlJrVJoiXf+fkZLVP4vkMlWktSaA79QJt0HqZqI9GZHjGQXZDuZuqVqgLkx/36sRtbCcBqRfluHFQYnINkQFHOGYdpgrEG0hhoaxAjSRsP04KPP36KVx+/ge997zssdRQkN+07MkSrqrfPWBbfHmCiinkmrtJ2vkDQA8Nm7r6sGF6Q4NyE9977AbzzRE1ODi4sWHWGtPUiohsMoi/QSmCaDyxjpGk/bYZKo6TVJoBe7ABjBygtYayAlKWBipSW6AtNOrVIUJ1AlBLRJ2y3N3j46AH2h23DVtOhx7CIIlBiwDzdQZkOfvFYrTZ0WcbEeO2ClIEQMnb7GcaQh1ZIgSIyBVkXic4qhECHrhT0fZaQoAQdwhTLQJLSjinIKfKElb2bxmgoRd+TMvoSUAIfAhTDs9kYhKApeHw/Yd4fcLrZ4O5uCymAcdXjMM3QRkHKApE9ZImIywQhBKyxWK8GlJLhZofVGZGdre0hNU3xYkncfAvozsCngCwEpDaQKQCCZbQQKJLQ/LKQD8kFhdOzM0BkhOBQZEYUEVnkRvA7zHOLKzCC4FVoFwlNyUgRQsCEkGiSlO5RU0niTY0dmHwpOYsWHJOSeQJYULC4BVLS4Z9CQAx0QMsCREEqh8CXDgeyIsUMC0W7sALEJUGwrFxyHmJJtEZOyVOUAcdupBQhChXQdhgIV68kwEHsiiNrwBNNFELr55IJTMZkRaM0tDAQCEAhmR24AKSmW2DOEW88fhNf++ov4Omzp1gN5+xlkYg5MeSmUN6tkOi6gUAUQqC3AwZ0WIqCg0SKAlr3+Ozb7wDswxqswc3TD7FeGWB6isuzc/S9QehGDD3/POyFdi6hlIjFL4DIiM5TWLjUmJYFxUWmJloGgQW63GOGmMj+YKyhAHrbwceMXitIaxBKwvXdLWb3CoxdYb3JENIS5VUUyv4VAlp13MQRlO6LX/g8/mf/4X+A29strq9veVrNtgMhKC7EaFx/fIOHL7+EXvdt2IKW90hbG5Ukb1gMTaNLzUoGwuwxmBG//qu/iu//6Q/QdT1ubq5RQNN8ajSpibVjT7AjLnDuD1iE1BBKI0Ngtdngi196B78ZfgMXly/h7/ydv0fPkiyAEkSKvxexkzPueew+XaClkGBGy2Rqikqjotc0GBpaHAa9pllw5IQUuNvvoY3F+mSD2+stU3tr41xFawWiULbq82dXePz6a3j3+z+AFhr/xX/+/8a3v/ltZAh85u23cXe3xf7uDlKqFq1WY6dETS+uMSG8ij47O8Orr76Gd3/4A1hp8Ed/8If44k98EeN4gru7W4qX4Tga6i/JpqKFgU+OZLyZvMBakwLFhcTeYKLOC83QnUwWGecC9vsdnFtwulnj7OQEox4h7Qn2d0/gk0dZqIgcVz1yDtBaQuaEFANEVoAme0XisxOC4rtSzNjud1As/apSvArGAdtz+t6iMwqr3kBFhU5oJKaghkj3jZACklzZKEVgHFeIIeCDD96H1RZGBYqQyQNklgjeIUWPB5cv0ebCVFhLbtA0qYh+jwT2eINzzI9RYClGQFuKQFGGIIchEojPR9hVj/MHZzjsD8iJfIhudlgNI7/OGRIGpVCaQbVIxJxQlgVdZznuhtRgIYNiiiJ5IyEB03eAUhBSQ1tLtq2uhzYCCQHG0B0agqNoHE3NjFBALp59+iyrlxqqkLfYO5bOintNpaTC3SjyoO4PB6w3JzQsYjl/SkCMZBuY55lSDzqNohM6a2kLriSs7TDPCw7zhN72yCHCZZIfg0n/IXocphkXl+cc1SaRGALWWQPnF+I3RM6MVoCxGtN0wOxI+p1zQWYVWcmJuA9CQVsNJSQmT7ULd0DcgBOsSEgFLQwNmmvkSSJuScm08Q4+QJbqGZbIhSKCcgw0fDFkwaFII6YM8xBfG4PJBc6xLsiRfK51SFMHEMcmPlGToEVTPlEDSIMiw5GGuZ5/3OxJ1Igg0TJ1UQSiLxA5MHCO3p/qGa2NZYUjESyLTrwcExY38z0M2u5zZnpmjbLVlp5z/vwUzpqXHJVYQBvfUoAyeWghII26p/Srg8fC0VAGLgaqc4xgLkk6bjwbHAtYJoehJ1CoFAJF0QJCVmBdhVEW2i9E549RhIEyvETK0AACD7FiZPK6YcJ45cwwRV5JkDUuJDrHW9Ti8TWvv1vdvJbM93dNsCgKxnZEg08JU17I1hIzetWRgk9QAxtDIuCbpLOUGCeAC54sbPwZLSXjsD9A85CWmt0jgVgJ2WIRF86FlYr4OURGB2LMSIWaPWsMfEjEkIgFwZNycz2MFFHITfyyeBiTcX5+iu12ixg9jNXQWmOeHCmdeHjrvcc4DKzWY/91Qosbwz3rGQ18qQ/TWpM1IZPCrO97WhRYgxAcYnCwDP6LKUAqixQiQValQEaG5KGZEpoWH8mjH7pG9v433th677hYI8mFMDRZKpmIaLW53e8PsNagHwbMs2NTcsSTp09weXmBUoC7uzusxrFlg0kl0PUdUlK8nU3tAHHeoy52qzfH8PcrKZI/IxcIDpDPGRQvsFpBriSurq9wenaCnAuGoaMXVggsJXKguMQyz+3Dp2SNRaEtcZ2agH0REKblM202axx2dwQQMoo8pSlBCPL/ilKgIAiHD4qg2e3uWKxX+KGiCVbfWfqewcP5Gaenp1iv1pSLd7elQ0FRw/f8+XO4eeEoHwXb02Q969w+AJqLygwKQEYJEIXkLSPHFdSDgEBfhRr+4LiZP8rJ6H9zaHz0iEGgFKJHFyEhxIDnzz8m78q8w93dFkIAXWdQEOF9IJCWiLCaHhBjDVJOsJ2EUWPLq1U8HY45wUfCvqcioTMIqCU9tCTirLE0DU+JfNClFolaYponnF9eMMnZQ2qJYezhHHs/IjVvQgoiXweattWHNpfMdEHG15dMsSssQTLWoOsIalQ3lyXxxlOxR6TGUwmgxAwtFYM5+ka1KzlDFN2Q/zFF9tWixe9AkUweKWMcVhAitOeyyqmMNpgPGUUmJnZSdE2p8RUs1ycWbIZmyV3dhNQIHMGHvtF0aYB9KEpK8l0LisbajGucnp7jC1/8EpAEvv3NbyDHA/7oD/4HvP3ZL+C//e/+IW5uD7xJUUg1R5BVGCj0nNaf7cmf/gC//PgS3779BN8rFkIqfPN/+CZW6zV22zuYTuPzn30DY6cg4bBeaXz+869jmhyU7mn6C4oIOkwHFA1M0x7TckBBxjLPHLnTw4UAHwMF0YvClHHazJPqgV75w7LAdh3HHgBjLhBaIYeI27s7IiTWjMIGCUO7QIWQbeoeY8TOHaCUxBtvvIHd3eFT1ErFdHOpJC4fPmh+vuqVafJv/nwSjfQ4RZaCgE+lZCzzglIitFL48le+go8//pi8loKaDcUEWwjy/kd3zIEV97YuaPRTosrf3j7F+fkpxnG4B3qlYsDdg3bwn8I/m2yDotbYNhriUZmzXq+bv1Lw4KcWapCChzUJ87LAeYfdbo/XXn8DdzffPm51haj4taMUNZN863A4wFiL/d0eUgj88IfvokjgB+9/H9PhgNcfv4HVek0Fco3KKBSxRXUnDX/qtk4IgdffeAPXN9c4HPYI3uG9997Da7xBTykil4TDtMM4bKCUwsNHl3j68S1SDsxEkBxxkxF8IOkfx5AMQ4+zc4kPP9lSpA/75VNK8D7i6nqL/X7G4eICDgIhBQSzBkLgDEwFIGG9GlFKxtBRhNK0zNSk5LoZofdlmmcc9hPOTs7uEUkJRBhThgseLZ0DGUoCfWeh+x5LIICND0e4Hm1scsuOtJYI/qvVCvPiME0HWKOw2+5wNx2wGkds1iNCDASE4u1g+465GZ2bDSIyiIdYCTTk885BKAmjOxwOE0KI6PseuaYslIR+HAiaJi20qhEuTPDW1IDknDEMAxVyUjSmA0CkfK0VpEooi2PGFZ3DUBrdMMDNvgHlSLqnYZRkwmtuBPXqPazPR1XRHLd2vLUNEUM/IPH2vQjyq1ljWo5lyRnb7R1WqxVF39SmJAPjuMJuO7EUXcNnfm0LR60IiXEY7w12wPWPZEWTbPesj+SbJvahwDwtLe6IRkEUmaaEgDEExyG+HUmrCxNmaWsJ5qAoSE3exZSZ0M6SRK2P1iGSYcZ7nzFW3rGfuPIG+o59lkxIJ3muYGVBhsgCfddhN+9hpG1+QaU0YvAtoouUUal5LOs2sm7alFIcE1k+TS3mYaXkvFN575ko9wBKpX0OmEUhjznt5Z6n8X5NXIdOKJSd7p1HYSjc/UXTsiy0lRUCinOhycdfUJLgRA8JYxRiomz0UgpBo+5F1bW/eHGaUoYU7L1OBBpKMRHRt8UaUT2hpMJcHHlJY4Vj5abiqXeCEJKUclx7+RTJzJWpQbSGngPDZP31eo15mjFNcwNcVWK/EJYl1LJ5OpXqmoKE0g+Ov1fz03INdt+qRvE69L+lsXA+4G53ACDIisicibqpFpJznlPiiL4KpKNligBHBGlJufdFIGUPu15RlOp+YnZZxDzTcLPaiwr7XGvE4MnpKUpJOExTy2iu/nST1ZGBwdTwaZqgtaLtanBNTVIHNbv9nhSRmdSUghv6yrNLPDygfs8gxaU9hyWVJvvWmiTLEJKz7IkV0OxGUjKihTLkU4pNabpajRBCYDosx4gsiSMk8sf8+rEbW9FCogW6roN3npDtidb5xtJlSI3nijx1eQbVZ+Sb2d7dou973N5cM0yAihzSv3PQb3BEbQNRa1MGsiC/EAF6OU4hE2VyGDtoKxhXTQ8GcoJzM2zX4/LBObxz2O9pEnmyGuGWGdlqztUi3X1MhOxXusO8UJxPKUDRvHoXEkoZCKUglcA8TTg52SCnwI2aRM4BKmRuSjK0FIiyAJka1gcPHmC33ULxh6bCMrx3TCtL8IEeiJvbaxz2B5xfnKNfrQClsd/vkRHx/MUzDFYBmS4RoyzGYYR3t1CMJyfPDkXfBB+bF9QYxQUfb6UjeTKVpM2fViSNbrQ+xVh/IVFiInNpjpAio+syfCjoe4Wh1zg9O4F/f4/t7QusNh1MlZboAi0TtErIGhh6g5giXcgQWJKHLT15lWJELJIvvEA6/yzgqo8rJzg/0RBAUqB68NQ8Q6AdaM4tcM7xZpzoeKazLVvVuYDVuCaoF0BZZikBkkEEKC3cXUrZLlOwT+ZIrwTLtA3lz2ai39HkmPrksHgoQxd211UgVYFQBtACCYmn9hxN5enQgaRmNMVIU0Gf8e/+8q/ge9/7PmPsJQD6uf7qr/46/vE//Lu42yVkcA5fosgN8o8xfIKnvCWXTz3bNRxeoGCwRCLuzECRIhBYDSPO1ms4lwlGYjQ2mxVef+NNvPPZn8SXv/zz+NY3v4Xr61v4JWB7s4XVHflkuFGIJbZhVpU6CkHFi3/2Pn72K49xLR3+zBXEUvDGG69iWXYYH1r0nYXME6wlONZqGLDb3mGaFpw/GBiGAgRkbO+2KD0TAQNN5PthwDLPyDT8bE3V4mhTm1OEVDQ6XbyDlHQ+SJUgIm0RSqqwKCquAtOLG0CMJbY1SiZzDrEABd/fXD2nOA5JQ5ga0QIAw3CEQI3jSBFJhTanDy7PcbJa4YOPP0LKR7kubTuqpEni0aNTWCvx4Scf43CYofoOQ9dDW41x7Buwj/5dwZ8S0ejd7fPAjDBVtVQF2N4e8OLZHpeXF0A5xmXUhrhGSFXAWd3U1r9/v9ktnMesoKHAFO6ceAikCbCXMn7xF34B//Af/xN6XbTC7/3e7+P3f/d3cbLu8dFHP8Jbb72F7/3xd6FibpLUoiSTcej1LygQOePu7g5nZ6eI3uFz68/Cp8DgDpLrG2WpyWSvo2DYW/2Za+PQYnWEgNIKX/jCO/j6178OYyy2N3cQ5SP85l//TXz0ySf44P33kUvE+x+8jyIKTs7O8P0/28N2EhIKhVUgShKtNgsuTpUBXIS72qPypX3y9RNFmyImZcbra9zu7zCMPVabS6zGglgEliBgtYH3CQURStDn2Qf27VtqQpDZ8iOIbjxuxgZ/qlFvVJjUGCVSN0ilIAx5zygmhAYQ1hjkvDBRmwt/o+GCh5YWpusRc4HOwIura8zzjFU/AgA6bdF3GgUZ+8OETEpjlp6SWqzkzKAShZypMdDsg84lQ1ZvZi5IgUjm3nkq7AMX+0XBTxEneY1h6BGiJ8Kz4HuGhegVrpdjpr29pNgRIQlsGWPgJATaFCqhKMopBgxDhzshKAM9BJydrxGEZym6pc0XSAZP0kDFm8OIkhKDOul1VepevcB/PpLAvJtgTYdhTeqHi4szpEQN1jx7GK1xfX2Dw+oE69UatossS09IADexgu/YDLdQPE0/rjC7gMA00ugdpCKZdNd30MbQFpvtD8pQI1WJttF58iQqiWVZCOoFIIWAs7NTHHZ77HcTOtORn1mUNsSVku6ikgvRwENoPvu68TO82SqR7trMWz4zjugGDQgHgMFIovD2zh0XIrlu+gFZJPzsYToL5wmqRkAwAj81SW1dWIDkrzTgpvqlyl1rM0fNeW55qZY39wqCtus58+CpNo+5AZIUs1to4KB4u3yU1lZ7UkYFCTGxVtRBKMOfCmCUJr98SQD7+FEtLXzmpxSQMzV7lF0eEDkvNQfyx1avM/1Z+eifrcMGKF4E2La5rk2/kHVz6WC15TtLsBc1NVsT9RCG+SYaIpJ9irVxTcI9WALUrVcbuMXDOfLPKkPWhJqDDVE4UIJjxroOxhh+3nJ7lutdNQwdRT+q4+soIZAYBjV0HfUeISOGhMNhJi839wbzstB7WwpFKAni7dTXVnPaS8oJs5uxPrlA2N4e+ThC0Ock3JLMO2XYvkMsdcBF9U3mpU8/9jg9P8Hz51eUIdsNMLbjZQGRLlKK6PVA6R3cXO92O9jOHJksvOXtLEn/pZL0rNI0CME7+n59j5AoXSHwcKpK4xPfT6poWjaxskpJhcjPxMXFRZPiL7Nj3gdFEjm3IPNwu9ogu86QKiZ6jJxpG/9tNLbjOLaiJeeCEAPOz89xe00xDbkUrFYr3NzctGKGGmHJGbFgXbwh0pjRyPvM01WSq9RJieAPOcF3cps++sVRPFBveQJAhyllbAEd55aWTJubEBd0qzVQLIymKIrNyYYkrJK2ODTBI6DGbndHnx6e3DQ/RaLiNWcBw9P6ZVkwjgP6YaBLvh7y97TzQmuoUBACxSocDgcqWnni13Vdy+hyzlFmZQEE4+SneUa+LvAh4M033wRQcH19TUh/1aEzHeXuhYAUIwcyk2Q4ZpIsp+Sx6kk2IfiizZE07ZC0LQvBQfc9S1P0vd9fNp+a1Roh18w48uJa2yEmgo+sBo3PvPkY2+0LLG7Ben2GVGakDCgBlJRwdnKCUiS2d/t2UJP3JGG1WuH51Q15CCQZ5RfnYPUxT4s2+A7WSJZL0iS2+k2r76PruhZyv2LfbxGF0ecZwUfegpHsY55nlJwpOFwc4QDVu1EnZABdFtXTl3OC0gYxR8gkiabI09XEcQZCSlg+4GlDkhCCbw2SrqTNQnl6GffIc4XinOr7oJTG5eVDbDbPUTm59XU4Oz3D0I2YDgq5wi348haNengv/ufehi4Xju+BgJYK626AFAqdsZCZGgarFDqlsFqtEVLA22+9DWV7bG9v8J/9Z/9nbK93ADSWJeJv/6d/G/Oy0PuhAJRInviU4FNG4lzUujEWJSPFBSJ5iJyAcMDpZsRXfuJt7PY3SMlhGAaMw4AQPPa7LUWkmA5DN2KeDji7vABrg1AK8Pjxq5CK6MGSm8/DNMPHAMH+4MBgFm0M9rs7zNMEbTRefvkxfIjsL6HtgjUdVicXbdDx5ptvwrInp3qlROGms1ltuVzjjZBUBtZSrqWQEufn581LXqmFSilYKVrck4BA1ymcnRd89HxGWkYeaNAaN1cfqEgYVwonG4lPnnvYvoPpOogC3O52DGziodanmk3RyI51a9RMsMd/AjEmrNcnTKkuzStbi7P270p57+/VJvBIbJac01w9V5WAT9K64/mZc8E3vv51GkawTP7m5gbPnj+H1Q/x7NlTfOXLX0Lf92RLAWcsSkGT8QZUo5/Xe4/+wQOCaXAji+iREllK6oak/T73/FR1MyaYLF6n+qUUjOOIt99+G+++9y5W4wq3N7f4vd/7PazXa/xf/y9/q8GxYgy4vnnR8idrKa+UhiikElCWvHcuJOx2O85HFa1YpYgV2c67nDN8cIAA4n7fmAenmzVgLHKOCG5GZyVEjKRk4LiLWsClximwEB0P8JiCLdoQKh83P2zXUEojejq3EsPx+r6DkJI8XTysAN+VQhbIFBEjFch1mDGOKyzzjNOTM5yenMLHAxe4wOIiQvDoOt2UDfmeJ422EbKR4+tzlHKiz03OQCQp3dAP6PsOr7zyCr7/p+9BS4Nx7NCdrRETDRLr9lE1RgSpqrz3sMa0cz9FAu9V9oH3VIDbziJlAWNIzp1zxmocIdlfl1FzJ2UDo0lZeSSlDRsrQTi3DFvKBz9+b43ZLXBuweXFJZynOka1+88ipeNm7/mz5xjeGI605ZQAKbkxINmhcw7BRwJLcVRMPRtSDNjubrBarTAaLt758yGVgtKaN/vs/2S5KtUgOwwM/2xk60LMEi0teksKLdEIvLFB89odrwhglHOGbewNtPOj5hsryWRpLVnGzvLKItkXm4jantGeqxTpM1rScYNOUu/qCwXbEo7vS1WqEMtCHBkc97ywQkrkmBrLJGeKrWobK372mjqGf6dad6XKgNESOfNGk1/nKgn2wdP2DJQocvx9SwNd0d3Av7timCXbNrqug5AUNVXp12DmB1jaH3xVJdX83vrZpXg+xTEw87yg2/RsZzr+TikdN6BgI0dgwBIEgb7qpnRZFmaA6E8xGpSSUNIgMElccJwRKVMyb64jU79Zdqyqff24mDDaEFyqnsBFsb+atsj1c6wr1JB97oLVKylQnbrdH+Ccw3roP0WQFqwa6zqLXIDZUc1I+d0diszH30nSGaE0DQJTioCwbWhidYfVaoXJTcdkkkzKGe89usG27+u8g9bEynHzwkMCjeAinHMk/+b+bLu9hbXc2BaJGDieLUYMw0DAJ6OxONrGZgCZny9rLUQuFKuZEgCJxTmsLL2mpGATEJIiw4ZhRZvddAS21mFhrIOPCqDimE0Ih2WeOc1gzYomUrameFTw/Ou+fuzGFrIg+kCNTyGQwPOrayoo+PCppDB6+EiOtVoNgBAUt5AKtB2QIKBtR1ECJcH2FmCQTiwEwKkR9yFFdFq1SYSQNGGUQsClBFkURQFJ8nMQ3ppy1up2I6cqgXPY72+pKTMSKQiWgU1AsViPA22DUf1gkiMzAM2e0yV4WBjERM3z0BHyPhXakpJJvLQPHclUSEq13+1wcXmJUgq22y36nuIW+n5A1zmkstCBxsHiQKKJSQiY9jtEH7AeV9SeSIO+76E1xX7kRHE1iQtsFyKm5YDT0xGGidM5kZcCPCWSkrJOcy70vkqQdxOFdpi5QGseFgjQZDCTb4ea2kCbHS2REHGY9jRtgeGonojgHeW6CgHbreA9+T6EUsgpQCgBO6ygrIaxAiE4bDqCRYEhTDd3O5L1aIoL0trSA8tQiDqNosbdYxhGjIOAFpK8fxyPETnAvASSwUaXIXiJ5fyCbjjhglYCiTymOed7U3UJUzSRFPkyQwGMtJBFoiTRyMRUFKJNMVtQQCsKZKMT18NRcIwLSkGKEdoKdIZkhaIoSG05+kIDWTXp6zw5CKEhhYEqElpU7R7YfyaRsgSY9k35aOSZo5iHDKs0LOdCjr2CTBab1ZqzNRPWqwFvv/4qtPCYw4T/4D/8Law2NKiYtgc8ff+HPG0zcHe35OWyBC+IScDHBCMKTAFEpMO0sx0uz88xigQxFPyZc9gNFn10eHg+QJQFJSwowSGiICtBk0xjYbuOgUNE3ZSFLmVtO2xOTvHg0SMsy4ySWeaiFWYXYSAJhMWqBgiNzckG5dFjygtkCaIPAWM/wC0k+R/GEbZfQ5YMUQpeeell9N0AITSE0CiCwBUlZyZLUn2W2Rd9enIKa4jslwiGjX5F0sKEAoK2K0hj6L0ToKxqANvdDkIegEQhKOT9BBQERC7UwIuMm90LTD6hyAJtLD0+ueDs/BLG0qalNiha8p8lMiALlABWa/LZxVDjIuqWSGJz0mOaJQ/fOD4rcUOPo1KicIYsjwdbgVxld+ACtm4e6BlKWI8jLs/PYIzB7e0VUonY765RSmqSVCpeAvb7Le7u7hBTwunZBtNhz3mWEgnlXsPMUVSSYIOHaYfTixO8uL6CuAc/zImKo8yvbWHPbi7A5vwM3ckp5sMeAxdxJL9mTzMkHlw+xDwt+OjDj7BZbfCn3/tTPH71MS4uLvDi6jlC9Og7iw8//CGEkuh7DSlYIZAKdNGAVgiZot9ciDCdwclmDZGfQcJwhjGQBfnk+LQAc3+RqQfG1c0W2+0eG5b2npyukJTFYdljOiSsVj2sJo+9Ukzw3m6xWq8J5DYRBVzajiNn+Hzi99h2A07PLxES/Yw5CWxONJxzcCHzllQhosBwTZBSJOsDgJwCOku+r3FYkQ0Ac9vYxZDIfhQzxr7HFBM6zTnmmdIZ+t6iLtMX78lDyykMNY4m+ggpJJTQMNIAgnyt1nY4Pz/B9fMbDN1LDL3hBj5GZB+hTEfywZxpKJcpnson2pkDJM1XQjFrwENo+v9SzjBdjxAcqcmUwbgaEZJHkbx9KdS01GZDyur9A3KWLJ8l1YESGSlkbpiooM+lYLff4dFLjyA0oAv5P6UEkie5tTKU8/vy45fxve/+4Jj9azTmhUCZ3hc8f7ZF381tYFKKxzIt7S4ynUU/nmB9smoewXgvU9UYsg8oQc+RUfRZSIWo2iQ3ZiChKJgXD+cTtKGos5gihCaPaUpE4baqg7L0+xslgJygjICQkXy9KVKtqdgbKQv5snVpntQa66MMbYG1EryRj0ffKG9TDweyzFToWPWwxpTQd4aL6wJoGlL55I/2D1Z2WGsZ0JYajIeab04RQGZ+gGwwtMy0dUDAWsnqstA8oPf/Irm6OKpihEQICZvNQAP7nKCM4qZWwCpJaBRRqdCCXxfJHAi+PzjeTQK8ZafTO/MGWUqGjwLIWSCDFgRdTzGZi1ugdI8UK7xSMOtB8u9Fzdvubs/VCm97CxGMazNfSdQoBSVFBLaSFCHpuUqJs9I1jF03+GjkZ67vNEKgQdTsiE7sFsdxPQbWGuREEkytBDIIxqqZMRKCQ4gZzgdsNitE72Gk5sgqgdlFKAHEnGhQKARyWrBerzGuOszuAESq2yAIeke0YRpwBU90casUjCISujUKifXdi3NYb1bIJcKqjinfaBvymI/xgfSeCVy9uCb4YGJ6OW9Rtaatqe17BJ9gO4OYici+Wq0glca8OHq+TEfPrxKwRmPhoaUyFi5MMNYi1cZWaY6jJEDhPE9HJVYRrGDJcI4BaNpy7+GQMykfjNUwg8barCA1NcYkyyf1yovrO1xcnKOzFsgJvdFAplggcQ8S+W+ssVVKwRWHkiKktO1QWq3WNIUJgT0GEikFjOOIw2FP/57zbSMh7lEFlVaY5hkx2vbQ1SljTCQRqwVQ8ISnhyC5U9tuskRaygp1kG3ylhIofJvpl0rTBzilSB8ckNRWSnrDhr6H4sYkBt806zUvNeVM/kZeeGUO/a6bPa15isjFbJ3Ki2pcAzBNB6zXayilsN/vm9RFCImTzQnCkDG7gJyArrckDep7pqwuGMcR1lq89vobmPY3uL19AsE+QaUUlpix2+4RUsD6ZOBcMfKGpZygrWGKbmoT1Or1a1UqZ1SG6nFiPw8VDcd/qOa7pZKRS8BhuoPWgDaWva3kJav+qN3ugMNhaRImrQ28i1hvBhgrcHIyYr/fI3G00mpFOZt2sW16JJgCTFm2BUmRP6c2jXVb6r2HMY4mjrVIr+Vg5tDsnFFihrUWw8gejECykeRDk9rUi1JKSV4dxvIbY9qE9ej3OcablFRYDk2XgTZ1UlsgZYbhzOHEE9SUGa5QMmeL1m2aAkCkvcw4/5xJsSBQ8Pu/93v40jufhTUWndLojTr6DPn5oKznCbII9NDorcI49Lg4O4fVCutRE116t4dUBsqsIeW6+bSHvkc5XaNXCXezhFJAyQFC9jg9WePhw1NM00Q5yrlDZwyKLBjGDjkJzNMMKTvkIrHpJFRyWPcan339FaxUgkwHfH92cOfneOU04Oyix/7uCigJKdE24W67IKUMl2hySp4VA+8yf1aPG7YXL67g/EJ5noEkds+ePUPOGX3X4/T0FNN0QCgFh/kApYgc+vqbb8KFQFsmBnP0fU/bUTY/iUK0cH1Spb0UdfTq40fIKeH7775/bKxYQvW5tz+D9z/4EM9eXB2n2dXvxL6Ydl7U8Hpu0qZDRlwkchzvhZTz55np5ygK21ueCJczmryLAojciJvVe1U3rEKU43OPui1QXITdkyaLDCEDhEwoCTg9O8O/9zf+OoyxeHh50VQBTeXBG9sqrc5/7j4q97w2xmg4N+Py8hyfeesN7O7u8OzZR81GEDnHu/p3gIL9YY9pmvHkkyd448038NGPPv4UPBlVXt8gLzRMur29xetvvo5pWfjsVS3fu8KnwNTzel5rY/DLf/kv4r/6L/8uFDRMzemsm/JC/vbXX38D3nk8e/YMJycn+Pjjj9F1PV599XWEsODp049RFg+tAz732hkeDTN8XHB1HXF1UPDFMhQks6RWNG9WPblSyUcFwFGzwY1Q5kFsBFTBbrfHfr/Hs+cCjx+/jGG00MMlhJSUT7u/xjh2kJGKkHEYsU+HdkaCG6+auc0vJEdZ0DZOa0Ebck9gxegpp7h+9umOiAihYBjXGIYO03SFEOizZo3hBmuGlAL7/Q4+Os6Tj9icnCKFiM16xLgasN9NuLnd0jaMlWOCL2PKVVUoObVYlVJoiBNjBDhKzwjBPjPNw9fAvjySzeaU0Pcjn78F+/1EGxi+J1Pd6gHQQiNxnnXmjZ81xI4ITGwmNYKC7Q18nNumXAhAMpSy2oFyRtuEkgSU1EVucUgp49GjRxiGkWI6ViMN4WNhkn4mnhNbAHJJ8H6BNQMePLjENM148OASKdFmLGeLZXGYDhMO+z1OTzfouw7eOY7BYmiSVDC9hc6J0wYytAB8zUbn7GVrbbNzSVZthBSge80cC42MTAMQthXVGk0bugdzObIgVuOIGDwPiiNWdgDQ89/PJN/U+njOKMWDKrrrY6A0Camqjz/D9gaLc41ePM8z2cnuAaHqPV5jmCprIHOEUrXOVc9uUwoohciLEG2qxYNj/mJojaVgimyIvnkmBQqkNESEzqWpIqjuDc3nC6B5trU6bhqJWm1bHaKZGN1zY3g4HDhKMmLkRIhSqDaR3PB31mIJS9tOChQIwc1kOjbXVYIquCkX9yJwnKOG39R6LBdu6AS0UFznqpaRXM/pKl22llURTKCmhpfARHWx0HW0BbaWvofWCiXkBrXSllk57AX1s6MaN1KNmxI4wku0QXy5t01W7InOOUH3ihpnQXXA5dkpSinYrNf0DMVI208l24CiMNCuJV9Isi764HGy3iDx+y75rOIZCEHGeCFGCyiKGpW8KAyZzh7bd+18naaJbJDGwFrKeR1HgnRpo2jQwpLx2let12v4QBv66ElyrjUxiYCCs7PTlq4CVhSNfY95nslPHQJWqxXfxaL5eOkcP0qe+/4I9aJmmAelmd7nGAPmhdUxUmJZHMbViMvukoCuJmF/twNyRq8NjNIYzb+yPf2Xvn7sxlYrgb4zWGaaPI59RzCNlFAUPXQhOihNuZlaAiebEUYJRCGJoCYKMiJsZ9CvRqzWa9xut/DBN89iPdhrIVNX4PWDLYTAOPS8Ys+UMdnRixlipIeQDyBqIAiPHQtNYKQAfEpIWcNoAwgFHwPlzznHE9VC+VbV5FwKyU2VwnI4QA4nADR7ghPm2cFaQwQ1FFYmVrN9LRwLFwsRd7stS5MdxnHFH44qEaXXoLMd+sHCO48YaWtomdAXY0Q39BBijZvbAt1ZxJzhQ4RzGdM0U1alMighUgNPlCra3IoagK2gJRAETdJTVE3ypZWB7S1C8GTAxxF1D44hyrnAdIrhCpmgUVIg5QLnI0oWTGUk+U8QFDqPnCF5my6FwmoYsBwOUKJg6Azc4qGLgVASwXl0lkPAheKQ68SbwIAQPHQ3QGvNF3ZuRUjkKWKNdHKeXguhAK1pgAHNPpBc4KKDAsVMkDRFtpy1egAbRTI+lSWST41su8wLxVXRqY2MBFGA6CmXmfIkR9jO4smTp1DKsD+SPAW5FFhlyDuc6ZAtSjXYBEphgA1NUckfRH9vPuxhpMDYj+gevYSTtcXQWcTg+JDpsb27w7z0WI8jDvs9Tk5OcH52io5z39YjeX973WHxAS4TJTz4DEBB6h5LyBA5IyWJf/aP/gne++AjFHSwKAhLQg7kLUkJGM7W8IEGMUpIWC1Jkl+JnpkAVpvVGjItKFLAQUBuJGwK8DlDzHsqIKSCDwlhWiClwhSIGkuyIgXvEmS3QwHBGxbv8MMfvc9gr0JbcIZ6DX2PnBJut7e42++IOFocShFYFofnzz5hSRQFoHf9gK7vEWKixjwVyFTw0Y8+wmoYIbOAyIAqAtvdgd6vKoEFSeoBiedXN7xdks1PQ6A6UhEQTICaZtpCkCWhnh0hJNrciQpJqrFgnFVZaPIuxD0rhBSICCQplwSEQ05ctFDxrGF5+CRw2LPMrQjOQqZGL6SMMhekopBRYLseP//zX+XmWGJyuV1oNICiZkwJyRk2VAwS3Tgjldh6MpKZAbu7W+RCWzU3T1gWGm4xqQ8AOG6uIISC7e0O7777Q/zCL/w8uu4PsTgaRFUZY/06enzp68mTZ9is19jvZ/JHFsnD1oCUSXmDJiIv+PCjj3G4fY5f/uW/iD/45/8cSpPao0bpVGO1kAJvvvUZzG7BdrvFOK7x/fd+iJ9cb/DgwQN88vRjiEywuLvdHgM8lukO+xlY/ACXFQIkSaOLYil15mEu5/rm+7+TaIV8jJkVUseokpiI3Hs4LNRs8tD49GwNdCM6dQIjDKAUzi4fAkWi73o6v2OADzXehjY3ORfE4BAz3R8lF948ZUCQ35dsE3Tndl3H+Y4aSmdIVRBzQBEZt/tbsjSAPm+hJAgj4cLSZMWL81i8R0qRzvEI7PcTb38VxqHjaC6SogaWZxJ9PXPRpYnCnjNyBGxPdxVkxjD2KCIjh4gUImViFsD2PbTRSDy8ijFjHDWWxRP1mYf4JRfKxOTnzXlHkKpM3WVnDfaghIfC27BcCj3Rsp7vAil+Wopa7pFvK+hmOszMkkgMlaNUAVGI3Es+4ArC6di/XYf7Eav1gCcfPYPWL+Pu7ppe32XBbrfDyckK680aSlGD4h3FnlTQUcgJafGsQgKsNfDRwTAxtwI4lSLCrq/Sx0wk/UruF7wkyPe4AjEnomcX2ooJoVq2rRQkQe06oi1X6aYoBV1nsAuOFEpW8ntHSRmavZM5RihrmL4MykXuNfZ78mTnmOBSREKBTxGCh59WaQhtOPKFGprC71kK7EWVpNQSDRqVoLVABGU41hxkH5ZW01J2e0KREkVJeEenZObmOZaC2XmWxgqUKOj1EbTUkdrCGstNFMdP5oSSIowdoM1A/nH+fpHVTNoqYCK1pZIKYKgt1bhEAddSQisBFUT1JkEB0Ax3jCXd89RSmobSCnF27T0OIUCu6D0qie1WSrV8VClJRp9Bx7pQmnQ9MTfIqsxAFhSbU5MQqOyTsIo2/KlQQ7a4hPVmjSIKbG+o+Reg+1SA4JdKUo1UBDwPR3MuyNDolGVlR2BWUKKGPJNqcfX/o+3PgnVLz/s+7PcOa/qGPZ1zekSPQIMACc4EaImyYluDJdOSbKecOJV4im0pg2+cylVuUrmMK7mJ5IpdseNLXciSrcnxUIwoWSIjiiABkARBAGyg0cOZzx6+YQ3vlIvnWWvvli8MVVkb1ejqPqf3+fb3rfWuZ/j/f/+2A2B/PLBpV1A5jPOsmpphkIYy2yIyYIXwOWexSQYzOSXSFCh1TdboyFQyvqoZx56U5FlPTlS6HOoPezbrFf3xCKYosE9sNc57cgg6EDbKMnKEMC609v44EUJktRYw7xQzh2OPGy1n51v6fliAgW1dE5BlpNKq7siqy/IzllJwlccFJ3FcYZD6VqXpVS3XQt8fGceR1aqjqjyH40E2+Ut0qgBPQ4hY56mqRp9ViVik1rYGsI6+H1i1Hd7ptrfIsgL7j4GKnHUVfpfgV+kEZ2naZo9FEi/nZr1hGifJziripa0rj/MCNfLe09T1Iqsqd3DqszY7xiTb3+Nh8diEMEmMgXfU9Z1CbjHPz8HQhvOTLc7A4RAX3+Ts5dC5kjZrcnOa2T+gU6RSioZTQ11VjGNQeavV9yIu70fRDN7ZpmbUp2Cwkoe27FtkKhVD5NGjR7z6yqs6KcrLJMQ5p4eRxdZykHqV8439INmS1XaJ7xhHIQjHWOhWHafbLdYkBS4Ikt97iQWAjPHudivhnE5WRJ5W+Uq18HHBoM/NX1Gd/BTEVzRNk+L55WFZ1zV930tBq9j7rHlrc4SSNahnRqaTVVUxDIdl+ldXhmN/lFBpZ1k3LSEkQixSdITIOAm9ed7op5SUsJZIKd5OXvWAzDGRQ8R6mTK1bcs4TiSjA5QZeGNly2CtbOTzMqE3eGfVT62wpaiArnFgHEaNKMpMYRIZnoK8+qHHO8/19bVK3YUsvsiMGidFr7UEpSJn5IAtugWjGC7OLli1K1579TXJgcviFb5/74LNZsNP/vhPsXv+kBQCXV3j3S0Gf70RGIj1ns0oXvXkHME6gbUkkWIFUzOZUanY8OjRY66OgWdPr3hx1bNuxTN3/a3v8vHjx1i34t7pORGPrTfUdU0yDVNp8e2aMYhcr+62TOmArzwvLo9883e/y5NnT7g+TpgUpLkzW2KJIu3HMEXk+jFWwBB00qxFeYCXqmEKAdu0jDHzG7/xG1z1N5ydneFLWMB1BiFvWmfJBrwXUFO9boXkaQX2tVl3mCJTS5m6ykMxTBPjKBv3X/8Hv07OhnGYePzoCTl9g3EYaX3Dd6xQBFfbFTEnDvsDQcEV32oaKf5VKvf02VOqyvP++++D+f/y0UcfYa3lq1/9KsYYuq7DO4HM1HXDNEUcDpzhcDzgvedwPPLd736HzXqDyRmD+IRyEuhHCHJd90MPwHd//zvqHSo8f/GCr3/96/haHnRN1d5mf44DXbcihMCxHzg/PcM7J1naOfErv/prbDYrXn/9dZ4+fcpn3313PvDkc5klekV9xwowmeVpM3WaIhPhw+FACIFnz59x9fwFVrN/weLTTL1lmYA7U7i52fHs6XNyLrzyymu8/73vLZ+XWXK8UUmxEt6dZRgm7t3rWK82XF5eLq/ZOSdnoz5HZgpYzpG/87f/Lv/Kv/wv8aUf/3G++dtfF49RvqU0zgUYxvDWW2/x3d//fY7HI85X/ObXv8Gbn3mV84sLdtfPMc7znUcDHz/JTKMH18i9WEbqZq2wPpGlhjDphuaWtF00dsiqBy0Xib+pK7dIwcqyUdHmKESmIWKM4WZ3zc31nlXTcO/eKZu1pau3YAWK1HY111eDbEliVCtK0WJtVrvIoHDKEWqjmyLD9mTFzc0OYzxVXbE96fS9FTVVMehmTwcbKsGr6opKVVdqvhP10TAwjRPDMNL3A6VkXnvpZcI0SSyQs2xWHcdjz2AHYir0U6RYxH5UZKNjjMd5KXaz1Uzbdbds8sdxwBhP2zTynLYikTseDkJGTnrfWicugTn6pBSJ2cuZerPFOKl7+mmkrmru37vg2dMrSs7EWPC18BkMTjc78hmJDHaWppY717olWyELUyyXl1e0Xav3MBRVDRkTKbbc+jKtJdtCUI9nyXnZqMzqkL4/8trrL+sW/SieOXtbhyXd0IYQaZtOzwYUaOSw6AJCoz1mS43E2Vgd0MqG1zrZZIVxWnyq3jlCKstmvVCoXLVILXOeVUtSc8pWXb386lE0dh463/p9UxLLlVGPZFHGS9GB/Xq9Xr7HDHVKMeJWAk3DygA/hqi2JBZStWxKb7Pl73oGg3qDZzBnjNPiJ16tVlhkk9mPA161OfPi5q46RtQsVtURRUnjMhhIqi5JqlxpGmn2ZOY12z0K4yg8GV95pindSbeY2R23df1C8zV22cAba7Q+ycv1mEthHDUTOs6ke6s+8Vs/vqtlSF9V9QLvm+FIfrEr3tLxK+dwql6aFZK3qiLZTOdY9JrxMgzIheNxt8RxCtBP4YFFlE9Wn6E5JoY+qET4VtYzg4xmW0yMcUmxaJvqDjDslko89ANlWcKJiu14PNJ2nfh7K7l+J4Ur5SxKsqLQsxAjvm2W5ZT3HlfUHpaE43J2dqobW4WYaoZw7SUWL2mCyTiOekaOtG21wLBKQc4zzSs2RurY4dhrXqyh73uqqqJrW1G/6nNDFADynDQZmrohl8zhcGAYBl56cF/qgxBlC6+N7zQGhiEoRV6kzzMkdX7HZ45DKZLLHWJQlkKhbRrCOMr7rfeTJLnI82KO5KrqH54e9UM3tqXMvgq50GcTu6DYRbJgiiH0o0TnhERpZNKcUmDddHS1YNWP+wMv7FO6tqWtq8X/UErCO0PIiRwN1hSa2mMdbLbtQrpNscfVnrYWMp1suAxpBjDoVssbT7faUPKE7VXyWQoGS4gZV1naqhVKsWYFhlSoLDgvwIO6qohjL5PgEtlsV+JDi5mUa4yLOCObkBITGK/EWpGZzJAIJO4RYqaYhCNzullRO89ht6duGn3WR0oCUwsdcZwmfN1Q1zUnm5bdboej4tmTR7z9zhsy6Szog8aRSqBuG4yXpiYqCMFbyCnK5L9YlUg4lQlUyw1gsJhKAoOHo4BbmqoWcmFKFIULhCg0hTEGVp1KYzMaFI5CQpCsKgZKkUPM6BZGPAae4jzW14Q0S4Ec1kOZEnXjiTrRDnmidhXeQB+GJX6qaRqKK1r8yuEZJwnjds4Rg8ieNicbXN8LQbNkpmEixUS0RbNcZ79fvI30AMqYqUzFmAWqchx78SomDVq3Itmz3ojvRP2RpkgGF0q7rGrJBC25SBFispKoreZwSk2X8x1K7ZyjmQrrbsMrFy/jiuPi7AKyYX99oO066rolxELbrOlefoMXL15w7/4pP3j/d7BlktxHlTgPIbJerygxU6ayZNQ1XUfTNERTqL3jOgaqtgNTBLzStJye3+ezb73Or/7q38F7GI8Dp6ctm9bR2I5cEqvNisbrhj5OpGwZZS3BOB4JMfESkYuX7vPk8glPXzxl5Q2lTHcivgYB1SCHYdQNvFFaXy5Chx2ip2D53Js/wTvv/BgXL7/KyXDDN341EsKOYIR6PhNtQyzUbU2JoxQCBuIwScxMmLDItPX1t96lXW/5rd/6mnpaBexVdRu+8KNfIGH5+je+yiuvvMTrn/kMT5885ZWXX5FMP2M4vThlGHr2uyNf//o3ePnePV559SVKEVDZMIyYyvH9jz7kpZde5ue+/BW2Jye8/53v8MUvfpGHjx5x/8F9TrYn5FJ48OBlXry4xBkJb/+Vv/ff8Zn3Pkfd1Hzj69/gnS99UYuccksiVujVB9//Pqu25X1TeOfdd/jZr3yZYez57vvf5ke+8EWNb0icnG4VUOL4pV/6JX7myz9Df+z5u3/v7/Hlr/wMlQ7edrsdq67l4aNH/PiXvsAPPlhxdnrC9YtnQq/UmAtNSSUXI3l3WeWpoXDsJ0qx9OOIrTxXNzteeullhmFSe3HBu1n6anFa+Fpr2Z5sqR0Mw5GUAu+//z1ef+stvvl73xYPara6MZbiIKmqoahtwjvP9z/4kC9+4Qu8uLohJd1SW5aiyc6rUQoOSw6Zv/VLf4df/MU/zvNnz3n+7Jl6BjXmyao/0jjazQmf/8KP8s1vfpM4jpx0LR9+/BEfPyy8/torGNOR8sRNCpK3muUZ6irxac+VQCqFmOWnmDlcISUlVs7+FolAMgV57swTVeT9l7PGSXYlTrfdE9c3O56Nl9zse1arFetVy73zNatuJdmNG0u9mri6vBSJbIiSHmCdEqsLGcM4BEoUFkFd1zJoHh1TmrBJzrz+eKSuN8JbGALTECR7G8M0jJSc2XQddVWJh03hUrWrCTqsffrkGW3X8LM/+9OMxyOUxHAc6NoVw3ik1InKyubP96N47Mis1x39NBJjpK5qvLdMOeKtoa4bvDMcDkcoRSWamXEYqKwjDANd29C2DTFHaGTA5ayR+3AZniR8JXF7xRRsN/vKAnEaGPo9u+uK9WZFWzk5+7Nsz4wOlY16Gs2ck2xv85Jj0WFv3fLkyTPatpGszFxIY1wkm8YVhjjStqIgyhGxYFWGzXpNTjAMvXiaTeatt1+lrmutp4JuOw2Nk6FSP4y6bTFiy0q6LVbrhFUiqjGGJBNIXCMU31nsEcfEqpL3ShICMjklal/p8BmGvgekQbeNp2QBgYos2zMMB6wTtUZd12SUQaH39jTK8DyGRF3JFjjPCh0jbJApRYYwsMoBV4lqrW491tQc9gdWbSfZt1UlQ8GUKDnRdi0xZmKQ56fFKr1amhcZTNz6jUOUQbqpa2my4m1eqkiMK45X1/g0g6JuFRbeOWrn8ZWlrWv6NDDFIBLdSjLSQwqYpLJ7N6t59M1GYEDFyuuoKyfRMCFKBKbxlAQxib8aJ3LyMEVgRUKYNEUViqK8lPMohqiKGxkaTiFDyFhbYRFQkNFJpfOieEQhXGGaIBcdFDhyUQsKskmPys3J2SwgL9S+EqMkcGTd1oV5yaJk7P6wB+uWoQuKZvLe411FjoWm6UhRamE7g++sZCCPccToQK3rOlGgRKm7Z+DYLT040ufE5CwvPbhgGkVGawp0TUvla6IOdVNGMpet+P0z6MIrYS1sTzYUNL5JAW1N28mixhpWndgZqrrGqsVzGI6SmBEFSCUAPjnv+2Fgte7IJhBigpBo2lpJwytpagdRnE59IMfMEHruX9yTAVOOYu2g0K460v5A3TaasQ39ccAYxxTyQqJHbZzTNFF5sZJWasOY63ijN3KIUVkWMlSsHdKjzQkJviJOkd1uL8rXSrKVQxK1ptgYyp3BxP+Ija34JG5pc9bKBtZXFTfX15CLHLqaXZVSlnwzp5TiGKl8LcbmGOVmqRVKYSxCzpYNXqtQiuOxx/tKzP1epjfJKYGt9rR1QyHpG4fSkLNQVnPRGyRSeUvdyOQ5ql6/GHlARS36l2mFSnCEdjgunpH5Z27qSkzhlVPwRFkufvHaisTVasZbWSo8s3huZkKtNYb1akU/TkuWrNYrMgHSGCWZoIm0artZ07QrXrx4zttvvyHvdQyLR1lQ70UhBlk3umaZDM6RDSEEnE5ZvatwToKfZ0/XMIyMo8if0XS6VAopR4ZhD4i5XSSPckPmmBca8NzQ55x1auswVoAiJcl2yViHcY5h6NUvOQNiCl0n0QEzPbWuapUbzSABuXHmKaTEPrhF+e19xWq1YhikcJyno/PrrWopCksWr800TUpQliD3dduKd7sRdH+IaZkQBpWEAEwh65QZ+mFcGtOU4uKhaZta4jVUUpJyXKa0slG1OgBKGoEETSWEZlsbsJbTky3n2xPapuHZ8yusb6Vh9p4Pv/d93n79dR4+esyPfPYtqrrm3vmGxx/XVEUAQ84bjCkcj0fWbUWYpiX+ZRwGTlY1bVtzOASskfffVCs2my2vvvIKTz75mLGqOD07k02aqi3qSuIIIBDSyLGPhDjq1G2Sz6pyUsSMA2FKeG95+eWX+fjhRxwO1wQzYq0UXMZAKBFbRJaUo1vkiTM9c97E9cdEsTIB7bqOk9MTUiXDJGMzmKT+JDlEnTUQBWziK6+QsCKb/JxElooMkSTDc8BXEj9WEqQ0crLdcoyRkMQasd2ekFKmW3dkISexXkseZ92IdMzXHl9L0bTZbmnalmfPn7Hf7bDO0a26hR7rrLw3682arutISSAQTdNoTI7DV26RC84PmQXSQln8YDSFz7zxGS6fv1DgCzJdLkJLrOuKumpFAVNVS85cVQth0XlHXYns1jixAWy2G37si5+nbiq22zU//5Wf5cXlDd/85m/z7PnzBehWVI6sF7lucwTYNJ9Tnzz8ZPGl37u4z0sPXuFx/ITLZ/PmyUtRPG+CFVbz9puf4fHjR2Asf+tv/TL/2r/+r/HRxw+ZpkDKjoxdJu3GlzkdSc4pJVQfjwOrruOTjz+hqjWGIs/n5qeJ44fjkU8+ecgv/dLf5o/9kX+Kv/KX/rLcw87g/C0td1Yv+arhC1/8MX7nd3+HQubevftM48BHHz2iqRvWmzWrlRQOn/+R9/i1X/v7XFxccO+Vl3nx/DnXl9c8e/acZrWWwqcUcgy6fRaZoNSOwi8w9jZuCY15WN77O/nKsoGR4eMYJo7DwBQjz58/5+pyRdd2nJ2fcbqt8SbTri7Y716INNFarJcCI4Yg7IJpEkludZuZ2HUtu4NKimcarCpoZrl0pR5AUfsIHCaEwBAmwpSIIRNi4NgfyCnSNBXvfe6zHPYHilqanHN0Xccw9jRNo+exYbM95cWLS1JO3Lt3j6fPn9MPPeu2URFRoakq3byJUmO9WlM5JzAZIxTgHCNnp1vqtuZmfyO2JAX4oHnlTmWhpojfOMSMLVBZh6tgfzgK/FGfPTlLYTt/FkZjhfTf6DMapRunJZ4tJcmm3mw24venkJTSvywYKrtsO2OKWCN01ZQTecrSrB5F5bQ92WKdZbe7UWXbLZgmhSi2mnmTbGXDsigAFChmcpYNvPcCbkLARykmYkhL3qp3HooMP0RmXLBLTq9wPMqSD21ut3VWvIUiCXbLBi2XJPWQs4vdSKThoh4zVqwQSRkcs7dQ6jqRtVur0ZXWkbsOayWrua4rxiGpSkr+jDhMn6objMZAGf1M71LF4zgQU8SFGdSk22f1Xxdtuqrqdiiw+HvVuzqT4ec/cwYdRm3W58/J3M0BLwKjCiHglNRfym0O8UwxD2GU91gdIknP+yAdrwwErdiEyhSEIH8nZ3em44cw0HWdbI+R6+fk5ERp65aoHvpJwZ1miWrSK91D3w+yFFM+RU5FbD5OPMIhyBaxrmeeTiFpVJl3MuC1rmIYJ02ZsApis0s8lHw2hq5rqSpRl04x0jYtlZcaCI3kc87RtC0pRVF3qRJntVrReukFUsj44ri6vubi7BQTxGb2/Nkz2ZgqNNR5T1fXC2lbyNFmYdVs1luiwk9ZRlgzGTgsSTIzfb9pGg7joNGNmXGaqGuxYxojdXcpsOo6jvSLxcdaVUbGijQlqXvVlpJzYntyolJkiRBbiOmlcDgcaJpG4FirNbW+nmN/pPKNAKlSEMWcWnPmLfscB7RetSrzzhSbmWLCOytAMXtLyg5TUK6P1B1t0xAmqU+MLZok8Gllw//Q1w8PjwJizlReZJQxygT34uwckzPX11dU3iqgKaiJ37OqW1I8QI48efyUn/qpn+Di7JQQJ6Zh1IxLRd/rVLmpKpJNlNaL6X0aMdmBt1gsTd3hbKWxOELNE2iTNEy5CD3PWEtVWQXQRLy3hDSRkAlCSOivybZxmiZq6+8YomuML1SmwppaJcQq5VVemhDIIE1ZD1q5wEvStR1C5CWLP8C5OWN+Jopm2loIwmOMhDGQrCPfgTDkFPGNoWsrUhg57K4xZcuTJ0+o64rjpITgODIcdmxWjTSWWIpT70GWTbU8l8XrRJIMK1NXNLWnmIppDHiXSbFQ+VY3oV7gWRFChhAyMlQRH43JQmSMpcjPeucClLDqLDlgOS5xEMqoolu17PrjAvHIU6BtFF0+JkrKWF9RafEkA4eBaZJtXFvJRnSODcrWUFQSfBwHDFlx9oGcErZuMSaL3+UOvGAuKqz1WiQKBCdlkU2gXo1iZMJnisQLHceJ2ki8hUTITDJEMY44TnhTY51jtVqxP/ZzVSMS6pzIGfwccZIyjbXUlWe9WnN+esLpdsUwRlJUyU4YyWHEliRTVVeWhnAuPor6cadpYhwOMuHOAUjiUe17qqYmHdMiw9k/P7LdnrDf7ximQKSj6iqdykoQ/PX1nhAi/fGAc4V79865vrqm5EmKmpKwToYidV0xqDxbqOkG5yHPnkZEakYJxNiT0sBq3cjW3cikU+NhRS1gFCySRY7u1QcZokpbi2zQ5u37PIzJRYtK3TwkI1TPptTiD0pSoIY4B8sLKTiXTArldtM1ZpoZXqAeOYPFGqfbF8nkFVGqwyA+6M+++zanZ2ciZ9MUHesFQDY37EYbUtmmGLpVp3CJOb/Pa6RQJMXMZ15/g7ZuGceez737LrVG5RRT5hoZhariKk/V1Fxf33BzvROmwBT55ONPlEzrCFHvAd2CfOUrX1F/eODnfvbncM5zszvw9W98HYB33/qMDJZ0uFk3Dceh58mzF8vnnXPSItUuuCt56wxn1zekLMHyZDg7veC73/0eP/dzX6Fr1+SZ+uyt0H65hUJ9+OHH/IGf/ycYhpFhnPj+Bz8gxsjp+Snf/e7vU6iI5Y60TyNWmO91lbtd3ex5++23efriRrZMd2BdM9kzAzEXPvrkIW1d8eEnn7A9OeXnf+EX+E/+4/8Y5z2+qnWQYnUqn5fh2ma1JYSJ/rijqlrOLzqmaeTps+c4Z3n77Xc4HCIffPCEjz++xLg1FMfp+T0++PBj2s2J5Jh6q1tSIMl2OZmieapgteAsd6LqnOZazkVuWYxu5hZYlnRrkBKH48j19Z6+H3niHcYbHty/wPsznOmJJZCtIyBNyjQFWqRAmpvRqpWfvalFhpZiomlaNpu1NGAWkb/Vk8IJgza2E4d9oj/2nKw3nKw6muYU7H26VcfNzSXWGI77o24XJ3Isuq3LnJxutIh1DMeBbdcKMA14+d4Fu8MOXzm6rqGtGz4Mn3BMBms8ORSqdcWq7UiVY5pGbnZiZzjZrEklUs1nSUpsNhua2tMfDhIrkxNNXdN1Hfuhp+8F9JRSYtV0NN6LJScLeA0dMmcjipGSEmOUnPk5LixG4XOEAGQn1odxVJp0lmdZSaDJE8Yaar/GmxqspfLCiRD7V83liyvaRhQ5o8KTpqA53DnrQkEAcxbD9W4vA9gkNcS66yS+qWTiLDkOErfimhVj7Km8l22Q3vfOeeqZOJsSYZC8X+OgVy+os14VfwL3TEl8g8bKsLVpqmXANNvHSingCt5ZiZByYKKcWxn5WYQYPAnHQqWtXpMh+mGk61YLdLSqsgx7V2ucgRwlm1YYCHLLYIwChaROjSFhiqq7kpxx4rl2S9TN/P2BpSFzzshCpqkYTJEoRKe1h5XomxBG+r6XpYbm7krjrlLR+QmjUEdv5Zq11RzrE8RCpR5wp1wO4xy2SAJCKokSizSiakXKqmyJKeOs8j9KlqWJ9eqnZgF/VVXF8XiUQcoUaHUYWmISsoTKWzHSJ9S1yOnnRUTMYkcImnMPeQFn5ikuUUhZyftznJJXpUMx0NS1UKqnQenqjsrXcg3pJhgFaLb6e6tali6VNWxWHb3GbI6jpB+MSphuvFgBh1xIlZC0m1oih3b7SIyJB9stXdtyeX3FanvC9ZXEEM4bfLnPZGM9R+0ZYzjs9xhlB416H1mHXMtOlJUppVtvrYIKjTGUWIhjhDQx9qOc3yWTQ8ZZuVeDRkwJXDcTU2G13hA18irnJGyb9Zbj8EzOhNrfAS6K3z2oDL5pOsJ+LwueSfzvKRZdkskQ29e1ZmgHpnHi5PREzigdjIzjQNO2orQbRPE6N+3TMC5QtlgKhxglz12H2jndRrn9sF8/fNyPbvq8lYImBqFdVZUQtXKSLr1tGsYx6ptym4UaY+DDDz/k85//HJ/77Lt861u/S04yrat8rbr1TLGeyksFWDnZdGZjhV5GxhoW0q/o1EWWkEvB6CQn5YqUClW94sGDlzjsr7i+Uhz5AngsevOLFAiLTKGWSZtyT4xAHtq6JedJPZLiWS26GXHWkoxItIyZCbdJPGZowL3mdlnrFo1+yZIba52Q2kwUxPzl9Y5pGOnaFW3XST6bFdmb8w6rE+7nz58vE86cM3lKnJ+ccbo94XDcSaFrZHJnZgT9HDxfksiYZupzsQKJKeLXbZtq8c3kFElhhiiIVKDvj1qAa6D6nI+mdMOCFNZTCHjnqbyX77H4j0U6Nk2Bq8srdvsdpydbutVaoE2l4JyQoNvOLQ+L2Q89X3ezD2KOLzAgubxewrjTFPA6HUohEqsAZIlfKFIQVpWn8huJh7BGAUNh8V1YJzFHVuXOc/M4TxXnPNSmrpnCpH70okVKUjmQABxmL4vAyQQAY43QNE98RdO2bE7WtE0jcTnWSBQIjqEfl5/VLHECei2RhXaX5e/TNPHi8orQ32AMDKMMDzabzfK5ljuNsPOey+NRJIMhElPPmenkpNXcyXEcCTGy2x8oFN55522mKdD3ewpJei8rMK5xmsglE6ZASkE3jI6Ybv3nc75at1qRk8Y/WfHbxCyTfeeEno5CiQpFt3wsftE8H+RZhiohBGwWWMdMtpRnjWcaRnzdkKKlKEgjxiLDm5QxJpGzyGcp0rBWXgiZ1jbMmPPZU4n6/meiMcvmTn5P07Ty+ufffycDci4mjE7VY5J7ciZuzp8td75vMYWuWy2Kge16IxC8ZZetheCdRs1VnsPhqIXInAc9LZ7XpQ3U+6uuNU4FgW1Z4/n1r/4Gf+uXfxnnHP/TP/2L2rib20zTKPRKp2HyWemQxpQlFmPetAOSeapAu7puePToCd/5zu/z4N452+2WOB6X9wmVFNaVwGlKgTffeotHjx4yjgOffPIJ7777Dt/63W+BsxRuH4AzRMcsEUDyPvV9T1XXbLZbdjc3C2N4/tyWd7PIVsxbITz/1//NL/Fn/+1/gz/xJ/8k/8Vf/RtU1eyBteBuQUAlS9aps5b1WibjAgBseOWVV+n7A+9/7wM+/PARlIqrqwO/+iu/wRtvvMp7771LVa2gWMm2zhFftdLQmELI6c77WuT3zLT6osRkc4fon5L+XDpEUXpqLkUk5sqdSFmyw1OfGOPEMPQ0teHBvTOcdTLAM04k1M5R1LOVdLA8DUGuJ+dEYlrmfGLZaOUi260wjlSnZxLDppucXAr3zs+4OD2hrR3TGHj5ldcoZJrKcn35Yrk2rTPUjTaTu2vGcWS9WnE8Hrm6vOS1V18lZYn7SDlzuj1lGI/UvmK7OeHlB4nfff8DYuyJU+D+xX3W644Xz5/gjaE/HumaltOTLfv9nlXdEieBtfliOV+fsLICL5yJXo3z9Kngi6GuGmwjG6XL1VqVAJkwQYiZbHWA4hwpJkKUZkS+lZxVKcqwjqxbWSQJYBgmxnHAqgLHV1ajN3QD5Aw4kQCKpE8G5Mfjkdde/QxhkufxEKalrhNPv2SQBs2KlJQHJxBLLxvxy+srck5LpE7OYWk45i9nnfilFRwkzxclRjc1Q5ImpKlV3bd4JG+jSnJJTOOoQKpb6vDMzYghidTVV6oIyMLeSIlR685qgZCq3HuBEWW1MWkupg7RVl2rZG2rVG05L9q2Vc9kWbbQKUgjnqUzBd0OOu8+lTFd7gwuZ+XSfMZaI4PYYm7ZJUalsuM44p2mg8S4gLtun2O3cToS5RchzVT0mauSSTbSNe2ylZTXfJv/W+ZYofmszFLT4CVKKao3dP7v5zzx+Yybfbvc+fyTDgCcc9RKaRelUYWzlQ4+FDY7TerDNLpFd0uM2gyrijFx90saNhliiI/U61UsQ9O6quf0GWIImkpgFsWONOsZKmjahmwKNsj1H2MmZw8RulW3fE5R46VmT6mdI4piYLXa4r3ndLvhybPnBAzD0N/a5IpIyIVX43U4HxXY5egHgfuJskA5P5pF7auKMQjcan88cHJyyjCMGh8Ulu3o7BduqlqWMEgMmvhpjzKE6eTz7Icjbd0AmRdXl6KUGQdyqZb6WpYdabluMWprjCKPnmsMWZTZZRt+PMgSpa49KUayl3PHayNlFLQIVqnkw7Lp9t4z9D1V68gpEZSOvd2sF6/yNE38sF8/vBQZiykR71E5plxk0zTQtjXjUXM9sTSbmuMwkEuiaSXPchonSg5883d+i8++8zbnJ4KVTjFK6LbRC74UvZgLzhaKl4s3J0h61Vs1+MvD3WJcoeikidkP7Azr1Zaz0zMuL58KmCHLFKRpaqYxKZlMqLTGgPVWPB5GJBnOiFdWPtiIc5UUwcaqR8eJb0QlgiFGjUHQ5n8IiwRSppiCtbfzKqqqpHuOkiNZW8eGFZTM1fWe6+srtpsNznuRmsRJqHAlkIOaMhECnjOWqZ949bWXuXd+Tn/c6aGJZKzOJE2VBDuEXtl1TuTex54YoW1XxDSwP8gU1piCsxXtyVZugoOQo8N0ZL1yWJ0ajuO0EIJjFOluwDBOWbybMS0lYzGWMSZytkyHPSXAxckZ666RWCIDzldUJXN9fY3T8GmR70BVK7jLZkxGpkjWYrA0ledQjpQ0URBPmAAe5lgI2Swex0El00io95zzhoAxsE43fxZZm6jXIuXlYT6OE3H2UBtu8/Ssxlk0jXhLjDSlLgst01ee8/MTptDTdQ115WnrmtY3Ci9odauZGKbEOGbxN9jIFDP9NNHqw6EYWeLEnLje7+mnyGEYWU8ND588JY576sZLI0+hv0n62kcpVnU7bmJkdzyq5N5TbCaSKKYiI/LOJGs0QjFc3ey5vN6RreM4BfksLNiSFrqvDDkiwxRIgLWZYRgJUbKiMVam+RGll5ZFLiiDZqG+jv20eDicdZQkDz1rhapojUaTaNOZEIy/dbXkZ2rmn7WWVbeVbUVICk4Yadta5YwVMYOxNaZUeNuItK0Ulc37hd6ZisHW4lXKJpPNjPs3sjkwOjhY4lhuH/5zYWGsRoIZg/e1FqHmVp0IWjhnbpG43Gn2hPRcLEvDMT/ljZ6lsonNd7aJZVGL3DbN87r/9rSfPVvWena7nt/4B1/TDbZaL6xdfLRGm75cMrbMnvGiPjkw7vY9MEgOeTP7kkLicOxpWoH0tN2K+/fvQxrZbDfEbKm7mkKia2pWXcvzF0957dVXRNqWC9/8nW/y5S//HP+f//K/EkCGlQLpNhJnzoi8A2Kyjt/55u/y5S//LH//7/99jWeTG6osudJ6ZswS4JIZjgf+8l/+z/l3/90/xzd/9/f49re/vRQlwsq7LfwKjpjk/aqbNVXdcDjsiBGqquPBg1Oev7hiShCS5bAbCB88JaSakFuudolhzDiXiXmQfHNjSDmzfNr6fympVSeJlHUeLs6wLuO1WFQJrHG3ebwpK/0WyZEvGucyhsT+OHHok0ZBnPDKG45xFHDg/N/mlKkU9mitw1uhCK+alhSLxkHJc8gaQw6B2ju2mzVD37Ndrzg/3xDHgW3rWXdrbvINcdzh65r1uibGimHoWa9XCpYMHIc93hvWbcPJZo23hla3xSGMxBj0bAFXN3jbiBzXVoz7I8ZUtN5jSiSMR6G0Fsuq7vBGCtzGVkx4kTsWQ78/cqxruq7BR8lJH8YjJSZKCLgsmczr9YYxirQ55oJDAIEhBlEiFEhOnhMOt2zQi+aH5iRwwn4QO0dbrXQgKluTyjhcDVYtVNMQBPhjI1WlG+gYZZBnHWOYuL68UVCVNM4pZSrvaaqK2nuO/VG4Im0FprDZrhjHyIuba7zzTDF9KrXCe8c0DozTvHGRf4cVOn6IAVtkgxyi5P7mmFl3q+U8mHOxZbnhFFoVJM/YTHSrmjFMYp60hTgkpimSnIMGbCXWh0qBX23VMI2yVRSvrMLkSmK1anBebHHOiY/WZE9TWbrGs9tNpCTS+ZKtxLk4ydM02RGxTINIRWfLkDPiEwXJ+YyTqG7quhZriebdy70m10KaAs4Y3fYatQV5sssaeyR+0Hl5AwbrK/Kdxlbu8xmcZcnZyLCRgrcekyXT2NSi6HDatNxttuU+SRoDJ3W3RcFV+hdqQXSmkEzBZgELbTcbxmG4Bf4o1Xi2SBiEtOytWhNDxJtCtobsRHJb9JCKKhnO+ba2r6qK2lZL3Tf2w7IBnpNHYkySNasKr8rVODxhjEJexlBZr/nEQXgLmh9sKqE0N21N29Q6ODf0vaVOidp7BodQuceRXALHo8QvXZyf4i0McWRFR9tKxGJlwDaOfMxgRM4r/mHZGscxUlqo6xarQzFRVyRqv+I4yPKhrmvayjMOPVhDp37ZqqrBTuQikl500DeOI+NxkMSQmQ+jeezr1ZZxGDkej4QYGIYeW6SeuHzxDKexkuM4YrHKprHL8k0yaGU4NcUgaocCw3BQ9W4mKP0bI0u/ylnCOOCtEXhwIwwF7z0pSk9lnCN7VCIt12ddOVXr2iXK6JamHHSx9MN9/SPE/TiykweTNYam8dKwTiOrTuhaslGQh3rbNuz3e9arlsOqISWhil7fXBFj5LXXXuPJs6egBTHa680VlmxMLSWKVAqVHTvv/yG9tVmgH342riONXt207HZ7rq+u5cLNWXP4HCVHyfsy8iEaNb9MY1ApocgaxT8o4IW6bkSDHwKr1Ua3jmkJWJeCQpok7x3RpiU6I6VE03ZC281Rq0jxlpQk3gsndkpWq4a6rtgfBjCJUpze/CxenBDFKzxfVKUUVuv1QlxDI3lSCktjWdeVegejSkIKpcDhcBQyWwyMI1gnF7IQIsXUP+53eCcE2cPxoNI3Lar0+4BMu8FTIgorCeqTFYDWQq2O4oPe7Q6cX5zgncgGF8mJc5jacXp6SghJo4Gs0ugk6iEvlMDbwxr1sZQM63VHdNNCbTTWykTLQOXEH26tUHvRvLwwya87Lw+KrPJptNgtd2KorJVghVkmkpMoGqw1CicytOs1lXp8m1pyG9u2ZbNec30tRUftJXoqqz8yTJM2auL9ydkyjo71aUU/DByOB04101k8NNAPPceh53A8SnaZyi2dGQl50sZLEfIxLtO3Mcm2wFhD27RSPE2RmB3ddvyUN+5wHAgZDn3A2syuH9kdekISUEg2ooiYA1NmWecUjYDbjDTp/SD5hLZYxiGQx6gDoii+TiVlV96xWq0XCqScK9r0J8nwzUb88/Ogy1lL2664f3KPtmuWQdl+fyCGRD8MXF5d4r3j7Ow1zCSB7ZvVhn6YGJTIXlU1zntiGmWqaiqqOi651N47JffOyo9GoRkJo3AcskiILJK7eRsHOpMvWSbnzvtlgj7/nmmaGKdx2f7Pm+K27UTBUqCqvOaxltvGdtnDCrkQY3nttdd56+235DpsWn7mp3+Guq6Xa9pq1Mbsg2OmgHrPP/gHf5fLyxdKIdUooDsZuMYazdIsCzhGMnbnV3LrkTUGjsde8xcrwhQ5Hm/zPZu24aWXXsbkiTfffoNixZM6bwuquuLZs2e89OC+SvgM3/69b/OLv/jP8frrr/ODjx7daWhvt+fz11Kw6Xn3ne98h5deeolPPvlE7mfj70JD75xZKqs2hh98+BH/+X/xN/gzf+af58//P/4CQz9gK/+p/N75fJUNubwXzjq22xNijhyOR1KYKBk2mxOud0ecq+jHyPs/+ITVuuX65pr9EGmbGkshxbBI2uxM8zfy2eWcBV6i18Hsu9UnxjK0mIuD+aycFS9ZozxmirT+JoEUKQRmt+uVCVMURicDNafXiTfCI3CzCkpjbuZBddM2rLpO2RSztzDzxhuv0LWWElu1NsEU9my2K+qm4Xq/VznzJLRMLOMkfvd7Z2cMwyCxOtkIObiRmIn94QC24nA1ULctKRiqyhJiZL878NLLr4q8cJo4Hie2mw2mWA7HA6UUqRvkXSNlxNcZIjc3Nzh7yqoVxsA49TRNzcXZOY8ePaL1njgMjFMkhUDdtJJpWgqNr6m82EFSzAsNWqCZ4jUMMdJWDdnCYSdwq5AnnJf8YOFoOEzK0uGkJMM+k8nZqLw7CPE3yNm3XZ1wPBzwtaOQmKI0JaTM6nQrcS9OBsp1XcsmeQpEVYeVYj5179wyO24l7c4akTNbifUYhoH1eiWSSiVpzwyWxQNqEKgPRV5vjppX2mBM0agkuc5v/7yoV3Wldo1ZoYBujCqV78t2uaBwoVJoq5ponXh3nVg8bLKLRJNZrmpmCbTa3CzYIuCpqnJa0+VlEzjfTyGEhdGwbGp1Aza/fzFGfNsuC4fZBwxyjZkyA5zcwukIISwARWsN6Htee/VVK5XZYDBWJMdzBBuzxzjEpU6JCn+ZBxQh3g4tZ8XibNVaFFYqcw+jyLVTEltPPw60bYuvdYCpETXzOWNBFgNqr2tcrcrKRE5FFJozQ8E7qnompM80ZEckUNeVDNKKXAMuZaK+3zN46mq/w1hD10g8knNO/bss55HX+FD5fMstw6HMPlet7+7Ue6JiElrvzc0NJ1vJ1r68vOLl+/dxwNnJhkNKmjIiah3nHQbZPMcitO3K2dvaOSXaVtIepM/QmqutFd4mi7g0w6wQX7ukFkxqwZMhf0yJfuoXxdc4TnglzB8PvVhY1LdfV40AJxeS96wslH5GrgOvzzCrQ4zCMPSSwhDlz7O6lZ/jSA1QN40mSYyLlSDEsPRJx2NPp7DSohF40h+1qpJoBEpVeT0z7G1G+w/59cNTkWPSiaYWds6qnHYkRSMHc4wYW+GdZQoT3glsqWsbjvs9zhvxGD19wisvvyKbjaeJkiY5YKzXyZ8VGaFzVJUlh4J1ksVqjAbVl0LOQjfGevV13Tl0rWUaJ37/O99hHAfE/iCABxCjuvGWpqspSsIFaRBOtq1OsYJiZ2SS3ff9cojMUhXS7KmwkhlrRaIXpkRM6mMwjmmMVFVDLhOl+AXnntXgH6cg0uEsdEJfedzpCeMY1I/oKN5KJicZ6zyH/oD3Am0IMS+G/uvr66VQMUYeKOv1hq5r9YEz3ZH/VNJ8I5IDY5GD23rxsBgrOWZZ/GapFMYopOZUCtM44VOFNZpnNgUBhiHa+CKrE5Uy51tCbSr6nggNU/yJ4l4u6tsqmllnjcO5WnIDbV5Ck+YQdGulwJ/GQFLp0RwZMRXxZNbdbLaXn7tylcjcU2KMElNkxaFNMeI18ZUnFzmApxAWAuUsi7LOSU5aTlgcpEJta8ZpkGGNKSo3ViBDThg843Dk8aNRNo0hYjYrhsOwyAdrJzLwIY76YPKULBE1u90N/bH/VMC5c47j8cjp2alMwoLB1x2vvf4u65UnxGHxhaKZqCWLBNQpGXs+iAXPn8nFsF7fYxyO7G+u1IfoSMWTTcVq1fDWu+/x+MkTnj55IsTfoRfZTZHiYC5iXB00JsrRdLJ9Pu56pjHy2mfeZBp3dG0nMUuK+J/l1s47jQ+Qh79Rj1pKQabTxWNdAxaePvyEKU08uP8KxJEwiboipkwIlikksBXnFw9U6tPQrDdA4RACU4am7ihIlNjJ2QmuEu/9NGZc1fDtb38bGsmF3e9vePrM89GHD/nN3/g6OWVef+11fuqnfpLrF1c8f34p/uXdXgsxuXdjjOyur/Hes9/v+cY3vr5AjH7wgw9ZbdZSzEyRY99zcf8ejx4/pu9lEBJDoPKWw+EaP4ezGyFELwWSDvhSidzsbri4/4CqafiNr36VL/3oF/mZn/lpnj17yvPwgvff/x5XNzucd7zz9pvUdYMpdnlYffD97/Hg/oUMGg38l//1L7E92bLdbvnab/4mr3/mM+DkXHaoObUU9UfbO5FVc2Mpk+ql8dUzdRgEtNM2FUWlzb6uiSEsILLj4cizZ884Hg88ffoU7yuurq743ve+x1e+8mU++OivicpGn1U586kvgTbfDkV3ux1vvfUWT548WXzytw89BZUplDAbOVus8/z/fu2rvPba6/y5P/dv8xf+/H9AygWjD2B5Bt1694sWYt4bLdAtTd3y9PIpjx4/w/paQDpZ1EPD2DOFke32FOdqnjx5ClHgTSZF8fbWDjTPUBRGKmEV55MWxHkBrrn55zFWYzWE5Hwrb9TneTHLrynU/85fRoqweYJetCjRc6hbd1xdXXH55Il4wzQ6adLIq/V6xapb4ZxE7BwORwyFyltONisav5UGjazZiHv64cigEveua3j+/Ia0lqHEi3BFioXd9Y00iMbw4sULvK+4d+8cg2Wcogz9xpH94UDlPTGJv/Q49GzWaxn4jYPE4rh6qSFudnst6B03hyPkzMnJhrpppDCrHCcnG1bd/N/A6ekpVVWx2+0Bx72LC3aHI416No2VAsohhZ7kossg/Po64isZclZVxe76gDMCfOv7yNX1DVVTs9l02AyV9ZJ9rrDGftLGEE+JkdpXTNlSUoFUGIcjTXeidhlpTiovULi29uRUE3OhKMhnHAeJeEqFqnYkLVCzgsrmgUgqUuA2Tad2EUjc3nhR4/7iFIRFUMSv7JZnmMQmhSnKfcNMDS70x4FCZrVq1bscaLtKB66ZXFA6a5BlQgo6/JSmIaY5vcOTS8Zr2kGcAlUtkltXW4YwUEzG2LwoMOYzW+JpBILnDHRNRUqiwgohELW5nbfE87n5D+cRzz5ho7FF86RzjjSZG60YJffZWjiOgwzGiqxwXOM021q2uyFOC5ypbhpK0iGpkyYmqQKjGBhVmut1iCrPaIt1Bldkk+pctcQzuTnSSTd8Xv0ZrqroD3uBMWJp64qm8stAu9Xn47xtM1lkwkZrptkqQTI4k3HKzrDWCzDI3EYsWj2zMAjkLwTIkr9rMrd5yfoZpFG2uDIoLaQShNpeyUB8VKWe081ySomsG/axH5jUQ2ytkfezyPUgizNP09X42qnSLFHXAnjs6pqXLk753uOnApdzCiu0DlfXOCeZ1ilGxrGwqhth+Jgjw3hkCJK20XUSkTaMIxmJVD0OPRixLTi1oE2j8FpSDDS1xzcVsSRN15Ba69AfaEtis95wcrZdbHzGWVzlqeua/X4vgNOuwegARbKUvcLHpD6MMXJxcV8k91Zis0rK3NzcsFq1mEqymp2VaLemkebUV17OjiQ/vzA4JP/XYFitxO9+fX3NSeXJMdC2NatVt4BVUb/yP5bGFt2NWjTAWb1VRgEI80TO60bXGcOmW6mW3FJ5Ieca73n0+JFsReqKEJKAZYwY3FPK5CR0ZGsLrjZEgtxcSvSSSbQWbkr19UqnLJobn0Ok73uyyiQXuai3hHAnMyslrJXvNW9WmTXk1kA2tzRWIzr7DkMYR5ypcVpQSMMtsg+Qxr7MNLjKCalP6WuFtBDmxI+gmblGXg8qu0RhTzfXO7rmRDH2t5TmYdjTrRqF0IhHeBgC0xgVOiMyB4reuEpfdt5R1yKTjUnkodbLA6WuK6wtGD1MsbNPDQ6HG3xd0zYNTVWTc1wOB6OZWd57fZCpXl8zFWeoiUzI5FA59j0vPXigvkaRJ5gZC13mfDVDYNSJ0nzBzqAngTHIBhpm4rSzDu9roubdFuaw93rJAK3qRie8t0RTqxm+4msp9CqBzSUTdcttNecQw202YM6YlFmv11gnHuqYosRYlSL5wzr9TeorTzFgESlJSa3I+3VCPiH5laEkiWJaFAEVL15ccXl5xbu5LH4sax2//uu/wfnpKU+fPue43/PqK68So2WaPH3vcb5lCiKJkUmzY9hn9fzI5lqyBD1TGBnCke3W8bWvfZ31ZsN+t6M/DoxTIKbCFOC/+zt/n6apsdYQpoEpTUv28dhP2Nk7ohPfMQYqXzP0A1fPX/Cdb32Lp4+fEMJA0xwXynPXNCKVi0Gav8NB7wfDfndgHBNdtyIGmeZV9oK33il89OEPiEk2KpWRJuHFixccDkeskZ/RKgztuE/0+wOUJAf8zZ6mqclmzysv71h3Arw59D03NzekWFhv5DqKRYAjh+OR7bSlXXt+5q0fFb9uCBTEV2xtwLqItbWeEXJI38rqLXVVc3Jyyu76RrapbcMwDjRNy+XlC459L9doyToks+oZK7TtSgjGlQcjW4T5y+pW7OHj57ohdrz3uXd5+uKaum340o/+CL/xtZGrqxve+/znOLvoZPA3JcKUocjU+Vd+5Vf45OEjaRJ167FerYR46RzXuz0vpbTkIc5b23lzeHdbiP77GGYCvFnOjHEc2e/3PH36jLfffIVSvMj4XVILQWS9WYutICZevLjijTff5Prqmpvra37v977NH/iDf4C/+tf+Jimz+HJxsyT59im2WJcNTONEf+z50o99ia9//eu3r/Puf3Fnop9SViDShl/79d/kx3/ix/jjf+Kf47/+b39p8TXD7QDsNux2HrwWbW4dDx68TC6Ojx8+xPsWa1AoXkVMiZvdgdWq49VXX+PR48eEcaKq5deGMauFRzKuc1ZA1Cw95tN5kEWfEbPqJeWkz8RZCTBvlxNO6b/mjgN7lkAWiR8QuVqx+EbAQjElDoejkpoTJ5tT4jjRdZ14Qq1hHAZtjhuxA02BMI60TUuOiaRTiGkMVApN2e8OpFzo1itOTk7oj4E0TQxjz2q1pu8Hgm7DDIaqFtr0FCLW3Q4CQojqG/WM08RqtWbSa66uK4kFSYmb404hOkmHS0EVUpFWpXHrdcfxsCc4u8gm+76XIXSBEBJjiEQjns7j8cjFxQVV5RjHnmkM5Jiw3lNiUQWG42B7lVlnwhDY7/acn57R1DXkA9c3ewy1+v0dZyenbLdr6tpTcuSTx4+YUsIbR+MrvK/p88gOw41mqK+alpQjSSP/al/RVDUlJVKQ7XpOQbZxIWmkCDS159D3xBDkvIGlURNOhNQOIQTCGJZpiNEM8k9NjG6B3UtyxezXv0s+NUYaVudv86/rWp43RgfkWSNgchYlSlR5rzQjApRMqpZC2RJG2Q0lZ9qmlc84Z5EXWynQ5Zkr0nrD3MQLKMx7jzFJNmk5YfLtVnQ+26dpWnyKt7WYMFYoolibKdDCj5HzOqif1xiBME7TJJLZulnybbtWommSZhSPkyg52qZhmkZCkAxQ7+e4GaPfJ4q9bOYwaMbwso3VnGVnPSnNqhsrQ2RjNDVDmtRhGFXV6KlqL9dE1sbXOl0iSK2e5jpQ6/I0A72cw3i35A6L3/pO3OKsJrJW2SAK6PIOryoV6zUHNiet5TXb2ULbtaKKUYVj2zbUbXN77d2JLvVVpcP7eZlgxF89TTgrn4uvHaauJZpM6/6YCk+eX2FSYbVuOD09ZX8cxY6Y5eCfpgnnPetVJ/1LkcZus+5w1hGiPIOapqVdtRgrqR5TkOG9pAjIQLhpZHNc9Bqf/e6RzO7qRmJDNXlgtVpJsoyr2Gy2i9XBzo38OHI4HKiqmkm3/c5VTFOg66RWGoZBafcrDoc9pRROz04l176Mc7Uh16AyH8ZBIkRDiHh9Xq9Wa/pjL5YeL1v0WUF6OBw4HA6s1w2GqEOFimlCo8FEaefsnTPkf+DrH8FjK4h3kkrLVPo3yx2ccwsQJKeMN46qqgV978DXMhmy1lAsPH76mLpZMU6JuoZkNFzZgstOMl+LFDUSnC2Nb85Zx/BFI1Iyxc8U3V4ecjimMNFWDd6rDNVUuum0lEllUAi0qeREKRGyVemiTP1KjFqsSOEQU8Z5i/e1uA4NQo+jkApMEfIkkqaCUfmrk0mKLfRDrxCduXF2Op0qy+shG7Jqkp0pip2POJ9krGCSTINModhITJZxSjjj2Z6dcXj0iH4chRzrLBSJV7q5vpHXkibNVa0pGPaHG4ZpZFuJvBGNojGzHE1/jmnS5hNpio0RE75ALYSy5r0MHmIfMCptrBuv0msvMB4jBNpxiqy3W5yXPMRpHOnWa5FcKazIeqPTI3lwupJk0mZlu2gREEeyBWszVe2IQX3ROuTwzpJToPKNYM5jJpExncAfmqpeJuwhqIQ7RLLKb/MMJXLSUFRWoAAxRzbrFVMlsTdxGolhII0iuWu6FY0XyeA0TbK5NRCngZPtVqQ0GLbrjk3X0dSNFOyXVxynQDE14+QkYD1PFFN47S04O7tHTIZxSkuFkFLh8bNnfP+DD/gz//yfImcIofD9H3zIel0xTfNhzXK4mSIP8EWiMzdd6uHLxbJebVifnfPG229zenrK1Ytni0T44nzL06dP6boN4/HAeNwxDINk80UhMhYDbr1eihTnHMTApm14/bWX+NEvvMev/+p/izVBJo7jyNpvqE1m03gOccRTWNdC8xynwLA/MvQj6Bbn7OI+5ycndE3FT/34jxNz4Qe//3sMw46r5zc8f/JcvGRVJZN8q0Aja7nZ7chh4pWXX6HrEtZMTFPBY6lczWF/w7G/JsYJ71sKiTfeeBOjUrOTs3PuP3gZ7yvOzy4oRa7b9faEVAxV69S2sBaFBkYBV3DYD6RQ6No1r7/+Bv2x5wcffchKpXsAP/alL1JKYb3quH/vXGcwdtmuHY+C5BcPvjRyyy7SyNZumEZCmPjBhx8yTJGXXnkFV3lOT9Zc3LuHMZ5pHGjrDYWMdwlRKIl65sOPPmK3P5AR6X+OkV/51V+jXbX85E/9BDnDSw9eES/l0vjML6KIX0zPz6VY0aa2qioKPW3b8vz5cy4uLmi7jqIT/P54BFeRNLLt7OKCN994k93NNb/927/Dz/8TP4/1QvD8zne+y5/5F/8M77z9Ju///gcwe45VopiXRrroZyHVjXeOR48ecbLd8tabb/Lw4eP5GF6GbAswpRiscfzMT/8sn//85xmnie9/8JjX3vgs/8K/eM5f/xt/lUmbOPGz6nU/S4NnWXSZ5ZOGBy/dw1p49OgZZGQgl5LYYErhendDXVe89vprXL644ma3w1Ve8iOndGe6DtaWRRJuNArI2flzURqvXhuiTJlpybJJlqxgUcHUXlnAM9xmkW8LSKWtPadNQ/GZFy+uaepW3mNVW5xs1ozOsF53XCtYUu7DmvOzU9q6Iuimp/Y1TV2otYCbxsg0BayrJIrOSiTE1fW1FOoLjVYSB2KSyKEpTAzTE7HqtgABAABJREFUSOesSnYL+0PPFCOrlXhUnfq5tustANMkagBrTyXmr6kZp0A/Tov0/Wa3p2lbGSSUCCWRMRyHSe0sMI0j4yRDvbrtxBM5DqQcF2BR5dXKNAoNX/StjhwsU8x4W+Otp6REPxyx3rM92eKtw9cNj588pcQoKinTYoxj3a1pW7FTWVO42R8oWfI7pzEwGQHM7XY72rajVoBQiJGsMYF2JqFmoa4KkC9Bkrx5eU6IVNgoMLOokkEUWNKkm5LxdradiI+9a0QpFWPUbaE0UEOWbNS5Wcpl1DQBz9APAo1sW5z1oJvbttNEAwV4xqw8B/hUwxZCoOs6tdxMUqc6K2TppsJ6SwyFunJUzspWvK64eXFN5VtCkPov5ZndAQbPMfX4Vp6b/dAv56w03rfWDasZx6LakL9bI5tqh9RFIUR5HTFRJYkdDNMtuCtFkYR6I0MFX3sZ2EwjTVXhLOz3EzGyyHbDNMiuvCS1wVRihbFSE23W3dIopJT0rOBTmzDvHbaIkhDMwspICvBJMVFZ+R6+qW9TGEqhqsXfPA4CypsVlBJPBJZELpLzCha5uu7GlIXbgeCdr3loZZESfW6CpbnVQamC7LyXLXbTSQzVFORMq6sG44QALZE5o9ToQMyRKUw445frRiTlDdZ4KmfwpmLV1OQUBTCWEsM4sdls6A8Hnu/31NsVKUbe+MzrXF9dE0OQYd3sG/aGcewllnCSjO7T7Zab/bXEDDYVbVdLvnAIUIyos+rZ51tm9pIu4pLkEQeBErZto4Mbq9tOGRLuy5Gm7UgxLM+deQh9enq6nO3OVQtRexyDDG5ShFLTdStu9teirOpHVivx8AuV2VBVDeM0CDdlGKirhhILxst1T0F+jhAkftEYYsrsj3sOhx1NK9nWzoilYdLhR44yuHJ6X/ywX/9IG1trrFLIbvVJ80R3lp3NU7iQJoLmJXrraLzkRkqQuRTY/fGguVFFTNRz2HiRi7bM9FZtUIy1y1Rt8eGWQhiDei2TPoRFcuJcoeS0eFdLNiqQKUtumneeMU7q4yzS8JWZ7paWaARfVWSVEdaVevqwCxU3pay6fXtbXMhdudD2MIgXQGFVTsO+Uwzq3ZAhgUXle14KoboWGpuvPVmnoUYvzBCiSHBTJBRDKhJSJuHxRiEuEnY856H5UvHi+QvJqa0qTrbr5T1yRqTA9k4BOk9iZHAhW85CXiaLdw83IS0nuR6cWbL7Znx7KbIh7vuR9drSH4/UmvGZk2wRnJWsW5sRj4CvkNQOWceXnKESScO8LZ+3+EYDuCWbzGoOb1lksU3TEKJk9aWUaE62xJSE4ptnP4XKXpUUiBFvhqkrzSQTeddRX3vbVQwlQMqQMs6Jb6RkzVjOIik5324gF7abLZVz1JVE+4zDRBgnpmxIxtNPE2McGUNWC5Ua+WOiUSDk/mZHnCIvjs+ZhpE4RYbjoDL4sGwu+2NRaVFZpFHGiBLBGiuSfOsWpLywh+W9ncLE5k6Q/P0HD7DGcnNzw9tvvaaeHMlifvb00W3zXCQOAgNuGsUDWGbQwVEinTWap2oaalcJfIwiwfcpMg6j+DKME+/hMLLfHySvbdXy4MF9ttutbGE1M9oai/eG66sbHn3yA3KKS7ac945+OLJZr2SrrP4oKWACXVsRY8YYkRHFONEfrqlcpKotmYSzd5QeqtU0GA77gZPNfA8YKBUlO6xpRXlgGnlfdZsl0sz1Mv32Vq759WqFNZbNdsvl5SUpZTabtXo7BRJlrQyIpAAapHmTN0C3pLeRPzkXtienHA5Hdjd7fvebv8sf+IU/dOt/zIVep7ZNWysKuKis1khRXmZ6ttH4q8L3vv8BF/fOCdO4SImM0texCLiioPElAigqZc7vZrlOpOgry/320Ucf0bY1L790gTEqhdZs534YmMaRb3zj66zXHRf3zoHMdrvh+fOnPHnyhO9/7/v8wV/4A3z3u+9jVJRrhCKir0UfXcpxmCOlSs48efyYum4Wv56sL+/AptSTuz7p2O+v+U/+3//xIpe31nLv3j02Xc3Dy6esV+vlHitWrnVz58Gc/6H34f79+3Tdhu9+7wP6oadddQsN1DuRDR6PPev1mm7V8ez5c7mGqkqKOqWQOqVBG2TIMbNW5IzUht7kJVf2U19zXpj+ffbu3/13gPjGrOX09ISTxmL0GXU8SjPifEVdCYwtThM3Nzvderjl86+rGmsdbduRUiRlgbkNx5EUC0ZOfXKSbWZMid1hL8TdypN8xaSNksHQ95J3bpXIHVPi5tkzrLFMsTCMg/r1V9RVBasVx15UEVOIjGMv8J9aGobD/oBVmnNWCZhzhrqqMGVOeYgqsw4UpQPHGBYi+MyoADg/P6ftOmKcNONe7S3TSKtyRwEpyYb05nrHoT/Sdh1NJX41g6FrO62d4uKhfvz4CS+/fMF207Hq1jx/fkXOUNdC88eIbz2EidWqo6ocrvHESb6PryRyxziLHx39OFAymhsf8b5mKCNJOQApxU+RxuV2scofyUsDK+dP0mGneOhm7+ndIYm1TlkGGlOT5JwUPkhWn11QLoeo62bvaYxRmRa3G12r+chz8zZf2yXfPv/c4vmNTONIpZE63jm6tpba0MD1fr8U/t7LoqAoDXfe6hZtquXPyIu3VrJtpQEU2OqkObpBfY5QGy8qxpIXD2LOmlqRM74S1oO3Tj7LIvcfanuYP4OqqqSJUgXgzKoxxtzZ+s0k5Nuc4Fm4UvSgmOW7zjmKn+V6t9qVOc4oagqBNLbKOUkCubvZ7fSZa9XGIeqOourKWc2np9Ryjyx5vtoIo2A6GbSpNNqJkiRlyeGufIUtwkbxTmTMrvYMQ69NlyReyLUhMDaMJHXEJICuFJPYAHPBu3oBM8506hgjJguR3zlZYhgD0zDIYi1GyfUOnt31DfvdnhWWs7MzLp8/Y7VeE69n6GlNiFE27SVzeX3J/YuzxWctasGkiTJy/8YYWK0beo32mQn88vsi43I9yYb5cDhKzaHQstV6xWa9JgaBh67Xa2HpzBnDc8RSzqxXG1ErZonbCUGhZilzOBykLndO5dqWaYpSP6Wkz+uAqQ21l+diCBOUzMnJCcej2EHqOXbJywArp0BdVWxPtjpmSFRNzZgSuRdbyixpn8I/BipyzghtDYkKKMghlK1EVJRkZvQIWJE+kBO76xsMkVVVM4WIiQlXVVgnuPWcAgHNsbVWYUoZZfxgjMMZgUFJJqJGWZi5MCiLTFTIzVlzyFoqZ3XCA9YkEkm+nzd6o8tEzfuK47HHWoUWqT9DItEcReMSTDHEXPRdM4zDxBgnhNJuaFtPCGWZOhUjYfZR8/ycEW+J9xImrSJfYszL9m2Z8MMiyagqr82FbICtEX9MzLcPwxASwxDwVSPUwGx0ipWWBiSECYwjhqIkPiGRyYQ/YbIMDuYJZClFoQqyTe/aTrbnphCz5n3V7d2zTw4mL+Ra77xu9ONCGT32A9MYaaqGtvJys2QhJ6s5j5KiDEl0M2XK/E7pMKUYSoJQBMwgoBbwVhoQ5uB6q4Z7bURDCKCxOznJsGKKglMvxpCKgBB8LV4H5xxZgSWHoVfFwZ3vWWb5njRtTNOSTZhiwCSRC61WG5pG6OCn2xOBXWXY9SNxv2MYAv0wEpIhJscwiEQ8a9NSVIqcgayyww++9wM+994X+L1vf4vL58956f4Dnjx8RI6JHGWqPo3SVMqEtCyxAQK98nqNGxy3hVrJ4nOqmo5cxEtOkSawaTuquuLevXvL9XF6ekrjPDfXlxhr2Gw2fPCDD5eIo17lh7M8UIA04qUOGa6u97RewFGlJPb7I4339H0vcldrWa0E+d62La+8/IB7F2e0rUzWp6CecyzGeIzJvHj2gvEgcRGukofqsT/I9ytpiW1wmhH95PFjTrdrmqYTj0uJlBxxHlqdWqZshDTMbRblJx99zHF/4OHDh/zet76FMZ6+H/jDf/gP88knnxDCyOPHjzWTTh8gKfHqa6+yXq0Xeb5T68b9+/f59ne+w3qz5ne/+bs4BZz96T/1p/h7f+9XFtmQZMBZ1usVT54+pWmbhRYZFHxh8Aplsmy3G043W157+RVKSlhTk0vh9779Hd7/3vd59PCheF6tEuVL5uzkFGstz588FqXObLTMcLI95WS7xRi3RBrcUo9ZAICUuYUsy4Boxg8v29ss0l6jucsCQpJfz1Gk+03bslqt6LqOs7NTUprougZM4bXPvMKHH39AGAL/4B/8On/mX/jT/NW//je53u2XzbZhtohok6ev0RSLQWjt15cv+Ozn3uPs/PxTZ5lRb5gxMmBs25qf//mf41/5X/zLrFpRAbVty/X1DV/76lf51V/9VR5+8lDlhXaJ35mbY3OXmqwBswVYrTveeON1Pv7kE6ZpFG9xlKm9czUxRo7jka7reOuNN3n+7Bk319eiLMqZKWf8TDTXn3wWAaWSF8/1nXCnZTg8E46LDjO9F0iL0Ugg627/juYLr1YdbWOJaeD8bMt61fLJwydEncg/f3ZJDELLLSlRbUQ5NJVRpdNliQI5HA6UzpGGQEqShkARkJKpLClL8SPPcUdxBW/3jP1AKhPTFBiGUTLrjUSNzX61JiYMSVMNpMFvmwqD8CFiypydnbDdrjClcHNzReUlP/Lm+ka3nAKZXDctm03H5fULhmHi/PQc5zxh9nU6y+Fw0LM2LrJ3rxmxOMM4BcY4ig1rHBnGHms6sFaorIeecYxUvqGtOryrSCZxdXktOacp4G2F945hGIWcWiDdOxeaarOVaDZNChhVSl3VbtmWxjDRrWumSbeDJRCnpFnnGWu8RO/GQshR2CdZBqDOWh1UR0qRYtYaJ9eplZxVh/JWNNru1ldqNKtb5c1NszS6JTumYY4uMTR1i3eVPmsFSCVgrcCq6kRimiTyBySyzZApOdJ1EtXS9wL1Mga5pzRXds4PDyFgMXq9i3Ul5yAKr07qR6NS0DiNOCsMpClEBSQ5lTAnjfMpy1kxD/TFQmRUQSPPqpwj3jlq9eTmKVBSxtciAw0hUtU1pra3yQ1Wfq83VutDOW9rb2gqx2z4yird7XsB8k3jsDRDSbOD0cxzg5HGcPbjl7zMsCQGUg5LayxxuZ4N1ltSSCLJPx459CN1DcfjxDCMSxMt/nGHkbAUjPGQ5ug0o3GZ7lMS9Ln2nv3bFLt4lNfr9bKouNntCGmSnF4QX7r31I0A3XKWesZ74a2EUJgmyaydIbM5JmpbUbWSoTyMA1bBlRjhedR1BapAy0lYO07jumqNPFvVNQ7J2SbD7nDQZ0UjmcVtw/44aPxfI6oT5YfMCRr3792nazq+98lHuLpiHAfatiElOB6mBf4KQv8+HI5grCr4DX0/0nXdAr0cJ4nFc85IfNYk5+TF+T1inGTzXNWLXF8GmZlxGnTQZrW2Luz3R8Zx5OL+OYfDUW2fshSZpomQ1FKXRd3RbTsq76grx2a9oqsrYgxMwyC2iSLVfFVbwigRsVkXlsZaphhIOTCFQL1qQa+Hum1/2Hb1H2Fje2cKMBcIkvGnk1NnlGQs/g9nLEVvMGuLym+dxmVYzZeUTVCKiUa/n8VhXFlAPZUWpiFFjG5PzRx54QTMQxGil9ENbJmb75RuC3lriBScFWBCbmqd3kxLRtVslhZ61xyWYPCu1umDeOiGkplKkIdW7fG+Vvqd04lcEB15FOlvTJmNr6irilDugJu81/zAJNtbJ9lxKSeJsjBGG2GZOsUYZXNorZKgIQYBOxksn3zymPV61vFLLqHRzap3nmMYiCFJypApSh5Et1fzZyQikaSShZwLKesW05RFVsEMBNBtWOWtDCdUzuoaIbdlMphq8Y/s9zvqerU0jjNVVuR78rrt4gWTTa/VbUdU8FdRCVNWSIxsaQ1TEsmN9RYXC21b0ffDAlcIk0hDigIUKu8hZYZDj6uqJXdxngpiZNvZrjri0kR7JTPOE8ZW5EROPEvzhj+rkd6q/GWcRsgB72QqN02BQz/I9DMJKTjjwXicq6irZs5KoWQdqBjUkF/x2fc+zyuvvsqbb73BD37wgUAAdCItkU5GGmJF4YtdoCx+IfFTiAdmzpFDH3yC4U+zUk7znB05R5USXnBx/gCD47Of/RwPP/qQe/fvYZBCJ82DGiPngzWWIarfQgPF5wdHjJndeCCnqOgww4jVGLCa7Woj0RrecXFxLlsX6+iPB5EWGUhFIhey0KYw3uO8xxoZevnKKwhINnhNUwvkIIZlwm6Mlwlulqy38yKArRDk3AKLr2p5jUUGE8Y4/spf/it88Qtf4Bf+4B8A45hC4Pz8BGMzu92OU4U2eI3Oylk2NjEmpjgRY1hgfP3Q8/vf/Q7/k3/mn+YLX/wCXSvkwPPzU7704z8m2XUKrUoxc3pywv2LM7quo1uvlk3GDPv45V/+ZU5Pz3j77TeobeHHfvTzHMcMBZ682HF+fk71wYd86Ys/yns/8t5SdMptLv64r//GN5jGS70+LJWxpKknhRaTE7/3zW/y41/8Uc63p5xtt/SaX4oOo+bZvL0d3Ykqw4nFoCAyQWMgTCPX11c44wgxY4rH4NXXLmf7yy+9zHe/+21SyDx79JSf+Kmf5OrFNb/zW7/Db//WN/mTf/JP8k/+oT/EX/8bf1M2LAhALN8lRt/iqRcPrLWG73/ve7z+xht4Vy1nqhR2M+U4cXZ+zo984T3u3ztXFYilbSq2mzVXL97hZ3/uy/xH/+H/i+9///vU1ivIqqjsztyyHpR4OauCKHB2uqVr3+Hhw0dc7XZU1lGK5L56ydljGidyyty7uGCzXvH8+XOFzcz+NIHNmSU3UPx8ZSGbaptv8rJtswp4ccz8Cvma740Ybze8c9yVMVbzsgf6flTFUU2M4smaRonbmaaJ7Xqt3lMBF05hIk8oxK5wOEQ+//kf5fvffZ9h2GM0NqIUiPueSQcZMUaMMzRNzUsPHvDk6QvCONE1DmcyK/WqXt9cc+/efc7OTnn27Al1fUrOslk7Oz2lAP7JU54/v+be/QdqRdlBKQz9RFU3WOOYQmKzbQh9z3rdqX/Naf554epqR9vW3Ls4IeWkBHK5nlbrDeMUaGqhyQ/9wDj08jzQxq2t6mV7WVUVdpqWgULKhcNx5PmLG6G69wNDkPdutVlLnqpuwD7+5DHXNwdOT88wBvYK6uy6jnEYmKaRs7MTHboq46FI9N8saUwxLATglBNpihLhlGfpoiGNUZ6LzFmXmXberqRZzVaTTcTkSMlCQK/rGkxhCqMUvl0r39M4pimKFQwUDpUUQNSIigupq9q25dgfAQhTVOtDRU7qf00iP56mWaIukvlh6GnbhkoH5zEmjfkVQJZtHYfjkdV6S7fqGPuBrq0FauYslQ5zKJmq9uSSFDJVaOpKhR2GFHVZUFXL8HueBQrbJNF1TnM/a5FOW08KUcFycm9bY8ROlwvjMLK/2Ysk2zndTBpdpMqWT9QPdhmmSL0qUs8QJnKMy5IllUy3XUkua3HEEJemmZSW9yxr4sWs1LLOaZ2g9aGTOMumbTkce6YQyXp/zwsqSU+x8/JTyMNKzm7qhqi09KRDU+9lCTJbAWv953EchSxcMt7CWuv2NI5yxukgQc66/KmtZoqCMrN6XklO90BdBPZWWbvUnVXdkZjoh3EZzHZNuzT1wzQKf6bYJdLoOIwCtVutRQEwDNR1y8nFBTfX15CFeJwuL0m6vWybRhZN3jGMgzIbGuq65unzZ2IR0MERCD8n5SS2RStD374f1L8sw5C5l5gHAM4LSNWqSjGnjHce04g1qvY1lRVFivVy1lhn2R92hBAXqKjU/3FRc/XHUXoOtUO0bc2LyxeqcpUhT1NLzZJS1EFoYZgGrIWzsw3GCnir5EwKQpueQsBlx3q9IuVECHnhIHnvSMmpZP0fQ9yP4ZZqKTe60BOFhOVIegCVolEcxSz/nEsR76NS1pKixefJfZwCJem0WQuBylomhRMVUxT7PE91ZomQmPKNETmBq7zKfEROGaZRto9Z7LpGpbDeWXIt63KBRLAAJkAkFWUuEsyMMJ/Pt0RKsNqsgYSvNKuITAyyfUlhwplWiinRDGFx0jT4QgiDQJ3UIzQ/zGbIkXidinpapehKCZ2azblfjpIMMYrEGizPnj2jql7WCeGMGY8CJAqynfOV0Q2z+F1SSmQEI+4rJe4ptU68Mg5fe1KUB2AumcpUOgWuFj+Z95p/liQcvWsb8TjETEqFaQq6dWto6oaqdotsXLafek1lzcHU7a0tUPv5gCzLNC+lRLGGMGnRpeQ85+X9bhqHdwVvb4cwKL26qmo9YNVvEiNd2xFJmFpx76awqlpiCirpEFlpySzB4d6LLCMnQ3S3q4+SM8YbPZQyJohfaxoTk4JOZIvnCCURc6ZqKny9XgilvqqWgyyFhNcCP6SAq9wCTXD6AMg586UvfYl7Lz3AeEez6nj1M5/h4vREIG5eJpF3JYh5Bm1Vnt3uGucdm81GVQYTr33mMxymiLGFV195Ge+E+vnej3yRkgJ+f+CNN95h6Cde/8xbnJ2fsbvZ8fZnP7/APZw+rD7+5BO2my1d17E+u6Afj9SN44//s38M65IOdWTY4BDv4/zPxire/46a4umzp6xWa+p2jXUtm4t7mKoCW/gjv/gnGQ7XOKsbiZw10uPIulspIM1qQyPDgsvLS1566SWaRiBVb771Nn/QlkUxYa2jqtfgDEM/8JM/8ZOcnZ2Si+He+Tmf/5EfFRJkisSSefPeuwx9vxTo8oexkMEPhwN/7J/947zzuXeJOXF6fsYf+WP/DN1qxbuf/SxvvvW2wBKMDOTe+ey7xJAWWZ/RDQlvq/y+ciJ7naXmJfNPGcmoPjs7A1fxu7//PV566WVijnTdmpdfeZUf+/HMZrPhtddfFy+2blpnKeX/6t/6NzjuD+R0K7MrpfD8+XPOLy546eWX+G/+q/+GOAV+7qd/htOzE37nt36H4+HI8xfPdCqvAyvjsc5QtyLpX69b2ao7I4MxC6+8/LKoPapWpateYoE0nuHtt9/hg+99H29r8SomSxgzXbOmJPjqr3+Nf/IP/SF+5e/9qipUvC6ajVo0bmFKlKJFrlCaD8c9L54/FihN0nxeDM7fRqg8f3HJsxc3rDdbnM1UdYWvClXTsDq5x9/91a/y5/53/1v+/X///87lsyc0bS3xG5TlvndOM4iLeNsDYnsxWLrW8/Zbr/Pxxw95/Ow5ddPhihPpWCXvm8TV7NhsVrz66qs8f/6CQ3+gbupFiluSU2/b7PfVZ69uw+1MpNYtrpl9v8Xo0OZWIji/Z9aJWiFlOBx7agIhjJpBPdcE0sZXda0Mg2ZeB4uai0w/HinF0XVrYoj0Q+D07GWS/Zg+7ElhYr3qGPueSrcU3jaElJnCSKWDjs26o+tqBt1KhamnW68IqQEjuaVtIw+7EITg6V0laglVfK1WK2KU5s9aSzGOBy+9zLPnLxjHwJMnz9hs1sQU6adALDCFTIiy3bh4cLGAa/BOMtj1cZOiKKmmKVDXErG2aVeMITEOwl0QNVZe5LHWiV1oGCPGJnYPH2Od5eR0S1Mi6VDwTaORThK5EVLk8mYnQz2VipY+MBx7vLNcH4/cuziViJgUyUnqARnW6PZRwTyltgxh0kG1NLRTFKJ3yZGijAZfN/haiMqDDki8deQUiTlIvJl1hJjoVg5jstYkkl2ZS6F4UWXFmfugVhKjW8KcElVlqRvPFKTpr3yFMxWHcRBYo72bVKCxIpM829u2ZpzmbNSykL5niOUcnzYrAL33jGpRoETqylI5HSY79RpTJArQOSovGalzkkPOLH5lafIqSjHSvBfJ7zZGXuec0JGLwI6apmIae+E0RLF+pEkyvutG4JJ9PwHapGr0z8yZkb9kE9bWHUUtL5WzMhQYRqyFw9CrPSEv8W4li9xe8m7tQnHPCruar4/5z8xFBnTDONCPAxmYYqSQqF2FLY7KeTE0lSKKxwVkegsRzRjCMOiAwCx+5raplRuQWG+6BfQkA2BdSlyIoqjo4CFOIi8eVKknEviCdxUQdfnhWK/X4lfNmXbVYpHrOyex2Rh9Rjgr9VXbtVxPNwxholiBLqH3e0qFEgIZR9c6irWcnZ2zu9rRH3u8g6EfOd1ucVYSYkpOojSohBrfD73wCOJILIl21XHojwKXTRLJKDDZRmjOTuL+Drs9TdPQrVbSR2hTL/WBMHG8HkTOe0KUQZVVK0nGKGxLhvrOeQFHxijLm1yYkizHLs63FAo31wfN0i2a+mFYb9YKg5XPdh6GxRhEBTDnWTv5/L33Yvs0lt31NSenp8IU0YFOzplxSFgq2uYWEmsVRvs/emO7EC9L1qmjNpgx4tXMjDatiflhOE+7Pdkk8bBpLtnsuarV35CL0YB3CScv3iqRLStpTbYu0hBoqz17fItIPqu6wmIIWbZlYZ7eZZm2zZKZnMULmRD6cipFt4USwCzTwihh5bVQ1GLOgt+uJC4gF5WDaBOW0iwnVtnrpMELSTYSOUdCUK+pTkhyKktItVGPSM5FN3VWm2hFthfR83uNNZAtm8U7CRG5uTkwaHzONEm2bS6iw8+5UHvZBs/obYNZ8q7EXyIxRUZhUSnL+1Z7K3EzJs4Tjk9R64xOXp1xxBQV6W4xXgAeMtUXGUvTtOIZ8ZUecgvcWgYbRiQkKaSl+Jo9YvNNK94zq74/+TliFs8vRgjczjnKFJZMrlIgKuxrnv7KpDWRcmSzXct0Ksr1Mo4TlfEYs6JpWg7q7zIYihUZqE3iPc4pUawjaUTCfCjMB2NSGmlRKbmE2Yt3aLNpGQahegJUlWxvQgzkZKldqzFMmZTloE8ZtqenSzRPKeKbONGYifc+/x4vXrzglVdf5v/0f/6/yGe1SItUiGhuY7uMPkzmjFHZIkm0SQqRTz7+iDffeFOBcQ6/XvMLf/SPqBPX4I3jlXc+T1CZlciXbgWPpaDh8GXxj3/4/e9jnOOVN97i9TffUl/6fF3N2X2ZPJPJdZMrmyZ5fV/IWX39mY8+/pBueyqoe1P46Z//g6SSbrfT+ucbA3bGA+j+9q5HfIZYfPDBB9x74z1OXnlPJu+aVSxzC0tTW/7pP/rHKBh+8ud+Hoxdom5KTnz00Ue8+voFq/WdaAwr91VRb9PpPfjMm+9IEZQN3faCf+5P/c8WRUJG8vqmELi6vuT8wX2RB86NxnKvlvlNXrZysw/+J84fLLCm1998B4DdzQ1hmuhWW+6//AoXD15ZCrxqvdWdnMrQCvzsVx7on8etisUYPvroYzZn5/zhf+qPkELkm7/9O3zta7/B6yen/MRP/4xuEyou7p0zhUDVtHLGAKb2HGLhD/3RP8GXh0lyBkuhripWqxVVVYtsL2VpapqGh4+eUnUtv/DP/NP85Jd/Du89bdfRti2vvvkm/TDQNDI025zf53//7/0fdDvutGCZ83RvJW/Wiqpgv7umFNjvbvja136Tw3Dk1My5jjNjQBqh999/n7/4F/8iDx7cp2s7fR0tTV3z7OlzvvrV36SuK/7sn/1f81f+s7/M++9/F29Ehlc0CqnM0Re2LA/1qKBCIagaXn/9NXxV8fDRY3zV0K1ahinohL+ipMw4joSYOTs7Z7Pd8vzFC7WSOBm0pkRdeYliM7cAqJzR+LusDIB8KwdcbDhliSi5OwyrVdn06NETOpdxvixy9GX7bOD6ZkftPY1KpXeHA1UlpE7xzlVyNmrE3v6w4/L6BakIa+Jmt6M/Hjk9O8MYw/4wYYwjTBNtKxuYVbfBeku5vpQBg/fEkmm7llwS+8OeEINkPsaJw/FIU3U8fPiYq+sb1ps1w9AT4ijQmRDFK6hWiKqu2O/FwrDfC5m96zo2m4795SUnp2f4uiVMR+EaDBN9P9H3QSKCrg/0vcgbnfPKEdjL1mS1IudIlHqQRou2GKMOv6RYvby5lEFwK7YEX9cctTkJ06Tnk6jQ+uOBEjPeO5VeS4OwWq2IQdggIQSMm/M5g9oj8iLVx4hseeonIc8nAXqGOIkXd04+iIHNZsM4Dp+qESUaJMtAVpujWf8fgngZi9jXZePkHXEQWI61Dq8qiBCDbB+tJyUpmEvKC5xp9vY7pcwKWClAcZRsGcdAVXkqL1LkqHJho/FN1hq8l81dXYvUv61r2k6u17YWQGQqUn8ZrTkq74k5UbnZ+5uYNF3CYLGVZOOWlMnm1jfati11XXM4HJZn0pz/27btbT2tYNSmrpjCJFsve0c1oe//8XjUZ7ZVaen8ucvzo20bAai2Lb7yxMOeyorU2SBLEmetgqbk+da2raoOo/qU52GD03tb1S0Kyer7nv7YMyV5ts6sBPR88062klGp2E6fM9M06bPaLu+DqCU9TSNb8KauVVZdFvXJbGeb46NyyhgryhLnZcOYxpE4TYv8PZekQKS8SH+tcRrlIySGKUSRLy+NHnTrlrEfub684tgPotY0gdp5Vaca6lqIztM0kOIk/YjSo3MWD/IwHLm4f07bNlzf7NQHnTDeglXfqNmw2+85jpK3XWZvcEk0dSe2TiRL1jkZNHSrVnPH59pIzt9xHKjrRmMyDSZbmromJFHPrFZr6rpZQJ/eiSrweDyI3eU4YnWJgipdS5JN884cJDe4qnDz8/38gn44iuJFYYTHvseQWHUCEyMXVpuGob8WlZyXn22j+fQk7XuKRJumJD//FAJ13QKOlKZbpdX/mI1tjkkIV8Yp4S1hnGPKAzmK0d0aR+I2akZW4I7GC4Y8qdQFI7SvXGRT45A8WNyt90hyQ5XWpaHyOQsN0eIWOQZI9FCazfAli9l+9jFlRJJQIrV+2CUVTMqM40TTrbDO6RtrcMYLvMlInuz8eqwRtLkpMMWJkBKVyrqyTsvcDAcR+pROKGX7JH4plXMUeQ3TNGrWn70jKZbqe/ZnxJgXr+mkgcfLhlMbk6KH9mazweq0Sm52kW1h1OumodzWOpUG3hIvS4FpEpN7yomo33/Gz88wqXkg4e6ABLwVz4X06NKUD1OQSZhCJ+aDaJabzA/SmGSaWUxhiiNBg8XTDKfIRqXHZZlGzd4dM+cR62spc3g5WdHgBV+JhFmmto7KeHlYz82SQXxHOqDwTh5uRjd5OQUNqhaanilgskw2yTIhTYCtvTYdZQGZWSf3QDbp9n1VcMsMzDD6WccoOcfWGrqiAeWmYKaJsUS87RjHkQcvvc5bb79Nt9ougIyvfOUrhBh58uwpP/joI+7dv0exlqpdi6SU26L2U/e0Fq0S/G2XaaUthVgK2Ei2Fa7uxPdc1VjvqX0j14eSfrMp6udT989y36AFtcxqZgpt3cqUEWfJxpC0ScPIMaD8OfXPLC2yDLOMxbpCsdooO0OxNcZLjnBRSbK1c+i9Rs7YueFecHf6//990p5xNcZ6rJfPOOe0kIoVSShTeqWDCqvDCa7IO8aYZVofWeA6hUL5VIZqWXI+o/78ZrmnzXLPlygbfaMybpwUWELotZjZx7okt8wF6ozJkw/CaHPnNO5E/Nt+AWUYfaBLlIDScou8RrvcV/qtjcU2DdlZonXUq5af/vI/wec+/x7f+fa3+MKXfpLz8zNMKSLjikE8Y9o2x2IYiuGlNz+7nK8s74q+9mKFqqjAlNX5BeMkTcLFZ15fAF7zTHWjOjmTDfuQ2VzcFym0dwJbUQvLPKiYv5KBk6amqTyvmDeIeDKG+ced1UHD4cjxeOTjjz9e/GtFlTbzWXg8Hvjsu5/lr/31v8kf/sO/wJ/73/xZ/m///v+Vp8+fiQIDu9CBHY58B8hkvFeSr1pHvOPVVx5Qe8/HDx8zxUC7km3DDGMySxyNoWlb3n33s3zyycfs93uJvNC4lJzlHLwL7gmpiDJCfYlYv/ihZYMmjfOnPhvdqsWYubrekxrLal1RVfJ8SDnKcFp/lv3VNSUnXnvtVXY3ewyZ7ekpxjoOfQ/OLTnpQYEwXV3TVRXHwx5jDZeX1+wPR05PTzgcjpQYGIa4/Hy4zBgyx+GotPrM/nBgtV6x3w8MYwYiN7ueGAo3uwOXVzcSLZgzh+NBn7W3QJZHjx4pQVeaonGYGMaB49Bzvd/xRvMazld88vARvvZ0jQwzYwoSNZgKMQ4yNNCz93g8Mk1BI/4i61WLsYZhHMgZVvrsdlbikCAyjQOYQt1W3Ox3YsNoap4/f85eN+Kn2xPOzs5YdQ0Ow/7mRkFN1WJN2GzWC/xwHlKYpX7S4V5msTBUtcW7jkxkCiMFfb6WBCUr6VlI1ONUFr/nDGsSMZoQpNerFdYZhmFYBpZzwzTFgc62izUlpiDqtiIbJuMsPsvn1FQScxSmQLQRq2opqBbv7G63l0K4zOqurBmxkVFjX9ZryQl1zi73mmzKHVMMkunqPVOaiDnS1i0hylLGO4VPzhtmJw1BKtKIlQxtUxHiYiPWM+SWQuucROFUVbXcX3eZLnNee9s1YoPqtOnVKKFcEuM4Lt9XH5sywLKWIY7EoKouK3VV0qF6jBKrJMuj2+eFcUa27TlJCoM23LMNAY2om0Gdo27W+r6XRts5mrYRq02SDV0uCdPUjLppt85ryKXwDrI+fauqunPWFozEc4sEXeOHUop6zUiTdZdxUmY+WLndts7v6SzRnoK8X/3QSwSY1gc5Jw7HPU3dfhr6aln6B2fF05xKJk4TyVeYbGibGkwizAO9JNCnWYZ7fnFGSROpJHa7G+q6Zt21DONIPwSGscfXNU637iElZXdkzeSGpq7UOim+1MrLACbFgHGWuq1U5jsPetD818Kqa1Q96XB1xRAcu/7AOAbOz8/pB6Fre19jnaMf+sVjPUdSVV6gn/1xYNWtZODTtqy6FTc3N6y7leTRWkPbdezjgXGaCNPIg/NTff/8ouZcryRSrWtqsa6sOsYQdVssJPy6qRiGgaYRan3fj1jr6GqJOfphv354KbIW0SYVXGtpfSPTv2Jk4u5YfIdGPUkxJlJEp2hGPFNl3iwIZt0AjasglYVQOR8KJSmR2FeLkdwav7zxQlcTKpvVzW0pOlXT6Bav06OcEh7Rsu/CEWOdXChTpKqMZsxa0aLrljAp/t7YO6jpBHGKBB+o1NxNcUrqUCN8kUzb5fadD4giB6oUkJGcZXponFn8UaXofx9nb9YtWl/k2El8FkY8tjKNkhX/ZrPi6dPHhDByenoqxN2xV3nuEkQIWd7TOMkDSjxtaZkuyoaJxUtq9ElojRWSY1tpXpzITccYSc4o4h2ZgFd+uQ7Ee3pLUXTzATT/GVkieFIQsBgqjTF2JnXO4i65bkTSA3XrlwMo60Y9p1leZ299yfmWpEjRQUgS6bX1hv1+z/0HL3NdbgTIFcsiX7b6P2OFUDpLciovfkw7w0FcxTQErPooxTcgXmlr9FC2TidWcv1m0ZHLdVKSRhMY1qtWYWhQslxbrmpo6sTVi4cYAuuTe1w8uE8pma9942u8+847PPz4Y26ur7h37x4xiEqh/PfkG2XZ2Bb1kRrjbxtABZ5UphDne8B5YjFE4xhCputa3NzwaVHj7Ny4oI8uQ87h1l9oNW+zOKZk6UPWTDmDzRqNoK/PuzmmxSyF9S2gCLBiT8i5kIxljJmb4yT5frppy0WbkzJLxO/Qbpdrhk/ldBoL1hXGceLQD1jrqaxT4q9cE9nkpdcW9eXtdSkT5cxumrgeBj0LWNqoNBcTdlb7lwU0MtsOAKG5I97IEBPPL3fcf2mUs1Yf4G72YgHGWT0r79y/uqGbi7eF4DxMPLvc0Wz7O1YLub6NUc++gtqMuX3frU7bjUp6n9303AyB09NzXjo5oXZeIk6K0wxrGZqFCDe7I2cXzS2tUz/HUm6Hk1KjaeyMQRrxGX6UM2QY+om6lUmy/GeWmUl1W0fqOT0PNtOdeJ9ZljBfR/pe7Y8D1cmpqk3Un+3s7a2SZLK9Xq94773PaSNbSCHeRmUUiQyxVkikf/tv/11ee/Vl/tV//V/jL/z5/0DiXqp6GaikKHEfzHfeUoh9+j25/+CCpq75wUcfsz/sqbtOVTCj+tLEPtIPPcM4sD3Z0rUNz58/1w1TpZv/iNW8+duzBcYxYgt4HdF4X3TbVhbrz5y1WVUtvqqIYcI7J41s9kuGYUFi5KaYFRw3EsaRMCVeeflVxmHHw08+Yd2tuLp+wnl9IUor6/jOt77F+ekp21XHcXcNRNq2IsTIWSPU/q5xTCYS00iaM9TJBLXoHI7iZYwpEqfC3hwFWMeRcQxYW3F1sydjqH1FQeKw6kqIqiUHmlrgM85Jk1lXLatOGtx+DNzs9zx7/ozDXjIdL188Z2ga9dDL8DIneW6i1HMnlQGNn3NOZVgUYoAC0yBbjf3VjUB5NlvG4Yo8JRrf0TVr9sc9WZU+JUuueoyRQfNST09OxdecEmGaaLqtDF1U2ltUpjoD6whzgyDXgvGWylV43QBLc57ZbNeEkBVoVWEq8XjOqRHOWVwj122IUbZ5WkdRkliBkiRXCOVV/swQAyEmVmvJprbWcTjsyUZkz7ZSRkOSLPMyDwJVlhrDJH7enDSybJJnsm6J26YixSivNwu7JcRJN63i7RT68kjbrRY5c388KpNCGnDZimnDWZZIcYxxsulrWpW+jlSuFpBnEsmy2NluVTRNI+CjaRqVsi0qrLmxm2nTGGG5UArrrmMcRtym1YzRQlRg4ryUmGupfuyJKVCbemn+0p2M2Bn6WrShROMknbVLDFAIk/qqZdCNRoSlUijqU53Pqc1mg/ee3aGnqSSWLeggLabINPZMU6DtxKvqFAgoeBxdJukCoqks666hGFErpZyx2RBTVKXa/ByTWthlc4eCIwPZXARw5vU6ECq0RPmI8lMWatvtlilOEpEUBMYWbVQ+j9bGURSF4iM+yjWYRQVDMQxMeH8bW5eSbL4fPLjPMEje8/nZOY+fPuIY5dqMaeL0dEtVeV5cXQrsqq3px37JGXYYVk1LTJNC0KS5rmvpt3Bwsj0hFunHxqGnqhr6fqCua/pDT1BrnbWWWLIyGipOtls5G+NIVTvariXGCVKk8RUBg19vxNfsPLV1kjgTC02duXdxj/3hoJ5fy/F4oFDY7XbUSosuOXGy3Yhyo2T644FV17E52dC2HSEEmqajlJFhGFmv1iIh70fatqNpa2IK4oVualJURZ2xS631w3z90I3tqpEsSZIcqiZzJ9RYp8AhLFh3ayU/C40XcNahnNd594JxUsjUOAHOpKy0NpnGSORUkeJEYUk5SyOcdWqGsRiCNEsFlSQ35BSwmnlQWyvyr5iIJcjBYJ2Y2ENavAUYQ900OFsIQyYmDR6Ye9qUCFPQOB6RjMoNKoAjoTNYnY7d0ojFm1BUIiZbrBASpriZx6QFjXhubdGFixHje9LIDWe9+OySeByMkeYKoK49KQWury45OVlDSYRJC9twS7zzumE42Wy4vtrp95FibJGrGiMDASBEif6xXnastatFEqmEXdlUDFSNIUz6MLceZyucF6CJNbNveI4p8cRR/ErGVuQskijrBTo2Z9vhNTdRC8DZA2FdFp3+FKhrj8nSzM6EQqEji9R4lqSIP9CSw+ztdtgiQ4+6kvwua8Tr1/e9SEuNxVsBnWEsTSUS6jkouluvMUb8w2M/CgDMyufStg0xjJJ9qz4qU8BW4rUwGMkULJnaGZqmWgK3Zy+y1/drtdowBcuqNeyPPc4l9jeXUBI3N5fc7K4oJfP0yWO+9rWHhJA4HANnF/eXYUIhLnKVGfQh08lZkosWsUVATlmARh9/+DHf+LXfZLeTnFqRs6yEtqdemfIPTUtnQi7M0SIy5DLIsGO322GtVX+GXfLuzBKVUfThlJcojPn7wq1/Y87vO/Y9znm6rl0UBTHdDmokk2+O7Zr9jrf2CgG/yQS3pMDl5aVsR+p6AU+hzSsYLYrk4TulSFGJ5vy9nj9/LhLAbo13XqO+NMtVfd65CNreWqPkcXkoG/3+KUWS2gjGYWK7PcFX9R0lSlnuqbtSu1KKyqnukHcxCwgk58xut6dtV3jdVCxybPXvzoRMOTMEsCGb/fmNgCkGgZRYw7/3f/x3+ZEvfFHUK+V2SzjzFcR25nRMZzDabMqHI5suozFd6DCr5My80kym3Lk2yzKsmC0Ksy9soTIbHXiWvPxs2bBEgn1aeg79sWezXotoqPYY74Tu6qxmttbqk6x1mzbPT7KQ/cs8BJCCGGMIKfKX/rP/nH/pX/zT/Fv/zr/D//M//I8IcaTy1dJ8z77xfOf13KUmS2ZnYbtd8c5bn+Hjh094fr2nbhqqtpVMwCL2mGwkK/V4DJyfnHJy+jZPnz6XLaeSWZNes04Hc7OlKGdRE8yAP2v1edyId6ptO37sx77Ehx9+KNaJMLLZrjFJKKOVr4iZBf6XZ6+atUwxcvniivOzc062W5q64Wbfs1p1cl5WUuDvbq7wzjDajLNwdrbVpiLRdh2mWKZx4tAfVBppuLrckYxstUKULMuUAylGEoZ+mujHwBQDtW8wxnKcZFsWU2YK00IBX69WKoW10uBWwqCwBpqmxVrD/jDQdSLnPTt9WTZM+lkN01HUXkZqg9kPD5rF7gyrrqGqPdNksSYLECtkrq92NHXDOExUrqJylWbHZkoGZzyrbsU49TgLpydbzs4uePjwISFM0syGSD/0GO+wVEoQzRRUmm7VDhVvhyalSHPta0ldsHoPTjFivaetaqz1GAIGS3+c8NaCk2t3GES5kEpamiCU8O6dpVSOlIJ6OBFlj0q9yQbrHbv9Tp/5kk7QrRqKnTduZrEMFc3pniFiwxBwjSwAnHNLpKLVmLBcENhfFuZLVWmkoNrhROILJSjIJheapqXt1ux3N8QgQ47+OEi+p9KaJa5QKNiStSw1TggR7xoOxyO2qhfIVinS+AgNVmSrzhnZupGUAB5VxSbZvEbjCimFaRhw1iq13smzNESF+8E4TdRaWxebMd7iak9WcnPISenTuvG9A4erKqkZx3FkGsZlKxtTJil/QMjoElM514lzxEspRUBDx2HJd5VZstwTx6MMT6tUKSB1BnFJbYGmoIgHFqrKkfTPmkFzAh+VjTFGasCCJFtUVbXwAKx3pCDv4+zLLAt4yYI25GM/sEa273OayjxQcE4GLuMwsg+Bpq44Dul2UKxgNQFKicJB4oS07nNwcrIl58DN1Qteun9O27SEOCmodiTeRLyrONls9PVFihEmjSktOWeaumYIshE3xhGD8BdmJaY1FpsTznu2mw2Hw0DKI5WvJfLQOqHIz5nSGMIwklKgqh2rVUvfD/S9NKmuWLbrLWOYGKdJlljOifLmmCkxcn19w8W9M5oYeP7iBZ3mPFeVZxpHVl3H2emJRPesV1y+eIEtcKJAu2EQ+FbTdISQiEEWld7L8HIGpIk0W5WoWYBsTdNK5eB/eNbxD/07hZxVMYbI1I+UzhCRTd5cQMyy1bnRnbO8xCxvb/2zSi6zcwFsISviX7Y/Zpl4iuTqjpxuDg8vqG6x4IwnG2kI4xSY/ERXe5x3eAoeOL+4YAyBF9fXUrgl2ewKhEciZKxuka1i0Ge4yEz/NVkkxlkLpDAF8NIomsUQH7X4kjgBkTPJgVv7WuN5gqx71FeLboysnSeF6KE+G1DFszk3CDlHTBIvq/c1fRhwTjwmVV1TVfVCGCwmL42zwCIym9UK48SPVMIMpNK81pyWm70gE+hZDqgucZHa5iJo/FyE+DhFvJcLt9ItQpzisp3yrloOkJDjIk12WoRbq9t8ZECQ00xFq0lFvKxzwYSVGJdMIiaEomkNRochc2HsnEjjRXJ9R74y52FYKUBzKby4vFymdU1dLdPnGMVQLxN93bQVLT4zImFOQiCcg9mdel1yZPEpl5SE9GoMVLLp87Zms+kYwogxRqZVMVJ5R6VgK+MMq1WH6Yse/p4HD+5zeTWQYuDXfu3v8/FHH/LuW+9QysT73/0a3//O10kKUShl3pQm3eLdylXnRmOGAqGN5QwmssaQQ1x+D0rKXTZsczZAmQtyq5lqUQjMpsIgxbPAtmZpsmTM5aJAIm5fj/jG5ViawrQ8cGbv9+wrdVbeZwGnGR0KjIuXtqg6wjlH160Yx0EJimWhZM/UcUAHWhZLIcfA8WiIdc18cxpVR9R1g7NweXmJca1kRrqKwej1FAPVHG0x1Dy/vlkO7fnX57zr+/cfcOh7dvsdTdNK3vQUuH//Hq4USpjIMeBiYJgeauyGnH16fMgDVc/N+dyVIYPYMf7EO29x0TWA0wl+htIuQ6Z/KP1F4VHzp6EMA3M7+GBulo3eRMXwzke/T3e8xE8TP3ZzTfWdS9Yfr1VpkqiGgdVHq8UnX1JZAuRvhyDzS7jNw7YKhMu6fbaTBNHLNlU9y+rhWzIrl2spLwOO+TIl34kgKrJZ+avf+5inhyPDMLDqOn7ki5/n7PSURx/9gJwTKUy89/n3+K1v/BZelQ3LBVbEU5ejXMvGyrBn3mr3w8hf+it/lX/1f/k/59/8N/91/tP/5D9VTkKt3+aWKzHD1qwqCmZ+QNJNVdM2vPP2G9SPnvL48VOMF/XRNMnWrqqcbpUKx+OB/f7I+fk552dnXL645NDvF3/iraJErSEI9I8sw8WSi0bJzSCcwG//9m8v8sO5oKrsimE4qLwbDn2/gHFmWN1msyXlwv5w5MGDNXVT048TJ9uNboQ1Pi5M5AS7HOm6hrprFXyIFHTG0rQNx154GikVNpuOooOBEBPb7Yqyarm6vMIi8tBj31NSpE9yzxvvsDlz3O2o64qua5jGUX4ua2ibikpjKuTZX2hb8aq2bU3IYmGyVhq6sBT6DWGI7G4OEoWRBeBSV36xH3WtNMiVE05HW3uiTVS+YE2iqR1VVaudJVFy1JzuQu08x0OEpqFthXacdUAxDANPHj/mlVdf1rghibdpmlrPGvl+KcZl0+f0jE0pk4aJqvEycEtqt9FnfgwyAO3ahjiKz1bJFsQp0aw7Yh7V0y21hDOWoB5lgfcJjNEauS/74SgLkSR8kKLRLk3TSByKtdo4TtR1rXVlXhI55gGw3Ogy5ErlVhozTYGuW2N0AGesRN4Z65mmiK8lhub/z9yfPuuWpmd94O+Z1vAOezjn5FyZNatUqipVlUYEBgsLY4ONbYwJGg84jAfsdrcd0YPb/4Ojo7+1bUCSAWMChJEJN9CmzSg0UEJoolSlUlVlVc55xr33O621nqk/3Pda+6Qmkg472m9E1nDynH32ft+11nMP1/W7DvsDXdsv+cuSeiFgvq7p9Gl0WzcJUGfSukDUWiVluZesNLilqu1htnhog+59UGgRy3tfddhYZxWZZk0bzd2lCoNmBrLVUpeEA3QQVWqBIMPN4L08e+YhuiZC15SVyeKW4WW1YKLGUs1QLV0geedxXur3cRzBzFtQySUGBMTmPeu1xNa1rUixvbGUMpFiIlgv9j8rKQdRFQxZyy/nRNkVQsAHp5Jlq/ngGv+G0XNeK1JtdkwF27Ty3nuh6JdSKFWja6oommYYXoqZUsXCcNgfOL84o2laUpoXZEazWQXq2WoCQlYfekwFp2dqyVn8wrWqr1vkw03TME6D1DXB8+DRQ1arnjrUxUJHNex3e6y1bDZrpjTRdIEpi6TXGauWjkKesrIDnGaWR4l2m8bF+tn4hhMDw+nEdRQy+DBkYo4SiZmSngu3GeKiYpK8bh88Xb/ieNprEgrcubzg6uqK434vLBz12B+OB7Aiw84lUUYZQNy5c1f6NCt+3qR/Z4qRYYrcuXOpqR2GUmEYR8ZxpAnNMtxdrzfEaSIVo5ZVsYPmktTyMP6vA4+aFKyQi2YlWivEQvUMzZsm5ogWO3t60GLqFjxiQEzJGpxsnWSsidxAD3drVaorG7NcZsCBGPFmKVXRx6zVwqWkTBpHXAh01uGBxjvW3Yq+r9x/9Gj5PnwIEm1TClnlVJSC0amIszP4SYok1PvkZxANGhWifji0OS2zNVAfUDOoqWRpoL31FCfkzVkui/rYZlw5uGWLMk8u580Y+pBLVaJMKgYfGhrryMkvEr+5+ahioJH3U2/Ih48eMSoJEuShP5P1RKmqf946bKmAPNwp8wZQ/L+z3yxrOPqceViV9Di7KmaIDtWwlKCam4mxUiioz6TU26gh6+TBVKqhzLJSjc3IWeIOgnoxUCl7UomLhG77RaJZ522kbsGlKZBmehgHQgjaoDqROc1AsMoChbJzFBCQjlkkr9Ys4eGlVOJpVO84mGIZTqOEs2dB55dWtiw1SxxNVGK0GP8bvJPGHgM+eP2cGoZhwPqeWuHrX/sqL7/yIR7cfwfvLD/1kz/Fhz/8Ap/8xEvc3W4wNYFSrI3CHpbGRVUTAoEIS9M6b/SW+/SpodUcgzTDLd4re3XLZm+WqN2KQzUySrevgBa0v8r3q83C4o3Rv2vews2AmlplEjwXDWmSz+j8/JzHjx+/xzfVNI1kWbatZhq2xCi+pnGUyWDWzbUg92WowVM02KQ/jxClHX23wnvLF77wM5TS0fkVF+sNftUzFilsvJdC4Ppmx/bOiouLC0KQgv7q5ppHjx/zmU9/O22z4ru/+7v4uZ/7eR4+fEiahOT4nd/1nTy4/y45jez3+wW6kvLthnB52xav1e2GVpSs4sH8gW/9GB/abt73gfD/02v3WP4B7sy/dv3wvb/n+n+hv+v4v9DXAcac+eE3X+ft3YHHj5/QNIG3Xn+V7//+f5rnn38BkxP3332HO5fnUrg95UlkfhQhcs+cs1phpEm0FnASf/UjP/Kj/Ht/9I/w7/7Rf4cf/uE/RYxx8dIt99TT29oZdDVvcSXEE2sqLz5/D2st795/QhxG+vWGw/Gk8jGr0SqG4AL7mz1tF3jpxee53t1w//59it7LVaWjKWe1Ujj1OYrPstT5npX3apqmZQC22Wzoux5XI9N0IpfEME4isVSpbQgNq75nr2AY9Lnp2wAls151TEmewW3bEEeJsBimxJTEEzefu8F5Qt+xWnVMU78MrwTCEjidTqRQaVtLF4QrEFxgtVpjX4eb/YFTrKIyUIVE0zbcuXOBQXJLU4o0bacDzLJIkZVJg3OWs1UHzrHb7bFWor1icKz6lcRh+GFRrtxc76AauuAI3mBtVaKrUHBPw4lSM03refbZS2qN9L0sAUJj2awClAbrA+SBvuvZ1UKeRqacWK1WPHv3jpCAp4ipGUdl1TYcc1LLy6wYS3hrqPNgd4EOJXIqWK/qG4xGJNpFplmyWCL6Rsi8KUVSMaraqhq9k9X/qWeLEnl9EyjIs3W+xiuzhUUziRelgkCc5L6QJndWFVkr95FXe9t8nUt9JN/D4XDk4uJCOSF2aXyn4cR6vdLYGyvNjjW4IHFHAqoJWD3fS5JcbarUNiIdT0tzJjFLcu+gA4C+7bBe7Fw516X+fTpiq21bxlHgb2IHsNhwq9Jqghcw6RiX98RZR991HFUeHefPy1rZkDorfBG1Q+WUVN5e6RvJBq05U6KQK0TVIPM9r0POOfNeFd4i4fV2yXOV4WC9BTA591S9avW9MQuks+86Gmc51RPterXE+y0ebKfJG5qL23YNxoMLfgGPWgV8BVVBzRRj7yUzupZM30nETmNYYjDrPJg3hnGImkvrFgVR07b4JohUWEGszrsl23eGjc73aNIBdE4ZW2cuTV2iKAVmyVKvpJS4VivYbrfjOJwIbUPb9xwPh4UaP42R9Xolg5QpcnqKaNz3PSlFTscTbS8b3PV6pSwbTeFImeL8klLSaTbu6XSidi1t15KKyLej2tu6TmugppNng3WL4m0cB1GEW6mZqEVUjCarnXEEC4ejHL5nmy3eB66vbkgxsd1s8d7z5MmTxcphddl3c33Nar0GDFPMdP2KthN1b9OG5YyZe4fTca/XmdSTfd8DlWE40Per9322/xPk2BasEfpmzqJpF5m6TFCpGt6ukuCaCgmZ5IYgAedFqcalZoJuDKo2Ieq8kk2pMRhnMUWaJFOyAkVkg+qN3NxRs5BC05Jy0sBtQdis24auCbz1xptcXtzh8eMnQuOL2hUrGCm0jUzaVbIKThpOYxURr7EzOKwzGBzFJ6W6GYyVzMB5he400mh++Dql2tllC1oWssAs16zM00gLzKChJO+LM+SaRTY7pzEaxwxrLzOBV83eznisrQpHmKNl5CHsraXtO8Yx8vj6Cu88XdPoZrOINLzMcBr5D6uroSnPW/Kq4UaFq5sdFsPZ+YbjcJQoiFrEz6xb9yZ0ixTUWCE7T1Gk6XNGnDdCiBY+0+2FbnTzOudhlphFOo0VCZlu+Ky5PbBLFZCASMJY/Mnz1hwr28sZfIUePCHIP5LXqsXfAmcp5BjBWiU/SuMWQsBQpRiiCqAD2QTVLMAf541StAsuSMMT9QDKOTGVJNAMBUbIRDlQUta4BYk/MtYQmkDKln614dOf+RyXd+7y237bb+cv/MhfYHfzmM985qOs1w3rsyBQhWqoNWGMyH1mmvXTrkRbZdM+qyWWInuW6ZY5LB2VKdqlKZ3lSMyhIXpf2aVJnSNGVJ5o559nHrjI1wkuaFE9S3Nv//281RunqITGhhDs4oFJZRL4wXSDDZUaRWFgnSHlgaubE8ZYutZjbJJtT0rq/88L+K6kif10YGpn6IreYUa2/UORouzJ4REhdGTrODu7JJ3icn21XU+ulZQn3nr3HZq245lnn5Xv7zRyc3Nkd3PiM5/+PFOM5HTi7bff4eZmx3zxfvbTnxHZUMycTgM5VawJFCtblzL7Xmfwh2YGzh7puVGvT2VB/2/uJZQL6DoYRzgcnspE+k1e6zX0/Xt/rVa4vobZ6zq/uk7+juMRhoHf6FVUwrrpWq5vbhhORz75yU/x4gdeglp58eWX+ebXv8Z61XM6DYsaZy5a53tp9jRX9V1XKk5/ppv9gT/zZ/8C/84f+df5Y3/sj/Hf/pk/y26/wxt/q56Yyc3e6npZlRGaL45CrGwtvPDsXVZty9vvvMN4vGLTdsTSMJwGYtE4jFY2LOMUeefd+7jg+NCHP8yTR084Hg5kc6tgyRrP57ybl9qSS6mD2FINKcVl42t9wzAmptMNMY/yzJtGGWjFShwTjXVQEqfDnq7biAd4UCJzI9JOr8/TBSiZhE7aakSP804J2ZCmCaxje3aONYbDYY+1jUh024abozyvvTGsuo6mbcXSYpwO3iLBOxovW6QQAo23BN9itXjGZMbxtICpBMomaqKqlOg0TUrTrpQcCdbQBsd+f8AZuHvnnJQmtpuO/c0BIxQ2muBw+vxruqAyc5HIttst3jvO1h0hBELbQL1gvFxTihE5n7V0nWzPj4cjzz9/DxSseTweaZrAOBzYbjqaYHR7KtdjjBmv+Zm1zqBCyLXgWyGgeuvE1wkEtUxJk3D7vZ9t15xOA8MkFGCJ8xsX8JMMoaXRBKFMO+cguIUv4F2zkO+NkWG5d17jgeQ9nzTaawZBzuo1a40mYtQ53W9ZaHjnJV6qbcR3not8P1Xz0Z0ROFnbyF1VDX3XMw5RlwWiTpuS2IemcbwdLKmV6RSPbFYrjqeB4CAVsN7iNCJwGkaJ9spSE+RSlgzReVhSSlrqQ2sdTTMPXQP9uidK8UlNGRsCbdcxHE+37BlddKRal+syZ03ZUGhl33aE4InJUaaMlbBJjLGMRdMiWs80bz7Vf4suHiyGGgUkVXVZkLMQ/Z31DMNJI4paGWAYz+nmwHq1luGxl2iwthEqboxJt7ES0yXb4UgsmaYRbo4xaK1bFkryXB8I6FCi9ERpB00nm2CTK841C6fiOA447+jXlilNTNO0wGwbfZa0Tcd0inTnHY93T+ialja0dG1H266wFto20DaNDEjGiWIKwbcK4qo6VFBFqeaRe2C/27NeC8jJzpv3BCWC8Q3H45G2X7HebnEGztsLdvsdOVVZTjU9MR3UoieKCTZePMEYirWYEIhVoxp9IKZMUHrw8TCw3m5ISkGem30Z7h/Z73cyMNBzuFRR4za9XK/iyS84K1FoAEkHCzFlmlbeg0f3rwg+sD3fYp0BU1j1gXE8UErABQEIjlNkHCNnZxuOxz1TmlivVsRJ6rbd/iBKukHHK0XUC33XyXVmPd5A37Z0bfg15/dv9HrfjW0T5LeOMevkKy0TGzG6q8fCB3nIaIFsraUkKepTSuqZNMuEpJSCu7Vu3ZbcWlDeKuDqAupB5V6zyb9o02UqdF1D3zWkGDnoRT2liI2in6+lkGrBBkNNEaNZf/MkvuT5YSYbW6PSFmssxikSnEIqs3/Qg/ofBDKT1VcTsI1SZpV0qq5DSipL0V6KBOya2QNmiuLoHUkf9l49cm0T9OcRuEcInr7fYM1p8dpZJ5Lc2SOHek8p4BqBHF0froU02LjlwV1yEpKhkXIqJ5kwGydeghjlRqqSqiOwqQrr9XrJQ8slEYdCq0H1OVc9KIPmsB1kWz/HwcyxR0UygItRKMzsl9VGay4aU5oIpqFauVnLTFDOun1VvH4t0Di/+D9v3Znic3YLFEeUTK21hEbkoilWyezNM93bYKvVuB+9xJ1MF+UhLR4t553K6TJJfWrOOHLKVFtEbq8yklxlSmwsjLtJfcOOahIxTcRSWK16mtapZNOQSTRty7jP5FIXubnkqwaOx6PkInqDceJTq9VQs2xU5f2bVRMsULBSEfpmtQtsoiowYpkc62R79ivfXjNzHu8c1yMPfJi3rXo4zU1ARgc3twUDQHyqkRWVzK3k5D1bXSzH44jgWGaqtsDUqqnELBNqrz6kXCQeyQfPMIgnrA3il0wKT8lTYThONK3HBEglyvNACcZZ1Q5zEDxUxjFRiuQKttYRY6I3DhsaToc9795/l8vLC0JQX99xZLc/MgyRz37757ne7ailcn6x4q033mAaThhj+Oy3fzvDMLDf7xlOB8ZhUFuCV5BJ0c98zuB1i0xu3lTPBcHsB/7f3Ktt4Tu/C158UTJnSoF334Gf/mk4nX7jP+ccfPf3wHPP3f6aRhLwsz8Hv/RF+TXv4TPfDh/6EDQNTBO89k34+Z//tc3v/KzRqKGL83MeX10zxcThdMLUyqpbsV6v+dS3fZJpmvi5n/2FRbFyS0dQejJ5ed5AUU6CqEsePX7CD/7Qn+b3/yu/j//wP/oP+BN/4ge5urm63dzqsyXptrfWglFa7CwHt6peKDlzcb5ivXqFd999h4dPbqg2sD3bMpwmiStrZRthNCIqxsThcKBrOu7dvceDxw+42e2eUmJUyhTJblafSKE8yy4Ffij3bdM0pFK42e0wtuBdZb3uaFMgpcR4PEJtSPEIVaI3xnFiihLjMxfkTSNWhRhPYAqlTjqokfePUoinzDBGSsrUKJvB0DQqpZdzYtWtcLpZKEk8eu9ev8s0FY6ngWGcZLBoDZtVT9PqVtZAcIaw6XCu6NZMYjxkKT/79eXnN9mwWq9wXiWQpqcJDcYY8cgZQ9M2DCc5g6agqpGuFbWXDu9ccLTNmmkQxVToevziwyy0TUvr7zClxBQj1kKuiQ++/BzH45GUztisNiITRiwt1XqGUSTBpSSBKzXN4rGTaEHJEq5PQdyMEZmnC45TPCkERj7zSaM9gnN4L5TdlJw4wLxTX+9AcCLtjVnioUIQ+bBYRKSZiHE+O+ZhMwucLGscTNtI/rDIUEcFo90igsZxoO2aBbQpGaVy76z6nhQjoQk4Fzjs9gQjQwxZJsiCIOXbxUbbduQykqdJhxnCPoipMIwj2/WaUsrynnQqJW8bAVD1TbdsE0+no1hvjFkWC8ZYjJch7zSNWscUYhwFMsnt+zInQZxOR/p+hXfiKfdONrlFVY81Z3wIxCgLjWmShA5jG81t1bieOFFqlShEjRMsSTz084JBhktueRbOENKZ7Dd7a2flYUpp2XL3q15qeWvxrbwPXdtIPTdG+q5l1feM3jGcItc31/SNkwzvYrBGFgPOm4XVUIpAt6JeD9MkgxbZ2qMRaTNkS2pvY6p67uXHGItbBtP9qlUloAzWY7wlPA/jwOPH14xDIk8ZuxH1nnOepvHLhnsYhXSOlfjKGBPeS71jrMN6OX+HceCZcxlqjaNIg7ebDcF5TgpGOqp/tek6UsocTgcu71zSNh05nUTNWCrONxibOBxOrLqOOGWub/Zy5DmWmiqXwvH6qJvylcQOZhl0NK34vZ1zxClyfX3NZrNht7uRIVnfM05R7JTGiIXRVGKcpKnOSbzyIdB3LafjaYEmxpQ4Hk/0Kxl4dm1DSpG+l9qqKFjRh4bVekPf90um+qjJLl3fq1rXcHF5oQMIOYepleA82QexZJXMZr0W3sn7fL1/KbJCYOassqJF6extMrpl89ZCnSMVDFhD03opbt3czLjFO4FOytCYEO+9hoiXBWxkzK3H1s0bI5Uo0UjGrKky/QwhsFn15EkooqvNhq7vaFrP4XhYtoLZJM3BFHR8VZJd0SLbqyeOXDCl0jTSpFAKw/GEDWGR9YqUxKlnSoqRmJL4FJ2Aq4oW+5qJo15HgUgYJLYjlyw3uvUq41YpjmOBJGCM5uaKnKdtPKdDXeiY0yRSDTGZy+8tmnmbcuH6+kaN3A1N2ywE6jkvFIWaiPdwbjQh5oxtnMoiZfq47oW8FqdCyZbDMEpT0xbu3bvD6rxjt9sxnaKGqTvdfj+1oTeWlLRB8k4BWlnl6gIZsG6WaJvF67J4ClUt7LTBBTlUqsrX54iRgkBmQrDLFtIY8eaIxE5uBWeAYBmGaSGo8lQ8AFTavsM7JxIO5OZeFAOalSy+Uys0QZldiCSHinFyd4xjvKVkF5HED8PA6TSoh7ChlLiEYueSefz4MT/3sz+Lcyte+dCHubm54c0332S73mAxNC5QYiLmk3iayu0QZd7kpVSWA2P2r9cqDfzim+XW7zOrBwS8NGPxM9ZbIbvO4CnduFojEV7WyKFp3AzL0UYXBU1oLFfWPOeFsOyeggHpMEUac4GG5RRpQqP+5wzGM5CJU8HVW4p4jEm2NmWWhY6MNko8lxKR05C0iM2YCCnItWS8xBFVleWT0xJ5U6vBOMdud8CueoJ+v48fP+Hx9TV379yjX/WMY+T6Zsf+OGKt57u/53t44403sM6x3qzZ766ZxpFxGvncZz9LzhOHww3H44HD8UjWnxvdeM/X89PSsdkDN1d484DAOUccp/fAQv7//jIGPvUpeP55+Ic/A0+ewNk5fO5z8NnPwhe+AL+RjyZn+KmfhLaT/28tfP7zcHYGr79++/U//3l45YPS6D54APfuwbd9ShreL3zhvZtho6ATI/YH5z0XFxds1hvOtmcY4PVvfpM/+9/9OUpOXF5esr3YcnV1s+TPVs0gt8YsETJltkUoabhmKM7w5PqGP/fn/3v+8B/6A/y7/+4f5b/8r/8rjsejEkqlmS2pUK1bZJtGc8LlCJR8aaNexdAEXnnlg6w317z6xpscj0f69RocjOOAy7LxDN4vTcfu5obD8cj5nXPOzs956803ySkTXNDzq1KLAPu8kcah5oKthZJH4jDQOMMLz17SccL4yjgcaNuG7dkZVPjiL/wiz9zdcu/OimfvnrE7jqzWUsA2wcvAT2RfhMbTNoa26Qn+jOF0oijTwDnJFei8J2OJQyTZQvAdjW857PeYAn1vKDFTU+E0DEzjwDgM3Nwc2J8mcs6cnV3oAL7IYNU7Gu8IXtRRm01H37WUkun7ZgE+glOKv36eJTMOYgd4Ol6vaQLGeomzUWXacTgtEvacIsY7fBMkxkaBR6UUVtteBvNGGo913+pmsXIaTwKXQ67PVbellkpoeqZpzn+tDJMM+JrG4V1LmiZKEquO1wzY2ZrkQ6NgS7d43IfTqF7Uis3SNHrfLP7DOQqMWvHWSkSUd+xTZN2vdMkhwwMZfCTZwJWs8S91yViuS76ruVVkGUOcEtYJMfd0HFitV1Tkzwcl1uZcluidMvsuraidDockG1FdBKxWW/aHqA1xu2RSt8ER40BSUu80CXy0GInz2d/spNZQub5TH3XbNksUzuzVt0aARB6H7xqcD0xqO0IVV7NC63Q8UkvmdDpxvn1epKPqCT0cjxjbLzWO72QzhpG4movunP1+h4El67dtAtM0kOIIjcMhm2vz1EC4IufgLO311mu9ISpB74SlYYBSrMQqqby3lspUi0T8Bc+7Dx6w2Wxom4Zu1fP4yRWX2y3bfkOOE13XqOR1x2az0dhFuHPnnCmPC1naNUJqD6oAqfr9UCuxJG1sLTFOOlSvCtRsGIZxqQ2maRIJs0L+RBmWyNku0VneSSzkmNIiOxfQleH66koGHH0vjAFfmaaBpllrmkbGe0fOMiiPJclGOSaqAR+NxDxVsUCWIiqJpgmsNzIQvX//IdOYOL84Yzge6VcdncqhjTXsDgcBtxqpI6ebGzabDTlnphTZhi3DOCpFPOGDJU4ToWl0YBl1cCVDiq7rSDHSNSu26zNVBmb2h4Gm7em7zZJpG6PUBy54rq9uWK96gXlmifU5HI/0fc96e0bKhfP1hv1+D1TOLzbKhoDT6ShQz0Fgl6v1hhQzbdNwvjkjKyXf+4Y4TWIFzBXnA123omk6xmGa2XOyfHISKzvHNOIN468eTP8mr/fd2KacaTQHb/ZjzN4DHwJBHxozaKkq2VRARCxS1DmzLKvPwnvPFJMYp7WBmR8aZpYqUajFUmoS6aB2/7OvI6ZZuiJN9zQ68iSbsM1mo9lOE9vthkGpxlJkZ6Yx0s4ZkOr9LeoXNYD1htbLSv4wTkppLuCqTgelGUsp0fe95peKH2OaJqzzuu0WWiDFKL230K8CDt3qKdCmbVvdjEqBLwfsU34rY7XhLZyOR5rQcDodhHCnMolxmqDCqu+krTUi3y2Vp3IN5b3zKheVTNbbjFwhUGvDYY3AAPxtAHcTGt2aSsF1OkjG5HazEeltLhxPR53+RgFu6MbL6ec6w1Jm/0RRml1KAkzx1mkuIAIJql4ky3WWjUt1OoOmjLXLgbnQbur8X7MX1N36IvTznrde1lpinTSeKKgk1y2NwpwbW0omGxkACEWzMEyTNBzutuDNqlpAZdQyuHBYbVLRBt05+exjFpJhZ1uRcEwDoZGHQGjkmlitVrz00kscT7JBff211/nASx/gtDvQeI+3AcMo1MEq8qF5g4p6+ubh0Ewfr0quncE9szywFpF/FW3KrU5WqYZS5lgVpMgxAt7yXumTmmFt7W14etIp8ZJRrDm4TdssTS26+Z+/16oRC3I4W5wTMm4F+buQwj9FaWBD0+iQSAq6nIVyWH0gxsyQxSc1jVoATXJ4jYNK3lLF+YRrPcVlqpUtv9EJqdEGZL7eYox0mwvxyDrLs88+q+HqElT+8OEjLu8+y8c/9gn2hwO/9/f+Hv7nv/E3RepWMnE88elPfQpvDTf7PdMktEIhwpplgy73sLm1fszeWr1nse+FMMWYeOaZe9y5c6l+pl/1mn25vxmQYbmH/jHNsXp1/rG/b72Gj34Ufu7n4etfl1978kRu0u/9LfDlL8PV1W/854fhVlb8kY9I0/oTPw67G/m11Qo++CH4+Z+DX/kV+bWHDyFl+PZvh+4XfoOt8Kwg0mfANHF9dYP34ikchmFhLfzA7/oB/vJf/h8VtMLihzUaaeZUmbAMZhR6Nr9Pp3Hgz//If8/v/5d/H//Jf/J/4Id+8Id59/79ReZb9Zpfmu6nPgvjHa7IMDQpYARjuHvnDhjHG+/c53Q84BXuNI4j4zgQQiMkWqXB5lS4ubmh6zte+eAHOewPPHj3AcF7fAgC/tMBZtBr//nnn+X55+5y9/KCEifuXJ7hy4EpnbBbT2harHOMp4EPvvw8L7/8ktA3hyOxVK6ubzgNoqwpuTCNozQLTUPfeNquEwBPSkzDRAgN1hkymZKqDJmKyOamQeTAKWbZZubZWqI1RXBst2tWq47dYSDGxPn5JcbA8bjDGPEjd10jVH3dWvV9xzQOtK1nHNV6Y+bYMPUgpiRPTgVjhhC4ubkGDPcfvEOMiXv37pFypus7NtsNTQjcXF9rfrpQjm1o6Ppe2A6NJ04Tzhm8b/FBBshd2+pSQJYBuWSmcWK33zEMFYwMyKY40TcC07SmPrUgMEs8jdUBatPI51tV2mudkYzsmCQndh7Iaz3knV/sOCDNyBzDZUpl1fc0WmQ3oeFwPHB+ccH4FLxqru/MnOe9KG1Esjh7hnKO4gOmYovIw80cbaiDpwpCbJ39hqXooFqe010n28M8b9nVqxqsI+VRM+UllSAnsUR1rVXPpcMUqyBKufdCCHR9j7MirU46dJeGUQjcs8XJWokECznx5MkVxYh3M6XIetWT4kjfdYzDQN93ym4QeNvl5QWYyuk0LDV2TBEzGgGwGkPwgarNuDFI42fF8tbo++ieUukYYwjBc9iPhCDng+TAW7BFYx+96p8qvnH0XaMN84g1jsPhKAsLa1mveo7HA+vtlv1uz83NDc/fu0vbNDwcR1Z9x9nZlsePHnBxJrE24zCSq6R2SIIKyqLRKCFNsUD//lTzskAQq5du71UVsN+PT/E2JHPbav02KvHcOkM1hdAGsi5N5sFjmeOPrGXV9wJnck5VhU4TXcwywDBGJNVUGAZRlCzLPHNb9/ddxziNOhRLy+dSsmzBz87Ol55HtvYTzgkQL+ZEHCdSFm9rVI7GarVaGAhN2+KDJ6ZpSTJwzi3A0knp41XVW+NpwAdRARyP8gzc7w5s1itSEsaAXLdVBlHTJOA0HX6t1msOw4nj8aQxPL1yYEb6dcd6LdE9kn0syo5ZGYAuIG+u5IyJMcGxkktkv9+zXm9UvTixWq01ukxo0957DFWJ426R7k8pcjpOv3l98dTrfTe21jmGYRRvmyj1xJAfwtLczh6Aqk1Rqok06UbUao+hcKGYyrLpgNupdIpRioMZvDnDULBY7xbKpfeBKYrMiaKAjSzyIkrhsN/LJs8ZrEWzwzyrvsfkxBgjp1HE734SiYPRrMaZvlfVMyx0OJkoOG9oOyl4ggkYBQVkPDUKOY1qCKGnlFG2Q0YuOOMdNUvj5o2jdZ7WO45ZCIKopNaqr1BM9IJ0p8ybL6MSaMPl+Za29ZyCxZJJccKUQmOV9GyRyIxqJWOyyATXuNtolqTe3FmKbYzTZn2WATs9350WXEKtq8YT48RwGuTPVomEslRWXStfo5Sl2KCUJSxcqLeGilNJn8pZS17AUVUjOuYJj/dOYT5zREbRbWLGGcs0JS0EhYAotFz5HkQGrjTAQWSlmSLEPs35M/MARul8LlTBmDcbmWJVoQWOg5BSTfZ4Y3UDb/C2WSRfVKdZcHmROsrwRbb1Bs2Dc6L1TrESo3iunJeojavHV/jgWK1XkgNNXAYOMUZe/frX+cynP03KkV/+5V/m09/2afE66NBjvodmWb9b4nNUQqNgV6PgAu/t0lgahbfN0hNnLLbaW8+rMSp1XkSXT21a5RqjQHHzFkoOKQHEQZ2cNgN28T4bvdap4IqR4G+nofGxUIshjQI38zbIgMjIxNxaS82ykU8xafFcNbdOhiynSWS8WMhl0pzGBLmCbTHVkqn4KhLyGmEqE4lMqP7259WstlQqIaypFR5cPeHs7Iznn3uW4zgxTYnT8cjDh1e8+OLLfOADr/CNV7/BK6+8zJd/6ZcYjwfSNGJq5FOf+iTWwZOrRwzHk0z1lRhe8hxZoDAio8Mnd6ukKLc6e4lCKOCcQDd+/+//Vzh/+C48fvSeBokPvAwf/zg0QfypX/rSexvKEOTff+Bl+drvvCN/yTdeld/vPXzq0yIhfuWDcOcSrm/gp7/wa+W+T782W/k677z93l+/f182sufnv3ljO7/u3IHv+E5pWh88uP31iwuRLN+//97f//CB/EwXF79OY/seAwyYQtt1rNcbLU46VSnAzc2ev/ZX/zp3Lu+y291Ixt+csffUV7RL8SNxH/MWxohsg/3xxJ//iz/K7/nnfzf/l//r/5k//sd/kK98+cs0XaODo1v5JVoISY64wzoRqXgThC6unIaL8zNWq553Hz7k/v37jJOl6Vc4K74u45MUSE0rw8FcOO6PHPdHzs7O+PjHPsI0jDx5/Fhkts5SUyKmQrLQdD1379yhbQMxZ46ngfPLM6bssKZw5+5d2rblnbff5s6dM+7cuWS16rh6dMXNkxv6pmUYjgJm6VqMShHv3L1DKVEiPiZpEuYIJIsoXtLsdXfCVjjFYWk6czUcR4ntccFjg8N6y9p32OA4j3GJagFoVtBo8WS0iXLeY62CKB3SAJGkAVBVj5yHVeTg1mCrkEJ9sFzcOWeKkbvuAqzh4vyC6+trzs7WnG23OGsXy8o0RXzw+OBomxUuqKrFyNbJB0doW2kwncMHT0pCA5fBmmWKSQb01tD3LaVsJeO2Ferv8XiSGikYbfTFk4mRGqIoIPK9GfN1AXpaI1t76xw1FdrgaUKgcYE4RdKoMmcFNA3TqHEn0uCtzzY8fPKQbApDGqWOahyb9RmmlGVge3lxKdviYcBZQ4qyiUpFcqNNldTVpSGyVra33pNKFjWNlRKn5MyUMhvvKEPBN44xyia9C4Hz8zMePBZP4lSi+sRH2sZjq0BqrHWkHAnBsz6fpZ0ixZ1SlLgiI5L1eBrxVmi+Td9ArTRtR0YGpTOxPmu0XimFy+2ZDCjShKHQ9ZL12zaOy4st4zRwrXJ1SWiWbXbTCCG6W3VMo0g2131HyonGe63fKm0bVI2UJZO9VBrvuI4TTRPU9qZTiVJpm0bovyVTU2LT93RNoG9bJn2GNRuJrHu823G22SiXIjIeDzTOsN1usNVRKXgv0YaVxHbTCRXZWaZcWXcrxilKrnYSSXg1SDa21uhGtgFYlSHPiyJvjNr1DM440pRIXmTPx8NJt9FegEiLkk+8zYMybLwuBuRRahjGE8YZoQBZS2gbjocDznvOwpqSMuPphDWGpulYtQ1pnOjalpTNomirQBxHwqqXqDhgd3MEA/vjiWoMzlvW2xX7440OG+dIuMJuf8SFQFMd8XRiSJk6TQxRQWUxkoeBVS+bdF8NzkhcmXWO0K4Yh4FxFNJ4UKJzyVmio9TCGbwjx8g0CAvBW2UGqQWya3uGaaBp5R4/u2jwoVE2wsSqXwm8TJVwh8MBYxxt25BqYdN11JMoF42x7HY7TsOJMQ3CMfKtwLyMpe86Doc9s5RR2AoKMMyyiT/sdzLAQOwwcUoKJX1/r/efY7tZc3N9vWyvimLDURlDMiKvMcZqnI9MuCrIxsCCX4ijVcivRcFG2CWLTIz2SbZNVSZnVQOyrfGMw0AqCpTSRgtXF5O7DxLO7L1Do2l1gifmcpm+eGK+fZOKThjEDymM4xmskaoW5cHS4nHBsd4EdruDTp5006M0wJl8VvWBzDzdUWP0DO9p2xancSq3MQ9C322CxAHIRSJSMKOy4KoB3t457t29u3gbmKdBmudmlDxrF2iXyFyN5gTP2xghD7JcQDxFta5VNqczBW8mFqeUmUpmdyPSmL7vONtulylc8DKBFlKnWyIm5qi7lOeHlVUMurktL5+CF8UYNUw9YW1/u+mtkgMs20x5iGMgzfFQc0FYlIKyyGsVqJTnBqWgBtDFL26sfE5t1yzFXbEWp7KsELxI6jTQXOQgWQFeQnmeva8plUW2G2MiaPMo15nKqlxZZG/ipcmaa1qoSI5eyeCz4OuHYWQYR0ITWK1X3Fxfsd/v2Ww2dG2HDx5jMtYWnA0CXFDJlPWWvDREM6VaJckaayWZfVmp5EWBTrMlwCx4/PlzmAckLERemcQ567FPbWadcwrDMu/ZfntnRLZmWaKf5vtlnsjKliZhiyVNQoOcMzhzKaRxxFuhQlZjJfJLJbqn4yD+c2Zat0y6qZJXHHxDrmJLaILH5IpNFetlGGBUhlg0EF2ucSvAryrT4rbv2Z6fY6xnGHdcX++IMfNt3/Ypmqbhq1/9Ks899zzD6cg0njgdDlAyn/3st+KD5fHVFcfjkfEw6rQWjUWzC1W+agZvCLcxHfOlPceyzDFkFvjc5z7Hx7/l45xe/wYLS9AY+MS3yvbynXfg6gk8/wL8098Pf+/H4NEjaQC/53vhhRfg9dfk/vnox2Tbut9LY9t18K3fCp/8pPzaW2/Bzc1vvv0FaYDH8dfCnMZJIE937sA3v/mPP4wuLuS/n3kGfuB3wd//Kfne93t5wGy38n0uh9dKmvGm/U2/rLWWStYM9tt/5mdHVcXLRz/yYYZx4Of+4c8LpO6pGK35XrjN/a3a3CqcTYFQY4z8lb/6P3E8nfijf/Tf5k/813+Sr379V2RTqX7++R5YKPeUBWBX9d5aXqbSNoFXXnyBddvy5ltvM+yPhG7NZrPlOBxkcl7k/gs66Mw5c9wfGE97PvWtn+T7f8c/xS998Yv8wi/8okSgWHlWWGd5+ZVXluJiSglbT6Q6gMk8ePSuqgpgyhNvPXgHcmHaD8QhM5Vbb6d8JCul3U7EqAPgSRQtY8zgClMsunVTG4epFFPVdqSMgeA4qhRuu91Qa6ZgwRV8Y3FNS6mFUf11jXEEtUsB5Kpng6kK+ZvJ+fO3WjWtAVWqFcjgXGE4HUhplMa7VnwrSrLTdBSPc7EchgPBOUIvWzejBOIpT9SksS1UMtrAY8nDiWIqQ5o0o9hwGActLAt4RxekeRrSQKyySbS6NTHe0m1asU5ZozEnrWzP5ufurG6qEpXX6HbVe6cxLDLwnpU3tRSqdxTjmEZphEaVV6ecCM1K7B3OYbylSN6MqvQqoZVMcAfkPBLaDucN27NzxmnifLvl6vEj8bjmpA1X5Wa/10iq282s9ZacJHvZWYFtpVSwyh/w3rPZbogx0vcdrfOyBCmFYB25iqQ0UVkFL++ZMRyPBzASNXTnzh2e7HbazApEzPtAPCY251vavqP1rXgUrV0IwjFnDuNE6BpyvD3PUoy0WgudbbfkkghBgF1y7sJ6JZY5M4kUP6ZA8EGGrrnCVBblk/eibnAaXUSVhtq1jt1uJ6qykmTho5nepVSckw2wLKKk/jbiz5NzMLTEmohZPLqFwvZ8wylPnMYJ34gKchgHrDdsz7Y8fvBEstzblkePHtJ1gSY4+ral71veffhYN/JZ1YFAyTR9y3rdq9e6SLSLs9I4qr93YUggm9eZ5ruM/ozheDzJdngcFuhY42Vo0zRisZii2KmclTrAZUdNWWrUuaZMIoPerFeiCLNKcK5Fsme3K6H5KhdhtswJMd6y7qVu31/tuLxzKZnG3tL1LZVC30mU16BMDVS5YNwtf6gYUZ2FpnlKISg8HOcq6/WKOBXScaCWSr9eC+PDOVYryaYXmfYghGxjOTvbst8dJBNWFTmHw4Gz7VaAiEX4OaGRYY8xhmEcZfhQYRomNuutLARUxTlvXEMT6NcrjHKXTsNA03Zsz7YUI6qDxjbENDFNkbP1msP+oLYX4dHEFOnbhq5pOO5FOt1odvg4TvIMrk8nbfzjX++7sd3vTlScZIY+JVFL6pvAKMa9iETPWEvWXNtZ1jsX0TiRbKaYNEjbSrh0Ff8lRqZ/pcg+LzSNYtejmKudYYiTQqqyQhDkQSpbn8LF5aVAFHImx1EnaI14FsZJ4Tk6eTEF57zKryTU2HlHcA5TEjmL37LvW93qesYw3YaSI9IHodklqpGbinp74ZpaMbNQpBq8hrBPSQr302lYNt0SMC5NdSll8Spi0INVIm7a0HA8HGWwoBMwF7wW3zANI6vVlpgLh+ORENxCZHZasIns+r2wmaz+2lLEwxfn6VEqPHr8BIPh7PKS7fk5KLzLerv82WqkIUm56AXqhD5aZ8osIh01Mv0JuqqTSCQhaSe9caRIlEmYQ8z1RaWg8lkJw8UqZEUO65mELNN1KjhtYOv8kesFmXKWAkNz3pJmaKERSrnKcCaqJDxrdqCQGh3DkJaN7EwurerPyVXAI20TsLp1qci9MU0TWCPXnNIcHZDVP26s+LKnVIh5oJxGPlgdTbfGuEDTrcEGrG+4uLjEuUY2dcXKnLfKwR81XmCOyEAzFivltmhXubHQjDWiaS7Ey+yHYtnkVyWmzluplCJUg/MytT0cBrxr6HvxW6HSWKcyL4uXAPaYcL6i6G26JmjjZmRToQ/2nA0pQVAZea4sUn1TjfhbrBC7c0kK2jCMUyKOlaZ1C50nxsw0JXKevcbyj5kzcjHcfe4ep3iNMwUXwNjbjY80L9JwXF1f8z3f9d3UWjkejwwPjlztdjx48JDv/d7fyrPPPseXv/xlXnnlg0zTyOPHD6m1MIwHvvNzn6PxgZvrK+I4cNjvKcmJ/LgaksLRssYizFaL2+ZJPOSpzFmut8Mqayz/zA/8Tv7RF7/Eyw8f8sG1trbbLXzmM/CLvwi//GVpRNtWtp937khz+MorAnb6O3/7dvP59a9JA/meRkplxH/nb/+m1OH3vEIDMS7DvuVVi0Ce/jGN5/J69VVppvtegFKf/Rz8rb8Ju51scL/9s/L1rq/Fg/vZz7HIAX7VS+OslyHBolxR0nfF6j+3CoV/8DP/EO8dn/rUJ/niP/qiPJlE9rEM8fSDkItVl7Cl6ADPSiERU+Fv/M2/w2F/4N/4t/4N/ubf+hv81I//uBBnrde8y1s6+GzTsUboosbPEWlVs36l8L1394Kuddx/+Ijr/UDNnu1qTcqZw+G0eM2apqFtGuIUcVQ++a2fgFL45373P8tpOPHFL/4Sq/UWUwsvfeAF7j17j9PhBLYS80iwiVgmjK3UeDvUSAqayWOmsx1TKRxPhbw0ipod7Q1TLExjWWIs5trhNETJi3QqnVQWRynouSltYKqTDpGNZpZWbLAL0K7YLMR/I8OhYLRJ00F3LoXgAnluXJUTYNRnOIO1FrDXHFfoHGOMTFmycY2VweGcRS+xJQVrrMbtdNSaJZ5Po2SclTMplsRxPIER+qmdh4wlyUbcyWY5kRnjJOBOjXkppYpnLgrl/TSIPLdrG62zZBiZKWQjck3vPWmuNYrAX+T2DEsdIfncViI5iuFUIq31otozct57gj5/Cv2m43Qa8Y0o++QcsQIis7Ixc95IrKJ66IZh4PziguPpKLmpwRCjDCtC30j00GTBSTSQt57hNCigUFR/xgWa0EBJjGWkVkNoOkqaSKbIzxlHPYsLscSFcD1l8UM765hyIlJoG9kEZmcYte5zrcNkQ5oiNVhME1j3HTVXnhz3XFxe0vgGcpLm3Fpc40glYoPFZkuuCdcGrBV4Zi4yDFivex48ekgyhdYF2tCIFzEluraDUqQBToUxjTIgSxnvBUw4pURQL7wzljGKnzkYWThULC44hjjR9x2rzYbQBO7evcOjhw9EeTCOYA39pqXYzDSMVCpr3dZWGzivmfjoEUxgG0+z6ihjZYgj+/EIjYXguP/gPh9+5UU2m16tiA3lwQOwVYY6Kml3wXF2ccaq73FebIYSqGt4/PiKmjNd195GNJaKKYVV32le7ISzhr5tuLm+hraVRBRrRVVQilCOg6drGx0WZ6yB0zAyjUZUpCXStwJ9ylngY1Mc6doO1wZqkSzZWgtdL82W2KLM4mc2XjbF3gdiHGk7T04j2+0ZMQi1/NGD+2w2K2IcCd6RdDPZr9fyDFdIbWgbxlFk4HOmrcNoPmzEWE9owE6RcRw5Prov0Tyl8OjhfS4vLwlNYHu2oV+v2R8OjJNwBrKS7U0xysdxbNZr9jc7qjE0jafUhDOWmiUtwKl9cBgGahauUdd2rNdrpknyv7dnZzjf0N9pGJ484fp0Yo1EYJmSNY6pcLY9o+96hnGk61piKow3O7q+Y3t+welwpF2tOQwjXuX3s9216zp2+/37qw/+SRrbnLKYutUPmWtZDl2ruVw1q/RUZSkio2jwjQcjhwja/EwxktX4HLqgAdSS09iGsGx1nt4QpyREuJym5Qdu+5bGOYZx1BzWpAHZtxP0lJPAqlJc4EQpJpzGjMwHmlFf01I8CrNb/reGMZeSdOPsxR88SZNsjVVj+qBNV1UIlV+IurOf1Fq3FEozsS3nQkG2y17fu6jxPs5YlRaL77HrOpxxXF8LfEZkiwWc0+mdwEWWUO4ok5eLy0uurh6/53O9nVEIQdfamZw7Y+69vvdJJG0Yzs7PhOpXE8GFJRpl9rscT5LnV1VS4n1dGrimbdlu1hxPJ/3ZNduMWcZeFZOfFy+Bt14hU0kKC+uXQl+aNGS7jWxrZaKU1bMUdLt4C9nJOcvvNCLBLjrNLEVIhcYUpqks/hxApRAV99T2ZqY+z9Mr67zm+0rRhGXJS7PG0rTtUpiiSoEpxyWnuWLVVyDXxjjKgyjlkSkVHj264vkXP8Kzz73Ac89/EOs8v+f3/F4++9nP4kzgfFW5e/cZ7j/8pshk0q+mC5tF2m8Wsq5d4nxYfK+6sNBswdl7uBTscz6zkcK/7ToBPOSiQ5BGsuG4/Tnn6KkQvJIgLRiJ7bFB2ogpTuRS6LpWSH0hiAWgzEMFldLb2S4gGY45FRICGstTXWTpo8KTxJedFzlhKaI6yPnW32ypJGup1nJxeYfj/Z2Qaef9v3paaq3adGTazmGcY7s546133mWcIg8fP6JpZchwc31k1Z9hjOX6+oppGig58t3f9R0E57m5vibGxHEvNNeixfMU8/I+C1xMtygzOTrL9x5jIao6Rn5Giaf6ju/8Xtpuw1/+K3+OP/bixe3N/tzz0lS++vXb7eo4CpRJ/kJ46QPw4P57Jb67HaS4bLkWtOnXv/b+m1oQmbL30mQ+vd01RjbFKb6/r1Prrd/2K78sze1qJbFBf/+n4Pt+K/zO3wlTFLn1aZCfO/16Uqbb5x3zlb/c42rn0Ozw+ecWr1HimWee4fz8nN3hqJaKWSErX8NqUsBtvqdI6pYBrxEg2k/+/Z/m9Tfe4I/8W3+Iz3/7t/Nf//EfZBonsaTMMucyxwjJGdW2jUS8jOPi/RZljdyX2+2azXbNk+s9b751n+PxQGhazs/POJ1OS+B94wPBe0oeub7acXN1ze/8/h/gr/y1v8rhIACzftXwwVde4fLuXY771xabi9yHHqPpAfOzw80E0RxZtx04w2kSy0rRgZpzTnLna5LMyWFcvFnBe5KZN3RoTJhsdWoWxYsL0vDNsmmAYTyJvWTeeM/gaiNRac5K/EmcJuE5qOJqHuJh5ufK7fNqtiXNOeyz/WG+XST+yOmvm0XJIteUPF/QrdmcqCK2nkYDnYqSdcXiZazRBhqM8QtY0jiDM5a2a7DJUNWGY61EDNYxytCbsqg4rHX44IT8m6SpzlGGwk4VBXIrCj23IJvVUmRQWJf8cxkozxmjzsuQX/qNJPFFGkfno2Zwti21QtO0HI/7haY9KCth3kTtdtfENHE6GaXN6jB1JoI7jTErBetu4z5mNYVbYvkkr3NW59klkk7eSxmY16Xey6pyubXqOPI0auSJ5Xg6kqsQkevMhNFncTGVVDO1wBBHlVwP1FIYa8K7BuNleeNDICThkzQKnxKJuwA/nV47h+ORscoZ54LI/fWSpG28RFFlAR+aWmlbAYDtT8OiAhHbXaFfNQTvaLuOahyrdc+DR4/ZbHtSnth2a5omcHlxgQGur67o1w2byzNZeNTKw8ePoPO06zUpwrqu2J0O3JyOHIYTWbMLUs6MaWJMka+9+jWcMbzwygdwNrE7HDnsrxiSDH9IGufixZ9urWGMI60NhOA0M7ay3axpQiPWGiOS6TrfzzqAb1T9udpuqUU2kL1GwVn1t4qVxC8sjhQnqIWUA8bANI60PnBxfsZ+fyDnxMr3Uh9qPGfUKEY0875t29taSFUzXlVds0Ww77tl+NhvN+QkHvWuazkeD8ItmaIAtoxEeKUcCY1Y7kSZIZ5Tp4yUcRyJ08RpGOi6XuXqlSZ41usVjZeYq2maRKU6jTy5vhKbTJVrre1ahmHg7r07lFqYxmnJCp6jwJxzNF6aSgGAGawfOJ5OnG/EW22MYdWv2G7W3H/wAGsd4zTRdyuarhPeTHCQjWbPVh1OafLGwlmxTDlTq+HBwyviaeD8/AznGnIqDGnSzGdHipm++1VRf7/J6/03tlE8J6lYcjU44ymmYKhcbDc0jed4OEpnX6T4s43FBHDBij8xSj4jCPK8FjFGW81wjCnJZs/7xaA9F945J3KJ0v0njd8pEJwlBMc0QZ7TXa3hOMnX7/sel50i2QesywukaH6ol1JISDFsvV1ALTlnISgKzllJa+hBpwdcQRHevT4o4y09VaWwNWUtHiS4XE2dlCJadYx4aZyVBlq+N0caB/H/KG25lAJONPatb8jjBFlvsFLxVsAlQvr1TDaTauU4jVjniVPWDLnCEqRU5bOV+Jo5T1b9YIjvxjYNSeWQInfw6pNIVC+bguAbDocj4zRhzUDfrehXnUQ9RDl0rG4/ihFvQ9938nBXYIsxBpwhVUO2lr7tddqTyDVjKFisUJWt0weJXAcpJrypVCv+LLlZvZCvMYryn68pljy8eWtpaiZn8ZS1bUtJGhHgNPZFJds4T4mFpPFNMRvGZJhSxeh2rahcnFShGAGK6eSfCrEWjA2kLLEzXdcyTVmbzbog9VNKDIN4xGI2ONfwxptvkGvlcEx8+KMfoQmBb3z9Vd555z6f/tRHee3td+mCW4omuaZQknjVJskoFKouxWO1RUmsiB+43F6HMjUVOEvKEmVkjZJba8EbuXanktX7IWAyY6XJNxp9kGrBzlEpxmFtWbYtkgHsNEfPEaekoK0GUycMEjFFtpAMzgdqgumUiVEa3xAEMBOTDEyqZiPnVG6LVSwlVS1sVE6kEQe1FMgSn9G4ljFFOb4bLa6ZhypOpP/GMk4Tl03H4Thy/fgxXev5+Mc/wp3LDaV4Xn/tCTntSelEHPZ87/d8NzXBzZMnjJPAFCQXUqKGUhYokEAUZLDkdFNdkniEY5TfczhGXv3mG6Rayfpzh6bl7Etf48d/5r/gV770Zf7tf/WfuX2It400l78m9uYWhETbCozpNwNBzaCo3fufoIJueNtWpMxPT1+bRhrTx49/4z9rzK//PQ2D3NAKR+J4lC3y5R24vBDPbtPC932fyKXf83M8/eXNEjX29G+QAtrwdGUl8CDPj/3ET7Lue5559h7vvPNAY3KUwl4lG7aqPFcaJxnCmfretzyXzGuvv8Gf+JN/in//j/4R/oN//9/jh/7kDzEOR1zT6H1pFhq8RIU5zbf2GC0zrXrcZW4mBc352Ya+a3n73Yc8fHjNFAf69Ro7WfaHw6JYaH3g3Xfe5eL8TAj7KYNGk4TJ4m0jKohZDqtNowtWo3nyU4ClQs1Qk+HBwyeMpywMASVuGgptK8+onEZinEhTZP6yE9NTTWXVBlIjkMxTG/VU1CdmpADVRrBmiSay3iy2J6eeMjSlYFJZI/o9ZbVYOG8X2biZ33cFHqEAOestsRZ8kfsS5VYoZGRhW1jjBdyEnD1B+SI1JxpjITumFNld7VlvN1RrZNsdk2xPayUlkaraKpvrrH5jjKMaQ0wR6wK5jkyate6d4ziMyzNkSEXysK2cvREB4hREERU1tiXmjC2inMpROCShbSRX1nmmnBSaqKTlmrDOsNqccXO9o+vXuCZIce0M1er942SkcTodqRSmLFtea28HhsZZQiPWmZwyMU4i7Z0iOOFOWOOYYqZphXAfvPjF9+NB7T2wP+w4Pz+npEQcxb7Sdg3BGw67aVH1WU28qKbewkyNDF7nmtNZATcKQFAAW856vBWpdnHIJtqJ57paSXBoexmmT8drUo7CAXGyUZwh9eJZ9tLwhsB+d2TTrSkFNl1HLpm27Tjc7MQuluUe817isUIInF9ccPO1V3FO7Cd91+CMKA7GnAmtRB/dvTznnXfvK+lZzrmrxw8FDJYSvmtYnZ8RqZIXj+HJ9Yn9WGhvBoIVCFFKEsFITdI4+7XCVhM5Rw6HPS89/zwPHz1knEZ2+70MRKyn1LzElXVNYLVZEbrAo6sr+tKyzg2rthHoadfLhjpKvFNAYuFSypQqNrU8SZMZGsdq1VJLYrNZaY0fsG2g7VtRT1jHNEW5djEU55hKgSKqAlPgxeee5ebqCm8McZwwZ9JQOie59uM40gYvatFRlBx938oCRh8OOQtEM3SB1WolvujQ061W5JQ47E+yibXgG7nmxij5tE0r0Uc5w3GULGXfNFgfSCUzxJE7F5echhPH44FSK20IChGL1OowviEZw6ptud5fUQ3EOC4A381mRS6VY5yIquwqsZByxTqJisqxsD8e8SFwfnbOYTgxeMNkhWXgQkOtokicxkmky9fXWCc12/50ornYSvTh1Q0X571EO/lAcIGTxlIe9gddUhYcluE0su16ibhSe1hBGuM51rX+ZjXJr3rZ9/F75ABWEzJUxWVLQ+K9o9MMtzm+ByPFsUzU3CI92moQ+ewTyJr/ORN/54DwmRC8lBdFpt7zZnU+Qect2KgbG9c0cjE4kQYVYH84YK1lu9kuePh52zRvdWdCbs5ZfZe6sVQ9PkporgrayQpEshoHU0sVyVmuOCweiy1gcsGkIvh85OFHKphcyaMAM2YvshysELyna1s26zWrpuXO9hxXBQRQYiGPkueX9c+g5E3LDDIS0tzsRRimcYkvEi+Ae0rWaPWmmOVtFjfLdlPGlcI4DsQ4cTweF9R3iklJc/K+BR9o20YAWMimbaEOO5EXz36qKU7EFJn07w0hsN1u2Ww2QnIsZZFODMO4yMWA5dCZI4dmqexMjp4nT3OhOmd7zhzxedtVn9rozxEpczwSCoAy+jXmsPBSbgcrKWWGceJ0GiQLLGWyblJmP07V8Ounfaw55YXkOH8v5akol9MwchpGjsfTsvUd9e+ZadZCmB7Z73eknHn48BGn00lQ88Ywxrj4UvM89RUpghxMOjDKWbfjuagfVeGUGmuRUmKaMvvdUeXWMAfNFJWfzddeipmU5OBJSaS+MRVOx8hwkoDu/X5PjELHTrncDh/UezNDNub3yWCYxqieDmnmJt3AJgXNpJhIUf5sjIk4JVVtCJyiaPMaY1Qt6G38Ucll+b1u2VrL/f3g/gOGk2w58nwvGbPkxgbvibopck4yBq+vrlmtOj79bZ/kIx/5EB/+0AdpGsdmI1PyRw/u8/nPfZacIje7K2Ka2O33HIeBlLPi/OMyXV1Ev09dQyUXvQ5EPfPWW2+wu7nm6uEDHt1/h93VI/rW8/WvfoUv/ORPcHP1WJ+X+nr8WJrKs7P3Ptzv3oXNRt6jRw/h7j3ZoC4P/8Vw+Kte/4RRQrsbqSrvPfPeX79zR/6+p32x9lZajXPi+33xxV/7NZ97Dk5HaWgBLi6leX5wH77yFZFT37sH4wDDr5+Tu/i6Fx/+/HPd+r2X3zvnGevz5Oz8nH/p9/2LeG2IxBZzq3i5hfLdvoe1iMKmlLQQk2utvPvuA/7LP/HDhK7jP/0//SdcXF4yDSeNv0tPbQLN4gebfVBz6gAzxOepn6ltGz7w0ou8+MKz2DJx3D/Be8flxcVyVqeUePXVr7PZrHj7rTelwXVWi3ipyOdn7CKJnz2vRjgTXi0aMcaFVL/b7bm+2S0qqdmrmlMmnUbG4yASz/KUT1ljLGbozkz6nJUx86/FKeo9MRGniRQFnCRnmqi/ai54I8NzaQ4qzhiC85hSMbksZ7fVGmBWpljrSFPEZDC5PnW5P/WZGgjBScyOdzr8tsuZYsx7o86cdeIPrVYGeUVickoxpIzQ2o3HWk8qleM4kZCicsqZagzH08hxjMQC+9NIwdK1ko0ZQqPVWtWNUxYbjbHLPzHdbk1nboDzswrKybleEbuUPpfnuJGk16E8h4rWA1F8ncoVyRoXFYKnDUEBV5nTcMI4K1JLZ9VeJoNVZw0lJ7wBbw2mZBo3Z8VXZgqH+IA9TWiWLda8XUtPLUOyqnOct/q9hOWMn1MRjJm5EvJMX/yZTSNbIj2HrJGYqiY0S70xE3PnOnH2Kc8MibPtGV3bCBBSpe3zsmRWLBh91kjBf1Lpvbn997PiUGOqqJWubRbl0G63W+7zpgm88PxzlMXWJu+ZU4npRiWvwXu8t1hbGYcju90NU0o8fnLN9aNrht2Bq0dPOGn+s5zZI+PphAHON1s6H3jmziXP3NviTOR82/P8s3fo1z2b8zMOhxOH40CulX61IuXEat1xeeeMzbZns10JaKoNMkTX+KvgwyKP7btOyOB9z3q91mdkWSKyppzJRonHFtbrnvW6Z7Xq6fsW54VwLPekHCFeowkLsjxeb1acn20wtfDsvbs8c+8Oq74TAFYpAu9cdXR9g3XyHverTpSTtdD1DatVqxwZmVj2fYfzjtNwwjdBcp712tNsjuUZPsZJbY9S1242G5wztK3XZ0qg61oKFdsGXBO4uLjg7t273L1zh2effUaylZ0j5syDx4+YauGkvdfl5SXb7Zazsy3n51sqYnmrBoacGHNinCbatqXtOoy1XFxesNqsyUXsi1mQ6qw2G7AyWJuVS8fjUSxlw8Cjh4+WJJxUiuRve88YJbEmqHJyPidmhoGzQoAPIbBer9V+JSDAqkO3cRLbaYr/K8T9NF6kIhfrrfgsclRJBlxfX8tGplSKyrZsrcQx4nQbuT/tSbuMbxqFGVVC48nqRWx8owQxr2ZxVG5T1J8q0BbpxaVBsFhOJ3nzhnHA+TBbBuXgWB4MiUM+iozAe4YpLrXLTAVEH3IyGZAtUNCw4JKFDOu9w1LJtSz5W/OQv5SZOGtkYxXlUK26EVqaah0OnIaTDAt8wFXR3BsnS74pZgyJ1ge2bU88DUxF/AC5ytS/pLQAZGqRqKSqHgVyxhRpqmMc6VZrisqW8jwyLFJAW2MwtWpDK9tnF5x6DmTKluKIM5XNSiFV1oATCmDJEBrPMJxEhrHqJLDdWoytOA9NMRgyloIpWTbLNXM83BBCwzSMi8QkjlFo2+qfribfTmuMJeZp8SQYJwewwLWglKQAMw2pbhrxsZYiPuk549ZI4VytZus5q1FTENQHV40UJUanjCkmrPPafNnFdxWj3Hi5VMKqEfy/k41/VCiF1SgAyYwTGWbKCVMtwQaSxiFMup0Vj5fFucBwSrpVtBwOe4xvwcBpGBaplXOOcTwwnHYMpxNpHAiep3LcpEgrRTYl0zTdDnNSZhhHnHVPZSFPShOu3Oz2rNdbLi8vBDgxE16ZL6O6FOzOOHIt6k6UGCDrPU5zhh2WYCzHk8hXa5AtRNVr0iqlc6bNZh0yzcOGUhBipnUq35M85aJ+7pSnxetdhYMtkUXGYooI1YsOOmQanyEb4pjUXyKgr7fefB3XOHyw4DKORLMKeC84eOsc0zQyHBLDcaSeVc62PZ/85Md47tl77PY37A97Tqc9lczxeOKf+u2/g1oS14cdcZrY3ewZY6EghPWi+dd2iTgzqhZRciNVCLFZMr+7tuHjH/sQH/lw4dHjxwynI7/rd/0An/38d/Bf/fEf4qVnzmh90KgxfT18KFvL7/4e+Jl/INLdF16Az3+H5L5+6Uvw2mvwkY+K7/aXvihN3rd8i/hZzfueg/76r/0eXvumwKvGQRrZzQY+93l4+63bxna1gt/yfSKH/ke/KPKY4OE7v1Ouh6snUqm8+CJ8/FukgY3xNid3tZKfbxjg2efgYx+DL/4j+T1Pv1SvOmfZzhvHWU5sNPpszqpdGsjZy+wc9x885M//hb/E2dkFp9NRuQDmdvCpA1HxHD5F1tbG0FQdTqp148GDx/zxP/mn+Jf+hd/Lf/af/9/4oR/8Yb785V/CBylI5q8Rp7Tk/hWNZGP+m6tZPONzIRUcvPjcPTbrwNv373Oz3wGOdbdS6uTAdnuH7brjzsWaj3/kg/z99QrrHN4Zbh49IE8fxOqAdokwMmCqwVujkeLSNKYhMcW0eFezKUvMnLAnZLCNSk6ds/j61PhEt2LqDVGJrgysgvOi4FH5X4kiTc4xy3lbLWSLaQ3VyXvjcJSaMamSxrQ06zklDNrAz8OtWheVSVWuQ64qk7aiJut8u1h95sZwtu1ICZTJs5Q9y3MyV6tDPSORRtZQjGG93spw2ximKdG0FhB53/E00PVrdvtrtqzBGA7HE91KpNkxTVRWhK4HJw1xVZksqtvJqdJ2LSVNQqh/yuaFRi4ajWp0Xt6LcZy06RTAY7Du1t9trNijihBsjUIth8ORi4sL0nCiaRqMMXRdS5p02FAqNWdqSTR+RdMEtts1h2HHxarjrOs4DAOH4chmvaIJkpRwcxiFLLvqefLokYD+fGA00lD2bSOwUR2aO+eYxlGsaiEgeruKM7LlmqZEzFHsSKVycXHG2cUZX/naV8klYkyLqZCmUb42Rb/3hMkSheWsqHdSLExjpHESnWKLRMaVEpUZUwjWYkqRLGOqqOuw1JyJqiyquVBSJARHjhM2Jby1NM5gahaVSC0Ea9isV3RNw2Ecl2inVgFapjpKNhgLKWZWbU/rAy89/yy7/Z67F+dsNy1t4yk58e7Dh+Sa6ZuWi82Gs43Qb8c48fxLH+DirCONI9fX13T9Pe4/fExM8OKLz9J3npIK9565R0qZN996h4s7Z7S9gBxzijjXkN6RKKm7d+9w3B0kX7lkXJC6a9P3dN7RBCfJJasV1RgePHnExfmW7WrFNw97ioHjeGQ8Gao1rO2aYTxJdM9qxarvWa96Xn/jDfrNmrYN1GI4Ho9Cv1aIlHNSF71w7x6XZz3bsxXPPXdGzC9yszvy8NEVXe/ZblY4DMM0cHa2ovXi7/XBL8+JYA22lfp9e3mB94Fxilzv96wuL1m5hptHjwjOUxSEZ52j6xp2TyaMbTDGik82Jfq2W4AP/XqF846rwwHvAsdpYt32rNZb9ocd1/sd6/UaM47c7I4M00QdA1NMeAq73YGaM/cu73Ia9pwM7Pd7DkOkrjpC42CKrNcbKoWU5ag11pMrXO9ESWKtYRwGztsV11dXdMEzTVGP6hXGGB4/fsI0DPim4dFuT2h7zs7OGI8HvLFYraFXq7Xcn8riiTkSasOYEg8eP8F5yDWShyzbba21liXV+3y978b2gy8+o75BRznfcv/hQznoU9aHZF5y9azRgnqJOTBM08TV9Q3bszP59SryWZPq4pcJjVDgcikYndA6Z0l5VAKz4MqNsTRtQ/CBpGSz+WcexpEmBHwAHxpcCMuUp21bKbyN0SBqbXpKFNmB95KRpo2OeOxYNmXGeM3y1Y1gRQ+2OV7HioxVtyvzgSwTxLIU1ZgZclQ0oypwUj/TNEXG41Ee+l3H6XRaJqbUilF/DJrjJ7TlonAL8S7OAIt5sm2NPAjk389+L4FomWUWKqTlTbeS/MKw4erqmhDahcJ7UiJ1ThnfypZ2zt8rWTLTrE5FJU9vnqgZ+q7HFCP0vZwIwav8LOvWruhnYum7Xt4rlYk7JzFPTuW/Uy10VjZKcohX9Ya4hWwtTVpdboi6xG2KNwQsJc9Wvww4rAlY4lMbXS3cDAoKkwmSRAkZBU5ZQacjhxW6PXfeEYdxibQR//UseZPJclF5eaGQY16yg6Vulow7Y+Qhaovh5vqGzdklq27F3ctKGxpOznJ2fsajhxI5MJ4SN8OOvhV6s7NSuHj1J1WVb4cgTcppNyh5ThqslKSZjFHw6kM8QZXrul8F8bvY2225NXXxny2RQeq7Nxi8dfosELBZ0ufFvAUN3qtsstA1rcAqdCM+jXO+s3xPzjnSmEllhtK5xRtScsHrltFaS2s9qUowOzNYrOYlkL5rBUBhVLQyxSgRGVZ888EEcgbj5B5dbQJGN1TOOna7A1ePRu6//Q7P3XuOD73yAT74ygd4843XefPtd7m8eJbj8cD3fPd3st8fuP/u25QSOZ6ODIeTvL8IrGzmFFh7C4myZo79Et28eMlvC1GrZOhcKufn53z4Qx/i3/w3/01++Su/QuMDLzz/PN7ahaIsP+QEP/73pGn8gd8l8lFj4WtfleYQbX5/8ifgu74bPvjBmXokXlyFuS3//1dDoP5xr1rhF35BPLC//Xcsz0KuruBnf/b26/W9bHGrUIDJGX7+5+F7vgd++2/XZkikhHztq9K0zl//l38Zfstvgd/1z95uXt944zbX9j3fD7dTdHO7kLsVHM9fti72kvnXFtULEk31rZ/4BJ/4xLfwF/7Cj+h1qb8HNA7IalZ4oSyU9tt8Yu12Abh6cs1f/JG/RM2/j//wP/pj/A8/+j/wd3/s7+HcLWW1qrd/PmOtee+meG4yn/ohMBYuLs45O9ty9eSKt99+xH6/Y9X3fPQjH+I7Pvc5PvjKK0zTyNl2yyc/8a10fct61XBz9Zg3X3+Ni7MNq1XLvbt3KeWaqR4wKSvArGI1zgyMbn1GqrXEkgT0piTRojad4AUKiMqLqRW8walyBP0snLVCjbAWYZzrz5lE8m2DgOSqeuhrqXK+WCHCtshgoCblNwhqWf1xTgnWAgmsRjbz4zhBFViM5PuiloXZ6iIZ6ofDyHnbU6thtzuIBScWga0EOdud81hn2N1I9vw0ZR7tH3N2dsaQxIYVupZc4XiUYfQwRZwPCgUEa8UPTbmh5CwZvIjUppYscSlPvaZx1GWADA5KRMFhLXlKlCQ/axMEHmWNk1i1p2I1hPEgw9/tZsvxdCSeRmyS5+2pQhcanrm8KyAj5+g0C7RtW/FCroWia/QMWq9WdF3LZr3i7HxDKkeee/YuF13LzW7P2w9G7pxt6Rp5Bt8c3sL7jnXfU6sMrGvKbNZr4jRpSoHDGMkQfXoT652jawWKZY2hMY5i5FwC6JqG4DytF0qwtw6HoXGezjf0TcvZRhYD19MNjZfYoxQnjEmixiuGNkhUia0y4KVUic2JE03r8VXykJ2V4YZzMuAuM0MlF0pOsiHsOiiZ9apfiL3DKLDSrmmoDeJhdhYewapfKYm44c6de7zzzjusNxu6rhWv5Lrn2efu8ZWvfo3nnr3HZt2y3ayIceLmsMfahmeefUbex+Bp6Baicde1FCf1lPWO3eFIOQ5YhZLVLJ+5LIgy4zRqFBWaHBGZ7+Su7RhPEimDsfjQ0HUtZ2dbvMY2Nq2n6xw4+az7rqNrWlZ9r3U01CkRs3z+h5uJJjSEELi8c4E18M79dzjbrun6hhLB0KlqMXMcBjzw0Zdf4rnzMy7O1oRgieOJZ+5ccHZ2LhT40LDdriFFnM2UGlivzvQ6snTrnpdefB5P5ebJI2KK3Lt7h5QL5z4QdSh/Oh2FmLxds7u5kerQGmIpjDFivSF4YYpM00Tb9HTtmimN9H3P/rBflI1TjNgKx8OBKYnVYBgHqZ1bAY6lksmpYJzUh6v1RptQy7pfs24NcXxELIWL8w2cRO59dXXFerPlNAwcjyfOzy+4urpe+oNZDTn7i4Vx5HTLLMC44MOiICiqSOy6Hu+DXL8aq3WzuxHFW5ABW+tkCdY2gZTGhZa83W4ptagCV54n7/f1vhvb882KEIJMbAoSrJsKmWHJqqxZpk/GO1n7qxRqnE4cTnttYmSDMowTrfUYX29lzBaKLZJ/WxIey5Tqe6INRNpTCE0j8JmSlw4kV3C+wYWG0zDhXaYPDbVK/pmtVeh6ztGtO/nAUyYXJz69XGjCvC2Z5aNSRDVNI76PLNPQ0Hity+wiK+26BmucSmgLWEMIHcyUxdOosl+WgrxW2W5bazDFEIeMdTJhHseIMSPFGqq1lJi1XLECdKjS2DorEkXZ3slDw9SCJeMsOFspReRJVDlwpyQy8LbtaJwjD4lQHUyZaRwxfceq33B1OtC0HetVK7/uDIdxwhHwHskLJemUumKNZKLOjeU0ZTncTKFbNcSYyXmibRzeVVISzBU6THDeas5rJeZJvmZosdaQ1M88wyWKwmD8jH9/CsxSq1PqcVLCtRcwlskq88myJa+SuxxrXiBPdfaRmIag8BZrqmyxY6YUyQXONdN2PaZknG7jvXr9apFmpRrZMtpym2nndEORcyGmTKKQpygy+pmYrO63pBJ1h+Hu5R2Rqx0Hbh4/xpTE5fmGkicFgQSmqTAOmXgcpdn2nhACwUf6rsVXhw+y4bcGet/SWblH3r1/nxhV2hcnQuO5uDgnNEE8RbmSYlmALjkVzU4tAm7KMnhJ45xRF/CNp0SJqkmT/H40Sy5UT2scKVXaboXxEshejZPorCxglawbgeNhwBmdTIMMurTQRDkAFSn4xMxkKcYqFEwbyFJoVDqWjXi/UMp28I5V3wi8rCT5ALJlMpW8ctx59pJu00D1fN93b3jh+RdpGoFPvPLKJY33xLv3WK+3vPPWm2zOLnjttW9y7+49Hj16wGaz5nQciamC9TJYEenBrbwVmZg6P0NsVKqqvY/1jrbvJE9QI2Aa3/CH/3d/GIrlf/7rfwtbDNWJT/3XzDh3OyEI37sn3tbdXjagTxfFb74psuW7d+UvffJYnrFzBuzxCH/zb7zXJ/t+X8cj/O2/JZm16438/+ur9/p+Hz2C/89ff2/zvNvB3/7bIqPebKW5vnoif/7p7/3hA/jr/xNcXsrPd30D+91vGEVkiboRcb/aXqvRSQKMM09B3xZp8uLDhF/+yi9z/8G7tK1Xz/etttlgqU5l/vW2SJAzQJv0KkOG2T86xMh//6P/L1795pv84T/8B3jmuef4Sz/6o7dgQ+soc8ycAomEdJ/U56kRa1UGzXOGOBqd99yzz3Ln8i5Pnlyx2+0YDju+8FM/SZwiL7z4Ejb0fO47v5vtWcsz99a88Ow9jLNszrbkeM2HPvwyv/LVG+JYcCA+rSpDqHGMDKeRkipkGcA6zQuvyL3V+oAJOnirt/5pIecLJ8M9RbK2FjyGWr3kHdZbGKOcocKXqEYtQQZsKVhbcUXfdz1bQOI8XUVi5yjEecijEWLBBWlUZhuCaZa4HWs9sThylqzNcRqoRTb/u92Btu0YhiiZ0r7lOEx0raXxhcNpxDUrxhLZjRNNqRw0m7TzAesyGYkdmr31MtA2ND7Qtw1903C+3dL1LdP+gK8ssS29AoriKZBixPtAaC0mZ0wFb8Q+kTVv3VlpZuUZWDT2MKmssqFfNVSyROe0Qv7Nbce2F7mix9A5x+rOBQ8fPKIzBrPumOLIqg9sNmumtmG3s6y3Gw67PSu3wfcNz9+7YN0E7LDmomtZdQHvzrjZXfPs3UuCc6SYuO5XGBuwRbaabRvwfQsFrp88YrtuaYPhcDjS9CtWxuDXK05xYt13bHsZzq/6jmfuXvKEiJ8qx0HyYHOc2F1d43D0oafGymazYd+euHN2SQiV4ZQ5354zpcQzlxeMN3tp9PYH7l6cc3m24TCMvPPwAZfn59iU2TSBmAbuXt7B6xLkcIocTgfJni0iu75JE9tVT9t6SSULhtHAdrPBq2R8tVqx2+1k867Kq5vDDm8NTXBK/w2UHGlah6HQdy1xHOj6TpIHTCIzcRwSw3jgdDpxOJ1oO8d+2NM1jkpL36+E6lwzU43c3DyWBjtKHJrzEIIVz3iqxKmw6nq8M3hnaEKLMZm2aWmahtPxyDiM9K1n6gLee2LKbLZrGu/Yrtc4Msf9Hm8sq1WHnRLeogqMzPnZmm4KNF3DKmYeXF3ReEd3eSF1N0K/PqWJUoWjE4Kc850mM5QSWG1aXn3jTe7de4aLzYrGZpwVpoyplr7zXK0DND0vP3+PeDxizBm7/Z6uW2Fc4OrJNcU7zrcrTEyUvsPaFT5DHCZyA+MQSWnHpm9Ybzfc7PcSl+Q8rglc3ewYU6YJ4qsPahWjjDRNS9f2HA4njHMK3k0EA7aKbal1gThO+NZhq6HGSYZQuhGOceRQBuIkA5LgnURjNY7QOOV4VVmO5ZMAqoaRNEWpp4vED6UcwDcY49jv95I3nQSK57yh1oy1gYuLc7z3HIcJ5z2PH18xtS3rtmE4SgTjZrViGEb2u6PYA7ylayXTvPGy4JvisAySRf0iNdBpnNTq+P5e77uxff7F57l6/EQ3gTOauiOfjrJdcBaruVhViXQLuTaL1OF8c07Kt7mo83R59oMUhRWVKNSsqlO2OS5oBr50XScTjGmSDay1kkVWxAA9exScswvR1S4eU794S+dmuTyVt1meIp15JwHaT7+KemXmPM+kBLPZNyxZpRljCiFI4LoQFnUzlzI+NIt/V0KtxS/Sr1ppCFXiE+PEOF6zOlvLRTtpzt5C2awLiaTkjMVqjpUUX957jJv90VIMpcWfCtTbzYJzsiXKOn032hx3Roz/NWcst4Row0z8dRqdJDLfhHwGTdNoI5eXCU/JlRAajBW/wpQ0z6+6ZQMh8VECA+i7huPp9FTKyO0wYIqTyqmlGZ03rLMXdPZkOS+yLtTvG1QdkLP4NL3SwGbvjPdu+bM5J8gi//TWMRWJoJiiINirRlcIHEI+ZzNv88sMLBJynVXJY5l/r36GQv+ut96zpzxeZAFaBS/XS9M0pONESYnT8UhKkePpwDAN6hct6j/NlBipKbNeW+I0EoJktXYhQJVNh288fdcBhjSKbOl6OhCnyGk40XUXbDdn9KuGXKNkoMm8RlD0cxQJljoV0ijejnhUH3wnMVclJ9KosBAq69DhrKfzEuI+MRJqS8ZpxE+59QYjOWrOe/WnJb1H5N6TTZFKP61snZltktoQl1IVOSagly6I9MWrumG+B5pGSLOhadgd9iLfzmJlGI4jj955gPXw2uvv4vya7/qO712uHbEXDPR9z2mcGIYjq/WWs7Mzzs/P2Gw24skep0UWnlK93QI9JemevcazDLDW9FSmsGaI62ZqGEa+7ds+ybd96pP8xR/5H3j11W9q1Inh5XXPne7XmXKmJDm2v9nrdKK+/rrcl7+eBOhpP+w/6asU7OPHmCdPlggb5lZvzld+8uQ9sXIzNZ1HjzCPHslnZt+7ZpVnQ6GeTqCesLnxNL8KPmWtExVL0sx0WDrP8qua4KrWE3R2pv8hm0GTF5Lyw0cP+b7f8j0Mp4Ev/PTPLNdcNSrXNLdN8dLbmnkQtzBadZAGp3HkJ//+F4gp8W/863+A8/Mtf+rP/FlpWILI6k1dVrL6dWdfr/oIi1neHzPL3DXgPTSW555/ho99/MN849VvsNvt+bEf+7u8+uo3ePGll/nASy+xOWvwduTJ9SOstVzfXDEcbnjtm19lOF3jQ+WUJRkgTzIk3O2PjKMoUJx1FCe2CPEPSuyewKnmKB2z5KgrhFjSq6zEXdx6H4O8N1WKUFHM3NqNQvAEa/FqhZJgPpFJSxqYbIndvDlepOd1ycoVL5xTXkBRYHfLbnfAt7JRNbUSnGc4nehXcq+VgipsLN41eJckZ1Xp7W3b3vqs9f036o1LpdCEQNu0nI4i4xWml2S2OgWQOWtZr1Zcnp/z0nPPsln3xMMgkuEmMLQ9rghkblZqiVqqY7eT7MgQ/FMKG7dE6YlcaLZpWIk6VLfuOAyi8vGe0jSEi0vOzrYSqzKNvPz8c1ITTAN3zlbkGshZcm5fvHfJlApfP97w3OUZ5uKMYRiIpnKxWdM6w847Wn32tq0TdVDXLffryx94kdD0PLneAdB3HV7J1+Qt6/UKaw27m2u22zO6NrDqGvL1FV0nPstQBN45DCdWfa9F9I34H2tlterx3rHdrrl6fCN2nBSlocBx584lxyGSdzdsNxvurDbENPHu9RPOzs9ovCdjOB2PrFY9nbGUknlw9ZDNZkWrOfdT2uMni7di2HHeE7xns97gHFgrBP+Uk2773G1dkPPyfBpGqYu8Rn45fT5VzbOdphHnLFMt6nufKLVovekZjkeptRaFooCvnJPrxTqDdUIvdk584223Epnz8cjF+TnOFNIUGcxI13WsVz3nZ1v6xmOMkKDbbsXV42saGzhbbzBZtqbLdtwI/LVzDXEYCN4znI7EfAuPqzWz3fasSssmi/3xFE/cu3sB8UjXBCjQtS3VrhlPJ0K/4t7lJa5G5grQuIZjTrz94D7n2w13L85xVWTlFrHpGfVTRwO2JkwRm9a6aSglMcVI33r2w8T19RUr62kaXbzEqFY0L7ApTRUJbYs5nZhSIhdp4oZh0FqvcjyeGI8Hyd5VGf1pGgkhcHZ5jnOOvuswU6INXpp9I+qb9WbNw0cPaZuGaZh0HSLP3Vol3qsJouxoG9lsn5+dMRx2PH70hLUNDCUpxLNKKotmMs8cklrFyhC8EzLzQXzDNSUFsVnW6zXWGqZcaIyhek/btlzeucNhd8NJM31nNonU+XY5D3OCw2Fk1a95Mgy0TU8Iga5vOZ2Oy+D//b7ed2P7+ptv8ejdB8RcGYphjElQ48bgGydZkhTaTnHxNQlYRinALog3xRuPDSJRsN5irGNKYlKvxmBLIE5SeJgaNTcuL5tajEg5fCNB3jnfkm1vQSsif3VKO801i3ek2qVwGobhtimyVnwYKueCgjPiE002aWRIoQktlKQyzVsZWE7ix80xqbfFPCWTFOqk5FEWITXOjT+SyWqsxB7Idk0ErcfjkdPxKGhsK9KTmOXg8UEyd91s8i0QjFf5p6XO9EUjD4ema0mnAVmiW2JO4u8yQvEcppHWNhgntMGYEkE9theXZxyHE6fhyGrTcxxGbLQEJwZ7qzmDWbeV5RQFQmUcFYM3XtH2urWoAjYapqqRNFEicmJmDOKJtQaq5iO3ztIHaQTnLFmrW6pByY8S3WS1SZWc0VKFtju/t/Jok8969pIaa7SW1ZgfYOmQFdBi8eI9qAaDxwdLLpNK441CliZWq5VcL1NcBiTOGBziw2i9Z8wDFnmYCetJtxIqDwZuNxAK15ir6aoDjdM48M3XXsOGQDWF65trvvTlL/PM5TMCIImF02nCq/cp6yApJ/G5dEGKptC34gcynsPhwOk4UpLIwQc7YBH5eOsb+mZFYVJ/mRRA3jqR0o5Jc4ohDYmKIU7aQNRELUqQLJHQeJlUV0g1QYA8FbrQ4Z3nyc2O6LxItLJ49xrXcCojJguQzdpZel9wRuT/NWu8FlLo15SkMq4i73RauM0+ZyO8bKzzs4FS4rp0e9H4llVflz5o3obUBE1oee7uXd559zE//w9/hrPLS252NwQfmCaRaL391rs8fnzFt39Hz2k88fd+7Md49tlnFphMjLOUW7OAS12yp5khdvqcmpuslCRb2nsBuuQkKo2u7fmXft/v48tf/gp/9yf+Hlk9oIXK973wDJdtw6PTSKplUZfctkHzyyxNlTKrWQdP6xz/3atv8qW33iGVcqvLZ9HrLpvN8pR09+n/YbgFEVgF/jlr+B3/9G/lB37gd/Kn/vR/w1tvvIH3De+8c5+vvvoqH3jpJVbrnhefe46+cTx6+K541GpeGoWua/ltv+23CiEyJ5q25f79+/z9L/xDvv7a26Rk2GzP+MQnPk7OmbPzrdLNpej/3f/c7+YTn/xW3M/8Azg9xFQP+Pfk1ZplaHHbYM+a5coMU9L3rMq28Eu/8st89MMfxTjJV543sMtb9lRczAxPq9UsJN7lc9f+uZTCz/38L3AaBv7tf+sP8b//j/8Y/+2f+W949PAxuEauZI2Dq9z6Jo3+ZbnW5SObB7xG1UHVFJrO03WBcdjx4gvPMQwT77z9Tb7x2q/w4Q99mG/5xMc53/YMwxNqPcqQtFQaVzFdQy6TxuYETtMBsNzsDoxTJk+Sx9t6IaAXzflurGeqkZKKgn+MKH2cSOxLSRLRUuLi4Z83rfqEF7UG2iPWSqkRo9JTZ2XI7RwCjsKKLzhpzITKlL33iGPo1keLdYxTlOdmFvVUJnEYRhrrxPfvLG0VZUloelLKNL6Vbbht6JoeZzzH04E4TnRtx/n2nDSO8ozSGYtzlmEYmKaJi7MztmvZaAbvabynC0E9pB2kSt+03L28IA0D9y7usOpbtv2Ks/NzhiFzOhwITUMcR6ypZKVJO++UUCxS7ZSl6ajKFPAukKLUKLVUGi82r5defJGUIg/vPyY0Dfcu71FL4ebqMWfbNdZajscd5xcbSslcjOc8//wzOE2neOvtt7l3cUauhnfeajjbrvHG8qhE4jgseb1Q6NpW5OYy4SYqB8Jby/ndc7xvaduO1nta3+KMxLc467h7eYcbd8Pu+obGWwyFzWrDoycPWfcdwVaskZz4zWqFV5n79fWBdd/ijWEYjqQ40jaBppHEihgHvLecbTcSaRKTpHA4GZ64vlPy9OyqcAzDRKFII2LBaX6vnDeWrrWMo6HxInVvmk5sQaVIMoZXaXwtHA5H7t65o5CvqMIOvX5jxOnSIsURjMSqBM00bRsv29ymoW1acqzSQG82lJzo+56+78lIvNSdszNWjaPmQt8EjvsDzzxnaUPDZtWrVSiQOlFkdL4lTUf6JrBqOnIxmCJDY1szwQecMdhcQYncOUZWxtF1PaazkmyQIyVFgT15R9N4nNLMnTV0fYuzVWSoFVKBIWf6JnB554yubKhZbHoCpq1sO0+xqoCoFWJa0gWst5yt1nTey2cItF4G8MkIxyVYi29aoTe7rVpI4DRWmmo4O1uxP5447k/41QpTBf4WlXkznU4Y58nFEFPl+mbPFCXWJmMYJ7U+KufDOVnmDUMkrJVjkgvZZA67AzVWmtBycXYOpbDpV5xOJ6yF43GHobLq15ymSGMd3kDXewVwjuSaOE2ZYRrZ9L3Y6ZQ6P1P0x3Fi1Yncf8pJKwFl0JiOpmnZ9BJbOI7XpNTR94FK4fHjhwC88MILxDhi+zXr9ZpxGHjn/rusuobQeYyXM6ddN5y1GrFUMyVmjmWisYb1Srz5XkGxfdcxDCearl1q5Pfzet+N7f4wsuq3HMaBdBopcozqBlKmPiVGzZAKYPIiMU45SZbUXMhZyceci/UcE1OcqOpnoYiXxutBNWP+m9YxDpOEM3tzu6nUaSLVLj61OVw9eLdMHorKiGQ6IaPhnDOlSj6e0e2q87c5s7Pfcq7hZhnFTIesOhGbKYMpl4WIWKqQG+et4AzJsNYuQBjnrNKkK9M0Mo4DTQgcDodlQxpjXA4insp5swvk5GkCowI5mPNsZxJsoVaBXJQsMmRpZCVmJ1XJFr7e3dC2DcMwYKzlcDiQsubH6pS3VWqgTOE9pSogYcm+lfdxjlCYt2lRM+yMMcRpom0a+r6XQYZuNTbrNSkmmiYICKpp1R9hZyoYXdctBf/iMbMSiWSdx1TJzzWNx1iZzlcvn/cwjBjbkebc4pmibOXgmbdAVeNqSpYmM2m2qOS6Vkwx6ouUQv32cDOLJ2LOX50LTSGIiwQ+5YlUxHc6f35TnPT6dTLkaBqZuo6ROEXilFj1Kz75bZ/m69/4JrXC48dP+Mynv52H7z6UzblxTFPCOEvjvSLr3bJZP51Ock/oVjpGyYQ+KeGubTvWXS/RAtZyOh7lgKBSfZEc31LxViKAOisy/mAdk26LUpHPOxhPOsXFTxisAL9yku1KnCJ919OERqT+p4c0Zz1VKGdK4KusQkdMuhnWgPdZlWA0z/F242IFbKMST6/34ZIdOuf0mlvviLOyJbBulrlX+n61ECml4Cu0Tc9mvWaKAy+8cMbDh6/z+PFbkqVpLQWJ4AhNx2c+8xlCCLzx5ptst1uh04ZAaQqnKnCueW23DObmdvApJcncANkFZFSXzfwwDPxrf/AP8Ozzz/Kn/+yf43gcMFYaBSpS/JXKf/EPv8iX7z/heBqYVPUx1oJvAiVXGu+5XK9Zdw22RgzwB7/lg/zej7zCG4cjX3r4SH2i0knMz4I6+w0XF1V9j2d1hu4bjRawMyjIGD4yTvDMM1x5x9evr2lCy6Nx4mdfe513c+Lll19i33g2XcvNYU9Jk8p2FZh0VVi//irH44GcIjEKeftBjXxjf8P9B9e07YrHzvLyyy/zlW98k1deeZn9/kBKmb/20/+AT/6O384//y/8i/zQD//wU429bKiXNn+mAy5U8Ke2ytxmPs+f25NHV/yDRz/Dxz76UQ67PW+/9fZCXjfGyCbx1/l86zI3MMu1Ob9SSvzSL/0S//f/x/+TP/iv/av85//Zf84P/+AP8Utf+opAtNy89X96A/lU84xZPjPrZpUOSiDd8Iu/8Iu8+OJLrFYtbXfBpz79EX7xi/+Ir3/jH/H6m1/hox/+CN/y8Y/Q9xsht5KwXSBGad66vsfiudjelcbItbz2+ptUk0Va2YTlup3f1HloJCyKivW396dVNVPWbFWqlaITZDhr5gb39jylSiavd5rFnqTmmM9LV2Q75INEnAxjlC1RlGflrHgJTSBOiRBaUpbPRZ5DjoIkLRyHiVSuRV1mHC60tN2a03CkX23o+jW5HInTkXEYWK3buR0X5cUUZTiXK3EaWXU952dnBCVVW2M4P9+yC57TcOLi7JxXS6ZrW1b9atn+WmtZ9SvOz86h7mm8p/ENrQ7Znfei/BonLEYAiKrmqFo7OY2I8l6GOs7J4HcaR2oWialTGrz3DqqjaVvW69USCxjaAFWGEs47utBIBGAj5aX4mcVW4oJE9PRtRxsCxMw0io2q5MLxdNJoOdkg1SoZ8s41WgfJMHK9XrPfJd30Nmw2G7qu4+JCiv+Z8SKDDvk6q1Uvvr1xpNq5npH4npZK0G3m5eU5627FkyePuTw/Z7WSeiNMns1mTdu2uCzy9bn2KKUyDiPjOC0KOGOl/mzbhrY6bWwD10Y2xKVIndM2jfqcixJjVQmlQ4kQREUkzYzB+4am9TDG5VkkVrmo54nUZUlzVxdLglO7Qjb4EGi7jv3hxBgT280WT1nUfFdX17yiUVWrfi3DwxDIDVyz10QOXRAasFRKStIUGrWHlSKLLVU4GLWS9a1IW1MVdZ9zSsZ1XmCddUYoSHMf+kCx8p62jed4M1BzwhmDt1ZjLK2yPYR+nOUBKyT0XMAWckxiebOOaZxIbYNzdfH9z8gH7zxTKcvnWKowQdoG4mkkp4laM10vTVerSo3GB5y1XB8PGGdJOfHk6lreD+fo21aEGEYWVad0VP5QxOXE2VaSQaZxEl/ueiWw2zTJ0iQmxuEkg3AdmE7jxOl4IjdSc4cggNes9/o0jgynQQaMbcMUJbvWRbkW0hjxztN1vWSJS3FE00jmbYwSoxSCFygtRhNMnAJMC02jXCSNoKuqQPHes1mvmKYTIBGM0ySS6ePxJKrJKAvQoNbF4+HAerUWda2VSLoQAk3T3qbuvI/X+25sq/OEJrBuGh4fHzBGKZAEZe0FnNSLZEHIqDLZai20VeSP0ZTbdXzbiSw2Z6WRGko1lJh1aiPTl2oNprqlEa1mxBQosYiv0QIlE9SfWDX7bSbp1orkaJWEHFFVt6eKms6TyI0VcDMHJc/AoapRNdRKHCcIQfwpZNq2oQlKv/UKBioi6zCUxYNQdSpPhaDyClsrsSZykZvTGQkZr7XKQ6FWsZdVs8SXCJhwzkM18v4oYEkOmSyFS5X81Fqk6Z3GtIAyhhLJFoUnGFLW5roUvI30m55NL9lTOWdqjhjNnKumEAK0xYHJxATOh0X6NuO+nUp9K0KYbkMrP5MVaZQzEKlYDUDvrUi7U4x0ITBUyDFjrCc4Jz93kQ0dxrBZddzc7GjbQEkRUws5FrJ+bYwTJm6Vzbu8R+KNNTYQ4/xze6zN6k0WP9eUk27HUHlcUv+qbDoSokyw1WCLobWesOpVliiyQxfk8HXeY6oARNDSxmluXkVARDnFhWzsNJOsW/UCmNLmkqYDJLvSVIlr+NKXv8zN7shnPvt5fvEXf5GvffXr3LtzhwLS3BvLMEbJCXZmYQCdxpG26+B4ou1bjObKdc+cy3sEbFaenLYie8+Z4XDAVEPbNVJHW8Odu3fY73fcxIn1Rkl9q47d/oQxGWO8gAzK7fs3k6R9J7AE6y1t39BvVvSrnvp2pfNePPH5wGm/I4SeHAtDzOSKKA7iKEoNY3FWaOK1Fmlwq9zXuehh55SsqvdfMZlSBRJTqpCHS5UcyrpI8s1SFKEZfceYaXPL4bDDOeh9YIxVyaEVrBxeTbfm+ec/QMqVr3/9VWopvPPWmzzzzF0++pGPENa9+IVTXP7coheot02TUyjZ3KQMMQo4LQklO6fEZz77aX7bP/Vb+Bt/8+/yta9/k2rc0kzWOUYGOKbEV77xTfkaxmGdZ8hyHRyOJ567uCsHrrd0wRCnUbKWjXgqF2Hu0w1XLTzVSS3b2bmh4ikpuTEVY/KSBVpN5dHjx9Raubw4V0lope9b2uA4HvZYYzgNMvySHG0pasXmYXDB8pWvfWWJwSl6PazWPR946RmeXF0Ta+b1N9/i2eeev7UmWPEff/P1b/KFn/5pvv/7fyc//pM/wS99+asKDnTzop8CQi2tIjm28+YwixS2WG2v6kwJd8tGe39z4Lu+4/P8v9959z3vUVVptPjm9bMydbHjUJb/dQuK0ub03Xff5Yf/mz/Nv/YH/mX+4//jf8pf+os/yt/5u39XIYd+gU8ZrH48Va4x3RI74zBlhkqJzSfFSIwZa702gYlaJz7zqW/llZdf4rXXX+eXv/IVvv7113j++Wf4lo9/jOeeuSSniVQdr73xBp/42Mf49Kc+IdEiQZrYn/iJn+C1N95gGifiaaIYMFUUV3HKlCzkegFsybO4KKUWLSYzsgExmmTnnBVwHbdZwLP9Rg5ZkQRTpTADQ0b8ssZ5gjWs1iuOw8AwPKC6nqrn75RFGt0Yp7RjSWAQha7qEYrAa2I1FAzD4YS73lFj5AMfvyAOieMEb757xe5mp8/zzMYGUr61D+QpUmPC6WD7bL0ijgO1b6Amun5FY9XD2Da0bSsROVbu3dnKUnSQmJMQdyWSxlFzZhoG1psNwTnZYprK8XhUG3HFWhkoOFOWOJtSEo0ztM5gnKULXu4/jfAzpjJMJ2Ia5ZqtWTkWWWGalTFGvEpfp2ni5voacGRt5iUBwOIaj/Oe42ngcBo5TWKVeXx94OYw8vjmSN913BwG1tWC9RyPB9q+o5hC1wXi5KFMeGvo20BwcL7ZYA0cjyeCExl6FxxFI4K88eyGHd2qI7gg9hPvmaYRi+Hy8pw0Drjq6BunJGKJ0NpVUQgxN83Z6PvryGNSq9ut/U1i2wzbzZYmSZ3mrSflQrdaqU1LOC2b9YrTaU/XSEPw2BnWm55CInQOZxtO48R6q0kTjdd6MdJ355QUoYicO6VI07SyiZ8GsnHqwZfNfGPlvapZliO2gq2GNEmM5zBGgTfGjLMNvjVM04CxQXgq1WhWtyOVSq2JvuvVZiDPGrmrVW4dWrEkVINvGqoVsGjR5YIoCVT9h8FkQ54yRZV8pm3le/UBk43U/0nj/KwhWC90cDNnvkuNP1v/XNWvX8B6L2qnMZNipTNGrk1jkUJC4F+mWqwJ1CJy7dNpAH1GDuMIzrHarPBNwKvyomsDw1j0Jy/EIsO2TdeJXFrrvrcfPsLaOYscypTYbnq5B2si5pFV33B5IWfv9eGaHBPv3FyzahsaVUuCoebKeJpYrz1msLRdx53tCjMNMjwfBlwTuNmfcE1HSRXfBYGPIVFtBrFDnoYTDx894u7dZ4iTwOE22y3WOvYHyYr21uK9pV91xGi4ubmRBWfO3OyOIsOOJ4LxrELL2XbFg/t7pnEUq2YQzk4pE+M4EbMMwJw1UlMNA2dnW7JLTFGUZuv1htP+tERV/i/a2D55ckVsWtbbNTFOkhFnIBaDKY6cRGdfdItbUqEUgfYE74hx0kP6KQ+iPgy1CpKJ3fGIc1uJ67HodFHxtTrhsV78QWkyyzZ11uPLVjgpYVZzcotIIWfp11wwpCTacqGMeonSqCIfjineRhroN57zLcQK5q/vF9lqzongOn2gzWCQGRJSNU9LvX4G3WpXMBI07+bs3HIrVWzbFhvmDXfhdBpkWqab2XlrVUvBW0OOiWLFj2xCsxCFb6nRg+rVE01oWClpsCaRwgQncQw+6OSwVCqJmCbNhZMJZCzzzySh0uJPFVCRyBw0+gBH33cquXBatBuMGvqttYTW46zIz3xw2FjoWs0j1mZjGCXTFiODDuu9TORLFQq1EgbBSNC8Hv7GmCWqYJwmQtNQUtJQasuk0UJYKyCndLtF0VKVVJJsp73k44UmUKI2IF4moSUXCoaoErhqpKEqpWK9E8lFrRgrsrxZolj1+7LWsOk7XLqdYI7jxHqz4bf+tt9KTJCNpWQRQV5cXrLebNntDxyOR5559lk+8MrLfO47vouLbQ8piSTNZn7qx39MCLi6hxrHEW9l6t9o/IYxTqNIDMGL9H+e+P5/afuvZ9vW9LwP+31ppDnnSnvtcFKfbnSj0WgkgQABNDIBWjBZIimr5CDbkqpULpeq5DtXWf4DfKnyjX2hkuWyLFmBCrYllUkKAEmRIGKDINA5nz5x5xVmGOlLvni/MdduilVqXmh1ndrACWutOecY43vD8/yepm6IPjJN4zHbrVt1tF1z3GCv12u0MUyzTOWGoupYruOmae6yH3VptFHMIXFRy2Bg9tKw+XmmazrURoAKOUv25BQF8JKiSGSwFp1LRrMvGYsp0y5GPUr+dArH4UFWEhuSX7mHRSniy9belfspE5JMCCvnCLlkADpRpsTi3S0PB4G/NB2vv/k2t7ue589f4n3gG1//Mo8eXvLa6/dxlWHs/ZGonQq5/M5CcUdFds7d+U+OdHaRUoYQ2KzX/Kv/6v+ad9/7gL/x3/xmudaXprLkMC+ZqiU/sWoaMiL366oVs5f32TnHuluhyLiqZp7GAtGJvPvOdwXSU2TE0vXdEZoXo6ha/nzVR3rkKCzP+CIq1fDkyRNCCDy4/2B5B6mris1mTT8OKCVqkYvzU6qqZhp6KciN0Dmtg5BGEmWLW+6xGBNnZxsu753x9OWBw/7Ak6dPefut13ny5CmvPXzEvhe/4YcfPeHZs5dY19EPXuJgzB2ILiOboZ/93E9T11oARQm00Tx58pSvf/1bGFstV5psO8rx8Pz5c37zN39LCKAZxnGmUAOXt+LOUbt0aUef7CJXvZM6L1v9vt/z1//T/5yP3v+Av/rX/gqvv/EG//l/8f/BFzvGoo5YPh69ZCKXZ6Ra/r4pcOth4mMf+xjjODCOgc1Jhyqy4JOTNT/+Yz/GD35q5lvf+g6PH3/Es2dPef2N1/nEJz7BvfMNTbcuBfeJgI3qBqU0F5f38TFxc33NNl4TE4QgtqQYJYd5noP44pRACKMSDoXKGh89yty5jvUyDCzvkyx6c0kLUqXQg6QVzqrFVQc5yzMkRdkyRlAYYhTgVSLjrEMVD6OcOfIX2X+P911pgU4tUWQ+yHDs6rbna99+n9ubG4xWrELCTxNtXRNTFt+sc0K+FVrckaXQNHI2TtPENI7sdjtRMfmZ/nDANjU3NzdSOG53DP3ANM+SMZki8+wZx7GkQ3jWq9Oi0rFFOSSy4qzAGMXkJ/HPZk3gVTo3OGs5OdlQW8dtuLljj7xCpw4hMM2TeOW0WHvmaSLEwDgMjOOIW5R6Jbd9nmNR4Em5+arFQhfOwaIc02aBjgoNPnix7riqlgawW6HJdF2DnwdUFk7GulvTFJ+unKwDSolftHEysNI8o64dbNYoI/mum82anEQKbctWujEdcS71jLU0jUTs6WJZq6oKLUUHVVWz2Wzo84GUtrRtK42tMbjiaWyaBufl9dbjyPnFOYD8d8OIKbFIWmfmeeb8/Byt5e9JFKGhcg3GiM989jNQk5H6MeXAOI2cnJ6w3+8kBaTY78ZBouyarj2qTLz3aARMNg4jMUsUi59n6rrh5csr5jmw3w3Mc2Z3fYufJ9brE54+vSYGzW47MQ39sYHPZKYR9vuANQrnxAZR17WorZSSxWmxEoUYxU6VRQa76TrCNGOtk+thfzj2CLLBvsvvdlUlXEeSXOdGobOkHkjCwpIuIdaLHELhAJm7MxfohxGVNLXVWCd2Dl2u9lQsPctWX00z/TDRdGsZUsXE2ek5jANDfzh+7k1ds0oJtT9gnWHVtriyuc/FUjaPI6YW2bc2iqbtSn2UST4S/UxQimHo8UGUDkPf07UNKibuXdxj2O+JUQBlIUQ26xWBzBBmtFpRNQ0h7Ll/eclqs2GaPE+ePQNgtVpxPQ9UrqLfD9S143DYM4wjPohCbegTzkq27ETmcBhpjMSfVq5iHAbOz8+pqprr7Q05Zfb7LRFoTzpcyFQlpxhy6ZPA+5m26chZFISRiDaarm2pjUQsKqXkM06JafYMepAEnf8hPLbD5Dlbr3DOiOcxeqYkG8owj2iT5ANXmZiDXMBast6s0iin8f0sB7WWzNGlA1+KuXEcRfJSObJW+HQXcVPbGqtkihrmSSA/0WOVJgbJc5PoENGMy5YqEoI/BgIvWH+ll2IrHUPVpTABU4nPNQQx7N9JFDRacwRfaa2Z5juzdgpR/Ee6/P8U9KKWFX0OEVc5waAfs3ON/Hu5RHzYxb8m0KOURe5ttfuegUAusByJGFLLXKA0feIHztYKbj1Jky7bJ2kQtDEiu7G6fAZKvHs5MQ+DhCGnyOFw4MHlffAzPoaSwyUPDKc0st9bvMJLtI8cRgZFjhIlsBS6AurJR7DVqyHkS36n0Yq2tuQkRGxTWQGJHQFjix9KIDiu3AwpaYZZwFiUZhilCDpjjcbPs8hDkkjd0YrsRR7hUFhlmHzkME20XcU8zOhyLexHz8Za5hgYJrkxtdGM4yAe4pzlvdACz9LWFnl7QBvFnCS/LpXcPVOBLZKNaZFFOUsCyXkuDYY0347X3nwLa1s+evKcQz+gtMFa2UgobaibljfePuHeo0d89sd+gvv3zuUaUBli4B/9yZ/ihx3GJroSIk+K1NaI9yFD9F6GT0ViLlAWzdnZGWenZ0Qfefz4CZWrePNjr4POIsPpGm5utgwvr4r/HRkQFEiWSM/lfVZFhp6TeMtJmsM4stsPHPoD223PauUZ9weJpTAWrUWed3W7xRmD90maC8TTo4q6YdnIpSSb+pAkisCapWFfGi1TPHrLsi0eCdvaaBlQhMgcvEyQNXJoEdFGthMJXaKzFvCa4ezsPg9fe5unz6+43e4Zx5lvfesbPHh4wSc/9Tanp6fMc2DygSks+Z5FlyQ3/fG5QpHD6qWZzUUilpJkPCvFP//P/zWatuU/+U//b9xub2UCzB0ltkx7oPjKHt6/z5g0SdniBQStQ8k+hMZqfvxHP8tXv/7VIvkusu2UsEodM1QXSBMsMVpLMI46DmsWYJMuMkSll05OBmHWKMnkjpFHj17DOVPAQpazkxNut1tWq47DoS/PXVv6PhkKWqXJMX9Prm4uxbAiUleG+/dOeHG1JWb48PGHvP7aI263e+5fily/W694/c23+LMvfoXf/d0/YrsfJHqjMnfDVjKrzYqf/Kmfoq2LhDeLtPbrX/8GX/va11GIl57CSzg2lFqRSNx/9Ab/43/2N/h//vv/AfMk245j468XGXI6NrfH/70ygM2vfm+tmaaRv/v3/j7vfPe7/Av/wl/j3/w3//f8x//RX+c73/mm5L8qffw87g6HXCjaS3O9ZAt6TIlYi8mz3w3stp4HlxcMaUAZAYP8xI//MDc3r/Phhx/xwfsf8dFHT3nttYd84uNvk7Thd//wT7m8OOWtN97g8vISnxWrzQlN23Lv7Ixp9Lz73vvMkyclRT+MxWcqmY4xRXQq8K8kPAWnXbnHcslop7wuTSpqJZMyc/QYXREjWFOy3FOgbRwKS/SRgKdrNSprctRoUzGGTFCRk6bFR2E/KK1LHJ9kb8d5lsG8Mcc0A5ULe8FHsX54zze//S10pTm/OKfWcm5Ttr4y31akJN83poRraoZ5Et6FB+NalDG0XSebv5Q59D1rZ4/Qy8Oh5/Z2y/Z2T4qJtm3Z9QeJNEQzhYi2jgePXuN6J6qHOHvx5E19kRyXba9KdJtOokKsK1F6iaapJEZulHPIVlak5mUYqbUW7keW53AGYpjFbpBzAR6mMhhQRRWVC4TIEH0QaWS9qBsS2sAcZxpXicfVWdZlaKq1bBprW6ORuJvKGprKMTpLmkTa6pxIehfPa1U1kCVTua0r+TwVtG2Dk48F6zRtW4nagxOcs0LlrWqCEuhQXRIB5J5aFIpCHU6vSPqtsxLtUzU4V8n9qmQo6pxDJbnPUkpsNhs2643I1LPixfxCaLlNyzjl7wFIioXL8+D+pjRf8QhhA5HdJhJTmGjaittbqXezkvM/q0zdVnTrDqOFrB3iBGS6bsXZ2Rkvrra4ppHro6qIMdM2HcZYVqsVh9tbNpuWlKDfT2RtuN31PLx/j+ADddtxdX3Ntg+8//gF67amqqUxWa0zIWmm/chu+1HJ5rWs1y3diajK9geRys7DAG1ZImWYQ8RVTbknIcSEj4msDUmZIx8lFlukAmIQi1TwSSyNyJYWZEMcUiIj8tkQM9vDROMs3UqUhqayJDKpqC1aWwmg0lgSgZQVt7dbDl4URY2SxVFd1/hpIpflUX/Yc+/Bfc7aCkdJYYgRH6V2yUFSH1Ztw1nbgh9Zdy2hqrClTlm1K65vdjgsD88v2awtYz/ghz0qejZdh0+RB5/8ON1qzbMv/RnozNXtS6osQ526aVhvNkzhmpgi+9tb+jmQa+mJhrHndL0iZkM4eIxRDP3AZnNC17bM40S0RsC8znB19ZKz03O0tkSf0Fi6tmOf9mRkoLMfBrZXW8zFBVopsWId9ry8upINurYle7lmiv0R4GmtRenMOI6sTzbc3t7iJ48qJH/zysLiv+/r+25sQwxMYUaNcHF5Qby6xg8HTk9XbNZrrq9fSPQMmaQ1ucj8jNHM3hOTTGlTBFuZQhMuxGIlMmRtJGh5AVyQiy+k0A+1NhgyKjt8iFjrJGPOSoO4+OO0WaipMtG0VshlvR+Om7hFHhnL9HWRHy5NtjXFh1Jy7+B7PaSqRPjMczjmpQlxedlG6yNsxFpTPAlyEqQyF1JKHYf4zgoogtLoN02NVan408QznNLdIMA5ubDId9TOVP60ShGLF26c5YHqjMC7tJIJ4DJhImeGcUA5yXOrOsmXPRwGtNbs9nuckc27AmxVE8r7bLVcPkYbnDGSWViIlcf96ZLLmdSxAF68grY01rogzY1xgKGunWzA51FyEcv3CMUPLdKzhDbuuAW6kwNCXVci+csJUzlpZrVGV1YifhQSeZAyWWlilgzEwzgTokBjE5owy/sVYiIUuFhMqTSviiEFdIri6c0ZV3yeAmeBOQZqW9GHUbLpynUXS/NbIVE3xkqT4FOmqytyisSYcVWDdjWvv/kW3me+9NVv8PDRa1zev8/P/tzncFVNV635xA/8AP1hT9/3PH/xgtubK3KG1157JHAM6xhL7qFs0RcwlWwrrNHkSjOOWfKWk6Jt6/IgCcQk0/eFTHp7cwsms9lsCDFRNzND7/FeGqVYNuvG2qMsS5QUIj0PyaOyYnc40LUrvA8M48Ts/ZHAl1Pi9vqWlDPdakPXNjLdNhpweH+34XrVbw2q5PIuPh35XXQBi/kYpMKhTKy0Ji9S/yyZ2of+QMyZpqnJKUvBY2UzHFMsD2DwPuF9wtqKum4x2nHoR56/eM6HH33Eo4f3+eQPvMX5yYYUYtnCj0cyudWatAx2yrMlxkhWMu2Or8Dsco5Huvov//Kv8nM/97P81m//bd797ruYknmrCk03H6my8qz6N/71f43PfOFP+T//X/8dcqwhwk//zJ/jcz/3k/zh5/8h+92B/+3/5l9hGHq+9KUvsO5W4vlSSjIng3jsjTbHCJKc4/F9XSwgS0N3ZB2qpVkXf7mrHF3XUbcNq9WKGDznp2d85tOfRmvDHCLfeecdpnnigw/e5/T0rPjqlumuwtmKafIFLrt4c6SZ0cZgdSbkKDFV7jFhyux2e168fMmjR4947713+dQP/iCvv/UWxhhut1tut1t8VMSccMrdeV8LPOPZsxeEeUDlTNd1fOxjb7PZnPEDH//EHQ39lY00xbOflUik/+j3fo+3Hj4iZ800jyVCDjLyPIthydsuJMr0quSqDAMXou4r0uSPPviA/+j/9R/zV//aP8e/8b/71/lP/rP/lM//0R9hNRhtC11ZiPVZFbtFsbIoVZ7GKh/z2o0xVKZlnjXXVzuq2lLVjjDPuFqiW37kR3+Etz8+8I1vfJN3v/seL55d89kf/REePHzA42e3fPTRc8hBfFU50DUNxlmqnHFWM02JjMb7Ga0ts/c0Jb9VpbvGi2IR0IU+LYX8XY5vLLF5ymiiF9tGKhFfMv40TFPAGHU33EKx3x8YpvnOi64sMYqlJifxnecMISXqpsEHXxIWDNYZHAmntBCvYyJ6X+TxRS+dApVr8RRVjpJCdt2tmKeJtmmo6oppGo/bLmtLBGHZ3uZ4FzG4PN9MOb9jTEzTzHqzEmvC5OX3dxLzl8t5DNB2LcO+LwNwzXpzwm53C0fKqSOmCeukgdclT1U7ue9BVC7OlrqmJCNoJANY7sjiySsD7GP0Wgz4INtko4rXd56pXSUe+RgLibYkXdQ1Ocvw3znLZrORqz9lukZARwolXI6mEQK2c8xG4yqLViX6zInPUaGpSyySRtgnrrJ0XcOssoBOnaNrG1LMx61pU9fyjHMywKoqeV06y+e4sEUUuny2EkljrSJGT13XxxzOPieBlsVYeDEiv1ah8D2OvIgkW3SlqdyaYeiPd//ybE1liZGBumnoh55pGokplsY5MY4Tbdtxu90e7SrWGFZdx2rVYawMCMM0cbo+K2RijbMGVeKzKisKk7bpmOcJcsJZUyCwhvVmze2ul+/brtAb+b2vXl7JNVzV3L98wGrVMfuZYZxEem4tXdPglGLo9+U6Uce/RAURj1v7JaYxxMBh8Nw7P+Ww37PdH4hafKghZm76Hj8OZCXQMz/3UsckjkMwa2QJFmLCF9VmStA2LcFPvNxuuR0mTk7WNMAYMlP03Ox7fG2pjGGaMllZtsPEs+st9dkFz66uOXEGX7zVTV0dmR2tqzhdrThfr6mtJLg8ff6MjD0Oh043J1inuLjo0LODkNB1RU6Bum5RZJq2opocZ2cntDU8OFsz9QP9XsCyOQXGw5bNyQkPHz3ktt9z/+wera1IMfLi+XPmOXLoR5q6Y9Vt2A9TgbNJbbPb7dicbDg/P2N/ODD2M8MwgFGEacasZQB2cXGPm5uXVFVdaM492hjaZiXKkMpyGCe8ypjGE7w/xjGu2hV9PYDLbFYrpgJ+tVqemzEGfBTLhDZ3qTXL8zGGINLz7/Pr+25sVa25mXscot0++J6QPVPy1NmjnDRbOYtUbqHsaW1kK5ENKU53NysyNdRWiuxpmqlai3aAjiijhEyYIxbJbE2hxMyUcPfKCtcsZ5E24MCHULYyphQEZTyHbHPyK3ApXXyfy8FRu5oUJbi8KlLAYZ5EBU0BLinxEGsWNbDI9CrnZNK28DKVLpFA+gi+kkMwicxKa9moIdIMY6xIVgsR1VpLDpNkmibxzBptscYxxyDbibKh9SXiJKVCVrZOvFQhYTKS1RkCpshitDWEkp2HEvmFK6ChHAKpbKOWjbUqjWntKkIsB1cWr2UOckguF54xgoefYyy+qowKcoHHYnpfCt8YM1OIsiVUCu0scwg0BTeOFdnkElFhrRwiTgvJrqrscYMuKoBUtlTFHy26yBLDZCX7MUojqo8+Eck6HX0glgMk5iJvXjZ8yjAVPxjGyjQvzswRqiRNhUfhlEYZJQTolJklsBbvPbUWT3RCaJXJSNRCverIQZettCa6ihA8SWXxyKBJ2mE7ja4M3/3gPbrTU77y1W/wU3/+51DAs2dPuLm+4od/+IdYrRouLy7IWVHXIhOOSeAHZEXyWbIum4yfR3Il1Gp0xlaSiaZKRIYxmsnPjONADpITGX0gGIWfgxj6Q8S6WiZt80Q/TCSlaVbrsrWOxMmXLOXi2y4U4GEO+NRzeV8kk9pZYk50TY0fJ4zTVMaw39+y2pySc0BpAzEdhzxL4ZcT1FWLUpppmkhJonFCWnz2lOeBXINZR1LkCEUKKYrPvcDuMBo9QeUEPtJ1NbbSzCU/1gcvPl0UGoOPmX6cefe993j+/DEPXzvh42/f58G9S/w4kXIizLFApCzZLjvNu2HWMgRYgHDopXGPNI0jpsxnPvMj/M//F/8iX/zCl/j8H/4hj+5fyCCwDIuWpiymTNfWhBD4t//t/zurt9/k42++QYoKox03N8959NpDfvZnfoqrqyv2uz1//a//dayCH/nhT/Opjz1C+YmHD++RTtfiRS6DsCNmqfjJF9jREgukS155KlFsFFifMYaTkxOa4hskBpxWrLtWJPAxsuoayIn9bsu66/DzjNGOtq0J80yI4bjR0IW+HmM+NtsLFMcaw2bdseuvUBk+fPyEhw9fIwPb7Q0Xw4U89+qKIIGj5EChJnNUFsQQpNE/kUxJU54hTSV0bKMUQSWSyphS/PKKpHL5TB7cv+TP/fSf54/+4A849DvxhJfXIdyEMvRc1Ctqkarno6KFo3daHRtU5yz/8POfZx4n/rV/5V/ll37+z/NHv/cHDIehFI9iMUkqyJatbJ2J6QgW9D4cSZxKL0R/uLm55oMPPuDe5TnKKvxhR1UJOOhnf+Ynee+99/nudz/kT//kT9mcnPDGGw95/bWH5JgJOUOamXyBHBroTioikbTIvrP8g7mceaOfWa9XRZmTZCsWS8SvQmTdS8GPotIWhaiwQiyxa9aV1Jp4hNjJ0FQzTgOz99RtC9sdyQjJVFdyb4cw46oaWznqukUbxcnJCpRmTjO1M+TkJU4IhVUKlSJWZeraSkSdAqcz1imcgdXphjT0aBJtbalrw3pVo1ViGgdWXVtySZ2cGznhCqdiUTP1fS+WJC0KFq0NVdWKR4+yvUpSd7R1y6wmVquOe/cv+WB4j6wy6/UJbdtw2O8lYmgKaCQeLaWKupLIQaeF9VBZgR05J0AlaTKXukee6wvg0+hSFx0VeDDPIykFxrGnMTWEgAqRzdmKq5srxkkGH4virKkqpnkElZjCQF1biBC8pDnUzqC0DGcXMM0yODCmWLGsxhlFU9eybTVKpMcxg1G0XUPbVOgY0FbTVI5120oNkSJN7Wgb2eCKgkdhrYxKnDaYlHBGoVXGWEVIoj7RCkxtyczUlZP3rHLSPGRhL2ilCIuP1AcBmWnNze4aVMY5w9gfeP3NR7z/wYe0BZBZ1wLx2e33hJSIGaqmZZgnhuAJwBRmTtoV+8OBupG4ORdl4LNp16zbVZG1zgzTxKp2tLVAUDWZTdOwamr6OOGMYp5GmqoWRaRRdG3N1X5H3bRUlRZ/fo60laX3M37ytLWjcbZ4nS3jMGKdNC7zOHB6csLZyZrWOa6VR5MYDmJ5OT0VsrE1GlsZ4XKUvNyqllQFjKJua060wZcYNYulXdVsNqdiP4yZm9un+GzFOlTVjMNMZawkQTQCwwxzpB9G6rZjyJnn+4F57On2YrmbZs/sPX0/cL7ZHGMSjXX0IXKzm7l/WfPRfstQ11Q5c7JecZgFvvng0T1uDiNdt8Z2a5q6Iux75lQG43VFbRu0qchk2mpF24BRmcM84rcBw8zZyTmPNveYvt4T88zF+X02bcXtzQ3OVdxut4R5ZJomuH4pfBUlrIWb2+0RrOvniRTFi951NUnB7faGB2eX3NusuH3+gtN1B3pDDIGhH5n9hMGVei2SFeyHAVs19L3EGs6zNLY32y1nF+cM/SR8mspitSmef0f0kd1ux7pdMQ8D/XZL2zRs1itijswxMPuRulI0rsQKeU/XVCQnD5R+HnHuf4CNbcqid55DIV+ajNOWcRqJqdwAVcU8j8eDSaBSAolZJMBLU5uLb+hITi7B2zmHAlrwd01LianI6RVgySu00GXqt2SYxig5sqZEpmRyyXwtQJiyyTh+DyWbKJGyFRpuEniKAHvyEUYV45KrJwZu58ydqblsYFOUoi6V33mePV1XE8r0LiYJQtdGZEoLXNsacyw2FoJlRjGNs0xvVb6Lz8i5vC+xFLLxKDs7vt4k282QhGDnvUc5g5/j8Xtk5PdMBUJlyNR1Q4wD8yRb21y8rzFIULJ2jpClKVAqM4fMOM5MIeFqJRvpnIhlgxOKryGXpsmVXOI5BJQR2bfS5hWGaqEUF6lhjOHOM4gqsAsn/RhLBmKBdhl9hPCUWEqZ5BdPmfjg9DHGY4mTkGlQkXK+ErmjXtmkibxZy6Y/ye+o4Dh9lM9MGluyRhuJf8EXb7DOZRpfSIJGodE45aiMwcck/JmkaesakhJZM5nauRKtpFBGMQwHYpy5fblje3tbVAmO1XpNt1qV9wCIhZxY7jUhW0pBPY4jq7aRYr1IckMQL+k4TtRNIb1eX+Nsw832ls1mQ9ai4LjJW6EuhkyOWaJ0tERPhRBYDPCqSP1jTMw+kEm4AtHYHW6xVYWZR5yxAtowApGp61om9SU6a71es9v3ZaNT3vdXNvoKhXUalCNFKXj9MJZJ9Z3cXRcf++IH9SXuyeRcnHmiNqmsYb1p6br6aEPw3uNjYJpnQpTttkUyCre7Wx4//oD7Dy559OghF+f3SVGiUNq6oe2KZ3DxGr8CXFoI8UczvLrzv/ng8SFgbcVf/kt/iRgiX/izP2O1auQ5ou+K4FQALQmoG5kg/8mf/DEf/t7v46qKkDK/8Ru/wS987ueY58AXv/glnjz+iG9/82t87etf4a033+LkdM35+Rk8f4p1hirZo4zuezJeF1BaeR8XCa+KxSeaFwhPPnrltRZCrz4WpUsEG0Ue1x7D2TMwjCPWKtniB19o9/JZdkffGMzzJNuVEjuGMTx6dMmzF1fEnLi+vub58+e8+fpD3nvvXR6+9hoxpqMlImaxR2htyj2vyVk2HqcnJ1LQlmtMLZm2S4zOIkl/xVv8ypMMpRS73Y7vvvMO3apjmA4l6mGhk3Pc2C7wsJwzBi1+/Vd8nrn4sMmqbOc0IXq+9MUvcXu75Rd+6ef5n/1Ln+Qf/Le/w/vvv4cudhtll/jUcs0V7+7xOiyDi+OZi+QkbjYbnjx9ws3VFh8DTdtykcGsVmzWLT/06Y/z4sUNT58+46tfueHxR8956603uXfvAsWeFEZinLFGc3J2SsqGOexpmpr+MGKMI5RnqzKmnI0cz2ZeuSXuGBf5TtWV4rGx0daw2XT0h720nkodY/aWz7nrOpS1UgNYi0qSyNBUJUorJYw2x/O2a2tsVTHNE6tVS4yB2lW4qqZ2Dqc0p3XLxdk5YR5pjWNd15gQ2biaVdtyPY8lH10sWl3bEkOgbWpOTzYc+l7ys20pBq1EtFgjRNz94VAIzxxzrJcNoFJITnlV41yJc0ktdV1xdnrCfP8+wzhSN51IZq2wROT5DPM8405OWZUIkVxiUzKpSDg5UnbHaZSkgmNOpgx+Dvu+UHkFvHg4HApXoS3DxSSfbYa5eO5ySoz9yKrtaKqGeZrFFlZ8rSzDvpiY/UxMUWKVKgckoTbnBbOWj37gGCLJJdbrlUAbC++DRWlX/pRoHUNVuyLBlsGCDEEU2Uqmq3WiVmubtlCNRaqtyOTyGda1I+Ug0norZ1XbNOQYqerqCALs556YIz74o6fZli3qNAmt9ub6FmMM4zCgjSlEfbn3Fwil2OB8SU0w+NmTWzmfKgWTn7CmZtUJkGiaRvpxFFK2Lu/p7Iv1JpRIKKhrh9IZ74WXU1c18zyx2bSYfCZ+6jhjTKRpFMZEtPfM04H1uqFuHKt1xzAcUFozjD0hBnbbLV1bo1kxjQO2nFm7fi+2Qq2JUVIDKmcZRuG/tFXF6ckGFTwxek7WHb6DKSaUhpgjddWRQqBtGubJy+8cI2mO0lh7I+BRo6nrllAG5+fnp5ysV+KJb1o+8fbHcG3H9XZHSJovfunLmDJMsYA7XRFC5vzefZRzxASHMRLGgfFwwNmtRAa6iq47cDNC//LA09uJOM0ycA+Grl0z3PYSPRoyxmpuBs9ooWscfVacv/YGKmV0VaFdi2s6AopkamZlmLIh2Zrm5AKaE6aXL9mPntv9AaUt2lRszhpyCpxuOsZhYL/bM80TdV3TnZ3xdC92qU+9+Sa1svjoqZwoHbVRxOQxWM7OzjiUQfXV1RUhBLq6xTlLt+qYxolDf+Dk7IT9fk9Smt7PpP2eB6evyTMqi/qkbRqIkdOTjQy2EW/3erPmfNWx6Ro04i12xhFCYJxnVps1w6Enp7uz6b/v6/tubCVDUBOzBOxqW+ih2kpkSMw4b8lEpiCB7UmBRra41jlsVSJ2sheZVhKiV4wiJw5BNqMCkpmJoYCdqla8b1E2thLhE4tnNjHNoUjTloNapt+ucgJjKrE9xjrQHON59Cv+vJAyumDhrZFoGklYF5mqSnJ4phwL9Ed+jitZuLHApRIyrV7kykZLUcgyPV4yU5US6mFSzN5/T8REXQBMKStcVeN9xBgnwK4iwVrogoXRKzKVLE6D2Ue0soSUsI0jzOHoecxzQDlzNOWHMo0JOTPME+umEfJjiri2QRvLYZ7YH2Y2dVu8AoE5Q7WSSWwOAZ8Ttm3xWSacWWuMs2QlpMRXpd4hpdK0Svh8KJEj4nMuUsyy/dVa4acgsgYlCHkFRxCFyCPlPYzOCHm5FG+hSBQVknVKueaUSiXqwJKTDCJyVmgl0lutNVHdQaQWFaDSRradIkA6FrEpJoyzuMoyTQJr0EozTJamqZjmQSBNWoBfzsi1ro0WP3qRNZkl0qiQfn0IOJV4/6P3sday29/Klre2bDYdGTmomrpiu7ul7/vSELxSCC/gmaywxuKcpnI1XVOxWq2kGSgFyn5/QCmNaSVWKyfIBsl1TLJNn0OAUXwP/X7Lg4f3WbUrpiFgdaBrag5jZFyGMYWMiBbq8BwSs5+o0Oz7QaKknIDAkg/kENkfBgm5943ch2j6YTxC0LL6x/q/rCT/MGeRJRb54l2mpzQK8zzTNM2REJ1eGSAt6gey2BK6tuH0bI2uFKjE7D0hRoYCjoqpZNaFgKkgqYSfe84vTjk5WXOyviBMGe0UXbMWKe/ytF3uhbxkF5fnzhGqUoAZlEzP4iv9pV/4Jd544w1++zf/DrfXt9RlcFg6S5noRyG/o1LxJWYO+xu2W/HNxAzf/OpXuH7+hOADwzhy2O/49je+wtXVS956/TXmsefdd9/hsuvQKmN12US+QupVxXercyYvksujJ3QJkc9HIjclSkSV57Q2MhiSezJgtEVraGopGg+HfRGzSMyTAN4oRdFdDNoy1Kgqx2azZhgPMgCKgYvzDRcnG15c74kx8OGHH/Dw/gV1XfPkyUfHzeTdl8K5iqbp8HOAkjE8TxNV18gQS5VmKy2Bd7JYl38m/kyVMiUgVd6T0py9++57JKKQV73nsC+Dw1T81CqWb5SOr1Eicpb7+ZUcv+LJjSmJYiDPvPPOd3j2/Dl/7s/9JL/4q7/Cl7/0Zb78Z38mdh1U8VHmArG6u24WQNDyXi4DDK01l5eXnJye8vTZU7777ru8/+x99jdbVl1zHEI8fHTJ6dkpz5+/4Prqli9/Zcvp6Rmf+uQnubx/ydTf4PtrsjIYa6mqitPTU5Fg58QwDoU/ocQ2UjbeCsmgjzlhMPKcNuX9yLpApWRbqppaNs85U7nilzNKMk9Lg5hzpm4bfEilgDPCwVDyPhpbMY5eSMwFyFhXDU1bY7Vi03bEyeN0jTEV/XbPRbfCxcDDiwu0SozjwL3Vml1MVKaiaesim7X4kkBQV47USXPb1BUplnxUJ3EmSik2J2uubyqatmW335fBeznXQqKpG8lTFV0vKUqigNaaFCOrtsVqzZuvv8ZHHz1hirI1mWcBf1IUX0sNpLTAvZSWWJzJC9vVT/Px7J6nGSp3jHHJOdPve9p6vUBFGMeRcaTUYHKOD/Ms9RGJ69tbAdm5iuEwYnUlEtJxxnQ1ySesssQ5sbvdCk+j/JUzco6mwDSNx6G+94EUBVQ1zRO3t7c8evToOJCuG1FBDcPINE6QMn72KJXQWp4/SmdinPHzQFNJ4W6doVk1Mjy1ilykm5WrRKkx77FKUVWGfhAScVtgpKcnJ5ACxmrquoFiI5nnCRAmTF1VdKsVWl+JX9xV9Iee3W4niq9ZJKF1XXN1dUVK6ShPd6UJWXgG/TCyeXhKP/a4ylG1lVi6poGUEsM4UVmHVgK/ikvaR7qzIsx+ICbHNI/UteQGpxRxpmzXYqBtKprKcn6yJoYZnSOrrhL4qRXvr/eey/NLHj95zH63o3YG70di9OgQxfOcM5UzWC3qgJAsxgidedWs0Lqids843WwwOUqChtE4DK2taJqaQ7/nom7w04jVDfM04CqLGpL4kI3GGo1Ji+0vFZ+xls2y1nRVRVdV5ByY/IxpOvGwK42txWfc1g7jKrpVw+WjhzTrFdo6XFVjsmV90hBCwlqhDb/18Y/zYJ7xKfDWWx/jv/07f08yuUPAp0DWK7KuePOtj/Gtb36D9YnB1Cv+8ItfpXKOuq4kzcSLtP1w8Exq4Hr3Luu24fr5S9SydDGamGTpNM3SkF7vRoyW9JCAZTcEsq5YbdZcXt5j10+0zZpnT1/y2vl97l0+5Nvf/TZzBGUc1lTEGGmqhrPzM6abGzbdCj3NYMSeIvYizXaeWK/XpXaU4XBdWfASEZTJ7HY7mqZhGMdyVhdPfF1zNk3MMbA6OWG96pjGgTQNsgBRmeBnmsqxahzDOHy/7eo/RWNbkO5S4Gv0gnnnzvu1O+yJwZelqoBtxmkk+cR6c4KtbPEFyMRl2ZqkXLDnWhNnj3b6WHQeQVjFv0gGVShrlPyw4/fLdxs2hS6+OWlkj1CTLDlduWwFVRak/zgUIhuJGPRxOqyV6NgFX760C4jnUIlfWCkl8CitGA8CA6rWjQAUShZfKlszXUA9rnIoY0gxgJYtQF78K1kVgMNc5MCykfTFk+KqumwVY6GMFj8V9i5797iZylhXidF7IQVrwxDmElAvQISQssgsS/SBKn7KMAcxbisxy1nExG8W2iYitfFBlRxQmcZqZe4kdkXyqa1FU4YSxmKtwaclI1eiomY8MZYogyzDDNmiSpG8bHvFyyBb7xgCOcUi6TaYAmVRSGZmfCWzVC1bCrWQrmOROUuRK+4pg8qh0GXL1lGCPlBZPgtrssRZOYvPRVJfJEdV5WiblnEaOT3dkKLn3tkZRmv6w4Gqbbm52ZaIjUitjEyjjWPwM6ZksYVZtlMPHzzg/OyCf/THf4p2CmdqmqYjxsh+v8d7z/NnL/iRz9rvkbcuDYjW5hiYXlc1J5sVm3XFo0eX6Bjo+57sM03bCPWuFllaJDMPnpw1222Pj+BDoqktIc5YW/HkyQvuXz6gso7rcUsom++cOXoichlU1W113NwbW8kABY1PET/PR/hY5SzjMACZ3W4rWx4vBWdc/IwUSXHxBoVCWjXOlsb1Dl4lmzhRERhjjs8yUYGIZ9ZohSoyY6sy602LtVLwz/PM5GcZAIVwzKOMZWumtBCkh2Hi3sUFr732iLbtqG1FW0sOpFZ6SRO4sxYl6dCXZ5xSS9O2MHMTqcRP/fiP/wQ/+VM/xZ/9oy/y5S9/RXz1CxK+qC5iCGIJSImbmyt2VY07v+Df+Zf/l/gM1i55ovEo5atKTJr3UkRVVcX52SlNka0uIDFVit+FtExRSqDuiLVL25XLs3lRXLxKM1xAfdLcm+J1lP/eaMNqvaJtGna7LeM40LUr2TQZ8fhK0EoBySWBs1lXMY2R3W57d15kRde0vPH6a1zffJMcE9dXNzx//pLXX3+Npy+eLn3d8WtRBfV9j9bynJ7GnpvbG1btg7KR1scIHXmZ+W54U+jPslF9haa7qD4QWe3FxX1+5LOf5W/+zb8BCZTLxJAhC12UfDeUWaA9xzzd4kdTrwwKl9ecs5Apf+/3f48XL5/zy7/yi7z+2mv8/f/27zEcbslWom0kNa0MfY40sIVSK2eRXtQuOVFZw1uvv8HF+TnPXzznm9/4Bi+ePePhwwe0XUvTyiDotUeX3Ls44/pmz5Onz/jjP37J66+9yQ//0A+xOW1RaqKueoy+AW6BRIyZfphl06Yy0ShRxRg5K0MqtYF5BVNWms5IoG1b8S4aS1VJtJvNtmxoHG1JE6icFGvGOnycReX1SpIAIRU4pdx7kuUaUGRqV7FZrdl0K+Z+pGsrfMh07ZKbGjjdrMTykzxd07DbbqlqQ1NXWGsky3eOsunoGpw1jIeBk9WKHMTyU1cVg5Eh33q1wjpXcs3vAIuLh9Zq2daaEqOWghdP63Q4xttJFI8sFa531zKIMgY/DBgrcTExCE07lk39PE1HS4FQaIXYP44jiiTn2jBKw9LU5TpJ9IcDKUTx9ColvnMF01joySh2t7tSO3lhZszb49k0DAMxR6Z5JuXM/rDna1//OsM0sd1tiR9IegBKKLAhCj8lpoT3Agm93e45O/Pc3G5pmlWRVAasM4SY2O/3XF3dUDuHrSzBJ/wUSD4WhaHYdcZxoqnbUv+ZY8a1hiNo6zioL/ddfzjgrJWEA6BpWw4HIRir0kxuNis+eBxoWvEIex+oii8zBE/QCmedEKetxTpH3w9cnDfc3t7Ke+c9yQd0BmcsOSliyNTrCj9NxCyf5717F8dh/DRN4ouMqdz7izpliZJMsmX3qcT1SCzWQsGOwRPK68hRFF1V5YhxLhBKyxxmYpwxWoHRTP0Bh6g4UxbFXe0cXddClgzgsOTOp8h6vYIgcuQYE2me0TmTvGeeek7XG/q+Z3Vyii5yb6M1+/2Orm7w04SfCoAprtge9hgl72eYJjQwz57GVazajspa/DyxWXXEyzPGGDgMB3Br3vn2t+kah8sRB5ysVrSNYbNuGPodptj9pmkm5UBtrEAogyIoAZYFLfGE/WFiHj1dW1O3rSiUCt9ns9mAMlzef0jXtmj9LaqqpW0lI9q5pX4LrNYbcgw8ePAau+2BwxyELF+aPe898zzxyU99kmnyvHx5Cw8avvXO1wXYV1IhmuYpoJh9xtqa7373A842a66vt6w2G1KS3maeJjYruL3dkrOoC1pX8fL5S6ZxJCcnTAvrWNUt+35P23VEwK46cswMw1yAj5LVG2PkdLPBVRUX9y6YxlEWK8kWafUOo1IZesoyy2nDer1ic7Li5cuX32+7+k/hsS0PqxDnY3SNkI8TTVt9T+Mrea4UOFREOc0URZaZbCqwh+XhWQoEcxcB5KwVYFOhlk7TKA9zSa4lpCiTKwPBR7ASDH5HCJbKMcSIiiL7XabA1hYIQ0qkkAk+Fz9sIoaJ2triwzUiGclI4PuxTDElIwtcVR0PQV98QqbEUXg/SyFti5xWUQi6MuW3zpGibLcpGZpKCaF2nj1KaYbgcdahC+HWGHvMjQ0pioxEabKS156iAKqsNkdZ1eQ9xll0kQK5qiIb8RNprSX7VWt0Eh/rHBM6FaJuoc7lIoFr246NMYzzxD4GTCn0zjanTNN4R/XMhcoZpalRQQYAzlTHoUKKuUDEfEmnUMe40WUQsDRGS1SQyZLFW2nNOIskmhgIfpSDNWZaaySjbSHlzhPVElmQ7iJNjzTrtGSRluIB0EmK8qXek/jF0kgrSDlQWUdbOTZdzWQVWSs2q5Yw12zWXSnOHR978w2moZes17ZDa3B1wzAMdN1a5E5Wl2wvRdx76nbDyek9rq9vBWoSYXc70tQbQoi89vANXnv0JlVV8+jRI66vX6K1oWna4uvmGHKutAwMVMnJldxH2S6jJCfOGUdz3uCTABaurrbY5oRxmtDOkCPE5PEhE6IoAmK5z/rRc319Sxo9OWRSLpCvJDEbWqljUHrXdiLjdDXbfmI7zmRjOYyD+Oh9kGLx5JynT5/SdWekmBhmuN09o59HkZXHXNr38kzKufiPMq5samNMoCXmAST3z1qD0ppxGCS6SiuJ/8gUj1pGWcPmtKOqMjl5fJRD2Oe7IibnLJL3BCpb+n5knq+wpuYHPv5x6lrImG3dFCK7yNeLEbRQotNx45C/p9stQ4GciSkw+8Dbb3+cX/31v8h773/I7/zOP5BMwRIxlHMSAFBKsiFQ8mw+3Wz4KGeeTBOnp6fHhmB55t5tvEt3V7WcrlrhA6TImDLvjyP7RRq72ANeiSNbGtJlm7vc3IqM1XdQEP6x5jYXxYt8T7GG5EJVXXcdTVfTX/ekFDkctjx68PDYQKaYWHUdcxhLVJvBGC1gtFe2EDIog/uXZ2zWNdu9J3jNhx895t79S07PL+4YB2VTn1NmGgfIJT4hSKZ5iPfugGOij5HtvirshtLYqpL1o9Xd2XbciCktlE6ree+773N9dS3XL2U7azQkWyLi0vH59er7tsiWeSWO7I6cHMozTNQ8X/3qV9jttnzuc5/jN/7yX+JP//iPeP/9b5W8SHVkNGj9vVLnI/q6kLFz1kcv8Em34uTtFRen5zx+8pRnz57ywXsfcXZ+zuX9c4zRNLXlzTfuc3a24oMPPuL997/Ls2fPefTwAT/0Qz/A6cUZ680JZxc7+sOeGBKf/ZGf5rf+1t/k5vqlZLAS5cyw4mlXSmNlqihRWAUGUzmLNqBNwjrxl6WYGJPHFPm6MYrK1Qz9QFO3zJNHW0fMoFPCGbBaldgwTV1XQKSpKw67W+rqHGcNXdOwbmv6ymLbln6YODtdUzvNyablZNOSY2AepZltq4qucbSNxTkBoORsscXrqcnUlWbV1Qy9KMTaumWndpAiVe0wVrPqRFY8FSaGsAQa/CxgLKWF+ZFCZJh7rnfXNHXNNA2MQ884BYZpZHfYYwuhN2XJkDeFGJyz0PljCMzBMwwD0zzi6qoA/QLRj0SrOewP5ChWp3kcaduaeRwIQZIQoo/4IH7npq2lwTXSLPkxFO99JBKAzFD3DNOBYYa0DWhTYazjO999h/14wFjLs6tncPVc7DR7uLrWvAnSmM8z29sdt7uej568ZLW5Rwjw7OqW3TBxdbslmzNm79nver729W/y6U9/mjxNHPajNB7DBCZjdSUqwJyLAk8sNkYbcsiEOUhkU/QCsy/b/lzia7q6ZegHiWvJiW61Yg6Bfb/j8uycy8t7nDxesz/08uwzGoOhbqXJ7A+92M2yPBezkutiGASsaJ0T7y8Kq11pOCUT+uL8XBYdMeOs+Z50hWH0rFwNyogyJkcB8kTPOA/EbBgPI1olSbTQCu0UHhiGkdPaooqKxGqF0YmkIiqL19iZXOyAXjLm55noJ/FXNzU3h5nV+oy6ZA2P41wk76psygNNWxNHIEVimI/31tnphn6f2e8PzGHior5PKEPdqpJmy+rMOAzEOFHXG9wAMXh5TgBDP4CC9WpF5WR4rwHjZEFhdKJWmqw0Hzz5gGF7zeryHsQJnR21hZOuplbw7PaadVORir1ARalc4zyTjSP6SeyGMRJD5Gtf/jJTf6CrNMSINhXRj+AqYgzFtgkfPX7MOMpyrXklkWCxJIUgYDQfE8M4A0p82kaG1apy+Kgw9QqdR5pV5PLBa7z3/vvErNG2QltLyDKE91GxXp/TGsuzl1cY23A4DNIAa8t6VeG043AYiNYy9SOH2RN8KPe1WFO1sfSHA7Wr6JqGF9c3VOuOrBQ+JaabLataJMZV23J2fsb9y0sqZ9icrOlOTvjoyTNWm1NW3Zqutux2N0I9HxUxSazsZrU+Dsa+n69/qsb2uCVJcpi7yh39nNY4WULEdJTlGm2OGPlx7EuEgUwXckrkIjW2xVMhPlF1zIc0SuJZfJKMSlcyNymbwEV2p400tguYyKc76EbOJWrEGClKbF02iYi0Jkv4+NKYey8bD20XeqT8u7b4eEqFePQkLlm5xhrJKixNWY7iv1WlOQzBg5b3pOk6KAW2Lw280hpnJTTbZ5FMjCXbr7OmQK5kgxiXGCBnySWLr21bwuTJUSZ2tnIk77HFN2pdLcVblimcylKIWVMa5dIQeR/IYaarnDTVlaKfvUyEppm55OI6K1NjH2ZePn/OslDIhRKIEtkgJSoJiv8lizfbGiPSMW0ldqJExMSUpJHPd421cZL5tTzUU07FfywbtJRhHCcqV+Nnj63EizL0A7qqUVbLxqxIuWTRVGibiMfbGJFwHaOJEMr0si1RSh99yJJXLJ5XpbXAuGIQ0mRVle27TMetq44wKqV0SWGR675tGlKMAsbxkWmO3O73bDZrPvnxt/na/G3Qht/7/d/FqJppGlFKc3Nzzc3tDa6W6fHTJ0/52le/yi/+/C/w5PFjXjx/SgyRT3z8bc5O1iit8SFQV5JnOHpPvA0kDMpH1us1wxCo2jWjn2hPHzEHg8ozL18+ly11IZFaK7EGIQoNfHNywrjvOTy7xm3WDPPEHLLIaCoZbriUaV3DxeaMp1cvOejMd588ZvSJVdUwjSNtVeODeFdtdcrq5ESC1EPiZrstmdKyPUylcV6GRLkEhOfi1xfPqVxTi5feumWLU9F1MljQ2mB1zbOPnqCdpqo0m03Dat0WCncg5IhPUlzHFAtsSi50afJAYThdn3Dv3oPi4RJPli3AJKXMne9SqSJ9z0dcwLE5Ob5G8d7HkNhsTviVX/t1xmnm7/ztv0PfH9BlS7o0T4s/c/n+i9znaUr8ex9+WGT3QkMX+aU8ZygeTWNtSfAT6rmfZokuUBnjJP8v/hOIhEsszTGaouRSHvMvX2me717jHclacrHtkZK+ED+XTbTIxrMQobPI8HLUkvk3U2BB0pg6a1mdrpnGUWSK5bWtuooHlyfc3H6A1Ybrq5dcX13xxltvoDIcDntikEFNjMUiYgVOo5ViOOz5xte+JvJWLfTXH/iBHzgO+5YYEMh3DWL5bFKxQuSlcS4u3JQS11fX5Bx58PAh/eFA3/fF15uK5/VOQr+8f1prQsh3Q+Tlc8h3vIqjwzdHPnj/Pf7W9Q0/+ed+kl/+tb/Ad771Bl/4wj9i3B+onb47q5Zt4Pd8Xhw1/0YpdBIbhzGGe/fu0bYd9+5d8N577/H+Bx8SYuDRowdHaedm0/GpT73N7c2ep09f8s53v8mzl094++23ePvtN1ifPUCVaJV/9td+gw+/8S3e+dCw3W0Z/CReRF+4DCrjlSgBjBZOhgyyoaoroZ6mJCCwOWCcYbVasVqtoGyF2k5e5zTO2HKNLjTxk/WaMI0Yo8RHGwJd27K1lrZtZfOjFZUzuEqzXrfMfuZk02F0kVQaVejAhs2qZVx34qHUWry4RhODZKrXzhGN2CIWJYk2kim+P+yoqopDv8c5YR/kQkX3fmKcerRRPHv2RPyywaOyZnfYcjjsmMaeFD19f2DoB55fXTNNQqyfZk9T1xJHU+IW27bh6uUVrjwn+0PPlXlJVTnWmzVKKZrKSQROgmny1HVTtqa+2MFEDRJDuQ6TDLm8D8fsYWedJBcohdUy0K6bivVmTbOu5PUFj7GO2QfG6cDH3n6dlCPzXBYb1rLfD8x+Zpp2x+fHy5trvvqV7/L0yTVV84ScEpVRBD/zwYePud3uWa06pinw4e0TtHY8efIRzhqur7dUTuIYOfrbhT+Rc5aBgnVHZUdK8veM0fSHnpwywzAQppn1quPZ86fkFCUX+nCgriqauuHDDz7grbffQmklA24j7BI/ScSlqyppwMhMRfWolWYaZ1JXljAkphI5E2Oi3/doNG3dkqM8j6bJk0s9p7Vht93JYCqmu2VR2Uobo5kmj6tLPGGK+NAXC4iAUIdxIKvVHXRRFWq74jiwW5gwVhtS8KgUQWdOT9e4quL5zRVQKNNGiZc7SeqA1Vr+tJaqM7gli1sZMBpXOy6bC/pdz4urKxkKlIgdpQU2Zcr5nvrEOA1sd1tCmDFWk2Mg+pkEjMYWe08iRI9zch1XdY2KiWSAPLDqNIpZ8p+JWAN1JQDY/vmW1x7e4+XNjq6pqJXGosnzRAwj3kdy2WQ/e/wRfjxQ65lGB1xW4AM6TegI2Y84q7h+8ZwPP/yQnAIp+cK2UYXD4InJk0g4W7PfbQnRH5V50U/l7NaEeSbFQPSepq7YbSUuRxJCRKWVk1Cuk5JFjS9w0KoWJVKKUWKC6gqtNF3dMUYB/Z2dnLDf7jk5PSGGyPXNDSebFYciv7+5vub29obTTcu4veXy7BTXWPw8slqfsT/s+eijD7m6eslmvaZtWp48f46PEBKomDnpOgH1qiCfoXF4nxjnQF/SLr6fr++7saWAC4ytjlsLo62QQePdBjbGLMVe2ZLFsHgjpelNOcrUWGuwHKfGHHNOJcTXvUIZXkAR2qjiucsEH8SPA1LcqFJkleIql6l5LNuFRQIwjmLknmfZkC3wkoWgnHLGTzMqqmMmWk6ZnEse7jLcLpPxKWcqpY4e2aUArOoaUwAEx1wyrSRzKyWyD0J3LsHRSpXGKmdySEJDVrIokBu4JuYylQ8yxbBVRfRB6J0pgzYYNNqCjxFtLeuqYvIzyhpS4AinMmgolq4UE1lGkBhji4xTZF2Vc4w+oXPk0A8CRSirTFcpUIYxyHYaY0iqeE5NKdJSaejiKxLprEg+0vuRZrNCZcU4jVTOgNLiz3SSqxujbDAk5FkKmMPQ01StEFKTNJ9t16GUpu8PmDIhD77ABKa5xAmIQVMleWgIXEs2hm1bS9EfC/Qr5iI3DyXGgOJvEk+o914OWD8f46wmLzKuECO1Amsr2UQnGPoRZytmH44ermkYIckGyBrDrj/cxVAVSakCzs9PWXUnfO1r30Kh+ZM/+Yc8fvKEH/mxH2W/3fHRBx9xeXGPpq64f3nJ2fmpTDRdVeSgUgC061WJPogCqtK9xDj5yDDNGG+pqw5XtVzvXhaJqVCTJz8SY+Te5T1urq85Xa+4ublhHG8l9imDMw5rJcs6DQPKGqqoaH2gi4k0zHjvGUkcphlcLYONck9tTjYorbjebdn3PR999ITtdkdImWbVkgfJQQw6F79yif4o0vlYBiLOuWPDt0ixx0GI7DlJTFHXaj7zoz/GX/xLf5X/0//x/wAqcnHaUbWGqBO72ZNyEhBFyrTdCoPjdrcHZMqsrUXhuH/5kIuLSwGYaUNV1Uf58/IcXDIgl61LLp607/1a2t9U/Hctv/4X/1nu3b/P3/qbf4vnL54fY32We3Bpqv5JXxIhJaRbjCn35523Q5pJddwCXty7xy/88i/z//3P/99FwmjlUERAbAuU7dWG63t/XoGivQJXWpqlpaFd/lxe79JEpjKkdCXfLiUBPp2dnjFOPU0lDXCMiZubW4yVQYMJQkVNJY83pSBNf5lBOmd4841HvPPdD0gx4ueJJx99JB68rKldXQjEHLNSly0/OdM2NW+8/nqBrC14u7JdL0qTJWdVCPgc79vEHaX67vMVq4lwGSKX9+7xiT//5/nt3/otgpdndizU71eBYEcJN/l7hgSvDgpe/TxUGRLvt7f80e/9AR9+8CG/8Es/zz/3iR/g93/n7/Phd78tcl+ri6zaHC/H4xW1KN3zEnO3DDEydVNxpk9ZrX6IB48e8s1vfpP33/+Q84sTuk2HyUKmvrh3wunZCS9fXvP82RVf/crXeP/9j/j0p3+QT378Lao08+HXv8Bpa/nMpz/F8xfPefz8CdfbLWGKUjsomKZAdpYq25JpJdwAbS1KCwm9Xa1wtaKqHQ/vPxIVURl6WVcxDBMozaEfCCHRGYdSibPTM/a311RWc3F2wjQONLXQ/V1RBbXOYhQ4q1ivGq5vrrFWAZEYJvw8EqcBwkz2E2EaCKOS8yR45nGUgW/K7G93eC9JBuM4FguGYre/BZfXudAAAQAASURBVCJaIwNFldkfdgQ/SXNnNNfXLyVeLsLhsD0qssiBzbolp8BwmGiaGm20NF0ho5VhHIfiew0oDcbIWTPNM/VqhTK21F0yWDeFWF47xzCM7Hc9YfbELEPDWMCExlVCpc6yjYtRlg6trYnBoynWLi0buWVwopTwTLR2DINInkMQyWIIUnA3bcXZybo0T+Dchoxit9tKTZk1u92e2fesNg05zyWKTEBITx4/5ubmmnv37uGcLBOur58yzwPBG774pa9weXHOvXtnWFcVH7KXMzhK/bEf9kXyXhF8xPvA4TBzOBxE/r/dcTjsOTk7l/otReZppO8PMnCppJZ97733uL255d7lfVEe1I7nz5/R972oP7TI52NObPuX5GEix8Q0zkRfmAmV4fp2R5gDUz+jssIow4sXL7l//z4xiK3BaAFADuNAXbUM0ygxgsEzZ4n1q+uqsA1MqbuDwNHqhttxxFRtkX/nYgERTkLwkr5BFKp1DFLbWm1xBZ5lrAC6lsWXK2qBME84VxGGgaaqRaJfouycdWhrmOcJ42yRm8+yqFBwenLC05cvWW9OIEvONCi2+51Ei1rHoT8c463mIKBHpRV+9qT+INduDLIJzJlxGImIlN25ivOzjhcvNTnNNPUpOgfK1IDtfsvV1Qsuzk+ZhoHzTcebj14jzp5hf+B2e8M0B3QaCfNIbQOPXj8nXLaS4BI9KSXWnWWeAtrvqbRnf/2Mk0pz0W6I0WPSgDWOysJ+6jFhwOqZxlT021tsmjDKFhvnxDhH5qQIfsSPQhs3WvPuO9/BGfHmz8Hjp0myhVet+J7niXG/xxhF2zbstzd07QqFLOJyDjTrFTZDP/dcvPUm0zRxc3vL2dkpdWWwFvw8oFXN/csLlJWM8aaykCLdqmM3HagqjfOmyKA9h36gqVcED8aJLWLqBzarjqbpSHGmbkQyfuh7rm8PjP6fXOf8k76+78b2OEleput5gZ7ItiAWsq3KlHxTdczfkqlDPvqEcmmSlS7xNqHIhVMWuQWx5PnJf+OqSrwhMQiVzUl1N2cJFM7aSkOQRU6bC81DJSXE1qwgSnGWlOQHxBTQ2kojUqBMixwtpID2upCUJYNRoYkly3P5HyhE8WiJ8yCyQL0ALwJWuWOzqHUuE1a5WevSaJmSsRdjEA9ZFo8nHhwWqypSAD+FIl3UtFXNmMSfZIyDJJtMAWLkUjCKR+PkdMOLqyu0rfBpOsak5JTRzmDRkBNj8MW7FHHGCpwp52PGm1WK2sr75VzF7nA4Ztuuip8UpZkK7KarKqYQyDGAkWxIXTYRPqYyLChFYgnf1qWQmwYPtbhdc4zHzYi2Tj4775nxxy3OOPTHjWzlqjsZbCEtO63RSLMfYsQUf0mKMveKMWC1ISpNKh63UAis2qrirYxle5/L5y7XfAqp0HkV8yT5rPPsOVlvCqVR/Nn7/UBdQuPnAsKKOTNOHm08xlhmn0BZ5pDIxh4zLn/4sz/CvYv7fPThU+bZ89nP/rB41WdPfzjw2c9+liePH8u2yVmaWjJzdfE6VnWNyeJBzSlgjZBSp9GTLKTcE1ImDXs2J4a+n9nf3FA39dEvmFNEGy2QgLItlyJxR2MbkQzOs/yMvGwSIzFknBLvfBinAvQo9FcSxoLKAhFbb1Y8fvIY58RGsN6s6FYtw+x5+vQZSjmGaZKhhDElGzYU+ToFwGWOk2RVfNQKCixEACgHtccYy9e+8jWU67C14+z0DOckaiJHRSyyV3l+ZHaliKHEJy0KhZOTUy7OL9FKisKmae6CxPPiddNHhG6K6diwoL43n1SVZ2aIiYziZz/3c3zqhz7N7/7e7/GVr35NrvESWbQ0H7LtVHeNTWlGjlvU4jFWx43ef1fGuvh5t7c3/MHv/ANieRbc9d35rpl+paldVBWqxK8s7/er22n5PguArWjkj2fKAmNxzCXuxmrDqu4wyhC8AAKnKdBUFdZW+GksmaUy1FRGnmVd8SXFY+auDEytc2y6jvPNmufXI6B5+uwFt9sDKHNswrUxmCwvxhyvbyEsr1YramcLhG0B8y+DuiKpzq82m0eqmZyX8ske3wclZmW0Nnz7m9/k6eMnJXFL7CaKeATfoVSZuOfj53mMrisRNwu4ShVWgdaatLTBOTFMI9/61rd48fIFn/vcz/MX/ke/wbe+9hU+/we/dyQSk+4o8LlQ8uGVj+vVz71cq1XlCgSk4+zkjG9++5s8ffqEYRxZrcQr7aoKaxX3H1zw4z/243zr29/h69/4Jn/yJ/+Q25sDP/WTP80z17FtKtZO8fbmLVanNU+ePuPl9RUhyJZ1GmeUVcVOIQBJ8aVKbmhV1VJTHJkPs7y2sonOBbSlRBcLZDarFj9NrOqa2Vqs07L1jQF0om0ryB7rNFUthWmYJrKfaSsB7OnoqQ2kSfI0W2fw40CaJ8Zporaarq4hRvw40jjHYbtFKYFIBT8zDD11U3N1/ZKmrUVR0g94P5NSomsrtDrF+0jbSFRWZaVR/ejxU1xbobPm7PyeDEldxbl1wh0hMoe5NHpyfdtKAEFKqwKTiuXzrFFJ1ErOVaQQmYeRQz8wTALzHIdZIIsqAjK8IMSyLQxlGyaNgrbSBFEZ8vI4STKoiDGxchX9MIApUYBGlVoysFmvaZoa72emvHirhfEQU8QowxgmOTOBy8tTtLG0bc1hu6OpKtarc5SRTeH5xRmrRqG4xBhHPwS22y2bk4amsxirOD07QRvFPE/0/ch2t+f2dksowMDDMNCtNsSkmObA02dX7HZ7hiFwc3vL61Ga9BgSh74XQKGP9PsDTdvy7OlzwhRIIeHjzHgYUElx2PZsb28LowTG0UOEcZ6ojGV/e6CrOnZ9TzCB5DO1lRij7BMmK6Z+ZtgfiN6TYmToR3QUD1z0gZiWBVQ6qpyqSlRnTdPQ1A1D8kzzxIP7l+zf+4h148jJS/21WCqygDuN0qANzuryfBOrymq95rDbHonmxhq0ViWuSjEXRWHd1rSFar/Q2NddR/CzDDG01F2Hw4QfJvqDeDhDCIzDQMjS8HtlGQ49pMRqs2b78jlVXbHrB/b7PcN+IniYR4+4+CYO/cC9qMgxM08zMUdC8uic2aw7NpuWlDSbTYeKgXmcCEFygudh4vTc8ODePeFzqIzRGbtu0GZDSAnnMkN/zdlZw6qzOH1KmCZqXclAS0GImawjtYO3XnuEJZLCRH/oj/VD2zb4dcVHzwMmjNS6w3YWP1gMckadrE8ZhpkhQL6ecTbT1DWPP/yA5CcaVxgWIZJjIPiJSQfqtkED664iemisJtU1TWXRZHyAQz/iJxkwbFYNJI9BQH4mw72zc+ZppDYaq+DtN99inj2ThvX9BxAC907P6JyhrWusMgzTJOwAZYpKxZFKushmvWazXjNNA6TENM+YtilKSvE6f79f/xRS5GXCZhinQEzgdSAhxnBypjIOXVVS8KPIRopbPxyIKRSplTTE2ljxFOaEKdvCZSMaQiQg29ryrfE+MBdPmiqH/DgPKJ1Q1lGrDpttmXSn45YtlcJPfJJyUmeSRODEyFSiMRQUmZDEV8QyKV+8iKrIXkO+gw9ZLX7cEBMxiL81Ji+hmcUPlNKdTCznIp0tN7IYxMtEZZ6Jsfi0lAA+amUxWbaLOZYszpxLWLg03olSDJWVSsoCNYpRfEdvfewtbvd7kjLEVPLZiv9tmczmBDqJ74YYCkSrbFwLLbbSGpvvQDl+9oRZwAwazapuGKNnpS1BB1TKWEWRc8jEKOWETpKvZowBrfHlhks5MU9SLIY5MMRMUXdRVe4I/ZmmGWtko+ljKA/xXoiXdV3gLwdWqzWHQ4/SJVMuBKYYSGqh5GmMpSgAyjV+LAbFB5RyxKcg8ngWmXo+FqalH0ArI0qE8qCc+ol4Egs90qNQjMOEUQI8SAmmeSIZuT59iPTDRNW0EGbGEPEqSzyCDyWnQwBTr732GlXluLx3Dz/NfPoHP83t9pb1aoXKEjrOK41HQmEqR5ohlHzPrCRCSrdGpIPTDEbyoK+vXpSifWKePCglns6ccHXNtt/jnGN7tZPN9KpDZ8Plx95k3w/EaVrqcZy1ZD+TQhAoRBD5cph7kkqQxcM4jxOxsrz59ptcX72krR3zPDEXSZZ1tsg6g3hpk4BW/Dwz+hldYoYom9FF/i8SS3PXT+VECjN+ilDVfOKtH+Q3/tJf4oNvfYXZH/A5krVmiqFQxUVRkcomTwYZAVfXVHXFa6+9znp1iqLCWkf1SlN7pwK5kwdrZdBWFBzOWblmFp9s8WkuMTef+exn+Ymf/im+8513+IM/+CPC7P+xxjYXS6sUilmlktZ9ZxuVCbspEBR1lNkv6pJXJcILRfb5syeQo2Rmlus8p0wuMWdLt5tfeQ6aY3zMKxtd5L1fPKOvniF34K6EdlXxOCdU1ljlqE2NSjIosrbicBg5WW2om4p+v0XlWOK9DNrkEkcikjaSXBemqGCUday7jk984k1ebr+BJ9PPM0+fv5Tt9eI7LoVZBsZplMl/jOxvr3nx4gVvvPGagPeKtHgB7KRXhijxSHlSRU6sBbqFJmePVgUP+D3EqsR+tyOlxKOHD9kf9uz2Aj7JZWQQX7k+KJ+/KYOCpZHOKh/j1xQcfcuquLhUVlxfXfO3f/vv8MEHH/ALv/g57j14xO/+zt/j+uULlJGtxHHbXu6fJfZu+WxTSkUooY5bZKM1duP4sR/9MX7wB3+Qz3/+8+y3PRdn98qZKQT/65uXnF+c8GM//hnee+99vvXtr3F1teVHX/4Ilxen7G6fcNJWrNcdP7B+i9enS7a3e65f3nB7e4vWAutTxVtNjAL3cTIkTwmcEohfP0gETd8LFdZag2tqvJeHttbQNo653xH9hFIR72c+eP99YpyZ556L8zVaBayxbE5aaut467VHYDT3z05gkd5H2WCpVXtMW7h//+IVj7Xc140zmFVLLH5FHyL7vi+AsEgIE33f4/0kz+kUqStHXVvOzk5RSuCbIU5MPoh01Sr6oS9kX9l8QEQZxTgNvPnW6zx58oz9YcRVWiA/JU87piBSZmQyqEtUniQOKOZR/IK3N9eEpNhue3Kyx82d1DiqKL8U0SdCSsd8+HESW8g4B6qytbWFdm2NZvKe8XaUpAmjcLWjLg21MQKZjCHg53QkHJ+enkqtlDNOJ7ItDZvWuOIb3axazk9OWXUt6IRzFqMSj+6LhD4Uu9ySRLDEuI3jBKrDOs2zZ08Yx5Hb3RZV4ivf/+BDYlICSY2R5y+uefLkKZVrOBwOWNegtPhSb293rJoWowzb21v2uz23N1t88AyHgTEBEeZxloUMipcvXnJ5+QAwhEkG5nMOBF1SRZCImDGMmEZUKjlExn6kaxrGfmCOs8jOh5lN3eEnj5+C5DUrsfEMIVBnjbEnWGtoS2NrLby8vuL+w4dUOmOz1Lvdak0aD6gk57czVpIctAiBYsgS7ZNmuYaKYkYjdrRMOipsljglW9WkUodrrYnBc9jvsEaTkme7u2aaZ3yI3GxvWLW1qN1SkcBrxe3tLad1Iz3JPJHI9NPAunKE5LnZblGjZ57nYj30DHOgHyYOhx6LZp5mQgrELOkermsx1hAnfzyr5jDTjwMpirxeocWqcHvDNI045N6pKouOEa0TIfSydMpL5rrYELPWJb7RMgYZCUh+q8PPEUWNMeLLN8YQoqXaVszTLL2EUrR1jVYyrO7WK+Y5MIWEdXLOrNqWtx7ewxiYppG26xiHkXme8X5GKce27zFVRWMrTG7QBla10OMVMrzXKpOQaLAHFxesWodRgVpX6OA5Oz/Fbjo6LXVIYzX3TjfsxpGLsxP8OFJXhvsXbxBmj11rnl9fYZsG60QtYy3000jXnbKqG1KcSVHYRn6eOaQgA58Qqez/ADm2S0RFVncQixQjFICBdlYOvCIDzgn8HEhZSIS5SBYWY/40z/LAL3IPnKMxjnGaCV7uigV4kmIoHiWZ5PiweB2T4KC1RduSA5szfhYvpzGWqpbN1JLbZaw6EkW1kSxN8YSWzVzKR7kVUaigxiqyE6mIKa9fayP02HlmHEYpFst0XZV4n2mcmSaZXlOm7fM8l7dTIFmkEkZftgA+lDgZLb7QXDZEi7fQOneUMS0S5MqZY/6gLofpNE0Yb3jv3fdJMVHVUghYJRcJPhJ8KpFIitpUmCQUaRURUELOVNbQtS1+u4Pi+4spCWVXG3JSHMaBoT9QNw1d1+FMTdu0xy3R1c1NIdJKvuk8+yNIaBrGIxl29rIltUqa2EXCMwxj8T97mdJbgw+SayfE3SDKgQLVkql7Kh4fuSa99yhrikxdhgzGWCwGZ+vSEGiySoXqumzZtJB+l/jgIhkqbRQ+Bsnq85K/nEpt2/cjwzBwOPT4EBjHkaqq2e/3UiBGiT+gbED2h57N+oysFOM88/JK8jdVkWehMk+ePOHb3/4OP/RDP8znfv4X2azWItux0pR8/etf5+HDB8dbVrZ1S6MlAyMAiiQ9jRNNkab/4Gc+jXWW3X7Hu9/5DlZbJj8X8nikdkLcHqaRfhyIXmKRmqYhJMU/88u/wt/4r/8rKL5S46UpVc7SnJyw6TpeHCQLM5RcYq8y2hratsOaMiTK0E8TSmVG7zkcBpmeb7dYW0tMgbFCwwxCdFxiFUiJysk/s6XBVMbK+1waX2UVTVejnUMZzfnFPbAGPwnZ3WdRQvg0A5rNesNmsxG/SdvhnMilnHO07UoOGKzc8zkfG+rS1pJeyUFG34mGF2DU4o2lSPhTSrzx1lv8yl/4FV6+eMlv/dZvM44jRglqaNnWLt8kF68qSRQpS3NGkf0vXzHLZD8fm8+C31IC5PvUp3+IN958k9/8G3+TVEjTReskgC11t837xxTIr5CSFwmrNFcyHBIfu1YLV/xuc5xK7NfdJjTTdCvWp6e4umV/GPBhsbPIfapKTvniCzVFan98lhbqe1aFhq8yTVPx6OEldfVt/DiLgmK3le3FsoXm7vPo+/5I77TWcn5+XjbBck05547X16tfevk+6u5zLl6WIum+i/7RWpGVNKmqsCEePHrAz37yc/zN/9/fYPZTcfpn1KJwKbRbVZ5VythjNE/kjpAs46xX/L/57veZ54mvfuWrvLy65pd+6ef5y3/ln+dP/+Ef8/WvfJGY5WcorUpGtzoqlJbLVGtdPHh32dg5admOV5a6bvj5z32O6+tr3n33PXlK6sRms2GIh8KSULz5xiPWqw3vvfuEL/zpzC//4s+DNgzTiFZCZnfO0DYtjx7eRynN7e0t1y9ucLaishJ/ZwvzwWoj57gpHrqUgOKF7Hu6VYetnAyvoni5UwxAZLe7RelMmGfquqI9OSGPnmz1sd5RCnxKR/WKQjHNM9M0kVPkZCPZjKZsgxUJPwuIKaUCi0QxThP7/oBzFTFmOS9zFmlsnGRArkuhrEXK6YNnuz/QrTbHrNvZax5vnzEMk3jjjWV7u0Mjkk3XOuFueNl+DqMnJfBeKKrOFG5FlHSHGAKmbmSzYjTr1Yph6AFF349kZeR9bDcFWCf2K++DDDBzPiqiYqHSq5iPtdI0e4wxzEhkj3NOmoRyBqQYpQEbPcF7cvaog+TIVrUTYvQ4stseylJASfZrVWG1w1h5FlpjOFmv6Loa62SIa8p9orVlfxgwxtCPgxCJU6LrWjmf64q6qbDO8OZbr3F7e4Acy6Y7cf/BOSnPjFPEe09TCyn3cOipa0nQIMM8DAyHA/M0YSvHze2W7c2WaZiY5pnu0Avsa9sTgoCc9rsDKStevrymrptCVzYCaDJGFjFKrqPb7ZZc5N7ifxPF2DR6GWYFJRLmkrU+TRNV3dA2ncBWubMvdG0HZQBa1yu899RNU7zRMmSd5wmTM5WrqNxcBuQlnodALtvc4EVq66zDoCQmq9hyFiVFKkTmVIbN1hisc6IqK01wKNe7NeYYBxejQFmdFTm4UYrkA1fPX1JbsVr1h4OwfpQhRuk/VIgl21XTDz0+BupK4nn6XkjfIYitMSoYZn/sSQ6HnsZZtMqM48jsZVnhZ5HSej8zTDPJarRPpBzY3W7JSjP1A721rO5dEL2ndcXf6oykN1gt216nyEqUSc5ZrDLy3LUlhzvJQghlmeeJ5OfSh2VcJc8COQ88ioCfDphNR2MgpZl7JyvqpmYwCWs6ptmXyMWBpqs426yoNaJGCULpTjExThNdXXO725PTgXVTc7LpeHh5wUm3KvewobYWc36CUprKSB4yOaBUYrPpMEDXNpi2RaOIOTL4iaoS9WrtND6IxcMoWTzoomBV5bN3rsJUpmSSf39f33djm8qDK6YkNDct0pGQxA8kEjxLKo2PUhIcPfsZ7TSqTGxilGIh5kSOGasttqpFXqgsIcgFJFN4RV078YKYItErkA8QCbDE8dxBoiibCuusFMA+HScvpQQ7AjNiDMyzbHy01iWXMpWCSYANOSZsXcidWioVY+XBPM3+mGmojZag6VK0WuPEh1cO/7lsEZaNhuTNpWPEydLEl1pSAsVLGLte/GoRcixb7CJ/XSJPllzdmBMpmaPE4+mTp/zAJz/Fze0NhEDTSNbsnGRjjHV3suACC0lpeVjKEOLkdEW/7yV6R8uUqXKOcZzQxjIOM4f9QNeuJVbIGpwW4NU4TRJboxXWOfGjxiRSJ6WYxoG6Lj47bZm2W2IIrNqubAvvYmBSEjLcAmJavDzbndDSTk7MccCglOS1xljUAbNAL+q2BQQYdnFxwdXtljEG2XxpS1RyELu2IzLStB193zP7ePQcauuwCnqkGVcqyHsTJeZIa8s0yeQ0Z/kd5TVININ8vALt8ePE7MUrbJ0jF495TImmbXnx4iXvf/A+2+2ex48fs98f+PrXv8n9y2vuXdzjrY+9we32unipwlFOqJTi5GTD6dlGNqzTDIh8RylF1dTs+55hDvy5n/pp/qf/8r9GjJHHjz/i//Jv/VtYPWG0JgSPNZaqa9lutyQVGQ8DZ5sTpmkipZGYDcPs2fYDSinqo0xVYbuWH/2NX8M4y0f/zW9KjnLZANXWUZeoDrIMDObgifOID57r29vSCCi6rmMcF0+9bB5mH2TjT6S1DZRp6FLEO+f4F/+l/xW/9w/+LofDrWz/a2n2tTFMoZcC3gjVXB836AFrKt5882Ocn14W/7ClquuyHS4S0UR5niEF/LHwXQq/dDckQwZ0EfEshhiAdPysFqjbyekpv/prv05K8Nu//bd5+fJlaQpBAmOEHk5pZlXOqPy92cXHhuoVmFQueb9LUaq1vfvZKfHi5RXPX7wUr/6SI3qMUyqb25yO2/ClONKvZqtqadCkWV/++fLyxetstHlFEv3q+ZKw2vGxj3+Ch49eZ/2dd3njrbf4wU99mq9+5auAlnvQVvhpL8MTIwqIIpApm2IlXAZEhr/YTJy1bNZr9sON5GxHjyYz9L342Us8GUqum/VmLVFttWMa+6L0kaivhw8elPMmFSjh3VuulPz8ossuyQBFDlusLRTwlEwRZaOqreZrX/sKT589ldeVDEqmqJC8XDfqFRl7kU8rrWTjk5HP7kjWvvv3FtesnH0QQuajjz7iv/ov/2t+9Mc+y8/8zM/w8NEj/uSP/5Cb6yucM8es9+WVLZ/7spHEcHevFXm1MaLeWa82rLoVZ6dnfOOb32C7u+X65TUnJyfy71rhU9y7OGfVrfjil77Cl778ZT77w28T/RZVfPMCZTLHJurkZC3QPhmVEEPg+uoKZ0USXdVV8WhKdN3l5Tm73V5URcZwGAf6SRRVm01HXVtO3nyN6D06RdpKocKBNEYa5+jqhloHTJLzJAfH5CNoUT+NoxT5bV2VaLpQmmWJZZmnqcilHbfbPe8/eyZNGZmqbtDaMMdAZUQVZo2jqRsq64pXUwafcfbHeL8YhAC/3fe8fHlNjEVGr2TAfnlxzmF/wAXJm7SmDGGKvDyVeLO2kVxmZw26EOK1ki3Jat0WVDzF7y3qOIpn3BhJjLAF/BaTZEqHJHE90xxkYF5AoVrHYpNxx+fyYhcyRjOPU7m2pK5wtmaeRzKJk80pAPM8E+YgktBpKte3PBOl8JXBd2MsJ5sN3UoathCFHzGOxYs4e4w1TPOAD57Tkw37/iANXSUydF3goJAI3nNysialSNeJ3D2TODk9xRmF0Zl0b8PFxQXWOkJMVE1LTIlnz1/io2TurpoVVSWD2e3tDoqNKQSJ/+n7AVtVbLc7tOqlHs4cz4VUvPWHvTT20UoRXFVViVWS7FlXO7I/MA0zve7l7tWmDAtkm7xeyQKi73vGacTHjPcS3+e9bGVTGRJa6xiGnsYoVk2N0sKhUUDtKnLK3Pa3EplXrGrGGipt7uL2ind7eUZqLZ95V9UF4FYi+V6xyWw2G4yVZu/8/Ey2eGVIYax413OMBXgVjzFm6/UpWenyWiL4UDJ75fnufcRoxzT6kn4hA4CMDLU9SQB02nLoB+ymQ5HZF2n5NM34aS7XYMKHgFIG6wNaC4Br7A/SAE8z/WFA58SqqjC28G20KqkGAWuF/h6jJ8wzKomdzpT3ORd1J0frpygTX95cc1adYY2WBZXJOKfoxwOEU1rnsM7RNK2871VDVVc0LrA97LEqURlonOF8VVMZuX+qumaaRaY/h0BTnzFNA2cnK2pnuH9xzrptWHWN2A3IWFXLQMEKRE/rTFtXVM6wqmu0luvFGcOqlfgnUqBravodNLXjweU52ccyeBZb6KqrZRE2jZycnHA4+O+3Xf2n2djmYyaXFIbiZZ39LPQuIjEUmlyCru5KXMWEioq6bQQUUPxYKEXSksPmbAUZhrHHhxlUwlhLU9fUtRD8cil+tJHmzhiN0U7y54whxcScffFQalBy0HgveU8xZjSW2cu2WLIcHSGB0RB8OkKt2qI/p/i0YgwoCiqdfJQbSkZrkdylRart5IEU5PsZZUhB/KXHXM8i6QpBqI/WWJHwlIB6rYqMbgHiCORSJnSq6NLL7+qKX9T7RPDik8qlu1+okO995ztoq9E5UxlNDojxXxm8T6Wx1gU/LjItqwQ4Ebzi5vqAUoaQPFZLTJFSisl70ij0uNXqhBDEm6pbw37fC/l5GolZcXJ+wZwiVd1idYWrKuZ5RhXokFYaYzVd3dJPe6KXOKGF3npHsVQEH8omQabZKSWquiZmeQhM2xmjLSlmGtWirabtZCJ4ul5LkWIqXnv9bfrpW2zWQjGsqgo/TjhVMt5MpK5q+kMvygNTUzc1XSM5hLvbrUwajWG3P5SmwOLqFls5jB0IUTZIyhjGaSLlpfDV4rMoEsMQE9fbW5Fwo9m+vOZ2u0UbzYOHD3hw+Yj9fs9+1/Pv/3v/AZ/5zGf49V//Nd588y3GPvCdb7/L+dmGL33hz0R2Zy3379/nk5/6FGRTSI6qYOhD8b4nbm73PH9xyzgIIOmdb3/Ivp+pqygPzRBptEwZ9/2ermtpupZAJuQMSR1JzyL/FIrt7CdsVdE5R920rDcr2nVLOkTYBhprqIyjQz7Tsci8D4cDWiWU1lxeXso1nDI3N7d865vvUlVrFJp5HMs95IlkOt0emwmROlnOTs/49A9/hv3+hi998R+SCWQlxMZMwocJYwztquPFy8wcPCF7um7NW69/jM3qVKR3WuGqWppB7FFdoYrHkrLpysWXmF6h/uYjO0iUGRJjdedvjSlijSNFyYj81V/7i5yeXfC3/sZ/w3ffeUc2mkcXkz42jP84xOm4BS3N2dJEStdnFrT3kUy6bFgXL+6LJ89k8Fhkm6r4Qb8nFqj8/GXLfMdMkO+tyr26bPsK8vkY/7UM+cS6UuTHSgakRgvU5ptf/ypXL5+z217xxS+8FLK5svggw6NufcJue4VWkWgCWPc9ZGKlMs4WG8pCOVfQti2ffPstrm730pwglN0nz57JcFPZJZ+ntIYi7B6Gnq98+UvkFDDK0LYtbV0Rywaq+ENg4VQqhSYVirc0gbHwKbKibLDz3RC2cL108Rnd3lwTo0SFWGMZDnuyzZADMSkBW+XCjThuZRdvczwqBr7n6H7l+pC4FTm3hj7yJ3/8Jzx9/Jy/8Gu/yl/+K/8T/uB3f4fvvvMtUkxYK/fm8fXpZSARj8PUVxzT5CJ3VNaQkgzWfuLHf5ybm2u+/Z3v8OLFC9q2pVu3OGvxfma9bvnEJ97i61/7Ipu14eNvPWIcbtEh4oMIqZ2rSsxfpll1R9//NCTWpy23N9dc7WbOz89xxWfrg6dqW8w8oZLl9rAjpsQcZqqq5vS0o6o0fb+ndlY8p/OBX/7JHyBMj7m8rDg7qUhh5PrllhChXl3yhW+84ODPJU+1RFGEFIu1SRG8JwR/LOq1lubq/Q8/4INnz2nalvVmU/zkRWVSGbSxVJVAxay2UjeVbNvKVez3I7cvriVazMvWZRoDMYkEMqvlhjRUdYcymWmK7HY3TLNAFH0YRHXlI7orAz5lwCmqppGseVehjGOcPP08sd8e8D4TA2jlivRavMssqRDa4KeZeRRA37L58X4WlVCRLGslROCcIiGKgqhpaqZJUgl0GeSvVx0np21RfhRgqMqiTCrvmWxsAylkyT8OCT9Hgop0h8g4C0TI+4nDYUvd1hJRA6QQpI6cA97PtG0jw8GcmIZRmty65uL8XOi7CqZh4LDf0zQNq1WHJnNyuqFbdxgjr81YySBGafb7PV1r0aYmp05q1BA5P2vZbnd4lcnGYitLt1pxdbWlbVumcWa73WG1LRmyoUTFyV122O/QSgYny32w2KdCEC+ts44weOaiWtFGcXFxj+3tLZu2o6kdlavZbrfkRUbsE7NNHA4DNzc7xnHi5OwCrQz9YSJZTW0aspezfp4nVrU93vshemIKdF3L7rpHGUUME85ZcoyEIBvQWmusdUzTjqqKwtFJWUjZfsY5g6tq+sMBP83s93tWTY1WWqxHfY+ralwldVfXdeQotUBOmmn2uFruGecqko/M83Q8a5coAh9mrBY4ayzxVD4GkhGWjnWWyjhM1oVWLAOSpqqEgJ7kmd6PIyka7m9OmL0oC50xVMZIbVdiOcmJqnJMUyjnahmMIltPlSR6NOSATuC0QwVRVMzDhOsgRk9lNVUtcuGx78mbDZWVpr3SmlkrVm1Dqy3T1KOO0aYB1zb4GKmNw6RMlTObuqF1jkwQZoIVEvu981O2uz22brm6uuVsI0qNOSXqqqJtG+paUgiM1jjjyMZKekDhF1TG0NYVIQiw1zhNt2poyu9hXYXKig+fPMUZK73SJMky1siQ3Dl3tJTVhR3z/Xx9343tskXKZNDy4YWSe2ZMQnmRe4YQ5MEcJjJyOKYiU2jrBnRCKXvcvKoit1UF3JOQ5rWqHc7ZUryJLzMm0fVnZmmMCeLNqCpMvNuA5hzxs6exRY4C5DmWSJBlI1piLFJClUn3NAeapkJpI9EoZQobVcYcaZjyALHWiu8zCAwgZpECzjEIwKE0YUppOfB1kdLKCqQUlKpMYiSnylpdiI8LxEQTghRoOcsQQacFiCEFvLEacsRagT+YUvh4pdjtdiID0IoH9y/Zbm9YdR3jYJjHmf3oCWHGuarkGcrwQHa/hdKR5KDKWoo1bW2RkgchwKGoK0PVVsdmO8XEFCQ/zzU19+7fp1qviIc9ldLYWnwt+91OthModEKa+yjG6BQC2jl0FhnlkaS4QJGywA9QmdVqhTKSn4pSDIeeytW0bUdT11KoG1223gG0HJbjsC+b3UoODCdZp+vVShosFCnI1rVycjMPfU/btLiSnXzv8h6r9ZrvvPMuzWrFbrsjZEVXdySumLz4VGOGfp7xSeSZ4+SBwDRNNE3D6fk58xxIXryMlTFYrQjAOA288853GIeBcTzgnOPFy8d85Stf4vr6BY8fP+Ezn/40b77xOtpIPp4th+31zQ0xZkA2Kn6aGMeRkIJE4Dh4/PS7/If/4b9Lt+r4zre+zuo0YmxGqYiJiZwHZjLVSlF1WnIMY8DWZRiSDH6ecdZgrKZyhmEQGVlEiIhWK1zrcMGiUkATqYxi0zY45zjs9yg0q/WK87MTmrYhpyyUymmi6xrxFmpzDPxejM7WWXSRXDujjhPp09Mz/sHf/7u8+967kn1nMsrIYCGmyKE/SIGgNcMsh+rlxQUP7r9OV3WQRTZlnZVtcBbvodF3mbbfk+ualyjXIpdNrzR/pfGQ4VbZeqlc4nHENvG5n/9FPv7JT/JHn/9jvvDFL4gkSS2bQGmdUo7HnfTyc7+HTpwpn7VsapJ0JKXpfFVDfPd//+znfo5nj5/yjW98XZ471hw3tHdm8vLtFxvpq/Lju071uF3Or/ycRfa8TJwX8laIocQP2DtIn8oyxTYie6+rSqjiw0BVW042a1DSvBglsUa5xJgtGac56+JrvcvE1lnx2sNLzs9PePL0Fh8EpDcVJU2YJoGd1E4ewaVg1Aru37+kaxuslgZxe3sjcJYS63WEcR0/l1Deq+PaXP5+8dsu7+NRIpzD93wyKSUuLs75hV/6Zf7ub/4mT589ESsK+pU1910s3vJsNCX2ZqHw3/mnX5FNq+UH65I9Ce+99z7/xX/2X/Lnf+an+KVf+3XefufjfP4Pfo/tzY6mkXv3FQE8lCY3LgCtLNdKLL8PpRBfYqcuLy85OzvjxdVL3nnnO9xe39K0Ndpa9vsg8trK8Ed/9HlONr9KXRtmL8qtlDPo8TgMrp2jrsQGk1SkO2tpTxvGcSZFyUzXRlN1Ddv9Dl/UDKYSe5DNmtWqQRktW8EU2e97wjzx6Lxh3Y7ouqdxI3GKPHp0D8KOTOL88oQvfPWaeV5jK8c4i9TUNRVz8IyTyHwr50RqnmC3PzABqrE8ev1BsQdIcXp+ckLX1agghbbClaZlFqhaLaqw/WHk6dMXPH36TNRqSjNMkTlEtKuwSWGdRekknuKcidkflWLTNEtBnfMRtpUix2zmnDUxy3PdpsTu0JP3kWEaiCkTYib6jNYW8gJmk6Hasg22VgZpR26akrphmmaUEcmkLg6f6APZSdaqdRY16SKFFcBQysKcaLtGhp19j3VGqPkpczVfk2LCTxM+KpQai7Q7SEpBeCoVjIacA+3KYbPDR3/kdpxsNlycnxG8F7XhWpgcu91ebFzGAEFqn+ixWnN+diIxKAXgZl0lRGoS2+2WruuYC/ALoG1doUyX9ymJ33e1qtntevaHmb4fqdsG1E5+rjXFX3yXFZ4K1NQ5d/TBhwL4s1oLEK3wGcIcyvAwkqKFnGjbhs26w9kF8CdWs+CF+O9nzzjOjHPg2dMb3nnnfcbJ07VSB+13Pe5kQ4y6RBIp5mmCdYsCTk9PeLErQ35ryUmWS34a0XQSXTlMvBh6TrpKojSzgMB8yeGVpJIZpYSwrdGFTq1Flp2CSItR7HcS0WaNoWkcOSlurq4hC0/jsO+ZJi9RZcaIFLuiWBfk95umEUM+sgSgxBJrURlYW1M7WbiphDTqKdG2rVj5ckQbRwieKQXm1qOtoapr2qaiaRw4qcdVFllt24mXVc5tzVgi1OTcssRoiEasKyrfDRZrJ4yZrm2KSkBgTAuc1FmBeVXO0OiKxhrJEg6BMQSsc4xDjykKpjAH0hyotaW27giBXBSlxhp0hs16BabCLgrVaSyRhwplNM7J76y0xFpSObpVy2rqaKsKpzSVtdSVPfIGUA4/Bxpbo61j1ZXUhnKOnp1uGIaBeZZn4PXttsSr3gENv5+v71+KXKhqqdAdUU6aoKOHTKQlKVH04alITCWvNIRUfE+WnHShN8o5LXAMCbtWRjZYk58xymCtw+gsZD8tMrysIRKPGxKfAlFp5jBJs5rlho0YtJIHQ8jS9FhnhbqcMlrLX9IMa3kAlYZ18nOZupcDFcmUTVG2vbVqpYjT0vD6WTLbsmCSSSSsre7I0eGu0NUIkW3JpaXIMxLFb+IFx+4o/lmN3Pyx+G7L9kVb8QhT8kVX646T9YrxcODJ02eEKButyjqcNlycinzUOUe3WnN7uCIjCPhUusZFsh18RB2lcpmsBACijSXPQQqJIEX1PM7k4rPJOXMIsxD3rOHxh4/p+4m33n4bNc7Mw4A3dwWh/PdjoTqL2T0hcvcSolGgLRCiX8rCUtqJ3Ng5R4hSBG13Ijldb1bcu3dZcjg18yBSHZJAeFZ1xXy4xuI5Wde8fD5zcnbKNkRONivG4SBbJD/Llt5qVMkX1sigJnh5b6dhKiRW8fzttlsqKzfwYX8Q1YD3bLe3IlGJxb/sahSV+LJSEulGU2GM4XS9Yn/YEmPiT/7483zzm9/m3qMzzuMpGXj9jde4//o9Hrx+n/uvX3Lz/Io//vwfokiS5ztNQmRWisPuim6VUEo23ZvTDVkn0AX+obZ8590/FOVB9DgXiiw6Y+oS1ZVm6sYwzQecdbSbFTEm5ingp8wf/sHfJ4SRum5pKsPF2QZjHVVTQfSEIbJyDtXVNLXDekVbVVzcf8DJvXtszs9kIv9M8+lP/yDzPJPJzO++y3b7EfPsOT0/R+uKlEWOPA6TEDKTJqVI27Zc3tuw3ogMbQojP//Lv8LJl7/I7//u38EaOdy8FwnhOGS2u5sCwLG8+cbHWHUrrHbEVMBLJfuOxRdZtrCLvSGWwrnsUQtYqNgYsj42gUsmNtz9vcVv6n3kn/nJn+CzP/ETfPvb3+H3/8Hvi9rDGu6ygRZp6ULa/d7onCVnmZywyyJRZ2zJRpU4mle3dyXH1licdewOe5FgWwHRLY17TrGAqv67m8Djzz7qns0RcLTE0tzF/NxtFWyRqUnzn6jbhnx9J9N1zuGqirjdc3P7kvuXjxjGA01zIpP0upbYqhTZ9wPaamwMtG1D5WrJWC7yX0UmFzmac4aPv/U61y93HLZb/h//7r/Lex98xLptuHz9dTL5/8/cn/basl1nmtgzu4hYzW5Od3uSlxTVkhIpimInSpmplLKyKrNcPeCyDdiGAcN/wD/C8FcDBvyhYMCADZddyEJlVblSvZiUlOxJKUmxueTl7e897W7WWtHMzh/GiFj7UKpKCnAB3sCVDk+z91qxIuacY4z3fV4ePHxAp5THmYD+wvPP80u/+PM8fPCAr3z5XzHsDzjr8X7OXpf3mEvRpps0lWb44SyxEy9U1Wt0E1Yn++ecv2yt5/XX3iDFPyGmvJD+nZm9rkWL+bxcV2bYl/6subg90pTnRoQ5Eqrn6bvx7A9XfOFPv8D9+/f57G98mn/67//HfP1rX+G7f/2XBEQZZFDvrZE5/QIDqyJnz6oUcmaeIM+yaKFLP3PvHrfOz3n3nXd4+5136PcHrq6uSCnxvhdf4OrqmkcPn/D883fJ2eBCS83TUqSnJPtvykUaGKWShlFUSy7gvcV4Ue0Y79n3PamohNyKmmm1FrhemSbJT48jOU7cOjvF2cQhGZrmnMP1tVCLHyfee1i4fX6bw/0R06xJfeL64gnVVNbbjcQI9gOlZJrQYFonjIcx0k8Tj/Y7CsiEb72RyX/XyXAgTgvMKqvHqmkb8QQOAykVYoxsTzaM0xlPnlxKLq3mlFIyKU60gUXZYi6vKGTatpX4lq4T+V+tdE2g7zNxkkN+Qe6RXuPQrPfSjGXepwDn8K2lCUGbPXa5x5zzavPUiD9gHEdRjtWqMCGzxJ+hDXkhe0vh3TRBmtQc85odlhJFEtp4T9N0eN8w9iPGekqNxFwYJ5GZ5jKRUqLve+KYCI2n6xp8sFCksPLW4RvPyekJ61Un58IkasCma+mHgdAIgLTWyjiOklbRdQQvirDr/UGilKzDIiojmSIfuSTGGJqmwa3lnDuOkd1+L01Z57UgToQAzgvxv+9Hrq/2Iqt1nlSTnIvdUZFRKJoAIM9hcHJ8L/qkpZxVclyxtlP4qU4udX+8vLwkl06z6AvTFLm8vOL+w0dcX++43h146+33KMDl1Y4UI5eHPetuRayFJ7udzmNkEGRNVpWQY5oSQz9grOfQT2xXazCOnCuH3YF16xmmSL64pBRD7QeBYubC/jCw70dRr8UkTf4izZQ49gQKm/WW7fqMd959B6cUeaMJFaVUeZasDnbGkRwTporf3uaiGe4GclriScXfXYhxUuiVNCEsRZkWfpkaTv3E2fkZwzRiS6Vbd3IOLEWSBDC03tE0njGNbDfiu8dKkWqM7OVtE9RCYBdPcrCWUkV6K5YyLWBXIunNVNabDqtsoVW3ou8P5BhpgxDQrbPUJA0da0QRMo1i9ZP1U/g2tRr1qWdVo0IpcbH3hBAI3pNTLyq1WjXdA9ZtR7CzFFzk9NZpYy14ttsT7j94QNe11JgxWNoglplSZAI9DGIlaLvjkDHlQuoHVrfOSfsDxnlckLhMAa/uf9pSFf5uObZ1iXNIMar8dyZ+Kahl8YuBdy2ZRM4TwTcYlSoXO+eI2kVGYSzyoJW0bJhS3c8U5aygDaPyYLkh5u5VzkJvm3KkNSLXslYR5aXqtM7Qdp0W5V4OVRw9Y9KlmSXGUiRN0yQLcqkkDX1NsSwdDjmsyIHPB6eLklt8SHNWVlHI0XKorHPOolm8sPPBqFSZ4lAr4zTQta0Ad5QeF5qAb8SrOqZETpHgHNYLXCOOI8EZ2rZh2h0YY6TPPY+7NbdvnRDHxOXuwNV+lM5LFan13CUE6Wbup73kiy6SQiTQeRiZxkkIrZZlca2aJ4uCLHIutG3H3dt35Obc7Wm9ozjPYex5cnFB165wPpCmSfw8VTwThYIL4tc49D2hbZZJz/x5z9MJq7664OXQslp3PHj4gHv37rLdnrA77PSw75Qo1zCOB2wrMRT9/ornXnyBs9Mt2+2a3fUVq67l9GTL3hrOb53y5ltvidd4u6F3Tqa4eqDv+158FiobG7zXKKCkUkO5h7u21Suph+CcIAS8M+x215IL1jUYGpHJu0oXPKlOPHz0gM12tZA/U6yc3bqFcdLR+vznP8+//sY3+eIffQXKJGTvnGgbz3q15s55wLgTVRuodKxOVFNFDldRWqGjVgEhWReWCb41ljRIvmDXdtIAcXLACQSqiYzpmvVZkC63MeALvjWsfOVHX/oSplTunLV4Im0j8rnNes3P/eIv8cL73sdhv+fi4SOeoeX9H/ooTWjYbDbk8gW+86//irZt2ZxsSalwfbWjkig1Ym1lve24e++M09OtxG0h3d3nnn0fq/WabrUiI89hrkKZjikSy8D/7f/6f6E/DLz/fS+zWq0wxsm0M3iMdcscTibFdvHSUzKZqlI1bU7pgb8qGfeml3TJsK0SMyaeH5Fovf8DL/OZz3+ex0+e8Pv/4vfZX+10YjBP5Fhiuub1Yi5a7BLjc3wNVuESdV5oqpKUb9Slc5FTa+XP//zPJevaSg6vwJ6skuxlMppv/Py/UeAuhOQ5azUfOQLaab0ZNVRqwRRpEmBFMVFmgF81nJ2d0qp37HDY44Nlt7vm3r3bgOTe5UGlwEbC6TGGKSZC0wJOidrqb1XufdMGXn7pBd5+8wHvPHjCH//xH1Ix3Ll1i5P3v8TZ6Slx7ClxxGimuDWGN996i098/GP8zM/8DG++9iqv/eiH5DjoJNMcr2udm5TzRPn427NkWLLZy1H/U1km2vOvvfcEA/ffe0+/X8CaqmRxmfxLhmh5KpqnaoN03mfmfaVq5vF8H86fv1km7VnsBGS+/e1v88677/Lpz3yaz/3m3+Ol97+fr3zxzzhcX9K0rULEVHKOUKLFtmOZ57rGzE2KqhJ0LVgQv90HPvAyL7z4Iv1w4Pr6mvv37wOGZ+49izHQH3qRVReJdsEqBVmjwkqJ2NbjvTTw4jgxDGI/2bQNtRr+0//1/44/+8Kf8M1vfJmUIt1KPH7eWkwQP55zltvn59KwNAZjMt/58SUlX1PHgThWNluHC7dwD2TK9O7jwMXlBZv1ltV6JQfRUZrdjRcgUtn3VCr9OLGbxoXgvdlsRIqbNQcbub9mhsT8lXORTHS9T7zmdd65c5u2W/Ho4QUo32IcJ9rWYZDEgMNBzyzO0LUr1usNZ2dncqgtEWsMh1woVoqa+T6JVbynwxgJwcpUS+X2xqp/2koDY24rlyJ2llmY4L3DabSYU0VfExoBYVq3JCo4U2mtp2kcOYmVCc1RFTWfqDjaIJ7jGDPjGLm8OmCKZBpLIW40hg9RsxRofMt6JWTjEDzWRVlfEIlut+qgsmTQ5lqIKfLw0UP6vpf4qqYjePEIt+0JjffklKnZUGoSaXdruXj8hLZtWTUCy5z9/D54DJbr64PINBtZ74chkvN+yePe9wfGcWToI9Mk5+OUiqpN6pKnXTT+JheJ7AvBSsNybpgVPbOqYm6Gi6Je1ZSEiLsU6yXTtC2Hg8AtS628/fY7XO93eO94/OQJoe147bU3WK06XC1cXF4y5sijywtSThwGWf+syUyxUC2kmBmGgVKEuB1DJuVeLFjFs24bDv1Iup7oVhvefuchu/1B4FpXV+QUOTvdivxWmzy7/Z7YH9i0AVNHmtCKiidGAcZp/GTTBGIcpNDMmRzTEm8kUu6jJmYGtxblAznnlG4va1nNmaC2KqOWreA9wzBwLzzDlKYbvnVpSlmMFNpVoksF+CrwWZwVn7/S+4P38vwrkLIJQaM0Zy9tYb3uaJsWaw9sNyuiFa9+HAepd+K0eJyFOyPAwBku6JwjaxPy+vqalMSLnlLWPVnOEDFO5AwlJ9brQH8YoKuM/UgqcLJqCCEwDSMhOO7cviNrTT/QOEOO0jDZrNfspgnnHdM4iU84yHoBs+VULFclF7HoMTFViVEyGn85TgJASzmT+5627SQlJyZOTk7+9tL0b/n6O8CjZAEzziwe11IlTywliTJwc+QGmSlOy8FLTmZJpbeWzLGjjJGpQEpRaKnG0GlwdNd2lJLw3tEgXQunN2aqldm+ZrGkkpdFWj7YQCqyYVlrJdZmgfhYjNMJoHZKDUXCjCmkJMZwq7JXY6oAPKp0KL1XCnEt2KIeSjPDco3KaYp4UoM7wpnm6A9jNOpDDjIxJ5lSGonHmCEvtWreFZKNa7ynWXeQk8g8rBd4UdsI+CAWJpvZnm0ppTJMiaCH19feeIPLqy2npxuh27lM8jDNpFwFi3hvKWbO400ouFejYypDls60dypFI2nUhzvmiOpctT/sWa+EjjwNB1zwBGfpXOC0W8shKR+n4ilOxGEkad5nKnmJlkg5EdoOrMNoBIVEnwjYxlA4OztjmAbGOLI9PWEcR6FjVpF6j1PPdruhHydMGEX+5WQR9l6+n3NGsO0KP759fsY09lztdpxt10x9z2bVYZznZLPh9GTLbrenrDrONhuG6yvaZk0bBH9+tt2wu77WpsiEc57NuuNwKDTaLWyCpQkyRa4x0ueomcoSheR8e4yrydIFi+PI4XLHL/3cL/HeW/d59u4zdK3hzvmG05OOw2Enfok0IbGvUvxIjETBIflktcgBz1tD27QLrVx6ltLwsaHBh6CB6DKJyUlAcDHJvesbcE4VFHmk+koNmexGhqvHbJuOrtuQbCfxTQVWoYElxzpgjWT5Pn58yXqzYbU+w4c1p7fO6fsDDx49Yr/bQ4W2a7h955zzW+f4LgiEZBI5aYoV7zsePHrMFCPWeWIulJiIcSQ0Hm+kc/76j37MSy+9LGCzQQAhwXciWdOJqvjD7AIGks55fTrPFYX3zMUmYjGYVSVHP6VbGoG1wgsvvsTv/uN/m0M/8Pu/93s8fvxo6bhyYzJ7U248T09vFotzEezccTJiarkxQT3Kma1mBLZtwwsvvp8fv/oqlIz3FudEk1WWmJ6qxaF9agI4y+TQQlrxnPpczpNIVQTc+LM6+5GNNgWqQHMcboEseWtlE3v7Pe26w9D30jUfI6tuzdXhoBL7jCuQqqhZhiEtShyZyJTFCmC0SHjfi8/y4OFjpjiBDTy+uObR4ydstxuef+E5gSLN/cdauHr0hG9+4xt89rOf4dOf/Q3uv/s2V1eX4udWGjVGguk16ng5QKEF4FPT9Tl2Sf2/s0eb+f4qM/CwLsXhxz7+cXZXO37wyitYr5OzmT6rzTNuQLucwlSWBXyWEpdjHNP8GucGiNzLmYcPH/AHv/f7vPvO23zq05/kn/4H/xFf+/KXeP3HPxb6cjWi5pG7YpGfO/051Vjmea3cp2GZ4s8/c+ZDbNYb7ty+zeNHj3n7nXfE99k21OoE/qLEaPmsjwV7zDLp79oNQz8wjlfkUpmS+C0f/ug1Hr76pp5bKvu+pwmBVMVz3jViMXBWYkCKSvCnqaHmUyhbEgVTz8hjxiXL1eUFMRlu37qN00i+GpM+F6pIUOtSrZX9sNcUBMszt26z6daM40ROZYn7KjkvZ5SZ9J61cZ7yDPuz2jhP5FppVi13titOTk4YJ5loXz55ogRmg3OOrgmkccIBwXrW3YaS9ux3PX2fcCmyxi8qE6PF1qqTCVfOEWclIcFWaSDFaQZGyX2eyapOsFhvGdNEjJnQCrhmnEYUqkLMEy55qrV065Z7d24xTQNjliLaBad+wsjp5jbGFIX1SFzNkythWATfUHJlt+/1jIBEqaidzQbLertSi5VYyk62a8mzbQOh8Utc4f5wwDhLzpk4TqxXEnvTNcLjaINXlovKrGOmqfK8GCuWpWkclcRuefBIQGbWiZLscJBpdN9PGtNUuLwWsJBzYsezLnDr9invvvuAkupyFjK6hxwZCtIMhmlZO3K+UcTM51pj8U1Y/Cv90JPzhNsfpJipVaJstLmKNiS6TYcLlnbVkLIUFzmP1CI04kePHpDui7S8Xa14cnHF9fVe/daGdr0i9pHd1Y5xGJimkWGzouvWTOOEN4F+vyemyDBNuKuRN998Wwjr1XJxcUEp6ieuhYvrK6jw4NFDjX1aEVxk1Upko3HSeH7w8Am3bp1hXSMWReS+cT5w6EdyEnVDCJ2cn5Z4tqqNCFG/yFBLYh27ppViMcrzJvWOV7tFwhtLqmBTwudE5xos8tzlMoiV0TcEA603+NCx7daYUjWmU2IwGxfZtp5gLZZMHkecMaxCIFhDFzy5a2m7BjT9pCZoNi3D9TWnpxtCcGw2jTT2HHgqTRtwDoahZ73dcnW1Y9LGX62Vq901OMvuMHIX2TdXmzXeWvo0cH295+TkhDJFhsMIWSa2NSdq00E1xKnw+MlO4GCNRJoNuwPXDy4IBKzuEaLEqAp/TKSUWa8k8WCaJgiOWgQm1TjL7upq4XDUKnDhmirRFA7q4f9pvv5OVOSqBam1VrKk9AV4JwvIFCWWxFiZvpkbnqDFJ+BlEjRO49IxNi5jfcXN2I65022FgmbJdK4hFpEnSq5i1oDooLJeWQzsU/I3OUDNUqa5W5BTxniWPEmqIO/bNhCCejGrhNxbI3Rmj31q6lpVgmJtXmADRbvn4zSKTCe4Rc5TtQBe5ig5k4t00K1TuWcuSzZkKYWchNjmG7dEFHWrjsvHjxd9vbNG864kJP3i4pLxcM1q3akXOMgDbCReZpb2OmuPMR3GiIlfN9RxHDHW0nrPNCpiuyKeOGYvV9IpUF2mItLdlfexyI6sbHpO89L6XsKXu7YlxihESu/k10maE6ZUzZctKl+Uw5tIrzNmJsTNAJ4sEJphGIglsd5sZDMtCRdkAQ+NYTocJL9OKX1zZ1syu+RQtlp1cjgpAqxIccI7S9sK3h7Ew12iHNpPtmuGoccny3a74j0K5+cnmFrpW8921eJtZb3dMvQjq7bT7qKnaTwxRs7OTnX6r5mQ1uG9FKAlZUyLdI1rUfJcszRJHj96zK/8ysfYXz3hzp1zzreZUkeROVlhxIqKgCV2xgh/Qyje+nOpQkaMk0oYR5HYXu8lmgJduOvi06oK1FJVq0H/9zzdM1Lg1kQykcdp4NZBZKTNuuN0s+Hundu88v3v8aMf/pDT01MOhwM+BL79V18X34YLvPnma1xeXzOOBwqJk9MNZycnrNZrkZsaQ1GyIYC1HU2z4vatu7z55tvEWJimwuGQ2GxWNGFF2zYEG2h8Q+uECh5jYr1e04RO7jW9vjMEpiooytSqSgwW+u+S96m+z6oZ0VkPvMvwai5zqkRR3XvmGX7nH/9jXAj8i9/7A1599VWWh21WqPxE5uwsV1xox0vXWImRogNdikvpCx3XRGOUcQB88EMf4hO/9utS2Op086bfZVbP/KS/kuOrXP7uUXqcNW/XLFmv82Gt1qNdAVV5AOqtm8nwIpvdbDY46xiHQTrvSgA9OTmhpJGLMh9M5MBvxkpvDKvVCh+kkSNxQ/N7V/J9gWfVa/v2w2sMnikm7j94yL1n7koetLUUK8VUVRnWd7/9HZ599h4f/tmf41Of+w3++A9+T4h+DqVuCl076zo8f9Y3r8/83qsaEatZRNzSca9yfyXq8jnOn++PXn2VX//MZ7g67HnnnXf020tkHchkotwAejFHNs06kXqUstf579009lKeet1THPjLb32Lt956k1/7xK/xqd/4Td7/8of46le/yuXFY1rdk5gbJsv3MotF6SjSPyq55vuEuQljxL7x3HPPcef2be4/uM+Dh+/JXtw05ByhSNZ8VRk+wKE/ME4jXbOiaVrO790Ru0o/sp92PH7zHXyUM0fOGR9kYpinIhMAh8JQsjZvxEcqCAwh21cnqQHTYWLa7Vl1K07DMWKJKueZmXovkSyi8JhSIsVEGxpOTrY01mFKpTGWaDJpHFh1a5qmWRRi87WLU1Q57Oyhl89rmhL7/YHtyQlN1yzTwGmamNYNu2tpvnVdq3BIu8AP+8PI4TCwP/TsDyOYJE364HU/ZdmDjBJvjTUMw0iMSRIm0vRUM22OF5s/72pYzj7jNGojVPgs1lqmGHEh0LUtOSWmXiZsxUgkSLaGkuUVjENcrnN/6Be11jRNpCiWibFE9epnrBEYm/eGqFao7ekGqxJpF2TvmqZR8zyzKPo4nrucc5xst3I99DPVE6mqwxxGwXDWBkLr6Q+92KBSFDr0KAChwzASpypkf5RbMF+DRfLp2Z6sNN7xkSoSZU+jVMY4LedZgZquGMdpWXtnZoFVb/OsZDR6D6aUuL6+wntL07ZQK8Mon88U43I9c800VWTb22YjCSQ6aDo72+CMEakujk0Rm04sPe89fMLV1TW3z+5w7+49vAu89+57XFw8kX3z2Xs8fnLJ1eWVPJuTTNmv+579vuf+/Qe8+NKLXFxecnl5ifOWzWbNZtURk5xDLi4utPEwsl519JMox5JBpNFPnrA9OWGK8p4kjUTBsDq0mZdEY6x8TknOQHPDAM1lrlX4MHL+khidkiXTfX84LMopbwUE5n3BlELjHM6KgmGW3Btg3bU0XiJCg5eM6SY0YhGollVMeCqb1QpnM8NB1ryZIeOsoW0aeW050rWB4FaUVDg93bDqGpw3tK3ncNgLoRgZDMYkTKT99Z4YZQgxDAOoJBlrSDlz/8FDPvDSC3Rtx/333pMkjJzp+5H97kAphmEYOOwPeANXGIlay5ndbsf2ZEtBJsLjYcRVS6NnKoEAW6hiOSha4HrvWa/XXF3tGA8j3smB1DnH2PfSgG4ahnGAnGWIwtPxhf+mr5+6sHVeH243Z5ZJvlBV6YR4WaTAyaVgSBrjgWazSrE2aehyTEklw0WlTAUXAsEK4S+XxJQGQnCkLN5ZnKWkBMXqS69qOLeaWysByF6pwiVnUqpUJbfmPC3SQpv11ZoCVkzpuKIxGHIoSCnhLEJP8zAMk05fA7kk7bhXppSwriPGQkU2N2PD4rtL88KpEgUSKvuVvLHQNuQ4UpIcCm0wxBQVh+/Iqep0VoBNQlOGPCP8xxFGMVvjDf00YUPQxUnIc+1qxdmt29RaeXTxEIrKLHV6gvoWRd4jkUxo533OmZzzI52kuy/eA1ORzkqVBVGm1RJDcBhH2uJpm4aubej3e4F11YqxXiAIy0FX6arW6EQ/L3JJ76XTag04I8VFLrPHTHxJxkqTwjjLMI7EnGmaQLcSiUUtSWExDYdxoo2RKWbGYcQYeYDFt5YVHCYLpMB9LE3wrFqRBVYjXsZaIt5VnJXE9VIiwVvtyhq6NuAMdM7Tpx2GjDMyqXRGDkC+bYkpSl5nLSInRbt6NtFYIQVKlIVssCeNQF0+8tGP8OL7XuC7f3Vff+5ELYmukUOj0fw0jCE0YYmdSipDi1mkOPJeKnhHynJaLbWyXUsGcy7i9Sqa7TkME9bCat3hNdKmLPnQbjk4O2uItnA99Fy91wvkg8LJrQ3t2jAMj4n7iTF2GOPZuDPefe8dUhq4vr6m7VpOTjra1ojHBJHYtW3L0I9cXF6x2pwRwhkvPP8S680t9oee7373O2y3G5wLbNYnvPj8+2gat1gqTBHCpjWW0HRstpuFuues5ALPxeMsE8wlS3NnmZAetaZGKbW5apyYyvTmZ2f+kvgn2Gy3/PY/+kdsT074wp9+ke9973tKGLW6Qs3gpqOcdJ4Oz4XhfIgx2pQRlcGxmPnbvqq+Bozlrbfe4t13HzAOgxCKtVCev/fxX5SnizN0Uqu/mKFJy2vUf2nmeDVV0yyFnVlUu0J5b5XIqhm86/V6aY7NcV9taLi+3FFi5Nb5FuOsSDVroWkacp5UrirePbnuIhkX61REYh/FtvDyB17g0cV3iTlhrOPi8pJ+nESCP0+d1VdthR3GN7/+NZ555hk+9DM/x5NHT/j6V7+Ctw5jy098Pna+LfQtOsi6zs7ODsNCYq1aGVadfh7BUGW5B588ecIf/v4f3JChq3y1yMF2nuBoYhvZCKRQrv88Lz3CuypHa8d8/xwLVY2fyoX799/jD//wj/j2t7/L53/rs/w7/+4/5Vvf+Abf+fa3FhlpsSxy48VLzM3CVhu783SwzBdAJkzOSDyTbzs+8NL7ePH553j3vXd59PCR+BnDisOwx4qxDkT5TK2Zw7CjHw9439CElnWz4vS84SO/87u8MR7YfelHtK3XiJkCrlCNgJecwneOzaOyZCs7K5Mq6yQTeb3dqGdt1Am58DWS7olNK97/CvTDQIqJdbsWKacPmFIpUePKkILUz3LIKk+5bxvSMCyZ9FXPNDkXdvsDKRfOz07ouhUpZ4V1ZgxVSM/npzSuoW07KSZ1knpxec3uMBKajlx7+nEipoL1ge12LXwH7wlNA6bifaMAtULwDTlO5CiTr1wGuqbViEO/TKqnGBd/p28dLhimKXF9fY1XiJgxRy/gMAwcDgeappG1y1hKlKPv/qB/1nZ41xCLyGdXq5ZkkuTDeocxjpJHubazf983mlHvRNZbE7Uv+OIITSANEsNXYlE1XZZCOwp1feyjQq7EGwuRtm1EOnwYOfQjJ2enxJiYcpEkiEOv0VuBQfNrrfNQ3bL2NW1HKkm5CsJtsE7yXA+HA1Z9w0U9nhmhPM+2vFoLfT9IbnCQOKg0RfE9V2h8ODZCQOxz40Tbec2LlQaItZZpnIgmLkWYyK6NUt4NoXEY24oP3EuDkNrq5FTOS9vWU7drTJo4P2kJNvLcM6fSDKgDJ5tzulUgxpE2WIIz9P0B6xx9v2ccB5rWUyk8efJYzgoYLndX5JpExVgKT55cyLXFcOh7GpUfW2t4/Pghu90Vh+HAMPYM00Twwq4oOQscK2U0vETWtCKJFLNX3KhVx1ZpEqY8yZmvimVrtgbKEErsb0Fp585YipHM5zl+rHENaUh4HDlO0DbYIP+uJCEPd01gSoV1E/BU1l2LM4m03SzrfY4RbwzVW8lZjpEutGTgEGUAEFopbH0TWJ2ssI+loeusYSDTdA1DnORMroDapL74UkZyhq5bsdsdePed96hUVl0HxnB1fWAYJmLZSR2gTZdhiljruLq+ZhxGUpZz7oPyEFMqbbemxEycRkyQBkAIHmcrnQ8ka+n7gfOzU0opXL/3AFNE/m2dFL276x2r2bZgHe06MMZIrtNPW67+3T22RjsTMWXQ/E7vnE7VjEqxZHEL3lOSdNRmCrCAmaIUeAaVDkhOrXciKRRycSKXSOOshDKrTBlrcMZTMcQyLsCjJYKnFlIFb2YyaYF646DtZj9wJWehrDZWwVd1olqnk1XRxhcrdXT1BhMcNcmET2q7wpQy3gZi0i6YQ6JnVE4mXl45wMWUlo6zxFDIQaDkwtALZTOo0Xv+kkgTOQgkCpfX1yr5kglNmiZKkuKkGiNyqjjpBGuWbmVBbMfI44tLkWYYIVcaO2eOHv1X8+F2nKYbfq1Z6uiWDXc+Plud/s6Ho5uvP+eCaQz94cA4DBKps++JtYA2SeaomOKyFEdVCNL5hn8R9acJkU06ZzKxYRb7iYxW64iUs05kpQsYpygRLzFivWz8Dx4+lFy37QnWOh4+fEAIfqETCsla9P2+EQn6Zr1acA3eGXKOlJKYpp6rqyfkkujHPc6IR0MOf44wk4oRovAMoso5Mk5CJtx0nVKGC3EaaRqDHzKnJ7rxmI4YEzlVusbwH/z7/xPuPPuiTgYr3otkrVaPM5KHZvT+mpJsFCEEKdbkkaYwR2epn9YaiVmqcu27RmjXhUrwjjiNrBuPyZm2DfJ5psgUo6DenXjNZfGUYmnukKaU2B8OuuEX3njzNVarFVMaueoNtnpW6w1XV0+oRDBiC8g5ClHciFRoaWgAfT/ywkv3WK1OCWHDV778dYZpknBwF0gx4YxQB9smLNfKqsw4hEYmIE2jXjaVZrs56uQo/ZXazuqkUU2K1RynLUUo6vO0kxl/Vo+TuZgSTWj5B7/zOzz7/PN86xvf5Gtf/apKupySks1TvlpuFBtPA6PMjcL2aHW4CYc6/tkxGmi2HVxcXCqQJ+ON+B8X9PhSqLJ87xtA3qU4u/m9l5+ntfU8/cHciPoxZil450l0aBpRDuj377qOJgSlwktn+OzsjKEfWK9arHPqFxplzQyebtUQgmfoe5yZp+zzdSx4axYYVKmVe8/c4fnnnuH1Nx9ScmKKlld//Do/8zM/Q55ji4BpGumHA+1my2G357vf/ja//pnP8tFf+Rg//tGPuLi4OH72ZY4m04acvcFUqNx418smoLm73Lhf5oaF+t6Xa3eUgltjWK3WMr2fsw51ql1KoapMuOg9axR69pTvu9Tj97NPS+rl7x0L9HGaeO2N13n8Xz3mox/9RX7tk7/GBz/0Qf7iz77Aw/sPcBaqu3HvzRTlKtX98b6ret/M963eQ84uCgijkuCXP/AhXnrh/bz5xjv84JVXeeaFuzifyLXHuoLXRAHr5zSGiThFoo3kVETx0Xacnd1iHHdMU9SUhRt+xNBoUyQxTeNyqJybq6VKEYZmBqPP3zSNArV0hlSynHN0HxtGAdP5EFg1rcbvSSU+K76selDns8FqvaYfB/U/HpsZAp+Tgq1tA5sQGIdjNvp+t+PQD2w2HZvVmpNug/eBnDKHgSXqMKbMlBKHceRqt6cfhSA9jKNwMqylaySFYjlzaMNTYgct46EXzodzBOcXSxVKPS85y/dT61aphVIzbdtgdF1sVitWXUfTNKSp50SVN3E+2+m9ceh7sY/ExH7fM47TYgeZAWtTiuR0VM7hlARbq8QvpURKHmsKeUqkKkOFMQ1y31Qp6DCOs9NTLi8uJW4kz9nUlpSkubbbDcRpYt9PTDHqfeFom4Z+GGnaQD+MXF7tZHpfK0afx/kajjGRS1Vo0BxDbpnGyDBGSjWkXEkxE+OgsVzHCDGYFSQKtdMCdlYUOSOFi1Vyf4xRfcYBK74acsm0bSeTO+SMNT/z3ok32nqJcWpcoA2NKLKqrD2uaam1sl2tJQu5XXHr7Iz1utOCW+6L9aqhW61oWvm8b5+fkZJkCPvgOY9b+n4k58Jmu1WoU2EcR+KUuLq+VsUeAr6qUkM4Y3h08YjtdktoWi3U4fpagGrjNFGL+LlzytQg65x3QQFTRc/c8wm8KslbUi9ylSgskU/KM5tzFRqwwqdmBWHOc0az/l7ODH3Per0mjpPIlaPEbImKVS1N1sh+ay3BW9ogz53TyS16nj7oHtQqyAlVu5Y4KUFZ7q/1ekOphbZrsc4s3uxaJTpxvz9giqg4cily/rKGOEUaJwoAr/R0HwJXu53IhtWSNoxROD39QHsq8MZxnOj7gWEYNCpPzgqb1YrrqytqTnRNw2azEpYMlfVqTY4Jr2qFJjScnZzy+PGlAMBy5nCQc7N1whIqVc6rGCimLuezn+brp/+bVT2N2Uh3oxTSmEilUHzFBZ1uOMlKzLXgtQTAOrCFWtDF0dLaQMpJZSwSgVFSJKmPVzw8EXBg/ELis5p/6I0jFyfJAhYFlOjmT6EYkcrOXetcjRQY3hHjxDiJj9Z58ds23ok3ympnHaHGFgtDSoxRDv0heMokxY4xBlcN3hrGwzDv40dvaIU4VJU/j0IIa1pc8EzjsGT5pjTinRewRangjRLxjgVcrhXbysKSS13ks9UUKpbgxKsyTBNTP9K1K6ot4o3M0oWOMZFjwVsp+GISue28eVdT9RrMU6cZDGYWiVYb3BKrk3WBGGMiuXmEY2R6W4occGol1SLBy8bwwq3bPLnei2eqRKVpMncd8Cr7ERmJNlMqSwxOdZaoRMb5+9eiC8sw4IJnzJHQyKGlktluBVu/2a64dftcgR+JaRT0eY7isbi6umJzstEweoGWDOMOTKFmmMaRjEijJK+uiLQlDnhb6Q9XrFpDf7jUsHTD44sHGFeoNrI5aUUd4CyrtZcp5Fo8CG3TYEMh1IorYNzE6WmgCWuCFx9V4x3eVlZnp7jg2JxsKEiRhzXqQYjYmmUaVMRTm0tRv7lMnecDpXWG1oXlsIDJmCwqgRiTHK4E6UqwltC12O2WJjTc2p4ssIzWOwYjRM2qh81qLNOURIpcIBfoR2m4BPX27Psd1Yosd5omcoQXXvqAFsTQNYK5n+LRG2ispZCZ4oAzjs9++rfYnN3lr7/7A77xze/ygZc/SPCB+++9zfXlBX/8B/8fUprYX1+wXT9L07hlY3POs1mtkMFXIuWKswI+KyovLYg0ULASNyT7c+FwFOQuhee8Fok3v84Jp8RYcL7ht/7Bb/Ohn/1ZXvneK3zxT/8l0zgsPkUWe4A01AwGp6qFmx7XeQM8+mbtMjWbi5Ojm3Mxfar0yvKJX/017t+/z49/9CM56AXp1t8sxJgls7VS8vGdmhsT62PBPPuGzfLcskx3laQviI3lUDw3ALpVq3YQ+WxWXUfXzCRHuLi85tadu+z2PXfu3SMXQ7NqqfsJjyENE6ZpKAaBUqVK03mct4zDgO/a5b1NU2IYR4J3vPjSs7z57jvk6ii18ODBQ26d3RLJoUYGjf3E40ePOGlbvLX86Aff594zz/DBD/8sn/3N3+Rf/Lf/tcZvSLPLWa9U/rLA+PwsZV8KOK3xll/rfYNAYqwkvcth1KKxD6psMgZjHB/55Y/x7LPP8Cd/+icMhwFj5xxpo5mO5RhlYW5KgY+NDmvrIme8eV/d2PT1hQof4/rqgi9/6Uv8+NXX+fxv/Qb/5N/7D/nud77Nt77+daax1wK5YpHXYWY5tCrISjV6yJ7vMbVBmKP9B8NiMXGN4/0vf4Cz83PuP3qPx0+uaFeBphWuR60ZisBQ5uz2VKI0pg0Ya1ltt5zeOiEOvRQnYyJRCMFQqiEW/bk2aBPAaa44CqrSRmmMOGb7kjRdimLJqpJdh1Fkro1vCbahagZ9seBDWOBJqRSCevhDCPT9yBgnUj3mEAu3RJvhMwizVto2cHV5RS2Qp8jptuPevTs0TSsTmTFhLKz9mn4YKdVy/+ETLq8P7PZ7kffZTBs81mZKmYjVUO2KjBS0xor9KmvWcqEw5izqngpmnNis22WokFLicBgk09I5rIfgLWenGylW4sjJyQkn6w0hBE5OV7TtGfv9lezRo96zCrCcxogxeVlTmyZIwZ7Lsh5u247ruKOWRMqWmgT2ZjRx4iYorVShv5apLqC6lGS9mcbEYTeKpSFXYhzouo7WBmKC/W7HMI6s12tyMZRq6fuJEAK7/Z7QBMbDIE14J0kIJRaaxuOsEOZrrjr4SDL9xBJCR0lC2o1TJEVpQEjKhUzBMtIgM9ZTixDRrXFadxmsFxWC1wjGrNPeWgpjjPhmRakWi+WwE0ZBtYWaoB/HpckmzBVRGA79SHCWlBNDHVhvVktRneNIrXNsjRXgmkMVBgK3A5Qabag1UoB23dAp+M1aQ5ecPn/KdClVz6PSFLHGYGpivQq067U2zYUU3jQC6bRW1pjcOHKKEj9UYYwT69UarBHOT8kEZzAlK1RLd3KNIaXqmcLMQ6SRTMUXR4xVspGTnLWdsZLXPGVyMQz7nu1GeA/eeXaHnrA9EbCfsTTNWuKMUiRNMgC53ZyzH3pR4OVMLpGYRvF6l0rXCc3aBMchjgQFQjpvWK87LFLXtN5Kpq0WmlNMdGHF1BX6w6TMkkCNRYFjDav1SoY7tRDVk5+nDdlLoZ6y+MWT2jekDxlJMXN5cU3A03Ud/X7HMIwMwyg1kRcwqz/xpDTSdC3n57dlfTaSWLEfRzlTOUfMMIwTuVROT8+5ut7TdS2lJkyBJnj6w17W3SlijaNMmaZZ/dTl6t9hYnscxc+d76q/dioBy0ruRae2szwkTRlbZKOLccI4yZCdH/J5gZwnFfOG6oPXoiU9RQ40c4SA9Rgr2utSkk5otfvsDNZZja1h6ZjMFLTNekUumVLFG6O1gR7Osm6weiBTD4pkjFmqmUmjM/0vLp2SUqXzNMaJYANlqAo5QmVh5ZgxuJBS63K4ke57WiSQKWW8hxKjAoiiyG0NGq/BAuIqWfD16/V6mVqGppHFrlb6Xg/QxtA0Qv0riqivxqjMUr18+tZn+rBR2XVhJkIL4n95/UqYs0YOQkIvLvKak/hZcs68/fbbIuFGCKj2RjMCy9LNXmSWGCgsxD9rHVMaiSnhvFs+7/m6pnEkK5W16zqGsVc5UJXNxlmMCeT9frlufd+zWrWEIHh1YzK1TDQBhuESa2WSEGNPzj3WSpzA7e4EYxLrTWC18VAS1iXarmW99lxe7Ki1cnIqJGaJTzK6wFZydjRBuu/OO3I5UGrCeUNKe4mZah2lDFAqKTmCb4nTSGWSScxcWmlmbdxkHIJyD0NQH7j42JwT35Czhmk80LUtOMs4qIy9Hr2bxrSUKrYC550SXqVLnLPI8ENo1JYgJM5lFlXRSaUclCSWIUqEVQg4YxiHkSENIun2EnE0TZGYkmQIuwJdK/5LY/BKqXReOvm1GJ659yK3bz/DmCr37j3Lm289YBon/vo73+G1H7/Cr/zyz/O97/0lJycbnn32Ls5VTk5Ol66ttQ5nblJij3Ca2UcvwfNzIO1RubA00NSbyo3J7k+YFwGYYqRWy+c/9xt89OMf4/477/HHf/BHXF/ttJNrlwmpFNQKQ5FSUPH85YZ0dO7kixTVOfsT8uMbr2GWnur73mzW/MIv/ALvvvPuMiWbv++yFpUjmq/OoL76k5O9o7pjfu1H2u7NP38adrVMr6PcN867GwV5pW1b1hvxHx4Oe6xzOOfZ7XZY6+iHgc12S391QVarxDiODOPIyXotE50pYZPB+4Zb52dEfc4FLCXTnbPTE7abjuu9zExTSrzzzrtyrfVzrLmw3+2YpkkkiznztS9/idt37/HiS+/jVz/xCb7y5S8x30RV962UMqaU4+Ta3pjVztPvuZlR5wn3TI3OC+29lqLfx9yA5VW+8fVv8KEPf5hn7j3Lqz/+8TLZna+5WwBmN3IajWGuMo8T2b+pAmB5TccmjhSecjh99913+Of/1X/DRz/6ET7565/gpZfex59/8Yu89car4uW3IuNz84TY3YDg6H2WU1qo2POerrcYN9tF1hlu3z5ne7Lm2Wef4fU33uDRg8fce+YOMY6k3OvZRDgVN+5MYpp48PA+d+6cs96s6dYiszvs91xd7FmvK7VYQtNIuEdNUiDp4Xcmek8xchgHutCw6lpVCIlvrSKHtHEc8cayblc4ZwWmqZmk06w4mb1mRlQJzghbou97aSqrr77UQoqignFWJLTOSKRMJQkwzVqee+4ubRcITeBwGJimSGuVHWEN14ee1994wP37j4k5s9luWG9XjH1P4x2r1UrtP+BbzzgN2vg0zKkPKaaFyFtqJceIM4ZSglqXWJqgc2Z82zjW6xXbTcs4NvhwJlmbztF1K3wwOC9DhKvrS6ZJmrNJIxHlnk10XSfDBycNgZwLd87PSdPEer0WiOejS8Yx69nD6vlGkhNkIp41JlD8ijmJkitNmcO+13Vuln8bNps1uVSurq8FRhZFFRZjImUpTp2eQ2JOmGzISTKcR42oyVm83bP3OGcpWHOR5lUphf1uT/AN4zBx6HvhmpgbYMAqNjABH4nc+NicUivIjfc5g6FQHg467YwxUopbrDV9FjmzNF9FnRRjksibLDJj2zaYClOa5OydokhoNb5zJvZPOvGtSRtzKS9+4DhNHAa5piF44Z4YuQaHw0GowGpVrKUQS1W7gqwN1hrW3QbbhGV/sNbQ+I0Ux50wZDKy9ltjMd4es68Xro9EXtrF3ibKMx14EvNEaNxilxSOUFK1YNWiPmP07D8OIzEf97xcKgedgKdcOPQD3isEMBcuL69wGjmaa2azPRHLUKkc+gGMZLTT6cQYOXunUiV2y3hRESDxP+v1WtNaLClOMpkuhXEYmcZIrfK5P3r8kOvr64Ul44NfJqznd+/QPnxM3Iv0fbPZcDj0kledEy409P3AarUS6brWN0MvFguj1qTD4cB2u8FoM6Pofpdz4vLqWvLcqwBq9/trhmHg2WefY98PGOe5vr4mF2kgziTvOUkhZsmXnpIMP6Xh9T+CFHm+YeepgSwZgroOmg07H6DmEPKUpNtRq5UD6Qx4AZFjUlitV1hUSptZPKmiq3ciO1TZlC1WJmWIt6hpPLmqz6Q4SHmZeqB7uEAepPtXdOFwxoIVBLUEWquX1FicRzcsARLNkR9Gp7gxCzCEYJViWagOfOuIuRBLJqeJNEZc4/VBnQt3KQaLqZTM4i21Rjpk1jvZUDE4DUROWXwZUlwYxr7HBSfUNp1szsWh1YNLruCNw7rAMCVMruQSl8KdG53ncZIDhnSs5imCZBI6a3Glyu97kXWkVJ5qPhTk/cQyqVcnSAzK7CdyjlQLXgOdx3GkW0sG6txZrQrNAMs86p7pizlnqpVFYoZvzbAcYyypTBgMyRrMJIRenHi5k+a4zp6bYeh5/OQRbdtRc4JccEoYLjGx7lrxlJRIyYJ0dx5cmKd1o+biepHqaqSTD44pTRhb8I1ligNN9lhf1SfgCV7eSy5yIPLekycJO3cG8jSSa9L3bMlz5IrKzGe5W81RyIfm6RxTdUIu7kz5TBJTqoQmsA4KFMh58ScdhlEyDvNM+VWZkzFUlXLaG80bawOxVOIwcnF1yb27d5eDmDF+aUDlIlT0Qz/gQ8PucMAYyxBH2q7F5ErXeVxea/5cXKZYOWelpif6oYoX3xwjtM7Wp2w3Z1xeDFxdj7xoPdf7K0Jo+c3Pf56HD+7z/e8NfPDllwjecHKy4f0feB/OepVxS0av0wnn0RsIThUSCtqWBZW6NBBKKYsSA/V3Um80+uZDiUWIovrAiSwu8+u//ml+7dd/nYvHF/zBv/gDnjx5vEgypXiYN0w5Ort58nnD/wjHImEudOcol6flxj/xdYPws9/v+S//2T/jendNLUmvQVVvuag2slGZ1lwUcZykHbFUdZE8H3+fhX48E5LFCiKNrFyOxVacJqmfvFP5qnw35y0nJ1vWq5aryyuJ1UlCtTZVZPvbzRZjAiUnKKLewBiu93uMtUJEbVtyTTx8cknVqIs0JmIVX6M3lo/80i/xjb/8a8YpUzHshwNJEwAwEJPkPI7DgNlusaYyDj3f/uY3+PRv/ha//LFP8N477/LeO+/JdD9GiqlYb8mpaONgzuS+Kd+W9ZYbUkOje9AC/Jpj4HIWiqlOxaFiUuJH3/0uzge8yuHdjai5WcLK4pe2N+TOc6KAxdpjY7KW2W5kVakjucizb3eWo0sMW+arX/0qr776Kp/9zGf43X/73+GN117lL/7si1xfPsG5THB+kfPP77PUshSfxnCMkdI9W2wt9ng/Iwqu1neENrBZr7m4uODNt97gcNiz3qzxwTPFnpQnjBXK68xKgMqh3zOMe7q2o12tWW+25Gni4uIJVxdy+HPeafN7hihJI3YVI/0w0TUNoevItuCQIXY1KoPOUmi2TSPgJkS15qzKPY1wLlwVRVsIjcgCh544TsRJJoBNq0ySMWIMdE27SKDTJOomKZBhvVmLd9eKR7PkKnLDmJhi5vHVjjffeocnF3u2px0npy0nJycilZ5OWLdr2rZlt9+JPqBWjA8CHXTaBNdr4NtW9rooyiHalilmQtvo/Qa1Jk63HZvNmvVK/J7rVeDW6ZqmCez3O3wIbLcdMUf6w0gcJlIsjP2gRHkWG4Dkw4oqSoj30zKZn3kbbduy3a7Jec8wRpzTg3EujGMml90y1CBmqJHWexHjGU+KRbkvI03bktIoFHVgvz/gXVh80CkljHMLQHUYBrCG/jDinKfve4zx4tWNhURW0m6V+L+YKEUHPi5RnJLmZ39yTnq2Usipnonn4nGOaXnqWUqS5pBS0kaoALxy1VzkFLHFUothysciO8/MF+/ourDYGGqpTGNi1a7ls4iJoQjILnSy/gzDKE3xrluaCbloI7QWmq5liJGpRPaHPU3TaozUKD53kf7RdiuJ/yyQc2WaEuMocNJcwBHIUyXXiFfIZmhboZEb5eVF8T2XUkkZmkaYPSlFvUYO3zTEKWJNIKcB5534vRGl2BAnXLPSdBBDNWqPy6quKSJHdk7OqbmUWYAi62iKxEHPghUBLlX5zB4/ucIr8XhKE7UWthuJlXz85AHX1zuo8OjJJU0TGKeJszMW1otYLCz9MFGzJKRM48R+d2C93oIxXF5ek0vhcOh58viCXOHi0RNKrgTXMKWJKSWadUejcMim6WibFbsnTzgcei6vdlgv0KecrfAH1LIZQqAJYjeLSeL/vNeBWi2sNxu8lXrlMIzCITJw/8EjbZx43n3vgXr3DT967XWcD0wp0/c945iJuXI4ZKYx0XUNRdMNap305wkAdhyOMVb/pq+furC96ZF62nCFyFtMxWtYt0FlqEYKYBscqRSmItV3a0VO4VRK56xboCczZAIF1giQZ867Pfo9565kLZma0rIZsmzdc4yPHsMsC+Vz7irMhdMyMah1IXCKG1JkSnK4lz/PmgXnwo3sVitZaLHOIfUKdcqVql1IgyNm6XyVKnFBi1SGmVhrdKJXRGNeDLXIdfdedPU5JSHPpkKK4u+tlKU49d5TcmYcxyW4uwmBHKOAWhqZOkzaZDDWkMZI1utayjHv0jSNTlvnwlPl3rXIZzSTYst81ZdlV/8O4nFsGqZpYrvdsNlIaPeh74kKmqo3pvALDZajd/roBTtOi6yxOq2yi39bupYSVVRvkGrnw34IHu8q47SX4mtKUuQWgUGtN2uBKGnRv3glFSIjHcK6eFOGccRZLz6vJdtMssqGSWT0wUv2bAgt1ha8FkJt2ypwQIFcwVON+Fnnjcd7v0yeb8K0ZiqNme9unbDFqBN3JzrWrOTYrFXjqm2xiOReDpKOoij7kudYJPXqOZW3ziCZlJniQUM5YYqJi6tr9vu9dGTXK5luTCPb0y0rvxJJSylYKtN4oN8faJwQB7N2vp11WOd5+OgRpUoHWtYa8YDHGBn6HaenZ9y6dZvbt+4QR50Ex8o4Ri4urrhz+y7nZ6e889YbnJ+ecHqy4tln7vDsM/fUd1Zom/USh3Oz+JvvqaSbm1C+60IBl1tdDhxV8+Lme2P2cFaOfldrzZJBOBNTP/Dyy/zGb32eGCN//Ad/xJtvvrl0zWf/7ux1nO/9+RXOHXljjq/75hTubytkj5O3o1/0SGQv7Pc7vZ8KzoWn/u3sRVpkrTeL279lavvUz+M4OL7p2Zy9lst/WvDnnBbvzBG2JDLxrmsxBi4uLrh75xnxDe12NGvPer2haVqmQ1oUP8vP1J+70D8nWdtCEFJmnTNeDbgqPcpDHJdCSjyRohQJoeH111/nfc8/z2a1Zr3uqMbw6o9+yHMvvMSHfu5n+fTnPs9/98//OVMcJbdQqapQyDlpjJuszzeumE7+wPD0tZS+STlKufW9WHdUN82S8aLwImMNzntyjEsTbL6W8hnOn5m2v25CrmYbjyk/8SKOVOyn77GiHsDKo0cP+b3f/0PeeusdPvu5T/Ef/Sf/U7765b/gh698nzJFaVro251VEUv80I1mDBylo/O+MkdFzc+UWDZanrl7jzu3bnF5dclrr7/O4frAarvGWc+YRiEIj3ua4GnaoPF7I8MoTbImNDg8p2dnjIeeq6sr+r7XiLH1fMWZpkjfj1KI5kwfReZrqZQk9491nk3XYTWmCqWeF20UpJxIaAZ90ESIJHTjqmkJwj0wC8HZGFGb+TDnu0aFZMozs1VfojGGcRQ2Rxs8xcD1YeTNt9/l6nrHquv4uZdfoO1aQicRPDWzTHd2V0/k+Ws7yQLVPa8/7MW7220WRYdIbyUyZooyMSq5sGpbGt/StZVVt5Gs2M5TSma9ktiUtgmsu1ayso341schMU2RkuX+bELDMIziN3SO/U7iQFotvFarlcKT4lKgzXtjPwgEcn7+s3oYUxI2xjgM2qw0JDthgKAFzrLmKzBMmpBpeebm9TAEiY+0zuGtY7/bsdquGEbxW1dVIxadPN7MChXo5twHlPiYagqkpFGRx7VRit8CxdAEv5xr5tczFxzzMyrnvmOW8EzrRvclq/vdGKcF/rler2hbyWrPOeF06j4X7OtuhW2DnicqqRpsjNT+QBMCp9tOIZFeX1uVwdU4cHF5QSqF7empPntyPhuGAymFRZHnXaBoskqtYkWKkwx35PwjwCdjJb7PaGZxrlHPJceM9GkSMCDaJJb9Upok2YgNbxwn9clK067mY2NxTgkRYm9YGgjGWPphUBuNqG7SNNH4oOtR0ax0JfM7yTuOKS7xg84ZgjdSRI89Ty6vqMCbb75DP46cn5/zznv3yRkO6tEdhoF7d+9qzuyOx4+uaNuGh4+ekOPAxeU1Z+entG1LyvK5ppQ5HA443/DOu+/iTeDQH7BOzwzG0rSB66sr4sNH5JRZrzdiHfSBbtUsU//9oV/u37kBEppAjfJzhrEnpcTJyalcuyApHZeXV3JNreGNN98Soj2OwzBI1FZwXF5dg7E8c++eMHzwDMPI9fWeqKBIH3RqGxOrVSvTauc5DAd+2q+/w8TWqO1wzihST4MxKpERQ32dAUKLP0AptimBLjjOq4/I2mMRktAsN4loyaXIDa2HX2Mk71DkvEllBtLtKblibTlOD/SmXyYoJlOLxA8Z68klCpxKfWPGWtyNaIq5QzAvvOKOlgmPdxVsxihFNk2TTHBNxs101OyIKr2ccyS9QwhtSo62bpbyIpPkUonZSI4flsOhxxurMgjtYqdEcIFVaJlS0vG94uOtmP6NdxRXSTUL4bMWYilMMWGqYdUqgKGKxHScIqlEsh7WTbUySTYGUwXm5I103o21JPW0LgIylSyXnJbPiVowmhkmAfQRg/g6Yi1qvs/EKeKUzFeygClyzCKFWeAjhRBUSlPqQgOd5QmlFKxK9rCW1aql1Kj0YplEXlxcgMnYYMhloqQI1UjGmRb0q7UQd/M0QbK6yRcK8rOoScFp8vOiZmgWWzBZZCg2gLdC+KRkcGaBFngrklKDbIyyqSbaptXDZ16aJ1OSzWme7AYvcCfrgizKxWNMi6lODqd6vaep5+o644MU4RWIU2S9FkjA2CSNGRBKZ+M8jZPXFTV3WsKztRh2jiEKCXy7WS+ToFqqQKX0wLHb7/XwsQYTGAbJk8sqUbu1PSXFxGknUSoxq78piayuMYaz7ZaL3TWFCe9lIQ4GbPWcbM44P7/NyckJ1/sDh37gwZMHONdxcXXFdrulHw585auvcLZZ88ydW9y7e87ZyTk1S35a6LrlADkf9ufD9LFwVPBJuSnhFN9nigJtOcq/Z0jaUb47byJu3kyq/JwXX3qZf/xP/inWWb7wh1/gh6+8QqmJolL7mxD7xaawyAFZisubUjVmkJthkXMupx1mX2/V7r2lKjzpueee45lnnuWb3/zLhcJ8lLCq5UKbevxE8Xpzqvw394cjGOdIidaieAHTRf33XpuCcr8F5ylGIi7mvOAQGrpuDRimcWQYejCF6/0Vt7pzmbi2LeOwF0iTen/Pzs8EVpgzz957hjfffl39v4VplAOuqxXrDc4FppC4fbJlt3tArunYHFOqb7PqKDi+870f0IQVz4aGEOSe+cbXvsIzLzzHrTt3+JVf/VW+/OdfJMioRGS8HIttLd3089Pi5ScaAPIeZOoyR9hWLcCrFfmcZYZi1aNPuVTadsU/+Ae/zcP33uNbX/+6ZurWJafxpuy4PtV0mG81c+OAfaRgz/eiNDaNpsYL8kpo+pVp7PnWN7/JW6+/zsc//nE+95t/n1/8yC/zpS/+Oe+98/YirzdWpq86/r+hWDLLazLqxJZzRL5xfWbictVc+o67t1rOtmfs93tef/MNhv2BtmtJY+bVH/yAJw8eyLprlIRqDClHdhc7+sPIuu145s49Ts9PqaVwvdszjCOXl5eExtM2Kw6HQcn9BTNlhS3KhPZ0u5EoNfWRTalSJ1n7rJlVEIbg5XBWsiPlxDRMxDiJXHv2Rc9FiioYhCMiwKMSk94cRgr4ILTWFMXPNowCJnrrrfu8/vZ7tK3n5fe/jzu3T0UllrKoB4rA66b9npgyq8ZjjOf09JxVt+by8lLX8sJ2vRI2xaEn5olp7CX20EskonWIqsl2rJo1Z5sOTKFpAuvVhquLa7xrjralXEhTFAhOdVRbMY3AaXLOxHhYrG5S2Aud1zUO4yyb9Yrt6QaK+CiHUYA2pUg8SdN6PaR7jUqS4rX1jpos/dDTOM9uGFmvV3h3VBRuNmvxTCeDiWCLoVarXsOKc0Foy1mkldaJJLSUqoMCYQzkVABHinretA05G6ZJ9xYdnExjwiZHP+1p2paa1es5P1vG6n0G1nriJMMM4wxFY40MDustxR2J49ZaUpVQxzY4mlUQxaOp2CDyzs1qRQhSwHVdx26/px9G+vFKoEIpM+VETYY+ZkzKkp9aD2xOOsIq4FedSI33e2lAKvB0Uon9EKMAgLot1MrYD3g/050hhI6cRP1njXg0vfOMdY5Km9WQFZs1Cs1bDoPGPjlLMY6SIRdLSkb360zwTmwjQfyYtVRyTaQblpklik8tTvK5yToxK43kM5U9T3rDmhHsw6KqcT7o8K0uxd80jTLswUqNZKHpOlwION9Qi+HJ5RXX+wMXF1ekbBYv/8XFBWMUavfLL3/oCOYcJ+6tWt57+JDhcM3V1RWX+71YlTRjuXGek+0Z795/wGE/YqpAw3wjzQcfOsbxmiEmXBlwQNMYhmnger9js13LqaYWrDfYYDBVaOZTSqK0bKRc7AdVvnlAs2XHcRSPsfcEH9hdXTOOI6EJEoMX5XvMkK/gGz0rSOaxsycMOTEMhqY0iBAr03WSUlBtJj6lDvsf/vqpC1s5tLinDlVPxU3c8GMKtVS7HDrhk5zYVn7o3HGxFRcctrAcdJaipchN7ipCFpuPbHMmbSmSQapdtZyk2+SdhHAv/XDtXDnvtCOXtfCuR30ViIcPhVtZs2RU5pxICZzR4tHIlBglyM4bTmg8/Thx6Ce2my2rbUPcy0NSdQoZmrAcrkuWgrqovjzljG8qIMW7SNrkANU5J3EI3ut432FVLjBPD0Oj8UIaxxLjHF0wXyMlj/W9bBLbLZvNmvfuP1z80k8dThfgiHyexodlCi6HI6NHNbNkFBun04GsHuVS8G2LdxK+nnJi2I9Y45f5kRAe9TBVZJIeqkCDBMGfNYtWjjvlxgI1e5KNUhqbRrL9ShJE/zzJ7vsDvpHXFrzBNl6nVeIbqLUqet5iC2AKg06TjXq1xTdlBU2u+QzCRTFC0suwOVmz3raUkhiGOQLA4vUea0KQTifSJJD8YfFRNU2jknlodGGfnwdzYyJWSyGnSKmjfmYKmzCGZ+7cpe8f0O/3ZAo+NGw2GzabDWkaySlxeXXJer3hZL3FWCfdSQWszcV2rZWcIvv9jutDD7XK9KNplvVgOYRay+npKVOc2O33WOPIRWTnc1fdO08bGlJqmaaRqvekUCmPFNjNesXb77ylHkPo2o5n777AenPKbrfnwYNHetDKdKs1wa/ZbLY8fnLJD3/4Q7bbDW3bcOfOLW6dnzONkRBaNpsN1Zq/WadxLBrn6zxHosy/l5PIVud172Z0zTwHNYblefHBqzpEmm7n57f47d/5XU5OTvmzP/8LvvHNb5DyLKmZJ4RV/ZBHorhMFDWrNZen1l5uKGjQIsAa+1QhejO65ea07VOf/oxAI/I3pKgMT0+v9WX9rT7ap/eD+c+e3iOYr5VO/OS9HSm485o5l3qznHop2JefLV30eT8xFjabDbvdjmeff3aZsLVeYnKm/kDNiSmOGiEk3sPVes00Dcf8X332mrbhueee44c/+jHPP3eH+4+fcBhu0K91rcml8NL7XuJHP3iFO2dvsVq1nJ9vcc6x213z7b/8Jr/+md/gFz7yEd56/TXee+dNQhAiegGCCRrPVp+6VvK/Z5b8/H/rMXpm0bzrlarKPbiRM2z9sQEyjCNf/LM/47Of+w2eef8HeOuN17Xf4dRfdqQ2P+3F5sZ9fFMNcFP6zjK1+ImnZ/msM5n799/jT//kT3nrnff49Gc/yT/6d/8Jf/Wtv+Svvv51xn6PdwYXPMbpVHaOG+Jp2XNm4a0dTfvl2LypGg+E7tvb7Zaf+/DPst/vefONHzOOA1/78pd5cvlksbbMzRvvPG2HTkMNV8OedSf01meff5bd/kDTSizabtez3x00Z9moBE+ilrZbWT9jSsue6NUSRBUfp3eWphHVwThK/urcOJnzb5kVGYj0VmjJaYEyzVOz0DQqNT/O910QwNGDB1dcPrrgcBh46dm7PPf8HbYnG0DORNaKZ28YxF+5Xq0W713TBMZx4vr6mt3umrbtOOtWJJ08VQRkZSysVp3QUkskWE8bHKYmShFQXtc1NE1YMsBzFnDN2EsxKYoJiVYMPlBqIgQ4PZX1XdQyTotnidipFbq2ZbVaQa08eXyhvAGJenS+1YnyPN3MS/O5aWQyWdQaU0rh7OyMcRwopXB5+YSzszMlY2eMSsubrsWqt31uLt9shIpypy6grXlymLN6y73cP6XOObmqNtMoqZSkaQHir1S9z7LmUAsGr99PVF3WijVkbsJKzFlYLAY3eqHLvTrFKGwMy9LQ7lbd4hvPClSqeg6uOpGe98CZOL9eC7l3s1lRqtCvU4wqUb9Btw9yRvQqJW+9KMGcxv9ZK+WGNdKw2O32DLHQrlaiHisCtsq14Mz8b+ySPOCdJ6VCToWxn6jVKpBLIWvqX665UNzxPDuzDGbF0xSfTvuY991CUdKy/OyswwGMUVisxzm/NBHm1IKq9ZBYttKRmWCO0nqQe7TWyqQF3+nZCblO+DaQpkS3csRa8BaeXD5itVrTdY2oQw1cXF2R40CuhX4YF4CWdw688E5E/STXw2IJtiFOk/hr46ifN0vntBoYphE7yMAtpshms5HYnf2B3YMDVVV9tfVLpNecQhJC4Hq3g1oXHspMfLfWijLRCqjWauxXSqIobdtGoLna3DMGaWCDpOBgNJ5T1Hv/o1CRay7EGslJ4BaFGzeOfs0ykfnrKTmcKbrRmkXelKeEt168sNyYQiAyrlItJSesTpOC84Ild4YUI3k6RnfI5icyTFOl8LDWkoFsxIPlvXTEkmbvLj/VWQV+JIytpDxhjdcbU6Qpq2YFxjClqHLZKpON+QbWRdBZARQYzSGNWQiBwTuh/VHAeHwIxJSoJQn4w8lHkTTAez48O6dZWjegU+MYBWaQ0hIPIOuhkPOoIncxFIllqkgHUSNg5i7k+fk59x89omYh2uWcheLq5GHOemDOFZxGtyyyGL3keT68OqvAMCHaMudVgnhT1J+4/HqJxigLJDMXUQHUnLDeCxXQssiwZ08jcx5k1nvCukX6GadJNoOhUCjY4PDOUnPGVNi0G8ZhINeKqwhVGJm8e+dFHlxRD63BtvK+2hDkkKCLtMlGmyVWNyZZYAXdn0QWbqxE+tTCFCNRH36n3eRYEsY7sjEMRbzQcyTIXMxOungYI3AUixMSt/OS/VXLU9E8K3/G0AQudlcie+t7dpdX3Lt7l+3ZGRU4HHpKgie18MydOwRTNOJH7rfNZo2bRqY0sWplIRqGiWGQ7uFmvaJppBtcStIAcIFIuEY2IvE3S2zCOEbZECT+GIqha9eLzLuPPSFI5/RwcUXbrTjb3uLDH/wZhl3P/Xfus9vtJcqBivMNH/zgzwKOV3/8I1599Q1eeOF5nn3mHiXKxjT0E127Zn2yXuByIg27OaGsSzyCMuLmkBzdUIVqXG94uqNK1+BIuK1GPDjOGaw3lCyHns16yz/8nd9ltV7zp1/4Al/60pcoOWHsjE87CoQr9W9M8MhFrAxPFap26ccZFZOYUpQJdMy0ndfmY7Ei3/Iv/vzPFN4hZHPrwo2CRceEhht+/L/Fr3vTdPAT631FZXamqvxYGkFWfafWiI9xnhJajD53R3uBFCIVH8SqMsSRw7hjc9qx7/cYC9e7Hc/evcPrrz1kvW4J6wYI5Jho24aYMo+ePCIET9NsqfrshRBYr9YaqTXRdZ5b51tefP4uP/rxg6dlwdpA3W5PePmDH+QHr/yA51+8x2rdsl55bIFXv/d9XnjhJd738gf53N//+/zef/XP2O+u1Uog0yJs1uJFJYnMckIre1211HmavQw06xIFJNAuWfuqMhVkHZ0p1/L/r6/2/NHv/6FMI4ool+RWtxhTFgDZDaO43k/pJxoUTzczBPJoZge0TNepmHJDRq1U43E88Nd//R1ef/N1PvFrv8rHP/7LfOhDH+RLX/yXvPnmG+Rc8ar+qSYv9z6aHz3HxJDVejQTwVEpvhPw1WydmAty7z3n5+ecn/8K17tr3njzdeI0sV5tGaeBYnsqlc36hCZUDodepzeJy90FVwdDGxradsXdZ++JzefBY9595z1ylkK0dJJRW0rChY4U9+QcFUJneOn5F3n85L7aQcSikqr44lJKlCyNMR+cFgNOGum63ojPstJpnnaMUfaiOYLQSPwcgPGevp94/bW3efLkihefu8MLz9/h/OxESbNRVDiaB0rJtMGyWW1lqh1FLXRxccl+vyfGyO2zU5quW+LbRJ4qXuG2kUxW14Kj0HrLc/dukVOi7Zy8J1sY08g0JpG+HjRGxAHW4b2QfGsuxGGk7ycqDu9bau2JU2az7ZZp3TD2nK3PFSIFQ98zxJGk0L6u62Q/dY4hTex2O1KZaBVihYNqK+26Y0ijZJMGx0l3wuFwYEqRmAsPH1+w1ZzibCr9NNI0DeMQZSiiUFDUtx5Cx37Xkyk0bUNNBZKhcR3WWIYyUosVmv4MxzRHmJRIaWdQGmILM0c1FLXitBGbKzrQEDaMMMSkmVdJ1Brk+XFOVTmSz2utoWmcxCw1QSP4AmmJ6pTzzzCMpJyx3slznxPTMGIxTGNkvVphjGW16nQIkTjsD5J5jJxzs9P4qlJou45WoVX7fS/RZF3H1dUVKWWldydSGun7kThlqSmKnl9VHTqrbFISKnbbNArT2ut5Q6JGc5HpqxCQDS0Nzgo/ZPZir1adTDed7D1zASp2wTnC9AaLQIdOuSbJaTWWSRk4Yu8tBGPxRtZvpzyYUhM+zPBciV1LNTFEgX/aCjErz8dC13qMNbSrjlXbiu1qGogaUSrNrUzbeJmW1krWKMf1ei1E9VEiNKdxoDtpue3O2e1HTCcsikMcqLaSfaVtOqY00m1asskMeaTrOsY0UPusVjoY+oPYsMpR6doGKWrleZazaGg8TeOJCuQVgJ+slSmJOhCNrLIa69o2Hh+2dG2nKl7J0PZOJu0S/Zdo2sDhcCDmSDGFXBIm/G1nkb/96+8Q96MP4tzVMUVQ7YuXh8XTOPuAZhmdxaomXW6YasXPFmMU0Efjl0w372dIRl4OSxK98bS/TAqZ43SjZHlo5g6asepnkN2XkjOxonRYB8UscsKb3i+q0p6N0mqdJfiV+oDlYGutpSQopqhPWKFHxqocIUO05D5iq6FR6utms1m8micnurhOcfGSxqUDOPss5SC4HEg4TjOyLrj9MEh+4zAIXt6g3tyCt26JVPCqg58nJJeXAnMYx4la4d6t24ucwFi3gE5KMUtB6+YpLk9Hjyzdr1qWQOb5Hjh6c1WWjhUcunq0vPNaONhj3MiNieBMh0VhCiklgpUJdtRFas7flG6wIO8vLi4ITcB3gWYV5J6qVgt/lo7SPE312g0vsWhunnzejW8wrtKETiS2VQjDqYyUJJNmkdEH4pSFGkRR2MOE0UVxnCQD7+7du9JhjJFYRGKkoXaQ5XAX3Bydcuz2xZi5d/cFfuEXP0bTbDB2xenpFts01Fp4+eWX+Yf/8B/xF1/472hDwFtH3/ckCvurHY8fPuLs5P1sN1u6ds3u0HPx+BKH4fbpGZ23So21IvVJidYHiTxhIsXIMIzEKJ9vaMQrK3AnOYD7IDFSs5IiThHbObUWiQxLQDplOczOh9J5bXBOPDOnZ/f4X/1v/vf8v/4f/xlPHu+wVqbxq27Fz/38R7m82PO9H7zC5eUlH/zQBxn6Az945QfcOjnh/HQjVoYkXnLJPfVHD/6NhlxR+evcQKo3smNngM0M5TD2mCla9QGZB6XSJQ8quxOp9W/9/d+mbdf86R//Cd/73g/UdzlLhc2NAvHoMazHF7nEWxhrl2JDJOsy2RG/n5LD7cwYmCNUfsL3quvyg4cP5tpV19qjBHVex2++NvMTf758K13fb/6I+e/NDvAj6+Rm+YK+V32N1goxVTKX9FpC2zY0weO9Z4h5IWWO4yhdXGNouhZjHFdX1zM7iuBU7jkJiXbVST7xPKHq+34hbx4OB4L3nJ6e8DMfepn33rumr0dv63xtrq4uuXvnDg/eeZdXX31VGjs+0DhHmiJf//KXuXPvHtuTU37lE5/ki3/8R9KgLQVnpVG4xCfclPg+dT3tjbaKNgWrNFBnZQsVgexoXJa4L46NCDPTs7MWh0i2tXwuRmV+ZpmGZ2UTPHXfzTfKDRiakHPrMpmZI53mqakU3bP0FnKeuLp8wr/8wr/kBz94hU9/+lP87j/5d3nztR/zr774RQ5XlxhnqK5inOz0dlYumLnhw0LsXe4rM++B84TZPqUImG/gk5MTPvyzH2a/3/Paa29ANWxWd0kp8omPf4bv/+C7HPZvaFyeEQWREalmPkgDIPiG555/npPTM/pDz/X1nvfee8jb777L2fkJ+/1Eo1nuZ2dnfOKTn+I//V/+b/k//5/+DxwuHhBTUbqqWIa89+Kn1KafFLKq/nA6rStlsfMM4yDNwDpP6iolVqSeNzx89xFvv3Ofxnk++IHneeG5Z4UgrJPBStH1Vj7frhNgoLF2UQ4d+gPWWp597lmoME6Rfs7SVRuL0euz6hqCt6xXHeuuZd11nGzFj1wQlduYRJYobAKJJMxFMs1ZpvNGigS1eg3DgZjLjAKQsxzQdi1t14pUt1Su9lfEaZQJZy2crNZLJnvOEidyer4lqLWp7ydiGgmNrO1t2zCO02I1K1kaVnNUzXKuqQIzFIaDQP/OzlaynwkFdJlw7q533GpuKQ9B+BBSEMz+cUltyKmS9RoJkE5iUBS9uayl1lpwEKfZAy/KDW+dNnTM4nlEwVPzOWz259aU8L6l6zpZD72895QHhVGJwmCMibPTU6zzpGmk8WJxSCmx2+8Xf7CkFYzk3FAoDOOwTD51RRBrgPdMQ5LzpLUc+l7ga11L4x3WOlKMxCkqKGpSS1oVb63K0J0OKo7tfZH5zkOzmZpt5lQS70hpEltJTssKNvtkZ8qundkHN1SmRpusSYdXpWSpaQq63zjaVhR5uUjO/BQnATs6nXiqTck6WUOdFxvinLSSi6gmmhCoRRtjVbg+Fsd6u8F5z7rryDmyyp1GeznGcVyuVU6JrmtpgsMHz37oqVlAU5dXlwJ/UulyygmvKoTD4YB3jsurKzZdJ4R171itV1zvdvT9AYtRir5ZYH9VfeWnJycMB1FcXFw+Yb1ei3dd92yr60vwXqyE6gOv+iznklU9tWGcRjLQqI1NakOnWcLyJZ+nsG9YzsCyzm63W37ar59eilwdtkpWqfeepHCVefxvrORalSReM1utbjkiyZojZ3ItQqjTxURw5GgmpMp6g4cqsJyubWmdfEh5EkKuwS1jeFnYJoZxwjkvxGPVAuaaxcdmnYAd1GjvvCMBOIcpUMZMKhGqJWcjcTAmK9VTpXNG8m0Fuz/TT81yYAdofCtFpZcs2nHoIRl8MTgs69WWzWrNMPSCqo+JnEQy6lyQ2iZL1IOdmwIL/EOkJ6UIyCdOUTo7pdL6RhdekTiEtmXYSxCzsbNXIC/B3h6HDZ7HF9cchgkfLJtNx/ZkxfVr1zgbjoWHVS9pOR68SynEnEgaGu3VP4UefHKSaVDwjkxl0ggFU+eiVTpkxkkXGmfJtRKqRhxVPShhcMaRkjQQqspapEhWX6tO32Y516prSTNAIWXIDpcMrvWUNBLHRE5yD9UifoYKBBvUmwfjmGgaT3VyP1NhGjMOR8AzjROxj8RYltfQNA2kgsXTrdZQJ8b9QExCiWuaDu8DrlhyFUT7MMmfBWRhQAFa024SqmvjcK5ijUxqN5vn+bVP/WN811FL0sUDcjHcOj3j5z78Uf7VF76AKdecb7Zs2obD4YBZr3FNw5uvvcEwRc5u3eb89IzTbsN+t+PRw8fcvX0mE9U4sFmtiWMUmUgbaJxnjNMSMyWSFfGbpiKyc+eNyrEitQgAgiLTS4IoKbIxFI3BqEYKylKL+AoXOJghjpn77z7mhz/6MdWtObn9LCe34Pz8Nle7He++94C/+qvvcHpyzi/84i/y49de5a+/86956cUXMSWx31/wwnPP061XDGOvkj+RxTShW0iepc7QnDknti5AiVqFxp4n9Z0Eq34l9fyor24p5KoRInopuBD4/G/9Jj/78z/PW2+9w49eeZU4Dlht1s11rdW1ZRGILjL7WZ0hRXS5Ecki8A0FhM1l7DxBuyndnGWrpmped8uqCez7vcipa1bC5LHQlh8xbwlHRcXsuzzWYnNxw41JHk81B2fP67xOYmbqcT3+O712IuOy5Bq1qJRA+eA8wQXGsTIOCv+wnr4f2KzXIt8Mgd1hRxu8+Pqd5Cdrn4xpGDFtVYmZJcbMw8Nj2qZhjIkxSZd4u1nxzJ1TXnvnCXmaJLqCwjQN7HZXnJ9u+dAHP8BffuubPP/cszIp2ohXb3f1hG989St89jd/iw/9/C/w+htv8tor38eauqhXjDOYMksWlpasdoHrUkzCETI1MxrFnzcXmlrwqmQxz01Dc4QvSZas5ezsnI9+7KN88+tf57333l7iG5YmtJlBRz8Rx7RMzuXL3mhsVGVnyMdsFtetTKD0ven6ncbMmz9+jYf3H/GJX/tVfu3XPsa/95/8J/zVV7/GX33rmwK+coBT3+xyFYymK6jSoM656nPBME+x61ONdN2wMFSCaTk9DfziL5yy3+95443Xud5d8/Wvf13VY9KAK/KCMV6inUwx9OOB3WHH5dUVZ2fn3HrmNie3z9icbJnixINHD3nw8BHb1UbkdustcYwMT56wv/+EwxRJOeJtwZiMdfIsOC/XLI/S0MHJZDKqUqlViu51vxe4DoZYKsFZYoUxJq6urrl//wExRc7Otrz43F1unW8liqSfMFXyNqllmexThZDrvCGVwvVhxziKxO/szhklF4bDoDA38eOmKeONV8iQgF+2J2stVKQwFktFXbzEUad/Yyxksv56woUTqnWMMWvjJdP3o0TGtQ3TvicXOQfZ4BnjyLZt2B12XF9ds1lvuL7cMQ4HVpuWs7NTNqsV0zhxcXXFlDN3n7nD6dkZ0zhx/71HwnFwnmoMV7udUgMKu91OKNTec3Z2xsXFxZLbO01REzk8+8MBpzT+GMW+FoJkZTvnqVb3sSq5zaExS/OaenMAUJfnaV4fhZQtk9VaKlYzszECiBvL8VxRKFT1Ypd6jPJxOFFvBCmoTRQwUqkJaz3OV8ZxYrs9wTcNDCNtt+Lq6lpe/xTph0F95xUbpbE0jBnvCqUtOlxKrJpAcAFclqLTyr4hhGOZxrdth7Oe/WHP4epKrHWh0XtRbFjjYWSYIocxaqSLoEioVSxiOJxR25kq9Oa6IKWsNjz5rBrl3kyaX2w1LjTGKg2zgsSMepGnh+AUsikSeVFneiGbp6IApnFp3M1qKmstSaOuRm3i51zox1FUTcYIgA2Hs4UxTqq2QcBo1VCwGmckjasYE61pWK1aqnUM44S3krSB2vpSjFAKHksqwoZJWd7/GCdiHrm67klZrZXRMgwTpiAKUAqNhxxEluxw7A57TrYn7PYHzs/PWK06af6u1qQp4a2j7TooWdRjBRrrSUEmqE7Bn9LoUA6FirOclXu5DY1O3TPVW4INUsy2LcVayihqgLZbkXzisB/woaViaNpu2YemSe6RaRhpfGCMI2V/HDr8m75+6sJ2Js/OvzbqOZwBIHO/WSZdDmvFP+et0Ywo6QrUIl2MkufsWCtkMWMX/dvcyQlqcPdVut9JfQx2JpHWQlXCcIxJ5Y4zzVgzBEvFmSWOdllYsk4iDSyFao6Joh2Fmfo405rniBmnk5EcJ6qxS3Ys6vfZ7wZyTqzWHee319RJYm1CY4lxYpdFQnN5ccU0peX9ig/Yk8hLMPoiUSp5iX1B8xZ9CEw6rV11Hdf7Hd2q0/B4R2hbgTpp181UKCnRaNTJOPQ472gbT0yRhw8fcO+ZZ8QHkwVtbxRuE6N0aOpMGS6FrLTdJjTq+1JKsjEqKZv7eU8f2OeGxCKfviEnizVjSsV6f4NMZ9RzJDIHH4KAphZqsFVJmchp5kmHtUKVzKUwjKPenfKZzvfjHNMSp0gOkpNVsoSRj+MoG63PuGrZXR8wplBsUaK0vocii7t0kiXMPk2O9WpF0xhKPZBK5vrqSoruQaS8MY8QGoZpotTMlIt4aYzFRBgPifbeuXR2i7yfk9Mz7j33zCK7nr/k8FcpeVjAabhKEwLN2RmrrmPf94xxoj/01PqYxgdWTcvp6YYYR6YURbbZtsSSZYHTLGTnHb54Vg1yqFFvt9HicJ4aHrNQDUE7sDnnRaqS9eDrrEymqztmyxkjXqpSKzmPvPPOu/yz//K/4K033+QXf/7nWa837A4HXnvzLV5//Q0++MEPcbI94y+/9U1e+dH3OTlp6FaZUneEsMY5w/X1Faenp3ofOT3414X6W2/Ir+dn8Nj91smXnFOwRn2uCnqrzNm2xyFsjCK5/tSnPsXHf/UTXO92/Mkf/ynX19e4Ixz2Ru159LTPkWboplCKWixueFnNjbxZXTyf8m7OBU49LtUincqFT3zyE3z4Zz/M//M//78zDD3OWJVXP+2TPXa0b4KqZun10/Co45Tv+Kw+9fvHyuzYJZ9hWwj1EG1SueCJcZR7qlS8lwlr17VcHwaudztiTNw6P6c/9JydnDD2IyfbMy6ePCbGOc5soms7geM5iw8isUvTxOPHj8lZpoAzfXuGqOx3PS+8+CxvvfeYmiO1HLv/Dx4+5NbZGXfPb3P33l2++rWv8fe2G5FVuZZK4UevfJ/3vf8DvP+DH+JTn/0sD959m35/LQ3duejP84dpj2vHcn3103pqkFuX6aWZYWLHP1oiuuQvHNdbY0Xl9ODhfb7z7b/iU5/5FN/+13/Fo4cPl3X4ZrjB7AWbDxVHPoZ868UDPT8z8yteGkJFJ5/zgV5eoNUp7thf8a/+4ou89uoP+Y3Pf45PfO5zvP/DH+JLf/4veeedt6HIZ1U0IQG9T8w88rezd1sKZumpVMxyAGVJO7A37luncu2TkxN+6Zc+wm6347W3Xme/37FerzCmkvNBJKraFIialmCdo5bM5fVjdsMVq/WaZuP41U/9Mo8eXfLX3/keu6sdAA8fPuQvv/41PvHM+5jeekC/8UwlsVlJHI8tohSbokRcYCzNzcxnPSCnkkm5CmzFGqI2a3NK7A8jDx4+5vr6mtV6zUv3nme7bVk1zQJfnOIE3i8RN23TkpT42jWBGKP6SzPn51uapmOaZEI3jBOGo6c9BMf5+QltKwq69WalDW6JZZE4KF2v5rVQ9+RSy0Lxb1qBMF5eXUoEmnocrRH70NBLznzOiX4csN4yTCNvvfWurBUtygPZ4J3h1p1Tzs/POOz3THGi6QJ3bz3DGDODRiflkvE+iJz6cmLoD5yfngCVbuVlqp0hKb1WpkRZ7TPisx2Ggc16q022jv1+j5ljf3RiuV6v1V9tjj5atcExYwaWxtPRkzkTs2dvtsi95d4vlOUMdzNe09xgKFhrBTi1NKGOTIYQAkGtW63up6UKtbjkskj4Sy6ahyok32TSsrcYK37Z2R56cnoqwyanKk0q/SBRlKYY8nTQ9U3OMCB+7JOzE2n4xkjOhXGMVDylQIrilXXOE3yjSlC7qC+K2rJEVXScunrnxR42Jc2ozcseaK0lRUktIYtiItiwNPJQS6XNMuW31aoFUOuOmBjsKJPU9Vqa2OWYsJFUjRjjII2ONkghWiGrrSnnTNGzAiollvixI7/DGFFr5Cz5s7vdjmkYWXdB4hCNoR/2jMOE963uiYVhGMTH3jYwDtRSWM1kbyu4XgxYV5mmgbZtWa06uorGHiX9zGWo1rat2iZvnt8suURN6zDs93t8E7i6vFruH+880zgIoFAL9pkm7pxMlMcUl5ScucHjnPzcWWXRhIbVaoVzQQrpVPBdoI9J7HVYQmiWjGlrn9oc/we//k7wqBlsUIvi+KsUG50XuFMuM33QU6o9ZuI5HUvP0CGNq6mKxq9F4lWs8do5KVrYOeKYKIrenemXVUEbzsliMV9U8SroJFD9ceJNkINo8I4xRmKVbF1TLBaLt/KwTXnC2bD4kErKklvnvR4cJHssJZnulix5oblI3NA4jbjGEmwn0owYWa9aunZFsC2HJz2H3UEPWCrRwc5GPfV1Qtt2HPYHpSVDqiKTqIPRwjBAhXXbSCZn42hyo3h16QilotNxPWjYefOuIr24c2tL8I4nF5HSSXD640dPFuImZZagGZz+JzRkMatPsRKs9tbr0xObWire2qMVNqkUS53NFiM5bnVG4qcF3uOMgKZ8CNSkvl6NVSio4lu9Dr4egQzH/EahFmLl73lb8F7aLkFp2wVDipUUDU1oyUbI2illSp4D3kVukrP4IWIWb3Uxjr6fFihS40XaMeZCHHoojlpaYqo4W2lXa1wacZ0AM8iG4TBImD3iI+ynQbM35f3knOimjKmGkuWa5UUlYHWisSTvKCTNYL2XrDUFW7SNxDeEEFjr89KGTrrZSDxBVFCJb7zkiQ17gnd0IcjCpPmfM5gr16LxXgZjvGywurlWAzZ4suadoaHoed4YcpLXHxQUoaHcwTcqXZX7KITABz7wAv/z/9n/gi/9q7/gzTfe5MGjt/ju976Pt45f/sivsNvv+erXvsy7777N3btr7t07x7nK6cmGO+d3iePEOEysujXdaqWgDZnI3vQQVvVNHcE6s+QXRD06w/GePrzI1EyUGNiqkyzHL//yL/PJX/91pjHyp3/0p7z2+mvyiN8sX5bRp3Q9UV98WQrJqsfF5XSkxYg5+u/nqWw9SkT1HPUTBYrAWJ577gW+/71XmIaIKaJmtU4fUCU/yiU5ZuH+TdjQ8fUZjWCZCbpPeW1vAI6qme0Eci0tbilGBEpjNRLOg1sCrFgpxfr8/IwHjx5z2B+4utqzXm3od3tWL7WMh4F1t6XxjeTxAjkVhjqo/E26+2XualuD0b0ozQC4OU6MytnplltnJ9iSsDXPIlfee3CfZ+/eZd2teP8HX+Yv//JbfOd732W7+aRInJ0Q5L/25b/g/PYtTs9u8Vu//Tv8wX/7XxNTXHyobvnUZ3+oXZoG8yhyUcos94veW5UFgFZU/muWfyuTx1IyTpse+2EnkLB3J5q/DkLbXya6llL02SySDbxE7SwyPqfr+gz3mrVXZTmg5blBpL7vorEpZpZU2wxGngtq5u233+Sf//P/hp/58M/y+d/8HP/k3/+PeeX73+Orf/FFDvud3gfHyfOs4JpBLHO4sCwTRxXAct9pYsL8Ncf0zc/ryckJv/gLv8Rut+ONN15n6Hu69UYYC7GnkEllfnbUQkMlx5HpasJWi3OezcmKj//axykxc315yeP7D/nQz/0sH/8P/wP+87/4Q/rra6ZpIpeR9aYlGMs4TewGKeK6RvLAQaCEVffpcVat5YxX5ZMx0oR+9PABJReef/42m80K7w25RDANpUKaIk1oxHlpwecCxtKGIE39IgySW6cnEs1SK4dh5OpyxziNAsCx6vlrAyfbNeenJ8u6AxBT1bhBJzmpWdasIY5y+DRGFXYW66oU5mqLGseR0+2JvP9VyzRFsRd5ODldEVPi8nLH5eUluQq9+fz8nKbryDUzxoFu1WGs4+Gjx2IvaDva4LjeHdjte6yCfULbMPSjNMRroWsbvDOcntyi61rx6qYB6+D09IQpJq6ur5cmo3NOBirBL9O9GWoqE9xE0CimaZqoec6cVmvSLMxZsrzt8r3nNVV8z3IiCla+lxS2hk5hqSwWKQelqgdSGp7VSXaq85J4XkrCO0lQMFYUeTAzPwxpSuQ0kacs1ohJfOyuOkwRNUkqGY9ns+okD1otD0OayEaUfl3XUWpi6HfEkmiahn7fC+m5Ftq24fbdOxhjuN7vsNaT4pxZOqmPV86AzkApiYw2jDVxYD575pzpmg6LxxQBtzkn8Nl9lhhNiWuyi3rDlAgpCb1YY/ecO1otUsnUSXEttTBO/TIYS9VQU8WSWBnJTp7zk1PKZHqMXYOZC+O5bNN9MUNSG4h1onZMKVKK1wZGXO6LOCUm53DGUmIhMpGDpwlCEj/0gygVQyNWHeX01JJpfGDTbCijDK3icKDWIveK91AKplgaZ3E4Yfo0gcY3lAL9YWC3GzgcNLe5CJdmGIShNPu4l6FUEraDyYU0SIyoMwaH/ufFMuGtFSuXkddZccvZYBhGSc2oouZtNPosJ81pdob1ZsUQo0zn9ayWUhZmyn7Em6djCf+Hvn7qwlbkYl4VZDISmGE/R3lo1U2xEGMWQqgWH/N4ruohQgzGR6qY+FB0M1r8tJWYIrkmsRUZnQjf6HrNAV5zh+smPCXlRKNhwlW7v/MhZu7aV8V4Y5Voukj/ioZxp+UBMbAAAIw1jNOI8UazMfVDtG6ZIhpjGWOk69a0XcfoJ6yzpCFq1JgUt1UXsG7dsd5uOTs95ZUf/ICkXttplIN3o75imTR43Rjdkteb1RcSowR2F/UoWadZrMYwxch2s+bu7Tsc+j0vvPg8WMOjRxcio1GZWVa6YAj63rghK6xoQHedR7Ja6Fgk1PYoneSG985rpmEumajwGik2sh5EzAKLCt4Ts4RtV2eohBvUWKPTazlUe6XxGSdThqYJIkMvGe+sTtvl/pgmufYz/TfFBEX8RBIfZBdZZ86VgBJFYyIETzFzlxCyrUL6S3IfzhnC/W7ABoFINQfPNPWs1h3NtmEaR+I0Ym+dgzU461iFlUqNJF4pTQMconQ020DFMY2JOE28u/8Kj8fvLc8NNwqmy/6C7sM/xE87vK1L7Iwxho3euzFmLYSeSBNJs1rtjcgoZ436qWUS0OnBd/78pxi1CLU6JXEKTJDOcEU7eVr0ZF0vyo3CaI7dEe6FP0JitKg8OQn8/r/+P9Lcbjlc/ZiH/Xt88DMnPHPvGYbhXxPv3+eUhzz/qyvOzh1Nc6BrC7fPV9T8jmRoGUNodrLw6n3qqjSS6iwRnRfvJ89Td3eejgMyYJxdrq+sKWVpziwTSsC5wM///C/yud/6LXKFP/7DP+bb3/62bDL/hkbj7Geaf/2Tncl5c5hzjRd/cJ0neseJ6FLAmaNHKefEH/3B70vwuxYjIfjj5BezrOlGpdalHNU5ooA4vg6ZWPATxe+xK/43/KPzVO0nbth5Yu2M+MqtykiplaZtOTnZslp1mgsuMsJ85w79YU+tlf3hwMn2GZW9F6GnIywAUd0gcRwpgpMIjWEclBSshHxg6Idl31hvOmkwztfDWsYh8uZb73Dr/A6bzYqXP/gz/OhHr/DzP/Oz5BS5c/sM5yz7/TVf+vN/yd//h/8Wz7/0Er/6yU/x1a/8xTKVLbYoYyFLE/ioq72xVoqsl1luPBd0Ii162oN6DBTSZ033gGnCBcutW+c4a7j/3nsqdZsnPm7x5qLNS9KxMSkH8Jt+2iPxep6m4rQZskzozfKMza9rySXm2CQdh57vfPs7vPH6m3z6U5/klz/2EV544QW+9ZWv8P1XvqfngCNBe9677fyub9xb9UZBfmwIydRWsqjn72EWzyK1cHZ6ytlHPsowDnznO3/NxeUT7t67ReMgxetFgoiVpvW87mVleRz6gZQLre946f0v8v73vcT73v8BfNsxToWHDx/JVCR7NicbUi7kKVEw+NDKFCiJD9bYsNCHWaitEp03jiL5G/qB7XbLdrul6xpKjuwPe5pG1FX2RuMrxkiMlU3T6MFRq6xSxXfpLIdh5OLqwPXuCqNwn5girlbWXUfTBLquketgjnFMFiP2gLYhatzgNE1UJx7LrFPP4KUAsimSUqVt1qxXK0mASBEfHP3hQJoK3Wol7BHn2R9G+t0BG6RJf3l5IbtGzaRpZNW1THGiVTp/PwyUKLTYUgyhEfvZNE2UnGnbhuDEF7xZdeJrtEYz5OVcehgOxJQIjaBnpxjpuhVt22psHfRDv8iJSy4KTpLs19nnPScAzM/68Zk4WkVkXbeLcsggHsVj87IurBlzI9f5JpV5Xj5nGNKcweqsnJmMqQuFeIpRpbc6jcYuIE6BPeVFMTNPSaUI1CaRNrU3iJd6v99zdX1FnFTZRmEae6yprFadZNRrM8A3gaw5zkMvucnjFDW3udMzrBTT874fU8L6oKwVGYhVvc5SxEaZ9GtCC9ZhhoizllSO8ZIiEc+kDEFjnUo5ZgCP40jbtORSOPS9+Hu1qR5TwmiG6v6wFx5DESpwSom+70WFU2T9894zjCPWSgOvaKPcK2W6zvRuBVjOa2mcZLLstJHCjbNEimlRga1aafBOcRRpfbFcXl4zDiPOOUbNfm6adlGsbtZrnJF4pP0wkDOaPCKFYt/3Cx+pbdq5t71wLIJ6nEvOBOcX2wII42JOtfDWa+NRzoF1ZmSoyjDmIwhXJvbjUguIalf+/jiOWO8W+rFzlhRVxXNDsTArY3+ar5+6sLVe9P4JMch7gj4QnmrFhG11eGNMQXpPiBypqum7ShSMceghRDDQwUtx51RHZ5wjBCeexyJSRm8EJFKNyoSSSDhqkUKsaVpC6/RhF7kyuZAKmCJ0Wgnx1txPCt6pn42EQTyVRlmU1omM2Vcrm5COz2sWE3nJdYHIlArJSCezqMfCOa8dNaHfHnqR2YSVIyQvYAYt6Lz3bNYd643QOx/dfwBFoBE3D7UopMc6C9YyxYitFZfLjEeVQmWJ3BB5RKGA5gdaD8bBew/uM00Tz734nCzqWhjmXEQWqxLmagwxJ7zxR6+cwhKM6rtTTsvUlDkSyAicSTKCj1OyGSzhjFH6MCpzFHqw8xXvpPNekYNgnyNNbSkYlUOIVFaALDKVt1ayda2FpvVkBa2U2RNZ5mVDpNWliLw6DwmbjeDmU4IbcCDxHCWVx6jfUTMBY8l4W2mC1YiBjDEea4JKkwemdOD2+17ArDsunjzhYhB5SOgCQy+gjaZp8I1AmmoR73TNmdxPnNpATIU+TpQs0+ZXLv5r/urRf/bf+5ze+exP/ez///nXWwBE4Pn3wfMAvAe8whnw7PL3JuDy7/zdzU/++rt/j3x9Wyb2Kpefs4Xnw4n4SjgeBkCLE8fLP/Nhfuu3/yGh6/jCn3yBr3/jm1BlMj7HOJmfOJQvi3zOS9ExT4ufmoCauZFjF0kwSEFY5+LnJwrLWQZHkazpYX9Y6KjeLpUls6FzHrzP2aEzaGOhltf5Ss1Txr+9Wv8bwCr12orFQF6v1ezrOaPVGUuwXqWnekhU6J53MhkuGptBgZQKY4wMacJ3QrKlSEajoZDThKuWk9Pb/Mbf+23+5I9/j3u3N9RauHj8UIE4cuA5DBIKP/MInnn2rhxACzoFhZQt792/4KUXdxgbuPfMc7z77jt857vf46Mf+QjdMLJZt9gK773zNt/5q7/kVz7xSX7pYx/n4uoJP/jed2kat0QteG8giaxL599a/ttjs8qwZHnLVLuoAsbcODijzT0U/KIKiDZIo2CWFmKWA4LTCDIxd2elJhfJ2NTP+2nJuVG6fVGFgFkm9l6/b55tI2WmiaukX6+jTFOs0p8TxWQuntznD//o9/nBK9/nk7/+63zmH/xDfuHjH+erf/7nvPXaa2AK2dRFhYIyGsRbnheA1HxYXO5Pq80eJ35gY46NqZkEOz932/WKX/6lj/Do0SPefvstduPI6dltYpowNlNNVKWWZvaqlNYXoeJXIo+uH9A1a5rNGmMsd+7dYxiuefjoAVOOhMtG/H1UjKsk9JoXKWjyKJ68lLSZYiDlKH7PJHLSW3dus1mvBLhi5NyzWa0EwlIyE5USR6w2iJxz2BBE4lrrMabNWK77gfceP2K/2+Os5ez0FGctjbds2mZR+VQ9H1k9PBudfgOMKZJrWUi7xsvv+9YTvOyjtkJwnsYb3UcjFxcXAqEynnXbkKw0pa8PPftDz64XUvHpieTK7vZXTKljzYpC5TAObNsNV/2B/ZU0t9anG0LbMA6SkxmLNHZWIXBysmGzFvqq0TOHdw14w353YCIRs0zJc0oE31JxMmVMcXkWpAEstOXgm+V5OvQDbduRGOnjgWBbggscplGVY14AmVYKLorkzbdBY/aqfWodzVm8nMYe/SFHcJrK8RXAaIrB4TAmL+dfYyrBexrrJeM1SZymUVBZ2wZMKsQcaVYN404msWYmSKcMWhylVAnB4bxMEZ9cPGGYBkottL4hhJYyFZWLGiExe8+u7+mnxGazxlhp5BvjGIeINUFSu5wQAksRwOAwDAK+qpXWelHL+YaSombOVlEvWOH2SGaKW2KPnBOvbq2FXBPGNqQoQwKbpTr2TSPe1ZTkWljL2A9EHVqgtqsZ/uX2e43aKpRqWCmQU/gyEkfaOnlWpRln1VtbqThiFHCgQWwwaVGYHodfMWaKyTQhgLFc7Pa4EERpkypljjYa9thgCQV2O0k0GMcDt2/dwhXD+fk5OQl003uJjhzHkaxM0sMw4pwMqmKUZBZvK7Emob3rYMc7S62ZHFHAYiHZQsVSFI4r5w55pscyiiw5JVX3ga9WlG3GMU2HJWZqVjiEJog324mnPA4Jo3A8qARvsSawTwecFU6P8IWEQ/TTfv2dJrbWWnJMS2Wdc8YGd+zMKjZbe7yLLA5zNL1752Eu9L1Qhuciav5nZt5MyHpjFQqZbBDKcRWIVK5ZyJtecuOMV9pmtgu5y2AYh5EmeHB6cKgqUbAzlEIiDUqRjuQcM2DLUX5i5mnGDfni7DeaJ5yyAEk3LQSvk2e0i7qj8x04x3qzpbSZfifdQhc8TdswDD37/V4oaDnjGpEltJuVHHjTLKdIxFE23VYBCYVCVc+CsWjkkTxYuWSmmASrHTyHw4HeSoF8GAfMNArRrFSGcSJn8I1M56PGD9UbC+38QRm9B5ZrU/IyyZ99oKbIdEzyxaT7Oy+2o8rH5+tob3Ynq8ieQhNwHCePWancRRcXQ1U4h9xTXqlx3nhZqGoWepvz1FoWQIZzjjEm1f9nRMEisIHZ52cROUr1VqQW2n2aNyFrlCyqkj0pbqV7tdl2cIhcX19jTRXKY9uRc2J/faCWwvpkuwSET3HAe0vwgcN4AM0hLiarB+mmwe4nnk3Tkuv4Uz/0/7/4suhklp/e0P+3fTnT0LpzSk2M+ULljj/Nl6FxJzgCQ774N7wOgzcdqfb//X/DyJqQU1miwubMSavF5JwXa51TqJuoIl546Vl++3d+h2695mtf+Spf/+rXVCKPTtOetk/eLGLrDbLlTY/qUUo8w0dmqJRdpFdHmaBZKN83v0oprNdrvA9cXV6TNM/aqPxlLn5/wir71Gubr99NSeLT/tvlHyxr4ewFvvl37JIleJRTj+O4SErX6zVPHt2Qdenr7zqJ6BlT1Wde1tjLqyu2JxumKbJarXjw7gU5JvH9VbkWl9cH/tl/8f8GU7jeXUpslmYVsoAHyyINm7vdxw/qOKlMMfHa66+z3qzpe8/LL3+Qb37zW3zwgx8EEsHflQxPa/j2v/4Wt+/e430feJlPfvpzPHjvPpeXT2iCZqUrvTPNuYtquq5zm34uHm9YuK1O4Kvuq8v9cWPKKuR+s0wr/7avnDPve//7+ejHPsaXv/SvePfdt2WfcscJ6M3PrdZ6BH4tMVPzYVsgbLNC4+begNGJ8/wGFkiZ/g0rMsQf//hV3n7nHX7u53+Bz3zmU/zuP/mn/PCvv8uXv/wlrq8uIE0Km7MqdZthiLMtYLn99KY3SlmWZq+1R3/yjKVaFANFGovPPPMMd+7c4eLJE9556232uz2nt09FfZKNnEOMRraUpD9bp8E1szvsJN4mZ0ITePb5Z7l195zHjy64vHyiqinD2dmJKkBm77AUHKVKA4WaKTVzOOzZbLZsNttFWSH5mIVpjLShYdXJXjKNI6aCr0IUnScx4yhxJ6FpCE1giDJtevzkgpQyq3XHerVi3XYE52i9kymTAnuck6ImpUguFe+NFgaZZFBPtTQNShaViDWGaZyWvTIoK6OWhHeOZ+7dwQdHSUJ3xmR2+z0X/1/i/jvYtvNM88N+X1hp75NuvsgkQAIMTbKZM5sdp6dbamlGUtkK9pTLtizVlGxNjTW2XAoly/7DVbItybZccpUll6yyQkmTp6cDm+xuhm6SIAESIEgEAsQNuMBNJ+2wwhf8x/uutfcFwR6MXJI3CwXw3nP22Wfvtb7ve9/3eX7PYink+rIEazXvtqeZzabJYlGWGGs5OTklZYnZMUZI/ugZJ/QyvWtmMw52RO1hvSUOg/qHM8vlSt63fgBj6aOmyOpZUPgrST238Z41eTwLDTHoUEXeZzcCPjXcXhrd4DSr2Fm76QWOE9yxgTiqHLawBOM9Y62dwHI5J7JJmzVUuSZjUsSsbjA2izQ5RSIjUVwHIQbJkE95WnOc81Mu7qA2p+mcH6QQrsuS4+PjSelW1zXeSKZ9GKIA6bzc++t1y2rVEjGsVq3UCCFSlTVVXZMDCl/MdN1A1w467c6alxyoiiQxd9pEC0OmKAuMUaZOyhtF2MTEYLLGjKTspDyX8ZzW98IEiSlO51aMTAtH4vKoyshJ1ECl5s6mlFmvV5Rezuk253skyqOSy2xxM0aF6mavTNO6l1VWnnLGF3LebTs5i965c0RUyNpI8e9VnrssW4ZhoK4rwiDqO2nCpIn1Y43jtDtltV7TD0FVj4H1upvW7rHIHKf3YruKMvzre5HGq6pR4pJmo+5mWvflet/4Z/vYUxaFepEDVV3JQCalyQZTFAXkrAkujqIs6BQSJbVDxhaWnZ0dchqbptKIr+uGum5+xq72049/KI+tdZYiF1tFjJAZvSuwWJ3IJt2I0iRPzOrMsQqAMNHoBFF8gUGlqd4hcoosAKWUtUsTBu1GFxjviWMQOpKZWlRGMvGsIZAwXt1H2dGvA2mQiWU3eT0tDou3jiEOZJOJyPQ3GCHxJjK29HgLRCEmZl2YhgjJiN8wRfETui1J1O5ejQHpdGZHDkAwECLr1RqHkYWo8DhnuXC/ovrxzPd3uH3rFsvVimSl6114kYHHPikAYi0bifes+26SSgndTzqMYr6XLusUzWOYitSkEoK7h8fknFguWvogk1qUGjvoQjgu7qPpe4wMGg9BInkdw6iVFm1ko7bOTXTWcS7hVBZYYEnJsu7XlGUtk9MUKWrp8HQrVWTEPN0w6/WaqplplrBSn73By8lMFvAwKPJ/LdMJYwRQoAug914IpfQiewiZMIg8UKa7eZqAmKAHoKKYCu5pOm1GeW2k0GlUCAMmGcqqYT6fMQwdp8sjUjJcvHifAtE8N994nZu373Lp0kV2dueSy1ZIEHrdzOkqWVRsCWVl6d8UrTI+ztZP8Kn7/td8+cpfpY133/aN///bw/DRy/8LunDE92//P/8bP8dj+7/Bz53/S5yp30XMPa8vn+Q7b/z73G1f+DO/c15c5iMX/zIP7X4Bb2veWD3F0zf/Q95YPfWWP+eRvV/mIxf/Ml+++lc57l5+y+eUiAurQBnJ13R+C/yjQJlxAxQoB1y6fB+//pv/KLt7+/zgBz/ij7/yVfqu1aI2TX5Zw1t8eGOXfltmdo90bSwU80TQ3ZYMbxeym6Jz83Occ/z6b/4mfd/zt//23yLkQe5FBeKNHclMEkLzJM1+qx7KaPNIU2zMZpKrqgmcHNDNpjDalmtvPPWS+xsnQrChrPw9EVBy8JK1r/CeNgwslksOjw6Zz2fcvn2bc+fP0XU9e3sH3Hr9dSWcK+03BDABLBMshhgp61IjRax8DdD3InWzVpsIOvHefj0AN2/d4uDMAUXxAGfO7HHm7Dm+892n+fxnP8l63VKWhWas9jz95Lc4d/4Cs/mcz/3CL/Gl3/27xL7DOwvWyfTaBMlrTWMxqY2HLZgHZlPsZ1XITPLf8T1GpKajv5akU6iswENtMo7NmiuvXmFn74Bf+uVf5Wtf/SOuXb062RbGqe09cW7TgW30cI/XXdjcDzpRTmmMdxPP3ChPnq6oLYKxPH2i61uee+5ZXn31J3zoQx/iox/9MA+88518/7tP8aMfPEO/XpMLaZAaNqAYseWM78Dm9aKqB6sZvNKYLiai+9SItUmoGXqgP3/hAufOnuN0seD6a9e5eeMm+2f38IVhiK00D63Z0JjRgs4ZbCkH1HW7ote4jXOXzjHfm3N6dKzgLsP+/o7M5Y0hO5FZtv0gBZKzGBOZNQ1nzhzQ9z3D0GvTQhu3RrKyD09P5JoYIvOqYj5rpqiOYRiwzuIK4VKs+56j01OWqxVt3zFrauqypK6EPF57jzOyBqasvnNrWaxajeJz9EMS8Iuxk2fReUcMMtWKIetUxeHULzpOGC1Zp8uJMCT6GAlk2mEgkrX55gkpMYRAyuMUspi8isaKus9aqIoC6wqWyxWL02OKwtMnQ+UK9nca9vf35PeJgdVJL68Fg3MFJ6ulFjNB1ADadBTL14IwDHRdjcmGvpMCtqzGuDgpZK1zQqwtvBS/YzGYogDWyMQsk21rhMUyKiBGuCXaFBnXYLlXZRAz9rcs966v6FnLOyMpH4j02ut9trMzJ4Qe6wtW/Zqyqigqhe+YqFLjQnJt+zBJ1zGSMFFoAWJ0H2iqihQibehZrlYUdUHTzAWWnA1N1UAytH1HP+bCZktWUNowCIvEEvBFyTqsIcFy2eKcFP1d31M3jSg/1VNZaBSUyIoLQtgU4kINTgxdJ5TqCEMfpnNozhKN6HWyHkMSKKnJQqHWPWi5XDJoHKDAQKHZmUsxuWyBTFVqDnNZTVTm3MvnEnNirVL1YQhkY/Cl1QQCXV8iGn045he7SU0ZcxI1mK7l3nk52/etKnmMeJm7TuONDGFQlk3KApXC0zQiz89RfcnDIEO3KLT6NAzEIdK1PV3X0TSNWuIGbeT0VKWAQkc5NpMlymqihOxFVVVydHgiEv+qnM5NYwdF1E0JYibHTKVWiYz4jo3RvTdE2lVLs9vI4K4qcN6qSmKjbBqGiCtkgi9dkbc/vHnbha1348aQpyxQa51o2CyURUnfizncGU8yOjFVjbtzErkzDL34VjVs2rpM4QxDLwHmeJFcjjc0ZBwGa9wU+LuZlqapU2MUYCHeWKP5YUFkKJrZJyh3gSiNsQfjZm2NkWIvi+xBtNHgjVe/atBDjyVrt2ecjFq3iQ8ZASCjdJFgaVcdNnlsLZvf4nQBOeNLz7xpsGXBtWtX2d3bY6fwHFw8Tz48ZL1q8W4ED0CyIn0YTfUjlMd7yQ9NKmUNmpkokxy5eaSYdAoWsBpOnTg9Wcv0pJfOcVEIjGLMzhpjmranS9PD3OsznDosSm82k1fQTMW35H16kbMrQbELRrL1Cpk6yGRU/I1jluHoBR2z22JOODN6peMkcYg5YVTCnvWEbjCEfgTeCFTBOjG9S3vfyhQ89Bi8dC2N3xAH8xhcJb+p8w6f/Yasq7JxY5U87QpSGqjqkqK04ALXr7/O3edPKaqG82fPMN8/Q512aftIOlmKJ8llGJIsRAbOVhVDaklRohN4CyrczF/g8vyjlG7nv9PC9kLzftbhzn/jZ7g4+yCff/Df5trp1/nBnf83pd3lfef+Wb7w4P+e337lf0wfT97y+xp/nl9++N9l7i/y3J3/jC4e8+4zv8WvPvJ/5fde/cvcXD09fa03NY+f/Sf45OV/hcrt0/hzP7OwDSGQ+47CF5NkaDPRFI+NNePhX9bACxcu8eu/+VucOXueV17+CV/50pfpunZszGt2aJoaOm9+TNKzcZq03a4XEfO0Tm17Ccdp0SgJfbOfa5z4Ns2Msqr5wQ+eUz+8HErv9SWaqWB+q8bJtqd3en2jTJbp/05+VDNOnremutvfZ51AiHJ290zwRkbBNhCorCqFfzhy7oWmqjm1JycnFEXJ6WLJhTN71HVNGPppMpw1M7Lynq5tsd5hCrhw9jx3D+9yulpNNH5rDNbL2lNXc514jrwI/b2TND6vX7/BxYvnWa/XvOvRR/n+977HlSvXeOSRB9mZz2XtAhbHR3z/yW/x8c9+jguXL/ORj3+Sb3/jj7HO4rN6kwvDYCIywM2THM9oRMZYNI4c4qwUsjH6Znuquv15yb/zlJu5/TmO3foXfvhDbt64gfEytRwFuzFGzV+NUzdff/I4Xtq63qz6MOV6Han5+gP1kH6vh5ixSN56PpOEAr44PuZPvvYNXnrpFT7y4Q/xic98mve+/7186+vf4JWXX5LPy+kBdrpPzD1+xPH1jRyN8cLLjJMdJhWWVX/kKNF21oGHs2XJ/sE+D68e5srVV7l58ya7e3PqcoeQhomFgMlYKwAYmcAkVUf19FG0J7Z03P/gA1y67zInJ8ccHx+SggApjdPm8q1Dqrpk52AH7yWWbKW04GEYREqsZy+ME4px21FXDWVR0NTN5LclSwYs2hzq+kFUYEGitHbnM/Z39yiUlTEmC8h+Lc3+qGtBtkaosdmwXq0kzqOqgE3MYUwyfCicwyuLgxgJYbhHITK2NoY+smpbei3mx4ZZyjLZaeYNbdcRk0B96qaW842V9yVF8fWuFqesViusFWCVGzJ1WVG6gsoVkCOd5t7WZUMaxK8skkpHTP2Um+2U/dGHfmr8j/fX+LO3r/0Yg0zbnBd/vsq922UvRdjkktW9JYYJsDhep9aaaXpq3bguI57YkKaz9niGmlQ7yOAoqeqjKAQOWJaeMEh0497+LnVo6INMn42qjERVyNTgN1hSDOLzlNE7OVmsK3DWU9c1mUhhSvb2CxKSZtJUc9p1y7qVaWcgaCzUqOSUjHCypSwLejQXOCaVCENhxAc7DIGqkqFZiiLVr2aVFNyIPNr7ze5pxkluHyQSKwXxgbuxeSEDCaEdyzUnNOGZejtFsiuIEI3bU5VCCEGaOykqqE/OyCaj0WRWLIRskhRiigyhBywxK6Q0C68kDQGXnLip7YZNMSocALpBFBhpJDsbR1HJJLPv+mmaITLoTFl6LfwkCnS9XstZ2kqTJpKp6oYhLIlbUXspq9IxZdbrXtVPQlouzzbqP5dOurGWpJ5sURkO0lQrZXjpi2JqyK/bblK4xhSpXClJNTFinBWKtbGkkOiyqEicl8FhURWUQ0nhS/qhJyaRXpMtIUjsljGWIQz0Q5Si+W0+3nZhG4LIDkUFlIVqrN09cMRksK5U6IpGSSCZr0MvnoxKiyaQmJyctOOZRO5krNNsRyubR5CuRlSfrkWNyCPCcyv+wiqpbJR1xBBZL3tyks08JHmjUpLOlLNmKn6SEjJz9kT1YphsJS/XFxgnkKAYIjmKREw6bOPCZ6YpRczQ961IjqzBGqhcobr8NMm3bek4c/4sXdfSh8B9DzyEKzzNrOHk9FiElc7SzCoBAfQ9a42tqWshpSWluRq9mcdg8Twdcq2QW62lcAWFky5PynHqQK6GldbAbsrPjLoAbSiam0PPRPcjY1SeKHEPmZDCBralnjHJ0ZWjjHQbCyVqG7AWX3hmpqaoBPBTeJF5tu2aoq7o+l7Amuq3ct5phzJjvUjbi6qUYjmEyZPXh0EWO4WXtWuRP1gvnrUhDeBk0cFHhtyKbDlJUePdCCGQAkW6bqMMTTby0ZPhjNGct4CrPN5kcurk5xmYzUrOnNnl1StvsFh2nJwsOX/+PPsHuxwcnOHOrZucLFbMZjP29w/YP3uR933wI7zyyo9wCCW56weBjPzUKM286d9v9XjT4fL/zw+D4yMX/zJ32+f5w2v/K0JaAfD66rv81mP/GY/t/wY/vPufv+X3Prz7Rc7WT/C3f/xPc7f9EQA/Pv57/KOP/qc8fuYv3lPYPrT3RT526V/m+uIbPLz3i3/2e6BrhpkKTKt+Tz0YZLvppifDwf5Z/tyf+00uXLzI1WvX+J3f/R2Oj+9OU5Op3HtTJuj043Ke5GJMU9msMRooKMhPssuxAJWCJb1JnryxcmwXO+t2zd/6G3+dddurhHecOIsfMt2TXbr9ujcTtreaBG8k1eNbNzZ4pOGX0nbBvfUcViJqYlaqvd9sP/cU1UZyjuumnuBS47tQlCV14zk6PiLmzKptKarz4rPr1xSIFM+WOgUNAzaJLyzHxOnRKbvzPdbrNUVd4734kZIWrt26m9TAo8UmxSiKQGs5Xa5549YdmspxZneX+y5f5KWXXuKhhx5iebqkcHvSjCTy6ssvcv7SJd71nvfxrifey43rV3j1lZdxRm0aSEB9tnJY3qbLT5PZxETdGiecoyZ4BK6NkKd7/c2WnMfCTfIQt5sUpIE7t9/AFAoK0e+Xqa7FuRGgJ/TUscgfGxabApeN5H7iS9mtibIWvdMnuLlmxj81JNkjNAf6xmtX+b03bnDtJz/h45/6BL/8G3+el196ie8/9RQ3b76GiYOAkJC8d2O2r1N9xik6C8mpHhVDKmmMaiswb4KxjXW4d5693R3e+8QTvOPhR3jt+g2u3bhONauZzw+IsaOLa7mndLIRY6SLgSEHrNKkh9hzuOowQDkrOVueJ4fM6emC5fKU5XJF33bcd+migKGyxICEGMhGZZheI44SdFEmvL4sxWdrFCBpjOREpjhB2IYwTLEsTSX3Uukdpfeg6qSxsEoafzdN5aPYfEQCLRRTkTxmncSJH98XDu8KnYoqcTyPMno7AX2GKE331bqnH4LmSoviyVpLM6tVIWMIURr1pS8xhSXZjHEQCCyXC1bLFd476qZkVlYc7O9zdHQqHuRBoDZdL6yRdt2TojQehphZrloBx8Wx6SPTpRAkt9wVBcZY+qEDMt5bun6QGJYs+0II0pB0ZPpu0AI10odI1/UMQSaxJkuzWyamfrK0ZeUFjFGXOYsn0WS7pdTJROLEWSmcNI6SS4TUiR0vZ+piB+cg5Miwbrmwdx5XFngyXRiQ6GflqzjH0CWNEBT73hDkTF94w6yuReZdGGGYZFHwLddrSZhwMHQ9zlUY71l1JwIEmvgtYimpUqLwljBkuj5wulpr0on8mUE+H3kPvAAttaDHyNAiW2G5oIMMp+Pr0pW0w5qmrDApU5VemRJ6rSqFO9o0/Tkq5U/Zkozok7DCnulCT3LK0HNCF5cGmt8kFsQEIRKQAnyUgMeUJFIq9IQhUlW1Wh8yUeFRaqUXO90QJ+CXGYGrGdoxPjJLvWC8wVhPiN0EjCxcSdvLe90UNeRAyoGYhVG0PJUCd763K1E8OoDZqfZIxnDz7h3KomaIwg9KWSasyTiwVmKyYqJQlo9xDm88znmcF4VuP4htcrRTpCRnflQdZowhW3BFSVCFpcVS+Uqm4+tArqAdOqpZwbpb0vad8G0yhJiJvZwNTk6XnDt/nq7vGILKntPbt7297cJWvDb3jqpjjFRKOEuTRE6iUkSfLZveMAwUlUxCRmmLeEuS4qhlY3FKrrVWJo0orMAaWfBSyltSPE3O3WqOjVPSsTgzI+hITZgxCepcijDNd01giNLJS3og0E4uKeKTeE2TAbzDDHFrRmEVDmMUb22o64pMwDiwtcGVlpO2I2PxZYHX/M9mNiPlzHK9YoiZvb092q7D+YLZbM5qtaauakLs5bk1U9c5yXds25Y4KBY7BMIgk1zvHVgBJFkjHROZUDshk6WeMAwstCiNMUhWVJIMsozRqIJEYeXCtkqBG89EEuESwXspYLdiPwCcl8mC9U49s4Iol27o6GlBQs6NZWfW6FRKum6Fc/SDUKpd4TDeqz5Snq+sK7w3WJspC0ejXd3VaqU3GHRDL0TlZPQSkYm+01gZg0gmrLEU3k8B3+NELuWEiWCKYjqQiTdXns85yxCFDOnKUo9qTHTWqGCWoqwomzmz+Q6v37iFN5bTxZLXusDx8Sl9H6irmrqqOTw8ou3vcubi/Xzss1/kheefoZyVWG+pssRJbU/MH9z5HB+++C9Q2B0+e/+/zvXFN3jm9n8CZB47+A3uti9ycfYh7p9/kjYe8p03/i8cVI/ibMVriz+Znqfx53ho94u8dPS3SVkBNHbOYwe/wf3zT5MIvHL8u1w9/ePp79/8cKbmPWf/Sa6efpWT/tU/cy0p3Jyz9RN8//Z/NBW1AIfti9xaP8PF2c/zw7v/xVsUhIYHdz/PnfVzHLYvTX/axxOuL/6EB3Y+gzfN5KW9cvKH/I31X8DbGQ/tfuHPfE2jDyamOFFAxcvkmICwuu7t7Z/hV//cn+PS/Ze5desOX/r9L3H3zq2xAfwm/2m+p2jL25AeNoWBbMJCADXGTg27e32LmuW2VTRue2vHYnL8GSZlFv2pHqS2sqjzZlIlShSzmS6/lX/2TZ/B5p+Nx2kC1rFdhDH9LpIBbMhRIFImQ+EL3Q+s7iHiPcpRJKQ7u7vknJnP59w5XamXKZCzTMdWq5X6gyTKZb1aUKm9o6gKirLAD5FlWjL0PVXTMISB01unmvWaCbkfZ9bjKFqnpPIYVTgoOTzEyKtXXuX8mV0K67jv/vu58frr/PBHP+IjH/ogq7YTAquFmALff/opLt3/ALt7+3z0k5/l9RuvM7SdNmONFLeGexzi4x6XRk346AkdC8qpIDRbf775DKZCl0yyOnHQuLex6WA19zb0g9hD1J8rCgOVzhsr+2Xe/ky1Ubnt82UzjWCUtI2wmyx2pcnnmsdraDvnfPv6EhrjkCI/fO45rl69xvvf/wE++omf5x2PPsrzP3iWp578puSwK0TReLflOx6tjG9qxGx5fO2UdT8Wu3L/OKMFpL7Pznn1h3keeeSdXLx8ies3XuPO7SPKynPm4Bx3j+6QiCxOTzg9PWQYpPkcYxDoTZR9wLuCoH7uZj5jZ2+HO7dLhhCpqobVqlNojuyNMSfqppwiXmKQ6ZZB7pGmrqVBGzOh78n9VjoFmYTAlHJKVHVNU9WEQWJQYoyELkzqqbG5H5Ucm3Km6/sNjC7LddOuO5qmxo3U9ewoi0KLr00Gth0P4yr9bIdA1w0sliuWyxXGGGazhrIqdForUBnjVDmWEkVZUFYVkOiHnrAOkkGaYW9vT67flNjd3ZGIobIlRikcuzBwulpxfHzCYr3moKxEFpwyy7bVnFeZPIUwEId2Auj0XcDhSEFyNnMWGnS7aqcBSlIoz7pd0ffD1ADv+06hX2prcVHOvCrzxhiyTroMcs8bzRlP6hCxbsyCHxszabrXsNLkM9o8ZOs8Nui+NQwD63Yt8uBhIGHpuo4+RJxxxDTQNDO6Topxa9G84VK8m3FgNhMb1bpvWSzEP15UpUJRLX3fyXQtqkUwZKrCEYdI3/ZTsyKEjvVqhVEFVOg3e1UMUeTGVnKDxwli6ntaJ2tRiEHAs1bUjVPW+6Q0MBTjtTsCFa0lqhRTgGwaS0em61uKqiBGGVAIkVn8qUVVTu/72JwOURptbd9Tqh80h0xZiHe8T+OEN03y2bqWSJ2+7wWCqzGZ0cjPcslu7IBJiNbCfRljKw0hR6xx0gCOURWOcXrfisZTV3NVLwr8qyor4loaK0blyhIJKErHZjajXXXUtZdYUicW0LZtWa9bQt9jcsLP52QjWbVVUaqaRc8t4/l3THzpVrpubmjbMhmWoZ4zkp3cDwPZGMq6ZLlaUDXSZA6D+OJ7I0qJYRjwtpxyj9t1S8gJ7wtCiixXP5uR8ubH2y9skbxZMUbbya8jxmuVc+mBIGoO7Li1jBAlMdVrDppGhIwfZhppfpNMjum4gTWagzl2t8xWYPVmc98+9FtrKQtLTCKRE8quTHSHbIhDpsiFdHiyxdtC6trR84B4Z2MOUwCyRAFJ595bOSRaneIMgwCuBtOTcsQVEpA+BJVA24K6bogxMQw9666lnFeUTUPsI7dv32bd9viioGkq9vf3STmyXEa61VpkMYVj3szIKbFeLYWI7GQRHuUwVjtJdozdMZkhBskIDkI+k5gLidQYc6Iy40YcNGRaABEYq2CLzQG0H3pZeFWGnXWz7XuZYDsnmWPWO13UIs57vB4MBTOfaepGFkgzSKKFyiQFSGAp6kYkos7IpmwLQqyIOVHYgqK2NHUlHjCVDY3TppwTfd9qnrJTz4V0SmNMOAyhjzgnN2ZTlcSh3xj99foLISoUZvSZb6JgnB4EfSHwlcI7XOWZ1zXr1RJnoSwcdVVRVzXvfe+7adeBV16+ymI1cPfuXZbrFRfOX+D8Oc/O3gF37t7lztEx/RBZr1pmTYkrS9wgh6TFYrm5xk2Bs5UeTCv9b/B2xifv+2t402BNwc3VU4S0xmB537l/hsrt89rimzr9gUuzj/CZ+/83XF98jeXwBqXd4/MP/m95ZPeXeGP1FN7W/MrD/x5P3/p/8NTN/zsp39s5c6biU/f9Nd518FvcaX/0Dyxs58Vlan+Wu+vn37TGRO6uf8R9O5/EmfItgFiZ1fAGZ+vHZQGcMisFJDUvLuJtTYgKFMktp/01Dqp3va0VTlQXkmUJiMSrKAkqPUsY5rs7/NKv/goPveMRDg+P+O3f/h1eu359Ogzfe+D/aRJy3oJFwXQK1wPpZuq6KWqNTryy2mKt+tXHfNb8pgL43hgUq1E5zjBNkWTN2xTe8nrMVKRuv9bt32E6YP0MlUB+EwRlnAAa41RiLKobh8NmSxiGaTpZFOXk8TV6/xVViXGW2WymB8CoFoY5TV1z69Ytzp+7QNcN7O8f0K4XFM4Q4kAza5g1DTkGKAWwEkNktV5KZAReqNKa41o4B94x5E003Gh9wBniECV3MWeWqzXXrr/G7LFHqZrMw+94mOeff4n7Lt9PHwaKSxconMU4w2q14LtPfpPPfeGX2N3b4xOf/hxf/fKXsMbIHmJlf7FOqJrELYDW+L6nvPUeb1+vm89phHuNChPxv0ojWbY0N0VwOf1Z4n+zKq+MeF/xxHvfz+Gt27x25RrWi7RU8tY3kVTWjt5xc09DY3zNxkpM2ChwGH1x47VkthJ9R3XR5npUVZixhDhwcnTIn37j67zyykt84Rd/gfd96MM88uijfPMbX+OVF17AEIk54ZVkbrVIZesyzSrzho3XkZHUr6/b6hTdJp3Wj5LmLDaoohD4yfzROe0DHbdu3eLlH7+E9Z4z5w545aWX+X/9R/+hgsvQezZMEXRW3+9IYtWdYq2j3qn4+Yc+zNBGjg4PObx7yOnpEuNgPp/hTYlTdsni9ISi8CL5VLl7SKIgS1Ga9CO4M+nEyjrPrJ5pdBvT1HHQ+BEMEyBplCXK3i1gzuksFlUiaKQp5Z3VtUfOcVljptCf3fU9ZVXinfhOF6sli1MBV82amnPnzkrDwI0xgAWucKy7jnXbEjUjueu7aV1OKUNM6rkMXDhzILmdmoW6v7cLwHK15mhxzBAzx+sVvnAsWpFRWys+XpszxkmqRM6ZtpUpskE8zCJz9VMygkyrpEiFSAKRR/aBddvLFMsYBiXuxjBebJ1GT0nqR9Dz8/aaPZLOc86kLBOuadKoULGUEtFv2WB0rD5ausCAl89k1a7wtWeIUcjx3UDX9/I5mYwvnUz5Ki9ScJM009xinaUuKsrCs7sz4/jG8SSFzynL5MwMBIX6lZUjBh13RgS2OiSyl8HKcrkkpch8vkfXBclQzxDSIL7YtBl8BQIpyv60Som9/f1NAyCKPzMT6RWKNmYLO516C0XfQUwUzmOLkqFbSBRkHqPdku53cSpizWhz6yUaKOcIxtJ1a3pVmpqYKWwldYgquFbrVuG1AvVKURJj1m2iSiXdEChrAbImjQlLKTFrmum+EjJ2Fsp/10lChgStk0Al51o4Z2kCOC9y4uVqzcHBAX0faKOkAFRFrRnnhi50ZCRLul13qrCV+K4hDoShZwiDqANixI/0+JjoQ0dRFMRpyBi1fhI4qzRE3PQ5OC/k4/EeWK2F3GwFI0+fRD3RlIWqtaSpXFhRcPZ9rzWhnc5HRVGwWCxodvekER7RRtfbe7ztwlZ05OpHsZbSFnjnxUeekI6RFZ/EeMGIFybhx01VPSkb75VEzAj0QySiYxdi7M4YYzfy5NBPEtuJWhqTemJHabKb/i6rXGvoezCJsvKUpYQdSwd0wBpPinbypDD+XKsezw2PQui0g3yQxkj0gCxAGWcNXg3xkndnIUT6NpDxFL4gJukSGivSiMO7h+I5HiKz+VzhCj3LFHDe0rYrdnZ3mO/s0PeddD0XS+IQ6PtA4TxeQ8lTJ13+YQgasl7LwTHlyTPW9x2UhUIPgh6AHb1SmDEiaQk6NRo3OIOhLL0CEgKzHfGzAZSlV9KcoapK9Tl4YhzEo+sdZeXwJRgrMhchIkoxmFR+Zq10G2eNEKBnsxl9TBvvgXM4V1A3sFgsSVkXjbHR4QQgJZI+KVCcNaQg19DQdwRjqat66hIOIcie4Au5efT6s9ZtHeaTep2SEkfdhNX3RUkiUDeesrZUpaWelRqq3giQzOTJL/LQg/dxcrKgbZdcufYGq1ZM9Neu3uD27SPOnjnD2fPncK6mbQOLdcu8n1Nbj/eNFiCb5s2V06+QcuDX3vF/44+v/Wv3FJRjKPzv/OSf5/XlkxNt2LDxC9372EQPvP/8P8tDu5/nd37yP+PG8ltY43jXwW/xwQv/E148/Juc9Nc2C4ip+cR9/wrvOvgtvnL1X+H15ZP/wLWkcnsY7Ft6gpfD69TuAGuKtyQ9/+TkS7zv3D/D+879s/zw7n9BSj337XySx/b/PCG1/xBU5Xsf40FDDohSJHgvhHGbLTEEduZzfulXfo13vPMxTk+X/N7v/j6vvvoq1qTJc/pWRe329POtCkZULjZOS6fMYHPvZ2RHKSUb7e4mu3ssMiz7+wd87JOf4NlnnuH61Sv6dWYL+MYEgJomrGMRMuZ9MxLe2ZJCb36H7cnhppk0VrV2E5OyJW0eoT1j0dG2LSDcgPl8R36HETKO7DN1VUuURZbf7+YbNzl3Zp/CFSxPTrn/8v30/cCsKli3LZ3eH103cGiPcYapISufp2E+bzDOKbRGNuUhDBwdndJYt6W1FrhQYQ1t6oi9wFdiSNy4cZMH77sfa+HBBx7g1s3bfPvb3+aLX/wCh0cnnD3Yx1tL4R03rl7h1R+/xKOPP847H3s3b7x2nReef058ndkxxKjAFn3D8zgNT5vP5x4/7U97azcNk+2GSCSZpIUVCgzMCt5jmhqjBUnb9qTo+OVf/02+9fWv88Mf/YhsJC98jHrZvoY3H7dmQ6eNv3C8j1KKsCULnq4FLbY219e99yLK0BAldua1G6/xN//G3+Sxd72bz33+s/zyn/sNXnzkUb777W9yfHIk6h9rpDIdL8EtEM9Y76atJsHkbQeSyW9aFfV+YjxXGI28sRRFSVM3nDlzhjt373L7zm2Ojk65dNmxO9tl1R6rSszp9a5TN82jSyFgbAZ6Do/fYFbvcv7SGc6fP+Dm7VtcuXKF0ntODo8pq0oax76k8iWlszi/ATdGlf/HLCTVQZskpfGqyIpYV9DFCDmKJF8bZUnz2K1z9ENQu5abZO7DeH4wTgvVSsniAp/cDBLkehu5GU1di1QzRk5PFxwfHtP3gQtnD7h06ZIUFxptlDUbdtW2HJ0uSHmkfwvIiixNuVJTG+qq5MzBGeZVKaqp0EPOdAp6Wg8d67YjZTh/8Zw0oiP0XWC5XE/rlngqJce1C4HDkxNsNhTWU892GaJknSakwd/1vRB3naXtWnKGIMQ5+iHqNWQZlKSfk/h5rfUSm2Q33l3n1EOv0M3x7Ko9Trln8mZdTggQsygKjBawMQbJjB09oSlTaSNwVJ30w8BqtRI1hTV0MbA7n9NpTNG0D1mRkEadFIYw0HYddVOLpLUQeeoQevVUe4WmWck01sbAbFeil0IUZUEzm9G2HSkbul7ASM46kQpHbaamvNWQyaQcaduO+c6cvutwVvkxOSq1OAtAzTqGIRCTDtLsaJEzkrxiDIX3VFVFzp0UYCq5DcOA81788c7hjKFbtwLLShljZQ9uW4mzMdZolE4xUZcJA2VZkLPE/zgv56cYIj1hskPaibYciUkmm85agqr9xKceZMKcosrd5T3yvsA6uQ+dSBylOWADZSVTY6v5riFqg86LNSKnrI2iNYJ1NFTe443BaHGcg0znKye+Xu9lze67fmocVFVFTIEhaLHtpKDt+0Fhd56qlDOv/C7Q97Kf+UKylCu1QaAwQ2MsOUpsn3brCUNkCIGqcBKr5tBc7I6oe/9/Kzm2MQWlNApkIygNLyXpcqQUlXwnxcAI05HDjIypp8zEqGhn1ebHLBf6mFgXUsSOOa6aa0iWidhIWR632dHbMtIJR1JniAGiI0YxazuNArJK9LN6frDOanjxxic2HgBNloB2573o/nUqKhTIoDI1eS1VVeK8TCT7vmfoA33I9INhPtsjh8zxyQlN01DVDd3JCUO7mjKauq6Vzrx1Qv6rSs5fPEMIA6+99roAp5LDZHDJUBU1XiW/KSb1xeTJl1WVnhzHDrsl5kAkEJLBJOkGtW2LQRbckKXIiySSyXgnuXvGZbCR7CSmJ/RRMsFU9lFWbgqAdt5pgLZFHCiah+cNTv+xzsKgEUo2KR3V6oFDdPnJFxKD5IV8OBZpIucZC3U5ALV9x2zWYAvNT4ziHcgESu+mjFn5s0iIjrKs6FYrJcRaQo7qESmmA/RmOgE5BbBO5WmGsnRUVUEGmbiTyC7Q7O7QNCWr1Qo/87jscSobF68g1JXnoUcu0Q0tMS6o633uHB6zXK5ZdYFlF7h4/yM4X3C67PCHS5xdsbt3QMowm9Vwun1n5jf9ezyxGV4++h1uLL+19Xd/lg9XHs6UPLL3y7xy/Hu8tvxTmaPmyAuHf51XT/6ANh5Nz+NMzSfv+2s8cfaf5A+u/BWunH7lba0lKYfp+9/88Hauf//WBerry+/yrdf/j3z88l/hvWf/aUJasV+9g5QDiXjPYf8f5rHtJR0pqXLIEBz9rG74hS/+Iu96/AlWqxV/8OWv8NLLL2vBltQvuCkStkFOY4d+Q0BWv+z0WsdiMyoUanw941Qsq/xP/Yh2E51zrzdWaoif++CHePcT7+FPv/XtKe9z+2tHqesoI0WLhxFMtE3VGw//G4nr9vU2/i6bYgU9CGaTsWMzRdU1JgvZdmw+jNEpmSxkRs07lyGNSGgtkmdrsyFo7A4pUZclp8fHlIVnsVpysHdeosxOFwKs8Ja+7SgKK1CnUiIqnIEL58/LZCUGVl3H6uhQQBirjr63U9MPoCocZ8/s8Pr6LlFJ8yYburbn6tVrPPbYO1icLnni3Y/xrW89yTPPPMMnPvEJ2j4yt5ZkpKn13Pe/z/lLl9k7OODnP/4Jbt6+wdHdOyIv9IY06CdhzbQGjVLv8VrYfAb6CbxJMj5OTzffY/S9FskzGJJKOKdGzrQmJGLMPP3UU6zWLR/88Ae4uzjl+tWr+sSbuKfxIx8/q5TVA2WmM/rUmBF5s4KlpgnzvUW50KiNNnKMXrOb+3KUVi9XA898//tcu3qdj338Y3zgQ+/noXe8g2e+/z1++P3v06/XBKUHO2dxdsvrOynBtp+bqVFozNbvt3lHt6BqmZzd9N4759nd22e2s8v9DzzIzZs3uXbtCt47Ds6dI4Se9fpUGmPeq6RUDuCl21h3jIms+yPa3uFswZnz++zuvZ+7t24xtB3LxQJflHhTkQMUjYCiyCLRZYzSGydDCvoki+w/5ki7Hliu1zRNA7NCCNoK0klxoKosWTPns976KUrsmTNO6OSFpfSF3rcq6bZ+o6IoPE4L+ZwlRiWkSNd2OGO5fOE8s1lF6eW67Ic4yUW7buC0XdP2PUVZYayhtIU0hLNQrK3JlHXJpfPnteElKQVtjALaUiDbEAah3xrAis80RyHY103JYlixbpcUZUU7BE5OT2jbXmWrsM4t5aLGlx7XdZRFOVGUo1U/rip4+iGBc3TdQD8MAvPUAkXWVMkSJss1LsChAbIUNxkkUoqx8TLSj9MkVU2InU7OyBkP8hxRCiprxZNbVl4AZ7NKri0VNFoEeGRLafKsW2kWD2pdywrcDDnQDVCWc9Zdy3AYcIVjttOIp7uQRk3uAkUhxabzDjMkuXaMSIBdWZB7y3LZTpLtfhDZcYxBJ/1G5boDMSQdwgTxccdB3z9ZSIYYRF2XLS7LzxmkmlUasZVi16m9DWlYWL1vx0xXY8TqKGdVufas8ZKNmlq8kShTY6xE92iUTwxZp5FxmvRWanMZFSdlUWrcjjQ11uu1DHlSomtb6plY5bLSp43eq6363zHSuPLOSXHrRFUVYqRwxURXDvp9zllyabl794i6KAXA2nWimu1lf+h1KJgDJCKEKDnOVmK9vHc03uOt17xpT8hZYtUKTxgE0iZ8ImXJq2KALQjauFaIr19rgkLUGoUXn7HVhmbfdVsqW0eK0LVClHbOEcNA9DpFTwNlU4BNFEVJ13YsF28NFH2rx9subFFycOELmrqma4W4l5PkfYEsrsZp8HiMZLbIw1rtC4wAgS4gu6HFMYRAHDZe0owEMzu94LaLzURWcrK8yUVRiIdI5cwy4meKlshZp3LGKSrbiiZfJ6caLqV+DwWzjCb2oAWTQcnMheaKKijFSLcsRfXj6pi97wMpg/cNxhiWqwUp56nrN9/ZIQy66FjJAItJoC6+qCjLkju373Dnzl3FnWsch9lkxvZ9kIsZ6byXTU3b93SDLLRbH930/melvxkj03XpWkpA+dj9g8x8PpsyIeumYb5TMww9PkmEkK/L6f2OMYBJksNalMRhEK+gkuUkdshNkUTl2AQYxD/QhU7lB7LIDylgs3Qm+6GXDqFmkTHKIXIUCl1GMtKQ62cYxPcRUiSnRFCPii8qeY9LWaCdEwLhWMjkosRaCRNPKdIrMEYw+KUW4pmiLvClwxUWVzhqndKHIUjUh+Yud13HbGdHOotBQrxTls2iairue+ACMTua+oBE5LUbt7DGcHR0xMnxMTHCzdsLhh729+ccnd7gwgPvwLnybd+wd9ofvcVk9s9+OFMx95d4pfvde743k2jjof4/uaHfsf/LehCNOgl+e49F/xpDWrJXPcyt9fe3/sZwpn6Mw+4lQmp/xm8VePb2f8KN5bd4ePeLlG6XP73xf+CJs3+Rxp9nSMu3/L5/0EPiVdxkqxgLgxAidT3ji1/8Rd79+OO0bcsf/dFXee4Hz0m0meWnfvfNFFUOxpO6ZFqzxpiSjbd3e+o6/rcxm+m6USDM5GVMmwLmHj+hEdn+t7/5TY4PD8UG8FMkZLamrPL/7qGdqwxuMzl7qzcsTx7F6bumEd6Y5ecmKfW2N1caeFvTx2lKLcocY0QPWhTSRW6aCl/KeiHqkkRdF+pni6zbjpAzO3v7LE5P5XAQEkaLmxgDoQus2xUWWCwXQsFHwB1W4+NiyIRBfEHT52Lh0qWLHB3epG3jFMkTM7z2+hvsH+zjvePM/h6PvusxfvDss1y+7z6aZk5dFRJ3Yg3HJ4d8/+kn+dTnfoFmNuczn/tF/v7f+ZuQBBCTrKhMpDDUmdU9U9qR/J+mBsObmyfWGlKaxs1CVdVCM2lciE0CTtl4TLep15mUBl740bP8+KXn1Je6kRBPryULGFCmwAoKGqc/ozd4616QglqmFpmtwpwx7iJtXR/5nut5Kt5VOptJHB7e4Stf/grP/+gFvvDFz/HxT36Kxx9/nG994+u8+MLzao0R6fB4qGJUC2yUyNNU2ExfswFfbd6TzXs1/Y7je67qMe8t99//ABcvXODOndv85Mor+NJx5sw51u1q8rEb6yAFoSVbuyWLlPXi+PSIuqpJCeq5RPjEIMToGCPL9RrvS9arHu/V3qUii1HOZ6ydWA8xZdZ9hzWOWdNI9miQKZHVe9daS8hJiglj9fMRP2jdNBsQpNJjY4hTDrxRT+dIWw3D5vDfthK1d+bMWS6c34Cl5GtVFpot636g60WO7yTcmJCiTmsC3hqys5RlyZn9g8kfu1i3rJUcXRaV7Nc6YUKv2iEMFK4gW4GC9X2gKktCkIlZ2y7lfGFkEozJFIUn2UQfA6GLxNPFdD3Uk8Reo1tiT0qRbr3Wa9RPVu6ckSlokkJVIs5EHTIOHEZ1zraM2zinU9pRuaiZzxol2KZBQF0x4kMkEzlz5oCy9sr2ED5B3wUMolJZLoVF4Jyl65dSZHnPcr3GGsusLqdzcsrSzZcoS7CUUzFlTUG7XlMUDucsVVnQtxKhGVMihUTfhQl02nadkGxtlDigcWCQmFI5YpQzW11VaksE78VOJ77NoBnKGkWFJem1EmMWBsDUSJM9MusE1Dk/7Xvj+z0MAxaZ5qa8AcgVmtlc1iXHxyeURbHFkBAQXwjbKSwQo3QjrbM6cZRIoBAiRSFrTrvuqKpqShcJYZBGlzaMx2ZMSrL35RyJOePx5Cj56mMdY4yRqCvr9P6QaElnLd1KYj+zqmWGlCQH2hekvqfw0ija2dkRMKt3Mh1OsgZ0XU/S8zl6Fu97kStDVsuKrIldN0zZtOP1K1FLSWN6BgxCQ3bWy/WUomZHQz90yh5won7QOKG2bdnZE3VqWVVaW4gqdzavWa7umej8mY+3n2Or0IWqKPWGUTN1YioWxR/FZGIvTCEyJb2oxvgdspFMyKyFnM1EK+b2rLTCmHvpHurPNRjpqEyHtKwLjNVpmJs6lOJXyBL43cs4O2cxn0/RklOQtmbipkDhCylWk0iFMmCzJwXNHdP+d4ybBSeaMSPWSrC0Tn+t9YQehhyJYUkferwvMM6yu7fH/v4ed269zvHhsWZGyUQypkhdV6QUOTo8pmuHe6TZ1hiSFXKwMxbn/OQNGUYqsnqmpk1YQ8KbplFKtSzI586d1fDtXiBPw6Ch14mqLuj7NaEPxDhQFHPA4VyFd1YhBgITmDnBs4dBDn4xDeLdUKnHFIsTk/jtHLjC6cE0TD6REU2eDbiyoF+3mo0s0IugG2pCNlgTLSlbjk9OgMhs1sihM0oucsriMTDGYbOqBHRiZKzAIsbi3OiCIE2DTYFPgnp/lxR7KcwLx2x3Rt+3kCNO88ic82QibRs2fsAw4AuzKXbjgEE6Z1VTsbtXcef2LXZ2a+zraTTUcPvaazz71W9jV5brJ7dpu56qrgjxrcNsZaK9dSuPB2LemiLnTKF0Rvm6xp/XI6Yh5DXH/U+40HxAuaU6uTYFe+UjHHev6JHUkXLgD6/+NR7Y+Qyff/DfZv2T2z8jS/beRxePWAw3uH/+CX589PemQ2XpdrnQfICXjv7umyTFmxOpwbJbPsid9Y+4vf4BKOjq0/f/q1w7/frP/J3/QQ9jrTa+UBiIeLHLsubzX/gi73nv+wkp8Yd/+Ic8/dTT0pRxVqeuEiHBmybGGxiTysWmA3y6h2JrtqShm3/sFE8ybqTjBjOS3988YRoPYE9997sSg6Dqi8333zvl25aTTu/D5gunQsAo8XbzRZvXiypENj7Q8bOyYxrrZkJt7HSIN1sdz/FQIpI0K1ENVtbRoihwXkA07TBMjauynEkxcHzM4dEh91++yGxnd1qnszU6FZH3XnKHpYgxViZUY15xRIoLrADrxql5Vl30bNbw0EMP8vzzL2lOb4Hznq4fuHL1OmfPnuFkseLS5cu8cfN1vv/ss9x//yPM6oqyssoiyFy9+hMuvHCZJ973fi5cuo/PfO4X+NOv/rH4L1X6E0LaxAyzLWuXw5W8Zemea2VsmrAlr51O19vXx/i55s29v/0VRmPlJJd0k0c7wpVG+WvOTDJp5wxW75V8TxNkE6+DWjhIGoE35h8rnXXTYPnpaKl7GzF67wDD0PPqqz/hv/zPb/DxT3yMj3/iY/zqb/wjvPPdT/CnX/8Gx0d3xI4yKXzi1ECZlCuj1F8CeLfgWGbr/TSbpsuWgkLeELMlH88UvuDyxUucPXeGO3fv8JNXXsU6y6X7zrNqF5LRqtDKTBY6acyaImGZzWul4xqacsZ6taZoSvb29klDFnn9nTuE0feYM66Q5xoGCEOkLC3RJIZeGrtFUVI3tarULCH0DH0v0Ccn91TsW90DwdpS4ntKT1kWIt9Uq9KYrbzdWJnNZko5HvQakAjHZiaZoHUtpNhRrZJiJOSMdQUnpwtWvbA9rPXYPDD0PUaLJm8t1mR2Zg37u3uUriDHzHq5njgP8/lsOpeFGLXwlb8rfaGU5UhRStFTuoLVesXqeKmxLdKgbqoG4y3NvCGkxGKxYt119J3knO7s7EArmaJyrpF1tF23dOtOIZty38QhKY8l63kkTdLsQiWw2woYswWLGkLQolZicZzKUoNej2FIFE2lqkTJTK3qmmQyy3WPUy9u12p8iioaY4KyKnDeydkrBlZdS2kd+7s7kKEPUWBsWLAZW0iB24fAflXSt63KUwu59sqCOKvp+jwBkJaLFcv1iq7vWa7X4lcNHSaLnziqEiAMQXN1/bS2kBF/dllMqo4hDDgnRW8YBgyjTUy8+kVV0/UnmGTIfafyb2mClgqEKopiOuMOg3hVvXU69Mh4bYgMqWc+bwhBMl+ruqKuZDDV9/20fozQq75v5X3QqKGu6xWuNUwFtXN+a2Iue1HUrx1CJMYsBbqJxNxRlB6GKNdOQtU7GZIUpVWhucRYwBFCok/9ZJ9r+16IxDEzhAW+LDDGUXhHXTcberEOuEov/ukQhKsjzWBh59RNpapQK2DboqAsK4ZB4IdB1zOBAQeNXMoKrpUzo0iIRdURtEHCJM8W3tKgTSxrLYvlQtcM2Z/bttM405K6/mmF3896vO3CVmAbhciKg34Y2ZLzoNAnM21O8ianyQs7dpmHYZDc1aIQzXw2ghKxAtgZM9WEVGbFSG8tmmQhVFvnwaIT2zFdz0zafW0o461I9lxh8Ek6dNJVUB/mdDAQLXfpKwkbjxlblHIRxkhMOpWY/BS9SKidkHcl2lYOHUMAh58AWilHcuwxOHxZSYxNt+bmrddxzlA3NUMYWC2XeDwhi269mdW0XateCzbEuBxFEus9xjq8dgjDEKQ7OasxURdrZ/WwmPSQHiB76rqEHDDJcnz3kJwThea4em9kChpFrjZvavyel7gL7WZuPIBR/T/gDRgnYIL1ugcr75krDK4AX3jyGK8k7nZcSiy7VoBPzhJjYjV01LbG6gFJik7Laj2AylDGBcFagw+Zui5wGsfTr4TIF2IUQ38SEigY+r7D+1K724NmlukNPX3GGxlvUlqed1DPDENA5a4DQ+pJRg7LcYgqTy4nAnckYnxBTJnc95RFyXw2J6bEumtpoywMu/t7GFty59YRB7szTpa9QBDCwEtf+SoHaaAvM8cnp7j1mrbrgXtv7tP+OikHLs8+wqK//pa+1M1DprgfOP+X2CkfYB3u8ODO5/jE5b+6ldkb+PHRb/Pp+/9VHj/zT/Dy8d/HmYIPnP8f8fiZv8Dfefmf47S/Sibx6slXePn4d7l6+jUaf55ffOjf4e//5H/6M7Nix0fMPS8e/k0+eulf4srJH/La8ls4U/KB83+Jyh/wk5Pf0/va8XPn/4fslg/y7df/TwxpyU75AP/oY/8pT77+7/LK8e9hjee95/5pdor7ePn477/d5eynHmbMWNVJndVN6ZOf+gzv/9CHIcN3v/1tnn7qaYWv+DG4YXyG6T3eelb5k7w5uP8DX8NY1XBv4WrMpkjMKv0cK6Ckwn808kBAPdJIsm8iLE/+SBWnjjXQzyqSmW4Lo40hJeCr/1A63hsS7+jn33zntlc3aeQQk5Z1/G+jg908SWX1NesEqi4LFishI7f9QCJRVSVXrlzh/IXz3Lp1W5pPCC3f6M8e1EfoCk+OArfIaWA+b1h1ImGUDPBATkZ8mlsPZw2Vd5w/c4arVcFiOcISPTlb7tw95tq113n0nQ/Sti3vfve7efLJ7/Lkk0/ya7/ySxgLRSHrUybw7Pee5szZc1y8fB+PPf5e7t65w3PPfh/nrbAo9EBnjZ2amaMscXNtjFOIMeaHqRi3dgSUbXJmx2JtTKPNqjfdfEbb16BCIEfWRc6TPxXUwjMyL1LamBwmyboAFSd/6j3FKuLVHSFq2iLLadNIMJpZv31T5K0i3ZotDTSGvlvxJ1//Gi+/+DKf/PSnePd73sVDDz/C9576Ls889V269VJAQOMZQq9hNXBu1BVb1/8GLsObio83dYGSnD2y3eJUG0fhay5fup8L5y5wfHTMq1d+AgbOXTjPMPQslydYm7DO4L16v0naKBPpfVU15ASrds2qa3F4fOk5f+E8MUQWyyWHh4eT1LwsNlTXvuuxSoMtCqc5yRGbwWZpTsco5OOQA/OmUVuAIZEoNEs+JxkU9H0vqoKRSosWbirZjzFKfIyzlGWF9Xaa5kzWsCDJEyFmEiI/Hn2xaWxXWItVAGSKidI55lXNwc6uNIu7nnUvEtq93V3hcqRhWlsk09XQd1kgmjHStj2FxvNlF3UwIROnoqxwVSlnndkOrihZtSvW6zWrxYqhlzzWnDOr1ZLWyJTKFQUmyCR73ctk0tkgWcJDIKYwFRFtu6YqCu1Zi5Rz9DLK1Fq93TotDSN0TZssQ9+pJ1jvISzeF/RBPq9xshaiRPPEHJjPdxhCZOiDFvUy5SsrYZ+kGLAYdmY1u7MZ+/u7tF1LCD1t107TuBhFtShSdI93M7Ek4nWIooA6VZp0XU/OsFyuVJljFDQ6Rk86VXOKjTGO0ZTWKvDUSv4tDW1rp4FDjIm+F48sWeWwypqwCNApYchWzl/WWKKJUyZ3WXqWy0gzm9P2a3zpKCoPMUhKxanEaxWlDImapibnROhlAuu9JQRpJEgGciAmoxbGPKmixsFIVVVS0A6BnZ3ZdP94nezmpERgnfKKpxYBsxlPimGCLHnnKVyB0bNsBnxZkGJQ5ZMoRE02016HUu9DkOvcW4lXLZzAqPqup1DIq9g3DdZLoZlSxFhH0msLY7RoNfRBhjuSPLMBYTq1iMrv3BFTJCSLR1RT7WK5lS5g6Xv5/Ou6IhlLv1gJ4XxvB2c1FSUM05TbOUfX9tMZ9e083j4VOQkN2dmSbmhZLFYTzKYsy6mzuQm1d0rc1UlnGuNlokzkppwkJ34qjfuZ5LKDoL5T2BA+jXFKj0xkSQWQXFlrJmO5tQ6LxXuRRVsH1peECYcvhxjRKI3+NUfhC9arjhTBWaHmmmQ3OZZOCRwikiZmpfsm2ayzyeRo0VqUomjYO6hIOXF8uKQsG3IO8j0hcefuLfb2dimqgibLIni+LLl7eBfnHRfPXOTqlStkJVBbZ+mGXnJcC0scBowXoEJ2hrbtcdnrlLDU91s+uxACdekpCwsEyd9Vg3kG6qbCDdKd851Qk8mBpplTlLJwpjSocbzUAYxc9DFFnC80tHtFEQ3OVyJbLiy+NGAiriwIrUztrZWA5lFSPnWQhkhRJvp+oCjKe6QObeok6yxl+iFK3EEWL4LLAss6PV2QTCIZiUroO/HG9t3A6WLJ3u6BvF+w+beQrKjLit70EzZ+lKA1swpbJM6cOaDtWmIaWC4js7nQiLtW8r1iEskyOmkTY3+Sw3qSuIayLKdushTanvMXzjBvSg725ly/epfDwxMO777B45d3eOSBC4RwTES6sav1mpx277kvT4erXDn9Cp994N/g587/Jb52/d/ksH2RmLrJy7r9ePXkS/zcuf8B//hj/yVDWjEvLnHSX6Hx51RmCS8c/tfslvfz2Qf+DT5y8V/E2pLCzvjGa/87TvurAMTcqew3M6QFX73+b/Brj/wHfPb+f43f/cm/QMz9n7me/PDuf8Hl+cf4lUf+fVbhFs5UFHbOt9/4P3N7/RxoLNB7z/73mBf38aO7/yV32+dZDje4dvp1PvfAv8VHLv1LOFNQul2++8Z/8GdMi5MoQPLPnuaOTS60Xiys46Of+BQf+fgnAcP3nn6GP/yjrzEMAWeNUsfTlvfRTv9/PGCO6sWNl3UjZdz+uWwVjvcUlPrfU1a3Fg4pjQoSHRaLTpCc0pTPnVIihEHAH2+agGWl/U45tsoU2j64j13xTQHE5jVt+XM3slOj67SV92aafjEVV5KtpjI8ZCMd54bOW5w3ZIUdyd4h8KicE3VVKF1XWAX7+43SGS3nz1/g+R/+gLosqYpIUcgkMOVEDrKvzOpdLQRkurheCdNgd3dPvHzWEAaR38UtWXbOiaqwOCoeuO8yr7xyjZgi3hkGIEW4duMGFy4cAA1nzuzz0EMPcv3a67x65RqPPfawHgIiJgbCcMyffuPr/Nqf/03qpuEDH/kY11+7wtHhXQUvipQwJSEWj/vm9vWw7aFFsy83XzNmjUPO0mAeryvGbFyyZgNv5rb3yn+3PrPxz0zm7NmzhCFwfHR0T9MhpY3c3ilwMcbthsYmIsIYsNqYSaqviNM0VBkRWuC+eWprjZkaFtM5CQM58sYbV/ntv3Obh37wTj7z2U/xyc98hsefeIInv/F1Xnn5ZULsN9NaZWygOhVrzESX2vadW/UOjo/NxHqMTJIpU9z2P8P0M5xxXLxwkfPnznF4dMSrV6/RdR0XLpyj7U43EkS79UlkyUZt237KGO3Xa5EvO0tTNhhrOagO8GXB6ckJJyeneFNK5J9pxdZjCppZTUpr9ndFhZBjoqoaCud4443XKesS4z1dDBhlqEjxazAxTjRl6xzO+mnt8F7sWF3bqbzWUZayzjgnwwgBZA6TWqPreoyT3NR1u5YGkxVZaRgtbEopTylinedg/wyzsoSQaftWpJdGmsijHNZlmXKSAlXVAA6SNKudd3QpSWRSSsRhoOtljdzf3SFZR51VottGThdLaSQslkSdRnnvVMIdSFksR1YjTQpb0PY96zG+Sz9HqwCnbDJ9FClnWRSYIOrDgMhtxzXQZJnuDpoYMd6KY2ylVd+9nRQockbyqjZbr9fiv/WemITynLI0+EOM7OzsEJMMTQpfipXMF1w8f5bQDeQcaJqCECCmHpMczgqIaogdu7s7GPU4d33F0Aas9ULAbuVaFTuWvDbvCvW1OpzdRPQIiMyQDBSFF1l7CBj1Gct75ybJcNd1VGWJUeKw1ToDJYWP+dEjCd1gtxpVAry1/Wh/K4Q67SWOynq5H6w1HBzsA4ZhaCEnmrqWyarNcp15y0Gzx8niVIrS2Ev9ETf7dghxirMsikIbQOqTThsrSYoSBZVikiZIjBRlqYpUiSNF5bzOOQpXaMKLJ0SxGM5mM6EpDwPVfC4KkyEQunaK2jK6kBdWPLN926s02Orzh+msYJV/E6MRYG6UybkvvAyK0sgTynT9WoBexuF9wWw2U/4QGhmWKKuKovAUVUnhC45PTqcCVfhMka4V/y7A7u4ufd/K9yhxvdZ4pbEx33a9RJm+zcfblyLLaUj8SkEIVjFJN0cmWUIPtaM3LUs8EAFFy1vC0MuBP0uXIVvxpo7ZjCMuvfAFhS8IQ1KPmhaUOikYt+DRJ4tFs0nlb0JSsJUeUoJKWVNOpCFiXRaiszZ+s0o/xm7HkCLGlVp8qQ8oJWxO4OSmE9KtUV+TSLF96TFZMPLWZ3Z2ahaLU8LQUbqSqinphw6TkmLFEykNVHVJ3w1YZ7l8+TJd1/Haa68xm89Yr1rKolSqmhDInPrDFguhL7qyoqgl9y0oIr3rJGtsZ76DcyWzpqKsC6w1nD17QLdcTcWb857GzVisloQUuXzfRWLoxPegmXVCUo4ExZIXZaEbjQRdz2dzAe1kycBqW6ZM4oyRorxwrNYrqlxDlpidoR8wFAxdwJUSo+SUkGyRgtW7jq4NGOMkHwwxwccQCM6SK5FleefpoxjUk/pSpugQ76VZYiX7UD5r6ZYW3kKWw6pI2mUKW1UF83kpiwmwt7vLYn0iG0yUDnNdNQxDSwwJwzAVM8ZY+hy1+xcYhiiER2B3NmNtDetuoO9a6lnFfKfhzNlz/OiHL9HfWtIultT3neGJBy9xdHSXfhCA0ZunBikH/vjav8bDe3/ATnEfp/01+rTgy1f/KkfdKz91Hx91L/N3Xv7neGTvl/C24fb6WW6tnuWgfox1uK33Vc+Tr/97XD39KpfnHyXlgaunX+Vu++I0ofzWjX/nnuJ1HW7zB1f+ZXbLB4g/I+t2+xHSiq9c/V9yofkgF2cfIqQVry2+yVH38nSg7uMJf3Dlr1C5Aw7bF6ff92vX/02eP/yvuDT7MDF1vLb8lubavrWf+KS7wu/+5F+cCuafscLpJCxhrOPnP/5xPvKJT2Cd5wfPPseXv/xlunYlUSdGh0Zmm1w85mvfO6WdJqRvIti+WXI5yo83MuQ3yZP1Z4zy2TEmQvy2YKznXe96J8vlkuvXrou6Y1JJ3luwmtFfN1Jjt/5uI31lKkw33/7T0uXN7zP+e7u438TB5DcV9QbusUvMZrPpkJBIuqZHdvd2MAaaWSNFVI6sVivquiH0ieVySVF4Lly4wOPvfhdXf/I8p6dHE8E8WZH3Hh2dyH2ZLU5zsauywhkoZrW8ztKyXqc3SXhlYlnXFe967FFOT5e8fvNQ7CrZYcksF0uuXrvOe554jNVqzTve8QhvvHGbb3/nW9z/4EVidtS+mKaqd27e4unvPMknP/NZmmbGJz/9ef7+3/mb0ojKMrUbPW+bwmp7kr9BPk0xUGPJl4XsbjRUeYQWjcXqJIFPYwzN+L1GeRdmaj5glGmRJGfz8gOP8PGPf5ynn/oOT33nO5N9wajuzgy4AAEAAElEQVRaK09wKYFVOZ3Ix+2M2a1LzuSEM04zdnQPHv+X33S9TPcVEz323msyMoQ1L7/0EteuXeejH/0YH/7IB/ilP/8b/OTll3nme9/ltatX5Qyg95Ub7VCa+Tvef3acwJotyfZWs8OphGz8Gjt60XO6BxxnnJdVwXnOnj3PubPnuXnzJq+++gpD7Ln/4ftZrZd03VIO4X6TJ9z1srZmk1WpZemGgW7oyTFTOmFcXLx8iYOzZ1kv1hweHnJ891hgLlj8scOQsQ8a5k2FM5b//j//z3PpwXfyb/3rf4W2PYUkUE6v57aYIA+BnkhZeMrCY5ynHcJ0ODUk+jCILcy76f1AizGJxZHrVLyRGWMc67XE+WRrJi8o6om0VgBbdVkyn8+oy5LaF7hs6bqWru2Yz+bUTanXraoHsp0kzzknCo1oS+o97OsBa0SOvLu7QzlE+k7Izm3IGF8wdB03b73Oej1gNH81hsDu7i5VVTMMgaEf1A8Z8F6k6V3bMYyRMEpJns1m0++ckgxxRNmncn6nv7PJStKVObkAqSJJwVROPaAhRIFyWin+BdAlqhjrvVqgMqQeXzhMNPRtqzmiUDQ1VekJqiw7c3BGki3mDYvTpUZTeg4O9qQRmOWzzUZ4IrWrKGxJiBKfKAOrTLtcYgrP4dHppIQTuKxM3IY+4EhYXyhtWSarYCnKCrJh6MPULEo5CX27LKjrekq3mEi4OZPNICBBaxn6QF01xJQp65q+a8X+aIVjk20WpkrcqE7MECk0EcSNMVzWMps3EndWGGKUmM/ZrGGwA7NZLRGl3tBUJW3bC1vDebq2lZ+l90XbiaS/rsUb3PdB5cl+UteMBWDWyKnQRWIUCrQoSfUc2w0aMSmDJm+1KEXUEVkL5bIsOTk5UQGL02ad0QJWZABl5TGVKCfH3HtjDDEMk+0F5faUhTRH+j6o5UOUjU6z6EHiubzKr/uh10glkSB7Lw2Psiyn9BFrpTmElam38Y5V21JUJfVsxuliIQ2O3NFb5D6taxar28QcWa9XeGt0jXp7j7dd2DorRWuMibZrxSOrklRpomS62Kn30k3m/U3Xq9AOjkCYfOFlYUoZnHSPxZcY1Kerky8gxaDdEDmkSLfZTaHriaQy5QLnLDH0k4cWlQVbk1Qil7ekW9Ils8Zt4jDUlxFzFtlMFnFb4RyGQBd6ur4nDnKT1rV0VLx3UsgbKCon8oXYE2PQjU+kRtZVDGPMRehF2qETngsXLghNMATRnDvHbGdGXdaqQZeYGWNgNq+hKTBWjOKYPHVzhmGgqgXNH/QzaGYF3os/4uDMLubcDnfv3tapgJCo5/OGkOTniMpbNn9XiIytsJb1utOYHPHOphwgZobQU9aF0rPBp438bNQ8JhRHbgQGUFc1Ka4IITH0A0XZqJ+EacJQleUEGCl8SfJePUkyper7gVC76Ro1UeMbotDlhk6aGgKpk6pzjEioypJ53eCdoV2tsE58T8MQqeuCc+cPqGtZsE5PT5nNG6qqkBiAKIuu9Y7Gz+j7DkPWhTNqQLlIrWTxSwJBM4acHLvzHWI8JWhExhATri549PFHOazfYFgFrv34x9x/8X00dU3pDVWV3jIjdkhLfnz0d+/5sz/L63rSv8ozt//je/7s9eW90TuJwI3lt5Sq/NOPw+6ln/qzxfAai+G1n/lz3/wIac2N5Te5sfzmz/yaO+0Pf+rPYu54ffnk24oWylkyqSW398/6uqysgIIPfOiDfPSTn8J4z/PPv8CX/uDLLBanIrlFMvPsNJ3ZPmRr+TlaIraytbdhP/eCmrZgNDlPm+A4AdjIiK14WceClU3Bm4CH3/FOfuO3/nH+6Mt/wFU9wJstwvJ2cTs1Zu5xRG4X3JtJ63aN9+Zi480P6ZSPJRb3emr5aSnnWBCPUJXpz43KXxPs7Mzk8DGbaRGXWK1WDP1AWVbcOTyh6zr29nbJKXLx4iVOT4/VhjAWb3YqrFw2anGRLnoIA1njLaqyoe+389DzRGHf392hHzrOnJnz+q2bEmivGdI5Z15/4yYXzp/lwvlzNE3D+973Hp599ll+8NxzvP/n3keBx/rJ6cALP3qe+x94iIff+Q7uf+BhPvKxT/Ctr38dawtpmBpR0IyF7XajYLroMmCivlKjiQHy76SAGjOpFMZppU48TNaCTl7QVutj+nnWjp+bTNqfevq7nJ4u+fwXPs/B2fP84Ze+rId3ha65TRPHOoGAjY3szfWTJ6o3SfJ0nc06ednAkLYn1W++5n56cj1+jUzGu3bJ17/+VX74/A/5wuc/yxNPPMY7Hn2UHz37LM889RRHR3dJVkjgIzhs/P7xcJ7z2Dy69x4YpeHGCBBLuwrT7zbKuOWwviXBNnKOuHzxIpcvXuDk9JQXXn6R1XrJ/fdfZrE84fD0jpBmlZA7NpXl8xT71KhE6GPCREM7SITKfGfGmbNniA9FTo5POLx7l1s3b5FC4PR4iU2JebOLjZ7TW3eJfSKQKLSJZn0hWaUKunLOSfxPEnXcqhOLS13XxCDyVhOloA8x4kcwku6vWT14XdeTokhsV20nKq8YN3BLM0qDLQc7M+qmoqoqUj8wdC1DEhjerJmLos+KzSrFIJ5LJyaMwrtRJCKTKefpBzl/FXXNwZkDOVsuW5EMh4Fu1XOyOOXGteuErhfIj7cUrmJnflYnY7BadbRIJM4I2lktO4Yh4pynqoQ1Us8aIQxH8Rw7X+j0VqjGNmmEknNYL6Csqihw1pBDxiSUHJyIfT+dsVOWqaRE7Vj6vhd1ohYXZVFQVY6qqlgt1xglnHvvqcpC/inkPt6ZNVgvk9+ysNTVjLIqme3U8lqtoesG1t1aLFU50/UDy9Mj5rMdvC9YdR2niyXOOY6OT9mZ7zKbzaTZlwQW6p2HJNeJK8TiMYwWsJhZLzpVOBgF98nkMKe8OS9FGXRlJKosxIibe/Ex67lJrqMs09sw4LUeMKoU7fvxerbY0lK6YjrrN02jUuBEzkGZASonLgpMlP2+LEUJ2TSNgLcydK1MEJ0T6NGYpNC2rabDSFyP5ERbaY4MUkiOPlPvPWVZiUw/RlW+yqCpLCU6c9DXn5yj1PdllP+P6lZh6zmKUoGu1so4uWCqJcpSUjzWqzUocHfoO6wtNE4pTUwJ70tW626aNlvrsM4JpNbaac8Yt8hN0sOmET/KwK3xFL6UNTRn1m0L1lHpex9Xa4Ft+WJq2KzWLb6qMdZR144wDMxnzT3NxX/Q420XtslG8J6YO2LuME4mtNNmZWQT6Doh95GddjANXRdxRrJcB8kDkkOalelnaWTi1vf9tIFjnebeSgdaYHR22oKtNQgPImvYfNaNVLpq06HOilY8K4VL8MZ28lWOHCopgrUY1oVIzOWOlKH0kunVd5105DSkGNQg3QeMBV9IxyoRaLsFKQ/Uc49zmZDEk+tLRyaxWC4pqxJrMsnB8ekxbduSNBR8AoNkgVkVhSMOEn7ezCqVEmT6xZLdvR1SZKKIlmVJU9fiB4iBonCEOOArz7Jf4R1U8wpvHdYWHB6eYIzhYH9XpGqumELcRxjWOBVPMRFMoCgloiDnpL5XiEblZFakaikZxdJLFijGqU8C9vb2sNZycrqi7TpM4Wh2ZqQhEFXaEXoNTnciB298LaHozpOIeoPK64khiERTr0tvHcEYIpk+BHmtJtA0JX3XsbMzF29QVbJTzwS/HnrOzncIKRFzRz945vMZXd9yeHjI7v4M70vpEi4W0rHyjpg3kwbpSGYqJcVJTrMclFLeeM3ruiGmRB96cs68euUq5JKD+y4Rjwfu3L2Oe/0NLl4+jysd6/JFXls/h7Ml1mwKAQFziLdaOpxvnhJu5HV/9uNeyey23E+yiYP+vDHn1WlkwAayYlTmuvn5G5/dqBzckArNPcWTYftlbjVGtl67YZwI6b9HqaPqLMcpoHTHAvmNR4k337HxkWozLetmaMfnPr6Ec46f++CH+PTnPocvK1595Qpf/r0vszw+kd6bwpCmqZPmwcprsJsD7j1FrTTANlLnPBGRGQ/sVp5XfIejz1A/kZGYbAREh0ogzRYjwALv/7n3c3q64KUXf6w/z6nPfvpB+gnnDXH/nmmtXr/j0M1OONjpa0ZbyfSN+jxm8g9vZMnjj7RWfbjj12d1RpnpnZfpgnOahZdwWQmLbGTP4hOzxGQY+sjx8YK93V3KouD2zVs8+OD9DCGyf3CGqqlZrxa4QkLrT09OJ/WIXnEKjjETPG53dxdrPcsbh9MmPJZ9dVWyO59j3Zz3vfc9vPKT66z7AFGhbQbaLnDlyg0O9s+yXLWcP3+e+XzGs88+xwMPPMT88nyCZlgBO/DkN7/BhUsXaWYzPvDzH+Xaq1e5evXqdK+YyQ+NXh/c616+pzjNGrunh4ykPllGqKN6btVfm/Q9yLpvG6fTcjMCS4zCb+Kklopx4LnnnuXGjdfZ3dsjpszQDXofqkVIGJfymu2bpex2c4/rvs3oqXbSWBqpshsJM5CFQm3He2VsKhnN9pkuxI2kGRKHd97gt//eb/PsMw/z4Y9+mPd84IM89vjjPPu9Z/jud77DcnGKs0ZgcRr3Y02cPLfj+zqpKTTihjFublIjbMBd9zSQzL33UIRpHdrZ3edDH/p5Tk+PeObpZ1ms1pRNQbUzIwQh9ZZFgfFRFHFJpak5Y/2Gig6RIYpVKDJj1uzywJkHeeiRh7lz6w4vvvAC1ln6EPCLE178r/4/FDEyO12S5h7r8jQtT1GK1LIopKkS1Rur07OqqjHOEEOGGKlcoUkRcpgOQeL6Wj3HhSgU8zBIQTaO2vtuY0EovOfc2QN253PmTS3y1qEHHYjkmJjtzaiqUqA0bswotlMGc04CR0ITNABS7unaNdY5qrpisVhMTYj5fM4bh3c4XZ5ycueI0lkuXDyv0UyW3dmcpqyxzrNcrQlDT05OYD1JIFpVXeC8FI29gnOcFp0pZlG7OYt3JYUVD2W/7kWGXEjsTM6JXEJZ16R2jcniZ+xDJIYkkcxG1AJebwxfFhTOEZzBWUQGrh7Hwnt9XTLxd87iHZSlpygriUU0Rs4z65aDM/uaBSwN+kima9csFq2AoNqlFGDOs25b1ioNBUcg067Xcv+GAW8gOy+xiwnQ/NNm1pAZqOuaxWLFMgjItA89IUY6nQx6A04btl3bqwrEqD0jE7fUHkMY5FrNmbbvJguOQJ4k21YAt6KENLqO9DFRFh7nMzELiLYwaPIG6pX1eC9Fqi082QhFPuRIaTxNU4laNfbMfC0Q3dDThgFfFPJZGjn/RmBQyXDIst5aA3VZUVaeIcjZMeWkz5nU3hDuoabbbHBY0hDxRsBXtvC0XcdyKZGhJsuE3lpp/iadrBqyUJa1lvC+BAQ+F0M9kaO9s5MPNuSALz1931FVJX3XszOfTRbREJMwKxJY58lRfMWhX01nmvW6xVpD0/hJndAHiRDyRSlZuF2PTbKuWGsIw6CZ6Zb1ei1ydusoi4qE0cjNt/d4+4UtUUz/bYexIpWwOHIWU3EIIvkYqVsgv2wKQooLIVKVXqeTZpLRGZUoeO+3JLeZEHrxXuihjjFWZIzkSWP4uHqztjxiVo3cgAB3jBM5B+PziM/KjVXtlk8oW6aNMUTxH1hr6YJsIoUX6mBKUJZuev3WWaWLiWFbEJ9GM8YMXd+SkpOJTFIPkTMy/fYW42CxOqVvO8IgyPRh0ND1XiFLwHw2m8KUjYEQe4iB0ll8U4vMjszezpyyLCa/nS2MFlBJNnGnUgUPvtBJd0ySUZsV0JEl7iRnqCoJny58wVivjJTmECNhHSlLP3mnksJrxCwv0/UhRKqq1miAMHW6xpifrETjMdh6jIeyRr4mabdq9N2OEQcCoQn0bQdO4oggC8TCWYY+apyQAzPgfGC/qalKDbmPLWfOnGXf7HB6LP6xsq45OT6lXa3Fd2IlZ7HvBxaLJTMsZVVxfHTIbNYIOt47kjGSvaZNGKtSwRgC3vjJm+Wc52Sx0mmySGnWi1NefukWBwf7nL14keqd9/HCK68ScVy8dIkhnpDJfOTS/5zHz/yF6cD45JPf4YUfvcgXf/GL/Pbf/Vvk1HPr5mvcunkD78EZ+TzKutLFA2zhCSnifUGMQWMlxumiTjq1K0gu+OAHPsXT3/sO852SF1/8Me9//wfZ2zvDk09+F2MtDzxwP/ddeoChD1y58iopRZarJWVRcPnyRZpZhTGO/b199vf2mM9mck1bS1CgXF1LkHdd11RVpb49g3elgugMviiYzWfq5VMaOZmuW3B45ybPPP098eLt3cb+3O+STs+RXnt8um7GZlHeVFXSyLGO973/fXzmc5+jLCuuXX+NL33p9zk8vDWRTJlYAerHe4tJ0rYkcTuLVzaq9FPNhm3/7diMk1GR0Wmm/KyYxqJWit4Nd0Ama9/73lN0/bdYLBdTI2KkIVsrpPHR/5dzYruo3fyNJvPplAidWo0/Zyz1Rqn02EwYy63NGV4nasZonmKeerxjkcDYqY952lCtTlXzCOXJm0D4wnuKoiB2cni+e/dIDuQx8Mbrb/CORx5muVxy9swuB2fOsFwcS26evG0SHeI8Q4oTOVRkzAW7u7uEYZA1WgnmbP0ey8Up3eKYfhgYohZjWewk5y9c4HSxoOs6bt+5w2s3XucdjzxI3/c89thjPP3UM3znO9/l0q//eTm4jQIlC8fHh/zg+9/no5/8JL4o+fQXfoHbf/2/Zr1ea0STrL9RJ4RudHFvvfdjRjCoF28kGBs24EMRVEkBNk2A072f/Ahi1MYDUwZumppURrPJ796+zeGdQ1VcjXnfEr2BRvKQR97i2BwdX8s44WRqiImk30mDN0GOaYqWyFtN+qQ0e2nYbJO+mWK1JjW0yr3Ww4IXXnieH7/8E97zxON84fOf4WOf/hSPvvtd/PGX/4iXXnwRwiCTSpXwjffN2Dwa799RQTH+zBH8s7EQSJE70tDdJBnPZGvlkLwlKjfGsr9/hg9+8EPceP0mq7bl8OgOdaPXZOzp1kuZljhp7rpRYp50b2bTkD9dnbBYL6nLht35Hhfvv0A9ryBl7tx8nZPjI/Yevsju+QMOn/8ept6hGScweTyvqBIrJTpNWHAGykJmYW3Xin2nqKfGwrhW9P0gvsFRhpszvihU3hv161SaDNRNze7OnHlTQs50bTup9uq6pixLJSPrXuTNpilqRuWJUFmzMWK/6mXyVZYF6/Uabx0pKP3We8gIeOv4mNXilItn92iaRu+jRNPUzOoZKUSWqzUmZeqyxFtPH5JAo2ZyBu07Wb9qnVqnlCnLkt0dz6xpaLuevheqcIxJhjopknp5TqPn12Y2w1hDU9ZiJesCmUTXSaxTVq6LNVI0emdpqprCO1VIQlVWcjYjsb+/R86Zk5MTaQoWDgwsV0symdl8xu7ODkGtYynDyemCk+Viit8Zyc1VVQkk1BqGTiao1lq8ErNjjFKAp4R1Io1OKWAzuKJgb2fOan1CVXjyfKbQMiH83l4fbcXgyT/OexaLJXv7uxRFQVXp5+i9erslSjFnQzEM9MMIyxTIqS1Edo3CH62T6ymSSV3SpU1UiQYhRWfiNNmVrcko/FUsjiTZm1NOkvtaWMqqoG7mlGXNsu0IUUBQhS+k+TFGyCmZWuJILYWVQVnW8/MQBqqq5OT4dMrzNbrwyc/UmFGN4amaGu8cfRqZRkH8/LrOJl3XfVHI8EGBZqu1nLXrumYYhAJtMayWS6qiEiVGlriu9bKlaWaUVuCJe3u7FIVXFoUwK7J6242xxCFSV+Lfts4S0sBaI7Bms7nI3fWcZayoKQtfSD7tMFBiaJoZq7xkvV7Ivrdaac0jBbfXKfjbfbz9HFst/tbrtUxBy1KowSHqAi/yBuuNQloyQww6yrYMoaMsLca5qctbGDcRHoNOWZ3S9rBSsBqFfUjIdhSJg9WFJMioW3ZUlQmRpYOWotKaLWFIxAyrtsMVlrrxkzxKtp1ASlanL16KwwDG9FiX8N5QVlKmJCylbSiDHIZTELnAuPkXpYQJGyPSqnGzLLwl9mPmL1OuaxoSR8e9SHl8QV033P/A/ezv7vHdJ58WSa3KTayRzcBYkSk5Z8jJ01S1at51ERs78DbTtZJv1dQ1JKbc3Ngp0MQ6Yo7g5Wa2OeF9JVPTFNW0XbJatYqtt+qCSkIwHDHsxpA1m7YoCgx+omDaQqYNvnBb0RSGTnNpQ5LYgtmsFsJfG6irSjrDxuBKR+ySUIdx5BTo2l4Whn7AlnaSaJASyRqcL3Tqa8gFzGYeYxJ1Xcqk2RmyFdlPURVEBgpfMNuVyW02id39GXUjAd8YaHbqaTJw584d9vf3qGcC8xgnliOvE2s4PVngnci/xc8l6Pl2EGO+d5b1asHczGmqive/93Fm1Ywrr97kxz9+iWp+lm4VuXL1Filbuvld3gu4uEsZLk402uGkxoUDDuqH8OEMZWk5/853cHLzT3jt1Svs7swo6xqXajxW/BpePA912ahnJTKf74ikxvspu7csK+pmh1/85d/gwz/3q6zWC/KvZGbzHZaLlo998LfY2Z2zf7BLoWj7TqFdzkqR2lQikckqMe/7fpqIGGuxRSlNAZUkwYj6DzjNlpXMOQXWKDEWBdWlnKA7ZnW4wHTnyClgytX0PNty4FFKaJUanjXo891PPM5nvvAFyrrhzp27fPkPvszt27eUALqR2oyeoPExFcoj3VI7pDKnHQ/aeco/3fwjv4+14yRuFIQajfIyQpYnk6JG1Uy//2ZNHmVJr712XQ9XSZtr/p6D+VR1qu8mTdoXLW1y3vqSsc20mbZNRTsGY+JUlBsj3sq8earN90fNxjR58nCSDUkbmyGMhxotHJwjDVG9OCK5rpuanfmcdhjk3ulbshJkm6bGGDg5OSRGkT12/cD+3gHXs+QcDibI9UEW6mOOuHLGubNnuXnrJinFqcGWkpkOdOOvk8aGiF4zpTNcOHeW6zduyyFt3bI739VIlMSVa9e4cOE8mMSlSxe4fP9Frl17javXr/DwAw9QlY6IFUGBNbz4/A+5fN99PPjII5y/eJHPfP4L/PFXviyyQAXRhChZ6WOkUtLKUC4tuZ5GGvX0ITjwmOmeM4xmaY1f24IibUBU2mCYCi8nE8rJQ6oNDqXJW2eIUaY4ktFeanNm47GWxmpkNA3lKX95urDE820A47BOZsxjdEyWC2zThzFpupeMwpukWaABZmNBrF/utNCOw5pnnvkeV37yKh/56Ef41Gc+zj/2T/0FXvzRC/zxH/4hN994QxRGiPTWO10bdHycVH2WjTTEjb5PeSuHevtWI0shPk6QTUrkN08c1Cs639nl0Ud3GIaefniAm7de5/R0gXWOneYAnBEPYb/CFdKsjarocq5UlUyikJ452QSOTw9Zrk7kTFFW3P/Qg/DAg7z3H/tnWLc9d//j/5xm3VP4GTHFDVXbeWk8hziBmmIYCEF4FcYYyqoiYVn3QlcVT/gAxtLqRLMoCnKQiDPjZOrnvGO5Woklqiw5f+6sFK2hmzzlogzKqoYz6jEMkx9yGh448eQmleublElBcuKLSqZQu3s7kseaM5UrMcZzdHzEyfKUFAPnzp7h7P6+2CCsxWFp6pLF6VI+15hkHc5QOGms+7LUDNyWnOV9EyubfKCzpmE2m3G8PGXdtyLrbTvNXhUZrMuZdohicSs9y/VK7HbeUVYVLFZT9GMO4rnMeqHH1JNzQVmVFEp+3tmZYaw07utmh6ARh5cvX+bOnTtyLnSiLnHOCigqZtb9wGq9ZhgGVuuVNJjLgvnurmZ4m0menE2Wsz0ItEo6LYQwUGDJBoEgGUu7akkZGl9OShPnC+wga0Q/pMnKJVTnQZuZbmpQbWwv0hQpi2LiPaQkSSZ9L57OMMaIajErZ+ysYFAma0FMUaakhTZndb8uq4qcDU6bMXIG9gyIMtAi0NKQZQ8SeFlJSJHV+kSArMYw9B3NbilWPZiyi8f6xhqPK0piTgwxko2VmCsjU8m+G2jKSrNl5X50WRRDI3hv3CuDRlXGUZ3qZRBETBpVJKWdUL1Vnq/wpaLwCjqTeE7v5X5pFMCag8Fkz6ypWC0XVHUl+6a3YMdUHI360QZg13XicyeRQqCuS2IUWf4QB0In8VUSZ2e0GSdxWcvlWs8rjrKoJ3l4jHLm996zXrU/0wL1Vo+3D4/Si2PMhJq8FJPPxWKtyAOkoJRRdejlF4mDmOIlSyroc8iN5n0hhbDmI7F1kLIq3eo05yilDe7fKnzIamZqzmMMUNZQYL2BhqBwH6t0ObcFONDD9tDhbYVB4nOsh929GRkFUY2gHCsh49bqze28EtLyNFEcJZxjrMBIB/ROpCba49bs1DHvLCuIKjCEnitXX6WuC2ZNSVk4lT4bvTjHoGihRPuqIEWURuaUKNeScbT9WtDiZqDtWwVdeQpdnPo+kfMwbd4xJdmElXDmNIJp3Upml88eX3jKwmGMos7t2EAYpoVoMsgbIdL1nXhvh37AGZHOxCmKSBaXvf1dIfy1UZ8jYSuRJ4UUSGgwdR8nyenObDZNFQRfbolIGLSxqG/GUewUtOue2axmtlPJlDIG9bAkuq6l1WiFqqqovKXvJLqonlVkJd8ZLM6Kl8J5OVzPmgZrxKdsnMihnLVSEFcVRRKglndeOo8p0euhwM3nEzVwNpvx7ifeyf7BLs8+9wJ3Du+AsezunuPjH/8Ae48cAt/g6k9eoO3/SFpCJrM6fI3KrPjW13+fMCyZzc6w7nqMLeiHzIc/8kl+5Vd/k/0z56jqRoo65wQVnzPr9ZrFyQqrshSrC+6YPUiG5arj4MwF9g7OUxQl3pfS6NHDa9+3AtYoSkzRYH2J19gIg6HXjOQxpsta8UQJIVvo1uhEqFdwivfFtOhOoCFrMVp8JORg03Ydr12/IRK3bKZiGC1Ex81lM20Zi12Bzz348EN8/ou/SDOfcXx8yu/93pe4cvUK2rydIshgc3h9M7GVkTSs4JCsB+JN/iXT4Wf8Z5xKTp7DcQKr0/7Jy6I0YGMnke/0M+XQp/J2jahC8xnfXNiaLWmnlEfbBlopTrLZKjreEha1mTCP0+ZspLNsJrDPWOJvyZ6n161Z1aoIGN+/lDNlVTOsu3s00tZaaeYdmUlaHXWCXhSeotjh5OSY1Wqp8qZA08xomplkbxrkGhqnajlAiCyPTqisx5QyURqGgfvue5BXrr6h02mRyOY0ysPkuYw1PPrOd3ByvOR0MbBaLqjrhrIUMOBiseLo+IT5zgVW6xWPPfYot27d4jvffZJzZ8+QUzF5qQDCcMqffv2r/NrBPnv7B7zrPe/l9Ruv8dILz4s00ho8jpDDlC4wrq1ZoTxSSI0T//G61BxulQWj3zdeYyNAafM5b/4uK4Fbvs1MlFuMXDVWC5WcAl6jeZyx08TYmDQVtgaZxEb1yo3shhEYk7cLdGOldew1FzyhtpKNPzubrWxtqyC0rSgroxNMs/X1iJ0Xk+B0ecrXvv51Xn/9Jr/wxc/xnve/l/seuI8n/+RbfP/ppyEN8vtrhKExY7cHjQgU6q/VjNXt63S8xEegnJ3UDmOzwU+fm0S4RLwt8FZ4I4U3zJqCMwd79P3ArVu3ePmVl0k5cuHiJWZ1w7JdyAQJgzGBMRrbezdZIwD6HBhSYOg7um5NU83Z29nD+gpMYme2z2JxV/N7M82soapq+k7AmDFKgzoMGr1TlJS1NOP7PrFuVxQ2K/1Z+SuIdNnrvVYoQEvOCVKo1VXF7u7upgmjgKDxYBuUBmuN5IGaginGMaWEHVUvTs4SxlrEzqnRZs5IlCQW46TgbcqKMGRu3b7L6eKUnCIH8x28dezt7KrkWYYlQz/o2VSHDyZoE9TjcmRIUeKAVjKRssZR1jPJ3k7S5Gi7jsOjY5kgxyhZoEpRts5qNqhctyEHutDhgLbrJHd3i7HCViOoKDyFdzSzWvcSOY/PmoaqkXO5dYZutSRnQ1VVXLx4kcXihKJw7O/v6RQsc3h8yMlypURlzf2ta5pmpudQKZBi2xMQlUxTNZRlhUlSrNpsqKoSk8RSmHsZNixXa2l4YDg9OQUnEYtHx8c4VwESleNUjtp1HU01U9hQpGmarbrC0PcDO7MZMQZZF/Ts2K5bilJBSZpy0Xe9XFl6vUldIdeJyRAT2GRJxkyARe+8SN27blIhkjOFF2+pMRCjnSxVIyCp02nxzs6MrovajEvszOdi01ClQFEU9F1HWQgsqe97ul6IyBLX2VOWNeROhjHavC62cnfZygiXGmo1xW8yWqxMnu6Dce+bzju6F8tnHQlq4ywrkQXHGKmqkuPjjHcCc2VeCU9mvHfrerKZje/FCP0a1z9rHVVVEqPT87ioBYZhIGpO8bzZmZpn1nlRpmgGsHWO08ViUtetu479/X3arp+aF2/n8bYL27JsVAKQZWydAiEOcqDRjoYcKKN+YLIhWScyoeQyfRrIVkKACz2kWLspRpNG5xjHVLwaCokZ0ulrnqRSWTZMonQvfBZsepLujrXQtq34L4csE1GdMpts5eJOMgn21k3eHZOyZgGmSTI6hIEhaAZjduRkJP4nG9KYk+ic5r/KhVlVDd47VqvlRlqg04uUIZCplP5rjKGazTh39oDlcsnJ0R0uXbrE2YO5zJOHjtVyRdTTYwgiSzHOSzfbJHwh3e5soiz0eWCIAeMSxMRitcR68bmmIVHMd7Wz1RFCD8kQ+0A1bwjDMMFHvHd0vRAbu27AJIM3hRxwJhaJwLZQZWjWzN1Rwumto4s9Oci0yBSWISVSFFlaDFHkPk4yMZu9mnbdyiJmJMQ6DCJnd8bjnREPitMsLgt9L91V72URWa9X7OztkkjU85rCeeqmoi4LqrJk3a1p6ka6zG1HNwhJMKRIWK+wTrqVVSGxImP23OnpKTFFmplQGFerlQR8l8UEexEpfWBnZ1cPobI490TJktTGSh6iTB1V+iLSPcf5yxf5YOk5Wa5ZLJecP3eeX/mVX+ZOfpqbfIPV4g53Dl/RCKGCqsgU+zPIA+945EGW68hqtcAXO3z041/gV//8X2R39wLZOBarQEwDfWplsUtSSBbOy+c6HcZEbp+zeB9yilLQOgmYTzrZi0kW9BgN3lU4X0jDRw+UMY//iGwsZTP5JUVONkZwqYQ3M/mxxkUxxtGnKq8nxc1hOIbA7Zs3MQauXLkiROvCTmXheOiUhpg87whsM8by8CPv5Fd+7deZ7xywWi353d/7PX780gvT7MuacQo0ZsiOB9VNMTAVZ/pZj8TiTUXn7+m2TsXHKCtkOhMrWVYP+QYFqWmouf7dCEISybE0Bcep3uhNn6J8RrlwUgkomjvI6EXX5lLYwFx0O9RpmEazbPmGN7/vCNIpwFicsQqbk7LIOYtBOt5ZYy4sSZ4zG70ewJsaQ8T7ipAnZ6NSzY34eDA0zZzjkzXGWroh0YeIzQKhOzw85L4HH2S17qjqmvnunOPjY6z1lGUxgWd25g333XeZoR+4cuUKYegxJuELzxADl++7j7IqaFdLTk9PmNVWVQwlsYuQEvOm5InHH+b7z77Eqkss1iv2zxxw8+ZtMoZr12+wtzfH5Mz5s2d59JHHeOWVV3jxpZd596PvxBelSAizqJ1ODw958pt/wi/88q/inOfjn/4sb7x+g8XJIYV1YgJScNQGaLTdlGDy1U5XnmrPs914vkflwKgQQNsP0oNx5G3wkfptrTGSP6lQPmetFsWQc1BZu9EGRAPZsV4tJCvTKg1U811zHraaFttSfbUbqSTZjE0RiwJM4tQwZmsubbb8uyMocpLaj5fyVGRqA4ZEjgMvvvhD7t69xSc++Qne9/738kt/7ld5z/vey59+7Wtcv34Nq1JwY7OAn4w0oI3GZRgrQByz9TkYq2DEsfE+2rJM0maVne6rpO+xwUx/XvhG39cEOC5dvMzBwRnu3LnN1WtXiTFy/sI5yqrk5PSYHMH4hCtEqiyRK0GbeVvva8ys2jXWlaKU8wUPPvQQIV1gsTrh+PhEbDHrgTiIbDKkSFEklkvxUZ45e4YiCLBplC3vNoXICotiUp+M8siUwFa1pikEhjBII3i2M3nbx3ziygsEM2i8UeGd0LiHQXkoUfailEkmiS3JGEwhBUZOCayhqCoFNwUlyiJS5D6yODmlWy0obKJuGnb39qSgKQVs0w4t6/UaFN4TU5LkhdWKDLTdmrUqDVOKVFWBVbgmKmHtwiCxRsaSwoBFIofquhaZcFRwpZKHnffs7e9IdCEAjtu3j1isOrWhJ7wXeFTKosQrC8/OrMQ4JdKW4letEOvJ8dFCCq8cyCmyszMnhA5byGF7sW5l4tx1tOslIzfCeU9VVqzXHdZZlssVXddOw5OqqpjPhVB/ePtEJNHW4J0jRGlcJR1+FN5iSCxWC4naaQqW63b6upPTFSEjysCQ2Zk7Cm8pCyfkZVsgTrkNYb9XIOp43gih18/YT9a1FBMhSgMgRZHoDvrvkevTdwNlOZOzdBZaXR+CTjBl+p5Tpu1FqWixqo4sZPqcZE301uOMpagL2vYEZ7Na5+ScVGlETdu2Uht5T3ZiVUvGsFy3U1yWNwabM7vzmVCxdRo9+MjObI6zBX0QSXVRFaKEjYFoBZibtbj0VvK6YwwQA8Y5Ku8IGiOVcxD4roUUIl6VCqhVYK+eU9cLjA6GQkyUah1MIZM6TZMxQkR3xk3T6bbvMNbiC7cVqyrrW+lKSAM+G0Ipqsx12zGb74i3XC2VIcJsVmFdpqkradTYzGxSTf63IEUe8z5Hr9mm66gNAzsGTWt3doQ9Gat5WkEq+5QoSq8FjcbD6KYhPjgBK41PPHYHNsAZiCFTlJ6kXhxjPCI1T1P3OqXNwc6YBNZN0xf0kFD4Qp4joR4+ne6YKJt8ks11LDiGfpREWMnX9eIJTVFyba2VLov4Rkt2d3ekk5UiXbvWqaxOqtzmsDp6RQ2ZWVMRQqCqCvZ2Dzg8PKSpRTqwWKwmMENWaJArCgkBL0syiUI7zEbHJ847mYhazan1nn4dQGEigpQfcLkQeMEgMpbx/YhR5N/RJtI6krJIgEIImARFrUWudRgrEuVhGEacjxw64hjnkKirUg5pKWvUjyGFgC8KVqsVfd/TNA1lXWIzEpztS9rckmPGlSJHkg5mod3dPHXZDHCwv4fzskEl5KZ2ikuvqko7PzLZc0VJ3w8bVL3SWddty858rj+jmrzTZelZt53Sa2Vitm7XAtiQG4Wu6yi8Z2e+Q98HSINOSxLL1Upy1KylMLIx9EM/0RaDyfi64vzFC5wH1l3H8dFCcvMUGOWcpak9fRsweSAMEetKrPfi5coDQx/56Ec+yfs/+AHKZo8hCXRhLLBykkBv+Xz1fVQY2ViwjJ1jkLgTuYc0O1l9pCP52TkJvDfOSvE+TmVSJiaZAIwStdGXZdgQgpN6UWKKch0X0t1WgeH0mkbM/ThtOj4+IoSew8NDfvzSj3nsnY9IcZ7z5KmX4ax6waz4alOO3Hf5El/8xV9hd++Atm358le+zEsvvSgHJbPtS52OrltrUpomtGhk2EitNSPIZpzWToWoKDvGTmocwUAj5XjKrc2YpJOmJHaPMeKCLNFi43q8s7vLerXSYHs0hoxJgje+bpsLyAanytKwbV4ki1fnzVmd47zPGIE3bE2qRwm2eLJEhktG1CkmMwy9bvIF1jr6YcBVUJcFTVmpD67muR/8kJ1mh2HoeOONNzg5Oaaq/DSpz0nWrKPDI9I49cvQdT11MxMKZsocHR/z0COP6L3gaOYzDo+OGIagg/mABULfsVqtMBqJRpKitiwrjo9PWKiH9+T4kPW6ZW9+wM7uDsvFsapSRK10cLDLgw9e4vkfv85qvcQXIrVMCe7ePebGjVvsPvYIpyenPHD//bx2/TrPPfccF86fJ6XImf193Ch1JfHKj3/Mw4+8g3c98QSz+Zwv/PKv8Dt/67+W69gYitJhIqRkRbWi11+eMpT1GrqHvqRrokHXhdEbzLRXS/FnJpl71vtGb5MJyGQ0+geVUAtITO9zlTufP3+BX/rVX+f6lVf5ypd+f8rk3Kgc7FZjRM4So+RYv0Dvm42015hN5FTebq6o0ippoT9965YnXO+4rWY4k5KCDLdv3eR3f+f3ee65F/jkpz7Bo48+xD/yT/xFnvrOd3jm6adYrRbC2EB8ZbK2qWw+i9/Rbqsi0uiOkHtr9MUbI1JpthQNeWuajILS0qjEMpayqvHOY6zh8uXL3HfffSxOF/zo+R8xDAMXL19m1S5Zro9oRqBWGu0CafK2W2PIThuUWmyv1kfcPrrL7l7NuYsXuHj5Mqcnp7xx4w36VhriXd9xeHRC2w70MbDqAs7C0HVcVAlxKIR9IdJXg0tJFFKFSJglvjFMQwk5O27WnbFB45Tua/VDtEb8hIU2BpyV2CDrrK5rCYs0T0UOH3QalabzVNNIesFqsZjUf01d4cs5Ozs7lKWAf9quZ7lcsViI4mM2m9H2Hc57urZnCIH1WjKFk0qlC/UvFs7jnWOlOa4pJx14JOYaISa8iFK9+isq43HeslobmlnD3v4us3rGet3yxq273Lp7SK+Kr8IKFTn0PZSbYU8Mg0zSusDposd5i13Ke59ipGwarCvp2pZTJ7WLsTL9Ojw6noBMReHphzipD4dBbBnGGlar1XT+K4qC+WxOTpnTxSlDOxBjpioKco70nZwhUgx6/eokz4psvusHCo1/uXv3SCFUDl8UDF0/DYNGpkTfd8wa9QznzHw+36whKqVdrZZTdE/f9ThjRB489Dgr1r2u76YGYBgTQ9IwMXGMkTibnNEpuqg1x/1v7AAmPQsZ4/BsAIBVVYmK0Umm67od0zAkwme9bjVzXhQvQwicLhYMg6gCZGJpp6igsnDM6oa+6+TMrPFffd8LIEttKau1FIMCQN2RKWyWc7bE7BgGtSOlsREeBpKqB4ymkvii0H3dTOqpqq7JqRMo6xCU8Jxx1k8JH75gExuEwXoHUdY7j7wXwzCwWi3Z2dmhqiqNdpJ1YGi7idpbNzWnp8c0s4b1esXh0V2xVZoRYCl2wv393U3009t4/EN4bCPOgfdyk3aDBoGXxaT/HoZBKLbG4RVXHYNK+JAbxxrxOuYR1pRhrc9l0ElfVtmyLXRzEFlJVpO6s54UIYUs9EeFC1hjBWWuG3hRyK83mKCbfSCbwBAj3tcMMQqy33iGNEgHSseQxjhCDBBVLhnS1B2OupCPe3HO0qXJWbK+Rp9WygFMpl2vSCpjDUFyw2rvsaqRH5/v+OSUuqrYP9jl5PSIk+O7ElZc1XI415vGeY+zVuhwZPp1SzHKcFOUSQgJbwr0dEpRFhCCauPlMGr1ZstjIay6d4jMVDIhRXZF6DusIv0FfV7QditB0au/y1oP2QrxD+lox8Qku5gOMka8WWNgd9e1GJNZLQYw0PcdReEFHW8gp0Af1lhfYpx0O1MOGJOV+Cw/qy4r6vmMovL4qgSbWfUrQhJZlrHib0UnY10/YEMmDFGki7p4yXoWGfogviaVf5dFwXy+gzOOTn0dOQSKRuKYnOaEZQPGO7oY5HoMch2OsJUYBlrdnGZNI9dSFiVDt1hIPpmT/MC9nRpvKxaLY6rzWth6h688xpYM/QApUzUVVT1n3UdSWnP+wiU+9JGP4qqSPmZy7FXOJZ63ENK0EMo0OhAV2zli3sfr0heFSK3I5LFrlvNEBzdWIq6MFcmKNcXWlIgpvsupzHmEwOlJE0ySqA0j74EggbUrayzOel2MZZprnbzPi8WCo7t3CKHlqSef5OTkVLyjKTOi4oRqXkzePilwE7P5Lp/47C9S1jucnKz5oz/6E775rWcIqSdr5MJ4Eh1BLQalqhMhBy38By3wkm5oUZsC8jvGJCH0oz9xvD7AEBDqoy8cdV1RqvfFO09TNxTOTxAb7xxl4YSCOojU/yMf/Rif/uxn+Z2/99u88MKPVKqlEwQtbIPe32GQjOW2E6lv2P58tIAYAXWjX5ycBUBkjcowN/+Mm7/3Xn392/7jTafdO49HNilbWKqqxGvTzHvHfZfP43Pi9t1T+r7l2rUrmgEosrY0RJaLFTkGTExSXBnD0fERL7/8CpUrZJLohZI/Njubek677iidx6oHLAOFNQxtNxGxjbEUrhB7Q5ap0LWrV+mHKwzDwNXdisff8x6+9SdflwbsIAeCvl2zM5tTV5ZV23F8eEjhS+Eu5MzVaze4cO4sB/sNzbzhoUce5Pkf/oinn3qKT3/20yzXa3aaWmAaakb57pPf5sLFS+yfOcvl+x7gI5/4FE9+/esCTbESById4zwRYeP0OY4+8Lfqam8VvDrRHCf1owog54RJFqvTQ+3DMVlxt3zVskdkmWZauV9jjFy98irf+OrX+OwXPs8/9k/+U/z+7/4OJ8cnFOotlea32bLsiP1mSFHyw5OSkicUmRTDG3Bb1HQEKR6kJyaHRoG6MUXkjI9Noasezul90IlvDFx95Se8fv11nnjPu/ncL3yaT37m0zzx3if42h9/hZdf/JFM2sYC2m6K85H6PN5Hm+b7lkc7KY/CWs0glQUxaRyQs07/fNPki8StSBD1KZLZ3d3ngx/4eY6Pj3n55ZfJZPbPnaMfpNHqXCSnVqZ1iFxTtBluyqvMSDRfzIFVu2DZnVJVFXVV8vA7HySFzGrV8tprN7h7dI0uBE5OFuKZrCpdR8yUwTpGzxS+wBZCX86FkYmlnp1KX6B9L2KCuqlou1aaaQlmVa3e2jS9hyEn4S7o9N5qUyEGkbXGtqOsKuFFuIIQ0qSqKoqKoij1sxFJrfee/f09ORv4AqeWuNViSYiR2c6MBERjxP8InCxXhGzl/GkSzsiUMqcR1mNolRI7hIHCO+qywDtPWcgeKKo1YdLszkpdYw2r9WxS3N25c8itO3dZrkW6jMnEHMkjgyBFSWkgkYiUTQUOVU3K+t4NPdZ7qrrm/8vdfz3blmVnfthvmuW2Oea6zJs+s6rSlrfIqkIB3YUmm40GjcgIRehRj3pXMPSkR/0VehMfxAiR7KYaaANbKA+UzaxK7831x+69l5lOD2Outfe9WQUkKFEkuCJu5jXn7LPNWnPNMcb3/b6IvEfODRS1eEGD95PNJyXLwYUDyl58kCcna3ofcOuWvu+o6jpTdjWz+Zz9/T1AcXJyQtd1WFUQvMOlPKFPUZSIUSTpMccXjlThwXm6fkPfDfS9mzyUxhSYwtJ3Pb13LLR4r/u89quyJAye0gqp2HtPyPY3qTcGClNBjLh8giWt6IMnaokIGoaBuq4z58ehjSjQSlNNkTQARdEw9G4ayEUk7lPFOO3dU5DUjSoX3Bhp7pVFTk4pFOgy0+klvogo8ZF+kGtxt2i2lQUNVVND8JhChkSz5YKUhzwx7xkTSQZoUfKL0WJDiERsKddOjOLqlygoK355FymLKlPopZkY8/mqbC40h4GqKOkHmSBXVZXtjPKra3tJDUCm3sHJEEdmhAkfBDamS42LHkvBerNhdb6RNBXgdHUu5PFesXewx2bT5j2CrAcxOslhppFh0abLFiJDu25RM2kEfdzj41OR4zbYVyp1Swg9ZH9ESuRNlHQoY/Zp5hSdyYebMj0PEmUeHwQvE0+bpXluyICXMac2F7M+JHwvqGo1yguz9GqctKWdkyeN3hMU3kk3TemcqavFQ+kGmbTISF1jtUxMvPP5RqO3hYcau8xheh/qWoBPSmk27RoI043WezeBJeq6lpMiyAd2eHDApusY3MBsNpNOiLEcHBywtz/j6OgINwjFOPgRvpFk4aERlLcejfWlmLKNTOWMFjlsP/SgErNZMz3fwYdssPfZOyBTl7KuZOq6Iyt3mXJYVTUkRVM3zOcLum4jC2WEzaqfKIR+kKIzRJncGKMxVguwyBb5zqro3Wg8H+M2th2tlBJFJV7a/eUS5xzr8w1abyWs3jt5ncOQu/siX6qqisLaPOGTLmBdVbRDnhBYS4hjZpbIwPF56jRAWZW4rsd7x97eUuQ4g5Aa265j1tRcuXBA08wosgdllJLv7x9wdn6GcwNlIUCPoe8x2tJUFTEqyRbTGnK3S4z1XgrEXDCOtDrvPMlHykpTFAWvv/Yqn7wgF7Y2Ige0dYmyhjT0zBYzZrN9+qNTLhxe5OFHnqaqGlyKU+NnPCdjFDl+WRQSoyS7sqnwTXkKaXMUis3gqxQjwQ25cxxzvq6VAsi1lHUtm73Y5wmQTHZ0/kxSiJCVDVpv89xU9s6aXDz76CdJbIpJNpa5YIzJ07bngOLszjUqnfjFL3/JyckJe3v7vP/+hzjXU1y4yae+DNeu3+Dtn/yc6MQ/FVUBaB5+9BHa7s9xQXHr1m1ef/U1nOuJDNNUTutcEGUPvcrqD2uhsOPkJeVzWedmQI686LosCxbfSF3VE7xhElBqRSosvle05xsgZEkUFFq6t2MRaa3h8PCAwmqsUTSzOU899TTXr13j9ddfn6anVVVBnjChFE0j54yZpNyyNoa0uylPeaNh7ioKtBK5MGNsy860djx2JbG7nk2yzN1ojVWyDuhCUxaWKuP+Y4ws9xYsyoJLly9ydHyHui4n2qZ46hS3btzml798EaLm9smpiFij4/77LxMHx8nxMZuzlvOzc5rZjK7raZo5ISQGIkUtEjGjNUOSKbQKgaaq8YNQ6GNuNHS94+TkmA8+vMmXvvglfvyjv+b3f+93pBFoLUUpTa7ZvMZWFbdPTnnz7Q8Bk5t3cj30/cD773/Awf6nODk95fKVy9y+eZMb16/z5ptv8uQnP8V81kyfCSlxdnrGj77/Pf7pf/TPKcqC5z77RY5u3uKN115FTbJWJqK+ArRP0zRz9ETfBRfbmYxtfblMRer2qzLheOd71UgwVlnOHEdp/pYWGneJnMHz2iuvcHZ2zvPfeJ5v/ZM/4M/+3Z/ihzYXBpl8jJ7OV/G+5czlkCN/9DblYDuJ3aEvK9lXqDQW2qOneCwktpCmu+0CajupHmXMUTJ6nfP8+tcv8MH1D3j++a/x7LNP8y/+6L/grddf5ft/9VecnZ7sPKetv/4u3cP0fLdNO2vUxAUZJ9yizlDT3mZUko3rQsrgorGxNnrgkhZK7cWLFzk4OOD8/JzX33qdru+4/+p9xOTp2hUhDhRVORGOJRrHoI34Hp33KKMwhcqy1Ja2X2MwLOd7HF444OLFS1y4cJE33nyLzekat2m5MF/SO4nwuXB4iRjH4YYUHmPBb6ymsuV0Kg2DmxrbWivarstgqkqmUzHK2me0ZJTmwtIHj8pNfO8DIWYYTfbr6Rx7YozJgxEy2VnTbvpsiZMptbVW1sZCZK1xGAhe1vi6KAhEXC8Sya7txZ40SNFaFEXeg44AnmzFyOebzYkN+/M58/ksNylEwu78QN1U7O0t8VHouTLRWnJ61nN+fs7ZmdzPyqLMFr4O5wZihCF4jBJIUyo1dS1Rj2gYhnqidY9KBqUlV7X3EtWC1gxdj4shZwTXonaM0kzrexletP1A33XUpTBJynrGYr4AZDJ9fn6O6x1VUaOTIVkwWpReq00rUUzR5MI9Zq9wom9bok606w3dpqPrHUEpsfPpQKEzAyE3pIy11Epk1k2edHrnKYpqJ2lArjPvHFRVZvFs895jirRdJzLpfC+uKlFCWgxFVeZaJU4wrDGCMYZtOoFLgRCGyTIpfy3NOElVkaieqixzbrMwyr2T/Z1BVJhDLnST0nl9Fk5AMxM2y3wxJ44RWd6zXC6xRcH1GzdwXkCqm0wJ7noh95sRtpl9xCMwWNg0YlHrh1x/oMXDrg0+F8A6NwwH71BJZxq5FktOJkRrvSU7ex9oqlJ+dlZgjRnEzmVYpdXZ5y0RUpLs4rcWDnmmoCJ1XaEUbNoNi0UjtQqJWTNjvd7gotQdhTUCLFZ3Nyz/vuNjF7bOdxRFhcZMYcNESNEQPDg/ZJmdkWlqQoBNysioGpGjKi9hMCIhEaCFFD9j7pvCqkyBCyNWX43jLqHwBsnOSmjZdJsxwiLiYg6v1lvyGQZqW+QNvMkRJhBCIkTp6iSdwAXpEJWFBNgrRa0LWWgjU9bkuIh476gqkwPDdyVTCbRshIeux0eHLTXNfE479Cz3D5jv7XN8djbJWpRWQmye1WLQR4lMIka8cxJ0XZeUTUUMSUjMQbpBZdnQdi1EWYjFh+soK4sMcHIk0TihKMTDkoJMtrz3DEOkKBpSdIRBtPgpQl3W1EVFGKQzFHXEloboE86DNVmDH0cZOjgfJoBU8B6bpGixxlJWJX13hkkKbeVCqqJQc130eeKi6Z3PxXSFzrJ1Wwh0xVVW5Ms20jSaveWMEKTALCrDEL3khIVBvGxBJOWMG6Y8ORNTv2SYBZ9QlaUqckyRj1naNOLyK/qhZ9N7qqIUj6Iy2KoGZYT+jSZ5gU2hYLVZMcSOcgzidjmfWCvpQMYo8SGo7HeOE2FZ/IeBqDVJKd559y26RWDxVbh+4wZDd4cLFw6z7CeRlCZqw3xxwNWr91HVBwxBPoekxCupUkJnWXhZ6OxVHlDW5lBG8UDO6oJZXUu8SogUVii9IP4NbaCoLUVZiv80jbh/s12ARlhPLsQlUkjgD0UGksnEY5tpO264J0BRvpFsd9uyqe42LV0/8OEH73J0dIv33nmLxazGGM3bb70BwIFa50llhx/WeC92iGa+x2c+9yzLvTmzWeLNt97hww/epmk8dR1RGBQCsjCZ1KsyFEEyU3KsyBihOYqVlWD5p42rVlid4xi0NNjSDgVea4U2WYanspxJCzRFaZ29jWPBMvr9tjCby/ffTzVreP3FtyibihqRgkmwe34/9XbzzPRYcr6YTI1UOS4pTdTTnXxIWfRGNkV2vm6naaMEe2rfTrgiuc5slhGiE8pAoSWDz2o9gXWIEPLE0JZFzuTLxac8CZbLBc2solk0efIo8LPDw0OqwnBwYY/33nuXo5M7PHp4wKYbODxYUjczXn/jVVSKGKU5OLzAYm+ZqZaW4L2sVa4nuMjt28c08z3+43/6bV5/402efPJJGpM4XC556qmnKTR88O7bbLpOZLYkLhzs8Q4fTq9/ebDk5OgYgFt37nDzzhUuXDigHyKfePIp7pyc8Ktf/YrHHn2M1bqlrkq0ThgtGaofvPc2r/z6BZ773OexVvPVb36L20e3OblzByt6dOEZjL7n7KFVcTuJlUJJirsw5rKmLQ9BZKNbOfndG4Yd3+s04SWDoDRJZ/BUslKMjIC0JJT+mAauf/guf/Kvb1I1M6DPzIptQajJsRtJmBZxlDnvPI/RbjCqr0bwmBqJ4RnGto0Kyc9+ih/aQuOmKUl+fdt1Jk5UdJHyJY5u3eTf/vGf8PKvX+Eb33yeTzz5NA889Ai/+OlPeeHnP6Pr2qy4SKRsK5omwDvLATBR603OvU1pjDFS2R6wXUPG3PqpaIpqoh0zFr7j4xmB7x0cXOCLn/sixyfHvPHGa8QUOLxwgUSidRuBOVrZa2nA5jVrs97kyLB8bWf7SUiRk/Mj+qHn0qX7+OSTT7B/uM+jjzzE6vSMppnx9ltvSyHQB8qqRKtIXZTYQtQp1liS95S6ZNWfQ4YAohRDiOBjzoTOJGUU666nLMZrP03e1ZhloMokXPJ5sywU7iJLflOIYBIxN/RdbtT37UBZSRGoo8FWJbooWK3XeapboK3FeZHi9t2G1VoIrd55opeYnqZphP2RAr2LpECOnQko0cHTDS21sdSloTQCLS0Ly6yuKMo9YQ5oDT7S9YHbd06ICc5XGykoUiQqmQCiE9pAiUEhNrey0DSN4dLFBZcuLVjMCoYQqeuC3nlWmzXLvaXItEnYyhBMAVrRDo5uGIQ1kipShG5wbFwv07oY8FGKvFlTc7C/T92IrU1pQ0Lhhg6dIpcPD4RqvOk5946z83OKoiH4rOKIoFxEGbm/dcFna5E8j7bvRLauDYWVIYRWiXYIqFLnc0UTVcI5MEoRtYTcDkOX9x/jdRKpm3oaVFgraSZFSmw2GyHgq0QIDud6RrSFD4EQFNGLJ14bS+/E252iNCRSkAmpsaKA1Ln/ZQqNz+yBkCImGYhQFhJdo5NmCIEuOVZdP+W3z0pLlwLKWuELVSVD18vHrYQTYjMMccgyXWusFPMhiWccTWUr1utzSIq9eUnViOQ3TI2EAEietFg74wTSKwuZfvrg0MZQZnL4yEIKMVGgKGzJediwaTtiUgSlJUKJxMlmjdGaWdPIQMhHrJEmdcKjVcDqLMtICWU0PnqWywVD9rALvT4Po0rLctEI94fIfD4nBo/V4HViMa+IlOiNqBTPV+d/R4V69/EPoCJLR9ePmV0hkzqVEAxFopImtLQbnGycCFgKQpKFQBsJ7A15AjLCIYpCJGMhg5FGSYrL3kXJ2RTSrcvdFkHfCyI8xXG6K4ABlclgKXdQRTK9ldAxEZpz3pqxEMF7kXtFHWiamqS1TJaCSAEYJUzTL+n4rLtWvJsqCQArS7P7vqeo5ISumor53oKyKrl27UNiDFy6dBGlNOv1Ch88d47uQLrAfL6Xc90ioetwG09tCoqiZoiD0NIYfZ65gEmOkBKbtqNparQ2FKXOsKmxu25wg6eyxY5HWPLYqkrT9WEi5aLEy7daraUBkYz4GXTKsuSSsqho2w1lWdH3fZ6o5oI8itdEZS3+ei20PvEQiSdtcNtokkTCFjafN4oYAtEIUbBsKoF4aMWlS0tuJQcEbCFxOqtVJ5h/I9j+sLNpMEaKyLZtqcqKUmvms5mQmUPIEkY5J5xzhCzXHT09zjvmsznGGtq+yxN0aWRUdQ0psV6vMdpQlVWm+w252ZIY3CDymhCYNQ1GW3QpxfsYn6W1TDNUjpHYUu2y1zVEbt48ZQF88OGHvPHWT3j22aeZz+bUVSlyqJBYLA8wpmIYhIIdvHhbrVHM6pqymWX5kM8b/EKaJmbcyyZMzpTV4+RD3T2lY9oYbteGv+9Id234PrK6/Kbv2PketW0a+Z5mNkNbIar//Gc/m3JOU0o888yTaJ0oL91BqVe5ct8lFp9+EltYmmbGP//DP+LJp54BFC++8Guuf3CdT33iUYwZJ1o7ITc7r1vlc0/AKHF6jiNvQI4tGEqPE6EkIC75Sp3jVsY1ZPTUiYfRjpmSmTy7O7XSevwX+Xm37tzgX/3r/55u0+cbb5g6rONzHf12o2xzLGzTuGHeQQhNQ6YYiTvrpFIZSjQWRzvrHzvlzy61UaBbeoIA6Swz337w4/fKDXU8P0aZns5U2oAAsYrCMp/PWW+6qcgeXODah9c43F8QksRGnJ2d7hDcFwLIGXqInsE5jo6OOTk5nbrmRmu888zmDf/yj/6lTMac59r7b1KXkbdefxGrPKdHt7l04SKlUTRVwTvvvsuma3EuUBdCtQ2MUkl5Li4DMt56+1329/c5O1tx5fIFHnvsMV555RV+9OMf8a1v/q6ArUaPbJ6C/vKnP+Hylfu4cvUqs8Wcb/7eP+VP/vV/T4oBm+93MTeT7r6m1FSsjhPOoMRmokYo213y3O2E8CNX5E6TNuWxaZqKxG2zI+ap/Hg+G62ykmhgOHcYkzDKbq/xyU+e85WTyOxHJsYWcrV9nrtT15EsLjnW2+J8POIEohwL3N/8Onc9uOPvY8obxDDwxpuvcf3GDT7/xc/xxS9+nt/55jf55JNP8jc//AGvvfZKnoLfLX0eI7n0vaqGyZ/+m1/T+MaMEksmotyWPLrbgJC90UifhsMDycI9OT7mrbffxgfPlQeuYkrN9VtvY21BaVUGbInqq7CWohRSrEqJfojZQ55ohw3Xrr9HXTUobXjokatcOvw0fdezv7/krTff5uzsjOXeQt7ffM0mnWn3JtF13bRuh1woTF7DGHD9gEqSLT1OnqyVGZfkhuYInxTxg2NwfmrQ6JxVP65zQ9/jhoFojADltGb/QKLrtDWY3HjzOSN39PpZW3J0dAfnPf0gZNYxYg4NdSUpGc4NArkqpVki8WYGlcSnX1dzFrN5bh4HZlVNXdfM8t4npEA/DHgHp6ctN2/doahKoSAnyaglr9daQ1UarNJUZT1FIx0sFjzx6APyHlmDxuJTTX92PkmMeyQ20uTJnsQYGVwIKJVYbza4YSCoRFGL+q13jpGqXWT/sFCxPb1zGFuwv1hQ1xVNI/m3K7PGO8emHVivVvg0nrMp+1QHqroiqYBznm4YRPKrFRpRz1SlEvGaE6tbUcjUvzCGPkom98hSqeuKk5MTqqqSvZwfAWnSKJ1VFVVdUtUVxlref/8DGFmIeU1p2zZLWVXmfmSJcSZPG2OygnO7HxVblQxgpvVHaQY3UJhC1oB8/7JWbHpJKVZ+I+emkWa3d6KaJKv0gh/QSkB8Qz8wmIGL912hripu3rjBer0m+Mjh4SGzuubk5ASV5Gfs7c8ps2dbPN1a9u95Hen6Lq8d8j7VTSXZw0TKQlOUwnJRRhQdMYifXGkzRW6NzYOhl1jGuq6lgdP3GG3ou569vT2pb4aeqhJvusByW2kshEhV12IRNVs+0nK5xHtH1/fUdYki4VFyvdU17WYz3QNk7XDMFzPOz9bM5rOP3Kd+2/HxC9toSYCLQlXUtsAmMEjXVejCNlfcmmQNKnmRkHiHsiJHC8FnGFnCYClMQUyBFEQ6HFOkD16kudYSFZMXY+zWh+QY+gEbCokOsYoQvXT7tJpG5CnnxZp8QkmBJVEmKUgnsyqNQEmik+IwFthSvG7iFcgZrSqRTMJg7uo+yyKwxXqnjEYfp8J1XUtRW0pgt7aKTbsS2WMKbNo1e3t7GKtzl0xzcnxGSlCWC05PTwlRCILr9Ubkfbnw99mQ7f2QfXwp0+YsdS2SEq2MQLpGcEfuzqI02hZEPCpntIUQ6P0gFOKWSapQliUqRvr1gCpkoVgsFkR6fBgI0dN1LbowQvoNMiGJGWwSEzKhj5G27SCKub8qSlznsiRZURVyY00pYgsFRcRUBZ3fYCuojNAX66pGG8XRnSNc6Bh8TdSR/YMDvvrVb/Dv/+zfoo2isHJh2TKBcxKUblKOnskbi7zxMVpI0srmwVzyeeMVxfPX94wDxs53oBV7yyVd30r2povs7+1RWCEtdhvp/C73liht2LQtfddLnjCQgnS3CiMkZhccShvqssYUBSoIRGm9WQNgCosm5HOu5/T8hF++9BIazWOPPkYzv8TClBIQ7noODhdcrJayeShEdlyWIjfXttgWbTsgpt2CdZR1/f/q+Ic/1O4EdzwSq7NjFvsXUCTef+ct1uenNHUtMJMQOdhbYguNXkiHtywsej5jNpvx7T/4Z3zyyWdQyvL2W+/wnb/4DhApijxBFG0i5PgZlb2hoxdQqQxUUmQw02gQ2Bk/jpzTnaJ4LPxkVxvGb8vVgax72mwnlGQQTEjjqw93UV9FdqfYrHrxXcYkOYllMRWYk48y2zWYGnq7m+w0PbdduusoD5/+bQRbjWoC0vTvim3mXtqd4MqCDTGhCyN0SfIkmkyIT2OVJTL3uqgxOU4rJfHip2wNscawmM/YWyw4XvWEpDg+OePKfRepjTRhbtw4khuzD3jn2FsuRT0RjMgBlwtU9r3F7Ke9dfMGZ8d3WFQlDz54laQczq3wOWB+GIReumhkemFsQd87DFryqI2laSrOVgMRzdnpKQ9evZ/r168TSZyennLj+nWuXr3K6fkZVx98gGvXrnHt2nXe/+AaDz30AIf7S5TyOYRU0607fvKDH/LtP/yXVFXB/Q88yFef/ybf/+u/oCwkPkVN7IpADDJFTZlUPEb5CAiqyDCzbZNFweS5FV/0vYXf3YXuCDsap5p6Wi9k5BeSmuLzUozTZDF5T0QTcNPzCWEEMI7ROeNGSpqrkzT7Lj/w9vmEMPpj413Pb3z88f+jxDdkBZA8v+1E9N7CctpMZRtzVJHzsyP++jt/xUsvvczzz/8On37uaf7jf/lHfPK1p/nB97/H8e3bci5nW0VScm9OaatCuXsQraZm5fjn3b+fGFSTf2sEVY0V8QjPU7nZpUnJ5Pg1S1XWXLx0maM7R7z34Yecr865cvUqSsHJyRGF9Vy79i7vvPc6ySQGP4isO/MAlNJkZwkpBVwaUFFxfj4wz0qy++6/RFEWrFdrVudnxKjYbBym0xS1JcWIGzyD2wg/AkXfdaBTjuCKbIZ+hGATnMNagUCJr19hy8xzSI6h7/FR9jmi7jNT1FeMARcSq9Va9kMpoGKgKAuseEXwXqL1tBIQV8wAw4jm/HxNv9oI/DIlyiyJBQ3Wirc1OIyK2MpSVbVEIgU/QRaXi5msvVpjdJGbcEuMtTSzBh8iJ3fu0Ha9yH0Hyft03uW1UwYwRiERjPMCRaC0cN+Vi1w4PMC7geWs5mBvCVo8wKfnK3z0zOdzQoi0w4DK/tKhXU++V5+SNP5yUxYtE/G+k6FLVZV5LyiNr03X0fc9Ma99hxdKFrMGPwxSuBPxKdAFYYpE1WeFpBSIgxvweEwqcMPAupUYQR8TypR03Ubsc2WkqS2KRGEMs6aRKERt8XissgQn8YnCrIgsFmUGR20mAndZytBI28TBhT18iFy6conVqqVtW2azGev1mr4XT3Zpa7SqiQT6YUPEQ5Skl67r6buB+XxGjLKf770jVpamKYlBAExDjJjGokm46LKyzQEeoyKVlTSNrh9yAV6KnxckiSBGZvOZDBy0otCKwkqz5srliwQfOL5zh8rOaKqCjREbz3w+oyzkOjntzrOs3co+P0aGPuzkhAsQUutKIlGtxego6lhjBRCo5LxPApfAp0S36af837IqJxhW3wswrCgMfd8xZIl0CD430TUkg1YFLgx0XY8ppHkWlfjGrS0oTEFlS4KP0hwowSNq1vV6g045FqvSbM7XpLwvKq2lynbTj3P8Aya2Nsv5Yqb+WonOmeiYcQtsgcmvFYJATErhd2cVTjaSpdx1w0wm7hRFApKyhyLmvCVthEI4ekJTzrIKIeRYAi3UvpgJzDnDrCorjDW4IKh6rQzWykYtjZjCjFFXmSBoy5FkmiE7SZD6JgNHwlgw5+5533UoZbaewezfVCCUM+eEAGyYwBlFafNkbeDozhEhBqq6kmm3k05mXc84OTmTRTRPykkJZYsJXiDPIaP+Q0RZI1JmPZLOBKowEm5dPxBDFIpdHAEwEqmk8rQ1RoUxabp5eu8YIzhdPzCbz1FKwsi7jfhfZ7OGrutYn622U588zVdKpo51XeOGkBdAhzUaO0qQtOjrN6kX2aIV/48NBpNJbjrTsduuwxaWBx56kCLLnBaLfUIoSEokRyFDFeRcLUghopRnGHqM0WxWa5TSzOe1SG50onUDSkn3zrlhCjT3zuG1xRZFpsEplBG4WFmUuDigMVOGWErwwAMPcnJ2nOOBxLM5n81kMlVYuq7NXaqK1XqNUorVao2vAqES1UJVVWT4smQx5ylESpEYPKcnp7Sbli996Rt84YvfpKkbmmYuLSNbfqSaVHf/5x/hIRvsdn1KUc44ODicGlcpw6ykqNwqPhSaWbPgn/7BH/Cpp59FJcuH167z53/656zOzjOUavTS60xRzf7SXIzePX3dLmNMW817j91p87hh3sb1TK9mjMjIkiRNljij5FrPXsqU4kS+FRq1yOeuFgW/d3Ah/5jtDnr0+Y1F5u7merd+vXt7/dGp3eRLHKeB93zf9nXsfs/20cfvkPpn5DPkjNRcY+z/7BcysUuRT7Ytl/YuyHs/Pvd8T/j9zzXEGDn79OfpBvH3VGXBYjGbXu9qteHSxcvEdB9FYXmn2/D2268zdGHntNcTj0EBDz/8MOuLF3jjjTdo2xZbFmxWG7QyDM4L2TKl6X3vhw1d2+fqJzFrGi5fOqTtbuJCwg0988Wcvb0lp2fneB94/4MPue+++9lsRHr8+OOP88IvX+DVV1/l0qWLbArDclFJ3E2SHf+tmzf49S9/wee+/GUUiac//Rk+eP8d3n37LQFyFYaYKZEu03DH82u3yNuqCtS2IGVsXuisVNB3TTm3ft00xVOl0R81+Xj1NMWNcTuxHQtSleO6YgijOW1qVo/niDH6rqJ1e36PBapsBCca5k7Bfu/5N4LLxtcwFsjj/0dibmai/cbz/aMFZ4IYuHXjOn/8b/6E119/g9/52lf41FNP8fAjj/Kzv/0bfvnzn9F16zxhyJqKDMcbp4op3b3kbsULY1G9Q/tU26n7WDypHWK1XM9bn6HADuUePm72r1y5wvLggKOjI959+y1W6xUPP/ooy/19/pv/5v/BZrNi1KVoq7OiIz9+XutGQBgoXOh574N3qKuaveU+8+VMpK2N8CBOj0+5ffsW2hhm8xkxiVVt0/nctIaylNhAHwJFEM6JAcqyzPJEsUhopcRXqrcNCgHa1LL/zBTf8fCZxBtioCorqroSqmpWPQ2DeCd9GESxYISFcHp6guud5LPOmjxZTfTe0XXisZ3VFXVZSnZspvRqYzBO9nfJg9EJr4X9MF/sYYylrsuJ1L5pW85WG9pNS+8FciTwP7BK9py2MFgFs6ahsIrlomaxqKlKy3w2oywPMIq8h0s59nE8R4Q/UzQVPgY2qxXOe6rSZpl9YDarcX2f47QUXS9F9uhNdmPSho4UI0Awx9bVpZCWR6DQ+fmKfpDhR9t2ed+ZiIOjMDIdxAqVd8jAwphiTgch+y4DrvKSU59tN0VRcnZ2xsFy/y5/50jxPTxcUhSGqi5JhNy0yr5VoxhSZN23bFad0LjzoAcQiWu+nrTWsh93Es0UifRtN9l1ACnKMsm73bT0nezFRq6PyU0TocPr7BE2eZ3SzGZNVgG4HBVkSYWAcF3QFCTms5zVW1U5MjRJ7FNVc35+xv7+PnUl6r/FckEMAsOtKsumbac4v03bCjy0bKaYyfG5V5Wwb6J3034gpSTXnJH33ViJayIloo945bNNU9QrXQZKqbz37nsB1XV9h0qJ5XLJpl2x2Yhqs+t7ZrOZnAc5ucR7J/C3fD9xg/jqT09PZcBVSqEr1kufI7ik6T4OiqpS1FUf9/gHUJGZumwp+zjDEIi502Z1meEwSoKJS/GghuQxGHTSeZEqSFEiW1CakPMVY9DZcztipCH4IUcJbBf8rl/T92OMhMrREg5rJR8qjGj/JLIYayu50UQlv3K0xdgVDS6iVEAZJfpwlEzu8o0n+GxuT5rgIkmLGdpYy6yuWW1WxBQwapTVpekGIx1Jn7uYfSaV6WkKNBb/KgjeMg2J0GcKXtJcu3ZDuunKyuLvk1DwMGANxsp0eiSyKq2pywqlBdJDkJuqKSSfNLpAiGS4kc6UapG1jIX/1DXHix8CMhhACK7i00w01nLedZJjZwyb1Ro3egVm9SRLHn0zhTGUZU3fncoJnhTdAFVZ4l3AKoMtrXCJdESbhPMtftPn+J+C4AIhJUxVZpmKZv9gn/Vqhes63OD5D3/6x5ytTpktapwfRIqu5bkbh0DKjGIgEoZAr0S6E6zo/JWXrrCg/ROFKdg/2EeP04kohYzVhgJNDAEdBe6jske87x0+nNMPHrR4KL0baKqSkCKbocvekJKybqgz/TCWsolp83uHkWZS0zRoND6sAPGelMYSUHhj2FsccvnKQ/hhhSmKfFn/w8z2/xgOpSBETb9quXz1IvsHF9jb26fvu0kFgkrTtBJkc/21r3+TTz31LEpZjo5P+Tf/5t9x/fq17Pt3aOLkRxEIxViYqhx9xV3+xfEY/a/b53d30botZLfxY7u/Ut7IaaWzt1a+V4ipKUdNaSIxD10jKimqoiTGyL4teGKkav9jPe4cQX4Xl8CyqH7z11WZiHj5vt/+WJfv/mMbAk094+zslDLf7OUciugcfZJMYr6YcXx6zGqzErF4bhamFPFBNG3WWmKQz0WjQAvVXpvIow/dh1aJ996/SecTr77yEvv7B3lSAaena9555wM+9YnHOD9b88B993Hy4BE3b97h7Tfe4dnnnhJJrjbTpA4VefGXP+PCpcs88vijGGt4/ve+zc3b/y1du0YbhVWahMfESPJh28RAJjU5EB5FQmfZ+zTnHIvXnemtnPfbgoYs7b1LOaHkeySRW08NH6EVh6nJQIZTJVRuKpIbkwZtihxLtZXAS7GyvU620tuU1VNjqyRNEBeZNMftWzYVhcJ8kOtWT2tBGvcG+Q3YLZJj7gGMZbxKO7m4KhGGlpd+9SLvvfMOX/jiF/nyV77I87/7u3zqqaf56+/8Be+//x7Bi0KttLLZTTmmRo1NHhW3So3pWaTcTBPJ/zQMV2an8BXf2lalPMJitnYG+WUwpUbHRGM0DzxwlQfvf4DVesXrb7/OtVc+5P77r7JczDnqNvghUplSGh4mTvuplBLJR5ISwGQykRgC5+3AeXsm4C4M9913lf3Zkvvuu8Lp2Rm3bx1RlRUnZ8cMvuN0fUxRWA6WS2pTZ5iNTIiTV8zrEpLBZzl7dI7eO6yxLGczyrrGlOVES/axE5JujhORhAjFbNHkPaCRNTQTg1M+XyX7NFFoKTiPjk9ou1YmZrVFV9KU9oPL0U6a2WzGrCyxOrK3v6QsLWdnZ4DGIERbVZmsoJOJn7ZaMot1Yt11nJ6vWK83tF1PP0RQluAk39YaRfSBqiyZNTVVYZjVlqYpuHCwL977zM8wOSkgkujONzu57mJ/OFutODo7IwFNU6FiwipFUxZ56qaojMhJldYUVYHte6yxrNdr/DBgtQUrINd5jpzpvSc6jy1KQvB0vaPvA6tNy7rtcVEghM55+n5gOa9Q2qJSwg9SrCnAD072ni7SFDWNjlS6wLVCwk2aqRAdXA8KAjlr3lhsCZUakw38dvjgnUDQrGXddhy/+yH9WqBb3g8UVgCoWmUrofPYQrFpOzabFh+jWLhc4OxsxXK+oO8d2kaUDhQu0HUylGjOe8pKoWuF1oXUFd5DsqJKCZEUBY5WVoYUYdnURCMpDtYYurbDKDkvdc7YbZoZyfsJZBeD2FEKK7Lw+bzBu0EgaZmv0AXHMIh8vnMyqGqcgMBMjjUF+ax9COiioKhLkhdWkC0tBsMweBJWrpUYJaHFJ9pumGoc5x0GiTby0dH1Hb2WQj5ESMZQGAFBrdqsLlSRqpS4oNAHdACbBNDFfJvt7LO104Uwfa5YTdCJZMWOlLRitdkQXJwycz/O8bEL24mqGCUiZKz+h97lit4IcIgxOkY6KoDEdWAELIBsLMYOgPfS+ZYuJxNhV2vFMLR4n+76+W5wU5cSJTCbvu9wRr43RI/ORcZIdRwnXTGIIX7Ut8skNMgNZ5ya6BwOH7fZkz5DbySOIGb5iKfve8HdhyiUYrXNAR3vSF3XTT5frWwukMbcTp8JzyNkRWdioEgD+r6f4FLeByEpptFHJNK4kVhGEonNWPDLlNvmWB3pVnVdT900zOqGrhWirzHFlOs1elCqqspSyDBFLcjfS5xF3/ccHYlEuW037O3tEfNrdUGIi6ic1ZsL/bIo8wRf5BPGSEdJa4NJVnIgjZFuVxhQOpJy167vOzH+OynejRKpket7Nu1aYGRWoA1n52fEGBnaXqa2JtEOHYtmJvS5HFEzmzX4QRY12diIb9Zk475MbLddUWVkVFdoe9dkgCQ+23E+2A8ic7YxSwWVhhSYz+aSHZoSKfhMjLaZLieSdVNYhsFlarT4ZnyQIG2tt+fjRACM4u8+unNHNrUhkqKj7zq6znFw4cI/7qLnniPGxM0bN9jfP8D5wK9+9SvW643AvdLokcuTjLwRf+rpZ/jsJ74gPvZNy1/+5Xe4dv3atOEf85a3ctrthlo2iylT3u/1xN3tv73373Z/P3rxQO0UvPlzHLPgtJqmS+TiSmfozDR5U9tJWQiBZD++NOf/r8d8DhcuyAb++BhWq7tHxfceRQFXr8IOzXY6UoKbNyHn9KI1LPfg4EAmgX0PR0fQdR/5VqUUBwcHnJ6dUFlL13XT+0zMESIh0PUtVV0Q4iCdcC3vqzYKk4soY1ImvybcyAOwhsElDi8smS/ndH3PhzePSUksBGW9wLci6/vw2oc89OD9lKXYEu67ej+3bh/x8qsv84lPPcZqlbh8YZmf+SjxjfzsJ3/DpSuXmc1nLJdLvvmt3+dP/90fy6RHGzBWmBDTfWc00I4Ty933fXJ7jnPVu9QG905Dd6W907/veqrHHOYxwWD8MzEr0UfYmdyzXHQoHXn0wYd55rnnePWVl3jzjTew+T6xfSJ3P5dtnjVbzgUjXCoXpHqrbBiTC8ZrdrdQ3nrQt745NWXM3juxJRfQceIPnJ+d8t3v/DVvvPoGz3/9eZ58+hP8p//Ff8nrr73G977zV5ydHGdLU0RHyxgFLEqFNNln5ZqWewPTSpTBa1HkzeM6P31iOz52a3fk/ykKdX/a0AqAk0xfPrAHfP5zn+Pk9IR33nmHl997nweuPkA9X7LpNzgv08yoIokwTfZG2JUUvlr+LRfp3g/cvPUhw+KACwcXufrA/RxeuEDXdhxc3Of8/Jxfv/IywyBT0XFCJvsgsmfVonM04RAHoneEMV87A3pGH3Wf/agp+1rdIN7QoiwmFZxWOueTjvIUcsTLGDmU9yhDlohquW8M45+N+A8LYyhswXI+Yz6vsYUwM8ZBRNNUOZddNum+7ymrEp+Ed3J6espq00/TShmwaGKSvQVGJKjN0jKbNRitqKxlb2/GctEISCv76fvBSUShlv2N5Ohqei92vfPVKW3bMp81NE1DUYoabH9vkZsUAaNL6qZicOJtbJqGbhjEl5wnfHVVT+kcxMTQC1W67wfOz8/p+46zsxVuSHQuSMNIMHDTvi7mc9Eay+D8tM9ViPUsKE9T1ZS2wLtsUSTiiKLes1JkycR7Gz1nrZ0o4SFPN2P24frsj277Qc6LTva0s9lM7GQqTzrLPYqywHvParXCOY/Su+uEcGqc8+gkJOCQ0xz6YeD09JTZXJquRVmJcjQnYsSckGGV3Sqz8rTS5TUsZOWBc04GgUa80lVRkLSmsEK+LrMacxgkltLkGE+tZArebzo6J/vCvu9xQWoTHzL3JU+RU1akiu0uYLTsD1UElQxGC6ci5CSHlJuK5axCD12OGGKKJNVNLcMnawgYnPc4rTk7O+fSwT5lVTKcnWCM2N6GfsjKD1mbxmGfiOMKjFX0gxTiLjjJYO4je3t7DJlP472n3wwi9U6RzbgH+BjHP6CwFUOi0IC9BKMbjesCg/PUdUPI0TRVXcoi5Zzo7xHJplbkRT+htJmCipUCWxih9ZpxyiGtN61H6UbEBQ/GEIN0sUxh6fuO6ANWF5L7FYTUpaISf5Sy2cSttqCCXCyolKgLUKrMXb5ASFv4SgjjNNpQmpI2Pw+TA88lazFhTUFZ1DneJxB9oLAyBU1K/JEy3NGE7Ekeb5gheKypsNbSdnJx7i8XLBZzCiMEapKRm07S4zZcfMRKZV+uJSbuKmqNsTl+BJyLBC8k5XkjWZzTBmbME8xyQGOMxN64fgphDj4wm8uiGVOakO5kKZHznhATbT/QzBt8FPl2YVSeQuVJZwziq/UDioKqLsWDYyIuhXyRjjLSPG02hpTCNnZEg4s9ShcoHVkPa4kp0opu6HCpyxPNAkzJEBw25MyzckZdlSKnQGOrgrqqRZISJPfN1DVoxawSqUiPn3wwKSXKOneigjR1dNJYZQgx0rtWZNSFRGGVRU3wmtoUpASDHyRfEFlgUpYADcNA1BqjK5E6RYfO/kiVYHV2zmKxyHE4cu51vUhuQtAc3bmF9y0+BEwy3Lxxnddfe4uvPf87zJfz/w0Vt4nFYsa//ZM/5ubNm4DQpcmbR4FCiC2BvEE6vHAxh6d3/MWf/QUvv/JSnkzFDDb6qDx4/P+4MZdrZZQD30uSTXdBm36zVFLd9fVj7jd5+mSNvutnj82fsShR+VqYz5c8/83fxbvAX/7Fn08woP9VHU8+BZ/5TA5gR3aXr74Kv/zlby9uDw7gC18Ee8/tSMgh8OKL8POfyWN++cvw2ONMNCxjpLj90Y/g+rW7vt1ay2KxR1mUxOAlDzx4iecgiAQQ0FbIqzpbZJKKOS4pUVWyGbJWCLjJJUwh6wE6orRkByYdefCh+7h1fELnA/3Q0fuY/eySdfvWO2/zqU89wfHZCRcuXuDw0iEffvgBP/35T/nyl77E6bpjVpUCE8sROqent/j5T3/M73zj9zBG8+jjT/DcZz7Hiz//CVVZoq0UTylFhpHumRTFGM+VkngIp0JqR1R+lzw93XWe3n0O5+oxTTPaiVasgKjT1BBSgMrvzWjXkZPd4KNwAz744D0eeewR/tk//xf88Hvf49cv/kIaDeRJr9Iok/KEZvTYprHilb1HSlMhmtI4odXT18kEOE5AJjkdx/vutlGulNiSzBh/dc+pOTbQUwKTJcApJj788F3+9b+6xbOvPcfXv/k1nnr6GR5++BF+8ZO/4Zc//Sld26Iyn8MUOW4nj1x1ZGetMJN3H7UtfCXqihyVJkAqspJjXDvGSfT28yErrkalidgbMKIeO1wesv/cPrcu3+K9997nww8/5OJ9F7l46T427Zr1+jRTmBNVXYxBlSTGzyDHhhhFaaTxeuf4Fn3bsb9/QNXMwWrqcsZ8b8mly5d4/733ef/991mtNuKrK4sMZiowhcEnKb5Q8llZY9A5Qkb2bFK4khJWabrBCfgnR1Odr1fYwlLbkjLH8oygqTB5EAtSkISK5AN7i6XATFF0mw7XDwJStAavRh9ioqykqe+8w2Xuy1hUVVVFU4nnc70RtZpzjr6TKV/XOYLShJBEYokmJc+sLqjKGVVhqEopcMrSsr+3pG5KVAqEIPmhwJS/nVKWamd5f8h7TWM1Fy9dYD6f47yjLC0HyzkJGbzUOe5t3bZSAHY94fSc1WpNXVWQIvPZnEuXstwlKU6PTyb/bbtpJTrRyLngnce7gI+BrnUMQ09R1NvYKhQmgUXjUkCjsWVWKQYBOGqtCetNtsmVMryK5DhHOdubppHmgY0Cv9q5HlPOZ3fOEZXIZcdCUJnAYn/G4f5SElMyeHYYPEoZ7hydMPRe1DbaYPJ7O/Re1KPaSJGYIi4GkRyXltYP2EHR1DVucKyTlPVGa9ZnLSEE5vNC0kC8m6wYOk+FVV5zZrMZwzBMhXz0Hq2gKgykQFXOCHXJen1OUexP0YgxCCH79OyEoqmmfb7s+WV6XVSSZiGPG3LKTM4O96P/FrphwOiIm2JE8wDGKDbDIAkbRFQUf/q8KlEGUXdoLdF4webmjsjMi7IUtWI3sNZnKBR7yzltu8nKOMmAHoaOPhf3PtOQU4hELfex4BzBDVRVTVPV3D46wiX5/Ea+wsc5/gGFrcAdUjR4hwRGh0DbDbmrEjDaEnKQe1XWOOclnLooJxnYeOdwWec+DL3kyiorXcMkJLyQp3OFMVku4OnDQExgTTHFXpS2oJwZqroCJL9q7MaNRuosVMp9Uem6ex8lYsPI6D4QpPM3sl1Sjv5Q2e/W91k+Ld1iyeTL+vkoU11rjMgKpg1wLgLzSR21TOuaRjo/U/cpyPPzXia4y8WSppEPts0QouNjIaOZNAKxshQDjVJCZJs8bTkPawx2jxn80tSNLB5GTxeYG3yGMYi8p2kayRUOkaIoZRHNv/p+wBY2m+VFqtw0M3keihyELV3Gqiom/0F0Ift0RYLAQM76ldzHsizoesmPjVk6Zq0V6nJZMgyDdHFI+N5T1EWW7W1fq87ERa0VRkk3LCVFoaHr5bUHH+iDRyvNfD6nbTtUUhluJo2PlMTPWmoj52IIQoC2BX3f4Z2fJmwxS0fG7K6YvEQqWTudf0ZrClvQDQMpxtyM6Rlci12KP1RADQMQp7w/a+wkCwutpx965nlakRKoJFRHY3QmtHpu375DVfX88Ps/ZHCJF198iS988XOUVfG/ieJWKc1ib5+f/eynvP3223z72/9smrxME6QkGP/L993PcaZo+uD5wXe/z69/9StSCEKf3VmLftN7s+vzGSXDKLVTm+XJg9pOZHYnsruAOX5Dwbz9B6ZiF0byq95+XR7EhBB59LHH+fRnP8dPf/IT+qEn2d8w4fxf8rh4ET77WXj9dXj9NSk+H3lU/u72bfjgg9/8fbduwZ/88UcJY488IgXvu+/Iny9cgMefgJ/+BN5/Xx6/quErX4HnnoObN+4iBQMYY5kv5jRlye/9/j/hz/7Dv0drzQMPXeXtt98Skm+O6HDeCYzFhwyfSZRlkX1CEkXmo2c+m9N2bd5cj/7WwHKv4fLlQ9778A4oAf4VRYHrRX52/fpNLl2+xKWLe5yfr3j88ce4eVNybR979AnqqqSyFrTC6HG0l3jjtVe5fPkqn3r6GbTWfPHLX+XGB+9xdnIsfsKUGGf3IZ+vKYo0P2b5+rZ3sy1qd07l6d4xnvO/+dhKlO86h3cmiaO/dtyAjnnlMPIgBCD1ox/8gK7ref6b3+C++y7zl3/+F0DCYiTmLCaiFlpu9HG692qlcrjFWJGraZJMkoa5XEshX5Oj1Hd7fe3+IhcPaue5bz3yaee63cq3x3fODT2/+PkveOedt3j+67/D5z7/Gb7+rd/jyaef4bt/+Ze89/Y7QvUNAQNg1BS5t/u40w5l/LtMhA0xEJwUlGakoo+wtbTrZx5n79u84UiY5N1TMkRuHF25fIVLFy9xdnbKu++/yysvvMzl+69w/5UHuXnzBsPQMRBk0KDFi62QaWF+BSiTsEWBR/Zlt45uoc0xKM3B3iF7yz3Kuua+q1dx3rNZb7h58zb94Dg7P6OuK1JUkj9fFtSNgJfG/VQfRAk4DAEI1Nl3V1YlKcH5ei2ft8mk5NwM3zbF0xTVFmNks26nnGnvPSlHrNV1QZXTFGbNjNmsmTJD+75j6BXKyGciXkC5B4sPUOIWBxfp+8DgZZDQdzKlHkJkyIkVdVXRVBWzpmI+Fx+w0RLjVpUFMXpOTtY0dSXxQqNlYjyfjSg9Nqs18/lcptBac2CKKZnBZAiRQEQTZc4/dU68yTEKUKquSi4c7uUIxkIkrEZzfHyKGxxd21JX9ZTR7n2g7Xq0MriQGIbA4AKrDDMVu984RZX9m6ScKEprSUoaE+3Q4/XArK6ZVzXD4LBaU1ZV9qSbyQ4xXZ8pSYxeDJNKdPdnsXM/VcClS5e4777LpBjZbNaUtqQPjrbzxCjF7/7+Ppu2xVhLCooUAyF0kz2isJZ+6GUPnanAg3NEFC5E2t4RI+wvG2EDZcaNy35ucqQjOSM35Gnz1jdsJrWM0ZqyEH/uYj6jKAuqUDGfzTg8PGC93rBZr1kulvQhMJ/NmO0tOT1fMZ/PUcaIvzUnQ5Ctf2UhysLgt5m0ITeDJtWs2vXNZmYQZI+yTFEXizlWKSGrFyVaO9ZtJ/ecopgi1bqulYm7F4uAyvDYECN7ywVt17PuOuqsekhJMrlVXstjCHnI5HEuoZApeFlWxCTRYv+Q4+Pn2OZuVBwJg0lLDuDgc1E1Ti003gXaoNAIxKjMsI4YpItglMT4qBSz9FNC2lOU7jcpo91VwoVE67rcpREUd1Xk8TxjFIGhtOIDMMoSnUhTRwqnzgb15ERKrZURT0FCjNN4dCFd3pR/tlwsIsUZ/zxKUayyEHKWFUq6aj6A0hhTSLxHiKQgU1VrBPThyfKMYEhR0qdCDAxJ8ODLxT51VTMMPUPfcfHgIrGMaGWZzxe0645oNGqcLg+BqrYoI5leSSVBdJvxorIS4BwdvnM0swZjNWVVUNqS09Mzhl7C04sxHiHnYVld4p2n28gGrleBolSUlc5d0Ui72VA1FQnp4LV9i/E636D01P01ZpwiKwn93ogMsAsdla0wqhCZc/YQR584a1cs9xaUlcYauQmu1ysJco6J2lYkNQK0pEi2VqOamrpucH2Pd56kFMoW0m3WmvP1OVVd0Q0OlKZ3PWUjnsXSlttQ6iAbMJMUhZLcVW1r6SilSNlI4yYQKSrp5Foss6YWEnUIbDYbqqqWTGQtGW3OD5SVlYmEkmlKIonPQIm0qQ9ScKuxiLUKbbeVmEKhTTFRSN56+y1OTs4xxZzvfOf7XL92m+X+Ie+88z51PeeZZz/5v4niVimFsVtJO9mPyk5RCZonPvEMn/7GRf7kg/87IUV++pOf8/Of/JQ0DOhxs6+2047fVtgm0ZJt5ZtTpma8a+o6TnWyqWv6/t1jt9Ad5XWTH1HJHD9FNd1stpPfRFSSnffMpz+L854XXvhlniKFjzzv/MNF3is7r9/8NcbIr5gzzkYq1u5jCOlM3l/n/m45MUjRudnIhNXnn/vqKyIz/uSn4MMPf/tj5I77Xc/vscfhww9EzgxQZv/tzZvQtvL7vofjI7j6wEcK4xBl8rqo5wTf88uf/YyqbvDBi0cseOrS8uCDD3JydsbJyTGz2SwT5oX+7/3A3t4+bduxWq9JKrLp11M0jJCHJYrBFJG9vTn62i1i3lDXZSHddh8ZhsD7711nb7nEDxv2mhlf+Oxn+Nu//Vu+99ff5V/8p39IUWj26jpDpGKe1gde+tUveODhh5jPF1R1xdd/75/w7/7H/yGzIiJWRv8kz5QIAHkKmn2xo70z7Xo80xZ+Nv5/AjGlMAGLtif4NlN2OlVSLm4lw4e0k9uqQsTmJvBYgKUUGfqWX/zsJ5ydnPPYE0/w5FPP8vLLv5ICLmX4VCb5W1MQVZwi0Kw1E90/KZlokgIjmDKSQWwqTp7aXfpx2Intmxpj+u6G1NZnn6apR1I5Zgehw8qGNXB2fMSf/rt/z9tvvMPz33qeBx64jz/6r/4rXn3pZX7wve9ydOdGfmy5V42ZmknF6f1XSt/1/stkZHz+o7dYTYW1zvekNN0TUm4MqKkZN33GaizgJaW7LEVuWl64yMHePp949HFee+M1Xvv1q9x39X4ODy5y8+ZNusFhy9E3Ks8xkBkYWhRPKseN9K4nehkquKOBo9NjjDEc7O3zxCc/QfCJRx5rOT464vz0hNu3bnN6dIYtDHVdMQwNy+WCvg9oI57DotAYhVDuC5MBN0ywxaqqUSqABmML8Uxma4/N+XXeie8ZJakco2TfWMkYD0qsdSp3BEJwopggonWRZfRh8i42TUVKUaJ6onxiq82GvvOYoiQk8R3GEAhEbKGpq4KmrqmtZT5vqGpNWVeSoR0cKzfQ5WKhntUkrbBNybDZoJRMAYPzrNctzgf2y0qUX4MAoSQ1JFIVJeQJYZ9lxy7HKZpcLO8vFtOUOClFNzhOz844PT2TZJLMYCnLkqQSm01H2w8MzuGDZnCeMIQMdpWGfFJrIpGua9lrZlgjjX+rLL0fSEZJPGihmZWG5awi+EiqBHCZlBRT2so51vU9ZpKT5wI22xlGL+6oLvQhYLVmXtc0dc3efIHrJIbGxUjbrTk6OqHtPLN6hkqiMhycy1FHGltYtFF411EVBdYaiA5lDGVVUVWVxDJGzfnZhlO14nB/n/msynJz6Y4FL/Lbwtgskzd5yEZW1yVikEFSWVjmiwXeD5SFpW3bnAAgcMPl3pwYBoa+ZbmcCwema2UKnGA5m4usPgZmVYV3A4WG5Vxk8k1VslqtGFxHWTYEFEEp/OAxTSVTZAVaRXo/YKJBR6lvYpJEhn4YRAWhDW3nQBeEqKac+ug8TVlJLZaf9zA4+iD3j+5sRVFYeh9Ytx1FUYkSCghekgmaWcPQt1QzacL4lCibMseXiipYmyS2u/TxG/kfHx6VpLjVpszh9GS5rkwZpxtHlI2Yz7lkIDRfFRMpA3NG47/WmsKqCaDCSAG0ZJ9MFNmqgmY2oyikY1jYIksPg/z8os4njp909FPXPclNblzgQghiS4pyUxCwRRTQElvtvs4LmagRtjc86WxYjJZ8sbZb07W95KWZERbBRC0jb7B8pkNWlZx43g1ElUFTxlA3NT441huP1TKxu3N0TEqJOueipRjY9D0gPpMwRi9k2AEq0buOtm8zut9m2JTczMWvqynLKlOXa9p2QMVIlztYJt/otdH0656ua6kqkUpLQevwztF2PTEmqlklhMOk6AdB8qMiLnQSRaIkXywlJQtO32U4U6AopAvj/CA+lEJgB653DNGxaUWuopVh1syEXpu9NEJRjHnjY7KkXdQBKNHv922PD5HFcpm9DfL+q0zr1kpRFvl8VtnnrGRiq/I52Q1dLsqLXHDoLAtJFLYgRVnMTPYiDMOA1fI+ozV9cFTWEHPmrfGOTbfJqjPZtJSZOCiRVLJFCSFQlgXtesPB3r6Emes2n09y3gfkhn7z1g3+6//6/8wnPvE0ly9eoXeOyjl01/HCCy9wenbG1772BZF+/yMvbquqZjabZ9VFJqnveJ4ffPAh/sm3/4CVfhmAN994i+s/NgKlGOV7E9b4bj8h40R1pHSGOP2dFAs7RWzOkRsfS40yyh0CsdopFlX21uefNuWo7hbHo+8R7p7ehBSywmDDr375S47v3Mmb/t9Q2B4eyoT0wkUpWt97D371ohSA4/HII/DsczCbyd/fuC6yw5/8rXzPY4/J9NV5+b0x8Iufw5tv/vYPRimRFN+8uS1qyVmr16/DJz8pj/NxARD33Sev5ec/3xbDx0fQd/Dlr8hEuG3h8hV44hPwxutCMNo52rYTKFNVce36+9y6fWuKt7pzdJuYPMFr+vc7AqJqWW82oryJcv2Nvv0Uyc26LWH33om81ZqD/SV7yzknZz0qwXp1Tlk1DEFAiHduH3Hn9hGXL+1xvlpx8eIhDz70EG+99T4//OGP+Gff/tYYB7ktTlTi5OSIn/3kx3z9G7+HMXDl/qt8/ktf4W9++D1M3hCZlDB612KSi86dWes42RynkureInfnz+M5FtOWunx372O8LzIVuruT0PHnhih5kSmnGyil0MnQdR2vvPIKb77xZvay5/d2Bzs+Ftnb0ylll4GapgKJNEnzxoirNG6I2fGc3eMf1lktI18LRo3ThK1X+e73aPfvU55WyL7BO8+rr77Ke9eu8bnPfpYvfumzPPPp53j4kUf4yY9+wEsv/YquyxmNKsoaY8acWikWxzzj/OaisHnaOnKnRro6JC0Fgcnyeb2zlok3XyTTwuiUmK9xyRMoj86+UonO+fKXvsTZ6pw33nqTN19/gwsXL3Dx0mW6oeXs/EQk3Xo7GYtJQI4KMFZjkobgJX6KnAKBomtXzJsFB/sXuHBxn4ODJd5d5fjOETeu36TdbPB+oOukcZ0gw5pKYlLMmyp722Utdk7UWUVZ5YJzG5njQ4CYPdnacnp6Ks2lqpqUX5KXaoUvoreTM2vN9t6QbQwpRjZtR1FaUQQm4bR4PxCCYhiE7KuVZrFY0A2eEAbJKo0BazSL5RKjZKBS16XAnYwkhfTBMQwdKkerLOaLaQrpnAyNXCYK27Ji1szodU/f9dSzSlIaukz0DYGN24i8OF9zKSWWi4VEESmRfhZZru2co+sHhpzyMHQD8/mCuhSiL0nioPq+p8+JDM4Lp8UqUToulnNOT0TyXJUS/TL6x032jTazClskbFnRdYMQkE1BKgW0OTjH4N2WoeNdbjzYHE8Zc0rI1gI0Xrtaawyimhz9q6eZseJ8wKdE7wZ6L/5fyZ+1GBSLxYL+6Cj72RUXDw/ps1dZKagKaZjN95ZZuRfxQ6DrepSF9XrDzeRYLhbbSXXMHldjctykZWwpBu/xQSapJqtEpTlTSbGbh2/DMEj8Fkw2zaIsRcofPDHKLdVoqTd8ztotC8Oskb346WlLVdZUtfiqhaFDbuqk7CUeoYg5fz2rE0do1TAMWT6fGwrApm0prN0qJPPzTb1iNp9NkuRhcFKox0Rdi7UmhohPkarS+DBMiTjDIFwL56SOtElNSoUQAoMbxHOt4j9o7/qxC9uYO53GyqLeDzK6jymI5zRK0Uja5qSGEMU7kQLKCB1waD0xjDEwW/mT1jafHF66Z9l3Yq1GWYM2idKY7O9UkzxWaY0qFG3fCULdSDeXBH4I6AKGGKYokJQSwQ1kBQveuby4l1mqou+CxUgjL0KGJs3nczl5x41N0vlDqfD5JIoxCgTBgE9ZqkBAZ7/KiKv3QbpIAOvNSshjzmNNSVMvBKmtJKvOew+qQCtHcAmd/ccpJYFMlYV4N5XGJGkKpCCSVZU0pZUivywq6aqkgdV6QyAxmzeszteyCShz/qz3DH3LrKkEjmQVgwsMQ8rmd41HuqU+OrRNFJXKNGE1+QOtVWChLsuMIK8xeLq+k2DylLLfJXt4igJTagYGQvIoK127btiI7HxvT4hr3gkYwhb0uWERCQIOiwGlLVVj6M/PxTedb/w6Fyk+BppCYFjDIJNz+fwEUrWcz6mbmuAD680aU8pGpilrirLBKE1dV/RWpus2d/9TiBkYIZuqVbvBBZkcJQVaW+pKIFZVUU3ecaUNRkUiTjY1evR8yeJclOUUmxEJ+OSlo5yJdS+//GvOz1qeeeY5Dg8v0fYDmILT01NuH52QgOef/2KW/f/jLW6NtdRNM0G9dkEzKSU+9dSTzBdzVpkzcP3ah7Sb+6cokpRVE+Mk597iZKw/R0+1Udvp6VjYTtPUHHuSobISySGPNK1fW+CXzHnk58gmfprR7EiOs8lzunmPz6vve/78P/wHmSYGyZ1V6h6P7eEh/O63pFh98UUoS3jySVgs4Affl6nrE0/Al74sk9DXXoMLh/CpJ2XS+vM8wb14EZ55VoBMr70KZ+dS/P5dR1HCcgnvvPPRfzs9haaRX+fnf/+HrDU89bQUyXdub/++beHnv4Cvf12mwELlgjt34KWXPvIw3kfawTGbL5gvl7SbDTYXgREv+ab5MxOKu/iuElKQJ+dyvqr8UojP7PxsxWzWSEzaOPnLH91yMef++y9xevYOGoUbOmb1nHI25/x8jQ+e9959j8PDZ1ht1pR1xeX77+fm7WPu3L7Fe+9+SPX4oywW1c5MVCawb77xKleu3MeTTz+LIvHs577ArVs3eeuN1ygyy8CMJ7D2U5xdjKCTWGMm3a3OBalKu/2dnYmlqB/EIhtyfJreofUm0tRBz06tUe4b447/W66Fce2axMwZChOjl3i+DFAcY7ZSntju+tfHAuYukNvotd4RTaiUCLnxqe/JwWXnmo8pERljZaThInFtO57eXc/CznskDzRd7flTCqzPT/nhD77Ha6+8yjd/9xs89cwn+dYf/DOe/exn+cF3/4q33nhD9gTif8oT3GIC2Gzfe5XziLO8OEs0NTonRYyKlfFd3k7eBYgljZqUIYMpyPsQGK0OWzm6MQatNAd7+3zx81/g7PycN954g5d/9SoXLl3goYce5ebN67RdmyX6AnxKKvMCCBRWWBMig5Vs8HGftmpPaPsNi/key8WSsrDc/+B9HBwesNmsWZ2dcXx8zNlZR4iRGzduM5/NqaqC1bnhwoUlTW23PveU8HhCkjgfrTRlVediFJHTDjKRa6oSW0gTRVRddlq/282GQhtsLVO6EZQpe5eINorZrKKua0KIrNfnEsmiIAVhq1RVjbGWPsOYvPckAkUpTYMYeppZQ2ErZlWFLQxgODk7ZdVvmDc1pbUTt6TrHEPnCE6ui37TsZjP8YOjrCpW7SDqu6bCai0guyBcl65rQcFsPmdm5TXMmgqiyK59bgJgDOeblsEJA6aqKpazucg+Y2LwsGk72naDz/GaAicqaKqawkjKRNNYgh9o257SVrh+ELKuUjTNgv29BRcu7oH2EmUYnECjghR/ISl8DHlgJvvrSJomsXLPlQz3VOgpxkkplSNrLGbosdbSece6Xck+SUFQudGhFEVpCXGgGzp01QifR2kOltJcbOqaoiyZF5aylOl2XdfEpIlK0fsBV0kGq3MDyipiCmw2gaaZb9fpGCnKauIjqBQzpyY3fwqdJdoi1x66jior6RSSoBJTIPjI/uGeTKVDQJu8n9Aige+6Fm0lkjLFgbIwWF1hFAJYyopYsQIWOBfpO0fw2Vfe9dIssFJP+QyrS17W7RikVhoGJ/c4FfExUhkjebj5c2iahkRi3bYMfiCkRF1LDRPzkCcGJ4RvLQqTwQVCyNZNqxh8BuUFhzUCpUo5r1wrgQufnJxNTbiPe/wDCtuxKyEfVtf1dH1HXUlwt0xgJW+NJHIikQpJfI3JmzvvA1qNjiDxaYzwlJTR5imFyWydkkhqY16YY74JeedzB1NLodb1IoMeHIUtMTl/tbAm+x6LnEdppIOQCZITcGmasuqsTXfZwqNzTpQsbsYY/OBQ1rBeO4ZBOh8hBEK+Hw5OPJcqd8xlw2wyAZUMP0gZqCW5WvI42ynAMDhcF6hqweRv1muUEapyiFKM27KY5NExBkL0xBhpmjojtLc5eEUhnRS5McHQD7Rth7YyKSUTpktV7hRVihQlzDv28r1BCeVsPp/TDR3GaObLmpB6nJfPsSwL8UmlCCbhw0ARbYZ5eLSRfCoffPY1JyKBoZdFSlmoqxIX5fFGv6o2Qj1ES0auc45N2zJrZvL3aVxfYj4XjdyIEM+adMikG9V3HU1RT4CJlCKbTcusWYhkPm+o6rpGG01gnOJuZenDMEg0QPYZW6unxTRE8QkbJx6IoiiZaZMze/VUMGmtST7Rblq0lfdljBRKUWADMURWq3PqPO0S1UAG2CidpzPShb1x8yYHh5cIMbJarzg5OaFpGn75yxex1vLVr35evFP/yIrbERgR8yY4JYVzUTbaitwo0wQvnf2zs9X0feOkJbHt+O5OmbZyZGlUxXS3x3DKxBulwxleM3rXtlm2o/9tFA9up7m73z/KkKPa5m1OEyZ1j1d3zBNVopiRAmObyXfX8fTTUrz+5V9sJ7TXPhQZsNIiT/70p+Gtt8SnGiO8qWQy++ijdz9WjPDDH4iX9eMcOhN63PDRf3PDaET+eI916TJcvgx//Z27PbOzOTz1FKzOZXq8WsEDD8BDD8MnPgG//vVdUmeVqY333X+B2WIha6hS1E3FpvVZwVHTti0EUYYMrfjAZIJj8sYq5vuWeO3nsxlFWVLXNavVSqYjMWJzwXDh8IDCvEcG/qONZjFfcHZ2Ls2u9YYPPrjOo488wNnZistXLnPxwgVu3bjOC798gfuvXKYsLWVh2A26ic7zws9+yn33Pcj+4QHGaL76/De5ffMG3Xottp7pTNzKVFMK+VzcFk9jTI68UXLe37skqHz+bu8xE5Ntmt7evY7syJaTTAtH77nE+Oz8vPwTJFc2TPE8hBEaJc29siwn4OM2ozY3y5HGk3zk2ySClNf7qf7cSihkGpyPmAvimIvXEMOOkmN8viIHHuFJH3m9+dBmnB4LBOnO7Vv8yR//W15/41N86cuf54EH7+cP/7P/Ha+98jI//N73ODk5hhG4kyJJKYKSHHQ1ZgznSbNSYyzTOEIGnV9uDjKanAPSdM+RZVNzfrdZce/kffv3EquUWMznfO4zn+GpJ5/krbfe4sWfv8jlK5d46OojrNs1J2d36Ieesi6FHF7ovIfaEsdFxu+z1DoSwsB6cypsCWXYWx5QmIJLly6xv1xy8dIlzs/PuXPniA+vXefGjVvEGDk82KdpaiAwayQiJMRACuQJbSSqxLBaSypEXbPq26wqzMkd2eZQluXEVIkpEqJnlouaupF9Qt87vO9QWsm+Qou/MKWB+XwuRVQniriqlpzR9aan7ToGNxBznGBV15mTIfm04oWHtmszIbqHEKnLCpPBpsF7zs/OBfI5mzGvZszrhrquCCnigmOxsJIVjMSzlHnv5oHZbC5Ztu2GSEQjKpKU43H6vs/TMdnzzIzcb8qioDCWtu1o217UbEZPloVJ2h4DVSH7fUkDEe+w6wZKq7AUKETafeXKBeazkv2DJXdObnO6OsVoI/E+QSazKClgu75nPl/Q58xUn3kHIQSqssjnssdrSf4wWdFYFPJZCP+lo8iS6xgTVVmhcPhuyDazAp+BeuNEebGYM5vVE1m9mtXUdTnF7vVDzLAynwdeiuXefIKXzWcN5CQNrTU2qyRkL2iISXJiU4TZrM5eaNisW1wuGp1z1HVF1BJNZHKdUBQFm82aohTlgJyHlqoqcF6ucx8S2kgNUFrDbDbn9tERxhhh1jhP9BFbVAxDEEVgkmvfeT/tIb08IIqUm7hyfoiVrhLgbd5/6OzV19kfbm2Bzg0nk5sUSkvur8Ct7LR2W2vyQFLga94Hzs/PWS7nzPcWBO/YtJ1M60MkIAybxXyRr7n/GSa2PgS0VWijGEKkzYVkVdQEF6dusCkMhTWkINIFtBQgboI12emmojPVN+2QLMRsDfisy09gGyHjee3p3QA6SYxL2+GdFJ0qy1OVUqhMYiyqRgoJnygamwsjhdEQ3CBEYmvxMRCQwjTm3aYtsgwrxuytMRS2ggDRRwIQg4z1jSnwXrocISZUnj4H5zGJaUMXAwISGWMJ0OJxjQmSIXlFtv4SomIIibDpKW3BphtoGiU5pSrTlrXCGM3e3h6bzQpb6LwREXlzNwyA5PwqDFVVUc8a2q4VqMp8LpuKFLGlZbVaoTqDMQWbzUbiglCSQ2YijQUCuGGgKm0mhvZ0rWexbGA+JySZ4vZO3tuQ45EG39HUDTH4/LkGtBK4ViRydnqOc57Klsz26lxo79BhdcIxoJMhJEMyivl8KV0rJQ2OyhZbGZnSxAClrYRqXcqF6okCrdAl6/UGozPZuW+Jvif4gqoqCNExtD1RRZbLOW5w9MOQO+Vy4XZtK2ATYBgCRZ5K985hrMQ3zZo5/XDK4B1lisQgpnljxScevEfiuwxD39GUNUalnU2cJqRA0nqKQojI++EHh4pRQBwEum6D95F+8BTKcL5aTzeLzWrFi798kVld87kvPJs9U//rL27Hzvobr7/Or158kWefeTJHCBQED1oVhCjB6Fpb+n7g1q07fPd73yc+kfOco8sTnXFzvwOd2aGjyhQqTB48yU4MU6E7Fqi7G8MRcJGm7x8VGWqSZY17fTX+0qOcOU4E1Ls+ix0yakwyHUEHYt4oTmqVnQxdigKu3Cfgpl3Z8dER/PhH8vtLl6CZwdtvbQvGlKDdbH9Pbuadn4uE+OMeo1e3rj/6b3W9/fe/71BKitc7d2Riu3s89ZRMff/sT7eT33fegaeP4dOfETjVycn05VprXAyEGKnqSuwjVSlNM98RQshrgKapZpRlwWp1LlnrIYrnKTfSjAGDJo7wOBSXL18mJslEr6qak+MzTFIc7M053F9w+06HNQKhOdiXDXrXdQzO8+GHN7lwcMjB4T6bdctnP/0cf3XrOke37/DyS6/y5S9/MZM7Eyo3YVVSbFbn/OTHP+Jb//TbFGXBYm+fr33j9/jLf//HJOJEL00pz/AUQs/PflE9edfyPSn7eHebPLCjYZYPZespV1J0Tv5TEaNKsm3OgiblYnaaAOud5lGS17RbaOUS3AcnewhlqcoSF9zWD5tyDq7RxCyrC/6eghlybm3aeofzU4yTjHbrq1UJ1NhEzJPRbW7vNstaPPW7FoOtrHlXpqzVFlwktqDIi7/6Ba+98Qqffu7TfOUrX+bp5z7DI49/gl/89Ce8+Iuf0m+EGhqV0KWNlum6wMNStvOkKXZsK9KQ91hPBgaZ6DCBqUYyvJcCN249xePAYFzLIqNQZAvoSinRVDXPPfMsn3j8Md566y1e/fXLLJYLHn7kCUKM3L5zk77tGTyYUgi9SivKzEBQRpNMbuLFmCc/PZvOs9qsICruv/8qe8s9FlVJPZvRzOccHB5ydrrizTffwvtA3zlIBW7oCJn8G/qQVS3SdHFuoHce1XeyCTaGUktRUeY1qa5rykLTDz1K11SH+xhrISXWmzZHIMq+ZbFcoEj0XTdt0FVWGRzOZ3RtR/Cek6NjkpLYFl3oHE2oWSxmNPVMbHF54un7IQMyA4u6Zl7vyxrlHCEMJGA5n1EcFDtS9zxldRGjLMvDfYqyRGWr3rrtJGomS627dmBYr9lf7tEUNa4fZHJuhCdTFJaqLtDa0vVdli0mBieT164f8CnQ5YxUpRS2MJikUclQGMN6vWEYBtp2gwIO9hZUVcFiNhPLm4W6TqzaU05XR6y7tRT4i5kMZoJ4d4fBMwRH5zymH6QhoiXesR1keqvNgsLmzFTAuIQ2ieC8DK0yrMooRTGrhZyrEQ+6VbS+I7mANQXNbIYbHCl4lJEJcFFXqKgoqgrynlRZzcnJGRFhsxRWImyMtpyuHMpFlNWUpYHk6XtpRICS9d175osZZWWEbRLFtiie75AVnSHHYkrDIEXh1JjG0Gd5+tAPFLWSCKSm5Oz0DChZzOc5Fxx6L+R1H4XTMpuJJHhoe1YrsT4UXva8Rhv52Vnp5mMgDlJ7SEZ7pGkMq9U6X1sW5/J1nIdkKSW81tJE0JqYHDF6qqam7SP9MMhevKky0dlmOfPW2qG1ISYISUjYbbuBJHsDNzipr5LIphNBYqnGE+BjHh9/YhvHsbqdCk7JhFqzWIg3wAdPN0jwc1PVgplICqMtWm3R1N6PdNeIczFPUtWk/R/lMSmqycMQUxTvpXfYymQK7uinUEKUTglbFttRvMm+3ZRQzmMxKCWB4ORYkODDTgc5o+dzt1h8cIIAd15G5WMkgBtCzmmVD01NHWBF09TTZjsEn2/cIgPy2cxfFtItS1HIj0qrSZ8/DB7v1qgkHT/nHSZn51aVkHBHnb5sFMzk0YspCmBJy3tmrCE6ke1KN0vC1ofBTd4S54aJthiyjLyqK07PzrKPWvw/CXl+ZZV9sclQVNKR6buesqoIUSRCdZmLUxemCB8fJIvXlgW+9/RDB5QCK6gkZ/LmrZs8uvcI7aZF5aB7my9I7z2D8xnwEiTGI0ME+q4jED8C4hl9QcYI9l9pjdWK2WzG8dERKcqNwxYFqjMMg5so3iGKVHr0c3jnMQYKq6Xw1zr7vEdiX8zn7ugBBlsULBZzNm2LtcVUsKacCZ1SomkaKZT7TH4sJZJITSCrOE1NGM8zNAf7hzz19DNs2sgrL78nYeve44aBhJL3JES5aXWaqut4+eVXObhwwOOPP/jxV4n/BY6xoH3r9de5dfMmVx98gK98+YsYJBLC+/EcVpOaRCnF7Vu3+bd/8u+4ubrB4gm2nrh7/Ku7HsYt1CndVeiOC/kW5LR9buw83khmvBsQlXY2wtsprPjftnTr8brbyorT3f8fF/gYpint+NjTRCY/B7T43H7rMU5Mw2+BTk0vMEpx/Pd93e7hHJydwcHhR//t4ADW69+YNfuR48IFkRl//3t3/3yl4PIlAVDtyplTkuL2uU/D/sFdha1IAWXdqKuaoizYtC3rzToXK3nyn7PYg/eUxlIYm9fqQIHca0JWWthCFC4xRj54732UUcSQCCZlrkNJio6rVy9xdPwuyhiqsubsbMWFiwfcuHGDECJt23LnzhGL5Zyzs3MW8xnPPPscP/3Jz3ntjTe4+sBVHnzoKkWhMFkeKZ7sxIfvv83rr7zE05/+DIrEI489zjOf/hy/+NnfUJQFymp00qgYZZAeR6PHTtGnd7HIWVrMON1j210Zz/GxULynGXRvo2dSIMSsXlAJpyJW2a30Po5NnlycjQqGCQgVwbtJGnpXHm0ukLU2EhGQJ6TpnleyvUYnS/H2fNk5hOGgpliV3YJ+lCSnbDmQ6XKcruu08/7J78NdUDmQiAXXrvnlT3/KO6+/w+9/+/f45FOf4PlvfJMnn36KH333u7z52qtynefNm6z7CXEs7RTpo+9YqWmaNgK5yJE8Y3NBZXsDO1P1GKMwR7TOwMU4FfMiH88eQWVzMpS8/qaZ8+lPf4YnnvgEH374Ia++/DrNYsFDD1+l69acnh9DdKKMCybrBaSxKyo7T5XBbzFGylryPlNM3D6+wcn5kbAmyoZFs+C+B66yf9hz+coVju7c5tatGyhkzY8xcOniRYwV1VRVi7dxGDw+BpRJxJAorWa52ONgvqTPDf6Uc3FtTpUYnGe1bqfP0OVzbv9gP08DO6q6FriU1rh+oK5qATwOA+1qTSLKvtaYnOQh09eRSSIZp5ItX1pDWZSQguSV5rzlcdwuyjH5vK21lGU5RS5qFM57eueIma2Rcm5u1w+gvQCRhkGizcoyF6HnU6PV5riiwXkW85oyyj6jy5m1Xd+D0gyDNFCrqsy/H08+xen5GednG2K27ZXWgApsNj2LWc2li4ekJNngpjBUdUE9ExhQVdUYUzA4z+Ai5+uWvu85Pzul0JrlfEHve7puoM+Kyd44hk4+v9msFmCrMRLh0wubRSaJAq0NMeVCz00UbK1Fam+MIVlp5NksqRXGzWj50XTthqIup3XJ6jFLVlFWFnRDYZa4IKpR8WqrLD+vCMlQzUrmiznGKmxhxTqk9QTbstawaTMIz0h+rVaamGuk1WrF+dmZrKsZ6FWXBV0hlG+T43hCjgAq83S0bVshd2fS8ajiCCEQfAK75SakyW6VM3t9JCFZsbuN9mEYKOsSSHgv9yCfIm2bCL6hLAtRk/UOayxeB/r8+7KsJ3VvUUi6QNfnaCaVadilxD2t1mu0ghg1mLE3KsNQl/OC77WU/F3HP6iwRQmZ2LmQIUR28pmN8ri+71G1pvfyZ4MiRQM2keJW8kumCo6bzMGFjCzXlKVAhUKShSZ6iEHjXczBXvJruVwy9I5hCKxWLdEH5osFVZMXhKSFEpxgaRdoY3B5ccSLLySNhC8tMuXCSkdaCIzyc3yQ4GZVVwxBctRULmJHT5MxhqF3EmieixrvxVivjZEiKRfiRtutxy93ZkMKaJVH8D4SvKappJso0ToOYdmI96Mox48uMTiRmJhCsnPJZDMfPMF7ZvM5e8s9kcJsZFEa+p6qqimrgrZb45yjKmswlq7v8+RRwpGbWSNTchT94Klriy0lrLmua5RE5RFdoB8GdGkpTEVVlvT9wGa9hlqx2F+iULTDBlTKeZIy7dJWcXjhgL7rOT46pus7dGGZN4upC25tibWJiMRuqNyxN0pT1TPxcHgvXewMgZIs4BGCJeTomAJ930peX9NMkuJ6thC/dVnic9ZWWYkBf3V+PgG5xkImxoAL0jQQv1aksKVEERlNTNKFs0XBPMsUJSpJ/LwuBoL3U2NoMV9OgAeljHixYIJ3FVb+PG9mXHnqWfb3DymrmmE4n+Bud+7coZldY7lckldroUXGQNt1nJ6f88ILL7G3t+Tixb3/yVPb37TI+BAmWc7/1CMl6ZK/8/ZbHN854qGHH+bJZ54RuXxK+H7D1atX5ed5jykMuU7EGMPLL7/MrJmh9kbNpMBaUBL/NBY03DWpvfvnj89/ly56L2RnLKTvfS+2Rez0N7lLuUNnHTfGkalYnYrkXWtf3lhWRSUZoJlSuzsFmw7nZMr5wIPinR2LwqYRqe5bb0rhOQwi3x1Jw7DNj/3/ZoKfkkyHH3tUJrRjEWutPKfTk+1z0lr8v/cWukpJDu7p6W+eFocImaR5V4FSFGPY30cerigK1us1h3sNZVWJb8w7SpujTJKSGDUjdgSUEkuJ0hSFSP5TTOgoWaRGaQ4ODmmHntX5CqMMXb9i6H3+yET2duXiJY4fOOedD47oT6QYEenbjPPzcyKJ9z74gIMLhxzuLzk+OWP/wgUu338fR0en/PrV17h4/xXQFlMWkzVHlrbICz//CYeXLnHf/Q+gdOILX/0dbtz8kBs3r2GNxRSGhNDdR1luREGKk4cKQKfsB1O5Iz42WKb3dyygzFQcbE+TsQsf7/nanX9OQuMVirSerj1FzJ5cnTcxQh1OKuKidO2LHG1XFIU069LWUzputkdLcQpq+xRUTkzIcmhyg/2jLf+UpdJb60Bk91reFrdTgblz3ck9YFvgj7Jquf4TpJA5c9IcPjq6yf/7X/2PPPfcp/nK81/m4uUr/Ef/8o948/XX+NF3/5o7R7dEWotsD1xuaMqzizuk/J1KfdcircZKFmLyO7LjLJdMaWJak5KQZ8f872zrUmk3ZmzcTMYsH6x54vFP8OBDj/PuB+/xxutvYAvDgw8/RNetuH18ExMNZQGeRNJy3mtjUMoSosgURQ4ZczQk4ssMgVW7YrVZcXBwyKyaMTMNzewBDg6XvPvu+6zuSF4sJ8ckIoeHB0Qtm+7Bi1KmsCU+DdSmpjAlx8enFKWlLGV6VuRor6puQBW8++67eO8wSuWiVWc73CTyZgiB4Bw6KTZdx6Zts+pKyx4kiTTauYQ1JUpB1/ZAP6lCUoxoJMalqeZZGeSEMpxVODZus5/HdX6KnDOa4BEIm9b0g8tNa08/uGmvsJw3VLagztPMuq5BKTonk69hGKSJPgx0XVatbNbZ8xrzclqgo81xkAGf7T0xBpz3lLVUHvOmoSkrjI7I9taTkqOeVUQMxuopC3ezHhg6N3EPzlcbyfp1nqq0FJXFVBadPCEmYhjZB44Y/HRLDGUhisyUpLFtZeg0etBj2IG2hkhZVJRVSYweayxdmxuQuXEwKhpTDOLN9wkTFIWtiD5QGk3VyL3BGEO5WBBy9qy1Iq02SuCtB3t7UiRGkXIrkyiMxW9k8ON9zHtIw3w+kzpkjHZKcn2RwWVt24p8OkpkTqkita1kHQpOYKva4JLDdT0uN7ys0sT8eRVlgRv8pIwJIWCyDW0cNsm+WmXVQ6TrNrmeI8uPPbXKVsVsdxxZJL3rCUneyyHf28uipO893nvmiyUpRapCyN5WaeqiwGjwIQqbpjAcHh6yPj/De4fSJScnp3lgqTEhZkVU9T9PYTteZN5JF7KsKgpbCJnO6qzLV9MNYBj6PESw02ZvcC5zHoS0aIzO/gW5aIoMlBrcMG0cQ4y4wU/QiBAjOEVZWrQypDRMPqbg/XTzdU5Q1dbmaXP0+GAwuRM9OI/3Qhwbc17HIn2Uc4mPQOSjKnf/h3aYPE9aS8ZuVVbYwuJ8JHny64wiMdaGhOjhTY4Dkq7ZgPJx1FjJpt17iSGKIm90o+82Nw1i9NLp9uIhMIUlpCB+Iy0yM/GHGqIXUJcPgf29RryyfYvJ/oK6rnKjYhDpbYh4n5g3NUYrovfsLWYZGd/Tu4EYAnvLBUVRYy0ixUAolEMmpWkxsGAKk3N8CxaLJd472q4TqYT3eYJpZOKqDUVVEF1iubegKCyFFq+FCjGb2G2WjY8y7C1IAC2+ZpFiKQbnKa2AoWJIWGMZMt04BvFv9L7LuXziSRLKsSWp3JxBpq2FLei7XjJxCysEwWHA2kI8wpmAaLLnQ15+IDpP1BluQ6Io5Pm6YZBzsywl3irfzMbrayQ2aqWniIGYo7HG7N4rl+5jv3kQpQyrtuP09FzkIgFBwDvHZrOR688W1BkIkGIkBs96veLVV17nc59/jtms+tjFbUqJGzducnZ2znw+486dI2KMHBwc0DQNv/rVSzR1xe88/9V/cME8SmxvXLvG6ckxFy5e4pOfehKd3xvZ2Epm3rd+/9v8t//P/4G23bBf7YNKaCO2hqHvqMoSO25MchNsu02/11d7N8lVTU2Ljxa1vwlCs5WM3+29u9vHNn799vtk0rwjyUxjET6uoeP3S6ERfJgm0zHKmnPXz0xJZMhf/zp85atCDS5L+Mxn5Rx8710pJN98Q4jIKUnxeOECPP3Mx6cV/13HG6/D44/BV78Gr74q8uPHHxeo1N/8zfbrPv1pIRl//3t3y4339+Ghh+Rr730+KcHbb8OXvySv6dqHUijPZgKa6jrJw905jBZYR9e26MN99vYPWa1WVFVJCj7T9aUj/J/+F/8l77z1Jq+89CLODdKstAU6ey9nVcnh4QVcP7A6OsZYS2Ut3SDQKfEQFZk6CsVew2OPPcy1m8d03UBAc+fObe67/z7O88TZOc87b7/DpS99XhgLCR5//HHOzl/k9Tde5+lnn+bi4QGVXQgYL08ntYa+7/jpj3/MP/2P/jl1XVOUFb/7+/+Mf/M//r9wQ0dhjBTsRHwuiDxxpzDcOTl3iiM1zW7V9OfdQ2clEFFUSEySZHYe4e5h7+SxRRpf4zA4ZRnybiNIAF5jQoKoor76/PM8cPVBfvq3f8PLL/16mogqLU1k9DjZJU8L2RJ81XbiOz6Xu1T/v+Xa3n0t2wntboG7q9DYguLu/trddyaC8gxuwy9+8VPeevtNvvr813juM8/w5NPP8tDDj/KTH/+Al158gXaznmi/kydabZ+7/DlNoCy1Q+geBwW7DAHhfSisKQgpTnEd45NOaGwUVsEI3tx9k1JSqKSnaXBdlzz5qSd54vHHuHbtGi+99AplaXny6efo2zOO7xwzdK0A8qzsuZRorYVLoLN6IJ8XIh0VWbiPHWerO5ydHqGV4eLBRR586CEODi6y2bScnJ1ycnLC7ds3OT4+5mDvgK5tqaoCW1nOTzakGJhXM0hiyZrPF2zaFc4HtLEcXLzC/+H/+H+ibQf+b//X/wtFoakqSbQoCgEy9n0n9NjB0fY988WckBJ+4zFIhOPUjlRKZPRZPRdjkAZ73qc0TZXX7BplNC77Y4k+03rddLVJo5McnymNnbZtQYsysc/TrvPNOnMncnRRbpAuZ3OZ6MWQmThZ8WcLVCkKyPV6ze3bR9RNk1WUVvbWIRGik7igYcD1AylJzq73HlKgqQwpwaWLVzjc389JJ4mqLKmrGucGfPTM6ooInJ+f0XeOrutlutwN2LKiqUqaoqKsapQVFWVE0a1W9E6mfilGXD/sWHhkT2mMhaw0xGc1XfJ5Cp9hsJmzk2IS9oGt0EpR7+8x9BJdV5YyQdzN8NZlkVM7BChQVgVFKU3CfhhyxrRs0ctKeAsx1wCJhCm0FJMoIVSnhCkNbuPz9N1IPJwxAv3ShvmsYbOWJu8wSO1TlsW0fngfWIU2+8PF7ig2xIKyUpyvVqSs4vA6ZMl8gbUF7eaE4AeaZkExgtOGmHkRdpr6p8xDGJkTxURv3lqfZNEWRWORIaQ+RLzvp2Qc53we+omUWhudHz9mRUHPfDlnr665eesWMU90tTHURcHtOyfZliLDQ7lHi3ryt+erf/T4+IVtBFsKAVhlemEg0Q0dRWXxvs9y2MgwdHnPIQHGKntUQTLRuvyCyzoXZz5LCTOcKiIyzbKUHFYfg+SAIhuRFDV+gNXQMrieNsezVPOaoi6wWuOVkoLAyOO1XYcPEWsEyhBSEipbjgEqiyLDgXSejOQM26gIzlHZkuQj5HiexOhT0cSk2Gz6jKIX+M8wDDgvAd0idyhkcdGWwXfE6ChKK12WbExPUW7o3gXpqhuNUoUANRIipUXLBRGFRE2+iSstXlhiIgRHChKvEyKsz1vadUvEsZwLJGGMRfLBo41iPm84OzunKgWa0G02NM0Fbty8ST/0NLXFmBJbgNEJWyiKUmcps6O0NVkYRlKCQ5/NZ/gQaOoKYzTd0NO5gaapuNA0ON/lTpiY2Lt1S1014BLzuZCD3SC5aXXREKPC9dJ1MsZKIWsULnpOzk+Zz+ciPTEi7dQKQvRoa6hKyWarqoLj42PcELBNhVEWU4psqB96bGlRWrrZwXv6DslqthVDP2QPpaIbOqw1aKspcxSQsTrT6JQQlgGb82a1AYMRVL5WAkLKF+o4pU2ZcN1nj2RRl1ir0abCYFg0IudqqoZ4IrIqHQ1Gy/eitUDDMghENi6evtsQnZfrYt6Qgufs9IRbN27z8KMPYMzHK0K9D/zguz/gqU99ktffeZfTU3nPH7z/fo5u3uaLn/0MH3zwATv74r9/XckF7e2bN7lz+zaXL1/mySefIsXI6uyY1dkZJycnfPDu+zxw/1Uef/JJUQkoz2p9ysXL++DSRA30rkOlRry1cnVkkA6ZVJilvQk5T+4pbNmZ1O5uYHd/Pzbddhfau7/ubomx2iGdwgjGi9PfqXvfLyWb9AcfeoQvfulL3L5xk+9/96/lRjKi9rVEdtx1fPgB/OiH8PnPb2FQt27B3/7Ndjr6wgtScD7zrBSIMcLJsUxDx9ez2UD1MejF9x6rFfz4byRu6Fvfkt3IaiWgqqM7O69Pbw3Hu8fhoUySP/gtwKq335IJ9BNPwDPPyN+lCEfHArq6ZwIsa4vFeSH4VvWM/YNDEp716Skuy/zq2Zy//dsf05QVV67ch7WKuq5wQ89iXmONod20HF64yPlqzfHxESEE2pMzhqHH2jL/vJQlpCIpvHzpAhcv7PHhtRMSlk27kU72fM56JRT69ablvXc/4NFHH+Tk6JjLVy7z4INXefudd/nzP/9L/vA/+U8oTUFTadBhyowlJm5e/4Bf//IXfP4rX0VrxcGFS/zu7/0Bf/mn/0aURDqJEslkD2bKl0o+d+/aKKQ8Bc3NlXtPybtk+hrxh42ZqXGcA+b82p0M5jw72Q4YYyJpvS2IVZS9QZ4WywQ1z06z/eQnP/0Zy98/5Nv//J8zm8/5xU//Vj5brUlYCDFPbkcfWJwaRFsA1O5ruft17crcPip5+6jiYktp5p7r+6MF8vbP+f1Q0og+PrnJv//Tf8vLr7zE87/zPI889jDf/P1v88xzn+VvfvgDXnvp5elnGaPA2GyvydPaDAg12W4zCUHSVAPf3W6weorMkCKTHJc3TmC23uDxNGAqlkfK6070UpK8zkceepgHrz7AO++8w2u/fo35fMblyw8w71s2m3OGoZdNafJQjAD4fA5FsppGrlXJM+0J/TA1/+6cykTx4qUrXFhcZO9wj0uXL3Ll0gWuX7/O+mxN27bEec3pyRmb1Yb9/T2Kohb1XG4+9YNDG4e2DbqYs1he5fzsGkotsXZDUmJdSymJT3KMXcnEc5GzQgwBa0ReatA0RUUqZD+oM2umbQeM0dkDalBamtVohQviX5XBRTf5aOuqoq5FPSZWPZNBgY6+c5hSmhLOBWJybPK0NTpPXWfisrXUYxxLLvw2m5YQI7NFiVGGtt8INFRLk10pg7YFm/UG7xPeRbpOJs0joKkqCvRMEbwjxsB8VvPgAw8w5Anw/l5DVVas163YN4qCoXO4EBh6L8qDwrLY28d5If/qXKT2g+Pk/IRN19MPkfPjFa4PRCcT1KgkZk9lJU2qa7R2pErUS4PvJtJ1jAHysKmwUQYRSYY0KUJRSnZsYQX8ube/R3vzFqAE4FXZ3ATQxCT2NK0VjFE5aKyyRJWjnGaNqB99tl4oCEqAqW2/keejoHMdznsUJjfspKj2fqAfHPPlHpGWwQu52GhRFQh4KSs4kiIpM0VDnq82dP1AUVfoHKFqtcr3O4/Rlr4bpmZJ9J5k5b7b1JXUFD7SjTGZ1kKy02AwhDDtwdtW9qM6D2msFWpx33fUVZV90zGzT0BnH+1YsPoUaeqadhhYrVbowpCUkohTL82d1abl8OAAW1Q43wphuSwJIVsoU/gI1PPvOj52YVsWJcYoUpDJnc8LXPAuT5gMXdfifcQNA00zm0bdkpnkCFEw5fPZfKKMRR9oNx1VWUlRlBLaSvHYDy5f5OKniCngXMBYw+Ck0o/JEzN+uCwqkQ5nWqrzPTrnvyVEspxsCbZgvW6p6xqLRQVB1Es3SKFN7iYrTVGanO9qc+G7vWlLnJGiH/p8kQt4oCisUPK8Zxi85JcaMWePXIeYfUjaCOBANrNhMlp7n/KJJv5aW4i5PabsDQ7ifaiqkjGzMEQBcQ3OYY0Q12bzBdZomaDr0TNq6HrR46NzPphOzBY1ZSM3Uh8DxhjuKw7o+4HeuUxQttSlUNi0RijHGoyV6aL3iaKspMBEQ3C065ayKCitEC5d7xlw1E0B5AlpniRrDc71FNZQVTUh09sSEe/Fj2xUIXFS3lGUxSS5aduW/eU+s0aK0JA3IGNObYyRCxcuslqtKAohGvb9lpgYfKSZ251OoWLouokAN3qUyRE7trBT40biXATwQhLpWcpFq1wHoE2RN0IaowusLWnblvW65erVfcqy4Pz8fGcTCcYUHC73uf/KVeZXT/H8ShbIpLl15w63bh9xfHYucqpMLLxweIGyKnYodIEweI6ObtG2a5SSrMDjk2MuXjpksZx9rAmrtYY//KN/QQiBhx57mBACe/sCwDi8dAEiPHvhubxR+eh0895DNgEtZ0fHQOTiwQHHN27w2gsvUNUl8/05xIhF8dnPPselBx7GFCXrvmO5t2C1OsHYx6TjmkbFwl1aXplo7E4nMuxpNNXFNE50tvLye6ew0/QlF6sjOOcjcuB7DrWzuZ6mtaPkMT+mMdLB3Y56xu6x4rOf/zyfeuppPnjvvUkiGWOcuqPqN3UP3nsPbtyA+Vzayqvzu72qMUpx+8YbIhkeHGzWkjE7ft0rr5B1lX/vOfGR48MPJBposciF7fruXFuAF34Jr7z8USnyO+8Ihdnd8/XjEQK8+AK8+ooQkgUVLf7d39DNXZ2vBO6nLX3vMHlNPDs/RiuJE+h7h7Zw8+aHzJsZTV0To2RqGqM5PNjDaINz52w2G2xRcHB4yPHxCUVVYbOHdzwnpPErhVvXtlw4POD69WNCEmnczZu3uHTpIn3XE3yk73o+vHaNixcPKC2cn6+4//77OT094/j0jF//+td8/Wtfx3tIOqCLrTTWKHjlV7/k0uXLPPz4EygFDz/6OJ986lleffEFrLETcEgK24QOiOxU3Q1P+82HeE/5DT5zNdG9FSHfO8doGjKkagJMpfE81XmTJo9z79fo6apN08Q1kjg9PeFP/8Of8c1vfoPnv/lNDi8c8oPvfSfTblXmcQg5PCg5TQTwdM+r+S0+rXubVowtqB2P/XYCerfSI+YcTIWeiPl/l2RO/ilmgrvj7bff4toH13j66Wf4xu9+nUtXrvAf/+Ef8eTTz/Ldv/wLTk/vQBClTcr8BiH8m1yMRiFKj/Jotu/b9DNjJk2P9OY4yozjlIW9Gx02roeMyRRKJq02x5IkJTuqmGmnSikee+wxLl26xH/33/13KP0SV6/ez0MPPcSFC5e4deembPSdxxSKsipIIZCiTGRQiRDFR1qYETaT5a8p0LsN16+/R1k2zOdzLl66wEMPXuXxJx7n9s0jbt26xfVrH9J3HfvLJYTIerXi/CzSzCuRQ9YVCcXJySknpyv+5F/9t3z/r7/PenVOVTmaRiaCakw7MIayLHKUYklZlWilcMNAGBx1vZVfylQ0TPvBspSv9X7AGJmEmlwg+6zYqjPMzmgzTdeCj7lBoXck55kurZD9lzEM/SAqN2OxVU2V/bSj97qoSgbvRW0XPE3TEHOjtyoten/JZtMJ5RtF3w0MvWOzltxvo2V6P3QOVWquXJgLpb002esPMXYoHIt5IWRk50AJnMplqayxhpmdUfhA2w2Y0uKSSJtVgvVmw+nJGeuuw/nIZjPQbwa6TZ8BckLOlfM8yB47D7+0bkRxGJwUn1pgs9qWhMyZKYsCrQvJc85KhITKkTyjxF8axNGLItRn+b/zbmpgK6UJwW1ZLLkJFL1MzFMSb2xRFvQZShhCoI8DkZT3odL0c0FiP4W0ruj6nuiT7OlQpOiz4nWgqkpUFIhYCttrchgcMYr1zOdGujSJZF3wfuD09BTnPEVR5gjUrBLQiCpU5/UriPR7uVwS27idzubp8agmLDMYdQJrKoVVisIYiaXqM326rOR+OeZKh5DZN7K3amYzhkEm+Ht7e+hCy+faDdy5c4T34i+vqzKv7xLzGoP/n2diW+aJksokPhWlsztvZtkzIZEBwUvhJG+ILORCfctyWd1IVIYPUs37gHcBoyM+RxDIRatpuyHfMI3ckINcFD446SRVDX3fEYLDuYGqqFCVwVopqFKSYGJtNeBxLuQusCxCQ++wVSWk3UE+sM4PuVjKN25rKAtD34tEIOlcZAeXgS0WN4Spg+aCJ+mSpBO20LigJgiDMQqtkujqkQJH59arVhGMXJwhSMRAzHjysq7zNDsLeLIkOYaA6/upM+5CZPBeuoKdy8WibKWjd1SVTIhF8qqp6hzWPQg9tixkokTeDLX9BlMUHMz2iCTO241IiFSidx1aSeyPd56YHIUtqIwAB0QKrCSXNUYqZbFFSdt2BBJBQdcOlFWZAU6K5XwuNwptiNHT963Q4oJHezkfzs/Pmc2XLBZzCZTOEt/lcknf9zKpiFLM+Gw6D0G6iF3Xcf369ck3ZG2JJodEx4TJiPMh59HN53OGYaBpGtm8RPHixdzVtaEALbL4kIsebUrxcJQVPg5TYRtCQJWWumxIyXH16iP8Z//5/57XXnuZP/+zP+H8bM2FiwdUVSVY/hBQIfLApas8+MCDlEWFNxt8joI6uX6TD65f5+T0BBfFN2yV4lOffFK850MnnbiiYDGfc3CwR2Etfd9zcnqHF144JSXPYtHw+OyxnKO3uwEbi8BxyyQ3Bm0s2liKomTTtnJNpZDPW5EaDX3Her3m5PSE27ducf/V+/nilz5/90Y6Qd/1HN28yebshJM7t1FIV+69997mK7/zNYZh4Pj4mM996XeY7e3Lpi2HmteNUK1H+MskKR+prbsFZ9qJ+dkpBlNuBI0RXyLHih8ZJDJtircbwG1xK/8+bvDulSTLN2erQxQ/zZY+miF40zu8zcw9ODjg8SeeYLU65+VXX5WCIMZp422V4ulm9psX62GQX3/XsdnIr/HYvWnE+BsLxY9zjI3MeHy087c7slaVvbLtttgWT/lYryWG39SZTeNTi4S+h9W5SJx2vmRc28aGwq3jE0JIKG1Yr1sODsTjenp6RzyfKhIJtN0aowRAV5USC1dXFdZobt2STM31eoOxBc1iSVk1FGVL358wDMJVGOVf43OU7rVmb29BVVkkUSixOl/x9NNP0W5ajo9PScBqveb09IzLF5ecnZ1y9cGHxOfvPW+88SaPPfQJHnjgASjEByvrJeJ99C2/+OmPuXTffTSzOVorvvDlr3Pzgw85PbojUpFckKjszx0lFb+pWB3fa5VvAmn8gbljP6qy2Nl4j2TSyXuatq2l0Qsrk9wsqx83Y5OMWfJoUz71xnvv+LwhsWlXfOevvsPxyTFf+OLnWewt+bM//fd0m408X51fY/akprQ9v3Y9i9xT4P52n/xYvN8rP96FR+W/T/J1aidncffxtr8fC+SUCw1peHZdx89//gvee/caX/7aF/nMZ5/lE09+iqsPPsDP//ZH/OoXP2fY9AJ8SQGyRFCAjmMaRCY3x/8Pc//VbNt15Xliv2mW23sffx0uvCMBkiBAEkyCtrJslFQusqurQ/2oVz3ocyhCemp9Aj2ou0OhUHdXV2WWS8fMJJPeACABwpAw19/jtltuGj2Mudbe5wLIQqujFbkiLi7OPdsuM9cY4+829OkB6RJvKWlOo5d/t0YoldYO+2v0mhov1ItyDD2u26T30qnBHhr8oij4gz/4g+TZ0fGr19+gd46nP/sMR8VV7t67Td+vcZ0jkjTpWho2lZo80jo6mJVGIr1rUwJFT9OsWCzP2ZvtMZ3O2N3f4fBwn8cfe5iubVEu8qvXf8Xbv3mby5cvizcB4DwcH58TgqQH/PJHf8zt371NVsyY5BOMCqPcaTjG66bGZJbcZolZFKiKEp3JdzeVNHSuExmXS3pDidZpKJJJlbWp6UJD9BSZfM8iL6iqCTFIbVu3zVYDEUbHZJeyPZX3Yz2RKUVVVeQ2S+iqDNf7GOh6z2KxSuwRaTyiE7+UsswpKTG6YD5fULcNTedYzde0bcvR0SWKPKNtGxZdQ5EbJmXOzmxCNSlYr5b4kGKGspRwMsj1UjxdlluMtdSJeaaS0et8MRekz/X0zrFarlislkTEcEsDVVlQ5iVdK742PkZpBNOQxceA71pyZynLgsxYAj55kngsHm1ISQKbyD2tNW3X0SXXa6UN5+dzohcvmqgivu/FLAvRkxZFJeeUT8yqZJArUjQ7nvdlWSYQoSd6AYYm05K67lks1mR5Rp4JquqdlwxkbdDGkGUFTdOiEAqzRTS7JHOocageZOCxXK5FE6yEZh76FLMaB6f4SGYLMpPhey9oe14Qh5gsWRDJy5y+7clTju1QGw1r3+AFM0ZnDrVbCPi+x+Q5Ji+S9FGR51kyQhO9ftQKF5B7hQq0fZto/imFpOto6wZtDKvlmrbpaOoGtPj2DNe/Ugns/Eht9Tdvn7qxtVmJ63uqyQTv61T4SHRJWZZi4tS2uOATupsQzoR0eS8C4JCKSZ1sxFEhmTqJVjG3GbGNdE1H07SJHmPGglMKCL3l7JfR+348+H3nCENTjfC7c6PI8xJCl6IQYqIeG5QhxTkkh7ogNzKbcr+m+VTQWedQ1hCUpk9urFZrou/pu4a+k/ijkMxJ80Imj8KZF4tylCfQS26r90Rt0cksQGmZeq/blvW6QSlLmXjsbdOkCB+wmU2ufhLnUBQFSkHb9QkZl33Uti2z6YwQvIi0rYx1+r4FFShKidEpUl6i72WxUT5SFhkhd9JcpUJFx8Aky/FeKBJKYG2U0RiVJXc4S4iexrdkRAoraKo1hjLPUcbirKVp1qzbFmUiu2aTUSvOcZ4+uMRSE4Tae590NCVdlhH7nuX5Obt7u2Qmx7UtQfuUaRhkKpVZXFpIJD+5H2/yLqGsLjgyJXm663otOgmlaOqOo0uHYmxQlLKAEKSpsylfUAmqHZ3YphdlmfTnghDnRY5renQqPMQNMdI0Nb1zXLp8na+98g946aVv8POf/YyTkzucnZ4RQ2Q2nXHp6DJHB0fs7+8nqo2m9rIwfXjzJjffWdFHj1eegCMSqOuG+WKRJo6dRAy4HoPH+ZbppOKRRx7m0qVLXL18Dd/X/OaNX5FbzaNPPHGhMbt39x7/7t/9J6aTfapygtLiGtsmMzbvA7du3WR3bxdFFG1NcunLDGgtBXDTtty5dZPPfvZZpjOhtnzvL77H57/webSLmAhXrl3lyaefwBih13/2C8+xs3tA29RcvvYQk939C4tanudUk4r5fC5OsRs/po1JzDZqojaozBBFQqI6RrVpJods620S5oWCNyFfF9iF6cb9SSiN1kPOcNKRKZV0jkp+ZiuncqRmB556+hmKouSNN37O2dnpmF893FALrXi8KKhD4HhARLe0ks5JYVCWFWP2ZVrnBg1dtmUaNTQGDHrfLVbK6dkZMXqqSYXaGg1cGB4AO8ayZy1/eHKPm12XyKkS0WKtREXY5ERpjElSgcDf/zv/mKrKcZ0UQv/uj/5QZB3D0YhRzq0YuXvnPq++9hpZOeHV13/DfFGLd5iCS/szrl+5xOHRIW3X8s7vPuDFr32DyaSirmsOj3Ypy4mY2QTxddidiqZ/tRLKXtf1CRXTeK85Pj3jfL4gOM9yvabp3xe6Vy8GGTF4YlQJgY+jSzdpWHm0P+OR65d553d3RqPC9z54nyuXL7NarHDe4Vzg5q3bzKYlk6nl9PSUF174PPP5nLZu+PM//xP+5b/8V0JNC0MsjU9DYDi9f59Xf/ITXv7GNzHWUFUVr3zn7/Lv/6f/j+i+rOSfKzTRDY335jz/eJRxaGg/2qANDInh2uJCjMyDSKkMcNlGhtU4KtsaFMXRAXb4TANSapB1oa4X/OSHP+StN3/NdFqh0WNiwqYADCNyFeKGhTw0Sxe+ayrEN6Dy1udKEp/ByflBZPtBff7wvTeDlUErv70ztheOcZIz7ueT47v88X/4j7z1mzd55euv8Pjjj/L17/xdPvv85/nhX/wl77z1lmgd0/NCDCLwSsNrnZDjcUg0DOOERyzIVkIbNkVzHF1zA1sU5qhSgoAZRyEhDYxHuvOg+U0sFG0U5JJwAPCNbxxw89Yt3vvd+/TO8eQTTzLbuc66WXC+OKYPa6FNqlwaG6NFrqUUzjthyiXjrcHbBRVp6hW+61mvV+ztHDDdPyDPLX3X09cNTz39JDv7OxyfnHDr9l1mOzvUTUue5bIeonjiqed45pkX+Ou//h7KSG5oQCJxnBcXeq2MNAguQHSpac1kmBVCqgEiffAERDqmrbA1rDHpupOaw/tI50QvmhdivjSppmgrdUrTyuBCpxSIuq1xvbDFsjJHJaSOZFI2SFh8cidWWmrdNvnTDPUxSieU3ktD4bw4IddiPtW24uyb5ZayzKgmGbNJRZ7NaPdnWGOYlSX70x1616BjJMtyyfuNMszoO0koCImyneVZuiY3HheZLVk3C1brhmVd03UtfddJXaSUIH3GYshp1h19d442QvcOwVOUVlBjI3m9xiZJXJ5j85zzxRznOmxmmEwnLBfLZFAq+zo6aDvPelVTVZU45K9XwtCKXvS5XZfqZYmsyXNpOgcn4z4NFqw1ZFbowgqRrHmjJRGEKPGTRo+1X9c6mqaTcybApJhKPeWFTdS1PZnNmUxmuHYAJHI0hq5ZJ2fjgE0JKj4E6raRjNwhNlXLtZjnGW3XJXMolZgBEv2IkvuaQjyE8lwYrqW1aRAZ0RF2Z7MkexKGZ2Y35lk+RXcJtVq2LNX5PkZ8iHgvvZDS0ggPFPshInO1Wkqd3/fYZCyV5Zlop7WSHNvU2OaFxaVscpt/TJTgJ2yfurEtywnzfi4XsY7YxFMfFvmubSTSJoQRiR30LYOG0BpD0zQYIyHLEUfXd2JdjjSlTdsQQxxdiWPKiOydGxEoGFyLpUkRsXUh9uBtj9Z+DEo3RqG0J0uCcu+dFCVeohDQgxxHLMDtMK3VIg4HiceJQU5OU6TIojRNbOuatuuweaLOJmqaQg6yXARGiOfJkTd40QcN1AcfIsYiTsKZwRg3GmqZBMMbLaiGDxLoTJoqWmvGQOaBEqGUYjoVWt1iPqfMLVmZEaMDPMGnuYSSRchoTczFBa9taxRygfR9SPl8og2pihyTZRLyHaWJGVyY++CIfUdRVpjM4IOjD5BlVmjB9YosL3FJ/9Q2DVFHLl26RBeS0VZ0ckMIggrvHx5yenLKzs4Oy+WS4F0aaqgxS9Iqi0GactKC4nyib+fizBe90J3zvJDg7yiOlbmC1ktWbVaalK1s2N3d58qVayzPzlklBLduGwlGD4HovcR+qAyfYpbQSozInBzTpu3R2qJTU2WSi13wgbVznJycc3x8n7IoUCqn7xxFuqnt7+zx1BNPi328l0Wk6xta02GB+WrOstPoTDS+ITp87GnqmoeuXafvW3ovgxAVHX1b8/nnP8O9+3coS0tRaE6Ob9H3HXt7+3z3u7d5afEyn3nueZTWNE3Db956k7ff+RX7u3ujU+MwPfZpgb958yaPPfY4u7szjFHkZUaeZUwnU/JM6Fi3btzg4WtHuF7McVzf8+H7v+NrX/898rxg0u/w0x/8gJdf+VqKMHDsllO0slRZSTH9aMOojWU22+UOd5LJ1kBi3I7xGYrUDe13NGl6YNs0tRfRmgcfI/q/sEWtJN0kLha8DxbA8nFUcm5EPAWUkjWBKIYq272CUty6eYs//MM/5NbNmyNSFLdcnIeIlA/aln9zcpwo1WFEDz/48A73j8/4x//7f8r+4SFFbqmqgjzPU5yVoSxKueGUBSrbUBFVjCgfE/ra8d/83/8b/uE/+vvcvXOL5fwcNSCqcYhCkR9f3t3l9/cPaQIsk+O9RYHy2KDIiBgiVlksooHvg6fTirKq8EaM+1yesWrbUfYx3ORCiPg8p1Ga+XrNWdty6/RUbrbAyjXkuzO6xQKtBPk9Pztld2eHOmUCa62pqpJ2LVTjPMvY3z8g+GMWi6X4OSQts7UDE0PQpM53Mtiylq6XJizP7KjZHpo0lZobDWQq8MyTj3BytuDktCWguH98TGYzLl+6xK3bt4nA8ckZt+7c47OffYblcsFkUvLSi1/gJz/+KX3X8pOf/pBvfOMVTBpQDBPHqMRc8O033uDS1es89ZlngMi16w/z0ldf4cc//H7KQU2DGWOE9KbFQTSEizFV6cCOfw9uzPFCM7eh2TMCfOpCgzc8Rs7rgXK8cU+Owg1Ck9x5L1yHGpXyz4dBilLipBx9x/zslOVinsxQ9Pi6aviSw8+kaVL4aFb0Noo6Xs7pmG3rVMOgHYobJH772r64RjBGs0mDHh54rwuPTkO4kP4I6hu847133+bWjVt89vnn+ea3XuHoylX+4T/75zzz9tv89ffEPVmlgjwiwAGIh0Py5hrto0fEVoX0fqSGe/OZnfOSf5uGhH3XS6Z8UZBlmQwWYpQ85OFJW8M/ARzEdVnnxeh2bIzhkUce5qGHrnH71l1u37zNb99ecu3h61y5/Djz+h6LxRK86H0dUbJ8jcGHgLWGqihQQNc5lDKs1zVd1xGDw4UWFxzzeo5RGmssR7v7PHXpaR7pH+f8fM7tu/d49913Wa1bDvYPaOqeZz7zPP/V//H/zN07d/juX/+A4Lww6jJLW7dJXgTW6IRGyoB/3deSfuGEjeG9rBHlJKOua5p2TYgZWaJSmoRyO9cnh16RBhSZFQdck+OCp+v75PkSqZtWIk6CwxHIk2FQ7MXZ2qT7nS20GCYm3a1TirpuxEguy8YYS5vZhPQLKl4v18znS6kBfaRraqpJxXRSjetEWVhmkwqqCcE50W5qRdBimlUUFU3dynAtl5FIniVX5RRPGUIcdZ4hiN5yfr5isRhMvBTTyXRE5+q2wQdhWbrQYTJPUWZUZY4iUE1KdndmRO8oiwKTyfmaVQWLxVKSOawg5cZoilIGLEVuUVElbbL8frVeMZ3MxqZWJ4khMWC0om1aqmrCcrkWEyNc0tMrtFEURSbpHk1L7B1FlhNthu8DZAadSYxo03RSQysxIyN68rwUWUGinutUE6ioKfIKbTMUEaMswUW8k+GFtpq6qYerVzJ+h8Gx0vShTyirw/UdWWaJscBaI1TqGDHKkJl8XPe0MUSFrKMIkyobDKq8l9q967ZML6GqynE9HbYMMZHyabAX+ibFa1q6rqdtaibTaaphPEoHXNfT9cLYtFbTdjK4zrOCEANlVaX9tibTmQxi1cetox+/ferGViUNaNe1ciLnGW3rk7trlFzJthu55BHh0GdWj0WhMQYTEt873QSc8/jkptW2LXbMZE1NWkw5U2pwC5aGte8jNqFnStkN6uL85kaeJokqUfwkMsezXtcEbxKfXVNWgjC3bUtWKpmEaIU2Fuc9TduIbjW54sofw3K5RAFFVabPiBgJKTGc0loTvRzMIisS/dXSu050n1HQX5mkGug9wUfKshR6hA84L4V0lgu3Xxo7xmLZGEvT1CyXK1Z1zdWrVzHGMJtMqcoqJWtkhCCT3iwzSSguFIzOa4xX5LbEpulZiGL+5FygqirKMicvdqnrms67ceF0IeCt0JptFIdkFQNFkRGcF7ruZEbrO5plIyHYKUIgL2TKIxQWK6i0hmp3gtLJNMx70bfYbKQFGyMOpANVLyTOf9+LUN3aLLkhB7Isx3UOnUnjY62lDy45e3rJ4tWKqIJQa7QhdHLB1nXDzu5eotI7lqs1yhiqWSWagq4hy3N0lpFlOUqlaKmE2MhnFDF+ZnOUVoReNLP7+xW/e++3/N/+r/8Xybg8O6fMC3Z3Zuzv77Ez25MCo3c0TcO9+3c5PjlGX7nFs18EY8UYxtOBErOsIdfs6PCI1XpBf+ZkWEPGo9ef5J/9i3/BcnnO/v4++/v7GCWOsUVe8Mabb/H+h+/zhS++JEMj69nbmfGP/uE/4Nq168l1NSezMlUXtkXO/ft3ODg4YjKZXXDh3C74QoqcyooSpRR5UfDP/+V/IQOqFMfyxa98BWOTswgWrQSV9EElY56LhZS10vxHJ9NErbUs9FoRdUhU34HE+KBBzIYyJeSMAb0aCr4hJ/NjUNjUgQ7fVQ9UyW39bIgXmuMHi+m4lYtMogtq9DjoisnN9+TeXe7duyfnfJS112qdjEyS+/iWpm6jKhYDkBdf+jI/+snPeOn3vsrhpUvEEMbYl/Hza83p6QlHl46kAUibjmkOhwymHnv8SU5P5/ze732Dn/70R5wd3yWRVOVp4/dPz0/6T5GCJNQtGXcRQ9I9C4lSA31yIY9pKFqVFavzpeyfZAakB+d8a5jNptw7OeHwYIdbt2+jkPi0upUJsLUGhaAJx/ePefzxJ5JuqaesJhRlwWJ+htGa45MTzufzgYA0ZoTHCG3XEdP5ZvIMvyata6tEMdRJKymNyeAuOdT9Un54ptOKw/09jo9vErGE6FjMz7n02JOcnp9SNw0xwq07d7l67RpVlXN2vuDo6JArV6/y4fsf8sGHH3By9hz7O1NMlWP0hvOrVMSHlp/95PtceegKs50ZeMcXXvoyt2/f5MZ7vxubYbl3aJQP4tiJIJ4hFQ2bAc8GOR0O7JiYMzQ4F0jmYUQFRxn7eP24zXkXt15niP7TSe2W4mhiDClzdxNxs6H9C3tKHOm9yI62acHDdagGZHnr828NsMbHDrrRDQc3OQWnBldtGc8lRJRPoDUPfw+DGGM217+sJ5s1aIv4uzUkCOP9sWkWvPqLn3Djxvu88vVXeO7553j2c8/zyBOP88uf/YSf/eRHIsOKfmwsRba1iVMcNf4DVXqgoI+fdaOTTk+EtP4ErSXyTm2GczGZc6E2vgXbdHSSSlocfQNaafHxAJ55+imefepp7h+f8Ju33+b1V2/xyGOP8MiVaywWJ9TduZhfKk9ZyTnZu0iX9IFinCUutUUp+auCHDX0fUvwUlt53zFtZ8wmM3b2dpnu7nD56mX6tufO7buslzWTyQytLa53rNYtkyrVIb1LNVaOc0JbDUESJNqupe09RgmV1hqhHEu2rvh5TCYTQZqNSWZTkjvaO0eWZ1RVmYbc4ia5Xq9waViijaZd13RtizUZOhNWmBhXWppmRVVW5NYmSZAaGXo60bh3pjPqrsUlsEHrxB7Riq7rWa3OqetO2HVRMylLcqOYzSaYTPJU8zzDqACJ7ZVnFhWCNO1BULrQ9+JqrCQbd5Ct+CgNqkt+L10fWC5rmrqn63v6rqUqcyZG/FgGlqRPg4OqLMiNYX+3BHYxxrC/M6MoMkHuekdwjrIqxaMmgouK+SJSFgWLbilUYBSz6Sxp0ZO0L3im0xybRVarnroRvwRjLXEwESzKcR1wTiRwyih0Mo2KCVCJAbq+lZo1+at472Tw46FuGnwILNdr6roVJmDSqdqUxDHQfCNIYxwk0aEsxMsopN5I+gVHMZiL9i3aWlTbJsBLGJywlYucWG0DILFKCRk2S7T0KOyK4IKg9cZS5qL51koGty6tcc5LwkxRyO9d8u+Ra80nF3UxM9QRplVJkSu6tqNpxUzMmEiRZcImUJLwMKnK0Uk6pghTk0CpEIKwf51D60jftSnq9H8DKvLe/h51W7Oq5dZhrKKaVEIT7dvxZBjczoKRmIRcmeS6msyWosZYM0bz7OzMwETu3z8d9Qnee4G/SY9Pwvhh4fVpMfA+CavTzYgo+lyjzMYi3Cjy1JDmJsN7Q555lm1LkQt9tNM9RZGa91SYhSgLfO9bur4fLybnHEr51Kgnsl3KjQ3eo22y404NWJ5ZmZInqoiY3IgW0GgRvcSQHA+1EWqz6yQo2QvMb00m4e0eZruSgRaDCM7DuE822VwxFY193zGZVoQgGgSjNVUpDaULEgWkXE9hMmxR0K5WkkVqLWVRsfIrQTGNGvNduzrZliu5CACZcBqx8B8mnVELRaPvW8oyx/e9OAWnqif4QDQyIQ1Bpo62EEOlZT2Xz+gQSnY5EXfBdBMWykjA5IbFUjQfLvSoELEmEDUp7D4SfSQr8jHI2xqbtCttcjSVS6BpGkyWpam3ltyx3tF6j84zJrOZ0JSbVoyZMo0LgbZt6L0X9+NBo5AqJR/EhTuEgIqGEMC5HpuLG7c1hrap6eqGJ598hGtXLknuHLKwrdZLbt2+za07N1mulxzsrOSizS3VpCIaiY2KyTnTe4/NLPv7+5wvF0ItsYqvfu0Vnn76WY5P7nJ4eCRTeG3Td9c8/kTk6NJD4+evqklqcj/e9Em2yKOPPvmfeYxEppikPRweO01a6uHnyWRy4edh8x5spkb93qZINOxMd/GdI9NCs4wIwhNNiiHZep0LDaZK6EDSm6j44OM21ORP0h8OqKhKMGsYqPQMGZ1sikUuOqpuGtvN71O/J27lwD8+PGSqzQX0eYOqSaOolaJQmkeKgv/68pUt0FjMSopS8/e/9Dmuv/Ua+l3zibeEA9ePLJjxC7Kts4T/05MPc3Z+zrUPfseze3usjN4qxjfb1Mj7/P2DQ9qPQcATa/VCQR1NZPfVX5G9kWOD5KP/HWfodg4vfKdhWzvH7Rs3uH3vrqzDyhGT477zUdALL3ETu7t7zJcrieLJRC5RFiV5UQiy4B1GaZxzdG2f0GwLCDNITFtkABi6YaAqMUTi/LsdHbMxHmJoEBPt3XUtDz98mfc/uEPdgtGKer2m7RoODvZZ3bwpRlad483fvM1LL36Rvo8slkuee/45bt26Rdt3/PGf/Cn/5J/87zBtxzTLN/FQSvDPxfw+v/jJD/j6t/+uFChK8fVv/T5/ePf/RdOuZV1OnaVMwOVnuQT85phsN3kMiN/wLbeuiciGvaAGmFbMDTf5rqQmizG66sKgSckwaJsGHELKQI0yyLmwvigp6n0IONcRo7nYZIYwFo/D42EjNXpwaHXhGh95uGk/pO8rwwChHYqRYTL0eUCnO2Tibje4w/uN7zHSlLdGUVv63fFsSvnj9+7d4Y/+7R/x69ff5Fvf+SYPP/IQX/vGt3jiqaf567/6Lh/87t1UzEa0juN+R4c09JDvYpJXghonDJv9jxq+H8nYUGJPtrfBJ89aiT5R6mJzDKDjQH0eWFXD9wmjTuLwYI8vf+kFjk9Pefvdd7nxwQ0uXbrE0eXrLFfnnM1PUKYVWrOCLqUHqGRq5L3UOTYV+uIyK8cmyyxt11DXNcv5giwvyIqSoijY29nj8qWrrJc1+4eHgDSG63qN94ois0wmVToeMlTO82w05JTYymQwpXp8EFPLul4neZzF5hnaG9q6RhWl6EHTsEspaDpBJDNraJ0jBJGqBSTvdDqpaFphE9arWoAUQUtQ2uCcI7eW2WzGql1JLZLnEpuZTKXqpk4MxpyY3GrXy5q6aWnbjszm7E7FbCrPcmEPWk3veqzR7MymQqBNxpV5lqMTmBSCAB1CTzV0waOV0KdD8q5p6oYm6byX65quFeTSWMPB3p5kq3qRzfV9n8xHNZOioMhzZlXJ/t4OQUkNZwhMpxV7ezuSuxuhaVrW61okWigmk4osc1w6OmB3toPre+7fv4/KhApeVgWTgymu9/S+YF039L2jbz3aWTKlKHMBt6Se1tR1g9KKSVkSexkO9Z3IJb13YiLWO9nHWZAccKOZL5acL5ZkeUbnOkJwhCCRpmU5EeAriKa4Kit5jSD71/U9HQKy9E7ycNEiOeh7ce1uk+dLTLm0FpPYr2FkWEQguH4c4rVtJ8wesUFKx1bjE4imUwJInuXp+srQQeKNtLEUCdF2Cawb1rkxqjLV2pYkN8oKbMofX63Wqb7wXL50BATWqwVd17O3e8CHNz9kkH5GIrNEg+6aDtc7eteyuzvD+ci9+/f5tNunbmxv37lLjIrpbEdMknpHUdjRccxLVylTeK0FXSjyZE4gTU/XSMj6ZFYkDYJmOpmwqpdoJReNIKsam9nklhsxWiimNhlhDE62Pmn6gvJjxqdM3Bl1XVFFjFWiecVDHyirDO9JC0ORDDbEjcsanRovaVS72uO6SDTJmCQhyl3T0nUebSHPLASxKO+9GMWYwowNilHimhdjlCwsY5Ee12NtjtWWENToCk1IIu3OY6IiyyuMCmIcFWW656KHKBPLtmsIzrO7s4PWMlDovcMYoXATItOilOmdMngfsToj9tA0PWaaUWcNWEWmxKVQW8tkNktGVgbXBVTU5LbAOYexhjITyrBQUJKGKyq0MmBkfw6Dhvwgl/y1RD2y2uASWuWj6K+zPKPtepbrWvaxl7tM155SVRW9D6OueNA5x3RTVz5SZrJIKaXpgk/UeE/d1GlCqMlS/mzMRDdQr9ZU0wlFURHSdDXXhqaviW3EBXneZDpNhYI0FZIzGAhdi+96zIAK5/mmZAmJaBZ80jhLmPtiuSAvdvjWt7+NQvPaz37EpNLkpeiyl6sly3bNzTu3mC/n9KHFFAaTy+UqN2Rxmo4uEp2isBWENUTPlStXeP+DDzDKsLs340svfYWq2uGhayVZlm8hq3JtX75yjctXLl7v/3mh/sU8yP9NtkSJMfqjb1RUpeRFD7zBIA2kD2EccqVPmTR+qalNLqADIsNYnHKh0Nx8hG1kdEPJVFuo1fCcmNxgBxgzqvFtU9GdztULHyBl2oZks9/3XDKWvexiYflJW6UUVV58/C9nE5if/Y3P/zQ3gEPgcGcG6xUTYL/8m7UuR1n+N/7+I9tyDawZyv99APvxr7HShp3ZDK0Uezu7lHnBuk8xTj6wWKzY2Snpupad3Sm379+nbluMyambnt3dHYpiSlnORB+b9MnDUKLILbu7uzRtS9d0ZFkugESiG2fWpjxoj/cQk+O5SlEIMg1PCLyTIikqR1UVTKaW1nUQZeh5dnrKY489yt17dwlejD/m8zXv/vY9Pv+5z7JaLtmb7fDiC1/gpz/7BV3f8OZv3uCLn/8cLkQyo4hB2gelNFbB7955i+vXH+XJZz8LwbO7u8vXvv37/Kd//28pVBruEvEonErsBnEm2+i1grpAV1UDFfmCwnroeQdTtsQiUDJwHRq1gR4/bDHRm9XWdbC5Th6k9krTvU13H64bo6KYfyWWgw/i9wFbyKqKxChn1UBDj17iQ5wf3IC3qNhxWxKwNbhJzVocZuuJiRADm0byY9aNTYM7sEC2qdnbWbgDlX1ryDYgoSoSfM87b73J3du3ePHFl3jp5S9x9aHr/LM/+Fe8/Ztf8/3vfZeTeyeoENGE5FeREG6dGuvUmQ6xTwPiuhlmbJrcYW2X3aDGplRpKXDD8FAJjmeQ7mol57VRaZUbYX21GZBohVUZly4dcXh0wHK54te/fpNf/OR9rl67wmOPPE3ras6W9ySqMcmDQooTCTHQJwqw0SaZkOrkKBwSlTWwXPdkfYfuGibVJMkOKkxmyXIZbPkQCX3gbDFnf3+Xruvw3rG7s0PXSQyJMZreSezgIPOySlIvYjewVmQfLZdLJtWEgKbpXWrGBQET0MMmgMMRiHS+I6iI653UDkljGJwAK33XY5Wm8V5SKIzGZBnLekXX9+mGplFRhnqd9+L4qxS9g5h8V9Z1jbGaSVlQlRWZtcL4iArXC/1deUdmMiyMjD5j0vdN3hc+WKqqYr1ei/wusynWRUwyXYis1x0OLXrZqCkyKIqpJINYQ9f1eNejYyQ3miKrxETJWHZmM6qySjWwE4ajhqrIxQQJWDfdSGfOkXU3M5qyqLh8eERwjmVXY3Xk6qVDrDXMZjuA5oP3b4qz9mQH1i11Mrrsopg5GZ100VYTOulxci/rfez7RNHvwQiQFENEGUHwmxTvuKrXqADRBaLzWKUpM8vOwX6aQ4rfUPQBbRXKWrq2BSVM0bpphZiaQDkXAi5GdIjYARFeNeJ7gxjjmjzt67JIrvyCMqsofycb9CRt1ESviL0wKmyWE2NIutxkvKuThLBvpYcalEd+WG9TnnKUGt8Fn75bZLVccnjlCOccZQEH+4fSD9mM5WqNNQbnFd4rbty8hbE5O7v7nJ6eSr/VtMJOTSxhazNOzxZU5UT02J9y+9SNbdPWQv8YqCkjShnE9GdLyxZ8QOeKajqRk9NkEGC5XEmWaC7UzOlsgtaK5apnf39KURR0XUeuhlgUsaq3if5ojB3haaO1cO2tISgnk7EQQHmiCmRFQZ4n6B1PSFNEYxUmU+zsTshSTq7U+oI2EwZjBUXXO7pahN15VsjEJHTi1Nt7vIsYK2hB6ANWC6VAKU3Xuy3ao0x4TcpJi95hrEz5hOcvi/SAFllruXrlKucnJwmVjmgtU8mu65juTEZtrUsN7OHhASa3Iri3CmUyKV96RWEKcmXTzVpiAoxS5Kag7TusLoT27DqhjiuhWqM1PnQ4L47ORmeUuaVTYsOtLPShFwQ9Qp4maF3fU5UFk6pCpeibEAZ7f4sPopWdlBParhdbd+/onad3dboIlriwxBrDsu9oEroq+oNk9pAE6FlumVYTyrJKkzbR5zjvRw220YCXqe+gS9BGHOiapiHfKSnznJpG8uZclygydqSbZlmW6NAW7zydExc9yc3LWK5WgOhMg9ejuaxSOrEZRNuWGU1hLS9+8UWuP/I4mQq89eareC/GGO/f+JD7izNWzTJNx+UG71NTtm4a5nOZMua2APQYm9A0a5595ml++tOfE4FHH32E6w9dS5O24lM0rH87NpXynbu2o0qT9O0tG+3gZRuQJKVkmHSBDh3iqAMci7ix6Iqj19SDu+YiHXkbndmgkPEBpG4r1+dCATmitWqgOCqGp+mB7khyT/7buJUlXL4Ckwrmc7h//5Njeba3opDnDSj9+Ny/wbV5d1f24/n5x/46z3OM1mRlxtHhEes7x6n+jqyWK5Q6outatMnw0XF6fsaVq1dZLs/onUgD8rzAdx1BixlesSsmfEZDxLOzO8Nay3y+xHlPaWQYK8dT42OKH4ji2j82A0O83RZNM8sLQud48smHWb3+rgxElWF+fsb52Q5HhwfcvXcMSE786dkZN2/d5HB/l7OzU/Z2dtjZmXL73j3eePMNnv3MM5hOQSZOotZI9MLAIHj1Zz/h6PJVdvf3UaHniaef4fMvvMibr72aXJ9JgznJuNVeyWA2RGIQI5KYGsgQUg77VtN5wfF3vC4Gq6+wNSRKdMgQx+ZWpSnUdhMbxmtpc/lsa2CHfTk2h6MxhjRZISZH4tGDg5RjvWnE1ShxUglp4CIteVgbkgtoTHzpBzXzAyqtAG2GyLvBNXp4iBr/3mhZE+VUa6EFDzThsZH+mOYWkrGU7K/F4ozvf+8vefvd3/Ly117mueee5TPPf4FHH3+CX/7sZ/z4Bz+gb9pE/wiJGaykJjB69DwhRQbqJCi4eDy3/pvYLUN2cowyEDFWaLY+CIU0BC/0YwZ31biV0z2O8hKtU0kDFSXbdXdnl69+5WUWiwW//e1v+eXPX+PS1StcvnodZWG5OKNramTsD1FL9rFP+Zsahe+Frtu7LrH+FD5lnEbf0Luadb2izKYYco6uXJN1JMt4/PHHmZ/eZbFa0Lbi0qrUGmMssQso5SFqioRgr1ZLgomYzKCiJhvlZpApIxRKH0evlqqqsEbTpuidLjnd1U1D14vBnndS+zRNy2K+ZDqdYfMMq2VAJsahBptlLNerZA7piCjKIhc35CDgQoyRpm4lB9d5rFFMyopqIk2BMSZRzDNhTnqHjpDlGWVZkhtLntgqKtHSNYE+1cSr1QofJZeWCF0rMZdd17Fuu2S+5YgmUpWFmJQaYRZ2zhF9j/KBaVFI9FOWsbe3hzay79q2TUZfljLXlEVGllmaRpD48/maru8TQDRI8yLaQNvWaODy5SP2d2bs7e/Te0fbdazXLW3fsa6deHmEVnwSlKHtGk5Oz9nb26XKMnxwZEXGql6xWAp1TKFQqTcwuRmvFpV0zCHEBLglh2InRrg7OzOqqsQ7YSMJQivMUJ9YH1mWiRmX9wSgdQ5tlSSLoFF9l8xzAzHp0fNC2AQ6M3QuSfRIhqZR6L4qAWtFId4yMXi0FS+Z4IKYfPlA5zp615NrNbo3kwY2PoSUqZuJmVbdpEFiSGy1FHdkRM9c1zU3b9zCWhmC6ESFrpsGm+UjE6rI82HMxnK1pihKtNIs1wuRmiQvF4xmuVzSNd3IqPg02/8ijW2MfnQ4JEhcikNLJpl3ZEYnrYe4RWa6oJpMEuWyxZU5WSa8aqW15L/2PdrKyRuix2QZ2sjH6pKQ3thMaGCux1hDYYS2YDObqKk1XYy4QYdj1BjnIPmwYuaTlzmoDKXFMEEbJfmNWmHSa2kUvROUsveOrMiTY55oe9quk2ldSJTXNHKOXuH8ZkKLA5tpMNIkqjRxNEZowCEqfO+F3qAiZTkhGrh89Qp5Ke7R3rXJeS1icolA0taAtrTtmsPdfYK3aKuSnXmLc0KVjVG+32w6SROXZCFPQlKjTAhtmUlodvB459AYdDIHs8bgtBPqpu/RGFwqdKw2ZEXGul0TImKmFRUeuWjatie32ZhDHKMc88lsRr1aUTcNxWSK9462Fje6ybQS23SlsUbTrFfpQuhwrmcynTCdSD5yZjK6VrJ1TWaTgZUnqMBqMWcynaGVpl4vsdawu7MrGXmpSFBRbrCqlGyxvndpmiY3qd7J9zRKpQxd0fz6IFRtmVRb2mZFnMqNQUdNSDcEqw1BhxQuLa6OmSko84Iirzg4uDYWhcZkhKBSQfs+5+dnNK4j6iDneDIZMrpON2TLtCqlwbeG69cfxXeKmx+e09QtDz/yMDs7FcvVimefeio5gP/tb2gf1LQaa+hWHRVl+p0ev8fu/h6ta/GQnI0F5TA6uRRvmUcJGgWEDRIxFtYP6mjVgJRsKL9DdvH4kI9BaLaL45Gal95FqD5yw9HGoLRNarQhFyWOOr88y0b97N+a7dIl+Oa3IM+lmc1zaVD/4ruSIftJ294efOfvpLzc1MgWhTSs3/1zqOuPPqeq4Nvfkd/96Z989PikLM7ByXU6nRDCPZTARJycnnB+ts9sNuHs7AznPIvlOdceugoIxdDYjKKoWLZdMh2ULNC+a5nNxEF5vljgUyxcVuSiL4ui+VVxiEyzadi0iUvR2qC0FC0+hNG5UhE5PNzniccf5q2334eo6HzPjdu3eP5zn+PsfEnb9Hgiy+WKmzduc+3KFdbrNdNqwle+8jL/6U//hKZp+aM/+g/8wb/457RDRJuP2K2InNVqwS9+8iO+/nf+LlZrVIx85Wvf4OzkmLP798VsSEXRQmtNVBrjrEhcuKgffVAnPmzbDZ8MZGNqQNVIOb6ou49byK26cFgvtD9bwKEe3JTT40JIzr+DK6wyWCWIufN+dNEWrViSO42Mi9SoJTQ9+kQp37puBY3cpmNvrvF4QVe79f0VH21+GXSnA/K9GY4N2uNBZ/+g/n/7PQbkWOtBHRuJOO7cucEf/eFtfvObp/nWt77JtWvX+No3v8WTzzzLj77/V7z96zdGbexmwJLWsBBTc63T4CKxTOKQT8uwMglNPIELKpl7Bi+0/iwbRhSMBlgqRRfGgXk2pOnG9Bp6tAIT/b6xODxEz/7uLi++8EWeWq14973f8atX32J3/4BHH3uYOOk5O7uDD0KzDSEQnCBOLsmwvPcYa8gG92s9MGE83kkShe89ylvqejWew9V0QlFeY68/oG1a7ty+w2K+knNCKybTCtAURSFNbQhU5STlj0cZcMd+lDSJsWJNXddYY8lsRpNyVX1yFFYo2rQ+WGOoJlOKPCd4T1mKfn5S5kwmE0Lf0Xf9iFQrI1m7GYGyKNGZpes7YfG1PW3TjbVWkUmTn+cZNhOtpk4ILEH8WzJjyZN+cpAEhThEb7nk9mwJcUNBNUqMY/u+Y71u6P1Gx1oVudDonZe8W+dxrXjbSEKAZ7ZTYTNDlomDe1GVNHXDcr2mbx2ZsezNJkwnpXiTeJFcta0wtIzWFHnBpKyo14uUp5qzXtVMq4oiLylswXpdU3cbvWvnHJAcfFWgnE6piinr5YLF+Rmdc2jXgxJmgNKG+WJJbi15cvQPwVNYS5YVdM4lo7OY2ARJomjlPr9/JPeh3rWcrpaomNaedF1LnyFxRgHFuu1k/XWOqZ0QgjSQ63WDjjCZTNA2RQQq8czwLtC4VnKQQxxfP8sK+k6GDlZnFJMiDSsUEU+W2/R5TXJTtqlO8ol2Pkzk5doNPoBNzbMEhQvC2vUpqiswmU1Zrld0bY1WFX3XoI0g3l3XEZKzdwyRIi/YOzigaVtu37nDQ1evJgQ4T8iyFc+KJCPyzjOdzj5aL3zC9qkb2ywTwTCJSuG6Ljn6hlH8HYNnd28mNCwfNhEPmUGRixmTC2C13IiSjkKgbXFcVVphZL+RZyKI7lJGZpGaTBIC6juZthttEurhx+mBsUKHGrj8KlnJG2MwmQJ6slyc6NquE0cwm1FWU4zJaOpOYmhyQUblwMS0syNoTVHko1HRMB3RWgyhxFF5QIeGiIaQbigy8XS9E9pWeq61NhkgWe7euycLjpWF3CRuu0p0VpsbXGipJhUmE3t8HxV9H/GxZ92sJHexSHbdSpHZTDK0MkNhJW9VKEakiZBKZlzCp1c+6TaN0GCcF/e+qCTWIkuW9WVeUq/FWMr7sLlRBlJItASdl5MJPnhmsxnWDC7MDW3TUVZVoun09K6nqddMqinWWlbrHpuJ2UKeZ/Qh4q3wfO3QtEVpbDJjmE4nFEWeCt8K14v4nkG0H0Oy25+w6pcEzehsOvyRc0qNFFOxzhf3la5vKfOSaAzT6RRrLH0r1GjXi2tfDHGcnAsFNVBmOU8+9gSznV0ihex/ZBE6ny9478aH3Dm+iXed0Je0ILVFXspbD5nHGHQQdPzg8BLXrzzCnZunGKNZr2uKouDo6JC6XvHk449+6sXgb8N2dramzK2YiyVtfl3XZJlNRlKyTabTdM7LTVynxncwZPpIv7qlC4ljnq0c07G4HeBUxl+lJlMTHnw9tXm9B7exIUj6s+ATzdMMrAwD+C1LrDAWvGJd+7eosc0y+MrLsJjDj34MTS2I6te/AV98Ef76+x/bfALw9DPyBf/jf9g0wHt78Hd+Hx57HN584+LjtZbXPDyEmzc/4QPJdbuzs8NqtRKDpxjHsYMxhqOjy2gV8W5JDJH79+/xzDNPQ9Ib7e9VVNWE0/vHeISe1SeGzRAKPxgeFkUpg08tHgV910nMDHo0zxgcM8URNx1fE5MhmsSBWa2ZVhWzaUWRG9rWEZFohrPFnEcfe5S333onITiB9arhxoc3uH79Cufnc44uX+LZZ5/lrbfeoW17Xv/Vm3zu+c8QEZ2wStnGxsog7Le/fZvDK1f5/BdeIMZAUeT83je+w3/8t/9aDFtCMk8blaQbs6QhO/CCDnXTaY3/dsE4aeu/JIffODIT9IUorZHivIFnR1OqkQKtSIXXRRO3GIfCMKamL71ziPReIt2CsRitxEPDJzZXcuMfGbdbDfvw/4Nfxcedzheb+235AiPLYhsB3nzei/tlOLcedGEXlHhb97vJvN3+vnKuB7xzvPXmr7l18xYvf+VlvvyVL3Pl6jX+8T/9F7z19LP89V99l+XiXAb1IaTaZOP6rJNcQqmNJ8B4TLcOyRDxo5SiyIvN50Z8ROTzmZGtx5b53seRT7b12zEOryEsP9979nd2eemFF/nMZxrefudtfv6zV9k/OOKhhy5jM0+9PqVpV9I4maQZTDF/Il9yyefAbPYjsrZ7Lz4cPshQw4cgzYxR7O7vgYvs7x6IYeO9eyxXK+bzFedhSQgKrdN3jzIYj1HqsoEC732k6ySdIs8ErVNKMnRJppKr9VrqIteNUxzjPLOp5drVKzAYF7mespCsWJ876k5Ajhgd2pTSEBYFre9puhY93D+SrjcvM3amM2lOY5Cs1FS/FHlB9JIyIuavQZ6X9MugkkNxxPcdvZIa1RpFked0ThBan5rumOjLeV5QlAWd69DGsFyuWC6WxCjysaLIhaUYQ2qWIHjFatFwcnqCMYa93RmTsqAsCiBKUx9E7haTP02R5ShjJBo0xV1ak6GtyAvPz86ZVhOhryfTwNWqAWWweUFdt6zqjqNLl9jd2aWuG0KEtu/xiOln33c0bSfHou+YHR6xu7sjySIqUNcdXSvfM4QMYzRVnotrcIxUk4p124zrnrWJFhxTpFQIo/N7iJG265Phl6ZtG/K8p++6wS9d9kVCUjMr8r7eOZq2TUZ1NqWtiIFq13fJzFCuyzzLRzQ2t5IjG0LEFIaiyFMUlaDPzkksqHeD838C95KfiE9RcyoIIDgMxKqJDHyqsky650wkisbS9j2HR5e4fUuSLFarmtMzyXFv2paz8/N0rB15nnP16lXm8zlnizPp8TLD+++//9EF5RO2T93Y+nQQNZoyy+mAdrHEGpkIT6eVRPv0HYdXrgiKGTzWJOvz6YSm6TlfrsQdyxiMEcpu8B7XCyxvrRVacwhYreTk8skgIHTjtNylmCDJDVRYk9P1gc53KBPIc52cx+TglkUGKqQF0aSiWQ5gVkDX1sQA08Lge0fX9dgsF0tvoMzzZCLSkWUFaCiLiuChrVtiel2VjIeyMk95XiI2z7LBvTnRtgMYJVS5qJTE1ETH6eIMuxauuy8yyrKgXq8kOkhn9D5ifI/Sjug1fSuOmpOylKmpFirI/t4hTd3g3WDElW78QYuzsc3I8gzXNJLTlalE0cvo+466a8iLPDmZRlar9Ui5zIoMYqQfXEO1oOgaQxcdMXqm1USyf6NkwuW5RatE24yBqipSUThloUgxRELfUDGiqgkBmOQ5XWMobCb5bnUt2kvAYtABiDLYCC65yiqh4RhrmM1mNG0nzbAfJlbJ+ThFVA0GJb7v6NuGvCiwhQxGnPNiVJEWliFYRhwCRd8SgjgCWpvRpzipGANGaZkSK83+bJedyY5oDkxO72QBI7mu3rt7m/PTY6LzEJBj0K4JIbC3f0BVVkmzBwbNrNzh0sElprMdoteUeYXykXq1JvjA5cuXOD6+z+XLl7eKJdn+NqO3Ozvllh5NGov79+9y9erVjSZVKYosF7TGbyJEpJkUk67tQmvYYlqY00+CMm0VtiSaqTD2BghuMzTZIA4bSuL4vgPqkwZDAwIkRYIfiJmoqBMeokF50VRtZWHyADVw3JQiOdwJ+pk0ghc2reUxEWib5HQaLv4+BGlWs0zQ1/8cnfjoCPb34T/9R2luAY6P4fXX4OWvwmTyyahtkUPTwmKx+bzz+Qb1fXB7/HH5c/bJuuCBRn7l8iXemZ+zO5tKZAIpV9LDnbsnHB3sMp3t8OzTO7z3/vt4H9FGdD67uyVFWaKtITqHNhtTGh8GdoQ4QEbXS/HiBC0hiKYvM5oil6ly7zxJZyAobwwobQVtSKYrAL7rOdrb5fFHHuHtt99PkXSKmzducv36dfb2djg9OwOlWa5XnM0XTGYl06qibmquXr7Me7/7HYvzOT/58c947LFHuXz5CHxP70XjZQip0VK89oufcvnyZa489BAqBi5ducoLX/oKP/jLPyfLzUjfVihhm4wa8k1Uzbjf2QwPZNuYTMXBaAy9dZy2jte45sSLBknx49eiuIXSDrm02ywJkXcMg6VtQzLGQlKj+cpXf49nn3uODz/4gP/07/89fd+htL2wjrAlORheJzw4xRq+8UitffD3Q7PHNhdkwCsv7Ifx+w0uzltrxtCIgf5IvNem8QwpHkS++Hq+4C///C949533+Po3v87jTzzCcy98kUeeeIKf/fgHvP7Ln6PaDryYdHkVk/ml2XpNPcqgVNKeDg2vTuvfoHfWJmnJVWBYepU24k2SEOCIIKYDYj0mZUS/0Stv07/HwaKGhNJUZcbzn32WJx9/lHfe/i1vvvo6u7s7PPHkw+xNj1gsFyxWi+QoLNElwqrr0cmEM0Yw1mKN5fnPf54333gTV/uRfOO9Y7Va4HxNiLvMqinVtJTYujJntaw5PT3j5ocf8MF7H7C3t8t0OuHMLdFaURWZFO9GJGLWGKaTCRMlsYB5YcmynLP5nLqtU82r8IgsyYfA8cl9qrJCWaHlDiZMeWZRXUfwYu43nU1omkbkcc7hYmTetHJ9oIjRY5LEQFlNYTRlYVmvW7q2pXPSOIk5pSHPrTDtgktu8xlBQdP3KSJGQKGu69DaCDU7CjVVIh7FNGqyY/AuUJRF0mxabNJiZrklyy3WSC3sg1BM8yIlWjjHajFnva6ByOVLh+zt7hGjuOLGGFL0khjAEgOdl4ZPeUVZZOzt7YrfStRYrVg1tQzEjCL0keAVdd2zWDRUk12atufDG7dYLluycpeirJjuzDg/Oxa6ufJ0Tc1iscB1kjIRE5M0K3J6FwFDUYnmvmvlGGltOTo8YHd3j8ViLtdJDCwXc4oqZzKpUCESgqbvmhRzKvvBGiNIqQsoa6mKnLpu0UaTF3mSOyLDjd7R9T3T6ZTeRzFY1RYfpS5sOjFI1FauBxcDRS6xlCFGPMJmiUjdUdc1NhcqdZ5luFbii1znaHxHRIt5bdQ0XQfKSGRpCLLap4QRnxyUq+kU7zryMhdQpihwdct6vWa++B0xRoqiJPaC4paTijwX35tAIKRs6KZzlJMJk75lsZiz6j3z1fJj1+WP2z51YztQLQZL+b7vk5NeTM6+kf29Pdq25eTkhL3dfcno1IrZbIYPjtOzuXyBKGjb6P7rUkaXMaMTZ/COpnMEr0DblItkRFCf4PgxmiEhImL4FIYhtDQ2O1OyTEyk0OJCpzRkRrQ6tijwMcj0JTVH3onrb+ecTHx6sUEfbgCSbyj0i6Z2tHVLnhr1ECNlWZDlgnJKfJEny0yiUsmkxTk/Bjj7wb2s64hdS6bFUax3HTs7M2oln4GQaFhKs38wQSvFcrEUpPvgQBzrAOUkj64oivEGacwmjqLve5oohbf3EuG0Wksu2cH+HiYznJ6LS/X+zq7EhFjRl2aZUDkIcRxGeJxodrShKjOaZp1ozYOLZBwzUHd3d1PYuhp1lJNkg5+nYndWTTBJSwcKP5mKzq0Uw6B1Jw7GiNxGCjMrTpzGGBHc9x0RC9okVEdRltWYwaq1aIEzLdEew8R8MJGJUdyUe++4f3yfyWw6ZucaK1o7nVBdyWyWY6O1pmlqiIGdyQyrDYeHhzzx+BNiLtY5bCEi//VaGoKo4Oz0VAwisqloh+kJ0aVjJ5l5Q500m0y59NTT5FmJ0pY8K8iTZfxisaTtWowxHBwcMJ1OeO21X+F7x+GlIx599OFPvTj8/3sTfbm58G95nrNcLrl06QidIlYAZjsziWhKxyxuI0sf4wE8ILUbtGiDKF0orseKWiXzqnABgR05w/IqY2E/NOLbBXgcjFe2DFjk9PJSxI1vq9jd3eMrX/0aOVD85jfDmF+2soQXX4RHHpUG6vwcfvELuHN785jDQ/jSl+TvCNy7CzaDH/9IHr+zA1/9PXnOk08J5ff2bfirv7zY/D647e8LLXg+v/jv94/l752dT25sP/hAKMxfewVufCif/bHHpfm+eePiY3f34KUvwVtvQZ7BbOdjX1Kl7O6d2SyFv8tAz6dBU9v13Lh5S5DRcjDmC3SJgtysl4QYxPm9qgj9EDPgiImqPJjsSJg9I8W1LArW63Vyew2p0HMSj5CaoW///t/l8MrD/OH/9D/Q+4aQkA9tLDkyyH344SvcvnOX83lLRLNcLSVbcTbl7PxspAPfuXcPY+G55z5L3dTs7e7xja9/je9+96/I85w//bM/55/+s3/CtLBi7pJoMjoKDb5eL/nJD3/A3/1H/5iqFNbH8198kXt3bvLbd34j6O442EkIWxwM1ravibjpc7f0s9vbBSTuI40fWwgkW8ObB19ji4Z7AUveIK3bqObQkG708Rt02EX44V//gLyc8fznn6eaVPzb//nf0NRt0rhedBknDdOjDzy4HIyBQx9p0jfRYQM7g235/rBf4saK6uMa3O2fjbHp+6oRWeYCM8RsuQwHAp4Y4L333+HW7ds89/zneOXrX+XSpQO+9fv/gM8+/3m+/+ff5eYHH9L1zRiFGBIlWYbNBqPtAyj29nHdOvRb/+O8yHcIgE2NrIpJA01a/9Q4I3xwNDIy2tJxjipiMo2OCpHXKXJj+fxzz/H0k09w48MbvP3muxhreOqZZ5jNjjg5O2bVrHF9Gvpaj7Ipci9GXN/Te8/PX/3FCIr0CbEVJG+J0j3zhWO1OGdaTakmU1yUBuzq1SsUmWG1lPix1XLFqlmJCV22x3K5og/CFNiZzSBC27ZyPkXPcrViuV4TkbpQJYRfG0PXd5RViXNOEkfWK7yXAbnWFWUmEqXhuVorYh1ZLWtaL7mfO9WUwtqUtaqZzabEEMltLkyxKMMkY03yCZE6WuqWXqKIsgy0Sjm6DTbl1Q6ut8O54gl0XQupHwhKEZ0TJDYxDZ3rUYgvTpVnFAd7RCVuvgpkTU45v+u6putaZrOSSVWxv7uDUop13dL33VbtasasWaHBRqyxeO+I0UhWr5Mr1VpD73rWbU3TdqzWPXXdY2zGfLHg5PSM+XxOxHLv3l2aumZnUpFlBqMjRZnR94r1KpJPcsrCiElgdNTNkrpZUxZl0iTnBC9JG5cuCaI7uKW73iVacKBtRTPsXE+WTdjd2+XOnWOck/Ow7nupl1P9M7AEvQ8JyCFl1IrJk0SP5hKVGgSYEcRXJ4aqo8qLkc3W+4ALQw63hyxLDtB98oSQe18xzVnMF2SFRluLtlaMZnMzXsuD/MI7qWFc8n3RJtXZCtZdS9SyNtZtRwyStLFYLpNBlQySB2q7UlLPLZdL+qbFOc/t23e4fOWQa1evJTfsfmR3fJrtUze2JlnsB+8S2qnFgMN7uuCYzWZMphNWqxVnZ2f46PDR4DrPql4znYmrbNvUkstUlGLdveqSo2GOsRk+BkKbphhIQzpolHQyM5DpuzQyfd+joxTArXP0dcpEjKL5CN4TdNJAGoUpZDFHi+YnaoNvGvIso103+Haems0ompJ00hS5xOOIW5nGIifRcrVER4O2JcZYtAWbIgmGCbK1qSnWQqnI8pxqYlnMJapGp4sUL81SJxYNaAPL5YKuk0ynvu85PDhEaz9OWnd2ZjSNTOXEmKugbmpWTcPObAeT5QTnMUHRp2yusixpfZPQU6imJXHlsbYghkCRTdjb2WW5WAhtCSV5XUqPwnhSESiRRrloKJLeRaJkpPE0JsMjoni8x3Uy3YopOsk5h+tbqqpikpe0bYe1GVU1gThEO0Wh9orogOg9XdtiMGQ2wyslQeJKYzNDdFGs7IPH+x6T9ABKKWxuUSaKW7QOKGtSELsgMXlmKMucmKweq7zAlRV5+k5t09LVvWghbUxZtQEXPSZKoWW1uDRmRswpDg8OBf0u5Ibdx8it23c5OTlNF7aWG0qZBhhE+kSzLfNCMtRcGOOuDvb2cWdiT49KKHYqnJarJacnJ7z55ps888wz5HnOZz7zrBhB2E+/MPxt2XSSPiyXS6oqMJuJFKEsS1lYnUuNQBDmtzEXm1X1YFE60M23i9S0DTTmNMCIW8WoulDVbRflcXQHZXzsoHccCldB0cYMbJOolhhpJFzPk09/hhe//DLHt27gf71F0c1zof3u7sKrv4Smkcb0m9+Ev/gLaWAPDkSXulrBD38E1sDzn5OmtJpIY1uW8NBDcPUqvPM23LwFy8Xf3NSCvPZqBekmPG5NI8jr/r40yB+33bwpze3TT8NTT22Ox6uvwsnJ5nHWwstfkfd5/TV48aW/8SMpAzY32NxQxoI8z/H9BqHvug0Ny2gxWVstzjk8ukod5dqPMbC/t0e9FsMgCLhU5In7qVC+iIFLly+xWq3Y393j5PiYrkl0ZQXlZMKjjz3B6dk5VTllf++ASVny2ONP8fY7r4+RLyo9Pi8yQttz+fIBi9XNcZh2fHzMs89+hrKa0KxbULCuO+bLlnv3Tzk83ONsvmB/f5eDo31OjufMlwve+c1veeELz0HshVWgIkap8f5zfO82r//iZ3z5a19HRzFN+uo3vs29O7dYLBdom6E1Yjjok7tsahK3qanEuNXAPXhEPpnCm47YZzDwBQABAABJREFUeN1daBpjeKC5VReuM6X0KAVQKnzkfQZpj1Ibs6eBieF8x3LZ82d//B85O7vPV195hf/q//Bf80f/5t9y586tlDG7Mb0a6Oxhy8mccaCV9KYhSN7piFBv4oEYl5q4tTTEC4ZScWuN+AjVOzWzcXzOg0jtZr3Z/h2IOaYKAdc6Xvvlj/jw/Xd5+eWv8sJLX+DKtev803/5X/K7t9/mr//quxzfuytrW/L8UFYLkkuQ6BatHhi6DfTirePMBk0OwY2RTtuO+0IDDWhlU4xiHHyrNvnCcau5H7+fHEetFMqIrKooJcd05/nP8OyzT/Pb377Hr157A20szzz/WXb3L3Fy/5jFYk6ei8nPIDGJJiQz0MSwCmIWJGhgLzVhyoVHedbdgkWzSPrtjNzmXHv4GtEHqauWS1brJV3XcD5fSEyONeRFzv3js2RepROrDVz0TCZpcJ+Me4iS2WyNwk5KMbxUig5HdIG+8/S5p/UBrQ0uwNm5oNOdczRdS+N6lFasG8X04IDSToRF14ueNeiIV0HkYTEwm00JURpSZTMWqzVt01BVFT5A37TS7ERF2/dgFMoacZt3MiRARRw+gT1O0i+0GMmiRKbR9x1oMSyalBkOCGEwf60uMJOKLGNSCktQKyN55jrlo6bzK8tyiaAyBmsjs2mFc9lYa4VepCRWG7oQUVj63rFad/TOsVytqNuedd1S1z2u9WiUyPEyRVufofyCnemE6STHWkGCVTyQ2rjMWC5brM4geiZVzu7uTNimbU9VZhRWaNbL+floaGmtZVKWkusb+gTeFVhrWa87dvd2mc9XqflN4ztjRpBr0KS7vhdZWkhu7k4Q7D71A2VVUa/XQv4i1bnG0nsZ5g4+EAODTaIhBRDwMSavCumn1nWTGtMu0fvluvdeXK+1EhNWFUIaatnUD6YUm07Mv7z3tCnOsu883gWWy1UqNULKoBZJ4iBPPEn1QF0349DyvfdWPHr9GpcvX+aDD298PJPtE7ZP3djmRc56vU76Q02eZ4kRF9jZ2WF3d1e0rEpxdHTEZDJJnleZCIaXK5qmYb1e0/c9VVnRNA2r5Tp9OdGg+cSxrsoS3wfaphG9p9bJRWwwKdhaQH2gKiaSiUvAZkJNHXKXgtOQWQhK3PSyNHlII+q+68cLqV6vUUom/zGCzix917FYyH7QRm6sbdOluBHIrcQFiYOtIaJxfUCrkCRz4uhslKJLYceD9fZkUuF8wDlp+KzVozZVRzfSnJzrUcqwv79HCB1aS3M56Du6rufk+JiiLMmzXOjBeQ5aC6qnDcv5gvPVirC7y97ezohelsm8QClF19ZS4BnL4cGh6Mp6+Wxmy/Cia8X4K0aJJlKIvstYadK7TgKvJSJJsovxQzB1TKZS0rhMJpN00ZjRDt8nXbXWEvKutR61bnVT43snFAoiLmmODGBLSzBK6IDpXlyVFT6KsQMxCnUqA6+EllROKvq2pe/6pLfr6YOTplcbcQu0mSw2USXTpoy2a4mIq51K0UTRB/Z29jg82OfK5atU5SRpjsWorG4b7h+fc/vObe7euQNJn2KMpusa1vUaY9VoUlHkOZkSSs/+bgbcFhoZGtf7kQYymJGsVyt+/es3ODk54fr1hxKd939h/Mrfsk0pxYcffsBTTz0zXqfTiUymm6YhpsxXbTYF2cW6bBsZGYpn/UCRndB6lZp/tSlQN5q3bdObDVVvQH62P++A6kCUNSCJ21JAhESFpOiNzOZ8/gsvAPDmG2/yxb6XZg+kEb18Gf7kj8VNmNQwPvc8pGkpzz4rTeZffBdamahzegb/6B99dGf+5jfw05/8TV3IxU0baWoffHwMQi/+m6aojz8ODz8M774L770nPLknn5JG985tuHVLHvfcc3BwCH/2p0Kz/njQfdxCii8oyoIYxZW8vn82goltik8AKbZiCNy/f58rV66PphRllmFmMwg9bVvj3JCzq4QeZiXKoq4bnPPM5wtc57hy6bI4nWrDvZNjoobdvT32Dg55/3cf8pd/+RfUbTfqu5RiNJvLreinTZbzyCPXuH33LnULKkrG9vHxCQeHh5z4k7S2KO7fP+XqlStMJh1Ga5qm5YUXXuDP/uwvKYuS7/3VX/PIw9c52JNrXCcavxkp8Zr33n2bh64/zPXHHkNFx2x3l2//vX/IH//7P6RPa6zWhmikcI1hgxCOjbnZNov6KPI2/LX5jQyO9eCwPNKE1RgRNLAoxld5YCAVE2Kp2Tj6DhnS259j0DiP6GCMaCURK8vVGd//3l+wXCz4zu//Pf7gX/2X/PF/+A/85s1fk6V8+wEdDSBD0LGJv+iCLghDsrqPQ7PP1rV+cR8otZ1fTaK5XzSb2h64Me6Xi0Z0Hy3o4tbrDoMTBTGgCJyfnvInf/InvPXWb/j6N17hsSce4+nnnuPhxx/jVz//KT/90Y/o+zYhS72Y3aTmBCQxQX5M5l0hbq7/lOUa0iAxRkH+QlBjPMxAOY8upjxdn4653pwuaWo4ZkFvfX/RAMv5a5TCezeej7nNeeHzn+eJJx/nw5s3+PVrr5IVOU8/8yxXLl3i3r3bnM9PMJkWx1yTBhQ6xZYM84i4MfM0RovZlhbtsBgrCQhgraRIZDbHBcfB4SGHRwc0bc3dO/dYrde0bc9isebk9IRrD12jLAt8iOQpalKn/ai1RAVpLWgtyFqVZZaIIleazBb4PrBcrlmuaqZlnnxkUn1kJH++SCwT58QhuDRFyoUVr5aIeMf03pGl2o4QpEbXQittu448K+gRyV6W6uLBOVclB3GMxiM126oVbWYIgWlZjohwjBEdxNCL5FniPXTBj+f38LjhT1UWY6pADEE8Z0xkZ2dHWG8JtRR6ttTEMYhfQGgFMbRKkxtx2A1KoZ3Q9buup25aFqs1ddvRdg6ipu87ZpOp5KVqzXJ1xqQsuHJpH2MUIUjPUB0doKK4IJf5ngBvhUqGVxNhrAYRf1SZDFdd34o0M+WDD95DZVHSdw6i4uxsznrdkeVlik3tyTJJ2bBWDL6stVIzG0OWVfR9z2olbtiDHNB5nxhG/bjmOOfwqSavJoK0r9eC+A6vC5AHT9u0YtaU8mOtzugTVbzpPTbLxRMkrTdGq3FYnFubhqcGbQWp9d7Ttk68I6KmbXqc9QQXWS3XNI0YSU0mE7q+RWu5rufn5yzX69HDKct6SR1Jvcnde/e4du0qRVky+TQpDGn71I0typAXE0zSyJiU5VlkhrIqUSpS12uMMUwmFVVZEnyQhVNnrJYN9++fEQLktsTqjKAjZZ5TFlacLpVGmQybcsm89xtzICVIh+TBys3SOU/UoodrmlYE3EWJzRQqBkJCQDWW6LXYeyddZswMQYnuEiWZpjazhEwW4bpu5KRxacqWJraucxRFgfcC4VezSiKHghe/3URP9SEtjMmaPUSJejFGYyzE3pMXVu6RXY/rOzKTkRkxDfLB49ogMUJWUWY51WTCrMjxXqzFQ4ToxYmuLHJWmVA1FssFB3sHmJQfjFLs7e5ijYF797A6xcOgiDbpS4n0fYsOQaY6aRKel0K/i75lZ2dnbACqqsC7jqIsyGwuKEa6+Vib4VygjjIZtVGTY/F4nAuJBiqZvEqBTVTaELxQyQnCEPCMBVBZitmSzXLR4RrJulquVmRlKfoABWfLBVZbbNJlyAWTEYOjDx0qaJzrMFm6oeqY/gjLy7uQQuqNUNtD0ggZ0VRoa4gxoBNlarVeS+3f9+xUu5STCV/4/BeY7ezQt/1YvLWt5/jsHrfu3+N8vqBuWs6XZ0CkmkrUlUGcxwdXXGMtVhkuHV3i0tEldh46B95MCDaj5iUARVnhiRyfnfCrN9/AR9g/PPxbraf9pO2i4QpcvnyFN9/8Na+9+hq/97VXxHq+KIWClNwwvffEpA3U24XmaNTyYPM5/DpcKNhV4hI+SKfcNMcqFex6RDHS8jS+Q1KbCQIUJZda3Gdj0lVKASnZq4prjz3C5StXqFcr3n7zDV7Yzom99pAgrtsIp3Pw2qvy/9bClauCjA5NLUDXpgJ85F7Lz++//+mbWpJWd3a00ecOm7Gi023aj39eUcALX5SG9sc/2jz3xg341rfld3cT2vz5L0hD+9zzctwuXZbX/sY3BVV+7bULmmKlDLkt2Jvt0zbHTItSzMMSuuhTrIrrejKj2N/b5fjuffTnDXkmbuqzaod1U7NYrZlMJH5unfTteZbRNx1diEzyCffu3KdpOzJb0gdFgeHkfEHvZIr+1m/epneeei0xIa7vJJKoEY+JoDZsJ/Ggi+zvzfjyi5/nl6+9xaqJBJ1xcnrMl176EnVd05yKIYz3jsVyBSHw+GOPslwsMWrGU088zgcf3kQbwy9fe5VvvPJ7lJnFZBIjZfSgIXeEfs3Pfvg9Zru7EgEEPPToE3z169/ie9/7LjqK9tvjwSDsnETpHc777f8fr4MRoVRsrriUaxoeoBsPGbkf08huozjSDKaoPyIEn1hbD5o+bejE4/WnBqaFoIHaaJSXQeybb7xBvW75wksv8sUvfYnFasXxvXvJwAWJwVPiGqzSwDyOq4D8NySqs6CvQ8buwOtITuxxaG6TgdbW/tHDXhI3JoIfmlw2WZEhgFYX1u0N5TpuNbVcWCNHdol3GBMJzvHbd97i7q2bPPPs87zyzVe4dOWQL7/yTR5/+jP86K+/zxu/ek2Q0QjBBUFi0RLtZ4b8W9BDhE+C3ZXkM0nUkmJMDaCRe/9QDEtjJHpMlR6n1IDYJv+CINfzQJFWydV4RKm1RPKZQb8bwKMoqwnPPP0MD127znvvvcdvXv8VNrM89uSj7O3vcnxyn7pdM5uVxOSqEfGSiOE7OrcUP4zgJMc1BvJ8oEgauraBaJivJAmhbTu6rqcoC3Z3dqmmM554ckbfO+bzBetVTb3uWC8lMzuEgOoi0neIfhGdEVLtY4yR+qfIhYXoArnRYA1ORzrfSh5v25B5y8HuLkZrGeoTE9KuqJue0/lSUhKyjCLJJ6KSfNrptJJaOQ1h+t7T92usNuTTWaKnRpyPxDDUK8ms1OgUP9OmpAiJdjSA1ZuhTSCds0naEAis+x4XhoGxXPuZtcmlXYY+PjkPZ3lG3ztcCHjX062WaIXQjaM0fE3ygsltTkZGtEJl1VYSMVzn6VMaR+89y+WKumlpOmn8rbIoq5hOMo4O95hUFVWeEfyEnR2Rf7ng0HmOySzT6QyFZrVaUeR2ZIiRarSmaXCuk2SRTKF0oKpybKZFz4xkDqtO07QdISrO5wtp1FG4phYPBtfjfaBzAVqdDF4lPzmqgE+ZtsPAIi8L1qv1OHD0Qfah1LBictt1Hdq2TGZTjk9PRPCowLk0TOksbdenYYYV+V7Tiswwy8noxHU5RWbq5J2gtfgbBCXZuaPfQYR6tSbP86SNjgQ8GjFpVdazszeBqMlzg7V5YuNofNuRG40KAZzHaFl7QNG2PaeLOTEEZrMZRfbp29VPj9jmBdVE+Osg0QhZLuia8NIlm3SYHI7mQkEuGKMt08kOkUhVlqNz7P7+vgQV620qikTkmFxuNuXuLgBZmbFYLFmv1jgvF5NW8npVVY6Lpyx9MmX0gTTZMQlpbAiZTgVHypIK0LY9u9Mp7Wopzr5atFc2F1qq0YbVcoXzgdh0dK3HWDGockpRmAxjrRg1aYVrnAjffSRqucHlRmIR+l6oxV3nMMaSWUPMBbVzzmEyTW4zsIaua5iWE7LMkJUWazyTaoLra7x3rNdrsswynU0pypycSNuJxjPPSpqmF7F2miCXRYExEgotN5mIc33KrpUbaNt1ie9vR7owiTo83GCnZUmeJoFZnmEzOQdICK1csOJGaZBFTaVpOImqYbUazUTE1EvTezdqa4rC4H3A1fXI8DLGsLuzIwuYc0QfWK9XtMYymVQE1xK1wxalLNKGFEGVdNhBFsrgO7mhqORMbCw6aAorkzTvfYqbYKP0SnoqgLZtxExIQd91lHnBtavXuHr5OpPJDNeniJmoaNuOO8f3+eDmB9w9vU+W5xhtqRthQJRVmQY1UJUzrE5xM1pzcHDA5cuXyGyBVqvBCxSFaCdQmqoqxfkyRk7Pzzg9F7e5svz0uV8ft8WL//no78feUc7vAYUMQ5B3mnj6EOlaoay5ZH7Q94626+n7IIOfhOQPdOA+mUt8+5svUZYlq9WSum5ZzBccHB4k9/BMqGBldlHLtdWsfsQdeSykB5NrvUGlPsYc5iJastHkbYrrwTQqFdPJXVkhhmLDe4YQUBKSKmZS6fkhKJ79zGfpneOdt9/i/OwUde369gf+xP1/4WP95x4TE5W/+4RG9JO2kxPRxea50I+HbTqRpvrs9OOfV5ai433vdxcbYufk377ysjSvbQsffiivNaDUWg1iWvlzYTiTmiGlMEUua3uizA31coghxUuknGGlpBDpHVkmjpBaG9G9FrkYWuQ5tdKjmcfu7i4heNbrFXv7e+wfHHB8fMLt27fHybdL98IYSTFhyQFTQeg78kxu/j4VJoOPBEZjbUZZlNy6eY/VjXuSe03krbff4onHn2SxWOA7SQm4ceMGTzzyCIvFkmqS0TQtzzzzDL/73e8IxvKTn/6Ea1ev8JlnnpDiS5PyZBUqmcssl3N+/IPv8+2/9w8k/ovIs89/gdt3bvHG678iU5nst7hh1AyUwJiQtTgOiVL3pof2JW7QvcGML8aRsrrNlrh4nm6yf2V9VhgjjZ9O5/SYfzs2PiGhFhuNKxfQ3m3pQRyRP+8d73/wHjdu3U66QaHQqWFQb4xkyQ+XCzL09sGlcmYjntXjd90yfksI78WrcCutV7HJsUcKuHG1GfaxZ/P504n14Hd8EOHdPJg0NEuaSmPQWtG0S1579ef87r33eflrL/Pii1/g6MoV/tE/+ad85vnn+eH3/oL7d++mzy7HzHuISLE5RA0ZrYjyC8LwtgJpj8Vx8GL2Y3VyOo7CrNBKhnqoAa1PqGmQs8f75LI6Iu+Mx3D73Bk+i1zTsi+n0ynPPfccjzzyCB98+AFvv/MOSiseffQR9g/2cQg1t2lbidyzmrbtmM/PaJoVYRiiE+gHgyydUkBMhlKGoDo8Da2riV1PXPYc7R+SZxXVZMrO7i7OeQ4O97l16xbzxUJkT12dqLQKPVE4LckSxgryZ0yKLkr3WKN1MkpNkYIx4LpudL8VpExTFQVt8CjtaNsO33vMww9RFAZ6NzLTijzHhZi0xo71uqZpOmbTKWUutZ3VEh+ktEm1nhhXSQKK5NYen58TtaIqShSQaYuOBqMsIbmyWy3GqM5JY7mqW0JKFcitmKqO98046MmzdJ0JLTYmoKJuGvZ3d0XLmuUoJRRV7x2ZyVMuvRLwZFWnuEqRb82XS9quo2lbMYJUiqoqsVpTFjlHB1Opl6uKo4M9TLo/1E1D3XUST6MUvevJshydPrsPHquFWdOnGM4sE3OwopBBRpaLVplkZuYitMs6pcdElDXJj0XTtA2ZtSNarbV8BjO1RC1MA59q6CFLXKWc7jy9nzEGPbBh0jLQpUif5XrNdDoZ74d5ZpOfjqCreVGwXq/GgZi1VvTL3jMpRfc91Oo69SUDk6RPfYAaItJSbV1VFdmgJc4zskrcm1vbErwcb2MUeVaS54IU57XCmBlaG9brmrgK2CwHIs61GF1iMkWWW6ZMPr7W+JjtUze2u7v7TKY5Z/MzoQZjqOsOazXWKFQ0hBTcbY1B4clz4Vg3bYNzommo60aMlJTF48gKS54baQA6cTwzeY5O0x9rJKsuzzOKqkSjmJaVCO3jEFEjJkQ+SGSP0XacDg4NnbUZttcE1+G6XqZQBkJ0dE1HU9cU+VQ0viFQVRXrhMZFJRbxyZ6AtpOFYzA3ci6gghMdnZWw+6ZpUg6ZsBuVlazbiIj0jTJMCkvfObLcIvdKOZihSxTdsuShqw9TZJl8DjzL1YL9bJ9pMglQOg0SApRZSdM0HO0fCVIVvYRXq0jfNri+pcisUFi6mATfPU2oyYpCGtQ8xzvHtKqIWnN8cjw6D4p+1lAWOVVu6Rrwvcebnq4TV87JbEeMBhLVRmtLppMDXx/IbU7ne7yPlFUlKLESlCAEKKvJVkkgEU9VMnYxRtyOc1uidYZbzTFGKMb1qqbIM6bVBKsFQfXB0bqOiYoyXctEb5BnBt8Z+t7hCdTO4dMC9WATTGoyuyj0Mx890QXKQoyorLZc2jvk0Uce5+qla+RZSdd7mq4l+khdN6zqNTdu3eb0/ByAznUQA8fHx3jvyLOcum1YLefszKbowlJUFQ9du85stpNo63lyfhSp7aCPKCpxwCurQoLMWzFnizEmquZHG564pW2KMeKTEZhL7uRd5yUEvW1Y1zV952hbuXbX6zVt11M3Het1Tdu2tF1LkyaFfe/pWqGSk6hWTdPRJkQ/hojDjfb9F4uYhLxo0S3vTiu+/NJn6Ls1//1//98ym+1zejLnxZde5O7tW6ybltOzBXkp08CYDJ8wG83rhiI4RHGY8f0Efb0Yu7H9eT5aUMYLhfPG9TM9Ttjy8vtUDEvxPKDBOq1Hm8+lreJHP/4RP//lL1gv5xs352G7fQueeEK0rANqaww8+xmh856eCvJ5/WH49a83ebFZtoGR/9dsZ2fyWlevSUM6bI8+KvTnbeOo6VSaX+83aPHkY25G0ymJjiGOyX/1l1u/VPB7XxUzqb/47sdqgMV0zggyHoNkTaqYfGilcL55+zbh8iX2d2dMd3a5c/+E+dkZewf79L1HBYNRGSrAycmJDM0SmtA0DZmx6ebqJJS+bqiKktlslgyk0goVPG3bJLqxDAlzm6XmOw0+PUIHiUH8CUKg6XqqYsLh/owPPrxF7xVBaU5OTtjd2ePw8IC7t2+jkabs3vExJst45pknWDdrJm3Lyy+/zGuv/4rOdvzil6/yyCOPYoxiUmoxdglIRElqKG7feo+33niNz73wJUFRtOKrr3yL27duMz8+BSV6ywSUpXxGMfrzfnNehjRE0HFgOKTclaF1HVyN1cXh0kWtKGmwk14ziGmVSJKEirftL6yH6k0LW2xsbFPcixmGaqMnx6CLJTlTO2LbYmyXGgonMqB2cF4dzAAzadiCIJQhbnw+hgz04YvG4fVHVzglxmLJQX1odVUSlw5G6oPZnSwfKqHfEacTaqoT/huG9YctdPoiAJD24sDrHXX8FzS5yrNanvLdP/0T3n7zLV75+is88fRjPPXsZ3j08cf5za9+zY/+6i+ZL8/EW2LUV+tR/yrsf0Glh3idkOoPrS2KgI6DxEvu1eMQMSHZ4+cP8vlVKuqVFk8THQf6/ObeJPJdaWSHYYpK66vSAxXbsLOzx3Of3eHaw9e5fec27//uPdZ1zfVHHkNbw7p2LBYLLh0dsV62/PznP+f4/jHaGFDiSNtHCMkbIS9LvHe4vmZiCsrCkNkdiNB2LatmBaWh6XuKvMTYjMNLl5lMZ5yfnXNycszZ2SmrhZgN5SZDx0jd1NhMU5QFRZGaZ4QN1nRCuZZIRUEvq7JExUjTtlTVBK1Szmiv8M4R8PQhJKqppms7XN+TZYYiL/B9I+dE9KjgKKxCBQdRavQIOCfrpvc9VVWRJ4S0cY5bd+6B0UymM1zvqfICowRFJznpZlauma5vJWbG99LAa01QGh+zlOjh8Vo8apwTvxRrLb53tL2DIBGhezuz0ZjId71ktXZCEV40jUQxIiy40zNxVZ5MpgKuuEBQJNBBMclz8iyjzKVB9k7kZlVVSPZ3YigSHFZFbCb5sjFE+sZjUckZX1JeRBIYR1RxHMYohUv1ZtN3tG1H3fSEIDWwSma34vUi3IgQBfDJjKHrHH3fCIPAAb0MJEy6FrquG82Tsiyj61q0LrCZMBKabpXWUbme1m2Ni2n/uj7V8AaT8oz3dmdJryvaXhc3kYOruhapqfOi842RLrjUTFt8imC0mRV2nJcB1qpusNZQVAU21/RRvHAyI6afWiuavpXBpVbs7O6QTyqc8yyXS1SmZd2MgbzIePjR65yeHmON9INV9ukldZ+6se37nq5XowW3tWbMpbLWQhS7cuc93vnRncs7uXNpLZOTndkMbSU8vRwod9HLxDsEdmYzsbLuxV0tppgWrdO0yFp831OmuAYF9F2fqLkBrYvRZMok97dhgVfJFS4GL1lbyAVa5gVd4UX4jhhNTSqxVy/LAhc8q+VapoZGLOmNMUJHbmT6Go2cBHmZE324uLAnB12Qyb5VBmMtuc2ZlLBu1luIZJpoRok72tudCa07Bpp6QfCapq0l3Nx7yqygKCpCDJwv54JwZyVaQdPIxDB4D3kmZgDeoYPCZhl100Dw9F2PtgbjNUUux8RYS0jZVPP5XG5CicdPDBRaqCIqaWy9c0KbCGEsStbrNWVZ0PSyyJVFKRN+76ibmqIqZLLle3oPu1OZfIZEQ2+blpiLhtUYg+u6NOGMGCuoStbl9F1PVzjJkETyC2Oo6fsuBVf7FPS9iTnIrBWzq+Q4LcYxdtQEZ5lYkDdtjbFGlLxBpuqlySGCRfP440/z0JXrzGb7KPR4vnddx/3jE+6fnLBaL1mt1tRNQ17l+OjxIXB2dpoiKOQ8sVYmgrOdCdcfus50ujuiJV3nhC4yGgsY8rzEZjlRQZaVeB9xfcdysRLdhLX84Ac/5eaNU3qnWNc1dd3QtD2r1Zq2aWmaRhrTtqZt1jTNmrZt0/S2p/et0L/cEJUji4/znt71KdNZJaOVIQ9Ypwn7hq4klOnUuWZS1Vmjk1HJoGuVIjXLM3H6Uz3LumF/VpHlluVywRNPPsEXvvAFTq4/xHRnl/fee5+ymjCd7Qi1T398XM5FPS2j9m+ghW1/Vj6m0d04qF5EFNR2VmOa+BM3zIRhqjmiSRc+h9C0FqsFeq1xXUv2YCN65440tN/8llBy20aMmK5ek6YW4O234TsPy2N+86agnJ/7vDSk/2s729NT+O278OUvCwo7PxfN72c/K87MA4p77ZpQjN99F376U1guRQv84kvyvNNTOQiXLsFnn5PHtR+HHsdRv/hJlOlB+1iWZRpClheY5kMhQIrUsAkpuH/vHnsHB6lRE9O73d1d6nrN3s6MLMtYnIsByHw+l+y+IVw+CDsiJO2/9z6hPYIYozbInU9usSGhe4UVihZb6GRmM7RWPPfZZ/nw1h1u3lsmlE5x6+ZNvvKVL3Ny/564ckeYLxbMdnb44IMbXLl8xGK+4Nq1q/Rth7WWt99+h7fefpcvv/SCOJBmJjFiBENVWmFC4I3XX+XKletcunoNpQKTyYTv/P7f5z/+m/8ZH8WUKyLXq7UusXS2qcUkdGXbRMl85DyTx9rUvG4ybwf2wngg0yEeqc5AVMMwIzU6ehPBFYfGegNTyvO3mlm2/37gc7m+k4gMFVmvgqBQCrqu3cQIqQ2aOgzPt8/ENJJKa6E0ZCFsEF2VYu38haHMNnq7QVoHwnMcBwKK6DfI92ZfDk2rTmvJ9sKjkxvxaCu1dRxIlPRA8J4bH77L//w/3uGxJ5/ila9/leuPXOPzL73EY08+wS9//mN++pMf0zZtcsmWP0ZpQZgTak5qBnz6jOKaq8bHE9V4Dxg/RMrjTSAuxIhRiHxEpZY5MR/Aj+dLiHKehSSQjePXMwyiWaUY1/CiKLl69Rq7s12Oj0947/0bLFcrnnr6cR7+zDW0VsznC/7dH/0RbV2LLM35FGson9c5T/Cd5N4i8Ym5FRBCpUib5XJBkU+ERVHNmE6mWJuRVQX75pCsyDk4OKJpWlarJfPzJXm6h812pngvTXlZFiP9PqYYlUGfaVJ8UNs0EltJYhhuRcLludR3TdsksjxkRYEPjmVTE5wT4yVjmU4mo8PxMBgaNLdGG2KUCLCz9ZLFcslqJUPtyXRC7J28tjIUeUZuRdZhrdmYEEUn+d5RmigQtqSocSLBCRVcBclt1cZQty3n8zmud0yKkv29CUWe0fvA+Xwuw524kSs45+mio61rXC/rVF4UoBUu+IS4Gw729zHWkFciXatXDVrBbDpJObAS1WPSdZNlmbAWkydJjJEoBsy0bSMu0ckxXRtDXa8ZyCtaa6mtWvHdma+W1E1D7yLVZMJisZAkDRS99zjXohGJo4+R4PvUu+jRKTkktlvoHVVVjWxJpSVrVvS5jkiXMpodIHnBfWpk1/WaSVnJgCEEQu+Sln7wYpBGe1h/JfJO3LCH/q2sKkLwKerSJL2zsCDMkF+d2CzyGpJaYIx4DdWrNT5Kvybzbk/TxuSgrOkaAUmbpqdp2hSF6miXNU0nEtUIrNfNheHqf2779Dm23rFadjjXC2VHQZYV5HlGjJL9FpADJIJwxluANcLJ1ilAfmiQbCZNh+sCfd8xmUw4ONwjag2twhhD17V0bU9YL9Gt3EADgWpSQYj0fZcMnRKemmjNsReaakwCD608WgXKPEtOb27k3UcrU6vVqqPrAzbTtK6n847CB+p1A0ExLQu6PlCvVkQkszBECXSe7E2Tfb5QqDObo1Uc892slsB5VHLkVYHcykELvcOgRv65tZbVasXRwW6ipcr+tLlFpfzTmGUYnQntJJlH9a2gv0op+t7Rd4Fge4w1nC+XUmxFRR8iE2OpypL1es2kKjHakie3NGss54uV6J61paqm9F1DvW4oi5IQYL6oxUQsywk+MC0n9M7TrTuyHUueWeZ9iy4sCrmAMisXbGkyvOrxjUNb6PpOCqlEL3Up2ibLMpzrsZnBKIUDjNUEJ4ZJNsspVYnRhqJM+xVF30eMKcnyCZ1r6UPAaDlHrZEFUCtF0JpMZ2S6FB2c83gtk6vGdTIZ1aKpiEEctlWIFNWEKi+ZFBOefPhJimoi5PcoxlNn8zM+vPkhx6fHtH2DMhqViTN13a6TftmwWJxyfnafGB3T2ZQyN0ynUx5++GGyLMe7tNj1QWJuUqGU5RlZWRG0Fp1T1HSdosqFYvT6L3/F7v4+r732Fn/yJ3/GH/+n76JMngy1UtzDtnmJGs7NdLErhTJm1FMPOYRsoQ1xoNKlXMIhxzMYUhwKotnbQhm0NmIWkmoer8U9PNokP7ASGRATVbLrW5bLBZf2r1GVBV/8wmfFhbDIxYV9UtHUPcen55wtGnZ299jbmxFinyJLhioo3RxTjMs28vpxSO32NrqiIhp7ZfSF3+nBcGRrDw06HJX0a2PBqYZifFMox0Rd9a6TnMcHt7YVRPNLX4aXX5aieLGA739/E/dzfAx/+RcS9/PNb8mN5vgY7t2Dpt68zsnxfz639sEtRvjlL+V9P/e5pKut4Y03paEeNuekyW2bTXP6kx/DCy9IIzvk1jaNuDK//vonv+diPspZPrKptB9VpJxOUEbOJ2OEnhy9HJ++byUyrm7GfX+2PJdJvjGcni04OtpBmZzg4eT0fCwMY5T8vxhk2NV5l4qOjrZvk/NpivxSCmXs6AbfdT09Ea3FBfbSpUtcfehxfvGLnyb0MBK1aPlP1+dENHlRkOcdrklredty4/0PeeKxJ3j77bfHIvH4+JjgOx66dhkVYbVY8LWvvsw777yD1vD666/zyMOPcHgwoW+XlIUYcphkzAjQrlf84sc/4Nv/4B+TFxnguHb9IV748lf48Q//WtaZCDpKY4yRIUBMvg8Q0TEZtI9ApR8bt+FaUSNaq0ZnYJ1yoI3SeDUMduR6EDMRPza3coUkhDTEAdjc+h3j68s1LLhpDBuHXa01OkrzFHU2rm8uDWF1Qm7zPMcYMeYSjwOdGkclbqjpOgipDZWWLmASkuxV2IoPGj5n3DiwDziticPeSZdISDp78QdQg4Y1bmRBm++p05+BJbJ1SagUQJXMyvSgvUtIveQUh3F/dd2at958nQ/f/y1f+cpXePErL7Gzt883vvP3+czzL/DdP/sz3nz9V+OwTyEImFYq1QRbyyoeHQZENqG5IQ0jkk7TaJL768ZEiCgNo0gCTBqaqoRK6ZHWPxhwDjGTQ/MJ/sL3VxGCES+RqZvQz3a4du0an33uWY6P7/Pmm29y+8YNrl67yuVLlwnes05MvSwzaFMSfUwGQoFoFEZbQvB0PuBiTyRgdboHeo+yUHc1neup24TMZjnRR8qqYH9nnxhhtV5xcnJC29as1jXnZ0smk0qGRV7qWR+9JCdoiYwUuZiYHvmoabua1WqJNSlaPci9PLeGaDRN32AyjfKOLkLrxLhomku+rLA3NNaqlBbR0XUNWhvKvCIEl9hvPeenZyyWK6rJhFgELJFJlrG3u0NmjTSQWtF6x6qpiUHAhyFiqXMquVJ7bNKk953HdR6lA70XqnXvehaLOa7vmU4mScoon7VZNfSN0IFJXiwhRNZ1K018iBhtRfqmlFz9MaKNIs9zpmUuLvDRY7wiC45qUlCWUksODt1E2f9KKaqylOtyoNsmyrOJGtf26EJT5Bl1J4zDPCtSTQ3HZwucG2opAzrHx5bzcxkQFKXEirpOzJd2Z0ITXtZrur5nZzJDxYDrWoLrqSZCn6578ZwpJgWta8VoVWsyVTKfn5OrSEj+QM47bKFoezfKYAheJIldLTrdxP7suhXRt3K+RtF398Hju07upUG0cavz83HQoq0YK3Z1K67eSsCTQYMbY0iSMi0gS3JMHxr2vpfBg0GhjWVxvma5WgoA6r0Y4QZN8JGm9czPG6bTHZFuNv0YD/Rptk+vxh2WEx9SDpEUAc55us6R5Vly6I14Jbz7vve4KBOjsiyYTqecnp2PrxXSNDRPzr5lVYkzr+uluVEbtKfr1mhtyfMMk6VpUMqUjS6IYUiaMsrUwY30FefFtCjLTULuAno6FZgeT688RWFxvWc+b5jP1xwc7qXJTEdbi8V2THC8TiYVwyb6hZaq0mNzNSDFw807hIC2Mlnt+55g1EiX8N5RFiWz6QSt5cLc291lNksXu4a+c/SuZ2dnh/OzM9q2Y3enou87VitZhA4ODlivVzLt0+Le1nZNohyIZXibXEdjQmOHabgIukWLNnymNlFSrbUUeSF5a3XNbCrTSVL2X5ZlxADGZqybltA7rFFUeS7Nae9HMw7vPZkVxNM5aegViq5tmfsFeZ4Lnd1aVEzRA0nPVtdrdnZ2UFrR9S5lT0pBYa0ly3P6Xpqpru1Ei5CGGDHpp+q6FtdoayFEOufFldjaxDAQ7VUcHCy1FHZCf1FkxjAtJjzx2JPs7+6jyeg6RzRiPHE+P+f9D9/jfHFK5xtMkcLTNUzzCtMafC9Ul+X8nP/2//n/4Pq1h/jc55/n9o0bHB0eicNeysYdKL3OOawfzLksKsu4d3rK8ck5PsB61XD58hWMzen6yOnpGf/df/f/lqic9ZJoM/yWFi1qNSKkspjL9NvIRSfTyVTBSD2hRromw89pwmlSnJVM3ocIWDUakIWEYBg9ZEHLDUBlyaBiBFkUVovWzfctxjtWdUNRFHzj61/nzp171Ot12geGPBdTuvliyY2b73D5yhVe+drLyUiKdP2R8o3ViJmM6BEb9CSGOE7C1da1m56QTGAGCrJm89RNsarSNDQm197xdUawNk3aN/+Q1hU/0sc/ErUBkiP7/e9JdI/W0hy6BxrUe/fgj/9YdK0xynO03sT0zOfwp3/60dieT7M1DfzgB2IINehiH2yQ79+Hf//vLr5+XcMPfyjPy/MkAmo3dOlP2t588wFd7cVNJZfTzNo0YS+w1tC5i4ZFVTWhynLyIufS0RHL1XKciC+XSw4PZmQ2R2nDarEU3ZtNCKyPOC9Z7X5Y89Na6VN0mEa8F5RRtF2LNcMwNn2/ACfHx9y5dxfvO2KQ8927gLKCNDV1w8HuHu9/eCzMhSDX+mKx4OmnnuK9995LGnBZu6oy54MPP+TJRx9lfj7n2rVrMk1XcPfuHV5/7XW+8+2vgVJjSkEIAeXdmBN/+9aHvP7Ln/HSV76aqHSRL37py9y9c4cP3n83UecUKojDpyKKUWEY6N561MmREFyUsP314OT0CRKIcegxHt64lSm9QWEHiQDJ/DBdLB/LP4hRQm8SwXccTgTvRWeHEoMiIjGKhpogv/cxMp/PJR2gFPlRVU3HZpx0D4gDlXZ0LR7g0M33GBDoB2ULG/nC8FVSczro8qOWT6+3aoaPcUMOaZowaI0H46zxlB90v1uInjAJAmqg+aZ/U9FTr+Z8/6/+krffeYtvfOdbPPXUk1y+cpV/8Qf/BW89/zm+91d/NTr3P/h11OBavaU5DkE8NfrOi64wBqqypMgt/sL3SZi30kSSvjb5qvTepUcklHp8eELO4+Z1Brr0EFsYE5DtvcQMhZSgcfXKNQ72D1mcr/jgd+/x61d/xXQ24zOffQYXHaenp8znc9kvWuo0aywh9uP7eC+GmoMEJcsyjo+PUUmmtly1dKm5VVGkbzFKw7ezM6EsJR1kd3eH4/vHiZHWs15L06OSmVhW5OSZNNS+94neDcEJVbcoS0IUo6VBQ15VFSbFdWit6RIVOSRmiUpNujEaH1yq2T3W5uzu7oxrlg9DRIxEnkkdIhTnySQny8zoaB6JNHUrtWteSISLknqwdy7pOG3ST8vQ0XtpbgcDztVqjdaKo8MD2rbdzCzTGj+bzuT7pBihtuvpemmWrEmNXJaPCLTNLOhMjK/SSlDZHBRMj/bROvUbmYAtTd1B+lw2ywW1HwSHShO11FpGm7Qf5XNNk9ln2/a43rNeS5JI2zq0MSPDpe8kkocoJroueFQ0YriaZXjniQlBXy2Xcn0HhOpthBHbd9ILZWVO2zb4EGjaliwvRpZH3/e4IOeqtZnIn4LIdYySe87+/h5tI8iz0oqskOOr0DRp32c2S0xZRVZYqklF3/XjNTnEq9nkJVSUcp4M8/i2HYa+mq5rycuM2ayC4KlryXbOsgKUnKP12GtIhKt3wlTtu15Yv53jrD8Xd2hlkrHsp9s+PWIbenHsTXTEkU2U6AHKiOPVcF/DSG7mTl6yWte4ENg72GWd6I8hBEzSu3WuIytybGZwIbBulmR5RtSOqD07e1MAmrVM14ia1WKNzTMxDAJ834nRk9K0fYcLDm8VCkPUEZMbdCZi5gGqDyoIHdcqiqKkbRxt01GvPWW+JsbAbDLDWxHeeyMFTVHKVM45PxbL9bqFCHluyGwpB8w52r6nSXlhO3sTispSVlOhhFjYP9hD4RNVJE/0Op+o1uBjj+s8x8fHuBDY3zskMwWdb5IwvmK5lIZQzKsymrXoMbIsx2QZbdukCB1PTCHXy7pDmYIsn9J3HWDGG7IY3UiT0TQ1nY9JN6ZZLheA4ujwiODdiD6bRCe1RgwEZuWUo8MjsjzDoFgtl7g0ZYxBGj3vupR5a4lBjRQI51bkmVx0Q5h430ljazOLskZ0P70jarnBamPI85wYWjKTYZRmuVyCjak2Usky38o0tOnGBr73jtxnqBRlRYRJMZPzRDlMoQnOURYFh7uXeez6Y+zu7WFNRtPKfm27hrvH97hz7xaL1ZnQdFXEaqHphxAEKc4yCRhHY1H88uc/4ne7e1y5fJmHrj00XuRElfKNRddhrU2a7vRdjOGD9z/g6WeeIysK/vzPv8vJ6X0WyxWPP/Y0oXe89dZbskgbjc4ti6YBbVKxqsYBzKAHJM3BTSomA0r083ozxhlQgJikUnlZSPxDGNCXuClMBt0sARNA4whaJ716xHRyw820uO+FGPFGJ4d0ef69u/fR+nNcf+RRbty4S9MO2m1NURR03TGqleyzk5PTUQum4kdL4O2CcWgiN6k+GxHcg1rA4fHDDXTYD2MPOharKsV6hAEk3gAMCf3WETEq6Xt8VCgjN+6yKCBGnqsmTPTHROjECOvVR//9wiLthQI8bA/qU/9/aWq3t7b9BPpw2lLUQJ10YpDQ//Ua1uuxMN6mSw6FeVEUo7nO4EDfNBeb5xgjddICaRS5zbCpwbXK0HrJqgRYrWsWyxW9lozyEKFeLqnrNdVkStfLsNPagr29Q1bzJSHAer1if28PY60Yc0RBO7PBnT/JDJxzFFmeBnUF08kOzvcE7ymrnMuXL7Ne1XI9L9cYk/F7X/8Ob/z6VRbLBSF6jFJMypy93R12ZiXzZYMnR1lF17Usl3OeeeYp3nzzzZF6Op/PmU7F4M6loeaXvvQl3n73bd797ft88MF7vPvbqzz7zKMo+jF71ochMkWhVOCNX7/G1Yce5voj11HJiOSVb32bu//Dbep6JTITDdqLbCCGgZcwXi0Xr5F0/Y8eS9uxN1tN8KD7VnHoyDZWbUqLc7eKEDQJhQwD5jgOjy4OnsKmCd6K1xneK44ZrEMjIPe5zIg0rO8Fjc/zEmMMh4f7tG03IoIxqs1aEr3QXtP7BzVQhtPQTMUxA3jcF+Na8gATBIV4/Ua0FgOhMGbexpGuPTxfmn55jYH6O6w3gyGP3lpzSXEg2kgU2hAJp1RMxbQcBx87bt26yb/+H/81zz//Ob72ta9x6fIhz7/wAo8/9RQ//eGP+fH3vy/MOERPF4gYq0f3bKVMen8rFGMDq9Ua1zlWYU1e7KMMgrANLIctJrof1l5UMrHcUMF1ih8ahqXjGpIIRr3fUDRl50T5XGLWIHVFjJRZQXWp5MrREfP5nA8//JCf/eTnzPZ2eerpp7h0dJV7d2+zXM5lsO3EeDSi0VmKN9KiR8ysNCWZ1rgk09Mq4r3IfKIXbb3Smt3dPS4dXsFog9WRS5PLXLp0RNM0nJ2ecHx8wvxshfM9u/t7lOU01ZaBGBRlITKG2aTAKC81shNkTEWYFCU702liX0hDZhJLonOeGBxFVRER0MKnpAettUTeKPEaCSFII9b1si4VBbPphEtHB+RWjK4ICtc7fIqJ0hiKMkNbyUXuWlkXlYNpWaCt0PEHfafWGpuGD/V6hUYMh7z3FHlObsUbx0coJkX6XIo+BHyK8wkq5etaTaFFJ6u1oW0aMTKzBa7rsGVJleeCcGuNNZqQQqqb2tE5R2aFlWJVllz0kz7ZWmFRZjl5bnEa6AO2yMREaXDoj0Ifny9WtE2Hc5HQSz0ZQxQDQWM43DsSqrE14qmTZbiuZbFY0dUdRZ5JXZuupTzPKYoMYzWta7FZBs7Qdk6acwwRL8zSrpHonyDyubppscZQZDZ5HYGKAiyVpei5lVFMJpU4ep8vcb0TunKMlDbDlhZrDU3b4aMbBzvOicZWWYPKM8nd/f/S9mfPsmX3fSf2WcOecjh5zrnzVDNqQmEGQXBokRRBUpRarZDV6m512OFwPzjC9pPD/4CfHH50OxzdjlD7zXJ0W7ZbLVEUJVEDQIIkBgKFqkIBNQ+oqjuee4Yc9rQGP/zW3pnnApKrH5wRQFXdmydP5s611/r9ft8ppjQVpZPuOOB286GVIQTFdC6gU/CIP0u9EdBGyz6MMvQhSDqYUthME5UBJVF0mTZbCcuneHzqxta5PumEVOLTx9EqfCgmRBgtdFGdUI4hj6iua05OTsjzXLjbhehG22QPPZiwxPF1Q9I6eJySyfN0VlHkBW2bdJE+5S418uVqa2jbXiZtKmJ0LjSmFDUgdBqhfjknN7G1sqh8FG3wMBUo8pIsM0zKkrKocL2gl6RpXdcP+VyD86ZUuWIKIEWqj0GuWdI7FkVBWWZEREvhvGO1WrF/sC+HrdVU02pLh/MuOZmJrvno4UP6znGwt8dsLpM2Y8zIwQ9JLJ4nB2PnPGVVjFP7YWEMKOrJ6SnTapKQ9z757mjRJytDURS43nHnzj0InrKqODw8pGkazpZLguspsyzZskuBMUxvB4qD8PyTu10IuKQXkQmlx+iCECJllhOUoNXeD5rXXDbGTjTYVUL0rbFj09d0yd3Yy3dnk7b50qVLAHS+pXPd6EpaVRNhBTRtuoFscmiWjbdzrdzEfS/W49aiUEyrkutXrnHr+tNoZYg+4GLkbLXm7t07nG1WnKxOcL4RnaeSCWKIgvbGEOXn0pjbdeL+nE0sB/sHTCcz0VYlrVmWZUlTIvFSVVVi8mzEBx88OOLo6CHXb3S0feDd997j+PiYtu/ZPzjgkztHbO7fI4TIfG9O6yRSKi+nGGNHbZNKbpUDzWOgdUkend7JiGT79zvNtUwuO3zvRkOdLXowIJtRiowYiEYnPVNER4XJ4sAslZ9JWlxthMJ0enIq09uZ6I0lFkomh0VR4vqeMmm716sVbdtSZNup/uDEeM7BeafBVahHSk5GRJadInkoqAdjFqV2f3IHmY2JtjfmiKrxusSkNRwm6yrl75ZlmVDxyBOV3P/v1hvcllX5cw+D5vGyYO09754uOTi8yHyxjzU6UVCTSVbSrgHcvX9E1/Vcv3olETrjOTOcoT8fCs+2cxS5HXXEZ2crTk5OJefRSX7s3mLBxx99xCR6ruQ5Efijh0d83KUJfCp+jWXUt9uUs6o1KbMu8Ktf/jWu37xG27Uoo1idLfmXf/TPx+bIJWpYjJE2bPVl0+mU3gtrhMYxsBVjVEwmM3IlkWhlIZmJq9WK6Wy+ZXXMCiblJGU/eqGWOiexL0rRu60rpU0ullud6DaCZUTx0nU8PT1ltdwkNonINd786U+o6w1xyHZMGax7exO+9ktf5M+/8zJrsVugbVvW6zWz2Yy9vT2J/Ennab1peO+9D3ji8Zucnp4ym81GJs29+3f50Ss/4sb1K8ym+TmWAiPaFak3G374ve9yePj7EtcXI4v9A37tP/gN/vif/yExiHunMcmIRWu0HwZt8ZG1qBINdphqpzW3g7COBmtjUzqcnQOIm1A8bQYRpugqU45qVGEb9zPcm7vA7/DFD5muamtiFXdkrePvTy60KmnKBnd07/3ImNk2lWoHbo0jTViN+8Pw2U1SGwwuz2FLKd5pbgdgKD6S48vOvbp7vR59zijR3dnLzu3RO3vY6PiuSVIHs6UDj1cv0DcNr7z8Iz549wN++etf43Nf+hyT6ZRf+82/wpNPPck3//hfc/fu7ZTQ41KG55BBO+xrwuQxWiVHXkEMm6ZhMi1Hs8vBTXmkjKd9fzsU3TrPa2SwMODxw9REGblWVttxX9he5+H6RTAGszMsMEpzeHjIIjW0b7/3Hi+//CNm0ylPP/0U169d4/7RPZbr09FILfqQ4hwDtjLpexPNvbGDl0qgDwMDSrKXfQis1isWewdpL+nxOKqiZLHYY1JVLPYOOD4+4cGD+/gucPTgGB8cZVlQTUqCj3gXmE/3MFbOSd87Qp8yRatK0gGST4jVJjHovAzy03Wr22Y8N/M8xyZndpIp54CKgmI2K1F6Ql6UIh1Measq6qTtTF402khDZqD3Wyd6k2coFDaNb3xCRXVicZ2cnVKWJUWRJ5ZdR5VYmz44VAAfVWI/GrquZ9M2o/WCtXIhrLVMyiKtHekX8sKQFYU0ynlO8N259dB1vSDaeSYNbDLMdN4RU6b3cE0ya8c6naTJlQFHTHJMRdO0bNZ1Qqo9bddiEmq5N5+TZRlZAiTavku1r9x602oCQUylpjNhT7aNOC5v2obYRlzw4DVtt5KBrtJYY3C+oyxKurYbUeRhD+3bjsxoWftG6i5rBdCYTKYi/Ut9WZ5qBQGPJC1ApaFX2zY0TUtZVAIgBpE8YnTS0A7JNykqCWQ9JHmI68VZ2VojpqrdiqbrUvZzm5iRsg9ITJ7Hdy1GKYqqoCyLNESIVEVJZjI+7eNTN7YxaFwKEY5Bo5Ccz6E4VkEoMOIuKKHdxsYxe7TvHU3TUU2mKGXQ2qKVWK13vUTrFGXG6dkpBOga4bHHEMiSRjPGAptlhJS3N5hcyPRKzJZEnyGiZu0HO39P75JrcSaWj2VREa3QqnwIKDSlLSBEfB8xOuPC4QG50TSN5BIG5KbtnaMPMckKo4jRjSFEj4seW4oTmdWG3FuMjhzsz5lPp9gsobDeYXNNjD1n7ZIss/QeQhdT9AwYZZPuRLHYX+CCY7NZU/c5i/09iJH1ejXSmgLS/EUCTdMRAizPOqqqJJgM3wcJoPcBizjo1WGDNpqqlBgM1zZMJhVFUaAiHOztEfoeAkzyApIO0nvRIDur6IPYsGc2x7UdGk23luFCX/ec1kILJpmZGJMs2HstuYMeKlvQJ03TfDrhbLnEGMkq7XuhnvT0oC1aZRglNvWZAXxAB4ONGdZIEXz88BilFbNilmgennq9oWsdZTkZXfesFvOjmHJsSeYWoe0JESa6oCxLynLG4eIqWsn3L85/Leuu5v7ZEUfHD3ChJ8tl49FWqCzeS76zwlIYQYXxEY1mVk25efUmk2pOmVVgFWfNGVGFZBYgjX5ZlmnDlUP73r37/Lf/4Nt4ldH5iieffoK/8x//J/yjf/T/4Z133ufu3Qd03uF7kQhcuLDPj159lc559g41dr63ZfgNuXdsCwltxAAiJhvS3eJpLB5iZDYR2/bgFb7f0t0k41HyK4ZSJaQM1xhIuWoK4nDvOdH+Ro+KmhjEXtgHOF0K9bgoSpzrRJObGsMilzWLd/i+wfU9m82KYn9vh64Wkt5VnysEt2XiMCrYUuy2B6EaX2PXaXSgTIbRlTXp3NJ3q7RJw75tITsUZipR5pSRSaTkxMnDK9EotSHwz44esNqJIRrfczrdK5Pxv7hyhXvB8A8+WlKsDPMLQoOaz+ZcuniZtndCrw+ezjk++kSapcurCUQpCG0yZtNKJxMWzWI2oTSGd956l8999kl++ze/wHvv/4xvv/UdGXpEeObpZ3nymSeoLl/g3/w//juuLVf8/sVDOcCjow4uraeARqODzJnFVMcK+qAMUYsmvg2BmOfSbBswVYm34mOglCJZpuCDH+mIo3NriOwtZhyf1gkpVzgHJw+XXL96iS7UxBiYTkpOzx5y7fp1jFFs6jWHB3NqoChyNps1pS0IvXzfPpnZFEWRptZ+HCTGGLHaiC5LyeHdupbNRmhUmbFMCkEdDBGMolk/xHedULKsRUdxgzVaUZjA/rygqc9wURDmDz/6iFu3bnHj1i3eevNNghfC7enpGqMMN25FlPI8PH3IS597iQ8++ICz5Slt2/CtP/1zfvuvfoOgFNZGQfNUGNevDoEHdz/hlb/8Hl/9tV+XJo/Ik089w+e/8GVee+UHqChrU2vw472RGrWwpYPuNl477HxhDOhtRNpAXzinHYVRWy5a/gGJTAyHXRRSbT9DGKnJW/oyyQ8A4pbWu/N2ZNvy6f2ENNBLTBUv5oN9HzAmjOaQj77f3Q+qYxy1fSTn4ggEH3f2n93PrkcUd3hnu0ZAwwc5l+M6vu9hzQ/foR4by6ExVzsGXbsNcUgyLXl5v6VVj7CymPoQDWcnR3zr3/5b3v/gQ371136Fq9cvc+Pxx/i7/9P/nNdeeZXvfec71MsTDAkETyMyOZ7SnmmgmpRUk4Ku7xI1Onmv7IilFWq0kdda9MYxKoGu1TDYYESzhzNqMP8b1nKMETw/f83T2h2HksaIajtdo6qqeOH557h+9QoffPABr7zyCpPpjCeeeJyDg8s8OLpD223wfYMPjsxaXOPApsbWSl0S0kDCpkYIHYjOoaI4Dd85uo1GE5xch8xmzGdziqxitliQlyUH+/t0XUfTNfR9x+07tzl5eEJZFiz29ojRpDXZk+clMRoxiVMSIeP6Pg2Oxdk5hECeF+igaVuXYoQCRWGxWU5wnrPVmtl0InRZFFle0veOvMyISs5NggySrJZIIBTkUajSqYfHp4iZKpfIH4LksWqvCCrQE5Kpk0IrwyQvKDKJPLQoojJybdJ+4VzEhUjdOJbLEyLQRy9DKCBa4TpkxlIVBV1TY2wOFsrckOWlLJpBAmUs3othUYiBosgo8lyMRZU0fD74FOGTjfTnyFYLHpFzBRTBK/rOUW9a+k4ApL5zNHVLXlgx1c0szksNPHi6+K6nsJZMK0JuKKcFIQ3Bi2kpiRJBrnvTS4PbO2FFZkY0s65vmeQzcMmsDUOWjAIlerVgfXaCycSXxRNRKuDCVh6plGK1qVFKUVYlm/UKRwSbvFa8DHeN0cxmkwTIlYToWZ7B6WojSGsvzt0202S5JhtScGpPpUqG+DcXA+v1mVDPjZX4Uy09y8AW0LoXtkUILPb2mMwmkjntpPciKKkLP+XjUze2bZscjqNj4zdiFhUCeZ6Nm4Y1JPc22TjyIqP2TlzFUiivTx04SSfXOy9NjpXJQplnON/LhhggzzKqSUlRFDRtQ9+1dJ0j+B5tM0JwVFVO79xIFQxBQ/BJt6FRSDZV8IHGt5jkeqtzRd201PV6jPkpC0NI3HehraqETlmgH09ubSKTScl0VmBtxmq5JkTRWoXoRadhDZmVyc+Fw0PyzAKOvJpzdnZKNSvRRlH3HV3fQVTUdU3Icia52HgXZY7rZZJUlQVdJ/mznevItE1TzDhSgYMXFLzrevK8wLlA0zQy6bFWNjEVKZNbmk8F20APb5uGtm25cv26mAGEKNrdpQQwYwybeiPTwqKQGwExSKiKimlZSph5Ml/yfjDYykYtgjhpG0Iwo8NokReJUt6TFVJoN23L4XSKtTn/6d/7n/Mv//k/5cMPPiAYoSP6VKRkWTbmae2abhiELlUUhaAxWpCFvquToZj8TNM0KQ/TprVhKUzOpCh5/LFbTCZT6kYcEftkXHW2XvHg4UNON0tOV2e46HExIK4kCRHA0rYy0avKKRFPYXKK2ZQrl66wN12gsXjnOD09Jc/S1NJ7nPNiYW/tTiEkj6Ojhzx8+JBytk/XtWzWK1588VmKPCPGwL17d3HOp4JQ89prr9A1NRhL222YqPm20WKHsseQQ+vFMn/HbXQosrYNttD6jNHkmaHbhJFKtiul282EHf5Qp6YupIxPnXTMxF0ELGBC5Oz0TH6v0uPv7/ueosiZTKc7JlEStdK2DTB/RKc6ILZjC7/7jsY/Zedvtpo/lXTBO59i+DvFuaYzJh7moyDrDpCwvTbDYGysy0XX7IfP8wgKsy2QEyu5EYrQWd1zr8/YfHKG++hU6D5BobxOjBepPvvQj06Lzr2Z0GedKHxqCzejKKyh0NA3LW+8/R7vvv8hLzz/FL/89V9mf2/Kg/sP2F/MuXbtilCszHldcExsFR2lcLVRpYKWVKj6c4hSCEH2v52Lp00qSNw2S3V47bDTy2RZBgSm0+rcz4cQePDgiIsHeyIVaOUgl4gtQeXqTY21GcZmZLagbR6S50Zy+ArZUyRHcIsWDiwZn1AM04kHQtPUokUrCzarDUYpyWdXVlAMPejHbHINTZR7HwjJRf+F5z7D2fJV1rXHR3GVv3PnDpcvX+b69eu8/957Ukh6x6auef+DD3j++c9wcnrKfD5ns9mwWCxYLlecLWuOT045XCzE80BHQc3HNSVF9ltvvsHFK9d46tlnE9U28pWvfZ17dz/h7u1PZFg8oHE7DdGgix3vsJ17YEAJz91g/ILnjiz+nYIlUfmH5K5Bhzo2gSmsenDpjzv7027jN2hyh38d7v9xLxt/pzq3FodGPSYDH6X0qFXWO/E1isF3IPEedq7rLvtsRPUHJ+NzzdeWDXK+kf1FNI0tDXkYtOnty/3i5nvnEXxCpeOQUrGDJKuYDHpkcNB0njfeeJ0Pf/YhX/ryF/na177KZDrhS7/0FZ565mm+8+0/5c2f/pjovTR1ziVmQjayWoZ9s1CFDBa1HjNilUpDi/Q5fRTWnx4b/4T8Kj2yeVSqw4Z6Z/e6SFO/u4a2EUM+uHNMClkGKiFOsr4ODw+Zz+c88eSTfPjhh/z41deYz2c8+fRTVNV1jk5uc3r2UJAtLYh0jEmSk77r4Bw+unEgqrUmGkGtmqZOZWNIdc0KHzv29y6QGSnw53sSk4hGstnzjPv379M2HUdHp7RNz2IxJctlb8zygi6xFb1z5LnslyY5U/uEROo0PA4I3b2ue5qmp+87XO8oq4KgNU4L+KONXChjxBRIpaFPlgnlWFtL0AIoCYc06Y+NQWsZ6igj4IdzvdC082w86ERyYsf37b2X8wNSXqxoSOu2FflfhLwsiU70v2JCllyXYyB6R5HnAiQkk6lM27GfUMn8rq7bdN0y8ixLnjFy1tosI8PijKXtWjKbSfavS+dUWjvOC3Ow7VuaphXZYt3ImVkUGJthrEKbtGW6lCLiRWpY5Dllol77dKaUVZEYTZbVuk7eCB3L5UrqnCyXnGgrrD+X+hytTTozxeMH77C5sPzyPJdMWZuNKSWDsZxP9+xg1Cc08QReaEPbtmTJ4Hc6ncneEcWYzxiDsTKMtwmBz7IMpaUPzIucpj4jBJXo7nK/bdYNq+UaHyHLxZdiqGslii2gCOzvLZiXJVVZyH3Q9+MePPgxfdrHp25s6yQ89k6yxIzVaVKz3VScF7fASBDEhpSlakTLYrOASlMFCQzuMUZhtEyUXfD0XQuxpyokjxbAZBCUIys0eXKqc50Xd0UvRZSPkabvIBlYyCaEmAkh/+1dlNVmoNqbUhYFTd8mp90oVvGXDjm1NTpNhEDsuYdCJqbmXWIeLDFq6k0rdNqqYL1Z0bt5chrWVHmVEL+CLE2jokuOakhMQGYyMQoYtKDWpqFmwAc3FlPTWYU2kpvb9S197FiuVlibUaVsr77rKTJBCpquIQbRL5SFOCCXRUbbtqA8LnYYk8lN0rZCLZ3OiDGyaRryPKdpO6qypKoq+s5jMqEPuETTcb0nywLKGNrUzGpr6GMr2cLOyc0QhO7RuR7VqkRVjinHrMP3DTbL6Aj0XjGZ7fHw5IyzVcNstsf7732CsXN8cpRVClzaWKtKqDir9QqTEOVBxeS8Gy30s0y0t2EIvTaK3svUSGnRPcZCUxjD5UuXePzWk6IZ9qIFQWlcDJytzvjg449Yrpds2jWd78XtLc/QVnQ/IXhsiLjWg4dCGXKlWUzn3Lhxi+lkj27Tp4YiJE12n9BFQ1WVo6Z2PLjTwd62LfiAig5FR9OssAomRQ6+p63XaGO5cOkCSmuOT4/ELdxqtIlChU/N2kCnU8nggQGFGIq9HbOkoaYY0IGu7ZnPp7i+wysvhUmikj3iaiIB5WiMEgMupRQ+CiU1OKEBjbTFKCg8MXJ6ckJM4d9DgelSVNhsPh8nfiNNtW0f2QDVzv9IESK76MYO2jQiHSQkRKXns9PcbJFz/ah2btCHjmhiet2xOGdEn4yyhN5Ltmn6K9e6sYFXOm7Npob3lK5vH+DBnYf4m1c5OT7j9R+9QUfEIW67MSpB93beg+AqahwuOC/uhzodeiNVIYIhYoPkX88nkX/7rdvcfOwaV+0VHpxsWNcdZdHTth5rk+HcudMiuVSmgYRnh6Y7olspBiI1QS6hBkJFl7t3dFJNMWjexZ04EXn9cloSVGAyKdBKflYohKI/0tagrUQDNV3L/YcntI1IUNp+Rd+Lpstk4s+Q5SVKm4QuQDERx1yQgmHb9Bhc3xKik4xKZZLXgCLTGqvFgT4rxJSv7zsynRHzSO9FINj7Toa5xhKi4mA/46XPPsfrP3mf02VLJHB6eoq1licef4z79ys26xoIrDZLslPLpmnR2nBycsrzzz9Ps6n5829/j9nejO9+5/v81d/6TULsmE5yYghYFXY09tA7x/f+4i9YHBxy4eIFCELT+/Xf/AZ/8N//Q1zb7rj0kthByUzkkfiFX9xcqZRxu4s2bpkfuzIB2W+2DsshmSGhY3KBJb2OaNV/8e9N9+aw2mMgRj3+qdByts8b7o9hTxsKvvTKvPDi80ymMx7cvcsH77wjZ/JOozS4AA+3PyOhZYsua62SOZ3b7haKUcI1XBN29qCwQ1Pe0p1JGbxDgzjoeAf697+7OX6U2jzcd0OOLCmTWashmtCzXp/yZ3/2Ld57712+/vWv88xnnmFxsM/v/PW/zvOfe4k//ea/5v69O0J0Co6uCzuUfbNdL0r2kvE97P5vnD0k5JitozPjdRQ68rAnDCTqYX/TQ2wQoOKw80jDLkZF6XwLUcwRR+OqCHEba5Rllr3ZCzz+2E0+/OBDXv7By0znc5588nEev3mJTXOGC3WqUcUdm3FYKdCyNjrFpti0r+vteDeq1ORHet9xujlF+SWZybCZSN6M1ZjMcOXKFQ73Dzg7O+P+/fs0dYfrA4cXZvjQEBANrY4KP5qvqXMxk03b4D2YzOJTBqnzjq5tya2lqEo6J7F9PjhhH+bCFmnbDhXEjAiVjME68ZoRtpHGauiDGCapNITwQdyjlUJqRWXQmTiOKzQxJ2W2+jG60WZWavwY6TpH3XYy/MtyyYYNDh8izgcyayiNpcgMmdKYpBXWQUvkTXAyWNFyDoTg6bouGQMabJ4DinXbjiyN3AioItmzLS5Pwwof8Z14paAi3kU2m57lpsEHT9PIOphNJ+RFTt3UabgtNYqKSnyJCGhIOmJNn/aNtm0oc6nVT0/OOD1b4npPXTf0ndQ6mbVMyorpVGR4zbqh6Wq0zWlaJ0i+VsTYJZq6p8gKLl44FGT2bElWiCwg+kiXhhc6OY33TqjMEgkkA4si0xA1RTGh73pOVsdkfS8a3q7dSjxCEL1tMoDqWo9WgsgSFU0ta6HpWvrE7m2abjw7YgyUWU5ZSQrGYm8iPUzoiDGll0RhBJ6HH/5/P/5H5dhmVhzHTArcVaqQos87ovLE6MkyKRx9BKMzisKgKWjqPkkeJKhXaUVu8qT5kKYudA6baWxeiQ4gE+G8TO9lfiQLoce7DLQI32WKYXBJ5yf0FjtuaH3vx1w1a0yK4ZEc2KKQAGeUxvsgNOCYUVQzrDHUTZ20rn2auMnUyjmH6z0xiEhaa3GKXiwWFHkx0rFXfYsPnsVsTplnbDZebqixWRBamqoqwIvm05jR5CKmbMy2a4nA3t6cum5p6lpiboqcEMTRrG1qus4xnUwo8hLf1kIf4eft/7uuS9S6bOTUxyhUZq01dddhsgxjBXW0Sr7Xs7MzQWlyg3dyE3oX2Eua3/V6Q1ZIZI9NTYxLucZZlo8FQd/1o6OyNHCRqMQ0JaZstb5raRtLU7f8yZ/8G3rXp407mVYExCUwuZQGAtHFZD5k8MFv3TzVVu8nsQXC1w+bDhcis2oiiICBa9ducv3yLcBK9nT6Oec9m7bm7v373HtwV2IfVEwxrEmPE8C7hA47z6Qo2StnTMqKS4sLXL1yDWtKolMp0UTylklum8ZYyuTyOky/dSq0YzrU+75PhgFSNKxXSwDJOw6eyaTi6rXrPPvcZ3jrnXekAdMam2eUVZncLJPu9ZzOchgabFEa4rbYGovQNFbv2347UR+yYRHaYtgpXuLgJpyc90Q6EJkUuYTEBydW+FGmfEPZrYG2EbOixWJ/zC1t24bZbLajtx10WyQH8J+f7A1FoKAJ59EmdgrK4Z6UGJHzPzto1bbvLlH7duiQI+1N60TlTk1yjGOkRWZzijzj5ORY1vNOnMV2X9g2yAxFs4qA5t69Ix48eIhWmq6pObp3G5cQEdKwLEa/Y6oz5KQMKFrSLBJTUXJeaayFUc0vffULXLpwiLGaf/j//H/xv/vf/m/Ym5U8dv1pDg/myc28G52Gf+56jhEv2z+DbfG1W2z3yWV5GIUYYyjKknrTJMpk0jdHocuHtM6MnNAYbcbDeZinNE3DcrUis4aqKIhB8m1XqxUHBwtQhrppmC8W9H3LycnDVOzI/ZZZyTzPbI42aY/tmnHIMQx8rDaCZAQZaFVJJ723t8/Fi1do246PPv6QkMyKXPTj8E2ne7ptau4/OObsZIVWfofGL0Y8bdfx3HPP8fLLP5Ic3iB6sXfffY/nn3uO5XJFWRas12sm04qTk1OOT075whc+T5ZrppMyDZrBjHxhGWg0zZoffv97/MZvf0PMGYPj8MIFvv5rf4Vv/vE/FxoiiPMqQQZTBNTgJK6G5ooRVY3jNxl3GBPD8tvS/wfGyPA8pYTefy6rdmc9DexZYjxX6mxlrMkAbmyDd5qjpNsdzsABed3mepLQLjcyQe7evctv/+6X+dqv/Bo/+u53+fM/+1Nc6M+xWNQj0TyD7EF+1zDoG4UN6bnn96hfNBR4FMkdHiZFsYnOW59rxIe9YxcN3v0d52jgw97it8wUSJRQNOhI8JFPPv6Yf/ZP/5Bnn32Or/3y17h05SKPPf4Ef+c/+Xu8/tor/PB7fyFu9QltleEAo65P5pRhfO/DPhBj3IlriiMia8x2iCtOy7vvebsG1DCIjTENAoc8dXVujY3H285QLI4DtmFP0mglA7R9s2DvpZd4/ImneP+DD3j15deYTKc88dTjXLhwi+XqAU27pm2WZCpLkVaSuam0sBf14P7/yHewpZlD19VEr3AqI9YNTV4z35uxP91HFyXtpmYymXLx4iX6zovHSt9w//4JbddhMktmNIu9vZTcYNHJoGsY4hibXGeDMCOdb6kmBQcHF1itRPNIDIJiVpJqslqJN8CQDeuCp99s2DQNm/WGg8Ue+/sLyjxLDX1i3kQ/fjbv/dZLYjR900kaIwy+XQfl9XpN63rQhhA1XgvQFZBUi4EuPc1LJnmOJjKrKmFBJoPN4WwP3uG6wW17kLAEaWBDEH+eIFGcIcYEREgmuTaGzaYehzNKaXof2dQ1rnWCdgdxehbH63kayohXhvMO10vOK1FR5EVCknWSK8qa8E48e+pa2JWbpmNTN/S9T3W5OHPPJhPKqmRvbw9rDXXecnpyim87MSsMYE2WGKWQWUtWldR1LQ7d6UzUZsiJSoyq5JPR9SIDKwoxrMrLKjGVYLlcSvOawITBrd/7lIObmLrjea412lq0hul0ysPjY/rkFt33TuIgB6S6yFMCgaIojfi+gOTbRmEXeB8wWMqilJbuFxiC/rsen7qxnU2mKS5AFq3vesmwTYe5Qg6k3qWsR2XwIaZprWiYjLFkNoXFZwqrIn3n6X1HUWbkuUaprftrVIgbYyqKp9Mp0+mUPC+45x/SO9FrOhdGO3alxa0wqEhhMgiOLjr6zpPnopVSxpIX1ajZM3mWQqwNZa7ILBgzJURPwGFzy/7+hDwDZTNiiNTe4duOPkay3JKVItMvsnykTmWZZb06Y7lcMi0qDh+7RQgdy3UtehOvRoOhEFxyHUyTSKvErAqwVoy58NC6jiLLU3B0K/SThB4HW1JvavrG0UdxKC2SKL/tBB3MExWkDy7ZzBtBwKpcIn76mqqqsLkVe3IFQUHXe7QWN8W2EXOVEAJNKzlbXdeh8pLluqbsHVlm6GNE5zIJ7TqPMkJDV3Fw403Wl0Y+a1QOq5CJD56qNGQ2YvKMtj+hqEp8J++hqiYEFxPQJHFBYzSQ92RWHOusyTBsDV8iCmMNIYoBhjUaOykpMsPlK1eZ7R9SlXO0TpsCYbypu77jg4/f596Du/Shxfkek8nN2jUNVVklR0oZ6mSZpbA5ucl58rGnmBYTVFT0XRgpQyEEob5HyLKcLNF2lBJwQW7lcC7mQA4RcS32EVabDS54srIkADduXefmzce4du0aQQVee/0n2LxisrePLgpC1KOxyzlKckJrR9+NhHQMNHeSpkml4jD6Ht/2ZNoK9TI5lCpEyzSwf01qBLNc0KvQB6bW8sKTN3nmmVs09ZoPPr7D2XLD0cMTnEvaqmRKEKNEt8znc0H1U5zKbDYd6eSkyIhB+7NT8o46rPMF4rYI3KVRqt3aMGm/SLW3oCRb5Ih4Hj18tIBBS2trSNR5H/nVX/t1XnzpszTNhn/43/4D+r4TdMqnwc/2Sg/vbocmHGmd442332O/WhBjpA+eTbdJweZJAOvFu0DQHTHE6Z0Yd41O1XqblTnkfarkokqMWGP4/ss/wPctmbHkNuf+3dt87Uu/Pn5O54Sh0zY1KttxctaD/ofzBXyCmuIjDQtqG6GjUCk6LMcWJYGITc/TOq157+UMQZFbS5UXNKbDaJ2YJOJi6gPcuXefK1cuUSBxb0VmWJ6dcvHSRWxRsayXYKeYXKJ+mo1Ph3YkpBzprndkGIJrCKEnLwoyayEIJdQkI5Cub8lSfuByueLk5CEnxyuiVoTgcH0zNlTOeWyeCcqQCurDwwUXLl3C5gWnr76NjxanYNO0HD885nOfe5EiL6jrBqUMm01D8A954jHJlj87O2V/vuCrX/0S/+ab32axWPBv/+Sb/MZv/ganqw3700LQc60wKXvVGEEWb3/yIe+8+VOef+mzqd91PPPc89y9/TE/fe1HQjlLTVvQCeC3grjEmLJuU8chbIzdbz6kmYra+d6FlbB7Kyq1dfsdtNyjhEANdYAaqaZJ/DAO41Si1SrUOUdlj5hHSl0kw2kzDq5SCzwOYITZEIJki96+e5f/4X/4x/z+7/8Nvvwrv8L84IB/9S//iKbd/BxCOiC1w1BMheTkmfIwxTjJEwJjfNijj1/U4D7akD7yt+f+KefEdvAy3OPnh2Q/7/o+NPbyOXoGEodO1M967fjxKz/iw/ff57Nf+DzXb1zn6Wee4ktf/WWeefY5vv8Xf85PXvsxIQ0Wxd0/DW3T/d07iVrKi2JcDyrVdnLmJTaBUeNQLo4DQRJTIqaGI/150mITU2Z6KvC13v6MTuw3aWZj+j70znqU7wYtmVUquSIfLBbMX3yRKxcvcfv2bd76yRsorXnm2Re4cf0Gd+/9jPV6iZhCawI+xd3JkJadz8AQ06fEQTgi56gwZjpC9HSuZblq8aEjNwV5VlAWBcZlaNMzmVYUxT4Pj084OhJTxarMqYoJ1kjuafAp3ktnch0JWG0ojBUtf5aPA06p3zrKIsf5iHYBbRTKSoPsfEfTNNR1Q9f2RBW4fPki+7MpmTXoQWYt9vEUiaXYtY6YJDBBNGPEKHWXspYiEypyQGp3vHwfVVkSjGG53nC23BAUFIk6bHPLJC9YlCWZMUTvCN7htayVECK5yelT7I1KbCRjFcqJM2+Iiug8RVGiY/IxCWGMynGdSEC0zfBRgBbvHMvlmqZp5c/S3lPkhXi1KMVms0rDTHFFdr5Ha5hNKpFc+eQFoTTrdSPxOtrQO5F4tm2P7wM6aFR0VGXBfCq1TZFnTMsyyQQiXR/YNB0Bj80UVimMlWxxqxVFLtLH5XIlmmIi3UZkiZPJBFtYYnSYDkBT5BOMlRp9uCViiHSup+8aMYDSUlMrpSiLkhbH3nwP75002/Wa3jmqiRWUvXP0MeCVOIm74NJQPpBliqooKMscYxVZYRIzVQka7IS1JqxBQbyNlZSLgcH7aR6f+pnz+TzB856Y3OUkr6gWhCyTGJm+78VUQfUEHwhObO3zPE9uymFECfq+p67rpEVKTltBdFUSxyNIRojy35u6ZV13kHj5y9OTRAWSif12m5KHR2hfQlVkzFlzXkyXjFF0XY+1kbIsyYylPDBoo2gamVQU0wV103CwmHF8fELTd4ghnqeue7Flj46uDVSTkhjh+PiUg4MFVWXJE9Ugz6zoWAYaZ9eRqWykXRktuWN91+MixCzS+yCmSwMlVIkGYxBzt22bcoUzcV+OijwVIGLaZdFKs1qviIlWErpWaH9aCsU8k8N3MD7w3kmTiaHtauKASAQwCFJflhl9COR5Tp5nzGdT2s2avMjZWyxYnS3xPiYHaKlibJ4TkokPqOSGJ0i7j934pWVZRlSiVZ5MJhhjaLoWpRVt22CUxTnP2ekZ1oimoE8mObaQ/zYJ4ex7CRfPkvYg+jhO9YyxEmGViYv14cE+ly9fBVMSMaPpzrpZc7Y8ZVP31N2Gh6cPJKojk41KUDaVrNVTUcGQT6hYzPe5uH+ZqkgRT0qoz06Fc468RVmIJiLpC7UxkByEB5qtelSflZo6n6baZVkKOp9Mbl566bPYwjCbz8mqObqY4BMyPiAgW63ZWEWO+uMBgZSDckuzIzkno6F1Qke+Wl1lUhY0dcPHnzwQCq9Jn09rcpsREadDozUqy5jsLShne9y9/4DVpmX/8MLo2G205vbtTySwPMgan06nyWVcHmVZAbBaSwyONpqyLM85bLKDfPyiBnT3OenijsjBsFYYqIqpYR5Q7kFfpdI+ZbQeEQPSYE4h0SYqBGazOV/40hfZWyz44Q++n9a/FX2WC2TFeWRLDfm5MSGuxnD37h3ef+9Drh5eFrdGRGs+Hro+gPcUVcH161eIMXJ09JB794+TKYtK8SY5BwcHGGN48OABvpPXMkqmz0Wesb/Y5+Of/Yx8nrNcrvjH/+SP+a2/8ktMp+W4zwYfqNc1+nDv3PvWwxrZKfoHOvK5TTqtPZdYDoxmN8npcaBib1fpSOsb/tD7wHxvj7LMaVddQnLktQ4PDjg8OITQszw7o+06Tk5O5C1oiVA4zHL0ZMqkmrJZrcfzyafB3jCxLvJMjO/KUnIIvRupm2EoUkOkKAsWxnByuqSuZQ8tq5wYbNqf1JZZkKZIYnICR8cPUSoynVUcL5uEyAUeHB1x+/ZtnvnMZ3j9x68L5TplGL755pt86Yufx7mGru/xvgUC3vecnRzz+o9f51d/9etsmo6qNKkx5Hx+bGx55Uff49LVy1y4cFEofQR+6Vd+naP7d3n44D7a2DT8kNgOFYXFEkJMxj9b2cJ2i9oyJHa15uOT1BaxG1kvkXMN4/BdKqXGCCY/OCanRnco/ESPxXhvDgsmhiE3+udu/K3WN436tNJoI6i4j56z0xP+2R/+M373d3+Hzzz3HHmR8y/+2R+yXJ7JYGAHnR4b+Jia5biLHkvEmBlp1ozfxaN71S7LwY+64UebUjWaUW1lB9szYtdoaljHcSdK6Bc9htcft8Md92MfFMcnD/mTP/kmhxcu0HW/yXPPfob53j6/+Y3f4/kXP8e3v/lNPvrw3e17D2Gk7JKGzjoxPAakXCfn4UF7K7k6cURutkO+QZM/rJMkW1AKm1ByxqzLsGXODA3tyKwZDKS2TBih1SffA+T7D4h29OrVq1y9eoXPfvazvPvue/z0J6/x5luGxx9/jBvXnqbpT3lwdJ8QIlaZEcWS95/SKMa4JTEvdc6Npl2ZtXgnNPxNvaRpNlhTUJUTiqwiM+JPs9hfECM89/xzHBxeYLlcsl6d0XUdwTuajeU4sQ7miwlt15AVGUYrQpB9MoSUe+qOk+eJoINEGeQoI6aNWkvyyNlyyXq1psgLLl68wP5iQbNZsakds2oyfo9ZlqdInYCKWxSvbpoU/SZr1HsPeqjFIcsz+la0lJ7Iar2h67ok9RBDocxaiqJiVlbMC3Fwz0wl9a9zkPSaPvjE2JE1bK34JOhMU9c90TsZNjg9xkT1CbSIIVA3LdqI/4sPAdVJ1m69acRBv8ipyoqiLEYNfoyBalIln5BInkkEqXc+ZdUGjBV3/a5txZQqGVvFtIdl1lJYi6rELNVmopX23lMUGUpFmqamrmuWZy0hePb25yIn7Hq0DugQKCclIThQFm2E/dj2kpVcllXKey/JS0s5hSrfo2sDZ+slm6YhJpM5a/TIxBIpn7gdyzUoaOpOPkcUb56Bkq10Q1VKzb7ZbBJzIzCdCKAhRpUKa+T+sim200eF7yV1RyfgySTH8aqoRIKgBPT8tI9P/cyu60ZkyqWMrulkkhQriq71tF0nDl6lIasg9D1dJ5C85M+KQUrsvczhgxTgEqis8X1PdDE1XdJohZQzGkLg7HRN3zppko1h09aSvVRV5JmRxgXRN7nOCWfceTG5yQxKBfq+Iy8r+r6j7wVtiHkOcTZW7tPZhKjFbRgfycsJmS6YTkuWyxVd3+LmJU3j2DSyWJXOpGg6PqVP8TL7B3NmM0Ga8lzc1vb25igdqZtahNxOJt3WGPROxEvdtgQFJqSGKdEJYoh0jbx+0zVp4GBkWtX0dH1DVkiTjoqUeU5bGzofyKxE6bRdg49yuM4mcojKWaPI82Rg5HqqdJ1d39O4lgKLJjKZ5imLrKUqJ8xnU3JjxUAsC+hMNAit93jE8VQydpMDpfN0TlyH5cAUesh0OhWdjzFob1KurCEiodHOOZSVQ7ooSvbn+9RNw/HpMSFqtBYad9+16EyoQVFHgvZp4xN3QACtDMpFLl6+yI0bNyjLUjb+aIlY2r5hvVlx+/5t7j24Q9v1goqpIJnIOlIkxMX5QFVUaTgRUy6f4mDvAo/deBy8EtdwD533+Lh1AhU7+EzMAVTcoWqlmIGdeIswNmYkvGLroBlTRBAoCfTOLM8//xz3H9yR4cgQHI5GGTs2qIzNmRxKQ7C5Vnp0iZaCJ4CKHB4cMqmm5HnGvfv3Mdawf7jg1mM3KMuCk+MzPrr9zURvT1EvmaUoSppW9gdlc1a94/uvv87LP/0JzVr0LhcvNnz++ae4dHEPvOPPNw8JfTOapRhtcN5R1+KUXFUleZbx9FNPsW5bbty4wcVLFyGxFYZHfKTJlYdOCMH2Obt068HQYvdnhgNJjTiRIJ9bZqFKiFL6uaBHVqBzgS+88ALz+R5t2/H6T16XuJ/BCVRtnYl337cUuTGFmkfeeudD6tZx7dbNsfHto0smS0PzGFluaj66fUd0OU2TzHi2FGwfPVkpUWdRRVzS8iujUAE2m5pPPrlL7yKujxijeeXV17hz9yH7i4p6U3PlymVCiKzXG9htbHeQNbVLgR4+k45SNCZKQtQB530qOAeTJcW0miQpxtDwilY7ouU+6wNGi/kT2mAtQpeIWRoyeZanZxwsFpS55erVa0SluX///mhi13U1zgVc66iqKYvFPsE7MquxmWU2m7C/v+DBg/uJDuXY39/nscce4+zslPv370nwPcKiMMoQgqaazGl6x6Z5yGbTiD9A0oKDGqPujNbElC+utebwYJ/DCxfxRE5efRNNRkBTNw137tzhi1/4Em+/9TZ104jBSYzyeUKg6RzGduwvFnzjt/8q3//+98kzzYN79zl+eMZ0klGVmQDnRm2bTTlyaeolf/ndb/Nb3/gbZEZJxFuR86u/8Q3+6A/+3zgXtsMWLRJSawwOQW7V0DDpiA6JDRK3jd92GQzNbzgng9gyKx5p4MZ1q0a9Gykuh7jVyw8zoHGtEZMWV0M0CSVO+uDE8BCZQEAF2fNU0s6rgUrqPcE7Nssz/viP/iVf+/ov89IXPsvf+p/8Xf7FH/0hd+/+LBntmB2DuEETn8x2EroYlNyjJrk+heQUPN6459gfO/pTpWXdPzL00mnvGYr5gVou104kSIOJy9DYqvFeCjuvs6Uzb5vk8+j68NrD0Pbh0QP+6T/5Q3761DP8+m/8GpcuXeDazZv8rb/7d3n9lZf5iz/9EzabWhg123HUaBqjdiKzBgq5uCBvXYvP6+qGQe7QJCckWicEP/r07MFkZruOHj0DhDVGOj/9Ocq3H+ctwxpVqUkS858XX3iOGzevc/fePd56620+ePc9bj15g+tXH6d3npOH9wmhE9RfR7IiH6NVxBxQ8ky1ssRODE09ga7tE/tDi+mm6ui9EUZHNCm5oiKzBcWk5MatG8QIbd1w/+49Th7c53Rzxtlqg7GWK9cuoI2iDBLJkmVJhhQDXdcTk8HoZDJNhqcBE4TSa7Ic70Nyutbk1jKbVkyKir6VdJNIYFIlFpwXkyZ8GA25BnS6LAuarsOYgt55lssTsqIY6xxvAl2I1JuWum6FeZZnEhUUIpW1TLKM3BgyJdp5owUU02brmh+V+AX4ID4TRlnmM2nu26bBuZBYNtCsaqm5s4zgo8QVOpF+5LkRZ2oX6VtHvakx2jKZzZhNq1THGyBSNyKNs5lE5kS/ldg0bUfnQvruJaWkqYVVZFJcaqbBFFY8VYpcwLlhmK61AEwxiI+DtbREphNLWc2xuRHPEe8SXTjStTXlpMKYSAi9mPAmffFsPmE2ryjKDB86nBcD1NWqZrXesN7UlHkhEprJDI1K7EHIypyiKDi6dwQ+0PeOzWZDlklMlEHobK7z9Lofmb2TyYQis4Sk41WDoaIRSQJA50VXLW7hBmvs2N+NFHZkSDF4GXyax/+IuJ8gGteyZJOm0FmWEXy/1UGkzbXvOpQxVGVFWy/pu47gPdpEtAmEAG3dU2SW6aRKk+6ttqkPfjQakhwpPzrqxiiTpNh3tK1QssxUy+Slc8zmM/rEHzcjyiWNctM0ONcz1xNsMhkKrkcDfSeTkCwTbSdeclujkzxco+VLtrmYL8nE3bBpak5OT6RgN2I4o5TGuZb1ChSe6aWL2MyyqddChysLeu9GLU7v+xF5Y7RFV2mSlpxkB42C61BaXD2NN9R1jTEZVcrdtZkgzrnJBMEMkWk5xWhHWVR0TjYF30scUdf2FHlO07WiK1BCibXWpgJTMsryTHK/sqQjUUYTaWm7lrqphfJrM3yoZYofA4XJt1QoH4ha44LDKp0c5uLoEGpsRtf3KWtOUU0mo7nA8Bqir2zRiMnEyckJ8705ZVHS953c4JkU5z7KZHDIYCShQMM0vSxKFod73Lz5GJNqmqLgIWpL3XQ8PH7Ivft3eHj2kN63YLxQKZWm7z1llad1KzrD6SQX1/AgrnyHhxd48tZT5Canc1vTkJiQ95DMaAb6qeh4tw6dw6R+RB12jnhBlNLSSLQ2lRo9iLjekdmMsqrYm+1RarG190oRxpcbNGrbzULvoAVxsJ6VVAwMkRg79hczymqOyXP0yQmr9Ya7dx7w8OghX/jyF3jtJ2+AEaaA0qKdmExSg8I2NicSqZsWRcREjTYWbXIuX73OresH+K7lscdv0DWDxkrWret61gmhvXjxElprjo6OCFrxne9+lyuXr/H1r32F+Ejm2W5Rt1tsb01kUsE3arPitlEcvjt2oorYKRB3NHzpxdI/UzkYZfL//IsvgIKPP/mYO3fuJKMU2dizzG4discf1ul71qA0J6enfPDxx0wu7LNOSLYPPh2AQhlXiZrlesdyVZNZKwZ6SYsWoxjG9L7lw/ffT79pMMxKkRjJ6M15YS2s2prFpOKT25/wL/74T/nWN/8VVy5f4P/4f/jfEwkyhNupG2MaYOrBaGssKn/e6TkpsHDJ4ZGdCBZjjNSzqREcLu2QL6mNZjqbUk0qlqtNygus5XlazOM29YbNZs3pcYO1hul8zv32lNOTE/YP9un7SF23zCclfjbj3t3bbNYrYnCUlQxA7927j9aKorBoFbl95w4Pjo5GvVLXtvS9p7AF61Yih4L3RC2NwGw2G+/eLLNSrKYz1Q2oVJThQZZZysmUg8UepbW4aHBR/AS6Ttzzn37maV595RW5vlERo+bD93/G4YUDfO9YLVdcuXSJ9XqFAu7euc0Pf/hD/trvfYP1esVibybnrd6luEqjdPf2bV5/9Ud8/ktfkUYzOC5fucyv/Npv8u0/+bc7Jk5bV9ugQXk/7icxDgjtsNNs/2+Lzm7XAOdVoY+43rL9+x3X9LjT8AxP3w6B0i+MW4d2vSVkpJ9RaB3xfpstHdL3tUWLE6qYBpHL1Snf+tY3OXr4gF/99V/lb/+d/5h//kd/wIfvf5Di03buXS2JI2bIs07XJ+w0qIMm9NEGf9yvBpRXCd3d+/BIw7llQsg2pEak8tE9apBS6OSRMsruz+1/8fw9OjZ4gx513BlFt9g2vPH6j/noo4/46i99ha989YuUVckXvvo1Hn/yab7/ne/w6quvitrTqLFOHNbHiGAqIY8rdve/ZIY0fMdbkfL274eOHcS4SQ8sI0ZpynDm/5w8Lw7N789v8sM6HM5etcMqMEaz2Jsz35tx69Yt7t69y9tvv8X7b3/Ircef5vq1m/RhyenySAySxAsN7xMynVgWaS6dBguGPC/Iczmzuq6DNGRxvkcrT9v2tP2aPCsTjVrq62pScOuxW8yritVqTXVyKikXG6nLu6YX7SceZz15npFZMfsyld3W00RcCLIneWl0Z9MJ06oiFrkABn2Xhq8qNXdqZEMK8KLQWcZqs0kRO06+24Q+DsOVwTcnzyVnWyUWS5FnWKeoipIQA5U1VIU0tWWej/48wv7UCawQvxwffcq9HXJT81SbihGT+CQY0cen2mpT1+K+bTKUMmTGUOYFTdPSNx1NI6zBspyI50JmZRCR3J6dCxgj+apVVdG1zZjz2/c9dePGfXCQ2oQQUQTKPJfeZWC4hIBSwjwVFqgAJy4lQFRVJZm7TlDprm3JshyX3L2LLNs6dIfAwf4+zgearsN5RzUpWa+XLFenNLUg01qrMQ0lN5LgsqlrsjxLaSxiFuaCp207jLV0vUuJJiG5azustmRZLkOTtqUoSzHmbaUXUKlXFEM1hw+OupZzmsTizfNcdLfJmEwKVRmye+foA1iT82kfn7qxneR5go0jznsm0zmXL1+idw2r5ZK22SR9W8Rm6Q1iOTw8IHpxGB7oB9qLOYaOMq221uKDou1Fb+RSjlO0UdCxVv5pnWK5XNJ5cdrNMkueT8hsLqipEaOCrutHI54QXZoPy+8XWrNM5yezgrzIxAHOKtBBaNDek1nRDUrBiViXhx4XgjhdGokMyieWamap6w31psP7iHOWECKTKhNNMR5Pz9lmDZtAVJquExSyLEryLJcCNTW4pckgBmxUFEkn07YdrR/CjAWuLxCac4yCuOTaUJQZfd/hA3Qu0LYdRVGCstRNL82UcagoFuOud/g+sN7UFGXBxIp7aGVzoveYTLQZLvqUySXPN1byXK1VNF1L8OLO2fkeWxZCtUn0U01kvVpRTkrJ2x0KCCPTXN95qklFDA4Vg7iGGo1z4lTch2SkojRFXiSjpZ5V09K7ljzP2ZvN6LqG9eqMaGFWzVAe6qZGdZosbVyTcsKFxSHXrl0jK0oIihBUmogrluslRw+P+OT2z1jXS7CkIGkZJrSdOPi6rhMUNASqskIrcacz1nL9+g0O9i+Q6QIVJEvZp7gFMZjQTIoqIaxb7c14tg7Oq8m9NCTTl6GUm0ynaSOJnJ2tuHj5gBDFCE1ok2Gkb8ync176zHO8+/E9zpzDKFBxez3Hxm6YoqdByvb9yHDo4HBBOQkc7E05O2tpfWDTtvi2JxydoCL8mz/+U5Q1GJORaTl4N3WN73t67/HOJeM4aVJEayVaSZRi0/a89uZbhHiLpx5/nKwo6fvUqCjF3Xt3uXHjFl0ndOTZfEbwkk9sJxXrdc0HH/yML3/5i+iRbfdIDuz2Ko+ffTvVH55PQom3Gb480gAyFNshni+QRiRciqkQxYzlqaee5uq16/gQ+P4Pvy8T55CQnKQJ2jbcQwGsiAjlXZuMT+7e5+HJCS988Slu3789vrZPEQAh6deHIWPX9XSdk7eU0BFBC0XH3rkgObPaoG1ii3hH28m9PGjTOt+i8jn1Sc2/+Ff/mksXLvB7f+136fqee/cecLJc0XQ7BlJRpRlQOpzG/MrzD6WTUjJIpEQcJmlpoW8bWy1u9gxmUU4yxROdKSpF73pm0xk6nhHG1xADEpspZvN9og+4vie3hvVyxcH+ARpLvW443KsSY8ISvThwbtb1qC2ySSsYohuHbJcODmkbKQK9D2A8mZXC1DuHC9J+5aWYAbb1hhhkD6gmJdPplPsPHuBjlKI2RuZ7e8wXC05OTpmWOavaoTD4GDk+PuaDD97nmWee4Z23Stq2F6OVAG+//S5fnn+JddgwKaWI+fov/zIPjo/56U/fpG0b3nr7XSZlTjWZkycd42AOsmULeF5/7UccXrzMrccfg+AgRp5+7gUe3LvLG6+/mozRwKc1rtOwLiopcnddkIfmYEDG1NDIPXI/nqcu7/QaO/ue/IVJFNt4buAxIsJKED2dMg/jQIVOOnd2mBnei2Zep0ij6LcmREMRKvTUpOMjULc9L//oB3zyyR0Wewu0KlA6kyjAoalXyVArNWpGJwTYC0tkuD/H6B1ldiQQ285soMkOW8rusGB7PZLp3PgzW1Om3b1NJCoxmXMpodqGn9/rUSHdbzt7ZhoUqKSDDVH08jo1qJuzE779rW/x/nvv8au/9is89sRj7F+4wF/9a3+NZ1/8LH/+p9/m/v07KLpEzU0MoORyPNLAB9rxz6HFwx/vrhl9rrGPSVM7DB6Vls82+EPEXyBH+fkMYbUzmIk7ayUmwbGwouyQaa0Vj9+6wWJvyv3793n/gw/58P13uXT1Co8/cZO8zDh6eI/j5T0gkuVG9pHke2D0FuGTkYxJDDZxiNYYmrYhIkkLKEWeO7quo8pLeleTZwWTcs7iwiH7Fy9wI3jatuXk4SkPHjyg6xp0qWVP67ZAT5ZlOC/mn23XkZeFGPBZKw2uD7T1hnwn11UrzaSqMFpinYyxcsW8GL/6zIjJJp66b+m6NoFVsnfazLDY26NpWpqmJugerRS5VlSzCdrYkUkzGBIWNmMofgb2j7ZWYtJCILci5YkKrNYoK9+385IK4pyjKAq0lpg1T8SlXN26bSnKCpXeY9v3bE6X9K30JvuLBXlRiDNz1+K8MOuck6FBlgtSa4BuU7NpmxSxp1hvpAbXRkxXq7Ii5NA2DZnNEr3aUuYFru9ZbVZjFrQL0sCWqqKqJkwmFZpIbjQmrc+zTYvvHSFKbzWpKnrXi3N0mTGdTET3Wkk9f7pa0rYdMUKzaVBoyrKgmlRUVYVzErE6n0+JKrBpRNrYuZ62F9lM70QqaYyhSyaKIUQa15FlHUWWCWiUCzPIOzF+DIhJVxy0SVqNA56I+AzNpiIrG+Q9BDUmIKBSBrR6ZO/79zw+fWM7rYjAw4cnbNZr1puapt6gTSTLzDjdzwuZpmS5leMkGWwMh5nWBmUsxsr0btM0QlPNM4KSwkqFpDFMm1PX9cQQado6US09zouWpmmaFKoMZVmgVRw1wN71cuMZM+oQlSbFEUmRE1XAZFrceGNkWkjMipzHwpnvB81vGDjt4mjZtz1ZadifL9ibzagbybDt+14oDNaS55YQe5xvJdojZYSSXr/zLVHZFFEk8UVay82rotB2s1Iotpu6JS8LmTx5Px6k3gvqjBbKi7gBK+qmpm17etejtCVGcN4Qo8ckkyuVckFlA5OfsdbitbynruvEobl3FHlJ3wuyjZcD2lqhZfR9Jy7V3o3Xp+3dSN3IqxJlBFFyXvS/QzZXRExwjDEYZcE7tDL0XS1TOD1QsRFTqGTXL3EgHkVgMikJOPquB5Nc+QamgZZM4f29BTeu3WIxX2BtgUubIyrQtj2nZ2d8ePtD1vUGdMTkCmUVTSMHQJbl48EXQhDcOCSzKGvEwfDwEhcvXhIdNhrnxfnPGJMs90VvPlBx9I6JVGRrlDFOx1POZ0zuzgp44okn+Jt/8znefPcDnnvuBW7cuppc/eQ1u64dXYIX+wsuX7rGvZM1ZyfHo45s6CC02i0mB7Rs210YIw3Tf/Ff/M/4G7/7G/yX/9V/wz/6R/8cXRaJlVGikmQgeKEuRquYVYVkan5wymrVgRZdhdJCN1FakRfCDJC1J8XdvfsPZaCT7XH//hnz6WQ8/LuuY7lcMtuTfLWiyNEpxFv1lhgcnXM411Hslis7Tpm/yIRlt7AbaGi7NVQIYoIyPmtodpWYcyjNaFwmFMQ4Ak8xFTGfee45zk7OePDwiA/fe280FhkO/6GQGqnCPtK0Ql3LigJ84OjhKUpb9mZ7HH98B60UX7pxhf/qb38joRc7msYgBegWHdoWuMP6ijvWYVob0f9rNWbfjhTEGKnKkrZpmE1nXLp4gRf6DUd/8Ad88sEH/IcX9nnM949c71QmxgSXpZ5/cFMU87Tk0qjCuN6GBomUebi91mJVEkd395GdOEZsLBbz3Y8orIC64Wy5lPgtbSjLirywnJw85NZjN4US3HVEpdk/OOTs9ITT4yOsFV14ZnRifkjDajPDbDZDoSiqiqigLHPKPKera7m/iwJjLbHrpZD3gcxmEpcXPFEFvNcsl8uUpaglizBRC2/cuMlLn/0sr732BusPbifUR4ZOy+WSuml49vlnee3VH4t9dRT63UcffcTFC/vs7+/Tnp5x89ZN3nznbfq+4+zsjG9961v8R3/zb3Dv3n1u3rg4atE9Hp8aKA3E2PGDv/wuFy5eYjKt0n4MX/jK1/joow9Zr85kzQ/aweS7E5QatQtxoIKOwU9xRHjO3UOcb1hGrWgczsidqKzd7za52g667LirZR2sc4eXUWzf1zjE8qNR1bk9IYql+zCHEVR1YE5JbI13HffufszxvXtkmSHTGh/1TlM6XMtdQ6lt3wbn96K4izZvx20jI2cXTR35Ntu53Pi5RrbNDv12e54MzbxIAGI6W3avCUoYFDvKii3qG6M0smNUx/D7FBFP3wfef/ddbn/yCZ//4hf4pa99lYPDfR574nGuXrvGqz96me99589Zr5aSlRrFwT5oRTRafDyS3nnUGI9m7mr0Lxi+7zFGZyeXd/y+hqu48/NDXNWA9Gs9OCqr8drHNPTb1UnHuDtZUWmv1COaHU3k8PACe3sLbt26ycPjY9778AO++xff5eDwMp959hkODg64c/cO6/oMlafhNlsZi081StPUibUlQxbJYZW1V2alNALeY7WmbddEHIrAOgSMkkhHYw0TO6XIS2bzGScnx8nI7pQQAvP5nNm8QmnLZt2xXImLepkXwvizlrP1Un53aryH/atMCSJd54ViHUOSskhSQ1e3yQCzoK5r8ZBQntlsCsl0tms7XC9g1pB0kpcZWV7I2gpDFquwDTNjIETWzQaDGfW3fWL4DMN4a7NEb5X93HufUhPi6O1B3JoU6hRP5HqHttL0Nk077guTqkzGZwEDFLmg281mhTWGSVkO7ra0bTeuyHq9gZCjgmZSGJq2pchLQTudg1xq+aosMEbSTlzvZDAawebi1tw2LZk1FLnohNtkOGW1DKSskYFDZjVFlrG/P5XmvJXX6rouSb88m7pOCKnQiycTaSJn8ykHBwuszVivNvg0/BO3ZnFobhqJMp1OptRdLb1VZjFKY21BQOrbtmlR2JRWkVFkOXZ/nxjFz6jvW4LvCCqiraaYVOjWJJOvZPqpZD1YNFErtJK6KLMK1wf0/z8a29PlGmsNRW6ZTUqiMhIhoDzr9Yq2a0CBsWWKMkj0BGXGg8/7kExlRBistcYWUiC3iTNvlCU6TcgC6EDfB8l22jRiHmQtJP1I13U416CUYjadYE1O6HpsaqSjF11qlll8cLJItcZmYtTU9QEfJdjYKEFum7alSnpLpcTUh+ho21qaKm3xTgKZne9QPpKXGSgrVIEAeZ5RlsVW/5Ka4qqQ4rBp2zQlUlijcDgKbciNpfHijpwXOSoZIwXnyYzF6hRtZGXDzW0hOt3gCdagjMEo0Wp2XQ86src/o+t6jNK43rNan2GLjCrP6LuesshRWjExOeuupnedRBWFgFGGpm5FzK0t08mMrrM09UO0kWsg1LqAtjLdsVYQ7irPafuWTd9RWAmZdsHR1i3LsxUHB4fiJKcUk2oihVGI6WbNiCFNNK1MeIQ+3dG3mmjErEDcPRXgWG/O8FGMxowyOCcifR0Vs6Jif2/BE088wbTaI3jJwPUh0LueVdNwfHLM3TufsKxPiTpKI6M0wYs+eDadyxAhRrwXi3oVFRZLlVUc7l/k+rWb4CWHxDtP29cJLReNlBS9pWhpRoOJnbBstT14B8QphgiJkk2UTfbowQPefEvyRJerM46PSw4PDinLUiamzov+LgQWB3ssmxWXr1/h45OjhCpuTa9AJa8Odb5AUFLkDSZSRVFS7S24cuMmRZYOEaMpS6GgtE0gywzXr13hw/ffRSuPdw2ZkSDqqHVCC6SxzbKMvLBUVTW+765pWC87PvjZHbKsZLE4pMz1SHs6ODikabaShKqqMEbRNmsxKPYOmxmqKt9Bcn6x0+juY6srG2hWu1E/ZovI7jxGDdaQZztS+3YKviiaSq013/w3/xqb/7nk5DW1NLFK4VxHnk+3OkFEY//Nb/4Jb338gIjmytVrPPfCCzx4cEqWVTTrhnXd89rdI758/TL/6Zdf+LTb+M89hjU4ICi79bJKTagfdG1D/as13PmECrh86QAuHZAldPvUOc68ZETLEhK9UFSSITlKJJN+XKstQj5QB336TsRIjrRezegkO1BH5c1AUWQyrDMm/V4FCS3t+350PFVGKFR5brh7/zbP9c9hs5wQHG0fCa6lqAquXL1ImWWiIzIyiEOJ0QjO49qWGOF+vaH3jr35lBADN65dpa1r1psN3XpNiIEsRVME5yjzDOeEseJdjw+iFQ7BizwhBNZ+xY9ffZWm6bhy6SJ3bt/HbwI+UfoePHzIx598wosvPMdPf/pTnA+Jpqm5e+8+Fy9ewAfRbG/qmsPDBdWk4IMP7xACvPvO+3z2pRdoOkemIyq4kcI2DNkUHUcP7vHD73+PX/n1/0DilVzPZFLyq3/lt/ijf/qPEqKk0/cZRPumthEhyWFxbNJ2G9JdPfuj9+egcU8d2vCnW43tEC+kUp78zrokbp25x+xkVGrK+nNUYWn6tpnWgtzqc0308N4H99dhv3Qu4PqWaBw+mpQLaZI0wO3sHSlmb2dL3xKpEzMjRsJ4xyXZUbpGQiHesmp2r13YIRJv6b1xJ993S/mNO6Ze3keknx2QyPP7Whyb6GHwEMbr7/15ZgtjnNnwT0vbbPje977LW2+/xRe/9CU+99Jnmc3mfPmXvsYzzz7L97/zXV750Q8IwWGt6Elb7/DGSHOrt/uqiiKd0XHLjBkcp7cUdtHZqiH2LXlxxCgNgtE27W1hHP4NIz1pdrfUeaWSV3La28MwlBk8yMJ5p+OhQYoK8syQZ5aqrLh69RrL5Yo33nyL7/3FXzBf7POZZ5/l+pUnuXv3Nk23xMcem1sZLCX0d8jOFsRZhg9qkGATIPjRNE4byf7uoqajxyqL6xuKosSYjCIrWewvmM1nbNYbZtMjjo+PRW/a92RFznK1xIeevf05RVkQYqBzfcrSLSRVxItT8mKxEC+AENCpSTNG3MeNsRAlt9tFGdRpa8iNHr8Ln0xcjTGUc5HNxRSHRYjjPu+R2lWlTN6YIoRmsykRqOuaPM/T/S354MYYVJDX11buucxYie6KsF6uxNQvz0cdafCBaVkSlCGgWS+XIuHKNdPpJMl2xONFG4Oy4sBPMonMjMF1/ZgXDxBcxCpFXonfS5ZZFrOJNJebmtD3TIqSPLE0m2YjsTshsUSNxSDa38lBIVTjvscnzx1pvGUvyGxOVZYUudRVRhkxnnXiUbM8WdOm5rbrOqyV9zOfT0X3n+RTbdfjvNwPXefZ1C0hGV3FtE8UmQxN9FwG9WUl9HBrLY7Iul5jFnuooCjLaowBraqCgBcHZKfwrt8ae2qFKTKMkXg1qfHA2ALlk4Gf0qA9PjgyC9mn94769I0t6YaPSlNNJvROFqnzjj5RDIuioCqL0R05RpjNZri+w7k2OfPqpGOTnE9rxWbadT1Wi/mNsYY8FmzqNX3v6FIwdERL8xplet427ZhLGkKQLLWB6681wQt9dG9vQec22FxT5hkXDhZEJfbqIUZMjBRlKc1q18tCDoO43GOTzbRSiqoq6RuHdx3WyEHYtb1oW6OYYFmb+OReUBOtokyybEZHQ1PXtG3LYn+ByrPtseYjmcmSKEiikGxmU8i4TDj76FFaGlqVy8GWWYN3PS2CDtnk1ha83DBVWYxaIu0VzabGKDHnijZjNp1iM8XmQY1RcsBE71FWst2ajWiqj/VDcX4W5ymsMiMdQt6HhE5neU5WZDSNE348EI1or2NCv9q+wVpLWVaURSkbn+9kUpkcb0PScw165OADWtvkLCm5wToT8b7veqEoOj9SgrOsYP/ggOtXr7NYLCTr2MlB3TuZ7D08ecidB/c4W57SuwZlBrTN07luvOEGdDv2YkYWnCc6KCcVV6/cYP/gEKszrBEaOl40vYP7qbV2bOSN2XEO3THy2O0qxqIkxUXERBcGePvtt/nJayccXLhKW3e8+cY7PP+Z58acaZDmu20a9vb3uHLjCuX+BX7w5k/FmE3pEaHbcrm2eqK02NO9Je/htTfeYXHtZe7cv085m8jENmXXTcoSaxQXL17kf/2/+l/yf/4v/0/cvXObvk30FJunxpZEpZdJZJZZrNZoJbqT0TDFKMn+vP0xL73wzFgEX7lyjclkOhYjZVVhreH6jVucbmqee/EFLl68KCjz9mM8ggzFsSQ8r1fTI1o9FnRKPYJox6TZkuvmnRt1hrskOTVqldWI3grVpx+prQB930nWo44pY1F+3qdcvrOzM1brDUpbLl2+xtGDI2KInJ6e8vDkhL/3f/vvOKiq8TtUqfmRAm3I3E3vP2XloiAzVibhEa5dvUzTNJxtVkStaRopFAiRw8WC/cWCd999d/yAmcmpyoKurwltjVUwmRT857/yVf6zF1/gWyfHnLo+gVxhx5FVj3nZalTTJYqm3jq1DtpApZQMr9ga+gzmZ2LPNlx3TVVU47BEvrrByVXiHi5evEyRZ5w+fEjTr1mt1nQucHZ6yuHFS6JF63qyzDCZzlnMZqxOT8jznOXZqRQoiz18cDR9S9d27O3tcXxyKoOWvkWpQx48PCLPM6pJSdM1VMlwRmvNbDrDaktR5NRtzenpKcvlGqM0i/3DMaLm5PREouoiXL96hZPjM95862eJ8WBQynB6siRGzRNPPsmbb7wzUkp9CNRNwzvvvcMTj99itV5z7foVVqsVr7/+FvuLQ15++UcsFvuYJ65xsDcR05fgxECK1OilSv7dt9/m+o0bPPHkk5JV6Xqu37jFF770Vb7/3T+nzOzYAAkrK2GOITxyRwyu/tvmjp3mYPexbXJ3kNvx7wLb1ZMan0FEy/beTsG6qQmOj7zuzuuNQ6jBTGgn6z15x8lOMLwuySlbmisXnJgJBoWJGmtFAybNrdoirgNdYSfLdtiXVJIT7A53ZJYZdhDJ84h2TNn2u/890nl3emQSMrmL4KZv4xz6u/2k25zVwZhqu58Nz1FjPvdowBDTNVPD5w48PDrim//mm/z09Tf4pa9+jSefepLZbMFv/c43eOqZp/juX3yHO598vB0+BJE5yfku2sMdPFsafWLK3N2+X0XqNce1lGiPURIxYtxylOLA2ktyrvFa7lCyd4cS6V8GIjs4OdPVTozS7r41ZPbGGNlb7PHVr36JZz7zNG+9/S4v/+D77O8fcPPmLfYXC45P79G0q5TBK+t1YJbtMocyk7LZUzNrkuGg0onBlRg2UXuC6ugjBC/yE62l+djb32M+3+PmrVus1ysePjzh/Q8+ZLVeUpQZzbqDoCXCxyjyrEAZRZllQvMd7qmRgSY1cvROIlxy+ew2yVmIUFVVurYhUcJl4J8ZQ5HZZAQmPQBJYiJaX3kMHjjeeXTqGYRZaJO5n6Hre5EKJjbXkGmfZRlFUYjDct+LtEZpvLf03tFsmsSas9TrDauNMG32F3tMypzOp3M6qZl1qieN0pR5IeCUdxiVpftVIuLyXJIbUOJxoZRJpl2GoshFp2osdd3R1CmfPfmqZJkwejIrMs68KGjbVmSFXprB+XRCXTfJTdpQVqIJruua1aql6+XczbXBWIONFusdVTVnNpuSZVbQbh9Y163UwX2gaVb0Xc9yvSF4qdND8EynU+azGVqJ0//h4YK2qcmsRPY0bYtrG6bTCft7B3Rtl1hnmXh0BPEBKcqMUmWE4Gm6ThypfUAr6NsO7x2Zktq5bx0qKCwRk8l51Cdn7Dw775vy73t86sbW5gU+BFabNdPZVEKVN2sODvbQRsySjFFjrE1PxFhNgrBwrhctK1rsnRNlr8hzskLhE40wBglM7vt+R2xtyPMKYzLyPKfZNESPZHwZg1YRqxXeySS9zCqsMUQtTqMxyheTlZayyLFFJltziIReYPvcSONpraFpxNXXalm4Td2gtabveubTPWLuaZs2idUNKm6b2boVTaBWoiEVF7eB9tBT5AWXDy+wqTfYXJzQjBZ3SaMAxIq88x3eazZNzWRSUuQ5e3tzzjZriS5ygWgdVZkTEx3AJSSxaRusTjz7vqdtHFleiBuZFmt8KWTUqPVwvscaw2w6TQtjqGQzpmUFiBmACorFbJE2V8XDk4fkRSE5u0oQ1Bjkpl/szVimEPByksTvPrK3mOGDRJScnJ1htSZPDnVKCT1TK83B4kAKx/Uakh55mJhL/IohBuiSzrgqSlzXYdAczPa5cHCZq1euJ8ffLWPAB8/J2ZLTs1PuHn3C2eZMtADap9gKoeCqyLnDywwarQhVVnLp4BIXL15mUs3JbIGKghCFYbKdyu9ho2WIjUnozFBEhODGAc1AihIqtdCnzjnMQop2At8H2rpN2bOKMrdYq4hBIj+aZs3161dwIXB8dir5vUphlYVB32OSFjKcb2xHOhZQTiZ873vf5S//8ruEEJjMqxRtYEcNWmYN9+/f4+///b8v8THei7ty1MS2T+YlcigHHShyy2du3uKjj35G325Gt0btPNF5fvb+u3RNyzRRkQGuX7/JyckJWSbX0lgxTLh24xrlcsnTzzxFVZWslsuErpx/DAXBUAw9SoccnFBFj5cYA3qHyjc0ZJoUwRHHxuu8CUsqBtN00hgZEDjnx1iUGAO9aymKPDmZbt+n1oqjo3tsVkcQFUcP7vCX3+/Q1tLXG957912c63nYbLh3fERelhS5uHKrIHtPUWajQyqAx+OCp+s7rMmoyilaaT4+2ySkE4qyZL1qx2L17vI+8aP7VJNqnMIUtuD20TGTiSG3itsffshXvvw5Ll67DICLQo8bGQcxJHmFTYNak5CpgU68Rae2UJ0U0hLXkCiEidIrLBgS0ikxHSoKqjqfz5lMSty6Jyor2tQgOYFVnnOwf0CZW/q+44233uXk9IxLV67inObk5ISbt67iejHDO7x4iScffwytFWWZUzcbNvWKGHuapufowUO0NSz25xwfH0th1nX0fSORUwQpEIGu7+j6nnVbc3h4gabp2V8cytnT9+zvLTg5PaXtuzEKw2YZfed44vHrPHhwyp2TjdjrhMjR0TGvvvpjXnjxOd58422MlpSTCHz0yScsFhOm04rVasl0almvVzx26zqrVU3wkdd//FMef+wxTk43HB5MMKnBShB7uu093rf85Xe/w+HhBRZ7e3jXgu/44le+xtGD+3z0/ntylpyjejKiWOw0U8PwWQlV5Fyz9fP69wG8HJgPw3PDmD8qpjNqwAy3yDCydrV0lCMR+lFn7vHfVcpVT7p2GV7pUfYhTW6KnNqJ1TFGoWMUGYQxwkpopai2uWgEhzU9tmJaBsIwRL+QzhV/zoTuvCvvIOfaurSPw4HRNWvns/2CS/mLPvfQLEqTrXf+fFdfzLl/HwYH29+hxvucdHINQxHJFnV89LMPeXDvAS99/nN89Ze+ysHBPk88+QzXbzzGKz/4AT/84fdYnZ2Mpne9E7bHgKgqUvpPcsjaal+312IkOe1EHIVBnO3deO2Gc1yoj+cp6IPsYlfHrJN7tdJ6jAcipVaMxlc7e75PI5AhhjAEx8ULh8zme3zmqaf44L2f8erLr1JOK5565kkuXLjGg4d3WNen4iMSPZNKKMFKC8srBI+xQtEcjRdTEyysMdkvyBRRK1zscCG50EZDHy0qajJTUEwqTJ6hbUaIkfVmTd3UrFctzUaGEvsHe0xtjgqCQDZNT1EUo3PtuK7xoy9H7yRqUA0DYrWVgg1IbZaJh0CfTF1tSgARlmYyC1SK3idfFd8znU6weZYMmxxVVZEZPZrRWq3Jily+DyN0Y43BFGY0nVXA3nyO9wHnxDCq63u65KYsEpYZVVUK0zMZaA1xdSpF4Kgg+L3VmjA6e1uIkOc2vf807EjnndY6MYK2jIDNpqbrBO0GOeNsnpOpSZLoZGw2tcQYJSlPnnTDmbUU85l871kEAnW9kef7lNubGZquI8sTc7LaOlAPuta67WhqMW/tXWCzqWkboR4Pz7NWhrllWRC8AJdN21LXNfNpyXK1pvc+NeWSjWszhUsRpYXKcK6nzHIiXmpvDRkW7YVVqJSwZ8kKMpPhncd3DmtkQK3SPmiMHZmDn/bxqRvbe/cfsL9YiDGUtmSFEu6080ynM4LP8cGNqEemFXluyW2EICZMOuV3xV4O0dxKo+p8m5pH+QJcohVYbQk+MqlKJlVJ33nRpXYdbdeijMJYhdZCLwu9NDl93+O9p8zzlMnUMM0rXO/oTU/TNYIY5pLPGoO8ZpEXSbMl5ifO92R5hs4MRbDkylLlBaZQZNayXq/xJLdBJMs0mpygBhJL2FLnUoE2YBVGW9FWeJnSOhVT5pjG98MXqlFWUddrrJaGpMgzeu/JikzkVUMubCYi9qZpyHOLa3uxey8K+k6s5IssJzNKePODyZZRaM04Feq7nizLMLml3tTEZK9ujSEQ8CFSTSYSKZPn1F0nRY3qOT09YbG/j036aq0108kU79dEHyiyHINMBoOTTW1WzIQ+5MO2ePByeKw3G4zRFFVJu+yTG1tE+0hTb0AZsjxDpY0m+MD+3j6z2ZTDgwvM54doXcr51juc63GhY7Vecv/oAXfu3qGLG3Sm0warcC7RgqMY+vikw+17j1WBTFk0mhuXr/PYrSeEqhrFdbtrOlwnUVghyOaQF0XSgOuxKILtRHygX6vBkXe4oWHcYM1QCKZmLc8ztKrxrme1XHJ46YJQt63Q251zBBdoNhIH9eDebV57610mRYmtStqmE1dQtaX8qaHjG1CKRD/1wePawMlRTZGXTKspoGjXm+ROq2mco+8avHO8ef8hKE/vWhoXk6udmOvEdAhHHTmylqxp+Z1v/DY//smPeeWVV7DJVCGkfOOpMVy/fGUsYsqy4E+//ad89rMvUpYZdz7+Gc71vPPOO1y9dQttzM6BujWVYSy9JIZklwa5fezQIhPCOGalPvLckGJbBmQnJnOvAR0dCuCQ2AfWZgm5T8UXccxI3eZ+bndtazN+73d/my+fLjk6PuG9D+5w52jF3sVr5PsXhOlirGiWXC8MBiVN4Ije6hSBMRR9eizxJeoKkxA2M+7ZwWiK/dl5/VwElSbxPjh6rcmqKdevXeRgXvDw7ifkmWG30oxBftdQiEn8b2TwQJa+NorcQ6u09ofmfku31MYkbWnS4MY4DiR2v7ayLAdbWBZ7c05W98VkKK3tO3fvotUVykyjtU9MnoyTh0fyXmOQqAnn6b0MWI7qI06Pj8XMr5xQllOaekPTrMeB1Gq9BCXRQOIyXFBNJuzv7+PcXVSQwqne1FJ8dBKN5DpHWZWpEe748Gc/E9p0CJJNrCD4fkQ+qqqA4yXOC0IdfBA3Sx948skn+eTjT2gGH4qmZjoteO/9D7h06SJnZ2suXrzC0089z5/92V9Qr0Xe8sOXX+HFFz/Det1Q5jJUVVqh05Bl+N/pyQkv/+X3+dXf+I3E5HHY3PIrv/6b/OH9B2yWS4mIGnTVcdvkBr9dc0P6c2SLkAV2m9qBYsrYqQxsCHZigIa/2zbTYWzQGBqrZFoWd3B9UljNdr8bBnlpXSk9PnPgdOzCn4OD8UhnTYWvTcynodjvHeACeV7QuJa27ajKIn2MYRcaYiziqCXzQc6eASHUSiVETo/N8fZKjbfa+Adbhogar/T45z/X7O58KzuGdb+IGv7v+vdtA76VUDyKtotCQ9PUjh/+5fd47713+dznPsdXf+nLTKqKr3ztazz55JP85fe+w09ef1X0rkjOu3di4Dno28dM8Ud0xOz097u547vfY4hBmu7klM6A0pJ0ruO5l/aiMUIvCPUzbI3xlBZfjZEKPez3JI+jNLDT2qS6ymON4eDggP25yKHe/eA9Xnn5VRaLAz7z3JNcvXyV5eqMew9uy5lhUjOf3q/WamxsQRDcvMjpnSN0PiVhyPrte6lj274VvxGlqaoJLrT0IRPjyr2CJ2a3CCHSNh3HRw+5d/ee1Dltxyo6AUt6kR9ERJ6mUpRg34vkLLfCTjMDwyCKS3/o+9F9e/DY8T7lxfpAnklmbUzXySdhsw+yJ+RlgTFaUjq0TlnIgcmkQhHJ8oymE11rXhTS0BpDUZaoqGm7DmVF7mh8wBhppNq2Jc+zlJErEoz5bM7B4UI+bys1jBrYFWGbOiGD1Si9T5aJaWtwSdurpd5IcY1lVqC0wrvApl7TtN3IPjRGMZmUYihHxOYyCMuMoe86YTWmoVwkUKbs3G3tl4vXj+9ZrVeJNSY+E4PXhDSsfXKPlnO+7z1dSlLY1B1NJ2fecr3BpyikvflekpHKMF401ZYex2azStrnnPVaGu8QxMCTJFfKrBWPIddSFAVFKay8pnHjkFtpwMeUZ2uwJkupDbJX5Jm4MXcRjLUjQyKEkPwoPt3jUze2wUdWqzVNs+Hk5ISiLMnzjLpJeVhVJhP0IHe4QlxdhZprx9DqzaYmhjYhcLLh913A9bIhVmVJljmsDcJZ1xaVNKUxRDFlyjQlBWjIi5zpbMLhwQLfe07Pzuh7aZLmezPyzBKjwhqbLq7wvF3fj4YiKh0iTdOgjaB1xojrrHc9etxdITiHybJkijTD9b3og4EyL9ABgorUXZM2uWR2ZCyZsSMiCB2udzjfYDItelUvWkKtLb2TG09nhlk2EwpK78VyPB30fe+xXhBhHwKbeoPShr3ZDKcbghMdVJY2CKMVfYxJ7xrIc6HGRUR8P5vvUa9r+s5hM4uyBt8FfIxoRH/RJNtvbWT6ZExOiIIwTKazFADukhucbAxlUUrel7FYJZbrzns0Hq08TQhMywmz2ZzVciWovgt0ymMCFGXFfC7uwmKFLzdy23UEZBJktdAyrly+yqWLlzDW4oOYccWE7PSdp/UdP/v4Y1b1ks41BC1RKDqm4JHkoqiNJQbQljQRtNiouLA45Natx5lOpliT06W8ZKInhu3PZ3lGWZYyJEiZXYOb565WSprWZALmnKy1ZDwS1bZgG8K8FfDiiy/Q/1rk9if3uXb1kGeffw7XNyOVyfVOrl/XUxYFt25e5Ycvv0KxXzKdTlgtz+g7l7zZBKEwyiStr1Dn+7aWwjFE1r6n7VvyrKAsJ1y4cEFWtZMIMKMVs9yiy1zCzaOjd2JOltt8ayJnpIHyMWCN5cH9T/i//tf/F373936Pv/U3/0M+vv0RB4sFb7z+EyZVhYrw5OM3AViv13znu9/hz/7s2zz77Gd45plnOVgsqCYVi8WCF154AWVsuq/DTt7httA5Tz/eZmkOKPpYWI+IiRoLlXFANWQHD02t2urXxoJz16QqqhSHIAV6SPnFzvWjK/ajD6UUe4sFdron2v2Qo/NTVjGj95GsmIh+0YKxPumvTSrcU/GdGtswuK2mPYMUDSLOtXJ44tPn7sNOlM6QxSkykeEgiy5jr5pJdmyE3//93+PC/vycHtIok6jRW7Oo0QAqIYIxNbqkiJKh0BwQkxhlXzOJmif7lx6pbgM9WSmJoJvPZCp/5dIl3v/oLgGXMqAD9+7f57FbNyknGZlReC1UqrPTk9G0A2C5WjKdTaHvuPvB7ZGhr5TIY6RBl32zqgqq0qK0ZEJnmUyovcs5PTkjszlt3WCMDN+Cj5h8GFaJO2aIAbQhxDDqnKzJUEbTejEzPD09ZTotyK0Ufj4NuE6OTzi6f8STT0hjuzUN8yzPVnzoP+KJJ59keXpM8JBnFR9//AlVucdydcIPf3SPJ568xcFiluxGE3uEgAqRgCAvWis+/OB9Lv/0Ci989iVpCpxjbz7nr/zV3+Ff/sE/TgZqg45guGfEwLAPLs2GNGaIv1JRdHiKnb2QdPYNrxHHZpedBjiOw6a0BuJg4uZSJqxIMQZiwKBJiEPky1C1Dv+aItx2Eeahf94+Pw1mEnVw9z4FkZn4FHFHhHqzQaGYTKacnS0pyyI1efJedXrxqGRoPOqHjcTHyVBzhCHHwefwGGZt5xrRncGS3t2Mdvak3QZ2tzE7/5yffzxKZY47Gvdf/DNh/Ewq/bvvOh7cv8e3vvUtPvr4E77+y1/jsVs3uXjlCr/1O7/Hzcdu8Z2/+HPOTs/Gc7LvOqFqGp0ADPULmtrtNYjDoAL5ngZGiHx3AcLWQm/QyqooOUhKSWz7VpKSnNp3AP9hPRijR/aBUkPkTcAPZ4dNA9xkmGrSHqhzw4UL+ywOvsATjz/Gu+++xys//BFFVfL4E4/x5GPPUjennJ2dsN5ssKUhy4ygnKNUJd2jRujvZBE8lJUkUYQ4ZP0KC1Jp6J3CWE3f18SoKfMJZV5ijGaiKybFda5evsJms+bo6AHHx8ccn0ls0OXLF8kKuR6yxzmc88xmBc6ltasDvR7SRkraxLbcmp4N11LMsFSWyfkQIm3vcL3Hx0CmDdqKGVWRZ8JMSxnnIXh88lEIXpB95xx136bh42CutdWvq9Rc13U9svBk8B2Z702ZTqfEoR72Av5oI+zJ3XNT7YjkVULys8wSvWi3XZ/MDidVymmGtm2l10kSjLzIR9NQrQxdU6NipJpOxpi/ru1wrk+gh6yf+WTGdDIhKqmBovfJ6NZjlSafVjRNQ987qSWbwHK9oprOsFYij0KAtunlfAqB5bKm6b1k9waoygmZEX34bDal65px8JbnGV23JkShVnvvqdd1GmR4yqogK8vU32lC1BgD1iqcE3YT4361TQCxxpAZS25L1quapu2lBjMKE8EnWnrv0iAF/fOb2r/n8akb29474WxnGXVd44LkG81mU1zfc7YUfvdkWlJUFcFnKKJoGpU4Dfbek2U51USl4tOJi5cDpTK0ztCmpHcraS4tRKPxSTua5SmrKVM0rVAglNFkZUFe5agigBF3YmMttjRUVTlqEUzIiUqc0zQIMlRYyrIkeHFkLrM8xUzI6bnZrDE2x2rLerPGdYGyKMWAKkZsJo7OddvincfkGURPHjM265RpqCKdalF5ctTTFoy4uBIDbS05W6JLjpikXeo6oQVmk0pgYcTpue1SOHUIibYdUn5WizEZm82aIstoNhuKLEvNlcVqi7W5UDRCJ/boROr0GfuUkbXVRkghHlWGCw7nJUap7RtstHR9n6hDepzydF0jIdtFQVVNZMGnbFejDJ2TTYwI682SqpwwKSa0bYvVFmMzsjxntV5TZnKaOBcJbjh0MpSJ6BAxJlE9o8aqjCuXr3H50jUxM0CKluAdAWj6ltPNGXfu3ubew/toq8RrRGkiWjTj2gAGjaatJdy6LAqKvKTMS25euc7hwQUyW4iGOyp834umx4RxIpUXRcqozc5t7uen2iN4kG58NVJ1Geh84yG8bc4ALl++zDe+8RLf/e73+OJXvkLnHL2TCWZZVHR9YLVeJeMczdNPP0XsG9YPj4hdS+E6KmPItJV4h+Qyq1UmqI3WeIpRW6WS87Yxhq5tuffRe+zN9njpxRfZbDY41wMDQp0LISsKhccYw/HDI4IW99u2Fc2IyjNmswlGwx/9sz/gxs2bfO5zn+Ps5Jgy1+BbQlBcv3YNgH/yj/57/pv/6r8mz3Pm0xnz+R7BOyZVlVzQ0+TU9dR1TVb67VUeMwt3Cla22ZFSWA+F9NY8a6AfD99fGBBD1CCzTYfS7kMOROfkviyKktPlkjzLR9O3oZjU2m7fI+d5hEZZjInM9xYcnWyoqimbZUe/XOG1FqdkPVCuAj6a7TJLTaWPbszlZYgTSpnYOqoUnyCDHz8ayiROiRI1awg+OV73cvjle1y6cImub3BZwZVrNyjsTlDoKJQelq5KqIcGrdmSSUWKMmhn/WCChB4IjykaaohaidvPsoMAKkSzPVDkrDWo6FJIvOgV67rjk4/vcPPaJapKpsBXr17l9Tff52y5lNio2LNebZjNJrRtQ1EVbNYrqqqkrjeEXiJ/tFESo9RvyDJLVZVMphOWZ2d4F1iHdTI16cmG2IoQKDPRbpEkHM77wYJYCgwfU+MvWkBNZL7Y4+nPPM1Lnefu//0f0h9vhGKtxMn+3ffe5+KlS9y4eYO79+6zXK4ATdc7VN2wXq95+PCYWzdv0ncdv/Wbf4W2bfnBX/6I+XTKG2+8yeWLh2gFJjcovDRUakDSA0ZFVPS89srLXLp6lYsXL0KUSci1W4/zwue+yE9//Mow9x3z1o0xBONQie4Wg0SyyPeuk2HVMEyKO/1mPFfADE3bSPUf7sZEazFqaFaS9lA2dVkhKulshz12d+Md8M2hOTyX6P1oCZVYHEPWOdvGevj/oeAOwTGZThJ7xHH58sWRjjnSvROTa+hQhfkhhkEDzd4n5H749edOjR1mw1Bsb/HJ80jz7uO8p8Cj8TfxXBO3iw9vzZrSECJZ7sedX6MeuWLb4VWijCsZuuAi77zzBnfvfMznP/8FvvzlL7G/v+D5z36OS5ev8dorr/LOW2+yXi1BqxSlJQ2bRG6plI/N+fett+9RsTVDVGpwWDbjiDPExCjZGVpIgzv8zPCdJibYYFyFGgd/sr8welGEFJETVWo8ByfnNAsZTPKEygCXLh5y4WDBZ194jvfe/4B333qHCDz99GM8dv1pbt+9TdOvk8YgytAcLc7VKdIvRlDaolXABcbhmAsBYwIqkwFEH3q8G1hMkprQZRXTyVzOGWuxNpO4x8mE6WyOvnObs9NTzk6X2EIcjK3p0zpVNG2HioIg2ijNYOd7XO/Iy5Ku7USH7iOZtiglDscRQTJdFLNJFySWB6XBqtGbYVn3IzKslKaoKtZtOzItXPBJ6yzfXbPZ4JzDaEueyzC9bbvRD8YYI1rdEMiLjMl0wmQ6YbVas1ytxKU/eY8Mwy1rjbA/XaqRorA4B3dupTMxPkJYQ5m11HVDlxij1hjyPBup69OyTDWioswnSbqhaBrxnmmbhswIvbnIcxbzGfPpDOcdddtQlDnRR3Kbo1WQKCQtsY6+8JRlRdf25GWOzjJ8iNRBcoo3TYN3Hue9UJlDILcZVSmxk3kmhreTssIkVbl3juOHR9T1iulsinOOtquZ7k0o8hxrZajcdi1935DpUjTPdiudG1JJyrIcayPvBmM8aLuerhfTKqU1OuVb984R61pQ2gi2LP+9MotHH5+6sXXOCSKoZGocfSBHc3xyRpHnCe3x5GUhFtVa03eNaGucmIh457CZmBX54Fgthdblei9mP8mhl6go8hxjxPXM98Ltx2hsZlmt15ycrrB5TjktCEQ678iNopyWVHsTYkiGLUGMCHxqqjVi8b03ndG2MhW3xogVd0Rou6VoGpoURVSVBdFrtNX0XUCnzMVBz2FNhtUJ8ULjCOg8Y6o0wUnzCYIwkrS6LvHZq6pMCztKVEnw5OkAqesN0SjyXFzZjMnQWGlylcZkcrr2zokuVSumKQ8KDfPFHjpGQsoQLfKSspyyXK1G92GAzWaDrzsxbPJpgtV1MiHLUraaTw2skqZJzAFkQK4zyfwtipy61mzahtV6BUoxm83JTcFmtcFWicbROdH1Kie5kEoGJ6dnZ1hrmcxmoA3HZ2dcODgUkXrvEsKlxtxiYwxlUTGfzplN5xwsLkizoExy5IY+dJyuV9x7cI+T1ZLV5ozatdihoAlCLcpzS9O2BCe5npnNMQRyk7FXzblyeIWLhxcxOkPrHO8dXdfLZ7FGdBWJPpNl8j9xej7vzrs1LNnqg7Z5ejsHa6JwDpSoXd1aOk85PNznxz9+baT0ZVnO4eEFehe5e/cO6/WaECNPPvEkuVF4Io9fu8zDhw9QSswZuq5L5kKy6ct/a2IyYciyjDLLGMqCOJmxN5nxySef8OGH7/PYY49xetqikl6773pBAZW4fQavaOo1p6enDA6QWaZplGhfpmXOleeeoGsb+uUR16/d4MmrLzLb2+PilSs8/dxnAFifnTHRhheee54vf+lLABJBUJZixBDFzMlozdnZGYv5Dm1lC2Y8Qsvbmrhs0Yzdoik1f0NxF4aXU6Nj9JDBG4dom51C2oWeypRS0EUPUSfXancu7mn75vT4BnXS+2plOF2uKCd7lI0nS427z3NsVYq2z4U0qd82zj4GfPRbt89UiA2DCh2Hok+yTQJb3aMMOQSh8smmv8gN1w4u8+zTT1K3G/JyQdfWhKjEGWS4xnqnP1epMWWI61Gjbc2ON0uiqCcUXOnRnEaMVISGpmKU4vh8dzJOga211HWNNYoiM3TB7zQeikklERjGyDSdoPEx8uDoIYuDQ5xr6XtHZiwHBwtC33J6ekTWK1zXUSQKWJbnWKvpnQz5tLJoLHlW0bg6FUFbTSnArJoIYyF96EByNSWMzUUkiJ7LiL7O9Z6zs2NOVqeECI8/fh3PHe6frNAqx5iM07MlP/jhy3z1q1/h/r17ZNbQ917Mh3zkzTffYn9vRu8cq7NTrly9zEcfndI0G5TOeO3V13js1k0uXzpkMS+YlJaIT5bD0uCiPErDZrPmB9/7Hr/5O78jPhrBo4h86WtfZ3l2wscffYgxChV1oo4rYtSYaPB6IMemYjwKq2Bgqoxaxd32Te38XboH9XCfqWGwIV+vXNdUkA5ZekO7p+P4WiFu0Zw4UqaHZug85Xa34WUwQduBipXWyal2u6FkqYgN0RGRJnUwhvHeS+OTBjbjPjE67iJaaS/YM8psWScJ7d0FZkdUezxjtq3loP+UteXHz/ToPx+VYzxqnBTj9jwamt3dwexOgvDPf2+owbZhfB1ZTxCDY7VyfO97f8Hbb7/N5z7/eb74xc9z8coVvvbLMx6/eYu33nyDd999h6bbjE2yc56oVMp/JbGdpBEahmEjAX2MBdPbAWXaiwZ66UhL34kg330Me7PWg2HXIB/y4P02pm0YTCdt8CCBGLXRUY2/Tykx+xSpnSLbm/HFz3+Wp596gg8/+og333yTN3/6Nk898xRP3HiWLtQcnR5RbzZCLy2EWtq0/Tn9dd/7xCZKdVqUJnsAHbphv9IGFQNNGxJj0WJ0gdaGIisoqglXy4L9g32Ojo64d+8eq82as5UM7PI8p5gUtN2KqigpS6k326YFosTU5Gb8NvreY4xk0Wa5xTmJkDFJRmgzw8RUhCjGhb4VV2YfA8pKLW20oifi+h681Os6GXLq6FFaKMJaQVVNRyp5E0JiX2qKvBivV5aMnHyIbOqa4D1FXiCXzQtYlmUiNYiGTStD/UlVip9QckJWaLTJR5q4dyluUgnSmacIIu8cRZaJqzIi6ZGYuR7vhMbcdw1VUTKbTkcjKptiiGKQeFJtJM+1Kiq8azGZ+MXYyqAzQ9c5uuDI8gwfVXJpD6xTVjEgQFTKgl8sZiwWexhrmM9mtG1D224wWhgTTdsRo1CMiyzn4HD/nLmceKtY+mQEG4LHJu2wcz2uE8AjK3Jya1J8X6BrHb3zNHVL2/Z0nTg5d30vzvpe/EBCJ6xUBVR5NvZbn+bxP8oVuev65LSW4aI0pDpqYnSJFx5ZbzqszcmsJi8q8syMIm3qRlzcEl2VNG0vy4yyqpKLpUHrXprVupNtSgvNzrte6AedOIAFJflGfet58OCY2aSkrARdzYscHx2da0Vn6jsRUxcFwYvh03wyY7XZ4DqfUtFED5iZnEme49ueLlnuh+TShQFl1Tgd7V2PQpMVVg50Ixzyvu8kJgGhKFllcd4RvMNqg0lC6zIvyW1F14og3vUe14lLm9GGSJC84DKS6YDNstQMSyFmkkW+mAk4KdqQYs9oy6Qo8aEmxEjbt4S00U9TxE7btUzKCucCmTWoshy1nkangliJfXlEoYJsTBKjqyULOHajOVCWTyiChECHzhF7L5M4o+hcJxuCMVhdUFYlwXt637Jeb8h1oqanAjKPOZvNhgQnjQ7DWWaxJmOx2Ofq5avMZvMU4RMpEJfAQWfddi137t3hkzufEHUkaIfOhE7lfSC4REWMYqCk0HJdlaHMcg72Drl59QbTaiZNj4aub6nXzTnLjCyZh2mTCnK142o8RJrsaspSVbM9lLePodjVY/GeChVtkpZHJvqPP/mETAdTzq1Shm9969usVjWb1Yo/+/a3+Ft/+z/iM595louLfU5PV6yOjjAxok3ARE+fDCRkA/bJ0EHyNl2WMZ/P0bqSZihpnfJS8/RjVzk+fsjmtKBIDoZFWVKWJWVRUE4mQscuCqrqi0xnc2aTKWVRsNhfMJnOmEwmzOZz5nui7TDWMpnMRC8yUK9S0/l3/7O/x+dffIlvf/tPt8YT1jKZzrl75z55YVltWnwKqN81W5GLuKXK/hzGuhOHMTy02tGmjYVlHBERjWiyt0V5is9Qw3UqKEqhe+3tzcR0JFHE+r4fI44YBxkDQpx+ZdJV3X94RFSaxXzGzRvX+ehnBT9+9SecnSyxdUlWCnLrU6MWvQxN+iiOrcNr635LH1QIYksq2rIsI/QuFZAkyqg0Aso79qYFLzz3GT7/0kv89b/+O/zRH/wRr/zoFTZ9y2a9oSpnO+ZXKT4qbKtFPaBUqRMJybBncBvt+g42DW3dJmrmQNMX+QoujNEQQwE73EsDNSzPZa/I84LZbMrR6WZLH4/w8Ogh169ekDiE5AheZJbNZpOm85a2WY1anhvXr3PpcMEbP/kJWWbFkTNlK7Z9j/cOqzX1ek1TN4KqeJ+YRkac0738LslO1EymE5pUAKq0n8XgUoafRIShFIu9OV3fjU7Se7MZl37pKgcXb/Mv//WfoIxKUSSR4+NjmqZhPp8xm8746JPbsi97z0cffcLFL3yOzaaGoqBrpSB76aUX+ejju3R9xo9efY2/8fu/x9lyxWSyj47DHpPMl6KT5k0rPvn4A17/0Q/5wle+Jtc1sai++qu/zv1/8t/Tt8048FFmQOsNSgk6raIZ0bIY486a2d6H527ZEY2Ve86PBnrbDm/IQR/YJTFFc8Xhlh/dhgVRdruNWbofB7nH+D4SyrbDrh+HD6S7nxDH/OrhfYv5lOjXu76ThIMYU1KDJtpUBw1u4OnzjY16iFKkKwU+SZ/S3r7b1SpGEsp2/yDRux/FmlM8zuDTMNAq4/A9JGObLU13C8PqrQnDuUHDyCoamvxHBxRKPbKXDa8okiaVhgWuazh6cJc//ZM/4cP3P+Rrv/xVnnjyMZ5+4Tkef/opjo4e8Jff/y5vvPFaovbK9+e8J0sShYEholPjPVBI9XjMxnPN57jJqThmBIvngUTqbXPcSUOe3WGCeGcQAn4woxo+q/Da00/q8TsL3hO1xMYM39fg0TA06ErBfD7j+eee4fHHbvLJJ7d55+33ef+9n/HYk49z+eoNzvQxD4/v0tYdxpCkXqJtHGVfkZQIMgxOvAzrssHMSj6P0QZPoHMtXveEsEZry6bNyG1FZi02s1y6cpnDCxfFYGq9pmkaHjx4wGa9wfU9ds/S5dIT1HVLmaRIMUb5ZxjMpbyADCkGJkTY25vhfRTjT5XMY71oewmgjAzy29ahdcCGOFJS5WsU1kphzf+Xuv+OtS3L8/uwzwo7nHDTy6ly6Oo81dWhOsz09MxwOImiSJsUh5IDREmGYRg2BEsQIMgybegPwzYgAZJsQLBg0YAkS0OQnKGGM9Nkz0znrq6uruqu2JXr1Xv10s0n7L1X8h+/tfc591W1WARsWT5Ad913wwk7rPX7/b5JzIW0mAz116cxhs0N2ZdKq7G6ENZPHvr6zjNbzAlBZFGpH1ZpubmCCyKj0oqiCIOeP/iY2YmGRdPhnGNS1UO9XNXFILvrz7EeTagqWQuMNaigBHRwkottjGG8sZEZbDYPcTrarpE4sBRJPqPIRlGUIllAi4O1847lsqPrPM7LZ3MhkpSSWCZt0NrmYYpIA8+eOsvW1ibWWHx0zBczqeVzn1VY0YiPRqO808QhptJ7iX0yxlJYy3g0liGPeLMSiL0wXthhWlJdXCeylLZz+M6TQmJUVVgdaL0Tj4IuU6RDzPI30en65EVz/yEfH94VOdOqvAtoZYgJghaH027p6DIdsWk6vI+UVlFYzWhUMh7VeB/wwVOaUoqItkUpw8bGCKUryd6MAt8HKzmU2pJpzyLSDl6yyJRRuUEW/n1hxHRJBmkR5T1eiUNzirKQGi2ZkSFHzBjEQnpU59BmFF3bom1JYStG4wnHx3OSE6flLtM6UxbW+zwpM4UsAtPJhMViwaLtZPya86n6izkmWYyVNpic7+ecolm2FEWN0XZwH9Q5FFuE3CFPTxqCCRQpEqPKGr1KIm9UztX1q0226zrKEpbtMlNA5PKcz+ZiAFVOZOH1mSaFlvDvPDmJIYeD008ppaleLBxVPSImoRgZJWhlJEoB6COFLTm9vSONrhGtrjJqVSxl0yGtxF3We/nb6APeB4wrh2IlxkhdVoTQT8OgqirOnjnDzvYWO9unUcrmDTyjAFHippq2ZXfvDrdv36QLLcREPanofCs3HYpm3mKNERQBTdJQGct0MuXSuQtsbWxidUmUKEucb+lacVotq1qo6IWYoIk2cTWRj/TJEzFvkOoEgstazE9PmVvX34beRZRcpWWnzthT01TMjnyKEIQ5YJTGddIgPPvMj5gdHXHx8mX+1t/6l3nxuZ9SjcTYwGZ0OeWsz1FdU1c1RVWiM22nsKLNqUY1o1FNWZaMpltYWw0066qqqMcjqtEYY4TyLvnGVS44VhE064915OGDHj0a0f/O5s4Oj33qk/zkhef5L/6L/5x//X/zb2Zzsiltc5UQRFt7fHycEbx1Ol5PRzvJzlsv1lbvLyNC2byjr25jWEWNDHmfK4D1fcYrWgm7pHPdWsEuJhrrLoXrLpd9fm7frGlg9/Ytrr1zFXziy5//FI9/6j4+9/gn+O53nuInP32OpouoYoyx40xjjDkbMxJVFJQExM0xyOZEUnL/KoUqNFVR0izmA4okTZZjVI24/97L/MW/+DVC8DzxmU/z5JeeYHl8yJ/+k6/TxshsNuP0qekKQV07rWpoGNTKjajPau6jYUgDwtc7xPdUw34i7Lt2oDuqobGNuQiQ363rmpQSVVUxmUzZPVhIM5XP2mK5oCortJGho3NCYz86PlrFz+VptA+ew8OGg707+doQ3ZBS4gtx7tJ5jo4OmR8c4lphPFR1TYgx02P7aTuDgUpKAV1Kw4PRNE2TE1KlQbLGEL14P8znc6wtRP6jLfPZgsVyj3feeQejEz46AiKFSSHy5ptv8sCDD3L9+nUZUEUZSsQYmc0bbt/a46OPPsLunQPOn7/AaDTi6rX3RDMXA9/89nf40heeYLFo2ZiMc8MXT7R8ohdMvPzSTzl3/iKXrlyB6ADP1s4OT375l/jzf/In9GpztcaG6LVtMaoT9OOhgTihs7370aP8fZ7segzQ6g96TWdPUU49AtyvrWTd5eCGezf1dn3xWbFrhmt3YBf034sDU2alp8+UBTRKyX41DGf62BBlCdGvGsG8H66vSYooiRJRup6+uZVhp3hBJHUXeqF6o5s1fct6k3miy1yjXesenb/rmN61rsFq+Le+nq2dxhONbf8Uqb/vZVxCimoYMiplSAFccrz55hvcvPkeH/vYR/ncFz7LzvYO5y5e4jd++3d49KMP871vf4s7t3eH14qZoqusHN+BaNy7dA8a2tUxSNnRWMz28vtIq4FbSkmMjAZUPw5fa61XqH7fRd615q+bS6s8fegzi33wUvdlkOfw4JAzp86sTCWTaHE3pxO2H/sIH3n0Ud548x1+8uKLvPLKq3zsYx/j/Jl7mS0Omc8PSARhSOT6opdfpTzxWMUQrc6dUKullovBE1IYhmpVVeO8p23FxHU8nlAVI4qqosiRmd57tra2efvttzk+OqLJ/jpb21OqqsA50YfGlFgulyhMzgD31FVFMtLkKqVpO5ed1xNtCLlOShgj16QLIi1pOw9JUWSUVPemqzoPhXRfS/dRU344pr0cxY4nRO8JQJciKinKWiRTzbLF9gGpykgP4ZwMJApBTqfTqUTCtS0qswu7xYLWB8l3NYaQM3p7c6peI98bJGkFPna0C4k9TQEm9Qhj5RgVpTSSbbvMpopyXnsjXZUUpS1BRYyFUWZmLruOxjuWbSvgjot0PoCS+DHxrWtxLjKdTARcKEV6SdYCd77l8OiQwhqm0wmjzRHBd0SjKQoBD2OI+KbFGM10PBbWmdLUtsguQoqohSIeQsRYKz/LcpHOeWZH+1hbSIyVLbBlIfnHWhpuq2HRdXnYkMGSStJdYloZuH2Yx4dubMu6pvMerSSwuEyCNkluaZEn8ol2sWCWb6zJpKZtGjrXDdO/1nl8SChtaV3DsvFYE1bmIVGJw2NKuCBTCGVlklmXBV2XMEBlDdpYKmvy9E6MJApTyM2Ez9E1YspTFIW4UHqPLUowmqXrWHYdoyq7lCkFSnjy+/sHLJdLtNWMRoquFZdeDLlwt6I3yNPx2WIhTUXbUhYlVVHjvBNE1yjarsWqksVswWQypSxKQrIEH2m7BmNEx1DqguiDIKI6N4zaAhpDQfJyodRFOcTGpCSuyCq7uVorJjpCD41D0eZCR+c7fIg0nWQs1qORGGB1HSEvlkZpiHagNMWYcCFi0RhbUZYFrmlpXYcyoqdSSQlCIUotrCkxVlBenTSFKVZK06yHC5nO431+XVtgfMK5lhA9k9EI5z1Xb10lkThz+hyXLt7De9dv8OijF5iMR7igVxsoiRg8x0dH7O3t0bmWeTtj3i4IeMpCGr/lbEnTHlNVNToprDLUtsiudIG6HnPl/BXOnT5HcL2br2a+WA4bli0qtBE9R1mWw4S7p6kKDSQMLp9KyRk8aXyRThRn64YgUtCtKMo9DY8eTVCKGHVu5vPmZQS58t5x/wOPceHipdxYRf7S3/gX+Cv/0r8oC8sH3eBr5iY/7+f/lG/8f/RxdyMMiWW7pKxL3nj6VZrlkvFYdDKdF5d0bUQ+ICZaJ/50aErXizKtVK4d1wqyXOPFuDJeyjVZNpfIzecaAtxTbmNcoVFa9day8lvys5QHTuX7EA7eh1gJBX12fMhsf5czH/sk/9L/+G9yeHTAv/1v/jucO3Oa3/nt3+HZn/yYF155FW0XYuqitGwWPWqVEaxMSCTqnp4n12LnAgfNTNCsIJNYnfOQf+PXf5XJZMxf/I3f4OjwiNnxIctlw/MvvszBwaFMv51DDzRsVp+5R6P6ovYEssFwLacEZVmJNrZ3ie6bBS30+kWa5fo75cLNyHaTi8QYI5NxHwuVRDoSA0pb+nynzjmuXr1KPSrRGjY3N5lMa+4czojeo7TBFiVt59jeOU23mLO7u4cykkVotVCkXXRcv36dy5cuce70Gd5+602RRVhNDEYyx0HW61KkHj1FPiaJvQh54k+vaVZScNYjQXd7UyWrM+VOazamEz72kYdwXcfr79zISmU5gNfffZcLZ89ChCuXL/H2O1fF5Vdprl+7gTWGre3T3Llzi/JoTtt23L59k+3tUxwf7HPnxi0ee+QxCnuKyVg0bSq61TCIiFEi6Yldy09+9BTbp04xnkwgBFQM3PfAQ3z0E5/ixeeeyf4AWT+tQQcFWbuW1prEgds/ND/5n3Hl8aRIwi4YzJyGUclw75y4b7JuTZqWjBrHtIr96X/trsa6v/FTfk5BluV5dH57ejggmTcQ0uDq3fNZVaaDKjRoYWXFfD9ERHepMnoXnReTKzW04XmfWDWMxmiiFiZZGj6gMC5ibmJSdtaPiYGul/r3mj9bCCst84Bur0PSmiGK6OQxOimlWTX3q1NHbjAG5tH79rj+OfRqACGrLCk5qRiSYjHv+NGPfsibb77OE5/7HB//+MdRwOV7HuSv/c0Hef65Z/nR008xn89RWgwwU+cxJlJonWPVcvya0plFqFfyn0Eb2+cK95R5VoO2np6Myr4m/efLI7IcB3Vi3Y5r19Dw6ZQAAypHSq1psq1WnD5zWlI0hgQoNVwzkYixhkcffZDLly/yd//e7/P97/yA7dOnuP+h+7lw8RGiX3Lz1g0BNkqdP+dKfuODH1gv3ntUNkTqKdEx5zfrQmrIxi3RiLeMTobjRUsYbVJXY0pbY7TGliNsWaC14s6dO9y6cZPFYkGMkdFoRFkqXBdQNkuOrPjViK7T05EGM7DZYp71p0GijvLwQIzY4mAAGXIvUJfjnCVr8vmVfdeHkA2rvNDQY0LFXo7DYDgYU8JnPwplJIZnrIXV2LNtOh9zjFgeEBfSWFZ1haJA7AMD2gubbFT3ET2yxkhjW8pQQUv/EqLH2FIihtpWAClbSA7ttKYsJV0lEli2bqCL+OjF9ToJrVklhfOSBBNcouukvmy8MBN9FDQ5ZTDEVFX2tkhURcHG2Ym838yES0kMDNt2gQ8to9JQVgWj2mILQzAllRJPCaxFK810uiFGbpmF1LQNzrW0XQOoHKPkqCcjiDoPMST/vMyRl1UGgKQvCagUKYx4Y5RFxXKxFMdqrZhMp1RlIb2nazPb6cM9PnRjW49qmqYZFmCtyFQKTVWVjHLWaqHF+Xi5FOcsH8VsY2WLHVi6Rm4+H+jaQGklo7RpmlxIikPYfDnDB89oKqLk2lpiVVOgGduSkCJlUeBcR13VjEcjKfCVlgLUGCmIQsjax4KuE61wShHnpMkzxrI5nWT9W8rmHJ6maSmqkuWyxdiCsqxwUcyCQp78xLzYLZdL6qqmLEoJE878em2ExnzcHefAZksMgWjiQCOVG0FRCH9LshnFugXvIyoJChez3aHJDYxsWJEIaF0Oi1jbiiaTJIWf96Ib8N6DhqrojaJayjzx1JlCEjI9q6wquq5DJzVYpataDzo4MVIx+JQnVaYkeo9OQhnTRizRrbXgA8GFrHEhZ+jK4upDoCytZIKhGI1rZrM5y+USoqDW9aTm+HjGnf19Ll68H2MrfIBl50hRnAt9kPcYXWRvd4/d/TuUo5LGzXHBZd1HGiZNoXO0LjIejRmVor0ubcHIjnnooUfY2dkWHTRCb1k0rUyisutxVYm+s3e6W1G8+mmpmFyIxnBN77mOGK5NwE/qlPSgYyCH14dsPjKgKGk1xe9REJcDy7331KMxX3jySbHIz9qYnrLz/6+P7VOnOXfuXJYyCINiPJngXCdekVEykLe2tlDqYPi7wXpm6LHWCtq7+mf5vbQyhRrqFZXJd2aI0lgVNqJxHTTUUQRzzrlBa5V6StEJ86iTWYirpk+MtlCRGBzNfMa1q1e59u41QOE6PyATj3/ms+wfzTheLIgpcXR4iNZmaOhk5hGIGibjWmKGiDTNMuuvIoUpOHvqNIvFgoODfT73uc9x8+ZtrtxzibKsefvqNX7y3PP4tuEP//jr/Oipp4SOGwPONZK/fQK1kqZzHcM9MahIw3Rm7WcxI7c6MzrkZz21bYUx5fxg3WfdCsVqY2NThqHOMaqrgUoqcyhhP4wnE+raErzn+PhYqPRLz9HREZs7m0KXcp5QGY4XC9Gd54zc4D3KaAKJqrRcv/Ye040JtiowpTgZh2UguiRmKjYx3ZiitGKxWGCtZX40z/EVIUsqVsYifUav0AYDWinG4zGz+YKQxABkdnzMZCwRDI1bNUOtc7zwwos8cP/9nJ5OePudd+QwKzE/nEwm3Lp9m7ZtmLqCelTxO7/z2+zt7fHccy9SFAU/feFlLl3+NY7nDdEvIXrG45HQr/N1m6IURXt3bvHMU9/jyV/6GoXWpOhRWvELT3yO61ff4mB3d2AfCC1fZxORzKga2Aon770VgtpTKXOGZB6SrGus0l33zIoNs/akWSPfZ6KuN9bD/X/yGfMluRZN1BMNssZyhX7mazSmNd5yZocoLfn2VvJPg/d03md6n+bBBx9ic3OLbtnyxpuvcjw7kGY3m4eRpKboj4OOSgaZaf0YiMFFv3cIuLhi+6yL2Fe62vzZ+n/fPZ5co++uetQVKr1O6e2b4xPn666nWrGNVt8djqfqqeBBhlRao5OGGLh95zZf//rXefXV1/jc5z/L/fffh7WWz37hSR546GG+/73v8PrPXiVGN2QOu+hJSZxZtV4bnPUIfz8QyGuuSmtyC9ZJJXF4u4O52Lq2O/Xr9trx0dkgL+ud1dox0lpL1Fo6eXT6U9SvawmFVhZjVKZdi9xIKfjn/9I/x3/8f/1PODqecf299zh34TyPPPQw917+CLduX2W22IUE1krkSyJibbEqNpQaXlPyhTOaqaQYM7qP5ZFhTVSeECN+sc+iXTCqJrm+nlCPCk6dPsXm1gaXL13k+GjGwcEht2/f5njmGY8LilqaRTMtZfCZUwcSMB6PxRm5zXKjIPd4zLUZg3eNXCiT8QiFoq7Ex8coWSujFhZmTFJHuyT07p7m3e/tKSVpqopKZHVRDE+9c5LSYe2Qj5yCREYaranKMtfE4jui85DWWkNRlYxGI4nb67pBbwqr/F6ydMv5jqR0RrChqmpGdUVVVwKIzef5fAiTwlorA2alBejJjvwmg1OLZknXRbreMLYHTRRoa6irSuqA+YL58RINTKdTdnaEQTmfi9lnShJFVBSWcXaHVgpsobE56mdjYyzD3GU7uEqnJOARgC0sWivGtqLrJIKoKgU4aduGrg25T1SURcnm5iYQCdmdWWlNqS3YROs6KluwuTnOxlyG0URSOJx3ohNuGj7s40M3tl0nelfXiX6ttEVe3CLHR8cDnWEymaCtIFkheFIX6DpPVYkLWszZF8YYkg8YEm3bCB1HqawJMMNArdCWQls2xmM2N8YUyuC2tjg8Pmb/8EAyjoh0zZxZ8pRVQVRgEUezSV2jjNBclTGSA+tlGhKip2sdMwTmTyFkhzDD9tYmdVWIi6/3At3HRGmFKx98oFksxbBnY5ugUtZvqcFsqV/YvO/y5iM0mPliJuYjBEL0hBAoS0Ndj5jPF8SIcPEVOcZFbtCmlfiILiaSTtRFNdClevG2UFN7PYDPC5lMkG3WpbRtg67Goud1QaJVtMV5JxQ0pbBWY/IxbFyDz6ZK6xSutmlJOcNwMpnIhC2IrjakQFKJLnSEzlNVJSHIJi+B3BpjS3TWiFhb0LQdLvgs+FegI5HA1s4pPv3pzzI7ELrk+QsXmC+W+FgM0yqhDx5ilOK4OYIisvRzfOywhWxEMQRchM3NLepyhMqh2oqITonLl+9je/sMdVXT84h9CBgjNHGXHZ03NjaYTMZ5E815oQN6vorzSbl576e1Ka7Qc04UCH0x1Bd0aq1BXpnr6HWEIyQxBmPlzOu8p6qrfJwTRVFTjyaD9uS/q8fddLi7f9br4ta/dyIWpv9+Suzt7YkT8sYGZVmxc/o09bgeCpTxZCLMAWA+P5aNJ8cJyJOooaAaJFb9+eipjagTRXbKarXEIMcaIlFUWjWMKwRd5QY20Ke1muyMLOtYGmhwPS3xbqRpKB7XPnuPHPkQuPrOVf7Nf/3fypsD3Lx5k84H5s2Czjvuv+8+Xn/9dVJGXZNOA/pptOHBBx/iX/vX/hbPPfcsn/rUJ/n93/8DfvjDp0GBcy2Hh/v82q/9Kl//+tc53N/jkYce4pt/9ufcuHWbuh4xO54TQofzjuA7UnA0jQww754OpJ4C2h/wtc/EwOTrG4FVM7+ijfeOUlnbHwX9WDlWC2VtYCrAEL+QkpiKaSUDNgHdxHgk+MTGdHs482fOXuDpZ3/K/sEB26e2s8EhOK8pqprN7R2O9nbxToxeQpcdjZ04oAorw3Pq1CkZkiaJyZpMxvjoOZrNhvPddo6gZHDYG77015/oHYXaKgyRhC1k73F9BJcWmtiVsmL/qOXqjT1CVAREf7x3uMdHJ49RlJaN6Zj5shW366RoO8+Lr7zMQw8+IFKZ2YIrly5y5+ZtXNtQVZY3Xn+dl166wkcevZ/RaIQhiGt+HkLKTDVlEnjk7bff5MLrV3j40ccy+OYoS8uXv/qr/Ml/8/t0rh1YIDr7agx+171j5nC9r5gSd68aKRe4feOwajxWOarrg6JhbR0Mi9IQy9VfW+vr9AfdiwPFtN/r7npTg9ygN2nqqcRZviDLdAJEt25sNrLspCZo2pYvfOKTnD5zlo/ffJw//kd/wJ2bt4YGqz8OvZZQ6ZRdzUOOyBJjvkDIrsBpiGbrP08/a4rrn2fN+Xh9rVv/Wo6vWmWp90PUk7fyXWyjLLUZ5oTqREM9DAFyXbI6zOtNdx+jJvVhIvH6a69y7eo1HvvoY3z2809w7vxZTp09w1/4jd/i0sVnefaZH3F8fCRnKuekhpDyIHe158mgrDfa6o9Rv46rtffY71v9UCPlvSq/3yyN6K/rlOuHHtlNiKZ+3eVRGqb8WdX6YEXhQ994iuGcyut1n9ck2buR6caI3/3dv8be/j5d17BYLrn21pu89vJL3PvAJe698iDORxbLI5p2lll3hdCfrZbYtyBNmTGGkN9nH0dkjQxrY4hEFTLYkgipw7uO5XJBXY1omiWbG5tU9YhSldRVzXQ65fTp05w+fYrdvdvMZscsZg1Ga9pmn6oqGU/G4tyf1wKtFcoKglzWJcGL03DTpWGINqrrIRLG9U2oNkTPkJFrrYXkmTdLQtZLtz4ni1gBkHzwhKGmFa3mohG6dfYyw3XdwIwxundNUUQn0jcXwlDPVLqm0iXWCGjUZ+32Q8qUs167rs1pEoEQW2xZUBYldVVSGJ0NZeURgmifvY90bZNBiDz0VDJMT3lK6NF5iBPxWZdsbYEtS1xGuZfLjtlsycZ0k0vnL7FslxzPjzFGM18sMq03sbE9oS5LtJH845QC1mpGhTTI47oUo6wQCUEGCPTj/Syn8j4QVEBbRZFKXAi5V9DYQijMprADJV8rg7GKSVHlNVgAGRcj1mjG0xFlXUl6zmiDw+M5y0aSVmxV8mEfH7qxbZomb7hC5dja2uLs2bO07ZLdO7scHR5z3M2YL5fUZUlhjFAH8gQpAYvlEmCgDvfIy7Lx2CJQ1xXGlGIOZCdivRRF/JxiZDqdUCpDHCWmkzHjumS2WMi0hsTxbMayBVuVWG/kxlCKUptsuCTQubXiLGzrEZaejiCIQQyewk5EtGxNXjAaGt9mjYtaoaxA6Dymd2hTiAEIQlf2wYujp1eM6jqjoWlwakspZCtynfM0jWhtTRA9gPOQXTJtWdBFh9KJqhKHTpfzwmKUG6g3Pog9NUmLyY1skCo3YkL/CNkUq4/ZMMaSQh+kLMWLtgaChIGXhckXv4h5TJ4utcFl85Ya51rZmHwQbXRGI5SGkamHhr+oSnGQ8x1lJfFDWmmKohTOf7cU/QiJtmnY3j6DtTUf+/RHeOXll7l29Spt2zKZCDUmqIj3LZ1r0Dl6wZRqiM3oXEAbyVkO3km4dtZVaxWpqop7rlzh9M4ZEoLq12XJqK7wQaZtbddhtGFjusF0OhmK874pjfmauBsVGEhXfdj7XYjBCaQuT1NPbIop5bJyraroKWM6ExJTkIk/5MxERVHUbG9t0zVintYjeO9Dzljbh9Pqm/2XvVavp46HmHLUQJL8uRBpnWPZdnjn0EaGVy5IdJRMxMXgwfkgg69SCoe6ltikLkBhNfdtjwdXPbL297/+vd/jt3/zt9jY2JBvGs2nH3+c8XgsmsrRSJDDrmM+n2dbeRnEcdfwoK8a1w+B7u2geqqhzkW2EpRpRd+T+iUpL8XmCTpapp6HyEMPPcSl8xcgJn7y3LMiX8gdsnOOelTfpek9eS2sHurENba3v8cPfvB9iqLMVvlirmGrivseeoA3Xn+D2dEhpgfkh0ZcivzHP/Uprr1zjeQ1P3vxdfbv7BN9oChE0kGSzPCyKFnMF/zs5Zf5i7/5G/yn/4+/Qwi9VjESgiPFQAgdwXeDcdnwrtUK5ejpo++nWvdmaic/f/99m91GtdZUVb323ILGrAY+g001o9GIKueij0ajjAKooYBVKXLn9p7Q1tolKQXqbGY2n81y4VMwmy2ZTCbYsqTN+Yc9NYqeTRSdaGKjUETns4VM24tCnHGd47BtmEw3IO8N1tqcN5wGc7SY19CUGUB9YZ5ytmbMUg1yUR1bTwiOqjBURs6bz+hO1Iobt25y7uxZHv3Iozz73E+Fap8Q6vGdOzz00IPs7R9Q1+dxzrFYzLl86RyzeUNE8exzP+aBB+7B+SWntydyP6yZPPXIudIQg+cnz/6IM+fOs729BSFA8Jw9f55PfeZzPP3Ut2XgFslohBXfhj6qpG92MhXz58zBBtS938OGe2St03o/rX+NPTCwK3rt+N2o4+rfQ6MzmFCp9w3gWP/9fnDZX8+K1TVPn+Ykry/54pG2bbn27rv88R/+IV/91b/ApcuX+av/w9/lT//k67z6s1fks2pFTGGt0erdlcUtNnq/YnHTzwXWHaR7wOvug6pWBlg/Z9CplB68HPJTy4BoNXHLua9D+716nfxm0nDd9E2rWsvmXG92T2qUV4OOXuuvWSwWPPfcT3jn6tt85rNP8Mijj7GxscFHPv4JxtMJL7/wU969enWISgyhlzn5wQdCPqogRH3jqrQYBJ7QHPc08DzU7CcDQywQKucMaySdK53cTFCyR8T30+OH6+suGvdwjnvvAaXRWSaChno0IsXEubOnOXvmFErLPnL4wBG3d2/z2huvc/Wdq1y6eB8PPXI/qMBsfsDB/gGu8zgdRUOqAq4NOQ9YD/dIH1tUWEtUYoqltaEsqyE1JCaNCy2HRw3zxTHWVJw+dYa6qDHWUinL2XMlZ86cou3kb9599yrL5YLOdRwczJhuTDGFYdl0jKf1wLAwSiKDjLWUdU3bNiilKa3EsoUQc52W89nDauDfo7MhG6CFGCXz15gh91wczRGWqMvr0eAaLnt2URTSK+j+7GcqMpI/q1G0TUPITagPUte2XZdR2Gq4fsl1S88arY0lRBl+da7DaIm+80ESYoZM3Miw1nvvCRnB7tcpU4gv0XyxFEQ3BGKIVHWVI3cCeweHKOxQ1XRtx7Vr72FLg7bgggMds3mtYTIdiQyHJC7LVlNXtfQBycv+7sSQVhuDLYQmbrKsxDmJxMSKpjZEn2WgUoSUWYpDHqrFHBupUOh8fpuuFdM2ozHWit9EAbPjBW3rOTiaC2uzrqlFMPyhHv9M5lHGGJpmwdHREYvjJbdv3ckuYBZdaHRIlKXFloq6KqiqcrVgKM1xEMqgMoUUBUkRlUEXoAtFUVvJrtWBqqoYb5yla5c0ywUEaBYdqq4l2sZoNre3cTEQuw5tNNV4xOHBAfW4pioLgndEX2JGNXU9ptAFhwcHxOhR1lBWJVZLzI/w/WVOVhUFCkW7aIgRCmPxxgnyqmRSobShrmqMMnginWslHxaF9hFtymxBrkjJYW2FNUJNKI3FeycuxTFQljURJReJghD9oLXQ2Qwk+IALDp11C2iZNCmtcSFyeHycI3jiUPhqLflkKluYxxSlkcwNCSpRjipmzXxY7CRuQuHaNiP0HXVdS66eT3SNJ3ZQlyVd29J4h1aGvTt3BsTQGAkWJ2uwq7JGJ8ndLa3FdR2RKIZLgAoR14qh0+ZkTKoqyqLivnvvl3y1Ysz+/gE/+cEPODo+wrULQvQsu0hoIgGP8y3k4UBVlZhk80Yh+mznfa48tBSqIVKVJWfPnuPeK/cyrjfoWk/TdGitmXVL2uaAqp7QdY5CF2xubjAa1XlKniNt+gJirWkdGtaMTkbCWs94kp410L5SDnhf1+6s6YN6FMzkmi5lqvngZamgKG12TIXHPvYYv/2XfpvN7S3m87mgMHnh7F/36GjO3v4Rc9cx957lssW5QAqyuLquw8dew2WHBtfYgofuPc/3v/c03/nWjzhz9jRf+cpn+dlrV/nSV7+KK2tSIZtL1zmij6Qu0bYJd3iI6xoWRzP27uxx584ui1v71Frxt/93/yqbm+Ph/b3++uv87MWX+B/9i//i8L5DAGNL/qv/6vf4/Oc+z2g0wYfAYrnk8PCQc2fPc/Xttwmjdzj3FwSt0XZF7x60numkY59SmVKmhEqstDQ6gtjGXAjpIW+yR1bIuaMpRUb1hF/+lV9na2ebO7t7PPXjHxMzihSyi6BSZigq5D0IvVW/DxXKzoJZr935hhBAOTPo70JMnJuc49zZUzz34x9hc5yF1hplLMqIIYNWkT/6R3+fyWhCUcrgYzmfsz0d9SQ4bFmyWC6oRyOatsHakh8/+wzeLQR7CnmYksgRIiGbpfRojmxmMa1na66utVXzoQaDHVIvaszDk6FpSBlN0JTWDEZEZB37egxJr48ri4Jz585xdHyIKQphfCQ1vERCNvbNzSlKTXBdw+HhMaXWLI/nohtShs53LNslxgRpAaxGK5vpV4nC2EytkmFr9EkirlJiMpngOoeyspb7zADqh0IqI55dK+u+teXa4CjkuLje8VS6PWMMPgaJ7Fks6DrH/fddousCt/bnoC3KWFzb8u477zGtpzzwwL1SmitNUNJYEKSx79o5586eZv/okAcffojJuOZb3/4ey3bOzqkdnnn2WT72sUfYOzjkzOY0I7ZqNRTSSnIOU2QxO+anP/4RX/qlr8lwOEo+4kc/+Sl279zg7TdeE12jNjIQTsKOSSYMawlrBWE/3Fg1m707mxqaj77x7O8R3Ws7h95qRSXtacWC0vaNxFoznD9TzNEdw3W7JishI40qr8W9kdVAvl27T/smdpXTnM2MMjJvrQw4m3bJ9feu80d/+Ed89Ze/xoMPP8Cv//Zvsbm5xQ9/+IO1SKA43CcpU2aNViirwYuRVMwIa74Nshv12kCgR55Z31tONmPDVz2qrVU23TxpcDdoU4d+O62hsQyUXXrH5WGrS+9HavOnUykNTfDwPBFQIa8tgeha9m63/Nk//gYvvfAqX/7FL3PvPZfZOXOBL3xxm8ce2+WFnz7P22+/RQpdZl5Ibq4uciOnEjqmIYk4JU8K65TvXiudv84DTpvrotRfWb2pI2CSDKfoI5XWDk6viI7ZBTuFNbMvJY73evi4OcFbi9aTbDQm70Eas6qqxLMjBlSpOHV6h62dTa5cvszbb7/DW29f57vf+i4XLl3innuucM+Vs9y4cZ39wzs0SyeRkSpiVSm01ULliE4va0geGqqyyL4FmUrrVkZyWmt819CGllFdsWSRIySFXlyoEa0LTKdjzpwREGb3zi63b99mdrxEGcNscczm9oTpZERZCvjlowBC2hisrQftfUqJsqrE5bcTjxQZfhpJIsnaVcke6dlSidIYVJT0DF1mgluOzopJUGytRTFrSsuoqmTw3HbZ3AhQjhR1dv7NTFOfpHakG7Jf128jYzU+Okor6KxKYuKksBwdzeiyvlaKiYKAwuebtqhK5sdzXM7M1Vl/7TIKTNvifEeXo0/LwkhEka2IPjGfLwldxHtBo7c3N2U1jDLMwIB3HdZCXZUYo1HRE7pGwIaixJaWylpSNo11SzHAK2whSRQhohBjJ58ZqdZaIgHXSlNrtEYZafp9UEzGk2E91Ch8juFUed3VVphWzneE4IRtGCKLpiXGBqsVk1E1ZFp/2MeHbmyXy6XoKrWWGItkcc7jvQQCr1ZzaSacd3RdS1UW2X3RCR1MZVQqyoQFrSlKzXg8EktsJY1AxLOzfYpzp+9j784tFosFXdNydHRERMTqdVVRjUYoa4kkNgqhQNd1mQsgmSSo7DKcojjHNt0CF0UfW5mCFCNdJ42cNdJ4aW3ouo5ljkgQEymxvnbe0XQONdKSH+V9zraSk+ViwDYtVVnhchOpNJRFQVKJxUKCh/voA3GOUzShoSwr6rqQaZkP4prm5Tj3S2dPf3ApMZsvWGQ0PUQRYatMfSuLmkldSWFhtDhCRtEgRxXyc0JZVQQnF6Ye4plWeYxaKapxTdc6fOuo6pKqsMyXc2JwdN2SFBzaarSpslQoUdelRFd0MsFCQ1FUNG3D0i0JOTbBmGyaQmJc1mzv7HBq5zTb29tiXx7g9KkzVFXN1XcjW6c3mTcLDmeHNO2SorRCN05yw/koU22tdY5tEYq7NYVovZWFCBfOn+eR+x5FY3CdJwaJ3CjqTLMvBQmvypLxdEJR2KwFTAP9qjd/6N0q72Jl5qJADQXA0IqeAGBX1ibrph5+bYFPmcI/rKJ3RVIooKws47G45b377ru8d+MmO6d2+OY3v0kMgd/+nd85Mal/8YWX+dM//yGMJ6SqBm2wRZUbupSjuGqsKfIQToYltSo58havFW1YcPmeT/DGW+8wnW5yPFvw8muvsbu3x/xoxuHBIccHcxbzOW1zSNfMwQXiskGFLm/rgV/75a8yHq8mciklvvPtb7MxnVKPRsP3Q4wcHR9zeHCdK1fuY2NjixgTs/kcYywvPP88VVnx8U89glJvY6yhKO3wnP3x1zlTVqmeGpyparlRU/m61yqbjfTtkVpN3+npwlHcaR/9+EfY2tohxcTzP32e5bJFZffStusoynpNW6jASESP5MrlIcygv+qdgU020wiEnD9HLpiTStzZvcWpU9ucPnWa46NjiqIUalJVcPneS1y5fI66tNTVGJ3j1KqyotCGIvsOGFPwD/7hH7Jz6hTWWmbHMz7ykfu49u5VrFV5E1uPqlJSDGEGStJw3lZdxxql825EWp1A3FQuAL13UNoTlOWqKnOTa95Hee6fvP/93rxjPCkZjWpmC79iOyvYP9hnd29XYsyInD61gzEFt+7MBuaKKBAU9WiE1ZLDvbd3Jxei+XW0lr2tqAb9qC0s3km2dVFoMQisKo6OjgZXzf496lLhHDlayA/rgs5GfP1xtNZmRFwGmxsbm5w6Jed3/+CY67dvE6iIXswXo3O0TUvbtly+dIn3bt7GdTnGKcKbb77JmdNbbG5ucXCwK5nVRN55+23Gmzu8d+M9XnrlJc6dO8N991ygc5FC51imJA23VivqXErw1ptvcu78JT7y8Y8NDYo1hs89+YvcvnGd2ew4+z2smA/rA7aYWVDrOtBhCNWjpyo3knc1QP1gY8gkXWvkVv8yg3ay/xuVTceGhvh99IG1zjQjjhnnO9Eo6tULCmIaUt8Hy/2becxa6wHN7e/vmAJ7+7f4xjf+MbPFk3ziEx/nK1/7KpONCd/65p+JvGVtLexRP5Ud99HZTbzPSF0JXlfry9rfrvFw6MUWH0DeWel6e3pt7NekNdbLib/g5MHiBBP3xO+tJDcnD3nfQK+Q31WMDynlwV/AxcS1d97m9//ubR77+GN87vOf5fz5S5w/f5GHH3mMd9+9yg+++22uXX0X72VQHH0AFdAajE6knEesemp7pqn2PhU9E4rs4B1jzgJWDI2tTr2RXdaC9tfnYOiWE7LWpEhpfYNXEFRamUMmqbPSmrdAVL3zvh4mqFopolYiS46RUT2isAWPfeQx7n/gIXZ39/jpiy/y5htvcf/9D3LPvZcZjUfcvnNLnLaN1L+dazCYwfc8hUD0Mdf3KnvDiAbaDHGPhuAilMK07LoF3nlCGBGVpywrjK3Z2J7iu8jO6VNoBRvTDTamGxweH3Fnbxe3DOwujjDnK+zWmMZFUB4fHEUp5lCF1Sdk6ymjmG3TYnQhTanVOTKUFeJniiwnrCRPOlNoZS/XmQ1UimmoNiLbyZpaoxXRh1yLOkFTcyxp2zrxMOlyL5ALOJ3jmkRnqylrSe+IXvSmhD5uaTSs8yFG2sWSGBNVXYvUyDu86R25FbYoM9tNaL39ULTXRo/GI6wR76K2aWm7jtnxjNlsQQiJ0WiEtYKwxuhxwdE0LSkGppOJ9AgxUJqCclSL5KSqKWthHPWfKzQRhSHkusQWdqh5dDYm62PKjFE5mkjSZpq2zX2N1Mb93mCyi7UPUc5fdtHWWpykU0xYrZmOamKMlFUlYFyM2ePpwz0+dGPrXEvbJtq2E51BvlG1MeLCmR1gY0xZEyUas8Y7GI3EurtpMdZipwKrd8ERfBR3Y0pUUeYFXFBL7yTLSRvFZDoSjSPQJc+8aTNaJgiKAZQymLHB2kzjKmzW3UDTdBglWk6bxHBKJZXRT01MUhx4H5k1bXb+ipTGCopppahu2pbRaISbOZbzOWmUqYs656ImuRnqMtI6j+sCYGUK5kEFBT5QKHHWdd4ROodzgWhgPJmwMd3i6OgQnQ1hnPODxkmpVUGUlAi447Hn4OCQ0lZQysSpNBaCJ8aCDih6yrJ3aDTWisETSAySi4GiKkAL7aGfqLetoywrKWJ1yjRcoVKfO39W3FHz4NqaAoXEh/iuFR1zkpxMl1yOR9C4JMY/3vscJG6oyhKDYntjk1PbpxmPN+lcIngx5mm6juP5DJ8CzWLGbDln2cyFcqQkN0wrRXKJthUadFGW1GWFxlBbg8ISPYzrMRfOn+f82QuC4OYFjaSos3Nc17USQ5SbWl3YtexAxUrjJQYhfZ6hWkNc+7ieOOgNc6EjMMFQ8MfUN8mi0x40Smq9IVht/CEjQFGr7NCYnXljYlTWqCixTov5ghgTD9x/P3/73/l3+YVP/wL33HvP0HCcOrXJH/3D/5rFErA1Shm0KdBKEEmtDRsbU6qqZnd/P1vrK4rxmMc+/Qm+9PlP8thHH+Xq1XeYTjeoypZv/id/yovPv4BRCRfanNXZI10ycFBG4hYKJRRkY+CzX/l0pizKYzab8dRTP+SzTzxxwvBqPB6zXC45nh3z8ssvc+b0FtqWhAinT59lOV/yyMMPU412hzpiFS0jSK3K50AP2MuK1yfH2gwt14CWSwJ0NvxKJwo5GVxZPvqxT5KiYr5c8Norr54oxmVQ0BehGYlKffxOGDRpve4kJRn6VeOapGIGOfVAZxuojiHy1Pe/z5Nf+ALf+MffQJHwIbK5cT+/85f/pzz5xftYzI6o6zH33Xsfm5ubPPP004zKkoODI86fP8vly5f54Y+f5fDwkOPjY7a2ttjc3OQnP72zKgoIg3lZCNknoVhHoFfNqCatFbH5Oldrx3mgeOpe4Zy1aBn5WCtyhYWSsk4un6RsFCb3DoMJjDaa4+PZEAd2/Nb1oRhFiylLVeZGOd+7znm6TprBsrK4LtIslmxOaubHc3EbjWLMYnvjmUxJ65RM+EMKVEWF6xzaSnNcGHHXH/SPeVM3RoMRBMm7sMoKTeRiWpoupaHrGkKKA93btR17e3u0zqMNbG2OOZq1tC6holwbB4cHtN0FPvrRj3Lz1m2MyjpBZTL6Yrh9ew/nlkynU7z3PPnFz+N84tVX36QqLM/8+Bnuve+f47jt2JhU8nZVGoorhrmOguR49pmnOX32LGfOnhUam/dMplOe/Mqv8I0/+gOhIGuNylrCE1rQu3TmsNYw5FzSAbHVq3wttdZXiX/FKj7nxGMYfPQZtEac0HV/H2VH777B7V1y6a/d/J7XgmP7tST02sn8fiWyS14qqpUhYMwfR/fXIpmh4zuODnb5zre+yezwmM99/rM88fnPs7WzzT/+4z9kMT8emAc95pFSGpBZpUC5FXUaVjT9uHZsGMiBa4dlzbBQvo4rs601rf/Jc7P62/57q3t11TSvkNoPeo58XiPZJVplBsjJ575bpiMYiEdFRbM45rlnn+G96+/y2c99jo9+7DHquuK+hx7m8r338ebrr/GtP/szdndvy9oTAkmyt0i54tUDYXPtGOThXTZLzmrydYi6Z6zEgRuQyVZ5L+nXr951+eSx7o9TSplK3tOgMwV+mJenmLXUOtNqTyLnKWscex+XsirQRlOcP8P2zue5evUaP3vlDd55+00uXbnAPffeg7KK9957l6PZUjSWTYe1YtZlCktRlkLT7Z3pc/NhtKSOWGOEP5CbfaU1Vlu6dkHbdVhrqKoxRVmhKTKIA6YwnD17ltOnT3Px0kVuvHeT3Tv7eBc42j/meH4MWvbBs+fOEvB5/8054Di8E2+aqrYCAkRP2wa8F8AppYTFZpMnw6nts9x73/344HnmR09lFltuqrTClAXWWLqmw7WSoKJIJK1IRhDW3kFaZ+MmVPYKyJGY3jWYnEzSy0mkKStwMZKCMKpiHpbaskRbAQPn8wU+RkonEYVFWRKjOCJHoGk78WTIhlgpxwaVdUVpsulg1+J8YL5omM3nzOZLUkpsb20JsFcGkhFWmPOeLjSM6oqiUBSZfWaNohqNsobZEFKEEOR4x0RdFIyKUjJxU8IaqZ9CHu3ZZIacXaMVSpci80tQFjXWJGGlyQaC643ach8SQkBl52qroR6PCE4Go6Q4xB0Zo7CmIPkPH/nzoRvbSxcugoK33npHCsUcOr6yVc/Zi3qV0TgajTB5QluUoqWMw/hQNgJPWItGkQtcZwQlpsDx7IhmOZOT0+UIjsIMMTH9tKSntySTLb5zDEQIEUvCRw/GUtUV2soUkJRwOR/L5GzclBB6c75563KELSxJJ4kSyVz/qqo4PDzCWCfvNbj82bNzWIzoHOsgocfyXsvCMJlMWMznlKZAo1h04iCtdKTtOtxeMzxHCIEqOyx3oRFXuTzBMjmK4uzZszRNmykkQsUdj8aCQuZjG0Kgriq8y1QXY6SszJliPnhSlzLCVeSBQO/OF1kulxRWLLtDEGpcYQvOnjnDYimU7aYTRJ3NDeH9Hx8TvSci+ZLWWo5nx8OinKLQgStdcHrnFBvTDU6fOo3RdV5IjJgOxMh8OefG7Vscz49wSeI16lGFDXbIMuuLophvipTff1VUqAAqGbCWSxcuc/7sOYIPsnUlhWv9sMl1XUdKEgliy2qFPCXWNsIVYrCK3FlrRNNaoZHDvWPOOmOQyQ7tVh6MhAEBGEoAtdLE9BuOxNSooaEd3lBMjOsaBSyzM3lKiXvvvZeN8YR//Ed/wv/kX/2XB5OmBx68n49/4gG+8fVvESjyoEgqpr4ouWUsp06fQhXSEMxmc2bzBa+/+izf+MOKlDw2GQnVJpBSoFBJBkGtOIibvigLMu2WKASV42ksGxtbPP6Zx0/QBF966UWuX7vGg3/9r59Yh8qioGkabt+6zXSyQUqOoqpwPlBVIx544EHKrK0ajkvfsPb163qxspKDrg5jLg7lXK0atr6p1EoPeskexTh//iLnz19EoXn1lZ9xcLA//K33XtD+PlJpoOD2iMhaPEd+xAg+Rkajsbgzdm4YgAzXQZ6svvPOOzz2kY/z4IMP8Prrrwm9arTB+fNXqOttjg6X7O4tOXPaY63neJFoXKRNBdGOeevdmzRtR9ft4Zzj3nvv46c//Wl2NZf3WttS5B5VhbGaa9fexVq7KthWbMRh4zOq95btCz211pz2B6BH3/IxXbsGUs6l7QtC8UCIwzEfCmWlCN5T5Sxb55w4Y+vrUtDKfJ0ELBYLxuMRk/GE0WjEZDol3Nxld3eXK/dckqFWK3TGoiiZbmwQug4Vg2iOgsdng5O26/LeVg3slxhl32uahrZbDloy7z1WQwqes2fOsLu7RzfQcdUQ2dIPU7zL905hM6opzfR4PML6CDTcf+89/PSFV3JzKGvIwdEhb7/zNp/5hccpS0s1qtnfm6G0JQXR27740is8+MAlDg4OqM6e4f777+fwaMbzL7wo0Uum4KfPv8wnPvoYbRcZjwqUjkNTP9xF+Vwu5jOe+v53+dVf/w1x6/eB5Dqu3PcAj338Uzz7zNM559uidUJFfxLF+m95DNrRdS1n39wOv7We03oSfe3Ry4E5u/bM/Z+sR6mdAG6H+dX6cHH1yutrfj947I3/tFIDAyOdeK7+feWoQN8ynwWeefopZoeHfPEXv8wjj36EjY0p/+RP/hE33rshg8b1gY/qHac1yuRhQ69oGYZj8YTT/snHydzu1Xc/4DfXGtr3mWytHcsPfPR75PvQ3Rynhl5D89/vO9B/5nU9c0pezqfzXL9+jT/6R7u89OJLfOnLX+See+/BFgWPPPZRLl25wve+/U2e/8mzknSRj4lzOQ7FGNAqU41Xx6036hyuOdbXrP5jpeE9Z1QjN6onqd79x9G6J/P3BmD9Z2EY7PUyF/otK/ZpB6sIvn5IJk+uh4YXoCh6LkHBgw/cy6WLF7hx4yY/e+0Nnn7qac5fusgDD95HWRe8885bHB3tU5cjmk78AYyJOZlCDxrlGBOFzRKTzByRaE9hwNWVsAG74PC+pXVCgy2Kiu2tbXwbhwhOW1jGdsylSxfZ2tri8PCI2eyYGCIH+weMxyP27xwSY+TU6S1SKUhqCHJ9W9MfB4UpNItFQ/BQ6pKEaDdBcenivfwb//b/kY2tbV554XmeffZFQmpJtBDFoEv8BZb4ViRmnXMYLbRa513225ChWpEz67XW2cAtUdkC70t8bmarqkIrzbJZgl4/R4K+CrNVwCnRgsv5bXPvokOgWTSCiuYmWRuDVgIAhhAxhexf89kS749xjaDBznWEABubm4zqmulkLPMSE2hdJ4BZjIxGNaNSBg4ja2WAYTTaamxuA5uuy7KXSKENwWhKI0MN55x81rIUBmlKKBMJKaF0wbJZElPEFgVoI7T6uAJsUh+5lJMitDYy8EyC0NZVJf4XOIIPVIXFWkObHZT7GKMP+/jQjW1hJDLkwtkz3Lp1SwTRSrxDYxIdiFYGozQajescTnk2phMCkW4xQ2XHseA7cQ0lYguFLTVFnXBxzqgaUdpSzJeSY/fwmKZpqaqaZCQHMjV5apFpvylEylJopiE4ooPSjOXmdELp9L4jWEegyKZWJcumo4tRaAwx52gpyZrTMFzIKgnSWqqCjoZu2aBTYFLXFGUhpiopYk3B6Z3TzA6OcE1HsoJiRgWdE8fiEIXeiTLZpCFQV2RzooRWkeV8LlrfshDqSR5Pa1MyKitUVLi2E9Qvi7XPnjsvzU5KmMzjVxkBk+Yali4b6hg1NFOkJOJ1JXz8EL2Yq2TnWltaoYmoioSmc34owpQWt8cYAy5GoSIHzaJZMNkYI7FoidZJ/lahClzosGYkrr5RMymn3HfpCmdOnyNFJaYFToK7balYdh139m6zd7jP0eJY4pYIol3RIjpNSq4DlSJFVUg2b9cRQ6QwOe83eC6cvcDly/dTFBXBOYjZmTRmWnjS+CgMgq3N6dDYyOYi9O0U5ZipHtXLjsiDv6cSZEgrRW9LERErfaNM32dlCtJqOp0y5apfvJVS2Ly4qpSpUv0ovEfssuPreg9X12LM0LYNi4W4SI8nYx565EF+/x/8Pr/zV/4yZ86eyQZTBf/CX/sbfPcb32LZzAjKEpVklpGb9hA9e/u3wMBkMuXJJz/Lz159lfOXL/PutXfRSvEXf/3X+dGPnuHo6JD/xf/8f8bzP3maU6fP8v/8z/5z9vZ3pamIcnxRBp2bOYVGJc1HP/ZRLly6MKw1MUa++Wd/RoyRBx584MSCprPlvPeO3d1dtrY2eOKJJ+i6FoiMR9WJY7KqSdZskXMjKdh4r38WDccKQcruprmgH6hxfVFCdkIOAR89n/j0pyX+isCLL79Eim5o4LwLVLVIHtaHBqRsUpI1LSQz0Nl80ARjsdWEZAp8cuxs7+BCwAVPyMZx5MHTd7/7XX7zN3+L6zevcXBwwNuvvcT//T/8j9jcnhC8Z//ggLIsJfLMtaTkhuu165YcHb6Hdy1XrlxhsVhwZ3eXmKALkYsXL1IWlQy4miVts8QWFUVViRFc9KRo87lbDQZIom9Xqkc5cpS7ihmhCHnDspIB7r2IghEH8eQDVVnnzN2ssRmgup5amjeyLJMJIRFcy+a4ZjoqOZg7iftJEULitTff4LGPPEx7uMDFgDZgTOJgf49777kizA8tw4jRqEbhee/dq0TXYTJqaLJxFEqJvjWIKZDKuaOqE+2dijKtXi6WUlCMplRlyaOPPsZ3vvNd2UMR9DZmbXfnWolRUJroA5UtSV40uSqK4Ugyiq2NKbOj6xBFaxny1RZi4L3rNzi4d5/LFy/Tdp6DvSPAgU4cHB/Bkecjjz3Ectmyu7vPxsYmb731Fs1yyXRasrt7h8PDIx66/wFSNGg041poZ30iDarXQovHwo3r7/DTZ5/hiS98EYwRKUjw/MLnv8SNm7e4eeNdClOgFViVCKpH9nTGNO6mw+av842aslRAZ1RxdR2suTb1tzn6A5otO7AH1EB1ZRUNotMwcOobmRP+Bms5pOuMjXU9cD+MVspkKmrMr2ck4mHtddcHVL7tWPrI8y88y+H8gM9/4UlG4wlf/uVf5x/9wz+gnc9yQxsHzWVUwjpRRuf3nu876ZqGAWJPBlhv3NXa4Rs+64lhwAc3mOs//+AGdzgj60++NgBeDSiECcKQwrD+uiq7wYu5dP493QOmcq3oqFAq4NvIG6++zI3r7/ALn/4sn/ncZ9na3mQy2uBXf+3X+ejHPsZ3v/3nvP3WGwMzIg6u1eKloPI1pZPK+dj9ejXsUnLM86FWa5RjNRzQ1edf9TXrx3E1wOuZCjG7DyttCCENmtsVSp1lTyqnN6g15Daj3ugVRd5ai8l+BXVZMh2PuOfyFW7dvsMLL7/E97/7Hc6du8D99z3IxbP30nVLbt66TtcuiL6hHo1ZdA31qM7mWCXaVFkeGAkRZk2LRoAJqwK2sNSmYBmDME5IaAL7e7clmcEWTCYb+MbTOk/wHms1Z85us3NqyrnzZ9jb3Wd2PKNdNDjvOEJRVJYUI5vbkkCBijmqTlPYCq0CUcsgXQ8mqYa63mY82UKpCh8sTVtirKPIA1rfRtp2KZ4XpBxVp2R9yPRzca4PpOgJSkzGVEwYbaXJC8iBj16QTicSph5oWsznwvJUvU7W0bqOImvnq6qALmattmI2m9G0HVU1YlwWuRmUNI6QBHwhJZrFgrbphGW0dBlR1oxsRTkeCbuusHSuY75saNoGpUReWduKQmsKozPLFqFuJ0GhgwuozBAoCzG0VTlKrlAWm3s9nRgcqVsvgBgaHEn6jxiETeWlHoeEC4ouyyWj87LHlgbvAhaFLUUa2CwavHfy/JWAhN5FaW5Tognu5645dz8+dGO7tb3J/t4eVVlw+tQOx7N5dnEM6JQkpFpHNGBNjVJC51wsl2xvbyB2QZkClhlFEWlUqxz6rDSUVSGh5YUgpE1o6JKX4jhFdKXxPrL0ksPoEYff4AOllgYiZkTZZqtwlyS3qXNijy1TaTH/8C5SG8mU0jGSMkJWWZv57+KuF3wQIXVRiN7CR8Z1IVQ8bVBGbpymaZhOJjgbMvUrU5SMEUqxUiwXUhzq7N5WlhVFWcqFA4yys+u4HhGCl9/VCk8iell5u6ajHtV5AUxyE4RAWVWYQprpZNSw2WmTNQW95ib1zbISGokRt1WZ8uSpijGUPec+aUE4s55rNK6Hjd4Yw9J1WacGnXewXGS7eUMKSSY6MYh+M0TqqmZST7l4/iIb0x1I2WyodbQu4FJkeXzI9RvXOV4csGgWhBgkMDopnHek5MW5ecity4VFjNlYSTalUTXm0j0X2Nk8DcoO9FjvPYUR/VMIEnBdVCWTyVRu7DwZV6hMCQy5oVUD5Sqa3pm4b2rXC+7V5DYSc+beyj15/REym+Fuc49VE7Q+WVfZ2W/tCTJqYK2VIcayYf/ggBA8xlR89Vd+mX/wD/6Ar//x1/ndf+l38/tSfPYLou96+odPC3LR9289IqkUMQptxJUFX/nFL/Hkl75A0pavf/1PuHjxEucvnOc3fvM3+G/+m3/I8WLJQ48+DsqibJkNfARNjkM8R0bQMjXxa7/yNbmvcgG1e+cOP/jB99na2uL8+fOrz53dbwdkm8SZM2c4c+YMz/34We69cs8w2Y5rDerw37T2H7X+494WZpVbOWQV9sdivZgb3KLlftjY3OKBhx8mKbh+7To3bryXm7mUNT569S6ylkpeQ7RUrgu0nce1kWY8JhaWazd2Oewcewdzki6kXAiBuq4ZWZN1nh1HBwcURjObz/je97/H7/7u3+T3/u7v0TQNb7/7Y9S1NNCay7IcTEm0DkNMgdGG06d3GI/HbG5MeP75F6jHOcMuOPYODyX3OkRpLEiMp1Pqulo5n58Q7N3t8Hzy0VOpY5JiQeV867bthvPWa82N6bM9+3N48rl7o1OdM7xjjBjYa58AAQAASURBVETnMLakqgrSrBs0kTFFFstl1hlLvrM1is3NKYeHB8P57fJQjBhpmlYMRJQiBYcPvVZU1o3Fcimu9lGm6n0xmqI8z3giGZAhyHBhPBrxwisv41MfnyZdRk9X7gttbY1o2XLURdRitliUJbHtSCgefvhBinqLH/7ouTwM01laEXn99Tf49Kc/zauvv8F4PKbpmqwXlDVyNluwe+cWv/DJTzCbzTl//jyXL9/D/v4hL7/8Gs45nnvuOb78pSdp25ZRPRrOy+rw9zElQnl75ZUXuXzvfVy8eBG0MLCqsuArv/wr/MO///8idMJqMkYcQwnC0PKuH1qc9BggG+qQjUZCjGtGVhlx7ResoblVJxqoft3QrJ4f1NBURqQRXF+Oe4oyqx40o3SrodTKPGm1jvRrTw/kDXPIvK/3rLJ+AVJKYdCoopD4Px94+603ePf6Nay2FNmtvEekV8+3tq71kUqZ1hpzrq5Oq6zZFTa7brKV1tx+ObHn9MyBfj9d/Ypa+4wnm9F01/40fO/nvIYxZjBNWh3TdPLv1iLzdDrZUPfHMSFa5GZ5zA+f/h7vvHuNJ554gkcffphqXHLp0n385b/6N/jZKy/xve98m4O93WFtFiaFsOr0YMO4dlbTcNROMgaGyqcfeMJEGyZ3JQ/IPb36i74kWA2iIyEjs6S7KPp94lm+L3oWl87GhWuFgazn/cWdzepSTMQiESvFvRtbfOzSJfb2d3nttdfZfeU1Ll26xAP3XuHjFy5y8+Z1jmcHFGVJV3RUoyqjszYPILIMIaSsr8+fL6Xs8g9N0Uj2am56YgiZKShAwZ53LJLDJY+tRmxvb2My3frMmXPMjo7o2o733ruO8575TNxwj48aYtA5qkhRjzTOheF1lF5lwwubR+GXLbPb+7zz6usUyvRIQkZsDdG5gT4LAgQFH4nOS9NHL6mU/aK0mkLL0MA5T+iHCSnio0QrJsCWObs+pyZ0XUfn3JBSorMov9BS687mM/HxWS7RpiDkzFzykCImqeecc7Rth+s6YRygmUzFRLesRhgrLpFd19As3DC8mlQ1hc1eGtZijTS2KaZBe6xyZE9h7bA/WGMz8SUNe5I1FghiKhqDxKxGqQdc8JI3r0T3672kywijCzGeBXzXiRGVsYPXT89kEGmlgGxVJekoMUZciMwWcwEOi/8vuCIXZSFRHi4Id95qQux1gR6I2KqmLAqm4xHOtxSFZGRF5xlVFVZbgpcL3jtPoS1lXVBXBboEnyQztdAlhQZbWWyyaAspCTXCZLMpm/qF3GNKCW9ednPKosxU5A6LQVuZnOiUtQoqDtmnRWnR0ZOyFhQrk4ngA20uTKyB5AzEiIsebRW2KhkZ+WzBBxrXCeIZAk27xCuHirKodc7hicQEVTYfEi2DFbqZAm0qqqpG5bl7UjLlabwnxUg9GokBEzLBELtt+Vpob06yaQstWbnJcnx4TOscygpCPC4LqrLEtS3OeWKe/is0XdeHx1ti7HIQtsTlYBRlLRSV4BzGaFxMkEpG1TbBLUlxTllYWUhDpO0cXbNEK0W37IcBmhQio7KmNAUbk20uX7yHUT2mc5GD+XKIdVq0C44Wc27t3mKxPMZUGlOKS1tdjkToHws612UKnhHNdhuwRgrFwlisKdje2OHC+YtsTjeJQedw7pAz9wwu9AYuidF4RFlVQpdLmcDWa2CVwqSMnmcq4mBDD1ljS9YcZs1QP87NcEpUfVMbs8ObWsU2JIVK4lwYBx2ZFuOLnr266o7y36w2wv5R56iTtms5OjzCu0BZJh559DHOXzzLH/7BH/Cbv/Wb7JzeAWAynfJX/4W/zgvP/IA2RtygVxP9BEGKdJUibtnw7DPP8sabb1KPxhweHWGV4e+/9DJ1VXG0f8jf/72/x1tvvcOZM2c43N3DLYXeUhgoc0MmVu8GExP3X7qXL//il098hp889yynT5/hX/5b/yqTyWRtFZICTtAxxZ07d/j3/4N/n7NnzxCT5AKmUnKtTY8CrdG9BT2R496bhzCQEhWocHLgkDfE2MdfDH9iMl1LDB/uvf8hXIgc7+3yzLPP4H2HzUOMrmuFnplRCJ1SpnuJI+KNm7u89PKrHGfjh1//ra9x36jimWdfZHe+pOuWFGVNNRJ9/7JzmR4nb8YWuVlFc+PWTb75re/yC7/wWXb39/H5WivLYqDyaGMGRoAgjzHTdz0HR0fcunWbT376cX76wotCc0J03ynmOLS+wFKKEGGxaNaGPfIzm9EFjUanzBrRq/zebL6a86xl6AOKtl2s6e1SHtSVkN2eSeKIGeO61mboeikLO2QHpxQpi4oYj1HaiPFTFCrU4eEh1lq6pmVn5xRaG47msyGHUKmE8x3jumYymbK5scnB7h15XqnFiFHi00KIGKUxyhDaSNKaLuYs7qIkhEjTdgPq37qOmzdvUZYlUcle0MfCOOcytUthrJH8v4QMaH1ic2ObpORcO+/RCna2a6oi0XSemMxQkL1z7RpX7ruPtmt59NGH+clPnxMHbukneePNt4VmqC37h0dMJiPOnj3PtWs3aJqG7Z1T3L59mx/+8Gk++8SnJctRpYwcyUBhoOjl5jIFz4+f/gE7v/6b1JVQkomB02dP86Vf/Bp//o0/wVhhroBC+ZgzfSMp9ah8T1tbxUillNBJD9cLPfL1PiKtIumcWSp/uNKSrjE41tfN3tgpxXyfr2lPdVqnl/a9c9/ohawbv6vJGMja2XhCYOEsu3j/76MS2kCpxQAzRA8uobAkFGVdMhpLhmgcUMSUAeD15nLVrPdU5JRCRifVYFDWO4uujsPJBpWco95rv5VSOZOeodlfmxD83MeJJjW/4vra2ssXUj+byGtt/+/BA0Hl5jYmlIorrXDPmtEyfA1oYnC8++4b3Lx5nZ898DBf+sUvcf7CeWxR8bFPfpp7732AZ3/8Q5595imaRqILQxC2Vi/rUOi8p+thuOv7+KaYBlOoEw19gkfrEU+Mpieuxv8+PE6cpYv3kT76+EqC03fZFx/4cAj8Xc83zO4/hKTgv3z9x/zB688RYuS4PaILDZuTKTvbZxibMUVlic4zntbMZzMODw+ZzebM53PathXAaGPK9vZYIi+LgvF4lHsJiRksCsv1t17nh//hf8y9+wte/M53mNyzTWM6QRCNFXqwtagYKYyYRmmtCCrRdsu1OD2p7YpC9MtoI/1PDGve6ML2kzVHEaKi7bo80E44FyEqiS4ymYUQgrBzeplSkHUk9syNpmE6GQvAlk0D5/Mli4XLg2XY2tpkPDZsbkwEMAuBRdeyXC5EO641k8mIzY0pKQSMViLHU2KmFgiYUtDFEKEe1YzqmvnxTJiS2srQXpAIXAqC3GpL54QxprWknIDGYIU5YKEwGp8S3tvB2E6rSGklW7kwRphPSkkKjVLUoxKSeAOp7GXTzOeyD8CQCGNs8U+9zvrHP5Mr8rJZ0iyl8SFvLjGujBPqqmQyqSlKy+bWRGiobTsUK/30XSlNYQu0NSJ8txGKSOMzD7ufvEfJmEpG0IrAanpocxZuCDlvNQlCuvRLdCVB2kkldDLYvEAXRUFIXpA3YyiMoeukCLJay1QiRpJKEsvnJPhbKycJcCmSoiImQczokbMk1LmVyU0i4XEhcDSf54lGQVVuyo3SF4eZ6tw5h7WF0CWQRdt1WWOlNeT4FVsUgjQGL3lTSWFtRVVK6HuKiW7ZMi4qpqMxvjuka1uCNjhj0YVMtYyWG7XPTe2LwbLUmc4nURT9YhdjJIVIYYWjH73j137tL/Nrv/lX2L11nX/yJ3+Pp576FroyONcSU4GOWceSGNwFjdJsb2xxduccdTVlVE9WaI8SGqLvPLf3d9k93GPZzUH3oesaYxUheGkAc0aitRarrVAeTTZy0IZxNWV7c4tLF++hKoVG6V3AhSR6vKKUSA4XsEXBaDRmlBHw9b27d9PsnYt1bmJ1Pi59GdOb2yid0ck4+AN9wCZvcozLehBD/7qrbaSf/q/qoRUCnNZ+d2XiIZlwZVUQvGe5XAq9E9g5fZpPfPKTfPMb3+Sf/OM/5X/w1//KMLH72q/9Bf7Lhx/lpZfeIFmhX6fosBnJTn1u6rLhj//B79M5PzRH1+qKwopOJXjPjfQmKgSu3XqPQifGpaE0hrKA6WTC1uYW4+mY6dYmF67cw1/9G3+TU6dPnVhrPvbxj/N/+eKXmEyn70P+7ty5k50GC/Z2b3Hz5k0uXbqIz5ErPbqxwlZUdkbNaNhdBV1/v2XYPx9zPTSO/fP197UUinFYn5TSvPTiS7x79TqzxYymawbEpne0NTmXNeWikaxtf++99/je959ltuxQypKUzTmmsFx6FgsnxzUiNN6ezrjCpoZhdAYLeO2113jzzbdIA/q+0nzfjYalNf1LyGwODdy4eZOktKBIKQx6eCme1eBiq1LCZXnDwABRqwJ7QHVYR7rScCWfrKXSWj7nCvGQQZMa9hj5KPoEKi/oi+fUqVOM6pouuycqrbLWMQ8CcmM+Hk+YjEfigmkty0Yc/OfzBeNJRQyis90YTxiPxmzv7HDz+jXquhQkIjvGq3V6oJY9zfuQm8uAUhbvpVmx+b5SleiSZQvNqH9IlHlKvdIbiiNq9DIdLwpJF+i8ROEdHh1xdHzMvGkpCyNZ3f1ikSUmr7zyCmfOnOHee+/lJz99To5BlEZ8f/+Ac2fPUJQV77xzlUuXzuJcx1tvvSl0u65jdnzE/t4ej33kUTY2ThNjh1JZh5jz0iGuIX+Rvd3bvPLiC3zq8SdQVqhpxMBDjz7GtXff5vXXXqG0doCuBpmHBEiJIW0S1/L+WkkZAV9/KBjuc7n+c1On1hAupQYK6wdFRayQsTQ4oae1daEnCay/5vole7KeHwT8A4LUI6arv77r/eeJZR8vJs8vjqpyXAxN02ILMZhJrhOTSwTtuJserNBilDPkfGaid38c41rTntGj1fDg5Odaz1O/e1/qPaLvfv3+Xkx3H7gP0/msAPfhufu58Dr7qUegUx48J7kE8SkIug/EbsHLr7zA9feu8djHP84nP/VJtne2hd79la/yyKOP8P3vfpc333hDouhSwkc3DP5SjoJTw2ulgRHWL7ZytFdMFQ2YfwYN4H+nD71q0vl57/GDvr+ucfpvff4+v+Xnx7FIwo24TUcvOehH80OapmVrYwetxMV3e3uLjemU8+fPc3h4xHs3bnJ8PIPc4BzsH5OITMcjManViqIo87nTzG6/h3vjJdJin/HyHTZGJcpamtbndXvl6jsAuXkAbLRQiXs0nxSkCc7rquhfNd7JPWiMGeLaTDa2izEMZqRVJY2YySyVpl3SeZ/NvyxVVaGMJfRaayXXcuccITOFnHccz+d0S2FYbYxHTCcTRmN5PR8CpMDx8RE6Z7GX1lIYI9dwDyZoNfhTGGtpXSsmj5EhklBpRWHk8/bRc8CQ7OKSk71Y9fFJ/RqXdeu6T5KAwoBzUd5fTFgjVOYqZwbb3KR2Ttyih34uM6b6RwheBvdJ6pEP+/jQjW3TiDDcZf55HznTdVI4m9JgrFhlx9jTISJbGxt0rqVplpL3FxPEHLOR6XGRDp/yhZc02kizFXw2OsobPTprkJLFlmJyU9lC0ONO4mVE+J1woSM4acaiMpIdG6JkZuWMLpUnJX0A+XK5pNCGzc1NvPMSSRQSQYsWuDcMcc4xrmtKYym1pS5qihTwIWBNJe6nMRKcQ2vJHvNR9DHOSUCxMQaTN9aQHElFPBIw3jkxHhnpMUpZQi5a5O+KTCXwKK1om44YgyCfnaNzgW4pdJLCGlSE0mgqXVBgcb7DpUA1rlBaZedNj4mGthUxu9Ca41BIdm2H1VYoBEGatbLcYHPrFFvbp7h95wbf//53qG2N99nMS8tzFNpSlzUpwaUL5zl7+jzTelvoCmh8iCzbhqQVzjXcvnOLG7s38GkJJmVTJZ+vA9HQpdC7Q1t8lwh0KDSlHZESjEZjLl++zM7WjtjaB+iagHdRMsNMnVkGmqoumE6nJxx5yXEMw9cxipNmnsmnPhQx04Bi6B1g+1zNrCnNyFGvq1XZmbrX1sS1DVs+X8wNY08Zi4NDI2tZgAN62zdQ/WQd2Njc4OzZLTweZUxuiuR6+1f+lX+N+dExf/6nf8Kv/8avsrm1Bbnp/Tf+9v+B//P//m9z+3BfFhpthGaUn7uqK7QRB8CqKqnriunGBptb24xGY4wtqOqS7e0t6npEXddMNyby7/GEshwxqsfU46k4k1uLzpvGqiiS43Dx0uWh6fJe6Dld23Fnd49vf+v7GG0pi5KmXbC9tUVwonXZGE9EHxn16rDm+DA9CJiEtrpyVc0UZBXXCtLcEA4wj1qZO2UtZG+sRqb+zY/28V2LTRIXFBEb/94MgjwIBEUKkkd5tH/I/GhGMqUwPiRsCEj4GOh8x6KZMZ8fi27byBRX58Kzxy1VX1vkAUvKF0lMa4OTPpKk/zx3l+Unk6TeBzn01wE5S5OUCEacewdWA/11unIH7Te+ENLKATiPiILP2Y2Zmtw1rXgvaC0Zzors2FngXTcUuKp3Gu8/WI52SypS1hJnoZRmPBqJ+jRZGTApRYyKWzf3uHLxHEWhKbTi1PYmV6+9x+7tW0wm95Gipl22hGlguVwKE0Bpoaz1saW9Jq+/SmISQ7SU6FqXIzOyOVSIdJ0MdouikDPsJX7DKMk+XMzmtJ0XQw/EURwj52zRNmKW2ArNWWlFNao5M6qZLFsm4w3efOsa797cJ2klnhcxcmdvj1OnZGhUFQWTyZTdvf3hqkcpfvba67TLBqUsx8fH/NJXvkRhK1555TXevnoVR+Kpp3/Mb/3Wb6CipyqlSTR5mq979FWlQZ/+0gs/4dz5C1y8fE9usmXC/9kv/CL7d3aZHe7TGxxL/6Yy+2F1/dMP9tIgIT3xMwYUrzdWypdWzEyZoShfDSf751x9HYeGVCM63thrOXva8V2DoIFmPAzAdL557nreyPDLaqCo3t2IZms1vfJoKKzBRAje578RE0eiZlyPh/qjz3bWeTNIZFQ15RgStCCtWoZxPh8fo0/e2OsNaYz9XiXkaWnsYr/sDZTsvgW/e+h499Ds5I/Xz50ehrNqtb0Ne+TAqFmTh6z+dmXolPJ9J0+SCClJxrJSODz7h3f4wfef4pWXf8bjT3yGRx55hMl4wplz9/CX/spf4/WfvcoPvvlNbt1+jz5cIKZ+v9CDUag6kSUfCf0QZIhfimvSl/8ePba34aGH4exZCB6uX4fXX4d/WmyKtXDvvfK/ooT33oM334D5/OTvjUby/BcvSvN8+5Y8/+Hh+58zRarCEINC2RyxGcXYqOgKklOMR1NB9DLTZWNrh2osOfXL+Zw7t29zeHRIipFDtyR4y2hSifFpCIwnNRNbs1HUTO+5D669Sx0VXhc0yRGcp1CKEANd8NRVSRgixAwC6KoBkCtzTKDOrsRGF8QQidHjY2CWHIvlkqooUc5RF1bqjezyXI8rXNcRQ0cMCh88LnhG9TizRVT+dyl1PSJtiSHg2o6FX0q9ohWl1VRlyc7WhkggjWK2nIvZk3OkkKhGNZWVyLvNiUiFUgx5XVV0eXitXKBbOKpKrt+ubQk5jmhUC7U8+ST1MlCUQn+PIXtBZHp8keUzuhBArPMiYbRa40IQHpexkIQBWpU2mwiu1hxtNPO2oR6JAVcKAQ0Uveu3LWh1xMRMl/qQjw/d2EYvlEibJP+18+LuJQ65jtqMRFPpE861lGXBuK7FRatpsD1ypaALEgNksVTlNskYjpZys4UQCE3IFuqIRlPLQcWDCnrITlJGGt6yqAll1k8Zg7WGznmWTUMoI6ksCS7QuJaqHAm83jmauCRlJJe8dPrgV+iF0cSgaNsWicyK0sBng57eAbooCgwWHQSlJSmqoqDTEhExnYyksVXQdS0xRDamG4NpTFnlolEHdJJm3zlP0zaU5SYmXzhokydJmUKVj1f/qEoJmu6cRKr0NKzCFkLPztE7wcvgwFizMoLKN7TVhqBETwyJuq5y0ZronAwLQlAsFsv8qorJdIuqqoXebBUxig6itiXjcsTp7VNs7+yws30Ko0tC0IPWcLFsOJofg4Lj5TF7+3syTbJSCFtrCcFnjbQjBkdpa1JEsrlCELTdlozHEzY3tzh9+iw7WzuZPim65D5GR7IhZROqqorxeJxNotYzY9PJTXptU+0dSNcLp+H3+klfn4eZYs6v7FGHvqnNv393g5HNUZJe0ToT2SFRn2w2VnqpDC1nVKssS5747BN863s/Ym9vX+zXc411/0MP8X/69/8Dbt++lRkH+WWV4nNf/gr/6e/9XZaLhRSsRucw8cywyE7DPX1vHQ1bK0+G973659okX77IGW2Jdunouo7FsmWxWLC7d8hrr7/N3u4Rs9mCg4N99vb22L19i9nsiMODff7Cr3+NBx98iFdeeZngA5cvX8Y5x5lTp9nc3OT4+HD4TKvPt3orcjzjCg2gfz+ZzreWIbt6/yv3Yzn2MUc75AxDbcRNUUn5HXLRH7MBUYqBzjmWbZMHfoqqrPCuyfKDkFV460V9JCZHCJ0gkMKUzuYcg6JhKDb1gCj012vv8vNB1zFrgSB3P+7uaNWgq1VZt07+t2sS88NDYnBiR59ZDCH0+Y694dka2jKwGHvK6Or1nBMNZq9zQom2pywLfNcM8Rj9p1l/fynJejGdTpkdH6OUYufUKYx+J0/E+1lUYn9vn/NndpjPGoxRaFNQFoZbt29xfzYriyGyWDaZRp44ffYcs8MDYbfkmK3h8+S9qOs6jLUkH6nqCqXEJ6LIurcQPIvFXD6jVpSVMFp88BhjGY2K/DnEdigRmc9nKCXT/Y2NKYvlUhzIe8Q6wcZkwpnTp7h6/XZu8jOTKiXeuXqVc+fOceXKFay17O7tZVlIYD6f89JLL/PA/feRSBwdHXNqa5OdnW18aEElxvWY49mMp59+hk9/6jExwTMxZ1on1pdDnYdC0bX85Ic/YGfnFPV4kjsGz3Q64Ytf+Sp//vV/JHtpLl5CkOJLZ01VTL0+XbSVOUFHqHwxnbg8exdipdPqfuwhPRFfk9SKonvXnw+XX38VapMGFHiFPKYBIex/Ow33WXjf+je0bKpnK6gT6PD6MK83nRpYOUoo7loFghfJjFWy78cQs65Q4TPlkTwMHRbd1Sxu2N+VijLYye8/nmhA11gufXRRbuLWiCprTerP556uClaVjcVW7+Xka/XXjXrfGjVwUXrk9q5hxuoMrO5nkkS16HyNDMaYURGTZ39/l29+88+5du0aX/j8Fzh95jRlYXn0sY9yz3338qOnvsczT3+fLtc8vVdGygaQJpttMkiN8rWEGNJJY/vz0cr/nzwmE/ilr0IIcOM9sAU89hicOg3f/Q6s1Y0nHsbCZ56A+++XhnZ5CA8/DPfcA9/6FsyO5feshSefhJ0dePeaPN/lK3DxEnzjn8ByefJplaJQGgo7eLGojHAeHx/i24hzHdPplKZxaKRBU1ZTFZbCGqbTCV3XcuPGTQ73j2jbjta1GGuIPtG2kS1TcXz5AstPPMLHn/gk/9Xv/12EVNTf03IxGyM1dfRe6MA5f9sYw/HxMd45RvX2kKXa16vOe46bdpAYymUas2bXgEUMaI1Ippxz2YFY9jWTXZn7mltrzbiqcg0RqXKay3LZCYvSSrasmsB4PKIqSpbtAhwsu2ZArC9cuIBC5I5GiU+PMZou+MH3wXvREI+qWiSlOWpHgLKc4RujRPH4MCDVSmnqWnLaQz/QT6t92ORehLTKKLfG4rIZZ1kUYu6bIz57CYsc00iTfX1M9j2yxua9IQ71ZeiZph/y8aEbW60SpTVsbggy6GcOH8WVzHtH1xkKragK2ayW8zk6Jsgaxq3pBqe3d5iOJ7z56lvcOjwgac1y3mLrRFlWJJ1yRqfHN41QsbDYohAjBW1JNmKSTNJa70Br2lYKq9JUYv3tE3VVY4zF54lF03VUxgqCG4I05oCPAR+dGEApDVpxtJwzqsaUG2O6ZQdJsqy8XxK6FmUtxgqv3PebgDHi6mvFOW0yGrOztcX1a+/SpkATPMZEvOvEaGkuovrCFqLR0mL8EZJoAbZ2dljOFpRlSbeUY1EWlvl8CUlQzKousdYQUsLHSPBe4iGCoK7TyQaHR0c0yxaC3Jj1eJzzpyC6RGGza7Dv6bSJFITS2l/sQDZrkoJG6YIfPv00V+5/jCv3XGG5dCQNITS4rqMqKsrs4Hzu1DlOnz7PdGObzgWOZgtSlAs1pMT+0RG39m/gg2PZLcXsqJSFoutk8XWZrpBSHALDy6LEJosi0XUthbacPXWWK/fcJ+cxSIxPjAkfgph7Iei42J8LqpgUxOCHgkCGNdl5UYvGlcGLkRzwrlBxnTLMgKArgYYIudDuKz+Z9MXBxr+nvrE26U5Kk9ZpnP17yl8P4fbD/681GoMAN/GRRx7j2997lrffus71a3fY2d6S2BYU2ljOX7gEPZV6rQGcbGwy3tgcio27DVX6iIIuREIbcryUXHedC7RNR5szQRdNg3OBw8M5s9kxBweH7B8csbe3z3I2Z7ls2Ns7YL5YsFzOBqO56GU4IlFi2UygLjFKceb0lOmo4hOf+BQ3btzE+8jGxia7d25z4cIFMVzI9N8+5oXcbPb01R4diH1DmFGxkDWffdPS9+s9St+b18UUB6ofOes3ZhRdnrsv3BJGK7KnHKOyoLA6DzzkmD/22APcvH2d6zcPUHoIRWJcFPxbv/pFFq7Fe0ezWA5F+9qbuutxsgBcCbL5oF++63sneIAnvtsbxpAbWwaMUuib586c5f6tHc4U2RWZmGmBGtPrmfPxHAr6/DJa99dZjn7Lm15/vQlFVIY1i3SXkU3/Hgc3WtDaMhqNJDzeiuZquJdY6RNtUbK9vY3rWgqjadqWyahmPj/OxmSKqDStc4wmGxRVweb2Nrt37sh5zR+gpy+SAqFzBJWwBNCRw9kuo2pEXVfZiA7almzgJRt7YaUBNePxIJXor98e/a3HtRQMCpaz2TCdMXlCUJWW+WwJwTMZlxwvHZqCoGVfWjYN7167xmc+9Ulef+MNuV5zc7VYLERXDNy8dYfxqBbKczXn2rvvUI4m+NBxeHjIcz99nocfeRBFyagq8MGjTCRFRzIyMCSjXFopjg/2ePHZp/mFJ78i0RkxoFXg/KWLfOwTn+aFn/4oN0Cs5ChaCr2Y0VuVouhcs8bdGoNXMcd7rFHsVTzJmFm7PlWKq4Yys79OXOHDP+MwsGHQWK4Q25QZOmnNxCikVfTUas6i1v7XF9LZAIteV5pptvTred/kZjwyF5zK5kG/TyQjzC20GIhZLN51YtV710dJUrHKv3XWJ4cwsDl05CTleu290CPOmSq0jryqtb2nj2Fa1yuvhsEnzRFTWjX0q2OYHa9PrFtq7Xs/79EP8HqNdb5fYp8xvnL0F4pkJ2aTXeTVV17i9s2bfOpTn+LjH/sEm5sb1PWEr3z1azz48EN8/7vf4fU3XicGnxlcKhv/mAFhUyc+q1q75v579vj4x+XA/+k3YLGQ7719QZrdK1fg7bc/+O8unIcHHoDvfBuuXZPnmE7hV34VHn0UnvmR/N5998GZs/Bnfwq3b8v3XpnCr/4afPSj8MwzJ562KAqR0gVhQZrcRApDsaMsS5bNnNY3LJYLxtWETbNN52RPKG0hMqu65t5qTHe+5ejomNu7d5jNl8yOjqnrMVc+/yW++L/8X1FvjLn2/ae4vVBU1lOXBm0TXXJoBUYlYRca8Vow1gpttusEMdSZyquVMOsUHLcN8/mcpRNDQq01RVlSZP2qMmCSxiMmVYumW4FzSVFVlaxtmYEpMrFebxpou44uN5WkQGEUp7Y2KAsLJknsKJp27vDO0bWtaFxHGlNajFaUpZhq6RwT1wVP13TCnCxK8bHJbExhnK3JMZIMYvHSRArbI6BVSduKgWjMMhyJI9KkpGiahSTKGENd1XlwYDieLWg7keGI+3RAKXGDjmkNIDEiaWpbQc61lrp/2XaglfgytIpRWX/oy/9DN7bbW5s0TcuSJsPOHcfHc5QS+kxVG7SRCaL3jq5pBVLvWqqyRFvDtBwz7hQXpzsYpdl1Cw4PD/GHLWaksVV26c2RC/2U0uMwRUlpZfJdKCktYox0wZNyoWCtxCT41qNC72SWRc5GGsmeS16WpUz3omyqbc4NnNQjYgwCzxsPWXu7UY9pGsVsdkQzmwlKa4XiFmKg0hL9owCbkdWytDz4wL1cfe8GNl+wy8USFwV91KpgMplQF5Lxa7TNzZRsQNVkRDUZD87GITdHrvPYQj5LYe2q8TKi6ytMQVlVjEcVLuuVfQioJO5jrnWUdf8zacB05rgnIj54ClWIO1nXDu5l5CYwpMRzP/kRB4dLzpy/yHPPfJ+zZy1VJch6OSrZnG6yubHBqe2z1PUU75MYYBkr9G/n6Zzj8OiQ2fyQpmtAp+yQKp/XdV3O/20ZjUZUdU0MUOR4EGUtVik2JlPOnT3PhfOXxBXPizte8F4Wj1wAhSiu2XVdi75B9Rs0a3q91fRa96Y1WTcwTN7zBvw+jZHqC4bV8Up5Oh2VImpBY3sUS8x40srUR4uzXJ//1T9vyhEqNiRKoA0JUQDkoqKfbCdIyXNw3NB28L3vPc3unX+Py1fOsTHdFrqLFipO23kmkzHbW1t4H1BrjowpJmbzWc5cE/r8rFngvKNznmbR0CxbZnMpjAmRrpWMzxBc/p+YLMToiFFYEJcuXpRCPna5jBLXv7ossNpz9pxoGsu6wpiC6XiD0WhMSrC3v898OecHP3iK23fucHR0MOjFlVJcvnxpcNJj3RW5/8+QL9xP26VAiiGjJFk3Lzb3eq2RXKEuMZ93ObfSrPSDH2O0GG0h91/XdYzqWhAuLbKJQhWZodhnfQc+8/inOHv1PY4OFxwfH/P63k1+ifv4nU88MiCbaa3A/tCPdZ1xT+FlrVE9oUO+G2Fffe5/lsdh8ByFiDHZ5b5H99V6w7EqwnXW/qg8LBJHydX5kuNqGY3HHOytOdlmVoRaY0n0DeHW1hbGrDW0irX7VO67znW8d/0GZaHZ3tpkOpkyXbbc2j3EOUdhxSugNQ6U4uDwIKM5K42fFGaCng2IOhBDwBrDeDTOecciJygKS13Xg4brbp28XEcnXdWj9xTGEFOktAW+E2RXZ00oWcM/GU3Y2t4hWsNPnv8ZIRvg9DKIGzduED7xcWKMPPzQQ7z62msnBlquc7z++ut88hMfR2tN0yz51V/9FerRmJdeeYWr795kuXD8+MfP8ktf+XIeQEiWZbIanRHF4bpRCgi8/cbrnDl/mXsfelBGNjm/9qOffpz9vTu8d/0dGUKY3DgkQfujSsTO5fuYFRU05lamp8yusWtW8SxZM8fKNCrFu9bpk7eJuLZnX9zBNSGtWr/16+fEnw97xgrV7NeZlJkpsmmu9O4nXziuPec6nyKtXQf5vvAeYwpU9sCoq5qqGtM0y0Hvrtbu3fW9qb8He3O0qFfSg3UZyOARkgkfqo8/6r/df9DUD1nTiWMiw0B1ggxyd/O7+qTrx3J9L+2P+0mvhNX63WO4a+dkGEaePLfynGEYJEJif3+Xb33zm/zslVd58skv8OhHHsFaw+XLD/DP/fMXeeGFn/Ddb3+b2fGRDFdzDvkweHmfh0De7z9Io2oMnD8PGxvQdYKA3k0DripBOasSjmdwfCQnYya6UjY2BA21Vp4rJXjnHXm+n/cwBs6eg7ffWjW1ALduwd6ePM/Pa2wvXRYq8Xvvrfac2QyuvQtnz2Qr/wjnL8Cd23DnzupvZzO4+g6cO7/6vfzw3tO2LcYU4lcShIUWYsAYPazhrnV471imGSgxIjXasDnZJKUSa2rqcc3GdIPpxgaTjSm3bt/GNSJXcj7kWlYceuezJalSGF3ifEcXO8ajmqoqc0ZuFIPCBF3bSC9TVZklJ31F23ZSN/tA5zo8kudqtBbpgFK4rmOeJTiRhKlyT2JWecPC7rRUhdCnQxLfmRglLq7LPiESCWQZ1TV1XQpraSSSnKPZXBx8vJcIuJSIPlCOZVDgvcc5N4AWxliMCVgjqGmfqT4ajaTHiRFbmMFcUuSWrbgoV5I/HEJgMV/ivMMaQ1WXw2DPGiNO/Vmu51JvUmlzI54HTgMokAZdckLkeCFG2mUrgFVZ5cjAMKwPVVlhtUhdP+zjQze2ttCMVEFpoWlbOqdwncGFRFEYxiNpKkejSiI5XD7JKRJVYOFbzFbNe7fucBRnpIkhHnrabkFRFZikIUoYb2VKCltnjYg0Wo2bo0bikOqyxlcVBqNWyFhv5lJaaVpa34nRkzUUozGT8Zijo6OsVRWrfWOFRqh1yiJrmcQYHbMBSEmMnrmbYUrDdHOTeHxMTIFlu0RbS9u1uOSlkEXlHMTIjffmnNrZ4dzZC9zZ26Xzju3tHVrvWDYtbeuxSlMXpWgyQ8TFQDmqmC/mg933yn7fMhpPMWXIGaZ+bdoSUIUYGsQYaXxDd9ySjFhY6lSgsTRLJ5bhKWQzqkhVWpxv0NbQ+iiGMQkqawmtJyolUylrsDlfEevZObXDE5/5JN/4k7/H6e2LBB3RSRyPL5y/zMZ0mxgSnUt45/FepuIheGaLGbd3b7O7v0eyQRDPbMjQZ7a5ZLDaUm+UlGUlDb3SFMbgW4fRmjOnznD2zDk2ppsQFd6Lk6/PTa1Smi7rmuu6ZjwdDYWUUtkm//2WIUPcT4x5ct9btvdOrvkG7ousviFMSWjIs3nD0dLhs4Ou9x7vvBTIvetnTIPBEIhLbgS8k/sgdmGgzoYYOPfoLl/+PLzw8ju8+u35gAaLm6jH+6XoGV2gC5Gbd97j8GifZ5+zVJXYzeusEVaogWLTda2YuWmVmQHlULSMRiN2d3e5vXtryOnSRLSKJAxKFYxG2XEvCxB7hrIx4lppraaqR2xsGKypgfFQtCit8V6jYuTifffJ8yiPzdd841u8F71pjIG2bXnphRdzgSVDjJ2dHbZPbXO4v0/Kjrmr86lyvh5DUcT6z3KFZ5XJBhB8AE0369nIhVtGV5WShsWHIOPa3ik1JVTyFOUov0waBiI6SQalUNoSly9d4sL5S/mzNdzoOv5vb74im3Tn6bqOtlnSNs3g3No3vENwudaM6irTamVDLYtyoPWaPBm11maaj6Uqi7xx57c4UCNXE9zY68j7nOYBMO6pmAxyEJSmjYlFRMzcBmurVXSINJorh2n6hiK/ts+DtvWGJYYohQYqo41xBUb3bJnBqEfQlRDCEKmQdCSEjpTEHR8VScFjrGaxXNC0S7a2d+TtxMDx4SGnT58hJEWI4npdVTXltmL/zi2Wy8Vg/LFslxhlqEY1MQYmpZi2paQYj8a4KPEIXdfROMf2zlT0kUkK8S74oaCXAWXEGIluS4BPYoIosXoe7z2llogiH8iSCsX+wW6ejEtN673KnYkGI+aEb7/7juhyT5/lZz97ddCcG6W5+d5Num5BaTXRtcxdw9bmNtubmyyP50TnmEym3L61y4+e+QmfefxTqNBhjay1fYquMfk8G2lIo088+6OnOHX2HNONKTgZOllrefwLX+Hgj/8h7eJYENgYckxSyqkBgpr3pn3DOpib3RUC2Htl9PesvqtFXEci05pnQTa96hvku4Dc/vfXI1giMaOAejWUSKtcn35gMTSlvVFc8llHq1CI3Igene0XkqzV7B3aB1MiLcWw94EYHEYVRA/v3roKwMbGBvv7+2xvbzMejU5SiO+6r3tGi4pyVEIMd62Hedh0V6OWOS/CbMpeF4MMZg1x7Q3sUt6TTqy0a+yklIcJRoV++pt/ZzUUWL38yaa4D06LOh/vPjIr0yH1B87/EilkxpmJJOW5dfMd/uRPdnn3+if50he/yMZ0g6IY8enHP8/9DzzK9777PV556Xmca7PcwOODzh4k683tz/FjKkv4/OeFnts08u/FQmjA+6JzZ2sbvvxloQ13HdS1NIM3bsC3vilP/NnPwngietYYhfaxvw+7ux/0QeVR1zAew+7eye/HCPt7cPrM+xrPf+ojRJhuyOdwDra3Voju+mN3Dx54UBr2NTpyQuGTZEjb0qyYDAmsLWnbJrMEEtONMW3bcrw4pGkaqqpiNKowSdH5ROcVhS0xxrA5nVAVBTuTLfYPDpmO63zPSXTk0cExemeMsgJ0GJMkCish2bRZftQ6R1EYMblSfdSamFQumzZrr7MrdhIPEq0hBY/L9ZnOJkwhBhbzBUYZtFGowhKcJ0bovMca6WFSroVd5/BNi06CyhpjoNDUVYUyoIwc47ZtWS4lD7YwhmI0olksGVWG0kgNGIJnueyYzRuqsqQqSxQWH0B78Ray2mRGoyQYaI34sYS872qFLovBhTgGh8vRrkVhszGqsKmsKTCqJORoI5+y4Ye2dM7RtC1lUWFsb66l8BG0KYgx5MxgsJnJpLKkTmnxhTBJCzBQGrlGPuTjQze2IXQUpWU8rtFzT+Ms2tSkPAk0tqAqq0EHEkOgLMpMvVS0Xcvzr748ICFJJdRIUUTNqa1NfPR4I0WVyZtRUZQEvDgBao1zneSgpj4bSYqu3vDImkIYRVHnTSjljchKfuxSDLB6vaJQdWRibPuNKSO/2ZkB72PW4UVU8Fg09WhETIIkFkY20qZpCN4zrkdowEfRjB0eHbO1s8nGdMp7N2+gtKEuKlJSjCqZ7O9s7+CcY7Gc0SxaADamG3RNKyhQEn598GJepY1MDo0qss5WKJFJg9VaJj+qd1wEF6TYKozJGZY5KikEikJimBwt3jnJEi5LjFG0TbvWvK2MULwP1GXJ3u4u7127TlVJIzSuR1w4f5FTO2fQusT7voFDboyM/i2bJbuHuxwtjvD4PKWL2CQRFzabkkwqPUQgdK3DKEsKUoQUtuTcmTNcvHAJq3MOmY+0rceHmG8QoVBrpZluTBmNRnnWu9LQ3q2nZW3K3E+otV4hEitkop/K9+hBdtgDdvcPefrHz7G73+KjGX7P+zUTk/61hom6JvYFUz9tjqsZfIoRfUrMG46Plty6dTRQRKUWCgQ85KzHajTi1FiuraqssaUMcyRgW4PWmEzVdF3H3u5eZjz0FJG8cWvN5plTFBsjiBKpQnIoItaUaGXz+0+DbqYoDOOxDBD29w+yftUSvCKFFSLVE7xdkEZM9H9RHK4BFSIEh0U2v0IFDufHTDd3OH/pAgfP7+O846GHHhC5QdtkpGU9vDENCEFPKk5rEMvQcOahRRpQlXWURg2mj8ZIEw4qZ+uZQbMt64ro942xgx5rpV/L8R59I5YD3I1VmCQbWqxHeKWgrDApUMVIlae68tZin42Rm0ChFRmbBxe6ZwxIRFdKflgDE+BVImlNiEMiqBSuUWLQlOqjeVSmTsogJJ1w8Far4j4ByIBNaTt0BSujqrUauEdpUs8uYDj2ai3vrr8x+oZ1WI/7Z17X+OT/aqUy+0HcZvvBk9aa7H8zfFZTGM6cO0v0nUTrGEtVB27cvMXR0RGnz5yVbNrsFm20xlQVdV3TtJLH7TKKo7Juv219XoPl/XjvaV03RCrVdTXkmPcsImP0MGEXmmOgripc57LrpMR3GW1YLhpSaLK/RH++RBc2KksKLevM2dM7vHdrgV/LTga4c3uPRx55mPFoDEkkKJ3rQGmapiHFSFGU3Lhxk+nGFKMla/CN119jurVNDJ7d3TscHh7xkY88wmRcSLqA6mnB/bAmDq65ShmWyznPPv0UT/7iV7G2hOAgeDa2tnj8c0/y3T/7eu7r9MCQCNlSXmdX/ZSHGSnvRWrtfj5xweTroWdmrF8fqyUhDff0+3ugXqP+QY7oGflVdzkGKyXDkn7IuLZ0rF5aTOZ6SrxeY4H0zPwBpTzxeTJqhKYsbTask/3izJkzQlWva86cOcM8x2P0r7uuax1oh2tMpJilBQN7YPibVQPaoz79/bu+L67o0yef44Me6383cEHS2hr9vsHaB7Ch1gS7qqeUD+eozzJe1XXrx6BP2SgKlSULYkI5n8955kfPsHdnl8cf/wUeevhhirJge2eHv/ibv8HHP/ExvvutP+fqO2/Kuc3okhT4xcDWSXfJdgD4hccFNf3mnwuqORqJdvWJzwo92BhpattWaL+LBZw+DV/8EhRr650xomN9/qfw8svgvfzvv+1R19K4Lhfv/9lsDvfcK8/7QY3ttXfhwQfh0iV4991MRd6Ae+/pLyhBj+uRPNfdj8Vcfl7VJxrbmFNDfI6SPHnsUpYeaaITZkyZ3XP7RIFls5T6ykvDOZlMqIoKqyxlVXLu/IQzZ89y9tzZNXaQwvnAwcGc+cwwGhUyX0gdGnEcFqmIyTIrGUSSRILnvMhSeg1u5x0heEpb0LaNDF2LEqv6mjLQdaKNLYoSANd5YcQpRacSTedou3lmk2gxvrSWMsut+rrVaCNobSlGWjEFlk1D1zZYa9nI5lBHxbH45mQ5XQqRrm2JCZEqpDHLZUNVjamDpSrsMORf90zx0bNcLMUctBbAI4SQadRk0E7qn5Sb4V6WFbIJmHcOWxSEEEWn3HbS8BuwejTceyquUiWMscTkIGV/mdj7CGRGXBKnakUcBmsf5vHPoLHtIAV8UiQtG7U4peYoi4RMFbXGu05yDoPksIoeNeG8NH9JJWxlqGqF0hWqSNikicHkXDyNj1Fyy7SRHEYS3qVhUQGVL5iVg7JWBmsEOdFKKABEg0pScGmlwIpusrfMV0BRWkr62BuV4xhkmrnMU4LxZCTNhSmoxpXE75QFSUXR60aZ+hhr8TFikYibo7kg0qO64tT2KY7nC5JSTGqZBC2XS277wHg8wnvJ950dzRhPxpRlRp67JhfAGr/ssqlUCYXQqZMWTRY6R4yQZIIZMxXBFrjGkQhYq1kuW+pqMkwyXSvFtveBoBKFtUwmI0KMHOzvo7XChxZrNNYWOJd49JFH+F//638b1zk+9anH+MYf/122pjUbG5uU1Rgflbge+8hsPs90XM/u3h2Ojo9YNEs61xEJFJVFWzm3UQfaDsATVW8wIkY8MQbqoqQsSu65dIWdrR2JZQpkSocnpTwQiaJT0EaxsbFJVVVrFcfdm+1J6uUJ4yEtkzAGunJfMZykSKVcEB0eL/jxT17g2o1buGCJyaz1SKsSpn8fwl+U1wzrP045x5a+3kqEJIt+wONTe/J56D+HjM2rUq7Rpm3RyqB0If+1NnvvQ8iutdPNbRbLlrZpxVU1ymRVay0mbrZiZMcs5h2jc/fx5BcfYqIjuMiVS1ewxnDq1DZkQ66uazl1aofpdMp/9nf+Dt/57vdQukYjNHSlV0Ue2Q7JVqUYxITItCq55/JlCp146MHLPP74p5lON3DLjn/vf/vv4ouCC5cu8+OfPIMtCq7cc4U7u3dkGgqDEzIZGZCYnL7JFI0IUQ3XgdIntZ9DRM7aabtbH6a1oq5HzGYzQdj6eBEUIXSMR5O1hi43X3ql85W3oFaOrQqUyQOnlFBG5xxNubZM7+Scm2VSGtBWsgfC0JQqlWmboFS/xK+hpqgB4ej/TxvRp8WcHdfrYlMuJPvj2T9X6scE2WBloA2qleFL0n1GrbxRDaSoB9R2NRBKw3reD0f0moFXPRoRvJjE5VATOX2pfx5pdoxWjEYVW1sbzOdLqsoyqce08waNyZ4NmmXXcuvObaaTmhAcdTWitCVKJQ4O9vOGrwd6c1mVzPb3BwfUEMW9UgFGB/DiTLnI7KCqsDlrd7VfjcdCG1VKoWzCWoOyhkTE2Ip77rkCSM7uwd6hFASFpWk72eeAeloTnSc4eW5rhTpfjSqqmNjY3qIcjzn89tPMnGTD9rE5712/wWQ0YXuyyYVz50kKbt66la8vWTdmxy2vvfY2jz/+aYyxdF3DL3/tlyjKgjffvsr1a7vMm4ann36aX/sLv0K7dFIfI3mIhJhjT0weDERInuvvvsNrL73MY5/8BFgF3kH0XLn/AR77xKd56Sc/HgYgKcdvnJBiDI0gw2BkRX9VA2sl5fu7Xw1PLJBquHRPNsRquHjzAESa27g2/BTjoJ5xoNfejey1Sa1s3OTWvNvpXeVBEaLVX2+xYx5GpX5PETkXvawl9SZsKWdHpsEwUlIpuuEa6w3K5LHSuYoREkNzK/VBphTHPCwYmtv1dU8NhyjFlGO+Thq4pOwO3Te7qR++3fVYb1iHprXft9bO9fv+Lq0NK/Ih6tvqoYFdHeiM2K82UaXSgFTDGpqe1zfvPW+88SbvXbvOQ488zJNf/iLnzp5FK829993P+YsX+Olzz/Kjp77P0eGBNGHZ6K7NrveC5q9dU3UNly/DSy8JpRcE5fzud6TBDQHOnRPt6ve/t3IRvnEDbt6AbAI61At7e/D88//0hvb9B/0DvvdP+ZubN+GN16XBvnlTGu+LF+V9302j/sDnXytgTnxfCyU/grJGkiS0mAylbGoaY6AsCln7jSYgLMSUxLTJ+RlaSYY3TUCbKcaOCUF8VIyRJlcNwFjB9tYpZsdHLNuWrmmoas3GxgRr/t/k/feTJdl15wl+7r2ungqVuipLoSALAAEQIEgQgnK7OT0zaz1jPTPWa/u37drazO7ajM3szG432U02u5sABUAIAiitMyuzMitFZKinXFyxP5x73T2iihzwh/5hbR+skJEZEe/58+d+7znnq4TN56wS4Cy44dqIXj/WB5r1iu22ZjKZCvqqTfQu2Ah7MdMoVfTSgzSIVUphnQxBZrNZZCTK0F5ruYbKIqP2HYtZIRE4JuvjNsWkz8iYMLKjiiJjWhRkWcbOrGI6nVJVOU3TRFp1QGUZk0JqPKV1jOsT08K21pSFUJJ1ZKyqaNIXouwHwNmOupNj39md08XkG53nWOeopqWsNbXFWY/OFXkhEptMaazr8D5QlKXUzYQ+PnC92Yp5YTSkzbMMYpygtTCZlOS5wdqW4IW9VOUFPljm09mveOH/IxrbgOQryZQPyrIQtDDmLigtTrnG5IKCKkOeSSyHioXmtt2CksXXBBkYheDorED91jtyU/Qolk6UDxUXD9dF1zv6afc5GpsTPv5sMovoYog6QTBeJiAAWS7aqOADznaR8x1EG6bkA9Zas91uaaNbc5FJ0+yVjxeejoHLkU5hjDQLVpopIiqaKEjbppGJfpCbcDKd9Rexd471eoWzHUWe9aHEIYhmSxpLadqqspJAaefihquiK9kQm6GNkd9TQssryhJvJB+vyicxcDo2+ijR62rPpt6gMnHAtW0ngv8sk3MeUXETaUreenZ3Fuzs7XPzmaf54J3Xce1aIp+CoukcTbOlsTUf3vtQGm7tODk97nP7vApilhVU77JrXUfdbaWAVYY85Dgf8FYoJF4Fblx/mksHV7GdoL0hSDFFEKF+23WSM5bJtVCWRTQwiQi+vrDBfmwdDjF8ekRt+oRF3IdEu5KtfLmuefnVN7h37yHWqp6lFpfLyL4cmuPAgDypIPrbRDOF5DkyboRHjW5/vCOHyWRsFYLQtk2AtiXLc7K2RVvwWSHxMkZL82QM9XbLzmzB4bZGpTzepKXSiX4MLpTc/OJ3+dLXv8xnrmoMcPvdW1y/fo1Pf+ZFnhweUpYVq9UZJjPs7O5x+co1XIB8TG1Lk3U1vB8Vs9G88/yzf/Zf8mtf/iK3332H73z3t7h09SqEDu8Nn/21X+Ov//oX/Pmf/ynHx8d861u/TVXN+Oj+R8ym4uCtLxgdjbWmvjeR0b3uLTOm1+MlHGdoZhOqK8frg+fBg4fs7u3hnXx9/dp1od8qiS1RY+rdqG5WMV6MVOj11TvxWlNiHtYXfPqcmVJqTtMwZnxF9igG+hMNWFLROtaJDy+tegM8w6hIHAFfPTKTjH7CEFUyTv8c6+J036COX6v30pEG1QeUF0fJAXESN3HRAsrmZ52jCFl/Ls7duoEYbSS51nt7e6zWG4pCaPJmU0uDrhQKQ9vamB0+Fx1XU3N2cgohcHJyStt1mGzICVVa9xmLdb3BO0/dNFHXSO/ejvfkSuhbwqwR+tRkMsF2Xf+ZpAKiyguWp2dUZcnjh4975Md3YiSCFudbh7jj7swXrLuVrE1huEZ1lN3YrmO5OuPSwS7No1NskklElsLjw0MeXzrgs5/9DG+/+04cTaTmUfPBB3dYrdYYk7HZ1FRVzrVrV6kmE+7cvYc2MMlKDp8ccuvWbW4+fTVSw0PMnk1N5kBhCUGYTq/98ufs7e9z/ZmboB14jzLw0le+zsmTx9y/d1cGPzItkOGSl3g2F82nes3qGEkNI/Oec47b4zX2wo0y2J+d07HH2VVvSCQGwVFdr9LP+3jtq2jSHSLanLS956/LdCzyZeL9jyNsQjTTSQ3jwAgaYNfR4aeIwNjAKiUUS+99nw8pgMLoONI5COfvZ6lhQk+hHP/GGL09d/9/go41yQEuwpZ903lO5z7+IIYDGjOoPqm55uKKdgGRT0MRNXDN47f9uecJCIus1yQroX/XjeONN17jo48+4te++hVeeukL7O3tUZYVX//Gb/LZz36On//0J/z87/6OrtlGuRq94d1Yx81kIlTcJ4ece7TtoI3d3ZOvk5b2E99kfCtHR/+4pnYrZnJMZx+nLC925DX/vudzToyfHh9K3M98Dm+/BXv7sJhLg05EZhfzj//+LP7MhSbYd5523Y1SKTxZIZRf5yUWUkVNKn2WqVB+CRC075maZ6fHwA7eOmzl0CpHY/BNBKfU0NjeuPEUzf4ey7NjTk+POTtdoTA0W0teGKYzSTiI82DRxSoTa3tBbPM8pkNElDVYAc6KXPSvXSeSEp2pfh9zUT8/mUxo2oa2acgyWSem0wl5JhrassxF+hWlbqJhLTHRTLHpOvHHidfYZDqlKkuywvTsAR8GA8asytFZhnOSYtJZS1VVrNcbusbhXU5nxR9oVk36vUEb3WfwhuCwLjqph4GlEuL92TYt1rmINhsyk9NZK3JBKzrhvJAeqmlbnIe2Wfcxj+le1Sk312S9GVeWZzJo8JBloseu2xqT6Tj4/9UevzoVmejoGbNl81zyO7t2KNvLssDHCWDTtuRFgcoz8hgQneWKvCxwLlrW24a8UBgjJlA2eDQ5uTbiDGaDABQmLuiZwgT5AESf4uMiLFQ8oxXOejbrmtlsRp5LfECWZXRdh7UZIsnQNK00tDrNXr1CYyBTKJ2Jjsl6qlKE3V3Tkk0mopWM4msF2LrDxdzCsiwpMpk4BS/OhNZa1vW2D/PorCVow6auqcqcMi/QsVm3jWK73TKdz+UmThdrJg5nzjmKomCSz2jbjlzncmEj1G6LINHey2Kb51nU6BooPd5BwAn6TKB1TgyvciV636pCBS+6AzSudf2Gk5mcEDzWBco8Q6PpujjJMYa8mNE2rbikdR3rTc1qs6RuVhydPmTbbvAIlbos81gEaYKOk6DoyhziTKCut8xmC7IiIzQOYxTXLl/j2tUbzKoZtvM4C531MZc4RNqKmI8URUFVVQPlxSdrdqHDjrfxMVqnR46P8nv0aOhYJ0QMWemcTL8324aXX3+bd977kLoNBJVF9Aps7BB0QlV9mujL8+iIyHpiZIqKcVYpKzHlgfY0MRkoJYzAR52lVnI9a6PY391huznhU5+6xH/5R79Hbk9otme88v4x226CxXDrzgcUVUXwnmk1E2fvRBWO79NFAxqtDbnJeerZ57h86QYnq3uUBr7wxS/Tth33HxzjPNz56D6z6ZTjkyO0esLj4y1Bl6g8HygwSYGZri0tOhci06CcLLj74UNcKAlUMjxSisePH3H3/n1MEViUJcuzkvlszunxkuXpmsW0kmiL4Iem0YNyCq9SxlKiIMuCbbRgKEG5nv6iRqhOlgzdglDitdI8feMpMTJQcPPmdXHkDA4i/aco8mE4oQZdWEDy7XrzoxCHSxGx6a/R+AmkZTwhAn5UYI4LUTWiVMduvW+AB4of/Z/jxpa+2BvqQaVUn1uZ9LaJUqtTAGnSD+rUXAyIlY7f1wmlvYAEkTDcPpPXjxDaSOvyHudlaJfnVRyopoYmhY2qvslNd6TSmstXr/L4yROMkT0J52KEkJxz5xRFIYyjiRJneSy0TcfJqubk9JRLly8RAtR1S55ppvMZSnkOuo71aonWkrW3v7uHcy3Hx0dkWUE1ndDaFp0ZikyTZ6K/JViyXM7huq4pTAZ+w6QohWq8XmOD7FUhZiUqjyARRQZBc/LkJNLF5brxzrNpNnIdZ5IP+PTNp/jyV77E//w//TGHxxt8GLIYT89OuHv/Lt/73vd47713qMqCprOx4VI8fnSIs56ynHD37h0uHexC8Oz4wK3bt2U/V4Enh4/5q7/6K/7r//q/oqoM1ndkMaNY3IRDT9sN3gMW2274xc/+lt+5tMdkOgMlFPm8LPjat77L4b/6f2HbWoxWtBcPCT1cZ2nt0071rJT++g0B12NmIb7mMLzqG6i+WQvDz6pwvjlK2k3EyHLcOIdIgw5p4BnSMDHtCck0MN37qVmTZ9cJTe4RyrHL8ogene7DPkuXHnVOVGKlTM9+05FW6oKwPrI8F9lLGt6G0WqSCvR0EHE9SmyScebvuFcdjnPQwfY6eJU0xSPU9Jz51hCll9aqdDApShCG5rZfZ86tf/HYU+zSOEO6/2yT9GwYSF6cXft4nPJfJ0MCIGhNCBlHTx7z/f/4H/nlL3/Jb/3Wb/GFL36BzGRMpzt853f+gM985iX++i//Ix9+8AHWddGh250fDLRCt2c2HxyD0wkVEbzQhPNcGuB/yAhKurm///uf9GgaWG/g8mUxc0oPY+DgQBruv483no7z9i0xn0p///3fh5OTgb58ciLU6Yta3cuXpXG+8J5cF/AdgBIwQnmclSwvpwI2tBHcEN+KwfxBiwQokiWMEu1lpjIIsG02fY3ctr7/TIjXU5YZFlcP2D+Y0zVXWa3PODo6Yr3ZoFtF3TSgVaQCe/Jc4jaJY7+yrNCmo6lrtBLTWTKDC5aqELnVtt3SNDWlEl8Lo8RwKcsM2mi6WvLJTawvisxQVhXKZORlRb1tcF6cuKdVBS7gvI6yvRYfQpQiyGmxwVN3XkDB6GVElDk5BZ3zEcEVRkaeGXyZY42i61raztJaxzJfM18sUN6T51k0+/SR+SWsPu8CnZV/LwuRKW429agmgLa1ImOM65eLyEtb15wcnzKfLJhMJ+R5Ft2nLW1bkxclJujoSyR7el03oBSZysh1wbbbEmwAsv80cT95Jpz0gCCpmdZYHJnxYlCS5xCUuNYWBW3WUncNy80ZZZGTZzJ1DT6gMoOLyJlQRIUZmKuOECzea7wT99/JRBBKocJE11If+ucSLW3KcFXgxSjIB4sxitlsGjNdIwpAQLmoIXEOrbOIqsmFYuIpEa1wzv5+xXq1wtoubtbiUph0PN4JXTrLMmnG80IoAM7iQ6DrLN3ZGZOqom5qtnVDUVUsdnYEHdYGXGA+m+LKkm1TY50jz3KhCVgbKW+aeluLwVWWoY2OZkWyWST79OSslhUyBcmKnOCFbu2dwlu52a3tCHiqSYE2AVc7XHCYILqEMi9iIS4c+8Lk4DylycjKit2dXRrhDEvOaVXhTmXSdnJ6yrauOTk94vjskMYu8aqh7cREqSzFjMpFM5yus5iY3YgK4ipLi2sdHs9isuDa1WtcuXRVFsOgmEymcr6VDCDSwEFrfc71mEijSqWL91J0hXMNzNAYjFHUfsEYl0K9rjaAFjS7qS1vvnWbt975gHXT4UWxDdEBTjZNucZTkSVTRSlSQ99zRYpn1GypkMoRoV76qLtLx+B6tCGW9TGuqqimVKWhbs74F//df8O//Jf/km7zAOs8X331Fj/9+TsUkwVHx6es663EIgWZBp6dnEh2pEKMiMhiAeLomjU/+nd/zPs//nP25jLgaNdb1usNTSsu6M7LpLOuawJwenqCdYHgxS05M1oicMLQkE2nYuNujGF/Z4cf/vCvCU6muG+++QZ7uxM6u+LunTs8eHRIOSl57vlP4YHtdsPRkyM2m21PhRu3UCGODIionlH0kSShz95UcTCgehQLFLkWx0PO4ShCeU16SxML+iCONjjvmEwnF3RosSiMyJPJZFItAwnTZy+GMUJxMe+SgMJF2rM+V2QOjzFSEc59fbGgDD0aG/q6mfT6o0JxrH3TWo9YBIM+sGclhAGdGorf82SHi8hOQpMG7XrMkYzFJ4h5jkmo+ogiGkH2/nvpvMjmu2EymUTHzS7S8ZMXN5ycrgnesTOXrPVm27C7t8fR2SOOj0+4cvUK1nas1iuqMmNaTlhvNtEoDF760he5cfUKq9UZR4dPeh+Atm1RBqqqJDgZwIY48V5vRA9VFqXodL1IUCaTKevNGqfEwLDZ1nEAYqmKMg7soueBFrPEPMtwXtZs55wUL1pjVWC5XHLlymWOz+4J9Ts+rHN89PABJ6cnYBQvvPgCr7/+Zm/a0TkxNDk+PuXW7dvcvPnbTCZiuPjZz32Wsix5/OgJR8dnHD054pVXXuHrX/+KRHSVuUgAgmjo+vuuHzF5jo8e8vrLf8evf/PbQumzDmzHzt4+v/Gt7/DDH/yHUWNCvzaazAh13kpGvFYhRm+F/lqOJH4ZACUKjfbRlKm/2KLmfnS7DGSOAUXshzujazk1lmPOdJKjJJ2gOn8PJz30x2G4jz8EGYn3wHggpft/ij+TNP8alWfDcFmbvqlXTvU60n4dISGnvmf2iFRLDJhC8D0T4OOZrOm+G4413a/nG8dh/ezXkdF7H9aywcVf0GI3UJkTCjxqoEmDubH85/wHN6zbo5nHaCnt/65Ha3L6vUQjldMrVMLDR4/50z/9t7z3/nt897vf4fKlyyileeqZm/zz/+a/5c1XX+Fv/uYHnJwcfZxCvVmLrvZzn4PHj2AddacvfREO9iUP9vFjaVg/9zn4xS+k2Z1OxZSpaT6Z5vurPpyDj+6LidOt9+HkVE7KzZuwuwuvvDL87PXrguzeviUN6nQK3/ku/PIX4qIMorc9uARvvz383v378Fvfku/duyf/tr8vWty33vqYfrcoJnStitRyjcnFF8U6SxtaslzQOmEjRFlNHKb6yNpJvjqXLl3Cx8gg4iCk61pCbAbThRFCoGm3BNUym1ZU5ZzJtGI2m3N8fMzpySlN3dLahmxbU5WiQXU2xkoaTdu0+OjzY2IzrZVB5br3WcjzXGJykIEpqBhpE3BOoiWLLIsNo2xaEkG6Ybuu2W625LmhLAs6YyAzQHovoXeFlxQBQ9O0+EzFFQ+RtbjEnoiDPhv9HDLZOxO6XBax7l5vWa9XkZnixHXYKKpJJTGiRsdM20Geaa2jKEz0i5AeqLOW7UrSMcqqFGQ5TueSfGhalVRlgU90bx8w2kjMqRJvE+c9trO9FKUocpRSlHkh5+sfOdz5R2hsFbbt2HY101lFnlWgHLNpQWtFNN12Hd4Jp1pnUhLbIA2uD6bn0+sARVbQNgFnweHxHpliY/CNA+8osgxCwDYR6s81eVWgdaDtoquh0lgntuCz6QyDTCVCkMZNtFKOvBBef9d1EeqWi6XTHh8DlrXSZEYcjXWktmoUVVHiTIY2JgrJuz5Hz/dOpUIPXq7WlEWJQhAA0AQnjmvWCR3aB08XY3S8dkLLttLYdN7jrWh1tZLMOtd1GKWZVFXUWvre9ERF8y7bdSSP3yLLKfIs0t98pB3HGKEQyHQmJj25xhHfq5GmoO4cdA4b91jvFWVRsKhm0FkO9i5RTXeY7h1grSwiKromr9cbtu2KzXbNullztDxk00jBprOS0gTKwqO02IBrpXFBBgA4h3fSdGqvKc2EWTGnzEqevv4MBweXcNZSZAVFVmI7y2aziQPNgR5eVdWgZUzDB+/6AseHIUx7GOCPC7C4cSc0KKJraVo+IGYBHyyN87zz3nu8/ubbrOsOqyQjmNiYKvRgHBKGBVco0WO9kRQZ42Ir4AlOXtvrIQTexyLEjVE7NCGDYjojn0zYbJcoY3j86BTbKfLpDn7bcOuDuzw+POL5Fy5z5co1zm7fItNi7jadTTk5OZbpv7OgAp11dB246C599LN7vBOCsAkQHTPRXKjPkI3sAjEOE5TfhwDB8+zzN9ldzOX8K6HtmFxoSM47zpanLJfH5EYWvkcPMyoF5bRiWW/RWY7DkxWip/nXf/yvaOuO737nO6OG68KkPiEosSBKlEkjQ0l0QhgCvVtsHyIezda6uhVgNW4eznWQkOEYTea8I4vOij2cPqL/CbNC9bm3IdIKpe/u80KGJnRsUqNlExjr0c5T9gbKb9K9jYv08z8XAaCI5gh54hPofyOktW+OtRLdbizE+yM8V2zGbOVzRWSkuI+g4P6eiCiZoNa9q1SUW9CbRwmzQtx3UyGaNH9J5+ecjYwV+Swnk1LM/4JFBdNfH0enpzx78wYqWKwLnC3XyDKhODk+SW8KrQ11UzOb5ORFQekrNts1Hz14wHq9Yr08jUM5xFCwaZnMhX42r+asVisODg4oy5KZnbPZbiiKTAaaITBdzJhOJrSuAd9JnFrMKC+qKd46nHWURUWIDYAxRtyfG0ueiW6q6zra4KldR5YXvPCpZ3l4eMbZusV2Dhc8TsG2bXnr7bdZ7My58dR1Xnn99UEbgOQvvvv+LbZ1S2c9p2crptOKlz7/Waqq4q+f/C3eeWbTGSdHx9y5fYfrV/eZzybRFTc2gDrhrCpmgcu1/f47b3H1xtM889yLaJMRug5cwzOfepEnhw9549VfCmodIHglJpNxIBRiVmRw0X3e+9jK0rMV0nhSPg/Vo4gq0Q/G/PoxVzbei/3lmaYmPVqcaIa+j5MODIhyoiMLLT76CMR87PN9bY9jnkNBwY1+TkVFrrxPMZCKkRzaRFqgNLd5kUfXbCnGNeKibTSUeSkRaDF7Mt2MntDn+aam1/k4HIhyhosGi8PBjYYO8brRaU+LAER/btNScG7UOJLYqKSgGWRC4z3y3O+kAUEfqRdzgRPVOD6fTqaEYSQl6Df6UYMfDcvMaK+Qnx9o/m1T88brr3Hvw7v8xm98k6/9+tcEeSpKvvy1X+e5F5/npz/+Ia/88pcXZE1B6Lzf+S784f9BENLZHHZ24Cc/lsZzs4Gf/gR+8zclD3a5hMuXhCqcTJuUunDt/CMeb7whTevv/4G8fpaJG/LtW9L0giDG3/gNoRufHAvluWlEA//d7wod2ZiI/N6V40qPDz+Uf/vtb0vsj/Pyc2dn0theeMzmCz7/0pdoNmtOjo84W54REH8apwVEklonRPBjgrceYyA3OobtyVBZIXVF2rN0kvpEZpXctj4+f40ymrrzeOsoy4qd/R0m8wmXLx2wWq7YrLcsz85wdce63pK3okNFKYrSQ+alvvIB11lUVuKspd6u2d3bxWSG6WyKiTmu26aN+lYvBlVFGePsLN5oAp71diMmgdYxmUzIMi3MIUTOlECPLEYhdV2LUprOOpq2Iy8qGdREuQRearV626CIFN/oKxSCxIKmvbxtO/Z3d5hPJ9Kctl1krXqqYkKRS9yq8TbGMeVY2+Kcj4M0P/iMlAV1s+0zbl0bU1SMQtnAtJThclPXvf7YZJI2orx8cFmeEbo2rp9yjHlkLhVlIVnHvjvvXP+/8/jVNbbRpl9Zca7yThzEtMmYTif49ZY803R4uq7BBMkdUhHt0UbLhCVuWHbrqWuHyyFoh840s2qK7TydaamKnCKfSLO43NA0DbPFDGsdZZ5R5CV5Lpvetm1p6obO5BRZhvWOYCUT1TlH23YyrSgrPIbVegloJtVEJgg6FVOxaFAyGXHWyc0VGzEImCyjoqJpa4hIZtd1dF1LkYvTpInxQ9a2GJNTVVXvImpiwW6tlQW+KGQqFIj6Y48LHUVZUVWlDAOKQjaoGMGR3KGLqkRnMMlz6q7B5DLBKksRd0vTLyhSpkQHrHO5QU2W451FITld3gqn3hiNc562bihy0dRqr8hNwZUrN5hOZswWe7Qhp2navuAtq4Kz5Qm13bJpVjw6ekTAiVW5U9hObq4sLwhe0TWCsMqUWDEpK7I4bs3ygiILHOxd4oXnXkCR41qHUoYyxv4knn+I8Q9FUTCpon6Y5ATpzxmNhEiLyqI7dNIrMXKATC7H9CiViXvtMOlP03HnA7du3eWV195muW7xQUckLJVGgxNkP2UeTYrpPVLC0GSEJMUKQ1HlpVTzYYjQEgp6XNuD0E6qcs5kMgWlWK03qOD43/7Xf8XpkyOuHBxw/OSYV996k6By3n7nNpu6ptCSxeyD5G/u7OzQLNfkVUmWZ6w3G27ffptN00irHXy/+BjjWSxmGBNjkLQUkidHT4TmH+8nVIVzgaosqIpS7q+4aacIGpAsuM9/+ct86oVn2VnM+MUvf8Gl+YIXD65w7bln2WaKP/mTf8P7779HQGg96+UZ9XZDphxaJRTn3Mol10DUhvZTfZ0qLH0uMobY1ErzoPup8Vhzm/dmJNFgKTZZXWepqrJ3TU2USKI2tz+ixLSIw53UGCcUlNSoRQQnlmcoZYSiqoai++N62nFUxhhp+YRmNXXVavj++SzMvh85D2/Fn0y1l4ouifhxbIrqdTQ9EjI6rBAR8/RykmmYtIFx6OVdjxTnuehtBHGL2Xg+RUaEvolSSknsQNyfJpNK9EMhWeFHjbCXPGvb1kwmFTuLXbrWsb11h5PjY5q6JTNiyFPXHT4okUZkhieHh6xXa1bLJZnRLOZiFLY8WxGnoRhjuHbtGtZ2nJ2dMpvN2LZbiiKnKgvyPCfPS2azaYzJEorebDYj0xlFkfO5L3yeJ48P2a43PHPzGRSa23c+oO1k3bV2KpKEAKvlCmWteDG0lvlkwVNXL9PdO2Rlt/EzkDzB27du863f/k1xHVWws5hzdrYixAHPkyPR5e3s7vLR/bu0bSPRFj7wwe1bFNUMpRS3bn3Anbt3+T//n/4lSk9QOBmYxsKH/vpJ7ptiAvjy3/2Uvd0DFnu7kQrrUAa++NWv8/jRQw4fPRSUOq2BMZtaj+QYoowbBjMJ0ZTvm0jzDX2TkrqZMVcgXfch7RE9i0SPmAHnnZETZT71xEnDfGEO1TdonEMHP16ZnWNWuKH39n1TeKFwj0jreKiZZUJ9dNb2cV8gg6H5bE7dND3iEZIcZnxfqxA15fFcJKZRj5z2kukRPXm0Zo6ygpVWyZcqvvfz509FkCTtiyrOPSS/PkU5ffwcqWFhHPkDpDXR4/UIWR/T13sm1ugjD2Ku5yNTR0XGngxGorwiNv/eO85OT/nB9/+C27fv8LVf/xqf/synyPOcnb0Dfu8P/4jPfv6L1D/+KWxHutLTU/iL/wif/gzs7cnf/+5n56nJd+5Ig/vpT4uL8J07cHQ86FhDkCbxomnTr/JoGvjBD+CZZyRXdrOFd390PqKn6wSZnc0HAyvn4G/+RvS1V6/Jz/z4x+KWPEZhvZfG/KOPBLU1Gl55WZrdHjUdHrdv3eLlD97jhede4JlnXuBsecLhk0eo7RbrW0zQZL2pkNSo1jsBpvBRVqCjX4949gQkCkZrMSnVWuQD470mKAGuOidsD+sUBYKOzqsJs+mMzWrFfFKx3qx4cnzI6ckZSismkxnOgcqiazOBItco7SXDNc+xnQAzg4M7PeskhOiOHyDkBQFF2zq6rsE6R5blTCZTyqKgijV7iKkW3rvIrPAURYGrm8gCFWpx2zRyL+kcQiBXgsq2UTvtfYzPNEZiSwm9DCrLRJ+rFLHHULFRNRRFRp5Jfat0RqZy2sZH5lOIDs3DczsfmEwmVNUk/o7UpU3TkGnDZDKhrEpW6zVVVcXhs+x3Nkohg0Kyh7uOEGOTBoabNLeN7cSx+ld8/CPifsR5b5FNo1GTFMJZkVNWpdBe8zhRqFucC7jOYzJxSBwkVAHXOYLTuE644yqLob9O9TtGUND5BpMZJpNCuO+ZhNPryCNto0HHrJyQqwznPFaJs2bdNqAhz3Km0zLqsARKX+g5IPmESR/hlfDINUI1nkxyVKFxm6idC76nukKgKHKMzphPFpjVGW1XU01KjFbMJ5OYtdqijOkbW4UUuJOIKtqYDaULg9NCKfMqRFqY7Y175osFeZ5zulwSvKerG/J5zqbeRhRXNohJzFM0xoj4O2g6Z9nWNdM8xxQajxWQRJk+DshZT5lVQp3A4poG40XLUOQl169eZ2++w+UrV2TT1wYcrNfL/vooqgLrW85WJ2zsiq1dUhY5BDE+MUGT61z0B96hnMI1stkabSjIybMC1zkW8znXrl1nd3cPhcZ1YtLlvWNL3Rtw2U5ogZPplOlkGhF8cZRNOhznfDyPcmNmmekjbXpNzwVKp/cO6wJ5lscmLkR6MFE/JJqoe/ce8PIrb3OytLiQSbMVAvihQkkbrSKaFY0wgBD5oEFJMaEQzVQY5RwGLSIg5RlN0KXJTY55Jp6D2WwnNuKB1XpDlcHxySl//h/+A1UuNJGsLIRCQyamYrbBmAwXkf/pZEqz2ggiGwKLxYL9gx2ahw9ioSiNkPcBjeHS/iV0XChTIbQ6W9K2dd9Uau3ZO9gVyr4RjXNA4Z1jPlv0NOFEMb//0UPOlnNuPvsp9nd2ePjgEH+85P37H3K62hLQ0XjOs783Q+1N2N+roHeKHuiuA/4QiyztY9xYioRSPSqrovY2obWJ6iSGFPS0oBQynpq3IVt2KLR6vVz8vHoUCIWOyIRCE9wgpxijOT6e56HICyTrKaETqv6+10ENBeuFx/D78Xr0nKuWQ1+4p4YvoXeREqo0aEGze+p+kGiXpBNPDX/SRoag+oJf7hc3QtLD8B6TUz3iJ9DZDte5iN775M7WNxxN0wri5If7NQTXa3IJkg/oghhPaJ0xm87IjKa1BoImqklYrzb8/Oe/YD4tWSzmklVbFOS5YrWu2a637OzuYr2nbRtOzpZMiozttqbZNjRe9FxFkdE0DdNpxe7eHvW2pipKsszw+PFjttua6WxCXmQ4b8hi5vClS5fZ293HOcfdD+6IT4MyzCZTfOXYbmtee/k1FIqqLDl89IS2adms1kxnU/KyjC6gE86WS+azBcdHR+BFGuG2DTuVgaYRdoHKY6OU0TaWJ4+P0FcUB3t73Lhxg1dffR2UmKR03mO0Zr3d8tY7b/Odb32L2XTKw4cP2d/fZTqfUTew2Xo2dc0vXn6D3/3d7xJ8jcGjPUl3IUMHZXp2EWg2Z0te/buf8Bvf/V1BZyPjoyhyvvmd3+PP/+T/LXnBI2dslczGYjMlyI0UgC4k2rNcW8kUaXw7pGaMNCpSaSgk9Pp0YYxs0IapS2IYpCfUaWg1IJoqTWl6JoSKkXvndbUXHxfpsql51HqI6xPfiDSIHfSqqflWSsw6fTRfzHUe9WjiJnvt6nW2dc12u2G73cRGLqGWwwiVFLvkA8GOX2d8rKnRTVRhj0f3Ay2txc29l+tcfO9JTxwj4uQN634ArT8pRXxEHx/8kMfnS/eGX/2BJPlHwr7j9WDicNOQ2Fy+H7SRVNIx+iUNQhUBb+H2++9z/949Pv2ZF/nWb3+Lq9euonTOzWdegIeHEsczfqzX0jj+Q4/DQ/nv73t8ePcf/v1/6LHZSGP8CQhq/7j7Cc9f10I7HlOPP+nRdYIA3771v3so165eJvvwNi+//Brz2YLnnn+GT73wabb1locPPmLbRPYdHp3JkNjH6D7rnHioZJJ4AgGTS0a3NJzgrRVmooneOxFg0BlYv8U2LgIJUwonvhlZWZKXBfOdKc7uY7uOy0cHPHz4kNPTU1znWbZbHB1FVZLlWpinpY1QqWK12ciA1FrKvMCYBh+bM60Hl+Nt02FbP9w72lAUJSF4Wis6WmMybGf795NlWfQugMxoOu/79QQfWbHJuMxLRNLObIYxRnyB2haNZzKtYtykPGfn5FxNjMhcqmoq6TKdGPkSMhl65jJcDsEJNdkGqcMVdF0bk2uEih1CkMznaKZoTM4sAodd2xG8l35NGwHOrCC03gYaJyk6QQcyIzKJLrJB623HLJuC1mLm9Ss+fvXG1lpsCLgQ82MjdzvTBhUChTHosiDPBFEFw2YrOjsbrOQqxUmuyQWlyLxQUY2XAk9pQ64NeZVHF2CHbTts1GDqEKjyPCKeDtc5MQ4ywsd2zhIQ+N/aVpq8mWyqxOmJMoqiMngH1ouDWp4XklkbOe2ZVtGARhryRIkzMYcLmW2TGSkO54s5m41cWDoItF4WBbPFTMTdkZqXZWKkJRdBR1bk6EymVHme0XWCXNZtS1s3bMxWKARejqHIKzpaZlONipFINmpqlQLbdeKQWW9xLqBNFm3ERb8atNAw266l8za+F9kEuk4MsJRSFFlObhR7ix329w+4evk6ZTbBW6GGoT1dC5vNOIA78OToMa1vhf4RNxMdERKtNaUpBIlRMnXKK2kCyolkpJZ5wcG1S9y4fh2tM5q2laIniHbXGIM2JhqBSYO+WOwwnU6jsYcS57TIJ3POD+YfKml/9AgVU+e0QsOEWscp1sc3UR+L7MePH/PLX7zO6dlaaMuy2vQbYepKEm1NXjAhTJHC2cdCRBMThuqmb3HGNOlRkwOxGdaKcjJlvtiRBtN5lFEok2F9w3Q+4bu/8x0IcOvW+3z2c5/jbLnkypXrPH70iOPjYz64c5e8mESqTin67eBkQzGGK1dEb/jo0SOSIYlGmBsnx8dCzQ1DYyuTzRyto9mCymiblstXLgtSZfLeeGCxWKDzApNn7O3sUhYlj58ccnK2Em13WfHk5ITutddZnpxQb9fs7Ex47vnnOTx8xG9961tcv3pApkWTorQ5R8PtKbAk2lxSLROZGbpHAEAaPhWjcAIB74bMNQh9jIm1Pupe5NlsdAM8T98bHgMi3PMYezRW9Vq9OOjo43d6H5o4JwlCR07uq7EZ9j168vECOmnHe6RyRCkmRg4RgsQDBaKGNzltCzW11/z1lEQ5Z26kixXmhBvhvdGILUikTXJgT3rmXjOYEOQQsH3GcUT4Emoe84KDD+KUb/QwuEiOrhF5z/O8p0UbramqiRQYUWqRbjPvPdevX+Py/kzWl8bGyCiZTj948IjdvX3wMJlMaVvLYiJa8Nl0ynq1itewvPemaZkUFZkT40RjJly6dJn5fMF8MY2xUHKsuzt7eOe4d+8eq9WKtm4wWYZ3sFytaG0Tm7YQHZi3GGPYrDacnp3RWceNp3ZwznN2ekbTtKzXq16TWlUVq80W5x0HBzuc3fsIneVDVI1WPHz0iL39Hb7w0heot500GnowAVNG8c6773K2XLHebOi6hulsxne/910m04qf//I1Tk7P0Aru3fuQe/fvc/nSHiZYCq1Et5UJgVApYSoak2G0IrjAh3duc/mdN/nMF76EUhLvQAjs7e/zG9/6Lt//8z+TIa8aKKvE+Bath4i0xDpId7wAhx6jBpVvf/+kjNq+weU8o+djTVy8R+LCf44Kl+6b+HQ+fT1CKD9JhzrsJUNM3AAl0rduvl+3VL+Xjn9vfH/LfWCkuQ1WHGVVEV1Ic37ta7/Oc596keAdP//pT/jJj38E3p1zju93nB6BVj1Knlgw6acHv4n4XxzSaj2cr3BuzTt//C6abyVGE3p4faUi4nthHY1beGTXXDiXF09hj/qGaAaWGFP9nIy04vZrXfw5H80cBzpKTCxQCkJHXTtee+1V7t69w9d+/et8/Ru/zqRp4L33Pj5W/PumGf9/8tgEz61mI3rTxZzf+MbXOT4+49133+O1V1/lnbLgueee55lnXqRpthw+ecDZ6kSG9UbWqa4TFmNQnhyFNmCdJTMa7T3eRyp9CHjbjdzTkVo+MyiTo9AiX6vXbLZbZpM5zWxBNZ0yn0xFH+oDVVmys7PDar1mudyw2dSs6w2b7YZN25DpnPXSU5UlJlNMZyVlWbLZbLBezGr71BIl5mhtG+NA204cjTMx3BM20DYykgJFEf17Yq8hfYJHYXEB2s7GGE8vCGf0+wk+YNDYjaWaSqxlHk0JTYw99cHTOds7twsSWpFneU8tLrVo9nOTYlcZnJGj1MZ2ls52dG3HdDqTFJQ4SFAqeiBlMiCvI/24aZqoyY3f6+tiFdcqMWLMc5Ffinmi5McrHXu9mPf+qz5+5cZ2Pitp25btVpwbS5OLNsLJm820TNQDIgy2UeeUZSXBBjrfUmRlRC5lOGwjRUBj0NEp1rYdJs/xVrSuWSbQuHfigptnJSqAV75faK21UXukabqGutmK4YgSIw7jNWVZiRGMis3PeFWO6XLSREbheJra6YBRCu0zMFBWOtIxO4zRtE4CmYuilKBlI0Hqm3ojC6iRC1DFD4m4eFtnMSrDE4TyqzVd4ymiqN57T7ttoQAT2jiVVBhTkMcpVrCOxgn12ePpbAsEptMJq/VWPoNMi/tl01BUJTihO2ydhClbPwi6VQxl3tvdZX9nwbWDy+zs7qJDDiGLhQSsNzWHR1tWqyEAPDOG5fIMUxoUgSoTTXWeFwQr9IMiK7CdJTc5aJiUQjV3SqiiV65c4ca1GwQHtu3AQ9d2MSopvo+26ZvcxWKXsiz7ZlRqn4hdudBneSZ0Vhr3weG4nyr3zcNAHUsxTufq+SDF5vHxE37xi1c4PDyGIAuHUIYFsUrTwmR45pXoEdNrj5E5UtuqBsxNxdfqC6sUP5HKtIgKK0R3vbe7D1khRZ2IC8XYyrfkVcnDx0cUWcly1bJ36TqHJ2vuP3zMN77xDe7du8fb790my300q1IsFgs223WkESvm8wWZMTz91FO9llYGJtJwoCW6o8jFRh5E/51lOUqJEUJZTdjf3+2vY1C0bUfnHXQt3WbD0eET3n7nHboRDY6ou/Q+GW1ZyknGarNBaU3btaLBHBerwyigP89p4KAj0qiUNLkqOvIlxBaT0EwVDQ266NIp106WG5q66ym2ITZJySldf4JzXyp46dGdAWFKw5YQgpTnI8Q4PcabEUk72K9a0Zw1Ov729WlyG03GaUlnPKLxntPFOSliXZdcJdNAZUBudG+4rPqGLj5pLG5dj5TQO4zH99AbPemh2QjDEEeKAGIDngDlOK3OZEDXNw1qcIgNyYAmJGRc1gKtdNQOiUFhu2nlHoyaXB8CJs+ZVsJAmk1m7B3scf/hY46ON5ycnJJ8nZ3zqCCUsIODA6ZlyZuvvz56r6Kf6pqVoPXeU6uGBw8eMptNuX/vlPV6zfUb15hNS5ZnYkboQ6BpGppWmEn7ly7x+PEjUIHNZoMxhksHB2zXW45PjsQ4yRjqbcsHt++ijYlmK75H2JMetZxUXLt+FW0KPvroAW2k3NoYdXKyXHK6XPL1X/91Xn/tTWGyZGI+iILWdrx/6xbGaPYvX+HW+++yt7NAG80i3+H4+Alax4zQ4Pj+93/AH/1nf8TutMDTyboem09lNFkA4yHTwrhy3vHqz3/K5avX2b98Ce9TfFLHsy98ms+/9BFvvPJLOS6tUIaI1NMbD4U4EEwNT4iNb9+cBRnEDsnRA0PhHFX23MoR7x8/vmcYmrn0/WR21GtEU3E3apDTFCWxMy6+Rj+dOm80Fy/Q3uX7E9uj0X3WH1iMK0Fl1HVLWWpCaPiL//h9vtVYvvhrX+a3vvM9dvf3+Yt//+9om7bXx/brU1wjMi1DCeecoLqJbfGxg/k4Kp0+C31uWDxQiUOkievx9xJaHs9JYnf01/S59N+PHcHHdtT+vPvhX9LnRuSLxFFIP2RO3w9paDE6ud6F0atpjo+P+cEP/pJbt27zvS98jueshec/RXj2WRSBrm154/VXuH37Fl3XChI+qjNE6qL64cV4yxdmguZsueav//qHXLl6lZ2dAy5d2mN/b0cicdRoj0wfQ2zSvZeaXCtNURYRNbQiRTNmFOk3Ygh5x6axOCRyZlLmmCgrSB4ueV5EF39ibRV6NtL4YYBvVTusguMn3Ya62dKFjtm0Yjqp2N9dcLY849Gjx7z/3rvcu3efZ565yVNPPcONcIMHDx6wWi9xyH5iVEbAgZPEC62zKH+S/GwfxGAqgVfJjMw7h/eOLBMabqFyPB31tsGeWc7WZ5RVxe58l8LkzCczyqLk4PJl5js77O93klfcdqw3G46Pjzg9WXJ0eMpsNmXv0h5FIVx6HzTWthSA67oYm+N7Rkqei9NyWeZiqpSZ6JwsySYhSgwTkJEGtF3bCW3XB+qmoygLiqIgeEfTtWifEOuOvMhpuwZrPXkmWcht1K7qTEA5FTfXrnOoTvbHPM8IwWNMxiTL0cHHgZZEbjorAGJR5HRdi+s8Wskg1juHc54yMohCjC9TIRCi701RFFEvLGzJLDeC8gLKKpSR1bGqSmgtymhMLnGyWVxfddf+o+ZEv3JjW+UFwXm2QaijLkLF1juc65hWlUT4dC0mRXpEI6Rca3FLjvmwre3EZluJdkr48xKnYaObsPMebxVt58nzHKUCzrd4JNZHZzlBb5JNBGVVos2U7vQEE6NJqiITMbWXpsp5J9b0PogDV7wJM42ImbXqDX1Ea+piLqbGxMig4Kw0n85jlOl1KUT+fG7ENbrrbNQPWeq2E1eyXDJDVXStaeqazlr0dEY+KcmKQNu24ugr7QGZMXTWEYKNhhqBrnXkRaJ2RQqVj9q96C5GCDjXkecyCJB4CEeILm1EZKvrWqHu5YLUXL1yleeee54rBwcRGZeYIBBO/NlyxenpGZ3VbDZDYzufzykyoUBlqsIrEa8XqiRkHjLkZlJaooMixQ8Fe3sHXDq4LFO0Wpr4oijwrSAJsqBqghXK2nw+pyqrfrEYL9E+Nu70Bh6Cuouuk3763NNHe/OZYZPwzmOtI8/1qPgYCo+mqdnZmfKMgrPNim3jeod/F53d5NdEJ5nybn2cTvve8CJutOcm0L0QaIgzSQ1GXzjIRjidTNjduxTRGNMXBdvViq5tyHXg8PERthbKr/PwFz/4G1prUcZwtv0Rzlqq+R5FkZEZTdCGfDJhlsWYpEg/fv5TL0q8RDSuCmkyPypMfMxVCw5cB411WFdjrUPpU+4/+Cgivro34EpInR85cgY1QgxTURh836ydHM2pV2d42/L8M08PRijxf1qNMiCVRGBoLdp5FfWPxhgx8IlsAh1RCp1y1nBi7uACk8mMP/in/5TpbEoIgT/7N3/Cyclp/JwDnXO91rHruo85WoZ44fSlUUITgo/6Sil6fEJKRkYqw/UxKs6TXjtCkMIeHNCfIRxlOIJ+aKJAexWlCAOiFbwgKQmRHxdK6dVdrz/Tsekbrt3Ax1GngS4tf/rURCQEKLq0CtqTNLDpOaJRT9TbKm2EgZIZOtfJ+uYl61sKgzgAsV4i1LQWKlZesdhZcLp6KHKE0Tm599EDjJfCfXdnQVGWXL16hbOzuyyXp7Rdg8mSPlRHLWNDZ22MVOkEte4seWZYb1Zxg5c34bxnva3puobd/V0CMJnNWMym3Lt3T+QyyJqQFxWf/9wXmU5mfWH25OiI4JU49480+rZrwVkm0xlFIV4HtvORvhpo6hqMDISD9xitKDINJidHUW83NE3LvXsf8Rvf0HRdwwvP3+TkdMnh4VEk7wtCUKmSbd3w7nvv8Zvf/AbaaI4OH3P48AFVNUWjOD05Zr1teP+923zja18idOJmr5LrODKFdwFQvk/yqLdrfvmzH/Pt3/tDirLCuzY2PJavfvO3OH7ymAf378d1eISmJpK7VhgX+iiYc+waVH/N92spFx9hYE0MT36uyelbpZ5tMfywSlFTCeX+GN1+MLNKf0+u+0PjxmhvUR97n2mgp/TQGNHvV6O7LTA8N1JEtk2NcxnWOv7yB99nvVnytW98gy9++SscHFziz/7NH3MUabA6GnWleKSEviqVZCZRrxjCx7nC6R2MGi01Ql0vorbp4cOI7pyuk+AvrF2j3Tf1q6PnuYhgp7UnnPtQR2PP/lf9uc8/ARwQqdLpx8NwSQyNtezp1jd88P77/PXhY569vI+bzdBPP4PygQzP55++TnHrPf7qBz/gyeGTOETw8dqVgbg2YpxoA2ycpW4COqvAGI6O1/zgoydMj9bAPSaTiqeeus6nPvUCnYlRfE6udB0iYzEIsJTOu8m6CFh0cXiryRUURhgtmZFat95u+Dd/+u8oyyk3n3kWozSf/8wL7C5mdG1LcC1lpHorMwID0nCHwaQxC2DjB5BYM3le9NK7xc6c+WLKpUv7PPX0De7evce7777F7Q8ybt58huvXnuaago8ePWC9WeJD1I060dqXVUFuTEw5iXp+pVDG4IKjsx0FITKKRDpG1FEnQ8EkQXS2Zr2B09ZyrHIO9i8xqUQzuru/S9daNvWWvCzYmU05mZ1xeFSxrbecPlnSti3VrGA+n2Jty1YbguvQxsShnOmNSvNkEBVzY+umlmZyUgBC5dUYyrIiN3lvZtdZQXx9FN5PpjOCbWmaus+gNqX0VmWWkRth+nTO0jlhvEqm+6QfLHfxsyhmBXlmcN5CkJigzgrqXZZlZHUqvOso85LZZNKDYGmwkmUFTVuzrbconWHynEyLXCSEaP4VHZ198BIpmcC+oHCtJa8KSYJR0vB3Tq5bS/Qn7e/PX+3xKze2bd2wXa0lpzHP8NGkyLVO+Na52EXTBbJMU+YVVV7QdB0Oj7VKnLaMEr2gHhk1xIvOOQdaNGcpzkYFQ57lmEwKo9bKxCDgsd5hXUtwhsZ2HBxcIs8LqnLCYjalyDQ70wVt04nzaU8PVRAc2iiMjJ/waLz1gnIqRa4KCU134w9QLgDbtRjilDbSDowRZ+HOewmLRgqwzsuEvG5qZrMps8WM9XaLzkzMsTTYLrANrXTZxjCvSrq2ZVu3mCynjRB81usAda9dM5mJ+V5SrLt0EziPd5bgjGRBmoymbijzQo4X2ShzI6J9Tcb+/gEvPP8COzt7qKBpW4tSuTTqvqMLns4H6q7DOTg7O+k3lmoyjcZboMhkWu4DoZWFz2S6R3y0MrROqAW7e7u88PynpMmuOwKK2WwWdYqupwUnHcF0MqWYFJFCOmxwSdcIIbo7xmIj6pX8KKYnkCgWo6l3yj+Jmp0suzgDFk2QVoEbN65y7dpllILOCoJc1w2bdc16vWG93nB2dsZyVbOu25660XiNDQVB6Y81hUN/e25OHJs7nSCxfjOpqil7B5cxZdUbTBmladqao8PH7O/uYLs16/UW3zpWqw0qMxyfHUPMpb7/4X1pbrxHBRfdliOttGv76B6fNL3O9gYS3jOi6Kq48Mbv9Zifi+c7nGvGdEJi0zv243MhbAznYiMbRGMsBYHkGxrV4q/s4mxLkYumKyEKKconNZfp/BLZBoKYevCqp5Ur52JjqzEerBK2Rte0eBt48TPP8PTN58A7Dk+OefD4MDb8gspvt1vKsqSOUoDEYB/K2diY96DFkEUrtG4fnbRTYSzWOKOusUcuhuHLYJIiEjV1rqE+hyz1Rk2qj0kxYXjeAeUdoVJxI1GpSgyDLlepAVlJDXBCLgUB0z39fwynpBzeAYMaNQBqoMF6n2QEXpy+81wo8tpE43CRsIQQ4kBvuPaCF1R+OBGOssz7AWgYuWZvIurvnGN5tsSFU8r5DFSgbWvRzuaVOOlb8W5wzrHebCQyIRC9FjRlntNkW7LM4G0nSrBO45uW6aygbmus82y2NbOJaJ7azlFWOXlsnH/8o7+VvbatMblklyc2UqJvaaLFgXdY19Cut0ynU9rG0TaWrm1lgBmCmBAWmklVsKpbOhtwaUiAGMy9/fbbdLblpZe+wA9/+KNIbI9U8yi9ePudd1lvtgQCTdeQKcU/+Sd/QFVV3Ln7Ea+/dRulNT/58c94/tln2FkUMmVHjESy5AAcdNQ7xkEjgft3bvHaL3/GV77xWxI7E9ecoij4xre+y7/53/5ncfzXIzmGH91Z8X534wHQyJxoGAaGvjsZo7VpeJKaq/5cf2IVNJKIjBvZqEuXfaXnIwyk54joqr5J+qSortGrjNbCPq3cy6unQlb3a0lsqUN0i43vTmsZiLRtCz7QovjJT37M8dkJ3/ve73Lj5jP883/x3/Lv/92/4fZ778dPXA2SGB3R0siiEMRSXserJJ2JRo3hwtoRqcb+k97T+IdGa04aTfYN+ujR74sj19Tx7378U7owLD6/XPUN7bnf6OnLKi5z+tx1MJarJJp2cinvGvF2eOWV12mbwEsvfY75fIoxBZ/5/Oe5+ezzvPbLl/n5z37GyckxOkZSBScSHhc8Z5uOx8stZ7XF6oJ8uo9Xu3z2t/9Ljh7e4/1Xfk577wEdBSdbxc3PfQFiU5z2VGVUbxKmdXyPjt4JP0SL7kwFchtQWrwcvLN4a3jm89/k+PAJJyvHm6+9wof3jvnsZ17g5o1LTPN8cJqOqLBiMIFM67xKOebjfSM5eOcFWSaAi4v3+OVLB+ws5ty8eYN79z/i/fdu8cHtD7l24yluPvMMl3zDo8f3ODx+SFlGyaFyFFlO8I7OtnFfUOTG0LqO5XZFNpnRWStSwOjQ7p0MaHSmyQrJgZbr26EyTwiW1faMutuQbXMW833yvCQrM8ENcvElObh8ibbt2G5rVqslJ2fHHD56gnUNs9mU3d2FsP5itGRCRIOS5rbIJ6AUTSvnoSwLbNdG93IBKNqm7VlKqfTTJpMBvTbYiKqWeRl7k0zMYINI+jrV4QNU0zmr5RLvxCk9eEfXWcosJ6CioZNFa5H4heCxPrDd1nRRGpQbQ1UUApo1DVWZk2Xivq60wmtFsJ7VZoNWOeUEfC505sxoqTUi8wklYKjUcbK+6JgXqIIAC9ZHF3/nsUHRNi3uH1gvP+nxj4r7mVQVRVkKtG00RVnS+Q5bC/RObBjqusPoEpNltKsVRXRD7doOZxytbZjMCmwrgmVQ5EU5mOrEHUEj9Oa6DRRkor31lsZ1GKOEyhwcoRMb6uPjI7q2o8hzcQO2jkmV44NlvV7J5qPSTSaOzXmRy+TASURJ8NFJLECWFeQxiqLeNngfBLWJ2lZx5XWywGmFcyJ+x1qIkxax1pcJaNN10aFT0BijsjghjGL51lHkOV1nUTpDG0uWabzTkW4pkxa0mN9oJbpCk8WoAS+aks5bOi96g7ohUgHA2i7GIXVkWYH3gUmZM53PmFRzrly+ynQ6p2k6ulYyM6tKnJ7rpqFuG46XJzx49AC84drxcdQZSpA1EYVTRvTE1nkwGmct+BBzsTwqFqs3n/qMUJ21oastZ2crJtWUs1OhwTovtIZEo5lMJ5RlIa62/RRYGivvRXulkhur0eeogjpOiMfz8DSVDj31dUROUqFvUOjjB3ycPIkmXDJ3M0yeUU2m7O7RF1YEsL6jsy2u69huaj64/5hfvPIerYvHOcrVVNFopNdUxc0gTfVDQrSQzOZLsalNrmxKK7q24cmTh1jb0Vqhb25WS7arVb+V6+gC6eJq2TfYMW4iuETRHnSlPtGh45Dmova4H4T39MBhQu4T7VYNkQ0pgiMdu0RlqJ6SmvTQs2nF6cmpXFO9m6bCGMVLX/gc00lJlWcybQRMlvXumgNvJRZ9qWBVssF7Lw5+aQM2yqB0nIIroTS1TUuel3zx174im6AxvPzL1+K9Qd+c+iCxMNaJO6dOaA4IdSoxyFUcwNCPuKVZGiEKohUfXUdjRmO6FtMwITWM0R1YXajmElIsTcaYKTDS9oXzRdsnFotJa8aAoKdhDCMaZTrtHkeKX5FmYoj6ESOcEIPJRkgt0sQlx2/nLME7XGaEoWP0wLZIQwApEeNxD5+H1porly+zXq/xKHZ3d885oyY0x7nAzu4eRSa6JVSg9Z75fMpyeczZ2ZL5zpyu2ZKXhu22oShK9vb3WK9WHD5+CMH0U+xkPJMQE9tGzVcp03ujNdvNluXJmdxzWqH9XBzPO2GjqHSNWMmEtrbDaCNDJWJXG5E8G3MUxRREEIzJtCLrDDpKArwPfPmLn+Wttz/gyartHWCD9zTbjrfefIfnn3+Og4NLhCDD6qAy1k0DCAp06/0P0CZnMl2wXB0zKQv2dneZz+dstu9L86RzLl+5xI9+9CN++9vfYG9vKufau5hVGIda2kQtb1pnHW+/8RrXbzzH9advQBDzlWBbLl25wtd+4zf5yQ//Uu6pOKDSmYaIYLjIRgok5/GhOR2jSun+I61jarjuQhx2p7WL2LL1Yef9da5jhKDq1ywZisfv++gCfg74HdgJQ9OmPrFI+0R9/tBZDQwfBglof+Mpd+69pufpHZPbmizkvPXGG3Rty+/+7u+zu3/Af/Zf/HO+/+//HW+8+npv3hRiLdH3LEqJRj0ixcqJ9Cj5u6V91vsBbT3XNn5sTUn77iDDCCPn9J6C3D/BaC8cZeCqMHiUjV7t3MCs//2QIp3OH0ti26nkZis7TfzVQfOf6gx1obmWyCE596cnR/z1n/8pr732C377t7/Fpz79KYzJmU4KfuNb3+HFz3yOH/3NX/H6ay9HDxTxxHj7vVscn2xYW8X84CrWZCybDTYI5dhUezz/2a9w/4P3ePfdD5hND9HVDovLV8GU+MAoDSDubTHZQ0Vvl/H1FmxLpgQ8SgaKqEBx+YCrlz7F6vF9Gt7Fqpy//ekvePLCs3zmxWfZXZRMSx33cXrZV/osiewyr4aEB+tc7+eQzmWeV2TGoXUXYxoNeVGwu7vLzaef5cFHj3j/1l3uf/iAZ194imvXn+LqtWucnZ5Sr1dY39LWLc6LS7CLdVnnBSxZr9YU5VoABetwqkVpTy6bNrZzArTolKDBQBVXFjS0tuXozIIy5CYTI1EvVNpyWjKdTdjb36Vu9licLDg8fMx6s8Q5S9M4lHIiVTQeV3mmUzF2rduO4Nte6qTUMLwUsAbJxA1S57nIaHLBkZciczw9Oe5rXddIfq6JfQ/RrNPkBSbItTqZTMm0IstEKmY62zscJ2mZUgrnRfpgMi2Sl1oQYXJJvjGJR5oJ07ZpajH5dZ48NyzmM9rWCRiio4zQeWxVQvBURcFsPmO9Wfc1t/NeGKkK9LYmywxN22BDoN7WbLYteSEIfVVVF2/2v/fxKze2i/mCbV0LLB5CbFicNDVVSZGX+OCxTsTSq/WGqiwoi0JusKDJjTQpBoVyYn6jU5XhPbnJo+5LLorgiHmaMfC47cgLgymMZKhmMrHwnUzf1+s0RdLUdSuCcevJtMY6cRsripI8y8XQyslFrjN6nnuKPO1aRwiKMmp1TWbwnXDu8zzH68EBVUezDIcXDVNcRDpnSVTIzlqarqWMLsYEaUZEUyfFinYytRBtsZYmLmpwsywTgXzwWO/lQjcZhZEcKestJmZoZnmGzmLRHBzbph41xpFCbi2L+YJcG/Z3L3Pj+k2MyWgaodKK75JnuV6x3W55cnzMpt5wenZCXddkpqKua5lWGzEJss7huo68zPvGzPpo/70VxKLQGbPplGtXrzKZiLlWW9tIu5I9QpsM76GJ6ENZ5iwW87hAM7QBo0IgTc9FY0Q/pRs/xJTARD2U6r8OIyv00Bf6Q2PhY2asmI/pPnbBu1FUihqomQrRMeQmpygytNEcXDacbGq861A+Zv+lKCGGBnpsNjUgysMUHmA2m1NWE9yI6mlty9HxY9p6g9aK9XqNs1u26zN814J3cXAkxx+i+/agh4xxB94Iuj0mbQbR4HChcBrrRs8/EkySpv/nkZJzXyglzaCOTIQQyKPT3rPPPMfbmzfY1luhFgYdDbo888WMSZkTefI9tWsk5epPq1aC7ifUMxktqX6IMVwgPhZNQruGZ597nqvXruNDYHm25M0335IGGmk0rJPs2qA8sZ/pN6ghA1n31DwVzasE5Qnj0xAplbHIGvMRRux00pimN4tKA5iLKERKtU6FIWTaDEOceD60SjTPT0Y/GFEJ0+evUTF6QfW61vGvq2Tb400EyUJssmJ2M4EMjQqmH4yNr6M8z8jzDNuJkVPwcTLc56ImM5ehoR2GT6rXsIUQKCcTZrNZ/z6USsZVovF+fHjIpYM98VbIM4qiYv9Ac/+jI05PT3nq6RtRL27oOkc1KSmriivXrrBenRKsZbve0GpNnmUUWR5zGEu6pqOcTsmMIBw67nPyXB3ttiHMYlyW1njlmEymVNWE09NTcuDa1aucnJzQdS1d15LnOWUh8QmB0Ou7hSptsDYwn896Oc/1K5dwB568zPnxz99g2/lohKRQ2nB8fMp8fsRmsyWEwPPPv8BHDx+xruvewKpuWqpJyWQ649VXX+bFF58XN9DplFdffwOtJxRVyZPDQ46ODpktpnzvd74FWke393T9pgFiop0K26DrGn7ywx/x+3/0T5nNClRkhgQ6Pv/lr3B4+ID333mTLItMnTiIBt87cPswGtj0l3MahISop0/f8gSfmBW6z64NcfiZBovJqyHJFEIsoJPjvk+DU6Ul2i4xCCLSOqbrDavRx7rSc9f+3/9IEgNz7leHAVVqoNW5P5N3QOccbVuTUfLeu++y3Wz59ne+x81nnuEP/+g/Z7HY5ec//bHUW57eD4SoWU+HruNgMvQyiIgTX0BULq4JF9+LHKO+8G8hvt5gXjWsKPFT6T/EdK9fPH/DeUixKwl5DqNGbPxIAwOjBjYHcZw7rCvpuQd6eAiCjA7eB5auW3P37i3+P/+fR3zmcy/xne98m8uXLuE97F++wj/9Z/+MF158nr/8/l/x+PET3nz7XXSWU1YTHj14ws5BIEfTeYdtRKrmvUdbzf6Vp/CNIMTHjz6i7Sy1M2hT4JMLcNRki5xBBjhlIQwKAmLIF/WPIUjDpfIcZQxafEHRxQ5f+9bv8OF7b/P46Ixs8hhfVDx1/QpXdioWlVgwBmc/ZhAWkCF8SHWD8+d03H0slFIUeUXIA9ZKXU1Q7C5yptWMS5cu8+DBQ+7eucOdOx9w9epVnn/+Baprz/Po8X0eHX4oA20TDb8yTaZFAnh0fCSxnqulNG9GvLFlWOX7Ws/kWUQOZXUwJovGUx6tA3W3EZ8AH+sLlUvDWVbsLnapiop5PgMUZTlB60DbNdHQr2G5PMN2NXZRiRzNe0wmaQtBCVqvfKBtO4lG1BoX5XYEhdau95cxhY5mguICnzw4vBUfkGlRUeQF3jk2tiYriygbkIzgPBdGZ5bnoDVN3fY6ZBsNCvsG1wXxfVByrHmRRzaolT7I+6ghlqEqWvKFZ5MJKtTUbYfCsF6t6DpP17kYSwnT+Yw8l4jUupaM4aZtUbqkblp0J2tw23U455lWFZOpsEH/k8T9KBXwztJ0DcYYCiULbK4ESc2zjM1mg7edXPQhSOi3ygFFXa8j51xTmVx409YJUhJNhupaXJSz0pAXFRqZIrSdJ8tLITdaK4ZORqOCFBHbTc02bszT6UxcxgyijY0Fh+npPwLvexc53l7jW0EHEqndqFh+Oo+Nxk1FlqNQMk1wjhBNqwieIsv76VUIKRw+gBaXsBA3QEPo3WPzPMdkueiVnVhim1ymztqIEF0pTW1bMp1LfE+kYoZYHOmo59XB0K1rWitGOnlekOcFxhi6tsO2llxrofNFaH9SFlw7uMLOzi6bdc3DB48xJkNncvFrY/CtZ7VZsVwu+fCje7RtS14YiSJSGWdnp31hn5lMcrRciuLpxL48ukjX9ZaqmHD9+g0u7R9gdEZTd4ASG3UfmM3nBB9oXBft3h1VWTKdzlCYmFWWioyhiA346KwYtdk+jJxmh5xLHzzODk1w07W961ui1fpo2DFsjrLxOR/onI/GC4KkAFFPNxCcBuar6jdF5WC1PuP0ZMnezg7rdSPoHhoXu/AewR1lnIYQYwxUbMTjcMIY0dSmIaNznpOjI2zdUGZ5pBc5QtAYk+PaVq7vZMHhUxOuJICdCINF5HbY2HvsoZ9ej41Y/oFe6Pw3UyjjJxL8BKX0aJRKk0ON9vDBnTs0bTdo3mK2oPLEoVii542GGrHA7fMm47vWsTjrKY09GmH6cxFSQRuRfZMXfPXrX5cppja8/vpPxFSrp9sKulhVRU+xT9cAkTUQ8EKlHmU9fkwj1m/8AyVP9cjq4OY5FF2jRrcfhJzjWA5NbfozFqGaoRFIr+9HOu9zxekFBGm4pok6mWHNu7BZjNCpoT6VYlX+67GRUc5tf09rjc4MOoihke1sT+dSEbEOSXqQnKbO6XZlfd1ut7gA02oSCz6Rw/ggmX2da3lyfByZDWeYzDBfzCknUzSB5dlp77hcN47OiRv2Zl3TtTZRIMi07DOSo6iZFqJl2t/bhRComw06QJVnVPv7LHZ3qbc1pyfH0dBMBqgOWdu3my2+68izjOXxCV1dU00qFIirpsm4cvkSddtIgL11lFnByfEJRomWvHWOTBuyvOT09Iwiy1jMJ7RnKwiZGPZF9Orw8JD79z+iqiq+9MUv8ODBQ7kc9DBcCR7u33vE3Tv3+dJLX2Qxm/Lg/kdcv3qZcjKl6QLr5QZjMl5++Q2++KVf4+rVvdj0uBipliQjsXEaMTvWqye889rL/No3fxOd5ZHl49CZ4td/8zs8+Oge282mj4NIeam+HxClgpQYBRbOX4Mpr3lk5BQS2hsHTgqJgzl3KesBmVJKo00W1yxB6nykBIZIXe3RRJUasUGz3ls3XxhAXXyMG4VzfVzyL1aKc8bv8cJPWnb55cROkxY9j8W86ywaxUf37vGnf/In/O7v/gEvfvbTfOt7v8Pu3h5/9YMfsF4t0SMZgVKDC7VPrKjoAyDfC7HJT+vGRb3weZR5WE903xQOfaw69xzp90P/PEO47/l19OK5Y/Q9iXZTff9/buE8h6CnId/4WMaPEAZUPzXEfbscQm/6tV2veeUXP+fuBx/w3e98hy/92pfFpVYXvPTSV3jm5ov8X/6v/zceH/6EL//aV/nxz/6OT3/2C7igWbcdy+MziNGITd3gO0ulxUynbrbceu21mHzg8S6lO6ShBngs3qdoR0kUKXQukjVtRMYXJPLSTCqK2bQ3JprPF1RVgclLysUutYP7j0/ZtobVpX1uXio52MmE7jwytUyGmYMJmDCsnIvDz16jk0yuPMao6LMjNOq2rQkB9vYWLHZmPP3cDR4fHnL3zof89V//DZcvX+dTn3qem09PODx8zKMnh5ycnhKUZzGfc7BoefjRAx4+POS9d98iyzxZrnG+i345CawIEbWUprgsC5yLHiFxEKyVcOoTg621DXXdYLYG67csJnuUxZS8yCiKBcbI5zCbzum6jrOTU46Ojjk6POTRw5b5Ys7e3g4m6oCsE0MuowuJxdQa29WDT4gPFJn0BK51fUwZMcXEO8ekmsRYTU/nW4wW9qdrxSndBkceAirT1HVDbh22tb0fSl3XAow5Gxk6LjLYpLfIMoPJxQzYKMkPJg5O0j2MBqMlMUdy2gW8OwsBowKubXAE1kFq0KLMyTODMhLfVphMGnmVRdaIZ1LJ15kpJDKo63qa/a/y+JUb27ptaGwbzT40240E7pZ5KSYOSpEZLaJuHQhGoZWPWaOpqFXikhsXxOCI9FSB4p2Tn+0shG0tH3qeoYO4kGqlI2Ip7YB3Ads6gofpRKbyKYdNK4VtWxExFzLJEGMXj4n8Gdd5TK7j5hYXRSNbSaZNnOzE0Pksi82oiQ24oAmZzuS4XKLfWQmPj4CXjiY80jg5oVQZjQueum1ksTOGoAMuZqclDbN1QaYZhXztg7jR5rmKduhSJ2ZFxoSJRIGEtLjIuc3zXDTNTmikRml2ZjOuXrnG1ctXKSdTFrPAtrZsoy23MRm13XB0fMTh0RHL1QrrBC3w3uGDxfqW07Mj2rahLDPyIqcsC3zjqLuatuvQSaDvJDj+ypWr3LjxFF1jcdaTZUWcwqhoGiZ6E+c9ymhmVSW26jHKI1ZEcfI3IOPjRtTH995r7s4V3UbysEhaw57YNGocz7sNpmZ5PJEOYWiwk1NngtV8rAe86zg9PR3oHCguHVxmb/cSZ2dn3P7gA9Zrh0NolnlZyCCjroXi4VXEUWVAokzGYlECp9K4GCP6bu84Pj6mbRryOFULzvcbizFCtQ/n1oRIfg06crlUgr5GARn+wuZ/fmpNb4sSLnyfT25gP7EJHhUmfshm9UHyF8MmaXpDnNlLQ1lFm/pE39Fj5FnFwjehAcltU6X7JUEPA/U5RCpXiqHx8b+bTz/FU0/dxPtA2za8/c478loIs8I5H42oslEhJDpl0cQlit35yf/FRrA/hz4p6s6jL6lbDrGoS0W7YqALMi7EIm25R3MZ0HMfzjeiSVPNuUIyHo73544jFaaqP8bzCEgPRIXR13Ky4/OMI4d0X/gMv5cWzSGOyHnRtuoYsyQI24AQJQQt6bZdjAooy4qyLIV+ZTqMUtjkoOw9zssGXpQFV69dhauX0Sqw3W44Pj1B68B6vaRpWsoqp+sagpKItRSv23UdRZGTZRKpNp1OqKoS20qe387ODOc880XFcrnkheefRxtDWU3ZrNdMqzzKUgJXrl1ltVny+PEjum5LnikyLQyj+WzKdDbr2QSb1YbgvbhIqkDQgc16Ld4QRUFdy5Q/ywuKsuKpp+Z84aV9PvPSS/zf/8f/hePjVgLr4gBrs9nw6quv8ewzz7CzWEhskjF0PuCCmECGEHjzzbfoWk+9qdmsl8ymE37vd7+HzjKOTpZ8//s/AhTL5Zqf/OTn/MEffo+iML3pW0jXbFqf+nvQ43zNO2+/yu7lSzz/qRcJSvaOYC2LnQW//bt/yH/4t3/c06+DH1zth3tv0Gmnq3QYyw1r4qiL6k3r0nWrInU+Dah6dkNc61JxldBm3aOOwuPttbRKSVa20n1zm0yJepZBUOfun09cIcPHl9YQndXHaFk6pj6fPa0TI+qtivm/tuvQ2rE8O+E//Pmfs1qt+NJXv8yXvvo19i9f4c/+5I85Pn4c3frToFYYBSrut+m4k95X5vgDQj1uTKVmHN7P0NiOWUGc22PPodKM1s3RvG7oUcMwRO5/8ZP2/3HDOzTXHz/no/VFjd9TROGT18DoZ/vfSxprJRrc48NH/Ls//TPu3L7DN7/1m1y7dg0UbBvLy798k6tXnuLO3Q8JSnHpygGnZytOtitsu6azgc5ZkeOdLWGzZH32iMwoMgOutTz77FN0tmW1OiMzGc6l/UnkHMTomCormGtNrgKBlsa2nNVbQqewbcCdKRqtWDYtj4NClIXSEJ14hzIF5XTB/sEBT567wXe//TUWkwm+66IfxHAuEuiV7quxE3m/V6cM4bgOaa3ZWSzYWeyKR8lqyXa7YbNZMSlzXvrC56nrlvfeu80Pvv8DlFEcHFzi0qUbFPmM+/fucLQ55vHsCX/9l3/Fk5NjzpYnhNBElkMaXpk4zxdfkMSWFOo2kf0i166Lx2ViKkvb1pRlTlmVWFdztj7FbDfMpnNyU5CpgizLmM8XAEyrKcYI4Lc5rlmvtrH/cUwqieOpNx2EDGNCjP0pZP90FmdbTGnIdc5mU9O2LcFEFkZE340Rpo4PEHSg8wGvkYzZEFhvJSFGpDcyJFGBmNme472khQQCXed6IEeeV5hKJKM6HdBmuB91zJuXgV8gtLI+lIXEte7vLeTe8AHrHXXTsK03ZPmczOTkxYSAZuWh89HtOlMRvZfBQ+e7yCxTQ+32Kzx+5cb2dLWKjVJGWVV02zouDFKYJAMlya1U6DzHW2laXfCYTJy1utaTx7B25cXEpM8oiq5twck0qY0urEpptu2G3AglVxsDThqbLM/JcnHUyrIMby3aS45mlxmB4YtCOPjWijFVdOjdbreYLqMsBVWWkGfR6oUgHzRI8ZpWRXGyU33wsgux0IkXSFFUbNtatEUxDzfZXW83G4KToGkd86WSPblcJDZSkZOO0/fZssYYmZZEmqZEkTTCTc/FYEtr02d4tc1GzLFMRj7NUTYwr+aUecV8Pmd37xJFNcUGoSm5qFGsqoq26zhbrbn/0UPuPfiIzGRM5hN0CBgjl7W1juXqlNOzE6bTXJDpfrWXAqFtxR3uYP8SO4sdrl65LsMI66jKCXmWobXDEfBxMVVKrOan06ksMFqhg0z3XU8VTZPxIZInPbxP6OuAwg6PoYlhhLOGqK/pN0c9UJdcRHr76X/cTVW/Maahje4HNsl9d1JVEGC5PGO9WlPXoh/L85wbV3ZR10oWO3ugFVmRs16tOT075ezsjLYRN7u2cygD+/u77E7kOtw5aLn27BqnFGfLJT47w8TiXvJUfdQqiqO1bTJcm40qpNFmPy7MzlVRH9/wh7P4cfQ1qHNVw8d+vqcwq/T5Deh2amjl/6OLYfzaKI3R8hnlec7TT93gmWdvMr122lOhtBkifFRqbBdn8fWio2jSxJGG/npUBKnehbjrJDMN4Ovf+I2YmQq3b9/m5OgYvGgfxdW7o6zKaHQ1nLuEzCYkVI0zG+FCATb++8AQGBCPkXtqctQcZ0mOP4MRsvoxtDUOAgNJiy+fSc8uGX/iF6iTPVqUXIzjefYjSvMn0QJDlE6YC9dLokcqLhbmCu8CuTZoncm0PStonItI2TDbIqJw8axFR9cQ5XEaZYQOpzRkmaGsCuzWDRTDIMOH7WZL3TQoLyYe85051WyGC4bDJ2eslqdMJlcByOMgrqqmFJnh+edf4N69Ozgng5m6adAmo227GOejWcwX2K4hLybU1uHbjk1rWczn5FXF7u4OH330kJOzJfuXdlns7rBcLnGd5fjJE+q24crlq+JGfHrMbDKjqkrW2w37O3s4b3G2Y203lEVB23YURSYRRd5j2wZvLR9+eAedF3z1iy/xk5++St0FbJyQqxA4Pj3jmedUZBRZnnvuBnc//IimlbK1aTsePnqMUoqd/cvcvvW2MIueHHHz2Wc4Pr5D2zZ4r7h2/QZPjp7w+utv8Gtf/jyt9+RGdOxpvXWRIWKin4VSgaat+ckP/5K9/QP29vdQtsFbh28bbj7zAr/2tW/y07/9KzF17OPQBuQ5NRoJ2OgDXXzUL9NDsKM1Rv7wCX3s/yn0QzbV+wIISpuu3eDVufu2X1f0efaAsKzSmpB8HlLjrT62bPaN6XgFHVE09KjZUiNJwHmUNDE+hgZPxeglrZWkIXiH9/CDv/wLHj15yLe/812eevpp/vm/+Bf82b/9Ez68+8GI+eF7Kjn4JELuJRQqJFOh8XtPS/B59sjF4+yP92NsEXVhhbtwjtJxxTVWnt5/ws9w4VwNGcLnmtILfvI6sUiCSp6JI8bYBbbNx5pc1Q+HN5sVL7/ySz64e5uvfu1rfOGlL/A//Pf/Tx48eMJ8MeXDe3fZPThguVzigbpp2N3fx1rPo8ePOHlySLc84drelFm+kHveW+qmRekQndEdnU6SIQUqI3gZQKgQqNuWpbJ9HCEqoMspSmdkWrO/t8fNmze5e+eOxLQYTdNsmE5lKHd2eoZrz3j44REP773NwX7JN7/2FbTJY8KE7+UfRo0qBEWvkRbzzVgJ6CT/SrGMQoFVyjObzZhMJ9jO0jRbttstJydneJPx3NM3KI1iuVlzenTIbDbl0596ga986fPU2y2PDw+5c+eOGLd2NdNZHj1ZJKNVBk7i6u97I1lFJ8UnQQvohB9o7C7qhPM4xPTesV5v8L5G64zNdkNVTJhOpswmM3IjzWmRZVy5fJmdxYLVesXp8oyz01OcDbRa9qHVakO5tcxnFW3myLWiLAoWiz3atqG1LcqoyAyUc5UXRe9+qpWsLS6IGWbXWZzz1JHlUxZZj87arkN5KHMBBZqmYTKZkOUGFyw+mkgZDdrEcaC3GPJ+bTTRebptLdVkKh4DsbnNsxK8w3aOyWQiLKQYbeRDYFvXuBAoilIYr4kZVxg26w1dl5GZiuA8bdtKhOJ8IgZXeOzmPwFiq/VQnLiYT5QMA4wxOGdpu1agfKUosyLyqLc4AtOpaIe8d1LoBSiyfHCzjZof5z21kzelYlyBtY3wurOCqqrIi0woWVamWcQppQ/SeKuofZzPZgSk+TVZRtO2WGcFYg+GalL1mZEhCNc9yzRt1AYkLd5Yixmc0IF9T00yUig61bsWVnmJLkUf3HUdddfJTe+E704AZx2mEC1ZF/nkYuokH4m1ogFOcUiyEIswu5jPWSwWnJyc0LRNnDrFRiai0UqZvvmaTCbsVAv2d/alMS5KlM5YrevoUqlAa1rvODo+E03tk8ecrVfkZc5ms+H0wZnYiVclmTJ0zRlV4zk6PuTSwQ7gRWMbJ9pZzDG9fOkyTz/9tBTCThoHo3O8A6ekwLDOiikWmul0xqwqo5YqbZaiZUw07vOP8wV1CCnKZ2hskx4hxLyzYXoczm26Wus+EqnX5CTtp5LiVSWUYYRcEov18bFobZjP5sxncy5fuhRjcJwE90TNbmYKsjzH9//mInVbugnfyXl58bOfIVio81to3uPzv3ePz/3u/XjcoW+G/v7Z/zT+9//bD6EgblC8A+qdEfX2k346LjKu7DOkldb9Z65Hk3pZfsRm3lnJZXv65k2ef/4FFDL4+elPfyrxMfiIQKT7TMf4o1T4jg4nmWYkJPYTirmhEBpR+M7Reweo49zAMumZwvn3Hy4gsuPrezzkCT70VFOfCj2iydaoWLuI4hJdi1GJXjZGW+iLHK1lGDdGb8f3YqKTnnv+QI/LhzixTRS7ZIRiIlOB/jYZfi5EGYFSkl272W7wwVMWJfP5lPVGTJvS4AkCZ8sl9z78kMxE8zajuHT5Mvv7exw+OeH09IQrV66itaHeNhQFTKuCzslQI8sM280W21mmfkobM90BzlZr1psagtDk3r11W9bvsuTSpUvkRrFtWrZ1zXxnQTmZAYGTsxXaiO7t2aefoSoq1ts1165exShBDzye7XbLar1kNp0yn8+kOLAdWaR2WefQSrHabliuVmiTcfPGNV4p3sAbzWS6QOcZrmmp1ys+uHOHq1cvU5YFn/vsi9y9eyc6/McBiO3IjGa92fLWO+/yrd/6pjg3O8crr7xK123JsoK223J0/ITNZsnzzz3H7lShg0eZ802W0Eld1K/JULTebPjZ3/6I7/3hP6EwBcrL9B7X8eWvfZ2HD+7zwa13yLKip+VqrVHODZW0GmnW01LQfzkguuP7xCOu08rr2CX5IWYtXrFjXWeiXaY1AAb9YMoURp136+4LfegbzgiFnFsL+qZr9LP9ECi5DY/WhzQYINZmqW4BxUBcSZp0ef8mM9hOUCjnHb/8xc+59+E9dhZ7zBc7VNNdlMpkH0qIe7+c+XN/Kh3JFmFwbe7PGcM5G8+Y/77mdvQTH0NX+YQ1VA0fy2hP5tzPD/v8+YEDycU9udRfkFX4CGSEnm1ywW35ooPzuddKuhJBcbuu5fDJIT/4wff51//6X/PDv/lb9g+ucPjkAc5a9vf2OT05wVRiuqZigxWCYrNcE7ZbHm2PCb5GBEMenSs2bUPTNKybJtboAWOyOEiNg5WYSdqlRZOAs51kwMb19vDJEe+89z6AsE5ci9bw7PQZirIi6JUwA/MZrqv56U9/xmdf+BSXD/ZRuIH5Mx7eRKQ/JKaQdyLP01rYYimi7dxnGqIRqEjnMqMo8pzdxa4w2Lzj85/9NHXb8uG9e9y5e59f/PSn7Ozu8/zzz/Gp5z/F6dkxDx8/xHUNwcpikBUZLrEBEJQWL/cBWmFDwHUdnXNoRO+qIiIZIkiglDBOm6aRKCEloN12G93o4161mEntW+Y5WVlQVCWzxZz9S5fYbjZs1itOT0/ZrNcYbWjqRs5JNJqdzRVV6WLmsOnv6cmkwmuRc3Yx6kcZ2e/qbU3wQrV21lEVObkxTKqKtm1lTyxKdIDVcklZVTRNEynYlrIsKIoSrTR5ltYPMafdbhrKoqCsxPNns17TNpZkKjKwWFSsoTyTScWkrAiF3A+dtZh5xnK17plubeexvo7DR4lpyjoxWVRZHlmzugeb/pNQkV1supQ2dE7CkpNtvXcu5qd6XJx8eGVxnZXO2wuaO60qJtWEzUZMqLIspzRln0PnlDiC5cGQo8mynLqu2dZNzAGVC9O6DB0XUa20XIxaclq9EtRRScIVoFhvtj3tIctymkb0kdPZVMTTnWWzWcYppmhUVQ6FzshyIy5vBNquk6iMLENroV6LYAvQNjpVdsJLz8SVNjMZ27oGK0hEsJa266RxnUxEvxfDptEZOmhBnbWOmlvJa1RxQm1MTts0bLMMlRkyouEWntY18eYXPYUOUOiCKwfXmU/m7Cx2Y/MpTmRtW9PE3NXTzZLVZsO23tA0NW27IRio5hlZNaVtWup6y8PHH5KpAm8D89byxquvUOiMQENQQo211rGY73DtyjX29vbRStM0rdCjncU7UNpS+DI2/uISt1hMmcRzQtLRqqEhTRspH5vumjhd8n2DEIJcGypL0qY0WaKnxqVhzfi5+mlsigkdOfppoyUOKmogEuUsFRKy+REn2en3BHkPBLIyl40nCf+T8zGCYisnznXpN+eXpvzO7/0en/7Mp2VqbFtut19laT/ijTde5/DoMQQR+m82W5q6pmnFZCbZRfabjRsVkPF+M5HKkqhA2sg5k9xoaeBNZuI0LiPLM0yk6Cut+p8jDmKI9wZRt6nVQFkbnIDHxV08TyHmmo1RYpXO4SjfNAwbJakcVLp3We0/qVRB2gL/0Wf6IVz6lh5fO+lPF+haKxEnKH7zW9/BmAqtFG+88yr3P7wfNdhCnW9bseO3ne2lFvKyQwmd8t7G7/Uiajv825i+N9AfU+GmknNnfO6BKj9+02rQMI5oikmHrrTqwco4tBeKVm+Ck57wfDE4XNNRpzo6f0k7mbSyck8NxjNpYk8YGlmRV4b+uVOh6aLhidzAgzO3iZmAAwVbY0yikSq0hJcJDTDSIfO8YD5boLU4uO4v5jx8dAzBRNRXItl2dvb5vT/4fQqjeOuNN3j08AHb1Rp0i1GKs7PT/lwfnZywvzdlb3fB0ZPH6OBpWgm0kexyMeKoylKm6FH+khnNtm5w3rFYLFA64/T0jHqzEQmLgqbpeP/9Wzx98ylcsNTbLTeeeprFYofNekNRTsjyqD3Vjrpt2dZbJpMSpRVP33wGrTXvvP0OT46eUBYV+MBqvSLLc8qyou0sh4ePefqpK7z6zvs025oQaW04oWG/8eabPHXjBpcvXYkN9EDrd3Fw+NZb73FyvEbpHK0VZydLPvfZTzOZTKnrhg/vPUSrwJPDY/72Rz/jn/z+d6mbJSo0YpJiFDozmGBiBxrEcEYpCJp7d+7w9muv86WvfFUiSbx4YJhc8a3v/R6PHt2nq5s48IjXuNORvub7tVqlXO1zlP3RxX/u7vHDNZuqcnmF0f0Y1+2UxBXRS6HIp98578ic7muUxFok4FcFPbqHzzdU/dqQ7usUOxPCEBWU3PMTgjrquBJNWn7HxPt4SARIQzZthLrftjVZnvH44X2ePH6A1oYsK1jMd1itlkMTPnr+fl0ZD8CSHETrvqGM/cO5xjjVMsNAeoQKf+wxZo2MqNYXpTKJcn2Blvzx83r+635/jNKR9BGaxCKKEWwoRmv5wKo5d16iqV5qhOV6jp+UTBA5OV3yF3/xfcqyZLU+49HjR8znC4zRdN7jOtd/ktZ7Vps1XbuhCI6iKths63gdQPCajz56LKY+phDKaWyKdfKTSE7ko3PgPbTW0/ku4fpRoy2NSttKfdy1lpOTJd5a6rrDB6nTMgNN3fHyK2/wO9/9toAoOnlzJPv8tF9LvJ5IeAS4sl4SPca6YC7sZ30UnlLyvuLH3WlFoQpMkfH8889y9epljo6PuPPBXV7++U/Z3T/gueef43Of+wLr5ZIH9++z2a7JdYFxoTeE60LMSdUOjekNG3V0oA/eY6KJSRaRaBdEEogyMcXFY0xG17Q0boPfOlbbFWebJVVZsrfYpygKdJGhvQwc8siKrCYzuqZjuVpydHzMer3BOSt7aZZzlm0BF40LM0ymcVHK6K2TKsR7zrZbtBZPnqZu2NvdFbNZIyCNty4yI3Wf7d56h/IOMo0jUHeWQkeTMZTIM6ORVd1saK1FZwVoycZumpZ621FkEzGXirFTGkVLi1KBzrbk+aTX0XedI4/Gvc47bNP1dPTO2b7+9N7GoTc0TYMONiZY6PMxfv87j1+5sW3qhlBClZe00SBKaUEFrZWb0WhDMRHabRdRysViQd3Izdg0Dc5K4xONv8iyjKYTp+VyWsVJqJfw6Cwj5J6uGKYDeFgv19jOUlaVxEKATKmU0F+rspSCN+ZrhmgWopSW0PJISXCdZGAVRU7bGZpOcpqIcUZeq54e59HicoxQqEMArYS+6J3vtSeu6/DBkReZULKVpsyLXmua7nmtVAyydxRVSVHkWCeIhHUd1jvKQvSlvrOx6RBzGhs8m7am8y5qz0IcKECRGdq6Q/nA3s4+ly5d5uqVq5R5Jbbi8X+t7di2NSdnp5yenXK8Oqa1DSHy71XmMVp0Q0UmGtBqqqmmhlxXuNZDyPiTf/2/8Obrr3Hl2j6d7yjKgmvXbnDl0hUynUmzENHkpI/KixJQ1E0jmobMsLu7S1EUQgGPToCpkMULtXaI+Tmvp0mbqHNpoUxULTn+hOa7XvA+XC9DIzxsgHpsHqXSZuB75JzRRp4o5Renyuf2PCX5XDpL+idx0Q49MpWQZdM/f1EU/M7v/R5feOkl0VYET15MeGn23/F3P/8lH/2wxtqnyfOMTCmqtsV0HVmczhEGK/cQgtiljFwiZbIr91gaEBGnrdLwCtqm40RwTKcj5qv5SNEfT8VdT+vqQbXRaRjRansEIvQFnJhO9LlAkfaVEc7RpZM205FpWYM+aY6X3qdWY4fPqKkKoyImPq+wHQACl69c4er165ydrbC25ac//hlt00ZqvBy/846qKge3Y3Vhg44X1sXr9JOa2+G6S9dRONc8ppox1W4fQ1FjoZ6QUkZ03/H5AAhGD3TmIFmGJon1w3B/GeOiTixRIxPtPxOSeB9fqM59/uN7IMScbpLpVYrU6gdGw32S2D8+2J5yHWJzK0ht1l9XSWutRs2JVlpAgPQxoNjZ3aXerOk6yRcUsx83cJkVbOuaJ0+esL8z56WXXuIzn36Rg8uXWW8b/tW/+lNOTk5jcajonNyjAZmeExyT6QwVAlevXCEoz0cPPmK7rfFeJCiB1DzIMLNpWsqyZD6fo4MMcssyp2kajNGcHJ+wadYUec57773fGy5OJjOuX7tBUZS4pmY6m0mhE+/Vjx5+xHy+YDKf8vRswnq5wTnP5atXqZuG6VTocOvNmum04M69uzxetgSXyQA4Ii5373zIi88/1194e7u7LNdbOmt72uztD+6AzgCDdZaHDx/ywgvPi4FgUXLr9h3Jl9WGR48ecfuDD3nm6UtopciUx6Qw3tGjv4YiSvrKy7/gxs2bXLp0AK2TiCLXsbu7w7d/5w/4iz/9k3j9GJTy5NGtM633qUdSI4ds0fH3rzhasyOCxHlJxXA9j5HAeB+liC3F6HnOo6ic2xXirDHtN/4C+ncBjUznIyGgKjmtR/2v6feij9Ng07oaQBz4le4Xj2S2lZppo8VgytkWjEEpYaDZLrDxnsViwXJ50stxGK3jF1kdKtVLac9JbueRmZUOdzjFYRhc/gN8o4HSPETe9f2QP/fXvsX/ZER4YMcMEiLiddS/yOiTPmdgcI4y/nEmS9+7EoIMertEt1eKSVVCgDfffIvT5Yprkynb7Zq63rCzM+ejB/dYHFwBWvI8wyEo73J5inei2Z9MJ2yblfhoxNdvI0gjLAHi/ZCUN8Ne36+Lce/1Sfs6jGTlM+6jjeRcPDk+6dFf4nB1Nl1gu5aXX3mNL3/xi1y6NJN6Ow77jRqeczAsHDRj6T71UWaoY351Pxg+N3iOrAxD753RdvG61hV5rlksply7epknR8fcvv0hr732GvO7C565+QwvPP8iTbvl8PgxzVbo91oTI9kUtgu4tsVkJpoASt1unY1GdJ4s5sd6L6xE7z15XoghlXfoTItZFyJBac8aiqJgtTplOp2xt3dAYcT0zxiDNjI4auuWajIhL0pW6yVPnhxydPSEut5yOp2wf7DLpIS2ddIfWBnomEzQ5ETX1VozKXImk0rW0OiyTwg4K71DF32MvBP/mqIshJ7sHSbP0SZDGUGHpfGN7zvPqMqcpm1ZbuJerDMmk5zM5PHj8jH9RlNVOXWzjQOWVFPoOJyOA9a2oWtaijxHmSICWYEiy84tiVpHpDcT1mqW/SdobE2exdB4T73dyvTdKCZFQZEZmm1NWVVkxvSTfde1TGaznotNFDC7IBuy85a6E5QJQGWKEI2GtDEoYygnFWgTB3GCw0oT6Dg9O2G72VDlBfPFgnIyJYSOtmspi7yf7hXRKTb4QJ5l/QTJdR3kisViQVCeTdNgfYdCUeaFUDii5LxratquxSsolMdkJtKSjUxuInKEFrQqBVDXbSuDgNgkVVVFXhZYK66Vbdv150VuHkVZTAk4XOhEk+odZW4IOn3YDutkouc7WQi11hgUWdBUkylVOefZZ59nMVuQaQNKk+UljXVs64bVZsXjo4ecrU6omxqvLBgZCijl8VZm1C6aO/kgeZ1BK5yyVPMJRuV4veXWB69x+44mN5qnr9/kYP+KLBqtpSjE6Ge1WhM8YjceBx8heKqqYjKfnbPz9j7Z1Y+rg4EmmRqjEFI2p48RNePswtgHedHJiouj6tGlgZY0TM7jxKEvoAmB0DuMS6yB0Vm/cerY2PYT8X7n03g/0MDS55YiJFxvbEWfRznOmjPG8J3vfIcvvPQlbNcRPHJzm5zX33iDf//v/z3ei6Nh+r0sK3pkW1h+qtc/QMxVDa5fcM414xeSGaSRVb2WrP8IQpB7U2cfm7SOHx6xsk/UUx03qzDKGWVcHKSpdprIKZdOjrRg6d/DMA1WaHx8n2Fk7nWxiUSNhiCxSFF6oP75pBNLKD6wPD3h//E//PdkJqdrLKvVUrJOow7bWkdVlEMMSHLrvYC+fAzRGJ3f8SMNWNKH0ec5+k/++YESOELDzzWmQ1HTv/4FFDVdvzKbE1OmMa25L2TU+T+JxYrvzT8+jjTRN9Y6Uqj7bjOaRUUkdmQAlujdwcnE06hM3Gu9XBY9YkvqqoXbqLUiywJKe4zXPbW6cS1ZYQhbKKuK6WxGZjSti/rOWAgulxs+uHsfe/0K21nL0eFj7t5/gNY5xmSsVxuatqGscgDaVpgrRVkCgStXr/Paq69wdrYkKwQZMSbHGKiKCo046tuuQ09Vb5Jm247gheVTVbMYtVazWi6ZLSp2d3dZLs/Ic/GOKEzBg/v3Y3PcYHJD27VY27LdbjAm5+7dD9nd3WV3d4/dnT0ePnrM8ckp3nma2nL9+nUuXdrn85//PLqY8T/+r/8aMIIymcjQMIrT5Yqmcyil+exnPs0vfvkqLgijygNt26AIVNWEo6PHnB6fEnzgc5/7HIeHj3n48AGL+QGLxYLZfM6f/8f/wH/9X/3nXNqf4YPsc0YNK4soYfQwbPKBerPkp3/7N/zuH/wT8tyAc+LZQcunXvwch195yMs//xlGe7QZspqxDGZ/WmJ+UqGuVWxwo1OzvPyoWeoN8eyoabzAjLgwwLn4kHsoi0BrdKXt443SQM2DGTXQI0nLJyGNeuQgnfJlx6yX8Rqikl1yQoejuVhP2e0bu+GVxa1XC/skBPFYVAHrLcuzhmpSSRrEKG7j3HqW0MrR7Zkc+xO8GUkYMsDqEVdGrWi48HVaMmJetxqyZodFcGhMw/hYxnvSaC8fN+RpzYlH3E8cVFz3xlrb4anOr+vp727EsV5vtrzz/gfcv/+IupFmojCa3/3e9wjB8eZb7zHf3cEHx3qzoigzUIGzk1N2Ll2jbjuyYkrXdTSbFdvlmYx6VODo7BTrA8qYc54NRCqn7Rx5keIIw/BfvycKE85bJ7E+xPPaJwIM5yz9m3W2H06mKyagKcqKk9Mlb771Dr/97a/3zIVh/4tnMLImhodo010/5Ixxi5F9oSNTT/UeDMOwPxkf5pkMDBMLTfS9OWU54dqVqzx5cswbb73Na6+8zGy+4NnnnuX6jZtcu/YUDx/e5+T4MGYVi8bXdh06BzLVR1ebYHCtxMyJoantkXAfnYMJPv7di/wkBHKT6LgNy2ZDY2tWmxXz2Q570wOqshCtsVFU05LMZmR5zt7eDruLBVWRs1qtUAgTZluIiS4KZtNpjI80uLoDp8iV+BrpLOpf7eBq3ETkXcW0D7wni+BJ58TrxcYIH5NJBFHTtaguSJOsFNZLjW69NMFZZO4Fp3FdQzUt0ZlmUuVYHyTK1Uyw3oGW+qytG0JEcYsii+i+jQkwhklRSuJKlmEy6TFtJ1If33W0tmVq9OB19Cs8fuXGtpxNoxOphLhv6i3btkWZnGmZk01KWmsjuhRpmVposQQfs7Q0y9VS8ouiCVLSRhVFQds08kFo1Rs4JVOqEBRGy8m3ukMpiz1raOuaaVFKQ40UQHW9laUpL/DCLYwLqu+5+z44sHLzWWsFHTUGEyQ4O88y+dBjEWy7jrZtyKoymkcprA9Y26KVESOGRDmN0+O2bftJiSxGql8ETWaGCjU2jkVW0NSWLGe0aCP6U932UzHnOqxzdFaa/DzLCD5QZAWL6ZxJOWV374CdnT0yLYZa9bbGec96IwZFy80ZT44OqbsNJpMhQ1kWsiEFB+ieVl63zXmOuwLnLTrLcN7StC1lXnHt8lMsFjt0bRdpuYKab2OGrTZClelsB0pRVRMmkwlBjx0uo4YvFdFqcEi9GK6eDsYlm1I05/ajuMD2zZ0ep7DqWGSPaJ1+mGSH6C6dKGPpOHrq2zhA/txmer4JSBPgRBfvG+7Y1DonztW9lkBpvv3tb/PVr30NMW6VpjUvSt57713+4i/+QhrhmK2ZpliCeKlzRiqgMRkR3wq9QdK4aPv7ijQ9QjlTsRGSPnGMXnzCr+s4OU5UNJJm3A9GauOHxHOMCxUdUTvdF0LpekrHHSI9zI8KzY81gHGBHwosde6+StWes+JonpAdfKBtarZug+t8HyOSmm/rrEwbU2mYnb+302tfRGv/4cdAzeuPc3SoYdTQXkSU/qH3PxTJaWo+UJzPP0THMjTTKS5p0DEOzzkMJj4ZGRm9jY+9R3lvZkSPGx+v9zIkMFkWDfHENbwoiuE8pOON1H+VIld0VEZ6eS9N27BardBaM5vNKPOCNka1JU1TZy23bt9hMZvy8NEjgrPi1t7JdLqzluVySVldIjMZq9WKxXzCbFqwPDvrEQbrHHbbiRtxZAE5a3sYJ89ycZN3Msiaz+c4iMWFo2la2lb2vyzL2Xn6gL3dS5ycnKCA+XTO3s4ewXvW6zUq0xweHYpJ3WQCQVGVE9brNWVZcueDe5ycnFAUMsVvz9aslmuatqNuLbfvP8Bo08eChbhOddbx9rvvs7d3wOXLl3nh+ed4+eXXep1eik3TSgylXn31NW4+dY2Dg0sYk/PKK69iuw7rOpSCD26/T902/PUPf8z/8b/4I3DtgLr3FPhwoaiWdfij+x/yyi9/wa9/85sSledbkfoozVd/4zc5OnzMvXt3RMoT70ZvJDlBaY1JV3AapkTDKIk+S0PSRJu9OGAacNrxsfX30eiahQt7Qfpz1E0OqKM6T4nuUcHh++e/Vn3jlo5HMSCyw3Go/rtjxHh8RFopBC6PY9oLa2ee5bRtKyhPlJnIEMpRliVVVbFer4f3kdaheGCR8BL30PHeGge50SxozNQ4v4Goc3/2A2aGxiuSrqJz7TDBHpwvzg/b+lx7f36N8iNzoLHBVlqH03Yx3sPOf+YfP2qADz/8kFsf3KHrwDmpX1sUq3XNB3ducbZcc+X6Ndpmw3q9ZrFYRBmP1KXL0xVZCcE76u2GrtliFPjgxNx0dO+cv05CNEcyZFmqmZIDvQAu8psmiqDSuRmd69F+kYbb4zU7PVbrDVWR4wO88dY7fPM3f528iF4zPUtsODtaDbm26T47r8OOTWsEcc7lD6frfVRHJRaG1gYdxAAty5RQhvOM4sY1Ll++zOnpGe/d/oDXX3+DLM954YXneeH5F/HP3OTeh/c4XZ7R2Y4iqzBovE0IrabIDW2QJjHVvT0lXU5YRH+FKeRdxL+DF/BDK5SzOGep65azsyXbxYYrB5cp8iKeB8mIraoJSgX29/Y4ONhnvV7RNA3Hx8estxu20aiXoGgacWlu25ayLJhUOVVV0biO7XYrkgqT0VnLer3pDX2VURIFqkUm6UKg6zoZnObCwtput7RtS5FnGK3popQ0AFmegbMxDgiJ78wLurYhV0X0uRhi3XSUaba2o3WdmF4p+cyM0eIt43zfV3SdJcusOI4DLkRpZi77jTcCav6qj1+5sd2ua07bM7IsZzoTV8i2a1jhaW1OwLFarjAYZmVFroRPn1cVAUVnAzpHskCjKVTb1RgvkTm2A2ulYSvLOXlViK6wqzF5TmstFiXUXDx5obiyf4n5ZMZ8tqAoSozJaG0rMQWdZWvF8nw6neJCoPVWEFut8V0gGGlIu67hypXLhGA5W57hvafpxOExI5PspSLDhRyvQnR/FLrgpBCkzI2y+mQhsFiLTC6Cig1KmjiE2MwKJcvFRaZ1jmCgCzaiR5os0xhrWa/W2IgCZ7kRFM9rtNeYkJGpjL3FLlcuXWFSTdBGijMbWgmLXi0JAbbNho8e3ud4fcy2WRGUQwdNWVXkubhq5nmBNprtdktVSYxSW7dUWSl8f6Mj1VUWlcVsweVLV9ld7NM1goRUVS4Zup0VHCwGUjfOobRhNpuRmSxqpwdajE/NZVzzdF9UjyfnKpoRiAkTMZMsJEOafvOJ0+KkOWSottOzhag+6pvZvrn2fQGBEgqq7hHMpB8aio7+8wyDBlHFYkL1TpxpeqxwzuKsO9foZXnBN7/5m3z9G9/E+YALGp1VKG24c/dD/u2//TPOTs8wRlOWuSAVKg2PLmgqxxty/3c9KohS8zQ0k0P5lBpy1btC9o7Xo40mRO1nuFBkKZ/yIR1eyXTc6AyjBxSSFKXh03RYBmB9oenPb+Dyp++ruwTAKkX/HP3zQq9/TpS/NINP44UeJfES+zUuVtKmam0XY6XkTYVk+hYjurx3kjEcEtqZEMpPdua8+Bgj/KmIkj9Ho4N/AB0af/+T6IGf2FSHES27L3RSIfz3octDwSxU7Isa3Pja/UeQ3ESj8V68/4L2hJgTnoArraNpT3RJdN7FOJEh61SB6HjOOUb7nh4d/IBW6559oNnbPaDeNvHabyQDVblYeBhhgHhLrnMWszmTMuvlKU3dsVot0TiWp2dcuXwFrTTrWvTsO/OK7WYFwHw6wTmL0UkLLANW7xwB2Re8830UUds2rFaiXy3Lknq5xnYtudEURUnXeW7futuvPW3XcDZdsZjNRbrTtNhgOTw6Zv/gAHTOdDKVwsa0HB6dslyvxLsgUu4a29J0Lc572tYyr0qevn6FD+4/hJD1tHm85+z4lNdeeZ3Pf/5zFHkB3gpjoXMxzkwQ9ft37/P44SHP3rzJkydHZFnGs889w6c/8yJFUXLv3n1u31phdMa7797i7ocPeOapq/gQ0wlU6OUYjMyHBlMxx9tvvsqVa1d57vkXwAWJwWgtRVnyW9/7ff74f/ufqLdrMoGfBAnWBkdAB01QwvwRK4y4foQQI99G1zz0rJu+oUnNKaPO9PwNPHS+Y4lBv8KII+0wiPn4Pd0fgyLeV2mCpfsoFAnC/uT7+uPDrLSeDGuQD3HYE+/Xfjg7Gl6md5eXBU3d0HSCoGgV8y8LYQ5UVUXX2ijvisZEkV01PJ/c0xKpRfTAkBtzHAk0oMxjNPlCcxV0NLVL0WNjbPFiU6bPDdvSHq1HQ8GLiPj5Py8MPs8hyWFEm75wGfQ/Lpr2rm7xGCzglTRG/+pP/pjNao3JFNttw2a9oa4t167NaeqayWwBSuMDOA/OejanZ6jOobXHuy7mvMc9LrKYEmtIRbp3G41Ihwi8yChKTXtCvbTCBBku+pFF2sXrc7jehn3Go+g8BG148OSIv/zhj/n2t76BidK/pBL2IdA5j/f9TSL7rzqfBZxA5X5g48Gr2EwKltvnt6Z7ros6WN0nHqRBhyHXAVTH/sEeX5nPef7ZZ7h1+zbvvfUOH929x42nb3DjqZtcue64d+8DbBewnY9RTTqaiAraaV2H8irSfEXrkmXiFVNkBW3bQvRNcU4GshoTNbqGTGc4anEFblY8fNIxm87ROiPPCrKsZFLN8J2AaGU5Jc8rCJ69vQM29Zbj42OOj49YLpcSiWMMWZlRmRx0wdHJEvT/l7Y//bUsO888sd8a9t5nunPMQ0YOZHKmRFGUVBJFFiVSkqu64YaNAlxo+F9o/w32N381YAMGDHiAUQa6gUZVdVc1NZQklgaKY1JkkmLOGZGRGXPc8ZyzhzX4w7vW3vvcCJb4RQdIZMSNc8+wh7Xe93me93lk9IOg6GLAGIlqEqPbAD4dyQLx39GWNib367ZJcT8thdZsTSboEGmbRoi0zmGNMBCTyYR15ylLqYFa59BTqH3XS7hDkNWv0AYfwCm5N2yaI59MZjh31oPCSis8mlUXKXSAKHnxEVi7RsZQ7D8RY2vSzNZqvU66Z1ks2k5OrC0NujAE51EaClswsRafpBpt1+Gbms5Jcxl0SIP5JNt5me0rkwOx0P0SqRNSHmzwYk4zURrnBMVYzOfC+kVwnZNGx4hu3+fMuySjXddrljFIJmCSRpdJr15UJRcuXaZ24jInzLNmUslJkTmnCatOzHmcE9SryHEjWmFywLECjMhtexRYCaMTksNZWZbYssQ6nxYjoeoBVJr/rJuGIuXntl1H07Zi6GEUwUW5gTqPCVBVEy4eXGQ+38ZqQdOCl8avdTKze//BfVb1ktVqSee6rF7s41LyLFhVVVRFJYt9HE1i5LnFFEbvfGBra4+Xb71CYSe06zblrS5Yr8WEqqlbtJE4JRc8xlq2d3aw1uLzLK2SBTHbkqfqtS9y8hIY0wxIlnrnMOnsTkmKNCFtgOpcIdDPeGxIeAa57rgxyH8nGRhkxjYv0YP75PmNUPUzUb2cd8wEjNjgPN+aN+AvfvHX+c3f/E05Ds6Dtdii4t69e3zzm3/K6ckpxmjKspBzlgqxGHLTPELg+3pL9d+D0UauRhKkMSObt+mkmMwfujf4CAwFUkZm1TkWQ2UhkhLn3RCGc5Ef3g0oaEbPh8+WNqo0V9YXOnp8rId326ztcgOm+/PbI61K9cVJTAx2djscMmdlvrnpkuxORckDTL/fti3z+bwHYPo52r6dk5+Nr6mxmcpQgA1O2nHkKjxW3z+vKR4XfePH8577PBm0ZjA9y+jRWG2Qr4PN4nlwNFVKDCd6aOjc/RJJM1Y9YbDJeGSJmdGZtR1mrJXSw/3P8HsKYZPU6H36o6RA6VFGaZq31Ynhb+qa6WyWZgmzeZUUkFoJctw0DcvlEmtDMlMLTGcTLl28wOlyzePHj8QhOxUPKpmM7O7uErxjf3+fhw8fislaUbBYLDg5PhEG3IuCRykxmHKdE4ZRa4JSTKYTjo6OWa+W7G5v03UtXSegIFFRVgVtJx4VbdMSvGe1WmFKyU426fPcv/eI/YMDmuaQrk2yOS1Fi7VFyhsUFmY6rZgtFkSr+ejBQ6ILG+cX4OHDR2zvbLOzu02MgZdffpk33nq7p8xDCLz11lsCqmnNxUuXePfdd3n11Y8zm82oqpLjoyOJ+/OaojC8+fY7XL60T2kUPvqUIyn5izkSTNhal5yrFaFr+NH3vsv+/gW2tuaY5JcQXcve3h6/85Xf48//9D8ks7qhg1Fao0NIueWkJNvYX08q6tGaNy7kz90751jEjX8bjXPEeO45RHQ2fXvuujW654e2YbQHDWDSWGoL4+ePG7LNed8x45gBvU0gbZNlHj6PxI10TYtrO4qyFE+OtqXrOnZ2dqR58VKAytoma7nWQ2Pe70URTGLMY2rctVa9i+5YqTM2qRo+a5aM5z34+RjDpsLoH1fInF8/hybw/BHOB3MA6573+/mxu7OFpRNX4SS1VSiODu8LANdqPvjgA+bzGVFpzs7WdG3D1u5F2raTNjoEmrrh9PgkgW8elUYnhvSFYaZV9ekdetQ0jvPBGUZlUsSWKoq+Vwz9zPVw/UDuO8bN/qhZloNO6xw/fO01Xv34yxzsbEF0YvaW3Orruh3lmKfaSY1UdAmE1oxrqSQ/z+qK6CXzOv1s2Jvox5BA/HrSritKH11QFhVlVbK/v8fxyTF37tzm7bfe5IMP7vLCC7e4cf3jQOTRowc8uHdfZmZVBThprtOaohiZYmYDTcRxPxuziQpTjCiV0qIwTd+zKC0hOurW0/kahSFGif28fPESRpeUtkxxOwbSuGM1nTCbzdje3uLx40ccH4vi1a3EPKyderrOM59PqUoBZrPTvEh5/ZBVm6JHy2JCVAbfNdT1mqYTR22TDKSqsqJL97v3nkk1EdDWWIyxVFVFWUiySVEVmMImpj2bfmnapqGzsufFGAk+4o0Tdt3ooQZP12eMQnpqoriBp/tcGY1rWlbrdZ8Y88s8fulnTrbmIsNdrgg+4KJIhFUIdE0LqmIx22JSllhtsVokwc6F5CDr6Zoa5dMANoHgU8i8SXN/1lBVFd5rPCJJmM6nOJ9mFbQiug6DoqqmTKqSJs0ZWVtgC01b+z5mYzIRwyTn5GdVVdB0LU1b9zeCMhWd99x/+DgZPlmqiYUisjxbs6pXTKaTFMCsaOoG10okTFmVSRKhxcHLGkxZyKZqLR6xBbdaLmqV6foQRUqTUTTv6doGbTRFWeI6jy00XosLq9WGalb1TIkxhrauKbVha2vBwd4eB3sXMLqAoIhGMnGd7+ialnVTc1af8eT0Kc63BBWo5hNUKxKXqip7pLcsK9rWoZHCsPPSpE2m8z6vyuiC0kzYu3TA5UtXMLqkWbcYbSlsRdc4ukYyWNGK1nUiu6gKZvM5CvCdE7fgKDmJEfoGTSGSV2IQiYcaGC0xmBkaUnFGzRuqTsdoaJRsYfuYl7GkZMzM5jgnea1RLmB6rpg6DQ2KQmG16WvpvLDqfvGV4tmcn3NMmWh5/nqMXP/qr/7q0NR6Ya2stTx9+pQ//uM/5vHjR5jkEJiNASIyNz5QlzKeqlRvirzJ4o3uZ5UinnRik8V4i/5zZndtneOOxtLlOCxGIebGccwKZo9RQdz1+D37bWAwhEpfp/9/JCbTqjx3l2afesniZlF2nsHQmeZLG78e1Sl6VPwFBrCpL/m0AaNT8PzghGiU6hv5fgFP84FqhHnHJGUeF57DOcjF9FjKl2e/N3MVR98uv9JzpL3PSp7HPx83wQPgoUavmK6h0e6SC+VnmYyYzpUZFf8DADJmoyIhXQ5Jvp5BMYHEsFpJ85s/W3oLw9BB58+bTbCySZ40wmFghRnO5/j7FqZgd2uXqqiYliUWw6QoULFJhVwQYyylWS6X/OQnP8HayKS0TCYz9vb22d09YDqdcXZ6Jt8jSeC892kmqCJoy97eAffvPcTFwDp2eHfKarVmPikxKMrpRIyVqrIHNZ88edI3n9W0xBrFZFIlJ32T7gM5rtNqwnRSEWOg84HZtML5gPLQrhpOnh6zWjfUq5qT02OKomA6rTBawF6CprRG8s+dZ72uaV2NQbE9n3N8ssYr3UuNVYo4uXPnLkVVsLWzxcc/8SpvvPWmgKlKERPIDQqjC9Z1y/0HD9nf3+fCfmAxu8Tdux8Sosd1LZdevMnPf/5z9na3+JXPf4au6aiMpVBZMgzKJMVGurhUAKUCp0eP+dH3vsNv//PfwxQlynWyn0bHi6+8yifu3uEnP/ohVVltmNz0ZbIaAYwmrxE65dsmd0nGUvtzrN+5Nab/exiu92H9S+tPuqZDOpG6bzSG+1BUIKNM1azlzT8fNbX51YOK/R187o4fvVaW06rnju+Mv9f5hrAfBSgLou9ouwZbFP1oydHREdPJon9/1/mRJjjkFlWaC6UIKVYr7xcqgVE6Dm7JbDTd58Cy/N0zCJ997Eag2fkZ5XHzkx/n9+HnHY+8jsnTQi+nhsG4KxDQUY9UYT2qATHy4s0b7G9tc3J6wpPjQ5arM05OTzg9LlitXIpBUykWU9P6iDYVyljZ95GxhrZtaVZ1Ol5D9GR/zpKMWJPTQZK6TdE3XiYRFn1jm4whezA97VMhBkJ+j9H3GjKJ9cbXVL2sW45Z13WSxJB+R4+uTGmmXQ/U5PXeJvO43tBtBO5CGDlnJwfodD5k6GDYO/O4mUoxNzF5qFhrhdjpHFZpTGHY391jd3vBzRs3ePe92/z8p2/wzpviRH/z5nUuX7rK3Q9vc3pyiHcy/5m9J5q1zKT64GnqVupwa5L6R2LVCmupm4bWdxTGUpYlPnhMUFgr9VzbNoQoQIX3jugjh0dPqMop8/kWs2pKriiiAeUVs8mUojBMpxN2d5c8eviYo9MlJydnNG2ZIlEd02mVlCtBnJ1j6GuhohR1kNKGxnU0XY33jvV6jTFSz2YSDSVNemkMXYi9Pwy2oAuRqK3MHcfAtKp6z3jnOpn/9UIktm2LLfJASDaeOucfYAxt6GBW4n1g2YrBl8kNsXMyD+5lb/5lH7+8K3JysLXGogpF45t0I8qjbVuqokQpLc1k6OSGCYGyqljsbLNarcTquXM0dU0bO5G+VuI65oOnaRuUKtMir3HNMFfQmwVZKwxfdLRtRwgOrTvKaiKMng9Eo2UWrhT3rxA9RmmmZZUMjGTTsSlLVxjdpmcKy8ISgzhhkgpepYU5MMZgOrfBxpBMZeYzmXNqmmZgbfJinqV1So6Li57pZEpVlCzPxFTIpOwsYww6GjrXpZkmTTGpiD5i0BTGsrezxyc//kliiCzmC4wyeJRYkqPEOc07Vm3N0emxfA4zRG8Ya1EpHDvT/LmQzK7WIWSnvCgSTCSn98UbL7KzvUvXedrGEYPClkViG1NerJdyX2vDdDYTIMBakQ77IfA9twFaKZS1KJVQxX6TGXItlRrmRvLCrbKJU9TEtGD0BUQaOh8X+nmWlpGt/JjNUUpjlEnMT5Ywb26K2ewko6D9+43if85D4rmpHTO1MUY++9nP8du/8+Vk2+6SK3HB4ekp3/zmN3lw/z4qATGCWmXH6NAfn43HyBxkMGLIvV76/CLM690un1cIjE2ehn8PI2R73NRsblxjpDfm2dwRmzxs1JlhITFhajx6PnxmNbxfHHRlz37m85JkJZt+7qOVGm3UXkCEcb5rMamomxrvh5lvnWYR27ZlMpkMIMBwUDcKAq1H0tjRbCrZpX3EDvcnbAOx7r/R6NrUw/z0qPAeX3e/iOHduDTSG6tRQcdoPk/Yl/MGNs8WnTkzUr7fqBlVSoqSUREm6LlO4BCb532DERsQCLPhuJ2LNd0/MzMR4++4wTwnwMUay3q1pigqtrbmPDg6GxpiJXPuRVny6qufYHurwruWk9Mzjo6OOD4+I4RI56RwKKuqN0a0tiC4jtOTE7wbYitiEMDWWmFUJ5OK4D3LpmFdrzfu8UklhlSf++xn+OjuXSnZtGa1XjObznq1jHddGp/x/XctyhJtrfgZoJhUFfV6PYBOQcCF4D3lrEx+EcKOWqtoOsdkYvnsZz7OO+9+wP1HJ4Qu9NEKIUZWdc1779/mC7/yORaL+eh6SwBVkKkn7wM//ek/0LSOxfYuZTXh3r37vP/O+2xtbVNaAQ/W65rvf++HvPjiLaaFgBsmRBn7TFLK3sgsZV8aLVDMB7ff581/+Bmf+uznpJAMGkJA2cCX/tnv8ujhAx4/eCBjMllh8hyMKKunFPmalFnIYUF7dj1ntMaP76eQ3crP32vnzfjY/HvMANO5ezaDPzHlQRPH4M1wz+QosPErjpvaYT0ZN+ajZ2dAfTRL2t+Po+cVupR8ybZD29gbFYpHiuZgb5eTkxN8cPR+5el4iJnjUPuANF25H9FG5Mljt+Vz0GvCamN/PDfu+QHOGg7qs6d78+idO3+boOP4HOd/33y1IQ5oyIgdv55KCoq9/T32DvZ4Qd3Ex4Dzkfv3D/nLv/wrVuu1GIiWJdqWlNMpvnOs1g2TlGjgO8d6tcK1DdYqtNVCgsSINUa8btIKnBvbohBpqNIKpa1EamUDvwy2pEbUpFEP0jhdJBBV6GPzspGfc0NtEHvyQBGS0k4eUss+fvyEyxf2hUAY5dhKnaR6Zl5nyWy+jo28Rp+YNQbQh8u711vorLiKg9FYrv9Q2fxTgE9rLYUp+rpLaY3HsL+3y9bWNh97Zc27773P7fff5c6d21y9foMbN67x0osvcnJ8yJOnjzk6fAoafFIluBThJsdczA+tsX1NYIyhSvGdOl0v+b4Rw0Q71FBEoorU7SqRT0vm0wVbi22JUswNrhLfha0tAV2NsTh/j7OzM+pVzXq9EpVsYdnd3qawmrKCSWJWQfqJzgVaV1PXdUoZEGZ3MZ/1IwJ1XVOv1sxmM6yxTCeTpCKI/X2vlaZtWnFrnhQokxM1RKVCjExn0zQpFGhdSJ9DCBTXyn5mjSFqS71a08ZI57x8FwXTaUWRSKlyMsVqTfFPEfejrCYE6Jwwc+VkSpOkskpJxqbrOtZKNjrfyYVUVRVRR1rfoEvNerUGIpNpxUxNcF2HR9DZdSdZWcGLE1hVTQCFVTotlF5cmbs2DSdD0zY0zrG9vY3Di3NxFKt0mxAIcQzW4APKGIzSrJsaay2r5ZII2KpMy5fqnVhNaQlOpLIuIoWFLamsoXWneN+yWq1S0WWJLuBrUK2SYXYlztFRm2SkJfIChQxnKwxNKwPc060tlqszYdp0pHXSLAraXlAog1UyQzydzrl2cJXtxS6L6VY/Z9n4KE7JCPvddDVPTo44Ojnk5OyYYJzc8Oie+S0KOxQCgHNSlKE0TScLQvARoyxlOWF/e59L+5fZ39mna7w402GoplVaQKQIFNRGmsrZfMakmiQpn8xLBBVwqTEzefFUQ3GsjSLiUTESks05Og4LbNqoxqgkKY/VqGKDzyGIBXpUEF2WIg+mOCH4gZlNMi1USBbzg4xL67TB9EVICr1Xwya7UW4kRDogRgNd21KW5TAroBSvfuIT/M5Xv4ouK9rOiclYUXC2WvOnf/YnfHD7PVQUu/eiMAm5lNzoOMov1An1Dzp/Ep0YhbTBpMZymGAemNRe+gkyR/ILH6MiQKUoJaSRyXl/WU7YH7e0MHu8OJT2Td14RtOkImgwiUDlsMihUc6bWZZV0bs/P2/eLDlgq0EGRd/kixROMmgl8zEGxNzMG1ET4Ecs/vD9i8IMBdFzwICegdzIXEyS6ySXlJGjIZrqfHO6USz1//acNflc8f1sY7z5ufpzfe71owqSLd3/OK+BPFt4J1Yg329Kyfxifl05H8kSVYvZlrAJ4/dL8tCYI4rSTGA2jou6lzuqxNwXhd1g3ogDwBGjOG3mhjYvECE4lIblcsWWNSy251jl8aEDVfTXsfOeSTWjKAsWWwsuXLqM1prT0xV3P3rA2UePBJANCqVLVuuGddMxqyzL9VIMOUyKgQsBn1zwXXC0ThqtSVWhrUqxPnIF+7YjeM+Hd+6kmLopzbqhazpqZJ8srElI+IL9gyssl0sePnxIWQrzYwvL/v4+bdOxWq95cniUMgjFab2wJToi804+0NYNW4tFigsK7IQFoQs0Tcejx4fiNp7n5BQsz5bs7x+wWp0Bkb39bZbLJXXb4ZKF6KNHj7l370MuXjjg9PiEQoHrWv6rf/mHTCYTTk5X/Pgf3oGoODw+46+//T3+4A++RlQRH7vks5oY+aTckJl/lViagA8NP/rh97hw8SIXL10SeWKI4B3VpOJr3/iX/M//9n+gWZ1IlIlRmBw7NmRA9WvO0McOZlX5PpfbdwxIPf/RL5t9I/QcpvCcPmIDodu45xluqrSGJhvgAaVLTxEHdy0NSs80ni/6BgOfpKSVtVXF/lPFEbM8vvdjzv3VEVVobEjZk86J4Wd0EBWPHj9md2+f9XqJc12/G+XQDp/GzbQ3BJIfwQjU00ZUPBm0TvrWEeOcIe/UxiWGduOMxAEIHVj64Zj/Y4/nAn/PecQY0ak5G4MNceQvkUFuWd8llqZpHNVkxo0bLzKb/xgfBLwykwl7+5ewVkw6jSmIyrA8PiNEzfLomOA7TBkxKqJSM2iTv0O/76dG0RRWpKJaCcOe5P1aiVmPSQ1w27ZUkzL5pAzHQCktY0P9mJfbAHfFHyCtq1YL2xhkH4u+5c7dj/jEqx8TxnYEVgR8/2dRMoz8KJKjsYriYZLP4Rjg0CqZwaX9PIzk6orx3pbX/wxMZCZYGiibFFata4khUNhAVVrm809w64UbfPjRPd597w63b9/lhZsvcuula9x64RUW822ePH7Ier1Ga0PbtAlkFuILDetG1F2t77DWUBqdDJoCsYvYqGXqXltKq3HdOvlJOMpZRVM3Amiuzlh1Z9Rxyf72AUaVdJ3vWVyFZlJZLl64wM7WDs55zs5Oefr4SW9yuF42qPmMCDRNy3SqKStL60W52nWOtqllP9KanZ0dlCrRxhCCwwdP2zRMpnNpKsuS2jeE4OVcAyjLuq3xPnK2Xkv0kfe9n0xhJLvYB8ksrwrZa402hKgIOuK8xO41teN0WROM9HJt3VAYgypLrBETRo24LetfUN887/FLN7adk3gWHwL4gNxbIkuy1hCdYr1eQ9ukmAY5CD54Gg3hzDGbzgRldo3IuqylLApa1wk66x2ubXFuyM0yxlJOJuhIYgI9yqY5De+xhaXxjrZrmJczsa12gbquibGk7VpZXLXCWNPPk8qmGOnallVdM1nMKMoyGZvEJM0S9k/rMslDGiapAZa5qVKCkZuWqpqJ21nr0cn1UxuNS/MGPni6RlhtYzQxyIK8rmvqpull0957Wtf1C2zWvBcYCm2ZVlMuX77Kzva2yI7T4t85z7ptQRmC0pwcPuZkecTRyRGta2QxTBt4zgzLG4y1Ba4TkxPvUk6XFaSrrutkYlVw6eAC16/cxCAxGNaULOYL6qZltVon4x+RpoQ0aD6fyw2S5w/6zSAtVqg09ahIjmgqIUSpcUuNrE9ZtiFEYhxldOYIhfSaBDEY6xe/3LyOZVaJkejZqmhQ+A2GMMsEQWaVc2zNwCLLpqqy02Y2qOoJjbjxXb33VJPJYCylFK+88jG+9nu/T1FOJCdSi0teXTf82X/6c9566y10DFirEwCRmwGRZ8eQJMIqndPxjX8u369nBzI6rwb5D+dkrs9u9pvnjSRVjn1RNDJjYiAAM8LbM4DJ6KlH6RU9cxJTrp5Ob9h/hJgNZsJ/8TOOmzelVBLYPs89Um2Y+YyR/96tcMQmZiRYHATLvvFWOSKhl8Kd41ZGUsZni92EmDB2j3xOUZXP0Tku43nPfV5T/LznZvZ7DBBxrnHW2c1+xGpsNt/DRTEuns/LmEnNiqTriLN0DIK+q8TM6/7KkS/bv+9IohhCEBMj0riCUEL9ZxPwYWB4Q5K3KaVYbC3673vp0iX0P7zTq0YT/oAPkZ/9/E12tqbM5xXz+UwQc2V6Rnq5PGU2n0FCr9uuY1oa9vf3CM6zu7fL6lQyJruuAyK2MJRFiVYpZs6qZDYCXdsSfWpGWpk577T4GxQJ3Xauk1EWazlbLokojo6O8El6JmxzwdHZCbvbe0wWcx4fHhGR67Uqy7ReJoVLApqlQvS9Fc6lixc4W4kpVsCwbjze9wJ1fvrTn7K/v4vWmk9/+lP88Ic/zDMDKKW4/+B+ioKJXL58hbOTQ05Pj7hx7arEuc3mnH7nhyhVEEPk/oOHvP3ubT7xyi1a5xPrMQIM0/rQuzsYRYiC5v/d3/41v/+H/4LZRBhzYkR5x+7+Pr/z1a/xl3/8PxOjKHaUUcj4teqvpeFGStcbKjmFD9fDc2+40X3U3wv5F9Tw+uP1o5fePvfFhrUzr8eyLiZoPQHhPTjW73Oq/yyiYHr29Te+i4o9ENg/K4FyKr1m3rc3XmD0Z21EZtF1knhhrYEYOT454/adD7hx4zpaK+7euytF93yBStEfoIhaoaPpZ2wHgDQ38eOIvc1jff7jPOdbPvvj/nU2QcE4foPnrJlqw62XZ9bmQXE0vO7z+mClRL13dHhM3TTYYsVkMuHa1Yvco+uJh0s3rlGVc1wXaTovJkul4fDxIU+eHoEOfb+m0/y+Pqek0rlOSeSPjMNZGfdIMU4mxWtppVitllAHdna3kzdNBnul0fRJnu8SyxlT3eWcl/o7RkJwOGckjSJEXBu4++FdyeQuLM9Rv4/uqZgY4QRujE9bj70OZ3xQCA0vEbPD9+g5PqYRP6MFGEsmhTFmnxhhU2flDO86ghc/Hm0MVTVhe2eHmy+8wN0P73H79h3u3b/L5YuXuHnzGh975TOcnJxw/+E9XF1jtUKXMioYVcQTBKg3kRhF5ejbjhDlOiiM1KRi3Nf1UU0Z5LeFJfhIURbE6Om6mvuPPiIETVVMYWuP+WQmr6s1tiypyinEyNb2Fns7u6zWax4/fszx8TFNU3N6Jskzq1VDWVqms5IyGcCBJMBU1SSxtA1FaXvvB60N6/VKFJchSAxrSnvR2tB2AW00dVOzXC2xRkw2Z7NJyvl1yRdDjsV0Nu3vK43htFnTNC1121A3LW2QKDfnfQ/oWWOYTSoWsykqBDFX1P8EjG0XgzicVmJc45XHI5bRznuic9KgTScig7AFQSVXOAKd61DOUxaWVgm17xpPVZTSIHtPaSZoa2ljhzVi/tQ0DXhBnzvvktOeomnaJHUVdtMthVbPDWfbinHTcr3qJRplUWCi2IIX0wrvPNNpJbJjDcG1eGXRhSIomZtxrkHpJGso5KZpmoaiKCRI2xvqukmoYhoeD4ockxc6j48RU1oMIm+NQeU6DJ828aZre2mDiUGMr2LEKsXEVqigmFUz5osF+9v7TGdz2iDF+arrWDc1y1VNQCTVh8dPWK5PWderVADZJP3IhadIDn1QWG1RXhGdx0SR4eIFRZ9WExbzLfa29rhwcAmjxMRLW4suTLouQFnJ0Go7KXBmWwum0+kgm+wNeyLRJynGyLlxvCPpkDe7FKOUnPIywqwza5cyWVWyQo39Bj2gqhGFT/JPlaRukYh3uUjJi6ce5mNHEUPPNAsp7qaXlKbZFHN+Bib9buck4kNmfYeN8ebNF/ja136fqpzSdgGlbB/98Vf/+W/4h5+9QQwObUySjYgjrWwK0lyq0bxCXyBtzCcl9D07Y/b5pbo3XRhYxZhYxnT95uZ5bOiRPn2Wu+k+A1icC2MMw3GMI3mfToVbloBnl+h+s5Jzk9H5XMCNJXJ5h+/ZjWyKcs7oSKM2ZON9i5UZ6/RdnXMJ3EjXVA5sd51IZmOWmssn7LqG7Z0ZUQ1SXlmDc6Pew99y3/fGKIyAA5lNHD6H7p1Qx0VWLvKkDhsdp/hsUfZMsf2MoRn9sRmk0gMbOz5N+THMEj8r04OcyTya4U3nLnph5jfvK0H1Q7ovVZpvVFFYtZQNhTIyXzuYbgl44n3AaLWB1IcQ+quiv9dGpyAmZ2qtIpPJhMPDQ7z3FIWlKkuaxvcz4KIS0ByeHLO3M2M2nbJerXi8XFGvW3ER9Z6zk2MuX76MUorj4xO2tydMK4W2wkovtrcpbYVC8fjJQ5xzCeTzBNdKHM+8ousc0+ksKXx8YkeiOBor8WoQYzqRlhXW9AzecnWKseL6q9M67NrAyq9Zna2l4EujJNYUkgceRZlQVVWvFPHOSUOJGHZ4F7l4sIvrbvL4yRFNe5xARTmW7773HoeHO1y6eImXX3yJH/zgB6mwlHskR3mFIMf7r7/1I1586SYffvghn/zUJ/n5mz9jdXrC1s4F5tMpO4td/vOf/zXbkxmXL26jvZjE6EIUMdHHFLFlZc32w1T+4wf3+f53vs3vfPVrKCPO/DF4NC23XvoYn/vCl/jhd/+mZ7UkyzaPBKVouOEuSuu9Ga1GMTVgz1bn52XJIhKQe0GHkUFgruzVOWArsVVZYLTRl23EsA3XcX/v9s2gHpRCaR46RDFXUErL5wB8ApW0yle6NLImnbPsWUA2O0wL2vAdR985r5HK9uB7WRQsFltMJrMEOlo++fFPsl6vU3xUYlv7tRgCJgHaad1TotCIIYOFbJyHfI6GdZT+tfqD1p/HTY+IkJnpOD5nm8d1fE6f//cMrqlnzs3m+2/+XMfI2ckx63WTIqpaTo8PuXr5gO3FhDt371JWBdE51r7BljO0sZyszjirG47PTmjXK0xSMhZG5J+zyWQjLjLnNUciKngxSnOBOorDujEyY6ljZFKWTCYVVy5dSoBKxKc4yxgCSgeWZ2tOT5cpYs1gTYE1VoiNjFsHYdqkpiapIC2r5YonT57y4gs3MD4dr8G4fuOYyT0QRuB73LhOMjCu4ui09qqfEXhOCkpIMYdZCdP/TkzO5BtycVEqGmvQPqCT54/WYsq5v7fDS7du8O677/PRh/c5fPKQ7d1trt+4zqsf/ySu63h47yOOT45o24aoI8bmKNKI1pagRW0Ug8KYEh89hbV0vk6xi+mgBAUeClPicSibsuFjSGkiinXo6NyayWQmUU7acmH7AsbY3oCtqCrmWhSVFy9eZLVasmpWtG3L8fGxmE35lvliBlpT2pKisBhbsF431Os183kl1yQy0+2DJxCpu5rCieu+MZaiLGTssyhEkq0UZWlFOu+cRHt2nul0glKSk6uMxxhNF7zMIHeOs3rNyckJXecwRlhcozXzKvlMKKgKI6CANeAVpf0naGxF4hspy0qumSghw74LdM5TFZbF9hZVVaGVpmtbQvQ9q1NWwnrG2KYFV+IdQtdSKIvRtpelFcn9ymiR/a1WqTk1efZGTDFCzgDtHM47TqJnb3eXoiioqpJJJcHCTdsQOmHNbFmgo2FiS2KINHWNTfMeY5fSkJDyyXQCKce2SvQ9/fyPoBvTyZQYZXhdI/R9UUociGQFukFKESJmbIzTz8dAVVa9kU1VlJRpc1rMttiab2GwKYNX4VzAx0jTthweH7NarVmuavm+TcOqXtL5DhUipTLisqkV2iMXcBQjK43G1S3RSeFQKtPPxhqluXjhCjdu3GBSTvENeJeMnZIRUkgMiXOuz6+dLRbMZrMROJ7kRjEMDVVm+TbmKIcMlxBjP+sxRlHHC+SAoJLmwsYylTGil/9/bgEdzRqNkfONSJ9Rs9CPIvbVyWA4kR2Qs6mQSgWD98KqjOUyN2/e5Bvf+EOqakbTOpSx2KKEGPmbv/5bXnvtR2me3YisKG0Ng5nDszNfAzuQD0DcmMnMIffParnoQ877xmp09IQVYMRIDozfULBlR+axAcvQmKmYzHB8kCj2EeMhzsfPYTU2Kr/RxqSGou78eR7Paw7nNH2P1Ajr5P6d772ubSW3upAMR+e8hKCjiUn63nWuj2UKo+Mkps8qNbeD0FCuVzUCBXJDeE7eOCqU83WegYYwYpdinl8ZH55zhff475uAxeYjH5MxIzv+vczI/pfk0fLzUURRyr/tUfV0vQzS4dgzC+PZI7TMV6qRFHL4PMPMYEhRIsaapNJJzsRmuDd9f6/KUcoNjE7rVH7e1mKLk/ow3QYpyipGmX2bTjk4OKBzLSF4yS7vOt597w6r1QrScd3b20Mlhr/tPMvTU7x3PHjwQBoAk8+amJi0ThQsZ2drui7g3CmLxYKiLFmtVtRNLaZ9XQsRFosFq+WK3Z09mkYMZApbpr0vR9bI9e69T9dol9ZZaRzyLK/WJs0z0l9fAEWR3MqNgVIznS+Yz7foujd5eHg0YkSEGTw+PuPmjRdYLdcSr6VV30Tlb4uCBw8e8NFH9/j4xz/GpYsHdK3jxz/+iTAkbUNVlty7f5/V2ZLvfvcH/Nf/1TeomyVlqSiSAkUydQMqujQaMZjXQeDtN97g4qXLfPIzn5Z1K3lkaKv41V//LZ48vM+777xNUVYJpBzmbn12ks+34MiHIPYZq+oZsGd8bQ7ql2EtjeOfb9xrw008/Nvo3uodJvJG9WwDla9dMbvqj7Y8Pf099M2CTUoSeY7PXpp6cF3PdbVOMwUZAFTkLPeR+mj0abTWlLrEhy55cBQURSENhVK9VFmP0iGeYUnJQ/Y5WkXEczkzNSSln9o43pvg27CGjdd41Tfq/T7Vr0XnTRx/seT4PHgxbojH14Csr+dfR67d2gU+fHSIwWCMGNXdv38PYuTWiy/y4q2b3P7gHo8+uEs12xbF4GQLH6B7+ohw/yO2ukBhKgotY1S6sEyrijYZYGpjsEkJKMC6Tp9Jrsm2a6lUJUB8jEynFet1zenpqawRmn4UrUquwcuzE2xh6FoBqnznaTIYqc3gxMzgsmWUpIoEFD/+8U+4evkC+4t5f81aa3sDtb6m6NHU4VrTSg1a8nzCUzICQcaFGO3x2TUZM7hAZ3VTDxKNTtzgaUJvjifRlWC87+dwQ4ws5jM++5lP8YlXX+bo6JC///HrvPbafS5fuca1a9e5dusFrsQb3H/wEUcnT/G+kzVLa7wDHx0hRCEqQlICBnHcL6ylaxoKa1DaY5OCVJsCnwg8MUqkV9u40HJ4fEZZFqho8G3N/vZVITy0rHuVqaiqkhAmzOYzmramcx27uzscHx/x5OkjurajrCq8C3R4nKt792OlJhv3gfOOzrmkkBKFkoqB1nnJl1ea2WwuIy/GMJvOaFNijDEFznuWq6XUQgm8XrctZ6s1IUTOlkvWTSuhZlozn0y4tH9BIoHahklZMitLrM6KLgFiftnHL9/YJgoytC1lUVAo6aCtlq7cEYUVNFqACCOyz9B10swp0XDncPdgDERN3XZMNOztblGv1+I4PHLGnFYTikICiVVyqnVtYFJVEOXinE9nHB0f07SOZlUz26+grFBRMbUVIQRa39F6B15RaKi7WhpQJn3khxSpGhWVzDxNKkwaPgcxRRIcQxpTbSxaGXwMkosbAk55jBbmbd2uCDEwKSspBkLE+45gHJQFnXOgPCF4VquO2HrmsxkLO6VI38vagt3dA3b39tHK4r1Igk5XDS4E1s2Ks+UZxyfHNG0jSE3XSOGhNLNJRWFL1k2d5GJBhrC1pgstZVFhtaWLPkUTyIyFsZa9vX2uXL6G1SVhrVKDEolaYayWSBQF69UqXeCWxWKR0Jq8gYpcJYaYJGZiGDAIN0WqFMboXJK8h5GVO3lGQ6vRbJ0YKDk/XC/j5orRRh2SBFap7PqZF9GxZjcmx8XB/IdRYUF++gi9Vb3h1GDCIG6K9HNuecGNQXHt2jV+/+t/yHS2oHMQ0bJAAX/37b/jBz/4Hs43GKsoC5vEubnBz8fCPMMG5I/Ub7ypY+jZPyVuxDozo+l5IWUtytfR+JRPqHxiN5QUg9mqInnXptmazFiMCrQIMqFnes6c4POJHT2n79hS3Ec+Dakw6aXqStD/XASOa8Ocr5tjJ8iZxc8i8Vk67YPHeQdaFsonT5+yWCzoOs/x8TGz2Yyi2O6bIZKsczKZQPQ9a9orAkbMZlSSQZjdSBWbcLUbSWRVnhnOzEuWZPfxQUNzn93TxzO95/bt0c9/sfunXDoig9ajDGHGsUjnj9q5BnlcrA9AyAhBj9JcSlRXzr2Vv2dDOE3oTaWyk6r8upMYt+gwKmJ0dsSMmMKijcXHNhVXw3WklMJYhDn0GVjQ+ACz+Zz5fJqANyVRbw8Picr3rHrwoKJ4E3TOUzctVVUwmc442J/z0YePaVbrfh2LEc6Wa3zYQqvI4ZPHErujpCi3xoA2OO85Oj6GEFivauxEwNuisJyenjKfT2l9iwuB7cWc46MjtDFENIvpNhcPrjPfXvDWWz+nadrkpuokfsrLvWKMgJYRAdB857BllZzlpYgzusAFJ7O3XmberDG4IAWYzEqt2N0/4ODCPu9+8IEY7qFlz41SML/99ntU1YwY4Nrlyzx+/FQi6KLqj/mPf/xTnI8oZXn0+JDVuuFLX/wSRhvKsuSj+w945849tNa8/c57vPnWe7z6sRcJqpE50STHHVYD2ZfzsqtCINLy4x9+j0uXLosUPNYiP/YBa0p+6yu/x+MnT1iulhRpXdBKJwmg5Dq6EPtZex0FxO1Uip7rXXfZkP4+c29kE72N/PoR6Jf9CvJs2jngho11Km8SI9BuA7jMDUXs/55WB7m/0hoecImpzMoS1TNfkTzuw+hzpv8/hxnNTeLGHqw1SouDrxSxoS8jnRMAUMzVDJ3zm+tLek05LqEH95WWxjxHMA7nfmiMx81tVmUNpMA5MGCUA76Z0Jp/T/0Xm1vOraPPAxrGfx6Dqy54jk9rHh7VLMqCWSn7qUn3XlOLt0tVFNz74D1euPUiq6dPeXL2HlcPrrK7OmO/qbmIZWpKWhSP8BynmsulrHeVx6Wy74EdzKK01vgo7NrEVlit2N7ZQulINRG33kzQeO9Zr5egAjduXmcymdK1HdYUveKkXkvt2HSyXgQV0F6kybbuMFFTRsu99z7gb//yr/nGH/xzcu9rjRkIh8z8h5gIkdh7a2ht0MqLuSkquZUjXiuafofoGfgRtK3NJkAsPXE2Fo29V4ZSqjdLJb2mSgZXxohq1HtPofM1a5nPJhzs7fHRvXvc+eBDfvKTH7PY2eHWrVtcu/YC+wcXuffRXU7OjsE5UI6YFFEdDh86bGmkRo2RGD22kPXZKFmLfGipigqDsL1Ka4pSlCo+hKQ2neYJEk7rIxrXUhYTJtMZpSmZVQuM0lgMtpQRGB8ci8WM7a0FFy/sU9c161XN8fEpKy+xc9ZaqslEQJV1jTYKa1IebRTlrbIWjHhGBNdS161cYyH57xQGUxpc7JhXM1rn6FxLdFIzahep2zUuOjlXMTCtCkwa0ZnP5uzubDGdTMT410fKakrUmrVzKAVnXUuhxtD+f/nxyze2bZLK5rknpFkty1IcIEesl48eVRXYhNKvmzoZTZUyJ4kESGtlxJlXGVwIuBDonEMDhS1FyqrBrURKFUIQN7nW9WiOVprJZMKBtbRdm1yXO7Ghjwpv5YIuS4uPHq0jPrRS0ISAUVac4pIePCZG1QdYLpdoY4le5p2ICEKZrD3btpPfx2IL2SAdHT56QReizDQZLQx2ZmWc90Tk+4pDrsJoi/aCGkcdqcqKS5eusLe7R9Qm5byKdKftPD54opas25PTE05Oj4lK5oCjiimnT76PhCZLhpWx4gTadU1C2iAaKUIJUoRub21x64WX5YJ3jq71GCZoY3FdK0Y7URN8ZFWfQYhMqgmz+VzY9rzRpP+FzECNYbtctvSF8uAwnBva57FJY0Rb9TMxmQ0PyRVzQGql7wn974QYUTnrNkuDxwXJsP0On5ER7cuwUefPNGbZtBH5ZNOIXEPl9TwELl68zNe//nW2trZoW0dUlsLK3MN3v/99/u7b35bYKC3zCZkJjSkzdrPx2GSVNz9xYuRGwy6p/urjefo5w9wE9Q0bQ7zBaPvIc8wZaR9+dzgfG2xbDrXvmUe1UcTlX42ISZrOEu8kBeyZ2Th4gPYRMpnjzUXPhoX8MD+8SQLLD5wTY4x87i5cuJA2etPnpHnv+l8eM+OZ1Y4MpU4/q52vIfL3yi366IOcYyXPM0BhQyaZf1P1ERmD4cz4GZsATP7/eca1/zOqn7vribBzz9MJPOqb7P78nZfmP5tfnAHCHH2lRue9Z6TPHxdkXVPJyC0XsjrFyqDAFgVFKXOVw7UxiljKTXiSVebzoLWhrlt2d3dYr2q89yI378Peh2Pz5PCIru1omjNQYtrxiVc/yWQyYblacnZ2xmxrIfOnWnK8jdZs7+6wPFuCUgmBl89kjEkb90z2MgNPnz7FGMXOzjaHh0+ZTqeUZRBzEiPjHIW1XD64xKOH93nv9kqcUTVJ3hyEnU2NzvbuborVE7NEJuJ6WpYVR0cnmAQiGmPTcQ5iRqUmsn8Cp6dn3H/wkNd/9lPOVutknJZyu5XuJbTrdcO9e/cB+PirH+fJ0+/kCxqlDScnJzztngD08Xs///kb/MaXfl3A8LKg85633v8QrQ3L5Rnf/vZ3eOHmDebzCp8MejLoOL5uJV4tpigpRbNe8YPvfpuv/N7Xqcoizcw7DJqdvV2++vt/yJ//6X8E36VrzlKEgNUyi9elKDmi630XVFS4lK/bM5vnjOmelf6P750hfma8Vvcr0zngaPO1nsfU6n4r7QcSw6ajeoznlUXjucTR+hxV77GRG8axGmO8v/SMtYob3yXP/ZLUdKqQvc573ycPtG2LVprpdIL2euM85q+hzJBbHGOKMAop6ivG3vQw5ozV0Tk4v+ecfwyN8LPPOd/Hnj+n5382rPvP1iIx72vjUxojh4dHPHh4zOnJMcXWFpWVefm9vT0BA1wH3qFUZDGfcvT0EV3TsD47Ju5ssU3HfqH5mCqYW0soSt61LT/2NddvvcTa+f66yPWqUooHD+8TYhCVl7WYQkabrCmoCktRlRxUF7lx8wY729tUVcVbb73Vq9gWiylXrlzl85//Vd595z3u3XvAyfEJZ2dLqqrBOVECdt7RtA10DaHzTJXhs7MLrNwxj4+esHztTfyv/Rrq4EoCHA26N6RM0vC+JpTZ3bZ14pafs82VIiiV6lG1Aa7qvh5JQHZO7QhjckP1yoYQQzKfIvUmA1g2PucCDtj+Ph6r8PRsyksvvsiVq9e49/AJ77z3Hq//5CfszHe5ceM6t269RNOsuffgQ05OTwQs00pM1lQgeIUxWur+EJnN5jTrNUVhib7rweGiLHFRTHczzqWSSswmj5XGt+J9E5bU7ZqmWwsxNW0pipLZZCo9idZoZdJIS8F0Okm+Q4ccHZ1wfHwsaTWLBW7ZSb56oakmyXE7DmB7dnXumlYk0lGn2Ek5ht57TIoDU1rWqaoq8V2gbkT9ZKzsI6KQU+wutgRc8WwojAgpjzhEmqal89LTdV3HZDZ/7j3/vMcvP2PbdfIFs+QyBqGnUWJ8FGRR897RdDW2TCHQRtClNjV2k7JKFHtItnjC2LWu662tY5RBdmNtL5mRaAGxhNZK9N2RgJ2Kqch0OpU4nBjwXQc4WifIf1pNk/xVNkdh8ByNa5J8RtATgC4EuuDoXMfEiIMxVQU+pJtQp0LDExSSZZWyFq2S2WBlFJNiytZiQdPVtE4ccUPwuFWX3OBCz0IbBWVZStNT16zXNSEqTFHio6JzHW0jc8zeiwTlrD7jydNHHJ8cEqNjOslzVVIUOueJJqPFAaOhbdpkOS5B0MFFGtdgkMVvf2efSxcvMZls9ZFFZTnB6omYi6RCd9WsaRsJIZ/O50xm07QgkRqXoTmNcbSp5c0zoW8ZgSNuNqB5wckbbo+4jf4s4ETc2HyywzFRXj+oKP/ljTzJ53Ix0ZfWefPNTFjfg48kuDn1s3diVOcYLSXAQyPsdZ5BiwF2dnb5+tf/gP39i3SdE2MaI5vPP/z8H/jbv/or6tUaoxWFkRxoou9NtJ5h08ZS1V4Gq0cZf5k9y7PNAystDbNJG33oi538sqHPCRU+rW/s+xcJfbOzKdnabHjGjMD4vOqNaiAVTiqx4RFCmpsO+YTEzArmYiVLSNkY4tFDlozIcRlozSxocSrgkHw0sj1/JTIta81Iki2/2qbIBZlJVz0znKXCob8+MnsyXOM65GoqAQF6s0jyPo8lCKCldTE6vUGcRJOT8lg2OBRfv4CV7eXQm02u/D0xVWJpiWbTMGV872UlgpzDMDrHm/dof7xilqoJUJKNwDLDMpaD+SgAnjBA+jngkUoztp3Mp6fYhHUcRhmeV9rKTKUwsXlkomk66rqj6wJVVaQLLcuTtRiahcCTx0+5sL/L9u4BTx4/pq5rXv/JT/BB09Sek+MTFjvbYvKC5vhkyc72lMlshrGW05Mz1qdLaZiIVGWJtQVFVWGrEqMVe3t7nJwc0TQtTdNRFJX4RcRIWVrapub05Jh6eSbfm0BVTIgo6mRMJfuP5cqVq2xtb3F2eoomUlidxnUU67qm6Tyf+tyvUq/PePettwnRUZSGojCEQJLdV5SV5drVS1y8dICyhtd+8lOaR2cEymQQE3LoKA8e3ueFF65z84Xr/N138nUjM5N1LUWXRjGZzXn46AFnqzVPD59wcGGfxXTO7Q/eT825YzabcnDhEt/7/mv89u/8BseHj7l2cEBUPsWIyDyxGJyG/p5UMhbN4wcf8bOfvMYXvvRbqJ59lub1+s0X+eznfoWf/ej7ku0YRa2glU4ZwAEXHcFIYRbIRI7p1/agZDZc9SBKRuPGzeQAIPbDCM80TJuAU27OshMsjO5jRTLf7BeVnmCKRGF00nqWpYppod+4FzdeM79QihocmM9Nie75tVyM20fqkUwYJ8VTHt0SwCX2zW1UMjO+mC+IRJarFUqZfj+VBjsrc9KISJ5JiH5wxlWDh8G48ZY9fsibzx9u+F7nAYLRMehXDd3/bHPvOreenNvbYvZOUDLGhRpY9BADt9+/TesM7XJJW1WEqUlKTNWv8xDZ391hPp9x94MPZLzCKKZGo7qaS5MJv3bhMkeP7nOoNTvBMY2B5dGS+YWLOOeYTKbJT0bq76dPntI0a4nNC5I1q1JNFYJ4qUymE37lC19EK83Nm9d44613xPzHGjp/yrp2fPTRQ9rO0zQtbdvRNC3ey/3atS0hBG7dusXxyTHvvfEOF5ny69M9jk4a7rWWx12Ne3rSN5JDFv3o+IfUWAYwGCZp3/UhoBCjK2Ot3GdJmaJ1HneS1zXp2glZlaDF7yWPZpDigaJKKjry6wjAJyrM8R4nn7iwVmbEGUbghNGNoAteuDHhyqULPH70hPfe/YAf/+hH7B3s8sKtm9y6+XFqt+LDj+7S1Wu8l9xjGQPToiYislq1yegq+cIgmbC+bSSCtJA0lnxNK8TRXhywJZM2BE9RaIgtjatZH9YQYWdrl4P9Cxhb0awlVs4ajTaaydRw4aJle2e3XzvquubeRx/hXEw9RsdkInukMWCN9H65traFEH05NzmnvagwjBuWkyKNCkVh25Uo3Zp1Tb1eY7ShKkqKShzWY3DUK4ndCy7S1E0i4ZT4KCBgwHz+T9DYysyk6lE7MW0IEoeTirrs+JgLheAD1ggrtbO1Q/QeFcSEgE7RKckzct4TYgP5otSyiNddKwtBMrsptMzihiCSya7r0FMJCHbe0bgurUagbUGpbLqwFIUpcN7RtnVfkJIWGnmPvGgFtDK4lOOamavczKvE6ATEqEonyUNmOJTWkndrCowytF2LS9r56WySwqw7cR12ga3ZAlKe7sULV7l29TqltTx5cojCcHq6QhlL03ScLVd03lE3LZ3vOD074mx5KsZcKhCCIDXBe1n0QmTd1pQpasd7T9t1FGmx7tpOUB1E7nH58mWuXLqKSSyH1obZbEpRlJTVjHXb4uuO0AVaL/Ng24ttJrPphi5S2MywsbGf3zYErdlszjL7lcWJefOUmsSOmsxNJD3LgeIIOQ8hM8CDpCy/3maxP0Tm5IJhE3HPTpTZbXWIQzg/M+lDwHmXcnB1aiAVu7s7/NEf/RGXL18W9+OUg2mrirfefIs/+5M/5ezklMJYqkmJljCwvlFKFOBQOqWmPAYkQzBlqfWPcTZhPgejfqTvcTcMfhielxvcEBLDx8ZGlaV1aqQPy9KBXdnZAAEAAElEQVSm8ZvF/Fn0MDstLz4c+3GxF0YROJGRjLfPMtXkiNSBlSBJDeU1clZ0j6bkhxpQyDEK3COFI/ZxKDJVGiWYbLAyCoVF5jrzBtG/7+jYDvq5wXBq/PqFTSxK2JyJFeZRpcJJ4JF8fDeL4/HX23RhPv+c/jttnPznP2fMeqjEvpLMwc6zHD17lJD/3AgPryMMYv95evfTsUttTHElIc3RqB6bH88Cy3p87v3TlRYTCxATBJG/j9aGqix58vixMKillVGY/nMkyVuSOYn7r2Mxe4FCWxSK1brjnXfucHp2urHeeC+fuywrfOcoi5K1Wg7MMdA0NZHIyekJhdXU6zXaKNqmwSiFazus0oJylyWlLZgUE1EfeSfIdxoNmU6nkvfuPfPFnJ3dHT766COapmGxtcAbS5EQ79PTU7a2tplNdnj40eMEukmhFmJgtayxRcF6XcusnDUUVYktC6qiolArKbYQsDI7mq9Wa7a3dqjrtm+MClvQtN2GaqGuG37yk58ym01Feqc0j5884a233qKcbBNDYGtri9u336frOm7cvMHVKxfRpkhz0V0i8DxKhwQAgTU6zdvJmX/37be4duMFrly93O87oXPoQvG5L3yRJw/u8dGH71Ole9iO8rRjNJjeaX8Yx8i3bZZDDoDaACL2N9PGbbip99lgcs/9/JkN8RwLqcbdJLnPG8teVZ89OQYon3mfcwBYDIkFVsP32WCXzze3GTTM+55WowVOopnKsqBN4IyAg/K7y+UZ2hi2t7c5PT1N77vJiIZz648xGnSQ2C9kPlT18T/5s+Qxm81xDKUYqV6ehb02gdcBcP1FTe1wnDf3eZWVLyhGth7EAO+99z77B9cI3rNardhZFP3IgEm1s8iuFVUljuHL5SmzSUX0HcY76s7xwfExAUOd4qhmXvHgzkd8+PCJyJGNqEOMtSLVd90w9pSa2eCVOMpGT53Y/h9+/4e0bUfd1Bwdn+KDxwSPDQrvoW46uqajaTt8iLRtJ01t19LVNd6nuJiypPCei1qz3Qa2igXYU+rmjNXRcb/WBycAEmTPSJVGGwbCI9fXPkC9rkXBmAyzBCzNNZtOM/exjwCS61hSDsZaqsEJnX60IHgvhlG9Osyj1MCAa62xowgtrU1ihWNyWpb7wGi4cGGfg4N9njx5yjvvvsvf/+jHzBc7XL52metXXqYw8OTJQz786A6x64gFouKrCjrVAZ4WYWJ1MgeNmbzrOiFlQgZ9jBjkmSLdc5qyKER5ktbJrIY6PH4EOjKZ7OCdRzUi951NJ1hrsYVlPkvJI96zXtdMyorT0xOOjp6yrldpP1B4I4qWzkuDXFYls9kM79xwvNN7+86LcjdEoguyTzkPMdJ1LS7FhWmtmSdlZ/ASz2q1JUToOiceRSkVICbQK9cU3vtnb89f8PilG1urTT9AbrROH9SjjMZ1QhX7IDS60YbYBeq2QesOayyTakZwHa7renmvImK0zPo418kAfGmIUdEictnCligKuV69Ejlz4VHK4kIDBJq2wUt1Ik1wNKCtmFt5kQYXKmWAlTOcc7ROkG/nPaY0FNqwWp/SeifsrzWSo5TjgZSicY4QxeErRpmNRReoqDCmkM1XK5wXYye0wgefZgBENqwUgraZAl0qClMyny64fOkys/kuRleEqJnN9wg+EqKiXrYs12uW9ZLTlciOg4r4IMHMtpJNet0F2pByU11Hm2R7wTXYJPdGK86WSyZFQWELSlNijeXg0mUuX74iC69zGFNRliWuCyzPjoEzmaVO/xlj2NreYpICnPM2IvMMfsR6ZdlHmqdIm0MIIWVeSqB3iBGf8tJiok2zQivGYU6CmMyrGBqK2LNiOjmwBjrv01yPGHzJ58nI7pCHqdE9CKMTKNHn4uUPoMSMI2ZPyvR9xj6+KDnX1lq5jmX8l63tbb7x9W9w/fp16lacxI22YAvu3L7NH//xNzk+fIoiUlYWaw0hiOxdo/HRDwXLRhQKaeM34jAZhmYMFTYKLBirklX/g9zIp9ZwmGHtFcSq52zlO2sICqVMP7uUFx2thvMhxj1DA0z+bLmHzp8vn9+M6GYWLh07Eq6vVGL0xNEsORMzuDBHyUbNTL0eZyL3jwRMpJm6jPRaY9OmEPpNMB8j57o0+zMYKo37QwJDNq8Xx3Eyi5Nm5XoFQGJHByfpAVAIKVDeM2IkGNxIo8rBLAND80wTPno8y6CPCtiQIkXO6/JGz+u1CqlqC2Ew1VMDITUcq16SkWwwlRnumdz0hiQ5VEml0RfXoX/RXJgqbYnKS/63zVuUGJHkX0tY1aYyJDtuJoZNK3GL3d3bwljFbDZl3dSYn/4sNdUSk5GvOZ/cMVWUBsgmpnxrPsMaxdHRYVr7NE2zRmNxjTj918taiiIVKcqKrm1pvShz1rU4yYaipDAW7zvmU3GTdZ1jNpuBgq3tLabTKbPJjLsf3uXk9Jid3Z2ULSnjJEfHJ5RlydRH3n/3Peqm5cLFi5ytlpycOQqjmFQTfOc5rZ/y2g++JTEc1QQdJH7O+4A1BYUp+vtHW9Pnin/+U59kefojjk9qFFr881UAq/HB8u6777O1tY13kZ2dHaaTKR9+9EAK9rSmvPHOuxyfnDGbL2g9OODtd9/hxgsC3PrgcdHTNJIt/+3vfJ9/9b/9XxOVGLA4HyRdQej9dK6GfBBx+1V0dcNPfvh9tr/2daaTEt81xNARvbhK/9ZXf59v/rv/ntXyjLKs0qUW08tFrLKi6CH2RojZp0H1DWO6JYJC53GJces0nk09fz9m4GYE9vURPaPfG7uMy3sP63QPzMY8nzqAtwOIlfa1Z+7l85LnsNHobqwNv2ANiSr0Szg9sDNqtiNMJiVN1+J8wCbVQEy+E8vVKWUl66wY1eR1bjDXU/lQaZPi/LLaS9YqaXwCOiSgpT9Bm2AcG+qm8ajTudOixmv9qCHaWBdVf8zGDym4h5GnfNRDjKzWKxZtjXeOulnh/BStbFLlxeSPZCjLCctVzcVLV6nvrHGrFVevXuW/+z/9H3nz23/Lz//mO6i6o+wis7Oa6fKE4Bo6J3ufjxEXFKUS52IfHft7l/jUJz8tsleEYTVKpabMoZWhdSu0UsysotpZQJDGQ+kgtXJXEzroGsfRySnOSz3nXEd0Hd47fvqTH6EjbK87DmYLWK3YiYpHIRCipzk5GXLa40jtg5JEDcRrIBuF5X0/g9neB4Lz6dQMplWkMzGGlnTvQZH2qjS77WNmhYfRtly3+/TZ8unXaY9SyuGSgmoA6rNjt8KaiFaGzsNiMcdHTzW9wuUr4jfw5ptv8/bP3+TOOx9w8+YNrt+4ypWL13n0+AF3P/yAduWw2kr9o5XM+pOz2od3U6iUXuIFDNBglMIajQ9a+OoQxEE+1yU64kKH0orDs8fo5SlWW6zSTKsFAfF2KIsCqww6KrSxLOZzZtMJi8WMg4Nd2ralaz2HTw95eviUsozYUhFMwFqFd6L0CHnUTEvjnUcj26bDOJPW9iYRSZHSGibVFkpr5rMZVhvq9ZpgLaYoICqCF0XV9nzG2dkRPji0Elly13W0/xRxP1rrlP+pk+GNhhQKLQVJmm0NuXP3yS0zD3NLCeico1mJLny+mKdC2PWLiELRdA0hRKwtRepsKqbzOaHr5CQnu+7Od5Akaq5tEvIhmbvBp4vWJLeyENBRUdoCkwpaW1icF7fm1VIcvDTymWfTKUppbLLxt1VJ8BJRpKLIlQV5872rcr4xYwTnOzrnMNpgrU7IhTDKVhmMUezv7VGVUw52LzGdLVivHcuzM1bLutfIR+D07Iymazmpj3l8+IBAjbYWoxnk1dECgugEX/dzvloL6+wVfWxC27boAKWVOd5Lly5hiirNFsnstFISqdS1wgh2Xb5QRbM/n88py7J3P/RxaEBlrRqy8Xx25yWzarkBVslAQJaqrpUCEJ0jgsZy5iEg3Cixo9ej94jIzFQcIddj1jUThhmkyKxfluGKrEdvsJP0zZEsOdroPnMXRjm3UWbDJRKqkNmQEFlsb/GVf/41bt56gabrZLHVBlsWPH70iG/+L9/k8OlTmYOwRVJD+P77jmeNSIxlNmKIWSN3bs/eNHHK0v5nm6DnyUqfAblTvp3qZZ/jRoTRsTpXRMXNWmLD+XP0Vn1dkouDvtpQm89TWf41sH2b8tpxYTl8dhgikYZrM7GfemiCu5Sf1svM0rdt6obJdDqYoKUImlwcbxStWfKcG7kN/mbzuDNiOsfM45jZiYmpGBrZcURPPkbxmdfhnAz5eY+xrG/M8g6vcT7mJ9/PYxOX4TwNCogwUkQIs2ZNmhUPoTeukV8/zzoPM/b5ug696kOludEyncfYs3YxmWBl7wfVR1vlkRnPYrHggw8+oOtkvmc+n3KySiz9YFeG95H337vLfKIhOOazqcS6lTOUgvV6LfEFSmT88/mCumkorKiGirLo10RrLd6JdK9tRf3juhZrJmIy6DqiD33+a72qOTw8Yj6byfhKXROCT7O3Osnl1+zsbAOKtm0SAFSwtbjE2fIurmtRPrDqnAA4QFFoQrC0TUNZiXNmXdd00SWH+pAa7MCTw6cstrc5fPqU3a059brDt7KRZpd6lObw+Jj3b98mxsirr77Ko4cPBrwsHffbt2/3wGJRlDx58hSA3/3yl1ExYArL3333BxwdPiWi+eiju3z3u9/ja7/7z6jrNcYElLZJhp/NclTf3w4EZ+TRw/v8/Q++x2/8zlewZUXoWvmsrmNre5vf/uo3+Ms//Y/iwZAUQPk+VSm6JAY/GrFIhmdGIlUG6YnaYGkVz28Kxw+VF4XR74wfG4qZ1C2OOcesdI6j5TGvx/q8l0ocXvP8Zzqv8IBn94Pxz8bPf546RCVwuT8sKs3V+ZQ5mf0lGAFGSlGkmJBfeLyU2vh/vyaHMfDpe1A2PneNGhrbZ9nz8XcYM95x9DvD33vlE5vr4QZonN4v55TWdZMUcYOvSjZAI7G3ZTXj0eMztnZmTKdzjo6WGF3w0aMHzF+5xfTkmF/50hf51Oc/R71ccfp//r/w5vd+iLOSVetDMm8kQhkxWvHw/n0KVbK1OGA222ZrsSA6iQ6bVAWTScXW9oxJVSVH6wmz+TYhBoqJjPSdnJzgXI3zHf/u3/9PNOuaqKSxJQiZo0OH6jwLShbVlGXdchYc9Y7lyo1bmK1SPl8CI0IfSURaS0Kv8NFKj/LrxXYyJql6r+rJQK/KMvhhj+2Nqfo+Ws6Vj16MEkNMruB6hCVvXs8hm1umzN7R1QiAzeZSG8kRMRFaBkXg8uUL7O/t8vjJIbff/4D33nuXDz74gOs3rnHr1g2uX7/BR/c/5N69D3F1g7YaStO/r1JJ7QDChiYH9IxvBaDuml7dZYyVr6QSiVSIB0ObAFAfHHUXMarg7GxNUVbsbm+zt7PTG86RRrGsMtjSMg0Tmd9diVrTJyKpdS2rphEW3wWcbwhRIkRn0ynVpMJ5z1m9pGlbjDJJHVWIN5J3faqBMRadYu0yEWK0RitL62XdmEwmdG5C2zUyCqKzw3bBL/v4pRvbGGOS1FYJwXGURcFkIsyfDy0oQ7dsabqWalIK3RySPt81zCZTXKdwXYcqUkxDykQDabxkEYgSFeQ7hK8qwCrsZGDqchRP23Xg4sjYQMvMK1I0tDGgrTQhhbYQFN5Jwd+1HpvQgq6rxaAiSoyBd4GikLgVrTUYTTWZYFQy8XAdMUJRShPYdQ2lrvBREBiiJjpP27aYaZVMSzyFsmzvbHP50iUu7V+gKuaEqMU5OjlrGmM4OjoWFttolFGs2zOOTp5wtj6hrAwmZRTmY0eUeUBtVc9cGa0JPmBMgY7CJJdliS8KFIad7T2uXL6KMQVdJ27PRN2jYjmupm072taleY6ZbFrJ3j/LcoRt9f3NsiGryjOX/eYgG45PcvaYwsVRHlvIvIQUUrovNGATrRE5ie5BEx8ctpBFMvTN8LBZm/OzhsnZ2uhf3PjlvSsXzFmuOJZ9koGCZNqQn1tNJvzuV77Ciy+/ROM6XAwYW1IUFScnp/zJN/+Yh/fviUu1sZRFKc6effE0ACXZxTnEKMh5zoONg+skfe2UK6hnC5T+uz9TiJ1rcPuDAEolmUyOD1JJjq1jf17Py0PVYB2VBVsb8rUeKs0EYnJFNqPjTT9PkwqamLmgcROp+kzj7B5N1InhlE1OK9MX7738KWYE10iRFbKMdjgKeW4sS/DyB485wizJZP252KW+9x8dQ9Tzi8hxUzmO9xnADN+/QJZL9lLYERMRwiaLO5bOnS8Ux9fv+c+yeY1sXhtxdK2pEYO9wbZk10JNL0sOPvlejj63RC9FDHrTTjnFlgQi6Ii1umexTSouQhjAk5xvrZRJslHZN8bHNkaJXSjLkqKQPL4L+3ucLO8LEKgG+mbdNBweHXHzU6+wOjsWCZXznJyuBYhrW06Ojzm4sJ+YXk3TrdnSFXsHe7S1jLk8evAQW1jKqqQs52kmUAoWozXOKAEJI5TW0qxWVGXJfDbFdY6nj59QTaqkdBE1CaFM4zQdpPifrpP1cr0+xbUNVmtcW6ORJsMYibASWbS4bDoP0StKY1g1K6pqQlVYVk3DpQsXCCi25lPCxX2MLXj7vbuoUKBCjtWQdeje/YfMpzNefvllHqR1bGC4ZE2MCUA82LvAX37rNQ4Odlku1+wkA67b79/FFlO879je2kKh+OnP3+LWC1dkptYMTudoLXubCRJrE/MeI1fIB++/w7XrN7j1ysdRJiUrhAi+5doLt/jMr/w6r333b6kKSQRQSsBM5xQ6hqTcGTU3cZCy67GzfKKl48joLZ5fAzbus6EIP980cY6l3TCPU/RAXhythTKXOzKUGzd2cTMCJ3+u8XowXhPOA1rPa/7OPwRIUulWz1nfyfCNlLlKRdO2knmZGo7M1O7t7XF4ePjMXH8PdJ57bLKvgEkgqR+O5waDd67b73GDc+vbs428fs73HUfdpT0pfe+89z37PWJ/Xp1rpf6rKkJSg2mtMIXMcTato358xHyxywlPuP3We/zlv/sTDhYz6qNT7Gdhvr1PbCO/9ft/wJ995zVcVwvjmdZd571k2Cbz0ydPH3Lh4DqvvPwJvv7Vz/G9732H1fKY/d0J9z76kO3JZZbLI967/4jLl6/g2l1O64ZoBNi/efMF/l//z/8vd27fRpmC2WyenHtFTuy8owiBqvO8+plX+d/8H/47Hn34HsY1vHRjn7o0/O2PX5e1WSnaGAScUXpjL0gDwP257SXpGvIhjSknPqEXw/7znOsjOyOTjfuUSeNBEW2ijPVgUgTpAJ7mOCHv80zr+P6Qz+VDNhpV4rFiNCaKY3x29Y4xoivD1SsHXNjf5/TsjHfef5f37rzLnbsfcOXKFV64dYNf/dUv8uD+Pe7d/4jV2YrprAIv15VPY53Zi6ePd0T3KRjBSapMNKIkK5IvR4wxxbrJGKVWslY639G0NVMTWDaGsrYU2mCUpqwq2s6lPTKRlNownVuKsmR7Z4cYI01TU9drHj16yOnJknVzRjWxTCa7xKg4W69kJU5jo9qKd5LSWmJeW6mnNJboAm3jUiKM1IYmZa2rIOvtslnjCGAMJqWGdKkH+WUfv3RjOygdhXHTWotTVVmKW7EtBJ3dLqnrtbBQxqJLw3QyzF2WZcliIdbn67oGZEbDZnlS66iqKVVFcnwTeVfr24RsCEPbeC+ZXkbTdh3amH5utioFfVp1y6S8EwMeJ8Q/IQaMsTjX0eF7yZ3IEoVdqGtx0NSVluHnIBJrW1Yoney7UcxKyX86ro9FdmzNButntKGwFdZEpqVmWlQc7F/gyqVrlHaC99Alls6nBbpzYotdlpYQHcvVkpPVEV08o5ooTCHUv2ztIitTVmOs/N03MkeglRx/m4LuNRqrLfu7M65cvML+7gXa2qFVwBSVzEM4lxp2LY51TUvXeYqiZLFYUFVFz3r210bScGYjHEa487AxKEIcCoYsDSE5M2tiskFX4niXc297mUlmy0asURwkW1aZc2jb8Hge4pz+ZRRxcL746J+R/u28HFS+d9e2REUquuXamVQVv/M7X+aVj70qzH5Qcg3YkuVqzZ/8yZ/w3vvvQfSyoFjTb6KZVWR4t4HxG3205zXj/fEesSf/+EPawnB+42dgZXujqh49e+YID2Ku5xQScVSCjPhwkcSqXKYNM9bZUKQ3Y4mJF+2/3HDOVJKOkk2p+ktTXjMH2g+mEqO5zTBq7NLXzMVf27aJIeTZYm8UZRVDkuNoUWV470d+VuOmcrh28n/pVwY5mxqe07O9vex+YC8HmntoFmMc5rHPF675DKmRUqFvMkeF2fnveR4TGTMbGXygb8TTdyKxKzp39KPXPndNyEY4NDCqZ2kTw+F9f4CUUjIaERwmpM0+8zZJqq7S7KwagVW50KmqKgFuHWVZCpJv1WA+YgRliREuXLhEuzVHqSgGfBhcuMeDx0ccHZ9w4dIFjDGs64bCKiaTKS6N11STiZxf76nmUy5eusjHX30Jay2r0xWgePPNN2jqhrOTU6wVhPrChQMZ5UEJ4yPlJG0nKPlkKrNN2szEtTsqiblxHU+e3gWlBCEvZwTnmUxnzOczTs5khOT0dI1z4k4ZY8opT2kGaEHDjbU457h4cIH5oqOazXn7vbupEFQ9awqa9XrNwf6eZD8nQNPaBBTlGcYUb/X4yWNu377DpcsX+eDuhxx8/rO88+ZbHB0fcbBfokLkYH+fH/7wNcqy4F//639FtahEkpiYlxxjIv4bWQqbHX4V3nX86PvfZWtrh/2LBxBauaeDjEl87gtf4ujpEz54722MFqBEPCoFYMm59N6HYQ1LLKBOzJDnHPjUX2ObwOAmiLS5LvYv3MfrjECugbR9RuWyeW8Oa0t/j8fsgZyzOp/FKp/XfJ/fR9Rwo49mDjZfIytFxjT0ePrXaoMqK1rXgZHrIr/W0dERk8kEow3Ls9N+ne4PbYyjNY+N/TYfLa2UjKRkcC0826Q/77HB5ubXfu45Gwy++msf1YOf59Um5+wD+3nHypRCFKT5VaUUtiiJUXN8eoIPgdOzU7YXF9ExcvzwET/76Am3yhkvbh1w7P4z/9N/+BatgSZUXGXG2h/RaVDGJjg3orwnpmt6Oq24cHGfV179PK9+7lOYuebtt9/gN774eZ4+fcIrr7xC13m+9Vd/zaXL+1y9epmnT5/yiU9+hvfee5dPfuIz/If/8N/z3vuOyhh8aPBJzqsiRJ9YW6X56r/8I3ZfvoHbLfjeX/wF1Qs3iV5x970H8PlL6XiM9vxzAHA8Z4S4cc5zNnVMs7Z6OP+5jlDJ/yGmSBy5FiJkLw41jC6Ijc7wexk06oHSNDL3DKuf0lNCUqBmg8oIGCOfKGiVkhak7rYTw2RSsrM/56WXXuDOnQ+5c+dD7t27x80XbnDz5k0+97nLHB0/5vj0iOXytGf4Q/AoHykmEtfjegPKtP9HhYsBlM+B6cNxU6JI1QgIPFFCZhWtQwFts+b+wzWFNpS2oJpOcE6Ix+2tbbYXW1htKIpS4p7SGjSbzajX0qs9fvKICxd2k1Nx4KxuwAiQ6fFMqgqtTd9HEGU0plVtmo0XINoHT9M2Qn7GIOZYyWejrjv0IAihaRp852hSv/jLPH55V2TnhQpWGkWQD+QC3oPrWkEwghQvi9kiSTaFqg94utjRrBuMKXpZVd002MLiG0/FFB2tSDGDhEbHKC6QbZCImeA8RVEQkAN3tlqytb2FqSq00pRKXGmtkpshFBOsd7Shw0WHN57CaJSJGBUIKs18aI3NzqTpdmzTgLRCXDuz+UxVlCJDtaUUcCHlbBpxKotdEOQkyJzApJwwKScYY7h88RoH+xdwbYdSBW0Q1tMlCUTddqzXNbWrcapl1axZrZes6iV1V6NMlE1DidmH1mCMxhRGpG1kCV8qfILk8+E8UzulmM6w2nL92nV2d3YJTnI9i6JAG0vtWkKSXp+cLWUR95GqmrK7u5MYSS+7ptZJHuz7hjJveipJPFWagRuP9QsyO8rsC3Ie5PYcGPmYrqWYoqX6ojw188MGFPoZWZVliHoo+PMmNWabMoP7DIob4oZ0ldTUaKWTadJg8R+TU3ggjuY0FdaW/M6Xv8KnPvNZXIDgFdqUGFPSti1//p/+nDff+AcC4mpXVDYtuAOrqM/FqMQ4xP30m/vIbKg/7glE6Bu7/8ImP7z4prts33j1stFMP6bNI9cycSjaRlvBUI7FoTBTo9dWo6ihvOnkCIDYH+KhyFMqI7jJCrVnU4YCECWzeHrkdClxdcKqhbRJAjK37hOiHjJ6O0j88vXnvWc6nY5Y0UGC3ccSRfp1LqSZlzHroLUZnQe1IVMGhizK/hzkRi1dzxHJDR4V0/m/qGLKBNcbhd/YUWWziB3NFW3UrkOB3LND4XzRMWpgnyNRDCpF7ETJBVVRxj6UlnsixR3LvCTD+4ZkjBJ612hwLuWVx4jVqv+3HFemjTj/6hQlp2JiArLBSAIz+r0nzc4LkCZGHbPJTM5byn2MienSStM5z6rtUgHnWK1XTGdzTGXovOP0bIlgmoZVvWY+Lei8zHU9evqUIuVVRqU5Plty1jQcnZ6JOsV3VGXB0eETYpS1IihYNjXN/fv4IPO208lUIiOKgq4RE5d10xC8gxgoyyKBy4GtrZkAMV1HUWhms4XM8/rI6XLFumkkp12bYRZKQds5lDF4EJORtGfKHJeolbZ3F1y9fpk7Hz6RPS8d03xPHB8d8dZbb0l6wMRy68UX+fnP30Crol+TI5HXf/o6TefQxnLzhRdofeD1n/0D00kFOApjODs9xoWW1ckZP3jtR3zta18h+lrOgwoZhSIGky+mxFoOgM5qecRr3/02X/76H1IVJdEng8voMbbgS7/9VQ4fP2W9PITEnmkjbJzVCoLuTRYHsG4UVZeZbxVG6yxJoj0CH1ND3Du39zfP8ITzgKrSWedCv15kp7zxbXz+/uv3gTRfG7N2OfsQ5OV7Q3my+XqbzV5PFssap1PTGgfmlzhi3jKjNNqTBDAwTLSm7Vq6Vu7d/Pyu68BGrly6wunJifizjIBHRutZZv2zz4FROfc+1QBZ3srARg8qlM3vOWasM6agzq1J549xPg9ppds4dn2N0YO18t6r1SnbO/tcPLjI1taCtmtEsecVsYUHDz7ElDO66Fm3LU3XoWclHTVnyrFSnqaref0H38MrMFVBoQteCi2PdcdRjsRK13+IHhXkU3TtmpdeuswXfvUmKFjsTPn1L/0a09mEPaPZvXCAd4GPv/oKu7t7rNdLZvNtjo6OmU7nyTAq4r0CDN6FIX4xpDz7qKiC5uz9e7z7Z9+jfbLk4Td/yv/wb77Nw+UR0/0KPvtZMKBUyt1laDKHhzhGxxjI5ZVR+d6Qpk1F3TtJh+TSPR53I9XnMSnJMgDWj2D1EXf5QlC5q07z8uN9eCAVxsCtTgqknKghUaUKTFKp5Huj94GR61arkiuXD7h0cY9Pvvpx3nrrHT744AMe3X/IpUuXuXr9Oi/dvE7T1Hx4713uHX2A1nGoYtTAxIaE0sXEGAuZJOOQkjke+73MlkPDa7ShjGLoFKLHeUfnIutOwfo4mZqVrNqCeZhjdCHqyxCwaYyz0BZrSmazCVevXiXiePjgKR988KHk/laG1arGRc+0WlCvG5qmYT6f41qPKa3sad5JrWa0AKwEptOK4D2T7VkaW3UUhaVrW5q6le+tFFYrqqp6Zv36RY9furGt65b51GBKueick4Worte0dUOhxbUxNyXFZJKkrGEjU6nrJAqlKivqpqFrW2azaZLRyHPTxBTGGHxwIq8hYksrLnDGUBiNPxMHXck3lJmpEGTm0xiZyWpXDd45okqzoyZZeafZ2Oz0V9qCppG8LmNMys2TYieGSOed5DHlUOwkD218i7bp5goh5RimHK4os5NlUXFwcMD1azco7ISmrvHOJ4mHFCWd6zhdrljVK1b1krPlMZ13rOqlxH6oiE3zCBk5Fy19R9M5rDbYhNCQqP2MRhlbYgvDtatXuXThMhqN6+QGrCbTZKIV+hxW53wy9rJMplMmkxnGmOTCKIWP9zHNg/reZY5zMqd+n+oL6lH8TxSpWGa8Yr+wJJVR3yScm+9MG43SQ2Gg0s0SU8zGeRS6n4UdRwaNGCRBvAe51vmoFLm3hkabCJ3PEo5B92+M4ctf/jKf//zncc7J5pAKRu89f/M3f8vrr79OTJbuhR3BUmokNR03pXFg2xht0OPvN37kZl9l05M4jln5Bah2bhJ7M4fYH9eMoOo+D1iNfp5/eZNlHD7HmOHIzda4001VV8wXwDm+PJtYPWMEtfnBh+JiXJio/j2E4dp02SvLEu8kDzp/vryBOye52ZvMJxvXaUhxCpmNjanwViMEP2+OPfrPEFmQj9U4GzLXx0pr8QZIjS1pvjEfB9UXqYO8emAztLi49icojmR+w3zQmImW+0F+JcQktWTzHsjG1uNz3lNRmcHoXa1zo5iYZJ3R8cFQrj+mHoxO4wwp4ztfDPlc5Ou3LEuC80Qj5mU+RGJwqfBJLOFoLl+KSY9SBmOKlGHsZb8ZuUxnZUgAjk+Oef31n3Dz+mVcV3N6eko1XXJyfEZRGJ4ePqFtWwEXlUnKn0ihM5svhlTK2hSV0PL08KmMwqTNfGd3j7YRt9F1I3tBVVUiTzaG45MTTk5OuXDhIqcnp4TgaeuaorBUVYG1Ev9Q1w3z+QJjDUprOudoGlEazCYTClvy8PFDYoRGt5TFhLpu8M5jjBV1QRqt0Uon+Zt4KazbhrsPHuLaFcYEQpDxEJ28JQDqpubDDz8kEnjhhZscHOyT0R6RBmqOT0559OhhX9y+++57TCYlv/L5z7GzvdU7uf7gRz+W/O6i5Mevv87HP/YKL968moodOW8RhU0zZtqIc2ro72k5/g8f3eP1H/2AL/zGb0tmvZc9MrrAfLHgt776Nf7im/++l9bnPS3aKJJkpXtwZGMvSXJK1bskD2vUhh5lBBjlvcOH8dqVQa7xvILeYLZ6gaYKfdH9i9Z64gC0jZv8fGuqX9DQjl9jkO+OnpdBw7zGjeK18h7T/5kMZI+adUlYZGIrulYIisl0ku5lePHWy/zuP/89yX13HW+98Qbf/+53qZfLzU0g9SR9lNAoQnBQc2w2scN3Y2OdG07ByM16dFyHhnhYO3/RMctr4MbxTcegaZokYXX4IGakTduitebo6IS33n6TazdfRtmSznUsz1bYckoXFadzxe2y4FgHClVROSiDonQtq4Wh60RKr/u6ZIiLC8j1fvv99/j+9/6GSKSaVFiraZoarQ2v/+QO1k4oi4rVci0jD3rG8VFJYee8+/YhpycRa8re8Cxpn/pDpVXkBTuj/bd/zU/Xfw7Rse89mprH60Oa+VXxDrBlD7iMjb44dz3rlHqS4YwN9pxc6yWXZeLgBh5SkoJK5JICqeglzUFtblo98NmL4lQU08t0qsOIpZd9eRSnla6bgVCQ/c7ogeRRyfgsA+l5nTTGsL095wtf+CyvvHyL99+/w/3793h4/y47O/tcuXaNm9duce3qNR48/Iij48d4L+azzjmsMWib7tM0ktP1o1JSj8co5k7iNyGz7CGBqUoHTCn3eIGmaVvark0uzIamleSWQhsuHlwRF2YfZF7WaDQyM6utgaAIQbNYbPPCLXE+75zDWEPTiWla5wJd5zk8PKGtO3a2Fiy253QJ6KxMhS1KprMEhpHB5SCqV+9lNhskUlYppov5Rq39jz1+6cZWxSDoqfOpCGQoeELg5EzcGieTieS7RkHbtdEU1uK9o7RaioJ0shezWT9srFIp1XadSMSiDE8rrTBGMlm76AhB3Lx8CNjS0rmOqCJVWYGLhNDhXCuuxlYzmVTE2uOCo9AajVD5HpFKF0pky2UxkflbX8tgfbp5NKMmKELbNf0sZeccXilUi8w5QNqoIxbNwYV99nYPODg4YLFYEFLWbwyK4CW792y14nS1pG1bTlenNG7Fer2kaRta30pgvAoYq0Xrr2SeNQadHO3EIEryumSRsxiZKzZaZg2U4eKlA65du54YDs90OqGpGzrvwUvj7pGGretaCmOZz6aU08ng+hcyQyv5YTGxHlol96ieZduMHhmKXddLFntpC7GvkftNC/pGpZe/9Y3oEM00tvaXmloG0YfYkc1NS9gGernTmMXVRveveb6IEGOhHAkjLPcYLc8N7m/91m/x+c9/Hu99Qv2thE1H+MEPfsh3v/s9nPN96LXUE6HP4x2ayU0Uedwond+kf3FzO2y2/yhzGwX6Hjcz+Xj3RWMuENL5VIw2DcVzi4D+s6nNZjzq1KiFHESeCqFxszU6/+fnpuifkc2tTP818h90Yne97/roFVLzPa3E+r72NYwKptxkZrY2b2ADoZGR49Af27xx502T8UbIMI87/nHO9jt/PnX6tyztlPPgkhu2Hsnhs7HaRv+KArxS4gbcb8byPzNuivNcb26ok/d1yAVjOp8ZxNH9DLOSTTyf9GzW5IaYn4HFSg3vyACjL5/jgITHoFPxrgWADHHjeurnA1PGoOqPwChKpXeZ3TR2McYKsKQtMSAMPYHFYibOocH3DXc+jM6nsYutBW2t5TpAojm6e09o25onTx5z9eo1vGvTNRbBe2bTGW3bsLWzg+9cHzx04cKByIGXp+gQ2ZnNsUXHgwcPsIVlOpuytbVN07ScnZ3x9PAIHRVPHj5hPp9hJ5U4n3pP28jcd84QXa3E0EonOXddn4qhSZTRGZ/GfyKB9XolpoqIO6gxAjablIeplabUBds72zRtQ9SK7a0tyuIhH9w7xKdzNI5jOzw8ZDqr+PSnP8nh4XG6B9I6ojXL1QqCSyBvxbVr1/lP/+lP+fLv/Dbbi22slWZ9tV6CijjvOV0u+fbffZdrV/8bogcdxGnDRClbrRLjFmHjBXCVNV/uibfe+BlXb7zAtevXeyZL0BrH1es3+dTnf5W/f+17UjAmVjAYsGjwMpdPMr0MPu9P6TsnR3fJP87qmU2mLyZn12FtVufWxzj6b2D8NhvH8ZjMcx6jnHVZU4dXkNtiZIR4LpXoPDA6qIGyC/um0bOAB2N3/NH6kYA4hU5us8M6HlIOrbEG5SUVYjadUhYF9z66x3e/811+83d+m539C3zxNw/Y3Tvgb7/1lxwePtkEoM/vHzHP2KeGRD0bQzZ8vzE4OW6Yng8SDz+L584Zw9rbn+ewAVIarZlMJqzrFu876npFURjqtibGyLVrN3h6dCRqxfWaai7X83rdUGFQpiBoWBkD1YRJNaUpCibTCdXUgorMbt8hrmohaGLsAXmSL0RVTvjww4+4+8F/kH/Xuh/D69VGURP8EHuYTbcE7Ik8fvKQ0mqsjYTgQAuglUGCgsj2dMrKex7pJaemAauodeT9Ccxmw1hdDOBVwKBl1OJcFN3m9Tn2bhgddaUwSrxmsv7P+0jwae49ht4QKa9NQ4qj6u+z4Q5JgFYG/9PTsofKsD+pwaSTYa9VOu2GymDSHewN/Zy+xD0qlHeE0CXFmazbOzvbfObTn+aVl17i/r173L17l5/9+DUmsy2uXb/O1esvcOXKVQ6Pn3Lv3kcQNF3j0S414kbj8HjlQSmq3Ozp2CtHlVLJUVjq2nx/KsC1HUbLmKPPySEq4kPD6fKIum7Y3trD+5jGbCq8bzHeYLVKyTiGyWyKLRWLrVki0AKda1nXDat1zcOHD3n8+BFPOcJfuYIpK1Z1TYyBqYeysKAUbeOSDLmjLCxFITFAygiJGuqmHzESo8Vf7vHLm0dpjQuBum2ZVBNsWaaLMlDNBKFvuw5bitlS2zaQZkwVUswLyhBwAWLw8hrGUKTss2igrIoeRVZaXIdVMnUKHlqfIjjSYHJutlCRoAK6SDO5rhUnZmuYTGfUzbpflIy2IkFRiGlPiL2lvDUDja+1SFZ9kABlNDSuwePT+wpj7L2nUIpJUcmMZVkxq6bcuH6TixeuUJYVrnO0XcBHkYmt1msOj484XZ+xalas6jXrZomPwt5KgxcSGm8xVm4W55LbdAzoCFVREAOSSWtLFIGuabBWjFJmkxkH+xc42L9M8BrXdgICoEVf7+RG9EFMoiQ7ccJ8nkyidG74hgzEvELoPG8pkG2/QmQgIDIsOpEcSTCEZedFK+0yfQOiR82TgoRCjYi+fvOR1WvcjKpRZqb3fpShObzAIDklKQSkoI0p7kL3KLTu8fMscek6mR0QBDktkkrzW7/5z/jir39J7OC7joiSc2c0P/rha/znb32LrqkxqZA0WuZjekaWIVeZcxt0buT7di8v2OfiEPPSPWZ7x43G85rgDWa4zwYeyaz6Ezz6+cZnGt5dctdiYsPY+Lf8PfvnkA1IRuADm43JkBY4PncM/zb6bLnhyr+ZHz7Px0TFbDJjMp0yn81xvuPBw/tEl+OUzhenm2ZMfRHoR01tz4zEjXNCn6H8bNH03HMwuiMyq5xh5CyxF3DF9+3hsyxMHM6/z2xQ7CW6gBTsvROlfC+f5lgjqm8q+zs5Iem/iDHPn0HrwUF8o9jO1Xc2tOllZgNrrUfuqhpF23aC4CaYJTszxpTnl4sfnlcAmXOzcen9JRdRDKZMlE2+qgpcHXrRgGz+cu5cAG0KlEqO9koxn885Pa159OSMp48OuX7tBkFpOheS86enmkyYz+dsbW3x3tvvMKkmlIXlyeNDyqri7HRNVTqi88mXwgr63rYQIuuzFZOiYmuxlWalUp6jzsBb6P8PupdmhRCYzCbJoLDDOUfXSK6u846maYBI23q61qVIsZDk3eJeW5VlL93OrrUfe/kVHj55ymy+TdO9wUcPn6ZxgEHN1HWOKVO0Tm63SiRsIYgTf0jdn5izaN5//w6HR0c4H3j3vff47Kc/zdPDIx4/espisUezXvHqq5/k4qWrvPbaj/nc5z4lTp9EqrJERWErCAKYy91heimjAE8dP/j2X7PzR/+S+dY22qV9yHuUUXzuC7/Bw4cPuHf3A0qjiTpgoiKaxE8FYW5NitoR5iakfWS8TpybWY2b90XOStY9s5qflOb0Q7qvs9XeyPX8mUatX0uGv4aQGct+UD+9zMAWsQEej9e2fI9nAFFqOflaenTPx02wqndjzlE8DOMq+TVjMlfSm8yqRrNcrpjPZsQAb735BkfHJ3z5K1/lytXLfOwTn2Bna8Hf/NW3uHPntryWTnx2HEyF8vqi07qVGx8SSHXe0Ilzhnoba9gz3gX9atIzlqNTuwEenB/NMNZSliWrVU3XdtRrMYXTVurXelXTrhthHkNHDC4ZlqbIl6jwMeDQtESidzgrtbR2LbbQmKKiaY8py0oYrByNqGE6m7Czu02IntPTE6nbsvlkdhNWub7SvTrI6Jgc7SVBYza3/MaXvsyjx/d5+vSpfF7vwEVc17G1v83lT32eh03HSVdzUp9yfHrC4fERR09qblTF6GjlOMd0jcfxNDa90i9/Nrk1dF8H5dSPTKBobdJ3iDhSrGZMsT6JsFL0ojNRWOaRp146HhlVIVmQ3O9ReU2VPL8BvRdTWPrRDqVyFm+QWWCtMTa/mtzbafsSMshLz6BLTVks2Nl+lRdfvMn9hw945933+enP/p7bd7e5cfM6t168xbWrN7l37x737t3DpmpjvWqknqmSYkXHPk40BiHbZF9JBA9aFGsEGZlLPYVRpo/uDMkU1IWadb3k5PQQomZ/b5eoFhLRpLWYMJpSCEKlqaopkI235F6aThzzeUtVVmwvtjk7XXJ2UtO298UJWilcFykKQ1kWSQWYyA9LrxyNUcaYpFYWNZExzyM4nv/4pRvb6WKGCYLAd16kU/2AsDaU0wofInXTSI6tFyMMFxWxLKmqCh9EfutCkGsxuxmjmEzlIDnn8J0bmB2XR+QjJgUUd64TtFWBNoJMdq4d5mKjyEEWiwVWFygtUjSRNYsDGMHTuo7JbEGpLU1TpyZaJyRDGL68sHbeCVJTKKIOFKVECzW1E3QGJQ3tdMr2YptLFy6ytdiFqOlan+YDpFBcrtccn57w5PgpXWw4Oj2k7loaX0vhokQe3dUdykt+IyiCCuIobdJNHhWlLUFFTCEmBZrItJDstP2tfa5eucZstqBrI21wVLZCqyI1zpqua+SYdp0UW1XFYmtBURSb8tXk/JYZQDVMxCbp47CQ9Q1oNgRC8nh7jVW/io3+HmUeOKZrQ1jCtOlmauo80pca1nHj0TesKluxg9FGHGaz02V2N06ZtZKnljff9JxcwPRbmki0c0Ea0vfU2vLFL36RL33pNzDa0jqHjxFjC9CG1378Y/7iL/6Cer1CEylLizaJvR4ZZjBq9sebZRx9n9EasIEU94XQRvc/Ir5+oZRXHrnI7d2sx7tMDqhPsy0DSx2G5jbSb1hj8EElwCPnK0ojkzeykEfI+g+dmY8ehe5Njs5tfDm7rWe4Q/p9s3H8vHO4kNhzD9/4b/5XvPDiLTSa45Mj/j//7/9Hcpkd3rNpGhmBSGgmG06bqcDqJcVpowznjF5G5yVfm+OInQ3Dph46STLmEdMTQ0xFyFgxFzbvnf6F8jUURjiTSoVNlt3qlI033Iv5fKqQEpBGRbhi+Hv+Luf7aamLw/hC6yWefTRLkDmkmKEAlVF4hdEiVUZ7dHIODim7N+QiO33YsigGB+xegjigN5IH/Ozn01ozm054+PAhXeupqgmzyZRVffpMM6LQPH56zNOjJcq3zCYTjNVoZHxGhVPOTs4SwKGok7ne1tYMgse7DqJcO8uzFTEGlsslOzsST6a1ZrVaU1hLYaWRbJuGRw8fiV9DoHf09F2H1paiqHDBYQuTEHjVz1dn+XzbNn32Yl7jhrVOZqWmUyl4rLG0TY2ykidptMhBg/e9StMWFmvEu2G+mPHpz3ych0//Dhc8aXiun30/O1vy7jvvYQuI0XH1yiWePD1kWTeiBEjn9HS54qc/+1k6L4rt7R2UMfzwRz+irR2udBht6brIj177CVVpeemVj3Fhfw9DjTUqsQYxSYKFHY4hXysZMAmcnRzx2g++y299+WtYZVF0id5rsbbkt778Nf78f/n3LI+PEqgR+uPktUzrxxiwBjwBl5rbPDfbr3vPeQysYuzXu7x85Xm/DIrG/p5mxIiO1pzkQ6HSYp4b0aijSPGzW/wzCp1ze4kKSXqY/i1urljirTEwlZvg5qYCKsT8wfLAvwD2+burkJv+tGKFvJbLGndyckJViQrhwzvv883/uOZ3v/JlXn7lJS5ev8Y3/uV/zbf/81/wzltv0nRdeh2NJIdJLZWZdomGiZi8bqkB2D5vjDf+DhnAzd859iquIQ/93ALb/zf8zvDaIONvuW5qm4ZGK/zciTm395ydnlGv68ScNcTpFJNGyor5BNpI3bVEY/CJ9TMpBtBYhbWGi5cucv/+fep6TfByLGKIKCP37Id36x5U7WsgpUfJEwJwyhqa3ebV4DkAWKuZzibcuH6T1apB4dnb22V9esbdOx9AF/jp7ff67123TXLOdbigmC4WsuclcMdHIYZMeu94/riO1GA+Z5sHetAzX0fO+zQSl2e6R8kamUhRQ159jJHSFDK3qnWqAwNByRqWZ8PzzDjnRrbyPZQNPfsWt1ft5TGdBPB4uTDzqIIwpja9hsyee+/60SgNmPmUWy/e4vKVKzx48JA3336HN954kw8/vMfNmze5evUK+3sXOD16ytHxEXUdCB6sS/uAS7WegaDlHIYYsTqDBkIuCkmmKRD/g5xoAjCdVRJZ2bUE41P/FjlbR85WJ300UDWdMi/n7G3tC14dsmw7112aojRYWzCtphzsHXByfMKjB485PDqkXTbYUgx682hOWRi2thY417JcrYWYJFLYIpmhTXBdJ1J+80+QY0si7m1ytirLkq5txQAqRZ1oLU6WUUWMtZL32snA8tTMKMuSdb3ui7jOtT1bGLUEqmMUBisHV6Vh7BF65r3HdS3BCHKT89KyBKBpaghBIli0ojBlCkUWBrZtGin6ksX3crVEzReYosB4jw+CeBujUoErpjnTiVjYK3SKWhD3x6qosIWi1IbtxTYXL17i4sFFppMZISi6NkiOk1J0zrNcrTg5O2Ndr1nVx5ysTlg3Na136GKI9bDGCuNHZkYjPsmEdZSgZdVLSwCnqGyJ0Yad7R2uXr3O3t4+Ci05isn5Mgao6yZFWbie2YzJOXS2mFMWRe9glm9n3w/Wj2YcYNggR5vEgE0PrKImq6MGKWNGa4b5wcQSpY0sKtkQstW61AK50BcnurG0Mj/GEmM12niy7Eb1hjsqzfky4vpShIzO7LL8vGs7yVYubF+UAHz2c5/nt7/8uygthmM+xBTrU/DzN97gP3/rL1mvV2gNpTXYIpVQmVnqX2o0SzxC5ceP8zLl/pir/OceKhwK/FFT+1xJcpbgZBNkNSrcMmuX3YtHRkUbx3x0PFQya1Cja2c0nZUKnpwJqwYGjtEMb2YCR2ZQauPK6t80sQUJYknh1Zm86Lo2ycIDV69e59ZLL4siQyvefPMtzpY1JhGGuUHoOsdkMunZmPNy4VEf1bMW41nt8fEZfufZn5ELRDWcvKg2j+2zDO/w+wOwM74e5LtniekAAsWR42N2wR5nRA+z3flW6EGsNAH4bIzGWMZ3bmYqmWvo1ODmz5udKrUeXIwHFD0VKs4lMzGRm+ZiXylFWVXPzANGMpume0fY4XAMTpeT6ZSmFvPC6WRCVZU96JYv35jAhMOjI1577e8pomc+mzCbz7h46VICeRTL5ZKu6yhKK7E1t9/nE6++wmI24aNHD2hdS2YOC1swm07o2oayMBTGUM2mzGYzdna2uXjhAq//9HXauqWt02s2yTHSGFElRQEIdbpOrLV4H3rGViLZWtquYzqbcrB/gGvF2b+wtmdg9w8OeHDvgUTsJTMfaw3Oe7rO90xwTAzJ4ydPOTo8Zt12HJ+uKGxB7CLalPiQ5IZRnKMfPX7ElSsHWGv49Kc/yV/99d9CDCmSTQqZ23fusFqtsamA7DrH06eHrJcrbly/hDaGeVfiuyUhONZrx9/93Xf4F//iG6jg8NGhTJLGJym2SgqASOhX8LwefPD++1y+/AYf/9RnwOcCGBSOnZ1tvvTbX+E//cd/S2glzSD7fOg08618mqNPyoIQVJK/5mv9nI8Aud/Lm1lOdshCwBH7owblwZjBzYxVv46N9f3pnslmMTZlV9KrJQVkjv2YjkpFdhxmcPNnzDBTv571Hybds5HxW2+u91nm0KNC/WcbmpRIdo3L6o38fcqy6A26Cq05OnzIn/3pH/Oloy/x+V/9FeZbC776jT9k7+CA733379JMe157dYokHa2Veb4+va3O7uhK2LXY+2iP199hzd5cz57NqR1jABv+FxuL8QCmo5TMu7dCthRIYsJqvaRta/E06TpcUmp0KY1C1DMpW7QssWUpfjJFgSmkEShswf7eAcfHh8mgLTtKh75m8T45y2vZ60JIo2N9Y5s8UZKaRfUtnuqNN//qL/6yPyaf++yn+W//2/8dd96/zb/5N/8/vvKV36XrWuq6Yblc8fTwkFOlaZoOW5Rs7+yKw3petxLCqVUaDzlfhpwbgcnz9DGvyTHP+abEEJ1ULFpTFpbSgnOyD4TkkuyceBh0nXgTCEmVHLSDyJB1JmsSABW837gehn1JalYZv9TJuG4Mcqc1qZ/gChs1qDyk1jXZg8cPaSyFtZRbJbPplIuXLvHo8WPefvtd3vz5z3n37Xe5fv0GN29c42D/EvcficS3dWtUWquCixLHhkMXkj/b1D7JemVMLibgV4ybBFxwTYMtCrlmg4xRGmPQUfWgqeucKGZDpFs6urplOqmobIlSVprhEClthbJpzdIKYyzKKLa3t4heWOVVvcZ5T1PXco9ag4olXdsJMdk12MqiraJIHkfeCRAQiTTtP4Ersus6iGDLCaawOCK2KtP8i6ATZSm5ed7JLJNRBucdIQbOlmcyqG6NoPfpIOcCzrmWEKRRMdpKhA0iPfB+YKRKW1Amtz3nJbYnhEhZWUA2+5iMnmSh9fJaidlVsSA4QbqsLeialtNwQlmKs/JkMqFNttvOOWm0jaGwlvVqTdcGDAXWCGM9m02ptDhtXr58lZ2tXYqiomm8IBoJhW+bhnXTULeNyJEJuNjRuYaovDh3q9jPTikVqcpB0qFSbmxTrymriUQg2EJu/iDmRyYarly6ytVr15nPFunGbpPm3xCcBIjnDTlL14yx4sY5ncqFrYYitjem2EBy+xVJMiRzYdHHoIzXLCXsver7yGE+Z9wCDxrTtGjIi3nnRKaTF4rcgaVrAwZJ0Li4Pt9Y9Ght7A02hznHMGxyIgkaMHRQYjLkY5Izpu8RAp/41Kf46te+htKatnMSGWFLirLgzp0P+LM/+1NOTg4hCgJlC71RBYzNrIaHeq6UKhcr4z03jL9zL8sd3DdVbo5HG++4ado4wyGgtO1fKn8Cn1xlcw5wSHl2Gwu3Us9EIEB2+jz32fpaTvWIfz+j9kxjsvmrPVOrh2tBKZUqmdyYp2PjPTEVCsFHvvDFXxcDoRDo2obXf/ozlCogerwXozXvxfld9de/FpOXZ07GUPbE/oRsNon5MWZqz70EmdI0/TU9jiQaO38P995w/jZfTyVTFjFlG56Xm8h8v2d54WZjmo2zyEjIBuqf82nH180AEknsQRwVijoxxlpl1FquAz9qUjP4kM16clElbuiql6MFHxGgVu6hcYOd3ztELWj5+JpWA1AUkyleYU3ygOjEeyHSS/RyERPSGnzzxlVU1+C6Fq0iTx8/7CM22rajrmvKcgGANQVtXRMnJdYalLJJ1ilytrK0fRTabDYlBM/Z2Qk7e3vcvXefz3z2V3j7rTf56OQu0/kUW1rm5YyyKqnXa7qmERlXgKhMP8Pfds3IHE5mhpXWnC2XtE2LQtG5lhgi3/j6H7G7d8C/+x//R9r6DLRc7z50aY2QmIf1ei3yZScjP9NJxdHRCUdPDlFB7qUYvIhno+qjts5OT2j2Fly5fIWrVy8L4JRYOlJx+Pjx41Rcp+veGF5//af8xpd+g52dWTKDgm996+/IPghvv/0Ot+9+mheuXeHk9JS97ZnMberUgBgp6nUqqHo2DcA7fvqT19g5uMClixchdJK5GiMEz/UXXuDzv/br/PA735bZWm36OXmthvk9FRVGGVFSZQluFjSOZj5zAzfS+Q7+BEP3OazPMf9jajD1aJ0YSYfz/ZsBgtysxf5ejf0aNG5OMynQY2+pqen3vFHHNgan8jkbg83j5w1fIm6uy/kfTX6uGr3m2N19YMKc76gmluAaXvvB92nbml/79S9RVhO+8KXfZDZf8Dd/9ZesVvXovdVoG1VpDC0toWk8jJRwoLQZGsBzoOHwncbrs4A7Pbi8AUc8+/sZEGRkgiRNquzVdd1gZoMREykukySNF6M+3d/T2SzPFpbJdMJsMmM6mTCZlkznEy5dvMzFy1d48+f/QPQe76SJU8H1AMU41zx/TTHmybE4iLQ4f68YeyWNHh/j9L3uvPsO//f/6/+NzjvatqYoLQcHexweHRFjZF23tK2nKhvWpsGU5XCulMYHiZsxxoxA8HEU3VDD6TQr68jAbaor812dAHMf5A7QUWFSgytnL+K8w5qCwkpzplXyNFFZ6VKkLW3YM/K+pUbX7fhcxxh774oQe6oGj7DD+V4xxiQQa7NG6v1d0shWSPLa3FgrJUrSna0tZtMpVy5f4tHjJ/z09Z/x7jtv8+HdD7lx4wZXb1zl4OACx0ePuHfvQ+qVjJlMZlMhYvJeriJGB3yAIgE8zjkhApXCFrYHt3UCyvL9EXwgEFBGaKjg01hQ11JVFU9PjxKJJlGrCsXOfAfbgxbJNNVYJhODPSjZ2d3Fh0Dd1KJeNIqmqTk+PmJ5tiJELzP4aAo03njQkdlsgnOOuq5l5PSXfPzy5lGpoHSxo2sk9FdHRaFtkkREutYTg6LrPMG7FM2TmZCOyWTKtJylRdfT+jad3NAzac57Vssz2rKjLIvUwEDbdmhjMYWFACYaQhcIXizTUYlRNhqdQosFkS4k9JmINYbd3V1OT07TAqLwLuI7RzAWYwtxq60KiIayKHApbsC7gCgyFaFtCUnvv5jMKYwlOsBbYrR4p1BKLiAfPWfLtRQMwVG3NafLU85WpxKBYEts1MJjppnDLK8syqqXtdjCUlYVZVlhtcUonRpVR/SK/Z19aWqvXAOtOTtbSY6t0rjOJeOt2M/9uLZLhbxla2sLU9gkOSVt4CP0laEIHai9fAFn9mfYCfJ8Q9/K9Ll0uWgfXjMvfuebGrJoKrlN55UjxE2jCJPkkYOM9ZypUf77uGaIgxFCjnLISKwPrv88gMx3BU9ZVgkxFmTw5Y+/zDf+8A8w1tC2juDB2JKyqLh/7wF/8sd/xuHTIwgS0SSL+tCQKAaEQEAB1bMbkJG//BSVmPJ8L8aB1c6SFz3IEvsGPpkMnXcrHo7DwHpJFMggKe1z4ZLEKs85PK8o6BleNVweo5VjNE+tN343ktHaQbI74Bt5BpeeUTcpnqVvKns2Je3IuQHuZ9HFYG3v4AIvvfyy5FIbzfvvvcfDhw+ShX9+f0PTNJSTab4aesfU/GmzJHz4aoO8jr7oGTO8m+hvbhgH4EE+c+hnTp8vmTt/vnolQl9+jOae0aAVhnExOmzOzyvMyNJHFcX1MEZy3n0cNSdsFLbDtdEX4FH1MV/PKChGaQ/9dFMqynW6r+QeTEh2FEDFOYfrZD7IFlUC0sIgsc1IVQ+a5MVnxNDESFVOxESKSNesqYxBByXzRaQap7/vIleuXGZ3PiF0rTABPtC6wJ0Pn3B62nJ6fML21hYxijmVsQVN2zKbzWnqNVtbOzx59IDGt0wmFV0jqpmzThwkUYqnDx/TtC0P793He8/W9pY0okR8NKzrmnpdC6gUNTYWWGXoWpk38s7RtVIM28JSmILVas2amugk6iGf8x/9+HWMsTx6+pSqLKlsgXMdPq2BPkh8ntKpMOsCQUcWsxkvvXCTWzde4O33P+BHr78h7I/KxZ2sX0dHRxSF4dd+7QtYY3t5vkbhc8Htk+N2gEk1p1M1b775Fp/6xCf74xh94MmTp1gzwYfIcrXkO9/+Hgd/9EecnrUs5lXPKGotUm5jrTT4ceQyn9bJ1ekZP/red/nq179BVRZEF9J59mgUn/u13+Tw8RPef/cteR2tUYEUGWV6jwhJbBhFVkXGHPEAjowazcEtd3zLDC7mw8+fZRPz2tgvFym9IRd3edfKtG9qCfrrX6UGIarkH5KAr6HwjH1DMXqTf/SRWVOVflmN8rMzezreADaZq1FkXTJzdM7T1GuKooQY+PGP/p7TkyW//eUvM99a8MnP/gqz2Zxv/fmfc3R8lD6oHu1xfrQG57nCZEyXUXaZcRix65uKmGeVMZuPoZcfnjOO2xs3wS43p0aiw+q6pSgkw1O1XcrqTCCxd7gQsUoYbEXEoHCtI0wCzonpqSfSdB1hFTlcnjLd3eaLv/EbaBS2KNBKURiZRyysGFZGSLmoITF2/hkyIWT/AtfRJSY5+JCUIem7dJ144yDeIFevXeNf/ev/PXXdcPvOHW7fvsOHH93n8aNH/PxnP6N59Jhbt25J3Z0kt8EJceWtxpiil3vrXi4bR8c0jf8YJMLHP6tUy+c117JeeRRSyyqjk6IlOfpq00uavZd9hOQJEZOiIETfA806JsBWj65THTb3y1SbSeR1BudTWkovwY+jnOokWTakGg+8V72D8rguzjVtVZZcvXyJCxf2OXx6zBtvvM2bb77B7Q9uc/36TV64dZ1PfuqAo+OnPHr0kPVqLY2oFM2ixGkEvAgmpkELje9CGivzvQFes25kzEVpXHDEBIKUZUFRFDgV0QF0NPiu5aRtKIyl+v/z9qdNkl1Xlii2znAHH2LKiMh5RgIgRqIIDgAJFllFVvP1e69VeoPp6b/JTKYvMpNkLdNT63VVk1XVTTbZBAEQIAZiSgCJTOQUmTGHh7vf4Qz6sPc591zPRDXaZC03I5EZ6eF+h3P32XvttdfKc6I0e+pCrw/WqbPbGtiWnlMtFaRUyKRCoRSGwyHsMgnpzmZTSBDgeTydw3uHYamgkcM0Fvkoh7NAW1tkiqz+vunrmxe21lFRyfmPEjxXbUnxLFAa4IGqqtC0NYZDoh/nOkcmNXKdUfc0iA/UDrWz0HnGwiUSQnhIoUhExBPVWEo2+ebCSzC3XiqJxhJNxTlCGJqmQZkXZA3BCFVt6AE3U4O5nqOpmqhMK7i7M5vPCM2omYJqDWpnYbiQklphUBSA5fa8kNhc38DK0gpWl1dY2TnnxEhCQKGuKxxNjjCbV2hMi9l8gqPZIeY1KVl66QGpYK2JypRh1tFaoKkNKa4ZQCuJPGO5fGPhjYdtPJraYGPzJC5dvIKTGydhHVA1FSAkynIAZ0lqv20oOBGiZeGMQ1mUGAxKHjTvOpjRRzXtniWorA/UTTiAOf0hYSckmHZASpg6JChm70yfQxBqSlDgjgbbbRqSC74oysGznqFr5FmgJG6sSJBzplUEz13iQ0uatXDdnGikPELw7BatMWMNUbj5WJxzuHTpEv7FL/4FsrJAa2iGRioSjtjZ2cWvfvUr3L93H9ZZaJ67iSeTBPIuUnfH3AXwcN3SQoELJ0FJV0qLSjfnrltFCp+Po8akATUcmuC2er9wpSNz1vbofotCJKHoi/YbSUKWor/hQ8Ns2CJNN1JXeT0KdB1DCFL4C+szWk6kYIsgRNSyt6nzFs+98AKGwxFZeQmHP737JzhveZ6ajpvoT7w0vIvrqH8vfPIM+E74YrFTHW9xt6khdKQpJU/Kfd502FOx3xFNk63u587RcxfibRDfEMm8j0iUWv0jdOr+Ne/+wTEajdiBCvCIT1v/0RIhrAYGNziGB+AoXqveaSTCcpI6vl5KSF6j1rYAXASwlFSwhgSxBEiVWSS+oS7Em7TIiMWHiIXOsBzCeg9hDbQEtKRZQJ90lwJQAg+MxmMUuUIxLHF4eIi8LDBUGQ4OaxwcPMDB/gHOX7jAYIXAvG4gZQElNYbDMbIzGdq6wvFkAsddGOGpI93YFvP5HIf7h/y9FuOlMY5ncywtL7Ga/wAH+0coywF1gx2tt0A91BkV+EXB87jeoW3Ir11rBVs5DAfcBbUON7/4AqrIoAsFKBIxqesWkGQ3J5QkSzvjUOY5hAuUQEpQnPVYHg+RaXZCkAqtY6Ey79Aash/a3Ngkn3bQDPXm5ibu3LsbQS1nPRxlX/jggz/T7OF0igcPHuDFb7+Ajz9+DwcHh1hdG6I2FS5dvIRz587jd7/7HX7y4x+SOr3gfUVQR86GeX7vEcbAOzDG4+Hde/j4/ffx7e9+jwFAS78jHXSm8PKrPyIQoq7BUxlc/7BASyiWvWNaf6iXgsUUx63wLHIOE0Yjwh7T7Wk+XtcI+qEf97qnPnlG0250MrKRmowFCi4/wAljpvuIuJ9ECzSBx9V1j8SHIKQXPj7Etvg2Ef3CESmcPEPP/x7iU+DBKFb3beo5pPCQUuPGFzdgrcOrP/ohVlZXcenqU/hvRyv49b//J9y+fZM7Zx1MhngvAnCcWNw5UGyRwQjGMvNpAXTsvVIAOrn04bqLx4CcQAeS8t7ctpadGkhQsm0pp1VK8fw6FbZSCGYXORqjqxvkTYMiz+GnNbyVELmGaB38oIZzEpWnghVaIdM5TK4hsgzlygqyPEddVWjmc3zr6adpnjGnPKQsS5RlyXk1WccoRSq6W1tbuHLpMjVNLOU+hq0o67pBXVMcun7jFrbuP8CXt26iaVscHOzjcDpFY8mi5eatW2jPnYGXpJmghASUJh/VpoFzfA00AeZBRVsyC4PE8qKNczKShOgTG9agi3sZCSERu69LGQBQU4oZj4CIiuVEueV8BOwdLzQxKSw/fTwfHEAgyfP31IV1cI6aV+RFn87PA1hgV3kXySq87tlrPbKlHJwxcDYIJdHYx8bmBlZX13H//j18/uXnuPHlF7h77y7OnTuHCxfO47lnzuLhg3u4ffcrzGcVBoOSFKM91VNt7SAySSOZwTPYUZFvHIEnAhJCAlpoWE+jpp3lUUvsWsPxzRlUtoX3BtY4WAM0TQPN8+Xh2VeZhoOmuXgLaOTEXpJUm6nxErTSyPOCnw2PpqkAb9Bah/m8gjMOWmvkuYaW/xXsfgqVMTqnaMFxcMiKHGVOJru0cBwZr3sXf+adhx6QRY9SHYXSCwkvFIz10VcPEMiLLJ6o9x6uTRJ8ALNqRgW2kIRMq4z8cUXG8wU+dok9PFrbEgKjKB6OlkZEF2FKsA0G1yKjAsh7tOxnqyR7RjmgLEqMhiOMRiMUWYbllTVoXUBCYjgYQooc3kvUsxpV02A2n2FWzzCvZ5jNj6mg9S2sb2mAXUjUTU0oCTRs02AwGCCXGRrrecE7KKZJWONpUVoB2zoMsiHOnVzHhUtXMB6OMauI764kqfE652nGuaXr6pxH1VBHYDgYYzgcQUhGsAO9KSTWDtFKoSsiUp9KxzRoGzfLqEjIm2XwBbPs+ep4NidsiJLphsY7ftDZ91iAQQdq85DlrY9odQ9l7VGo6L+mNVBacoIfcgsZC+SAaEspASWTRIYNb6Kvp0CRlwiySKY1OHP6DH7xi/8Gw+EYdd3yPKmCzjIcHh7iH//hV7h14wacD8pvimbKHMMKj0HGPSvtKSUeLTiT91AOQd0bsHeqWFB77DZbH0U/0uIqvBZR0I4m5yMy1nUBXVJEhu+QUW0zaUMuHGz47yIdd+H8pIgri86vK5R9T5mZN7PQFU26oGnXlITQ6D2DwRDPP/98BEO27t/DvdtfkUw/n6BSClU1R5Hn0JJYIzGFjHNpAumYaXdMIUFaLGjT94lIE0I/z4xzYbEHs2CHEM5JyhQuEOTZLLqMK+12IxS8yZzt4poKfq+xgBY8NiCCaFWgNoc5PBm/P7IdErVY6vgyMBcT2UcLaiHCMCHYdoYTQtH51gI0R9qycAxR9zyDnkjuNhfwUTk5Snt3jan0uyGglQRE2CC5OyFogCqIUkkpMJvN4CqPTFIi5LyBAolZWGNxfHwcKasWgGktipUiCkhZQ3YM1pJnrBQCbWNhjYHKFdu/Bf9B0qiomppA1yLHcTOBt2QnF1Roq2qG0WiELMtpX9CaldrJ3g5FDpUN6JoMKKHz3kFoAS2pu6UUofnWWDhBojvRo9AT3Yu8zFtACqysrMJa6j48/fwLuL21jXkLVMZjPqswm8043ktUVYMP/vwxnnziCTjvcXJzE+fOn8Xtu7e75E4QevRwewdffXUXgEJWDHFyvIz5vMaHf/4YtnZo5nOib3uHN17/PYxtce7cGXzn208Dtob3FsZ7KAQrEUdAMYPsHmE+1kFIj88/+RCnz57F6XNnSdzLUn6iILByYh3f//Ff49//8t+SQCY6cSUhRdxHUrXWbn27CArTLzC1GI8bYXi0eky7un01405kzfsg/JaufZFEzC5+J49e97bweR6RwdQxsbqxg+7VxZLA2HgcgwRd+KFrkNiHRdDPudAgi5dHMD26m5+nWDCdzpDnQJaV+OKzzzA5OMRP/vqvcfL0KWycOoVf/Hf/Pf7xl3+Hm198RpeZbZ7idwqiQVPOwldIdkRtnpikq+7wyPksXoPFn0VzmAVGTrhnEUzWGgIarbXY2z+AVhrLy8tomgqtbak/I2kOVwjBHTLLCgeG1nbTwNQ1VNNCH5LwmdMKk4dHGF2+gAftlDxNMwLUs6xApjMcPdyn2XtJc+iffPQpA/YkaJllBYosIxYZN3eI0Whx//593Lv1kMS/2FfWBk9RzosFBDKZ4c6Nmzg+PIQUAtXRPvYPdlDNjqGVws72NmkEjMfQWYZ6XnUikhzPadTPQ2jB87KdngyJiPoIbPf1HXxsSEjuOC5aNDrnAePj+GFosjgAjWmjs0fC/QLXlTDSRPA8rC27kJMJFixViqTY7UJuHD6TwC7H4m+C58NFVPftAeUM0GrF7ife0R4vgUxR5/PSpQs4e/4U7t27jy++uImbN77AvTt3cfbsWVy8dBEvvPAyth5+hb39PdRVBa01tJLw1sN6QGiKiU56KuClgsoEz6ITc1VzlzvLqPicz6fw1mEwGMAptu7iXNiYlvEzuh/T+WGkeyutIK1CnhWQooD3Am3dQoiShBOzDEVBDcjRaEgaEU0N75fhYTGbH+Po6BCz6RzD0ZDASPuYmPo1r29c2A6LEQkyOQEogazUmB5PUWSDJPEiesnyygpGS2McHh6iaRq0Tct6A5QcqYw9lKLCYDrXQTRI5RXL4ccIC2sMK/qyklxGVOOmsXG+hoRfEJEQxzY9QgJ5kaOpDBUzPHyeyQzS0kIjsZnQ4RDQUiPTGt55zI6nGBcjnD9zAadOncagKNC2Ds5LVmoTMMbj8GiKal6hbhrMqimOZkc4PNqD9S2MM0Rr9g7H8xnZCFmHvChQ1TV83WKQl9CFgoWixSEk6rqGaS0rzBnkKsPScBlXzl/B+vomhNRoKprxzPMCkmc75rMaYTC/bhq0LdkmDEcj5HlJVAprgCSZDrTQYLgeFpMQj24CPnmcvQsBwnfiMDzCoHXnM5pSiSXTPCUUzyIqYgXAdck9b+ZEK++Wa7ou4rrhbh2JC0ie6xVR9pyO1MYqJNDGqK4QTHEKoIhBnufxXFvTYm11DX/zN7/A8vIaasNrWinkeYGqbvDr3/waN774DMJbaClRZBnRT3zo9j5a8ABsaSV8HE7yjxQrfiG49wWXep3aeA9Dx1P1/j16l/Y28U55UETFwT6VdZEm3R1H//qHTkDINMKmGrmeIqhXdufvuy+PNgTdN4R/E2m9FqnSsd7iBZYq/lnr8MS1a1hdPUF0TS3xp3f/RDOLyfmGc8hYdVdLBZvOfTOym3Y+e1S03vwrFjq9odOeUM99H2hIJ9rjzxauf7gE3Vruuu6aCxz0NmqeFXyMB3A4zo71IOCC0E04nyj6k9DDE5XKABClHp6xC8LetaEA7iUF4d711kxXhFMcCFQ1eo7hQEBVS0i3aW3vWFyclw/WYuFERUyAskxiOBzCw2AwGGI4pJEYGUEJGZetcw5fffUVLp89BZFpFq8RaKYzWKchhEBVzVE3NVQukOkMW1sPsbI8xrCkudiHD7cZICNAT+o8xjutO6sFKUnA6WgyQTEoMRwMqHNvWoxHIzjnWK/BRi/bsO5N3aAsc6J3WYu2aWisJqH2W0s+tkILHB0dQeoc3meYTqdk35AXQNsSHZ674daSmvhwOMTh0RHmVUOxuSgwGJS4e+8urNDMxmHfV3g0dYsbN27izOnTEFLiW9/6Fok1hvsY9nsIfPjRx6gbGjeaVxUODxscHh0CcDixWkJmBsVwiLaeQEkPD4U/vPkWrl27gqVSU9feAYABvGR7nlT4jtedlJACaJo53nnjdfz0F/8Sg2EB8ExjEIa6ePUqXv7BD/HW739HXaTw3EoJOMovJMegMK9JFimJwFx4TpCAUz2B3ce0RZNnkvYBGZ+9RSwwsiBCOevR9bNY3NGl7BAXxpu6UZu496E77jQWd8ezGC8W964YveM5++T9CPPJEPCWurZSCtjYbevEpMJnap2jmlekDK407t29h1/+3S/xw9d+hCtPXsHS8jL+u7/93+M3v/p3+OiDD5OCgpV1gx5CqEni3uNjQeQQxk++3t/98cByz/W0d0e77TCowkssr65if/8A1jnc33qAvf0DnDixgtFohL1dQdozjgWevENrDApNDCNr2qhBY9aGqIsSYy4CpJQ4VBbLo1Ua6fMkDiTDDKkzaFsg1xqwQLVPwnHW2g6E9DT+4aPzhwfYknO3riC8x/HRBG1LQqpeAIYZblIoVEcGh3cfYlgTo2Pq53CyhakrlHkWRUk3N0/if/zxj/D73/0n3Lj1Jbp58G7NNS3FACnjbaJRGLawcWmzhfUaJI8YUSIhIWUH3vqwPkVgEHXihErS/ckEKUU7Z7lhwpZ6vIUGse9glRdyouiSkIBLQkpoqN4xxibOImPLe1gbGIdIcgZit9BeKuGlh/QKWmm0toUxZNirtUaWKVy9cgVnT5/DvXv38PkXn+HLLz/Dra9u4dKli7hw8SxOnzyL/YM97B/sE93d0l5jjYXiUUNots/j6y2FBHhkjqwsOxufQI1uvIn2WEVBzUwlJbwzVAMpj6qaxxFHJwApZxDIIKGxPFiKRX3TtKxnIhiYITaBY8/y5eUlrJ/YwPH0GJPJBHU9x8HB5LHP6+Ne37iwHeXLGJcCs+oYUpOoioKENy0a0yAvMuiM0W0YOAGUowHssYeraxjbwgkPA7pJrWnRNDWjQD7UFby5kqpWQCxJbYsW8Gw+RzWv0BqD4dKYuisiJPIW5WCILNOUlDUSjWnIONlaaKlR2Qo1W3mURQGtcugsJ5ElKSCMZT9VCTgHJRVObpzE2tU15FmOkydPIc9K1I0jPz+v0BoPa1scT6eoqgrGWBzNJ9jef4h5NcO8PoZzLXemqHPTmCZSI0pZEEqVZUS9az1ylcfhbkDGIl06YDAocPXyZZw9fQmmNajmMyiVQzGNgsRNiH7tnSUaqXMYDkqMl5Y5KeenV5axI/u4wrZLXMMEjw+MTxaCQtx1A+ImWFGt65gkXUR0dCEfzQcX6ECeKRAxUeiokF2Q6HaUWDTwGgpJvkfYQHn7Eawk79NtPGxLdCzGGJjwYHIga43B8soKfvY3f4ONk6dQGwvrKTLlWQljLH7zm/+IDz/4EN5QV6QoC0qEXOgQ89d7H2c8wj4c5HN8pNmEzb4rVlJqZwiSopcyBU/BNPHoJyyLtKtUvCqdXQV4XjLsNoLmDkLhAe8j/S38c8SwRUqQS6hqvkt+PJh2y7CIDjPNQdAhrpqFosx7UiQUSSc1Co3Rb7Utz5IDkDrDt7/9bUoShMBkcoTPP/6cNszY4aAOr9aym8sSpP4e6NJdZzRdqwkYIBYFv9JNrn9d6Bmz/fvZKyp7J5yIt4TvTXxpmV4nmdYUOi20kbuuMOW7ET3jIJkOnbaPWZlcEiVJJPNBgW6OBMp6LHWRF4MXgr1oeX6YVZlJ7C0k/ImIlCTWg1SsCu/AwoIEeJIKLM0GZQUpMVpHfxehc5yCXRDRYiQUBKEAEVJBqByD8QrTBCVsKA8EIDzFzMPDfRRXLkJ4C+/ZZgIek6MdFAOiTB0fH2N5bYnWcDaA8wrzukFW5FjfXMdscgRrWjRtBcud3Na0sFDRamy0tISqmgECsK3FzmQHmc6QFzm0pg5ea6nTm2ce+aBAYxtkUqNua2SFxtkzZ+G9x3Q6hXEWVVVhOp2iaVtqZrOAoFAkUiMl2eZY06LNCHkTzkFLYD6dItMCWZ5BagnlJXKnAC+xs72FEytDDHKHedOQCItScBw7vfc4mhzj7r0tLK+s4sLFC/jixuc8zEY+8156GOewu79PRZgQKAYlykGJP73zFv7mX/wMpSImjXXAO+99hP2jKQSA/Z1dvP6HN/Hzv/4xzUxaw7YvHpkKk9vo1qcAIDql9P39B3j/7dfxvR/9FFpnsIao18IbCJ3j2Rf/Ag/u3cNXN7/oeTNLnk91PnRaLKhJIaJ6v0dqLxNUiEPRh9hBjptnF9Tje5yXMQlPa6i0SA7/FAA0n9AkAcEOwwKOGwTdyAgl0wFsEQkQ/SitNtlcU3bEgkp8/B2RXPkEjE2oUB3zA52YlosdK/oYpYCyzGBtAwiyHTnYf4h/+uXf4aXtl/HSd7+LfFDir37x32K4vIrX//A7eOuiqn+PuoN4aJDBBK3HIno0fkW6POc7C//ISrE+3stux+yEgchKq8HGiXVkWYnd3R1IKTCfV7h7v8aJE6tQqqB5clPzcvBwzsB5ooEK06KtK1RVBsCjNg3mNTU6VKaRmwGKigpdXZYYD0o4CXK1GA6wNBxjPBphNBxhMCgxHI6Q6Tx2Swd5jjKj4kWx0nKWKyglsbq2Ruyz/X0c7B+gqis0TY1ZNcdsOsXR0QTTgxnqJy/i+OgIBwcHMEdHMDsPAQEMyhwwDBgpiXMXLuF/9z+eweeffYY3fv+fsLPzsGMpcPFX1zVaCPJflWRH5j01n+Btl58y4CqljvR27wgQIj0BxFEoqSSPr/A8bniW2QJSQMBLFYWfwKMB4bgs50BCyAgSIuRUi2AQ28z5OHZDIzRhvQkuuEMOq5SmIhuexTh9LKCjFSV3lXWuSJDX0nutoQZQWQxw8dJlbJ5cx/bDh/ji81v47NNPcfur20xRPoerF9cxm03xcPsh2ukEQgFC0bOqvIK0DF4jiLCyJZR1CCNdobnTOgsrHJq2IUE2Q84tusghkaNuGti2IXtF59FUNawzpAEEgUE5ImeAPMfSaAxIT8KFNthSabbK0sxs9JBCQyuNMi8xn8/woHnw6EP7Na9vXNhW8xrD4QB5XqBpahhTI88ywFlG5zrFTWOIIy2ExGg8wng04sXG84uiQ+tEot6JsL5AndjgZ2tMA590aLx3mM9nqNnuZTAokWcFvGsxr2YwVkMIGb1ZBQeltmlpsJ59/4xW8FAwpoGShOwXOVnmGEPo6Wg4wubGJq5duQZ4gbqlm+W84C4tqXlVdYW6rmB9i6PJER7ub2PWHBPyJG2kxEhBvr1BWhs8Z6JD2Wgs5vMZhoMhvEwQNQ+MixFOrZ/E+dPnsTRe4U6u4XkFhdbQdQF/flVVJAYgBJaWljAajQDQMUuWHbcLiFikRiQBPQQMl/DzraP5gpRuQe+XcMLFvTEYhnTocOjaiVgMd/NyXEgwEh2lbn3ozKTosI+KoGFmqQNafbR/EqwOKSWJrYThff6gZIOjxKRtTaRBO+dgrcVgNMLP/uZnuHD5MlpDdGIpFDK2zHjzzbfwztvvEKPAe0aiUti7r1CIUGR2/xxtIUQvYeiCZyhKu9mfREAo/J7v6DOLycpit/YRtd4uO+LPE8l17mcBATAIXxRmSwBEVcd+otShpmFeLd4CBk7ouegSw1AQp4V81/+UtFlwJS+T+2zZi9N54PKVSzhz9iycJ6Di+qfXUVd17O4hEY0qyzJeF2IcLNDvkiI2WbLdv/fQ2bTr/Jhsq9eB501P+LjhioSKTIrCIqFbpYqNoUvQJc8+1P8xxvKGLgS87Kjuwj+uk9sHgrrzCsV1eF+fEiQWqNPOh0yCqZHeUaIdPCJDkZ8IbAQQx7swm2+TGc9wDIDOMipqre8UPntZKh+76+Ka9x5KSZSDAba3t2Ecj1CJOGAL3+nTwQuPlZUVFn2aQ2tKKkdZgeXlZch797C7N8eDB1tYW1+Bs3T8UmWYz6cYDXIIKTAaj5BlCpPZBDVT3cO1W1tbi+Cj8xaG6V7j0RjT4+MIALZti+PjKdk0sMaFZ3JHVuZorMHDnW0al0k6cFlZYnltDXt7+ywI46GzHM46ZFlOBTyALM/YYklCSvLVLAZDqCxnloMm/1NLYkvnzm1gOjvCrdvbmEwNIBQpijsHLWlP+eLGl7h0+SKst8yeQLTQIXcu0i+w9PBiPF7CFzc+w+7eDj07SkNnGqNBicPJAZTSqKo55tMpPnj/AzzzzDWcObnOYI0lRWNYoiYKkP5AGi9EAFeALz+/jpNnzuPKtSfhpSOtCmOhYKDzHD/48U9weLCLydFB3D+0ICDfWYZrvIziTKHrk8aGEDN7zJMIcib5cAIQCSEhwzz8ItC7EG8oX9K8b6R1so+ythKi527gY4EgIB2pCHtmUIVGro8Mj+6Z6wrZRwXnUiplGu/6MTKAWB1Lx4luAwiAeoxtEtBMr3dOYJBLWFPjnbffxHxW43s//AGG4yFe/dGPsbq2in/85d+jrjsPZ8c6EIuCiYLtZuBlzGe6a5P4Awcgj2fn+wU+03YDJZJzGMeD+hSjyT7r+vVPcerMOZxYO4HjoyP4LEdjLHZ3DzDIFfIsx2w+I2oqF2jGhPEOg7qeQ81oDktrjVZ1zCvyZNUQSkFkVOx6VrMNtjYht5S8VoTQlJdAolAZSqaiDoYjjMcrbIFWYG19DcvLYxxPptjfPyCgWDoYT1otpjUQlsDg6XSG+axBW5N9pPcOo/EIsG0EmIwTELrEt559EWfPnsMfXv8dPv7wAxhDALT1NPoAQXOaSiqoUsGhU0gOdH9nbW//CWuKmHzUiVZR6I0ZFnFaqp/DWEsx11jfZ4tylz+yLQJtebG4BRZo8Ik6ugeLdYQ11WfJUSc0MAoljQUJDQ+qDajO6cZ28lzGBlNTN2gN6RrkSkKOxigvFDi1eRY7u3v47PPP8dWtr/DwwUOcPn0GZ06fwcULV1E1Mxwc7WI6PSQgoWmhM4WiLEjoiRkWxhqoTCHPM44zCtY7GMcNRE30b9KfsRAM+NYNNeryvIBUoAKYG47VbI5MKcy9w8ODB6hsjUFZ0uy1BzyPXToefQxgvnNkZaakwqAc4tzZc/imr29c2M6bOWb1FNZbmgmSHmWewzTU6va8YcGTwIUxxFVXkpICZx2MM4Cl4tY6E4WowoxRSCytbdG2jkR72PzbWxKekFJivDxGXuZoTIu6qsknFjlUpuC8RV1b5FpDWEubiZTxoRagofjhYAgpJWrTcPBWUN4hVzm0UFhZXUZZDrG6egonT56CR4ambdC0YbukWbzj6Rzzag7rHRrTYFYd4eHOA0znE5r58QJFkXNXhjcRSYIfpmnQ1A1c08IpjTzLUeocTTCbESSGJQAMigHObJzD1ctPUOd5VsM7IMspWZlXDXsGW3ghyBuqNVBSYDgcYTQec1fQkipa9Gj1UQwhvAJClgLLrg0ztdSJ8ZY+K3Y/XdeJRHzQuwCUFmjdzk4bUbCK8UkBS4EloROHdivAdiD8Yw8El0ATbIW4809Iro9IrF9AiLl1yIfi0LZtNAD3bI8yGAzw85//HE8++RRMLGo1lKai9t1338Uf/vA62oborVlGoggRDY9fFJRvO7Q4XHLHjIVo95AU20gCLnXV0mQFgWnddaXj8mRP0pCMsMAWEkpN/34vJFOSKSs9USvuogsO+i7t0Hb3/ZHPjsrMaac1OXheExLJ+QsAgn0weaXSSFWg04U1JiJlqDVt3GSUFPiL77xE3UdHQNbHH39EGwZIcMYD8Z6HRCCluy8mchH08f2iKa73MGuXAhKhq83zb0FFkYpV6iZJpkh5151XLCzJ/Lm/sYquA8E4IXVkIsCwAJA8co9F9LuMnVgXHgXR/az3uy6Omyze30f+zs+1CGIufBjWOSjZeSbG58/LaKFCyHRIKHwyawWygdMZ7xM8XCA7KmzHcOlijvUU75rWQmc6FlrwpPfQsnUNYoHtY0wxlleuJpGN4UBjOBxhbXUFOzuHODzYpwKeC5SmrlBXNZZGAwyGA7Rti3ndYGtrG3lGKP1wUELAY2dnF3mekxJ3Th7wVdMgzzJMZzMMhwOImtbj2VNncHC4jyLLAQ8MClLLr6oKo+GIxGqEQ9s2mEwmEEIiL4voTTuv5lhZXoYQAnVV4+y50xDOYjab42g6RVXXyKTqwFa2J/OOir4yL6i4hcfq6hpOrG/Cq3fw54++gBAF7fMMTmdZhnld4/69Ldze2MDh4RG8lzh96hQOp8c4PDymtWAtgxhAVTX46MNP4L3A8XSGrfuHePa5b2Fn9wBb97extLIOaxusrC7jL3/8E7z//idY/+mPkQlFwiTOwSQiSB4AaU3KKFQZ0B9nLd59+w2srq1gbe0EnHKRZiqtwfLqGn7w2k/xD//23xBzjIkkkuOp9R5CdyAMPTsujsCEOClEZ4WExG7He1ZOEsleSX2cjhUS1n6P/iu7ZyZ5PEUQ7eSEPDwDwlOHPMYrJ2Is7gC4rgMVOszpvv9ocd23QYk/C9e3Q8Pjf9N9KYxgCAY0OuCyP58omJ5ojEFVz6mBYg3ef/ePODo+wKuvvYaVlRU89a1nUQ6G+NW//TtMZ8d0i13wfQuqualav4QUnu8VgSt8t3qg4HQ6x9GkQeuIzeGcRdO0MaI3bH3peaqp3lwBrpzD/e19TOYOXijUTYPbt25gvLSM5fEyWmOQB/Ek21IJzmMzQUfFOlIkt5ZskDxoLEBrxWyXDmSMbJ1MYzAcIi8KBEaNdALOtrFA0kpDSo1qPgMg0QqgEg7WCrh9RX6uoNnfsizQtqSm29TUwHHRPYLDtbVcSPOz11ZoGprpHA4HaI5N1xBxAsZ6eA2M19bw13/zCzz59FP4wx9+j9tf3eTHx8XOqPceVd1AWtItSSdpvCDF8o7my/oLomMYgrusMb9YaJ6E/FNKiVwpaNaFsQ6da4VP89iuERBZR8ENKtp49UUwved1GOb0GUh3IQ8SgDEMNPEHtSB2aMg/iarcAe1Bv0bKDEUGONfyXktNrSKXGIyGWNtYx3RyjFtf3sSd27fx4P4DnFg/gdPnz+DsmYtozRzeWjzYuo+qrnDt6lP48KOPCCyWnkRwPWn4eG4sOW97+3zB+09dz+F8Q8ynrLPebNsWWaahMxIuLHLyPW9Njemc2KoCwKgcohyUyLICA6UJ1GIAJzQ7hQcqWRFwmhX4pq9vXNhCWjR1jdm8ghQC62vLbBuQE71KdDdVKgktJKuMqcg5d0zzzCzJkWtIKvo42Q6KwM51SYZUgthEyTC21BqjYgxVzaJ4Uds20EwtI683y36KnfgCnIgqmmQJJGBNA8Aj1zkKlWFpsIRRMcCZM2extLIGndH80rxqaC6YKTxt05AdQ92gMS3mVYXj2RHq5hjG8XymYrEnuCRweti2hfQepcowHBVomga+NZC6QJHljAoDBiS8dWJ5DRfPXcLKeA229WjsnOfGaCawaQ3quiE01HvUNcu85zlWlpeQs/y7YJ9WAs675DtsUuEepJ0eDikx+XboNqSAKAkpSSY7VbL9uoIpSX6T1LlXbHWMoX7y7bmzE4qkWBgIFalCafc2dJh7nx/22XBs3IFuWek6vRaDwQA/+9nP8Oyzz3KH2kHJDEpnkFLh008/wa9//R9wPJlAKYlMSWRaJMfa0T9FOKmFV18JufsZor0SFooJ338fCzLEwJp2vxI03LP64teJU8X7gi7H8I/7N3SUv1ioo0vaYnczfFRCTVvs7MU6LNSCfiFpimlHd16pPyNYVVuwvY9lCpR1FhsnT+Hy5SsAz/3f/PIWHjx4wMcjI3WwaatIt1nscIfjjQqboYu68PfudDogwwUrKiFJjCNZ96FbGzwl+9cqXKNF0Yw+lTwACmFdycXiO4JWHcpvbRBfQy9Z6dgDi53lcFzhuUi7z/3CN71uKWDUy959p2oZ7KlozILBNRBqH15SSlieaVQsMFIURdzsQx0Q1nTwgkyPxbOVQ922pJTvPWazYywtjZBlQFNxvzfO3FFknExmODqaoCh0nIX1ICSaEk1Com3rIDNaU9ZZFGVJHRamYUGSOKKAQ+sNX2uLlo9nf38fZ86cgtIaxnoY7zFaXoIMSt3OwzQ0byuUhBIE2DlP6qnepUJbrITPipez+QyXLl3E/t4epCJwuUaNvb09tPMGg+EAs9mMi1YRO1/WWhxPjgksalq0HtBSYVZVqOttqKLA+sYJSPUFMbU4IWyNIaYTPI6OjnBweAghJLQWeP6FZ/D6G2/17g3NF2tcv/4ZDg4OsTQuUZQlioxi7Dvv/AnVvEYxqKAUcGJtFW+//Q4OjyYYD8d47dXvwpk27hFEs5Y0kwZAMZsk0NAliyDNpxP86a238NpP/wpFQXNdgQWgpMe5S5fx7PPfxsd/fj+OJ4gQjyWBuIGyGufiAuCWrPW41wS2RZgBjgBn6CX1i0KRRpJePBQRKEsZSqn3KBWwiHS+eEBxvrlTQk7rUBFt+LrP/brCdvHnjILGGc5eWGSrKjok3zHvkFClffDJDuuCrmeWZfDWkbBfMYCSEndu38S/+X/tYjQaQShgbf0EysEIVV3TqJZEtH5Mj1Lw3KCIu0mwdOKuNd8j5z1ufHkTt77chpUFkGnWQrERnI6VMhQ8BJYsxZDtvQPMKi5onINHg8nhDqrZBIPhGF5KWNtCC2A+n0fxOOcEUV85djprASkwm88i6BqA1/T6UMcsg2ZbFikliqIgEUStURYDSKVQFgJZxnunbzFaXsKgzCGEhlQZiqJElmuMx0v43ne/i3f+9C6OJxOifz64j9t3bpFieNhLwj4oJAvN1RAQGA6GMK2JndWd7V18+sYf8cJLL0LqgkFdhStXnsCFSxfw/nt/wh/feguHB4ckasQFrvOeYltdR7G70FVVUIntITMNHIE4vBvx9hOeGcTZ6nDdCCRloEBQDih5/UveO30yatQVrYB1hoT2ROIPvZgLCOpowgWR1LAfhmPrnAoC4CVCbWBt3P9D5zgcs2BQLOQkzjnoIG4FjyzPUDqPYVni1OYmLl26iDt3buPO3Xu4//ABNjbXceHSBZw7dRoaJQ4OD3Bi9TS0uIG6nkBqoqZLKZFnOV9TD+c7NhDVCGG8g8W7pOs9u1mmu0aOlMhyDbQG3oMs5pyLzha1qSFlhpWRR6ZzjAYD5DpHXhY8XiegixJ1U6Opa3zT1zcubI0wQE4S2Uop6DKHygqYuoFxHsYZSKWQFTmUV8igSQXLSaYeGap9AuIDAbAVSutaqs5bz8qwFDQCelDIEh4ClgtEKSS0FHAqhxxKzKsZrGkhpILOC6Yw0OJUQkNLDa1yVC1Rc60jyxRrDHHsvUAuMqwureHUximsraxiaekEBBdMzjhYQ93Q1lBnr2lbmvc1c8yrKQ4mh6ibCoAjQ2pGbNu6hXMWWWjtK5o9gPNQXhGKmOuYcNdN23GLjMOFM+dx5tQ5DIsRWfZ4y1STDNaSUmbTWiit0HKBDQCj0QjDMXns9h88VqeTIqEUdkkxSfTzg+VpJthFj8eQiDr2H05RMHAXjIutsIUIUtxD2OslIk0MSa2JWCQx7TL4anacpTj7K7kwEYFaK5P5Xk5AwyYN39ESFVNMI+jNNAhjLCtAS6ZAeOR5iR+99mN869lnYZ2AcSBvYplBKoUvvvgC//RP/4DZ9AhSOmgloXn2PHyDS665YOsZxIKN/yVJIvpd5ccXGYtdxO6DQiETPP48pOuE0ALoEAvdhY5j/0sQARyR2Ld03bfEAzAWbMmhALFQoTlITvyYjueZNiYcCzMEmnmsmXxcEwjNtNDhEPT8dCuD5Oetpf9BkE7qi9/+CxTFAM4Q8vjBex/S7KYkirtCtyGFLu1iNyL92WOveYgz0XKmf1+DcrzgGbCUlRAy3xQ8ApB0Rh/3fQvf/ZjiMh4/b/TdOQu2EesoiQu3PB646CXaHaWwDzY9+t1dEc2ezY59F0RKHQumUQkQg4662ToL6x0pifO8vkyoi5nOaG0jrNMO3ImJi0zuo+w8SFVGSdjGaAWQCmsry5hXBwy+ciecQaG9gwk+u3ET6yeWUM1myJTCmbOnWc3UQqscs7rCtJpinI0hlMb9ew9wYnUJYoXO/97tuzi5uYlBXrBoBs2xOWOhswyj8RiXLl/GwcEBlooC0/mc7HOUpPk5JVFXNVEzrYFpWjjvYWbUdc7yEnmRYzqrkBcZIICVlWWiLx8dQQOYT47hjUVrbLxWezv70DKj+SfjMSxHMJ73LBCQ4B17QXsqSIxt4Z3DdDrDwy/v4v7WDjIEOqzhOXcRGTytc9ja2sLSuMT5c2dw7uwpKEmlQNAUCMDfna++Ii9jL+AtUM0rPNjaxvbODlZXRsiExXipRKYcprMaQgm8++77+NZT17B+YgTvLdn/eVCR5Dw5COgOGpPRe5eOb+vuHXz28ad47i9eZuEa9k8mLALfeeWH2Nl+iAf370SqJJIkk5Zf0KXoOkip8m6H3HWgVmCodKoLoe4kQCAyWnw/BkXxpwCGsud46DKip0eQMoWSjmnyseEdgrj8fWGqrwM+WQU9PHwhphNjoBt1CYCc51GzoNTswhdJycyZAFK77vN4/0foTGqJXArMqwp5RnPg9fEOJse7gAB2dx/CtAblIMd8Po92Tl1BkMxEBksmWEymx9jd3cV8PutEnISAsQ5b9+/AWAFriZVn470KhT3FsMDQaXwA00RCQTUxwWnbGdrDClJmKMshnCL6sWWGWacHQDfJOst2iuFzJbTKieWY7pPwgZ5GqsKSRnRU6HpBYHl5BUtLY0yOjzAsS8yOJzz/q7C9swehFNFhhYQUOf4f/7f/FW3LhYxrYdsaxtZRSRgswiRAlPFMZ/DSocgz2LbFbDbB8mAAAJjPp/j3//QrXP/0On78k9dw6fJlSFWQwrxWeOk7r+Cpp5/HG2+8jg8/eB/VbBbHVAJQ662D9TySI7tnrlMJD9ehezbgQbZ1wU4SXdeVOq+S2u1cIwQ6fqD7CZBCtTWBNhzEFqlzLngu1/B9J/2FbqwyAkd8vH31DU/ey75TwpTsAeQ5xjgX5okRAbHgUh1Ci492WpLjn4NrDcpM02iWkLhw8TxOn93E5Z0ruH79M9zf2sLRwQEebDzA+XPncerMOTgobG6cQn2ngrE12ak5jRYG1hvIjJ5BAsroWNrWxFzZWp7rYRq4Yu95AmKY1iAdsoxZVc5Da3rPdDZBUZQQooJzLYqiRNWW0FKhyAcoyxJS0PnoTEGpwWPj0uNe37iwbUxLD6ISyMsciqnD1hOdom5r6EzDOgVIAZ3lxP9nEfPG9HnxRDsjoQuveFDbOwgnoqqW98GHVEcKi+dOrjWGWvc5oWCtaeGsQ1PXyLmjJgR50LXOwTZU7YeHQWtNAiVeoNAFTm+ewsmNU1hbWYfWGdrW8mA3oQ6ttZjNK0yrClVVoWpqTKZHmMwPYV2LxrTET1cioufBo0vrjJMumkPWWsMbBxha3Eppnu9s4VkKO8sybJzYxPnzF5CpMlKPqTCmOY75rOJZYPL9bS3NEI9GI5SDATwA4yiJF2GuJEaDLhF+JCkO4g7WwctO5S28zzkX7SyIdsufwwho2CRkHPpHLDZFTHR9t4ExaNtt3PwY+26DSrtXaSdShN8PMjVBfBeJMh66zl5Yg2F/MMYy8kgK1NZ5ZFmOH/7wh3jxhRfpuBmRlVJC5xnu3rmDf/yHX2F/fw+AhVYCWgv212OUsNfdCoV2R8MNxaBPxKLwz6Lij1JLY3csJCMJ8gf+XKL2GwglopJw160WUU7/62i2QnSiYv2ir9/x7xU3vY233/4NtPDIGYy1f5cI+kS+P/5z6Hj0+sjd+iV7MPJhXVldxTPPPgsa0RC4d+8+bt68RXPlznAC5mEtMSsWC7P074t/7gMDTLdCUMxk6RYWkwhAj2RhrxB/OgudxQSyjxI/jukQZqM9b4hktP7ougjNfp/che7YF9kQyfsXkvfF1+Ny3h4tMaocd9cn3DKHMGdIm31QX4wiZiAKF52T6j4fXeEaOxeBfsnrLWg8hH/3wveeQKHIqkcKz0qf1NVULGJnREjSGViREifPnMLKKMO81OQv2VS4e+8eWmOR5SvwnhLkpZVlkOqLhM4yNC0pPp46dQrwHivLyyym56Ak0DaCXQE8Hj7cRtM2kPMZ8izDfFbB2hbzOVlxmLYlMEgQMl8WOQHImUZd1zRzbC1yZKRQ6R2KIke2ukqUMK1htEbVmjhf27J2RdATqKoK82aOwWCALMswHI3gWtBsrwgceoeiKKDzHOfPZVhbG2NaNdg/PMIXN7YILObZ9mBftb39EG0zwtPXrsG0bX9N8RqM1kn8okRS4L33PsCPXn0VJ1aXoRkM/vOHn2D38B4Aiaqu8fvXX8e/+le/gDMCtuU4DgcvJelAWAHhNY//uBhrg5fkh3/+ACubm7hw4QKNaljuRliLPCvw6k/+Cn//v/5r1PWcE+0uPpBPdkeZ7x7BruOaxo4YMxJFeB8BY37egoIxA2EiBRDTWIkufP5zYkhdMAlHRv8frLUCCyMWucmxhhcxZHz8HBEsdnrf+TW+rjxKIHwYKQJbxxBVWkp28hVdLIzdqlAoC9qnsiJD3dSYNxXnU3RNmoaK2fHSOmazCaESvYNIADjX3Y/l5SUsLy+xMI+NLKDWGLTW47PP7+J4ZuCshBWK96ZQJDMHj4H3UPRZQzOHYOZH/+UYtKRrkRcF/GQS7c3QA0zSqE13xjgGbWAXQFQGSti6yzoHy1aZQgDnVy/g6hNXMZkcoK1qyI11VPM5lNbYO9xnOraMYExYI8QWMSxi5GMzwfnAyRPIVUY0cUmCpsvLY2SZjnRayvFa3Lz5Ge5v3cW3nn0er776CjZPnQxdBQyHK3jtxz/B1Seu4e233sStmzfZ/QQMWNK+YHmsULOuSZIZUF6pkrSjezji7Hi3toJat4zWnuGpRWi8cNdWcu4f8jTP4qKhARSaBXBkLRSsrOKelDwXzpGAK2+3UD4Ig3Z6GXFkjkVfw/dYR1R1pM9nh4OQujE/L845tI70gZSmjvqJEyt4+eW/wMHhPnZ2dvDJJ5/j/tYWNjZP4uy58zh76hw2Tmzg7oMv8XB7C01DtYwXDrnIkWUlHCwsSOw2qNx71sKQ3GWXWkdBuPjohXpPSpSqhHOk0l9VFcpBHlmE1jU4nlWYuQx5lmNQtqRZZGkGO5cZtP6v4GMrpSS7Hy5kZnUFIQWGZQnjiGZVNS0aU0FKhaUxURy0JzpTBg1jWjhFiiJt2yDXGWbNHEKSP5IWrFimJLI8B6xAWzd8kxSEpFmWpg3oMi2uIh/AQ5CdjgMa46G1Z5VmQ8HAoScQonVG3oNa4crFy3jiypPIswKmJdqJ5UF+4xxaU+F4PkfTtqjaOfYO9zGZHmM6O4YXBlmuYL2F9QamoSDZmpZUw6QGVE7KzI5lzD0Zkcuc5LabpomzLUJQt/XM6TNYXzsNLRSqqoH3gBIK3npUdY26Jj9arTPm35NyZ8kiAPEhgkfjfTS5FoG26HzcfBc7MCEIeO/hjeei1EU1wKjECETZfO/DDDQNy4sgFgIajndBYRZdkAilqgu+g6zkKKyIiLQMiJVUcaYWia9eCHxpkYUeVt2LeB0tFoCxJlqlhPPTSuHll1/Gyy+/DAiyJ3Bs65DlCvt7u/j1v//32H64Rcp2ntT8JCfFUezAIdmYEOeIumsSZqm6OPx1HbrH/1xEz0YqYE1MVkLX3bMIhlCih3RSguE5qadPUwvFVAAV3II1T1rQ+l5i43tBNyZmrntjXGMs5kJzwBaxgUkQZ+wEwyMqeT6u6Ax/t9Y9YmP0/rsfwFmgripsbd2BqWvybPbEegBTL8fjUSzwFj8j/Q6fIOHpRhmoUOAudf9Oua77krSgH/esBcZGfwQAXeEZFz/fR7av8kJ23RnuaHsfFB0pCZUCnder9REVT9dneCaF6GaqZOgUxU5Pt+EvdojSJUqezF2XOu7mqUgMo+Pw9HkyjLFkYYMOn8yz8yzUp7OMroIUyJSOVDM4pmHyKEIQzaP7Q3tFnpfI8xJSKRRFiRNra7h7b7e7H1FwiPYnJXPofICh9OTvJwQuXTqPB9u7aFuKO9PpFGHGylgLlWk01kLrDPO6wvLSEsbLS6iqCrZtItPFOY+2Jp91ay0sANsaeGOQBQaBo1knOEe+lPBoGwMpHJzxsNbj+PCY54JbLC0twRpiIOgix7yusXewT8lfFCUCeWsLBaXIYsVWc2S6xGi0jNl0ApMRPRJCQ2pPM4GuU5jVmcbS8jKWVxVOrK1hf3+G3aMZfONITJIBqqZtMJ0Rsr+zu0vJEjzW19dImIYpw86ZGJ9G4xGmE4uvbt3CtWtXoJRGUWhkRY7j+YznvijGfvrpdVx78iqefvoSvGhhWVkriMjAAdIbmqnnhBbMVpIA6vYYb7z+n7Cy+t9jPBpyR5GYXJmUWD+5idf+6uf49a/+HbOMOjsdoNOCSBO5UID2hYf6zzSNXMmue+oYsAuLXva7NfFTgj1I8tnxcwVb6/j0mU4r4RAlAqCYqrSnXdIuuQ+v2IEFW+dxnOvFSd+PVZ4ZQ+G7QzzvCCok/GVDV5cLiBhlolgkz71LWqvz+YyAHBZiCyMJe3u7yPIMqyurePhwm23uPMX8eKwdiyh6cCtA8ewmzfEpPHntClZWTuCTT7/A/QcHgFNw3NUMtmh0CVmgidexD3OVMgecAdAsFKgKxtIspWfQOS2CYxxnkDR220NXWwjAq+Q9iF1i5wUJW0aWG4EKB0eHeLizg729Xew8eIBMEK15aWmM1li0pkX/1RXMAjRhNhqWOLFGlnlb27tomWpsnIT0GsIptEbAGODwcIaLZ88hyzQaR768Qng09QTvv/sWbn91Ez949TU8/8Jz0IpGKiAynD9/CadOncadm1/ijTf+gK1795MEo3NoqOoWitWT6dkjVXfJowg6dE+BCDDFGfLeWk2AzHiVffSqE1BQMugGhX1MEOMzNlbICkdyRxWJjR06x+SYx9gkT/LJtfb8PMowsytFVCr2nnJhoQOTI8wjg9dwBwQFoFgpAiZMa7kjTDO4m+vrOLmxjpObp3H9+hfYevAQezt7uL9+AhcvXcTZs5ewvrmJe/fuYXd3l7SLNNDOWjhJpW1dtVRzFRpKcT7NDC3Ds+JCIeb8oeEULUBByGfGuhK5JpeDPMtR1RUgLNp2SnPtLBQpBJApjTwr8U1f37xj2zRo2xaFLkhUwllM5zNYY5FlGgMxhFQNfN1iejyDafaxvLKM5eGQTOC9QNtaAIq8mayJj3sW5h8UVfYqoGBOQGkNrXMSUdKejZy7JCmg/XleQDpqjQso4uk3TVxIWmUQiq1FrINoPcb5ACvrqzhz6hwyRT6Dzhme1SL0q2nJ0Llp59g92MdkeoiDo0PUbQOhJIxv4TQZ3CupICwVU84a8hUU5B2rE/EXa+gBtM6xRxUlLGVZ4PTp0zh//jKWxitoKoOmcbTxWY+6qVHVNZTWVLwms6N5nqMcDuLiDs+NT5BfMCWLHhgXN+bHdW17xVToBoa5BUG023RTl1JDynA8NM8cHIUEglQ+IsXCA/BscB1QLhHmZFlYx6NTgwuBCoFyCN/zOZZJERKOmTYx2RUeAcRmpe3O/xOMQil8+y/+Aq+++irNalkLL1QURTk6nOCX/+7f4datmyzGJJBlKrJkHwUIAhr3OOAAMUGh4+x3bZFsa497LRa7hOzZiD5LSZtGpw4tI3jgAl2zO8welcxzQBJBTTdRdPY9tLh/HI8WZP/8K4hlEarfX3vxXiV0XZfOK4cuuCcl5uDvCQCHBwd4483XoVWG+fEsdgOcs531SFzvMt6j8NmRTiQC6uy+9hgCkBCSlJiMLnQ9ezlmyEVF2pHpmAnds9ixC5AkoV1Rye8Tj/mSCEB04kshHyLk/VEku5ekc+KuEpDB81c4Bsi6+93v2PQ9dRM0PFnXcaxACkpG2JOxu0YydklSanFRFJx8RynoPqAj0Dvf4POslIY15M0qhUQ5KLF5chP+w8+7exSTSAFjDO7cuQuBk1g/MUKmFExrMBwWePLaOh48OMDx8QMcHhxQ10Uw3C8lJscTFPkaTp48RffPWWxtbQFMMWRb7y5e+LCOSKhqNBzShg4ZL7rONIvJUOdRKwLTSBFfQGsCcarGYsmRdoXWJayla5UpoK5r8sPVCs504jVCSGINGY9qbmHtHKYl8DXLNISwkIqstOBDrDGoZjW0znH27BkczW6iNZ6ep2j1JdE0Fvfub6F2pKqa6wzPP/ccfve730X2SpiR9twh+eijj+N88fXrn+Hl73wbx8dTfPrp5xiMVgFOYq9evozt7T0MBjnOnzsNz500RqmYgk4Kq1p0ySkcKfMKCBzv7eO9t/+IV370Yyip4WzDyrgO8BaXnngSz337AT54521iS4nE5zt4CvM8dEg2uZWTjG70i8AgABjjGwO7kY2xOA7Re9offcXnl33Lw4PRAwNFh32laszxk9nJwFkfn8s+wNc9n7K3L8RqNEJe4Zo4LviEjgcagYUuIIE7hCkIKFifRXTC5Y4OOM9zmom2JsYWBwcpaH3v7u3BeQcVrEsiptgJbIVC0Vo+N8kFjuA5Ty+wubGK8fAZ3PzyDr748i5mVQUjMkihO70UZp5EkUz+f12O4J2CNyRs+sh5KomqqjoUJL0Pj2+984/T0bHkfYTecR6RIIIAth9uY//ggJ4xY6A4Fzs4OuKRtIyLOZfEP4Ivx8MRNjdW8OSTT+KJJ55A0zT43/7u77H1cJvOxXvUTQsBEteaTiYoywLFS89TLA4MiFBoe4/dnfv4h1/+G3zyyYf43ndfwRPXLpEasLNQqsCVq9dw7tw5vP/ee/jjm29iNp9TgRgYEhybLce+YOdDwKIjm1B0Purh3kdYPgDEEQeWyeUNM68iua7dPq2kIuo15w+WBboiiyjS+UX/oRUgmzmJ6JnrmbVAoAQiQNuxJ1IGHb9fyt5zK5WEd7J3jOGZj4zXmM91ucX6iRP4/vfXcHh4iDt37uDLm7ew9eAuTp46ifMXzuPs6Su4fOlp7O7cwfaDLVTzCiqXgALauoWWEuCaRyqJ1rJjCnksRhA6AKmWm26BdWVdmFeXyTNNQLTONIwwaNqGwOU8Y+umppcf/Ode/0Ud29XVVVL2Eqxs7C2m9RQlSmQiR65LaFEglxmsM9Ec2Ltgv6Kjt5T0ArY1yDJqLzvnUDctrCIPyaaekwqm0px0OrKocEHS27OMPyV6QgoyH0YQs3BoDXntaqVQiIwTBYnBcIDN9VNYWzuBE6urJEjSAlXToHUeTevRmDb65c6qGbb372Eyn2DeHKO1BvO2hfSEnJhGIssKmj3gh2g0GACeJNyLPIfygoKzoQF0Ky2U0GibFnlWYDRYwrkz53DhwkVIoTE/msM5UpUWEKibGUzdEqdea7TOoa3pZussw3BQxqLW+y5B8zZRWuUs2TlWOGZEiN5rH9ONSmWvHt9t6kSfXJLcJjO0TOugxI1pzJazZM1Bx/dVXyGZJpsEmdD0oaI2BIxkhimoTsekIhRHPlotQRIq29YtiUCpvrH2iy++iB/+8MfQOid5cy6sM51hPm/w61//Bp9//jm8s5DCI8+zJGh31ySImJBxuE9EOXwsdsO1DF01AZr3VVJ2m3FMRBbQeX4FNWvPHeXOWNv2uo+kmEuFBNFjCCX3wSjcd+E0FE6ddzAfRyKb/7gOcpxvXKDdPe5Fl0FSZ94H71MkgdsnCtHcyYvCDzIm/ALUJSPkMijwUndrWGoSzZGKjzvghRRM502FrBz0OqExgUsKWZ+oLDoXCjj5SOG+2FHmq5KedXL+HbXeJ12fxecPLNpG+5/krlt4RNi3mJNjGSmQzHTg7/SOkGIR1Q0RO7qAj17UwesxUKACN9l6h25iHvFa0VhFl8j2r4Hle8mqtEknXwjSuVa8jnQyS6+i8Azb70DD8ziId9SByHTGKDTFegjBNNNkvQXQSIC9cR1829KeoiTyXKOu5lhZHmIwVJg2ADyBoTbQepTGw909tNUM7sIprCwt4eHONoQUWF/fxHBQQHiP6WQGa0i5NMvIL116gTzLyS/dWkAqEpJyFkoJ1A0VD23T8Fexn6DUaL3HzDQwxiJTGURGXotKKwCSlJzZSsGzqqbUGRprSLRRCjRV3Vmc8QyUFyp+prdhRpBmrp21dDx1jUGRk51d6yC1hyUZUmRZhqqpIaGgtISxAm3VYG+6j6ODCUZljtmsohGjmB4rWAt8de8Bpk0LazzOnz2Dc2dOQQkPwzqh1pMooRMKWw938OVXd8nHUkhsbm5ACIn33/8zjidzZGoMpQWKPENelvjgzx/j5q2v8H/8X/5nKO3hbcOJnOV15JjppXi2LglCggYcb3x2HevrG3j2hZdo3trNiVVjqaP3wsvfxVdf3cLezkMoJfmZFNAMNBkfitpOlRlI5vl6wS+IxgFeUPEspIKE5FlvF4X0SBG968CROR+61DcFxmI9Y7nLFPlQSWGUFtuuY9fwHGws+7xMNBYEqyUnHcLQWUrAOSAdraC8TGYB4OO9SIQCmMSayJ2uK8SD4j51gTxTpvlcQ1HNALQzLTEImX1ABRQpspZFiTIrsb+3Dy+5APC+r6ZL6iaU3YS5/zi+6qAFMBrkeObpyzhz+gQ+/Ohj3H8wgfcjWI67VnIx7gIoQONrWa7hbEHdXSFobtFHNQESLWw6Rt3XQxbp3mEXCluZ/F323xr/IOGtQTs3AdGnFcIgXIQ8KflIfpmoya3xcD6H8TnmjcR4vI7R0hrwcDsehlRMTVUSWioMRiUGg0F3T2Ox6KLtTV21+PzT93H/zg1869kX8L0fvIrNzU3eCyV0KfHdH7yCq09cxbvvvovrn36KyfEkKYYov28aE8dTlBLQiudNI8QQnBYoB3UBSKJoE3OI8FAIdPlHyIW8Y1c4KeEsaQlIraFZMwEAnPG8J0n+FMbWErAc8JBCcYOr26scPI0seWImhfc7yF5DxDv26GW810VFZir4JYezPAu5Ce3tjnNhG4IyXw2tBFZXljBeehJXLl/EV1/dwr379/Dnd9/HaLyC8xcu4NyFszhz+jwePLyLnd1tVE0NYQiYUlbBtzRu5Zh14JTkbr6PdmRAUL/38ExlDrHKtg6NYXBASH4+HISWcKam0U7TQjpJy/NrGI2Pe33jwnYwHJIPH88oIXTJuONGGyR1WbMsQy5p1qiqawyyMorEeAB5ljECQcG5bVtG3XRMeuezOfK8gCjowRsMBvBscSB4TtVabrVDkIl98D60tBiUUtBCQqsMRV6S8X02wMb6JjY3TpFqHATaxsEZ6s7OqwZeUKfYw2FaH+BwdoS9oz3MqikaWxPCKgIC4rgTLZGVJfKMfP8EK6+10jGF2NIN5Zuc5QrWWDjjMRiPcPnCZZw4sQ54YDabwTmPpfEKrPWYzaa0SSpCn+uqJo9BKTEcjZAVeZfELATJQF0KQdQ6x4VMipqKyO/vrHFcTJzAyFbAKRcTcSFCwerYw7U/gxg2rbCgA73YofPg7CX2ocucIMuPdJGjnVCXcItIZ+JBftqlOcQDsNTFV1pDJyCAcw5PPvkkXnnlVeR53s0BSYVMa7StwW9/+1t89NFHvIGm1if9rhfRZhSrHdIJh003klPiXEdHu3XeI0u8nBPF+e5nSbdbdlKYSfHbdb7TzmJkClgbyLGdYI8K88xUIIeKjYDMxWKtj/Qvxpl+V2JBBTrtrqVqvwk4ISKjwPWKpYBhEO1a9mZoHFttdJfJQ0mN4+NjPj4XxVW8J2AD3pP9QlkkwIzi80sLUMc0vTAfpbgw7FOWH/+KbXxe1/3394vnvuJyetNDIeqdi+I36b+lRSP/mD6bqbPdz0AzhzFZ9MmaCkBE0ulEt0aBBPyIQED/fCL9UBLIGM6j34EncYlAnpYiKHq7WEiH2BOukTGWim1eGyT05WOSIxJbla5TSMl4oCOT3RtpF4hI5wQyrTAej3G8O3kM2wJo2hYra2dw5uxZeNPg3LkzqOoKB4d7qOYVhCDKMln2jGjdTSYYDwfRkuP+/fvIM42maaGiwBUBBiocCz+vrTHwEqxAKtF6g8FggLqpAWuQa/JzpedWobEtBkUWWUWZlGgsCYgcHx/z+FANYyyWVsZRVby1Fk3Dc+AJuBy0LfIMyBR1EVvTMKBA3psSEkIJWOFwYn0NSytjrJ1Yx87BEXYP9mEt0dJoP6eksqobHBxMkOc5XnjhBaLhJuLppDtFehgfffwJzSjz+qmqBgeHx/j88y8hBFBVMywtraAoMuzt7aKuGxxNJvjow+t4+eUXUbc1g5nJ+IIjH2VIQDKVMwi1AB4wLf783rs4eeoMNk5uRtocOSt4lIMCr/3Vz/D3/+9/TZ6/oqP+OWchHeAiuyiwlh5VNecHgmdrOxsamiVNWSqIAlGSu5uiN4MX9p2F4jbGreRZ7kLA46MUd1pF8Ed23bMcGTWxKyt6IO4ioBWH/pJ4HsPF1+WkMYZJiKA3ExhFLohR8h4ewDIhIFm3xJjEaomPpa4r1NMKqysrqEyD6WyWXB8f99dwyCGGUhzlwoPtorwSOHFiGS9/50Xcf7iLz7+4j6PDmu1hiOKejtpIQYU0oGi+Gx7OC3hrenHVWhNtnR5/d9KfL75n8c+L87zhlYhacT5GeEXKqPGP+Qwqupumwd17W9g9OMLNW3fw1FNPQaluzlEIgSzPIvNNCgLABuWgN94d1ndcF7wo5vMp3nv3T/jixk289NJL+M53voPR0ggWDsa0WFtfx1//7Od47oUX8cYbv8enn34CawmkD80az/oa1oqoVg9WQhcQUELF0TuhJBe36dl3tP9UNFHw8TrHitkcT5z3cKbtsZLCubpgf8l+rGkHNYDDQrJVYhgVQ2gyBLp+WJ+u872OUFHCVA3/EJppXQ9igbmVAlDg58pRbFGB4pvhueeexRPXLuP2V3fx2ee38f777+Orr9Zw+vQpnDq9gaeuncXe/jbuujuo51O0TQtvmWkCD6mJlm0ZGBecj9P4peJxMQMldbxgPY0NKQgYsvTnLM+RF3lk44GdAL7p6xsXtp4tE5SgrpLhxRoGxRUUqsbAOxHnSY1xqGwLJTVUrpjx4CBUzl06QQioollY46jw0oouUGMaqEzBOEOD+VLABoVd9nVSTAHWztGsLfPpm7qmZ8kLKChomWF5vIrTp85iPFpBXTeYNNOuEGN13JbVIedVjaP5BFs79zCZTVC1FbxwGBQZU4gbOAu0TUtiHsqjqWq01qEsCqbzZDwPZWFaB289zdxKCXjqxF48fwEXzl3E8tIK6nlDiIdXtBk7mgM8Pp51A/kcg7TSGI2pqI1xK+CNrgtUsVELgm/cQlGU7EI9wYv4ClYlMhW+WPivIJ69ZM3L0Ll1jJyHgLFYbHUD8TRrZ63rJQORstETllhYl8nPovy6SxBo3lStc1TUqlTBkQCZy5cv42c/+xkGwwH7i1Fw0kqjqVu8/vrrePedP6FtGnhnUOQZVPQYW+yihgQ9HHuKaofZjI66knqPdjSgfjIQAL6ooMzrnwqIcG19FADqkq5HAwHFfRmLR5pFEh01OhZPSfEWuqhBHCbxWu2KnDRWuCgg1Mllde8JolUCab7DSH2SUAkWHejAgK677TikGtsQvYvVrB0ElpbHmE8nkdUR5kW99zDRr1gyvalfLDqejU4L2tA9DargaRHUB3lS8EUwVa1LMhdzu8cVU30a4gJl0XfviUyG0HmPibSM9yUAPyKCQC7eA89Jlgp01wStFyJYOqSibQGJDowd0YsBPerkAhgVlE9FMN1NEi3vA9CFOK5A3o58bYIkOwNUQV0+Us18p7LrQvc/3cwTAElK8seUUmI0GmF3dw9LS0u4v3MIIXRE3uI95e79aGkZbT1F5i3KcYmNk5sQQuK9dz9GZVrMZscYj4dQSmI6O4ZpG5RlifF40M1hSe62mhqSk0ORE73Zm5ap0uQsICGiJ3fbTqBzid39Q5w7ew6NoRm9Mi/hmxbGOO5mCIzHQ1hvoLSOwMnS0hhHkwkGZYmGbYOMMcjmNWzdovUeo+Eg2nm0bUOxTysYZ5FpFVduMSjCUoBraW1rJVGWOcbDAQhzJ5aUST2SvcBsOsfZ05extr7CjCHWNEhUUNuqxdbWA7igkysVqmaG9z74AJevXMFL3/kOBDzyXOHg4AB3tw5ovk5r/P4Pr+PaU0+gUBLWt8gKmsML8SgkUC7ESFDySeObHrP5Md5+8w/46c//BXKtYVuynXIcZ0+dOY1XfvxT/PpXfw8tNUSk1gEKxMaygf3AowmLtmAR7JMUE1wA3BzvryJAsI8yNwKbhFhAjzoS0DaSxOI415rG8wQ09gusE8Eu4mqRIp+8pVdQPUqZ7neFQ9xLKhzOMYL8hEDwSncMtMq453eAYD8+OqYsCykglIIWQNuQrksAvajjKzCvZzBsh5UWKIiN6lRhWEIpAS9cZFiFA1dKYDgc4fLFEqc3N3D33jbu3LmPo0mNedVCgxs98MgYILBek92jEHBWESjJM+beE1gX78nXvnwya2sW/s0uvO+fe/mF//YbAl0H2Cf/Yw8S6zGbT3F/6y4Oj/Yxn8/i/afuOSnwO09uI5nSKAdl76tT0KV3L52D9zUm+w/x29/8I65/8iFe+eGPcO3JJ6E1zVBb63Dq9Hn8q7/9H/DExx/izdf/gN0HDylUyxTIN6hrgywrWPAssPVMLAqlD08XvUipvnsFYCnkbWBRM2ILIfKgXLQWo9wp41Eabw1ZnnmAZey6fd8LYl9Kzl5c0jjiuXUpXFwRLm0yiERx2QZV7nARLYM6Ip5D+O/iNRd8glIpeu58MhYoBAblENeuPYGz5y7izp27+PTTL3D9k+u4ffsOTp7cxIWLZ/DMt57HweEOdnbvY16RuBOJZWo4J2EsRe8WnUK6lB4Qlj3SJWxrIdgyKWjneLCVEmiEQUpao84JAuQlWyh9w9c397EFibToXPcCtTGG6E2h2xcWhhTQSpNFjiN5byscnKDkEgC0F8ikxrAco2lq1K3hYWEBzShyUzfIFHvdthZ1TbORgm0/lJKkwMxzP1QAKpR5AWNbzI/nUHmGIh9gNFzC3t4BDvaPqYhtDPJ8gI2NTTRtjda0aE2NqqpwODnCweQQk3ofxhl44TEcDZEx9aKYVSQV74FcKmiqnuCNQ+MqOg6XEcLoFRQ8LOjhhxcosxHOnD6H06fPINM56qplHy1adNYa7OxscxeUztdaw1Y0OYqyQFZknVQ5Z3rdRpp6rnVVRecCiyTJ9TzTmjwQvpvf9SC1Uo+k0O1140JBFFCoboYhfW84tlRVDSzq4RKf1ZBMt21LybWSsSuZdnYj2sMFJf0+PfSZUAndOnxW4Pg7LhY9zp09h5/+9KcYjUacDGoKg1wAv/PO23jjjTdQ1zW8J9nyLNOAMz3kOqz/eDnQ76Ji4VoI0c07d9cRiLtuAt+HGlL03hc2DJaijx31DnQgRKxfaHgvuFOWqkwnT3m0o0HvswSjnt0xJ0H3kbmwDuGPH+0DoELFarBr4SsUi2Ah+l1TgcdsjIIS4fm87ZfG3iMvCtYDIEQ8Tq0IAiyc95jN51gasWgUWJQMHaVZ9OZcFxDPBX/n9PtD8vnYRCPcRL/44753LRafrYX1k96TRz4+2hJ0sziPK57D+0Xy2WlXvgNkqDviXWB9+O53E8/nxeMKHxXVtpkRkuDMTFUWvf+FS+q50xpmSC3P6kFQkqq07pGj01cE51xincLHkmU5iqKAMaSM7bxHUeQdOJfcuxCfpNJQOkdTzyMttG0NlsbL2NjcwO17O5hMJjh16jSsM/CQWFpaxuR4gvUTKxgOh3DGwDpLhacVyPMMVV1Tkc2tMiEEoDX5KxK1gNhHcFCskr+7twcJiel0zuqtLaQUKIoS8B5NUwPCo64q8tF0HnvTObz3mBxM6UI4Gs3xjjodUqn4zNC8rub7LeFbh5XVVUwmx/F+O/b0VEqiUAp13cJ7izzLUOY5hPGwlhXxpYqz79Y5nDx5EkdHxySOxfHs5OYm7t6/x/E7sI7opXWOzZOn8Pobb+Db334BV69eiTTCkyc3cePmb9lL0WBv7xBvvfkn/PTHP0Bbt+insN36Dp2cXmLPAMq9O3fw3p/ewXdfeQVaArZpic5nLKQWePJbz+LW55/jy88/hwIgNcUtxawXFxkPPokFwSc5NicXGm4+0pXdgh81ApshjqzQz4mtxvoJSDthXdwK1NckFHf7fVrUJf8ei834ptDRSmIcAi6VxmixEAmTz0jATZF+gUjeGTqZPCKVfpeIB9ddr/DZgYGgdRDY9NC5ih1o07ZonceZs2dxfHyMw6PD3jEuMmYEs62E9LFxEn6utIL0AplWeOrJK7h08RzmVYOjoyOcy4kJMiwFVkZA1Qi0rYCxGYwV5CzhKPd13hKl1bT/TKcVPVvCr293///y6u8xj9+3GCC1FqZtMZ/NWN1cxvyBxp4QwZfBYMBAQifIGPO8JH/r4r2jgQSv8GDrPv7d3/09rjxxHT/84Q9xcnMTWUaxw3uF55//Dq5deRKv/+63eO/dd1Ez+CTYYk7wrHvIIYPAlAvsICCOIIgFYNb7rqEQ92TWjgnuKPDB/71rinjvYduW8n2mLFtLlnWOxc2oISVgjSfbosRjOor6IdjjgfVvHKssBxE12tNVGD9Lnh/H9kPBTSI0HSLYy+foFpge6fifZcFGrRWWl0s8862ncfHiBdy6+RU+++JLfPbpp7h18ybOnT+HS5cv41tPn8F0tofthw+wu7sNbwiYU56slJy1UFoDlpoPWa6hoOISs8z6DQwtwaKTjscUjAlevYj7zj/PkOu/vnFh6yx7aEkyenfOs+dfQNktzR0IQ7L7nihpg8EAHhbGtay06lA3NUu2K1az1NELMtMCGh4yK7hFLSGch7EGrSdbIeMsGVJ7clmA4G6uaaBUQT6BSmOgh5ClRpEPsL5+CkujMeAFWSrUU/jGYDI7gjUeR9MjpjK3aNo5WmdwXB+hdW3sPBpH51vqEkvjMbRUsDkVhEpnmM9mkKw4Cwc03saOnueFq5XG6uoKLl26ghMnNmGsRTWr4sM1m9UwtrNYoZtrYvcoz9m8WCkWOu2CnrUdopF2CmPR4dkGw3lY5xNVNbC0uoyzqpa94Dqj8w5BSrtU/G2R8++5MAlUYCFJ2dN7QChBEuRCxtEhKi4cKxRqngWkRa+1ZG+2rvNKkcdHmhsEzzHxHi7js+PjPGnbGEiVxYF6yce/sbGBn/78r3FicwN1SwgcJFn/CC3x6fVP8fs3fo+6mUMKsifItWZLiTCnmCQiYEGAWISyFH2wQIlUUx8qvaRgEv1NXZDiLRjVDjOvMhZCfYpYmjCJBCAInfzQaQMjxmlh8rji55Hi1kvuNKBX4IUuRKxFe0U0OJ1x3b1DRw2MiU7wMI4ASZ+Wh16CQxsEjQCQ4qlSYUaRNbjbGuA1FGazSDiKFEiV0ElhH7p0/FcWcvHJeSA8wSLpYvNRCeGTkwaEtwlTWhKLgX8vdipCTrlQwKZU9XB901ncxZcQQYhFLPxeCrYk93gx+WRACwx40XPcJVthw+wDMH0/28cxOKTs/l36gHx3BbyLubjnLt8CS8M6UraVPqpJCu7mqiwnj0IX/IE7IEawLyrS40JflGp5eRV37txBURQYDAqMxzmEN3BedrPnJC0D4YCtrW188unncNZgkGcoyxx5nsGZCXKVA85je3sXly5dgdYKgIbKCtSzOdkWeYel0QBPXruK27e+jKJscHSeLReUzjpkKoNtOSlTGaSiztxsVqEYDWFaUv33QqCq5tCa5jtWlsYoihxt20JrUsa3rYGzFm3bYjqd4Wh/gjzPoIVEbVpyD2gNslJh9+AQtrVommPkOYHUw3KAqq2hm4zp+447ui2UCki7gvPEmNAS2NhYw6kzZ/HJx5+icR7z2tKa57nUj69/hsPDI1y9fAVKZMgHEk89eQ13791lmr+A42fbCyDPCly/fh3TWQXngf3DA5xYWUael7hz5z7m8wY6H6Bu5rBNg+vXP8SLLzyN5eUBDIhq52xoHjJLyLIwknBRo56sWSlZ/fSTj3HuwgWcu3AeUgt4Y8lL0xroosCP/vpvsL+/h4PdXUrc4sgMM2as6xgWELyvBheBZEZSdCAz2HqEnptw/qKLL4Ey7UMBSaqpgQERn22frnfR/V4c5wgAWvd74IK420B4pl51T6Rgj+KuhbuYZIYMYbHY9fFcQ/6RjOF28QSUL3nRgVEi2v10mge977ShGybgoZAVJRWyc0tCotIzy8zj/tYdOOextraG4+NJFExbBC99Gsp5ZCIWPJK+h6iWHoNhjjyXGI8yXBiOACHwxBMX8Nfq+9jb28Xe3j6OJlMcHR2Sp7IoYdsSTV1jejzFjJlh6aVI4dIwruFgmfXWj//fPMUPnywW/v64V39PBGdRAjSLHmoAAuO4AGkN7x2U22xunOA4GD6AGyQLG3q4roF95FnYcT6z+OTD93H3zi28/N3v4uXvfh95XlA30HgUgyX89Oe/wLeefR6///1/ws0bX8KYFuwwGT3po85IljEzgNX3k0Slx/bzvndNhffJvhHWPn2Hig4jiPmN9y1aI8E+RXG2mHJyE6+5tP0usWdeV6Ajx5+77vpQbkOdexfGLFJmo/CP5HBxT5SIESN0eTznLNYHhxYZ838C6ai5tjwe4/nnnsGVS5dw8+YtfPbFF7jz1W08eLCN06dP4fLVs3jy6nNYGd3H7du3MZvNUZQ5IAR0puL4IjELic0Jcr2DUp6AQ1gq4qUigURPuiJKKmRZBtN2hXwQjPsmr2/eseUZT1hCErJMQ2sSovAARKZIKCNQFCDj71jvYT15RjZVRTM+zgM6Q6HzeOGlkKRmZwy8J2qIUprpHFTNZzyfW9ekyCgZDZOqC/o6y7CytILNjZMYlEMomQNOkfE0gMFwCVkxQNW0mM8rTGczOOHgJaudCY/GNTRHy+1yJ4geppieppQiyXlFeIvzwHhpCda0cIaSNdOSqITWGkJKLC2NcOrkaZw+fQqj0Rh105LZMVMFre0Wc1Bas4xUKKWQFyUUd8GFd8h0FlGjNNFUSsYiBmnSKZMxmKTYok2nC34eHZ1KBYTbLyavCTrM548QAthyA5YTbU3oudQJSpYWDZ7U7IJQDhIag/egRFiKXvHk2S5IhA7HIgrM19GwNVQoasMxLy0t4Sc/+QlOnjwF45h240m9WmcZbt76Ev/wD/+I6fFxpFXRjF4/ke81rkOfNh6nT2g/fZRwsSgI3dfeixMkzzMIQvj4Pu+77/Y92lY34xWuRShQ0uOOV+qxKNgCetvbgDty8SLi+cjnCtlbN91bQsKTdCkXunbx3HuNBT4CKdE2DSOoSRdQCCwtL2N3Z6f3/nhGQsA6i7Isex3NpBrvfmvxuiT3J9l+utvUA3wQ/S2RzH92AFOgIKVzyD75ZB833sd2wnvf2v1Tj/K48BIJ2ezxL9H7r+/Ns/S7td3l8Y/EHnCh4KKqNqU9gRoWfifED5dstOEaGUsqw1TgSTgew/BooRkYc9ZBabm4UuPcY7wsj7m8ZVlETYiV5WVkWqE2qTBJBwLM53N88fkXyLTEeFDCtDVG4zGWlpYgJHVSZ9MprA20XUpmqnmFtjVYXVsBvMfG5ga2H94n5ogT5BVoTOy8mbYFMor3UijkRUYiNSwGZ1q6Jsa0qJsauaK54aauMTx5ElU1x2RyhPF4jPF4DOE8RsvLqKoK0+MZBmWB1bVVNE0V13yeZ0R9lgKmIRGP0Lmtmrp77r2DNbTnGWMgZQatNMpBDp0J7B0coigUXnnl2yiHQzg7x/UbtzGrW1Lp5f1icnSEL+dzrK6sAPD41reexokTa8nMuouxDR7YPzjEx598wvN7Erdv3cbyM9/CoFD44P0/o64qKJ1DCuDi1St44bnn8Me338FPfvJDGOfgagMtMwJJeh7LXZ4tEGwzaM67qWv88a0/YO3Ev8RwMIR0PmpXeNtiPB7hJz//Bf63/+f/PRn/6PY0ySM48Sf8DIRE13OB2M2CB1BZRBZDjN9xXw5LOHRhgIhnBUAqdDSEjHt3+CyBR8NFGiP64eJRhpGP14r3KS4++yEy5A+PAeBC/rCw7z32lVCMgvvB13EzUp0CIWgur21b8sgsct4zu3zHGhttgNIube86RH0P9gdF0KJQxCxLfIsDlTXkai+srWO17FxDnDdomxZta+GsR1O3aFt67quqQmvIb/axle2jf3wk/D8ulj9m24q/0GNe/3OvBITuQGYuprhj6XmeOE25lFa4ePEi1lZWMdIaR8ySE+m+unA+/WKsy4P39nbwm9/8Gl/c+BKvvPoqrl27BgGJuqrhrMXpM+fxt3/7P+Gzzz7F73//O+xsP6DnB12B65xD2zaQUvFojYBSiPP7jxvV6l+Ebq8C0MvPIujsu33RWR9n58O6Cs0mmcyrp51SL9iK03voTEankrSJBB8aYw5gG71HUsUYS9IfLjYrZM/9IX4+giYAYn4CXtdCCKyuLuPFF5/H5asXcfvuHdy8eRtf3vgc9+/ex7lz53H54kW8/BcXMJnuYWvrPibTA3hP+4WHh3WC7VrZK1kCOlNorYT1huZr+fsyrTiOshAjM7ZIb2DBo/qfeX3jwpYGsSVMwxW1EjSj5gCLFnVrohKmFaS6pVhpEo6VFZWEyDOg4RY8m9oLSJR5CVFRMeQcWdvQrJAhvj2rBpK9isBsNkXb0lxQpjSU40FkCZRlhpXxClaXTkCKAt4Jom0JTfOxzmNatTg8OsJ0NoW1BlVbwVqD2lSAMLDekng+izKFZqgYEDWvtYYTDrZNcGH2l1rqGprkr5nTXpYlLpy+gAvnzgMAqqomv0dJN9B7j6a2nCBpWO9Qs9F2WRQYDIcszCKRiQ596RdKfbsU7wW8TDbRqNCbUhfDQ47Y1dM8y+sEaCbJI26waeelS7y7eZ2Q+kdhJ5dQG5NkGKF7w5YMHoAxPopZAJ0lYt/njX1Dve+EkJJiL93oyO4JKPKSEmamIC4vL+MnP/kJzp07B+tIlU6qjGbBlcLDhw/xT7/6B+xubwMwUJJUOANgEBOxxz4pXZc0XOfFjXlxY4/HnCThdL0CTUUytVKy+EO/+Ij3lpUNScRXxCQqBTgWi5B41ImqcVqwhPMM6uOh1R6pmlJGS5VYJMYLExJWubBX+q5zxQUneP4q7Q6KREFLMAoqWHmvZpAKguZLnQeKwQAHR4c97dCY2chAnapQFNmCwmSoMX3ov/QEqUJy40F2LlEgIc4mO0bYWUkxngIDNEzFtTSoEynyIUFCUGdkZFcs0rWSexzyvgBiCB8M5NNNuHvmkKDi4WxTQErKjAtM00uyhFwEYhZZIOF9HsF6KyQAzgPSkfiaT++f755V2MACSO5/oHoxTThmmkypCoJMSkm2Egly3d1kUii4k6eLzs96CC+wtLSMhw8fYDaboWlbDIdDDMcDtJMG3jMLhiOLZ2rbidVVXLl0Hko42LbBvKoxOZ5i68Eulk6chDEG8/kcgzJHpjRMS4wIndM4TVvXZGspJDFlaKgyotFKChjrkBf0zFlr4bxGM29QlCVs4yBzgaYm6t3K0jLKMoNpa2itsbW1haapUZYDbGycxN7uLmAchuUI+7sHuHD+AhSA6XyGpvVwsFBSsxALXcJMa2RasYe7BZxHnmUwTQutNUxLgoWj0QhZprC5uYmjyRHOn78Aa0l4cXX9BK4+8QSeuHQV/6f/y/8Vs3kLJzI4KBZUdKirBnu7uxgMSzzxxGW0bWBykbBK6EJKpfD5Fzcwn9Xc4RZ48olrGBRDfHXrDm7fuQupSsyOZyhUDq1yvPnWO2iaBucvXsAz37qKyf5DnFhehtICSpL6tIjq8d28uVzoVu482MKf3noTr/74p1TceGIwwdG40Zlz5/HyKz/EW7//LVSuYuKvAg1JBC0DKpotyATYIViuIXo3B4AvhbUiaBy0MTh4+siWETF2hL+HmBA7JEjieRLqU0B68VkOcTD9t7i3RuHCUPYlsX6BvfXoyy/EJN/F22jrlcSqZK8KqFiqzxHiWYwOSQ6UZeR2UDcGeVayjoeHFw6z6QweAmurJzCZTGBMS0yE0L17zKFLqWMBTLTSJH4qCSkcJs5hv2lwdjDE2cHwMeffXYUuKvULJTzyb/+ZD/iaX+wAh8Vq+f+PL16Xd2bT7ijiDPiCsGRwRIiAFvvnSgnbVLh543Ns3b+HF7/9Il75wStYXdtA07RojYVSGZ574du4dOUKPnjvT3jzzTcwn0147cioj0G6KezvrRWcBLQMQlP9/TAFdtJGwaNgTGfDE35Vps9xGKdfEFGMvx0K12hFySJMTLny0kWAjPKR8Ki5eJ0gSO2ermqnqLw47xAA5gDKBO9dsMBTl+/weUsw24et4PgRHY2HePrpJ/HElSew/XAHn3zyGW588Rnu3r2HM+dO4dyF07hy7Sk082Pc37qL4+NjKuw9YFsLB8sNSMdexBm8p7zIOIvW0v+EEMgENaw8i4M552I3/pu8vvE7ldIwxsIY6nh4ljeX7JGplIwBxjqS3C6yHLap4Z0jGpWVUEKhKDQNm7cWdV0BBiiLAfkZWQuRCbTesq8T4okhAiTU4fOeNmAhPPKCVJJ1GOjOCkoerIUxNIQO72Gsx+HRBAeTA1T1HJWpMJtPcTyboDUNrHPIc0VWLrLrTnlW52oUFw3EgY4oTUiulZTsEWjhjUOR5dhYPYGLFy9hebyMhiliYdZ2PpujbVsO8HQtjbVsY+IwGAywvLxM15UL4Fh49Da5R7uBAdENBUe0RAEN26fFqfPxWeEzZvqkdaxIquJnx02XuwmpKE2kRYJADwEZlVJDJ8wHdN51VJ/Q7QxKxkiK8TCz23V1+sWiTwSHwoMc1kyeFeyJSEyDQTnET37yU1y9eo1SGdeh3FIpHB4e4h//8R9x586daENUZDqiV2k3OC32u+AYjjekAd3e8mihwgEP4jH7j+iuaUhY+L2hKEpRxQgeiAQUQL/THRIFKRJRE58eXzd71V1fgS7gM21P9JOUeD0SdLh7dUcbUcvevUobtImCbtrRQFdwxTXnKQEWPvjGOozGI+zt7kVRr7B/hnVnjOnuo3/cc8P+v25RuKRbh6Jnd9QVpj6ZIaYkzD8q8BISxQg8dV2D+P+i+z7EgrI71jQhR0KnSsGmrvDtr6fwed3np/9DJCSnInJhU+9E0Vx8WsOCSLtNQvRIiPH8YwM/HB9fP4pJqchYp7oP3kvCPqC1gpISeZ6jaucL6LOIFMkwb94r4IUElKZ5fSGRZRJlWWLWtFhdXsbBwQNAZL2eeXh+i7zAaDiAgIUcFFhaWcHJUxKD0RL2J1M08wbT2RQb6ycgIDE9nmIwKGkkR+Z4ePAAhweHxNzhdZ1lpBsR/E8HZYkiz+GcR+Nb1NU8JniZIvJbWZCfe5aRDd7ayhLKssTde3dRZAWWhiPsbu/AWYsiy7GzvY2maTCfzWHbGvNqDsfWSE3bRLVJ7xwUM5NUpqAHGk3TRGaSkgpKGTRNg+FwiLZtMZ+TCNb29h4AheGwQJGXuPnlV2haCj5ZlkGVQxgrYFoDaxsI73H79m08ce0qlpeXsbOzw9c5KFiTJZfzwO07d7ioddBKY2dnF5nO8MEHH2A4HELpAnlRsu+shbEEXP7xrbfxxJUrUGqIw6NjrK2OoJXifYySOp+sZy+AIJfKWnz4/PqnuHDhMi5euQohLdMNHbwhevwLf/Fd3L97B3fufIlcK26wdsKEtOZVHF8AF7LW+WinRsB3p4Sfhs2uTkzpx4uATRcnBM+ku7CThlEGLD4LiJ0mH54d7iRH2ilCfd4pMvuuvk5+3nlch5I3Ldd6DJz02B+zH6bn3TFeJCfWfWu0Lr95FCAOBYyAQFPXKIs8qdYptTg6OkTbtijygufSu4LAJ89++rnhsKNnOd8VKSUm1uD//NUNlKyaG+eAk5dnqmm4Y3SONIsY/h6K5+6C8zoKVU3MOwIAiwiECdauCJ7fzhDFUwdf1zBaklzkGHE9kmNmm5g074oMljD6wucYBDKT/EJnObzI4SFwxPlqjP9CxXskFvY4Ejru4nX4bg+H+XyKt996E59/9hle/eGP8fxzL0BnGbmKOIHBYIxXXn0NZ8+ex+//029w69YtZir46HMLTzPXlBPSlyoelwz3NuwjPY2P1K4rPjNshyVcLw+NaVz4fdef40UY1+u5eSDSijuNEYqDqpsH4HEAYkKF++vh4RR7QyNlUKb7Yrf8KSfqPjNqYIRGJd8r60PxG547E9efkgq60Dh//gxOnz6J27fv4MOPr+PmjRt48GALm5sncfb0aVy+/BSmswm27t/H3v5OuMAQXsQRVKEE4BhIFcSOAkizYFgUbH1JVlKp08I3ef0XiEcJVBWJsngPDEDIlPWW2vtaIctzKsgszQQ0TUXou3UwtYcXFnmRo8hyZAqYNkekhixazCoPb8kKSBcSuihjImodSFHOGwR5aZVpSAEoJ5DrHCdW1ggZcB5SaAiviALiSLBJCImqbrC/f4TZ9BhWGDg0qNpDzOpjWDTQhQSaBlKSKJPyhMYOywJlnuHw8AjOsJadkcSOZ1WyjJG9XOawuY488dOnzuL8uctYWlpGXdeomwbwAm1rYVsqutsWyDIFJy2sa7lzKbGyssw2RwnCEwpblwb4BUP3EKR9P0GN3Q8eFO/ohI5nZLvflzz30xXP6L4/dvK6BymCcA7dEGHw4FToVBqT9USbluDZGtczhY/vDqqpwf8qAsWdj7HizSB0MI0xJGrGAmSCqQ1aa7z66mt46qln4Zla7ryEVhpSZZjNZvinf/gHfH79U8AZUlFVkjzLAq04oGUp4pgcs+eZYfISDHNRvvdQPrKhhxZeInvMBgcAU36ok9XNWqQ05HDe3UwtwlbGiCj7nAoXy7Po3xYsU0SfJockwemg4C6ZiUVt6F4nm3+/wOV5togkInbkhSClXPJk7eZGesVi8JANc9jOw7WGxFskd8AEkJclZvM5jDXc5O98acPeNpvNsLq0DJGoXvrHCHgI0XVsw3p3XNi7njKfjEVe1z0JG19/LiztnsTN3QXpfsldnrARLZRXvl+kpV1UxIJcREqRj4DL4nxuuu5CIdgmyzmdLfYJI0B19xtJAhLiLYv4haQrFq+in1CH9SMiQEWiIN6xvCyv0aZtmcLk+qIRrDY5KEpUxzNa3qqbcVQqo84sLQBOChHnh+IaFAJ7+3tYWV2Fdw5FltHcPCtui5Cw8bXePTzE1eCb7C2kIkbSlasXkN19gP3j25jMJuQ0yddyb3cf506eQlFmKPQAK0tAM5vDugmcaWGsQZGXTGnU5MkogCxXkAKYTVuMhkPSxzQNtCxpZKPMUOQKWjpIYVFXx9DSo8xL2LaBh4dW5PMJ77G6NEZbz2GalkZ9lIIqNI5mEywtLaEYjrCxvo7D/T1sb29jNBphNBjAlwM83N4GIKE1WfgFmud0OsdsXsN6h3IwQFPXkE2Lo+mcwG9rUDcVWlOjNRLGKwZyqQMxm1WwtsW9e/do3hEeUtS4cPYyvrp9OyqDBmVoMM1xvLSEe1v3IJXA3/7tv6L9P9eYVXO8/8En8Exr293ZxbvvvI8ffO9lbN29geWlMZBpNLWBlgJWkj1F7KaAbnpQHA4Dpm+/9TpWN9axtLQM31pYTxoK3hhkWY4f/dXP8cv/z7/GbErWSsIDUArOdzYWlsxMewWAY7TNxe6V60veR/AWUTQGrP5Niq9hL/fJvwEQKk5J2sCMYNs2sWj/FtyGIlsiFDiJurtMu8Wd4GKXHDtO9tMEvytvF4u7ELPifCsX/Y9SjUPR5CKFXLHoY4xeXzfWExgySgE5ULNispIKUtER1XWL4+MZzpw5D6kyNE3DowkGWoeueqLQI0Lc9XE0KwCEIR+dOotpIjiVFnShnA01YTeL7DgXc/F8wv5Bzf/ADHOwHANl7ND3ixfvab6bABpOkoTicbAOcLXWhQqd1orzPQ0CAOzrG9gTgLc+CvhprWEF669Y3mejuYCAbh2cbCnnkJoLdcQ57lAg03azwGVGNw/u2E9cOkAICweHw70d/OqX/xYf/fkj/Oi1H+Hq1SdgLVFdM61x8fITOH/uPK5/+gne+P3v8fDhFlQweOXC38ORrYy3gMwo7xBBUJPvKO8D0hOb1Ecvac4BEFs3cS8UycoP56ekh7P07FtmC7IVBudANJMruVPr0D3L4dkMgFy8Sqy/44SG8wYmfdJ62/yiZouLBXPIh1xQifbEvApPrYSAVzR36wLzyhOb1hsPpalhkmc5nnryCs6dO4UPP/oIn392A59+/DHu3t3ClSsXcebsKVy++jQ2js/i9u2bOJocwlmgLDS8sVDQkFYgEzSqCeXgJNP4LbGurbA07ukEHP4rqCJnOsNwOMR0OqfFZE3sGDhPasBta0iRVpN/V5ZpWEMCFtYRVblpajatd1R86IwebhiYpiV1UqljMWCdhdY5lJIoB2M0dY26qaCkRDkYwDcO49EKNlY3sLy8DOeBw6NjzI5n0LKEVBm8AObzGfb29jCbVTC2RWMrHE0PYUUFIS0y9leyQYBEsiond/O01hgOhlAqhxQK87pCXdfIchUf1kxp6mbDYzwaYWN9EydPnoaUGY4nxzCWqMZV1WB6PCO6mtLI8wGc9xEl11mBpfESBoOyl6QB7GcZH6auk/O4l+gVt/25gg757Ao0gS5bDl3e1K8LC4E0jYeh0xX8cYUAbyi663axcpuLXdpklmghgQ/HHpJ9Z22ANcPh0vf30DURi9qiKOizeLZJ6wzf+9738e2XXgK4qIUgMa8sz1E3DX7729/i+vVPI6qptYZSfGyu65zF41u43pGyEnOUlPa7AMn3NuR0Lrd/jalY7fzowmZprenZSaSFM3X2GaGLFjSeCwP+7oC++gB2dDPXaSERN1vpSPLe94WqkKgxg+90xIKTewkgzlIGulF3lcKPGY3mDShUGT4ROSBhNZ6tTiht3juyLAlJzQJ9yJg26bojFojBeihS7R6h5nXCK7GbumCD0WEcPnZ7KQFdFHQQcU2E56trvPt474VAby66u47dVQ4d0oACh+sWO94JVTo50rg5+2CxEf4eku7HiJ113xNvX7eeRD+uRFriwrF7ngtEVPIWvcMKAEJIAoI1R3hGwvpWSmFQDnAQVpsP4FIXszpQArE4pwTSAhIoyhJLyys8M696tg9KSnjjCFlGYH8YzGZztO0c46UhJAS7AzjkDGLOZlPeCym5zbIM86pClhOTaDqdESjlgbwoIBqa0aN5b4G2rSODwluLS+fPo65rzOZzUmH3JEq0vn4CV65egVYerakghcTu3hBN1WJQDmCMISeBLPhLCuzt7kFq7uwIBaUUlpbHcM6irubY2X4AJQTW1lawvLyMo8mEhBCloC4y225IKUk8KnQoQfZAxlq4tgWkhDEWUkmcO3sW27ufwMPAie5eCGbX3PzqNk6fPh0V75eXl3D1iSv48uZNCJ1ROu9Y3ZrHK5ZWxnjrrT9QoasU8lxD5xrLK6t44813afnxr7z99tt45umnsLyyhum0ZhFLAWMNpJcx6ZOyUxGPXu78s+n0GO+/8zZeee0vCWBvWxqh4g7D6uoKXn3tp/jdr/+RxKWUin0oYy2sExCW6DOeKegRjHM00ysYURZSdtZgQsSOGT16ASBM4mlPYD0pwOLeIxlcYjE1JZM4xSr0SXzoulXULe86e0mUFtQ58mHvCgm4DIV28h3pwSQvwdYlCPEvPMe9GNWdTOxupSq30QmBi9mko9uNXQEqI3p9UzfwzkKyxUiR5zjGFB+8/x6eevppDIclbn91G0eTQ1y6eB5Kq6RcQYwDgmOXC/sSiN7puWNKkxXdnhxFk3y4tuFBcD2AWKkkjndbAQOTnubUJY8tIMRm37tSyQXmwji99gT+SSEQxhRDsz/+PXl31EgJ/5OA1z5aXwlIauiAwI9QbHveg2TCSgrrqMstyWoqgOJCiGQVhK2wUx6O+4RzNBrXzHHzy+u4d+8unn/+Rbz2lz/G0tIys7gctM7w7PMv4PLly3j7j2/i/ffeRj2viRkhQK4jAIxrUdekJ6CUgpeiI09wBzTZgGnfSxWJec/uMxUX7warIAtAZ7prXvA19Jb8zK2jxhICCMB5mfCi38X1nsSjguMFBKRncCRALMn4QPq73XMhopdteDnnIxXZB4FZgFmpiDVGsEh0rJ0UWHrloMBLLz2PM2c28JvfvoGH27uYTo9w//59XH3iCjZPbeLyE9ewu/sQ+7u71PBsDcqy5NqeNAjyLIcVDqUuqTkqwIwGmk8Ps+zf5PWNC1spcxR5DoGMkxjDiZyFEhqSC0PvSP5aKoEsLwmNVQIq98gzTeiPbeEYqfXeorVs4aMtWjdHW0lkec7D3wZlyLNthlznaKsaS+MRLp0/j3ExgtbDuLiEVFjXA7SG5iat8Tg+nmIyOaJEZKgxnxzhuD6A9S2kBIosgxcSxhjkWpOPolWAIgrubDLHcDhEnhVwQqFpWzjhIHMFcBDUZQ5YD13kWF1awcb6BpaXViGgMJ9WcfG0raOZ4rLkqCLQOirG4D2GgyFWVlZoI410Dy4ynIfijoyQMqqthoRaMrKyWOgGRWUkhVZX4CIpLsKDHC5n6HQgJum97pFgL7FYyPAm7IlO0Jvb9F0xHAGwwLDJvmbahDtnIib9nOTwl/fpSCw8w0UtwPMLjoCW73//+/jOd1+GZz8sz+IPSpPq55tvvon33nsP3lko4SG1ZFVmXldB0jZBjYICZTiGjqYU39AVTY8R3FjsvIVX2KBDUU9gbJhrpdlEj9AVRO9+hvsNKeGE5G4ouHuLnppeuunC+16XMQVFZILyCaF63eVuVlZEqlU89wVRKe/os7q5sYBzctXjHW8gHXhjQ9dQ0hpsmgaGwX7JSZ9SEqura3jw8CF3a6lsC3fKw0d7FaT3QURCV7xPaYcwzow6Fzdd6ftzaj6KiYiwZBOgokN6ffp7Iiiz0nysEoAUnShJ6A7EDrrwvfsSE6zwvQGh9Wm3Pe6+yTH5pBuyoJicsD9SunNYVxIimtv3bh+DbSFWpF1jj2DWriLFLuA+AfkWAZ13gsAT79Eaw/PW1GFseQwkAFd5nkWRjWAPQ4UrIeSxwxSBEVo3Ozu7WF5dATxQ1zXm8znKcoi8yAlh52Pp9IDouTCtwcPtPdT1HOLhNlbXVrCxsQ4BoChKSClxfHwM07bkVSgEsqJA3dA8bl6UWFtbh19ahgCwu7MNrXMMRyWkpLEJ6hgqNE0LIcjTbzgcQGekK9E2DQZlgWtXr+LCxQvY2d3CM1efgtYae3t7EF7iyxtfomkaiCUS6yjLAXSmMRiNsL+3h2peQWc55rMZskygLEcwLTkBGH4uqnpO9j0Fz16bBpCqswKKtByaDW4bGt+RUqGpLeZVDWMNjidzWOMARUytIDgDCUgvMK8azOqGRZAErl27hqWlUQSYwEru1hH7SyiFh9vbuH33Pi6cP4+j4ym0Vjh1ehP37z3A/bsPsLK8QR641qBpDf7w5lv46Y9fxWx6iLoxpPEB0SkJe9fReXmtdP1GUsm/dfMG1jc28MzzL8B5C2taUkw1LQQsLly+iude/A7ef/ctBpdEdwZSUf7jWnafYrBWdEVgCurx0xq7cx0jhpRKAxDG0SlsFlxkiejuzTtTeDjp3b3ObBDp6gDvELQ9OkANPdpxJ6Dj4yhQf4QgBW+7Pf/R2VWPBACLP+zKtDR2xvzExVVBXdMeQ63/h1Cwi6CEqwq0bYvWcDIN4OTmOtZPrEEIj0wrnDy5gdOnN2Mssz7povLccvjOtCsrGPC2lhgflpMawd11sg0KtzJ07VMxPvaUZ5tCz/lcN68h4m2M/u9hj4i6BYjND5XkbOl9JU/37n7asAkmqVzy9j7biIs+yQmchoTzohP1DEcTNDcCgBk70AG0DmCHjceiAu3Zd2uMyAJJUekD0yasc4t6fox333kT9+7dxXe/+z08+9yz0CqDYVZIPhzjh3/5Uzz97DN458038eePPiJwIwLxVFy3rYExFnmesx8rvyR1CcNzswjTiCRSxEd14TqG+xLyo2BJFHMixewCG5oioSilNNN7wMB0xT8XqJLdF8CdXqEkFbjour6CmY5Sqh5wEP9Ath5JEyMopXcMg47xFcBzZtUF39mQbwgStz19+iz+8rXX8B/+4xt48OAhZrM72NrexsrGOk6d2sRoOMDZ81fhbYvtnfuYTI8A70noTQgokQHOQGUSKqPrlCna8yVE2sP6z77+C+x+LAseeRRFxoI/nuZvtIpoDThBK4qCFB+9h9YKBXJoKdH6lhV9ZYi5hB64MMRPyLqdz+E8fb73juZkjcWwHGD55BmsLK/g5OZFDPISdUvzP9PjCdrWINMFCb0Ih1k1x3Q2QeNIja5ua9RNzZ1RzbO5NCQtCqJ7TSZHMIY48sY6tK3DfE4iGjLrEKYgdKOkhjNMFVIaFy5exmgwgrMebdOy91VXpEqlkUkN48iX13HRsjRewurqaleouIRmwMkwAqIkRZA46RUiSDturKpsrGUePis2in6XhlPvuBEt0ny8R7T/6W9AocviIuIjBNHShUSXZDOFy/HnBdpHSHRdknwHdCkGfxUWdJr0gz+3O2drHVrToiiKLoFgsa2Xvv0XeOk734HS5CsnhGL/O1LOe/uPb+PNN/4A0zbQrMaaaaZXIgj+dB3akDqI9CIuXPdwbTikwVmaYwhBPu3exY2k14lffAVrFhF9zsLMVUdP65DlEIDgO0GdGJQicoqoyOmDHY7or6Vwvh0U7+I5xUnKFAhBsFTue6qBrZ/SKxh+R0pF3YqQOKRgiEuoVJZm/AXDzKE7pKTCzsPt2P3oNpu0WHXIs6z/3Uga/iLpuKcIPRf2rAOXPPsyKjLH31mYLu13+NP1kRrRsWdiBKnQK4xJsCQIrSUdmzRh4FGLmEgy6h7owYEanL4WC+WwZrsCNSl4Q/Gputksz8+77IlMpYwK0XWR+efe0eZLgDT9N9yHLsl2cS1a5+AsgVVhxoYSTFbndIjd/XCtiWEhY8HiWVwqLwqcPn0qFg3T42OMx2Oi664s99L7uEL5vVVdYWd3GytLIwgBPLj3EFt3t+Fci7woIRwwPz5GWzfIhkN4Vud0nrzW4Vnd2SssLa1gPpsSzVJrog07j1OnTsFbj4ODA5y7cAEnNzdxcnMT1XyO6eQYO9sPkWUZinIACIksK9E0ju6xk/jiiy/Q1DUGwyHKosDx9Bh7+7sYjcYwpsWp06dQ1w1m0xlWVpZRz+fUVZ5XyPMcSmnkeYY8z1HXNfb399lPkOCH5eVlHLP6s7Hky+sdsDQe8d8dTFvB2xYHewdwrcHyaIijeQtnOFL5pGz0wAcffICnn3wKo/ESrly5jKrqfCnDsxDWZts4XL/+MbyTABSs9VAKEF7hj2+9g/msRpnX5DusJJ5/4XlMjiZ4/Y238PLL38bO3j421pZRFhmziSIrPXYApUAEjeNcjRD48M/v4tTZs1hdXYEUNgI/zjpoZfHsiy9h++EW7tz8kuySQrzj+BsfvZgDhBlCz3Gvw8CiUFOCEHaAaDKPG9PPdL9I9peEBbQIdC+u9MX3Uf4RlBsTf7cY40PGQH92SQHGwafrNscitftzGl/SGNnFJnTvD7kNW/+EghE8riOSWNuLY0nPWEoZ/atpRp3cDTKtIaVCXc+RZxonT57E1v37lNfGAlF2Yw0+uGT0mVKUv1GuK6xleyyyPnTCdZ7tUSgosNRcF/dEt090rBumrPP+JaXugehhncY1/BihyvCSCwJZ8d6kdnUxnwiZxWPACgDCOQjVP9bAsFFBMJBBY8G6EwSmuA6sFwRWeEfUYAlyQfEL4Eqo8eP2EtaaoKbYw607+OXfb+H6p5/iR6/9GKfPno62WIDE5snz+Bf/8jQuXL6Kt996C/fu3mGdhTCeRmrXbdPASWJQCm6iSBZRFekzF/f6DiQIjafwtm5Nh3WaXuFOnybm2whrCgj9CcmsqggOxC/1UD1dRWazCQmheMgrMN9iLp0U5oGlkSjDUzzqGguLz2GkInf/koYEwAsYY9E0DcqixMsvvYT/8Ov/gOPJMZq2xbSaY/vBDjKdY211DefPncGZM5dwqcwwn01wPDnC4eEeqrainLyyEBlioQ3QKExqh/Sfe33zwtYY1POKfFxzHYjmyFlWvbUtLQ54aKXD2DYsSPFKsRoWNCmSBe64dw6uBXmNajbCdsTpVx7IhIISij7HOBS6wPJoBZvrp6BkjlndYl43qNoak6ZCXTcYFLxYbIvWNXDK4nByhL39fbI2MDWcb5HnGt5nUDKn+RFLxW6ZF5AlqSELaOR5jum8Jj/dtkZdE526qUlVs8wLlDlZ8aysrCLPB2gaCjQ6zyCahuSqdYZcZWhbg2peRZVeKSWWlpYwXl6Ck5LnHhCpCF4yHS9RRfw6RT3P4jpBqZjmSOmREqEbJQOi5+Cjn1s3L0kzgv2OjvMuseMR7C3bhT8IRLN0xcmsFKqjY7LKLwQjVbILlioktonogk+S+O5Z6zbIMOviBFHPrGXULSnKhBB44cWX8PIrr0DmGYz3cFKR/LvOIDOFj957D7//7W9RzaZMAXE8rM6iG9zp7ASsZOz2pYkEEiQ3XDOlVFS6k48V9OHkRHTJTSjoRDA0TzYVz/Mxjgf5fIKoLRZkEbEXYDBDsVAW4v0WPTGijpAbgjPXvXRvRUf9DWCKdwuou/CPKWoRzz2OXivVK6I6Ulv4HFb4c6LHQjDGQQkF54F79+6hKAosr5zA6uoa3v/sXZRljtUTK3S8PJ9M/mcWZZ7HWZbQZfW+m81epE93QEHoRXRz6+HepJ3OcDcDc05wV4Y+00S/266rmpyuCEWiXLDZCWtecWKTUKlZUAyhS+47FDkUD6FrmSbJ6TmGPwdl0q/Nf4NidYSbuuQqxbIj4BTXYSeWFJDmkPALFpPSSpLgH9tZBeq9VDRTZ0zHkHCeZq1UnsM6QAu2BpBgoaMulnXFAP9NsuI7PIbDAt5ZCkVSkD+js/AwsNGCSHZ+3ErjhReexbjISEgjPvcCN27cQn04hRAS89kMS+MxjCNxQQuBrMhgBdn6zGcVnCU7i7IsUddzTO2MABvnoaBgrMfdO/dxcDDB7t4Rdnd2MSgKHB7sY2NjHdu7+xA6w/379/FwZw/j8RLu3LmN8XCA02fPYW9vF3XbYD6foq5rTI8nsNbFQlVrjSzTyIocq6urWFcKRVFg68E2oCQsgOHSGMZZWHtAfoOW1KDhLIxh+p7UGI1GeOGFF7C1dR/b2w/hbYsiH2BpnGHWtFhfX8Wf3v8QTethoTl5AlnreeD4eI4vv7yFJ64+geXlZVTVQy4wu8RaSFLCvn3nHh5s0cyvlBLj8RhlWeD+vS3c+eoehCdv38FggGJQ4satG5hMpvjqjsCVJ69iY20ZO7v7OLm5hiLPOj/wqNzOasYh7nvLs79AU83w7jtv4cc/+RkylaMyFT0PzgNokekM33vlL7F9/wHqqmZwhYEdnvEOlOoQH71zsRMS4o9EN9bRdbDCntK33wIrLace0D02EIMI7jH7zuMK3T6YFdgjaWGTKOqjn3R27qeh+uiKttTmpAtd3f4cbdGSV6/Q9jwMSAGAYrGXgEoA1F6RTC+FLoEPL611ZH0opWiMguOAEALbD7YA71AOSlR1Ha9F+FjLs80iyV3A8ceHeUVFwmDOBYiC9cECOM55nfdxMJW+J8zVchSPMlaCrqEUund+XgZqON+DwCmOxUaiqu07Zl3Y12XUrehfd5F0+UI+k4LxYa2QQn1yP4POSzIKg8Bii98YiiwSfSQNIRb2E4DiYtgheJHLWBj3/crDEVPTwZoaNz7/BHfv3MEzz72I1177IUajEc0Uw0PrDM89/xIuX34Cb731B3z85w8wnUxiAauCf6sArG0j8CHYwz3oM3QjYV1zIDSMugo4PlE9VkJgD6WNhbRT4pyHsZYsVANA7Xnkn49TCEDqsEb63fZeEctISpfXM0U+Ft4+AVIErAvNgPS5BLtsJCJYocPr6X5Zb2ONolQGpTwgaijZ4NqVs9jZ2cXewTFZpZoKxjTYe1hjenSAe3eWcOrUJs6fPYULZy/j5MYm7t29Q/eFc5nGtagaA51l0JkmOvc3fH3zwpYTdSnJlNwYCykEMk1efq5yqG2NLM8hpcS8qqA0L2rufNVNw3TfDEWWka2NsTDSofUO0BIi07RheI9C5ijyAlJpLA9HGA6XsLK0gpXldQwGY1J8rCoczqaYNXNUzRz7e/tYXl5mw98c3locHh1i73AHVVNRseFbWNtCZQWahs7Bti0pVLaC8S2JLNNwljwH25aUir2wUTGsUDmWBjRLu7F+CnleoBwM4XjeWEpCBcuihM08qrrFbDZDVdXUeRICg8EAS0tLPJuLKI9N8xAyhYtiYemDwt5CVxVJsh049CllIhYbkXKIWODILkryZiG5uOxm7gSYyhoVlLt5G82zClJSB6174NA9qCla64LCXNd5okP28TwEU9t7nS7+jLZ1kVbS2haKaXIpnfaZZ57B93/wAwyGQ+6aE8KvWB31xhdf4Lf/8TeYTo9jYI7IIF93t4ASCSSRNSTOSTG7WNR9HVqeInXEck4KHkZ7Y/ESusMRoWVEOs6G4bHfFenJcW97vNVPOK+QJnkGGKSUPA/dFZ69wiwUPImUPPyjxxGQwhjLXbcJeO8QdXbDr4kOEXScHLXs+ymVgrcWw+EQWZZhNCyxv/MQm5snkuvfR1qbpsHScMidiGS+lb9/ofGeFP0+HkNEKdGJR0B0ollBFd0F+rnzcSMMz5pg6lb4XMEU5/A89u5HtxR6c/GL97nX9UhmaRbv8KOgSv93/cJ9W/T4C3EjJJKCafdS9mlvAcWPwJVMxDkWrq9I1kT0/2ThLSkEvJQsLiQYKJIw3lK8ZiaK1rL3zKXgUox1Lu2s0/murKxgOBzCWodBWXDnKdiPhRlMOjfjAA+JYjiAtQ3TFQndf/a5Z/H+hx/j8HiOw8NDnDp1ipXxDSbHE6yfGCNjivHe/h7W109gMBjA2AbOWe4eSti2RWsbmLaBNaRJMZkcwZoGdZnDe4+Dwx20ZordvS3M51MANOfZNA02Tqzg+PgYFy7QbG6ZF9jY2MD+wT52d3Yxnc4ATu6zrMB0OsXe3j7OnTuPg4Mj5HmJqppDa1Iw3n642zkp8UK0ljzXnTHIMxoJunPrKwgJnFg7gXlVoZ22GI9G8GKO9asncffefdy9v991f1gIyLN37HR6jGvXrnWK/7xIBmWJeT2PQnz37t+L4zpKKRwdHcG5ET7885+xvDxE01oMBkPkRUHgtW0AeDStwW9/9zr+l//D/4Tj6SEOjyY4sbYM7wXPVrvYmSEwN1B3ObFzHs4L3L39Fa5//BGefeHbENICnv5H+7jEytoaXn71R/gPv/ollO0U0iPAKx0Xs0knR3R7hvddIdSff+0/6+H5iZvwgm1ZAHXSAifoID0+bnTPRRoPOlqoj12kxfgT7OjgHYOgfZG5fsjpOwek8TW8V/QOvPvO0OeMsSl1hBDhUiyAjAGYXYhrUipkmURVzZHpDCpLCwkC1rIsR1XVbCsYtcTCjtGNVCXMMxkUkYWIWg7GWhb8Yqs5ZyNLiuFTJFs0X1v04mmA6fo1k4gduT792sNLzhVtV0yn+cijHfr4zb18svuqx+QMMmXtYOHzef+O4HjnsiDDbC0QC1bBDL/eWvfsexp8xSPIEb6v279FrA8b1NUh3vvT67h96zO8/PL38cxzz2G4NIJ3Dq01GC8v4yd/9dd44cUX8NYbr+OzTz9FW9fxCkshIRXFPxp5ySGV5hjRgcphPTrXz7/DM+vTnDl2tT1SLi3h3nT9pQS88bBNA2Na5FkOpWkUpGlrbkjQnpo5CWjFHsIMUgQp98c0geJ3hWuH7hziPYufJRLXB/qzZfZU+LsUnSiVDOAdr52Slf1PrK3iypVLcM7h4OAQh0dHONg/wOx4DmuBet7ieD7HVzdu4uG9Bzh58jT+v7T9WZtdx5UlCC4bzjl38gnumEGQBDiIEkmJlERREqkhFBGZFRmdER2dVQ/Vj9V/rb+q/r6q7uzOrAgpNEdKFCmS4jyBA0jMgMPnO5zBhn6wvc3sXECRzIe8+ijAHe73nmPHbA9rr7322XNbuHDxK2jrGrt7d3F39w6O9ucoByWEBpzx0OV/h8QWPgy2D0pnAsYE1TNNymJKamhdQqsCUgl0pkPbdVFKmgPNsigAobDoDFoawWOdh1MBqREUaA7KAcZFhaqsoFSB8XgFWydOYTgcw3uJ2XwB5wyOZlPsHe1hWs9QtzX2j/YxM0dh3qsqoYXEbDqFhIWSLs62CohTASkF6mYBSSha1wYn13iDwaAKSErnMRqNMZvPAAkY6zCuhlgfreDcmXPY3DwOXVSwJvTFNU0L7z2ODqYYDYaohiOYzmI+X4RqLynhjcdjbGxs0Fw9Hw9FFEyChxJpTp6l3hiXya/nGnu5cXeWNdvIYMdZrz5t7SyByGeihuqai+qgyJLPZBhFPGya0M9Am5Tx/ZhWwk21yell6r2RFp2ctCChA8QEIpuRyimYDGINXdehKHWcEcn3e+HCBfzwBz/EcDJGZz2JP0lKvhWuX72GX/zzP2N3525gAolAY1SERHLF2tm+MFN+PZ727rIjyP+8XzLCXycqMiPzyJr805rHoISQYeVC4C0iJaqfhMTPREAaXf7vGYqdrjuhoj6jAntS7pVUyY6Gmx+DiO45KlxSiTju30DjTbQ0ScZceJYRRqA35/MVfd7TG66nsyZUX13w2CsrkzAj0hoIJQIF0AcGQsazCtU/KePsyhQgsRCB6QUp+ZpwoMXUMZGdj7hq2XMWCOPMOEgVIol+IVLuZRwJEcEUr+g6sv7tHrWuv2/iGYGE560pc5qw61/XfUZjgAUoojjTvUFvP6Bh0az48CkJSMCLENyLhgwR9hEsYoVrZOvI+ztkEmGvhB5bAsx0EE5ynoWPPIbDcQRKIFIFxfPYryxY7AWJdFbW1zewu7NLzBuHQmkUSt0zqzsUxIM/uHbjFlbGD6MzLVVHLITSqCqN48c3sT+9isUiJI9d10EpCWtc6JlVAuPxGOvH1lG3Nabzadivzoa2DRXsdak1BCzm8xkKol+tTMY4dfw4lNRo2w4rK2NAeIwn5yClwM0bN/DA2TNYWVlF13U4ODggOnGLrrNYmayiqTvs70+hpIIVQRW20CUWiwU+vvRplsRIWDtFVVbUhBeq2SERtZA0Fmiyuo6V1VXcvn0LN6/fAIRHWZWwXYdRNYC1DqZp0BYLbG1u4PbdQ3StC+MdENv9Y5B18+YNeH8SddOA21Yef+wRvP3uOzT/1aEzhkbPhf2zvr6Ovb1d3L5zB3/1Vz9GUUiUpYbwEjdv3sa7H3waiO1C4catO/jo0qd49OID2L1zDZtb69CFCjUMz5otOgFwSGBWqHaE+bUfvP0Oto6fwolTp+AIgACzXLzDI48/gVu3buL9t99EIVVSguWzriSU93BOEBU6/N25NCuWOC33JGR55Sy3Bf1kN/0ts2L/Krvr/gBsfvYFclmG/CViMheATdEbcyMyv5RmeeYg8L3J+1KS5hGfN9virIOjl1jl9wQhYLg9IQ0NTysiBMpygMViAWMdaXKQX3IO9byGtx6T8QQzVl8n1XoOYcKfPEomOSuZ2TUlNZx1UFDRRhlrl8CHdH9Re4J8nmeFXJqNHpkyOZU7Z+GI/OEz+BDumlvQlvcKU2CXgc/l1qZ8fdk23yflpjcV0QdKiDjmzTOVmwsi2XilJJSWiYFlYEK/iMDgS2JcBAErB7gO+zu38Ntf/wwff/wxvvmd53DxkQtQRei/dR7YOHESf/k3f4snnnwSf/gv/4IbV69ShZJYPSRS1DUtrDSkL+BRFP22m6CizjTetBJJ7DlvL2LAV8a9jez3pJJQuoQN2B2KglmPDk0T+sOdCHmWk5KqlyIbqZmA3NAXnAG8DMg7n7ZsBi6x2BfD9lzo5Tgwjh1ilgvdkJYqsFrzkUhKwUFBkSjw+obE6toqHnjgPLrWwHRhzxjrcPPmbXxx5RquXb2Cm7dv4uSpUzh//gxOnjmPyeoa5BeXcTQ9gqldyCl1GgP4X3t96cS2Kgs0bQclJApdRJSsbQ10oWBNcIBt16GSZaCjCk1zCNmBBFqvtQ6G1LWsMbCkvuWEhzMG0nlMhgMMB0NMxitYXdnAcDxGNRzDOQFjPTpj0XYNFu0crZmhNXPs7e9hUdfQ5Qo0PBo7xbRuCYkL83PbRRtozloHBMkI2CYoGDJCJyn4dCocm/FoFaPJBFoWOJzuQUmJ9ZUNnD97HsePnYZSErP5nIRMQpAopcRwNA5zVJ1HS7Rj3txra2Osrq6GqjCLEfBi08ZRgnnvJNXOvRs+bs2INLpYBeN+BmRGcylgy5KaOMsq0wbXrKDISpaklIgsCOa+YHDvG1F02Oj5rD842lm2XD5aXzjr+uqxmW6CyNRQ+w48ONSO1D+lCOrZIHGGhx5+GD/5y7/GaLwCS+IOUgWKjZQK23fu4Jc//znu3L4NQYILUgUKtcooGvcE9kiX0EPaIziQxHyWVekYTEnIo8gcBFFhY49D6t0QUvYU7OL+iGvYR1OTOm0yqFw9CNfO1cS0lrl74Z7b+B9XGHuiT4j3EFHZ6FXJANKYIm8djWSJFw/EZJ2+Ex0hhXXcJ0vJpjH2PlVLYDIZQ2uNg4M67mXHVC7+3cZiNBwiZwH0n21KtpBfI1LgFScHZxWGuCtS/EuBRlpTn60JV6QFKX3zCY5vQuyEiPAu75n7BRkxRGJREk/jm+7PFOj1/2I5mElncBmhT6hz/72iEFjccEi/30vC8yu+D8Kfia3AB+VaT9VTpTXaZkHj0yQMA6xCQKtlkRT0gzRBwS85b0diQSLOke3gbIvhYICtrU3cunsYxJ+Yiud9VMK8ceMWSiUxnx+gXTRQSuH8+fM4duwYVtc2UOg7ODg4wtF0htGgoj54j6IowwxUYg6NhkN0XYfBoIR1BpPhGM5adAgq58PhAEoHYTtdFGjqFrdv7cJ7oKwGKMoRjh1bRz0n9pEtYTqNK59fw2RljGYxhzEdOmMxHI6xu7uL3d1dLOY1dFHEGabwDovFAtVggLKosJgtYJzDollgUA0wKCs4Y7C6soqua7GyuoKqqjAcjDCfz1FVJTaPHUNVVeisQde1GI5G0Frj6PCAKMsCZ45v4caNu7D709D2IlQCWF0YzXb9xk1sHT+Otg2J4vraKh568CG89fZbPPGVdhz3jgUq8u9//zs0TaislWUJrRW0KrC5eRxt8wGk1HCdgbEGv/3Nb/DQ+f8ZZTnE/v4RNo+tATLQEONMyozOF/dlLLsATVPjrTdexw/+4i9RlQUBUUHvAKaFLkp86zvfw41rVzA93M9OOLfiJL/G6vK5f0vJ3n2ShaXKXLIJMp7dVPXMTlvGKklguI8Bdu/s+2StgJRE+Ohrlqp/zOLI0dLsnHNswfea/GQ/cbpflTa+j8yZIty25LJAPCV4EQimZJvwBGSyTL2kfTgYoGlqLOY2qJPTme9MF30Sz17J/bnPKLzx83qWLgML6Z+st5RMELCZJWv3GLDlleS3yQHHSFhOTzU93XS7MXmRqfpJqEDWguKTYoZM2giItjq7XE6U47UmuXzeZS5bG+c9pJPxZ7xnbRjE9eCNEXvbOeHn50fsPilkZENl4x2yGiSicrjpFvji8ke4eesKHnnsUXz3u9/H8ROn4LygApTGmQcext/9h5P4/ONP8PJLL+HgYB/e23j+FOkfdF1oJfEoQquk5HA29bxnI6XBck0+99tgajNrn1D86zhJ1KG/tCDBVLrBqqpQlkEluG2DMJ+lcV5FUQIqiKmFXDxViRNwz5kssaD4PPiUoOcAus+r6iwa55NPD26e/z2wWmXWg2tJLwkQQUNCDNB0HazzUEMNVDJORnn4woM4c+4Ubt68iUuffIorX3yKO9s3cersSZw+eRKPPvpVTKeHuH3nNqbTI9jF/QG6+72+dGKrlID0AgoCXd2GEn0AMuE7G8YLABAmJJJMlZUQsMZBKBV6b10IJp2zkaZWaQnpgNZZeGOhhYZwwPraBjbWj2EyXocqK3QmlMV5Nm1jWnS+g3EdZrPDwOPuWuzv7qOsdEBUXOj5dV5AC4lhMcBQBwStqw1c5+HbkBgylVYIASULeEO9D2WJQTHBC//2Bbz0u9/B+g4XHr6A1ck6rHWYzuZomy4+XOdDNbauWywWHVrTwRPNWAiBtbWVMGBeKVgK4gBkG4wbv8OBNiTcxL8vo3HxpPzLlQ8SVLoPSttHd9Hb0LyLOfcMKrCcoIUxA7PZPDyrogzJpAxU6ZSMIxnsLFXIP1PG60oiVAJkuHqz3JaR2yTUIESgt3dtByU0lNRBbMYFiuvpM+fwox//BKPxCoyjaxKMiEkc7h/gt7/5FW5cvwJ4SywC9l4+jS9Zojb1nb3PqJqUokRjnq2tSOJH1ibaIQsiuLznwvnUq8S05KyHKF/T5LBY1CI9xnTN/Bxo3UgdOSGFvoeAe59+Ix+fQHcbZgUj8udS0OdD5cEvqyux45JIvXXOhZnAMo2GYdpS7oRFDAh8PDf5PuY/nbOYz5ssoGFwQEb8xBmHYqiI9pkSVqYg+rQV71OpzBPZfg9NPE+i/7WHB2yqWqZH46MYkYAEvCK+GADpYk9dTl/Kn2l+78j0Tx330VKvrVsaf9X7PWqPoQ3ee/88qU1BMu+jVMHk4C8Ge0Rjyk2JjD21STgqn7vI/0mqaklQRVAGwMqa1PcGYiYIiQjslYXOgosw75aDh6A2LeCciaAfzaki2hSgVYHhcAQpG4xGI8ynM5w8volb27vQahgqCVJAyCBc5b3HfD7HvG5w4vhJCGOwc3cHX3z2OS5f/hwr68egdYGjoxl2d/cxPncGzvrYlz2f16gqidOnT4aWDeFw48Y1lFUJ40wcRWWMQVPPMRgEtNt2oe2laRYoygrWW9zevoXtndvB5rswm3lnZxdVoVHP5zg6OghnVWpcvXINTdNgZ2cXG5vH0JBicds0WB2P0DY14B1M3eLwcIrhOFXChZK4df02VidzTFYmaEwLXQ1w8bHHMZ0eYlbPUIoRLjx8AbPFAlprlCTQ0zU1pAA622Bv/wBN2+HDjz7HrV3qtyIxHEU6Ddt3d3D9xk0MhxXgHb721ccwHg2oGpECeC8YIFe4fvMWrly9ikpX8BDY3t7BuXNnUFYVrlz7GE3bQZcV6sURrOnQVBofvP8hnv3GU9jbuYWy1JiMKhLUI1aJD+rkfVDIx0AQ0uL2rWv48P138PQ3no123VJtSnYSo9EI3//BX+Cn//j/hncdqbsGz8cCPi72+Pv7nO1+DNC7DpErg/bVjIP6KgOm2dmO9j1rgWAQNZ5/3HM9+efmPyNE9j2RbHtfo+BeejTbt6T0noLp0FLklu7ZM7IQ2ju8B7xNjJzMGAsR4lLP90tAv4h2OV1zvrZCBqZPU7dYzOYYDIdhmgDFGou2hhcep8+cwfb2NhwxSVzM4wX9nR0IjxrL7p/sZLKpCkLaaJZExmLJwf3+6mfrgVRh5QRRxHYgG/UrOIYQmc1l7QBwHzv3cXuWIU1xYI8xEFVe6fN86PEN/IkIJWc/m2uNAN4SBzHz96nanPdC50k77TcvoIXOVsH1RDClJ4YgncIEXwBAh2bR4cP33sL1azfw7Defx1e+8lWMx2MY00JIQBUjPPa1p3H2/EN460+v4sMP38N8OqUQNQHk3ofJCoUraAykCvoLEJGazWBxmpRBe517vvMH6kPF00kRBTuBMJddqVAYcC7MLxbCo5ASWlUwJohdta2BMQ7Dqgp5mHUk5Cj7IpN0DTyrOIC7QciLZgz14vEI0QgfGZvMunQERiqKdTpnKSY3VBhS4BoK6wYopSGEgqFY1RoLZwik0hplpTCePIxTp0/g6rVr+OSzz/Hxxx/jxrVr2NrcwgNnzuKxi19B27XY3r6NL/v68j22DijKEoUuYesaqggz7WAtnBcYDYfBvJLYh+VI2YW5hJXWYf4dABgL6T0lxBoaYe5WVZbwzmF1sorxYITRaAW6GMB6CduFXg/rAu+8bhY4mh5g0c5Q1zWsCbPiBlUFKTSqUsM6A2O7kAQpi2JQBVR73sF0FqXUEIUADM3itWEOllQKg8EgSIELj0ILdN0Cn37yCbaOncDm1gaGwyHapkNXd4GT31ns7e2i6zoYEwyX0gorKyuUVGkoFQQ3hsNhluzkzkssrTknrPf2wOW/w5QfT8hMoDj2qxmx2kSKhdkI0/tUEEkcig2mC7QcdlCMEVrLghs5HJsof5z8pIpf7iBFrwqXO7U8yI7/Dh978Nq2hSRKsbUuHuRjx7bw4x//BdbWj6XZXETNUFJjPlvg17/6NS5duhTGSAhQ1SehV0zbtRFciE+DF+ueRABLSUec/Jvdv4wz+CyUyOBGNsRSxL6hWNHIRMI4IOp9dnQQCfnPgYH4WNjB8514mzl8SVUED4H+58X3kQmZjP2xFAD3ZgqKVOViKrnIk0PJyHe2e+9JvkRPndjQqJf7vSaTCe7evUvvnY/SCJ/cNA2KQsc9nZ+FvFKSJ7Mp0PDx3vN+Uz5X9ws8U9XTZk83/mb2eYhSK2BwigP4paoLensMKQGGCIGMlL0EfLk+GleDg5vlZ8FGQGRfxwgxB9v4x0QU1OrdmkjVZinSmeKEGBQA8I6P7xf7sERUiI3jlYQIysiMAEtOXrnSwAl0fjY5h2U2S+63Q0DvnYVzFov5DLooUTc11jfWg3IxjVvxzmcVp+DU19bWcO7sGZh6jtOnTsBYi5t3buPK9esoq1UYIzCbkQidDYBMGCs0x3i8ATEYwhqDjY1juH3nNoaTCrrQuHPnDgZlBWstOusgmtDjNRopeOtxeHgIqRVOnT6DxaJBvVhgY20d3ht4b7BYdOgaCedGEALY2NjAydNncezYMdy5cwebm5vYvruNyXiEtfV1FFpjdrSP4bDCYlHDGItCSzjboVBFULhsGqysrsBZi+lsis4HYZMPPvoQR9NDGG+p2noDx7ZOYGNjE845XL16FaPRCMePH8dwOERRreN/+X/8L3jpD3/E//N/+//CygEOpkcBMKBNOjua45NLn+HM2VPY3NrCQxcvwLs0ios62IkdIdAZi7fffocmHwQbvbu7g/Pnz2E6nePNN99G23qMdAUpga1TJ/CDF1/ErVs3Qz9xNcDtO9sYPHAmgACeR1ksWxhHlffQJ8s2/cP33sap02dw6swZoAVc1waxMG8gBHDuwQfxjWefw8u/+20A/DOxoQBMBzXkZfBU8Hi76EeTsBInbH17sxwP5Mkxb/zkZQQE6e34e6xTOOMuq0zK+/rh/HM8PQ+2h+l9+C+C2nzYtlN4L5IORjhbNlaD4qZg0T7S+QgjuPrj9TLjk1JJngGayoZZerF0vwjUyXJYwRmLulmgKEsCdpOa/Pb2nTi70xrT++yge5Kq2qla1gecOZZgsJdl9qUUsb+c78vx1d3ziNhuOkS5QwIqYruRT0/bR5Xt9H3u6+8BFkR59tlnev56eb3obwwkh8tJAC+3ycVvZNcg0I+XGDiPPoZGKjpiSYn8feKWkmnnE+MqzF1VEYTqMR4o6TvY38Vvf/0rvPfOe3j2W8/i8Se+AqWKMDNdCFTDFTz/wg/xyOOP4w+//z2uX70CQzo5HMcFbZdQvS3LkhSyQwsNi9GBxColV8PJfnHsG+NrbtVSSTBOEHPS+TQPWGZMKigFXQZBRudEyHs6AyWL0Aceb5t79hMLjF8M5odDG9gqgVErsnXNJmnwM4sTPqg9Q6TrtpZGiMkUS/FZjSJyBCRJIWCFi+2YYaYuMJmM8Phjj+Dc2bO4eu0avrhyFdevXsOdm7s4c+Y0zp47iZOnTi8fiD/7+tKJrbEOZVlBaQ1Xe1SDAlIBtgtS/3XT0bpKGq7LqshAZw20M3E2VakVShnK60oqwIVxQpUqUI0qbFCltqwmgNChR5LoiMaFsS4BnQr9ZF3bQXiBsigBLyG8hPQhibYk8GDaDuPRKqqygmssukULQKIcjNA0BkooKAhoXYUE3IUATQsH19UoJgOsr61gMlyFtQ5t3aJru1AMsKAqg8SgGmKwNojJGIsaDcoKo9E4UNN8Oix5EB9PIm2m2L8p2OkmMaVUgWXnkMZ95RSiXvXTMb01oC6G6UfZiJQUiIZnyZ/nqGosVKIXIW507u/L57MFZMnaUD+WXoQZb+D+w75ADW90Fl7oJbtMhwXgui46mdaakHhbh5WVFfzFT/4Sx0+ehrU011coCCmhtUbTtPjtb/8F7773XgAUJAXKkh2zS6imD0PYo+CND4gg3VgP7c6fXVzrLCDOX8sV2xRI9RUjlivV8X2zZ5qqUUzZ7a+ZEGkGG4MjiMJH+XVzhZrmoi3NCOSXJwot0+k8J0ZxZgsn06mim0QNwt8liMYjkuBPPjohfL6O6D3vO6AfXHkfVGV3dnbi3onrFu8hACCTySSeKe7vZSDk3uRUZGJhfcpyOlO8Hn1aoIswflLRXI49U9WCgqCsz0z8uV+KvbCO1kcF+hKPI1iioi8n7fBZ0ClYkCzr4WIKUQ5oIHNiebBMDtF70RPCiJV8JAZCb/97Og/5XDwB6lGiMM2zInQATD0lt9yz1jYGVVlCKkmIuYZzgJaCqg8smpcCeUmj4rgXj5+/d8BoUGH7dh1pkfxsnA0ylNa6CKgICqDqpukpokoJPPjgaZw8s4VLH19B01kcHh72AMuDgwOMBwXKskJjLY7mRyiUhHcCs8M5dKHgOofaNijLClU1iAj/YDjE9GiKoipRNw0Ojw5RFgUGgwHGkxHaZg6PMvTVDifQWmHz2CbKosBiMcfhoSag1eD82bNQSmI4HMJ7j/GwgFQSprPo2g6HBwc4ODrEom1DL5QNdqwsSjRtA601urbF3Tt3sGgWUFqSYrUAvMK1L65hUS+glEY1GOLGjVvRpn/86WUs6hpVKbB7NINwAsJLOB/EqLwTuHtnF/v7B/jBD7+P8coEs6M5nQVienkLQ3Zye2c3iGcJBUBC6wIPP3wBQki88/a7ODqcQagCqpmjrDQmKxP88dXXcHhwgKPDA/ztv/tr7O/fxcHREY5vbsb2ADgR1HaX7TabN0rATDvHm6+9gh/+5N9gMCihKDZh5pGExTeefQ43rl3FzRvX+6CnELF/wcu+/+8Ducia9bLr8f2z3r/K/G+ZSFD2a8LZAB4t2w246CPy1/2SWxaaSYnQ8u9l0xNiTpUB8Oj3e3pvg3ChUPckQOm284ozoo/h6Q+QSeCSk3O+Mq4iM3idB99cuRU6VMsW9SLMumV/JwSM6SCEwPqxDezt7d0DtAoCPRzpNcRKnUiAdgAjAwBoeHSRZDCQKtcy0ZSFZ6ZL6jdGuqPe+otMiEw4BwkZWuSzZ8i+lscCpf2RaRUL32PyxCQ3q74CGe2WAEQGLsP8+XtBBJ8Jei77KiFlyosp7nLwUUNZ+NTDKbgPGYjlAwMRAvBop1Mimd+EdxbWLXDn5lX8/Ke38MXlz/DDH/8Ia+sbwdc4CQ+JU2fP42///Sl88P7beOP1V7G7sxu5EREcdh51XUMI0Ki0MOLIMTuOYlueXa0CztkrOgTSmIsTS9JzorE/tDaK/vOUKzhKEgutUa6sQLgg8GRgwvMg+rAkENmJ1IoT157bF1zS1nARQAZyn9/LH5i+HBF2Vne3efia7pO+ySNbKSOG1xJaqDANwFpwmdcJYDwe4NFHLuDhhx7C9es38dHHl3HtxjXc3r6BtfU1fNnXl05s53Ud5hlR7+RsOkNZFlA6iGQ4Z1EWRUCOOJgiY9O0DUCUsbKsQq8PgtJpCEoctJYYj1awuXEMm8e2UBYDWKiAKhCK4Xyo4CwWi0Bz2jvEbHGERVPDeUMCBqDrCUmPtxISBQDA1h6HzRTWGBS6gOkc2rpBWRQodJiTJJUiBDBUPouiwMaxTTx08SJGgzHqWYu2bak/2KNpgtKz0gpbJ47TiAoDS0OFvfMYjseYTCa9/ooeyhZRmRQ4cy+UZ3qsDxVSz9O+ubLHszt7FRuajclRngibyxiehxYcRWdNFuSnz2VnwA3mjGpb54gyGIRWQpBJCWxn6TAmJ82VKCVEFP1htDg/5KDgXWZVxV7CQYYvVN4VBtUAzjsY72CdxerKKn7yk5/gzJmz6bppTIRSCtZY/On11/HWW2/CmpbG74TEVi2J5rDQlWJHlAUH8VktXZ8n2ojWOl577/rJuwsGKFz+D+gbi+w9BVXCUnUKac5bluSGZKePwvfwiUhppu7OXjKXBA5SAJJUMdlBx2r8Ur9PDsTEvlsaRRAoOny1+aiahGUGcD4l1y4qQQPeCQIp+jQ17z2GwyHm83mW24ts+QIKLgnUyB2zEJwoovd+CS13xFJw2f0lBco8WOTn3O895vVeTmqXk+jlV//Ze6bTBQ+Y/ZSN9D9OkDlIyYPFfD089S1zUuu5sulCLB+/z6hXNqO7f/0h3Mir/73rFnzvIlLTQ9BCutc29VQJdvYA9b+HM2mshbM22nvvPZwNs0OtMUGoToe2gljVEuka8+tiXYJgG3lPKgjpsbK6hsFwiLYLwajWEvCW0G8FZ0xIcjN8va5rNE0HJSWKSmOgizAvuChxYmsLBwc3MJ9PqQJaoCwGMMZjOFwJQbsH7tzZxtaxdSgpYbuwxx44eQqT8QqU0hiNR7h6/Sq0VnjggXMoigKHB4e4eiVUEOrFAlJKHB0ewrug3DkeTjAajaCLAtPZLIw18XNMj6bY2tzCcDDA5rEtKCWxtrYG6xym033s7e+hNQ1W19agywGGkxVcv3kDpgsz47vWorEmrH3n0DVBR0N6AemAqgjVLdO0UEKgni+wubmJycoKprMZvHVoTIODvV0UZYnVSYXd/UMIX0FFjQhEYSVJ45pmR0eoF22cVXls8wTapkbThHufzqYB8KL937Ytmm4BqSUuf34ZWgO6lCiUD7mv64KgIwSuXLmB69e3cfbMQ9jZuYW1lQ0MKgq8Ym+4jMymxGBxqaoI4O6d23j/7TfwzHPfhS5LmK4jdeCwX4uiwIs/+iv8x//jf4XvuizByQA/R0wTcHCZ2286TMJnjKwUO/glX9HzJcguFOlsc0WJK6P5e7js5IASwfg2DMJHAauULPLP3A/EDaASB9KsK2AjoJf9dGZjEjCV2C33VovjdbuURomM0onMT/GzWwahk7sg/Q0oDCqgbTtoraGlykT1PHZ2dgEARVHCWpuel8/e03PLCaPXvNZp7E/QkAiq755mkCvFeg5E442uMv1ivgYif+65X4aHFS6OoRH0WaAY2gNxP/WAWZ+qcz6uj6f16698ZF5nIEevwpxdP/8CAxcuj13A/bMu8+FZe5ZAqNXTTOXEFPIkXEgEf+r7dHxGPc1Ll3z/JN4GC+8tbG3wwTvv4uaNm3jmW9/E17/xNAbVmNbFoawUvv7Mt/HwhYt4609/whtv/InaK1S2boC1IRcpioLaGEWY6MIFkfgMXXxOLrbcMQvYZ+sVFPwtTwxxHi6jWPNLQqBDF39NSgULD+cMfS0hoLJn6bM4LwHQIafosyYltf14z0WK1CII6r/1In3P0/6yzsfiUIqNlotmYS+HIkc4G1oHT1DXi5BrqAR+nz17Gptbx7Czu4vPP7+M27du4su+/psqtoumwagaUEUzJHBSUyLlQyW1VBrOW0LCeZi5Q93WcADKaghAoWu6wLWWHuPhCo5tbGBr8zhWRhNIKBrnogMS4nykJBpjcDg/gvMG86ZBSz1QHiHJURJhzJC16DqDtjFh+Lws4VsBKz1JEIQgX1NfLQSgCh2VViE9yrLAsc3jeODcQ9CqwuHhDK7jnkmPmpJaHpbt4UM/rAg9CAISDpmy7AABAABJREFUo3KAajBEZ22kKAZVzVQF5R2akClB1FsavEybvTM2GmnrHax31MeWDD9XcZxF3LRCCBiEz9Iq0B2M64s2CWo2j4JUIqkn8zUGpxzG5QjIOHtSQECo0PsaK51s2zNKCs/BSsiXi3Q/KWVAn4TvOQo+dG3bQgAotE4JEQQGwwFeeOEFPPzww2FshgvCEkx9AIC33nwLL/3+92ibGgIuCs8odS/tUyCJ7yRHkrKVvArG18dq0Lif88xn4dE/MU0lUYV4FmleYc8MIj9fl/YKV0sTQhyuM1VcM+fo45PsBTX8c/kzSRXDPDEndyIyfnN8Rn28XjAaCQFHwl0sPJX2QsLTvXMQKMg9KrCX9t4HIGZJN8t7j8lkgv39/SSIkYl5CaIM1fUsjNDq9bGl90gzZpd6lHm+n2CxGjbg+eT0/GyEZDhUHfm7mVO7D8U+3QsLPCzT3Pkn+BoZ8Q5zv1NrAgc8Lj6zgMr7NBrsfnEGzQ8XHCLRSBwBCctCL1nlRGQibgnp573C10eqwpbHdvpIQ3RgapaKiTi8D1Va5+CEgHc0YF7I3n6C99BKwpGXtM4EWykFJcDhZ2JbA12ad54EP3wv3gqAq0I5HKIYDFB3R4CSGI6HUIWCs2ENOGjkIFUIgZ2dPRzNG6yOB5isbODU6ZO4cu0K5geHGA4D7bVezDGfL7CyUkBLjf39fZS6oL5giVMnT0LS3iqqCisrEzz26EWMRxO88dqbuHv3LvYP97G6uoL333sfk8kE4/EYjz7yKJy1mM/nWCwWWJmMMRiUuHH9Jk6fWsfZc2dx4uRJFIXCtWvXcObEGbz5xhu4fu0aqqrC7Tt3cXh4GOalT8YoSoX5fIbDw0N8/vk1DEerVN1VKPQArakxGg4DLblt0FDfrNYSAgWUkijKEhBA11koF+ZJCuExGg5wND2EFAJd26AYFFCqwPkHzuDarW14BxgRZljy2kpKSt555x2YboHjW8chRAALn/jq43jvnXfItoVz7GICEYDW8coE773/PjY21vD8899GWQYdiMY4fPHFDUxn85gsvfzKn/Af/sM/AHKAo6MZBoNJAH/IDrNgVc/+MzWWaJLeG3z4/ttYO7aJRx77SkjUnQn72YQzfWxzC9/89vN49aXfhrcgATTnXFSGDkrg7EeY1toHlj3by8gW6tuR9HU65QkU8/lhjkBW/7fT15LECl3PaDD9UPTsaTr/uO9LUAUv/J/sXeGy6m4C81zfB/pkcxKzKgnqxXzKMXqXFOhDTJFiGpeJ8/UXIAEDWhWQUqNuanjpUegisuBYhHE0GqOua9R1Hdchf8dIoc90CXMoUFJ1yougXhuZMR5Zj6LPqqtp5WICGJOlJP0IprfS+0VgMxMt4/nHyPZ3rNOxWBP16HoZKqbwMvPdGfhC/++iKlrWq+l8+iGat+yIgs9hiIj7O/fRmZJ42jYJeLqnDagvlJq/nE8MM6FYZyH4Km8ddu7exK9+9TNc+vgSfvyjn+CB8+dCCxsAeIXJ6jG8+KOf4KGLj+DVP76Ma1euoGvbKPYpRADNm6YBkKq3qWJJLEBBrQxeZPcpSGPJ90BkQWvErE5HvoJJUhwnWqYOy5Cceurl97GAnarYPltnfmZMUY6Wg869jy2QJJKWC5eyQIegvE6o3sQQTmplBE+YWSBiDMwTcuJ+JUZeoQtAkJ6QtRDSo1ASuhhgMj6D0ye3cGf7zj3P+M+9vnRi62FhbQsLHRIaeEhSO5VaoSgGMDR/b76Y0TuHfgLNc70aAzkKmftkMMbm5ibKskQhSwyqAZQsUdeGhmsLWASpbSD0YRzNDjFvF7i7vw1VCDR2jtY1MGS5tZSEWADj4RhdYyBcG6hMlmg/PpT2LdFBlA4BhyX1Ye9tGNKsNTa3juPM6fMQQqOe12hbAyUKdF0X+O3WQlHA4p0P6l/UL8FD5EtdkFiGp5EmAQ3PR18EWoqK1UM+GDLuAAEIC6nIwHtBo0UC7ZrnyCFD4KSQ0DoEpNbaSDNSrHDqPZRX0eoxpcRSchRgxawZn2mjZHyE4AZ+EkVSYXyCI4CRx7mwIaIbRazVkeIvloJ+FpuJ+84HUEOIMP4CSNTBQVXhxRdfxBNfeyKMqnBBHEFKiUKXAATee+c9/P73/wV1M4+CQVrrJI+eoVWIxl/0Pj8ahExoiO8kp3AvJy4cXOT/Y0/PxgqUeDrnYl9Q/H7CrpF+KzmU+LksjNQT3/Kpv8Ij4w8l5URH8zjvrSwijDNhmleUMI4yk8upb0QA0zok55qGzWc/3KPB8b8T4ufDnuWzlP+XV2/Tv2fPEh7WBQM50Kr38xwcgehvwL3PrNdDwsafzqD3oWVCRM1C7jlPPe4RYrin+t7/rAQqLAdw+T5Etsr9YIzvAxzAcXAcnwV6yDgHtvwukisEVD3SUlEix4k7jVFgm+VtFHlBRHDD3g1zMh2k1LEHl9kGkgC+gGLT86W5oXFEUU8FGnDWBFATFs4ZtG1N9l1H8KAoCtTcpxkDbGKyuADyO8sjstL5CUlRYLIURRH6T7e3UZYlNtZXceP2ESACo8hLgOFr74HpbIHXX38TpVaotMJwNMBkZYL1tVVIJaB1gbptMZ/Psbq6hs50UEpjQOyC0ajE/sEBVsZDeA8s5gs45/DHV19D1xmUKgjzra6u4eGHH8b6ephNe/r0aUwPD8Nz0iUGgxEKJXH27GlcePgRjMcTtMagaRrM5y3WVo/h1u07gFSYTmdhJqf0ODg8AITFYnEEpQMApKWCEQ6mM+jaFpPxKFQnvA0V5NEA84XA6sYqCqVhjUE9n5P4o8fa6hqOjo5gjcG5M6dDRfVwFye3NrBzdxelFvBdi27uIboOE6mwKAWmbQaQ0KY01mJ/fx9ffHEFxzbCXOoTxzfxwPlzePutN0LvF1ld3nsOEqqsIJXHxx9/hhPHj2NlbR3jcUVK2gq379yFIZ/rPHDt+lW8+967ePqpr+Jg9zaG4yEGZQEHG8bxCGIlZSIoMQngPn4vYI3Fu2++jhMnT2F1dQxrglidz/b/k19/Bvs727j0/rtQhSZfL4OvhKNZkP3EyXtiOLFWBbN2lkDM3JZE8PI+9iNWahmjXLZFmW2RghPtmA1F8+NdsiV+6ffu99kRSPIeQrrYx7k8eqbPtkEEvPu27157Gtdh2cd5hKkctF4BTLD3rk1vbCJfS3h25aBEu2hgjQmKyVnb2P7+HgDE7y8WTUoQqBLsvO+n8uRTORnhBMCx6mwE/ILvsUj6CQmZy/8UyR0LlzpDYqDCAk7EwCH/kgYqimgPk2sm/ej8kpHig/ixfeQxVgYj9Nmr8mYAqAvCjmE2tO21IfWeTebLlwf9chybfKoI6yoQRnbm5yITbMxqBHCw1LMv4OoWn39yCf/77W1849ln8Nx3nqORog6G2uhOnz2Hv/v7/xsuf/YJ/vjKy7hx7Wrs5ZVKQokw2aSuG0gpUZYlsdZ89HdSBIp4XJMsjrSeWzqSAKVgUSwe28PVfjpXhlfccKxngDxRTRByYNlkVHgwaBRj+fCmXC11zKjj/ZNtLiEQmLtewhMLz2eMsvS0EyMPuTBogmggtYybjeMf7TWUVGjqOtoJIQXKqsSJEyfwZV9fOrHVWobZfAgiTco5CBdQV6VCcuesg7MtOtMFqqeSNItvAmcc2tZCWI+yKHBsdQNnT58LTrk2mB1NMT+cwTQWUpbQRYliGISchADatsHO/l3sHOziYLaHolKBfgwLSAUtNMpCRsEOX5SAF6iKChIq9Y/EQE8Qvz+IW1nvIKVDoRS2tk7j5OnTGI/XIKDQ1A2scdBSo66b8P7eo207KKLRWp5PRgnY6upqpEFqUmwJ6aeKaxo3uJDk7PoU1l6SlwXvQopoMELLDFVZokNxFDMGZFNrDS/CWAK/PHeVfjcIjgbpcKlUNpeUfo6rkz1VO/p+3g8abhQO2XmIgWefxthT36XEX2Rf50ltVVVpLJIPSOpzzz2Hr331qwBRnUMfi4RSBQCBzz67jH/5L/+C6ewQ3oeZkVoW1G+QKF7OuV5wnRKO5AD7SnPZ4ZSpX3QZCU7Oua8aK+CJ1ZFEGKLhRr/32JMqXvrX0CMopYpmhNVXUwbDnwNShJXJ4oGzu0QlFpnVj85UhEQz8Us5yKEkLlsb0Iw/NmAJ9OB1ydYtCnLlVOY+nRTUcuCWxhxxtdYYE4Tr4t5MVU3rPJp2AakUVXUQ91ReoQ7qkktJbRy5k5Q+Y1LESWDWRxwdsvCpqrL0ysGTeyoF97ihe/cNkKjTyMAOpTI7QurzKanO9kFMGH0vKuGdk2a+EiVOqN44C+do/ihrSvnsuqmKw/07MQwljyaFJDSan73Pqm4y7rV8b3g4GvcTOPvWWQgZ+nGCA03zshNY6COAZwyf6SDyknpuwScviIIoicFggIODAzjn0LYt2XBSc5SJgeJdmnHo4DEcVVBwMLbBtWs7uHpV0DxyDedaHB4e4tSp07Fyo7VG180BlES3Ujh27Bjm0yPM5zMY28EaCwOL0lqUrkS9aNCNLHbu7uLo6Agr4wmOb23h9u3bmM1mmM+muHbtKh5++CKapgWExKlTp/HW229gMBigbRqYtos+YLI6QtstUFXULiGD1sX62hp2d/bQtQ1MM4UYSAgYlKWOSpuTlTHWNtbQNS3W1lexu+1QlSXW1tZx/PjxMIlgbw+zxQzeA/NFg2Pra5gMhhgMhjhz+iSkAra3b+LcmeN497PreP29jyFcQeeKqoQu6KwuFosgECgFHnnkIgnAZVS6mMsEKqLSJT748H0cTefY3AxnsTMe49EQznb47PLncLaApHYo6xz+8PJLuHDhQQhV4e7OEU5tbYQGJOkgRIgFlMrodM6lM8AIp3Q4PNjFW6+9jO/+8MchcPVkz3wAyZUq8PwLP8bu3W3s7dwFtIgjwphCKckCu6zf29F4mHvNQy5UlPuc3Fb53vd74WZ+1paqb2x7JVvo/H7B9i9ykWOClDOxomXLvyZQi9vYAjGtl4lFlk9+jfl79L+X/VtmaxBV8ZOgESdKPKKwV3HOfQ4ZtAgYCmA4GqBZ1GiaJvS+C8R9GADy0Oq0WNTxfdmmqaxNheOlaJK1TMVN76hM6+GlC2I+NiRBXmTXmoUA4Rq5ZcSDp+l4buvxyBh3XIlN9yyylJuTmt7jiMrI/cSfE6W+o4vfRe4aeqFITDhZlHSZYZXHXi4k5X1nFhXFe4B4L57kOKt/DuJlEHuMxRM9PIW4Ah4GB3s7+Jdf/xqXP/sC3/72c3j0sUdQViVVigMT9NHHvoIz587ij6/8Aa/+8ZUArDsPhTRKMrRK1iG51TTiB0HjxAlmhBCrkeLuuE88242YD4brE1neQtfOPj5pUwSWRdfZ3rljfRqZM8foDHKxSgrOGWQGWnCsnT1sGpcnBT+RnIfQp/fHKDkrbLFic3xHajkCUtEMoEIose2MtdH3hnnTX+71pRPbyXAIQ3QA03WBb06VQ+ElbGcgHNFfhUDbdijKAoUHSl0GA942GIgSxzdOYH1lFcIrWINAO1YVBsMCtgyollQKUArT+QLT2SF293Zwd+8u5u0cXljqmQkPQChAFQU6Ex7qcDgGhILU4cGbxsbgq9QaZVGE4CkeQAGFUMnbPLaFU6dOoywHaOYdlKBKRdcG9MRZFDpwWHWh0NoOxrZEoxQYj8cYjIaRCsgHztMcqfigWd1Uip6Bzrc06HAyoY43ZkQ0heKGjbixwp/cz0joKCGWjNikzevTMO0AxUCq2Crfy4XAgX0mqNTTDKaeOGSJSzS22T5ihVNOiOOLVVEpiZQyKNCBRMFcFLEKAjrf/PZz+Pozz0KoAs4LQKhAZlUlIAS++OJz/Pyff4b9/bvw3kAgUBskBdiJHrwMJiAeyLgKIm/CD0fmfqMGe6/YlrrckB/9DutPhv/JpDDMCH5u7HuOX6bAKCbgS2OSEo2VkxtOXPnvPgZWhIqkcp9gtK6fkEdkWSTV7JQcswJmVo2k++fgmqxFb0OEHyXjq8Kf1jp0Xd5XK6nCmlSSc6fofVKwBQIYMhkPY1KrFM9Zy5JU0QcPUqQpohBHDlowcO6J1cBf8GfILKFz6J+TfqUWvc9N1e20dvw82QVYrnrEx8NVVaL4yGxDRGPgUhIrBQ8ezIownOS7LGF1ENJGjCQHcXx2FlKgm74Xfil2C0ZAAzyrML6TACJZLjx71o/kYN0aE9mBSivYTpB9SIn+YDjAfDajo5qYKkozMhyenWXROQYiTJgdKARgOgtrDcoysHDW1ya4cXMPTmpAS448Q1LjASE9Hrl4EefPnoQ3CwA2ijMZ43Dzzh6OphYHBwcwJFAHUvFt2xZjU+GB8+chYFFWJfaVxMHBPiQ8CgIqpBKYL2b4/PPP8OnHl4J+gbN45MIFHO7v4e72XbRdi7ZtIADs7e2iLEt8ceUaPr70EaSUqBcLCFbnBNA5E3rctIaQEpPJGOPJCqQQuHjhAq58fgUffXAJm5tbaLo2TDkYjTCbz1G3DYyzMNsBAPbHgJOnTuHUqdM4mk6xur6OwXCIlY1NKK3QNA1m0xmm0xme+OpT8N7j2Po66nqOreMbePjiY9j+X/93VB99Cugh2s4S7c0GlWfncTRbYDqb48TmFh48dw7S2STwFPdNOrfT2RyXLn0C+DBOcHv7Ljw8nvjK4/j4k49x4/ptrK+fhNYFrLOQWuHhi4/g408+xZNPPI5rVz7DoBRYmYyg40idVNkIW1PG8+QFsRaImvfFZ5/izLnzuPjYE1Bw6EjkUrYSXhlUwyGef/Ev8NP/9P+BMx0gWcQvO7OeWk0cnxAZ+uvYfsfqWrIleZVLUoxgYx6U+t3g02zw2CN/XxtIdo/ASeNcZqvvI3SXYWXhClgNnoJUep8IpnO7VSrtJZBcJLozfACS3H0BY46rcpsq0ji32MoU/BzvGUiRxWQpBktONL2/gIAkWmZVDYihN0dZVgQoh4RkOp3De4eyqrC+toE7t+4ADjHO4z4aT0E9b14Prhv46Js8Cd8JEphksSDeGkmbg58fUa5pL6ZXam/hveuJlhtXjRh9odTisoQkLs5SEuujF+B42WeJFgOGHhlwzds6LD5n3YEJxkJ+mfK1QAC43NLMYWb9RT0al9YxXCuLet5nVJVMSWDC/dPYHRd9qov7+Ornn+HWjRv42pNfxXe+9z2cOHkSAkGnBcJiMFzBiz/6S1x45DG8+vLLuHz5M9iui76bqblt2wFdYAUFmmRoRZTcW52JZiW9bLolOuchLu8ntVxxj+Ce4DNHD1qKuJ2Z4m6tg2HhNdaXyVuxyOL0QQt6B84P4NGaDmVRIA2mJN/L/jwX8hbpPvLzG880PQsV9xd5dwLPFP2O1joUH60lnZ4v9/rSia2gkjZvMO6jKnUZq7WF0ugMCS/4ML/WdA6DssLG+irWzq2iKoYo1BDD4QTeC8xmc4QJQQJeaMhCwovQv1vPF9jZ3cWd7ZtwLjhz5wykEkTi8QBUqJxKRYeEAjWSkbYtqWKSCJKSKlQlZFAT44UeDAbYOn4cW5tbKMsB6roj9xIChLC4XVh3GSpDIWkMwkxalhiPx6gGg4DOWEPg4RKCRE8+BM0iG8uTo0zJYflIKUlBeduagF6ksx+fUf9FHYOEhPN32Jjz53qEuYVgZWPve+J4nJRER8by4HT/nmYqQkpK+DL6IyNr2XuRxYlUDdDz4g9QWlJVXIQRUJ4DUwelNJ56+uv41reegyo0jCFwVgRRB6U1rl69il/96lfY3d0OSpYicPg56PaZ2jRTFfvOOiUboa/RE1iQfqR3NpZQcHbOyyh5eir06LyIQQs7nPx98uceAZIcukV6/nmfRh89p4SPp1ogZCSCRlkI4WKSxrOLRbYP8muJSWtU6yQ0nPcHj3zhCxMJjcv3Zz8Bp3aGbJZhqtYmhV8pwzDwqqpweHiYJat9NN/SbLVC67hEXOkHUtWQlzuARJw8Z/RwIJs3ma4+H4MRCV09inN6lr1wLF4jsvOezuD9KhNu6XdZc8bz7Fi6HhGZHhl4kVXBYyLrRW/OLZ8rRwImQgDe2qChIPuq0JKqqTl9rAcIScR1lUjzeJcDUN7SghhOgoMs6p1jlBYk/iSlDGM2qMdBEAVdK01rEt6If9ZTQunZxpD9dAwmek8gkodSoRI4GFRh7JxS0Zgyu0VSGq60Isq/hzUdvOkgpcXKZEgig0MczhbY3tnD4WEQZaoGAyitcTSdYlAJFGVBCXUH5z2KMjCSfNdgdW2dxPwcqqqEUhLNIojlwXns3N1B1zZRFG1QVVgs5rh58zqqQYWNjTFu3bpF52SE9Y1j2NnZQVFWMKZD3dQoyworqys4d+4ctrd3cDCdYjpfYO3YMTx88SJm8zmGcoKrV6+iboN+hFChJ3QxX2BldRVr68fQNh1ub+9BFRo37+5CSI2PLn2M8+fPw1mLu9vboQexs9ja3Awz47sOzhnM5nM8+ugjePm193BUWzRNDQ+dBUQCi6bFG2++ie9885sYFEWY0ZxVbpRSaNtQkVda4dLHH2M+m0emw+bmFsoysKvefPtdOAfM5jNMxivQhcKp06cxGA7x+ut/wvzoEM98/au4vX0HVXUWAppGePh4lu615dymE9qkrDN46/XXcfzkGayuTeCMh+ks7TsHpwxOnT2H73z/B/jDb39BZ5h6z2hevYgq9ll7Qx4lIgdJSfAn70fND3VemUFK9gQf1JjPicy+pRcHyazSKzIwPLcJUQhyKTz33P+f2Z/8+fr0KRSc50kU+R8ftEX6LxERZR5Zd0+VOOtL5hXz8IBNY+vyqm2W7sWkOcY79CoKDcDHSpzWOvOLgOsMuroN6rV0DT4Tc0yVLaJHL+k+hGeZq9byOtAasqCiAqQTWXJL4HGM55IPYOA59tPGRRL9r+8R/hLZXk9bvy/LF9GTCGjmYUqKeZcEOGKFBHHfeGSOLb/5/LFwFT5rp8qqA73rEku+Nj7hLBn33md0dz4bKXk0psE7b7+Ny198gee/+108/fRTGFRDKt6E83Xm3Hn8X/7uNC599BFe+cPvsX3nNmTmWxWJ0HatgdeI0zdyrYq4Ip4Fp2QCh7P5y/mtRiAooSO05uFeCvJtPBpSetn35bFtKTE/IlAvgm5LYn9lBRPvQ26T08wFeq1e8c640JII9nHd476lByRkYoHyWUmxo6eCAVG+XWKp/ddeXzqxbdoufKBUEJBobYfGdHBUOpZQcF5AyQKjaoxpfYS2bjDQFVaOreHkydM4c+oM4AVMJ9A0Bl1HN2gpwZNh4Rdtjb39fewfTTGfz9CYRRhSXGn4zqNpu+BwFClpeoNmvkAhAyW6sx5OhZDEGQstdUQdGmcxmzdxXEZVlpiMJzh+4jjW1tYhhULbGaJHCbSdIXVNVgUNdKYuKnd6FDrMpy1pDq/zNuPASaJRUH+QlEQL7IvKSHkvlcjSIHsfqzPUY+hEDEq5csOoh2dD6qP/DSIAy8cp9oumhFcQogLEpoxYeYlJlqPkRyEaQWarCrA18Zmkf6pSs8MQsb80zZpNmbSAaTt4C1RVEUUDeL0ee/wxfOf556GKoKYWenuDArLWGtvb2/j1L3+J61euQlEhSzLtcdmD0+3nzyEZOvoeCWkIOrAc14h7KqRss3lOGDvI+/dNRmoS74Xs+4LoioDIBL6SgBEDInG5+V3z+aKMljFgwFLt8HGIOmhge/SnWe9svhdzxxd1ivKKKT9vz/NVeQ/1Z0NGc7k0IkgkrAXeAx0hoMjEBbx3sFZgsVj01j7OQwtwH9qmw7AaZs8GWQDoI6Kd9jQnahQocQAt8gQOaYMvVfcj4knPPjib5LSWgQLeKMtB2T1/59mCXHWWnMi71LIQs0RQf3KS3A5sP0ZvE1VdegKiIkU8jcGB95BKRwZJdnzpehX9PWOQiP71h35fBjiyhJudseRKA1VGIlAgYIwJlVlrI3tDeAlvfWhzcR6y0FRlLdM5ROrX18n6BOCRAkbF9hM+mDbnMR6PsX+gItJeFAWkljSWKARTzgNKaaiiRFvPcHR0BHlqC6IogsqncyiKEqYzKEpNtOMO86MZqmoACIH5fAYtB6iqAYxpUdc1bt66hWNrqwA926ap0VkT5p5qTdRJA6UEylLDOYOi0Dhx8jjGkwnKKiTlutA4cfwEpPCY/+EQg8EATdvCe4sLFx/GoKxQ1zVub9/GdDpF09TY3d1H03RomwbXr90IY3scgrKy1jSr0dA4oBZaa9R1Dec87ty+AwVFGgaBAtrRKMArn3yGw8MjtG2DsipxdHiIa9euYTKaYGNjDV3XRir4aDLCzuEueaxUdREkjrhYBLXmZl5DKw3hHSS1oGxsHsPs2nUopdF1Fpcvfx57oSECCNJ1FrduXcXu3T0oKaGlgxQGWlUwbY13334LXdfhT2+8ia997Qlsbp3Gne09PHjuDOCDICWiIm6yJX2wJrFxDg8P8Kc/voLv//jH0LqEszWEDQmO7Qw0BB574klcv/oFPv/s4xRgLvlOz0lRL6H0qa+Y9nqo4qn4+Y4ukGc6U/6U+iUzYcpk16MVY8mX6FP6jBiR3fNScsv00RhgcLpC/ZEp445MLP4JKlom5Vo4xIGcHkHkx7usVShlW/37WL7W9Gx8llU75yKriAH6GOTTfcWYKlN1hQ/tZUKo2AJTlkHDQ0kF54CTp87gyaeeRtct4FzoFf/s009DDJeve5wTnObVg4pGgkbJsP+UbINkqGeliQhIM79TCpKeUQa8JnA8RhjZxkjquL0X+17+KwumQWTPMz5WKnqk9888ED1cF6uCy0B9PFj5tbL+DH94r+k3S4IzCZqofE/K5JF9xUy1pV7OtHf5leatOuvhncX+3l384uc/xQfvv4fvfe8FXHz0YtiT3CutJZ548mmcO3cOH7z/Ht58/VUcHR3GixNCoCyLMKbUGPJ9GpooGyKPhTzTg2XveQEeSiqIeF5ZLCsliOxjhQhjq4I8TrINvD4+gkIu7jERdScFdZ95ErsSSZgWPqmmZ8U5D85HKF9hkEoEAIZjgP5+6Y83tcbFqRtCpLa4GP9lrLP7TCP7s68vLx5ldRBckg5Kh0Si61os6jmGgyGEMxREhXmwG8UIs85hRZVYHUwwHm3Ae0WJQhi7IAXNHWSKiHRougb7RwfYOdjBwXQfDY/ycRaDYoDhcAClEKqtZMSHg0FE150LwYiWoc8S2qMsSnSmIzS4RkP9O+PxEKPxGKdOn8JoPIb1oceh0BXa1qBuw+B1eoqQMlCtjTVxFMVwMMR4HEb5MEUS5KyjmIoPSpwRpfU265tMwTfQR0AcGT42/BxkVwOiIBPVRzgRaR5gMR2kno+wvonisZxAg406UWFD9dtnQW9YyqS0mFC7cM8U1Ecoh5LbHE3zCX2B4OtDei/6u7UGznqq1CYpcucdHn/8cfzgxR9gOBqGCo7k/oxAIz88PMAvfv4LXP3iSlRlVpIqhktIbHTMfZ/dp/VkqK4HD5mW0fGlX0mOPlYzYx/vfZIWnnnKe0Agfo9nzbGwU3/OGKPUmhKyjOacMtLsXmh1vc8oSlRZjeqK6fdFVLNOY5vunbO4jMLmn4X+/d5HgZLpmYyepsQ481YxiEyfq3WB9fV17Ozs9JLauKbkzKyxqCZVqlTc14ml4M1H0RbfM8Q5Oy3jGyQEE+zsfQYkyfg+fF1CiHA+4+f2A8T7/Yl4HkHJQ9aHhASWpD0nY+WWXaLIgpZUMWAxC6L1Ch97l1JimnpgBQEv3vcTfa6wpF6hfm9TBABy8IycMgc81vml6m/aj4GCF4bXIwNx0lkvUFZl2orZXGchBBypIYMS7bRPJKQEDEJritYKTdOiqko0TYON9XViHdkoAAmyzXXdQjhgsagBgTD3XBVhFp8JNns8HGAwKNG0FkdHR9g8cRyC5pG3bRsqooMyJMKUxHvvMRgOoZSEho4V6aoocOzYMUgpAxOoKnFwdID1Yxt4/LHHsH13G03XYmtrC2VZ4Ob16zh54jSObR7DjZs3Ya3D3t4uzp4+E+1E13UoigLz+QJVOYAvQmCipEbXGpoIYGkPBArYZDLBoBrg8OgQgypUfysVdAqKokRZlqjbDsbaIBopHKCA1rRQXmE2NZgezHD92jVsHd+EtRZHTYOTJ07g8yt3goooqXkmQCTQV+tFAzdqYGyDQoaq7bmzZ6GrArh6PZ6ntu3iXuMgr207vPPuu9jYWIOUEiuTESAEjLMQqEMPtvew1uOlP/wR//7f/w0O94/gHA1FE0n/gPcmJ7YJtmJQMpz7K19cxuZ7J/DkN74OrVSk1FsT9n8xLPGdF36E7du3sZjP6KCEKg0LTsmYhAZaMds2H3snOc1lMnNSUY7sBxpbhsyu+iX7kp95NutxDcnO5eMIoyXMWj+iBkKe7OeyIMzIjbFETn/M3EjeOumzz1r69PhRIjvz2Ssl24hpWe7vo39kmyVFZPP9OZsc4yaPqHgbQB6H4WAcfcLO3j6+/s1v48y5U/DOwRiLN1/7A17+w8twxkZf6HPHkuumgKm5oR/Sexu6/UW6acfc1ZhoIj24tDr5ivR+Cj7/Cf4dmYG8/d9F/In0YO91/T5lM7FNJU9E8/cT6F9BlsT57Blln+J53GVeMybX3pF4oNYyJP7eQ4EFuET2mViKL/pxcCpMcAJuwP0CpjX4/PPPcOvmNp76xtfx/Hefw8bGBjwUiT4BK+tb+M53X8DFCw/ilZdfxmeffYamrql9iv2QCMUwns9OAI/0lETSTOs0b5nbtxCLPvGOssp82lci3VusmiPafm4R5TWN7TXEzAC3cglEy8ETT5iV50k0mAmN1sUqR6gQ51bRpco4L7vMzhaDyc5zgSXsVU0jOiWxs/L5u15++cz2Sye2nbUoyxKtbSAgYKyD1iWUAKpBCe+IfmMdRoMRHjh5OsjttzUkCjSzBo2qqOoZFtR5HlsT+nZb0+BofoT9o33sHu5iVge1RV2qQI/TAk56lKMy9ICYDl1n4kOMgkqSaJZeQhWKqrOAsR2UdFidlBiNhjh18hRWJ1soiyFsGx78YDSCgID1QbTEWubPK7Sk1Gpt2Hyrq6tB1MjzQ07TUCLCCB8SS3A/Hstsy7gp+IA5WpPADvUxmY3DuHOEzTPyB1hvUuGGjLGPxt/B20R3Sahs+jM0bruYaDnheokF+wMWaAgbl5JX6/roM2/sPCmMbXgJoYugYeYIeZzToKiyESYBrDj3wEP4wQ9/gsnqWhhVRICBoLmk0+kRfvazn+HTjy9RUO+CGhzNooto+zKN0jMSnowcV/djMixEht7T9Uc6qOy/HzsTL+5xNFE0IzugHnFxoxx81xl6T0JzVS6yw8/QRaEbmV/z0iuvEi47l1h98IGNwP2vPqJyPlPCJf/jBZbvLNJzCYzhflPBZH5GcxU/bJmoz7lBhs/Q+WTc+XV0NIWMw77R609y3mKxmMdZwqnSyrTYpFzMoEs4J0wHlPTsWRwENHpDZj2iQdgjARciKUeTQASYkkMJoHMu0IE8SEDCcadxoFhGB4xIM42fRQfI0mgwPk+5eronin6vp19I6ukJ9LUodkPFeiFlQIAzJ8NJdC8RpbEZ8ICDSYEjrSOHAUqG/mj4VG1AZgODwjGfPRvBGkNYsIbqMSqc8xHZdaSID3gY00FJgbLQGA6GsJb6gQmoCaODwrNxxibKE12PcyGwWExnREVWqKoRsQE8qmqIjfUVTG/vASgi6u986lc+PDzCZ59/gfFggNXJGobDEWA7eDisrKxhPNlDc7DAwfQQ3oXeWiWBprMYTFaxv7cDLSVWV9fhnIRUBaA0nAhzuquqCDMt4VAUCkIqNF0DqRWkKrB9dwe2+wACHm1b48aVq1BKYn11DWfOnsXKyjquXLmBo9kMa2trkLpAUVY4d+YBVEWB8WQMAYnxZBVvvvkmBsMKTnhUlYKUHm23QNeGXqqCqNlHBwdYnUxgjMVAFdBlAWsNjDMQNtBCi0Lj4OAAg8EQohNhTrztoMsSkB5KlziazoJIoS4xLMfQUIBQccRH5xJaXw1KzOsFHnnsWYxGFf7lD7+D1B5PfPUxfHHlalS1j8GTDaCulMEvX/7sM9y6eQc/fPH7eOihBzCoCgAeddfi3Q8/xt7hjVCZl8BHH3+Gd9/7EI9dvIArN27iwfNn4Ewb7bEkMaAU+5OtiDPt6Px6g7feeh1bx7dw+sxZ+G4BuCC44oyFbTusrq7jhR/9BL/62X+G6Uyv2iIlixTGgUPkP31UI88rYxyIe1KIlnnixCxLR+dO3qcHMR5UNuT8ncSSCmbdU0WLqz65+n4eS/CVpUQrS6so7kkiOeDRYt71YqakfIuYrDubmCkgjYccTeUkXEiV+v5Eigud95A8N9izLxLBzjM86ZPtjZWp+DlhPaSUcYZ6XZNIkJC4u30HP//nn+P7L7yAi48+irKQeO67P8BkbRO//uUvsKgXSPI4eQGAvkOxCcslOBeYKhDEMOF+R55z67gnl2fTp/YuH58Fsv7WNBKOnTP7yAxqTYkqwwICSLisz0BKZExCxN8TcWhW+kxBrSbgRMmLTJiMKdPZ52cgRayiZ/8ehahk5nNinECJOv1sr3nLs96DjOwwjr9Za0TmIDCD+sJjsdjDG6//AV9cvoRvfus5PP3U11GUQ5qZG8bzHD/5IP7N35zA9Wtf4OWX/4Dr166SzkF4b6014D1M2waRU60BEimUSsYzG9irSek6+Dd+zklxPYRvzHiik5Z9LeL0A5+dbfqLVElMlls9FMU1DLRQe6Hg/mWHTCU5B8lT8Q0Mvstgx7Sm/AtB2FVyLiQkqdTbAMJ5vrp7mZD3AOdf4vXfMO4HpFAJNG0bektpKLG1Fs6GJRuWA5w9dRYPnn8YzvkgrtEGESBvqbmZNpkxYQ5h0zWYzWbYP9jF4fwIjalhvYHzDp010ELDOAN0wGwxg9CBAtI1QckyqOAizIoSgPKggekS4+E4Bq6wHoNBhdOnT+LkiVMYDVbQNiGokUKH3p26hbEWTdtFxS740HvWtIHCrLXG6uoqyrKMKoZgymvsi+U5nqlSKMjUu5hU5Kgg2ewEEGYGKqGh6ZSKSNMB96BSdUfxGiOhJlJqcnQuVoil5APOKGZW/boH/esBaTFYFpEaRPYzE2jILEo0PDE5E3wt4ftd16HrOgyHw0Sh8QFpOnHyFP76r/8aK+tr6KwlgYzguLgC8etf/xofffRhRMmUCireQnLV0yVnlb1ERp5BJmbB159QPZkO15L6W56cpGfU/yARew5YRCMTYMgChPBcVFZlClXs/JAHoST0nlEfzcvAhMzx9KvHPjm57J3SvZN5jzPvkAIC7yP9JKekMUiSWeSY4PSMUlTQlplDYptg4scrldZ849gxbG/fuacCzC8pJUzXYTJZzT5rSfwKvA7sujgDT9XF/v0s/abPA00Cs3osBgrQYiLEox8c11mznxW9Nc8DRXbm/PN5gib8/Y1/SuT5/fv3K+JeZkXnpDDOO8XHNUDsvc4BsMgkcelzeW5uvG7jevfiqV+QAwQgVFQDKOFgnSDUmFBr79EZQ7PEJayzpIXgYmLadYYUFsOscz5/rKDvWC3Z2vi8OJISNIcyiJA51IsaQgCLxQJ13aKsCuqRC6AHR5r87KfTKT79dI6yUNCihJIKZVnixInjOHv+FPmiOabTQzR1HRw7B9mQmNcNJqMKX1y9iosXLqK1Dq5uoWUA6qy1GAwLNHWNQg9hnUPddJgvFmEkkC5QzxfYWl9HWSpYJVANStT1Ah+8fwtNZ3Cwf4DTZ85gdXUVR9Mp9vf2sXNnG1I5HD++hS++uIqTUuPYsQ3s7++hqkoADkoLaCcwmIxigOrpeWmlYU3ov9ZaYjAcYjaboe0MpFCwtoVzBl1Xo9BlZJ3AezjX4ehoip3dAzgvsH0wxd27h5AkbMLt0M4zESloXoxXJhBaY97UmNcNzp47gxMnNvH5F5/HEE1whd/ZSJ/zzuP99z+EEAJdG8AQZy2UklhZXUFnQmzhIDFf1IBzeOn3f8DFCw+jtQ6HRzMMKh1iCUH9nLy/eYQbJ4/kP3h/1/UUr/zh9/g3f/PvMawqdFTdAwRs20J44IGHHsbT33gWr73yUmg58QkYFqwMmIF+0UT5XCgoJX/eewLcfLJlUWYmpFN9nQER2RJc2XRLtj/XO00ssgSO8hSF3MbEnt34/5mHyhCmWEVm0f2cXQaQwFACDKNtcNxkkPXQRy0E9uH3Jt1sFz0QBTl8FNNKs4t7iq1L170ERWM0GqFrwwQOrUsoBezu3sVvfv1r7O4d4JlnvoGy1Hjia09hfX0NP/vpT7Fz9058nvni5EyXQB7Krp+o6YLujftRWfMkl6ZchhNCss6fk55d7otz+w7kAH0STET2Gb3PWvLvvM6x5SiLVe8XTvJ7xW2VaVz0Youetwz34rzvMQCQXY8nEFPKP/e5TCXw5EdsTE6DDmk4Gyo6w8Bg86bFzvZt/OLnP8OHH3yAb33ru3j0sYs0GkwGhoWqcP7hx3D6zDm8//47eO2Pf8TB3m4E0hmo8T4AmVYG5lAUGpMSUoko9sYrypALg8kiixmYPcExs1i6zaB8zHs+A6O8IAFIAhsQFOMFgQMMiqdedxHfM8ZWAtAygWuEucSqceoZphYo0l+SKlSocxb8Mm05Z1rlDNcv8/ryFVtj0RoDSIPOdCgrjVIW0IWCaVsUeoBCK2ysrGNtdR1KlbS5aJA7uPKYbtAYh/ligdlihr2DXezu76C1LVThIaSHcwbWdpjPHKy1GA4qzOYzqEIGMQ8viMpkUdcNutZgMKiwMh7BtAZaFGFWnAC0lCiGI5w6eRoPPXQBUpVYzGu0XQsBASUUTGuwaJtEA4WH9UH50gf/i+FwiMnKCkDUgUAtCHNouf+2N0A8JhShlO58TpHx0TF57wNlMQaxVIkSyWbH0Rl5lcsno8QJg6fxQTGPUyzoxUaG0F3agd6xoq3MthdbdLVULfaRnhMSaU6y6XotOS7uC+AEihBaT4PUXUYz5vEtQc47zPcLTkhga2sLf/lXf4X1zU0YZ6nXOaCyShdo2g6/+93v8O6776bEyhsUNJ84RErcByCz60mBuhQyBh8uc/5x3l6kokXYK+kWxPE4tje2534JWD7FK6HBqZHeeUvBOwc0KtKZ+VqVus8zYupolrhzRe2ea1iSfc8ToR6VNJP6jwkPVSw5potO0WXoIhARWfhAXwnzJ30YmA6R1DNZZISuwBoXADJyausbGzh+/DgkqZCvrK3ik48vpdl22TVYa+Ld9p11Wid2vFyd5NEcjkaXITrUtF6RdcEVDLJfsQ8oBh4ZFctRzYX6TDxJ9otcpdMHJMvFRHIJhOAKcHREiDNcc+eRFoJCWNqYXtCcTBfW3ILpcCCaWziDxiVwhVHaFMDTc7FphADvQe9TwOsjhSkFR4J6bb0PY1HYoUpaB0FUY8kzPZ2FVHF1AojqgmiT1BrCOWgSkfAApNawPlR3JfdXxoAFieIJF86o8VGISXi2iQ7DQYHOdBiUZRBHNF2sllmfj95KYcbpU2dw+uQGqkJienSEg4MjTA938NYbNzEcr0ILgdnhEQ73D3HixHE4F2i+wgs0dYNjKyt46smnoJXCV594Anfu3MThzh5KLSCFR9e1cNZgdnSIohrAWYPBaAWDwRCm69A0DW7cuIlBVWA4GUHpAnVdY1EvUOgKcB7Tg0OsT1ZwOJ2iUAqra6uoKg1jDEajIXbv3IG3BuNBBXjAWIeq1BgMCyzqGgYGw9EIq2vrsMaiqWsYbyCkQKEllGRFSwElw9qMRiWULmDb0KNWagnYDlJ4HFtfQ1032D84wlgryGMTVKXC7tEMdWvgpQrABFXsD46O8PIrr8Jbg6997SsYDsf4yuNPhMqptaGaogI4JiHhBKt6Snz+xVVs39khLQqP3d19rK2OMR6P0DYtLn9yGbIcAt6iq+dQSmJvbwevvvoqvvf957F7dxurowqTYQnhJIlVEoOAGSVSZNogtD/o7O3evYP33vwTvvn89yF1gc4uogChNQZFIfH0t57D9vYtXPnsMk0iSDYqJRnZWA+usGVJCCdnkCHwDSOx6JxFMIVtXR9gTNRcGmUUv+gZPv5iyd721dz7155OSvwXz+0M7P+YBUX9xEvssHAZNomQ5uxdz32wLh53Fr8Dgno2J8sZTSsFzbSOuU3jn2Hber/77n2XfkaXNN6lmWMwGEDC4fBwD398+SXMp0f4zve+i+FogNPnzuPv/+E/4J//6Z9w7erl+Ps+fkT/c/hZSynhCJjgiNH5NNBUAoBlujxHlEntuPeeUoBGI2dA/D1OhADxVFtmXwKiSC/vjRiK9kTWUmKdktpsMkHc1zLrHU1aLWkdcuHK/JqXvmafwlkyATaBbZW12rCPYqBDZHog+V4O892IASxI4EgSa8rCeYurX3yCmzdu4NHHHsN3v/c9nDp1Fl5IeBd6/Itygm888x1cePgx/PGVl/DOO2/Dmhbg5JQAU+MMTGtQ6AKa5y3DAVC9GNIRY0N6BhzSfmWSV28XZe05sbCXxwdER7bORRZanBwQBrhD0TirwFSWcYRVBGdEiltSoisgHPfwppY3EOuEE+AwWo8PnI9ACe9IIRP4JSXljv89KrZCdeHgSEATDdgYjdY7DIsBttY2MJmsYGtjE+PhKvUdIQV8jCxyJcOHeXV7u3uYt0fYP9xBa0M/rRZFQEyEQFUUgA/iHxLA6mQCoYJyZmuTOIFSCnpYhFE8dFAcGOX3mIxXcOrUKZw58wCULLGoGxgTktDQJ1XDmvCgGeFwzsOZIKLRwWEyHmNlPCF0OSVAgiU+fRjNoXigukgn1dNTytEnT4qkrADLvXg+qwjGyhZSbhkxuSwpTu9LKqeEaln6N0dCLJID8+woiOgAUrwfPyc6MA7ibaSGyKj8minFZpWavLLIlF12dOn+HZqmwXA4Sv289DNr6+v40Y9/jK0TxwNl3VoAClKEIMgai1dffQ2vvfpaqPDQ4dJa95rynbd0QARgXTTEeZLH6J/LJMXvm5wyUubTgeZEP4r05OfmfhXGLH6IFXOiaDHwEXsmlpCquKeywIL3Qv+Z9a+378R8dh25wiXvCnHfUQsCgMmS3/TvKTCIoBCfi8yBM3UJgquY2Rw3GvPD1691gX/7N3+Dc2fPkQiVxEsv/R4ffvBBqCX1EHmB+XyOQTW8F8WlV6AwJ3i4X0D28f54jEJcrowSz+csRnAQcd5qOGMM3/Eqpoql9yABIzLcmbAjoqBTv+c91j6YXZj3HWcATX52ORl18cyLbL8GL8jXyAyN4ORsEKmIyoi8l2hkQW8PBsfH5ztRo2gYPfXriFjBJ8V1Cm4FOUoIFh6kz5RE7ab30FpDtJLU50XSOwBQVlWYVew8ZBQzTmrugs9KkO+P/T2e7xseSgkMhxVKq1GVGvNZHQJUGQAZ6SMZNNsfwMpkFWsrq1DSYjQscfr0KShZYF63uHHzDtrOYrZoMZ1OcerkySBkZS2ODqewxkEJFZhE3kLAByDYCVy4eB5tO0fX1egWNdlw4PDoCNZY6EERAwLvPabTOYx3qJuglmyNhbdtrNDPpzMMihJVNcBoNELdzLC9fReF1rGicfr4KdSLGkeHh1BawzsX2S7OOcxmM5iuQ1mWGI6GWMwXGI/GGA2HkBA4OjqCUgqrq6uwNqjWT6dz1E0NH0kyFkVR4tFHLmJnbw9SKTSdwZ2dPbz0yptxvq/n6qB1cLA4ODL48NKnGE/GWN/YwMmTpxLLharqZTWgnupwXowx+PDDD1NCKCWm0ylWV8ZQusC777yD7bs72DxxCt4BZVVgNBjg+ee+jWObm7h7dw9KFrh9exvYWsdoWEHKMNqPZ0d7qmp4L8LoH2YeSQZZLD56/32ce/ACTp05gwqOZl46AvAMdFHgO9//MbZvbqOuF9FfCaLH9idb5ImXX/IZSICtSHY2grZRK+jP+bJwJh1E30X0T3yvNWmZHcIcytiPfP+3iO/vCVgUkc6dX0/y25FKnAvRUW8f+y0pSXQ0srz6tEXOcZHe9p4LjGCB90n0iH8p5sMZKJCpOOtCw3uBpmlQaA2lPZrG4823/oS9wwP84AcvYuvEFo4dP4G//w//Ab/+5T/j/bffjvZ7OW7imG45LomXFwM/QW1Yqdc56j0s3xxE1H+Ifj4+w3t9ZfrdlCwHW5oxYPJQjfsuewAIj6Fj/4jsupIPDb92bxNVzw/2kOYU5wB93Ze8qJC39PTYQ9k4yvzZwid9CRAQEKeaZOeO42DrPZxb4L1338Znlz/F88+/iGeefQaT8RjGhhnUzgGT1Q386Md/iUcffRyvv/YKPv/i86D3Q1MApArV2q7rYIWAKlQEsOM0iShayiBNRjEmUU0p823eL5yl/mdEAamE6QS/a50LI1t56gkEjLUwAFSpiDZNn+MJJCeNG7l8nqSA9DKBVJkAad6mEJ+Np/YoIXpMH8GCV47//t8hseUoTEmg0BpNG5zIqBhjZbKO45snsbG2idFgBEDCGiqsCAXrDM0gCoaqbmrMFnPc2buD/YN91OTMw2gag0IOwhKoCsVAQw00ZrMZmqYBXMBo28agtRZKOmiw0E6YqWs6D60KCB/mNa1M1vDAAw9ibX0dnfGYt1NYGxLArjGo6zqK2mitaeuGUTZlNYBzDuWgxHA0gqUtE6kBom+cdKyoiWhUUo+bgvAqVbCcIxof93mGQ2QhCYUyUGBlWXY8fUqtoD60fFZkjxqaJdWxjyAmHeSYiUYNTkx84Oovy+MzpVL4FBTzvuB+jGheexLuAYFhOmROsTTGYDgg6hsnOQIYr0zw45/8Nc4/dAEdVTzipqWk9t133sErL70E17UU9FOgLH0UYgi3LiL1Mi6jQEKVcjVofq75KIWloMB7pm77IDTAiM/yPSOyL2Mykbnb3vuFJB9p8HpG70iBBT9zNhL58XRRgCWDvYODgQjqrnnSJ/qfn9+nvyepTYZFUh8bG1ueZcrvKUl0KGx9etaOe28YlY24XETPQTNqvfewEHjw/HmcPnMW1gUE0XUd3nvnQ8BrCOqh51X1EDAOGGgdxv1kfa/JebPyqoz0F1YHziviDAJwfstVhlT8Fb1E3bFFyJxkjkUIoudLkb4viDqUgBCfPV8fe2sl9XzJuK4yAi8qehNKJnt8AAflMxQbjhRGs8ZdAhkksSeUVBRvhEqR9Bwsh7Pc65xjukI89zKbDZ2qB0IqGkuXvhYMc1GCC3pvpUR8D+8s4A2UKqEV9T1xuwW1Xijqh2I7oqjaFxQrfarMhgtOVRwH6rs38F6g1AUO5jMoJSGFx8baOqS+A+fCSJ2GaKs8h9yTLkRRVIDr4CHhrICzBkoKnDt9Ep9evoKFAKazGc0qFHDe4vDgEFIolMMRnFmgbQ2atoaSwJ2dO7C+hVIKXWuwMh6ibWZhrwgJVWg45zAaj7G7uwvlwsi5+mAKXWhoLTEcDLCoGyyaBlo3GK8Cd27dwRNPfBVKhfmudR2S98Z0mIzH0GWBEkBFQY2SAtVogLproQRNO5QSpmnRNC0G1QBt57C+MUE56LBRjjA9OsBDD19E07RwzmF1VuPu3buYzqcwJNooCgkLg8GwRDEYouwMOuewNhlg77CFFwrOG3SW6WkSxnhcu34bXfcavvrEYwHoUJLIP4HV9eDD53Dp408iIHhnZxd1XZMtlvCQOHXmDAaDAeaLBm+/8z4kNJo6THkYDEZYXVuDFxK/+/0fsLK6jr//+3+Pup5jumhQlBoDHVSpBVOFWWNB+jC/ntk9NChDQKJtFnjld/+Cv/p3f4vBsKLz40Ll1wl4a7B+bBPfefFH+PXP/zGAPgxhC0AoBWmJeeEELJ1h7ndzLCZENkQi6I/wdAUeaRcnRlPlxGWJb/JjAjLa0wRcsSBMHAWWFUH7QWY/CYnJZBQcQaJaOkTlef7s3Ne6TKk4MqYywNgzQEd9ed7l4kIk7ihyjm403LEamftHkSWE4eddBjybHAmL8U60hARUaCUhRVA2186hLIMS9meX3sP0YB8//Isf4PyDD2EwGuOv/s3fYGvzOF556XdomyZQ/fOxNXFZmfqdU01dUqTnfuCMVh7+M7H6xX5MOhErvaKn2h9RyXSfEaTnSj7HIiIh8suJTPZs4n5gUJt7fuFpjyXKKj8AERc8T4xzIbAENojUxxe2WHbv9FCWYuAUq0qOTzne4eZh0ReF5OQ1gqPs6zkeZEfquwCqTw/wm1/9Ah+8/z6e/+7zeOSRR1GURXgXJyBUgQcuPIKzDz2Id995Gy//4fc43NuPUyjgRSjUwKNrTdCGQUBr42Mm38zuG5afV9gniS2cRCYhMtnIHOgBxQZSxbW0zkJrSayZkCU7rug6B28MDLWAagYNYjeAiG2QiBTkBOxnDzXbP2kcledqbuomIEAhMJiCarKPLZtf5vWlE9uiCH02ygkMqiGMMLDW4uzGSWxtnsTK5BgKNQi9F87BUbk50HNtRPlm8zm2t7exd7iPg8UBprMjdLZDUQoMqxLeF5jP53A2DDN21sJ2c3SmoyA3GO2u7VBJjaoooYsKSissmhbeeWpG9iiLAqPhBCuTDQyHq3BGousaMpgKbdvCGhMqtDqNfUj0xoCCjycTFFXVm2HJr8T/9smYuAw9I8MaBFsCCuSchXXcS+jTbLN8SHIUTkjJRjT5wtEs0jBnjvuSkjHw/USNhRkoKE1iTyIiJbxn4mf2+g0Tfz84dJkcSzaKCODm9ogXZXvax83syWgaE8ZbJOGe8HyH4zF+/Bc/wfmHHqKKs4jzRrUqICBw6dIl/OY3v8FisYiGKCDqdEDkMiU1Q1xzyf17+mr76OEyRSpPdmNiH/HdTHwpfTP1Niw5WWA5QOADnRLN5X/PaTXoJWQ5Kp0+h78vl6rq93vv/H77zy39mZLaZXSTk4tcRGx5jBHSmciCKyFEr7dWSIFnv/lNSgCD9b/82WXcunWLetL6/b1N10EXRc/BpiQ1OWcgzViLyHfmHPl7KR/K+2DT+3IQnQNCfXAgPf/0bES08mlN+RkxZXnpvOQUPO5V4edKX0mqIqXHz66Geu19+vr++41/lgKfaCu4QiIIfRf9dY/xIaknkrPiam36zCRyI2USHhM0V5y3S1oebkExEMTEGQ4GaNuWbH9oKyhIiAM+jc2Io0Q89/8nx5oC89SX1LQtqkGFkRmhqgoMqiFu3t5LLRqMJDsPKRUUUZ73Dw5RN1vQXN2m+1VCQGqFstKQC4PpdApjLZQU0EphZ2cH6+urAURQEgcH+7h54wZOHt+CVgrz+TyeibqeotASZVWR/sAMqyuraNsWZVlCeoGSepUOjw4jUCuExMrKKoRQuH3nDmxn8PEnH2M4CO9jTGglooOLg8M5LNGbGSxSWsJYg8Y5VLqkZydRVRpKORwe7WA6PwAANE0D0xq88sofMZlMwoxhWYR58UpCqQqtNRAy9CcPBiOsr6/j4OAQKysTPP74I3j9jffhdQCnLImpAAJQ4fzfun0HTz35tQD6Wkv+22NldYJHH72Ajy59GARYhETdtkFxOxk0NE0APr/44goOD49Q6CIoekuJqiggBfDxx5cwn89xcDjFh5cu4WtPPIbLH72LQnmMR5vxnIYKYTgXKtp8BUXUf54DqbTG4cE+3vjTH/H8938ApYswBSK3e97hka88gbvbt/DWn16L43tiJVWrSBO21AKCaHczcSSRxOhiMsk+m+01+y5KJHM7IEQ+diu3JgkE5DPEr+X3yJNbtvExKUaIVxhAjNVH/mzZj6u8T3a0V8Vl2xd7kTknofMfA3of7XJfcz/ZpT4bRsRbjkyZzFZHm+75HTnuSS0qSikMyE61raO2KoHbt2/gH//P/xM/+vFf4PGvPIFCl3juO89ja2sTP/+nn2L/cD/P25fAA77mpWfFfmzJtuXPycf7ZADS5I8pquVz8uHIfvP7J8/J7+VTlPNnBiPk8Q1SSpWNn03PMdVN+/B8fpHOud6+8hQnC4gETvv+ZzLwkO9lz5oRQG+h+f0g0Svi8I84OqN532/OmPIEaoc8pcWtW9fx03/6Jzz2+GU8/93nsb6+TvFCUFiWqsDTX/8GLlx4GO++9Rb+9NrrWMxnlCgHAFlpTSr8NbSWEFoSk4rWU8m4I7jAxPeVYpX+ZIZ7XlncAQQASktNlXmkMYFSQAsNa0M7prEB3IOWWWEIGRV+Sf8j6oogMrg8gQlJEIzir0zdvbelpLj/PfxXXl86sdVQODZaw6AaYm11Dcc2NqGVhlYlymoIoIRzHqa1dOGAsQZKBVls5xy6tsN0NsXR/BDT2R6aZgrvWghvAasgXBjz0mmL+WIRaLqW1TgVhlURFsY6VHKAQmmURZgn1nUmbDATZhyurq7g2MYWjq+fRqGG8MajaRsIHfrNukUD09kw/7QsI/3XwkUREyiJ8WgcyvCxFuKj8XakmBjodyAxJ08COyka5uCRq5XW296BdgzdsCJrJhoBICg0I6kwCsdoHKNKMgXBsd89IXaCVARDpSTj5IcySjT9ggKYqK6YiyepvkMAKEm3SDPjCGXMaSDIkyKqFFuiXoRZcNTSQMjQeDzGCy+8gIcffiggRtbB+EAP1zSn+NNPPsVvfvMbTKfTUEmBhy7C7EfhfZLczg5GfmB6jpQOeezuo4TYO6ZaR8tBa5b9mdnU8Ph8j1KWkFEf75PpFeHjXaJe9D6DqV0JXQUyau8SNQfx+fVWPb5HH3HvJzjLgMhy0nu/BDjsG0dKjASK+DD3mavXnm9YRu5ZhBp9VOf2cVYh05AhBI4fP4kHH3wYxpioqPjWW2/DWodCB6qO5V5cAdR1jeFwGO4rrzLjPkaRqhiWz0aWQHrv4yD3bAVTZSRLOJfJUwkA4qgkk9cnFfV++0IfnUaG3LNiMXfjg/ubomKzzAI7bsdI+9RTL6/wIioKx3269DwFQk9MRIDZFkkPJRQAD5uBXnzdgR3Dm5o9bFoj3v8p+I6elipewRDx+SJCTzxXXdvGYM0YQ2JPFoUOM8kLAjKcD3N94VOQiSyxcVnfnwfP5w5CU1ppFNUAmM/RGAtIBUOUbOOArmth8/1AvM67e/v4/Mo1DEuNycoYVVmgKDX1+7rgD/0C89kM9WKBlckYXkq0XYe6XmA2m2EwACaTEdbXV+OzKEuNpmkivTAoagLCOigh0LY14ABNipa61NBSY3WyCmMDK4qp/VILmocLNG0NCIe2bQLirgrUnQlTDKiC5q0NqtNaYW1lHRAe0+kUDz38MA6PjmCcQVkUqIoCbdvCdEEXYTabwRqgrhs4F3x123aQwgJCBKpvNUZnDYSYAXA4OpoHwUYp8NDD5/HRp1dwNO+oUilA6oAZsKJx7fodrK6uQWuBzrSQ0uPRiw9jPBoA3kIxs8K5KCYUQUsJtF2H9z74ACdOnsRoPMSg0tA69EjOZgsYo0OPnABe+eOruHjhIawf28LR9AibG+soyyI7/1nvvHeh15i/JpvjyLde/uRzbB0/jcce/0rsz4tAsTMQSuOZbz+P2zdv4s7NG/exzyG2kF7R5AUW3ounN0twRKzUcjDOQmrcf7+EsVGiybTRZBViAuPv588d8rHwqTImIogJ7qmNAGxmcXrMoFSS8h5JKCmChn0BQBECkd61MEDvvQ/JvedqEFOjs0oys7FUKh7lyXPfH7qU/MRQweVuP5o0tollGUaHtW0DXRYAHA6PDvDzn/8CRwdzPPvMM6gGJS4++gTGkzX89B//M27euEGixn0xv3TvgoDZlLg54SkW5WeELCFPDKM8xYgoYnwWaS9Likc4rOFzI+NapmQUlPykVXC9Z7I8FzcOgRCIjAFOoISjlg9iMfLPsu9zPu/JXfrY+6TXMhOnzd8p9mbLdK6iSvN9AF8Q3ZeLPrwDeF9EiNbTDQoDby0W8xZvvvkqrl79HM8++2089dRTKKsSLrWFY7K6gee++308+NBDeOetN/HJpUtYLGoIF+yGIFHe1hjAGmitUMiCzihdA7UBKZ+LmdJVsR/s300CvZdDoriPwz7zTgTNEjr7SiqoSoeZ3M6G9kwS5hJ0Hd45WAQtIx+rxvzMPE17USTMSBMefNhjLpvQwAw6jt+NzcRS/xsS3C+d2A7LIVYmq3jwwYexurIGLYPohHUe1ngYG4JTrrDw5uKB1k3ToK5rTKdTminrUVUVilKjbergEJsWXWegBwXGozGmR1N0nUFR6ZAQGUBCA51BIXWo3lHwJUVARUpdYevYFs6dO4fJeA0wCs6Enj5Ostu2hc36tTwdIFY4ds6iqioMh8N7qA65kZdLwWlwKuEg8eiUmNDmM53Y6CaQCcnu5H1znLAoMmDh+myscrBinI9qxFzV4DURLHThA4VbyERx4d/nqmsMXKkZP2KdfIaXhqE79JUWEXP55aSIHB6hxXVTx749/mzngtr0d7/3PTzxxFchpUTXhWcmVRErPNevX8cvf/lL7O3uBtDAA0orFEURDE6GJEcaKfqoL9+Dcy5StTzYGdO8V2HjfeZOkV9BkXW5LymtKzJUMq/Cep9fR14Vz/s+l13nUkKN6JEzA+soCOTEK4m0wcsM6UfvPfPn2X9mfWMvlq8qRzbzPhfCeoM/Zkp+CqhiMCbTjNK2Nb2A6Jvf/BbKskJnAtXn9u07uHz5cqjwEXU5JoPZuewljFmwl99LPCNMu8scZERCe8mf6AWC/J5Cip5diNfP2yFDdvNk8H6v5WuO34896inhS9Vytg8xnYx2JCL9GfKfP7/e/XGlkynHXGlRkvJVnouJGETFyjzPrstmEvP958BOBMuy8yFoLraKHRQC+WFyjtcU8XknWwIoFVTsreliIMa7i9+P8RdG5xMsFwLhQhewpcPh0RRra6to2gaTyQSj4RCH00VMXLC0h+q6wc2btzAqNdx1A6mA8XiE8WgCpTSKKii7t02L6WyGlZVxbKUoyzIIuZA/6kxQOrak+AzWi9AStgvj7CAEJuMRmrZB23YolIaQErPpFPAhCR5PRujqjrQtHHwXZqzz+4aZ8aGq2DQtCSK6IMxFwVpRaozHQ2gtUdc15vMpFos5BDw21tbQGYMTJ09CySL0wdIsYi01Pv30M1y9fhWACL1aVO2rmw6G0H9rFFoARzt3cHh4GABO4yGFgncNpJAolAq4JHfcENhz5co1nDqxhWObq3DOYjwa4MKFh6h9W8S9yrYpgRkeq6uruPThR9jd3cVTTz+Np576KgaDIrQdeYfPP7+K119/H0BY1/39fbz62uv46x//ALeufobpbIGNogzrRarwwqcg2xLg5DzPRg26HqA+vbffeBMnjp/E+voKYImZ4sLoLwmDwbDCCz/6Cf7T//H/Qte2MUGM9pJ6ZUO1tW8r72dLJFKw6MIBCi4g1XR6Bi332T6zh/fYinjGOPZYvoQlH7Vk09gm5KrqYIUCt6SoD0ps2TTm15AlShyX3Gchej6b7Wfywz62zcQlQR6jZYF+9jvJDiOjNWcVaCkwGoWz2jQ1yqqCgESzqPHyS7/H0eEBvv/iixiPxjh16hz+/h/+J/zsn/4zPvvsk/CeMtn57FbgPY3FIsYKpLsXqIwxWrggVnnmJDI5k+joIgun98jyyn3s084S47zFJ3seifh6/wQk9z95G46ja4nU3Oy9ZJYg5deXR1gZ7BDEKv3yFeStRIhxksxZZ/ewAjKbT8/cuQCyKpX58qgfRMka7dmdu3fw61//HJ9//ime+/bzOP/gg3HWPDNGz547h1MnT+GRRx7F7//L73D71m14mTBxtk/WWsCy1kXoh7c2iOJ6mg/tpeq3LGbtfmxL+ifi3tiOQR7veeJNohwLQiUKHyq4zlkIlYpgEaQSS6zFeL58LID1Y7Lw6ZIxcqbBx8p8uof7HfM/9/rSie3W+jFsbZzA2mQTSmhYFxqOTedhOpPNHQ2oKWRIEJumJYfcom5rzNsZ2mYO4T0G5QBSSsy9hDEGTdeGbN5IdMagmbdw1qEqgpx211loKaB4HqZ1yZkZYGWwgjOnTuPMmbMoywHaxqKzHYSU0KpAUzcwxsA5qopSo3RnWxjnoLSC80GYpBoMaTSRy5rK0xGKcZin+xWkJA8WzMkdR1qbIFnPW4sOTEzEyFVExVWGisIIA+dsSL5IFj8PrB0J2PBOitfMVGhGRmkeLW+YRLPg67ZRBII58HklJn8JEn+IByjj93NiHAJiT07ZYzGvaZ6XDFUaH55FqUo8+61v4sknn4JUZXDMNBBVSgmlFHbv3sUvf/EL3Ll9MwTknNRqFUo+UTeeHASyxH2pShYVXfkbkgAZ6uvxoJms0YGzU+OEIKCPIvqLUK3z2RzWdGzzdfO958bXkv4NWfDfTzJzwICTmayRMKpahP7NALlKplsJ3BOk3I/ikTt2ZAYGSwYwoYd5WshUMAIy45WJhA6zygGr+zlDwVrY72vrG3js8cdgrIszZN9/9z20i7pH5ePgrl7UGBQlFNihuTR7FwI2cOcjcCGyZ75s0CGQ1JFpfR2NaRGkirqc9IfvcSBaUJDNQ8fpvVhRmj6DUellsEXGhct7phCrvcJbAtpk5iTQux7Q/rGwjPkTokvniSvUvapJuHFOcAABbxQMp4HRVniqHLDiuojxEvcS06DctE95ri8FWVK6UFVh5ogXcGE+fAwK4MNx9qQkXCgNOA8lgqiRdRZeCuiqhHWB5gphM6nyLLDJgKmgTKxYkxseipSrJbquxeHhESX3Ft5beGiqOjE7h3uTPZ75xtNYHw/QdQ3apoaxBvWixt27u1hdC+9vbIujowOcPLVF0YEMVUG6tPl8gb29A4xPjzGoRmjqGkoj2n3nHDpjgzDeQsCYBlppABal0lC6QFlWYVTRYgGpJIbDElIKdE2NrqkBAIOqQle3KIsiABemg5YC1rRwKrQMHTt+ApubGxiOBtjYWMfu7i6+8uSTODw6gpIKu7t72N/fx927+5hMVrC7uwd4geFwiJXJCqrRGKvrm9jb3UPTtijLCpOVVezu7cE6i6qsICHRNS2kd5gdHmH77i6m8xpd61CJMHNcSIW59ahhYyXCweNoNsXlL65gbfVrUJC4eOECVicjzOqa+tqJ1h57q5kCFyrI733wEZyTgAnsM1jaAbpCUzu0rUVRDmCsgbce77zzHr7+1NNY3TyB3bs3MBgOIYRDKYvQf+5EoKZHKA8JWBVM61eQQmB2sIfX//gSfvCTv4QuCpi2ibPmQ4XXY/PECXzruy/gd7/+WeglhoBUmoTnLDSNvkNUH+dzf48Jj3Yg+p6o1RC+J4UgZpKLSa2xMrKbuIfQx6Q32SsuwrJd9wBcxjC6N8lMdjL+VuZ2HLOSuHdUxjbPKDCYkk9Bg4mSGm8cGcjBtCSKrcsulGIo9jGeGG2xUu3ZxwsCW8kXZEwnrjJ6hF78sLhZ7ye311DcUFUVTGfQLlpUlYBUBl1n8M7br2F2dIC/+Mt/i9XVNaytHcPf/t3/Fb/82T/hw/ff4ZtaAsxTnOFI7V04RJVi7sHNizAsFuh8EvUixx1nhCM+5TzlSVogKU/KYwKx5NlzgJhBXd4DaV6sIBYTx93527Gv9iJA4sIzOE4TPtD3k8txS9xZMVaVcVydi/uPrzqramZ5voh3jhhbp89LrUxCIInILY8EJEVgIcN4U9t0+PTSe7h94woef/wpPPPtb2JzayvoYwgN6y2k1rjw6Fdx4sQZvPXGn/Du++/g4HA/gj9CiDjOtLOmp33Dwx3SPfDM4qXJDgDgbdxEQqDHTOM4QXDcrnzvjCJqtzgasxRsk8uKdRHsF/mH0roaYk6qjHGYISJx1ZdZp5TDuGin8KVfXzqx/crjT2BQrcB7gbazaGl8gnXUz5kFnNZbGGswnc5wcHCEpquxaBYAHIzpIIRHUWhAAIt6gdl8Bi88WtMFihg0tFKoqgrWGCip0BgDqRUsGS/jLLQiMQnjsLKygocefAhraxsAFBbzhhQzFYSSsCbwxAOFkQQoeK6UlNDUNzMej2M1MQZlbBV6fXD9w+acp1Es/L3+j3kSB+LnmZKe3OgvJx0iigZ4TkhjopaeTZTpJvMsWSAnUi2yhBzJ0HgkkYk4+Jvl0mMiFKAU7pPOr8+5BFv3Krdc9eVkQwRD1TQ10eOyKrgHlBJ45pvP4pvf/jak0mi7jpwUjQOREgcHB/inf/wnXL9+Pa58qNTq1E9E6y2Jmi1J3Is1AqJ6YFZ5vscAZEnOf+2VENy82SG9f0Qbs3/nyn3/WnhN86eUDNtyIty/hnTt/d4SxOSq16e9NHc2v+b8lf9MX1wDvb5uNnqBEut7ZjKZrKU5dGlLouu6WM3yHnj66acxGk3QdmF273Q6xYcffNg7G/n1tl2H1cEggirJNWVOKlvrMJkjXcsykul5nmImruIzq/pn40iffp9F2rJ/jZXr/MWiKbmzFtQGIe694/vePxwycApxv8U6Q6T33ovQ5u/taXQOf21odrKQ5OzIoYXxHGl8T/yD114kGnS+BKKHvNJ80xAmQlLiKmVq8TCdobcXkYbMgUMQWGpRaI2WRKiUlNkTT+ujKURiNW9W+3Y+PWvN6soyr/jlDc59myClxMb6BqRrIEWBskzz3FfXJpgvWsj9QzhncXh0GFB+KWg+dVD0n80OMKgG+Mrjj8Nbh7PnzuLWzWuo6xm0LmCtCWMYYKFVgbIoURXBJzZ1HZJsFcTEyrKEFrkQmkNZViioKuydw+rGBhytXdu2kCpUvRfzBaz30GWLatbg9p1dWKuxs3OE9voOzp49i/Pnz+HkiQVe+eMr2N3dw53bO2jqBlU1xNHRDNvbuyFpphEWHDwdHR2Fz6LAu+s6uieBra1NnD13NohdLRrcvH0H80WLed2hNhauc6H6Ah9ByGvXruH8ubMQUuHRRx+LrIl8H+bnURBF9dNPP8P+/gEgQnK4WCzQHTU4deoUnHW49NEnHM3CGgPvPBZ1jT+++hr++q9+gKKqcHdvFye2jkX7LaWM4kYpAXRBYEaGIFN4pnZ6XL9+Fe+/+w6+/uw3IZWBoz0dElsHKT2++vTXce3KZ/ji8mc0lcFlFSVQi1RI4kU8r33bxWct2jA6084xSYZsUXCOMZ5x3gEu9IKzqRK0rnlFl8FikS20z7oxhbjXl9zjuqLpWGr0yWa9BzPjo4hizgBBzo4hH5TbUn7vtCYZbYX9rE9gO6f8EezrJUtJ4CpZxzyRy9Yj0xYRREuWUlJffEiInPP45NMP0TQdfvSXf43jx7cwGAzx1//D/4DVtRW88spLJHznl2LDrIJ8Hx+ezzLNfYmIegE+xkR8D7wmeeUM2V16pKJN9kvZ9YDSqZ7lxfKLn1182jmwm2krgMbS0B3FfeHvea97XxzPIj8RIr5tWBcay8V07fwZ857nUO1+UyFCcqv6n+l99JuCRtFxO5xAAHRnR4d4/U9/xMeXP8Fzzz2Hb3zjGQyqisbehNh+tLqOF/7iJ7j4+KN4+Q8v4YsvviBdCRfBZabbW8MzennvB9A7bWtmhPreGvPXrOodCz68a/moOJ+jGmDowZN2T4zwGBwhAdx79l8E5BELgHE9M7uSWCIUXzDbxLk4tvS/9fWlE9uq2oAjYxooZAqFKiAdYGSY+WeMRWs6dKbDop3h8OgQh0eHmNUzLOo5DTIHCqUDgisEdCVRoULTNIFr7y2M7QKCLz2EAlrTUmIVxBm0KlPgogqsr6/j3APnMB6N0TQdZs0cQkgUuoQ1BrYOc2id8VBKA0LE8TBOAs6G/tzRaAghZZxxJqWE4wdPZ57pt0xJgRc91CK8fHQA4CotA3Gc1IpA4+YKLEC0KwE4Y6NjEtTHSDsz3rchOkDExrjnjWAc4x28dATSBCcL8HxJxM8VcfatjQk8J7tAosYEdcb+fQaKYUKv+CWiWm6ad9m2QfFTKdUzykIIPPX1p/Hst74JqRVa08L5UJlRWkHJArPZDL/451/iypVrNGLMQCkJXSh46luSS8heQLYTEPHnEjnJqKIDvHCQXLJjw+pzJ5lGIbEzo5w967tKLxYOc/G5uKXEVkSnkzvucG0+ouzL156j33nC5bn/x/3rSWvuGPP3y43SPYk02yPff5/++7LBI1CFZjfSkGR44eJ8MiFCL4dxpPQFgbW1NXztqa/DdMFIK63w4QcfYH9/P3opqRS88LC2Q9d10GVBs3LT5vMRZo8+LO5LRyJt7CzANNvc2cYbyqrf5Jpd5pxZNMnDoD+EL/sz2xSCZPJdTDYVHEwMj2Re5+ZgIHMSIru+3jND/5oZqGJBmDzY89mIhR765sXSKABuUQgMklwky1NFQSgRhWtYQCI+A7oXKSS8NZHxEAJQ33dwjivBBLSRwJ7wNLZBZpVhouMpSJS6wIKDvQg++nhQ0352VDFO4IKgOb5FUcA6D9PQPHMpMZ6MsHs4Dxq2rAQvAnuH93fbtiiVg4MJVVTvoQqNSbGCzRMj7B5McVQfYTaboW1bDAYVhBCo6wUAoKlrDMsV6KIApMNkPIEgoaOyrOCNxWgwhPOk9C4EZtMgNCJcEHjq6haGRtTpSocqti6CkJR30EpGpfGuM9SvGSoAQoSZ0Z60F2azKdq2xWJRY2/vAMPhEPP5HFU1wPToCMJ7TPenaOctqV2r0JdrTWgvQQAXtNYolIKWQcxxUJToWgNTG8yncwyGQ0omgur0cFDBrVucPLWBDy99BrE3x7wxcd5NbmLqtsMbb7+Ds2dOYHVtI0xuS50ykMJjMBri8PAwBqVta3Dp449gXAearBzFUKRUuHz5Mm7cvIWiGEDqAs4bCC1w7NgxVMMB3v/wIzz+yIP4/NOPsXnsGEDtMcGJO2itE+OK4wTHvXwdJUyBXfbeO2/h9JkHcPL0cRgxD+MFLauqKygl8P0f/yW2t/83zKdhzSXFIZaZQBBEe2SRtj8PfPZsGYu9OE9zOQkEBgeOLgan6p7cgZPjRGeRPT+RpxQiFgxisNx7p5yxRr+VsPS0XlgGnj1VLDmYzkxshlWy+D10AjOzJYiWklXpQ89u3iPsEMlty8kNVR1j7BeB66TtIBBYJiBmntYhxK7rGmVZhqKJB65e+wI//ek/4cUfvIjz58+jKAf4/g9/hNWNNfzLL36Jtm1IcIvFt/iebY/Vtfy8e/7BITIaDSU+oX2EgUmRChPgVqbUW503tvreOEpOgEVMlAAk5lLW18pVcjqhMXnOfQw93cB4A1XdfT5d4P57+x4wHule8kp0qr6i1xqUt+Fxcu7Ib/JHLsdK93vF93ASkA6O2tjimfAAXIu93Vv49a9+jutXr+H5776AEydPwDtikzkH64HjJ8/i3/3t3+Hzy5fxyh9fxs0b18Lq+MBY4tNm2sBEFVpHXZvQvpE0MgRPQOFkWy7RhOnabd6q55nZxoEtr7+Mvp9ZpxESytaKf15mQniemCac9/RCrKVKbGJg9GPSPwdo/LnXl05snUWSfgaghCQUPQSgznm0TY3GdjicHmBnbxtdR9RfGAjt0TZNmCtbVrCdg60DBdE6C0iPslJEDwKEcChKAe0UOusw0BU0FKSQUNCQhUBRDnD65Gmc3DoJXRRo6hZtZyCJ1tR1HUzbBYVlERIqS8lgTPiEgCwkBmUVHQjzTxzTOPnZ0pEBGw4POJuPFOHEJT0pycEFPcTw84SUOUbxQgIqSYUiOCCXIU6SgjdPIhkh4TTZrDsWOhJU9VBSByEO4SmxJbGnjFKrpMpEVoia6wSgEAM6R8GtyCq4QqT7R7ahYwLgQ/TOzq1tW2gdxDpSchx+4/GvPI5vPfftoP7pbFCGk2FulpQaXdfht7/5LS599BG8dREcCQny0qHIkrzkeBEPcx/l5IQ9/a4A52AySp7nL0EHL6da9krvy0IXtGNYZZXnFf9rRpKDlft9/34HPE9wOGmJJpUMxLLqZHqffx0Ki5Xn5UFlvTvMv8qqphGJI7qX6N+DEAKdYcUgCWcdvvLEV7G2toa2NZBao2tbvPPOu1EROyRGNlYI2rbFmBKCPAjiBJAdeTzw6c7SWIzs5/M94liURIio0C5yFlXmCDhh5J/vL6uIgBT3zzNNPlZDkdaMlW3zZ7sMety7BxB3W/o3mW/MWFHqwe9Zj1HvXANRHEYAUFRp7DtEQHCfOVWlnKG9RuCQ5OvlHuxlFho5XpkLjPA5ZgXkDF13zsIzBV6GAfJplm644AhI2owRkZ8TduzcQkFKu0BIcldXiwi+xeshBJvv3xqHm7du4eJDpynRRhQt4oaQsiyhlUZd15jNFhiNRpRgdpjP5xiOxijLCm3boOu6kCgXJZQq0DQtCiVDHzEF4U3dQOsS49EEcB4rkxXMqjn29/YhfRgHpJTCwcERdFFCihCwKKpCt10HARE1LzxR0xQxYpz3WCzmcapBs1jAGYPrV6+F8VFUEXLOoa2DRoKQOlaBnXMoqxLwNGeUeuEDJTMoGVtnoZRCTSCnMQZKS6iiwOp4hNOnj6MoZzic30JZdjDOE/ib9v7+3j4eeOAshNBo2wVs14Vk33tsbmxgdX0dR1lie/nzzwPFnNSCPDxGozFGoyG6zuKNP70JZy28cujaMIsUQuCpJ5/E3Z0dXLr0MVYmYxzbOoGr12/gzInjGAwkzRwPFeB0/jIzk1cIEUCwtq7x5muv4S/+7V9D6wrwLQlC0f6hfuAf/9W/xc/+83+E6bqQ3Lhkl6T3UDz66l8x3/cE/TnjxKeEkJ2eoEqUc476cV12M/1WrPz8gnVESJ/kXjvVO9hpQXp2TfTfM/t7bqPv92KbLDJle+7LjtcT/X3eI0rshixDDvUF12P0LNvbuAz5rWVgd35/vJ5BUXyAtm2ContRQQC4c+cm/vlnP8ULL/wAX3niK5CqwFNPP4ON1Q388z/+E/aP9nu+KU8c+ENy385aCZyAxARBBCFAHymDIrubDJjwyzeW1gBgMD8xc3CffZYes196tOmLVCGOUMZ9q+ER+PizieWfi2Huv1sEC7y5pftLElO9tV5OatPXHMuEa5fyXrp07/q4vQdA28zx/vtvY3t7G88++y088bUnMBqNYW1grxVaQOsKD198BCdOncI7b72Bt99+C/PpEYy1cT8opaI/4Znv6T5TDMJaMEGYS+Zbtrd8y5XWXuwhQLR7CYUUZ0ZgIKObcxW2ZxOlyo6U7x0cn9sx0Qci+Lq87/e+f5nXl05s5/OGyuFB5EcIT4qbQGMaHMwPcXdnG9PpEZzocFQfhKqgUCjKIF0vpQ5iEdKgMy2ECA9Ei6COq5WC1kwPEbDSAQ4YKgmFEt44CC+hdZgpe/rMGWxubMF3Fk3dhkoyNJxxqNsaNlMv44TOeUfzEMPXw+EwUo8d0zUyykcUiKIHJaFpiFQI1pXsb4Tg6NMzlDQCgnsdvMz7WrMgk2bR8qZIgTJo1mwK3p1zRJUA9SFyOiOp6uugpI406mi6Yg8aiyI4WApKIwWANpp1S4c5NCUl5EY4OtAZXYr6GWOiAaBpwiiWogijGyIdBMCjjzyCF1/4PgajISwFCgoq7AlVYDqv8fJLf8A7b74Bb4LYidICRRkEw8JswT5dNzrLqLa4REGmXthkzPui9vCKqoyMLlOfT5TO7030TH+7T/Lnab2EyKnH/WceqC0kPkKXohQ7qzwZlbQ/sJTA9PcSD0qPImFLFb54bdlzi5cTr9sn5ygR1Y9FnrhHAZAs6KG9FyQnRRC4gI+NqwwkeZf2Br0VqtEQT3796bAPKOC++vlVbN+5hapgh+hCn3lU7pWQSsbYxcch62mmq6T1dj5fi6WgcPnewY47/FcUBUCJiyRBAyEVEINuDwEbUcn4Z0ibYAnwUqkUQI4miRqF6EjfYxPiYmeBS++5S0TaU+wjjkEbsmAiASsMlPHnsDPiz8gXJaDAuXgT4rrAhb5doZnKFe5TJo1xAgkkzfF11DcjoT0j9KHX0EUbKkgt3MRqt5IaUI5molLFQVroSsF6AyWKtCDUYxl74/OeahH2JG+fYEfDWahnc0gpMZyMAeVDP5Bh5DrMFObbd95jtligcyRsRWrNRTUIQj1eYDiqMKg0Ouswndc45kOPrRMC2zt7OH3qGHQ1gANw89ZNGGNQDUdQ8gBKySAO1bTQQmJ2NMXK6gTDwQhFOcSJEycgJVCMhrDCwVkL07XQWmJtZQzvgYOjA5RlgbIYRJ9hrIOWGkorCFnEUWns/4IoiAvsHqkwIOXpzjoYEj1aXZuE5A8e1nsYZ4m2rrGysoLFYo6BDLPf22kdwOjSo5AKXo5QDhRWNzaDhkYbfLaWGofTBYbjVZwZruOTz2+FAJQKPDKOCAtFh73dfWzf2YGzNeBNmEwggCe/+gRub+8QaBuCuIOjKbxQYFUWD2BOQpbd3T1s7+zBw0FrAeEtqqKEkAqffvIx7mzvwBqPX/389/if/+//IwQkFq3BaDjgKYtwECTPsJwEppQhHDULITxu3/wcn374Ab7y5JOQhYZpWsB2ADS8Czd87vxD+Poz38KfXvkDcYh9RoGUVGEK58BG1o3sfWYOULHNcT73BVkQi1R9Ce0AjhgNCM0CkfKd3VusqgRRyqhCnSUB92P0xGA6B5uRN9ctgbUsIEcjHCUDWFxNcrLvkyUFwoZEMzk58p60FmQU64/E5xhL2YxKnaieqXKZBfocVVK7T5bTR6BPkMozEJRlq6rCYlHDOaAoHaSSONhr8Jtf/hKz6RzPfOsZCFHgwYuP4+/+YYJ//E//P+xs3yYbj/TmS9XaHJTNvwZ3rzIdN1Jn+ZYCWypLI6JWCCF5cd4FJ7P3YMT9Jxyfm+DVzQS74side34+b1zKFxLx/Zbv1aeKRI95lCrnablyjypjbNhvtQJoCkCkx6bKdQ4Wc0wHSAjHOgDBr/k4AlPcG3cxJVcA3nXY2b6F3/zq53j3nXfwve9/HxcuPILhYASPoE7vIDFZW8d3X3gRD198BL/7l9/i2tUrcMZExlOKsz3qLrTmaKng48QIohTz7O0IS+TiXz5OhmDfv5zMB82AIFYls/uRQobauIhaZiHujI8rAT3MvJLxKMl4Lc4b2tYacI7sZWrrdM5FleQv+/rSiS33lEAIWO/R2Aaz2RzT+Rxd12Dn8C4ODg9hbQNoj9bUKIsSBc2lk1JgOBpCtWGR67oOEtE28MUZZVdlhUJJtE0L6QJGUBVDSK/RmgZCKIyHKzh9+gw2N7fgnUNrDBypdTatQdN0sf8lVmA4seBlFQIrK6vQWsVjJGk+a9iMMlY2+49JZNUQ9DaCz6TxPVV8o6RTj86SI6Y9S0/XJiPAuNyb2XMWzC4QmbGjZFgioZN81f4eZVYfgz9kKBWy680RG1ZXDg7DEf03q47F+wk/17ZtACuIMsyS9dY6XLjwMF588UVMVlbCfGJyzlqFSq2xFm++8QZee+1VWGPoIHmURQmp0giWZTSNrzlHeP61CmnP6kXzmgSX+HO4mnU/SgSjdzn6tLz3mHrcR7Wz1HgJpeq/NwUQXB1bGlTNSHXcXkwnyUTGlh1hfExMJVuiPfd7yftqw733kuKentK4rzPENj8XEALW2NhDAXhcvHgBm1tbhECGvuk3/vQmjOlQRtGBBCC0bYeqDMrslLpSVi+jc+LghD+T7/1f3Q+8AxiZhSK1PqZY8VxJGx0CW/IU//yZ9+f1EKzQ2UdN0w8l1FssrWP+LHPwI39afuksg4KHHHHun5f41LIgL11RZBpk90A/HXpTncxhdt4k8RzRncRriyCRdwTm+EzhUZBYXqgSWiGgtQK8osBTxHXTZZGqNJkT5Qq6yGjp0e75wNqxnmYCulDB29/dQ6E17OER1lZWIPxdSEhws4eQMjBG6H0HwxE647CYBfEoeI/VtVV476ELj/W1LdzZmcHUFrPZjBy4R1kWqOsFdnf3UBYao9EQZTWEUh1M20ApDU/iWEpJdM5huLEGWRYoVsbQKyPcPtwHOoN6PodWCutra9jb2YEQoVIMDxw7diwwkIyBtS4AAFpRi4+DUBJFEQQZQRVmYwysc6iKEoVUsRpU6QqLZo7jx0/g+NYWViYTzGZT7O7voTEtpvNDVIMCKysDnDi1jrZpsb9/gNX1ClJ6OBNG8o11Aecs2i5UrrTWaNsW27dvYbZYwAuFzz6/htnRlAZruphcePaPQmJ7+y4+uvQxTp5Yx3g0gAewubWJhx5+CNs7e732kWgL6D+lAphelgO8+urvoYsCw6rCeDiE0gWKsgyJvGlorI3E/sE+3n7rbXz729/A3p2bsBOfxuY5B8FIdlRjXmbEcLAdgrg3X38FG5sbOHnmHJRycATaghhlQjg8+53vYm9nG5c/vQQtdTxSgeUQpePi7MjYRsRnjvuTvYznTvpl8UD+i+8plsavsj75ZN5zlgf7xftXWvPWJU4AwcF0Hj8tV+zy94m4M98fn2/+6VRVE8T88DyXlarmybz5qHKes4l4NGKvHLtkzvprkF9l9gPZs0YUxkJK8LzHoKpQ1y2MNRiOBhBSYDbfw0u//y2Opvt47jvPYzIa48SJU/iH/+l/xG9+9St88N7bYaYx+Djka53YNsgAjsD88QmfXdKV4D7G5ffrxVN0b/2Ec9mP3uPAej+bYlz0frbvm9Lzvv975dXSpevrxefpegQy/9hLdvNxQJzA2xSp9xTC3dJng/Y/xUySaff3TjtYXpv4jGj8lnMWbbvA9etf4D/+x5u4+Mjj+P4LL+D06VNQVRVE7HwoEpw6cxZ/9/f/gPfeexevvPQ7zGZT0roQFP8HQbO2bWGpWJjaJUJRLyyDS7FfFuPztd0vls5jQe8zvbSeL08s0HTf/RgCmd+PYFpGComtfUsQR9w+fx5Nue/rSye2nLEb4zCtZ9g52MFsPsPd3T00zQKtW8A4AyEtfOPRdjWUVBiPxigLDdO16IxBUZY08kCibmp430HrAlIqDMoy9Nd5D4kCxUBBegmJAqYzkFKjKoc4c+YcViarWMzbMBBeqUD1MQaLuoZ1oKpyOggsQuS9QFEoVIMqPPwlOXEhNN1tqKiInqHysW8S6Bvz+72W/zUkAegZzt5PckDJBzGrAt6bnKBHWRQR1vNREVkIEcTQGMkileGIJvbQtL7BkhGFTNeSG1De8HxdbMCkCFSPlsYWFJrn7yUBmjOnz+LFF3+I1ZX1UCWge5Kh/A1ngffeew9/eOl3aOo5go6pDwIlPoyXSmsg7ktTyCvo9xpFFw1VAgW4H9n31lrmA/uwnLgi9abc54kvUyiSoaTeRO/jaJzc8TuXDJDI6K3hSl3ag9nz985FFhU769Dj7HroeHw/cuLLaG8CNri/WmaNxSlZhGQ08P5jJ+IzyJ4RC1w4G3qu+fOKQuPJp56Mn60LiZvXb+KzTz8FvCfBuQCIBHW9QA8Oia1LKCQhsgxIeGQzotG/vy/1Eghy6/7/T9t/Nlt2HFmi4IqILY66KtVNBa1JkABBEoosgqwudvX0e91tY/2h37P5h2P2eqZFvaquripqBUlojUxkIvXNK4/aIiLmg7tHxN7nJgo1Zn1oYGbee84+e4fwcF++fDmzITw7C4kyZwoAqIDUSsY91gpIplpx/2co7k8tY4QkCxH9sFAGIPeeAlMh20GwR6hh6mdYu2s/HmLdseiCcj5RzqQb8ekwsgooH/ZCx2QbI7Wo8fLhAVg9mde695SlEhVy66AkG2ijqETbNCz8R6qaJsuglcdwMEow6AggMi+jO5chwuaMLp/Q1rc4sXUSN65dw/raOuAVtte38NXwOvZmDVo50J3tbO8PPv4EX135EmWWYVjkqKsKo8kE1nsMygG2z55DluVQsDjcP6Dgsm2I0mstTp44jZ2dPZw/X0JnOZq6xXJZo6pqAB7GUYmPbVv4RY258pgeHuHGVzcwGAzgWgvbUrZycngErQzG4zGaZg6jKWDd2FgDFDBfzHG4O0WWEciYqQyZA0xOvVvF+SmHA9K6yAyxHzID21q0rgUYoL61cwe7e7tYLpcE8RiNReVg8hzW5RiOT8D7I2xvT1AORjg8OITTRLPTJkNbO7iGak8zk0N5oNAGbV4gKwpMhiWOijmaZYPGWlaRjnbEg1oEXbp8BUo7XLxwDsooPPXUEyiLnLKnXkM5BqZJfyuAX0opDAYj3Lx5Bbdu3sFjjz2K73//OxgNBgRyO4uvrt/Ah59eglaO+l07i1dfew33338fNifrODpaYDIZQsEh48BAJb2lIXGl2BunA8iovEe1nOHNV/+In/z8f8doWMLyOUHOHqUTjdF48S9+ip07dzCfTwn8V576gCoBpB2M4xIxiKp73Keeaz/TQJJsQZswh7gVXAhjwMkL9iWgkmysY0q34XNA7IzYhGhLyJ5EB19xyUFKLJaz1wsQIU60ijaLxiTZywG8V8Eek1Yws4E0s/EgIoDRRtOzeWHn8nVd9G2CaB+r8XKdp9yTF2GecBb3znsJm4ICtWSjLQI06j2GwyGWywWq5ZJKFODRVgu888abmB4c4pW//Bk2Nzcx3tzCv/l3/x5rm+t4/bXX4Ns2lPUQAyCxz8nw0Hhq9mnSHvKgBIXy0Np15u64VxKaBvAzmlGfhA/t11yjA1Ws3G/8+b2Agm/2iuB12q4pfmfff5agV0nbTadDj/N7Bd/Rf/LBL5BdI79fYTXx3yUYDvcCGxS4m6rChx+8h+vXvsIPn38B333mGYwmYyqR8QrWO+TlBM9+73lcOH8Rb//5LXz++WeYTqfx+7g9EFxssaq1gbKeOx6YwKwjhlQ875X0/k0eViXPHhhlzKpUiZ+gJLfq4xlLpSgqEeel3vNKdGV4r8l+98rzeRwFSLu+yb8sqMW/JLA1JoNSwHK+QNs2uHP3DmbzQxwc7aG2NUxhoFnQB94zZRdQzqJtPOaLBbz3MFmGqq4ABWhGOpXWKMuCHFVHGUsNA9+yeqVyGJTUR3d9so7JaA2LBakeTyYTGAPMrQ1cc+0V94CKCobeeyyXS6ytb5BIlDh3PVEWmTAdnGXKVPuk5hVQIejspOx7vPxO1jNxVj0HzjGzENZTnMoUgWXqcTrFafYwIqaxR6TigCyCkeSsOKHbMHrZNyHe++Q5ETLfciiRU+6CFHe8o7jYm7aFAsIcAIB1ND9ntrfx85//HCe2TlBLF1ArJjBl2zvgo48/xC9/+UvM5zMOJBTyLGNVyJh572TB4wOE+CvtbRrQ0z5tWflwWKVjEDOuPEZyQIvsu/wJHdZSOtfyb8nWpuiY/FxAgDDmUInxjJMQ14+0y4ltGpLHju/p3UN/vciseQ6yu2huMvki3iO/E4Gy0GPQM7MhySJ3zjEO/l2UoPcesJaySCQwoHDffQ/gvvsegG19oIG///77qOolpLNXOkF1VQegCl6AAak34rEJ+y3WHXcBxES1WiXOU5rdTQbLh1699J9OsKn0cOkaZYW+06GEIgTJviRtnRKnoZMFSdZG/5WCSiooFPIc6dhn0YgInPTSQHfNdinI6bry4cc+3koH4EmF1Dp09WT8UhDFJ2OR2kiTGTFWYb+C7Q5pO/gACnnvKcATNgTfGLUGcEk9MdufXvZbsnjWWrQtOSlFWcI2LU6e3MJoVGBvtmQBFx8QZ4DOraZpsP3Q/TixvoZckyzRcrnA4eEhltND/PmN6ygma8jKMebzGaZHR9hYn8A7S4wEpblXd4u9vT00ywrDkuygc5ZKLzyJE1X1EibTpIasNSlBg2pwtfI4mk6RmRx37+5ibW0MYwhAOjg8QGstioJ6ti4XC6yXazCa+tQqpZHnBTyA2WwWzs8G1Ct3OptBAWhcg7zIcXh4SGe4NmiqGi1nH2azKdqqwe7OXdz46ga8VdSTtsjhnEHbVGhbi3JYcPkK9eR01sE7i+GwxHAyAozBk08+igceaPD+x5/j6s0dtF4af3BlA0/hsqpw5eo1DAYDbGyewP3330+1sp0ME+/bsA4omLbW4cMPPoL3VKef5zlMpnmcBrj/vvvx9nsf07lhHZq6RrVc4je/+S3+43/433A4O0KWGwwHBbwDMuehwaU5OrKYoITKrjrELKUU7ty5jXfeehMvvPwSsqJAW8esrXcecC3W1zfx8iv/Cv/4P/6Ge9VzaZRB6GLguaa5dam6KL2kRZhsWKWSkgyhTHod9ufK/3ufsFHE4UTotpAyRtJXsH4r7XKOOZeCxaFAOArcSYrad2yMlIOgp1WhEgGoYymVqRFLWxj5+Lt4f477eac+TrD2IdyL4GAEkLsDwO9MDhIpARkMBqjqJWazGdXja4W2qfDJxx9hvpjhJz/9Kc5fvAidl3jlZ3+Fs+fO4x///u8xn89oL4QWS/L88TsEZNRc+iNsMQVFAY2ieZf10wUnup0ijr22WOW++H94fz9x010Z8bzr6jz0z56Va4ZAGWENH3OTq996TFLIGJO8AeznrfpT6WdCDXb4EGSSk3M/BW6QjFkKCnCGMgDjFBEcHOzhl7/4R3zw/vt4+Uc/orrrvKAAl0U2z2xfxF/9/AKefe4WXn/tVXzy4ftUJiLMCS71aVvLLEmNPDPQupuwEcBId5Jn8rBIbIkK99rziuKbk3lVUIDxpP2nSLuBynWoB3hIxsneS+e+x/ro/Kn1Sm30172+cWBbtYSaT+dHOJwdYne6h9YuoUuPwhESTCIrRFnVRcnGnf4rBwNyXoxB4xo0tkHrWmRZDmMI22rbBnCk6Gt8C+00ymKA9fU1bJ85izIbwDuN2XwBrTXG4wk5B1VFqKwyGJRDNE27EtQ65zCZTDAYlCGoFKQyzTyms+wBrkHlXotcT+PvEdCC65S6NI1o7RzEwZcgQCd1b5KBTQQAktpQ9JVsdUQuO0GLSjJ/soG0guGieTI6VKvopeek0BUCCsPBjpMQXAIBTYJUSQAde8fSqDaWs6sF120JzUN7nD57Gn/x0x9j8+QWvU/lYGyVBZsMrlz9Ev/0T/8Tu3s7rM5ISrjaaBbu8qI/GZzkkFB0ibgBYiY3pYX4pJ1LNMBxE8nvoyGVHsVU94ngwMsy6YdM3TUh80ViKXKQtBxs+wAcQATApPen1tzbMwlupH1DcPwTei8QjZuSpgn0836WL7zZp/SR9KWOpdcgAEE+ZEXi+8V50rEu0ZAtcIiiSN47tG2sZdJa49lnvgeT5UEM7ejgAB988C71gwOC+Bb4QF/MFhhPJsmwdJ0vOXSik+sBkcPXRNGJyv/UB8MrxFq5RBof4bnkOxCCOCQAiwqZ2nTAZL0IOMTfzYUmJtggdkL5kKG2MEkrEQGnOpmKBChRMdvhEwBHMlyC1Ibezswpstb2xg4xu9BDn4Nzqnuiasmai3uvt5r4+x2ozsZJVxhNdZRKe6LHJo534xp47QAD6CKDsi2UpaDS2oT+FbaHPBcFS0KPkr6SItAnIIyMLRKmiLUOOtNA4zFbzEJ/xdD7UloZsYO1tj7BIw/fh8P9XThnMRopbG6UgDa4dWsXN+/uA2hgW4e7O7extbnOonTUcsa2Dm3T4MLZc7BtA+8tBkWGnTu3MZtNobWH5lYwzrYo8pwyrsZgUFCfzOVyiaZpYTSJ80mWChpobYOqqtDUFcqiQJHlKPOc2A4ZtecxOX3GWkuZP+9RtQ1la5UL7VfatmXWhIXKqbbU8+Is8wGByTDQlsoEGmZl5HkO2zAg6hRc66F1xrTchlaFyWGdxaAsoIcDGKPx5BMPoKoX2NmboeU6bTZ88IrOpKPpAh9+8Cm+9+y3mU1WU72WoTVF7ZsMWnCfbKWhdIbLl6/i1p3boZOAtw7L+QLDwQDKZDiaH+LwaIqinMDZGkfTOYosw5UrX+L9Dz7AE48/isPpIUyeQXtydTNjoGFhuN2cZ+pf9Pt0aF0jCuCXPvsAF+67gPsffBDKWDjXwlny9px30MrggYcfxVPfeQbvv/kGyjwLnRPEDySgx3BdumNxNTqNpQ906j57xE4L4odLVs9H3CdsbmoTJAKESeSmXOfsSAFjhOsoHgvXsyfJkdI5k+J5Hs5kraC0o4DMU3/aTratk7kVCm6vRrAPagJBB1fqO+U4pL+TrxHHl89RaUfDTn+oa05YfBT3i6JVF+x0iVq01gplWaKuaxwdHWE0GiHPCyhv8dWVy/jbv/nv+MnP/gqPPPIolM7x1LefwdrGJv72b/4bdu/e7QWVKviQYdwM4L0JY2+t58yc5cRTzI47l7YKE5t9b4A2Bmn3Dm4R4s40cHK9t6SQ9TcLWuI57OQQSUb+64PizjenzxcWQPp7BPaevAK1PmSBkYBXAmalLM9uoAvEs1t62sNT6YHyIlTZ4sa1K/iv/9/b+Pijb+PHP/kRtre34Zzl8q0MMMCp7fP46V/9Fc6ePYu3334Ld+7cggQnCgoqy+CdQ+scbO2RGwNj2KeUDgYagZHAKzwkCdKgPTwBr3/HD27EHmj5LI0PCRJSctB58p1JrjxSxIOt4M4qNEWuw0LtM8qgj/FJ7/H6xoHtnYM7uHv3LqbLGabTI8wXUyhNogt5TvSxsiyDs+SsQ55nhLbzSHnv0TR0gCooqqfkInXbknJipmgCcpNjNBpha+skNjY2MR6N0Sxb1E2DohxhNBqFHn0tE/maNjGgWgU6stYGeZ6TKm86VB1hkS49zyc7NmB0yXolWeqUuuc71+2/os/t4zUQ64CjUeqiFvI8EqSnPw93Js5dJ4vkkvchQRTdve83yfSmqCM6C00OjtS5JJe2ban3YlEUaL0LGx5Q2NzcwI9//BOc3T6Lhuu+DLeCUZlGluW49tVV/P3f/z32dne5Fyap4RodHXQBkuKBFuckpVu54Oinz5FIfHxtvWxEB6NoVPw9ADinOsa0H2BZR6IuoiZbVTVmswU2NjZDgOcRg5mA8LMqtGLKi1wzY0MVAit062fTZ1kBadC9d1mP/Sxz933yu/DT7ppMfhoyjFqFtjBASiFTocez2AfP1LbTp8/ggYceDA6fUsDHH32Eg/0D5Bk36GDevDjgMh4uWcPpXukgy9Ib0afrIt67gBgSUKUwhWcqnheKfZJZj5+X/ZVmWcVJcOGdiY8T7s8HO6I6AWPa11fQU50EtH3HTW6mz7ZIMy+KgZ7QF+44GyCHdA+1l/dFBkR3XWnOzIR5SOxpd21F/YAQbB+XiU5qv+P1Vaem3wHIszxxMrqOl06yAuI89zOvULFFjfMOu3t7OHliE8PRCCdOnMDB/DZgOUBKWp2Ag5e6qbF/SGJPo0GJstiAMRpV3eDkyW08bB1e//N7qBYtt6ySSygs5ku0TYP5bInNjTG8Lyh4lRKaWx7DYYHFYolyUDLo5ZFleXjeIQeB1lqq+RwWyLMsiDm1tkWeUzu8tm7gmDXjbNRHqKsarbXIixKZ9xTYe2Joaa1g2zYoTMv31nWN+WwBnRkU5QCGs88KpBLMkxb3liUQdTolOrSsizzPg6qwMQbWtmibFpkx2Jis4ZlvP40/vfEODhc1BVk+0nDlXqq6xmJZ487uXYwGQ7TOBqO1vX0GddPi+o3rAY5YLit8+eWVYEc999e9u3Mbm1ubMEbjzbfexGw6g8mGsI50HQZlAW003n73XTz48AMYrU1wOJ1iPBxAqxyttzCe7HqmCSwJgkwqAUTFzoNEZN5+81Vsbm5gbW2ClplNcCS62bYWmcnwgxdext6d27hz43qHKSU2LeqCRNG0uF95TtguCLiGACzKZo0lHcfZep04FzFbmwSk6SEZslmsLh8ypZ2+PuG9afa3A74Bof43+EnhMlF7om8+fD8J0LEPKgHju7YbvTCEnsHFmu1Ev8Kn89nzvSRjKheS+zHadOyz4pp4xZozlPjJoDywt3sX//N//B0+eegxDAZDFFmGPM/w4AOP4nB/CueqFT8zzdgrFZktSM4pnbSzlBcx4eK9SqDZyazK0Kmure3b+eN83+PmJqwUj6jP8I1e6QHnQ+s++V2Yx975FQD/lYSU67xfKXTWk1rJYMc0YzijHK1DBw9t0s8ieZ9KfkafS0GY+D203qva4p133sSXVy7hhRdexHef+Q6GwxHA7VY9HPJsgGee/T4ee/xx/PmtN/DWm28QGxYEzOdZxu1ZLfeCVyiKPNboB2BLWiB0976Mi9xbHHUEkTGZvmA5kkwrxXiG6MsQpmFv/DtwRDIWUr7Y2VvffJ1848D286vvY7GsUNUUgKrcslOWhYWqFfHUjTZoXQvXtDTRafbRObjGA54OMhgHC1K+HBVjDHSBDDmGxQibmydx8sQpZHmJtnGoG4u8KDDZ3KRAqq5g2xbLuiGHmTeZybNQz5dlOdfwihiUC0Y4RZ3iYuRpcwnlQNpfOB9VCNlxtWGyfKLkFetRVVgsMRAKAJEnlWAv6qi9LFk/63eco9gPbl3IVuiQ+SOqHiOpLjXkyQaVBdwx0Co4LMLC7xjyhH7aeuoNWOQlIbWBa++wsbmFV175Gc6ePQ/ye6idDxxQ5Dl0VuDu3bv4p3/6BW7fvMnUYKrpzrOMFX7DDHU2Dz9ACFKiYe06ukicAPnscQGdgAjxd/z82nHtomRzGXnjLLELlB5qa9E2lmm3FovFAnVdoywLOFdDa6KFi9BluG/FJU9aJU4GO/IiHOZ9Ymz8sfefrpXjAtx7vdIaS1mXEqwGZJu8+pAhROJcpA6EYuGPmN9CoH2mGc5nv/c9lIMBNSoH0NQV3n3nXUL9xOlRmkVVqB/gYDCQoeoh/qlB5nFQqeFW0LbrGMtIK7EFKh68PunAJ9dC4iwoiU57cyQUaw0w9ZSCBceZenGMXABb5H++4zSGwy7U3qf11ypk0KT1VTh0GTnWXCNNhxsBUalS8vGZfAmw3cq4pnu/S1HUwSGI73O9zyho7Sk7FLKfYld6SK0D1ZYKiMN1sdTzk/pbi7iU7jgGPuwtFcoPfNdRCWAbZS6Mpv6nWtG1MnYGTp8+ja9u7aJuLX2H0lBGw2QZijxHkWeYjNfxved+gPnsAHfv3IHh511U9JnxaILBYIT5knrZ1nWNsiAhpfm8RmYAk+UYDEaoa7IRzitq12NyVFUDbQyUUfD87GLP19YmqJZVMv8EHhF90pB6OM/x/v4+9UAUJ1cpKOepl7z3yBTQVKSJUKiCGRV0vrdNGwKbAK5aYFAUxHSwDkYpZFpDZQbLZQWVG+TawFqPvCjRVEt46+GsReOpBRBAomDGNIBSpBjuPdUhZxRYjycjnDl9AvtfXAV0wcuWVVz5WRrn8P6HH2M2W+D0qVOwLQVoxmg88cTj+ODDDxkgJT/l2o2bODw8DGcCONu6yT7F7Zu38Nknn8I5hbpq0LYO4/EERms888x38eCD9+GTzy7j6W9/C0fTHWgPlEznbqQHLPsXigNLDVKpjw4816yrFof7N/Hq73+Nn/zsX8PkOby3BIh6hQYWrlqgKHO88Bev4H/81/8P6mqetKOKglpaeGgeaBGDx+hXsKowIguEMspebkfujO0IszOU9GRl8TzvWQdZwapevZ2cP0yNdInb6pN7SswmA1WikcrWQBRXpcSA0o/3pEQeF8DFF5/3SWCrws8VHcLHgHWKA2BqmqUTIxynMLXFFPWl4FcvSFgBHePZVRQFjNGo6wrWtijLATwsFvNDfPThn8lfUgRsb21uIM8M6kbO3b7GiF8ZmxSA74ibJq0XVVAa1rEMJCQL5Izr+lby73+JjxHu0ifowP8fL6lXRmCXxb7X4p/RdPHaRwyqwlmYlOWkvm36LeLbRJ8w+hc+AUlj0kUfC7jTy4af+d574j8JwKT1anGwv4t/+sd/wDtvv4NXXnkFjz36BLLckLiUa6GVwsbGSbzyys/w6KOP4fe/+x2+vHQJypEKOxxT97k9UFXVxIDMDIwi38BI95fAfNDJXqWzT24wdF6QoFSDNUgsd1pJOzN4gFt4qvBsXcaZsKlkrH0S/AYMQEe//Zu+vnFgu7O3SzeSUGnkVeQ5Mk3ILLXGAIqiRNvWGBQFZ2locTS+QZ5TFF8WhIJmOqM6SuQoswIb43WMRmuYrG/BmJzQBkYvldaYHh0Bnvrieg5qlIn0UWtbri0quLVBpBtLEBlqXJkM631EQjqBLhvz1rugCq1DbZxONhFPnRdab3eTRDGW/s+FGtQ9HPpZVcrqqJDhkMAACULoHUm5t9ahKDK+PsKfwZjwk0kWXQ5i73xCYWKRgWCYkWTqukrPzjk0TYuiKKnhu0OoIRsMBvjxX7yChx9+DM46Rqkyqq/W5NjtH+zjf/zd3+HKl5dDnaTSGjkf4ILSBqprL3jpm6P4TJ77hAoFXArmV5GfNLhXPePDYcDK2YbkfVLrF/8jAyGI2fr6Gsqy4PfHmiul49jq8Kx+xd6HQC38AOE+xblwLsrM6X/mwFhBe3ntx0M+mKKO0fXerwKsIVsYBa+kpivuuzg24DYym5ubeOKpbwXlaWM0vvj8Cm7evMFGjZXFbaxTds5iOBzAORuprx2QBh3jCOnFrHSiIN/fn906dw+f1H5EGhlvk7jfehnPPoIPkOPnOoCUD/tIhW8Qx+s4sKLrCaZBrWcl+LhmJYvPjpd1wbHt9zI+bh3wHXSeA0mtruIbUkidNAF50myugAOyp+Rg1MfawBS2FfCxrisGS2PNXXB0LfXWLfIiHJbBJnK2URRt6frSo5vXnsgxMi7jnMfm5ibqusLtO3fQtpZYE97zM0h5Al2vdR7KAp98egknNzcxO9qHbVqMRwO+Po2TzhYwTAFbLmsslw3KwQBw1E9WqxyZKWF0DqUqzOdzHB0coCxyHB4coiyJ8VQOcuppyzVLJsswGk8wn1MNcNNaKKWxWNTI8ywEBc4RCD0cDDCZTFDXNdqmCRmbxorToeFB/Wi1NoBylKnlPTcoRwQ+tQ2WywWKvEDjGxiToW4aDAcD6r2bSdbWYzgocXeXKNrKK+RFCdW2TPGkOS3yAeazJbxyMJmBMSQ2uVwusVzMcPP2XbimwrDM0HqgbX2gQKduzrJq8MUXV9A0Hk2zhDYKp06fwv0P3I/33n+Hg0w6r2fzOaxkaURtmYWdnFd4/c23UTctTFbA2xbaeQzLCbRWWC5r/M3f/D2sddjaPIsTW1uYHu5hc2MjwGCWwX4B0QyX0HjruU994gyzM3f9+jV88tGH+PZ3n4HKHSpHHSM0g8fWtjh16iRe/slP8ct/+Du2NfJ9kZKfmnyxufRfCgSLzRSbJAFjX0ST7an81KWiTiEiTWwaQkAcrtGJ5FT3j3sdTwlAKsGCQmqPEiHDwDryoQdp2NRexsQEG+ac7wQ+cqD3A5rgeHsJfLumKnljeK8WsDcVV+6/EvBA9dSIhVG4XFRo6hpFUbLIl4PSLZxtuJRsjXpDt1Xwxci2S1lJ9I1WwMhQmhaDL588A0goHnA0VuH2dPhwkiCItew+HKxdMDTNgt5zouUM6iyPYz7ggc5ykkxzp+5Snonnxsna9sdOiJybAEKboNUzsgeYhCFWnTkM/pmLlPN0DtJzsX8raYAsgSFYpFJBwTYVbt28hv/+3/8rvvXU03juue/j7Pmz8M7AO7HTBucvPIB//x/O4rNPP8Gf/vBb3N3dWXlOY0jMtVm2yHMq8fNKE7CrEZW0Q1CvQgvJMLgqlkdJAs8z+0z660rGtcNQWNn8wtjSgczhw3pQXLykoawPZRzf9PWNA1sHRyIbAJSlFHNmDHKToSxylEWGtm1J3KKqaVEpBZ8Z6oWmDHxrkascltPpMgiw7BRnBtvnLuDUqTPITInWeiwrSq1nWQ5YYLlYwvlFNNJ82DtrkRUlOdAAirJAlueUKfKReiHOsA0Kx5YwHQ8q4PcmOp/eQzOFV3rWeZM6UXTCqqTmU/7leSHHbG4w0WFMxeHzUjeiYgCQvqTQPayvYARkU7HjxihxERDdSNtBWn8CHxZrDKBVKLJRXgU1RGqhmxhMPtAU139a61HVDaHwnmpyJIs3Go3w4x//GA8+9CjaVigcGlSNlUHnGkfTI/ziF7/AF5c+5ywhHehGG8i7Q6uHhOKJ4OTLOHeNdAhU5VxODr7jnHytejTaJJsX/p6o0AbH+JjNJqIZRhfQyqAoDB9+sT+tFzTUScu4RJ1HO+qTmqyVPtAhAaZn8CWu75RORPenWdH0XtcCyCh5SPAnTr+G8klP3aR0yKf3ER488Xc6dFKyWk3T8Psp0/PUU9/GaDxB27Lhsi3+/NZbsLZFZkjoTIAWgJVVtYmgQCoSLwG97gooCerspTVNggzEYLa7L51zcRzE+QkIooR/XRAqzr0K1053vge1q5L36BQ4CQ5jbE8UHUtmoWjdcxS7DA6f7GelVNKmKjq1fScm/Byes8dgpkQ/CxPb/YgzHsF7qdNyrLYZWSth3DQHptzjVTOQKevMWc8BkQ1Cbm1dcx0mre21tTUs8yWp4GcZbF0TbVeE2AK40+1hSz/0HTEqpRT16WYbLpn2pmkBaIxGA3ivsLU2wWJ5EBRtnffwrYNvKtSqxnI2xy9++Ttk2mFtMsHaZIStrS3Ml3OMRyNsnTyFQVlCYYqqbnA0m2N9c41mUGvs3N3FhfMXQnuY5ZLEZMp8g/rAVg0GowHObp/D7Zu3uKtAjqZtcfP2HbTWQhkDpTWauoV1pDzpXQvtgba1cLA4cWKM4WgMk+Ww1qKqKixmc+SaBLv29vZg8gyTtTWU5QDznbvQimj0jW2Q5wWc9chMjvFAwyiNTBssFgtMRkMMBgMs5hXKvES1rNC0LeqKqM+LxQKZzpDlBcrCoKprNA2xGA4OjrBYVORgcV2YbRsob7E5GcJWYxQGOHFiDZev3cDO3SWJSnoHC8f1/jTXy6bFrTu3MRyV8Bp47MlHoI30vWYaqeYMQVi3Cq0CGu9xOJ/B3N3F55cuwWQZcm2QKUdZdVDnhps3r2FZNQA8fvO73+H//D/+I7xtsaxqjEcZLPsxTlHGHtyv2+mYjww7j89laUf1/nvv4PSZs9g+ewYmd3B1DbgGXms4p+BUgwceeRiPXX0KH3/wHoxRyTYjX8ZzwW9wjvvWOpqzBPCmv1gGgmPPWgElFRGLgoJpVFENDxKyYzGrKvY5fVvsMeqC80o/0PCK93ryAZWoNSO1fFz7KsG8Cnn86N/45NoSB2udZimjIuxxGbRwD3LvoPK2LlsnjqG0LZNRiL+PdYrHxWvh2cgoYFAOUC2XqJdL8qkU1ad7pwHncefObfYlgLIYoKoXx57n6dwijE0U7PGIbL5UhwYAMs7aOkX/KZ8l7MYkeOU619ZG222MjmuzA90K0MJjr+KaCgNwHOiZXimccRSPENgo60/OKhtYP12/O56BIdgMQEOPuh763LqwpgAwcyHOaWeFy7WCyOFqrXcMhFUP9PeB6h8TBAIeN7xNDBazfbz+xh/xyaef4rnnnsNz33sOk40JgZCe7FxeDvD0M8/ioUcfxp/+8Du8/fabqJYVTBK4G2ZhNk0DZRXyLEeRcYzhFZesEKijteOEi+LMLCmwS0mRnPaSlHHWQoWErwqaMJ4/IzGKxDmk1hz9egdi5zlnOcFmA3Ck/1fU2GqlUeQFFIC6oZYEltPMy6oKgWa1oINN6IJVS4IIxjsW96HsZNtYGJ3Rz5zCYFDi3NmL2D57Dho56sqibhqeZEK4fYtO4BSyBVqhzAooVm7W+hi6auflO3tI9r9lQR4ZQC2UUAlgnINLFgh9ziV7Usk24e/pF+AjbJSAKiW1jiJw4pyg55Geh9Rg9oynZwiwG/gkTrhHrHVJnG+5L83ZX8k0KprwBNFVHeffIyqKVlVDWXq5f4ZyjDF4/vnn8eSTT8JBEXbBWQ8NDa2Jiv7HP/4RH374Add9ea6p1WHzsT0NLyXOdWe8u4iuYyc0Dnv3eVMHPwRExxpU3zlM47UQnhdJECnBhTFyNUdGPmzedC0kdR9wyE0GI6JW4bC8t+hGx2dInyUJNGVPpohoeH/veVXIbqHjMHhBO9MeiI4YEnEgiAKqwFRPVuM2xlAw4By1O2HlckChHA3x1NPfYkVPBziF27dv4NLlS8jkcPR0ePqMjOJiMcVwOEwOmzRjmx4g9zgcO6Jf3QBRsolKuWC0I/odBz1kNjpUiHS80zFGOMTAa0ypSD3vBqaxJMLJQQcVbCy19BCgApGyrGMWhWipOmTG04M8Zsp7Ah5CoYYiESVQfXiaIab6fMlM6GQzxHqsALR4G5WeeSHJ/vQiVOJbKGNQDoao64qfvQ3lIkSBbfgQJgB1MZ+jroma65wPWcosyzm76JM6TxtAQnlmouaqQI9Ma3s3Nzdw585dTI+mWFubIM9z7O7uoqlrAl856x8YEfxMzlE27dz2aWo3Vy+wt2cxmx3hKCvRthZHB4cwSqF1Fod7e7h47gyh40ZjPBlTENzk0MZgc3MLZVGgWS5YNIeC3UuXvyRVSQgDwKLyVWip1rYtMmWQGRKQsq2Htw5N28Irj7u7u9jb28NgMEDbktJyYy02NjexXC4wWV9H1VSo6gqLZYXWtii556xyHk3dQEGjWiywtrYGk5Oas/NAlueYzedYLOcUWPF6aJsGo8GAfQMwG4Ro5I4Vn7VWWFubwHuPCxcvoMgLUu3XHkWe4dLlL3Ci3oRTBouqwt7da1z64+C8ZbGfCMYeTg/RuhFOnDyJ7e2z1N+ezwqX7n3HJR1MV8+yDOfOncOrr76Bumnw2COPYjIcIdOUy25si/2jQxLV0rSub9++jffe+wDPfOcJ7O3cgvMlBkVOzpsAPU51QFTlpE5T8b1Tay4og8V8ijdf/SN+9q//GuWggIZC21AQ3bYtFDJkucYPXvwRbt+8gYO9u6L7GBTDk9Mx7MmunUkD3XieO27PIVh9sEnOh3dDkrZKgvLUvnT9jkj3T61EovouxviYVwoiR/uTMpY4E8eOgZKgTFTxw7fx58Wx7vlaaRCjJPLtUZJXzhI+y7wwolQ6nolNhZy7SAL07nV9599xsLRWGAyHvBeXyMuC2IghqLMhOLzv/vvw+eefclsYHwOyXnjohQqP2NVB81ikZ1E4Ew0laR0nbTrASBIkCjXIOUssyZYSHMYU4Zvj83V7nPJFgq/TtnRmFUXeORNDu8UkUS9jvALOhwRN6iuvMqkYZo2P1FkPqvuM6e/SOT42w0v3aVTUP4nriH06TtykF0x9ejljdMLOpJfj52pweLiD3/7ml/jkk4/w45/8BR555FEYk9E+VkDrHEZra/jZz3+Ox594Aq/96Y+4/MXnoQ0Q4KGMQm5yOD5r4RyJl3WAch+YtuASF2p7SMwbHXzF6BOF4D0ZLNKbNR2tJaVADBZZcqKY7GIBg3XMdFExofhNX984sM10xmJMVJSsMkU97ixRm0S4qWVnoG0p4KvrGkZnMJrRdK6LKjID5TXKvMTW+iY21jewdeIkvCfaVlNbdrYVIc/OQXkDBdOh0WS5CWpZWmsWqemib6kzR5vDdTapY4SP1Eh7DmpC101rYCkj4qNKoQRZ8l4WaxEHMwapCEiSTKAgqPK1ppNxjUYlZJGlTiL8fxSSSCkRqUGRjHAqwCPGybMhCMIfSgXlySgQ5YMioOJa3sViSfRjNo5ak/Jrlhf44fPP45lnnmHHy8JrUoXMMgOjcyzmFf7wx9/jrbfeQlu3jLoq5Now8yUe1VL3KM+m2chLlsmHY50dTtvRw+2th0jnlIE9LtgJYhGimhoBw/BeFRx4oOFeq2AWgcnAznT/mInfLyVMnLKFY1ngcBf6eOEwgMWsE2GrMD7HbP5Opln+bbv34qVGpUMxiqIgaeCf9ldWrKjtme6vue5KtJAELGlbG8VkFNXpvv7GmzAmw/r6Bm7f3sGtWzdQ1xUybaAc04EVzT8J4oADXnKSfbj/NLuY3FdSA6WTw2N1fBDWrxfWQgBAbLAScd51cKiRYAY+meuQgU8PTG5JYa3t1HFHMQ8d7k40A0KKRZSTAWqnwuwG5RJwxnTrf/vgjXzP8X2fWf8glOjG6xAVOQWDImsifDiYQAlwPZ1oSrSF04OaBq5iNo5OW3NpBQPD4ClrBjDtPDM56oYosBCBI2XglAuId2gH1lNs1UzHtkmwGx0PGrv5fA6tFM6dO4cH738An312CQcLi9aR4qMW+65j/eBwNMR991/EcGAAQZrtNoAczgJffHEF5XAC5RxmR4cECinNQnAOG5vrmC/mGAxzHB0d4cb1azh/dpsAQJlPr2BMTjbCugBoDocj1FVF7BZHwSCcRZFnsNohdw7LuiIQwAMA9X2fzmbIixy7Bwco84ztVYaqaaj3/HgM1Tp4o2EGAxhNrYTKssDh4ZRLKoDBcIjWOlR1TWeLIQAgN4brZzMOxlkIT1Ht/nBIlO3Dw0NkeY7haIy9/QNkWYbzF86jsTUG4xEefeJJXL92HYeHR3jo/vM42J3j5p1DWOeJXeXasF8JezNYLCusQ+Ozzy/hzJnTcHxOSByi+fxXib3PsgxHh3v48vKXAIBTp0/hiUcfQWGA0XAA61pcv3Ubv/3jO5SRJaEKvPH6m3jowfswnKxj/3AHZ06eoJ6qKrZSkT2ntYZNbKgEYRRYeRgF7Ny+gXfefA0/eOlHkYJvyQ42bQsohXJY4Ec/+yv84//9X1DXS9Kf4DXiXffMC7Y97AUfemzTuWKTtlgx+ItBQCKOmfROX/E1JOsUdEz4rSFgS6m9yYks/3RpKIqwJ1UPSJb7IxAr+RnI+XXBL4tMLpqreM1ow2NSILQC1L5zlqy8EnsfnPnOuZoqxicBb+/ISX0LuX/oGJAqRa3HGt0ETQkvwlMMNFvn8PHHH0Z/UBmpgQg2OfqOEYCUYFwltl3OI2NMtIuK6qg9n8OexzFU7Eq7PO9R5NQ2DBj0nl3WR7+3bG88FAnQHncuyfCp3poRN9qrON+BtQTSTUjXT4RFXHIGqSAE1c3Y8nV64LOEvMfeZTirxXfov0vFa2K1LFHK5Qi4dOGs1ypjnzt2UoFqYb3DzRtX8F/+y/+Fhx95DD/84Us4d+4cvKNkYOMUtHI4f999+Hfnz+Ozjz7A73/7W+zu3CVwkAnkRinAKFjbkFhdlpNWg5TLQcXuHB7wTnFnlLhXZJlJ/T68sFrZJ+MWFCrYp6gu3fVLyRcwOYWljW7gHEK8cq/1cdzrGwe2YKeDIw3Y1sG2FtoY5FkeqBhiTCWLG4wo+K41NVAvjMFgMMTa2houbN+HIi/hvEdTtyTYwWqPVJ/LgZNyFLjyQqNaKqolkz673VteRV6OE35XQaLfh4yETxwkqBQhSp7JOa6bSek73GTdf819yEZjJ1Bq8JSWBZMKFCWBetCjT1BHvpjW0SnmKQqIS6BUQAVFTEExOxklHWnWOnY6CVcNwQNANLlywDVZ8g5q5/Ts976H7z33fUAZtNZDKVEv1dCKKOvvvvM2Xn/1VSyXi0ClJdQGHeOTilOEWevYBNVRCJYUb2hLn6Bjcg+pOWGuNTUuR1zDYXUohHlIneU0+xqODT5Y2tahtS2Mjs+U0mOj4YyBlyDVTqigTP9IKZQxbhLkv/PD5DpIBqgrlgSp5ZbHl2Cfvyt1TJCui0D9ShwXvog2JJyhmVpPmWwVMyMu0AoCMNJUNd7789tdMQtrkRNkwbXuvC6UweH8EKPBMB7OfM+pjekHdUie+3h0Nx2nruHsoq0piinZim5rHxlDqVMHEAO8DhDCY5Y8d3xPbElDGU4VoIYAemnNe1PBe5Nk5/mg4bRKpJD3X0n9NouEqWT9hBZSqqfYngSf4kCE64VMNCPw3FpixTn08T20jhyDkSYZG4RnhmKgUXMLOQ/kueGMHffS1kRZN9qw/RY6VeJFsX3XnEEWNodjdNh5h+FwiBMnTuDUyRNEA25aDEcT2NsHULpIHCsV5kMp4PDoEMu6wmiwhrZt0VqHsshJRE9n+M53nsSXV25gUdeYzqdY1ksMBgWJpTFdeFlVGA5LGGMwGo6CkJUAo1qLKKNGax0mo3GQvhmUI2odZCmDWxQZjwPVrJZFgaIsUC2WGAxKzOdzjMdD5GUJsE6F0graZLC2xnw+w+baOlzbYG9/D0WRY3NjC5PJGEdHRzDGoK6XGI2GaJoao9EI2lC2XxTgs8xgMCDAczgcwjKIQa2+SNCxqmooZVCWQyilMZ8voABcc9dQNzUUgKLMMZ3O4Bxw+uRJPPUEUFWfYOdgytm1LAAVtN9I6Oj2zVs42L2LBx54AG3TRsBRVnoApwADDY0MH3zwGRbLFlAGTcO2SlEPXaUMoKj+UesBWkvrb+fuXfzp1dfx8796BUeHGoeHU6xNhoA4/c4QbU9zdj+wlqQ/PJ/t3CVCKeCLTz/BxQcexPkLF5E5boHoAd86OLTwSmH73Fk89/xL+P1vfgHtaW07T7aBGFfRZulgD5lKDwF2bOesk43iBIzrUSnlwHHW9nQ+kGR7fTybOn5WjEY6Ppjv2oc0qyz2oChKLJfLkDhQwU8JCcPA1IjXiFmyfgDeAR5BDBNZG5Lpk1dHTLFnyzrX6lCPjzvn47mkEpsEafHGGXwfSpvoepT9JMp/nnvSmFHp99N1Tp48haIocOP69Wg/RROiVybXP9zTcZJnFrso4LSAGkL6UyqxrXwt1QMO0m/pCljJfz0vJeibxOt25y6y4JLBTcYjBUKSdSjXTddncIjifAtg3fUVVhlVwkwLSZaOf9rzy5MhCmtIkgw+LTlKgmetoL1OAmPXW0MRpPLOoVpM8dH77+DLS1fw3HPP4fs/+AFGozFa5+A8lVkYbfDE09/FfQ8+jLfffBPvvvc29vZ3w7xBsZCUJwCtbT2yLAt9zR2YheU992AH05JlzJwMZ7CvwtYim5yuFCRz0O2+QokL0bJw1HnEAyYvArD+TV/fnIqcGSijmUJkUGQlfO6RcTTftkTLKooipLelhtY6R5uEs5u50siVwfaZbWxunUCZD6lGSDKJxqBuGjjuR6uULCDJ3ChOvdNCyPKsqwzaW0yd7E0iZx6HWgdJd9+pDEmcTsmwumikBOGSDaWEWqEYRVzhhEejJo6d956CH63DIk6DzRgU0QbQXI8SYWoK8PmB5bZJeIJVUz0XoUe/MTG+0q6ElZOlnUCSxwxjCW5H0DQN8iyH4X6b0gdSmwxPfOtbeOb734fKc9SN5cCPDyylYb3He++9h9/++ldYLub8XR6ZAXJDIiZe2eA8euUDEi134yTYDCADOvcYiydcmBfKOEdRrGjSUpl1zjgqHwV/lOkZt26g4rwLar/wGk1tcXh0iKqucfbsGWR57B8cDZkc3FH0KaDlALxmEfsgXsOi1kG4o4t8pUJR6TyrBIQRW6KS/wJKLmtaEEelElxSottEbMQn6yNk010AHBy3SJH7quoFocLhzhxnpBy2t7dx9eqXnb2mRXFSC43LsFrqCKEoWa7k3NcavH6A239Fh0WArL7jI8/XdWykPoQOTlFIFKc5UnF0L8juoLT8cwnsqP5UQRsGpFiEzSdZUsK+uDalB6jJgaJ6KHR33dI96BA0h6YkHccsBVx4IwbnIZIdXcj0SgN1pQXRXZ0Dw31gtRYBvrQNhTi/VPtUNy1aR7XmJiuAukHb1hSY2jZkCOVzDpYdGRr7NHttk5RNR0mbnQxtDLEGbt7EbD7F3d1dWKswGo4oW8z1pooh5TguQG1bVspXGI3XOAttAe3hlMXG5gSjuyX2pnPMFnMczo9QjE5SAKKp5tR7YjSsrW0QeOMdHn74UdzZuYmDgwPK4OR5YBQUgwGmR0dMVeWMB/cNl/VFFG8gMxqubVGWOfLcYHv7FEyWYb6ssFgsMF6bYGtrC3t7B9DaYD5foHUW2gAbm+sYDoZYn0yQZxk2NsdYLitUywrOkRpznmcoBxlGoyFm0wU8gMVigYODfQwGlMEZrU3IL/BEGW+alvrrNqQeb7mUYTlfYGuz4GfVqKoKddUQQFpbbK5t4JGHH8bOn98mzQ7VrZH00hfeAUvnsFxWwSGDBzYmEygNVIt5sIEawO7dA3z+xTU4b7i/tcJ8voRSFmU5gDY53v/wMywryiTbxqKxLTSAjz77DE9/50mcPnEKd25cx2Q85PNXh0BF1qHzlF013DdbanEVn41KKbRNjVf/8Af85V//W6ytTUi3wlpS57WkUl2YDI9962ncuHENlz79KHYuUAL0cBkIi+d4rgFVPoJuXvrYxl0aWU6hHEbKl6S6nwN2y9KbIckg13JiKjjL28HhuTov+igRdE59jeR08gisjmAbOu9D9Ln6PVI710zOa9c/A7oAdWq5/tlzJQD9BOaahN1Gn9UhaFkBONN7VCKWo+LTs13Mc6LmTqdToCyRqa7LrrTG3v4++TValPJdVGiGZoBUArAugzDWkcZsvdIaKuiY8D1r7keagOeuAwMkdpHapAdmXQxsZT35cG8h+xo6INxjvFnulb9qZVyTEeH3R3AqDZ4lgur7cpGSjZW63fTSLmQy+0GvDz6Egg51pCtrBul6Vx1Kfxosp9fuxjS24wfK+2bTffzhD7/FpUuX8OJLL+OBhx+BNor7kyuo1iMrx/jhyy/j8W89iVf/9Ed8+vFHaKuaa67pebKCMv8i+KtFHyN0MbBxaQVfluY36Fx4L40z6NpB0zT6FmlQLzMcwYq4Fo0R2j+VsXzT1zcObGXSvfdoraXowhNX2xgd+kPSpvCi4sFCIRls62EyjTLPcWrtFDYmG9jaOgVAYzlf8kFPD9bW1IxYuAdUaCxocIayLEN2wWQGXscMZzR+vcWULEBBl4KjpsTBU2FBSy1DVNOLk9K9VqwB6GfzZFFGpC4a10Blll6ZLmZr6MGlhYbU6Ygz5oNxDjlG6YmK7r3JwRqPCjYvrC7a3TzobmJ+Cd1Va9oklBUouC0GF/BzQfhTTz6JF198EXlOStaO+28qrVj0R+GTTz7Fr371S8zms3DohZraVPRJBJU6yOJqUHBclk1eXZEoFYMQUfzjDGO6diTEC/SdHtKZCtN4zk42TYOWBVMODg7hvMfGxiaKIofRVLstdQpyDxGdjhk6CGOgv94EleR4M82kxwMqXTuMbXofnDqH5JlTpFPQWPn/ALjw3K60T0BogyDRcgoehRv10vSdav0cC/ikxtt7EsNwrl3ZNx4eaAkhbZoKWcaK0i45F+R2jlkX8nNZU19HY0nXVv9a3cyE6+0RF+ZCgLfwfsWCZL3MbLddz2rQTeufpdu8Cy2AtIrUdMXK42lri3AASm+55DbjWkro7J4CUO8tZTDl+wO1S4ceu7DRtmgd12NwWFQsBnCyf5PxlL+HKn/ne/cu7PII+ljb8gHpowMVlOHpoPXeIytyuLnngDlSAb1zrJrpwh6g8hBug8OUeQvPivsGo9EYs+khrl27hhMnTnF2mWvE4aFE90Cej9AnHB3NsLW2jgwa1rHAiqWMsvMeg+EQ3u3CwmI2m+HkyZMEBGqNg/1DTMYlpkdHGJQ58rJAa1uM1saYVGvYPziAbS2s1oBRaJoWt24uAkhg2ZZrDbS2RcstIJTSMNpgOBxAa437778Y9t3+/gGKosTh4RGGQw1jMsxmUzjnMBiU2NrYBJiCb9sGVbXAckGBrNEea5MRFsslhkPK2u7f2cfFCxcwV3OMhgOMRyUAYGNzE2fPncPB0RHmiwWGwwI7d+5id3c/KPY675DrDBvrG9CbW1hfX0PLZR2DwQC3b9/GYj6FdQrLpcXd3bswhJLDKYU8L6GNCTY40Padx/XrN5BnGbQ20Erh8ccewfWb13F3J+oRWO/x4ccfcwY5nv/T2RRatThz+gR27t7Fxx99Bu8z5EPLQT0xJ+q6xquvvo5//fN/hfWtLVRti3I8ADTbv1gwkux7tpdIHbywqXB0eID33vkzXnj5x8jyAq2vmILO5QLc4ukHL76MO7dvYnp4GJ1FROFF5R2sivs2zZspBr2FKh328goIF/ep0dQD12kfmA9dU5wGS/FMS93XVR+jK97UDy6F1Zag8sFmxOv1KdQSbPe7S6R2J9p0iMhNcnb+c9mh9J6D8I+Ao+HA7gfb8bNpWZuAZPKs0fGP/t/a2hqOjo5gudtH+ArrAN9yYAvcf/8DuHP7NmbTI/4yfqZAA481yyFLa9ivYIzbKAXtFJwWP1kBiDohnv1V2DixFIxElWnNDxyBCCST2A0WU/+qv1a6gGy/nrs7R3R2clmPvB/J+ghvTKAa6RnvUjFJdGxB6mOB67nj/MUMqpInCIFv9E+7QbgK/0VAKDIzEymHY581BO3OsY9BP23qFleufobbd67hsce/hZdf/jHObm8DoLOB1nqOza3T+Fc//zd45OFH8fvf/RY7OzuhnadWGl47KvFxDk1DgW+W53QeeA9l6GzT0pWll/zq+F0cF+q0dj8Il6eSpqpnexjw1xKce2j/v0A8yjmHqqrQtnVAVqgvZwvrqNeX0oaoyXmGQZGzvP4C3hJaWA4GuHj2As6fuoBM5aibFlXVwDuHvMiJity2aBtqyC7UWFlYWZZFJWUAeU6y+o6NrDQk7w+QDLpSUueVoDcAoVuhWbBPel55OKc77/VOaERxPuT6fQe521Mtcdol+5Fu9ZST7lX4fCdg4EBCu2BNwvOGFhxAoLeEnlSOFcuc4zGmbHqWxelPnXgZJyQHjWdVW+q5ZpJMFmU8Hnn0ETz/wgsYDAbk3ElQ7D0yraGNwVdffYVf/OIXONzfhzYaijOZRc41mZxRsUyl6QZtq8FL/8/0lRqS9KBwIXsd0b9IYYkIuw9jgrAeZKMK4iqZWhKRsWjaGh4Wa2trWF+fUDuGpJY1zngEPHxaQ8vWTIJJJ0CNWDmea2FZdsUFEI1+7CHOVCI23F7FQJbvR2hHROvU0D4CMEiMVH9sYz9g3Vn3hFxn4WCp6pqcb8h+kPXsMRwOMJvNeoEq0eUogKC6yMViiY2NtTifnOHoHJD8SlkSks097hnicyDsuf76Wn1u3aECxXHSSb+8rpKmsFCiIF28P7EPsea965Sl4y8AnDAgugG39MZO10LieIkoWfo4SValk0WWA9lHJ4ieJ3UoEvaAd/DKJ6wBoSWLnVZhjQjqSwGwhWDAWhkI1TDOHdPYkbInEESHFDNmlAS7WnXORu+jgqeGtLNiFBhAkBPgscuzDJPJGFpZPP30t9C0Dm17hzKeArolNGZSSiaxvKtXrsO2pLg9HJaYzY6wtbWJza0Nao+TFYDzyPIMe3v7uHjxIl0PwGK+wGhYYjjISdzJNbDeEsVW0/oX3QHFrfWscgAL+wwHAwIcbY28KOietAEct3bg4GU2m8F7ogTP50vUrYUxGabTGWazOfWU5yV0cLCParHE+XNnMRjlqJZzQBmMRiMsl0sYY7Cs6PuXyzmMMlBK49TJLQwGJbwnQavFfIovPv8U80WN/YN9rG1MuEUTzY0xGsPBAHv7+zixtYX5bI6dnTsQ9H9tbY1E9UYDzCvq8TseZRiUGq1VaCsL5wHXsuBZivhBo66b0AlgY30djz32GL669mW0/lphOp/hzu5e4vSTzT2xdQJlScJ+b7zxOuqmRpYRyAZ4Ci4APPH44/jWk0/gj6++gZde+AGWi0NMoKOAjEKytlWw8x4qlD91wFve4Zc++wTnLlzEQw8/AuNsABu9px7PUB5rG+t4/uW/wC/+x9/yc8dqdigHZQCjpG5SQGMf9pnuiBUS91SxyGcwEoi2XgKCoI6M1H52A86OXYqWoeMvHfdSPp5jYu3SV9h/PNWpyvEKSJDch9xntNlkpyyziwQ07Nvd9Pn6/l3nfJA6VBWetBulJZmp4M4lzBrFwYkA+0JSC9oDSmF9fR1HR0eoqgqD4SAA157PU2c9vrp6jQBJvgeH2OasH/CHW1eaSk/gAwDivGhvxPsVXzQAjaxm3xknZUI9bhyeroBZODuSsUvnrLNmkuzecefyyu/kv/7Z3QFD4k/Fvw3ebsi0H3/+Q9rYhRrTOK46ZIlVqOPXx6pu9xM14vMnomj9MRGRx2Poy3TOSVmixnIxw/vvvIUrX1zBSy+9jKe/8zSyoiTlZCN7PsMjjz2Fs2fP4+0/v4U/v/UWquWcwGD2XUQh3TqP5bJCYQoUJgOMD8kH3dNfkVcQr2S4x8NzppfXgPbBn0lbeKZzKmNDfunXA0391zcObBezOX0pqH5OFTkdKo5Eh9q6gncOw2GJyWiMTJEoRQmmzWmDk2sncfrEWWiVYz5nUQulYPIc1pLKsrORAiHKwF6R8JDnILYsSkLDGWUxSQ9QpCYkCXzSgXMukiI5buGibHam0qAX/Wuo4ODK74/LEokzKpvHc+G9gAJUl8jBXIDyuJ7X82RqMRjyPfE70ucMdCBeQN0MlYpF2oqMqWZ6bYompSgLEpqJJ6wOVVVxT0ahT0QH/dFHHsWPX3kFRVmibqhG2jo6VLUiiuLe3i388h//AXdv36CCdW+hjEJmFBX68/N7cTbDoZtk4I+hkKSvvuHrBn391cHBh7dREZhauKFtLZqG+iZnIhyVAB/eiXCCg6DAWZZhMBgizwvkeRFrVTy3pRAqR6fuxwcKSMdAh+Caa4wTo6aVHFc0L52DMzlIFUfsjoNyrU3IPsfeuayGHIIXFdoAKEQGRZgBnwpH8WoWFI2/VyvDaJ6IeUQQSNBPrTWKosT6+jqapoG1RKkkEQtK14tcf9O0XO9hOLMba6plXr9uHXSQTh8puNFuyro/fm0F0a4UVRbEXejdXqhlmh0Xlxw6UVTFOdub63sH22JnxBEQ4G1FzTo8Y8eiJYJU3ZeX+kIeB41ohwDPbQHStkNxLfXtBF1eB+q/PJdOWAFplgIQIRKil0twR0vJCxrABz23TbAW3tqwb5zz0Mog48O1KAu2d76jFi3MCgl2fbgHHRx9GTKtNbLScKsKCgZrdh41s5EUZ6MlW2GtZZaJxnxR4fPPPodhC2Ftg9Fogu3tM1hbX4NSGQF+OsNsukDbOAzKAk4RkDudTrG5uU3ZuWWNw/0DtHUDgwzKAa1tkA0KLvMhrQkNBddayl67FuPBEGVRYP9wD+VwhOnhEepqicnaGN571HWDmzdv4cSJLaL4NhZZnqGuapSDEgoK9bJGkZeYHs6R5wZ5nsNoeubBcACTFRgMM0ADY62pBrDMsTZax9raBINhgTzPcPvWHQxGQ5w4dRLeOVy+/CXyjILtpm6COrq1HtVyidGgwHx6iDOnz+CmrbmOhuqpiyLDeLSOdWtxNJtjvDbEiVMTfHXjDj767AraGnCci/TOsYhdzJI6Z5FlBo8++hBG4wFs23b2/nxJtckxW0mLpW4btNbi8PAQX3zxJYwmX8S1FllukGn6b5gP8Mtf/AYHhwfYPr2Nhx+8gLu7RzixtYFMlDyt2PGucxvtUA9I9YBvWvz59ddx6tRprE0mFFDYhgJbK9kV4IGHHsOT376G9//8BrIsERgSgFKzqIsTJ5OeT4czks5Zm/T6DHYj/oj/yQAlpF8nZ2N0GlSKLYrBaT8Z07V7Kum4EH2UkGTwAtIr3quRyZUGm31GThQLVNwSkq4jwYeMA7wGCaantofvI1GdTu1nsJc9fyyls66+unaTPs4/U+K99bUzkowhr5P1tQkqLgfIizwmEPhm6npJvoExOHHiJO7u3gUS2TINObcEMJTv09AmUbc1gJbSliASpMKZr7WGyePYyHPT9Jnu4vGxDDGu/xjkdhbZMee3+IbH+3NxvgPsnWRbO+8PfgiS4JvXVweIiXROJWJxSaoHPs3MJwCzS6j7K2si+nfxvE7LvYR1kNZ1rwbjqV8R/GOlOCGBpA+9xfxoF7/8x7/D++++he+/8CIefvgRaK7bdo6yoKPJGl760Y/xyGOP4vVXX8XlS5fQVsTGE1cvM3TfbdsQW8STdowAr6IJodLe8XHVE63di//OT+6EpkV0Z/FJpIxKlN4lNjC6nyj8+tc3V0UOAh8Kdd2gahos6xqAQ5HlMNyEfZiXyJSBdgbeeoyyESaTdWxvn8Pa+jo8FGbzOdqWEPsso9qg1rad7EaazVJZBq+It54XRVCpVeBUfLJjxNh2BjfdELxKOkPE/VXh7YroQcxOJAsy4TUkLL4V1CEYXzEicgCn1Ixe7aPn+6MAVYXvEOSZvyg8S8y6oBPQpgZHc90E0d98qOeRe043S2iw7CPkVi0lqDUdUS2lFC5evIjnX3iBFDqt5Qb1KgRNWV5gPp3hF//0j7jy5WVA2WAkTEZq2YrbBIlQkmZluM4cxtTqCuLYn+fjni09rHUyn4KUhoyQVqjbhuq1kjFNAx7PWVNB90jqvoVSpA6YZVl4XwzOFQside9XnlX3qdghax7kE8X88WbXEPU9pRQrkkpTbBVWlJJxEMPStw18YCJkBelnlEWTAyWJOcKBIwFd10lRWmooAdvacDCnAZX0Zd7Z2eG16gNFVH4nY3N0NA2lB1qbZA51AAW6SGa6/7p/p6DLhOynZKvTtSLv7SiHC5Tgpa4qtlUQ902Ftl9q5fvjy/fWke58b7p/Y1sdhAy3TvpHppRmJA5qPyBP15qMkTjTIbvcU1SWILd7mK5mvWPg239KQc3j9wTHQCtmkOhw0InDH94v9i6sd5VQxlzYF947ahETyjgSteoQLsTWYB7Sboi+0yV7tLE1Wttwy4kCg7JFlpc4feYUvrqxE8ZCm4x7i7qwFqxz2Fwb4+yZE/C2hW1q7O7u49aNa9i5UyArSmT5EFqXaBpSkx8UZXDGDg4O8OBDF6GznBV6j9BUFbY2NjEcjqCVR9vUvD4sirKAcgp1S73l8yyDcg7L2RxlVsA1RMltmhpKjTGZrOHUqdMYDkd8DSCratR1Ddu2aGtNrSA84FpyQiaTNdR1g4ceuIid3T2sra+jrmtorTFfLlCaDG1rceLUGYxYBHJv/y7sfIZFU6N2Futbm8hMhrX1XVhnSYOAacZFUcJah/F4hNGwQNs2mM0OMBjk8ApYLJZYLBbY2NzEmVOnsb65jq+uXcP+wT6GwwLFsMAXl69iWdPeCzoFyILjLoHS2toa7rv/App6CWctIqNFwQYWjqPYhrsiLKsKCg4ff/gR6sZxT0dF7CNoGA/kOsNXV7/CweEUTevxm9/9AQ8++H9gMNlA3bjQzrCbuUttRK+0QZEQGklWZTjY3cGbr72KH73yM47oDFENPAWWtrEwBnj2B89j99Z17Ny5xTXg4jPLok17cMqPaO0Zpbn2NWYJgw0Ibk58AM0JhTR7+8+plaZ5At+jwdLLMeOMRa7COMX97IJ4s1q5Tmr3HNMzlYqtf5QyRF13BAh55QFDInddER90rgObHKWp4F+crgBCoxOwp0BFGuAgCXDTJSFtYMRW8Xmf+HXiNxoojIYDLOoGdVWzuI8L52b03TTyoiQvWSjOaWAutZMc3CMJnuQZFddux/kVW87zonwvcPMMWsY1E5JExwq3rvqhaZs6H6jZ0qW4GzSm4xso3GHtrJ7DsYY3+uYhUaWpBEslZ7Q8iYSxWvq3hhA3ORMlGQOfDGT32Y4D4QUkJ/uFBMyO/of3XR+m86dcLlw2eAjwaNC2DW7c+BJ/97e38fDDT+L7P/ghzp7dRpZn1EJQ08ieOXcW/9u///e4cvky/vTHP+Dy5UswydmuoJBlDIK1lIDUWQ5vePkkddmp7xH8WPElGFgRPSPARyE7Fs5SZAgZ04r2U1hF3+T1zcWjQqalQFmU8I7qoKA8ckOB7aAskGsDOAPlqa/e6VOnsH3mPLIsQ902WFZLOKtI4U2TwEFd1yw3niHPSTVXnKYsy9B6+rMoyuAcKhVFSFSHjhANcnSp4kuoQQGVCwrISYaTU/GyuahNmA9cdsraxaBS7K1OHF4xItJbCqD+UkESGyQvHw7ZEOBGoRanHdefrQrkdBx3QTi4NtOHUyA65UqceH7umAEhp1Bz0EHCEDGAXy4XUB4oijyicvycp89s40c/eQVrGxtorYO3jus/WH7eK8znC/zqV7/EpUuXOoYoZzGU4Gh7BMEDMo66ZwZ9fL4+ovc1NJVOUKOlT6cPB1UfCdNeYTQYBedaBL5SYxuDEEZ/QzBiqOYrqFuT0dKKDx3JJiWtnxRITIQEwHyo5yZjF7Nu0ThIb7f498Auk9oFQUjTTB5/NqKgaR1PcsAkq6aPukiATrZGqNPJAuYMgRgzMkT0O6nRFhXc8xcu4MqXV4MhjgJKXVpz09SYTNZgrevU14RMIlgBFypk7TrtvVT/qQhEEUGCCBizhgAiMNNdR7F+WA5f+lotDf94PyH57q5oiA/zI2ty9bBaBWdiIA30HcLudx13mKdocfrq07RlX8f1131+MNDWRdh9wtzoAoLOq9AySKe0o8Q2t85zv0RxzGIg6kVYLzPQ8CGoysoSCOI4DuVgmKy/tG4Note8sm/D+cGUUM89ub3zmM/nyExOJTLKYDQaIuS6vIKybIu9p0CA7e0jjzyKC+dOwjcV9Tt3Dsuqxs7ODvYODonxUozQ1hXm0yOc3NqAUhpFMcSy8jg8PMTG+gR5nuHM9mnUyyVgPTY21qEVcHi4T3X8NbVBKkxBSsOO6m/LPCc14tEQVbXE+mQNGxvrKIcDnD5zBqfPbOOjjz7C4cEhvPeolzXqpqG9AE123wNVteDaZoPDwyPcuHkby+USe7v7AIC7d+/yulfI8xyz6RyTyQSfX7oEaxtopZBxP8S2vQ6lgNY6bG6dRJYVODo6xPLuXTjvsXViExvr65RlYhEu5z3m8yWW8wVs6zAajaGUxmRzHafOnMLa5gb2Dw+RDccYjYbUq1bWpZfa6mhfNYAHH3gAxmg01TLQMgO47USHIGFEaYX1jU3s7e3gs0uXYUyO7e1tlIUhh7BtQVndGtYC1jUEwh1O8evf/B7/j7/+V6jmJCA4KnJ4pvepYxzU+Hff8RvgWyhlcPnzT7B99iwee/IpOGupfy8DPFJ9PhwO8cJPfoa/++//GW3TsI+RBEYArJJ6/W4QJgG+Cu+M/hKJc5mgNxIBA9yz5Otedio+N5LgjgG0JNMTqqwgrVO4TRQ8l8+ge6+d+lwGB9gL88wwss6GLKiT7KaTLKeA2smzs4Fylm1eaAPEDxBcxXv7ZOm9qaSVD734jAlZY1HgZqCjk3gRn45uzDHVVajwNbfXTGuPSEugxbVrV1nQj84pax2cb4OQJjr+akIPVqs+VXfdii+ZPJNKS4pjGOpTNVvfzUgLtT71ReMakuDfh8RVyppKxzjZOJ012L/37jqMTCUPC+dUR0/EI0gohGkOLAsc81KhD8dKYk2+L/RMDgGd+LsxIJQ2fmnkksTOKwFyJ7bpZajjuHs01QKffPQurl2/gu88/Qy+88yzmExGMCDRV9qKHg899DjOnruA1/70B3zwwXuYHR3RWQdqSSb11m3rYesGJnMwWRZOX/IfYmvHVX/FBVAEPgGhE40lLyBIqO/2rPfxv6DGNs/zjnEySsFkGRaLGfJSQ6mMxCxaUiXM8gJnt8/izKkzUDCYz5ao24YUM73CbLpEMSCRiba1oebTi6R2UIz1yLICmc7ZcVVhs4dFkB4YySQ7VpqJTnwS6HUGMRpc7XUQuaEMmObAz0Bp1918yYKTFi1hgfkksOVtrrxOaoFVcN48067hY4CqlAoBWGo/00x2yC5JXUzHcdPcd3YF0qHrZDSOJm0gj/St5EzmJmNlPvk8ISpnzpzFX7zyE5w8fYqC8NZFdWbEzP4ffv97fPDBhyxY5ThLbwLdVRx+eDmoEwGn7ox2xgDJRj7OWei/QqDADb99aL0QDZViWopRKjTS9uhm1MIQ8d/btkVV1RgOh8iygtcuEvU6n7gsqltz4RBRK+kjG4LNRD1R7k2LkJrUoAoVRYeajrguUyOvAuATn5ONt6BrYV3rGMimwQ3TfVQyTiSOIntMQ0QyFahVF9GMHWdHuzXF169dTwKNmMlOx7mqamRZHjKWHQdGgstetmDVYYx7OKC0BAiyw8BrJzhuLmFHxCDTKBPmMiCwUMwkAfc4jQFxcNSSADKWFogToXivHL9mdbBRMbOT0pzTdXicSEUaxPV/trqW1bHXS8eUDmYdnJIIRPQcPHRbjghtHXChnYX3UVyHvzhxxmlerbPU+857tA1pOTimAmdZBmsdMpNz/0ihINP6tZLBE22/rwEEtNbI8xybW1vYvbsDkxE7pW5dAGvA2S2lDVH06KAKgMZsPsdweAEWLmT7B4McG+tjTGdTfPHFDcydg7MOh4cHUOoiqmVF9GJrsbG5gdn0EBuTAWazKQ7393H2zDbyIsd8NqPOAsKgqSo0vkKW61DPbjSxnzQ0ymKAtbUJ6rqCbS2ODo9w68ZtzOdz3NnZwf7+ATbWN+G9x3K5DHuvWi6R6xx5nmFvbw9QHovlAuPREBmrFA+HBebLJc2FAxaLKaq6QpaRAFXbttjc2MJoPMbd3T0am+kRTp08CaDCzs5dGh+lcPfuPuqqRZYZbGxuYOfODrz3mE2XlI3i+vrWedTNZxiOxzC5QTkcY31DYTgc4HA6R6YJDIf2yJKsmfBJvHOwbctnZIL1Jf2tw8plIbiiLPHZ51+gbi2KrMQPf/gDnNgcoeR2StZafH7pS3z82VVqIWqJRfPBhx/hsUcfwkMPXMRivofSKGidEyirKVueOn0RFI0BA9l0yiJb5/DnN9/Ame1z2DqxCWcU19giApzO4dT2Np79wQt49fe/JqpoytBghXprHQX27pgztG97OIBCYELwOWYTJsfxLv6K3Tgu4At/egd4R+PHGVrVD3yVT+i6CHMk19YJg0LsiUvsnmL/LoZbgnylDJaYzYzz4ROGWsJcCYGR6z4fB2Lp83lPtYVKyzdH5p/mTGRkmMi4yv+n/g3NtZObYTBwOBxiuVzCwrKugYyN5XZqBEA9+NDD+OjDj/maruM7yCWRfL/v2W/N+K0x0a91nu0fqYTCKccJHxez9GLvV/yz+Hziz8i4pGeWZGG7AmJhIcWYtgespiVe4doh+RQFVIEgSh3nQHVD6BhTuJA9Di8f2W4+ad0Zf933w+I9xkDXJ7/3wXfsrgrcM1gUMOye/q8CqRkDmB/t409/+gMuXb6Cl156AQ89/ACyLA++JrzCoBzhR3/xEzz17W/hjT/9CR99+BEcd6ORdnpFQYpjrQjQgUAwued+kJ0MGP/puKc2/4uwvKQc1Me3he36v6CPrWu4QN1ZFHkRaKmqHMHoDLkpkJkBvLdY29zE2bMXMCyHqGqLtq1RVQ2JPymD1lss54QM53kGw+16rKdBorpMar5eliUhClAwrEDsJXB1NlJUg8OEsBGk9yZ0EmQGIyI00WjYlQIJHznP/fF8QNc8q0R6n/6X0is0KLXrggJsmvEi0SLiozuLUDchC0pU2Uj9lIyYqEPGGtBuSw4vaI8E9kwN1Sb2ZPWJMw8oZJKZNCZ8f+roiiPetoQOF3lBRssLbcXhxOZJvPDiS9jePkcooAMHD5qDJaKpvfqnP+Gdt/8MZxtoRUhNbjT3qopr3HqiIvjg8EtdhSiQClrqw+9cj/a5mulSx/9cHHTtA81WnIlQq5wEAdJLUv6dbti2bXFwcIimaTAsB7FVkGt7wgIIrVpUmlVSImUulEzHS0aFVhYpigoGZEJvMCWBjk/AL1btC6ZZ6KKx5U/MribGVstqEWdfyQ0C3Mw73Sc+pdR7QtWtA/IsJ4SwaZM2R90gaTgcYjqdhhp5YJVaq7VBVc2xvr4W+rum10izjQiHGAehCS1LKdOZ034A1wEfQt2TjmvOJ+2je0rbNK40EZZtiUoOJ8mK9NdkCjZJz9Xu82DlHtH7/pX3qUjdJTXlLrW4//7UeYh0MhpnF66XHsa6M5cxyxR2D5tLz3sr3X9RcMtZahdH25kcBeUN19WJzSQarbUt8iwPJSu+ZkV+phE7TwEuvIdRUbBHXiTqxqrSOma9O/aOP2Gtx2g4QlmWWC4XsJbW79b6OjRnZ71Q+dnRjyUdUnNr0HiyrbEeiER+nn3uJN54+2O0rcPB/iGqZQNj8pBZphQ2tb9p6hrwlD2++tU1ZNrA2wZwDuWgQFkUOHnyJOqqQlOT+GJrW2xubWE0GuJg/wDn7zsPwONoOsP58xdQmBKff/4FWkuMFa8o25eXGVrbYFDm1APXkkq2bVsG0Qwm4yE2T27COUtthPYtvM+4jMhjsZihLEsMhwPs7u2iXi6xXMzhHfdDVKTRYK0npg6PNwVaHstljcWN22HOZrM5ZSTzHCpTWDYtqr19NLd3oE2G1nsUgyFOnDyFm3e+4HppLg2QYMxpnleFmzfv4JFHHoTzPrSQ0jDI8wLD0QB37y6TdW6hFXCwt4fLl65AgVgMs9kMJ0+MuCUeUOQFxpMJqqqB0RnapkVdE335V7/+De77f/2f0PkajmZzbG7kbEY1O79OysvEfNLZGmoTEfYBvMJiOsVbr72GH/30p8jzjLJ7tqFzhvelgcKT334Gd27dwKXPPoHXWcioKXGKoWC0gXUO1ilYm9TcCkNJtJPDMeVY1UDq4RMGRGhPGJ+DbEMMUO4V1MYfK+4VnKq5+6gJEqyPvDcN9lIQk+1rQG/TVjLxu+P9rDrJfVBUJ+ev+CX0n5wpkqWLp2PIRnVasXUPkURjCgjP7kOwGbVmFbyAoV70V1ZBiLIoMV8sKDlkTKDDenZUrbW4dOkLmExR+YvWFKgEarX4CYmqsRJarQC2GnSsRsaXsI+8kjZWPD9OsWByOke9dSCALoPeEfiW8U7mJ9GXiO5vnOc45+EDMWgN4ycK/t0zGWHN9X6eBvpyLjM1OoGEw1rynX2wem7Lz/sZ5HjjkaEge+24/RPvh1dJUnoZri1+XlomJOJxygK+xs1rl/A3/+0ann32GTz/0k+wuXUSrhXWDH1k68QJ/Pyv/w0eeeRx/Pb3v8Pu7g6yhO4NRaUZ1lmKF+BQDgYkUMXzr3n+QqYZQi4wZKs5ftFgvEX8sM48KSj19W0d+69vTkV2JPdemAKZJjEX6xyggbal9gbjQY6tM2dw+vRZFNkAVVWjXlLWRmvqO+usR11X7CwrcnSMRsOiDhmLTGijkecl1RBwoOd8mglgxyTJjsrLiSocGxOiokhg20c1KAtsJSviYiG5OGPBmbUIwbG0HVFaMn9cv+cVrHKU4XFsELVnaWwJTMm4UHJBAlpx0AHBJoX+zauo82cUg2JakvOBThyNKyL1Ciq00NFh/I4RXdBUb+Wdx2AwCCJOEuavr63jxZdfxn333x82pNYKxuRUpweinr3zzrt4/fXX0DY1CZA4SzW1hlttiDIc5NRi58TFrI7izKnQkryoVas4FqmTLq/j/p4GFVqQ+qCCH4O0NEAKSHC6WvigsNZi/2Afi8UcWxtbKIostELpt35JkWP0UD3FLUm0TrNXiYGXoMCzLH9Sm9BFKmVdiN0/jjLjY/ZMxXcrRZiMUrrbp9NHC6lCYK0DQhky3+E+GQywFtY6lmvXcC7WAkutNgnD+TCeae82rTXa1qEsS2RZDmvrzpzKfKfZ0Ag+dNvreJ+stVVF+fjqZTVDsKaisU2vK2tDcbCTHrjyfeK03Ats6e+7dL2s3p5aGavVrKpnJ1YFWli67vvXlr+7XvY7HMwmksACgBro8apbn953NDvf4To/dc7DGE0ZBYgNkxIJuk4rdTxQAWys6yb02na8ngaDkgQH+V77mWgvh6XMC6jFS2QJ0Boh0UIKvKqqgvcOeZZhfW2CPDOobNxBUg8IKAb7iEo8m81h25bGv3VMF6V4JcuB4SDHvFpisVhid3cPZ06fCDasWlB21bYW9128D8v5HIvFAttntrGYz7F75zaKPOdxqHHz5k1+PrL9Jje4vXMb1lqURYmbt3axtrYO7wp89NEltE2F+WyGZbVkNXwCBaTH+XAwwHBQYjmfISuKYJcu3ncfnnj8cThvsbm5gapa4qMPPsTh4SG1gvCgPuyK1O/XhyNkIFR/sVxiuJbDc7bXWgejDfIsh3c1lDFo6homzwPFum1blGUZ1mVDdUCcIQOWVY2m9agbj8l4jcHoFh55cJrimqU5P5rO8OmnX+DMmdPEAmBdjtMnT2Jtcx137twK7eg8+wtvv/02ZrM5lDLQ3M5qNp9DjQfIywKmyHD7zg6WVYWsnKC1S8znM5Rlgd3dPbz/wUd47tnvYX96iGHdYlgWwdGnrG16TiUApo/+N90n2dvrV6/gow8+wHe/9yz1uXaW+gd4MLNBI8syPP/yX2B35xYODo5CYGyCzVah/lQx+0crWkO0J+M+DIF1upd7OgvdzGoc83s59se+lIr/JedZx1amPlsv0EyBzfReBBxOW+elX5n6U/37Teclva4L9f0I/goCiBzHRoe/RBBVKbCyKwerSbtJHw/REBz75Bbl8dMgpvM8mtgLy+USjadyMPEPQ52otZy9LTFZG2Nn5w6f4Sq589gdIf2eOI29+eaSN8caHukR4JWHcwIkqpDtk7lLfbrQc7nzcKtrKNWdCZnmTl/iBHDuzWU3yE6DwF4gKw+hupcVkABKhcCP3FZBv31UHk8A1M48rfgYcZK9F6V79kUNt9uD+Cb9sUl8lHDrMcMttGgRPpTP0d+oVrWuWrz5xmu4evUmvvfc83jqW9/CaDSC8i11LeC64Se+/W1cePBBvPPOW/jza69Tp5uUW6komeZah+l0hqzIwxmjFUiXQMpDpA6ZwaGQgPERwOhOR7o+v4E94dc3DmxPrG0AAHRmOCOpCFkmHBBQGuPxBOfOnUeZDzE7WqCqarQtpavragHrWljbosgL5EVBrEfe/FmWQSnq0zfIcxRFAa3p9jRnr1THKRRxgISCmxISfJxepIJULgYY4Q8fi88FbUs3RuoAxv62Jjj4musl6GBUxAKRYCl5T0y9s5qY8XHDdDYhq4VxVjVMqUegkWhB+aSPLFywtcYoAUJihkez9Hhw2FcdaK016rpG27YYDIdkdENdq8NwNMLzLz6PRx59hGooHffAhKEgnWncH77/IX7/m9+iWizDmaUzDZNxMC9BEsube8dNwUOrFEEcbcwOpv3LQveBVUplP5jsZqQYBNE+2fA6bHypM1k1PvH6EtTO53O0dYP1yTrW1tYgBV1KUzZVamLApspkgsr50P+NAHqihlkuwqJ1KvWmUZDIe5sYwRg8xTkUIMMnT4SABELMmo/tfcIodmo3KPA2gkIHH16Fktp0rGMQRYCEbamfZOuawG6OTeDpOw8ODrrGxVOLJx3mz2A2O8JwOArCAjEboDrf31/DfQXL1YBNkOZ03NLrIx5MweDGI6GzvsTCeBGwi9Q2Cf7S8Y1/RqpzzOp3AZp03aZrsf/84Xc+oEXJMx6nxoiV8UnHMB2rmEVRAblPhSG8c0HILwR8iaPYBeVE1CROulwfUoPGbTdCr2bORDrbwjnLvVp9oFkCHqPxqEObkyBWa3KkXCLuRxcVKjWPiaPD31oHj5ZQ6DwHQGKIVhkURYl6XrP5jaUrXlG9I6zH4dEMR7MFskzBtyRCpVllGc7BNS3K4RBqf4HlYo6jwwOcOX0C3nsYbbC/P8VokGFndxdbG+swOsNkNMZoOMLh4SFu3boFtDZBuT3yLAt23FkL6z3qpoaDwpVrV6kMAB5lUUJ7TcEbFEblEE1bk5ASD3ZVLVBkGcbjIU6ePImNzU20tkVZlNjYWMOly5fgXIu9/btoXIvzFy/gzPZZ3Lp5C01T486dOyiLAhvrE2xONnB4dATvPO67/35cuvIl9g/2UVUtvKGDqXUtAI22bjHmFnLz+TzQKz23l1ssK+R5wQ5whuVsioPpDF5pHEyPiJLe2MCIstILjRBlODhM5zN89sUllMNBcMjyXOPxxx/E7sEeQ868D3SGw8MZLl3+MuxLAX6uX7+BM6dP4PT2KRwcHuG9997HsjFYK0dQ8BgUOSajEbJM4e23/4xHHnkE5WSCvekUw/GAwBiviF4PDacS8TWFTpNyz7lSKA+vWnh4fPDe2zh77izOnDkNrynr7WwL7w2ctzDeYTya4Eev/DX+9r/9Z2qbyAJAEOCQHUgqEVEw3A+YtriG02l9G5dEsY+iu+YjEfCL/Wtjy5LV8zPanfh3BYVM2CWJTU3f261bjMFLBARkX6uEgUVZRIeEqtxJZaUAZP/+Vu1k96y11JKOy89iC9wk6OKyls41QhAVfdL0u8TXIVaBimePo7FXol2QXFvuyxhqx7VYLLBYLFAOBlDc5UH8RTBV2lnqU6pC79ouVVh81yBkrLvP3zkDWHCUmG2A1i6FzzkI7AatYR3yCkivlYIKEvAEoCqIngm7inRrCHA3QcxSqWPOOu7m0plfFb8jXVvJnXb+VBKKhaCaau0D8NBpByhn+ypjqr+u0q+LIIcANBHzYMnVwG7S2geflb6/d70k6QAt4EOKTlEf5Fs3r+Fv/+6/4t3338VPf/ozPPDAfdCa7Co80FQtTFbghz98Afedv4g//fGP+PLLL6mbBbf2g/eklKxMiCHyPIdj4DHThtZTRuNODE55wkSMtzf2zq1qnnyT1zcObGWWRP3VOaCuGwwHQxSDAR5+8BGc3DoJ2zrUVcv0OlrYVLROU5NlOfLBgFoJKM3tfGTBUSufIs85o2P4sFEwJoPjnqHhuWWhpv0jJRvnOaWvolPqvUdmdIJKorN4o+N1TLaNjYfIzStlVgNEXoFSxxmzMLJIddweEgxzQBgMNJLv171NH9a77+zJY7n3SZ/TgBh2sjXoPJ/3Poh2DQbc5iJpizQYDPDSiy/i0ccfh/We0UeuUVVE63LO4cvLX+L3v/s9ZtMpG35H4kiJZL0oHstGo6yw5Yx2IgKWbNSwYVNHFV3HXDLc6XT0qSciOOY6NYKxnjs1NivZn0S5VimFtbU1rE3WyHnVohBpAW4HFMCRcA2uj4XmNiKc1fEpDSuZQqVDVpP2QhLccDuUeBjRF2nJpvUCUJ+urR5gI8PkuYWE1vHgSbcJ1UDRZ0UlmJB+wzQ2hNrIcM3kPgaDAcbjMe7cudMBizrrmT9gLbXpSDNrirPoq45G/I7u+B2f/ezfW7JM7omqHhtAJ7oVOgkC0163XeChG/B533USYu09Qg+5456vv2/T8ehncY9bw+m49IPePhCguMcigYL9se22ehIRsr4i8+rYqxVUXKk4FopFaxz3OgVn/Nu2hQexC4yhrFNeFFQuEYLp2AZOawPW2A7fS+q8cTq8j06EgoLJDMqyRFkMQsukTjatm8sIoM9yWeHq9ZvIjMH0cB9Ga5TDAmvr6zixuYHhcIzRuIHW+4C1mEv7PN6406MZymKd+sAXBbfSa9FUFbXjYZqLiMV5yyUvEA0Hh6LIgwPoXIu8yGG0ojFsFBaLOcosQ1HkGA1LWGuxtbWBZbVEMSgwGQ+xPhnD2hZN26JZVDg82MdiuUDdNNSTt8ywWCxw4cJFrK9v4Gg6w4Jra40xuHDhArbWt5AXJW7fvo3lYgGwwFFVNWEOirJAXbdomhaLxQJgcFvAw7BWk3XbugaZ0SgyjWvXb+JwOsPQUEukyhJYacEK2t4FFXHrHOaLBRbLKuzzUydP4r77z+Pu23c6Z73SGa7fuAnLYibeqXD2b585g8naEEopfPLxJzg4PEJWrFE2um2wtjZBnuXIM41TJ0/h8peX8fS3n0JVL9A4C8NiVoRluhBwepXU+SU1nanD52CxXM7x2p/+iL/663+D4WCApl6i5f62zlE/Xw2F7XPn8dwPX8Crv/11zCYmmRt6Hs2K/lyOqSkQZFwJrm0TG4HYBSAB55CcPRFsPZ6ZEu1M3xgI1tSr2A33Gwxzuuvih8NYpWU7fVsT65FdOGOOB0bv9eq8L9iBxCdJ3hsD3QisyzMEjQQRxenV+SIJ4sO9c0ZUsZZFCh7IuIqtGgyoN/xyscBgMKDEhIplE03T4ODgkGyd0VAuOct6557ch3aCh7hgu9OsqNwHnVnUYpDKN4iRo4wkDBDWQOwFe1zGPI6FgJDyzwQqCPMYRAKT3PkqYBHL3MLzdRdcXNuJXe5MuwSsgS2XrAe16i/EM/x4fzL9ewqWI/En0msiiHZKxtsnPqAGlI16Qh2h0hhsq95aJnHbBt63uHblC/zn//ctPPO97+GHL/wAa5Mx6WKK/wWP++5/AOfOX8AXn3+G3/zmV7h7l3QRNDM4tI56THVdw2iNPJPWfixsKz5FInLXnS+14p+lCadv8vrmNbasqmZbOjCUVhgPJyiyAhfP34fJaB1Hh3O0jUWel7AeaKwjJNwDeV4AXDCfcf1Hsl6RaTpwjTFJj7WI6jvvSKLcc1NqKaRXdG+yuFSyAKNDk2ZDFSu1yYkh1QAuCDsBUiQds4sICyJPMiRcTC4LTgqcpa1OT0QlZjSCSab/T+ojw4Ak/SDFuZf6ucj5iJTXuABWC7ejAZftKEYlOtdN08B7ajwfnGseUGMMnnn2OTz+5FNQ2qC1DhoZ01JJKEx5jevXruLXv/oF9nbvINOK6Axc19MZRyAa3IDDSZ9Izrm4BGHjQZLsvNT9eGiuoeSZlebgnYoHFUALxZvPJQps8WySjK7rZfS6zj64tibPCxQF1X8TfVeokICH7WTuwkHmLT2pUJaVgoNmZDStRaW5OU7AR5wdyTz4oHqUoKCKFVz71A2K9O9xoLM6ttHhO5CgjcqrY2qHEKh7EFVdG3tRp+i6UkRHXC6Xqw4P9/iV26WavTyMQ0pTXslUJsh3nzre/x50nLD0aNJR1P9rjOfK75IadQsXKP4xC8tXTyhYcq+xrYEN4l/eM7vC61Db3P2uOL+pAnDnuwSZT+qP0/co1evJmFxDKRUcpI7d8OnY9wYgYMmRCkw15orqaLyHMrEGjS1t6E8e7XJ8aa7VstznHFrB5BkySzWpoT2AIP/cIJocAd7vClDGQCvH+yo6uGkrJ6VcUIa3zmMwGOGwOqC9qjOUeYFBmWE6X1Btptaw8LH2DYoFqjS+vHIZeWaQG00U6t0Guzs7uFWW2DpxAuVwDJ1l8I3DdDZD07qwNqqmRtNa6Cyjulfv0C5bzJYx+6IZCMuLHD6joJ9AJKJkz2YzFtWycG0D5R28Nlg0i5CRrKxFqUuM18fY3b0LnWtsjjcxnkywXMwxqyqMRyPc3t2FgsJyWWNtorG1toWsMFhWc8ACv/ifv8ILL76E6WyKg6NDOK8xGE5QNx6XLn9FqL0FLl+9hsPpEZynWtrJZAzlPOqqhgZQ5ga5kSwRsRurqua2cQbDwRAeDnlRYL5YYDIZYDIZYGtjAq0zTGdTvPvRx7hzdwp4PrtYvI+SdLTGbGsxPZrBOWpb8cgjD0bgLNgyss3TxUxI/cEH0VpjNJpAa43FwuL9Dz4HUEJBo61qKOdhsgJeKzz2+Ldw7vw5fPLpZxgM13Dh3Gnc3Z1hY63AoDAU0rLKp3Ke+ocKHd+H4z9Zt3KWOOzcuYk/v/kGXnjpx9A6h1JLOXSoDMqSEOe3v/t93L5+C1cvX4KGDqVEntvw6dZzayEBShPHF1xexSrV8LFaKADFwYjE33lGZyUI7tvq1IENnoiP4phOcTJCyryk1EyydJ1PhseO8rU9y7SKFHOL5BBgx/Ppm/rMngF9yaQKPVaJkCLA5TDdgCYAzIm4p+dencpTf1nFLfa8t6yk7GPAr0TIy61oTsDHHsnOOQwGA7Rti+UyCrQ673hOeSi8xmi8js2NTVy+fDmZm+6ZE4IrxdnSnkZEWD+StPHdc1SxhowVgJojXJ8sIhFdTOts0/OaIXACJpLAUrIBCqzXEHw9F8AHF+4jBnj9asTgR0jLvIS9Js+pwv2y1hBi2UPomSy2REQMQ3/78NjBTVPS8qbPKAzBfFzv6Vr1qOOYhQSZcBpENyd4vaHNo2hwSMvRzrYI7aBazGf7ePWPv8eVy5fwwosv48knvw3DZQvetaBucBqPPf4Uts9s4403X8f777+Lpq6hYGAUqZyTr0PJyLpq4XJLHQ68JoFeOPL7xF9hnIzj3lBLHwO9Hrj0z7y+cWC7WBIvW3P9U5YpbG5s4fTJ0zh18jRmswUWiyUyU6C1FrPFErZpSf4/I3Eoo7PYmNerkNXKmXosLT+QDL3n+k5YywuWxZLE1CWp9Yjjraauu9kN+oK0nUsqjabCKu7W8kX0o2PjQy1VMFomBi7BKHkVgw3O0HpxhJEKsrAjr7nelOnTWGn548MT3yvLmGZl0s/1MzbUeNmhKIuVa2it8fTTT+PZZ5+FMTmsp3pp78CtHXLkWYGbN27iF//0C9y4cYPVjskEZSIUhSiv3vI/TbilxDCklPJ7IFwquTd5BskYku0h8S9jTJeUG4CUiHaJimo/ZRrMSg80EApXUQwoUxsQzBhIpKJBsR6y26MZ0qQ6eOYp6udCj9Nw2KzMYZc6FE+KwNPuOBZKrF1PETwOjmcA4rhgmN8r9Yp8LZ8GF+yRRQVj10HepBftbDbroLT9l1KK+ldubKSz0HlPH+Fdoc8eE/zG36ETnEv/169/HS/iEK97/L2lWdRUJRkrfWaTdQ4PZDR+GqlQVFcJJR6C3ZcLZRu6957jHMOuLThu3FIHQ15fd8CkazZdozTOBHQprUKhvRLWTo+KLXWVigPJNlGPFUfSWdZS0JoV1SWwZpG1cK8s8aKidkHqZEqwm5mc+rHu7lJtUGagVYutE5u4s3fAbXw8nFZEfQsPTd87HA3x9LeeRFnkKDKD5XwGwGO+mOP2rdvYv3IV442zUFqhqmsquxkWXAfocO36dTz08HlSAs8sjmZTfPLpp/j2t7+NLDMotEFjW2SeBIQaZ5FpDZNl1DJJzlljYMqCyiUai0FZhvYnxmRQmgT76rbGwfQIeZbh4OgQdV1hsjbGcDTC+fMXsbe7i2pZ4ejwEIvZAgdH+9g+exonT5zAtas38fnnX6AoCyyWSwyGQ1RVi2VV4/bOXezv78NwqxUBTrXWsK0FWKV4MBiEDFOygtA2DVrroLTDxfsuoChyPPDgA3jv/fexv7eHzY01HBzsw3mLyWQLR/OL2N//GNY6rt2iDEJkHNGz7+/twzmHEye38MCD99MZEA19+DP1FVL/Yj6fQ2uFq9dv4OBgyqytGAx672BUjr3DfXz6xedoGos7d+7gP/2n/4Q8GyLLdSgl8koc4Li3Uuy5n+GkI9RCKY+PP3oPZ86cw8OPPoTMZmh9C8k4kWCaRZZneOmVn+Ho4ADTg3221zwaPX8lxmDp9/UdbPFjYtDYhd7CSK9QbNO5VanVYjFFrRBAbfGbvIgSBQAvtgGTl9Yq0Gh9D+APPmFy/sXgOpVCjL6KZ9D63jYN4bzzIeiOl0rhu/R1nG+WskR8aGsS7Z7cndiwmBxxPXutiQmo4rnimR5sjMF0PsNwMCDFWgFAuMzp4OAAR9MZdEY0UccinmkGWgSkJLu2EhWGdSQVErFjR9eeJ48dotVkwSfrLQ1uU4/MORfP6+DPdFxhSqDwdwRfRZ5E9rMgHGCxQ55LKWfgK60EgOI/xZZhOvjw4S2SEPKIZY1CCWamGyXru/5cf511z2ahQnSBBx/GtHtWh0QE26SmbUnpX2tEEmj3MzQ+JJDrbIPr17/C3/zNf8Mnn3yC5194CRcvXoDROWzbwnoDC4/J+iZ+9pd/hSeefAJvvvEGLn/xBdqW2o1Jyy2TUevX1lq0jspnjLT6kZp/z4lELmsQcAGQNqT/smwt/iWBbV3XKIocg0GJ8XgNW1unsLW5iVwXWCwqVMuahCFyohMNixwtZ1BGkxGalulFTE3N85zoWkVBIiWKnbKwTqLBimI6rnPQdEuNk6wcr113DGoI5uA776nmt6Up0BrQRjFiEHeKc5EW5ZwPjhnJnyvi8SiiftF9ajR1g6ykumOtEpQs3IMVk5ausRB0alEhFKXSYLxlIYuxEEVdmxhuUbZDkuWJdJfjxLOstUT/5nqadIM8/vjjeO77P0BeSs9AsgmGHSqtNXZ37+If/uEfcPXqVQ4WmQqeBHFgtMg6G1Es1Ue07h1AyPxpeQ7QOBItR/p/WT5wdUTMtHSwCUd1WGOKkSyiJvNv5dklAEossrUObeuR54bb9sjk+aRFjE98pJTOfvwmpc+stqzpBx0KkvELYX0MKAWJTG229EiWuBhR6Agp4itiS8fEKuT0izMSlQFFSTPuKe4X2DpubxWVeVWCJBNV1QT00PYo6RJgHEet7wMMaVCbjtVxwZn8Pe7//qGQvi8aejlUEvC0f9QRTt2houkEeew6Vem9IK2xUiSmZLRGa20QlOsIY9w7luy0AFJhfNxKwC3zKbfSDa71SoYInEHTsZNZ11np1Agn8ySy/3TKM6LukYXm83ECrPLQnDHtBu6EEHvbBkeXRMVaPt+jArVmNpHO6EgNvZ3J/ey0A/Lkj8A2Liied5wJGMxmCxit0LQUvKxNRsiNQmOpxQVdj+h93kvNGjAoS2xurEN5h9wYlIZYK6dPbuHExib29qbY2V+iqWs0dY2qqjEalfBKw1kSQyqKAbTOURTAeDTBfRfvAyw90+mz27hx7To0t8grRwM+x+hMLcqS84w0lEVRwHtWCWcqd13XWCwXuPjA/Xj8qadQVzUODg5w9+5dWK9g8gGm8yXWJhNsbJ1A07SolktkpUFeZTg8PERdNSiLDIvZEVw7gFca4/Eazp49izzPcevWHS7L8PDWwpgMxXAIZ1sqdcgybG5uYjqdkgIylyupQEe3yIxCUeZYLmYoinXUNbVUWyzmeOyJx9E0FWazI1ircPrsfbhxawfXbh+gsUL1FTtv2WVQ2N/dx2CQ4cknHkOWaURJxO4+cZ7LXdn+S9kKFI3phx98DKWATAOl0ciMRu0sbD3HsJigWU5hLdGuj46O8P677+Lll55H1Ryg9RaDPKczXkWnF1r0ClzHbgT/XwB9DcA3eOuNP+LUmVOYDIdsgNiWgtSOlWoxWVvD8z/+CX7x938L29a8LlTYd46ZRdxCois0qRQdId6x0nTsSx3HKjVOqaBg1waHjKbXfA2ffEqSFD5cUzBaj0hcUZIJDDYnCcql12kIJhBs9zHWcuUZ5JxyXlp7RaAcvXOELu4SUETEOsGlZvQsJghA3QPE7VFXZZwkgPPKIcszIFmhSqjIIeCkEj1qI9W1wd475LnB+mSC5WIBnYmOCfmLy+USJstwsDuFtcB3vvNdEqnb3cV8PocCsLY+Cc8qp8u9zjIF8UUZaPQunos+EbJK4lwBGsQnSv2pAEgKa9GSSC2UhzbMBEp8aAfAaJVITsdFpDqLVcV/J+tXerBq4xMAJZbGpKFGPO8MB9AxMUVgR8bPYntTLpRdDQ8bWHIAosrxCo1fhTEKdeKI6ul9IL3/WecUrFOApf2dmcSv9GCaumTRNdUp+wYAUC1avP/uW7j0xWU8//wLeP7FH6AsB/RYzsNRATfOnb8fPz95Gp9/9gneeON17O3swLs2rAl4D6MM4DzaqobXGibPWD2ZGF1OA8o5Ht9I3Zcl8S/J1uJfEtgqbeG9xsbGJs6ePYdBOUHbWizrGm1DdbdZngXnVIKyPM9IYl6zaIPJguNqtOFNEJVeO3mM1KNE4qjLT1dqPXyC7HUnOQ0yJFNGWWQdHB55pW1IKKOQZkgc13IaNkL0Pq11EAxazOcYYoBsUHZAKQku0dln3QkTeoJzLkrbyz5MHl6yzWK/Yysj1hxTsulXnXwZj7Zt0dSWHCCtiGKXOHmPP/44XnjhRZTlkIVIqB+e1hqGaXnToyP8+le/xqVLl+JMMRJNqrhd9FeUmz1DfF6U23qBC47ZtDHrSM6azJpOghqjhRIe3x+CyQQBDJsujJhIcImh5kyzomxD1TQ4PDiC9wonTmzBmJhNi0jw6nqDBB5c29vvxeUFvezVWyqlgmMlh3S/9bdP1pQyqeGL2yaqD8al2MWUGQwI/wnaztnsntMi99adK3aWnOV6Hd9xcrQ2RI90NTW7h2aBKmYjaKlv05hNp6TM1wtU77U+jjN4/Xnorv0Y3N5rX9AraeGQ1h8l79VIwJJQV6OTTDyOvXb3/kWIAmidp0PLxX6F3nOglvbdS9Qujx0DphCufl+fCRDRdrFxx9nX48azcw1pNZQkuIKwjASYAYUHixaltGzPbXtsMkMIgafUzVvOwBljkGeGmB8ZtYyjMye59zjTvfPBh6xIGtSmStPr6+so8gx37+6iqhtsbm5gNBxg/6iC0hkL/5muTfGgDGdV4dTWJtYmY0wP9pEXVJM6mYyRmQEsjnA0m6GuKiwWC2xtrcFoOoeOjo5w86bFsCwo+NEm2gVPz20t0f6dd1jMZgDfiylLNE1DAILJUNV1sFHOR8YPgXMWd+7s4tLlq5TVmU6DDauqhmpzDbWvc22L8WiE2WyOshyQMvKyglYa8/kSZVlivL6Js9vn8Pprr7N5JrpkXhTsvNjQ+kcp0tk4OjrCcrkMvTdlj+d5jvF4BIDqp5u6xu7uLq5+dY3ONaPx0UcfA1AYDIYYDgco85zOQvmfIjVszSUGMgZNa3H27Ck8cP/90Q731ozmkpJGwJaEjbO2tobPPv0ce3sH0JnB0996DKNhiTzPAQBN63D79h1uyEhWwWQZ3n77bTz4wP04f24Ds+keyo08ZoYF4/Fx/6ycJYgBkuLg7fBgD+++9RZe+tGPkWU5mobEwDwHpC08cqVw4YH78fQzz+CtN15jm8vXEqhcfBKlKMGgySZ7FxlH0OASKHJ8BbSACidUalqPsUnydxuyvgi+TqKxEDVhQ5/2jhnt+XpifXtSiZ2TTm6sa+Z7wHKoaBB7lFqQVXvYu6kkKEuaR6pod+7tlMdMaBI68meSoCopb3H9JwsijimdFeF+jNEYjUdYLio4q1CwDslgQEJqeWZw5coVeCiMhyMMywFu3bqN6XSKxx9/FOvr48TO6cRedpV6JcxUIlDqpDWPgImawCIGb7prxHfXQAf451HhZJhk9YPfLS3e+kMsCa4VToGs05Tenj6T7AnFwSeOWU9dUMcnbjz5cFIHHSCI3q25MC7pCKZ/xjFwLNqoGHzullF1ewCvgvmApk4zsKvjy7Rfa4lBqwzX2SfUa6+A2XQfv/71P+HSl1/ghRdfxKOPPoYiL2CtgbWkoFwMJvj2d76Hhx56FG+/9TreeectTOeLALJCeTjlkRkDax3qpoFBRgK57JsIkKe424xX1DpqJWb6Bq9vHNiuT8YYjdaxfe4CBoN1LOcV6mWFIiugVAalGjRNi6Vv4VobDgkNhWqxoElR1ArEZBnyouSaPKYAaE0Z07QgmgM2aQkh4a/juiblbUxlAQn+tyqi4laovImz7kF9/XwMZGOWM3Ugw5JhpysGtqSUBxjjsb45iaIQyTe6NKhZQT99pEckgTmSbLFQdfkWSFlRnFhE4SAgsL2j0IBSUNqHg7tuWrRVjaIccKbaQhgPHh4XL17ED57/IYbjCZzTcC0YIdTITIYsK1At5vjDb3+LD957hxWrHTwsNL9Pm2iYAQXvbKgb7oZZ/BOvguJbt19mV1gG0mZD6c74phniYDQ7CG4y3kxz8pyVku+TmEQQYWs9prM5Dg4O0FQ1JuM1VtE0AelSgmgfk2HsBHrycwEh4nR3Pi9oWkCDRWhEansY6VMJCkT1WTqqKSIKf3nFTp5XsEEEqqXsbqiR0hyo6U5GV2j94VBVJqzd1PC3zqG1jjO/UXQFUNjaOomqqnB0dBgOAaElSrslgUWrusXaJGe5+fiAKZ1XMuCUTVRsrDn7EtQuj8kk9oLKKOLkV+rVjwt4PbrKoB7U3xQ8bhqSAUzdj84K7QWUisXBXLIfhIKrSMnU096kYJl+T2yB1eC5f7j1Kdrxe9PAVMorbOdQ7Qe1fWe1Mz4JrZ8S0LSvlKE1I72aZUWq5Bret0TRcrFWSUmf05bqdJQGcpPBG4dl3cBrYk2QYBGQ5QZ+SQrtpDgrdVck0gNQX1MFBRuTW9yLnTMkQkdzDoNyAGMUyrIgYLYi22WUhkscVrlXk2VwTQtnNTbXNzGZjDCfHqG1LdpFg7quYa2HVwbjUcEtViyODg+gz5+Fd5bQdJXh5NYpVIsKA5NhdnSAK5cv48QzzwAAbt26hXJQkEAHDKqqgs4ISD5aHhFQ7D2sbjmLkLHYYwLqeqCqG3z51XVUyyUmg2E4G/Miw8LN0dQZrLdYzOZYG42pvZ9SWC4bjCcbKIdjjK1DVg5R1Q1msxmufXUVmaExbeoaaGv4jJxoo8jNsNzqz9oZxuMxtM5gjEZdN8wIK9Bah9Z5mIwCqqauUaoSRZajqmtAO1TVAtAG08UcyxsVxuMNbGyu4/JXu1BZDs1NjAgzY9tsLaA9Tp8+Be8t2prrwJ1l4hyp3G6fOoHpbIaDasGy9Sq0qFjUNd55/0MoTb2Tx+MJnnzyYeSZpqx9RuDCL3/ze87qU6/GeVXjd7//A/7j//PfIS/HqC0pGBcZ2WTnAW2jCyy269hMnzi6ULj02Uc4feokHvvWd5F57k/sLTw8rCWF2swATz/3fdy6cxtfXboMFeqZY2cFH/RAyGdrE1ugdQZRfncecMrBO6FwuNi52/vgt8SDKSqaiv8CYQ0lNll6jAYNkg4FOvXthCia2i0R8SMHWfOZEdh/EoQDyblAf4Z+sUrOfDl/KVvnneio9M+OLjCqtEDjCeCYaGbc025K7Wt0/6E0lW8hnP7RJlMmXs7KWNoiJXzda2tmFRIDajgaYDabY9E0GA1H0MoAymFrcwPPfufb8LBUNuZbfOvJR7CsagYXhFQaA8GuEq+cDRKee2jWOUibvIkPCqafw7sOlTsmnVwyXnHcHAe0qrd2wirxcQ5kjuKXYyUp0HkJuBF8LpnB1XrU+PIAmvQiSYzQJjWjqbJzN1YhISgf1rtS8dddgCKCXpJcS5kH3THrrzHRzKCz2UqwL39aH8R0tWPQO7jNxETycGjbBpe/+Bi3b17DE09+By/96GWcOHkSnsHXlvvFl6MNvPCjn+Khx5/En7hWt6lIVyUITKkMipMgjW2QuYyS0J0kmDBQdNDN+Je8vnFge/LkaWysn0KRD1AvazR1G1QwAVLUnc0XsF6hLAoMS5K3r20DBY1MK0a6qS4zOKdc86eUguf6Rc+iOJ7pm95JO4goABT4xki4KwFxi/V9iO+iRWDJiRIakpZNBbUSgMRr9VFIFQzmiuCPyMunW+lraLYRoes6TCKUFD/Xg5YRgC4OhOQgYh1QQQMCAqKC2JO1xLsfDobQmQlAgjzvhQsX8JOf/BSbm1uwnp1TQxQ8k5mAEL/9zjt49913k96WLtamCR2ll033kFrNpLRUsgoi9BIylMdnB72XWpHUKH1dlq73s4Asd+dCruuTca+qCsvFEk3dYG1tDetra9062UDTOS5j20X25LtJVdwGEMH3asIFjY4/S5/LrTwvmGpH60CtrJVwEHmSxZdfUN9dlspPb0CpSFFmdEaZiJCnb5NDz7YRhfWcZZK9c/fuXZ43dILJPma5rCoMR6MkOxrXZRrUohO09cdNp2fHPZHM41H04w8H+X6VZBRU5+3ijCEg+DHvKPcs+wDhfWDGh+yf2OZJUuzp3jl+Pfv0YXv3fpzNSZIeHSn9WBfVR8xjwN39TPJ9zEjwAYXmVe0EeaUargBidO4zfqfv7dOI5kaQUcQF08dK1bO91/E7EoBQzLRzvqOK70V51xFanWUZxpMJvLUYjydwzrKugOa+oSSt6pJaNxk76xw++/xzXDx/CrapoZVGXuSw4fdAOcihFdFbp9MpWmuJQhdWjEZd1XDjIdbW1/HAgw8AAIbDIawl5WFRHS+KHM5TD3ZZHsIYaNomOIqDAfW4zLKMWmh5oChLzGcz7h9Lz71cLFAOclhnYT21NauqCrtNg7ZusLGxgStfXoVm0arlcsn35bBczjEclmxnDDJTBsAkywtmbJAz07YtgxIag8EQZTkItfd5niEvcqrV4vFdLOaomhYmI7+hrmtuhaOgjUHTttje3oZ6/8uwZpXRXIpEUz0ajdA2DQCP5XKJtq5RlgXapglOl9YaTz75JN588824RuUsVgpffHEZ+weHFLCC5hugHsjGGGijkWUj7O0dwJRr8CqD9aSUf+XKV/j8i6t49JGL2D+4gbXxGEVWxDMHCNmJEEAcB8wFBolD21Z45+03cfa+B7A2HgO2RdtG+mPbtlAwyIscP/rJX+Jvd/8vzKaH5PeoJLsogprO89pi2+SjgGPIsrq+JZLxSW16PEehvuYsFPe8b4pTG6B04mPFc0lKwMSkyBzFswOJ3YqAgfgQ6NlCINpNxdlJx2rC4LHp3WQ3uIWcwYk+iIrf0xuwNALjOY2ld96jZ+PiB5zzIfHSv+/+K7XTWmuMJ2PMZwssqwplWYrMAfIig9Zkl+CAM2fPwnlPeilKde8gTfQEAb3+uLBPxtTS0CINEVkI0pYeK35AGtTR2dBluYXb8DJ+6I1JmpAKLmI8b45x/rwwEJJsqFxLAHMZBNXPWK3MQ+KvQPoPq44/k95fCmj150+uJyVO8WyX/XWMSOix99XVDpDn1CxSppk955VPkk9RMRssajabHeDNt/6Ezy99gR8+/zy+971nMRwOAkvX8nY7vX0ef/1v/x2uf/Ul/vj73+LmjeuUNVLRrzfawFqPZVVBaVAdMMeUynB2PxzVX99pof/6xoHt9smz0LpEu7RoG0sS4M5jvpzx4eJgTIGMe/c1llrz5CYPtBKiExS8Hj312GIJfIRUtFAYOH0mYFZo+8FYUPAdIxohBkZJYRgUbV7J9Hoy1sEBTQyGGGVxmMVBF/Q0/jvWBYBDYyXpAaZTaqWhRc2uR+WLaqj3plGGP/utPEixKXEemfIt6Xp6+M71Pbc9kBt21qFaLonWYVRQCLVcK3bi5Am88OLL2Ng6iVZU/1g8QBkAOoOHwvvvf4Df/e53WCwWrABNWb4sN6sIrkjIyZR5D6OI/5+K+ZJidexlp1PV1GPQvXSsgqOvKPtuOOvpfM9shqL6iDSnB4A4qbIO2rYB4LC2NiY6YZ4xQirazBlnYF2omaILUS2q0FThJTMsc0rOF1jlGx6dNdExsKJky95BqCfy3OxaDHwS8JJxckG5UXrrGaQGmgXMdAQSEGqF07UpfZFdcFy6wZrrtOhI52s0GqGuGzRNHfo4e6kdT7OCUKiqBqPRMNJSeowJMdBx36SZ0e73BrT0Hq/jAt7u54+p1xUdAHFiOKSNAnRRmVfGJ2aOFQexKYOEFEzj9zLY4Vn8iXumqeQaEjh3e/PKvff2gk+do3RdJfOaOHr3Hg/fGRckezAIejgCHsUJCKI6nrJinhU5lVLIlCYaurfUaFGbkIEJY+8c6uWSQGVrkWUZtQ/ITAAuScTOQquM9oJTpJwPD+XESkqtm4/ZKUXtcsCK3oYzcq210HkOneWkgqwMqmqO+XzO9ao1q8QSrctw2Y2DMAcsFlWNZWPRVi3KIoer2wgGaIXCZBgUGebLFofTIyzrGsNBEZxbouY2mC/mMEWGM+fOwiiNBx9+GAd7u9jZuU3tcrIMtnEoigJVRYqTPq1r12TToUioyhREfz2cTVEUBWbTI1jbwnMrBgWLyWhA3eEV1aqVoxFGwwFRx4uce1U7KAdo77ExGXNrB5qz1lI7HlPkuPAAAQAASURBVKsAnZtAD/dBzCYn4GA8xO7uLgCD+XyK8XiMLDOkhty2GI2GmAwGVL4Bj6aFNLOHY0iaMvGG+ia2FsPxBHlZwLXRkdUS9WiF4XiEpmnw+aUvYDKNs9tnyCtQFDwZpbF9+jQunr+At954s1Oz6eExWyzxwUefwnlhblDN9bJq0NRLnDp1CpnJ8dlnl3B4OMPGyQmgLJxt6NxWCn987TU8+OADKMoTODzaxzDPYYosCJ8Fc98DLjt7PLyJ3nc43cef33gNP37lZ8iyMgCM4HPbugbaKaytbeDln7yCf/r7/xvW1h0w34suDX9GBG4iUJW0HlHEXghWsHePcobQDwX8TZXYgdTnos2YOP0SJHPgaMEofY+yHK7HJQ+ORYAkrA9WzUv2tAcAyrnj+10C6JPO80rzHKChKwp5fKIi1t26nl8hv+uOl3jtaZ2/HOfcOi0E0JJ4YDaUiUJbNmnLmPpFwvLhExtQHsPxEHXdoKqWGAwGgnzTnLNPdOPmDfLZgyC+tBtCp1wLSjooqKjAy2xJDUCbjEvq6C6cONQeUE4FWr1OBBz75z1lz3tzFzYADdiKFx3cg/SUZjZZGrd29RiTle4CY76bB5aLi45Nz+fgcQKTLz1YMCrBhsStS6rK+3d/LFDRX29B5VlJLfO9g1sBS1J/N72uZn8xAur9ID8V6HVwvsX+3m389lf/hCuXvsDzL72I+++/j88uDygD7wBjctz/0KM4vb2ND959F2+9/hqm02nIClPQrKFZyb9eNMiyDEWe09NYD6PIFhm12kf7617fvMYWJZrKBwceWqG1LZx3KAxRiAaDPAjCOOeQmYwPdI08i7VJjhXvnNSMZJFSSoqePKAmUVwNiE8P4fFx8YX5yoQuScXn1H2EkQjtEinpZJHqVN8QwYiqBL1QSXuPgExCaKhdp5EohquZH98LdJMB7vzeWhuksOWzimutpN0RIAJMlH2Tmir0WqBIZtM5h6qqkGVZ6BnoWKzHWY+19Q389Kd/ibNnz4fDQKTPjc7C3L3/wQf43e9+i8V8xg4djYPhrC4tgIRSHrKJcdidjiIynQ0Lxc+nOvPcQVMTFBLoOtvysuIgdH6u4g8Z5EjrE6SmL81eK6VQliUGgwEyXsOyTCirqntUUsm+xzWDcKD3sclYA6yUCnsnRcxWXh3WAEJALNcPNZvSr1bL3tLcKiDWg4qzDR8/IWBMaDLfoeALIq3CflNKoalJVVsOtDTooqxbHTJJ/T0hc0O1gz7WVnUeOUGJleq0BTjOuZDx7jtdxyP0/YP0uGA6Pr9kBsJilgAqyRIiWgZ6i4v3pVScr+PtgQrvWX0db9nD2MpR7FU4+GT8+s8WwTnVu1vfu3bXTvXHJv29wCMrteIJSksq5ElwnI5z0k7Kw6NacisTySgzEl7XNfIsZ8EyTz20E8BHG1rzIvwHdq4JxBNnO9L3JWPsvENb11gul5hOZ7BtA6WAQTHAqZMnsbM7C5kb7xPgikErBWD/4AhGaRgFnDt/FkezGZS33BkgowzloIQ7mKNpGyyWS5SsRg+l0LYORmns7x9gY2uNWyUpTCZjFHmG23duBeVbqWfwXCOd5TngPJq6QZkVWMxncPDcz1LB5DkGZUnv0xpaK5RZBgVgOCgxHo+wnM/R2hbjwZjp6UCe5exAKio34PkqihzaEKCgjWbGDfWsdc6hKOhcqpaWReEieDgajbBYLLC3v4+iLKAUUA5KNFWFpq4xHA6Q5wZKKwxHQ5iswOHRDPNqjqLIcTRb4MqVK6gbi7wocTSdE21dtWGtQRx6KEwXCzojvcfNW3eQZznG4wm0yQme1BpPPvEk8jyPZUzi2CuFK1eu4PBw2lFRt85hNpvh7s5tnD17Fq21+PPb76BtLNrWsi9DwnBaadzZ2cF777+PZ7/7FA4OGhweTXH61NYxoFMUXkz3bQCtkl2rFfDlF5/hvvvux0OPPAxjDFHf2wYwGk4TkF+UGhcuXsQLL76MP/7h1539phTVLmc6Q+scvGNaf/B3jrcBx6atoJJ4R3PWt5NfDC1TuoJ1Ufyw49759MO+9+fqK7X1UOLU+xXrFq+bBk2JTwcua/DRTexmnZNx8MkfvThIAFHVm9+wuCQSUgJuq079qmMRptQHdt4lADS9pJ1X/8wK7c8SO5/nBSq/xMHRIdbGE9ILcALScmDDdm59fR1N3WI2n1FgkTAKxMcWl0on96OUtM1kSrT38NaFM1gpqeO8d0C2Ms7JM8REBs+VjFHqKyRDHWnPqS5G+iWJB5do4cgn4rqJ5xaCR8dZ9gREle/zSPzgJFGGY/Z2/3kD+AF17O9kbYm/tlrNy5/xyWdX4hQEbYKVvRP80WQcPLfzAVAt5vj04w9x9fpVPP30d/Cjl3+MyWRCbTcFrHEeg8EGnvvBi7jvgfvx6h/+iM8/+yyI64l9MYbOx7ZtqcTGaM4mO9JpUB751/nFvdc3DmybpTQX0zAmQ+NaVJYc2vlywYGS9C9SoX2P5mL1tEm10tFwSHUaQJnHiPyD6wnCx8IkivOzugBY0RCaHSEHZQWvIjqJg+OsLQ2qVaS450I9BFN5E8cQyUIiyo6K1ISwVdKXXzkMUvXWSGWVnyVQTnBMefErhG0lVMiYdFMc+/sgoNRFCRHUe60jWm2REWruGHlT3JJhOJngxZdexrnzF0j0zLYs7OVhTAHoDIDGtatX8Otf/gJ7u7f5ux00KNMgogGQDc/tB0QsyHMdk9cZPS87Z6sutQq70XdPkri5kuA2DXpFqCmYQMU9ct0x6HLokeyp1pvrpikD2QbHeDAYdOpYoiGKNT7wiJR6uE79K/jZBbAEAzgCsQRysDj8rOrsBH8OAYh4DJGeJY5X+DolfXxjj18v6GIIuNMgJ6XV+MQKskNgeC2HrUjr0oT+wUBbL0lUxGvY0KfZwymF/aMjwFLPTekXGg7bAMIYLBYLDMoRYIX60kUV4x68d7/ZdF2sAEdJtjN+XnXHAWAb1q1fkespAFp5Ka0O1wn0atnDcjnOPMaD2Iaxps90a2XSe1YJnalzD3K/7BB5y2NomNJvaR6NUXBOKLp9+pqH9zlfUxgsXJoRFlIcpzQYhqJ2X6QyLArn8nsD76W9kTp2LjxnBElQXr7PsW2O4+ABLJoausxRVy0aZ2E9qex677ldTYNquYApMrRtgzwroH0G7Vk1kmvlHbeXIboZgQBBKM87yoIIcg1gdniI619dxcbGOiHUzuHMiS187C+T/eL1YgE4o0i1mOvub97cwf7dfWRaYWfnLrQGRqMhtjY3qQVZXkKZDMoYtK7FbDHF+toaF8Jn2D+cYm1cQJsceV7S91uLZdtAZxmWrUUOg6a2yIxBaz3K4QiDYUnBYVHgzu07GAxKKENjtXViC9PDGYaDAvP5Et410AYoBhn3zwSsbzFfzJEXGdolqeSLuqdSQFkWcNbCuoao55zJckyzs9YCihX2TYHJeB1QDq1tkedUqlQUJZbLJZxyMKXB+nAdk40J2rrGaDxEYx3yIkOeZVhWS1RL8hVMlsG2FVxTQ1mPZTXHZDTC4489iGXd4tq167h58ysoDxTGwEKhhSZaHDvYtm1pfWmNnbv7ODycobUKtqUeBNtnTuOB+84DroVzbSwxUVRWdPXaLc5oRal5o4HJZIj1tfuhlMely1/i9s4unNKo6wpaW+R5zk68wqmTp7C7u4Ovrl3F9ulTmB7cxKQZEqsNqsO2i2dFCp6mtlCssYe1S7z2+19jY3MTW1ubMK6BE8qup7PPOgttMjz27e/g9u3b+OyTD5M2LhoAKf1rtMhBAIvypJ4sIuACTJLDKVlNBGXn1OJGOrVO/DPdeb6u7UM4l9KgJLXXxORIzrgk6BbNgZD15btQPtJMEUp5RC+Cr7uSueWzImLgAQBQyif2PA2KOZeZSIiEoFZxYOnk32lf1MhEgo70XHjPJR4xSAqiq0rDqR5DCse/lLIMICRZRg8UObUZm8/nKMoBsixPep0y8Oc9mqqG1jkADevJawx9h+X8YGadDDO1A5XzhbLPWqW9ZjXRnrUwFSib6gCkaVXVG59jW/MJwGoSdpJP62N9OKPqhsTViiIDfBuSHnJ9nmYGZNJAmBMwiOJtktjwALwAEZ79sCSzfyzwnaihB6Xy4It2WwNS4kFEo2Q8GCTmOIr0htjnVS5SvgOwkgiZQYCTWPanYMjnDAKS7FdwRNt6hUwla9paQDk41UBphfm0wZuv/wm3rl3Hj17+CR54+BFkRUZ21zVBFPLs2Yv4t//7f8AXX3yG1177E25cv9bxnwCgzHLK3tqWWGvGQDNF2qloL/651zcObIlC7FE3DZZVxe17QErIShNyCyAzius8ReWw6BTRi/PvOCAQp4cCIANtUlXjLqCjODhxPacrRapksXXQtWBYEe4jbha+r6SMI16zOwYhExe1fYgqseKIrwJREqiGLLDQfELCzK+8X3OvxpC9VJEa03caV4Ou+HLOc41VTlQ+Vsd0bMEG5QAvv/wjPPzoI+GejMlCMJWZDNAZrl+7hl/96pfY39sl2SXu/6aZfg7fHVvpT2c9Oa7GcEAjXZj5AAtZUnTRRpmDkA3vTirAh6uIZoXPhhJFFVHgMDe9sbGWqHZOxbQLv885R9ltrgmXDLMoR8r70v7L4pT3jxrvkwAx3E+kkMt807ilmeguGSZmZOMBmYpZhDV8DMoXIOUOWsjmP5y0cU8R2s6GxyKgcCoNats2UA6t9VgsK5R5jjwzOHfuHC59eQnToyNsbqzDKGlWII6b5/VJDvA4ywDSug1jtopoxgNCHROg9h2hdB1FQCzu8bhuVOfgWM1wysZnFUakgg0+mav0/eLcSVuNmKkID3EM80D+nhr89H7EDvnE0AjSLAlvorU6OoMSO9sFCXxvnXYhphV7EjAQ2r9pMlcQ6RTN7t+7CJ3IAkgzxlTn3XUCfHDu+Lk9id5R1lejLEvAOmpzk2TwnSUAgTIRDtBAJm0xPLEOlCIbqJUKvanlHosix/333w9jNA4P9qiWUiEInugs1n17oW3JuobDZDLGhXPbcG6Jnbt3sLc7w92dHRRlienhFIfTOQZlidpaLOYLqu/lcoDpbIaiACajksBil6FtGty4cQNnz56L46h06AEMAIvlElW1ZGqihXUWG1ubGAwHGI8naKom0Cszk2E0HqGpGzR1g9FwiCJjxWWtkJdFAJGUAv5/tP1ZlyXHkSYIfqpqy73XtwhEBAIIbMTKDSAIcANAMplZlV1dXdm1dFXPvMyvmzlz6mHOnJnT0zOVmZWZZBJkEiRBggQBEPsWCxC7e7jfzRZVnQcVERWze4OJfGgjA+Hhft1MTRdZPhH5pO0a+NAn1t0YMJlMgYDEBmwM2rZLZIkEljZti8l0Rp9PvQxXq3Vq1+R7SntMkXZQd4K269C0HQwM1ssmlbVQ+6vE72BIHjt4n9L066qGsQaPPfoQzpw5jeOTJRaLNW7fPsIn14+o3n5Ym9Z1Pcktjw8++BD7u3soygJPPvkEisKh6/wgkpf2XmLG18CYRIJCahvYtj1+9/vXU42rcVJqUFUVrDGYTCf43ve+i8uXLuIX//QK/uO//ysY57BuGxRU1wwQez4D/8JqHwe6cazrYwiYn5zgt7/+Jf7sL/4VqrJCjEDfpYy6EBPIWJQRZWHx/Pe+h+XyGJcvXYQ1TnSHtsnYGTBbJIRkB2WvL31GwOPkVGRALv+OwKMmy24+6xoM2/auIODRAFLTr6TMoOzDjPSmyE9wS5ahYZBlVFTrnPVh9jjzs4YyLqjPZL3N/+R5Uz8hpyWD+DqyraOEGOkGeRclgNmG3GYP8v1kHDTCuq5RuAKLxRJFWWEypS4eiqdjtVohYpX2oktnwTddSt/ntTMahEis5/nZOQPJOZc5Dnh/kZ0/IJrC5sX7J897dvazrDLqLsjPpjWsqoqc5yEHj4xlGzeLtqMGQQC1Jqz74/D7Uem4IaCeLsnIZBswKgJF5biy3xAH9vUoOCbkWWbgXxgxoIeZp9Y4IXbM2suKDQRFDecVJ4XMfd7MAAJ81+DSp5/gf7txC098+Sv47vdewL333UsZeAzYpD37xJNfw8MPP4I/vP5bvPbb1zA/Oab5T+SnpbUwSNwJvvfwgDDqf9HrCzu2rkwGXWmTEvVdK21f+IHOucQ6KSmwFn3nU4qq1U6YJQIhD0SvenAxjXyQ2tAsrEAIWt4YUU8uGxoxUh54pPSMIPW7HNkMMbXDAUXyIoDAvTNhQUNQkRHI7/M4+R2tdfT4qLjtokS8eBPKjiKHQRt7Ygwabm5tRBBCzo1qkq0IdbSxqw1xLaibpkHJkVpKWQx0/2ld47vf/S4ef/zxZAjKwSSWQZPqmK5fv46f/OTHuHL5UurZS4qtLEuUxShdSfyopOScHaLRVh2MOFpXjcJqlHRTiERphYKBzzsiYmJ0jQ+YGSLf4tyA03ZT1KHrEmumq+rETkupewgd6FbkpHOEKhuZ7GTk/svSgFCi89mRZdiOE+F5B0WRdpIiz/qP970hJmRVi8wqIgtVdjoy4ZYWD1H9PKjU8WGteXIONOjIjv96vZYUz0sXr+DozhyPPvIoygL44P1LuPzZNSB22N3Zhy2M9P7UinfVNqk+jtgobQwDRTBUkHlnxY3mB+p9lYyQdxjiT/RzJj4bO3lRCXmeSORMDR6Hkg9Sz8NpsWBGbAZFRoizFGRvpu/y2If7dPMSYJDPgyHiNmg27m3mQq9+lv/OBt0mSZRR82fJKNOGozORzsbo98YgHEW+jOG9y5ECJ+tqqB2ZAeA8YPuAChbBuBRN6ANcWcL7kFJlBaHnKICRmi5piUAnnfF8Y0EZAilc0NMYD07vY3EyR9M0xMtALYZKi3XjEYKjPRiJVTz3ljTG4Omnv46DvQlCaHD27AHa1qNvOkQfcO36Ddy6fhNn73sIxhgcHx+n+TRch+9x8dKneObrX0XhCgRn0TQNrly5gvP33gdnHHyIKMoitWdxFl3fwRWJmNHAYGcyQ4weq3WDk8UKV6/dRF1WKAqHejoFYFCWNWazXdy4eiMBUl0jtcxd18LWNdq2we7uDiIiqnqCsnCoqgp3bh9J5LooHEK7Roge88UChStQ2hKL9RLRB7RtA8BgsVigKIpE4hQC2rZFV6Sos4VB7z0Wi5W0CJzWEwFZtZ6LMbUMNJGyg3xAWVicOtjB3t4Mpavw0ceX8dlnN9CaStLTe3Lw+Mh573EynyPEHmfO3YMHHn4AHgEePaIJKZPA5ghbkDpLbZharNdrHN85wq1bc9y4cSRGaFJLif3auAKVq/DLX/8ahzdvol0t8OZbb+Hbz38dXbdE23WwBBjaCBjj4EYZFtqTyoAUG77pWZc//Riv//bX+M5LP8Skdmj9Cp3vJSU6eI9gDHZ2D/D8d1/CjavXiDwLyIn1dGeXzhPXtbHRzKwRqdfqEEDU4OPQCM+6SDuzw98ZMt+PZZz8nhlIZBnZOENOJJpJ7yJs9SFHJbeBz4N/C6eEzX3tIwSgZDstZxgOViyL3ZB5NbKzpUfpho6yOK2ZqWsI7BrZf2I3bQVjs31j5Ylm8F9bWuzt72O5XMH3PYqyGJT2ydoCOHXqNHZ2dnDl04v0PVnUjfXadhkGXklWUsMIBJtaVFkmEYxxgx8j35JB4ExypvWYBjgNM14z8I18/gHuYz12RJWuUkDEJl+UNjLJoeSUa/ZZLDlzW1jO2V4gMzHvF6WHOcsw2xhQNgXtAw5qiGAjPWQZnMoZEwb8sDRnNuaGhfl1sq3OlBklgcrZLI+SnRmp9681EUCP9foIb775Gq58dhnPfvNZfP3pp7G/vw8Qa3vfp+zYspziW99+EY8+8jh+//tX8e6776FtO5I7gA1AVZRCNti2bQbFv8D1hR3bxWKV2tuQcVmWpUSWmD0vesAWqf8es4hmtEsftCjHgo15NtYZudPhfMM5DozSxUyYA07bjTl9gjeGBDSkLjY7P5EacfN+sLQJAnl8EpmKedGTXGThpAXF2GiM3E99GL3dUjunBQeUEz9IZ2AwQAk4dqSi6uMqkyz1uMmpdc6RUxukjhPRoCgKfPO55/C1rz8NWxSDOgxD9XDWlTg6PMRPf/qPuPjpp9R4ORI5gEVZODlkUf6XL10rpDXS+JBjJB/HToWOqOi5sUQSxg5PIsri9eK+XAq/VXV9cg+XSEm89+j6Huv1GutmjdlsJoX1vNKG+hfnJtKaUTYjEVoIBo1QMnI6Mv5Hu0ehg7lTYITeH6zQiUiHa68obS2hwcqUl6k0eV24Xnh0saKQnakYayER92SEe+9lHU7fs4v9U1NMZxHTaYmT5RwPPHgPSldSWULut8c941IN3hoHp07J20tQduAcgfY6kqFB5zf47XW743M2jn5CziaPCdkptSmtmmdLm5GG22jZ8fkcks39qSv/PFLkM59tI32etXIbptzL6ohyNEouabbO3G+Qf3XY4iiTm0WF0vMYjclygJ16Hf1iUS572ZJbGTPQNATccloYg1WMSgfqfS1vx+y3IbHPJqbfHm3boSSW3YJIJuq6Hu6bmGVFYnmkuRlFYYyjNjTwiAhwEeiDR1VWuLFcoixLzHZ2sLx1G0VZ4tSpA8yvH/MQczaIij7FEHHx4iV87cuPwVqDST1BXQG753cB73H/fefx5tvvoSWHfLVaUSSSU0eBup6omqlU4//UU08BSFE4xJTai5g4I4oyfbYsS5RlIVHN3veoJzWsMShdRXo1omlarJdLnHQ9SudQuQKwFr1JMmE2naFt1tKGx9Cemc+XsKbBfL7AbDJBVZcIIWVodX0HY21igPYduwNoqa1OYmSepqht2yD4AFNmnWWtxblz59A0yUmuyhpt04j+KFwiGCmrEr70aNoOhbXo0qZDXdVwhUPfRZw+dQpVVZARRb4FlZg41d3dB4+27fCVrz4lqdbs+EDFMQrn0JFhxjIBFGGYTndQFhV+9vIruQzLFZgWKcXZRg8bDaxJUdXUfsni179+DV/60sM4d24fXdeiX62xuzuDc3xebI7YjM2LrbIklcC888c/4v4HHsHDX3oMhfPoQopAc+/QPgLOWJy99wKe+uozeOuN3w1jgxv2Sf72UNblqK58j7L2EqnJUAaO5fHmeww/p50MbMjZccRU80CMSpu4zYhJxJlQ90GMKuV0YOoNgBRFOk72bD6rkUrchlwEqn5TiVW2aXSmTZb5GMjfgS0hujsquZ3ksTO5+8B4nu+mhsS1pYw6Zy1msynWzRq9TyUD1nJ9MQtz4OjwDk6OF7DG5QwCaasTsx0/mInM6SHrZxhsBMeApD41JXQr7pPIgZxNZ12/8xBcyWOCevYYHND5COPSQ71HYsz6PgPrUXrNy6QaEMTJBLj0VuLXWNkzPP+CWZnN59qMAuQabMniGK43u1lmZOfEwR51YLMwhDiM+MfhvMb8TQnASK0wd74gJ1j9BqX+9zi6fRM/f/kf8dYbb+Av/tW/wuOPP06cSxZt1wJwMKbEuXsfxL/612fx6KNP4mc/+xmODo/AxLFRBQW890J0+0WuL+zYstEfyWgvrCWCAZv6urlkYFhb5Ia/g76iLLC8eHxOohwWEX06RByxQYRJHK4iKGTbsfKhQyE91uJYoEZydpW8Viij4ZXgyCSS5crMfDBJEYZAabuIEl22lKIUia9e0CFx4NgB2kQFx2k24xo6jraxMygoVowwLtVYQB1o3eZJanF8QNv2VJRtZWMwMlQVNZ79xjfxzDPfhCsnkh7GzJwGDtY6rFcNfvazl/Hh++8KmYiJAc6aVD/EkTzJ5dbkP8yQSq1SzFiRjL/mtRuy3QoCJ5G7PH/aUB3ILbkovcgAxgb2DjdQugiP5XKB5WqZjDlOQU4fEkQ0JzgZar+hHPe87QaKV9JvVUrSAPDbQlo0UBTqs9KzLJqMPnMPZnK6AWJyNOM2ORkajJH2rm5xBbXnQk/73A7aEWXDw0taX8IWAk4d7IsH+MCF+3D588uUhk7IYgwSIY1U9+l9j8KmtKagekmIU2XtsN8oK3YiPt8end08c8ycnpOerGQD/CmnWNx7VhicCjeyGrSCGUcl9NjyFuE6aA1w2ME+ZoQ7K18jDoPy4kRH5jR1HW0fpVxZKmYySeZyJEIj3waJ8Rf6PZX83BZdZgAz7U2ugVMEOEhcgDznKcrh81jzW4IBx77r0v5xDrFwiL1DPZ2hb5Ou6LoGzhhMqxrOuMSiHlPKUgw+6whGrRn0A0dHI4InBuoIWFOgcAbBRPQ+Yrk8gbGpp2riI4hwNsAbHnWqReLlttEg+oimSW1WTPCwSP28u2aFqiwxmVb49reexceffo7PbhzCdy1W6wWqah/GGtTVBE0TcfvWIarCpuf1EUeHJ5hOdgEYdF2LamcHve9gQibG4jVo+x5VVaHrA3xI2TrORqyXDRyRSXWtJwPWJmbl5QrwAV3r0YQeZeWI8Ti9U7vuYI0jEj2XiKNM0oOuKOF8ROkoi4nAkBAibFkm57ms4JxJLPox1QIbk1r/ee9RTVJf+6quEWIiXwoxRQ2qskoGpjHY3dnFnTvHMCEidB0KW8CHNO71uoMxDufOnsMjDz+Adz66SKzGgC1s4vQIWd9a4zCd7eD8+XOIvkX0Ab5Lf3PRnzURD9x/AZc/+wwtOgEcEkjiUE1muHTlA1y/fRO2KPDUU0/hYG8H1vSYViWKwuHipxfRYY3Qe3gDwBVYrjv8/JXf4N//+/8BMVjcPpojhIiidJjtTNCHQGT1qcWVG5VFxLGzSFkPfd/itVd/ibP334dpXaGiGvEQU29NZqp11uLZ776IW4c38Pnli9IhFpGMYJPa3cQtfCGcoq4jUbL/hqbxVuB03N8163fIs1jsZbK+LDlFgm4JEgxld1a2hmroeTwUTAOio6AIEcuRThzA84Y7VFhpizS4QuIwIYw9WwgCNrMzMxpbSLW9KRCRn6XnXFJLqaaWWaw5EuyJ5wB3AcpzIMSJHanfLnGhpL02m1RYLRssThaY7ewksvqgiY4CPc+iLGsURYnVfIFgvNxL2+k5qpjXJ3tqmXk4Q0i0NlFlNtJccb94DTOzkwkVsee9CcVVM3Ro2X7JYHTWuWPwhVPFc0mcmrXsXHKATJczgn2JvN5CXyJM1ZC2pibkVHGM97CeW09QAXMBDfZXXvOc7p1nzXCmI3UfyWNVkVvqk51enUpA1NjTk5gxm+bN6vl1iD7V1fYeuHltif/t//n/wGNPfhUvfP/7eOD++zEpJ9KtpI8AzBRPPPUMzt//EN54/XW88YfXMT++QyTFee/8HxKxtdagLIrU2wugYmNLTIRAUSVWq67ryejcziac2H4TGilMxGxcGUMkInGASvCUsfBkA5xRhUAsfryNNIIFaGM8FURL5GnUhkf3N0zC3wE2HbCeoV84FWlgR0PPExEl0fetzenGzLorrK4hUkH+lnEmF19QK2YEjXG0iRFhMTb8ga7tUBQlCufomblvqjEWzzzzDJ7/1vOoJjX1kAVtHI7SOCyXK7zyyit455234X2fKqgISSqrkhSRMqJD3BgbKyejmnqPrygR8mHqed4/2wEA/l0eBzsU2QE2cNYmpJaEj+wb9dwQArou1aAFH1CWJQ7uOUBV0vGIQfrEBiJAYOZZdr7+5J6LuZYB0I5qdpTl8yLM2Kk1IkgzWk2/R+mnKXWzoPcLOTVFzyvdfcDnxyRPuo55hLry17p9AUcSu64ToiB2XljgX7p0KbXkMBGILgtgBn7ofdq2RVXVggBzJBLK4Bn/kXHwXOqIbcwzy88Y7iM19wNlludl/Htgo2h0Pnl9BCT7E871eC8bWWUd3YSANPnzW5rEm3yvzWs0fhU5DULekd85g0Oa2Tv3Fge1CBuiu/qs6rFwtHZcSqEAG1Ddz13GrUHMdr1O8oWiCtZarNZrSn+iLAVniXHYDtjEObIywJsUoGg4sh1TSlyS2wm0g4lo2gbNekXpgPS+ntpn2SRDfQiSZihGLED9+Tw6n1qFFUWJ3vfw6xWMsSjLCXZ2JsCNgK7rMZ/PcXBwkNJCaR529/ZTahY8eu9x6dIlXLhwP+q6wnx+jLquRLd436MskoPnfZAes3Vdw/uIO0e3cc+p06jKEp6YmBcnKW3Y2pRe7CiDw3dtYgaOvRh0IfgUIaYr9atNc2QMsFw1sNah73vMZjNxeELw2N3dwXq5Qtd3ABxc4VBPEomUdQ5t02J3dxdN06DvW8AA9bTGcr7EerVGaR3KohAeg957BOq7K+zXfQff9ylajIB7Tp/F/fffhw8vfYbQq9pvk9LmjLVSu900a3x25QruOdjDpJqg4/ZMtJbT6RRPPfkkPvv8swTBi/NGtbe9xzvvvpcyDqh86smnnkBVAAe7u0CMePSRL+HtDy/izrsXad/0MDD44IOP8NZb7+G5Z59GNT1BUZao61JlAxnJzBJ7ikuu6OdZzqS1ci7i6PYtvPH71/Cd772Eqq7h+x5d7+FDpLZrJYxxqKsS33vpB/jJf/9rHN0+lD3AZ7owBdls1CaLI5wxMUJLNpSBGMrMjD+MiA2B0QEYpkHtxILDr5ntRi0lRrLDESgVyIkYA4hyM5GzaUxc/cYpllLuI/Yt2BXI92H5PLI/+eCzk8YZc1vHMpLbEtGMEDZdvi/ba9aY5GRq2R1JLvOLibhXBKPEtaDtBv6MihtmwI9qwWEbLBYnqCc1qrIa9OblswNEnD17BpcXCy3o85zwIJUTOZ6DrMuTmGX7nfuXWmrDFkMY2Y95PTHQMxncVU/fkgk4/MTdroFNofaO1t/6Tmb0D20Jb2GeIPsmB3EUH626Wc7cG9osuUXYKIC9BdjXjNV8FrO+HpCtCecPBrJFzaDozfwAk9OUeZ9Jd5FUjvL2H9/Eh598hOeefQ7PP/ctnL7nNO0JCx89ugDM9k7jxe//GZ544in8/OWf4NLFi2j69T+7TtuuL8yfzJswOaVO6ntgUxsBAJQ6pggIlAOinS5nFYkMklAKTHuOQKyZFOwn1IabPceYhJJHcgr74Kl+JvcfZUIb3ZNUWInzG/E6pHQ3H3PbB3JSfEjMm31IxgIzlhlJPw2EymQWXHaQx4Z4jBHRI7GWRqq/DHF0AGjrsBPEn6O/OaqqU1/T2P1gMzdNA2tN6ikYAnyI1H8v9X78ype/imeffw5lXaf+tdAOgwOiRdd5vPrqb/Db136Dpl0LQugAlIWVVFZnSzhbDMYum2vsoGDTScnRLa5BjcN52FabICfZCBLmrIGzFM01OX0zUH/XFEjaZPXS+4UdmL3dXVSuSmzdMUh9VaC+ouxkOjeMnGfgQq9PAhWkRmvgqEdaX933c6SIImDg5HP6+7mmd1hXo/cdjy+agGgyORavZ+Qew9QHlPec/t0wakMVYzKQ+D3LsqKMh7Qm58+fF+HijIUDUcTHzALMc9M0TTLmqJ7LCKMht44yg/nM8gjSF3ZwZrbIrTFgxL/PgjU7dGbj91K9ihUWw8HP0yanyMZwf+po88AwBeRn1qW6nCQ/BMNVsimzfzKJjR0xQ25zoMeOZPomny3uBKpTxCgSQCzNrNzYeDaOmS2G2QWbERKr0F9I6jkwlHEyPkqzs4iwoBpdMietiQh9BxMS6zr3F3SFwWRWo6wKIawryzIR3IGjwSH9YVtVrawZRb6MAZwzFP1P81CUDju7M+zt7mBaV5hNJkBIGQkWKepnqA2H5b7lVMdmDHB0dIhbtw/hYdEj9Tv1gfpe26Qz9/Z34axB3/WYnyxgokVROAGWitKhns1wMl+gnkzwzDe+LlwVs+kEjsiVEALqssS95+7FbDJNkVDOsOo69H3qWXkyP0Hb97h9dIj5coGyKqgvecB8cYKbt25hvlygqBxg057nfsEsI3mt122LpmsTKOsc6skkfU0ysKwcrAMmk+R8F/QsH3t4nzgKqqpIEaeuQ9d0SYYbIPQ92nUDZy3uOXUa0+kEoPdp2xbzk5PUWowA4eA9nHUoXIFJXcNZgxs3r2H/YBd7e7sI3uf1N0h9E60lMhKgaRt8evEy1k2Dpl2jrCoUZSGR0kcf+RJOnzoFBNqbDGwSAHfp4ue4ffsORVAM1uslvO8QItD1Hn3XY2e2i77r0fmOItkey9UC89UaL7/8SxweLbCzfwrHJydo1iuEkMs7pJSH2ftJgsop0zV6AIAA64D3/vhHfPzhR4BzsIVLcshESkUkeyF43HP2XnzzW98V4CA/16R5tQkcd9RdwFLZi8g1M87MM6o3ej74xgzPXtb5RmQORysDMeoHaVOz/RIQNC/uBpC5caWi+Pw7dIvEF5PLc4yS0/l5IbfEAWdMGUqeSiUTWtcMnMktHSsCsYsbSis0koHIbxMRo0/EbSGXPzGzMch28zGg9z6VbEiaMhMMpoy1sW0CboCQBb04wpO6ws5sgq5p4Pse1qSzmTLjk83btmtcvPhJsilYPgefFPJAlUXV3mkIdqbe1pb0BLWqJhZuS1k9xlG7atJfxjD5I28uxWyzgf8mspzhPiCGaBlToPOQe8jLn7wb5bP6pLEHI36FbqUTyeELaloGdi/k7/F+4e9zsC5QtkBACrSlZJLc0TuK/xM2bIPcejGXJMUQEX2fM1PUWBJWm8AE2TMxlTBG2XYx/x2BEAyCJ8ZybO7/GD1iaLCaH+KXv/wn/Nf/+l/x29++lvxF4rCIAejaFOU9c+48/v1//C/4d//zv8dDDz28NXD0z11fvI+tLShCkdJUjE1RvbKsYK1F17e0wKToRSBHqm1IG9IxY7K1uQ8gPSMdOipqVtGVSLkXQYx47SibLPhpIcappvIObOlIIX9O9eU8UW2w5Q2YnptSdBmkG7I2C7FCRO43a4aGYE4NzX9DzQGjZ/y+UEhXVGiTlZo7yDcMWaNtm2pqq6rOESbabNZaPPXUU/izP/sz1LNpSimIOfrOLJt91+MPr7+B1377W3RtQ0QvEc4aVEUBVzCSpt5DjTUz1annR6WAR07K3RBdiThaYmAVYZYNal2fkgwrXkMrKR+MUInTR3vFe5+dWlqHg1P7KMuKUENVv8pIb2Dhmnuy6TFbm9PwQqSetEx+pWC9sZKL1B/W2JwWwmlvLKCMhPbUXLucmBpVtM+M9wgT/qgsb2nCTvPI8xvNpjmRa3jTTzwxzxokBZWAJCQBHPKe5bMWedyMTlK0VrPdbSD4PDcb+4WifgPIklFSqVDOacScAUFtKngOrdHKJae6633JzqW1juQO5F24zg4jt5gZGrnOXd9TKPxHRJsa5I6K+GsIUuR78ZnS7yeyjedd3d+w+UEK06jWGrQB5bxFatOVjFc+w2SKSoqyHaDNPGY9h9mIUfeQ9xheEfq9DTm36U6973PvViBF+wxgqsTemwj8otSWj+uKDbc2Mzl6J3uKF4GNJeJY2JnN0MDgcLXEmnp/nzlzBtXFG/BtoCyXnKmg9cbJcoErV6/BFOcTWd00yeK6SsQsXd/B2iI5l02Pk5MFlqsVdndqcmosFotVqpUNEdYW2N8/SKDb/j6qokTftRTJsDh9+h6UpcOpU3s4Xiyws7MD6yz6vkdZlqgnKcK6XC4AYzCpa3KM0ngnE4O9vR2sqW9w1/fo+04MX27f573HcrlEiB51XaGqSrRth65XjhgDfNS2K8YeVVUkB9RYrHpPkUgH59K9V6ul9Lt0zkoUrCxLBJ+Yfbk+q6Ma1bZNa2KsQ9M2qUwqAkWdUprX7RoHewe4eXMJHzwi1QxyNhhn3YQIXL78OfZ3dvDQgxdg0AlL9u7uLh577DEFexnlTBms1w0++ugjBA+R1cGnUqvjO3ewU9cwSKnhH374MXwf4YoS3vdomjVcWeLozjFefvnn+Kt/+5eopzvwqmxCZyjpAxVDarES9Umiwx4pgw2xw+9efRVnzp7FqYM9xUWRAUpEwEWHLz32ZVy98hk+ev8ddSYM+DgYcpJSSxWSGd7n6M6GE7kNYswZM/qjAkAHVSerjXOMP69kuoHYkFkkbwLhWkZqKRpFlooESjKefjZq4Z3fkUweqxje061UrSvEOx2CegpZFh4aKheR/r8YyqhNYN9mp4VTcJn3Q1TEnwY/IfJ2HGVNYynLCs6VmM/nAGpUVanuxfZJWszZdIaz5+7F5UuXxE7hLC62ZTf0t5wlmlKTbJnALcSYNNNknoigxo3RftI6U02WenbWnUZ9rXWmAEUDfbs5Z3mN83yNf876mW36sR0Asmv1IR6uM/sljL9E/dDRe258ofwGbYeLFSDrmM/7YIqSjKa/lSWmNvTQ1/lTZ44Zw40xQPC4ffs6/v7v/hqXL32M5771HZw7dy9MkTuPRADWlXjiqa/iS489hj++9Qe88sovcXR0uOXlt19fvMaWDSwf4U1ANUk59sY49L1H3+lCYyN9ZAXRoLTQFHnkukcmtmGhkpG/gVAXGnaNBMj8yyHnCAsGaXfasLXimHJ66kZkKwxpwyUORL3OBF1E3pQcXbWw2ayWzUIOkVCMM7MfGb8KweIodlDGtqRkxIxUWUntNmqfRTTrNYoy1YaCFTd6BJOISh595FG89NJLmEwm6D31HxNsMFFCGevwx7ffxCu/+BlWqxN5DRtjYsCGQMYy7yEMW5/kOc0GLifdBlrv4UFQ6Rg0D+LsSEQrAMZRNJw/T5Ew/rexVJNociTUZM0YAYlwjxHMED3qSYWqriSFQuj4CeiNgNTUbrusJXgjBASfyMeMMYBNEf3Qh7SHuDaUU1oso36FqjfJ7Y8MMyYrK0ZIqERV0x7lM8SOrTj6dFfH1YGMd5ICtxEosoFhQlZM2iGwxNKaz2diBpUz7grcvHk79UXkeiGAIhqs5NJ4lstlYsxTwpCjPoNon1JkwiI+UvxmBGaNcBMYG6UVTox8hojYa5BWkyO42pkcoKxMZBUhey8OPFVtLMRUM6QMKO73nZseghi+kzjOjd63GSVZwTFwaKislRV98EHmJ5Oa8DlBrqfTE8S9v8VAiFK+AEUCZwF4nyIEkQAPCc6IHDcif9IYaIxEHBJT7BI22mwAGIugejqLTrcGJljUdZUQXp8iG85xs4n0Ls4ViNEn5N9mfeFMQpNF1sNKyURkEIfW2RoLdCmT5p5TB7h4cow2+FRmhhyJZPkflRKKlvrahgAfgc9v3MCt2zdgTMDDD13Agw9cAKxLLLUmUp1pCes8bh0eYr5cYXdvlpyWYHAyn2M2nWC9atDvehQutc175JFH4fsO1z/7DEdHh6iqGR58+BEAAScnx1h1HVar1eC8hBBgHDCZ1EBVwvc+ATUEiPY+oHAWVVkKMeDubAcxBLTrBr0PMCal/zZNg4ODAywWC3QYnlFHGQWBGOWNSS0+0sQYtL5Pe9wYdL6DsxZVXaJZpxRkVyTntXAlQp/WspqUaR8GoA8BxqXWgqWdoOl7VJMprPdYzhe4ceMQTduj6zwOj+7g+GSBwsZURhML0j+UkcK1gyZg3Xi8/8FlVNUU95yijgrW4EtfegRnzp5OgEDwQgwTkJh2L33+OY6OjhFMyuiwMcn92AdcvnQJ58+dg3MOH370Ma58/jlm+2dRxg4mppYoRVmk6Or7H+DJxx/HU088gvXqMHGWIA7KfKzSOWwTialKkbbsdATE0OH46BZefeUX+PO//Eu4soQLIUX/YkDokx1XmxLOVfj2Cz/E0eEt3Lh2Nac6i6CJUkcXA8UEbUaqdQ/YtN+UjSymkCF96EcyzcheyUCyFaI3wS+FA8DmcQ2+v8Wx2XLpvB42ohnsZv1kR9komrgv2xQKNNQvO5w59VWu12SU35iRDIrb5D3Lw8zuznNmberKwM5JDKkWlZosiB2g32Vsu8jvGpB9my/ngN3dGVarFTm75ebvIqJpOixWTdq31DEjsgJTa5ztQuKfUXisoYwrW6S9xzYa+4QBkSLbRjp65LrllKUjLzJYAN5bGnxmh1eRGiqfjUE6bVtoP0GCFPy9wSMp8r7Bj7JlDcKIO0g+asQpZv1opeSF+8sq+xkmk4XGob2ncAgZH+t7CNCu3h1klxheF/Z7zLAsh10bIYTcBJXyIuROEtGkNe27Nf741mu4ePETPPrYk3j6mW/gzJmzqCeT5L/1Hs5aFKbG0898G1/60pfx+9d/v/VsbLu+sGPbdR1ANRXT2ZSIJaLqY0lkKFbXIQaJ6BkqQgYpTkQxB2XWQ4gjpGfzyiFp5TSpz9oRkpmjpXy49GJnxF6MMYVkMTuqslcpsmVy3zLFmJbHxWkgrAy4diLKQeMNP9zsWRDoiIygYPmlhrZ4COjajlI7ilzDi3xIHnzgQfzgBz/A7u6uRDlgnbSPsNbBOodPPv4Ev/rlLzGfn4jBb61FSalHzpmNg5jIfTiCORQCCh6lerm8LvrSzomkMjrdPieK8yB+rOFUUUjPVY4GgIWiRNZzSisAZcRb2qcukZ+p+k0x1DUAYrLg4whSbkeRhExgMog4bJniuJG3Qkm5zjwtP6XbS+uSjAbm3rFBGTZKTI+jxxFAsEoYOSL6yo6cURvbIpHEpLQjK30CMzshxOiIIaexpp7VaT7reoILFx7Ep59+SqnEhayX9/rc5vcqikIRPuRnpohnVk5yvkftILYL09GeUtkg4ICtZu5V514E94iITjt9UWqO83PyO2XYM7BxRsRqgc+IKpsVMFdlogRRgtvfS5+diChM0Tpl25ih068dED4LeuwhDFO29TmW2v6QUgRjiALOyP60Cbj0FF3lPatBwqFszJFc2f/QMjCia1t4n8bnPafDBjXPvBZBZDvTJCSyFGqdZg1cdOi6js5AIM6CdFalj7YYiIlNHgDuvfdezOcnWCwWmbyCAUn+PNWhAqn20BqgaVuYwsDagEufXsZ62WFaT1DVFabTKWazGSb1FAYNuq7DYrkA4j0EeAJ9lwiUvI9wRZHSdEOf+hJbCx8jmq5DWdd4++134ajetvM91s0aXdcluV04nDo4hdl0islkgtD36NseBfd1DFlHAwZVPcH85ARFUaAqS0yrGieLOcqylHRVjuZzdLwsS6zX6/T5usZ65VObv4JARIpohuBRTyZkMwTYwqIoS0ymNfrOp/rg3gtpZNd7eN8jkvGMaJJJTPuybTus2+N0j0mFRx6+gLaL+PzqNTQNtQ5qPW6fzBHgEaOBh0sEdrTzWM7PF3N89PEnKJ58HDAGVV3jS48+AmOArmvQ9R2isXnfAzg+PibAeiB1YEzaN2zz/P71N9Oz+xRJ9d5jOp0imkhnJuDXr/4GDz98AUU5wdHxCU7t71J7kpDqWZ3NMhKQshIG3aGcSxkHIi5f/ATvvvUWvv7cN1GUEeizDRVDpNRwg3o2wXdf+iF+/Ld/jeXihOy4KEbuUGZAdDFJ8xx8YCZ2BgzVkS6cS2VjJG/4HA/sBbEINVCOTESkI29GfX5LxOhPyc28VtxRgNn+M+eLnsv8h/R2JF4lilpFVip6PGb0LHB0MIqu5nFtROdHtqEGca21sHASOcvOaxDdtOngbNclPOeGjQh5XwKArcPOzg7m8wXatsNsNhvI6NQ+0uPWzZup5tqm9o6972lcw/nPzqGqbx7bimRTpu8H6lAQ5f0MO7Uxj3WoO0zW7epvoz/OD1R6GHK6LJh4JNtf2anlfWLZr1C6yAwinFpLbc4Br4uMmlNuFQ+MzLMCcggllrVXSA05mTnyKTqcM0pCjhTzeCNSDnIc6OIoC6JnmPeFRHIVy7MA9mCbSgVgpDOKyt4MPY4Ob+L13x3ik48/wlNf/hqefvobOH3mHvGHAq39/qnTeOkHP9zYuXe7vrBjywdqWk9Q1xP0VDcYKe3QUY2TCCkbqT0OyIkaTrgBpxNGVSOy3amNo5SMTSRttHFAtW8iXIygipHqCo01FDmQ3xwSH0mNnc1CPBVipZ8zc7xRjoohpwbZwQF4jzD+kol/xlEqRDusg4BCwq1Bzw3QQ94oxhis12sYpDYRXgzwSP1XDe49ey9eeOEFHBwcqAhl2nSucKkdRFHg448/xt/89V/j9q1b4HJMYwycMSgcOzDsyGcDmVFEXgfL0WdmtlNstkat0xjBEqeF6i8kbRMpf1/OBadSWiPOL69HupVXSkbXEOQIM89t3ycyr7osU5RXak2s1CMa44jsLKcVGxojnwvZMySGYHWKopW6axYIvF8inwNkySGsixyR46853VsLWSbnUuxxhqJzUaKbJJ5Yb4vwzc8d6AgljNI9M0rctx6+D1sYB4G+7/HZ51cQI6OteQ8PDY8U5d3d3R2cWzku7Hz5DEJoBa0NIQ1U6H01/jmf7QAghtxT2IFJ63IWQM6WiIJssgMYOcqInIo+HFf+Xd4bXnwgLhlQBqJK4fc+RbqCqqGSNd3yXuKACgKdAYttTuq2P1re8d+D/Ry5XRUbf9ynNtKspjPmhVtAAyzqDCKn0PmQ6uFzij6/GzNwJ9mUHFlP4IlJmSZdh7ZpZXxFWaS+eFWN+WIOFwwiCskOSvPBmS9spSRWWG0q8zw769AFj7qu0/NpT9R1jeWyoUhxn/pa884aAAhpl1Vlha889QQmlUHwPZqmw/HhMdq2xbppsH+wj4ra31jrcOfoCBEPyf7pyZF3Lj3bxET+0zRN4oMwFp0PaHsPa0yqh/MexqXWCKVzKMsCOzs76KmFmXMuAaCwcEWSrxzdLasSRVmh6z0CpXvXZYnCWcymE1TT5JByvRM7zdZZdF2btGfvAR8R+oi+7RFCSh2uyomQk5VlhdB0SZ9IvVhq/FrAJWbqooQPET5GwBYJ4CDQ2yB1BYjUVcH7gK5pKUoVUZYODz14P86fvweLxQLeW/zurXdweOcEhsAOJuiRrADayUd37uCTixcRAZw6tS/1d973SFVtiSnUmuG5Hxh8SMRme3v7MNbho48/wdUbN0SOdETCVdc1+tADEbj/vgt48onH8fY7H+C5Z5/BfN3AxwhnI/pAnQzghKkcnEGkBZA4ZAzspMwhHyJef+01nD57Lx548AKs9/AxUC96Ax86oA9wtsTZ+y/g2ee/hV/9/GUBWADu4RnVmWdNnvSjjWbA1B4NYJzJICDNk+/bAagaFTi4oQOyK7gV4Bs6ndsdQv39uzu7au3Y6YhmFL0kG9OEgSzVseNhYGJ4RSEbUll6cfhWWpeOW7tpGQ6Ry6RDuIaUK8K49ebone/2/tuv7Niy3J7NdrBcLjGfL7C7s0dOh45eptIkaxy+9pWv490P30WzXtE4+J6aCDEHCiIBoybm4BfEHgwIwVK3DtLzFrDBStlRAqc2s5D00cgTnm0/w9412F804qDx31rvyprIPsmhBfEdlA2DrPkkc+1u17Z2hOzLcGYmtO3Gfo2yBxibMAQycYCE8SnOYtJZlikLU+ApLtLQyySRWXks29Ra9Az4ckz+NPPbiN+T5VSakQRo3r55A68e/QKXP/0E33nhBTz6xONwVUXAYUQXok5Z/GevL+zYOpeo/kuKsITIbXH4EASZfJ4HQ983JjlP0VCtk0T2hrWVPJEZtdPGl0qNpI2SokBDwyJvjtFkRwj6LzC7unghQkhN1b04F1xsz32fdOQj/aazTHST6w6TQxflgLFSYjbGFKnjWmJPKFsW+jILlD5trZGajlzHkNJCi6KgGqTcAiWG5CCdPXcOL33/+zhz5hx6D0nfdcbCuRLOlggIuHXrNn7+s5/j8OZNcsjSWIrCUS0mbXjuCaemTyLE7BAAqZWHqq1M75NVQRw59hmFzSzDMaZ2GsbGvAYDcos075nUSwsh3jOjjRyB4DPJ2Jr6/Do3EUfdKPKu7OsZUSaWehwZctJYxWvVYVR0M5ogxFWCY5nhpzf+lloaJGKWGFKKFrZdKlWYyBSMs4mozMS0b5gdUVPSi4Or4R2L6HVbppzOHWLAmtKQ44CYAJJhte46ObeSbg9QaraR/bNarXD69AGdUYO+V0RJWljfxWDZmAFlcGz7fWNUHjKnKlPbFklV2iBEMqP7p/mIIQEXUe19nquxc857Ll/K6OJG6EY5doK2Q+p3o8Gg160+H2NwIYNDKZJpjZWo0Pb50yDJ8F34ealFk5M9AKqvN7zo9Lmg9gor34hEXJfIwXh97UjNU7RpRDiTnuUQgkHbeTRtT+11coozA1Ncn2Uok0LkCJHCBVZMAlBEeZTsZdoTJHBR1zWCD5hOagA12qbHqf09LFaHYsQJwRfPIUJaL2tx+vQpHOzW6HuqXT13Gk3T4OT4BIvlCifHx6hmp+AssFyu4Psg/ZkRI+7cuYPSWZRlib5L7/bxxx/h3Ll7UZaFRMhBjr9zifhpNp2icOkd27aBoXr206dPY34yx85kCkMESrZtJOV42S8wmUxR2gJHdw6xt7uHuqwB56guOBFcrZu1ZDn0vcd6ncgKTWGwbtZSf9x1AW3rsVwcYTabwjmHxWKBsizQ9w36toW1Fru7FXrvURUlvG9hCXhlJvau72FdKnmqSpvLepzFpCjRdi21OgOodBS1c3A7O4BxeOjCeaxXTQJfrEPTe6SWppZxaZLhwO2jI3Fmr165invPnIaJHRwAD4sAamfEGWdKb/Oe8iHg8uXL2N3bx2u/+0OKshuTynmMBZxFaS2sScDAPfecxm9++xoKV+D8vffj3Jl9rNYtZlMLRI/UjC6QvaDBLJY1Q5dK2aSIiFitl/j1L/8J/+av/gqzSYVoIvouSJZG1/cw1sEVFk9+9RlcvfIZPv74/VRTqwgXpSQqUPu7xM5BLcQIeDBOelmLQSzjC+LA8Li3gWtaMonRLG80SiUmuSlyiBh0x4pyq4MigBvRgQkgqJlfTNZjJpeERY6IUXqsik9tBwxV5tcg2qYunl9dbqPvo/UaZ6nwu7EdpCNtEkvT0fC76dAByqcipGrOZrMZ1usVTuYnmE6mcIUjPZXv6X2Pd99/N0Vs1XzwHMtzCCgdvANSWyYG9hMnRiLmy5GLNLZgVZQ7ZfXKPhnaVnH4tdiiis075F7nyTAK+TNbQBIBXYzal+ox2/TsGGAZry1H8bkMIFLWa96vvFeDgDDcaxjIQLO8n2HOjECBFSI7JDZ/3xM4a7MFqPeckSDdIMU1B/b0f9U5Hv/NZUHantFkpJb1fuzR9x6XP7uIw787xDeufxPf+c6L2N87IB0+7D7zz11f2LGdTCYp+kCh7MgRSXHGVLx/gGbknrMx5SQR2sP9TSEh8kjEGUalZmyL1gwZsoi5bBzNQDbeQQLPGkspDptGLEe+hBSJDpFx5IBSSpscoJhQf2d1ul2UdM8YOWIw3MjBJKMYBjCRiVioHnGjNlVF3EwWwpwS15BTVpalmrMs2PZ39/DCd1/AQw88hD5QZZuxiJTGYmDh+4CjoyP8/U/+Hhc//XQg4J2zKArN6BoVmkV9IIMX4ikNUnieVL60YlHqiVG7FLXZHpnTyJox3EM4f05fsqZE4MSfYZSqJ6bKtm2xXq/Rhy6lhY1ToSXyzoKG0o5jVnQ8Htn/lM4LJga02EKKYQap6xqlZoWfQA+dNcC12CHFDeKmYyxIMK0TYGALmjOXZVMcCwdGBVmZEFFSEAXPDqlF33XofT+I9vGc3XPPGcymE1y5fFno+oNJikqALKpjZNKoGId7HMhMoHp+xmj1eH/oz46vDJhxIQkJSVjlLOZ5zNFMDMoiZG+w8aPA3uzgbTqZfC4Z2NLyjAm7jHJIoxL6PPeGeglbNR9aAW1F901OOQohwge/oXz13hvNmkJh+f2ClFNYAlzGji3LWyZOkYgPA0whJiZ9le6Uxh4QpIJxEwEOEXBFCZg2tYhpOyWjknM5nU7T3PpkYHuW5cSboGZI9p2cLQZFEOmERRjrMJvO0DVr3D48Qtv1aJsWeztTGNxO8QebGDa957guRagMEmt47xEoolhVFeqqwmw6xdkzZ9A0HW7dvoMbxwvYPmK9XGG9brCzUyPGDhHA4eFtnDlzmvgq0vuu12tYxNT72Rr4roOrcuYKjCem0bT3mmYt83zjxg1KuZmi63u4wqIoHUIPTMoSwCS18fIes9kuGiKGspShE0KP+WJJ+zHCRotm3VKasoUpCvRdn3RmsHAmpWJXFdA0axpPg6qaoenbtHYOOLqzQN/3qCqf0sDbVAfq+awYasVkLdq+Q/Be3q9wKQ28sEUCAGKPvg/E45D6i144dxYGBkd3jrFzcAo378xx+fPrOfoLCJusCR7BeyzmJzAxYnc2xXxaiFFuQtqndZXSpdvG5/NuUnZaHzx29/fw6cVLuHb9pmS3pFPsCZRvUdUVqqrCxUufYLVeI/iIn//iFfyn//hXiCZi3XaY1pVk3DBbcrpXQWaWLinQ55u+R2RcN258jt/97lW88OL3yaBNoEjXpf7EPXoYJHvmOy/9EId3DnF4+zo922k4DqVziQk+5shiQCAHnstvo9RCApRmGbmEheUYn8WxMxgGsoXoqCWoMQQcrcgJEA9KjJr5eHgN+UBY5ms5yumdUQgjxZRXDmLSz1Qu46OSmdCSQD1F+3RDZ0mDstuusV5jWcvpuDFG6dMbQm69lF7HU7TDqne5WwRXAwJjGZ2+ns2maJoG66bBzM7ADTEY9DUGaLs1zZFDVVfoukbaX7I+YNDKss6U1PfMzA+yv2BialsJk7IcVPaauGXWUzbROPKpbVC9H3N9uNhFZLNHWSOdkqX8CXIuco0vBvbApnOd51wDBQPbRfZ6Hle2PVSmhsnAHndWMRIVVc+mGm43An8sOcWmrNT4h7Z0tqHp7WIeX4y6b21e+xjHwFEknaEAA+XEs42Qo770eXicnNzBr175Ba59dh0vvPADPPzwQyjrEm3bbNmz269/USqy9zkKySEanozCaSORkROIUkz1iCazzSr5xOgE0ZTCBy9RWesMtbkw5OkHWHEI1e9vkMcQ8ymxmSIOjUBZRGkkkdsBubLIKa4yAdlvT7/q5GBxqJ3HAvU9YyDvErn2crCh1X+iEhCKIMASyY2RWs5kIBiqkxoLxRiA3d0dvPDCi3j4kYcFXbSugLOFkGgZa9A2DX75q1fw8UcfwjkuyYxwzqAocs/ezT6tISEpyknNc58aSbOgMyqKFMkx23RK8uHg2lUowi9d7yAngk+zwRZhsenUhhDQtS16Yv201mB/Z18IowbCSCKgImGJKEenrCuCKj4jap7YEZC1pA96FXHfekl6PqF4gNQGynYZbUzDgoKQTYPcR0+nXo/nPcY42I8RQUKJkbIU2Pno+m5whrKTZbFYLLBaLlAUhby7IWKq1HIj7+fFYo79/f3BWRw7amNnTf97DHYN3mWEPGZNPfw7GxQ6kjn8md4ORk16YV1WfirlGKMIrqCSFE2SsyHOJymwhPpJ5FaPJyrtErFdOW5b40B1eZIHPbrGTu24xmubs7w5t5AsDFZmMebezvI5VvgGCNHDhsx0yR8wbNQoRdx1Hdp2DVskPgdnU0s5GM4kMRKdLYpSFiqEAJOa01LbBpNT0MQAzTXxet/xLoghYG9vD7fWK5RlieWqQeEKnDp9CkXxGZrWqzprw6TSxGqegLWuS61oqnqaiDBIl+3szDCZesx2d7H66BMslyfousQOvLc/RTSJCGu2s4uDg9OSHt97j0cffQwOBqu4BADhugCVZvR9B+9TNktd15Kh4Vyan6Iok1NbTdAHwFiHsnIIXU9y0KK5c4xJVSH4Hutli7IsYJ3BZFJhWk/QR4/JZIKu8UAF9H0LVzj4Pr2vNQaFK9A0PcqyQIBBUSb+h7btEGFQFqllU9u3WK5X6Ps+pYBXFeCTDVBXKR3cEWtuVdVYLeYJVCZwl1PWOYPBIT2/6VOLlKIqMJvWePjBC7j3/L2odvbgP76Cy1euA4jo4ZOMEz1tUFY14CrcOjrCwenTmO5UCeQmY80CePihB3Hz1k3MF3MBFkERisIVOHv2LH7y458mQAkJfK7KAizyfd/CTWoUhUOzWqd2goj49PJF/PGdd/HsM1/FncND2IMdTCaphZMdqKdMiEMHcFRTmMFx/o13334L5+89jyeeeBLRe8SY2kE5F5Oc6CJMVWNnbxcv/PBH+Ov//f+N4PvUikz5fFzXL6LFxARmcLRNVOamzGVhwDpdy2wta8RZVZIGQzG93XEZtf3WMoaB07ETPQzEqN8TYkCII8NtpoY1hHHwXpF/zntKvUukm98NhB3L3yxvhw6mOHYb8tqIvZtrXeLAZjEYyvdtjtZY5vMVQmrvB3i0bYNZOUmZYWJ/qOUwERcu3I8QAj799BNeAXIAE4zoKcKeyCoD+QJ5XKI7yEbPxM+032LeY+z/sZ4dRlJ1cGQY0GI9rqPVYlfymrGcH+gsPg0Y7lW257OzsAFabPNV2MTgszH4HNvI1HaPZ9BIxHxMRJWBYX3ugqrWNeq/gv/HmLM+FV9LhLKBxBvdBKYGtouUAvFzsm2+FawBtVMzBrFv8cmH7+HzK1fw9DPP4Nvf/Q4OTh3gi15f2LEVQhdn1IsoEhhKVw0cqB/U6IFQZO7Txy000s9DMFJLCRhhEdWXoXq4EDZTSvSiCKI56D82JHMakIVwVJWNA5NSfrNRRs9AHKT/sZMr2Qv0KQwWl1MerczZIJceedyMRhp1QLllDWKq02JQnolNtFMrz4xAWZT41vPfxqOPP5aiB30LgzIRHtABds5gtV7jlVf+CX98500E36Y5pnTm1OqDa8aGCiSEgEjpAUVRDTytSPe3eUrznCnBoBUMV51uAxGzUjASYdO/L/8bO0fKD+dWIcIAR88qCod6UktPPm2IZ8Qw7yFrdFoSAzJWgBlPPZx19M1aN0DyNt/tLhcxyIFjdYYMCKj6H1XXGa0CU3jMW2ozxw7KWIFG5agltC193fmeWHKHhkhKTyzTHIdcTx1VHXfkM28MEc0FiYaOr7ul2PKlz/d4/NsMg0jnm+uErQAElsafGXT1Hh4CJEN2xCiZGPlnDNyJQlVRWJ05wGAIW6BRk4hAn2X1/IECzXsnUi9kcWxMZnKMSL6c2eLE5vcbG4+bcl2v9Xgd6CupHxsaX3mMTpi6mTk/yvlMdZOBouhOfjeECEM9oCtXwVqHtkktxyK3uKL36PsWdV0lsiqJCI16PoJbW/UJ5BOyG663zGUOXDvfIc+ttSalwlYl9TzMtdIsnwJHgylt9GS5xOl+JxH6EaAF9FiuVjDGYDLbxd7uFDdu3kbXJwKjs+Ge5JAVJfrQ4cOPPkIMHgcHuzCwuHgxse0GHzJBVFmi61tYGFRVnXrJupS+XNjUpkeY2AF0bQ+DHr2P2NmZoG9bRGOwblr0vU/te5Da3XRNC997VOUEVVFjtV7COof5yRJd08GZ1IvSGZfWqO2w7hKRYfARfe/R+hZ1XWNvdw9l18H3Bm3XIYSItutgnUNpnQCovu9pTslmoJ7BiOQwr9dwJq1Ri1Zl4/SoiiqBCVWFrusSgVThEPoA50pcu34N165dz7li1qKoKtHvrqhRuBLVdAfrrkfbdSirSQKJqNXbdDLBU089idu/vJH2j/I4YwSKssCNGzdw7do12R5PP/N1PP7IgwB6FK6EtRaXLl3C0fECi9UC0ST54WOPX736Kh568AJO7Z3Gan2Cui4hLSKZ6ZzPsPTxzk4txLml8h0CRvu2wWuv/hpnTp/FqdP7KFxHDPc8h6ntXVWVuO+++/Gtb38Pr/7qFSFKY1kSIhHhMaDDg7AZwNd6W8AfrtmPfcp82qLvt8kX7dRmWZflo8hmkOHPxEQD/cHO4dDAzs4Pm/mkR7RdCUgmXppznckUJfIMKB2/FWwfeNp/wokdyk8GhHkOmfNg6+ecVXoqDmxMecsRiDy+xk6K6I/IUEVAVaWSj+PjE5RFTa23mGwSUlN/8eLFZP9qEiL1Bdt+ae9lIs2hbQgKzFhES+zQxgDBInOUMcP+kOfCDKZcASuGy1nYRrAUKfYU7eQxR9kZec5Z7lv67HCb8daXXTaymfQl36MhJJNvyHGSP5x9K7mvUR4xMCj304MyJiqiOwXwqI9t4yxiv0TPnXCEKOxkExgB+j5In2Igt0o0Jvtgw+BWsgUSnuQQ4bFuTvDb376Cjz/5AN949ln8j//u32zM4bbrLiGjzSvVIToUhUVZGBRl+uMKk9JVnYV16QBK82764+hP2sgJ8bTIrQj0AuRF0YsYBc3RQm18MCVffGuaxfaUjhiDtLXINa9DZ9GQIeRMfifrLNXK8p7PqXgD5wGQw2Z4E8pGjMSUGuX1s1ObUqzuHB/hxq0bODo+Qt/3Eqkty3Ir0VRV1Xj++e/gqS9/hfo7Qoy1nDKcjLrXX38dv/3tb+H7jsiFElmGU2vJn41BUXZT9Ni6QhxFWS8WTDpRgx2cEGVOjEo7lebwtP66abeh9h3WGmmubgwUSjoEC0KIqeVCSP2TfZ9b+wj6FFPriulsNlAuumVUTqeknxuoulMWpqn6Ccp52aYsuMm2RHBVOqkGf0h1qdMwVOpZ+iliLiVgEmGAISAlszAavsdQEsnPDL9gzNE/ZjVETOlNXRuotYDeTwmoOn/f/ZjNduBDDx/6lIZGyGKkOhRD7XuWyzUmkykxHA6jhHruLNcA2m3tlXINtVY4/PuaHThweqmKZPK552nYiAxQrb33Ad4HSrnPf7z3RJ4XR9M5fkYUmZXQknwqOOXfUv29U0AB15BzyyNnjbB18xbgdCyRUSqbwxhumZEBt7ECyfIg/9wQMBmBjXnVv8tGNL8HpM40GyGB6vAs70E91xytFqVO3xPDhs9kkoHGZaCIFS8jz6yMB/20o5EOJY7r5xTgwPfadplRtNm4dN52dnYkStL3PSyI1I9r2g2d3pBykUMArl6/CU9kVOumRRsC+gCs1h2a1qPrIybTHdknxycnkrbdNC1CNHj0scfx0MMP4vjOEWJIfWQNqO7eGjRtg9V6jb7zaJoO61WL+fESy8USi8UC62aNtks95q2xcEUJWxQw1mLVrHF0fIym7QDjECLQdanLgSeSpaIq4cr0+cVyhdu3juBsje++8CPcc+YcXOkw3ZkiIKDp2tRKBkhOcogoqhoRDicnS8wXa9w+PMaqbRAQsWzWaJoOoQ+IPmC9XOL4zjHWqxViiFjM54h9RGFqmFhiUuygLGbo+pBSdzkrxFo46nMbAdjC4dQ9ZwFbYL5YYr3u4WyF1WKJDz/4CIe3bucWNcoZS5lhBUIAlsslTuYn+OPb7+DDDz8Vee+swSOPPIxz587QWSR+DcuGsEEIFm/98T20XSRLx6BdN9jb3cXpUwc4ONjBqVNTPPvNr+LcvacRQg9HbZBiBG7fvoXf/e73mEx3YV2JxXJNpJdRdEQkEDHLGvBPlHGaP29DhANwdPs2Xvv1q4jBoi6nmE13YU0heq/re3Q+AX9fe+Y5fOmJJyULSWSLM9IqyhCvA0evwO365HiNwX6SlWYkdtX5iwMtGDfuESgzKjGa0/3YDtrwVTP4qGW0jEN0gXhbMjDd7QDZ7UoZUUygOdAciWo0O9cEQkeT6hNYx8KKrOQ9OPSOhu+c7JfsPI9tB33lIAm18gP1GaUaS7ZH9XxD6c48h0YWSebSRiilAuccZrMZ+r5D06aWf5EdMxqL9z3Zl4CzBSbTGTzXyEen2uuN90H+viGA0nD/a1umLh6UzWgM75hM3GpNDoSIvUgZnBIokZ7shnSxgYl5bbQ9bwa2Pc2LIf4U9b9hgGaQrLwB+vIlWYmywKpritZaA2Q7Q8rDiYsqMs32RJ7TNG92UNKXQTG2VUZEumY4uzIUMnzaps3Zm0bb9VbOXgpoeAEttJ4dO8SBZBvbFjF43LpxFT/9yd9v7JO7Xf/CiG1icI3qcGW0LE9mDj2r0XLihkr5YAwgIxoaiRqtIv+OKuKPqh2JNtD4c/qKVIPAYxfhRg6MjSaRgZCjMkRZmAwlGQfGMNoYh1s3DgUFgkrNGeTnhyw72BgbvB/fI2AyqbG7uyNouHZqvdpMIOP2608/g288/3yKuDG6Z3TtYjLM3nzzDfzyl79C13SwLkVMUrpcMqQ18pqM1CxkLDG3Gp4BMVxF8opSiaTFuMZCO1xQjoihtFBDEQ+RLSSUZD3JmWNUC0xhzoa5D1KfELwfOKO5N5pBXSeUMW5BxmKMlD6dB5EjXDQL0UhSh/YXxwcXo/1m1PeGF6G/UQszzXSpBCrNvNmI/pNDY9Ia6ije4Dl8Px5v0C2N0qekvjQkdL7rekHhkxPP6cAOn135TND+aCLKqsC6bWBj6k0KJQ+6zuP06QP40ELltwzOHEZZFRq4EQMu5hZCZlBfrtZR9mdKcUFMbKHbHRxt2PAztDxS9gDVxoYYE3u4egc7qJ8erTOnt6teyDryzGyz+n1Z4WpsI5hM3BejDEfmImaPfRTn3dx3nBIcaJ2pdmBDnubxGKXAzVD22XQmAzJrohHTHuK0hbvwnWZoLBujnupLe2oj5H0v57gsS1hq7F6WhRgVvg9wjvqRSn/xkEjoeEMOyL1yNJ6JuYDUsme5XqMPAZNqgtnODG2YJ4OK2P4jUqp9RCa1ijGdg1tHx3j3/U8wrR3mxwvs7e/igQv3oy4L9D4RsXEKdYwBd46P0VP/vlTTnHrMdn2HZr3E/t4MTz/9VSBErJtU65pkXICJFn3vYYtMSjTbSdwB6/Wa+DE8+j6grms8/sQTePvtt4Xoad00qMoqAR4EbHoERAJVooG0KirKChc/+QTH8zlsYTDZrXF83MDAou06GGsw3akRghHSsgCDk8UytTDCGhB5nCIkZVmiWa9QuAKwRWL07QO++u1vYm//DCbTHTz62GP49a/+CT/98d9iNi3hY0BhHYoitbhzroBxFqu2wfLGTZyczHE8n2OxuIXFYok+BCyOT2CDI2fNIkRP7NepT3uj+sZ3a4+jkxM0XYeuT33Up5MaTz75ONi+TWnM3DkhwMPgs2s38dnn16Urc4wQosMI4uZwQFlVuH14G33XwdkZ+tAlmRY83nzzLXz1K0/hwQfuwfHhTdTOoSzTSQoqosRy2ErGW45cCXEMPPVuTu39Ln36CT5453089dUvoyoieucTIBkTCzO6DoBFWRZ48Qc/wp3Dmzi6eWsAwlqXnADvKQpLGRtMxBMxdALEFjAGxjraszH37GY5ziL3Lk4AVP29FfIvCxODknWqXaIqQdORY33pMozc+moolwQgBmdGaXtOyV+ruoRzXvQgnDt+fiadYkDSS1mJLi/JYCIG8nfTYUpOpBWbwURkWytP4+DKspDHmLNetD0WlfMIdm53plgul1iv15jUM6jmIeo9UjbJV77yZfzud69RG012fPwoIJD5WphPWPsbMOzQJjIlQy3yDGGsGawmGzO/mMrO0i9PtcoaIOf9o+y5PFfa1oUqP8ydUIxRgAA9XVN/jv2U/P4ZdJHngx1ZKNRG+TridGYOHMShzTp0yjd3AUdRJdtwY46Q51LZFwYGhStTGeMoUFMUuRxOWvsZM6jNhwasVGeK9IOgsiEifNdvrt1dri/s2BrKc2HDIKrC+LGgkJRalS4CQBr9iuBVhpdeVEmpGRizdGcl2LLzyT/X9V6j8YNlzBCxk91nkFLMwPT2HCHhPk9qkwqr6shQpFpYNohTnYVlO0r4DILU26bUuYBcc5xMACcIcl1PAEk/Tg6ZXhOjWu488eQT+MY3n0VZlVK7YElApdrHZGh89NFH+PnPXsZqtUhOrE8CwBUldNlnSlv2MkcSlSAQgvvzpjnZPEicXhJDQFAGPZu5koqkUpVhs5DnA52TQQyXjAxFM0UFozhDtBaICm1OfRRhDOpJTUzB2yOsssbM4E1GgxU21/yugeqKIjHOMbKPEKEZ6Lc+RyFrmueSnU0tJPOGRXYqB7UPRoSeEZmc21Dp95JnMgmDtTDRSi9grURijGjbdnDm+HbeB0ynE/q50K+ga7vErGyy3DBIUSjnuAZIK+WcFkyjTG+5tc1Pnk/+fs76GBMyJCDOjJxMBtOMGRKvaKBuMO9q7gyHWbOsHyDokaII3C5qAGqM9xelFcaREaP/3qhtV2Aa8w6A0voSyskvyAjjZsuCPJcmoeeRE4lpJSjN0Ao4MlwDPpiRmbo5TQ4Q0op8DlMLB+ruQ6g4BAViI8lI1Iflaoq++b5H9D6l2RZl+rda80A1trPZTFqESf2lAJlW9dhT2Qv6KNrUIovv671HWZSJDAkG88UCbdOhcgVO7+/h+uGSwIVUBC/rZLiPZ0DvPS5evAxnEjHitesTHB0u8cCFsygKiwsP3I/JdAfGOvS+x3K5wrppsDOd0PgtVssGbevR9ansY293H33X4/TpiLKucOfoDm5cv45pNUXTN0BZwBVOXrNpWxibSJ6MMWiaDm3X4+133oEPAZOyQtullkptn2S9Kwqs1ys0qxZt16FwFnVdoS4rAMDJyR0slnP4voXvAzlTBvfeey+ufn4Vq3UDV5Y4mZ8kkK10KG3EulnBGou+6eVsl0VB7XQS6GVNgbJyiCbimee/jaee/iZiNLh1+zZuHB3i8uXLqQdwZYlMyRI44+G9R1E6xC6gLCqcO3cG050pTo4XOHVqLxGAdQ2Oj9dYrDt0PlALNzoqMcC36wRt27Rv33v/Q+xT6x5j0prt7++lcxAikU9RMr6x6PqAP779Dpquz+cmeMABTbvGyfEhHnn4QVgDnBzP8eGHH8O6WSL4C8nRd6Tvf/HKL/G//Ke/wnRnD8eLBU6f2kP0KQ2ToyFDucWRQgVQGiJSZA6LEOB9h1//6hXsnzqF+x+4H1MLLJfzDGZTVoq1BrOdXXzruy/hJ3/7/2MeW+qIYMiBohYtwVA9O9s2yiJne2FkEJvNY6hsP/3TkQ1It5W+s2DSHZOzRxicp99npzCRQJoB4JsN/rG9SZcKTkAkFgsqivaSzPIkE9OUsGcdRVczsJ+nRqVZm0jkkBC5e7co38C5Uj8XOc9OCn3O9zwH2XmB0nGiawXQZMfCZhuYbc4RXw0A7O7uom1bLJdzzGZ7KQPJxMEzlqs5Xn/99xs280bcUQXPojA0KhIlm21Gth3YDub9x203Zf8IK/XoOYr0KTvCmY9B1iZGBeZvt+eizq0fYjG0/nevY06fH7ZDglG/z/szbLdLtC2pHeLRJyWoJoCM4gcaOvEmb3cMvlC+WnqYddw+dRsIsP3rjffnNaSOJaZwFCnmwn7dy/efv75wKjJH7lLfWru5GUcXR4R0CquJ2WAXz39gzKnfHqFRnDaS0gFzCs4QxRqOdxABookZOsUZf4J2spFTZWTR1cKx05PHnM0zY3K6L4jRFFJ/jOHi8H6yOdqhhQgjZ03TwvsgNbX6/RmBeuzxx/G9F1/EdGcHXd8nSu8Iir5w9Da1IXjlF7/AfH6M6DsgBFhuiO2c1ENwv6lxREuUUzT5PekddPw6zVEYOlYZhst1zColwVpLBDqQ9Gc5Q5FTL4d/jCJlkvGp7F2eo7ZNaLixFq4o5Nnb9or+njH5PX3IaamsACXFODCKrNJGx4DP6BDnqJh2WFRGyjgtkoAdqwS7JUCAU2+scrIESeF9bKD+5JQqfrZVUWZ+F+89uq7Lfc+o/pDP3v33XyDDkoAU4xAD4Exa36qeCGq+XjeJ0CZm8ixOO+d5ttZJ2QO/N6fNSsq6mjcjKTXbouCZ8Cv1YlalBNaplBknqYzjMgqjUEj5t0qj5zEYQm5j5P69GVDhc8zzrM9v33tKl9cZEsPWPGNiJ76vodKIQTkC9a+GQmi1U5v3Hr2TAvDALRfyUzb2r3aOM1ujJhwYfCn8BjAmnw1aFxbdkppH6W868yFQf1zvPdq2Rdu2KRWcCINASHNi2Y4ic5n51dh0DjilWIw39b4AUDoniDrP13Q6TYa892i7DjECdVnhnlMHyZGJET1lhUQAPvpUJBVzdooPHqdO7+O++87injO7WLdz/PGdt/H6G2/ijTfeRNumVjURQNu10leWhdhytULXe6zWbQYYYTCd7eCeM2fp/KX0utlkBlcUgEnjaroOnOI9mUwTOGcdgg+4cfMW5vMFvvTo4yjrCY5PFjhZLLFcrdM5rWoyNFJPXz73k8kEVVXA++TwTiYTLJcr9CHg8OgIrihwcHCAqqpRVmUCain7rywLFGWB1WpJqWnJAXHOoXAFdnf2UZQ1zp2/H9VkF4899hRuXr2FB+5/GL4LuHN0B9evXaP+uUaySrg8oCgS/fvuzgyO+vlWZYF77jnAAw/ch0cffQjPPvtVfOOZJ3GwV2FaWUyck9Y7AyM2pDKhTz65iHff/QCAQ13XeOqpJ6guLyL6AAclZo3B4dERrl2/kesKpQbVo+ta3Lx1k2RfgbfffhfL+RrrVU+kjQEFzYV1DpcuXcFvX3sd1WQHnU+1zzBWyOh4n8SoZA85dVlvEVuzcGYYAB7r1Ry/+dWvsG7WKKoSdV2nvRFydM77gOgjHn7kcXzla1+X9Ge2cxKZkheVwq3FRJ9vEB9Fcdi4M8DWIMSIuI/tQWPYEMzRTeS7ClC9YUyLHMx3HIOkG+AdhvISouvDMA0cWZYwiCYwn1HRDMvOmRqDcnSh5R0FOrbNTV7zOBjv+I+PIZUTMNysAkKc7af/DC/SXyYgRJ/XjPXDCPhlm6GqKkymE5ycHEs2lb6sIsCMMeLee8+hIJ0+cOB1nTbNXYzaJsurrnU1y3tD+9xYyB9rt9StCvlrtksjQ7wDxzg7czptfdOeyzaqioIN0s4Hqzj4N+teKyWRfF4ZdzGUij2wuzdS0h29tGa41usa5TzyniBaNPl4lNpkBnq1ixxFf7LPwoRed7v0Xh2WaW3a3dYalALM5vIBv8Fm/qevLxyxZYrpaHR/JfqhybWT2eUN4nhkg47y06S2i1F0nmhPE+johVjYbE6SUUJTrHWT1y7Ry+far/FhFKcFeg+me1koljxtsI1Z/MgogyCUm8srbKVkzPHXGsGJA1KpjBIlhywRO0wmE6SIa6qvCURiY4zBY489ju9+7yXs7h4Q4gGphYR1Qphw9fPP8Y//8GNcu/o5l+kRkU+K6JqYBc+fuqK8P6UBaxRHpVRYtmjGZywC0QeJzqZmHzl/hadyUxGNDheHZikSxFkmgwMTI/qukzTuwlUS1WGnQCO2A8XDgjTmg82flPuTHRCtoV6KRhSYxgQMIZhGBMMmEjuSh/m9kX8QQ8goJl28v71XqSSkILVznlHOXHMoLWe8juJGGUvvvVo/NkwgjuGnn34MIFLqM9sQtKeNxc50gr5tAKqzSBkHQyG1WRtvJY0uk1Fko2iIXG+SRm1DRSMozQ7bPzsglNNroZ1ClYYrNLgRMJJmz0peR7WH6TNRlU/ktaEPC6NokJ02ZvEcvBetCjNRg4wCXe+9od1MNqREVkoCY0Z9c0Rg81xwChkom8EY2YUZGec2V0a9o0n6g9Pl0z5JbLCOzk00OSoUY0DsDQwKWBNgXYGqnqQ5jamPrIFF4UrE0qMoCjHSdH1cBmWDKiGhWSZjLfiQa/+sge+Ao8MjrNdd0iOBUrVqg53dmYJB877NffpSVM0iMTk/cOF+XLj/NAwMlssFPr/yOW7evIXVyRyv/PwXCLFAPd0FqK70zJnTLFQQvMd61fBWgyuSpebbQFF5i7KaADGimlTMPoIudGi6FlWZiIpW62V6z9DBEdlb07ao6im+9NhjuHH9l6mW1qQOB1XhEHuLo+US+7s7CUgwBq4ohKiJNkASHh44OTlOrdOMwXw+h3EWs3oHVVmlOmCfzthq2aAoGLxKqZdlUaAmJuVrV2/h1Ol7cPXza3jqy1/FRx+8C9+tcf3aTYS+gbEBvUSgUm/XoizTOSCwqKom6NoO8CE5dQTS7c12cLB7gBgNPr14GUfHS9hose4D+phKIW1RinEfY0Tb93DW4cIDD+LcuXMIvoENAWCOEMfnL2K9bhB9NhKh+DXqaY1HvvQooilw52SJt95+Hx6JHGvdrhEjUJWlRB5DjPj962/ivvvuw4XzZzFfLHDmdC3yVYI9KsoS9TNJhgQxKQg8dEn2XL92CW/8/rf41gvfQ1klQMRHT6n1Br1PDPBFXeLbL/4Idw7v4NLFT5J9NK7JJDssyUoj7QulY7VN0cwY2W5ii1iVNKnWOhqY5rll6aNlIOcFR86SMUPOFnHoZHz5dzWAPLjnxrlWXCMiEnVUnEcdSCwSFwU7rOPSN2KZ5u8F1sd/ym7n0peBxbtpl8o7ROofann8mUwqd04A2TZJGDJ4xbbJOLqZn0UDoFYuUfq+AhUBJPOTE0wmk2S3qiQZAScMsLO3D1iHq1c/T/XIGAYl0mNZh7EtYzd0/BCYCDJc+QzbOnyqR6CBBn5jHCo7HWwbn7mx/tYcQNLphQEVo3TulkvtDnpaAmhtUaBvW9ovRvUM1s64Ibc0YmQaau9o8G6qhDkFv2J2eLL7q+dA2bTklwV2cNUzNwEiULYk+Tgmgb3i7YxBAgoUMc7N5ZNmMOB//vrCjm1qweMQQ0jIqBYSgBg0erD8NaNGklqp2MZEwGFIgpR/H4N7bXrt+ZmSfiBpKlHghO2/m4UUJ+OJMItIyLtzg49nNl7eqzHfxgzb4gyeqRE2cuQ4iqPRuWyMJaM4UmNsYwx6nxUJRwsfe/RRvPDii9jd3U1ENxFwrqCZtbIhbt+6jZ/97Ge4+vnnsDbfx1qDoiwojTZujFuQOjWHuS+0iu4IA99QAA4cJb4v/TsryDy/IQY47uM6mscoRoJywAeCJ7Pqch1eCAFt06BtO5RlBeuGUbnxnhgeyBy15jRPnqdAaVDGpLQ57fx6cnQywpmdYW4toXv26itQvXJ2njezFwYOPm0+Y420wfLeU8qvAnTUdpehxmH2iyFCt0gpOn3fp3OvBLdEya3Fzs4O5vO53DdHDtnY8LhzdARrLRbLJabTqZyhbVHIlLquAa2MkKb73h10GTilY/kTwiBlacMIwJClT5TwYB3o/Ux+Xn52+pv7h3rVZ3NI7pafyc+S2vdIJXkxwH8B+S3A2gZQZ6gVh46SaAefpHEYpaOFmM+nUt7ZUc8AQEr1zazAWQrk34/S6kvNk7UAmBcgR1NYf4izTgACR+I4mm2sJaDPS4St6/qtkZrhFRPjcgSBKpa4FKIYLF4BGjECq/UaxjpMZzO0bQuLHsE3WCwWmC/mCTzgfn4UFrOGa3flTild1RlUZarPnFQOp/Z3cOfwHA5v3EG3WqDp16iLXay7gOM7xzkKRAbqarlMhjLpoggvPbmNsej7HgWRyRXOwbmIJjQpotz3qMoqZzlQ9OLs2bMAgFdf/RUO9vdx+vQpxOBRFQ4HO7uwiKjLEpOqSo4+R0dcOrtVVSX50Ht436MoCxQ0vrZL/YaZ9KZZr6lmNvWgXDdL2NagLGtMJimDo+tblGWF2c4Ei3mD69eu4fSpMwgxoG1b3L51A4uTOUqX6mJ9CBThtPA+oCgtur5HVZSJdPHoGLPZDFVZoawKLFYrdH2fptQC587eA2cMLn72OY7ma7SLFc2tTQCliZBmb6Rv27bF8fEdlEVEaR1Fs3QvxpSB0ns/4Jyw3DLPRNjSIQB4+733cLxYkVEK9MGjdKkXr/cRwQO7Ozt4/vlv4ebNI0zrGfb3CpwsFtjf2RUG9bzvxXzNkS6DJFTYYNcGqE3e4Jtv/B73P/ggHnzoQXmX4CkabYvk5PoURfnOSy/h8PbN3MtY6fOBLCEZbpjfQEdLxTjO6GGWHtmW0rpuG7CXj3ZmbTXcYsTEgWxkpwYauFVgwDaDeZvzlINVpOOY2V9UP+e1GuERYVt3MDf0b6vek7EBAR31JQEcHRSBYrnNY84foi+Dbg+jXCfFJK11twRYjGJnGK2FGdlsHKThexWuwGxnhuM7J6ncYToFqxh2piMMPvzwAwmFWfYBsvZV9s9guSWjh/+tx5WY1TNHiB4jeIm2rPVgqumLzX03Bo0378FyNiKVbeqAFXck2aqlRlmGhgD9JOeg/Jyhvo+BkysThGSU/5Hrxak0LlK7EtHRvJ+iOoXaZ+ZnQWpd2ZpM2Qs5wDW2UfO85Hrtob9DoMqWeeYgEAaiZbTn/pnri5NHkWHpihRtjUIln58eESH9eAeswiZT9sMAvmewjqJ2WsAMJyihftQT1IqHsIEMMPFJxGhThzhwNvO96bmqHiwfkChGWqIIGmVsD3bmqI5uQ3AOn5s+l6OTaRE3M8LbtkEIEZNJSgnzUlgNcaruv/9+vPDCC9jf3xdCn0jOibNlan9hLI6O7uCnL7+MTz+9uJEVXPB6kpDMc6XRwOGcZ4SWzsygXcro4G2rWWQ5vYXdj5UTzz1UaxaZRyO7iiKRadyBjGCvU216nwhZnMN0Ohmk2nIPzDy+PDajajaSA29lndghYVZicarhM3qrIoWqIkeM96zEjRCyUXedjQPMY4hylnKkLM9zYkk1RO4UyInW6ZUxxkGKb1o8SJ13BBB7ij5aoG16ub+eK3YWT58+jfl8Pkgd59tGedf093q9xsHBKTJ21f6hN8wRT0N1UOlGnAoTYwYDtqOCQ8dW0Gc57zxP+d5qM6tNydy8HDlk45EMALXVBfQRZZ1uw3McqGwjj48bzwcFWJisbaPPzdcZ7R856+y88rtvVQpkfI1szsF7aqN4wyGMQ4dUvh05EkqWxQhnMDJzCuhRqXZMMMbRHOY0MHTPXM9F4w5A33epLswZ1SaKZVya57bt4GwB54r0+QFsnZg3DSIRh/E5SqaAjJsiIjyfdV1jOpng888uJ9Z8YsCcTCvs7+/COcCTtWaMSVEAZO4Iy4gRE/sEAxOAuizR9wZPPPYY3GPAnTvH+PCTi/js+h3EWGBxcoLY9dRHPUVPbt++TdkYKSLpYXDjxg3cunUbjz/+OHrvUdY1oo1YLBYoyxKlK9L3i+RwtsQSH/oA4yKcTdlAXbOCtfs4e+Ze3Lp5A5NJhXo6wXJ+AlcUmBUlyrrEum1xcnIy2G/cQ7dp1zBIbeXWqxX6YNA0LQDg1KkDAXqm0wnarsXZe04RL0SRIqmB2K+jR/ARVQncf98FzI8PcfvWNfS9R10W8H0Hi0QOdu78Ocznc4QA9N0aiFRuUFZwRcRi0aDrPcoiyWlXOPQ+YtWsUZYp8rF/sIeDkxMcz5dwFnARCeAgMhsEdRYBXP38c9y4di9OHcwwrSfSZYB3UWkdqqLEct0ixgQGaPmyXqyxXq9Ruhpv//EdxEhEQcHDxZQ5k1INgT4C3/jGs1gul7hy+RI+u3IZ/9O/+UucHF9HWVSoCwvn8hllWWBjtljjlpTVVHZpqKQM6NsOv/ynn+Hf/tV/wM5sBouAvm9SR4HoYU2P4EsUpcWZs+fxnRe/jx//3X9PgQOWN5ZZyEn3sGEvjr8ySkMq6NcR1ChnksFAr+Szzh7BQKYN5VYYOS0mG+LjliwMNo90hrZTtjnTxpFjxbI7qghZZPOA3zXrwuzAm6zrJJiSZSuDemasm8SO1vJ8aGvlucpcB+pthfiU78eyih12vUcAJvTMTtmGM6udSlL4QioJA+sKnLrnAOv1GsvFHNPZlJ6f64udNXjs0Uexv7+XAMzoYUzE0dEhLl68pPYAARaUMsvAp7avxMayluxG2hL8bqTAfdBKfPPi92Q7PdnFm2ReYgtxppfamKyjYalvO8+xAoz132IHDOy5KP3YYwiD9eTVTwEXTlWmriYyY5DWlMKDQ/X3fDDYdmFgYhCEGl08LgkeMoaz5fyM7S6QTZrXS21kMROUHafsJQ3M69rwf+764o4tHw5yGg3nt3Bf0C2HLCMQTDVuaJMGYe3Kk8HLsSmMjUntMDj0rdWFPDPqc6AQrhjQNA3KshwYuyl3XacNOnWwOS+fez2NhAi1kNCXodXO5FH8fTO8r9EHEDIWjVau12tJPzYUOUvPzeN/+KGH8d0XXsC5c+fS90KALVJ+vbFO2hasliu88otX8P577ycDkSbbEDPjcKXUIdNojZpn/W5BpQ1ARj+OZpmNv43azLwHBoghR0m517E61LwSGimOVLttTIpy9z7k3oZdD2sdZrMpqqqU9kqaAQ5yMFOqXwicbmuywtkCuASCIA3VGiEaGFcMes5ZmzlhB/tFIDquRKaoOM2LpZQugwwA5BOSKdr1PBtywA3V84gEiswkaAafTS9CzqJN0Wghz+m97LuxM8nr9emnn+Z1oPMr+0ORQrRtS8/NijKTjWWgKWWCQBTLME08Sm3J3QCj8ff532mdOULvxLHDQF4x4EHOJ/GSDJFf7mWc11BkD40y+DA6Q+SEOYruq9TEYbQlO9/DGjq9PzOwlOUY98rNkWEpf1Bn1dphCpexQ0NlPHfZsBnLOYp28vMHwBAbfCHXAYUoqXgFydxBFa9wEijFKN9P2RYMvLkiZVt4n+r6uq5DXdeUtuVQlCXabq3S3az0N4zRS89iaU1A47BSf0bgXuSepg6nT5/C1atX5d/WWsymU1R1iVWblbQ2oPiksv+fMhQi1qulZD2cnJygLi2mOzW+/Z1v4Sc/+zWWN1ZYr1bo2haz2ZSAruSAlgWX56R713WN/f39dBa9TxHRLsp81vUEtmtRFiVKiryumzWqqoC1wHq9SIBfYXHr5g0c3j7EqYN9nD9/HggRt27eQFmU6euj21g3DZxzlBnkBeyKMRKLM4i8K5FuTYj0kGVfVVcpmyg4FJMJ1uukk621aBqfaoNjim7b0qFtVvA+UspzMpp3d2c4PmrRhYjQBzz4wENYLJap9Y/vsFjOcXR0B/v7+zhz9hzuHN1B33eoJzswISO6kfpmTiYVzp49g+PlEserJQxSHaqJEaCSH1cUYsBzLXddlujaJjnj0qol4p7TpzCbzvDx8Qk/Spy6GCPKskRRlHj33fewXrWwxiWHmmyB2HvE0MNYh6oscOXKJVy7dh1d1+Hy5cv42pe/iscfvQ+9b+EQYEyRsptsNoRFjoUoJHfgDDZogzKzxd6+cRO/+eUv8cO/+EsUroIpgd508D7Jtr7v4VwNBIPHnvgqbly7gT/84XdD2SGAW4DlmnMokJPDjFGkedZPIkt5eA6GSZlUtHNbxCbLrTD6voV2NMZybHiNwPctjkckoNgAQqBqkEOH2gYV45zWQUiDBs7J6N7CRGwG9x7YkoNUashzzUgGy/trvSAElQaW7OBA9dIc+eU9rtvSpefqkrI4eD6voCYb5ECHdRbT2RSrxRLLxQLTndmAtyKQTH/+29/C/v4+2rZDVZZYLOb48T/8A957713aw0pfD7x73sEx9281Yozn7L4BKHCXzM0tc4loRyDp3e3aSLpQ2yK8f5N5MwIr7gKgmPF+QgaGtS9hLNkS/Lmoyh/UFmN/RUEjeS+NGLo1uVXme8nWjpRrqdkwoyxVHfzQA2G2ZjnHcpModqP+vbzP8302a8Hvfn3xGltQ3n6fWCKdarmjX4DlQuDUNjHZlFMirJUjR3iUWicvKxEg+v3hTqUJUqPgQxCSw1cVZTIyVFuYJHA9sXECkYwruZ3UefJEa7Y8Hbo3g3GPnbqxQ6t/lp0UI3PcrBuEECRtUwgKrJU5uO/++/C9F1/E2Xvvg6c08Rgjok8H0cEgmIDlcoV//Mef4o033oAlkqiIPtVREVoeR/OWx8ljz5FwdmCkGm/DOaA3MlYO9J9SKjrqNJg3bi1kLAW3NAMkBvdLUdrsCPW9F8M0hABbWJSuQFEV5NyNuOj1ehhDNVtG+oxyn8LIz+BaDWJBNIR8OsNtUvK9JdWZQRsxeofADSj6GnxixCaeSdWHjfZHiCriDGkllYGRXAOfWiyJSZH2r+qHGrlGVM2np56hERF9nwRiQSmFss7kgOzu7mGxXEiD8xQ4N2JARQI9nLVYrpbY3d2VFK5IbMB8lpIfF2FtEHI5nSaenVCIY6qVnd5Pd/s3O0fb0FJeI3Y6QanYEjillB8AygFL686OLvdoHl7JAbAm0Flj5DKlLEYi5ogcUZCecsP3lp7NWfBJdB7c3N6oLIMtFqC8L/1XG0YDsMpE6uW3RRmxjAA7yXEg1/P9co88niMz6N44vEJMbVJstJl4Kx1FrLs14BIDbiBnNYSIsizQtg18LGEKi7bvYMoSIaRneBPSXg6JZIoaQsiayz4gUy1QX2KDFFm1MPB9IA4Fg7qqUJUlet9hNq1RlyXWRCjlbJHqLYm8h3Y5QOl33gN918PHPhEoFSV6n/rzTW0B3wfszia4YeZoux7Hx3NMpzOpAXZFiclsBltUqecrLHZ2d1FVdXIsXXKEou9TRC4GrJdraoNDbeGsgS0cKuoNHWLSi1VRoWlamKKEdQ4ffvQR6rpGsBZd8KnFgrWoJiVcUaCHp9Yu1M/UWOnFXBQ1nNtDgMVqtaaaZ+JSsA4uGjh4BHSoqgLOOaxWK3RdJ+UhVZnSzReLE8xmu+j7FlVRom0aWGPQ+R6ucji6c4jDO4dUR2hRlhVW6x6tX2N1c0W1vsBytcDE11g260ThFDv0bQ/vI8p6iunODoqqRO8JgKDsH844kCgbtQPiFjfWcnZB6jxQWoOvPPElXLt5HT52sLYQ/RCRItZ1XaNtW7z99rvp9wxQFxaT2gkbeeEbWBRwRYW2WWPdNqk3sDH49W9+i0ce/o8oSot1O0dRlgiwcKZE8C1g81kOlDXBZqiUO9DZZZIzlksfvPc+7rvwIL7y9a+DfdB1swBSkyD0far5K4oCz33nJVy7fg1XP78yyD6SzFhqBciADmvvYFJv+hAiXKRABTDQGUpiKTWdnQSRNCoriIJj+ldVze52J2bwYZYL2r5jkJlmc+yYRlU6J9lRxmWQnQJBrDMhq6K4XbRBPzLmx6pkw1mwSb+znsr+HNdXQzJsojhXiSXb0ALr9pc8E8rjyCm/A92h/i05+DkCGKNKQIzp/ExnO1iv11gsFtjd2RGnDCbinffeR9N7/OCHf46zZ85TiVOF/+mv/gNOn3kFr776KylRsja1lum6TpiLLbEES+5ctLCGsgY0bU1MWaYUh5NuAgLIDxw51uW8L418bwAOKydOaBRHNn/QqdOicwhg2OZg69R64XBljcIOrpVSHybWQmTm/8z0nghB7eDeIFmNqHwLXbM/Sv/NY4qSUTE4pRs+wKavw4GLOGgTon5ni72ik2zHTu8Xub6wY5tfkhICuF5wUCs4RFfAG47HT9vRyaKHwWGWWio1MZF6b+nvM5ox/ByGm48MJsNouop4xZj7y3IdSBxFufMrsAMfBhtZuelbUJo8dvyJRZfNTT9mxs/ZbAaoqAn/SojA+fvvww9e+j7OnD2LSA6NLVxKxWJlah2apsHvf/87vPnmHyRNFZEYkAuVe3+XsebeXMOfc4q5CJIth1MfbE5dHGxicjCDEiZ6D+lIkZq5ZPRmKYFIbGmp5YSKJhJrKhsTBbEgCxo6ElB8cUTfqL2k0T+tVE1MQsXCEDPkFuBCoV8iYLJ2yPNFdTBG5if/3Kj9YfW4I+8gRsyzEybzrPq2mSIrL1G8g/oVFp5k+AQkZ1392JiEwk4mU+zs7GC5XMjcMNDB0QN2XgMx65VlOUD3NBpv1ZiZNCqjg5n0QlBDm+ckUkZHPvsZMBuCSpuO8GC/EmqkE3E0ks4gDQ/VKAZp71mxD+6aHUNnxNgDOLISFXOyAtty2EIZOBEY1/dQ/Q3tVBgTiVTJDM41sHm+QEaCXgs2ELkGxozAOg3wsYHEeA0igxH8bCUP9VPJ6eU5ds4RUKnaOuU7JKIJZjI3SBHZtkNBdZTGGLiyIMAGmO7u4vjoSM5tDImoKqUx5z2T3yfLA0MZDYGMMY5CTiZTVFWF2XSCEDw5ZAWKokDhAvroMZ1O0XuP+fx44z1673F8fIIL506jb3uEkKKQBkAXe/S9x3zRoCxSJNXT58/fdx4xRNSTCfqugTEW16/fwMF+AjwPbx/i1q1bePTRR+Vc8ZiNAUIXEGw6d5wxUVDPX+cKOAQ06wZ9pNYxxA7eG4PFcomiKGScVVlgUkySrA2eGKcduq6lCKdBjyDpx4ainN16jb7vk0PXdYAH5osFDNUIex+pXIbqnKl8pGvbBGDEHgYRy+USOzs7WK1WiZiL9q4n/VhXFearFappjdCkyLwP6RlFWaDpWnJNA1rf4vbhHdTVPtb9CZrOY91m8Dakhs6Eqxj4PoFG1lnEEPDeu+/jyScfwsH+nkTPLQxO7+/iS488hKs3rlL9djGwElPLvRJ//OPbWCyWMKZARMBXvvwU7j17GoW1KIlQ6/j4GJ9evkrEc6RrrcXn16/jD2++jeeffxp9iDg6Ocb+7n4aA2U4jA7+wHHJ4Ss21FnGJVvpd7/9De5/4EHs7e7AuQLT6QRd3yUdFwL6PhEwTiYTvPTDP8df/3/+X2jW60E0anDmuX8l6yr6mDVRQK6AoVOkgTn+3obcZnkuzozCjpVMysZzVPohypnXzjODcONo4DYbSb6rUmKtsSiKCk3TKKc1t6FLv5v7g8u4FNidorvMAaBf9y7OucnDzIAiP3vbx6LMMYhgdTNKZzYekce8JUIMtaV4nlm7hZyBNJ1OYRpgPl9gNp0SCV0CtT/++GM0bcAPfvAjPPzgQzDGoShq/PDPfoTTp0/jJz/5MVarhdhvCcyKgz01HFcmLzOG31fb/Olss9rfrudyL1szcPY298LGsiiGZGPyfh2s53hfm+EXUQqSh3pbt6mSM0Cb3vD+YntQFshQ5lJIbdEoW1FMcqRSThMyErAlwAzQmg72zBgYH5Fw5s+Y0TxGdia3zt9oUrba63/q+uJ9bOWhEJGEmBp+xxizAaoanG84T4EiPnnFZQK8/9Pe+LZIi548QZ/IsEsmupEe2aAeY3IKWa5Y7sHEpDnMIMupO+ltrfSJGvbKDRQxYeQ6KANa0tP40Fmq2KVIae4Bm2pqu76nSC2hL3QKY5+iAefOn8eL3/suzp07R0ZfaudgbXJsfUg1s957vPHGG/jNb34j9U1cK1CUTgyguGWfRJUCajkCSc5eiOogUYou100rcTYwFrUDwxuIa+nYURuSOOVDxahcZi/lHlw5Ihl8RndS4+ecTqtp4KEOzNjp0YbVtjz+QDUOcRRhNtTOIUOkZnCwnY6usuMJbWBDzs5AM1MOI0fEjHasoDEVnqi0yTVIwr/PSL2ufYcyCww/P0Q5j33fSR03KwdjqW7QOLRtj5u3D6kPM91N+h0TDxHVka9WK+nFnFt0jTaeT/PQi5JSnzNAsAm8WK8aTKdTWI6qRz6PZsCCJeKFItiC3pPSB2echCAJbDnFeAzYaGd286wMlMwI2c2f4Tg/xBgeo/IMDKSooYyK1mx7RCNR9FtKH+DvGyWjNgnKtu172dOCjkQVJTaACXK6E+tojlIHKEIt1QJsgGqPjET+uQAFhvslbu6NlH5k4H0vbX7W6zViTARpHbW0KYoipXTqexOjIqPgQbU0MIYyFEwxWHNjktFjo0HXtSgrB2uBU6dOYb1eo57UWCxWMHDUr9hhcTKn2qMRyEkRvaPjOfWItWj7gLIkR5RYx0PnU5mPcylie+eORFqjEOCtcbB3Hsd3buHUwd7IIOUMiWywcMmF9x6LxQLOWjjrEMsKPvQwJqLpe1ib+t62vsH6cIWqLFMP3vWaVGQkoigCL0xi2i+KCm3boe8DHMn7okjkR+uuJQc6EXb1bZ9SyIPHZFrLOgIZgKyqingQpujaFr0PuHXrFnZ3d1FNS3S+I8Zqi6bvEUNIbYiKBGwURXK0q7rEulknEqbOw8LCd6l2ryodou/x6ceX4IODjwYeDk3bSnoyuEUPRXh638ERgAlvceXq59jdn2J37yAZ0BEorMVTTz2Joq6oHg4EELJccojGYd31+OCjT5BwzED1iAEPPfQA6qqEIwZb5x7EufPn8evX3kIkDgkTgM73+MUvf4UHHnwA957dx9VrnyD4gFOnT6FA0okm+sHZy1dg5JP0B+upNA5rgPnxbfzu1V/hBz/6C1hTwKCHCR4ePZUEWVgkYqx777sfL7z05/j5T/8BEUERGZERLTrOEQsvR24NgskSjvNFdZTIqH9rkReHYmQgO8XSFEEVhlwWI+dFxV5I/9K6mQzQ5uBJdroHspOdBpLxbbNKulac3WHrRpa/rNdyKqgGHkQJDoFqbb+o/w7mIQLBG1XmlrIFjIT2DK2VTk1WY1KgIz8vRTazPWWMkfJDrneFsmkELJQwViKRNMZgUk3hTIHlcoF6MoFzqRQBvseVy5/gv/23I/zoz/4CTz35VAKSEPG1r38DBwf34G//5r/h9q2b8P0axkRa3WTjpJZwyP3LZR9iICd1NwIOzsTgB2CwthHz7toEF/S/t9k0rOcZ4B4EOgREzjEM8RUGmY6UdWeMgOAhDNcn35OzCOnGgUEtXhIvOJvYJwT+QrUo3QSScv1y1BH6Lc792MmVcXF9dOzh+/TWKdtnM4ipbRL99d26Q9zt+pc7toMNMDSO8uEd/xYvQhimGBJKpY2sbQd5vGk0ARD/nCMdhshn8gLyuRuLGEZlQPci5yewIQqKTFDaBzGDQT7Paj8bxJF2To5Obh6AIM5zMq59SDXAfd9jMpmIMQJAHPHgPU6dOoUXX3gBFy5c4B7kVINKm9KmejIfAj784AP84he/wHK5VEgkqPefHRDDbCIrNKc2R5AkijmOaPH6WSv1qDy/huo2RaFqsh1GsGLeT8N1zggrYiL1yGAzkcdQfZcIqRClQTzvkYLS7jbBkGHkbUNJkILh/WHA7HT5Pht7kIyGocNA0cgBtTq/4vi9zeC86M8KxkKQLKeh3A2/Ihc1vbtPkRwGVfic8D1CzChreoaX2jl+pisc6qpEZQvU9ZScFYs7x3cSczfPEtXd6RdYLJc4e/qegbAaX0ELYUXswXNgrQUKg9nOLMsJNUFZCCLvGzUT6f8suIOcCb0PoZ4/3Cv53uN9NGR2HssGPQt6rSER5iHgQqRD1ua0Z6uJ3DIAxPe3dOYjpf4Oz6AVkiV+xtjh1t9nhNqygzmWuwYbqVN8DqxKl+KPCDg2IKHKMl4recP1VlBniu9DrVMYFCmKghytNvXnpDTXSOzxwXsEWBQUE+I0R05ltjSGtk2195EofjzVcnrKMDDGoG3bgRGcHM1I88roedrvhXPoCc3OzOJ0JkLE7aMTxNDDGuBgbxcGgCsLuLKEQ8Te3j6svQUgYLlcom0aVJMSHUXJ+r5PzqMr4PseZ86cwc5sh6Le6ee7s0mKzhrqKeocyjK19unbNjl7gRjUCeRp2gZF9DBFIelyfd/DEUlX36eSlvVygZ2dHYIbDSKWKAoH73sEYkJlWatZwYFEWoUY0fRtJq+jvdN1Hem9AOcq+XfX93BFIWnKMSBFt5cLLJZL1HWNmc8tnhjA5CgR1+aCAJ7COVRlibNnzuBbzz2NS5c+x+Ur1xBRoHKWAFIPY0upxYakP1rE4GltgduHd9D5KD1L7zl1Co888og4KobAW8mniAYGDu+8+wHuHM8zwRrzD5DTlBzbxA67M5titVoRIBDQdW3q59z1+PWvf4v/8D//D9jZ2UPbp3aAnQkorIMN3NuTy730+WN5ODb2xXrBB++9g9On7sHTzz2f5rZPadu998kW6g2cdUCIePLrz+Dq9c/wzltvZAdA3CUx6/OjQU4jCULWU5vmav7NrBsxiEjr2HSWZTZnmm2xbbQTIDI3qtxZ8jKyk6x1snZ0VDrm2HygdmXiGG91QfUdN/Uhy7+B5NxSb7vNAIgxCv3wUHzz+2bnyZqs+wb3/hO1n2KTINvVUHwZOTqfyM0i137GlBZZOIfZbIbVuoFzUWrEEQ2Oj4/w93//9zg5meO5b34TRVkCEXjwwYfxX/7L/wl/+zf/DZcufUJjs+KoDcABNd9a540JZA05i8LaK+Ayz4/Wk2N7kecMI3tjc+4kIDEgglQxCXr2uE6V7w1VsjW2nwZ2j0kZmdlez2dI61Pwto7DPR51dt+G+aSMV7KRxvvlbt1gZK3ohkwfYiXIsOnfjW2U8T2/yPUvSEVWCIEANBEB+oVCruGQwaSfcW2Z4Vq+UY3u8G9mbzOkbIYvN4785FYdySn1PvfaReQ60s1JGkw+R2BV2w/5uQ/iDAai345x6PhFTnVAFHIBnbQeB0IlKR9PfWr70KOe1IA16IMXo5IP5KnTp/DiSy/hwgMPIcLAA3DWoTAusSgSY2/nAy5d+hQ/+ck/4OTkiCKukJSPoii4T7iQFI03kFUIpZ5jT6QnwQgmy5tC1j5qB5TmAnbo9EGOUZQ5RKZPSodcCxElNLOjaRFtRPB9SnWFJ6ct3ceRkTV0PomMSfqg0dqN1nu8N0wgwhleU8Sh8c5EV+SAMcGEqBJ+tqR+hVx/E0CMrXl7isKIQOBejZwtwOkHom8ZhafoKhmm0u+OBa8wB8pBVuiTdtaS8Ug7Qdp1/OCH38c3nvsGwPuurHFyPMf//f/6f0PfdTTHKUoU1L7p2g5lWaee0qEfgVfKqTObxAeyDjCIngQ19QbUPNNG5mEUAZWsCY04pvskxlkiK5PfYAcIeZ1EvmTnRislbRzpPSrtjExqM6Md5PQZzuDI87/NsIhhaFCMe0wLuKgUqJxpJWc2evTKecDQRIwZxee516nlnHqXa2Wj9EHUJFLDdUxPsFBbbvC+iajH2My8zc/zPmC5WMICKAzVP3Z9SpF3Dn3XI/Q9rA3wvk/RKjrTkdrxCPDlU1SJ5Z73nQABmjyFs1S89yjLEn3fo2nWuHHjGspygrJK8sYWhlKcU6pz8EyQaKnGP8r6HN2+g7cXC5jQY1LVmE1q7OzuYDab4MKF+1FNKxwczFA6i4ZShO8cHuH8hfOSnogArFcdECz6LqIuKthJmsO93Rl832L/9Clcu3oN1lis2w7WFagnDlU9RazJKSdQ1AdQpo9PKaZ9S+2qAIQO5XSG9WoNRI/1OhEllWWBpmlw/eZNnDp9D3Z3p2hboK4qrNYrNO06lYHEQA51ioLaaGBsgbI06H0HE1Ptb/QRu7t7cCaBo13o4IyD99R+ySUwoe8SeNa0LRarOaqqxt7+bnIKux7B90BRoHAVYkRiCw4pAs77P0aP4HvYEHF6fw9nnr0Hj3zpYcyXK5zMT3B8Mscnn15PuscWCHDSzsIYR1I0zfftozmuXL2BLgLWAV/+ypcwnRYInP7IziPteUttqq5cuSyErJaiND4APho08zkO9nfgCouiqnHn5AbmiwWq2R5MH9G0K/iuQ1VN8M777+BrHz+Jxx9/EIv5bRzeuYO6KjCpK0zKciDHrPSZJlZ8w+iaAq0p9ZWkHd5643WcvfccLjxwAUVZADai6zvEYBF8ygwDGevPf+clHN0+xLXPL8odnFQWR+0CZpmVPY+crUTZDdJCiwFYBjtH8g0cyVI2JpfYbHfMtE06klPUfiaqqPMgoqsQ+wim/IhUV59apw3kNIj5OXBkjmRjULKVZEMgwCTXe0ZptcMOCztGTPR0N0c5T22SuLx/I4AQGegJ8n7Bh02wUjlC3HwHgfUad0HhcfI7C/NIGm+OzdP86tZyNnEGTCxWqxWWix47uzvJBogR6+UJXvn5y5jfOcLz3/ke9vdPIcSIg9Nn8J/+8/+Kl3/6Y/zhD7+j9qNG0mzBIL34+0N9t83JlQgu8+dwLS6YQdgKt052YiH3ZENM7zVxDqE4hthoUIGVDJjmdH1tlkWZO8i5Yt9H9s8gwq7S24UaaggbZf9JObrZUFQEkzlwZwQwionQTQbFf7QuH4I5yWSOMNHL+IcO7/AaO8TaTtwa+PkT1xdnRVbRBTWVg82zLWLCghM0fwkR9xvRT73Z8iakHk6jSWDHlmsiY2RSo4xiBWIM0+gHRw/E2Bn10tRIjwx4cLEhSYJnlG/Op8IwuQu3RHIjA5TSLLqmR/CJKMo6zVqaq/9PHZzC97//fTz66GOIxsq7wFBfQ6qVCDHik4uf4B9//Pc4PLyd2lUhpVYVhU01XINDufk1BkhgRnsGawyjuZxEkBvZzqO6T52arVIg+H4GQks6iO5EvXd4D/C0wCOEXlh7I6UCpXrOiKIoN1KQvWdm1KyEUppuSvcwhCSldBaqdyHngg81v/A2BJCF/cBf1NAXpQFlHA05tUMtQZ5FhZSpFGYGR+zgjGGwbzQwIud125qPFFSMQSJDfJD29vbwjWefRV3XqT8j1Tq+8967mC8XKMW5C4P9YozBcrnCbGdnmFqsxjAALLZEdDkjgM9WUpg69daTIhnWTw0xcu2U0ryHuyOCuqZ9NG13RQz1ewycd5OfpT+rAb+8ELkEwCiG9iFSPnRWo5DDDBXf3d9Nz38YTFVGfylqG8PgXYyhc0Ip3WkP8irx+b17ulCWwXYwT/zuRuzbDAw4m9IYg89nzXsv2RrWWhTWwhUpyl1XJaqygLOOIo5Dw8YZbtEVUVWlnDQLk+pC0+YQwIKjgcYYHB8fY3/f4c6dO5juzmBdiooZxyUu2WDRewEE5FpTYTKZptZ1wePmjetYN2scH5+grGqcPX8erqphWoMueFy/dQvn7z9PhmKqBVgsl6gKg/lyiXvPnIYxKV35ySefQFkW+PzzzxARJaXX0FwnojJq0Ud6w1Nf7qIsaP4Tg/zJao29vT1Ya3Hq1EHqAd60qKsaEZEY+3vE2FGU1Yo8KwqHllsMFU567MbeC7lUhZQuGUKK0AfvEXyXCBBhUFSF1MUZi1TjSWnlOzszHBzsU/pyaotjY0A5m8rZ6al+1wIIvocxhRCZ9X2P6D1AX+/t7WC2u4MLF+5F27Q4Pl7i9vESxjlE62ATuUeyWUS2BTSrJT74+FP43uPg9AEuPHh/YsU3YzZzKr2yFp9++qn0/BaTMCb2eR8Crlz5DPt7T5CzE/HGm29ivV6hmnHaOYgVPDlDv371NTzwwAVU1Qx3jm7iYG8PRZHTeDUwx44tkIFpaCI9JYUMEmP27197FafP/ltM6hqxjWjaBsY6tG1HOrZAWRbY3d3F93/wA/z3v/nfcXJ0ktaOnVFAbDBEFT0CyzKtI7dc7CuNZO9QLm5Aoptmm76lfH6YBjwEFjcBTJbZ25xiBpaz8U2ZbRIIHjkZg8y38XM1p0Q25ePwo+LUZKBAW+VG2abDGtrxPOY1UJ48xs9JTnmIkUDhkU2kmIt131Zed1WII1Hqoiiwt7eH1WKO5XKJejqhII1B1zd4/fXf4+hkjh/+2Z/j9OnTsNZgNpvhL//yL3Fwah8//6eX0fcdlSXlmYp64PxETvtG5ubh9R6kJwdIVk8y2Yx029gGymqwO3dwGF1x/KUR5zLreHaEs00YQaCOJrxVezUBLMOBDSwfNWj9fQYtxozIWndxVxBDPkjQJU2ss+92bOlhYuerMzaev3/J9S/9nS/OihxYWVvZrDlK8M8NIkoNXLzLi+pNYVTht3XjTYWEAFFBsjgUedsMUEFeSEYEud7OMrJnIM3GWZpxjQRHLeSQUKFiQvd83iRiEBJWxamqilyAVzzV/ZrEkuk7VHUJwMD3eW64LnJ3Zxff+94LeOLxJ6lGOG2qqiphbYFINOwhAp999hn+6Wc/xe2b1ymampGb0johyZL5oUOho9/jgzmM8EDqzzQDurVO0vG00mCHKrWfMZml2Gr0jhRv5DlVs83EE3zAByIrIEQmIMmps03T0Pw5Mua4V5sdpJcZY1CWFYqiQNOsxbA2xLJslJKKJkcDI4ElsgcRE9hgragty0pcCU4ZNysQkxkNNSCQRZ/NAIM+Gy63TAjMVCcCJ7c80o6WCJm7rCmjHT4GdF2nCMvSnn7yyScxm+6g8R5AyhBYrxu8+eYbMDGo9iZDhzkiwvc9qqJIERVy7JMPxGRPmT17PD7wjJhMVEZUTfJuUfreDnat7NXtBh5/b7DVR86WUZknec+M961GLNN5z3VFIHnBazJ+t+Sgb0ZSY9T1/CqtPWiikXyFOOxxpx3U8bittYM084GM3DDutrAfkgGxYXZxWQ/iIGNBjGmk/pnQTr+MLTNCJ8crp2lHgJwYI6y1k8kELZVuBHLOECKiDyhdIiRx47bjSrZZSpOTnrUmorAOwUdhMub9wRGcruswm06xv7+LOyfHWK9XKEuXOA6QWcPZ6UdI6dlMYm0Q8Mw3vobT+zM4cSwiPnj/A1y7fgNdB1y5ch22nqKop2i7NW4f3kLb9ygcpVQbg/lqjVP7M5ws5jh9sJcddpccjv39U7h5/UZqFTetUyuddp34GPoESsGmWs1INcClqwg0MqicQ11X8ES6aIsCsW1R1CWKukD0ETt7OygnBUL0aNsGVVWja9eYVAk4dS6dc4uIsnQonYGpa4QY4eFRWAdPDMNd06U+l/MTHJw+lda76+FgUZHDPKsq+OBRVRWBHinjwgeP2aTEerlG9Ams8N5jOq1TrbGx6H2fyMOoXGdvbw+Hd+4AAMqqQtd79G2Lvo2YTXdw9p7TODxZwvsAr9r2cS/r6IMwtN68cQOz6RSPPvs0ykmZMq221Kfx36tVQ0nv2eFjZ88Yg2oyhXUljHO4ePkSPvn0Mnxv0TRrdF0DVyZCHYPkdH9+9Sr++Pa7+PbzzwDxNlZNi6lJa+mMAaIXo92qPtH57JODwjJZRFqay6tXP8PvX3sVL37/R6iqCjEGdH0CDKyNMDZI7/Iz587ia994Fr94+WXSXCq115rUi9OkFpHBADnmmEERkbvShkhH/VJUjYVWzviKKqKD/HODQeYg5H58ps3QGRInfwxqjuxYk3WCrOwAvLbZgTJ5Lq2KZrL9KZ6zqP84mAOwU8bZwjaKPcDmgmZx3hxrEHA+8b9kG5DfjR/Nzq3RHB4S/cZAv3vvBzqFUCiR7cnG488r2JVtzxGQMtvdRbNeYbFYYDabwZoAZ1K2xMcfvIvlYo6XfvADPPLwQ7CFgy0KfO/Fl7C7t4cf//3fYb2YwzhNsKoySjVwy3/oc7q1Ia9jJG6JGHKaPJPfGvW7GejIezdlR2QAN/3ACAafS6c3SS1BjOGQqH4cPGtom7D+0C8J+b5VOjrQ/Y0xw77TG3s77z1xaPVPx7Wzllc17/1sb6kYsfB25PtsPnv8LMi9/3m/8u7XF3Zs2QNniui44aQO8AJVfG8p/ZupxYcF3M4V2w8m4mDR9KUjCIQDquhclhkyPO1wIbPyclRlk6lVLYZCxZIRyQohA2WRU42NRTA2R6hEUBsRtjBA27RouxaTqk4KeNQqhNv9fPvb38Zjjz1OSraHl8hccjLYKbl27Rr+4cf/gOtXr7LbLfdylkg8kPuZ0ctuRBe0IxQHsktL++FR0ksvBiuGf/M9xmie4X6vfPip1hLMeiuHG4IoxQjEYGkdvBj9XZ9SYouiGLIgk4GceiEn45hbS+gXYoefBTc7TkFSmONghxuRAOlvNyDAMjCcBqkBF54stQ4awR7MMSNfSEqGDf3IDmHkrIB0vlIULVB5jRk9c0v9BL0NE2BFTwy0SvDVdY3nnv9WivIYA1Dq+1tvvYVbN29K37rxPrDWYLVukkEUgtogLA82a+T5bx2pjNxHznjZs4YyOaTh94ZzlueSgbhxP1x2pvPcbxJE6Z/JstyFAwB0ZlNNUV5Gtp0GUU8mkxJCheFzxvfXc8TnV4/dMoPmyKge/y5HwST6r95Jns9AypbxSLuQDbmQSNIstYWKMRJpEyta1aoLm+BZfvfs4Er0U9Wr5trtnG0j0d+YykUG7bFG62itQfA52m3JkLGKhwEwua1XiFSjCkynU+zszMhJSGd9ZzYFwqFkFMnZZACT70tZhmVRYGdnlhigAcymU9x330u4fv0mDm8f4er1G7h1Z47CRXifUlfbtkW5M6UQWMS6aQCzC1dWcGWZwNXAWRaJdbes6pRyS2eTSbeqskTTNLBFivj56LGzsyvr4azDpK6xuzNDiBF98GjWaxTOYb1u0cSAoiixf7CPtm3o3imjqiorWGfhSKdy1kfwHl3XoXCJGGrdrNGEBtYWKFyS0WVRYG9/L7HJFgXgUjuKJJ8jbFWiadMacnpzWVr4dYNJXSP0KaIfuh5lWaIsKvgQ0LZrFK5A2yWSselkAudqyXhZr9douw5d7+FcIrTZ29sVB5YBi0gZWDCJJMhKe8mIg719nL/3Xvg+oO9blK4kMpZsdhgiqnPOwnhKUZYswwxEnj9/HsamVkJ/+MM76Lsk37uug+/T+pVlJeB6iAG/f/11fPnJx3D69BncOb6NwrnU/8QVihVWn/Uge5JtEWNSeUbmnyND2/d4750/4uFHHsOFC/fDRKDn9laVhfEJqO2NQVU4fP3p53Dj2nW89857cDa3y2G5Zw0ReUrSqiJRhGKENwo4lzOk5BqykDbEtwFtTMvF4JR+f6ivh7Iy2T7Mwj+80xB45IwVXmN9fx2VVe+WJZcSecNWOxiNB6M3yrJF6W12kAe/B9FvGnhVyggcjDFiEec2jnk9MsGqOOpgBmqdBs5OSB4H275crazfU88BRwTryQTGWcznc0zqCSZVnaLBEbh29TP83d/9LV588UV85StfRVE4xBDw9DPPYne2ix//3d/g9uHt7OyPynH0DA6B683ou+hoA4moDrKQVFr6EDDOy6BtQH5SpCBEnqLNMeRo8vA+OlAytsO3X0PrfGCvbvv01gwybXzm8eax0oijPoebTvP2J7KpsWmD5L20fcz/hzi2QVrjbKaWjqN9xujDwEZL3CKALBkbw0nhe/pRG5Xc75GEtMnRVzBSGLPhygZOBLEfmxy1lHegjSup0Jw4EnM0i2sphwiJo/qymBELqqtL/myut7Fk4EUkB6xpmkR5bm1qJxAI2STgoKoqPP/88/jK17+OsiilrYejVCdrHIwpUNoaxydH+MXPfoZrn11B5oTLKdJpWof9O9k5SJEFRxrYp88F3tRcH2DJONPU9XwAoyCgupYvEbrYrcojRVFpAyPkAxStmt7Uz1VAhJHToqO/zjl4xZJZ1zVF8aJy7YxKCU3KvW0pghFiitISqYlOTUks0I4iyflwR0Hg8gHmV2WjmaFOY9J9YA0sqB8uxmnMMQsKzoLQaU8MCnHrJKm/cKIE2SiwYKY/m1lhlZgN7LxSj00b0tluW0/tN5LzGYzDw48+jnP33Ud949JsBh/x1h/eQPQ9nS2d+pSV3vzkBPsHB9SygqPHDLkQMIM8Z+MrrUEvysUHL5EY7qMatrDzZSELiq7oGg0MlDB/ViKuMFKvG+MQJdV7eLBsLKECEUunJEiqTd1Utvndghh0eeNTqrWK2PJzkmzo0+eoNnsAVKk3HDrSrHwCmEuSWV8xcu75r8BvlZAdYZ5mIhDeB9ElIy94cu4ouyEGk41VicwH7hpOpJrZqGeZLmUCxiH45Px72me+7yl9OGWblFWJyLX/xgDOop7UwozJlxXWfuZqYKI7MvJ53xIjriW+WmPSz51zOHfuLG7dvIm2bbGzO4PvPc6f2sPN0uJouQRsmZyDEIABmRYZIwEUMU01ps4YrJsVogkoa4evfO1JPPTI/bh46XN8fPEqOqS04MV8gb3dmUgL3wecnKzgXE0RzB5t2+DG7VuoyinJvgJd36FrG8x2pqhMBdMBs+kE0Xj0waOaVjAhojAGoeuFdGkVGmnfYp2FjRHOJCKuaZXKZfq2RehSuYdxpM8NtaKyAa5wsK5A27RwNRvtPNcBzli0lBlSVRWiCShsCdN24vK4KmUzWOvQdx6+D6lGvygxqyfUl96mennjYAuHnZ0daWPiux4IDj4C1pRANDg6OsFy1RJTder36KyBKR3xckQc7O+gNNS+zSbeiqyTIoJNhoShs7CzN0O/7jEPJ4DpgbqCCV6Ca7zXdyY1prMZPrt2VRlvRkDcgIibt25hulPjxtWbuHjxsrDKm5B4HlxRoSjLxE4dAnb39/HUV7+Cd957F9967llM6l3cvn0Hu9METlhXEDGOEaDDGEO1iSQVmeCKeEwGtbYholkt8etf/Az/5t/+O0wnE0zKiL73lD0SCGyPCLZEWZZ44Qd/gZs3DnF484aq18uIYeSMJ2V0mw3xIy4jINJ4iJ9q2WjJKQ8DO0FnyckWlBYxShIP9IDY8wpsFltJOQkxZBBwMB6TWyQaAsnYjtxwTPiOUgcb84tKamo+X0ynAU6fpTIXnj9jHM1RTzot6wIgV+9ICSAfTZCMz3CDmuQ4cFgQc9YZwXeUkadJqEBBoEj2FHLZCy+jzU4zf7+sK0ytwfpkBRMNyppqeiNwfHgbP3v5p5ifLPHsN7+JelLDh4iHvvQY/vP/+f+Cv/2b/y8uXvxEnEgGnozYpwQFmAS+6RJK4cPQdoSJoisClS6M9XfeN3oDZ32tQl8qU0Ixh+sI/SAEoaLmsh91hgEflDDyR4jPhm3fUQnU4D15vwYOyKnSdiKQ1KnzY18K4osxUL9ZO6v/rf1EwvOTy5OnaDC3mbjPbvzsi16bvU3ucm1GAIaIgzBBxkgEMtR6hVgm9R9xjlU9wWDj8P2CEdayLKSjIKmMjBuV9x9HC2E4nZiVjbV3jRwI0i/ppooYSt17ZE/ibpEoZifkCEYiIklIczJyEtFGtNQ2KEYUVYlvfPNZfP3pp+Fcgc736INXrLypD6ExBrdu38Q//P3f4+OPP5JDzQNKvRad1CFvXDR/kQXxJkiYUb1BeiuUQZr3ADuFzjkiCwoCGOiv2QHDUBSklGImUhjtMe+9itwE+XcgkhhLc1+WpRjHfJD183kPp3/n6JJ2Zvkdozj2HRB7jTMOFl7vDy04ojir+fQOkdPhfEdJJdbImELNqI4jMOGVijLme0QljOLwrMltmJjHixDxPlC9cr6PMQbPPfccOffk/BmLy1cu48qVK9L+KcSQgAVVDiApzQqoYiIqcYDjcP70O+jxs3Bz1inHBzr0LOttbN6HvEfZoBvsaR1ZH7W9kbW4ixDl74/3tfwer3+IIvs2EH/jKFXOwqCQf/MKaUXLsm4gX9XXedxq/yrCJzm7GlmPXM+T914GmIbrFYI+F1mW6vcJMaS2NZ7HGukPjxPyDl6xmYeoGtiP8F1uCZbGQulvtC7ee/Rq/zIgWJblAPjK8xUp22ZoTcWQwTq9Z1iWszyr6wn6vkdZJVK6+XyOnekUs+mULY/Eukz9EjnNmZnZAeDm7UM0bSOT7n2Po6MjNM0ai+UcIQacOXsPqtIBVFc8n88HdXEhBHz22eci2zkz5fLlyzg8PIT3HmtK027bFovFAqv1Cl3fY75aog09XOGo3rWQqOreXqrjdNbC+yAM27rGeL1eY71ao6oqlGWFyWRCrMYtuq6HdU6YiAvnUNc1YogoyxI7sykmdY1JXaOqSkynk1QDLPsy7dmyLDGZTFCWFabTGWCAsihRlRVgUsSw6zoZU9t2CawLEYvFkrImhmzAKU27TczO6zXW63WSVzGQHI0yH5NJjf29GYHRqYbcGSus8tZZSoe0KMoSn135DL/4xS+wXjXE1M2lHJks0RqDRx99VHrTQ+VU8V7z3uPk5ASIBm/84c0EdiPrB2a3tybp87Io8Y1nnsHR4RFef/0tvP/+JyjLSdKLdD7kb9KVWS4ymVDIZ90HhD61Xooh61drDG7dvIHf/fY3qf5ZdRmIMSZ9HSPark2s3Ht7eOmHP6L9r9I8WTbbbCOBiOeMsqWM+q+WfVn4bhHI5i5fy7Pp7Iis3HIPDA3z8R+WB0aPcdTVQDvDYOBSOQtbnypEO8pRwkiWqyjZwEZRP8vScxxly85Bsh2GDjp/YZQezD9Qzr16Tw1Ysi3B8hZDtazmk3TgSG9EZrJLnjBK57C7u4O27bBcLtDRvooxYLE8xq9ffQUvv/wyjo7ucHcm7B0c4D/8L/8Z33zuWwBl3A07ZmT9oqOhSvTIu2swxIy31sjW5ffIf8et98nRR30vbNzLbHumBAWNyLmBvaSzkUl31eRbsK7j+w3SrtnxHZ8HaReUsw0ZiNCyOr/D8HDGAaA+tOk0OMLfC6Ir+Xvp+x3J+bH9/i+5vrBjO775nxIEMaTeV5FaLPTBwxN3beA55R6NJmRUhTeK1CumCUw9+AwcKQoWCCZXIw7QhQiHSC1wstEWBaHX/Q6DjxRxoPTWmDfL2OiGoC6B2OwCERmFFMEgYy5pDmJRIONt1XZYNmsUVQlYAx9DijaAWTwDXFngq09/Hc8+9xzKSS2OG0hAOVvBmQkQHRaLNV5++R/xzntvo/cdsd6lA10UJZF3bGEHFCFGKYKxT47bgNDACFodTUC0w0063gOymVS7B/25wDXZfA8TKLqTwAofKMJtU91XgEn7xfepncTIqNcORe97RINkEJHBFxTqAyFQiBK5Hq/pgEEZFNki2srcK9USiUKuIdKCSZOfiQMmj9FEOSFHkQcRa0KzbP4bhHD5GABnpXbbOUdN7n2KLFHKVarpzOhzIjQJxE9Jf8eQSbTIwOraTgxxdhLOnTuHBx58IEVrQ3LGXFHgD394Hb5vJdWRnXWO1lmb2A5Pnz4t+2UbmmcoQsctqDSpFxthbEgNoqQgqWrpeFkg2ijEONHG9EfkQZD6F84M0Uaefp5W7OnL7cztmnRusCfFaB1F3NV50Uo1Pz+3RuFoMf9hdBcqlUrPo6Tj8rm2QyUqe516P4eQSqL43qmuzG515scyXvpHUwSUTn0+54EByGycxcjnLq+fj4F2ZEinzQCeIr0IJjWKT0oCoY8IfUyZJaBasWjlj6P+Ac45aiUz7Mc3sDfFmOSUQpslnu5/S9E2ZyxMTK1sus6jcBUm9RQ7O3uoqgmsc6rdrwb6mI02pZYaa3HnZA7AoGs6tE2Htu3RdR0WiwXm83lKOy5L7O5Mhdn/+Ph40AOR+72G4GWRYwQef/wx3HPmVFoTk0oIpnWNuihRuSI5LW2KFBeExq/bBuu2QVFVmO3MEteDSdlTVVViOqlQ1SXuufceTHZqlFWhSPsaVFWRnPu6TjrauSSDixKlqzCppihdhdgDofdoV2tUZYWqSCRaGnxM+oIAMR8QvEfTtARgdCn1M3ggeMxPTrBcLtE0bTqfIe1B7wPm8yWWy+WAd6Ht1pgvjlFP0zvs1BNMihqTosLudAYbSU8HoHIlHrr/fpQOMCExbFuT6jwtpRymbZii073vcXxygo8+vQhTVJjMdtB0LaI1FGCzmE4neOLxxwnkSmMyUt+YgPmicHjyqSfx2dXruHT5qqDMhoZmjUW7XMMFgxIOs2qCTz/6FB+89yEO78zx8j/9Euuux+7+AebLFUJMHB7GZPKq9BYpCGALB1c4GEdt8ZxFWVghl0zOfm5n/cF77+DTTz+BLUsp42E7p+/7BDb3PaLv8eBDD+KFl76f6iwjnW1D9X6Wnk/n1BF4ZKkfcAICQPp6JIOw3XGV8LMg8FZ/Q/Q5bAbNOcgxBJZznWS2F1im5WCJoTK2lDXnBJQ0lBmSkc1sBkbVDSPLUjFLlTzXjLRjORwHds/wIzFlQZlAnNROHKIxqCq8BCy3ghU7I2S3euSkkH3CY+VxBwyATwYRNUAeQhTbOpvPkXrIR0RPrPghR6Vne1MYG7BczeFDhxB6hN6jWy/xx7fewE9/8hPcvHUTQGIUr+od/Ot//T/iR3/+r1BW1cCpzQ4mO9FB0tQ5mzFvBAI1weuagK3oQ/ozCuxpfawBZ9YBG1t1BKoDVtkD2T7Ve3JbcEKfC84047Gs12tFjpkBkbEtwpl1BswFoQKVNnMPWZdstCEv3lC3J7+DbX79B+rdINmfhkjz1m2DzntqH2cliMn90HnfISbAoqMOHF/k+sKO7XDzhoEhP1ww9eI8qTCIfmhsDBGpbbuADF+JNOifZeNDNpc2nNU4OC0koxjboy6RpZdCDCMdQKklUEgVB44gyMpw0wPc/iSg63usVitiiywGn2OjvigKfO2rX8X3vvNdzGY7lDudDbayKMlwA9brBr/73Wt4//33gBgzwQgxRevNbvRAt6wnz6cG6QbCK1rEsNkPM/9qRgvHj5G6zpgEVyTiDZ4tjewaS6DFCLlKDr0Th2u8D/kzZVVKHaBVxq0e5+DrkZMsax5TVJTXhfegkXXOrU0sEbc4jlSrtMrBRhSwKoqTa4yVF+XncHR96ADlvetAbZSieg8V3c3gBI3P0dlUbOAyPuqxy1FUo6Kb1lp861vfQlGUFElPzvjtW7fw8UcfSbTHqsbeScmnfdf3qVUK711d1zwEA3J7BoxkzPjrzZ+NdpvZBKPuBr6Nhe9wz4aBYtZ7fhtqy+/mXErJMiYoxneFAGvHSTlA47FpZFV/f0MxDYwik8G4YBBySfLGWRmeBz3vm+daj0NnOUjWgYyRsTCrUpyHc8jGZFkUypFXnxmFZliuJOZdisKp2kvnrDyzKArAGGLKNRIplwertU5O9EiO6XmUcpn0dd/3UrefgDSP2Syx806mE4rQUkTMUVmHKOkkT6y1WK/XCSQatGBKrOPGGHRdyuapJ7WwXa5Wa/RdkH1kiPSuJuON95ihCDAo86VpGsSYiJgAYFLVKI2DDQaFc8nBhU0msLU4PDz8/9P231+WHdeZKPhFxDHXZGZVli8UvCMAGtEBFI2kltQtTXe/aXW/We+/nDXr9cybbnVTIinRiAYgQBiCAAHClTdprzkuIuaHbSLOzQQFvFnvcoFVlebec+JEbPPtb38bzlkUhZxTqs5VZYn5bI6qrFDXlfrayXSCixcvoG0btG2LruuwWByjLAsUZYEheHR9h6quMJ1NdQyH7KGQVQXFTtU1iUR1fce9rwOMcej9AB89qrqCKxwDl/Rs1+sVmqbRSnEIAV3XUVXaUfLmg8dkMkVhDFwkCntRFJjUEzz55JOYTicMFFKP8kMPXcPWbMbV/Jjth7xdIY0A8yHgo48+xq2bt3D71m2l3lN/ucETjz+G7e2tzFwlD0c0TsdihwV+97t3aayckWddoC4cJmWB2jnEvkdlLSrrcHx8TP4LEff3HuDV37yO6XwHZTXB4dExBu8VOEa0lKCFzMaaDMa2NjtbdDbInllt63n1lZdxcHCIekrV96IoiHbOP2OtJXDeWnz1my/hiSef1t1pRfTLUvW7MCRURjOY0y4WX5D7wzHgdDKQ+bRqqCSTgOG5zVZVwk++R/Iduh6n6DdoTJVfSba3T/gVE1UkLGde5TZOT3A0iIES5PxalaCENHrNhzRrW9/01DDP6HOV61Z/kmtxUPCsYIsC76eUyzcT9NMSOo0Js4q0jinKwdk4Xq983spsNkVZlmjWa5pTLcm9b/HhB+/i+9//H/j444+pYBUAGIuvfe0b+Lv/9J+xu3s+q5RKMSAT8TxRkU+7MInNGdVsEAZM5DUymX8c/e7G1JWYPevkrz+lGHji6yl+Phm/YAPkSAwpYmucHAm1Ge9rPmPHP/PHq6MpYTaZPRN2rrDQqMM1MUXH7p2FdvlMWgAupnFeGkNLrm08t0meHq992usz99iKCZJwIYSAoig+dTE0kVTOexZR8w1CHhqjm/JvibliSEc1RiR6ixGuP7+d/NWI8njagDoCKFMUHR3ETEQhjcNJ1RhtpEdOFUGiEgWXxl9kvRSGKT/DMKBp15hMK9QlBQeBD3reh/LkU0/gxW+8iO3ZNtreM7bEAikoRE8Zg+/xq5d/gZd/+Uv4rtd+ZmvATnK8jjJiRhQPpAIYhcthKQGPwcBEm66NqzhBuiE3A/vRPmM6Xoyj9FY2aTQsqCGAqugEGo9oqIKutCt+7llXKwlPgHoqI8IIWCnLQh0mIdNyUTY7IOm5WGOShHp2mCV4lsmmg6d7stqTkQyaGOVowOMu2HBI1TCE8T5B2kuRh4IbVpgmZDfw+lqGQakCaYyo7Rqt9EpCYozlfrFECyFUbfycksvg67ZMQQs8c9oPcAaIWoE12N09i2effZZm1DJlxdiIN994HavlkqoXEsBniaAxBovFClVVn6B/jwKKKGOJuP94w6ir/dg0yNnXJbi13FcvSZA4n8zEbAQzm/2843BAkXetlObXIZUEk1Hqslg1u1Z5TmPUOCWzQn3NhbDya0yiJ2MEXN4viVpYtQEpmNOFzt5jkyZ0WlJ7+pB1+XcwMalQG+pBDDILOGOWRDnO8qwGGt2DEOD7DnCJkii2xIiWgSNnZyyI4WP4LFmDgZOcaDwCiD4PU8AWFc+zJgMy9B5WqqbRj0YiBQRdlnyvRU5QYSzT5Y32Dm1vb+PMmTNYrddwpcN0OkMwEbNphaos0A1UcTZ5AKv7wCJEiyF4DH2HorTw8OhjT7N5g6d5sjAYQsB0NqEAyQDrdYO29SgKqg47G9EMDY4XC9y/B+zszOCMw60bt1FUJS5dvsSjNajUZ62DhYUtLOr5nAFUYlQ4FkcqnGEVaU9UaQB9ZzApSxwcHWL/wRGcNdje2sJ0MkO0QNO1OFwc48LlS1RtbtdYLZfUv+kM1v0K0+kUwVBNfr5NM2eX6xWtdaB1raoKQERRFogxYIaaEvNhQFVV8FQKxqQqtZpkbODxP4BxJYaOpgs4V2AymcFYwBUF2r6HKwuc37mIvuvgO1Y0NmQ7eg9s75zBtUcfwxtvvIWqnLDackeAJbOpBhvSPma1ZLAt97yrmrZB07SYnTvDAYhDYQ225zWefuYJwAUY4zUeSaogFs6WcK7ErVu3cf3GLe4FjChKi698+TmUBUh9noXPHuzto20bDNEx44sOy2tvvIWnnn0Wl85fxv7dG+j6AfWk4vTZsmJzSuCoh5jsj2e/Z6zR/mDDUwmiIb2Lw4N9/MtP/hl//Tf/HlVVwviAYWjIl0RiLnQBmM1IGOzFb/85bt+5h+ViAcV7WAU58DxUal/MbAxy+wkGExwHzlzBDkG/F2Mex6VxeMlHa3R8KvCeTHPy1WBlWQm+x+6H38uIdgpba8O+N+Q2RQ1nUlOOmnGzT97oadNQ06jdFxEuSDgt935C78aO7kVLBBIjCJuQp2g4l+Z1C3tLAaiMBUmXw7/LZbuo0438KC4UJWWXucIQmfEnz0I0SmISLUvQrMQ75NOm0wl6F1Qxua5rLaHfuXkdP/j+P+Bb3/4unnvuOcA5WDvB01/4Is6cu4B/+J//Ax999EGWjJ0GDsf0TJGq9NYQPT+yP5tOpynmlFgnywFSzL0Za4zRjPz7KRaACkmOVbmTTx5fu4wFjKocrqcnGtURUtgi5ns8z8F4n2ibpx4GjXW0x1XYjxoPxY2aqOxDz9ftsvexnEFsIjtUFLJIvenp3ERlKsn+JsbdZ67Dfo6KrUYDRkvoJyqe8rMb1bD0vbHXP1Et4wUXCm7eLzhKePXhW6VDaNKB8eaR1TJK20tiUdZauNLCFYAtLNE9s3sweSUzr0JsGKQIZNUup9Q+7z3WzZrQ76oCsqqjoCtAxCOPPoIXv/kizpw5i8F7CmIcobjWFnC24HJ8xO9+9zu88sor6NqOKWteN4HdEMI6DXnJHYFW/FTMCaM1DzwP0GQH+MR7bvTbIjPq8v5SQd3AOse/a1Jwm/drhhDgg8fgA0KwCB6qkCqoagiADxFDGBTN1KrPKdSezZcZoYj8rEMK+E/2/5kTv2e1/zBb35juWYQ5csebjEkSETLGavU60WPTNeTo8eaxiqNqr8mcKIM9kpRxlUB7GDYoL8+/8ALNrR16rvjS6Ix33nlHz+kYlZS9X6DrOkyn09H6bFY7gXR8Rn59g+JzWpU09xuWq3PjfT12YicRejP6LxW9xYCOkVdk9ufk1zTEUDORepLHiWxKTk/ax819BYyvKb/utCfy3sv0/ierruO9ml6egu1RrxGyCvzJdc/Pr7HpGqQPVCs+Gail165LPh6HBQVJcn5g5kt4lIS8t7BbgqcgwzmrAFRZkfquoNYhBO3tS2+YgvvNV94fCUAZDzJmqG0bRe/9MGBra859venZqqaEwtrkpMuyRMniTm3n0bUBPhTwwVHrBYONOzvbyuppmkZnn9J4OLL18/kcRVHi4OAI1lnsnNnG1tYcQMTQ9WjbBqvVkvqCSxL2adsOi8UCq9Wa7QwlltZaVCy6F0LkXlFq/6jrGn3fo+t67B8coBt6WGtxvFjg9u3b+OT6dSyWS1jrUFYVBh8wsDjdarnC/tERVl2LpqX/hF7mueotFOTcZxljsF6v0Latai48dO0hXLx4CTFE1HXFe4DYS/Wkgvce8/kUW9tzmrNp6BwOfmDhuYgzZ88iRqBtGngfsF53ePnlV/HBHz7CbEoJ8XK1xLvvvoPJpMTu2R3MZzWqMtHN5VpP9iQCq/Uay1WDEOjzrTV44sknsLOzraNchNUSkU/roJjgnXffxSC9taB9/cRjD+P5557Bl7/0Ar7+ja/ga19/AS++9Cd47PErGHw32terdYOf/csv0AWDnXOXcXi85Pn2RJn2wWsfeMjG5MmaqwZCVo4RH0JtBwPu3LmJN994DdYVymJwBfmRYaC58l3fASHi7O4u/vS7f46yKkfHWkOO/OCZsSMwG3+XHr9NG5oDhukMZrYDedElsfo249WRrZP3kws9IRgoazROlA3G9lK/PrI9p41VTNR0k/kNXRcJeDcYfjFGHU140sdhFLOor81A4chswhGAzPFCNllp/JD0GZ5MEPP/QgwnfGa+9uOrSu+d34v4zKIoMJtNsV6vsV6vtGc8xAH7+/fxgx/8A1577VV0fc8jMYHzFy7h7/7L/4rnn//iKN7P4xUCky2Diuz3IO1ZhkY4yhxwa1EI48yms29HecVmjHPyuUhcsbl2wvIyJ2Lp7P10L0Yd3SUPSe5LQj5s+rY8IMlAnIjcT2fJruAU3CI5PjN5cnsyNoq8twz7+pO/m/aigPt/7JW3CX6e12cf92MI0Yk2wkbaAoIg/bHEwRiZH5pl/RKEqgFJvQWaNPLa5Y316eTL91NXAHKqhQTwG8GZCgiw4mCIhmTrlaKR+h9VlS7KqB9+eHZz9iTdgo8x6/gFvA9YrVYULJQF/EAGLISk5mwAPPTww/izP/sezp27hN6ToIqo3koiDhMx9BG/ffsd/OhHP8JqtSTsM1JiTFRYs2GJZFaoqJnK5mfDoQBQ1hMH7lWMxNlzEpjJj2Z9mKkKlM2iExlv7tWK0l9hnFbuadmiBsP8+PlZiw2n9/NKBYcmXzK+YmxQEqJpuHKeJ7Qjg8PUN0ggmxsPfqCSqGabOAO86D2lt2/0/kjxuTEGOt0yyn1Z3atR9pZQMwRxldlvLrEDjCJzooBmtP/T8OzfTfR0lAiPzhENQY8moht6rXbKNW1tbeNLX/4yur6hGbKBgse3334L+wd7vO4GFh4kAut0n3Vdo32sMWMkxIzaPTb2gtbJBkjfz0GUsbNjBxBknBbvpih0tzG9aLMqN3aoQoWX/RKyM3KyP11/KxKPIQFsWTnEWCAa7ZmR7SOggijQbu6dzX8n8bN05kgVPap9kCrt5uuEczQBQnYZo79y37JWKYAk56lGgtkIhkFN7lOy0qcvyHv6HWkhsZGTYFFENHpVGkyReYgy8XZUW/He83iZFEwgMJDEqvI5pc7qODkGxTg5DUbOYmI+xIxRIGdQrilPYDwnvJO6xqWL53F4eAxEj+lkkt4DQjeR/sOA5IMCrKuwf9hhPp0iwuDj67ewvTWnMTQFUJQUQNWTmhNbEtA4OjrCpUuXyMew3RuGHpPZLu4/uIft7TmuXruK1WIJyAxTUHI4m9WIkRKYpmlpH0WLYRjQe4+teoK6LrBYLHD+/Hmcv1CjsAbL5RJ1XaNw1Pdc1ZS09r7H7Tv3ESPQew5iGPr0nkYuHS8WmE9nCKGnETFdQFcC7RABHsnWNNQf23Ud7WtnYU0BP3QIiOj6lnrvHQW2N2/fxpXLV2BhURYl+tDDOgNXWHRtj2pSoqgsqkmJYIHVaoWqKuF9wIO9PaJ5Nx2kCtZxL29ladNUdYVoDOpZja9/84swsDg6XKBpB7zz+z/gxs0DBFso+0mqoGK3fIz48KNPsFw3gC0ASyrUzz71JO9zjoFMRDQ+jaALBtE4fHz9Fq5fv8k9aDSXOvqI1WKFna0ZMdd4X+2ePYfr1++h73uYokDsg4K57733Pt579138yZdewP0+oGchMC+NosbqHOdky9iAhATQWZuBsMiy0BDw+7d/iyefega753YBePQ9J9jWwJUW0UZ4BFgYPPPcF3B8dIBXfv4T9o2ijsssG1afDTJrNZqsFzKx3mLARqEjt5s2s2HjHlUBmmMIiJZ1XrNZ9hRCkk+12dxuAaWkJQCZaE/yK8TSCDHARss+VGKCdJ2IfiQ09emvsb+jfnnJSTZju/QpMcZPCfxz281fEXYfQD4kjIHPRLWRn7dsC7N4gtLC/DaVvhyzGNIYw+uS2uSiJq9R701o2JLE57CEJFx1VcJZi/V6hegD6noCZy0iBrTrJX72sx9juV7hxRdfQllPgBBQT2b49//xf8H21gyvvPIyhsFvqO1Ka6TcCyeNluFbYZGZ5KeUxZgJuRrkMUaiHKckMY3TyauQKSaVZxX1v6iVzgxQkWcYDY8ck++Ne4Q1UA0RUVroTIZWCLCb7xSTwC0rIzglvxldRbrmhH+lOCv5Us9Vd86jVF07XacOgzqBco0LNP9nX5993E/gBJCTAS+JaMYDt5Y3ZkyBMjQXlc0hFU+mmIqyJQRNEqMGHYae0ByibEUuiQfPxs7KOIUwWhChWHhVxEwURgNgCIEPrwSJuaiD9DvKz6fEOmTBjM40k/7MQGqBXdfB2gKTSakVXHojo4b9wqWL+NZL38GZM+cxDBFDIMdvrOP1EwNucf3GJ/jpT36M5eII1iZwgCq7Jq1TRp/JKzvjRFyMVHofLVaSbj5OgEtRDqbV+9CNZ8z4CGSsGzk00AOUOcz8d7RHhA5WyESoDK85OfCEMku15GSVKv39RB6VGRbH4i+RVU1161pJFlOymxLfLIOVdcgNkFSaR4gyn5MNxbiRkRNAxpDxyj9HQBBBwWS/Gq6G5wIzugYbti5PvgPT0MXgSiATQsSzX3gOZ3fPoWnXtOstnfk33ngdwzAwoBVTlTf7vPW6QVVNTnW2I7RWroXRU3V62XMLmSKy/P6JNcuBmxEOYUbOJf99WVhBcZNgR54InxRpyl9p36eNJUY+RunBHl+zMRSIk8MvCKzZqNhKU4YbJfXg5N+ObIK4nbSm+fnJHY847c11SKuR+G5pT4wBgPFLg5g43pPyKzJ7T27gNAeVJ4QKmEVww4XW0zUgCcGrwq3MW6aPoL60EDxckUS7jBlfo2VVLRW2k5EUugapdSZfpxiB4D3m8zmOjw4BGNRVjfl8G9zCqordlOANLGQ2BmNu37mD4/0DWBOxNZ+gbRrsVyWCp/7Ruq5w7vwFxFhp1XwYBhwdHWHwHkVhEYMoFHcoiwr9EBCCQVGQmvByuYQrC0ymE+zszLmvjISEjo+Psb29jfW6gbUGk3oCZwvEYLFatTBmH/P5DA4FqqLEet0g+Iiu6+FDhCtKtG2PGKnPt2katC0pFMMDk0mNsi7IjvqoLSLWiQCXg/fMDvEeq+USfd9jMqkRguWxTgTh7WzvoOs6pf51bYu9Bw9oFjGrqg+Dh3MW09kMEcDxYoVuIAr/YrGmarRjkMFE+DDAWUs91iGgHTrq3a0K+LaBcY5m6VpKW4uiwFZZ4/z5c7hxc48BacZ8JUGT2ebBY2//AOtmwHQ6hTUWjzzyCObzGXwYSBQxmw8t8V0A0A8Dfvf2u+h6r2Cq2nrVIRBb6OBDxEcfXweigbMOfaRnED1d309/8lM89vA1XLx4Bbdu3cFDD10lASwTTjCm1L4ysC2Anp7b7KzKEVmvV/jFT3+Cv/qbv0VVVej7AYbpkkFAptCTxgIivvy1b+De7Zv46IP34Eyh7WJUoGcAObJtC4DPzJOASzYCqZad2a1MiZYSDpMF+imxo3YJtigySk2NWapYSYyXzB+viR3VY9KSbdpFPfPSZhGoZ1biq4zttGlek3aL+ZSfMZv/TCWYTwFg83Q4T7AQxyzHzXtInx3VP6RoLWbvzHG23Hc+YoZHXqZ1lLgwa0806RlHXlTFh7O8PCKi4JFeywWpm0/dREH1tlnjlV/9AqvlAi9967s4s7PNbEOHP//zf4P5fAs//emP0bbdifhQKrhp64/vgfTRmREZ0qQVZZWe8JcSk5gTYlB5fJa+nAD3UaFW45eY/cxJ/70J4I9eMWrLpuGZ9xKXWqS1Bp9tyxoZ6e98VqzNVM6NPs/TPjO/HiPtdZv93yYjUWchoayDtblSVSqMfJ7XZ05sWz9owUrRb5bLD4wGwidqg/dpBqWgOKw3xigIKWMCkRK5HNnE+CGGgYIa2LBBFeTd6A2PhEgBvrE0aJ32qhxJ1iw9hdYRJRvjhRfzZ9TYGH2flETkCAshXD5E9F0Ha51SvXIjIGJUFy9dwHe/911cfugK+ugRw0BKgbaAdaXOLAUMbty8g5/+5Cc4OnyAwgVVGaVxPinATxUsDqzhT0Izuq4hVWFS6V2TuICU0Jvsb5ISj3oM07KN0FKWx+CPptJsBCHSRqtbYyELenujxpeSKKLE9kOHtukQgsF0Ohn1eGNj7pUmPxnFA9zdG5VyxQAJBz/qePJqf0g0kzypYjBTn6yNMpMw9apgw9hH7nGRmcWqwBy4+meyVYguzSTjHtzIvT1G5vvyuRpVg3MjJyCCTYlGZEVApb0pE8Ogmk7wpa98lZRzo/TBlbh+/RPcvnkDzkRY3nsxEkU8Gu5zDUDX9ZjPtyFhSI5yK5qnVw7u5xov5Cai+emvLPEDtPKaUGGT9ZxsJHP8b6tnDJkCcXr/vJqXgj5Bpcm2WH3Q/DsAqwSevOLgI/LbOlFN5mcllNikXD7Sq8xuOjnZdHkpsc0dojHpPlJSOepI55/NAZnk7DQSYdtPlnwDQNH7Cho0GVE51e+ly082lPcz9z8aeY6RkfWQKv6uKGALUvoVRks/kA+JxqKsao0HJICIzDAKmX8SGyl0TK3mB2ZBRGgLBBDhOFHz3QBjHerJFNuwmMxmaJYtqzry9ZpxG41UWmEHPP+Fp7E1m2K1WmJxeITj42P03Rr3D/dx88YtnD13Hq6e6pFYrFfohh5FWUNCkmbdoR24WmqoZaWaTlDWE3xxvoW+7/Dgzj3cuX0bhinNHQtXhRDRNh0MHPxAvcqLxZLBA+DyxQtwrkTftui7Dm0zoPctpvM5hg4o7BRd25ISv4+YTKbouw7GWHQNCzexkmgIEbYw8F0P5yzqCfWqlVyd8mWJiIjZfIrIQl3NusGkmiAMgYReCxIc69sWJkb0g2e6M/e8xgFDAJquh7EF+ran2a/GoiprxBDQHC/hJhMMwcA6g8IYWFuR6zORR/I5uKLEwcEBnHU0mqh2OHtmG1Xt4LsAawpIo4wX3yp6BcEgrlaIMVK19tknYWygIc+RtAyMgPlyykzE/Qd3cXx8rKq00t8ZQFMT7t/fg/c9nn3mKYQIXP/4Bj755CYm0zMo61IVW02kGcFHh0f4xS9exl/9xfdQVnMcHBxj9+wO+aQg1P1UAbLWIvhBGRrCdspfmgyaCBOAu7du4Tev/gbf/Pafoqym6Js1JamWh6ODklwLort/5y//GodHezjY3+dENmTJQCSNBykY0DuNI14hOiHZ4ICQ2WTw2o7CGL0PZ9PviQmzkH7S/D4ZZBvdf6ou5oYu2a6Tfir5FPDc46ixXIxUUBGrq9G9CdreQc4iVQ2JPWjHI4aQZsOe6ivle9GNkmYtsoSofjwXDQOYYJf5BiOVXR19lEJG/pAx+M8v6qWWsCatY8yuTxLa5NLYD2oBJWlwGBjMZjOs12ssjpaYz+dwBavPDAN+9+ZrWB4t8N3v/QUuXL6AYAysKfHNb30H5y5cwv/8+7/H4vhoI77gzWLNKJaQe48msTAlHhMNiBBJLyeRN+Q9LfvbfD0yVelPefERhW5z5i9tVvxj9txHiXkWD53IJKPVIsTI/wvgxntVriP7NN0LdG2sgZG+oi0OyjDNQRgFL6QCHRVEMhIxGcPsU4yLgPyzAup9ntdnTmyHvlO6lqjPUsDDQ9Ez1EHodrmRJGGCLE3Sfq5UgfAqopICPmssbVBOkLMiGqxNNL0YWZZaqhqyNBmlTINeRWiiJsOSiiXUTBAkEUoi6l00YyNAiZpUawP6oYcrLMqqYGrdhsopIrZ3tvHii9/AQw9dTRte6U2pCcUYh3v37uFHP/whPrn+EaxJHHZnHSz3BCvSm/cYG6MU1iROk+jael7UcKQem9PGr2AkcDNGifJAVZ0DexlZJamgiT+LMZvcuRloK+049YKA0WtXFCjgUBTlSOlVk1rN4aQ/KEcEhRZJVRjDg87lFyNSFUeSeUnGcsTTACowQz8WxZ/rHs0AuZTc8vfHyb5F9LJHNU3ScyKUS00QmXIL7i8lIywZ7DgxkQRPEqU8sRkGn4Anfv7Xrj2MK1eu8HzI9Puvv87VWssJQkiCR+KIuq5DxcrUQic7CQhI7kU/E0zqESJBijwREyObVGF1EWWNTvR2n67kuPky2TPPwZj89WnVWqjhlxQd6floz6709fiRmBtO+SypQgHgSi0wZruoix3dbwJrZI3HVL3Nz8zBnc1zLGf0tBULHISO6PC6iPnfdTUyNgaUNA1EmCB2JYFgFslm6Odrzzrtk37ouT8zJYla7bYWzpEbSz2yYoOI+UL+SoAuPhN+U/uBg4SMhSRrG2JEVdWYTKaIoL1+//4ehoGAXe8HGFuS6ntM/oBjOR7AQVXSc+fOYTapcPbMDsyVS1guF1gulzg4PMK9u/vYe3APrpphNj+HoiywWpHy73Ras70J6PoB66ZDPwS0bYeqsIx9GRRlARhge2cH12/cgI2AcwXOzM6SEM8QYZ3DarXGbE6zYquqBrgKuu5azKYz2BjRLteIjmbVLvf20HUdtra2MPRE6y2KErPpFOsYMJtO0fctiyJSZdw5h8I5VCXRgpt1g6Kg/n7vB4QYUVYl60cEWFugKEp0bYeyKHDu3DnMt+Y4OjqkO/cBi2VDdjpQf3hdOZgYUTmHuihQGIeu7RC8B0LA1nyO9XqFsnDpXABwZcG9egHrpkFdTami6z3C4LE9o3m20+kk7RGT7HJERPQiZkn2lyjfDZ77wjPYOXMGMfYMKmZvYYxSBC0M1qsVovcjP2n0DFu0XYeua1Wd/q23f4e27xFtA1tW8H5gPQanid8777yLZ55+Ao89eg13bt/AZFKhLi0KGK5qJj9JbuNkMouRPU3+no6Ixzu/ewsXLp3Hk08+jeB6orxLfx3HUaSO77G9tYXv/vlf4n/+9/+GoesSO0ytT2pLEpplgPTxc/LLqsuRz7LNDZ1eMLOdNGnOvpHdU0af0/uSYsnYB43B7LBpFzZ1CNNWyH4falskD7ewWjGlZG8jcYl5HGxS8gUzin+j1iVO05TI4gAYhKy+YkBikcK4ioHbSkweJ6d3MBqP5msbN/aMyYD502aepusKm33q2rqDxIzM10P9DOkezLfm6LoOgx9gXKF9zD4M+OjD32O1WuDP/uLf4KGHH0EwBn4IeOqpp/Gf/8t/wd//t/8v7t67M+p33UyuNQNnVeug7DgB6w23DTAoa6L6HudKDAMxC42M/YPsgdPikXQSxvlk7puQ5U1ZhDh6AMK+CJvLr4WDmMff8vxMKoZJ4n3iuUryPLrqMTM0LyrlZyD59ch1pLhxxtJnps8fr1UC3D/76zMntrUMdM+QH3I2VJ2wESMj4Fxq/NVqg4AjSAGZ0h5EcTNLxFQ12HICCcnmU0UjBc+WkylsGLUk2w/GQEzWx5pxEHQLxYjktLKvK+Uib5iWNowAdF0DQNQe00uu0TOl7cUXX8QzTz+NYBxXXussSOVRAdZisVjh5z//BT7+6EPA9Gk0DveJSgVPvpZQFTaGjFyblMWOqoIxGlU8k14+ZJtx8x7SK2o1B5x8UB6SDiNVBi1TcEUSP43ioQQzUVwkeRW6YNf1yZFEGbwdWQylHl2P7CNrSdU5GiSF0kj9dfLjuVpvYGGaiKjzX6NJ/ReG0eJxQiHXJIZNeABRA4SIDQeT6TiJ4ACModl+iDBOgACbBfuZdeDZy7wNwZcIZ7gP0w+I4J5oc/IZpvEidE1+8ByYFnzWCMn/xje+ScmEGmmHg4MDfPjhhwwIQcUE5PrkLpumwfb2mRP7Jn9Zw4AXL0uQ/myp5qtRMwlUiKdRWVPClldUJQhLPUlx1M8qv0vvJ6CPIN8nK8UnE2d+AIHBiVxbTkEJkwUduUL5KZEjoPtMALdcuSPCq+NPL7Gbg85KFdpT/n7yp7U2myudAjalXmv1POh9SHpK1ZUhuVabnpMqW2dglro+TgBilIA0sRwMQBoNluyX21hv+X26lyG1RvD4j6Io4IeeaZA97Xvn0Pc9hmHAtK7ZpzAwJD7Ik42SqRypy0fWlCgEYRChEZP1X4Hot10PLNc4Oj6CDx591wOexphFOD6vnuBJ3tty9qy1OH/hPAzrL1gWjZlNpyiLAmd2zuDhqw/h9t27+PjGHTgTEF2JYRiwWCxwdvcMj3kk27teNbC2IMEsQxYohIBoHWxlsTAWzpWoCqcMorbr4UwBwGLdNjwX26BwhVav9/f2cWAO0feDzg10zqKODr6LqAoLG0t0XYe6rGCNwXRSY+hblAwy+CHAFQUl4zFyv+8MMTpqV6gnFJCGCB8i2nZA0zT8bD0lJwE4OjjG0dExrLO4eOECFkfHcM5isSRxqfl8juAHzKoKsSxp/IyJsKaiebLBw0SLWV2jLAqmsFOyaC3NUQU8qoLoxCFGnNnZpn1T0HObzaao6wrrrtFMoigKeAZeR9kyIqrC4bHHHlX766zFEFKFL0oiZQymZYm6rnDQrGHlBPNn0OiXAlevXEA9oeD9zp27+Pj6bURY+BjRdA1C8JhOpmRPOWZpux6/fPkVXLl6GfOdHdy4eQuXL+xie2uCYdiMywQlw0ZwmgWfHKBD44+AoV/h1y//Artnz2H33Fn4voWJgWYRRw8aTu/gHAE7Dz36OF748lfx2i9/CcN97yRQvgH0MciJDBQzRmBnKaAAyeJJ0gVmhH16DCwArnqHSF3TuT/YNNObQKnEaZAzHnOSdK7XIFeZ9y5Gje0QSffAWDNag9xXJEwhjz3kAq0WXE4pGvM1BI0HbH5NQmMWuinT3Qn4L8hew2q8a6VHk+NmpRgbAWEl1zXyRxZq5j0xUqzKLpifGy+vtjNqsgP6bMFjbKCJHfWkQj/0WCwXND+7LCm6jwZ379zED3/wfXznz/4Sjz/xFNm2aHD16jX8P/63/w3f/x9/j/fef48mWmRJX4oVXEJ+IKORoIUDjdWdVDuNTtUAC0E5k5h7wkAai7vm/pjyGxONxqM2E2sMPsK6Ux5ypkViYkCMIoRlNIFM+14jbV7qmHS9De/tuBmDcBFPGeUsimv6jXNwiiDa5rhNLfAZ5BtWdIJSXJOfoc+XzI7W5bP+YFFWND6Ah1M7Fe5JymGi5Gq1CsPKnx40x1YM1sb8qxAo4KDh7GMVLgkSaQMGNXAmCYXxv60GX6JQDH3IJi1oFCNmNOHNE1X5ybxqeZoyly46B3R95xGjRV1PNEGVMQ40oyxiMpnhpZe+jS9+8SswtoD3kaepxHSPTOlZHC/wz//0I7z99tt0XaobRLMIRYVXETW5phhFd358nfQv/XeQ4eFihLKNOU5wM2RHAtkMlIgyk3Uc5WfFnIwukV2rXjPSzxkQfVwrkdkeMIYD27JkpdOE+OXoX06PNCxMkh671bERMuuLEsOg6y4za9m66jrEkK2DXLdJt22EnZDfX9QCjho2qRgba2BCYDpugrBToq+dtWzsoGfGe09ny0d2Bjb1t+fGMoPGjUkjViKiqodaHlV1+fJDeOSRx9B2rQqlFUWB3/3ubayWS0Zv0n4QB+UMzy90NGNy3O+aKP8EElgSTpGzNhInMSNjmKq+6VmOzt8ofjHZn5sOwGRGWBJmmTtodK4pICMQyLk6l6qLo3czTId1Ls1FjCI4tGEbsr2d0M00+zcBdXo6x79/ql1PgJqPET4SOuxVqE3Ta3XMVisH4+vbuEpaq2iSCF5WLU/VX2jUErNL0pVXgb7s6WwsopxVq4rFUW2by+cucquCBAgCXvlA1aAgPeLGwA9UuZpMJzr3Wq47MTvG+0Pt5+iapJc5BZFSKW7Wa9y9ewfr1QpD3+Hy5Ut49NFH2K6m2ZLyZ1GW2N7Z0fewxtGojYIF1yzpBEymE1R1gTNn5/jyl5/Dn33vWzizM4EFjf46PjpminTgPltgsVzAh4CiqFBWNZylCuTe3j6G3lPFkvdGWRYIMXDrCvWzFgX1vHpPz9gPHgOLKvkhoG1aDP2AoR+I3QJgPptie2uOc+d2MZ3UCMFr36+xBucunEM1qVEUJY6Pl1iuOjTtgHXTYrlcAdaiKEu0XYuj4yMcHR9hsVzi4PCQBJ1ixGrdYDrbwheee4EYOyGiWTe4ffsOjhYLEn0qS9RVmc6d9L6yOm9REl5f1TWpMVcVTxuwCtgZrtJVZYlJVaEoDKwlzYqyLFEUJcqyQuEcioKV6sWXBA8r1Fvew47bgupJjb7rcHx0hPVqTYBL3xHdl3eU4/8eeeQh7HA/oBg0sf25b2m4/eY3v/ktus5r5SX4gKIo4UoasVMUBc8jdtjf38drr72Bspyinm3hwd4BnCszewi1r1Lx1aRHHeAIq2bAVpKcgKPDA7z68svwASgnU5qxXE94/ixV0LSaFYGvfv2buHrtYa0GWJMIiogb6rLJCUPL2NZk51oi9sxf5vnWxrlGrkqrdPD832kqwjhQT3+m65NxJHFkq/LYRtiK4k9y6y3srGQ7T8ZyuZ3UuCarmhkk9tnIOwjYrsBqHi+b0X8a49oE0pISucRjnCBIAqsZzsmXhj4m/e7oi1kSZLN70rYwpJ81ENGvsVKzGTmsiMIVmE6nWC6X2pMvMeP9+/fwwx98H797+7fKwAkh4uyZc/hf/u//GV/96teykXNSGMr8dOYuRFnfslKyxjVgcaxsckDqv2eWqrEn1jwvxgkrwRqnc9gNn0eh9hplE4zjB5t/3RoYG5OSPxfIDMcc1hY6Xz3f18oEZGBe7YGx+qdM6XDWoLBAaQ2cAk4bz1TuMS/iZL6Wiglei53jPbRZ+c0T55iJT/3rr8+c2Hqe4WYi0Z4oWY0cXPMGDRz8xixo5c0Z+eunjbkIkRNa7onN50KNA5HMWFkroxRT4ily08gTI3BHhfTJynLSQ47ZAsbsOvXf2WiO/NrVAEWgbVuEEDCZTNho8xgiXp8YgbKs8dWvv4hnX/gy4Cp0QaojGbJhLaxzaJsO//Kzn+H1138DP7S82IQcla5AYR0fqbQeaTNQH2Q+/0oOXXbJVJk0lto8bBwnitl/Iy+ROYITNKBo0sGJNEeRBR7JEbGC7shpmGSYpTpHBTT5GZEOp6RWnCZkZq0mblxB40paYRPaKJQLEsCM+jVJbhWVY8fnWKxC9myMKei2LAkvFVoaKeEVYYnai5To3kQYYEdmLGAj708KCom+KAAJU3RsBsYYq2Mi8uciQA+A0ZpGATZ4YT33ziGS8YwhIYYxihNz+PrXX0RRVBRM8hlsmjXeeuN1RnMDLMlTjoAggPb/ZDJRZw91ifmf0J78/DwjEN3BjJDMhGjmZzDtcaNgRVTHmfdw5MqaNvteCorSHrTqfIBxQCIBjIrYaVIsgFRKEpOK+ljefvx3ZP+N6cabdlFR1sh2KhN30hnUUfpvRQzMkJK49s0EhGHQdpGNA7tRbZKE1vLcSx1Gy/tXgCtmG8i7SODBn2cQtUdp06bAmFH7AULkJMOMfIT4DikyxxBheAQaUejByrKGKGl9h7oqURYOrmDRP1gF2HI7mAdZeZVZQ6rMSQt465xDWZQ4s70NBI+6KlE4hwcPHtCMbj4faot5b4UYaESOoynw9+7dR7MmX2GN0bmqVV1iNp9h5+xZVPUETzz+OJ584lGalBoi1sslhr6HM5FmgtqA4+NDHOzv8SxruV6HN994C+vFCqVzOLOzg8KSxSoKy+JlZOd2d8+irmn8ztB7ZSi13YBm3TLyCXj+njUR03qCdtXChIiycAhDB0PThmGLAnuHh+j8gMOjY7RNh7br0Q9kH7thwGK1Rh9odvl8e47tM9sIkVR9fQjoBxpLs1gt8OFHH6KuJyiLCqUriVliCTyrywJVUbAASkQ/DAisTmwcCaRM5jP4GND2PXyM6AaPputR1ZSsGkTYGGFD5D7VyD3wDmVJyXk9mcK5Ag9du4S6LlTTwhQWKAxMaWEKA1MYuMqhKIlN8MEf3sP+gwe4d+cuFkfH6NqG6ca0/50BJnWFZ7/wTKLmsRfy1KHPfdoB67bF3sEhrt+8h48+vq1Vlci94BYWzlBSS1XYgCcefxT/6e/+E+rJNt54813snDkPy2BD3w3kY1U0j6FetjVGDYJCzsnOqQgV7/cQ8fGHH+Ddt3+LCMf+hSjtwzDAmIC+bxDDgBg8JpMa3/vLv8LW1o726BlDmhE50TH5FvENlCwEbREL7A+zyQQSOnMMYLnlR9vOsp+MkWa1RknY1BQaFW4MOp/dqP8dxaLmlGs98VKkP4lekpfRlr6obRcJIFQfN3pxgURGCNLw8FN/dlQpy0GKT3mJx4RJRSepAhreHxxVk7/NwP0RSJptm5h9X+242FsKvsjPiICsjAkKUfuLJYA0sDCBnw1JlenPW2uxtbWFtm1pRJjolhiP5fE+fvxPP8Avf/kLNOs1orXoPFDUM/z13/57fPd730NRlFlF2fD9sRaMimdxvIdUoJCXsOtknS3j98T0s3DGwGZpHVjw1dqUyBKg7jgBHQPq9PlRz6t6qixGkY1jbMzKq0b3DJipQGfYMY1a3ifziSaF5KItpHvTUB94pDEHEK4lsbAyoCbLz/QqjMTgpHwO7TlPsWIO3YyBpc2z9Nlen5mKnB/k/O+CPsu4jZhv7o2xG2JABSFJ18yDnUunlM0R0sSohmFaq5GqsJgJY0e0Ma2AQvpHkWTh+QHJgsbA4leiSSoBoyZAYWRwIlLPVgTQ9z38QDP/8s+WoBZc+frqV7+KL77wRVhr0Q+DbgBCNzlZMQZ9P+DNN9/A66+/TkkPUvJl3cnKsSY5srmzA2Q31FXlGRiRNs+RtAzJTZv9ZE1Hg+YchTxB4eSxG5+C7sk1WZPGKMnX8zm/iWKa1JjVRKhKW0oO6BoiJyg8YohVrS2sHqPA9xhYyCshxJ9eGTSi0s303/z5ba6Z7j2MgRNaF4cQvdKgNxf4ZIUwR60SpVgVXxWpSU5cghCwERXEkuYM9lllkf7vzNkzePrpZ9D3A9NgiE7/xhvv4MGDB3SPWuGO6YyaBOzMZrON/ZLvj5PNSHlivIlSI++X1AQ1gSHyq1ZAExFeyQSQ8t/dfJlT9naefALQsVc5uJYYCmZkBzMuVkYFPl3UbFPtWe751CovZKRXGnAue1Wc/GjP5eusSGl6Vtpfn4tKxQTSJDsk0E2qYIzWisWqtBLB1YGYtRPQH3Kf8u/0LMUH+OCz/t10bvSz2K455xggLBWdL4oCVVmwKButbVXXozXIP0uehedZiPmO4EVlfI4Cq8CzrAMnXtP5FtxeAecKbG1NcXi4QFkUgKeRReCAxhUFyrJANxDFluE1HB4e4ejoGGfOzCET0w0M+t6jqiq0HV3X6vZtqjw6h2EIWK3X6LqOhLGYOTJ4j8IVAINrfhjgo8fFixdoSkA3wBhaL+89hjAovTCEgMXimO+Ne2GLkn2dpxaFASicBcoCdV3rqJTIdFNnC1RVDecKRP78onAoXIGzZ3cQY8TAc9aNFbVqYdrSfcUI6ltWUMliNp+jLArqQ5Q+aGPRNmtcuXoFpXXY33uAsig5KE3nahh6GnFjLFxZaIVf/jTGYug9rHGQnpGBafqic+CsU+YYjMd63eLypct4sLfA3fvH6uMlCLcihmnouTd9jw8+/AjD4PHotavY2z/E2bNnNgy7wZWrl7C7e+aEkqz4N6mUDEOP6XSKV155HX3vk8op60NIK4pUjI0pcOHCRfzkxz/D3ft7aNsOV69cwu7OGRwvjxDDBHVdbYDe7P9CBIJVFleuhJpXSqPGOQExdHjzjddx/sJFXHnoKqztCTTI7I/3ojUQcf7SJbz47e/gxz/8Ps9JB+As02GNnvd4whIgeeOcZgmxhRjZdKNJcDJJMdPKHL8n/xmNQsLOOErkYuB2mDz2FbubZqinr+exiFFbO7KFWWXYOaftMFG9+MkA3gjr7LRr13tMtOb07DYEgSILq2YAdb6WEt+JICHd97iSnwBdM1pPhUIyH5O/tyTOKb72J345KLyDE09f13fjq9ZazGYzLJcr9N0C8605zQa2Eev1IX71y59icXyA73znzzCfb7NNMfjmiy9hvj3HD//xB2jWa0hr1WbeIp8Rw3hH6rEBGHBIYmDWiA4KRjOPN9/bYAxwJy+YkmHvPY+Ay33Z+NltLhOLjutYMoOQzkSCT0Z5luRS46eZEmUF7Tc+LojOTxDdF1ZHj2KrGJgXDaAsbskzjZjlTKfFRJ/n9ZkrtsaCZsfJvFRDG4dmFlGTbeQ/rbOjRRcaj2UEQNBF6BBgukEfeJi4D1mgJjMBgyrcIvokKhMAPwyJlhTyakhUKoz8J6+oFTmoIqR8VF5ZUSRDjY5V5GzoPYbeoyorriykYeDycJxzeOGFF/CVr3wFVVWNBqMLdUrWynuPN954Az/+8U/QdR0hJAhEMeBRIXlSlQJsEUURLqvReq5QF9QZyfNURI7njZ12QHLUR5ZiIwkcARcbzlLe0Y7ohZvVxfRe8rVhGEbPyxihiXJFKdrMmTEVQpxvlkQapnQINdFmLiPRX8ZJfX6wdH6oFYpnGhcyok1pZS5L+DJjnhwZNEg4dU1sdj0Z9UneLKfa5HP9tOokdGRRmczYB2ADKXtD2ATee3zpi1/BpJ4S5ZBngfrB47VXX9XnaHj4ef6W1his12uUZZk5vbBhkCJOs0+be0F/+kTP7PjrMaYqbWSqoki0hVGFNAu+Rq0PKXkKzDIJIXtv+S+IOMgYwPn0Vzzxc/Kc87+L7UtfP3kuJBkj5rZRxDOdvSzgZK15oS4VriBjzfTQfHYskJwicipRTEmZVIqi9RpAbp5xqbJnxiR77+xzdL2EVkxqpqLMLatmHH2utAlIqwEY0BT6fZAkJEZlyTRNk9lCdt4msWHkWvJ95bj6m9upEAN67zFEnnmZ0c7ER0ymM8y3d1gIqUUYBkzqCQMsgZM52ocd23W+AHLqIeJ4scR63WS+hdpY/BDRrBr43mO9buCcRVVWiAZYrldYrJe0Hs5yb6xFXdew1qKqKpRVBRiDaw8/hLqu0A8dVuslF0eiJhaGBZFcQdU96f3zIcI5mhdpETGdVNiaz+As9dDGGNG0DQGz/UBKzFWNruvRdz36tkOzatCsGgQMCGZA260QMMA6SiT7vsfh4SHW6xZdN3ArDiX2bduhbWm+bYgRy/Uaq/WawF5PVPv79/fw8cefoGtJkbnvenhPAlpN02IYSJthebTA6miJ0A2wwcAEwMFhUlToW77ePsAPrEMROaDjCnXf9mjXLdaLNdarFg4W2/MZ4D2MJyZW9Cz+7gHjDcJAzzzEiLYf8NEn1/Hx9ZtYNS2PGXEEmMCgrms89dQTRMnTSta4WiE2YmdnG4eHB7hx8wa30tDsW9HigKG5vD4MsA4oC4tbN2/jxs3bWDVrLNcL/OM//gCFm2BrZwdt16k7j9n5FNA7hPTfCaZIINGclNgEGBNweLCH1159Dc26RVE61FUJOb7BU69213Xouw7wA57+wnP48le/qmPmMIqZyJ5Ypn8nmzK2LWnebS69tBnojxPMEykRM15MDNzvKz4EiQbLX6WK6+lgrLzVJigvtiN9fmZvMx8hCUfQLqpxO1WKDeQKw3h+qRQ09PLE3+XPWMUFTsZdxmihQnxMZNGkkPuPKFXjLD2Se8lFN/lrhhdGkxbkMUyKU60m+3x/AjCarLVG4ixGm02II2qyMQbz+QzGGCwXC96vBPr03Qpvv/Umvv8/vo+7d+9pGxKcxXNffAF/95//My5evKjamwnsGfs+yV9SnMt+lvUoSJ7NJu6TJITZYpm0QBttVvw1ZmYii0WcK5QxEFmUMo9x8pf63RAJoOPHHgU8oWAuo2FL/EqCoH0/0EzyWKT4KdNADll8JfveoIAfgBgpFkl3KJoCxDwMxiYp3TxOy/5L3x7HHp/39Zkrtn7gJCMLDClgiXp4JXCURm9N8nzqXTKG0E7vU+ISY4TnQGDwAwCalUfN3SabwTYWPaDmeOa2Z+gamxRFRKzNEkCtVMhKZiM08mAsE4BTmotJvzMMAwY/YDKpU+C0YT6LosRzzz+Hb774Lczm2xhCgA2Btr21ej+k5gx89If38POf/QztejXqu6S+2uIECqGmUk6ASep1UjWWb6f+ZJOen95/VnFUVAV6iDQQNyL5npBIftLpeliNlIozCWHKE0p5DpF/BjxaI5+lCR3HkgLRHCGMonDMnyxvZW12XSYl/Qh83wEjgEMoQUm8CiqoNF5pwz+vmzv7/LSqG6cT+ZdiiEnwKxtDo++SCyVt9JCLerU6LUaBNTQZOYAMA4tJVGiUcBkLHwO2ts/gi1/5Mvqhp2dgCMC68cl13L19K3NUyZHm1a/laolzu+eyxDM33rIt//gIH722OL7njdXJqqq5ujZXdmMW4uQs241KLNGMEr3WqrNM60bXIsBCpuitjkivaHQfJ28viZoVRTFWSKUVzJDvfNwO0tnYYGEgR0w3702vacwaSc45XVf6twSHQvUS8HAzkMxcj15T1GqrPPdREmwsCcbl4zKlhzDwWI3gEXit9QzquTA6/kjpbyEghoCyKDAMg86yLvjfhXNEUYshjdOQ0WHsM0KWlPsg1Ga27z4xX4zaIFqnsnAYhp5oz2WJ6XSGYApMqgqtjwjcM51s3RiAjAD29g/xyCPXEGAwn0yxXjfwIaBpO9UDcM5iOi0wm1RYrEkRd7lYwVy9guhFzCvw/yjwCY5Ucd955x08+dSTBAb0A7yhnktxX37wmEwmGLxBE1ui7zJgGjz1yltjqYrmLM6e28VqtQYs9Qx7Zrl0bYuyKnRvTqcT1HXNAlY07k+YTdZRH/5kUtPz8QGFJtSBW2ci/NBj3Xfqp4Y+wPsB/dCx8OIMvQSc1mIYPIumJHaEGTwmZUlzz/sek+mUg1Ka6CCCMYaBc8tVa4QA3/c0T9ZahOAxDAGLxRp7R4e4c+8+N6EEBUJsBorGSCIv4pN7H3D95h0MIWJS11S1NAaFAa5duYyL585lAS37yuxsMskY1hb44INP0A+B24cMbADqIsDagSqdQw9TlCiLCoBFs15Rv7QFrHO4e/c+fv3qm/j2n34dfUEggeUYgSrqnMjJ+eUolpSWrdIyoSAnH0d1SRGffPQh3nj9N/jGi1+HdQVcEThIDuxzI4qCq+JFga+99G3cv38fH3/wIbMX0jo46+CFgZMlqyYtjyrPa+ee2Ayd2JHG+RmRC0CK78SeGZPuQWydMPikdhrV1+daCSOTDCBmExWk3SXFRyO7mCkQKDNJWYEx2wNZLHMiuBgH/dGJX3SZrd5Q+k1vNE5ukb+SjY8cs+TgQl5t0xB1g9WTx8ARYDqzpnh6Kz4KkBNPXIXJriVmn55X9aCfTd+1xmI+n6FtW6yWS0ymU2XUDUOLjz/6A1bLBb797T/F408+TsrQ0eDhR5/Af/q7/xU/+Id/xAd/+EOqbmWYCiX6G+tupfc3AUP5csfAgokhxc0CrMu96M6W3IgTf5ksA/W/OPHKYwfam0HjPSlqRBk9KPMp9Rmm6msS3WUNl9DBuQKih5UmU2zkFnq3BPp4eXeJl7Lr9CwyLLPVxw/aaL4xvrdxhfvzvD5zYhuyRm6ybDJCJJXfRcE0BYJGkwThw3sOTGLcMKQRGPoB3vtM9TYf3SPouoW1vAAsr5ofogig7zq4gmm+smjSYM0zN7UhG3zoXDYbNOZjhAInS2neqfce/dBhMpmM+lRSuz2NVHjm2WfxzZe+hel8iysIRJ8zKBQxIaqUxx/+8AF++tOfYnF8xFSMqCiRs44pBRl9LtkfNoqpfzhyFEMBZE4piUw9PGEj07OTTcSo0CZqYpIn0HXFmJmc9onkC5nIgRp42VOyv3zUg5X/XB4YGlaPA9OCTUg0qsi5n5N+By29GRVIMaLGvLGMIduPUWhQMqrDudEO04DeRJw4bmJAkFBJMfoSTMtzMsZQpSo3oNqTLAY9aN+FJOgyroE/JW2CzKKmfZveK4QkSR8zA/fcc8/j7O5ZNG0LYugZuMLhzdffxNB1XNFhgSKfFCCNMVivG5RFyTTROHpWcv5jzFHzk6+UcJu0h7I1ERuS6LuS1GbBkKy7MTBR1GlTtT83yjlwAFkFHjumSC5X/fApV61gzSnOZjOZHBvlMHLMpMUlIIHLqsuprSJ/z9zYp1ne4mBOBzDSOm8CBPKcJLBKfUI5jSj9fPq7gDjByx4zyUECNOOXUVpkFOVI03m46i8zDmNSXxT0OKRrilwBlTNeFAXqiujIcNkYH762+XyLaFsh3x9pPFAAIdmyx4LOzxTxjJyhItUzPvMW8L7HdDbHZDKBsyXabsCVK5dw6859ND1dS1mW6Ps+G/uUgtej5Qrvvv8+rlw+j4sXzuPw4IDEAK3B9tZcAciqmmI+q4A9jxgNDo+OEYJBBPdlWcAPazx4sIf1pMLOfAJrC7Rti+hJ8VzEeZwh+nVV10BJz8xFg7IoYKKEI8DQ9/AD2VPfeJRliabrsFqtUNc1+qGHiQMqV8JESvTLskBVl2jbBn3P1XV+Vk5mxHN/oXMWwRuUxqlNM6bAEAear9sPcNZh6DrMZjNSx+97RDiE4LFer2gtraNe8ux8rlYrumdQD2zBFeKm69T+esqw4IoCdVnQ8/YRXUd+0saISVkhImCIHqZwKB0wtA1sCJiUDuD5vN5sngnAOKdUd2sdynqCo+MFOk9sAIOIuirw9FOP0WihLHATG0nbJDEx7ty+g4+v34KPMlotYjat8a2XvoIwdHDWwMYIOIuD/QPcf3AAoGPhMG4JisDrb/4Wzzz7Bexsz7F/eIhL588TQ4f79EIMCkZLmxcBHcRQC5GYY1GTeWSBd0AIPd5683VcuXoFjzz2MCKAwQcU3AtLgocMGgePsprgpe/8GRZHRzjYu6egfQDZDMe+MijKSXs5KCAswGRaF8BAQwr2D1EU4Ddar5LdBCelgceLpe+r1kte9c0S4k2g3UqcMwLoc4FNji3kf1nS6KxFGAZNzNVgZi+zmehL5doACtFGUXf2yjTRFsETCfkmMypqnCjxixlVKPNom0xsHneqb2YdQ/lRAoEIOI1ZjIVImj3iQ+SecyZa7ofVr5p0/bJMcm0G1L8eeFRaPZ2gLEpupehx/94t/NOPfoCm/Q6eeeE5GFvCR+Dchcv4j//p7/CD738fb7/1hs59R8Z4iXkCtsH0k/UTkES0WKxhPQgFU+ld0qRcw4uVxzRjX08vq38ak7PiTPb9cdyZFsfq7nHGjv15nrkYA6PtoFHPUtSCQ/rMfGtqvKf3DUlKdBMQxmmy9/v0auwJRsH/idfnSGyDIp1aBTNM4R1VCWSadgrwiqKg3pUQCL0wOPHghFpV1ymplcHPkBjJWKWnCd1ZFk8NVSTULiljyoa3KkqSNier6yIpWZ5YXBbnkLw+xEizA6uKeh61p5YbprlZ+8knn8RLL30L29tn4Afq/wkxwDrAWaosC5r0ySef4Ic//CHu3b2dUa9pI5WlzAbdjKIzvMec/Jqqjkmemo0fAaIurTwLQWCNbOJsRMyI5qIVTcHljFY1JID1IWToc0L3xpWftNZCz45MQx5nahu9GqdkE6OkikcrGFUWhu5RnZizYcxHKFyUqizTQVWoKaY9qaF9uo/RM4jQrwtlSqp/cpZGvbkxyf6P6cX5dUXdv1rBUrTz018a1PkBIXpYRnRNNJhMJvjyl78MzzNtQwgoyxL7e3v4w/vvZc+ZryhTWYwxYr1eY2tr64Qh0uOre+DUKxuhepTGSy8Wq2byXFdNuPiNyUgG7gceV8lk7+Z9UWNE+SQqSHssUX0i5NzH1AOeJeh5YHFC1OpTjLH3HnFIc1Yx2iMxE6gaX98YuZTxZ05/nY5TqqboPtW4KDuDI6AIulc1MIgYKXgCm05m/Ozy9cv7ZAXQkj4tZ0wKNLPtGvSa6JeskTA19XHFCKUgy9oN3sMHUrmVtgV5FtYa6j81eatA6q3VtU45L62WgBqsVhxC3kedVEbLskZZ1SiKCoCB9wPOnNnG3sECq3aJaAyGYeDPSj4lsvR/33vcun0H9+7fxWy2xfadgoKnHn8Sly6ehx9aWOcwm08IDQ9A16zQtw1cQUmeKwtK3JoGzkQc+Q6zaYWvf+2rMDA4Omhg+J5l9i/Norbouh7OGUynM3SuU7tbVSWattEEMQSPrgusElzg6PAIdVnDljVKVgWn/rYpisKhaRoScuIqLViFeTKZEhDBtmt7axvGkD7FfD5H37fohgFFVaFtWrhCKqsBXdeyJgL9V1dVUjn1FCz2fQ9EUkmtq0oZRn3fo207OOtQViUity0VRYGqqrA4Psa0rABE6onue+5VLTF4EoPa2p5gOq+xbjocHK3x4cc34fueABttKefKHlclIMJhfY+uDbh/7wErEgNXr1wh2qPJgEk+NHl3ZUTE4APe+u27aLtewSOJWc7s7uLM9hSlBcqygLMWbdPi8GiFX7/+NtHppRIfIg6PDvHKr1/Bv/23f4HBlzharDCbTqg/PEvUxG5IuCt7J7FLpFCRGGKUdEa0zRq/efXXuHj5MipbwJkSgx/Q+xbGGPhA56KqKhg74MLFS/jev/kr/PB//neslsfJdGUV05Gvzuzvpl0yGlNm/oqQK433YsZ2UZYP2xUCFsEjbaLuVcNj+GDGvjlkwFkKHUT8TozKSV+TQEeMfOvJsOb0OCf9XX4kp4gAgB/FDorv5+sFJBpvNps3/1i93pBibBVZFCacsjehf49Q0Wx9BZ2TK9eS+2Lusx3FVSlZQnYmZEnzeDjlb3J+GChwBaazOZarFeKExrURbBJxeHSAf/7nH2HdNfjil7+MqiwREFHVNf72P/x7nL9wDr/8+b+g6ZqsYp59HruzwOxLmcIS4pB8srbxSOWU5zDrHpJ9QosVMsZGQMY60LVIBZ80ugcZcHIyNk6enwVQs2grnLKXRkoo+ZSH9MV8KcafZHgsFNIc+HRsxy17p8VHm+fjtDj/8yS5n7nHNm5wq3WTZfLQhXMoC6I+FYXIz1PVNGqlNlVsN99zfBPYzLQSHU0rUNxTG9j48IEpXD5mB/w9SLR14snooRiV/tP1eRHf8QHrdUOjj1zBCqTQLRTYCDz19FP41re+he2dHU4OLApX6rpY6+BcgcI57O3t4Z/+6Z9w7949DuhEsZaru9ICkSmMIjtgymMH9zgjwMAzZSprhtfkNM0HG83FFZoRv/loA44SZ05uY3LLQQ6sSerAwUT4ZPY2Hm5COfNe2mEYSOCo69H3gyZW0g/3x5Cc0drwRTpbAFli9K/vOaP3bwTjCtLGz98zqW8x6ooIhTvqfOSoxT9xLmM6B9T1pvvQylBGxx1VuJU2Pz4nm2uxeX+aYDiXJdkGjz/+OC5dvkxBZ9Z/+Oabb3KAWzINPCn15etMwXClX5OAUsYPbY7J0qQqBwREhRj5fs4rm+O+FCBqsCYVvSg9JHx2vB82xkXlCGcc/RdjGP28bCD53cBofo6EBu41G+kP/RFjnFBvQU5l9JL0wafr+nQk0+gIMWddBrhl4044HMxt0ljNM7cvUYOfTRT/jzqZjbkLqSoRdN023ysiBway/coBUDoPGO0jue6g1wEdrWK4P89anm3rRQSJfA42zo9cjwF0TFP+HwQgiKLsLiIqnqo5xjDwOuFezg6r5RoxAn3fYbFYKnUweJ9Ako2ACAaoyhKzyQy729sY2gYH9/exf/8Qr7/+Nt58813sPVig7wPm8y2qqiKgXa/QrFYEH8SAtqXe4uA9HnroGvb3DxARMJ1NUZRO7YoPAavVCmChQ2Mc/BCxOF6iqmrM5zNUFfmmqi4xnU5QcCVWRsdUVYnlcom+63VepAAERF1Lvc+INMPRhIiuH1DVEzhHPo+qRw5lXcE6hxAjFssllos1hj6wAKVD1w5oGupLLcoSW1tzXLtGvcMkGFYihoDCOVRlSSN76gmmkwlmsxmcc8z8KlGVBEA7WzBwY9G2rdLYl8sFhqFH17VUpYGHdQZlWbAPtjh/YReXL1/EI49cxrNPP4rSAIWoh8PAOKvCPpFpd33fY71q0DQdlss1hoGEzZ57/gsZNTxv0RmnMsYY3L13D7fv3j8BDoYQsG46Fnph6mwE6nqCs2fPYr1uYEsHRBEM7ND7Aa+/+Qbee/8PmM62qYo8UBuABqLI/jzFZ4rNSADsOBkyMeL2jZt49VevwMNgUk9J4AsRg+8ZXCVwx/cE9F258hD+4q/+ClvbOyolE1kwU3ywntMR4Au2l8lHjO0vq4VHAo1sFuwmn5mP9TJcsQWysqJO+0iJVlTflAPYCX9Oeg7hlDg32fd82gHU9o8WVJ9GPBGzyrWq/Q0iiCueYJzc5rZQ7WAe50hSz3+KQn5kGy3V9jxuG/f6Rt3/EhnmRStdvVzHIpJGTxgxlbJ9lrU5x3wJsv7d5MfHZYHIAqLz2Rxt22Hdtkj6zh5Ns8LPf/Yz/OJffo6maekBOppK8t3v/Rn+3d/8Lba3dzQ2lmkSyadRz2VkyQkZ/8dOjO7bseIxf8m6zakL0u7CrRL59A2zqXsjk07Ave/5Gqa+W8mLZBsZPdcZb3wjKtf3yiIj3YZxHA+d5t/lAYVgVMSPANWQ9eyPxzeetCtj+7Z5ZvL99Flen7liK5W5Tc0sMTJ5gClVUNmcIUb4mCoSOdgnb6aHDzR+BoI0GIxncIohip6dg6W/ZgmALIoKLDCCpk3pMRPzkcMnKp2CQomwCgfmXT9g3axQVxNWKBu/pGpw7do1vPStb2H3/AVGacSQRETjEAJVsBENHjx4gB/84z/i1s1b3O+TNmBZFCiLggvWWU8qkj/JP1vo0pJ8JSQu6DqMDIYmoqnKdrJ/IauayeKaoA9P1tny89ZnExI6I89yZLQDOPhLG2k8RonnQBZJ5EV+BvlQ6lMqZApKyDO0gBk4Ic2cUcyqvLnTUMGYrO8wRhJFM5Zp7LLvc0OgowijonkQdUtNcLmypOI5/D2MD26UBc9ojPJZQQ8779mYkNB8b0QNmngEjCLMYnQdvvLVryFEGuVlmObfNi3efffdTGI+UVbleTtX4Pj4CLPZ7MR+SWqKhkcbpQvTNecFMxwMxZgHG0DQflehmgpAg1ONo1TyApKgRMpR03up0J2CPOPAhn5HVFKFzZF8gQSi0lYh95Usj0JDI2BCKt0nQQg+j5zVS9KSltSO+rQgs3b5mkJMT9lmFKNoxrUfCZrSmkj1l0MQRoEVYMjOUr4v+c2zJ2oQGV0m+ya/xwfCJHBHKCFGZlcawLE3sdKtB8MfAADwRElEQVQLO7JrkVpOokX0A4wPsM7CB88JFSWPNhLVVuy+UlyzZF7uRfp4C1cADhowRgFLPLi1JqiYBs1wtSpe1bU9urbB5cuXMJ0WiNZiOpvARw/rKnjeLNZARZMkOLCRVuzC+fN4/gtP48LuNg4PDnD/7gPs7e1j3bY4eHAXy8M93L+zjUeffBJ1NcHQt+jaAetVg6n2jdE85Wbdw3CvJOBg4OAcHShKHknr4dKlK/joow9hjEXXtfA+4vh4gfl8AgDwfYet+Qyls1gulzh/7hxWqxWWyyW8j1guFjy/dkb7lP38EDyWqzV88GibHjEETKcTGGPQttTrOfRMRQZpady9c5eo3M6qujWph1oMrOAsQfPO1jZCiFgcHlNSLfR0EwgcLkqUrsQaa51tvG7WKIoS1jkMYWCGh4cxEa4o0LYdloslyrIAHIkDzuYzDIPHatXAs86HJJ9d0wEAppXD1avn8YdPruNo0SPCYuCgLTB4bDK0awgDTATRyIcBjz1yDefO7WoyZqXvTQHhzKIYi/d+/z66rucviqgM/xkMt+94SvRhYV2J44MDHC9WKOttDH2HoevRty2qikYm/exnv8KVK1ewNZvi4OgQ53fPUtHII8VtvGeDJo5G/VECohJQDk0uLWIc8M5v38DZ3bN47rnnUVYVIjyLYTJYFD36voMxJVxh8dAjj+OJp76A37z22klRJCNnVD7OqOquUDrFRubxgIBpWtyS7CKk94YFbNyIKwFOrKVlCOTHQkwCS/x/gRNm/fyR2BayJG1sUzfjEPronBkn8RV0hOCJl6x5BpYn/zhW2lWLKrEDeFybVl037H3+Hll8lPt33ZM6CSUi+8aIMq0fFaMKu47i9QzUNGwnk1/SE5FZc/mHGYGs8hORhc7AQPBsOse6WaNZr3kkJ8WsXdfi1V+/jKZZ4Xt/9hfYnm3z0zd44Stfx9nzl/CD7/9P3LzxCcMtOeU9U/SNoIkSGVgs65jrpmh8nu3vqBTy1G6j39dKbBYbydioDTD6tFfMmhejMKTyKrusIV+bPovRFIsEYQVlqKTiEbIcTYo3xjg9HybmgNJnUzre/Lk/Voz6tNdnTmw1KEL+AOgVMtQ9yMbM+PtBN7IcrLSbjXDv5f2lOq8G06iMtiQbNqY3MXq4Ew1CEzZI0hzHD1MWkAMyyz/via+bEj/+/WEYsFwuMKknKj4xXhu6v4ceegjf/va3sXvuHNPAjCYi1hpYJ5LdFovFAj/60Q/w/vvvZnNFaQFK56jqHBNaoslNjGmG6wgBhDqAZH6z7tD0APX38qpGnszTy46EmBJJ5GRfGz0fy/28hDjJrMa8/1IRmhDgBz+qZonRFGlzx31nui4b663PMHNm0gOqFBCTjQI4BRWIXEnN11Cq7oIyqsK7zOISY5u9neHvxxBIjEX6lTmZtI67YzggsEw7ttn6p6qeGV1nzK9bqJEZeh0VpEk/HyIZZwGafIjZWCCi8F29dgUPP/oY+n7gayVK2+/efRv7+3v08yakoD+M1321WuPChfOjnuiRw4piGDDqoYyZ4AeMUOSzZwKQTC44yTAyS28DzdFnLw5eI5/R882dSvqEXGFclIslOIMGTelJpITVasV5/FzAtms0ekyvw496pyTJItp91GArZmOc9JMZ0HNO7sVykJ55Grn2KGNmpeJ4ut3L10cjm1zYIgMOxsntGEDKFp2XIRdU4/Nix06YPi8b32VYdEdGNlkzeobGUNJlTaAZtiFwYhsRPPV7Dn0P46w6WDuyKRtK7RJoWKEaklCQ5J8EElJ4E2IgJVtGopUJJH20Q4e2a1BPaljHehIcNMVMQTJVnMgOTGdTnDlzBt43mM8mOPfMU7DOYrk8xsH+AVarNX7/3ge4t/cAbrIFY2sMg8eDB3vY3tnGtJhoANu1Pfq+Y9/l4IoSGIDzFy9hNt9CGAIe3L+PO3fu8Bxwog53XY+h77FeA37o4azFarHAbDaDNQZd22J7awvbW1vwIWJn5wzatsOkrjGdT7FcLmECjf5p2lYrO+t1i9l0pjvFDx7Hy2NM6hqzqkThCkSbdCyEZu6KAn0gVkk9qVUUbFJPsL+3Dx8okeVx6XAlhS4+BFRlhcl0RjON/QBjHQbuHw3BYzqd4uLFC7h79y4iV65FxKquK6J3R6o0UKWWNvR0OsV8Pkfbtjg6OkLbd5jUFa5du4TVH24g9DSLk7urINIfUjEWVtODvX2c3d7CM888DeOixja5QIzEVGJpQghYrdYJ5JTzGCMm9QTeR6xWa+zfv4MXnn8e0RrYssTLr76Gpu0wr1K1wViLaEkM7O79+/jZv/wKf/s3/wbt0OPegwe4tLuLCJopTX3rfD05cwiUZOX+SUKthPByK9LQ4TevvYpz58/j0qVLKEKJtu10zrmzgA89Bg9EUFX+qeeex+/ffx9Hh3s8mkSIk7y4LP5kMz+ic8/5kiy3uyloLz4+ozXrmqdcPSWBmWhk0MA9M3OeFsabZN9DWonMPuYiimNbOqp8659BRSk3wxXpq80TTEDU6xMT77QENn+N7LhJcVsOlCNfW7FdIiyUFTKAJAqqJl2nwljtrx2PLTJZIh5T0obsOfHXtEtTngH7ZG0XPBkKZC+hSVulkBtjMZtSO8Tx0THm8znZn0jCtm++8ToODo7w4kvfwfkLF7n1wuHilYfwN//hP+L//f/6f2Jv7wHDAVwRlfaDmEcmJiWzaSdk3+VKi5RAMlALDI5lodGoNzo915Nx7KcmjFmeFiU3MJs/EFXdeZRUp29nnz2uto9ygCy/c84RkNB1KKzDdDLReMdmLaL5fZ0GxuTnZfN3/rXX50hsA1NfuLRu5QLsSMhE1GujUgvSDUulLUpww6fYMwqhzfraXCyzZ2mDWH4yIatyeQ7ODKvZycZSWxOTtRDKx3gT0HYlNfeUvoGFlAjFXaPioe1x44DLfVNS+x2cv3iJ+nHVYaVeFTA9q206vPbqa3j33d/B+z4ZwmBQlky1M9JDmVfp8iOEhChujAHiJ6YwwjhUHL82q52p5JW+RgFh0CQqfzMrCXQm6w5DYlxGRszoHqJfDDyixWQU8LxiK/+J8AGyaq1yAUzq+ZGAVKvHNon4auKnMzejjpfanCdKhibRFGOMLCoW5VFqghslaJDP4M800YxQVEmKFZHlXmxlIki4u5EM5dcXtf+Pv2ZzFcX0nLTfU6k6hgCEmAIQms9o8cKXvgjnHLp+oOpOAfg44M03f4MQBhTsdGKIXPEV0MBRgDuZjD47ZjMjEz073Qs9+qBOKuYGLdtNdO1UtbTaCD5+bTpxBTfUgKfzntZVNoQZfZbLkGPZa9aK9ikQuXqTgjy6NsN9hCFGOJv6Y5LzyXrBTOT+E5tds9U2BXGOUWfNRb3mqIivIQVZs3FWotg7iT7S+YxpVU5ZQ6E2CVgiwYa6wlSa+CMvETiT52ljWgthAdDfQ/ILCBkaT+9inGggSJ6dbKsQyIyhhKYsSwyD1+Ao2T46V0VRoG1aBiESIDSq9Ge9ZUaAF0hSm8APsP6wqMLPt+aIxwEwDmGIVA0rCjjWYTDGUY8u+z8JpiH7MnIPcFnAN2Bl3wFl6TCdTrG9vQUAePKpJ/DLl1/FwfEKhSswBOD+vXt49NFHec4uvX+IHkeLJRarNQ4Xx6gLx+PyLKpqih4dzp7dxdHhAe1rbgWa1BWDwrToIni1Wi54/AkpDvfDAD9EtKsWIUQsuyUO9g8wmUxw8eJ5NM0ay/UKTdtiMp3AOYfBD6jqClvzLYQYUFoDeI+uo71bVBWC9/BtJLqzK3C8XLFaL1XwjbEY/ICDwwNUVUW9u6SGpHtrsVhgUtZaMQohYHGwAoxBVZbo+h6mMLBFgYOjYxRljRgCtra2EXzAbDbD4Ns08cE6nhNMUxloZm+HonCYzaboFwOCCbh25SK6tsOtu4c4WnXcWkDqp4YNj+dZqML6uHTlMs6ePwc/DBx4S8KFE/sQBrhwbhcP9vaAIQmvyd611sJZi65rsFwtCFQxBjdv38FHH19H10VUQwvvO1gDTCc1bOH4nEa88847eP75p/HYI5dx/85t9D7wvvFj0Uzer6kLTASQ6BqtIduXWG5i8AOOD/fx8i//BX/5V/8Ok8kEk9qjZzqy3EfXddT7aCx2dy/gGy++hJ/+8w8w9E2CFiOns1LtFd0DoSypknvyuWqDGaAe6SCwhkYQyvOGNZMHYHPfraAwF0GkujUCAPnHE0FQk708ntDrUERgIw4R18lvYCTGGSUpyLKW0+3z5nqMWTfIwOYs9eLPFOAlXXv63BBoHI/EphGpiAAgVcg5jZV83xhD7bSJ8sbvsZFOZYyg9MHZ7xkBWDDqNc2B9cjq5ZLAy/OryhIIEcvFEtPpFKbgRNMHXP/4I9y+dQ9VNUNhC23bQhyoTzd7pinTzxcOifVk8xvKH0qyt4ZzhJxAkN7NnHi0/1rF8mTiN06KrT35HikZDQoaRXkuWWylANCnjCuKTCmXooUxBEhWFc3Ltkq3d9r3TrvDncpIGD3L/6tVkQtJtkIeKKUP3Aw2KfjymeBMhPcZDTkLCFMyuXmDWTUxQ6aMkSACeujD4NVYRFW0S9W1HPDK7yDmaBN/N3LD9xA8mkakrws92Mn4UzJx/vx5fOtbf4prDz8Cz/MQYyChDpvNjBL1otdeew2vvvqqUkAjiy1Za1mFkKt7MZ5ut7QXODeEG4ZzFNjKWp3+vPji5DvqnDVQz/qnhGIi+1HXHAkJFGGkyKrOaa5bqupYFqMI2Xvm8yXlmuT3VDAgAzX4cjMDljJ+Y5KitgozadIh1xJGTsVai6j09ex6+RnGjOCbC8PIPkIErNDewb18PH9OVtsaA2sLTXRjZJVWBovGL5M4zhmlUxLm6MMJAyCGJIgT4sp5zFDW3d1dPP3sM+j6jhODiLIq8fHHH+P6jevZoibZePl8CSh3dnZGIIQ4z/S8coRZTjBVA0IcG8XxHW+AUJ8CyeSOO98KyAzxeJPkayptVAYhq0JIgBLy88fU42gSU0H60bERsOR7ZeRwYRC8ycbeRBXT0Wviv8pM3RFAxf0rMUaEkZgKlO0S1dlkAlgamNhTkM90rvTf2eUkXPB0x5OeVlJ0lCQWWa+QHbWQ5OBi0Mq80bmFZuRUAXL+Q99zP3EAOPgWkTnvyXYWjmYvO0cUXaABWG2UZugKKJU6CQ2oWpx6x2J2jqC2wmT2db61hb29fU6sDeqyxKSqUXLyaZ3j4G5sHwy38VCVkBKNPkRYXoMQIgpLoHBRWFy7dg2PPvYY/o+//z72DxaInpR/1+sGW2e2qCWEneDxcpXEQIzM36X+V+ssirJEXVcwJmLwHYwzKF3EuXPncP7CLo4OD7G9Nde5wPfu3oVFwNCtEYYBIRjUBan+9kPPdjri3t07BLaUJMYUQ2RhINoGVV2RQNR0yoJ3tA6DH7Q/nyjTwHxrC03TYmdrC4vjI9R1jea44zUB5vMZM1HonkUITODCfhhGx117zXxkEakWk8lUqyTGGLRtC2vzHjBwj25B7ADuv3dFBR96VIWBLUpY4/Dw1UuwxQTH739ELAFh6fAllGWJwhQKONazGnfv3cX2tEJVljDGoPetjrjSnntWm3722afxLz//OT3iKDRlevdhGOCDx3w+x9NPPcUAh8Frv3kDXU9jroahRz90cMbSHGJD2gDGRPTe41e/egXXHvoPOHvuPNbrBvXOPGPS5AyYTGiG/b74R52TLVVAiL0kAaPbN67jd2++hT/55jdRFCX6oUcMEe3Q0tl0jqIN6+iev/Ac9u7fwZuvv5pxZhKIa0S/IotnUhsPiz1yIpsSkWwSQGbirKFRL3rL3CKkLB4JxlUMSLqwjIpthRMxFP8cT98I3o985Ke9xnFEsu3WUhJgrZVisd5/ynzGfnbz/U77d4a95q6HbJ0lRqSMExQvYJBiPVKSD4ghCaDSfmF1/JiS2sizy8H61UAcJ/KZr5Ebi9GkUTriz9TlpBnuaTOcso6S3PLPCJOz4tnf69UK9WSKsiK7GMOAYVjD+44msWbV0QgPJ1XNDBBOCyeRdgbGbMQ3yWXyjg2cTrI/ssZs6HhlNzZ6n8+S5CXwT1cjBs27UqXdAHCjJFUYiaN8bpSDjWNoeQn7rHAlnx8CefPrNob8uZVqt57lk/t1M6k9Ac78K6/PXrH10hTOAVE0WgWjxnKvhj0KnBUtQsxok1w1SaJxRlFs6eWUqomg/SbbMPJg0rBsqurRKB0yutbyokq/XWZwwSkYIImZgeUG/hScklH2YSDHZxyqolTE3hZEeZFC5Pnzu/j2d76DRx57FMY5ki+PXJVjASM6yBZt2+G1X7+GV195GX4YiHIR02EXJDcYpkmYcTIvD9gIFcIm1TXkFE+91/Rn1H25idpYPQgxStVDem+z8TuRKJYGJ+mWOT1EknlZdaECaiWPpxYZVetN9OE0rzZ7WjHR1lIFRZBunmOsiTI5gmigVVFJrEOu1KfXl95bkmxriRmge9SGEThHjABLvRGcuGsCKgaIK1gkce9HAjnU55DW15A31qRbKvAKisBRn3IEOwehmG0gwRKMZ894s5opTuqFL36JFFF7EvMIjGK/+cYbGPqBBWs8gg+ZYSK0jfrlDAM9Pt3zaE9liU8+qklZDpz82EQvOs1oabLMz2ts/8ZqK+PgwGgfWzoB8swF5OD5jQJw8F7zXjCdgZIyHikBptcbruIbfhohO3dG7Ircj7IEjKrF5w5PkjyhHKV1GDNdEnCQKjZMNlfXGyMUzFMUPCL7cywkIg5N1RZh6IDYjTU7pTqeJ38J9R0/h8gVZqPXZSlYMQIcZpUAEFjnGQ+wRiqxEd4HdJ2nnlJXwA89vAeGITLNmXxDUZboh4FtSJGqBtKjbS1iiDSCJgQMbCdioOfoo4c1ZHvlogQLNNn9k4BUha5vURUl6skM0ykpCbsQMXAfojUGQYLsQJVJw+WcddMiBMAVFcLQoygd+6kAY0qEAOzt72P33Dl897t/iv/jv/+ApgAgYLE6xgXssu8ksG25bHhfOA7ALIbo0bYdMwtozY0NOHdmB4MfsDWf47nnnkPTNDDOIAwDrl17GNvbW9h7sIcH9+8jeI9HHn4EXd/h9u07ODo+xGK54D5kg+ViQAwBy6Nj1HUNV1T0ud0aRVnAtgaz6QRFVWC1XmHoBlJR7wc4Z+H9QFRzP7AfsFg1a0QDPNjbg3MF2m6NwRj0fcdaHYHfr0GIEeVsAt97rJo12qbDbGsOGKCwZKP90GN5dISyquCdYx9mUFUFYoyYzaY0IkmUoesJ/NDDImK+s4XpfIJz53Zx7949dP2As7u7eLB3AFeWOFyuURYOvbcS7uipDSFgiB3HFsAnH99Au1rhC08/jlldwRqDthvg+x5J1SHCmICHrlzF7u4uV96jJgVJVX9gsLlE0wcYN8ftm7fxyfW78IGE14ZACULB820HST6jh4XBzRs38eqrr+PFb34N/eDRdj2cA0sGKQ+LzrQwJnMTHeX8g89yzEaHgYCVGPHWW2/iwpUrePjhayisg8fADLZBBZasJVXlonD4xkvfxsHBAa5//AF/JoMFotURJLfhODTLQaTuQowb6NppCC0VxizRCcDI/4hd06mluV+xJsUeEQwgiwWml9X7JyBIxCdTjCUiOtKWowQsYvbkLs4AtnBZUm4En9Nq/4b1hYSURpknceOnOI4240RhBMKph05gqayfiZZZQtKvKYAh7QGz0Y7EA8qy9xHvQB8S8vuStGHEXDIjGyyU9JHzSBecktwNMSD9fQNKZp3FarWCDx6TSc3xyQAYz8lWFK8IYywee/xJ3Lt3H0dHh5SYGTkDMQmGalta9nz4RjdjeEi7WwpKR61/8pwVVLAkkptAawfdajEiRjpXUWcCj8vGxmTPIGaCZbJMG5o14wQ435MnE+toyP8qAzPbbgnUMbovNRbj+8sn0vyx5PXzVG4/3xxb0IxCGaUjFacYUpAZIYcwaPAuSYnmo6P3FBGFcVKb3Y6i/lDjAw3UdMKOSVQ2w0pj8rPaY2ENEHL0XqyEVxRJFMe6rkdZVqjLCuCELUTCnkjFzeDMmV185zvfweNPPA7rCkalLcqy5KTHKRIbQsBv33oLr7z8MvWESZLP/RWFc0pPPBlTCvwoy8CoV6a6q/QFbZljVPWUfTIyYooOSYIn83WhQXcIqaoqz1hppzH1zI2qP3whMVBQGWKgYn/gfgJ/ci7qpoquCBVs7vU8mLZOehTSGsQY1MAKsi/mwnJyFUwGzMghFoMtQhFmXJk13IuaANKUTI4ekaCdUmFmkCYIaqYPkkdE5UnbyBBs3DgnKHk1efN7Ujn3QxrzoQkiArbmO/jiC18kkRaunEwnczy4/wB/eP99pfQRKpkltqwyeHx8hPl8ns5WRh+PcWzIRmOqMpGodJQ3+46y21FRqAz5zQygVk2zn+cFzPY1xvNb2ehG7a3OAS3pebH6LrL3ASirQi8+AwzSGqXnnzwsjQEJcQBgWenc8GzgoNeYDHsYbSiTXdtYmCQ50nECmzsz6DPZ2Ci61fVnNZNTNDAHjE91KkbPx8Zz0LUxku7zJ8s+TGrNUg0FJ4QQ+jDk0UtLgtOeTGMsZjPqqSTFW6v3aa0jGqmuW/b05QFJ7z/btSh2LpKwnYISIdcToL1XVRV2d8/yAhqUVQVXFNje3sLqwUIrGREibjjuHzLWYn//AA8ePMCZ+QwAsG7WqKuKRJOYRdL1HWAtXFnqDNnBexwdHXEyIP2+EU3bo2na5Ed5Pff39+H7DpcvX8Z8a46+X2Hw1EawWK/xxltvEc0uAl/6ylcwO3seh0eH2Dp7DnsHh9jfP8D04AB/8idfxRNPfwFNs8D+4QMcHy5w6+YthHAfRU9V4bbtSI/fBxjnaP0c2TfLM+In0wmsc2gXSz4HpGDedR2JPbGgizz8elKjWfSACahqh67vUFcTrJqGheuA7e1tHB8c4tKVy1gtVuj9AGsNtuZTtE2LSbVD68C0YvAs5KqqcPbsWfR9qwyAtuuwv3+Ah65exs72HKv1CjFGPPzIo7hw8TJu3bmD2dYOrl57AoeLA3x08waGgZSmAUuVOgbrIrdvUKuRxfHRAqUltouNMxRsW3KRN2MC6tLxnNvMLpqUxBhVtwfabsDNG7dw6co1/OaN36JtBmobMYDjvmUDi7KqEYcB0VN/elVXeOapx2Ctxd2793Hpwi6OFvuIscfF8+cUVJJRatYyE0lSJfFDo2JhzGwLB+7OoW3XeO3VX+PCpYuYsNhgiBb9IK1jNILJs5L+ZDLBX/713+Af/v7/gzu3biW7ogkLz7MN0o+ZV39EywJJf8KkX06JbhLSGduzlHgBkfQyQgYeK6As9t5xksP2Kma/LvGxycQAs+uSmCT3Ynlcs5kECcc5wbPp/sZVrSyJUfbhZr9vup4xAJgnt7nxTz9sLM2Izn22TtewRnuFDSeHUSu/43vUCqHQycfOSP+U5F+dWebP0w8hIZHqG/Ok3iTAkn2Ocw6z2Qyr1QoheMxnM1JoDmmmuV5vBPb29jCZTHF0dMxMVJPNaB9BzBrXmEwvI6/c617iIkfgnzPZvPX8GQrjj4op0tJDPjSMdr4+YWxu7jz2otGnSfQt5oJXI4AnxTXYeMc8F4DsZe2KOrmHR+B6tvnkZzeT202w6fO+PnNiKz21ztLgdxGyjCA0zQltNNBjtiJ9mQe6jpr7MyBGezPk7EjCLFU/xAieIQ+pUsWYyaLIBlCkg3uajDgEruYhplmFjAQa6b3kWYveewQYNF0D5yyJgliDGIxShiL3Nk2n2/jGN76JJ554ivqlQoRnCXRnHYKPiM6wkMSAt99+Gz/5yY+xWh7Dae9fZBVLqyiUKbJh1hmiI4YwsgHhWj/RPDJERF4J+YlyflRAQQ5rcpZZQgj6bKsjTU427KtRtoYDwWzz63gPBg8cEt3KS18YVWrzat3mSB+5TjnoMs5jZByANNIJURkB6TnlqsJRKeZmdDA54B64PzcCHlF7rYwThyWzxeTwJeCAEmSRepcm/cjBZzLGhcvl4JNkvcmcV16ZFkDE2HSOsk7mJB4hSZzQWLN+iqhtAfScnn32Oeyc3cW66xAAdMOAqQFefvllCrosNLHddPwhRPT9gOl0ykGo14oEdDVztFAErKI6/5O94ImJobbmVEPGyVA0ooXJ+yyMnZDuQ2R7QewKz5+T/RpyVFXuwMuVkzour10udmQ27kU/J0dqQdQ/eTwC2IxHQMi1enWG8n6Be8uivHF+vuTZjmjLm2uWg4BpHRJSKvcgwZHVofKyJ0fzAjlZd85m88U3aGXyHKTCwwGklSA0UtVDQOUgA49UzIXZF7IfjNFZtTKXVGYyd13DcQ6dhcEPai90PSKLRTEzyIv9F/8R0+B4Ff0QylSk3kHEdO+UUEa+Do+h6an/1gC7Z87g7oNDCk4AVkcWk8CnlRkYq2WDBw/2MK9K9M0KbdPCz6eYTmus2xVMtHDOYX9vD64oMZtMsVwOPPZnjcjJPXHXAoa+wWq1UjstydCt27ewNZ0gBOrhXa0G+D5ive7R9Wl2dVFUeP3Xb+H6hVvo+ob2vKce5gf7R/jxT3+Br339mwjBAqYCihLXHn8cW2fP4cMPPkZYN0DhdKzN2e0deE+UZUlwbWFRVRUFsuzunHNYrVY4PDzE1atXYW2hVTxjDC5cuIDyymUs1wtUpcOVy5dw/fotuIKEYbq+R7NcwgKonEOoS9guYr41J1sbAmbzOcq6wv7hMfqBRKNW6zWGfoAtyL/6gVg1Q+dR1wWeeuppHC+OYIoSN27dwv/+X/8bZrMZjhdLGFuinE7w2JOPw7rJBrBDQbx1lhIatlchkL9drRo82D9GVRQ4M5+xcGWUtmEAEQ8/chXnL56H708xgWx/HDM2AgK2d3dw8/ZdfPzJTW0bkYqkgUHXr+H9FM4WrDYf8fSzT+GrX/0ybt68iV++8mv8u7/6K8AWWC8XKOsavu+z4Fu32YbPMdp2QxUgMxK1jDEiDGRL79y6hTdf/w2+8c0XUdY1ui4wEyb5p67rCGzyEdPJDC++9B289utf4fonH3MokY14oXZNjf/Uk7OdtDEy5yUHhyU+CvlicvIRNW+SNZYqaUQc3ZNQTdmB6GggAWE16hLfAjOqUikArwFvwqtHfs8kM6tFBRPTXNmM8ZP/jmwA9UIyoULS6A2wMgGxOZicrlcSFl1iWVmmSYd4stqWFwLye9S1Y2q9Klmk/0vJnH5eTCr/DBTmkhLYGFcnv4fosrXJYgv2gYYr7lvzOZbLFY6OjrC1swWYiCEEbmFhf4KIg4OD8UfENEYqGAtjPClBiJgqgCBjRrNryAsFfIy4l11iey5uydkzkdWULceZjlW7eTyaJvSplzxmrIHxS2IXmeOeknA9Jaf0tYqvNBkoMi50jQGSVC6X3CwwozcbPcgAbMw+O48BTyt2/F9SsdXeSg3bsqTBELUE0XA1F9yTKKqqqf/OcKUsMq3IWEa1s9mCCJIc8SLbqBhKHhQKOhRk0xueE2UNlGeYPRgdtB0DzxAzXMEDBngEBDRthxiBuqbGZz947k0BIc/eYDab4cVvfgvPP/88nCTrhmg/YDXcskiCKjdu3MCPf/xjLI6PU5VDRCCcVUodbKJzKFK3gWxIEKp/R1Y53QxuRzZv3Och1RD9H8v/EurMc/lUGTk1/GswL8aK1xwjYwYOImOiMJm0Z4aBKLCimJwH/VK5Tde5MW8yczAyikmpLCMDmS1DTgPhTMZkA+wJCMmUqfPPzddydG0R0UdO4RJVSG5YK1G6bzeNcKoMIjcQer2WEwPuS8jYDEpuyh1KtteDD6pAJ+sbQkRdT/ClL/8J+t6j7YjaV7gCy+US7733ngZNiimNki1DyuCTEt73CMFmyR5SEqvrN3Z0ST0yv265a/r65j4QtDa9p80cWtr/2BTeMiZ7lilxVoebfbaAPDG33OJ/872gI8w29lMuuJTQnY3fF9uWAjkgVWpZW4jXwGgSpTHYBqCdquSO6exp/Td2ftozklypA0rPSYExZCriJ343geYKWmbXckKkJbM3aiMUxBSBkuRL1LOI+Ioxal8E3LPWIgxDVo0PCIGqqNEHvQapimtvcSC4QlQnxyyWTEQmS+YNLHz0CkRo5T5GHB0fwVmLaVmjKKmaakA05xKFZMPEFmGbYxwHmWynq6qi67EWW9vbCCExWJSC6gfEtsd0UsNgAcSI9WqNtmlQbZfUH853cebMGX1WkemdTzzxKAz73nXTkCYEqK3I2kIpuAYerW9w7849DIFUjq0xmNQTrNYd1usef/jgJna2t/DYE4/h3r27mMxqlIVDWU/h+gFdP1CFbrnW8Te+a1GWBULTw9gS666DtRbb29tK65/NZrQWnjQ5iqLA2bNntYf/zt07Opf3xo27cLbAfDbD4eEx6rJE27SY1hP0bYuhoZ7VMHis246q26xMbJ2FDTSnsigLEqcaPLquQd8PcMahrmqYaPCrX72CdbtCWU/gWfCxP1rA2gI+GLTLNX779u/x3nsfw9lKGwdENJLEwwxCZHvFGUrfD/jow09QwqCyJSaTitef9mVdlnj6ySfhrOWANp0LMS+q9WANpvMpZlsz/PqVN9C2g4TLI7COqOoLzOZnqO+9cIgR+G9//33s7+0hIuLSxcv42pe/QIKAxmSTH6y+RxjFf5TgRCPzouX8jOML8UkhePz+nXdw9epDeOihh1CUJUII6LuO4oRAsUDL6tqFK3H5yjW8+JLF/v4ejo+PIZZbq07OKt04gY9jQ2kNMbME2E12LQmThnGeO4ofVBD4RAXKcFNQ5JgmMej0U7IWKr1oDZ0kCVYu9ylBu+ECEWs0yHiGzEclp58S6nFlNjXJjN5XHaAIbaYkXvEBI89TKr4n9Q8MK8bnib+TaR6auLPNT/iCztxNLc4ZOJv7OV2flBiLf8jjHSTvJfABgxpIrXoaaaR/y9rMZzM0TcN9tzXcpqhotoKyxeq6BjxIoE5n6GbtaEi9tpp85j4RpJGiV6zPxLKAnoARBGHFAN23EI0KxNHzkAs05mQsMI6d09rrc/1XkkbJy+Tic/BB42RViM72JwMwhbM6UmgENGSjQjcT21EB63O+PsccWzZwEnQGqUwRTU9mO4rKVYyeHo0POhs0JWg8woL71/K5t3SzQoFNUagaGKGqseCItRYu2mzDGO6XS1AC4VeZgZFsywQdi2KiQduRJH1d1Yw4snw9jw4w3qCc1PjaN17C0194Ht0QELsBERGuLOEcuK/FwRYF/BBx88ZN/OAHP8D+/gOatxgj0dpshHEG0XhivlqnQlMRQtENamzzhywIn1JjMpcWubFfRV1iQlilry1Vu0XMiGiy0NlsEQEkfMStM5osWJf6OLCJovD1hBi0DyQwfSTyXDwCIawaD0kA84R2RGE9JbkV1FLDusxQb7402NMLTpQVnUUWWREzRka1GXywmfIiqx2L2ikyo6D0XdlXgrQal0SblLqdWAnqSHOxHyVXpYR1jBobVWw1kGp4GhWFaPVs5vQOWIMz587j+HiN4+Mb8BFYNxTU3bj+EVarJfcXe1hj4XMwBTQPbr1uiIaZ7c2x3Qm6T9RixDjyw1ZpOzJKQKjYJ42YnHcNp6Kn58U0eUQJ9DjIUXETjCjIm/v0NGQw8r6ycHreTOZcowYEY1EgqfgZxXaS4FVqoRhXhfM5zPJepyl0x2wdpXfLuKTm7CGiGkreVacmdnZcUcrtSFIRp38PqlHAC3bS2YB+LoYU4OYJu4pjWq7USmuc5ZFvjgEbUY0n2DybNQz0nipdTjeX5dEtbCMc0blFxVcSFGOsClOcObOLu7dusy2ksUiRk0A/hARk5PYBgPcRvpW+84hhCOh7z5R8Wq+yLGFAVeTp7i6sNdgtd+FKg/PnzuD+QUMJjg/wltkmiKoWEZmNFE2J6CqsliuUdoCJEf0QMJ1N0Q8NnDOwLsIVDru7Z3D95j0AFk0/YLFaY761zeeKnndRTtH2A2Z1AUSLofXou4FmnEbgcP9IE/4YiYkCYzGZ1AAC+rYHBqDrOwICYkBvqWzY9y26Zo1mvcSdO3cwn2+jadeo6wLWAcEP6LuW+ogtjWEyPI0qDBHOFKiKAsfNMZpmiXO7uwg+YlKVcHCwgeIDZy2LaVkc7B/CDwPiELBuWhy1Hfq+x/bWFs6d30VhCgy9J79ZFFgcH2Poe7iiRNO22NvbR1lVDKoH9H2LGA2GIcC5EjZaNOtOQaNu6LQfNURgCAbdao3ZbIIwBPzh/T9gZ3cXR8slPCyOlmvsHyxgTaGxiQHNZ48+HwXCWhKM+i3Xa9zbP8DWfAv1ZEqCmrBw0eDhq1dwbvcMYvDcSkMMASMdPEaqSKA2JxgcH6/w0UcfIxpqk4qWkkRniUplKweLADN0KF0BH4Gj/QMc3D9AhIOPA3718q/x+KOP4tLFS1itPaaly4DekAIOpj/CBvU9llV+KNRKPlhsivAyFotD/PznP8Vf/9u/wdkzZ2HgEIaAvm/gSmGRiT8gptv5yw/h+Re+gl/94mesfSLGPwOPAylQG2sRPYEEwVBfZ4xR9Liy2EAYRpH9qKO2MG4zE0clFWv6Z9DfPelDMvvnxXbGLB5Lc0E13zHQSqfOtg8JvBO/72OK7ACfKdZvTlEwqmkrsSOpCCdhos0KXho1JfEE/YCM65QVGtOrubykFNaYMj1msw0sWOeM9OKCBZJMFq9lCaDEM9Yoywch6VXr6E9FJDlCktn2ASSomBUhDCMWye2lQEVYbylMoeR+NpugH3osjo8xn2+hKm1KtHkUXQJEDc6fv4innngS//Kzn2HgNqNR2iaxpey0jPGl927ztZP4TUJ1+m1rKIdKk10MEF0Sk+NExxip6KaG+KjfG8dC6TYsTwHJRRNT7HkiqTTSLe3HX851tOQTuLpveH/JERTNagU+8vc5pfK/CSp91tfnSmwlyKZZYdCLGOc26XujCkdGsTQ6ysUmTr5UcrPfg5TpR+NeJOiiMQzQXpB4YmHyVy6sEiRZUPTGkEOPUceYeM/iOZpkEHXqueeewyOPPIJuGDD0DXw/wBUFpvzZVTVhOqnFzZsf4/vf/wfcvHWDvpaNA6FqbSr7S1AsSaGsxWnBvtwn0SRk/XR1NNhRik1GwzyR+0llzOYPETqOx2brJIYnZohNDKmHIkbuRTSp/0aS7BBInEOuPzC/qSgKff66DzboECf+FNBytHfs6DBu/il/l95hoVwqWqXCWcjxQTYUMTlvJJAGTBlNnyVobqpYJlMXlXKiN6HJk9F9bVh1N4SogXrIHpse9OyEaY9EpN/tPVFN8h5i6yzu3buH//2//lea9yfy7MYiBBo55ZyBERqyfh6tb9u2ysQYv1LvbHp2dMVJOGzzNOagBbJEbLzP8x/drLrmP6cBg1SrRirA8vuZLdpMciU51PE0UNqUOgwWHbIn2ANQETBZg3wfJsqRya5Jkll1xaPr26Q46zPMrltUZnV/KnBosgpjZAG4fG1N9t6ZQZBK9ahPOq8Opz6ivDdQ9p3MO3RSadW1lepTgJP9wrR+o4EU1PYB1F4RrWXVb6BpGgVpaL7nCqvVihkfAd4HbG1tEZ2xrPTcDX5gBfK0mQ2rK+d7QIIpC2r/AJ9ha0MSltMZ2w7T6QzL5TEiIsqqQlVXOH/hHG7efkBjaSxZzaIg4UDp84eCKMBvf/cO3i8LHB/uY1KXKKzFZDLB5SuXMJtPsTOfoYiAMxZVVWprTj8MWCxXuJQH1gCMLVBXExgbEDqa+frRRx/jwvnzuHrlCoqyQts0CiCy7hsG72EtqaL3PSWyA/9JSTwFfUPfw9mSkv2uw3q9wjAU6Po1nAF2dnYwhIizZ89onOAHj2Hw8IFYJNPpFOv1CqvlClvzOQpXwEePLvRaReq6DqZZo3AF1qs1qRI7qvLevXMXIQCL4zW8j2i7jvZEXGlF1jmHoiiwc+YM6rqGMV6FVjoWSCqLQrUSxK5sbW+jbTv0foCJDmVZo+9b9H2Puq5w/vxZGOtwsL+H3hv0ASisgQeNLRwQNWmKapdiipdi6p3bP9zHxfPnsZvZqLqu8NRTT8BZYOBZrCa5CRY2MzruSBK89997H+t1k6psCKhKi91JjRi8gkauAFxp0AxDpp1AYP+6afHzX/wK/7e//WsE7zE0A8rCoK7KzMZGtn1xZJfGJuVkYEpJHsWE+/v38crLv8T3/uwvUFcVOleiqkmpu21brIYGW1vSA12iKB2ee/4F7N2/i9+/+zsWUPvjL41lpOceBtHSRA6pChpOVGJKtVgokIF4jhNPD6qN2s1Nm66CU2rPxbYG/XkfPLNehJ0UVSwpXzv9NCMg6cbUCyP2Prt35HZafF9G/xz9LseYMe/OzBhlUTJxZF9I/59g15g+k/14YKV6HYOnQEKKm7LaHv1fiKIvqEGByb/Pv59UuDPWmhkVl7lNj5NgJcmMGsJlIVIcawi03N7axnK5xFCWmM+2oLXgkV6Dwe3bt3HwYE9BCFnXDNrh54mkMZTTA1JeTb8bc9ZhfoYo7wgxJqEyYQdKyq/6JlLNTb8rorynxWDUAhUQwumx1eintVKYp+uyGpt7JXttxK95ToiNez0tbztRmPqMr8+c2HrPiahInWOceLkscZWivAb4kISHhw5zwGU2UAylGmR9TXIMwL1Z/TCg63qaVdg2aJoGW/NtbG9vnR68SsM+YvYszGjj9X2HyGMYkCfRGf2wKAp86Utfwp989WuYzrcAU8KXXgMFCmKcouL7+/v453/+J9y48QklU9xbalnwyLlxsqYvFSfKVFXTt/RgG67ipKoewN2htJnioOiNMUFPjBwExGwGq6JYRquYHI3rvMdU8YQG0zLXWN44IiXk2tcZxJgnOnrf9xgGChIl+MvXYlRp3HiZpD+M6Pn+nNU9k/8nv5EcWmIZ5C3s/OHw2ntAz8jYRPHWau3m/K6srxc801NeMXgCdIQSpKc7O9RizKTiF0OqDrIAmpWohcVutLpnoKZCEhLvyYnnz8xIJTN6ILa4cPEyjo6OmJ7I1wnam9EETdYpYKbPOjo61OqOUGhzJHxseIxSvOjePPWAmHQt6eY3HflpKN2nnBUNulLPrVVyQgYinGIT5XMCBxVGE8fUj5yeM/2fjF9QQyxnhD/DSAsn9+9ESY5hNElLyXbMqPdJ9RgQetzYgUSZ2a0Jv6DOGY2M9+A4UdaVGiXe+folYC197bR1poUrgOhVCVO/F8HV7swBSpDvoRs8FyWJPObKmzRCjQAgRvydJVpuiKTeawzC4LViC6btlkxttNZi8D2MA6nnFklhPQGnnpJvFcPhEJf1AKwRhoqFCQYoUmJKSWpAVVW4e2eFsiiwe+4MyrLEM888g9+88Q5XEbJAVpJagPu3af8cHw9YR6LfHrfSL3yE+wcHuHjxAi6c28UjV6/AuAIFDMq6wKrvMXQdFotj6lkCzWsNIWDoB9y+cRuzSYHtrTmqosTVy5cxnc5gjEHf0TX50KPrA4qyQEREP3Sw1qAqiXZL1x/RNR2ccXDGYDaZobYVYIAmtChKB+sMyqoATAHnLHrfI3hiEtT1BEVBSsjW0PiirfkUfRgwm0wARDTtmtY+BNiK+m+HrkfwAYvFAs5aVOxTAfIZFy9exOHREYxzTPM2KKqK2i4QUU9nGMJAs2u9QTu0MDytoSxKrthSomudtCUZnljQ8/cA3/XoBo+ycBj6Ac5YbM1mKOsKzz37NHofsWpa3L59D4dHx4jWYrFqMUj1UM+fMNlY0ZT/t1itaPZv15D9scBDD13G+XPngOBV/AtZ4pXbWeNonNvB4QIffPCRVkUjY1wPXb2Mv/jOd9E0CxQFzQkGPG7cuomPb92hkSbOoI+BevZiwPt/+AjvvPMevvyVL+D4aAGLHtOywKSu4FxFfk3oW5nIm488nVLpiBbB+I2r5qDGAx998D62trfx4kvfRlXV8E2PonAMgkZ0XQOgYhG1KerJFH/6ne9i/3Af9+/e5/gwZFLCxCILPqoirIl5j9/YxoJjqCCuR9tdUjvbpv8ZB9fxhM8bgWRiE0NI7Dax5uwvozGJWhpTb0QO6JuIkTBWsuWBBZccA3QBWUdxVjSXpPVkIiI01sgAiTFpLemacn+SXYH8kf94pGcOZhiQ//MYvEeAo9ZAJB9lxAdE8N6TqjVVij23iOn44DzWytrWwKPv4KSQZrIYV9ZT1sMo9zaKkx5dR0pKbeEw25pjuVzCrlaY1lNuETRZNdwi+AGrMKTcghNQAS6g8QiBUfL3Tc8q5yayXo3E1gaiRyMTBQauFAVliY1fHJuqMOYYzM8LQfnvUAxiT8QFenJD1mrFv5OmLmz+fGrjkq+FEEcVtRzjkOJZZDsUAhTIzM/Dyc/611+fXTxKKhJZRB5DQMFKtlIBkkQJTHkFzzOU7wVWnN1UNc2TW2QHPBebMaygVxYlJZCIWK9XFDgjcA/tptFJtIsYUvWBDhUhxN4PmNaTlNhtcM6LosAXv/glfOMb30A5qbW0XlWlVqVCIJQcAB48eIB//Md/xEcffghnU3IPrpy5vJ+YXyn4wSgw1e8LYnWKep1WBzOVZKEXjz4ne8vUD5r2pKy1JHDg45neI4kQ6JVuChBkzzOvdIATVvl7WRY6G1kRzz/Cq5drIGAkaMJNh3PIFnm8nnK3BHQnuojMWY2BDzAbe4zuNfWzSsaiycQo2crWQ3oGcoZBdn7Il+RVv1PED0bgjEn7YaOqndY4qsUYvIeU1fO9IgI8xgDTSYWjQw8Emv1I4jYCfpCYmWWKZ+A2g8BzE3NDY4TWKAGFjh6KHMwJDTlRhcTAm6wv87QK4fjZp1mom4bOaJIiwACfFlHfPWU/JDslj1WCmzBWUc78uYo3ZHtUXX72fnLpvecQ19g0QUfvJwOvOJHN71uApzxplnvKq6ebgdXmPW7sKE6sRbwqZJ8z/vnNHnd9LpYrrdamGYFylphpYDOQTMEcl1oL5InkYJacmXTGCw02JRAiwRyyxTF4TWaNsTwSqKPvxYDJZJIlynKLUZXbdU+GqLYzIGS+LagfsBnrgdYOqKqKGQwGXddhsVhi1faYz+fYO9zP7MEGMBkGqaXAcfvJ1mwbpQPa9ZqqvX3Awe17aA6XaBYNtra38MSTT2A+38bx6gA2BCyOFxh6AgaJjk33snv2HLZmE9y5dR1Xr17EQ9euoeeqph88rDOYz7bQtg0XSSgAopm8HfqO3it4Yte0DYkods0BTDSYTqfY39vDQw8/gvl8xnu9hGd1dcOaDADQda0Gp6RcDwxDj7IslLmjPZVFgX4I6D31HJfWYDqZonQObUvVvMCgY1XVaBoab9T1HaIl8ACBxAX7oadqMTOETPCkDmzo2uqqQlGUKCxdxzAMep6dc6xITWIyu2fPwBlODGugnlDC3vYDds+ewdmdOY6XSyyWDd5+5wNAKPrcVxhZBCbktpztxv0HD3D5yiVEA1RVgaeffiqdAxgY47W9QX2qthrRGKx3f/8e1usm+SL2Wmd2trF/8ADnzu/AACicQWktnnriYVx56Cp+8tPXNP4ynuKiPgz45S9fwSOPXMXO9hYQWpjQZ8A3eOfyyVfkL9l+TRIyzYuUowdmcAFv//ZNXLp0FU8+8SQiPHzsAFh4EyiG5z3kfUBRWMx3zuCpp7+Avfv7VGXKAH0Fdw0VC7wPmlgkcMCgYDq3z21/JqCZ2zqxQycqbKfY108DW08UVmS0jyUarQiKxY1kWAW4TojqyHvahKJqSxSoqBFT/CfBBv09nrjHqDFgCtrMRkwOnvNNZMfINHH57cRAMbpmzO+LdA8+eIYpsz2SvQOkwhuoTSUiqVAr9p+5sRRfmPTZLl2rwUbPD7L1GL1R9pwwjoHB85W3t7fRLtZo2wZlXdPoprzizH+VOLlwBS5fuYTbt2+T3hAnqxL3BKb0GzO+FMpj2Vc5mbiS9pY1KWF1koByy0N+M5HjOC28ZOuQaOeyHqkYI3HYqPKvAI4wHLNFG/3MaKtkMbH8DDLQXnecFqfUpmQMXufK1O76/0ef7edKbMGGiZKoqIaLIYesGsFzT5UUEVXVTg23TbSSMSLGQg9GtxC/NwAElHVFs/oATCY1rl69wklKFgAa3XVJDEVGsyDRmPveYxgCJpOp9oVtvmxZ4Zlnn8WffP2bmMy20A9E0zKW0H7rmHJpC4QIHO7t4Uc//CF+/+47rPomCQ711AoVdjNJHaETeu2UBPgo6xaTmrP0GksSukl3tCnR2DRX9PasaIyUWKSfZ7xpRHtOlA6hxQVpzk9XTf/FoIqtYNcizhicdDtXoCisnnRNl7PERYJTOwICIqxjhMtzdUvErfT+SYACTIvXyrsIKUWh+ZLgg1DrjbWqku05rbUMlkhFT9FBvlehg0tooTlvDiLkBpkVr0eBTpTgPp6esMhmEPVqpr9Fz+vFlLiIgN73/AyjghWbokwff/wxjDEoy1KDTKlSBjYyJgwsbmOwOFpgNpurkwRolAXNQrVZj2naP2NDyAmRYWpQEFZGQvbHCa0kPUKj9Rmdxpyoqoqyr82QR3kOUm1V26JjvQK7KaOAFmJSVx+dJWMQB4/oXHZfSRhN3gusghgR4Vi9kPqrbLKLVneKOtw8MU97hc8+RKE7S4Y1ZjotoZXznNYn/37epyWfJ45mDIKlpC9R5OmsWRbtkmtN5zOF2OKsLSEczO5Iayv+xKhto+86a9IUTUP3sj5ewnhiflgDtOsGwVPy2Q89vB9QVxUiKyNbQzRmqTJFVp/Pnx0gIj82zU2UigAnwsPggUD3TZoPFkXhsFoEXLp0CTtnz2LwPeqJw/Fyha2dGsMnS8RYIVjDJfZ8/UmsMHJP96XLF/H4w9cwq0qsjo/wYP8+3VfwaLsBe3fv4/atO9jbO0TPez8MAc1xg3bdoz5bc8JA9rPpPM6fn2P/+AiXrl7ChNXL/RDgg4exjnrSPFDVlJyHGBF8RFlXuPLQw/j4ww9hrMPZc+cQvEfXDygcsaMszxnvhxYWkZWoLeqyJvDLR1TVBGXpsF53cAaYTmpERHR9SwJP/YBqOlFRrr7v4H2ADxF912FS17ARaNYruO1tdH5Az21B1npM6gohegw+EI25IwEsGwMpMduI6AdYWFRFib6jc+lAM34d6LkYP2BnWmPZMNjKvazORWxvTVEWDogBk7rmg0nvX9cVnLNYrFaY1AW2ty+iaXvc+OQm9g7XCLbIRKNSG0ZiPFBUcLRa48atW/A+4Nq1h3D+3NlEd+SeQR+kL9FyP1xi5hwdHuLGJzeJ1m+SVzKIOHdul3tSWY3cWbjCwtkKvQk4ODhGUU55jrknAacI3HnwAD/7xa/x1//uLzApadJFWRXka1hnIgaexGABGyWJTE0GdC1uVJoxjvyFCdSWNHQdXvv1r3Dp8kVM6grtqsHQUU+4D57FEll8NFYoyxJf+NKf4MaN6/jk4w9H7pXUy6POIZeKkiidGz7Lnmvplsu1qinkINknxy4nW6Dy85tsv1Ggy6TsapQUkMAiC4KKt5HZ6DYy+J36PY3ha9Oxi7TvRjEWX0uI2YhLk39PEiG614ggwsjkBzcnL2TgrY500rnrAdZl/iJLckT8aTzSLwE7httPiGrN/mNjZimEWiwikIEowYHZY9ll5+jDyJ/TYzUjcuMIVszAIc29ssp7js8Y0VKxlLjOZlM0TYPjxSFms204V+j8eMmHOT1BiB5nzp5HP3jcuXNLPyfG1JGqgI8GJumCpZ3J5kKFWWQpIq52xDaQKQ/y8+LXc3Be4p7xR+YvjZdOJKypRZKj3WxlM9BYtIPMydnPyBLrkF84q5frJ+Vfz/bUaffyWV6fXRVZZ5bKlcgBC6y8mCpPUhmQixzli4okbSII2SELcZSkQH+Wqz1WOm8lYORpTiZt5CCCMDGQmEOSegMA9F2Hrg+YTutRQoXsDLmiwHPPP49vfvOb2NrappmJ0sPBN2uNQ1k4BFgMfY9f/epXePf376akkANm52Ssz+ky1qchf0ntju8rpp8XSzwK5BXVS05UAj0JJNSoxZgZi0TFGSGMOTUmRzE3kjaoIqRnsYyYRvxwtBuy6h2QKiECdgQfaBTIxkY+WcGL+WPMKnYZLVsSHZuBKzmyGHOjNt6Lm05N/vTqfOjPgHgC0RUFRFKRTtRhDZgzxB3GpeHyhhwRZCzAJlKlQll85kLUqmcChyz6flBqj6ytVEWzvHpUJaXxGp7/M4Qyct9j5N6j5XKJyxcv8/padtpB30/or/kIp/wlFck0p1gS6Sx50haAdJ+U2KbxLfK8oElhtkZ5Isv37VlA4jSDKPvSxNx4pn6jfM/n5yD1xebPyIyu0TE4Ym0pwDbteSSqTmDlWvmsXBE8sVRA4iw2Wx9pIUACctI52GSbbCbz8m+FrvSnLMbPTINSk1TmjTIdUtX9xPk0UP5YCqBS0Jk/61xcC5niZsgQ5RiIhSBKwZHPyDAMOsuy4Iqcc5YV6QuAVYmNE+DMImQTrFIAKmJ4G8rzMAkEAwWvzqVxTQeHB1isVtjd3YVzDnt7h3CR4uQhBhgZv5BXvIWtkPm0CxfOY1o67GxNcOnyWbRti6qusVyucO/BHu7eu497926iqGcwbq49u+t1g7PnthF8AppXTUMJUQxwRQF4D2cdbOkwnc1QOAsfBsBYVvuPpBDMo5D6ocPgPSY8hx3GoCwrgEWzXOFw5swZ6sG1wHQyJTXbpsG0nqHvB13gyWSCdt1QX227ol7oQNcle70oCjhXkCqxtYhFgRgChhhwvDjGum1RVTUigLanijzaCMSAtutQliWqukTwAaW1KKsKxgT2QeQXYgG0bYuu71AVpbJbnDWYnNnG0HXoQ2AmGZ/dEOFYT8AEmstbFg7Gkg830WFSFuhjgLPA+fO7OLOzhaPjNSKP79F5sjw1YaQYbgz6YcAnn1zHdFLjmWeeJsCbAb/A9OkE96ajZQywNZ/jo48+QtM0ak/k/87s7CAMPWIs0A80Imo63eYE1+HDDz9A03TYqrcAQ0ltCF592zu//z0efexRvPDs4ygKi2ho0oUfPAsnEuAksQlV3PgiJEnkQ61nTGysTfNX79+/i7feeAMvfutbVAU3LYrSwHcEKFkXUARSSjbWoq5r/Pm/+Wv87Mc/wgcfvKczm2PMBIY2TZih+aV07l0CI/NEEkhUySgJaQ4U5sG32Xh7q/eYs4oSQClvkgQS89+FDUmQC/mc9FHmPrqvqPow42tREDOMk/FUhU2zTkPmM8eRVeqTzVOlfC2sZEije8kAeE0gDSwLWRIgEmmutfSD0kqTX9F5VxIvyWaPaQSbPC/FDRynWiIqhrHfi0gPWjVMwAl6SsrGwWTM1o58+GQ6BVqD5XKJyWSKomRV8gyMlQLCb3/7VloFWX9JDiU+zz8v/QSfl9SHT9sq6JhEKqqk7NTyRBGp3KanvFnl/DSQJv+73Hd2VRr/IvveyXhc/Pso79h4iW/1nmJG58xoj8tzSJ91Mj/CaLziv/763Imtifl+SZWeHAHZfOXCRFrhzd9b/mIB66H0nZCiQv3JuEFHQEyzDKnvlOTs9YAboz2ZIgDUdR26rsdkMk1qoyptT5vLOYfHHn0M3/j611HXNScNkqySAElV1pxIGDRNh5df/hXeeOMNap43hitLgSuU7sSD3yy358FVosVRj6wkMWoUVBUvoWt5YKupTYykYiiHWsWigNx1RhOz68qNtFzbwFz805JNCvg9PPW6KL2AaRWMkDrD65D1Uet9IVHFTxv3E2OWTIkAlDbM88b3lBhZocRkVVF5eZ/6okfrne0nSA/uGKmRHUg9Oj6n4WY7WYbP6ZzVtBY2T/Rj4BEK3I9pdJeyA0n9zWmlybBZk5Jk8IEPIaBvWkZ6cUK5LsJgPt/GtYcexu/f/T1iHAB0I4QZMtdUu7YMFssFyir1ngvjwGhWnielJ1/J8YOFCvKfS7hsDiSoY1FqY548Qn+H1qnUyq+AHJH7kwoGdDYVh+ks0nU4ETwxlPxIrpX3fEry7X2OSDIQMSQ+RC4+5lTkRZ9q5mLjBgthzFSQP0e6l1nSq3nRKbTtT0M7T35OUuVOYiNsSzYFYiJXHw3NJD0NnOMfPNVBbWJ2nhWTjX5mFp1nQwqNidyj6UipO3hY42isGiyadcOCMh62cIAxGHwPVxZEUY0BRbQbiX0S9FGQBKSGrmeBW2WEWhBD2sPWWuyc2SGqft/h7t27ZN+twc6ZbbjCIHqDYKxWwaOOJ8sYMcZg72Af7TBgPqsxKSaoyhmccyirEs26wdlzZ3DlymV8+Ml13L2zB4sBxlBP6fHxMa7Ei6mqgYh1t8YQBhIfsgbW1ihZhflLX/0SYjS4c+cuPvnkE5rpWpYwBiirEt577N27h5kAvYH6WqfTKcDBcIgRs+0tdG2LddNgZ2eK4CMKF1CWNUJPoITvPIahQ9f3uHP3Lra25zDWUQHbWqCnCruJQPQeFoDvB+qpZVB6Np8DxmEYqMWprmuEENB0Lba25tiaUCX17NkdrNZLmEDn2kSP6XSKO3fvo2kGzOdnYBz1Mld1hdB1KIxDCAOOF0eYzaY4N9vF4fEx2mbNTLGISvbcQGOMpvUE3dAhskzUzs4OjhfHcIbGGp3d2cLR0RLtYLHqGj6jNhNH0yFX+uqHAY9euoZLly/CsMAUwIrag+d9J/2A5JuqssDDD1/D66+/BlE6kVFq5E8ddnbOIsQed+/ex2JxjK/9yVcAQzHKa6+9jq7riBYfBnhh+BhD45q6Hr/4xcu4eukyLpzbxtA0KCypT5sYWK2caI8hO+cBgVSJmZkRIo9pNBY2SGxmdf47EPC7t97ExQsX8cRTj6OwDn3foSh6+EB9s9SfPqAYHKwFtre38c2XXsLe/ds4Ojqi8JUFh1JBPItdwBU4nRywqfKe2Sw5RaOE4CSISbbM8XuJoJ28T9DfS1+j+DcEwAfwKKWQRjzK74mavQRLmmxkyZ1JcUrMvy/XKswflusaYro3YVCqq2eur2hRGPGImlBG7QMWHyYxmM3WJ9/ReUIlc3zBLBzAUg9/rl6s65/2OdGmrYINqWJoE7if46iaVPPvZhVshWwZWIgmTQsxGatpDF5IP3y6wrqewtqBgCTUKCtqoQu6PQhsM7yuRsHQXDxLXFxqrxGmVtDvi49xXIDgJxkZ4AYQLLN++DwxEpaq8kLlNo59nEb42V4GRouo+/7kTPo4SsFOb5/bKPIq2JS/jIlgWQxt+YrRnS5Gt/lsTy1w/fHX51BFjorEnJagQStYKUA1SntI8ueJIjt+b2hgGDNUCiMDow/Y8qiWmHKJtFmCiudYexJJ6LoebdtjMqV+GSPPM7seay0eefRRvPjii6jKCl3fA2D020qPA9GEnHXouh6vvfYqfvWrX6Jrm6xKRA9DendGY2I2EsfN4Btghu0GxTOaNKZmDBBIwMm/AwOZ5Z3fW85fF+RpnNQaVTIeIz/Q+xkZML5P75O8fF6B0nUAUWykmV62ks70hEk0ShEFN0mAZbSpE3/lFMMk/agY3SMZLEFT03w+rbip+ELUzyfqjh0BOpGNdn641enIIQwhYXMxe4bIE+d8fxKVJQ16zytX8vwMj0gySvOOMmMTkVW8Pa9/1PMo+w8BGJoWn3z8MT+3UxJRVWE3XF2yWK/XOHvmXPq+SWcx38syvy5uJD35c0sVQ6vrwb892puJOp07f6MVOtn46czkB8FzguRGP7OZiEXuGZWvBp+Q9vE1i8JzwAm7GvPqp5z3pHaJE+jp+FKTOF0cAS25EY8ZMILsbI0e26j6HkZnND+D8vk5U0FsRV59V2DKB1UYtUqFlGv1J1ocEsCZ3j+p3kNpeJpQM6tGEj2TC4fovYm5pesZDM3I7roO/TCgciVRYh0p0Xddp88jJX1iclLP8mhfZFR8GZOQjh4zdIKo29LvXrhwAetmjaIscfv2bVy6dAnu0GE2nWKxSswJZ10C+PKxYADWbYv7e3vYmtSY1rQ23nv0K4/gqYo5m03xhaefxrXLK7z9u/fRxwgfgeVqCe89B410pW3bYN22GILH0fEx6rqEDdQ9bJ1D3w84u7uLT65f12qTYbVvBd/k39aoUnJVlkAkAa/Vcol108A5h8PDQxwfLVCWJWazOYqixND3KKsS1gK2dDDGom07VFWFoizhrMXA7Tx+GDCdTLjnN2I2q9GsG6xWK1STKQZG+JtmjbKg3y0LqjBPZzOqSBqHspig7xoAwGw2R9OsUZUl/BDhXMTFC7soXYHl8SHOXjynDKa+7znpCCicRU8OCc5abO/uoCpKrNdr9vURReXgCofjoyXqqkY/ofGAhXN48rFHqVfYW3zwyXUcL1sMQYQ2s+PHiXPgtof5fIuq1t0aYRjQdh38MKDtfAY8ye9GXL58CRfOn9MWEvpGlqyJiFpP1R6jIz0s3n//PezvHSLGCWmLhIErKIX6Z8SIvf0D/Ob1t/Bn3/tTtOsG7//+LZzd2cFTTz6Boq4R/EBJrJUkNrGjgKRKLObOsPCnsdQ+A26V6ZoGr73yMi5cPI/ZbAobCvjQwnsSMHTO8r30zDywOH/hCr7x4nfw43/6R3S9TGAwmkzIpxokFVnK2sgje3jt5yegNaZrl9Ezo6qbKAJC4yv5vXHcmno5RZguxa08smmklI2spUZincT4ijoOKGmo5ODuWOApY5xkLD+hJCfbbHT/5SB+7psk500J89i+R06iEmsSnGif9J36/CWOy/o85QoBowUyeXLI2laIfms02Y/AyevO7Lim9qPryMGK7Of5a5tAsOyCILo1IF0F5xyWyyVCdJhMJ+kdR/eTKsuPPPwwnHP48MMPee7x+DJGVXXWAIhZ37SqKXtJmjlWkIQWEXCOPy/oI5WcKc8pUpKLEbtW4+8YsyR4/PrjCeVp+aA8dzuKZ+TZpbdLMc0m6JQ/us+T0Mrrc/TYpqAo3QwHdfw1CZTSPFKeSWukQdqRihs/k6gXLKp6BsFIz1AaCCwVS/lkRMvISz5jTa5vrOKVqnoRw9CjbVpU04kKPUXNjpM41qOPPopv/em3cPnKZXg4lCEJM9GtWURDiG7XdXj3vXfxi1/+C7p2BQOvVGjESNWGDdXfE6V2EEp7QugsN0LggAxEr9ncAiyxAv1B1Ykl5AfZ+cvpnfJFs1GxNToySBLOcTVI6VVOJjSCyZZBN2narKKCDW72TwhkVCn8PIkH91xwL4MkwhFsuDkZBCNlUol1ltscEyxio/RDpD4g5gJQo74lcR+5DlijDlH77VhZOt/nhLLyHpd9GA2MR3Kclq/DpsRHDpI4GJoymNgQavQgdGMWvAjAEAalgBK9SswYz2C1Ku2ByEI5em7c/4+2//yXJLmuBMFjwt0j4qnUorSABiEJFEiwm2x2N1vNh+2/dGdlz85Odw9AgtAoQhWAKqBkVmVWyqdCubuJ/XCFmcdLkKgPG/yBWfkyXoS7udkV5557LhDSCAyBKmGu9Al1LTESoiQyjLLSMwacd4U6y6irM74cO0NnO2fu/UVJAkvlnIEpHalD11obtd3zQUtFd0RKmLxBecSUhdVgod5LmjQ99TNNAeC4xxwq4FDAp4LOXzS4gkbrHp4Y/zT5vnKmLjpQaaGgagmQk504msl7uQ8HeZq0mop9oM96Jyku2CAHOpWoi/RRO/4STZptCTAysiqdmmrmbKpaH0SMLokSJFjMImVkKz3DZX9LsKu2p0p2odUMCoQNDEyK8Mz24MgD1suaWmxWW+zv79McVJfhaEH5bLCuIMcDtdKmlXOXpIfeVQFtuQ7vPY/FIjGk2axBP2ywmHe4ceMa9TA6SrxSInEjC4vGUhWM1iIS1Zb3tTcW77zzPm5cuQoDhyZyX3Uku9Z4j7ZpMAwjLh3exMNHD3H/8TlCtDhfLbEdB8zaRgPaFCK2qzVMBrqmQeuprzjGCAQghYTGOYzbLbrGwyRiXmQ2rrQ+JPpirQAOCTkGONZlWC9XRBxxQL8NTJ32WK3PVBiwszOkHOE9gWpxoL7XrqFq85gyWmsR04iIAHjqkQxhhHENuvkBFosZPrr7IZ65dZuaglNG1zRMibcY+xHboUeKkdc8YMwByw39fW8xx+XDQ9jG4fDwEIBBN7NYzDocHR5xRSrBOYvtdgt3RrY8jAFXrl5FiAE3btzE3t4ezpdLLFdLXLt+HV3X4Y03fovjJyfYX+yh62Y4PDzC5soWzz3/DO4+eIiz1Qm2fUKKaSJWZFSHhMeGZYvj03N03Rwf/OEPSHFA6z1iClhtRuTIff18hL23ePXVl2AdjerIcpY1v83w1uDalWu4+/EdXLt6Fe7GDaRssO4TfvnGHxAz2e0h9ggixOlcYerwUXzzzd/j1VdewfPPX8MX/+zPYGLAMGzQdY7YLZno2s55nRlbg+reGp53y/3tlmMtl7gfluz144eP8A/f+Xv8m7/792h9i/k8Yb1Zqnq1sxZhJHaRcw18Y/Hypz+Ld959G++8/QfY7KshO3RNAGtwMPOJwhSmkMZCH0bOXO2N6q9cVYkk224roJ1makvVqySbEvsIS6pm0xVQ2zggGR6nlyWZga5F7TumleNir8qfDLZrTJbUVtObTKlUVjNQSyJveSZ7EXzVCRjlGyffLWKQGYnsJi+aJG1Zk680+YSkhQ3wCCqrqvpkn6kLWvaObMLE8YQxDsbS/SWIcFPx9QpfFsHuCXCp3Ke04xOLlOgk5tC7tiysaQCwcv9iscB2s8JZOMfe3h5PijF8JqhrSHKFx49PcPPmDTS+QwxjpaFSKNgCpkKADUyZYhL0SNuSiksJwC9sCwY0kvJTqxgsZy0YGgUNdmOR6euPVUgvxjB5sk/kRwIM1fu4gBamFCD+yEt/T+3SU1oN/pnXJ5tjyxdYEIfqTnYQm1JZ4cOv1MqsyfBuUJiSKNNCx2rUFVIJmLLJXM7Meh31M9itcIBpI+v1GrNuTr041bWXwBi4dfs2/vLb38b1G9dJ8ChF7r9hRCV5WEdUgRAi3n77bXz3u9/FarUkY57FaGUaOF/1FU4eGC9SjZFkRvPN5HRViMbkemWjl4SobDajw7FrYSk8ZSMXHGkX/ZMNKr2UT5kTW/VHWmMn95a5x62+B8fiI7VYDkn9Y2KkTDZoGgpWaiRPkFFBiWWEVE6kNi3iT1loPbwGhmdXiqNDheaKcd1NFiC9xpJUVVVDfWbizFE9M/29aW9y/dlaleQzYoyBd1Q1hCaKgPFk1HxSRX365HouqSTi1ijNu97Xsg6kGEu/F2OhYQJgAZ6d5C0nnJ6ecW95ocPJf1fvnOwpYw0cJ7lS/YauXtl18udTUTq9Bqg9MFVvkIAC0eSdRNToegJTI/xHvydTBcg6M5nBvfuqz+D07suaPK1quvsZu/dXV8DryuvTrltp5rlUtut7laqj2DJlJlTjObRyqUklO0tTlLxRlr36brY/3MJwsSI8vR8YUiGV0QUKQMrnMatBbTp/wO6ZySBgxXdtaRbJoqxOCooNWg1mZNxa2zYYh57GrZjSFyUvEX3LKABR1pvg6krdlFs9w5QiZvM59YY6h1k3w7bvMZvN0TQN3Zt19W+RQI8xOipD2ulPz87w+OQYOFjAOzqnKSaEccDe3oyrshbjMODWrZt48PgMBsCw7bHZbNH5hkFUun+a+RupwmCLIm8/DthseiwWc3RtB7BttTwvWPdvpNni3lPA5iwppHvrNQBPOSLmhOyAvb0FmsZjNqP5weMYsFgsYJ3Fpl8jxEDPQvpoHbWjjMMA3zgWoDLYW+xhu9rCGBYssgaXL1+CdQZt48k2GoN+oJ7L1s5w6YjEu4Zh4O8egLzFwcEBUWVBKtl3792j+fQZGIaAEA32DvZx+9ZtLOYdNpst/KNHOAwBDx/cx+3nnsOjRw9xdPkSum6Gdb+Fb1qsVms8fnyMcQg4PT3HyckKX/rSlzCfL+B8Cz+f42vf+jb6aLDavIEAoB9HrDZrhMiiSM5xcE+icE+Oj/HRR3exf7CPFNawxmLsDbZO2DdFYfjWzRu4cf0a1utztd0p687Vs3d6dqZJV7/tsbc4wNvvvofHT05oTAwodjEwaLzjkUqiwUGft9ms8f3v/wD/5b/8W1y5tMDp4wc43J9XxQunZ4OSSDMRgxHWT3WkFFCa2jzg7kcf4bdvvIGvf+MbmFkC+YguXQAzSO9nIlr6a3/xV3jy6DGW50tOiDjOlDGKOkqkAsxBRZYU42Qs38Rm64nleIRCP70RX9lwjb1TRMrxgi0uY5hqcc80jfmU+cVxSR23Vra3tolyfXmidSG+QwoJDOhNkkzD15MKFbmK52pTV/Kmai6EJOiVjom82Rhh/qVCm90xntaaquVjysZRmWGxx+IPc2HPCdAtviTXV6sV5jIlYieMhpyUEhubKgI2KjZaYwq137CWFPud3cOq32C9XtOkCNnvRiARupJ+vcYH776nBHUtbtTrLMzCCoin9SDfHtNYHgYuxgjlc+Qapa95p06tX1v5WxWlkj0w3XPTJLZ62P9MQqo2AbjACtiNnXa/axpLyAfJqj1FBPefeX2CHltT/VlX28pBrCuTznFgIiiK5cvTAKeMKKmRplK2puqRtVR9AmqkvYjjlJCkJD45VdeTgRhGbLc9Wt/BN54Q4KoXQ143btzAN197DVeuX0MCUd6i8O2zA5LhcROUXN+58yH+/h++i9OzYx5DE+EYgbHGstMwSCnw5rCTCqgkCElmQ7GkuvYL6JrwfdcOLJfDLwgRahl8DbqtOq5Jcit0ViM9iEZRL6AcUCtCMNV4GoAcW4wkKJFSUgVT2aT1wbtIs+axQqmgSBoPq8KdUJoYKOAiUlSjzP2tdZ9uzuCJATsHpG7ZtxwImgmNVJLTsuaELonyoQhCZa5m02/aojsBw4gkVT6sPI+qn1Kux/I4HWSrtG8oXVLWH6WCqIIXfG3VnEwASCFof7FUq4sOFfWLf/3rX8fPfvaz6rlMhYYkDi+ARka/3eJg/4iiJ+7trFsRZM1E7KcWVqrPldlJ4Kb9QcUGGKVz7aTAstc5sUe1FnLHxeCXvPtpNOTd5JLwhSLERl94kXasjr/gL0WEQn70lFFhxWBPnizbqSixkyaY4LOWqpm5pu6vrfb1lO5fPldGkJWKgrru8oz5lWR5qzYJfVagKpNWe1FmPyYOeFLgWc3OlLFG1ui/0++YOh6ht9TBg7ZxVTY8F+c8hIAxRQzjSLNFA1UKAWCz6VXEKMSkLR/SE0rjNWjvxorab5LlSnRGzAmRbarTygUxYOpwz1rRDUgYBxqP44zD6nyNpm1x9dJ17O0tYPGYajfGYBhHsu+uOisGsN4jp4x+HPDRvXtozE04C8y6Fo2j5Hnse3rGTQNnM/YXe2i8xxgzwjhidbbC0f4hofwsRLNcr7Bdb1hkUVQ2Ex4/foJ7d+/jS1/6M6SUcX56hvl8RgJByMiRqZ+OQEWkhLbxaNqWbRZVf73zODs9xjgOcM5hvmgxm3XImeb7Imes1xsef9dw3yvgHUi8akxYdB0WixlgIlabFUIOWG3JznrnSH3UZHSzBtthy4kTEGKA8w7ZAJvtGmMc0Q8jJYs8X3i9OoP3LawDjPcYVwNWqzX6kYTtFrMF7n78ADdv3oB1HhZA07Q4PVvj0eNHaFqPMQIvvfJpHB4e4t1338V6ucVqtcb+wSFu33oWZ6crLBb7ODk9x72P7wMwGMYBl2/cwHIT8OjxGbrFHGYExgA0zRzGjIhpwLWrV/HkyQliDIg5YbPt8bu3/oAXb93AfuepsmOA1lNDGo05NWi9x2c/81lmIsgoNTFEJSZICTg5Pcds1mIcAh4/foL9/SP84he/RggCEpaxKi7RDOHBBBX/owAq4cnJI/zq17/DX7z2FTTzPbTdnEAiUiwj+xFYUdoWG5qE7itxGSeoJgklt6pMchzw21/+Cs8++xxu3roNa0aEsCGwImZ462EssN0OaBqHrmtx9doNfPWb38L3v/t/8qBsnmvKiZdUCRUc5YNvWXG6jtWn9pq8ca6oxnUBp/bjtb/S5LlO2tjCCuBYkkwS5aILTFN/V9ltio2q38m7gGcNKJZJAnp9Oy12FFOVUYkC6uedJHTaCsJ9yiCxK5uBnKTHuNjwso41UMkrwPR4K4WHWmBSW2Hq8UYUE+VckmXDVXcRTcrZ8Bz0KhmuVDtUILSKmTVZq31mNvwsMqv+5xIP7CyfsURJHnqDPWvR91usz7dY7HXwjoE/Fq+T/9bYw0ghx7NuAKocqixkygZZzinH5cYAYQcsr4Hl3ftLEsfnnf1bCYOZmj6l8Zes/3Sf5zyN3+vY6GkFg8TraDXW240/8uT3dxP7OqmV/YDdrfwvvD5RxdZai3GMF+Ye7QaLksDqzyvOvlRbBA2pb1ADPg1apTJYEozJolYJiXyGLKEG/Slhu93COo+mbarv4iCIv+f27dv4i7/4Szzz/PNEn4qU/DaNpzEJ8PxdRHF7/OQx/vEfv4fHDx8qjVbEgaw11LeifZ01GFBTdJnanKv5pxkAIvc+7T6BAgiknGnskakrmWUttdpdqSYbIw6obGJJvuotDg1jobr4hDAXNE3WXwJseWZFUbAcKluNHqr7ZQulQoy00aQqxshgSPW8q/dfOAQ7OKhlmofQPYzuU0k+yq9Ya0tfSWb1RDtFrXT+pcyHtaa+zXIOJAmQqq/OzizGwoESW05j2HnU/o1Pxg4ttf4+5wgA0WCEwZEi/W5UiCelhDfffBPjOE5Uyi+cvyrz2G4HdN1ME2rFUnZm9E225k5Cm1noSvuV1cjvnvWnK/nJ/tF9JArY6hTK5xhd6yllvn6Gu2spgYnsfyN7UZ+F7NOLSs/1Zz8NRZ2inZjsz7q6XLcFGFEPB6ozKj+/2BO9i25qdUJ2gAYcJcArqGy1t6vEt1zvRPdRwaFy3yjnTCoNctbrMyHrWgeS8nnad1M5UpQ2DvnWMYw8robstYjxDcMAawwlWXamSb33nqqck6tA6Z3na8ms3p4mvV9lwxlTxjdN9pl18E2DRw8f4dKlS9jb20cGqe967zlY43tJqWonKb1UhMaToud8vsAYImzjEGNiUNRrQNG2M8xnC1g3oms89dGGgO2G+kqJDkdB+XYzYByTPiNZq367hfcNDAwW8zm8iMBxIh9TQIxEsybl36wKzCEEVhg32Nvbx2K+gNvbx3q9xmIxR04J2/UGQ8+jd+BI6ban65vPZoAB+qHHZrtB180whoDNZgnfeWboNAgpYW9vH+fLFSIowaIxPw5d12HoB/Rsw4Zh0GdnLO2B7XaDHEetuqyWS2y3I7z3ODs7o+prXsM3Do8ePcL9+w+wv9hDSolndkc4Z/GD+w9x9co1vPqpV/HOO+8jiN00DZbnH+DOnbtMlSVKp7UWp6fn2IaEx8dv4YP3P8TjkxVGVvTOHBOklHF8fEzjjWIBTN977330Z2f41EvPYTEnledxDLpzLTKevX0T165cJgpfZVuUhWGMgtdN4wEex3R0dIT337+D4+NTwFiu4JdqW4gBPlGfsJ5tZHzxi1/EX/7lt3B8/Ah/ePttvPrSi3C+hXMecdzS7HiIz08wiYIgy4hqrZACEbuZ1JB41jlTWTebDX78wx/iP/zn/0IK3I5mNFtDoEGrI0MCnLfwsPjMZz6H+x99iLfe+l3tOidJlSScE6V5+WLx/yBkdxJPm9oG10a3fLjYwInduPCq2YkVigmj/lGZX9VIw4tfWnxGneBKnHPRZ1pe44u6DfpWbumBmfz2pNoOlOsW+5dFQwWiB7Izwmfn+nf9Yw1yi5udAP/GFgBc4kpDyu9e1kpZADsTVSbLNi2YTZ9hXc6lz9R506bonNS/mzO1M/qG9p9zBr0dsTxfUhuM81rykNiiJJ6kLP/lL38Z77//AR48eFitRXnmqnchobcWHi6KnZpat6W6PWep2EWFo524wUyfbIkTprlX8XtSTLg4AeFCdRU7Hy2/XR9IFCDnab83+ZkCVVXx7k98fSJV5J4dl6jCqQiMohxlKVLKqgAHyCxWoc2WZnOA1RX44unFiawshgzdngwLLmJKUtGTnpOsvRWZhC4aj6ZpAOHoc++lyeQUji5dwte//ud44YUXMWZgjIR8WktKmyklnltLm//45Bj/83/+d3z4wftwQtHMRcq6CGZJsmPV8QBls9mUtZphlBoBqtomEeXckVYXZVzFpujQZOQqiU56WDMSUqCRR8bS6BBbNaZLVdfYQmOR1Cjrps/IienkkPNAQaGmlbls1loEyBjA2YYdJlGwHNMlZEqA5V5eI1XYaowUIH2jRr2QhMBU/DDVnqgSLAVPjJ77slehATJ4WLpR4yzJZN2LTMEsdC6bVKNkH1aURp77JgdxAtRUtGUJIGAMbCJHm2wuFq1O6lKhnaYcJ2NUamGazColtXOUazg/O0fjfAUOMPIpJ4J7NCx/7mq5wdHRET//NEGbgamR0XxwJ4GsUyPzFIOas9GzejHhrJ1x/YzL3qaqkFfHLh+xm2A+Ddks/w7kHGGRkb3VimSeKAQWJXat3HI/Vg2gTe59xwjnqmdX9lntUJLMh9UCKTl4AtikwosLrzpgUyANYmPLmCnLSd/U0WXuISO7UkYNGeYcJxgTJ0lurtQyreegSMgmYBAygRWNmV3gnKLglkfywJYTJFdinKnuH3rfxmRYb5VC6L1H13VomgZD38MAcI7AnvU6wLcNuqbBdrVCZkoXZXIGSIGoh8TTQ4q8Arb0lWvCnordEXuREeGMgzUefT9ivd6SargBuq4lVWFpm7EGIWWkFDVYA4v6pVBGUd258yEeth5XLx/ixReeA5zHkCJaR6IED5+cYG8xYG+xh8uXDnGyeoCYIlabNVKMaBuv1bucEvYPDriXDsiRKK+3b97AtSs8T95mXL9+DX3fY71ewjqL1nnsH+xj22+oKtxTpXPkhM/7Bvt7e9iu1zQOx1o0XClNMVAFPmXEEJAR0W/W6BYtjDEIKam4HKzBqh8QQMlEoPZZjGNCPwSksyUsqCoPrvTMGtIAIJ9sdaxrzgneG7StgYNDvw3YP7yMxlOVeYgD9ud76IeeRKdywthvcOnSJVhr0W97VocnG+CshbcOw7bHo4cPsFyeY7G3j0ePHuHo0iUsV2usV2uqwqeMMUW8+8H7aJoGTdvi7r17+PCjR7h//yH6QGOfdkfYxdBP7FXOwPnZEhgDbt+6jr39OXLgfsNMLIiuNfjsp1+Ct9QTaWFgsuOUUHmyDLpkjOMWvmmwv78P71r85Cf/RLGLSUgycodB45gjYhzhTUtxgPOYtQ2eee5FfO8ff46HDx4gjltcv/YMvPc4OuhgbMN2hvy5ZVZHynpsS5KmMUbdeVnTY6NEGvj444/xs5/+BH/x7b/EYm8fwzjwaClDNprEWhBjgLUNmsbj23/9b3C6PMX9ux+x7RaxR0nCkup+iOspqiDQ90I7ZLP+nzWlhzGrWKn4VfaKO0Z5KgI4FXuymrEIszBOmHs1kFkqstJiUhImYxydtx0WjFyn0JNrnzNBoWV6gBGydF1No4sVRXe1fqb6d1sr+wI5WxJ6s1BF411dGVlruuhq3rw8FNkFMs2E50rLbHgRmIpBBA8znAUSq/9C4r28w9KauGGhB0l7otCbobOPwcwCpExMERjtrwW3cUnCmlKGdxbz+R7Olyu0XYdu1inAJDGEjE7sx4B337uLlD2MaTiuzZPnI+sVEwFBIuya0QAGcCZxsaJoIMiek1jQsD4CnRVosl0FalroyiyQpedWEsk6rjX5wnXKGlwsMEn4apRpCy4kio3S54VpjFwDH/X+MI775f//kdjWKnzUO0l0YVXLJK0conJx9SfmqKqDtDF4lqAICRkSQRDltsh9Coo2q9KsoGya0rCh4AV0QuW0ung5A+vNltBvnssnlTHD9IcYIg6ODvDaa9/CSy+9TD21IWoDes6gjWEsHAcmpycn+M7/+X/i3Xfe0Sqt5Ar2KaNqhNuZJakRyjRK4qeJWC7gQEqVcakRWg7I6FZkbqzRw5nqnk8OSZ33ZBjMH5fMlmqcIGZEAzfFKYiRF8MdMwfMnDzmqAh0ZIEF6tVqEDOpT9oq+aBKKQtBJemXFWVFQYxkbmbpM5JkDNkonVz5syyiJNcuvRaSTOwiU6XC/xQ5cV5HLSSrsAIn3oxYWnbcWs205WBKv4PObmWEVG2uLRXV4gimqKNW8WsErUJ8i9jQVB08MaDUNF6d8i5qm3NGZGdT0GqqlltLbAUKItRzPhWYrqttdQWzxp4vonO0Zy3P8Jt+VkERL1Y+y+tpomz1PZYA44/vezXYOzT+GmEuqHix7RKP1Nj2RaXpgtZPBtnreasr8kUYSoId2S86j7e+3qnHnn62pGNVwGQM9UvGUI+BMjpLdhpMMQov58ZCAUodiyZBXgUY1BWHAghZVdC0yDCRzqdzjoGrgttNEWn6mSShIQbESAlnjJFUkccRzloMQ4+2bbkvP2ml0TlHSQAnmsZapMy9/tmqjwFDnobnjuq+MWUdZahKTGXeckyR5mwaYLlaYtuTumzpJSPqme5vHSMhCqZkf7bbHqHfYrNZwlmDGzeusRp/5JEnGW0CYD0OL11G/ughMjI2mw1CCOhar3vNWovDwyP1oeM4AADGccTZ6RLz+U1Ya3F2fq6J+/Vr17DerHB4cIhbt2+h325xfnqK1WqFrutY+CrBW4OYDax3pJQMqkLMun302y3OlucIIWLWtJh1M7RNi5hJ4ZYYKgJ4GrYvDWIc4WyH5XKJGDJWyw2uXL5Gok5DwN7eAiHSeKP5Yh9N02KMI5qmRde1aFqafbuYzdG3HZqmQwj07L3nWa7GYjabsT2nvdO2LfskEdmjPZORMV8sMAw9Us4IKWC+t4cQA11vIpp7iBFjGKnHNYwYxhEP7j/AyfEpwhh4biqLGhYvU2IBU8TqYgbW2y3miwW6boY40t4WwcWbN2/g2rVrJOQ1ES4S4LycfVJ7HrDvZrDW4t333sOjR4+nNkPAdt4jwzACsHBNAxiDtu3wm9/8Fh/euUf93sMGP/zRj/G//Je/w3YcYVNUf0buucznVFBVHLYCzLs2t9ggTcpNxO/f+i1efvUl3Lp1EzFZ5EQKzykbpHGAjcUup5Qw61r863/11/jOd/4nHnx8n66nqrwVuzT5umLDJPra8U+1v0gSw9W2lVuPTNrVb5hWXQXIl0on6oSz8lMKhtWgNwfWtf/Jte4MP0sjWisS71nHP6uu/0J/bn2fUx+bVC1/umDFj5aVKMCksPWStiHKZ9Z2vZTDy/3Is8xIsCCbTe5QbKQhrSFTRJpgWWMhhOlnVVVEW/V2SeyPHcaiqfdLvSdLazeD6JnPI81Q17fxPO7FYg/L1RIxBnRdW8X20wLA40cPqYWtPgqa5xTQ3Mg4IPYjKQdmLElMQz1XVv1wuY967TUOZrVvWhvOgyyAHDnXoJhaNMEzyufKtdXxcP3s6jXeLW7UfxpV+TY7FGx6/TERTIPp+Kg/5fWJKrZ1n1dKhNQlm8rDcY4oRKKUZiwQJRnixvmUq36+aRAjfYHg4KBxvlJYtk9fKGRErgzYii653RKSL4G9Lr5smpSxv7eH1775Lbz86qeRrcMYeUi7GkML7zqlFWy3G7z++k/w9h/eAjjYJGGUBMOUr3Jg2IgZruYyGmSNY2lgqU4mRUzUeGbdU5OHKfdRqINEzwE7ljShs1RVM1NEFYi6UYK33YDbmHokUy6VTQ68U6oqnhXSUoL0pH0lKcWiyAzLIzn4eBmDxMIoGVLULsbaeVfowRp88rOr+jGMIkclGaF1ERBDem1EDt3uHEijkvKm9n6a72TqX5V1ITesYETWZv86eS57LXNQaIyB841SXoAMKywaw6MZYElVe/LU2Q1J0sWLlXLCWIFN8tuyf6yhAeZf+9qf49e//jWGfjtxMEnVUGVwa9Yq4dnZGnt7B9UznRqzp1U/65+r2TZF8OlpL2MsTCq14NpxppR3dv/FV52I4SmGVF61waz/jQIk6U22pKooz3Fyf9yCgERKztqPbXa+T+575+9idSr69O6Zk+csZ0p66ATwojMpY7XkhisHII5H0EBW7S5rEi9cUwHeCmjCH1wCGlOcuiKYMNSrhQQDV+35cv9k06SXHMr2oP4fnm+5EwDKM6EgzyrIJ+tRn62UGEDjPRpCwHq95pnjIxrfYMMsIZlVnkLUYFtC1VpEhtYjqV0UQR16s2XVb/puz7RMYzIWe3OENMJYR8JJlmbZFkTbKihoq+uXXmgZfZ1Cxt179/HwwUM0bYO9/QMsV0scHhwi3bLoh4gtJ2omE31zu+mxvzev6IDC9iGqnDEeOSY8fPQQ9+5+jNu3b6FrZzg+PibbmxPW6y02my3RXx89IuGqxRyH+3s09sd5bDcbWiNmVwzDgPl8zvRQolNvtwPGPmDsIxaLDnEENtsBkWe5e2+RI1Xfc04YR9pTcYxwtoPvDKKPCIko5u2sg2s8PvroI4xjRLYOi/0F23qPtu3Qtg4xRcRxRNN2CGPUHjah/BpjEPoRyBlHB/tIKWGz3tJopXGkUUS+xbbfopt3sNZhG0ZsY0AfRxwdHiHGhAePH1JbU0N22kahcRNlet61uH7tMvoYsdqMJRBUpdKn2S6ahzmmjJ/+9HV89Uufx+2bV9FwG0jTOnzqU6/Ae7L5OSV4byeBOSrJGsNsN+88Ysx4683fI4asQbDJgIdBA1tG5MQIhAHeW7hs0RqL87NTpNgDGXDe4q3fv41Pv/UpfOGLn0JMGXEcYEKgvmqfVG29ypgkXdKJBDqmsF4NA8AknTc6Dlv86Pv/iL/7j/8RBwcH2AJIMWAYRgIUxoTOdgghaIJ76co1/Ku//lv8v//v/yvG7Tj5/pylr5bPu1b2oMzBxJUxKwrqMg1Cxp7lUvE1qh9Q9ZhWNn6SyAg4lwlokd9RroopoYatUo+kCVGeVOTFbijoZoqugVS9LdubpAKCkr3V1r1kUxnaGTQF+0soVlWLK40CuT72Nzlxq3OFd04S2vountIeRL23UEalmVxXUrstnx+TQexHauuwXBzJmFT9NDmT82YMLM9+noz4TLzopvo9rtSmnHRkVp2MqV/gOMBZi4O9faxWK2xjj27WwTVVbJqpUk2rX1S4jTM6z5v2Y9kbtPfk7GYgRY4+JLZMSOCZuqzjswvsG0OtJYn78g0L22YrIlv0/RaVv61hnCrEsqx/nRhgu1isqJ5z3j0fXJg0AkQ8ndW2+3cNpazBbtngn3v9yYmtk3lJvKDOVUg4q4oSpVUE00uDvrUccKVc1NTqRmgQ7cvC6QGjofdF0aauBKUso1eqfjQdVWG0l7DrOr76qqrACXe36PCVr3wVn/7s5wBjuMdGknAo6uQYLev7LX74wx/i9ddfp6HtkERMVALtJLEpyJYRaKdYsaI2Xu5/N7DUPs5cGYqSzEviLCjfLlKD2qjpRhFkLVZVtapCJLSEqlJuLDf/m0JTzHztKSUOwCvDbyycq+kEkhiX5FPfnw1TR6Y9jBJwl/fXLejyHgrWMztzobOWdVDzdDFBqj9MkM6JEBADCLz+zrvJ2ibOHg1X1USAq66QQcSxUAzDrhko1cSC4F447InEn8S5Grb4KaaqvxZKaxaDKBvmrbfeItVQBh8yj9KqBYaIam81ud9uN7h06RApB64+pXKma7T4AuBEa629KvW5rX6rrGVNRSoV2N2ktlDbp3tE9lfd41NUIm1B7Sf7przP8uD4XF/v9MhUZ7okPMX+0l5O0qsk51L6dqvh6HK9Mebqemu7VH2vmgyjCZ06Ei1vTlHNakPzmRNbzUCMVpPN5Nrl+uqPliS8JOAGKRZgp3xO1esuX5ZkvmW5rwKiCaUbTIG3KIt5UXQLQt/jQ2QNVeEMSBmVqtCFju+Z8hzCiMVijtPjYwXBMvfoVrm83obhcR0pJyoM2GIT1bfXVRQAvnE4PDrErGuoB7BrMY4R89kMTePRh9KuoDZU1EJzYoV4HtNlDK4cHmDRNWjbBuv1EufnS5ydLqn/sw8Y+xFt22H/6DKsc0gR6IcR680GKR8q7Vwq2P04YLZYYNZ5bLcbHBwcIN+ie1gulwhhhG0aAAnj2GuwtO17OGfhvMd6swUM0LUtJRUhYLlcsfK0RT8MCGPA1atX4azFbLGHfhh51mWmZDkEtA1Vsp212FssMHKgGkLAOAx6Rq338M5jHEa0bYNh22NvPsesabGYeTjvsF6t4LwDssFqtUSMHWAMjSzrKbgjtewI7x28dwgxUhWVbd04juiHgZSSAR51VuiV69UKKUZYS+DqkydPAKYHioqz9Q4zM8e274mSDwPvLI5SxhB6fHj3IXIk+bGEp/ljMwWVc8a2H/DM7Wexvz/Har2BcwY3r1/H7Zs3lR1ijIFvWzpjUdDXAtiDBctgLO7cuYvHj48LJRAZNmXMOotXn72JFINAc4DJaNoOT47P4PKImDMMygjCfhjxD//4fdy8dR3XLu/B+Ib8Yg3QgNglznlWFadMxyJPmBCTijMEBEtEBjYG9z++hx/98If4m7/9d2iaFilFjs8CJ+xR+9mdI1Xnq1ev4/nnX8Lvf/cmnzfOsoRuOQHwjLYUVZIDVVEhX5iZLq8i2Pd03FV6HndjEYmd6M8SK8rnZPF7arfz9PMqFeIawE0ccynQjvr7BITfSRrKlqvrc/pP9W0R88uWeNCUOEjWtXhx8gnEaqA0SOJ/sftTf2AnPq18Jir2kkQOtS6NMGeoz11EQMEtJFph3ymcSexTIRuTSjhYMDZlZlNKKyCyMnroORTfLfEHDGCdw8HhAQGO2w3mdgHn5NlUvI2ctG/54OAAn371Vfz2jTdIKI+yYF7rpN+VRcDLlBZBodBn3Yy1VkWpsEofftpRE9OCorAOU6momTI48kLLUB1Z676pYyJ5z44yuhTHShyoDU763E0lfin1HICV1z/B6xOJR5XNWKiWkODKiDpfYgEeDhpsoVeUuGmaiGk/ZFVhtNYiysgf5Op7iLKcsyXDKwadXyT9D8zns6oMX5LMGDNmsxZ/9qWv4rNf+DJ8OyMMJUYY6/SwWesYaadE+ec//zl++pOfYOh7OMeIXaK+Au99FXTbnc1mLhoXPRfFQBkdSUH/lCp1O9kYesiFJ6L0yYt9hIL2GWt49ppQCK1SE5WeUSkVOq6wJO5x1hl1MLDOI4Sghj2z0qjMEo0s9OG40j5NepJuUun1o+uMTMmdUlLlJX28BUmbIoFW+pcz05ltlQjXBogXXs2MjFEQSq/QbxQlk9/i/7FNSJGOrWN6ZYokw6zVq+r5Z4hCt1S3odRITi/LPjFVxbpCJiGKuDFRVZWr0nQGqv1jjSobSl4LZCyX57SPpegewZVZU+axZgLNnQe22y1mM0/Imhhspk8bQz3nWenP+cLzKM+pqnxCj5+ebQJFpoqQWfv2K8XPSfI8DTamjsvofZvJFxIFrDgpfh62/J6g+nRvQYMv+vdpIit9furwFER5itAXSjKXeMTH1FlX1yTUpYq+knNSZcWUM/fryZacyt/Lz2U7pVTtf2Yq1BSs0uNbI6+mum6r4JN8fpb+8l0Ar0ZvYJAjJ/qWe2mtjJiq6fapjCrLU9VwTK7GIIWAsR9o1AKjbuM4kjpyDHq9TdMAISqVLaVEcryi2G0LIg0js58LMiy3myXCZSuawbOok9E+Qt947O0v4BwralqDzjaYzVrMuxar9ZZoigaIiZx4O+uQUkI/brm1huZ+O+/w2c+8jIOZxzD0iPEKTk+XOD47w5Mnx4jjiHt3P8ZsNseTkyV80wKwCCFivVnTSLpM/V6LeYd+3ODk9AQhjpi1Dk1jcf3aNRweHPA+jTjY38PQb5HSiH6b4KxXsC6lDN90WG96xBBhHLFDUkowrYd1RPk+W53DRIPzpYz1abHc9IhpQJ8CrPEIMQG5R9s0sMYTgypGDOOAnCO6rkUMkQJKppF757E330NjPHLMONjbg/UeIWdS8e1aGADjMOD0dEUK/Qvax9563Z/OWaIuxgjfenadlFDP9/bx4gsv4P69u8gZWC5XpEScM3IkavMwjEACvHXYDltEa4DGYgwB4zDCJgdnLHzjScvDO7TO4TOffhEpBHxw9yGfUasMBlR+urbV1liYpsFyG7DcnODx8RM45/DZV1/GrGlonAz7YOfJH2WbYUzSINfwiK1kDFbbEb976x0MNWCVgRwDbt18Fp/53Cu4dLTHs44zUbpzwnvv3cEHdx/h8dkWmVtpMjPPHj4+xvd/9Dr+83/4N8QIigFOlL5T0hJbSiP3oye9SaJkJ27DspV+BdnOCGYZsc/73W/fwI2bt/C5z32OqvUxIYVAs9hhqgQQaNsOzjl841t/hSePnuDhg7sKVCcU9sv0RSO4phGHXH+ilo2qx79mlEiVNGlVUiyV0SC9bkmrK4mAqOHnAuwaCwcee2jIj6cUOCkk9oWRBJm/0wkDj2MrApQLX1ITFan41op+nChrkl4D++wLjeHEUW27iGamC8mg3GOISdcFOcGDpoIEsHK5AKHCUJEKr0mcOif2YaW6IuyvxD7Uq7o8Xc84Bjo7pX2Z1kmNedE/ISFLFH+Ach81OG6RYdIUDMkoo9MktslGQJCpYnE7azAMwPnZCocHBxwDcHzt6FxkLvKdnp7iw7v3YHyLuOnpPBnwec/MFGNww4hgV57ETmaSoDNTy5R4tY4nSwyeJgUEAqjEB06nQpQ+co5x0lR/BMzGlT0WNQ5N1YzjKiHORTRTMDdhdpZrLO064FGxClb9Ca8/ObEVp1MnTyXRlfEjnIBpiVEEN2iBjQSmkjhpnieJWTVbTOifsnxsQA0jJHQ9TvtqM0BCAzljNpvTAuvBFKSeRgJ8+jOfxue/+AX4tqFmcGQKmlgZUCjFORuEkPD73/8BP/rRj1ilD/wAigJhoTpiEuDVf06SEE3qd1RUawp7VZHRTVwnpNW67H52CWhLYiAVbVuBCtZSBMwg4mQ8iqnWXn6//h757t0Ko6hwOmdVQIyCehSkCrvXaXQEkqwhBb0sa2Auom/yH7QnShIjm7B+vySSZB2K8FLWuWWV8jOqPYtMAz9kn0pAnwpuZa0l56lVuuLgdoOYnNIEPVfHyfRByMikwr8AeOZgSgnZVvslFdVSvY4UuTqVeMQTNDSnXnejSpQawKdSUYcxODs7w+XLl7X6igo4UoaCZbTNSD+hNPRItgPuc2Z1Q77GgtbLnocmq7t7eHqG8uT99au2G0YVwnP13kowLBeqD+3NcramCHehjOWd7xM7Ip87TWSnZ0P+vuv4dn/HTFJUlL1Y4ypGFNzpnTFHpalpfHgBGBGCGkM6FTgEAXhEGOmP2JTJu6vRFIbp0eCZ0pZnF0PGdZnEThks7meqyg6qfh0m0Zudc7gjIAHwqDXQqBvpA99uB51dG2IgnQPvyBnu2AoJSuQ61HfVguAKFHLILeqb3CsH5zGEESklXL58Cfc//hjO76MfeiARAu9EdJCrHU3ToO97CliQCz2br827Btev34SNW+o/tg77+wd47vlncHJyhnEc8c67HwDG4nx5hv2jyxR4xoTzs3PyrZYUbtfrNQCDMUQ8c/tZPLj/EazN6NqWk1ayeZvthsS4WJ02xog8lOD9/sf3kXNG2xG9l+wKg5KOmBtdN4NJpHZsDCUKbdchZ+5bhUM/rDGkAXlvDhsstuMI45zOI5Wk0jkHxwBPTgnL83MG4DKatsEwBgpivUUMlFA5azFrGoQQEfqBPy9zD1zisWo00zhJ0M33H0LAR3c/QmRKNTFVerSdx2JvAWMcYsqY7y2w2W5IpTcMrFhMVPeouhAJzlu27wbeO7z0yvN4dHKG1RCQIwkAxupcAgKScNxgLZarNf7xhz/Czes3sd2ucePGDdy+fVsDPMPrs16fUyuYilIWkNsYg9lshrsf3cOjR48rGqkAaAYvv/Iyzs7OcHiwRyI1xpAojzV44cWX8GTZ4+HpmvZLTfsH8Jvf/AZf/sLn8cLzt2AcYG0CYqAktgKuwLJ0xlgeFcVAO/teJyNENIiX5Nwy8J3xi396HTeu38DRpSN63o6mcqjSONOUc/ZAMjg6PMTf/Nt/i//2//xfsd2slbEjAqPFNsqayFSUYmhzon3j2N6WxDErgCbBukYViiayz6jEeFBVNkns0GqfqOGWC4EoJRxylpiPspYJmccu8jVXoGoN3ltT+igBQ7pLyvKrfBnbaNF6kRFk4P0oQIC1kngU0dDdeM/ovgMct7iJbZKzZkWjQdp3TNE2kWpkrkBrU6vJcwHBWKN2U2JlCfnU3wE77Tmo/HdW5hk95+LzNH1V4aVKPT+X34XGVlbH2WlCzDmN7P3WN8iNwenpKfYP9pixAJhKcNWwWNOD+x9rvSqJz5aQVtvBXHWvVdInIIZELhGqpzNJElGAbwHMZZ+knDQfKxXqMuHkYpxT+1OoYFeJsVJ1pbssL2Y5ylYU5oSeQWhsJdMRrI592o1J/vjrE/XY5kp5a5LkCvs6GxWTkiQgxkQHrB4bUx0ww9WUctuAtSx4A6kC08I5K0GVAxz9PEVCKwae+bdYzImKwrPNxKhLYPnCSy/gK1//Cow3hJwHp6N5JHiSwCeEgD/8/l185zvfxXK5YuyVDJh1Ft67CzNaS/BXDOnTEtG6KiSJF+XgbCAttMe0DtKf9to1NoK65SpZ0+p5lRxKb6kGcjtK19XJZhplrIzpNGh3Tiq1Tim8hbaCQqFgOqscAlR/JhFa0r7Y6v6K/642fqra8Ik3XScR8ntCIxHjAwbznHOqsGBNodCWxF6C44pSa8ts38Sz1aR6n21ldHeejSCVoihYYT+8ByiRNyCBlgt7qkIYReREnFap5HNQjozPfv6LePz4CZ48eqAAClHo6Fq4nVyhFWOAMBbRFUkyFMUUBJyDOZk9XAIzvk5GWiUgks8ugA6qPVWPh0L177vqjvJMXVkPXRv9r2o/SXKaICRq6fVl4WhY5xBZXVz3O3lQotNmc+G4TYGraVCx+7zl9cfG9NT7Qvq/FPZJkYVlmMLIG1ZbnCa9avLF9VrUroT3hzgpWxsA3n887qq6Qg04pFcXVRCl9kqyQaHSZcBVx1GfuZ5rfi6JzqrTyne5nuI0q7FUDMJZpss7R+NfQgiYzxdMOy0AY0TGYn8fcAVEypWdAcAzEBlsQln/GlSgWbh0RTElNJbsvzMO/RhwenKO5XJNtN/5TNs1Fnt7MMf9RKUfIDaENYYqGcZoC0IMGX0/4vLhDGOk3swUidY8vzlDjAlXLl/G+dkSb771B8RxC9stgBSxXq4wDgGL/RlSjoghwRpHySgLAxl4dIupgCIAOO8Rh6hq6kM/qC03oAQtjQlDoIrnOIxUJckjDGjmbLaZFFFhKZgwBtYQ0BBDgveUeGZnsRkHsvHMwTLS3sS+xTtWe5VecwBjGNF1LbzzpEbdWIwxwPM819leyzONDbyxiHyWSbSLrjGlhHEY4b1DNhazrsNqs8VqtUTD4FvbtuiHHv04coUto+8HjDEipkiaD8xocm1HrU6ePns79ESPNBRRucahmXvcuHkZH378CDkbJJ5ZXgfaWcUyKdGOGbj38BEeH5+g9Q5/+ZevEe08CfhueDRReKpCOgA03sN5j7fffoePvOUUkxLTrm2xWq5w+fI+sqGOQ1dVuW1DIEK/7WnuMI97GvotjHdIq4jvfe/7+K//9f+C+bzD2foEe42j8VTCfoH01VOcZCTANZV9VBOVlUpqOZLMDogxY3V2hp/+6Mf427/7O8znCzSNRwiJBdsq9qCOFMy49cxtfPO11/CTH/6AEnK+kHL0mTrNYJrNlR2rAF9riHqetGpG1xpjIFZbZVeklcrAwyQCmFBVdGtQs/ixXFrCJLG1xcdYZ6uYJ6vtT6IZUMVX8rkX5rZnWlXvHHKKnMBUALKtknFJHkWFWGZXm1Qoy6ITs6P0rX7eltg2gxk7GsOX73COBN+y9HjyuluSOab10BGSiVmfnHSy6J+zkokztbe0LE8AdkgBR2LDUjdUN+gqZuEkXtN4pAZ7TU2Y5L2+o9vCfrKbe7jGY7VeYT6fE6NIRsZloxMo6hBWrs4S2kzTWHJGjpbXKgHZIokgkcSKnPgl1tuRETky21nozRz+0lll4MPCISWjVORSnZa95FC/kqh5a04ifxJQTEK7u0lo0d6WOEfj6hrB5/cZHoWqo612/Pe/9PpEiW39wMvPk6roGlOCF6jqbaoy/6qOaURxtyBHMuOvVoHbrR7Id2sTPYAxDMjImC9mNE6C0cGUhWpBzvPFF1/EV7/2dcznC2QYmsnbOBVskUqNcw4pJtx5/w7+/rvfwenJEzCXke7XmqcmtZjIvWPnwVcBPqZJ5uSB5aQYhyDsu8FyvQ5P+7tWprSaXgem/Fc2CsnKCB3pA9rpVZUkLpcEtgY4SpJu2biW54M6EQIh2jAZxk0Tbk2g2PgpfUGGlVX0Vl2qlIWZW1QGUO5DA8okwb2sEydjVtC2StBKjHBVqxOXO8agCJnQF7PMjTUAjNP+5GJwjFLTJSGvn1cWh2gsVUFj6aOsYQxjIifA3OCvas9lzxUGBDm4u3fvYr1a8xxIWzmfsi4CaIjjPT8/x97e3uSs50o0DsBkhEFmxwlRqS4x2wUEDlVwA04oUP29OgATQKb0AkMrktbWPc9Qqpdhga9UARN1zwiYEl5/pThpoeVkTeZZXKG+QE7o6vHKpsLIpfVBEvFdu2WrRK4GuGJOLCjH77ck/JWFRo1qvWUNNFgrKqtV2sYOs+ptFhBtZ/7ybkVa96aOAwAzKmqqt5nYB2MN1psNwhhw6dIl/lQWm8sgqmEiQEjtQ04gth85a6Iql5EYym4EkMKI7WaDmDIaSyNm4jCi324Qc8Jmu8H+3p6CRQBILI3FNnKKLFhUxFh07SODUtzfJ7Y7RWpHyRKMZqPvHccRKUXMFwsABoeHh9hs11ittwAsLl++hA8/PsU40IiaEBJiSizoZpEJO4G3pHg/hhEPHjzE4f4zsNYihICmcWgbovI65zCbdbhy+TKcNXj/zgdYRwouxjji/Pwc3byls8D7YwwB/TggxAgX6TlY75BixsHhIXIYYYzBcrXE2A80u1bGTmVR7CW2Ba8OLFfUSPhpRPaeJw5EWGep3zcldK3HbDZDSoGEcxqPbAziOPCopwbGAP2W5vEaALPZDI57hGvl7hiJZm2sRTdrEVJAGkds44hhHND5Ft47rFZrtG2Cb1oMw4CYiFq9Xm3RNB6Np15NeJ6F7D1m3sOaTIkyDCeREU3TYrPdwnvq5/QNAd+N9xAKewgB7Ywqzs7T3PsgfhHUCvXyqy+inc/w7nsfYxwoCasBv8zJA/lSOo0hRtqvtsPlq5eRkJC5F1aEqobNprDilEFBic6zz95CThHr9Yr3eok/wGLIzlEl6eaNGzg+PsW1a9QjTf/u8OjxE4whwLkZgIAY6X8mJzTdDB/c+QC/+vWv8Y1vfA3WzRHCgMaTH7AyxssA1pXJBwbib3bEBzXJMIWBkmmecs7Ax3c/wm9++Sv8+Wuvoe08nAskCpZIidq7FiFQG5mxFg0sPvelr+DevXt49+0/ALZUk8QHOdX8qID1HTDalIEKxarmTGyMKnRh2Fdtaq79U/X5MUY9UwKK1gUNSZZVK0PjX+iaSjEkJ6k8lnUsudwUOMjZYG//EKv1OTAG7YA0wiwzUwCbsRC9VqmwIk+T83qtvHMIiYsMDFLEGAuYChp3puJhuQAL4qKl4oi6H7cSrpK8J4sPkwq2ij9KvDZt9dHihsYEWenuUkGWuMlo3FahRtW9ip4Qa0BVwLb4aL5fIyP2gK5tYM2CmDTZaBtFpiY82Dp2dSSmeev2MzjcP8Lv3/49YiI7Dc6J5PnKKFJB6iU+NBwQTfavAP0s6gjjEVOiMUZG4jKrbU9aMdZiwe4MXT0RvHaS+JKBIXGs0iJYoUoAM2Lls+sWxQk0wVs6scAuUOa6/ymvTyQelXPmZv1aSTKXPtoqgYOhgM3waTdlB6u4iMxptdbC2PKA64qMzukUnGESmGV2YhHz+bwK8AX3oMDEOofnnnsWX//GN3B4dERccoAqjIaoX845NE2LbBzNVLt3F9/9znfx+PED7WOhy0vwjeemcL6Upyb90v87NRwS9JkquNWgXAJlcQB1w/RknMb0VfqC62qrVNNM4dNV12gZrZGlNqY4nskmziVZqP9N6ElksMt1xRiqSy7Ps1TEpgG/hS1jiHRWFScLNqnDy9IAIJVoKb3pmCej9BAKIJMGsqS+m/igpKofnFEmRvKsK9erjfeslGthOfEMND5p8jQtiY8kwNpMDAAInchKpw8JkaEgUCX/4L5mE6ozZGDAM9o0+XQIkYLlVPWAaNIqQXvKODs5LXszRa4a8Hy2nGn2pLWKRotC6OHh4YU9XZ7XH6PTTmkv8iwne4BvOqFSupMzXQdoFUpa/z5MNc3Y2J2qbalIQ7/PMqBVphMSkimVulw5VjGeVhkAWSrgKPcr4izFG5uSnD8F3f3j1dvKmZoi4e8wrVLKnGapXO8m/fLmlBKMq1UDS9iTJs6IEXpO1Ch5H6co9866i/MR5zYRpcrknm22aJsGbdOQKJGwDE3SUi75DmK5sBlFNHQmCxPHICHBOsPzAmmkTrbAMPTwbUuK7jHq/5yzWMzmJDo0jromTeOKWj0HvVoZgUFmsMZZywJT0l8KBjcL6mxFADFbJGNhU4QzGVevXsWTx0+w3W5xfPwE83aOtm3RzhrAJp3bHbk3iJcRIVKVIDCQFXLAg0ePcfPGJVgbVam7H7Z0Lx0lZa1z+OrXv4pPfe4z+N/++3dgYkYfejx49BBXrl2mgMFQIphiwnK5QkwJ222Pvb09wFrkmPDqpz+DbAJCCLjz3h08efBAg0Gns4QtxpGSGe8cbDKIQ0TTtgi8X2kkDQGjTddgDBsM40BVxcgzVz3t8dAHxDCgazt0DbX9JMNjoKxB27YI/QDrHIYYYExD9sl5yBiFdb/lefQG/TAiRtp/IQPZWjSzDmEYEcLAAKNFjAmNg1arEkC0cNnnrsE4DhjDlpgF4L5SUZdlLQDZH9559OOIFBgkMSD7yj1zhoP6ruuwf2Dx0kvP4PGTU5wcD0D2GFOk/VYJ1lkZ4xFZSNCSYGHKEZvtGkgJeQwYmfKdxqBsm2KhEubzDi+9+ByWq3MAkZORGryiZ9K2DjEC/TDg57/4Ff7dv/tbJJ5EcP/RY3xw50N03T6cS/o7zln4poXzHgEJP/v563j+pRfwzPUrSL3Md49omkb7fZWxpZoW04QIas8Nt85I64G08QApjvjdb36D67du44UXX0TKgZICFqkLkfaaDrsxBr5p8dXXvoXHTx7i9GTJi8SFi2Qq51tdi9hdI32gBo7VaLXKybTPkiUXnQtTVe4ytxOZlBXMJ2p+ARqkEpYy0VwiJ4bT5FFaYopZLxBx8RUGBiEFrnKV6nJmEPz4+BTWAM54JJORUyABylyp/lY+Wv4jq7hjpe1QvdQ+ooyVMSiU8miE7WOmvi9Va1b7Jt6jKcfJTZfEUwoyU2CWXDH7wpy1f1ni4ZJDlDwvcxBpYKu0lDUx5P74GmwNglTPolxB9WK7A2Qm2WW0rYeze1guN6TxM2/4OeXq/LKfNMDDh4/Qzg7guxn6TapypzIClHx5nlxQHWPr2ZIHKsMUDM12IKVwy8xWmRXM9iIVwUyJx6YxWQFyxAJNo0FRQLd6DQSSp0rrRwoS5Url+cu6JHnjdMH/pNefLh5lOCG1RYUXKI3mWYO/ogYJlLavjFwGa2mPGgepphpzMQmauLKjVEEekcKLPQ4D9/W0FSpmygXzoj777LP49re/jf39fa2oxJThq/Er3soIlYgnT57gH/7hH/DgwcewNpH6Lm8M90cqtagC2jro5wKN3p+glNlgEvyLk8sVn1+qgQLO1pXU+s+6qjvJGQqWMNkWJUEFG0MSJxAqCVAH8tQvIYc8s2JgUvEBVvizlsctpcln1GtT1qiiC3MQlXXem6kOfBlnpIYsEU0nU3lCk41JomUyI9pZKdD1Ri60yGqrGOnJ4AHY0gsHM11jI9QJ7lNhUCGEEeerJSlSZlLtc8aj7TrM5zO0bYvoLdqWiXi6HkVko3YeRNdMBRXj/SFKyPUemO6DYsDUFLMNjGzIKXAjippUdJfLFQE7VQV3ot4ryJ4SRzjhzqXqaUw5u7tJnbVWq9lSbajXdfI7eoQZfcQUdZV+r5J0MhiShXJb6C2lH8mUACuX3w1BepQLUlhvjEl1klNfBfFySUyn56vY47q6rU+kEsaCUGCTjJAoZ6dWrp4mzdNzBpRRNnpuWditVNizVhQyV4ipDSFBsK/EiqY1xU3UQY0pAETpVSrX6VQcJKlDq25Z9wB4di5R72UFQAlvlvcZZnUk2OSQmXq8mM/RuAbblNEx00TFnLwnenmgaurR0RHPsbUqBGiMUegi8eCEzPta9q2tesr0mVvqgY+BGQyOaHY5JfjGYb63wGze4vx0CVjg0tEBjXiTz6gS5BiJRpqkd4xbJdabFUIcsWgaZGYuyez4nDP6vkfjGowjKda2jUMfDPpNjyePn2AcA7x35fBYh+PTUyAbbLYbXGaQmQDJgJAGpBhxsL+P+x/d44TOKFspp5GvO2vSImePKM/09xQjIjLOz85gjMPeYq57cL6YYTbr4J3Her3G6iyhbVq03YwD3oywDTh+8hi3bt4iHxyTtvmIcrmApc5ZjENP4js5YdZ1MAZYrVfw3iLGERkRXUtr2Pc9nDVoWocwZhKzChHeN+iHgeYhbwe0TQtnLWxjMA6UmDdNQ9TrlIjZxT7fezeZhhBDwLDdaDLgG1IE7tcbZY68/OLzeOP8HQzRIqhwENsXazQGylwQuHL5ElIIuHPnI9y6dRMmBtgUEQZK/MM4qP2tK3W3b9/C/v4+Ts+O1e8XmyNVHYOm9YibAOuAK1ePaEYmjyD81a/ewDBEGDPC2gFhHICcMZ/N4ZqGwdqE0/Mz/PCHP8T/8p/+AzrvMcQtrEnwam8BRAKpxLGRHMpugDq1b3IOEwrrb7NZ4ic/+hGOji7h6NIhmhAQIvfZm0JxjDEiZgeXM27cvIFvfOvb+J//x39HTlzxrhLHeiyMgpvaT19dnqUWEBGxnMZuZno7ksjJupsEVL2M2UBjB63VSNVNxevE5oi95yRBA0kU8L8ezyOjgqBcU/6AzAm4oZn1zBCTOfdUXS7XnFnbpE4njMSfpjyvwnJjP6NVeY4NqiozJn5QmFqiiIzKTpaEQVvpJuCNrKs8COkulfcYfUv5TxUzKH9X10vJbeYF341bRIm6eGr50CrW1ipq0vtPE1YV/7ez2NtbYLVeY7MZMZ8vmCINjR8yC2eNecSd99/T3nNkSSZFUXm6SYsvrtZAt1dpFaINmCefpwlK1TLppOil44mKvRN2CcUhzNKV9Jn3opVzoc+ovKbJbdbPr1kdkIjYWE2NZYTon/r606nI2rNoCsuyCkwSc+FlI2WUAyvbM1dqcYLyCBoksaYYY6oqMSImgbPMamWqVQhBxz7knbsWxPXW7Vv45je/iaOjS+yYS9WDeglp01lG6I9PnuC73/0O3n3vbQhGJ4ZP+g+xc2Dr4HdyHTu9dPKqAUOpftafVc5d1XxcjUPRzzG7CB8HZ6ZktLJ1LsxrZMVerUBVfdGoPmuXCi2VWsIbmD7J/W+O+1ImxqEKDuX3YYhqZKvxG1oNEyeYWehJ+mLl85SXTxXMutdPvjYz7UIOY+3i6XuqypzM6eTv11lyVc9jTcOBCFrlDMefkw3g5x3292YKzAxDQBgD+r7H6ckTDMMI3zZ49rlbaL2FtzQbzdrS/3jBEVRjgMCCJxOHrKJRpe/96rVrmM06fHDnQ3UaSSk8lntHrVY0RF1xs9ni6tWrFeBUOx+rKGcReYCECjtATqFZTWbKVTPSnnYu9DMMVe1kHcFOXRgN1dGqaMPVz2TmqpGRUsVF7zKLJaAitLkEE4p2q9HXH3MFjkTAnBr6pOgmdoKmWotgkswmSRoSK+RmRKQLawnUwNV0tNJkr+QdQFGofaac9yTKs5VKvdoFVpE1xhH1XZkdRmdMGw7MShHdVPQnBedVgMPongFVTbk3W/vFxYdYmk0tYh5W7IoxJPDFSaA1JErUzWfo+y18brDtezRth2EYKJF1nqqbTYPGN0ihVNaRC6tIUWIBzYRfJmMd1GexCArbyhgDtsMGs/kM7azDweE+jAXmc5qfG1OGHxwWsxmGsOVeJ6u2Bkl6/vJE/TPmESFEODsj+rDzaLxHDAHeOcwODngtE7x1ODo4wGp7CguLftOj3/aYzdoKFLLY9iNaT5zQtmkR0wjb8HMJ1Fqxv78P5xoGW0iMy7IdtJYSXcv90ODkwVmLue0q/xPhDKk0x0h7q2kamnEKg9XyHH3fo207xJiw3m4ZKOf9xYKTjW+owg4PgMBC54mlQtMOqFvUO4fWezhrYL1F1zU0btCSin/XNcjZYbtZY9OP6LoOMYxw3sNYz+dN1OAzbM7whnu0vQTbGX7uMGx7TrII6Ds/P2MVXot+uyG/B6BpG6RqJJ73DZ23DHTewbsMGIcxRzgBlkUISMA97nE4O1/CGeD3v38Hx6fnuLq/wK1rVzCfzxDGEeMwVLM9CWBtmw6vvPISMRACz1vO0Oq/7GjvGzz77DN47733YC3wxS9+Ds6RMNODB4/w7jvvk19lsDaGEdY4zLqOVJIru/3uu+/ht797C3/2hc/Cmob3g6/iPeielb4/Y0zxvXU1RvwqEgNJqbIrGcdPHuCXv3gd//pv/y3FfJZA3jAWWncIARgMfOvhYPDKZz6HBw8e4o2fv64TA/KO75HvUB0A0TSoTLZR2i4L34BtVoJWHwkErmIfzVxT6bXXAN6WIkLOldDFLqBo1B8nGQsoRCLLPZIqvqO/yLa57osUcFsEOXPx7Yof1+BCnvyexvMaLpbJEWpP65FKHHMJvCxBnnyHAIg6x9xU1MEMbfWR2Et6UihZ4oRcRqdpNcCqTxP/HVMBGnZzBM48lMxcv6fE4BJDl/is+sCydaUHuXIryMX3yVZy3uDgYIHNZoPV8gzz+ZzYf6bQnPVr06iuKZkMz6PHUq7X/GLiKGA8MNnCDMRKzMvPypZYFsjVGklsIMlrUUmmNlEpzglf0fE5Ebo0qgJIKaQJaKxXqsW4XK0xxfxup6e5upM/6fWnV2wl0JHHKz1KonTpwIEDOSrV8q6UXyVQV3EB3UCmHIMMTT6NVAcSJULgXpthGBBCwGzWcaWgeqxV5HrlyhV867W/wPXrN+Eb4pV77ueNPvO8NQPrGqRMPYY/+P4P8O47b2slw6iokdE+pGJ4Czqk0vYZmuCrAEqB5/QByiGbisvUKMj0Qdb3VSe0EEVTUwVpTCORbSNVATPZJIbpGoCxZDAjqxcTNdwUlI4NRkoZMUTdcPr9TG2Amc41ra+1GE5xKmxY5HolYRVHo6wKw2MCSg9w0gociz6pLylqp0kBFU4wFACAzrY0k/9pSlD9m1EDpb36VlTfuBcP9bMwrDJqMJ81MPMWxuxpRTHx/Ofy3Pj58GzYXGVexallnUGbEvdgye/WGAr/bzsMWK430JWuRhGQlRRqc1mfYQhoWRBF96k+K6bYqTK20MMVai3P1qAkkAWHLJQDmWPNz4GOR6EmkZy7NNcU50DBgWVqYJwERFU+rCuRZf5ptTLyPqFwS9WUnkdpCSg98sIq4QEK2j4hQU8k25fljJlpQKB7X64pT/5Ow+7JplhbBFbq56lIsySD6s+Ko5WEtw6q5DJ2gbB6PFsCK8bz3HFMVOnLfrbOFDZN1jysqg6XL/SsQgsO9KKcxwr8q5klBjSg3lrHw+IJPBQaooFB5EpyCFH3SUhERwwxYrOlxFbU2BOPGrKuQZTnmAErM8rr4ATVPtMEtxpXxfizqjhmEjZsfKeU5XEMWG+WWmG1zqFtW+zNO5yv1gSNMrU6ISut1sLCJatBY0qk+NrNFggh4dKlq9Krg+1mQ1ViPrjWeRwc7MM8ONHxEcvVCkeXDkpwBhJUNIkE/WTuqWHbsd1u4Z2H9w2pwFqDxjjknsbKNJZmZ0u1lgA06gk1ziNEmqubU0YcqR8VufRPpRgwbnuqquWM1nq0LSkJjyFykuWRjcXVq9fQNC0Ma1eoOEnr0XUe42pA6z3T08nvdh3R+bIxODq6hLZrEMYR/bZH349oGoN518Ez/do6h34YcPnqIbbbLVKMQM4kKMVJ0ayZo2ksz6rN6HwDJIN+6LF/cEB9psaqCneKEc46NHMCprzzmM3n6IcRKQObzRpARte1eP7523j4aInNaY9a8pDooGznOAEYQ0DIQBhX6IeIcOUI169coTm/JsM48X1kCWw2ePHZZ3H10hXknIgOLkCi+m969t61mM/2SGAsEOMqJiAk4Je//g22w6hxSGYQ1DoH573WKWRkYEoJr7/+T3jxxRdw6XCOcYgwY2DNNvaTSfyV0/1hZfZcZWosj6YR+5gyU3kl+QgJf3jrt7h1+zZeefVVhJBwvlwqoBdioJnvDfV97+8v4L3Hn3/9G4jbHr/81S+KSn/OZfJAFL+QOGaQTC5X7VdQVoeM+5NiR04izFMACrXhtVhProP3oqMhL5OVl6nXyTCprhFjzLxNStGj7lOU2MxWQhBTMLQwpCqoucZc9d7Fr1H1lVqtsgpBmQtgrn5jLnELIPGwXIfV9q6EQHGmLUCCyWXGMOqpKLn6bBXdrANwKejU4XZWIMbIqJySier50JY9iTmlGq/PrTDqpDAyKR/mMouZRB4r4FaaEqVYAIP5bIHtdouzs3Ms9hZou1b1JKDry0k1X9etG7dhnMUHd97n+bbQhDjvPGPoyCbJCUgALVfTReTNTgAa9rulwCDXXOJwSOzANKmCwzxt1OHFv09Hr8pnmercg+n85TN13xt8otefnNhaVEmtdg6S2IAR42kti3VI8zL3Vlm3g2RJClDGf+Qc4RRpyErBcM4ydY0SmnEcMQwD9vb26Gc79AERfLl65Sq+/Vd/hdvPPIPM82tDjGic5cCXBntbOBjjsFwt8aMf/wRv/u63yDkgI3IOQH1Y3pf+1RSTBneSrNfBpgRgUEXnQrOoA+CLG0F9W4WQ2FLW1/eVjVEShawHtCBnck01TdooGqobHxkpS8VSEiIxSEwFD0W0ID/lOuTvT6tQ51ySCVoPERsqlNR6TUwWWnCFCnKyUlen6vEj9UtQc6AY72IXi7Gk81MGUMvMPlRrIEFu1udd/e4Ej8sKAORqzenrWXiLl9s4O3WAuj9QjDkbZ5OpH48Ea7i6z6iZqYVI2Nmcnp7xGu70nWYwKJG4+iLPzuL8fIX9/X1OIEWMyE8SMi0QZOoFw84zy3UgNQEGZO1oPiQyD9s2hFTnLLOSqz7SVNZG3D8lvWXfKrK4A6bs5JYTgFUQxZREJM7DuYugERTRLh+gCQOzRwQ9Njzzun5N2RyTf9G+velorXLN033ByLj04KGibQNKA9JdVM9U3EGoqTqU1K5mjpCE/WBRHIqpha4YrCxD0wU0K/3uprJF2VBbR+YeIwEyp3aB95QRepOoLBI1OjNyY4x8v9WEVfZCTAmGtREAYLVa4cqVK3zWLHzTqGigVNsKjDVlCsjalsCsPDGxFnL/zlmk3CBEmmXaNA3iMsG5BvP5HDFGLC4fwrJIT4yiiJsREs9crLcmgwXbLfeMWo+Yge0wYr08J2ovDM2RRULTtjBIuHXzBn7/zh0CEGLAarnUnmGo0AlwcnyMq1evwrDIC0Dg5BtvvIFXXn4Vly9fhW8bmEiCVV13QAEpj7UZhxEZGduRKuKubZBGoO8H2ExJjzWWVYc99vb2sN2uSY02RaRAKsN7e3uYzWYYhgHe04ggZEr6hu2AMZBq6ziOmM9bnoNOVevr165iMd/Dg/sPEVOk9gFD67sdAmwGQhix2Wyop9Y3GPsBOUU0vuExPNSrvFytqJrvSCdjNusoGd4O3DPsYKxDGHukkDFsBsAZbDZbAMTyatuWKx4O4zDAWgJZTAZOT0+RxItm0vAw1uD69Zs4Ptly8Ez70Oo5jRS3iJAdq/2nDGw3Wzx5kvDo8RNshxlmna9mRpIg2aJr8elPv0LnzTmMMSp4m1kwRyKrEBLefvsdAiBjxhtv/QZf//Nv4MGDx3jvzodqc1JMyB5wvplUUyC2nP3E48eP8cMf/xj//t/9DXzTIuUAm0t/uZyhpA6EqOwCtoutSqgEy2rgldcvZ6DfrvGD738PXdfh5u1bWOztI44DttsNhqEHAMQUEMYBbeNhQX3BX/zyV3Dnwzt4/PixWEokk8gu5drechuYMLhEW0QAcQaYxV8nlCkLKSVqP5gYfJ4/z2qxSWnJDOBmU/n7pDacfAOPtmFBLn0lq2A//0DtdKyKJLs+ZhxHArGM05EyEvuBE3RhDgmQp0WXijFZ3122pVgiwDZdC4GBqRpFqGm9oKN87chFoZ5GKRHzw8hzNxSvemM0xx+5aCbK5xKjTCYsaDxVBDlTTpW2Bvt49hGZxUglZ0mmUNStkxgn8n52Ez+yC/AaZqKKlkvmsaMWMsLJoOtm8L7BydkJDsw+GtdqIcra2gWRHz49PsELr76M7kGHflhRjJSLeKNkmSLQleTnQhNnsdLEDKR63QQIyFX8VAM1BPpU7Y4Zyv6a5CKT9rhy7dO8IE5iAfmfKognmdU7lX03Zspm+5den0g8ardSaLhHUvpWkTJJ+EPyiiJeUKgMlTiMVAVhlCIhwSNgYA0rLoMCgxgiNpsNuq7TzxK1Oa265ITDS5fw9W9+Azdv30ZgpNwmqrIGUEBkEuBgYJ3FarXC66+/jl/84ucYx4EPnFQbHFdVSmk9gSStxVmUcj70J5oAxagoTG0VpsheicbrQFcoYbrpKqSDf1GZxFmri0KrqSql1WcLYlmepRzGgvYRUFsFfjLrltE7pKwb3Ts/+ZzdZEcqjzIehgJgU4ABTE5xCXytjDuhJnSqG1T0X5QxKXVCUB8uOcyG3wsW5JG9CRGemgAk04Q8SSBije4JcXZOqqpC81KUVO65UHaSJiN1Lwq/nxFMhrbLHsl0VmIM2PZUBYhc2ZLr0q2gzfaJkwO5HzFiRWG0pOOkRtv3G1y6dMi9q7zDkzglEsRKKdR5PVfDyr5W1FBGVRmrfYapqvAbS8HWJLHjNSvobw1W0X5wzqjapBpD7sEzLKwlf69+rYiB1P0u1hYKbXWmSjJ4MTlUJ8+BIvXa2iIGbYrIxPRs173KYiaKExZ7WFfI5fLNBBlmEItH84gTrEW0yo2j+i5+ohzMOB4zkKqkbfde6XeTfl7dEyxy/uWrpuCUEfVLDYSMJsqlaovqvw2s470sHlb/rfT4iB1JTHOlaulIarrO4fDwkPaUcwhGFPYdYkg889Pwn2DIACoaNaHy8TcaicFyASVhyhgEw+Nxum4GZz2Oji5x1XbE2XKNg8N9rIcRT07XFNjIDExrYSKvpZWggRLHjx4+QDDEDjlbr9G1DpsQmApMFNshRBiT0M3naNuG/FsEJbYxwnuuh+WMlIDleoOjI6IPwzqePTrD+nyNHCNMSmicg7MWe4sFskk4OjjAyZPHMEhoG+q3Oz9fctI0ICdqbg7DQOfNki30xiH0I5xxaLsWYejJT2agX29hs8FqvUa3mCPFiMZ6bNcbGGcwW8xgTMY4EKWa9qJDTBGb8y2GYQSshXceKfVIGQiJ5uyO4wBjDRZ7cyxPVzSXNSc4FpqK3LdL7C6yA0RPDjQeyQo1NMKYjBQiLAeAIQcc7h0iI3MFFjAhoGtbpBw5US/UeQBYLs+xWfdIwWK1XiM1HptNj+VqWcUKmVWSM0sLZqVZCmuAfF7CarPBH955F5/5zKsADHzTcUBLydkzz97ElSuH+kkxxBJki58QcMlkrjxTfHHl8iU0zuO3v3kLwzYCydGAIFv6LGOISu8fdYZ7xMx73Lp1C02T8dG9j/DCM7cREyWAs64hH8L2VABW8YEkRiqihyVGKJVKtkvSh8gXs92s8POfv46/u/kfcXiwT6wEGGo7ADE+Eo9/IT/jcfXmLfzrf/M3+O//3/8d2/WG/L0w6lLF1GFWkTFF16HqFKKksNIhSTmxgj1T0HMR0qQ52w7J8Lxinu1cJ/ty31LJNCZP/GVdJVP/yuy4GvpF1TIkq2dhijuxBmiaSjOk/l32vyYpEMKz++ifZRHALE1UIqXyQaKDIu1L3EbpqkROEsbMvdZkXy2DHOwf+Np94yqgH5qYiU1unOf2NHpOzroiCFU7P0lgsynj+1wNsoB9OWBYQyCnQqE2PAHDaLIKFZOT+9ICBkr11PBIvSx+A+W7crUe1hkcHR1ivV4hNhFd2/F6JtWFAI91Wq7P8atf/px0hgznS4ZYG6jiGCsxgzCQdPZv1IKQZfFNiacMMlKOFahUoUsc300gjUxqyrB2Eo9hB9SXdivJPSTineSCCTrGyKBiP1wYeTktkv9Lrz+diryTrGTUgi7QwdqU9GR9eNKDp9QPLaFwBZBRGSRtvy4HiZGRxKI5m80Gs9kMTdMoUj9tfgcOj47w9W/8OZ59/gVkHkNkhfKqFArD1CmDoR/wy1/+Ej/96c+w3axhUZICy47U+xLoJT3YRSBFq1xiNLRZW6q54GHuJah7WtW2BJMFIdtdfw0IAT38ioRBNgn0c/R75ADyDE/oT7PuYZKVL2NHKEnmHk6wOiTTVFJOZFDqilO1Ry6KAhUaJoEFshV2qctlHhpSRTWV3tdUqepOl2dyDfU6Tkqgcr9coZJ9Oe1UKL+jPTWRQBaqJho2Bpn7DwihjBKGm8iIe0EidX7upBelOAyICEOor4MMUN9vERPPZM0ZiNzAX82Ta2dzPHv7Gbz7zttUGTYc0E04yzInlQyIcw7n5yssFvPJPsisCmsZeCJRIXomFjzLF7YgcnIu2JfI7yFJ+0JWVNQAMM5Pqry7D3OCUEOS84s97IZ7QFBRhjVB1P3H5yBZDhjiDosoT857MczViKS62qiJr9DJBImu9ulOciuVxnIODDBhV1y0C2BASRJYwMIaryCOUWExo/c5qXRUiLIwHZKqjlcC/cbunOHdKjPvGzm7tlRQpvcjd19m3PqqvzilpAg7UPlMU/29cnhy28ISWK1XuJwScqB+5oFFfkIIrIZMwE3D41Oc84iB6OLWiFAli2XxNSS2y0qN4BgtxaijjkR9napLSceFGE+tLZHVhw8PD9EPW5ycHMO3Ha5evYLj8yWLzhg4L/17NFuVwDSjxJWUM9754A7uPXiAWdug8R63bl7HfDaHdw7eWcxnLby3aJoGs5lD0zbAhnpPN5sNxmHArGu574xee/sHsM4XwTw+J1//2lfQtR3N1bUZC+8QhyWsMVgdD9j3DRZ7lkb5eIfO0gib2azFdrNGihFDTBhDwGboqV/MUPLYB3qW3jVIOWG2vwcDoJ3NYLsWOUV0s0Osz5dIIaJpPN1z47ExBawZxxGbbU/+M5AAjs64j5bV4UcS5osj+r7nvssA6x1gaHRSCAFhG+B9A9e0sMag4zXZbrawlgSVuq6FZ0r7OAastz2y6RATzbKVOERozCkEBvwdzVjNCW3bYj6PGPpA45zsDCcnp2hhcbiYYegDttyzHVNGyLGCslDsXGlagskZj09O8e77d/CZV1/lmbGAQcJi3uFTn3oF1jGF08i0Bwloi5+VhPJgfx/n56eYzVq89OJLeHD/IT54/yPkJGA9V1VyYUytlivMrsyqUYwGz7/yIv7yL15DDBE//8UbuHrpJlpn4ExRb1VTuzsqTKcQGAVwYWT8SRHmSzqSj/0oMu5/fA9v/PrX+MZr30TTtHBuwBhI7GxkobEQI8YQ4TypSD/3/Iv4whe+hJ+//hMGXQWoLzFVFNX3VLdxlTiMZoSWcYcWwkyR6mux82LrqM0CmkztVp1yBpCkXYNtlbS75Gq9qoKQy8V4CkCbUgJilJS2jA8Sf+ZF5MdO7B1QulyKHi3tHWFKFhbWjhZMpbsh5jUlUYCW/DizZhFXhYW2xhovmpdpBXuq4QBUzENNbqVXGLBcwZYMdBIjGNAIG4k7OA+wcAxsVICsHhN6jkYUpllhufitGrSWPEdaeFJhFfJ+ETaXumVZc4ifsmgOj3B2fo6UE/bme7zujsfNRQWQpR1OzoIC86bQfMX/QsU8S+HAVomojqgCswIytO2mHqUKAzju15bfFR0as1NQmia5poo9q9GghosDxtHITmEcTCZdmE802udpr08wx1YfDyBolRa+ymaUodN1ciEWtq740E0m5lTzZ/H7TRUYZqYOrlZrTmpbQlWVbgpNIvYPDvBX/+qv8Mxzz8Naz8kLRTXGGjjwgrJoTwwBb/3ud/jZT36A7fqcx1MQkcgag9ZbWJs1aAT3tThDh7wwH0pyVAdn8tPEsw+bpuWxEUWBrwSCpQKWZZ6jrBNkQ8vD5gH33GOTOTgzYk04ARy2AyXn3nPCLcaxGAqgNixO31M2qeVnID3TxMtHNko1lB7keq/UlapiC/i5GpZlykbpHeX3CLEigKfQVyYVWXG41Z6UBKxmFQjlmj6D+7PYAIpAUYpMxdFq0eSRqsorP8mSRHEg7qwgpkCySZ9VNgZJEkOFobl+rNU/yyhqJcxjje5bqbokTnCsrJ+z7EOtgiazeYcYR1baozOno1UU2LCIEWQsLWU36+0K16/f4ISU9jDR/6V9oFCa1GFVL8u9eEbPe9b9N1nKLGicCElU50cNmqsSs+meKbOwK9qzfHpG6clItcRD5eQUTCh08Rr4mXz2haprSXYlOJOXEzou74dpz7zcgTzXksylNAWqlKkgCVVOKthn9N9QOSt2Hs6pIykUnir51kCk2JtqOdiBG6Upl+Uo7yv3LBUR7l3K9VqKHeFzxZRii1J1NtFy8CprHTQIzLYkXYmDEQuHZICYeURLSohjAJCwWW2RUkI/9LBM7Y8xIjUeIUZ4oWSFSMgyuRq9bgnhEpFmacxQYpuUWM2V546SrWGgyhagNaaEbjbDfDHnBCrCexJMms9nGLdbDH2PbL3uYWMNopHePEcqpoY9R3botxFpS6q/q9Mlum6GtuvQNBY3blzDfDbD/t4Cw7iEd1aVvvshYLnqsXdwxIALsY7alpI1ZEtBOVegQoxomPb44ovP4dlbRzg6OsKbb72Fo8MjXDm8jCtXriCEEfv7e+iHHo8ePsTh0SG22w0pCoeIh48e4fT0HOMwot8G9P0Ikw1sIgA1ZYMw9Bj6AUO/5QoiXfOw2aLrWswXM7TeomkchjXQrzfY29/DZhjhLY2SotmlRG92OSOMA5xrEMeAxno0tqWxKZ7ABuc8BWSGxi15QyytPESElOC6zAA5+YPGezjrKCGKZQxIw71nNhPDC1zxoDmdxKoJQwSSxZhHHBweYC9ntFcbHk8FXL16CeMYsBlGXLp0guOzJZarDY7P1gVi4rFUgEFMQes7mvRZi2HMiNlg0ZJwl4fBc7dv4OqVS6ViljNSYIaCzNyUyiCP9Dm8fITVmirwxjX47Zt/wKbved8A6gyoGI/WNTq/2TWtFgjme/v4xx/8BB9+cBfb7YDFfI6/eO2ryNlgGCM674h6XPWOSqJoLYmqZe4RLldZEsScpc+SEwUtHmT85te/wvVr1/Hypz6DdhaQLWgcUmJadwRCPyCyH3Ndi69+7Rt4+OA+7n34AdFO+fsNGzpKerL2NZb+RLo6K+rpvD6lIoVJ7KXWU2JG/u2UpXc3aYKicRt/V6q1EUwuWiHZaCJB8aGdAPvEUCngqLKkxHbnAlYU2LMwrowrTA9NWqovyCj6GOrTcqlYSgxrWUg0pQSTpOpbiko5a6c2s49MFb9WrL6KKTVJQEW3RuIMI5ofWSucqnRcM6EYyND+3FwqmsbU+ibC3uHijAWPxDGVbsc0BpBillGQvfhc9cv6ZmEDlRjDWoujS5ewXK2w2mywmC8IHMpR6cwT5hYMhjHh6tVrcA548uQJjaLLNCpMwJYJhCLTQaww0LNeq2XWgeiHOEfzu7GTZ0nF19gS50hsqtutjr+lqJBdNe6nVPozC4jJlI56Q4ubzhXgnZ8SW/2x1ydIbCvxDw5Mn4ZeTINSo1UiGQMkIkOSvdfVjvJZZYRIjBHr9RZt23FSK5uvJILWWnTdDF/52lfx7HPPwTceOQHDMML5BjEFeKaBtW2rpfgP7ryP73//e1guzyZJrTEGjSd6Vub5d1p14dOSq0Mn9y/GplRj6X5k9q/M35TAO+d6w4qRMdrxVUMDdbiOagyHrIWRJnjhgtZoX86T363pArv/rmgNj/GIMTOfPipSBFA1lXr/rAobGRYyCEFoDdKXZlQ0KTMCGzkZmc7BFUQp6p7bragZRv+0WlYlt0IpEkNX9lrU3MlCDpKMN6pG5wDa40c0FKsjiLKirkRJkj5Dw8qxVhBDqa+JIFAufaDqsGQGLdMlJaFEFJZDSWxpLugUvcrs3I3M7rUWy+USy+VSq7g1Q6WcwqoyZoExjPCNV7DFMLhhFByZqv0+5ajyeyTBKcnn7nsVOKgMvXQ1Om1FFlCstinQvThVcqyF2IrBq3Vvp2vGoIYkdAzyyjrvzoCuz0ddTanHR4kgV50w7r6UMWAKQFOS2JKQafJZV3OFqruDvpdqsdB5cuknhVFhu3IGrW7MEtZwLx0iOzpZQ1ubJH7GxbYnGb9mWFEWJRg2lnr1MyO1KWaa68xV3TGGQoM2orZIfX9kH4QWR9cYq/m5YDvqWEk373GfpxNU3fCMUwquPAz2FntEjbWlWlXsNa2RsCwsC+IQv4CQcstzD2QtEwNJKXI/pKPAPYSAR48ewRiD7XaL5ZpGZ82alhOrQECgZWaHkf7k0oMmZ1ZA1YP9PQzDGpvVGc5OiNZ4drLEwcE+Ll0+wrXr12Gs1zm8fQg4X69xXUHK6Xml3roRGQYhRnzwwR1cvnQZf/aFm/jGN76KgwNSlv79ux/iyvVn0LgGD46XuHLlMtbB4ujyDZh2H+vVEu1iQRXzuIaxezjYn+H8/BxhXMPYjDD08N5hMV8oINpyP/QwDEg5ICWap+obi2tXL+HlV17BoyePsT+f4fz0HIvFQtWxrbXYbklVebsdgAyMI/fZwaK1ngQlhxGNdZjP5iQAhQRnAGeIsjwMNAoqp4R+m5BiRMejAnMiankZaxdgLOANhUghBTTOEw0SZDsX7RzOWsQQEWJEHCL6foA3BjkGDCMrmjuLWTNDu+hwcLjAi8h48PAJfvaLtxCTQWDb65znZMnqeSQ6MlXg1pst7j94iINXXoY1FovZDJ/77KfRNOxPpT8yySigHbvNzID1ekNzU53HoycnuPPR3Wk10UgAXoFxzmEYe8ydg3cegMXp8Qk+vveA5voi4qc/+xleevE2XnzhFvWRWkKlcqYZ6RJ7kf1yeo0aA7Ivm4aQZWpGkRoF+n6Ln/z4J7h89QYOjw5hLOC8xbDdcvsawRA5JT6nwGx/H3/113+D//G//b9wfHxcCgkah0nBodBYYVDE40SLQ/6/KSJaOtMYQuVExd5BVd1MU3+i9TRUVdTiR0UFWSqMhe0lkyF0obg6mKRuokxKriXsaJLU/qokQeR3UlVYqXx3VTG1pkrijQh7Fv9lTS1gCl1rKgJENlFMGbeGhMI4Nnw6m1EM2hQIhrQ6MvgkZ0bYRBp2yB/KHDP6Q2NsocBOYmwC7LPlZ5i4Qm7rDQrVOyk6IZN/rApg9HcdCjBhNAIHh4dYrzc4XZ7jYG+P2/z435PBMAwYwojT0zM8uP8E16/fxDe/8S3MZxmrNcV/y80K4zDgmdu34J2BgbSXFcGsAh7IHq2KinXBSK9N6M0F+ZbqOarC4sW4K0/2eFlYrqTv/Eb97Ply+O3MBrywuH/89ScntrXks/Q1Tu1PGW4vss6l+lIOU85QWhfB4UnphBKU10ntZrOBta4INkA+m6uvmSTsP//5L+Izn/kcnGuQYjUMXCpHhgIRYy1iyrj/8cf4h+99D0+On0xD8JzRtkx1zgAyV0RsUfisy+0yjDnr7DUZoyPVmDKQOEpfwGRD1eZartqWKle9vmIkUz0mpKB4pkKbso4zykx5cJygysbkJFuodszDlxm1YPEHUqiWvhyjlCajgixTumvmqpMEw5IQGwN4zwPOJYkyhpOLEuiJwp8xBs6XPWNQ+kEMq6hl1AmfqfpYyixNccpCKRaDbHhGWKp7MmEASN8BJ53yz44qSDkroKx9fBBkjpFUUx9pBjQAVgWWVlrrVLI+CIppCi3LML0oxqjUYICUqxP3GtOj5jSU97lWEMUxqgFnlW8dum5xfnaO/f3LbAaCGsC6VzUloSQ/pRKpZ4CQQhKNwETRrrxP/4aUAiO53K3F/24lKK/2fGEVxErRERPYpwA8FbgoTlg9a1F0pIRUbM1U+GnCDOBerOLQ046JLg5dfkdDE15D+hm9IYqDz5Vjru4zpWmfagbRFaX/pbbrKSfmDwSq0vC+sRcCA3akqqQ5Bd1K/5IkcEGDtnIwTJVgUluJcdK0wHabmQa673g+pwE4GRW5wcwJC9lva4gd4K3XUTsQBcvMI7E4KOy6DmEcmSpMlS2yKcAwEDslhBHWGDTdjMf/lKTWOceYHyPEOcPxeVfAovIxUKAkF+Q4cXqbIkymxCnFgOXyjMWbHDn6EHF06RL8g8eIY+L2D6koWO4DjQxsseJ4irh+7SqeuXkdl44WOD15jOXyHCcnZxjGiHEY8eTRYxw/OcG9ew/gmwbetzAxIYwR69USOXLbgDxpGcvGbRQpA2OILLLkEXNCP0T4rcF7797Fah1x58MHGPqBxsr84T3sHxzQ/NKc0Pc99hYLzOdz3L9/H03T4OzkBGdnp5q8jDGgm8/QzebYrNeYzRqaM2wpOFsuT7lKcQRrLRaLfZydnWO92sKbBs61WC23JPjElM6DvX1cuXoFMSa88+57ODg6xGw2x8NHDwGbce36Vaoajz2ctUxFpXFr8zm1L3nvEFjRk8AUq/M2ZZ512zR6JmWOsPceKQU414jFQegHpBRpTm/r0bDuxPL0DIdHB5jtLdAPgdtQiOkQmHrYdi2uX7VYdO8jbDMl20is71EBabkE7iFlbPoRdz76GGMglfhbz9zGpauXGQADq7GSbkhkG2yrvSwJx63bt3H8+Bg5AW+++Ra2fT+F5nKCQ4KnuTJFfCoGpDGjcXNkOIShRz9s6PsZKP3hj36CW7f+C2ad44DeqrowAG0Ny9zKY1UwgGibMsu7zsuzUlQlWaHrOX78CL94/XX81b/5G7KVIZGwp+PZx1JhYp2Ttm1x5dp1/MW/+ht87++/q0KLUmCh4k2WQ6NjwrTnVRhA2iNai+dww0yluaD/phRe7udMzOiqAHWNAauxOyWRLtGVPEvxNCmWZLiAsKXoIaCmYbA+VVXTXcBcXtq6onokIga7C2yXONhw7FK34tSJeO3aizAj35NWJaeVTAixutaFkV7Yil20+zslbnhK5Yz5z6lsO0ZlpysNHqO1k//zPaf6BzA6Y9VU8aEIH8re2XmW2sIJ3c+IAfOuhbcG52dL7O8foG2dVu2btkHTker3+dkK7737Lu7fe4xXXn4F1jrsHxxis4n4/TvvYrPs8dJLz2E2M9UyyLPivZuqZ2RKUCCgv+jCoOyqSeuSlVGlkoPs7o6qmCFPMzGbwFSZzy6gUC+3ynuYC5vvn319gh7b0udWkoBStSzIDiaUjMmFSk+AynMYXZTJfEOQ/P5ms4H3DZqmTmr5HUx13Vss8KU/+xI+/4XPU1BhHI+ZsDR4nWcbgg1JSgkPHz7Cd7/7XXz00Uew2llAC21dAxjPxjgBmebWGh42XmjDuw+tKK6WSu70mgWjoH0/bbqWdxhDcxuRDWyFlMUYmbY90e+s1o//svPwdytQlhshZci8EGUM0+12fntn3EkZeVT6BosDIlpXRrYOTUPXHGOZEwxLjf9CVUmR+PvUfmJJKoPFwozAjCh7TatXySmRUO5RUCgBlazl94pqtfTS5umaCTO8hhYNrKo2S+DvnBj7qkrPO0eTZU6Adqt/AmIowiv7Row5SvWYDJ5ntdNpUktGxLAgi6FB4Aa4cukyjo+PizOZGIxpwlcxMTEMAVeuzKpr3KF889xQY6aOqgaYJvtEB1zv9mkW61R/ft2DXGK5SqlPksW6UjlBuKtA5ylo3oQoWz8zVt6mZzk9H/JdIp6SeJ627q2KVifjixzPwJYedGhgQNXDZMp+SIbGWAgwVAcBAqqAgz4Bq0xFD5uca+3FK84zV4GRNZZVzYmmhpx5zmuhEQkYVM5OurAHLqCuNsM4Op4W3LNfgTopR55RWoul0P53zqLocBHoQ3a70P3VDdpSSej7ga+5COA5Z6nPNUU9l9J2oQyJqhedbEplI00ZN1YukulR0gog9kICyno75Yyu7TDrOoxDh77vEcKoZ7qoglaBFoME0osmQFLOgMsZt2/ewEsvPocQNtibOwA3SFxq0+P4+BQnJ6c4OztHTgMcnI5+yDlhu9lgHHr4+ZzBM4uEhCEEnJycYrHn2YY6fPlLf0bV5dUS/+N//E8gGYxhwMnJE7RNgz2mVy8WCzx6/ETt0DiOWCzmmM06rNdrarFx/Fyz5XmyVGG1lwzOzs6wWFzHyKrK1lrs7+2j7VqMISDGAev1PXTdDGEI6LoZ+u2AEEeyiTGh64ipdX52DmMtvHeYz2dw3mMce6Qc0M48MjJmXUPqxiAqambaeAiBHy7ti6ZtSHQqVtULwcJTUQ4Fzw+XM5ESJSdd2yEESp5zyvCNx3w+A3h+pjMNiT86h+12y9S+QuFzxuLm9evY3H3EY4yyJqO1b5C9GlNCDBnjMGK7+QCXDvbx6qc/hcjMocwAdNu0ZSSaAK7ymWxHjp8cw1qPBw+e4P3370xiBtmhRwf7+OLnPw1YA5cj+z+yEx98+BGOj8+R0sjVN6ejAz/48CP8+te/wze+/mWESJT6GMKFMYBTALNYbM0z1MaVUVwTG58poXjnnbdw5eZVfOELfwbLrUFhDEgpwHuq5PumQR4GwABd1+K5l1/By3fv4hf/9E9IMRQGivYo1u0chVKaq9BdbExht02TG0moyq2xKGq91no/FT3YmIkv1MUpYabc/jRprNhT+jEcjxorQj+yG4wmpQU4rph7UtmzZjIBpHwftzbYugWuap+DVHXL86oTd7nAckuW56w+PXORcZYS55XkfZrMApj4Uy0EyX4xUL9snGF/XarM0+A5V0+vSu9MoVzXSTB0JFQRPiIGmtWWvWoraB5ZZQ9a4W7bFkdHDdbrNWK0mM1muobGGHRdi0+9+gqeub3GZrPFdjjG/vwA45BwcODx8su3MYw9xrDBDAvaw7bcYuYRO6qovROboWIcGkOTWxPHFZZH+sVIhSHnqFeW1rjqpa3BLEU1ZC+XsXO5cse7OV7NXqsLCH/K6xMkthJsVsF5VQ2EBCKcEErFx2RCEEtCKDQ56RIzpUIRS6Vqs+nZkHrtM6wrQdY6eN/i1U99Cp/57OeQjcMwRmSmKMVIYiXWWKapkODC6ckZfvD9H+DOe+8BMRSqGPckWtsgRlNVF1iMIAMmRaomaI8YtK9BXpMeO0WLylwqIzTjKhkrh5F7GVH1Rgh9W6TIkeFUOY/EtyxnaJYFvEoQViiWTvs2TCV4ABVDyCB2EKxBjhE58nfLczROkxxwFQa1gVV7JV7JwlkZ+SHBc5nRVprDuceP1UFpLSbWv/TWJPmapOuziw7KPWftAzcluEVti8qeNJUz0ZlrjH5DgVuCaY0kmZEFDHh+s4bgtTpf1V+cE1XYLPdBWWnIB/chJhSxLJ4pTMFY2WvIbqIca7PBfG+Bl155Bcev/6xat4Ik58qwcC4EawyWqxX25nMYkbBXS4OJAdJ+CFP+OU8CfVnjooAoxoj6cqaIag2AlcoltD2g7lvSY1QJkJW10Ly2WMf6s7XiyKJn/HASv91PznFBryf7CSVJTMoWEGpQ0rNWV67B51uSPGMMvKnuwVTc6wqwMUzdUrugqKZRQZDSa+uUPie0KxXnUzPJAU02Ve8V9dBTIp54jeqAs6gXy1ropkaV9OYy/zGz7VbaPwcqdcBUV0GF1SN71VgSW4s5syiZUR8Dm2ETJZlWZxMnWEfjYMWkEbhgEOMI7xqq3OaIxd4cx4+N2resQF3m8Ua5gHm5wMMZsp6G96Zh2n/p95K5rcYC165dJxppHHF2doYYAox16DcbIGU4tgMJWftsrakDWIEXM/phwBgDvONezhCJmryY4crRAYbxJs7PzrHe9Agx4cHxGUKk0S2r1QbjEDGbGcSQ0bQe1iQM/QAYiydPHmNvb4629UCeIVuioj9+8ggWBBL044gxBGpTcI4Ss75HjpmpwD2GYUDbNrDOYLNeYdZ2eg622y2cM+j7Le49uA/XeJydnePKlcvISGhbj09/+s+wWq3whz/8Afv7+zCwuHz5MmAyvO9weOkyPvzwQ6qwDgP29/bQdR1Sijg5PcXNW88AFlitljjYP8BiPsdms0Y369AytTjFAYvFDMM4YL2OJAqWEkxMMM4DBghjhEmWhKNa2qeNMRhiUjZCZlEyyJkPAcZatN5hvd5g3s2pZQc08qlpE7KJNA2BbYT3HsZaDOOIGAK8dcgx4+qlI3z08UP0iATnaOxgBf+oSzy8N8m2P/vsLVy7dpUZAxGhHxBixOyoVd9cPqRKoGLGvbsfA8bjzbfeQd9HPs5yLkhH5JnbNzHrGty8dROds2hbD+do31+/fhlnyw3eePMdNN5irOiMOUb87Kev47lnn8PNm1dgskNKlmZcs+6JxBQFnKPbS3k6okauWVkTqVazpdewXeP1H/8Y16/dxI2bN1iUyiPnNXfOR8RsYEyLIQT4poMxGV/5+tfx8b17uPvhh3rf4ORWJkwUwMNWoHP57lglpuoRVUi0JtzlSVyQbX0P0zpXnsSM8rtGhRnFbeRUdO3pZ1mvvwDD/Amp+u4c1e7L96XKvxrINix+uCST8qpBvnqj8r/uTPHQX8kl/hTgwvD4XqEDI5dky3DclTk2kfGtEgMYnkSQdMT3NPPRxAwF5MkqmiDPuk7ASusRxX/l+nOGFuMyM6jKZpDgg5kTUTL9EocWqnq5FtTtq6g2FjKaxuLocB9nZ6cYeqCbzfmeyAb4xuDgcIGjowO+DGageY+rV17BZtujcAGqYqSR8KAGafi+GPiV/mNpSSPQyqIpo9SRbRWLVey73UJatbMLY0H3otGJC3VOW5hyBJ5L6+EneX1C8Sjodq1RzZxr9CepQrKpxp2AJfgNpFIhT9UUFT7rEGPCarVC0zQ61kFQ+vrerHV48cUX8fnPfwFgQROBAHLOcN7rg5QNu1qt8NOf/gS///1bQIxUCck8UshkNN6rMFVB/cWnSVBjq3vGJBCcVOlMgSNSfXA49JVqldDk6o1wgVaRqwNQz82qDZkpn19/jv5PgihRda5icaPJLlG4YpK1KZVN5/y0oiNCQlo1kl6ZglgZCKgxpZinmJCTzMmk64gxMWhQEmYxtRpMK8TFCcXOHq3XHwCPDBIKS1aFUnAlAJyvCiJoVPfUVAZH0w++hKQ0UatGPFfvrBIlTShTGTe069AMydVLdTazg4+xACR0TxYRZHgKJABs1hv84pe/UMc5VQem70lVwif7db1a4+rVq1qBrJ0bXVaqwBTqP0/ad1Ijz9M+VBJbyxWt3FxAA3ersDHRXEFtcajPkL5rclPVuuzsgckvQB2kOBZVs66uaReprO6MkkCAgSP1+lQNMyXRAQA4y3RUptmjnMdpZVbWYGo3ZCKBhitauNFwq5wKMx1BAAhtNyGbwhghxx1VpKagqTVaW1/j7mpeBBp0fRW1yVWLQwmsBDhAyiTOZMVROjg3VaLOOcJmi2RIpMdYYVQYZuCAg4QMkyNCoPmhKRV7OI4jvPXYbrfoZg1805QqiQH3FdZrUKq/U6ZA3gk3L+5J5xxCCIiRqpoP7j+As8DR4SH29hZo2hYf3v0Y89kcg5xtHiViufqlvfYV5evux/dw+9nrOFrQDNcYIrxziDHwTHXg2rUrGMOIBGDIGR8/OEVKCUPfY73ZYP9gH8ZQ5coACGNA13ZYLC7j/sf3cPv2LYzRwrceMWQMQw/R8HMilmQp0V2uVlgt10A2WK83yDmjm7UT/9/3pEibcsAwDOiaFs5ZrNdrXLt6FbO2wWq1wtHRPq5du4Yr169jtdmgbVucnS2xmO/hyfEpuvkcGRGnyx7DmNDO97E328ds1qHrKGn13RzGAOv1Eo8fP8b+3j729vaIcjybU+J17TqWyyWePHmCEClBN5mFZjJ0PWeeRmq0zqNpiJqeQkDXeKo4+wb9yAJnziMj0AgZBoob5xl4JnVlYy2ct9quhJQRIik0016JHFMYuNbhpZeexb1HD7H66AH08Kudo8q3JjCmqJAaA7z08kv0nIwjJlTTYL1eYbttSIFbz7HYGPrY/f19zOdzfHTvAT788G4V+mYNMNu2xazriNqeryFlYOgHNK1DzhGXLh1gtrePH/zkdVjbKCgCACkmnByf4Ic//DH+03/+O7QOCCFTL3gqNgtVW1BmlhQNDij+nyxhKiNpIGdTkkhalNXyHD/50Q/x7//jf0LXzrDZrNC2LUIIRMuOAdY3SOOI0ZOuRDvbw2t/+Vf4b/+3/yv6UajYLBDnUJSO2V6JP1YgU5hRLBokYGRVKNdnObEkdb5Uxyqofi7VzDoOhAC3pBUxaTnhZyfMMF1T9TVJ7drUptUfblQISPmfWjwosapUYsVu1r6tBm9NdR26Aae5ovozUz1v6hVJkzeJmJcAjFnbqoy2mBlM44pJbMC5AU3UUDqAfDivaa3nIgzC8lnSaEMj98o+NfW6yl5QYKLey7Ww7JQ4JOtcCiGlv/Xy5Us4Pz/Her0mENByq5g8g1StOQvtfeELX8Q777yL09MTZW/UTEP+wsm9kXbQztrXt2YkP9ZVqbdOideVMWn1e3c/0EwOiNk9FOU7RK16VwjrT3h9gsQ2X0hksaNaRr15Fawk3QWpnEzlp2fwTCZoAppzwna7gfcWs1mryUIJCMkQNk2Dl156Bd/4xjdxeHSEmHghJelxPGnSkJN2nuhAP/vZz/Dmm79DzpHGzXD5xljAe8cCJpFnd9qqQlnmwk6rGVLRLH2gRQ6/PCZr5cAW9TUx6jVtdTfQ1kPqbHFsuQT/SbcYzQ8VYbH69+X5WF1Hy0iMjAvJF95PBo4Mm1WUqnoWvDZ0aAp1MCcSf6CknQ6UzZbnMFrEmIj6wylkvZnpEqzO8DOC6FTVW3HAVhCdLCM0shp8o0udS09uljmeYjgo+BfaSMrc7brzbGVtlJWQweqiiRPcABOFgmkAVxTfZLRbMmRUHQroAghNiIV4EqOq0qudWHU1liH3MUXd3ylHoqlXDqXunzTqeKbGWl4hBD3LMYoqtcw2k55xoWhFXkP1VFOjKP0ynOgkGWJfCVVkVhUsLQr19fB6VT28UxXBYrQBGRtQvdfU+7M2WFyRFXBDzTdDMHzuVHBiB2mUZ6/AlYGeXVIvrUCKCeJdkjoRnSvnmoMMpa9PASyr/bgVzYqDJdKUkV5YUQ2uJPt5RE2U6qkVNFXG/PCorjitalP1t4B0NMO4YsBNnvVFMKAEAmWvSW9/5pEdxvPKVKraKRlq7TCGmCKlpook9krnfALjGICYqMfVWxYiCmUvm7I3jdDAveU+1mqkUaYQxfL4qliNgigVhKRRn60ArWxMvYUJPM0ZaAy2mw28d3j2mWexOFwg5Yyjy5dx+Ogcj49PEISpYyNm8wW2m5G3aULMiWeWZ5yvNthut7hycAl7izlmi4Tr167jzp0PdPRJZrpa0za4fLiPjz66DwOPYRixXJ7j2rWr3Fsn49kS+jDg8sEMT06OcfPmDaoAZalCRsSY4X0DmylRSgweGwPMFjPEkdaaFIEDAIftdgOAlJeJmg8SG/QRbUtCS6vzJfKiw2KxQBgj3n/3DmA81psNYrYICbj/6BFmszma1RqbbY+unWG92aB7/ARXLl3WJH02m+H5558BkOB9h8V8H5sN9Xha1yBlh+W6R9MOGENG2y2wXfeYdZZpz0ZbOWJMmLUzJGMQwwjvWoxjj6ZpMAwDU+YjkKiWaRpHY5ZYECznjEtHBwiBvXBKxAqLGd5Q4tz4BpvNFvOmQYojbM7w3MMLA7jG4dWXX8STkyVOlxuI1Iue6YoJJTRuAGidx2qzxd2PP8asbdA2Dt4apBBwcvyEn49VgJZiFBLGfPnlF9B4i48+/ABD6MtmlraeBFy/ch0PHjzEjRtHDJobeG+5DQmwzmN1fIyzsxX29q/CMWsjJAEnE978/e/wqc+8gs9/9lOwrkOKCcFEjaME/JXAPLOgWkLN2Kogc2GGMKiassxLz3Am495H7+PXP/8n/Pm3voW2cRhCQI4JcRxhnUUYe4QhwMMijg6+8bj9zG38q7/9a/zjd7+Dvg8s0pSYWln7lKSxT6n0oUDrPKrHCOMGNGc0Vdev4B2fKWEgZkmO2J6KXgZsBZCUHVHsrlQeK6omwEwaAxhXaO8ChhQgs4CVmdtyKEaE3lftgyMbPWsys04Kcyez4JeE/FnAfEnrqiQ+m124kH7HSiuP2mGDDNGVKFeSZM1lJJNhpiL+SEJb7W4jUx9kugdKVb7wdAWKjhTbwag/oc9JzFxzxNgTkMZKAYY/2VW6MFUfcmYWlfxdrwMSy4nIYw1YEBi1Xq9xfnaCw6MjXnuepmG5As/Pd71Z4Te/+TUMtwdIBm14hBOkdUHHHbGfQBGX0j2tY7iC/IgutfaZKoQIiqWMnYxnmo4YekrxyZQYW/y2BJR5sm8niPu/+PpEiW19YXLBTdNUP+OqXNnhXImo6WgFnRCKHM36yui3W1gDzBdzXfTd3gxjDF544UW89tpr2Nvb5+CMFiemSM4lS/JF4j/jOOAXP/85fvOb3yDFqP1mhg+VqGnmXMbWSFJbVzXk+4vBKEkEr5LOkZVNKdXQzPOfFKCogsNJ1ad66c+qauzukShvLihUUSiuKspqg+0UDTRQRbPM/UhArirKpC4oP7eWRGMi9yfUCKH0gmKHkm2tRYqlMij9CUJdT6mip1cGqohjlXuUajFVXHOZg1xXHEVZIFtNyKyILXGpmqiLUa9VjGghrbpJsD6OY/WcsiZnqhypiausBxnRKAeXq+YSPFPlmsSlTeah2YauYxzLbE7w2udskDgxshaIOaD1DfdniXpxeRYin55Zzl2ABGMM1us1Dg4OtNdZNiX1SCfdR1n6AyGGcWoDCkI7NV7UG+kqR1xmKhbqip6YkpCAKeOVqIHK8+v85jxBVycHqkaqWXRFi/1V/441Frs4Yl2pzRWFv/ph+U/BFJnOIQg+fzidqUnyVyXfsg62nP26gljOfcFFLQeX6jAqwTP5DlsQRa121irh8qrfT//tJt+tt6JAw/T3xR7XfxpbbCEwtWe1ErGdBItEpbcJ2q4gZ7xwzIVZTfaIeuicgo3jQLNLm4bGqjS+Ifq+oX5Q3zRKY8soPePQTwZXdKI+V1SK/3LdScGfTCJK/LOc6Z5CCIgp4cbl62jaBqv1Btu+x97+vhQ+iH6cqbfz2tUrePftD8ozrOxmTAkffPABru7PsHUWKUZ8+OFHbBdIId05B+cdvPdovUeMAc4RBff8/BwhBLStp/E4/Do/X+Ha9f3SjsCK73AGBweHKhoYxkgiRsZjtVmjaTogRYRxZBYTzwtuSBAqhFGrzt55tPstxmED5xxRnpFx+fJlPPPMM9g7OMDdux9hudrAGOqbjjEhRuB8uYJ11It6dnoOYwxOT05wdnyCtulwcHCA4yfH2KxX6AcCv1NKWK9X2Gw3ACz6ga5lGEjEasvCk4FtqbMEdm+2W2yHASFlNL7lNhUSSOxamnM7DCOp94eIbkaK0XBegV7nHMahR8oZ3jU0E7jx1E9qLLJ1sN7BO8ejhCxMP8AZmqE5DCOGsETnPF5+9jn85q23EQyUDaR7wxZVIh39YgzefPNt3L51DYvO4ehwgcYTiN8PWwxDX7E7sgbYV65ewXPPPYuz4yf03JD039TFGgL5X331BZycPEBOGY9PHuPmtStoW+lf93j99Z8jhgJ6phQICODrD2PAD37wQ9y+dQuXDubIYUA/bOG9Ezx6avcMtVgYWxR/oSBnxVKr7J5hZV0DIKeAN375S9y4eQsvvvyithrEOCIDiIGubxwGGLRIXEH+zOe+iCePHuEX//TLyXcWTIESAeccCWmqBoCZ+DCjQphs6/mZSUokVcBiJ6c6NCkpGlrYRBW4ObWNKAJXuibcDighkDJ+pkWSiwmCqVZZ9kDZNxIDZE5MLazOpy0JX/XZNdhefcO0PLHz7Rm0qqaAxJyu6ueXlayvEZN7rBMpuWeNG6Qaqsy20gpZrrRUtkvIXH/3VP9DgnHdCdUNG8NjK+U3c6nu65tNtbcrxem6ECG2em9vD9vtFscnxzg4OOB2IkmXSd8kJWrt6YdeK9HqgLKcF+5vZWJlHQfVfMKyfnaHLVvaKqHJrfg4UU8WxmHJneqEdrdwB5Q9U+dUE36jyRONkX/p9YkTWwmWJAk0KkRUsutsLGAdDBKp3uVKTKmatyUoeQoBwzjCZJoLSGjD03vgnn/+RXz9G9/CbHGAiMTqd0VROUZCXtqWVBjHvsdv33gDr//kpxjWG158g5wDJ+I1DdhODkJdyag3GhmvxN8XS9Wo5vOLwa4NwKQyO+0L3X3Yk8qIrD1XRzVprlJcivFdQXsyJkl6kkOmVQ02rJbWXxMcgd7km+Sa9XskCC5q0PRySq201mo/2jRhqMWepLpHSC8gI2qsbvTyeyzaUfVnJD7Uou6Sc54kE/X3TV5siGKKOrerRqCUey6jONhKab+ljFniIMSyMFVywj4oo294OhBggYAMz/+eK6PsYPixRXZGmRkFVpkOtM8so9QWrrHwzuMv/+Iv8b3vfQ8pBDjr4ViNr9x36QMvOEPGOPY4vHTEPRXS1YhJP4pJdf+O0OGFEiBD143OS6NEndH2qu8ys1HNqFoFIAyNMpeguC3L/awF8TUAVesYoc2s4ayATUoXzlC2xbkJii47GzraaIog74JLWfcjNBES8KMC2atgpfT62knyzveci+BazjUamTRoqWMYsakSXMkKGemj1wS4jPeh45YutEnkXD7PGFNVRYLacAVlwE2fmcaHqdAfB5KyruVIMeCgAWedbJczUS+vVm5k1qFlgQsGpuT5GFHkzBmubdAiIcUR3njMuw7OtVQtCoFEBpkOGWPCbLagfsaUiYktFQMGK1NOyDzHGobbE6oAWoV+nKM2mpyBEOn6uCc+AWjaGZwz2PRr5POMs9NznJ2dA9biYH+BJyenMNlg1nbYbNZ47+33q1nWhhklVFNzJmO7GbDZ9Bj7HjknNK3H3mIP6+UKXdciWoNtypjN5pjvzdE2NCMzImK1XqMPI/s/q1S9k5NzjON1xAD0Q0Lj5mh8g9ZmfO5zX0SIEevNGnfe/wDHxydYzOcIfUQctsiJ1IGb1lEyGnh8GqtX5xDhWo+2adF4j9aTuJ9tPOaLDskYPDk9x8dPjnHtylXcu/sxDIDT03NkAE0zw2a70ZYN33lKmleBW1kS+oGqww8f3MM49CwA1SIbSvidcejzFk3bUhKaMsI4qsJr329xcHiAWTvHMI7oug6b7Ra2adF4S+OBjEWMGQYOKYieRYNrV29gM2yxOj/DGEbElNHNZtiOVJXtx5FtGAGYA7fztNZgPp/DWYeDvQM8Ho+BDHjnsRl7NC0JTt2+cR0PHj7Go7MThEjzvTMsC89YZJvhfcsCkgnDMODBw4dIKeClF24hhYjZYk4VZ5kAwMrbYkusMXj1pRfgvOG2D9IeMNZX9obOyN6ixTPP3sBq9QSAwa9//VvMv/k1zPfmMNbhw7sf45133kdKHjkws2cckWKCd15nVz96eIwf/uDH+Pf/9m/QuBb9eommpf5z71zpY+RqJwF2ErDX12S0rQmRcWsV4+P++2wQ+i1+9L2/x+Ur/xVHh4foZtQCEWOEGSOamSehOwcSqmQ2x9de+zbuffwQ9+99xPGaK3RI+XxkRAFZuRBmUdrMKDe3cGx7owCDFbBqdDRQEQsUH20st6eJjiILD0mCK/FH/ZzAegvg5MbkQkHPAhZOBJmMxoq0NUwZG1gck7YPVkOAxIxrklSSFqe2TD5T376jX/LUlwh7ag/xVPBJGGNIZS2oRFoxP6uqdZYigSSpgoxrX3ftYytF4N2LgvjjXJLQZFjoVIDOonUxjTsz06bJ81GswnEqbOm3NfJMOdphVid9Uty9KMxmM2QDnJ2doZnN0LVzGJQ52wDNDk4pKlUZsLAmw3sqeMVkFfTQpHHCpCttf0nbmMw0FrKR38N+XmvAlndSrIqCF6u09TqVn0shpoj51r9T/Paf9voE436mfWIavMi+qSoGEF68UvNSoaJV1NsYaaacIObz+RxynCiBdvqZOWdcu3YNX/7yl3F4eMSJDAV8jWsRQlHilGr2MI545w9/wPf/8fs4OztTuoU80mmltChXTquy0x7CupesXhuIgioKVbiM9SmIBMdrikrsIhl1Qlsjt3rgU1X2yqUyBRTEQ+5Hqj2SQMo61smmUI9ptAG0H1Y/o0KTIMlPkg0vSZTVn3tvikHhvg1ClEpl2DmnldqcM4smxZLw6XdJAjxdL8OjFYwCDtMDJAhfve6K2GWj/y7JlTFETyNajVN6DcSJaQ9zzSBIOkpEsABjJDjnXIVHntjG8RoKzan0RhilfzI1OFRsAOu0R/LJk2NEYzCbzbAwe0C2+Pu//yHufHAPzjk8c/savMPkOZe9mXkUSsAw9Ny7Xqi2+hwk+6h7ZSbPhA0xO3VNTnVfCYBTkFDtQa6yQKPX5/g7ss5eLerrFbxSJ6DJ0KB7jXwq41cnt6lQhbSmLvcmh1AW+o+8xMjWCbMwGIygDhO0VU4NJj28cnick5mIVVJYXYpiStUsgnr/ClAmSbUkozXaeeEeyjdNAf5dkTaU76PqkJzZKTNBnHx9TQQ6VfFALnsjpQQvSaw+d4neatS/ft5QkMDw2IVhHKkyl5KqT49jQIbVSmaMRcgQmao0kN4s2ZN1EFaPlzAyeL6qE+jjqwBK0UzgpUspc3WSKKzL1QohRGy3G4wxYtZ1QM4YxoBhjEpzNhUgNGE6cMUxhoTZolVVdxJlckgpomk6eE+Gpms7XLl8GcenPWIEtv0Wm80GB4u5PlVrLTabDfq+Rz8MWC2XWMwXyCnB8TOIDK7s7+/j43uUeMYYkcaRryti5lr0/cD+ImI2b6j3l/d0v91iYBuYckQ0LVx0GEPGetsjIeP05ATb1ZbXjgCIxEGrtURP78ee5ms7C2NF7CzyGXKIXLW2xmCIRJFunIc1Bv3Qk88YedROIqq0bzzGYcTZ6Tka3/CMSEO9yilg2W+wmNN83u12S609OaPtZnj8+DHgDIZxpPDLGmy2W/R9rwBSTgm+4bhjoDXKrNYNABtspnszRsS+x95+i7ZrcLC/wOn6HJtxUNEWOT8qAOkcUlBCJs5Oz7DZXoK7fEDvcw6GZ4FLjGA4gT28fIDnnr1No3y8r+aso4KmaB9eu3YVX/nKl/HhnfeRUsaly5fQtA2xjqzBz3/xS5ojbBzGcUTMBCY1ngUmZURijvjd797EC88/iy98/jPYDgOW98/w3O0b6NoGkWMIAdtEn6AAguJ/ik1XjYzKv1m178Dp6TF++pMf4V//9d/ACBOw72GyQegDEohlKOMPfdeim83wt//u3+N//2//Dzx+9JiB62KYM4qGgGRdco0yl9tyUJ8khsySyEx7cutnU9vlnKe+Qp7/09hDdSwkszZkDIso6+7ma7uJl2aOAqgq+MgiedlUo/IqP7HjNrM6rYr1k8p3CkVX8uFSJJkmg5PcARPHxRT0UkGWWBgo1Oey30vMKX4/yYg2jZVx8Xt1ofinqbSdUM5YN8XWbYPVmj5lrct7/3hSJv+SUvUMBEtOpd0TANqmhdk3OD49Q44G3ayjkGGiY5WIkc4MgWwMXvn0p/Dxvfs4PTnjn+USi5aFpOsVnZPan0/WvrT7lAdW1o+euUWpB5f4qY4bapZYiQCmiyIf/bTE+J97faLEtq5kluBNtjV0gxvGKWQ8lfYgMj9b+qaMsejHAcgZi/lCRadSLmqw8p0vvPACvvrVr+LKlasIaSRkjylB0Vi4xpFR5GpxGCM+eP8O/uG738Pp6WkVnCZSSbZuos534eBXPxfnFWOiGaI7D0pHHqVSHZJB5HLwpyiZIGe5MgxQwS3592TSZAMQH17cnpeL1b5GYQJYy3O+hOaH6X1KMit/p3EIkdSnTZk5WWgZRg+JrGEIkogIcijJU9mAVJXJanBpxIXTddJD4molvrIeknipbLyloFDG3RiXWYHVlWcliZVSenLlPMpnS3AufcEKeajTrFFIpu4Z2nORaZHaHy3QgjUaMIutzTkDkavk1mnPQ5YqXTWT1VogCrKn856Bx09O8O77H+LlVz+Ly1eu4+zsDF3Xot8OePDwCS4d7VNQjsgAJZ9R6f+W6qr1WK1OcXh4yP+W9X+JaUYyBWoC+PCyETuBqkNAujCkvUZoTQUAWaG7y9cpOFDYDqgTw1QlwpWjMLWQRSr05Z2SNK0lNwqWxIm+x+o87pKEQxHVaduDUOazBiIywqcKcHaYBSXgKLaQ5pYWyrkki7AVZV8MxI4B3wUq6iMiNjdnrmBUbzAqtCRZcPkOw99Xf1WdvCPTSBgJFZBrMaVEKPFT+pqNUCdlVl01diGroEiG46Q5iy6CkQJx1pmRFk5dqQWQxoEBIAJDy9ifSAi1pdmVTUOUQWscumZWEttcQnd9/MwAQPUvRZyEggu17QYwKn5YnkdKpPRLPaQ9FvN96tE0EY+fnODJoydAstoH5o1V5fUpE8fxXPaMcYgIDHCRoN+IkCh5n806eO/Qth2GYQSswbO3n8GTk7cBUEV1s9lc2C8xRKyWK1hj4JsGTUd9YpYV2C1oznjTegInMcI3NOqhmzVwboYYI7quRWpogoAxFsvlGvvzOUIYEVPCpaMjwBhsNmuEMeL8dI04RjjnkQ0BD0TXNbA5cS+qRx9HGEvVPpsCYr9FwyPQQowYMzDrWuQwavtTCNy5nCPGBE78Aitpcl9q47HqN2h9R/NfYdCPgeey0xog0eizxdxgsVjgmeeexV/97X/Ar371a/zmlz/HZnOObjGnVqe2hXcWJoxcYCGmjbAGcs7IMWHWdWi5EhxzxpgC1iMJTKUAhARs1mskY+GcxzD2lBxzvMGfSi0oKaEfaH/yBGjknDCMEQ8fH2Mx73D5YIG2o75OYrUkyKxIbxM+/9lXMOsaxJQRgwDhBa5SBpbJOF+t8O4772IcR2REfOozr6JbzJGQcf/j+/jgzgMkeJhsEENC4F7utulgrEVMYlQtxpTxo5/8FLefuY2jq9cw9htK6seg/gkAEvc/iz2owfScWbAnS8+w9EpSHEDVLqJAZmS884ff4ejwAF/7+jcxny8AJPo+49GPIyU/IWPsA7xrkW3C5SuX8c1vfRv/4//4/yCHCFgHV+k5ZEs2xGUUMSue+W0ZoE2Tthdhh9SVQaeaJLsxp6kqX5JESM1vIvwjxRNTsZ5knZCok8hJ/6UhRkpl47UCidr+F7ASbH3rqL6y8GrorbTUmFgSTvn9bArVuqrYmgxYFtDTGOkpqSZdEtGRwVV91R+RRRWZaI0Vhe5rS3JW0Acqgu2AqfrtNf2ZK5P6cx43pRXXXItkMZsp7ybpk4ImciT/RFMtjFbbC0Jd9H5KiOoK8KrxC+2JxrW4cnQFp2dnSDFiMV9IBYZ/R8InZmZkiwcPHqPt5oBdljjBRJ6KkXkkyi5jk3viE4P8ebotDMcxyUhzFhcCJvF2dYbpYewwKeW7yuiorD3BZa9+0tcnrthKwEwkNVYA1WC4pu5BD099o8ZwQcJZxIH6FmezuY6BwU6/GwAcHR3hK1/5Cm7evKnoQsqspAvDM8scDSg3JMhx/+OH+Pu//wecnJzqZ2Zu4CfJ+alE+dOSW1NRjVOSAJkDqlrBtxbW4kLOVIVMPlNi11xV/sq/FeTeMopeEN+cQeJWWpmhXUbV7qRov1yzU+VjU81wnTbZx1g+XwNFGK58UB+qtTTWwum90np4L1sncSXT8b0VqrrztqJb8sgUGZtjbJn7uZMYTZgB2idquMBHHkRndFb7U58z02jEkOXqRIooFtimROmno59cPEKTOVslKk4pscEz+nOtCgtlKVUCC0aCicoBSHJsRchG+vkMB+skbvPo8SOEMOLJyUMkbJBSwMf3ltiutjjcM1h0CSYPTEXnZEJ6gXQLcsAUM7pujoSgQ+9FXVb2VJ1I1s9GZhnL/4wKxtnJ+TG8uDWYVO/bzAJMU9CmqtJOj42+imiFBO18vfoAytmVz5zQYVXBsjrn8jsT1eFdZoNBzjwzlPcPJahpsmfBCp6yuTIHRFaqqswuh7GIOaDhkU/1Wut16T3sbEemi1sW/ZBliFyh1ioqCzep2FqVQEtSZSq7OL2GEnBGXjcrfljobqYkedbZMvDBTdUvM4vz1XtIHCWrDuj6l/1gmIq58/xjRIjUW17WXRQyS8sF9foTDVTsvJGA0zKlkc+97kNtMTDUB5mnLBepcogoWg1qxhQxm82wHHt0XYf5YoZLlw5x9co1vPnWXVhjlCVRfJDskQxEMPukAIo5A+v1GtYahEiU2qPDI8xmMxgDntdr0Q8DLh0d8hoCYxix3W4rFLw8h/V6PdGHyETIREiRq1r0827WwRrAewPTeHju5xVWQNs6Fe0axxFmb6Gj2oZxpDF71pUxSSnDWQI9KDnuAACh36LrSFgqxojWNfj/tXf3uk0EURiGv5ndteNECW5QJCs0FIAE14EEV0FPw8XQ0HAviEiIhp+koEQUQUgocpwoxOv9o5jZmVkTCehi6X2KNLESebzemTNz9hyTSVXaaSCzOlucKysKmc6qulpq7NOsm6aRyV0wWlYusK7rRrmx2hq5Z47LVanlslRtm3D9ucyVlYrRSDazyovctRNqpO3Jrh48fKSvJ9/07PkLvX71Uu8P32jUWo3H28oy1wu1bQuVZay7MJmM1bRWezs7Om1Wyka5C7JlfEVrV8Ty6mqpclmrrhutqkr1xbk6H+TmknJj5c8xwyK+6xRa3diQHeUWreeLC/2cFBoVVnXngmRZ459td5/9rb1dHRzMfEBmNJvNfLpt/LaHe7pa/bq8dItmf/2vVqXqekt5Xuj46IuulmW4/3d9K63QCcD4za2YYXJ6Otfbw3d6+uSxJpNCVTVX07Yqsr62iQ9STQyo0vmkU8z2kgsj1flE3lyuk0Mo7Gakuq509PmTZrM72t+/rXY8VulPp7I285vUuYyMq6ReuE2lu/fu68f3Ex1//CCTZaFQW//ca9tnsiQZOoPDVyUDmu4rpfU/jJVRn2Yca1PE+W99DRIzbbqkToux64VbfUp3Pyf4XrPWxvtY/JMmbMb0h09hU9IM1yiDdfHgvXbhvrs+BH6IBqfTgznGb3Q2SVtQ9evjMH3acE/pQ992bZ4f9HUPP2MgGNZmyeeSZvIZPzf/OTz9ZxE7FbhHrpKqxXEor7kAhhsOoY95spDsNIw30t936fvsws168H3IslzTW1PN53MtVgtNp3thDKV+nR3H4+xssbZW6TMI1k5MB9euG/n+DCTNdFSfqRL/aRLx9l1QulC7IWy4D5LlTMxUWLvABiN63R7LX5juf894AQAAAAC4Qew/vAYAAAAAgBuLwBYAAAAAsNEIbAEAAAAAG43AFgAAAACw0QhsAQAAAAAbjcAWAAAAALDRCGwBAAAAABuNwBYAAAAAsNEIbAEAAAAAG+03mrlGPCfEJOUAAAAASUVORK5CYII=", "text/plain": [ "
    " ] @@ -447,11 +447,11 @@ " in zip(detections.class_id, detections.confidence)\n", "]\n", "\n", - "bounding_box_annotator = sv.BoundingBoxAnnotator(thickness=4)\n", + "box_annotator = sv.BoxAnnotator(thickness=6)\n", "label_annotator = sv.LabelAnnotator(text_thickness=4, text_scale=2)\n", "\n", "annotated_frame = frame.copy()\n", - "annotated_frame = bounding_box_annotator.annotate(annotated_frame, detections)\n", + "annotated_frame = box_annotator.annotate(annotated_frame, detections)\n", "annotated_frame = label_annotator.annotate(annotated_frame, detections, labels)\n", "sv.plot_image(annotated_frame, (12, 12))" ] @@ -587,7 +587,7 @@ }, "outputs": [], "source": [ - "bounding_box_annotator = sv.BoundingBoxAnnotator(thickness=4)\n", + "bounding_box_annotator = sv.BoxAnnotator(thickness=4)\n", "label_annotator = sv.LabelAnnotator(text_thickness=4, text_scale=2)\n", "trace_annotator = sv.TraceAnnotator(thickness=4)" ] @@ -696,11 +696,21 @@ "provenance": [] }, "kernelspec": { - "display_name": "Python 3", + "display_name": "supervision", + "language": "python", "name": "python3" }, "language_info": { - "name": "python" + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.11.13" } }, "nbformat": 4, From f90a94be2e37f7d9ada6f27d060e2461c907af53 Mon Sep 17 00:00:00 2001 From: Onuralp SEZER Date: Fri, 11 Jul 2025 01:56:42 +0200 Subject: [PATCH 291/420] =?UTF-8?q?chore:=20=20=F0=9F=A7=B9=20drop=20asset?= =?UTF-8?q?=20extra=20from=20installation=20=20and=20clean=20up=20import?= =?UTF-8?q?=20in=20video=20download=20duplicate?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- docs/notebooks/annotate-video-with-detections.ipynb | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/docs/notebooks/annotate-video-with-detections.ipynb b/docs/notebooks/annotate-video-with-detections.ipynb index 8950bbbd7d..a8a6a9028b 100644 --- a/docs/notebooks/annotate-video-with-detections.ipynb +++ b/docs/notebooks/annotate-video-with-detections.ipynb @@ -93,7 +93,7 @@ }, "outputs": [], "source": [ - "!pip install -q inference-gpu \"supervision[assets]\"" + "!pip install -q inference-gpu \"supervision\"" ] }, { @@ -156,7 +156,7 @@ }, { "cell_type": "code", - "execution_count": 4, + "execution_count": null, "metadata": { "colab": { "base_uri": "https://localhost:8080/" @@ -207,7 +207,6 @@ ], "source": [ "import supervision as sv\n", - "from supervision.assets import download_assets, VideoAssets\n", "from inference.models.utils import get_roboflow_model\n", "\n", "\n", @@ -368,7 +367,7 @@ "
    \n", "\n", "\n", - "In the code above we've created a`video_info` variable to pass information about the video to our `VideoSink`. The `VideoSink` is a cool little context manager that allows us to `write_frames()` to a video output file. We're also optionally using `tqdm` to display a progress bar with a % complete. We only scratched the surface of all of the customizable Annotators and additional features that Supervision and Inference have to offer. Stay tuned for more cookbooks on how to take advantage of them in your computer vision applications. Happy building! \ud83d\ude80" + "In the code above we've created a`video_info` variable to pass information about the video to our `VideoSink`. The `VideoSink` is a cool little context manager that allows us to `write_frames()` to a video output file. We're also optionally using `tqdm` to display a progress bar with a % complete. We only scratched the surface of all of the customizable Annotators and additional features that Supervision and Inference have to offer. Stay tuned for more cookbooks on how to take advantage of them in your computer vision applications. Happy building! 🚀" ] } ], From d7e0dedf74c0556693dc8c059a181111edb8ea89 Mon Sep 17 00:00:00 2001 From: hidara2000 Date: Fri, 11 Jul 2025 09:57:06 +1000 Subject: [PATCH 292/420] pull from main --- supervision/annotators/core.py | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/supervision/annotators/core.py b/supervision/annotators/core.py index f10491ff44..b56208f4c4 100644 --- a/supervision/annotators/core.py +++ b/supervision/annotators/core.py @@ -139,10 +139,10 @@ def _adjust_labels_in_frame( # Update the properties with the spread out boxes adjusted_properties[:, :4] = spread_boxes - # Additional check to ensure boxes are still within frame after spreading - adjusted_properties[:, :4] = snap_boxes( - adjusted_properties[:, :4], resolution_wh - ) + # Additional check to ensure boxes are still within frame after spreading + adjusted_properties[:, :4] = snap_boxes( + adjusted_properties[:, :4], resolution_wh + ) return adjusted_properties From fa98266914a6472ea8d083bc463475bc48829c78 Mon Sep 17 00:00:00 2001 From: Onuralp SEZER Date: Fri, 11 Jul 2025 02:07:31 +0200 Subject: [PATCH 293/420] =?UTF-8?q?chore:=20=F0=9F=A7=B9=20removal=20of=20?= =?UTF-8?q?version=20constraint,=20using=20latest=20bbox=20annotator=20and?= =?UTF-8?q?=20removal=20of=20asset=20extra=20from=20installations?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - Removed specific version constraint for `supervision` package in installation command. - Updated references from `sv.BoundingBoxAnnotator` to `sv.BoxAnnotator` for consistency with the latest library changes. - Removed asset extension of package installation because it is has been included into main package Signed-off-by: Onuralp SEZER --- .../annotate-video-with-detections.ipynb | 2 +- .../download-supervision-assets.ipynb | 4 +-- ...nt-of-text-to-image-diffusion-models.ipynb | 2 +- docs/notebooks/object-tracking.ipynb | 2 +- docs/notebooks/occupancy_analytics.ipynb | 2 +- docs/notebooks/quickstart.ipynb | 10 +++---- .../serialise-detections-to-csv.ipynb | 28 ++++++------------- .../serialise-detections-to-json.ipynb | 8 +++--- 8 files changed, 24 insertions(+), 34 deletions(-) diff --git a/docs/notebooks/annotate-video-with-detections.ipynb b/docs/notebooks/annotate-video-with-detections.ipynb index a8a6a9028b..caa7db47e8 100644 --- a/docs/notebooks/annotate-video-with-detections.ipynb +++ b/docs/notebooks/annotate-video-with-detections.ipynb @@ -367,7 +367,7 @@ "
    \n", "\n", "\n", - "In the code above we've created a`video_info` variable to pass information about the video to our `VideoSink`. The `VideoSink` is a cool little context manager that allows us to `write_frames()` to a video output file. We're also optionally using `tqdm` to display a progress bar with a % complete. We only scratched the surface of all of the customizable Annotators and additional features that Supervision and Inference have to offer. Stay tuned for more cookbooks on how to take advantage of them in your computer vision applications. Happy building! 🚀" + "In the code above we've created a`video_info` variable to pass information about the video to our `VideoSink`. The `VideoSink` is a cool little context manager that allows us to `write_frames()` to a video output file. We're also optionally using `tqdm` to display a progress bar with a % complete. We only scratched the surface of all of the customizable Annotators and additional features that Supervision and Inference have to offer. Stay tuned for more cookbooks on how to take advantage of them in your computer vision applications. Happy building! \ud83d\ude80" ] } ], diff --git a/docs/notebooks/download-supervision-assets.ipynb b/docs/notebooks/download-supervision-assets.ipynb index f02abf06dc..a36f7accda 100644 --- a/docs/notebooks/download-supervision-assets.ipynb +++ b/docs/notebooks/download-supervision-assets.ipynb @@ -17,7 +17,7 @@ }, { "cell_type": "code", - "execution_count": 10, + "execution_count": null, "metadata": { "vscode": { "languageId": "shellscript" @@ -25,7 +25,7 @@ }, "outputs": [], "source": [ - "!pip install -q \"supervision[assets]\"" + "pip install -q \"supervision\"" ] }, { diff --git a/docs/notebooks/evaluating-alignment-of-text-to-image-diffusion-models.ipynb b/docs/notebooks/evaluating-alignment-of-text-to-image-diffusion-models.ipynb index 80a5ede545..8d7bf8d93c 100644 --- a/docs/notebooks/evaluating-alignment-of-text-to-image-diffusion-models.ipynb +++ b/docs/notebooks/evaluating-alignment-of-text-to-image-diffusion-models.ipynb @@ -101,7 +101,7 @@ }, "outputs": [], "source": [ - "!pip install -q torch diffusers accelerate inference-gpu[yolo-world] dill git+https://github.com/openai/CLIP.git supervision==0.19.0rc5" + "!pip install -q torch diffusers accelerate inference-gpu[yolo-world] dill git+https://github.com/openai/CLIP.git supervision" ] }, { diff --git a/docs/notebooks/object-tracking.ipynb b/docs/notebooks/object-tracking.ipynb index 20abe1a6be..b4b0704ca1 100644 --- a/docs/notebooks/object-tracking.ipynb +++ b/docs/notebooks/object-tracking.ipynb @@ -92,7 +92,7 @@ }, "outputs": [], "source": [ - "!pip install -q inference-gpu \"supervision[assets]\"" + "!pip install -q inference-gpu \"supervision\"" ] }, { diff --git a/docs/notebooks/occupancy_analytics.ipynb b/docs/notebooks/occupancy_analytics.ipynb index aad7f900d0..c49c6a0704 100644 --- a/docs/notebooks/occupancy_analytics.ipynb +++ b/docs/notebooks/occupancy_analytics.ipynb @@ -72,7 +72,7 @@ }, "outputs": [], "source": [ - "!pip install roboflow supervision==0.19.0 -q" + "!pip install roboflow supervision -q" ] }, { diff --git a/docs/notebooks/quickstart.ipynb b/docs/notebooks/quickstart.ipynb index f760f63d15..59b9cae3f5 100644 --- a/docs/notebooks/quickstart.ipynb +++ b/docs/notebooks/quickstart.ipynb @@ -300,7 +300,7 @@ }, "outputs": [], "source": [ - "!pip install -q \"ultralytics<=8.3.40\"" + "!pip install -q ultralytics" ] }, { @@ -495,7 +495,7 @@ "source": [ "from ultralytics import YOLO\n", "\n", - "model = YOLO(\"yolov8x.pt\")\n", + "model = YOLO(\"yolo11x.pt\")\n", "result = model(image, verbose=False)[0]\n", "detections = sv.Detections.from_ultralytics(result)" ] @@ -594,7 +594,7 @@ }, { "cell_type": "code", - "execution_count": 33, + "execution_count": null, "metadata": { "id": "yM6dmicTRGl6" }, @@ -602,7 +602,7 @@ "source": [ "from ultralytics import YOLO\n", "\n", - "model = YOLO(\"yolov8x-seg.pt\")\n", + "model = YOLO(\"yolo11x-seg.pt\")\n", "result = model(image, verbose=False)[0]\n", "detections = sv.Detections.from_ultralytics(result)" ] @@ -926,7 +926,7 @@ }, "outputs": [], "source": [ - "!pip install -q supervision[assets]" + "!pip install -q supervision" ] }, { diff --git a/docs/notebooks/serialise-detections-to-csv.ipynb b/docs/notebooks/serialise-detections-to-csv.ipynb index 3e157c41cc..ba545a7267 100644 --- a/docs/notebooks/serialise-detections-to-csv.ipynb +++ b/docs/notebooks/serialise-detections-to-csv.ipynb @@ -32,7 +32,7 @@ }, "outputs": [], "source": [ - "!pip install -q inference requests tqdm supervision==0.21.0" + "!pip install -q inference requests tqdm supervision" ] }, { @@ -658,14 +658,14 @@ "id": "oIK2K9zM1Kn9" }, "source": [ - "###\u00a0Annotate Image with Detections\n", + "### Annotate Image with Detections\n", "\n", - "Finally, we can annotate the image with the predictions. Since we are working with an object detection model, we will use the [`sv.BoundingBoxAnnotator`](https://supervision.roboflow.com/latest/detection/annotators/#supervision.annotators.core.BoundingBoxAnnotator) and [`sv.LabelAnnotator`](https://supervision.roboflow.com/latest/detection/annotators/#supervision.annotators.core.LabelAnnotator) classes." + "Finally, we can annotate the image with the predictions. Since we are working with an object detection model, we will use the [`sv.BoxAnnotator`](https://supervision.roboflow.com/latest/detection/annotators/#supervision.annotators.core.BoxAnnotator) and [`sv.LabelAnnotator`](https://supervision.roboflow.com/latest/detection/annotators/#supervision.annotators.core.LabelAnnotator) classes." ] }, { "cell_type": "code", - "execution_count": 41, + "execution_count": null, "metadata": { "colab": { "base_uri": "https://localhost:8080/", @@ -674,20 +674,9 @@ "id": "WBv8apPz1IiP", "outputId": "ad32b078-12d5-4457-e16d-c7a428ab858a" }, - "outputs": [ - { - "data": { - "image/png": "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", - "text/plain": [ - "
    " - ] - }, - "metadata": {}, - "output_type": "display_data" - } - ], + "outputs": [], "source": [ - "bounding_box_annotator = sv.BoundingBoxAnnotator()\n", + "bounding_box_annotator = sv.BoxAnnotator()\n", "label_annotator = sv.LabelAnnotator()\n", "\n", "annotated_frame = frame.copy()\n", @@ -724,7 +713,8 @@ "provenance": [] }, "kernelspec": { - "display_name": "Python 3", + "display_name": "supervision", + "language": "python", "name": "python3" }, "language_info": { @@ -737,7 +727,7 @@ "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", - "version": "3.10.14" + "version": "3.11.13" } }, "nbformat": 4, diff --git a/docs/notebooks/serialise-detections-to-json.ipynb b/docs/notebooks/serialise-detections-to-json.ipynb index 2e50115896..b9c8902f48 100644 --- a/docs/notebooks/serialise-detections-to-json.ipynb +++ b/docs/notebooks/serialise-detections-to-json.ipynb @@ -32,7 +32,7 @@ }, "outputs": [], "source": [ - "!pip install -q inference requests tqdm supervision==0.21.0" + "!pip install -q inference requests tqdm supervision" ] }, { @@ -695,12 +695,12 @@ "source": [ "###\u00a0Annotate Image with Detections\n", "\n", - "Finally, we can annotate the image with the predictions. Since we are working with an object detection model, we will use the [`sv.BoundingBoxAnnotator`](https://supervision.roboflow.com/latest/detection/annotators/#supervision.annotators.core.BoundingBoxAnnotator) and [`sv.LabelAnnotator`](https://supervision.roboflow.com/latest/detection/annotators/#supervision.annotators.core.LabelAnnotator) classes." + "Finally, we can annotate the image with the predictions. Since we are working with an object detection model, we will use the [`sv.BoxAnnotator`](https://supervision.roboflow.com/latest/detection/annotators/#supervision.annotators.core.BoxAnnotator) and [`sv.LabelAnnotator`](https://supervision.roboflow.com/latest/detection/annotators/#supervision.annotators.core.LabelAnnotator) classes." ] }, { "cell_type": "code", - "execution_count": 49, + "execution_count": null, "metadata": { "colab": { "base_uri": "https://localhost:8080/", @@ -722,7 +722,7 @@ } ], "source": [ - "bounding_box_annotator = sv.BoundingBoxAnnotator()\n", + "bounding_box_annotator = sv.BoxAnnotator()\n", "label_annotator = sv.LabelAnnotator()\n", "\n", "annotated_frame = frame.copy()\n", From 0b00edc526ba43369e36b98456e5dbb2d07dd5c6 Mon Sep 17 00:00:00 2001 From: hidara2000 Date: Fri, 11 Jul 2025 10:14:07 +1000 Subject: [PATCH 294/420] Remove redundant duplicated calls to spread_out_boxes --- supervision/annotators/core.py | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/supervision/annotators/core.py b/supervision/annotators/core.py index b56208f4c4..f10491ff44 100644 --- a/supervision/annotators/core.py +++ b/supervision/annotators/core.py @@ -139,10 +139,10 @@ def _adjust_labels_in_frame( # Update the properties with the spread out boxes adjusted_properties[:, :4] = spread_boxes - # Additional check to ensure boxes are still within frame after spreading - adjusted_properties[:, :4] = snap_boxes( - adjusted_properties[:, :4], resolution_wh - ) + # Additional check to ensure boxes are still within frame after spreading + adjusted_properties[:, :4] = snap_boxes( + adjusted_properties[:, :4], resolution_wh + ) return adjusted_properties From bf2a67b85bfc4ed82578e00015172f318cec45f5 Mon Sep 17 00:00:00 2001 From: Onuralp SEZER Date: Fri, 11 Jul 2025 02:18:43 +0200 Subject: [PATCH 295/420] =?UTF-8?q?chore:=20=20=F0=9F=A7=B9=20update=20coo?= =?UTF-8?q?kbook.html=20notebook=20versions=20to=20v0.26.0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- docs/theme/cookbooks.html | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/docs/theme/cookbooks.html b/docs/theme/cookbooks.html index 5e408c3127..c3fbd652f5 100644 --- a/docs/theme/cookbooks.html +++ b/docs/theme/cookbooks.html @@ -12,15 +12,15 @@

    Supervision Cookbooks

    From fd1bb5b4b2c5fe505a32b7ba0612fa76c478e917 Mon Sep 17 00:00:00 2001 From: Onuralp SEZER Date: Fri, 11 Jul 2025 16:49:58 +0300 Subject: [PATCH 296/420] Update supervision/detection/vlm.py Co-authored-by: Soumik Rakshit <19soumik.rakshit96@gmail.com> --- supervision/detection/vlm.py | 16 +++++++++++++--- 1 file changed, 13 insertions(+), 3 deletions(-) diff --git a/supervision/detection/vlm.py b/supervision/detection/vlm.py index 6cfdb04774..1267ca74ab 100644 --- a/supervision/detection/vlm.py +++ b/supervision/detection/vlm.py @@ -416,9 +416,19 @@ def from_google_gemini_2_5( resolution_wh: Tuple[int, int], ) -> Tuple[np.ndarray, np.ndarray, np.ndarray, Optional[np.ndarray]]: """ - Parse and scale bounding boxes and masks from Google Gemini 2.5 style JSON output. - https://aistudio.google.com/ - https://ai.google.dev/gemini-api/docs/vision?lang=python + Parse and scale bounding boxes and masks from Google Gemini 2.5 style + [JSON output](https://ai.google.dev/gemini-api/docs/vision?lang=python). + + The JSON is expected to be enclosed in triple backticks with the format: + ```json + [ + { + "box_2d": [x1, y1, x2, y2], + "mask": "data:image/png;base64,...", + "label": "some class name"}, + ... + ] + ``` Args: result: String containing the JSON snippet enclosed by triple backticks. From a6d9550a9a5bed4e0020efde64b6054407af7ddf Mon Sep 17 00:00:00 2001 From: "pre-commit-ci[bot]" <66853113+pre-commit-ci[bot]@users.noreply.github.com> Date: Fri, 11 Jul 2025 13:51:19 +0000 Subject: [PATCH 297/420] =?UTF-8?q?fix(pre=5Fcommit):=20=F0=9F=8E=A8=20aut?= =?UTF-8?q?o=20format=20pre-commit=20hooks?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- supervision/detection/vlm.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/supervision/detection/vlm.py b/supervision/detection/vlm.py index 1267ca74ab..193c52ef42 100644 --- a/supervision/detection/vlm.py +++ b/supervision/detection/vlm.py @@ -418,7 +418,7 @@ def from_google_gemini_2_5( """ Parse and scale bounding boxes and masks from Google Gemini 2.5 style [JSON output](https://ai.google.dev/gemini-api/docs/vision?lang=python). - + The JSON is expected to be enclosed in triple backticks with the format: ```json [ From 1034313ac263e7fe4479c2c54a1ca6ab70a061a6 Mon Sep 17 00:00:00 2001 From: Onuralp SEZER Date: Fri, 11 Jul 2025 17:13:11 +0300 Subject: [PATCH 298/420] =?UTF-8?q?feat:=20=F0=9F=9A=80=20exclude=20all=20?= =?UTF-8?q?dev=20extras=20from=20pypi=20package=20and=20only=20available?= =?UTF-8?q?=20to=20dev=20installations=20#pep-0735?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- pyproject.toml | 2 + uv.lock | 4556 ++++++++++++++++++++++++------------------------ 2 files changed, 2285 insertions(+), 2273 deletions(-) diff --git a/pyproject.toml b/pyproject.toml index e2de3f35ff..30e0afb72d 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -58,6 +58,8 @@ Documentation = "https://supervision.roboflow.com/latest/" metrics = [ "pandas>=2.0.0", ] + +[dependency-groups] dev = [ "pytest>=7.2.2,<9.0.0", "tox>=4.11.4", diff --git a/uv.lock b/uv.lock index b20a6f2e39..449b0feebb 100644 --- a/uv.lock +++ b/uv.lock @@ -1,5 +1,5 @@ version = 1 -revision = 1 +revision = 2 requires-python = ">=3.8" resolution-markers = [ "python_full_version >= '3.12' and sys_platform == 'darwin'", @@ -34,9 +34,9 @@ dependencies = [ { name = "sniffio", marker = "python_full_version < '3.9'" }, { name = "typing-extensions", marker = "python_full_version < '3.9'" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/4d/f9/9a7ce600ebe7804daf90d4d48b1c0510a4561ddce43a596be46676f82343/anyio-4.5.2.tar.gz", hash = "sha256:23009af4ed04ce05991845451e11ef02fc7c5ed29179ac9a420e5ad0ac7ddc5b", size = 171293 } +sdist = { url = "https://files.pythonhosted.org/packages/4d/f9/9a7ce600ebe7804daf90d4d48b1c0510a4561ddce43a596be46676f82343/anyio-4.5.2.tar.gz", hash = "sha256:23009af4ed04ce05991845451e11ef02fc7c5ed29179ac9a420e5ad0ac7ddc5b", size = 171293, upload-time = "2024-10-13T22:18:03.307Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/1b/b4/f7e396030e3b11394436358ca258a81d6010106582422f23443c16ca1873/anyio-4.5.2-py3-none-any.whl", hash = "sha256:c011ee36bc1e8ba40e5a81cb9df91925c218fe9b778554e0b56a21e1b5d4716f", size = 89766 }, + { url = "https://files.pythonhosted.org/packages/1b/b4/f7e396030e3b11394436358ca258a81d6010106582422f23443c16ca1873/anyio-4.5.2-py3-none-any.whl", hash = "sha256:c011ee36bc1e8ba40e5a81cb9df91925c218fe9b778554e0b56a21e1b5d4716f", size = 89766, upload-time = "2024-10-13T22:18:01.524Z" }, ] [[package]] @@ -63,18 +63,18 @@ dependencies = [ { name = "sniffio", marker = "python_full_version >= '3.9'" }, { name = "typing-extensions", marker = "python_full_version >= '3.9' and python_full_version < '3.13'" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/a3/73/199a98fc2dae33535d6b8e8e6ec01f8c1d76c9adb096c6b7d64823038cde/anyio-4.8.0.tar.gz", hash = "sha256:1d9fe889df5212298c0c0723fa20479d1b94883a2df44bd3897aa91083316f7a", size = 181126 } +sdist = { url = "https://files.pythonhosted.org/packages/a3/73/199a98fc2dae33535d6b8e8e6ec01f8c1d76c9adb096c6b7d64823038cde/anyio-4.8.0.tar.gz", hash = "sha256:1d9fe889df5212298c0c0723fa20479d1b94883a2df44bd3897aa91083316f7a", size = 181126, upload-time = "2025-01-05T13:13:11.095Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/46/eb/e7f063ad1fec6b3178a3cd82d1a3c4de82cccf283fc42746168188e1cdd5/anyio-4.8.0-py3-none-any.whl", hash = "sha256:b5011f270ab5eb0abf13385f851315585cc37ef330dd88e27ec3d34d651fd47a", size = 96041 }, + { url = "https://files.pythonhosted.org/packages/46/eb/e7f063ad1fec6b3178a3cd82d1a3c4de82cccf283fc42746168188e1cdd5/anyio-4.8.0-py3-none-any.whl", hash = "sha256:b5011f270ab5eb0abf13385f851315585cc37ef330dd88e27ec3d34d651fd47a", size = 96041, upload-time = "2025-01-05T13:13:07.985Z" }, ] [[package]] name = "appnope" version = "0.1.4" source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/35/5d/752690df9ef5b76e169e68d6a129fa6d08a7100ca7f754c89495db3c6019/appnope-0.1.4.tar.gz", hash = "sha256:1de3860566df9caf38f01f86f65e0e13e379af54f9e4bee1e66b48f2efffd1ee", size = 4170 } +sdist = { url = "https://files.pythonhosted.org/packages/35/5d/752690df9ef5b76e169e68d6a129fa6d08a7100ca7f754c89495db3c6019/appnope-0.1.4.tar.gz", hash = "sha256:1de3860566df9caf38f01f86f65e0e13e379af54f9e4bee1e66b48f2efffd1ee", size = 4170, upload-time = "2024-02-06T09:43:11.258Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/81/29/5ecc3a15d5a33e31b26c11426c45c501e439cb865d0bff96315d86443b78/appnope-0.1.4-py2.py3-none-any.whl", hash = "sha256:502575ee11cd7a28c0205f379b525beefebab9d161b7c964670864014ed7213c", size = 4321 }, + { url = "https://files.pythonhosted.org/packages/81/29/5ecc3a15d5a33e31b26c11426c45c501e439cb865d0bff96315d86443b78/appnope-0.1.4-py2.py3-none-any.whl", hash = "sha256:502575ee11cd7a28c0205f379b525beefebab9d161b7c964670864014ed7213c", size = 4321, upload-time = "2024-02-06T09:43:09.663Z" }, ] [[package]] @@ -84,9 +84,9 @@ source = { registry = "https://pypi.org/simple" } dependencies = [ { name = "argon2-cffi-bindings" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/31/fa/57ec2c6d16ecd2ba0cf15f3c7d1c3c2e7b5fcb83555ff56d7ab10888ec8f/argon2_cffi-23.1.0.tar.gz", hash = "sha256:879c3e79a2729ce768ebb7d36d4609e3a78a4ca2ec3a9f12286ca057e3d0db08", size = 42798 } +sdist = { url = "https://files.pythonhosted.org/packages/31/fa/57ec2c6d16ecd2ba0cf15f3c7d1c3c2e7b5fcb83555ff56d7ab10888ec8f/argon2_cffi-23.1.0.tar.gz", hash = "sha256:879c3e79a2729ce768ebb7d36d4609e3a78a4ca2ec3a9f12286ca057e3d0db08", size = 42798, upload-time = "2023-08-15T14:13:12.711Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/a4/6a/e8a041599e78b6b3752da48000b14c8d1e8a04ded09c88c714ba047f34f5/argon2_cffi-23.1.0-py3-none-any.whl", hash = "sha256:c670642b78ba29641818ab2e68bd4e6a78ba53b7eff7b4c3815ae16abf91c7ea", size = 15124 }, + { url = "https://files.pythonhosted.org/packages/a4/6a/e8a041599e78b6b3752da48000b14c8d1e8a04ded09c88c714ba047f34f5/argon2_cffi-23.1.0-py3-none-any.whl", hash = "sha256:c670642b78ba29641818ab2e68bd4e6a78ba53b7eff7b4c3815ae16abf91c7ea", size = 15124, upload-time = "2023-08-15T14:13:10.752Z" }, ] [[package]] @@ -96,23 +96,23 @@ source = { registry = "https://pypi.org/simple" } dependencies = [ { name = "cffi" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/b9/e9/184b8ccce6683b0aa2fbb7ba5683ea4b9c5763f1356347f1312c32e3c66e/argon2-cffi-bindings-21.2.0.tar.gz", hash = "sha256:bb89ceffa6c791807d1305ceb77dbfacc5aa499891d2c55661c6459651fc39e3", size = 1779911 } +sdist = { url = "https://files.pythonhosted.org/packages/b9/e9/184b8ccce6683b0aa2fbb7ba5683ea4b9c5763f1356347f1312c32e3c66e/argon2-cffi-bindings-21.2.0.tar.gz", hash = "sha256:bb89ceffa6c791807d1305ceb77dbfacc5aa499891d2c55661c6459651fc39e3", size = 1779911, upload-time = "2021-12-01T08:52:55.68Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/d4/13/838ce2620025e9666aa8f686431f67a29052241692a3dd1ae9d3692a89d3/argon2_cffi_bindings-21.2.0-cp36-abi3-macosx_10_9_x86_64.whl", hash = "sha256:ccb949252cb2ab3a08c02024acb77cfb179492d5701c7cbdbfd776124d4d2367", size = 29658 }, - { url = "https://files.pythonhosted.org/packages/b3/02/f7f7bb6b6af6031edb11037639c697b912e1dea2db94d436e681aea2f495/argon2_cffi_bindings-21.2.0-cp36-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:9524464572e12979364b7d600abf96181d3541da11e23ddf565a32e70bd4dc0d", size = 80583 }, - { url = "https://files.pythonhosted.org/packages/ec/f7/378254e6dd7ae6f31fe40c8649eea7d4832a42243acaf0f1fff9083b2bed/argon2_cffi_bindings-21.2.0-cp36-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:b746dba803a79238e925d9046a63aa26bf86ab2a2fe74ce6b009a1c3f5c8f2ae", size = 86168 }, - { url = "https://files.pythonhosted.org/packages/74/f6/4a34a37a98311ed73bb80efe422fed95f2ac25a4cacc5ae1d7ae6a144505/argon2_cffi_bindings-21.2.0-cp36-abi3-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:58ed19212051f49a523abb1dbe954337dc82d947fb6e5a0da60f7c8471a8476c", size = 82709 }, - { url = "https://files.pythonhosted.org/packages/74/2b/73d767bfdaab25484f7e7901379d5f8793cccbb86c6e0cbc4c1b96f63896/argon2_cffi_bindings-21.2.0-cp36-abi3-musllinux_1_1_aarch64.whl", hash = "sha256:bd46088725ef7f58b5a1ef7ca06647ebaf0eb4baff7d1d0d177c6cc8744abd86", size = 83613 }, - { url = "https://files.pythonhosted.org/packages/4f/fd/37f86deef67ff57c76f137a67181949c2d408077e2e3dd70c6c42912c9bf/argon2_cffi_bindings-21.2.0-cp36-abi3-musllinux_1_1_i686.whl", hash = "sha256:8cd69c07dd875537a824deec19f978e0f2078fdda07fd5c42ac29668dda5f40f", size = 84583 }, - { url = "https://files.pythonhosted.org/packages/6f/52/5a60085a3dae8fded8327a4f564223029f5f54b0cb0455a31131b5363a01/argon2_cffi_bindings-21.2.0-cp36-abi3-musllinux_1_1_x86_64.whl", hash = "sha256:f1152ac548bd5b8bcecfb0b0371f082037e47128653df2e8ba6e914d384f3c3e", size = 88475 }, - { url = "https://files.pythonhosted.org/packages/8b/95/143cd64feb24a15fa4b189a3e1e7efbaeeb00f39a51e99b26fc62fbacabd/argon2_cffi_bindings-21.2.0-cp36-abi3-win32.whl", hash = "sha256:603ca0aba86b1349b147cab91ae970c63118a0f30444d4bc80355937c950c082", size = 27698 }, - { url = "https://files.pythonhosted.org/packages/37/2c/e34e47c7dee97ba6f01a6203e0383e15b60fb85d78ac9a15cd066f6fe28b/argon2_cffi_bindings-21.2.0-cp36-abi3-win_amd64.whl", hash = "sha256:b2ef1c30440dbbcba7a5dc3e319408b59676e2e039e2ae11a8775ecf482b192f", size = 30817 }, - { url = "https://files.pythonhosted.org/packages/5a/e4/bf8034d25edaa495da3c8a3405627d2e35758e44ff6eaa7948092646fdcc/argon2_cffi_bindings-21.2.0-cp38-abi3-macosx_10_9_universal2.whl", hash = "sha256:e415e3f62c8d124ee16018e491a009937f8cf7ebf5eb430ffc5de21b900dad93", size = 53104 }, - { url = "https://files.pythonhosted.org/packages/34/da/d105a3235ae86c1c1a80c1e9c46953e6e53cc8c4c61fb3c5ac8a39bbca48/argon2_cffi_bindings-21.2.0-pp38-pypy38_pp73-macosx_10_9_x86_64.whl", hash = "sha256:3b9ef65804859d335dc6b31582cad2c5166f0c3e7975f324d9ffaa34ee7e6583", size = 23689 }, - { url = "https://files.pythonhosted.org/packages/43/f3/20bc53a6e50471dfea16a63dc9b69d2a9ec78fd2b9532cc25f8317e121d9/argon2_cffi_bindings-21.2.0-pp38-pypy38_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d4966ef5848d820776f5f562a7d45fdd70c2f330c961d0d745b784034bd9f48d", size = 28122 }, - { url = "https://files.pythonhosted.org/packages/2e/f1/48888db30b6a4a0c78ab7bc7444058a1135b223b6a2a5f2ac7d6780e7443/argon2_cffi_bindings-21.2.0-pp38-pypy38_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:20ef543a89dee4db46a1a6e206cd015360e5a75822f76df533845c3cbaf72670", size = 27882 }, - { url = "https://files.pythonhosted.org/packages/ee/0f/a2260a207f21ce2ff4cad00a417c31597f08eafb547e00615bcbf403d8ea/argon2_cffi_bindings-21.2.0-pp38-pypy38_pp73-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:ed2937d286e2ad0cc79a7087d3c272832865f779430e0cc2b4f3718d3159b0cb", size = 30745 }, - { url = "https://files.pythonhosted.org/packages/ed/55/f8ba268bc9005d0ca57a862e8f1b55bf1775e97a36bd30b0a8fb568c265c/argon2_cffi_bindings-21.2.0-pp38-pypy38_pp73-win_amd64.whl", hash = "sha256:5e00316dabdaea0b2dd82d141cc66889ced0cdcbfa599e8b471cf22c620c329a", size = 28587 }, + { url = "https://files.pythonhosted.org/packages/d4/13/838ce2620025e9666aa8f686431f67a29052241692a3dd1ae9d3692a89d3/argon2_cffi_bindings-21.2.0-cp36-abi3-macosx_10_9_x86_64.whl", hash = "sha256:ccb949252cb2ab3a08c02024acb77cfb179492d5701c7cbdbfd776124d4d2367", size = 29658, upload-time = "2021-12-01T09:09:17.016Z" }, + { url = "https://files.pythonhosted.org/packages/b3/02/f7f7bb6b6af6031edb11037639c697b912e1dea2db94d436e681aea2f495/argon2_cffi_bindings-21.2.0-cp36-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:9524464572e12979364b7d600abf96181d3541da11e23ddf565a32e70bd4dc0d", size = 80583, upload-time = "2021-12-01T09:09:19.546Z" }, + { url = "https://files.pythonhosted.org/packages/ec/f7/378254e6dd7ae6f31fe40c8649eea7d4832a42243acaf0f1fff9083b2bed/argon2_cffi_bindings-21.2.0-cp36-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:b746dba803a79238e925d9046a63aa26bf86ab2a2fe74ce6b009a1c3f5c8f2ae", size = 86168, upload-time = "2021-12-01T09:09:21.445Z" }, + { url = "https://files.pythonhosted.org/packages/74/f6/4a34a37a98311ed73bb80efe422fed95f2ac25a4cacc5ae1d7ae6a144505/argon2_cffi_bindings-21.2.0-cp36-abi3-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:58ed19212051f49a523abb1dbe954337dc82d947fb6e5a0da60f7c8471a8476c", size = 82709, upload-time = "2021-12-01T09:09:18.182Z" }, + { url = "https://files.pythonhosted.org/packages/74/2b/73d767bfdaab25484f7e7901379d5f8793cccbb86c6e0cbc4c1b96f63896/argon2_cffi_bindings-21.2.0-cp36-abi3-musllinux_1_1_aarch64.whl", hash = "sha256:bd46088725ef7f58b5a1ef7ca06647ebaf0eb4baff7d1d0d177c6cc8744abd86", size = 83613, upload-time = "2021-12-01T09:09:22.741Z" }, + { url = "https://files.pythonhosted.org/packages/4f/fd/37f86deef67ff57c76f137a67181949c2d408077e2e3dd70c6c42912c9bf/argon2_cffi_bindings-21.2.0-cp36-abi3-musllinux_1_1_i686.whl", hash = "sha256:8cd69c07dd875537a824deec19f978e0f2078fdda07fd5c42ac29668dda5f40f", size = 84583, upload-time = "2021-12-01T09:09:24.177Z" }, + { url = "https://files.pythonhosted.org/packages/6f/52/5a60085a3dae8fded8327a4f564223029f5f54b0cb0455a31131b5363a01/argon2_cffi_bindings-21.2.0-cp36-abi3-musllinux_1_1_x86_64.whl", hash = "sha256:f1152ac548bd5b8bcecfb0b0371f082037e47128653df2e8ba6e914d384f3c3e", size = 88475, upload-time = "2021-12-01T09:09:26.673Z" }, + { url = "https://files.pythonhosted.org/packages/8b/95/143cd64feb24a15fa4b189a3e1e7efbaeeb00f39a51e99b26fc62fbacabd/argon2_cffi_bindings-21.2.0-cp36-abi3-win32.whl", hash = "sha256:603ca0aba86b1349b147cab91ae970c63118a0f30444d4bc80355937c950c082", size = 27698, upload-time = "2021-12-01T09:09:27.87Z" }, + { url = "https://files.pythonhosted.org/packages/37/2c/e34e47c7dee97ba6f01a6203e0383e15b60fb85d78ac9a15cd066f6fe28b/argon2_cffi_bindings-21.2.0-cp36-abi3-win_amd64.whl", hash = "sha256:b2ef1c30440dbbcba7a5dc3e319408b59676e2e039e2ae11a8775ecf482b192f", size = 30817, upload-time = "2021-12-01T09:09:30.267Z" }, + { url = "https://files.pythonhosted.org/packages/5a/e4/bf8034d25edaa495da3c8a3405627d2e35758e44ff6eaa7948092646fdcc/argon2_cffi_bindings-21.2.0-cp38-abi3-macosx_10_9_universal2.whl", hash = "sha256:e415e3f62c8d124ee16018e491a009937f8cf7ebf5eb430ffc5de21b900dad93", size = 53104, upload-time = "2021-12-01T09:09:31.335Z" }, + { url = "https://files.pythonhosted.org/packages/34/da/d105a3235ae86c1c1a80c1e9c46953e6e53cc8c4c61fb3c5ac8a39bbca48/argon2_cffi_bindings-21.2.0-pp38-pypy38_pp73-macosx_10_9_x86_64.whl", hash = "sha256:3b9ef65804859d335dc6b31582cad2c5166f0c3e7975f324d9ffaa34ee7e6583", size = 23689, upload-time = "2021-12-01T09:09:40.511Z" }, + { url = "https://files.pythonhosted.org/packages/43/f3/20bc53a6e50471dfea16a63dc9b69d2a9ec78fd2b9532cc25f8317e121d9/argon2_cffi_bindings-21.2.0-pp38-pypy38_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d4966ef5848d820776f5f562a7d45fdd70c2f330c961d0d745b784034bd9f48d", size = 28122, upload-time = "2021-12-01T09:09:42.818Z" }, + { url = "https://files.pythonhosted.org/packages/2e/f1/48888db30b6a4a0c78ab7bc7444058a1135b223b6a2a5f2ac7d6780e7443/argon2_cffi_bindings-21.2.0-pp38-pypy38_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:20ef543a89dee4db46a1a6e206cd015360e5a75822f76df533845c3cbaf72670", size = 27882, upload-time = "2021-12-01T09:09:43.93Z" }, + { url = "https://files.pythonhosted.org/packages/ee/0f/a2260a207f21ce2ff4cad00a417c31597f08eafb547e00615bcbf403d8ea/argon2_cffi_bindings-21.2.0-pp38-pypy38_pp73-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:ed2937d286e2ad0cc79a7087d3c272832865f779430e0cc2b4f3718d3159b0cb", size = 30745, upload-time = "2021-12-01T09:09:41.73Z" }, + { url = "https://files.pythonhosted.org/packages/ed/55/f8ba268bc9005d0ca57a862e8f1b55bf1775e97a36bd30b0a8fb568c265c/argon2_cffi_bindings-21.2.0-pp38-pypy38_pp73-win_amd64.whl", hash = "sha256:5e00316dabdaea0b2dd82d141cc66889ced0cdcbfa599e8b471cf22c620c329a", size = 28587, upload-time = "2021-12-01T09:09:45.508Z" }, ] [[package]] @@ -123,18 +123,18 @@ dependencies = [ { name = "python-dateutil" }, { name = "types-python-dateutil" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/2e/00/0f6e8fcdb23ea632c866620cc872729ff43ed91d284c866b515c6342b173/arrow-1.3.0.tar.gz", hash = "sha256:d4540617648cb5f895730f1ad8c82a65f2dad0166f57b75f3ca54759c4d67a85", size = 131960 } +sdist = { url = "https://files.pythonhosted.org/packages/2e/00/0f6e8fcdb23ea632c866620cc872729ff43ed91d284c866b515c6342b173/arrow-1.3.0.tar.gz", hash = "sha256:d4540617648cb5f895730f1ad8c82a65f2dad0166f57b75f3ca54759c4d67a85", size = 131960, upload-time = "2023-09-30T22:11:18.25Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/f8/ed/e97229a566617f2ae958a6b13e7cc0f585470eac730a73e9e82c32a3cdd2/arrow-1.3.0-py3-none-any.whl", hash = "sha256:c728b120ebc00eb84e01882a6f5e7927a53960aa990ce7dd2b10f39005a67f80", size = 66419 }, + { url = "https://files.pythonhosted.org/packages/f8/ed/e97229a566617f2ae958a6b13e7cc0f585470eac730a73e9e82c32a3cdd2/arrow-1.3.0-py3-none-any.whl", hash = "sha256:c728b120ebc00eb84e01882a6f5e7927a53960aa990ce7dd2b10f39005a67f80", size = 66419, upload-time = "2023-09-30T22:11:16.072Z" }, ] [[package]] name = "asttokens" version = "3.0.0" source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/4a/e7/82da0a03e7ba5141f05cce0d302e6eed121ae055e0456ca228bf693984bc/asttokens-3.0.0.tar.gz", hash = "sha256:0dcd8baa8d62b0c1d118b399b2ddba3c4aff271d0d7a9e0d4c1681c79035bbc7", size = 61978 } +sdist = { url = "https://files.pythonhosted.org/packages/4a/e7/82da0a03e7ba5141f05cce0d302e6eed121ae055e0456ca228bf693984bc/asttokens-3.0.0.tar.gz", hash = "sha256:0dcd8baa8d62b0c1d118b399b2ddba3c4aff271d0d7a9e0d4c1681c79035bbc7", size = 61978, upload-time = "2024-11-30T04:30:14.439Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/25/8a/c46dcc25341b5bce5472c718902eb3d38600a903b14fa6aeecef3f21a46f/asttokens-3.0.0-py3-none-any.whl", hash = "sha256:e3078351a059199dd5138cb1c706e6430c05eff2ff136af5eb4790f9d28932e2", size = 26918 }, + { url = "https://files.pythonhosted.org/packages/25/8a/c46dcc25341b5bce5472c718902eb3d38600a903b14fa6aeecef3f21a46f/asttokens-3.0.0-py3-none-any.whl", hash = "sha256:e3078351a059199dd5138cb1c706e6430c05eff2ff136af5eb4790f9d28932e2", size = 26918, upload-time = "2024-11-30T04:30:10.946Z" }, ] [[package]] @@ -145,9 +145,9 @@ dependencies = [ { name = "six", marker = "python_full_version < '3.9'" }, { name = "wheel", marker = "python_full_version < '3.9'" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/f3/af/4182184d3c338792894f34a62672919db7ca008c89abee9b564dd34d8029/astunparse-1.6.3.tar.gz", hash = "sha256:5ad93a8456f0d084c3456d059fd9a92cce667963232cbf763eac3bc5b7940872", size = 18290 } +sdist = { url = "https://files.pythonhosted.org/packages/f3/af/4182184d3c338792894f34a62672919db7ca008c89abee9b564dd34d8029/astunparse-1.6.3.tar.gz", hash = "sha256:5ad93a8456f0d084c3456d059fd9a92cce667963232cbf763eac3bc5b7940872", size = 18290, upload-time = "2019-12-22T18:12:13.129Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/2b/03/13dde6512ad7b4557eb792fbcf0c653af6076b81e5941d36ec61f7ce6028/astunparse-1.6.3-py2.py3-none-any.whl", hash = "sha256:c2652417f2c8b5bb325c885ae329bdf3f86424075c4fd1a128674bc6fba4b8e8", size = 12732 }, + { url = "https://files.pythonhosted.org/packages/2b/03/13dde6512ad7b4557eb792fbcf0c653af6076b81e5941d36ec61f7ce6028/astunparse-1.6.3-py2.py3-none-any.whl", hash = "sha256:c2652417f2c8b5bb325c885ae329bdf3f86424075c4fd1a128674bc6fba4b8e8", size = 12732, upload-time = "2019-12-22T18:12:11.297Z" }, ] [[package]] @@ -157,18 +157,18 @@ source = { registry = "https://pypi.org/simple" } dependencies = [ { name = "typing-extensions", marker = "python_full_version < '3.11'" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/80/e2/2b4651eff771f6fd900d233e175ddc5e2be502c7eb62c0c42f975c6d36cd/async-lru-2.0.4.tar.gz", hash = "sha256:b8a59a5df60805ff63220b2a0c5b5393da5521b113cd5465a44eb037d81a5627", size = 10019 } +sdist = { url = "https://files.pythonhosted.org/packages/80/e2/2b4651eff771f6fd900d233e175ddc5e2be502c7eb62c0c42f975c6d36cd/async-lru-2.0.4.tar.gz", hash = "sha256:b8a59a5df60805ff63220b2a0c5b5393da5521b113cd5465a44eb037d81a5627", size = 10019, upload-time = "2023-07-27T19:12:18.631Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/fa/9f/3c3503693386c4b0f245eaf5ca6198e3b28879ca0a40bde6b0e319793453/async_lru-2.0.4-py3-none-any.whl", hash = "sha256:ff02944ce3c288c5be660c42dbcca0742b32c3b279d6dceda655190240b99224", size = 6111 }, + { url = "https://files.pythonhosted.org/packages/fa/9f/3c3503693386c4b0f245eaf5ca6198e3b28879ca0a40bde6b0e319793453/async_lru-2.0.4-py3-none-any.whl", hash = "sha256:ff02944ce3c288c5be660c42dbcca0742b32c3b279d6dceda655190240b99224", size = 6111, upload-time = "2023-07-27T19:12:17.164Z" }, ] [[package]] name = "attrs" version = "25.1.0" source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/49/7c/fdf464bcc51d23881d110abd74b512a42b3d5d376a55a831b44c603ae17f/attrs-25.1.0.tar.gz", hash = "sha256:1c97078a80c814273a76b2a298a932eb681c87415c11dee0a6921de7f1b02c3e", size = 810562 } +sdist = { url = "https://files.pythonhosted.org/packages/49/7c/fdf464bcc51d23881d110abd74b512a42b3d5d376a55a831b44c603ae17f/attrs-25.1.0.tar.gz", hash = "sha256:1c97078a80c814273a76b2a298a932eb681c87415c11dee0a6921de7f1b02c3e", size = 810562, upload-time = "2025-01-25T11:30:12.508Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/fc/30/d4986a882011f9df997a55e6becd864812ccfcd821d64aac8570ee39f719/attrs-25.1.0-py3-none-any.whl", hash = "sha256:c75a69e28a550a7e93789579c22aa26b0f5b83b75dc4e08fe092980051e1090a", size = 63152 }, + { url = "https://files.pythonhosted.org/packages/fc/30/d4986a882011f9df997a55e6becd864812ccfcd821d64aac8570ee39f719/attrs-25.1.0-py3-none-any.whl", hash = "sha256:c75a69e28a550a7e93789579c22aa26b0f5b83b75dc4e08fe092980051e1090a", size = 63152, upload-time = "2025-01-25T11:30:10.164Z" }, ] [[package]] @@ -178,27 +178,27 @@ source = { registry = "https://pypi.org/simple" } dependencies = [ { name = "pytz", marker = "python_full_version < '3.9'" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/7d/6b/d52e42361e1aa00709585ecc30b3f9684b3ab62530771402248b1b1d6240/babel-2.17.0.tar.gz", hash = "sha256:0c54cffb19f690cdcc52a3b50bcbf71e07a808d1c80d549f2459b9d2cf0afb9d", size = 9951852 } +sdist = { url = "https://files.pythonhosted.org/packages/7d/6b/d52e42361e1aa00709585ecc30b3f9684b3ab62530771402248b1b1d6240/babel-2.17.0.tar.gz", hash = "sha256:0c54cffb19f690cdcc52a3b50bcbf71e07a808d1c80d549f2459b9d2cf0afb9d", size = 9951852, upload-time = "2025-02-01T15:17:41.026Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/b7/b8/3fe70c75fe32afc4bb507f75563d39bc5642255d1d94f1f23604725780bf/babel-2.17.0-py3-none-any.whl", hash = "sha256:4d0b53093fdfb4b21c92b5213dba5a1b23885afa8383709427046b21c366e5f2", size = 10182537 }, + { url = "https://files.pythonhosted.org/packages/b7/b8/3fe70c75fe32afc4bb507f75563d39bc5642255d1d94f1f23604725780bf/babel-2.17.0-py3-none-any.whl", hash = "sha256:4d0b53093fdfb4b21c92b5213dba5a1b23885afa8383709427046b21c366e5f2", size = 10182537, upload-time = "2025-02-01T15:17:37.39Z" }, ] [[package]] name = "backcall" version = "0.2.0" source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/a2/40/764a663805d84deee23043e1426a9175567db89c8b3287b5c2ad9f71aa93/backcall-0.2.0.tar.gz", hash = "sha256:5cbdbf27be5e7cfadb448baf0aa95508f91f2bbc6c6437cd9cd06e2a4c215e1e", size = 18041 } +sdist = { url = "https://files.pythonhosted.org/packages/a2/40/764a663805d84deee23043e1426a9175567db89c8b3287b5c2ad9f71aa93/backcall-0.2.0.tar.gz", hash = "sha256:5cbdbf27be5e7cfadb448baf0aa95508f91f2bbc6c6437cd9cd06e2a4c215e1e", size = 18041, upload-time = "2020-06-09T15:11:32.931Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/4c/1c/ff6546b6c12603d8dd1070aa3c3d273ad4c07f5771689a7b69a550e8c951/backcall-0.2.0-py2.py3-none-any.whl", hash = "sha256:fbbce6a29f263178a1f7915c1940bde0ec2b2a967566fe1c65c1dfb7422bd255", size = 11157 }, + { url = "https://files.pythonhosted.org/packages/4c/1c/ff6546b6c12603d8dd1070aa3c3d273ad4c07f5771689a7b69a550e8c951/backcall-0.2.0-py2.py3-none-any.whl", hash = "sha256:fbbce6a29f263178a1f7915c1940bde0ec2b2a967566fe1c65c1dfb7422bd255", size = 11157, upload-time = "2020-06-09T15:11:30.87Z" }, ] [[package]] name = "backports-tarfile" version = "1.2.0" source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/86/72/cd9b395f25e290e633655a100af28cb253e4393396264a98bd5f5951d50f/backports_tarfile-1.2.0.tar.gz", hash = "sha256:d75e02c268746e1b8144c278978b6e98e85de6ad16f8e4b0844a154557eca991", size = 86406 } +sdist = { url = "https://files.pythonhosted.org/packages/86/72/cd9b395f25e290e633655a100af28cb253e4393396264a98bd5f5951d50f/backports_tarfile-1.2.0.tar.gz", hash = "sha256:d75e02c268746e1b8144c278978b6e98e85de6ad16f8e4b0844a154557eca991", size = 86406, upload-time = "2024-05-28T17:01:54.731Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/b9/fa/123043af240e49752f1c4bd24da5053b6bd00cad78c2be53c0d1e8b975bc/backports.tarfile-1.2.0-py3-none-any.whl", hash = "sha256:77e284d754527b01fb1e6fa8a1afe577858ebe4e9dad8919e34c862cb399bc34", size = 30181 }, + { url = "https://files.pythonhosted.org/packages/b9/fa/123043af240e49752f1c4bd24da5053b6bd00cad78c2be53c0d1e8b975bc/backports.tarfile-1.2.0-py3-none-any.whl", hash = "sha256:77e284d754527b01fb1e6fa8a1afe577858ebe4e9dad8919e34c862cb399bc34", size = 30181, upload-time = "2024-05-28T17:01:53.112Z" }, ] [[package]] @@ -209,9 +209,9 @@ dependencies = [ { name = "soupsieve" }, { name = "typing-extensions" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/f0/3c/adaf39ce1fb4afdd21b611e3d530b183bb7759c9b673d60db0e347fd4439/beautifulsoup4-4.13.3.tar.gz", hash = "sha256:1bd32405dacc920b42b83ba01644747ed77456a65760e285fbc47633ceddaf8b", size = 619516 } +sdist = { url = "https://files.pythonhosted.org/packages/f0/3c/adaf39ce1fb4afdd21b611e3d530b183bb7759c9b673d60db0e347fd4439/beautifulsoup4-4.13.3.tar.gz", hash = "sha256:1bd32405dacc920b42b83ba01644747ed77456a65760e285fbc47633ceddaf8b", size = 619516, upload-time = "2025-02-04T20:05:01.681Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/f9/49/6abb616eb3cbab6a7cca303dc02fdf3836de2e0b834bf966a7f5271a34d8/beautifulsoup4-4.13.3-py3-none-any.whl", hash = "sha256:99045d7d3f08f91f0d656bc9b7efbae189426cd913d830294a15eefa0ea4df16", size = 186015 }, + { url = "https://files.pythonhosted.org/packages/f9/49/6abb616eb3cbab6a7cca303dc02fdf3836de2e0b834bf966a7f5271a34d8/beautifulsoup4-4.13.3-py3-none-any.whl", hash = "sha256:99045d7d3f08f91f0d656bc9b7efbae189426cd913d830294a15eefa0ea4df16", size = 186015, upload-time = "2025-02-04T20:05:03.729Z" }, ] [[package]] @@ -227,9 +227,9 @@ dependencies = [ { name = "six", marker = "python_full_version < '3.9'" }, { name = "webencodings", marker = "python_full_version < '3.9'" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/6d/10/77f32b088738f40d4f5be801daa5f327879eadd4562f36a2b5ab975ae571/bleach-6.1.0.tar.gz", hash = "sha256:0a31f1837963c41d46bbf1331b8778e1308ea0791db03cc4e7357b97cf42a8fe", size = 202119 } +sdist = { url = "https://files.pythonhosted.org/packages/6d/10/77f32b088738f40d4f5be801daa5f327879eadd4562f36a2b5ab975ae571/bleach-6.1.0.tar.gz", hash = "sha256:0a31f1837963c41d46bbf1331b8778e1308ea0791db03cc4e7357b97cf42a8fe", size = 202119, upload-time = "2023-10-06T19:30:51.304Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/ea/63/da7237f805089ecc28a3f36bca6a21c31fcbc2eb380f3b8f1be3312abd14/bleach-6.1.0-py3-none-any.whl", hash = "sha256:3225f354cfc436b9789c66c4ee030194bee0568fbf9cbdad3bc8b5c26c5f12b6", size = 162750 }, + { url = "https://files.pythonhosted.org/packages/ea/63/da7237f805089ecc28a3f36bca6a21c31fcbc2eb380f3b8f1be3312abd14/bleach-6.1.0-py3-none-any.whl", hash = "sha256:3225f354cfc436b9789c66c4ee030194bee0568fbf9cbdad3bc8b5c26c5f12b6", size = 162750, upload-time = "2023-10-06T19:30:49.408Z" }, ] [package.optional-dependencies] @@ -258,9 +258,9 @@ resolution-markers = [ dependencies = [ { name = "webencodings", marker = "python_full_version >= '3.9'" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/76/9a/0e33f5054c54d349ea62c277191c020c2d6ef1d65ab2cb1993f91ec846d1/bleach-6.2.0.tar.gz", hash = "sha256:123e894118b8a599fd80d3ec1a6d4cc7ce4e5882b1317a7e1ba69b56e95f991f", size = 203083 } +sdist = { url = "https://files.pythonhosted.org/packages/76/9a/0e33f5054c54d349ea62c277191c020c2d6ef1d65ab2cb1993f91ec846d1/bleach-6.2.0.tar.gz", hash = "sha256:123e894118b8a599fd80d3ec1a6d4cc7ce4e5882b1317a7e1ba69b56e95f991f", size = 203083, upload-time = "2024-10-29T18:30:40.477Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/fc/55/96142937f66150805c25c4d0f31ee4132fd33497753400734f9dfdcbdc66/bleach-6.2.0-py3-none-any.whl", hash = "sha256:117d9c6097a7c3d22fd578fcd8d35ff1e125df6736f554da4e432fdd63f31e5e", size = 163406 }, + { url = "https://files.pythonhosted.org/packages/fc/55/96142937f66150805c25c4d0f31ee4132fd33497753400734f9dfdcbdc66/bleach-6.2.0-py3-none-any.whl", hash = "sha256:117d9c6097a7c3d22fd578fcd8d35ff1e125df6736f554da4e432fdd63f31e5e", size = 163406, upload-time = "2024-10-29T18:30:38.186Z" }, ] [package.optional-dependencies] @@ -280,18 +280,18 @@ dependencies = [ { name = "pyproject-hooks" }, { name = "tomli", marker = "python_full_version < '3.11'" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/7d/46/aeab111f8e06793e4f0e421fcad593d547fb8313b50990f31681ee2fb1ad/build-1.2.2.post1.tar.gz", hash = "sha256:b36993e92ca9375a219c99e606a122ff365a760a2d4bba0caa09bd5278b608b7", size = 46701 } +sdist = { url = "https://files.pythonhosted.org/packages/7d/46/aeab111f8e06793e4f0e421fcad593d547fb8313b50990f31681ee2fb1ad/build-1.2.2.post1.tar.gz", hash = "sha256:b36993e92ca9375a219c99e606a122ff365a760a2d4bba0caa09bd5278b608b7", size = 46701, upload-time = "2024-10-06T17:22:25.251Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/84/c2/80633736cd183ee4a62107413def345f7e6e3c01563dbca1417363cf957e/build-1.2.2.post1-py3-none-any.whl", hash = "sha256:1d61c0887fa860c01971625baae8bdd338e517b836a2f70dd1f7aa3a6b2fc5b5", size = 22950 }, + { url = "https://files.pythonhosted.org/packages/84/c2/80633736cd183ee4a62107413def345f7e6e3c01563dbca1417363cf957e/build-1.2.2.post1-py3-none-any.whl", hash = "sha256:1d61c0887fa860c01971625baae8bdd338e517b836a2f70dd1f7aa3a6b2fc5b5", size = 22950, upload-time = "2024-10-06T17:22:23.299Z" }, ] [[package]] name = "cachetools" version = "5.5.1" source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/d9/74/57df1ab0ce6bc5f6fa868e08de20df8ac58f9c44330c7671ad922d2bbeae/cachetools-5.5.1.tar.gz", hash = "sha256:70f238fbba50383ef62e55c6aff6d9673175fe59f7c6782c7a0b9e38f4a9df95", size = 28044 } +sdist = { url = "https://files.pythonhosted.org/packages/d9/74/57df1ab0ce6bc5f6fa868e08de20df8ac58f9c44330c7671ad922d2bbeae/cachetools-5.5.1.tar.gz", hash = "sha256:70f238fbba50383ef62e55c6aff6d9673175fe59f7c6782c7a0b9e38f4a9df95", size = 28044, upload-time = "2025-01-21T21:27:56.736Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/ec/4e/de4ff18bcf55857ba18d3a4bd48c8a9fde6bb0980c9d20b263f05387fd88/cachetools-5.5.1-py3-none-any.whl", hash = "sha256:b76651fdc3b24ead3c648bbdeeb940c1b04d365b38b4af66788f9ec4a81d42bb", size = 9530 }, + { url = "https://files.pythonhosted.org/packages/ec/4e/de4ff18bcf55857ba18d3a4bd48c8a9fde6bb0980c9d20b263f05387fd88/cachetools-5.5.1-py3-none-any.whl", hash = "sha256:b76651fdc3b24ead3c648bbdeeb940c1b04d365b38b4af66788f9ec4a81d42bb", size = 9530, upload-time = "2025-01-21T21:27:54.511Z" }, ] [[package]] @@ -301,9 +301,9 @@ source = { registry = "https://pypi.org/simple" } dependencies = [ { name = "cffi" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/70/c5/1a4dc131459e68a173cbdab5fad6b524f53f9c1ef7861b7698e998b837cc/cairocffi-1.7.1.tar.gz", hash = "sha256:2e48ee864884ec4a3a34bfa8c9ab9999f688286eb714a15a43ec9d068c36557b", size = 88096 } +sdist = { url = "https://files.pythonhosted.org/packages/70/c5/1a4dc131459e68a173cbdab5fad6b524f53f9c1ef7861b7698e998b837cc/cairocffi-1.7.1.tar.gz", hash = "sha256:2e48ee864884ec4a3a34bfa8c9ab9999f688286eb714a15a43ec9d068c36557b", size = 88096, upload-time = "2024-06-18T10:56:06.741Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/93/d8/ba13451aa6b745c49536e87b6bf8f629b950e84bd0e8308f7dc6883b67e2/cairocffi-1.7.1-py3-none-any.whl", hash = "sha256:9803a0e11f6c962f3b0ae2ec8ba6ae45e957a146a004697a1ac1bbf16b073b3f", size = 75611 }, + { url = "https://files.pythonhosted.org/packages/93/d8/ba13451aa6b745c49536e87b6bf8f629b950e84bd0e8308f7dc6883b67e2/cairocffi-1.7.1-py3-none-any.whl", hash = "sha256:9803a0e11f6c962f3b0ae2ec8ba6ae45e957a146a004697a1ac1bbf16b073b3f", size = 75611, upload-time = "2024-06-18T10:55:59.489Z" }, ] [[package]] @@ -318,18 +318,18 @@ dependencies = [ { name = "tinycss2", version = "1.2.1", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.9'" }, { name = "tinycss2", version = "1.4.0", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.9'" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/d5/e6/ec5900b724e3c44af7f6f51f719919137284e5da4aabe96508baec8a1b40/CairoSVG-2.7.1.tar.gz", hash = "sha256:432531d72347291b9a9ebfb6777026b607563fd8719c46ee742db0aef7271ba0", size = 8399085 } +sdist = { url = "https://files.pythonhosted.org/packages/d5/e6/ec5900b724e3c44af7f6f51f719919137284e5da4aabe96508baec8a1b40/CairoSVG-2.7.1.tar.gz", hash = "sha256:432531d72347291b9a9ebfb6777026b607563fd8719c46ee742db0aef7271ba0", size = 8399085, upload-time = "2023-08-05T09:08:05.75Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/01/a5/1866b42151f50453f1a0d28fc4c39f5be5f412a2e914f33449c42daafdf1/CairoSVG-2.7.1-py3-none-any.whl", hash = "sha256:8a5222d4e6c3f86f1f7046b63246877a63b49923a1cd202184c3a634ef546b3b", size = 43235 }, + { url = "https://files.pythonhosted.org/packages/01/a5/1866b42151f50453f1a0d28fc4c39f5be5f412a2e914f33449c42daafdf1/CairoSVG-2.7.1-py3-none-any.whl", hash = "sha256:8a5222d4e6c3f86f1f7046b63246877a63b49923a1cd202184c3a634ef546b3b", size = 43235, upload-time = "2023-08-05T09:08:01.583Z" }, ] [[package]] name = "certifi" version = "2025.1.31" source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/1c/ab/c9f1e32b7b1bf505bf26f0ef697775960db7932abeb7b516de930ba2705f/certifi-2025.1.31.tar.gz", hash = "sha256:3d5da6925056f6f18f119200434a4780a94263f10d1c21d032a6f6b2baa20651", size = 167577 } +sdist = { url = "https://files.pythonhosted.org/packages/1c/ab/c9f1e32b7b1bf505bf26f0ef697775960db7932abeb7b516de930ba2705f/certifi-2025.1.31.tar.gz", hash = "sha256:3d5da6925056f6f18f119200434a4780a94263f10d1c21d032a6f6b2baa20651", size = 167577, upload-time = "2025-01-31T02:16:47.166Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/38/fc/bce832fd4fd99766c04d1ee0eead6b0ec6486fb100ae5e74c1d91292b982/certifi-2025.1.31-py3-none-any.whl", hash = "sha256:ca78db4565a652026a4db2bcdf68f2fb589ea80d0be70e03929ed730746b84fe", size = 166393 }, + { url = "https://files.pythonhosted.org/packages/38/fc/bce832fd4fd99766c04d1ee0eead6b0ec6486fb100ae5e74c1d91292b982/certifi-2025.1.31-py3-none-any.whl", hash = "sha256:ca78db4565a652026a4db2bcdf68f2fb589ea80d0be70e03929ed730746b84fe", size = 166393, upload-time = "2025-01-31T02:16:45.015Z" }, ] [[package]] @@ -339,170 +339,170 @@ source = { registry = "https://pypi.org/simple" } dependencies = [ { name = "pycparser" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/fc/97/c783634659c2920c3fc70419e3af40972dbaf758daa229a7d6ea6135c90d/cffi-1.17.1.tar.gz", hash = "sha256:1c39c6016c32bc48dd54561950ebd6836e1670f2ae46128f67cf49e789c52824", size = 516621 } -wheels = [ - { url = "https://files.pythonhosted.org/packages/90/07/f44ca684db4e4f08a3fdc6eeb9a0d15dc6883efc7b8c90357fdbf74e186c/cffi-1.17.1-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:df8b1c11f177bc2313ec4b2d46baec87a5f3e71fc8b45dab2ee7cae86d9aba14", size = 182191 }, - { url = "https://files.pythonhosted.org/packages/08/fd/cc2fedbd887223f9f5d170c96e57cbf655df9831a6546c1727ae13fa977a/cffi-1.17.1-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:8f2cdc858323644ab277e9bb925ad72ae0e67f69e804f4898c070998d50b1a67", size = 178592 }, - { url = "https://files.pythonhosted.org/packages/de/cc/4635c320081c78d6ffc2cab0a76025b691a91204f4aa317d568ff9280a2d/cffi-1.17.1-cp310-cp310-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:edae79245293e15384b51f88b00613ba9f7198016a5948b5dddf4917d4d26382", size = 426024 }, - { url = "https://files.pythonhosted.org/packages/b6/7b/3b2b250f3aab91abe5f8a51ada1b717935fdaec53f790ad4100fe2ec64d1/cffi-1.17.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:45398b671ac6d70e67da8e4224a065cec6a93541bb7aebe1b198a61b58c7b702", size = 448188 }, - { url = "https://files.pythonhosted.org/packages/d3/48/1b9283ebbf0ec065148d8de05d647a986c5f22586b18120020452fff8f5d/cffi-1.17.1-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:ad9413ccdeda48c5afdae7e4fa2192157e991ff761e7ab8fdd8926f40b160cc3", size = 455571 }, - { url = "https://files.pythonhosted.org/packages/40/87/3b8452525437b40f39ca7ff70276679772ee7e8b394934ff60e63b7b090c/cffi-1.17.1-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:5da5719280082ac6bd9aa7becb3938dc9f9cbd57fac7d2871717b1feb0902ab6", size = 436687 }, - { url = "https://files.pythonhosted.org/packages/8d/fb/4da72871d177d63649ac449aec2e8a29efe0274035880c7af59101ca2232/cffi-1.17.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:2bb1a08b8008b281856e5971307cc386a8e9c5b625ac297e853d36da6efe9c17", size = 446211 }, - { url = "https://files.pythonhosted.org/packages/ab/a0/62f00bcb411332106c02b663b26f3545a9ef136f80d5df746c05878f8c4b/cffi-1.17.1-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:045d61c734659cc045141be4bae381a41d89b741f795af1dd018bfb532fd0df8", size = 461325 }, - { url = "https://files.pythonhosted.org/packages/36/83/76127035ed2e7e27b0787604d99da630ac3123bfb02d8e80c633f218a11d/cffi-1.17.1-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:6883e737d7d9e4899a8a695e00ec36bd4e5e4f18fabe0aca0efe0a4b44cdb13e", size = 438784 }, - { url = "https://files.pythonhosted.org/packages/21/81/a6cd025db2f08ac88b901b745c163d884641909641f9b826e8cb87645942/cffi-1.17.1-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:6b8b4a92e1c65048ff98cfe1f735ef8f1ceb72e3d5f0c25fdb12087a23da22be", size = 461564 }, - { url = "https://files.pythonhosted.org/packages/f8/fe/4d41c2f200c4a457933dbd98d3cf4e911870877bd94d9656cc0fcb390681/cffi-1.17.1-cp310-cp310-win32.whl", hash = "sha256:c9c3d058ebabb74db66e431095118094d06abf53284d9c81f27300d0e0d8bc7c", size = 171804 }, - { url = "https://files.pythonhosted.org/packages/d1/b6/0b0f5ab93b0df4acc49cae758c81fe4e5ef26c3ae2e10cc69249dfd8b3ab/cffi-1.17.1-cp310-cp310-win_amd64.whl", hash = "sha256:0f048dcf80db46f0098ccac01132761580d28e28bc0f78ae0d58048063317e15", size = 181299 }, - { url = "https://files.pythonhosted.org/packages/6b/f4/927e3a8899e52a27fa57a48607ff7dc91a9ebe97399b357b85a0c7892e00/cffi-1.17.1-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:a45e3c6913c5b87b3ff120dcdc03f6131fa0065027d0ed7ee6190736a74cd401", size = 182264 }, - { url = "https://files.pythonhosted.org/packages/6c/f5/6c3a8efe5f503175aaddcbea6ad0d2c96dad6f5abb205750d1b3df44ef29/cffi-1.17.1-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:30c5e0cb5ae493c04c8b42916e52ca38079f1b235c2f8ae5f4527b963c401caf", size = 178651 }, - { url = "https://files.pythonhosted.org/packages/94/dd/a3f0118e688d1b1a57553da23b16bdade96d2f9bcda4d32e7d2838047ff7/cffi-1.17.1-cp311-cp311-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:f75c7ab1f9e4aca5414ed4d8e5c0e303a34f4421f8a0d47a4d019ceff0ab6af4", size = 445259 }, - { url = "https://files.pythonhosted.org/packages/2e/ea/70ce63780f096e16ce8588efe039d3c4f91deb1dc01e9c73a287939c79a6/cffi-1.17.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a1ed2dd2972641495a3ec98445e09766f077aee98a1c896dcb4ad0d303628e41", size = 469200 }, - { url = "https://files.pythonhosted.org/packages/1c/a0/a4fa9f4f781bda074c3ddd57a572b060fa0df7655d2a4247bbe277200146/cffi-1.17.1-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:46bf43160c1a35f7ec506d254e5c890f3c03648a4dbac12d624e4490a7046cd1", size = 477235 }, - { url = "https://files.pythonhosted.org/packages/62/12/ce8710b5b8affbcdd5c6e367217c242524ad17a02fe5beec3ee339f69f85/cffi-1.17.1-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:a24ed04c8ffd54b0729c07cee15a81d964e6fee0e3d4d342a27b020d22959dc6", size = 459721 }, - { url = "https://files.pythonhosted.org/packages/ff/6b/d45873c5e0242196f042d555526f92aa9e0c32355a1be1ff8c27f077fd37/cffi-1.17.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:610faea79c43e44c71e1ec53a554553fa22321b65fae24889706c0a84d4ad86d", size = 467242 }, - { url = "https://files.pythonhosted.org/packages/1a/52/d9a0e523a572fbccf2955f5abe883cfa8bcc570d7faeee06336fbd50c9fc/cffi-1.17.1-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:a9b15d491f3ad5d692e11f6b71f7857e7835eb677955c00cc0aefcd0669adaf6", size = 477999 }, - { url = "https://files.pythonhosted.org/packages/44/74/f2a2460684a1a2d00ca799ad880d54652841a780c4c97b87754f660c7603/cffi-1.17.1-cp311-cp311-musllinux_1_1_i686.whl", hash = "sha256:de2ea4b5833625383e464549fec1bc395c1bdeeb5f25c4a3a82b5a8c756ec22f", size = 454242 }, - { url = "https://files.pythonhosted.org/packages/f8/4a/34599cac7dfcd888ff54e801afe06a19c17787dfd94495ab0c8d35fe99fb/cffi-1.17.1-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:fc48c783f9c87e60831201f2cce7f3b2e4846bf4d8728eabe54d60700b318a0b", size = 478604 }, - { url = "https://files.pythonhosted.org/packages/34/33/e1b8a1ba29025adbdcda5fb3a36f94c03d771c1b7b12f726ff7fef2ebe36/cffi-1.17.1-cp311-cp311-win32.whl", hash = "sha256:85a950a4ac9c359340d5963966e3e0a94a676bd6245a4b55bc43949eee26a655", size = 171727 }, - { url = "https://files.pythonhosted.org/packages/3d/97/50228be003bb2802627d28ec0627837ac0bf35c90cf769812056f235b2d1/cffi-1.17.1-cp311-cp311-win_amd64.whl", hash = "sha256:caaf0640ef5f5517f49bc275eca1406b0ffa6aa184892812030f04c2abf589a0", size = 181400 }, - { url = "https://files.pythonhosted.org/packages/5a/84/e94227139ee5fb4d600a7a4927f322e1d4aea6fdc50bd3fca8493caba23f/cffi-1.17.1-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:805b4371bf7197c329fcb3ead37e710d1bca9da5d583f5073b799d5c5bd1eee4", size = 183178 }, - { url = "https://files.pythonhosted.org/packages/da/ee/fb72c2b48656111c4ef27f0f91da355e130a923473bf5ee75c5643d00cca/cffi-1.17.1-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:733e99bc2df47476e3848417c5a4540522f234dfd4ef3ab7fafdf555b082ec0c", size = 178840 }, - { url = "https://files.pythonhosted.org/packages/cc/b6/db007700f67d151abadf508cbfd6a1884f57eab90b1bb985c4c8c02b0f28/cffi-1.17.1-cp312-cp312-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:1257bdabf294dceb59f5e70c64a3e2f462c30c7ad68092d01bbbfb1c16b1ba36", size = 454803 }, - { url = "https://files.pythonhosted.org/packages/1a/df/f8d151540d8c200eb1c6fba8cd0dfd40904f1b0682ea705c36e6c2e97ab3/cffi-1.17.1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:da95af8214998d77a98cc14e3a3bd00aa191526343078b530ceb0bd710fb48a5", size = 478850 }, - { url = "https://files.pythonhosted.org/packages/28/c0/b31116332a547fd2677ae5b78a2ef662dfc8023d67f41b2a83f7c2aa78b1/cffi-1.17.1-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:d63afe322132c194cf832bfec0dc69a99fb9bb6bbd550f161a49e9e855cc78ff", size = 485729 }, - { url = "https://files.pythonhosted.org/packages/91/2b/9a1ddfa5c7f13cab007a2c9cc295b70fbbda7cb10a286aa6810338e60ea1/cffi-1.17.1-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:f79fc4fc25f1c8698ff97788206bb3c2598949bfe0fef03d299eb1b5356ada99", size = 471256 }, - { url = "https://files.pythonhosted.org/packages/b2/d5/da47df7004cb17e4955df6a43d14b3b4ae77737dff8bf7f8f333196717bf/cffi-1.17.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:b62ce867176a75d03a665bad002af8e6d54644fad99a3c70905c543130e39d93", size = 479424 }, - { url = "https://files.pythonhosted.org/packages/0b/ac/2a28bcf513e93a219c8a4e8e125534f4f6db03e3179ba1c45e949b76212c/cffi-1.17.1-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:386c8bf53c502fff58903061338ce4f4950cbdcb23e2902d86c0f722b786bbe3", size = 484568 }, - { url = "https://files.pythonhosted.org/packages/d4/38/ca8a4f639065f14ae0f1d9751e70447a261f1a30fa7547a828ae08142465/cffi-1.17.1-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:4ceb10419a9adf4460ea14cfd6bc43d08701f0835e979bf821052f1805850fe8", size = 488736 }, - { url = "https://files.pythonhosted.org/packages/86/c5/28b2d6f799ec0bdecf44dced2ec5ed43e0eb63097b0f58c293583b406582/cffi-1.17.1-cp312-cp312-win32.whl", hash = "sha256:a08d7e755f8ed21095a310a693525137cfe756ce62d066e53f502a83dc550f65", size = 172448 }, - { url = "https://files.pythonhosted.org/packages/50/b9/db34c4755a7bd1cb2d1603ac3863f22bcecbd1ba29e5ee841a4bc510b294/cffi-1.17.1-cp312-cp312-win_amd64.whl", hash = "sha256:51392eae71afec0d0c8fb1a53b204dbb3bcabcb3c9b807eedf3e1e6ccf2de903", size = 181976 }, - { url = "https://files.pythonhosted.org/packages/8d/f8/dd6c246b148639254dad4d6803eb6a54e8c85c6e11ec9df2cffa87571dbe/cffi-1.17.1-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:f3a2b4222ce6b60e2e8b337bb9596923045681d71e5a082783484d845390938e", size = 182989 }, - { url = "https://files.pythonhosted.org/packages/8b/f1/672d303ddf17c24fc83afd712316fda78dc6fce1cd53011b839483e1ecc8/cffi-1.17.1-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:0984a4925a435b1da406122d4d7968dd861c1385afe3b45ba82b750f229811e2", size = 178802 }, - { url = "https://files.pythonhosted.org/packages/0e/2d/eab2e858a91fdff70533cab61dcff4a1f55ec60425832ddfdc9cd36bc8af/cffi-1.17.1-cp313-cp313-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:d01b12eeeb4427d3110de311e1774046ad344f5b1a7403101878976ecd7a10f3", size = 454792 }, - { url = "https://files.pythonhosted.org/packages/75/b2/fbaec7c4455c604e29388d55599b99ebcc250a60050610fadde58932b7ee/cffi-1.17.1-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:706510fe141c86a69c8ddc029c7910003a17353970cff3b904ff0686a5927683", size = 478893 }, - { url = "https://files.pythonhosted.org/packages/4f/b7/6e4a2162178bf1935c336d4da8a9352cccab4d3a5d7914065490f08c0690/cffi-1.17.1-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:de55b766c7aa2e2a3092c51e0483d700341182f08e67c63630d5b6f200bb28e5", size = 485810 }, - { url = "https://files.pythonhosted.org/packages/c7/8a/1d0e4a9c26e54746dc08c2c6c037889124d4f59dffd853a659fa545f1b40/cffi-1.17.1-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:c59d6e989d07460165cc5ad3c61f9fd8f1b4796eacbd81cee78957842b834af4", size = 471200 }, - { url = "https://files.pythonhosted.org/packages/26/9f/1aab65a6c0db35f43c4d1b4f580e8df53914310afc10ae0397d29d697af4/cffi-1.17.1-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:dd398dbc6773384a17fe0d3e7eeb8d1a21c2200473ee6806bb5e6a8e62bb73dd", size = 479447 }, - { url = "https://files.pythonhosted.org/packages/5f/e4/fb8b3dd8dc0e98edf1135ff067ae070bb32ef9d509d6cb0f538cd6f7483f/cffi-1.17.1-cp313-cp313-musllinux_1_1_aarch64.whl", hash = "sha256:3edc8d958eb099c634dace3c7e16560ae474aa3803a5df240542b305d14e14ed", size = 484358 }, - { url = "https://files.pythonhosted.org/packages/f1/47/d7145bf2dc04684935d57d67dff9d6d795b2ba2796806bb109864be3a151/cffi-1.17.1-cp313-cp313-musllinux_1_1_x86_64.whl", hash = "sha256:72e72408cad3d5419375fc87d289076ee319835bdfa2caad331e377589aebba9", size = 488469 }, - { url = "https://files.pythonhosted.org/packages/bf/ee/f94057fa6426481d663b88637a9a10e859e492c73d0384514a17d78ee205/cffi-1.17.1-cp313-cp313-win32.whl", hash = "sha256:e03eab0a8677fa80d646b5ddece1cbeaf556c313dcfac435ba11f107ba117b5d", size = 172475 }, - { url = "https://files.pythonhosted.org/packages/7c/fc/6a8cb64e5f0324877d503c854da15d76c1e50eb722e320b15345c4d0c6de/cffi-1.17.1-cp313-cp313-win_amd64.whl", hash = "sha256:f6a16c31041f09ead72d69f583767292f750d24913dadacf5756b966aacb3f1a", size = 182009 }, - { url = "https://files.pythonhosted.org/packages/48/08/15bf6b43ae9bd06f6b00ad8a91f5a8fe1069d4c9fab550a866755402724e/cffi-1.17.1-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:636062ea65bd0195bc012fea9321aca499c0504409f413dc88af450b57ffd03b", size = 182457 }, - { url = "https://files.pythonhosted.org/packages/c2/5b/f1523dd545f92f7df468e5f653ffa4df30ac222f3c884e51e139878f1cb5/cffi-1.17.1-cp38-cp38-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:c7eac2ef9b63c79431bc4b25f1cd649d7f061a28808cbc6c47b534bd789ef964", size = 425932 }, - { url = "https://files.pythonhosted.org/packages/53/93/7e547ab4105969cc8c93b38a667b82a835dd2cc78f3a7dad6130cfd41e1d/cffi-1.17.1-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:e221cf152cff04059d011ee126477f0d9588303eb57e88923578ace7baad17f9", size = 448585 }, - { url = "https://files.pythonhosted.org/packages/56/c4/a308f2c332006206bb511de219efeff090e9d63529ba0a77aae72e82248b/cffi-1.17.1-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:31000ec67d4221a71bd3f67df918b1f88f676f1c3b535a7eb473255fdc0b83fc", size = 456268 }, - { url = "https://files.pythonhosted.org/packages/ca/5b/b63681518265f2f4060d2b60755c1c77ec89e5e045fc3773b72735ddaad5/cffi-1.17.1-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:6f17be4345073b0a7b8ea599688f692ac3ef23ce28e5df79c04de519dbc4912c", size = 436592 }, - { url = "https://files.pythonhosted.org/packages/bb/19/b51af9f4a4faa4a8ac5a0e5d5c2522dcd9703d07fac69da34a36c4d960d3/cffi-1.17.1-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:0e2b1fac190ae3ebfe37b979cc1ce69c81f4e4fe5746bb401dca63a9062cdaf1", size = 446512 }, - { url = "https://files.pythonhosted.org/packages/e2/63/2bed8323890cb613bbecda807688a31ed11a7fe7afe31f8faaae0206a9a3/cffi-1.17.1-cp38-cp38-win32.whl", hash = "sha256:7596d6620d3fa590f677e9ee430df2958d2d6d6de2feeae5b20e82c00b76fbf8", size = 171576 }, - { url = "https://files.pythonhosted.org/packages/2f/70/80c33b044ebc79527447fd4fbc5455d514c3bb840dede4455de97da39b4d/cffi-1.17.1-cp38-cp38-win_amd64.whl", hash = "sha256:78122be759c3f8a014ce010908ae03364d00a1f81ab5c7f4a7a5120607ea56e1", size = 181229 }, - { url = "https://files.pythonhosted.org/packages/b9/ea/8bb50596b8ffbc49ddd7a1ad305035daa770202a6b782fc164647c2673ad/cffi-1.17.1-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:b2ab587605f4ba0bf81dc0cb08a41bd1c0a5906bd59243d56bad7668a6fc6c16", size = 182220 }, - { url = "https://files.pythonhosted.org/packages/ae/11/e77c8cd24f58285a82c23af484cf5b124a376b32644e445960d1a4654c3a/cffi-1.17.1-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:28b16024becceed8c6dfbc75629e27788d8a3f9030691a1dbf9821a128b22c36", size = 178605 }, - { url = "https://files.pythonhosted.org/packages/ed/65/25a8dc32c53bf5b7b6c2686b42ae2ad58743f7ff644844af7cdb29b49361/cffi-1.17.1-cp39-cp39-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:1d599671f396c4723d016dbddb72fe8e0397082b0a77a4fab8028923bec050e8", size = 424910 }, - { url = "https://files.pythonhosted.org/packages/42/7a/9d086fab7c66bd7c4d0f27c57a1b6b068ced810afc498cc8c49e0088661c/cffi-1.17.1-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:ca74b8dbe6e8e8263c0ffd60277de77dcee6c837a3d0881d8c1ead7268c9e576", size = 447200 }, - { url = "https://files.pythonhosted.org/packages/da/63/1785ced118ce92a993b0ec9e0d0ac8dc3e5dbfbcaa81135be56c69cabbb6/cffi-1.17.1-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:f7f5baafcc48261359e14bcd6d9bff6d4b28d9103847c9e136694cb0501aef87", size = 454565 }, - { url = "https://files.pythonhosted.org/packages/74/06/90b8a44abf3556599cdec107f7290277ae8901a58f75e6fe8f970cd72418/cffi-1.17.1-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:98e3969bcff97cae1b2def8ba499ea3d6f31ddfdb7635374834cf89a1a08ecf0", size = 435635 }, - { url = "https://files.pythonhosted.org/packages/bd/62/a1f468e5708a70b1d86ead5bab5520861d9c7eacce4a885ded9faa7729c3/cffi-1.17.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:cdf5ce3acdfd1661132f2a9c19cac174758dc2352bfe37d98aa7512c6b7178b3", size = 445218 }, - { url = "https://files.pythonhosted.org/packages/5b/95/b34462f3ccb09c2594aa782d90a90b045de4ff1f70148ee79c69d37a0a5a/cffi-1.17.1-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:9755e4345d1ec879e3849e62222a18c7174d65a6a92d5b346b1863912168b595", size = 460486 }, - { url = "https://files.pythonhosted.org/packages/fc/fc/a1e4bebd8d680febd29cf6c8a40067182b64f00c7d105f8f26b5bc54317b/cffi-1.17.1-cp39-cp39-musllinux_1_1_i686.whl", hash = "sha256:f1e22e8c4419538cb197e4dd60acc919d7696e5ef98ee4da4e01d3f8cfa4cc5a", size = 437911 }, - { url = "https://files.pythonhosted.org/packages/e6/c3/21cab7a6154b6a5ea330ae80de386e7665254835b9e98ecc1340b3a7de9a/cffi-1.17.1-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:c03e868a0b3bc35839ba98e74211ed2b05d2119be4e8a0f224fba9384f1fe02e", size = 460632 }, - { url = "https://files.pythonhosted.org/packages/cb/b5/fd9f8b5a84010ca169ee49f4e4ad6f8c05f4e3545b72ee041dbbcb159882/cffi-1.17.1-cp39-cp39-win32.whl", hash = "sha256:e31ae45bc2e29f6b2abd0de1cc3b9d5205aa847cafaecb8af1476a609a2f6eb7", size = 171820 }, - { url = "https://files.pythonhosted.org/packages/8c/52/b08750ce0bce45c143e1b5d7357ee8c55341b52bdef4b0f081af1eb248c2/cffi-1.17.1-cp39-cp39-win_amd64.whl", hash = "sha256:d016c76bdd850f3c626af19b0542c9677ba156e4ee4fccfdd7848803533ef662", size = 181290 }, +sdist = { url = "https://files.pythonhosted.org/packages/fc/97/c783634659c2920c3fc70419e3af40972dbaf758daa229a7d6ea6135c90d/cffi-1.17.1.tar.gz", hash = "sha256:1c39c6016c32bc48dd54561950ebd6836e1670f2ae46128f67cf49e789c52824", size = 516621, upload-time = "2024-09-04T20:45:21.852Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/90/07/f44ca684db4e4f08a3fdc6eeb9a0d15dc6883efc7b8c90357fdbf74e186c/cffi-1.17.1-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:df8b1c11f177bc2313ec4b2d46baec87a5f3e71fc8b45dab2ee7cae86d9aba14", size = 182191, upload-time = "2024-09-04T20:43:30.027Z" }, + { url = "https://files.pythonhosted.org/packages/08/fd/cc2fedbd887223f9f5d170c96e57cbf655df9831a6546c1727ae13fa977a/cffi-1.17.1-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:8f2cdc858323644ab277e9bb925ad72ae0e67f69e804f4898c070998d50b1a67", size = 178592, upload-time = "2024-09-04T20:43:32.108Z" }, + { url = "https://files.pythonhosted.org/packages/de/cc/4635c320081c78d6ffc2cab0a76025b691a91204f4aa317d568ff9280a2d/cffi-1.17.1-cp310-cp310-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:edae79245293e15384b51f88b00613ba9f7198016a5948b5dddf4917d4d26382", size = 426024, upload-time = "2024-09-04T20:43:34.186Z" }, + { url = "https://files.pythonhosted.org/packages/b6/7b/3b2b250f3aab91abe5f8a51ada1b717935fdaec53f790ad4100fe2ec64d1/cffi-1.17.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:45398b671ac6d70e67da8e4224a065cec6a93541bb7aebe1b198a61b58c7b702", size = 448188, upload-time = "2024-09-04T20:43:36.286Z" }, + { url = "https://files.pythonhosted.org/packages/d3/48/1b9283ebbf0ec065148d8de05d647a986c5f22586b18120020452fff8f5d/cffi-1.17.1-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:ad9413ccdeda48c5afdae7e4fa2192157e991ff761e7ab8fdd8926f40b160cc3", size = 455571, upload-time = "2024-09-04T20:43:38.586Z" }, + { url = "https://files.pythonhosted.org/packages/40/87/3b8452525437b40f39ca7ff70276679772ee7e8b394934ff60e63b7b090c/cffi-1.17.1-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:5da5719280082ac6bd9aa7becb3938dc9f9cbd57fac7d2871717b1feb0902ab6", size = 436687, upload-time = "2024-09-04T20:43:40.084Z" }, + { url = "https://files.pythonhosted.org/packages/8d/fb/4da72871d177d63649ac449aec2e8a29efe0274035880c7af59101ca2232/cffi-1.17.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:2bb1a08b8008b281856e5971307cc386a8e9c5b625ac297e853d36da6efe9c17", size = 446211, upload-time = "2024-09-04T20:43:41.526Z" }, + { url = "https://files.pythonhosted.org/packages/ab/a0/62f00bcb411332106c02b663b26f3545a9ef136f80d5df746c05878f8c4b/cffi-1.17.1-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:045d61c734659cc045141be4bae381a41d89b741f795af1dd018bfb532fd0df8", size = 461325, upload-time = "2024-09-04T20:43:43.117Z" }, + { url = "https://files.pythonhosted.org/packages/36/83/76127035ed2e7e27b0787604d99da630ac3123bfb02d8e80c633f218a11d/cffi-1.17.1-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:6883e737d7d9e4899a8a695e00ec36bd4e5e4f18fabe0aca0efe0a4b44cdb13e", size = 438784, upload-time = "2024-09-04T20:43:45.256Z" }, + { url = "https://files.pythonhosted.org/packages/21/81/a6cd025db2f08ac88b901b745c163d884641909641f9b826e8cb87645942/cffi-1.17.1-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:6b8b4a92e1c65048ff98cfe1f735ef8f1ceb72e3d5f0c25fdb12087a23da22be", size = 461564, upload-time = "2024-09-04T20:43:46.779Z" }, + { url = "https://files.pythonhosted.org/packages/f8/fe/4d41c2f200c4a457933dbd98d3cf4e911870877bd94d9656cc0fcb390681/cffi-1.17.1-cp310-cp310-win32.whl", hash = "sha256:c9c3d058ebabb74db66e431095118094d06abf53284d9c81f27300d0e0d8bc7c", size = 171804, upload-time = "2024-09-04T20:43:48.186Z" }, + { url = "https://files.pythonhosted.org/packages/d1/b6/0b0f5ab93b0df4acc49cae758c81fe4e5ef26c3ae2e10cc69249dfd8b3ab/cffi-1.17.1-cp310-cp310-win_amd64.whl", hash = "sha256:0f048dcf80db46f0098ccac01132761580d28e28bc0f78ae0d58048063317e15", size = 181299, upload-time = "2024-09-04T20:43:49.812Z" }, + { url = "https://files.pythonhosted.org/packages/6b/f4/927e3a8899e52a27fa57a48607ff7dc91a9ebe97399b357b85a0c7892e00/cffi-1.17.1-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:a45e3c6913c5b87b3ff120dcdc03f6131fa0065027d0ed7ee6190736a74cd401", size = 182264, upload-time = "2024-09-04T20:43:51.124Z" }, + { url = "https://files.pythonhosted.org/packages/6c/f5/6c3a8efe5f503175aaddcbea6ad0d2c96dad6f5abb205750d1b3df44ef29/cffi-1.17.1-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:30c5e0cb5ae493c04c8b42916e52ca38079f1b235c2f8ae5f4527b963c401caf", size = 178651, upload-time = "2024-09-04T20:43:52.872Z" }, + { url = "https://files.pythonhosted.org/packages/94/dd/a3f0118e688d1b1a57553da23b16bdade96d2f9bcda4d32e7d2838047ff7/cffi-1.17.1-cp311-cp311-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:f75c7ab1f9e4aca5414ed4d8e5c0e303a34f4421f8a0d47a4d019ceff0ab6af4", size = 445259, upload-time = "2024-09-04T20:43:56.123Z" }, + { url = "https://files.pythonhosted.org/packages/2e/ea/70ce63780f096e16ce8588efe039d3c4f91deb1dc01e9c73a287939c79a6/cffi-1.17.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a1ed2dd2972641495a3ec98445e09766f077aee98a1c896dcb4ad0d303628e41", size = 469200, upload-time = "2024-09-04T20:43:57.891Z" }, + { url = "https://files.pythonhosted.org/packages/1c/a0/a4fa9f4f781bda074c3ddd57a572b060fa0df7655d2a4247bbe277200146/cffi-1.17.1-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:46bf43160c1a35f7ec506d254e5c890f3c03648a4dbac12d624e4490a7046cd1", size = 477235, upload-time = "2024-09-04T20:44:00.18Z" }, + { url = "https://files.pythonhosted.org/packages/62/12/ce8710b5b8affbcdd5c6e367217c242524ad17a02fe5beec3ee339f69f85/cffi-1.17.1-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:a24ed04c8ffd54b0729c07cee15a81d964e6fee0e3d4d342a27b020d22959dc6", size = 459721, upload-time = "2024-09-04T20:44:01.585Z" }, + { url = "https://files.pythonhosted.org/packages/ff/6b/d45873c5e0242196f042d555526f92aa9e0c32355a1be1ff8c27f077fd37/cffi-1.17.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:610faea79c43e44c71e1ec53a554553fa22321b65fae24889706c0a84d4ad86d", size = 467242, upload-time = "2024-09-04T20:44:03.467Z" }, + { url = "https://files.pythonhosted.org/packages/1a/52/d9a0e523a572fbccf2955f5abe883cfa8bcc570d7faeee06336fbd50c9fc/cffi-1.17.1-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:a9b15d491f3ad5d692e11f6b71f7857e7835eb677955c00cc0aefcd0669adaf6", size = 477999, upload-time = "2024-09-04T20:44:05.023Z" }, + { url = "https://files.pythonhosted.org/packages/44/74/f2a2460684a1a2d00ca799ad880d54652841a780c4c97b87754f660c7603/cffi-1.17.1-cp311-cp311-musllinux_1_1_i686.whl", hash = "sha256:de2ea4b5833625383e464549fec1bc395c1bdeeb5f25c4a3a82b5a8c756ec22f", size = 454242, upload-time = "2024-09-04T20:44:06.444Z" }, + { url = "https://files.pythonhosted.org/packages/f8/4a/34599cac7dfcd888ff54e801afe06a19c17787dfd94495ab0c8d35fe99fb/cffi-1.17.1-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:fc48c783f9c87e60831201f2cce7f3b2e4846bf4d8728eabe54d60700b318a0b", size = 478604, upload-time = "2024-09-04T20:44:08.206Z" }, + { url = "https://files.pythonhosted.org/packages/34/33/e1b8a1ba29025adbdcda5fb3a36f94c03d771c1b7b12f726ff7fef2ebe36/cffi-1.17.1-cp311-cp311-win32.whl", hash = "sha256:85a950a4ac9c359340d5963966e3e0a94a676bd6245a4b55bc43949eee26a655", size = 171727, upload-time = "2024-09-04T20:44:09.481Z" }, + { url = "https://files.pythonhosted.org/packages/3d/97/50228be003bb2802627d28ec0627837ac0bf35c90cf769812056f235b2d1/cffi-1.17.1-cp311-cp311-win_amd64.whl", hash = "sha256:caaf0640ef5f5517f49bc275eca1406b0ffa6aa184892812030f04c2abf589a0", size = 181400, upload-time = "2024-09-04T20:44:10.873Z" }, + { url = "https://files.pythonhosted.org/packages/5a/84/e94227139ee5fb4d600a7a4927f322e1d4aea6fdc50bd3fca8493caba23f/cffi-1.17.1-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:805b4371bf7197c329fcb3ead37e710d1bca9da5d583f5073b799d5c5bd1eee4", size = 183178, upload-time = "2024-09-04T20:44:12.232Z" }, + { url = "https://files.pythonhosted.org/packages/da/ee/fb72c2b48656111c4ef27f0f91da355e130a923473bf5ee75c5643d00cca/cffi-1.17.1-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:733e99bc2df47476e3848417c5a4540522f234dfd4ef3ab7fafdf555b082ec0c", size = 178840, upload-time = "2024-09-04T20:44:13.739Z" }, + { url = "https://files.pythonhosted.org/packages/cc/b6/db007700f67d151abadf508cbfd6a1884f57eab90b1bb985c4c8c02b0f28/cffi-1.17.1-cp312-cp312-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:1257bdabf294dceb59f5e70c64a3e2f462c30c7ad68092d01bbbfb1c16b1ba36", size = 454803, upload-time = "2024-09-04T20:44:15.231Z" }, + { url = "https://files.pythonhosted.org/packages/1a/df/f8d151540d8c200eb1c6fba8cd0dfd40904f1b0682ea705c36e6c2e97ab3/cffi-1.17.1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:da95af8214998d77a98cc14e3a3bd00aa191526343078b530ceb0bd710fb48a5", size = 478850, upload-time = "2024-09-04T20:44:17.188Z" }, + { url = "https://files.pythonhosted.org/packages/28/c0/b31116332a547fd2677ae5b78a2ef662dfc8023d67f41b2a83f7c2aa78b1/cffi-1.17.1-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:d63afe322132c194cf832bfec0dc69a99fb9bb6bbd550f161a49e9e855cc78ff", size = 485729, upload-time = "2024-09-04T20:44:18.688Z" }, + { url = "https://files.pythonhosted.org/packages/91/2b/9a1ddfa5c7f13cab007a2c9cc295b70fbbda7cb10a286aa6810338e60ea1/cffi-1.17.1-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:f79fc4fc25f1c8698ff97788206bb3c2598949bfe0fef03d299eb1b5356ada99", size = 471256, upload-time = "2024-09-04T20:44:20.248Z" }, + { url = "https://files.pythonhosted.org/packages/b2/d5/da47df7004cb17e4955df6a43d14b3b4ae77737dff8bf7f8f333196717bf/cffi-1.17.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:b62ce867176a75d03a665bad002af8e6d54644fad99a3c70905c543130e39d93", size = 479424, upload-time = "2024-09-04T20:44:21.673Z" }, + { url = "https://files.pythonhosted.org/packages/0b/ac/2a28bcf513e93a219c8a4e8e125534f4f6db03e3179ba1c45e949b76212c/cffi-1.17.1-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:386c8bf53c502fff58903061338ce4f4950cbdcb23e2902d86c0f722b786bbe3", size = 484568, upload-time = "2024-09-04T20:44:23.245Z" }, + { url = "https://files.pythonhosted.org/packages/d4/38/ca8a4f639065f14ae0f1d9751e70447a261f1a30fa7547a828ae08142465/cffi-1.17.1-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:4ceb10419a9adf4460ea14cfd6bc43d08701f0835e979bf821052f1805850fe8", size = 488736, upload-time = "2024-09-04T20:44:24.757Z" }, + { url = "https://files.pythonhosted.org/packages/86/c5/28b2d6f799ec0bdecf44dced2ec5ed43e0eb63097b0f58c293583b406582/cffi-1.17.1-cp312-cp312-win32.whl", hash = "sha256:a08d7e755f8ed21095a310a693525137cfe756ce62d066e53f502a83dc550f65", size = 172448, upload-time = "2024-09-04T20:44:26.208Z" }, + { url = "https://files.pythonhosted.org/packages/50/b9/db34c4755a7bd1cb2d1603ac3863f22bcecbd1ba29e5ee841a4bc510b294/cffi-1.17.1-cp312-cp312-win_amd64.whl", hash = "sha256:51392eae71afec0d0c8fb1a53b204dbb3bcabcb3c9b807eedf3e1e6ccf2de903", size = 181976, upload-time = "2024-09-04T20:44:27.578Z" }, + { url = "https://files.pythonhosted.org/packages/8d/f8/dd6c246b148639254dad4d6803eb6a54e8c85c6e11ec9df2cffa87571dbe/cffi-1.17.1-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:f3a2b4222ce6b60e2e8b337bb9596923045681d71e5a082783484d845390938e", size = 182989, upload-time = "2024-09-04T20:44:28.956Z" }, + { url = "https://files.pythonhosted.org/packages/8b/f1/672d303ddf17c24fc83afd712316fda78dc6fce1cd53011b839483e1ecc8/cffi-1.17.1-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:0984a4925a435b1da406122d4d7968dd861c1385afe3b45ba82b750f229811e2", size = 178802, upload-time = "2024-09-04T20:44:30.289Z" }, + { url = "https://files.pythonhosted.org/packages/0e/2d/eab2e858a91fdff70533cab61dcff4a1f55ec60425832ddfdc9cd36bc8af/cffi-1.17.1-cp313-cp313-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:d01b12eeeb4427d3110de311e1774046ad344f5b1a7403101878976ecd7a10f3", size = 454792, upload-time = "2024-09-04T20:44:32.01Z" }, + { url = "https://files.pythonhosted.org/packages/75/b2/fbaec7c4455c604e29388d55599b99ebcc250a60050610fadde58932b7ee/cffi-1.17.1-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:706510fe141c86a69c8ddc029c7910003a17353970cff3b904ff0686a5927683", size = 478893, upload-time = "2024-09-04T20:44:33.606Z" }, + { url = "https://files.pythonhosted.org/packages/4f/b7/6e4a2162178bf1935c336d4da8a9352cccab4d3a5d7914065490f08c0690/cffi-1.17.1-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:de55b766c7aa2e2a3092c51e0483d700341182f08e67c63630d5b6f200bb28e5", size = 485810, upload-time = "2024-09-04T20:44:35.191Z" }, + { url = "https://files.pythonhosted.org/packages/c7/8a/1d0e4a9c26e54746dc08c2c6c037889124d4f59dffd853a659fa545f1b40/cffi-1.17.1-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:c59d6e989d07460165cc5ad3c61f9fd8f1b4796eacbd81cee78957842b834af4", size = 471200, upload-time = "2024-09-04T20:44:36.743Z" }, + { url = "https://files.pythonhosted.org/packages/26/9f/1aab65a6c0db35f43c4d1b4f580e8df53914310afc10ae0397d29d697af4/cffi-1.17.1-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:dd398dbc6773384a17fe0d3e7eeb8d1a21c2200473ee6806bb5e6a8e62bb73dd", size = 479447, upload-time = "2024-09-04T20:44:38.492Z" }, + { url = "https://files.pythonhosted.org/packages/5f/e4/fb8b3dd8dc0e98edf1135ff067ae070bb32ef9d509d6cb0f538cd6f7483f/cffi-1.17.1-cp313-cp313-musllinux_1_1_aarch64.whl", hash = "sha256:3edc8d958eb099c634dace3c7e16560ae474aa3803a5df240542b305d14e14ed", size = 484358, upload-time = "2024-09-04T20:44:40.046Z" }, + { url = "https://files.pythonhosted.org/packages/f1/47/d7145bf2dc04684935d57d67dff9d6d795b2ba2796806bb109864be3a151/cffi-1.17.1-cp313-cp313-musllinux_1_1_x86_64.whl", hash = "sha256:72e72408cad3d5419375fc87d289076ee319835bdfa2caad331e377589aebba9", size = 488469, upload-time = "2024-09-04T20:44:41.616Z" }, + { url = "https://files.pythonhosted.org/packages/bf/ee/f94057fa6426481d663b88637a9a10e859e492c73d0384514a17d78ee205/cffi-1.17.1-cp313-cp313-win32.whl", hash = "sha256:e03eab0a8677fa80d646b5ddece1cbeaf556c313dcfac435ba11f107ba117b5d", size = 172475, upload-time = "2024-09-04T20:44:43.733Z" }, + { url = "https://files.pythonhosted.org/packages/7c/fc/6a8cb64e5f0324877d503c854da15d76c1e50eb722e320b15345c4d0c6de/cffi-1.17.1-cp313-cp313-win_amd64.whl", hash = "sha256:f6a16c31041f09ead72d69f583767292f750d24913dadacf5756b966aacb3f1a", size = 182009, upload-time = "2024-09-04T20:44:45.309Z" }, + { url = "https://files.pythonhosted.org/packages/48/08/15bf6b43ae9bd06f6b00ad8a91f5a8fe1069d4c9fab550a866755402724e/cffi-1.17.1-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:636062ea65bd0195bc012fea9321aca499c0504409f413dc88af450b57ffd03b", size = 182457, upload-time = "2024-09-04T20:44:47.892Z" }, + { url = "https://files.pythonhosted.org/packages/c2/5b/f1523dd545f92f7df468e5f653ffa4df30ac222f3c884e51e139878f1cb5/cffi-1.17.1-cp38-cp38-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:c7eac2ef9b63c79431bc4b25f1cd649d7f061a28808cbc6c47b534bd789ef964", size = 425932, upload-time = "2024-09-04T20:44:49.491Z" }, + { url = "https://files.pythonhosted.org/packages/53/93/7e547ab4105969cc8c93b38a667b82a835dd2cc78f3a7dad6130cfd41e1d/cffi-1.17.1-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:e221cf152cff04059d011ee126477f0d9588303eb57e88923578ace7baad17f9", size = 448585, upload-time = "2024-09-04T20:44:51.671Z" }, + { url = "https://files.pythonhosted.org/packages/56/c4/a308f2c332006206bb511de219efeff090e9d63529ba0a77aae72e82248b/cffi-1.17.1-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:31000ec67d4221a71bd3f67df918b1f88f676f1c3b535a7eb473255fdc0b83fc", size = 456268, upload-time = "2024-09-04T20:44:53.51Z" }, + { url = "https://files.pythonhosted.org/packages/ca/5b/b63681518265f2f4060d2b60755c1c77ec89e5e045fc3773b72735ddaad5/cffi-1.17.1-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:6f17be4345073b0a7b8ea599688f692ac3ef23ce28e5df79c04de519dbc4912c", size = 436592, upload-time = "2024-09-04T20:44:55.085Z" }, + { url = "https://files.pythonhosted.org/packages/bb/19/b51af9f4a4faa4a8ac5a0e5d5c2522dcd9703d07fac69da34a36c4d960d3/cffi-1.17.1-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:0e2b1fac190ae3ebfe37b979cc1ce69c81f4e4fe5746bb401dca63a9062cdaf1", size = 446512, upload-time = "2024-09-04T20:44:57.135Z" }, + { url = "https://files.pythonhosted.org/packages/e2/63/2bed8323890cb613bbecda807688a31ed11a7fe7afe31f8faaae0206a9a3/cffi-1.17.1-cp38-cp38-win32.whl", hash = "sha256:7596d6620d3fa590f677e9ee430df2958d2d6d6de2feeae5b20e82c00b76fbf8", size = 171576, upload-time = "2024-09-04T20:44:58.535Z" }, + { url = "https://files.pythonhosted.org/packages/2f/70/80c33b044ebc79527447fd4fbc5455d514c3bb840dede4455de97da39b4d/cffi-1.17.1-cp38-cp38-win_amd64.whl", hash = "sha256:78122be759c3f8a014ce010908ae03364d00a1f81ab5c7f4a7a5120607ea56e1", size = 181229, upload-time = "2024-09-04T20:44:59.963Z" }, + { url = "https://files.pythonhosted.org/packages/b9/ea/8bb50596b8ffbc49ddd7a1ad305035daa770202a6b782fc164647c2673ad/cffi-1.17.1-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:b2ab587605f4ba0bf81dc0cb08a41bd1c0a5906bd59243d56bad7668a6fc6c16", size = 182220, upload-time = "2024-09-04T20:45:01.577Z" }, + { url = "https://files.pythonhosted.org/packages/ae/11/e77c8cd24f58285a82c23af484cf5b124a376b32644e445960d1a4654c3a/cffi-1.17.1-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:28b16024becceed8c6dfbc75629e27788d8a3f9030691a1dbf9821a128b22c36", size = 178605, upload-time = "2024-09-04T20:45:03.837Z" }, + { url = "https://files.pythonhosted.org/packages/ed/65/25a8dc32c53bf5b7b6c2686b42ae2ad58743f7ff644844af7cdb29b49361/cffi-1.17.1-cp39-cp39-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:1d599671f396c4723d016dbddb72fe8e0397082b0a77a4fab8028923bec050e8", size = 424910, upload-time = "2024-09-04T20:45:05.315Z" }, + { url = "https://files.pythonhosted.org/packages/42/7a/9d086fab7c66bd7c4d0f27c57a1b6b068ced810afc498cc8c49e0088661c/cffi-1.17.1-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:ca74b8dbe6e8e8263c0ffd60277de77dcee6c837a3d0881d8c1ead7268c9e576", size = 447200, upload-time = "2024-09-04T20:45:06.903Z" }, + { url = "https://files.pythonhosted.org/packages/da/63/1785ced118ce92a993b0ec9e0d0ac8dc3e5dbfbcaa81135be56c69cabbb6/cffi-1.17.1-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:f7f5baafcc48261359e14bcd6d9bff6d4b28d9103847c9e136694cb0501aef87", size = 454565, upload-time = "2024-09-04T20:45:08.975Z" }, + { url = "https://files.pythonhosted.org/packages/74/06/90b8a44abf3556599cdec107f7290277ae8901a58f75e6fe8f970cd72418/cffi-1.17.1-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:98e3969bcff97cae1b2def8ba499ea3d6f31ddfdb7635374834cf89a1a08ecf0", size = 435635, upload-time = "2024-09-04T20:45:10.64Z" }, + { url = "https://files.pythonhosted.org/packages/bd/62/a1f468e5708a70b1d86ead5bab5520861d9c7eacce4a885ded9faa7729c3/cffi-1.17.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:cdf5ce3acdfd1661132f2a9c19cac174758dc2352bfe37d98aa7512c6b7178b3", size = 445218, upload-time = "2024-09-04T20:45:12.366Z" }, + { url = "https://files.pythonhosted.org/packages/5b/95/b34462f3ccb09c2594aa782d90a90b045de4ff1f70148ee79c69d37a0a5a/cffi-1.17.1-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:9755e4345d1ec879e3849e62222a18c7174d65a6a92d5b346b1863912168b595", size = 460486, upload-time = "2024-09-04T20:45:13.935Z" }, + { url = "https://files.pythonhosted.org/packages/fc/fc/a1e4bebd8d680febd29cf6c8a40067182b64f00c7d105f8f26b5bc54317b/cffi-1.17.1-cp39-cp39-musllinux_1_1_i686.whl", hash = "sha256:f1e22e8c4419538cb197e4dd60acc919d7696e5ef98ee4da4e01d3f8cfa4cc5a", size = 437911, upload-time = "2024-09-04T20:45:15.696Z" }, + { url = "https://files.pythonhosted.org/packages/e6/c3/21cab7a6154b6a5ea330ae80de386e7665254835b9e98ecc1340b3a7de9a/cffi-1.17.1-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:c03e868a0b3bc35839ba98e74211ed2b05d2119be4e8a0f224fba9384f1fe02e", size = 460632, upload-time = "2024-09-04T20:45:17.284Z" }, + { url = "https://files.pythonhosted.org/packages/cb/b5/fd9f8b5a84010ca169ee49f4e4ad6f8c05f4e3545b72ee041dbbcb159882/cffi-1.17.1-cp39-cp39-win32.whl", hash = "sha256:e31ae45bc2e29f6b2abd0de1cc3b9d5205aa847cafaecb8af1476a609a2f6eb7", size = 171820, upload-time = "2024-09-04T20:45:18.762Z" }, + { url = "https://files.pythonhosted.org/packages/8c/52/b08750ce0bce45c143e1b5d7357ee8c55341b52bdef4b0f081af1eb248c2/cffi-1.17.1-cp39-cp39-win_amd64.whl", hash = "sha256:d016c76bdd850f3c626af19b0542c9677ba156e4ee4fccfdd7848803533ef662", size = 181290, upload-time = "2024-09-04T20:45:20.226Z" }, ] [[package]] name = "chardet" version = "5.2.0" source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/f3/0d/f7b6ab21ec75897ed80c17d79b15951a719226b9fababf1e40ea74d69079/chardet-5.2.0.tar.gz", hash = "sha256:1b3b6ff479a8c414bc3fa2c0852995695c4a026dcd6d0633b2dd092ca39c1cf7", size = 2069618 } +sdist = { url = "https://files.pythonhosted.org/packages/f3/0d/f7b6ab21ec75897ed80c17d79b15951a719226b9fababf1e40ea74d69079/chardet-5.2.0.tar.gz", hash = "sha256:1b3b6ff479a8c414bc3fa2c0852995695c4a026dcd6d0633b2dd092ca39c1cf7", size = 2069618, upload-time = "2023-08-01T19:23:02.662Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/38/6f/f5fbc992a329ee4e0f288c1fe0e2ad9485ed064cac731ed2fe47dcc38cbf/chardet-5.2.0-py3-none-any.whl", hash = "sha256:e1cf59446890a00105fe7b7912492ea04b6e6f06d4b742b2c788469e34c82970", size = 199385 }, + { url = "https://files.pythonhosted.org/packages/38/6f/f5fbc992a329ee4e0f288c1fe0e2ad9485ed064cac731ed2fe47dcc38cbf/chardet-5.2.0-py3-none-any.whl", hash = "sha256:e1cf59446890a00105fe7b7912492ea04b6e6f06d4b742b2c788469e34c82970", size = 199385, upload-time = "2023-08-01T19:23:00.661Z" }, ] [[package]] name = "charset-normalizer" version = "3.4.1" source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/16/b0/572805e227f01586461c80e0fd25d65a2115599cc9dad142fee4b747c357/charset_normalizer-3.4.1.tar.gz", hash = "sha256:44251f18cd68a75b56585dd00dae26183e102cd5e0f9f1466e6df5da2ed64ea3", size = 123188 } -wheels = [ - { url = "https://files.pythonhosted.org/packages/0d/58/5580c1716040bc89206c77d8f74418caf82ce519aae06450393ca73475d1/charset_normalizer-3.4.1-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:91b36a978b5ae0ee86c394f5a54d6ef44db1de0815eb43de826d41d21e4af3de", size = 198013 }, - { url = "https://files.pythonhosted.org/packages/d0/11/00341177ae71c6f5159a08168bcb98c6e6d196d372c94511f9f6c9afe0c6/charset_normalizer-3.4.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:7461baadb4dc00fd9e0acbe254e3d7d2112e7f92ced2adc96e54ef6501c5f176", size = 141285 }, - { url = "https://files.pythonhosted.org/packages/01/09/11d684ea5819e5a8f5100fb0b38cf8d02b514746607934134d31233e02c8/charset_normalizer-3.4.1-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:e218488cd232553829be0664c2292d3af2eeeb94b32bea483cf79ac6a694e037", size = 151449 }, - { url = "https://files.pythonhosted.org/packages/08/06/9f5a12939db324d905dc1f70591ae7d7898d030d7662f0d426e2286f68c9/charset_normalizer-3.4.1-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:80ed5e856eb7f30115aaf94e4a08114ccc8813e6ed1b5efa74f9f82e8509858f", size = 143892 }, - { url = "https://files.pythonhosted.org/packages/93/62/5e89cdfe04584cb7f4d36003ffa2936681b03ecc0754f8e969c2becb7e24/charset_normalizer-3.4.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:b010a7a4fd316c3c484d482922d13044979e78d1861f0e0650423144c616a46a", size = 146123 }, - { url = "https://files.pythonhosted.org/packages/a9/ac/ab729a15c516da2ab70a05f8722ecfccc3f04ed7a18e45c75bbbaa347d61/charset_normalizer-3.4.1-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:4532bff1b8421fd0a320463030c7520f56a79c9024a4e88f01c537316019005a", size = 147943 }, - { url = "https://files.pythonhosted.org/packages/03/d2/3f392f23f042615689456e9a274640c1d2e5dd1d52de36ab8f7955f8f050/charset_normalizer-3.4.1-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:d973f03c0cb71c5ed99037b870f2be986c3c05e63622c017ea9816881d2dd247", size = 142063 }, - { url = "https://files.pythonhosted.org/packages/f2/e3/e20aae5e1039a2cd9b08d9205f52142329f887f8cf70da3650326670bddf/charset_normalizer-3.4.1-cp310-cp310-musllinux_1_2_i686.whl", hash = "sha256:3a3bd0dcd373514dcec91c411ddb9632c0d7d92aed7093b8c3bbb6d69ca74408", size = 150578 }, - { url = "https://files.pythonhosted.org/packages/8d/af/779ad72a4da0aed925e1139d458adc486e61076d7ecdcc09e610ea8678db/charset_normalizer-3.4.1-cp310-cp310-musllinux_1_2_ppc64le.whl", hash = "sha256:d9c3cdf5390dcd29aa8056d13e8e99526cda0305acc038b96b30352aff5ff2bb", size = 153629 }, - { url = "https://files.pythonhosted.org/packages/c2/b6/7aa450b278e7aa92cf7732140bfd8be21f5f29d5bf334ae987c945276639/charset_normalizer-3.4.1-cp310-cp310-musllinux_1_2_s390x.whl", hash = "sha256:2bdfe3ac2e1bbe5b59a1a63721eb3b95fc9b6817ae4a46debbb4e11f6232428d", size = 150778 }, - { url = "https://files.pythonhosted.org/packages/39/f4/d9f4f712d0951dcbfd42920d3db81b00dd23b6ab520419626f4023334056/charset_normalizer-3.4.1-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:eab677309cdb30d047996b36d34caeda1dc91149e4fdca0b1a039b3f79d9a807", size = 146453 }, - { url = "https://files.pythonhosted.org/packages/49/2b/999d0314e4ee0cff3cb83e6bc9aeddd397eeed693edb4facb901eb8fbb69/charset_normalizer-3.4.1-cp310-cp310-win32.whl", hash = "sha256:c0429126cf75e16c4f0ad00ee0eae4242dc652290f940152ca8c75c3a4b6ee8f", size = 95479 }, - { url = "https://files.pythonhosted.org/packages/2d/ce/3cbed41cff67e455a386fb5e5dd8906cdda2ed92fbc6297921f2e4419309/charset_normalizer-3.4.1-cp310-cp310-win_amd64.whl", hash = "sha256:9f0b8b1c6d84c8034a44893aba5e767bf9c7a211e313a9605d9c617d7083829f", size = 102790 }, - { url = "https://files.pythonhosted.org/packages/72/80/41ef5d5a7935d2d3a773e3eaebf0a9350542f2cab4eac59a7a4741fbbbbe/charset_normalizer-3.4.1-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:8bfa33f4f2672964266e940dd22a195989ba31669bd84629f05fab3ef4e2d125", size = 194995 }, - { url = "https://files.pythonhosted.org/packages/7a/28/0b9fefa7b8b080ec492110af6d88aa3dea91c464b17d53474b6e9ba5d2c5/charset_normalizer-3.4.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:28bf57629c75e810b6ae989f03c0828d64d6b26a5e205535585f96093e405ed1", size = 139471 }, - { url = "https://files.pythonhosted.org/packages/71/64/d24ab1a997efb06402e3fc07317e94da358e2585165930d9d59ad45fcae2/charset_normalizer-3.4.1-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:f08ff5e948271dc7e18a35641d2f11a4cd8dfd5634f55228b691e62b37125eb3", size = 149831 }, - { url = "https://files.pythonhosted.org/packages/37/ed/be39e5258e198655240db5e19e0b11379163ad7070962d6b0c87ed2c4d39/charset_normalizer-3.4.1-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:234ac59ea147c59ee4da87a0c0f098e9c8d169f4dc2a159ef720f1a61bbe27cd", size = 142335 }, - { url = "https://files.pythonhosted.org/packages/88/83/489e9504711fa05d8dde1574996408026bdbdbd938f23be67deebb5eca92/charset_normalizer-3.4.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:fd4ec41f914fa74ad1b8304bbc634b3de73d2a0889bd32076342a573e0779e00", size = 143862 }, - { url = "https://files.pythonhosted.org/packages/c6/c7/32da20821cf387b759ad24627a9aca289d2822de929b8a41b6241767b461/charset_normalizer-3.4.1-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:eea6ee1db730b3483adf394ea72f808b6e18cf3cb6454b4d86e04fa8c4327a12", size = 145673 }, - { url = "https://files.pythonhosted.org/packages/68/85/f4288e96039abdd5aeb5c546fa20a37b50da71b5cf01e75e87f16cd43304/charset_normalizer-3.4.1-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:c96836c97b1238e9c9e3fe90844c947d5afbf4f4c92762679acfe19927d81d77", size = 140211 }, - { url = "https://files.pythonhosted.org/packages/28/a3/a42e70d03cbdabc18997baf4f0227c73591a08041c149e710045c281f97b/charset_normalizer-3.4.1-cp311-cp311-musllinux_1_2_i686.whl", hash = "sha256:4d86f7aff21ee58f26dcf5ae81a9addbd914115cdebcbb2217e4f0ed8982e146", size = 148039 }, - { url = "https://files.pythonhosted.org/packages/85/e4/65699e8ab3014ecbe6f5c71d1a55d810fb716bbfd74f6283d5c2aa87febf/charset_normalizer-3.4.1-cp311-cp311-musllinux_1_2_ppc64le.whl", hash = "sha256:09b5e6733cbd160dcc09589227187e242a30a49ca5cefa5a7edd3f9d19ed53fd", size = 151939 }, - { url = "https://files.pythonhosted.org/packages/b1/82/8e9fe624cc5374193de6860aba3ea8070f584c8565ee77c168ec13274bd2/charset_normalizer-3.4.1-cp311-cp311-musllinux_1_2_s390x.whl", hash = "sha256:5777ee0881f9499ed0f71cc82cf873d9a0ca8af166dfa0af8ec4e675b7df48e6", size = 149075 }, - { url = "https://files.pythonhosted.org/packages/3d/7b/82865ba54c765560c8433f65e8acb9217cb839a9e32b42af4aa8e945870f/charset_normalizer-3.4.1-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:237bdbe6159cff53b4f24f397d43c6336c6b0b42affbe857970cefbb620911c8", size = 144340 }, - { url = "https://files.pythonhosted.org/packages/b5/b6/9674a4b7d4d99a0d2df9b215da766ee682718f88055751e1e5e753c82db0/charset_normalizer-3.4.1-cp311-cp311-win32.whl", hash = "sha256:8417cb1f36cc0bc7eaba8ccb0e04d55f0ee52df06df3ad55259b9a323555fc8b", size = 95205 }, - { url = "https://files.pythonhosted.org/packages/1e/ab/45b180e175de4402dcf7547e4fb617283bae54ce35c27930a6f35b6bef15/charset_normalizer-3.4.1-cp311-cp311-win_amd64.whl", hash = "sha256:d7f50a1f8c450f3925cb367d011448c39239bb3eb4117c36a6d354794de4ce76", size = 102441 }, - { url = "https://files.pythonhosted.org/packages/0a/9a/dd1e1cdceb841925b7798369a09279bd1cf183cef0f9ddf15a3a6502ee45/charset_normalizer-3.4.1-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:73d94b58ec7fecbc7366247d3b0b10a21681004153238750bb67bd9012414545", size = 196105 }, - { url = "https://files.pythonhosted.org/packages/d3/8c/90bfabf8c4809ecb648f39794cf2a84ff2e7d2a6cf159fe68d9a26160467/charset_normalizer-3.4.1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:dad3e487649f498dd991eeb901125411559b22e8d7ab25d3aeb1af367df5efd7", size = 140404 }, - { url = "https://files.pythonhosted.org/packages/ad/8f/e410d57c721945ea3b4f1a04b74f70ce8fa800d393d72899f0a40526401f/charset_normalizer-3.4.1-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:c30197aa96e8eed02200a83fba2657b4c3acd0f0aa4bdc9f6c1af8e8962e0757", size = 150423 }, - { url = "https://files.pythonhosted.org/packages/f0/b8/e6825e25deb691ff98cf5c9072ee0605dc2acfca98af70c2d1b1bc75190d/charset_normalizer-3.4.1-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:2369eea1ee4a7610a860d88f268eb39b95cb588acd7235e02fd5a5601773d4fa", size = 143184 }, - { url = "https://files.pythonhosted.org/packages/3e/a2/513f6cbe752421f16d969e32f3583762bfd583848b763913ddab8d9bfd4f/charset_normalizer-3.4.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:bc2722592d8998c870fa4e290c2eec2c1569b87fe58618e67d38b4665dfa680d", size = 145268 }, - { url = "https://files.pythonhosted.org/packages/74/94/8a5277664f27c3c438546f3eb53b33f5b19568eb7424736bdc440a88a31f/charset_normalizer-3.4.1-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:ffc9202a29ab3920fa812879e95a9e78b2465fd10be7fcbd042899695d75e616", size = 147601 }, - { url = "https://files.pythonhosted.org/packages/7c/5f/6d352c51ee763623a98e31194823518e09bfa48be2a7e8383cf691bbb3d0/charset_normalizer-3.4.1-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:804a4d582ba6e5b747c625bf1255e6b1507465494a40a2130978bda7b932c90b", size = 141098 }, - { url = "https://files.pythonhosted.org/packages/78/d4/f5704cb629ba5ab16d1d3d741396aec6dc3ca2b67757c45b0599bb010478/charset_normalizer-3.4.1-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:0f55e69f030f7163dffe9fd0752b32f070566451afe180f99dbeeb81f511ad8d", size = 149520 }, - { url = "https://files.pythonhosted.org/packages/c5/96/64120b1d02b81785f222b976c0fb79a35875457fa9bb40827678e54d1bc8/charset_normalizer-3.4.1-cp312-cp312-musllinux_1_2_ppc64le.whl", hash = "sha256:c4c3e6da02df6fa1410a7680bd3f63d4f710232d3139089536310d027950696a", size = 152852 }, - { url = "https://files.pythonhosted.org/packages/84/c9/98e3732278a99f47d487fd3468bc60b882920cef29d1fa6ca460a1fdf4e6/charset_normalizer-3.4.1-cp312-cp312-musllinux_1_2_s390x.whl", hash = "sha256:5df196eb874dae23dcfb968c83d4f8fdccb333330fe1fc278ac5ceeb101003a9", size = 150488 }, - { url = "https://files.pythonhosted.org/packages/13/0e/9c8d4cb99c98c1007cc11eda969ebfe837bbbd0acdb4736d228ccaabcd22/charset_normalizer-3.4.1-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:e358e64305fe12299a08e08978f51fc21fac060dcfcddd95453eabe5b93ed0e1", size = 146192 }, - { url = "https://files.pythonhosted.org/packages/b2/21/2b6b5b860781a0b49427309cb8670785aa543fb2178de875b87b9cc97746/charset_normalizer-3.4.1-cp312-cp312-win32.whl", hash = "sha256:9b23ca7ef998bc739bf6ffc077c2116917eabcc901f88da1b9856b210ef63f35", size = 95550 }, - { url = "https://files.pythonhosted.org/packages/21/5b/1b390b03b1d16c7e382b561c5329f83cc06623916aab983e8ab9239c7d5c/charset_normalizer-3.4.1-cp312-cp312-win_amd64.whl", hash = "sha256:6ff8a4a60c227ad87030d76e99cd1698345d4491638dfa6673027c48b3cd395f", size = 102785 }, - { url = "https://files.pythonhosted.org/packages/38/94/ce8e6f63d18049672c76d07d119304e1e2d7c6098f0841b51c666e9f44a0/charset_normalizer-3.4.1-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:aabfa34badd18f1da5ec1bc2715cadc8dca465868a4e73a0173466b688f29dda", size = 195698 }, - { url = "https://files.pythonhosted.org/packages/24/2e/dfdd9770664aae179a96561cc6952ff08f9a8cd09a908f259a9dfa063568/charset_normalizer-3.4.1-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:22e14b5d70560b8dd51ec22863f370d1e595ac3d024cb8ad7d308b4cd95f8313", size = 140162 }, - { url = "https://files.pythonhosted.org/packages/24/4e/f646b9093cff8fc86f2d60af2de4dc17c759de9d554f130b140ea4738ca6/charset_normalizer-3.4.1-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:8436c508b408b82d87dc5f62496973a1805cd46727c34440b0d29d8a2f50a6c9", size = 150263 }, - { url = "https://files.pythonhosted.org/packages/5e/67/2937f8d548c3ef6e2f9aab0f6e21001056f692d43282b165e7c56023e6dd/charset_normalizer-3.4.1-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:2d074908e1aecee37a7635990b2c6d504cd4766c7bc9fc86d63f9c09af3fa11b", size = 142966 }, - { url = "https://files.pythonhosted.org/packages/52/ed/b7f4f07de100bdb95c1756d3a4d17b90c1a3c53715c1a476f8738058e0fa/charset_normalizer-3.4.1-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:955f8851919303c92343d2f66165294848d57e9bba6cf6e3625485a70a038d11", size = 144992 }, - { url = "https://files.pythonhosted.org/packages/96/2c/d49710a6dbcd3776265f4c923bb73ebe83933dfbaa841c5da850fe0fd20b/charset_normalizer-3.4.1-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:44ecbf16649486d4aebafeaa7ec4c9fed8b88101f4dd612dcaf65d5e815f837f", size = 147162 }, - { url = "https://files.pythonhosted.org/packages/b4/41/35ff1f9a6bd380303dea55e44c4933b4cc3c4850988927d4082ada230273/charset_normalizer-3.4.1-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:0924e81d3d5e70f8126529951dac65c1010cdf117bb75eb02dd12339b57749dd", size = 140972 }, - { url = "https://files.pythonhosted.org/packages/fb/43/c6a0b685fe6910d08ba971f62cd9c3e862a85770395ba5d9cad4fede33ab/charset_normalizer-3.4.1-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:2967f74ad52c3b98de4c3b32e1a44e32975e008a9cd2a8cc8966d6a5218c5cb2", size = 149095 }, - { url = "https://files.pythonhosted.org/packages/4c/ff/a9a504662452e2d2878512115638966e75633519ec11f25fca3d2049a94a/charset_normalizer-3.4.1-cp313-cp313-musllinux_1_2_ppc64le.whl", hash = "sha256:c75cb2a3e389853835e84a2d8fb2b81a10645b503eca9bcb98df6b5a43eb8886", size = 152668 }, - { url = "https://files.pythonhosted.org/packages/6c/71/189996b6d9a4b932564701628af5cee6716733e9165af1d5e1b285c530ed/charset_normalizer-3.4.1-cp313-cp313-musllinux_1_2_s390x.whl", hash = "sha256:09b26ae6b1abf0d27570633b2b078a2a20419c99d66fb2823173d73f188ce601", size = 150073 }, - { url = "https://files.pythonhosted.org/packages/e4/93/946a86ce20790e11312c87c75ba68d5f6ad2208cfb52b2d6a2c32840d922/charset_normalizer-3.4.1-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:fa88b843d6e211393a37219e6a1c1df99d35e8fd90446f1118f4216e307e48cd", size = 145732 }, - { url = "https://files.pythonhosted.org/packages/cd/e5/131d2fb1b0dddafc37be4f3a2fa79aa4c037368be9423061dccadfd90091/charset_normalizer-3.4.1-cp313-cp313-win32.whl", hash = "sha256:eb8178fe3dba6450a3e024e95ac49ed3400e506fd4e9e5c32d30adda88cbd407", size = 95391 }, - { url = "https://files.pythonhosted.org/packages/27/f2/4f9a69cc7712b9b5ad8fdb87039fd89abba997ad5cbe690d1835d40405b0/charset_normalizer-3.4.1-cp313-cp313-win_amd64.whl", hash = "sha256:b1ac5992a838106edb89654e0aebfc24f5848ae2547d22c2c3f66454daa11971", size = 102702 }, - { url = "https://files.pythonhosted.org/packages/10/bd/6517ea94f2672e801011d50b5d06be2a0deaf566aea27bcdcd47e5195357/charset_normalizer-3.4.1-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:ecddf25bee22fe4fe3737a399d0d177d72bc22be6913acfab364b40bce1ba83c", size = 195653 }, - { url = "https://files.pythonhosted.org/packages/e5/0d/815a2ba3f283b4eeaa5ece57acade365c5b4135f65a807a083c818716582/charset_normalizer-3.4.1-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:8c60ca7339acd497a55b0ea5d506b2a2612afb2826560416f6894e8b5770d4a9", size = 140701 }, - { url = "https://files.pythonhosted.org/packages/aa/17/c94be7ee0d142687e047fe1de72060f6d6837f40eedc26e87e6e124a3fc6/charset_normalizer-3.4.1-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:b7b2d86dd06bfc2ade3312a83a5c364c7ec2e3498f8734282c6c3d4b07b346b8", size = 150495 }, - { url = "https://files.pythonhosted.org/packages/f7/33/557ac796c47165fc141e4fb71d7b0310f67e05cb420756f3a82e0a0068e0/charset_normalizer-3.4.1-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:dd78cfcda14a1ef52584dbb008f7ac81c1328c0f58184bf9a84c49c605002da6", size = 142946 }, - { url = "https://files.pythonhosted.org/packages/1e/0d/38ef4ae41e9248d63fc4998d933cae22473b1b2ac4122cf908d0f5eb32aa/charset_normalizer-3.4.1-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:6e27f48bcd0957c6d4cb9d6fa6b61d192d0b13d5ef563e5f2ae35feafc0d179c", size = 144737 }, - { url = "https://files.pythonhosted.org/packages/43/01/754cdb29dd0560f58290aaaa284d43eea343ad0512e6ad3b8b5c11f08592/charset_normalizer-3.4.1-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:01ad647cdd609225c5350561d084b42ddf732f4eeefe6e678765636791e78b9a", size = 147471 }, - { url = "https://files.pythonhosted.org/packages/ba/cd/861883ba5160c7a9bd242c30b2c71074cda2aefcc0addc91118e0d4e0765/charset_normalizer-3.4.1-cp38-cp38-musllinux_1_2_aarch64.whl", hash = "sha256:619a609aa74ae43d90ed2e89bdd784765de0a25ca761b93e196d938b8fd1dbbd", size = 140801 }, - { url = "https://files.pythonhosted.org/packages/6f/7f/0c0dad447819e90b93f8ed238cc8f11b91353c23c19e70fa80483a155bed/charset_normalizer-3.4.1-cp38-cp38-musllinux_1_2_i686.whl", hash = "sha256:89149166622f4db9b4b6a449256291dc87a99ee53151c74cbd82a53c8c2f6ccd", size = 149312 }, - { url = "https://files.pythonhosted.org/packages/8e/09/9f8abcc6fff60fb727268b63c376c8c79cc37b833c2dfe1f535dfb59523b/charset_normalizer-3.4.1-cp38-cp38-musllinux_1_2_ppc64le.whl", hash = "sha256:7709f51f5f7c853f0fb938bcd3bc59cdfdc5203635ffd18bf354f6967ea0f824", size = 152347 }, - { url = "https://files.pythonhosted.org/packages/be/e5/3f363dad2e24378f88ccf63ecc39e817c29f32e308ef21a7a6d9c1201165/charset_normalizer-3.4.1-cp38-cp38-musllinux_1_2_s390x.whl", hash = "sha256:345b0426edd4e18138d6528aed636de7a9ed169b4aaf9d61a8c19e39d26838ca", size = 149888 }, - { url = "https://files.pythonhosted.org/packages/e4/10/a78c0e91f487b4ad0ef7480ac765e15b774f83de2597f1b6ef0eaf7a2f99/charset_normalizer-3.4.1-cp38-cp38-musllinux_1_2_x86_64.whl", hash = "sha256:0907f11d019260cdc3f94fbdb23ff9125f6b5d1039b76003b5b0ac9d6a6c9d5b", size = 145169 }, - { url = "https://files.pythonhosted.org/packages/d3/81/396e7d7f5d7420da8273c91175d2e9a3f569288e3611d521685e4b9ac9cc/charset_normalizer-3.4.1-cp38-cp38-win32.whl", hash = "sha256:ea0d8d539afa5eb2728aa1932a988a9a7af94f18582ffae4bc10b3fbdad0626e", size = 95094 }, - { url = "https://files.pythonhosted.org/packages/40/bb/20affbbd9ea29c71ea123769dc568a6d42052ff5089c5fe23e21e21084a6/charset_normalizer-3.4.1-cp38-cp38-win_amd64.whl", hash = "sha256:329ce159e82018d646c7ac45b01a430369d526569ec08516081727a20e9e4af4", size = 102139 }, - { url = "https://files.pythonhosted.org/packages/7f/c0/b913f8f02836ed9ab32ea643c6fe4d3325c3d8627cf6e78098671cafff86/charset_normalizer-3.4.1-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:b97e690a2118911e39b4042088092771b4ae3fc3aa86518f84b8cf6888dbdb41", size = 197867 }, - { url = "https://files.pythonhosted.org/packages/0f/6c/2bee440303d705b6fb1e2ec789543edec83d32d258299b16eed28aad48e0/charset_normalizer-3.4.1-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:78baa6d91634dfb69ec52a463534bc0df05dbd546209b79a3880a34487f4b84f", size = 141385 }, - { url = "https://files.pythonhosted.org/packages/3d/04/cb42585f07f6f9fd3219ffb6f37d5a39b4fd2db2355b23683060029c35f7/charset_normalizer-3.4.1-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:1a2bc9f351a75ef49d664206d51f8e5ede9da246602dc2d2726837620ea034b2", size = 151367 }, - { url = "https://files.pythonhosted.org/packages/54/54/2412a5b093acb17f0222de007cc129ec0e0df198b5ad2ce5699355269dfe/charset_normalizer-3.4.1-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:75832c08354f595c760a804588b9357d34ec00ba1c940c15e31e96d902093770", size = 143928 }, - { url = "https://files.pythonhosted.org/packages/5a/6d/e2773862b043dcf8a221342954f375392bb2ce6487bcd9f2c1b34e1d6781/charset_normalizer-3.4.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:0af291f4fe114be0280cdd29d533696a77b5b49cfde5467176ecab32353395c4", size = 146203 }, - { url = "https://files.pythonhosted.org/packages/b9/f8/ca440ef60d8f8916022859885f231abb07ada3c347c03d63f283bec32ef5/charset_normalizer-3.4.1-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:0167ddc8ab6508fe81860a57dd472b2ef4060e8d378f0cc555707126830f2537", size = 148082 }, - { url = "https://files.pythonhosted.org/packages/04/d2/42fd330901aaa4b805a1097856c2edf5095e260a597f65def493f4b8c833/charset_normalizer-3.4.1-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:2a75d49014d118e4198bcee5ee0a6f25856b29b12dbf7cd012791f8a6cc5c496", size = 142053 }, - { url = "https://files.pythonhosted.org/packages/9e/af/3a97a4fa3c53586f1910dadfc916e9c4f35eeada36de4108f5096cb7215f/charset_normalizer-3.4.1-cp39-cp39-musllinux_1_2_i686.whl", hash = "sha256:363e2f92b0f0174b2f8238240a1a30142e3db7b957a5dd5689b0e75fb717cc78", size = 150625 }, - { url = "https://files.pythonhosted.org/packages/26/ae/23d6041322a3556e4da139663d02fb1b3c59a23ab2e2b56432bd2ad63ded/charset_normalizer-3.4.1-cp39-cp39-musllinux_1_2_ppc64le.whl", hash = "sha256:ab36c8eb7e454e34e60eb55ca5d241a5d18b2c6244f6827a30e451c42410b5f7", size = 153549 }, - { url = "https://files.pythonhosted.org/packages/94/22/b8f2081c6a77cb20d97e57e0b385b481887aa08019d2459dc2858ed64871/charset_normalizer-3.4.1-cp39-cp39-musllinux_1_2_s390x.whl", hash = "sha256:4c0907b1928a36d5a998d72d64d8eaa7244989f7aaaf947500d3a800c83a3fd6", size = 150945 }, - { url = "https://files.pythonhosted.org/packages/c7/0b/c5ec5092747f801b8b093cdf5610e732b809d6cb11f4c51e35fc28d1d389/charset_normalizer-3.4.1-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:04432ad9479fa40ec0f387795ddad4437a2b50417c69fa275e212933519ff294", size = 146595 }, - { url = "https://files.pythonhosted.org/packages/0c/5a/0b59704c38470df6768aa154cc87b1ac7c9bb687990a1559dc8765e8627e/charset_normalizer-3.4.1-cp39-cp39-win32.whl", hash = "sha256:3bed14e9c89dcb10e8f3a29f9ccac4955aebe93c71ae803af79265c9ca5644c5", size = 95453 }, - { url = "https://files.pythonhosted.org/packages/85/2d/a9790237cb4d01a6d57afadc8573c8b73c609ade20b80f4cda30802009ee/charset_normalizer-3.4.1-cp39-cp39-win_amd64.whl", hash = "sha256:49402233c892a461407c512a19435d1ce275543138294f7ef013f0b63d5d3765", size = 102811 }, - { url = "https://files.pythonhosted.org/packages/0e/f6/65ecc6878a89bb1c23a086ea335ad4bf21a588990c3f535a227b9eea9108/charset_normalizer-3.4.1-py3-none-any.whl", hash = "sha256:d98b1668f06378c6dbefec3b92299716b931cd4e6061f3c875a71ced1780ab85", size = 49767 }, +sdist = { url = "https://files.pythonhosted.org/packages/16/b0/572805e227f01586461c80e0fd25d65a2115599cc9dad142fee4b747c357/charset_normalizer-3.4.1.tar.gz", hash = "sha256:44251f18cd68a75b56585dd00dae26183e102cd5e0f9f1466e6df5da2ed64ea3", size = 123188, upload-time = "2024-12-24T18:12:35.43Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/0d/58/5580c1716040bc89206c77d8f74418caf82ce519aae06450393ca73475d1/charset_normalizer-3.4.1-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:91b36a978b5ae0ee86c394f5a54d6ef44db1de0815eb43de826d41d21e4af3de", size = 198013, upload-time = "2024-12-24T18:09:43.671Z" }, + { url = "https://files.pythonhosted.org/packages/d0/11/00341177ae71c6f5159a08168bcb98c6e6d196d372c94511f9f6c9afe0c6/charset_normalizer-3.4.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:7461baadb4dc00fd9e0acbe254e3d7d2112e7f92ced2adc96e54ef6501c5f176", size = 141285, upload-time = "2024-12-24T18:09:48.113Z" }, + { url = "https://files.pythonhosted.org/packages/01/09/11d684ea5819e5a8f5100fb0b38cf8d02b514746607934134d31233e02c8/charset_normalizer-3.4.1-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:e218488cd232553829be0664c2292d3af2eeeb94b32bea483cf79ac6a694e037", size = 151449, upload-time = "2024-12-24T18:09:50.845Z" }, + { url = "https://files.pythonhosted.org/packages/08/06/9f5a12939db324d905dc1f70591ae7d7898d030d7662f0d426e2286f68c9/charset_normalizer-3.4.1-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:80ed5e856eb7f30115aaf94e4a08114ccc8813e6ed1b5efa74f9f82e8509858f", size = 143892, upload-time = "2024-12-24T18:09:52.078Z" }, + { url = "https://files.pythonhosted.org/packages/93/62/5e89cdfe04584cb7f4d36003ffa2936681b03ecc0754f8e969c2becb7e24/charset_normalizer-3.4.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:b010a7a4fd316c3c484d482922d13044979e78d1861f0e0650423144c616a46a", size = 146123, upload-time = "2024-12-24T18:09:54.575Z" }, + { url = "https://files.pythonhosted.org/packages/a9/ac/ab729a15c516da2ab70a05f8722ecfccc3f04ed7a18e45c75bbbaa347d61/charset_normalizer-3.4.1-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:4532bff1b8421fd0a320463030c7520f56a79c9024a4e88f01c537316019005a", size = 147943, upload-time = "2024-12-24T18:09:57.324Z" }, + { url = "https://files.pythonhosted.org/packages/03/d2/3f392f23f042615689456e9a274640c1d2e5dd1d52de36ab8f7955f8f050/charset_normalizer-3.4.1-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:d973f03c0cb71c5ed99037b870f2be986c3c05e63622c017ea9816881d2dd247", size = 142063, upload-time = "2024-12-24T18:09:59.794Z" }, + { url = "https://files.pythonhosted.org/packages/f2/e3/e20aae5e1039a2cd9b08d9205f52142329f887f8cf70da3650326670bddf/charset_normalizer-3.4.1-cp310-cp310-musllinux_1_2_i686.whl", hash = "sha256:3a3bd0dcd373514dcec91c411ddb9632c0d7d92aed7093b8c3bbb6d69ca74408", size = 150578, upload-time = "2024-12-24T18:10:02.357Z" }, + { url = "https://files.pythonhosted.org/packages/8d/af/779ad72a4da0aed925e1139d458adc486e61076d7ecdcc09e610ea8678db/charset_normalizer-3.4.1-cp310-cp310-musllinux_1_2_ppc64le.whl", hash = "sha256:d9c3cdf5390dcd29aa8056d13e8e99526cda0305acc038b96b30352aff5ff2bb", size = 153629, upload-time = "2024-12-24T18:10:03.678Z" }, + { url = "https://files.pythonhosted.org/packages/c2/b6/7aa450b278e7aa92cf7732140bfd8be21f5f29d5bf334ae987c945276639/charset_normalizer-3.4.1-cp310-cp310-musllinux_1_2_s390x.whl", hash = "sha256:2bdfe3ac2e1bbe5b59a1a63721eb3b95fc9b6817ae4a46debbb4e11f6232428d", size = 150778, upload-time = "2024-12-24T18:10:06.197Z" }, + { url = "https://files.pythonhosted.org/packages/39/f4/d9f4f712d0951dcbfd42920d3db81b00dd23b6ab520419626f4023334056/charset_normalizer-3.4.1-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:eab677309cdb30d047996b36d34caeda1dc91149e4fdca0b1a039b3f79d9a807", size = 146453, upload-time = "2024-12-24T18:10:08.848Z" }, + { url = "https://files.pythonhosted.org/packages/49/2b/999d0314e4ee0cff3cb83e6bc9aeddd397eeed693edb4facb901eb8fbb69/charset_normalizer-3.4.1-cp310-cp310-win32.whl", hash = "sha256:c0429126cf75e16c4f0ad00ee0eae4242dc652290f940152ca8c75c3a4b6ee8f", size = 95479, upload-time = "2024-12-24T18:10:10.044Z" }, + { url = "https://files.pythonhosted.org/packages/2d/ce/3cbed41cff67e455a386fb5e5dd8906cdda2ed92fbc6297921f2e4419309/charset_normalizer-3.4.1-cp310-cp310-win_amd64.whl", hash = "sha256:9f0b8b1c6d84c8034a44893aba5e767bf9c7a211e313a9605d9c617d7083829f", size = 102790, upload-time = "2024-12-24T18:10:11.323Z" }, + { url = "https://files.pythonhosted.org/packages/72/80/41ef5d5a7935d2d3a773e3eaebf0a9350542f2cab4eac59a7a4741fbbbbe/charset_normalizer-3.4.1-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:8bfa33f4f2672964266e940dd22a195989ba31669bd84629f05fab3ef4e2d125", size = 194995, upload-time = "2024-12-24T18:10:12.838Z" }, + { url = "https://files.pythonhosted.org/packages/7a/28/0b9fefa7b8b080ec492110af6d88aa3dea91c464b17d53474b6e9ba5d2c5/charset_normalizer-3.4.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:28bf57629c75e810b6ae989f03c0828d64d6b26a5e205535585f96093e405ed1", size = 139471, upload-time = "2024-12-24T18:10:14.101Z" }, + { url = "https://files.pythonhosted.org/packages/71/64/d24ab1a997efb06402e3fc07317e94da358e2585165930d9d59ad45fcae2/charset_normalizer-3.4.1-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:f08ff5e948271dc7e18a35641d2f11a4cd8dfd5634f55228b691e62b37125eb3", size = 149831, upload-time = "2024-12-24T18:10:15.512Z" }, + { url = "https://files.pythonhosted.org/packages/37/ed/be39e5258e198655240db5e19e0b11379163ad7070962d6b0c87ed2c4d39/charset_normalizer-3.4.1-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:234ac59ea147c59ee4da87a0c0f098e9c8d169f4dc2a159ef720f1a61bbe27cd", size = 142335, upload-time = "2024-12-24T18:10:18.369Z" }, + { url = "https://files.pythonhosted.org/packages/88/83/489e9504711fa05d8dde1574996408026bdbdbd938f23be67deebb5eca92/charset_normalizer-3.4.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:fd4ec41f914fa74ad1b8304bbc634b3de73d2a0889bd32076342a573e0779e00", size = 143862, upload-time = "2024-12-24T18:10:19.743Z" }, + { url = "https://files.pythonhosted.org/packages/c6/c7/32da20821cf387b759ad24627a9aca289d2822de929b8a41b6241767b461/charset_normalizer-3.4.1-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:eea6ee1db730b3483adf394ea72f808b6e18cf3cb6454b4d86e04fa8c4327a12", size = 145673, upload-time = "2024-12-24T18:10:21.139Z" }, + { url = "https://files.pythonhosted.org/packages/68/85/f4288e96039abdd5aeb5c546fa20a37b50da71b5cf01e75e87f16cd43304/charset_normalizer-3.4.1-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:c96836c97b1238e9c9e3fe90844c947d5afbf4f4c92762679acfe19927d81d77", size = 140211, upload-time = "2024-12-24T18:10:22.382Z" }, + { url = "https://files.pythonhosted.org/packages/28/a3/a42e70d03cbdabc18997baf4f0227c73591a08041c149e710045c281f97b/charset_normalizer-3.4.1-cp311-cp311-musllinux_1_2_i686.whl", hash = "sha256:4d86f7aff21ee58f26dcf5ae81a9addbd914115cdebcbb2217e4f0ed8982e146", size = 148039, upload-time = "2024-12-24T18:10:24.802Z" }, + { url = "https://files.pythonhosted.org/packages/85/e4/65699e8ab3014ecbe6f5c71d1a55d810fb716bbfd74f6283d5c2aa87febf/charset_normalizer-3.4.1-cp311-cp311-musllinux_1_2_ppc64le.whl", hash = "sha256:09b5e6733cbd160dcc09589227187e242a30a49ca5cefa5a7edd3f9d19ed53fd", size = 151939, upload-time = "2024-12-24T18:10:26.124Z" }, + { url = "https://files.pythonhosted.org/packages/b1/82/8e9fe624cc5374193de6860aba3ea8070f584c8565ee77c168ec13274bd2/charset_normalizer-3.4.1-cp311-cp311-musllinux_1_2_s390x.whl", hash = "sha256:5777ee0881f9499ed0f71cc82cf873d9a0ca8af166dfa0af8ec4e675b7df48e6", size = 149075, upload-time = "2024-12-24T18:10:30.027Z" }, + { url = "https://files.pythonhosted.org/packages/3d/7b/82865ba54c765560c8433f65e8acb9217cb839a9e32b42af4aa8e945870f/charset_normalizer-3.4.1-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:237bdbe6159cff53b4f24f397d43c6336c6b0b42affbe857970cefbb620911c8", size = 144340, upload-time = "2024-12-24T18:10:32.679Z" }, + { url = "https://files.pythonhosted.org/packages/b5/b6/9674a4b7d4d99a0d2df9b215da766ee682718f88055751e1e5e753c82db0/charset_normalizer-3.4.1-cp311-cp311-win32.whl", hash = "sha256:8417cb1f36cc0bc7eaba8ccb0e04d55f0ee52df06df3ad55259b9a323555fc8b", size = 95205, upload-time = "2024-12-24T18:10:34.724Z" }, + { url = "https://files.pythonhosted.org/packages/1e/ab/45b180e175de4402dcf7547e4fb617283bae54ce35c27930a6f35b6bef15/charset_normalizer-3.4.1-cp311-cp311-win_amd64.whl", hash = "sha256:d7f50a1f8c450f3925cb367d011448c39239bb3eb4117c36a6d354794de4ce76", size = 102441, upload-time = "2024-12-24T18:10:37.574Z" }, + { url = "https://files.pythonhosted.org/packages/0a/9a/dd1e1cdceb841925b7798369a09279bd1cf183cef0f9ddf15a3a6502ee45/charset_normalizer-3.4.1-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:73d94b58ec7fecbc7366247d3b0b10a21681004153238750bb67bd9012414545", size = 196105, upload-time = "2024-12-24T18:10:38.83Z" }, + { url = "https://files.pythonhosted.org/packages/d3/8c/90bfabf8c4809ecb648f39794cf2a84ff2e7d2a6cf159fe68d9a26160467/charset_normalizer-3.4.1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:dad3e487649f498dd991eeb901125411559b22e8d7ab25d3aeb1af367df5efd7", size = 140404, upload-time = "2024-12-24T18:10:44.272Z" }, + { url = "https://files.pythonhosted.org/packages/ad/8f/e410d57c721945ea3b4f1a04b74f70ce8fa800d393d72899f0a40526401f/charset_normalizer-3.4.1-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:c30197aa96e8eed02200a83fba2657b4c3acd0f0aa4bdc9f6c1af8e8962e0757", size = 150423, upload-time = "2024-12-24T18:10:45.492Z" }, + { url = "https://files.pythonhosted.org/packages/f0/b8/e6825e25deb691ff98cf5c9072ee0605dc2acfca98af70c2d1b1bc75190d/charset_normalizer-3.4.1-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:2369eea1ee4a7610a860d88f268eb39b95cb588acd7235e02fd5a5601773d4fa", size = 143184, upload-time = "2024-12-24T18:10:47.898Z" }, + { url = "https://files.pythonhosted.org/packages/3e/a2/513f6cbe752421f16d969e32f3583762bfd583848b763913ddab8d9bfd4f/charset_normalizer-3.4.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:bc2722592d8998c870fa4e290c2eec2c1569b87fe58618e67d38b4665dfa680d", size = 145268, upload-time = "2024-12-24T18:10:50.589Z" }, + { url = "https://files.pythonhosted.org/packages/74/94/8a5277664f27c3c438546f3eb53b33f5b19568eb7424736bdc440a88a31f/charset_normalizer-3.4.1-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:ffc9202a29ab3920fa812879e95a9e78b2465fd10be7fcbd042899695d75e616", size = 147601, upload-time = "2024-12-24T18:10:52.541Z" }, + { url = "https://files.pythonhosted.org/packages/7c/5f/6d352c51ee763623a98e31194823518e09bfa48be2a7e8383cf691bbb3d0/charset_normalizer-3.4.1-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:804a4d582ba6e5b747c625bf1255e6b1507465494a40a2130978bda7b932c90b", size = 141098, upload-time = "2024-12-24T18:10:53.789Z" }, + { url = "https://files.pythonhosted.org/packages/78/d4/f5704cb629ba5ab16d1d3d741396aec6dc3ca2b67757c45b0599bb010478/charset_normalizer-3.4.1-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:0f55e69f030f7163dffe9fd0752b32f070566451afe180f99dbeeb81f511ad8d", size = 149520, upload-time = "2024-12-24T18:10:55.048Z" }, + { url = "https://files.pythonhosted.org/packages/c5/96/64120b1d02b81785f222b976c0fb79a35875457fa9bb40827678e54d1bc8/charset_normalizer-3.4.1-cp312-cp312-musllinux_1_2_ppc64le.whl", hash = "sha256:c4c3e6da02df6fa1410a7680bd3f63d4f710232d3139089536310d027950696a", size = 152852, upload-time = "2024-12-24T18:10:57.647Z" }, + { url = "https://files.pythonhosted.org/packages/84/c9/98e3732278a99f47d487fd3468bc60b882920cef29d1fa6ca460a1fdf4e6/charset_normalizer-3.4.1-cp312-cp312-musllinux_1_2_s390x.whl", hash = "sha256:5df196eb874dae23dcfb968c83d4f8fdccb333330fe1fc278ac5ceeb101003a9", size = 150488, upload-time = "2024-12-24T18:10:59.43Z" }, + { url = "https://files.pythonhosted.org/packages/13/0e/9c8d4cb99c98c1007cc11eda969ebfe837bbbd0acdb4736d228ccaabcd22/charset_normalizer-3.4.1-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:e358e64305fe12299a08e08978f51fc21fac060dcfcddd95453eabe5b93ed0e1", size = 146192, upload-time = "2024-12-24T18:11:00.676Z" }, + { url = "https://files.pythonhosted.org/packages/b2/21/2b6b5b860781a0b49427309cb8670785aa543fb2178de875b87b9cc97746/charset_normalizer-3.4.1-cp312-cp312-win32.whl", hash = "sha256:9b23ca7ef998bc739bf6ffc077c2116917eabcc901f88da1b9856b210ef63f35", size = 95550, upload-time = "2024-12-24T18:11:01.952Z" }, + { url = "https://files.pythonhosted.org/packages/21/5b/1b390b03b1d16c7e382b561c5329f83cc06623916aab983e8ab9239c7d5c/charset_normalizer-3.4.1-cp312-cp312-win_amd64.whl", hash = "sha256:6ff8a4a60c227ad87030d76e99cd1698345d4491638dfa6673027c48b3cd395f", size = 102785, upload-time = "2024-12-24T18:11:03.142Z" }, + { url = "https://files.pythonhosted.org/packages/38/94/ce8e6f63d18049672c76d07d119304e1e2d7c6098f0841b51c666e9f44a0/charset_normalizer-3.4.1-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:aabfa34badd18f1da5ec1bc2715cadc8dca465868a4e73a0173466b688f29dda", size = 195698, upload-time = "2024-12-24T18:11:05.834Z" }, + { url = "https://files.pythonhosted.org/packages/24/2e/dfdd9770664aae179a96561cc6952ff08f9a8cd09a908f259a9dfa063568/charset_normalizer-3.4.1-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:22e14b5d70560b8dd51ec22863f370d1e595ac3d024cb8ad7d308b4cd95f8313", size = 140162, upload-time = "2024-12-24T18:11:07.064Z" }, + { url = "https://files.pythonhosted.org/packages/24/4e/f646b9093cff8fc86f2d60af2de4dc17c759de9d554f130b140ea4738ca6/charset_normalizer-3.4.1-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:8436c508b408b82d87dc5f62496973a1805cd46727c34440b0d29d8a2f50a6c9", size = 150263, upload-time = "2024-12-24T18:11:08.374Z" }, + { url = "https://files.pythonhosted.org/packages/5e/67/2937f8d548c3ef6e2f9aab0f6e21001056f692d43282b165e7c56023e6dd/charset_normalizer-3.4.1-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:2d074908e1aecee37a7635990b2c6d504cd4766c7bc9fc86d63f9c09af3fa11b", size = 142966, upload-time = "2024-12-24T18:11:09.831Z" }, + { url = "https://files.pythonhosted.org/packages/52/ed/b7f4f07de100bdb95c1756d3a4d17b90c1a3c53715c1a476f8738058e0fa/charset_normalizer-3.4.1-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:955f8851919303c92343d2f66165294848d57e9bba6cf6e3625485a70a038d11", size = 144992, upload-time = "2024-12-24T18:11:12.03Z" }, + { url = "https://files.pythonhosted.org/packages/96/2c/d49710a6dbcd3776265f4c923bb73ebe83933dfbaa841c5da850fe0fd20b/charset_normalizer-3.4.1-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:44ecbf16649486d4aebafeaa7ec4c9fed8b88101f4dd612dcaf65d5e815f837f", size = 147162, upload-time = "2024-12-24T18:11:13.372Z" }, + { url = "https://files.pythonhosted.org/packages/b4/41/35ff1f9a6bd380303dea55e44c4933b4cc3c4850988927d4082ada230273/charset_normalizer-3.4.1-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:0924e81d3d5e70f8126529951dac65c1010cdf117bb75eb02dd12339b57749dd", size = 140972, upload-time = "2024-12-24T18:11:14.628Z" }, + { url = "https://files.pythonhosted.org/packages/fb/43/c6a0b685fe6910d08ba971f62cd9c3e862a85770395ba5d9cad4fede33ab/charset_normalizer-3.4.1-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:2967f74ad52c3b98de4c3b32e1a44e32975e008a9cd2a8cc8966d6a5218c5cb2", size = 149095, upload-time = "2024-12-24T18:11:17.672Z" }, + { url = "https://files.pythonhosted.org/packages/4c/ff/a9a504662452e2d2878512115638966e75633519ec11f25fca3d2049a94a/charset_normalizer-3.4.1-cp313-cp313-musllinux_1_2_ppc64le.whl", hash = "sha256:c75cb2a3e389853835e84a2d8fb2b81a10645b503eca9bcb98df6b5a43eb8886", size = 152668, upload-time = "2024-12-24T18:11:18.989Z" }, + { url = "https://files.pythonhosted.org/packages/6c/71/189996b6d9a4b932564701628af5cee6716733e9165af1d5e1b285c530ed/charset_normalizer-3.4.1-cp313-cp313-musllinux_1_2_s390x.whl", hash = "sha256:09b26ae6b1abf0d27570633b2b078a2a20419c99d66fb2823173d73f188ce601", size = 150073, upload-time = "2024-12-24T18:11:21.507Z" }, + { url = "https://files.pythonhosted.org/packages/e4/93/946a86ce20790e11312c87c75ba68d5f6ad2208cfb52b2d6a2c32840d922/charset_normalizer-3.4.1-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:fa88b843d6e211393a37219e6a1c1df99d35e8fd90446f1118f4216e307e48cd", size = 145732, upload-time = "2024-12-24T18:11:22.774Z" }, + { url = "https://files.pythonhosted.org/packages/cd/e5/131d2fb1b0dddafc37be4f3a2fa79aa4c037368be9423061dccadfd90091/charset_normalizer-3.4.1-cp313-cp313-win32.whl", hash = "sha256:eb8178fe3dba6450a3e024e95ac49ed3400e506fd4e9e5c32d30adda88cbd407", size = 95391, upload-time = "2024-12-24T18:11:24.139Z" }, + { url = "https://files.pythonhosted.org/packages/27/f2/4f9a69cc7712b9b5ad8fdb87039fd89abba997ad5cbe690d1835d40405b0/charset_normalizer-3.4.1-cp313-cp313-win_amd64.whl", hash = "sha256:b1ac5992a838106edb89654e0aebfc24f5848ae2547d22c2c3f66454daa11971", size = 102702, upload-time = "2024-12-24T18:11:26.535Z" }, + { url = "https://files.pythonhosted.org/packages/10/bd/6517ea94f2672e801011d50b5d06be2a0deaf566aea27bcdcd47e5195357/charset_normalizer-3.4.1-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:ecddf25bee22fe4fe3737a399d0d177d72bc22be6913acfab364b40bce1ba83c", size = 195653, upload-time = "2024-12-24T18:11:45.568Z" }, + { url = "https://files.pythonhosted.org/packages/e5/0d/815a2ba3f283b4eeaa5ece57acade365c5b4135f65a807a083c818716582/charset_normalizer-3.4.1-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:8c60ca7339acd497a55b0ea5d506b2a2612afb2826560416f6894e8b5770d4a9", size = 140701, upload-time = "2024-12-24T18:11:46.968Z" }, + { url = "https://files.pythonhosted.org/packages/aa/17/c94be7ee0d142687e047fe1de72060f6d6837f40eedc26e87e6e124a3fc6/charset_normalizer-3.4.1-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:b7b2d86dd06bfc2ade3312a83a5c364c7ec2e3498f8734282c6c3d4b07b346b8", size = 150495, upload-time = "2024-12-24T18:11:48.375Z" }, + { url = "https://files.pythonhosted.org/packages/f7/33/557ac796c47165fc141e4fb71d7b0310f67e05cb420756f3a82e0a0068e0/charset_normalizer-3.4.1-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:dd78cfcda14a1ef52584dbb008f7ac81c1328c0f58184bf9a84c49c605002da6", size = 142946, upload-time = "2024-12-24T18:11:53.619Z" }, + { url = "https://files.pythonhosted.org/packages/1e/0d/38ef4ae41e9248d63fc4998d933cae22473b1b2ac4122cf908d0f5eb32aa/charset_normalizer-3.4.1-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:6e27f48bcd0957c6d4cb9d6fa6b61d192d0b13d5ef563e5f2ae35feafc0d179c", size = 144737, upload-time = "2024-12-24T18:11:54.993Z" }, + { url = "https://files.pythonhosted.org/packages/43/01/754cdb29dd0560f58290aaaa284d43eea343ad0512e6ad3b8b5c11f08592/charset_normalizer-3.4.1-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:01ad647cdd609225c5350561d084b42ddf732f4eeefe6e678765636791e78b9a", size = 147471, upload-time = "2024-12-24T18:11:58.169Z" }, + { url = "https://files.pythonhosted.org/packages/ba/cd/861883ba5160c7a9bd242c30b2c71074cda2aefcc0addc91118e0d4e0765/charset_normalizer-3.4.1-cp38-cp38-musllinux_1_2_aarch64.whl", hash = "sha256:619a609aa74ae43d90ed2e89bdd784765de0a25ca761b93e196d938b8fd1dbbd", size = 140801, upload-time = "2024-12-24T18:12:01.02Z" }, + { url = "https://files.pythonhosted.org/packages/6f/7f/0c0dad447819e90b93f8ed238cc8f11b91353c23c19e70fa80483a155bed/charset_normalizer-3.4.1-cp38-cp38-musllinux_1_2_i686.whl", hash = "sha256:89149166622f4db9b4b6a449256291dc87a99ee53151c74cbd82a53c8c2f6ccd", size = 149312, upload-time = "2024-12-24T18:12:02.267Z" }, + { url = "https://files.pythonhosted.org/packages/8e/09/9f8abcc6fff60fb727268b63c376c8c79cc37b833c2dfe1f535dfb59523b/charset_normalizer-3.4.1-cp38-cp38-musllinux_1_2_ppc64le.whl", hash = "sha256:7709f51f5f7c853f0fb938bcd3bc59cdfdc5203635ffd18bf354f6967ea0f824", size = 152347, upload-time = "2024-12-24T18:12:04.145Z" }, + { url = "https://files.pythonhosted.org/packages/be/e5/3f363dad2e24378f88ccf63ecc39e817c29f32e308ef21a7a6d9c1201165/charset_normalizer-3.4.1-cp38-cp38-musllinux_1_2_s390x.whl", hash = "sha256:345b0426edd4e18138d6528aed636de7a9ed169b4aaf9d61a8c19e39d26838ca", size = 149888, upload-time = "2024-12-24T18:12:05.673Z" }, + { url = "https://files.pythonhosted.org/packages/e4/10/a78c0e91f487b4ad0ef7480ac765e15b774f83de2597f1b6ef0eaf7a2f99/charset_normalizer-3.4.1-cp38-cp38-musllinux_1_2_x86_64.whl", hash = "sha256:0907f11d019260cdc3f94fbdb23ff9125f6b5d1039b76003b5b0ac9d6a6c9d5b", size = 145169, upload-time = "2024-12-24T18:12:06.846Z" }, + { url = "https://files.pythonhosted.org/packages/d3/81/396e7d7f5d7420da8273c91175d2e9a3f569288e3611d521685e4b9ac9cc/charset_normalizer-3.4.1-cp38-cp38-win32.whl", hash = "sha256:ea0d8d539afa5eb2728aa1932a988a9a7af94f18582ffae4bc10b3fbdad0626e", size = 95094, upload-time = "2024-12-24T18:12:08.048Z" }, + { url = "https://files.pythonhosted.org/packages/40/bb/20affbbd9ea29c71ea123769dc568a6d42052ff5089c5fe23e21e21084a6/charset_normalizer-3.4.1-cp38-cp38-win_amd64.whl", hash = "sha256:329ce159e82018d646c7ac45b01a430369d526569ec08516081727a20e9e4af4", size = 102139, upload-time = "2024-12-24T18:12:09.161Z" }, + { url = "https://files.pythonhosted.org/packages/7f/c0/b913f8f02836ed9ab32ea643c6fe4d3325c3d8627cf6e78098671cafff86/charset_normalizer-3.4.1-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:b97e690a2118911e39b4042088092771b4ae3fc3aa86518f84b8cf6888dbdb41", size = 197867, upload-time = "2024-12-24T18:12:10.438Z" }, + { url = "https://files.pythonhosted.org/packages/0f/6c/2bee440303d705b6fb1e2ec789543edec83d32d258299b16eed28aad48e0/charset_normalizer-3.4.1-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:78baa6d91634dfb69ec52a463534bc0df05dbd546209b79a3880a34487f4b84f", size = 141385, upload-time = "2024-12-24T18:12:11.847Z" }, + { url = "https://files.pythonhosted.org/packages/3d/04/cb42585f07f6f9fd3219ffb6f37d5a39b4fd2db2355b23683060029c35f7/charset_normalizer-3.4.1-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:1a2bc9f351a75ef49d664206d51f8e5ede9da246602dc2d2726837620ea034b2", size = 151367, upload-time = "2024-12-24T18:12:13.177Z" }, + { url = "https://files.pythonhosted.org/packages/54/54/2412a5b093acb17f0222de007cc129ec0e0df198b5ad2ce5699355269dfe/charset_normalizer-3.4.1-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:75832c08354f595c760a804588b9357d34ec00ba1c940c15e31e96d902093770", size = 143928, upload-time = "2024-12-24T18:12:14.497Z" }, + { url = "https://files.pythonhosted.org/packages/5a/6d/e2773862b043dcf8a221342954f375392bb2ce6487bcd9f2c1b34e1d6781/charset_normalizer-3.4.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:0af291f4fe114be0280cdd29d533696a77b5b49cfde5467176ecab32353395c4", size = 146203, upload-time = "2024-12-24T18:12:15.731Z" }, + { url = "https://files.pythonhosted.org/packages/b9/f8/ca440ef60d8f8916022859885f231abb07ada3c347c03d63f283bec32ef5/charset_normalizer-3.4.1-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:0167ddc8ab6508fe81860a57dd472b2ef4060e8d378f0cc555707126830f2537", size = 148082, upload-time = "2024-12-24T18:12:18.641Z" }, + { url = "https://files.pythonhosted.org/packages/04/d2/42fd330901aaa4b805a1097856c2edf5095e260a597f65def493f4b8c833/charset_normalizer-3.4.1-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:2a75d49014d118e4198bcee5ee0a6f25856b29b12dbf7cd012791f8a6cc5c496", size = 142053, upload-time = "2024-12-24T18:12:20.036Z" }, + { url = "https://files.pythonhosted.org/packages/9e/af/3a97a4fa3c53586f1910dadfc916e9c4f35eeada36de4108f5096cb7215f/charset_normalizer-3.4.1-cp39-cp39-musllinux_1_2_i686.whl", hash = "sha256:363e2f92b0f0174b2f8238240a1a30142e3db7b957a5dd5689b0e75fb717cc78", size = 150625, upload-time = "2024-12-24T18:12:22.804Z" }, + { url = "https://files.pythonhosted.org/packages/26/ae/23d6041322a3556e4da139663d02fb1b3c59a23ab2e2b56432bd2ad63ded/charset_normalizer-3.4.1-cp39-cp39-musllinux_1_2_ppc64le.whl", hash = "sha256:ab36c8eb7e454e34e60eb55ca5d241a5d18b2c6244f6827a30e451c42410b5f7", size = 153549, upload-time = "2024-12-24T18:12:24.163Z" }, + { url = "https://files.pythonhosted.org/packages/94/22/b8f2081c6a77cb20d97e57e0b385b481887aa08019d2459dc2858ed64871/charset_normalizer-3.4.1-cp39-cp39-musllinux_1_2_s390x.whl", hash = "sha256:4c0907b1928a36d5a998d72d64d8eaa7244989f7aaaf947500d3a800c83a3fd6", size = 150945, upload-time = "2024-12-24T18:12:25.415Z" }, + { url = "https://files.pythonhosted.org/packages/c7/0b/c5ec5092747f801b8b093cdf5610e732b809d6cb11f4c51e35fc28d1d389/charset_normalizer-3.4.1-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:04432ad9479fa40ec0f387795ddad4437a2b50417c69fa275e212933519ff294", size = 146595, upload-time = "2024-12-24T18:12:28.03Z" }, + { url = "https://files.pythonhosted.org/packages/0c/5a/0b59704c38470df6768aa154cc87b1ac7c9bb687990a1559dc8765e8627e/charset_normalizer-3.4.1-cp39-cp39-win32.whl", hash = "sha256:3bed14e9c89dcb10e8f3a29f9ccac4955aebe93c71ae803af79265c9ca5644c5", size = 95453, upload-time = "2024-12-24T18:12:29.569Z" }, + { url = "https://files.pythonhosted.org/packages/85/2d/a9790237cb4d01a6d57afadc8573c8b73c609ade20b80f4cda30802009ee/charset_normalizer-3.4.1-cp39-cp39-win_amd64.whl", hash = "sha256:49402233c892a461407c512a19435d1ce275543138294f7ef013f0b63d5d3765", size = 102811, upload-time = "2024-12-24T18:12:30.83Z" }, + { url = "https://files.pythonhosted.org/packages/0e/f6/65ecc6878a89bb1c23a086ea335ad4bf21a588990c3f535a227b9eea9108/charset_normalizer-3.4.1-py3-none-any.whl", hash = "sha256:d98b1668f06378c6dbefec3b92299716b931cd4e6061f3c875a71ced1780ab85", size = 49767, upload-time = "2024-12-24T18:12:32.852Z" }, ] [[package]] @@ -512,18 +512,18 @@ source = { registry = "https://pypi.org/simple" } dependencies = [ { name = "colorama", marker = "sys_platform == 'win32'" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/b9/2e/0090cbf739cee7d23781ad4b89a9894a41538e4fcf4c31dcdd705b78eb8b/click-8.1.8.tar.gz", hash = "sha256:ed53c9d8990d83c2a27deae68e4ee337473f6330c040a31d4225c9574d16096a", size = 226593 } +sdist = { url = "https://files.pythonhosted.org/packages/b9/2e/0090cbf739cee7d23781ad4b89a9894a41538e4fcf4c31dcdd705b78eb8b/click-8.1.8.tar.gz", hash = "sha256:ed53c9d8990d83c2a27deae68e4ee337473f6330c040a31d4225c9574d16096a", size = 226593, upload-time = "2024-12-21T18:38:44.339Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/7e/d4/7ebdbd03970677812aac39c869717059dbb71a4cfc033ca6e5221787892c/click-8.1.8-py3-none-any.whl", hash = "sha256:63c132bbbed01578a06712a2d1f497bb62d9c1c0d329b7903a866228027263b2", size = 98188 }, + { url = "https://files.pythonhosted.org/packages/7e/d4/7ebdbd03970677812aac39c869717059dbb71a4cfc033ca6e5221787892c/click-8.1.8-py3-none-any.whl", hash = "sha256:63c132bbbed01578a06712a2d1f497bb62d9c1c0d329b7903a866228027263b2", size = 98188, upload-time = "2024-12-21T18:38:41.666Z" }, ] [[package]] name = "colorama" version = "0.4.6" source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/d8/53/6f443c9a4a8358a93a6792e2acffb9d9d5cb0a5cfd8802644b7b1c9a02e4/colorama-0.4.6.tar.gz", hash = "sha256:08695f5cb7ed6e0531a20572697297273c47b8cae5a63ffc6d6ed5c201be6e44", size = 27697 } +sdist = { url = "https://files.pythonhosted.org/packages/d8/53/6f443c9a4a8358a93a6792e2acffb9d9d5cb0a5cfd8802644b7b1c9a02e4/colorama-0.4.6.tar.gz", hash = "sha256:08695f5cb7ed6e0531a20572697297273c47b8cae5a63ffc6d6ed5c201be6e44", size = 27697, upload-time = "2022-10-25T02:36:22.414Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/d1/d6/3965ed04c63042e047cb6a3e6ed1a63a35087b6a609aa3a15ed8ac56c221/colorama-0.4.6-py2.py3-none-any.whl", hash = "sha256:4f1d9991f5acc0ca119f9d443620b77f9d6b33703e51011c16baf57afb285fc6", size = 25335 }, + { url = "https://files.pythonhosted.org/packages/d1/d6/3965ed04c63042e047cb6a3e6ed1a63a35087b6a609aa3a15ed8ac56c221/colorama-0.4.6-py2.py3-none-any.whl", hash = "sha256:4f1d9991f5acc0ca119f9d443620b77f9d6b33703e51011c16baf57afb285fc6", size = 25335, upload-time = "2022-10-25T02:36:20.889Z" }, ] [[package]] @@ -533,9 +533,9 @@ source = { registry = "https://pypi.org/simple" } dependencies = [ { name = "traitlets" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/e9/a8/fb783cb0abe2b5fded9f55e5703015cdf1c9c85b3669087c538dd15a6a86/comm-0.2.2.tar.gz", hash = "sha256:3fd7a84065306e07bea1773df6eb8282de51ba82f77c72f9c85716ab11fe980e", size = 6210 } +sdist = { url = "https://files.pythonhosted.org/packages/e9/a8/fb783cb0abe2b5fded9f55e5703015cdf1c9c85b3669087c538dd15a6a86/comm-0.2.2.tar.gz", hash = "sha256:3fd7a84065306e07bea1773df6eb8282de51ba82f77c72f9c85716ab11fe980e", size = 6210, upload-time = "2024-03-12T16:53:41.133Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/e6/75/49e5bfe642f71f272236b5b2d2691cf915a7283cc0ceda56357b61daa538/comm-0.2.2-py3-none-any.whl", hash = "sha256:e6fb86cb70ff661ee8c9c14e7d36d6de3b4066f1441be4063df9c5009f0a64d3", size = 7180 }, + { url = "https://files.pythonhosted.org/packages/e6/75/49e5bfe642f71f272236b5b2d2691cf915a7283cc0ceda56357b61daa538/comm-0.2.2-py3-none-any.whl", hash = "sha256:e6fb86cb70ff661ee8c9c14e7d36d6de3b4066f1441be4063df9c5009f0a64d3", size = 7180, upload-time = "2024-03-12T16:53:39.226Z" }, ] [[package]] @@ -550,59 +550,59 @@ resolution-markers = [ dependencies = [ { name = "numpy", version = "1.24.4", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.9'" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/b1/7d/087ee4295e7580d3f7eb8a8a4e0ec8c7847e60f34135248ccf831cf5bbfc/contourpy-1.1.1.tar.gz", hash = "sha256:96ba37c2e24b7212a77da85004c38e7c4d155d3e72a45eeaf22c1f03f607e8ab", size = 13433167 } -wheels = [ - { url = "https://files.pythonhosted.org/packages/fb/7f/c44a51a83a093bf5c84e07dd1e3cfe9f68c47b6499bd05a9de0c6dbdc2bc/contourpy-1.1.1-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:46e24f5412c948d81736509377e255f6040e94216bf1a9b5ea1eaa9d29f6ec1b", size = 247207 }, - { url = "https://files.pythonhosted.org/packages/a9/65/544d66da0716b20084874297ff7596704e435cf011512f8e576638e83db2/contourpy-1.1.1-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:0e48694d6a9c5a26ee85b10130c77a011a4fedf50a7279fa0bdaf44bafb4299d", size = 232428 }, - { url = "https://files.pythonhosted.org/packages/5b/e6/697085cc34a294bd399548fd99562537a75408f113e3a815807e206246f0/contourpy-1.1.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a66045af6cf00e19d02191ab578a50cb93b2028c3eefed999793698e9ea768ae", size = 285304 }, - { url = "https://files.pythonhosted.org/packages/69/4b/52d0d2e85c59f00f6ddbd6fea819f267008c58ee7708da96d112a293e91c/contourpy-1.1.1-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:4ebf42695f75ee1a952f98ce9775c873e4971732a87334b099dde90b6af6a916", size = 322655 }, - { url = "https://files.pythonhosted.org/packages/82/fc/3decc656a547a6d5d5b4249f81c72668a1f3259a62b2def2504120d38746/contourpy-1.1.1-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:f6aec19457617ef468ff091669cca01fa7ea557b12b59a7908b9474bb9674cf0", size = 296430 }, - { url = "https://files.pythonhosted.org/packages/f1/6b/e4b0f8708f22dd7c321f87eadbb98708975e115ac6582eb46d1f32197ce6/contourpy-1.1.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:462c59914dc6d81e0b11f37e560b8a7c2dbab6aca4f38be31519d442d6cde1a1", size = 301672 }, - { url = "https://files.pythonhosted.org/packages/c3/87/201410522a756e605069078833d806147cad8532fdc164a96689d05c5afc/contourpy-1.1.1-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:6d0a8efc258659edc5299f9ef32d8d81de8b53b45d67bf4bfa3067f31366764d", size = 820145 }, - { url = "https://files.pythonhosted.org/packages/b4/d9/42680a17d43edda04ab2b3f11125cf97b61bce5d3b52721a42960bf748bd/contourpy-1.1.1-cp310-cp310-win32.whl", hash = "sha256:d6ab42f223e58b7dac1bb0af32194a7b9311065583cc75ff59dcf301afd8a431", size = 399542 }, - { url = "https://files.pythonhosted.org/packages/55/14/0dc1884e3c04f9b073a47283f5d424926644250891db392a07c56f05e5c5/contourpy-1.1.1-cp310-cp310-win_amd64.whl", hash = "sha256:549174b0713d49871c6dee90a4b499d3f12f5e5f69641cd23c50a4542e2ca1eb", size = 477974 }, - { url = "https://files.pythonhosted.org/packages/8b/4f/be28a39cd5e988b8d3c2cc642c2c7ffeeb28fe80a86df71b6d1e473c5038/contourpy-1.1.1-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:407d864db716a067cc696d61fa1ef6637fedf03606e8417fe2aeed20a061e6b2", size = 248613 }, - { url = "https://files.pythonhosted.org/packages/2c/8e/656f8e7cd316aa68d9824744773e90dbd71f847429d10c82001e927480a2/contourpy-1.1.1-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:dfe80c017973e6a4c367e037cb31601044dd55e6bfacd57370674867d15a899b", size = 233603 }, - { url = "https://files.pythonhosted.org/packages/60/2a/4d4bd4541212ab98f3411f21bf58b0b246f333ae996e9f57e1acf12bcc45/contourpy-1.1.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:e30aaf2b8a2bac57eb7e1650df1b3a4130e8d0c66fc2f861039d507a11760e1b", size = 287037 }, - { url = "https://files.pythonhosted.org/packages/24/67/8abf919443381585a4eee74069e311c736350549dae02d3d014fef93d50a/contourpy-1.1.1-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:3de23ca4f381c3770dee6d10ead6fff524d540c0f662e763ad1530bde5112532", size = 323274 }, - { url = "https://files.pythonhosted.org/packages/2a/e5/6da11329dd35a2f2e404a95e5374b5702de6ac52e776e8b87dd6ea4b29d0/contourpy-1.1.1-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:566f0e41df06dfef2431defcfaa155f0acfa1ca4acbf8fd80895b1e7e2ada40e", size = 297801 }, - { url = "https://files.pythonhosted.org/packages/b7/f6/78f60fa0b6ae64971178e2542e8b3ad3ba5f4f379b918ab7b18038a3f897/contourpy-1.1.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:b04c2f0adaf255bf756cf08ebef1be132d3c7a06fe6f9877d55640c5e60c72c5", size = 302821 }, - { url = "https://files.pythonhosted.org/packages/da/25/6062395a1c6a06f46a577da821318886b8b939453a098b9cd61671bb497b/contourpy-1.1.1-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:d0c188ae66b772d9d61d43c6030500344c13e3f73a00d1dc241da896f379bb62", size = 820121 }, - { url = "https://files.pythonhosted.org/packages/41/5e/64e78b1e8682cbab10c13fc1a2c070d30acedb805ab2f42afbd3d88f7225/contourpy-1.1.1-cp311-cp311-win32.whl", hash = "sha256:0683e1ae20dc038075d92e0e0148f09ffcefab120e57f6b4c9c0f477ec171f33", size = 401590 }, - { url = "https://files.pythonhosted.org/packages/e5/76/94bc17eb868f8c7397f8fdfdeae7661c1b9a35f3a7219da308596e8c252a/contourpy-1.1.1-cp311-cp311-win_amd64.whl", hash = "sha256:8636cd2fc5da0fb102a2504fa2c4bea3cbc149533b345d72cdf0e7a924decc45", size = 480534 }, - { url = "https://files.pythonhosted.org/packages/94/0f/07a5e26fec7176658f6aecffc615900ff1d303baa2b67bc37fd98ce67c87/contourpy-1.1.1-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:560f1d68a33e89c62da5da4077ba98137a5e4d3a271b29f2f195d0fba2adcb6a", size = 249799 }, - { url = "https://files.pythonhosted.org/packages/32/0b/d7baca3f60d3b3a77c9ba1307c7792befd3c1c775a26c649dca1bfa9b6ba/contourpy-1.1.1-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:24216552104ae8f3b34120ef84825400b16eb6133af2e27a190fdc13529f023e", size = 232739 }, - { url = "https://files.pythonhosted.org/packages/6d/62/a385b4d4b5718e3a933de5791528f45f1f5b364d3c79172ad0309c832041/contourpy-1.1.1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:56de98a2fb23025882a18b60c7f0ea2d2d70bbbcfcf878f9067234b1c4818442", size = 282171 }, - { url = "https://files.pythonhosted.org/packages/91/21/8c6819747fea53557f3963ca936035b3e8bed87d591f5278ad62516a059d/contourpy-1.1.1-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:07d6f11dfaf80a84c97f1a5ba50d129d9303c5b4206f776e94037332e298dda8", size = 321182 }, - { url = "https://files.pythonhosted.org/packages/22/29/d75da9002f9df09c755b12cf0357eb91b081c858e604f4e92b4b8bfc3c15/contourpy-1.1.1-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:f1eaac5257a8f8a047248d60e8f9315c6cff58f7803971170d952555ef6344a7", size = 295869 }, - { url = "https://files.pythonhosted.org/packages/a7/47/4e7e66159f881c131e3b97d1cc5c0ea72be62bdd292c7f63fd13937d07f4/contourpy-1.1.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:19557fa407e70f20bfaba7d55b4d97b14f9480856c4fb65812e8a05fe1c6f9bf", size = 298756 }, - { url = "https://files.pythonhosted.org/packages/d3/bb/bffc99bc3172942b5eda8027ca0cb80ddd336fcdd634d68adce957d37231/contourpy-1.1.1-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:081f3c0880712e40effc5f4c3b08feca6d064cb8cfbb372ca548105b86fd6c3d", size = 818441 }, - { url = "https://files.pythonhosted.org/packages/da/1b/904baf0aaaf6c6e2247801dcd1ff0d7bf84352839927d356b28ae804cbb0/contourpy-1.1.1-cp312-cp312-win32.whl", hash = "sha256:059c3d2a94b930f4dafe8105bcdc1b21de99b30b51b5bce74c753686de858cb6", size = 410294 }, - { url = "https://files.pythonhosted.org/packages/75/d4/c3b7a9a0d1f99b528e5a46266b0b9f13aad5a0dd1156d071418df314c427/contourpy-1.1.1-cp312-cp312-win_amd64.whl", hash = "sha256:f44d78b61740e4e8c71db1cf1fd56d9050a4747681c59ec1094750a658ceb970", size = 486678 }, - { url = "https://files.pythonhosted.org/packages/02/7e/ffaba1bf3719088be3ad6983a5e85e1fc9edccd7b406b98e433436ecef74/contourpy-1.1.1-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:70e5a10f8093d228bb2b552beeb318b8928b8a94763ef03b858ef3612b29395d", size = 247023 }, - { url = "https://files.pythonhosted.org/packages/a6/82/29f5ff4ae074c3230e266bc9efef449ebde43721a727b989dd8ef8f97d73/contourpy-1.1.1-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:8394e652925a18ef0091115e3cc191fef350ab6dc3cc417f06da66bf98071ae9", size = 232380 }, - { url = "https://files.pythonhosted.org/packages/9b/cb/08f884c4c2efd433a38876b1b8069bfecef3f2d21ff0ce635d455962f70f/contourpy-1.1.1-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:c5bd5680f844c3ff0008523a71949a3ff5e4953eb7701b28760805bc9bcff217", size = 285830 }, - { url = "https://files.pythonhosted.org/packages/8e/57/cd4d4c99d999a25e9d518f628b4793e64b1ecb8ad3147f8469d8d4a80678/contourpy-1.1.1-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:66544f853bfa85c0d07a68f6c648b2ec81dafd30f272565c37ab47a33b220684", size = 322038 }, - { url = "https://files.pythonhosted.org/packages/32/b6/c57ed305a6f86731107fc183e97c7e6a6005d145f5c5228a44718082ad12/contourpy-1.1.1-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:e0c02b75acfea5cab07585d25069207e478d12309557f90a61b5a3b4f77f46ce", size = 295797 }, - { url = "https://files.pythonhosted.org/packages/8e/71/7f20855592cc929bc206810432b991ec4c702dc26b0567b132e52c85536f/contourpy-1.1.1-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:41339b24471c58dc1499e56783fedc1afa4bb018bcd035cfb0ee2ad2a7501ef8", size = 301124 }, - { url = "https://files.pythonhosted.org/packages/86/6d/52c2fc80f433e7cdc8624d82e1422ad83ad461463cf16a1953bbc7d10eb1/contourpy-1.1.1-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:f29fb0b3f1217dfe9362ec55440d0743fe868497359f2cf93293f4b2701b8251", size = 819787 }, - { url = "https://files.pythonhosted.org/packages/d0/b0/f8d4548e89f929d6c5ca329df9afad6190af60079ec77d8c31eb48cf6f82/contourpy-1.1.1-cp38-cp38-win32.whl", hash = "sha256:f9dc7f933975367251c1b34da882c4f0e0b2e24bb35dc906d2f598a40b72bfc7", size = 400031 }, - { url = "https://files.pythonhosted.org/packages/96/1b/b05cd42c8d21767a0488b883b38658fb9a45f86c293b7b42521a8113dc5d/contourpy-1.1.1-cp38-cp38-win_amd64.whl", hash = "sha256:498e53573e8b94b1caeb9e62d7c2d053c263ebb6aa259c81050766beb50ff8d9", size = 477949 }, - { url = "https://files.pythonhosted.org/packages/16/d9/8a15ff67fc27c65939e454512955e1b240ec75cd201d82e115b3b63ef76d/contourpy-1.1.1-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:ba42e3810999a0ddd0439e6e5dbf6d034055cdc72b7c5c839f37a7c274cb4eba", size = 247396 }, - { url = "https://files.pythonhosted.org/packages/09/fe/086e6847ee53da10ddf0b6c5e5f877ab43e68e355d2f4c85f67561ee8a57/contourpy-1.1.1-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:6c06e4c6e234fcc65435223c7b2a90f286b7f1b2733058bdf1345d218cc59e34", size = 232598 }, - { url = "https://files.pythonhosted.org/packages/a3/9c/662925239e1185c6cf1da8c334e4c61bddcfa8e528f4b51083b613003170/contourpy-1.1.1-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:ca6fab080484e419528e98624fb5c4282148b847e3602dc8dbe0cb0669469887", size = 286436 }, - { url = "https://files.pythonhosted.org/packages/d3/7e/417cdf65da7140981079eda6a81ecd593ae0239bf8c738f2e2b3f6df8920/contourpy-1.1.1-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:93df44ab351119d14cd1e6b52a5063d3336f0754b72736cc63db59307dabb718", size = 322629 }, - { url = "https://files.pythonhosted.org/packages/a8/22/ffd88aef74cc045698c5e5c400e8b7cd62311199c109245ac7827290df2c/contourpy-1.1.1-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:eafbef886566dc1047d7b3d4b14db0d5b7deb99638d8e1be4e23a7c7ac59ff0f", size = 297117 }, - { url = "https://files.pythonhosted.org/packages/2b/c0/24c34c41a180f875419b536125799c61e2330b997d77a5a818a3bc3e08cd/contourpy-1.1.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:efe0fab26d598e1ec07d72cf03eaeeba8e42b4ecf6b9ccb5a356fde60ff08b85", size = 301855 }, - { url = "https://files.pythonhosted.org/packages/bf/ec/f9877f6378a580cd683bd76c8a781dcd972e82965e0da951a739d3364677/contourpy-1.1.1-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:f08e469821a5e4751c97fcd34bcb586bc243c39c2e39321822060ba902eac49e", size = 820597 }, - { url = "https://files.pythonhosted.org/packages/e1/3a/c41f4bc7122d3a06388acae1bed6f50a665c1031863ca42bd701094dcb1f/contourpy-1.1.1-cp39-cp39-win32.whl", hash = "sha256:bfc8a5e9238232a45ebc5cb3bfee71f1167064c8d382cadd6076f0d51cff1da0", size = 400031 }, - { url = "https://files.pythonhosted.org/packages/87/2b/9b49451f7412cc1a79198e94a771a4e52d65c479aae610b1161c0290ef2c/contourpy-1.1.1-cp39-cp39-win_amd64.whl", hash = "sha256:c84fdf3da00c2827d634de4fcf17e3e067490c4aea82833625c4c8e6cdea0887", size = 435965 }, - { url = "https://files.pythonhosted.org/packages/e6/3c/fc36884b6793e2066a6ff25c86e21b8bd62553456b07e964c260bcf22711/contourpy-1.1.1-pp38-pypy38_pp73-macosx_10_9_x86_64.whl", hash = "sha256:229a25f68046c5cf8067d6d6351c8b99e40da11b04d8416bf8d2b1d75922521e", size = 246493 }, - { url = "https://files.pythonhosted.org/packages/3d/85/f4c5b09ce79828ed4553a8ae2ebdf937794f57b45848b1f5c95d9744ecc2/contourpy-1.1.1-pp38-pypy38_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:a10dab5ea1bd4401c9483450b5b0ba5416be799bbd50fc7a6cc5e2a15e03e8a3", size = 289240 }, - { url = "https://files.pythonhosted.org/packages/18/d3/9d7c0a372baf5130c1417a4b8275079d5379c11355436cb9fc78af7d7559/contourpy-1.1.1-pp38-pypy38_pp73-win_amd64.whl", hash = "sha256:4f9147051cb8fdb29a51dc2482d792b3b23e50f8f57e3720ca2e3d438b7adf23", size = 476043 }, - { url = "https://files.pythonhosted.org/packages/e7/12/643242c3d9b031ca19f9a440f63e568dd883a04711056ca5d607f9bda888/contourpy-1.1.1-pp39-pypy39_pp73-macosx_10_9_x86_64.whl", hash = "sha256:a75cc163a5f4531a256f2c523bd80db509a49fc23721b36dd1ef2f60ff41c3cb", size = 246247 }, - { url = "https://files.pythonhosted.org/packages/e1/37/95716fe235bf441422059e4afcd4b9b7c5821851c2aee992a06d1e9f831a/contourpy-1.1.1-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:3b53d5769aa1f2d4ea407c65f2d1d08002952fac1d9e9d307aa2e1023554a163", size = 289029 }, - { url = "https://files.pythonhosted.org/packages/e5/fd/14852c4a688031e0d8a20d9a1b60078d45507186ef17042093835be2f01a/contourpy-1.1.1-pp39-pypy39_pp73-win_amd64.whl", hash = "sha256:11b836b7dbfb74e049c302bbf74b4b8f6cb9d0b6ca1bf86cfa8ba144aedadd9c", size = 476043 }, +sdist = { url = "https://files.pythonhosted.org/packages/b1/7d/087ee4295e7580d3f7eb8a8a4e0ec8c7847e60f34135248ccf831cf5bbfc/contourpy-1.1.1.tar.gz", hash = "sha256:96ba37c2e24b7212a77da85004c38e7c4d155d3e72a45eeaf22c1f03f607e8ab", size = 13433167, upload-time = "2023-09-16T10:25:49.501Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/fb/7f/c44a51a83a093bf5c84e07dd1e3cfe9f68c47b6499bd05a9de0c6dbdc2bc/contourpy-1.1.1-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:46e24f5412c948d81736509377e255f6040e94216bf1a9b5ea1eaa9d29f6ec1b", size = 247207, upload-time = "2023-09-16T10:20:32.848Z" }, + { url = "https://files.pythonhosted.org/packages/a9/65/544d66da0716b20084874297ff7596704e435cf011512f8e576638e83db2/contourpy-1.1.1-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:0e48694d6a9c5a26ee85b10130c77a011a4fedf50a7279fa0bdaf44bafb4299d", size = 232428, upload-time = "2023-09-16T10:20:36.337Z" }, + { url = "https://files.pythonhosted.org/packages/5b/e6/697085cc34a294bd399548fd99562537a75408f113e3a815807e206246f0/contourpy-1.1.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a66045af6cf00e19d02191ab578a50cb93b2028c3eefed999793698e9ea768ae", size = 285304, upload-time = "2023-09-16T10:20:40.182Z" }, + { url = "https://files.pythonhosted.org/packages/69/4b/52d0d2e85c59f00f6ddbd6fea819f267008c58ee7708da96d112a293e91c/contourpy-1.1.1-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:4ebf42695f75ee1a952f98ce9775c873e4971732a87334b099dde90b6af6a916", size = 322655, upload-time = "2023-09-16T10:20:44.175Z" }, + { url = "https://files.pythonhosted.org/packages/82/fc/3decc656a547a6d5d5b4249f81c72668a1f3259a62b2def2504120d38746/contourpy-1.1.1-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:f6aec19457617ef468ff091669cca01fa7ea557b12b59a7908b9474bb9674cf0", size = 296430, upload-time = "2023-09-16T10:20:47.767Z" }, + { url = "https://files.pythonhosted.org/packages/f1/6b/e4b0f8708f22dd7c321f87eadbb98708975e115ac6582eb46d1f32197ce6/contourpy-1.1.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:462c59914dc6d81e0b11f37e560b8a7c2dbab6aca4f38be31519d442d6cde1a1", size = 301672, upload-time = "2023-09-16T10:20:51.395Z" }, + { url = "https://files.pythonhosted.org/packages/c3/87/201410522a756e605069078833d806147cad8532fdc164a96689d05c5afc/contourpy-1.1.1-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:6d0a8efc258659edc5299f9ef32d8d81de8b53b45d67bf4bfa3067f31366764d", size = 820145, upload-time = "2023-09-16T10:20:58.426Z" }, + { url = "https://files.pythonhosted.org/packages/b4/d9/42680a17d43edda04ab2b3f11125cf97b61bce5d3b52721a42960bf748bd/contourpy-1.1.1-cp310-cp310-win32.whl", hash = "sha256:d6ab42f223e58b7dac1bb0af32194a7b9311065583cc75ff59dcf301afd8a431", size = 399542, upload-time = "2023-09-16T10:21:02.719Z" }, + { url = "https://files.pythonhosted.org/packages/55/14/0dc1884e3c04f9b073a47283f5d424926644250891db392a07c56f05e5c5/contourpy-1.1.1-cp310-cp310-win_amd64.whl", hash = "sha256:549174b0713d49871c6dee90a4b499d3f12f5e5f69641cd23c50a4542e2ca1eb", size = 477974, upload-time = "2023-09-16T10:21:07.565Z" }, + { url = "https://files.pythonhosted.org/packages/8b/4f/be28a39cd5e988b8d3c2cc642c2c7ffeeb28fe80a86df71b6d1e473c5038/contourpy-1.1.1-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:407d864db716a067cc696d61fa1ef6637fedf03606e8417fe2aeed20a061e6b2", size = 248613, upload-time = "2023-09-16T10:21:10.695Z" }, + { url = "https://files.pythonhosted.org/packages/2c/8e/656f8e7cd316aa68d9824744773e90dbd71f847429d10c82001e927480a2/contourpy-1.1.1-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:dfe80c017973e6a4c367e037cb31601044dd55e6bfacd57370674867d15a899b", size = 233603, upload-time = "2023-09-16T10:21:13.771Z" }, + { url = "https://files.pythonhosted.org/packages/60/2a/4d4bd4541212ab98f3411f21bf58b0b246f333ae996e9f57e1acf12bcc45/contourpy-1.1.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:e30aaf2b8a2bac57eb7e1650df1b3a4130e8d0c66fc2f861039d507a11760e1b", size = 287037, upload-time = "2023-09-16T10:21:17.622Z" }, + { url = "https://files.pythonhosted.org/packages/24/67/8abf919443381585a4eee74069e311c736350549dae02d3d014fef93d50a/contourpy-1.1.1-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:3de23ca4f381c3770dee6d10ead6fff524d540c0f662e763ad1530bde5112532", size = 323274, upload-time = "2023-09-16T10:21:21.404Z" }, + { url = "https://files.pythonhosted.org/packages/2a/e5/6da11329dd35a2f2e404a95e5374b5702de6ac52e776e8b87dd6ea4b29d0/contourpy-1.1.1-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:566f0e41df06dfef2431defcfaa155f0acfa1ca4acbf8fd80895b1e7e2ada40e", size = 297801, upload-time = "2023-09-16T10:21:25.155Z" }, + { url = "https://files.pythonhosted.org/packages/b7/f6/78f60fa0b6ae64971178e2542e8b3ad3ba5f4f379b918ab7b18038a3f897/contourpy-1.1.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:b04c2f0adaf255bf756cf08ebef1be132d3c7a06fe6f9877d55640c5e60c72c5", size = 302821, upload-time = "2023-09-16T10:21:28.663Z" }, + { url = "https://files.pythonhosted.org/packages/da/25/6062395a1c6a06f46a577da821318886b8b939453a098b9cd61671bb497b/contourpy-1.1.1-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:d0c188ae66b772d9d61d43c6030500344c13e3f73a00d1dc241da896f379bb62", size = 820121, upload-time = "2023-09-16T10:21:36.251Z" }, + { url = "https://files.pythonhosted.org/packages/41/5e/64e78b1e8682cbab10c13fc1a2c070d30acedb805ab2f42afbd3d88f7225/contourpy-1.1.1-cp311-cp311-win32.whl", hash = "sha256:0683e1ae20dc038075d92e0e0148f09ffcefab120e57f6b4c9c0f477ec171f33", size = 401590, upload-time = "2023-09-16T10:21:40.42Z" }, + { url = "https://files.pythonhosted.org/packages/e5/76/94bc17eb868f8c7397f8fdfdeae7661c1b9a35f3a7219da308596e8c252a/contourpy-1.1.1-cp311-cp311-win_amd64.whl", hash = "sha256:8636cd2fc5da0fb102a2504fa2c4bea3cbc149533b345d72cdf0e7a924decc45", size = 480534, upload-time = "2023-09-16T10:21:45.724Z" }, + { url = "https://files.pythonhosted.org/packages/94/0f/07a5e26fec7176658f6aecffc615900ff1d303baa2b67bc37fd98ce67c87/contourpy-1.1.1-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:560f1d68a33e89c62da5da4077ba98137a5e4d3a271b29f2f195d0fba2adcb6a", size = 249799, upload-time = "2023-09-16T10:21:48.797Z" }, + { url = "https://files.pythonhosted.org/packages/32/0b/d7baca3f60d3b3a77c9ba1307c7792befd3c1c775a26c649dca1bfa9b6ba/contourpy-1.1.1-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:24216552104ae8f3b34120ef84825400b16eb6133af2e27a190fdc13529f023e", size = 232739, upload-time = "2023-09-16T10:21:51.854Z" }, + { url = "https://files.pythonhosted.org/packages/6d/62/a385b4d4b5718e3a933de5791528f45f1f5b364d3c79172ad0309c832041/contourpy-1.1.1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:56de98a2fb23025882a18b60c7f0ea2d2d70bbbcfcf878f9067234b1c4818442", size = 282171, upload-time = "2023-09-16T10:21:55.794Z" }, + { url = "https://files.pythonhosted.org/packages/91/21/8c6819747fea53557f3963ca936035b3e8bed87d591f5278ad62516a059d/contourpy-1.1.1-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:07d6f11dfaf80a84c97f1a5ba50d129d9303c5b4206f776e94037332e298dda8", size = 321182, upload-time = "2023-09-16T10:21:59.576Z" }, + { url = "https://files.pythonhosted.org/packages/22/29/d75da9002f9df09c755b12cf0357eb91b081c858e604f4e92b4b8bfc3c15/contourpy-1.1.1-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:f1eaac5257a8f8a047248d60e8f9315c6cff58f7803971170d952555ef6344a7", size = 295869, upload-time = "2023-09-16T10:22:03.248Z" }, + { url = "https://files.pythonhosted.org/packages/a7/47/4e7e66159f881c131e3b97d1cc5c0ea72be62bdd292c7f63fd13937d07f4/contourpy-1.1.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:19557fa407e70f20bfaba7d55b4d97b14f9480856c4fb65812e8a05fe1c6f9bf", size = 298756, upload-time = "2023-09-16T10:22:06.663Z" }, + { url = "https://files.pythonhosted.org/packages/d3/bb/bffc99bc3172942b5eda8027ca0cb80ddd336fcdd634d68adce957d37231/contourpy-1.1.1-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:081f3c0880712e40effc5f4c3b08feca6d064cb8cfbb372ca548105b86fd6c3d", size = 818441, upload-time = "2023-09-16T10:22:13.805Z" }, + { url = "https://files.pythonhosted.org/packages/da/1b/904baf0aaaf6c6e2247801dcd1ff0d7bf84352839927d356b28ae804cbb0/contourpy-1.1.1-cp312-cp312-win32.whl", hash = "sha256:059c3d2a94b930f4dafe8105bcdc1b21de99b30b51b5bce74c753686de858cb6", size = 410294, upload-time = "2023-09-16T10:22:18.055Z" }, + { url = "https://files.pythonhosted.org/packages/75/d4/c3b7a9a0d1f99b528e5a46266b0b9f13aad5a0dd1156d071418df314c427/contourpy-1.1.1-cp312-cp312-win_amd64.whl", hash = "sha256:f44d78b61740e4e8c71db1cf1fd56d9050a4747681c59ec1094750a658ceb970", size = 486678, upload-time = "2023-09-16T10:22:23.249Z" }, + { url = "https://files.pythonhosted.org/packages/02/7e/ffaba1bf3719088be3ad6983a5e85e1fc9edccd7b406b98e433436ecef74/contourpy-1.1.1-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:70e5a10f8093d228bb2b552beeb318b8928b8a94763ef03b858ef3612b29395d", size = 247023, upload-time = "2023-09-16T10:22:26.954Z" }, + { url = "https://files.pythonhosted.org/packages/a6/82/29f5ff4ae074c3230e266bc9efef449ebde43721a727b989dd8ef8f97d73/contourpy-1.1.1-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:8394e652925a18ef0091115e3cc191fef350ab6dc3cc417f06da66bf98071ae9", size = 232380, upload-time = "2023-09-16T10:22:30.423Z" }, + { url = "https://files.pythonhosted.org/packages/9b/cb/08f884c4c2efd433a38876b1b8069bfecef3f2d21ff0ce635d455962f70f/contourpy-1.1.1-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:c5bd5680f844c3ff0008523a71949a3ff5e4953eb7701b28760805bc9bcff217", size = 285830, upload-time = "2023-09-16T10:22:33.787Z" }, + { url = "https://files.pythonhosted.org/packages/8e/57/cd4d4c99d999a25e9d518f628b4793e64b1ecb8ad3147f8469d8d4a80678/contourpy-1.1.1-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:66544f853bfa85c0d07a68f6c648b2ec81dafd30f272565c37ab47a33b220684", size = 322038, upload-time = "2023-09-16T10:22:37.627Z" }, + { url = "https://files.pythonhosted.org/packages/32/b6/c57ed305a6f86731107fc183e97c7e6a6005d145f5c5228a44718082ad12/contourpy-1.1.1-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:e0c02b75acfea5cab07585d25069207e478d12309557f90a61b5a3b4f77f46ce", size = 295797, upload-time = "2023-09-16T10:22:41.952Z" }, + { url = "https://files.pythonhosted.org/packages/8e/71/7f20855592cc929bc206810432b991ec4c702dc26b0567b132e52c85536f/contourpy-1.1.1-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:41339b24471c58dc1499e56783fedc1afa4bb018bcd035cfb0ee2ad2a7501ef8", size = 301124, upload-time = "2023-09-16T10:22:45.993Z" }, + { url = "https://files.pythonhosted.org/packages/86/6d/52c2fc80f433e7cdc8624d82e1422ad83ad461463cf16a1953bbc7d10eb1/contourpy-1.1.1-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:f29fb0b3f1217dfe9362ec55440d0743fe868497359f2cf93293f4b2701b8251", size = 819787, upload-time = "2023-09-16T10:22:53.511Z" }, + { url = "https://files.pythonhosted.org/packages/d0/b0/f8d4548e89f929d6c5ca329df9afad6190af60079ec77d8c31eb48cf6f82/contourpy-1.1.1-cp38-cp38-win32.whl", hash = "sha256:f9dc7f933975367251c1b34da882c4f0e0b2e24bb35dc906d2f598a40b72bfc7", size = 400031, upload-time = "2023-09-16T10:22:57.78Z" }, + { url = "https://files.pythonhosted.org/packages/96/1b/b05cd42c8d21767a0488b883b38658fb9a45f86c293b7b42521a8113dc5d/contourpy-1.1.1-cp38-cp38-win_amd64.whl", hash = "sha256:498e53573e8b94b1caeb9e62d7c2d053c263ebb6aa259c81050766beb50ff8d9", size = 477949, upload-time = "2023-09-16T10:23:02.587Z" }, + { url = "https://files.pythonhosted.org/packages/16/d9/8a15ff67fc27c65939e454512955e1b240ec75cd201d82e115b3b63ef76d/contourpy-1.1.1-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:ba42e3810999a0ddd0439e6e5dbf6d034055cdc72b7c5c839f37a7c274cb4eba", size = 247396, upload-time = "2023-09-16T10:23:06.429Z" }, + { url = "https://files.pythonhosted.org/packages/09/fe/086e6847ee53da10ddf0b6c5e5f877ab43e68e355d2f4c85f67561ee8a57/contourpy-1.1.1-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:6c06e4c6e234fcc65435223c7b2a90f286b7f1b2733058bdf1345d218cc59e34", size = 232598, upload-time = "2023-09-16T10:23:11.009Z" }, + { url = "https://files.pythonhosted.org/packages/a3/9c/662925239e1185c6cf1da8c334e4c61bddcfa8e528f4b51083b613003170/contourpy-1.1.1-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:ca6fab080484e419528e98624fb5c4282148b847e3602dc8dbe0cb0669469887", size = 286436, upload-time = "2023-09-16T10:23:14.624Z" }, + { url = "https://files.pythonhosted.org/packages/d3/7e/417cdf65da7140981079eda6a81ecd593ae0239bf8c738f2e2b3f6df8920/contourpy-1.1.1-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:93df44ab351119d14cd1e6b52a5063d3336f0754b72736cc63db59307dabb718", size = 322629, upload-time = "2023-09-16T10:23:18.203Z" }, + { url = "https://files.pythonhosted.org/packages/a8/22/ffd88aef74cc045698c5e5c400e8b7cd62311199c109245ac7827290df2c/contourpy-1.1.1-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:eafbef886566dc1047d7b3d4b14db0d5b7deb99638d8e1be4e23a7c7ac59ff0f", size = 297117, upload-time = "2023-09-16T10:23:21.586Z" }, + { url = "https://files.pythonhosted.org/packages/2b/c0/24c34c41a180f875419b536125799c61e2330b997d77a5a818a3bc3e08cd/contourpy-1.1.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:efe0fab26d598e1ec07d72cf03eaeeba8e42b4ecf6b9ccb5a356fde60ff08b85", size = 301855, upload-time = "2023-09-16T10:23:25.584Z" }, + { url = "https://files.pythonhosted.org/packages/bf/ec/f9877f6378a580cd683bd76c8a781dcd972e82965e0da951a739d3364677/contourpy-1.1.1-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:f08e469821a5e4751c97fcd34bcb586bc243c39c2e39321822060ba902eac49e", size = 820597, upload-time = "2023-09-16T10:23:33.133Z" }, + { url = "https://files.pythonhosted.org/packages/e1/3a/c41f4bc7122d3a06388acae1bed6f50a665c1031863ca42bd701094dcb1f/contourpy-1.1.1-cp39-cp39-win32.whl", hash = "sha256:bfc8a5e9238232a45ebc5cb3bfee71f1167064c8d382cadd6076f0d51cff1da0", size = 400031, upload-time = "2023-09-16T10:23:37.546Z" }, + { url = "https://files.pythonhosted.org/packages/87/2b/9b49451f7412cc1a79198e94a771a4e52d65c479aae610b1161c0290ef2c/contourpy-1.1.1-cp39-cp39-win_amd64.whl", hash = "sha256:c84fdf3da00c2827d634de4fcf17e3e067490c4aea82833625c4c8e6cdea0887", size = 435965, upload-time = "2023-09-16T10:23:42.512Z" }, + { url = "https://files.pythonhosted.org/packages/e6/3c/fc36884b6793e2066a6ff25c86e21b8bd62553456b07e964c260bcf22711/contourpy-1.1.1-pp38-pypy38_pp73-macosx_10_9_x86_64.whl", hash = "sha256:229a25f68046c5cf8067d6d6351c8b99e40da11b04d8416bf8d2b1d75922521e", size = 246493, upload-time = "2023-09-16T10:23:45.721Z" }, + { url = "https://files.pythonhosted.org/packages/3d/85/f4c5b09ce79828ed4553a8ae2ebdf937794f57b45848b1f5c95d9744ecc2/contourpy-1.1.1-pp38-pypy38_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:a10dab5ea1bd4401c9483450b5b0ba5416be799bbd50fc7a6cc5e2a15e03e8a3", size = 289240, upload-time = "2023-09-16T10:23:49.207Z" }, + { url = "https://files.pythonhosted.org/packages/18/d3/9d7c0a372baf5130c1417a4b8275079d5379c11355436cb9fc78af7d7559/contourpy-1.1.1-pp38-pypy38_pp73-win_amd64.whl", hash = "sha256:4f9147051cb8fdb29a51dc2482d792b3b23e50f8f57e3720ca2e3d438b7adf23", size = 476043, upload-time = "2023-09-16T10:23:54.495Z" }, + { url = "https://files.pythonhosted.org/packages/e7/12/643242c3d9b031ca19f9a440f63e568dd883a04711056ca5d607f9bda888/contourpy-1.1.1-pp39-pypy39_pp73-macosx_10_9_x86_64.whl", hash = "sha256:a75cc163a5f4531a256f2c523bd80db509a49fc23721b36dd1ef2f60ff41c3cb", size = 246247, upload-time = "2023-09-16T10:23:58.204Z" }, + { url = "https://files.pythonhosted.org/packages/e1/37/95716fe235bf441422059e4afcd4b9b7c5821851c2aee992a06d1e9f831a/contourpy-1.1.1-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:3b53d5769aa1f2d4ea407c65f2d1d08002952fac1d9e9d307aa2e1023554a163", size = 289029, upload-time = "2023-09-16T10:24:02.085Z" }, + { url = "https://files.pythonhosted.org/packages/e5/fd/14852c4a688031e0d8a20d9a1b60078d45507186ef17042093835be2f01a/contourpy-1.1.1-pp39-pypy39_pp73-win_amd64.whl", hash = "sha256:11b836b7dbfb74e049c302bbf74b4b8f6cb9d0b6ca1bf86cfa8ba144aedadd9c", size = 476043, upload-time = "2023-09-16T10:24:07.292Z" }, ] [[package]] @@ -617,72 +617,72 @@ resolution-markers = [ dependencies = [ { name = "numpy", version = "2.0.2", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version == '3.9.*'" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/f5/f6/31a8f28b4a2a4fa0e01085e542f3081ab0588eff8e589d39d775172c9792/contourpy-1.3.0.tar.gz", hash = "sha256:7ffa0db17717a8ffb127efd0c95a4362d996b892c2904db72428d5b52e1938a4", size = 13464370 } -wheels = [ - { url = "https://files.pythonhosted.org/packages/6c/e0/be8dcc796cfdd96708933e0e2da99ba4bb8f9b2caa9d560a50f3f09a65f3/contourpy-1.3.0-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:880ea32e5c774634f9fcd46504bf9f080a41ad855f4fef54f5380f5133d343c7", size = 265366 }, - { url = "https://files.pythonhosted.org/packages/50/d6/c953b400219443535d412fcbbc42e7a5e823291236bc0bb88936e3cc9317/contourpy-1.3.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:76c905ef940a4474a6289c71d53122a4f77766eef23c03cd57016ce19d0f7b42", size = 249226 }, - { url = "https://files.pythonhosted.org/packages/6f/b4/6fffdf213ffccc28483c524b9dad46bb78332851133b36ad354b856ddc7c/contourpy-1.3.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:92f8557cbb07415a4d6fa191f20fd9d2d9eb9c0b61d1b2f52a8926e43c6e9af7", size = 308460 }, - { url = "https://files.pythonhosted.org/packages/cf/6c/118fc917b4050f0afe07179a6dcbe4f3f4ec69b94f36c9e128c4af480fb8/contourpy-1.3.0-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:36f965570cff02b874773c49bfe85562b47030805d7d8360748f3eca570f4cab", size = 347623 }, - { url = "https://files.pythonhosted.org/packages/f9/a4/30ff110a81bfe3abf7b9673284d21ddce8cc1278f6f77393c91199da4c90/contourpy-1.3.0-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:cacd81e2d4b6f89c9f8a5b69b86490152ff39afc58a95af002a398273e5ce589", size = 317761 }, - { url = "https://files.pythonhosted.org/packages/99/e6/d11966962b1aa515f5586d3907ad019f4b812c04e4546cc19ebf62b5178e/contourpy-1.3.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:69375194457ad0fad3a839b9e29aa0b0ed53bb54db1bfb6c3ae43d111c31ce41", size = 322015 }, - { url = "https://files.pythonhosted.org/packages/4d/e3/182383743751d22b7b59c3c753277b6aee3637049197624f333dac5b4c80/contourpy-1.3.0-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:7a52040312b1a858b5e31ef28c2e865376a386c60c0e248370bbea2d3f3b760d", size = 1262672 }, - { url = "https://files.pythonhosted.org/packages/78/53/974400c815b2e605f252c8fb9297e2204347d1755a5374354ee77b1ea259/contourpy-1.3.0-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:3faeb2998e4fcb256542e8a926d08da08977f7f5e62cf733f3c211c2a5586223", size = 1321688 }, - { url = "https://files.pythonhosted.org/packages/52/29/99f849faed5593b2926a68a31882af98afbeac39c7fdf7de491d9c85ec6a/contourpy-1.3.0-cp310-cp310-win32.whl", hash = "sha256:36e0cff201bcb17a0a8ecc7f454fe078437fa6bda730e695a92f2d9932bd507f", size = 171145 }, - { url = "https://files.pythonhosted.org/packages/a9/97/3f89bba79ff6ff2b07a3cbc40aa693c360d5efa90d66e914f0ff03b95ec7/contourpy-1.3.0-cp310-cp310-win_amd64.whl", hash = "sha256:87ddffef1dbe5e669b5c2440b643d3fdd8622a348fe1983fad7a0f0ccb1cd67b", size = 216019 }, - { url = "https://files.pythonhosted.org/packages/b3/1f/9375917786cb39270b0ee6634536c0e22abf225825602688990d8f5c6c19/contourpy-1.3.0-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:0fa4c02abe6c446ba70d96ece336e621efa4aecae43eaa9b030ae5fb92b309ad", size = 266356 }, - { url = "https://files.pythonhosted.org/packages/05/46/9256dd162ea52790c127cb58cfc3b9e3413a6e3478917d1f811d420772ec/contourpy-1.3.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:834e0cfe17ba12f79963861e0f908556b2cedd52e1f75e6578801febcc6a9f49", size = 250915 }, - { url = "https://files.pythonhosted.org/packages/e1/5d/3056c167fa4486900dfbd7e26a2fdc2338dc58eee36d490a0ed3ddda5ded/contourpy-1.3.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:dbc4c3217eee163fa3984fd1567632b48d6dfd29216da3ded3d7b844a8014a66", size = 310443 }, - { url = "https://files.pythonhosted.org/packages/ca/c2/1a612e475492e07f11c8e267ea5ec1ce0d89971be496c195e27afa97e14a/contourpy-1.3.0-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:4865cd1d419e0c7a7bf6de1777b185eebdc51470800a9f42b9e9decf17762081", size = 348548 }, - { url = "https://files.pythonhosted.org/packages/45/cf/2c2fc6bb5874158277b4faf136847f0689e1b1a1f640a36d76d52e78907c/contourpy-1.3.0-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:303c252947ab4b14c08afeb52375b26781ccd6a5ccd81abcdfc1fafd14cf93c1", size = 319118 }, - { url = "https://files.pythonhosted.org/packages/03/33/003065374f38894cdf1040cef474ad0546368eea7e3a51d48b8a423961f8/contourpy-1.3.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:637f674226be46f6ba372fd29d9523dd977a291f66ab2a74fbeb5530bb3f445d", size = 323162 }, - { url = "https://files.pythonhosted.org/packages/42/80/e637326e85e4105a802e42959f56cff2cd39a6b5ef68d5d9aee3ea5f0e4c/contourpy-1.3.0-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:76a896b2f195b57db25d6b44e7e03f221d32fe318d03ede41f8b4d9ba1bff53c", size = 1265396 }, - { url = "https://files.pythonhosted.org/packages/7c/3b/8cbd6416ca1bbc0202b50f9c13b2e0b922b64be888f9d9ee88e6cfabfb51/contourpy-1.3.0-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:e1fd23e9d01591bab45546c089ae89d926917a66dceb3abcf01f6105d927e2cb", size = 1324297 }, - { url = "https://files.pythonhosted.org/packages/4d/2c/021a7afaa52fe891f25535506cc861c30c3c4e5a1c1ce94215e04b293e72/contourpy-1.3.0-cp311-cp311-win32.whl", hash = "sha256:d402880b84df3bec6eab53cd0cf802cae6a2ef9537e70cf75e91618a3801c20c", size = 171808 }, - { url = "https://files.pythonhosted.org/packages/8d/2f/804f02ff30a7fae21f98198828d0857439ec4c91a96e20cf2d6c49372966/contourpy-1.3.0-cp311-cp311-win_amd64.whl", hash = "sha256:6cb6cc968059db9c62cb35fbf70248f40994dfcd7aa10444bbf8b3faeb7c2d67", size = 217181 }, - { url = "https://files.pythonhosted.org/packages/c9/92/8e0bbfe6b70c0e2d3d81272b58c98ac69ff1a4329f18c73bd64824d8b12e/contourpy-1.3.0-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:570ef7cf892f0afbe5b2ee410c507ce12e15a5fa91017a0009f79f7d93a1268f", size = 267838 }, - { url = "https://files.pythonhosted.org/packages/e3/04/33351c5d5108460a8ce6d512307690b023f0cfcad5899499f5c83b9d63b1/contourpy-1.3.0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:da84c537cb8b97d153e9fb208c221c45605f73147bd4cadd23bdae915042aad6", size = 251549 }, - { url = "https://files.pythonhosted.org/packages/51/3d/aa0fe6ae67e3ef9f178389e4caaaa68daf2f9024092aa3c6032e3d174670/contourpy-1.3.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:0be4d8425bfa755e0fd76ee1e019636ccc7c29f77a7c86b4328a9eb6a26d0639", size = 303177 }, - { url = "https://files.pythonhosted.org/packages/56/c3/c85a7e3e0cab635575d3b657f9535443a6f5d20fac1a1911eaa4bbe1aceb/contourpy-1.3.0-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:9c0da700bf58f6e0b65312d0a5e695179a71d0163957fa381bb3c1f72972537c", size = 341735 }, - { url = "https://files.pythonhosted.org/packages/dd/8d/20f7a211a7be966a53f474bc90b1a8202e9844b3f1ef85f3ae45a77151ee/contourpy-1.3.0-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:eb8b141bb00fa977d9122636b16aa67d37fd40a3d8b52dd837e536d64b9a4d06", size = 314679 }, - { url = "https://files.pythonhosted.org/packages/6e/be/524e377567defac0e21a46e2a529652d165fed130a0d8a863219303cee18/contourpy-1.3.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:3634b5385c6716c258d0419c46d05c8aa7dc8cb70326c9a4fb66b69ad2b52e09", size = 320549 }, - { url = "https://files.pythonhosted.org/packages/0f/96/fdb2552a172942d888915f3a6663812e9bc3d359d53dafd4289a0fb462f0/contourpy-1.3.0-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:0dce35502151b6bd35027ac39ba6e5a44be13a68f55735c3612c568cac3805fd", size = 1263068 }, - { url = "https://files.pythonhosted.org/packages/2a/25/632eab595e3140adfa92f1322bf8915f68c932bac468e89eae9974cf1c00/contourpy-1.3.0-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:aea348f053c645100612b333adc5983d87be69acdc6d77d3169c090d3b01dc35", size = 1322833 }, - { url = "https://files.pythonhosted.org/packages/73/e3/69738782e315a1d26d29d71a550dbbe3eb6c653b028b150f70c1a5f4f229/contourpy-1.3.0-cp312-cp312-win32.whl", hash = "sha256:90f73a5116ad1ba7174341ef3ea5c3150ddf20b024b98fb0c3b29034752c8aeb", size = 172681 }, - { url = "https://files.pythonhosted.org/packages/0c/89/9830ba00d88e43d15e53d64931e66b8792b46eb25e2050a88fec4a0df3d5/contourpy-1.3.0-cp312-cp312-win_amd64.whl", hash = "sha256:b11b39aea6be6764f84360fce6c82211a9db32a7c7de8fa6dd5397cf1d079c3b", size = 218283 }, - { url = "https://files.pythonhosted.org/packages/53/a1/d20415febfb2267af2d7f06338e82171824d08614084714fb2c1dac9901f/contourpy-1.3.0-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:3e1c7fa44aaae40a2247e2e8e0627f4bea3dd257014764aa644f319a5f8600e3", size = 267879 }, - { url = "https://files.pythonhosted.org/packages/aa/45/5a28a3570ff6218d8bdfc291a272a20d2648104815f01f0177d103d985e1/contourpy-1.3.0-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:364174c2a76057feef647c802652f00953b575723062560498dc7930fc9b1cb7", size = 251573 }, - { url = "https://files.pythonhosted.org/packages/39/1c/d3f51540108e3affa84f095c8b04f0aa833bb797bc8baa218a952a98117d/contourpy-1.3.0-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:32b238b3b3b649e09ce9aaf51f0c261d38644bdfa35cbaf7b263457850957a84", size = 303184 }, - { url = "https://files.pythonhosted.org/packages/00/56/1348a44fb6c3a558c1a3a0cd23d329d604c99d81bf5a4b58c6b71aab328f/contourpy-1.3.0-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:d51fca85f9f7ad0b65b4b9fe800406d0d77017d7270d31ec3fb1cc07358fdea0", size = 340262 }, - { url = "https://files.pythonhosted.org/packages/2b/23/00d665ba67e1bb666152131da07e0f24c95c3632d7722caa97fb61470eca/contourpy-1.3.0-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:732896af21716b29ab3e988d4ce14bc5133733b85956316fb0c56355f398099b", size = 313806 }, - { url = "https://files.pythonhosted.org/packages/5a/42/3cf40f7040bb8362aea19af9a5fb7b32ce420f645dd1590edcee2c657cd5/contourpy-1.3.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:d73f659398a0904e125280836ae6f88ba9b178b2fed6884f3b1f95b989d2c8da", size = 319710 }, - { url = "https://files.pythonhosted.org/packages/05/32/f3bfa3fc083b25e1a7ae09197f897476ee68e7386e10404bdf9aac7391f0/contourpy-1.3.0-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:c6c7c2408b7048082932cf4e641fa3b8ca848259212f51c8c59c45aa7ac18f14", size = 1264107 }, - { url = "https://files.pythonhosted.org/packages/1c/1e/1019d34473a736664f2439542b890b2dc4c6245f5c0d8cdfc0ccc2cab80c/contourpy-1.3.0-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:f317576606de89da6b7e0861cf6061f6146ead3528acabff9236458a6ba467f8", size = 1322458 }, - { url = "https://files.pythonhosted.org/packages/22/85/4f8bfd83972cf8909a4d36d16b177f7b8bdd942178ea4bf877d4a380a91c/contourpy-1.3.0-cp313-cp313-win32.whl", hash = "sha256:31cd3a85dbdf1fc002280c65caa7e2b5f65e4a973fcdf70dd2fdcb9868069294", size = 172643 }, - { url = "https://files.pythonhosted.org/packages/cc/4a/fb3c83c1baba64ba90443626c228ca14f19a87c51975d3b1de308dd2cf08/contourpy-1.3.0-cp313-cp313-win_amd64.whl", hash = "sha256:4553c421929ec95fb07b3aaca0fae668b2eb5a5203d1217ca7c34c063c53d087", size = 218301 }, - { url = "https://files.pythonhosted.org/packages/76/65/702f4064f397821fea0cb493f7d3bc95a5d703e20954dce7d6d39bacf378/contourpy-1.3.0-cp313-cp313t-macosx_10_13_x86_64.whl", hash = "sha256:345af746d7766821d05d72cb8f3845dfd08dd137101a2cb9b24de277d716def8", size = 278972 }, - { url = "https://files.pythonhosted.org/packages/80/85/21f5bba56dba75c10a45ec00ad3b8190dbac7fd9a8a8c46c6116c933e9cf/contourpy-1.3.0-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:3bb3808858a9dc68f6f03d319acd5f1b8a337e6cdda197f02f4b8ff67ad2057b", size = 263375 }, - { url = "https://files.pythonhosted.org/packages/0a/64/084c86ab71d43149f91ab3a4054ccf18565f0a8af36abfa92b1467813ed6/contourpy-1.3.0-cp313-cp313t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:420d39daa61aab1221567b42eecb01112908b2cab7f1b4106a52caaec8d36973", size = 307188 }, - { url = "https://files.pythonhosted.org/packages/3d/ff/d61a4c288dc42da0084b8d9dc2aa219a850767165d7d9a9c364ff530b509/contourpy-1.3.0-cp313-cp313t-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:4d63ee447261e963af02642ffcb864e5a2ee4cbfd78080657a9880b8b1868e18", size = 345644 }, - { url = "https://files.pythonhosted.org/packages/ca/aa/00d2313d35ec03f188e8f0786c2fc61f589306e02fdc158233697546fd58/contourpy-1.3.0-cp313-cp313t-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:167d6c890815e1dac9536dca00828b445d5d0df4d6a8c6adb4a7ec3166812fa8", size = 317141 }, - { url = "https://files.pythonhosted.org/packages/8d/6a/b5242c8cb32d87f6abf4f5e3044ca397cb1a76712e3fa2424772e3ff495f/contourpy-1.3.0-cp313-cp313t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:710a26b3dc80c0e4febf04555de66f5fd17e9cf7170a7b08000601a10570bda6", size = 323469 }, - { url = "https://files.pythonhosted.org/packages/6f/a6/73e929d43028a9079aca4bde107494864d54f0d72d9db508a51ff0878593/contourpy-1.3.0-cp313-cp313t-musllinux_1_2_aarch64.whl", hash = "sha256:75ee7cb1a14c617f34a51d11fa7524173e56551646828353c4af859c56b766e2", size = 1260894 }, - { url = "https://files.pythonhosted.org/packages/2b/1e/1e726ba66eddf21c940821df8cf1a7d15cb165f0682d62161eaa5e93dae1/contourpy-1.3.0-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:33c92cdae89ec5135d036e7218e69b0bb2851206077251f04a6c4e0e21f03927", size = 1314829 }, - { url = "https://files.pythonhosted.org/packages/b3/e3/b9f72758adb6ef7397327ceb8b9c39c75711affb220e4f53c745ea1d5a9a/contourpy-1.3.0-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:a11077e395f67ffc2c44ec2418cfebed032cd6da3022a94fc227b6faf8e2acb8", size = 265518 }, - { url = "https://files.pythonhosted.org/packages/ec/22/19f5b948367ab5260fb41d842c7a78dae645603881ea6bc39738bcfcabf6/contourpy-1.3.0-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:e8134301d7e204c88ed7ab50028ba06c683000040ede1d617298611f9dc6240c", size = 249350 }, - { url = "https://files.pythonhosted.org/packages/26/76/0c7d43263dd00ae21a91a24381b7e813d286a3294d95d179ef3a7b9fb1d7/contourpy-1.3.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:e12968fdfd5bb45ffdf6192a590bd8ddd3ba9e58360b29683c6bb71a7b41edca", size = 309167 }, - { url = "https://files.pythonhosted.org/packages/96/3b/cadff6773e89f2a5a492c1a8068e21d3fccaf1a1c1df7d65e7c8e3ef60ba/contourpy-1.3.0-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:fd2a0fc506eccaaa7595b7e1418951f213cf8255be2600f1ea1b61e46a60c55f", size = 348279 }, - { url = "https://files.pythonhosted.org/packages/e1/86/158cc43aa549d2081a955ab11c6bdccc7a22caacc2af93186d26f5f48746/contourpy-1.3.0-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:4cfb5c62ce023dfc410d6059c936dcf96442ba40814aefbfa575425a3a7f19dc", size = 318519 }, - { url = "https://files.pythonhosted.org/packages/05/11/57335544a3027e9b96a05948c32e566328e3a2f84b7b99a325b7a06d2b06/contourpy-1.3.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:68a32389b06b82c2fdd68276148d7b9275b5f5cf13e5417e4252f6d1a34f72a2", size = 321922 }, - { url = "https://files.pythonhosted.org/packages/0b/e3/02114f96543f4a1b694333b92a6dcd4f8eebbefcc3a5f3bbb1316634178f/contourpy-1.3.0-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:94e848a6b83da10898cbf1311a815f770acc9b6a3f2d646f330d57eb4e87592e", size = 1258017 }, - { url = "https://files.pythonhosted.org/packages/f3/3b/bfe4c81c6d5881c1c643dde6620be0b42bf8aab155976dd644595cfab95c/contourpy-1.3.0-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:d78ab28a03c854a873787a0a42254a0ccb3cb133c672f645c9f9c8f3ae9d0800", size = 1316773 }, - { url = "https://files.pythonhosted.org/packages/f1/17/c52d2970784383cafb0bd918b6fb036d98d96bbf0bc1befb5d1e31a07a70/contourpy-1.3.0-cp39-cp39-win32.whl", hash = "sha256:81cb5ed4952aae6014bc9d0421dec7c5835c9c8c31cdf51910b708f548cf58e5", size = 171353 }, - { url = "https://files.pythonhosted.org/packages/53/23/db9f69676308e094d3c45f20cc52e12d10d64f027541c995d89c11ad5c75/contourpy-1.3.0-cp39-cp39-win_amd64.whl", hash = "sha256:14e262f67bd7e6eb6880bc564dcda30b15e351a594657e55b7eec94b6ef72843", size = 211817 }, - { url = "https://files.pythonhosted.org/packages/d1/09/60e486dc2b64c94ed33e58dcfb6f808192c03dfc5574c016218b9b7680dc/contourpy-1.3.0-pp310-pypy310_pp73-macosx_10_15_x86_64.whl", hash = "sha256:fe41b41505a5a33aeaed2a613dccaeaa74e0e3ead6dd6fd3a118fb471644fd6c", size = 261886 }, - { url = "https://files.pythonhosted.org/packages/19/20/b57f9f7174fcd439a7789fb47d764974ab646fa34d1790551de386457a8e/contourpy-1.3.0-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:eca7e17a65f72a5133bdbec9ecf22401c62bcf4821361ef7811faee695799779", size = 311008 }, - { url = "https://files.pythonhosted.org/packages/74/fc/5040d42623a1845d4f17a418e590fd7a79ae8cb2bad2b2f83de63c3bdca4/contourpy-1.3.0-pp310-pypy310_pp73-win_amd64.whl", hash = "sha256:1ec4dc6bf570f5b22ed0d7efba0dfa9c5b9e0431aeea7581aa217542d9e809a4", size = 215690 }, - { url = "https://files.pythonhosted.org/packages/2b/24/dc3dcd77ac7460ab7e9d2b01a618cb31406902e50e605a8d6091f0a8f7cc/contourpy-1.3.0-pp39-pypy39_pp73-macosx_10_15_x86_64.whl", hash = "sha256:00ccd0dbaad6d804ab259820fa7cb0b8036bda0686ef844d24125d8287178ce0", size = 261894 }, - { url = "https://files.pythonhosted.org/packages/b1/db/531642a01cfec39d1682e46b5457b07cf805e3c3c584ec27e2a6223f8f6c/contourpy-1.3.0-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:8ca947601224119117f7c19c9cdf6b3ab54c5726ef1d906aa4a69dfb6dd58102", size = 311099 }, - { url = "https://files.pythonhosted.org/packages/38/1e/94bda024d629f254143a134eead69e21c836429a2a6ce82209a00ddcb79a/contourpy-1.3.0-pp39-pypy39_pp73-win_amd64.whl", hash = "sha256:c6ec93afeb848a0845a18989da3beca3eec2c0f852322efe21af1931147d12cb", size = 215838 }, +sdist = { url = "https://files.pythonhosted.org/packages/f5/f6/31a8f28b4a2a4fa0e01085e542f3081ab0588eff8e589d39d775172c9792/contourpy-1.3.0.tar.gz", hash = "sha256:7ffa0db17717a8ffb127efd0c95a4362d996b892c2904db72428d5b52e1938a4", size = 13464370, upload-time = "2024-08-27T21:00:03.328Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/6c/e0/be8dcc796cfdd96708933e0e2da99ba4bb8f9b2caa9d560a50f3f09a65f3/contourpy-1.3.0-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:880ea32e5c774634f9fcd46504bf9f080a41ad855f4fef54f5380f5133d343c7", size = 265366, upload-time = "2024-08-27T20:50:09.947Z" }, + { url = "https://files.pythonhosted.org/packages/50/d6/c953b400219443535d412fcbbc42e7a5e823291236bc0bb88936e3cc9317/contourpy-1.3.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:76c905ef940a4474a6289c71d53122a4f77766eef23c03cd57016ce19d0f7b42", size = 249226, upload-time = "2024-08-27T20:50:16.1Z" }, + { url = "https://files.pythonhosted.org/packages/6f/b4/6fffdf213ffccc28483c524b9dad46bb78332851133b36ad354b856ddc7c/contourpy-1.3.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:92f8557cbb07415a4d6fa191f20fd9d2d9eb9c0b61d1b2f52a8926e43c6e9af7", size = 308460, upload-time = "2024-08-27T20:50:22.536Z" }, + { url = "https://files.pythonhosted.org/packages/cf/6c/118fc917b4050f0afe07179a6dcbe4f3f4ec69b94f36c9e128c4af480fb8/contourpy-1.3.0-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:36f965570cff02b874773c49bfe85562b47030805d7d8360748f3eca570f4cab", size = 347623, upload-time = "2024-08-27T20:50:28.806Z" }, + { url = "https://files.pythonhosted.org/packages/f9/a4/30ff110a81bfe3abf7b9673284d21ddce8cc1278f6f77393c91199da4c90/contourpy-1.3.0-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:cacd81e2d4b6f89c9f8a5b69b86490152ff39afc58a95af002a398273e5ce589", size = 317761, upload-time = "2024-08-27T20:50:35.126Z" }, + { url = "https://files.pythonhosted.org/packages/99/e6/d11966962b1aa515f5586d3907ad019f4b812c04e4546cc19ebf62b5178e/contourpy-1.3.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:69375194457ad0fad3a839b9e29aa0b0ed53bb54db1bfb6c3ae43d111c31ce41", size = 322015, upload-time = "2024-08-27T20:50:40.318Z" }, + { url = "https://files.pythonhosted.org/packages/4d/e3/182383743751d22b7b59c3c753277b6aee3637049197624f333dac5b4c80/contourpy-1.3.0-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:7a52040312b1a858b5e31ef28c2e865376a386c60c0e248370bbea2d3f3b760d", size = 1262672, upload-time = "2024-08-27T20:50:55.643Z" }, + { url = "https://files.pythonhosted.org/packages/78/53/974400c815b2e605f252c8fb9297e2204347d1755a5374354ee77b1ea259/contourpy-1.3.0-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:3faeb2998e4fcb256542e8a926d08da08977f7f5e62cf733f3c211c2a5586223", size = 1321688, upload-time = "2024-08-27T20:51:11.293Z" }, + { url = "https://files.pythonhosted.org/packages/52/29/99f849faed5593b2926a68a31882af98afbeac39c7fdf7de491d9c85ec6a/contourpy-1.3.0-cp310-cp310-win32.whl", hash = "sha256:36e0cff201bcb17a0a8ecc7f454fe078437fa6bda730e695a92f2d9932bd507f", size = 171145, upload-time = "2024-08-27T20:51:15.2Z" }, + { url = "https://files.pythonhosted.org/packages/a9/97/3f89bba79ff6ff2b07a3cbc40aa693c360d5efa90d66e914f0ff03b95ec7/contourpy-1.3.0-cp310-cp310-win_amd64.whl", hash = "sha256:87ddffef1dbe5e669b5c2440b643d3fdd8622a348fe1983fad7a0f0ccb1cd67b", size = 216019, upload-time = "2024-08-27T20:51:19.365Z" }, + { url = "https://files.pythonhosted.org/packages/b3/1f/9375917786cb39270b0ee6634536c0e22abf225825602688990d8f5c6c19/contourpy-1.3.0-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:0fa4c02abe6c446ba70d96ece336e621efa4aecae43eaa9b030ae5fb92b309ad", size = 266356, upload-time = "2024-08-27T20:51:24.146Z" }, + { url = "https://files.pythonhosted.org/packages/05/46/9256dd162ea52790c127cb58cfc3b9e3413a6e3478917d1f811d420772ec/contourpy-1.3.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:834e0cfe17ba12f79963861e0f908556b2cedd52e1f75e6578801febcc6a9f49", size = 250915, upload-time = "2024-08-27T20:51:28.683Z" }, + { url = "https://files.pythonhosted.org/packages/e1/5d/3056c167fa4486900dfbd7e26a2fdc2338dc58eee36d490a0ed3ddda5ded/contourpy-1.3.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:dbc4c3217eee163fa3984fd1567632b48d6dfd29216da3ded3d7b844a8014a66", size = 310443, upload-time = "2024-08-27T20:51:33.675Z" }, + { url = "https://files.pythonhosted.org/packages/ca/c2/1a612e475492e07f11c8e267ea5ec1ce0d89971be496c195e27afa97e14a/contourpy-1.3.0-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:4865cd1d419e0c7a7bf6de1777b185eebdc51470800a9f42b9e9decf17762081", size = 348548, upload-time = "2024-08-27T20:51:39.322Z" }, + { url = "https://files.pythonhosted.org/packages/45/cf/2c2fc6bb5874158277b4faf136847f0689e1b1a1f640a36d76d52e78907c/contourpy-1.3.0-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:303c252947ab4b14c08afeb52375b26781ccd6a5ccd81abcdfc1fafd14cf93c1", size = 319118, upload-time = "2024-08-27T20:51:44.717Z" }, + { url = "https://files.pythonhosted.org/packages/03/33/003065374f38894cdf1040cef474ad0546368eea7e3a51d48b8a423961f8/contourpy-1.3.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:637f674226be46f6ba372fd29d9523dd977a291f66ab2a74fbeb5530bb3f445d", size = 323162, upload-time = "2024-08-27T20:51:49.683Z" }, + { url = "https://files.pythonhosted.org/packages/42/80/e637326e85e4105a802e42959f56cff2cd39a6b5ef68d5d9aee3ea5f0e4c/contourpy-1.3.0-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:76a896b2f195b57db25d6b44e7e03f221d32fe318d03ede41f8b4d9ba1bff53c", size = 1265396, upload-time = "2024-08-27T20:52:04.926Z" }, + { url = "https://files.pythonhosted.org/packages/7c/3b/8cbd6416ca1bbc0202b50f9c13b2e0b922b64be888f9d9ee88e6cfabfb51/contourpy-1.3.0-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:e1fd23e9d01591bab45546c089ae89d926917a66dceb3abcf01f6105d927e2cb", size = 1324297, upload-time = "2024-08-27T20:52:21.843Z" }, + { url = "https://files.pythonhosted.org/packages/4d/2c/021a7afaa52fe891f25535506cc861c30c3c4e5a1c1ce94215e04b293e72/contourpy-1.3.0-cp311-cp311-win32.whl", hash = "sha256:d402880b84df3bec6eab53cd0cf802cae6a2ef9537e70cf75e91618a3801c20c", size = 171808, upload-time = "2024-08-27T20:52:25.163Z" }, + { url = "https://files.pythonhosted.org/packages/8d/2f/804f02ff30a7fae21f98198828d0857439ec4c91a96e20cf2d6c49372966/contourpy-1.3.0-cp311-cp311-win_amd64.whl", hash = "sha256:6cb6cc968059db9c62cb35fbf70248f40994dfcd7aa10444bbf8b3faeb7c2d67", size = 217181, upload-time = "2024-08-27T20:52:29.13Z" }, + { url = "https://files.pythonhosted.org/packages/c9/92/8e0bbfe6b70c0e2d3d81272b58c98ac69ff1a4329f18c73bd64824d8b12e/contourpy-1.3.0-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:570ef7cf892f0afbe5b2ee410c507ce12e15a5fa91017a0009f79f7d93a1268f", size = 267838, upload-time = "2024-08-27T20:52:33.911Z" }, + { url = "https://files.pythonhosted.org/packages/e3/04/33351c5d5108460a8ce6d512307690b023f0cfcad5899499f5c83b9d63b1/contourpy-1.3.0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:da84c537cb8b97d153e9fb208c221c45605f73147bd4cadd23bdae915042aad6", size = 251549, upload-time = "2024-08-27T20:52:39.179Z" }, + { url = "https://files.pythonhosted.org/packages/51/3d/aa0fe6ae67e3ef9f178389e4caaaa68daf2f9024092aa3c6032e3d174670/contourpy-1.3.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:0be4d8425bfa755e0fd76ee1e019636ccc7c29f77a7c86b4328a9eb6a26d0639", size = 303177, upload-time = "2024-08-27T20:52:44.789Z" }, + { url = "https://files.pythonhosted.org/packages/56/c3/c85a7e3e0cab635575d3b657f9535443a6f5d20fac1a1911eaa4bbe1aceb/contourpy-1.3.0-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:9c0da700bf58f6e0b65312d0a5e695179a71d0163957fa381bb3c1f72972537c", size = 341735, upload-time = "2024-08-27T20:52:51.05Z" }, + { url = "https://files.pythonhosted.org/packages/dd/8d/20f7a211a7be966a53f474bc90b1a8202e9844b3f1ef85f3ae45a77151ee/contourpy-1.3.0-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:eb8b141bb00fa977d9122636b16aa67d37fd40a3d8b52dd837e536d64b9a4d06", size = 314679, upload-time = "2024-08-27T20:52:58.473Z" }, + { url = "https://files.pythonhosted.org/packages/6e/be/524e377567defac0e21a46e2a529652d165fed130a0d8a863219303cee18/contourpy-1.3.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:3634b5385c6716c258d0419c46d05c8aa7dc8cb70326c9a4fb66b69ad2b52e09", size = 320549, upload-time = "2024-08-27T20:53:06.593Z" }, + { url = "https://files.pythonhosted.org/packages/0f/96/fdb2552a172942d888915f3a6663812e9bc3d359d53dafd4289a0fb462f0/contourpy-1.3.0-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:0dce35502151b6bd35027ac39ba6e5a44be13a68f55735c3612c568cac3805fd", size = 1263068, upload-time = "2024-08-27T20:53:23.442Z" }, + { url = "https://files.pythonhosted.org/packages/2a/25/632eab595e3140adfa92f1322bf8915f68c932bac468e89eae9974cf1c00/contourpy-1.3.0-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:aea348f053c645100612b333adc5983d87be69acdc6d77d3169c090d3b01dc35", size = 1322833, upload-time = "2024-08-27T20:53:39.243Z" }, + { url = "https://files.pythonhosted.org/packages/73/e3/69738782e315a1d26d29d71a550dbbe3eb6c653b028b150f70c1a5f4f229/contourpy-1.3.0-cp312-cp312-win32.whl", hash = "sha256:90f73a5116ad1ba7174341ef3ea5c3150ddf20b024b98fb0c3b29034752c8aeb", size = 172681, upload-time = "2024-08-27T20:53:43.05Z" }, + { url = "https://files.pythonhosted.org/packages/0c/89/9830ba00d88e43d15e53d64931e66b8792b46eb25e2050a88fec4a0df3d5/contourpy-1.3.0-cp312-cp312-win_amd64.whl", hash = "sha256:b11b39aea6be6764f84360fce6c82211a9db32a7c7de8fa6dd5397cf1d079c3b", size = 218283, upload-time = "2024-08-27T20:53:47.232Z" }, + { url = "https://files.pythonhosted.org/packages/53/a1/d20415febfb2267af2d7f06338e82171824d08614084714fb2c1dac9901f/contourpy-1.3.0-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:3e1c7fa44aaae40a2247e2e8e0627f4bea3dd257014764aa644f319a5f8600e3", size = 267879, upload-time = "2024-08-27T20:53:51.597Z" }, + { url = "https://files.pythonhosted.org/packages/aa/45/5a28a3570ff6218d8bdfc291a272a20d2648104815f01f0177d103d985e1/contourpy-1.3.0-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:364174c2a76057feef647c802652f00953b575723062560498dc7930fc9b1cb7", size = 251573, upload-time = "2024-08-27T20:53:55.659Z" }, + { url = "https://files.pythonhosted.org/packages/39/1c/d3f51540108e3affa84f095c8b04f0aa833bb797bc8baa218a952a98117d/contourpy-1.3.0-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:32b238b3b3b649e09ce9aaf51f0c261d38644bdfa35cbaf7b263457850957a84", size = 303184, upload-time = "2024-08-27T20:54:00.225Z" }, + { url = "https://files.pythonhosted.org/packages/00/56/1348a44fb6c3a558c1a3a0cd23d329d604c99d81bf5a4b58c6b71aab328f/contourpy-1.3.0-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:d51fca85f9f7ad0b65b4b9fe800406d0d77017d7270d31ec3fb1cc07358fdea0", size = 340262, upload-time = "2024-08-27T20:54:05.234Z" }, + { url = "https://files.pythonhosted.org/packages/2b/23/00d665ba67e1bb666152131da07e0f24c95c3632d7722caa97fb61470eca/contourpy-1.3.0-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:732896af21716b29ab3e988d4ce14bc5133733b85956316fb0c56355f398099b", size = 313806, upload-time = "2024-08-27T20:54:09.889Z" }, + { url = "https://files.pythonhosted.org/packages/5a/42/3cf40f7040bb8362aea19af9a5fb7b32ce420f645dd1590edcee2c657cd5/contourpy-1.3.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:d73f659398a0904e125280836ae6f88ba9b178b2fed6884f3b1f95b989d2c8da", size = 319710, upload-time = "2024-08-27T20:54:14.536Z" }, + { url = "https://files.pythonhosted.org/packages/05/32/f3bfa3fc083b25e1a7ae09197f897476ee68e7386e10404bdf9aac7391f0/contourpy-1.3.0-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:c6c7c2408b7048082932cf4e641fa3b8ca848259212f51c8c59c45aa7ac18f14", size = 1264107, upload-time = "2024-08-27T20:54:29.735Z" }, + { url = "https://files.pythonhosted.org/packages/1c/1e/1019d34473a736664f2439542b890b2dc4c6245f5c0d8cdfc0ccc2cab80c/contourpy-1.3.0-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:f317576606de89da6b7e0861cf6061f6146ead3528acabff9236458a6ba467f8", size = 1322458, upload-time = "2024-08-27T20:54:45.507Z" }, + { url = "https://files.pythonhosted.org/packages/22/85/4f8bfd83972cf8909a4d36d16b177f7b8bdd942178ea4bf877d4a380a91c/contourpy-1.3.0-cp313-cp313-win32.whl", hash = "sha256:31cd3a85dbdf1fc002280c65caa7e2b5f65e4a973fcdf70dd2fdcb9868069294", size = 172643, upload-time = "2024-08-27T20:55:52.754Z" }, + { url = "https://files.pythonhosted.org/packages/cc/4a/fb3c83c1baba64ba90443626c228ca14f19a87c51975d3b1de308dd2cf08/contourpy-1.3.0-cp313-cp313-win_amd64.whl", hash = "sha256:4553c421929ec95fb07b3aaca0fae668b2eb5a5203d1217ca7c34c063c53d087", size = 218301, upload-time = "2024-08-27T20:55:56.509Z" }, + { url = "https://files.pythonhosted.org/packages/76/65/702f4064f397821fea0cb493f7d3bc95a5d703e20954dce7d6d39bacf378/contourpy-1.3.0-cp313-cp313t-macosx_10_13_x86_64.whl", hash = "sha256:345af746d7766821d05d72cb8f3845dfd08dd137101a2cb9b24de277d716def8", size = 278972, upload-time = "2024-08-27T20:54:50.347Z" }, + { url = "https://files.pythonhosted.org/packages/80/85/21f5bba56dba75c10a45ec00ad3b8190dbac7fd9a8a8c46c6116c933e9cf/contourpy-1.3.0-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:3bb3808858a9dc68f6f03d319acd5f1b8a337e6cdda197f02f4b8ff67ad2057b", size = 263375, upload-time = "2024-08-27T20:54:54.909Z" }, + { url = "https://files.pythonhosted.org/packages/0a/64/084c86ab71d43149f91ab3a4054ccf18565f0a8af36abfa92b1467813ed6/contourpy-1.3.0-cp313-cp313t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:420d39daa61aab1221567b42eecb01112908b2cab7f1b4106a52caaec8d36973", size = 307188, upload-time = "2024-08-27T20:55:00.184Z" }, + { url = "https://files.pythonhosted.org/packages/3d/ff/d61a4c288dc42da0084b8d9dc2aa219a850767165d7d9a9c364ff530b509/contourpy-1.3.0-cp313-cp313t-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:4d63ee447261e963af02642ffcb864e5a2ee4cbfd78080657a9880b8b1868e18", size = 345644, upload-time = "2024-08-27T20:55:05.673Z" }, + { url = "https://files.pythonhosted.org/packages/ca/aa/00d2313d35ec03f188e8f0786c2fc61f589306e02fdc158233697546fd58/contourpy-1.3.0-cp313-cp313t-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:167d6c890815e1dac9536dca00828b445d5d0df4d6a8c6adb4a7ec3166812fa8", size = 317141, upload-time = "2024-08-27T20:55:11.047Z" }, + { url = "https://files.pythonhosted.org/packages/8d/6a/b5242c8cb32d87f6abf4f5e3044ca397cb1a76712e3fa2424772e3ff495f/contourpy-1.3.0-cp313-cp313t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:710a26b3dc80c0e4febf04555de66f5fd17e9cf7170a7b08000601a10570bda6", size = 323469, upload-time = "2024-08-27T20:55:15.914Z" }, + { url = "https://files.pythonhosted.org/packages/6f/a6/73e929d43028a9079aca4bde107494864d54f0d72d9db508a51ff0878593/contourpy-1.3.0-cp313-cp313t-musllinux_1_2_aarch64.whl", hash = "sha256:75ee7cb1a14c617f34a51d11fa7524173e56551646828353c4af859c56b766e2", size = 1260894, upload-time = "2024-08-27T20:55:31.553Z" }, + { url = "https://files.pythonhosted.org/packages/2b/1e/1e726ba66eddf21c940821df8cf1a7d15cb165f0682d62161eaa5e93dae1/contourpy-1.3.0-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:33c92cdae89ec5135d036e7218e69b0bb2851206077251f04a6c4e0e21f03927", size = 1314829, upload-time = "2024-08-27T20:55:47.837Z" }, + { url = "https://files.pythonhosted.org/packages/b3/e3/b9f72758adb6ef7397327ceb8b9c39c75711affb220e4f53c745ea1d5a9a/contourpy-1.3.0-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:a11077e395f67ffc2c44ec2418cfebed032cd6da3022a94fc227b6faf8e2acb8", size = 265518, upload-time = "2024-08-27T20:56:01.333Z" }, + { url = "https://files.pythonhosted.org/packages/ec/22/19f5b948367ab5260fb41d842c7a78dae645603881ea6bc39738bcfcabf6/contourpy-1.3.0-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:e8134301d7e204c88ed7ab50028ba06c683000040ede1d617298611f9dc6240c", size = 249350, upload-time = "2024-08-27T20:56:05.432Z" }, + { url = "https://files.pythonhosted.org/packages/26/76/0c7d43263dd00ae21a91a24381b7e813d286a3294d95d179ef3a7b9fb1d7/contourpy-1.3.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:e12968fdfd5bb45ffdf6192a590bd8ddd3ba9e58360b29683c6bb71a7b41edca", size = 309167, upload-time = "2024-08-27T20:56:10.034Z" }, + { url = "https://files.pythonhosted.org/packages/96/3b/cadff6773e89f2a5a492c1a8068e21d3fccaf1a1c1df7d65e7c8e3ef60ba/contourpy-1.3.0-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:fd2a0fc506eccaaa7595b7e1418951f213cf8255be2600f1ea1b61e46a60c55f", size = 348279, upload-time = "2024-08-27T20:56:15.41Z" }, + { url = "https://files.pythonhosted.org/packages/e1/86/158cc43aa549d2081a955ab11c6bdccc7a22caacc2af93186d26f5f48746/contourpy-1.3.0-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:4cfb5c62ce023dfc410d6059c936dcf96442ba40814aefbfa575425a3a7f19dc", size = 318519, upload-time = "2024-08-27T20:56:21.813Z" }, + { url = "https://files.pythonhosted.org/packages/05/11/57335544a3027e9b96a05948c32e566328e3a2f84b7b99a325b7a06d2b06/contourpy-1.3.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:68a32389b06b82c2fdd68276148d7b9275b5f5cf13e5417e4252f6d1a34f72a2", size = 321922, upload-time = "2024-08-27T20:56:26.983Z" }, + { url = "https://files.pythonhosted.org/packages/0b/e3/02114f96543f4a1b694333b92a6dcd4f8eebbefcc3a5f3bbb1316634178f/contourpy-1.3.0-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:94e848a6b83da10898cbf1311a815f770acc9b6a3f2d646f330d57eb4e87592e", size = 1258017, upload-time = "2024-08-27T20:56:42.246Z" }, + { url = "https://files.pythonhosted.org/packages/f3/3b/bfe4c81c6d5881c1c643dde6620be0b42bf8aab155976dd644595cfab95c/contourpy-1.3.0-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:d78ab28a03c854a873787a0a42254a0ccb3cb133c672f645c9f9c8f3ae9d0800", size = 1316773, upload-time = "2024-08-27T20:56:58.58Z" }, + { url = "https://files.pythonhosted.org/packages/f1/17/c52d2970784383cafb0bd918b6fb036d98d96bbf0bc1befb5d1e31a07a70/contourpy-1.3.0-cp39-cp39-win32.whl", hash = "sha256:81cb5ed4952aae6014bc9d0421dec7c5835c9c8c31cdf51910b708f548cf58e5", size = 171353, upload-time = "2024-08-27T20:57:02.718Z" }, + { url = "https://files.pythonhosted.org/packages/53/23/db9f69676308e094d3c45f20cc52e12d10d64f027541c995d89c11ad5c75/contourpy-1.3.0-cp39-cp39-win_amd64.whl", hash = "sha256:14e262f67bd7e6eb6880bc564dcda30b15e351a594657e55b7eec94b6ef72843", size = 211817, upload-time = "2024-08-27T20:57:06.328Z" }, + { url = "https://files.pythonhosted.org/packages/d1/09/60e486dc2b64c94ed33e58dcfb6f808192c03dfc5574c016218b9b7680dc/contourpy-1.3.0-pp310-pypy310_pp73-macosx_10_15_x86_64.whl", hash = "sha256:fe41b41505a5a33aeaed2a613dccaeaa74e0e3ead6dd6fd3a118fb471644fd6c", size = 261886, upload-time = "2024-08-27T20:57:10.863Z" }, + { url = "https://files.pythonhosted.org/packages/19/20/b57f9f7174fcd439a7789fb47d764974ab646fa34d1790551de386457a8e/contourpy-1.3.0-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:eca7e17a65f72a5133bdbec9ecf22401c62bcf4821361ef7811faee695799779", size = 311008, upload-time = "2024-08-27T20:57:15.588Z" }, + { url = "https://files.pythonhosted.org/packages/74/fc/5040d42623a1845d4f17a418e590fd7a79ae8cb2bad2b2f83de63c3bdca4/contourpy-1.3.0-pp310-pypy310_pp73-win_amd64.whl", hash = "sha256:1ec4dc6bf570f5b22ed0d7efba0dfa9c5b9e0431aeea7581aa217542d9e809a4", size = 215690, upload-time = "2024-08-27T20:57:19.321Z" }, + { url = "https://files.pythonhosted.org/packages/2b/24/dc3dcd77ac7460ab7e9d2b01a618cb31406902e50e605a8d6091f0a8f7cc/contourpy-1.3.0-pp39-pypy39_pp73-macosx_10_15_x86_64.whl", hash = "sha256:00ccd0dbaad6d804ab259820fa7cb0b8036bda0686ef844d24125d8287178ce0", size = 261894, upload-time = "2024-08-27T20:57:23.873Z" }, + { url = "https://files.pythonhosted.org/packages/b1/db/531642a01cfec39d1682e46b5457b07cf805e3c3c584ec27e2a6223f8f6c/contourpy-1.3.0-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:8ca947601224119117f7c19c9cdf6b3ab54c5726ef1d906aa4a69dfb6dd58102", size = 311099, upload-time = "2024-08-27T20:57:28.58Z" }, + { url = "https://files.pythonhosted.org/packages/38/1e/94bda024d629f254143a134eead69e21c836429a2a6ce82209a00ddcb79a/contourpy-1.3.0-pp39-pypy39_pp73-win_amd64.whl", hash = "sha256:c6ec93afeb848a0845a18989da3beca3eec2c0f852322efe21af1931147d12cb", size = 215838, upload-time = "2024-08-27T20:57:32.913Z" }, ] [[package]] @@ -703,61 +703,61 @@ resolution-markers = [ dependencies = [ { name = "numpy", version = "2.2.2", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.10'" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/25/c2/fc7193cc5383637ff390a712e88e4ded0452c9fbcf84abe3de5ea3df1866/contourpy-1.3.1.tar.gz", hash = "sha256:dfd97abd83335045a913e3bcc4a09c0ceadbe66580cf573fe961f4a825efa699", size = 13465753 } -wheels = [ - { url = "https://files.pythonhosted.org/packages/b2/a3/80937fe3efe0edacf67c9a20b955139a1a622730042c1ea991956f2704ad/contourpy-1.3.1-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:a045f341a77b77e1c5de31e74e966537bba9f3c4099b35bf4c2e3939dd54cdab", size = 268466 }, - { url = "https://files.pythonhosted.org/packages/82/1d/e3eaebb4aa2d7311528c048350ca8e99cdacfafd99da87bc0a5f8d81f2c2/contourpy-1.3.1-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:500360b77259914f7805af7462e41f9cb7ca92ad38e9f94d6c8641b089338124", size = 253314 }, - { url = "https://files.pythonhosted.org/packages/de/f3/d796b22d1a2b587acc8100ba8c07fb7b5e17fde265a7bb05ab967f4c935a/contourpy-1.3.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:b2f926efda994cdf3c8d3fdb40b9962f86edbc4457e739277b961eced3d0b4c1", size = 312003 }, - { url = "https://files.pythonhosted.org/packages/bf/f5/0e67902bc4394daee8daa39c81d4f00b50e063ee1a46cb3938cc65585d36/contourpy-1.3.1-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:adce39d67c0edf383647a3a007de0a45fd1b08dedaa5318404f1a73059c2512b", size = 351896 }, - { url = "https://files.pythonhosted.org/packages/1f/d6/e766395723f6256d45d6e67c13bb638dd1fa9dc10ef912dc7dd3dcfc19de/contourpy-1.3.1-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:abbb49fb7dac584e5abc6636b7b2a7227111c4f771005853e7d25176daaf8453", size = 320814 }, - { url = "https://files.pythonhosted.org/packages/a9/57/86c500d63b3e26e5b73a28b8291a67c5608d4aa87ebd17bd15bb33c178bc/contourpy-1.3.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:a0cffcbede75c059f535725c1680dfb17b6ba8753f0c74b14e6a9c68c29d7ea3", size = 324969 }, - { url = "https://files.pythonhosted.org/packages/b8/62/bb146d1289d6b3450bccc4642e7f4413b92ebffd9bf2e91b0404323704a7/contourpy-1.3.1-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:ab29962927945d89d9b293eabd0d59aea28d887d4f3be6c22deaefbb938a7277", size = 1265162 }, - { url = "https://files.pythonhosted.org/packages/18/04/9f7d132ce49a212c8e767042cc80ae390f728060d2eea47058f55b9eff1c/contourpy-1.3.1-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:974d8145f8ca354498005b5b981165b74a195abfae9a8129df3e56771961d595", size = 1324328 }, - { url = "https://files.pythonhosted.org/packages/46/23/196813901be3f97c83ababdab1382e13e0edc0bb4e7b49a7bff15fcf754e/contourpy-1.3.1-cp310-cp310-win32.whl", hash = "sha256:ac4578ac281983f63b400f7fe6c101bedc10651650eef012be1ccffcbacf3697", size = 173861 }, - { url = "https://files.pythonhosted.org/packages/e0/82/c372be3fc000a3b2005061ca623a0d1ecd2eaafb10d9e883a2fc8566e951/contourpy-1.3.1-cp310-cp310-win_amd64.whl", hash = "sha256:174e758c66bbc1c8576992cec9599ce8b6672b741b5d336b5c74e35ac382b18e", size = 218566 }, - { url = "https://files.pythonhosted.org/packages/12/bb/11250d2906ee2e8b466b5f93e6b19d525f3e0254ac8b445b56e618527718/contourpy-1.3.1-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:3e8b974d8db2c5610fb4e76307e265de0edb655ae8169e8b21f41807ccbeec4b", size = 269555 }, - { url = "https://files.pythonhosted.org/packages/67/71/1e6e95aee21a500415f5d2dbf037bf4567529b6a4e986594d7026ec5ae90/contourpy-1.3.1-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:20914c8c973f41456337652a6eeca26d2148aa96dd7ac323b74516988bea89fc", size = 254549 }, - { url = "https://files.pythonhosted.org/packages/31/2c/b88986e8d79ac45efe9d8801ae341525f38e087449b6c2f2e6050468a42c/contourpy-1.3.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:19d40d37c1c3a4961b4619dd9d77b12124a453cc3d02bb31a07d58ef684d3d86", size = 313000 }, - { url = "https://files.pythonhosted.org/packages/c4/18/65280989b151fcf33a8352f992eff71e61b968bef7432fbfde3a364f0730/contourpy-1.3.1-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:113231fe3825ebf6f15eaa8bc1f5b0ddc19d42b733345eae0934cb291beb88b6", size = 352925 }, - { url = "https://files.pythonhosted.org/packages/f5/c7/5fd0146c93220dbfe1a2e0f98969293b86ca9bc041d6c90c0e065f4619ad/contourpy-1.3.1-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:4dbbc03a40f916a8420e420d63e96a1258d3d1b58cbdfd8d1f07b49fcbd38e85", size = 323693 }, - { url = "https://files.pythonhosted.org/packages/85/fc/7fa5d17daf77306840a4e84668a48ddff09e6bc09ba4e37e85ffc8e4faa3/contourpy-1.3.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:3a04ecd68acbd77fa2d39723ceca4c3197cb2969633836ced1bea14e219d077c", size = 326184 }, - { url = "https://files.pythonhosted.org/packages/ef/e7/104065c8270c7397c9571620d3ab880558957216f2b5ebb7e040f85eeb22/contourpy-1.3.1-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:c414fc1ed8ee1dbd5da626cf3710c6013d3d27456651d156711fa24f24bd1291", size = 1268031 }, - { url = "https://files.pythonhosted.org/packages/e2/4a/c788d0bdbf32c8113c2354493ed291f924d4793c4a2e85b69e737a21a658/contourpy-1.3.1-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:31c1b55c1f34f80557d3830d3dd93ba722ce7e33a0b472cba0ec3b6535684d8f", size = 1325995 }, - { url = "https://files.pythonhosted.org/packages/a6/e6/a2f351a90d955f8b0564caf1ebe4b1451a3f01f83e5e3a414055a5b8bccb/contourpy-1.3.1-cp311-cp311-win32.whl", hash = "sha256:f611e628ef06670df83fce17805c344710ca5cde01edfdc72751311da8585375", size = 174396 }, - { url = "https://files.pythonhosted.org/packages/a8/7e/cd93cab453720a5d6cb75588cc17dcdc08fc3484b9de98b885924ff61900/contourpy-1.3.1-cp311-cp311-win_amd64.whl", hash = "sha256:b2bdca22a27e35f16794cf585832e542123296b4687f9fd96822db6bae17bfc9", size = 219787 }, - { url = "https://files.pythonhosted.org/packages/37/6b/175f60227d3e7f5f1549fcb374592be311293132207e451c3d7c654c25fb/contourpy-1.3.1-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:0ffa84be8e0bd33410b17189f7164c3589c229ce5db85798076a3fa136d0e509", size = 271494 }, - { url = "https://files.pythonhosted.org/packages/6b/6a/7833cfae2c1e63d1d8875a50fd23371394f540ce809d7383550681a1fa64/contourpy-1.3.1-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:805617228ba7e2cbbfb6c503858e626ab528ac2a32a04a2fe88ffaf6b02c32bc", size = 255444 }, - { url = "https://files.pythonhosted.org/packages/7f/b3/7859efce66eaca5c14ba7619791b084ed02d868d76b928ff56890d2d059d/contourpy-1.3.1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:ade08d343436a94e633db932e7e8407fe7de8083967962b46bdfc1b0ced39454", size = 307628 }, - { url = "https://files.pythonhosted.org/packages/48/b2/011415f5e3f0a50b1e285a0bf78eb5d92a4df000553570f0851b6e309076/contourpy-1.3.1-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:47734d7073fb4590b4a40122b35917cd77be5722d80683b249dac1de266aac80", size = 347271 }, - { url = "https://files.pythonhosted.org/packages/84/7d/ef19b1db0f45b151ac78c65127235239a8cf21a59d1ce8507ce03e89a30b/contourpy-1.3.1-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:2ba94a401342fc0f8b948e57d977557fbf4d515f03c67682dd5c6191cb2d16ec", size = 318906 }, - { url = "https://files.pythonhosted.org/packages/ba/99/6794142b90b853a9155316c8f470d2e4821fe6f086b03e372aca848227dd/contourpy-1.3.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:efa874e87e4a647fd2e4f514d5e91c7d493697127beb95e77d2f7561f6905bd9", size = 323622 }, - { url = "https://files.pythonhosted.org/packages/3c/0f/37d2c84a900cd8eb54e105f4fa9aebd275e14e266736778bb5dccbf3bbbb/contourpy-1.3.1-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:1bf98051f1045b15c87868dbaea84f92408337d4f81d0e449ee41920ea121d3b", size = 1266699 }, - { url = "https://files.pythonhosted.org/packages/3a/8a/deb5e11dc7d9cc8f0f9c8b29d4f062203f3af230ba83c30a6b161a6effc9/contourpy-1.3.1-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:61332c87493b00091423e747ea78200659dc09bdf7fd69edd5e98cef5d3e9a8d", size = 1326395 }, - { url = "https://files.pythonhosted.org/packages/1a/35/7e267ae7c13aaf12322ccc493531f1e7f2eb8fba2927b9d7a05ff615df7a/contourpy-1.3.1-cp312-cp312-win32.whl", hash = "sha256:e914a8cb05ce5c809dd0fe350cfbb4e881bde5e2a38dc04e3afe1b3e58bd158e", size = 175354 }, - { url = "https://files.pythonhosted.org/packages/a1/35/c2de8823211d07e8a79ab018ef03960716c5dff6f4d5bff5af87fd682992/contourpy-1.3.1-cp312-cp312-win_amd64.whl", hash = "sha256:08d9d449a61cf53033612cb368f3a1b26cd7835d9b8cd326647efe43bca7568d", size = 220971 }, - { url = "https://files.pythonhosted.org/packages/9a/e7/de62050dce687c5e96f946a93546910bc67e483fe05324439e329ff36105/contourpy-1.3.1-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:a761d9ccfc5e2ecd1bf05534eda382aa14c3e4f9205ba5b1684ecfe400716ef2", size = 271548 }, - { url = "https://files.pythonhosted.org/packages/78/4d/c2a09ae014ae984c6bdd29c11e74d3121b25eaa117eca0bb76340efd7e1c/contourpy-1.3.1-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:523a8ee12edfa36f6d2a49407f705a6ef4c5098de4f498619787e272de93f2d5", size = 255576 }, - { url = "https://files.pythonhosted.org/packages/ab/8a/915380ee96a5638bda80cd061ccb8e666bfdccea38d5741cb69e6dbd61fc/contourpy-1.3.1-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:ece6df05e2c41bd46776fbc712e0996f7c94e0d0543af1656956d150c4ca7c81", size = 306635 }, - { url = "https://files.pythonhosted.org/packages/29/5c/c83ce09375428298acd4e6582aeb68b1e0d1447f877fa993d9bf6cd3b0a0/contourpy-1.3.1-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:573abb30e0e05bf31ed067d2f82500ecfdaec15627a59d63ea2d95714790f5c2", size = 345925 }, - { url = "https://files.pythonhosted.org/packages/29/63/5b52f4a15e80c66c8078a641a3bfacd6e07106835682454647aca1afc852/contourpy-1.3.1-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:a9fa36448e6a3a1a9a2ba23c02012c43ed88905ec80163f2ffe2421c7192a5d7", size = 318000 }, - { url = "https://files.pythonhosted.org/packages/9a/e2/30ca086c692691129849198659bf0556d72a757fe2769eb9620a27169296/contourpy-1.3.1-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:3ea9924d28fc5586bf0b42d15f590b10c224117e74409dd7a0be3b62b74a501c", size = 322689 }, - { url = "https://files.pythonhosted.org/packages/6b/77/f37812ef700f1f185d348394debf33f22d531e714cf6a35d13d68a7003c7/contourpy-1.3.1-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:5b75aa69cb4d6f137b36f7eb2ace9280cfb60c55dc5f61c731fdf6f037f958a3", size = 1268413 }, - { url = "https://files.pythonhosted.org/packages/3f/6d/ce84e79cdd128542ebeb268f84abb4b093af78e7f8ec504676673d2675bc/contourpy-1.3.1-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:041b640d4ec01922083645a94bb3b2e777e6b626788f4095cf21abbe266413c1", size = 1326530 }, - { url = "https://files.pythonhosted.org/packages/72/22/8282f4eae20c73c89bee7a82a19c4e27af9b57bb602ecaa00713d5bdb54d/contourpy-1.3.1-cp313-cp313-win32.whl", hash = "sha256:36987a15e8ace5f58d4d5da9dca82d498c2bbb28dff6e5d04fbfcc35a9cb3a82", size = 175315 }, - { url = "https://files.pythonhosted.org/packages/e3/d5/28bca491f65312b438fbf076589dcde7f6f966b196d900777f5811b9c4e2/contourpy-1.3.1-cp313-cp313-win_amd64.whl", hash = "sha256:a7895f46d47671fa7ceec40f31fae721da51ad34bdca0bee83e38870b1f47ffd", size = 220987 }, - { url = "https://files.pythonhosted.org/packages/2f/24/a4b285d6adaaf9746e4700932f579f1a7b6f9681109f694cfa233ae75c4e/contourpy-1.3.1-cp313-cp313t-macosx_10_13_x86_64.whl", hash = "sha256:9ddeb796389dadcd884c7eb07bd14ef12408aaae358f0e2ae24114d797eede30", size = 285001 }, - { url = "https://files.pythonhosted.org/packages/48/1d/fb49a401b5ca4f06ccf467cd6c4f1fd65767e63c21322b29b04ec40b40b9/contourpy-1.3.1-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:19c1555a6801c2f084c7ddc1c6e11f02eb6a6016ca1318dd5452ba3f613a1751", size = 268553 }, - { url = "https://files.pythonhosted.org/packages/79/1e/4aef9470d13fd029087388fae750dccb49a50c012a6c8d1d634295caa644/contourpy-1.3.1-cp313-cp313t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:841ad858cff65c2c04bf93875e384ccb82b654574a6d7f30453a04f04af71342", size = 310386 }, - { url = "https://files.pythonhosted.org/packages/b0/34/910dc706ed70153b60392b5305c708c9810d425bde12499c9184a1100888/contourpy-1.3.1-cp313-cp313t-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:4318af1c925fb9a4fb190559ef3eec206845f63e80fb603d47f2d6d67683901c", size = 349806 }, - { url = "https://files.pythonhosted.org/packages/31/3c/faee6a40d66d7f2a87f7102236bf4780c57990dd7f98e5ff29881b1b1344/contourpy-1.3.1-cp313-cp313t-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:14c102b0eab282427b662cb590f2e9340a9d91a1c297f48729431f2dcd16e14f", size = 321108 }, - { url = "https://files.pythonhosted.org/packages/17/69/390dc9b20dd4bb20585651d7316cc3054b7d4a7b4f8b710b2b698e08968d/contourpy-1.3.1-cp313-cp313t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:05e806338bfeaa006acbdeba0ad681a10be63b26e1b17317bfac3c5d98f36cda", size = 327291 }, - { url = "https://files.pythonhosted.org/packages/ef/74/7030b67c4e941fe1e5424a3d988080e83568030ce0355f7c9fc556455b01/contourpy-1.3.1-cp313-cp313t-musllinux_1_2_aarch64.whl", hash = "sha256:4d76d5993a34ef3df5181ba3c92fabb93f1eaa5729504fb03423fcd9f3177242", size = 1263752 }, - { url = "https://files.pythonhosted.org/packages/f0/ed/92d86f183a8615f13f6b9cbfc5d4298a509d6ce433432e21da838b4b63f4/contourpy-1.3.1-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:89785bb2a1980c1bd87f0cb1517a71cde374776a5f150936b82580ae6ead44a1", size = 1318403 }, - { url = "https://files.pythonhosted.org/packages/b3/0e/c8e4950c77dcfc897c71d61e56690a0a9df39543d2164040301b5df8e67b/contourpy-1.3.1-cp313-cp313t-win32.whl", hash = "sha256:8eb96e79b9f3dcadbad2a3891672f81cdcab7f95b27f28f1c67d75f045b6b4f1", size = 185117 }, - { url = "https://files.pythonhosted.org/packages/c1/31/1ae946f11dfbd229222e6d6ad8e7bd1891d3d48bde5fbf7a0beb9491f8e3/contourpy-1.3.1-cp313-cp313t-win_amd64.whl", hash = "sha256:287ccc248c9e0d0566934e7d606201abd74761b5703d804ff3df8935f523d546", size = 236668 }, - { url = "https://files.pythonhosted.org/packages/3e/4f/e56862e64b52b55b5ddcff4090085521fc228ceb09a88390a2b103dccd1b/contourpy-1.3.1-pp310-pypy310_pp73-macosx_10_15_x86_64.whl", hash = "sha256:b457d6430833cee8e4b8e9b6f07aa1c161e5e0d52e118dc102c8f9bd7dd060d6", size = 265605 }, - { url = "https://files.pythonhosted.org/packages/b0/2e/52bfeeaa4541889f23d8eadc6386b442ee2470bd3cff9baa67deb2dd5c57/contourpy-1.3.1-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:cb76c1a154b83991a3cbbf0dfeb26ec2833ad56f95540b442c73950af2013750", size = 315040 }, - { url = "https://files.pythonhosted.org/packages/52/94/86bfae441707205634d80392e873295652fc313dfd93c233c52c4dc07874/contourpy-1.3.1-pp310-pypy310_pp73-win_amd64.whl", hash = "sha256:44a29502ca9c7b5ba389e620d44f2fbe792b1fb5734e8b931ad307071ec58c53", size = 218221 }, +sdist = { url = "https://files.pythonhosted.org/packages/25/c2/fc7193cc5383637ff390a712e88e4ded0452c9fbcf84abe3de5ea3df1866/contourpy-1.3.1.tar.gz", hash = "sha256:dfd97abd83335045a913e3bcc4a09c0ceadbe66580cf573fe961f4a825efa699", size = 13465753, upload-time = "2024-11-12T11:00:59.118Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/b2/a3/80937fe3efe0edacf67c9a20b955139a1a622730042c1ea991956f2704ad/contourpy-1.3.1-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:a045f341a77b77e1c5de31e74e966537bba9f3c4099b35bf4c2e3939dd54cdab", size = 268466, upload-time = "2024-11-12T10:52:03.706Z" }, + { url = "https://files.pythonhosted.org/packages/82/1d/e3eaebb4aa2d7311528c048350ca8e99cdacfafd99da87bc0a5f8d81f2c2/contourpy-1.3.1-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:500360b77259914f7805af7462e41f9cb7ca92ad38e9f94d6c8641b089338124", size = 253314, upload-time = "2024-11-12T10:52:08.721Z" }, + { url = "https://files.pythonhosted.org/packages/de/f3/d796b22d1a2b587acc8100ba8c07fb7b5e17fde265a7bb05ab967f4c935a/contourpy-1.3.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:b2f926efda994cdf3c8d3fdb40b9962f86edbc4457e739277b961eced3d0b4c1", size = 312003, upload-time = "2024-11-12T10:52:13.868Z" }, + { url = "https://files.pythonhosted.org/packages/bf/f5/0e67902bc4394daee8daa39c81d4f00b50e063ee1a46cb3938cc65585d36/contourpy-1.3.1-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:adce39d67c0edf383647a3a007de0a45fd1b08dedaa5318404f1a73059c2512b", size = 351896, upload-time = "2024-11-12T10:52:19.513Z" }, + { url = "https://files.pythonhosted.org/packages/1f/d6/e766395723f6256d45d6e67c13bb638dd1fa9dc10ef912dc7dd3dcfc19de/contourpy-1.3.1-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:abbb49fb7dac584e5abc6636b7b2a7227111c4f771005853e7d25176daaf8453", size = 320814, upload-time = "2024-11-12T10:52:25.053Z" }, + { url = "https://files.pythonhosted.org/packages/a9/57/86c500d63b3e26e5b73a28b8291a67c5608d4aa87ebd17bd15bb33c178bc/contourpy-1.3.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:a0cffcbede75c059f535725c1680dfb17b6ba8753f0c74b14e6a9c68c29d7ea3", size = 324969, upload-time = "2024-11-12T10:52:30.731Z" }, + { url = "https://files.pythonhosted.org/packages/b8/62/bb146d1289d6b3450bccc4642e7f4413b92ebffd9bf2e91b0404323704a7/contourpy-1.3.1-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:ab29962927945d89d9b293eabd0d59aea28d887d4f3be6c22deaefbb938a7277", size = 1265162, upload-time = "2024-11-12T10:52:46.26Z" }, + { url = "https://files.pythonhosted.org/packages/18/04/9f7d132ce49a212c8e767042cc80ae390f728060d2eea47058f55b9eff1c/contourpy-1.3.1-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:974d8145f8ca354498005b5b981165b74a195abfae9a8129df3e56771961d595", size = 1324328, upload-time = "2024-11-12T10:53:03.081Z" }, + { url = "https://files.pythonhosted.org/packages/46/23/196813901be3f97c83ababdab1382e13e0edc0bb4e7b49a7bff15fcf754e/contourpy-1.3.1-cp310-cp310-win32.whl", hash = "sha256:ac4578ac281983f63b400f7fe6c101bedc10651650eef012be1ccffcbacf3697", size = 173861, upload-time = "2024-11-12T10:53:06.283Z" }, + { url = "https://files.pythonhosted.org/packages/e0/82/c372be3fc000a3b2005061ca623a0d1ecd2eaafb10d9e883a2fc8566e951/contourpy-1.3.1-cp310-cp310-win_amd64.whl", hash = "sha256:174e758c66bbc1c8576992cec9599ce8b6672b741b5d336b5c74e35ac382b18e", size = 218566, upload-time = "2024-11-12T10:53:09.798Z" }, + { url = "https://files.pythonhosted.org/packages/12/bb/11250d2906ee2e8b466b5f93e6b19d525f3e0254ac8b445b56e618527718/contourpy-1.3.1-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:3e8b974d8db2c5610fb4e76307e265de0edb655ae8169e8b21f41807ccbeec4b", size = 269555, upload-time = "2024-11-12T10:53:14.707Z" }, + { url = "https://files.pythonhosted.org/packages/67/71/1e6e95aee21a500415f5d2dbf037bf4567529b6a4e986594d7026ec5ae90/contourpy-1.3.1-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:20914c8c973f41456337652a6eeca26d2148aa96dd7ac323b74516988bea89fc", size = 254549, upload-time = "2024-11-12T10:53:19.42Z" }, + { url = "https://files.pythonhosted.org/packages/31/2c/b88986e8d79ac45efe9d8801ae341525f38e087449b6c2f2e6050468a42c/contourpy-1.3.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:19d40d37c1c3a4961b4619dd9d77b12124a453cc3d02bb31a07d58ef684d3d86", size = 313000, upload-time = "2024-11-12T10:53:23.944Z" }, + { url = "https://files.pythonhosted.org/packages/c4/18/65280989b151fcf33a8352f992eff71e61b968bef7432fbfde3a364f0730/contourpy-1.3.1-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:113231fe3825ebf6f15eaa8bc1f5b0ddc19d42b733345eae0934cb291beb88b6", size = 352925, upload-time = "2024-11-12T10:53:29.719Z" }, + { url = "https://files.pythonhosted.org/packages/f5/c7/5fd0146c93220dbfe1a2e0f98969293b86ca9bc041d6c90c0e065f4619ad/contourpy-1.3.1-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:4dbbc03a40f916a8420e420d63e96a1258d3d1b58cbdfd8d1f07b49fcbd38e85", size = 323693, upload-time = "2024-11-12T10:53:35.046Z" }, + { url = "https://files.pythonhosted.org/packages/85/fc/7fa5d17daf77306840a4e84668a48ddff09e6bc09ba4e37e85ffc8e4faa3/contourpy-1.3.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:3a04ecd68acbd77fa2d39723ceca4c3197cb2969633836ced1bea14e219d077c", size = 326184, upload-time = "2024-11-12T10:53:40.261Z" }, + { url = "https://files.pythonhosted.org/packages/ef/e7/104065c8270c7397c9571620d3ab880558957216f2b5ebb7e040f85eeb22/contourpy-1.3.1-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:c414fc1ed8ee1dbd5da626cf3710c6013d3d27456651d156711fa24f24bd1291", size = 1268031, upload-time = "2024-11-12T10:53:55.876Z" }, + { url = "https://files.pythonhosted.org/packages/e2/4a/c788d0bdbf32c8113c2354493ed291f924d4793c4a2e85b69e737a21a658/contourpy-1.3.1-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:31c1b55c1f34f80557d3830d3dd93ba722ce7e33a0b472cba0ec3b6535684d8f", size = 1325995, upload-time = "2024-11-12T10:54:11.572Z" }, + { url = "https://files.pythonhosted.org/packages/a6/e6/a2f351a90d955f8b0564caf1ebe4b1451a3f01f83e5e3a414055a5b8bccb/contourpy-1.3.1-cp311-cp311-win32.whl", hash = "sha256:f611e628ef06670df83fce17805c344710ca5cde01edfdc72751311da8585375", size = 174396, upload-time = "2024-11-12T10:54:15.358Z" }, + { url = "https://files.pythonhosted.org/packages/a8/7e/cd93cab453720a5d6cb75588cc17dcdc08fc3484b9de98b885924ff61900/contourpy-1.3.1-cp311-cp311-win_amd64.whl", hash = "sha256:b2bdca22a27e35f16794cf585832e542123296b4687f9fd96822db6bae17bfc9", size = 219787, upload-time = "2024-11-12T10:54:18.836Z" }, + { url = "https://files.pythonhosted.org/packages/37/6b/175f60227d3e7f5f1549fcb374592be311293132207e451c3d7c654c25fb/contourpy-1.3.1-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:0ffa84be8e0bd33410b17189f7164c3589c229ce5db85798076a3fa136d0e509", size = 271494, upload-time = "2024-11-12T10:54:23.6Z" }, + { url = "https://files.pythonhosted.org/packages/6b/6a/7833cfae2c1e63d1d8875a50fd23371394f540ce809d7383550681a1fa64/contourpy-1.3.1-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:805617228ba7e2cbbfb6c503858e626ab528ac2a32a04a2fe88ffaf6b02c32bc", size = 255444, upload-time = "2024-11-12T10:54:28.267Z" }, + { url = "https://files.pythonhosted.org/packages/7f/b3/7859efce66eaca5c14ba7619791b084ed02d868d76b928ff56890d2d059d/contourpy-1.3.1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:ade08d343436a94e633db932e7e8407fe7de8083967962b46bdfc1b0ced39454", size = 307628, upload-time = "2024-11-12T10:54:33.418Z" }, + { url = "https://files.pythonhosted.org/packages/48/b2/011415f5e3f0a50b1e285a0bf78eb5d92a4df000553570f0851b6e309076/contourpy-1.3.1-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:47734d7073fb4590b4a40122b35917cd77be5722d80683b249dac1de266aac80", size = 347271, upload-time = "2024-11-12T10:54:38.816Z" }, + { url = "https://files.pythonhosted.org/packages/84/7d/ef19b1db0f45b151ac78c65127235239a8cf21a59d1ce8507ce03e89a30b/contourpy-1.3.1-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:2ba94a401342fc0f8b948e57d977557fbf4d515f03c67682dd5c6191cb2d16ec", size = 318906, upload-time = "2024-11-12T10:54:44.132Z" }, + { url = "https://files.pythonhosted.org/packages/ba/99/6794142b90b853a9155316c8f470d2e4821fe6f086b03e372aca848227dd/contourpy-1.3.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:efa874e87e4a647fd2e4f514d5e91c7d493697127beb95e77d2f7561f6905bd9", size = 323622, upload-time = "2024-11-12T10:54:48.788Z" }, + { url = "https://files.pythonhosted.org/packages/3c/0f/37d2c84a900cd8eb54e105f4fa9aebd275e14e266736778bb5dccbf3bbbb/contourpy-1.3.1-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:1bf98051f1045b15c87868dbaea84f92408337d4f81d0e449ee41920ea121d3b", size = 1266699, upload-time = "2024-11-12T10:55:04.016Z" }, + { url = "https://files.pythonhosted.org/packages/3a/8a/deb5e11dc7d9cc8f0f9c8b29d4f062203f3af230ba83c30a6b161a6effc9/contourpy-1.3.1-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:61332c87493b00091423e747ea78200659dc09bdf7fd69edd5e98cef5d3e9a8d", size = 1326395, upload-time = "2024-11-12T10:55:20.547Z" }, + { url = "https://files.pythonhosted.org/packages/1a/35/7e267ae7c13aaf12322ccc493531f1e7f2eb8fba2927b9d7a05ff615df7a/contourpy-1.3.1-cp312-cp312-win32.whl", hash = "sha256:e914a8cb05ce5c809dd0fe350cfbb4e881bde5e2a38dc04e3afe1b3e58bd158e", size = 175354, upload-time = "2024-11-12T10:55:24.377Z" }, + { url = "https://files.pythonhosted.org/packages/a1/35/c2de8823211d07e8a79ab018ef03960716c5dff6f4d5bff5af87fd682992/contourpy-1.3.1-cp312-cp312-win_amd64.whl", hash = "sha256:08d9d449a61cf53033612cb368f3a1b26cd7835d9b8cd326647efe43bca7568d", size = 220971, upload-time = "2024-11-12T10:55:27.971Z" }, + { url = "https://files.pythonhosted.org/packages/9a/e7/de62050dce687c5e96f946a93546910bc67e483fe05324439e329ff36105/contourpy-1.3.1-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:a761d9ccfc5e2ecd1bf05534eda382aa14c3e4f9205ba5b1684ecfe400716ef2", size = 271548, upload-time = "2024-11-12T10:55:32.228Z" }, + { url = "https://files.pythonhosted.org/packages/78/4d/c2a09ae014ae984c6bdd29c11e74d3121b25eaa117eca0bb76340efd7e1c/contourpy-1.3.1-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:523a8ee12edfa36f6d2a49407f705a6ef4c5098de4f498619787e272de93f2d5", size = 255576, upload-time = "2024-11-12T10:55:36.246Z" }, + { url = "https://files.pythonhosted.org/packages/ab/8a/915380ee96a5638bda80cd061ccb8e666bfdccea38d5741cb69e6dbd61fc/contourpy-1.3.1-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:ece6df05e2c41bd46776fbc712e0996f7c94e0d0543af1656956d150c4ca7c81", size = 306635, upload-time = "2024-11-12T10:55:41.904Z" }, + { url = "https://files.pythonhosted.org/packages/29/5c/c83ce09375428298acd4e6582aeb68b1e0d1447f877fa993d9bf6cd3b0a0/contourpy-1.3.1-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:573abb30e0e05bf31ed067d2f82500ecfdaec15627a59d63ea2d95714790f5c2", size = 345925, upload-time = "2024-11-12T10:55:47.206Z" }, + { url = "https://files.pythonhosted.org/packages/29/63/5b52f4a15e80c66c8078a641a3bfacd6e07106835682454647aca1afc852/contourpy-1.3.1-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:a9fa36448e6a3a1a9a2ba23c02012c43ed88905ec80163f2ffe2421c7192a5d7", size = 318000, upload-time = "2024-11-12T10:55:52.264Z" }, + { url = "https://files.pythonhosted.org/packages/9a/e2/30ca086c692691129849198659bf0556d72a757fe2769eb9620a27169296/contourpy-1.3.1-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:3ea9924d28fc5586bf0b42d15f590b10c224117e74409dd7a0be3b62b74a501c", size = 322689, upload-time = "2024-11-12T10:55:57.858Z" }, + { url = "https://files.pythonhosted.org/packages/6b/77/f37812ef700f1f185d348394debf33f22d531e714cf6a35d13d68a7003c7/contourpy-1.3.1-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:5b75aa69cb4d6f137b36f7eb2ace9280cfb60c55dc5f61c731fdf6f037f958a3", size = 1268413, upload-time = "2024-11-12T10:56:13.328Z" }, + { url = "https://files.pythonhosted.org/packages/3f/6d/ce84e79cdd128542ebeb268f84abb4b093af78e7f8ec504676673d2675bc/contourpy-1.3.1-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:041b640d4ec01922083645a94bb3b2e777e6b626788f4095cf21abbe266413c1", size = 1326530, upload-time = "2024-11-12T10:56:30.07Z" }, + { url = "https://files.pythonhosted.org/packages/72/22/8282f4eae20c73c89bee7a82a19c4e27af9b57bb602ecaa00713d5bdb54d/contourpy-1.3.1-cp313-cp313-win32.whl", hash = "sha256:36987a15e8ace5f58d4d5da9dca82d498c2bbb28dff6e5d04fbfcc35a9cb3a82", size = 175315, upload-time = "2024-11-12T10:57:42.804Z" }, + { url = "https://files.pythonhosted.org/packages/e3/d5/28bca491f65312b438fbf076589dcde7f6f966b196d900777f5811b9c4e2/contourpy-1.3.1-cp313-cp313-win_amd64.whl", hash = "sha256:a7895f46d47671fa7ceec40f31fae721da51ad34bdca0bee83e38870b1f47ffd", size = 220987, upload-time = "2024-11-12T10:57:46.365Z" }, + { url = "https://files.pythonhosted.org/packages/2f/24/a4b285d6adaaf9746e4700932f579f1a7b6f9681109f694cfa233ae75c4e/contourpy-1.3.1-cp313-cp313t-macosx_10_13_x86_64.whl", hash = "sha256:9ddeb796389dadcd884c7eb07bd14ef12408aaae358f0e2ae24114d797eede30", size = 285001, upload-time = "2024-11-12T10:56:34.483Z" }, + { url = "https://files.pythonhosted.org/packages/48/1d/fb49a401b5ca4f06ccf467cd6c4f1fd65767e63c21322b29b04ec40b40b9/contourpy-1.3.1-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:19c1555a6801c2f084c7ddc1c6e11f02eb6a6016ca1318dd5452ba3f613a1751", size = 268553, upload-time = "2024-11-12T10:56:39.167Z" }, + { url = "https://files.pythonhosted.org/packages/79/1e/4aef9470d13fd029087388fae750dccb49a50c012a6c8d1d634295caa644/contourpy-1.3.1-cp313-cp313t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:841ad858cff65c2c04bf93875e384ccb82b654574a6d7f30453a04f04af71342", size = 310386, upload-time = "2024-11-12T10:56:44.594Z" }, + { url = "https://files.pythonhosted.org/packages/b0/34/910dc706ed70153b60392b5305c708c9810d425bde12499c9184a1100888/contourpy-1.3.1-cp313-cp313t-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:4318af1c925fb9a4fb190559ef3eec206845f63e80fb603d47f2d6d67683901c", size = 349806, upload-time = "2024-11-12T10:56:49.565Z" }, + { url = "https://files.pythonhosted.org/packages/31/3c/faee6a40d66d7f2a87f7102236bf4780c57990dd7f98e5ff29881b1b1344/contourpy-1.3.1-cp313-cp313t-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:14c102b0eab282427b662cb590f2e9340a9d91a1c297f48729431f2dcd16e14f", size = 321108, upload-time = "2024-11-12T10:56:55.013Z" }, + { url = "https://files.pythonhosted.org/packages/17/69/390dc9b20dd4bb20585651d7316cc3054b7d4a7b4f8b710b2b698e08968d/contourpy-1.3.1-cp313-cp313t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:05e806338bfeaa006acbdeba0ad681a10be63b26e1b17317bfac3c5d98f36cda", size = 327291, upload-time = "2024-11-12T10:56:59.897Z" }, + { url = "https://files.pythonhosted.org/packages/ef/74/7030b67c4e941fe1e5424a3d988080e83568030ce0355f7c9fc556455b01/contourpy-1.3.1-cp313-cp313t-musllinux_1_2_aarch64.whl", hash = "sha256:4d76d5993a34ef3df5181ba3c92fabb93f1eaa5729504fb03423fcd9f3177242", size = 1263752, upload-time = "2024-11-12T10:57:14.79Z" }, + { url = "https://files.pythonhosted.org/packages/f0/ed/92d86f183a8615f13f6b9cbfc5d4298a509d6ce433432e21da838b4b63f4/contourpy-1.3.1-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:89785bb2a1980c1bd87f0cb1517a71cde374776a5f150936b82580ae6ead44a1", size = 1318403, upload-time = "2024-11-12T10:57:31.326Z" }, + { url = "https://files.pythonhosted.org/packages/b3/0e/c8e4950c77dcfc897c71d61e56690a0a9df39543d2164040301b5df8e67b/contourpy-1.3.1-cp313-cp313t-win32.whl", hash = "sha256:8eb96e79b9f3dcadbad2a3891672f81cdcab7f95b27f28f1c67d75f045b6b4f1", size = 185117, upload-time = "2024-11-12T10:57:34.735Z" }, + { url = "https://files.pythonhosted.org/packages/c1/31/1ae946f11dfbd229222e6d6ad8e7bd1891d3d48bde5fbf7a0beb9491f8e3/contourpy-1.3.1-cp313-cp313t-win_amd64.whl", hash = "sha256:287ccc248c9e0d0566934e7d606201abd74761b5703d804ff3df8935f523d546", size = 236668, upload-time = "2024-11-12T10:57:39.061Z" }, + { url = "https://files.pythonhosted.org/packages/3e/4f/e56862e64b52b55b5ddcff4090085521fc228ceb09a88390a2b103dccd1b/contourpy-1.3.1-pp310-pypy310_pp73-macosx_10_15_x86_64.whl", hash = "sha256:b457d6430833cee8e4b8e9b6f07aa1c161e5e0d52e118dc102c8f9bd7dd060d6", size = 265605, upload-time = "2024-11-12T10:57:51.188Z" }, + { url = "https://files.pythonhosted.org/packages/b0/2e/52bfeeaa4541889f23d8eadc6386b442ee2470bd3cff9baa67deb2dd5c57/contourpy-1.3.1-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:cb76c1a154b83991a3cbbf0dfeb26ec2833ad56f95540b442c73950af2013750", size = 315040, upload-time = "2024-11-12T10:57:56.492Z" }, + { url = "https://files.pythonhosted.org/packages/52/94/86bfae441707205634d80392e873295652fc313dfd93c233c52c4dc07874/contourpy-1.3.1-pp310-pypy310_pp73-win_amd64.whl", hash = "sha256:44a29502ca9c7b5ba389e620d44f2fbe792b1fb5734e8b931ad307071ec58c53", size = 218221, upload-time = "2024-11-12T10:58:00.033Z" }, ] [[package]] @@ -767,26 +767,26 @@ source = { registry = "https://pypi.org/simple" } dependencies = [ { name = "cffi", marker = "(python_full_version < '3.10' and platform_machine != 'arm64' and platform_python_implementation != 'PyPy') or (platform_python_implementation != 'PyPy' and sys_platform != 'darwin')" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/91/4c/45dfa6829acffa344e3967d6006ee4ae8be57af746ae2eba1c431949b32c/cryptography-44.0.0.tar.gz", hash = "sha256:cd4e834f340b4293430701e772ec543b0fbe6c2dea510a5286fe0acabe153a02", size = 710657 } -wheels = [ - { url = "https://files.pythonhosted.org/packages/7e/5b/3759e30a103144e29632e7cb72aec28cedc79e514b2ea8896bb17163c19b/cryptography-44.0.0-cp37-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:b15492a11f9e1b62ba9d73c210e2416724633167de94607ec6069ef724fad092", size = 3922710 }, - { url = "https://files.pythonhosted.org/packages/5f/58/3b14bf39f1a0cfd679e753e8647ada56cddbf5acebffe7db90e184c76168/cryptography-44.0.0-cp37-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:831c3c4d0774e488fdc83a1923b49b9957d33287de923d58ebd3cec47a0ae43f", size = 4137546 }, - { url = "https://files.pythonhosted.org/packages/98/65/13d9e76ca19b0ba5603d71ac8424b5694415b348e719db277b5edc985ff5/cryptography-44.0.0-cp37-abi3-manylinux_2_28_aarch64.whl", hash = "sha256:761817a3377ef15ac23cd7834715081791d4ec77f9297ee694ca1ee9c2c7e5eb", size = 3915420 }, - { url = "https://files.pythonhosted.org/packages/b1/07/40fe09ce96b91fc9276a9ad272832ead0fddedcba87f1190372af8e3039c/cryptography-44.0.0-cp37-abi3-manylinux_2_28_x86_64.whl", hash = "sha256:3c672a53c0fb4725a29c303be906d3c1fa99c32f58abe008a82705f9ee96f40b", size = 4154498 }, - { url = "https://files.pythonhosted.org/packages/75/ea/af65619c800ec0a7e4034207aec543acdf248d9bffba0533342d1bd435e1/cryptography-44.0.0-cp37-abi3-manylinux_2_34_aarch64.whl", hash = "sha256:4ac4c9f37eba52cb6fbeaf5b59c152ea976726b865bd4cf87883a7e7006cc543", size = 3932569 }, - { url = "https://files.pythonhosted.org/packages/c7/af/d1deb0c04d59612e3d5e54203159e284d3e7a6921e565bb0eeb6269bdd8a/cryptography-44.0.0-cp37-abi3-musllinux_1_2_aarch64.whl", hash = "sha256:ed3534eb1090483c96178fcb0f8893719d96d5274dfde98aa6add34614e97c8e", size = 4016721 }, - { url = "https://files.pythonhosted.org/packages/bd/69/7ca326c55698d0688db867795134bdfac87136b80ef373aaa42b225d6dd5/cryptography-44.0.0-cp37-abi3-musllinux_1_2_x86_64.whl", hash = "sha256:f3f6fdfa89ee2d9d496e2c087cebef9d4fcbb0ad63c40e821b39f74bf48d9c5e", size = 4240915 }, - { url = "https://files.pythonhosted.org/packages/1a/07/5f165b6c65696ef75601b781a280fc3b33f1e0cd6aa5a92d9fb96c410e97/cryptography-44.0.0-cp39-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:1923cb251c04be85eec9fda837661c67c1049063305d6be5721643c22dd4e2b7", size = 3922613 }, - { url = "https://files.pythonhosted.org/packages/28/34/6b3ac1d80fc174812486561cf25194338151780f27e438526f9c64e16869/cryptography-44.0.0-cp39-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:404fdc66ee5f83a1388be54300ae978b2efd538018de18556dde92575e05defc", size = 4137925 }, - { url = "https://files.pythonhosted.org/packages/d0/c7/c656eb08fd22255d21bc3129625ed9cd5ee305f33752ef2278711b3fa98b/cryptography-44.0.0-cp39-abi3-manylinux_2_28_aarch64.whl", hash = "sha256:c5eb858beed7835e5ad1faba59e865109f3e52b3783b9ac21e7e47dc5554e289", size = 3915417 }, - { url = "https://files.pythonhosted.org/packages/ef/82/72403624f197af0db6bac4e58153bc9ac0e6020e57234115db9596eee85d/cryptography-44.0.0-cp39-abi3-manylinux_2_28_x86_64.whl", hash = "sha256:f53c2c87e0fb4b0c00fa9571082a057e37690a8f12233306161c8f4b819960b7", size = 4155160 }, - { url = "https://files.pythonhosted.org/packages/a2/cd/2f3c440913d4329ade49b146d74f2e9766422e1732613f57097fea61f344/cryptography-44.0.0-cp39-abi3-manylinux_2_34_aarch64.whl", hash = "sha256:9e6fc8a08e116fb7c7dd1f040074c9d7b51d74a8ea40d4df2fc7aa08b76b9e6c", size = 3932331 }, - { url = "https://files.pythonhosted.org/packages/7f/df/8be88797f0a1cca6e255189a57bb49237402b1880d6e8721690c5603ac23/cryptography-44.0.0-cp39-abi3-musllinux_1_2_aarch64.whl", hash = "sha256:d2436114e46b36d00f8b72ff57e598978b37399d2786fd39793c36c6d5cb1c64", size = 4017372 }, - { url = "https://files.pythonhosted.org/packages/af/36/5ccc376f025a834e72b8e52e18746b927f34e4520487098e283a719c205e/cryptography-44.0.0-cp39-abi3-musllinux_1_2_x86_64.whl", hash = "sha256:a01956ddfa0a6790d594f5b34fc1bfa6098aca434696a03cfdbe469b8ed79285", size = 4239657 }, - { url = "https://files.pythonhosted.org/packages/1a/aa/ba8a7467c206cb7b62f09b4168da541b5109838627f582843bbbe0235e8e/cryptography-44.0.0-pp310-pypy310_pp73-manylinux_2_28_aarch64.whl", hash = "sha256:f677e1268c4e23420c3acade68fac427fffcb8d19d7df95ed7ad17cdef8404f4", size = 3850615 }, - { url = "https://files.pythonhosted.org/packages/89/fa/b160e10a64cc395d090105be14f399b94e617c879efd401188ce0fea39ee/cryptography-44.0.0-pp310-pypy310_pp73-manylinux_2_28_x86_64.whl", hash = "sha256:f5e7cb1e5e56ca0933b4873c0220a78b773b24d40d186b6738080b73d3d0a756", size = 4081622 }, - { url = "https://files.pythonhosted.org/packages/47/8f/20ff0656bb0cf7af26ec1d01f780c5cfbaa7666736063378c5f48558b515/cryptography-44.0.0-pp310-pypy310_pp73-manylinux_2_34_aarch64.whl", hash = "sha256:8b3e6eae66cf54701ee7d9c83c30ac0a1e3fa17be486033000f2a73a12ab507c", size = 3867546 }, - { url = "https://files.pythonhosted.org/packages/38/d9/28edf32ee2fcdca587146bcde90102a7319b2f2c690edfa627e46d586050/cryptography-44.0.0-pp310-pypy310_pp73-manylinux_2_34_x86_64.whl", hash = "sha256:be4ce505894d15d5c5037167ffb7f0ae90b7be6f2a98f9a5c3442395501c32fa", size = 4090937 }, +sdist = { url = "https://files.pythonhosted.org/packages/91/4c/45dfa6829acffa344e3967d6006ee4ae8be57af746ae2eba1c431949b32c/cryptography-44.0.0.tar.gz", hash = "sha256:cd4e834f340b4293430701e772ec543b0fbe6c2dea510a5286fe0acabe153a02", size = 710657, upload-time = "2024-11-27T18:07:10.168Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/7e/5b/3759e30a103144e29632e7cb72aec28cedc79e514b2ea8896bb17163c19b/cryptography-44.0.0-cp37-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:b15492a11f9e1b62ba9d73c210e2416724633167de94607ec6069ef724fad092", size = 3922710, upload-time = "2024-11-27T18:05:58.621Z" }, + { url = "https://files.pythonhosted.org/packages/5f/58/3b14bf39f1a0cfd679e753e8647ada56cddbf5acebffe7db90e184c76168/cryptography-44.0.0-cp37-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:831c3c4d0774e488fdc83a1923b49b9957d33287de923d58ebd3cec47a0ae43f", size = 4137546, upload-time = "2024-11-27T18:06:01.062Z" }, + { url = "https://files.pythonhosted.org/packages/98/65/13d9e76ca19b0ba5603d71ac8424b5694415b348e719db277b5edc985ff5/cryptography-44.0.0-cp37-abi3-manylinux_2_28_aarch64.whl", hash = "sha256:761817a3377ef15ac23cd7834715081791d4ec77f9297ee694ca1ee9c2c7e5eb", size = 3915420, upload-time = "2024-11-27T18:06:03.487Z" }, + { url = "https://files.pythonhosted.org/packages/b1/07/40fe09ce96b91fc9276a9ad272832ead0fddedcba87f1190372af8e3039c/cryptography-44.0.0-cp37-abi3-manylinux_2_28_x86_64.whl", hash = "sha256:3c672a53c0fb4725a29c303be906d3c1fa99c32f58abe008a82705f9ee96f40b", size = 4154498, upload-time = "2024-11-27T18:06:05.763Z" }, + { url = "https://files.pythonhosted.org/packages/75/ea/af65619c800ec0a7e4034207aec543acdf248d9bffba0533342d1bd435e1/cryptography-44.0.0-cp37-abi3-manylinux_2_34_aarch64.whl", hash = "sha256:4ac4c9f37eba52cb6fbeaf5b59c152ea976726b865bd4cf87883a7e7006cc543", size = 3932569, upload-time = "2024-11-27T18:06:07.489Z" }, + { url = "https://files.pythonhosted.org/packages/c7/af/d1deb0c04d59612e3d5e54203159e284d3e7a6921e565bb0eeb6269bdd8a/cryptography-44.0.0-cp37-abi3-musllinux_1_2_aarch64.whl", hash = "sha256:ed3534eb1090483c96178fcb0f8893719d96d5274dfde98aa6add34614e97c8e", size = 4016721, upload-time = "2024-11-27T18:06:11.57Z" }, + { url = "https://files.pythonhosted.org/packages/bd/69/7ca326c55698d0688db867795134bdfac87136b80ef373aaa42b225d6dd5/cryptography-44.0.0-cp37-abi3-musllinux_1_2_x86_64.whl", hash = "sha256:f3f6fdfa89ee2d9d496e2c087cebef9d4fcbb0ad63c40e821b39f74bf48d9c5e", size = 4240915, upload-time = "2024-11-27T18:06:13.515Z" }, + { url = "https://files.pythonhosted.org/packages/1a/07/5f165b6c65696ef75601b781a280fc3b33f1e0cd6aa5a92d9fb96c410e97/cryptography-44.0.0-cp39-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:1923cb251c04be85eec9fda837661c67c1049063305d6be5721643c22dd4e2b7", size = 3922613, upload-time = "2024-11-27T18:06:24.314Z" }, + { url = "https://files.pythonhosted.org/packages/28/34/6b3ac1d80fc174812486561cf25194338151780f27e438526f9c64e16869/cryptography-44.0.0-cp39-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:404fdc66ee5f83a1388be54300ae978b2efd538018de18556dde92575e05defc", size = 4137925, upload-time = "2024-11-27T18:06:27.079Z" }, + { url = "https://files.pythonhosted.org/packages/d0/c7/c656eb08fd22255d21bc3129625ed9cd5ee305f33752ef2278711b3fa98b/cryptography-44.0.0-cp39-abi3-manylinux_2_28_aarch64.whl", hash = "sha256:c5eb858beed7835e5ad1faba59e865109f3e52b3783b9ac21e7e47dc5554e289", size = 3915417, upload-time = "2024-11-27T18:06:28.959Z" }, + { url = "https://files.pythonhosted.org/packages/ef/82/72403624f197af0db6bac4e58153bc9ac0e6020e57234115db9596eee85d/cryptography-44.0.0-cp39-abi3-manylinux_2_28_x86_64.whl", hash = "sha256:f53c2c87e0fb4b0c00fa9571082a057e37690a8f12233306161c8f4b819960b7", size = 4155160, upload-time = "2024-11-27T18:06:30.866Z" }, + { url = "https://files.pythonhosted.org/packages/a2/cd/2f3c440913d4329ade49b146d74f2e9766422e1732613f57097fea61f344/cryptography-44.0.0-cp39-abi3-manylinux_2_34_aarch64.whl", hash = "sha256:9e6fc8a08e116fb7c7dd1f040074c9d7b51d74a8ea40d4df2fc7aa08b76b9e6c", size = 3932331, upload-time = "2024-11-27T18:06:33.432Z" }, + { url = "https://files.pythonhosted.org/packages/7f/df/8be88797f0a1cca6e255189a57bb49237402b1880d6e8721690c5603ac23/cryptography-44.0.0-cp39-abi3-musllinux_1_2_aarch64.whl", hash = "sha256:d2436114e46b36d00f8b72ff57e598978b37399d2786fd39793c36c6d5cb1c64", size = 4017372, upload-time = "2024-11-27T18:06:38.343Z" }, + { url = "https://files.pythonhosted.org/packages/af/36/5ccc376f025a834e72b8e52e18746b927f34e4520487098e283a719c205e/cryptography-44.0.0-cp39-abi3-musllinux_1_2_x86_64.whl", hash = "sha256:a01956ddfa0a6790d594f5b34fc1bfa6098aca434696a03cfdbe469b8ed79285", size = 4239657, upload-time = "2024-11-27T18:06:41.045Z" }, + { url = "https://files.pythonhosted.org/packages/1a/aa/ba8a7467c206cb7b62f09b4168da541b5109838627f582843bbbe0235e8e/cryptography-44.0.0-pp310-pypy310_pp73-manylinux_2_28_aarch64.whl", hash = "sha256:f677e1268c4e23420c3acade68fac427fffcb8d19d7df95ed7ad17cdef8404f4", size = 3850615, upload-time = "2024-11-27T18:06:50.774Z" }, + { url = "https://files.pythonhosted.org/packages/89/fa/b160e10a64cc395d090105be14f399b94e617c879efd401188ce0fea39ee/cryptography-44.0.0-pp310-pypy310_pp73-manylinux_2_28_x86_64.whl", hash = "sha256:f5e7cb1e5e56ca0933b4873c0220a78b773b24d40d186b6738080b73d3d0a756", size = 4081622, upload-time = "2024-11-27T18:06:55.126Z" }, + { url = "https://files.pythonhosted.org/packages/47/8f/20ff0656bb0cf7af26ec1d01f780c5cfbaa7666736063378c5f48558b515/cryptography-44.0.0-pp310-pypy310_pp73-manylinux_2_34_aarch64.whl", hash = "sha256:8b3e6eae66cf54701ee7d9c83c30ac0a1e3fa17be486033000f2a73a12ab507c", size = 3867546, upload-time = "2024-11-27T18:06:57.694Z" }, + { url = "https://files.pythonhosted.org/packages/38/d9/28edf32ee2fcdca587146bcde90102a7319b2f2c690edfa627e46d586050/cryptography-44.0.0-pp310-pypy310_pp73-manylinux_2_34_x86_64.whl", hash = "sha256:be4ce505894d15d5c5037167ffb7f0ae90b7be6f2a98f9a5c3442395501c32fa", size = 4090937, upload-time = "2024-11-27T18:07:00.338Z" }, ] [[package]] @@ -798,78 +798,78 @@ dependencies = [ { name = "tinycss2", version = "1.4.0", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.9'" }, { name = "webencodings" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/e7/fc/326cb6f988905998f09bb54a3f5d98d4462ba119363c0dfad29750d48c09/cssselect2-0.7.0.tar.gz", hash = "sha256:1ccd984dab89fc68955043aca4e1b03e0cf29cad9880f6e28e3ba7a74b14aa5a", size = 35888 } +sdist = { url = "https://files.pythonhosted.org/packages/e7/fc/326cb6f988905998f09bb54a3f5d98d4462ba119363c0dfad29750d48c09/cssselect2-0.7.0.tar.gz", hash = "sha256:1ccd984dab89fc68955043aca4e1b03e0cf29cad9880f6e28e3ba7a74b14aa5a", size = 35888, upload-time = "2022-09-19T12:55:11.876Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/9d/3a/e39436efe51894243ff145a37c4f9a030839b97779ebcc4f13b3ba21c54e/cssselect2-0.7.0-py3-none-any.whl", hash = "sha256:fd23a65bfd444595913f02fc71f6b286c29261e354c41d722ca7a261a49b5969", size = 15586 }, + { url = "https://files.pythonhosted.org/packages/9d/3a/e39436efe51894243ff145a37c4f9a030839b97779ebcc4f13b3ba21c54e/cssselect2-0.7.0-py3-none-any.whl", hash = "sha256:fd23a65bfd444595913f02fc71f6b286c29261e354c41d722ca7a261a49b5969", size = 15586, upload-time = "2022-09-19T12:55:07.56Z" }, ] [[package]] name = "cycler" version = "0.12.1" source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/a9/95/a3dbbb5028f35eafb79008e7522a75244477d2838f38cbb722248dabc2a8/cycler-0.12.1.tar.gz", hash = "sha256:88bb128f02ba341da8ef447245a9e138fae777f6a23943da4540077d3601eb1c", size = 7615 } +sdist = { url = "https://files.pythonhosted.org/packages/a9/95/a3dbbb5028f35eafb79008e7522a75244477d2838f38cbb722248dabc2a8/cycler-0.12.1.tar.gz", hash = "sha256:88bb128f02ba341da8ef447245a9e138fae777f6a23943da4540077d3601eb1c", size = 7615, upload-time = "2023-10-07T05:32:18.335Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/e7/05/c19819d5e3d95294a6f5947fb9b9629efb316b96de511b418c53d245aae6/cycler-0.12.1-py3-none-any.whl", hash = "sha256:85cef7cff222d8644161529808465972e51340599459b8ac3ccbac5a854e0d30", size = 8321 }, + { url = "https://files.pythonhosted.org/packages/e7/05/c19819d5e3d95294a6f5947fb9b9629efb316b96de511b418c53d245aae6/cycler-0.12.1-py3-none-any.whl", hash = "sha256:85cef7cff222d8644161529808465972e51340599459b8ac3ccbac5a854e0d30", size = 8321, upload-time = "2023-10-07T05:32:16.783Z" }, ] [[package]] name = "debugpy" version = "1.8.12" source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/68/25/c74e337134edf55c4dfc9af579eccb45af2393c40960e2795a94351e8140/debugpy-1.8.12.tar.gz", hash = "sha256:646530b04f45c830ceae8e491ca1c9320a2d2f0efea3141487c82130aba70dce", size = 1641122 } -wheels = [ - { url = "https://files.pythonhosted.org/packages/56/19/dd58334c0a1ec07babf80bf29fb8daf1a7ca4c1a3bbe61548e40616ac087/debugpy-1.8.12-cp310-cp310-macosx_14_0_x86_64.whl", hash = "sha256:a2ba7ffe58efeae5b8fad1165357edfe01464f9aef25e814e891ec690e7dd82a", size = 2076091 }, - { url = "https://files.pythonhosted.org/packages/4c/37/bde1737da15f9617d11ab7b8d5267165f1b7dae116b2585a6643e89e1fa2/debugpy-1.8.12-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:cbbd4149c4fc5e7d508ece083e78c17442ee13b0e69bfa6bd63003e486770f45", size = 3560717 }, - { url = "https://files.pythonhosted.org/packages/d9/ca/bc67f5a36a7de072908bc9e1156c0f0b272a9a2224cf21540ab1ffd71a1f/debugpy-1.8.12-cp310-cp310-win32.whl", hash = "sha256:b202f591204023b3ce62ff9a47baa555dc00bb092219abf5caf0e3718ac20e7c", size = 5180672 }, - { url = "https://files.pythonhosted.org/packages/c1/b9/e899c0a80dfa674dbc992f36f2b1453cd1ee879143cdb455bc04fce999da/debugpy-1.8.12-cp310-cp310-win_amd64.whl", hash = "sha256:9649eced17a98ce816756ce50433b2dd85dfa7bc92ceb60579d68c053f98dff9", size = 5212702 }, - { url = "https://files.pythonhosted.org/packages/af/9f/5b8af282253615296264d4ef62d14a8686f0dcdebb31a669374e22fff0a4/debugpy-1.8.12-cp311-cp311-macosx_14_0_universal2.whl", hash = "sha256:36f4829839ef0afdfdd208bb54f4c3d0eea86106d719811681a8627ae2e53dd5", size = 2174643 }, - { url = "https://files.pythonhosted.org/packages/ef/31/f9274dcd3b0f9f7d1e60373c3fa4696a585c55acb30729d313bb9d3bcbd1/debugpy-1.8.12-cp311-cp311-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:a28ed481d530e3138553be60991d2d61103ce6da254e51547b79549675f539b7", size = 3133457 }, - { url = "https://files.pythonhosted.org/packages/ab/ca/6ee59e9892e424477e0c76e3798046f1fd1288040b927319c7a7b0baa484/debugpy-1.8.12-cp311-cp311-win32.whl", hash = "sha256:4ad9a94d8f5c9b954e0e3b137cc64ef3f579d0df3c3698fe9c3734ee397e4abb", size = 5106220 }, - { url = "https://files.pythonhosted.org/packages/d5/1a/8ab508ab05ede8a4eae3b139bbc06ea3ca6234f9e8c02713a044f253be5e/debugpy-1.8.12-cp311-cp311-win_amd64.whl", hash = "sha256:4703575b78dd697b294f8c65588dc86874ed787b7348c65da70cfc885efdf1e1", size = 5130481 }, - { url = "https://files.pythonhosted.org/packages/ba/e6/0f876ecfe5831ebe4762b19214364753c8bc2b357d28c5d739a1e88325c7/debugpy-1.8.12-cp312-cp312-macosx_14_0_universal2.whl", hash = "sha256:7e94b643b19e8feb5215fa508aee531387494bf668b2eca27fa769ea11d9f498", size = 2500846 }, - { url = "https://files.pythonhosted.org/packages/19/64/33f41653a701f3cd2cbff8b41ebaad59885b3428b5afd0d93d16012ecf17/debugpy-1.8.12-cp312-cp312-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:086b32e233e89a2740c1615c2f775c34ae951508b28b308681dbbb87bba97d06", size = 4222181 }, - { url = "https://files.pythonhosted.org/packages/32/a6/02646cfe50bfacc9b71321c47dc19a46e35f4e0aceea227b6d205e900e34/debugpy-1.8.12-cp312-cp312-win32.whl", hash = "sha256:2ae5df899732a6051b49ea2632a9ea67f929604fd2b036613a9f12bc3163b92d", size = 5227017 }, - { url = "https://files.pythonhosted.org/packages/da/a6/10056431b5c47103474312cf4a2ec1001f73e0b63b1216706d5fef2531eb/debugpy-1.8.12-cp312-cp312-win_amd64.whl", hash = "sha256:39dfbb6fa09f12fae32639e3286112fc35ae976114f1f3d37375f3130a820969", size = 5267555 }, - { url = "https://files.pythonhosted.org/packages/cf/4d/7c3896619a8791effd5d8c31f0834471fc8f8fb3047ec4f5fc69dd1393dd/debugpy-1.8.12-cp313-cp313-macosx_14_0_universal2.whl", hash = "sha256:696d8ae4dff4cbd06bf6b10d671e088b66669f110c7c4e18a44c43cf75ce966f", size = 2485246 }, - { url = "https://files.pythonhosted.org/packages/99/46/bc6dcfd7eb8cc969a5716d858e32485eb40c72c6a8dc88d1e3a4d5e95813/debugpy-1.8.12-cp313-cp313-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:898fba72b81a654e74412a67c7e0a81e89723cfe2a3ea6fcd3feaa3395138ca9", size = 4218616 }, - { url = "https://files.pythonhosted.org/packages/03/dd/d7fcdf0381a9b8094da1f6a1c9f19fed493a4f8576a2682349b3a8b20ec7/debugpy-1.8.12-cp313-cp313-win32.whl", hash = "sha256:22a11c493c70413a01ed03f01c3c3a2fc4478fc6ee186e340487b2edcd6f4180", size = 5226540 }, - { url = "https://files.pythonhosted.org/packages/25/bd/ecb98f5b5fc7ea0bfbb3c355bc1dd57c198a28780beadd1e19915bf7b4d9/debugpy-1.8.12-cp313-cp313-win_amd64.whl", hash = "sha256:fdb3c6d342825ea10b90e43d7f20f01535a72b3a1997850c0c3cefa5c27a4a2c", size = 5267134 }, - { url = "https://files.pythonhosted.org/packages/6f/56/6c7ddb4dfd2feca7ea3a580a32c7694f6c77183fa08932ee8ba37a0e703c/debugpy-1.8.12-cp38-cp38-macosx_14_0_x86_64.whl", hash = "sha256:b0232cd42506d0c94f9328aaf0d1d0785f90f87ae72d9759df7e5051be039738", size = 2076797 }, - { url = "https://files.pythonhosted.org/packages/73/25/a58e149ddcd609c8212ca733999251022e53508906e2c9f67252e4516de6/debugpy-1.8.12-cp38-cp38-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:9af40506a59450f1315168d47a970db1a65aaab5df3833ac389d2899a5d63b3f", size = 3632547 }, - { url = "https://files.pythonhosted.org/packages/91/c7/17c09b9d8332d09b7b0aa430085010945d92d90945748948cd38865c0b93/debugpy-1.8.12-cp38-cp38-win32.whl", hash = "sha256:5cc45235fefac57f52680902b7d197fb2f3650112379a6fa9aa1b1c1d3ed3f02", size = 5185270 }, - { url = "https://files.pythonhosted.org/packages/3b/d1/afdbb99f95f54c2768fa2511bf38ec8805b4cde319725e318e5016b252ec/debugpy-1.8.12-cp38-cp38-win_amd64.whl", hash = "sha256:557cc55b51ab2f3371e238804ffc8510b6ef087673303890f57a24195d096e61", size = 5217697 }, - { url = "https://files.pythonhosted.org/packages/89/37/a3333c5b69c086465ea3c073424ef2775e52a6c17276f642f64209c4a082/debugpy-1.8.12-cp39-cp39-macosx_14_0_x86_64.whl", hash = "sha256:b5c6c967d02fee30e157ab5227706f965d5c37679c687b1e7bbc5d9e7128bd41", size = 2077275 }, - { url = "https://files.pythonhosted.org/packages/50/1d/99f6a0a78b4b513ff2b0d0e44c1e705f7ee34e3aba0e8add617d339d97dc/debugpy-1.8.12-cp39-cp39-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:88a77f422f31f170c4b7e9ca58eae2a6c8e04da54121900651dfa8e66c29901a", size = 3555956 }, - { url = "https://files.pythonhosted.org/packages/b8/86/c624665aaa807d065da2016b05e9f2fb4fa56872d67a5fbd7751e77f7f88/debugpy-1.8.12-cp39-cp39-win32.whl", hash = "sha256:a4042edef80364239f5b7b5764e55fd3ffd40c32cf6753da9bda4ff0ac466018", size = 5181535 }, - { url = "https://files.pythonhosted.org/packages/72/c7/d59a0f845ce1677b5c2bb170f08cc1cc3531625a5fdce9c67bd31116540a/debugpy-1.8.12-cp39-cp39-win_amd64.whl", hash = "sha256:f30b03b0f27608a0b26c75f0bb8a880c752c0e0b01090551b9d87c7d783e2069", size = 5213601 }, - { url = "https://files.pythonhosted.org/packages/38/c4/5120ad36405c3008f451f94b8f92ef1805b1e516f6ff870f331ccb3c4cc0/debugpy-1.8.12-py2.py3-none-any.whl", hash = "sha256:274b6a2040349b5c9864e475284bce5bb062e63dce368a394b8cc865ae3b00c6", size = 5229490 }, +sdist = { url = "https://files.pythonhosted.org/packages/68/25/c74e337134edf55c4dfc9af579eccb45af2393c40960e2795a94351e8140/debugpy-1.8.12.tar.gz", hash = "sha256:646530b04f45c830ceae8e491ca1c9320a2d2f0efea3141487c82130aba70dce", size = 1641122, upload-time = "2025-01-16T17:26:42.727Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/56/19/dd58334c0a1ec07babf80bf29fb8daf1a7ca4c1a3bbe61548e40616ac087/debugpy-1.8.12-cp310-cp310-macosx_14_0_x86_64.whl", hash = "sha256:a2ba7ffe58efeae5b8fad1165357edfe01464f9aef25e814e891ec690e7dd82a", size = 2076091, upload-time = "2025-01-16T17:26:46.392Z" }, + { url = "https://files.pythonhosted.org/packages/4c/37/bde1737da15f9617d11ab7b8d5267165f1b7dae116b2585a6643e89e1fa2/debugpy-1.8.12-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:cbbd4149c4fc5e7d508ece083e78c17442ee13b0e69bfa6bd63003e486770f45", size = 3560717, upload-time = "2025-01-16T17:26:49.4Z" }, + { url = "https://files.pythonhosted.org/packages/d9/ca/bc67f5a36a7de072908bc9e1156c0f0b272a9a2224cf21540ab1ffd71a1f/debugpy-1.8.12-cp310-cp310-win32.whl", hash = "sha256:b202f591204023b3ce62ff9a47baa555dc00bb092219abf5caf0e3718ac20e7c", size = 5180672, upload-time = "2025-01-16T17:26:53.086Z" }, + { url = "https://files.pythonhosted.org/packages/c1/b9/e899c0a80dfa674dbc992f36f2b1453cd1ee879143cdb455bc04fce999da/debugpy-1.8.12-cp310-cp310-win_amd64.whl", hash = "sha256:9649eced17a98ce816756ce50433b2dd85dfa7bc92ceb60579d68c053f98dff9", size = 5212702, upload-time = "2025-01-16T17:26:56.128Z" }, + { url = "https://files.pythonhosted.org/packages/af/9f/5b8af282253615296264d4ef62d14a8686f0dcdebb31a669374e22fff0a4/debugpy-1.8.12-cp311-cp311-macosx_14_0_universal2.whl", hash = "sha256:36f4829839ef0afdfdd208bb54f4c3d0eea86106d719811681a8627ae2e53dd5", size = 2174643, upload-time = "2025-01-16T17:26:59.003Z" }, + { url = "https://files.pythonhosted.org/packages/ef/31/f9274dcd3b0f9f7d1e60373c3fa4696a585c55acb30729d313bb9d3bcbd1/debugpy-1.8.12-cp311-cp311-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:a28ed481d530e3138553be60991d2d61103ce6da254e51547b79549675f539b7", size = 3133457, upload-time = "2025-01-16T17:27:02.014Z" }, + { url = "https://files.pythonhosted.org/packages/ab/ca/6ee59e9892e424477e0c76e3798046f1fd1288040b927319c7a7b0baa484/debugpy-1.8.12-cp311-cp311-win32.whl", hash = "sha256:4ad9a94d8f5c9b954e0e3b137cc64ef3f579d0df3c3698fe9c3734ee397e4abb", size = 5106220, upload-time = "2025-01-16T17:27:05.212Z" }, + { url = "https://files.pythonhosted.org/packages/d5/1a/8ab508ab05ede8a4eae3b139bbc06ea3ca6234f9e8c02713a044f253be5e/debugpy-1.8.12-cp311-cp311-win_amd64.whl", hash = "sha256:4703575b78dd697b294f8c65588dc86874ed787b7348c65da70cfc885efdf1e1", size = 5130481, upload-time = "2025-01-16T17:27:07.291Z" }, + { url = "https://files.pythonhosted.org/packages/ba/e6/0f876ecfe5831ebe4762b19214364753c8bc2b357d28c5d739a1e88325c7/debugpy-1.8.12-cp312-cp312-macosx_14_0_universal2.whl", hash = "sha256:7e94b643b19e8feb5215fa508aee531387494bf668b2eca27fa769ea11d9f498", size = 2500846, upload-time = "2025-01-16T17:27:09.277Z" }, + { url = "https://files.pythonhosted.org/packages/19/64/33f41653a701f3cd2cbff8b41ebaad59885b3428b5afd0d93d16012ecf17/debugpy-1.8.12-cp312-cp312-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:086b32e233e89a2740c1615c2f775c34ae951508b28b308681dbbb87bba97d06", size = 4222181, upload-time = "2025-01-16T17:27:11.106Z" }, + { url = "https://files.pythonhosted.org/packages/32/a6/02646cfe50bfacc9b71321c47dc19a46e35f4e0aceea227b6d205e900e34/debugpy-1.8.12-cp312-cp312-win32.whl", hash = "sha256:2ae5df899732a6051b49ea2632a9ea67f929604fd2b036613a9f12bc3163b92d", size = 5227017, upload-time = "2025-01-16T17:27:13.29Z" }, + { url = "https://files.pythonhosted.org/packages/da/a6/10056431b5c47103474312cf4a2ec1001f73e0b63b1216706d5fef2531eb/debugpy-1.8.12-cp312-cp312-win_amd64.whl", hash = "sha256:39dfbb6fa09f12fae32639e3286112fc35ae976114f1f3d37375f3130a820969", size = 5267555, upload-time = "2025-01-16T17:27:15.184Z" }, + { url = "https://files.pythonhosted.org/packages/cf/4d/7c3896619a8791effd5d8c31f0834471fc8f8fb3047ec4f5fc69dd1393dd/debugpy-1.8.12-cp313-cp313-macosx_14_0_universal2.whl", hash = "sha256:696d8ae4dff4cbd06bf6b10d671e088b66669f110c7c4e18a44c43cf75ce966f", size = 2485246, upload-time = "2025-01-16T17:27:18.389Z" }, + { url = "https://files.pythonhosted.org/packages/99/46/bc6dcfd7eb8cc969a5716d858e32485eb40c72c6a8dc88d1e3a4d5e95813/debugpy-1.8.12-cp313-cp313-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:898fba72b81a654e74412a67c7e0a81e89723cfe2a3ea6fcd3feaa3395138ca9", size = 4218616, upload-time = "2025-01-16T17:27:20.374Z" }, + { url = "https://files.pythonhosted.org/packages/03/dd/d7fcdf0381a9b8094da1f6a1c9f19fed493a4f8576a2682349b3a8b20ec7/debugpy-1.8.12-cp313-cp313-win32.whl", hash = "sha256:22a11c493c70413a01ed03f01c3c3a2fc4478fc6ee186e340487b2edcd6f4180", size = 5226540, upload-time = "2025-01-16T17:27:22.504Z" }, + { url = "https://files.pythonhosted.org/packages/25/bd/ecb98f5b5fc7ea0bfbb3c355bc1dd57c198a28780beadd1e19915bf7b4d9/debugpy-1.8.12-cp313-cp313-win_amd64.whl", hash = "sha256:fdb3c6d342825ea10b90e43d7f20f01535a72b3a1997850c0c3cefa5c27a4a2c", size = 5267134, upload-time = "2025-01-16T17:27:25.616Z" }, + { url = "https://files.pythonhosted.org/packages/6f/56/6c7ddb4dfd2feca7ea3a580a32c7694f6c77183fa08932ee8ba37a0e703c/debugpy-1.8.12-cp38-cp38-macosx_14_0_x86_64.whl", hash = "sha256:b0232cd42506d0c94f9328aaf0d1d0785f90f87ae72d9759df7e5051be039738", size = 2076797, upload-time = "2025-01-16T17:27:28.718Z" }, + { url = "https://files.pythonhosted.org/packages/73/25/a58e149ddcd609c8212ca733999251022e53508906e2c9f67252e4516de6/debugpy-1.8.12-cp38-cp38-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:9af40506a59450f1315168d47a970db1a65aaab5df3833ac389d2899a5d63b3f", size = 3632547, upload-time = "2025-01-16T17:27:30.398Z" }, + { url = "https://files.pythonhosted.org/packages/91/c7/17c09b9d8332d09b7b0aa430085010945d92d90945748948cd38865c0b93/debugpy-1.8.12-cp38-cp38-win32.whl", hash = "sha256:5cc45235fefac57f52680902b7d197fb2f3650112379a6fa9aa1b1c1d3ed3f02", size = 5185270, upload-time = "2025-01-16T17:27:33.294Z" }, + { url = "https://files.pythonhosted.org/packages/3b/d1/afdbb99f95f54c2768fa2511bf38ec8805b4cde319725e318e5016b252ec/debugpy-1.8.12-cp38-cp38-win_amd64.whl", hash = "sha256:557cc55b51ab2f3371e238804ffc8510b6ef087673303890f57a24195d096e61", size = 5217697, upload-time = "2025-01-16T17:27:36.957Z" }, + { url = "https://files.pythonhosted.org/packages/89/37/a3333c5b69c086465ea3c073424ef2775e52a6c17276f642f64209c4a082/debugpy-1.8.12-cp39-cp39-macosx_14_0_x86_64.whl", hash = "sha256:b5c6c967d02fee30e157ab5227706f965d5c37679c687b1e7bbc5d9e7128bd41", size = 2077275, upload-time = "2025-01-16T17:27:39.289Z" }, + { url = "https://files.pythonhosted.org/packages/50/1d/99f6a0a78b4b513ff2b0d0e44c1e705f7ee34e3aba0e8add617d339d97dc/debugpy-1.8.12-cp39-cp39-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:88a77f422f31f170c4b7e9ca58eae2a6c8e04da54121900651dfa8e66c29901a", size = 3555956, upload-time = "2025-01-16T17:27:41.002Z" }, + { url = "https://files.pythonhosted.org/packages/b8/86/c624665aaa807d065da2016b05e9f2fb4fa56872d67a5fbd7751e77f7f88/debugpy-1.8.12-cp39-cp39-win32.whl", hash = "sha256:a4042edef80364239f5b7b5764e55fd3ffd40c32cf6753da9bda4ff0ac466018", size = 5181535, upload-time = "2025-01-16T17:27:42.878Z" }, + { url = "https://files.pythonhosted.org/packages/72/c7/d59a0f845ce1677b5c2bb170f08cc1cc3531625a5fdce9c67bd31116540a/debugpy-1.8.12-cp39-cp39-win_amd64.whl", hash = "sha256:f30b03b0f27608a0b26c75f0bb8a880c752c0e0b01090551b9d87c7d783e2069", size = 5213601, upload-time = "2025-01-16T17:27:46.082Z" }, + { url = "https://files.pythonhosted.org/packages/38/c4/5120ad36405c3008f451f94b8f92ef1805b1e516f6ff870f331ccb3c4cc0/debugpy-1.8.12-py2.py3-none-any.whl", hash = "sha256:274b6a2040349b5c9864e475284bce5bb062e63dce368a394b8cc865ae3b00c6", size = 5229490, upload-time = "2025-01-16T17:27:49.412Z" }, ] [[package]] name = "decorator" version = "5.1.1" source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/66/0c/8d907af351aa16b42caae42f9d6aa37b900c67308052d10fdce809f8d952/decorator-5.1.1.tar.gz", hash = "sha256:637996211036b6385ef91435e4fae22989472f9d571faba8927ba8253acbc330", size = 35016 } +sdist = { url = "https://files.pythonhosted.org/packages/66/0c/8d907af351aa16b42caae42f9d6aa37b900c67308052d10fdce809f8d952/decorator-5.1.1.tar.gz", hash = "sha256:637996211036b6385ef91435e4fae22989472f9d571faba8927ba8253acbc330", size = 35016, upload-time = "2022-01-07T08:20:05.666Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/d5/50/83c593b07763e1161326b3b8c6686f0f4b0f24d5526546bee538c89837d6/decorator-5.1.1-py3-none-any.whl", hash = "sha256:b8c3f85900b9dc423225913c5aace94729fe1fa9763b38939a95226f02d37186", size = 9073 }, + { url = "https://files.pythonhosted.org/packages/d5/50/83c593b07763e1161326b3b8c6686f0f4b0f24d5526546bee538c89837d6/decorator-5.1.1-py3-none-any.whl", hash = "sha256:b8c3f85900b9dc423225913c5aace94729fe1fa9763b38939a95226f02d37186", size = 9073, upload-time = "2022-01-07T08:20:03.734Z" }, ] [[package]] name = "defusedxml" version = "0.7.1" source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/0f/d5/c66da9b79e5bdb124974bfe172b4daf3c984ebd9c2a06e2b8a4dc7331c72/defusedxml-0.7.1.tar.gz", hash = "sha256:1bb3032db185915b62d7c6209c5a8792be6a32ab2fedacc84e01b52c51aa3e69", size = 75520 } +sdist = { url = "https://files.pythonhosted.org/packages/0f/d5/c66da9b79e5bdb124974bfe172b4daf3c984ebd9c2a06e2b8a4dc7331c72/defusedxml-0.7.1.tar.gz", hash = "sha256:1bb3032db185915b62d7c6209c5a8792be6a32ab2fedacc84e01b52c51aa3e69", size = 75520, upload-time = "2021-03-08T10:59:26.269Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/07/6c/aa3f2f849e01cb6a001cd8554a88d4c77c5c1a31c95bdf1cf9301e6d9ef4/defusedxml-0.7.1-py2.py3-none-any.whl", hash = "sha256:a352e7e428770286cc899e2542b6cdaedb2b4953ff269a210103ec58f6198a61", size = 25604 }, + { url = "https://files.pythonhosted.org/packages/07/6c/aa3f2f849e01cb6a001cd8554a88d4c77c5c1a31c95bdf1cf9301e6d9ef4/defusedxml-0.7.1-py2.py3-none-any.whl", hash = "sha256:a352e7e428770286cc899e2542b6cdaedb2b4953ff269a210103ec58f6198a61", size = 25604, upload-time = "2021-03-08T10:59:24.45Z" }, ] [[package]] name = "distlib" version = "0.3.9" source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/0d/dd/1bec4c5ddb504ca60fc29472f3d27e8d4da1257a854e1d96742f15c1d02d/distlib-0.3.9.tar.gz", hash = "sha256:a60f20dea646b8a33f3e7772f74dc0b2d0772d2837ee1342a00645c81edf9403", size = 613923 } +sdist = { url = "https://files.pythonhosted.org/packages/0d/dd/1bec4c5ddb504ca60fc29472f3d27e8d4da1257a854e1d96742f15c1d02d/distlib-0.3.9.tar.gz", hash = "sha256:a60f20dea646b8a33f3e7772f74dc0b2d0772d2837ee1342a00645c81edf9403", size = 613923, upload-time = "2024-10-09T18:35:47.551Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/91/a1/cf2472db20f7ce4a6be1253a81cfdf85ad9c7885ffbed7047fb72c24cf87/distlib-0.3.9-py2.py3-none-any.whl", hash = "sha256:47f8c22fd27c27e25a65601af709b38e4f0a45ea4fc2e710f65755fa8caaaf87", size = 468973 }, + { url = "https://files.pythonhosted.org/packages/91/a1/cf2472db20f7ce4a6be1253a81cfdf85ad9c7885ffbed7047fb72c24cf87/distlib-0.3.9-py2.py3-none-any.whl", hash = "sha256:47f8c22fd27c27e25a65601af709b38e4f0a45ea4fc2e710f65755fa8caaaf87", size = 468973, upload-time = "2024-10-09T18:35:44.272Z" }, ] [[package]] @@ -881,9 +881,9 @@ resolution-markers = [ "python_full_version < '3.9' and platform_machine == 'aarch64' and sys_platform == 'linux'", "(python_full_version < '3.9' and platform_machine != 'arm64' and sys_platform == 'darwin') or (python_full_version < '3.9' and platform_machine != 'aarch64' and sys_platform == 'linux') or (python_full_version < '3.9' and sys_platform != 'darwin' and sys_platform != 'linux')", ] -sdist = { url = "https://files.pythonhosted.org/packages/1f/53/a5da4f2c5739cf66290fac1431ee52aff6851c7c8ffd8264f13affd7bcdd/docutils-0.20.1.tar.gz", hash = "sha256:f08a4e276c3a1583a86dce3e34aba3fe04d02bba2dd51ed16106244e8a923e3b", size = 2058365 } +sdist = { url = "https://files.pythonhosted.org/packages/1f/53/a5da4f2c5739cf66290fac1431ee52aff6851c7c8ffd8264f13affd7bcdd/docutils-0.20.1.tar.gz", hash = "sha256:f08a4e276c3a1583a86dce3e34aba3fe04d02bba2dd51ed16106244e8a923e3b", size = 2058365, upload-time = "2023-05-16T23:39:19.748Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/26/87/f238c0670b94533ac0353a4e2a1a771a0cc73277b88bff23d3ae35a256c1/docutils-0.20.1-py3-none-any.whl", hash = "sha256:96f387a2c5562db4476f09f13bbab2192e764cac08ebbf3a34a95d9b1e4a59d6", size = 572666 }, + { url = "https://files.pythonhosted.org/packages/26/87/f238c0670b94533ac0353a4e2a1a771a0cc73277b88bff23d3ae35a256c1/docutils-0.20.1-py3-none-any.whl", hash = "sha256:96f387a2c5562db4476f09f13bbab2192e764cac08ebbf3a34a95d9b1e4a59d6", size = 572666, upload-time = "2023-05-16T23:39:15.976Z" }, ] [[package]] @@ -904,36 +904,36 @@ resolution-markers = [ "python_full_version == '3.9.*' and platform_machine == 'aarch64' and sys_platform == 'linux'", "(python_full_version == '3.9.*' and platform_machine != 'arm64' and sys_platform == 'darwin') or (python_full_version == '3.9.*' and platform_machine != 'aarch64' and sys_platform == 'linux') or (python_full_version == '3.9.*' and sys_platform != 'darwin' and sys_platform != 'linux')", ] -sdist = { url = "https://files.pythonhosted.org/packages/ae/ed/aefcc8cd0ba62a0560c3c18c33925362d46c6075480bfa4df87b28e169a9/docutils-0.21.2.tar.gz", hash = "sha256:3a6b18732edf182daa3cd12775bbb338cf5691468f91eeeb109deff6ebfa986f", size = 2204444 } +sdist = { url = "https://files.pythonhosted.org/packages/ae/ed/aefcc8cd0ba62a0560c3c18c33925362d46c6075480bfa4df87b28e169a9/docutils-0.21.2.tar.gz", hash = "sha256:3a6b18732edf182daa3cd12775bbb338cf5691468f91eeeb109deff6ebfa986f", size = 2204444, upload-time = "2024-04-23T18:57:18.24Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/8f/d7/9322c609343d929e75e7e5e6255e614fcc67572cfd083959cdef3b7aad79/docutils-0.21.2-py3-none-any.whl", hash = "sha256:dafca5b9e384f0e419294eb4d2ff9fa826435bf15f15b7bd45723e8ad76811b2", size = 587408 }, + { url = "https://files.pythonhosted.org/packages/8f/d7/9322c609343d929e75e7e5e6255e614fcc67572cfd083959cdef3b7aad79/docutils-0.21.2-py3-none-any.whl", hash = "sha256:dafca5b9e384f0e419294eb4d2ff9fa826435bf15f15b7bd45723e8ad76811b2", size = 587408, upload-time = "2024-04-23T18:57:14.835Z" }, ] [[package]] name = "exceptiongroup" version = "1.2.2" source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/09/35/2495c4ac46b980e4ca1f6ad6db102322ef3ad2410b79fdde159a4b0f3b92/exceptiongroup-1.2.2.tar.gz", hash = "sha256:47c2edf7c6738fafb49fd34290706d1a1a2f4d1c6df275526b62cbb4aa5393cc", size = 28883 } +sdist = { url = "https://files.pythonhosted.org/packages/09/35/2495c4ac46b980e4ca1f6ad6db102322ef3ad2410b79fdde159a4b0f3b92/exceptiongroup-1.2.2.tar.gz", hash = "sha256:47c2edf7c6738fafb49fd34290706d1a1a2f4d1c6df275526b62cbb4aa5393cc", size = 28883, upload-time = "2024-07-12T22:26:00.161Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/02/cc/b7e31358aac6ed1ef2bb790a9746ac2c69bcb3c8588b41616914eb106eaf/exceptiongroup-1.2.2-py3-none-any.whl", hash = "sha256:3111b9d131c238bec2f8f516e123e14ba243563fb135d3fe885990585aa7795b", size = 16453 }, + { url = "https://files.pythonhosted.org/packages/02/cc/b7e31358aac6ed1ef2bb790a9746ac2c69bcb3c8588b41616914eb106eaf/exceptiongroup-1.2.2-py3-none-any.whl", hash = "sha256:3111b9d131c238bec2f8f516e123e14ba243563fb135d3fe885990585aa7795b", size = 16453, upload-time = "2024-07-12T22:25:58.476Z" }, ] [[package]] name = "executing" version = "2.2.0" source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/91/50/a9d80c47ff289c611ff12e63f7c5d13942c65d68125160cefd768c73e6e4/executing-2.2.0.tar.gz", hash = "sha256:5d108c028108fe2551d1a7b2e8b713341e2cb4fc0aa7dcf966fa4327a5226755", size = 978693 } +sdist = { url = "https://files.pythonhosted.org/packages/91/50/a9d80c47ff289c611ff12e63f7c5d13942c65d68125160cefd768c73e6e4/executing-2.2.0.tar.gz", hash = "sha256:5d108c028108fe2551d1a7b2e8b713341e2cb4fc0aa7dcf966fa4327a5226755", size = 978693, upload-time = "2025-01-22T15:41:29.403Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/7b/8f/c4d9bafc34ad7ad5d8dc16dd1347ee0e507a52c3adb6bfa8887e1c6a26ba/executing-2.2.0-py2.py3-none-any.whl", hash = "sha256:11387150cad388d62750327a53d3339fad4888b39a6fe233c3afbb54ecffd3aa", size = 26702 }, + { url = "https://files.pythonhosted.org/packages/7b/8f/c4d9bafc34ad7ad5d8dc16dd1347ee0e507a52c3adb6bfa8887e1c6a26ba/executing-2.2.0-py2.py3-none-any.whl", hash = "sha256:11387150cad388d62750327a53d3339fad4888b39a6fe233c3afbb54ecffd3aa", size = 26702, upload-time = "2025-01-22T15:41:25.929Z" }, ] [[package]] name = "fastjsonschema" version = "2.21.1" source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/8b/50/4b769ce1ac4071a1ef6d86b1a3fb56cdc3a37615e8c5519e1af96cdac366/fastjsonschema-2.21.1.tar.gz", hash = "sha256:794d4f0a58f848961ba16af7b9c85a3e88cd360df008c59aac6fc5ae9323b5d4", size = 373939 } +sdist = { url = "https://files.pythonhosted.org/packages/8b/50/4b769ce1ac4071a1ef6d86b1a3fb56cdc3a37615e8c5519e1af96cdac366/fastjsonschema-2.21.1.tar.gz", hash = "sha256:794d4f0a58f848961ba16af7b9c85a3e88cd360df008c59aac6fc5ae9323b5d4", size = 373939, upload-time = "2024-12-02T10:55:15.133Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/90/2b/0817a2b257fe88725c25589d89aec060581aabf668707a8d03b2e9e0cb2a/fastjsonschema-2.21.1-py3-none-any.whl", hash = "sha256:c9e5b7e908310918cf494a434eeb31384dd84a98b57a30bcb1f535015b554667", size = 23924 }, + { url = "https://files.pythonhosted.org/packages/90/2b/0817a2b257fe88725c25589d89aec060581aabf668707a8d03b2e9e0cb2a/fastjsonschema-2.21.1-py3-none-any.whl", hash = "sha256:c9e5b7e908310918cf494a434eeb31384dd84a98b57a30bcb1f535015b554667", size = 23924, upload-time = "2024-12-02T10:55:07.599Z" }, ] [[package]] @@ -945,9 +945,9 @@ resolution-markers = [ "python_full_version < '3.9' and platform_machine == 'aarch64' and sys_platform == 'linux'", "(python_full_version < '3.9' and platform_machine != 'arm64' and sys_platform == 'darwin') or (python_full_version < '3.9' and platform_machine != 'aarch64' and sys_platform == 'linux') or (python_full_version < '3.9' and sys_platform != 'darwin' and sys_platform != 'linux')", ] -sdist = { url = "https://files.pythonhosted.org/packages/9d/db/3ef5bb276dae18d6ec2124224403d1d67bccdbefc17af4cc8f553e341ab1/filelock-3.16.1.tar.gz", hash = "sha256:c249fbfcd5db47e5e2d6d62198e565475ee65e4831e2561c8e313fa7eb961435", size = 18037 } +sdist = { url = "https://files.pythonhosted.org/packages/9d/db/3ef5bb276dae18d6ec2124224403d1d67bccdbefc17af4cc8f553e341ab1/filelock-3.16.1.tar.gz", hash = "sha256:c249fbfcd5db47e5e2d6d62198e565475ee65e4831e2561c8e313fa7eb961435", size = 18037, upload-time = "2024-09-17T19:02:01.779Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/b9/f8/feced7779d755758a52d1f6635d990b8d98dc0a29fa568bbe0625f18fdf3/filelock-3.16.1-py3-none-any.whl", hash = "sha256:2082e5703d51fbf98ea75855d9d5527e33d8ff23099bec374a134febee6946b0", size = 16163 }, + { url = "https://files.pythonhosted.org/packages/b9/f8/feced7779d755758a52d1f6635d990b8d98dc0a29fa568bbe0625f18fdf3/filelock-3.16.1-py3-none-any.whl", hash = "sha256:2082e5703d51fbf98ea75855d9d5527e33d8ff23099bec374a134febee6946b0", size = 16163, upload-time = "2024-09-17T19:02:00.268Z" }, ] [[package]] @@ -968,75 +968,75 @@ resolution-markers = [ "python_full_version == '3.9.*' and platform_machine == 'aarch64' and sys_platform == 'linux'", "(python_full_version == '3.9.*' and platform_machine != 'arm64' and sys_platform == 'darwin') or (python_full_version == '3.9.*' and platform_machine != 'aarch64' and sys_platform == 'linux') or (python_full_version == '3.9.*' and sys_platform != 'darwin' and sys_platform != 'linux')", ] -sdist = { url = "https://files.pythonhosted.org/packages/dc/9c/0b15fb47b464e1b663b1acd1253a062aa5feecb07d4e597daea542ebd2b5/filelock-3.17.0.tar.gz", hash = "sha256:ee4e77401ef576ebb38cd7f13b9b28893194acc20a8e68e18730ba9c0e54660e", size = 18027 } +sdist = { url = "https://files.pythonhosted.org/packages/dc/9c/0b15fb47b464e1b663b1acd1253a062aa5feecb07d4e597daea542ebd2b5/filelock-3.17.0.tar.gz", hash = "sha256:ee4e77401ef576ebb38cd7f13b9b28893194acc20a8e68e18730ba9c0e54660e", size = 18027, upload-time = "2025-01-21T20:04:49.099Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/89/ec/00d68c4ddfedfe64159999e5f8a98fb8442729a63e2077eb9dcd89623d27/filelock-3.17.0-py3-none-any.whl", hash = "sha256:533dc2f7ba78dc2f0f531fc6c4940addf7b70a481e269a5a3b93be94ffbe8338", size = 16164 }, + { url = "https://files.pythonhosted.org/packages/89/ec/00d68c4ddfedfe64159999e5f8a98fb8442729a63e2077eb9dcd89623d27/filelock-3.17.0-py3-none-any.whl", hash = "sha256:533dc2f7ba78dc2f0f531fc6c4940addf7b70a481e269a5a3b93be94ffbe8338", size = 16164, upload-time = "2025-01-21T20:04:47.734Z" }, ] [[package]] name = "fonttools" version = "4.56.0" source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/1c/8c/9ffa2a555af0e5e5d0e2ed7fdd8c9bef474ed676995bb4c57c9cd0014248/fonttools-4.56.0.tar.gz", hash = "sha256:a114d1567e1a1586b7e9e7fc2ff686ca542a82769a296cef131e4c4af51e58f4", size = 3462892 } -wheels = [ - { url = "https://files.pythonhosted.org/packages/1e/5e/6ac30c2cc6a29454260f13c9c6422fc509b7982c13cd4597041260d8f482/fonttools-4.56.0-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:331954d002dbf5e704c7f3756028e21db07097c19722569983ba4d74df014000", size = 2752190 }, - { url = "https://files.pythonhosted.org/packages/92/3a/ac382a8396d1b420ee45eeb0f65b614a9ca7abbb23a1b17524054f0f2200/fonttools-4.56.0-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:8d1613abd5af2f93c05867b3a3759a56e8bf97eb79b1da76b2bc10892f96ff16", size = 2280624 }, - { url = "https://files.pythonhosted.org/packages/8a/ae/00b58bfe20e9ff7fbc3dda38f5d127913942b5e252288ea9583099a31bf5/fonttools-4.56.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:705837eae384fe21cee5e5746fd4f4b2f06f87544fa60f60740007e0aa600311", size = 4562074 }, - { url = "https://files.pythonhosted.org/packages/46/d0/0004ca8f6a200252e5bd6982ed99b5fe58c4c59efaf5f516621c4cd8f703/fonttools-4.56.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:bc871904a53a9d4d908673c6faa15689874af1c7c5ac403a8e12d967ebd0c0dc", size = 4604747 }, - { url = "https://files.pythonhosted.org/packages/45/ea/c8862bd3e09d143ef8ed8268ec8a7d477828f960954889e65288ac050b08/fonttools-4.56.0-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:38b947de71748bab150259ee05a775e8a0635891568e9fdb3cdd7d0e0004e62f", size = 4559025 }, - { url = "https://files.pythonhosted.org/packages/8f/75/bb88a9552ec1de31a414066257bfd9f40f4ada00074f7a3799ea39b5741f/fonttools-4.56.0-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:86b2a1013ef7a64d2e94606632683f07712045ed86d937c11ef4dde97319c086", size = 4728482 }, - { url = "https://files.pythonhosted.org/packages/2a/5f/80a2b640df1e1bb7d459d62c8b3f37fe83fd413897e549106d4ebe6371f5/fonttools-4.56.0-cp310-cp310-win32.whl", hash = "sha256:133bedb9a5c6376ad43e6518b7e2cd2f866a05b1998f14842631d5feb36b5786", size = 2155557 }, - { url = "https://files.pythonhosted.org/packages/8f/85/0904f9dbe51ac70d878d3242a8583b9453a09105c3ed19c6301247fd0d3a/fonttools-4.56.0-cp310-cp310-win_amd64.whl", hash = "sha256:17f39313b649037f6c800209984a11fc256a6137cbe5487091c6c7187cae4685", size = 2200017 }, - { url = "https://files.pythonhosted.org/packages/35/56/a2f3e777d48fcae7ecd29de4d96352d84e5ea9871e5f3fc88241521572cf/fonttools-4.56.0-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:7ef04bc7827adb7532be3d14462390dd71287644516af3f1e67f1e6ff9c6d6df", size = 2753325 }, - { url = "https://files.pythonhosted.org/packages/71/85/d483e9c4e5ed586b183bf037a353e8d766366b54fd15519b30e6178a6a6e/fonttools-4.56.0-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:ffda9b8cd9cb8b301cae2602ec62375b59e2e2108a117746f12215145e3f786c", size = 2281554 }, - { url = "https://files.pythonhosted.org/packages/09/67/060473b832b2fade03c127019794df6dc02d9bc66fa4210b8e0d8a99d1e5/fonttools-4.56.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:e2e993e8db36306cc3f1734edc8ea67906c55f98683d6fd34c3fc5593fdbba4c", size = 4869260 }, - { url = "https://files.pythonhosted.org/packages/28/e9/47c02d5a7027e8ed841ab6a10ca00c93dadd5f16742f1af1fa3f9978adf4/fonttools-4.56.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:003548eadd674175510773f73fb2060bb46adb77c94854af3e0cc5bc70260049", size = 4898508 }, - { url = "https://files.pythonhosted.org/packages/bf/8a/221d456d1afb8ca043cfd078f59f187ee5d0a580f4b49351b9ce95121f57/fonttools-4.56.0-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:bd9825822e7bb243f285013e653f6741954d8147427aaa0324a862cdbf4cbf62", size = 4877700 }, - { url = "https://files.pythonhosted.org/packages/a4/8c/e503863adf7a6aeff7b960e2f66fa44dd0c29a7a8b79765b2821950d7b05/fonttools-4.56.0-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:b23d30a2c0b992fb1c4f8ac9bfde44b5586d23457759b6cf9a787f1a35179ee0", size = 5045817 }, - { url = "https://files.pythonhosted.org/packages/2b/50/79ba3b7e42f4eaa70b82b9e79155f0f6797858dc8a97862428b6852c6aee/fonttools-4.56.0-cp311-cp311-win32.whl", hash = "sha256:47b5e4680002ae1756d3ae3b6114e20aaee6cc5c69d1e5911f5ffffd3ee46c6b", size = 2154426 }, - { url = "https://files.pythonhosted.org/packages/3b/90/4926e653041c4116ecd43e50e3c79f5daae6dcafc58ceb64bc4f71dd4924/fonttools-4.56.0-cp311-cp311-win_amd64.whl", hash = "sha256:14a3e3e6b211660db54ca1ef7006401e4a694e53ffd4553ab9bc87ead01d0f05", size = 2200937 }, - { url = "https://files.pythonhosted.org/packages/39/32/71cfd6877999576a11824a7fe7bc0bb57c5c72b1f4536fa56a3e39552643/fonttools-4.56.0-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:d6f195c14c01bd057bc9b4f70756b510e009c83c5ea67b25ced3e2c38e6ee6e9", size = 2747757 }, - { url = "https://files.pythonhosted.org/packages/15/52/d9f716b072c5061a0b915dd4c387f74bef44c68c069e2195c753905bd9b7/fonttools-4.56.0-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:fa760e5fe8b50cbc2d71884a1eff2ed2b95a005f02dda2fa431560db0ddd927f", size = 2279007 }, - { url = "https://files.pythonhosted.org/packages/d1/97/f1b3a8afa9a0d814a092a25cd42f59ccb98a0bb7a295e6e02fc9ba744214/fonttools-4.56.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d54a45d30251f1d729e69e5b675f9a08b7da413391a1227781e2a297fa37f6d2", size = 4783991 }, - { url = "https://files.pythonhosted.org/packages/95/70/2a781bedc1c45a0c61d29c56425609b22ed7f971da5d7e5df2679488741b/fonttools-4.56.0-cp312-cp312-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:661a8995d11e6e4914a44ca7d52d1286e2d9b154f685a4d1f69add8418961563", size = 4855109 }, - { url = "https://files.pythonhosted.org/packages/0c/02/a2597858e61a5e3fb6a14d5f6be9e6eb4eaf090da56ad70cedcbdd201685/fonttools-4.56.0-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:9d94449ad0a5f2a8bf5d2f8d71d65088aee48adbe45f3c5f8e00e3ad861ed81a", size = 4762496 }, - { url = "https://files.pythonhosted.org/packages/f2/00/aaf00100d6078fdc73f7352b44589804af9dc12b182a2540b16002152ba4/fonttools-4.56.0-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:f59746f7953f69cc3290ce2f971ab01056e55ddd0fb8b792c31a8acd7fee2d28", size = 4990094 }, - { url = "https://files.pythonhosted.org/packages/bf/dc/3ff1db522460db60cf3adaf1b64e0c72b43406717d139786d3fa1eb20709/fonttools-4.56.0-cp312-cp312-win32.whl", hash = "sha256:bce60f9a977c9d3d51de475af3f3581d9b36952e1f8fc19a1f2254f1dda7ce9c", size = 2142888 }, - { url = "https://files.pythonhosted.org/packages/6f/e3/5a181a85777f7809076e51f7422e0dc77eb04676c40ec8bf6a49d390d1ff/fonttools-4.56.0-cp312-cp312-win_amd64.whl", hash = "sha256:300c310bb725b2bdb4f5fc7e148e190bd69f01925c7ab437b9c0ca3e1c7cd9ba", size = 2189734 }, - { url = "https://files.pythonhosted.org/packages/a5/55/f06b48d48e0b4ec3a3489efafe9bd4d81b6e0802ac51026e3ee4634e89ba/fonttools-4.56.0-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:f20e2c0dfab82983a90f3d00703ac0960412036153e5023eed2b4641d7d5e692", size = 2735127 }, - { url = "https://files.pythonhosted.org/packages/59/db/d2c7c9b6dd5cbd46f183e650a47403ffb88fca17484eb7c4b1cd88f9e513/fonttools-4.56.0-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:f36a0868f47b7566237640c026c65a86d09a3d9ca5df1cd039e30a1da73098a0", size = 2272519 }, - { url = "https://files.pythonhosted.org/packages/4d/a2/da62d779c34a0e0c06415f02eab7fa3466de5d46df459c0275a255cefc65/fonttools-4.56.0-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:62b4c6802fa28e14dba010e75190e0e6228513573f1eeae57b11aa1a39b7e5b1", size = 4762423 }, - { url = "https://files.pythonhosted.org/packages/be/6a/fd4018e0448c8a5e12138906411282c5eab51a598493f080a9f0960e658f/fonttools-4.56.0-cp313-cp313-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:a05d1f07eb0a7d755fbe01fee1fd255c3a4d3730130cf1bfefb682d18fd2fcea", size = 4834442 }, - { url = "https://files.pythonhosted.org/packages/6d/63/fa1dec8efb35bc11ef9c39b2d74754b45d48a3ccb2cf78c0109c0af639e8/fonttools-4.56.0-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:0073b62c3438cf0058488c002ea90489e8801d3a7af5ce5f7c05c105bee815c3", size = 4742800 }, - { url = "https://files.pythonhosted.org/packages/dd/f4/963247ae8c73ccc4cf2929e7162f595c81dbe17997d1d0ea77da24a217c9/fonttools-4.56.0-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:e2cad98c94833465bcf28f51c248aaf07ca022efc6a3eba750ad9c1e0256d278", size = 4963746 }, - { url = "https://files.pythonhosted.org/packages/ea/e0/46f9600c39c644b54e4420f941f75fa200d9288c9ae171e5d80918b8cbb9/fonttools-4.56.0-cp313-cp313-win32.whl", hash = "sha256:d0cb73ccf7f6d7ca8d0bc7ea8ac0a5b84969a41c56ac3ac3422a24df2680546f", size = 2140927 }, - { url = "https://files.pythonhosted.org/packages/27/6d/3edda54f98a550a0473f032d8050315fbc8f1b76a0d9f3879b72ebb2cdd6/fonttools-4.56.0-cp313-cp313-win_amd64.whl", hash = "sha256:62cc1253827d1e500fde9dbe981219fea4eb000fd63402283472d38e7d8aa1c6", size = 2186709 }, - { url = "https://files.pythonhosted.org/packages/72/2d/762488c56a2bba2fa4d459233d971c2122bf1ed1ec5d9edfee7d58963ef5/fonttools-4.56.0-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:3fd3fccb7b9adaaecfa79ad51b759f2123e1aba97f857936ce044d4f029abd71", size = 2749891 }, - { url = "https://files.pythonhosted.org/packages/5a/64/4d4a46959e4bfd62210eee4c5c3259ec62c6eca437fa2e3e795ac0bde94f/fonttools-4.56.0-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:193b86e9f769320bc98ffdb42accafb5d0c8c49bd62884f1c0702bc598b3f0a2", size = 2279311 }, - { url = "https://files.pythonhosted.org/packages/5e/cd/0531711a900bb89cc757259c21fd67cc3cb4de260b3c4c1390dbfa463b01/fonttools-4.56.0-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:6e81c1cc80c1d8bf071356cc3e0e25071fbba1c75afc48d41b26048980b3c771", size = 4643308 }, - { url = "https://files.pythonhosted.org/packages/e0/c1/a3b9221b623eead07a4f2fd105b9183a2f70461deae14fac0f4c65872d04/fonttools-4.56.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:e9270505a19361e81eecdbc2c251ad1e1a9a9c2ad75fa022ccdee533f55535dc", size = 4687400 }, - { url = "https://files.pythonhosted.org/packages/67/14/67f5c0b695e4043b566e04b1f78e4f749cdd1bab6370f8056791e1c57314/fonttools-4.56.0-cp38-cp38-musllinux_1_2_aarch64.whl", hash = "sha256:53f5e9767978a4daf46f28e09dbeb7d010319924ae622f7b56174b777258e5ba", size = 4665170 }, - { url = "https://files.pythonhosted.org/packages/3c/fe/c8bfbe682def287eca26052e5232ca293ea0f9a6a3051dab2cb65e4ef401/fonttools-4.56.0-cp38-cp38-musllinux_1_2_x86_64.whl", hash = "sha256:9da650cb29bc098b8cfd15ef09009c914b35c7986c8fa9f08b51108b7bc393b4", size = 4844223 }, - { url = "https://files.pythonhosted.org/packages/9c/c1/2133e0a2558c94fefb3d655b3ca782f4310aa86ee8da0e12274cf6dc91c2/fonttools-4.56.0-cp38-cp38-win32.whl", hash = "sha256:965d0209e6dbdb9416100123b6709cb13f5232e2d52d17ed37f9df0cc31e2b35", size = 1480341 }, - { url = "https://files.pythonhosted.org/packages/e9/73/e0285a1cd25da20f1403a6dea54c116a6ccae6063f209a39793977dad03a/fonttools-4.56.0-cp38-cp38-win_amd64.whl", hash = "sha256:654ac4583e2d7c62aebc6fc6a4c6736f078f50300e18aa105d87ce8925cfac31", size = 1525378 }, - { url = "https://files.pythonhosted.org/packages/c2/a0/c62b7f219f74f0e9c4b7662c269b360f5c380cf7dfabaff06e114acc5576/fonttools-4.56.0-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:ca7962e8e5fc047cc4e59389959843aafbf7445b6c08c20d883e60ced46370a5", size = 2754871 }, - { url = "https://files.pythonhosted.org/packages/22/aa/2ce61705c48c4dc7953bec95f7cfa29e528294a06e7d38f2c674343425ca/fonttools-4.56.0-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:a1af375734018951c31c0737d04a9d5fd0a353a0253db5fbed2ccd44eac62d8c", size = 2281885 }, - { url = "https://files.pythonhosted.org/packages/81/68/508c1e84050b950918b1345ee22def98291b2e58890b0f3c2d0cfc4fee6b/fonttools-4.56.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:442ad4122468d0e47d83bc59d0e91b474593a8c813839e1872e47c7a0cb53b10", size = 4567663 }, - { url = "https://files.pythonhosted.org/packages/56/af/78b2c901949ca37c02ba4eec88020479e929b7d1126af30ee9d7e44b4c4c/fonttools-4.56.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:3cf4f8d2a30b454ac682e12c61831dcb174950c406011418e739de592bbf8f76", size = 4612654 }, - { url = "https://files.pythonhosted.org/packages/cb/fb/156bd9760b6d42be3d821f0ac3edccf8daf97b0e4fe539c569b6593f4b6a/fonttools-4.56.0-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:96a4271f63a615bcb902b9f56de00ea225d6896052c49f20d0c91e9f43529a29", size = 4561135 }, - { url = "https://files.pythonhosted.org/packages/c4/e9/c6c433b8ea306ba402aa1d53349237d78c1d21ec11bb69cc6d8442533d5b/fonttools-4.56.0-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:6c1d38642ca2dddc7ae992ef5d026e5061a84f10ff2b906be5680ab089f55bb8", size = 4731430 }, - { url = "https://files.pythonhosted.org/packages/00/41/4c199ca2c6d25edced1cdd6a3d32b2471c1e85dc7fbb2145e73805cf2a38/fonttools-4.56.0-cp39-cp39-win32.whl", hash = "sha256:2d351275f73ebdd81dd5b09a8b8dac7a30f29a279d41e1c1192aedf1b6dced40", size = 2156113 }, - { url = "https://files.pythonhosted.org/packages/00/8f/430abf16726cd627e176df92c452f239fcc488fac1e23c9ab57bb7ad6976/fonttools-4.56.0-cp39-cp39-win_amd64.whl", hash = "sha256:d6ca96d1b61a707ba01a43318c9c40aaf11a5a568d1e61146fafa6ab20890793", size = 2200538 }, - { url = "https://files.pythonhosted.org/packages/bf/ff/44934a031ce5a39125415eb405b9efb76fe7f9586b75291d66ae5cbfc4e6/fonttools-4.56.0-py3-none-any.whl", hash = "sha256:1088182f68c303b50ca4dc0c82d42083d176cba37af1937e1a976a31149d4d14", size = 1089800 }, +sdist = { url = "https://files.pythonhosted.org/packages/1c/8c/9ffa2a555af0e5e5d0e2ed7fdd8c9bef474ed676995bb4c57c9cd0014248/fonttools-4.56.0.tar.gz", hash = "sha256:a114d1567e1a1586b7e9e7fc2ff686ca542a82769a296cef131e4c4af51e58f4", size = 3462892, upload-time = "2025-02-07T13:46:29.026Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/1e/5e/6ac30c2cc6a29454260f13c9c6422fc509b7982c13cd4597041260d8f482/fonttools-4.56.0-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:331954d002dbf5e704c7f3756028e21db07097c19722569983ba4d74df014000", size = 2752190, upload-time = "2025-02-07T13:43:30.593Z" }, + { url = "https://files.pythonhosted.org/packages/92/3a/ac382a8396d1b420ee45eeb0f65b614a9ca7abbb23a1b17524054f0f2200/fonttools-4.56.0-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:8d1613abd5af2f93c05867b3a3759a56e8bf97eb79b1da76b2bc10892f96ff16", size = 2280624, upload-time = "2025-02-07T13:43:35.349Z" }, + { url = "https://files.pythonhosted.org/packages/8a/ae/00b58bfe20e9ff7fbc3dda38f5d127913942b5e252288ea9583099a31bf5/fonttools-4.56.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:705837eae384fe21cee5e5746fd4f4b2f06f87544fa60f60740007e0aa600311", size = 4562074, upload-time = "2025-02-07T13:43:38.799Z" }, + { url = "https://files.pythonhosted.org/packages/46/d0/0004ca8f6a200252e5bd6982ed99b5fe58c4c59efaf5f516621c4cd8f703/fonttools-4.56.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:bc871904a53a9d4d908673c6faa15689874af1c7c5ac403a8e12d967ebd0c0dc", size = 4604747, upload-time = "2025-02-07T13:43:41.831Z" }, + { url = "https://files.pythonhosted.org/packages/45/ea/c8862bd3e09d143ef8ed8268ec8a7d477828f960954889e65288ac050b08/fonttools-4.56.0-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:38b947de71748bab150259ee05a775e8a0635891568e9fdb3cdd7d0e0004e62f", size = 4559025, upload-time = "2025-02-07T13:43:45.525Z" }, + { url = "https://files.pythonhosted.org/packages/8f/75/bb88a9552ec1de31a414066257bfd9f40f4ada00074f7a3799ea39b5741f/fonttools-4.56.0-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:86b2a1013ef7a64d2e94606632683f07712045ed86d937c11ef4dde97319c086", size = 4728482, upload-time = "2025-02-07T13:43:49.296Z" }, + { url = "https://files.pythonhosted.org/packages/2a/5f/80a2b640df1e1bb7d459d62c8b3f37fe83fd413897e549106d4ebe6371f5/fonttools-4.56.0-cp310-cp310-win32.whl", hash = "sha256:133bedb9a5c6376ad43e6518b7e2cd2f866a05b1998f14842631d5feb36b5786", size = 2155557, upload-time = "2025-02-07T13:43:52.029Z" }, + { url = "https://files.pythonhosted.org/packages/8f/85/0904f9dbe51ac70d878d3242a8583b9453a09105c3ed19c6301247fd0d3a/fonttools-4.56.0-cp310-cp310-win_amd64.whl", hash = "sha256:17f39313b649037f6c800209984a11fc256a6137cbe5487091c6c7187cae4685", size = 2200017, upload-time = "2025-02-07T13:43:54.768Z" }, + { url = "https://files.pythonhosted.org/packages/35/56/a2f3e777d48fcae7ecd29de4d96352d84e5ea9871e5f3fc88241521572cf/fonttools-4.56.0-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:7ef04bc7827adb7532be3d14462390dd71287644516af3f1e67f1e6ff9c6d6df", size = 2753325, upload-time = "2025-02-07T13:43:57.855Z" }, + { url = "https://files.pythonhosted.org/packages/71/85/d483e9c4e5ed586b183bf037a353e8d766366b54fd15519b30e6178a6a6e/fonttools-4.56.0-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:ffda9b8cd9cb8b301cae2602ec62375b59e2e2108a117746f12215145e3f786c", size = 2281554, upload-time = "2025-02-07T13:44:01.671Z" }, + { url = "https://files.pythonhosted.org/packages/09/67/060473b832b2fade03c127019794df6dc02d9bc66fa4210b8e0d8a99d1e5/fonttools-4.56.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:e2e993e8db36306cc3f1734edc8ea67906c55f98683d6fd34c3fc5593fdbba4c", size = 4869260, upload-time = "2025-02-07T13:44:05.746Z" }, + { url = "https://files.pythonhosted.org/packages/28/e9/47c02d5a7027e8ed841ab6a10ca00c93dadd5f16742f1af1fa3f9978adf4/fonttools-4.56.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:003548eadd674175510773f73fb2060bb46adb77c94854af3e0cc5bc70260049", size = 4898508, upload-time = "2025-02-07T13:44:09.965Z" }, + { url = "https://files.pythonhosted.org/packages/bf/8a/221d456d1afb8ca043cfd078f59f187ee5d0a580f4b49351b9ce95121f57/fonttools-4.56.0-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:bd9825822e7bb243f285013e653f6741954d8147427aaa0324a862cdbf4cbf62", size = 4877700, upload-time = "2025-02-07T13:44:13.598Z" }, + { url = "https://files.pythonhosted.org/packages/a4/8c/e503863adf7a6aeff7b960e2f66fa44dd0c29a7a8b79765b2821950d7b05/fonttools-4.56.0-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:b23d30a2c0b992fb1c4f8ac9bfde44b5586d23457759b6cf9a787f1a35179ee0", size = 5045817, upload-time = "2025-02-07T13:44:17.532Z" }, + { url = "https://files.pythonhosted.org/packages/2b/50/79ba3b7e42f4eaa70b82b9e79155f0f6797858dc8a97862428b6852c6aee/fonttools-4.56.0-cp311-cp311-win32.whl", hash = "sha256:47b5e4680002ae1756d3ae3b6114e20aaee6cc5c69d1e5911f5ffffd3ee46c6b", size = 2154426, upload-time = "2025-02-07T13:44:21.063Z" }, + { url = "https://files.pythonhosted.org/packages/3b/90/4926e653041c4116ecd43e50e3c79f5daae6dcafc58ceb64bc4f71dd4924/fonttools-4.56.0-cp311-cp311-win_amd64.whl", hash = "sha256:14a3e3e6b211660db54ca1ef7006401e4a694e53ffd4553ab9bc87ead01d0f05", size = 2200937, upload-time = "2025-02-07T13:44:24.607Z" }, + { url = "https://files.pythonhosted.org/packages/39/32/71cfd6877999576a11824a7fe7bc0bb57c5c72b1f4536fa56a3e39552643/fonttools-4.56.0-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:d6f195c14c01bd057bc9b4f70756b510e009c83c5ea67b25ced3e2c38e6ee6e9", size = 2747757, upload-time = "2025-02-07T13:44:28.021Z" }, + { url = "https://files.pythonhosted.org/packages/15/52/d9f716b072c5061a0b915dd4c387f74bef44c68c069e2195c753905bd9b7/fonttools-4.56.0-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:fa760e5fe8b50cbc2d71884a1eff2ed2b95a005f02dda2fa431560db0ddd927f", size = 2279007, upload-time = "2025-02-07T13:44:31.325Z" }, + { url = "https://files.pythonhosted.org/packages/d1/97/f1b3a8afa9a0d814a092a25cd42f59ccb98a0bb7a295e6e02fc9ba744214/fonttools-4.56.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d54a45d30251f1d729e69e5b675f9a08b7da413391a1227781e2a297fa37f6d2", size = 4783991, upload-time = "2025-02-07T13:44:34.888Z" }, + { url = "https://files.pythonhosted.org/packages/95/70/2a781bedc1c45a0c61d29c56425609b22ed7f971da5d7e5df2679488741b/fonttools-4.56.0-cp312-cp312-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:661a8995d11e6e4914a44ca7d52d1286e2d9b154f685a4d1f69add8418961563", size = 4855109, upload-time = "2025-02-07T13:44:40.702Z" }, + { url = "https://files.pythonhosted.org/packages/0c/02/a2597858e61a5e3fb6a14d5f6be9e6eb4eaf090da56ad70cedcbdd201685/fonttools-4.56.0-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:9d94449ad0a5f2a8bf5d2f8d71d65088aee48adbe45f3c5f8e00e3ad861ed81a", size = 4762496, upload-time = "2025-02-07T13:44:45.929Z" }, + { url = "https://files.pythonhosted.org/packages/f2/00/aaf00100d6078fdc73f7352b44589804af9dc12b182a2540b16002152ba4/fonttools-4.56.0-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:f59746f7953f69cc3290ce2f971ab01056e55ddd0fb8b792c31a8acd7fee2d28", size = 4990094, upload-time = "2025-02-07T13:44:49.004Z" }, + { url = "https://files.pythonhosted.org/packages/bf/dc/3ff1db522460db60cf3adaf1b64e0c72b43406717d139786d3fa1eb20709/fonttools-4.56.0-cp312-cp312-win32.whl", hash = "sha256:bce60f9a977c9d3d51de475af3f3581d9b36952e1f8fc19a1f2254f1dda7ce9c", size = 2142888, upload-time = "2025-02-07T13:44:54.127Z" }, + { url = "https://files.pythonhosted.org/packages/6f/e3/5a181a85777f7809076e51f7422e0dc77eb04676c40ec8bf6a49d390d1ff/fonttools-4.56.0-cp312-cp312-win_amd64.whl", hash = "sha256:300c310bb725b2bdb4f5fc7e148e190bd69f01925c7ab437b9c0ca3e1c7cd9ba", size = 2189734, upload-time = "2025-02-07T13:44:57.393Z" }, + { url = "https://files.pythonhosted.org/packages/a5/55/f06b48d48e0b4ec3a3489efafe9bd4d81b6e0802ac51026e3ee4634e89ba/fonttools-4.56.0-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:f20e2c0dfab82983a90f3d00703ac0960412036153e5023eed2b4641d7d5e692", size = 2735127, upload-time = "2025-02-07T13:44:59.966Z" }, + { url = "https://files.pythonhosted.org/packages/59/db/d2c7c9b6dd5cbd46f183e650a47403ffb88fca17484eb7c4b1cd88f9e513/fonttools-4.56.0-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:f36a0868f47b7566237640c026c65a86d09a3d9ca5df1cd039e30a1da73098a0", size = 2272519, upload-time = "2025-02-07T13:45:03.891Z" }, + { url = "https://files.pythonhosted.org/packages/4d/a2/da62d779c34a0e0c06415f02eab7fa3466de5d46df459c0275a255cefc65/fonttools-4.56.0-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:62b4c6802fa28e14dba010e75190e0e6228513573f1eeae57b11aa1a39b7e5b1", size = 4762423, upload-time = "2025-02-07T13:45:07.034Z" }, + { url = "https://files.pythonhosted.org/packages/be/6a/fd4018e0448c8a5e12138906411282c5eab51a598493f080a9f0960e658f/fonttools-4.56.0-cp313-cp313-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:a05d1f07eb0a7d755fbe01fee1fd255c3a4d3730130cf1bfefb682d18fd2fcea", size = 4834442, upload-time = "2025-02-07T13:45:10.6Z" }, + { url = "https://files.pythonhosted.org/packages/6d/63/fa1dec8efb35bc11ef9c39b2d74754b45d48a3ccb2cf78c0109c0af639e8/fonttools-4.56.0-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:0073b62c3438cf0058488c002ea90489e8801d3a7af5ce5f7c05c105bee815c3", size = 4742800, upload-time = "2025-02-07T13:45:14.096Z" }, + { url = "https://files.pythonhosted.org/packages/dd/f4/963247ae8c73ccc4cf2929e7162f595c81dbe17997d1d0ea77da24a217c9/fonttools-4.56.0-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:e2cad98c94833465bcf28f51c248aaf07ca022efc6a3eba750ad9c1e0256d278", size = 4963746, upload-time = "2025-02-07T13:45:17.479Z" }, + { url = "https://files.pythonhosted.org/packages/ea/e0/46f9600c39c644b54e4420f941f75fa200d9288c9ae171e5d80918b8cbb9/fonttools-4.56.0-cp313-cp313-win32.whl", hash = "sha256:d0cb73ccf7f6d7ca8d0bc7ea8ac0a5b84969a41c56ac3ac3422a24df2680546f", size = 2140927, upload-time = "2025-02-07T13:45:21.084Z" }, + { url = "https://files.pythonhosted.org/packages/27/6d/3edda54f98a550a0473f032d8050315fbc8f1b76a0d9f3879b72ebb2cdd6/fonttools-4.56.0-cp313-cp313-win_amd64.whl", hash = "sha256:62cc1253827d1e500fde9dbe981219fea4eb000fd63402283472d38e7d8aa1c6", size = 2186709, upload-time = "2025-02-07T13:45:23.719Z" }, + { url = "https://files.pythonhosted.org/packages/72/2d/762488c56a2bba2fa4d459233d971c2122bf1ed1ec5d9edfee7d58963ef5/fonttools-4.56.0-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:3fd3fccb7b9adaaecfa79ad51b759f2123e1aba97f857936ce044d4f029abd71", size = 2749891, upload-time = "2025-02-07T13:45:27.134Z" }, + { url = "https://files.pythonhosted.org/packages/5a/64/4d4a46959e4bfd62210eee4c5c3259ec62c6eca437fa2e3e795ac0bde94f/fonttools-4.56.0-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:193b86e9f769320bc98ffdb42accafb5d0c8c49bd62884f1c0702bc598b3f0a2", size = 2279311, upload-time = "2025-02-07T13:45:32.626Z" }, + { url = "https://files.pythonhosted.org/packages/5e/cd/0531711a900bb89cc757259c21fd67cc3cb4de260b3c4c1390dbfa463b01/fonttools-4.56.0-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:6e81c1cc80c1d8bf071356cc3e0e25071fbba1c75afc48d41b26048980b3c771", size = 4643308, upload-time = "2025-02-07T13:45:36.617Z" }, + { url = "https://files.pythonhosted.org/packages/e0/c1/a3b9221b623eead07a4f2fd105b9183a2f70461deae14fac0f4c65872d04/fonttools-4.56.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:e9270505a19361e81eecdbc2c251ad1e1a9a9c2ad75fa022ccdee533f55535dc", size = 4687400, upload-time = "2025-02-07T13:45:40.447Z" }, + { url = "https://files.pythonhosted.org/packages/67/14/67f5c0b695e4043b566e04b1f78e4f749cdd1bab6370f8056791e1c57314/fonttools-4.56.0-cp38-cp38-musllinux_1_2_aarch64.whl", hash = "sha256:53f5e9767978a4daf46f28e09dbeb7d010319924ae622f7b56174b777258e5ba", size = 4665170, upload-time = "2025-02-07T13:45:45.972Z" }, + { url = "https://files.pythonhosted.org/packages/3c/fe/c8bfbe682def287eca26052e5232ca293ea0f9a6a3051dab2cb65e4ef401/fonttools-4.56.0-cp38-cp38-musllinux_1_2_x86_64.whl", hash = "sha256:9da650cb29bc098b8cfd15ef09009c914b35c7986c8fa9f08b51108b7bc393b4", size = 4844223, upload-time = "2025-02-07T13:45:49.085Z" }, + { url = "https://files.pythonhosted.org/packages/9c/c1/2133e0a2558c94fefb3d655b3ca782f4310aa86ee8da0e12274cf6dc91c2/fonttools-4.56.0-cp38-cp38-win32.whl", hash = "sha256:965d0209e6dbdb9416100123b6709cb13f5232e2d52d17ed37f9df0cc31e2b35", size = 1480341, upload-time = "2025-02-07T13:45:54.508Z" }, + { url = "https://files.pythonhosted.org/packages/e9/73/e0285a1cd25da20f1403a6dea54c116a6ccae6063f209a39793977dad03a/fonttools-4.56.0-cp38-cp38-win_amd64.whl", hash = "sha256:654ac4583e2d7c62aebc6fc6a4c6736f078f50300e18aa105d87ce8925cfac31", size = 1525378, upload-time = "2025-02-07T13:45:57.931Z" }, + { url = "https://files.pythonhosted.org/packages/c2/a0/c62b7f219f74f0e9c4b7662c269b360f5c380cf7dfabaff06e114acc5576/fonttools-4.56.0-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:ca7962e8e5fc047cc4e59389959843aafbf7445b6c08c20d883e60ced46370a5", size = 2754871, upload-time = "2025-02-07T13:46:00.56Z" }, + { url = "https://files.pythonhosted.org/packages/22/aa/2ce61705c48c4dc7953bec95f7cfa29e528294a06e7d38f2c674343425ca/fonttools-4.56.0-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:a1af375734018951c31c0737d04a9d5fd0a353a0253db5fbed2ccd44eac62d8c", size = 2281885, upload-time = "2025-02-07T13:46:03.4Z" }, + { url = "https://files.pythonhosted.org/packages/81/68/508c1e84050b950918b1345ee22def98291b2e58890b0f3c2d0cfc4fee6b/fonttools-4.56.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:442ad4122468d0e47d83bc59d0e91b474593a8c813839e1872e47c7a0cb53b10", size = 4567663, upload-time = "2025-02-07T13:46:07.03Z" }, + { url = "https://files.pythonhosted.org/packages/56/af/78b2c901949ca37c02ba4eec88020479e929b7d1126af30ee9d7e44b4c4c/fonttools-4.56.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:3cf4f8d2a30b454ac682e12c61831dcb174950c406011418e739de592bbf8f76", size = 4612654, upload-time = "2025-02-07T13:46:10.485Z" }, + { url = "https://files.pythonhosted.org/packages/cb/fb/156bd9760b6d42be3d821f0ac3edccf8daf97b0e4fe539c569b6593f4b6a/fonttools-4.56.0-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:96a4271f63a615bcb902b9f56de00ea225d6896052c49f20d0c91e9f43529a29", size = 4561135, upload-time = "2025-02-07T13:46:13.897Z" }, + { url = "https://files.pythonhosted.org/packages/c4/e9/c6c433b8ea306ba402aa1d53349237d78c1d21ec11bb69cc6d8442533d5b/fonttools-4.56.0-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:6c1d38642ca2dddc7ae992ef5d026e5061a84f10ff2b906be5680ab089f55bb8", size = 4731430, upload-time = "2025-02-07T13:46:17.496Z" }, + { url = "https://files.pythonhosted.org/packages/00/41/4c199ca2c6d25edced1cdd6a3d32b2471c1e85dc7fbb2145e73805cf2a38/fonttools-4.56.0-cp39-cp39-win32.whl", hash = "sha256:2d351275f73ebdd81dd5b09a8b8dac7a30f29a279d41e1c1192aedf1b6dced40", size = 2156113, upload-time = "2025-02-07T13:46:21.115Z" }, + { url = "https://files.pythonhosted.org/packages/00/8f/430abf16726cd627e176df92c452f239fcc488fac1e23c9ab57bb7ad6976/fonttools-4.56.0-cp39-cp39-win_amd64.whl", hash = "sha256:d6ca96d1b61a707ba01a43318c9c40aaf11a5a568d1e61146fafa6ab20890793", size = 2200538, upload-time = "2025-02-07T13:46:23.764Z" }, + { url = "https://files.pythonhosted.org/packages/bf/ff/44934a031ce5a39125415eb405b9efb76fe7f9586b75291d66ae5cbfc4e6/fonttools-4.56.0-py3-none-any.whl", hash = "sha256:1088182f68c303b50ca4dc0c82d42083d176cba37af1937e1a976a31149d4d14", size = 1089800, upload-time = "2025-02-07T13:46:26.415Z" }, ] [[package]] name = "fqdn" version = "1.5.1" source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/30/3e/a80a8c077fd798951169626cde3e239adeba7dab75deb3555716415bd9b0/fqdn-1.5.1.tar.gz", hash = "sha256:105ed3677e767fb5ca086a0c1f4bb66ebc3c100be518f0e0d755d9eae164d89f", size = 6015 } +sdist = { url = "https://files.pythonhosted.org/packages/30/3e/a80a8c077fd798951169626cde3e239adeba7dab75deb3555716415bd9b0/fqdn-1.5.1.tar.gz", hash = "sha256:105ed3677e767fb5ca086a0c1f4bb66ebc3c100be518f0e0d755d9eae164d89f", size = 6015, upload-time = "2021-03-11T07:16:29.08Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/cf/58/8acf1b3e91c58313ce5cb67df61001fc9dcd21be4fadb76c1a2d540e09ed/fqdn-1.5.1-py3-none-any.whl", hash = "sha256:3a179af3761e4df6eb2e026ff9e1a3033d3587bf980a0b1b2e1e5d08d7358014", size = 9121 }, + { url = "https://files.pythonhosted.org/packages/cf/58/8acf1b3e91c58313ce5cb67df61001fc9dcd21be4fadb76c1a2d540e09ed/fqdn-1.5.1-py3-none-any.whl", hash = "sha256:3a179af3761e4df6eb2e026ff9e1a3033d3587bf980a0b1b2e1e5d08d7358014", size = 9121, upload-time = "2021-03-11T07:16:28.351Z" }, ] [[package]] @@ -1046,9 +1046,9 @@ source = { registry = "https://pypi.org/simple" } dependencies = [ { name = "python-dateutil" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/d9/29/d40217cbe2f6b1359e00c6c307bb3fc876ba74068cbab3dde77f03ca0dc4/ghp-import-2.1.0.tar.gz", hash = "sha256:9c535c4c61193c2df8871222567d7fd7e5014d835f97dc7b7439069e2413d343", size = 10943 } +sdist = { url = "https://files.pythonhosted.org/packages/d9/29/d40217cbe2f6b1359e00c6c307bb3fc876ba74068cbab3dde77f03ca0dc4/ghp-import-2.1.0.tar.gz", hash = "sha256:9c535c4c61193c2df8871222567d7fd7e5014d835f97dc7b7439069e2413d343", size = 10943, upload-time = "2022-05-02T15:47:16.11Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/f7/ec/67fbef5d497f86283db54c22eec6f6140243aae73265799baaaa19cd17fb/ghp_import-2.1.0-py3-none-any.whl", hash = "sha256:8337dd7b50877f163d4c0289bc1f1c7f127550241988d568c1db512c4324a619", size = 11034 }, + { url = "https://files.pythonhosted.org/packages/f7/ec/67fbef5d497f86283db54c22eec6f6140243aae73265799baaaa19cd17fb/ghp_import-2.1.0-py3-none-any.whl", hash = "sha256:8337dd7b50877f163d4c0289bc1f1c7f127550241988d568c1db512c4324a619", size = 11034, upload-time = "2022-05-02T15:47:14.552Z" }, ] [[package]] @@ -1058,9 +1058,9 @@ source = { registry = "https://pypi.org/simple" } dependencies = [ { name = "smmap" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/72/94/63b0fc47eb32792c7ba1fe1b694daec9a63620db1e313033d18140c2320a/gitdb-4.0.12.tar.gz", hash = "sha256:5ef71f855d191a3326fcfbc0d5da835f26b13fbcba60c32c21091c349ffdb571", size = 394684 } +sdist = { url = "https://files.pythonhosted.org/packages/72/94/63b0fc47eb32792c7ba1fe1b694daec9a63620db1e313033d18140c2320a/gitdb-4.0.12.tar.gz", hash = "sha256:5ef71f855d191a3326fcfbc0d5da835f26b13fbcba60c32c21091c349ffdb571", size = 394684, upload-time = "2025-01-02T07:20:46.413Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/a0/61/5c78b91c3143ed5c14207f463aecfc8f9dbb5092fb2869baf37c273b2705/gitdb-4.0.12-py3-none-any.whl", hash = "sha256:67073e15955400952c6565cc3e707c554a4eea2e428946f7a4c162fab9bd9bcf", size = 62794 }, + { url = "https://files.pythonhosted.org/packages/a0/61/5c78b91c3143ed5c14207f463aecfc8f9dbb5092fb2869baf37c273b2705/gitdb-4.0.12-py3-none-any.whl", hash = "sha256:67073e15955400952c6565cc3e707c554a4eea2e428946f7a4c162fab9bd9bcf", size = 62794, upload-time = "2025-01-02T07:20:43.624Z" }, ] [[package]] @@ -1070,9 +1070,9 @@ source = { registry = "https://pypi.org/simple" } dependencies = [ { name = "gitdb" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/c0/89/37df0b71473153574a5cdef8f242de422a0f5d26d7a9e231e6f169b4ad14/gitpython-3.1.44.tar.gz", hash = "sha256:c87e30b26253bf5418b01b0660f818967f3c503193838337fe5e573331249269", size = 214196 } +sdist = { url = "https://files.pythonhosted.org/packages/c0/89/37df0b71473153574a5cdef8f242de422a0f5d26d7a9e231e6f169b4ad14/gitpython-3.1.44.tar.gz", hash = "sha256:c87e30b26253bf5418b01b0660f818967f3c503193838337fe5e573331249269", size = 214196, upload-time = "2025-01-02T07:32:43.59Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/1d/9a/4114a9057db2f1462d5c8f8390ab7383925fe1ac012eaa42402ad65c2963/GitPython-3.1.44-py3-none-any.whl", hash = "sha256:9e0e10cda9bed1ee64bc9a6de50e7e38a9c9943241cd7f585f6df3ed28011110", size = 207599 }, + { url = "https://files.pythonhosted.org/packages/1d/9a/4114a9057db2f1462d5c8f8390ab7383925fe1ac012eaa42402ad65c2963/GitPython-3.1.44-py3-none-any.whl", hash = "sha256:9e0e10cda9bed1ee64bc9a6de50e7e38a9c9943241cd7f585f6df3ed28011110", size = 207599, upload-time = "2025-01-02T07:32:40.731Z" }, ] [[package]] @@ -1088,9 +1088,9 @@ dependencies = [ { name = "astunparse", marker = "python_full_version < '3.9'" }, { name = "colorama", marker = "python_full_version < '3.9'" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/05/e9/b2c86ad9d69053e497a24ceb25d661094fb321ab4ed39a8b71793dcbae82/griffe-1.4.0.tar.gz", hash = "sha256:8fccc585896d13f1221035d32c50dec65830c87d23f9adb9b1e6f3d63574f7f5", size = 381028 } +sdist = { url = "https://files.pythonhosted.org/packages/05/e9/b2c86ad9d69053e497a24ceb25d661094fb321ab4ed39a8b71793dcbae82/griffe-1.4.0.tar.gz", hash = "sha256:8fccc585896d13f1221035d32c50dec65830c87d23f9adb9b1e6f3d63574f7f5", size = 381028, upload-time = "2024-10-11T12:53:54.414Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/22/7c/e9e66869c2e4c9b378474e49c993128ec0131ef4721038b6d06e50538caf/griffe-1.4.0-py3-none-any.whl", hash = "sha256:e589de8b8c137e99a46ec45f9598fc0ac5b6868ce824b24db09c02d117b89bc5", size = 127015 }, + { url = "https://files.pythonhosted.org/packages/22/7c/e9e66869c2e4c9b378474e49c993128ec0131ef4721038b6d06e50538caf/griffe-1.4.0-py3-none-any.whl", hash = "sha256:e589de8b8c137e99a46ec45f9598fc0ac5b6868ce824b24db09c02d117b89bc5", size = 127015, upload-time = "2024-10-11T12:53:52.383Z" }, ] [[package]] @@ -1114,18 +1114,18 @@ resolution-markers = [ dependencies = [ { name = "colorama", marker = "python_full_version >= '3.9'" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/88/f0/a001e06c321dfa220103418259afbac50b933eac7a86657a4b572f0517e8/griffe-1.5.6.tar.gz", hash = "sha256:181f6666d5aceb6cd6e2da5a2b646cfb431e47a0da1fda283845734b67e10944", size = 391173 } +sdist = { url = "https://files.pythonhosted.org/packages/88/f0/a001e06c321dfa220103418259afbac50b933eac7a86657a4b572f0517e8/griffe-1.5.6.tar.gz", hash = "sha256:181f6666d5aceb6cd6e2da5a2b646cfb431e47a0da1fda283845734b67e10944", size = 391173, upload-time = "2025-01-30T14:58:04.918Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/b6/87/505777c4e5ca9c4fa5ae53fa4b0d5c2ba13a6d55a503a5594e94a2ba9b5a/griffe-1.5.6-py3-none-any.whl", hash = "sha256:b2a3afe497c6c1f952e54a23095ecc09435016293e77af8478ed65df1022a394", size = 128176 }, + { url = "https://files.pythonhosted.org/packages/b6/87/505777c4e5ca9c4fa5ae53fa4b0d5c2ba13a6d55a503a5594e94a2ba9b5a/griffe-1.5.6-py3-none-any.whl", hash = "sha256:b2a3afe497c6c1f952e54a23095ecc09435016293e77af8478ed65df1022a394", size = 128176, upload-time = "2025-01-30T14:58:02.912Z" }, ] [[package]] name = "h11" version = "0.14.0" source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/f5/38/3af3d3633a34a3316095b39c8e8fb4853a28a536e55d347bd8d8e9a14b03/h11-0.14.0.tar.gz", hash = "sha256:8f19fbbe99e72420ff35c00b27a34cb9937e902a8b810e2c88300c6f0a3b699d", size = 100418 } +sdist = { url = "https://files.pythonhosted.org/packages/f5/38/3af3d3633a34a3316095b39c8e8fb4853a28a536e55d347bd8d8e9a14b03/h11-0.14.0.tar.gz", hash = "sha256:8f19fbbe99e72420ff35c00b27a34cb9937e902a8b810e2c88300c6f0a3b699d", size = 100418, upload-time = "2022-09-25T15:40:01.519Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/95/04/ff642e65ad6b90db43e668d70ffb6736436c7ce41fcc549f4e9472234127/h11-0.14.0-py3-none-any.whl", hash = "sha256:e3fe4ac4b851c468cc8363d500db52c2ead036020723024a109d37346efaa761", size = 58259 }, + { url = "https://files.pythonhosted.org/packages/95/04/ff642e65ad6b90db43e668d70ffb6736436c7ce41fcc549f4e9472234127/h11-0.14.0-py3-none-any.whl", hash = "sha256:e3fe4ac4b851c468cc8363d500db52c2ead036020723024a109d37346efaa761", size = 58259, upload-time = "2022-09-25T15:39:59.68Z" }, ] [[package]] @@ -1136,9 +1136,9 @@ dependencies = [ { name = "certifi" }, { name = "h11" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/6a/41/d7d0a89eb493922c37d343b607bc1b5da7f5be7e383740b4753ad8943e90/httpcore-1.0.7.tar.gz", hash = "sha256:8551cb62a169ec7162ac7be8d4817d561f60e08eaa485234898414bb5a8a0b4c", size = 85196 } +sdist = { url = "https://files.pythonhosted.org/packages/6a/41/d7d0a89eb493922c37d343b607bc1b5da7f5be7e383740b4753ad8943e90/httpcore-1.0.7.tar.gz", hash = "sha256:8551cb62a169ec7162ac7be8d4817d561f60e08eaa485234898414bb5a8a0b4c", size = 85196, upload-time = "2024-11-15T12:30:47.531Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/87/f5/72347bc88306acb359581ac4d52f23c0ef445b57157adedb9aee0cd689d2/httpcore-1.0.7-py3-none-any.whl", hash = "sha256:a3fff8f43dc260d5bd363d9f9cf1830fa3a458b332856f34282de498ed420edd", size = 78551 }, + { url = "https://files.pythonhosted.org/packages/87/f5/72347bc88306acb359581ac4d52f23c0ef445b57157adedb9aee0cd689d2/httpcore-1.0.7-py3-none-any.whl", hash = "sha256:a3fff8f43dc260d5bd363d9f9cf1830fa3a458b332856f34282de498ed420edd", size = 78551, upload-time = "2024-11-15T12:30:45.782Z" }, ] [[package]] @@ -1152,9 +1152,9 @@ dependencies = [ { name = "httpcore" }, { name = "idna" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/b1/df/48c586a5fe32a0f01324ee087459e112ebb7224f646c0b5023f5e79e9956/httpx-0.28.1.tar.gz", hash = "sha256:75e98c5f16b0f35b567856f597f06ff2270a374470a5c2392242528e3e3e42fc", size = 141406 } +sdist = { url = "https://files.pythonhosted.org/packages/b1/df/48c586a5fe32a0f01324ee087459e112ebb7224f646c0b5023f5e79e9956/httpx-0.28.1.tar.gz", hash = "sha256:75e98c5f16b0f35b567856f597f06ff2270a374470a5c2392242528e3e3e42fc", size = 141406, upload-time = "2024-12-06T15:37:23.222Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/2a/39/e50c7c3a983047577ee07d2a9e53faf5a69493943ec3f6a384bdc792deb2/httpx-0.28.1-py3-none-any.whl", hash = "sha256:d909fcccc110f8c7faf814ca82a9a4d816bc5a6dbfea25d6591d6985b8ba59ad", size = 73517 }, + { url = "https://files.pythonhosted.org/packages/2a/39/e50c7c3a983047577ee07d2a9e53faf5a69493943ec3f6a384bdc792deb2/httpx-0.28.1-py3-none-any.whl", hash = "sha256:d909fcccc110f8c7faf814ca82a9a4d816bc5a6dbfea25d6591d6985b8ba59ad", size = 73517, upload-time = "2024-12-06T15:37:21.509Z" }, ] [[package]] @@ -1164,18 +1164,18 @@ source = { registry = "https://pypi.org/simple" } dependencies = [ { name = "requests" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/22/11/102da08f88412d875fa2f1a9a469ff7ad4c874b0ca6fed0048fe385bdb3d/id-1.5.0.tar.gz", hash = "sha256:292cb8a49eacbbdbce97244f47a97b4c62540169c976552e497fd57df0734c1d", size = 15237 } +sdist = { url = "https://files.pythonhosted.org/packages/22/11/102da08f88412d875fa2f1a9a469ff7ad4c874b0ca6fed0048fe385bdb3d/id-1.5.0.tar.gz", hash = "sha256:292cb8a49eacbbdbce97244f47a97b4c62540169c976552e497fd57df0734c1d", size = 15237, upload-time = "2024-12-04T19:53:05.575Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/9f/cb/18326d2d89ad3b0dd143da971e77afd1e6ca6674f1b1c3df4b6bec6279fc/id-1.5.0-py3-none-any.whl", hash = "sha256:f1434e1cef91f2cbb8a4ec64663d5a23b9ed43ef44c4c957d02583d61714c658", size = 13611 }, + { url = "https://files.pythonhosted.org/packages/9f/cb/18326d2d89ad3b0dd143da971e77afd1e6ca6674f1b1c3df4b6bec6279fc/id-1.5.0-py3-none-any.whl", hash = "sha256:f1434e1cef91f2cbb8a4ec64663d5a23b9ed43ef44c4c957d02583d61714c658", size = 13611, upload-time = "2024-12-04T19:53:03.02Z" }, ] [[package]] name = "idna" version = "3.10" source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/f1/70/7703c29685631f5a7590aa73f1f1d3fa9a380e654b86af429e0934a32f7d/idna-3.10.tar.gz", hash = "sha256:12f65c9b470abda6dc35cf8e63cc574b1c52b11df2c86030af0ac09b01b13ea9", size = 190490 } +sdist = { url = "https://files.pythonhosted.org/packages/f1/70/7703c29685631f5a7590aa73f1f1d3fa9a380e654b86af429e0934a32f7d/idna-3.10.tar.gz", hash = "sha256:12f65c9b470abda6dc35cf8e63cc574b1c52b11df2c86030af0ac09b01b13ea9", size = 190490, upload-time = "2024-09-15T18:07:39.745Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/76/c6/c88e154df9c4e1a2a66ccf0005a88dfb2650c1dffb6f5ce603dfbd452ce3/idna-3.10-py3-none-any.whl", hash = "sha256:946d195a0d259cbba61165e88e65941f16e9b36ea6ddb97f00452bae8b1287d3", size = 70442 }, + { url = "https://files.pythonhosted.org/packages/76/c6/c88e154df9c4e1a2a66ccf0005a88dfb2650c1dffb6f5ce603dfbd452ce3/idna-3.10-py3-none-any.whl", hash = "sha256:946d195a0d259cbba61165e88e65941f16e9b36ea6ddb97f00452bae8b1287d3", size = 70442, upload-time = "2024-09-15T18:07:37.964Z" }, ] [[package]] @@ -1190,9 +1190,9 @@ resolution-markers = [ dependencies = [ { name = "zipp", version = "3.20.2", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.9'" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/cd/12/33e59336dca5be0c398a7482335911a33aa0e20776128f038019f1a95f1b/importlib_metadata-8.5.0.tar.gz", hash = "sha256:71522656f0abace1d072b9e5481a48f07c138e00f079c38c8f883823f9c26bd7", size = 55304 } +sdist = { url = "https://files.pythonhosted.org/packages/cd/12/33e59336dca5be0c398a7482335911a33aa0e20776128f038019f1a95f1b/importlib_metadata-8.5.0.tar.gz", hash = "sha256:71522656f0abace1d072b9e5481a48f07c138e00f079c38c8f883823f9c26bd7", size = 55304, upload-time = "2024-09-11T14:56:08.937Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/a0/d9/a1e041c5e7caa9a05c925f4bdbdfb7f006d1f74996af53467bc394c97be7/importlib_metadata-8.5.0-py3-none-any.whl", hash = "sha256:45e54197d28b7a7f1559e60b95e7c567032b602131fbd588f1497f47880aa68b", size = 26514 }, + { url = "https://files.pythonhosted.org/packages/a0/d9/a1e041c5e7caa9a05c925f4bdbdfb7f006d1f74996af53467bc394c97be7/importlib_metadata-8.5.0-py3-none-any.whl", hash = "sha256:45e54197d28b7a7f1559e60b95e7c567032b602131fbd588f1497f47880aa68b", size = 26514, upload-time = "2024-09-11T14:56:07.019Z" }, ] [[package]] @@ -1216,9 +1216,9 @@ resolution-markers = [ dependencies = [ { name = "zipp", version = "3.21.0", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.9'" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/33/08/c1395a292bb23fd03bdf572a1357c5a733d3eecbab877641ceacab23db6e/importlib_metadata-8.6.1.tar.gz", hash = "sha256:310b41d755445d74569f993ccfc22838295d9fe005425094fad953d7f15c8580", size = 55767 } +sdist = { url = "https://files.pythonhosted.org/packages/33/08/c1395a292bb23fd03bdf572a1357c5a733d3eecbab877641ceacab23db6e/importlib_metadata-8.6.1.tar.gz", hash = "sha256:310b41d755445d74569f993ccfc22838295d9fe005425094fad953d7f15c8580", size = 55767, upload-time = "2025-01-20T22:21:30.429Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/79/9d/0fb148dc4d6fa4a7dd1d8378168d9b4cd8d4560a6fbf6f0121c5fc34eb68/importlib_metadata-8.6.1-py3-none-any.whl", hash = "sha256:02a89390c1e15fdfdc0d7c6b25cb3e62650d0494005c97d6f148bf5b9787525e", size = 26971 }, + { url = "https://files.pythonhosted.org/packages/79/9d/0fb148dc4d6fa4a7dd1d8378168d9b4cd8d4560a6fbf6f0121c5fc34eb68/importlib_metadata-8.6.1-py3-none-any.whl", hash = "sha256:02a89390c1e15fdfdc0d7c6b25cb3e62650d0494005c97d6f148bf5b9787525e", size = 26971, upload-time = "2025-01-20T22:21:29.177Z" }, ] [[package]] @@ -1233,9 +1233,9 @@ resolution-markers = [ dependencies = [ { name = "zipp", version = "3.20.2", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.9'" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/98/be/f3e8c6081b684f176b761e6a2fef02a0be939740ed6f54109a2951d806f3/importlib_resources-6.4.5.tar.gz", hash = "sha256:980862a1d16c9e147a59603677fa2aa5fd82b87f223b6cb870695bcfce830065", size = 43372 } +sdist = { url = "https://files.pythonhosted.org/packages/98/be/f3e8c6081b684f176b761e6a2fef02a0be939740ed6f54109a2951d806f3/importlib_resources-6.4.5.tar.gz", hash = "sha256:980862a1d16c9e147a59603677fa2aa5fd82b87f223b6cb870695bcfce830065", size = 43372, upload-time = "2024-09-09T17:03:14.677Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/e1/6a/4604f9ae2fa62ef47b9de2fa5ad599589d28c9fd1d335f32759813dfa91e/importlib_resources-6.4.5-py3-none-any.whl", hash = "sha256:ac29d5f956f01d5e4bb63102a5a19957f1b9175e45649977264a1416783bb717", size = 36115 }, + { url = "https://files.pythonhosted.org/packages/e1/6a/4604f9ae2fa62ef47b9de2fa5ad599589d28c9fd1d335f32759813dfa91e/importlib_resources-6.4.5-py3-none-any.whl", hash = "sha256:ac29d5f956f01d5e4bb63102a5a19957f1b9175e45649977264a1416783bb717", size = 36115, upload-time = "2024-09-09T17:03:13.39Z" }, ] [[package]] @@ -1259,18 +1259,18 @@ resolution-markers = [ dependencies = [ { name = "zipp", version = "3.21.0", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version == '3.9.*'" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/cf/8c/f834fbf984f691b4f7ff60f50b514cc3de5cc08abfc3295564dd89c5e2e7/importlib_resources-6.5.2.tar.gz", hash = "sha256:185f87adef5bcc288449d98fb4fba07cea78bc036455dd44c5fc4a2fe78fed2c", size = 44693 } +sdist = { url = "https://files.pythonhosted.org/packages/cf/8c/f834fbf984f691b4f7ff60f50b514cc3de5cc08abfc3295564dd89c5e2e7/importlib_resources-6.5.2.tar.gz", hash = "sha256:185f87adef5bcc288449d98fb4fba07cea78bc036455dd44c5fc4a2fe78fed2c", size = 44693, upload-time = "2025-01-03T18:51:56.698Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/a4/ed/1f1afb2e9e7f38a545d628f864d562a5ae64fe6f7a10e28ffb9b185b4e89/importlib_resources-6.5.2-py3-none-any.whl", hash = "sha256:789cfdc3ed28c78b67a06acb8126751ced69a3d5f79c095a98298cd8a760ccec", size = 37461 }, + { url = "https://files.pythonhosted.org/packages/a4/ed/1f1afb2e9e7f38a545d628f864d562a5ae64fe6f7a10e28ffb9b185b4e89/importlib_resources-6.5.2-py3-none-any.whl", hash = "sha256:789cfdc3ed28c78b67a06acb8126751ced69a3d5f79c095a98298cd8a760ccec", size = 37461, upload-time = "2025-01-03T18:51:54.306Z" }, ] [[package]] name = "iniconfig" version = "2.0.0" source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/d7/4b/cbd8e699e64a6f16ca3a8220661b5f83792b3017d0f79807cb8708d33913/iniconfig-2.0.0.tar.gz", hash = "sha256:2d91e135bf72d31a410b17c16da610a82cb55f6b0477d1a902134b24a455b8b3", size = 4646 } +sdist = { url = "https://files.pythonhosted.org/packages/d7/4b/cbd8e699e64a6f16ca3a8220661b5f83792b3017d0f79807cb8708d33913/iniconfig-2.0.0.tar.gz", hash = "sha256:2d91e135bf72d31a410b17c16da610a82cb55f6b0477d1a902134b24a455b8b3", size = 4646, upload-time = "2023-01-07T11:08:11.254Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/ef/a6/62565a6e1cf69e10f5727360368e451d4b7f58beeac6173dc9db836a5b46/iniconfig-2.0.0-py3-none-any.whl", hash = "sha256:b6a85871a79d2e3b22d2d1b94ac2824226a63c6b741c88f7ae975f18b6778374", size = 5892 }, + { url = "https://files.pythonhosted.org/packages/ef/a6/62565a6e1cf69e10f5727360368e451d4b7f58beeac6173dc9db836a5b46/iniconfig-2.0.0-py3-none-any.whl", hash = "sha256:b6a85871a79d2e3b22d2d1b94ac2824226a63c6b741c88f7ae975f18b6778374", size = 5892, upload-time = "2023-01-07T11:08:09.864Z" }, ] [[package]] @@ -1294,9 +1294,9 @@ dependencies = [ { name = "tornado" }, { name = "traitlets" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/e9/5c/67594cb0c7055dc50814b21731c22a601101ea3b1b50a9a1b090e11f5d0f/ipykernel-6.29.5.tar.gz", hash = "sha256:f093a22c4a40f8828f8e330a9c297cb93dcab13bd9678ded6de8e5cf81c56215", size = 163367 } +sdist = { url = "https://files.pythonhosted.org/packages/e9/5c/67594cb0c7055dc50814b21731c22a601101ea3b1b50a9a1b090e11f5d0f/ipykernel-6.29.5.tar.gz", hash = "sha256:f093a22c4a40f8828f8e330a9c297cb93dcab13bd9678ded6de8e5cf81c56215", size = 163367, upload-time = "2024-07-01T14:07:22.543Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/94/5c/368ae6c01c7628438358e6d337c19b05425727fbb221d2a3c4303c372f42/ipykernel-6.29.5-py3-none-any.whl", hash = "sha256:afdb66ba5aa354b09b91379bac28ae4afebbb30e8b39510c9690afb7a10421b5", size = 117173 }, + { url = "https://files.pythonhosted.org/packages/94/5c/368ae6c01c7628438358e6d337c19b05425727fbb221d2a3c4303c372f42/ipykernel-6.29.5-py3-none-any.whl", hash = "sha256:afdb66ba5aa354b09b91379bac28ae4afebbb30e8b39510c9690afb7a10421b5", size = 117173, upload-time = "2024-07-01T14:07:19.603Z" }, ] [[package]] @@ -1323,9 +1323,9 @@ dependencies = [ { name = "traitlets", marker = "python_full_version < '3.9'" }, { name = "typing-extensions", marker = "python_full_version < '3.9'" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/9e/6a/44ef299b1762f5a73841e87fae8a73a8cc8aee538d6dc8c77a5afe1fd2ce/ipython-8.12.3.tar.gz", hash = "sha256:3910c4b54543c2ad73d06579aa771041b7d5707b033bd488669b4cf544e3b363", size = 5470171 } +sdist = { url = "https://files.pythonhosted.org/packages/9e/6a/44ef299b1762f5a73841e87fae8a73a8cc8aee538d6dc8c77a5afe1fd2ce/ipython-8.12.3.tar.gz", hash = "sha256:3910c4b54543c2ad73d06579aa771041b7d5707b033bd488669b4cf544e3b363", size = 5470171, upload-time = "2023-09-29T09:14:37.468Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/8d/97/8fe103906cd81bc42d3b0175b5534a9f67dccae47d6451131cf8d0d70bb2/ipython-8.12.3-py3-none-any.whl", hash = "sha256:b0340d46a933d27c657b211a329d0be23793c36595acf9e6ef4164bc01a1804c", size = 798307 }, + { url = "https://files.pythonhosted.org/packages/8d/97/8fe103906cd81bc42d3b0175b5534a9f67dccae47d6451131cf8d0d70bb2/ipython-8.12.3-py3-none-any.whl", hash = "sha256:b0340d46a933d27c657b211a329d0be23793c36595acf9e6ef4164bc01a1804c", size = 798307, upload-time = "2023-09-29T09:14:34.431Z" }, ] [[package]] @@ -1350,9 +1350,9 @@ dependencies = [ { name = "traitlets", marker = "python_full_version == '3.9.*'" }, { name = "typing-extensions", marker = "python_full_version == '3.9.*'" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/b1/b9/3ba6c45a6df813c09a48bac313c22ff83efa26cbb55011218d925a46e2ad/ipython-8.18.1.tar.gz", hash = "sha256:ca6f079bb33457c66e233e4580ebfc4128855b4cf6370dddd73842a9563e8a27", size = 5486330 } +sdist = { url = "https://files.pythonhosted.org/packages/b1/b9/3ba6c45a6df813c09a48bac313c22ff83efa26cbb55011218d925a46e2ad/ipython-8.18.1.tar.gz", hash = "sha256:ca6f079bb33457c66e233e4580ebfc4128855b4cf6370dddd73842a9563e8a27", size = 5486330, upload-time = "2023-11-27T09:58:34.596Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/47/6b/d9fdcdef2eb6a23f391251fde8781c38d42acd82abe84d054cb74f7863b0/ipython-8.18.1-py3-none-any.whl", hash = "sha256:e8267419d72d81955ec1177f8a29aaa90ac80ad647499201119e2f05e99aa397", size = 808161 }, + { url = "https://files.pythonhosted.org/packages/47/6b/d9fdcdef2eb6a23f391251fde8781c38d42acd82abe84d054cb74f7863b0/ipython-8.18.1-py3-none-any.whl", hash = "sha256:e8267419d72d81955ec1177f8a29aaa90ac80ad647499201119e2f05e99aa397", size = 808161, upload-time = "2023-11-27T09:58:30.538Z" }, ] [[package]] @@ -1383,9 +1383,9 @@ dependencies = [ { name = "traitlets", marker = "python_full_version >= '3.10'" }, { name = "typing-extensions", marker = "python_full_version >= '3.10' and python_full_version < '3.12'" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/36/80/4d2a072e0db7d250f134bc11676517299264ebe16d62a8619d49a78ced73/ipython-8.32.0.tar.gz", hash = "sha256:be2c91895b0b9ea7ba49d33b23e2040c352b33eb6a519cca7ce6e0c743444251", size = 5507441 } +sdist = { url = "https://files.pythonhosted.org/packages/36/80/4d2a072e0db7d250f134bc11676517299264ebe16d62a8619d49a78ced73/ipython-8.32.0.tar.gz", hash = "sha256:be2c91895b0b9ea7ba49d33b23e2040c352b33eb6a519cca7ce6e0c743444251", size = 5507441, upload-time = "2025-01-31T14:04:45.197Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/e7/e1/f4474a7ecdb7745a820f6f6039dc43c66add40f1bcc66485607d93571af6/ipython-8.32.0-py3-none-any.whl", hash = "sha256:cae85b0c61eff1fc48b0a8002de5958b6528fa9c8defb1894da63f42613708aa", size = 825524 }, + { url = "https://files.pythonhosted.org/packages/e7/e1/f4474a7ecdb7745a820f6f6039dc43c66add40f1bcc66485607d93571af6/ipython-8.32.0-py3-none-any.whl", hash = "sha256:cae85b0c61eff1fc48b0a8002de5958b6528fa9c8defb1894da63f42613708aa", size = 825524, upload-time = "2025-01-31T14:04:41.675Z" }, ] [[package]] @@ -1401,9 +1401,9 @@ dependencies = [ { name = "traitlets" }, { name = "widgetsnbextension" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/c7/4c/dab2a281b07596a5fc220d49827fe6c794c66f1493d7a74f1df0640f2cc5/ipywidgets-8.1.5.tar.gz", hash = "sha256:870e43b1a35656a80c18c9503bbf2d16802db1cb487eec6fab27d683381dde17", size = 116723 } +sdist = { url = "https://files.pythonhosted.org/packages/c7/4c/dab2a281b07596a5fc220d49827fe6c794c66f1493d7a74f1df0640f2cc5/ipywidgets-8.1.5.tar.gz", hash = "sha256:870e43b1a35656a80c18c9503bbf2d16802db1cb487eec6fab27d683381dde17", size = 116723, upload-time = "2024-08-22T12:19:51.302Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/22/2d/9c0b76f2f9cc0ebede1b9371b6f317243028ed60b90705863d493bae622e/ipywidgets-8.1.5-py3-none-any.whl", hash = "sha256:3290f526f87ae6e77655555baba4f36681c555b8bdbbff430b70e52c34c86245", size = 139767 }, + { url = "https://files.pythonhosted.org/packages/22/2d/9c0b76f2f9cc0ebede1b9371b6f317243028ed60b90705863d493bae622e/ipywidgets-8.1.5-py3-none-any.whl", hash = "sha256:3290f526f87ae6e77655555baba4f36681c555b8bdbbff430b70e52c34c86245", size = 139767, upload-time = "2024-08-22T12:19:49.494Z" }, ] [[package]] @@ -1413,9 +1413,9 @@ source = { registry = "https://pypi.org/simple" } dependencies = [ { name = "arrow" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/7c/1a/3c8edc664e06e6bd06cce40c6b22da5f1429aa4224d0c590f3be21c91ead/isoduration-20.11.0.tar.gz", hash = "sha256:ac2f9015137935279eac671f94f89eb00584f940f5dc49462a0c4ee692ba1bd9", size = 11649 } +sdist = { url = "https://files.pythonhosted.org/packages/7c/1a/3c8edc664e06e6bd06cce40c6b22da5f1429aa4224d0c590f3be21c91ead/isoduration-20.11.0.tar.gz", hash = "sha256:ac2f9015137935279eac671f94f89eb00584f940f5dc49462a0c4ee692ba1bd9", size = 11649, upload-time = "2020-11-01T11:00:00.312Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/7b/55/e5326141505c5d5e34c5e0935d2908a74e4561eca44108fbfb9c13d2911a/isoduration-20.11.0-py3-none-any.whl", hash = "sha256:b2904c2a4228c3d44f409c8ae8e2370eb21a26f7ac2ec5446df141dde3452042", size = 11321 }, + { url = "https://files.pythonhosted.org/packages/7b/55/e5326141505c5d5e34c5e0935d2908a74e4561eca44108fbfb9c13d2911a/isoduration-20.11.0-py3-none-any.whl", hash = "sha256:b2904c2a4228c3d44f409c8ae8e2370eb21a26f7ac2ec5446df141dde3452042", size = 11321, upload-time = "2020-11-01T10:59:58.02Z" }, ] [[package]] @@ -1426,9 +1426,9 @@ dependencies = [ { name = "more-itertools", version = "10.5.0", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.9'" }, { name = "more-itertools", version = "10.6.0", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.9'" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/06/c0/ed4a27bc5571b99e3cff68f8a9fa5b56ff7df1c2251cc715a652ddd26402/jaraco.classes-3.4.0.tar.gz", hash = "sha256:47a024b51d0239c0dd8c8540c6c7f484be3b8fcf0b2d85c13825780d3b3f3acd", size = 11780 } +sdist = { url = "https://files.pythonhosted.org/packages/06/c0/ed4a27bc5571b99e3cff68f8a9fa5b56ff7df1c2251cc715a652ddd26402/jaraco.classes-3.4.0.tar.gz", hash = "sha256:47a024b51d0239c0dd8c8540c6c7f484be3b8fcf0b2d85c13825780d3b3f3acd", size = 11780, upload-time = "2024-03-31T07:27:36.643Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/7f/66/b15ce62552d84bbfcec9a4873ab79d993a1dd4edb922cbfccae192bd5b5f/jaraco.classes-3.4.0-py3-none-any.whl", hash = "sha256:f662826b6bed8cace05e7ff873ce0f9283b5c924470fe664fff1c2f00f581790", size = 6777 }, + { url = "https://files.pythonhosted.org/packages/7f/66/b15ce62552d84bbfcec9a4873ab79d993a1dd4edb922cbfccae192bd5b5f/jaraco.classes-3.4.0-py3-none-any.whl", hash = "sha256:f662826b6bed8cace05e7ff873ce0f9283b5c924470fe664fff1c2f00f581790", size = 6777, upload-time = "2024-03-31T07:27:34.792Z" }, ] [[package]] @@ -1438,9 +1438,9 @@ source = { registry = "https://pypi.org/simple" } dependencies = [ { name = "backports-tarfile", marker = "python_full_version < '3.12'" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/df/ad/f3777b81bf0b6e7bc7514a1656d3e637b2e8e15fab2ce3235730b3e7a4e6/jaraco_context-6.0.1.tar.gz", hash = "sha256:9bae4ea555cf0b14938dc0aee7c9f32ed303aa20a3b73e7dc80111628792d1b3", size = 13912 } +sdist = { url = "https://files.pythonhosted.org/packages/df/ad/f3777b81bf0b6e7bc7514a1656d3e637b2e8e15fab2ce3235730b3e7a4e6/jaraco_context-6.0.1.tar.gz", hash = "sha256:9bae4ea555cf0b14938dc0aee7c9f32ed303aa20a3b73e7dc80111628792d1b3", size = 13912, upload-time = "2024-08-20T03:39:27.358Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/ff/db/0c52c4cf5e4bd9f5d7135ec7669a3a767af21b3a308e1ed3674881e52b62/jaraco.context-6.0.1-py3-none-any.whl", hash = "sha256:f797fc481b490edb305122c9181830a3a5b76d84ef6d1aef2fb9b47ab956f9e4", size = 6825 }, + { url = "https://files.pythonhosted.org/packages/ff/db/0c52c4cf5e4bd9f5d7135ec7669a3a767af21b3a308e1ed3674881e52b62/jaraco.context-6.0.1-py3-none-any.whl", hash = "sha256:f797fc481b490edb305122c9181830a3a5b76d84ef6d1aef2fb9b47ab956f9e4", size = 6825, upload-time = "2024-08-20T03:39:25.966Z" }, ] [[package]] @@ -1451,9 +1451,9 @@ dependencies = [ { name = "more-itertools", version = "10.5.0", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.9'" }, { name = "more-itertools", version = "10.6.0", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.9'" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/ab/23/9894b3df5d0a6eb44611c36aec777823fc2e07740dabbd0b810e19594013/jaraco_functools-4.1.0.tar.gz", hash = "sha256:70f7e0e2ae076498e212562325e805204fc092d7b4c17e0e86c959e249701a9d", size = 19159 } +sdist = { url = "https://files.pythonhosted.org/packages/ab/23/9894b3df5d0a6eb44611c36aec777823fc2e07740dabbd0b810e19594013/jaraco_functools-4.1.0.tar.gz", hash = "sha256:70f7e0e2ae076498e212562325e805204fc092d7b4c17e0e86c959e249701a9d", size = 19159, upload-time = "2024-09-27T19:47:09.122Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/9f/4f/24b319316142c44283d7540e76c7b5a6dbd5db623abd86bb7b3491c21018/jaraco.functools-4.1.0-py3-none-any.whl", hash = "sha256:ad159f13428bc4acbf5541ad6dec511f91573b90fba04df61dafa2a1231cf649", size = 10187 }, + { url = "https://files.pythonhosted.org/packages/9f/4f/24b319316142c44283d7540e76c7b5a6dbd5db623abd86bb7b3491c21018/jaraco.functools-4.1.0-py3-none-any.whl", hash = "sha256:ad159f13428bc4acbf5541ad6dec511f91573b90fba04df61dafa2a1231cf649", size = 10187, upload-time = "2024-09-27T19:47:07.14Z" }, ] [[package]] @@ -1463,18 +1463,18 @@ source = { registry = "https://pypi.org/simple" } dependencies = [ { name = "parso" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/72/3a/79a912fbd4d8dd6fbb02bf69afd3bb72cf0c729bb3063c6f4498603db17a/jedi-0.19.2.tar.gz", hash = "sha256:4770dc3de41bde3966b02eb84fbcf557fb33cce26ad23da12c742fb50ecb11f0", size = 1231287 } +sdist = { url = "https://files.pythonhosted.org/packages/72/3a/79a912fbd4d8dd6fbb02bf69afd3bb72cf0c729bb3063c6f4498603db17a/jedi-0.19.2.tar.gz", hash = "sha256:4770dc3de41bde3966b02eb84fbcf557fb33cce26ad23da12c742fb50ecb11f0", size = 1231287, upload-time = "2024-11-11T01:41:42.873Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/c0/5a/9cac0c82afec3d09ccd97c8b6502d48f165f9124db81b4bcb90b4af974ee/jedi-0.19.2-py2.py3-none-any.whl", hash = "sha256:a8ef22bde8490f57fe5c7681a3c83cb58874daf72b4784de3cce5b6ef6edb5b9", size = 1572278 }, + { url = "https://files.pythonhosted.org/packages/c0/5a/9cac0c82afec3d09ccd97c8b6502d48f165f9124db81b4bcb90b4af974ee/jedi-0.19.2-py2.py3-none-any.whl", hash = "sha256:a8ef22bde8490f57fe5c7681a3c83cb58874daf72b4784de3cce5b6ef6edb5b9", size = 1572278, upload-time = "2024-11-11T01:41:40.175Z" }, ] [[package]] name = "jeepney" version = "0.8.0" source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/d6/f4/154cf374c2daf2020e05c3c6a03c91348d59b23c5366e968feb198306fdf/jeepney-0.8.0.tar.gz", hash = "sha256:5efe48d255973902f6badc3ce55e2aa6c5c3b3bc642059ef3a91247bcfcc5806", size = 106005 } +sdist = { url = "https://files.pythonhosted.org/packages/d6/f4/154cf374c2daf2020e05c3c6a03c91348d59b23c5366e968feb198306fdf/jeepney-0.8.0.tar.gz", hash = "sha256:5efe48d255973902f6badc3ce55e2aa6c5c3b3bc642059ef3a91247bcfcc5806", size = 106005, upload-time = "2022-04-03T17:58:19.651Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/ae/72/2a1e2290f1ab1e06f71f3d0f1646c9e4634e70e1d37491535e19266e8dc9/jeepney-0.8.0-py3-none-any.whl", hash = "sha256:c0a454ad016ca575060802ee4d590dd912e35c122fa04e70306de3d076cce755", size = 48435 }, + { url = "https://files.pythonhosted.org/packages/ae/72/2a1e2290f1ab1e06f71f3d0f1646c9e4634e70e1d37491535e19266e8dc9/jeepney-0.8.0-py3-none-any.whl", hash = "sha256:c0a454ad016ca575060802ee4d590dd912e35c122fa04e70306de3d076cce755", size = 48435, upload-time = "2022-04-03T17:58:16.575Z" }, ] [[package]] @@ -1485,27 +1485,27 @@ dependencies = [ { name = "markupsafe", version = "2.1.5", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.9'" }, { name = "markupsafe", version = "3.0.2", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.9'" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/af/92/b3130cbbf5591acf9ade8708c365f3238046ac7cb8ccba6e81abccb0ccff/jinja2-3.1.5.tar.gz", hash = "sha256:8fefff8dc3034e27bb80d67c671eb8a9bc424c0ef4c0826edbff304cceff43bb", size = 244674 } +sdist = { url = "https://files.pythonhosted.org/packages/af/92/b3130cbbf5591acf9ade8708c365f3238046ac7cb8ccba6e81abccb0ccff/jinja2-3.1.5.tar.gz", hash = "sha256:8fefff8dc3034e27bb80d67c671eb8a9bc424c0ef4c0826edbff304cceff43bb", size = 244674, upload-time = "2024-12-21T18:30:22.828Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/bd/0f/2ba5fbcd631e3e88689309dbe978c5769e883e4b84ebfe7da30b43275c5a/jinja2-3.1.5-py3-none-any.whl", hash = "sha256:aba0f4dc9ed8013c424088f68a5c226f7d6097ed89b246d7749c2ec4175c6adb", size = 134596 }, + { url = "https://files.pythonhosted.org/packages/bd/0f/2ba5fbcd631e3e88689309dbe978c5769e883e4b84ebfe7da30b43275c5a/jinja2-3.1.5-py3-none-any.whl", hash = "sha256:aba0f4dc9ed8013c424088f68a5c226f7d6097ed89b246d7749c2ec4175c6adb", size = 134596, upload-time = "2024-12-21T18:30:19.133Z" }, ] [[package]] name = "json5" version = "0.10.0" source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/85/3d/bbe62f3d0c05a689c711cff57b2e3ac3d3e526380adb7c781989f075115c/json5-0.10.0.tar.gz", hash = "sha256:e66941c8f0a02026943c52c2eb34ebeb2a6f819a0be05920a6f5243cd30fd559", size = 48202 } +sdist = { url = "https://files.pythonhosted.org/packages/85/3d/bbe62f3d0c05a689c711cff57b2e3ac3d3e526380adb7c781989f075115c/json5-0.10.0.tar.gz", hash = "sha256:e66941c8f0a02026943c52c2eb34ebeb2a6f819a0be05920a6f5243cd30fd559", size = 48202, upload-time = "2024-11-26T19:56:37.823Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/aa/42/797895b952b682c3dafe23b1834507ee7f02f4d6299b65aaa61425763278/json5-0.10.0-py3-none-any.whl", hash = "sha256:19b23410220a7271e8377f81ba8aacba2fdd56947fbb137ee5977cbe1f5e8dfa", size = 34049 }, + { url = "https://files.pythonhosted.org/packages/aa/42/797895b952b682c3dafe23b1834507ee7f02f4d6299b65aaa61425763278/json5-0.10.0-py3-none-any.whl", hash = "sha256:19b23410220a7271e8377f81ba8aacba2fdd56947fbb137ee5977cbe1f5e8dfa", size = 34049, upload-time = "2024-11-26T19:56:36.649Z" }, ] [[package]] name = "jsonpointer" version = "3.0.0" source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/6a/0a/eebeb1fa92507ea94016a2a790b93c2ae41a7e18778f85471dc54475ed25/jsonpointer-3.0.0.tar.gz", hash = "sha256:2b2d729f2091522d61c3b31f82e11870f60b68f43fbc705cb76bf4b832af59ef", size = 9114 } +sdist = { url = "https://files.pythonhosted.org/packages/6a/0a/eebeb1fa92507ea94016a2a790b93c2ae41a7e18778f85471dc54475ed25/jsonpointer-3.0.0.tar.gz", hash = "sha256:2b2d729f2091522d61c3b31f82e11870f60b68f43fbc705cb76bf4b832af59ef", size = 9114, upload-time = "2024-06-10T19:24:42.462Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/71/92/5e77f98553e9e75130c78900d000368476aed74276eb8ae8796f65f00918/jsonpointer-3.0.0-py2.py3-none-any.whl", hash = "sha256:13e088adc14fca8b6aa8177c044e12701e6ad4b28ff10e65f2267a90109c9942", size = 7595 }, + { url = "https://files.pythonhosted.org/packages/71/92/5e77f98553e9e75130c78900d000368476aed74276eb8ae8796f65f00918/jsonpointer-3.0.0-py2.py3-none-any.whl", hash = "sha256:13e088adc14fca8b6aa8177c044e12701e6ad4b28ff10e65f2267a90109c9942", size = 7595, upload-time = "2024-06-10T19:24:40.698Z" }, ] [[package]] @@ -1523,9 +1523,9 @@ dependencies = [ { name = "rpds-py", version = "0.20.1", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.9'" }, { name = "rpds-py", version = "0.22.3", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.9'" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/38/2e/03362ee4034a4c917f697890ccd4aec0800ccf9ded7f511971c75451deec/jsonschema-4.23.0.tar.gz", hash = "sha256:d71497fef26351a33265337fa77ffeb82423f3ea21283cd9467bb03999266bc4", size = 325778 } +sdist = { url = "https://files.pythonhosted.org/packages/38/2e/03362ee4034a4c917f697890ccd4aec0800ccf9ded7f511971c75451deec/jsonschema-4.23.0.tar.gz", hash = "sha256:d71497fef26351a33265337fa77ffeb82423f3ea21283cd9467bb03999266bc4", size = 325778, upload-time = "2024-07-08T18:40:05.546Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/69/4a/4f9dbeb84e8850557c02365a0eee0649abe5eb1d84af92a25731c6c0f922/jsonschema-4.23.0-py3-none-any.whl", hash = "sha256:fbadb6f8b144a8f8cf9f0b89ba94501d143e50411a1278633f56a7acf7fd5566", size = 88462 }, + { url = "https://files.pythonhosted.org/packages/69/4a/4f9dbeb84e8850557c02365a0eee0649abe5eb1d84af92a25731c6c0f922/jsonschema-4.23.0-py3-none-any.whl", hash = "sha256:fbadb6f8b144a8f8cf9f0b89ba94501d143e50411a1278633f56a7acf7fd5566", size = 88462, upload-time = "2024-07-08T18:40:00.165Z" }, ] [package.optional-dependencies] @@ -1554,9 +1554,9 @@ dependencies = [ { name = "importlib-resources", version = "6.4.5", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.9'" }, { name = "referencing", version = "0.35.1", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.9'" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/f8/b9/cc0cc592e7c195fb8a650c1d5990b10175cf13b4c97465c72ec841de9e4b/jsonschema_specifications-2023.12.1.tar.gz", hash = "sha256:48a76787b3e70f5ed53f1160d2b81f586e4ca6d1548c5de7085d1682674764cc", size = 13983 } +sdist = { url = "https://files.pythonhosted.org/packages/f8/b9/cc0cc592e7c195fb8a650c1d5990b10175cf13b4c97465c72ec841de9e4b/jsonschema_specifications-2023.12.1.tar.gz", hash = "sha256:48a76787b3e70f5ed53f1160d2b81f586e4ca6d1548c5de7085d1682674764cc", size = 13983, upload-time = "2023-12-25T15:16:53.63Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/ee/07/44bd408781594c4d0a027666ef27fab1e441b109dc3b76b4f836f8fd04fe/jsonschema_specifications-2023.12.1-py3-none-any.whl", hash = "sha256:87e4fdf3a94858b8a2ba2778d9ba57d8a9cafca7c7489c46ba0d30a8bc6a9c3c", size = 18482 }, + { url = "https://files.pythonhosted.org/packages/ee/07/44bd408781594c4d0a027666ef27fab1e441b109dc3b76b4f836f8fd04fe/jsonschema_specifications-2023.12.1-py3-none-any.whl", hash = "sha256:87e4fdf3a94858b8a2ba2778d9ba57d8a9cafca7c7489c46ba0d30a8bc6a9c3c", size = 18482, upload-time = "2023-12-25T15:16:51.997Z" }, ] [[package]] @@ -1580,9 +1580,9 @@ resolution-markers = [ dependencies = [ { name = "referencing", version = "0.36.2", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.9'" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/10/db/58f950c996c793472e336ff3655b13fbcf1e3b359dcf52dcf3ed3b52c352/jsonschema_specifications-2024.10.1.tar.gz", hash = "sha256:0f38b83639958ce1152d02a7f062902c41c8fd20d558b0c34344292d417ae272", size = 15561 } +sdist = { url = "https://files.pythonhosted.org/packages/10/db/58f950c996c793472e336ff3655b13fbcf1e3b359dcf52dcf3ed3b52c352/jsonschema_specifications-2024.10.1.tar.gz", hash = "sha256:0f38b83639958ce1152d02a7f062902c41c8fd20d558b0c34344292d417ae272", size = 15561, upload-time = "2024-10-08T12:29:32.068Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/d1/0f/8910b19ac0670a0f80ce1008e5e751c4a57e14d2c4c13a482aa6079fa9d6/jsonschema_specifications-2024.10.1-py3-none-any.whl", hash = "sha256:a09a0680616357d9a0ecf05c12ad234479f549239d0f5b55f3deea67475da9bf", size = 18459 }, + { url = "https://files.pythonhosted.org/packages/d1/0f/8910b19ac0670a0f80ce1008e5e751c4a57e14d2c4c13a482aa6079fa9d6/jsonschema_specifications-2024.10.1-py3-none-any.whl", hash = "sha256:a09a0680616357d9a0ecf05c12ad234479f549239d0f5b55f3deea67475da9bf", size = 18459, upload-time = "2024-10-08T12:29:30.439Z" }, ] [[package]] @@ -1598,9 +1598,9 @@ dependencies = [ { name = "tornado" }, { name = "traitlets" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/71/22/bf9f12fdaeae18019a468b68952a60fe6dbab5d67cd2a103cac7659b41ca/jupyter_client-8.6.3.tar.gz", hash = "sha256:35b3a0947c4a6e9d589eb97d7d4cd5e90f910ee73101611f01283732bd6d9419", size = 342019 } +sdist = { url = "https://files.pythonhosted.org/packages/71/22/bf9f12fdaeae18019a468b68952a60fe6dbab5d67cd2a103cac7659b41ca/jupyter_client-8.6.3.tar.gz", hash = "sha256:35b3a0947c4a6e9d589eb97d7d4cd5e90f910ee73101611f01283732bd6d9419", size = 342019, upload-time = "2024-09-17T10:44:17.613Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/11/85/b0394e0b6fcccd2c1eeefc230978a6f8cb0c5df1e4cd3e7625735a0d7d1e/jupyter_client-8.6.3-py3-none-any.whl", hash = "sha256:e8a19cc986cc45905ac3362915f410f3af85424b4c0905e94fa5f2cb08e8f23f", size = 106105 }, + { url = "https://files.pythonhosted.org/packages/11/85/b0394e0b6fcccd2c1eeefc230978a6f8cb0c5df1e4cd3e7625735a0d7d1e/jupyter_client-8.6.3-py3-none-any.whl", hash = "sha256:e8a19cc986cc45905ac3362915f410f3af85424b4c0905e94fa5f2cb08e8f23f", size = 106105, upload-time = "2024-09-17T10:44:15.218Z" }, ] [[package]] @@ -1612,9 +1612,9 @@ dependencies = [ { name = "pywin32", marker = "platform_python_implementation != 'PyPy' and sys_platform == 'win32'" }, { name = "traitlets" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/00/11/b56381fa6c3f4cc5d2cf54a7dbf98ad9aa0b339ef7a601d6053538b079a7/jupyter_core-5.7.2.tar.gz", hash = "sha256:aa5f8d32bbf6b431ac830496da7392035d6f61b4f54872f15c4bd2a9c3f536d9", size = 87629 } +sdist = { url = "https://files.pythonhosted.org/packages/00/11/b56381fa6c3f4cc5d2cf54a7dbf98ad9aa0b339ef7a601d6053538b079a7/jupyter_core-5.7.2.tar.gz", hash = "sha256:aa5f8d32bbf6b431ac830496da7392035d6f61b4f54872f15c4bd2a9c3f536d9", size = 87629, upload-time = "2024-03-12T12:37:35.652Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/c9/fb/108ecd1fe961941959ad0ee4e12ee7b8b1477247f30b1fdfd83ceaf017f0/jupyter_core-5.7.2-py3-none-any.whl", hash = "sha256:4f7315d2f6b4bcf2e3e7cb6e46772eba760ae459cd1f59d29eb57b0a01bd7409", size = 28965 }, + { url = "https://files.pythonhosted.org/packages/c9/fb/108ecd1fe961941959ad0ee4e12ee7b8b1477247f30b1fdfd83ceaf017f0/jupyter_core-5.7.2-py3-none-any.whl", hash = "sha256:4f7315d2f6b4bcf2e3e7cb6e46772eba760ae459cd1f59d29eb57b0a01bd7409", size = 28965, upload-time = "2024-03-12T12:37:32.36Z" }, ] [[package]] @@ -1635,9 +1635,9 @@ dependencies = [ { name = "rfc3986-validator", marker = "python_full_version < '3.9'" }, { name = "traitlets", marker = "python_full_version < '3.9'" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/8d/53/7537a1aa558229bb0b1b178d814c9d68a9c697d3aecb808a1cb2646acf1f/jupyter_events-0.10.0.tar.gz", hash = "sha256:670b8229d3cc882ec782144ed22e0d29e1c2d639263f92ca8383e66682845e22", size = 61516 } +sdist = { url = "https://files.pythonhosted.org/packages/8d/53/7537a1aa558229bb0b1b178d814c9d68a9c697d3aecb808a1cb2646acf1f/jupyter_events-0.10.0.tar.gz", hash = "sha256:670b8229d3cc882ec782144ed22e0d29e1c2d639263f92ca8383e66682845e22", size = 61516, upload-time = "2024-03-18T17:41:58.642Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/a5/94/059180ea70a9a326e1815176b2370da56376da347a796f8c4f0b830208ef/jupyter_events-0.10.0-py3-none-any.whl", hash = "sha256:4b72130875e59d57716d327ea70d3ebc3af1944d3717e5a498b8a06c6c159960", size = 18777 }, + { url = "https://files.pythonhosted.org/packages/a5/94/059180ea70a9a326e1815176b2370da56376da347a796f8c4f0b830208ef/jupyter_events-0.10.0-py3-none-any.whl", hash = "sha256:4b72130875e59d57716d327ea70d3ebc3af1944d3717e5a498b8a06c6c159960", size = 18777, upload-time = "2024-03-18T17:41:56.155Z" }, ] [[package]] @@ -1668,9 +1668,9 @@ dependencies = [ { name = "rfc3986-validator", marker = "python_full_version >= '3.9'" }, { name = "traitlets", marker = "python_full_version >= '3.9'" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/9d/c3/306d090461e4cf3cd91eceaff84bede12a8e52cd821c2d20c9a4fd728385/jupyter_events-0.12.0.tar.gz", hash = "sha256:fc3fce98865f6784c9cd0a56a20644fc6098f21c8c33834a8d9fe383c17e554b", size = 62196 } +sdist = { url = "https://files.pythonhosted.org/packages/9d/c3/306d090461e4cf3cd91eceaff84bede12a8e52cd821c2d20c9a4fd728385/jupyter_events-0.12.0.tar.gz", hash = "sha256:fc3fce98865f6784c9cd0a56a20644fc6098f21c8c33834a8d9fe383c17e554b", size = 62196, upload-time = "2025-02-03T17:23:41.485Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/e2/48/577993f1f99c552f18a0428731a755e06171f9902fa118c379eb7c04ea22/jupyter_events-0.12.0-py3-none-any.whl", hash = "sha256:6464b2fa5ad10451c3d35fabc75eab39556ae1e2853ad0c0cc31b656731a97fb", size = 19430 }, + { url = "https://files.pythonhosted.org/packages/e2/48/577993f1f99c552f18a0428731a755e06171f9902fa118c379eb7c04ea22/jupyter_events-0.12.0-py3-none-any.whl", hash = "sha256:6464b2fa5ad10451c3d35fabc75eab39556ae1e2853ad0c0cc31b656731a97fb", size = 19430, upload-time = "2025-02-03T17:23:38.643Z" }, ] [[package]] @@ -1683,9 +1683,9 @@ dependencies = [ { name = "jupyter-server", version = "2.14.2", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.9'" }, { name = "jupyter-server", version = "2.15.0", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.9'" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/85/b4/3200b0b09c12bc3b72d943d923323c398eff382d1dcc7c0dbc8b74630e40/jupyter-lsp-2.2.5.tar.gz", hash = "sha256:793147a05ad446f809fd53ef1cd19a9f5256fd0a2d6b7ce943a982cb4f545001", size = 48741 } +sdist = { url = "https://files.pythonhosted.org/packages/85/b4/3200b0b09c12bc3b72d943d923323c398eff382d1dcc7c0dbc8b74630e40/jupyter-lsp-2.2.5.tar.gz", hash = "sha256:793147a05ad446f809fd53ef1cd19a9f5256fd0a2d6b7ce943a982cb4f545001", size = 48741, upload-time = "2024-04-09T17:59:44.918Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/07/e0/7bd7cff65594fd9936e2f9385701e44574fc7d721331ff676ce440b14100/jupyter_lsp-2.2.5-py3-none-any.whl", hash = "sha256:45fbddbd505f3fbfb0b6cb2f1bc5e15e83ab7c79cd6e89416b248cb3c00c11da", size = 69146 }, + { url = "https://files.pythonhosted.org/packages/07/e0/7bd7cff65594fd9936e2f9385701e44574fc7d721331ff676ce440b14100/jupyter_lsp-2.2.5-py3-none-any.whl", hash = "sha256:45fbddbd505f3fbfb0b6cb2f1bc5e15e83ab7c79cd6e89416b248cb3c00c11da", size = 69146, upload-time = "2024-04-09T17:59:43.388Z" }, ] [[package]] @@ -1718,9 +1718,9 @@ dependencies = [ { name = "traitlets", marker = "python_full_version < '3.9'" }, { name = "websocket-client", marker = "python_full_version < '3.9'" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/0c/34/88b47749c7fa9358e10eac356c4b97d94a91a67d5c935a73f69bc4a31118/jupyter_server-2.14.2.tar.gz", hash = "sha256:66095021aa9638ced276c248b1d81862e4c50f292d575920bbe960de1c56b12b", size = 719933 } +sdist = { url = "https://files.pythonhosted.org/packages/0c/34/88b47749c7fa9358e10eac356c4b97d94a91a67d5c935a73f69bc4a31118/jupyter_server-2.14.2.tar.gz", hash = "sha256:66095021aa9638ced276c248b1d81862e4c50f292d575920bbe960de1c56b12b", size = 719933, upload-time = "2024-07-12T18:31:43.019Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/57/e1/085edea6187a127ca8ea053eb01f4e1792d778b4d192c74d32eb6730fed6/jupyter_server-2.14.2-py3-none-any.whl", hash = "sha256:47ff506127c2f7851a17bf4713434208fc490955d0e8632e95014a9a9afbeefd", size = 383556 }, + { url = "https://files.pythonhosted.org/packages/57/e1/085edea6187a127ca8ea053eb01f4e1792d778b4d192c74d32eb6730fed6/jupyter_server-2.14.2-py3-none-any.whl", hash = "sha256:47ff506127c2f7851a17bf4713434208fc490955d0e8632e95014a9a9afbeefd", size = 383556, upload-time = "2024-07-12T18:31:39.724Z" }, ] [[package]] @@ -1762,9 +1762,9 @@ dependencies = [ { name = "traitlets", marker = "python_full_version >= '3.9'" }, { name = "websocket-client", marker = "python_full_version >= '3.9'" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/61/8c/df09d4ab646141f130f9977b32b206ba8615d1969b2eba6a2e84b7f89137/jupyter_server-2.15.0.tar.gz", hash = "sha256:9d446b8697b4f7337a1b7cdcac40778babdd93ba614b6d68ab1c0c918f1c4084", size = 725227 } +sdist = { url = "https://files.pythonhosted.org/packages/61/8c/df09d4ab646141f130f9977b32b206ba8615d1969b2eba6a2e84b7f89137/jupyter_server-2.15.0.tar.gz", hash = "sha256:9d446b8697b4f7337a1b7cdcac40778babdd93ba614b6d68ab1c0c918f1c4084", size = 725227, upload-time = "2024-12-20T13:02:42.654Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/e2/a2/89eeaf0bb954a123a909859fa507fa86f96eb61b62dc30667b60dbd5fdaf/jupyter_server-2.15.0-py3-none-any.whl", hash = "sha256:872d989becf83517012ee669f09604aa4a28097c0bd90b2f424310156c2cdae3", size = 385826 }, + { url = "https://files.pythonhosted.org/packages/e2/a2/89eeaf0bb954a123a909859fa507fa86f96eb61b62dc30667b60dbd5fdaf/jupyter_server-2.15.0-py3-none-any.whl", hash = "sha256:872d989becf83517012ee669f09604aa4a28097c0bd90b2f424310156c2cdae3", size = 385826, upload-time = "2024-12-20T13:02:37.785Z" }, ] [[package]] @@ -1776,9 +1776,9 @@ dependencies = [ { name = "pywinpty", version = "2.0.15", source = { registry = "https://pypi.org/simple" }, marker = "(python_full_version == '3.9.*' and os_name == 'nt' and platform_machine != 'arm64' and sys_platform == 'darwin') or (python_full_version >= '3.9' and os_name == 'nt' and platform_machine != 'aarch64' and sys_platform == 'linux') or (python_full_version >= '3.9' and os_name == 'nt' and sys_platform != 'darwin' and sys_platform != 'linux')" }, { name = "terminado" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/fc/d5/562469734f476159e99a55426d697cbf8e7eb5efe89fb0e0b4f83a3d3459/jupyter_server_terminals-0.5.3.tar.gz", hash = "sha256:5ae0295167220e9ace0edcfdb212afd2b01ee8d179fe6f23c899590e9b8a5269", size = 31430 } +sdist = { url = "https://files.pythonhosted.org/packages/fc/d5/562469734f476159e99a55426d697cbf8e7eb5efe89fb0e0b4f83a3d3459/jupyter_server_terminals-0.5.3.tar.gz", hash = "sha256:5ae0295167220e9ace0edcfdb212afd2b01ee8d179fe6f23c899590e9b8a5269", size = 31430, upload-time = "2024-03-12T14:37:03.049Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/07/2d/2b32cdbe8d2a602f697a649798554e4f072115438e92249624e532e8aca6/jupyter_server_terminals-0.5.3-py3-none-any.whl", hash = "sha256:41ee0d7dc0ebf2809c668e0fc726dfaf258fcd3e769568996ca731b6194ae9aa", size = 13656 }, + { url = "https://files.pythonhosted.org/packages/07/2d/2b32cdbe8d2a602f697a649798554e4f072115438e92249624e532e8aca6/jupyter_server_terminals-0.5.3-py3-none-any.whl", hash = "sha256:41ee0d7dc0ebf2809c668e0fc726dfaf258fcd3e769568996ca731b6194ae9aa", size = 13656, upload-time = "2024-03-12T14:37:00.708Z" }, ] [[package]] @@ -1806,18 +1806,18 @@ dependencies = [ { name = "tornado" }, { name = "traitlets" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/19/17/6f3d73c3e54b71bbaf03edcc4a54b0aa6328e0a134755f297ea87d425711/jupyterlab-4.3.5.tar.gz", hash = "sha256:c779bf72ced007d7d29d5bcef128e7fdda96ea69299e19b04a43635a7d641f9d", size = 21800023 } +sdist = { url = "https://files.pythonhosted.org/packages/19/17/6f3d73c3e54b71bbaf03edcc4a54b0aa6328e0a134755f297ea87d425711/jupyterlab-4.3.5.tar.gz", hash = "sha256:c779bf72ced007d7d29d5bcef128e7fdda96ea69299e19b04a43635a7d641f9d", size = 21800023, upload-time = "2025-01-29T19:27:11.432Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/73/6f/94d4c879b3e2b7b9bca1913ea6fbbef180f8b1ed065b46ade40d651ec54d/jupyterlab-4.3.5-py3-none-any.whl", hash = "sha256:571bbdee20e4c5321ab5195bc41cf92a75a5cff886be5e57ce78dfa37a5e9fdb", size = 11666944 }, + { url = "https://files.pythonhosted.org/packages/73/6f/94d4c879b3e2b7b9bca1913ea6fbbef180f8b1ed065b46ade40d651ec54d/jupyterlab-4.3.5-py3-none-any.whl", hash = "sha256:571bbdee20e4c5321ab5195bc41cf92a75a5cff886be5e57ce78dfa37a5e9fdb", size = 11666944, upload-time = "2025-01-29T19:27:04.992Z" }, ] [[package]] name = "jupyterlab-pygments" version = "0.3.0" source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/90/51/9187be60d989df97f5f0aba133fa54e7300f17616e065d1ada7d7646b6d6/jupyterlab_pygments-0.3.0.tar.gz", hash = "sha256:721aca4d9029252b11cfa9d185e5b5af4d54772bb8072f9b7036f4170054d35d", size = 512900 } +sdist = { url = "https://files.pythonhosted.org/packages/90/51/9187be60d989df97f5f0aba133fa54e7300f17616e065d1ada7d7646b6d6/jupyterlab_pygments-0.3.0.tar.gz", hash = "sha256:721aca4d9029252b11cfa9d185e5b5af4d54772bb8072f9b7036f4170054d35d", size = 512900, upload-time = "2023-11-23T09:26:37.44Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/b1/dd/ead9d8ea85bf202d90cc513b533f9c363121c7792674f78e0d8a854b63b4/jupyterlab_pygments-0.3.0-py3-none-any.whl", hash = "sha256:841a89020971da1d8693f1a99997aefc5dc424bb1b251fd6322462a1b8842780", size = 15884 }, + { url = "https://files.pythonhosted.org/packages/b1/dd/ead9d8ea85bf202d90cc513b533f9c363121c7792674f78e0d8a854b63b4/jupyterlab_pygments-0.3.0-py3-none-any.whl", hash = "sha256:841a89020971da1d8693f1a99997aefc5dc424bb1b251fd6322462a1b8842780", size = 15884, upload-time = "2023-11-23T09:26:34.325Z" }, ] [[package]] @@ -1836,18 +1836,18 @@ dependencies = [ { name = "packaging" }, { name = "requests" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/0a/c9/a883ce65eb27905ce77ace410d83587c82ea64dc85a48d1f7ed52bcfa68d/jupyterlab_server-2.27.3.tar.gz", hash = "sha256:eb36caca59e74471988f0ae25c77945610b887f777255aa21f8065def9e51ed4", size = 76173 } +sdist = { url = "https://files.pythonhosted.org/packages/0a/c9/a883ce65eb27905ce77ace410d83587c82ea64dc85a48d1f7ed52bcfa68d/jupyterlab_server-2.27.3.tar.gz", hash = "sha256:eb36caca59e74471988f0ae25c77945610b887f777255aa21f8065def9e51ed4", size = 76173, upload-time = "2024-07-16T17:02:04.149Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/54/09/2032e7d15c544a0e3cd831c51d77a8ca57f7555b2e1b2922142eddb02a84/jupyterlab_server-2.27.3-py3-none-any.whl", hash = "sha256:e697488f66c3db49df675158a77b3b017520d772c6e1548c7d9bcc5df7944ee4", size = 59700 }, + { url = "https://files.pythonhosted.org/packages/54/09/2032e7d15c544a0e3cd831c51d77a8ca57f7555b2e1b2922142eddb02a84/jupyterlab_server-2.27.3-py3-none-any.whl", hash = "sha256:e697488f66c3db49df675158a77b3b017520d772c6e1548c7d9bcc5df7944ee4", size = 59700, upload-time = "2024-07-16T17:02:01.115Z" }, ] [[package]] name = "jupyterlab-widgets" version = "3.0.13" source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/59/73/fa26bbb747a9ea4fca6b01453aa22990d52ab62dd61384f1ac0dc9d4e7ba/jupyterlab_widgets-3.0.13.tar.gz", hash = "sha256:a2966d385328c1942b683a8cd96b89b8dd82c8b8f81dda902bb2bc06d46f5bed", size = 203556 } +sdist = { url = "https://files.pythonhosted.org/packages/59/73/fa26bbb747a9ea4fca6b01453aa22990d52ab62dd61384f1ac0dc9d4e7ba/jupyterlab_widgets-3.0.13.tar.gz", hash = "sha256:a2966d385328c1942b683a8cd96b89b8dd82c8b8f81dda902bb2bc06d46f5bed", size = 203556, upload-time = "2024-08-22T12:16:08.6Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/a9/93/858e87edc634d628e5d752ba944c2833133a28fa87bb093e6832ced36a3e/jupyterlab_widgets-3.0.13-py3-none-any.whl", hash = "sha256:e3cda2c233ce144192f1e29914ad522b2f4c40e77214b0cc97377ca3d323db54", size = 214392 }, + { url = "https://files.pythonhosted.org/packages/a9/93/858e87edc634d628e5d752ba944c2833133a28fa87bb093e6832ced36a3e/jupyterlab_widgets-3.0.13-py3-none-any.whl", hash = "sha256:e3cda2c233ce144192f1e29914ad522b2f4c40e77214b0cc97377ca3d323db54", size = 214392, upload-time = "2024-08-22T12:16:06.537Z" }, ] [[package]] @@ -1862,9 +1862,9 @@ dependencies = [ { name = "pyyaml" }, { name = "tomli", marker = "python_full_version < '3.11'" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/10/e7/58d6fd374e1065d2bccefd07953d2f1f911d8de03fd7dc33dd5a25ac659c/jupytext-1.16.6.tar.gz", hash = "sha256:dbd03f9263c34b737003f388fc069e9030834fb7136879c4c32c32473557baa0", size = 3726029 } +sdist = { url = "https://files.pythonhosted.org/packages/10/e7/58d6fd374e1065d2bccefd07953d2f1f911d8de03fd7dc33dd5a25ac659c/jupytext-1.16.6.tar.gz", hash = "sha256:dbd03f9263c34b737003f388fc069e9030834fb7136879c4c32c32473557baa0", size = 3726029, upload-time = "2024-12-17T19:43:26.862Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/f4/02/27191f18564d4f2c0e543643aa94b54567de58f359cd6a3bed33adb723ac/jupytext-1.16.6-py3-none-any.whl", hash = "sha256:900132031f73fee15a1c9ebd862e05eb5f51e1ad6ab3a2c6fdd97ce2f9c913b4", size = 154200 }, + { url = "https://files.pythonhosted.org/packages/f4/02/27191f18564d4f2c0e543643aa94b54567de58f359cd6a3bed33adb723ac/jupytext-1.16.6-py3-none-any.whl", hash = "sha256:900132031f73fee15a1c9ebd862e05eb5f51e1ad6ab3a2c6fdd97ce2f9c913b4", size = 154200, upload-time = "2024-12-17T19:43:24.882Z" }, ] [[package]] @@ -1886,9 +1886,9 @@ dependencies = [ { name = "pywin32-ctypes", marker = "python_full_version < '3.9' and sys_platform == 'win32'" }, { name = "secretstorage", marker = "python_full_version < '3.9' and sys_platform == 'linux'" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/f6/24/64447b13df6a0e2797b586dad715766d756c932ce8ace7f67bd384d76ae0/keyring-25.5.0.tar.gz", hash = "sha256:4c753b3ec91717fe713c4edd522d625889d8973a349b0e582622f49766de58e6", size = 62675 } +sdist = { url = "https://files.pythonhosted.org/packages/f6/24/64447b13df6a0e2797b586dad715766d756c932ce8ace7f67bd384d76ae0/keyring-25.5.0.tar.gz", hash = "sha256:4c753b3ec91717fe713c4edd522d625889d8973a349b0e582622f49766de58e6", size = 62675, upload-time = "2024-10-26T15:40:12.344Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/32/c9/353c156fa2f057e669106e5d6bcdecf85ef8d3536ce68ca96f18dc7b6d6f/keyring-25.5.0-py3-none-any.whl", hash = "sha256:e67f8ac32b04be4714b42fe84ce7dad9c40985b9ca827c592cc303e7c26d9741", size = 39096 }, + { url = "https://files.pythonhosted.org/packages/32/c9/353c156fa2f057e669106e5d6bcdecf85ef8d3536ce68ca96f18dc7b6d6f/keyring-25.5.0-py3-none-any.whl", hash = "sha256:e67f8ac32b04be4714b42fe84ce7dad9c40985b9ca827c592cc303e7c26d9741", size = 39096, upload-time = "2024-10-26T15:40:10.296Z" }, ] [[package]] @@ -1918,9 +1918,9 @@ dependencies = [ { name = "pywin32-ctypes", marker = "python_full_version >= '3.9' and sys_platform == 'win32'" }, { name = "secretstorage", marker = "python_full_version >= '3.9' and sys_platform == 'linux'" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/70/09/d904a6e96f76ff214be59e7aa6ef7190008f52a0ab6689760a98de0bf37d/keyring-25.6.0.tar.gz", hash = "sha256:0b39998aa941431eb3d9b0d4b2460bc773b9df6fed7621c2dfb291a7e0187a66", size = 62750 } +sdist = { url = "https://files.pythonhosted.org/packages/70/09/d904a6e96f76ff214be59e7aa6ef7190008f52a0ab6689760a98de0bf37d/keyring-25.6.0.tar.gz", hash = "sha256:0b39998aa941431eb3d9b0d4b2460bc773b9df6fed7621c2dfb291a7e0187a66", size = 62750, upload-time = "2024-12-25T15:26:45.782Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/d3/32/da7f44bcb1105d3e88a0b74ebdca50c59121d2ddf71c9e34ba47df7f3a56/keyring-25.6.0-py3-none-any.whl", hash = "sha256:552a3f7af126ece7ed5c89753650eec89c7eaae8617d0aa4d9ad2b75111266bd", size = 39085 }, + { url = "https://files.pythonhosted.org/packages/d3/32/da7f44bcb1105d3e88a0b74ebdca50c59121d2ddf71c9e34ba47df7f3a56/keyring-25.6.0-py3-none-any.whl", hash = "sha256:552a3f7af126ece7ed5c89753650eec89c7eaae8617d0aa4d9ad2b75111266bd", size = 39085, upload-time = "2024-12-25T15:26:44.377Z" }, ] [[package]] @@ -1935,121 +1935,121 @@ resolution-markers = [ "python_full_version < '3.9' and platform_machine == 'aarch64' and sys_platform == 'linux'", "(python_full_version < '3.9' and platform_machine != 'arm64' and sys_platform == 'darwin') or (python_full_version < '3.9' and platform_machine != 'aarch64' and sys_platform == 'linux') or (python_full_version < '3.9' and sys_platform != 'darwin' and sys_platform != 'linux')", ] -sdist = { url = "https://files.pythonhosted.org/packages/85/4d/2255e1c76304cbd60b48cee302b66d1dde4468dc5b1160e4b7cb43778f2a/kiwisolver-1.4.7.tar.gz", hash = "sha256:9893ff81bd7107f7b685d3017cc6583daadb4fc26e4a888350df530e41980a60", size = 97286 } -wheels = [ - { url = "https://files.pythonhosted.org/packages/97/14/fc943dd65268a96347472b4fbe5dcc2f6f55034516f80576cd0dd3a8930f/kiwisolver-1.4.7-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:8a9c83f75223d5e48b0bc9cb1bf2776cf01563e00ade8775ffe13b0b6e1af3a6", size = 122440 }, - { url = "https://files.pythonhosted.org/packages/1e/46/e68fed66236b69dd02fcdb506218c05ac0e39745d696d22709498896875d/kiwisolver-1.4.7-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:58370b1ffbd35407444d57057b57da5d6549d2d854fa30249771775c63b5fe17", size = 65758 }, - { url = "https://files.pythonhosted.org/packages/ef/fa/65de49c85838681fc9cb05de2a68067a683717321e01ddafb5b8024286f0/kiwisolver-1.4.7-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:aa0abdf853e09aff551db11fce173e2177d00786c688203f52c87ad7fcd91ef9", size = 64311 }, - { url = "https://files.pythonhosted.org/packages/42/9c/cc8d90f6ef550f65443bad5872ffa68f3dee36de4974768628bea7c14979/kiwisolver-1.4.7-cp310-cp310-manylinux_2_12_i686.manylinux2010_i686.whl", hash = "sha256:8d53103597a252fb3ab8b5845af04c7a26d5e7ea8122303dd7a021176a87e8b9", size = 1637109 }, - { url = "https://files.pythonhosted.org/packages/55/91/0a57ce324caf2ff5403edab71c508dd8f648094b18cfbb4c8cc0fde4a6ac/kiwisolver-1.4.7-cp310-cp310-manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:88f17c5ffa8e9462fb79f62746428dd57b46eb931698e42e990ad63103f35e6c", size = 1617814 }, - { url = "https://files.pythonhosted.org/packages/12/5d/c36140313f2510e20207708adf36ae4919416d697ee0236b0ddfb6fd1050/kiwisolver-1.4.7-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:88a9ca9c710d598fd75ee5de59d5bda2684d9db36a9f50b6125eaea3969c2599", size = 1400881 }, - { url = "https://files.pythonhosted.org/packages/56/d0/786e524f9ed648324a466ca8df86298780ef2b29c25313d9a4f16992d3cf/kiwisolver-1.4.7-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:f4d742cb7af1c28303a51b7a27aaee540e71bb8e24f68c736f6f2ffc82f2bf05", size = 1512972 }, - { url = "https://files.pythonhosted.org/packages/67/5a/77851f2f201e6141d63c10a0708e996a1363efaf9e1609ad0441b343763b/kiwisolver-1.4.7-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:e28c7fea2196bf4c2f8d46a0415c77a1c480cc0724722f23d7410ffe9842c407", size = 1444787 }, - { url = "https://files.pythonhosted.org/packages/06/5f/1f5eaab84355885e224a6fc8d73089e8713dc7e91c121f00b9a1c58a2195/kiwisolver-1.4.7-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:e968b84db54f9d42046cf154e02911e39c0435c9801681e3fc9ce8a3c4130278", size = 2199212 }, - { url = "https://files.pythonhosted.org/packages/b5/28/9152a3bfe976a0ae21d445415defc9d1cd8614b2910b7614b30b27a47270/kiwisolver-1.4.7-cp310-cp310-musllinux_1_2_i686.whl", hash = "sha256:0c18ec74c0472de033e1bebb2911c3c310eef5649133dd0bedf2a169a1b269e5", size = 2346399 }, - { url = "https://files.pythonhosted.org/packages/26/f6/453d1904c52ac3b400f4d5e240ac5fec25263716723e44be65f4d7149d13/kiwisolver-1.4.7-cp310-cp310-musllinux_1_2_ppc64le.whl", hash = "sha256:8f0ea6da6d393d8b2e187e6a5e3fb81f5862010a40c3945e2c6d12ae45cfb2ad", size = 2308688 }, - { url = "https://files.pythonhosted.org/packages/5a/9a/d4968499441b9ae187e81745e3277a8b4d7c60840a52dc9d535a7909fac3/kiwisolver-1.4.7-cp310-cp310-musllinux_1_2_s390x.whl", hash = "sha256:f106407dda69ae456dd1227966bf445b157ccc80ba0dff3802bb63f30b74e895", size = 2445493 }, - { url = "https://files.pythonhosted.org/packages/07/c9/032267192e7828520dacb64dfdb1d74f292765f179e467c1cba97687f17d/kiwisolver-1.4.7-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:84ec80df401cfee1457063732d90022f93951944b5b58975d34ab56bb150dfb3", size = 2262191 }, - { url = "https://files.pythonhosted.org/packages/6c/ad/db0aedb638a58b2951da46ddaeecf204be8b4f5454df020d850c7fa8dca8/kiwisolver-1.4.7-cp310-cp310-win32.whl", hash = "sha256:71bb308552200fb2c195e35ef05de12f0c878c07fc91c270eb3d6e41698c3bcc", size = 46644 }, - { url = "https://files.pythonhosted.org/packages/12/ca/d0f7b7ffbb0be1e7c2258b53554efec1fd652921f10d7d85045aff93ab61/kiwisolver-1.4.7-cp310-cp310-win_amd64.whl", hash = "sha256:44756f9fd339de0fb6ee4f8c1696cfd19b2422e0d70b4cefc1cc7f1f64045a8c", size = 55877 }, - { url = "https://files.pythonhosted.org/packages/97/6c/cfcc128672f47a3e3c0d918ecb67830600078b025bfc32d858f2e2d5c6a4/kiwisolver-1.4.7-cp310-cp310-win_arm64.whl", hash = "sha256:78a42513018c41c2ffd262eb676442315cbfe3c44eed82385c2ed043bc63210a", size = 48347 }, - { url = "https://files.pythonhosted.org/packages/e9/44/77429fa0a58f941d6e1c58da9efe08597d2e86bf2b2cce6626834f49d07b/kiwisolver-1.4.7-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:d2b0e12a42fb4e72d509fc994713d099cbb15ebf1103545e8a45f14da2dfca54", size = 122442 }, - { url = "https://files.pythonhosted.org/packages/e5/20/8c75caed8f2462d63c7fd65e16c832b8f76cda331ac9e615e914ee80bac9/kiwisolver-1.4.7-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:2a8781ac3edc42ea4b90bc23e7d37b665d89423818e26eb6df90698aa2287c95", size = 65762 }, - { url = "https://files.pythonhosted.org/packages/f4/98/fe010f15dc7230f45bc4cf367b012d651367fd203caaa992fd1f5963560e/kiwisolver-1.4.7-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:46707a10836894b559e04b0fd143e343945c97fd170d69a2d26d640b4e297935", size = 64319 }, - { url = "https://files.pythonhosted.org/packages/8b/1b/b5d618f4e58c0675654c1e5051bcf42c776703edb21c02b8c74135541f60/kiwisolver-1.4.7-cp311-cp311-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:ef97b8df011141c9b0f6caf23b29379f87dd13183c978a30a3c546d2c47314cb", size = 1334260 }, - { url = "https://files.pythonhosted.org/packages/b8/01/946852b13057a162a8c32c4c8d2e9ed79f0bb5d86569a40c0b5fb103e373/kiwisolver-1.4.7-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:3ab58c12a2cd0fc769089e6d38466c46d7f76aced0a1f54c77652446733d2d02", size = 1426589 }, - { url = "https://files.pythonhosted.org/packages/70/d1/c9f96df26b459e15cf8a965304e6e6f4eb291e0f7a9460b4ad97b047561e/kiwisolver-1.4.7-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:803b8e1459341c1bb56d1c5c010406d5edec8a0713a0945851290a7930679b51", size = 1541080 }, - { url = "https://files.pythonhosted.org/packages/d3/73/2686990eb8b02d05f3de759d6a23a4ee7d491e659007dd4c075fede4b5d0/kiwisolver-1.4.7-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:f9a9e8a507420fe35992ee9ecb302dab68550dedc0da9e2880dd88071c5fb052", size = 1470049 }, - { url = "https://files.pythonhosted.org/packages/a7/4b/2db7af3ed3af7c35f388d5f53c28e155cd402a55432d800c543dc6deb731/kiwisolver-1.4.7-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:18077b53dc3bb490e330669a99920c5e6a496889ae8c63b58fbc57c3d7f33a18", size = 1426376 }, - { url = "https://files.pythonhosted.org/packages/05/83/2857317d04ea46dc5d115f0df7e676997bbd968ced8e2bd6f7f19cfc8d7f/kiwisolver-1.4.7-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:6af936f79086a89b3680a280c47ea90b4df7047b5bdf3aa5c524bbedddb9e545", size = 2222231 }, - { url = "https://files.pythonhosted.org/packages/0d/b5/866f86f5897cd4ab6d25d22e403404766a123f138bd6a02ecb2cdde52c18/kiwisolver-1.4.7-cp311-cp311-musllinux_1_2_i686.whl", hash = "sha256:3abc5b19d24af4b77d1598a585b8a719beb8569a71568b66f4ebe1fb0449460b", size = 2368634 }, - { url = "https://files.pythonhosted.org/packages/c1/ee/73de8385403faba55f782a41260210528fe3273d0cddcf6d51648202d6d0/kiwisolver-1.4.7-cp311-cp311-musllinux_1_2_ppc64le.whl", hash = "sha256:933d4de052939d90afbe6e9d5273ae05fb836cc86c15b686edd4b3560cc0ee36", size = 2329024 }, - { url = "https://files.pythonhosted.org/packages/a1/e7/cd101d8cd2cdfaa42dc06c433df17c8303d31129c9fdd16c0ea37672af91/kiwisolver-1.4.7-cp311-cp311-musllinux_1_2_s390x.whl", hash = "sha256:65e720d2ab2b53f1f72fb5da5fb477455905ce2c88aaa671ff0a447c2c80e8e3", size = 2468484 }, - { url = "https://files.pythonhosted.org/packages/e1/72/84f09d45a10bc57a40bb58b81b99d8f22b58b2040c912b7eb97ebf625bf2/kiwisolver-1.4.7-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:3bf1ed55088f214ba6427484c59553123fdd9b218a42bbc8c6496d6754b1e523", size = 2284078 }, - { url = "https://files.pythonhosted.org/packages/d2/d4/71828f32b956612dc36efd7be1788980cb1e66bfb3706e6dec9acad9b4f9/kiwisolver-1.4.7-cp311-cp311-win32.whl", hash = "sha256:4c00336b9dd5ad96d0a558fd18a8b6f711b7449acce4c157e7343ba92dd0cf3d", size = 46645 }, - { url = "https://files.pythonhosted.org/packages/a1/65/d43e9a20aabcf2e798ad1aff6c143ae3a42cf506754bcb6a7ed8259c8425/kiwisolver-1.4.7-cp311-cp311-win_amd64.whl", hash = "sha256:929e294c1ac1e9f615c62a4e4313ca1823ba37326c164ec720a803287c4c499b", size = 56022 }, - { url = "https://files.pythonhosted.org/packages/35/b3/9f75a2e06f1b4ca00b2b192bc2b739334127d27f1d0625627ff8479302ba/kiwisolver-1.4.7-cp311-cp311-win_arm64.whl", hash = "sha256:e33e8fbd440c917106b237ef1a2f1449dfbb9b6f6e1ce17c94cd6a1e0d438376", size = 48536 }, - { url = "https://files.pythonhosted.org/packages/97/9c/0a11c714cf8b6ef91001c8212c4ef207f772dd84540104952c45c1f0a249/kiwisolver-1.4.7-cp312-cp312-macosx_10_9_universal2.whl", hash = "sha256:5360cc32706dab3931f738d3079652d20982511f7c0ac5711483e6eab08efff2", size = 121808 }, - { url = "https://files.pythonhosted.org/packages/f2/d8/0fe8c5f5d35878ddd135f44f2af0e4e1d379e1c7b0716f97cdcb88d4fd27/kiwisolver-1.4.7-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:942216596dc64ddb25adb215c3c783215b23626f8d84e8eff8d6d45c3f29f75a", size = 65531 }, - { url = "https://files.pythonhosted.org/packages/80/c5/57fa58276dfdfa612241d640a64ca2f76adc6ffcebdbd135b4ef60095098/kiwisolver-1.4.7-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:48b571ecd8bae15702e4f22d3ff6a0f13e54d3d00cd25216d5e7f658242065ee", size = 63894 }, - { url = "https://files.pythonhosted.org/packages/8b/e9/26d3edd4c4ad1c5b891d8747a4f81b1b0aba9fb9721de6600a4adc09773b/kiwisolver-1.4.7-cp312-cp312-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:ad42ba922c67c5f219097b28fae965e10045ddf145d2928bfac2eb2e17673640", size = 1369296 }, - { url = "https://files.pythonhosted.org/packages/b6/67/3f4850b5e6cffb75ec40577ddf54f7b82b15269cc5097ff2e968ee32ea7d/kiwisolver-1.4.7-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:612a10bdae23404a72941a0fc8fa2660c6ea1217c4ce0dbcab8a8f6543ea9e7f", size = 1461450 }, - { url = "https://files.pythonhosted.org/packages/52/be/86cbb9c9a315e98a8dc6b1d23c43cffd91d97d49318854f9c37b0e41cd68/kiwisolver-1.4.7-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:9e838bba3a3bac0fe06d849d29772eb1afb9745a59710762e4ba3f4cb8424483", size = 1579168 }, - { url = "https://files.pythonhosted.org/packages/0f/00/65061acf64bd5fd34c1f4ae53f20b43b0a017a541f242a60b135b9d1e301/kiwisolver-1.4.7-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:22f499f6157236c19f4bbbd472fa55b063db77a16cd74d49afe28992dff8c258", size = 1507308 }, - { url = "https://files.pythonhosted.org/packages/21/e4/c0b6746fd2eb62fe702118b3ca0cb384ce95e1261cfada58ff693aeec08a/kiwisolver-1.4.7-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:693902d433cf585133699972b6d7c42a8b9f8f826ebcaf0132ff55200afc599e", size = 1464186 }, - { url = "https://files.pythonhosted.org/packages/0a/0f/529d0a9fffb4d514f2782c829b0b4b371f7f441d61aa55f1de1c614c4ef3/kiwisolver-1.4.7-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:4e77f2126c3e0b0d055f44513ed349038ac180371ed9b52fe96a32aa071a5107", size = 2247877 }, - { url = "https://files.pythonhosted.org/packages/d1/e1/66603ad779258843036d45adcbe1af0d1a889a07af4635f8b4ec7dccda35/kiwisolver-1.4.7-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:657a05857bda581c3656bfc3b20e353c232e9193eb167766ad2dc58b56504948", size = 2404204 }, - { url = "https://files.pythonhosted.org/packages/8d/61/de5fb1ca7ad1f9ab7970e340a5b833d735df24689047de6ae71ab9d8d0e7/kiwisolver-1.4.7-cp312-cp312-musllinux_1_2_ppc64le.whl", hash = "sha256:4bfa75a048c056a411f9705856abfc872558e33c055d80af6a380e3658766038", size = 2352461 }, - { url = "https://files.pythonhosted.org/packages/ba/d2/0edc00a852e369827f7e05fd008275f550353f1f9bcd55db9363d779fc63/kiwisolver-1.4.7-cp312-cp312-musllinux_1_2_s390x.whl", hash = "sha256:34ea1de54beef1c104422d210c47c7d2a4999bdecf42c7b5718fbe59a4cac383", size = 2501358 }, - { url = "https://files.pythonhosted.org/packages/84/15/adc15a483506aec6986c01fb7f237c3aec4d9ed4ac10b756e98a76835933/kiwisolver-1.4.7-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:90da3b5f694b85231cf93586dad5e90e2d71b9428f9aad96952c99055582f520", size = 2314119 }, - { url = "https://files.pythonhosted.org/packages/36/08/3a5bb2c53c89660863a5aa1ee236912269f2af8762af04a2e11df851d7b2/kiwisolver-1.4.7-cp312-cp312-win32.whl", hash = "sha256:18e0cca3e008e17fe9b164b55735a325140a5a35faad8de92dd80265cd5eb80b", size = 46367 }, - { url = "https://files.pythonhosted.org/packages/19/93/c05f0a6d825c643779fc3c70876bff1ac221f0e31e6f701f0e9578690d70/kiwisolver-1.4.7-cp312-cp312-win_amd64.whl", hash = "sha256:58cb20602b18f86f83a5c87d3ee1c766a79c0d452f8def86d925e6c60fbf7bfb", size = 55884 }, - { url = "https://files.pythonhosted.org/packages/d2/f9/3828d8f21b6de4279f0667fb50a9f5215e6fe57d5ec0d61905914f5b6099/kiwisolver-1.4.7-cp312-cp312-win_arm64.whl", hash = "sha256:f5a8b53bdc0b3961f8b6125e198617c40aeed638b387913bf1ce78afb1b0be2a", size = 48528 }, - { url = "https://files.pythonhosted.org/packages/c4/06/7da99b04259b0f18b557a4effd1b9c901a747f7fdd84cf834ccf520cb0b2/kiwisolver-1.4.7-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:2e6039dcbe79a8e0f044f1c39db1986a1b8071051efba3ee4d74f5b365f5226e", size = 121913 }, - { url = "https://files.pythonhosted.org/packages/97/f5/b8a370d1aa593c17882af0a6f6755aaecd643640c0ed72dcfd2eafc388b9/kiwisolver-1.4.7-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:a1ecf0ac1c518487d9d23b1cd7139a6a65bc460cd101ab01f1be82ecf09794b6", size = 65627 }, - { url = "https://files.pythonhosted.org/packages/2a/fc/6c0374f7503522539e2d4d1b497f5ebad3f8ed07ab51aed2af988dd0fb65/kiwisolver-1.4.7-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:7ab9ccab2b5bd5702ab0803676a580fffa2aa178c2badc5557a84cc943fcf750", size = 63888 }, - { url = "https://files.pythonhosted.org/packages/bf/3e/0b7172793d0f41cae5c923492da89a2ffcd1adf764c16159ca047463ebd3/kiwisolver-1.4.7-cp313-cp313-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:f816dd2277f8d63d79f9c8473a79fe54047bc0467754962840782c575522224d", size = 1369145 }, - { url = "https://files.pythonhosted.org/packages/77/92/47d050d6f6aced2d634258123f2688fbfef8ded3c5baf2c79d94d91f1f58/kiwisolver-1.4.7-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:cf8bcc23ceb5a1b624572a1623b9f79d2c3b337c8c455405ef231933a10da379", size = 1461448 }, - { url = "https://files.pythonhosted.org/packages/9c/1b/8f80b18e20b3b294546a1adb41701e79ae21915f4175f311a90d042301cf/kiwisolver-1.4.7-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:dea0bf229319828467d7fca8c7c189780aa9ff679c94539eed7532ebe33ed37c", size = 1578750 }, - { url = "https://files.pythonhosted.org/packages/a4/fe/fe8e72f3be0a844f257cadd72689c0848c6d5c51bc1d60429e2d14ad776e/kiwisolver-1.4.7-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:7c06a4c7cf15ec739ce0e5971b26c93638730090add60e183530d70848ebdd34", size = 1507175 }, - { url = "https://files.pythonhosted.org/packages/39/fa/cdc0b6105d90eadc3bee525fecc9179e2b41e1ce0293caaf49cb631a6aaf/kiwisolver-1.4.7-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:913983ad2deb14e66d83c28b632fd35ba2b825031f2fa4ca29675e665dfecbe1", size = 1463963 }, - { url = "https://files.pythonhosted.org/packages/6e/5c/0c03c4e542720c6177d4f408e56d1c8315899db72d46261a4e15b8b33a41/kiwisolver-1.4.7-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:5337ec7809bcd0f424c6b705ecf97941c46279cf5ed92311782c7c9c2026f07f", size = 2248220 }, - { url = "https://files.pythonhosted.org/packages/3d/ee/55ef86d5a574f4e767df7da3a3a7ff4954c996e12d4fbe9c408170cd7dcc/kiwisolver-1.4.7-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:4c26ed10c4f6fa6ddb329a5120ba3b6db349ca192ae211e882970bfc9d91420b", size = 2404463 }, - { url = "https://files.pythonhosted.org/packages/0f/6d/73ad36170b4bff4825dc588acf4f3e6319cb97cd1fb3eb04d9faa6b6f212/kiwisolver-1.4.7-cp313-cp313-musllinux_1_2_ppc64le.whl", hash = "sha256:c619b101e6de2222c1fcb0531e1b17bbffbe54294bfba43ea0d411d428618c27", size = 2352842 }, - { url = "https://files.pythonhosted.org/packages/0b/16/fa531ff9199d3b6473bb4d0f47416cdb08d556c03b8bc1cccf04e756b56d/kiwisolver-1.4.7-cp313-cp313-musllinux_1_2_s390x.whl", hash = "sha256:073a36c8273647592ea332e816e75ef8da5c303236ec0167196793eb1e34657a", size = 2501635 }, - { url = "https://files.pythonhosted.org/packages/78/7e/aa9422e78419db0cbe75fb86d8e72b433818f2e62e2e394992d23d23a583/kiwisolver-1.4.7-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:3ce6b2b0231bda412463e152fc18335ba32faf4e8c23a754ad50ffa70e4091ee", size = 2314556 }, - { url = "https://files.pythonhosted.org/packages/a8/b2/15f7f556df0a6e5b3772a1e076a9d9f6c538ce5f05bd590eca8106508e06/kiwisolver-1.4.7-cp313-cp313-win32.whl", hash = "sha256:f4c9aee212bc89d4e13f58be11a56cc8036cabad119259d12ace14b34476fd07", size = 46364 }, - { url = "https://files.pythonhosted.org/packages/0b/db/32e897e43a330eee8e4770bfd2737a9584b23e33587a0812b8e20aac38f7/kiwisolver-1.4.7-cp313-cp313-win_amd64.whl", hash = "sha256:8a3ec5aa8e38fc4c8af308917ce12c536f1c88452ce554027e55b22cbbfbff76", size = 55887 }, - { url = "https://files.pythonhosted.org/packages/c8/a4/df2bdca5270ca85fd25253049eb6708d4127be2ed0e5c2650217450b59e9/kiwisolver-1.4.7-cp313-cp313-win_arm64.whl", hash = "sha256:76c8094ac20ec259471ac53e774623eb62e6e1f56cd8690c67ce6ce4fcb05650", size = 48530 }, - { url = "https://files.pythonhosted.org/packages/57/d6/620247574d9e26fe24384087879e8399e309f0051782f95238090afa6ccc/kiwisolver-1.4.7-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:5d5abf8f8ec1f4e22882273c423e16cae834c36856cac348cfbfa68e01c40f3a", size = 122325 }, - { url = "https://files.pythonhosted.org/packages/bd/c6/572ad7d73dbd898cffa9050ffd7ff7e78a055a1d9b7accd6b4d1f50ec858/kiwisolver-1.4.7-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:aeb3531b196ef6f11776c21674dba836aeea9d5bd1cf630f869e3d90b16cfade", size = 65679 }, - { url = "https://files.pythonhosted.org/packages/14/a7/bb8ab10e12cc8764f4da0245d72dee4731cc720bdec0f085d5e9c6005b98/kiwisolver-1.4.7-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:b7d755065e4e866a8086c9bdada157133ff466476a2ad7861828e17b6026e22c", size = 64267 }, - { url = "https://files.pythonhosted.org/packages/54/a4/3b5a2542429e182a4df0528214e76803f79d016110f5e67c414a0357cd7d/kiwisolver-1.4.7-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:08471d4d86cbaec61f86b217dd938a83d85e03785f51121e791a6e6689a3be95", size = 1387236 }, - { url = "https://files.pythonhosted.org/packages/a6/d7/bc3005e906c1673953a3e31ee4f828157d5e07a62778d835dd937d624ea0/kiwisolver-1.4.7-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:7bbfcb7165ce3d54a3dfbe731e470f65739c4c1f85bb1018ee912bae139e263b", size = 1500555 }, - { url = "https://files.pythonhosted.org/packages/09/a7/87cb30741f13b7af08446795dca6003491755805edc9c321fe996c1320b8/kiwisolver-1.4.7-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:5d34eb8494bea691a1a450141ebb5385e4b69d38bb8403b5146ad279f4b30fa3", size = 1431684 }, - { url = "https://files.pythonhosted.org/packages/37/a4/1e4e2d8cdaa42c73d523413498445247e615334e39401ae49dae74885429/kiwisolver-1.4.7-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:9242795d174daa40105c1d86aba618e8eab7bf96ba8c3ee614da8302a9f95503", size = 1125811 }, - { url = "https://files.pythonhosted.org/packages/76/36/ae40d7a3171e06f55ac77fe5536079e7be1d8be2a8210e08975c7f9b4d54/kiwisolver-1.4.7-cp38-cp38-manylinux_2_5_x86_64.manylinux1_x86_64.whl", hash = "sha256:a0f64a48bb81af7450e641e3fe0b0394d7381e342805479178b3d335d60ca7cf", size = 1179987 }, - { url = "https://files.pythonhosted.org/packages/d8/5d/6e4894b9fdf836d8bd095729dff123bbbe6ad0346289287b45c800fae656/kiwisolver-1.4.7-cp38-cp38-musllinux_1_2_aarch64.whl", hash = "sha256:8e045731a5416357638d1700927529e2b8ab304811671f665b225f8bf8d8f933", size = 2186817 }, - { url = "https://files.pythonhosted.org/packages/f0/2d/603079b2c2fd62890be0b0ebfc8bb6dda8a5253ca0758885596565b0dfc1/kiwisolver-1.4.7-cp38-cp38-musllinux_1_2_i686.whl", hash = "sha256:4322872d5772cae7369f8351da1edf255a604ea7087fe295411397d0cfd9655e", size = 2332538 }, - { url = "https://files.pythonhosted.org/packages/bb/2a/9a28279c865c38a27960db38b07179143aafc94877945c209bfc553d9dd3/kiwisolver-1.4.7-cp38-cp38-musllinux_1_2_ppc64le.whl", hash = "sha256:e1631290ee9271dffe3062d2634c3ecac02c83890ada077d225e081aca8aab89", size = 2293890 }, - { url = "https://files.pythonhosted.org/packages/1a/4d/4da8967f3bf13c764984b8fbae330683ee5fbd555b4a5624ad2b9decc0ab/kiwisolver-1.4.7-cp38-cp38-musllinux_1_2_s390x.whl", hash = "sha256:edcfc407e4eb17e037bca59be0e85a2031a2ac87e4fed26d3e9df88b4165f92d", size = 2434677 }, - { url = "https://files.pythonhosted.org/packages/08/e9/a97a2b6b74dd850fa5974309367e025c06093a143befe9b962d0baebb4f0/kiwisolver-1.4.7-cp38-cp38-musllinux_1_2_x86_64.whl", hash = "sha256:4d05d81ecb47d11e7f8932bd8b61b720bf0b41199358f3f5e36d38e28f0532c5", size = 2250339 }, - { url = "https://files.pythonhosted.org/packages/8a/e7/55507a387ba1766e69f5e13a79e1aefabdafe0532bee5d1972dfc42b3d16/kiwisolver-1.4.7-cp38-cp38-win32.whl", hash = "sha256:b38ac83d5f04b15e515fd86f312479d950d05ce2368d5413d46c088dda7de90a", size = 46932 }, - { url = "https://files.pythonhosted.org/packages/52/77/7e04cca2ff1dc6ee6b7654cebe233de72b7a3ec5616501b6f3144fb70740/kiwisolver-1.4.7-cp38-cp38-win_amd64.whl", hash = "sha256:d83db7cde68459fc803052a55ace60bea2bae361fc3b7a6d5da07e11954e4b09", size = 55836 }, - { url = "https://files.pythonhosted.org/packages/11/88/37ea0ea64512997b13d69772db8dcdc3bfca5442cda3a5e4bb943652ee3e/kiwisolver-1.4.7-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:3f9362ecfca44c863569d3d3c033dbe8ba452ff8eed6f6b5806382741a1334bd", size = 122449 }, - { url = "https://files.pythonhosted.org/packages/4e/45/5a5c46078362cb3882dcacad687c503089263c017ca1241e0483857791eb/kiwisolver-1.4.7-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:e8df2eb9b2bac43ef8b082e06f750350fbbaf2887534a5be97f6cf07b19d9583", size = 65757 }, - { url = "https://files.pythonhosted.org/packages/8a/be/a6ae58978772f685d48dd2e84460937761c53c4bbd84e42b0336473d9775/kiwisolver-1.4.7-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:f32d6edbc638cde7652bd690c3e728b25332acbadd7cad670cc4a02558d9c417", size = 64312 }, - { url = "https://files.pythonhosted.org/packages/f4/04/18ef6f452d311e1e1eb180c9bf5589187fa1f042db877e6fe443ef10099c/kiwisolver-1.4.7-cp39-cp39-manylinux_2_12_i686.manylinux2010_i686.whl", hash = "sha256:e2e6c39bd7b9372b0be21456caab138e8e69cc0fc1190a9dfa92bd45a1e6e904", size = 1626966 }, - { url = "https://files.pythonhosted.org/packages/21/b1/40655f6c3fa11ce740e8a964fa8e4c0479c87d6a7944b95af799c7a55dfe/kiwisolver-1.4.7-cp39-cp39-manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:dda56c24d869b1193fcc763f1284b9126550eaf84b88bbc7256e15028f19188a", size = 1607044 }, - { url = "https://files.pythonhosted.org/packages/fd/93/af67dbcfb9b3323bbd2c2db1385a7139d8f77630e4a37bb945b57188eb2d/kiwisolver-1.4.7-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:79849239c39b5e1fd906556c474d9b0439ea6792b637511f3fe3a41158d89ca8", size = 1391879 }, - { url = "https://files.pythonhosted.org/packages/40/6f/d60770ef98e77b365d96061d090c0cd9e23418121c55fff188fa4bdf0b54/kiwisolver-1.4.7-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:5e3bc157fed2a4c02ec468de4ecd12a6e22818d4f09cde2c31ee3226ffbefab2", size = 1504751 }, - { url = "https://files.pythonhosted.org/packages/fa/3a/5f38667d313e983c432f3fcd86932177519ed8790c724e07d77d1de0188a/kiwisolver-1.4.7-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:3da53da805b71e41053dc670f9a820d1157aae77b6b944e08024d17bcd51ef88", size = 1436990 }, - { url = "https://files.pythonhosted.org/packages/cb/3b/1520301a47326e6a6043b502647e42892be33b3f051e9791cc8bb43f1a32/kiwisolver-1.4.7-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:8705f17dfeb43139a692298cb6637ee2e59c0194538153e83e9ee0c75c2eddde", size = 2191122 }, - { url = "https://files.pythonhosted.org/packages/cf/c4/eb52da300c166239a2233f1f9c4a1b767dfab98fae27681bfb7ea4873cb6/kiwisolver-1.4.7-cp39-cp39-musllinux_1_2_i686.whl", hash = "sha256:82a5c2f4b87c26bb1a0ef3d16b5c4753434633b83d365cc0ddf2770c93829e3c", size = 2338126 }, - { url = "https://files.pythonhosted.org/packages/1a/cb/42b92fd5eadd708dd9107c089e817945500685f3437ce1fd387efebc6d6e/kiwisolver-1.4.7-cp39-cp39-musllinux_1_2_ppc64le.whl", hash = "sha256:ce8be0466f4c0d585cdb6c1e2ed07232221df101a4c6f28821d2aa754ca2d9e2", size = 2298313 }, - { url = "https://files.pythonhosted.org/packages/4f/eb/be25aa791fe5fc75a8b1e0c965e00f942496bc04635c9aae8035f6b76dcd/kiwisolver-1.4.7-cp39-cp39-musllinux_1_2_s390x.whl", hash = "sha256:409afdfe1e2e90e6ee7fc896f3df9a7fec8e793e58bfa0d052c8a82f99c37abb", size = 2437784 }, - { url = "https://files.pythonhosted.org/packages/c5/22/30a66be7f3368d76ff95689e1c2e28d382383952964ab15330a15d8bfd03/kiwisolver-1.4.7-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:5b9c3f4ee0b9a439d2415012bd1b1cc2df59e4d6a9939f4d669241d30b414327", size = 2253988 }, - { url = "https://files.pythonhosted.org/packages/35/d3/5f2ecb94b5211c8a04f218a76133cc8d6d153b0f9cd0b45fad79907f0689/kiwisolver-1.4.7-cp39-cp39-win32.whl", hash = "sha256:a79ae34384df2b615eefca647a2873842ac3b596418032bef9a7283675962644", size = 46980 }, - { url = "https://files.pythonhosted.org/packages/ef/17/cd10d020578764ea91740204edc6b3236ed8106228a46f568d716b11feb2/kiwisolver-1.4.7-cp39-cp39-win_amd64.whl", hash = "sha256:cf0438b42121a66a3a667de17e779330fc0f20b0d97d59d2f2121e182b0505e4", size = 55847 }, - { url = "https://files.pythonhosted.org/packages/91/84/32232502020bd78d1d12be7afde15811c64a95ed1f606c10456db4e4c3ac/kiwisolver-1.4.7-cp39-cp39-win_arm64.whl", hash = "sha256:764202cc7e70f767dab49e8df52c7455e8de0df5d858fa801a11aa0d882ccf3f", size = 48494 }, - { url = "https://files.pythonhosted.org/packages/ac/59/741b79775d67ab67ced9bb38552da688c0305c16e7ee24bba7a2be253fb7/kiwisolver-1.4.7-pp310-pypy310_pp73-macosx_10_15_x86_64.whl", hash = "sha256:94252291e3fe68001b1dd747b4c0b3be12582839b95ad4d1b641924d68fd4643", size = 59491 }, - { url = "https://files.pythonhosted.org/packages/58/cc/fb239294c29a5656e99e3527f7369b174dd9cc7c3ef2dea7cb3c54a8737b/kiwisolver-1.4.7-pp310-pypy310_pp73-macosx_11_0_arm64.whl", hash = "sha256:5b7dfa3b546da08a9f622bb6becdb14b3e24aaa30adba66749d38f3cc7ea9706", size = 57648 }, - { url = "https://files.pythonhosted.org/packages/3b/ef/2f009ac1f7aab9f81efb2d837301d255279d618d27b6015780115ac64bdd/kiwisolver-1.4.7-pp310-pypy310_pp73-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:bd3de6481f4ed8b734da5df134cd5a6a64fe32124fe83dde1e5b5f29fe30b1e6", size = 84257 }, - { url = "https://files.pythonhosted.org/packages/81/e1/c64f50987f85b68b1c52b464bb5bf73e71570c0f7782d626d1eb283ad620/kiwisolver-1.4.7-pp310-pypy310_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a91b5f9f1205845d488c928e8570dcb62b893372f63b8b6e98b863ebd2368ff2", size = 80906 }, - { url = "https://files.pythonhosted.org/packages/fd/71/1687c5c0a0be2cee39a5c9c389e546f9c6e215e46b691d00d9f646892083/kiwisolver-1.4.7-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:40fa14dbd66b8b8f470d5fc79c089a66185619d31645f9b0773b88b19f7223c4", size = 79951 }, - { url = "https://files.pythonhosted.org/packages/ea/8b/d7497df4a1cae9367adf21665dd1f896c2a7aeb8769ad77b662c5e2bcce7/kiwisolver-1.4.7-pp310-pypy310_pp73-win_amd64.whl", hash = "sha256:eb542fe7933aa09d8d8f9d9097ef37532a7df6497819d16efe4359890a2f417a", size = 55715 }, - { url = "https://files.pythonhosted.org/packages/64/f3/2403d90821fffe496df16f6996cb328b90b0d80c06d2938a930a7732b4f1/kiwisolver-1.4.7-pp38-pypy38_pp73-macosx_10_9_x86_64.whl", hash = "sha256:bfa1acfa0c54932d5607e19a2c24646fb4c1ae2694437789129cf099789a3b00", size = 59662 }, - { url = "https://files.pythonhosted.org/packages/fa/7d/8f409736a4a6ac04354fa530ebf46682ddb1539b0bae15f4731ff2c575bc/kiwisolver-1.4.7-pp38-pypy38_pp73-macosx_11_0_arm64.whl", hash = "sha256:eee3ea935c3d227d49b4eb85660ff631556841f6e567f0f7bda972df6c2c9935", size = 57753 }, - { url = "https://files.pythonhosted.org/packages/4c/a5/3937c9abe8eedb1356071739ad437a0b486cbad27d54f4ec4733d24882ac/kiwisolver-1.4.7-pp38-pypy38_pp73-manylinux_2_12_i686.manylinux2010_i686.whl", hash = "sha256:f3160309af4396e0ed04db259c3ccbfdc3621b5559b5453075e5de555e1f3a1b", size = 103564 }, - { url = "https://files.pythonhosted.org/packages/b2/18/a5ae23888f010b90d5eb8d196fed30e268056b2ded54d25b38a193bb70e9/kiwisolver-1.4.7-pp38-pypy38_pp73-manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:a17f6a29cf8935e587cc8a4dbfc8368c55edc645283db0ce9801016f83526c2d", size = 95264 }, - { url = "https://files.pythonhosted.org/packages/f9/d0/c4240ae86306d4395e9701f1d7e6ddcc6d60c28cb0127139176cfcfc9ebe/kiwisolver-1.4.7-pp38-pypy38_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:10849fb2c1ecbfae45a693c070e0320a91b35dd4bcf58172c023b994283a124d", size = 78197 }, - { url = "https://files.pythonhosted.org/packages/62/db/62423f0ab66813376a35c1e7da488ebdb4e808fcb54b7cec33959717bda1/kiwisolver-1.4.7-pp38-pypy38_pp73-win_amd64.whl", hash = "sha256:ac542bf38a8a4be2dc6b15248d36315ccc65f0743f7b1a76688ffb6b5129a5c2", size = 56080 }, - { url = "https://files.pythonhosted.org/packages/d5/df/ce37d9b26f07ab90880923c94d12a6ff4d27447096b4c849bfc4339ccfdf/kiwisolver-1.4.7-pp39-pypy39_pp73-macosx_10_15_x86_64.whl", hash = "sha256:8b01aac285f91ca889c800042c35ad3b239e704b150cfd3382adfc9dcc780e39", size = 58666 }, - { url = "https://files.pythonhosted.org/packages/b0/d3/e4b04f43bc629ac8e186b77b2b1a251cdfa5b7610fa189dc0db622672ce6/kiwisolver-1.4.7-pp39-pypy39_pp73-macosx_11_0_arm64.whl", hash = "sha256:48be928f59a1f5c8207154f935334d374e79f2b5d212826307d072595ad76a2e", size = 57088 }, - { url = "https://files.pythonhosted.org/packages/30/1c/752df58e2d339e670a535514d2db4fe8c842ce459776b8080fbe08ebb98e/kiwisolver-1.4.7-pp39-pypy39_pp73-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:f37cfe618a117e50d8c240555331160d73d0411422b59b5ee217843d7b693608", size = 84321 }, - { url = "https://files.pythonhosted.org/packages/f0/f8/fe6484e847bc6e238ec9f9828089fb2c0bb53f2f5f3a79351fde5b565e4f/kiwisolver-1.4.7-pp39-pypy39_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:599b5c873c63a1f6ed7eead644a8a380cfbdf5db91dcb6f85707aaab213b1674", size = 80776 }, - { url = "https://files.pythonhosted.org/packages/9b/57/d7163c0379f250ef763aba85330a19feefb5ce6cb541ade853aaba881524/kiwisolver-1.4.7-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:801fa7802e5cfabe3ab0c81a34c323a319b097dfb5004be950482d882f3d7225", size = 79984 }, - { url = "https://files.pythonhosted.org/packages/8c/95/4a103776c265d13b3d2cd24fb0494d4e04ea435a8ef97e1b2c026d43250b/kiwisolver-1.4.7-pp39-pypy39_pp73-win_amd64.whl", hash = "sha256:0c6c43471bc764fad4bc99c5c2d6d16a676b1abf844ca7c8702bdae92df01ee0", size = 55811 }, +sdist = { url = "https://files.pythonhosted.org/packages/85/4d/2255e1c76304cbd60b48cee302b66d1dde4468dc5b1160e4b7cb43778f2a/kiwisolver-1.4.7.tar.gz", hash = "sha256:9893ff81bd7107f7b685d3017cc6583daadb4fc26e4a888350df530e41980a60", size = 97286, upload-time = "2024-09-04T09:39:44.302Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/97/14/fc943dd65268a96347472b4fbe5dcc2f6f55034516f80576cd0dd3a8930f/kiwisolver-1.4.7-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:8a9c83f75223d5e48b0bc9cb1bf2776cf01563e00ade8775ffe13b0b6e1af3a6", size = 122440, upload-time = "2024-09-04T09:03:44.9Z" }, + { url = "https://files.pythonhosted.org/packages/1e/46/e68fed66236b69dd02fcdb506218c05ac0e39745d696d22709498896875d/kiwisolver-1.4.7-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:58370b1ffbd35407444d57057b57da5d6549d2d854fa30249771775c63b5fe17", size = 65758, upload-time = "2024-09-04T09:03:46.582Z" }, + { url = "https://files.pythonhosted.org/packages/ef/fa/65de49c85838681fc9cb05de2a68067a683717321e01ddafb5b8024286f0/kiwisolver-1.4.7-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:aa0abdf853e09aff551db11fce173e2177d00786c688203f52c87ad7fcd91ef9", size = 64311, upload-time = "2024-09-04T09:03:47.973Z" }, + { url = "https://files.pythonhosted.org/packages/42/9c/cc8d90f6ef550f65443bad5872ffa68f3dee36de4974768628bea7c14979/kiwisolver-1.4.7-cp310-cp310-manylinux_2_12_i686.manylinux2010_i686.whl", hash = "sha256:8d53103597a252fb3ab8b5845af04c7a26d5e7ea8122303dd7a021176a87e8b9", size = 1637109, upload-time = "2024-09-04T09:03:49.281Z" }, + { url = "https://files.pythonhosted.org/packages/55/91/0a57ce324caf2ff5403edab71c508dd8f648094b18cfbb4c8cc0fde4a6ac/kiwisolver-1.4.7-cp310-cp310-manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:88f17c5ffa8e9462fb79f62746428dd57b46eb931698e42e990ad63103f35e6c", size = 1617814, upload-time = "2024-09-04T09:03:51.444Z" }, + { url = "https://files.pythonhosted.org/packages/12/5d/c36140313f2510e20207708adf36ae4919416d697ee0236b0ddfb6fd1050/kiwisolver-1.4.7-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:88a9ca9c710d598fd75ee5de59d5bda2684d9db36a9f50b6125eaea3969c2599", size = 1400881, upload-time = "2024-09-04T09:03:53.357Z" }, + { url = "https://files.pythonhosted.org/packages/56/d0/786e524f9ed648324a466ca8df86298780ef2b29c25313d9a4f16992d3cf/kiwisolver-1.4.7-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:f4d742cb7af1c28303a51b7a27aaee540e71bb8e24f68c736f6f2ffc82f2bf05", size = 1512972, upload-time = "2024-09-04T09:03:55.082Z" }, + { url = "https://files.pythonhosted.org/packages/67/5a/77851f2f201e6141d63c10a0708e996a1363efaf9e1609ad0441b343763b/kiwisolver-1.4.7-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:e28c7fea2196bf4c2f8d46a0415c77a1c480cc0724722f23d7410ffe9842c407", size = 1444787, upload-time = "2024-09-04T09:03:56.588Z" }, + { url = "https://files.pythonhosted.org/packages/06/5f/1f5eaab84355885e224a6fc8d73089e8713dc7e91c121f00b9a1c58a2195/kiwisolver-1.4.7-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:e968b84db54f9d42046cf154e02911e39c0435c9801681e3fc9ce8a3c4130278", size = 2199212, upload-time = "2024-09-04T09:03:58.557Z" }, + { url = "https://files.pythonhosted.org/packages/b5/28/9152a3bfe976a0ae21d445415defc9d1cd8614b2910b7614b30b27a47270/kiwisolver-1.4.7-cp310-cp310-musllinux_1_2_i686.whl", hash = "sha256:0c18ec74c0472de033e1bebb2911c3c310eef5649133dd0bedf2a169a1b269e5", size = 2346399, upload-time = "2024-09-04T09:04:00.178Z" }, + { url = "https://files.pythonhosted.org/packages/26/f6/453d1904c52ac3b400f4d5e240ac5fec25263716723e44be65f4d7149d13/kiwisolver-1.4.7-cp310-cp310-musllinux_1_2_ppc64le.whl", hash = "sha256:8f0ea6da6d393d8b2e187e6a5e3fb81f5862010a40c3945e2c6d12ae45cfb2ad", size = 2308688, upload-time = "2024-09-04T09:04:02.216Z" }, + { url = "https://files.pythonhosted.org/packages/5a/9a/d4968499441b9ae187e81745e3277a8b4d7c60840a52dc9d535a7909fac3/kiwisolver-1.4.7-cp310-cp310-musllinux_1_2_s390x.whl", hash = "sha256:f106407dda69ae456dd1227966bf445b157ccc80ba0dff3802bb63f30b74e895", size = 2445493, upload-time = "2024-09-04T09:04:04.571Z" }, + { url = "https://files.pythonhosted.org/packages/07/c9/032267192e7828520dacb64dfdb1d74f292765f179e467c1cba97687f17d/kiwisolver-1.4.7-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:84ec80df401cfee1457063732d90022f93951944b5b58975d34ab56bb150dfb3", size = 2262191, upload-time = "2024-09-04T09:04:05.969Z" }, + { url = "https://files.pythonhosted.org/packages/6c/ad/db0aedb638a58b2951da46ddaeecf204be8b4f5454df020d850c7fa8dca8/kiwisolver-1.4.7-cp310-cp310-win32.whl", hash = "sha256:71bb308552200fb2c195e35ef05de12f0c878c07fc91c270eb3d6e41698c3bcc", size = 46644, upload-time = "2024-09-04T09:04:07.408Z" }, + { url = "https://files.pythonhosted.org/packages/12/ca/d0f7b7ffbb0be1e7c2258b53554efec1fd652921f10d7d85045aff93ab61/kiwisolver-1.4.7-cp310-cp310-win_amd64.whl", hash = "sha256:44756f9fd339de0fb6ee4f8c1696cfd19b2422e0d70b4cefc1cc7f1f64045a8c", size = 55877, upload-time = "2024-09-04T09:04:08.869Z" }, + { url = "https://files.pythonhosted.org/packages/97/6c/cfcc128672f47a3e3c0d918ecb67830600078b025bfc32d858f2e2d5c6a4/kiwisolver-1.4.7-cp310-cp310-win_arm64.whl", hash = "sha256:78a42513018c41c2ffd262eb676442315cbfe3c44eed82385c2ed043bc63210a", size = 48347, upload-time = "2024-09-04T09:04:10.106Z" }, + { url = "https://files.pythonhosted.org/packages/e9/44/77429fa0a58f941d6e1c58da9efe08597d2e86bf2b2cce6626834f49d07b/kiwisolver-1.4.7-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:d2b0e12a42fb4e72d509fc994713d099cbb15ebf1103545e8a45f14da2dfca54", size = 122442, upload-time = "2024-09-04T09:04:11.432Z" }, + { url = "https://files.pythonhosted.org/packages/e5/20/8c75caed8f2462d63c7fd65e16c832b8f76cda331ac9e615e914ee80bac9/kiwisolver-1.4.7-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:2a8781ac3edc42ea4b90bc23e7d37b665d89423818e26eb6df90698aa2287c95", size = 65762, upload-time = "2024-09-04T09:04:12.468Z" }, + { url = "https://files.pythonhosted.org/packages/f4/98/fe010f15dc7230f45bc4cf367b012d651367fd203caaa992fd1f5963560e/kiwisolver-1.4.7-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:46707a10836894b559e04b0fd143e343945c97fd170d69a2d26d640b4e297935", size = 64319, upload-time = "2024-09-04T09:04:13.635Z" }, + { url = "https://files.pythonhosted.org/packages/8b/1b/b5d618f4e58c0675654c1e5051bcf42c776703edb21c02b8c74135541f60/kiwisolver-1.4.7-cp311-cp311-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:ef97b8df011141c9b0f6caf23b29379f87dd13183c978a30a3c546d2c47314cb", size = 1334260, upload-time = "2024-09-04T09:04:14.878Z" }, + { url = "https://files.pythonhosted.org/packages/b8/01/946852b13057a162a8c32c4c8d2e9ed79f0bb5d86569a40c0b5fb103e373/kiwisolver-1.4.7-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:3ab58c12a2cd0fc769089e6d38466c46d7f76aced0a1f54c77652446733d2d02", size = 1426589, upload-time = "2024-09-04T09:04:16.514Z" }, + { url = "https://files.pythonhosted.org/packages/70/d1/c9f96df26b459e15cf8a965304e6e6f4eb291e0f7a9460b4ad97b047561e/kiwisolver-1.4.7-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:803b8e1459341c1bb56d1c5c010406d5edec8a0713a0945851290a7930679b51", size = 1541080, upload-time = "2024-09-04T09:04:18.322Z" }, + { url = "https://files.pythonhosted.org/packages/d3/73/2686990eb8b02d05f3de759d6a23a4ee7d491e659007dd4c075fede4b5d0/kiwisolver-1.4.7-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:f9a9e8a507420fe35992ee9ecb302dab68550dedc0da9e2880dd88071c5fb052", size = 1470049, upload-time = "2024-09-04T09:04:20.266Z" }, + { url = "https://files.pythonhosted.org/packages/a7/4b/2db7af3ed3af7c35f388d5f53c28e155cd402a55432d800c543dc6deb731/kiwisolver-1.4.7-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:18077b53dc3bb490e330669a99920c5e6a496889ae8c63b58fbc57c3d7f33a18", size = 1426376, upload-time = "2024-09-04T09:04:22.419Z" }, + { url = "https://files.pythonhosted.org/packages/05/83/2857317d04ea46dc5d115f0df7e676997bbd968ced8e2bd6f7f19cfc8d7f/kiwisolver-1.4.7-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:6af936f79086a89b3680a280c47ea90b4df7047b5bdf3aa5c524bbedddb9e545", size = 2222231, upload-time = "2024-09-04T09:04:24.526Z" }, + { url = "https://files.pythonhosted.org/packages/0d/b5/866f86f5897cd4ab6d25d22e403404766a123f138bd6a02ecb2cdde52c18/kiwisolver-1.4.7-cp311-cp311-musllinux_1_2_i686.whl", hash = "sha256:3abc5b19d24af4b77d1598a585b8a719beb8569a71568b66f4ebe1fb0449460b", size = 2368634, upload-time = "2024-09-04T09:04:25.899Z" }, + { url = "https://files.pythonhosted.org/packages/c1/ee/73de8385403faba55f782a41260210528fe3273d0cddcf6d51648202d6d0/kiwisolver-1.4.7-cp311-cp311-musllinux_1_2_ppc64le.whl", hash = "sha256:933d4de052939d90afbe6e9d5273ae05fb836cc86c15b686edd4b3560cc0ee36", size = 2329024, upload-time = "2024-09-04T09:04:28.523Z" }, + { url = "https://files.pythonhosted.org/packages/a1/e7/cd101d8cd2cdfaa42dc06c433df17c8303d31129c9fdd16c0ea37672af91/kiwisolver-1.4.7-cp311-cp311-musllinux_1_2_s390x.whl", hash = "sha256:65e720d2ab2b53f1f72fb5da5fb477455905ce2c88aaa671ff0a447c2c80e8e3", size = 2468484, upload-time = "2024-09-04T09:04:30.547Z" }, + { url = "https://files.pythonhosted.org/packages/e1/72/84f09d45a10bc57a40bb58b81b99d8f22b58b2040c912b7eb97ebf625bf2/kiwisolver-1.4.7-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:3bf1ed55088f214ba6427484c59553123fdd9b218a42bbc8c6496d6754b1e523", size = 2284078, upload-time = "2024-09-04T09:04:33.218Z" }, + { url = "https://files.pythonhosted.org/packages/d2/d4/71828f32b956612dc36efd7be1788980cb1e66bfb3706e6dec9acad9b4f9/kiwisolver-1.4.7-cp311-cp311-win32.whl", hash = "sha256:4c00336b9dd5ad96d0a558fd18a8b6f711b7449acce4c157e7343ba92dd0cf3d", size = 46645, upload-time = "2024-09-04T09:04:34.371Z" }, + { url = "https://files.pythonhosted.org/packages/a1/65/d43e9a20aabcf2e798ad1aff6c143ae3a42cf506754bcb6a7ed8259c8425/kiwisolver-1.4.7-cp311-cp311-win_amd64.whl", hash = "sha256:929e294c1ac1e9f615c62a4e4313ca1823ba37326c164ec720a803287c4c499b", size = 56022, upload-time = "2024-09-04T09:04:35.786Z" }, + { url = "https://files.pythonhosted.org/packages/35/b3/9f75a2e06f1b4ca00b2b192bc2b739334127d27f1d0625627ff8479302ba/kiwisolver-1.4.7-cp311-cp311-win_arm64.whl", hash = "sha256:e33e8fbd440c917106b237ef1a2f1449dfbb9b6f6e1ce17c94cd6a1e0d438376", size = 48536, upload-time = "2024-09-04T09:04:37.525Z" }, + { url = "https://files.pythonhosted.org/packages/97/9c/0a11c714cf8b6ef91001c8212c4ef207f772dd84540104952c45c1f0a249/kiwisolver-1.4.7-cp312-cp312-macosx_10_9_universal2.whl", hash = "sha256:5360cc32706dab3931f738d3079652d20982511f7c0ac5711483e6eab08efff2", size = 121808, upload-time = "2024-09-04T09:04:38.637Z" }, + { url = "https://files.pythonhosted.org/packages/f2/d8/0fe8c5f5d35878ddd135f44f2af0e4e1d379e1c7b0716f97cdcb88d4fd27/kiwisolver-1.4.7-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:942216596dc64ddb25adb215c3c783215b23626f8d84e8eff8d6d45c3f29f75a", size = 65531, upload-time = "2024-09-04T09:04:39.694Z" }, + { url = "https://files.pythonhosted.org/packages/80/c5/57fa58276dfdfa612241d640a64ca2f76adc6ffcebdbd135b4ef60095098/kiwisolver-1.4.7-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:48b571ecd8bae15702e4f22d3ff6a0f13e54d3d00cd25216d5e7f658242065ee", size = 63894, upload-time = "2024-09-04T09:04:41.6Z" }, + { url = "https://files.pythonhosted.org/packages/8b/e9/26d3edd4c4ad1c5b891d8747a4f81b1b0aba9fb9721de6600a4adc09773b/kiwisolver-1.4.7-cp312-cp312-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:ad42ba922c67c5f219097b28fae965e10045ddf145d2928bfac2eb2e17673640", size = 1369296, upload-time = "2024-09-04T09:04:42.886Z" }, + { url = "https://files.pythonhosted.org/packages/b6/67/3f4850b5e6cffb75ec40577ddf54f7b82b15269cc5097ff2e968ee32ea7d/kiwisolver-1.4.7-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:612a10bdae23404a72941a0fc8fa2660c6ea1217c4ce0dbcab8a8f6543ea9e7f", size = 1461450, upload-time = "2024-09-04T09:04:46.284Z" }, + { url = "https://files.pythonhosted.org/packages/52/be/86cbb9c9a315e98a8dc6b1d23c43cffd91d97d49318854f9c37b0e41cd68/kiwisolver-1.4.7-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:9e838bba3a3bac0fe06d849d29772eb1afb9745a59710762e4ba3f4cb8424483", size = 1579168, upload-time = "2024-09-04T09:04:47.91Z" }, + { url = "https://files.pythonhosted.org/packages/0f/00/65061acf64bd5fd34c1f4ae53f20b43b0a017a541f242a60b135b9d1e301/kiwisolver-1.4.7-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:22f499f6157236c19f4bbbd472fa55b063db77a16cd74d49afe28992dff8c258", size = 1507308, upload-time = "2024-09-04T09:04:49.465Z" }, + { url = "https://files.pythonhosted.org/packages/21/e4/c0b6746fd2eb62fe702118b3ca0cb384ce95e1261cfada58ff693aeec08a/kiwisolver-1.4.7-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:693902d433cf585133699972b6d7c42a8b9f8f826ebcaf0132ff55200afc599e", size = 1464186, upload-time = "2024-09-04T09:04:50.949Z" }, + { url = "https://files.pythonhosted.org/packages/0a/0f/529d0a9fffb4d514f2782c829b0b4b371f7f441d61aa55f1de1c614c4ef3/kiwisolver-1.4.7-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:4e77f2126c3e0b0d055f44513ed349038ac180371ed9b52fe96a32aa071a5107", size = 2247877, upload-time = "2024-09-04T09:04:52.388Z" }, + { url = "https://files.pythonhosted.org/packages/d1/e1/66603ad779258843036d45adcbe1af0d1a889a07af4635f8b4ec7dccda35/kiwisolver-1.4.7-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:657a05857bda581c3656bfc3b20e353c232e9193eb167766ad2dc58b56504948", size = 2404204, upload-time = "2024-09-04T09:04:54.385Z" }, + { url = "https://files.pythonhosted.org/packages/8d/61/de5fb1ca7ad1f9ab7970e340a5b833d735df24689047de6ae71ab9d8d0e7/kiwisolver-1.4.7-cp312-cp312-musllinux_1_2_ppc64le.whl", hash = "sha256:4bfa75a048c056a411f9705856abfc872558e33c055d80af6a380e3658766038", size = 2352461, upload-time = "2024-09-04T09:04:56.307Z" }, + { url = "https://files.pythonhosted.org/packages/ba/d2/0edc00a852e369827f7e05fd008275f550353f1f9bcd55db9363d779fc63/kiwisolver-1.4.7-cp312-cp312-musllinux_1_2_s390x.whl", hash = "sha256:34ea1de54beef1c104422d210c47c7d2a4999bdecf42c7b5718fbe59a4cac383", size = 2501358, upload-time = "2024-09-04T09:04:57.922Z" }, + { url = "https://files.pythonhosted.org/packages/84/15/adc15a483506aec6986c01fb7f237c3aec4d9ed4ac10b756e98a76835933/kiwisolver-1.4.7-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:90da3b5f694b85231cf93586dad5e90e2d71b9428f9aad96952c99055582f520", size = 2314119, upload-time = "2024-09-04T09:04:59.332Z" }, + { url = "https://files.pythonhosted.org/packages/36/08/3a5bb2c53c89660863a5aa1ee236912269f2af8762af04a2e11df851d7b2/kiwisolver-1.4.7-cp312-cp312-win32.whl", hash = "sha256:18e0cca3e008e17fe9b164b55735a325140a5a35faad8de92dd80265cd5eb80b", size = 46367, upload-time = "2024-09-04T09:05:00.804Z" }, + { url = "https://files.pythonhosted.org/packages/19/93/c05f0a6d825c643779fc3c70876bff1ac221f0e31e6f701f0e9578690d70/kiwisolver-1.4.7-cp312-cp312-win_amd64.whl", hash = "sha256:58cb20602b18f86f83a5c87d3ee1c766a79c0d452f8def86d925e6c60fbf7bfb", size = 55884, upload-time = "2024-09-04T09:05:01.924Z" }, + { url = "https://files.pythonhosted.org/packages/d2/f9/3828d8f21b6de4279f0667fb50a9f5215e6fe57d5ec0d61905914f5b6099/kiwisolver-1.4.7-cp312-cp312-win_arm64.whl", hash = "sha256:f5a8b53bdc0b3961f8b6125e198617c40aeed638b387913bf1ce78afb1b0be2a", size = 48528, upload-time = "2024-09-04T09:05:02.983Z" }, + { url = "https://files.pythonhosted.org/packages/c4/06/7da99b04259b0f18b557a4effd1b9c901a747f7fdd84cf834ccf520cb0b2/kiwisolver-1.4.7-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:2e6039dcbe79a8e0f044f1c39db1986a1b8071051efba3ee4d74f5b365f5226e", size = 121913, upload-time = "2024-09-04T09:05:04.072Z" }, + { url = "https://files.pythonhosted.org/packages/97/f5/b8a370d1aa593c17882af0a6f6755aaecd643640c0ed72dcfd2eafc388b9/kiwisolver-1.4.7-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:a1ecf0ac1c518487d9d23b1cd7139a6a65bc460cd101ab01f1be82ecf09794b6", size = 65627, upload-time = "2024-09-04T09:05:05.119Z" }, + { url = "https://files.pythonhosted.org/packages/2a/fc/6c0374f7503522539e2d4d1b497f5ebad3f8ed07ab51aed2af988dd0fb65/kiwisolver-1.4.7-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:7ab9ccab2b5bd5702ab0803676a580fffa2aa178c2badc5557a84cc943fcf750", size = 63888, upload-time = "2024-09-04T09:05:06.191Z" }, + { url = "https://files.pythonhosted.org/packages/bf/3e/0b7172793d0f41cae5c923492da89a2ffcd1adf764c16159ca047463ebd3/kiwisolver-1.4.7-cp313-cp313-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:f816dd2277f8d63d79f9c8473a79fe54047bc0467754962840782c575522224d", size = 1369145, upload-time = "2024-09-04T09:05:07.919Z" }, + { url = "https://files.pythonhosted.org/packages/77/92/47d050d6f6aced2d634258123f2688fbfef8ded3c5baf2c79d94d91f1f58/kiwisolver-1.4.7-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:cf8bcc23ceb5a1b624572a1623b9f79d2c3b337c8c455405ef231933a10da379", size = 1461448, upload-time = "2024-09-04T09:05:10.01Z" }, + { url = "https://files.pythonhosted.org/packages/9c/1b/8f80b18e20b3b294546a1adb41701e79ae21915f4175f311a90d042301cf/kiwisolver-1.4.7-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:dea0bf229319828467d7fca8c7c189780aa9ff679c94539eed7532ebe33ed37c", size = 1578750, upload-time = "2024-09-04T09:05:11.598Z" }, + { url = "https://files.pythonhosted.org/packages/a4/fe/fe8e72f3be0a844f257cadd72689c0848c6d5c51bc1d60429e2d14ad776e/kiwisolver-1.4.7-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:7c06a4c7cf15ec739ce0e5971b26c93638730090add60e183530d70848ebdd34", size = 1507175, upload-time = "2024-09-04T09:05:13.22Z" }, + { url = "https://files.pythonhosted.org/packages/39/fa/cdc0b6105d90eadc3bee525fecc9179e2b41e1ce0293caaf49cb631a6aaf/kiwisolver-1.4.7-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:913983ad2deb14e66d83c28b632fd35ba2b825031f2fa4ca29675e665dfecbe1", size = 1463963, upload-time = "2024-09-04T09:05:15.925Z" }, + { url = "https://files.pythonhosted.org/packages/6e/5c/0c03c4e542720c6177d4f408e56d1c8315899db72d46261a4e15b8b33a41/kiwisolver-1.4.7-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:5337ec7809bcd0f424c6b705ecf97941c46279cf5ed92311782c7c9c2026f07f", size = 2248220, upload-time = "2024-09-04T09:05:17.434Z" }, + { url = "https://files.pythonhosted.org/packages/3d/ee/55ef86d5a574f4e767df7da3a3a7ff4954c996e12d4fbe9c408170cd7dcc/kiwisolver-1.4.7-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:4c26ed10c4f6fa6ddb329a5120ba3b6db349ca192ae211e882970bfc9d91420b", size = 2404463, upload-time = "2024-09-04T09:05:18.997Z" }, + { url = "https://files.pythonhosted.org/packages/0f/6d/73ad36170b4bff4825dc588acf4f3e6319cb97cd1fb3eb04d9faa6b6f212/kiwisolver-1.4.7-cp313-cp313-musllinux_1_2_ppc64le.whl", hash = "sha256:c619b101e6de2222c1fcb0531e1b17bbffbe54294bfba43ea0d411d428618c27", size = 2352842, upload-time = "2024-09-04T09:05:21.299Z" }, + { url = "https://files.pythonhosted.org/packages/0b/16/fa531ff9199d3b6473bb4d0f47416cdb08d556c03b8bc1cccf04e756b56d/kiwisolver-1.4.7-cp313-cp313-musllinux_1_2_s390x.whl", hash = "sha256:073a36c8273647592ea332e816e75ef8da5c303236ec0167196793eb1e34657a", size = 2501635, upload-time = "2024-09-04T09:05:23.588Z" }, + { url = "https://files.pythonhosted.org/packages/78/7e/aa9422e78419db0cbe75fb86d8e72b433818f2e62e2e394992d23d23a583/kiwisolver-1.4.7-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:3ce6b2b0231bda412463e152fc18335ba32faf4e8c23a754ad50ffa70e4091ee", size = 2314556, upload-time = "2024-09-04T09:05:25.907Z" }, + { url = "https://files.pythonhosted.org/packages/a8/b2/15f7f556df0a6e5b3772a1e076a9d9f6c538ce5f05bd590eca8106508e06/kiwisolver-1.4.7-cp313-cp313-win32.whl", hash = "sha256:f4c9aee212bc89d4e13f58be11a56cc8036cabad119259d12ace14b34476fd07", size = 46364, upload-time = "2024-09-04T09:05:27.184Z" }, + { url = "https://files.pythonhosted.org/packages/0b/db/32e897e43a330eee8e4770bfd2737a9584b23e33587a0812b8e20aac38f7/kiwisolver-1.4.7-cp313-cp313-win_amd64.whl", hash = "sha256:8a3ec5aa8e38fc4c8af308917ce12c536f1c88452ce554027e55b22cbbfbff76", size = 55887, upload-time = "2024-09-04T09:05:28.372Z" }, + { url = "https://files.pythonhosted.org/packages/c8/a4/df2bdca5270ca85fd25253049eb6708d4127be2ed0e5c2650217450b59e9/kiwisolver-1.4.7-cp313-cp313-win_arm64.whl", hash = "sha256:76c8094ac20ec259471ac53e774623eb62e6e1f56cd8690c67ce6ce4fcb05650", size = 48530, upload-time = "2024-09-04T09:05:30.225Z" }, + { url = "https://files.pythonhosted.org/packages/57/d6/620247574d9e26fe24384087879e8399e309f0051782f95238090afa6ccc/kiwisolver-1.4.7-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:5d5abf8f8ec1f4e22882273c423e16cae834c36856cac348cfbfa68e01c40f3a", size = 122325, upload-time = "2024-09-04T09:05:31.648Z" }, + { url = "https://files.pythonhosted.org/packages/bd/c6/572ad7d73dbd898cffa9050ffd7ff7e78a055a1d9b7accd6b4d1f50ec858/kiwisolver-1.4.7-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:aeb3531b196ef6f11776c21674dba836aeea9d5bd1cf630f869e3d90b16cfade", size = 65679, upload-time = "2024-09-04T09:05:32.934Z" }, + { url = "https://files.pythonhosted.org/packages/14/a7/bb8ab10e12cc8764f4da0245d72dee4731cc720bdec0f085d5e9c6005b98/kiwisolver-1.4.7-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:b7d755065e4e866a8086c9bdada157133ff466476a2ad7861828e17b6026e22c", size = 64267, upload-time = "2024-09-04T09:05:34.11Z" }, + { url = "https://files.pythonhosted.org/packages/54/a4/3b5a2542429e182a4df0528214e76803f79d016110f5e67c414a0357cd7d/kiwisolver-1.4.7-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:08471d4d86cbaec61f86b217dd938a83d85e03785f51121e791a6e6689a3be95", size = 1387236, upload-time = "2024-09-04T09:05:35.97Z" }, + { url = "https://files.pythonhosted.org/packages/a6/d7/bc3005e906c1673953a3e31ee4f828157d5e07a62778d835dd937d624ea0/kiwisolver-1.4.7-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:7bbfcb7165ce3d54a3dfbe731e470f65739c4c1f85bb1018ee912bae139e263b", size = 1500555, upload-time = "2024-09-04T09:05:37.552Z" }, + { url = "https://files.pythonhosted.org/packages/09/a7/87cb30741f13b7af08446795dca6003491755805edc9c321fe996c1320b8/kiwisolver-1.4.7-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:5d34eb8494bea691a1a450141ebb5385e4b69d38bb8403b5146ad279f4b30fa3", size = 1431684, upload-time = "2024-09-04T09:05:39.75Z" }, + { url = "https://files.pythonhosted.org/packages/37/a4/1e4e2d8cdaa42c73d523413498445247e615334e39401ae49dae74885429/kiwisolver-1.4.7-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:9242795d174daa40105c1d86aba618e8eab7bf96ba8c3ee614da8302a9f95503", size = 1125811, upload-time = "2024-09-04T09:05:41.31Z" }, + { url = "https://files.pythonhosted.org/packages/76/36/ae40d7a3171e06f55ac77fe5536079e7be1d8be2a8210e08975c7f9b4d54/kiwisolver-1.4.7-cp38-cp38-manylinux_2_5_x86_64.manylinux1_x86_64.whl", hash = "sha256:a0f64a48bb81af7450e641e3fe0b0394d7381e342805479178b3d335d60ca7cf", size = 1179987, upload-time = "2024-09-04T09:05:42.893Z" }, + { url = "https://files.pythonhosted.org/packages/d8/5d/6e4894b9fdf836d8bd095729dff123bbbe6ad0346289287b45c800fae656/kiwisolver-1.4.7-cp38-cp38-musllinux_1_2_aarch64.whl", hash = "sha256:8e045731a5416357638d1700927529e2b8ab304811671f665b225f8bf8d8f933", size = 2186817, upload-time = "2024-09-04T09:05:44.474Z" }, + { url = "https://files.pythonhosted.org/packages/f0/2d/603079b2c2fd62890be0b0ebfc8bb6dda8a5253ca0758885596565b0dfc1/kiwisolver-1.4.7-cp38-cp38-musllinux_1_2_i686.whl", hash = "sha256:4322872d5772cae7369f8351da1edf255a604ea7087fe295411397d0cfd9655e", size = 2332538, upload-time = "2024-09-04T09:05:46.206Z" }, + { url = "https://files.pythonhosted.org/packages/bb/2a/9a28279c865c38a27960db38b07179143aafc94877945c209bfc553d9dd3/kiwisolver-1.4.7-cp38-cp38-musllinux_1_2_ppc64le.whl", hash = "sha256:e1631290ee9271dffe3062d2634c3ecac02c83890ada077d225e081aca8aab89", size = 2293890, upload-time = "2024-09-04T09:05:47.819Z" }, + { url = "https://files.pythonhosted.org/packages/1a/4d/4da8967f3bf13c764984b8fbae330683ee5fbd555b4a5624ad2b9decc0ab/kiwisolver-1.4.7-cp38-cp38-musllinux_1_2_s390x.whl", hash = "sha256:edcfc407e4eb17e037bca59be0e85a2031a2ac87e4fed26d3e9df88b4165f92d", size = 2434677, upload-time = "2024-09-04T09:05:49.459Z" }, + { url = "https://files.pythonhosted.org/packages/08/e9/a97a2b6b74dd850fa5974309367e025c06093a143befe9b962d0baebb4f0/kiwisolver-1.4.7-cp38-cp38-musllinux_1_2_x86_64.whl", hash = "sha256:4d05d81ecb47d11e7f8932bd8b61b720bf0b41199358f3f5e36d38e28f0532c5", size = 2250339, upload-time = "2024-09-04T09:05:51.165Z" }, + { url = "https://files.pythonhosted.org/packages/8a/e7/55507a387ba1766e69f5e13a79e1aefabdafe0532bee5d1972dfc42b3d16/kiwisolver-1.4.7-cp38-cp38-win32.whl", hash = "sha256:b38ac83d5f04b15e515fd86f312479d950d05ce2368d5413d46c088dda7de90a", size = 46932, upload-time = "2024-09-04T09:05:52.49Z" }, + { url = "https://files.pythonhosted.org/packages/52/77/7e04cca2ff1dc6ee6b7654cebe233de72b7a3ec5616501b6f3144fb70740/kiwisolver-1.4.7-cp38-cp38-win_amd64.whl", hash = "sha256:d83db7cde68459fc803052a55ace60bea2bae361fc3b7a6d5da07e11954e4b09", size = 55836, upload-time = "2024-09-04T09:05:54.078Z" }, + { url = "https://files.pythonhosted.org/packages/11/88/37ea0ea64512997b13d69772db8dcdc3bfca5442cda3a5e4bb943652ee3e/kiwisolver-1.4.7-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:3f9362ecfca44c863569d3d3c033dbe8ba452ff8eed6f6b5806382741a1334bd", size = 122449, upload-time = "2024-09-04T09:05:55.311Z" }, + { url = "https://files.pythonhosted.org/packages/4e/45/5a5c46078362cb3882dcacad687c503089263c017ca1241e0483857791eb/kiwisolver-1.4.7-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:e8df2eb9b2bac43ef8b082e06f750350fbbaf2887534a5be97f6cf07b19d9583", size = 65757, upload-time = "2024-09-04T09:05:56.906Z" }, + { url = "https://files.pythonhosted.org/packages/8a/be/a6ae58978772f685d48dd2e84460937761c53c4bbd84e42b0336473d9775/kiwisolver-1.4.7-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:f32d6edbc638cde7652bd690c3e728b25332acbadd7cad670cc4a02558d9c417", size = 64312, upload-time = "2024-09-04T09:05:58.384Z" }, + { url = "https://files.pythonhosted.org/packages/f4/04/18ef6f452d311e1e1eb180c9bf5589187fa1f042db877e6fe443ef10099c/kiwisolver-1.4.7-cp39-cp39-manylinux_2_12_i686.manylinux2010_i686.whl", hash = "sha256:e2e6c39bd7b9372b0be21456caab138e8e69cc0fc1190a9dfa92bd45a1e6e904", size = 1626966, upload-time = "2024-09-04T09:05:59.855Z" }, + { url = "https://files.pythonhosted.org/packages/21/b1/40655f6c3fa11ce740e8a964fa8e4c0479c87d6a7944b95af799c7a55dfe/kiwisolver-1.4.7-cp39-cp39-manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:dda56c24d869b1193fcc763f1284b9126550eaf84b88bbc7256e15028f19188a", size = 1607044, upload-time = "2024-09-04T09:06:02.16Z" }, + { url = "https://files.pythonhosted.org/packages/fd/93/af67dbcfb9b3323bbd2c2db1385a7139d8f77630e4a37bb945b57188eb2d/kiwisolver-1.4.7-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:79849239c39b5e1fd906556c474d9b0439ea6792b637511f3fe3a41158d89ca8", size = 1391879, upload-time = "2024-09-04T09:06:03.908Z" }, + { url = "https://files.pythonhosted.org/packages/40/6f/d60770ef98e77b365d96061d090c0cd9e23418121c55fff188fa4bdf0b54/kiwisolver-1.4.7-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:5e3bc157fed2a4c02ec468de4ecd12a6e22818d4f09cde2c31ee3226ffbefab2", size = 1504751, upload-time = "2024-09-04T09:06:05.58Z" }, + { url = "https://files.pythonhosted.org/packages/fa/3a/5f38667d313e983c432f3fcd86932177519ed8790c724e07d77d1de0188a/kiwisolver-1.4.7-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:3da53da805b71e41053dc670f9a820d1157aae77b6b944e08024d17bcd51ef88", size = 1436990, upload-time = "2024-09-04T09:06:08.126Z" }, + { url = "https://files.pythonhosted.org/packages/cb/3b/1520301a47326e6a6043b502647e42892be33b3f051e9791cc8bb43f1a32/kiwisolver-1.4.7-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:8705f17dfeb43139a692298cb6637ee2e59c0194538153e83e9ee0c75c2eddde", size = 2191122, upload-time = "2024-09-04T09:06:10.345Z" }, + { url = "https://files.pythonhosted.org/packages/cf/c4/eb52da300c166239a2233f1f9c4a1b767dfab98fae27681bfb7ea4873cb6/kiwisolver-1.4.7-cp39-cp39-musllinux_1_2_i686.whl", hash = "sha256:82a5c2f4b87c26bb1a0ef3d16b5c4753434633b83d365cc0ddf2770c93829e3c", size = 2338126, upload-time = "2024-09-04T09:06:12.321Z" }, + { url = "https://files.pythonhosted.org/packages/1a/cb/42b92fd5eadd708dd9107c089e817945500685f3437ce1fd387efebc6d6e/kiwisolver-1.4.7-cp39-cp39-musllinux_1_2_ppc64le.whl", hash = "sha256:ce8be0466f4c0d585cdb6c1e2ed07232221df101a4c6f28821d2aa754ca2d9e2", size = 2298313, upload-time = "2024-09-04T09:06:14.562Z" }, + { url = "https://files.pythonhosted.org/packages/4f/eb/be25aa791fe5fc75a8b1e0c965e00f942496bc04635c9aae8035f6b76dcd/kiwisolver-1.4.7-cp39-cp39-musllinux_1_2_s390x.whl", hash = "sha256:409afdfe1e2e90e6ee7fc896f3df9a7fec8e793e58bfa0d052c8a82f99c37abb", size = 2437784, upload-time = "2024-09-04T09:06:16.767Z" }, + { url = "https://files.pythonhosted.org/packages/c5/22/30a66be7f3368d76ff95689e1c2e28d382383952964ab15330a15d8bfd03/kiwisolver-1.4.7-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:5b9c3f4ee0b9a439d2415012bd1b1cc2df59e4d6a9939f4d669241d30b414327", size = 2253988, upload-time = "2024-09-04T09:06:18.705Z" }, + { url = "https://files.pythonhosted.org/packages/35/d3/5f2ecb94b5211c8a04f218a76133cc8d6d153b0f9cd0b45fad79907f0689/kiwisolver-1.4.7-cp39-cp39-win32.whl", hash = "sha256:a79ae34384df2b615eefca647a2873842ac3b596418032bef9a7283675962644", size = 46980, upload-time = "2024-09-04T09:06:20.106Z" }, + { url = "https://files.pythonhosted.org/packages/ef/17/cd10d020578764ea91740204edc6b3236ed8106228a46f568d716b11feb2/kiwisolver-1.4.7-cp39-cp39-win_amd64.whl", hash = "sha256:cf0438b42121a66a3a667de17e779330fc0f20b0d97d59d2f2121e182b0505e4", size = 55847, upload-time = "2024-09-04T09:06:21.407Z" }, + { url = "https://files.pythonhosted.org/packages/91/84/32232502020bd78d1d12be7afde15811c64a95ed1f606c10456db4e4c3ac/kiwisolver-1.4.7-cp39-cp39-win_arm64.whl", hash = "sha256:764202cc7e70f767dab49e8df52c7455e8de0df5d858fa801a11aa0d882ccf3f", size = 48494, upload-time = "2024-09-04T09:06:22.648Z" }, + { url = "https://files.pythonhosted.org/packages/ac/59/741b79775d67ab67ced9bb38552da688c0305c16e7ee24bba7a2be253fb7/kiwisolver-1.4.7-pp310-pypy310_pp73-macosx_10_15_x86_64.whl", hash = "sha256:94252291e3fe68001b1dd747b4c0b3be12582839b95ad4d1b641924d68fd4643", size = 59491, upload-time = "2024-09-04T09:06:24.188Z" }, + { url = "https://files.pythonhosted.org/packages/58/cc/fb239294c29a5656e99e3527f7369b174dd9cc7c3ef2dea7cb3c54a8737b/kiwisolver-1.4.7-pp310-pypy310_pp73-macosx_11_0_arm64.whl", hash = "sha256:5b7dfa3b546da08a9f622bb6becdb14b3e24aaa30adba66749d38f3cc7ea9706", size = 57648, upload-time = "2024-09-04T09:06:25.559Z" }, + { url = "https://files.pythonhosted.org/packages/3b/ef/2f009ac1f7aab9f81efb2d837301d255279d618d27b6015780115ac64bdd/kiwisolver-1.4.7-pp310-pypy310_pp73-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:bd3de6481f4ed8b734da5df134cd5a6a64fe32124fe83dde1e5b5f29fe30b1e6", size = 84257, upload-time = "2024-09-04T09:06:27.038Z" }, + { url = "https://files.pythonhosted.org/packages/81/e1/c64f50987f85b68b1c52b464bb5bf73e71570c0f7782d626d1eb283ad620/kiwisolver-1.4.7-pp310-pypy310_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a91b5f9f1205845d488c928e8570dcb62b893372f63b8b6e98b863ebd2368ff2", size = 80906, upload-time = "2024-09-04T09:06:28.48Z" }, + { url = "https://files.pythonhosted.org/packages/fd/71/1687c5c0a0be2cee39a5c9c389e546f9c6e215e46b691d00d9f646892083/kiwisolver-1.4.7-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:40fa14dbd66b8b8f470d5fc79c089a66185619d31645f9b0773b88b19f7223c4", size = 79951, upload-time = "2024-09-04T09:06:29.966Z" }, + { url = "https://files.pythonhosted.org/packages/ea/8b/d7497df4a1cae9367adf21665dd1f896c2a7aeb8769ad77b662c5e2bcce7/kiwisolver-1.4.7-pp310-pypy310_pp73-win_amd64.whl", hash = "sha256:eb542fe7933aa09d8d8f9d9097ef37532a7df6497819d16efe4359890a2f417a", size = 55715, upload-time = "2024-09-04T09:06:31.489Z" }, + { url = "https://files.pythonhosted.org/packages/64/f3/2403d90821fffe496df16f6996cb328b90b0d80c06d2938a930a7732b4f1/kiwisolver-1.4.7-pp38-pypy38_pp73-macosx_10_9_x86_64.whl", hash = "sha256:bfa1acfa0c54932d5607e19a2c24646fb4c1ae2694437789129cf099789a3b00", size = 59662, upload-time = "2024-09-04T09:06:33.551Z" }, + { url = "https://files.pythonhosted.org/packages/fa/7d/8f409736a4a6ac04354fa530ebf46682ddb1539b0bae15f4731ff2c575bc/kiwisolver-1.4.7-pp38-pypy38_pp73-macosx_11_0_arm64.whl", hash = "sha256:eee3ea935c3d227d49b4eb85660ff631556841f6e567f0f7bda972df6c2c9935", size = 57753, upload-time = "2024-09-04T09:06:35.095Z" }, + { url = "https://files.pythonhosted.org/packages/4c/a5/3937c9abe8eedb1356071739ad437a0b486cbad27d54f4ec4733d24882ac/kiwisolver-1.4.7-pp38-pypy38_pp73-manylinux_2_12_i686.manylinux2010_i686.whl", hash = "sha256:f3160309af4396e0ed04db259c3ccbfdc3621b5559b5453075e5de555e1f3a1b", size = 103564, upload-time = "2024-09-04T09:06:36.756Z" }, + { url = "https://files.pythonhosted.org/packages/b2/18/a5ae23888f010b90d5eb8d196fed30e268056b2ded54d25b38a193bb70e9/kiwisolver-1.4.7-pp38-pypy38_pp73-manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:a17f6a29cf8935e587cc8a4dbfc8368c55edc645283db0ce9801016f83526c2d", size = 95264, upload-time = "2024-09-04T09:06:38.786Z" }, + { url = "https://files.pythonhosted.org/packages/f9/d0/c4240ae86306d4395e9701f1d7e6ddcc6d60c28cb0127139176cfcfc9ebe/kiwisolver-1.4.7-pp38-pypy38_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:10849fb2c1ecbfae45a693c070e0320a91b35dd4bcf58172c023b994283a124d", size = 78197, upload-time = "2024-09-04T09:06:40.453Z" }, + { url = "https://files.pythonhosted.org/packages/62/db/62423f0ab66813376a35c1e7da488ebdb4e808fcb54b7cec33959717bda1/kiwisolver-1.4.7-pp38-pypy38_pp73-win_amd64.whl", hash = "sha256:ac542bf38a8a4be2dc6b15248d36315ccc65f0743f7b1a76688ffb6b5129a5c2", size = 56080, upload-time = "2024-09-04T09:06:42.061Z" }, + { url = "https://files.pythonhosted.org/packages/d5/df/ce37d9b26f07ab90880923c94d12a6ff4d27447096b4c849bfc4339ccfdf/kiwisolver-1.4.7-pp39-pypy39_pp73-macosx_10_15_x86_64.whl", hash = "sha256:8b01aac285f91ca889c800042c35ad3b239e704b150cfd3382adfc9dcc780e39", size = 58666, upload-time = "2024-09-04T09:06:43.756Z" }, + { url = "https://files.pythonhosted.org/packages/b0/d3/e4b04f43bc629ac8e186b77b2b1a251cdfa5b7610fa189dc0db622672ce6/kiwisolver-1.4.7-pp39-pypy39_pp73-macosx_11_0_arm64.whl", hash = "sha256:48be928f59a1f5c8207154f935334d374e79f2b5d212826307d072595ad76a2e", size = 57088, upload-time = "2024-09-04T09:06:45.406Z" }, + { url = "https://files.pythonhosted.org/packages/30/1c/752df58e2d339e670a535514d2db4fe8c842ce459776b8080fbe08ebb98e/kiwisolver-1.4.7-pp39-pypy39_pp73-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:f37cfe618a117e50d8c240555331160d73d0411422b59b5ee217843d7b693608", size = 84321, upload-time = "2024-09-04T09:06:47.557Z" }, + { url = "https://files.pythonhosted.org/packages/f0/f8/fe6484e847bc6e238ec9f9828089fb2c0bb53f2f5f3a79351fde5b565e4f/kiwisolver-1.4.7-pp39-pypy39_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:599b5c873c63a1f6ed7eead644a8a380cfbdf5db91dcb6f85707aaab213b1674", size = 80776, upload-time = "2024-09-04T09:06:49.235Z" }, + { url = "https://files.pythonhosted.org/packages/9b/57/d7163c0379f250ef763aba85330a19feefb5ce6cb541ade853aaba881524/kiwisolver-1.4.7-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:801fa7802e5cfabe3ab0c81a34c323a319b097dfb5004be950482d882f3d7225", size = 79984, upload-time = "2024-09-04T09:06:51.336Z" }, + { url = "https://files.pythonhosted.org/packages/8c/95/4a103776c265d13b3d2cd24fb0494d4e04ea435a8ef97e1b2c026d43250b/kiwisolver-1.4.7-pp39-pypy39_pp73-win_amd64.whl", hash = "sha256:0c6c43471bc764fad4bc99c5c2d6d16a676b1abf844ca7c8702bdae92df01ee0", size = 55811, upload-time = "2024-09-04T09:06:53.078Z" }, ] [[package]] @@ -2067,87 +2067,87 @@ resolution-markers = [ "python_full_version == '3.10.*' and platform_machine == 'aarch64' and sys_platform == 'linux'", "(python_full_version == '3.10.*' and platform_machine != 'aarch64' and sys_platform == 'linux') or (python_full_version == '3.10.*' and sys_platform != 'darwin' and sys_platform != 'linux')", ] -sdist = { url = "https://files.pythonhosted.org/packages/82/59/7c91426a8ac292e1cdd53a63b6d9439abd573c875c3f92c146767dd33faf/kiwisolver-1.4.8.tar.gz", hash = "sha256:23d5f023bdc8c7e54eb65f03ca5d5bb25b601eac4d7f1a042888a1f45237987e", size = 97538 } -wheels = [ - { url = "https://files.pythonhosted.org/packages/47/5f/4d8e9e852d98ecd26cdf8eaf7ed8bc33174033bba5e07001b289f07308fd/kiwisolver-1.4.8-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:88c6f252f6816a73b1f8c904f7bbe02fd67c09a69f7cb8a0eecdbf5ce78e63db", size = 124623 }, - { url = "https://files.pythonhosted.org/packages/1d/70/7f5af2a18a76fe92ea14675f8bd88ce53ee79e37900fa5f1a1d8e0b42998/kiwisolver-1.4.8-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:c72941acb7b67138f35b879bbe85be0f6c6a70cab78fe3ef6db9c024d9223e5b", size = 66720 }, - { url = "https://files.pythonhosted.org/packages/c6/13/e15f804a142353aefd089fadc8f1d985561a15358c97aca27b0979cb0785/kiwisolver-1.4.8-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:ce2cf1e5688edcb727fdf7cd1bbd0b6416758996826a8be1d958f91880d0809d", size = 65413 }, - { url = "https://files.pythonhosted.org/packages/ce/6d/67d36c4d2054e83fb875c6b59d0809d5c530de8148846b1370475eeeece9/kiwisolver-1.4.8-cp310-cp310-manylinux_2_12_i686.manylinux2010_i686.whl", hash = "sha256:c8bf637892dc6e6aad2bc6d4d69d08764166e5e3f69d469e55427b6ac001b19d", size = 1650826 }, - { url = "https://files.pythonhosted.org/packages/de/c6/7b9bb8044e150d4d1558423a1568e4f227193662a02231064e3824f37e0a/kiwisolver-1.4.8-cp310-cp310-manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:034d2c891f76bd3edbdb3ea11140d8510dca675443da7304205a2eaa45d8334c", size = 1628231 }, - { url = "https://files.pythonhosted.org/packages/b6/38/ad10d437563063eaaedbe2c3540a71101fc7fb07a7e71f855e93ea4de605/kiwisolver-1.4.8-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d47b28d1dfe0793d5e96bce90835e17edf9a499b53969b03c6c47ea5985844c3", size = 1408938 }, - { url = "https://files.pythonhosted.org/packages/52/ce/c0106b3bd7f9e665c5f5bc1e07cc95b5dabd4e08e3dad42dbe2faad467e7/kiwisolver-1.4.8-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:eb158fe28ca0c29f2260cca8c43005329ad58452c36f0edf298204de32a9a3ed", size = 1422799 }, - { url = "https://files.pythonhosted.org/packages/d0/87/efb704b1d75dc9758087ba374c0f23d3254505edaedd09cf9d247f7878b9/kiwisolver-1.4.8-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:d5536185fce131780ebd809f8e623bf4030ce1b161353166c49a3c74c287897f", size = 1354362 }, - { url = "https://files.pythonhosted.org/packages/eb/b3/fd760dc214ec9a8f208b99e42e8f0130ff4b384eca8b29dd0efc62052176/kiwisolver-1.4.8-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:369b75d40abedc1da2c1f4de13f3482cb99e3237b38726710f4a793432b1c5ff", size = 2222695 }, - { url = "https://files.pythonhosted.org/packages/a2/09/a27fb36cca3fc01700687cc45dae7a6a5f8eeb5f657b9f710f788748e10d/kiwisolver-1.4.8-cp310-cp310-musllinux_1_2_i686.whl", hash = "sha256:641f2ddf9358c80faa22e22eb4c9f54bd3f0e442e038728f500e3b978d00aa7d", size = 2370802 }, - { url = "https://files.pythonhosted.org/packages/3d/c3/ba0a0346db35fe4dc1f2f2cf8b99362fbb922d7562e5f911f7ce7a7b60fa/kiwisolver-1.4.8-cp310-cp310-musllinux_1_2_ppc64le.whl", hash = "sha256:d561d2d8883e0819445cfe58d7ddd673e4015c3c57261d7bdcd3710d0d14005c", size = 2334646 }, - { url = "https://files.pythonhosted.org/packages/41/52/942cf69e562f5ed253ac67d5c92a693745f0bed3c81f49fc0cbebe4d6b00/kiwisolver-1.4.8-cp310-cp310-musllinux_1_2_s390x.whl", hash = "sha256:1732e065704b47c9afca7ffa272f845300a4eb959276bf6970dc07265e73b605", size = 2467260 }, - { url = "https://files.pythonhosted.org/packages/32/26/2d9668f30d8a494b0411d4d7d4ea1345ba12deb6a75274d58dd6ea01e951/kiwisolver-1.4.8-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:bcb1ebc3547619c3b58a39e2448af089ea2ef44b37988caf432447374941574e", size = 2288633 }, - { url = "https://files.pythonhosted.org/packages/98/99/0dd05071654aa44fe5d5e350729961e7bb535372935a45ac89a8924316e6/kiwisolver-1.4.8-cp310-cp310-win_amd64.whl", hash = "sha256:89c107041f7b27844179ea9c85d6da275aa55ecf28413e87624d033cf1f6b751", size = 71885 }, - { url = "https://files.pythonhosted.org/packages/6c/fc/822e532262a97442989335394d441cd1d0448c2e46d26d3e04efca84df22/kiwisolver-1.4.8-cp310-cp310-win_arm64.whl", hash = "sha256:b5773efa2be9eb9fcf5415ea3ab70fc785d598729fd6057bea38d539ead28271", size = 65175 }, - { url = "https://files.pythonhosted.org/packages/da/ed/c913ee28936c371418cb167b128066ffb20bbf37771eecc2c97edf8a6e4c/kiwisolver-1.4.8-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:a4d3601908c560bdf880f07d94f31d734afd1bb71e96585cace0e38ef44c6d84", size = 124635 }, - { url = "https://files.pythonhosted.org/packages/4c/45/4a7f896f7467aaf5f56ef093d1f329346f3b594e77c6a3c327b2d415f521/kiwisolver-1.4.8-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:856b269c4d28a5c0d5e6c1955ec36ebfd1651ac00e1ce0afa3e28da95293b561", size = 66717 }, - { url = "https://files.pythonhosted.org/packages/5f/b4/c12b3ac0852a3a68f94598d4c8d569f55361beef6159dce4e7b624160da2/kiwisolver-1.4.8-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:c2b9a96e0f326205af81a15718a9073328df1173a2619a68553decb7097fd5d7", size = 65413 }, - { url = "https://files.pythonhosted.org/packages/a9/98/1df4089b1ed23d83d410adfdc5947245c753bddfbe06541c4aae330e9e70/kiwisolver-1.4.8-cp311-cp311-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:c5020c83e8553f770cb3b5fc13faac40f17e0b205bd237aebd21d53d733adb03", size = 1343994 }, - { url = "https://files.pythonhosted.org/packages/8d/bf/b4b169b050c8421a7c53ea1ea74e4ef9c335ee9013216c558a047f162d20/kiwisolver-1.4.8-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:dace81d28c787956bfbfbbfd72fdcef014f37d9b48830829e488fdb32b49d954", size = 1434804 }, - { url = "https://files.pythonhosted.org/packages/66/5a/e13bd341fbcf73325ea60fdc8af752addf75c5079867af2e04cc41f34434/kiwisolver-1.4.8-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:11e1022b524bd48ae56c9b4f9296bce77e15a2e42a502cceba602f804b32bb79", size = 1450690 }, - { url = "https://files.pythonhosted.org/packages/9b/4f/5955dcb376ba4a830384cc6fab7d7547bd6759fe75a09564910e9e3bb8ea/kiwisolver-1.4.8-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:3b9b4d2892fefc886f30301cdd80debd8bb01ecdf165a449eb6e78f79f0fabd6", size = 1376839 }, - { url = "https://files.pythonhosted.org/packages/3a/97/5edbed69a9d0caa2e4aa616ae7df8127e10f6586940aa683a496c2c280b9/kiwisolver-1.4.8-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:3a96c0e790ee875d65e340ab383700e2b4891677b7fcd30a699146f9384a2bb0", size = 1435109 }, - { url = "https://files.pythonhosted.org/packages/13/fc/e756382cb64e556af6c1809a1bbb22c141bbc2445049f2da06b420fe52bf/kiwisolver-1.4.8-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:23454ff084b07ac54ca8be535f4174170c1094a4cff78fbae4f73a4bcc0d4dab", size = 2245269 }, - { url = "https://files.pythonhosted.org/packages/76/15/e59e45829d7f41c776d138245cabae6515cb4eb44b418f6d4109c478b481/kiwisolver-1.4.8-cp311-cp311-musllinux_1_2_i686.whl", hash = "sha256:87b287251ad6488e95b4f0b4a79a6d04d3ea35fde6340eb38fbd1ca9cd35bbbc", size = 2393468 }, - { url = "https://files.pythonhosted.org/packages/e9/39/483558c2a913ab8384d6e4b66a932406f87c95a6080112433da5ed668559/kiwisolver-1.4.8-cp311-cp311-musllinux_1_2_ppc64le.whl", hash = "sha256:b21dbe165081142b1232a240fc6383fd32cdd877ca6cc89eab93e5f5883e1c25", size = 2355394 }, - { url = "https://files.pythonhosted.org/packages/01/aa/efad1fbca6570a161d29224f14b082960c7e08268a133fe5dc0f6906820e/kiwisolver-1.4.8-cp311-cp311-musllinux_1_2_s390x.whl", hash = "sha256:768cade2c2df13db52475bd28d3a3fac8c9eff04b0e9e2fda0f3760f20b3f7fc", size = 2490901 }, - { url = "https://files.pythonhosted.org/packages/c9/4f/15988966ba46bcd5ab9d0c8296914436720dd67fca689ae1a75b4ec1c72f/kiwisolver-1.4.8-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:d47cfb2650f0e103d4bf68b0b5804c68da97272c84bb12850d877a95c056bd67", size = 2312306 }, - { url = "https://files.pythonhosted.org/packages/2d/27/bdf1c769c83f74d98cbc34483a972f221440703054894a37d174fba8aa68/kiwisolver-1.4.8-cp311-cp311-win_amd64.whl", hash = "sha256:ed33ca2002a779a2e20eeb06aea7721b6e47f2d4b8a8ece979d8ba9e2a167e34", size = 71966 }, - { url = "https://files.pythonhosted.org/packages/4a/c9/9642ea855604aeb2968a8e145fc662edf61db7632ad2e4fb92424be6b6c0/kiwisolver-1.4.8-cp311-cp311-win_arm64.whl", hash = "sha256:16523b40aab60426ffdebe33ac374457cf62863e330a90a0383639ce14bf44b2", size = 65311 }, - { url = "https://files.pythonhosted.org/packages/fc/aa/cea685c4ab647f349c3bc92d2daf7ae34c8e8cf405a6dcd3a497f58a2ac3/kiwisolver-1.4.8-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:d6af5e8815fd02997cb6ad9bbed0ee1e60014438ee1a5c2444c96f87b8843502", size = 124152 }, - { url = "https://files.pythonhosted.org/packages/c5/0b/8db6d2e2452d60d5ebc4ce4b204feeb16176a851fd42462f66ade6808084/kiwisolver-1.4.8-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:bade438f86e21d91e0cf5dd7c0ed00cda0f77c8c1616bd83f9fc157fa6760d31", size = 66555 }, - { url = "https://files.pythonhosted.org/packages/60/26/d6a0db6785dd35d3ba5bf2b2df0aedc5af089962c6eb2cbf67a15b81369e/kiwisolver-1.4.8-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:b83dc6769ddbc57613280118fb4ce3cd08899cc3369f7d0e0fab518a7cf37fdb", size = 65067 }, - { url = "https://files.pythonhosted.org/packages/c9/ed/1d97f7e3561e09757a196231edccc1bcf59d55ddccefa2afc9c615abd8e0/kiwisolver-1.4.8-cp312-cp312-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:111793b232842991be367ed828076b03d96202c19221b5ebab421ce8bcad016f", size = 1378443 }, - { url = "https://files.pythonhosted.org/packages/29/61/39d30b99954e6b46f760e6289c12fede2ab96a254c443639052d1b573fbc/kiwisolver-1.4.8-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:257af1622860e51b1a9d0ce387bf5c2c4f36a90594cb9514f55b074bcc787cfc", size = 1472728 }, - { url = "https://files.pythonhosted.org/packages/0c/3e/804163b932f7603ef256e4a715e5843a9600802bb23a68b4e08c8c0ff61d/kiwisolver-1.4.8-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:69b5637c3f316cab1ec1c9a12b8c5f4750a4c4b71af9157645bf32830e39c03a", size = 1478388 }, - { url = "https://files.pythonhosted.org/packages/8a/9e/60eaa75169a154700be74f875a4d9961b11ba048bef315fbe89cb6999056/kiwisolver-1.4.8-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:782bb86f245ec18009890e7cb8d13a5ef54dcf2ebe18ed65f795e635a96a1c6a", size = 1413849 }, - { url = "https://files.pythonhosted.org/packages/bc/b3/9458adb9472e61a998c8c4d95cfdfec91c73c53a375b30b1428310f923e4/kiwisolver-1.4.8-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:cc978a80a0db3a66d25767b03688f1147a69e6237175c0f4ffffaaedf744055a", size = 1475533 }, - { url = "https://files.pythonhosted.org/packages/e4/7a/0a42d9571e35798de80aef4bb43a9b672aa7f8e58643d7bd1950398ffb0a/kiwisolver-1.4.8-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:36dbbfd34838500a31f52c9786990d00150860e46cd5041386f217101350f0d3", size = 2268898 }, - { url = "https://files.pythonhosted.org/packages/d9/07/1255dc8d80271400126ed8db35a1795b1a2c098ac3a72645075d06fe5c5d/kiwisolver-1.4.8-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:eaa973f1e05131de5ff3569bbba7f5fd07ea0595d3870ed4a526d486fe57fa1b", size = 2425605 }, - { url = "https://files.pythonhosted.org/packages/84/df/5a3b4cf13780ef6f6942df67b138b03b7e79e9f1f08f57c49957d5867f6e/kiwisolver-1.4.8-cp312-cp312-musllinux_1_2_ppc64le.whl", hash = "sha256:a66f60f8d0c87ab7f59b6fb80e642ebb29fec354a4dfad687ca4092ae69d04f4", size = 2375801 }, - { url = "https://files.pythonhosted.org/packages/8f/10/2348d068e8b0f635c8c86892788dac7a6b5c0cb12356620ab575775aad89/kiwisolver-1.4.8-cp312-cp312-musllinux_1_2_s390x.whl", hash = "sha256:858416b7fb777a53f0c59ca08190ce24e9abbd3cffa18886a5781b8e3e26f65d", size = 2520077 }, - { url = "https://files.pythonhosted.org/packages/32/d8/014b89fee5d4dce157d814303b0fce4d31385a2af4c41fed194b173b81ac/kiwisolver-1.4.8-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:085940635c62697391baafaaeabdf3dd7a6c3643577dde337f4d66eba021b2b8", size = 2338410 }, - { url = "https://files.pythonhosted.org/packages/bd/72/dfff0cc97f2a0776e1c9eb5bef1ddfd45f46246c6533b0191887a427bca5/kiwisolver-1.4.8-cp312-cp312-win_amd64.whl", hash = "sha256:01c3d31902c7db5fb6182832713d3b4122ad9317c2c5877d0539227d96bb2e50", size = 71853 }, - { url = "https://files.pythonhosted.org/packages/dc/85/220d13d914485c0948a00f0b9eb419efaf6da81b7d72e88ce2391f7aed8d/kiwisolver-1.4.8-cp312-cp312-win_arm64.whl", hash = "sha256:a3c44cb68861de93f0c4a8175fbaa691f0aa22550c331fefef02b618a9dcb476", size = 65424 }, - { url = "https://files.pythonhosted.org/packages/79/b3/e62464a652f4f8cd9006e13d07abad844a47df1e6537f73ddfbf1bc997ec/kiwisolver-1.4.8-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:1c8ceb754339793c24aee1c9fb2485b5b1f5bb1c2c214ff13368431e51fc9a09", size = 124156 }, - { url = "https://files.pythonhosted.org/packages/8d/2d/f13d06998b546a2ad4f48607a146e045bbe48030774de29f90bdc573df15/kiwisolver-1.4.8-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:54a62808ac74b5e55a04a408cda6156f986cefbcf0ada13572696b507cc92fa1", size = 66555 }, - { url = "https://files.pythonhosted.org/packages/59/e3/b8bd14b0a54998a9fd1e8da591c60998dc003618cb19a3f94cb233ec1511/kiwisolver-1.4.8-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:68269e60ee4929893aad82666821aaacbd455284124817af45c11e50a4b42e3c", size = 65071 }, - { url = "https://files.pythonhosted.org/packages/f0/1c/6c86f6d85ffe4d0ce04228d976f00674f1df5dc893bf2dd4f1928748f187/kiwisolver-1.4.8-cp313-cp313-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:34d142fba9c464bc3bbfeff15c96eab0e7310343d6aefb62a79d51421fcc5f1b", size = 1378053 }, - { url = "https://files.pythonhosted.org/packages/4e/b9/1c6e9f6dcb103ac5cf87cb695845f5fa71379021500153566d8a8a9fc291/kiwisolver-1.4.8-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:3ddc373e0eef45b59197de815b1b28ef89ae3955e7722cc9710fb91cd77b7f47", size = 1472278 }, - { url = "https://files.pythonhosted.org/packages/ee/81/aca1eb176de671f8bda479b11acdc42c132b61a2ac861c883907dde6debb/kiwisolver-1.4.8-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:77e6f57a20b9bd4e1e2cedda4d0b986ebd0216236f0106e55c28aea3d3d69b16", size = 1478139 }, - { url = "https://files.pythonhosted.org/packages/49/f4/e081522473671c97b2687d380e9e4c26f748a86363ce5af48b4a28e48d06/kiwisolver-1.4.8-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:08e77738ed7538f036cd1170cbed942ef749137b1311fa2bbe2a7fda2f6bf3cc", size = 1413517 }, - { url = "https://files.pythonhosted.org/packages/8f/e9/6a7d025d8da8c4931522922cd706105aa32b3291d1add8c5427cdcd66e63/kiwisolver-1.4.8-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:a5ce1e481a74b44dd5e92ff03ea0cb371ae7a0268318e202be06c8f04f4f1246", size = 1474952 }, - { url = "https://files.pythonhosted.org/packages/82/13/13fa685ae167bee5d94b415991c4fc7bb0a1b6ebea6e753a87044b209678/kiwisolver-1.4.8-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:fc2ace710ba7c1dfd1a3b42530b62b9ceed115f19a1656adefce7b1782a37794", size = 2269132 }, - { url = "https://files.pythonhosted.org/packages/ef/92/bb7c9395489b99a6cb41d502d3686bac692586db2045adc19e45ee64ed23/kiwisolver-1.4.8-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:3452046c37c7692bd52b0e752b87954ef86ee2224e624ef7ce6cb21e8c41cc1b", size = 2425997 }, - { url = "https://files.pythonhosted.org/packages/ed/12/87f0e9271e2b63d35d0d8524954145837dd1a6c15b62a2d8c1ebe0f182b4/kiwisolver-1.4.8-cp313-cp313-musllinux_1_2_ppc64le.whl", hash = "sha256:7e9a60b50fe8b2ec6f448fe8d81b07e40141bfced7f896309df271a0b92f80f3", size = 2376060 }, - { url = "https://files.pythonhosted.org/packages/02/6e/c8af39288edbce8bf0fa35dee427b082758a4b71e9c91ef18fa667782138/kiwisolver-1.4.8-cp313-cp313-musllinux_1_2_s390x.whl", hash = "sha256:918139571133f366e8362fa4a297aeba86c7816b7ecf0bc79168080e2bd79957", size = 2520471 }, - { url = "https://files.pythonhosted.org/packages/13/78/df381bc7b26e535c91469f77f16adcd073beb3e2dd25042efd064af82323/kiwisolver-1.4.8-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:e063ef9f89885a1d68dd8b2e18f5ead48653176d10a0e324e3b0030e3a69adeb", size = 2338793 }, - { url = "https://files.pythonhosted.org/packages/d0/dc/c1abe38c37c071d0fc71c9a474fd0b9ede05d42f5a458d584619cfd2371a/kiwisolver-1.4.8-cp313-cp313-win_amd64.whl", hash = "sha256:a17b7c4f5b2c51bb68ed379defd608a03954a1845dfed7cc0117f1cc8a9b7fd2", size = 71855 }, - { url = "https://files.pythonhosted.org/packages/a0/b6/21529d595b126ac298fdd90b705d87d4c5693de60023e0efcb4f387ed99e/kiwisolver-1.4.8-cp313-cp313-win_arm64.whl", hash = "sha256:3cd3bc628b25f74aedc6d374d5babf0166a92ff1317f46267f12d2ed54bc1d30", size = 65430 }, - { url = "https://files.pythonhosted.org/packages/34/bd/b89380b7298e3af9b39f49334e3e2a4af0e04819789f04b43d560516c0c8/kiwisolver-1.4.8-cp313-cp313t-macosx_10_13_universal2.whl", hash = "sha256:370fd2df41660ed4e26b8c9d6bbcad668fbe2560462cba151a721d49e5b6628c", size = 126294 }, - { url = "https://files.pythonhosted.org/packages/83/41/5857dc72e5e4148eaac5aa76e0703e594e4465f8ab7ec0fc60e3a9bb8fea/kiwisolver-1.4.8-cp313-cp313t-macosx_10_13_x86_64.whl", hash = "sha256:84a2f830d42707de1d191b9490ac186bf7997a9495d4e9072210a1296345f7dc", size = 67736 }, - { url = "https://files.pythonhosted.org/packages/e1/d1/be059b8db56ac270489fb0b3297fd1e53d195ba76e9bbb30e5401fa6b759/kiwisolver-1.4.8-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:7a3ad337add5148cf51ce0b55642dc551c0b9d6248458a757f98796ca7348712", size = 66194 }, - { url = "https://files.pythonhosted.org/packages/e1/83/4b73975f149819eb7dcf9299ed467eba068ecb16439a98990dcb12e63fdd/kiwisolver-1.4.8-cp313-cp313t-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:7506488470f41169b86d8c9aeff587293f530a23a23a49d6bc64dab66bedc71e", size = 1465942 }, - { url = "https://files.pythonhosted.org/packages/c7/2c/30a5cdde5102958e602c07466bce058b9d7cb48734aa7a4327261ac8e002/kiwisolver-1.4.8-cp313-cp313t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:2f0121b07b356a22fb0414cec4666bbe36fd6d0d759db3d37228f496ed67c880", size = 1595341 }, - { url = "https://files.pythonhosted.org/packages/ff/9b/1e71db1c000385aa069704f5990574b8244cce854ecd83119c19e83c9586/kiwisolver-1.4.8-cp313-cp313t-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:d6d6bd87df62c27d4185de7c511c6248040afae67028a8a22012b010bc7ad062", size = 1598455 }, - { url = "https://files.pythonhosted.org/packages/85/92/c8fec52ddf06231b31cbb779af77e99b8253cd96bd135250b9498144c78b/kiwisolver-1.4.8-cp313-cp313t-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:291331973c64bb9cce50bbe871fb2e675c4331dab4f31abe89f175ad7679a4d7", size = 1522138 }, - { url = "https://files.pythonhosted.org/packages/0b/51/9eb7e2cd07a15d8bdd976f6190c0164f92ce1904e5c0c79198c4972926b7/kiwisolver-1.4.8-cp313-cp313t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:893f5525bb92d3d735878ec00f781b2de998333659507d29ea4466208df37bed", size = 1582857 }, - { url = "https://files.pythonhosted.org/packages/0f/95/c5a00387a5405e68ba32cc64af65ce881a39b98d73cc394b24143bebc5b8/kiwisolver-1.4.8-cp313-cp313t-musllinux_1_2_aarch64.whl", hash = "sha256:b47a465040146981dc9db8647981b8cb96366fbc8d452b031e4f8fdffec3f26d", size = 2293129 }, - { url = "https://files.pythonhosted.org/packages/44/83/eeb7af7d706b8347548313fa3a3a15931f404533cc54fe01f39e830dd231/kiwisolver-1.4.8-cp313-cp313t-musllinux_1_2_i686.whl", hash = "sha256:99cea8b9dd34ff80c521aef46a1dddb0dcc0283cf18bde6d756f1e6f31772165", size = 2421538 }, - { url = "https://files.pythonhosted.org/packages/05/f9/27e94c1b3eb29e6933b6986ffc5fa1177d2cd1f0c8efc5f02c91c9ac61de/kiwisolver-1.4.8-cp313-cp313t-musllinux_1_2_ppc64le.whl", hash = "sha256:151dffc4865e5fe6dafce5480fab84f950d14566c480c08a53c663a0020504b6", size = 2390661 }, - { url = "https://files.pythonhosted.org/packages/d9/d4/3c9735faa36ac591a4afcc2980d2691000506050b7a7e80bcfe44048daa7/kiwisolver-1.4.8-cp313-cp313t-musllinux_1_2_s390x.whl", hash = "sha256:577facaa411c10421314598b50413aa1ebcf5126f704f1e5d72d7e4e9f020d90", size = 2546710 }, - { url = "https://files.pythonhosted.org/packages/4c/fa/be89a49c640930180657482a74970cdcf6f7072c8d2471e1babe17a222dc/kiwisolver-1.4.8-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:be4816dc51c8a471749d664161b434912eee82f2ea66bd7628bd14583a833e85", size = 2349213 }, - { url = "https://files.pythonhosted.org/packages/1f/f9/ae81c47a43e33b93b0a9819cac6723257f5da2a5a60daf46aa5c7226ea85/kiwisolver-1.4.8-pp310-pypy310_pp73-macosx_10_15_x86_64.whl", hash = "sha256:e7a019419b7b510f0f7c9dceff8c5eae2392037eae483a7f9162625233802b0a", size = 60403 }, - { url = "https://files.pythonhosted.org/packages/58/ca/f92b5cb6f4ce0c1ebfcfe3e2e42b96917e16f7090e45b21102941924f18f/kiwisolver-1.4.8-pp310-pypy310_pp73-macosx_11_0_arm64.whl", hash = "sha256:286b18e86682fd2217a48fc6be6b0f20c1d0ed10958d8dc53453ad58d7be0bf8", size = 58657 }, - { url = "https://files.pythonhosted.org/packages/80/28/ae0240f732f0484d3a4dc885d055653c47144bdf59b670aae0ec3c65a7c8/kiwisolver-1.4.8-pp310-pypy310_pp73-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:4191ee8dfd0be1c3666ccbac178c5a05d5f8d689bbe3fc92f3c4abec817f8fe0", size = 84948 }, - { url = "https://files.pythonhosted.org/packages/5d/eb/78d50346c51db22c7203c1611f9b513075f35c4e0e4877c5dde378d66043/kiwisolver-1.4.8-pp310-pypy310_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:7cd2785b9391f2873ad46088ed7599a6a71e762e1ea33e87514b1a441ed1da1c", size = 81186 }, - { url = "https://files.pythonhosted.org/packages/43/f8/7259f18c77adca88d5f64f9a522792e178b2691f3748817a8750c2d216ef/kiwisolver-1.4.8-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:c07b29089b7ba090b6f1a669f1411f27221c3662b3a1b7010e67b59bb5a6f10b", size = 80279 }, - { url = "https://files.pythonhosted.org/packages/3a/1d/50ad811d1c5dae091e4cf046beba925bcae0a610e79ae4c538f996f63ed5/kiwisolver-1.4.8-pp310-pypy310_pp73-win_amd64.whl", hash = "sha256:65ea09a5a3faadd59c2ce96dc7bf0f364986a315949dc6374f04396b0d60e09b", size = 71762 }, +sdist = { url = "https://files.pythonhosted.org/packages/82/59/7c91426a8ac292e1cdd53a63b6d9439abd573c875c3f92c146767dd33faf/kiwisolver-1.4.8.tar.gz", hash = "sha256:23d5f023bdc8c7e54eb65f03ca5d5bb25b601eac4d7f1a042888a1f45237987e", size = 97538, upload-time = "2024-12-24T18:30:51.519Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/47/5f/4d8e9e852d98ecd26cdf8eaf7ed8bc33174033bba5e07001b289f07308fd/kiwisolver-1.4.8-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:88c6f252f6816a73b1f8c904f7bbe02fd67c09a69f7cb8a0eecdbf5ce78e63db", size = 124623, upload-time = "2024-12-24T18:28:17.687Z" }, + { url = "https://files.pythonhosted.org/packages/1d/70/7f5af2a18a76fe92ea14675f8bd88ce53ee79e37900fa5f1a1d8e0b42998/kiwisolver-1.4.8-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:c72941acb7b67138f35b879bbe85be0f6c6a70cab78fe3ef6db9c024d9223e5b", size = 66720, upload-time = "2024-12-24T18:28:19.158Z" }, + { url = "https://files.pythonhosted.org/packages/c6/13/e15f804a142353aefd089fadc8f1d985561a15358c97aca27b0979cb0785/kiwisolver-1.4.8-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:ce2cf1e5688edcb727fdf7cd1bbd0b6416758996826a8be1d958f91880d0809d", size = 65413, upload-time = "2024-12-24T18:28:20.064Z" }, + { url = "https://files.pythonhosted.org/packages/ce/6d/67d36c4d2054e83fb875c6b59d0809d5c530de8148846b1370475eeeece9/kiwisolver-1.4.8-cp310-cp310-manylinux_2_12_i686.manylinux2010_i686.whl", hash = "sha256:c8bf637892dc6e6aad2bc6d4d69d08764166e5e3f69d469e55427b6ac001b19d", size = 1650826, upload-time = "2024-12-24T18:28:21.203Z" }, + { url = "https://files.pythonhosted.org/packages/de/c6/7b9bb8044e150d4d1558423a1568e4f227193662a02231064e3824f37e0a/kiwisolver-1.4.8-cp310-cp310-manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:034d2c891f76bd3edbdb3ea11140d8510dca675443da7304205a2eaa45d8334c", size = 1628231, upload-time = "2024-12-24T18:28:23.851Z" }, + { url = "https://files.pythonhosted.org/packages/b6/38/ad10d437563063eaaedbe2c3540a71101fc7fb07a7e71f855e93ea4de605/kiwisolver-1.4.8-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d47b28d1dfe0793d5e96bce90835e17edf9a499b53969b03c6c47ea5985844c3", size = 1408938, upload-time = "2024-12-24T18:28:26.687Z" }, + { url = "https://files.pythonhosted.org/packages/52/ce/c0106b3bd7f9e665c5f5bc1e07cc95b5dabd4e08e3dad42dbe2faad467e7/kiwisolver-1.4.8-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:eb158fe28ca0c29f2260cca8c43005329ad58452c36f0edf298204de32a9a3ed", size = 1422799, upload-time = "2024-12-24T18:28:30.538Z" }, + { url = "https://files.pythonhosted.org/packages/d0/87/efb704b1d75dc9758087ba374c0f23d3254505edaedd09cf9d247f7878b9/kiwisolver-1.4.8-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:d5536185fce131780ebd809f8e623bf4030ce1b161353166c49a3c74c287897f", size = 1354362, upload-time = "2024-12-24T18:28:32.943Z" }, + { url = "https://files.pythonhosted.org/packages/eb/b3/fd760dc214ec9a8f208b99e42e8f0130ff4b384eca8b29dd0efc62052176/kiwisolver-1.4.8-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:369b75d40abedc1da2c1f4de13f3482cb99e3237b38726710f4a793432b1c5ff", size = 2222695, upload-time = "2024-12-24T18:28:35.641Z" }, + { url = "https://files.pythonhosted.org/packages/a2/09/a27fb36cca3fc01700687cc45dae7a6a5f8eeb5f657b9f710f788748e10d/kiwisolver-1.4.8-cp310-cp310-musllinux_1_2_i686.whl", hash = "sha256:641f2ddf9358c80faa22e22eb4c9f54bd3f0e442e038728f500e3b978d00aa7d", size = 2370802, upload-time = "2024-12-24T18:28:38.357Z" }, + { url = "https://files.pythonhosted.org/packages/3d/c3/ba0a0346db35fe4dc1f2f2cf8b99362fbb922d7562e5f911f7ce7a7b60fa/kiwisolver-1.4.8-cp310-cp310-musllinux_1_2_ppc64le.whl", hash = "sha256:d561d2d8883e0819445cfe58d7ddd673e4015c3c57261d7bdcd3710d0d14005c", size = 2334646, upload-time = "2024-12-24T18:28:40.941Z" }, + { url = "https://files.pythonhosted.org/packages/41/52/942cf69e562f5ed253ac67d5c92a693745f0bed3c81f49fc0cbebe4d6b00/kiwisolver-1.4.8-cp310-cp310-musllinux_1_2_s390x.whl", hash = "sha256:1732e065704b47c9afca7ffa272f845300a4eb959276bf6970dc07265e73b605", size = 2467260, upload-time = "2024-12-24T18:28:42.273Z" }, + { url = "https://files.pythonhosted.org/packages/32/26/2d9668f30d8a494b0411d4d7d4ea1345ba12deb6a75274d58dd6ea01e951/kiwisolver-1.4.8-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:bcb1ebc3547619c3b58a39e2448af089ea2ef44b37988caf432447374941574e", size = 2288633, upload-time = "2024-12-24T18:28:44.87Z" }, + { url = "https://files.pythonhosted.org/packages/98/99/0dd05071654aa44fe5d5e350729961e7bb535372935a45ac89a8924316e6/kiwisolver-1.4.8-cp310-cp310-win_amd64.whl", hash = "sha256:89c107041f7b27844179ea9c85d6da275aa55ecf28413e87624d033cf1f6b751", size = 71885, upload-time = "2024-12-24T18:28:47.346Z" }, + { url = "https://files.pythonhosted.org/packages/6c/fc/822e532262a97442989335394d441cd1d0448c2e46d26d3e04efca84df22/kiwisolver-1.4.8-cp310-cp310-win_arm64.whl", hash = "sha256:b5773efa2be9eb9fcf5415ea3ab70fc785d598729fd6057bea38d539ead28271", size = 65175, upload-time = "2024-12-24T18:28:49.651Z" }, + { url = "https://files.pythonhosted.org/packages/da/ed/c913ee28936c371418cb167b128066ffb20bbf37771eecc2c97edf8a6e4c/kiwisolver-1.4.8-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:a4d3601908c560bdf880f07d94f31d734afd1bb71e96585cace0e38ef44c6d84", size = 124635, upload-time = "2024-12-24T18:28:51.826Z" }, + { url = "https://files.pythonhosted.org/packages/4c/45/4a7f896f7467aaf5f56ef093d1f329346f3b594e77c6a3c327b2d415f521/kiwisolver-1.4.8-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:856b269c4d28a5c0d5e6c1955ec36ebfd1651ac00e1ce0afa3e28da95293b561", size = 66717, upload-time = "2024-12-24T18:28:54.256Z" }, + { url = "https://files.pythonhosted.org/packages/5f/b4/c12b3ac0852a3a68f94598d4c8d569f55361beef6159dce4e7b624160da2/kiwisolver-1.4.8-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:c2b9a96e0f326205af81a15718a9073328df1173a2619a68553decb7097fd5d7", size = 65413, upload-time = "2024-12-24T18:28:55.184Z" }, + { url = "https://files.pythonhosted.org/packages/a9/98/1df4089b1ed23d83d410adfdc5947245c753bddfbe06541c4aae330e9e70/kiwisolver-1.4.8-cp311-cp311-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:c5020c83e8553f770cb3b5fc13faac40f17e0b205bd237aebd21d53d733adb03", size = 1343994, upload-time = "2024-12-24T18:28:57.493Z" }, + { url = "https://files.pythonhosted.org/packages/8d/bf/b4b169b050c8421a7c53ea1ea74e4ef9c335ee9013216c558a047f162d20/kiwisolver-1.4.8-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:dace81d28c787956bfbfbbfd72fdcef014f37d9b48830829e488fdb32b49d954", size = 1434804, upload-time = "2024-12-24T18:29:00.077Z" }, + { url = "https://files.pythonhosted.org/packages/66/5a/e13bd341fbcf73325ea60fdc8af752addf75c5079867af2e04cc41f34434/kiwisolver-1.4.8-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:11e1022b524bd48ae56c9b4f9296bce77e15a2e42a502cceba602f804b32bb79", size = 1450690, upload-time = "2024-12-24T18:29:01.401Z" }, + { url = "https://files.pythonhosted.org/packages/9b/4f/5955dcb376ba4a830384cc6fab7d7547bd6759fe75a09564910e9e3bb8ea/kiwisolver-1.4.8-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:3b9b4d2892fefc886f30301cdd80debd8bb01ecdf165a449eb6e78f79f0fabd6", size = 1376839, upload-time = "2024-12-24T18:29:02.685Z" }, + { url = "https://files.pythonhosted.org/packages/3a/97/5edbed69a9d0caa2e4aa616ae7df8127e10f6586940aa683a496c2c280b9/kiwisolver-1.4.8-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:3a96c0e790ee875d65e340ab383700e2b4891677b7fcd30a699146f9384a2bb0", size = 1435109, upload-time = "2024-12-24T18:29:04.113Z" }, + { url = "https://files.pythonhosted.org/packages/13/fc/e756382cb64e556af6c1809a1bbb22c141bbc2445049f2da06b420fe52bf/kiwisolver-1.4.8-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:23454ff084b07ac54ca8be535f4174170c1094a4cff78fbae4f73a4bcc0d4dab", size = 2245269, upload-time = "2024-12-24T18:29:05.488Z" }, + { url = "https://files.pythonhosted.org/packages/76/15/e59e45829d7f41c776d138245cabae6515cb4eb44b418f6d4109c478b481/kiwisolver-1.4.8-cp311-cp311-musllinux_1_2_i686.whl", hash = "sha256:87b287251ad6488e95b4f0b4a79a6d04d3ea35fde6340eb38fbd1ca9cd35bbbc", size = 2393468, upload-time = "2024-12-24T18:29:06.79Z" }, + { url = "https://files.pythonhosted.org/packages/e9/39/483558c2a913ab8384d6e4b66a932406f87c95a6080112433da5ed668559/kiwisolver-1.4.8-cp311-cp311-musllinux_1_2_ppc64le.whl", hash = "sha256:b21dbe165081142b1232a240fc6383fd32cdd877ca6cc89eab93e5f5883e1c25", size = 2355394, upload-time = "2024-12-24T18:29:08.24Z" }, + { url = "https://files.pythonhosted.org/packages/01/aa/efad1fbca6570a161d29224f14b082960c7e08268a133fe5dc0f6906820e/kiwisolver-1.4.8-cp311-cp311-musllinux_1_2_s390x.whl", hash = "sha256:768cade2c2df13db52475bd28d3a3fac8c9eff04b0e9e2fda0f3760f20b3f7fc", size = 2490901, upload-time = "2024-12-24T18:29:09.653Z" }, + { url = "https://files.pythonhosted.org/packages/c9/4f/15988966ba46bcd5ab9d0c8296914436720dd67fca689ae1a75b4ec1c72f/kiwisolver-1.4.8-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:d47cfb2650f0e103d4bf68b0b5804c68da97272c84bb12850d877a95c056bd67", size = 2312306, upload-time = "2024-12-24T18:29:12.644Z" }, + { url = "https://files.pythonhosted.org/packages/2d/27/bdf1c769c83f74d98cbc34483a972f221440703054894a37d174fba8aa68/kiwisolver-1.4.8-cp311-cp311-win_amd64.whl", hash = "sha256:ed33ca2002a779a2e20eeb06aea7721b6e47f2d4b8a8ece979d8ba9e2a167e34", size = 71966, upload-time = "2024-12-24T18:29:14.089Z" }, + { url = "https://files.pythonhosted.org/packages/4a/c9/9642ea855604aeb2968a8e145fc662edf61db7632ad2e4fb92424be6b6c0/kiwisolver-1.4.8-cp311-cp311-win_arm64.whl", hash = "sha256:16523b40aab60426ffdebe33ac374457cf62863e330a90a0383639ce14bf44b2", size = 65311, upload-time = "2024-12-24T18:29:15.892Z" }, + { url = "https://files.pythonhosted.org/packages/fc/aa/cea685c4ab647f349c3bc92d2daf7ae34c8e8cf405a6dcd3a497f58a2ac3/kiwisolver-1.4.8-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:d6af5e8815fd02997cb6ad9bbed0ee1e60014438ee1a5c2444c96f87b8843502", size = 124152, upload-time = "2024-12-24T18:29:16.85Z" }, + { url = "https://files.pythonhosted.org/packages/c5/0b/8db6d2e2452d60d5ebc4ce4b204feeb16176a851fd42462f66ade6808084/kiwisolver-1.4.8-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:bade438f86e21d91e0cf5dd7c0ed00cda0f77c8c1616bd83f9fc157fa6760d31", size = 66555, upload-time = "2024-12-24T18:29:19.146Z" }, + { url = "https://files.pythonhosted.org/packages/60/26/d6a0db6785dd35d3ba5bf2b2df0aedc5af089962c6eb2cbf67a15b81369e/kiwisolver-1.4.8-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:b83dc6769ddbc57613280118fb4ce3cd08899cc3369f7d0e0fab518a7cf37fdb", size = 65067, upload-time = "2024-12-24T18:29:20.096Z" }, + { url = "https://files.pythonhosted.org/packages/c9/ed/1d97f7e3561e09757a196231edccc1bcf59d55ddccefa2afc9c615abd8e0/kiwisolver-1.4.8-cp312-cp312-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:111793b232842991be367ed828076b03d96202c19221b5ebab421ce8bcad016f", size = 1378443, upload-time = "2024-12-24T18:29:22.843Z" }, + { url = "https://files.pythonhosted.org/packages/29/61/39d30b99954e6b46f760e6289c12fede2ab96a254c443639052d1b573fbc/kiwisolver-1.4.8-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:257af1622860e51b1a9d0ce387bf5c2c4f36a90594cb9514f55b074bcc787cfc", size = 1472728, upload-time = "2024-12-24T18:29:24.463Z" }, + { url = "https://files.pythonhosted.org/packages/0c/3e/804163b932f7603ef256e4a715e5843a9600802bb23a68b4e08c8c0ff61d/kiwisolver-1.4.8-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:69b5637c3f316cab1ec1c9a12b8c5f4750a4c4b71af9157645bf32830e39c03a", size = 1478388, upload-time = "2024-12-24T18:29:25.776Z" }, + { url = "https://files.pythonhosted.org/packages/8a/9e/60eaa75169a154700be74f875a4d9961b11ba048bef315fbe89cb6999056/kiwisolver-1.4.8-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:782bb86f245ec18009890e7cb8d13a5ef54dcf2ebe18ed65f795e635a96a1c6a", size = 1413849, upload-time = "2024-12-24T18:29:27.202Z" }, + { url = "https://files.pythonhosted.org/packages/bc/b3/9458adb9472e61a998c8c4d95cfdfec91c73c53a375b30b1428310f923e4/kiwisolver-1.4.8-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:cc978a80a0db3a66d25767b03688f1147a69e6237175c0f4ffffaaedf744055a", size = 1475533, upload-time = "2024-12-24T18:29:28.638Z" }, + { url = "https://files.pythonhosted.org/packages/e4/7a/0a42d9571e35798de80aef4bb43a9b672aa7f8e58643d7bd1950398ffb0a/kiwisolver-1.4.8-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:36dbbfd34838500a31f52c9786990d00150860e46cd5041386f217101350f0d3", size = 2268898, upload-time = "2024-12-24T18:29:30.368Z" }, + { url = "https://files.pythonhosted.org/packages/d9/07/1255dc8d80271400126ed8db35a1795b1a2c098ac3a72645075d06fe5c5d/kiwisolver-1.4.8-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:eaa973f1e05131de5ff3569bbba7f5fd07ea0595d3870ed4a526d486fe57fa1b", size = 2425605, upload-time = "2024-12-24T18:29:33.151Z" }, + { url = "https://files.pythonhosted.org/packages/84/df/5a3b4cf13780ef6f6942df67b138b03b7e79e9f1f08f57c49957d5867f6e/kiwisolver-1.4.8-cp312-cp312-musllinux_1_2_ppc64le.whl", hash = "sha256:a66f60f8d0c87ab7f59b6fb80e642ebb29fec354a4dfad687ca4092ae69d04f4", size = 2375801, upload-time = "2024-12-24T18:29:34.584Z" }, + { url = "https://files.pythonhosted.org/packages/8f/10/2348d068e8b0f635c8c86892788dac7a6b5c0cb12356620ab575775aad89/kiwisolver-1.4.8-cp312-cp312-musllinux_1_2_s390x.whl", hash = "sha256:858416b7fb777a53f0c59ca08190ce24e9abbd3cffa18886a5781b8e3e26f65d", size = 2520077, upload-time = "2024-12-24T18:29:36.138Z" }, + { url = "https://files.pythonhosted.org/packages/32/d8/014b89fee5d4dce157d814303b0fce4d31385a2af4c41fed194b173b81ac/kiwisolver-1.4.8-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:085940635c62697391baafaaeabdf3dd7a6c3643577dde337f4d66eba021b2b8", size = 2338410, upload-time = "2024-12-24T18:29:39.991Z" }, + { url = "https://files.pythonhosted.org/packages/bd/72/dfff0cc97f2a0776e1c9eb5bef1ddfd45f46246c6533b0191887a427bca5/kiwisolver-1.4.8-cp312-cp312-win_amd64.whl", hash = "sha256:01c3d31902c7db5fb6182832713d3b4122ad9317c2c5877d0539227d96bb2e50", size = 71853, upload-time = "2024-12-24T18:29:42.006Z" }, + { url = "https://files.pythonhosted.org/packages/dc/85/220d13d914485c0948a00f0b9eb419efaf6da81b7d72e88ce2391f7aed8d/kiwisolver-1.4.8-cp312-cp312-win_arm64.whl", hash = "sha256:a3c44cb68861de93f0c4a8175fbaa691f0aa22550c331fefef02b618a9dcb476", size = 65424, upload-time = "2024-12-24T18:29:44.38Z" }, + { url = "https://files.pythonhosted.org/packages/79/b3/e62464a652f4f8cd9006e13d07abad844a47df1e6537f73ddfbf1bc997ec/kiwisolver-1.4.8-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:1c8ceb754339793c24aee1c9fb2485b5b1f5bb1c2c214ff13368431e51fc9a09", size = 124156, upload-time = "2024-12-24T18:29:45.368Z" }, + { url = "https://files.pythonhosted.org/packages/8d/2d/f13d06998b546a2ad4f48607a146e045bbe48030774de29f90bdc573df15/kiwisolver-1.4.8-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:54a62808ac74b5e55a04a408cda6156f986cefbcf0ada13572696b507cc92fa1", size = 66555, upload-time = "2024-12-24T18:29:46.37Z" }, + { url = "https://files.pythonhosted.org/packages/59/e3/b8bd14b0a54998a9fd1e8da591c60998dc003618cb19a3f94cb233ec1511/kiwisolver-1.4.8-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:68269e60ee4929893aad82666821aaacbd455284124817af45c11e50a4b42e3c", size = 65071, upload-time = "2024-12-24T18:29:47.333Z" }, + { url = "https://files.pythonhosted.org/packages/f0/1c/6c86f6d85ffe4d0ce04228d976f00674f1df5dc893bf2dd4f1928748f187/kiwisolver-1.4.8-cp313-cp313-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:34d142fba9c464bc3bbfeff15c96eab0e7310343d6aefb62a79d51421fcc5f1b", size = 1378053, upload-time = "2024-12-24T18:29:49.636Z" }, + { url = "https://files.pythonhosted.org/packages/4e/b9/1c6e9f6dcb103ac5cf87cb695845f5fa71379021500153566d8a8a9fc291/kiwisolver-1.4.8-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:3ddc373e0eef45b59197de815b1b28ef89ae3955e7722cc9710fb91cd77b7f47", size = 1472278, upload-time = "2024-12-24T18:29:51.164Z" }, + { url = "https://files.pythonhosted.org/packages/ee/81/aca1eb176de671f8bda479b11acdc42c132b61a2ac861c883907dde6debb/kiwisolver-1.4.8-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:77e6f57a20b9bd4e1e2cedda4d0b986ebd0216236f0106e55c28aea3d3d69b16", size = 1478139, upload-time = "2024-12-24T18:29:52.594Z" }, + { url = "https://files.pythonhosted.org/packages/49/f4/e081522473671c97b2687d380e9e4c26f748a86363ce5af48b4a28e48d06/kiwisolver-1.4.8-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:08e77738ed7538f036cd1170cbed942ef749137b1311fa2bbe2a7fda2f6bf3cc", size = 1413517, upload-time = "2024-12-24T18:29:53.941Z" }, + { url = "https://files.pythonhosted.org/packages/8f/e9/6a7d025d8da8c4931522922cd706105aa32b3291d1add8c5427cdcd66e63/kiwisolver-1.4.8-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:a5ce1e481a74b44dd5e92ff03ea0cb371ae7a0268318e202be06c8f04f4f1246", size = 1474952, upload-time = "2024-12-24T18:29:56.523Z" }, + { url = "https://files.pythonhosted.org/packages/82/13/13fa685ae167bee5d94b415991c4fc7bb0a1b6ebea6e753a87044b209678/kiwisolver-1.4.8-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:fc2ace710ba7c1dfd1a3b42530b62b9ceed115f19a1656adefce7b1782a37794", size = 2269132, upload-time = "2024-12-24T18:29:57.989Z" }, + { url = "https://files.pythonhosted.org/packages/ef/92/bb7c9395489b99a6cb41d502d3686bac692586db2045adc19e45ee64ed23/kiwisolver-1.4.8-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:3452046c37c7692bd52b0e752b87954ef86ee2224e624ef7ce6cb21e8c41cc1b", size = 2425997, upload-time = "2024-12-24T18:29:59.393Z" }, + { url = "https://files.pythonhosted.org/packages/ed/12/87f0e9271e2b63d35d0d8524954145837dd1a6c15b62a2d8c1ebe0f182b4/kiwisolver-1.4.8-cp313-cp313-musllinux_1_2_ppc64le.whl", hash = "sha256:7e9a60b50fe8b2ec6f448fe8d81b07e40141bfced7f896309df271a0b92f80f3", size = 2376060, upload-time = "2024-12-24T18:30:01.338Z" }, + { url = "https://files.pythonhosted.org/packages/02/6e/c8af39288edbce8bf0fa35dee427b082758a4b71e9c91ef18fa667782138/kiwisolver-1.4.8-cp313-cp313-musllinux_1_2_s390x.whl", hash = "sha256:918139571133f366e8362fa4a297aeba86c7816b7ecf0bc79168080e2bd79957", size = 2520471, upload-time = "2024-12-24T18:30:04.574Z" }, + { url = "https://files.pythonhosted.org/packages/13/78/df381bc7b26e535c91469f77f16adcd073beb3e2dd25042efd064af82323/kiwisolver-1.4.8-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:e063ef9f89885a1d68dd8b2e18f5ead48653176d10a0e324e3b0030e3a69adeb", size = 2338793, upload-time = "2024-12-24T18:30:06.25Z" }, + { url = "https://files.pythonhosted.org/packages/d0/dc/c1abe38c37c071d0fc71c9a474fd0b9ede05d42f5a458d584619cfd2371a/kiwisolver-1.4.8-cp313-cp313-win_amd64.whl", hash = "sha256:a17b7c4f5b2c51bb68ed379defd608a03954a1845dfed7cc0117f1cc8a9b7fd2", size = 71855, upload-time = "2024-12-24T18:30:07.535Z" }, + { url = "https://files.pythonhosted.org/packages/a0/b6/21529d595b126ac298fdd90b705d87d4c5693de60023e0efcb4f387ed99e/kiwisolver-1.4.8-cp313-cp313-win_arm64.whl", hash = "sha256:3cd3bc628b25f74aedc6d374d5babf0166a92ff1317f46267f12d2ed54bc1d30", size = 65430, upload-time = "2024-12-24T18:30:08.504Z" }, + { url = "https://files.pythonhosted.org/packages/34/bd/b89380b7298e3af9b39f49334e3e2a4af0e04819789f04b43d560516c0c8/kiwisolver-1.4.8-cp313-cp313t-macosx_10_13_universal2.whl", hash = "sha256:370fd2df41660ed4e26b8c9d6bbcad668fbe2560462cba151a721d49e5b6628c", size = 126294, upload-time = "2024-12-24T18:30:09.508Z" }, + { url = "https://files.pythonhosted.org/packages/83/41/5857dc72e5e4148eaac5aa76e0703e594e4465f8ab7ec0fc60e3a9bb8fea/kiwisolver-1.4.8-cp313-cp313t-macosx_10_13_x86_64.whl", hash = "sha256:84a2f830d42707de1d191b9490ac186bf7997a9495d4e9072210a1296345f7dc", size = 67736, upload-time = "2024-12-24T18:30:11.039Z" }, + { url = "https://files.pythonhosted.org/packages/e1/d1/be059b8db56ac270489fb0b3297fd1e53d195ba76e9bbb30e5401fa6b759/kiwisolver-1.4.8-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:7a3ad337add5148cf51ce0b55642dc551c0b9d6248458a757f98796ca7348712", size = 66194, upload-time = "2024-12-24T18:30:14.886Z" }, + { url = "https://files.pythonhosted.org/packages/e1/83/4b73975f149819eb7dcf9299ed467eba068ecb16439a98990dcb12e63fdd/kiwisolver-1.4.8-cp313-cp313t-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:7506488470f41169b86d8c9aeff587293f530a23a23a49d6bc64dab66bedc71e", size = 1465942, upload-time = "2024-12-24T18:30:18.927Z" }, + { url = "https://files.pythonhosted.org/packages/c7/2c/30a5cdde5102958e602c07466bce058b9d7cb48734aa7a4327261ac8e002/kiwisolver-1.4.8-cp313-cp313t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:2f0121b07b356a22fb0414cec4666bbe36fd6d0d759db3d37228f496ed67c880", size = 1595341, upload-time = "2024-12-24T18:30:22.102Z" }, + { url = "https://files.pythonhosted.org/packages/ff/9b/1e71db1c000385aa069704f5990574b8244cce854ecd83119c19e83c9586/kiwisolver-1.4.8-cp313-cp313t-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:d6d6bd87df62c27d4185de7c511c6248040afae67028a8a22012b010bc7ad062", size = 1598455, upload-time = "2024-12-24T18:30:24.947Z" }, + { url = "https://files.pythonhosted.org/packages/85/92/c8fec52ddf06231b31cbb779af77e99b8253cd96bd135250b9498144c78b/kiwisolver-1.4.8-cp313-cp313t-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:291331973c64bb9cce50bbe871fb2e675c4331dab4f31abe89f175ad7679a4d7", size = 1522138, upload-time = "2024-12-24T18:30:26.286Z" }, + { url = "https://files.pythonhosted.org/packages/0b/51/9eb7e2cd07a15d8bdd976f6190c0164f92ce1904e5c0c79198c4972926b7/kiwisolver-1.4.8-cp313-cp313t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:893f5525bb92d3d735878ec00f781b2de998333659507d29ea4466208df37bed", size = 1582857, upload-time = "2024-12-24T18:30:28.86Z" }, + { url = "https://files.pythonhosted.org/packages/0f/95/c5a00387a5405e68ba32cc64af65ce881a39b98d73cc394b24143bebc5b8/kiwisolver-1.4.8-cp313-cp313t-musllinux_1_2_aarch64.whl", hash = "sha256:b47a465040146981dc9db8647981b8cb96366fbc8d452b031e4f8fdffec3f26d", size = 2293129, upload-time = "2024-12-24T18:30:30.34Z" }, + { url = "https://files.pythonhosted.org/packages/44/83/eeb7af7d706b8347548313fa3a3a15931f404533cc54fe01f39e830dd231/kiwisolver-1.4.8-cp313-cp313t-musllinux_1_2_i686.whl", hash = "sha256:99cea8b9dd34ff80c521aef46a1dddb0dcc0283cf18bde6d756f1e6f31772165", size = 2421538, upload-time = "2024-12-24T18:30:33.334Z" }, + { url = "https://files.pythonhosted.org/packages/05/f9/27e94c1b3eb29e6933b6986ffc5fa1177d2cd1f0c8efc5f02c91c9ac61de/kiwisolver-1.4.8-cp313-cp313t-musllinux_1_2_ppc64le.whl", hash = "sha256:151dffc4865e5fe6dafce5480fab84f950d14566c480c08a53c663a0020504b6", size = 2390661, upload-time = "2024-12-24T18:30:34.939Z" }, + { url = "https://files.pythonhosted.org/packages/d9/d4/3c9735faa36ac591a4afcc2980d2691000506050b7a7e80bcfe44048daa7/kiwisolver-1.4.8-cp313-cp313t-musllinux_1_2_s390x.whl", hash = "sha256:577facaa411c10421314598b50413aa1ebcf5126f704f1e5d72d7e4e9f020d90", size = 2546710, upload-time = "2024-12-24T18:30:37.281Z" }, + { url = "https://files.pythonhosted.org/packages/4c/fa/be89a49c640930180657482a74970cdcf6f7072c8d2471e1babe17a222dc/kiwisolver-1.4.8-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:be4816dc51c8a471749d664161b434912eee82f2ea66bd7628bd14583a833e85", size = 2349213, upload-time = "2024-12-24T18:30:40.019Z" }, + { url = "https://files.pythonhosted.org/packages/1f/f9/ae81c47a43e33b93b0a9819cac6723257f5da2a5a60daf46aa5c7226ea85/kiwisolver-1.4.8-pp310-pypy310_pp73-macosx_10_15_x86_64.whl", hash = "sha256:e7a019419b7b510f0f7c9dceff8c5eae2392037eae483a7f9162625233802b0a", size = 60403, upload-time = "2024-12-24T18:30:41.372Z" }, + { url = "https://files.pythonhosted.org/packages/58/ca/f92b5cb6f4ce0c1ebfcfe3e2e42b96917e16f7090e45b21102941924f18f/kiwisolver-1.4.8-pp310-pypy310_pp73-macosx_11_0_arm64.whl", hash = "sha256:286b18e86682fd2217a48fc6be6b0f20c1d0ed10958d8dc53453ad58d7be0bf8", size = 58657, upload-time = "2024-12-24T18:30:42.392Z" }, + { url = "https://files.pythonhosted.org/packages/80/28/ae0240f732f0484d3a4dc885d055653c47144bdf59b670aae0ec3c65a7c8/kiwisolver-1.4.8-pp310-pypy310_pp73-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:4191ee8dfd0be1c3666ccbac178c5a05d5f8d689bbe3fc92f3c4abec817f8fe0", size = 84948, upload-time = "2024-12-24T18:30:44.703Z" }, + { url = "https://files.pythonhosted.org/packages/5d/eb/78d50346c51db22c7203c1611f9b513075f35c4e0e4877c5dde378d66043/kiwisolver-1.4.8-pp310-pypy310_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:7cd2785b9391f2873ad46088ed7599a6a71e762e1ea33e87514b1a441ed1da1c", size = 81186, upload-time = "2024-12-24T18:30:45.654Z" }, + { url = "https://files.pythonhosted.org/packages/43/f8/7259f18c77adca88d5f64f9a522792e178b2691f3748817a8750c2d216ef/kiwisolver-1.4.8-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:c07b29089b7ba090b6f1a669f1411f27221c3662b3a1b7010e67b59bb5a6f10b", size = 80279, upload-time = "2024-12-24T18:30:47.951Z" }, + { url = "https://files.pythonhosted.org/packages/3a/1d/50ad811d1c5dae091e4cf046beba925bcae0a610e79ae4c538f996f63ed5/kiwisolver-1.4.8-pp310-pypy310_pp73-win_amd64.whl", hash = "sha256:65ea09a5a3faadd59c2ce96dc7bf0f364986a315949dc6374f04396b0d60e09b", size = 71762, upload-time = "2024-12-24T18:30:48.903Z" }, ] [[package]] @@ -2158,9 +2158,9 @@ dependencies = [ { name = "importlib-metadata", version = "8.5.0", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.9'" }, { name = "importlib-metadata", version = "8.6.1", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version == '3.9.*'" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/54/28/3af612670f82f4c056911fbbbb42760255801b3068c48de792d354ff4472/markdown-3.7.tar.gz", hash = "sha256:2ae2471477cfd02dbbf038d5d9bc226d40def84b4fe2986e49b59b6b472bbed2", size = 357086 } +sdist = { url = "https://files.pythonhosted.org/packages/54/28/3af612670f82f4c056911fbbbb42760255801b3068c48de792d354ff4472/markdown-3.7.tar.gz", hash = "sha256:2ae2471477cfd02dbbf038d5d9bc226d40def84b4fe2986e49b59b6b472bbed2", size = 357086, upload-time = "2024-08-16T15:55:17.812Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/3f/08/83871f3c50fc983b88547c196d11cf8c3340e37c32d2e9d6152abe2c61f7/Markdown-3.7-py3-none-any.whl", hash = "sha256:7eb6df5690b81a1d7942992c97fad2938e956e79df20cbc6186e9c3a77b1c803", size = 106349 }, + { url = "https://files.pythonhosted.org/packages/3f/08/83871f3c50fc983b88547c196d11cf8c3340e37c32d2e9d6152abe2c61f7/Markdown-3.7-py3-none-any.whl", hash = "sha256:7eb6df5690b81a1d7942992c97fad2938e956e79df20cbc6186e9c3a77b1c803", size = 106349, upload-time = "2024-08-16T15:55:16.176Z" }, ] [[package]] @@ -2170,9 +2170,9 @@ source = { registry = "https://pypi.org/simple" } dependencies = [ { name = "mdurl" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/38/71/3b932df36c1a044d397a1f92d1cf91ee0a503d91e470cbd670aa66b07ed0/markdown-it-py-3.0.0.tar.gz", hash = "sha256:e3f60a94fa066dc52ec76661e37c851cb232d92f9886b15cb560aaada2df8feb", size = 74596 } +sdist = { url = "https://files.pythonhosted.org/packages/38/71/3b932df36c1a044d397a1f92d1cf91ee0a503d91e470cbd670aa66b07ed0/markdown-it-py-3.0.0.tar.gz", hash = "sha256:e3f60a94fa066dc52ec76661e37c851cb232d92f9886b15cb560aaada2df8feb", size = 74596, upload-time = "2023-06-03T06:41:14.443Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/42/d7/1ec15b46af6af88f19b8e5ffea08fa375d433c998b8a7639e76935c14f1f/markdown_it_py-3.0.0-py3-none-any.whl", hash = "sha256:355216845c60bd96232cd8d8c40e8f9765cc86f46880e43a8fd22dc1a1a8cab1", size = 87528 }, + { url = "https://files.pythonhosted.org/packages/42/d7/1ec15b46af6af88f19b8e5ffea08fa375d433c998b8a7639e76935c14f1f/markdown_it_py-3.0.0-py3-none-any.whl", hash = "sha256:355216845c60bd96232cd8d8c40e8f9765cc86f46880e43a8fd22dc1a1a8cab1", size = 87528, upload-time = "2023-06-03T06:41:11.019Z" }, ] [[package]] @@ -2184,58 +2184,58 @@ resolution-markers = [ "python_full_version < '3.9' and platform_machine == 'aarch64' and sys_platform == 'linux'", "(python_full_version < '3.9' and platform_machine != 'arm64' and sys_platform == 'darwin') or (python_full_version < '3.9' and platform_machine != 'aarch64' and sys_platform == 'linux') or (python_full_version < '3.9' and sys_platform != 'darwin' and sys_platform != 'linux')", ] -sdist = { url = "https://files.pythonhosted.org/packages/87/5b/aae44c6655f3801e81aa3eef09dbbf012431987ba564d7231722f68df02d/MarkupSafe-2.1.5.tar.gz", hash = "sha256:d283d37a890ba4c1ae73ffadf8046435c76e7bc2247bbb63c00bd1a709c6544b", size = 19384 } -wheels = [ - { url = "https://files.pythonhosted.org/packages/e4/54/ad5eb37bf9d51800010a74e4665425831a9db4e7c4e0fde4352e391e808e/MarkupSafe-2.1.5-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:a17a92de5231666cfbe003f0e4b9b3a7ae3afb1ec2845aadc2bacc93ff85febc", size = 18206 }, - { url = "https://files.pythonhosted.org/packages/6a/4a/a4d49415e600bacae038c67f9fecc1d5433b9d3c71a4de6f33537b89654c/MarkupSafe-2.1.5-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:72b6be590cc35924b02c78ef34b467da4ba07e4e0f0454a2c5907f473fc50ce5", size = 14079 }, - { url = "https://files.pythonhosted.org/packages/0a/7b/85681ae3c33c385b10ac0f8dd025c30af83c78cec1c37a6aa3b55e67f5ec/MarkupSafe-2.1.5-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:e61659ba32cf2cf1481e575d0462554625196a1f2fc06a1c777d3f48e8865d46", size = 26620 }, - { url = "https://files.pythonhosted.org/packages/7c/52/2b1b570f6b8b803cef5ac28fdf78c0da318916c7d2fe9402a84d591b394c/MarkupSafe-2.1.5-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:2174c595a0d73a3080ca3257b40096db99799265e1c27cc5a610743acd86d62f", size = 25818 }, - { url = "https://files.pythonhosted.org/packages/29/fe/a36ba8c7ca55621620b2d7c585313efd10729e63ef81e4e61f52330da781/MarkupSafe-2.1.5-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:ae2ad8ae6ebee9d2d94b17fb62763125f3f374c25618198f40cbb8b525411900", size = 25493 }, - { url = "https://files.pythonhosted.org/packages/60/ae/9c60231cdfda003434e8bd27282b1f4e197ad5a710c14bee8bea8a9ca4f0/MarkupSafe-2.1.5-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:075202fa5b72c86ad32dc7d0b56024ebdbcf2048c0ba09f1cde31bfdd57bcfff", size = 30630 }, - { url = "https://files.pythonhosted.org/packages/65/dc/1510be4d179869f5dafe071aecb3f1f41b45d37c02329dfba01ff59e5ac5/MarkupSafe-2.1.5-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:598e3276b64aff0e7b3451b72e94fa3c238d452e7ddcd893c3ab324717456bad", size = 29745 }, - { url = "https://files.pythonhosted.org/packages/30/39/8d845dd7d0b0613d86e0ef89549bfb5f61ed781f59af45fc96496e897f3a/MarkupSafe-2.1.5-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:fce659a462a1be54d2ffcacea5e3ba2d74daa74f30f5f143fe0c58636e355fdd", size = 30021 }, - { url = "https://files.pythonhosted.org/packages/c7/5c/356a6f62e4f3c5fbf2602b4771376af22a3b16efa74eb8716fb4e328e01e/MarkupSafe-2.1.5-cp310-cp310-win32.whl", hash = "sha256:d9fad5155d72433c921b782e58892377c44bd6252b5af2f67f16b194987338a4", size = 16659 }, - { url = "https://files.pythonhosted.org/packages/69/48/acbf292615c65f0604a0c6fc402ce6d8c991276e16c80c46a8f758fbd30c/MarkupSafe-2.1.5-cp310-cp310-win_amd64.whl", hash = "sha256:bf50cd79a75d181c9181df03572cdce0fbb75cc353bc350712073108cba98de5", size = 17213 }, - { url = "https://files.pythonhosted.org/packages/11/e7/291e55127bb2ae67c64d66cef01432b5933859dfb7d6949daa721b89d0b3/MarkupSafe-2.1.5-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:629ddd2ca402ae6dbedfceeba9c46d5f7b2a61d9749597d4307f943ef198fc1f", size = 18219 }, - { url = "https://files.pythonhosted.org/packages/6b/cb/aed7a284c00dfa7c0682d14df85ad4955a350a21d2e3b06d8240497359bf/MarkupSafe-2.1.5-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:5b7b716f97b52c5a14bffdf688f971b2d5ef4029127f1ad7a513973cfd818df2", size = 14098 }, - { url = "https://files.pythonhosted.org/packages/1c/cf/35fe557e53709e93feb65575c93927942087e9b97213eabc3fe9d5b25a55/MarkupSafe-2.1.5-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:6ec585f69cec0aa07d945b20805be741395e28ac1627333b1c5b0105962ffced", size = 29014 }, - { url = "https://files.pythonhosted.org/packages/97/18/c30da5e7a0e7f4603abfc6780574131221d9148f323752c2755d48abad30/MarkupSafe-2.1.5-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:b91c037585eba9095565a3556f611e3cbfaa42ca1e865f7b8015fe5c7336d5a5", size = 28220 }, - { url = "https://files.pythonhosted.org/packages/0c/40/2e73e7d532d030b1e41180807a80d564eda53babaf04d65e15c1cf897e40/MarkupSafe-2.1.5-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:7502934a33b54030eaf1194c21c692a534196063db72176b0c4028e140f8f32c", size = 27756 }, - { url = "https://files.pythonhosted.org/packages/18/46/5dca760547e8c59c5311b332f70605d24c99d1303dd9a6e1fc3ed0d73561/MarkupSafe-2.1.5-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:0e397ac966fdf721b2c528cf028494e86172b4feba51d65f81ffd65c63798f3f", size = 33988 }, - { url = "https://files.pythonhosted.org/packages/6d/c5/27febe918ac36397919cd4a67d5579cbbfa8da027fa1238af6285bb368ea/MarkupSafe-2.1.5-cp311-cp311-musllinux_1_1_i686.whl", hash = "sha256:c061bb86a71b42465156a3ee7bd58c8c2ceacdbeb95d05a99893e08b8467359a", size = 32718 }, - { url = "https://files.pythonhosted.org/packages/f8/81/56e567126a2c2bc2684d6391332e357589a96a76cb9f8e5052d85cb0ead8/MarkupSafe-2.1.5-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:3a57fdd7ce31c7ff06cdfbf31dafa96cc533c21e443d57f5b1ecc6cdc668ec7f", size = 33317 }, - { url = "https://files.pythonhosted.org/packages/00/0b/23f4b2470accb53285c613a3ab9ec19dc944eaf53592cb6d9e2af8aa24cc/MarkupSafe-2.1.5-cp311-cp311-win32.whl", hash = "sha256:397081c1a0bfb5124355710fe79478cdbeb39626492b15d399526ae53422b906", size = 16670 }, - { url = "https://files.pythonhosted.org/packages/b7/a2/c78a06a9ec6d04b3445a949615c4c7ed86a0b2eb68e44e7541b9d57067cc/MarkupSafe-2.1.5-cp311-cp311-win_amd64.whl", hash = "sha256:2b7c57a4dfc4f16f7142221afe5ba4e093e09e728ca65c51f5620c9aaeb9a617", size = 17224 }, - { url = "https://files.pythonhosted.org/packages/53/bd/583bf3e4c8d6a321938c13f49d44024dbe5ed63e0a7ba127e454a66da974/MarkupSafe-2.1.5-cp312-cp312-macosx_10_9_universal2.whl", hash = "sha256:8dec4936e9c3100156f8a2dc89c4b88d5c435175ff03413b443469c7c8c5f4d1", size = 18215 }, - { url = "https://files.pythonhosted.org/packages/48/d6/e7cd795fc710292c3af3a06d80868ce4b02bfbbf370b7cee11d282815a2a/MarkupSafe-2.1.5-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:3c6b973f22eb18a789b1460b4b91bf04ae3f0c4234a0a6aa6b0a92f6f7b951d4", size = 14069 }, - { url = "https://files.pythonhosted.org/packages/51/b5/5d8ec796e2a08fc814a2c7d2584b55f889a55cf17dd1a90f2beb70744e5c/MarkupSafe-2.1.5-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:ac07bad82163452a6884fe8fa0963fb98c2346ba78d779ec06bd7a6262132aee", size = 29452 }, - { url = "https://files.pythonhosted.org/packages/0a/0d/2454f072fae3b5a137c119abf15465d1771319dfe9e4acbb31722a0fff91/MarkupSafe-2.1.5-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f5dfb42c4604dddc8e4305050aa6deb084540643ed5804d7455b5df8fe16f5e5", size = 28462 }, - { url = "https://files.pythonhosted.org/packages/2d/75/fd6cb2e68780f72d47e6671840ca517bda5ef663d30ada7616b0462ad1e3/MarkupSafe-2.1.5-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:ea3d8a3d18833cf4304cd2fc9cbb1efe188ca9b5efef2bdac7adc20594a0e46b", size = 27869 }, - { url = "https://files.pythonhosted.org/packages/b0/81/147c477391c2750e8fc7705829f7351cf1cd3be64406edcf900dc633feb2/MarkupSafe-2.1.5-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:d050b3361367a06d752db6ead6e7edeb0009be66bc3bae0ee9d97fb326badc2a", size = 33906 }, - { url = "https://files.pythonhosted.org/packages/8b/ff/9a52b71839d7a256b563e85d11050e307121000dcebc97df120176b3ad93/MarkupSafe-2.1.5-cp312-cp312-musllinux_1_1_i686.whl", hash = "sha256:bec0a414d016ac1a18862a519e54b2fd0fc8bbfd6890376898a6c0891dd82e9f", size = 32296 }, - { url = "https://files.pythonhosted.org/packages/88/07/2dc76aa51b481eb96a4c3198894f38b480490e834479611a4053fbf08623/MarkupSafe-2.1.5-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:58c98fee265677f63a4385256a6d7683ab1832f3ddd1e66fe948d5880c21a169", size = 33038 }, - { url = "https://files.pythonhosted.org/packages/96/0c/620c1fb3661858c0e37eb3cbffd8c6f732a67cd97296f725789679801b31/MarkupSafe-2.1.5-cp312-cp312-win32.whl", hash = "sha256:8590b4ae07a35970728874632fed7bd57b26b0102df2d2b233b6d9d82f6c62ad", size = 16572 }, - { url = "https://files.pythonhosted.org/packages/3f/14/c3554d512d5f9100a95e737502f4a2323a1959f6d0d01e0d0997b35f7b10/MarkupSafe-2.1.5-cp312-cp312-win_amd64.whl", hash = "sha256:823b65d8706e32ad2df51ed89496147a42a2a6e01c13cfb6ffb8b1e92bc910bb", size = 17127 }, - { url = "https://files.pythonhosted.org/packages/f8/ff/2c942a82c35a49df5de3a630ce0a8456ac2969691b230e530ac12314364c/MarkupSafe-2.1.5-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:656f7526c69fac7f600bd1f400991cc282b417d17539a1b228617081106feb4a", size = 18192 }, - { url = "https://files.pythonhosted.org/packages/4f/14/6f294b9c4f969d0c801a4615e221c1e084722ea6114ab2114189c5b8cbe0/MarkupSafe-2.1.5-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:97cafb1f3cbcd3fd2b6fbfb99ae11cdb14deea0736fc2b0952ee177f2b813a46", size = 14072 }, - { url = "https://files.pythonhosted.org/packages/81/d4/fd74714ed30a1dedd0b82427c02fa4deec64f173831ec716da11c51a50aa/MarkupSafe-2.1.5-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:1f3fbcb7ef1f16e48246f704ab79d79da8a46891e2da03f8783a5b6fa41a9532", size = 26928 }, - { url = "https://files.pythonhosted.org/packages/c7/bd/50319665ce81bb10e90d1cf76f9e1aa269ea6f7fa30ab4521f14d122a3df/MarkupSafe-2.1.5-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:fa9db3f79de01457b03d4f01b34cf91bc0048eb2c3846ff26f66687c2f6d16ab", size = 26106 }, - { url = "https://files.pythonhosted.org/packages/4c/6f/f2b0f675635b05f6afd5ea03c094557bdb8622fa8e673387444fe8d8e787/MarkupSafe-2.1.5-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:ffee1f21e5ef0d712f9033568f8344d5da8cc2869dbd08d87c84656e6a2d2f68", size = 25781 }, - { url = "https://files.pythonhosted.org/packages/51/e0/393467cf899b34a9d3678e78961c2c8cdf49fb902a959ba54ece01273fb1/MarkupSafe-2.1.5-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:5dedb4db619ba5a2787a94d877bc8ffc0566f92a01c0ef214865e54ecc9ee5e0", size = 30518 }, - { url = "https://files.pythonhosted.org/packages/f6/02/5437e2ad33047290dafced9df741d9efc3e716b75583bbd73a9984f1b6f7/MarkupSafe-2.1.5-cp38-cp38-musllinux_1_1_i686.whl", hash = "sha256:30b600cf0a7ac9234b2638fbc0fb6158ba5bdcdf46aeb631ead21248b9affbc4", size = 29669 }, - { url = "https://files.pythonhosted.org/packages/0e/7d/968284145ffd9d726183ed6237c77938c021abacde4e073020f920e060b2/MarkupSafe-2.1.5-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:8dd717634f5a044f860435c1d8c16a270ddf0ef8588d4887037c5028b859b0c3", size = 29933 }, - { url = "https://files.pythonhosted.org/packages/bf/f3/ecb00fc8ab02b7beae8699f34db9357ae49d9f21d4d3de6f305f34fa949e/MarkupSafe-2.1.5-cp38-cp38-win32.whl", hash = "sha256:daa4ee5a243f0f20d528d939d06670a298dd39b1ad5f8a72a4275124a7819eff", size = 16656 }, - { url = "https://files.pythonhosted.org/packages/92/21/357205f03514a49b293e214ac39de01fadd0970a6e05e4bf1ddd0ffd0881/MarkupSafe-2.1.5-cp38-cp38-win_amd64.whl", hash = "sha256:619bc166c4f2de5caa5a633b8b7326fbe98e0ccbfacabd87268a2b15ff73a029", size = 17206 }, - { url = "https://files.pythonhosted.org/packages/0f/31/780bb297db036ba7b7bbede5e1d7f1e14d704ad4beb3ce53fb495d22bc62/MarkupSafe-2.1.5-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:7a68b554d356a91cce1236aa7682dc01df0edba8d043fd1ce607c49dd3c1edcf", size = 18193 }, - { url = "https://files.pythonhosted.org/packages/6c/77/d77701bbef72892affe060cdacb7a2ed7fd68dae3b477a8642f15ad3b132/MarkupSafe-2.1.5-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:db0b55e0f3cc0be60c1f19efdde9a637c32740486004f20d1cff53c3c0ece4d2", size = 14073 }, - { url = "https://files.pythonhosted.org/packages/d9/a7/1e558b4f78454c8a3a0199292d96159eb4d091f983bc35ef258314fe7269/MarkupSafe-2.1.5-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:3e53af139f8579a6d5f7b76549125f0d94d7e630761a2111bc431fd820e163b8", size = 26486 }, - { url = "https://files.pythonhosted.org/packages/5f/5a/360da85076688755ea0cceb92472923086993e86b5613bbae9fbc14136b0/MarkupSafe-2.1.5-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:17b950fccb810b3293638215058e432159d2b71005c74371d784862b7e4683f3", size = 25685 }, - { url = "https://files.pythonhosted.org/packages/6a/18/ae5a258e3401f9b8312f92b028c54d7026a97ec3ab20bfaddbdfa7d8cce8/MarkupSafe-2.1.5-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:4c31f53cdae6ecfa91a77820e8b151dba54ab528ba65dfd235c80b086d68a465", size = 25338 }, - { url = "https://files.pythonhosted.org/packages/0b/cc/48206bd61c5b9d0129f4d75243b156929b04c94c09041321456fd06a876d/MarkupSafe-2.1.5-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:bff1b4290a66b490a2f4719358c0cdcd9bafb6b8f061e45c7a2460866bf50c2e", size = 30439 }, - { url = "https://files.pythonhosted.org/packages/d1/06/a41c112ab9ffdeeb5f77bc3e331fdadf97fa65e52e44ba31880f4e7f983c/MarkupSafe-2.1.5-cp39-cp39-musllinux_1_1_i686.whl", hash = "sha256:bc1667f8b83f48511b94671e0e441401371dfd0f0a795c7daa4a3cd1dde55bea", size = 29531 }, - { url = "https://files.pythonhosted.org/packages/02/8c/ab9a463301a50dab04d5472e998acbd4080597abc048166ded5c7aa768c8/MarkupSafe-2.1.5-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:5049256f536511ee3f7e1b3f87d1d1209d327e818e6ae1365e8653d7e3abb6a6", size = 29823 }, - { url = "https://files.pythonhosted.org/packages/bc/29/9bc18da763496b055d8e98ce476c8e718dcfd78157e17f555ce6dd7d0895/MarkupSafe-2.1.5-cp39-cp39-win32.whl", hash = "sha256:00e046b6dd71aa03a41079792f8473dc494d564611a8f89bbbd7cb93295ebdcf", size = 16658 }, - { url = "https://files.pythonhosted.org/packages/f6/f8/4da07de16f10551ca1f640c92b5f316f9394088b183c6a57183df6de5ae4/MarkupSafe-2.1.5-cp39-cp39-win_amd64.whl", hash = "sha256:fa173ec60341d6bb97a89f5ea19c85c5643c1e7dedebc22f5181eb73573142c5", size = 17211 }, +sdist = { url = "https://files.pythonhosted.org/packages/87/5b/aae44c6655f3801e81aa3eef09dbbf012431987ba564d7231722f68df02d/MarkupSafe-2.1.5.tar.gz", hash = "sha256:d283d37a890ba4c1ae73ffadf8046435c76e7bc2247bbb63c00bd1a709c6544b", size = 19384, upload-time = "2024-02-02T16:31:22.863Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/e4/54/ad5eb37bf9d51800010a74e4665425831a9db4e7c4e0fde4352e391e808e/MarkupSafe-2.1.5-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:a17a92de5231666cfbe003f0e4b9b3a7ae3afb1ec2845aadc2bacc93ff85febc", size = 18206, upload-time = "2024-02-02T16:30:04.105Z" }, + { url = "https://files.pythonhosted.org/packages/6a/4a/a4d49415e600bacae038c67f9fecc1d5433b9d3c71a4de6f33537b89654c/MarkupSafe-2.1.5-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:72b6be590cc35924b02c78ef34b467da4ba07e4e0f0454a2c5907f473fc50ce5", size = 14079, upload-time = "2024-02-02T16:30:06.5Z" }, + { url = "https://files.pythonhosted.org/packages/0a/7b/85681ae3c33c385b10ac0f8dd025c30af83c78cec1c37a6aa3b55e67f5ec/MarkupSafe-2.1.5-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:e61659ba32cf2cf1481e575d0462554625196a1f2fc06a1c777d3f48e8865d46", size = 26620, upload-time = "2024-02-02T16:30:08.31Z" }, + { url = "https://files.pythonhosted.org/packages/7c/52/2b1b570f6b8b803cef5ac28fdf78c0da318916c7d2fe9402a84d591b394c/MarkupSafe-2.1.5-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:2174c595a0d73a3080ca3257b40096db99799265e1c27cc5a610743acd86d62f", size = 25818, upload-time = "2024-02-02T16:30:09.577Z" }, + { url = "https://files.pythonhosted.org/packages/29/fe/a36ba8c7ca55621620b2d7c585313efd10729e63ef81e4e61f52330da781/MarkupSafe-2.1.5-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:ae2ad8ae6ebee9d2d94b17fb62763125f3f374c25618198f40cbb8b525411900", size = 25493, upload-time = "2024-02-02T16:30:11.488Z" }, + { url = "https://files.pythonhosted.org/packages/60/ae/9c60231cdfda003434e8bd27282b1f4e197ad5a710c14bee8bea8a9ca4f0/MarkupSafe-2.1.5-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:075202fa5b72c86ad32dc7d0b56024ebdbcf2048c0ba09f1cde31bfdd57bcfff", size = 30630, upload-time = "2024-02-02T16:30:13.144Z" }, + { url = "https://files.pythonhosted.org/packages/65/dc/1510be4d179869f5dafe071aecb3f1f41b45d37c02329dfba01ff59e5ac5/MarkupSafe-2.1.5-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:598e3276b64aff0e7b3451b72e94fa3c238d452e7ddcd893c3ab324717456bad", size = 29745, upload-time = "2024-02-02T16:30:14.222Z" }, + { url = "https://files.pythonhosted.org/packages/30/39/8d845dd7d0b0613d86e0ef89549bfb5f61ed781f59af45fc96496e897f3a/MarkupSafe-2.1.5-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:fce659a462a1be54d2ffcacea5e3ba2d74daa74f30f5f143fe0c58636e355fdd", size = 30021, upload-time = "2024-02-02T16:30:16.032Z" }, + { url = "https://files.pythonhosted.org/packages/c7/5c/356a6f62e4f3c5fbf2602b4771376af22a3b16efa74eb8716fb4e328e01e/MarkupSafe-2.1.5-cp310-cp310-win32.whl", hash = "sha256:d9fad5155d72433c921b782e58892377c44bd6252b5af2f67f16b194987338a4", size = 16659, upload-time = "2024-02-02T16:30:17.079Z" }, + { url = "https://files.pythonhosted.org/packages/69/48/acbf292615c65f0604a0c6fc402ce6d8c991276e16c80c46a8f758fbd30c/MarkupSafe-2.1.5-cp310-cp310-win_amd64.whl", hash = "sha256:bf50cd79a75d181c9181df03572cdce0fbb75cc353bc350712073108cba98de5", size = 17213, upload-time = "2024-02-02T16:30:18.251Z" }, + { url = "https://files.pythonhosted.org/packages/11/e7/291e55127bb2ae67c64d66cef01432b5933859dfb7d6949daa721b89d0b3/MarkupSafe-2.1.5-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:629ddd2ca402ae6dbedfceeba9c46d5f7b2a61d9749597d4307f943ef198fc1f", size = 18219, upload-time = "2024-02-02T16:30:19.988Z" }, + { url = "https://files.pythonhosted.org/packages/6b/cb/aed7a284c00dfa7c0682d14df85ad4955a350a21d2e3b06d8240497359bf/MarkupSafe-2.1.5-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:5b7b716f97b52c5a14bffdf688f971b2d5ef4029127f1ad7a513973cfd818df2", size = 14098, upload-time = "2024-02-02T16:30:21.063Z" }, + { url = "https://files.pythonhosted.org/packages/1c/cf/35fe557e53709e93feb65575c93927942087e9b97213eabc3fe9d5b25a55/MarkupSafe-2.1.5-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:6ec585f69cec0aa07d945b20805be741395e28ac1627333b1c5b0105962ffced", size = 29014, upload-time = "2024-02-02T16:30:22.926Z" }, + { url = "https://files.pythonhosted.org/packages/97/18/c30da5e7a0e7f4603abfc6780574131221d9148f323752c2755d48abad30/MarkupSafe-2.1.5-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:b91c037585eba9095565a3556f611e3cbfaa42ca1e865f7b8015fe5c7336d5a5", size = 28220, upload-time = "2024-02-02T16:30:24.76Z" }, + { url = "https://files.pythonhosted.org/packages/0c/40/2e73e7d532d030b1e41180807a80d564eda53babaf04d65e15c1cf897e40/MarkupSafe-2.1.5-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:7502934a33b54030eaf1194c21c692a534196063db72176b0c4028e140f8f32c", size = 27756, upload-time = "2024-02-02T16:30:25.877Z" }, + { url = "https://files.pythonhosted.org/packages/18/46/5dca760547e8c59c5311b332f70605d24c99d1303dd9a6e1fc3ed0d73561/MarkupSafe-2.1.5-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:0e397ac966fdf721b2c528cf028494e86172b4feba51d65f81ffd65c63798f3f", size = 33988, upload-time = "2024-02-02T16:30:26.935Z" }, + { url = "https://files.pythonhosted.org/packages/6d/c5/27febe918ac36397919cd4a67d5579cbbfa8da027fa1238af6285bb368ea/MarkupSafe-2.1.5-cp311-cp311-musllinux_1_1_i686.whl", hash = "sha256:c061bb86a71b42465156a3ee7bd58c8c2ceacdbeb95d05a99893e08b8467359a", size = 32718, upload-time = "2024-02-02T16:30:28.111Z" }, + { url = "https://files.pythonhosted.org/packages/f8/81/56e567126a2c2bc2684d6391332e357589a96a76cb9f8e5052d85cb0ead8/MarkupSafe-2.1.5-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:3a57fdd7ce31c7ff06cdfbf31dafa96cc533c21e443d57f5b1ecc6cdc668ec7f", size = 33317, upload-time = "2024-02-02T16:30:29.214Z" }, + { url = "https://files.pythonhosted.org/packages/00/0b/23f4b2470accb53285c613a3ab9ec19dc944eaf53592cb6d9e2af8aa24cc/MarkupSafe-2.1.5-cp311-cp311-win32.whl", hash = "sha256:397081c1a0bfb5124355710fe79478cdbeb39626492b15d399526ae53422b906", size = 16670, upload-time = "2024-02-02T16:30:30.915Z" }, + { url = "https://files.pythonhosted.org/packages/b7/a2/c78a06a9ec6d04b3445a949615c4c7ed86a0b2eb68e44e7541b9d57067cc/MarkupSafe-2.1.5-cp311-cp311-win_amd64.whl", hash = "sha256:2b7c57a4dfc4f16f7142221afe5ba4e093e09e728ca65c51f5620c9aaeb9a617", size = 17224, upload-time = "2024-02-02T16:30:32.09Z" }, + { url = "https://files.pythonhosted.org/packages/53/bd/583bf3e4c8d6a321938c13f49d44024dbe5ed63e0a7ba127e454a66da974/MarkupSafe-2.1.5-cp312-cp312-macosx_10_9_universal2.whl", hash = "sha256:8dec4936e9c3100156f8a2dc89c4b88d5c435175ff03413b443469c7c8c5f4d1", size = 18215, upload-time = "2024-02-02T16:30:33.081Z" }, + { url = "https://files.pythonhosted.org/packages/48/d6/e7cd795fc710292c3af3a06d80868ce4b02bfbbf370b7cee11d282815a2a/MarkupSafe-2.1.5-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:3c6b973f22eb18a789b1460b4b91bf04ae3f0c4234a0a6aa6b0a92f6f7b951d4", size = 14069, upload-time = "2024-02-02T16:30:34.148Z" }, + { url = "https://files.pythonhosted.org/packages/51/b5/5d8ec796e2a08fc814a2c7d2584b55f889a55cf17dd1a90f2beb70744e5c/MarkupSafe-2.1.5-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:ac07bad82163452a6884fe8fa0963fb98c2346ba78d779ec06bd7a6262132aee", size = 29452, upload-time = "2024-02-02T16:30:35.149Z" }, + { url = "https://files.pythonhosted.org/packages/0a/0d/2454f072fae3b5a137c119abf15465d1771319dfe9e4acbb31722a0fff91/MarkupSafe-2.1.5-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f5dfb42c4604dddc8e4305050aa6deb084540643ed5804d7455b5df8fe16f5e5", size = 28462, upload-time = "2024-02-02T16:30:36.166Z" }, + { url = "https://files.pythonhosted.org/packages/2d/75/fd6cb2e68780f72d47e6671840ca517bda5ef663d30ada7616b0462ad1e3/MarkupSafe-2.1.5-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:ea3d8a3d18833cf4304cd2fc9cbb1efe188ca9b5efef2bdac7adc20594a0e46b", size = 27869, upload-time = "2024-02-02T16:30:37.834Z" }, + { url = "https://files.pythonhosted.org/packages/b0/81/147c477391c2750e8fc7705829f7351cf1cd3be64406edcf900dc633feb2/MarkupSafe-2.1.5-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:d050b3361367a06d752db6ead6e7edeb0009be66bc3bae0ee9d97fb326badc2a", size = 33906, upload-time = "2024-02-02T16:30:39.366Z" }, + { url = "https://files.pythonhosted.org/packages/8b/ff/9a52b71839d7a256b563e85d11050e307121000dcebc97df120176b3ad93/MarkupSafe-2.1.5-cp312-cp312-musllinux_1_1_i686.whl", hash = "sha256:bec0a414d016ac1a18862a519e54b2fd0fc8bbfd6890376898a6c0891dd82e9f", size = 32296, upload-time = "2024-02-02T16:30:40.413Z" }, + { url = "https://files.pythonhosted.org/packages/88/07/2dc76aa51b481eb96a4c3198894f38b480490e834479611a4053fbf08623/MarkupSafe-2.1.5-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:58c98fee265677f63a4385256a6d7683ab1832f3ddd1e66fe948d5880c21a169", size = 33038, upload-time = "2024-02-02T16:30:42.243Z" }, + { url = "https://files.pythonhosted.org/packages/96/0c/620c1fb3661858c0e37eb3cbffd8c6f732a67cd97296f725789679801b31/MarkupSafe-2.1.5-cp312-cp312-win32.whl", hash = "sha256:8590b4ae07a35970728874632fed7bd57b26b0102df2d2b233b6d9d82f6c62ad", size = 16572, upload-time = "2024-02-02T16:30:43.326Z" }, + { url = "https://files.pythonhosted.org/packages/3f/14/c3554d512d5f9100a95e737502f4a2323a1959f6d0d01e0d0997b35f7b10/MarkupSafe-2.1.5-cp312-cp312-win_amd64.whl", hash = "sha256:823b65d8706e32ad2df51ed89496147a42a2a6e01c13cfb6ffb8b1e92bc910bb", size = 17127, upload-time = "2024-02-02T16:30:44.418Z" }, + { url = "https://files.pythonhosted.org/packages/f8/ff/2c942a82c35a49df5de3a630ce0a8456ac2969691b230e530ac12314364c/MarkupSafe-2.1.5-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:656f7526c69fac7f600bd1f400991cc282b417d17539a1b228617081106feb4a", size = 18192, upload-time = "2024-02-02T16:30:57.715Z" }, + { url = "https://files.pythonhosted.org/packages/4f/14/6f294b9c4f969d0c801a4615e221c1e084722ea6114ab2114189c5b8cbe0/MarkupSafe-2.1.5-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:97cafb1f3cbcd3fd2b6fbfb99ae11cdb14deea0736fc2b0952ee177f2b813a46", size = 14072, upload-time = "2024-02-02T16:30:58.844Z" }, + { url = "https://files.pythonhosted.org/packages/81/d4/fd74714ed30a1dedd0b82427c02fa4deec64f173831ec716da11c51a50aa/MarkupSafe-2.1.5-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:1f3fbcb7ef1f16e48246f704ab79d79da8a46891e2da03f8783a5b6fa41a9532", size = 26928, upload-time = "2024-02-02T16:30:59.922Z" }, + { url = "https://files.pythonhosted.org/packages/c7/bd/50319665ce81bb10e90d1cf76f9e1aa269ea6f7fa30ab4521f14d122a3df/MarkupSafe-2.1.5-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:fa9db3f79de01457b03d4f01b34cf91bc0048eb2c3846ff26f66687c2f6d16ab", size = 26106, upload-time = "2024-02-02T16:31:01.582Z" }, + { url = "https://files.pythonhosted.org/packages/4c/6f/f2b0f675635b05f6afd5ea03c094557bdb8622fa8e673387444fe8d8e787/MarkupSafe-2.1.5-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:ffee1f21e5ef0d712f9033568f8344d5da8cc2869dbd08d87c84656e6a2d2f68", size = 25781, upload-time = "2024-02-02T16:31:02.71Z" }, + { url = "https://files.pythonhosted.org/packages/51/e0/393467cf899b34a9d3678e78961c2c8cdf49fb902a959ba54ece01273fb1/MarkupSafe-2.1.5-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:5dedb4db619ba5a2787a94d877bc8ffc0566f92a01c0ef214865e54ecc9ee5e0", size = 30518, upload-time = "2024-02-02T16:31:04.392Z" }, + { url = "https://files.pythonhosted.org/packages/f6/02/5437e2ad33047290dafced9df741d9efc3e716b75583bbd73a9984f1b6f7/MarkupSafe-2.1.5-cp38-cp38-musllinux_1_1_i686.whl", hash = "sha256:30b600cf0a7ac9234b2638fbc0fb6158ba5bdcdf46aeb631ead21248b9affbc4", size = 29669, upload-time = "2024-02-02T16:31:05.53Z" }, + { url = "https://files.pythonhosted.org/packages/0e/7d/968284145ffd9d726183ed6237c77938c021abacde4e073020f920e060b2/MarkupSafe-2.1.5-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:8dd717634f5a044f860435c1d8c16a270ddf0ef8588d4887037c5028b859b0c3", size = 29933, upload-time = "2024-02-02T16:31:06.636Z" }, + { url = "https://files.pythonhosted.org/packages/bf/f3/ecb00fc8ab02b7beae8699f34db9357ae49d9f21d4d3de6f305f34fa949e/MarkupSafe-2.1.5-cp38-cp38-win32.whl", hash = "sha256:daa4ee5a243f0f20d528d939d06670a298dd39b1ad5f8a72a4275124a7819eff", size = 16656, upload-time = "2024-02-02T16:31:07.767Z" }, + { url = "https://files.pythonhosted.org/packages/92/21/357205f03514a49b293e214ac39de01fadd0970a6e05e4bf1ddd0ffd0881/MarkupSafe-2.1.5-cp38-cp38-win_amd64.whl", hash = "sha256:619bc166c4f2de5caa5a633b8b7326fbe98e0ccbfacabd87268a2b15ff73a029", size = 17206, upload-time = "2024-02-02T16:31:08.843Z" }, + { url = "https://files.pythonhosted.org/packages/0f/31/780bb297db036ba7b7bbede5e1d7f1e14d704ad4beb3ce53fb495d22bc62/MarkupSafe-2.1.5-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:7a68b554d356a91cce1236aa7682dc01df0edba8d043fd1ce607c49dd3c1edcf", size = 18193, upload-time = "2024-02-02T16:31:10.155Z" }, + { url = "https://files.pythonhosted.org/packages/6c/77/d77701bbef72892affe060cdacb7a2ed7fd68dae3b477a8642f15ad3b132/MarkupSafe-2.1.5-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:db0b55e0f3cc0be60c1f19efdde9a637c32740486004f20d1cff53c3c0ece4d2", size = 14073, upload-time = "2024-02-02T16:31:11.442Z" }, + { url = "https://files.pythonhosted.org/packages/d9/a7/1e558b4f78454c8a3a0199292d96159eb4d091f983bc35ef258314fe7269/MarkupSafe-2.1.5-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:3e53af139f8579a6d5f7b76549125f0d94d7e630761a2111bc431fd820e163b8", size = 26486, upload-time = "2024-02-02T16:31:12.488Z" }, + { url = "https://files.pythonhosted.org/packages/5f/5a/360da85076688755ea0cceb92472923086993e86b5613bbae9fbc14136b0/MarkupSafe-2.1.5-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:17b950fccb810b3293638215058e432159d2b71005c74371d784862b7e4683f3", size = 25685, upload-time = "2024-02-02T16:31:13.726Z" }, + { url = "https://files.pythonhosted.org/packages/6a/18/ae5a258e3401f9b8312f92b028c54d7026a97ec3ab20bfaddbdfa7d8cce8/MarkupSafe-2.1.5-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:4c31f53cdae6ecfa91a77820e8b151dba54ab528ba65dfd235c80b086d68a465", size = 25338, upload-time = "2024-02-02T16:31:14.812Z" }, + { url = "https://files.pythonhosted.org/packages/0b/cc/48206bd61c5b9d0129f4d75243b156929b04c94c09041321456fd06a876d/MarkupSafe-2.1.5-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:bff1b4290a66b490a2f4719358c0cdcd9bafb6b8f061e45c7a2460866bf50c2e", size = 30439, upload-time = "2024-02-02T16:31:15.946Z" }, + { url = "https://files.pythonhosted.org/packages/d1/06/a41c112ab9ffdeeb5f77bc3e331fdadf97fa65e52e44ba31880f4e7f983c/MarkupSafe-2.1.5-cp39-cp39-musllinux_1_1_i686.whl", hash = "sha256:bc1667f8b83f48511b94671e0e441401371dfd0f0a795c7daa4a3cd1dde55bea", size = 29531, upload-time = "2024-02-02T16:31:17.13Z" }, + { url = "https://files.pythonhosted.org/packages/02/8c/ab9a463301a50dab04d5472e998acbd4080597abc048166ded5c7aa768c8/MarkupSafe-2.1.5-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:5049256f536511ee3f7e1b3f87d1d1209d327e818e6ae1365e8653d7e3abb6a6", size = 29823, upload-time = "2024-02-02T16:31:18.247Z" }, + { url = "https://files.pythonhosted.org/packages/bc/29/9bc18da763496b055d8e98ce476c8e718dcfd78157e17f555ce6dd7d0895/MarkupSafe-2.1.5-cp39-cp39-win32.whl", hash = "sha256:00e046b6dd71aa03a41079792f8473dc494d564611a8f89bbbd7cb93295ebdcf", size = 16658, upload-time = "2024-02-02T16:31:19.583Z" }, + { url = "https://files.pythonhosted.org/packages/f6/f8/4da07de16f10551ca1f640c92b5f316f9394088b183c6a57183df6de5ae4/MarkupSafe-2.1.5-cp39-cp39-win_amd64.whl", hash = "sha256:fa173ec60341d6bb97a89f5ea19c85c5643c1e7dedebc22f5181eb73573142c5", size = 17211, upload-time = "2024-02-02T16:31:20.96Z" }, ] [[package]] @@ -2256,68 +2256,68 @@ resolution-markers = [ "python_full_version == '3.9.*' and platform_machine == 'aarch64' and sys_platform == 'linux'", "(python_full_version == '3.9.*' and platform_machine != 'arm64' and sys_platform == 'darwin') or (python_full_version == '3.9.*' and platform_machine != 'aarch64' and sys_platform == 'linux') or (python_full_version == '3.9.*' and sys_platform != 'darwin' and sys_platform != 'linux')", ] -sdist = { url = "https://files.pythonhosted.org/packages/b2/97/5d42485e71dfc078108a86d6de8fa46db44a1a9295e89c5d6d4a06e23a62/markupsafe-3.0.2.tar.gz", hash = "sha256:ee55d3edf80167e48ea11a923c7386f4669df67d7994554387f84e7d8b0a2bf0", size = 20537 } -wheels = [ - { url = "https://files.pythonhosted.org/packages/04/90/d08277ce111dd22f77149fd1a5d4653eeb3b3eaacbdfcbae5afb2600eebd/MarkupSafe-3.0.2-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:7e94c425039cde14257288fd61dcfb01963e658efbc0ff54f5306b06054700f8", size = 14357 }, - { url = "https://files.pythonhosted.org/packages/04/e1/6e2194baeae0bca1fae6629dc0cbbb968d4d941469cbab11a3872edff374/MarkupSafe-3.0.2-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:9e2d922824181480953426608b81967de705c3cef4d1af983af849d7bd619158", size = 12393 }, - { url = "https://files.pythonhosted.org/packages/1d/69/35fa85a8ece0a437493dc61ce0bb6d459dcba482c34197e3efc829aa357f/MarkupSafe-3.0.2-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:38a9ef736c01fccdd6600705b09dc574584b89bea478200c5fbf112a6b0d5579", size = 21732 }, - { url = "https://files.pythonhosted.org/packages/22/35/137da042dfb4720b638d2937c38a9c2df83fe32d20e8c8f3185dbfef05f7/MarkupSafe-3.0.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:bbcb445fa71794da8f178f0f6d66789a28d7319071af7a496d4d507ed566270d", size = 20866 }, - { url = "https://files.pythonhosted.org/packages/29/28/6d029a903727a1b62edb51863232152fd335d602def598dade38996887f0/MarkupSafe-3.0.2-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:57cb5a3cf367aeb1d316576250f65edec5bb3be939e9247ae594b4bcbc317dfb", size = 20964 }, - { url = "https://files.pythonhosted.org/packages/cc/cd/07438f95f83e8bc028279909d9c9bd39e24149b0d60053a97b2bc4f8aa51/MarkupSafe-3.0.2-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:3809ede931876f5b2ec92eef964286840ed3540dadf803dd570c3b7e13141a3b", size = 21977 }, - { url = "https://files.pythonhosted.org/packages/29/01/84b57395b4cc062f9c4c55ce0df7d3108ca32397299d9df00fedd9117d3d/MarkupSafe-3.0.2-cp310-cp310-musllinux_1_2_i686.whl", hash = "sha256:e07c3764494e3776c602c1e78e298937c3315ccc9043ead7e685b7f2b8d47b3c", size = 21366 }, - { url = "https://files.pythonhosted.org/packages/bd/6e/61ebf08d8940553afff20d1fb1ba7294b6f8d279df9fd0c0db911b4bbcfd/MarkupSafe-3.0.2-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:b424c77b206d63d500bcb69fa55ed8d0e6a3774056bdc4839fc9298a7edca171", size = 21091 }, - { url = "https://files.pythonhosted.org/packages/11/23/ffbf53694e8c94ebd1e7e491de185124277964344733c45481f32ede2499/MarkupSafe-3.0.2-cp310-cp310-win32.whl", hash = "sha256:fcabf5ff6eea076f859677f5f0b6b5c1a51e70a376b0579e0eadef8db48c6b50", size = 15065 }, - { url = "https://files.pythonhosted.org/packages/44/06/e7175d06dd6e9172d4a69a72592cb3f7a996a9c396eee29082826449bbc3/MarkupSafe-3.0.2-cp310-cp310-win_amd64.whl", hash = "sha256:6af100e168aa82a50e186c82875a5893c5597a0c1ccdb0d8b40240b1f28b969a", size = 15514 }, - { url = "https://files.pythonhosted.org/packages/6b/28/bbf83e3f76936960b850435576dd5e67034e200469571be53f69174a2dfd/MarkupSafe-3.0.2-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:9025b4018f3a1314059769c7bf15441064b2207cb3f065e6ea1e7359cb46db9d", size = 14353 }, - { url = "https://files.pythonhosted.org/packages/6c/30/316d194b093cde57d448a4c3209f22e3046c5bb2fb0820b118292b334be7/MarkupSafe-3.0.2-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:93335ca3812df2f366e80509ae119189886b0f3c2b81325d39efdb84a1e2ae93", size = 12392 }, - { url = "https://files.pythonhosted.org/packages/f2/96/9cdafba8445d3a53cae530aaf83c38ec64c4d5427d975c974084af5bc5d2/MarkupSafe-3.0.2-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:2cb8438c3cbb25e220c2ab33bb226559e7afb3baec11c4f218ffa7308603c832", size = 23984 }, - { url = "https://files.pythonhosted.org/packages/f1/a4/aefb044a2cd8d7334c8a47d3fb2c9f328ac48cb349468cc31c20b539305f/MarkupSafe-3.0.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:a123e330ef0853c6e822384873bef7507557d8e4a082961e1defa947aa59ba84", size = 23120 }, - { url = "https://files.pythonhosted.org/packages/8d/21/5e4851379f88f3fad1de30361db501300d4f07bcad047d3cb0449fc51f8c/MarkupSafe-3.0.2-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:1e084f686b92e5b83186b07e8a17fc09e38fff551f3602b249881fec658d3eca", size = 23032 }, - { url = "https://files.pythonhosted.org/packages/00/7b/e92c64e079b2d0d7ddf69899c98842f3f9a60a1ae72657c89ce2655c999d/MarkupSafe-3.0.2-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:d8213e09c917a951de9d09ecee036d5c7d36cb6cb7dbaece4c71a60d79fb9798", size = 24057 }, - { url = "https://files.pythonhosted.org/packages/f9/ac/46f960ca323037caa0a10662ef97d0a4728e890334fc156b9f9e52bcc4ca/MarkupSafe-3.0.2-cp311-cp311-musllinux_1_2_i686.whl", hash = "sha256:5b02fb34468b6aaa40dfc198d813a641e3a63b98c2b05a16b9f80b7ec314185e", size = 23359 }, - { url = "https://files.pythonhosted.org/packages/69/84/83439e16197337b8b14b6a5b9c2105fff81d42c2a7c5b58ac7b62ee2c3b1/MarkupSafe-3.0.2-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:0bff5e0ae4ef2e1ae4fdf2dfd5b76c75e5c2fa4132d05fc1b0dabcd20c7e28c4", size = 23306 }, - { url = "https://files.pythonhosted.org/packages/9a/34/a15aa69f01e2181ed8d2b685c0d2f6655d5cca2c4db0ddea775e631918cd/MarkupSafe-3.0.2-cp311-cp311-win32.whl", hash = "sha256:6c89876f41da747c8d3677a2b540fb32ef5715f97b66eeb0c6b66f5e3ef6f59d", size = 15094 }, - { url = "https://files.pythonhosted.org/packages/da/b8/3a3bd761922d416f3dc5d00bfbed11f66b1ab89a0c2b6e887240a30b0f6b/MarkupSafe-3.0.2-cp311-cp311-win_amd64.whl", hash = "sha256:70a87b411535ccad5ef2f1df5136506a10775d267e197e4cf531ced10537bd6b", size = 15521 }, - { url = "https://files.pythonhosted.org/packages/22/09/d1f21434c97fc42f09d290cbb6350d44eb12f09cc62c9476effdb33a18aa/MarkupSafe-3.0.2-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:9778bd8ab0a994ebf6f84c2b949e65736d5575320a17ae8984a77fab08db94cf", size = 14274 }, - { url = "https://files.pythonhosted.org/packages/6b/b0/18f76bba336fa5aecf79d45dcd6c806c280ec44538b3c13671d49099fdd0/MarkupSafe-3.0.2-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:846ade7b71e3536c4e56b386c2a47adf5741d2d8b94ec9dc3e92e5e1ee1e2225", size = 12348 }, - { url = "https://files.pythonhosted.org/packages/e0/25/dd5c0f6ac1311e9b40f4af06c78efde0f3b5cbf02502f8ef9501294c425b/MarkupSafe-3.0.2-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:1c99d261bd2d5f6b59325c92c73df481e05e57f19837bdca8413b9eac4bd8028", size = 24149 }, - { url = "https://files.pythonhosted.org/packages/f3/f0/89e7aadfb3749d0f52234a0c8c7867877876e0a20b60e2188e9850794c17/MarkupSafe-3.0.2-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:e17c96c14e19278594aa4841ec148115f9c7615a47382ecb6b82bd8fea3ab0c8", size = 23118 }, - { url = "https://files.pythonhosted.org/packages/d5/da/f2eeb64c723f5e3777bc081da884b414671982008c47dcc1873d81f625b6/MarkupSafe-3.0.2-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:88416bd1e65dcea10bc7569faacb2c20ce071dd1f87539ca2ab364bf6231393c", size = 22993 }, - { url = "https://files.pythonhosted.org/packages/da/0e/1f32af846df486dce7c227fe0f2398dc7e2e51d4a370508281f3c1c5cddc/MarkupSafe-3.0.2-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:2181e67807fc2fa785d0592dc2d6206c019b9502410671cc905d132a92866557", size = 24178 }, - { url = "https://files.pythonhosted.org/packages/c4/f6/bb3ca0532de8086cbff5f06d137064c8410d10779c4c127e0e47d17c0b71/MarkupSafe-3.0.2-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:52305740fe773d09cffb16f8ed0427942901f00adedac82ec8b67752f58a1b22", size = 23319 }, - { url = "https://files.pythonhosted.org/packages/a2/82/8be4c96ffee03c5b4a034e60a31294daf481e12c7c43ab8e34a1453ee48b/MarkupSafe-3.0.2-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:ad10d3ded218f1039f11a75f8091880239651b52e9bb592ca27de44eed242a48", size = 23352 }, - { url = "https://files.pythonhosted.org/packages/51/ae/97827349d3fcffee7e184bdf7f41cd6b88d9919c80f0263ba7acd1bbcb18/MarkupSafe-3.0.2-cp312-cp312-win32.whl", hash = "sha256:0f4ca02bea9a23221c0182836703cbf8930c5e9454bacce27e767509fa286a30", size = 15097 }, - { url = "https://files.pythonhosted.org/packages/c1/80/a61f99dc3a936413c3ee4e1eecac96c0da5ed07ad56fd975f1a9da5bc630/MarkupSafe-3.0.2-cp312-cp312-win_amd64.whl", hash = "sha256:8e06879fc22a25ca47312fbe7c8264eb0b662f6db27cb2d3bbbc74b1df4b9b87", size = 15601 }, - { url = "https://files.pythonhosted.org/packages/83/0e/67eb10a7ecc77a0c2bbe2b0235765b98d164d81600746914bebada795e97/MarkupSafe-3.0.2-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:ba9527cdd4c926ed0760bc301f6728ef34d841f405abf9d4f959c478421e4efd", size = 14274 }, - { url = "https://files.pythonhosted.org/packages/2b/6d/9409f3684d3335375d04e5f05744dfe7e9f120062c9857df4ab490a1031a/MarkupSafe-3.0.2-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:f8b3d067f2e40fe93e1ccdd6b2e1d16c43140e76f02fb1319a05cf2b79d99430", size = 12352 }, - { url = "https://files.pythonhosted.org/packages/d2/f5/6eadfcd3885ea85fe2a7c128315cc1bb7241e1987443d78c8fe712d03091/MarkupSafe-3.0.2-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:569511d3b58c8791ab4c2e1285575265991e6d8f8700c7be0e88f86cb0672094", size = 24122 }, - { url = "https://files.pythonhosted.org/packages/0c/91/96cf928db8236f1bfab6ce15ad070dfdd02ed88261c2afafd4b43575e9e9/MarkupSafe-3.0.2-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:15ab75ef81add55874e7ab7055e9c397312385bd9ced94920f2802310c930396", size = 23085 }, - { url = "https://files.pythonhosted.org/packages/c2/cf/c9d56af24d56ea04daae7ac0940232d31d5a8354f2b457c6d856b2057d69/MarkupSafe-3.0.2-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:f3818cb119498c0678015754eba762e0d61e5b52d34c8b13d770f0719f7b1d79", size = 22978 }, - { url = "https://files.pythonhosted.org/packages/2a/9f/8619835cd6a711d6272d62abb78c033bda638fdc54c4e7f4272cf1c0962b/MarkupSafe-3.0.2-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:cdb82a876c47801bb54a690c5ae105a46b392ac6099881cdfb9f6e95e4014c6a", size = 24208 }, - { url = "https://files.pythonhosted.org/packages/f9/bf/176950a1792b2cd2102b8ffeb5133e1ed984547b75db47c25a67d3359f77/MarkupSafe-3.0.2-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:cabc348d87e913db6ab4aa100f01b08f481097838bdddf7c7a84b7575b7309ca", size = 23357 }, - { url = "https://files.pythonhosted.org/packages/ce/4f/9a02c1d335caabe5c4efb90e1b6e8ee944aa245c1aaaab8e8a618987d816/MarkupSafe-3.0.2-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:444dcda765c8a838eaae23112db52f1efaf750daddb2d9ca300bcae1039adc5c", size = 23344 }, - { url = "https://files.pythonhosted.org/packages/ee/55/c271b57db36f748f0e04a759ace9f8f759ccf22b4960c270c78a394f58be/MarkupSafe-3.0.2-cp313-cp313-win32.whl", hash = "sha256:bcf3e58998965654fdaff38e58584d8937aa3096ab5354d493c77d1fdd66d7a1", size = 15101 }, - { url = "https://files.pythonhosted.org/packages/29/88/07df22d2dd4df40aba9f3e402e6dc1b8ee86297dddbad4872bd5e7b0094f/MarkupSafe-3.0.2-cp313-cp313-win_amd64.whl", hash = "sha256:e6a2a455bd412959b57a172ce6328d2dd1f01cb2135efda2e4576e8a23fa3b0f", size = 15603 }, - { url = "https://files.pythonhosted.org/packages/62/6a/8b89d24db2d32d433dffcd6a8779159da109842434f1dd2f6e71f32f738c/MarkupSafe-3.0.2-cp313-cp313t-macosx_10_13_universal2.whl", hash = "sha256:b5a6b3ada725cea8a5e634536b1b01c30bcdcd7f9c6fff4151548d5bf6b3a36c", size = 14510 }, - { url = "https://files.pythonhosted.org/packages/7a/06/a10f955f70a2e5a9bf78d11a161029d278eeacbd35ef806c3fd17b13060d/MarkupSafe-3.0.2-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:a904af0a6162c73e3edcb969eeeb53a63ceeb5d8cf642fade7d39e7963a22ddb", size = 12486 }, - { url = "https://files.pythonhosted.org/packages/34/cf/65d4a571869a1a9078198ca28f39fba5fbb910f952f9dbc5220afff9f5e6/MarkupSafe-3.0.2-cp313-cp313t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:4aa4e5faecf353ed117801a068ebab7b7e09ffb6e1d5e412dc852e0da018126c", size = 25480 }, - { url = "https://files.pythonhosted.org/packages/0c/e3/90e9651924c430b885468b56b3d597cabf6d72be4b24a0acd1fa0e12af67/MarkupSafe-3.0.2-cp313-cp313t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:c0ef13eaeee5b615fb07c9a7dadb38eac06a0608b41570d8ade51c56539e509d", size = 23914 }, - { url = "https://files.pythonhosted.org/packages/66/8c/6c7cf61f95d63bb866db39085150df1f2a5bd3335298f14a66b48e92659c/MarkupSafe-3.0.2-cp313-cp313t-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:d16a81a06776313e817c951135cf7340a3e91e8c1ff2fac444cfd75fffa04afe", size = 23796 }, - { url = "https://files.pythonhosted.org/packages/bb/35/cbe9238ec3f47ac9a7c8b3df7a808e7cb50fe149dc7039f5f454b3fba218/MarkupSafe-3.0.2-cp313-cp313t-musllinux_1_2_aarch64.whl", hash = "sha256:6381026f158fdb7c72a168278597a5e3a5222e83ea18f543112b2662a9b699c5", size = 25473 }, - { url = "https://files.pythonhosted.org/packages/e6/32/7621a4382488aa283cc05e8984a9c219abad3bca087be9ec77e89939ded9/MarkupSafe-3.0.2-cp313-cp313t-musllinux_1_2_i686.whl", hash = "sha256:3d79d162e7be8f996986c064d1c7c817f6df3a77fe3d6859f6f9e7be4b8c213a", size = 24114 }, - { url = "https://files.pythonhosted.org/packages/0d/80/0985960e4b89922cb5a0bac0ed39c5b96cbc1a536a99f30e8c220a996ed9/MarkupSafe-3.0.2-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:131a3c7689c85f5ad20f9f6fb1b866f402c445b220c19fe4308c0b147ccd2ad9", size = 24098 }, - { url = "https://files.pythonhosted.org/packages/82/78/fedb03c7d5380df2427038ec8d973587e90561b2d90cd472ce9254cf348b/MarkupSafe-3.0.2-cp313-cp313t-win32.whl", hash = "sha256:ba8062ed2cf21c07a9e295d5b8a2a5ce678b913b45fdf68c32d95d6c1291e0b6", size = 15208 }, - { url = "https://files.pythonhosted.org/packages/4f/65/6079a46068dfceaeabb5dcad6d674f5f5c61a6fa5673746f42a9f4c233b3/MarkupSafe-3.0.2-cp313-cp313t-win_amd64.whl", hash = "sha256:e444a31f8db13eb18ada366ab3cf45fd4b31e4db1236a4448f68778c1d1a5a2f", size = 15739 }, - { url = "https://files.pythonhosted.org/packages/a7/ea/9b1530c3fdeeca613faeb0fb5cbcf2389d816072fab72a71b45749ef6062/MarkupSafe-3.0.2-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:eaa0a10b7f72326f1372a713e73c3f739b524b3af41feb43e4921cb529f5929a", size = 14344 }, - { url = "https://files.pythonhosted.org/packages/4b/c2/fbdbfe48848e7112ab05e627e718e854d20192b674952d9042ebd8c9e5de/MarkupSafe-3.0.2-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:48032821bbdf20f5799ff537c7ac3d1fba0ba032cfc06194faffa8cda8b560ff", size = 12389 }, - { url = "https://files.pythonhosted.org/packages/f0/25/7a7c6e4dbd4f867d95d94ca15449e91e52856f6ed1905d58ef1de5e211d0/MarkupSafe-3.0.2-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:1a9d3f5f0901fdec14d8d2f66ef7d035f2157240a433441719ac9a3fba440b13", size = 21607 }, - { url = "https://files.pythonhosted.org/packages/53/8f/f339c98a178f3c1e545622206b40986a4c3307fe39f70ccd3d9df9a9e425/MarkupSafe-3.0.2-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:88b49a3b9ff31e19998750c38e030fc7bb937398b1f78cfa599aaef92d693144", size = 20728 }, - { url = "https://files.pythonhosted.org/packages/1a/03/8496a1a78308456dbd50b23a385c69b41f2e9661c67ea1329849a598a8f9/MarkupSafe-3.0.2-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:cfad01eed2c2e0c01fd0ecd2ef42c492f7f93902e39a42fc9ee1692961443a29", size = 20826 }, - { url = "https://files.pythonhosted.org/packages/e6/cf/0a490a4bd363048c3022f2f475c8c05582179bb179defcee4766fb3dcc18/MarkupSafe-3.0.2-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:1225beacc926f536dc82e45f8a4d68502949dc67eea90eab715dea3a21c1b5f0", size = 21843 }, - { url = "https://files.pythonhosted.org/packages/19/a3/34187a78613920dfd3cdf68ef6ce5e99c4f3417f035694074beb8848cd77/MarkupSafe-3.0.2-cp39-cp39-musllinux_1_2_i686.whl", hash = "sha256:3169b1eefae027567d1ce6ee7cae382c57fe26e82775f460f0b2778beaad66c0", size = 21219 }, - { url = "https://files.pythonhosted.org/packages/17/d8/5811082f85bb88410ad7e452263af048d685669bbbfb7b595e8689152498/MarkupSafe-3.0.2-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:eb7972a85c54febfb25b5c4b4f3af4dcc731994c7da0d8a0b4a6eb0640e1d178", size = 20946 }, - { url = "https://files.pythonhosted.org/packages/7c/31/bd635fb5989440d9365c5e3c47556cfea121c7803f5034ac843e8f37c2f2/MarkupSafe-3.0.2-cp39-cp39-win32.whl", hash = "sha256:8c4e8c3ce11e1f92f6536ff07154f9d49677ebaaafc32db9db4620bc11ed480f", size = 15063 }, - { url = "https://files.pythonhosted.org/packages/b3/73/085399401383ce949f727afec55ec3abd76648d04b9f22e1c0e99cb4bec3/MarkupSafe-3.0.2-cp39-cp39-win_amd64.whl", hash = "sha256:6e296a513ca3d94054c2c881cc913116e90fd030ad1c656b3869762b754f5f8a", size = 15506 }, +sdist = { url = "https://files.pythonhosted.org/packages/b2/97/5d42485e71dfc078108a86d6de8fa46db44a1a9295e89c5d6d4a06e23a62/markupsafe-3.0.2.tar.gz", hash = "sha256:ee55d3edf80167e48ea11a923c7386f4669df67d7994554387f84e7d8b0a2bf0", size = 20537, upload-time = "2024-10-18T15:21:54.129Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/04/90/d08277ce111dd22f77149fd1a5d4653eeb3b3eaacbdfcbae5afb2600eebd/MarkupSafe-3.0.2-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:7e94c425039cde14257288fd61dcfb01963e658efbc0ff54f5306b06054700f8", size = 14357, upload-time = "2024-10-18T15:20:51.44Z" }, + { url = "https://files.pythonhosted.org/packages/04/e1/6e2194baeae0bca1fae6629dc0cbbb968d4d941469cbab11a3872edff374/MarkupSafe-3.0.2-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:9e2d922824181480953426608b81967de705c3cef4d1af983af849d7bd619158", size = 12393, upload-time = "2024-10-18T15:20:52.426Z" }, + { url = "https://files.pythonhosted.org/packages/1d/69/35fa85a8ece0a437493dc61ce0bb6d459dcba482c34197e3efc829aa357f/MarkupSafe-3.0.2-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:38a9ef736c01fccdd6600705b09dc574584b89bea478200c5fbf112a6b0d5579", size = 21732, upload-time = "2024-10-18T15:20:53.578Z" }, + { url = "https://files.pythonhosted.org/packages/22/35/137da042dfb4720b638d2937c38a9c2df83fe32d20e8c8f3185dbfef05f7/MarkupSafe-3.0.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:bbcb445fa71794da8f178f0f6d66789a28d7319071af7a496d4d507ed566270d", size = 20866, upload-time = "2024-10-18T15:20:55.06Z" }, + { url = "https://files.pythonhosted.org/packages/29/28/6d029a903727a1b62edb51863232152fd335d602def598dade38996887f0/MarkupSafe-3.0.2-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:57cb5a3cf367aeb1d316576250f65edec5bb3be939e9247ae594b4bcbc317dfb", size = 20964, upload-time = "2024-10-18T15:20:55.906Z" }, + { url = "https://files.pythonhosted.org/packages/cc/cd/07438f95f83e8bc028279909d9c9bd39e24149b0d60053a97b2bc4f8aa51/MarkupSafe-3.0.2-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:3809ede931876f5b2ec92eef964286840ed3540dadf803dd570c3b7e13141a3b", size = 21977, upload-time = "2024-10-18T15:20:57.189Z" }, + { url = "https://files.pythonhosted.org/packages/29/01/84b57395b4cc062f9c4c55ce0df7d3108ca32397299d9df00fedd9117d3d/MarkupSafe-3.0.2-cp310-cp310-musllinux_1_2_i686.whl", hash = "sha256:e07c3764494e3776c602c1e78e298937c3315ccc9043ead7e685b7f2b8d47b3c", size = 21366, upload-time = "2024-10-18T15:20:58.235Z" }, + { url = "https://files.pythonhosted.org/packages/bd/6e/61ebf08d8940553afff20d1fb1ba7294b6f8d279df9fd0c0db911b4bbcfd/MarkupSafe-3.0.2-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:b424c77b206d63d500bcb69fa55ed8d0e6a3774056bdc4839fc9298a7edca171", size = 21091, upload-time = "2024-10-18T15:20:59.235Z" }, + { url = "https://files.pythonhosted.org/packages/11/23/ffbf53694e8c94ebd1e7e491de185124277964344733c45481f32ede2499/MarkupSafe-3.0.2-cp310-cp310-win32.whl", hash = "sha256:fcabf5ff6eea076f859677f5f0b6b5c1a51e70a376b0579e0eadef8db48c6b50", size = 15065, upload-time = "2024-10-18T15:21:00.307Z" }, + { url = "https://files.pythonhosted.org/packages/44/06/e7175d06dd6e9172d4a69a72592cb3f7a996a9c396eee29082826449bbc3/MarkupSafe-3.0.2-cp310-cp310-win_amd64.whl", hash = "sha256:6af100e168aa82a50e186c82875a5893c5597a0c1ccdb0d8b40240b1f28b969a", size = 15514, upload-time = "2024-10-18T15:21:01.122Z" }, + { url = "https://files.pythonhosted.org/packages/6b/28/bbf83e3f76936960b850435576dd5e67034e200469571be53f69174a2dfd/MarkupSafe-3.0.2-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:9025b4018f3a1314059769c7bf15441064b2207cb3f065e6ea1e7359cb46db9d", size = 14353, upload-time = "2024-10-18T15:21:02.187Z" }, + { url = "https://files.pythonhosted.org/packages/6c/30/316d194b093cde57d448a4c3209f22e3046c5bb2fb0820b118292b334be7/MarkupSafe-3.0.2-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:93335ca3812df2f366e80509ae119189886b0f3c2b81325d39efdb84a1e2ae93", size = 12392, upload-time = "2024-10-18T15:21:02.941Z" }, + { url = "https://files.pythonhosted.org/packages/f2/96/9cdafba8445d3a53cae530aaf83c38ec64c4d5427d975c974084af5bc5d2/MarkupSafe-3.0.2-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:2cb8438c3cbb25e220c2ab33bb226559e7afb3baec11c4f218ffa7308603c832", size = 23984, upload-time = "2024-10-18T15:21:03.953Z" }, + { url = "https://files.pythonhosted.org/packages/f1/a4/aefb044a2cd8d7334c8a47d3fb2c9f328ac48cb349468cc31c20b539305f/MarkupSafe-3.0.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:a123e330ef0853c6e822384873bef7507557d8e4a082961e1defa947aa59ba84", size = 23120, upload-time = "2024-10-18T15:21:06.495Z" }, + { url = "https://files.pythonhosted.org/packages/8d/21/5e4851379f88f3fad1de30361db501300d4f07bcad047d3cb0449fc51f8c/MarkupSafe-3.0.2-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:1e084f686b92e5b83186b07e8a17fc09e38fff551f3602b249881fec658d3eca", size = 23032, upload-time = "2024-10-18T15:21:07.295Z" }, + { url = "https://files.pythonhosted.org/packages/00/7b/e92c64e079b2d0d7ddf69899c98842f3f9a60a1ae72657c89ce2655c999d/MarkupSafe-3.0.2-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:d8213e09c917a951de9d09ecee036d5c7d36cb6cb7dbaece4c71a60d79fb9798", size = 24057, upload-time = "2024-10-18T15:21:08.073Z" }, + { url = "https://files.pythonhosted.org/packages/f9/ac/46f960ca323037caa0a10662ef97d0a4728e890334fc156b9f9e52bcc4ca/MarkupSafe-3.0.2-cp311-cp311-musllinux_1_2_i686.whl", hash = "sha256:5b02fb34468b6aaa40dfc198d813a641e3a63b98c2b05a16b9f80b7ec314185e", size = 23359, upload-time = "2024-10-18T15:21:09.318Z" }, + { url = "https://files.pythonhosted.org/packages/69/84/83439e16197337b8b14b6a5b9c2105fff81d42c2a7c5b58ac7b62ee2c3b1/MarkupSafe-3.0.2-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:0bff5e0ae4ef2e1ae4fdf2dfd5b76c75e5c2fa4132d05fc1b0dabcd20c7e28c4", size = 23306, upload-time = "2024-10-18T15:21:10.185Z" }, + { url = "https://files.pythonhosted.org/packages/9a/34/a15aa69f01e2181ed8d2b685c0d2f6655d5cca2c4db0ddea775e631918cd/MarkupSafe-3.0.2-cp311-cp311-win32.whl", hash = "sha256:6c89876f41da747c8d3677a2b540fb32ef5715f97b66eeb0c6b66f5e3ef6f59d", size = 15094, upload-time = "2024-10-18T15:21:11.005Z" }, + { url = "https://files.pythonhosted.org/packages/da/b8/3a3bd761922d416f3dc5d00bfbed11f66b1ab89a0c2b6e887240a30b0f6b/MarkupSafe-3.0.2-cp311-cp311-win_amd64.whl", hash = "sha256:70a87b411535ccad5ef2f1df5136506a10775d267e197e4cf531ced10537bd6b", size = 15521, upload-time = "2024-10-18T15:21:12.911Z" }, + { url = "https://files.pythonhosted.org/packages/22/09/d1f21434c97fc42f09d290cbb6350d44eb12f09cc62c9476effdb33a18aa/MarkupSafe-3.0.2-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:9778bd8ab0a994ebf6f84c2b949e65736d5575320a17ae8984a77fab08db94cf", size = 14274, upload-time = "2024-10-18T15:21:13.777Z" }, + { url = "https://files.pythonhosted.org/packages/6b/b0/18f76bba336fa5aecf79d45dcd6c806c280ec44538b3c13671d49099fdd0/MarkupSafe-3.0.2-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:846ade7b71e3536c4e56b386c2a47adf5741d2d8b94ec9dc3e92e5e1ee1e2225", size = 12348, upload-time = "2024-10-18T15:21:14.822Z" }, + { url = "https://files.pythonhosted.org/packages/e0/25/dd5c0f6ac1311e9b40f4af06c78efde0f3b5cbf02502f8ef9501294c425b/MarkupSafe-3.0.2-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:1c99d261bd2d5f6b59325c92c73df481e05e57f19837bdca8413b9eac4bd8028", size = 24149, upload-time = "2024-10-18T15:21:15.642Z" }, + { url = "https://files.pythonhosted.org/packages/f3/f0/89e7aadfb3749d0f52234a0c8c7867877876e0a20b60e2188e9850794c17/MarkupSafe-3.0.2-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:e17c96c14e19278594aa4841ec148115f9c7615a47382ecb6b82bd8fea3ab0c8", size = 23118, upload-time = "2024-10-18T15:21:17.133Z" }, + { url = "https://files.pythonhosted.org/packages/d5/da/f2eeb64c723f5e3777bc081da884b414671982008c47dcc1873d81f625b6/MarkupSafe-3.0.2-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:88416bd1e65dcea10bc7569faacb2c20ce071dd1f87539ca2ab364bf6231393c", size = 22993, upload-time = "2024-10-18T15:21:18.064Z" }, + { url = "https://files.pythonhosted.org/packages/da/0e/1f32af846df486dce7c227fe0f2398dc7e2e51d4a370508281f3c1c5cddc/MarkupSafe-3.0.2-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:2181e67807fc2fa785d0592dc2d6206c019b9502410671cc905d132a92866557", size = 24178, upload-time = "2024-10-18T15:21:18.859Z" }, + { url = "https://files.pythonhosted.org/packages/c4/f6/bb3ca0532de8086cbff5f06d137064c8410d10779c4c127e0e47d17c0b71/MarkupSafe-3.0.2-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:52305740fe773d09cffb16f8ed0427942901f00adedac82ec8b67752f58a1b22", size = 23319, upload-time = "2024-10-18T15:21:19.671Z" }, + { url = "https://files.pythonhosted.org/packages/a2/82/8be4c96ffee03c5b4a034e60a31294daf481e12c7c43ab8e34a1453ee48b/MarkupSafe-3.0.2-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:ad10d3ded218f1039f11a75f8091880239651b52e9bb592ca27de44eed242a48", size = 23352, upload-time = "2024-10-18T15:21:20.971Z" }, + { url = "https://files.pythonhosted.org/packages/51/ae/97827349d3fcffee7e184bdf7f41cd6b88d9919c80f0263ba7acd1bbcb18/MarkupSafe-3.0.2-cp312-cp312-win32.whl", hash = "sha256:0f4ca02bea9a23221c0182836703cbf8930c5e9454bacce27e767509fa286a30", size = 15097, upload-time = "2024-10-18T15:21:22.646Z" }, + { url = "https://files.pythonhosted.org/packages/c1/80/a61f99dc3a936413c3ee4e1eecac96c0da5ed07ad56fd975f1a9da5bc630/MarkupSafe-3.0.2-cp312-cp312-win_amd64.whl", hash = "sha256:8e06879fc22a25ca47312fbe7c8264eb0b662f6db27cb2d3bbbc74b1df4b9b87", size = 15601, upload-time = "2024-10-18T15:21:23.499Z" }, + { url = "https://files.pythonhosted.org/packages/83/0e/67eb10a7ecc77a0c2bbe2b0235765b98d164d81600746914bebada795e97/MarkupSafe-3.0.2-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:ba9527cdd4c926ed0760bc301f6728ef34d841f405abf9d4f959c478421e4efd", size = 14274, upload-time = "2024-10-18T15:21:24.577Z" }, + { url = "https://files.pythonhosted.org/packages/2b/6d/9409f3684d3335375d04e5f05744dfe7e9f120062c9857df4ab490a1031a/MarkupSafe-3.0.2-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:f8b3d067f2e40fe93e1ccdd6b2e1d16c43140e76f02fb1319a05cf2b79d99430", size = 12352, upload-time = "2024-10-18T15:21:25.382Z" }, + { url = "https://files.pythonhosted.org/packages/d2/f5/6eadfcd3885ea85fe2a7c128315cc1bb7241e1987443d78c8fe712d03091/MarkupSafe-3.0.2-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:569511d3b58c8791ab4c2e1285575265991e6d8f8700c7be0e88f86cb0672094", size = 24122, upload-time = "2024-10-18T15:21:26.199Z" }, + { url = "https://files.pythonhosted.org/packages/0c/91/96cf928db8236f1bfab6ce15ad070dfdd02ed88261c2afafd4b43575e9e9/MarkupSafe-3.0.2-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:15ab75ef81add55874e7ab7055e9c397312385bd9ced94920f2802310c930396", size = 23085, upload-time = "2024-10-18T15:21:27.029Z" }, + { url = "https://files.pythonhosted.org/packages/c2/cf/c9d56af24d56ea04daae7ac0940232d31d5a8354f2b457c6d856b2057d69/MarkupSafe-3.0.2-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:f3818cb119498c0678015754eba762e0d61e5b52d34c8b13d770f0719f7b1d79", size = 22978, upload-time = "2024-10-18T15:21:27.846Z" }, + { url = "https://files.pythonhosted.org/packages/2a/9f/8619835cd6a711d6272d62abb78c033bda638fdc54c4e7f4272cf1c0962b/MarkupSafe-3.0.2-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:cdb82a876c47801bb54a690c5ae105a46b392ac6099881cdfb9f6e95e4014c6a", size = 24208, upload-time = "2024-10-18T15:21:28.744Z" }, + { url = "https://files.pythonhosted.org/packages/f9/bf/176950a1792b2cd2102b8ffeb5133e1ed984547b75db47c25a67d3359f77/MarkupSafe-3.0.2-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:cabc348d87e913db6ab4aa100f01b08f481097838bdddf7c7a84b7575b7309ca", size = 23357, upload-time = "2024-10-18T15:21:29.545Z" }, + { url = "https://files.pythonhosted.org/packages/ce/4f/9a02c1d335caabe5c4efb90e1b6e8ee944aa245c1aaaab8e8a618987d816/MarkupSafe-3.0.2-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:444dcda765c8a838eaae23112db52f1efaf750daddb2d9ca300bcae1039adc5c", size = 23344, upload-time = "2024-10-18T15:21:30.366Z" }, + { url = "https://files.pythonhosted.org/packages/ee/55/c271b57db36f748f0e04a759ace9f8f759ccf22b4960c270c78a394f58be/MarkupSafe-3.0.2-cp313-cp313-win32.whl", hash = "sha256:bcf3e58998965654fdaff38e58584d8937aa3096ab5354d493c77d1fdd66d7a1", size = 15101, upload-time = "2024-10-18T15:21:31.207Z" }, + { url = "https://files.pythonhosted.org/packages/29/88/07df22d2dd4df40aba9f3e402e6dc1b8ee86297dddbad4872bd5e7b0094f/MarkupSafe-3.0.2-cp313-cp313-win_amd64.whl", hash = "sha256:e6a2a455bd412959b57a172ce6328d2dd1f01cb2135efda2e4576e8a23fa3b0f", size = 15603, upload-time = "2024-10-18T15:21:32.032Z" }, + { url = "https://files.pythonhosted.org/packages/62/6a/8b89d24db2d32d433dffcd6a8779159da109842434f1dd2f6e71f32f738c/MarkupSafe-3.0.2-cp313-cp313t-macosx_10_13_universal2.whl", hash = "sha256:b5a6b3ada725cea8a5e634536b1b01c30bcdcd7f9c6fff4151548d5bf6b3a36c", size = 14510, upload-time = "2024-10-18T15:21:33.625Z" }, + { url = "https://files.pythonhosted.org/packages/7a/06/a10f955f70a2e5a9bf78d11a161029d278eeacbd35ef806c3fd17b13060d/MarkupSafe-3.0.2-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:a904af0a6162c73e3edcb969eeeb53a63ceeb5d8cf642fade7d39e7963a22ddb", size = 12486, upload-time = "2024-10-18T15:21:34.611Z" }, + { url = "https://files.pythonhosted.org/packages/34/cf/65d4a571869a1a9078198ca28f39fba5fbb910f952f9dbc5220afff9f5e6/MarkupSafe-3.0.2-cp313-cp313t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:4aa4e5faecf353ed117801a068ebab7b7e09ffb6e1d5e412dc852e0da018126c", size = 25480, upload-time = "2024-10-18T15:21:35.398Z" }, + { url = "https://files.pythonhosted.org/packages/0c/e3/90e9651924c430b885468b56b3d597cabf6d72be4b24a0acd1fa0e12af67/MarkupSafe-3.0.2-cp313-cp313t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:c0ef13eaeee5b615fb07c9a7dadb38eac06a0608b41570d8ade51c56539e509d", size = 23914, upload-time = "2024-10-18T15:21:36.231Z" }, + { url = "https://files.pythonhosted.org/packages/66/8c/6c7cf61f95d63bb866db39085150df1f2a5bd3335298f14a66b48e92659c/MarkupSafe-3.0.2-cp313-cp313t-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:d16a81a06776313e817c951135cf7340a3e91e8c1ff2fac444cfd75fffa04afe", size = 23796, upload-time = "2024-10-18T15:21:37.073Z" }, + { url = "https://files.pythonhosted.org/packages/bb/35/cbe9238ec3f47ac9a7c8b3df7a808e7cb50fe149dc7039f5f454b3fba218/MarkupSafe-3.0.2-cp313-cp313t-musllinux_1_2_aarch64.whl", hash = "sha256:6381026f158fdb7c72a168278597a5e3a5222e83ea18f543112b2662a9b699c5", size = 25473, upload-time = "2024-10-18T15:21:37.932Z" }, + { url = "https://files.pythonhosted.org/packages/e6/32/7621a4382488aa283cc05e8984a9c219abad3bca087be9ec77e89939ded9/MarkupSafe-3.0.2-cp313-cp313t-musllinux_1_2_i686.whl", hash = "sha256:3d79d162e7be8f996986c064d1c7c817f6df3a77fe3d6859f6f9e7be4b8c213a", size = 24114, upload-time = "2024-10-18T15:21:39.799Z" }, + { url = "https://files.pythonhosted.org/packages/0d/80/0985960e4b89922cb5a0bac0ed39c5b96cbc1a536a99f30e8c220a996ed9/MarkupSafe-3.0.2-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:131a3c7689c85f5ad20f9f6fb1b866f402c445b220c19fe4308c0b147ccd2ad9", size = 24098, upload-time = "2024-10-18T15:21:40.813Z" }, + { url = "https://files.pythonhosted.org/packages/82/78/fedb03c7d5380df2427038ec8d973587e90561b2d90cd472ce9254cf348b/MarkupSafe-3.0.2-cp313-cp313t-win32.whl", hash = "sha256:ba8062ed2cf21c07a9e295d5b8a2a5ce678b913b45fdf68c32d95d6c1291e0b6", size = 15208, upload-time = "2024-10-18T15:21:41.814Z" }, + { url = "https://files.pythonhosted.org/packages/4f/65/6079a46068dfceaeabb5dcad6d674f5f5c61a6fa5673746f42a9f4c233b3/MarkupSafe-3.0.2-cp313-cp313t-win_amd64.whl", hash = "sha256:e444a31f8db13eb18ada366ab3cf45fd4b31e4db1236a4448f68778c1d1a5a2f", size = 15739, upload-time = "2024-10-18T15:21:42.784Z" }, + { url = "https://files.pythonhosted.org/packages/a7/ea/9b1530c3fdeeca613faeb0fb5cbcf2389d816072fab72a71b45749ef6062/MarkupSafe-3.0.2-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:eaa0a10b7f72326f1372a713e73c3f739b524b3af41feb43e4921cb529f5929a", size = 14344, upload-time = "2024-10-18T15:21:43.721Z" }, + { url = "https://files.pythonhosted.org/packages/4b/c2/fbdbfe48848e7112ab05e627e718e854d20192b674952d9042ebd8c9e5de/MarkupSafe-3.0.2-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:48032821bbdf20f5799ff537c7ac3d1fba0ba032cfc06194faffa8cda8b560ff", size = 12389, upload-time = "2024-10-18T15:21:44.666Z" }, + { url = "https://files.pythonhosted.org/packages/f0/25/7a7c6e4dbd4f867d95d94ca15449e91e52856f6ed1905d58ef1de5e211d0/MarkupSafe-3.0.2-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:1a9d3f5f0901fdec14d8d2f66ef7d035f2157240a433441719ac9a3fba440b13", size = 21607, upload-time = "2024-10-18T15:21:45.452Z" }, + { url = "https://files.pythonhosted.org/packages/53/8f/f339c98a178f3c1e545622206b40986a4c3307fe39f70ccd3d9df9a9e425/MarkupSafe-3.0.2-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:88b49a3b9ff31e19998750c38e030fc7bb937398b1f78cfa599aaef92d693144", size = 20728, upload-time = "2024-10-18T15:21:46.295Z" }, + { url = "https://files.pythonhosted.org/packages/1a/03/8496a1a78308456dbd50b23a385c69b41f2e9661c67ea1329849a598a8f9/MarkupSafe-3.0.2-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:cfad01eed2c2e0c01fd0ecd2ef42c492f7f93902e39a42fc9ee1692961443a29", size = 20826, upload-time = "2024-10-18T15:21:47.134Z" }, + { url = "https://files.pythonhosted.org/packages/e6/cf/0a490a4bd363048c3022f2f475c8c05582179bb179defcee4766fb3dcc18/MarkupSafe-3.0.2-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:1225beacc926f536dc82e45f8a4d68502949dc67eea90eab715dea3a21c1b5f0", size = 21843, upload-time = "2024-10-18T15:21:48.334Z" }, + { url = "https://files.pythonhosted.org/packages/19/a3/34187a78613920dfd3cdf68ef6ce5e99c4f3417f035694074beb8848cd77/MarkupSafe-3.0.2-cp39-cp39-musllinux_1_2_i686.whl", hash = "sha256:3169b1eefae027567d1ce6ee7cae382c57fe26e82775f460f0b2778beaad66c0", size = 21219, upload-time = "2024-10-18T15:21:49.587Z" }, + { url = "https://files.pythonhosted.org/packages/17/d8/5811082f85bb88410ad7e452263af048d685669bbbfb7b595e8689152498/MarkupSafe-3.0.2-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:eb7972a85c54febfb25b5c4b4f3af4dcc731994c7da0d8a0b4a6eb0640e1d178", size = 20946, upload-time = "2024-10-18T15:21:50.441Z" }, + { url = "https://files.pythonhosted.org/packages/7c/31/bd635fb5989440d9365c5e3c47556cfea121c7803f5034ac843e8f37c2f2/MarkupSafe-3.0.2-cp39-cp39-win32.whl", hash = "sha256:8c4e8c3ce11e1f92f6536ff07154f9d49677ebaaafc32db9db4620bc11ed480f", size = 15063, upload-time = "2024-10-18T15:21:51.385Z" }, + { url = "https://files.pythonhosted.org/packages/b3/73/085399401383ce949f727afec55ec3abd76648d04b9f22e1c0e99cb4bec3/MarkupSafe-3.0.2-cp39-cp39-win_amd64.whl", hash = "sha256:6e296a513ca3d94054c2c881cc913116e90fd030ad1c656b3869762b754f5f8a", size = 15506, upload-time = "2024-10-18T15:21:52.974Z" }, ] [[package]] @@ -2341,54 +2341,54 @@ dependencies = [ { name = "pyparsing", version = "3.1.4", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.9'" }, { name = "python-dateutil", marker = "python_full_version < '3.9'" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/b6/f0/3836719cc3982fbba3b840d18a59db1d0ee9ac7986f24e8c0a092851b67b/matplotlib-3.7.5.tar.gz", hash = "sha256:1e5c971558ebc811aa07f54c7b7c677d78aa518ef4c390e14673a09e0860184a", size = 38098611 } -wheels = [ - { url = "https://files.pythonhosted.org/packages/f5/b0/3808e86c41e5d97822d77e89d7f3cb0890725845c050d87ec53732a8b150/matplotlib-3.7.5-cp310-cp310-macosx_10_12_universal2.whl", hash = "sha256:4a87b69cb1cb20943010f63feb0b2901c17a3b435f75349fd9865713bfa63925", size = 8322924 }, - { url = "https://files.pythonhosted.org/packages/5b/05/726623be56391ba1740331ad9f1cd30e1adec61c179ddac134957a6dc2e7/matplotlib-3.7.5-cp310-cp310-macosx_10_12_x86_64.whl", hash = "sha256:d3ce45010fefb028359accebb852ca0c21bd77ec0f281952831d235228f15810", size = 7438436 }, - { url = "https://files.pythonhosted.org/packages/15/83/89cdef49ef1e320060ec951ba33c132df211561d866c3ed144c81fd110b2/matplotlib-3.7.5-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:fbea1e762b28400393d71be1a02144aa16692a3c4c676ba0178ce83fc2928fdd", size = 7341849 }, - { url = "https://files.pythonhosted.org/packages/94/29/39fc4acdc296dd86e09cecb65c14966e1cf18e0f091b9cbd9bd3f0c19ee4/matplotlib-3.7.5-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:ec0e1adc0ad70ba8227e957551e25a9d2995e319c29f94a97575bb90fa1d4469", size = 11354141 }, - { url = "https://files.pythonhosted.org/packages/54/36/44c5eeb0d83ae1e3ed34d264d7adee947c4fd56c4a9464ce822de094995a/matplotlib-3.7.5-cp310-cp310-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:6738c89a635ced486c8a20e20111d33f6398a9cbebce1ced59c211e12cd61455", size = 11457668 }, - { url = "https://files.pythonhosted.org/packages/b7/e2/f68aeaedf0ef57cbb793637ee82e62e64ea26cee908db0fe4f8e24d502c0/matplotlib-3.7.5-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:1210b7919b4ed94b5573870f316bca26de3e3b07ffdb563e79327dc0e6bba515", size = 11580088 }, - { url = "https://files.pythonhosted.org/packages/d9/f7/7c88d34afc38943aa5e4e04d27fc9da5289a48c264c0d794f60c9cda0949/matplotlib-3.7.5-cp310-cp310-win32.whl", hash = "sha256:068ebcc59c072781d9dcdb82f0d3f1458271c2de7ca9c78f5bd672141091e9e1", size = 7339332 }, - { url = "https://files.pythonhosted.org/packages/91/99/e5f6f7c9438279581c4a2308d264fe24dc98bb80e3b2719f797227e54ddc/matplotlib-3.7.5-cp310-cp310-win_amd64.whl", hash = "sha256:f098ffbaab9df1e3ef04e5a5586a1e6b1791380698e84938d8640961c79b1fc0", size = 7506405 }, - { url = "https://files.pythonhosted.org/packages/5e/c6/45d0485e59d70b7a6a81eade5d0aed548b42cc65658c0ce0f813b9249165/matplotlib-3.7.5-cp311-cp311-macosx_10_12_universal2.whl", hash = "sha256:f65342c147572673f02a4abec2d5a23ad9c3898167df9b47c149f32ce61ca078", size = 8325506 }, - { url = "https://files.pythonhosted.org/packages/0e/0a/83bd8589f3597745f624fbcc7da1140088b2f4160ca51c71553c561d0df5/matplotlib-3.7.5-cp311-cp311-macosx_10_12_x86_64.whl", hash = "sha256:4ddf7fc0e0dc553891a117aa083039088d8a07686d4c93fb8a810adca68810af", size = 7439905 }, - { url = "https://files.pythonhosted.org/packages/84/c1/a7705b24f8f9b4d7ceea0002c13bae50cf9423f299f56d8c47a5cd2627d2/matplotlib-3.7.5-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:0ccb830fc29442360d91be48527809f23a5dcaee8da5f4d9b2d5b867c1b087b8", size = 7342895 }, - { url = "https://files.pythonhosted.org/packages/94/6e/55d7d8310c96a7459c883aa4be3f5a9338a108278484cbd5c95d480d1cef/matplotlib-3.7.5-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:efc6bb28178e844d1f408dd4d6341ee8a2e906fc9e0fa3dae497da4e0cab775d", size = 11358830 }, - { url = "https://files.pythonhosted.org/packages/55/57/3b36afe104216db1cf2f3889c394b403ea87eda77c4815227c9524462ba8/matplotlib-3.7.5-cp311-cp311-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:3b15c4c2d374f249f324f46e883340d494c01768dd5287f8bc00b65b625ab56c", size = 11462575 }, - { url = "https://files.pythonhosted.org/packages/f3/0b/fabcf5f66b12fab5c4110d06a6c0fed875c7e63bc446403f58f9dadc9999/matplotlib-3.7.5-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:3d028555421912307845e59e3de328260b26d055c5dac9b182cc9783854e98fb", size = 11584280 }, - { url = "https://files.pythonhosted.org/packages/47/a9/1ad7df27a9da70b62109584632f83fe6ef45774701199c44d5777107c240/matplotlib-3.7.5-cp311-cp311-win32.whl", hash = "sha256:fe184b4625b4052fa88ef350b815559dd90cc6cc8e97b62f966e1ca84074aafa", size = 7340429 }, - { url = "https://files.pythonhosted.org/packages/e3/b1/1b6c34b89173d6c206dc5a4028e8518b4dfee3569c13bdc0c88d0486cae7/matplotlib-3.7.5-cp311-cp311-win_amd64.whl", hash = "sha256:084f1f0f2f1010868c6f1f50b4e1c6f2fb201c58475494f1e5b66fed66093647", size = 7507112 }, - { url = "https://files.pythonhosted.org/packages/75/dc/4e341a3ef36f3e7321aec0741317f12c7a23264be708a97972bf018c34af/matplotlib-3.7.5-cp312-cp312-macosx_10_12_universal2.whl", hash = "sha256:34bceb9d8ddb142055ff27cd7135f539f2f01be2ce0bafbace4117abe58f8fe4", size = 8323797 }, - { url = "https://files.pythonhosted.org/packages/af/83/bbb482d678362ceb68cc59ec4fc705dde636025969361dac77be868541ef/matplotlib-3.7.5-cp312-cp312-macosx_10_12_x86_64.whl", hash = "sha256:c5a2134162273eb8cdfd320ae907bf84d171de948e62180fa372a3ca7cf0f433", size = 7439549 }, - { url = "https://files.pythonhosted.org/packages/1a/ee/e49a92d9e369b2b9e4373894171cb4e641771cd7f81bde1d8b6fb8c60842/matplotlib-3.7.5-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:039ad54683a814002ff37bf7981aa1faa40b91f4ff84149beb53d1eb64617980", size = 7341788 }, - { url = "https://files.pythonhosted.org/packages/48/79/89cb2fc5ddcfc3d440a739df04dbe6e4e72b1153d1ebd32b45d42eb71d27/matplotlib-3.7.5-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:4d742ccd1b09e863b4ca58291728db645b51dab343eebb08d5d4b31b308296ce", size = 11356329 }, - { url = "https://files.pythonhosted.org/packages/ff/25/84f181cdae5c9eba6fd1c2c35642aec47233425fe3b0d6fccdb323fb36e0/matplotlib-3.7.5-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:743b1c488ca6a2bc7f56079d282e44d236bf375968bfd1b7ba701fd4d0fa32d6", size = 11577813 }, - { url = "https://files.pythonhosted.org/packages/9f/24/b2db065d40e58033b3350222fb8bbb0ffcb834029df9c1f9349dd9c7dd45/matplotlib-3.7.5-cp312-cp312-win_amd64.whl", hash = "sha256:fbf730fca3e1f23713bc1fae0a57db386e39dc81ea57dc305c67f628c1d7a342", size = 7507667 }, - { url = "https://files.pythonhosted.org/packages/e3/72/50a38c8fd5dc845b06f8e71c9da802db44b81baabf4af8be78bb8a5622ea/matplotlib-3.7.5-cp38-cp38-macosx_10_12_universal2.whl", hash = "sha256:cfff9b838531698ee40e40ea1a8a9dc2c01edb400b27d38de6ba44c1f9a8e3d2", size = 8322659 }, - { url = "https://files.pythonhosted.org/packages/b1/ea/129163dcd21db6da5d559a8160c4a74c1dc5f96ac246a3d4248b43c7648d/matplotlib-3.7.5-cp38-cp38-macosx_10_12_x86_64.whl", hash = "sha256:1dbcca4508bca7847fe2d64a05b237a3dcaec1f959aedb756d5b1c67b770c5ee", size = 7438408 }, - { url = "https://files.pythonhosted.org/packages/aa/59/4d13e5b6298b1ca5525eea8c68d3806ae93ab6d0bb17ca9846aa3156b92b/matplotlib-3.7.5-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:4cdf4ef46c2a1609a50411b66940b31778db1e4b73d4ecc2eaa40bd588979b13", size = 7341782 }, - { url = "https://files.pythonhosted.org/packages/9e/c4/f562df04b08487731743511ff274ae5d31dce2ff3e5621f8b070d20ab54a/matplotlib-3.7.5-cp38-cp38-manylinux_2_12_i686.manylinux2010_i686.whl", hash = "sha256:167200ccfefd1674b60e957186dfd9baf58b324562ad1a28e5d0a6b3bea77905", size = 9196487 }, - { url = "https://files.pythonhosted.org/packages/30/33/cc27211d2ffeee4fd7402dca137b6e8a83f6dcae3d4be8d0ad5068555561/matplotlib-3.7.5-cp38-cp38-manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:53e64522934df6e1818b25fd48cf3b645b11740d78e6ef765fbb5fa5ce080d02", size = 9213051 }, - { url = "https://files.pythonhosted.org/packages/9b/9d/8bd37c86b79312c9dbcfa379dec32303f9b38e8456e0829d7e666a0e0a05/matplotlib-3.7.5-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d3e3bc79b2d7d615067bd010caff9243ead1fc95cf735c16e4b2583173f717eb", size = 11370807 }, - { url = "https://files.pythonhosted.org/packages/c0/1e/b24a07a849c8d458f1b3724f49029f0dedf748bdedb4d5f69491314838b6/matplotlib-3.7.5-cp38-cp38-win32.whl", hash = "sha256:6b641b48c6819726ed47c55835cdd330e53747d4efff574109fd79b2d8a13748", size = 7340461 }, - { url = "https://files.pythonhosted.org/packages/16/51/58b0b9de42fe1e665736d9286f88b5f1556a0e22bed8a71f468231761083/matplotlib-3.7.5-cp38-cp38-win_amd64.whl", hash = "sha256:f0b60993ed3488b4532ec6b697059897891927cbfc2b8d458a891b60ec03d9d7", size = 7507471 }, - { url = "https://files.pythonhosted.org/packages/0d/00/17487e9e8949ca623af87f6c8767408efe7530b7e1f4d6897fa7fa940834/matplotlib-3.7.5-cp39-cp39-macosx_10_12_universal2.whl", hash = "sha256:090964d0afaff9c90e4d8de7836757e72ecfb252fb02884016d809239f715651", size = 8323175 }, - { url = "https://files.pythonhosted.org/packages/6a/84/be0acd521fa9d6697657cf35878153f8009a42b4b75237aebc302559a8a9/matplotlib-3.7.5-cp39-cp39-macosx_10_12_x86_64.whl", hash = "sha256:9fc6fcfbc55cd719bc0bfa60bde248eb68cf43876d4c22864603bdd23962ba25", size = 7438737 }, - { url = "https://files.pythonhosted.org/packages/17/39/175f36a6d68d0cf47a4fecbae9728048355df23c9feca8688f1476b198e6/matplotlib-3.7.5-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:5e7cc3078b019bb863752b8b60e8b269423000f1603cb2299608231996bd9d54", size = 7341916 }, - { url = "https://files.pythonhosted.org/packages/36/c0/9a1c2a79f85c15d41b60877cbc333694ed80605e5c97a33880c4ecfd5bf1/matplotlib-3.7.5-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:1e4e9a868e8163abaaa8259842d85f949a919e1ead17644fb77a60427c90473c", size = 11352264 }, - { url = "https://files.pythonhosted.org/packages/a6/39/b0204e0e7a899b0676733366a55ccafa723799b719bc7f2e85e5ecde26a0/matplotlib-3.7.5-cp39-cp39-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:fa7ebc995a7d747dacf0a717d0eb3aa0f0c6a0e9ea88b0194d3a3cd241a1500f", size = 11454722 }, - { url = "https://files.pythonhosted.org/packages/d8/39/64dd1d36c79e72e614977db338d180cf204cf658927c05a8ef2d47feb4c0/matplotlib-3.7.5-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:3785bfd83b05fc0e0c2ae4c4a90034fe693ef96c679634756c50fe6efcc09856", size = 11576343 }, - { url = "https://files.pythonhosted.org/packages/31/b4/e77bc11394d858bdf15e356980fceb4ac9604b0fa8212ef3ca4f1dc166b8/matplotlib-3.7.5-cp39-cp39-win32.whl", hash = "sha256:29b058738c104d0ca8806395f1c9089dfe4d4f0f78ea765c6c704469f3fffc81", size = 7340455 }, - { url = "https://files.pythonhosted.org/packages/4a/84/081820c596b9555ecffc6819ee71f847f2fbb0d7c70a42c1eeaa54edf3e0/matplotlib-3.7.5-cp39-cp39-win_amd64.whl", hash = "sha256:fd4028d570fa4b31b7b165d4a685942ae9cdc669f33741e388c01857d9723eab", size = 7507711 }, - { url = "https://files.pythonhosted.org/packages/27/6c/1bb10f3d6f337b9faa2e96a251bd87ba5fed85a608df95eb4d69acc109f0/matplotlib-3.7.5-pp38-pypy38_pp73-macosx_10_12_x86_64.whl", hash = "sha256:2a9a3f4d6a7f88a62a6a18c7e6a84aedcaf4faf0708b4ca46d87b19f1b526f88", size = 7397285 }, - { url = "https://files.pythonhosted.org/packages/b2/36/66cfea213e9ba91cda9e257542c249ed235d49021af71c2e8007107d7d4c/matplotlib-3.7.5-pp38-pypy38_pp73-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:b9b3fd853d4a7f008a938df909b96db0b454225f935d3917520305b90680579c", size = 7552612 }, - { url = "https://files.pythonhosted.org/packages/77/df/16655199bf984c37c6a816b854bc032b56aef521aadc04f27928422f3c91/matplotlib-3.7.5-pp38-pypy38_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f0ad550da9f160737d7890217c5eeed4337d07e83ca1b2ca6535078f354e7675", size = 7515564 }, - { url = "https://files.pythonhosted.org/packages/5b/c8/3534c3705a677b71abb6be33609ba129fdeae2ea4e76b2fd3ab62c86fab3/matplotlib-3.7.5-pp38-pypy38_pp73-win_amd64.whl", hash = "sha256:20da7924a08306a861b3f2d1da0d1aa9a6678e480cf8eacffe18b565af2813e7", size = 7521336 }, - { url = "https://files.pythonhosted.org/packages/20/a0/c5c0d410798b387ed3a177a5a7eba21055dd9c41d4b15bd0861241a5a60e/matplotlib-3.7.5-pp39-pypy39_pp73-macosx_10_12_x86_64.whl", hash = "sha256:b45c9798ea6bb920cb77eb7306409756a7fab9db9b463e462618e0559aecb30e", size = 7397931 }, - { url = "https://files.pythonhosted.org/packages/c3/2f/9e9509727d4c7d1b8e2c88e9330a97d54a1dd20bd316a0c8d2f8b38c4513/matplotlib-3.7.5-pp39-pypy39_pp73-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:a99866267da1e561c7776fe12bf4442174b79aac1a47bd7e627c7e4d077ebd83", size = 7553224 }, - { url = "https://files.pythonhosted.org/packages/89/0c/5f3e403dcf5c23799c92b0139dd00e41caf23983e9281f5bfeba3065e7d2/matplotlib-3.7.5-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:2b6aa62adb6c268fc87d80f963aca39c64615c31830b02697743c95590ce3fbb", size = 7513250 }, - { url = "https://files.pythonhosted.org/packages/87/e0/03eba0a8c3775ef910dbb3a287114a64c47abbcaeab2543c59957f155a86/matplotlib-3.7.5-pp39-pypy39_pp73-win_amd64.whl", hash = "sha256:e530ab6a0afd082d2e9c17eb1eb064a63c5b09bb607b2b74fa41adbe3e162286", size = 7521729 }, +sdist = { url = "https://files.pythonhosted.org/packages/b6/f0/3836719cc3982fbba3b840d18a59db1d0ee9ac7986f24e8c0a092851b67b/matplotlib-3.7.5.tar.gz", hash = "sha256:1e5c971558ebc811aa07f54c7b7c677d78aa518ef4c390e14673a09e0860184a", size = 38098611, upload-time = "2024-02-16T10:50:56.19Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/f5/b0/3808e86c41e5d97822d77e89d7f3cb0890725845c050d87ec53732a8b150/matplotlib-3.7.5-cp310-cp310-macosx_10_12_universal2.whl", hash = "sha256:4a87b69cb1cb20943010f63feb0b2901c17a3b435f75349fd9865713bfa63925", size = 8322924, upload-time = "2024-02-16T10:48:06.184Z" }, + { url = "https://files.pythonhosted.org/packages/5b/05/726623be56391ba1740331ad9f1cd30e1adec61c179ddac134957a6dc2e7/matplotlib-3.7.5-cp310-cp310-macosx_10_12_x86_64.whl", hash = "sha256:d3ce45010fefb028359accebb852ca0c21bd77ec0f281952831d235228f15810", size = 7438436, upload-time = "2024-02-16T10:48:10.294Z" }, + { url = "https://files.pythonhosted.org/packages/15/83/89cdef49ef1e320060ec951ba33c132df211561d866c3ed144c81fd110b2/matplotlib-3.7.5-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:fbea1e762b28400393d71be1a02144aa16692a3c4c676ba0178ce83fc2928fdd", size = 7341849, upload-time = "2024-02-16T10:48:13.249Z" }, + { url = "https://files.pythonhosted.org/packages/94/29/39fc4acdc296dd86e09cecb65c14966e1cf18e0f091b9cbd9bd3f0c19ee4/matplotlib-3.7.5-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:ec0e1adc0ad70ba8227e957551e25a9d2995e319c29f94a97575bb90fa1d4469", size = 11354141, upload-time = "2024-02-16T10:48:16.963Z" }, + { url = "https://files.pythonhosted.org/packages/54/36/44c5eeb0d83ae1e3ed34d264d7adee947c4fd56c4a9464ce822de094995a/matplotlib-3.7.5-cp310-cp310-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:6738c89a635ced486c8a20e20111d33f6398a9cbebce1ced59c211e12cd61455", size = 11457668, upload-time = "2024-02-16T10:48:21.339Z" }, + { url = "https://files.pythonhosted.org/packages/b7/e2/f68aeaedf0ef57cbb793637ee82e62e64ea26cee908db0fe4f8e24d502c0/matplotlib-3.7.5-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:1210b7919b4ed94b5573870f316bca26de3e3b07ffdb563e79327dc0e6bba515", size = 11580088, upload-time = "2024-02-16T10:48:25.415Z" }, + { url = "https://files.pythonhosted.org/packages/d9/f7/7c88d34afc38943aa5e4e04d27fc9da5289a48c264c0d794f60c9cda0949/matplotlib-3.7.5-cp310-cp310-win32.whl", hash = "sha256:068ebcc59c072781d9dcdb82f0d3f1458271c2de7ca9c78f5bd672141091e9e1", size = 7339332, upload-time = "2024-02-16T10:48:29.319Z" }, + { url = "https://files.pythonhosted.org/packages/91/99/e5f6f7c9438279581c4a2308d264fe24dc98bb80e3b2719f797227e54ddc/matplotlib-3.7.5-cp310-cp310-win_amd64.whl", hash = "sha256:f098ffbaab9df1e3ef04e5a5586a1e6b1791380698e84938d8640961c79b1fc0", size = 7506405, upload-time = "2024-02-16T10:48:32.499Z" }, + { url = "https://files.pythonhosted.org/packages/5e/c6/45d0485e59d70b7a6a81eade5d0aed548b42cc65658c0ce0f813b9249165/matplotlib-3.7.5-cp311-cp311-macosx_10_12_universal2.whl", hash = "sha256:f65342c147572673f02a4abec2d5a23ad9c3898167df9b47c149f32ce61ca078", size = 8325506, upload-time = "2024-02-16T10:48:36.192Z" }, + { url = "https://files.pythonhosted.org/packages/0e/0a/83bd8589f3597745f624fbcc7da1140088b2f4160ca51c71553c561d0df5/matplotlib-3.7.5-cp311-cp311-macosx_10_12_x86_64.whl", hash = "sha256:4ddf7fc0e0dc553891a117aa083039088d8a07686d4c93fb8a810adca68810af", size = 7439905, upload-time = "2024-02-16T10:48:38.951Z" }, + { url = "https://files.pythonhosted.org/packages/84/c1/a7705b24f8f9b4d7ceea0002c13bae50cf9423f299f56d8c47a5cd2627d2/matplotlib-3.7.5-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:0ccb830fc29442360d91be48527809f23a5dcaee8da5f4d9b2d5b867c1b087b8", size = 7342895, upload-time = "2024-02-16T10:48:41.61Z" }, + { url = "https://files.pythonhosted.org/packages/94/6e/55d7d8310c96a7459c883aa4be3f5a9338a108278484cbd5c95d480d1cef/matplotlib-3.7.5-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:efc6bb28178e844d1f408dd4d6341ee8a2e906fc9e0fa3dae497da4e0cab775d", size = 11358830, upload-time = "2024-02-16T10:48:44.984Z" }, + { url = "https://files.pythonhosted.org/packages/55/57/3b36afe104216db1cf2f3889c394b403ea87eda77c4815227c9524462ba8/matplotlib-3.7.5-cp311-cp311-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:3b15c4c2d374f249f324f46e883340d494c01768dd5287f8bc00b65b625ab56c", size = 11462575, upload-time = "2024-02-16T10:48:48.437Z" }, + { url = "https://files.pythonhosted.org/packages/f3/0b/fabcf5f66b12fab5c4110d06a6c0fed875c7e63bc446403f58f9dadc9999/matplotlib-3.7.5-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:3d028555421912307845e59e3de328260b26d055c5dac9b182cc9783854e98fb", size = 11584280, upload-time = "2024-02-16T10:48:53.022Z" }, + { url = "https://files.pythonhosted.org/packages/47/a9/1ad7df27a9da70b62109584632f83fe6ef45774701199c44d5777107c240/matplotlib-3.7.5-cp311-cp311-win32.whl", hash = "sha256:fe184b4625b4052fa88ef350b815559dd90cc6cc8e97b62f966e1ca84074aafa", size = 7340429, upload-time = "2024-02-16T10:48:56.505Z" }, + { url = "https://files.pythonhosted.org/packages/e3/b1/1b6c34b89173d6c206dc5a4028e8518b4dfee3569c13bdc0c88d0486cae7/matplotlib-3.7.5-cp311-cp311-win_amd64.whl", hash = "sha256:084f1f0f2f1010868c6f1f50b4e1c6f2fb201c58475494f1e5b66fed66093647", size = 7507112, upload-time = "2024-02-16T10:48:59.659Z" }, + { url = "https://files.pythonhosted.org/packages/75/dc/4e341a3ef36f3e7321aec0741317f12c7a23264be708a97972bf018c34af/matplotlib-3.7.5-cp312-cp312-macosx_10_12_universal2.whl", hash = "sha256:34bceb9d8ddb142055ff27cd7135f539f2f01be2ce0bafbace4117abe58f8fe4", size = 8323797, upload-time = "2024-02-16T10:49:02.872Z" }, + { url = "https://files.pythonhosted.org/packages/af/83/bbb482d678362ceb68cc59ec4fc705dde636025969361dac77be868541ef/matplotlib-3.7.5-cp312-cp312-macosx_10_12_x86_64.whl", hash = "sha256:c5a2134162273eb8cdfd320ae907bf84d171de948e62180fa372a3ca7cf0f433", size = 7439549, upload-time = "2024-02-16T10:49:05.743Z" }, + { url = "https://files.pythonhosted.org/packages/1a/ee/e49a92d9e369b2b9e4373894171cb4e641771cd7f81bde1d8b6fb8c60842/matplotlib-3.7.5-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:039ad54683a814002ff37bf7981aa1faa40b91f4ff84149beb53d1eb64617980", size = 7341788, upload-time = "2024-02-16T10:49:09.143Z" }, + { url = "https://files.pythonhosted.org/packages/48/79/89cb2fc5ddcfc3d440a739df04dbe6e4e72b1153d1ebd32b45d42eb71d27/matplotlib-3.7.5-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:4d742ccd1b09e863b4ca58291728db645b51dab343eebb08d5d4b31b308296ce", size = 11356329, upload-time = "2024-02-16T10:49:12.156Z" }, + { url = "https://files.pythonhosted.org/packages/ff/25/84f181cdae5c9eba6fd1c2c35642aec47233425fe3b0d6fccdb323fb36e0/matplotlib-3.7.5-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:743b1c488ca6a2bc7f56079d282e44d236bf375968bfd1b7ba701fd4d0fa32d6", size = 11577813, upload-time = "2024-02-16T10:49:15.986Z" }, + { url = "https://files.pythonhosted.org/packages/9f/24/b2db065d40e58033b3350222fb8bbb0ffcb834029df9c1f9349dd9c7dd45/matplotlib-3.7.5-cp312-cp312-win_amd64.whl", hash = "sha256:fbf730fca3e1f23713bc1fae0a57db386e39dc81ea57dc305c67f628c1d7a342", size = 7507667, upload-time = "2024-02-16T10:49:19.6Z" }, + { url = "https://files.pythonhosted.org/packages/e3/72/50a38c8fd5dc845b06f8e71c9da802db44b81baabf4af8be78bb8a5622ea/matplotlib-3.7.5-cp38-cp38-macosx_10_12_universal2.whl", hash = "sha256:cfff9b838531698ee40e40ea1a8a9dc2c01edb400b27d38de6ba44c1f9a8e3d2", size = 8322659, upload-time = "2024-02-16T10:49:23.206Z" }, + { url = "https://files.pythonhosted.org/packages/b1/ea/129163dcd21db6da5d559a8160c4a74c1dc5f96ac246a3d4248b43c7648d/matplotlib-3.7.5-cp38-cp38-macosx_10_12_x86_64.whl", hash = "sha256:1dbcca4508bca7847fe2d64a05b237a3dcaec1f959aedb756d5b1c67b770c5ee", size = 7438408, upload-time = "2024-02-16T10:49:27.462Z" }, + { url = "https://files.pythonhosted.org/packages/aa/59/4d13e5b6298b1ca5525eea8c68d3806ae93ab6d0bb17ca9846aa3156b92b/matplotlib-3.7.5-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:4cdf4ef46c2a1609a50411b66940b31778db1e4b73d4ecc2eaa40bd588979b13", size = 7341782, upload-time = "2024-02-16T10:49:32.173Z" }, + { url = "https://files.pythonhosted.org/packages/9e/c4/f562df04b08487731743511ff274ae5d31dce2ff3e5621f8b070d20ab54a/matplotlib-3.7.5-cp38-cp38-manylinux_2_12_i686.manylinux2010_i686.whl", hash = "sha256:167200ccfefd1674b60e957186dfd9baf58b324562ad1a28e5d0a6b3bea77905", size = 9196487, upload-time = "2024-02-16T10:49:37.971Z" }, + { url = "https://files.pythonhosted.org/packages/30/33/cc27211d2ffeee4fd7402dca137b6e8a83f6dcae3d4be8d0ad5068555561/matplotlib-3.7.5-cp38-cp38-manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:53e64522934df6e1818b25fd48cf3b645b11740d78e6ef765fbb5fa5ce080d02", size = 9213051, upload-time = "2024-02-16T10:49:43.916Z" }, + { url = "https://files.pythonhosted.org/packages/9b/9d/8bd37c86b79312c9dbcfa379dec32303f9b38e8456e0829d7e666a0e0a05/matplotlib-3.7.5-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d3e3bc79b2d7d615067bd010caff9243ead1fc95cf735c16e4b2583173f717eb", size = 11370807, upload-time = "2024-02-16T10:49:47.701Z" }, + { url = "https://files.pythonhosted.org/packages/c0/1e/b24a07a849c8d458f1b3724f49029f0dedf748bdedb4d5f69491314838b6/matplotlib-3.7.5-cp38-cp38-win32.whl", hash = "sha256:6b641b48c6819726ed47c55835cdd330e53747d4efff574109fd79b2d8a13748", size = 7340461, upload-time = "2024-02-16T10:49:51.597Z" }, + { url = "https://files.pythonhosted.org/packages/16/51/58b0b9de42fe1e665736d9286f88b5f1556a0e22bed8a71f468231761083/matplotlib-3.7.5-cp38-cp38-win_amd64.whl", hash = "sha256:f0b60993ed3488b4532ec6b697059897891927cbfc2b8d458a891b60ec03d9d7", size = 7507471, upload-time = "2024-02-16T10:49:54.353Z" }, + { url = "https://files.pythonhosted.org/packages/0d/00/17487e9e8949ca623af87f6c8767408efe7530b7e1f4d6897fa7fa940834/matplotlib-3.7.5-cp39-cp39-macosx_10_12_universal2.whl", hash = "sha256:090964d0afaff9c90e4d8de7836757e72ecfb252fb02884016d809239f715651", size = 8323175, upload-time = "2024-02-16T10:49:57.743Z" }, + { url = "https://files.pythonhosted.org/packages/6a/84/be0acd521fa9d6697657cf35878153f8009a42b4b75237aebc302559a8a9/matplotlib-3.7.5-cp39-cp39-macosx_10_12_x86_64.whl", hash = "sha256:9fc6fcfbc55cd719bc0bfa60bde248eb68cf43876d4c22864603bdd23962ba25", size = 7438737, upload-time = "2024-02-16T10:50:00.683Z" }, + { url = "https://files.pythonhosted.org/packages/17/39/175f36a6d68d0cf47a4fecbae9728048355df23c9feca8688f1476b198e6/matplotlib-3.7.5-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:5e7cc3078b019bb863752b8b60e8b269423000f1603cb2299608231996bd9d54", size = 7341916, upload-time = "2024-02-16T10:50:05.04Z" }, + { url = "https://files.pythonhosted.org/packages/36/c0/9a1c2a79f85c15d41b60877cbc333694ed80605e5c97a33880c4ecfd5bf1/matplotlib-3.7.5-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:1e4e9a868e8163abaaa8259842d85f949a919e1ead17644fb77a60427c90473c", size = 11352264, upload-time = "2024-02-16T10:50:08.955Z" }, + { url = "https://files.pythonhosted.org/packages/a6/39/b0204e0e7a899b0676733366a55ccafa723799b719bc7f2e85e5ecde26a0/matplotlib-3.7.5-cp39-cp39-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:fa7ebc995a7d747dacf0a717d0eb3aa0f0c6a0e9ea88b0194d3a3cd241a1500f", size = 11454722, upload-time = "2024-02-16T10:50:13.231Z" }, + { url = "https://files.pythonhosted.org/packages/d8/39/64dd1d36c79e72e614977db338d180cf204cf658927c05a8ef2d47feb4c0/matplotlib-3.7.5-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:3785bfd83b05fc0e0c2ae4c4a90034fe693ef96c679634756c50fe6efcc09856", size = 11576343, upload-time = "2024-02-16T10:50:17.626Z" }, + { url = "https://files.pythonhosted.org/packages/31/b4/e77bc11394d858bdf15e356980fceb4ac9604b0fa8212ef3ca4f1dc166b8/matplotlib-3.7.5-cp39-cp39-win32.whl", hash = "sha256:29b058738c104d0ca8806395f1c9089dfe4d4f0f78ea765c6c704469f3fffc81", size = 7340455, upload-time = "2024-02-16T10:50:21.448Z" }, + { url = "https://files.pythonhosted.org/packages/4a/84/081820c596b9555ecffc6819ee71f847f2fbb0d7c70a42c1eeaa54edf3e0/matplotlib-3.7.5-cp39-cp39-win_amd64.whl", hash = "sha256:fd4028d570fa4b31b7b165d4a685942ae9cdc669f33741e388c01857d9723eab", size = 7507711, upload-time = "2024-02-16T10:50:24.387Z" }, + { url = "https://files.pythonhosted.org/packages/27/6c/1bb10f3d6f337b9faa2e96a251bd87ba5fed85a608df95eb4d69acc109f0/matplotlib-3.7.5-pp38-pypy38_pp73-macosx_10_12_x86_64.whl", hash = "sha256:2a9a3f4d6a7f88a62a6a18c7e6a84aedcaf4faf0708b4ca46d87b19f1b526f88", size = 7397285, upload-time = "2024-02-16T10:50:27.375Z" }, + { url = "https://files.pythonhosted.org/packages/b2/36/66cfea213e9ba91cda9e257542c249ed235d49021af71c2e8007107d7d4c/matplotlib-3.7.5-pp38-pypy38_pp73-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:b9b3fd853d4a7f008a938df909b96db0b454225f935d3917520305b90680579c", size = 7552612, upload-time = "2024-02-16T10:50:30.65Z" }, + { url = "https://files.pythonhosted.org/packages/77/df/16655199bf984c37c6a816b854bc032b56aef521aadc04f27928422f3c91/matplotlib-3.7.5-pp38-pypy38_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f0ad550da9f160737d7890217c5eeed4337d07e83ca1b2ca6535078f354e7675", size = 7515564, upload-time = "2024-02-16T10:50:33.589Z" }, + { url = "https://files.pythonhosted.org/packages/5b/c8/3534c3705a677b71abb6be33609ba129fdeae2ea4e76b2fd3ab62c86fab3/matplotlib-3.7.5-pp38-pypy38_pp73-win_amd64.whl", hash = "sha256:20da7924a08306a861b3f2d1da0d1aa9a6678e480cf8eacffe18b565af2813e7", size = 7521336, upload-time = "2024-02-16T10:50:36.4Z" }, + { url = "https://files.pythonhosted.org/packages/20/a0/c5c0d410798b387ed3a177a5a7eba21055dd9c41d4b15bd0861241a5a60e/matplotlib-3.7.5-pp39-pypy39_pp73-macosx_10_12_x86_64.whl", hash = "sha256:b45c9798ea6bb920cb77eb7306409756a7fab9db9b463e462618e0559aecb30e", size = 7397931, upload-time = "2024-02-16T10:50:39.477Z" }, + { url = "https://files.pythonhosted.org/packages/c3/2f/9e9509727d4c7d1b8e2c88e9330a97d54a1dd20bd316a0c8d2f8b38c4513/matplotlib-3.7.5-pp39-pypy39_pp73-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:a99866267da1e561c7776fe12bf4442174b79aac1a47bd7e627c7e4d077ebd83", size = 7553224, upload-time = "2024-02-16T10:50:42.82Z" }, + { url = "https://files.pythonhosted.org/packages/89/0c/5f3e403dcf5c23799c92b0139dd00e41caf23983e9281f5bfeba3065e7d2/matplotlib-3.7.5-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:2b6aa62adb6c268fc87d80f963aca39c64615c31830b02697743c95590ce3fbb", size = 7513250, upload-time = "2024-02-16T10:50:46.504Z" }, + { url = "https://files.pythonhosted.org/packages/87/e0/03eba0a8c3775ef910dbb3a287114a64c47abbcaeab2543c59957f155a86/matplotlib-3.7.5-pp39-pypy39_pp73-win_amd64.whl", hash = "sha256:e530ab6a0afd082d2e9c17eb1eb064a63c5b09bb607b2b74fa41adbe3e162286", size = 7521729, upload-time = "2024-02-16T10:50:50.063Z" }, ] [[package]] @@ -2412,48 +2412,48 @@ dependencies = [ { name = "pyparsing", version = "3.2.1", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version == '3.9.*'" }, { name = "python-dateutil", marker = "python_full_version == '3.9.*'" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/df/17/1747b4154034befd0ed33b52538f5eb7752d05bb51c5e2a31470c3bc7d52/matplotlib-3.9.4.tar.gz", hash = "sha256:1e00e8be7393cbdc6fedfa8a6fba02cf3e83814b285db1c60b906a023ba41bc3", size = 36106529 } -wheels = [ - { url = "https://files.pythonhosted.org/packages/7e/94/27d2e2c30d54b56c7b764acc1874a909e34d1965a427fc7092bb6a588b63/matplotlib-3.9.4-cp310-cp310-macosx_10_12_x86_64.whl", hash = "sha256:c5fdd7abfb706dfa8d307af64a87f1a862879ec3cd8d0ec8637458f0885b9c50", size = 7885089 }, - { url = "https://files.pythonhosted.org/packages/c6/25/828273307e40a68eb8e9df832b6b2aaad075864fdc1de4b1b81e40b09e48/matplotlib-3.9.4-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:d89bc4e85e40a71d1477780366c27fb7c6494d293e1617788986f74e2a03d7ff", size = 7770600 }, - { url = "https://files.pythonhosted.org/packages/f2/65/f841a422ec994da5123368d76b126acf4fc02ea7459b6e37c4891b555b83/matplotlib-3.9.4-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:ddf9f3c26aae695c5daafbf6b94e4c1a30d6cd617ba594bbbded3b33a1fcfa26", size = 8200138 }, - { url = "https://files.pythonhosted.org/packages/07/06/272aca07a38804d93b6050813de41ca7ab0e29ba7a9dd098e12037c919a9/matplotlib-3.9.4-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:18ebcf248030173b59a868fda1fe42397253f6698995b55e81e1f57431d85e50", size = 8312711 }, - { url = "https://files.pythonhosted.org/packages/98/37/f13e23b233c526b7e27ad61be0a771894a079e0f7494a10d8d81557e0e9a/matplotlib-3.9.4-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:974896ec43c672ec23f3f8c648981e8bc880ee163146e0312a9b8def2fac66f5", size = 9090622 }, - { url = "https://files.pythonhosted.org/packages/4f/8c/b1f5bd2bd70e60f93b1b54c4d5ba7a992312021d0ddddf572f9a1a6d9348/matplotlib-3.9.4-cp310-cp310-win_amd64.whl", hash = "sha256:4598c394ae9711cec135639374e70871fa36b56afae17bdf032a345be552a88d", size = 7828211 }, - { url = "https://files.pythonhosted.org/packages/74/4b/65be7959a8fa118a3929b49a842de5b78bb55475236fcf64f3e308ff74a0/matplotlib-3.9.4-cp311-cp311-macosx_10_12_x86_64.whl", hash = "sha256:d4dd29641d9fb8bc4492420c5480398dd40a09afd73aebe4eb9d0071a05fbe0c", size = 7894430 }, - { url = "https://files.pythonhosted.org/packages/e9/18/80f70d91896e0a517b4a051c3fd540daa131630fd75e02e250365353b253/matplotlib-3.9.4-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:30e5b22e8bcfb95442bf7d48b0d7f3bdf4a450cbf68986ea45fca3d11ae9d099", size = 7780045 }, - { url = "https://files.pythonhosted.org/packages/a2/73/ccb381026e3238c5c25c3609ba4157b2d1a617ec98d65a8b4ee4e1e74d02/matplotlib-3.9.4-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:2bb0030d1d447fd56dcc23b4c64a26e44e898f0416276cac1ebc25522e0ac249", size = 8209906 }, - { url = "https://files.pythonhosted.org/packages/ab/33/1648da77b74741c89f5ea95cbf42a291b4b364f2660b316318811404ed97/matplotlib-3.9.4-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:aca90ed222ac3565d2752b83dbb27627480d27662671e4d39da72e97f657a423", size = 8322873 }, - { url = "https://files.pythonhosted.org/packages/57/d3/8447ba78bc6593c9044c372d1609f8ea10fb1e071e7a9e0747bea74fc16c/matplotlib-3.9.4-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:a181b2aa2906c608fcae72f977a4a2d76e385578939891b91c2550c39ecf361e", size = 9099566 }, - { url = "https://files.pythonhosted.org/packages/23/e1/4f0e237bf349c02ff9d1b6e7109f1a17f745263809b9714a8576dc17752b/matplotlib-3.9.4-cp311-cp311-win_amd64.whl", hash = "sha256:1f6882828231eca17f501c4dcd98a05abb3f03d157fbc0769c6911fe08b6cfd3", size = 7838065 }, - { url = "https://files.pythonhosted.org/packages/1a/2b/c918bf6c19d6445d1cefe3d2e42cb740fb997e14ab19d4daeb6a7ab8a157/matplotlib-3.9.4-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:dfc48d67e6661378a21c2983200a654b72b5c5cdbd5d2cf6e5e1ece860f0cc70", size = 7891131 }, - { url = "https://files.pythonhosted.org/packages/c1/e5/b4e8fc601ca302afeeabf45f30e706a445c7979a180e3a978b78b2b681a4/matplotlib-3.9.4-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:47aef0fab8332d02d68e786eba8113ffd6f862182ea2999379dec9e237b7e483", size = 7776365 }, - { url = "https://files.pythonhosted.org/packages/99/06/b991886c506506476e5d83625c5970c656a491b9f80161458fed94597808/matplotlib-3.9.4-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:fba1f52c6b7dc764097f52fd9ab627b90db452c9feb653a59945de16752e965f", size = 8200707 }, - { url = "https://files.pythonhosted.org/packages/c3/e2/556b627498cb27e61026f2d1ba86a78ad1b836fef0996bef5440e8bc9559/matplotlib-3.9.4-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:173ac3748acaac21afcc3fa1633924609ba1b87749006bc25051c52c422a5d00", size = 8313761 }, - { url = "https://files.pythonhosted.org/packages/58/ff/165af33ec766ff818306ea88e91f9f60d2a6ed543be1eb122a98acbf3b0d/matplotlib-3.9.4-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:320edea0cadc07007765e33f878b13b3738ffa9745c5f707705692df70ffe0e0", size = 9095284 }, - { url = "https://files.pythonhosted.org/packages/9f/8b/3d0c7a002db3b1ed702731c2a9a06d78d035f1f2fb0fb936a8e43cc1e9f4/matplotlib-3.9.4-cp312-cp312-win_amd64.whl", hash = "sha256:a4a4cfc82330b27042a7169533da7991e8789d180dd5b3daeaee57d75cd5a03b", size = 7841160 }, - { url = "https://files.pythonhosted.org/packages/49/b1/999f89a7556d101b23a2f0b54f1b6e140d73f56804da1398f2f0bc0924bc/matplotlib-3.9.4-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:37eeffeeca3c940985b80f5b9a7b95ea35671e0e7405001f249848d2b62351b6", size = 7891499 }, - { url = "https://files.pythonhosted.org/packages/87/7b/06a32b13a684977653396a1bfcd34d4e7539c5d55c8cbfaa8ae04d47e4a9/matplotlib-3.9.4-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:3e7465ac859ee4abcb0d836137cd8414e7bb7ad330d905abced457217d4f0f45", size = 7776802 }, - { url = "https://files.pythonhosted.org/packages/65/87/ac498451aff739e515891bbb92e566f3c7ef31891aaa878402a71f9b0910/matplotlib-3.9.4-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:f4c12302c34afa0cf061bea23b331e747e5e554b0fa595c96e01c7b75bc3b858", size = 8200802 }, - { url = "https://files.pythonhosted.org/packages/f8/6b/9eb761c00e1cb838f6c92e5f25dcda3f56a87a52f6cb8fdfa561e6cf6a13/matplotlib-3.9.4-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:2b8c97917f21b75e72108b97707ba3d48f171541a74aa2a56df7a40626bafc64", size = 8313880 }, - { url = "https://files.pythonhosted.org/packages/d7/a2/c8eaa600e2085eec7e38cbbcc58a30fc78f8224939d31d3152bdafc01fd1/matplotlib-3.9.4-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:0229803bd7e19271b03cb09f27db76c918c467aa4ce2ae168171bc67c3f508df", size = 9094637 }, - { url = "https://files.pythonhosted.org/packages/71/1f/c6e1daea55b7bfeb3d84c6cb1abc449f6a02b181e7e2a5e4db34c3afb793/matplotlib-3.9.4-cp313-cp313-win_amd64.whl", hash = "sha256:7c0d8ef442ebf56ff5e206f8083d08252ee738e04f3dc88ea882853a05488799", size = 7841311 }, - { url = "https://files.pythonhosted.org/packages/c0/3a/2757d3f7d388b14dd48f5a83bea65b6d69f000e86b8f28f74d86e0d375bd/matplotlib-3.9.4-cp313-cp313t-macosx_10_13_x86_64.whl", hash = "sha256:a04c3b00066a688834356d196136349cb32f5e1003c55ac419e91585168b88fb", size = 7919989 }, - { url = "https://files.pythonhosted.org/packages/24/28/f5077c79a4f521589a37fe1062d6a6ea3534e068213f7357e7cfffc2e17a/matplotlib-3.9.4-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:04c519587f6c210626741a1e9a68eefc05966ede24205db8982841826af5871a", size = 7809417 }, - { url = "https://files.pythonhosted.org/packages/36/c8/c523fd2963156692916a8eb7d4069084cf729359f7955cf09075deddfeaf/matplotlib-3.9.4-cp313-cp313t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:308afbf1a228b8b525fcd5cec17f246bbbb63b175a3ef6eb7b4d33287ca0cf0c", size = 8226258 }, - { url = "https://files.pythonhosted.org/packages/f6/88/499bf4b8fa9349b6f5c0cf4cead0ebe5da9d67769129f1b5651e5ac51fbc/matplotlib-3.9.4-cp313-cp313t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ddb3b02246ddcffd3ce98e88fed5b238bc5faff10dbbaa42090ea13241d15764", size = 8335849 }, - { url = "https://files.pythonhosted.org/packages/b8/9f/20a4156b9726188646a030774ee337d5ff695a965be45ce4dbcb9312c170/matplotlib-3.9.4-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:8a75287e9cb9eee48cb79ec1d806f75b29c0fde978cb7223a1f4c5848d696041", size = 9102152 }, - { url = "https://files.pythonhosted.org/packages/10/11/237f9c3a4e8d810b1759b67ff2da7c32c04f9c80aa475e7beb36ed43a8fb/matplotlib-3.9.4-cp313-cp313t-win_amd64.whl", hash = "sha256:488deb7af140f0ba86da003e66e10d55ff915e152c78b4b66d231638400b1965", size = 7896987 }, - { url = "https://files.pythonhosted.org/packages/56/eb/501b465c9fef28f158e414ea3a417913dc2ac748564c7ed41535f23445b4/matplotlib-3.9.4-cp39-cp39-macosx_10_12_x86_64.whl", hash = "sha256:3c3724d89a387ddf78ff88d2a30ca78ac2b4c89cf37f2db4bd453c34799e933c", size = 7885919 }, - { url = "https://files.pythonhosted.org/packages/da/36/236fbd868b6c91309a5206bd90c3f881f4f44b2d997cd1d6239ef652f878/matplotlib-3.9.4-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:d5f0a8430ffe23d7e32cfd86445864ccad141797f7d25b7c41759a5b5d17cfd7", size = 7771486 }, - { url = "https://files.pythonhosted.org/packages/e0/4b/105caf2d54d5ed11d9f4335398f5103001a03515f2126c936a752ccf1461/matplotlib-3.9.4-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:6bb0141a21aef3b64b633dc4d16cbd5fc538b727e4958be82a0e1c92a234160e", size = 8201838 }, - { url = "https://files.pythonhosted.org/packages/5d/a7/bb01188fb4013d34d274caf44a2f8091255b0497438e8b6c0a7c1710c692/matplotlib-3.9.4-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:57aa235109e9eed52e2c2949db17da185383fa71083c00c6c143a60e07e0888c", size = 8314492 }, - { url = "https://files.pythonhosted.org/packages/33/19/02e1a37f7141fc605b193e927d0a9cdf9dc124a20b9e68793f4ffea19695/matplotlib-3.9.4-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:b18c600061477ccfdd1e6fd050c33d8be82431700f3452b297a56d9ed7037abb", size = 9092500 }, - { url = "https://files.pythonhosted.org/packages/57/68/c2feb4667adbf882ffa4b3e0ac9967f848980d9f8b5bebd86644aa67ce6a/matplotlib-3.9.4-cp39-cp39-win_amd64.whl", hash = "sha256:ef5f2d1b67d2d2145ff75e10f8c008bfbf71d45137c4b648c87193e7dd053eac", size = 7822962 }, - { url = "https://files.pythonhosted.org/packages/0c/22/2ef6a364cd3f565442b0b055e0599744f1e4314ec7326cdaaa48a4d864d7/matplotlib-3.9.4-pp39-pypy39_pp73-macosx_10_15_x86_64.whl", hash = "sha256:44e0ed786d769d85bc787b0606a53f2d8d2d1d3c8a2608237365e9121c1a338c", size = 7877995 }, - { url = "https://files.pythonhosted.org/packages/87/b8/2737456e566e9f4d94ae76b8aa0d953d9acb847714f9a7ad80184474f5be/matplotlib-3.9.4-pp39-pypy39_pp73-macosx_11_0_arm64.whl", hash = "sha256:09debb9ce941eb23ecdbe7eab972b1c3e0276dcf01688073faff7b0f61d6c6ca", size = 7769300 }, - { url = "https://files.pythonhosted.org/packages/b2/1f/e709c6ec7b5321e6568769baa288c7178e60a93a9da9e682b39450da0e29/matplotlib-3.9.4-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:bcc53cf157a657bfd03afab14774d54ba73aa84d42cfe2480c91bd94873952db", size = 8313423 }, - { url = "https://files.pythonhosted.org/packages/5e/b6/5a1f868782cd13f053a679984e222007ecff654a9bfbac6b27a65f4eeb05/matplotlib-3.9.4-pp39-pypy39_pp73-win_amd64.whl", hash = "sha256:ad45da51be7ad02387801fd154ef74d942f49fe3fcd26a64c94842ba7ec0d865", size = 7854624 }, +sdist = { url = "https://files.pythonhosted.org/packages/df/17/1747b4154034befd0ed33b52538f5eb7752d05bb51c5e2a31470c3bc7d52/matplotlib-3.9.4.tar.gz", hash = "sha256:1e00e8be7393cbdc6fedfa8a6fba02cf3e83814b285db1c60b906a023ba41bc3", size = 36106529, upload-time = "2024-12-13T05:56:34.184Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/7e/94/27d2e2c30d54b56c7b764acc1874a909e34d1965a427fc7092bb6a588b63/matplotlib-3.9.4-cp310-cp310-macosx_10_12_x86_64.whl", hash = "sha256:c5fdd7abfb706dfa8d307af64a87f1a862879ec3cd8d0ec8637458f0885b9c50", size = 7885089, upload-time = "2024-12-13T05:54:24.224Z" }, + { url = "https://files.pythonhosted.org/packages/c6/25/828273307e40a68eb8e9df832b6b2aaad075864fdc1de4b1b81e40b09e48/matplotlib-3.9.4-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:d89bc4e85e40a71d1477780366c27fb7c6494d293e1617788986f74e2a03d7ff", size = 7770600, upload-time = "2024-12-13T05:54:27.214Z" }, + { url = "https://files.pythonhosted.org/packages/f2/65/f841a422ec994da5123368d76b126acf4fc02ea7459b6e37c4891b555b83/matplotlib-3.9.4-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:ddf9f3c26aae695c5daafbf6b94e4c1a30d6cd617ba594bbbded3b33a1fcfa26", size = 8200138, upload-time = "2024-12-13T05:54:29.497Z" }, + { url = "https://files.pythonhosted.org/packages/07/06/272aca07a38804d93b6050813de41ca7ab0e29ba7a9dd098e12037c919a9/matplotlib-3.9.4-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:18ebcf248030173b59a868fda1fe42397253f6698995b55e81e1f57431d85e50", size = 8312711, upload-time = "2024-12-13T05:54:34.396Z" }, + { url = "https://files.pythonhosted.org/packages/98/37/f13e23b233c526b7e27ad61be0a771894a079e0f7494a10d8d81557e0e9a/matplotlib-3.9.4-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:974896ec43c672ec23f3f8c648981e8bc880ee163146e0312a9b8def2fac66f5", size = 9090622, upload-time = "2024-12-13T05:54:36.808Z" }, + { url = "https://files.pythonhosted.org/packages/4f/8c/b1f5bd2bd70e60f93b1b54c4d5ba7a992312021d0ddddf572f9a1a6d9348/matplotlib-3.9.4-cp310-cp310-win_amd64.whl", hash = "sha256:4598c394ae9711cec135639374e70871fa36b56afae17bdf032a345be552a88d", size = 7828211, upload-time = "2024-12-13T05:54:40.596Z" }, + { url = "https://files.pythonhosted.org/packages/74/4b/65be7959a8fa118a3929b49a842de5b78bb55475236fcf64f3e308ff74a0/matplotlib-3.9.4-cp311-cp311-macosx_10_12_x86_64.whl", hash = "sha256:d4dd29641d9fb8bc4492420c5480398dd40a09afd73aebe4eb9d0071a05fbe0c", size = 7894430, upload-time = "2024-12-13T05:54:44.049Z" }, + { url = "https://files.pythonhosted.org/packages/e9/18/80f70d91896e0a517b4a051c3fd540daa131630fd75e02e250365353b253/matplotlib-3.9.4-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:30e5b22e8bcfb95442bf7d48b0d7f3bdf4a450cbf68986ea45fca3d11ae9d099", size = 7780045, upload-time = "2024-12-13T05:54:46.414Z" }, + { url = "https://files.pythonhosted.org/packages/a2/73/ccb381026e3238c5c25c3609ba4157b2d1a617ec98d65a8b4ee4e1e74d02/matplotlib-3.9.4-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:2bb0030d1d447fd56dcc23b4c64a26e44e898f0416276cac1ebc25522e0ac249", size = 8209906, upload-time = "2024-12-13T05:54:49.459Z" }, + { url = "https://files.pythonhosted.org/packages/ab/33/1648da77b74741c89f5ea95cbf42a291b4b364f2660b316318811404ed97/matplotlib-3.9.4-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:aca90ed222ac3565d2752b83dbb27627480d27662671e4d39da72e97f657a423", size = 8322873, upload-time = "2024-12-13T05:54:53.066Z" }, + { url = "https://files.pythonhosted.org/packages/57/d3/8447ba78bc6593c9044c372d1609f8ea10fb1e071e7a9e0747bea74fc16c/matplotlib-3.9.4-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:a181b2aa2906c608fcae72f977a4a2d76e385578939891b91c2550c39ecf361e", size = 9099566, upload-time = "2024-12-13T05:54:55.522Z" }, + { url = "https://files.pythonhosted.org/packages/23/e1/4f0e237bf349c02ff9d1b6e7109f1a17f745263809b9714a8576dc17752b/matplotlib-3.9.4-cp311-cp311-win_amd64.whl", hash = "sha256:1f6882828231eca17f501c4dcd98a05abb3f03d157fbc0769c6911fe08b6cfd3", size = 7838065, upload-time = "2024-12-13T05:54:58.337Z" }, + { url = "https://files.pythonhosted.org/packages/1a/2b/c918bf6c19d6445d1cefe3d2e42cb740fb997e14ab19d4daeb6a7ab8a157/matplotlib-3.9.4-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:dfc48d67e6661378a21c2983200a654b72b5c5cdbd5d2cf6e5e1ece860f0cc70", size = 7891131, upload-time = "2024-12-13T05:55:02.837Z" }, + { url = "https://files.pythonhosted.org/packages/c1/e5/b4e8fc601ca302afeeabf45f30e706a445c7979a180e3a978b78b2b681a4/matplotlib-3.9.4-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:47aef0fab8332d02d68e786eba8113ffd6f862182ea2999379dec9e237b7e483", size = 7776365, upload-time = "2024-12-13T05:55:05.158Z" }, + { url = "https://files.pythonhosted.org/packages/99/06/b991886c506506476e5d83625c5970c656a491b9f80161458fed94597808/matplotlib-3.9.4-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:fba1f52c6b7dc764097f52fd9ab627b90db452c9feb653a59945de16752e965f", size = 8200707, upload-time = "2024-12-13T05:55:09.48Z" }, + { url = "https://files.pythonhosted.org/packages/c3/e2/556b627498cb27e61026f2d1ba86a78ad1b836fef0996bef5440e8bc9559/matplotlib-3.9.4-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:173ac3748acaac21afcc3fa1633924609ba1b87749006bc25051c52c422a5d00", size = 8313761, upload-time = "2024-12-13T05:55:12.95Z" }, + { url = "https://files.pythonhosted.org/packages/58/ff/165af33ec766ff818306ea88e91f9f60d2a6ed543be1eb122a98acbf3b0d/matplotlib-3.9.4-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:320edea0cadc07007765e33f878b13b3738ffa9745c5f707705692df70ffe0e0", size = 9095284, upload-time = "2024-12-13T05:55:16.199Z" }, + { url = "https://files.pythonhosted.org/packages/9f/8b/3d0c7a002db3b1ed702731c2a9a06d78d035f1f2fb0fb936a8e43cc1e9f4/matplotlib-3.9.4-cp312-cp312-win_amd64.whl", hash = "sha256:a4a4cfc82330b27042a7169533da7991e8789d180dd5b3daeaee57d75cd5a03b", size = 7841160, upload-time = "2024-12-13T05:55:19.991Z" }, + { url = "https://files.pythonhosted.org/packages/49/b1/999f89a7556d101b23a2f0b54f1b6e140d73f56804da1398f2f0bc0924bc/matplotlib-3.9.4-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:37eeffeeca3c940985b80f5b9a7b95ea35671e0e7405001f249848d2b62351b6", size = 7891499, upload-time = "2024-12-13T05:55:22.142Z" }, + { url = "https://files.pythonhosted.org/packages/87/7b/06a32b13a684977653396a1bfcd34d4e7539c5d55c8cbfaa8ae04d47e4a9/matplotlib-3.9.4-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:3e7465ac859ee4abcb0d836137cd8414e7bb7ad330d905abced457217d4f0f45", size = 7776802, upload-time = "2024-12-13T05:55:25.947Z" }, + { url = "https://files.pythonhosted.org/packages/65/87/ac498451aff739e515891bbb92e566f3c7ef31891aaa878402a71f9b0910/matplotlib-3.9.4-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:f4c12302c34afa0cf061bea23b331e747e5e554b0fa595c96e01c7b75bc3b858", size = 8200802, upload-time = "2024-12-13T05:55:28.461Z" }, + { url = "https://files.pythonhosted.org/packages/f8/6b/9eb761c00e1cb838f6c92e5f25dcda3f56a87a52f6cb8fdfa561e6cf6a13/matplotlib-3.9.4-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:2b8c97917f21b75e72108b97707ba3d48f171541a74aa2a56df7a40626bafc64", size = 8313880, upload-time = "2024-12-13T05:55:30.965Z" }, + { url = "https://files.pythonhosted.org/packages/d7/a2/c8eaa600e2085eec7e38cbbcc58a30fc78f8224939d31d3152bdafc01fd1/matplotlib-3.9.4-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:0229803bd7e19271b03cb09f27db76c918c467aa4ce2ae168171bc67c3f508df", size = 9094637, upload-time = "2024-12-13T05:55:33.701Z" }, + { url = "https://files.pythonhosted.org/packages/71/1f/c6e1daea55b7bfeb3d84c6cb1abc449f6a02b181e7e2a5e4db34c3afb793/matplotlib-3.9.4-cp313-cp313-win_amd64.whl", hash = "sha256:7c0d8ef442ebf56ff5e206f8083d08252ee738e04f3dc88ea882853a05488799", size = 7841311, upload-time = "2024-12-13T05:55:36.737Z" }, + { url = "https://files.pythonhosted.org/packages/c0/3a/2757d3f7d388b14dd48f5a83bea65b6d69f000e86b8f28f74d86e0d375bd/matplotlib-3.9.4-cp313-cp313t-macosx_10_13_x86_64.whl", hash = "sha256:a04c3b00066a688834356d196136349cb32f5e1003c55ac419e91585168b88fb", size = 7919989, upload-time = "2024-12-13T05:55:39.024Z" }, + { url = "https://files.pythonhosted.org/packages/24/28/f5077c79a4f521589a37fe1062d6a6ea3534e068213f7357e7cfffc2e17a/matplotlib-3.9.4-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:04c519587f6c210626741a1e9a68eefc05966ede24205db8982841826af5871a", size = 7809417, upload-time = "2024-12-13T05:55:42.412Z" }, + { url = "https://files.pythonhosted.org/packages/36/c8/c523fd2963156692916a8eb7d4069084cf729359f7955cf09075deddfeaf/matplotlib-3.9.4-cp313-cp313t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:308afbf1a228b8b525fcd5cec17f246bbbb63b175a3ef6eb7b4d33287ca0cf0c", size = 8226258, upload-time = "2024-12-13T05:55:47.259Z" }, + { url = "https://files.pythonhosted.org/packages/f6/88/499bf4b8fa9349b6f5c0cf4cead0ebe5da9d67769129f1b5651e5ac51fbc/matplotlib-3.9.4-cp313-cp313t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ddb3b02246ddcffd3ce98e88fed5b238bc5faff10dbbaa42090ea13241d15764", size = 8335849, upload-time = "2024-12-13T05:55:49.763Z" }, + { url = "https://files.pythonhosted.org/packages/b8/9f/20a4156b9726188646a030774ee337d5ff695a965be45ce4dbcb9312c170/matplotlib-3.9.4-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:8a75287e9cb9eee48cb79ec1d806f75b29c0fde978cb7223a1f4c5848d696041", size = 9102152, upload-time = "2024-12-13T05:55:51.997Z" }, + { url = "https://files.pythonhosted.org/packages/10/11/237f9c3a4e8d810b1759b67ff2da7c32c04f9c80aa475e7beb36ed43a8fb/matplotlib-3.9.4-cp313-cp313t-win_amd64.whl", hash = "sha256:488deb7af140f0ba86da003e66e10d55ff915e152c78b4b66d231638400b1965", size = 7896987, upload-time = "2024-12-13T05:55:55.941Z" }, + { url = "https://files.pythonhosted.org/packages/56/eb/501b465c9fef28f158e414ea3a417913dc2ac748564c7ed41535f23445b4/matplotlib-3.9.4-cp39-cp39-macosx_10_12_x86_64.whl", hash = "sha256:3c3724d89a387ddf78ff88d2a30ca78ac2b4c89cf37f2db4bd453c34799e933c", size = 7885919, upload-time = "2024-12-13T05:55:59.66Z" }, + { url = "https://files.pythonhosted.org/packages/da/36/236fbd868b6c91309a5206bd90c3f881f4f44b2d997cd1d6239ef652f878/matplotlib-3.9.4-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:d5f0a8430ffe23d7e32cfd86445864ccad141797f7d25b7c41759a5b5d17cfd7", size = 7771486, upload-time = "2024-12-13T05:56:04.264Z" }, + { url = "https://files.pythonhosted.org/packages/e0/4b/105caf2d54d5ed11d9f4335398f5103001a03515f2126c936a752ccf1461/matplotlib-3.9.4-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:6bb0141a21aef3b64b633dc4d16cbd5fc538b727e4958be82a0e1c92a234160e", size = 8201838, upload-time = "2024-12-13T05:56:06.792Z" }, + { url = "https://files.pythonhosted.org/packages/5d/a7/bb01188fb4013d34d274caf44a2f8091255b0497438e8b6c0a7c1710c692/matplotlib-3.9.4-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:57aa235109e9eed52e2c2949db17da185383fa71083c00c6c143a60e07e0888c", size = 8314492, upload-time = "2024-12-13T05:56:09.964Z" }, + { url = "https://files.pythonhosted.org/packages/33/19/02e1a37f7141fc605b193e927d0a9cdf9dc124a20b9e68793f4ffea19695/matplotlib-3.9.4-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:b18c600061477ccfdd1e6fd050c33d8be82431700f3452b297a56d9ed7037abb", size = 9092500, upload-time = "2024-12-13T05:56:13.55Z" }, + { url = "https://files.pythonhosted.org/packages/57/68/c2feb4667adbf882ffa4b3e0ac9967f848980d9f8b5bebd86644aa67ce6a/matplotlib-3.9.4-cp39-cp39-win_amd64.whl", hash = "sha256:ef5f2d1b67d2d2145ff75e10f8c008bfbf71d45137c4b648c87193e7dd053eac", size = 7822962, upload-time = "2024-12-13T05:56:16.358Z" }, + { url = "https://files.pythonhosted.org/packages/0c/22/2ef6a364cd3f565442b0b055e0599744f1e4314ec7326cdaaa48a4d864d7/matplotlib-3.9.4-pp39-pypy39_pp73-macosx_10_15_x86_64.whl", hash = "sha256:44e0ed786d769d85bc787b0606a53f2d8d2d1d3c8a2608237365e9121c1a338c", size = 7877995, upload-time = "2024-12-13T05:56:18.805Z" }, + { url = "https://files.pythonhosted.org/packages/87/b8/2737456e566e9f4d94ae76b8aa0d953d9acb847714f9a7ad80184474f5be/matplotlib-3.9.4-pp39-pypy39_pp73-macosx_11_0_arm64.whl", hash = "sha256:09debb9ce941eb23ecdbe7eab972b1c3e0276dcf01688073faff7b0f61d6c6ca", size = 7769300, upload-time = "2024-12-13T05:56:21.315Z" }, + { url = "https://files.pythonhosted.org/packages/b2/1f/e709c6ec7b5321e6568769baa288c7178e60a93a9da9e682b39450da0e29/matplotlib-3.9.4-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:bcc53cf157a657bfd03afab14774d54ba73aa84d42cfe2480c91bd94873952db", size = 8313423, upload-time = "2024-12-13T05:56:26.719Z" }, + { url = "https://files.pythonhosted.org/packages/5e/b6/5a1f868782cd13f053a679984e222007ecff654a9bfbac6b27a65f4eeb05/matplotlib-3.9.4-pp39-pypy39_pp73-win_amd64.whl", hash = "sha256:ad45da51be7ad02387801fd154ef74d942f49fe3fcd26a64c94842ba7ec0d865", size = 7854624, upload-time = "2024-12-13T05:56:29.359Z" }, ] [[package]] @@ -2482,41 +2482,41 @@ dependencies = [ { name = "pyparsing", version = "3.2.1", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.10'" }, { name = "python-dateutil", marker = "python_full_version >= '3.10'" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/68/dd/fa2e1a45fce2d09f4aea3cee169760e672c8262325aa5796c49d543dc7e6/matplotlib-3.10.0.tar.gz", hash = "sha256:b886d02a581b96704c9d1ffe55709e49b4d2d52709ccebc4be42db856e511278", size = 36686418 } -wheels = [ - { url = "https://files.pythonhosted.org/packages/09/ec/3cdff7b5239adaaacefcc4f77c316dfbbdf853c4ed2beec467e0fec31b9f/matplotlib-3.10.0-cp310-cp310-macosx_10_12_x86_64.whl", hash = "sha256:2c5829a5a1dd5a71f0e31e6e8bb449bc0ee9dbfb05ad28fc0c6b55101b3a4be6", size = 8160551 }, - { url = "https://files.pythonhosted.org/packages/41/f2/b518f2c7f29895c9b167bf79f8529c63383ae94eaf49a247a4528e9a148d/matplotlib-3.10.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:a2a43cbefe22d653ab34bb55d42384ed30f611bcbdea1f8d7f431011a2e1c62e", size = 8034853 }, - { url = "https://files.pythonhosted.org/packages/ed/8d/45754b4affdb8f0d1a44e4e2bcd932cdf35b256b60d5eda9f455bb293ed0/matplotlib-3.10.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:607b16c8a73943df110f99ee2e940b8a1cbf9714b65307c040d422558397dac5", size = 8446724 }, - { url = "https://files.pythonhosted.org/packages/09/5a/a113495110ae3e3395c72d82d7bc4802902e46dc797f6b041e572f195c56/matplotlib-3.10.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:01d2b19f13aeec2e759414d3bfe19ddfb16b13a1250add08d46d5ff6f9be83c6", size = 8583905 }, - { url = "https://files.pythonhosted.org/packages/12/b1/8b1655b4c9ed4600c817c419f7eaaf70082630efd7556a5b2e77a8a3cdaf/matplotlib-3.10.0-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:5e6c6461e1fc63df30bf6f80f0b93f5b6784299f721bc28530477acd51bfc3d1", size = 9395223 }, - { url = "https://files.pythonhosted.org/packages/5a/85/b9a54d64585a6b8737a78a61897450403c30f39e0bd3214270bb0b96f002/matplotlib-3.10.0-cp310-cp310-win_amd64.whl", hash = "sha256:994c07b9d9fe8d25951e3202a68c17900679274dadfc1248738dcfa1bd40d7f3", size = 8025355 }, - { url = "https://files.pythonhosted.org/packages/0c/f1/e37f6c84d252867d7ddc418fff70fc661cfd363179263b08e52e8b748e30/matplotlib-3.10.0-cp311-cp311-macosx_10_12_x86_64.whl", hash = "sha256:fd44fc75522f58612ec4a33958a7e5552562b7705b42ef1b4f8c0818e304a363", size = 8171677 }, - { url = "https://files.pythonhosted.org/packages/c7/8b/92e9da1f28310a1f6572b5c55097b0c0ceb5e27486d85fb73b54f5a9b939/matplotlib-3.10.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:c58a9622d5dbeb668f407f35f4e6bfac34bb9ecdcc81680c04d0258169747997", size = 8044945 }, - { url = "https://files.pythonhosted.org/packages/c5/cb/49e83f0fd066937a5bd3bc5c5d63093703f3637b2824df8d856e0558beef/matplotlib-3.10.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:845d96568ec873be63f25fa80e9e7fae4be854a66a7e2f0c8ccc99e94a8bd4ef", size = 8458269 }, - { url = "https://files.pythonhosted.org/packages/b2/7d/2d873209536b9ee17340754118a2a17988bc18981b5b56e6715ee07373ac/matplotlib-3.10.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:5439f4c5a3e2e8eab18e2f8c3ef929772fd5641876db71f08127eed95ab64683", size = 8599369 }, - { url = "https://files.pythonhosted.org/packages/b8/03/57d6cbbe85c61fe4cbb7c94b54dce443d68c21961830833a1f34d056e5ea/matplotlib-3.10.0-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:4673ff67a36152c48ddeaf1135e74ce0d4bce1bbf836ae40ed39c29edf7e2765", size = 9405992 }, - { url = "https://files.pythonhosted.org/packages/14/cf/e382598f98be11bf51dd0bc60eca44a517f6793e3dc8b9d53634a144620c/matplotlib-3.10.0-cp311-cp311-win_amd64.whl", hash = "sha256:7e8632baebb058555ac0cde75db885c61f1212e47723d63921879806b40bec6a", size = 8034580 }, - { url = "https://files.pythonhosted.org/packages/44/c7/6b2d8cb7cc251d53c976799cacd3200add56351c175ba89ab9cbd7c1e68a/matplotlib-3.10.0-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:4659665bc7c9b58f8c00317c3c2a299f7f258eeae5a5d56b4c64226fca2f7c59", size = 8172465 }, - { url = "https://files.pythonhosted.org/packages/42/2a/6d66d0fba41e13e9ca6512a0a51170f43e7e7ed3a8dfa036324100775612/matplotlib-3.10.0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:d44cb942af1693cced2604c33a9abcef6205601c445f6d0dc531d813af8a2f5a", size = 8043300 }, - { url = "https://files.pythonhosted.org/packages/90/60/2a60342b27b90a16bada939a85e29589902b41073f59668b904b15ea666c/matplotlib-3.10.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a994f29e968ca002b50982b27168addfd65f0105610b6be7fa515ca4b5307c95", size = 8448936 }, - { url = "https://files.pythonhosted.org/packages/a7/b2/d872fc3d753516870d520595ddd8ce4dd44fa797a240999f125f58521ad7/matplotlib-3.10.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:9b0558bae37f154fffda54d779a592bc97ca8b4701f1c710055b609a3bac44c8", size = 8594151 }, - { url = "https://files.pythonhosted.org/packages/f4/bd/b2f60cf7f57d014ab33e4f74602a2b5bdc657976db8196bbc022185f6f9c/matplotlib-3.10.0-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:503feb23bd8c8acc75541548a1d709c059b7184cde26314896e10a9f14df5f12", size = 9400347 }, - { url = "https://files.pythonhosted.org/packages/9f/6e/264673e64001b99d747aff5a288eca82826c024437a3694e19aed1decf46/matplotlib-3.10.0-cp312-cp312-win_amd64.whl", hash = "sha256:c40ba2eb08b3f5de88152c2333c58cee7edcead0a2a0d60fcafa116b17117adc", size = 8039144 }, - { url = "https://files.pythonhosted.org/packages/72/11/1b2a094d95dcb6e6edd4a0b238177c439006c6b7a9fe8d31801237bf512f/matplotlib-3.10.0-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:96f2886f5c1e466f21cc41b70c5a0cd47bfa0015eb2d5793c88ebce658600e25", size = 8173073 }, - { url = "https://files.pythonhosted.org/packages/0d/c4/87b6ad2723070511a411ea719f9c70fde64605423b184face4e94986de9d/matplotlib-3.10.0-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:12eaf48463b472c3c0f8dbacdbf906e573013df81a0ab82f0616ea4b11281908", size = 8043892 }, - { url = "https://files.pythonhosted.org/packages/57/69/cb0812a136550b21361335e9ffb7d459bf6d13e03cb7b015555d5143d2d6/matplotlib-3.10.0-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:2fbbabc82fde51391c4da5006f965e36d86d95f6ee83fb594b279564a4c5d0d2", size = 8450532 }, - { url = "https://files.pythonhosted.org/packages/ea/3a/bab9deb4fb199c05e9100f94d7f1c702f78d3241e6a71b784d2b88d7bebd/matplotlib-3.10.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ad2e15300530c1a94c63cfa546e3b7864bd18ea2901317bae8bbf06a5ade6dcf", size = 8593905 }, - { url = "https://files.pythonhosted.org/packages/8b/66/742fd242f989adc1847ddf5f445815f73ad7c46aa3440690cc889cfa423c/matplotlib-3.10.0-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:3547d153d70233a8496859097ef0312212e2689cdf8d7ed764441c77604095ae", size = 9399609 }, - { url = "https://files.pythonhosted.org/packages/fa/d6/54cee7142cef7d910a324a7aedf335c0c147b03658b54d49ec48166f10a6/matplotlib-3.10.0-cp313-cp313-win_amd64.whl", hash = "sha256:c55b20591ced744aa04e8c3e4b7543ea4d650b6c3c4b208c08a05b4010e8b442", size = 8039076 }, - { url = "https://files.pythonhosted.org/packages/43/14/815d072dc36e88753433bfd0385113405efb947e6895ff7b4d2e8614a33b/matplotlib-3.10.0-cp313-cp313t-macosx_10_13_x86_64.whl", hash = "sha256:9ade1003376731a971e398cc4ef38bb83ee8caf0aee46ac6daa4b0506db1fd06", size = 8211000 }, - { url = "https://files.pythonhosted.org/packages/9a/76/34e75f364194ec352678adcb540964be6f35ec7d3d8c75ebcb17e6839359/matplotlib-3.10.0-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:95b710fea129c76d30be72c3b38f330269363fbc6e570a5dd43580487380b5ff", size = 8087707 }, - { url = "https://files.pythonhosted.org/packages/c3/2b/b6bc0dff6a72d333bc7df94a66e6ce662d224e43daa8ad8ae4eaa9a77f55/matplotlib-3.10.0-cp313-cp313t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:5cdbaf909887373c3e094b0318d7ff230b2ad9dcb64da7ade654182872ab2593", size = 8477384 }, - { url = "https://files.pythonhosted.org/packages/c2/2d/b5949fb2b76e9b47ab05e25a5f5f887c70de20d8b0cbc704a4e2ee71c786/matplotlib-3.10.0-cp313-cp313t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:d907fddb39f923d011875452ff1eca29a9e7f21722b873e90db32e5d8ddff12e", size = 8610334 }, - { url = "https://files.pythonhosted.org/packages/d6/9a/6e3c799d5134d9af44b01c787e1360bee38cf51850506ea2e743a787700b/matplotlib-3.10.0-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:3b427392354d10975c1d0f4ee18aa5844640b512d5311ef32efd4dd7db106ede", size = 9406777 }, - { url = "https://files.pythonhosted.org/packages/0e/dd/e6ae97151e5ed648ab2ea48885bc33d39202b640eec7a2910e2c843f7ac0/matplotlib-3.10.0-cp313-cp313t-win_amd64.whl", hash = "sha256:5fd41b0ec7ee45cd960a8e71aea7c946a28a0b8a4dcee47d2856b2af051f334c", size = 8109742 }, - { url = "https://files.pythonhosted.org/packages/32/5f/29def7ce4e815ab939b56280976ee35afffb3bbdb43f332caee74cb8c951/matplotlib-3.10.0-pp310-pypy310_pp73-macosx_10_15_x86_64.whl", hash = "sha256:81713dd0d103b379de4516b861d964b1d789a144103277769238c732229d7f03", size = 8155500 }, - { url = "https://files.pythonhosted.org/packages/de/6d/d570383c9f7ca799d0a54161446f9ce7b17d6c50f2994b653514bcaa108f/matplotlib-3.10.0-pp310-pypy310_pp73-macosx_11_0_arm64.whl", hash = "sha256:359f87baedb1f836ce307f0e850d12bb5f1936f70d035561f90d41d305fdacea", size = 8032398 }, - { url = "https://files.pythonhosted.org/packages/c9/b4/680aa700d99b48e8c4393fa08e9ab8c49c0555ee6f4c9c0a5e8ea8dfde5d/matplotlib-3.10.0-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ae80dc3a4add4665cf2faa90138384a7ffe2a4e37c58d83e115b54287c4f06ef", size = 8587361 }, +sdist = { url = "https://files.pythonhosted.org/packages/68/dd/fa2e1a45fce2d09f4aea3cee169760e672c8262325aa5796c49d543dc7e6/matplotlib-3.10.0.tar.gz", hash = "sha256:b886d02a581b96704c9d1ffe55709e49b4d2d52709ccebc4be42db856e511278", size = 36686418, upload-time = "2024-12-14T06:32:51.547Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/09/ec/3cdff7b5239adaaacefcc4f77c316dfbbdf853c4ed2beec467e0fec31b9f/matplotlib-3.10.0-cp310-cp310-macosx_10_12_x86_64.whl", hash = "sha256:2c5829a5a1dd5a71f0e31e6e8bb449bc0ee9dbfb05ad28fc0c6b55101b3a4be6", size = 8160551, upload-time = "2024-12-14T06:30:36.73Z" }, + { url = "https://files.pythonhosted.org/packages/41/f2/b518f2c7f29895c9b167bf79f8529c63383ae94eaf49a247a4528e9a148d/matplotlib-3.10.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:a2a43cbefe22d653ab34bb55d42384ed30f611bcbdea1f8d7f431011a2e1c62e", size = 8034853, upload-time = "2024-12-14T06:30:40.973Z" }, + { url = "https://files.pythonhosted.org/packages/ed/8d/45754b4affdb8f0d1a44e4e2bcd932cdf35b256b60d5eda9f455bb293ed0/matplotlib-3.10.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:607b16c8a73943df110f99ee2e940b8a1cbf9714b65307c040d422558397dac5", size = 8446724, upload-time = "2024-12-14T06:30:45.325Z" }, + { url = "https://files.pythonhosted.org/packages/09/5a/a113495110ae3e3395c72d82d7bc4802902e46dc797f6b041e572f195c56/matplotlib-3.10.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:01d2b19f13aeec2e759414d3bfe19ddfb16b13a1250add08d46d5ff6f9be83c6", size = 8583905, upload-time = "2024-12-14T06:30:50.869Z" }, + { url = "https://files.pythonhosted.org/packages/12/b1/8b1655b4c9ed4600c817c419f7eaaf70082630efd7556a5b2e77a8a3cdaf/matplotlib-3.10.0-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:5e6c6461e1fc63df30bf6f80f0b93f5b6784299f721bc28530477acd51bfc3d1", size = 9395223, upload-time = "2024-12-14T06:30:55.335Z" }, + { url = "https://files.pythonhosted.org/packages/5a/85/b9a54d64585a6b8737a78a61897450403c30f39e0bd3214270bb0b96f002/matplotlib-3.10.0-cp310-cp310-win_amd64.whl", hash = "sha256:994c07b9d9fe8d25951e3202a68c17900679274dadfc1248738dcfa1bd40d7f3", size = 8025355, upload-time = "2024-12-14T06:30:58.843Z" }, + { url = "https://files.pythonhosted.org/packages/0c/f1/e37f6c84d252867d7ddc418fff70fc661cfd363179263b08e52e8b748e30/matplotlib-3.10.0-cp311-cp311-macosx_10_12_x86_64.whl", hash = "sha256:fd44fc75522f58612ec4a33958a7e5552562b7705b42ef1b4f8c0818e304a363", size = 8171677, upload-time = "2024-12-14T06:31:03.742Z" }, + { url = "https://files.pythonhosted.org/packages/c7/8b/92e9da1f28310a1f6572b5c55097b0c0ceb5e27486d85fb73b54f5a9b939/matplotlib-3.10.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:c58a9622d5dbeb668f407f35f4e6bfac34bb9ecdcc81680c04d0258169747997", size = 8044945, upload-time = "2024-12-14T06:31:08.494Z" }, + { url = "https://files.pythonhosted.org/packages/c5/cb/49e83f0fd066937a5bd3bc5c5d63093703f3637b2824df8d856e0558beef/matplotlib-3.10.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:845d96568ec873be63f25fa80e9e7fae4be854a66a7e2f0c8ccc99e94a8bd4ef", size = 8458269, upload-time = "2024-12-14T06:31:11.346Z" }, + { url = "https://files.pythonhosted.org/packages/b2/7d/2d873209536b9ee17340754118a2a17988bc18981b5b56e6715ee07373ac/matplotlib-3.10.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:5439f4c5a3e2e8eab18e2f8c3ef929772fd5641876db71f08127eed95ab64683", size = 8599369, upload-time = "2024-12-14T06:31:14.677Z" }, + { url = "https://files.pythonhosted.org/packages/b8/03/57d6cbbe85c61fe4cbb7c94b54dce443d68c21961830833a1f34d056e5ea/matplotlib-3.10.0-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:4673ff67a36152c48ddeaf1135e74ce0d4bce1bbf836ae40ed39c29edf7e2765", size = 9405992, upload-time = "2024-12-14T06:31:18.871Z" }, + { url = "https://files.pythonhosted.org/packages/14/cf/e382598f98be11bf51dd0bc60eca44a517f6793e3dc8b9d53634a144620c/matplotlib-3.10.0-cp311-cp311-win_amd64.whl", hash = "sha256:7e8632baebb058555ac0cde75db885c61f1212e47723d63921879806b40bec6a", size = 8034580, upload-time = "2024-12-14T06:31:21.998Z" }, + { url = "https://files.pythonhosted.org/packages/44/c7/6b2d8cb7cc251d53c976799cacd3200add56351c175ba89ab9cbd7c1e68a/matplotlib-3.10.0-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:4659665bc7c9b58f8c00317c3c2a299f7f258eeae5a5d56b4c64226fca2f7c59", size = 8172465, upload-time = "2024-12-14T06:31:24.727Z" }, + { url = "https://files.pythonhosted.org/packages/42/2a/6d66d0fba41e13e9ca6512a0a51170f43e7e7ed3a8dfa036324100775612/matplotlib-3.10.0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:d44cb942af1693cced2604c33a9abcef6205601c445f6d0dc531d813af8a2f5a", size = 8043300, upload-time = "2024-12-14T06:31:28.55Z" }, + { url = "https://files.pythonhosted.org/packages/90/60/2a60342b27b90a16bada939a85e29589902b41073f59668b904b15ea666c/matplotlib-3.10.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a994f29e968ca002b50982b27168addfd65f0105610b6be7fa515ca4b5307c95", size = 8448936, upload-time = "2024-12-14T06:31:32.223Z" }, + { url = "https://files.pythonhosted.org/packages/a7/b2/d872fc3d753516870d520595ddd8ce4dd44fa797a240999f125f58521ad7/matplotlib-3.10.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:9b0558bae37f154fffda54d779a592bc97ca8b4701f1c710055b609a3bac44c8", size = 8594151, upload-time = "2024-12-14T06:31:34.894Z" }, + { url = "https://files.pythonhosted.org/packages/f4/bd/b2f60cf7f57d014ab33e4f74602a2b5bdc657976db8196bbc022185f6f9c/matplotlib-3.10.0-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:503feb23bd8c8acc75541548a1d709c059b7184cde26314896e10a9f14df5f12", size = 9400347, upload-time = "2024-12-14T06:31:39.552Z" }, + { url = "https://files.pythonhosted.org/packages/9f/6e/264673e64001b99d747aff5a288eca82826c024437a3694e19aed1decf46/matplotlib-3.10.0-cp312-cp312-win_amd64.whl", hash = "sha256:c40ba2eb08b3f5de88152c2333c58cee7edcead0a2a0d60fcafa116b17117adc", size = 8039144, upload-time = "2024-12-14T06:31:44.128Z" }, + { url = "https://files.pythonhosted.org/packages/72/11/1b2a094d95dcb6e6edd4a0b238177c439006c6b7a9fe8d31801237bf512f/matplotlib-3.10.0-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:96f2886f5c1e466f21cc41b70c5a0cd47bfa0015eb2d5793c88ebce658600e25", size = 8173073, upload-time = "2024-12-14T06:31:46.592Z" }, + { url = "https://files.pythonhosted.org/packages/0d/c4/87b6ad2723070511a411ea719f9c70fde64605423b184face4e94986de9d/matplotlib-3.10.0-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:12eaf48463b472c3c0f8dbacdbf906e573013df81a0ab82f0616ea4b11281908", size = 8043892, upload-time = "2024-12-14T06:31:49.14Z" }, + { url = "https://files.pythonhosted.org/packages/57/69/cb0812a136550b21361335e9ffb7d459bf6d13e03cb7b015555d5143d2d6/matplotlib-3.10.0-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:2fbbabc82fde51391c4da5006f965e36d86d95f6ee83fb594b279564a4c5d0d2", size = 8450532, upload-time = "2024-12-14T06:31:53.005Z" }, + { url = "https://files.pythonhosted.org/packages/ea/3a/bab9deb4fb199c05e9100f94d7f1c702f78d3241e6a71b784d2b88d7bebd/matplotlib-3.10.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ad2e15300530c1a94c63cfa546e3b7864bd18ea2901317bae8bbf06a5ade6dcf", size = 8593905, upload-time = "2024-12-14T06:31:59.022Z" }, + { url = "https://files.pythonhosted.org/packages/8b/66/742fd242f989adc1847ddf5f445815f73ad7c46aa3440690cc889cfa423c/matplotlib-3.10.0-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:3547d153d70233a8496859097ef0312212e2689cdf8d7ed764441c77604095ae", size = 9399609, upload-time = "2024-12-14T06:32:05.151Z" }, + { url = "https://files.pythonhosted.org/packages/fa/d6/54cee7142cef7d910a324a7aedf335c0c147b03658b54d49ec48166f10a6/matplotlib-3.10.0-cp313-cp313-win_amd64.whl", hash = "sha256:c55b20591ced744aa04e8c3e4b7543ea4d650b6c3c4b208c08a05b4010e8b442", size = 8039076, upload-time = "2024-12-14T06:32:08.38Z" }, + { url = "https://files.pythonhosted.org/packages/43/14/815d072dc36e88753433bfd0385113405efb947e6895ff7b4d2e8614a33b/matplotlib-3.10.0-cp313-cp313t-macosx_10_13_x86_64.whl", hash = "sha256:9ade1003376731a971e398cc4ef38bb83ee8caf0aee46ac6daa4b0506db1fd06", size = 8211000, upload-time = "2024-12-14T06:32:12.383Z" }, + { url = "https://files.pythonhosted.org/packages/9a/76/34e75f364194ec352678adcb540964be6f35ec7d3d8c75ebcb17e6839359/matplotlib-3.10.0-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:95b710fea129c76d30be72c3b38f330269363fbc6e570a5dd43580487380b5ff", size = 8087707, upload-time = "2024-12-14T06:32:15.773Z" }, + { url = "https://files.pythonhosted.org/packages/c3/2b/b6bc0dff6a72d333bc7df94a66e6ce662d224e43daa8ad8ae4eaa9a77f55/matplotlib-3.10.0-cp313-cp313t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:5cdbaf909887373c3e094b0318d7ff230b2ad9dcb64da7ade654182872ab2593", size = 8477384, upload-time = "2024-12-14T06:32:20.311Z" }, + { url = "https://files.pythonhosted.org/packages/c2/2d/b5949fb2b76e9b47ab05e25a5f5f887c70de20d8b0cbc704a4e2ee71c786/matplotlib-3.10.0-cp313-cp313t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:d907fddb39f923d011875452ff1eca29a9e7f21722b873e90db32e5d8ddff12e", size = 8610334, upload-time = "2024-12-14T06:32:25.779Z" }, + { url = "https://files.pythonhosted.org/packages/d6/9a/6e3c799d5134d9af44b01c787e1360bee38cf51850506ea2e743a787700b/matplotlib-3.10.0-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:3b427392354d10975c1d0f4ee18aa5844640b512d5311ef32efd4dd7db106ede", size = 9406777, upload-time = "2024-12-14T06:32:28.919Z" }, + { url = "https://files.pythonhosted.org/packages/0e/dd/e6ae97151e5ed648ab2ea48885bc33d39202b640eec7a2910e2c843f7ac0/matplotlib-3.10.0-cp313-cp313t-win_amd64.whl", hash = "sha256:5fd41b0ec7ee45cd960a8e71aea7c946a28a0b8a4dcee47d2856b2af051f334c", size = 8109742, upload-time = "2024-12-14T06:32:32.115Z" }, + { url = "https://files.pythonhosted.org/packages/32/5f/29def7ce4e815ab939b56280976ee35afffb3bbdb43f332caee74cb8c951/matplotlib-3.10.0-pp310-pypy310_pp73-macosx_10_15_x86_64.whl", hash = "sha256:81713dd0d103b379de4516b861d964b1d789a144103277769238c732229d7f03", size = 8155500, upload-time = "2024-12-14T06:32:36.849Z" }, + { url = "https://files.pythonhosted.org/packages/de/6d/d570383c9f7ca799d0a54161446f9ce7b17d6c50f2994b653514bcaa108f/matplotlib-3.10.0-pp310-pypy310_pp73-macosx_11_0_arm64.whl", hash = "sha256:359f87baedb1f836ce307f0e850d12bb5f1936f70d035561f90d41d305fdacea", size = 8032398, upload-time = "2024-12-14T06:32:40.198Z" }, + { url = "https://files.pythonhosted.org/packages/c9/b4/680aa700d99b48e8c4393fa08e9ab8c49c0555ee6f4c9c0a5e8ea8dfde5d/matplotlib-3.10.0-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ae80dc3a4add4665cf2faa90138384a7ffe2a4e37c58d83e115b54287c4f06ef", size = 8587361, upload-time = "2024-12-14T06:32:43.575Z" }, ] [[package]] @@ -2526,9 +2526,9 @@ source = { registry = "https://pypi.org/simple" } dependencies = [ { name = "traitlets" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/99/5b/a36a337438a14116b16480db471ad061c36c3694df7c2084a0da7ba538b7/matplotlib_inline-0.1.7.tar.gz", hash = "sha256:8423b23ec666be3d16e16b60bdd8ac4e86e840ebd1dd11a30b9f117f2fa0ab90", size = 8159 } +sdist = { url = "https://files.pythonhosted.org/packages/99/5b/a36a337438a14116b16480db471ad061c36c3694df7c2084a0da7ba538b7/matplotlib_inline-0.1.7.tar.gz", hash = "sha256:8423b23ec666be3d16e16b60bdd8ac4e86e840ebd1dd11a30b9f117f2fa0ab90", size = 8159, upload-time = "2024-04-15T13:44:44.803Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/8f/8e/9ad090d3553c280a8060fbf6e24dc1c0c29704ee7d1c372f0c174aa59285/matplotlib_inline-0.1.7-py3-none-any.whl", hash = "sha256:df192d39a4ff8f21b1895d72e6a13f5fcc5099f00fa84384e0ea28c2cc0653ca", size = 9899 }, + { url = "https://files.pythonhosted.org/packages/8f/8e/9ad090d3553c280a8060fbf6e24dc1c0c29704ee7d1c372f0c174aa59285/matplotlib_inline-0.1.7-py3-none-any.whl", hash = "sha256:df192d39a4ff8f21b1895d72e6a13f5fcc5099f00fa84384e0ea28c2cc0653ca", size = 9899, upload-time = "2024-04-15T13:44:43.265Z" }, ] [[package]] @@ -2538,27 +2538,27 @@ source = { registry = "https://pypi.org/simple" } dependencies = [ { name = "markdown-it-py" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/19/03/a2ecab526543b152300717cf232bb4bb8605b6edb946c845016fa9c9c9fd/mdit_py_plugins-0.4.2.tar.gz", hash = "sha256:5f2cd1fdb606ddf152d37ec30e46101a60512bc0e5fa1a7002c36647b09e26b5", size = 43542 } +sdist = { url = "https://files.pythonhosted.org/packages/19/03/a2ecab526543b152300717cf232bb4bb8605b6edb946c845016fa9c9c9fd/mdit_py_plugins-0.4.2.tar.gz", hash = "sha256:5f2cd1fdb606ddf152d37ec30e46101a60512bc0e5fa1a7002c36647b09e26b5", size = 43542, upload-time = "2024-09-09T20:27:49.564Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/a7/f7/7782a043553ee469c1ff49cfa1cdace2d6bf99a1f333cf38676b3ddf30da/mdit_py_plugins-0.4.2-py3-none-any.whl", hash = "sha256:0c673c3f889399a33b95e88d2f0d111b4447bdfea7f237dab2d488f459835636", size = 55316 }, + { url = "https://files.pythonhosted.org/packages/a7/f7/7782a043553ee469c1ff49cfa1cdace2d6bf99a1f333cf38676b3ddf30da/mdit_py_plugins-0.4.2-py3-none-any.whl", hash = "sha256:0c673c3f889399a33b95e88d2f0d111b4447bdfea7f237dab2d488f459835636", size = 55316, upload-time = "2024-09-09T20:27:48.397Z" }, ] [[package]] name = "mdurl" version = "0.1.2" source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/d6/54/cfe61301667036ec958cb99bd3efefba235e65cdeb9c84d24a8293ba1d90/mdurl-0.1.2.tar.gz", hash = "sha256:bb413d29f5eea38f31dd4754dd7377d4465116fb207585f97bf925588687c1ba", size = 8729 } +sdist = { url = "https://files.pythonhosted.org/packages/d6/54/cfe61301667036ec958cb99bd3efefba235e65cdeb9c84d24a8293ba1d90/mdurl-0.1.2.tar.gz", hash = "sha256:bb413d29f5eea38f31dd4754dd7377d4465116fb207585f97bf925588687c1ba", size = 8729, upload-time = "2022-08-14T12:40:10.846Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/b3/38/89ba8ad64ae25be8de66a6d463314cf1eb366222074cfda9ee839c56a4b4/mdurl-0.1.2-py3-none-any.whl", hash = "sha256:84008a41e51615a49fc9966191ff91509e3c40b939176e643fd50a5c2196b8f8", size = 9979 }, + { url = "https://files.pythonhosted.org/packages/b3/38/89ba8ad64ae25be8de66a6d463314cf1eb366222074cfda9ee839c56a4b4/mdurl-0.1.2-py3-none-any.whl", hash = "sha256:84008a41e51615a49fc9966191ff91509e3c40b939176e643fd50a5c2196b8f8", size = 9979, upload-time = "2022-08-14T12:40:09.779Z" }, ] [[package]] name = "mergedeep" version = "1.3.4" source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/3a/41/580bb4006e3ed0361b8151a01d324fb03f420815446c7def45d02f74c270/mergedeep-1.3.4.tar.gz", hash = "sha256:0096d52e9dad9939c3d975a774666af186eda617e6ca84df4c94dec30004f2a8", size = 4661 } +sdist = { url = "https://files.pythonhosted.org/packages/3a/41/580bb4006e3ed0361b8151a01d324fb03f420815446c7def45d02f74c270/mergedeep-1.3.4.tar.gz", hash = "sha256:0096d52e9dad9939c3d975a774666af186eda617e6ca84df4c94dec30004f2a8", size = 4661, upload-time = "2021-02-05T18:55:30.623Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/2c/19/04f9b178c2d8a15b076c8b5140708fa6ffc5601fb6f1e975537072df5b2a/mergedeep-1.3.4-py3-none-any.whl", hash = "sha256:70775750742b25c0d8f36c55aed03d24c3384d17c951b3175d898bd778ef0307", size = 6354 }, + { url = "https://files.pythonhosted.org/packages/2c/19/04f9b178c2d8a15b076c8b5140708fa6ffc5601fb6f1e975537072df5b2a/mergedeep-1.3.4-py3-none-any.whl", hash = "sha256:70775750742b25c0d8f36c55aed03d24c3384d17c951b3175d898bd778ef0307", size = 6354, upload-time = "2021-02-05T18:55:29.583Z" }, ] [[package]] @@ -2578,9 +2578,9 @@ dependencies = [ { name = "pyyaml-env-tag" }, { name = "verspec" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/ab/f7/2933f1a1fb0e0f077d5d6a92c6c7f8a54e6128241f116dff4df8b6050bbf/mike-2.1.3.tar.gz", hash = "sha256:abd79b8ea483fb0275b7972825d3082e5ae67a41820f8d8a0dc7a3f49944e810", size = 38119 } +sdist = { url = "https://files.pythonhosted.org/packages/ab/f7/2933f1a1fb0e0f077d5d6a92c6c7f8a54e6128241f116dff4df8b6050bbf/mike-2.1.3.tar.gz", hash = "sha256:abd79b8ea483fb0275b7972825d3082e5ae67a41820f8d8a0dc7a3f49944e810", size = 38119, upload-time = "2024-08-13T05:02:14.167Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/fd/1a/31b7cd6e4e7a02df4e076162e9783620777592bea9e4bb036389389af99d/mike-2.1.3-py3-none-any.whl", hash = "sha256:d90c64077e84f06272437b464735130d380703a76a5738b152932884c60c062a", size = 33754 }, + { url = "https://files.pythonhosted.org/packages/fd/1a/31b7cd6e4e7a02df4e076162e9783620777592bea9e4bb036389389af99d/mike-2.1.3-py3-none-any.whl", hash = "sha256:d90c64077e84f06272437b464735130d380703a76a5738b152932884c60c062a", size = 33754, upload-time = "2024-08-13T05:02:12.515Z" }, ] [[package]] @@ -2590,9 +2590,9 @@ source = { registry = "https://pypi.org/simple" } dependencies = [ { name = "typing-extensions", marker = "python_full_version < '3.11'" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/c6/1d/6b2b634e43bacc3239006e61800676aa6c41ac1836b2c57497ed27a7310b/mistune-3.1.1.tar.gz", hash = "sha256:e0740d635f515119f7d1feb6f9b192ee60f0cc649f80a8f944f905706a21654c", size = 94645 } +sdist = { url = "https://files.pythonhosted.org/packages/c6/1d/6b2b634e43bacc3239006e61800676aa6c41ac1836b2c57497ed27a7310b/mistune-3.1.1.tar.gz", hash = "sha256:e0740d635f515119f7d1feb6f9b192ee60f0cc649f80a8f944f905706a21654c", size = 94645, upload-time = "2025-01-28T13:33:05.839Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/c6/02/c66bdfdadbb021adb642ca4e8a5ed32ada0b4a3e4b39c5d076d19543452f/mistune-3.1.1-py3-none-any.whl", hash = "sha256:02106ac2aa4f66e769debbfa028509a275069dcffce0dfa578edd7b991ee700a", size = 53696 }, + { url = "https://files.pythonhosted.org/packages/c6/02/c66bdfdadbb021adb642ca4e8a5ed32ada0b4a3e4b39c5d076d19543452f/mistune-3.1.1-py3-none-any.whl", hash = "sha256:02106ac2aa4f66e769debbfa028509a275069dcffce0dfa578edd7b991ee700a", size = 53696, upload-time = "2025-01-28T13:33:04.099Z" }, ] [[package]] @@ -2618,9 +2618,9 @@ dependencies = [ { name = "watchdog", version = "4.0.2", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.9'" }, { name = "watchdog", version = "6.0.0", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.9'" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/bc/c6/bbd4f061bd16b378247f12953ffcb04786a618ce5e904b8c5a01a0309061/mkdocs-1.6.1.tar.gz", hash = "sha256:7b432f01d928c084353ab39c57282f29f92136665bdd6abf7c1ec8d822ef86f2", size = 3889159 } +sdist = { url = "https://files.pythonhosted.org/packages/bc/c6/bbd4f061bd16b378247f12953ffcb04786a618ce5e904b8c5a01a0309061/mkdocs-1.6.1.tar.gz", hash = "sha256:7b432f01d928c084353ab39c57282f29f92136665bdd6abf7c1ec8d822ef86f2", size = 3889159, upload-time = "2024-08-30T12:24:06.899Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/22/5b/dbc6a8cddc9cfa9c4971d59fb12bb8d42e161b7e7f8cc89e49137c5b279c/mkdocs-1.6.1-py3-none-any.whl", hash = "sha256:db91759624d1647f3f34aa0c3f327dd2601beae39a366d6e064c03468d35c20e", size = 3864451 }, + { url = "https://files.pythonhosted.org/packages/22/5b/dbc6a8cddc9cfa9c4971d59fb12bb8d42e161b7e7f8cc89e49137c5b279c/mkdocs-1.6.1-py3-none-any.whl", hash = "sha256:db91759624d1647f3f34aa0c3f327dd2601beae39a366d6e064c03468d35c20e", size = 3864451, upload-time = "2024-08-30T12:24:05.054Z" }, ] [[package]] @@ -2637,9 +2637,9 @@ dependencies = [ { name = "markupsafe", version = "2.1.5", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.9'" }, { name = "mkdocs", marker = "python_full_version < '3.9'" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/fb/ae/0f1154c614d6a8b8a36fff084e5b82af3a15f7d2060cf0dcdb1c53297a71/mkdocs_autorefs-1.2.0.tar.gz", hash = "sha256:a86b93abff653521bda71cf3fc5596342b7a23982093915cb74273f67522190f", size = 40262 } +sdist = { url = "https://files.pythonhosted.org/packages/fb/ae/0f1154c614d6a8b8a36fff084e5b82af3a15f7d2060cf0dcdb1c53297a71/mkdocs_autorefs-1.2.0.tar.gz", hash = "sha256:a86b93abff653521bda71cf3fc5596342b7a23982093915cb74273f67522190f", size = 40262, upload-time = "2024-09-01T18:29:18.514Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/71/26/4d39d52ea2219604053a4d05b98e90d6a335511cc01806436ec4886b1028/mkdocs_autorefs-1.2.0-py3-none-any.whl", hash = "sha256:d588754ae89bd0ced0c70c06f58566a4ee43471eeeee5202427da7de9ef85a2f", size = 16522 }, + { url = "https://files.pythonhosted.org/packages/71/26/4d39d52ea2219604053a4d05b98e90d6a335511cc01806436ec4886b1028/mkdocs_autorefs-1.2.0-py3-none-any.whl", hash = "sha256:d588754ae89bd0ced0c70c06f58566a4ee43471eeeee5202427da7de9ef85a2f", size = 16522, upload-time = "2024-09-01T18:29:16.605Z" }, ] [[package]] @@ -2665,9 +2665,9 @@ dependencies = [ { name = "markupsafe", version = "3.0.2", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.9'" }, { name = "mkdocs", marker = "python_full_version >= '3.9'" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/fe/18/fb1e17fb705228b51bf7b2f791adaf83c0fa708e51bbc003411ba48ae21e/mkdocs_autorefs-1.3.0.tar.gz", hash = "sha256:6867764c099ace9025d6ac24fd07b85a98335fbd30107ef01053697c8f46db61", size = 42597 } +sdist = { url = "https://files.pythonhosted.org/packages/fe/18/fb1e17fb705228b51bf7b2f791adaf83c0fa708e51bbc003411ba48ae21e/mkdocs_autorefs-1.3.0.tar.gz", hash = "sha256:6867764c099ace9025d6ac24fd07b85a98335fbd30107ef01053697c8f46db61", size = 42597, upload-time = "2025-01-12T21:48:28.622Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/f4/4a/960c441950f98becfa5dd419adab20274939fd575ab848aee2c87e3599ac/mkdocs_autorefs-1.3.0-py3-none-any.whl", hash = "sha256:d180f9778a04e78b7134e31418f238bba56f56d6a8af97873946ff661befffb3", size = 17642 }, + { url = "https://files.pythonhosted.org/packages/f4/4a/960c441950f98becfa5dd419adab20274939fd575ab848aee2c87e3599ac/mkdocs_autorefs-1.3.0-py3-none-any.whl", hash = "sha256:d180f9778a04e78b7134e31418f238bba56f56d6a8af97873946ff661befffb3", size = 17642, upload-time = "2025-01-12T21:48:26.127Z" }, ] [[package]] @@ -2681,9 +2681,9 @@ dependencies = [ { name = "platformdirs" }, { name = "pyyaml" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/98/f5/ed29cd50067784976f25ed0ed6fcd3c2ce9eb90650aa3b2796ddf7b6870b/mkdocs_get_deps-0.2.0.tar.gz", hash = "sha256:162b3d129c7fad9b19abfdcb9c1458a651628e4b1dea628ac68790fb3061c60c", size = 10239 } +sdist = { url = "https://files.pythonhosted.org/packages/98/f5/ed29cd50067784976f25ed0ed6fcd3c2ce9eb90650aa3b2796ddf7b6870b/mkdocs_get_deps-0.2.0.tar.gz", hash = "sha256:162b3d129c7fad9b19abfdcb9c1458a651628e4b1dea628ac68790fb3061c60c", size = 10239, upload-time = "2023-11-20T17:51:09.981Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/9f/d4/029f984e8d3f3b6b726bd33cafc473b75e9e44c0f7e80a5b29abc466bdea/mkdocs_get_deps-0.2.0-py3-none-any.whl", hash = "sha256:2bf11d0b133e77a0dd036abeeb06dec8775e46efa526dc70667d8863eefc6134", size = 9521 }, + { url = "https://files.pythonhosted.org/packages/9f/d4/029f984e8d3f3b6b726bd33cafc473b75e9e44c0f7e80a5b29abc466bdea/mkdocs_get_deps-0.2.0-py3-none-any.whl", hash = "sha256:2bf11d0b133e77a0dd036abeeb06dec8775e46efa526dc70667d8863eefc6134", size = 9521, upload-time = "2023-11-20T17:51:08.587Z" }, ] [[package]] @@ -2695,9 +2695,9 @@ dependencies = [ { name = "mkdocs" }, { name = "requests" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/b4/8a/4ca4fb7d17f66fa709b49744c597204ad03fb3b011c76919564843426f11/mkdocs_git_committers_plugin_2-2.5.0.tar.gz", hash = "sha256:a01f17369e79ca28651681cddf212770e646e6191954bad884ca3067316aae60", size = 15183 } +sdist = { url = "https://files.pythonhosted.org/packages/b4/8a/4ca4fb7d17f66fa709b49744c597204ad03fb3b011c76919564843426f11/mkdocs_git_committers_plugin_2-2.5.0.tar.gz", hash = "sha256:a01f17369e79ca28651681cddf212770e646e6191954bad884ca3067316aae60", size = 15183, upload-time = "2025-01-30T07:30:48.667Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/8e/f5/768590251839a148c188d64779b809bde0e78a306295c18fc29d7fc71ce1/mkdocs_git_committers_plugin_2-2.5.0-py3-none-any.whl", hash = "sha256:1778becf98ccdc5fac809ac7b62cf01d3c67d6e8432723dffbb823307d1193c4", size = 11788 }, + { url = "https://files.pythonhosted.org/packages/8e/f5/768590251839a148c188d64779b809bde0e78a306295c18fc29d7fc71ce1/mkdocs_git_committers_plugin_2-2.5.0-py3-none-any.whl", hash = "sha256:1778becf98ccdc5fac809ac7b62cf01d3c67d6e8432723dffbb823307d1193c4", size = 11788, upload-time = "2025-01-30T07:30:45.748Z" }, ] [[package]] @@ -2710,9 +2710,9 @@ dependencies = [ { name = "mkdocs" }, { name = "pytz" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/73/85/6dc9d4eca486ed5734a05f7fd5c612a8e60a35e65610dad6aa9c58118c3f/mkdocs_git_revision_date_localized_plugin-1.3.0.tar.gz", hash = "sha256:439e2f14582204050a664c258861c325064d97cdc848c541e48bb034a6c4d0cb", size = 384797 } +sdist = { url = "https://files.pythonhosted.org/packages/73/85/6dc9d4eca486ed5734a05f7fd5c612a8e60a35e65610dad6aa9c58118c3f/mkdocs_git_revision_date_localized_plugin-1.3.0.tar.gz", hash = "sha256:439e2f14582204050a664c258861c325064d97cdc848c541e48bb034a6c4d0cb", size = 384797, upload-time = "2024-10-22T12:45:13.114Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/67/e5/ffeb92db53af8c3aa2d92e21a3cf6b5f83eee7e03b9cf9234ef6b30230d5/mkdocs_git_revision_date_localized_plugin-1.3.0-py3-none-any.whl", hash = "sha256:c99377ee119372d57a9e47cff4e68f04cce634a74831c06bc89b33e456e840a1", size = 22549 }, + { url = "https://files.pythonhosted.org/packages/67/e5/ffeb92db53af8c3aa2d92e21a3cf6b5f83eee7e03b9cf9234ef6b30230d5/mkdocs_git_revision_date_localized_plugin-1.3.0-py3-none-any.whl", hash = "sha256:c99377ee119372d57a9e47cff4e68f04cce634a74831c06bc89b33e456e840a1", size = 22549, upload-time = "2024-10-22T12:45:11.339Z" }, ] [[package]] @@ -2732,9 +2732,9 @@ dependencies = [ { name = "nbconvert", marker = "python_full_version < '3.9'" }, { name = "pygments", marker = "python_full_version < '3.9'" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/43/91/817bf07f4b1ce9b50d7d33e059e6cd5792951971a530b64665dd6cbf1324/mkdocs_jupyter-0.24.8.tar.gz", hash = "sha256:09a762f484d540d9c0e944d34b28cb536a32869e224b460e2fc791b143f76940", size = 1531510 } +sdist = { url = "https://files.pythonhosted.org/packages/43/91/817bf07f4b1ce9b50d7d33e059e6cd5792951971a530b64665dd6cbf1324/mkdocs_jupyter-0.24.8.tar.gz", hash = "sha256:09a762f484d540d9c0e944d34b28cb536a32869e224b460e2fc791b143f76940", size = 1531510, upload-time = "2024-07-02T22:42:16.457Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/e1/48/1e320da0e16e926ba4a9a8800df48963fce27b1287c8d1859041a2f85e26/mkdocs_jupyter-0.24.8-py3-none-any.whl", hash = "sha256:36438a0a653eee2c27c6a8f7006e645f18693699c9b8ac44ffde830ddb08fa16", size = 1444481 }, + { url = "https://files.pythonhosted.org/packages/e1/48/1e320da0e16e926ba4a9a8800df48963fce27b1287c8d1859041a2f85e26/mkdocs_jupyter-0.24.8-py3-none-any.whl", hash = "sha256:36438a0a653eee2c27c6a8f7006e645f18693699c9b8ac44ffde830ddb08fa16", size = 1444481, upload-time = "2024-07-02T22:42:14.242Z" }, ] [[package]] @@ -2763,9 +2763,9 @@ dependencies = [ { name = "nbconvert", marker = "python_full_version >= '3.9'" }, { name = "pygments", marker = "python_full_version >= '3.9'" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/6c/23/6ffb8d2fd2117aa860a04c6fe2510b21bc3c3c085907ffdd851caba53152/mkdocs_jupyter-0.25.1.tar.gz", hash = "sha256:0e9272ff4947e0ec683c92423a4bfb42a26477c103ab1a6ab8277e2dcc8f7afe", size = 1626747 } +sdist = { url = "https://files.pythonhosted.org/packages/6c/23/6ffb8d2fd2117aa860a04c6fe2510b21bc3c3c085907ffdd851caba53152/mkdocs_jupyter-0.25.1.tar.gz", hash = "sha256:0e9272ff4947e0ec683c92423a4bfb42a26477c103ab1a6ab8277e2dcc8f7afe", size = 1626747, upload-time = "2024-10-15T14:56:32.373Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/08/37/5f1fd5c3f6954b3256f8126275e62af493b96fb6aef6c0dbc4ee326032ad/mkdocs_jupyter-0.25.1-py3-none-any.whl", hash = "sha256:3f679a857609885d322880e72533ef5255561bbfdb13cfee2a1e92ef4d4ad8d8", size = 1456197 }, + { url = "https://files.pythonhosted.org/packages/08/37/5f1fd5c3f6954b3256f8126275e62af493b96fb6aef6c0dbc4ee326032ad/mkdocs_jupyter-0.25.1-py3-none-any.whl", hash = "sha256:3f679a857609885d322880e72533ef5255561bbfdb13cfee2a1e92ef4d4ad8d8", size = 1456197, upload-time = "2024-10-15T14:56:29.854Z" }, ] [[package]] @@ -2785,9 +2785,9 @@ dependencies = [ { name = "regex" }, { name = "requests" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/0f/1e/65b4fda4debf5e337b2ad4e692423dba4f5c77f49c4dee170c47a7dbac25/mkdocs_material-9.6.3.tar.gz", hash = "sha256:c87f7d1c39ce6326da5e10e232aed51bae46252e646755900f4b0fc9192fa832", size = 3942608 } +sdist = { url = "https://files.pythonhosted.org/packages/0f/1e/65b4fda4debf5e337b2ad4e692423dba4f5c77f49c4dee170c47a7dbac25/mkdocs_material-9.6.3.tar.gz", hash = "sha256:c87f7d1c39ce6326da5e10e232aed51bae46252e646755900f4b0fc9192fa832", size = 3942608, upload-time = "2025-02-07T05:27:15.428Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/11/a4/e0da0bc6a7dbfda6a786427f82a0caa4dd1f163249a5a5e5dccbb50c5f1e/mkdocs_material-9.6.3-py3-none-any.whl", hash = "sha256:1125622067e26940806701219303b27c0933e04533560725d97ec26fd16a39cf", size = 8688709 }, + { url = "https://files.pythonhosted.org/packages/11/a4/e0da0bc6a7dbfda6a786427f82a0caa4dd1f163249a5a5e5dccbb50c5f1e/mkdocs_material-9.6.3-py3-none-any.whl", hash = "sha256:1125622067e26940806701219303b27c0933e04533560725d97ec26fd16a39cf", size = 8688709, upload-time = "2025-02-07T05:27:10.196Z" }, ] [package.optional-dependencies] @@ -2800,9 +2800,9 @@ imaging = [ name = "mkdocs-material-extensions" version = "1.3.1" source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/79/9b/9b4c96d6593b2a541e1cb8b34899a6d021d208bb357042823d4d2cabdbe7/mkdocs_material_extensions-1.3.1.tar.gz", hash = "sha256:10c9511cea88f568257f960358a467d12b970e1f7b2c0e5fb2bb48cab1928443", size = 11847 } +sdist = { url = "https://files.pythonhosted.org/packages/79/9b/9b4c96d6593b2a541e1cb8b34899a6d021d208bb357042823d4d2cabdbe7/mkdocs_material_extensions-1.3.1.tar.gz", hash = "sha256:10c9511cea88f568257f960358a467d12b970e1f7b2c0e5fb2bb48cab1928443", size = 11847, upload-time = "2023-11-22T19:09:45.208Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/5b/54/662a4743aa81d9582ee9339d4ffa3c8fd40a4965e033d77b9da9774d3960/mkdocs_material_extensions-1.3.1-py3-none-any.whl", hash = "sha256:adff8b62700b25cb77b53358dad940f3ef973dd6db797907c49e3c2ef3ab4e31", size = 8728 }, + { url = "https://files.pythonhosted.org/packages/5b/54/662a4743aa81d9582ee9339d4ffa3c8fd40a4965e033d77b9da9774d3960/mkdocs_material_extensions-1.3.1-py3-none-any.whl", hash = "sha256:adff8b62700b25cb77b53358dad940f3ef973dd6db797907c49e3c2ef3ab4e31", size = 8728, upload-time = "2023-11-22T19:09:43.465Z" }, ] [[package]] @@ -2826,9 +2826,9 @@ dependencies = [ { name = "pymdown-extensions", marker = "python_full_version < '3.9'" }, { name = "typing-extensions", marker = "python_full_version < '3.9'" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/e6/bf/170ff04de72227f715d67da32950c7b8434449f3805b2ec3dd1085db4d7c/mkdocstrings-0.26.1.tar.gz", hash = "sha256:bb8b8854d6713d5348ad05b069a09f3b79edbc6a0f33a34c6821141adb03fe33", size = 92677 } +sdist = { url = "https://files.pythonhosted.org/packages/e6/bf/170ff04de72227f715d67da32950c7b8434449f3805b2ec3dd1085db4d7c/mkdocstrings-0.26.1.tar.gz", hash = "sha256:bb8b8854d6713d5348ad05b069a09f3b79edbc6a0f33a34c6821141adb03fe33", size = 92677, upload-time = "2024-09-06T10:26:06.736Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/23/cc/8ba127aaee5d1e9046b0d33fa5b3d17da95a9d705d44902792e0569257fd/mkdocstrings-0.26.1-py3-none-any.whl", hash = "sha256:29738bfb72b4608e8e55cc50fb8a54f325dc7ebd2014e4e3881a49892d5983cf", size = 29643 }, + { url = "https://files.pythonhosted.org/packages/23/cc/8ba127aaee5d1e9046b0d33fa5b3d17da95a9d705d44902792e0569257fd/mkdocstrings-0.26.1-py3-none-any.whl", hash = "sha256:29738bfb72b4608e8e55cc50fb8a54f325dc7ebd2014e4e3881a49892d5983cf", size = 29643, upload-time = "2024-09-06T10:26:04.498Z" }, ] [[package]] @@ -2861,9 +2861,9 @@ dependencies = [ { name = "pymdown-extensions", marker = "python_full_version >= '3.9'" }, { name = "typing-extensions", marker = "python_full_version == '3.9.*'" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/c0/76/0475d10d27f3384df3a6ddfdf4a4fdfef83766f77cd4e327d905dc956c15/mkdocstrings-0.26.2.tar.gz", hash = "sha256:34a8b50f1e6cfd29546c6c09fbe02154adfb0b361bb758834bf56aa284ba876e", size = 92512 } +sdist = { url = "https://files.pythonhosted.org/packages/c0/76/0475d10d27f3384df3a6ddfdf4a4fdfef83766f77cd4e327d905dc956c15/mkdocstrings-0.26.2.tar.gz", hash = "sha256:34a8b50f1e6cfd29546c6c09fbe02154adfb0b361bb758834bf56aa284ba876e", size = 92512, upload-time = "2024-10-12T16:56:52.007Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/80/b6/4ee320d7c313da3774eff225875eb278f7e6bb26a9cd8e680b8dbc38fdea/mkdocstrings-0.26.2-py3-none-any.whl", hash = "sha256:1248f3228464f3b8d1a15bd91249ce1701fe3104ac517a5f167a0e01ca850ba5", size = 29716 }, + { url = "https://files.pythonhosted.org/packages/80/b6/4ee320d7c313da3774eff225875eb278f7e6bb26a9cd8e680b8dbc38fdea/mkdocstrings-0.26.2-py3-none-any.whl", hash = "sha256:1248f3228464f3b8d1a15bd91249ce1701fe3104ac517a5f167a0e01ca850ba5", size = 29716, upload-time = "2024-10-12T16:56:49.746Z" }, ] [[package]] @@ -2880,9 +2880,9 @@ dependencies = [ { name = "mkdocs-autorefs", version = "1.2.0", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.9'" }, { name = "mkdocstrings", version = "0.26.1", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.9'" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/fc/ba/534c934cd0a809f51c91332d6ed278782ee4126b8ba8db02c2003f162b47/mkdocstrings_python-1.11.1.tar.gz", hash = "sha256:8824b115c5359304ab0b5378a91f6202324a849e1da907a3485b59208b797322", size = 166890 } +sdist = { url = "https://files.pythonhosted.org/packages/fc/ba/534c934cd0a809f51c91332d6ed278782ee4126b8ba8db02c2003f162b47/mkdocstrings_python-1.11.1.tar.gz", hash = "sha256:8824b115c5359304ab0b5378a91f6202324a849e1da907a3485b59208b797322", size = 166890, upload-time = "2024-09-03T17:20:54.904Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/2f/f2/2a2c48fda645ac6bbe73bcc974587a579092b6868e6ff8bc6d177f4db38a/mkdocstrings_python-1.11.1-py3-none-any.whl", hash = "sha256:a21a1c05acef129a618517bb5aae3e33114f569b11588b1e7af3e9d4061a71af", size = 109297 }, + { url = "https://files.pythonhosted.org/packages/2f/f2/2a2c48fda645ac6bbe73bcc974587a579092b6868e6ff8bc6d177f4db38a/mkdocstrings_python-1.11.1-py3-none-any.whl", hash = "sha256:a21a1c05acef129a618517bb5aae3e33114f569b11588b1e7af3e9d4061a71af", size = 109297, upload-time = "2024-09-03T17:20:52.621Z" }, ] [[package]] @@ -2908,9 +2908,9 @@ dependencies = [ { name = "mkdocs-autorefs", version = "1.3.0", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.9'" }, { name = "mkdocstrings", version = "0.26.2", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.9'" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/ab/ae/32703e35d74040051c672400fd9f5f2b48a6ea094f5071dd8a0e3be35322/mkdocstrings_python-1.13.0.tar.gz", hash = "sha256:2dbd5757e8375b9720e81db16f52f1856bf59905428fd7ef88005d1370e2f64c", size = 185697 } +sdist = { url = "https://files.pythonhosted.org/packages/ab/ae/32703e35d74040051c672400fd9f5f2b48a6ea094f5071dd8a0e3be35322/mkdocstrings_python-1.13.0.tar.gz", hash = "sha256:2dbd5757e8375b9720e81db16f52f1856bf59905428fd7ef88005d1370e2f64c", size = 185697, upload-time = "2024-12-26T17:58:51.741Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/51/23/d02d86553327296c3bf369d444194ea83410cce8f0e690565264f37f3261/mkdocstrings_python-1.13.0-py3-none-any.whl", hash = "sha256:b88bbb207bab4086434743849f8e796788b373bd32e7bfefbf8560ac45d88f97", size = 112254 }, + { url = "https://files.pythonhosted.org/packages/51/23/d02d86553327296c3bf369d444194ea83410cce8f0e690565264f37f3261/mkdocstrings_python-1.13.0-py3-none-any.whl", hash = "sha256:b88bbb207bab4086434743849f8e796788b373bd32e7bfefbf8560ac45d88f97", size = 112254, upload-time = "2024-12-26T17:58:31.106Z" }, ] [[package]] @@ -2922,9 +2922,9 @@ resolution-markers = [ "python_full_version < '3.9' and platform_machine == 'aarch64' and sys_platform == 'linux'", "(python_full_version < '3.9' and platform_machine != 'arm64' and sys_platform == 'darwin') or (python_full_version < '3.9' and platform_machine != 'aarch64' and sys_platform == 'linux') or (python_full_version < '3.9' and sys_platform != 'darwin' and sys_platform != 'linux')", ] -sdist = { url = "https://files.pythonhosted.org/packages/51/78/65922308c4248e0eb08ebcbe67c95d48615cc6f27854b6f2e57143e9178f/more-itertools-10.5.0.tar.gz", hash = "sha256:5482bfef7849c25dc3c6dd53a6173ae4795da2a41a80faea6700d9f5846c5da6", size = 121020 } +sdist = { url = "https://files.pythonhosted.org/packages/51/78/65922308c4248e0eb08ebcbe67c95d48615cc6f27854b6f2e57143e9178f/more-itertools-10.5.0.tar.gz", hash = "sha256:5482bfef7849c25dc3c6dd53a6173ae4795da2a41a80faea6700d9f5846c5da6", size = 121020, upload-time = "2024-09-05T15:28:22.081Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/48/7e/3a64597054a70f7c86eb0a7d4fc315b8c1ab932f64883a297bdffeb5f967/more_itertools-10.5.0-py3-none-any.whl", hash = "sha256:037b0d3203ce90cca8ab1defbbdac29d5f993fc20131f3664dc8d6acfa872aef", size = 60952 }, + { url = "https://files.pythonhosted.org/packages/48/7e/3a64597054a70f7c86eb0a7d4fc315b8c1ab932f64883a297bdffeb5f967/more_itertools-10.5.0-py3-none-any.whl", hash = "sha256:037b0d3203ce90cca8ab1defbbdac29d5f993fc20131f3664dc8d6acfa872aef", size = 60952, upload-time = "2024-09-05T15:28:20.141Z" }, ] [[package]] @@ -2945,9 +2945,9 @@ resolution-markers = [ "python_full_version == '3.9.*' and platform_machine == 'aarch64' and sys_platform == 'linux'", "(python_full_version == '3.9.*' and platform_machine != 'arm64' and sys_platform == 'darwin') or (python_full_version == '3.9.*' and platform_machine != 'aarch64' and sys_platform == 'linux') or (python_full_version == '3.9.*' and sys_platform != 'darwin' and sys_platform != 'linux')", ] -sdist = { url = "https://files.pythonhosted.org/packages/88/3b/7fa1fe835e2e93fd6d7b52b2f95ae810cf5ba133e1845f726f5a992d62c2/more-itertools-10.6.0.tar.gz", hash = "sha256:2cd7fad1009c31cc9fb6a035108509e6547547a7a738374f10bd49a09eb3ee3b", size = 125009 } +sdist = { url = "https://files.pythonhosted.org/packages/88/3b/7fa1fe835e2e93fd6d7b52b2f95ae810cf5ba133e1845f726f5a992d62c2/more-itertools-10.6.0.tar.gz", hash = "sha256:2cd7fad1009c31cc9fb6a035108509e6547547a7a738374f10bd49a09eb3ee3b", size = 125009, upload-time = "2025-01-14T16:22:47.626Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/23/62/0fe302c6d1be1c777cab0616e6302478251dfbf9055ad426f5d0def75c89/more_itertools-10.6.0-py3-none-any.whl", hash = "sha256:6eb054cb4b6db1473f6e15fcc676a08e4732548acd47c708f0e179c2c7c01e89", size = 63038 }, + { url = "https://files.pythonhosted.org/packages/23/62/0fe302c6d1be1c777cab0616e6302478251dfbf9055ad426f5d0def75c89/more_itertools-10.6.0-py3-none-any.whl", hash = "sha256:6eb054cb4b6db1473f6e15fcc676a08e4732548acd47c708f0e179c2c7c01e89", size = 63038, upload-time = "2025-01-14T16:22:46.014Z" }, ] [[package]] @@ -2965,9 +2965,9 @@ dependencies = [ { name = "nbformat", marker = "python_full_version < '3.9'" }, { name = "traitlets", marker = "python_full_version < '3.9'" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/06/db/25929926860ba8a3f6123d2d0a235e558e0e4be7b46e9db063a7dfefa0a2/nbclient-0.10.1.tar.gz", hash = "sha256:3e93e348ab27e712acd46fccd809139e356eb9a31aab641d1a7991a6eb4e6f68", size = 62273 } +sdist = { url = "https://files.pythonhosted.org/packages/06/db/25929926860ba8a3f6123d2d0a235e558e0e4be7b46e9db063a7dfefa0a2/nbclient-0.10.1.tar.gz", hash = "sha256:3e93e348ab27e712acd46fccd809139e356eb9a31aab641d1a7991a6eb4e6f68", size = 62273, upload-time = "2024-11-29T08:28:38.47Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/26/1a/ed6d1299b1a00c1af4a033fdee565f533926d819e084caf0d2832f6f87c6/nbclient-0.10.1-py3-none-any.whl", hash = "sha256:949019b9240d66897e442888cfb618f69ef23dc71c01cb5fced8499c2cfc084d", size = 25344 }, + { url = "https://files.pythonhosted.org/packages/26/1a/ed6d1299b1a00c1af4a033fdee565f533926d819e084caf0d2832f6f87c6/nbclient-0.10.1-py3-none-any.whl", hash = "sha256:949019b9240d66897e442888cfb618f69ef23dc71c01cb5fced8499c2cfc084d", size = 25344, upload-time = "2024-11-29T08:28:21.844Z" }, ] [[package]] @@ -2994,9 +2994,9 @@ dependencies = [ { name = "nbformat", marker = "python_full_version >= '3.9'" }, { name = "traitlets", marker = "python_full_version >= '3.9'" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/87/66/7ffd18d58eae90d5721f9f39212327695b749e23ad44b3881744eaf4d9e8/nbclient-0.10.2.tar.gz", hash = "sha256:90b7fc6b810630db87a6d0c2250b1f0ab4cf4d3c27a299b0cde78a4ed3fd9193", size = 62424 } +sdist = { url = "https://files.pythonhosted.org/packages/87/66/7ffd18d58eae90d5721f9f39212327695b749e23ad44b3881744eaf4d9e8/nbclient-0.10.2.tar.gz", hash = "sha256:90b7fc6b810630db87a6d0c2250b1f0ab4cf4d3c27a299b0cde78a4ed3fd9193", size = 62424, upload-time = "2024-12-19T10:32:27.164Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/34/6d/e7fa07f03a4a7b221d94b4d586edb754a9b0dc3c9e2c93353e9fa4e0d117/nbclient-0.10.2-py3-none-any.whl", hash = "sha256:4ffee11e788b4a27fabeb7955547e4318a5298f34342a4bfd01f2e1faaeadc3d", size = 25434 }, + { url = "https://files.pythonhosted.org/packages/34/6d/e7fa07f03a4a7b221d94b4d586edb754a9b0dc3c9e2c93353e9fa4e0d117/nbclient-0.10.2-py3-none-any.whl", hash = "sha256:4ffee11e788b4a27fabeb7955547e4318a5298f34342a4bfd01f2e1faaeadc3d", size = 25434, upload-time = "2024-12-19T10:32:24.139Z" }, ] [[package]] @@ -3024,9 +3024,9 @@ dependencies = [ { name = "pygments" }, { name = "traitlets" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/a3/59/f28e15fc47ffb73af68a8d9b47367a8630d76e97ae85ad18271b9db96fdf/nbconvert-7.16.6.tar.gz", hash = "sha256:576a7e37c6480da7b8465eefa66c17844243816ce1ccc372633c6b71c3c0f582", size = 857715 } +sdist = { url = "https://files.pythonhosted.org/packages/a3/59/f28e15fc47ffb73af68a8d9b47367a8630d76e97ae85ad18271b9db96fdf/nbconvert-7.16.6.tar.gz", hash = "sha256:576a7e37c6480da7b8465eefa66c17844243816ce1ccc372633c6b71c3c0f582", size = 857715, upload-time = "2025-01-28T09:29:14.724Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/cc/9a/cd673b2f773a12c992f41309ef81b99da1690426bd2f96957a7ade0d3ed7/nbconvert-7.16.6-py3-none-any.whl", hash = "sha256:1375a7b67e0c2883678c48e506dc320febb57685e5ee67faa51b18a90f3a712b", size = 258525 }, + { url = "https://files.pythonhosted.org/packages/cc/9a/cd673b2f773a12c992f41309ef81b99da1690426bd2f96957a7ade0d3ed7/nbconvert-7.16.6-py3-none-any.whl", hash = "sha256:1375a7b67e0c2883678c48e506dc320febb57685e5ee67faa51b18a90f3a712b", size = 258525, upload-time = "2025-01-28T09:29:12.551Z" }, ] [[package]] @@ -3039,49 +3039,49 @@ dependencies = [ { name = "jupyter-core" }, { name = "traitlets" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/6d/fd/91545e604bc3dad7dca9ed03284086039b294c6b3d75c0d2fa45f9e9caf3/nbformat-5.10.4.tar.gz", hash = "sha256:322168b14f937a5d11362988ecac2a4952d3d8e3a2cbeb2319584631226d5b3a", size = 142749 } +sdist = { url = "https://files.pythonhosted.org/packages/6d/fd/91545e604bc3dad7dca9ed03284086039b294c6b3d75c0d2fa45f9e9caf3/nbformat-5.10.4.tar.gz", hash = "sha256:322168b14f937a5d11362988ecac2a4952d3d8e3a2cbeb2319584631226d5b3a", size = 142749, upload-time = "2024-04-04T11:20:37.371Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/a9/82/0340caa499416c78e5d8f5f05947ae4bc3cba53c9f038ab6e9ed964e22f1/nbformat-5.10.4-py3-none-any.whl", hash = "sha256:3b48d6c8fbca4b299bf3982ea7db1af21580e4fec269ad087b9e81588891200b", size = 78454 }, + { url = "https://files.pythonhosted.org/packages/a9/82/0340caa499416c78e5d8f5f05947ae4bc3cba53c9f038ab6e9ed964e22f1/nbformat-5.10.4-py3-none-any.whl", hash = "sha256:3b48d6c8fbca4b299bf3982ea7db1af21580e4fec269ad087b9e81588891200b", size = 78454, upload-time = "2024-04-04T11:20:34.895Z" }, ] [[package]] name = "nest-asyncio" version = "1.6.0" source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/83/f8/51569ac65d696c8ecbee95938f89d4abf00f47d58d48f6fbabfe8f0baefe/nest_asyncio-1.6.0.tar.gz", hash = "sha256:6f172d5449aca15afd6c646851f4e31e02c598d553a667e38cafa997cfec55fe", size = 7418 } +sdist = { url = "https://files.pythonhosted.org/packages/83/f8/51569ac65d696c8ecbee95938f89d4abf00f47d58d48f6fbabfe8f0baefe/nest_asyncio-1.6.0.tar.gz", hash = "sha256:6f172d5449aca15afd6c646851f4e31e02c598d553a667e38cafa997cfec55fe", size = 7418, upload-time = "2024-01-21T14:25:19.227Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/a0/c4/c2971a3ba4c6103a3d10c4b0f24f461ddc027f0f09763220cf35ca1401b3/nest_asyncio-1.6.0-py3-none-any.whl", hash = "sha256:87af6efd6b5e897c81050477ef65c62e2b2f35d51703cae01aff2905b1852e1c", size = 5195 }, + { url = "https://files.pythonhosted.org/packages/a0/c4/c2971a3ba4c6103a3d10c4b0f24f461ddc027f0f09763220cf35ca1401b3/nest_asyncio-1.6.0-py3-none-any.whl", hash = "sha256:87af6efd6b5e897c81050477ef65c62e2b2f35d51703cae01aff2905b1852e1c", size = 5195, upload-time = "2024-01-21T14:25:17.223Z" }, ] [[package]] name = "nh3" version = "0.2.20" source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/46/f2/eb781d94c7855e9129cbbdd3ab09a470441e4176a82a396ae1df270a7333/nh3-0.2.20.tar.gz", hash = "sha256:9705c42d7ff88a0bea546c82d7fe5e59135e3d3f057e485394f491248a1f8ed5", size = 17489 } -wheels = [ - { url = "https://files.pythonhosted.org/packages/3c/65/d31d93b6d1e5fe80d0cc18f0b96eaa561edfa0a15a6ef6b0fce50202a931/nh3-0.2.20-cp313-cp313t-macosx_10_12_x86_64.macosx_11_0_arm64.macosx_10_12_universal2.whl", hash = "sha256:e1061a4ab6681f6bdf72b110eea0c4e1379d57c9de937db3be4202f7ad6043db", size = 1202187 }, - { url = "https://files.pythonhosted.org/packages/b4/ae/5b03bf198e06921454012e4b9a51e676d26fd37d9fdc1f29371a0b380487/nh3-0.2.20-cp313-cp313t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:eb4254b1dac4a1ee49919a5b3f1caf9803ea8dada1816d9e8289e63d3cd0dd9a", size = 737822 }, - { url = "https://files.pythonhosted.org/packages/0a/53/a12dffb6ee3772deba82eb5997667fc835afd2e813d1f4080d8738f29eec/nh3-0.2.20-cp313-cp313t-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:0ae9cbd713524cdb81e64663d0d6aae26f678db9f2cd9db0bf162606f1f9f20c", size = 756643 }, - { url = "https://files.pythonhosted.org/packages/d0/0c/6cd2c5ac3e6e31f2a28721e8e2a924cb6b05ad054bf787bd1816ffd40b96/nh3-0.2.20-cp313-cp313t-musllinux_1_2_aarch64.whl", hash = "sha256:e1f7370b4e14cc03f5ae141ef30a1caf81fa5787711f80be9081418dd9eb79d2", size = 923415 }, - { url = "https://files.pythonhosted.org/packages/64/f0/229a6c8b81b86ba22d8e7f27ade62cb2fcfb987e570f49944fdd8490a76a/nh3-0.2.20-cp313-cp313t-musllinux_1_2_armv7l.whl", hash = "sha256:ac4d27dc836a476efffc6eb661994426b8b805c951b29c9cf2ff36bc9ad58bc5", size = 994959 }, - { url = "https://files.pythonhosted.org/packages/75/e3/62ae3d3b658739ee15b129356fe6d4c4bc8ab235d7bf2e0d2794d64f7bc6/nh3-0.2.20-cp313-cp313t-musllinux_1_2_i686.whl", hash = "sha256:4fd2e9248725ebcedac3997a8d3da0d90a12a28c9179c6ba51f1658938ac30d0", size = 915777 }, - { url = "https://files.pythonhosted.org/packages/45/bd/8405d03371e335f02eb72e09dcf73307f8fd3095e4165cec6836346fe3db/nh3-0.2.20-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:f7d564871833ddbe54df3aa59053b1110729d3a800cb7628ae8f42adb3d75208", size = 908614 }, - { url = "https://files.pythonhosted.org/packages/ee/f8/5d977f09cf82c1f22a864375f471db111530fc79c88efdf0659fe6d3d6bc/nh3-0.2.20-cp313-cp313t-win32.whl", hash = "sha256:d2a176fd4306b6f0f178a3f67fac91bd97a3a8d8fafb771c9b9ef675ba5c8886", size = 540482 }, - { url = "https://files.pythonhosted.org/packages/c5/f4/e34afe5fd8bed1920eac2974c9c853f548b4b65c139444285ffd2a68495d/nh3-0.2.20-cp313-cp313t-win_amd64.whl", hash = "sha256:6ed834c68452a600f517dd3e1534dbfaff1f67f98899fecf139a055a25d99150", size = 541302 }, - { url = "https://files.pythonhosted.org/packages/92/08/5e3b61eed1bc0efeb330ddc5cf5194f28a0b7be7943aa20bd44cfe14650b/nh3-0.2.20-cp38-abi3-macosx_10_12_x86_64.macosx_11_0_arm64.macosx_10_12_universal2.whl", hash = "sha256:76e2f603b30c02ff6456b233a83fc377dedab6a50947b04e960a6b905637b776", size = 1202141 }, - { url = "https://files.pythonhosted.org/packages/29/d2/3377f8006c71e95e007b07b5bfcac22c9de4744ca3efb23b396d3deb9581/nh3-0.2.20-cp38-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:181063c581defe683bd4bb78188ac9936d208aebbc74c7f7c16b6a32ae2ebb38", size = 760699 }, - { url = "https://files.pythonhosted.org/packages/37/d7/7077f925d7d680d53dcb6e18a4af13d1a7da59761c06c193bfa249a7470a/nh3-0.2.20-cp38-abi3-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:231addb7643c952cd6d71f1c8702d703f8fe34afcb20becb3efb319a501a12d7", size = 747353 }, - { url = "https://files.pythonhosted.org/packages/cb/59/6b2f32af477aae81f1454a7f6ef490ebc3c22dd9e1370e73fcfe243dc07a/nh3-0.2.20-cp38-abi3-manylinux_2_17_ppc64.manylinux2014_ppc64.whl", hash = "sha256:1b9a8340a0aab991c68a5ca938d35ef4a8a3f4bf1b455da8855a40bee1fa0ace", size = 854125 }, - { url = "https://files.pythonhosted.org/packages/5b/f2/c3d2f7b801477b8b387b51fbefd16dc7ade888aeac547f18ba0558fd6f48/nh3-0.2.20-cp38-abi3-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:10317cd96fe4bbd4eb6b95f3920b71c902157ad44fed103fdcde43e3b8ee8be6", size = 817453 }, - { url = "https://files.pythonhosted.org/packages/42/4d/f7e3a35506a0eba6eedafc21ad52773985511eb838812e9f96354831ad3c/nh3-0.2.20-cp38-abi3-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:8698db4c04b140800d1a1cd3067fda399e36e1e2b8fc1fe04292a907350a3e9b", size = 891694 }, - { url = "https://files.pythonhosted.org/packages/e6/0e/c499453c296fb40366e3069cd68fde77a10f0a30a17b9d3b491eb3ebc5bf/nh3-0.2.20-cp38-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:3eb04b9c3deb13c3a375ea39fd4a3c00d1f92e8fb2349f25f1e3e4506751774b", size = 744388 }, - { url = "https://files.pythonhosted.org/packages/18/67/c3de8022ba2719bdbbdd3704d1e32dbc7d3f8ac8646247711645fc90d051/nh3-0.2.20-cp38-abi3-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:92f3f1c4f47a2c6f3ca7317b1d5ced05bd29556a75d3a4e2715652ae9d15c05d", size = 764831 }, - { url = "https://files.pythonhosted.org/packages/f0/14/a4ea40e2439717d11c3104fc2dc0ac412301b7aeb81d6a3d0e6505c77e7d/nh3-0.2.20-cp38-abi3-musllinux_1_2_aarch64.whl", hash = "sha256:ddefa9fd6794a87e37d05827d299d4b53a3ec6f23258101907b96029bfef138a", size = 923334 }, - { url = "https://files.pythonhosted.org/packages/ed/ae/e8ee8afaf67903dd304f390056d1ea620327524e2ad66127a331b14d5d98/nh3-0.2.20-cp38-abi3-musllinux_1_2_armv7l.whl", hash = "sha256:ce3731c8f217685d33d9268362e5b4f770914e922bba94d368ab244a59a6c397", size = 994873 }, - { url = "https://files.pythonhosted.org/packages/20/b5/02122cfe3b36cf0ba0fcd73a04fd462e1f7a9d91b456f6e0b70e46df21c7/nh3-0.2.20-cp38-abi3-musllinux_1_2_i686.whl", hash = "sha256:09f037c02fc2c43b211ff1523de32801dcfb0918648d8e651c36ef890f1731ec", size = 915707 }, - { url = "https://files.pythonhosted.org/packages/47/d3/5df43cc3570cdc9eb1dc79a39191f89fedf8bcefd8d30a161ff1dffb146c/nh3-0.2.20-cp38-abi3-musllinux_1_2_x86_64.whl", hash = "sha256:813f1c8012dd64c990514b795508abb90789334f76a561fa0fd4ca32d2275330", size = 908539 }, - { url = "https://files.pythonhosted.org/packages/4f/fd/aa000f6c76a832c488eac26f20d2e8a221ba2b965efce692f14ebc4290bf/nh3-0.2.20-cp38-abi3-win32.whl", hash = "sha256:47b2946c0e13057855209daeffb45dc910bd0c55daf10190bb0b4b60e2999784", size = 540439 }, - { url = "https://files.pythonhosted.org/packages/19/31/d65594efd3b42b1de2335d576eb77525691fc320dbf8617948ee05c008e5/nh3-0.2.20-cp38-abi3-win_amd64.whl", hash = "sha256:da87573f03084edae8eb87cfe811ec338606288f81d333c07d2a9a0b9b976c0b", size = 541249 }, +sdist = { url = "https://files.pythonhosted.org/packages/46/f2/eb781d94c7855e9129cbbdd3ab09a470441e4176a82a396ae1df270a7333/nh3-0.2.20.tar.gz", hash = "sha256:9705c42d7ff88a0bea546c82d7fe5e59135e3d3f057e485394f491248a1f8ed5", size = 17489, upload-time = "2024-12-17T12:50:22.381Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/3c/65/d31d93b6d1e5fe80d0cc18f0b96eaa561edfa0a15a6ef6b0fce50202a931/nh3-0.2.20-cp313-cp313t-macosx_10_12_x86_64.macosx_11_0_arm64.macosx_10_12_universal2.whl", hash = "sha256:e1061a4ab6681f6bdf72b110eea0c4e1379d57c9de937db3be4202f7ad6043db", size = 1202187, upload-time = "2024-12-17T12:49:28.903Z" }, + { url = "https://files.pythonhosted.org/packages/b4/ae/5b03bf198e06921454012e4b9a51e676d26fd37d9fdc1f29371a0b380487/nh3-0.2.20-cp313-cp313t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:eb4254b1dac4a1ee49919a5b3f1caf9803ea8dada1816d9e8289e63d3cd0dd9a", size = 737822, upload-time = "2024-12-17T12:49:30.42Z" }, + { url = "https://files.pythonhosted.org/packages/0a/53/a12dffb6ee3772deba82eb5997667fc835afd2e813d1f4080d8738f29eec/nh3-0.2.20-cp313-cp313t-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:0ae9cbd713524cdb81e64663d0d6aae26f678db9f2cd9db0bf162606f1f9f20c", size = 756643, upload-time = "2024-12-17T12:49:31.767Z" }, + { url = "https://files.pythonhosted.org/packages/d0/0c/6cd2c5ac3e6e31f2a28721e8e2a924cb6b05ad054bf787bd1816ffd40b96/nh3-0.2.20-cp313-cp313t-musllinux_1_2_aarch64.whl", hash = "sha256:e1f7370b4e14cc03f5ae141ef30a1caf81fa5787711f80be9081418dd9eb79d2", size = 923415, upload-time = "2024-12-17T12:49:34.434Z" }, + { url = "https://files.pythonhosted.org/packages/64/f0/229a6c8b81b86ba22d8e7f27ade62cb2fcfb987e570f49944fdd8490a76a/nh3-0.2.20-cp313-cp313t-musllinux_1_2_armv7l.whl", hash = "sha256:ac4d27dc836a476efffc6eb661994426b8b805c951b29c9cf2ff36bc9ad58bc5", size = 994959, upload-time = "2024-12-17T12:49:37.357Z" }, + { url = "https://files.pythonhosted.org/packages/75/e3/62ae3d3b658739ee15b129356fe6d4c4bc8ab235d7bf2e0d2794d64f7bc6/nh3-0.2.20-cp313-cp313t-musllinux_1_2_i686.whl", hash = "sha256:4fd2e9248725ebcedac3997a8d3da0d90a12a28c9179c6ba51f1658938ac30d0", size = 915777, upload-time = "2024-12-17T12:49:40.012Z" }, + { url = "https://files.pythonhosted.org/packages/45/bd/8405d03371e335f02eb72e09dcf73307f8fd3095e4165cec6836346fe3db/nh3-0.2.20-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:f7d564871833ddbe54df3aa59053b1110729d3a800cb7628ae8f42adb3d75208", size = 908614, upload-time = "2024-12-17T12:49:42.895Z" }, + { url = "https://files.pythonhosted.org/packages/ee/f8/5d977f09cf82c1f22a864375f471db111530fc79c88efdf0659fe6d3d6bc/nh3-0.2.20-cp313-cp313t-win32.whl", hash = "sha256:d2a176fd4306b6f0f178a3f67fac91bd97a3a8d8fafb771c9b9ef675ba5c8886", size = 540482, upload-time = "2024-12-17T12:49:45.42Z" }, + { url = "https://files.pythonhosted.org/packages/c5/f4/e34afe5fd8bed1920eac2974c9c853f548b4b65c139444285ffd2a68495d/nh3-0.2.20-cp313-cp313t-win_amd64.whl", hash = "sha256:6ed834c68452a600f517dd3e1534dbfaff1f67f98899fecf139a055a25d99150", size = 541302, upload-time = "2024-12-17T12:49:48.049Z" }, + { url = "https://files.pythonhosted.org/packages/92/08/5e3b61eed1bc0efeb330ddc5cf5194f28a0b7be7943aa20bd44cfe14650b/nh3-0.2.20-cp38-abi3-macosx_10_12_x86_64.macosx_11_0_arm64.macosx_10_12_universal2.whl", hash = "sha256:76e2f603b30c02ff6456b233a83fc377dedab6a50947b04e960a6b905637b776", size = 1202141, upload-time = "2024-12-17T12:49:50.601Z" }, + { url = "https://files.pythonhosted.org/packages/29/d2/3377f8006c71e95e007b07b5bfcac22c9de4744ca3efb23b396d3deb9581/nh3-0.2.20-cp38-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:181063c581defe683bd4bb78188ac9936d208aebbc74c7f7c16b6a32ae2ebb38", size = 760699, upload-time = "2024-12-17T12:49:52.833Z" }, + { url = "https://files.pythonhosted.org/packages/37/d7/7077f925d7d680d53dcb6e18a4af13d1a7da59761c06c193bfa249a7470a/nh3-0.2.20-cp38-abi3-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:231addb7643c952cd6d71f1c8702d703f8fe34afcb20becb3efb319a501a12d7", size = 747353, upload-time = "2024-12-17T12:49:54.23Z" }, + { url = "https://files.pythonhosted.org/packages/cb/59/6b2f32af477aae81f1454a7f6ef490ebc3c22dd9e1370e73fcfe243dc07a/nh3-0.2.20-cp38-abi3-manylinux_2_17_ppc64.manylinux2014_ppc64.whl", hash = "sha256:1b9a8340a0aab991c68a5ca938d35ef4a8a3f4bf1b455da8855a40bee1fa0ace", size = 854125, upload-time = "2024-12-17T12:49:55.481Z" }, + { url = "https://files.pythonhosted.org/packages/5b/f2/c3d2f7b801477b8b387b51fbefd16dc7ade888aeac547f18ba0558fd6f48/nh3-0.2.20-cp38-abi3-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:10317cd96fe4bbd4eb6b95f3920b71c902157ad44fed103fdcde43e3b8ee8be6", size = 817453, upload-time = "2024-12-17T12:49:58.101Z" }, + { url = "https://files.pythonhosted.org/packages/42/4d/f7e3a35506a0eba6eedafc21ad52773985511eb838812e9f96354831ad3c/nh3-0.2.20-cp38-abi3-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:8698db4c04b140800d1a1cd3067fda399e36e1e2b8fc1fe04292a907350a3e9b", size = 891694, upload-time = "2024-12-17T12:49:59.91Z" }, + { url = "https://files.pythonhosted.org/packages/e6/0e/c499453c296fb40366e3069cd68fde77a10f0a30a17b9d3b491eb3ebc5bf/nh3-0.2.20-cp38-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:3eb04b9c3deb13c3a375ea39fd4a3c00d1f92e8fb2349f25f1e3e4506751774b", size = 744388, upload-time = "2024-12-17T12:50:02.656Z" }, + { url = "https://files.pythonhosted.org/packages/18/67/c3de8022ba2719bdbbdd3704d1e32dbc7d3f8ac8646247711645fc90d051/nh3-0.2.20-cp38-abi3-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:92f3f1c4f47a2c6f3ca7317b1d5ced05bd29556a75d3a4e2715652ae9d15c05d", size = 764831, upload-time = "2024-12-17T12:50:05.09Z" }, + { url = "https://files.pythonhosted.org/packages/f0/14/a4ea40e2439717d11c3104fc2dc0ac412301b7aeb81d6a3d0e6505c77e7d/nh3-0.2.20-cp38-abi3-musllinux_1_2_aarch64.whl", hash = "sha256:ddefa9fd6794a87e37d05827d299d4b53a3ec6f23258101907b96029bfef138a", size = 923334, upload-time = "2024-12-17T12:50:06.666Z" }, + { url = "https://files.pythonhosted.org/packages/ed/ae/e8ee8afaf67903dd304f390056d1ea620327524e2ad66127a331b14d5d98/nh3-0.2.20-cp38-abi3-musllinux_1_2_armv7l.whl", hash = "sha256:ce3731c8f217685d33d9268362e5b4f770914e922bba94d368ab244a59a6c397", size = 994873, upload-time = "2024-12-17T12:50:08.159Z" }, + { url = "https://files.pythonhosted.org/packages/20/b5/02122cfe3b36cf0ba0fcd73a04fd462e1f7a9d91b456f6e0b70e46df21c7/nh3-0.2.20-cp38-abi3-musllinux_1_2_i686.whl", hash = "sha256:09f037c02fc2c43b211ff1523de32801dcfb0918648d8e651c36ef890f1731ec", size = 915707, upload-time = "2024-12-17T12:50:12.178Z" }, + { url = "https://files.pythonhosted.org/packages/47/d3/5df43cc3570cdc9eb1dc79a39191f89fedf8bcefd8d30a161ff1dffb146c/nh3-0.2.20-cp38-abi3-musllinux_1_2_x86_64.whl", hash = "sha256:813f1c8012dd64c990514b795508abb90789334f76a561fa0fd4ca32d2275330", size = 908539, upload-time = "2024-12-17T12:50:16.172Z" }, + { url = "https://files.pythonhosted.org/packages/4f/fd/aa000f6c76a832c488eac26f20d2e8a221ba2b965efce692f14ebc4290bf/nh3-0.2.20-cp38-abi3-win32.whl", hash = "sha256:47b2946c0e13057855209daeffb45dc910bd0c55daf10190bb0b4b60e2999784", size = 540439, upload-time = "2024-12-17T12:50:18.694Z" }, + { url = "https://files.pythonhosted.org/packages/19/31/d65594efd3b42b1de2335d576eb77525691fc320dbf8617948ee05c008e5/nh3-0.2.20-cp38-abi3-win_amd64.whl", hash = "sha256:da87573f03084edae8eb87cfe811ec338606288f81d333c07d2a9a0b9b976c0b", size = 541249, upload-time = "2024-12-17T12:50:20.004Z" }, ] [[package]] @@ -3096,9 +3096,9 @@ dependencies = [ { name = "notebook-shim" }, { name = "tornado" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/ea/04/ac488379d5afef43402b3fb4be2857db1a09804fecf98b9b714c741b225b/notebook-7.3.2.tar.gz", hash = "sha256:705e83a1785f45b383bf3ee13cb76680b92d24f56fb0c7d2136fe1d850cd3ca8", size = 12781804 } +sdist = { url = "https://files.pythonhosted.org/packages/ea/04/ac488379d5afef43402b3fb4be2857db1a09804fecf98b9b714c741b225b/notebook-7.3.2.tar.gz", hash = "sha256:705e83a1785f45b383bf3ee13cb76680b92d24f56fb0c7d2136fe1d850cd3ca8", size = 12781804, upload-time = "2024-12-21T08:40:20.857Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/22/9b/76e50ee18f183ea5fe1784a9eeaa50f2c71802e4740d6e959592b0993298/notebook-7.3.2-py3-none-any.whl", hash = "sha256:e5f85fc59b69d3618d73cf27544418193ff8e8058d5bf61d315ce4f473556288", size = 13163630 }, + { url = "https://files.pythonhosted.org/packages/22/9b/76e50ee18f183ea5fe1784a9eeaa50f2c71802e4740d6e959592b0993298/notebook-7.3.2-py3-none-any.whl", hash = "sha256:e5f85fc59b69d3618d73cf27544418193ff8e8058d5bf61d315ce4f473556288", size = 13163630, upload-time = "2024-12-21T08:40:14.762Z" }, ] [[package]] @@ -3109,9 +3109,9 @@ dependencies = [ { name = "jupyter-server", version = "2.14.2", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.9'" }, { name = "jupyter-server", version = "2.15.0", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.9'" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/54/d2/92fa3243712b9a3e8bafaf60aac366da1cada3639ca767ff4b5b3654ec28/notebook_shim-0.2.4.tar.gz", hash = "sha256:b4b2cfa1b65d98307ca24361f5b30fe785b53c3fd07b7a47e89acb5e6ac638cb", size = 13167 } +sdist = { url = "https://files.pythonhosted.org/packages/54/d2/92fa3243712b9a3e8bafaf60aac366da1cada3639ca767ff4b5b3654ec28/notebook_shim-0.2.4.tar.gz", hash = "sha256:b4b2cfa1b65d98307ca24361f5b30fe785b53c3fd07b7a47e89acb5e6ac638cb", size = 13167, upload-time = "2024-02-14T23:35:18.353Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/f9/33/bd5b9137445ea4b680023eb0469b2bb969d61303dedb2aac6560ff3d14a1/notebook_shim-0.2.4-py3-none-any.whl", hash = "sha256:411a5be4e9dc882a074ccbcae671eda64cceb068767e9a3419096986560e1cef", size = 13307 }, + { url = "https://files.pythonhosted.org/packages/f9/33/bd5b9137445ea4b680023eb0469b2bb969d61303dedb2aac6560ff3d14a1/notebook_shim-0.2.4-py3-none-any.whl", hash = "sha256:411a5be4e9dc882a074ccbcae671eda64cceb068767e9a3419096986560e1cef", size = 13307, upload-time = "2024-02-14T23:35:16.286Z" }, ] [[package]] @@ -3123,35 +3123,35 @@ resolution-markers = [ "python_full_version < '3.9' and platform_machine == 'aarch64' and sys_platform == 'linux'", "(python_full_version < '3.9' and platform_machine != 'arm64' and sys_platform == 'darwin') or (python_full_version < '3.9' and platform_machine != 'aarch64' and sys_platform == 'linux') or (python_full_version < '3.9' and sys_platform != 'darwin' and sys_platform != 'linux')", ] -sdist = { url = "https://files.pythonhosted.org/packages/a4/9b/027bec52c633f6556dba6b722d9a0befb40498b9ceddd29cbe67a45a127c/numpy-1.24.4.tar.gz", hash = "sha256:80f5e3a4e498641401868df4208b74581206afbee7cf7b8329daae82676d9463", size = 10911229 } -wheels = [ - { url = "https://files.pythonhosted.org/packages/6b/80/6cdfb3e275d95155a34659163b83c09e3a3ff9f1456880bec6cc63d71083/numpy-1.24.4-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:c0bfb52d2169d58c1cdb8cc1f16989101639b34c7d3ce60ed70b19c63eba0b64", size = 19789140 }, - { url = "https://files.pythonhosted.org/packages/64/5f/3f01d753e2175cfade1013eea08db99ba1ee4bdb147ebcf3623b75d12aa7/numpy-1.24.4-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:ed094d4f0c177b1b8e7aa9cba7d6ceed51c0e569a5318ac0ca9a090680a6a1b1", size = 13854297 }, - { url = "https://files.pythonhosted.org/packages/5a/b3/2f9c21d799fa07053ffa151faccdceeb69beec5a010576b8991f614021f7/numpy-1.24.4-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:79fc682a374c4a8ed08b331bef9c5f582585d1048fa6d80bc6c35bc384eee9b4", size = 13995611 }, - { url = "https://files.pythonhosted.org/packages/10/be/ae5bf4737cb79ba437879915791f6f26d92583c738d7d960ad94e5c36adf/numpy-1.24.4-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:7ffe43c74893dbf38c2b0a1f5428760a1a9c98285553c89e12d70a96a7f3a4d6", size = 17282357 }, - { url = "https://files.pythonhosted.org/packages/c0/64/908c1087be6285f40e4b3e79454552a701664a079321cff519d8c7051d06/numpy-1.24.4-cp310-cp310-win32.whl", hash = "sha256:4c21decb6ea94057331e111a5bed9a79d335658c27ce2adb580fb4d54f2ad9bc", size = 12429222 }, - { url = "https://files.pythonhosted.org/packages/22/55/3d5a7c1142e0d9329ad27cece17933b0e2ab4e54ddc5c1861fbfeb3f7693/numpy-1.24.4-cp310-cp310-win_amd64.whl", hash = "sha256:b4bea75e47d9586d31e892a7401f76e909712a0fd510f58f5337bea9572c571e", size = 14841514 }, - { url = "https://files.pythonhosted.org/packages/a9/cc/5ed2280a27e5dab12994c884f1f4d8c3bd4d885d02ae9e52a9d213a6a5e2/numpy-1.24.4-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:f136bab9c2cfd8da131132c2cf6cc27331dd6fae65f95f69dcd4ae3c3639c810", size = 19775508 }, - { url = "https://files.pythonhosted.org/packages/c0/bc/77635c657a3668cf652806210b8662e1aff84b818a55ba88257abf6637a8/numpy-1.24.4-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:e2926dac25b313635e4d6cf4dc4e51c8c0ebfed60b801c799ffc4c32bf3d1254", size = 13840033 }, - { url = "https://files.pythonhosted.org/packages/a7/4c/96cdaa34f54c05e97c1c50f39f98d608f96f0677a6589e64e53104e22904/numpy-1.24.4-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:222e40d0e2548690405b0b3c7b21d1169117391c2e82c378467ef9ab4c8f0da7", size = 13991951 }, - { url = "https://files.pythonhosted.org/packages/22/97/dfb1a31bb46686f09e68ea6ac5c63fdee0d22d7b23b8f3f7ea07712869ef/numpy-1.24.4-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:7215847ce88a85ce39baf9e89070cb860c98fdddacbaa6c0da3ffb31b3350bd5", size = 17278923 }, - { url = "https://files.pythonhosted.org/packages/35/e2/76a11e54139654a324d107da1d98f99e7aa2a7ef97cfd7c631fba7dbde71/numpy-1.24.4-cp311-cp311-win32.whl", hash = "sha256:4979217d7de511a8d57f4b4b5b2b965f707768440c17cb70fbf254c4b225238d", size = 12422446 }, - { url = "https://files.pythonhosted.org/packages/d8/ec/ebef2f7d7c28503f958f0f8b992e7ce606fb74f9e891199329d5f5f87404/numpy-1.24.4-cp311-cp311-win_amd64.whl", hash = "sha256:b7b1fc9864d7d39e28f41d089bfd6353cb5f27ecd9905348c24187a768c79694", size = 14834466 }, - { url = "https://files.pythonhosted.org/packages/11/10/943cfb579f1a02909ff96464c69893b1d25be3731b5d3652c2e0cf1281ea/numpy-1.24.4-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:1452241c290f3e2a312c137a9999cdbf63f78864d63c79039bda65ee86943f61", size = 19780722 }, - { url = "https://files.pythonhosted.org/packages/a7/ae/f53b7b265fdc701e663fbb322a8e9d4b14d9cb7b2385f45ddfabfc4327e4/numpy-1.24.4-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:04640dab83f7c6c85abf9cd729c5b65f1ebd0ccf9de90b270cd61935eef0197f", size = 13843102 }, - { url = "https://files.pythonhosted.org/packages/25/6f/2586a50ad72e8dbb1d8381f837008a0321a3516dfd7cb57fc8cf7e4bb06b/numpy-1.24.4-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a5425b114831d1e77e4b5d812b69d11d962e104095a5b9c3b641a218abcc050e", size = 14039616 }, - { url = "https://files.pythonhosted.org/packages/98/5d/5738903efe0ecb73e51eb44feafba32bdba2081263d40c5043568ff60faf/numpy-1.24.4-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:dd80e219fd4c71fc3699fc1dadac5dcf4fd882bfc6f7ec53d30fa197b8ee22dc", size = 17316263 }, - { url = "https://files.pythonhosted.org/packages/d1/57/8d328f0b91c733aa9aa7ee540dbc49b58796c862b4fbcb1146c701e888da/numpy-1.24.4-cp38-cp38-win32.whl", hash = "sha256:4602244f345453db537be5314d3983dbf5834a9701b7723ec28923e2889e0bb2", size = 12455660 }, - { url = "https://files.pythonhosted.org/packages/69/65/0d47953afa0ad569d12de5f65d964321c208492064c38fe3b0b9744f8d44/numpy-1.24.4-cp38-cp38-win_amd64.whl", hash = "sha256:692f2e0f55794943c5bfff12b3f56f99af76f902fc47487bdfe97856de51a706", size = 14868112 }, - { url = "https://files.pythonhosted.org/packages/9a/cd/d5b0402b801c8a8b56b04c1e85c6165efab298d2f0ab741c2406516ede3a/numpy-1.24.4-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:2541312fbf09977f3b3ad449c4e5f4bb55d0dbf79226d7724211acc905049400", size = 19816549 }, - { url = "https://files.pythonhosted.org/packages/14/27/638aaa446f39113a3ed38b37a66243e21b38110d021bfcb940c383e120f2/numpy-1.24.4-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:9667575fb6d13c95f1b36aca12c5ee3356bf001b714fc354eb5465ce1609e62f", size = 13879950 }, - { url = "https://files.pythonhosted.org/packages/8f/27/91894916e50627476cff1a4e4363ab6179d01077d71b9afed41d9e1f18bf/numpy-1.24.4-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:f3a86ed21e4f87050382c7bc96571755193c4c1392490744ac73d660e8f564a9", size = 14030228 }, - { url = "https://files.pythonhosted.org/packages/7a/7c/d7b2a0417af6428440c0ad7cb9799073e507b1a465f827d058b826236964/numpy-1.24.4-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:d11efb4dbecbdf22508d55e48d9c8384db795e1b7b51ea735289ff96613ff74d", size = 17311170 }, - { url = "https://files.pythonhosted.org/packages/18/9d/e02ace5d7dfccee796c37b995c63322674daf88ae2f4a4724c5dd0afcc91/numpy-1.24.4-cp39-cp39-win32.whl", hash = "sha256:6620c0acd41dbcb368610bb2f4d83145674040025e5536954782467100aa8835", size = 12454918 }, - { url = "https://files.pythonhosted.org/packages/63/38/6cc19d6b8bfa1d1a459daf2b3fe325453153ca7019976274b6f33d8b5663/numpy-1.24.4-cp39-cp39-win_amd64.whl", hash = "sha256:befe2bf740fd8373cf56149a5c23a0f601e82869598d41f8e188a0e9869926f8", size = 14867441 }, - { url = "https://files.pythonhosted.org/packages/a4/fd/8dff40e25e937c94257455c237b9b6bf5a30d42dd1cc11555533be099492/numpy-1.24.4-pp38-pypy38_pp73-macosx_10_9_x86_64.whl", hash = "sha256:31f13e25b4e304632a4619d0e0777662c2ffea99fcae2029556b17d8ff958aef", size = 19156590 }, - { url = "https://files.pythonhosted.org/packages/42/e7/4bf953c6e05df90c6d351af69966384fed8e988d0e8c54dad7103b59f3ba/numpy-1.24.4-pp38-pypy38_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:95f7ac6540e95bc440ad77f56e520da5bf877f87dca58bd095288dce8940532a", size = 16705744 }, - { url = "https://files.pythonhosted.org/packages/fc/dd/9106005eb477d022b60b3817ed5937a43dad8fd1f20b0610ea8a32fcb407/numpy-1.24.4-pp38-pypy38_pp73-win_amd64.whl", hash = "sha256:e98f220aa76ca2a977fe435f5b04d7b3470c0a2e6312907b37ba6068f26787f2", size = 14734290 }, +sdist = { url = "https://files.pythonhosted.org/packages/a4/9b/027bec52c633f6556dba6b722d9a0befb40498b9ceddd29cbe67a45a127c/numpy-1.24.4.tar.gz", hash = "sha256:80f5e3a4e498641401868df4208b74581206afbee7cf7b8329daae82676d9463", size = 10911229, upload-time = "2023-06-26T13:39:33.218Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/6b/80/6cdfb3e275d95155a34659163b83c09e3a3ff9f1456880bec6cc63d71083/numpy-1.24.4-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:c0bfb52d2169d58c1cdb8cc1f16989101639b34c7d3ce60ed70b19c63eba0b64", size = 19789140, upload-time = "2023-06-26T13:22:33.184Z" }, + { url = "https://files.pythonhosted.org/packages/64/5f/3f01d753e2175cfade1013eea08db99ba1ee4bdb147ebcf3623b75d12aa7/numpy-1.24.4-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:ed094d4f0c177b1b8e7aa9cba7d6ceed51c0e569a5318ac0ca9a090680a6a1b1", size = 13854297, upload-time = "2023-06-26T13:22:59.541Z" }, + { url = "https://files.pythonhosted.org/packages/5a/b3/2f9c21d799fa07053ffa151faccdceeb69beec5a010576b8991f614021f7/numpy-1.24.4-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:79fc682a374c4a8ed08b331bef9c5f582585d1048fa6d80bc6c35bc384eee9b4", size = 13995611, upload-time = "2023-06-26T13:23:22.167Z" }, + { url = "https://files.pythonhosted.org/packages/10/be/ae5bf4737cb79ba437879915791f6f26d92583c738d7d960ad94e5c36adf/numpy-1.24.4-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:7ffe43c74893dbf38c2b0a1f5428760a1a9c98285553c89e12d70a96a7f3a4d6", size = 17282357, upload-time = "2023-06-26T13:23:51.446Z" }, + { url = "https://files.pythonhosted.org/packages/c0/64/908c1087be6285f40e4b3e79454552a701664a079321cff519d8c7051d06/numpy-1.24.4-cp310-cp310-win32.whl", hash = "sha256:4c21decb6ea94057331e111a5bed9a79d335658c27ce2adb580fb4d54f2ad9bc", size = 12429222, upload-time = "2023-06-26T13:24:13.849Z" }, + { url = "https://files.pythonhosted.org/packages/22/55/3d5a7c1142e0d9329ad27cece17933b0e2ab4e54ddc5c1861fbfeb3f7693/numpy-1.24.4-cp310-cp310-win_amd64.whl", hash = "sha256:b4bea75e47d9586d31e892a7401f76e909712a0fd510f58f5337bea9572c571e", size = 14841514, upload-time = "2023-06-26T13:24:38.129Z" }, + { url = "https://files.pythonhosted.org/packages/a9/cc/5ed2280a27e5dab12994c884f1f4d8c3bd4d885d02ae9e52a9d213a6a5e2/numpy-1.24.4-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:f136bab9c2cfd8da131132c2cf6cc27331dd6fae65f95f69dcd4ae3c3639c810", size = 19775508, upload-time = "2023-06-26T13:25:08.882Z" }, + { url = "https://files.pythonhosted.org/packages/c0/bc/77635c657a3668cf652806210b8662e1aff84b818a55ba88257abf6637a8/numpy-1.24.4-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:e2926dac25b313635e4d6cf4dc4e51c8c0ebfed60b801c799ffc4c32bf3d1254", size = 13840033, upload-time = "2023-06-26T13:25:33.417Z" }, + { url = "https://files.pythonhosted.org/packages/a7/4c/96cdaa34f54c05e97c1c50f39f98d608f96f0677a6589e64e53104e22904/numpy-1.24.4-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:222e40d0e2548690405b0b3c7b21d1169117391c2e82c378467ef9ab4c8f0da7", size = 13991951, upload-time = "2023-06-26T13:25:55.725Z" }, + { url = "https://files.pythonhosted.org/packages/22/97/dfb1a31bb46686f09e68ea6ac5c63fdee0d22d7b23b8f3f7ea07712869ef/numpy-1.24.4-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:7215847ce88a85ce39baf9e89070cb860c98fdddacbaa6c0da3ffb31b3350bd5", size = 17278923, upload-time = "2023-06-26T13:26:25.658Z" }, + { url = "https://files.pythonhosted.org/packages/35/e2/76a11e54139654a324d107da1d98f99e7aa2a7ef97cfd7c631fba7dbde71/numpy-1.24.4-cp311-cp311-win32.whl", hash = "sha256:4979217d7de511a8d57f4b4b5b2b965f707768440c17cb70fbf254c4b225238d", size = 12422446, upload-time = "2023-06-26T13:26:49.302Z" }, + { url = "https://files.pythonhosted.org/packages/d8/ec/ebef2f7d7c28503f958f0f8b992e7ce606fb74f9e891199329d5f5f87404/numpy-1.24.4-cp311-cp311-win_amd64.whl", hash = "sha256:b7b1fc9864d7d39e28f41d089bfd6353cb5f27ecd9905348c24187a768c79694", size = 14834466, upload-time = "2023-06-26T13:27:16.029Z" }, + { url = "https://files.pythonhosted.org/packages/11/10/943cfb579f1a02909ff96464c69893b1d25be3731b5d3652c2e0cf1281ea/numpy-1.24.4-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:1452241c290f3e2a312c137a9999cdbf63f78864d63c79039bda65ee86943f61", size = 19780722, upload-time = "2023-06-26T13:27:49.573Z" }, + { url = "https://files.pythonhosted.org/packages/a7/ae/f53b7b265fdc701e663fbb322a8e9d4b14d9cb7b2385f45ddfabfc4327e4/numpy-1.24.4-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:04640dab83f7c6c85abf9cd729c5b65f1ebd0ccf9de90b270cd61935eef0197f", size = 13843102, upload-time = "2023-06-26T13:28:12.288Z" }, + { url = "https://files.pythonhosted.org/packages/25/6f/2586a50ad72e8dbb1d8381f837008a0321a3516dfd7cb57fc8cf7e4bb06b/numpy-1.24.4-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a5425b114831d1e77e4b5d812b69d11d962e104095a5b9c3b641a218abcc050e", size = 14039616, upload-time = "2023-06-26T13:28:35.659Z" }, + { url = "https://files.pythonhosted.org/packages/98/5d/5738903efe0ecb73e51eb44feafba32bdba2081263d40c5043568ff60faf/numpy-1.24.4-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:dd80e219fd4c71fc3699fc1dadac5dcf4fd882bfc6f7ec53d30fa197b8ee22dc", size = 17316263, upload-time = "2023-06-26T13:29:09.272Z" }, + { url = "https://files.pythonhosted.org/packages/d1/57/8d328f0b91c733aa9aa7ee540dbc49b58796c862b4fbcb1146c701e888da/numpy-1.24.4-cp38-cp38-win32.whl", hash = "sha256:4602244f345453db537be5314d3983dbf5834a9701b7723ec28923e2889e0bb2", size = 12455660, upload-time = "2023-06-26T13:29:33.434Z" }, + { url = "https://files.pythonhosted.org/packages/69/65/0d47953afa0ad569d12de5f65d964321c208492064c38fe3b0b9744f8d44/numpy-1.24.4-cp38-cp38-win_amd64.whl", hash = "sha256:692f2e0f55794943c5bfff12b3f56f99af76f902fc47487bdfe97856de51a706", size = 14868112, upload-time = "2023-06-26T13:29:58.385Z" }, + { url = "https://files.pythonhosted.org/packages/9a/cd/d5b0402b801c8a8b56b04c1e85c6165efab298d2f0ab741c2406516ede3a/numpy-1.24.4-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:2541312fbf09977f3b3ad449c4e5f4bb55d0dbf79226d7724211acc905049400", size = 19816549, upload-time = "2023-06-26T13:30:36.976Z" }, + { url = "https://files.pythonhosted.org/packages/14/27/638aaa446f39113a3ed38b37a66243e21b38110d021bfcb940c383e120f2/numpy-1.24.4-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:9667575fb6d13c95f1b36aca12c5ee3356bf001b714fc354eb5465ce1609e62f", size = 13879950, upload-time = "2023-06-26T13:31:01.787Z" }, + { url = "https://files.pythonhosted.org/packages/8f/27/91894916e50627476cff1a4e4363ab6179d01077d71b9afed41d9e1f18bf/numpy-1.24.4-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:f3a86ed21e4f87050382c7bc96571755193c4c1392490744ac73d660e8f564a9", size = 14030228, upload-time = "2023-06-26T13:31:26.696Z" }, + { url = "https://files.pythonhosted.org/packages/7a/7c/d7b2a0417af6428440c0ad7cb9799073e507b1a465f827d058b826236964/numpy-1.24.4-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:d11efb4dbecbdf22508d55e48d9c8384db795e1b7b51ea735289ff96613ff74d", size = 17311170, upload-time = "2023-06-26T13:31:56.615Z" }, + { url = "https://files.pythonhosted.org/packages/18/9d/e02ace5d7dfccee796c37b995c63322674daf88ae2f4a4724c5dd0afcc91/numpy-1.24.4-cp39-cp39-win32.whl", hash = "sha256:6620c0acd41dbcb368610bb2f4d83145674040025e5536954782467100aa8835", size = 12454918, upload-time = "2023-06-26T13:32:16.8Z" }, + { url = "https://files.pythonhosted.org/packages/63/38/6cc19d6b8bfa1d1a459daf2b3fe325453153ca7019976274b6f33d8b5663/numpy-1.24.4-cp39-cp39-win_amd64.whl", hash = "sha256:befe2bf740fd8373cf56149a5c23a0f601e82869598d41f8e188a0e9869926f8", size = 14867441, upload-time = "2023-06-26T13:32:40.521Z" }, + { url = "https://files.pythonhosted.org/packages/a4/fd/8dff40e25e937c94257455c237b9b6bf5a30d42dd1cc11555533be099492/numpy-1.24.4-pp38-pypy38_pp73-macosx_10_9_x86_64.whl", hash = "sha256:31f13e25b4e304632a4619d0e0777662c2ffea99fcae2029556b17d8ff958aef", size = 19156590, upload-time = "2023-06-26T13:33:10.36Z" }, + { url = "https://files.pythonhosted.org/packages/42/e7/4bf953c6e05df90c6d351af69966384fed8e988d0e8c54dad7103b59f3ba/numpy-1.24.4-pp38-pypy38_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:95f7ac6540e95bc440ad77f56e520da5bf877f87dca58bd095288dce8940532a", size = 16705744, upload-time = "2023-06-26T13:33:36.703Z" }, + { url = "https://files.pythonhosted.org/packages/fc/dd/9106005eb477d022b60b3817ed5937a43dad8fd1f20b0610ea8a32fcb407/numpy-1.24.4-pp38-pypy38_pp73-win_amd64.whl", hash = "sha256:e98f220aa76ca2a977fe435f5b04d7b3470c0a2e6312907b37ba6068f26787f2", size = 14734290, upload-time = "2023-06-26T13:34:05.409Z" }, ] [[package]] @@ -3163,52 +3163,52 @@ resolution-markers = [ "python_full_version == '3.9.*' and platform_machine == 'aarch64' and sys_platform == 'linux'", "(python_full_version == '3.9.*' and platform_machine != 'arm64' and sys_platform == 'darwin') or (python_full_version == '3.9.*' and platform_machine != 'aarch64' and sys_platform == 'linux') or (python_full_version == '3.9.*' and sys_platform != 'darwin' and sys_platform != 'linux')", ] -sdist = { url = "https://files.pythonhosted.org/packages/a9/75/10dd1f8116a8b796cb2c737b674e02d02e80454bda953fa7e65d8c12b016/numpy-2.0.2.tar.gz", hash = "sha256:883c987dee1880e2a864ab0dc9892292582510604156762362d9326444636e78", size = 18902015 } -wheels = [ - { url = "https://files.pythonhosted.org/packages/21/91/3495b3237510f79f5d81f2508f9f13fea78ebfdf07538fc7444badda173d/numpy-2.0.2-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:51129a29dbe56f9ca83438b706e2e69a39892b5eda6cedcb6b0c9fdc9b0d3ece", size = 21165245 }, - { url = "https://files.pythonhosted.org/packages/05/33/26178c7d437a87082d11019292dce6d3fe6f0e9026b7b2309cbf3e489b1d/numpy-2.0.2-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:f15975dfec0cf2239224d80e32c3170b1d168335eaedee69da84fbe9f1f9cd04", size = 13738540 }, - { url = "https://files.pythonhosted.org/packages/ec/31/cc46e13bf07644efc7a4bf68df2df5fb2a1a88d0cd0da9ddc84dc0033e51/numpy-2.0.2-cp310-cp310-macosx_14_0_arm64.whl", hash = "sha256:8c5713284ce4e282544c68d1c3b2c7161d38c256d2eefc93c1d683cf47683e66", size = 5300623 }, - { url = "https://files.pythonhosted.org/packages/6e/16/7bfcebf27bb4f9d7ec67332ffebee4d1bf085c84246552d52dbb548600e7/numpy-2.0.2-cp310-cp310-macosx_14_0_x86_64.whl", hash = "sha256:becfae3ddd30736fe1889a37f1f580e245ba79a5855bff5f2a29cb3ccc22dd7b", size = 6901774 }, - { url = "https://files.pythonhosted.org/packages/f9/a3/561c531c0e8bf082c5bef509d00d56f82e0ea7e1e3e3a7fc8fa78742a6e5/numpy-2.0.2-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:2da5960c3cf0df7eafefd806d4e612c5e19358de82cb3c343631188991566ccd", size = 13907081 }, - { url = "https://files.pythonhosted.org/packages/fa/66/f7177ab331876200ac7563a580140643d1179c8b4b6a6b0fc9838de2a9b8/numpy-2.0.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:496f71341824ed9f3d2fd36cf3ac57ae2e0165c143b55c3a035ee219413f3318", size = 19523451 }, - { url = "https://files.pythonhosted.org/packages/25/7f/0b209498009ad6453e4efc2c65bcdf0ae08a182b2b7877d7ab38a92dc542/numpy-2.0.2-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:a61ec659f68ae254e4d237816e33171497e978140353c0c2038d46e63282d0c8", size = 19927572 }, - { url = "https://files.pythonhosted.org/packages/3e/df/2619393b1e1b565cd2d4c4403bdd979621e2c4dea1f8532754b2598ed63b/numpy-2.0.2-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:d731a1c6116ba289c1e9ee714b08a8ff882944d4ad631fd411106a30f083c326", size = 14400722 }, - { url = "https://files.pythonhosted.org/packages/22/ad/77e921b9f256d5da36424ffb711ae79ca3f451ff8489eeca544d0701d74a/numpy-2.0.2-cp310-cp310-win32.whl", hash = "sha256:984d96121c9f9616cd33fbd0618b7f08e0cfc9600a7ee1d6fd9b239186d19d97", size = 6472170 }, - { url = "https://files.pythonhosted.org/packages/10/05/3442317535028bc29cf0c0dd4c191a4481e8376e9f0db6bcf29703cadae6/numpy-2.0.2-cp310-cp310-win_amd64.whl", hash = "sha256:c7b0be4ef08607dd04da4092faee0b86607f111d5ae68036f16cc787e250a131", size = 15905558 }, - { url = "https://files.pythonhosted.org/packages/8b/cf/034500fb83041aa0286e0fb16e7c76e5c8b67c0711bb6e9e9737a717d5fe/numpy-2.0.2-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:49ca4decb342d66018b01932139c0961a8f9ddc7589611158cb3c27cbcf76448", size = 21169137 }, - { url = "https://files.pythonhosted.org/packages/4a/d9/32de45561811a4b87fbdee23b5797394e3d1504b4a7cf40c10199848893e/numpy-2.0.2-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:11a76c372d1d37437857280aa142086476136a8c0f373b2e648ab2c8f18fb195", size = 13703552 }, - { url = "https://files.pythonhosted.org/packages/c1/ca/2f384720020c7b244d22508cb7ab23d95f179fcfff33c31a6eeba8d6c512/numpy-2.0.2-cp311-cp311-macosx_14_0_arm64.whl", hash = "sha256:807ec44583fd708a21d4a11d94aedf2f4f3c3719035c76a2bbe1fe8e217bdc57", size = 5298957 }, - { url = "https://files.pythonhosted.org/packages/0e/78/a3e4f9fb6aa4e6fdca0c5428e8ba039408514388cf62d89651aade838269/numpy-2.0.2-cp311-cp311-macosx_14_0_x86_64.whl", hash = "sha256:8cafab480740e22f8d833acefed5cc87ce276f4ece12fdaa2e8903db2f82897a", size = 6905573 }, - { url = "https://files.pythonhosted.org/packages/a0/72/cfc3a1beb2caf4efc9d0b38a15fe34025230da27e1c08cc2eb9bfb1c7231/numpy-2.0.2-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a15f476a45e6e5a3a79d8a14e62161d27ad897381fecfa4a09ed5322f2085669", size = 13914330 }, - { url = "https://files.pythonhosted.org/packages/ba/a8/c17acf65a931ce551fee11b72e8de63bf7e8a6f0e21add4c937c83563538/numpy-2.0.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:13e689d772146140a252c3a28501da66dfecd77490b498b168b501835041f951", size = 19534895 }, - { url = "https://files.pythonhosted.org/packages/ba/86/8767f3d54f6ae0165749f84648da9dcc8cd78ab65d415494962c86fac80f/numpy-2.0.2-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:9ea91dfb7c3d1c56a0e55657c0afb38cf1eeae4544c208dc465c3c9f3a7c09f9", size = 19937253 }, - { url = "https://files.pythonhosted.org/packages/df/87/f76450e6e1c14e5bb1eae6836478b1028e096fd02e85c1c37674606ab752/numpy-2.0.2-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:c1c9307701fec8f3f7a1e6711f9089c06e6284b3afbbcd259f7791282d660a15", size = 14414074 }, - { url = "https://files.pythonhosted.org/packages/5c/ca/0f0f328e1e59f73754f06e1adfb909de43726d4f24c6a3f8805f34f2b0fa/numpy-2.0.2-cp311-cp311-win32.whl", hash = "sha256:a392a68bd329eafac5817e5aefeb39038c48b671afd242710b451e76090e81f4", size = 6470640 }, - { url = "https://files.pythonhosted.org/packages/eb/57/3a3f14d3a759dcf9bf6e9eda905794726b758819df4663f217d658a58695/numpy-2.0.2-cp311-cp311-win_amd64.whl", hash = "sha256:286cd40ce2b7d652a6f22efdfc6d1edf879440e53e76a75955bc0c826c7e64dc", size = 15910230 }, - { url = "https://files.pythonhosted.org/packages/45/40/2e117be60ec50d98fa08c2f8c48e09b3edea93cfcabd5a9ff6925d54b1c2/numpy-2.0.2-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:df55d490dea7934f330006d0f81e8551ba6010a5bf035a249ef61a94f21c500b", size = 20895803 }, - { url = "https://files.pythonhosted.org/packages/46/92/1b8b8dee833f53cef3e0a3f69b2374467789e0bb7399689582314df02651/numpy-2.0.2-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:8df823f570d9adf0978347d1f926b2a867d5608f434a7cff7f7908c6570dcf5e", size = 13471835 }, - { url = "https://files.pythonhosted.org/packages/7f/19/e2793bde475f1edaea6945be141aef6c8b4c669b90c90a300a8954d08f0a/numpy-2.0.2-cp312-cp312-macosx_14_0_arm64.whl", hash = "sha256:9a92ae5c14811e390f3767053ff54eaee3bf84576d99a2456391401323f4ec2c", size = 5038499 }, - { url = "https://files.pythonhosted.org/packages/e3/ff/ddf6dac2ff0dd50a7327bcdba45cb0264d0e96bb44d33324853f781a8f3c/numpy-2.0.2-cp312-cp312-macosx_14_0_x86_64.whl", hash = "sha256:a842d573724391493a97a62ebbb8e731f8a5dcc5d285dfc99141ca15a3302d0c", size = 6633497 }, - { url = "https://files.pythonhosted.org/packages/72/21/67f36eac8e2d2cd652a2e69595a54128297cdcb1ff3931cfc87838874bd4/numpy-2.0.2-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:c05e238064fc0610c840d1cf6a13bf63d7e391717d247f1bf0318172e759e692", size = 13621158 }, - { url = "https://files.pythonhosted.org/packages/39/68/e9f1126d757653496dbc096cb429014347a36b228f5a991dae2c6b6cfd40/numpy-2.0.2-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:0123ffdaa88fa4ab64835dcbde75dcdf89c453c922f18dced6e27c90d1d0ec5a", size = 19236173 }, - { url = "https://files.pythonhosted.org/packages/d1/e9/1f5333281e4ebf483ba1c888b1d61ba7e78d7e910fdd8e6499667041cc35/numpy-2.0.2-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:96a55f64139912d61de9137f11bf39a55ec8faec288c75a54f93dfd39f7eb40c", size = 19634174 }, - { url = "https://files.pythonhosted.org/packages/71/af/a469674070c8d8408384e3012e064299f7a2de540738a8e414dcfd639996/numpy-2.0.2-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:ec9852fb39354b5a45a80bdab5ac02dd02b15f44b3804e9f00c556bf24b4bded", size = 14099701 }, - { url = "https://files.pythonhosted.org/packages/d0/3d/08ea9f239d0e0e939b6ca52ad403c84a2bce1bde301a8eb4888c1c1543f1/numpy-2.0.2-cp312-cp312-win32.whl", hash = "sha256:671bec6496f83202ed2d3c8fdc486a8fc86942f2e69ff0e986140339a63bcbe5", size = 6174313 }, - { url = "https://files.pythonhosted.org/packages/b2/b5/4ac39baebf1fdb2e72585c8352c56d063b6126be9fc95bd2bb5ef5770c20/numpy-2.0.2-cp312-cp312-win_amd64.whl", hash = "sha256:cfd41e13fdc257aa5778496b8caa5e856dc4896d4ccf01841daee1d96465467a", size = 15606179 }, - { url = "https://files.pythonhosted.org/packages/43/c1/41c8f6df3162b0c6ffd4437d729115704bd43363de0090c7f913cfbc2d89/numpy-2.0.2-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:9059e10581ce4093f735ed23f3b9d283b9d517ff46009ddd485f1747eb22653c", size = 21169942 }, - { url = "https://files.pythonhosted.org/packages/39/bc/fd298f308dcd232b56a4031fd6ddf11c43f9917fbc937e53762f7b5a3bb1/numpy-2.0.2-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:423e89b23490805d2a5a96fe40ec507407b8ee786d66f7328be214f9679df6dd", size = 13711512 }, - { url = "https://files.pythonhosted.org/packages/96/ff/06d1aa3eeb1c614eda245c1ba4fb88c483bee6520d361641331872ac4b82/numpy-2.0.2-cp39-cp39-macosx_14_0_arm64.whl", hash = "sha256:2b2955fa6f11907cf7a70dab0d0755159bca87755e831e47932367fc8f2f2d0b", size = 5306976 }, - { url = "https://files.pythonhosted.org/packages/2d/98/121996dcfb10a6087a05e54453e28e58694a7db62c5a5a29cee14c6e047b/numpy-2.0.2-cp39-cp39-macosx_14_0_x86_64.whl", hash = "sha256:97032a27bd9d8988b9a97a8c4d2c9f2c15a81f61e2f21404d7e8ef00cb5be729", size = 6906494 }, - { url = "https://files.pythonhosted.org/packages/15/31/9dffc70da6b9bbf7968f6551967fc21156207366272c2a40b4ed6008dc9b/numpy-2.0.2-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:1e795a8be3ddbac43274f18588329c72939870a16cae810c2b73461c40718ab1", size = 13912596 }, - { url = "https://files.pythonhosted.org/packages/b9/14/78635daab4b07c0930c919d451b8bf8c164774e6a3413aed04a6d95758ce/numpy-2.0.2-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f26b258c385842546006213344c50655ff1555a9338e2e5e02a0756dc3e803dd", size = 19526099 }, - { url = "https://files.pythonhosted.org/packages/26/4c/0eeca4614003077f68bfe7aac8b7496f04221865b3a5e7cb230c9d055afd/numpy-2.0.2-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:5fec9451a7789926bcf7c2b8d187292c9f93ea30284802a0ab3f5be8ab36865d", size = 19932823 }, - { url = "https://files.pythonhosted.org/packages/f1/46/ea25b98b13dccaebddf1a803f8c748680d972e00507cd9bc6dcdb5aa2ac1/numpy-2.0.2-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:9189427407d88ff25ecf8f12469d4d39d35bee1db5d39fc5c168c6f088a6956d", size = 14404424 }, - { url = "https://files.pythonhosted.org/packages/c8/a6/177dd88d95ecf07e722d21008b1b40e681a929eb9e329684d449c36586b2/numpy-2.0.2-cp39-cp39-win32.whl", hash = "sha256:905d16e0c60200656500c95b6b8dca5d109e23cb24abc701d41c02d74c6b3afa", size = 6476809 }, - { url = "https://files.pythonhosted.org/packages/ea/2b/7fc9f4e7ae5b507c1a3a21f0f15ed03e794c1242ea8a242ac158beb56034/numpy-2.0.2-cp39-cp39-win_amd64.whl", hash = "sha256:a3f4ab0caa7f053f6797fcd4e1e25caee367db3112ef2b6ef82d749530768c73", size = 15911314 }, - { url = "https://files.pythonhosted.org/packages/8f/3b/df5a870ac6a3be3a86856ce195ef42eec7ae50d2a202be1f5a4b3b340e14/numpy-2.0.2-pp39-pypy39_pp73-macosx_10_9_x86_64.whl", hash = "sha256:7f0a0c6f12e07fa94133c8a67404322845220c06a9e80e85999afe727f7438b8", size = 21025288 }, - { url = "https://files.pythonhosted.org/packages/2c/97/51af92f18d6f6f2d9ad8b482a99fb74e142d71372da5d834b3a2747a446e/numpy-2.0.2-pp39-pypy39_pp73-macosx_14_0_x86_64.whl", hash = "sha256:312950fdd060354350ed123c0e25a71327d3711584beaef30cdaa93320c392d4", size = 6762793 }, - { url = "https://files.pythonhosted.org/packages/12/46/de1fbd0c1b5ccaa7f9a005b66761533e2f6a3e560096682683a223631fe9/numpy-2.0.2-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:26df23238872200f63518dd2aa984cfca675d82469535dc7162dc2ee52d9dd5c", size = 19334885 }, - { url = "https://files.pythonhosted.org/packages/cc/dc/d330a6faefd92b446ec0f0dfea4c3207bb1fef3c4771d19cf4543efd2c78/numpy-2.0.2-pp39-pypy39_pp73-win_amd64.whl", hash = "sha256:a46288ec55ebbd58947d31d72be2c63cbf839f0a63b49cb755022310792a3385", size = 15828784 }, +sdist = { url = "https://files.pythonhosted.org/packages/a9/75/10dd1f8116a8b796cb2c737b674e02d02e80454bda953fa7e65d8c12b016/numpy-2.0.2.tar.gz", hash = "sha256:883c987dee1880e2a864ab0dc9892292582510604156762362d9326444636e78", size = 18902015, upload-time = "2024-08-26T20:19:40.945Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/21/91/3495b3237510f79f5d81f2508f9f13fea78ebfdf07538fc7444badda173d/numpy-2.0.2-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:51129a29dbe56f9ca83438b706e2e69a39892b5eda6cedcb6b0c9fdc9b0d3ece", size = 21165245, upload-time = "2024-08-26T20:04:14.625Z" }, + { url = "https://files.pythonhosted.org/packages/05/33/26178c7d437a87082d11019292dce6d3fe6f0e9026b7b2309cbf3e489b1d/numpy-2.0.2-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:f15975dfec0cf2239224d80e32c3170b1d168335eaedee69da84fbe9f1f9cd04", size = 13738540, upload-time = "2024-08-26T20:04:36.784Z" }, + { url = "https://files.pythonhosted.org/packages/ec/31/cc46e13bf07644efc7a4bf68df2df5fb2a1a88d0cd0da9ddc84dc0033e51/numpy-2.0.2-cp310-cp310-macosx_14_0_arm64.whl", hash = "sha256:8c5713284ce4e282544c68d1c3b2c7161d38c256d2eefc93c1d683cf47683e66", size = 5300623, upload-time = "2024-08-26T20:04:46.491Z" }, + { url = "https://files.pythonhosted.org/packages/6e/16/7bfcebf27bb4f9d7ec67332ffebee4d1bf085c84246552d52dbb548600e7/numpy-2.0.2-cp310-cp310-macosx_14_0_x86_64.whl", hash = "sha256:becfae3ddd30736fe1889a37f1f580e245ba79a5855bff5f2a29cb3ccc22dd7b", size = 6901774, upload-time = "2024-08-26T20:04:58.173Z" }, + { url = "https://files.pythonhosted.org/packages/f9/a3/561c531c0e8bf082c5bef509d00d56f82e0ea7e1e3e3a7fc8fa78742a6e5/numpy-2.0.2-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:2da5960c3cf0df7eafefd806d4e612c5e19358de82cb3c343631188991566ccd", size = 13907081, upload-time = "2024-08-26T20:05:19.098Z" }, + { url = "https://files.pythonhosted.org/packages/fa/66/f7177ab331876200ac7563a580140643d1179c8b4b6a6b0fc9838de2a9b8/numpy-2.0.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:496f71341824ed9f3d2fd36cf3ac57ae2e0165c143b55c3a035ee219413f3318", size = 19523451, upload-time = "2024-08-26T20:05:47.479Z" }, + { url = "https://files.pythonhosted.org/packages/25/7f/0b209498009ad6453e4efc2c65bcdf0ae08a182b2b7877d7ab38a92dc542/numpy-2.0.2-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:a61ec659f68ae254e4d237816e33171497e978140353c0c2038d46e63282d0c8", size = 19927572, upload-time = "2024-08-26T20:06:17.137Z" }, + { url = "https://files.pythonhosted.org/packages/3e/df/2619393b1e1b565cd2d4c4403bdd979621e2c4dea1f8532754b2598ed63b/numpy-2.0.2-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:d731a1c6116ba289c1e9ee714b08a8ff882944d4ad631fd411106a30f083c326", size = 14400722, upload-time = "2024-08-26T20:06:39.16Z" }, + { url = "https://files.pythonhosted.org/packages/22/ad/77e921b9f256d5da36424ffb711ae79ca3f451ff8489eeca544d0701d74a/numpy-2.0.2-cp310-cp310-win32.whl", hash = "sha256:984d96121c9f9616cd33fbd0618b7f08e0cfc9600a7ee1d6fd9b239186d19d97", size = 6472170, upload-time = "2024-08-26T20:06:50.361Z" }, + { url = "https://files.pythonhosted.org/packages/10/05/3442317535028bc29cf0c0dd4c191a4481e8376e9f0db6bcf29703cadae6/numpy-2.0.2-cp310-cp310-win_amd64.whl", hash = "sha256:c7b0be4ef08607dd04da4092faee0b86607f111d5ae68036f16cc787e250a131", size = 15905558, upload-time = "2024-08-26T20:07:13.881Z" }, + { url = "https://files.pythonhosted.org/packages/8b/cf/034500fb83041aa0286e0fb16e7c76e5c8b67c0711bb6e9e9737a717d5fe/numpy-2.0.2-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:49ca4decb342d66018b01932139c0961a8f9ddc7589611158cb3c27cbcf76448", size = 21169137, upload-time = "2024-08-26T20:07:45.345Z" }, + { url = "https://files.pythonhosted.org/packages/4a/d9/32de45561811a4b87fbdee23b5797394e3d1504b4a7cf40c10199848893e/numpy-2.0.2-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:11a76c372d1d37437857280aa142086476136a8c0f373b2e648ab2c8f18fb195", size = 13703552, upload-time = "2024-08-26T20:08:06.666Z" }, + { url = "https://files.pythonhosted.org/packages/c1/ca/2f384720020c7b244d22508cb7ab23d95f179fcfff33c31a6eeba8d6c512/numpy-2.0.2-cp311-cp311-macosx_14_0_arm64.whl", hash = "sha256:807ec44583fd708a21d4a11d94aedf2f4f3c3719035c76a2bbe1fe8e217bdc57", size = 5298957, upload-time = "2024-08-26T20:08:15.83Z" }, + { url = "https://files.pythonhosted.org/packages/0e/78/a3e4f9fb6aa4e6fdca0c5428e8ba039408514388cf62d89651aade838269/numpy-2.0.2-cp311-cp311-macosx_14_0_x86_64.whl", hash = "sha256:8cafab480740e22f8d833acefed5cc87ce276f4ece12fdaa2e8903db2f82897a", size = 6905573, upload-time = "2024-08-26T20:08:27.185Z" }, + { url = "https://files.pythonhosted.org/packages/a0/72/cfc3a1beb2caf4efc9d0b38a15fe34025230da27e1c08cc2eb9bfb1c7231/numpy-2.0.2-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a15f476a45e6e5a3a79d8a14e62161d27ad897381fecfa4a09ed5322f2085669", size = 13914330, upload-time = "2024-08-26T20:08:48.058Z" }, + { url = "https://files.pythonhosted.org/packages/ba/a8/c17acf65a931ce551fee11b72e8de63bf7e8a6f0e21add4c937c83563538/numpy-2.0.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:13e689d772146140a252c3a28501da66dfecd77490b498b168b501835041f951", size = 19534895, upload-time = "2024-08-26T20:09:16.536Z" }, + { url = "https://files.pythonhosted.org/packages/ba/86/8767f3d54f6ae0165749f84648da9dcc8cd78ab65d415494962c86fac80f/numpy-2.0.2-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:9ea91dfb7c3d1c56a0e55657c0afb38cf1eeae4544c208dc465c3c9f3a7c09f9", size = 19937253, upload-time = "2024-08-26T20:09:46.263Z" }, + { url = "https://files.pythonhosted.org/packages/df/87/f76450e6e1c14e5bb1eae6836478b1028e096fd02e85c1c37674606ab752/numpy-2.0.2-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:c1c9307701fec8f3f7a1e6711f9089c06e6284b3afbbcd259f7791282d660a15", size = 14414074, upload-time = "2024-08-26T20:10:08.483Z" }, + { url = "https://files.pythonhosted.org/packages/5c/ca/0f0f328e1e59f73754f06e1adfb909de43726d4f24c6a3f8805f34f2b0fa/numpy-2.0.2-cp311-cp311-win32.whl", hash = "sha256:a392a68bd329eafac5817e5aefeb39038c48b671afd242710b451e76090e81f4", size = 6470640, upload-time = "2024-08-26T20:10:19.732Z" }, + { url = "https://files.pythonhosted.org/packages/eb/57/3a3f14d3a759dcf9bf6e9eda905794726b758819df4663f217d658a58695/numpy-2.0.2-cp311-cp311-win_amd64.whl", hash = "sha256:286cd40ce2b7d652a6f22efdfc6d1edf879440e53e76a75955bc0c826c7e64dc", size = 15910230, upload-time = "2024-08-26T20:10:43.413Z" }, + { url = "https://files.pythonhosted.org/packages/45/40/2e117be60ec50d98fa08c2f8c48e09b3edea93cfcabd5a9ff6925d54b1c2/numpy-2.0.2-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:df55d490dea7934f330006d0f81e8551ba6010a5bf035a249ef61a94f21c500b", size = 20895803, upload-time = "2024-08-26T20:11:13.916Z" }, + { url = "https://files.pythonhosted.org/packages/46/92/1b8b8dee833f53cef3e0a3f69b2374467789e0bb7399689582314df02651/numpy-2.0.2-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:8df823f570d9adf0978347d1f926b2a867d5608f434a7cff7f7908c6570dcf5e", size = 13471835, upload-time = "2024-08-26T20:11:34.779Z" }, + { url = "https://files.pythonhosted.org/packages/7f/19/e2793bde475f1edaea6945be141aef6c8b4c669b90c90a300a8954d08f0a/numpy-2.0.2-cp312-cp312-macosx_14_0_arm64.whl", hash = "sha256:9a92ae5c14811e390f3767053ff54eaee3bf84576d99a2456391401323f4ec2c", size = 5038499, upload-time = "2024-08-26T20:11:43.902Z" }, + { url = "https://files.pythonhosted.org/packages/e3/ff/ddf6dac2ff0dd50a7327bcdba45cb0264d0e96bb44d33324853f781a8f3c/numpy-2.0.2-cp312-cp312-macosx_14_0_x86_64.whl", hash = "sha256:a842d573724391493a97a62ebbb8e731f8a5dcc5d285dfc99141ca15a3302d0c", size = 6633497, upload-time = "2024-08-26T20:11:55.09Z" }, + { url = "https://files.pythonhosted.org/packages/72/21/67f36eac8e2d2cd652a2e69595a54128297cdcb1ff3931cfc87838874bd4/numpy-2.0.2-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:c05e238064fc0610c840d1cf6a13bf63d7e391717d247f1bf0318172e759e692", size = 13621158, upload-time = "2024-08-26T20:12:14.95Z" }, + { url = "https://files.pythonhosted.org/packages/39/68/e9f1126d757653496dbc096cb429014347a36b228f5a991dae2c6b6cfd40/numpy-2.0.2-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:0123ffdaa88fa4ab64835dcbde75dcdf89c453c922f18dced6e27c90d1d0ec5a", size = 19236173, upload-time = "2024-08-26T20:12:44.049Z" }, + { url = "https://files.pythonhosted.org/packages/d1/e9/1f5333281e4ebf483ba1c888b1d61ba7e78d7e910fdd8e6499667041cc35/numpy-2.0.2-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:96a55f64139912d61de9137f11bf39a55ec8faec288c75a54f93dfd39f7eb40c", size = 19634174, upload-time = "2024-08-26T20:13:13.634Z" }, + { url = "https://files.pythonhosted.org/packages/71/af/a469674070c8d8408384e3012e064299f7a2de540738a8e414dcfd639996/numpy-2.0.2-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:ec9852fb39354b5a45a80bdab5ac02dd02b15f44b3804e9f00c556bf24b4bded", size = 14099701, upload-time = "2024-08-26T20:13:34.851Z" }, + { url = "https://files.pythonhosted.org/packages/d0/3d/08ea9f239d0e0e939b6ca52ad403c84a2bce1bde301a8eb4888c1c1543f1/numpy-2.0.2-cp312-cp312-win32.whl", hash = "sha256:671bec6496f83202ed2d3c8fdc486a8fc86942f2e69ff0e986140339a63bcbe5", size = 6174313, upload-time = "2024-08-26T20:13:45.653Z" }, + { url = "https://files.pythonhosted.org/packages/b2/b5/4ac39baebf1fdb2e72585c8352c56d063b6126be9fc95bd2bb5ef5770c20/numpy-2.0.2-cp312-cp312-win_amd64.whl", hash = "sha256:cfd41e13fdc257aa5778496b8caa5e856dc4896d4ccf01841daee1d96465467a", size = 15606179, upload-time = "2024-08-26T20:14:08.786Z" }, + { url = "https://files.pythonhosted.org/packages/43/c1/41c8f6df3162b0c6ffd4437d729115704bd43363de0090c7f913cfbc2d89/numpy-2.0.2-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:9059e10581ce4093f735ed23f3b9d283b9d517ff46009ddd485f1747eb22653c", size = 21169942, upload-time = "2024-08-26T20:14:40.108Z" }, + { url = "https://files.pythonhosted.org/packages/39/bc/fd298f308dcd232b56a4031fd6ddf11c43f9917fbc937e53762f7b5a3bb1/numpy-2.0.2-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:423e89b23490805d2a5a96fe40ec507407b8ee786d66f7328be214f9679df6dd", size = 13711512, upload-time = "2024-08-26T20:15:00.985Z" }, + { url = "https://files.pythonhosted.org/packages/96/ff/06d1aa3eeb1c614eda245c1ba4fb88c483bee6520d361641331872ac4b82/numpy-2.0.2-cp39-cp39-macosx_14_0_arm64.whl", hash = "sha256:2b2955fa6f11907cf7a70dab0d0755159bca87755e831e47932367fc8f2f2d0b", size = 5306976, upload-time = "2024-08-26T20:15:10.876Z" }, + { url = "https://files.pythonhosted.org/packages/2d/98/121996dcfb10a6087a05e54453e28e58694a7db62c5a5a29cee14c6e047b/numpy-2.0.2-cp39-cp39-macosx_14_0_x86_64.whl", hash = "sha256:97032a27bd9d8988b9a97a8c4d2c9f2c15a81f61e2f21404d7e8ef00cb5be729", size = 6906494, upload-time = "2024-08-26T20:15:22.055Z" }, + { url = "https://files.pythonhosted.org/packages/15/31/9dffc70da6b9bbf7968f6551967fc21156207366272c2a40b4ed6008dc9b/numpy-2.0.2-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:1e795a8be3ddbac43274f18588329c72939870a16cae810c2b73461c40718ab1", size = 13912596, upload-time = "2024-08-26T20:15:42.452Z" }, + { url = "https://files.pythonhosted.org/packages/b9/14/78635daab4b07c0930c919d451b8bf8c164774e6a3413aed04a6d95758ce/numpy-2.0.2-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f26b258c385842546006213344c50655ff1555a9338e2e5e02a0756dc3e803dd", size = 19526099, upload-time = "2024-08-26T20:16:11.048Z" }, + { url = "https://files.pythonhosted.org/packages/26/4c/0eeca4614003077f68bfe7aac8b7496f04221865b3a5e7cb230c9d055afd/numpy-2.0.2-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:5fec9451a7789926bcf7c2b8d187292c9f93ea30284802a0ab3f5be8ab36865d", size = 19932823, upload-time = "2024-08-26T20:16:40.171Z" }, + { url = "https://files.pythonhosted.org/packages/f1/46/ea25b98b13dccaebddf1a803f8c748680d972e00507cd9bc6dcdb5aa2ac1/numpy-2.0.2-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:9189427407d88ff25ecf8f12469d4d39d35bee1db5d39fc5c168c6f088a6956d", size = 14404424, upload-time = "2024-08-26T20:17:02.604Z" }, + { url = "https://files.pythonhosted.org/packages/c8/a6/177dd88d95ecf07e722d21008b1b40e681a929eb9e329684d449c36586b2/numpy-2.0.2-cp39-cp39-win32.whl", hash = "sha256:905d16e0c60200656500c95b6b8dca5d109e23cb24abc701d41c02d74c6b3afa", size = 6476809, upload-time = "2024-08-26T20:17:13.553Z" }, + { url = "https://files.pythonhosted.org/packages/ea/2b/7fc9f4e7ae5b507c1a3a21f0f15ed03e794c1242ea8a242ac158beb56034/numpy-2.0.2-cp39-cp39-win_amd64.whl", hash = "sha256:a3f4ab0caa7f053f6797fcd4e1e25caee367db3112ef2b6ef82d749530768c73", size = 15911314, upload-time = "2024-08-26T20:17:36.72Z" }, + { url = "https://files.pythonhosted.org/packages/8f/3b/df5a870ac6a3be3a86856ce195ef42eec7ae50d2a202be1f5a4b3b340e14/numpy-2.0.2-pp39-pypy39_pp73-macosx_10_9_x86_64.whl", hash = "sha256:7f0a0c6f12e07fa94133c8a67404322845220c06a9e80e85999afe727f7438b8", size = 21025288, upload-time = "2024-08-26T20:18:07.732Z" }, + { url = "https://files.pythonhosted.org/packages/2c/97/51af92f18d6f6f2d9ad8b482a99fb74e142d71372da5d834b3a2747a446e/numpy-2.0.2-pp39-pypy39_pp73-macosx_14_0_x86_64.whl", hash = "sha256:312950fdd060354350ed123c0e25a71327d3711584beaef30cdaa93320c392d4", size = 6762793, upload-time = "2024-08-26T20:18:19.125Z" }, + { url = "https://files.pythonhosted.org/packages/12/46/de1fbd0c1b5ccaa7f9a005b66761533e2f6a3e560096682683a223631fe9/numpy-2.0.2-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:26df23238872200f63518dd2aa984cfca675d82469535dc7162dc2ee52d9dd5c", size = 19334885, upload-time = "2024-08-26T20:18:47.237Z" }, + { url = "https://files.pythonhosted.org/packages/cc/dc/d330a6faefd92b446ec0f0dfea4c3207bb1fef3c4771d19cf4543efd2c78/numpy-2.0.2-pp39-pypy39_pp73-win_amd64.whl", hash = "sha256:a46288ec55ebbd58947d31d72be2c63cbf839f0a63b49cb755022310792a3385", size = 15828784, upload-time = "2024-08-26T20:19:11.19Z" }, ] [[package]] @@ -3226,62 +3226,62 @@ resolution-markers = [ "python_full_version == '3.10.*' and platform_machine == 'aarch64' and sys_platform == 'linux'", "(python_full_version == '3.10.*' and platform_machine != 'aarch64' and sys_platform == 'linux') or (python_full_version == '3.10.*' and sys_platform != 'darwin' and sys_platform != 'linux')", ] -sdist = { url = "https://files.pythonhosted.org/packages/ec/d0/c12ddfd3a02274be06ffc71f3efc6d0e457b0409c4481596881e748cb264/numpy-2.2.2.tar.gz", hash = "sha256:ed6906f61834d687738d25988ae117683705636936cc605be0bb208b23df4d8f", size = 20233295 } -wheels = [ - { url = "https://files.pythonhosted.org/packages/70/2a/69033dc22d981ad21325314f8357438078f5c28310a6d89fb3833030ec8a/numpy-2.2.2-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:7079129b64cb78bdc8d611d1fd7e8002c0a2565da6a47c4df8062349fee90e3e", size = 21215825 }, - { url = "https://files.pythonhosted.org/packages/31/2c/39f91e00bbd3d5639b027ac48c55dc5f2992bd2b305412d26be4c830862a/numpy-2.2.2-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:2ec6c689c61df613b783aeb21f945c4cbe6c51c28cb70aae8430577ab39f163e", size = 14354996 }, - { url = "https://files.pythonhosted.org/packages/0a/2c/d468ebd253851af10de5b3e8f3418ebabfaab5f0337a75299fbeb8b8c17a/numpy-2.2.2-cp310-cp310-macosx_14_0_arm64.whl", hash = "sha256:40c7ff5da22cd391944a28c6a9c638a5eef77fcf71d6e3a79e1d9d9e82752715", size = 5393621 }, - { url = "https://files.pythonhosted.org/packages/7f/f4/3d8a5a0da297034106c5de92be881aca7079cde6058934215a1de91334f6/numpy-2.2.2-cp310-cp310-macosx_14_0_x86_64.whl", hash = "sha256:995f9e8181723852ca458e22de5d9b7d3ba4da3f11cc1cb113f093b271d7965a", size = 6928931 }, - { url = "https://files.pythonhosted.org/packages/47/a7/029354ab56edd43dd3f5efbfad292b8844f98b93174f322f82353fa46efa/numpy-2.2.2-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:b78ea78450fd96a498f50ee096f69c75379af5138f7881a51355ab0e11286c97", size = 14333157 }, - { url = "https://files.pythonhosted.org/packages/e3/d7/11fc594838d35c43519763310c316d4fd56f8600d3fc80a8e13e325b5c5c/numpy-2.2.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:3fbe72d347fbc59f94124125e73fc4976a06927ebc503ec5afbfb35f193cd957", size = 16381794 }, - { url = "https://files.pythonhosted.org/packages/af/d4/dd9b19cd4aff9c79d3f54d17f8be815407520d3116004bc574948336981b/numpy-2.2.2-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:8e6da5cffbbe571f93588f562ed130ea63ee206d12851b60819512dd3e1ba50d", size = 15543990 }, - { url = "https://files.pythonhosted.org/packages/30/97/ab96b7650f27f684a9b1e46757a7294ecc50cab27701d05f146e9f779627/numpy-2.2.2-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:09d6a2032faf25e8d0cadde7fd6145118ac55d2740132c1d845f98721b5ebcfd", size = 18170896 }, - { url = "https://files.pythonhosted.org/packages/81/9b/bae9618cab20db67a2ca9d711795cad29b2ca4b73034dd3b5d05b962070a/numpy-2.2.2-cp310-cp310-win32.whl", hash = "sha256:159ff6ee4c4a36a23fe01b7c3d07bd8c14cc433d9720f977fcd52c13c0098160", size = 6573458 }, - { url = "https://files.pythonhosted.org/packages/92/9b/95678092febd14070cfb7906ea7932e71e9dd5a6ab3ee948f9ed975e905d/numpy-2.2.2-cp310-cp310-win_amd64.whl", hash = "sha256:64bd6e1762cd7f0986a740fee4dff927b9ec2c5e4d9a28d056eb17d332158014", size = 12915812 }, - { url = "https://files.pythonhosted.org/packages/21/67/32c68756eed84df181c06528ff57e09138f893c4653448c4967311e0f992/numpy-2.2.2-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:642199e98af1bd2b6aeb8ecf726972d238c9877b0f6e8221ee5ab945ec8a2189", size = 21220002 }, - { url = "https://files.pythonhosted.org/packages/3b/89/f43bcad18f2b2e5814457b1c7f7b0e671d0db12c8c0e43397ab8cb1831ed/numpy-2.2.2-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:6d9fc9d812c81e6168b6d405bf00b8d6739a7f72ef22a9214c4241e0dc70b323", size = 14391215 }, - { url = "https://files.pythonhosted.org/packages/9c/e6/efb8cd6122bf25e86e3dd89d9dbfec9e6861c50e8810eed77d4be59b51c6/numpy-2.2.2-cp311-cp311-macosx_14_0_arm64.whl", hash = "sha256:c7d1fd447e33ee20c1f33f2c8e6634211124a9aabde3c617687d8b739aa69eac", size = 5391918 }, - { url = "https://files.pythonhosted.org/packages/47/e2/fccf89d64d9b47ffb242823d4e851fc9d36fa751908c9aac2807924d9b4e/numpy-2.2.2-cp311-cp311-macosx_14_0_x86_64.whl", hash = "sha256:451e854cfae0febe723077bd0cf0a4302a5d84ff25f0bfece8f29206c7bed02e", size = 6933133 }, - { url = "https://files.pythonhosted.org/packages/34/22/5ece749c0e5420a9380eef6fbf83d16a50010bd18fef77b9193d80a6760e/numpy-2.2.2-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:bd249bc894af67cbd8bad2c22e7cbcd46cf87ddfca1f1289d1e7e54868cc785c", size = 14338187 }, - { url = "https://files.pythonhosted.org/packages/5b/86/caec78829311f62afa6fa334c8dfcd79cffb4d24bcf96ee02ae4840d462b/numpy-2.2.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:02935e2c3c0c6cbe9c7955a8efa8908dd4221d7755644c59d1bba28b94fd334f", size = 16393429 }, - { url = "https://files.pythonhosted.org/packages/c8/4e/0c25f74c88239a37924577d6ad780f3212a50f4b4b5f54f5e8c918d726bd/numpy-2.2.2-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:a972cec723e0563aa0823ee2ab1df0cb196ed0778f173b381c871a03719d4826", size = 15559103 }, - { url = "https://files.pythonhosted.org/packages/d4/bd/d557f10fa50dc4d5871fb9606af563249b66af2fc6f99041a10e8757c6f1/numpy-2.2.2-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:d6d6a0910c3b4368d89dde073e630882cdb266755565155bc33520283b2d9df8", size = 18182967 }, - { url = "https://files.pythonhosted.org/packages/30/e9/66cc0f66386d78ed89e45a56e2a1d051e177b6e04477c4a41cd590ef4017/numpy-2.2.2-cp311-cp311-win32.whl", hash = "sha256:860fd59990c37c3ef913c3ae390b3929d005243acca1a86facb0773e2d8d9e50", size = 6571499 }, - { url = "https://files.pythonhosted.org/packages/66/a3/4139296b481ae7304a43581046b8f0a20da6a0dfe0ee47a044cade796603/numpy-2.2.2-cp311-cp311-win_amd64.whl", hash = "sha256:da1eeb460ecce8d5b8608826595c777728cdf28ce7b5a5a8c8ac8d949beadcf2", size = 12919805 }, - { url = "https://files.pythonhosted.org/packages/0c/e6/847d15770ab7a01e807bdfcd4ead5bdae57c0092b7dc83878171b6af97bb/numpy-2.2.2-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:ac9bea18d6d58a995fac1b2cb4488e17eceeac413af014b1dd26170b766d8467", size = 20912636 }, - { url = "https://files.pythonhosted.org/packages/d1/af/f83580891577b13bd7e261416120e036d0d8fb508c8a43a73e38928b794b/numpy-2.2.2-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:23ae9f0c2d889b7b2d88a3791f6c09e2ef827c2446f1c4a3e3e76328ee4afd9a", size = 14098403 }, - { url = "https://files.pythonhosted.org/packages/2b/86/d019fb60a9d0f1d4cf04b014fe88a9135090adfadcc31c1fadbb071d7fa7/numpy-2.2.2-cp312-cp312-macosx_14_0_arm64.whl", hash = "sha256:3074634ea4d6df66be04f6728ee1d173cfded75d002c75fac79503a880bf3825", size = 5128938 }, - { url = "https://files.pythonhosted.org/packages/7a/1b/50985edb6f1ec495a1c36452e860476f5b7ecdc3fc59ea89ccad3c4926c5/numpy-2.2.2-cp312-cp312-macosx_14_0_x86_64.whl", hash = "sha256:8ec0636d3f7d68520afc6ac2dc4b8341ddb725039de042faf0e311599f54eb37", size = 6661937 }, - { url = "https://files.pythonhosted.org/packages/f4/1b/17efd94cad1b9d605c3f8907fb06bcffc4ce4d1d14d46b95316cccccf2b9/numpy-2.2.2-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:2ffbb1acd69fdf8e89dd60ef6182ca90a743620957afb7066385a7bbe88dc748", size = 14049518 }, - { url = "https://files.pythonhosted.org/packages/5b/73/65d2f0b698df1731e851e3295eb29a5ab8aa06f763f7e4188647a809578d/numpy-2.2.2-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:0349b025e15ea9d05c3d63f9657707a4e1d471128a3b1d876c095f328f8ff7f0", size = 16099146 }, - { url = "https://files.pythonhosted.org/packages/d5/69/308f55c0e19d4b5057b5df286c5433822e3c8039ede06d4051d96f1c2c4e/numpy-2.2.2-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:463247edcee4a5537841d5350bc87fe8e92d7dd0e8c71c995d2c6eecb8208278", size = 15246336 }, - { url = "https://files.pythonhosted.org/packages/f0/d8/d8d333ad0d8518d077a21aeea7b7c826eff766a2b1ce1194dea95ca0bacf/numpy-2.2.2-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:9dd47ff0cb2a656ad69c38da850df3454da88ee9a6fde0ba79acceee0e79daba", size = 17863507 }, - { url = "https://files.pythonhosted.org/packages/82/6e/0b84ad3103ffc16d6673e63b5acbe7901b2af96c2837174c6318c98e27ab/numpy-2.2.2-cp312-cp312-win32.whl", hash = "sha256:4525b88c11906d5ab1b0ec1f290996c0020dd318af8b49acaa46f198b1ffc283", size = 6276491 }, - { url = "https://files.pythonhosted.org/packages/fc/84/7f801a42a67b9772a883223a0a1e12069a14626c81a732bd70aac57aebc1/numpy-2.2.2-cp312-cp312-win_amd64.whl", hash = "sha256:5acea83b801e98541619af398cc0109ff48016955cc0818f478ee9ef1c5c3dcb", size = 12616372 }, - { url = "https://files.pythonhosted.org/packages/e1/fe/df5624001f4f5c3e0b78e9017bfab7fdc18a8d3b3d3161da3d64924dd659/numpy-2.2.2-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:b208cfd4f5fe34e1535c08983a1a6803fdbc7a1e86cf13dd0c61de0b51a0aadc", size = 20899188 }, - { url = "https://files.pythonhosted.org/packages/a9/80/d349c3b5ed66bd3cb0214be60c27e32b90a506946857b866838adbe84040/numpy-2.2.2-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:d0bbe7dd86dca64854f4b6ce2ea5c60b51e36dfd597300057cf473d3615f2369", size = 14113972 }, - { url = "https://files.pythonhosted.org/packages/9d/50/949ec9cbb28c4b751edfa64503f0913cbfa8d795b4a251e7980f13a8a655/numpy-2.2.2-cp313-cp313-macosx_14_0_arm64.whl", hash = "sha256:22ea3bb552ade325530e72a0c557cdf2dea8914d3a5e1fecf58fa5dbcc6f43cd", size = 5114294 }, - { url = "https://files.pythonhosted.org/packages/8d/f3/399c15629d5a0c68ef2aa7621d430b2be22034f01dd7f3c65a9c9666c445/numpy-2.2.2-cp313-cp313-macosx_14_0_x86_64.whl", hash = "sha256:128c41c085cab8a85dc29e66ed88c05613dccf6bc28b3866cd16050a2f5448be", size = 6648426 }, - { url = "https://files.pythonhosted.org/packages/2c/03/c72474c13772e30e1bc2e558cdffd9123c7872b731263d5648b5c49dd459/numpy-2.2.2-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:250c16b277e3b809ac20d1f590716597481061b514223c7badb7a0f9993c7f84", size = 14045990 }, - { url = "https://files.pythonhosted.org/packages/83/9c/96a9ab62274ffafb023f8ee08c88d3d31ee74ca58869f859db6845494fa6/numpy-2.2.2-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:e0c8854b09bc4de7b041148d8550d3bd712b5c21ff6a8ed308085f190235d7ff", size = 16096614 }, - { url = "https://files.pythonhosted.org/packages/d5/34/cd0a735534c29bec7093544b3a509febc9b0df77718a9b41ffb0809c9f46/numpy-2.2.2-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:b6fb9c32a91ec32a689ec6410def76443e3c750e7cfc3fb2206b985ffb2b85f0", size = 15242123 }, - { url = "https://files.pythonhosted.org/packages/5e/6d/541717a554a8f56fa75e91886d9b79ade2e595918690eb5d0d3dbd3accb9/numpy-2.2.2-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:57b4012e04cc12b78590a334907e01b3a85efb2107df2b8733ff1ed05fce71de", size = 17859160 }, - { url = "https://files.pythonhosted.org/packages/b9/a5/fbf1f2b54adab31510728edd06a05c1b30839f37cf8c9747cb85831aaf1b/numpy-2.2.2-cp313-cp313-win32.whl", hash = "sha256:4dbd80e453bd34bd003b16bd802fac70ad76bd463f81f0c518d1245b1c55e3d9", size = 6273337 }, - { url = "https://files.pythonhosted.org/packages/56/e5/01106b9291ef1d680f82bc47d0c5b5e26dfed15b0754928e8f856c82c881/numpy-2.2.2-cp313-cp313-win_amd64.whl", hash = "sha256:5a8c863ceacae696aff37d1fd636121f1a512117652e5dfb86031c8d84836369", size = 12609010 }, - { url = "https://files.pythonhosted.org/packages/9f/30/f23d9876de0f08dceb707c4dcf7f8dd7588266745029debb12a3cdd40be6/numpy-2.2.2-cp313-cp313t-macosx_10_13_x86_64.whl", hash = "sha256:b3482cb7b3325faa5f6bc179649406058253d91ceda359c104dac0ad320e1391", size = 20924451 }, - { url = "https://files.pythonhosted.org/packages/6a/ec/6ea85b2da9d5dfa1dbb4cb3c76587fc8ddcae580cb1262303ab21c0926c4/numpy-2.2.2-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:9491100aba630910489c1d0158034e1c9a6546f0b1340f716d522dc103788e39", size = 14122390 }, - { url = "https://files.pythonhosted.org/packages/68/05/bfbdf490414a7dbaf65b10c78bc243f312c4553234b6d91c94eb7c4b53c2/numpy-2.2.2-cp313-cp313t-macosx_14_0_arm64.whl", hash = "sha256:41184c416143defa34cc8eb9d070b0a5ba4f13a0fa96a709e20584638254b317", size = 5156590 }, - { url = "https://files.pythonhosted.org/packages/f7/ec/fe2e91b2642b9d6544518388a441bcd65c904cea38d9ff998e2e8ebf808e/numpy-2.2.2-cp313-cp313t-macosx_14_0_x86_64.whl", hash = "sha256:7dca87ca328f5ea7dafc907c5ec100d187911f94825f8700caac0b3f4c384b49", size = 6671958 }, - { url = "https://files.pythonhosted.org/packages/b1/6f/6531a78e182f194d33ee17e59d67d03d0d5a1ce7f6be7343787828d1bd4a/numpy-2.2.2-cp313-cp313t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:0bc61b307655d1a7f9f4b043628b9f2b721e80839914ede634e3d485913e1fb2", size = 14019950 }, - { url = "https://files.pythonhosted.org/packages/e1/fb/13c58591d0b6294a08cc40fcc6b9552d239d773d520858ae27f39997f2ae/numpy-2.2.2-cp313-cp313t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:9fad446ad0bc886855ddf5909cbf8cb5d0faa637aaa6277fb4b19ade134ab3c7", size = 16079759 }, - { url = "https://files.pythonhosted.org/packages/2c/f2/f2f8edd62abb4b289f65a7f6d1f3650273af00b91b7267a2431be7f1aec6/numpy-2.2.2-cp313-cp313t-musllinux_1_2_aarch64.whl", hash = "sha256:149d1113ac15005652e8d0d3f6fd599360e1a708a4f98e43c9c77834a28238cb", size = 15226139 }, - { url = "https://files.pythonhosted.org/packages/aa/29/14a177f1a90b8ad8a592ca32124ac06af5eff32889874e53a308f850290f/numpy-2.2.2-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:106397dbbb1896f99e044efc90360d098b3335060375c26aa89c0d8a97c5f648", size = 17856316 }, - { url = "https://files.pythonhosted.org/packages/95/03/242ae8d7b97f4e0e4ab8dd51231465fb23ed5e802680d629149722e3faf1/numpy-2.2.2-cp313-cp313t-win32.whl", hash = "sha256:0eec19f8af947a61e968d5429f0bd92fec46d92b0008d0a6685b40d6adf8a4f4", size = 6329134 }, - { url = "https://files.pythonhosted.org/packages/80/94/cd9e9b04012c015cb6320ab3bf43bc615e248dddfeb163728e800a5d96f0/numpy-2.2.2-cp313-cp313t-win_amd64.whl", hash = "sha256:97b974d3ba0fb4612b77ed35d7627490e8e3dff56ab41454d9e8b23448940576", size = 12696208 }, - { url = "https://files.pythonhosted.org/packages/96/7e/1dd770ee68916ed358991ab62c2cc353ffd98d0b75b901d52183ca28e8bb/numpy-2.2.2-pp310-pypy310_pp73-macosx_10_15_x86_64.whl", hash = "sha256:b0531f0b0e07643eb089df4c509d30d72c9ef40defa53e41363eca8a8cc61495", size = 21047291 }, - { url = "https://files.pythonhosted.org/packages/d1/3c/ccd08578dc532a8e6927952339d4a02682b776d5e85be49ed0760308433e/numpy-2.2.2-pp310-pypy310_pp73-macosx_14_0_x86_64.whl", hash = "sha256:e9e82dcb3f2ebbc8cb5ce1102d5f1c5ed236bf8a11730fb45ba82e2841ec21df", size = 6792494 }, - { url = "https://files.pythonhosted.org/packages/7c/28/8754b9aee4f97199f9a047f73bb644b5a2014994a6d7b061ba67134a42de/numpy-2.2.2-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:e0d4142eb40ca6f94539e4db929410f2a46052a0fe7a2c1c59f6179c39938d2a", size = 16197312 }, - { url = "https://files.pythonhosted.org/packages/26/96/deb93f871f401045a684ca08a009382b247d14996d7a94fea6aa43c67b94/numpy-2.2.2-pp310-pypy310_pp73-win_amd64.whl", hash = "sha256:356ca982c188acbfa6af0d694284d8cf20e95b1c3d0aefa8929376fea9146f60", size = 12822674 }, +sdist = { url = "https://files.pythonhosted.org/packages/ec/d0/c12ddfd3a02274be06ffc71f3efc6d0e457b0409c4481596881e748cb264/numpy-2.2.2.tar.gz", hash = "sha256:ed6906f61834d687738d25988ae117683705636936cc605be0bb208b23df4d8f", size = 20233295, upload-time = "2025-01-19T00:02:09.581Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/70/2a/69033dc22d981ad21325314f8357438078f5c28310a6d89fb3833030ec8a/numpy-2.2.2-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:7079129b64cb78bdc8d611d1fd7e8002c0a2565da6a47c4df8062349fee90e3e", size = 21215825, upload-time = "2025-01-18T22:56:28.939Z" }, + { url = "https://files.pythonhosted.org/packages/31/2c/39f91e00bbd3d5639b027ac48c55dc5f2992bd2b305412d26be4c830862a/numpy-2.2.2-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:2ec6c689c61df613b783aeb21f945c4cbe6c51c28cb70aae8430577ab39f163e", size = 14354996, upload-time = "2025-01-18T22:56:54.764Z" }, + { url = "https://files.pythonhosted.org/packages/0a/2c/d468ebd253851af10de5b3e8f3418ebabfaab5f0337a75299fbeb8b8c17a/numpy-2.2.2-cp310-cp310-macosx_14_0_arm64.whl", hash = "sha256:40c7ff5da22cd391944a28c6a9c638a5eef77fcf71d6e3a79e1d9d9e82752715", size = 5393621, upload-time = "2025-01-18T22:57:04.942Z" }, + { url = "https://files.pythonhosted.org/packages/7f/f4/3d8a5a0da297034106c5de92be881aca7079cde6058934215a1de91334f6/numpy-2.2.2-cp310-cp310-macosx_14_0_x86_64.whl", hash = "sha256:995f9e8181723852ca458e22de5d9b7d3ba4da3f11cc1cb113f093b271d7965a", size = 6928931, upload-time = "2025-01-18T22:57:21.24Z" }, + { url = "https://files.pythonhosted.org/packages/47/a7/029354ab56edd43dd3f5efbfad292b8844f98b93174f322f82353fa46efa/numpy-2.2.2-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:b78ea78450fd96a498f50ee096f69c75379af5138f7881a51355ab0e11286c97", size = 14333157, upload-time = "2025-01-18T22:57:51.001Z" }, + { url = "https://files.pythonhosted.org/packages/e3/d7/11fc594838d35c43519763310c316d4fd56f8600d3fc80a8e13e325b5c5c/numpy-2.2.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:3fbe72d347fbc59f94124125e73fc4976a06927ebc503ec5afbfb35f193cd957", size = 16381794, upload-time = "2025-01-18T22:58:20.094Z" }, + { url = "https://files.pythonhosted.org/packages/af/d4/dd9b19cd4aff9c79d3f54d17f8be815407520d3116004bc574948336981b/numpy-2.2.2-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:8e6da5cffbbe571f93588f562ed130ea63ee206d12851b60819512dd3e1ba50d", size = 15543990, upload-time = "2025-01-18T22:58:45.679Z" }, + { url = "https://files.pythonhosted.org/packages/30/97/ab96b7650f27f684a9b1e46757a7294ecc50cab27701d05f146e9f779627/numpy-2.2.2-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:09d6a2032faf25e8d0cadde7fd6145118ac55d2740132c1d845f98721b5ebcfd", size = 18170896, upload-time = "2025-01-18T22:59:18.84Z" }, + { url = "https://files.pythonhosted.org/packages/81/9b/bae9618cab20db67a2ca9d711795cad29b2ca4b73034dd3b5d05b962070a/numpy-2.2.2-cp310-cp310-win32.whl", hash = "sha256:159ff6ee4c4a36a23fe01b7c3d07bd8c14cc433d9720f977fcd52c13c0098160", size = 6573458, upload-time = "2025-01-18T22:59:32.32Z" }, + { url = "https://files.pythonhosted.org/packages/92/9b/95678092febd14070cfb7906ea7932e71e9dd5a6ab3ee948f9ed975e905d/numpy-2.2.2-cp310-cp310-win_amd64.whl", hash = "sha256:64bd6e1762cd7f0986a740fee4dff927b9ec2c5e4d9a28d056eb17d332158014", size = 12915812, upload-time = "2025-01-18T22:59:59.335Z" }, + { url = "https://files.pythonhosted.org/packages/21/67/32c68756eed84df181c06528ff57e09138f893c4653448c4967311e0f992/numpy-2.2.2-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:642199e98af1bd2b6aeb8ecf726972d238c9877b0f6e8221ee5ab945ec8a2189", size = 21220002, upload-time = "2025-01-18T23:00:41.728Z" }, + { url = "https://files.pythonhosted.org/packages/3b/89/f43bcad18f2b2e5814457b1c7f7b0e671d0db12c8c0e43397ab8cb1831ed/numpy-2.2.2-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:6d9fc9d812c81e6168b6d405bf00b8d6739a7f72ef22a9214c4241e0dc70b323", size = 14391215, upload-time = "2025-01-18T23:01:15.534Z" }, + { url = "https://files.pythonhosted.org/packages/9c/e6/efb8cd6122bf25e86e3dd89d9dbfec9e6861c50e8810eed77d4be59b51c6/numpy-2.2.2-cp311-cp311-macosx_14_0_arm64.whl", hash = "sha256:c7d1fd447e33ee20c1f33f2c8e6634211124a9aabde3c617687d8b739aa69eac", size = 5391918, upload-time = "2025-01-18T23:01:35.138Z" }, + { url = "https://files.pythonhosted.org/packages/47/e2/fccf89d64d9b47ffb242823d4e851fc9d36fa751908c9aac2807924d9b4e/numpy-2.2.2-cp311-cp311-macosx_14_0_x86_64.whl", hash = "sha256:451e854cfae0febe723077bd0cf0a4302a5d84ff25f0bfece8f29206c7bed02e", size = 6933133, upload-time = "2025-01-18T23:01:53.087Z" }, + { url = "https://files.pythonhosted.org/packages/34/22/5ece749c0e5420a9380eef6fbf83d16a50010bd18fef77b9193d80a6760e/numpy-2.2.2-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:bd249bc894af67cbd8bad2c22e7cbcd46cf87ddfca1f1289d1e7e54868cc785c", size = 14338187, upload-time = "2025-01-18T23:02:29.11Z" }, + { url = "https://files.pythonhosted.org/packages/5b/86/caec78829311f62afa6fa334c8dfcd79cffb4d24bcf96ee02ae4840d462b/numpy-2.2.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:02935e2c3c0c6cbe9c7955a8efa8908dd4221d7755644c59d1bba28b94fd334f", size = 16393429, upload-time = "2025-01-18T23:03:00.683Z" }, + { url = "https://files.pythonhosted.org/packages/c8/4e/0c25f74c88239a37924577d6ad780f3212a50f4b4b5f54f5e8c918d726bd/numpy-2.2.2-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:a972cec723e0563aa0823ee2ab1df0cb196ed0778f173b381c871a03719d4826", size = 15559103, upload-time = "2025-01-18T23:03:44.838Z" }, + { url = "https://files.pythonhosted.org/packages/d4/bd/d557f10fa50dc4d5871fb9606af563249b66af2fc6f99041a10e8757c6f1/numpy-2.2.2-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:d6d6a0910c3b4368d89dde073e630882cdb266755565155bc33520283b2d9df8", size = 18182967, upload-time = "2025-01-18T23:22:14.371Z" }, + { url = "https://files.pythonhosted.org/packages/30/e9/66cc0f66386d78ed89e45a56e2a1d051e177b6e04477c4a41cd590ef4017/numpy-2.2.2-cp311-cp311-win32.whl", hash = "sha256:860fd59990c37c3ef913c3ae390b3929d005243acca1a86facb0773e2d8d9e50", size = 6571499, upload-time = "2025-01-18T23:22:28.118Z" }, + { url = "https://files.pythonhosted.org/packages/66/a3/4139296b481ae7304a43581046b8f0a20da6a0dfe0ee47a044cade796603/numpy-2.2.2-cp311-cp311-win_amd64.whl", hash = "sha256:da1eeb460ecce8d5b8608826595c777728cdf28ce7b5a5a8c8ac8d949beadcf2", size = 12919805, upload-time = "2025-01-18T23:22:56.851Z" }, + { url = "https://files.pythonhosted.org/packages/0c/e6/847d15770ab7a01e807bdfcd4ead5bdae57c0092b7dc83878171b6af97bb/numpy-2.2.2-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:ac9bea18d6d58a995fac1b2cb4488e17eceeac413af014b1dd26170b766d8467", size = 20912636, upload-time = "2025-01-18T23:23:58.337Z" }, + { url = "https://files.pythonhosted.org/packages/d1/af/f83580891577b13bd7e261416120e036d0d8fb508c8a43a73e38928b794b/numpy-2.2.2-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:23ae9f0c2d889b7b2d88a3791f6c09e2ef827c2446f1c4a3e3e76328ee4afd9a", size = 14098403, upload-time = "2025-01-18T23:25:26.896Z" }, + { url = "https://files.pythonhosted.org/packages/2b/86/d019fb60a9d0f1d4cf04b014fe88a9135090adfadcc31c1fadbb071d7fa7/numpy-2.2.2-cp312-cp312-macosx_14_0_arm64.whl", hash = "sha256:3074634ea4d6df66be04f6728ee1d173cfded75d002c75fac79503a880bf3825", size = 5128938, upload-time = "2025-01-18T23:25:37.21Z" }, + { url = "https://files.pythonhosted.org/packages/7a/1b/50985edb6f1ec495a1c36452e860476f5b7ecdc3fc59ea89ccad3c4926c5/numpy-2.2.2-cp312-cp312-macosx_14_0_x86_64.whl", hash = "sha256:8ec0636d3f7d68520afc6ac2dc4b8341ddb725039de042faf0e311599f54eb37", size = 6661937, upload-time = "2025-01-18T23:26:05.86Z" }, + { url = "https://files.pythonhosted.org/packages/f4/1b/17efd94cad1b9d605c3f8907fb06bcffc4ce4d1d14d46b95316cccccf2b9/numpy-2.2.2-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:2ffbb1acd69fdf8e89dd60ef6182ca90a743620957afb7066385a7bbe88dc748", size = 14049518, upload-time = "2025-01-18T23:26:33.364Z" }, + { url = "https://files.pythonhosted.org/packages/5b/73/65d2f0b698df1731e851e3295eb29a5ab8aa06f763f7e4188647a809578d/numpy-2.2.2-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:0349b025e15ea9d05c3d63f9657707a4e1d471128a3b1d876c095f328f8ff7f0", size = 16099146, upload-time = "2025-01-18T23:27:15.132Z" }, + { url = "https://files.pythonhosted.org/packages/d5/69/308f55c0e19d4b5057b5df286c5433822e3c8039ede06d4051d96f1c2c4e/numpy-2.2.2-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:463247edcee4a5537841d5350bc87fe8e92d7dd0e8c71c995d2c6eecb8208278", size = 15246336, upload-time = "2025-01-18T23:28:09.658Z" }, + { url = "https://files.pythonhosted.org/packages/f0/d8/d8d333ad0d8518d077a21aeea7b7c826eff766a2b1ce1194dea95ca0bacf/numpy-2.2.2-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:9dd47ff0cb2a656ad69c38da850df3454da88ee9a6fde0ba79acceee0e79daba", size = 17863507, upload-time = "2025-01-18T23:28:56.146Z" }, + { url = "https://files.pythonhosted.org/packages/82/6e/0b84ad3103ffc16d6673e63b5acbe7901b2af96c2837174c6318c98e27ab/numpy-2.2.2-cp312-cp312-win32.whl", hash = "sha256:4525b88c11906d5ab1b0ec1f290996c0020dd318af8b49acaa46f198b1ffc283", size = 6276491, upload-time = "2025-01-18T23:29:09.409Z" }, + { url = "https://files.pythonhosted.org/packages/fc/84/7f801a42a67b9772a883223a0a1e12069a14626c81a732bd70aac57aebc1/numpy-2.2.2-cp312-cp312-win_amd64.whl", hash = "sha256:5acea83b801e98541619af398cc0109ff48016955cc0818f478ee9ef1c5c3dcb", size = 12616372, upload-time = "2025-01-18T23:29:46.645Z" }, + { url = "https://files.pythonhosted.org/packages/e1/fe/df5624001f4f5c3e0b78e9017bfab7fdc18a8d3b3d3161da3d64924dd659/numpy-2.2.2-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:b208cfd4f5fe34e1535c08983a1a6803fdbc7a1e86cf13dd0c61de0b51a0aadc", size = 20899188, upload-time = "2025-01-18T23:31:15.292Z" }, + { url = "https://files.pythonhosted.org/packages/a9/80/d349c3b5ed66bd3cb0214be60c27e32b90a506946857b866838adbe84040/numpy-2.2.2-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:d0bbe7dd86dca64854f4b6ce2ea5c60b51e36dfd597300057cf473d3615f2369", size = 14113972, upload-time = "2025-01-18T23:31:42.323Z" }, + { url = "https://files.pythonhosted.org/packages/9d/50/949ec9cbb28c4b751edfa64503f0913cbfa8d795b4a251e7980f13a8a655/numpy-2.2.2-cp313-cp313-macosx_14_0_arm64.whl", hash = "sha256:22ea3bb552ade325530e72a0c557cdf2dea8914d3a5e1fecf58fa5dbcc6f43cd", size = 5114294, upload-time = "2025-01-18T23:31:54.219Z" }, + { url = "https://files.pythonhosted.org/packages/8d/f3/399c15629d5a0c68ef2aa7621d430b2be22034f01dd7f3c65a9c9666c445/numpy-2.2.2-cp313-cp313-macosx_14_0_x86_64.whl", hash = "sha256:128c41c085cab8a85dc29e66ed88c05613dccf6bc28b3866cd16050a2f5448be", size = 6648426, upload-time = "2025-01-18T23:32:06.055Z" }, + { url = "https://files.pythonhosted.org/packages/2c/03/c72474c13772e30e1bc2e558cdffd9123c7872b731263d5648b5c49dd459/numpy-2.2.2-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:250c16b277e3b809ac20d1f590716597481061b514223c7badb7a0f9993c7f84", size = 14045990, upload-time = "2025-01-18T23:32:38.031Z" }, + { url = "https://files.pythonhosted.org/packages/83/9c/96a9ab62274ffafb023f8ee08c88d3d31ee74ca58869f859db6845494fa6/numpy-2.2.2-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:e0c8854b09bc4de7b041148d8550d3bd712b5c21ff6a8ed308085f190235d7ff", size = 16096614, upload-time = "2025-01-18T23:33:12.265Z" }, + { url = "https://files.pythonhosted.org/packages/d5/34/cd0a735534c29bec7093544b3a509febc9b0df77718a9b41ffb0809c9f46/numpy-2.2.2-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:b6fb9c32a91ec32a689ec6410def76443e3c750e7cfc3fb2206b985ffb2b85f0", size = 15242123, upload-time = "2025-01-18T23:33:46.412Z" }, + { url = "https://files.pythonhosted.org/packages/5e/6d/541717a554a8f56fa75e91886d9b79ade2e595918690eb5d0d3dbd3accb9/numpy-2.2.2-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:57b4012e04cc12b78590a334907e01b3a85efb2107df2b8733ff1ed05fce71de", size = 17859160, upload-time = "2025-01-18T23:34:37.857Z" }, + { url = "https://files.pythonhosted.org/packages/b9/a5/fbf1f2b54adab31510728edd06a05c1b30839f37cf8c9747cb85831aaf1b/numpy-2.2.2-cp313-cp313-win32.whl", hash = "sha256:4dbd80e453bd34bd003b16bd802fac70ad76bd463f81f0c518d1245b1c55e3d9", size = 6273337, upload-time = "2025-01-18T23:40:10.83Z" }, + { url = "https://files.pythonhosted.org/packages/56/e5/01106b9291ef1d680f82bc47d0c5b5e26dfed15b0754928e8f856c82c881/numpy-2.2.2-cp313-cp313-win_amd64.whl", hash = "sha256:5a8c863ceacae696aff37d1fd636121f1a512117652e5dfb86031c8d84836369", size = 12609010, upload-time = "2025-01-18T23:40:31.34Z" }, + { url = "https://files.pythonhosted.org/packages/9f/30/f23d9876de0f08dceb707c4dcf7f8dd7588266745029debb12a3cdd40be6/numpy-2.2.2-cp313-cp313t-macosx_10_13_x86_64.whl", hash = "sha256:b3482cb7b3325faa5f6bc179649406058253d91ceda359c104dac0ad320e1391", size = 20924451, upload-time = "2025-01-18T23:35:26.639Z" }, + { url = "https://files.pythonhosted.org/packages/6a/ec/6ea85b2da9d5dfa1dbb4cb3c76587fc8ddcae580cb1262303ab21c0926c4/numpy-2.2.2-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:9491100aba630910489c1d0158034e1c9a6546f0b1340f716d522dc103788e39", size = 14122390, upload-time = "2025-01-18T23:36:30.596Z" }, + { url = "https://files.pythonhosted.org/packages/68/05/bfbdf490414a7dbaf65b10c78bc243f312c4553234b6d91c94eb7c4b53c2/numpy-2.2.2-cp313-cp313t-macosx_14_0_arm64.whl", hash = "sha256:41184c416143defa34cc8eb9d070b0a5ba4f13a0fa96a709e20584638254b317", size = 5156590, upload-time = "2025-01-18T23:36:52.637Z" }, + { url = "https://files.pythonhosted.org/packages/f7/ec/fe2e91b2642b9d6544518388a441bcd65c904cea38d9ff998e2e8ebf808e/numpy-2.2.2-cp313-cp313t-macosx_14_0_x86_64.whl", hash = "sha256:7dca87ca328f5ea7dafc907c5ec100d187911f94825f8700caac0b3f4c384b49", size = 6671958, upload-time = "2025-01-18T23:37:05.361Z" }, + { url = "https://files.pythonhosted.org/packages/b1/6f/6531a78e182f194d33ee17e59d67d03d0d5a1ce7f6be7343787828d1bd4a/numpy-2.2.2-cp313-cp313t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:0bc61b307655d1a7f9f4b043628b9f2b721e80839914ede634e3d485913e1fb2", size = 14019950, upload-time = "2025-01-18T23:37:38.605Z" }, + { url = "https://files.pythonhosted.org/packages/e1/fb/13c58591d0b6294a08cc40fcc6b9552d239d773d520858ae27f39997f2ae/numpy-2.2.2-cp313-cp313t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:9fad446ad0bc886855ddf5909cbf8cb5d0faa637aaa6277fb4b19ade134ab3c7", size = 16079759, upload-time = "2025-01-18T23:38:05.757Z" }, + { url = "https://files.pythonhosted.org/packages/2c/f2/f2f8edd62abb4b289f65a7f6d1f3650273af00b91b7267a2431be7f1aec6/numpy-2.2.2-cp313-cp313t-musllinux_1_2_aarch64.whl", hash = "sha256:149d1113ac15005652e8d0d3f6fd599360e1a708a4f98e43c9c77834a28238cb", size = 15226139, upload-time = "2025-01-18T23:38:38.458Z" }, + { url = "https://files.pythonhosted.org/packages/aa/29/14a177f1a90b8ad8a592ca32124ac06af5eff32889874e53a308f850290f/numpy-2.2.2-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:106397dbbb1896f99e044efc90360d098b3335060375c26aa89c0d8a97c5f648", size = 17856316, upload-time = "2025-01-18T23:39:11.454Z" }, + { url = "https://files.pythonhosted.org/packages/95/03/242ae8d7b97f4e0e4ab8dd51231465fb23ed5e802680d629149722e3faf1/numpy-2.2.2-cp313-cp313t-win32.whl", hash = "sha256:0eec19f8af947a61e968d5429f0bd92fec46d92b0008d0a6685b40d6adf8a4f4", size = 6329134, upload-time = "2025-01-18T23:39:28.128Z" }, + { url = "https://files.pythonhosted.org/packages/80/94/cd9e9b04012c015cb6320ab3bf43bc615e248dddfeb163728e800a5d96f0/numpy-2.2.2-cp313-cp313t-win_amd64.whl", hash = "sha256:97b974d3ba0fb4612b77ed35d7627490e8e3dff56ab41454d9e8b23448940576", size = 12696208, upload-time = "2025-01-18T23:39:51.85Z" }, + { url = "https://files.pythonhosted.org/packages/96/7e/1dd770ee68916ed358991ab62c2cc353ffd98d0b75b901d52183ca28e8bb/numpy-2.2.2-pp310-pypy310_pp73-macosx_10_15_x86_64.whl", hash = "sha256:b0531f0b0e07643eb089df4c509d30d72c9ef40defa53e41363eca8a8cc61495", size = 21047291, upload-time = "2025-01-18T23:41:14.547Z" }, + { url = "https://files.pythonhosted.org/packages/d1/3c/ccd08578dc532a8e6927952339d4a02682b776d5e85be49ed0760308433e/numpy-2.2.2-pp310-pypy310_pp73-macosx_14_0_x86_64.whl", hash = "sha256:e9e82dcb3f2ebbc8cb5ce1102d5f1c5ed236bf8a11730fb45ba82e2841ec21df", size = 6792494, upload-time = "2025-01-18T23:41:34.66Z" }, + { url = "https://files.pythonhosted.org/packages/7c/28/8754b9aee4f97199f9a047f73bb644b5a2014994a6d7b061ba67134a42de/numpy-2.2.2-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:e0d4142eb40ca6f94539e4db929410f2a46052a0fe7a2c1c59f6179c39938d2a", size = 16197312, upload-time = "2025-01-18T23:42:26.273Z" }, + { url = "https://files.pythonhosted.org/packages/26/96/deb93f871f401045a684ca08a009382b247d14996d7a94fea6aa43c67b94/numpy-2.2.2-pp310-pypy310_pp73-win_amd64.whl", hash = "sha256:356ca982c188acbfa6af0d694284d8cf20e95b1c3d0aefa8929376fea9146f60", size = 12822674, upload-time = "2025-01-18T23:42:53.292Z" }, ] [[package]] @@ -3293,41 +3293,41 @@ dependencies = [ { name = "numpy", version = "2.0.2", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version == '3.9.*'" }, { name = "numpy", version = "2.2.2", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.10'" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/17/06/68c27a523103dad5837dc5b87e71285280c4f098c60e4fe8a8db6486ab09/opencv-python-4.11.0.86.tar.gz", hash = "sha256:03d60ccae62304860d232272e4a4fda93c39d595780cb40b161b310244b736a4", size = 95171956 } +sdist = { url = "https://files.pythonhosted.org/packages/17/06/68c27a523103dad5837dc5b87e71285280c4f098c60e4fe8a8db6486ab09/opencv-python-4.11.0.86.tar.gz", hash = "sha256:03d60ccae62304860d232272e4a4fda93c39d595780cb40b161b310244b736a4", size = 95171956, upload-time = "2025-01-16T13:52:24.737Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/05/4d/53b30a2a3ac1f75f65a59eb29cf2ee7207ce64867db47036ad61743d5a23/opencv_python-4.11.0.86-cp37-abi3-macosx_13_0_arm64.whl", hash = "sha256:432f67c223f1dc2824f5e73cdfcd9db0efc8710647d4e813012195dc9122a52a", size = 37326322 }, - { url = "https://files.pythonhosted.org/packages/3b/84/0a67490741867eacdfa37bc18df96e08a9d579583b419010d7f3da8ff503/opencv_python-4.11.0.86-cp37-abi3-macosx_13_0_x86_64.whl", hash = "sha256:9d05ef13d23fe97f575153558653e2d6e87103995d54e6a35db3f282fe1f9c66", size = 56723197 }, - { url = "https://files.pythonhosted.org/packages/f3/bd/29c126788da65c1fb2b5fb621b7fed0ed5f9122aa22a0868c5e2c15c6d23/opencv_python-4.11.0.86-cp37-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:1b92ae2c8852208817e6776ba1ea0d6b1e0a1b5431e971a2a0ddd2a8cc398202", size = 42230439 }, - { url = "https://files.pythonhosted.org/packages/2c/8b/90eb44a40476fa0e71e05a0283947cfd74a5d36121a11d926ad6f3193cc4/opencv_python-4.11.0.86-cp37-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:6b02611523803495003bd87362db3e1d2a0454a6a63025dc6658a9830570aa0d", size = 62986597 }, - { url = "https://files.pythonhosted.org/packages/fb/d7/1d5941a9dde095468b288d989ff6539dd69cd429dbf1b9e839013d21b6f0/opencv_python-4.11.0.86-cp37-abi3-win32.whl", hash = "sha256:810549cb2a4aedaa84ad9a1c92fbfdfc14090e2749cedf2c1589ad8359aa169b", size = 29384337 }, - { url = "https://files.pythonhosted.org/packages/a4/7d/f1c30a92854540bf789e9cd5dde7ef49bbe63f855b85a2e6b3db8135c591/opencv_python-4.11.0.86-cp37-abi3-win_amd64.whl", hash = "sha256:085ad9b77c18853ea66283e98affefe2de8cc4c1f43eda4c100cf9b2721142ec", size = 39488044 }, + { url = "https://files.pythonhosted.org/packages/05/4d/53b30a2a3ac1f75f65a59eb29cf2ee7207ce64867db47036ad61743d5a23/opencv_python-4.11.0.86-cp37-abi3-macosx_13_0_arm64.whl", hash = "sha256:432f67c223f1dc2824f5e73cdfcd9db0efc8710647d4e813012195dc9122a52a", size = 37326322, upload-time = "2025-01-16T13:52:25.887Z" }, + { url = "https://files.pythonhosted.org/packages/3b/84/0a67490741867eacdfa37bc18df96e08a9d579583b419010d7f3da8ff503/opencv_python-4.11.0.86-cp37-abi3-macosx_13_0_x86_64.whl", hash = "sha256:9d05ef13d23fe97f575153558653e2d6e87103995d54e6a35db3f282fe1f9c66", size = 56723197, upload-time = "2025-01-16T13:55:21.222Z" }, + { url = "https://files.pythonhosted.org/packages/f3/bd/29c126788da65c1fb2b5fb621b7fed0ed5f9122aa22a0868c5e2c15c6d23/opencv_python-4.11.0.86-cp37-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:1b92ae2c8852208817e6776ba1ea0d6b1e0a1b5431e971a2a0ddd2a8cc398202", size = 42230439, upload-time = "2025-01-16T13:51:35.822Z" }, + { url = "https://files.pythonhosted.org/packages/2c/8b/90eb44a40476fa0e71e05a0283947cfd74a5d36121a11d926ad6f3193cc4/opencv_python-4.11.0.86-cp37-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:6b02611523803495003bd87362db3e1d2a0454a6a63025dc6658a9830570aa0d", size = 62986597, upload-time = "2025-01-16T13:52:08.836Z" }, + { url = "https://files.pythonhosted.org/packages/fb/d7/1d5941a9dde095468b288d989ff6539dd69cd429dbf1b9e839013d21b6f0/opencv_python-4.11.0.86-cp37-abi3-win32.whl", hash = "sha256:810549cb2a4aedaa84ad9a1c92fbfdfc14090e2749cedf2c1589ad8359aa169b", size = 29384337, upload-time = "2025-01-16T13:52:13.549Z" }, + { url = "https://files.pythonhosted.org/packages/a4/7d/f1c30a92854540bf789e9cd5dde7ef49bbe63f855b85a2e6b3db8135c591/opencv_python-4.11.0.86-cp37-abi3-win_amd64.whl", hash = "sha256:085ad9b77c18853ea66283e98affefe2de8cc4c1f43eda4c100cf9b2721142ec", size = 39488044, upload-time = "2025-01-16T13:52:21.928Z" }, ] [[package]] name = "overrides" version = "7.7.0" source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/36/86/b585f53236dec60aba864e050778b25045f857e17f6e5ea0ae95fe80edd2/overrides-7.7.0.tar.gz", hash = "sha256:55158fa3d93b98cc75299b1e67078ad9003ca27945c76162c1c0766d6f91820a", size = 22812 } +sdist = { url = "https://files.pythonhosted.org/packages/36/86/b585f53236dec60aba864e050778b25045f857e17f6e5ea0ae95fe80edd2/overrides-7.7.0.tar.gz", hash = "sha256:55158fa3d93b98cc75299b1e67078ad9003ca27945c76162c1c0766d6f91820a", size = 22812, upload-time = "2024-01-27T21:01:33.423Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/2c/ab/fc8290c6a4c722e5514d80f62b2dc4c4df1a68a41d1364e625c35990fcf3/overrides-7.7.0-py3-none-any.whl", hash = "sha256:c7ed9d062f78b8e4c1a7b70bd8796b35ead4d9f510227ef9c5dc7626c60d7e49", size = 17832 }, + { url = "https://files.pythonhosted.org/packages/2c/ab/fc8290c6a4c722e5514d80f62b2dc4c4df1a68a41d1364e625c35990fcf3/overrides-7.7.0-py3-none-any.whl", hash = "sha256:c7ed9d062f78b8e4c1a7b70bd8796b35ead4d9f510227ef9c5dc7626c60d7e49", size = 17832, upload-time = "2024-01-27T21:01:31.393Z" }, ] [[package]] name = "packaging" version = "24.2" source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/d0/63/68dbb6eb2de9cb10ee4c9c14a0148804425e13c4fb20d61cce69f53106da/packaging-24.2.tar.gz", hash = "sha256:c228a6dc5e932d346bc5739379109d49e8853dd8223571c7c5b55260edc0b97f", size = 163950 } +sdist = { url = "https://files.pythonhosted.org/packages/d0/63/68dbb6eb2de9cb10ee4c9c14a0148804425e13c4fb20d61cce69f53106da/packaging-24.2.tar.gz", hash = "sha256:c228a6dc5e932d346bc5739379109d49e8853dd8223571c7c5b55260edc0b97f", size = 163950, upload-time = "2024-11-08T09:47:47.202Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/88/ef/eb23f262cca3c0c4eb7ab1933c3b1f03d021f2c48f54763065b6f0e321be/packaging-24.2-py3-none-any.whl", hash = "sha256:09abb1bccd265c01f4a3aa3f7a7db064b36514d2cba19a2f694fe6150451a759", size = 65451 }, + { url = "https://files.pythonhosted.org/packages/88/ef/eb23f262cca3c0c4eb7ab1933c3b1f03d021f2c48f54763065b6f0e321be/packaging-24.2-py3-none-any.whl", hash = "sha256:09abb1bccd265c01f4a3aa3f7a7db064b36514d2cba19a2f694fe6150451a759", size = 65451, upload-time = "2024-11-08T09:47:44.722Z" }, ] [[package]] name = "paginate" version = "0.5.7" source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/ec/46/68dde5b6bc00c1296ec6466ab27dddede6aec9af1b99090e1107091b3b84/paginate-0.5.7.tar.gz", hash = "sha256:22bd083ab41e1a8b4f3690544afb2c60c25e5c9a63a30fa2f483f6c60c8e5945", size = 19252 } +sdist = { url = "https://files.pythonhosted.org/packages/ec/46/68dde5b6bc00c1296ec6466ab27dddede6aec9af1b99090e1107091b3b84/paginate-0.5.7.tar.gz", hash = "sha256:22bd083ab41e1a8b4f3690544afb2c60c25e5c9a63a30fa2f483f6c60c8e5945", size = 19252, upload-time = "2024-08-25T14:17:24.139Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/90/96/04b8e52da071d28f5e21a805b19cb9390aa17a47462ac87f5e2696b9566d/paginate-0.5.7-py2.py3-none-any.whl", hash = "sha256:b885e2af73abcf01d9559fd5216b57ef722f8c42affbb63942377668e35c7591", size = 13746 }, + { url = "https://files.pythonhosted.org/packages/90/96/04b8e52da071d28f5e21a805b19cb9390aa17a47462ac87f5e2696b9566d/paginate-0.5.7-py2.py3-none-any.whl", hash = "sha256:b885e2af73abcf01d9559fd5216b57ef722f8c42affbb63942377668e35c7591", size = 13746, upload-time = "2024-08-25T14:17:22.55Z" }, ] [[package]] @@ -3345,32 +3345,32 @@ dependencies = [ { name = "pytz", marker = "python_full_version < '3.9'" }, { name = "tzdata", marker = "python_full_version < '3.9'" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/b1/a7/824332581e258b5aa4f3763ecb2a797e5f9a54269044ba2e50ac19936b32/pandas-2.0.3.tar.gz", hash = "sha256:c02f372a88e0d17f36d3093a644c73cfc1788e876a7c4bcb4020a77512e2043c", size = 5284455 } -wheels = [ - { url = "https://files.pythonhosted.org/packages/3c/b2/0d4a5729ce1ce11630c4fc5d5522a33b967b3ca146c210f58efde7c40e99/pandas-2.0.3-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:e4c7c9f27a4185304c7caf96dc7d91bc60bc162221152de697c98eb0b2648dd8", size = 11760908 }, - { url = "https://files.pythonhosted.org/packages/4a/f6/f620ca62365d83e663a255a41b08d2fc2eaf304e0b8b21bb6d62a7390fe3/pandas-2.0.3-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:f167beed68918d62bffb6ec64f2e1d8a7d297a038f86d4aed056b9493fca407f", size = 10823486 }, - { url = "https://files.pythonhosted.org/packages/c2/59/cb4234bc9b968c57e81861b306b10cd8170272c57b098b724d3de5eda124/pandas-2.0.3-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:ce0c6f76a0f1ba361551f3e6dceaff06bde7514a374aa43e33b588ec10420183", size = 11571897 }, - { url = "https://files.pythonhosted.org/packages/e3/59/35a2892bf09ded9c1bf3804461efe772836a5261ef5dfb4e264ce813ff99/pandas-2.0.3-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ba619e410a21d8c387a1ea6e8a0e49bb42216474436245718d7f2e88a2f8d7c0", size = 12306421 }, - { url = "https://files.pythonhosted.org/packages/94/71/3a0c25433c54bb29b48e3155b959ac78f4c4f2f06f94d8318aac612cb80f/pandas-2.0.3-cp310-cp310-win32.whl", hash = "sha256:3ef285093b4fe5058eefd756100a367f27029913760773c8bf1d2d8bebe5d210", size = 9540792 }, - { url = "https://files.pythonhosted.org/packages/ed/30/b97456e7063edac0e5a405128065f0cd2033adfe3716fb2256c186bd41d0/pandas-2.0.3-cp310-cp310-win_amd64.whl", hash = "sha256:9ee1a69328d5c36c98d8e74db06f4ad518a1840e8ccb94a4ba86920986bb617e", size = 10664333 }, - { url = "https://files.pythonhosted.org/packages/b3/92/a5e5133421b49e901a12e02a6a7ef3a0130e10d13db8cb657fdd0cba3b90/pandas-2.0.3-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:b084b91d8d66ab19f5bb3256cbd5ea661848338301940e17f4492b2ce0801fe8", size = 11645672 }, - { url = "https://files.pythonhosted.org/packages/8f/bb/aea1fbeed5b474cb8634364718abe9030d7cc7a30bf51f40bd494bbc89a2/pandas-2.0.3-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:37673e3bdf1551b95bf5d4ce372b37770f9529743d2498032439371fc7b7eb26", size = 10693229 }, - { url = "https://files.pythonhosted.org/packages/d6/90/e7d387f1a416b14e59290baa7a454a90d719baebbf77433ff1bdcc727800/pandas-2.0.3-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:b9cb1e14fdb546396b7e1b923ffaeeac24e4cedd14266c3497216dd4448e4f2d", size = 11581591 }, - { url = "https://files.pythonhosted.org/packages/d0/28/88b81881c056376254618fad622a5e94b5126db8c61157ea1910cd1c040a/pandas-2.0.3-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:d9cd88488cceb7635aebb84809d087468eb33551097d600c6dad13602029c2df", size = 12219370 }, - { url = "https://files.pythonhosted.org/packages/e4/a5/212b9039e25bf8ebb97e417a96660e3dc925dacd3f8653d531b8f7fd9be4/pandas-2.0.3-cp311-cp311-win32.whl", hash = "sha256:694888a81198786f0e164ee3a581df7d505024fbb1f15202fc7db88a71d84ebd", size = 9482935 }, - { url = "https://files.pythonhosted.org/packages/9e/71/756a1be6bee0209d8c0d8c5e3b9fc72c00373f384a4017095ec404aec3ad/pandas-2.0.3-cp311-cp311-win_amd64.whl", hash = "sha256:6a21ab5c89dcbd57f78d0ae16630b090eec626360085a4148693def5452d8a6b", size = 10607692 }, - { url = "https://files.pythonhosted.org/packages/78/a8/07dd10f90ca915ed914853cd57f79bfc22e1ef4384ab56cb4336d2fc1f2a/pandas-2.0.3-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:9e4da0d45e7f34c069fe4d522359df7d23badf83abc1d1cef398895822d11061", size = 11653303 }, - { url = "https://files.pythonhosted.org/packages/53/c3/f8e87361f7fdf42012def602bfa2a593423c729f5cb7c97aed7f51be66ac/pandas-2.0.3-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:32fca2ee1b0d93dd71d979726b12b61faa06aeb93cf77468776287f41ff8fdc5", size = 10710932 }, - { url = "https://files.pythonhosted.org/packages/a7/87/828d50c81ce0f434163bf70b925a0eec6076808e0bca312a79322b141f66/pandas-2.0.3-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:258d3624b3ae734490e4d63c430256e716f488c4fcb7c8e9bde2d3aa46c29089", size = 11684018 }, - { url = "https://files.pythonhosted.org/packages/f8/7f/5b047effafbdd34e52c9e2d7e44f729a0655efafb22198c45cf692cdc157/pandas-2.0.3-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:9eae3dc34fa1aa7772dd3fc60270d13ced7346fcbcfee017d3132ec625e23bb0", size = 12353723 }, - { url = "https://files.pythonhosted.org/packages/ea/ae/26a2eda7fa581347d69e51f93892493b2074ef3352ac71033c9f32c52389/pandas-2.0.3-cp38-cp38-win32.whl", hash = "sha256:f3421a7afb1a43f7e38e82e844e2bca9a6d793d66c1a7f9f0ff39a795bbc5e02", size = 9646403 }, - { url = "https://files.pythonhosted.org/packages/c3/6c/ea362eef61f05553aaf1a24b3e96b2d0603f5dc71a3bd35688a24ed88843/pandas-2.0.3-cp38-cp38-win_amd64.whl", hash = "sha256:69d7f3884c95da3a31ef82b7618af5710dba95bb885ffab339aad925c3e8ce78", size = 10777638 }, - { url = "https://files.pythonhosted.org/packages/f8/c7/cfef920b7b457dff6928e824896cb82367650ea127d048ee0b820026db4f/pandas-2.0.3-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:5247fb1ba347c1261cbbf0fcfba4a3121fbb4029d95d9ef4dc45406620b25c8b", size = 11834160 }, - { url = "https://files.pythonhosted.org/packages/6c/1c/689c9d99bc4e5d366a5fd871f0bcdee98a6581e240f96b78d2d08f103774/pandas-2.0.3-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:81af086f4543c9d8bb128328b5d32e9986e0c84d3ee673a2ac6fb57fd14f755e", size = 10862752 }, - { url = "https://files.pythonhosted.org/packages/cc/b8/4d082f41c27c95bf90485d1447b647cc7e5680fea75e315669dc6e4cb398/pandas-2.0.3-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:1994c789bf12a7c5098277fb43836ce090f1073858c10f9220998ac74f37c69b", size = 11715852 }, - { url = "https://files.pythonhosted.org/packages/9e/0d/91a9fd2c202f2b1d97a38ab591890f86480ecbb596cbc56d035f6f23fdcc/pandas-2.0.3-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:5ec591c48e29226bcbb316e0c1e9423622bc7a4eaf1ef7c3c9fa1a3981f89641", size = 12398496 }, - { url = "https://files.pythonhosted.org/packages/26/7d/d8aa0a2c4f3f5f8ea59fb946c8eafe8f508090ca73e2b08a9af853c1103e/pandas-2.0.3-cp39-cp39-win32.whl", hash = "sha256:04dbdbaf2e4d46ca8da896e1805bc04eb85caa9a82e259e8eed00254d5e0c682", size = 9630766 }, - { url = "https://files.pythonhosted.org/packages/9a/f2/0ad053856debbe90c83de1b4f05915f85fd2146f20faf9daa3b320d36df3/pandas-2.0.3-cp39-cp39-win_amd64.whl", hash = "sha256:1168574b036cd8b93abc746171c9b4f1b83467438a5e45909fed645cf8692dbc", size = 10755902 }, +sdist = { url = "https://files.pythonhosted.org/packages/b1/a7/824332581e258b5aa4f3763ecb2a797e5f9a54269044ba2e50ac19936b32/pandas-2.0.3.tar.gz", hash = "sha256:c02f372a88e0d17f36d3093a644c73cfc1788e876a7c4bcb4020a77512e2043c", size = 5284455, upload-time = "2023-06-28T23:19:33.371Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/3c/b2/0d4a5729ce1ce11630c4fc5d5522a33b967b3ca146c210f58efde7c40e99/pandas-2.0.3-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:e4c7c9f27a4185304c7caf96dc7d91bc60bc162221152de697c98eb0b2648dd8", size = 11760908, upload-time = "2023-06-28T23:15:57.001Z" }, + { url = "https://files.pythonhosted.org/packages/4a/f6/f620ca62365d83e663a255a41b08d2fc2eaf304e0b8b21bb6d62a7390fe3/pandas-2.0.3-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:f167beed68918d62bffb6ec64f2e1d8a7d297a038f86d4aed056b9493fca407f", size = 10823486, upload-time = "2023-06-28T23:16:06.863Z" }, + { url = "https://files.pythonhosted.org/packages/c2/59/cb4234bc9b968c57e81861b306b10cd8170272c57b098b724d3de5eda124/pandas-2.0.3-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:ce0c6f76a0f1ba361551f3e6dceaff06bde7514a374aa43e33b588ec10420183", size = 11571897, upload-time = "2023-06-28T23:16:14.208Z" }, + { url = "https://files.pythonhosted.org/packages/e3/59/35a2892bf09ded9c1bf3804461efe772836a5261ef5dfb4e264ce813ff99/pandas-2.0.3-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ba619e410a21d8c387a1ea6e8a0e49bb42216474436245718d7f2e88a2f8d7c0", size = 12306421, upload-time = "2023-06-28T23:16:23.26Z" }, + { url = "https://files.pythonhosted.org/packages/94/71/3a0c25433c54bb29b48e3155b959ac78f4c4f2f06f94d8318aac612cb80f/pandas-2.0.3-cp310-cp310-win32.whl", hash = "sha256:3ef285093b4fe5058eefd756100a367f27029913760773c8bf1d2d8bebe5d210", size = 9540792, upload-time = "2023-06-28T23:16:30.876Z" }, + { url = "https://files.pythonhosted.org/packages/ed/30/b97456e7063edac0e5a405128065f0cd2033adfe3716fb2256c186bd41d0/pandas-2.0.3-cp310-cp310-win_amd64.whl", hash = "sha256:9ee1a69328d5c36c98d8e74db06f4ad518a1840e8ccb94a4ba86920986bb617e", size = 10664333, upload-time = "2023-06-28T23:16:39.209Z" }, + { url = "https://files.pythonhosted.org/packages/b3/92/a5e5133421b49e901a12e02a6a7ef3a0130e10d13db8cb657fdd0cba3b90/pandas-2.0.3-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:b084b91d8d66ab19f5bb3256cbd5ea661848338301940e17f4492b2ce0801fe8", size = 11645672, upload-time = "2023-06-28T23:16:47.601Z" }, + { url = "https://files.pythonhosted.org/packages/8f/bb/aea1fbeed5b474cb8634364718abe9030d7cc7a30bf51f40bd494bbc89a2/pandas-2.0.3-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:37673e3bdf1551b95bf5d4ce372b37770f9529743d2498032439371fc7b7eb26", size = 10693229, upload-time = "2023-06-28T23:16:56.397Z" }, + { url = "https://files.pythonhosted.org/packages/d6/90/e7d387f1a416b14e59290baa7a454a90d719baebbf77433ff1bdcc727800/pandas-2.0.3-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:b9cb1e14fdb546396b7e1b923ffaeeac24e4cedd14266c3497216dd4448e4f2d", size = 11581591, upload-time = "2023-06-28T23:17:04.234Z" }, + { url = "https://files.pythonhosted.org/packages/d0/28/88b81881c056376254618fad622a5e94b5126db8c61157ea1910cd1c040a/pandas-2.0.3-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:d9cd88488cceb7635aebb84809d087468eb33551097d600c6dad13602029c2df", size = 12219370, upload-time = "2023-06-28T23:17:11.783Z" }, + { url = "https://files.pythonhosted.org/packages/e4/a5/212b9039e25bf8ebb97e417a96660e3dc925dacd3f8653d531b8f7fd9be4/pandas-2.0.3-cp311-cp311-win32.whl", hash = "sha256:694888a81198786f0e164ee3a581df7d505024fbb1f15202fc7db88a71d84ebd", size = 9482935, upload-time = "2023-06-28T23:17:21.376Z" }, + { url = "https://files.pythonhosted.org/packages/9e/71/756a1be6bee0209d8c0d8c5e3b9fc72c00373f384a4017095ec404aec3ad/pandas-2.0.3-cp311-cp311-win_amd64.whl", hash = "sha256:6a21ab5c89dcbd57f78d0ae16630b090eec626360085a4148693def5452d8a6b", size = 10607692, upload-time = "2023-06-28T23:17:28.824Z" }, + { url = "https://files.pythonhosted.org/packages/78/a8/07dd10f90ca915ed914853cd57f79bfc22e1ef4384ab56cb4336d2fc1f2a/pandas-2.0.3-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:9e4da0d45e7f34c069fe4d522359df7d23badf83abc1d1cef398895822d11061", size = 11653303, upload-time = "2023-06-28T23:17:36.329Z" }, + { url = "https://files.pythonhosted.org/packages/53/c3/f8e87361f7fdf42012def602bfa2a593423c729f5cb7c97aed7f51be66ac/pandas-2.0.3-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:32fca2ee1b0d93dd71d979726b12b61faa06aeb93cf77468776287f41ff8fdc5", size = 10710932, upload-time = "2023-06-28T23:17:49.875Z" }, + { url = "https://files.pythonhosted.org/packages/a7/87/828d50c81ce0f434163bf70b925a0eec6076808e0bca312a79322b141f66/pandas-2.0.3-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:258d3624b3ae734490e4d63c430256e716f488c4fcb7c8e9bde2d3aa46c29089", size = 11684018, upload-time = "2023-06-28T23:18:05.845Z" }, + { url = "https://files.pythonhosted.org/packages/f8/7f/5b047effafbdd34e52c9e2d7e44f729a0655efafb22198c45cf692cdc157/pandas-2.0.3-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:9eae3dc34fa1aa7772dd3fc60270d13ced7346fcbcfee017d3132ec625e23bb0", size = 12353723, upload-time = "2023-06-28T23:18:17.631Z" }, + { url = "https://files.pythonhosted.org/packages/ea/ae/26a2eda7fa581347d69e51f93892493b2074ef3352ac71033c9f32c52389/pandas-2.0.3-cp38-cp38-win32.whl", hash = "sha256:f3421a7afb1a43f7e38e82e844e2bca9a6d793d66c1a7f9f0ff39a795bbc5e02", size = 9646403, upload-time = "2023-06-28T23:18:24.328Z" }, + { url = "https://files.pythonhosted.org/packages/c3/6c/ea362eef61f05553aaf1a24b3e96b2d0603f5dc71a3bd35688a24ed88843/pandas-2.0.3-cp38-cp38-win_amd64.whl", hash = "sha256:69d7f3884c95da3a31ef82b7618af5710dba95bb885ffab339aad925c3e8ce78", size = 10777638, upload-time = "2023-06-28T23:18:30.947Z" }, + { url = "https://files.pythonhosted.org/packages/f8/c7/cfef920b7b457dff6928e824896cb82367650ea127d048ee0b820026db4f/pandas-2.0.3-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:5247fb1ba347c1261cbbf0fcfba4a3121fbb4029d95d9ef4dc45406620b25c8b", size = 11834160, upload-time = "2023-06-28T23:18:40.332Z" }, + { url = "https://files.pythonhosted.org/packages/6c/1c/689c9d99bc4e5d366a5fd871f0bcdee98a6581e240f96b78d2d08f103774/pandas-2.0.3-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:81af086f4543c9d8bb128328b5d32e9986e0c84d3ee673a2ac6fb57fd14f755e", size = 10862752, upload-time = "2023-06-28T23:18:50.016Z" }, + { url = "https://files.pythonhosted.org/packages/cc/b8/4d082f41c27c95bf90485d1447b647cc7e5680fea75e315669dc6e4cb398/pandas-2.0.3-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:1994c789bf12a7c5098277fb43836ce090f1073858c10f9220998ac74f37c69b", size = 11715852, upload-time = "2023-06-28T23:19:00.594Z" }, + { url = "https://files.pythonhosted.org/packages/9e/0d/91a9fd2c202f2b1d97a38ab591890f86480ecbb596cbc56d035f6f23fdcc/pandas-2.0.3-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:5ec591c48e29226bcbb316e0c1e9423622bc7a4eaf1ef7c3c9fa1a3981f89641", size = 12398496, upload-time = "2023-06-28T23:19:11.78Z" }, + { url = "https://files.pythonhosted.org/packages/26/7d/d8aa0a2c4f3f5f8ea59fb946c8eafe8f508090ca73e2b08a9af853c1103e/pandas-2.0.3-cp39-cp39-win32.whl", hash = "sha256:04dbdbaf2e4d46ca8da896e1805bc04eb85caa9a82e259e8eed00254d5e0c682", size = 9630766, upload-time = "2023-06-28T23:19:18.182Z" }, + { url = "https://files.pythonhosted.org/packages/9a/f2/0ad053856debbe90c83de1b4f05915f85fd2146f20faf9daa3b320d36df3/pandas-2.0.3-cp39-cp39-win_amd64.whl", hash = "sha256:1168574b036cd8b93abc746171c9b4f1b83467438a5e45909fed645cf8692dbc", size = 10755902, upload-time = "2023-06-28T23:19:25.151Z" }, ] [[package]] @@ -3398,76 +3398,76 @@ dependencies = [ { name = "pytz", marker = "python_full_version >= '3.9'" }, { name = "tzdata", marker = "python_full_version >= '3.9'" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/9c/d6/9f8431bacc2e19dca897724cd097b1bb224a6ad5433784a44b587c7c13af/pandas-2.2.3.tar.gz", hash = "sha256:4f18ba62b61d7e192368b84517265a99b4d7ee8912f8708660fb4a366cc82667", size = 4399213 } -wheels = [ - { url = "https://files.pythonhosted.org/packages/aa/70/c853aec59839bceed032d52010ff5f1b8d87dc3114b762e4ba2727661a3b/pandas-2.2.3-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:1948ddde24197a0f7add2bdc4ca83bf2b1ef84a1bc8ccffd95eda17fd836ecb5", size = 12580827 }, - { url = "https://files.pythonhosted.org/packages/99/f2/c4527768739ffa4469b2b4fff05aa3768a478aed89a2f271a79a40eee984/pandas-2.2.3-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:381175499d3802cde0eabbaf6324cce0c4f5d52ca6f8c377c29ad442f50f6348", size = 11303897 }, - { url = "https://files.pythonhosted.org/packages/ed/12/86c1747ea27989d7a4064f806ce2bae2c6d575b950be087837bdfcabacc9/pandas-2.2.3-cp310-cp310-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:d9c45366def9a3dd85a6454c0e7908f2b3b8e9c138f5dc38fed7ce720d8453ed", size = 66480908 }, - { url = "https://files.pythonhosted.org/packages/44/50/7db2cd5e6373ae796f0ddad3675268c8d59fb6076e66f0c339d61cea886b/pandas-2.2.3-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:86976a1c5b25ae3f8ccae3a5306e443569ee3c3faf444dfd0f41cda24667ad57", size = 13064210 }, - { url = "https://files.pythonhosted.org/packages/61/61/a89015a6d5536cb0d6c3ba02cebed51a95538cf83472975275e28ebf7d0c/pandas-2.2.3-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:b8661b0238a69d7aafe156b7fa86c44b881387509653fdf857bebc5e4008ad42", size = 16754292 }, - { url = "https://files.pythonhosted.org/packages/ce/0d/4cc7b69ce37fac07645a94e1d4b0880b15999494372c1523508511b09e40/pandas-2.2.3-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:37e0aced3e8f539eccf2e099f65cdb9c8aa85109b0be6e93e2baff94264bdc6f", size = 14416379 }, - { url = "https://files.pythonhosted.org/packages/31/9e/6ebb433de864a6cd45716af52a4d7a8c3c9aaf3a98368e61db9e69e69a9c/pandas-2.2.3-cp310-cp310-win_amd64.whl", hash = "sha256:56534ce0746a58afaf7942ba4863e0ef81c9c50d3f0ae93e9497d6a41a057645", size = 11598471 }, - { url = "https://files.pythonhosted.org/packages/a8/44/d9502bf0ed197ba9bf1103c9867d5904ddcaf869e52329787fc54ed70cc8/pandas-2.2.3-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:66108071e1b935240e74525006034333f98bcdb87ea116de573a6a0dccb6c039", size = 12602222 }, - { url = "https://files.pythonhosted.org/packages/52/11/9eac327a38834f162b8250aab32a6781339c69afe7574368fffe46387edf/pandas-2.2.3-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:7c2875855b0ff77b2a64a0365e24455d9990730d6431b9e0ee18ad8acee13dbd", size = 11321274 }, - { url = "https://files.pythonhosted.org/packages/45/fb/c4beeb084718598ba19aa9f5abbc8aed8b42f90930da861fcb1acdb54c3a/pandas-2.2.3-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:cd8d0c3be0515c12fed0bdbae072551c8b54b7192c7b1fda0ba56059a0179698", size = 15579836 }, - { url = "https://files.pythonhosted.org/packages/cd/5f/4dba1d39bb9c38d574a9a22548c540177f78ea47b32f99c0ff2ec499fac5/pandas-2.2.3-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:c124333816c3a9b03fbeef3a9f230ba9a737e9e5bb4060aa2107a86cc0a497fc", size = 13058505 }, - { url = "https://files.pythonhosted.org/packages/b9/57/708135b90391995361636634df1f1130d03ba456e95bcf576fada459115a/pandas-2.2.3-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:63cc132e40a2e084cf01adf0775b15ac515ba905d7dcca47e9a251819c575ef3", size = 16744420 }, - { url = "https://files.pythonhosted.org/packages/86/4a/03ed6b7ee323cf30404265c284cee9c65c56a212e0a08d9ee06984ba2240/pandas-2.2.3-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:29401dbfa9ad77319367d36940cd8a0b3a11aba16063e39632d98b0e931ddf32", size = 14440457 }, - { url = "https://files.pythonhosted.org/packages/ed/8c/87ddf1fcb55d11f9f847e3c69bb1c6f8e46e2f40ab1a2d2abadb2401b007/pandas-2.2.3-cp311-cp311-win_amd64.whl", hash = "sha256:3fc6873a41186404dad67245896a6e440baacc92f5b716ccd1bc9ed2995ab2c5", size = 11617166 }, - { url = "https://files.pythonhosted.org/packages/17/a3/fb2734118db0af37ea7433f57f722c0a56687e14b14690edff0cdb4b7e58/pandas-2.2.3-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:b1d432e8d08679a40e2a6d8b2f9770a5c21793a6f9f47fdd52c5ce1948a5a8a9", size = 12529893 }, - { url = "https://files.pythonhosted.org/packages/e1/0c/ad295fd74bfac85358fd579e271cded3ac969de81f62dd0142c426b9da91/pandas-2.2.3-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:a5a1595fe639f5988ba6a8e5bc9649af3baf26df3998a0abe56c02609392e0a4", size = 11363475 }, - { url = "https://files.pythonhosted.org/packages/c6/2a/4bba3f03f7d07207481fed47f5b35f556c7441acddc368ec43d6643c5777/pandas-2.2.3-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:5de54125a92bb4d1c051c0659e6fcb75256bf799a732a87184e5ea503965bce3", size = 15188645 }, - { url = "https://files.pythonhosted.org/packages/38/f8/d8fddee9ed0d0c0f4a2132c1dfcf0e3e53265055da8df952a53e7eaf178c/pandas-2.2.3-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:fffb8ae78d8af97f849404f21411c95062db1496aeb3e56f146f0355c9989319", size = 12739445 }, - { url = "https://files.pythonhosted.org/packages/20/e8/45a05d9c39d2cea61ab175dbe6a2de1d05b679e8de2011da4ee190d7e748/pandas-2.2.3-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:6dfcb5ee8d4d50c06a51c2fffa6cff6272098ad6540aed1a76d15fb9318194d8", size = 16359235 }, - { url = "https://files.pythonhosted.org/packages/1d/99/617d07a6a5e429ff90c90da64d428516605a1ec7d7bea494235e1c3882de/pandas-2.2.3-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:062309c1b9ea12a50e8ce661145c6aab431b1e99530d3cd60640e255778bd43a", size = 14056756 }, - { url = "https://files.pythonhosted.org/packages/29/d4/1244ab8edf173a10fd601f7e13b9566c1b525c4f365d6bee918e68381889/pandas-2.2.3-cp312-cp312-win_amd64.whl", hash = "sha256:59ef3764d0fe818125a5097d2ae867ca3fa64df032331b7e0917cf5d7bf66b13", size = 11504248 }, - { url = "https://files.pythonhosted.org/packages/64/22/3b8f4e0ed70644e85cfdcd57454686b9057c6c38d2f74fe4b8bc2527214a/pandas-2.2.3-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:f00d1345d84d8c86a63e476bb4955e46458b304b9575dcf71102b5c705320015", size = 12477643 }, - { url = "https://files.pythonhosted.org/packages/e4/93/b3f5d1838500e22c8d793625da672f3eec046b1a99257666c94446969282/pandas-2.2.3-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:3508d914817e153ad359d7e069d752cdd736a247c322d932eb89e6bc84217f28", size = 11281573 }, - { url = "https://files.pythonhosted.org/packages/f5/94/6c79b07f0e5aab1dcfa35a75f4817f5c4f677931d4234afcd75f0e6a66ca/pandas-2.2.3-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:22a9d949bfc9a502d320aa04e5d02feab689d61da4e7764b62c30b991c42c5f0", size = 15196085 }, - { url = "https://files.pythonhosted.org/packages/e8/31/aa8da88ca0eadbabd0a639788a6da13bb2ff6edbbb9f29aa786450a30a91/pandas-2.2.3-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f3a255b2c19987fbbe62a9dfd6cff7ff2aa9ccab3fc75218fd4b7530f01efa24", size = 12711809 }, - { url = "https://files.pythonhosted.org/packages/ee/7c/c6dbdb0cb2a4344cacfb8de1c5808ca885b2e4dcfde8008266608f9372af/pandas-2.2.3-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:800250ecdadb6d9c78eae4990da62743b857b470883fa27f652db8bdde7f6659", size = 16356316 }, - { url = "https://files.pythonhosted.org/packages/57/b7/8b757e7d92023b832869fa8881a992696a0bfe2e26f72c9ae9f255988d42/pandas-2.2.3-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:6374c452ff3ec675a8f46fd9ab25c4ad0ba590b71cf0656f8b6daa5202bca3fb", size = 14022055 }, - { url = "https://files.pythonhosted.org/packages/3b/bc/4b18e2b8c002572c5a441a64826252ce5da2aa738855747247a971988043/pandas-2.2.3-cp313-cp313-win_amd64.whl", hash = "sha256:61c5ad4043f791b61dd4752191d9f07f0ae412515d59ba8f005832a532f8736d", size = 11481175 }, - { url = "https://files.pythonhosted.org/packages/76/a3/a5d88146815e972d40d19247b2c162e88213ef51c7c25993942c39dbf41d/pandas-2.2.3-cp313-cp313t-macosx_10_13_x86_64.whl", hash = "sha256:3b71f27954685ee685317063bf13c7709a7ba74fc996b84fc6821c59b0f06468", size = 12615650 }, - { url = "https://files.pythonhosted.org/packages/9c/8c/f0fd18f6140ddafc0c24122c8a964e48294acc579d47def376fef12bcb4a/pandas-2.2.3-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:38cf8125c40dae9d5acc10fa66af8ea6fdf760b2714ee482ca691fc66e6fcb18", size = 11290177 }, - { url = "https://files.pythonhosted.org/packages/ed/f9/e995754eab9c0f14c6777401f7eece0943840b7a9fc932221c19d1abee9f/pandas-2.2.3-cp313-cp313t-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:ba96630bc17c875161df3818780af30e43be9b166ce51c9a18c1feae342906c2", size = 14651526 }, - { url = "https://files.pythonhosted.org/packages/25/b0/98d6ae2e1abac4f35230aa756005e8654649d305df9a28b16b9ae4353bff/pandas-2.2.3-cp313-cp313t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:1db71525a1538b30142094edb9adc10be3f3e176748cd7acc2240c2f2e5aa3a4", size = 11871013 }, - { url = "https://files.pythonhosted.org/packages/cc/57/0f72a10f9db6a4628744c8e8f0df4e6e21de01212c7c981d31e50ffc8328/pandas-2.2.3-cp313-cp313t-musllinux_1_2_aarch64.whl", hash = "sha256:15c0e1e02e93116177d29ff83e8b1619c93ddc9c49083f237d4312337a61165d", size = 15711620 }, - { url = "https://files.pythonhosted.org/packages/ab/5f/b38085618b950b79d2d9164a711c52b10aefc0ae6833b96f626b7021b2ed/pandas-2.2.3-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:ad5b65698ab28ed8d7f18790a0dc58005c7629f227be9ecc1072aa74c0c1d43a", size = 13098436 }, - { url = "https://files.pythonhosted.org/packages/ca/8c/8848a4c9b8fdf5a534fe2077af948bf53cd713d77ffbcd7bd15710348fd7/pandas-2.2.3-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:bc6b93f9b966093cb0fd62ff1a7e4c09e6d546ad7c1de191767baffc57628f39", size = 12595535 }, - { url = "https://files.pythonhosted.org/packages/9c/b9/5cead4f63b6d31bdefeb21a679bc5a7f4aaf262ca7e07e2bc1c341b68470/pandas-2.2.3-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:5dbca4c1acd72e8eeef4753eeca07de9b1db4f398669d5994086f788a5d7cc30", size = 11319822 }, - { url = "https://files.pythonhosted.org/packages/31/af/89e35619fb573366fa68dc26dad6ad2c08c17b8004aad6d98f1a31ce4bb3/pandas-2.2.3-cp39-cp39-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:8cd6d7cc958a3910f934ea8dbdf17b2364827bb4dafc38ce6eef6bb3d65ff09c", size = 15625439 }, - { url = "https://files.pythonhosted.org/packages/3d/dd/bed19c2974296661493d7acc4407b1d2db4e2a482197df100f8f965b6225/pandas-2.2.3-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:99df71520d25fade9db7c1076ac94eb994f4d2673ef2aa2e86ee039b6746d20c", size = 13068928 }, - { url = "https://files.pythonhosted.org/packages/31/a3/18508e10a31ea108d746c848b5a05c0711e0278fa0d6f1c52a8ec52b80a5/pandas-2.2.3-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:31d0ced62d4ea3e231a9f228366919a5ea0b07440d9d4dac345376fd8e1477ea", size = 16783266 }, - { url = "https://files.pythonhosted.org/packages/c4/a5/3429bd13d82bebc78f4d78c3945efedef63a7cd0c15c17b2eeb838d1121f/pandas-2.2.3-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:7eee9e7cea6adf3e3d24e304ac6b8300646e2a5d1cd3a3c2abed9101b0846761", size = 14450871 }, - { url = "https://files.pythonhosted.org/packages/2f/49/5c30646e96c684570925b772eac4eb0a8cb0ca590fa978f56c5d3ae73ea1/pandas-2.2.3-cp39-cp39-win_amd64.whl", hash = "sha256:4850ba03528b6dd51d6c5d273c46f183f39a9baf3f0143e566b89450965b105e", size = 11618011 }, +sdist = { url = "https://files.pythonhosted.org/packages/9c/d6/9f8431bacc2e19dca897724cd097b1bb224a6ad5433784a44b587c7c13af/pandas-2.2.3.tar.gz", hash = "sha256:4f18ba62b61d7e192368b84517265a99b4d7ee8912f8708660fb4a366cc82667", size = 4399213, upload-time = "2024-09-20T13:10:04.827Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/aa/70/c853aec59839bceed032d52010ff5f1b8d87dc3114b762e4ba2727661a3b/pandas-2.2.3-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:1948ddde24197a0f7add2bdc4ca83bf2b1ef84a1bc8ccffd95eda17fd836ecb5", size = 12580827, upload-time = "2024-09-20T13:08:42.347Z" }, + { url = "https://files.pythonhosted.org/packages/99/f2/c4527768739ffa4469b2b4fff05aa3768a478aed89a2f271a79a40eee984/pandas-2.2.3-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:381175499d3802cde0eabbaf6324cce0c4f5d52ca6f8c377c29ad442f50f6348", size = 11303897, upload-time = "2024-09-20T13:08:45.807Z" }, + { url = "https://files.pythonhosted.org/packages/ed/12/86c1747ea27989d7a4064f806ce2bae2c6d575b950be087837bdfcabacc9/pandas-2.2.3-cp310-cp310-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:d9c45366def9a3dd85a6454c0e7908f2b3b8e9c138f5dc38fed7ce720d8453ed", size = 66480908, upload-time = "2024-09-20T18:37:13.513Z" }, + { url = "https://files.pythonhosted.org/packages/44/50/7db2cd5e6373ae796f0ddad3675268c8d59fb6076e66f0c339d61cea886b/pandas-2.2.3-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:86976a1c5b25ae3f8ccae3a5306e443569ee3c3faf444dfd0f41cda24667ad57", size = 13064210, upload-time = "2024-09-20T13:08:48.325Z" }, + { url = "https://files.pythonhosted.org/packages/61/61/a89015a6d5536cb0d6c3ba02cebed51a95538cf83472975275e28ebf7d0c/pandas-2.2.3-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:b8661b0238a69d7aafe156b7fa86c44b881387509653fdf857bebc5e4008ad42", size = 16754292, upload-time = "2024-09-20T19:01:54.443Z" }, + { url = "https://files.pythonhosted.org/packages/ce/0d/4cc7b69ce37fac07645a94e1d4b0880b15999494372c1523508511b09e40/pandas-2.2.3-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:37e0aced3e8f539eccf2e099f65cdb9c8aa85109b0be6e93e2baff94264bdc6f", size = 14416379, upload-time = "2024-09-20T13:08:50.882Z" }, + { url = "https://files.pythonhosted.org/packages/31/9e/6ebb433de864a6cd45716af52a4d7a8c3c9aaf3a98368e61db9e69e69a9c/pandas-2.2.3-cp310-cp310-win_amd64.whl", hash = "sha256:56534ce0746a58afaf7942ba4863e0ef81c9c50d3f0ae93e9497d6a41a057645", size = 11598471, upload-time = "2024-09-20T13:08:53.332Z" }, + { url = "https://files.pythonhosted.org/packages/a8/44/d9502bf0ed197ba9bf1103c9867d5904ddcaf869e52329787fc54ed70cc8/pandas-2.2.3-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:66108071e1b935240e74525006034333f98bcdb87ea116de573a6a0dccb6c039", size = 12602222, upload-time = "2024-09-20T13:08:56.254Z" }, + { url = "https://files.pythonhosted.org/packages/52/11/9eac327a38834f162b8250aab32a6781339c69afe7574368fffe46387edf/pandas-2.2.3-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:7c2875855b0ff77b2a64a0365e24455d9990730d6431b9e0ee18ad8acee13dbd", size = 11321274, upload-time = "2024-09-20T13:08:58.645Z" }, + { url = "https://files.pythonhosted.org/packages/45/fb/c4beeb084718598ba19aa9f5abbc8aed8b42f90930da861fcb1acdb54c3a/pandas-2.2.3-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:cd8d0c3be0515c12fed0bdbae072551c8b54b7192c7b1fda0ba56059a0179698", size = 15579836, upload-time = "2024-09-20T19:01:57.571Z" }, + { url = "https://files.pythonhosted.org/packages/cd/5f/4dba1d39bb9c38d574a9a22548c540177f78ea47b32f99c0ff2ec499fac5/pandas-2.2.3-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:c124333816c3a9b03fbeef3a9f230ba9a737e9e5bb4060aa2107a86cc0a497fc", size = 13058505, upload-time = "2024-09-20T13:09:01.501Z" }, + { url = "https://files.pythonhosted.org/packages/b9/57/708135b90391995361636634df1f1130d03ba456e95bcf576fada459115a/pandas-2.2.3-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:63cc132e40a2e084cf01adf0775b15ac515ba905d7dcca47e9a251819c575ef3", size = 16744420, upload-time = "2024-09-20T19:02:00.678Z" }, + { url = "https://files.pythonhosted.org/packages/86/4a/03ed6b7ee323cf30404265c284cee9c65c56a212e0a08d9ee06984ba2240/pandas-2.2.3-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:29401dbfa9ad77319367d36940cd8a0b3a11aba16063e39632d98b0e931ddf32", size = 14440457, upload-time = "2024-09-20T13:09:04.105Z" }, + { url = "https://files.pythonhosted.org/packages/ed/8c/87ddf1fcb55d11f9f847e3c69bb1c6f8e46e2f40ab1a2d2abadb2401b007/pandas-2.2.3-cp311-cp311-win_amd64.whl", hash = "sha256:3fc6873a41186404dad67245896a6e440baacc92f5b716ccd1bc9ed2995ab2c5", size = 11617166, upload-time = "2024-09-20T13:09:06.917Z" }, + { url = "https://files.pythonhosted.org/packages/17/a3/fb2734118db0af37ea7433f57f722c0a56687e14b14690edff0cdb4b7e58/pandas-2.2.3-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:b1d432e8d08679a40e2a6d8b2f9770a5c21793a6f9f47fdd52c5ce1948a5a8a9", size = 12529893, upload-time = "2024-09-20T13:09:09.655Z" }, + { url = "https://files.pythonhosted.org/packages/e1/0c/ad295fd74bfac85358fd579e271cded3ac969de81f62dd0142c426b9da91/pandas-2.2.3-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:a5a1595fe639f5988ba6a8e5bc9649af3baf26df3998a0abe56c02609392e0a4", size = 11363475, upload-time = "2024-09-20T13:09:14.718Z" }, + { url = "https://files.pythonhosted.org/packages/c6/2a/4bba3f03f7d07207481fed47f5b35f556c7441acddc368ec43d6643c5777/pandas-2.2.3-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:5de54125a92bb4d1c051c0659e6fcb75256bf799a732a87184e5ea503965bce3", size = 15188645, upload-time = "2024-09-20T19:02:03.88Z" }, + { url = "https://files.pythonhosted.org/packages/38/f8/d8fddee9ed0d0c0f4a2132c1dfcf0e3e53265055da8df952a53e7eaf178c/pandas-2.2.3-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:fffb8ae78d8af97f849404f21411c95062db1496aeb3e56f146f0355c9989319", size = 12739445, upload-time = "2024-09-20T13:09:17.621Z" }, + { url = "https://files.pythonhosted.org/packages/20/e8/45a05d9c39d2cea61ab175dbe6a2de1d05b679e8de2011da4ee190d7e748/pandas-2.2.3-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:6dfcb5ee8d4d50c06a51c2fffa6cff6272098ad6540aed1a76d15fb9318194d8", size = 16359235, upload-time = "2024-09-20T19:02:07.094Z" }, + { url = "https://files.pythonhosted.org/packages/1d/99/617d07a6a5e429ff90c90da64d428516605a1ec7d7bea494235e1c3882de/pandas-2.2.3-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:062309c1b9ea12a50e8ce661145c6aab431b1e99530d3cd60640e255778bd43a", size = 14056756, upload-time = "2024-09-20T13:09:20.474Z" }, + { url = "https://files.pythonhosted.org/packages/29/d4/1244ab8edf173a10fd601f7e13b9566c1b525c4f365d6bee918e68381889/pandas-2.2.3-cp312-cp312-win_amd64.whl", hash = "sha256:59ef3764d0fe818125a5097d2ae867ca3fa64df032331b7e0917cf5d7bf66b13", size = 11504248, upload-time = "2024-09-20T13:09:23.137Z" }, + { url = "https://files.pythonhosted.org/packages/64/22/3b8f4e0ed70644e85cfdcd57454686b9057c6c38d2f74fe4b8bc2527214a/pandas-2.2.3-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:f00d1345d84d8c86a63e476bb4955e46458b304b9575dcf71102b5c705320015", size = 12477643, upload-time = "2024-09-20T13:09:25.522Z" }, + { url = "https://files.pythonhosted.org/packages/e4/93/b3f5d1838500e22c8d793625da672f3eec046b1a99257666c94446969282/pandas-2.2.3-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:3508d914817e153ad359d7e069d752cdd736a247c322d932eb89e6bc84217f28", size = 11281573, upload-time = "2024-09-20T13:09:28.012Z" }, + { url = "https://files.pythonhosted.org/packages/f5/94/6c79b07f0e5aab1dcfa35a75f4817f5c4f677931d4234afcd75f0e6a66ca/pandas-2.2.3-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:22a9d949bfc9a502d320aa04e5d02feab689d61da4e7764b62c30b991c42c5f0", size = 15196085, upload-time = "2024-09-20T19:02:10.451Z" }, + { url = "https://files.pythonhosted.org/packages/e8/31/aa8da88ca0eadbabd0a639788a6da13bb2ff6edbbb9f29aa786450a30a91/pandas-2.2.3-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f3a255b2c19987fbbe62a9dfd6cff7ff2aa9ccab3fc75218fd4b7530f01efa24", size = 12711809, upload-time = "2024-09-20T13:09:30.814Z" }, + { url = "https://files.pythonhosted.org/packages/ee/7c/c6dbdb0cb2a4344cacfb8de1c5808ca885b2e4dcfde8008266608f9372af/pandas-2.2.3-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:800250ecdadb6d9c78eae4990da62743b857b470883fa27f652db8bdde7f6659", size = 16356316, upload-time = "2024-09-20T19:02:13.825Z" }, + { url = "https://files.pythonhosted.org/packages/57/b7/8b757e7d92023b832869fa8881a992696a0bfe2e26f72c9ae9f255988d42/pandas-2.2.3-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:6374c452ff3ec675a8f46fd9ab25c4ad0ba590b71cf0656f8b6daa5202bca3fb", size = 14022055, upload-time = "2024-09-20T13:09:33.462Z" }, + { url = "https://files.pythonhosted.org/packages/3b/bc/4b18e2b8c002572c5a441a64826252ce5da2aa738855747247a971988043/pandas-2.2.3-cp313-cp313-win_amd64.whl", hash = "sha256:61c5ad4043f791b61dd4752191d9f07f0ae412515d59ba8f005832a532f8736d", size = 11481175, upload-time = "2024-09-20T13:09:35.871Z" }, + { url = "https://files.pythonhosted.org/packages/76/a3/a5d88146815e972d40d19247b2c162e88213ef51c7c25993942c39dbf41d/pandas-2.2.3-cp313-cp313t-macosx_10_13_x86_64.whl", hash = "sha256:3b71f27954685ee685317063bf13c7709a7ba74fc996b84fc6821c59b0f06468", size = 12615650, upload-time = "2024-09-20T13:09:38.685Z" }, + { url = "https://files.pythonhosted.org/packages/9c/8c/f0fd18f6140ddafc0c24122c8a964e48294acc579d47def376fef12bcb4a/pandas-2.2.3-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:38cf8125c40dae9d5acc10fa66af8ea6fdf760b2714ee482ca691fc66e6fcb18", size = 11290177, upload-time = "2024-09-20T13:09:41.141Z" }, + { url = "https://files.pythonhosted.org/packages/ed/f9/e995754eab9c0f14c6777401f7eece0943840b7a9fc932221c19d1abee9f/pandas-2.2.3-cp313-cp313t-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:ba96630bc17c875161df3818780af30e43be9b166ce51c9a18c1feae342906c2", size = 14651526, upload-time = "2024-09-20T19:02:16.905Z" }, + { url = "https://files.pythonhosted.org/packages/25/b0/98d6ae2e1abac4f35230aa756005e8654649d305df9a28b16b9ae4353bff/pandas-2.2.3-cp313-cp313t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:1db71525a1538b30142094edb9adc10be3f3e176748cd7acc2240c2f2e5aa3a4", size = 11871013, upload-time = "2024-09-20T13:09:44.39Z" }, + { url = "https://files.pythonhosted.org/packages/cc/57/0f72a10f9db6a4628744c8e8f0df4e6e21de01212c7c981d31e50ffc8328/pandas-2.2.3-cp313-cp313t-musllinux_1_2_aarch64.whl", hash = "sha256:15c0e1e02e93116177d29ff83e8b1619c93ddc9c49083f237d4312337a61165d", size = 15711620, upload-time = "2024-09-20T19:02:20.639Z" }, + { url = "https://files.pythonhosted.org/packages/ab/5f/b38085618b950b79d2d9164a711c52b10aefc0ae6833b96f626b7021b2ed/pandas-2.2.3-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:ad5b65698ab28ed8d7f18790a0dc58005c7629f227be9ecc1072aa74c0c1d43a", size = 13098436, upload-time = "2024-09-20T13:09:48.112Z" }, + { url = "https://files.pythonhosted.org/packages/ca/8c/8848a4c9b8fdf5a534fe2077af948bf53cd713d77ffbcd7bd15710348fd7/pandas-2.2.3-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:bc6b93f9b966093cb0fd62ff1a7e4c09e6d546ad7c1de191767baffc57628f39", size = 12595535, upload-time = "2024-09-20T13:09:51.339Z" }, + { url = "https://files.pythonhosted.org/packages/9c/b9/5cead4f63b6d31bdefeb21a679bc5a7f4aaf262ca7e07e2bc1c341b68470/pandas-2.2.3-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:5dbca4c1acd72e8eeef4753eeca07de9b1db4f398669d5994086f788a5d7cc30", size = 11319822, upload-time = "2024-09-20T13:09:54.31Z" }, + { url = "https://files.pythonhosted.org/packages/31/af/89e35619fb573366fa68dc26dad6ad2c08c17b8004aad6d98f1a31ce4bb3/pandas-2.2.3-cp39-cp39-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:8cd6d7cc958a3910f934ea8dbdf17b2364827bb4dafc38ce6eef6bb3d65ff09c", size = 15625439, upload-time = "2024-09-20T19:02:23.689Z" }, + { url = "https://files.pythonhosted.org/packages/3d/dd/bed19c2974296661493d7acc4407b1d2db4e2a482197df100f8f965b6225/pandas-2.2.3-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:99df71520d25fade9db7c1076ac94eb994f4d2673ef2aa2e86ee039b6746d20c", size = 13068928, upload-time = "2024-09-20T13:09:56.746Z" }, + { url = "https://files.pythonhosted.org/packages/31/a3/18508e10a31ea108d746c848b5a05c0711e0278fa0d6f1c52a8ec52b80a5/pandas-2.2.3-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:31d0ced62d4ea3e231a9f228366919a5ea0b07440d9d4dac345376fd8e1477ea", size = 16783266, upload-time = "2024-09-20T19:02:26.247Z" }, + { url = "https://files.pythonhosted.org/packages/c4/a5/3429bd13d82bebc78f4d78c3945efedef63a7cd0c15c17b2eeb838d1121f/pandas-2.2.3-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:7eee9e7cea6adf3e3d24e304ac6b8300646e2a5d1cd3a3c2abed9101b0846761", size = 14450871, upload-time = "2024-09-20T13:09:59.779Z" }, + { url = "https://files.pythonhosted.org/packages/2f/49/5c30646e96c684570925b772eac4eb0a8cb0ca590fa978f56c5d3ae73ea1/pandas-2.2.3-cp39-cp39-win_amd64.whl", hash = "sha256:4850ba03528b6dd51d6c5d273c46f183f39a9baf3f0143e566b89450965b105e", size = 11618011, upload-time = "2024-09-20T13:10:02.351Z" }, ] [[package]] name = "pandocfilters" version = "1.5.1" source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/70/6f/3dd4940bbe001c06a65f88e36bad298bc7a0de5036115639926b0c5c0458/pandocfilters-1.5.1.tar.gz", hash = "sha256:002b4a555ee4ebc03f8b66307e287fa492e4a77b4ea14d3f934328297bb4939e", size = 8454 } +sdist = { url = "https://files.pythonhosted.org/packages/70/6f/3dd4940bbe001c06a65f88e36bad298bc7a0de5036115639926b0c5c0458/pandocfilters-1.5.1.tar.gz", hash = "sha256:002b4a555ee4ebc03f8b66307e287fa492e4a77b4ea14d3f934328297bb4939e", size = 8454, upload-time = "2024-01-18T20:08:13.726Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/ef/af/4fbc8cab944db5d21b7e2a5b8e9211a03a79852b1157e2c102fcc61ac440/pandocfilters-1.5.1-py2.py3-none-any.whl", hash = "sha256:93be382804a9cdb0a7267585f157e5d1731bbe5545a85b268d6f5fe6232de2bc", size = 8663 }, + { url = "https://files.pythonhosted.org/packages/ef/af/4fbc8cab944db5d21b7e2a5b8e9211a03a79852b1157e2c102fcc61ac440/pandocfilters-1.5.1-py2.py3-none-any.whl", hash = "sha256:93be382804a9cdb0a7267585f157e5d1731bbe5545a85b268d6f5fe6232de2bc", size = 8663, upload-time = "2024-01-18T20:08:11.28Z" }, ] [[package]] name = "parso" version = "0.8.4" source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/66/94/68e2e17afaa9169cf6412ab0f28623903be73d1b32e208d9e8e541bb086d/parso-0.8.4.tar.gz", hash = "sha256:eb3a7b58240fb99099a345571deecc0f9540ea5f4dd2fe14c2a99d6b281ab92d", size = 400609 } +sdist = { url = "https://files.pythonhosted.org/packages/66/94/68e2e17afaa9169cf6412ab0f28623903be73d1b32e208d9e8e541bb086d/parso-0.8.4.tar.gz", hash = "sha256:eb3a7b58240fb99099a345571deecc0f9540ea5f4dd2fe14c2a99d6b281ab92d", size = 400609, upload-time = "2024-04-05T09:43:55.897Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/c6/ac/dac4a63f978e4dcb3c6d3a78c4d8e0192a113d288502a1216950c41b1027/parso-0.8.4-py2.py3-none-any.whl", hash = "sha256:a418670a20291dacd2dddc80c377c5c3791378ee1e8d12bffc35420643d43f18", size = 103650 }, + { url = "https://files.pythonhosted.org/packages/c6/ac/dac4a63f978e4dcb3c6d3a78c4d8e0192a113d288502a1216950c41b1027/parso-0.8.4-py2.py3-none-any.whl", hash = "sha256:a418670a20291dacd2dddc80c377c5c3791378ee1e8d12bffc35420643d43f18", size = 103650, upload-time = "2024-04-05T09:43:53.299Z" }, ] [[package]] name = "pathspec" version = "0.12.1" source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/ca/bc/f35b8446f4531a7cb215605d100cd88b7ac6f44ab3fc94870c120ab3adbf/pathspec-0.12.1.tar.gz", hash = "sha256:a482d51503a1ab33b1c67a6c3813a26953dbdc71c31dacaef9a838c4e29f5712", size = 51043 } +sdist = { url = "https://files.pythonhosted.org/packages/ca/bc/f35b8446f4531a7cb215605d100cd88b7ac6f44ab3fc94870c120ab3adbf/pathspec-0.12.1.tar.gz", hash = "sha256:a482d51503a1ab33b1c67a6c3813a26953dbdc71c31dacaef9a838c4e29f5712", size = 51043, upload-time = "2023-12-10T22:30:45Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/cc/20/ff623b09d963f88bfde16306a54e12ee5ea43e9b597108672ff3a408aad6/pathspec-0.12.1-py3-none-any.whl", hash = "sha256:a0d503e138a4c123b27490a4f7beda6a01c6f288df0e4a8b79c7eb0dc7b4cc08", size = 31191 }, + { url = "https://files.pythonhosted.org/packages/cc/20/ff623b09d963f88bfde16306a54e12ee5ea43e9b597108672ff3a408aad6/pathspec-0.12.1-py3-none-any.whl", hash = "sha256:a0d503e138a4c123b27490a4f7beda6a01c6f288df0e4a8b79c7eb0dc7b4cc08", size = 31191, upload-time = "2023-12-10T22:30:43.14Z" }, ] [[package]] @@ -3477,141 +3477,141 @@ source = { registry = "https://pypi.org/simple" } dependencies = [ { name = "ptyprocess" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/42/92/cc564bf6381ff43ce1f4d06852fc19a2f11d180f23dc32d9588bee2f149d/pexpect-4.9.0.tar.gz", hash = "sha256:ee7d41123f3c9911050ea2c2dac107568dc43b2d3b0c7557a33212c398ead30f", size = 166450 } +sdist = { url = "https://files.pythonhosted.org/packages/42/92/cc564bf6381ff43ce1f4d06852fc19a2f11d180f23dc32d9588bee2f149d/pexpect-4.9.0.tar.gz", hash = "sha256:ee7d41123f3c9911050ea2c2dac107568dc43b2d3b0c7557a33212c398ead30f", size = 166450, upload-time = "2023-11-25T09:07:26.339Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/9e/c3/059298687310d527a58bb01f3b1965787ee3b40dce76752eda8b44e9a2c5/pexpect-4.9.0-py2.py3-none-any.whl", hash = "sha256:7236d1e080e4936be2dc3e326cec0af72acf9212a7e1d060210e70a47e253523", size = 63772 }, + { url = "https://files.pythonhosted.org/packages/9e/c3/059298687310d527a58bb01f3b1965787ee3b40dce76752eda8b44e9a2c5/pexpect-4.9.0-py2.py3-none-any.whl", hash = "sha256:7236d1e080e4936be2dc3e326cec0af72acf9212a7e1d060210e70a47e253523", size = 63772, upload-time = "2023-11-25T06:56:14.81Z" }, ] [[package]] name = "pickleshare" version = "0.7.5" source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/d8/b6/df3c1c9b616e9c0edbc4fbab6ddd09df9535849c64ba51fcb6531c32d4d8/pickleshare-0.7.5.tar.gz", hash = "sha256:87683d47965c1da65cdacaf31c8441d12b8044cdec9aca500cd78fc2c683afca", size = 6161 } +sdist = { url = "https://files.pythonhosted.org/packages/d8/b6/df3c1c9b616e9c0edbc4fbab6ddd09df9535849c64ba51fcb6531c32d4d8/pickleshare-0.7.5.tar.gz", hash = "sha256:87683d47965c1da65cdacaf31c8441d12b8044cdec9aca500cd78fc2c683afca", size = 6161, upload-time = "2018-09-25T19:17:37.249Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/9a/41/220f49aaea88bc6fa6cba8d05ecf24676326156c23b991e80b3f2fc24c77/pickleshare-0.7.5-py2.py3-none-any.whl", hash = "sha256:9649af414d74d4df115d5d718f82acb59c9d418196b7b4290ed47a12ce62df56", size = 6877 }, + { url = "https://files.pythonhosted.org/packages/9a/41/220f49aaea88bc6fa6cba8d05ecf24676326156c23b991e80b3f2fc24c77/pickleshare-0.7.5-py2.py3-none-any.whl", hash = "sha256:9649af414d74d4df115d5d718f82acb59c9d418196b7b4290ed47a12ce62df56", size = 6877, upload-time = "2018-09-25T19:17:35.817Z" }, ] [[package]] name = "pillow" version = "10.4.0" source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/cd/74/ad3d526f3bf7b6d3f408b73fde271ec69dfac8b81341a318ce825f2b3812/pillow-10.4.0.tar.gz", hash = "sha256:166c1cd4d24309b30d61f79f4a9114b7b2313d7450912277855ff5dfd7cd4a06", size = 46555059 } -wheels = [ - { url = "https://files.pythonhosted.org/packages/0e/69/a31cccd538ca0b5272be2a38347f8839b97a14be104ea08b0db92f749c74/pillow-10.4.0-cp310-cp310-macosx_10_10_x86_64.whl", hash = "sha256:4d9667937cfa347525b319ae34375c37b9ee6b525440f3ef48542fcf66f2731e", size = 3509271 }, - { url = "https://files.pythonhosted.org/packages/9a/9e/4143b907be8ea0bce215f2ae4f7480027473f8b61fcedfda9d851082a5d2/pillow-10.4.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:543f3dc61c18dafb755773efc89aae60d06b6596a63914107f75459cf984164d", size = 3375658 }, - { url = "https://files.pythonhosted.org/packages/8a/25/1fc45761955f9359b1169aa75e241551e74ac01a09f487adaaf4c3472d11/pillow-10.4.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:7928ecbf1ece13956b95d9cbcfc77137652b02763ba384d9ab508099a2eca856", size = 4332075 }, - { url = "https://files.pythonhosted.org/packages/5e/dd/425b95d0151e1d6c951f45051112394f130df3da67363b6bc75dc4c27aba/pillow-10.4.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:e4d49b85c4348ea0b31ea63bc75a9f3857869174e2bf17e7aba02945cd218e6f", size = 4444808 }, - { url = "https://files.pythonhosted.org/packages/b1/84/9a15cc5726cbbfe7f9f90bfb11f5d028586595907cd093815ca6644932e3/pillow-10.4.0-cp310-cp310-manylinux_2_28_aarch64.whl", hash = "sha256:6c762a5b0997f5659a5ef2266abc1d8851ad7749ad9a6a5506eb23d314e4f46b", size = 4356290 }, - { url = "https://files.pythonhosted.org/packages/b5/5b/6651c288b08df3b8c1e2f8c1152201e0b25d240e22ddade0f1e242fc9fa0/pillow-10.4.0-cp310-cp310-manylinux_2_28_x86_64.whl", hash = "sha256:a985e028fc183bf12a77a8bbf36318db4238a3ded7fa9df1b9a133f1cb79f8fc", size = 4525163 }, - { url = "https://files.pythonhosted.org/packages/07/8b/34854bf11a83c248505c8cb0fcf8d3d0b459a2246c8809b967963b6b12ae/pillow-10.4.0-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:812f7342b0eee081eaec84d91423d1b4650bb9828eb53d8511bcef8ce5aecf1e", size = 4463100 }, - { url = "https://files.pythonhosted.org/packages/78/63/0632aee4e82476d9cbe5200c0cdf9ba41ee04ed77887432845264d81116d/pillow-10.4.0-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:ac1452d2fbe4978c2eec89fb5a23b8387aba707ac72810d9490118817d9c0b46", size = 4592880 }, - { url = "https://files.pythonhosted.org/packages/df/56/b8663d7520671b4398b9d97e1ed9f583d4afcbefbda3c6188325e8c297bd/pillow-10.4.0-cp310-cp310-win32.whl", hash = "sha256:bcd5e41a859bf2e84fdc42f4edb7d9aba0a13d29a2abadccafad99de3feff984", size = 2235218 }, - { url = "https://files.pythonhosted.org/packages/f4/72/0203e94a91ddb4a9d5238434ae6c1ca10e610e8487036132ea9bf806ca2a/pillow-10.4.0-cp310-cp310-win_amd64.whl", hash = "sha256:ecd85a8d3e79cd7158dec1c9e5808e821feea088e2f69a974db5edf84dc53141", size = 2554487 }, - { url = "https://files.pythonhosted.org/packages/bd/52/7e7e93d7a6e4290543f17dc6f7d3af4bd0b3dd9926e2e8a35ac2282bc5f4/pillow-10.4.0-cp310-cp310-win_arm64.whl", hash = "sha256:ff337c552345e95702c5fde3158acb0625111017d0e5f24bf3acdb9cc16b90d1", size = 2243219 }, - { url = "https://files.pythonhosted.org/packages/a7/62/c9449f9c3043c37f73e7487ec4ef0c03eb9c9afc91a92b977a67b3c0bbc5/pillow-10.4.0-cp311-cp311-macosx_10_10_x86_64.whl", hash = "sha256:0a9ec697746f268507404647e531e92889890a087e03681a3606d9b920fbee3c", size = 3509265 }, - { url = "https://files.pythonhosted.org/packages/f4/5f/491dafc7bbf5a3cc1845dc0430872e8096eb9e2b6f8161509d124594ec2d/pillow-10.4.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:dfe91cb65544a1321e631e696759491ae04a2ea11d36715eca01ce07284738be", size = 3375655 }, - { url = "https://files.pythonhosted.org/packages/73/d5/c4011a76f4207a3c151134cd22a1415741e42fa5ddecec7c0182887deb3d/pillow-10.4.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:5dc6761a6efc781e6a1544206f22c80c3af4c8cf461206d46a1e6006e4429ff3", size = 4340304 }, - { url = "https://files.pythonhosted.org/packages/ac/10/c67e20445a707f7a610699bba4fe050583b688d8cd2d202572b257f46600/pillow-10.4.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:5e84b6cc6a4a3d76c153a6b19270b3526a5a8ed6b09501d3af891daa2a9de7d6", size = 4452804 }, - { url = "https://files.pythonhosted.org/packages/a9/83/6523837906d1da2b269dee787e31df3b0acb12e3d08f024965a3e7f64665/pillow-10.4.0-cp311-cp311-manylinux_2_28_aarch64.whl", hash = "sha256:bbc527b519bd3aa9d7f429d152fea69f9ad37c95f0b02aebddff592688998abe", size = 4365126 }, - { url = "https://files.pythonhosted.org/packages/ba/e5/8c68ff608a4203085158cff5cc2a3c534ec384536d9438c405ed6370d080/pillow-10.4.0-cp311-cp311-manylinux_2_28_x86_64.whl", hash = "sha256:76a911dfe51a36041f2e756b00f96ed84677cdeb75d25c767f296c1c1eda1319", size = 4533541 }, - { url = "https://files.pythonhosted.org/packages/f4/7c/01b8dbdca5bc6785573f4cee96e2358b0918b7b2c7b60d8b6f3abf87a070/pillow-10.4.0-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:59291fb29317122398786c2d44427bbd1a6d7ff54017075b22be9d21aa59bd8d", size = 4471616 }, - { url = "https://files.pythonhosted.org/packages/c8/57/2899b82394a35a0fbfd352e290945440e3b3785655a03365c0ca8279f351/pillow-10.4.0-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:416d3a5d0e8cfe4f27f574362435bc9bae57f679a7158e0096ad2beb427b8696", size = 4600802 }, - { url = "https://files.pythonhosted.org/packages/4d/d7/a44f193d4c26e58ee5d2d9db3d4854b2cfb5b5e08d360a5e03fe987c0086/pillow-10.4.0-cp311-cp311-win32.whl", hash = "sha256:7086cc1d5eebb91ad24ded9f58bec6c688e9f0ed7eb3dbbf1e4800280a896496", size = 2235213 }, - { url = "https://files.pythonhosted.org/packages/c1/d0/5866318eec2b801cdb8c82abf190c8343d8a1cd8bf5a0c17444a6f268291/pillow-10.4.0-cp311-cp311-win_amd64.whl", hash = "sha256:cbed61494057c0f83b83eb3a310f0bf774b09513307c434d4366ed64f4128a91", size = 2554498 }, - { url = "https://files.pythonhosted.org/packages/d4/c8/310ac16ac2b97e902d9eb438688de0d961660a87703ad1561fd3dfbd2aa0/pillow-10.4.0-cp311-cp311-win_arm64.whl", hash = "sha256:f5f0c3e969c8f12dd2bb7e0b15d5c468b51e5017e01e2e867335c81903046a22", size = 2243219 }, - { url = "https://files.pythonhosted.org/packages/05/cb/0353013dc30c02a8be34eb91d25e4e4cf594b59e5a55ea1128fde1e5f8ea/pillow-10.4.0-cp312-cp312-macosx_10_10_x86_64.whl", hash = "sha256:673655af3eadf4df6b5457033f086e90299fdd7a47983a13827acf7459c15d94", size = 3509350 }, - { url = "https://files.pythonhosted.org/packages/e7/cf/5c558a0f247e0bf9cec92bff9b46ae6474dd736f6d906315e60e4075f737/pillow-10.4.0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:866b6942a92f56300012f5fbac71f2d610312ee65e22f1aa2609e491284e5597", size = 3374980 }, - { url = "https://files.pythonhosted.org/packages/84/48/6e394b86369a4eb68b8a1382c78dc092245af517385c086c5094e3b34428/pillow-10.4.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:29dbdc4207642ea6aad70fbde1a9338753d33fb23ed6956e706936706f52dd80", size = 4343799 }, - { url = "https://files.pythonhosted.org/packages/3b/f3/a8c6c11fa84b59b9df0cd5694492da8c039a24cd159f0f6918690105c3be/pillow-10.4.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:bf2342ac639c4cf38799a44950bbc2dfcb685f052b9e262f446482afaf4bffca", size = 4459973 }, - { url = "https://files.pythonhosted.org/packages/7d/1b/c14b4197b80150fb64453585247e6fb2e1d93761fa0fa9cf63b102fde822/pillow-10.4.0-cp312-cp312-manylinux_2_28_aarch64.whl", hash = "sha256:f5b92f4d70791b4a67157321c4e8225d60b119c5cc9aee8ecf153aace4aad4ef", size = 4370054 }, - { url = "https://files.pythonhosted.org/packages/55/77/40daddf677897a923d5d33329acd52a2144d54a9644f2a5422c028c6bf2d/pillow-10.4.0-cp312-cp312-manylinux_2_28_x86_64.whl", hash = "sha256:86dcb5a1eb778d8b25659d5e4341269e8590ad6b4e8b44d9f4b07f8d136c414a", size = 4539484 }, - { url = "https://files.pythonhosted.org/packages/40/54/90de3e4256b1207300fb2b1d7168dd912a2fb4b2401e439ba23c2b2cabde/pillow-10.4.0-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:780c072c2e11c9b2c7ca37f9a2ee8ba66f44367ac3e5c7832afcfe5104fd6d1b", size = 4477375 }, - { url = "https://files.pythonhosted.org/packages/13/24/1bfba52f44193860918ff7c93d03d95e3f8748ca1de3ceaf11157a14cf16/pillow-10.4.0-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:37fb69d905be665f68f28a8bba3c6d3223c8efe1edf14cc4cfa06c241f8c81d9", size = 4608773 }, - { url = "https://files.pythonhosted.org/packages/55/04/5e6de6e6120451ec0c24516c41dbaf80cce1b6451f96561235ef2429da2e/pillow-10.4.0-cp312-cp312-win32.whl", hash = "sha256:7dfecdbad5c301d7b5bde160150b4db4c659cee2b69589705b6f8a0c509d9f42", size = 2235690 }, - { url = "https://files.pythonhosted.org/packages/74/0a/d4ce3c44bca8635bd29a2eab5aa181b654a734a29b263ca8efe013beea98/pillow-10.4.0-cp312-cp312-win_amd64.whl", hash = "sha256:1d846aea995ad352d4bdcc847535bd56e0fd88d36829d2c90be880ef1ee4668a", size = 2554951 }, - { url = "https://files.pythonhosted.org/packages/b5/ca/184349ee40f2e92439be9b3502ae6cfc43ac4b50bc4fc6b3de7957563894/pillow-10.4.0-cp312-cp312-win_arm64.whl", hash = "sha256:e553cad5179a66ba15bb18b353a19020e73a7921296a7979c4a2b7f6a5cd57f9", size = 2243427 }, - { url = "https://files.pythonhosted.org/packages/c3/00/706cebe7c2c12a6318aabe5d354836f54adff7156fd9e1bd6c89f4ba0e98/pillow-10.4.0-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:8bc1a764ed8c957a2e9cacf97c8b2b053b70307cf2996aafd70e91a082e70df3", size = 3525685 }, - { url = "https://files.pythonhosted.org/packages/cf/76/f658cbfa49405e5ecbfb9ba42d07074ad9792031267e782d409fd8fe7c69/pillow-10.4.0-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:6209bb41dc692ddfee4942517c19ee81b86c864b626dbfca272ec0f7cff5d9fb", size = 3374883 }, - { url = "https://files.pythonhosted.org/packages/46/2b/99c28c4379a85e65378211971c0b430d9c7234b1ec4d59b2668f6299e011/pillow-10.4.0-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:bee197b30783295d2eb680b311af15a20a8b24024a19c3a26431ff83eb8d1f70", size = 4339837 }, - { url = "https://files.pythonhosted.org/packages/f1/74/b1ec314f624c0c43711fdf0d8076f82d9d802afd58f1d62c2a86878e8615/pillow-10.4.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:1ef61f5dd14c300786318482456481463b9d6b91ebe5ef12f405afbba77ed0be", size = 4455562 }, - { url = "https://files.pythonhosted.org/packages/4a/2a/4b04157cb7b9c74372fa867096a1607e6fedad93a44deeff553ccd307868/pillow-10.4.0-cp313-cp313-manylinux_2_28_aarch64.whl", hash = "sha256:297e388da6e248c98bc4a02e018966af0c5f92dfacf5a5ca22fa01cb3179bca0", size = 4366761 }, - { url = "https://files.pythonhosted.org/packages/ac/7b/8f1d815c1a6a268fe90481232c98dd0e5fa8c75e341a75f060037bd5ceae/pillow-10.4.0-cp313-cp313-manylinux_2_28_x86_64.whl", hash = "sha256:e4db64794ccdf6cb83a59d73405f63adbe2a1887012e308828596100a0b2f6cc", size = 4536767 }, - { url = "https://files.pythonhosted.org/packages/e5/77/05fa64d1f45d12c22c314e7b97398ffb28ef2813a485465017b7978b3ce7/pillow-10.4.0-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:bd2880a07482090a3bcb01f4265f1936a903d70bc740bfcb1fd4e8a2ffe5cf5a", size = 4477989 }, - { url = "https://files.pythonhosted.org/packages/12/63/b0397cfc2caae05c3fb2f4ed1b4fc4fc878f0243510a7a6034ca59726494/pillow-10.4.0-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:4b35b21b819ac1dbd1233317adeecd63495f6babf21b7b2512d244ff6c6ce309", size = 4610255 }, - { url = "https://files.pythonhosted.org/packages/7b/f9/cfaa5082ca9bc4a6de66ffe1c12c2d90bf09c309a5f52b27759a596900e7/pillow-10.4.0-cp313-cp313-win32.whl", hash = "sha256:551d3fd6e9dc15e4c1eb6fc4ba2b39c0c7933fa113b220057a34f4bb3268a060", size = 2235603 }, - { url = "https://files.pythonhosted.org/packages/01/6a/30ff0eef6e0c0e71e55ded56a38d4859bf9d3634a94a88743897b5f96936/pillow-10.4.0-cp313-cp313-win_amd64.whl", hash = "sha256:030abdbe43ee02e0de642aee345efa443740aa4d828bfe8e2eb11922ea6a21ea", size = 2554972 }, - { url = "https://files.pythonhosted.org/packages/48/2c/2e0a52890f269435eee38b21c8218e102c621fe8d8df8b9dd06fabf879ba/pillow-10.4.0-cp313-cp313-win_arm64.whl", hash = "sha256:5b001114dd152cfd6b23befeb28d7aee43553e2402c9f159807bf55f33af8a8d", size = 2243375 }, - { url = "https://files.pythonhosted.org/packages/56/70/f40009702a477ce87d8d9faaa4de51d6562b3445d7a314accd06e4ffb01d/pillow-10.4.0-cp38-cp38-macosx_10_10_x86_64.whl", hash = "sha256:8d4d5063501b6dd4024b8ac2f04962d661222d120381272deea52e3fc52d3736", size = 3509213 }, - { url = "https://files.pythonhosted.org/packages/10/43/105823d233c5e5d31cea13428f4474ded9d961652307800979a59d6a4276/pillow-10.4.0-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:7c1ee6f42250df403c5f103cbd2768a28fe1a0ea1f0f03fe151c8741e1469c8b", size = 3375883 }, - { url = "https://files.pythonhosted.org/packages/3c/ad/7850c10bac468a20c918f6a5dbba9ecd106ea1cdc5db3c35e33a60570408/pillow-10.4.0-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:b15e02e9bb4c21e39876698abf233c8c579127986f8207200bc8a8f6bb27acf2", size = 4330810 }, - { url = "https://files.pythonhosted.org/packages/84/4c/69bbed9e436ac22f9ed193a2b64f64d68fcfbc9f4106249dc7ed4889907b/pillow-10.4.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:7a8d4bade9952ea9a77d0c3e49cbd8b2890a399422258a77f357b9cc9be8d680", size = 4444341 }, - { url = "https://files.pythonhosted.org/packages/8f/4f/c183c63828a3f37bf09644ce94cbf72d4929b033b109160a5379c2885932/pillow-10.4.0-cp38-cp38-manylinux_2_28_aarch64.whl", hash = "sha256:43efea75eb06b95d1631cb784aa40156177bf9dd5b4b03ff38979e048258bc6b", size = 4356005 }, - { url = "https://files.pythonhosted.org/packages/fb/ad/435fe29865f98a8fbdc64add8875a6e4f8c97749a93577a8919ec6f32c64/pillow-10.4.0-cp38-cp38-manylinux_2_28_x86_64.whl", hash = "sha256:950be4d8ba92aca4b2bb0741285a46bfae3ca699ef913ec8416c1b78eadd64cd", size = 4525201 }, - { url = "https://files.pythonhosted.org/packages/80/74/be8bf8acdfd70e91f905a12ae13cfb2e17c0f1da745c40141e26d0971ff5/pillow-10.4.0-cp38-cp38-musllinux_1_2_aarch64.whl", hash = "sha256:d7480af14364494365e89d6fddc510a13e5a2c3584cb19ef65415ca57252fb84", size = 4460635 }, - { url = "https://files.pythonhosted.org/packages/e4/90/763616e66dc9ad59c9b7fb58f863755e7934ef122e52349f62c7742b82d3/pillow-10.4.0-cp38-cp38-musllinux_1_2_x86_64.whl", hash = "sha256:73664fe514b34c8f02452ffb73b7a92c6774e39a647087f83d67f010eb9a0cf0", size = 4590283 }, - { url = "https://files.pythonhosted.org/packages/69/66/03002cb5b2c27bb519cba63b9f9aa3709c6f7a5d3b285406c01f03fb77e5/pillow-10.4.0-cp38-cp38-win32.whl", hash = "sha256:e88d5e6ad0d026fba7bdab8c3f225a69f063f116462c49892b0149e21b6c0a0e", size = 2235185 }, - { url = "https://files.pythonhosted.org/packages/f2/75/3cb820b2812405fc7feb3d0deb701ef0c3de93dc02597115e00704591bc9/pillow-10.4.0-cp38-cp38-win_amd64.whl", hash = "sha256:5161eef006d335e46895297f642341111945e2c1c899eb406882a6c61a4357ab", size = 2554594 }, - { url = "https://files.pythonhosted.org/packages/31/85/955fa5400fa8039921f630372cfe5056eed6e1b8e0430ee4507d7de48832/pillow-10.4.0-cp39-cp39-macosx_10_10_x86_64.whl", hash = "sha256:0ae24a547e8b711ccaaf99c9ae3cd975470e1a30caa80a6aaee9a2f19c05701d", size = 3509283 }, - { url = "https://files.pythonhosted.org/packages/23/9c/343827267eb28d41cd82b4180d33b10d868af9077abcec0af9793aa77d2d/pillow-10.4.0-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:298478fe4f77a4408895605f3482b6cc6222c018b2ce565c2b6b9c354ac3229b", size = 3375691 }, - { url = "https://files.pythonhosted.org/packages/60/a3/7ebbeabcd341eab722896d1a5b59a3df98c4b4d26cf4b0385f8aa94296f7/pillow-10.4.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:134ace6dc392116566980ee7436477d844520a26a4b1bd4053f6f47d096997fd", size = 4328295 }, - { url = "https://files.pythonhosted.org/packages/32/3f/c02268d0c6fb6b3958bdda673c17b315c821d97df29ae6969f20fb49388a/pillow-10.4.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:930044bb7679ab003b14023138b50181899da3f25de50e9dbee23b61b4de2126", size = 4440810 }, - { url = "https://files.pythonhosted.org/packages/67/5d/1c93c8cc35f2fdd3d6cc7e4ad72d203902859a2867de6ad957d9b708eb8d/pillow-10.4.0-cp39-cp39-manylinux_2_28_aarch64.whl", hash = "sha256:c76e5786951e72ed3686e122d14c5d7012f16c8303a674d18cdcd6d89557fc5b", size = 4352283 }, - { url = "https://files.pythonhosted.org/packages/bc/a8/8655557c9c7202b8abbd001f61ff36711cefaf750debcaa1c24d154ef602/pillow-10.4.0-cp39-cp39-manylinux_2_28_x86_64.whl", hash = "sha256:b2724fdb354a868ddf9a880cb84d102da914e99119211ef7ecbdc613b8c96b3c", size = 4521800 }, - { url = "https://files.pythonhosted.org/packages/58/78/6f95797af64d137124f68af1bdaa13b5332da282b86031f6fa70cf368261/pillow-10.4.0-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:dbc6ae66518ab3c5847659e9988c3b60dc94ffb48ef9168656e0019a93dbf8a1", size = 4459177 }, - { url = "https://files.pythonhosted.org/packages/8a/6d/2b3ce34f1c4266d79a78c9a51d1289a33c3c02833fe294ef0dcbb9cba4ed/pillow-10.4.0-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:06b2f7898047ae93fad74467ec3d28fe84f7831370e3c258afa533f81ef7f3df", size = 4589079 }, - { url = "https://files.pythonhosted.org/packages/e3/e0/456258c74da1ff5bf8ef1eab06a95ca994d8b9ed44c01d45c3f8cbd1db7e/pillow-10.4.0-cp39-cp39-win32.whl", hash = "sha256:7970285ab628a3779aecc35823296a7869f889b8329c16ad5a71e4901a3dc4ef", size = 2235247 }, - { url = "https://files.pythonhosted.org/packages/37/f8/bef952bdb32aa53741f58bf21798642209e994edc3f6598f337f23d5400a/pillow-10.4.0-cp39-cp39-win_amd64.whl", hash = "sha256:961a7293b2457b405967af9c77dcaa43cc1a8cd50d23c532e62d48ab6cdd56f5", size = 2554479 }, - { url = "https://files.pythonhosted.org/packages/bb/8e/805201619cad6651eef5fc1fdef913804baf00053461522fabbc5588ea12/pillow-10.4.0-cp39-cp39-win_arm64.whl", hash = "sha256:32cda9e3d601a52baccb2856b8ea1fc213c90b340c542dcef77140dfa3278a9e", size = 2243226 }, - { url = "https://files.pythonhosted.org/packages/38/30/095d4f55f3a053392f75e2eae45eba3228452783bab3d9a920b951ac495c/pillow-10.4.0-pp310-pypy310_pp73-macosx_10_15_x86_64.whl", hash = "sha256:5b4815f2e65b30f5fbae9dfffa8636d992d49705723fe86a3661806e069352d4", size = 3493889 }, - { url = "https://files.pythonhosted.org/packages/f3/e8/4ff79788803a5fcd5dc35efdc9386af153569853767bff74540725b45863/pillow-10.4.0-pp310-pypy310_pp73-macosx_11_0_arm64.whl", hash = "sha256:8f0aef4ef59694b12cadee839e2ba6afeab89c0f39a3adc02ed51d109117b8da", size = 3346160 }, - { url = "https://files.pythonhosted.org/packages/d7/ac/4184edd511b14f760c73f5bb8a5d6fd85c591c8aff7c2229677a355c4179/pillow-10.4.0-pp310-pypy310_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:9f4727572e2918acaa9077c919cbbeb73bd2b3ebcfe033b72f858fc9fbef0026", size = 3435020 }, - { url = "https://files.pythonhosted.org/packages/da/21/1749cd09160149c0a246a81d646e05f35041619ce76f6493d6a96e8d1103/pillow-10.4.0-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ff25afb18123cea58a591ea0244b92eb1e61a1fd497bf6d6384f09bc3262ec3e", size = 3490539 }, - { url = "https://files.pythonhosted.org/packages/b6/f5/f71fe1888b96083b3f6dfa0709101f61fc9e972c0c8d04e9d93ccef2a045/pillow-10.4.0-pp310-pypy310_pp73-manylinux_2_28_aarch64.whl", hash = "sha256:dc3e2db6ba09ffd7d02ae9141cfa0ae23393ee7687248d46a7507b75d610f4f5", size = 3476125 }, - { url = "https://files.pythonhosted.org/packages/96/b9/c0362c54290a31866c3526848583a2f45a535aa9d725fd31e25d318c805f/pillow-10.4.0-pp310-pypy310_pp73-manylinux_2_28_x86_64.whl", hash = "sha256:02a2be69f9c9b8c1e97cf2713e789d4e398c751ecfd9967c18d0ce304efbf885", size = 3579373 }, - { url = "https://files.pythonhosted.org/packages/52/3b/ce7a01026a7cf46e5452afa86f97a5e88ca97f562cafa76570178ab56d8d/pillow-10.4.0-pp310-pypy310_pp73-win_amd64.whl", hash = "sha256:0755ffd4a0c6f267cccbae2e9903d95477ca2f77c4fcf3a3a09570001856c8a5", size = 2554661 }, - { url = "https://files.pythonhosted.org/packages/e1/1f/5a9fcd6ced51633c22481417e11b1b47d723f64fb536dfd67c015eb7f0ab/pillow-10.4.0-pp39-pypy39_pp73-macosx_10_15_x86_64.whl", hash = "sha256:a02364621fe369e06200d4a16558e056fe2805d3468350df3aef21e00d26214b", size = 3493850 }, - { url = "https://files.pythonhosted.org/packages/cb/e6/3ea4755ed5320cb62aa6be2f6de47b058c6550f752dd050e86f694c59798/pillow-10.4.0-pp39-pypy39_pp73-macosx_11_0_arm64.whl", hash = "sha256:1b5dea9831a90e9d0721ec417a80d4cbd7022093ac38a568db2dd78363b00908", size = 3346118 }, - { url = "https://files.pythonhosted.org/packages/0a/22/492f9f61e4648422b6ca39268ec8139277a5b34648d28f400faac14e0f48/pillow-10.4.0-pp39-pypy39_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:9b885f89040bb8c4a1573566bbb2f44f5c505ef6e74cec7ab9068c900047f04b", size = 3434958 }, - { url = "https://files.pythonhosted.org/packages/f9/19/559a48ad4045704bb0547965b9a9345f5cd461347d977a56d178db28819e/pillow-10.4.0-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:87dd88ded2e6d74d31e1e0a99a726a6765cda32d00ba72dc37f0651f306daaa8", size = 3490340 }, - { url = "https://files.pythonhosted.org/packages/d9/de/cebaca6fb79905b3a1aa0281d238769df3fb2ede34fd7c0caa286575915a/pillow-10.4.0-pp39-pypy39_pp73-manylinux_2_28_aarch64.whl", hash = "sha256:2db98790afc70118bd0255c2eeb465e9767ecf1f3c25f9a1abb8ffc8cfd1fe0a", size = 3476048 }, - { url = "https://files.pythonhosted.org/packages/71/f0/86d5b2f04693b0116a01d75302b0a307800a90d6c351a8aa4f8ae76cd499/pillow-10.4.0-pp39-pypy39_pp73-manylinux_2_28_x86_64.whl", hash = "sha256:f7baece4ce06bade126fb84b8af1c33439a76d8a6fd818970215e0560ca28c27", size = 3579366 }, - { url = "https://files.pythonhosted.org/packages/37/ae/2dbfc38cc4fd14aceea14bc440d5151b21f64c4c3ba3f6f4191610b7ee5d/pillow-10.4.0-pp39-pypy39_pp73-win_amd64.whl", hash = "sha256:cfdd747216947628af7b259d274771d84db2268ca062dd5faf373639d00113a3", size = 2554652 }, +sdist = { url = "https://files.pythonhosted.org/packages/cd/74/ad3d526f3bf7b6d3f408b73fde271ec69dfac8b81341a318ce825f2b3812/pillow-10.4.0.tar.gz", hash = "sha256:166c1cd4d24309b30d61f79f4a9114b7b2313d7450912277855ff5dfd7cd4a06", size = 46555059, upload-time = "2024-07-01T09:48:43.583Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/0e/69/a31cccd538ca0b5272be2a38347f8839b97a14be104ea08b0db92f749c74/pillow-10.4.0-cp310-cp310-macosx_10_10_x86_64.whl", hash = "sha256:4d9667937cfa347525b319ae34375c37b9ee6b525440f3ef48542fcf66f2731e", size = 3509271, upload-time = "2024-07-01T09:45:22.07Z" }, + { url = "https://files.pythonhosted.org/packages/9a/9e/4143b907be8ea0bce215f2ae4f7480027473f8b61fcedfda9d851082a5d2/pillow-10.4.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:543f3dc61c18dafb755773efc89aae60d06b6596a63914107f75459cf984164d", size = 3375658, upload-time = "2024-07-01T09:45:25.292Z" }, + { url = "https://files.pythonhosted.org/packages/8a/25/1fc45761955f9359b1169aa75e241551e74ac01a09f487adaaf4c3472d11/pillow-10.4.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:7928ecbf1ece13956b95d9cbcfc77137652b02763ba384d9ab508099a2eca856", size = 4332075, upload-time = "2024-07-01T09:45:27.94Z" }, + { url = "https://files.pythonhosted.org/packages/5e/dd/425b95d0151e1d6c951f45051112394f130df3da67363b6bc75dc4c27aba/pillow-10.4.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:e4d49b85c4348ea0b31ea63bc75a9f3857869174e2bf17e7aba02945cd218e6f", size = 4444808, upload-time = "2024-07-01T09:45:30.305Z" }, + { url = "https://files.pythonhosted.org/packages/b1/84/9a15cc5726cbbfe7f9f90bfb11f5d028586595907cd093815ca6644932e3/pillow-10.4.0-cp310-cp310-manylinux_2_28_aarch64.whl", hash = "sha256:6c762a5b0997f5659a5ef2266abc1d8851ad7749ad9a6a5506eb23d314e4f46b", size = 4356290, upload-time = "2024-07-01T09:45:32.868Z" }, + { url = "https://files.pythonhosted.org/packages/b5/5b/6651c288b08df3b8c1e2f8c1152201e0b25d240e22ddade0f1e242fc9fa0/pillow-10.4.0-cp310-cp310-manylinux_2_28_x86_64.whl", hash = "sha256:a985e028fc183bf12a77a8bbf36318db4238a3ded7fa9df1b9a133f1cb79f8fc", size = 4525163, upload-time = "2024-07-01T09:45:35.279Z" }, + { url = "https://files.pythonhosted.org/packages/07/8b/34854bf11a83c248505c8cb0fcf8d3d0b459a2246c8809b967963b6b12ae/pillow-10.4.0-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:812f7342b0eee081eaec84d91423d1b4650bb9828eb53d8511bcef8ce5aecf1e", size = 4463100, upload-time = "2024-07-01T09:45:37.74Z" }, + { url = "https://files.pythonhosted.org/packages/78/63/0632aee4e82476d9cbe5200c0cdf9ba41ee04ed77887432845264d81116d/pillow-10.4.0-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:ac1452d2fbe4978c2eec89fb5a23b8387aba707ac72810d9490118817d9c0b46", size = 4592880, upload-time = "2024-07-01T09:45:39.89Z" }, + { url = "https://files.pythonhosted.org/packages/df/56/b8663d7520671b4398b9d97e1ed9f583d4afcbefbda3c6188325e8c297bd/pillow-10.4.0-cp310-cp310-win32.whl", hash = "sha256:bcd5e41a859bf2e84fdc42f4edb7d9aba0a13d29a2abadccafad99de3feff984", size = 2235218, upload-time = "2024-07-01T09:45:42.771Z" }, + { url = "https://files.pythonhosted.org/packages/f4/72/0203e94a91ddb4a9d5238434ae6c1ca10e610e8487036132ea9bf806ca2a/pillow-10.4.0-cp310-cp310-win_amd64.whl", hash = "sha256:ecd85a8d3e79cd7158dec1c9e5808e821feea088e2f69a974db5edf84dc53141", size = 2554487, upload-time = "2024-07-01T09:45:45.176Z" }, + { url = "https://files.pythonhosted.org/packages/bd/52/7e7e93d7a6e4290543f17dc6f7d3af4bd0b3dd9926e2e8a35ac2282bc5f4/pillow-10.4.0-cp310-cp310-win_arm64.whl", hash = "sha256:ff337c552345e95702c5fde3158acb0625111017d0e5f24bf3acdb9cc16b90d1", size = 2243219, upload-time = "2024-07-01T09:45:47.274Z" }, + { url = "https://files.pythonhosted.org/packages/a7/62/c9449f9c3043c37f73e7487ec4ef0c03eb9c9afc91a92b977a67b3c0bbc5/pillow-10.4.0-cp311-cp311-macosx_10_10_x86_64.whl", hash = "sha256:0a9ec697746f268507404647e531e92889890a087e03681a3606d9b920fbee3c", size = 3509265, upload-time = "2024-07-01T09:45:49.812Z" }, + { url = "https://files.pythonhosted.org/packages/f4/5f/491dafc7bbf5a3cc1845dc0430872e8096eb9e2b6f8161509d124594ec2d/pillow-10.4.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:dfe91cb65544a1321e631e696759491ae04a2ea11d36715eca01ce07284738be", size = 3375655, upload-time = "2024-07-01T09:45:52.462Z" }, + { url = "https://files.pythonhosted.org/packages/73/d5/c4011a76f4207a3c151134cd22a1415741e42fa5ddecec7c0182887deb3d/pillow-10.4.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:5dc6761a6efc781e6a1544206f22c80c3af4c8cf461206d46a1e6006e4429ff3", size = 4340304, upload-time = "2024-07-01T09:45:55.006Z" }, + { url = "https://files.pythonhosted.org/packages/ac/10/c67e20445a707f7a610699bba4fe050583b688d8cd2d202572b257f46600/pillow-10.4.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:5e84b6cc6a4a3d76c153a6b19270b3526a5a8ed6b09501d3af891daa2a9de7d6", size = 4452804, upload-time = "2024-07-01T09:45:58.437Z" }, + { url = "https://files.pythonhosted.org/packages/a9/83/6523837906d1da2b269dee787e31df3b0acb12e3d08f024965a3e7f64665/pillow-10.4.0-cp311-cp311-manylinux_2_28_aarch64.whl", hash = "sha256:bbc527b519bd3aa9d7f429d152fea69f9ad37c95f0b02aebddff592688998abe", size = 4365126, upload-time = "2024-07-01T09:46:00.713Z" }, + { url = "https://files.pythonhosted.org/packages/ba/e5/8c68ff608a4203085158cff5cc2a3c534ec384536d9438c405ed6370d080/pillow-10.4.0-cp311-cp311-manylinux_2_28_x86_64.whl", hash = "sha256:76a911dfe51a36041f2e756b00f96ed84677cdeb75d25c767f296c1c1eda1319", size = 4533541, upload-time = "2024-07-01T09:46:03.235Z" }, + { url = "https://files.pythonhosted.org/packages/f4/7c/01b8dbdca5bc6785573f4cee96e2358b0918b7b2c7b60d8b6f3abf87a070/pillow-10.4.0-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:59291fb29317122398786c2d44427bbd1a6d7ff54017075b22be9d21aa59bd8d", size = 4471616, upload-time = "2024-07-01T09:46:05.356Z" }, + { url = "https://files.pythonhosted.org/packages/c8/57/2899b82394a35a0fbfd352e290945440e3b3785655a03365c0ca8279f351/pillow-10.4.0-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:416d3a5d0e8cfe4f27f574362435bc9bae57f679a7158e0096ad2beb427b8696", size = 4600802, upload-time = "2024-07-01T09:46:08.145Z" }, + { url = "https://files.pythonhosted.org/packages/4d/d7/a44f193d4c26e58ee5d2d9db3d4854b2cfb5b5e08d360a5e03fe987c0086/pillow-10.4.0-cp311-cp311-win32.whl", hash = "sha256:7086cc1d5eebb91ad24ded9f58bec6c688e9f0ed7eb3dbbf1e4800280a896496", size = 2235213, upload-time = "2024-07-01T09:46:10.211Z" }, + { url = "https://files.pythonhosted.org/packages/c1/d0/5866318eec2b801cdb8c82abf190c8343d8a1cd8bf5a0c17444a6f268291/pillow-10.4.0-cp311-cp311-win_amd64.whl", hash = "sha256:cbed61494057c0f83b83eb3a310f0bf774b09513307c434d4366ed64f4128a91", size = 2554498, upload-time = "2024-07-01T09:46:12.685Z" }, + { url = "https://files.pythonhosted.org/packages/d4/c8/310ac16ac2b97e902d9eb438688de0d961660a87703ad1561fd3dfbd2aa0/pillow-10.4.0-cp311-cp311-win_arm64.whl", hash = "sha256:f5f0c3e969c8f12dd2bb7e0b15d5c468b51e5017e01e2e867335c81903046a22", size = 2243219, upload-time = "2024-07-01T09:46:14.83Z" }, + { url = "https://files.pythonhosted.org/packages/05/cb/0353013dc30c02a8be34eb91d25e4e4cf594b59e5a55ea1128fde1e5f8ea/pillow-10.4.0-cp312-cp312-macosx_10_10_x86_64.whl", hash = "sha256:673655af3eadf4df6b5457033f086e90299fdd7a47983a13827acf7459c15d94", size = 3509350, upload-time = "2024-07-01T09:46:17.177Z" }, + { url = "https://files.pythonhosted.org/packages/e7/cf/5c558a0f247e0bf9cec92bff9b46ae6474dd736f6d906315e60e4075f737/pillow-10.4.0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:866b6942a92f56300012f5fbac71f2d610312ee65e22f1aa2609e491284e5597", size = 3374980, upload-time = "2024-07-01T09:46:19.169Z" }, + { url = "https://files.pythonhosted.org/packages/84/48/6e394b86369a4eb68b8a1382c78dc092245af517385c086c5094e3b34428/pillow-10.4.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:29dbdc4207642ea6aad70fbde1a9338753d33fb23ed6956e706936706f52dd80", size = 4343799, upload-time = "2024-07-01T09:46:21.883Z" }, + { url = "https://files.pythonhosted.org/packages/3b/f3/a8c6c11fa84b59b9df0cd5694492da8c039a24cd159f0f6918690105c3be/pillow-10.4.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:bf2342ac639c4cf38799a44950bbc2dfcb685f052b9e262f446482afaf4bffca", size = 4459973, upload-time = "2024-07-01T09:46:24.321Z" }, + { url = "https://files.pythonhosted.org/packages/7d/1b/c14b4197b80150fb64453585247e6fb2e1d93761fa0fa9cf63b102fde822/pillow-10.4.0-cp312-cp312-manylinux_2_28_aarch64.whl", hash = "sha256:f5b92f4d70791b4a67157321c4e8225d60b119c5cc9aee8ecf153aace4aad4ef", size = 4370054, upload-time = "2024-07-01T09:46:26.825Z" }, + { url = "https://files.pythonhosted.org/packages/55/77/40daddf677897a923d5d33329acd52a2144d54a9644f2a5422c028c6bf2d/pillow-10.4.0-cp312-cp312-manylinux_2_28_x86_64.whl", hash = "sha256:86dcb5a1eb778d8b25659d5e4341269e8590ad6b4e8b44d9f4b07f8d136c414a", size = 4539484, upload-time = "2024-07-01T09:46:29.355Z" }, + { url = "https://files.pythonhosted.org/packages/40/54/90de3e4256b1207300fb2b1d7168dd912a2fb4b2401e439ba23c2b2cabde/pillow-10.4.0-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:780c072c2e11c9b2c7ca37f9a2ee8ba66f44367ac3e5c7832afcfe5104fd6d1b", size = 4477375, upload-time = "2024-07-01T09:46:31.756Z" }, + { url = "https://files.pythonhosted.org/packages/13/24/1bfba52f44193860918ff7c93d03d95e3f8748ca1de3ceaf11157a14cf16/pillow-10.4.0-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:37fb69d905be665f68f28a8bba3c6d3223c8efe1edf14cc4cfa06c241f8c81d9", size = 4608773, upload-time = "2024-07-01T09:46:33.73Z" }, + { url = "https://files.pythonhosted.org/packages/55/04/5e6de6e6120451ec0c24516c41dbaf80cce1b6451f96561235ef2429da2e/pillow-10.4.0-cp312-cp312-win32.whl", hash = "sha256:7dfecdbad5c301d7b5bde160150b4db4c659cee2b69589705b6f8a0c509d9f42", size = 2235690, upload-time = "2024-07-01T09:46:36.587Z" }, + { url = "https://files.pythonhosted.org/packages/74/0a/d4ce3c44bca8635bd29a2eab5aa181b654a734a29b263ca8efe013beea98/pillow-10.4.0-cp312-cp312-win_amd64.whl", hash = "sha256:1d846aea995ad352d4bdcc847535bd56e0fd88d36829d2c90be880ef1ee4668a", size = 2554951, upload-time = "2024-07-01T09:46:38.777Z" }, + { url = "https://files.pythonhosted.org/packages/b5/ca/184349ee40f2e92439be9b3502ae6cfc43ac4b50bc4fc6b3de7957563894/pillow-10.4.0-cp312-cp312-win_arm64.whl", hash = "sha256:e553cad5179a66ba15bb18b353a19020e73a7921296a7979c4a2b7f6a5cd57f9", size = 2243427, upload-time = "2024-07-01T09:46:43.15Z" }, + { url = "https://files.pythonhosted.org/packages/c3/00/706cebe7c2c12a6318aabe5d354836f54adff7156fd9e1bd6c89f4ba0e98/pillow-10.4.0-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:8bc1a764ed8c957a2e9cacf97c8b2b053b70307cf2996aafd70e91a082e70df3", size = 3525685, upload-time = "2024-07-01T09:46:45.194Z" }, + { url = "https://files.pythonhosted.org/packages/cf/76/f658cbfa49405e5ecbfb9ba42d07074ad9792031267e782d409fd8fe7c69/pillow-10.4.0-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:6209bb41dc692ddfee4942517c19ee81b86c864b626dbfca272ec0f7cff5d9fb", size = 3374883, upload-time = "2024-07-01T09:46:47.331Z" }, + { url = "https://files.pythonhosted.org/packages/46/2b/99c28c4379a85e65378211971c0b430d9c7234b1ec4d59b2668f6299e011/pillow-10.4.0-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:bee197b30783295d2eb680b311af15a20a8b24024a19c3a26431ff83eb8d1f70", size = 4339837, upload-time = "2024-07-01T09:46:49.647Z" }, + { url = "https://files.pythonhosted.org/packages/f1/74/b1ec314f624c0c43711fdf0d8076f82d9d802afd58f1d62c2a86878e8615/pillow-10.4.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:1ef61f5dd14c300786318482456481463b9d6b91ebe5ef12f405afbba77ed0be", size = 4455562, upload-time = "2024-07-01T09:46:51.811Z" }, + { url = "https://files.pythonhosted.org/packages/4a/2a/4b04157cb7b9c74372fa867096a1607e6fedad93a44deeff553ccd307868/pillow-10.4.0-cp313-cp313-manylinux_2_28_aarch64.whl", hash = "sha256:297e388da6e248c98bc4a02e018966af0c5f92dfacf5a5ca22fa01cb3179bca0", size = 4366761, upload-time = "2024-07-01T09:46:53.961Z" }, + { url = "https://files.pythonhosted.org/packages/ac/7b/8f1d815c1a6a268fe90481232c98dd0e5fa8c75e341a75f060037bd5ceae/pillow-10.4.0-cp313-cp313-manylinux_2_28_x86_64.whl", hash = "sha256:e4db64794ccdf6cb83a59d73405f63adbe2a1887012e308828596100a0b2f6cc", size = 4536767, upload-time = "2024-07-01T09:46:56.664Z" }, + { url = "https://files.pythonhosted.org/packages/e5/77/05fa64d1f45d12c22c314e7b97398ffb28ef2813a485465017b7978b3ce7/pillow-10.4.0-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:bd2880a07482090a3bcb01f4265f1936a903d70bc740bfcb1fd4e8a2ffe5cf5a", size = 4477989, upload-time = "2024-07-01T09:46:58.977Z" }, + { url = "https://files.pythonhosted.org/packages/12/63/b0397cfc2caae05c3fb2f4ed1b4fc4fc878f0243510a7a6034ca59726494/pillow-10.4.0-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:4b35b21b819ac1dbd1233317adeecd63495f6babf21b7b2512d244ff6c6ce309", size = 4610255, upload-time = "2024-07-01T09:47:01.189Z" }, + { url = "https://files.pythonhosted.org/packages/7b/f9/cfaa5082ca9bc4a6de66ffe1c12c2d90bf09c309a5f52b27759a596900e7/pillow-10.4.0-cp313-cp313-win32.whl", hash = "sha256:551d3fd6e9dc15e4c1eb6fc4ba2b39c0c7933fa113b220057a34f4bb3268a060", size = 2235603, upload-time = "2024-07-01T09:47:03.918Z" }, + { url = "https://files.pythonhosted.org/packages/01/6a/30ff0eef6e0c0e71e55ded56a38d4859bf9d3634a94a88743897b5f96936/pillow-10.4.0-cp313-cp313-win_amd64.whl", hash = "sha256:030abdbe43ee02e0de642aee345efa443740aa4d828bfe8e2eb11922ea6a21ea", size = 2554972, upload-time = "2024-07-01T09:47:06.152Z" }, + { url = "https://files.pythonhosted.org/packages/48/2c/2e0a52890f269435eee38b21c8218e102c621fe8d8df8b9dd06fabf879ba/pillow-10.4.0-cp313-cp313-win_arm64.whl", hash = "sha256:5b001114dd152cfd6b23befeb28d7aee43553e2402c9f159807bf55f33af8a8d", size = 2243375, upload-time = "2024-07-01T09:47:09.065Z" }, + { url = "https://files.pythonhosted.org/packages/56/70/f40009702a477ce87d8d9faaa4de51d6562b3445d7a314accd06e4ffb01d/pillow-10.4.0-cp38-cp38-macosx_10_10_x86_64.whl", hash = "sha256:8d4d5063501b6dd4024b8ac2f04962d661222d120381272deea52e3fc52d3736", size = 3509213, upload-time = "2024-07-01T09:47:11.662Z" }, + { url = "https://files.pythonhosted.org/packages/10/43/105823d233c5e5d31cea13428f4474ded9d961652307800979a59d6a4276/pillow-10.4.0-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:7c1ee6f42250df403c5f103cbd2768a28fe1a0ea1f0f03fe151c8741e1469c8b", size = 3375883, upload-time = "2024-07-01T09:47:14.453Z" }, + { url = "https://files.pythonhosted.org/packages/3c/ad/7850c10bac468a20c918f6a5dbba9ecd106ea1cdc5db3c35e33a60570408/pillow-10.4.0-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:b15e02e9bb4c21e39876698abf233c8c579127986f8207200bc8a8f6bb27acf2", size = 4330810, upload-time = "2024-07-01T09:47:16.695Z" }, + { url = "https://files.pythonhosted.org/packages/84/4c/69bbed9e436ac22f9ed193a2b64f64d68fcfbc9f4106249dc7ed4889907b/pillow-10.4.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:7a8d4bade9952ea9a77d0c3e49cbd8b2890a399422258a77f357b9cc9be8d680", size = 4444341, upload-time = "2024-07-01T09:47:19.334Z" }, + { url = "https://files.pythonhosted.org/packages/8f/4f/c183c63828a3f37bf09644ce94cbf72d4929b033b109160a5379c2885932/pillow-10.4.0-cp38-cp38-manylinux_2_28_aarch64.whl", hash = "sha256:43efea75eb06b95d1631cb784aa40156177bf9dd5b4b03ff38979e048258bc6b", size = 4356005, upload-time = "2024-07-01T09:47:21.805Z" }, + { url = "https://files.pythonhosted.org/packages/fb/ad/435fe29865f98a8fbdc64add8875a6e4f8c97749a93577a8919ec6f32c64/pillow-10.4.0-cp38-cp38-manylinux_2_28_x86_64.whl", hash = "sha256:950be4d8ba92aca4b2bb0741285a46bfae3ca699ef913ec8416c1b78eadd64cd", size = 4525201, upload-time = "2024-07-01T09:47:24.457Z" }, + { url = "https://files.pythonhosted.org/packages/80/74/be8bf8acdfd70e91f905a12ae13cfb2e17c0f1da745c40141e26d0971ff5/pillow-10.4.0-cp38-cp38-musllinux_1_2_aarch64.whl", hash = "sha256:d7480af14364494365e89d6fddc510a13e5a2c3584cb19ef65415ca57252fb84", size = 4460635, upload-time = "2024-07-01T09:47:26.841Z" }, + { url = "https://files.pythonhosted.org/packages/e4/90/763616e66dc9ad59c9b7fb58f863755e7934ef122e52349f62c7742b82d3/pillow-10.4.0-cp38-cp38-musllinux_1_2_x86_64.whl", hash = "sha256:73664fe514b34c8f02452ffb73b7a92c6774e39a647087f83d67f010eb9a0cf0", size = 4590283, upload-time = "2024-07-01T09:47:29.247Z" }, + { url = "https://files.pythonhosted.org/packages/69/66/03002cb5b2c27bb519cba63b9f9aa3709c6f7a5d3b285406c01f03fb77e5/pillow-10.4.0-cp38-cp38-win32.whl", hash = "sha256:e88d5e6ad0d026fba7bdab8c3f225a69f063f116462c49892b0149e21b6c0a0e", size = 2235185, upload-time = "2024-07-01T09:47:32.205Z" }, + { url = "https://files.pythonhosted.org/packages/f2/75/3cb820b2812405fc7feb3d0deb701ef0c3de93dc02597115e00704591bc9/pillow-10.4.0-cp38-cp38-win_amd64.whl", hash = "sha256:5161eef006d335e46895297f642341111945e2c1c899eb406882a6c61a4357ab", size = 2554594, upload-time = "2024-07-01T09:47:34.285Z" }, + { url = "https://files.pythonhosted.org/packages/31/85/955fa5400fa8039921f630372cfe5056eed6e1b8e0430ee4507d7de48832/pillow-10.4.0-cp39-cp39-macosx_10_10_x86_64.whl", hash = "sha256:0ae24a547e8b711ccaaf99c9ae3cd975470e1a30caa80a6aaee9a2f19c05701d", size = 3509283, upload-time = "2024-07-01T09:47:36.394Z" }, + { url = "https://files.pythonhosted.org/packages/23/9c/343827267eb28d41cd82b4180d33b10d868af9077abcec0af9793aa77d2d/pillow-10.4.0-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:298478fe4f77a4408895605f3482b6cc6222c018b2ce565c2b6b9c354ac3229b", size = 3375691, upload-time = "2024-07-01T09:47:38.853Z" }, + { url = "https://files.pythonhosted.org/packages/60/a3/7ebbeabcd341eab722896d1a5b59a3df98c4b4d26cf4b0385f8aa94296f7/pillow-10.4.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:134ace6dc392116566980ee7436477d844520a26a4b1bd4053f6f47d096997fd", size = 4328295, upload-time = "2024-07-01T09:47:41.765Z" }, + { url = "https://files.pythonhosted.org/packages/32/3f/c02268d0c6fb6b3958bdda673c17b315c821d97df29ae6969f20fb49388a/pillow-10.4.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:930044bb7679ab003b14023138b50181899da3f25de50e9dbee23b61b4de2126", size = 4440810, upload-time = "2024-07-01T09:47:44.27Z" }, + { url = "https://files.pythonhosted.org/packages/67/5d/1c93c8cc35f2fdd3d6cc7e4ad72d203902859a2867de6ad957d9b708eb8d/pillow-10.4.0-cp39-cp39-manylinux_2_28_aarch64.whl", hash = "sha256:c76e5786951e72ed3686e122d14c5d7012f16c8303a674d18cdcd6d89557fc5b", size = 4352283, upload-time = "2024-07-01T09:47:46.673Z" }, + { url = "https://files.pythonhosted.org/packages/bc/a8/8655557c9c7202b8abbd001f61ff36711cefaf750debcaa1c24d154ef602/pillow-10.4.0-cp39-cp39-manylinux_2_28_x86_64.whl", hash = "sha256:b2724fdb354a868ddf9a880cb84d102da914e99119211ef7ecbdc613b8c96b3c", size = 4521800, upload-time = "2024-07-01T09:47:48.813Z" }, + { url = "https://files.pythonhosted.org/packages/58/78/6f95797af64d137124f68af1bdaa13b5332da282b86031f6fa70cf368261/pillow-10.4.0-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:dbc6ae66518ab3c5847659e9988c3b60dc94ffb48ef9168656e0019a93dbf8a1", size = 4459177, upload-time = "2024-07-01T09:47:52.104Z" }, + { url = "https://files.pythonhosted.org/packages/8a/6d/2b3ce34f1c4266d79a78c9a51d1289a33c3c02833fe294ef0dcbb9cba4ed/pillow-10.4.0-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:06b2f7898047ae93fad74467ec3d28fe84f7831370e3c258afa533f81ef7f3df", size = 4589079, upload-time = "2024-07-01T09:47:54.999Z" }, + { url = "https://files.pythonhosted.org/packages/e3/e0/456258c74da1ff5bf8ef1eab06a95ca994d8b9ed44c01d45c3f8cbd1db7e/pillow-10.4.0-cp39-cp39-win32.whl", hash = "sha256:7970285ab628a3779aecc35823296a7869f889b8329c16ad5a71e4901a3dc4ef", size = 2235247, upload-time = "2024-07-01T09:47:57.666Z" }, + { url = "https://files.pythonhosted.org/packages/37/f8/bef952bdb32aa53741f58bf21798642209e994edc3f6598f337f23d5400a/pillow-10.4.0-cp39-cp39-win_amd64.whl", hash = "sha256:961a7293b2457b405967af9c77dcaa43cc1a8cd50d23c532e62d48ab6cdd56f5", size = 2554479, upload-time = "2024-07-01T09:47:59.881Z" }, + { url = "https://files.pythonhosted.org/packages/bb/8e/805201619cad6651eef5fc1fdef913804baf00053461522fabbc5588ea12/pillow-10.4.0-cp39-cp39-win_arm64.whl", hash = "sha256:32cda9e3d601a52baccb2856b8ea1fc213c90b340c542dcef77140dfa3278a9e", size = 2243226, upload-time = "2024-07-01T09:48:02.508Z" }, + { url = "https://files.pythonhosted.org/packages/38/30/095d4f55f3a053392f75e2eae45eba3228452783bab3d9a920b951ac495c/pillow-10.4.0-pp310-pypy310_pp73-macosx_10_15_x86_64.whl", hash = "sha256:5b4815f2e65b30f5fbae9dfffa8636d992d49705723fe86a3661806e069352d4", size = 3493889, upload-time = "2024-07-01T09:48:04.815Z" }, + { url = "https://files.pythonhosted.org/packages/f3/e8/4ff79788803a5fcd5dc35efdc9386af153569853767bff74540725b45863/pillow-10.4.0-pp310-pypy310_pp73-macosx_11_0_arm64.whl", hash = "sha256:8f0aef4ef59694b12cadee839e2ba6afeab89c0f39a3adc02ed51d109117b8da", size = 3346160, upload-time = "2024-07-01T09:48:07.206Z" }, + { url = "https://files.pythonhosted.org/packages/d7/ac/4184edd511b14f760c73f5bb8a5d6fd85c591c8aff7c2229677a355c4179/pillow-10.4.0-pp310-pypy310_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:9f4727572e2918acaa9077c919cbbeb73bd2b3ebcfe033b72f858fc9fbef0026", size = 3435020, upload-time = "2024-07-01T09:48:09.66Z" }, + { url = "https://files.pythonhosted.org/packages/da/21/1749cd09160149c0a246a81d646e05f35041619ce76f6493d6a96e8d1103/pillow-10.4.0-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ff25afb18123cea58a591ea0244b92eb1e61a1fd497bf6d6384f09bc3262ec3e", size = 3490539, upload-time = "2024-07-01T09:48:12.529Z" }, + { url = "https://files.pythonhosted.org/packages/b6/f5/f71fe1888b96083b3f6dfa0709101f61fc9e972c0c8d04e9d93ccef2a045/pillow-10.4.0-pp310-pypy310_pp73-manylinux_2_28_aarch64.whl", hash = "sha256:dc3e2db6ba09ffd7d02ae9141cfa0ae23393ee7687248d46a7507b75d610f4f5", size = 3476125, upload-time = "2024-07-01T09:48:14.891Z" }, + { url = "https://files.pythonhosted.org/packages/96/b9/c0362c54290a31866c3526848583a2f45a535aa9d725fd31e25d318c805f/pillow-10.4.0-pp310-pypy310_pp73-manylinux_2_28_x86_64.whl", hash = "sha256:02a2be69f9c9b8c1e97cf2713e789d4e398c751ecfd9967c18d0ce304efbf885", size = 3579373, upload-time = "2024-07-01T09:48:17.601Z" }, + { url = "https://files.pythonhosted.org/packages/52/3b/ce7a01026a7cf46e5452afa86f97a5e88ca97f562cafa76570178ab56d8d/pillow-10.4.0-pp310-pypy310_pp73-win_amd64.whl", hash = "sha256:0755ffd4a0c6f267cccbae2e9903d95477ca2f77c4fcf3a3a09570001856c8a5", size = 2554661, upload-time = "2024-07-01T09:48:20.293Z" }, + { url = "https://files.pythonhosted.org/packages/e1/1f/5a9fcd6ced51633c22481417e11b1b47d723f64fb536dfd67c015eb7f0ab/pillow-10.4.0-pp39-pypy39_pp73-macosx_10_15_x86_64.whl", hash = "sha256:a02364621fe369e06200d4a16558e056fe2805d3468350df3aef21e00d26214b", size = 3493850, upload-time = "2024-07-01T09:48:23.03Z" }, + { url = "https://files.pythonhosted.org/packages/cb/e6/3ea4755ed5320cb62aa6be2f6de47b058c6550f752dd050e86f694c59798/pillow-10.4.0-pp39-pypy39_pp73-macosx_11_0_arm64.whl", hash = "sha256:1b5dea9831a90e9d0721ec417a80d4cbd7022093ac38a568db2dd78363b00908", size = 3346118, upload-time = "2024-07-01T09:48:25.256Z" }, + { url = "https://files.pythonhosted.org/packages/0a/22/492f9f61e4648422b6ca39268ec8139277a5b34648d28f400faac14e0f48/pillow-10.4.0-pp39-pypy39_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:9b885f89040bb8c4a1573566bbb2f44f5c505ef6e74cec7ab9068c900047f04b", size = 3434958, upload-time = "2024-07-01T09:48:28.078Z" }, + { url = "https://files.pythonhosted.org/packages/f9/19/559a48ad4045704bb0547965b9a9345f5cd461347d977a56d178db28819e/pillow-10.4.0-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:87dd88ded2e6d74d31e1e0a99a726a6765cda32d00ba72dc37f0651f306daaa8", size = 3490340, upload-time = "2024-07-01T09:48:30.734Z" }, + { url = "https://files.pythonhosted.org/packages/d9/de/cebaca6fb79905b3a1aa0281d238769df3fb2ede34fd7c0caa286575915a/pillow-10.4.0-pp39-pypy39_pp73-manylinux_2_28_aarch64.whl", hash = "sha256:2db98790afc70118bd0255c2eeb465e9767ecf1f3c25f9a1abb8ffc8cfd1fe0a", size = 3476048, upload-time = "2024-07-01T09:48:33.292Z" }, + { url = "https://files.pythonhosted.org/packages/71/f0/86d5b2f04693b0116a01d75302b0a307800a90d6c351a8aa4f8ae76cd499/pillow-10.4.0-pp39-pypy39_pp73-manylinux_2_28_x86_64.whl", hash = "sha256:f7baece4ce06bade126fb84b8af1c33439a76d8a6fd818970215e0560ca28c27", size = 3579366, upload-time = "2024-07-01T09:48:36.527Z" }, + { url = "https://files.pythonhosted.org/packages/37/ae/2dbfc38cc4fd14aceea14bc440d5151b21f64c4c3ba3f6f4191610b7ee5d/pillow-10.4.0-pp39-pypy39_pp73-win_amd64.whl", hash = "sha256:cfdd747216947628af7b259d274771d84db2268ca062dd5faf373639d00113a3", size = 2554652, upload-time = "2024-07-01T09:48:38.789Z" }, ] [[package]] name = "pkgutil-resolve-name" version = "1.3.10" source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/70/f2/f2891a9dc37398696ddd945012b90ef8d0a034f0012e3f83c3f7a70b0f79/pkgutil_resolve_name-1.3.10.tar.gz", hash = "sha256:357d6c9e6a755653cfd78893817c0853af365dd51ec97f3d358a819373bbd174", size = 5054 } +sdist = { url = "https://files.pythonhosted.org/packages/70/f2/f2891a9dc37398696ddd945012b90ef8d0a034f0012e3f83c3f7a70b0f79/pkgutil_resolve_name-1.3.10.tar.gz", hash = "sha256:357d6c9e6a755653cfd78893817c0853af365dd51ec97f3d358a819373bbd174", size = 5054, upload-time = "2021-07-21T08:19:05.096Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/c9/5c/3d4882ba113fd55bdba9326c1e4c62a15e674a2501de4869e6bd6301f87e/pkgutil_resolve_name-1.3.10-py3-none-any.whl", hash = "sha256:ca27cc078d25c5ad71a9de0a7a330146c4e014c2462d9af19c6b828280649c5e", size = 4734 }, + { url = "https://files.pythonhosted.org/packages/c9/5c/3d4882ba113fd55bdba9326c1e4c62a15e674a2501de4869e6bd6301f87e/pkgutil_resolve_name-1.3.10-py3-none-any.whl", hash = "sha256:ca27cc078d25c5ad71a9de0a7a330146c4e014c2462d9af19c6b828280649c5e", size = 4734, upload-time = "2021-07-21T08:19:03.106Z" }, ] [[package]] name = "platformdirs" version = "4.3.6" source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/13/fc/128cc9cb8f03208bdbf93d3aa862e16d376844a14f9a0ce5cf4507372de4/platformdirs-4.3.6.tar.gz", hash = "sha256:357fb2acbc885b0419afd3ce3ed34564c13c9b95c89360cd9563f73aa5e2b907", size = 21302 } +sdist = { url = "https://files.pythonhosted.org/packages/13/fc/128cc9cb8f03208bdbf93d3aa862e16d376844a14f9a0ce5cf4507372de4/platformdirs-4.3.6.tar.gz", hash = "sha256:357fb2acbc885b0419afd3ce3ed34564c13c9b95c89360cd9563f73aa5e2b907", size = 21302, upload-time = "2024-09-17T19:06:50.688Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/3c/a6/bc1012356d8ece4d66dd75c4b9fc6c1f6650ddd5991e421177d9f8f671be/platformdirs-4.3.6-py3-none-any.whl", hash = "sha256:73e575e1408ab8103900836b97580d5307456908a03e92031bab39e4554cc3fb", size = 18439 }, + { url = "https://files.pythonhosted.org/packages/3c/a6/bc1012356d8ece4d66dd75c4b9fc6c1f6650ddd5991e421177d9f8f671be/platformdirs-4.3.6-py3-none-any.whl", hash = "sha256:73e575e1408ab8103900836b97580d5307456908a03e92031bab39e4554cc3fb", size = 18439, upload-time = "2024-09-17T19:06:49.212Z" }, ] [[package]] name = "pluggy" version = "1.5.0" source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/96/2d/02d4312c973c6050a18b314a5ad0b3210edb65a906f868e31c111dede4a6/pluggy-1.5.0.tar.gz", hash = "sha256:2cffa88e94fdc978c4c574f15f9e59b7f4201d439195c3715ca9e2486f1d0cf1", size = 67955 } +sdist = { url = "https://files.pythonhosted.org/packages/96/2d/02d4312c973c6050a18b314a5ad0b3210edb65a906f868e31c111dede4a6/pluggy-1.5.0.tar.gz", hash = "sha256:2cffa88e94fdc978c4c574f15f9e59b7f4201d439195c3715ca9e2486f1d0cf1", size = 67955, upload-time = "2024-04-20T21:34:42.531Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/88/5f/e351af9a41f866ac3f1fac4ca0613908d9a41741cfcf2228f4ad853b697d/pluggy-1.5.0-py3-none-any.whl", hash = "sha256:44e1ad92c8ca002de6377e165f3e0f1be63266ab4d554740532335b9d75ea669", size = 20556 }, + { url = "https://files.pythonhosted.org/packages/88/5f/e351af9a41f866ac3f1fac4ca0613908d9a41741cfcf2228f4ad853b697d/pluggy-1.5.0-py3-none-any.whl", hash = "sha256:44e1ad92c8ca002de6377e165f3e0f1be63266ab4d554740532335b9d75ea669", size = 20556, upload-time = "2024-04-20T21:34:40.434Z" }, ] [[package]] name = "prometheus-client" version = "0.21.1" source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/62/14/7d0f567991f3a9af8d1cd4f619040c93b68f09a02b6d0b6ab1b2d1ded5fe/prometheus_client-0.21.1.tar.gz", hash = "sha256:252505a722ac04b0456be05c05f75f45d760c2911ffc45f2a06bcaed9f3ae3fb", size = 78551 } +sdist = { url = "https://files.pythonhosted.org/packages/62/14/7d0f567991f3a9af8d1cd4f619040c93b68f09a02b6d0b6ab1b2d1ded5fe/prometheus_client-0.21.1.tar.gz", hash = "sha256:252505a722ac04b0456be05c05f75f45d760c2911ffc45f2a06bcaed9f3ae3fb", size = 78551, upload-time = "2024-12-03T14:59:12.164Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/ff/c2/ab7d37426c179ceb9aeb109a85cda8948bb269b7561a0be870cc656eefe4/prometheus_client-0.21.1-py3-none-any.whl", hash = "sha256:594b45c410d6f4f8888940fe80b5cc2521b305a1fafe1c58609ef715a001f301", size = 54682 }, + { url = "https://files.pythonhosted.org/packages/ff/c2/ab7d37426c179ceb9aeb109a85cda8948bb269b7561a0be870cc656eefe4/prometheus_client-0.21.1-py3-none-any.whl", hash = "sha256:594b45c410d6f4f8888940fe80b5cc2521b305a1fafe1c58609ef715a001f301", size = 54682, upload-time = "2024-12-03T14:59:10.935Z" }, ] [[package]] @@ -3621,60 +3621,60 @@ source = { registry = "https://pypi.org/simple" } dependencies = [ { name = "wcwidth" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/a1/e1/bd15cb8ffdcfeeb2bdc215de3c3cffca11408d829e4b8416dcfe71ba8854/prompt_toolkit-3.0.50.tar.gz", hash = "sha256:544748f3860a2623ca5cd6d2795e7a14f3d0e1c3c9728359013f79877fc89bab", size = 429087 } +sdist = { url = "https://files.pythonhosted.org/packages/a1/e1/bd15cb8ffdcfeeb2bdc215de3c3cffca11408d829e4b8416dcfe71ba8854/prompt_toolkit-3.0.50.tar.gz", hash = "sha256:544748f3860a2623ca5cd6d2795e7a14f3d0e1c3c9728359013f79877fc89bab", size = 429087, upload-time = "2025-01-20T15:55:35.072Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/e4/ea/d836f008d33151c7a1f62caf3d8dd782e4d15f6a43897f64480c2b8de2ad/prompt_toolkit-3.0.50-py3-none-any.whl", hash = "sha256:9b6427eb19e479d98acff65196a307c555eb567989e6d88ebbb1b509d9779198", size = 387816 }, + { url = "https://files.pythonhosted.org/packages/e4/ea/d836f008d33151c7a1f62caf3d8dd782e4d15f6a43897f64480c2b8de2ad/prompt_toolkit-3.0.50-py3-none-any.whl", hash = "sha256:9b6427eb19e479d98acff65196a307c555eb567989e6d88ebbb1b509d9779198", size = 387816, upload-time = "2025-01-20T15:55:29.98Z" }, ] [[package]] name = "psutil" version = "6.1.1" source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/1f/5a/07871137bb752428aa4b659f910b399ba6f291156bdea939be3e96cae7cb/psutil-6.1.1.tar.gz", hash = "sha256:cf8496728c18f2d0b45198f06895be52f36611711746b7f30c464b422b50e2f5", size = 508502 } +sdist = { url = "https://files.pythonhosted.org/packages/1f/5a/07871137bb752428aa4b659f910b399ba6f291156bdea939be3e96cae7cb/psutil-6.1.1.tar.gz", hash = "sha256:cf8496728c18f2d0b45198f06895be52f36611711746b7f30c464b422b50e2f5", size = 508502, upload-time = "2024-12-19T18:21:20.568Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/61/99/ca79d302be46f7bdd8321089762dd4476ee725fce16fc2b2e1dbba8cac17/psutil-6.1.1-cp36-abi3-macosx_10_9_x86_64.whl", hash = "sha256:fc0ed7fe2231a444fc219b9c42d0376e0a9a1a72f16c5cfa0f68d19f1a0663e8", size = 247511 }, - { url = "https://files.pythonhosted.org/packages/0b/6b/73dbde0dd38f3782905d4587049b9be64d76671042fdcaf60e2430c6796d/psutil-6.1.1-cp36-abi3-macosx_11_0_arm64.whl", hash = "sha256:0bdd4eab935276290ad3cb718e9809412895ca6b5b334f5a9111ee6d9aff9377", size = 248985 }, - { url = "https://files.pythonhosted.org/packages/17/38/c319d31a1d3f88c5b79c68b3116c129e5133f1822157dd6da34043e32ed6/psutil-6.1.1-cp36-abi3-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:b6e06c20c05fe95a3d7302d74e7097756d4ba1247975ad6905441ae1b5b66003", size = 284488 }, - { url = "https://files.pythonhosted.org/packages/9c/39/0f88a830a1c8a3aba27fededc642da37613c57cbff143412e3536f89784f/psutil-6.1.1-cp36-abi3-manylinux_2_12_x86_64.manylinux2010_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:97f7cb9921fbec4904f522d972f0c0e1f4fabbdd4e0287813b21215074a0f160", size = 287477 }, - { url = "https://files.pythonhosted.org/packages/47/da/99f4345d4ddf2845cb5b5bd0d93d554e84542d116934fde07a0c50bd4e9f/psutil-6.1.1-cp36-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:33431e84fee02bc84ea36d9e2c4a6d395d479c9dd9bba2376c1f6ee8f3a4e0b3", size = 289017 }, - { url = "https://files.pythonhosted.org/packages/38/53/bd755c2896f4461fd4f36fa6a6dcb66a88a9e4b9fd4e5b66a77cf9d4a584/psutil-6.1.1-cp37-abi3-win32.whl", hash = "sha256:eaa912e0b11848c4d9279a93d7e2783df352b082f40111e078388701fd479e53", size = 250602 }, - { url = "https://files.pythonhosted.org/packages/7b/d7/7831438e6c3ebbfa6e01a927127a6cb42ad3ab844247f3c5b96bea25d73d/psutil-6.1.1-cp37-abi3-win_amd64.whl", hash = "sha256:f35cfccb065fff93529d2afb4a2e89e363fe63ca1e4a5da22b603a85833c2649", size = 254444 }, + { url = "https://files.pythonhosted.org/packages/61/99/ca79d302be46f7bdd8321089762dd4476ee725fce16fc2b2e1dbba8cac17/psutil-6.1.1-cp36-abi3-macosx_10_9_x86_64.whl", hash = "sha256:fc0ed7fe2231a444fc219b9c42d0376e0a9a1a72f16c5cfa0f68d19f1a0663e8", size = 247511, upload-time = "2024-12-19T18:21:45.163Z" }, + { url = "https://files.pythonhosted.org/packages/0b/6b/73dbde0dd38f3782905d4587049b9be64d76671042fdcaf60e2430c6796d/psutil-6.1.1-cp36-abi3-macosx_11_0_arm64.whl", hash = "sha256:0bdd4eab935276290ad3cb718e9809412895ca6b5b334f5a9111ee6d9aff9377", size = 248985, upload-time = "2024-12-19T18:21:49.254Z" }, + { url = "https://files.pythonhosted.org/packages/17/38/c319d31a1d3f88c5b79c68b3116c129e5133f1822157dd6da34043e32ed6/psutil-6.1.1-cp36-abi3-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:b6e06c20c05fe95a3d7302d74e7097756d4ba1247975ad6905441ae1b5b66003", size = 284488, upload-time = "2024-12-19T18:21:51.638Z" }, + { url = "https://files.pythonhosted.org/packages/9c/39/0f88a830a1c8a3aba27fededc642da37613c57cbff143412e3536f89784f/psutil-6.1.1-cp36-abi3-manylinux_2_12_x86_64.manylinux2010_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:97f7cb9921fbec4904f522d972f0c0e1f4fabbdd4e0287813b21215074a0f160", size = 287477, upload-time = "2024-12-19T18:21:55.306Z" }, + { url = "https://files.pythonhosted.org/packages/47/da/99f4345d4ddf2845cb5b5bd0d93d554e84542d116934fde07a0c50bd4e9f/psutil-6.1.1-cp36-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:33431e84fee02bc84ea36d9e2c4a6d395d479c9dd9bba2376c1f6ee8f3a4e0b3", size = 289017, upload-time = "2024-12-19T18:21:57.875Z" }, + { url = "https://files.pythonhosted.org/packages/38/53/bd755c2896f4461fd4f36fa6a6dcb66a88a9e4b9fd4e5b66a77cf9d4a584/psutil-6.1.1-cp37-abi3-win32.whl", hash = "sha256:eaa912e0b11848c4d9279a93d7e2783df352b082f40111e078388701fd479e53", size = 250602, upload-time = "2024-12-19T18:22:08.808Z" }, + { url = "https://files.pythonhosted.org/packages/7b/d7/7831438e6c3ebbfa6e01a927127a6cb42ad3ab844247f3c5b96bea25d73d/psutil-6.1.1-cp37-abi3-win_amd64.whl", hash = "sha256:f35cfccb065fff93529d2afb4a2e89e363fe63ca1e4a5da22b603a85833c2649", size = 254444, upload-time = "2024-12-19T18:22:11.335Z" }, ] [[package]] name = "ptyprocess" version = "0.7.0" source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/20/e5/16ff212c1e452235a90aeb09066144d0c5a6a8c0834397e03f5224495c4e/ptyprocess-0.7.0.tar.gz", hash = "sha256:5c5d0a3b48ceee0b48485e0c26037c0acd7d29765ca3fbb5cb3831d347423220", size = 70762 } +sdist = { url = "https://files.pythonhosted.org/packages/20/e5/16ff212c1e452235a90aeb09066144d0c5a6a8c0834397e03f5224495c4e/ptyprocess-0.7.0.tar.gz", hash = "sha256:5c5d0a3b48ceee0b48485e0c26037c0acd7d29765ca3fbb5cb3831d347423220", size = 70762, upload-time = "2020-12-28T15:15:30.155Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/22/a6/858897256d0deac81a172289110f31629fc4cee19b6f01283303e18c8db3/ptyprocess-0.7.0-py2.py3-none-any.whl", hash = "sha256:4b41f3967fce3af57cc7e94b888626c18bf37a083e3651ca8feeb66d492fef35", size = 13993 }, + { url = "https://files.pythonhosted.org/packages/22/a6/858897256d0deac81a172289110f31629fc4cee19b6f01283303e18c8db3/ptyprocess-0.7.0-py2.py3-none-any.whl", hash = "sha256:4b41f3967fce3af57cc7e94b888626c18bf37a083e3651ca8feeb66d492fef35", size = 13993, upload-time = "2020-12-28T15:15:28.35Z" }, ] [[package]] name = "pure-eval" version = "0.2.3" source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/cd/05/0a34433a064256a578f1783a10da6df098ceaa4a57bbeaa96a6c0352786b/pure_eval-0.2.3.tar.gz", hash = "sha256:5f4e983f40564c576c7c8635ae88db5956bb2229d7e9237d03b3c0b0190eaf42", size = 19752 } +sdist = { url = "https://files.pythonhosted.org/packages/cd/05/0a34433a064256a578f1783a10da6df098ceaa4a57bbeaa96a6c0352786b/pure_eval-0.2.3.tar.gz", hash = "sha256:5f4e983f40564c576c7c8635ae88db5956bb2229d7e9237d03b3c0b0190eaf42", size = 19752, upload-time = "2024-07-21T12:58:21.801Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/8e/37/efad0257dc6e593a18957422533ff0f87ede7c9c6ea010a2177d738fb82f/pure_eval-0.2.3-py3-none-any.whl", hash = "sha256:1db8e35b67b3d218d818ae653e27f06c3aa420901fa7b081ca98cbedc874e0d0", size = 11842 }, + { url = "https://files.pythonhosted.org/packages/8e/37/efad0257dc6e593a18957422533ff0f87ede7c9c6ea010a2177d738fb82f/pure_eval-0.2.3-py3-none-any.whl", hash = "sha256:1db8e35b67b3d218d818ae653e27f06c3aa420901fa7b081ca98cbedc874e0d0", size = 11842, upload-time = "2024-07-21T12:58:20.04Z" }, ] [[package]] name = "pycparser" version = "2.22" source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/1d/b2/31537cf4b1ca988837256c910a668b553fceb8f069bedc4b1c826024b52c/pycparser-2.22.tar.gz", hash = "sha256:491c8be9c040f5390f5bf44a5b07752bd07f56edf992381b05c701439eec10f6", size = 172736 } +sdist = { url = "https://files.pythonhosted.org/packages/1d/b2/31537cf4b1ca988837256c910a668b553fceb8f069bedc4b1c826024b52c/pycparser-2.22.tar.gz", hash = "sha256:491c8be9c040f5390f5bf44a5b07752bd07f56edf992381b05c701439eec10f6", size = 172736, upload-time = "2024-03-30T13:22:22.564Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/13/a3/a812df4e2dd5696d1f351d58b8fe16a405b234ad2886a0dab9183fb78109/pycparser-2.22-py3-none-any.whl", hash = "sha256:c3702b6d3dd8c7abc1afa565d7e63d53a1d0bd86cdc24edd75470f4de499cfcc", size = 117552 }, + { url = "https://files.pythonhosted.org/packages/13/a3/a812df4e2dd5696d1f351d58b8fe16a405b234ad2886a0dab9183fb78109/pycparser-2.22-py3-none-any.whl", hash = "sha256:c3702b6d3dd8c7abc1afa565d7e63d53a1d0bd86cdc24edd75470f4de499cfcc", size = 117552, upload-time = "2024-03-30T13:22:20.476Z" }, ] [[package]] name = "pygments" version = "2.19.1" source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/7c/2d/c3338d48ea6cc0feb8446d8e6937e1408088a72a39937982cc6111d17f84/pygments-2.19.1.tar.gz", hash = "sha256:61c16d2a8576dc0649d9f39e089b5f02bcd27fba10d8fb4dcc28173f7a45151f", size = 4968581 } +sdist = { url = "https://files.pythonhosted.org/packages/7c/2d/c3338d48ea6cc0feb8446d8e6937e1408088a72a39937982cc6111d17f84/pygments-2.19.1.tar.gz", hash = "sha256:61c16d2a8576dc0649d9f39e089b5f02bcd27fba10d8fb4dcc28173f7a45151f", size = 4968581, upload-time = "2025-01-06T17:26:30.443Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/8a/0b/9fcc47d19c48b59121088dd6da2488a49d5f72dacf8262e2790a1d2c7d15/pygments-2.19.1-py3-none-any.whl", hash = "sha256:9ea1544ad55cecf4b8242fab6dd35a93bbce657034b0611ee383099054ab6d8c", size = 1225293 }, + { url = "https://files.pythonhosted.org/packages/8a/0b/9fcc47d19c48b59121088dd6da2488a49d5f72dacf8262e2790a1d2c7d15/pygments-2.19.1-py3-none-any.whl", hash = "sha256:9ea1544ad55cecf4b8242fab6dd35a93bbce657034b0611ee383099054ab6d8c", size = 1225293, upload-time = "2025-01-06T17:26:25.553Z" }, ] [[package]] @@ -3685,9 +3685,9 @@ dependencies = [ { name = "markdown" }, { name = "pyyaml" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/7c/44/e6de2fdc880ad0ec7547ca2e087212be815efbc9a425a8d5ba9ede602cbb/pymdown_extensions-10.14.3.tar.gz", hash = "sha256:41e576ce3f5d650be59e900e4ceff231e0aed2a88cf30acaee41e02f063a061b", size = 846846 } +sdist = { url = "https://files.pythonhosted.org/packages/7c/44/e6de2fdc880ad0ec7547ca2e087212be815efbc9a425a8d5ba9ede602cbb/pymdown_extensions-10.14.3.tar.gz", hash = "sha256:41e576ce3f5d650be59e900e4ceff231e0aed2a88cf30acaee41e02f063a061b", size = 846846, upload-time = "2025-02-01T15:43:15.42Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/eb/f5/b9e2a42aa8f9e34d52d66de87941ecd236570c7ed2e87775ed23bbe4e224/pymdown_extensions-10.14.3-py3-none-any.whl", hash = "sha256:05e0bee73d64b9c71a4ae17c72abc2f700e8bc8403755a00580b49a4e9f189e9", size = 264467 }, + { url = "https://files.pythonhosted.org/packages/eb/f5/b9e2a42aa8f9e34d52d66de87941ecd236570c7ed2e87775ed23bbe4e224/pymdown_extensions-10.14.3-py3-none-any.whl", hash = "sha256:05e0bee73d64b9c71a4ae17c72abc2f700e8bc8403755a00580b49a4e9f189e9", size = 264467, upload-time = "2025-02-01T15:43:13.995Z" }, ] [[package]] @@ -3699,9 +3699,9 @@ resolution-markers = [ "python_full_version < '3.9' and platform_machine == 'aarch64' and sys_platform == 'linux'", "(python_full_version < '3.9' and platform_machine != 'arm64' and sys_platform == 'darwin') or (python_full_version < '3.9' and platform_machine != 'aarch64' and sys_platform == 'linux') or (python_full_version < '3.9' and sys_platform != 'darwin' and sys_platform != 'linux')", ] -sdist = { url = "https://files.pythonhosted.org/packages/83/08/13f3bce01b2061f2bbd582c9df82723de943784cf719a35ac886c652043a/pyparsing-3.1.4.tar.gz", hash = "sha256:f86ec8d1a83f11977c9a6ea7598e8c27fc5cddfa5b07ea2241edbbde1d7bc032", size = 900231 } +sdist = { url = "https://files.pythonhosted.org/packages/83/08/13f3bce01b2061f2bbd582c9df82723de943784cf719a35ac886c652043a/pyparsing-3.1.4.tar.gz", hash = "sha256:f86ec8d1a83f11977c9a6ea7598e8c27fc5cddfa5b07ea2241edbbde1d7bc032", size = 900231, upload-time = "2024-08-25T15:00:47.416Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/e5/0c/0e3c05b1c87bb6a1c76d281b0f35e78d2d80ac91b5f8f524cebf77f51049/pyparsing-3.1.4-py3-none-any.whl", hash = "sha256:a6a7ee4235a3f944aa1fa2249307708f893fe5717dc603503c6c7969c070fb7c", size = 104100 }, + { url = "https://files.pythonhosted.org/packages/e5/0c/0e3c05b1c87bb6a1c76d281b0f35e78d2d80ac91b5f8f524cebf77f51049/pyparsing-3.1.4-py3-none-any.whl", hash = "sha256:a6a7ee4235a3f944aa1fa2249307708f893fe5717dc603503c6c7969c070fb7c", size = 104100, upload-time = "2024-08-25T15:00:45.361Z" }, ] [[package]] @@ -3722,9 +3722,9 @@ resolution-markers = [ "python_full_version == '3.9.*' and platform_machine == 'aarch64' and sys_platform == 'linux'", "(python_full_version == '3.9.*' and platform_machine != 'arm64' and sys_platform == 'darwin') or (python_full_version == '3.9.*' and platform_machine != 'aarch64' and sys_platform == 'linux') or (python_full_version == '3.9.*' and sys_platform != 'darwin' and sys_platform != 'linux')", ] -sdist = { url = "https://files.pythonhosted.org/packages/8b/1a/3544f4f299a47911c2ab3710f534e52fea62a633c96806995da5d25be4b2/pyparsing-3.2.1.tar.gz", hash = "sha256:61980854fd66de3a90028d679a954d5f2623e83144b5afe5ee86f43d762e5f0a", size = 1067694 } +sdist = { url = "https://files.pythonhosted.org/packages/8b/1a/3544f4f299a47911c2ab3710f534e52fea62a633c96806995da5d25be4b2/pyparsing-3.2.1.tar.gz", hash = "sha256:61980854fd66de3a90028d679a954d5f2623e83144b5afe5ee86f43d762e5f0a", size = 1067694, upload-time = "2024-12-31T20:59:46.157Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/1c/a7/c8a2d361bf89c0d9577c934ebb7421b25dc84bf3a8e3ac0a40aed9acc547/pyparsing-3.2.1-py3-none-any.whl", hash = "sha256:506ff4f4386c4cec0590ec19e6302d3aedb992fdc02c761e90416f158dacf8e1", size = 107716 }, + { url = "https://files.pythonhosted.org/packages/1c/a7/c8a2d361bf89c0d9577c934ebb7421b25dc84bf3a8e3ac0a40aed9acc547/pyparsing-3.2.1-py3-none-any.whl", hash = "sha256:506ff4f4386c4cec0590ec19e6302d3aedb992fdc02c761e90416f158dacf8e1", size = 107716, upload-time = "2024-12-31T20:59:42.738Z" }, ] [[package]] @@ -3740,9 +3740,9 @@ dependencies = [ { name = "packaging", marker = "python_full_version < '3.9'" }, { name = "tomli", marker = "python_full_version < '3.9'" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/bb/19/441e0624a8afedd15bbcce96df1b80479dd0ff0d965f5ce8fde4f2f6ffad/pyproject_api-1.8.0.tar.gz", hash = "sha256:77b8049f2feb5d33eefcc21b57f1e279636277a8ac8ad6b5871037b243778496", size = 22340 } +sdist = { url = "https://files.pythonhosted.org/packages/bb/19/441e0624a8afedd15bbcce96df1b80479dd0ff0d965f5ce8fde4f2f6ffad/pyproject_api-1.8.0.tar.gz", hash = "sha256:77b8049f2feb5d33eefcc21b57f1e279636277a8ac8ad6b5871037b243778496", size = 22340, upload-time = "2024-09-18T23:18:37.805Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/ba/f4/3c4ddfcc0c19c217c6de513842d286de8021af2f2ab79bbb86c00342d778/pyproject_api-1.8.0-py3-none-any.whl", hash = "sha256:3d7d347a047afe796fd5d1885b1e391ba29be7169bd2f102fcd378f04273d228", size = 13100 }, + { url = "https://files.pythonhosted.org/packages/ba/f4/3c4ddfcc0c19c217c6de513842d286de8021af2f2ab79bbb86c00342d778/pyproject_api-1.8.0-py3-none-any.whl", hash = "sha256:3d7d347a047afe796fd5d1885b1e391ba29be7169bd2f102fcd378f04273d228", size = 13100, upload-time = "2024-09-18T23:18:35.927Z" }, ] [[package]] @@ -3767,18 +3767,18 @@ dependencies = [ { name = "packaging", marker = "python_full_version >= '3.9'" }, { name = "tomli", marker = "python_full_version >= '3.9' and python_full_version < '3.11'" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/7e/66/fdc17e94486836eda4ba7113c0db9ac7e2f4eea1b968ee09de2fe75e391b/pyproject_api-1.9.0.tar.gz", hash = "sha256:7e8a9854b2dfb49454fae421cb86af43efbb2b2454e5646ffb7623540321ae6e", size = 22714 } +sdist = { url = "https://files.pythonhosted.org/packages/7e/66/fdc17e94486836eda4ba7113c0db9ac7e2f4eea1b968ee09de2fe75e391b/pyproject_api-1.9.0.tar.gz", hash = "sha256:7e8a9854b2dfb49454fae421cb86af43efbb2b2454e5646ffb7623540321ae6e", size = 22714, upload-time = "2025-01-21T18:02:00.923Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/b0/1d/92b7c765df46f454889d9610292b0ccab15362be3119b9a624458455e8d5/pyproject_api-1.9.0-py3-none-any.whl", hash = "sha256:326df9d68dea22d9d98b5243c46e3ca3161b07a1b9b18e213d1e24fd0e605766", size = 13131 }, + { url = "https://files.pythonhosted.org/packages/b0/1d/92b7c765df46f454889d9610292b0ccab15362be3119b9a624458455e8d5/pyproject_api-1.9.0-py3-none-any.whl", hash = "sha256:326df9d68dea22d9d98b5243c46e3ca3161b07a1b9b18e213d1e24fd0e605766", size = 13131, upload-time = "2025-01-21T18:01:58.927Z" }, ] [[package]] name = "pyproject-hooks" version = "1.2.0" source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/e7/82/28175b2414effca1cdac8dc99f76d660e7a4fb0ceefa4b4ab8f5f6742925/pyproject_hooks-1.2.0.tar.gz", hash = "sha256:1e859bd5c40fae9448642dd871adf459e5e2084186e8d2c2a79a824c970da1f8", size = 19228 } +sdist = { url = "https://files.pythonhosted.org/packages/e7/82/28175b2414effca1cdac8dc99f76d660e7a4fb0ceefa4b4ab8f5f6742925/pyproject_hooks-1.2.0.tar.gz", hash = "sha256:1e859bd5c40fae9448642dd871adf459e5e2084186e8d2c2a79a824c970da1f8", size = 19228, upload-time = "2024-09-29T09:24:13.293Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/bd/24/12818598c362d7f300f18e74db45963dbcb85150324092410c8b49405e42/pyproject_hooks-1.2.0-py3-none-any.whl", hash = "sha256:9e5c6bfa8dcc30091c74b0cf803c81fdd29d94f01992a7707bc97babb1141913", size = 10216 }, + { url = "https://files.pythonhosted.org/packages/bd/24/12818598c362d7f300f18e74db45963dbcb85150324092410c8b49405e42/pyproject_hooks-1.2.0-py3-none-any.whl", hash = "sha256:9e5c6bfa8dcc30091c74b0cf803c81fdd29d94f01992a7707bc97babb1141913", size = 10216, upload-time = "2024-09-29T09:24:11.978Z" }, ] [[package]] @@ -3793,9 +3793,9 @@ dependencies = [ { name = "pluggy" }, { name = "tomli", marker = "python_full_version < '3.11'" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/05/35/30e0d83068951d90a01852cb1cef56e5d8a09d20c7f511634cc2f7e0372a/pytest-8.3.4.tar.gz", hash = "sha256:965370d062bce11e73868e0335abac31b4d3de0e82f4007408d242b4f8610761", size = 1445919 } +sdist = { url = "https://files.pythonhosted.org/packages/05/35/30e0d83068951d90a01852cb1cef56e5d8a09d20c7f511634cc2f7e0372a/pytest-8.3.4.tar.gz", hash = "sha256:965370d062bce11e73868e0335abac31b4d3de0e82f4007408d242b4f8610761", size = 1445919, upload-time = "2024-12-01T12:54:25.98Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/11/92/76a1c94d3afee238333bc0a42b82935dd8f9cf8ce9e336ff87ee14d9e1cf/pytest-8.3.4-py3-none-any.whl", hash = "sha256:50e16d954148559c9a74109af1eaf0c945ba2d8f30f0a3d3335edde19788b6f6", size = 343083 }, + { url = "https://files.pythonhosted.org/packages/11/92/76a1c94d3afee238333bc0a42b82935dd8f9cf8ce9e336ff87ee14d9e1cf/pytest-8.3.4-py3-none-any.whl", hash = "sha256:50e16d954148559c9a74109af1eaf0c945ba2d8f30f0a3d3335edde19788b6f6", size = 343083, upload-time = "2024-12-01T12:54:19.735Z" }, ] [[package]] @@ -3805,9 +3805,9 @@ source = { registry = "https://pypi.org/simple" } dependencies = [ { name = "six" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/66/c0/0c8b6ad9f17a802ee498c46e004a0eb49bc148f2fd230864601a86dcf6db/python-dateutil-2.9.0.post0.tar.gz", hash = "sha256:37dd54208da7e1cd875388217d5e00ebd4179249f90fb72437e91a35459a0ad3", size = 342432 } +sdist = { url = "https://files.pythonhosted.org/packages/66/c0/0c8b6ad9f17a802ee498c46e004a0eb49bc148f2fd230864601a86dcf6db/python-dateutil-2.9.0.post0.tar.gz", hash = "sha256:37dd54208da7e1cd875388217d5e00ebd4179249f90fb72437e91a35459a0ad3", size = 342432, upload-time = "2024-03-01T18:36:20.211Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/ec/57/56b9bcc3c9c6a792fcbaf139543cee77261f3651ca9da0c93f5c1221264b/python_dateutil-2.9.0.post0-py2.py3-none-any.whl", hash = "sha256:a8b2bc7bffae282281c8140a97d3aa9c14da0b136dfe83f850eea9a5f7470427", size = 229892 }, + { url = "https://files.pythonhosted.org/packages/ec/57/56b9bcc3c9c6a792fcbaf139543cee77261f3651ca9da0c93f5c1221264b/python_dateutil-2.9.0.post0-py2.py3-none-any.whl", hash = "sha256:a8b2bc7bffae282281c8140a97d3aa9c14da0b136dfe83f850eea9a5f7470427", size = 229892, upload-time = "2024-03-01T18:36:18.57Z" }, ] [[package]] @@ -3817,18 +3817,18 @@ source = { registry = "https://pypi.org/simple" } dependencies = [ { name = "typing-extensions", marker = "python_full_version < '3.10'" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/e3/c4/358cd13daa1d912ef795010897a483ab2f0b41c9ea1b35235a8b2f7d15a7/python_json_logger-3.2.1.tar.gz", hash = "sha256:8eb0554ea17cb75b05d2848bc14fb02fbdbd9d6972120781b974380bfa162008", size = 16287 } +sdist = { url = "https://files.pythonhosted.org/packages/e3/c4/358cd13daa1d912ef795010897a483ab2f0b41c9ea1b35235a8b2f7d15a7/python_json_logger-3.2.1.tar.gz", hash = "sha256:8eb0554ea17cb75b05d2848bc14fb02fbdbd9d6972120781b974380bfa162008", size = 16287, upload-time = "2024-12-16T06:48:05.882Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/4b/72/2f30cf26664fcfa0bd8ec5ee62ec90c03bd485e4a294d92aabc76c5203a5/python_json_logger-3.2.1-py3-none-any.whl", hash = "sha256:cdc17047eb5374bd311e748b42f99d71223f3b0e186f4206cc5d52aefe85b090", size = 14924 }, + { url = "https://files.pythonhosted.org/packages/4b/72/2f30cf26664fcfa0bd8ec5ee62ec90c03bd485e4a294d92aabc76c5203a5/python_json_logger-3.2.1-py3-none-any.whl", hash = "sha256:cdc17047eb5374bd311e748b42f99d71223f3b0e186f4206cc5d52aefe85b090", size = 14924, upload-time = "2024-12-16T06:48:03.25Z" }, ] [[package]] name = "pytz" version = "2025.1" source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/5f/57/df1c9157c8d5a05117e455d66fd7cf6dbc46974f832b1058ed4856785d8a/pytz-2025.1.tar.gz", hash = "sha256:c2db42be2a2518b28e65f9207c4d05e6ff547d1efa4086469ef855e4ab70178e", size = 319617 } +sdist = { url = "https://files.pythonhosted.org/packages/5f/57/df1c9157c8d5a05117e455d66fd7cf6dbc46974f832b1058ed4856785d8a/pytz-2025.1.tar.gz", hash = "sha256:c2db42be2a2518b28e65f9207c4d05e6ff547d1efa4086469ef855e4ab70178e", size = 319617, upload-time = "2025-01-31T01:54:48.615Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/eb/38/ac33370d784287baa1c3d538978b5e2ea064d4c1b93ffbd12826c190dd10/pytz-2025.1-py2.py3-none-any.whl", hash = "sha256:89dd22dca55b46eac6eda23b2d72721bf1bdfef212645d81513ef5d03038de57", size = 507930 }, + { url = "https://files.pythonhosted.org/packages/eb/38/ac33370d784287baa1c3d538978b5e2ea064d4c1b93ffbd12826c190dd10/pytz-2025.1-py2.py3-none-any.whl", hash = "sha256:89dd22dca55b46eac6eda23b2d72721bf1bdfef212645d81513ef5d03038de57", size = 507930, upload-time = "2025-01-31T01:54:45.634Z" }, ] [[package]] @@ -3836,31 +3836,31 @@ name = "pywin32" version = "308" source = { registry = "https://pypi.org/simple" } wheels = [ - { url = "https://files.pythonhosted.org/packages/72/a6/3e9f2c474895c1bb61b11fa9640be00067b5c5b363c501ee9c3fa53aec01/pywin32-308-cp310-cp310-win32.whl", hash = "sha256:796ff4426437896550d2981b9c2ac0ffd75238ad9ea2d3bfa67a1abd546d262e", size = 5927028 }, - { url = "https://files.pythonhosted.org/packages/d9/b4/84e2463422f869b4b718f79eb7530a4c1693e96b8a4e5e968de38be4d2ba/pywin32-308-cp310-cp310-win_amd64.whl", hash = "sha256:4fc888c59b3c0bef905ce7eb7e2106a07712015ea1c8234b703a088d46110e8e", size = 6558484 }, - { url = "https://files.pythonhosted.org/packages/9f/8f/fb84ab789713f7c6feacaa08dad3ec8105b88ade8d1c4f0f0dfcaaa017d6/pywin32-308-cp310-cp310-win_arm64.whl", hash = "sha256:a5ab5381813b40f264fa3495b98af850098f814a25a63589a8e9eb12560f450c", size = 7971454 }, - { url = "https://files.pythonhosted.org/packages/eb/e2/02652007469263fe1466e98439831d65d4ca80ea1a2df29abecedf7e47b7/pywin32-308-cp311-cp311-win32.whl", hash = "sha256:5d8c8015b24a7d6855b1550d8e660d8daa09983c80e5daf89a273e5c6fb5095a", size = 5928156 }, - { url = "https://files.pythonhosted.org/packages/48/ef/f4fb45e2196bc7ffe09cad0542d9aff66b0e33f6c0954b43e49c33cad7bd/pywin32-308-cp311-cp311-win_amd64.whl", hash = "sha256:575621b90f0dc2695fec346b2d6302faebd4f0f45c05ea29404cefe35d89442b", size = 6559559 }, - { url = "https://files.pythonhosted.org/packages/79/ef/68bb6aa865c5c9b11a35771329e95917b5559845bd75b65549407f9fc6b4/pywin32-308-cp311-cp311-win_arm64.whl", hash = "sha256:100a5442b7332070983c4cd03f2e906a5648a5104b8a7f50175f7906efd16bb6", size = 7972495 }, - { url = "https://files.pythonhosted.org/packages/00/7c/d00d6bdd96de4344e06c4afbf218bc86b54436a94c01c71a8701f613aa56/pywin32-308-cp312-cp312-win32.whl", hash = "sha256:587f3e19696f4bf96fde9d8a57cec74a57021ad5f204c9e627e15c33ff568897", size = 5939729 }, - { url = "https://files.pythonhosted.org/packages/21/27/0c8811fbc3ca188f93b5354e7c286eb91f80a53afa4e11007ef661afa746/pywin32-308-cp312-cp312-win_amd64.whl", hash = "sha256:00b3e11ef09ede56c6a43c71f2d31857cf7c54b0ab6e78ac659497abd2834f47", size = 6543015 }, - { url = "https://files.pythonhosted.org/packages/9d/0f/d40f8373608caed2255781a3ad9a51d03a594a1248cd632d6a298daca693/pywin32-308-cp312-cp312-win_arm64.whl", hash = "sha256:9b4de86c8d909aed15b7011182c8cab38c8850de36e6afb1f0db22b8959e3091", size = 7976033 }, - { url = "https://files.pythonhosted.org/packages/a9/a4/aa562d8935e3df5e49c161b427a3a2efad2ed4e9cf81c3de636f1fdddfd0/pywin32-308-cp313-cp313-win32.whl", hash = "sha256:1c44539a37a5b7b21d02ab34e6a4d314e0788f1690d65b48e9b0b89f31abbbed", size = 5938579 }, - { url = "https://files.pythonhosted.org/packages/c7/50/b0efb8bb66210da67a53ab95fd7a98826a97ee21f1d22949863e6d588b22/pywin32-308-cp313-cp313-win_amd64.whl", hash = "sha256:fd380990e792eaf6827fcb7e187b2b4b1cede0585e3d0c9e84201ec27b9905e4", size = 6542056 }, - { url = "https://files.pythonhosted.org/packages/26/df/2b63e3e4f2df0224f8aaf6d131f54fe4e8c96400eb9df563e2aae2e1a1f9/pywin32-308-cp313-cp313-win_arm64.whl", hash = "sha256:ef313c46d4c18dfb82a2431e3051ac8f112ccee1a34f29c263c583c568db63cd", size = 7974986 }, - { url = "https://files.pythonhosted.org/packages/f3/0d/2c464011689e11ff5d64a32337f37de463a0cb058e45de5ea4027b56601a/pywin32-308-cp38-cp38-win32.whl", hash = "sha256:5794e764ebcabf4ff08c555b31bd348c9025929371763b2183172ff4708152f0", size = 5998793 }, - { url = "https://files.pythonhosted.org/packages/b7/e8/729b049e3c5c5449049d6036edf7a24a6ba785a9a1d5f617b638a9b444eb/pywin32-308-cp38-cp38-win_amd64.whl", hash = "sha256:3b92622e29d651c6b783e368ba7d6722b1634b8e70bd376fd7610fe1992e19de", size = 6647446 }, - { url = "https://files.pythonhosted.org/packages/a8/41/ead05a7657ffdbb1edabb954ab80825c4f87a3de0285d59f8290457f9016/pywin32-308-cp39-cp39-win32.whl", hash = "sha256:7873ca4dc60ab3287919881a7d4f88baee4a6e639aa6962de25a98ba6b193341", size = 5991824 }, - { url = "https://files.pythonhosted.org/packages/e4/cd/0838c9a6063bff2e9bac2388ae36524c26c50288b5d7b6aebb6cdf8d375d/pywin32-308-cp39-cp39-win_amd64.whl", hash = "sha256:71b3322d949b4cc20776436a9c9ba0eeedcbc9c650daa536df63f0ff111bb920", size = 6640327 }, + { url = "https://files.pythonhosted.org/packages/72/a6/3e9f2c474895c1bb61b11fa9640be00067b5c5b363c501ee9c3fa53aec01/pywin32-308-cp310-cp310-win32.whl", hash = "sha256:796ff4426437896550d2981b9c2ac0ffd75238ad9ea2d3bfa67a1abd546d262e", size = 5927028, upload-time = "2024-10-12T20:41:58.898Z" }, + { url = "https://files.pythonhosted.org/packages/d9/b4/84e2463422f869b4b718f79eb7530a4c1693e96b8a4e5e968de38be4d2ba/pywin32-308-cp310-cp310-win_amd64.whl", hash = "sha256:4fc888c59b3c0bef905ce7eb7e2106a07712015ea1c8234b703a088d46110e8e", size = 6558484, upload-time = "2024-10-12T20:42:01.271Z" }, + { url = "https://files.pythonhosted.org/packages/9f/8f/fb84ab789713f7c6feacaa08dad3ec8105b88ade8d1c4f0f0dfcaaa017d6/pywin32-308-cp310-cp310-win_arm64.whl", hash = "sha256:a5ab5381813b40f264fa3495b98af850098f814a25a63589a8e9eb12560f450c", size = 7971454, upload-time = "2024-10-12T20:42:03.544Z" }, + { url = "https://files.pythonhosted.org/packages/eb/e2/02652007469263fe1466e98439831d65d4ca80ea1a2df29abecedf7e47b7/pywin32-308-cp311-cp311-win32.whl", hash = "sha256:5d8c8015b24a7d6855b1550d8e660d8daa09983c80e5daf89a273e5c6fb5095a", size = 5928156, upload-time = "2024-10-12T20:42:05.78Z" }, + { url = "https://files.pythonhosted.org/packages/48/ef/f4fb45e2196bc7ffe09cad0542d9aff66b0e33f6c0954b43e49c33cad7bd/pywin32-308-cp311-cp311-win_amd64.whl", hash = "sha256:575621b90f0dc2695fec346b2d6302faebd4f0f45c05ea29404cefe35d89442b", size = 6559559, upload-time = "2024-10-12T20:42:07.644Z" }, + { url = "https://files.pythonhosted.org/packages/79/ef/68bb6aa865c5c9b11a35771329e95917b5559845bd75b65549407f9fc6b4/pywin32-308-cp311-cp311-win_arm64.whl", hash = "sha256:100a5442b7332070983c4cd03f2e906a5648a5104b8a7f50175f7906efd16bb6", size = 7972495, upload-time = "2024-10-12T20:42:09.803Z" }, + { url = "https://files.pythonhosted.org/packages/00/7c/d00d6bdd96de4344e06c4afbf218bc86b54436a94c01c71a8701f613aa56/pywin32-308-cp312-cp312-win32.whl", hash = "sha256:587f3e19696f4bf96fde9d8a57cec74a57021ad5f204c9e627e15c33ff568897", size = 5939729, upload-time = "2024-10-12T20:42:12.001Z" }, + { url = "https://files.pythonhosted.org/packages/21/27/0c8811fbc3ca188f93b5354e7c286eb91f80a53afa4e11007ef661afa746/pywin32-308-cp312-cp312-win_amd64.whl", hash = "sha256:00b3e11ef09ede56c6a43c71f2d31857cf7c54b0ab6e78ac659497abd2834f47", size = 6543015, upload-time = "2024-10-12T20:42:14.044Z" }, + { url = "https://files.pythonhosted.org/packages/9d/0f/d40f8373608caed2255781a3ad9a51d03a594a1248cd632d6a298daca693/pywin32-308-cp312-cp312-win_arm64.whl", hash = "sha256:9b4de86c8d909aed15b7011182c8cab38c8850de36e6afb1f0db22b8959e3091", size = 7976033, upload-time = "2024-10-12T20:42:16.215Z" }, + { url = "https://files.pythonhosted.org/packages/a9/a4/aa562d8935e3df5e49c161b427a3a2efad2ed4e9cf81c3de636f1fdddfd0/pywin32-308-cp313-cp313-win32.whl", hash = "sha256:1c44539a37a5b7b21d02ab34e6a4d314e0788f1690d65b48e9b0b89f31abbbed", size = 5938579, upload-time = "2024-10-12T20:42:18.623Z" }, + { url = "https://files.pythonhosted.org/packages/c7/50/b0efb8bb66210da67a53ab95fd7a98826a97ee21f1d22949863e6d588b22/pywin32-308-cp313-cp313-win_amd64.whl", hash = "sha256:fd380990e792eaf6827fcb7e187b2b4b1cede0585e3d0c9e84201ec27b9905e4", size = 6542056, upload-time = "2024-10-12T20:42:20.864Z" }, + { url = "https://files.pythonhosted.org/packages/26/df/2b63e3e4f2df0224f8aaf6d131f54fe4e8c96400eb9df563e2aae2e1a1f9/pywin32-308-cp313-cp313-win_arm64.whl", hash = "sha256:ef313c46d4c18dfb82a2431e3051ac8f112ccee1a34f29c263c583c568db63cd", size = 7974986, upload-time = "2024-10-12T20:42:22.799Z" }, + { url = "https://files.pythonhosted.org/packages/f3/0d/2c464011689e11ff5d64a32337f37de463a0cb058e45de5ea4027b56601a/pywin32-308-cp38-cp38-win32.whl", hash = "sha256:5794e764ebcabf4ff08c555b31bd348c9025929371763b2183172ff4708152f0", size = 5998793, upload-time = "2024-10-12T20:41:50.597Z" }, + { url = "https://files.pythonhosted.org/packages/b7/e8/729b049e3c5c5449049d6036edf7a24a6ba785a9a1d5f617b638a9b444eb/pywin32-308-cp38-cp38-win_amd64.whl", hash = "sha256:3b92622e29d651c6b783e368ba7d6722b1634b8e70bd376fd7610fe1992e19de", size = 6647446, upload-time = "2024-10-12T20:41:52.949Z" }, + { url = "https://files.pythonhosted.org/packages/a8/41/ead05a7657ffdbb1edabb954ab80825c4f87a3de0285d59f8290457f9016/pywin32-308-cp39-cp39-win32.whl", hash = "sha256:7873ca4dc60ab3287919881a7d4f88baee4a6e639aa6962de25a98ba6b193341", size = 5991824, upload-time = "2024-10-12T20:41:55.034Z" }, + { url = "https://files.pythonhosted.org/packages/e4/cd/0838c9a6063bff2e9bac2388ae36524c26c50288b5d7b6aebb6cdf8d375d/pywin32-308-cp39-cp39-win_amd64.whl", hash = "sha256:71b3322d949b4cc20776436a9c9ba0eeedcbc9c650daa536df63f0ff111bb920", size = 6640327, upload-time = "2024-10-12T20:41:57.239Z" }, ] [[package]] name = "pywin32-ctypes" version = "0.2.3" source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/85/9f/01a1a99704853cb63f253eea009390c88e7131c67e66a0a02099a8c917cb/pywin32-ctypes-0.2.3.tar.gz", hash = "sha256:d162dc04946d704503b2edc4d55f3dba5c1d539ead017afa00142c38b9885755", size = 29471 } +sdist = { url = "https://files.pythonhosted.org/packages/85/9f/01a1a99704853cb63f253eea009390c88e7131c67e66a0a02099a8c917cb/pywin32-ctypes-0.2.3.tar.gz", hash = "sha256:d162dc04946d704503b2edc4d55f3dba5c1d539ead017afa00142c38b9885755", size = 29471, upload-time = "2024-08-14T10:15:34.626Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/de/3d/8161f7711c017e01ac9f008dfddd9410dff3674334c233bde66e7ba65bbf/pywin32_ctypes-0.2.3-py3-none-any.whl", hash = "sha256:8a1513379d709975552d202d942d9837758905c8d01eb82b8bcc30918929e7b8", size = 30756 }, + { url = "https://files.pythonhosted.org/packages/de/3d/8161f7711c017e01ac9f008dfddd9410dff3674334c233bde66e7ba65bbf/pywin32_ctypes-0.2.3-py3-none-any.whl", hash = "sha256:8a1513379d709975552d202d942d9837758905c8d01eb82b8bcc30918929e7b8", size = 30756, upload-time = "2024-08-14T10:15:33.187Z" }, ] [[package]] @@ -3870,13 +3870,13 @@ source = { registry = "https://pypi.org/simple" } resolution-markers = [ "(python_full_version < '3.9' and platform_machine != 'arm64' and sys_platform == 'darwin') or (python_full_version < '3.9' and platform_machine != 'aarch64' and sys_platform == 'linux') or (python_full_version < '3.9' and sys_platform != 'darwin' and sys_platform != 'linux')", ] -sdist = { url = "https://files.pythonhosted.org/packages/f1/82/90f8750423cba4b9b6c842df227609fb60704482d7abf6dd47e2babc055a/pywinpty-2.0.14.tar.gz", hash = "sha256:18bd9529e4a5daf2d9719aa17788ba6013e594ae94c5a0c27e83df3278b0660e", size = 27769 } +sdist = { url = "https://files.pythonhosted.org/packages/f1/82/90f8750423cba4b9b6c842df227609fb60704482d7abf6dd47e2babc055a/pywinpty-2.0.14.tar.gz", hash = "sha256:18bd9529e4a5daf2d9719aa17788ba6013e594ae94c5a0c27e83df3278b0660e", size = 27769, upload-time = "2024-10-17T16:01:43.197Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/07/09/56376af256eab8cc5f8982a3b138d387136eca27fa1a8a68660e8ed59e4b/pywinpty-2.0.14-cp310-none-win_amd64.whl", hash = "sha256:0b149c2918c7974f575ba79f5a4aad58bd859a52fa9eb1296cc22aa412aa411f", size = 1397115 }, - { url = "https://files.pythonhosted.org/packages/be/e2/af1a99c0432e4e58c9ac8e334ee191790ec9793d33559189b9d2069bdc1d/pywinpty-2.0.14-cp311-none-win_amd64.whl", hash = "sha256:cf2a43ac7065b3e0dc8510f8c1f13a75fb8fde805efa3b8cff7599a1ef497bc7", size = 1397223 }, - { url = "https://files.pythonhosted.org/packages/ad/79/759ae767a3b78d340446efd54dd1fe4f7dafa4fc7be96ed757e44bcdba54/pywinpty-2.0.14-cp312-none-win_amd64.whl", hash = "sha256:55dad362ef3e9408ade68fd173e4f9032b3ce08f68cfe7eacb2c263ea1179737", size = 1397207 }, - { url = "https://files.pythonhosted.org/packages/7d/34/b77b3c209bf2eaa6455390c8d5449241637f5957f41636a2204065d52bfa/pywinpty-2.0.14-cp313-none-win_amd64.whl", hash = "sha256:074fb988a56ec79ca90ed03a896d40707131897cefb8f76f926e3834227f2819", size = 1396698 }, - { url = "https://files.pythonhosted.org/packages/d8/ef/85e1b0ef7864fa2c579b1c1efce92c5f6fa238c8e73cf9f53deee08f8605/pywinpty-2.0.14-cp39-none-win_amd64.whl", hash = "sha256:5725fd56f73c0531ec218663bd8c8ff5acc43c78962fab28564871b5fce053fd", size = 1397396 }, + { url = "https://files.pythonhosted.org/packages/07/09/56376af256eab8cc5f8982a3b138d387136eca27fa1a8a68660e8ed59e4b/pywinpty-2.0.14-cp310-none-win_amd64.whl", hash = "sha256:0b149c2918c7974f575ba79f5a4aad58bd859a52fa9eb1296cc22aa412aa411f", size = 1397115, upload-time = "2024-10-17T16:04:46.736Z" }, + { url = "https://files.pythonhosted.org/packages/be/e2/af1a99c0432e4e58c9ac8e334ee191790ec9793d33559189b9d2069bdc1d/pywinpty-2.0.14-cp311-none-win_amd64.whl", hash = "sha256:cf2a43ac7065b3e0dc8510f8c1f13a75fb8fde805efa3b8cff7599a1ef497bc7", size = 1397223, upload-time = "2024-10-17T16:04:33.08Z" }, + { url = "https://files.pythonhosted.org/packages/ad/79/759ae767a3b78d340446efd54dd1fe4f7dafa4fc7be96ed757e44bcdba54/pywinpty-2.0.14-cp312-none-win_amd64.whl", hash = "sha256:55dad362ef3e9408ade68fd173e4f9032b3ce08f68cfe7eacb2c263ea1179737", size = 1397207, upload-time = "2024-10-17T16:04:14.633Z" }, + { url = "https://files.pythonhosted.org/packages/7d/34/b77b3c209bf2eaa6455390c8d5449241637f5957f41636a2204065d52bfa/pywinpty-2.0.14-cp313-none-win_amd64.whl", hash = "sha256:074fb988a56ec79ca90ed03a896d40707131897cefb8f76f926e3834227f2819", size = 1396698, upload-time = "2024-10-17T16:04:15.172Z" }, + { url = "https://files.pythonhosted.org/packages/d8/ef/85e1b0ef7864fa2c579b1c1efce92c5f6fa238c8e73cf9f53deee08f8605/pywinpty-2.0.14-cp39-none-win_amd64.whl", hash = "sha256:5725fd56f73c0531ec218663bd8c8ff5acc43c78962fab28564871b5fce053fd", size = 1397396, upload-time = "2024-10-17T16:05:30.319Z" }, ] [[package]] @@ -3889,74 +3889,74 @@ resolution-markers = [ "(python_full_version == '3.10.*' and platform_machine != 'aarch64' and sys_platform == 'linux') or (python_full_version == '3.10.*' and sys_platform != 'darwin' and sys_platform != 'linux')", "(python_full_version == '3.9.*' and platform_machine != 'arm64' and sys_platform == 'darwin') or (python_full_version == '3.9.*' and platform_machine != 'aarch64' and sys_platform == 'linux') or (python_full_version == '3.9.*' and sys_platform != 'darwin' and sys_platform != 'linux')", ] -sdist = { url = "https://files.pythonhosted.org/packages/2d/7c/917f9c4681bb8d34bfbe0b79d36bbcd902651aeab48790df3d30ba0202fb/pywinpty-2.0.15.tar.gz", hash = "sha256:312cf39153a8736c617d45ce8b6ad6cd2107de121df91c455b10ce6bba7a39b2", size = 29017 } +sdist = { url = "https://files.pythonhosted.org/packages/2d/7c/917f9c4681bb8d34bfbe0b79d36bbcd902651aeab48790df3d30ba0202fb/pywinpty-2.0.15.tar.gz", hash = "sha256:312cf39153a8736c617d45ce8b6ad6cd2107de121df91c455b10ce6bba7a39b2", size = 29017, upload-time = "2025-02-03T21:53:23.265Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/a6/b7/855db919ae526d2628f3f2e6c281c4cdff7a9a8af51bb84659a9f07b1861/pywinpty-2.0.15-cp310-cp310-win_amd64.whl", hash = "sha256:8e7f5de756a615a38b96cd86fa3cd65f901ce54ce147a3179c45907fa11b4c4e", size = 1405161 }, - { url = "https://files.pythonhosted.org/packages/5e/ac/6884dcb7108af66ad53f73ef4dad096e768c9203a6e6ce5e6b0c4a46e238/pywinpty-2.0.15-cp311-cp311-win_amd64.whl", hash = "sha256:9a6bcec2df2707aaa9d08b86071970ee32c5026e10bcc3cc5f6f391d85baf7ca", size = 1405249 }, - { url = "https://files.pythonhosted.org/packages/88/e5/9714def18c3a411809771a3fbcec70bffa764b9675afb00048a620fca604/pywinpty-2.0.15-cp312-cp312-win_amd64.whl", hash = "sha256:83a8f20b430bbc5d8957249f875341a60219a4e971580f2ba694fbfb54a45ebc", size = 1405243 }, - { url = "https://files.pythonhosted.org/packages/fb/16/2ab7b3b7f55f3c6929e5f629e1a68362981e4e5fed592a2ed1cb4b4914a5/pywinpty-2.0.15-cp313-cp313-win_amd64.whl", hash = "sha256:ab5920877dd632c124b4ed17bc6dd6ef3b9f86cd492b963ffdb1a67b85b0f408", size = 1405020 }, - { url = "https://files.pythonhosted.org/packages/7c/16/edef3515dd2030db2795dbfbe392232c7a0f3dc41b98e92b38b42ba497c7/pywinpty-2.0.15-cp313-cp313t-win_amd64.whl", hash = "sha256:a4560ad8c01e537708d2790dbe7da7d986791de805d89dd0d3697ca59e9e4901", size = 1404151 }, - { url = "https://files.pythonhosted.org/packages/47/96/90fa02f19b1eff7469ad7bf0ef8efca248025de9f1d0a0b25682d2aacf68/pywinpty-2.0.15-cp39-cp39-win_amd64.whl", hash = "sha256:d261cd88fcd358cfb48a7ca0700db3e1c088c9c10403c9ebc0d8a8b57aa6a117", size = 1405302 }, + { url = "https://files.pythonhosted.org/packages/a6/b7/855db919ae526d2628f3f2e6c281c4cdff7a9a8af51bb84659a9f07b1861/pywinpty-2.0.15-cp310-cp310-win_amd64.whl", hash = "sha256:8e7f5de756a615a38b96cd86fa3cd65f901ce54ce147a3179c45907fa11b4c4e", size = 1405161, upload-time = "2025-02-03T21:56:25.008Z" }, + { url = "https://files.pythonhosted.org/packages/5e/ac/6884dcb7108af66ad53f73ef4dad096e768c9203a6e6ce5e6b0c4a46e238/pywinpty-2.0.15-cp311-cp311-win_amd64.whl", hash = "sha256:9a6bcec2df2707aaa9d08b86071970ee32c5026e10bcc3cc5f6f391d85baf7ca", size = 1405249, upload-time = "2025-02-03T21:55:47.114Z" }, + { url = "https://files.pythonhosted.org/packages/88/e5/9714def18c3a411809771a3fbcec70bffa764b9675afb00048a620fca604/pywinpty-2.0.15-cp312-cp312-win_amd64.whl", hash = "sha256:83a8f20b430bbc5d8957249f875341a60219a4e971580f2ba694fbfb54a45ebc", size = 1405243, upload-time = "2025-02-03T21:56:52.476Z" }, + { url = "https://files.pythonhosted.org/packages/fb/16/2ab7b3b7f55f3c6929e5f629e1a68362981e4e5fed592a2ed1cb4b4914a5/pywinpty-2.0.15-cp313-cp313-win_amd64.whl", hash = "sha256:ab5920877dd632c124b4ed17bc6dd6ef3b9f86cd492b963ffdb1a67b85b0f408", size = 1405020, upload-time = "2025-02-03T21:56:04.753Z" }, + { url = "https://files.pythonhosted.org/packages/7c/16/edef3515dd2030db2795dbfbe392232c7a0f3dc41b98e92b38b42ba497c7/pywinpty-2.0.15-cp313-cp313t-win_amd64.whl", hash = "sha256:a4560ad8c01e537708d2790dbe7da7d986791de805d89dd0d3697ca59e9e4901", size = 1404151, upload-time = "2025-02-03T21:55:53.628Z" }, + { url = "https://files.pythonhosted.org/packages/47/96/90fa02f19b1eff7469ad7bf0ef8efca248025de9f1d0a0b25682d2aacf68/pywinpty-2.0.15-cp39-cp39-win_amd64.whl", hash = "sha256:d261cd88fcd358cfb48a7ca0700db3e1c088c9c10403c9ebc0d8a8b57aa6a117", size = 1405302, upload-time = "2025-02-03T21:55:40.394Z" }, ] [[package]] name = "pyyaml" version = "6.0.2" source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/54/ed/79a089b6be93607fa5cdaedf301d7dfb23af5f25c398d5ead2525b063e17/pyyaml-6.0.2.tar.gz", hash = "sha256:d584d9ec91ad65861cc08d42e834324ef890a082e591037abe114850ff7bbc3e", size = 130631 } -wheels = [ - { url = "https://files.pythonhosted.org/packages/9b/95/a3fac87cb7158e231b5a6012e438c647e1a87f09f8e0d123acec8ab8bf71/PyYAML-6.0.2-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:0a9a2848a5b7feac301353437eb7d5957887edbf81d56e903999a75a3d743086", size = 184199 }, - { url = "https://files.pythonhosted.org/packages/c7/7a/68bd47624dab8fd4afbfd3c48e3b79efe09098ae941de5b58abcbadff5cb/PyYAML-6.0.2-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:29717114e51c84ddfba879543fb232a6ed60086602313ca38cce623c1d62cfbf", size = 171758 }, - { url = "https://files.pythonhosted.org/packages/49/ee/14c54df452143b9ee9f0f29074d7ca5516a36edb0b4cc40c3f280131656f/PyYAML-6.0.2-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:8824b5a04a04a047e72eea5cec3bc266db09e35de6bdfe34c9436ac5ee27d237", size = 718463 }, - { url = "https://files.pythonhosted.org/packages/4d/61/de363a97476e766574650d742205be468921a7b532aa2499fcd886b62530/PyYAML-6.0.2-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:7c36280e6fb8385e520936c3cb3b8042851904eba0e58d277dca80a5cfed590b", size = 719280 }, - { url = "https://files.pythonhosted.org/packages/6b/4e/1523cb902fd98355e2e9ea5e5eb237cbc5f3ad5f3075fa65087aa0ecb669/PyYAML-6.0.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ec031d5d2feb36d1d1a24380e4db6d43695f3748343d99434e6f5f9156aaa2ed", size = 751239 }, - { url = "https://files.pythonhosted.org/packages/b7/33/5504b3a9a4464893c32f118a9cc045190a91637b119a9c881da1cf6b7a72/PyYAML-6.0.2-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:936d68689298c36b53b29f23c6dbb74de12b4ac12ca6cfe0e047bedceea56180", size = 695802 }, - { url = "https://files.pythonhosted.org/packages/5c/20/8347dcabd41ef3a3cdc4f7b7a2aff3d06598c8779faa189cdbf878b626a4/PyYAML-6.0.2-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:23502f431948090f597378482b4812b0caae32c22213aecf3b55325e049a6c68", size = 720527 }, - { url = "https://files.pythonhosted.org/packages/be/aa/5afe99233fb360d0ff37377145a949ae258aaab831bde4792b32650a4378/PyYAML-6.0.2-cp310-cp310-win32.whl", hash = "sha256:2e99c6826ffa974fe6e27cdb5ed0021786b03fc98e5ee3c5bfe1fd5015f42b99", size = 144052 }, - { url = "https://files.pythonhosted.org/packages/b5/84/0fa4b06f6d6c958d207620fc60005e241ecedceee58931bb20138e1e5776/PyYAML-6.0.2-cp310-cp310-win_amd64.whl", hash = "sha256:a4d3091415f010369ae4ed1fc6b79def9416358877534caf6a0fdd2146c87a3e", size = 161774 }, - { url = "https://files.pythonhosted.org/packages/f8/aa/7af4e81f7acba21a4c6be026da38fd2b872ca46226673c89a758ebdc4fd2/PyYAML-6.0.2-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:cc1c1159b3d456576af7a3e4d1ba7e6924cb39de8f67111c735f6fc832082774", size = 184612 }, - { url = "https://files.pythonhosted.org/packages/8b/62/b9faa998fd185f65c1371643678e4d58254add437edb764a08c5a98fb986/PyYAML-6.0.2-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:1e2120ef853f59c7419231f3bf4e7021f1b936f6ebd222406c3b60212205d2ee", size = 172040 }, - { url = "https://files.pythonhosted.org/packages/ad/0c/c804f5f922a9a6563bab712d8dcc70251e8af811fce4524d57c2c0fd49a4/PyYAML-6.0.2-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:5d225db5a45f21e78dd9358e58a98702a0302f2659a3c6cd320564b75b86f47c", size = 736829 }, - { url = "https://files.pythonhosted.org/packages/51/16/6af8d6a6b210c8e54f1406a6b9481febf9c64a3109c541567e35a49aa2e7/PyYAML-6.0.2-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:5ac9328ec4831237bec75defaf839f7d4564be1e6b25ac710bd1a96321cc8317", size = 764167 }, - { url = "https://files.pythonhosted.org/packages/75/e4/2c27590dfc9992f73aabbeb9241ae20220bd9452df27483b6e56d3975cc5/PyYAML-6.0.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:3ad2a3decf9aaba3d29c8f537ac4b243e36bef957511b4766cb0057d32b0be85", size = 762952 }, - { url = "https://files.pythonhosted.org/packages/9b/97/ecc1abf4a823f5ac61941a9c00fe501b02ac3ab0e373c3857f7d4b83e2b6/PyYAML-6.0.2-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:ff3824dc5261f50c9b0dfb3be22b4567a6f938ccce4587b38952d85fd9e9afe4", size = 735301 }, - { url = "https://files.pythonhosted.org/packages/45/73/0f49dacd6e82c9430e46f4a027baa4ca205e8b0a9dce1397f44edc23559d/PyYAML-6.0.2-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:797b4f722ffa07cc8d62053e4cff1486fa6dc094105d13fea7b1de7d8bf71c9e", size = 756638 }, - { url = "https://files.pythonhosted.org/packages/22/5f/956f0f9fc65223a58fbc14459bf34b4cc48dec52e00535c79b8db361aabd/PyYAML-6.0.2-cp311-cp311-win32.whl", hash = "sha256:11d8f3dd2b9c1207dcaf2ee0bbbfd5991f571186ec9cc78427ba5bd32afae4b5", size = 143850 }, - { url = "https://files.pythonhosted.org/packages/ed/23/8da0bbe2ab9dcdd11f4f4557ccaf95c10b9811b13ecced089d43ce59c3c8/PyYAML-6.0.2-cp311-cp311-win_amd64.whl", hash = "sha256:e10ce637b18caea04431ce14fabcf5c64a1c61ec9c56b071a4b7ca131ca52d44", size = 161980 }, - { url = "https://files.pythonhosted.org/packages/86/0c/c581167fc46d6d6d7ddcfb8c843a4de25bdd27e4466938109ca68492292c/PyYAML-6.0.2-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:c70c95198c015b85feafc136515252a261a84561b7b1d51e3384e0655ddf25ab", size = 183873 }, - { url = "https://files.pythonhosted.org/packages/a8/0c/38374f5bb272c051e2a69281d71cba6fdb983413e6758b84482905e29a5d/PyYAML-6.0.2-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:ce826d6ef20b1bc864f0a68340c8b3287705cae2f8b4b1d932177dcc76721725", size = 173302 }, - { url = "https://files.pythonhosted.org/packages/c3/93/9916574aa8c00aa06bbac729972eb1071d002b8e158bd0e83a3b9a20a1f7/PyYAML-6.0.2-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:1f71ea527786de97d1a0cc0eacd1defc0985dcf6b3f17bb77dcfc8c34bec4dc5", size = 739154 }, - { url = "https://files.pythonhosted.org/packages/95/0f/b8938f1cbd09739c6da569d172531567dbcc9789e0029aa070856f123984/PyYAML-6.0.2-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:9b22676e8097e9e22e36d6b7bda33190d0d400f345f23d4065d48f4ca7ae0425", size = 766223 }, - { url = "https://files.pythonhosted.org/packages/b9/2b/614b4752f2e127db5cc206abc23a8c19678e92b23c3db30fc86ab731d3bd/PyYAML-6.0.2-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:80bab7bfc629882493af4aa31a4cfa43a4c57c83813253626916b8c7ada83476", size = 767542 }, - { url = "https://files.pythonhosted.org/packages/d4/00/dd137d5bcc7efea1836d6264f049359861cf548469d18da90cd8216cf05f/PyYAML-6.0.2-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:0833f8694549e586547b576dcfaba4a6b55b9e96098b36cdc7ebefe667dfed48", size = 731164 }, - { url = "https://files.pythonhosted.org/packages/c9/1f/4f998c900485e5c0ef43838363ba4a9723ac0ad73a9dc42068b12aaba4e4/PyYAML-6.0.2-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:8b9c7197f7cb2738065c481a0461e50ad02f18c78cd75775628afb4d7137fb3b", size = 756611 }, - { url = "https://files.pythonhosted.org/packages/df/d1/f5a275fdb252768b7a11ec63585bc38d0e87c9e05668a139fea92b80634c/PyYAML-6.0.2-cp312-cp312-win32.whl", hash = "sha256:ef6107725bd54b262d6dedcc2af448a266975032bc85ef0172c5f059da6325b4", size = 140591 }, - { url = "https://files.pythonhosted.org/packages/0c/e8/4f648c598b17c3d06e8753d7d13d57542b30d56e6c2dedf9c331ae56312e/PyYAML-6.0.2-cp312-cp312-win_amd64.whl", hash = "sha256:7e7401d0de89a9a855c839bc697c079a4af81cf878373abd7dc625847d25cbd8", size = 156338 }, - { url = "https://files.pythonhosted.org/packages/ef/e3/3af305b830494fa85d95f6d95ef7fa73f2ee1cc8ef5b495c7c3269fb835f/PyYAML-6.0.2-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:efdca5630322a10774e8e98e1af481aad470dd62c3170801852d752aa7a783ba", size = 181309 }, - { url = "https://files.pythonhosted.org/packages/45/9f/3b1c20a0b7a3200524eb0076cc027a970d320bd3a6592873c85c92a08731/PyYAML-6.0.2-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:50187695423ffe49e2deacb8cd10510bc361faac997de9efef88badc3bb9e2d1", size = 171679 }, - { url = "https://files.pythonhosted.org/packages/7c/9a/337322f27005c33bcb656c655fa78325b730324c78620e8328ae28b64d0c/PyYAML-6.0.2-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:0ffe8360bab4910ef1b9e87fb812d8bc0a308b0d0eef8c8f44e0254ab3b07133", size = 733428 }, - { url = "https://files.pythonhosted.org/packages/a3/69/864fbe19e6c18ea3cc196cbe5d392175b4cf3d5d0ac1403ec3f2d237ebb5/PyYAML-6.0.2-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:17e311b6c678207928d649faa7cb0d7b4c26a0ba73d41e99c4fff6b6c3276484", size = 763361 }, - { url = "https://files.pythonhosted.org/packages/04/24/b7721e4845c2f162d26f50521b825fb061bc0a5afcf9a386840f23ea19fa/PyYAML-6.0.2-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:70b189594dbe54f75ab3a1acec5f1e3faa7e8cf2f1e08d9b561cb41b845f69d5", size = 759523 }, - { url = "https://files.pythonhosted.org/packages/2b/b2/e3234f59ba06559c6ff63c4e10baea10e5e7df868092bf9ab40e5b9c56b6/PyYAML-6.0.2-cp313-cp313-musllinux_1_1_aarch64.whl", hash = "sha256:41e4e3953a79407c794916fa277a82531dd93aad34e29c2a514c2c0c5fe971cc", size = 726660 }, - { url = "https://files.pythonhosted.org/packages/fe/0f/25911a9f080464c59fab9027482f822b86bf0608957a5fcc6eaac85aa515/PyYAML-6.0.2-cp313-cp313-musllinux_1_1_x86_64.whl", hash = "sha256:68ccc6023a3400877818152ad9a1033e3db8625d899c72eacb5a668902e4d652", size = 751597 }, - { url = "https://files.pythonhosted.org/packages/14/0d/e2c3b43bbce3cf6bd97c840b46088a3031085179e596d4929729d8d68270/PyYAML-6.0.2-cp313-cp313-win32.whl", hash = "sha256:bc2fa7c6b47d6bc618dd7fb02ef6fdedb1090ec036abab80d4681424b84c1183", size = 140527 }, - { url = "https://files.pythonhosted.org/packages/fa/de/02b54f42487e3d3c6efb3f89428677074ca7bf43aae402517bc7cca949f3/PyYAML-6.0.2-cp313-cp313-win_amd64.whl", hash = "sha256:8388ee1976c416731879ac16da0aff3f63b286ffdd57cdeb95f3f2e085687563", size = 156446 }, - { url = "https://files.pythonhosted.org/packages/74/d9/323a59d506f12f498c2097488d80d16f4cf965cee1791eab58b56b19f47a/PyYAML-6.0.2-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:24471b829b3bf607e04e88d79542a9d48bb037c2267d7927a874e6c205ca7e9a", size = 183218 }, - { url = "https://files.pythonhosted.org/packages/74/cc/20c34d00f04d785f2028737e2e2a8254e1425102e730fee1d6396f832577/PyYAML-6.0.2-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d7fded462629cfa4b685c5416b949ebad6cec74af5e2d42905d41e257e0869f5", size = 728067 }, - { url = "https://files.pythonhosted.org/packages/20/52/551c69ca1501d21c0de51ddafa8c23a0191ef296ff098e98358f69080577/PyYAML-6.0.2-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:d84a1718ee396f54f3a086ea0a66d8e552b2ab2017ef8b420e92edbc841c352d", size = 757812 }, - { url = "https://files.pythonhosted.org/packages/fd/7f/2c3697bba5d4aa5cc2afe81826d73dfae5f049458e44732c7a0938baa673/PyYAML-6.0.2-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:9056c1ecd25795207ad294bcf39f2db3d845767be0ea6e6a34d856f006006083", size = 746531 }, - { url = "https://files.pythonhosted.org/packages/8c/ab/6226d3df99900e580091bb44258fde77a8433511a86883bd4681ea19a858/PyYAML-6.0.2-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:82d09873e40955485746739bcb8b4586983670466c23382c19cffecbf1fd8706", size = 800820 }, - { url = "https://files.pythonhosted.org/packages/a0/99/a9eb0f3e710c06c5d922026f6736e920d431812ace24aae38228d0d64b04/PyYAML-6.0.2-cp38-cp38-win32.whl", hash = "sha256:43fa96a3ca0d6b1812e01ced1044a003533c47f6ee8aca31724f78e93ccc089a", size = 145514 }, - { url = "https://files.pythonhosted.org/packages/75/8a/ee831ad5fafa4431099aa4e078d4c8efd43cd5e48fbc774641d233b683a9/PyYAML-6.0.2-cp38-cp38-win_amd64.whl", hash = "sha256:01179a4a8559ab5de078078f37e5c1a30d76bb88519906844fd7bdea1b7729ff", size = 162702 }, - { url = "https://files.pythonhosted.org/packages/65/d8/b7a1db13636d7fb7d4ff431593c510c8b8fca920ade06ca8ef20015493c5/PyYAML-6.0.2-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:688ba32a1cffef67fd2e9398a2efebaea461578b0923624778664cc1c914db5d", size = 184777 }, - { url = "https://files.pythonhosted.org/packages/0a/02/6ec546cd45143fdf9840b2c6be8d875116a64076218b61d68e12548e5839/PyYAML-6.0.2-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:a8786accb172bd8afb8be14490a16625cbc387036876ab6ba70912730faf8e1f", size = 172318 }, - { url = "https://files.pythonhosted.org/packages/0e/9a/8cc68be846c972bda34f6c2a93abb644fb2476f4dcc924d52175786932c9/PyYAML-6.0.2-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d8e03406cac8513435335dbab54c0d385e4a49e4945d2909a581c83647ca0290", size = 720891 }, - { url = "https://files.pythonhosted.org/packages/e9/6c/6e1b7f40181bc4805e2e07f4abc10a88ce4648e7e95ff1abe4ae4014a9b2/PyYAML-6.0.2-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:f753120cb8181e736c57ef7636e83f31b9c0d1722c516f7e86cf15b7aa57ff12", size = 722614 }, - { url = "https://files.pythonhosted.org/packages/3d/32/e7bd8535d22ea2874cef6a81021ba019474ace0d13a4819c2a4bce79bd6a/PyYAML-6.0.2-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:3b1fdb9dc17f5a7677423d508ab4f243a726dea51fa5e70992e59a7411c89d19", size = 737360 }, - { url = "https://files.pythonhosted.org/packages/d7/12/7322c1e30b9be969670b672573d45479edef72c9a0deac3bb2868f5d7469/PyYAML-6.0.2-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:0b69e4ce7a131fe56b7e4d770c67429700908fc0752af059838b1cfb41960e4e", size = 699006 }, - { url = "https://files.pythonhosted.org/packages/82/72/04fcad41ca56491995076630c3ec1e834be241664c0c09a64c9a2589b507/PyYAML-6.0.2-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:a9f8c2e67970f13b16084e04f134610fd1d374bf477b17ec1599185cf611d725", size = 723577 }, - { url = "https://files.pythonhosted.org/packages/ed/5e/46168b1f2757f1fcd442bc3029cd8767d88a98c9c05770d8b420948743bb/PyYAML-6.0.2-cp39-cp39-win32.whl", hash = "sha256:6395c297d42274772abc367baaa79683958044e5d3835486c16da75d2a694631", size = 144593 }, - { url = "https://files.pythonhosted.org/packages/19/87/5124b1c1f2412bb95c59ec481eaf936cd32f0fe2a7b16b97b81c4c017a6a/PyYAML-6.0.2-cp39-cp39-win_amd64.whl", hash = "sha256:39693e1f8320ae4f43943590b49779ffb98acb81f788220ea932a6b6c51004d8", size = 162312 }, +sdist = { url = "https://files.pythonhosted.org/packages/54/ed/79a089b6be93607fa5cdaedf301d7dfb23af5f25c398d5ead2525b063e17/pyyaml-6.0.2.tar.gz", hash = "sha256:d584d9ec91ad65861cc08d42e834324ef890a082e591037abe114850ff7bbc3e", size = 130631, upload-time = "2024-08-06T20:33:50.674Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/9b/95/a3fac87cb7158e231b5a6012e438c647e1a87f09f8e0d123acec8ab8bf71/PyYAML-6.0.2-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:0a9a2848a5b7feac301353437eb7d5957887edbf81d56e903999a75a3d743086", size = 184199, upload-time = "2024-08-06T20:31:40.178Z" }, + { url = "https://files.pythonhosted.org/packages/c7/7a/68bd47624dab8fd4afbfd3c48e3b79efe09098ae941de5b58abcbadff5cb/PyYAML-6.0.2-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:29717114e51c84ddfba879543fb232a6ed60086602313ca38cce623c1d62cfbf", size = 171758, upload-time = "2024-08-06T20:31:42.173Z" }, + { url = "https://files.pythonhosted.org/packages/49/ee/14c54df452143b9ee9f0f29074d7ca5516a36edb0b4cc40c3f280131656f/PyYAML-6.0.2-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:8824b5a04a04a047e72eea5cec3bc266db09e35de6bdfe34c9436ac5ee27d237", size = 718463, upload-time = "2024-08-06T20:31:44.263Z" }, + { url = "https://files.pythonhosted.org/packages/4d/61/de363a97476e766574650d742205be468921a7b532aa2499fcd886b62530/PyYAML-6.0.2-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:7c36280e6fb8385e520936c3cb3b8042851904eba0e58d277dca80a5cfed590b", size = 719280, upload-time = "2024-08-06T20:31:50.199Z" }, + { url = "https://files.pythonhosted.org/packages/6b/4e/1523cb902fd98355e2e9ea5e5eb237cbc5f3ad5f3075fa65087aa0ecb669/PyYAML-6.0.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ec031d5d2feb36d1d1a24380e4db6d43695f3748343d99434e6f5f9156aaa2ed", size = 751239, upload-time = "2024-08-06T20:31:52.292Z" }, + { url = "https://files.pythonhosted.org/packages/b7/33/5504b3a9a4464893c32f118a9cc045190a91637b119a9c881da1cf6b7a72/PyYAML-6.0.2-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:936d68689298c36b53b29f23c6dbb74de12b4ac12ca6cfe0e047bedceea56180", size = 695802, upload-time = "2024-08-06T20:31:53.836Z" }, + { url = "https://files.pythonhosted.org/packages/5c/20/8347dcabd41ef3a3cdc4f7b7a2aff3d06598c8779faa189cdbf878b626a4/PyYAML-6.0.2-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:23502f431948090f597378482b4812b0caae32c22213aecf3b55325e049a6c68", size = 720527, upload-time = "2024-08-06T20:31:55.565Z" }, + { url = "https://files.pythonhosted.org/packages/be/aa/5afe99233fb360d0ff37377145a949ae258aaab831bde4792b32650a4378/PyYAML-6.0.2-cp310-cp310-win32.whl", hash = "sha256:2e99c6826ffa974fe6e27cdb5ed0021786b03fc98e5ee3c5bfe1fd5015f42b99", size = 144052, upload-time = "2024-08-06T20:31:56.914Z" }, + { url = "https://files.pythonhosted.org/packages/b5/84/0fa4b06f6d6c958d207620fc60005e241ecedceee58931bb20138e1e5776/PyYAML-6.0.2-cp310-cp310-win_amd64.whl", hash = "sha256:a4d3091415f010369ae4ed1fc6b79def9416358877534caf6a0fdd2146c87a3e", size = 161774, upload-time = "2024-08-06T20:31:58.304Z" }, + { url = "https://files.pythonhosted.org/packages/f8/aa/7af4e81f7acba21a4c6be026da38fd2b872ca46226673c89a758ebdc4fd2/PyYAML-6.0.2-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:cc1c1159b3d456576af7a3e4d1ba7e6924cb39de8f67111c735f6fc832082774", size = 184612, upload-time = "2024-08-06T20:32:03.408Z" }, + { url = "https://files.pythonhosted.org/packages/8b/62/b9faa998fd185f65c1371643678e4d58254add437edb764a08c5a98fb986/PyYAML-6.0.2-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:1e2120ef853f59c7419231f3bf4e7021f1b936f6ebd222406c3b60212205d2ee", size = 172040, upload-time = "2024-08-06T20:32:04.926Z" }, + { url = "https://files.pythonhosted.org/packages/ad/0c/c804f5f922a9a6563bab712d8dcc70251e8af811fce4524d57c2c0fd49a4/PyYAML-6.0.2-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:5d225db5a45f21e78dd9358e58a98702a0302f2659a3c6cd320564b75b86f47c", size = 736829, upload-time = "2024-08-06T20:32:06.459Z" }, + { url = "https://files.pythonhosted.org/packages/51/16/6af8d6a6b210c8e54f1406a6b9481febf9c64a3109c541567e35a49aa2e7/PyYAML-6.0.2-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:5ac9328ec4831237bec75defaf839f7d4564be1e6b25ac710bd1a96321cc8317", size = 764167, upload-time = "2024-08-06T20:32:08.338Z" }, + { url = "https://files.pythonhosted.org/packages/75/e4/2c27590dfc9992f73aabbeb9241ae20220bd9452df27483b6e56d3975cc5/PyYAML-6.0.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:3ad2a3decf9aaba3d29c8f537ac4b243e36bef957511b4766cb0057d32b0be85", size = 762952, upload-time = "2024-08-06T20:32:14.124Z" }, + { url = "https://files.pythonhosted.org/packages/9b/97/ecc1abf4a823f5ac61941a9c00fe501b02ac3ab0e373c3857f7d4b83e2b6/PyYAML-6.0.2-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:ff3824dc5261f50c9b0dfb3be22b4567a6f938ccce4587b38952d85fd9e9afe4", size = 735301, upload-time = "2024-08-06T20:32:16.17Z" }, + { url = "https://files.pythonhosted.org/packages/45/73/0f49dacd6e82c9430e46f4a027baa4ca205e8b0a9dce1397f44edc23559d/PyYAML-6.0.2-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:797b4f722ffa07cc8d62053e4cff1486fa6dc094105d13fea7b1de7d8bf71c9e", size = 756638, upload-time = "2024-08-06T20:32:18.555Z" }, + { url = "https://files.pythonhosted.org/packages/22/5f/956f0f9fc65223a58fbc14459bf34b4cc48dec52e00535c79b8db361aabd/PyYAML-6.0.2-cp311-cp311-win32.whl", hash = "sha256:11d8f3dd2b9c1207dcaf2ee0bbbfd5991f571186ec9cc78427ba5bd32afae4b5", size = 143850, upload-time = "2024-08-06T20:32:19.889Z" }, + { url = "https://files.pythonhosted.org/packages/ed/23/8da0bbe2ab9dcdd11f4f4557ccaf95c10b9811b13ecced089d43ce59c3c8/PyYAML-6.0.2-cp311-cp311-win_amd64.whl", hash = "sha256:e10ce637b18caea04431ce14fabcf5c64a1c61ec9c56b071a4b7ca131ca52d44", size = 161980, upload-time = "2024-08-06T20:32:21.273Z" }, + { url = "https://files.pythonhosted.org/packages/86/0c/c581167fc46d6d6d7ddcfb8c843a4de25bdd27e4466938109ca68492292c/PyYAML-6.0.2-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:c70c95198c015b85feafc136515252a261a84561b7b1d51e3384e0655ddf25ab", size = 183873, upload-time = "2024-08-06T20:32:25.131Z" }, + { url = "https://files.pythonhosted.org/packages/a8/0c/38374f5bb272c051e2a69281d71cba6fdb983413e6758b84482905e29a5d/PyYAML-6.0.2-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:ce826d6ef20b1bc864f0a68340c8b3287705cae2f8b4b1d932177dcc76721725", size = 173302, upload-time = "2024-08-06T20:32:26.511Z" }, + { url = "https://files.pythonhosted.org/packages/c3/93/9916574aa8c00aa06bbac729972eb1071d002b8e158bd0e83a3b9a20a1f7/PyYAML-6.0.2-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:1f71ea527786de97d1a0cc0eacd1defc0985dcf6b3f17bb77dcfc8c34bec4dc5", size = 739154, upload-time = "2024-08-06T20:32:28.363Z" }, + { url = "https://files.pythonhosted.org/packages/95/0f/b8938f1cbd09739c6da569d172531567dbcc9789e0029aa070856f123984/PyYAML-6.0.2-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:9b22676e8097e9e22e36d6b7bda33190d0d400f345f23d4065d48f4ca7ae0425", size = 766223, upload-time = "2024-08-06T20:32:30.058Z" }, + { url = "https://files.pythonhosted.org/packages/b9/2b/614b4752f2e127db5cc206abc23a8c19678e92b23c3db30fc86ab731d3bd/PyYAML-6.0.2-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:80bab7bfc629882493af4aa31a4cfa43a4c57c83813253626916b8c7ada83476", size = 767542, upload-time = "2024-08-06T20:32:31.881Z" }, + { url = "https://files.pythonhosted.org/packages/d4/00/dd137d5bcc7efea1836d6264f049359861cf548469d18da90cd8216cf05f/PyYAML-6.0.2-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:0833f8694549e586547b576dcfaba4a6b55b9e96098b36cdc7ebefe667dfed48", size = 731164, upload-time = "2024-08-06T20:32:37.083Z" }, + { url = "https://files.pythonhosted.org/packages/c9/1f/4f998c900485e5c0ef43838363ba4a9723ac0ad73a9dc42068b12aaba4e4/PyYAML-6.0.2-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:8b9c7197f7cb2738065c481a0461e50ad02f18c78cd75775628afb4d7137fb3b", size = 756611, upload-time = "2024-08-06T20:32:38.898Z" }, + { url = "https://files.pythonhosted.org/packages/df/d1/f5a275fdb252768b7a11ec63585bc38d0e87c9e05668a139fea92b80634c/PyYAML-6.0.2-cp312-cp312-win32.whl", hash = "sha256:ef6107725bd54b262d6dedcc2af448a266975032bc85ef0172c5f059da6325b4", size = 140591, upload-time = "2024-08-06T20:32:40.241Z" }, + { url = "https://files.pythonhosted.org/packages/0c/e8/4f648c598b17c3d06e8753d7d13d57542b30d56e6c2dedf9c331ae56312e/PyYAML-6.0.2-cp312-cp312-win_amd64.whl", hash = "sha256:7e7401d0de89a9a855c839bc697c079a4af81cf878373abd7dc625847d25cbd8", size = 156338, upload-time = "2024-08-06T20:32:41.93Z" }, + { url = "https://files.pythonhosted.org/packages/ef/e3/3af305b830494fa85d95f6d95ef7fa73f2ee1cc8ef5b495c7c3269fb835f/PyYAML-6.0.2-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:efdca5630322a10774e8e98e1af481aad470dd62c3170801852d752aa7a783ba", size = 181309, upload-time = "2024-08-06T20:32:43.4Z" }, + { url = "https://files.pythonhosted.org/packages/45/9f/3b1c20a0b7a3200524eb0076cc027a970d320bd3a6592873c85c92a08731/PyYAML-6.0.2-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:50187695423ffe49e2deacb8cd10510bc361faac997de9efef88badc3bb9e2d1", size = 171679, upload-time = "2024-08-06T20:32:44.801Z" }, + { url = "https://files.pythonhosted.org/packages/7c/9a/337322f27005c33bcb656c655fa78325b730324c78620e8328ae28b64d0c/PyYAML-6.0.2-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:0ffe8360bab4910ef1b9e87fb812d8bc0a308b0d0eef8c8f44e0254ab3b07133", size = 733428, upload-time = "2024-08-06T20:32:46.432Z" }, + { url = "https://files.pythonhosted.org/packages/a3/69/864fbe19e6c18ea3cc196cbe5d392175b4cf3d5d0ac1403ec3f2d237ebb5/PyYAML-6.0.2-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:17e311b6c678207928d649faa7cb0d7b4c26a0ba73d41e99c4fff6b6c3276484", size = 763361, upload-time = "2024-08-06T20:32:51.188Z" }, + { url = "https://files.pythonhosted.org/packages/04/24/b7721e4845c2f162d26f50521b825fb061bc0a5afcf9a386840f23ea19fa/PyYAML-6.0.2-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:70b189594dbe54f75ab3a1acec5f1e3faa7e8cf2f1e08d9b561cb41b845f69d5", size = 759523, upload-time = "2024-08-06T20:32:53.019Z" }, + { url = "https://files.pythonhosted.org/packages/2b/b2/e3234f59ba06559c6ff63c4e10baea10e5e7df868092bf9ab40e5b9c56b6/PyYAML-6.0.2-cp313-cp313-musllinux_1_1_aarch64.whl", hash = "sha256:41e4e3953a79407c794916fa277a82531dd93aad34e29c2a514c2c0c5fe971cc", size = 726660, upload-time = "2024-08-06T20:32:54.708Z" }, + { url = "https://files.pythonhosted.org/packages/fe/0f/25911a9f080464c59fab9027482f822b86bf0608957a5fcc6eaac85aa515/PyYAML-6.0.2-cp313-cp313-musllinux_1_1_x86_64.whl", hash = "sha256:68ccc6023a3400877818152ad9a1033e3db8625d899c72eacb5a668902e4d652", size = 751597, upload-time = "2024-08-06T20:32:56.985Z" }, + { url = "https://files.pythonhosted.org/packages/14/0d/e2c3b43bbce3cf6bd97c840b46088a3031085179e596d4929729d8d68270/PyYAML-6.0.2-cp313-cp313-win32.whl", hash = "sha256:bc2fa7c6b47d6bc618dd7fb02ef6fdedb1090ec036abab80d4681424b84c1183", size = 140527, upload-time = "2024-08-06T20:33:03.001Z" }, + { url = "https://files.pythonhosted.org/packages/fa/de/02b54f42487e3d3c6efb3f89428677074ca7bf43aae402517bc7cca949f3/PyYAML-6.0.2-cp313-cp313-win_amd64.whl", hash = "sha256:8388ee1976c416731879ac16da0aff3f63b286ffdd57cdeb95f3f2e085687563", size = 156446, upload-time = "2024-08-06T20:33:04.33Z" }, + { url = "https://files.pythonhosted.org/packages/74/d9/323a59d506f12f498c2097488d80d16f4cf965cee1791eab58b56b19f47a/PyYAML-6.0.2-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:24471b829b3bf607e04e88d79542a9d48bb037c2267d7927a874e6c205ca7e9a", size = 183218, upload-time = "2024-08-06T20:33:06.411Z" }, + { url = "https://files.pythonhosted.org/packages/74/cc/20c34d00f04d785f2028737e2e2a8254e1425102e730fee1d6396f832577/PyYAML-6.0.2-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d7fded462629cfa4b685c5416b949ebad6cec74af5e2d42905d41e257e0869f5", size = 728067, upload-time = "2024-08-06T20:33:07.879Z" }, + { url = "https://files.pythonhosted.org/packages/20/52/551c69ca1501d21c0de51ddafa8c23a0191ef296ff098e98358f69080577/PyYAML-6.0.2-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:d84a1718ee396f54f3a086ea0a66d8e552b2ab2017ef8b420e92edbc841c352d", size = 757812, upload-time = "2024-08-06T20:33:12.542Z" }, + { url = "https://files.pythonhosted.org/packages/fd/7f/2c3697bba5d4aa5cc2afe81826d73dfae5f049458e44732c7a0938baa673/PyYAML-6.0.2-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:9056c1ecd25795207ad294bcf39f2db3d845767be0ea6e6a34d856f006006083", size = 746531, upload-time = "2024-08-06T20:33:14.391Z" }, + { url = "https://files.pythonhosted.org/packages/8c/ab/6226d3df99900e580091bb44258fde77a8433511a86883bd4681ea19a858/PyYAML-6.0.2-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:82d09873e40955485746739bcb8b4586983670466c23382c19cffecbf1fd8706", size = 800820, upload-time = "2024-08-06T20:33:16.586Z" }, + { url = "https://files.pythonhosted.org/packages/a0/99/a9eb0f3e710c06c5d922026f6736e920d431812ace24aae38228d0d64b04/PyYAML-6.0.2-cp38-cp38-win32.whl", hash = "sha256:43fa96a3ca0d6b1812e01ced1044a003533c47f6ee8aca31724f78e93ccc089a", size = 145514, upload-time = "2024-08-06T20:33:22.414Z" }, + { url = "https://files.pythonhosted.org/packages/75/8a/ee831ad5fafa4431099aa4e078d4c8efd43cd5e48fbc774641d233b683a9/PyYAML-6.0.2-cp38-cp38-win_amd64.whl", hash = "sha256:01179a4a8559ab5de078078f37e5c1a30d76bb88519906844fd7bdea1b7729ff", size = 162702, upload-time = "2024-08-06T20:33:23.813Z" }, + { url = "https://files.pythonhosted.org/packages/65/d8/b7a1db13636d7fb7d4ff431593c510c8b8fca920ade06ca8ef20015493c5/PyYAML-6.0.2-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:688ba32a1cffef67fd2e9398a2efebaea461578b0923624778664cc1c914db5d", size = 184777, upload-time = "2024-08-06T20:33:25.896Z" }, + { url = "https://files.pythonhosted.org/packages/0a/02/6ec546cd45143fdf9840b2c6be8d875116a64076218b61d68e12548e5839/PyYAML-6.0.2-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:a8786accb172bd8afb8be14490a16625cbc387036876ab6ba70912730faf8e1f", size = 172318, upload-time = "2024-08-06T20:33:27.212Z" }, + { url = "https://files.pythonhosted.org/packages/0e/9a/8cc68be846c972bda34f6c2a93abb644fb2476f4dcc924d52175786932c9/PyYAML-6.0.2-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d8e03406cac8513435335dbab54c0d385e4a49e4945d2909a581c83647ca0290", size = 720891, upload-time = "2024-08-06T20:33:28.974Z" }, + { url = "https://files.pythonhosted.org/packages/e9/6c/6e1b7f40181bc4805e2e07f4abc10a88ce4648e7e95ff1abe4ae4014a9b2/PyYAML-6.0.2-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:f753120cb8181e736c57ef7636e83f31b9c0d1722c516f7e86cf15b7aa57ff12", size = 722614, upload-time = "2024-08-06T20:33:34.157Z" }, + { url = "https://files.pythonhosted.org/packages/3d/32/e7bd8535d22ea2874cef6a81021ba019474ace0d13a4819c2a4bce79bd6a/PyYAML-6.0.2-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:3b1fdb9dc17f5a7677423d508ab4f243a726dea51fa5e70992e59a7411c89d19", size = 737360, upload-time = "2024-08-06T20:33:35.84Z" }, + { url = "https://files.pythonhosted.org/packages/d7/12/7322c1e30b9be969670b672573d45479edef72c9a0deac3bb2868f5d7469/PyYAML-6.0.2-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:0b69e4ce7a131fe56b7e4d770c67429700908fc0752af059838b1cfb41960e4e", size = 699006, upload-time = "2024-08-06T20:33:37.501Z" }, + { url = "https://files.pythonhosted.org/packages/82/72/04fcad41ca56491995076630c3ec1e834be241664c0c09a64c9a2589b507/PyYAML-6.0.2-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:a9f8c2e67970f13b16084e04f134610fd1d374bf477b17ec1599185cf611d725", size = 723577, upload-time = "2024-08-06T20:33:39.389Z" }, + { url = "https://files.pythonhosted.org/packages/ed/5e/46168b1f2757f1fcd442bc3029cd8767d88a98c9c05770d8b420948743bb/PyYAML-6.0.2-cp39-cp39-win32.whl", hash = "sha256:6395c297d42274772abc367baaa79683958044e5d3835486c16da75d2a694631", size = 144593, upload-time = "2024-08-06T20:33:46.63Z" }, + { url = "https://files.pythonhosted.org/packages/19/87/5124b1c1f2412bb95c59ec481eaf936cd32f0fe2a7b16b97b81c4c017a6a/PyYAML-6.0.2-cp39-cp39-win_amd64.whl", hash = "sha256:39693e1f8320ae4f43943590b49779ffb98acb81f788220ea932a6b6c51004d8", size = 162312, upload-time = "2024-08-06T20:33:49.073Z" }, ] [[package]] @@ -3966,9 +3966,9 @@ source = { registry = "https://pypi.org/simple" } dependencies = [ { name = "pyyaml" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/fb/8e/da1c6c58f751b70f8ceb1eb25bc25d524e8f14fe16edcce3f4e3ba08629c/pyyaml_env_tag-0.1.tar.gz", hash = "sha256:70092675bda14fdec33b31ba77e7543de9ddc88f2e5b99160396572d11525bdb", size = 5631 } +sdist = { url = "https://files.pythonhosted.org/packages/fb/8e/da1c6c58f751b70f8ceb1eb25bc25d524e8f14fe16edcce3f4e3ba08629c/pyyaml_env_tag-0.1.tar.gz", hash = "sha256:70092675bda14fdec33b31ba77e7543de9ddc88f2e5b99160396572d11525bdb", size = 5631, upload-time = "2020-11-12T02:38:26.239Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/5a/66/bbb1dd374f5c870f59c5bb1db0e18cbe7fa739415a24cbd95b2d1f5ae0c4/pyyaml_env_tag-0.1-py3-none-any.whl", hash = "sha256:af31106dec8a4d68c60207c1886031cbf839b68aa7abccdb19868200532c2069", size = 3911 }, + { url = "https://files.pythonhosted.org/packages/5a/66/bbb1dd374f5c870f59c5bb1db0e18cbe7fa739415a24cbd95b2d1f5ae0c4/pyyaml_env_tag-0.1-py3-none-any.whl", hash = "sha256:af31106dec8a4d68c60207c1886031cbf839b68aa7abccdb19868200532c2069", size = 3911, upload-time = "2020-11-12T02:38:24.638Z" }, ] [[package]] @@ -3978,102 +3978,102 @@ source = { registry = "https://pypi.org/simple" } dependencies = [ { name = "cffi", marker = "implementation_name == 'pypy'" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/5a/e3/8d0382cb59feb111c252b54e8728257416a38ffcb2243c4e4775a3c990fe/pyzmq-26.2.1.tar.gz", hash = "sha256:17d72a74e5e9ff3829deb72897a175333d3ef5b5413948cae3cf7ebf0b02ecca", size = 278433 } -wheels = [ - { url = "https://files.pythonhosted.org/packages/70/3d/c2d9d46c033d1b51692ea49a22439f7f66d91d5c938e8b5c56ed7a2151c2/pyzmq-26.2.1-cp310-cp310-macosx_10_15_universal2.whl", hash = "sha256:f39d1227e8256d19899d953e6e19ed2ccb689102e6d85e024da5acf410f301eb", size = 1345451 }, - { url = "https://files.pythonhosted.org/packages/0e/df/4754a8abcdeef280651f9bb51446c47659910940b392a66acff7c37f5cef/pyzmq-26.2.1-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:a23948554c692df95daed595fdd3b76b420a4939d7a8a28d6d7dea9711878641", size = 942766 }, - { url = "https://files.pythonhosted.org/packages/74/da/e6053a3b13c912eded6c2cdeee22ff3a4c33820d17f9eb24c7b6e957ffe7/pyzmq-26.2.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:95f5728b367a042df146cec4340d75359ec6237beebf4a8f5cf74657c65b9257", size = 678488 }, - { url = "https://files.pythonhosted.org/packages/9e/50/614934145244142401ca174ca81071777ab93aa88173973ba0154f491e09/pyzmq-26.2.1-cp310-cp310-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:95f7b01b3f275504011cf4cf21c6b885c8d627ce0867a7e83af1382ebab7b3ff", size = 917115 }, - { url = "https://files.pythonhosted.org/packages/80/2b/ebeb7bc4fc8e9e61650b2e09581597355a4341d413fa9b2947d7a6558119/pyzmq-26.2.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:80a00370a2ef2159c310e662c7c0f2d030f437f35f478bb8b2f70abd07e26b24", size = 874162 }, - { url = "https://files.pythonhosted.org/packages/79/48/93210621c331ad16313dc2849801411fbae10d91d878853933f2a85df8e7/pyzmq-26.2.1-cp310-cp310-manylinux_2_28_x86_64.whl", hash = "sha256:8531ed35dfd1dd2af95f5d02afd6545e8650eedbf8c3d244a554cf47d8924459", size = 874180 }, - { url = "https://files.pythonhosted.org/packages/f0/8b/40924b4d8e33bfdd54c1970fb50f327e39b90b902f897cf09b30b2e9ac48/pyzmq-26.2.1-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:cdb69710e462a38e6039cf17259d328f86383a06c20482cc154327968712273c", size = 1208139 }, - { url = "https://files.pythonhosted.org/packages/c8/b2/82d6675fc89bd965eae13c45002c792d33f06824589844b03f8ea8fc6d86/pyzmq-26.2.1-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:e7eeaef81530d0b74ad0d29eec9997f1c9230c2f27242b8d17e0ee67662c8f6e", size = 1520666 }, - { url = "https://files.pythonhosted.org/packages/9d/e2/5ff15f2d3f920dcc559d477bd9bb3faacd6d79fcf7c5448e585c78f84849/pyzmq-26.2.1-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:361edfa350e3be1f987e592e834594422338d7174364763b7d3de5b0995b16f3", size = 1420056 }, - { url = "https://files.pythonhosted.org/packages/40/a2/f9bbeccf7f75aa0d8963e224e5730abcefbf742e1f2ae9ea60fd9d6ff72b/pyzmq-26.2.1-cp310-cp310-win32.whl", hash = "sha256:637536c07d2fb6a354988b2dd1d00d02eb5dd443f4bbee021ba30881af1c28aa", size = 583874 }, - { url = "https://files.pythonhosted.org/packages/56/b1/44f513135843272f0e12f5aebf4af35839e2a88eb45411f2c8c010d8c856/pyzmq-26.2.1-cp310-cp310-win_amd64.whl", hash = "sha256:45fad32448fd214fbe60030aa92f97e64a7140b624290834cc9b27b3a11f9473", size = 647367 }, - { url = "https://files.pythonhosted.org/packages/27/9c/1bef14a37b02d651a462811bbdb1390b61cd4a5b5e95cbd7cc2d60ef848c/pyzmq-26.2.1-cp310-cp310-win_arm64.whl", hash = "sha256:d9da0289d8201c8a29fd158aaa0dfe2f2e14a181fd45e2dc1fbf969a62c1d594", size = 561784 }, - { url = "https://files.pythonhosted.org/packages/b9/03/5ecc46a6ed5971299f5c03e016ca637802d8660e44392bea774fb7797405/pyzmq-26.2.1-cp311-cp311-macosx_10_15_universal2.whl", hash = "sha256:c059883840e634a21c5b31d9b9a0e2b48f991b94d60a811092bc37992715146a", size = 1346032 }, - { url = "https://files.pythonhosted.org/packages/40/51/48fec8f990ee644f461ff14c8fe5caa341b0b9b3a0ad7544f8ef17d6f528/pyzmq-26.2.1-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:ed038a921df836d2f538e509a59cb638df3e70ca0fcd70d0bf389dfcdf784d2a", size = 943324 }, - { url = "https://files.pythonhosted.org/packages/c1/f4/f322b389727c687845e38470b48d7a43c18a83f26d4d5084603c6c3f79ca/pyzmq-26.2.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:9027a7fcf690f1a3635dc9e55e38a0d6602dbbc0548935d08d46d2e7ec91f454", size = 678418 }, - { url = "https://files.pythonhosted.org/packages/a8/df/2834e3202533bd05032d83e02db7ac09fa1be853bbef59974f2b2e3a8557/pyzmq-26.2.1-cp311-cp311-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:6d75fcb00a1537f8b0c0bb05322bc7e35966148ffc3e0362f0369e44a4a1de99", size = 915466 }, - { url = "https://files.pythonhosted.org/packages/b5/e2/45c0f6e122b562cb8c6c45c0dcac1160a4e2207385ef9b13463e74f93031/pyzmq-26.2.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f0019cc804ac667fb8c8eaecdb66e6d4a68acf2e155d5c7d6381a5645bd93ae4", size = 873347 }, - { url = "https://files.pythonhosted.org/packages/de/b9/3e0fbddf8b87454e914501d368171466a12550c70355b3844115947d68ea/pyzmq-26.2.1-cp311-cp311-manylinux_2_28_x86_64.whl", hash = "sha256:f19dae58b616ac56b96f2e2290f2d18730a898a171f447f491cc059b073ca1fa", size = 874545 }, - { url = "https://files.pythonhosted.org/packages/1f/1c/1ee41d6e10b2127263b1994bc53b9e74ece015b0d2c0a30e0afaf69b78b2/pyzmq-26.2.1-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:f5eeeb82feec1fc5cbafa5ee9022e87ffdb3a8c48afa035b356fcd20fc7f533f", size = 1208630 }, - { url = "https://files.pythonhosted.org/packages/3d/a9/50228465c625851a06aeee97c74f253631f509213f979166e83796299c60/pyzmq-26.2.1-cp311-cp311-musllinux_1_1_i686.whl", hash = "sha256:000760e374d6f9d1a3478a42ed0c98604de68c9e94507e5452951e598ebecfba", size = 1519568 }, - { url = "https://files.pythonhosted.org/packages/c6/f2/6360b619e69da78863c2108beb5196ae8b955fe1e161c0b886b95dc6b1ac/pyzmq-26.2.1-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:817fcd3344d2a0b28622722b98500ae9c8bfee0f825b8450932ff19c0b15bebd", size = 1419677 }, - { url = "https://files.pythonhosted.org/packages/da/d5/f179da989168f5dfd1be8103ef508ade1d38a8078dda4f10ebae3131a490/pyzmq-26.2.1-cp311-cp311-win32.whl", hash = "sha256:88812b3b257f80444a986b3596e5ea5c4d4ed4276d2b85c153a6fbc5ca457ae7", size = 582682 }, - { url = "https://files.pythonhosted.org/packages/60/50/e5b2e9de3ffab73ff92bee736216cf209381081fa6ab6ba96427777d98b1/pyzmq-26.2.1-cp311-cp311-win_amd64.whl", hash = "sha256:ef29630fde6022471d287c15c0a2484aba188adbfb978702624ba7a54ddfa6c1", size = 648128 }, - { url = "https://files.pythonhosted.org/packages/d9/fe/7bb93476dd8405b0fc9cab1fd921a08bd22d5e3016aa6daea1a78d54129b/pyzmq-26.2.1-cp311-cp311-win_arm64.whl", hash = "sha256:f32718ee37c07932cc336096dc7403525301fd626349b6eff8470fe0f996d8d7", size = 562465 }, - { url = "https://files.pythonhosted.org/packages/9c/b9/260a74786f162c7f521f5f891584a51d5a42fd15f5dcaa5c9226b2865fcc/pyzmq-26.2.1-cp312-cp312-macosx_10_15_universal2.whl", hash = "sha256:a6549ecb0041dafa55b5932dcbb6c68293e0bd5980b5b99f5ebb05f9a3b8a8f3", size = 1348495 }, - { url = "https://files.pythonhosted.org/packages/bf/73/8a0757e4b68f5a8ccb90ddadbb76c6a5f880266cdb18be38c99bcdc17aaa/pyzmq-26.2.1-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:0250c94561f388db51fd0213cdccbd0b9ef50fd3c57ce1ac937bf3034d92d72e", size = 945035 }, - { url = "https://files.pythonhosted.org/packages/cf/de/f02ec973cd33155bb772bae33ace774acc7cc71b87b25c4829068bec35de/pyzmq-26.2.1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:36ee4297d9e4b34b5dc1dd7ab5d5ea2cbba8511517ef44104d2915a917a56dc8", size = 671213 }, - { url = "https://files.pythonhosted.org/packages/d1/80/8fc583085f85ac91682744efc916888dd9f11f9f75a31aef1b78a5486c6c/pyzmq-26.2.1-cp312-cp312-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:c2a9cb17fd83b7a3a3009901aca828feaf20aa2451a8a487b035455a86549c09", size = 908750 }, - { url = "https://files.pythonhosted.org/packages/c3/25/0b4824596f261a3cc512ab152448b383047ff5f143a6906a36876415981c/pyzmq-26.2.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:786dd8a81b969c2081b31b17b326d3a499ddd1856e06d6d79ad41011a25148da", size = 865416 }, - { url = "https://files.pythonhosted.org/packages/a1/d1/6fda77a034d02034367b040973fd3861d945a5347e607bd2e98c99f20599/pyzmq-26.2.1-cp312-cp312-manylinux_2_28_x86_64.whl", hash = "sha256:2d88ba221a07fc2c5581565f1d0fe8038c15711ae79b80d9462e080a1ac30435", size = 865922 }, - { url = "https://files.pythonhosted.org/packages/ad/81/48f7fd8a71c427412e739ce576fc1ee14f3dc34527ca9b0076e471676183/pyzmq-26.2.1-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:1c84c1297ff9f1cd2440da4d57237cb74be21fdfe7d01a10810acba04e79371a", size = 1201526 }, - { url = "https://files.pythonhosted.org/packages/c7/d8/818f15c6ef36b5450e435cbb0d3a51599fc884a5d2b27b46b9c00af68ef1/pyzmq-26.2.1-cp312-cp312-musllinux_1_1_i686.whl", hash = "sha256:46d4ebafc27081a7f73a0f151d0c38d4291656aa134344ec1f3d0199ebfbb6d4", size = 1512808 }, - { url = "https://files.pythonhosted.org/packages/d9/c4/b3edb7d0ae82ad6fb1a8cdb191a4113c427a01e85139906f3b655b07f4f8/pyzmq-26.2.1-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:91e2bfb8e9a29f709d51b208dd5f441dc98eb412c8fe75c24ea464734ccdb48e", size = 1411836 }, - { url = "https://files.pythonhosted.org/packages/69/1c/151e3d42048f02cc5cd6dfc241d9d36b38375b4dee2e728acb5c353a6d52/pyzmq-26.2.1-cp312-cp312-win32.whl", hash = "sha256:4a98898fdce380c51cc3e38ebc9aa33ae1e078193f4dc641c047f88b8c690c9a", size = 581378 }, - { url = "https://files.pythonhosted.org/packages/b6/b9/d59a7462848aaab7277fddb253ae134a570520115d80afa85e952287e6bc/pyzmq-26.2.1-cp312-cp312-win_amd64.whl", hash = "sha256:a0741edbd0adfe5f30bba6c5223b78c131b5aa4a00a223d631e5ef36e26e6d13", size = 643737 }, - { url = "https://files.pythonhosted.org/packages/55/09/f37e707937cce328944c1d57e5e50ab905011d35252a0745c4f7e5822a76/pyzmq-26.2.1-cp312-cp312-win_arm64.whl", hash = "sha256:e5e33b1491555843ba98d5209439500556ef55b6ab635f3a01148545498355e5", size = 558303 }, - { url = "https://files.pythonhosted.org/packages/4f/2e/fa7a91ce349975971d6aa925b4c7e1a05abaae99b97ade5ace758160c43d/pyzmq-26.2.1-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:099b56ef464bc355b14381f13355542e452619abb4c1e57a534b15a106bf8e23", size = 942331 }, - { url = "https://files.pythonhosted.org/packages/64/2b/1f10b34b6dc7ff4b40f668ea25ba9b8093ce61d874c784b90229b367707b/pyzmq-26.2.1-cp313-cp313-macosx_10_15_universal2.whl", hash = "sha256:651726f37fcbce9f8dd2a6dab0f024807929780621890a4dc0c75432636871be", size = 1345831 }, - { url = "https://files.pythonhosted.org/packages/4c/8d/34884cbd4a8ec050841b5fb58d37af136766a9f95b0b2634c2971deb09da/pyzmq-26.2.1-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:57dd4d91b38fa4348e237a9388b4423b24ce9c1695bbd4ba5a3eada491e09399", size = 670773 }, - { url = "https://files.pythonhosted.org/packages/0f/f4/d4becfcf9e416ad2564f18a6653f7c6aa917da08df5c3760edb0baa1c863/pyzmq-26.2.1-cp313-cp313-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:d51a7bfe01a48e1064131f3416a5439872c533d756396be2b39e3977b41430f9", size = 908836 }, - { url = "https://files.pythonhosted.org/packages/07/fa/ab105f1b86b85cb2e821239f1d0900fccd66192a91d97ee04661b5436b4d/pyzmq-26.2.1-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:c7154d228502e18f30f150b7ce94f0789d6b689f75261b623f0fdc1eec642aab", size = 865369 }, - { url = "https://files.pythonhosted.org/packages/c9/48/15d5f415504572dd4b92b52db5de7a5befc76bb75340ba9f36f71306a66d/pyzmq-26.2.1-cp313-cp313-manylinux_2_28_x86_64.whl", hash = "sha256:f1f31661a80cc46aba381bed475a9135b213ba23ca7ff6797251af31510920ce", size = 865676 }, - { url = "https://files.pythonhosted.org/packages/7e/35/2d91bcc7ccbb56043dd4d2c1763f24a8de5f05e06a134f767a7fb38e149c/pyzmq-26.2.1-cp313-cp313-musllinux_1_1_aarch64.whl", hash = "sha256:290c96f479504439b6129a94cefd67a174b68ace8a8e3f551b2239a64cfa131a", size = 1201457 }, - { url = "https://files.pythonhosted.org/packages/6d/bb/aa7c5119307a5762b8dca6c9db73e3ab4bccf32b15d7c4f376271ff72b2b/pyzmq-26.2.1-cp313-cp313-musllinux_1_1_i686.whl", hash = "sha256:f2c307fbe86e18ab3c885b7e01de942145f539165c3360e2af0f094dd440acd9", size = 1513035 }, - { url = "https://files.pythonhosted.org/packages/4f/4c/527e6650c2fccec7750b783301329c8a8716d59423818afb67282304ce5a/pyzmq-26.2.1-cp313-cp313-musllinux_1_1_x86_64.whl", hash = "sha256:b314268e716487bfb86fcd6f84ebbe3e5bec5fac75fdf42bc7d90fdb33f618ad", size = 1411881 }, - { url = "https://files.pythonhosted.org/packages/89/9f/e4412ea1b3e220acc21777a5edba8885856403d29c6999aaf00a9459eb03/pyzmq-26.2.1-cp313-cp313-win32.whl", hash = "sha256:edb550616f567cd5603b53bb52a5f842c0171b78852e6fc7e392b02c2a1504bb", size = 581354 }, - { url = "https://files.pythonhosted.org/packages/55/cd/f89dd3e9fc2da0d1619a82c4afb600c86b52bc72d7584953d460bc8d5027/pyzmq-26.2.1-cp313-cp313-win_amd64.whl", hash = "sha256:100a826a029c8ef3d77a1d4c97cbd6e867057b5806a7276f2bac1179f893d3bf", size = 643560 }, - { url = "https://files.pythonhosted.org/packages/a7/99/5de4f8912860013f1116f818a0047659bc20d71d1bc1d48f874bdc2d7b9c/pyzmq-26.2.1-cp313-cp313-win_arm64.whl", hash = "sha256:6991ee6c43e0480deb1b45d0c7c2bac124a6540cba7db4c36345e8e092da47ce", size = 558037 }, - { url = "https://files.pythonhosted.org/packages/06/0b/63b6d7a2f07a77dbc9768c6302ae2d7518bed0c6cee515669ca0d8ec743e/pyzmq-26.2.1-cp313-cp313t-macosx_10_13_x86_64.whl", hash = "sha256:25e720dba5b3a3bb2ad0ad5d33440babd1b03438a7a5220511d0c8fa677e102e", size = 938580 }, - { url = "https://files.pythonhosted.org/packages/85/38/e5e2c3ffa23ea5f95f1c904014385a55902a11a67cd43c10edf61a653467/pyzmq-26.2.1-cp313-cp313t-macosx_10_15_universal2.whl", hash = "sha256:9ec6abfb701437142ce9544bd6a236addaf803a32628d2260eb3dbd9a60e2891", size = 1339670 }, - { url = "https://files.pythonhosted.org/packages/d2/87/da5519ed7f8b31e4beee8f57311ec02926822fe23a95120877354cd80144/pyzmq-26.2.1-cp313-cp313t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:2e1eb9d2bfdf5b4e21165b553a81b2c3bd5be06eeddcc4e08e9692156d21f1f6", size = 660983 }, - { url = "https://files.pythonhosted.org/packages/f6/e8/1ca6a2d59562e04d326a026c9e3f791a6f1a276ebde29da478843a566fdb/pyzmq-26.2.1-cp313-cp313t-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:90dc731d8e3e91bcd456aa7407d2eba7ac6f7860e89f3766baabb521f2c1de4a", size = 896509 }, - { url = "https://files.pythonhosted.org/packages/5c/e5/0b4688f7c74bea7e4f1e920da973fcd7d20175f4f1181cb9b692429c6bb9/pyzmq-26.2.1-cp313-cp313t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:0b6a93d684278ad865fc0b9e89fe33f6ea72d36da0e842143891278ff7fd89c3", size = 853196 }, - { url = "https://files.pythonhosted.org/packages/8f/35/c17241da01195001828319e98517683dad0ac4df6fcba68763d61b630390/pyzmq-26.2.1-cp313-cp313t-manylinux_2_28_x86_64.whl", hash = "sha256:c1bb37849e2294d519117dd99b613c5177934e5c04a5bb05dd573fa42026567e", size = 855133 }, - { url = "https://files.pythonhosted.org/packages/d2/14/268ee49bbecc3f72e225addeac7f0e2bd5808747b78c7bf7f87ed9f9d5a8/pyzmq-26.2.1-cp313-cp313t-musllinux_1_1_aarch64.whl", hash = "sha256:632a09c6d8af17b678d84df442e9c3ad8e4949c109e48a72f805b22506c4afa7", size = 1191612 }, - { url = "https://files.pythonhosted.org/packages/5e/02/6394498620b1b4349b95c534f3ebc3aef95f39afbdced5ed7ee315c49c14/pyzmq-26.2.1-cp313-cp313t-musllinux_1_1_i686.whl", hash = "sha256:fc409c18884eaf9ddde516d53af4f2db64a8bc7d81b1a0c274b8aa4e929958e8", size = 1500824 }, - { url = "https://files.pythonhosted.org/packages/17/fc/b79f0b72891cbb9917698add0fede71dfb64e83fa3481a02ed0e78c34be7/pyzmq-26.2.1-cp313-cp313t-musllinux_1_1_x86_64.whl", hash = "sha256:17f88622b848805d3f6427ce1ad5a2aa3cf61f12a97e684dab2979802024d460", size = 1399943 }, - { url = "https://files.pythonhosted.org/packages/d2/bb/fe5b78f58dd7846a8a5255d74c3aa475ed6450c68338554222a929695b29/pyzmq-26.2.1-cp38-cp38-macosx_10_15_universal2.whl", hash = "sha256:36d4e7307db7c847fe37413f333027d31c11d5e6b3bacbb5022661ac635942ba", size = 1345877 }, - { url = "https://files.pythonhosted.org/packages/cd/74/b77cab27649917e8a7304c0a4b57f138a092177106a680cccc541189af40/pyzmq-26.2.1-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:1c6ae0e95d0a4b0cfe30f648a18e764352d5415279bdf34424decb33e79935b8", size = 942846 }, - { url = "https://files.pythonhosted.org/packages/8c/18/aae170eb81d5b4d65082ffc7a115487d5985e0733d053b67a2320cf9065e/pyzmq-26.2.1-cp38-cp38-manylinux_2_12_i686.manylinux2010_i686.whl", hash = "sha256:5b4fc44f5360784cc02392f14235049665caaf7c0fe0b04d313e763d3338e463", size = 913016 }, - { url = "https://files.pythonhosted.org/packages/6c/15/d333cb6d96b3740b5b3fba6ff48fb9076266a85da140b02d435429d93779/pyzmq-26.2.1-cp38-cp38-manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:51431f6b2750eb9b9d2b2952d3cc9b15d0215e1b8f37b7a3239744d9b487325d", size = 867683 }, - { url = "https://files.pythonhosted.org/packages/2b/21/bf8e5e27abc0b08416544fc4563d45052ba9219b794d76c83b7e5e026f8e/pyzmq-26.2.1-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:bdbc78ae2065042de48a65f1421b8af6b76a0386bb487b41955818c3c1ce7bed", size = 679167 }, - { url = "https://files.pythonhosted.org/packages/7d/e1/79b567380a967cd525bac814a68585a8cdd5c5ba5bff3c890d3ed559e55c/pyzmq-26.2.1-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:d14f50d61a89b0925e4d97a0beba6053eb98c426c5815d949a43544f05a0c7ec", size = 1212285 }, - { url = "https://files.pythonhosted.org/packages/a5/c1/339456da6fded90d05c7930686bed1ae6cb5d42fcdb4619ee959cb81eb18/pyzmq-26.2.1-cp38-cp38-musllinux_1_1_i686.whl", hash = "sha256:004837cb958988c75d8042f5dac19a881f3d9b3b75b2f574055e22573745f841", size = 1521549 }, - { url = "https://files.pythonhosted.org/packages/b2/26/4b1d9ce3152658535c43b4dc8d0d107c534ba3ef0cf9d4e46b1f87f46e6e/pyzmq-26.2.1-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:0b2007f28ce1b8acebdf4812c1aab997a22e57d6a73b5f318b708ef9bcabbe95", size = 1422824 }, - { url = "https://files.pythonhosted.org/packages/b5/1a/eea539099f165c9e9a496eeadc181091022a8e401554eaa7a1e8eb056235/pyzmq-26.2.1-cp38-cp38-win32.whl", hash = "sha256:269c14904da971cb5f013100d1aaedb27c0a246728c341d5d61ddd03f463f2f3", size = 583745 }, - { url = "https://files.pythonhosted.org/packages/95/74/7dddec65ba0df90489a16221ca4db4616bf4b0aac42650d3708b54007286/pyzmq-26.2.1-cp38-cp38-win_amd64.whl", hash = "sha256:31fff709fef3b991cfe7189d2cfe0c413a1d0e82800a182cfa0c2e3668cd450f", size = 648270 }, - { url = "https://files.pythonhosted.org/packages/8d/a4/42e404040ccb3f65bd3b40e368dc96fb04b8e7eea1ecd3ac2ef0e70c51f3/pyzmq-26.2.1-cp39-cp39-macosx_10_15_universal2.whl", hash = "sha256:a4bffcadfd40660f26d1b3315a6029fd4f8f5bf31a74160b151f5c577b2dc81b", size = 1346647 }, - { url = "https://files.pythonhosted.org/packages/d5/d9/045ee93500e3f8cbd2a7b30a9533cba7b857b51b3bb4ec44fa61eb6d36ef/pyzmq-26.2.1-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:e76ad4729c2f1cf74b6eb1bdd05f6aba6175999340bd51e6caee49a435a13bf5", size = 943305 }, - { url = "https://files.pythonhosted.org/packages/5c/3b/9437cae0bfd3889dc7741ed9c132dc09c2a1fcae05a2e1b1af41a23a77a2/pyzmq-26.2.1-cp39-cp39-manylinux_2_12_i686.manylinux2010_i686.whl", hash = "sha256:8b0f5bab40a16e708e78a0c6ee2425d27e1a5d8135c7a203b4e977cee37eb4aa", size = 913424 }, - { url = "https://files.pythonhosted.org/packages/5c/16/f1f0e36c9c15247901379b45bd3f7cc15f540b62c9c34c28e735550014b4/pyzmq-26.2.1-cp39-cp39-manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:e8e47050412f0ad3a9b2287779758073cbf10e460d9f345002d4779e43bb0136", size = 867471 }, - { url = "https://files.pythonhosted.org/packages/70/68/3a0dd3b6386d725ffb98378cd046e15333fbcc1e2b3b48dbcda73259a752/pyzmq-26.2.1-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:7f18ce33f422d119b13c1363ed4cce245b342b2c5cbbb76753eabf6aa6f69c7d", size = 679051 }, - { url = "https://files.pythonhosted.org/packages/46/9a/0c57cd9c0aae885a096f0c7ebd658f6c7fda49973e484bf7f1c47288beae/pyzmq-26.2.1-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:ceb0d78b7ef106708a7e2c2914afe68efffc0051dc6a731b0dbacd8b4aee6d68", size = 1208959 }, - { url = "https://files.pythonhosted.org/packages/61/f7/22dcf86ab2a4d458a300698972212be327a66e35785649e9f4bad2260f1c/pyzmq-26.2.1-cp39-cp39-musllinux_1_1_i686.whl", hash = "sha256:7ebdd96bd637fd426d60e86a29ec14b8c1ab64b8d972f6a020baf08a30d1cf46", size = 1521237 }, - { url = "https://files.pythonhosted.org/packages/b4/20/854bb34ac377efbe15d791d6e0bf991d8127cc6d471cd9a2666a13b4f3ba/pyzmq-26.2.1-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:03719e424150c6395b9513f53a5faadcc1ce4b92abdf68987f55900462ac7eec", size = 1420720 }, - { url = "https://files.pythonhosted.org/packages/6d/e3/07816d8b50a506f6f59d0023b8fefa109d5549a874b9d250137e85dc4305/pyzmq-26.2.1-cp39-cp39-win32.whl", hash = "sha256:ef5479fac31df4b304e96400fc67ff08231873ee3537544aa08c30f9d22fce38", size = 584311 }, - { url = "https://files.pythonhosted.org/packages/9f/78/eeb040669d0ac1fc3c061c8053e96a49e5c612041f462b026ad154001ac1/pyzmq-26.2.1-cp39-cp39-win_amd64.whl", hash = "sha256:f92a002462154c176dac63a8f1f6582ab56eb394ef4914d65a9417f5d9fde218", size = 647856 }, - { url = "https://files.pythonhosted.org/packages/2c/c9/55eb55eda712573ca759e17b9018a2f9dbc4dd34bc7c862c36d574a40b1f/pyzmq-26.2.1-cp39-cp39-win_arm64.whl", hash = "sha256:1fd4b3efc6f62199886440d5e27dd3ccbcb98dfddf330e7396f1ff421bfbb3c2", size = 562372 }, - { url = "https://files.pythonhosted.org/packages/65/d1/e630a75cfb2534574a1258fda54d02f13cf80b576d4ce6d2aa478dc67829/pyzmq-26.2.1-pp310-pypy310_pp73-macosx_10_15_x86_64.whl", hash = "sha256:380816d298aed32b1a97b4973a4865ef3be402a2e760204509b52b6de79d755d", size = 847743 }, - { url = "https://files.pythonhosted.org/packages/27/df/f94a711b4f6c4b41e227f9a938103f52acf4c2e949d91cbc682495a48155/pyzmq-26.2.1-pp310-pypy310_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:97cbb368fd0debdbeb6ba5966aa28e9a1ae3396c7386d15569a6ca4be4572b99", size = 570991 }, - { url = "https://files.pythonhosted.org/packages/bf/08/0c6f97fb3c9dbfa23382f0efaf8f9aa1396a08a3358974eaae3ee659ed5c/pyzmq-26.2.1-pp310-pypy310_pp73-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:abf7b5942c6b0dafcc2823ddd9154f419147e24f8df5b41ca8ea40a6db90615c", size = 799664 }, - { url = "https://files.pythonhosted.org/packages/05/14/f4d4fd8bb8988c667845734dd756e9ee65b9a17a010d5f288dfca14a572d/pyzmq-26.2.1-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:3fe6e28a8856aea808715f7a4fc11f682b9d29cac5d6262dd8fe4f98edc12d53", size = 758156 }, - { url = "https://files.pythonhosted.org/packages/e3/fe/72e7e166bda3885810bee7b23049133e142f7c80c295bae02c562caeea16/pyzmq-26.2.1-pp310-pypy310_pp73-win_amd64.whl", hash = "sha256:bd8fdee945b877aa3bffc6a5a8816deb048dab0544f9df3731ecd0e54d8c84c9", size = 556563 }, - { url = "https://files.pythonhosted.org/packages/c9/e9/892d0c9654a7ec5ea0b06b40f87b3f255d1440d8b5500dc9bf4b7079de95/pyzmq-26.2.1-pp38-pypy38_pp73-macosx_10_9_x86_64.whl", hash = "sha256:70b3a46ecd9296e725ccafc17d732bfc3cdab850b54bd913f843a0a54dfb2c04", size = 847718 }, - { url = "https://files.pythonhosted.org/packages/b1/4f/1e820f2706df3940f1a1bcbc072515ac5346f2c0e20c300623cf968eb35a/pyzmq-26.2.1-pp38-pypy38_pp73-manylinux_2_12_i686.manylinux2010_i686.whl", hash = "sha256:59660e15c797a3b7a571c39f8e0b62a1f385f98ae277dfe95ca7eaf05b5a0f12", size = 807438 }, - { url = "https://files.pythonhosted.org/packages/ff/ce/a575e9dedc47a83425faa7be99154bf206b3924c5acb0f76212f45933d2d/pyzmq-26.2.1-pp38-pypy38_pp73-manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:0f50db737d688e96ad2a083ad2b453e22865e7e19c7f17d17df416e91ddf67eb", size = 762214 }, - { url = "https://files.pythonhosted.org/packages/ed/89/641e79c58155d8093e4f9acce823121d2402b5ed8a6bf1b5f3c47a2586fa/pyzmq-26.2.1-pp38-pypy38_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a003200b6cd64e89b5725ff7e284a93ab24fd54bbac8b4fa46b1ed57be693c27", size = 570989 }, - { url = "https://files.pythonhosted.org/packages/3a/b2/439341a8304f4a99027a4170349638e9ff0063bbc97bbf2104d53b7e13b3/pyzmq-26.2.1-pp38-pypy38_pp73-win_amd64.whl", hash = "sha256:f9ba5def063243793dec6603ad1392f735255cbc7202a3a484c14f99ec290705", size = 556559 }, - { url = "https://files.pythonhosted.org/packages/d9/6b/f27dfd4b7b3d6a8bd39ab1469fb8f8685c597d6772cbf3b39b1c4d798eee/pyzmq-26.2.1-pp39-pypy39_pp73-macosx_10_15_x86_64.whl", hash = "sha256:1238c2448c58b9c8d6565579393148414a42488a5f916b3f322742e561f6ae0d", size = 847735 }, - { url = "https://files.pythonhosted.org/packages/f5/1f/fe0698f36c619bc960e97efe9a8ece412a7dc4c80e0bd603cde81731c6ca/pyzmq-26.2.1-pp39-pypy39_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:8eddb3784aed95d07065bcf94d07e8c04024fdb6b2386f08c197dfe6b3528fda", size = 570986 }, - { url = "https://files.pythonhosted.org/packages/91/2e/f7f6c00d16db2b1936f3cd3b8362c391e40dd16a646b92ebf2f3b28206ee/pyzmq-26.2.1-pp39-pypy39_pp73-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:f0f19c2097fffb1d5b07893d75c9ee693e9cbc809235cf3f2267f0ef6b015f24", size = 799658 }, - { url = "https://files.pythonhosted.org/packages/50/98/aa114911fcb65645099d6db5694a49975ef442f2c34532ea5365b6ec6da8/pyzmq-26.2.1-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:0995fd3530f2e89d6b69a2202e340bbada3191014352af978fa795cb7a446331", size = 758151 }, - { url = "https://files.pythonhosted.org/packages/53/58/9909ad7a3112999a30464c5c92937c9eec5f5e6905a1eee45fd99788ce56/pyzmq-26.2.1-pp39-pypy39_pp73-manylinux_2_28_x86_64.whl", hash = "sha256:7c6160fe513654e65665332740f63de29ce0d165e053c0c14a161fa60dd0da01", size = 756685 }, - { url = "https://files.pythonhosted.org/packages/01/28/1c0f44e609b91a1168aaf4ac38511645fd725593b41cd54ef06744d502ff/pyzmq-26.2.1-pp39-pypy39_pp73-win_amd64.whl", hash = "sha256:8ec8e3aea6146b761d6c57fcf8f81fcb19f187afecc19bf1701a48db9617a217", size = 556558 }, +sdist = { url = "https://files.pythonhosted.org/packages/5a/e3/8d0382cb59feb111c252b54e8728257416a38ffcb2243c4e4775a3c990fe/pyzmq-26.2.1.tar.gz", hash = "sha256:17d72a74e5e9ff3829deb72897a175333d3ef5b5413948cae3cf7ebf0b02ecca", size = 278433, upload-time = "2025-01-30T11:42:00.757Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/70/3d/c2d9d46c033d1b51692ea49a22439f7f66d91d5c938e8b5c56ed7a2151c2/pyzmq-26.2.1-cp310-cp310-macosx_10_15_universal2.whl", hash = "sha256:f39d1227e8256d19899d953e6e19ed2ccb689102e6d85e024da5acf410f301eb", size = 1345451, upload-time = "2025-01-30T11:37:48.675Z" }, + { url = "https://files.pythonhosted.org/packages/0e/df/4754a8abcdeef280651f9bb51446c47659910940b392a66acff7c37f5cef/pyzmq-26.2.1-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:a23948554c692df95daed595fdd3b76b420a4939d7a8a28d6d7dea9711878641", size = 942766, upload-time = "2025-01-30T11:37:51.691Z" }, + { url = "https://files.pythonhosted.org/packages/74/da/e6053a3b13c912eded6c2cdeee22ff3a4c33820d17f9eb24c7b6e957ffe7/pyzmq-26.2.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:95f5728b367a042df146cec4340d75359ec6237beebf4a8f5cf74657c65b9257", size = 678488, upload-time = "2025-01-30T11:37:55.009Z" }, + { url = "https://files.pythonhosted.org/packages/9e/50/614934145244142401ca174ca81071777ab93aa88173973ba0154f491e09/pyzmq-26.2.1-cp310-cp310-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:95f7b01b3f275504011cf4cf21c6b885c8d627ce0867a7e83af1382ebab7b3ff", size = 917115, upload-time = "2025-01-30T11:37:58.279Z" }, + { url = "https://files.pythonhosted.org/packages/80/2b/ebeb7bc4fc8e9e61650b2e09581597355a4341d413fa9b2947d7a6558119/pyzmq-26.2.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:80a00370a2ef2159c310e662c7c0f2d030f437f35f478bb8b2f70abd07e26b24", size = 874162, upload-time = "2025-01-30T11:38:00.079Z" }, + { url = "https://files.pythonhosted.org/packages/79/48/93210621c331ad16313dc2849801411fbae10d91d878853933f2a85df8e7/pyzmq-26.2.1-cp310-cp310-manylinux_2_28_x86_64.whl", hash = "sha256:8531ed35dfd1dd2af95f5d02afd6545e8650eedbf8c3d244a554cf47d8924459", size = 874180, upload-time = "2025-01-30T11:38:02.205Z" }, + { url = "https://files.pythonhosted.org/packages/f0/8b/40924b4d8e33bfdd54c1970fb50f327e39b90b902f897cf09b30b2e9ac48/pyzmq-26.2.1-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:cdb69710e462a38e6039cf17259d328f86383a06c20482cc154327968712273c", size = 1208139, upload-time = "2025-01-30T11:38:05.387Z" }, + { url = "https://files.pythonhosted.org/packages/c8/b2/82d6675fc89bd965eae13c45002c792d33f06824589844b03f8ea8fc6d86/pyzmq-26.2.1-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:e7eeaef81530d0b74ad0d29eec9997f1c9230c2f27242b8d17e0ee67662c8f6e", size = 1520666, upload-time = "2025-01-30T11:38:07.497Z" }, + { url = "https://files.pythonhosted.org/packages/9d/e2/5ff15f2d3f920dcc559d477bd9bb3faacd6d79fcf7c5448e585c78f84849/pyzmq-26.2.1-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:361edfa350e3be1f987e592e834594422338d7174364763b7d3de5b0995b16f3", size = 1420056, upload-time = "2025-01-30T11:38:09.231Z" }, + { url = "https://files.pythonhosted.org/packages/40/a2/f9bbeccf7f75aa0d8963e224e5730abcefbf742e1f2ae9ea60fd9d6ff72b/pyzmq-26.2.1-cp310-cp310-win32.whl", hash = "sha256:637536c07d2fb6a354988b2dd1d00d02eb5dd443f4bbee021ba30881af1c28aa", size = 583874, upload-time = "2025-01-30T11:38:10.921Z" }, + { url = "https://files.pythonhosted.org/packages/56/b1/44f513135843272f0e12f5aebf4af35839e2a88eb45411f2c8c010d8c856/pyzmq-26.2.1-cp310-cp310-win_amd64.whl", hash = "sha256:45fad32448fd214fbe60030aa92f97e64a7140b624290834cc9b27b3a11f9473", size = 647367, upload-time = "2025-01-30T11:38:12.664Z" }, + { url = "https://files.pythonhosted.org/packages/27/9c/1bef14a37b02d651a462811bbdb1390b61cd4a5b5e95cbd7cc2d60ef848c/pyzmq-26.2.1-cp310-cp310-win_arm64.whl", hash = "sha256:d9da0289d8201c8a29fd158aaa0dfe2f2e14a181fd45e2dc1fbf969a62c1d594", size = 561784, upload-time = "2025-01-30T11:38:14.868Z" }, + { url = "https://files.pythonhosted.org/packages/b9/03/5ecc46a6ed5971299f5c03e016ca637802d8660e44392bea774fb7797405/pyzmq-26.2.1-cp311-cp311-macosx_10_15_universal2.whl", hash = "sha256:c059883840e634a21c5b31d9b9a0e2b48f991b94d60a811092bc37992715146a", size = 1346032, upload-time = "2025-01-30T11:38:17.357Z" }, + { url = "https://files.pythonhosted.org/packages/40/51/48fec8f990ee644f461ff14c8fe5caa341b0b9b3a0ad7544f8ef17d6f528/pyzmq-26.2.1-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:ed038a921df836d2f538e509a59cb638df3e70ca0fcd70d0bf389dfcdf784d2a", size = 943324, upload-time = "2025-01-30T11:38:19.942Z" }, + { url = "https://files.pythonhosted.org/packages/c1/f4/f322b389727c687845e38470b48d7a43c18a83f26d4d5084603c6c3f79ca/pyzmq-26.2.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:9027a7fcf690f1a3635dc9e55e38a0d6602dbbc0548935d08d46d2e7ec91f454", size = 678418, upload-time = "2025-01-30T11:38:21.806Z" }, + { url = "https://files.pythonhosted.org/packages/a8/df/2834e3202533bd05032d83e02db7ac09fa1be853bbef59974f2b2e3a8557/pyzmq-26.2.1-cp311-cp311-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:6d75fcb00a1537f8b0c0bb05322bc7e35966148ffc3e0362f0369e44a4a1de99", size = 915466, upload-time = "2025-01-30T11:38:23.963Z" }, + { url = "https://files.pythonhosted.org/packages/b5/e2/45c0f6e122b562cb8c6c45c0dcac1160a4e2207385ef9b13463e74f93031/pyzmq-26.2.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f0019cc804ac667fb8c8eaecdb66e6d4a68acf2e155d5c7d6381a5645bd93ae4", size = 873347, upload-time = "2025-01-30T11:38:26.496Z" }, + { url = "https://files.pythonhosted.org/packages/de/b9/3e0fbddf8b87454e914501d368171466a12550c70355b3844115947d68ea/pyzmq-26.2.1-cp311-cp311-manylinux_2_28_x86_64.whl", hash = "sha256:f19dae58b616ac56b96f2e2290f2d18730a898a171f447f491cc059b073ca1fa", size = 874545, upload-time = "2025-01-30T11:38:28.428Z" }, + { url = "https://files.pythonhosted.org/packages/1f/1c/1ee41d6e10b2127263b1994bc53b9e74ece015b0d2c0a30e0afaf69b78b2/pyzmq-26.2.1-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:f5eeeb82feec1fc5cbafa5ee9022e87ffdb3a8c48afa035b356fcd20fc7f533f", size = 1208630, upload-time = "2025-01-30T11:38:30.96Z" }, + { url = "https://files.pythonhosted.org/packages/3d/a9/50228465c625851a06aeee97c74f253631f509213f979166e83796299c60/pyzmq-26.2.1-cp311-cp311-musllinux_1_1_i686.whl", hash = "sha256:000760e374d6f9d1a3478a42ed0c98604de68c9e94507e5452951e598ebecfba", size = 1519568, upload-time = "2025-01-30T11:38:32.813Z" }, + { url = "https://files.pythonhosted.org/packages/c6/f2/6360b619e69da78863c2108beb5196ae8b955fe1e161c0b886b95dc6b1ac/pyzmq-26.2.1-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:817fcd3344d2a0b28622722b98500ae9c8bfee0f825b8450932ff19c0b15bebd", size = 1419677, upload-time = "2025-01-30T11:38:35.902Z" }, + { url = "https://files.pythonhosted.org/packages/da/d5/f179da989168f5dfd1be8103ef508ade1d38a8078dda4f10ebae3131a490/pyzmq-26.2.1-cp311-cp311-win32.whl", hash = "sha256:88812b3b257f80444a986b3596e5ea5c4d4ed4276d2b85c153a6fbc5ca457ae7", size = 582682, upload-time = "2025-01-30T11:38:38.556Z" }, + { url = "https://files.pythonhosted.org/packages/60/50/e5b2e9de3ffab73ff92bee736216cf209381081fa6ab6ba96427777d98b1/pyzmq-26.2.1-cp311-cp311-win_amd64.whl", hash = "sha256:ef29630fde6022471d287c15c0a2484aba188adbfb978702624ba7a54ddfa6c1", size = 648128, upload-time = "2025-01-30T11:38:40.427Z" }, + { url = "https://files.pythonhosted.org/packages/d9/fe/7bb93476dd8405b0fc9cab1fd921a08bd22d5e3016aa6daea1a78d54129b/pyzmq-26.2.1-cp311-cp311-win_arm64.whl", hash = "sha256:f32718ee37c07932cc336096dc7403525301fd626349b6eff8470fe0f996d8d7", size = 562465, upload-time = "2025-01-30T11:38:41.994Z" }, + { url = "https://files.pythonhosted.org/packages/9c/b9/260a74786f162c7f521f5f891584a51d5a42fd15f5dcaa5c9226b2865fcc/pyzmq-26.2.1-cp312-cp312-macosx_10_15_universal2.whl", hash = "sha256:a6549ecb0041dafa55b5932dcbb6c68293e0bd5980b5b99f5ebb05f9a3b8a8f3", size = 1348495, upload-time = "2025-01-30T11:38:44.299Z" }, + { url = "https://files.pythonhosted.org/packages/bf/73/8a0757e4b68f5a8ccb90ddadbb76c6a5f880266cdb18be38c99bcdc17aaa/pyzmq-26.2.1-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:0250c94561f388db51fd0213cdccbd0b9ef50fd3c57ce1ac937bf3034d92d72e", size = 945035, upload-time = "2025-01-30T11:38:46.303Z" }, + { url = "https://files.pythonhosted.org/packages/cf/de/f02ec973cd33155bb772bae33ace774acc7cc71b87b25c4829068bec35de/pyzmq-26.2.1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:36ee4297d9e4b34b5dc1dd7ab5d5ea2cbba8511517ef44104d2915a917a56dc8", size = 671213, upload-time = "2025-01-30T11:38:48.334Z" }, + { url = "https://files.pythonhosted.org/packages/d1/80/8fc583085f85ac91682744efc916888dd9f11f9f75a31aef1b78a5486c6c/pyzmq-26.2.1-cp312-cp312-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:c2a9cb17fd83b7a3a3009901aca828feaf20aa2451a8a487b035455a86549c09", size = 908750, upload-time = "2025-01-30T11:38:50.398Z" }, + { url = "https://files.pythonhosted.org/packages/c3/25/0b4824596f261a3cc512ab152448b383047ff5f143a6906a36876415981c/pyzmq-26.2.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:786dd8a81b969c2081b31b17b326d3a499ddd1856e06d6d79ad41011a25148da", size = 865416, upload-time = "2025-01-30T11:38:52.301Z" }, + { url = "https://files.pythonhosted.org/packages/a1/d1/6fda77a034d02034367b040973fd3861d945a5347e607bd2e98c99f20599/pyzmq-26.2.1-cp312-cp312-manylinux_2_28_x86_64.whl", hash = "sha256:2d88ba221a07fc2c5581565f1d0fe8038c15711ae79b80d9462e080a1ac30435", size = 865922, upload-time = "2025-01-30T11:38:54.332Z" }, + { url = "https://files.pythonhosted.org/packages/ad/81/48f7fd8a71c427412e739ce576fc1ee14f3dc34527ca9b0076e471676183/pyzmq-26.2.1-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:1c84c1297ff9f1cd2440da4d57237cb74be21fdfe7d01a10810acba04e79371a", size = 1201526, upload-time = "2025-01-30T11:38:57.162Z" }, + { url = "https://files.pythonhosted.org/packages/c7/d8/818f15c6ef36b5450e435cbb0d3a51599fc884a5d2b27b46b9c00af68ef1/pyzmq-26.2.1-cp312-cp312-musllinux_1_1_i686.whl", hash = "sha256:46d4ebafc27081a7f73a0f151d0c38d4291656aa134344ec1f3d0199ebfbb6d4", size = 1512808, upload-time = "2025-01-30T11:38:59.137Z" }, + { url = "https://files.pythonhosted.org/packages/d9/c4/b3edb7d0ae82ad6fb1a8cdb191a4113c427a01e85139906f3b655b07f4f8/pyzmq-26.2.1-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:91e2bfb8e9a29f709d51b208dd5f441dc98eb412c8fe75c24ea464734ccdb48e", size = 1411836, upload-time = "2025-01-30T11:39:01.157Z" }, + { url = "https://files.pythonhosted.org/packages/69/1c/151e3d42048f02cc5cd6dfc241d9d36b38375b4dee2e728acb5c353a6d52/pyzmq-26.2.1-cp312-cp312-win32.whl", hash = "sha256:4a98898fdce380c51cc3e38ebc9aa33ae1e078193f4dc641c047f88b8c690c9a", size = 581378, upload-time = "2025-01-30T11:39:02.858Z" }, + { url = "https://files.pythonhosted.org/packages/b6/b9/d59a7462848aaab7277fddb253ae134a570520115d80afa85e952287e6bc/pyzmq-26.2.1-cp312-cp312-win_amd64.whl", hash = "sha256:a0741edbd0adfe5f30bba6c5223b78c131b5aa4a00a223d631e5ef36e26e6d13", size = 643737, upload-time = "2025-01-30T11:39:05.495Z" }, + { url = "https://files.pythonhosted.org/packages/55/09/f37e707937cce328944c1d57e5e50ab905011d35252a0745c4f7e5822a76/pyzmq-26.2.1-cp312-cp312-win_arm64.whl", hash = "sha256:e5e33b1491555843ba98d5209439500556ef55b6ab635f3a01148545498355e5", size = 558303, upload-time = "2025-01-30T11:39:08.163Z" }, + { url = "https://files.pythonhosted.org/packages/4f/2e/fa7a91ce349975971d6aa925b4c7e1a05abaae99b97ade5ace758160c43d/pyzmq-26.2.1-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:099b56ef464bc355b14381f13355542e452619abb4c1e57a534b15a106bf8e23", size = 942331, upload-time = "2025-01-30T11:39:10.936Z" }, + { url = "https://files.pythonhosted.org/packages/64/2b/1f10b34b6dc7ff4b40f668ea25ba9b8093ce61d874c784b90229b367707b/pyzmq-26.2.1-cp313-cp313-macosx_10_15_universal2.whl", hash = "sha256:651726f37fcbce9f8dd2a6dab0f024807929780621890a4dc0c75432636871be", size = 1345831, upload-time = "2025-01-30T11:39:14.136Z" }, + { url = "https://files.pythonhosted.org/packages/4c/8d/34884cbd4a8ec050841b5fb58d37af136766a9f95b0b2634c2971deb09da/pyzmq-26.2.1-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:57dd4d91b38fa4348e237a9388b4423b24ce9c1695bbd4ba5a3eada491e09399", size = 670773, upload-time = "2025-01-30T11:39:16.881Z" }, + { url = "https://files.pythonhosted.org/packages/0f/f4/d4becfcf9e416ad2564f18a6653f7c6aa917da08df5c3760edb0baa1c863/pyzmq-26.2.1-cp313-cp313-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:d51a7bfe01a48e1064131f3416a5439872c533d756396be2b39e3977b41430f9", size = 908836, upload-time = "2025-01-30T11:39:19.68Z" }, + { url = "https://files.pythonhosted.org/packages/07/fa/ab105f1b86b85cb2e821239f1d0900fccd66192a91d97ee04661b5436b4d/pyzmq-26.2.1-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:c7154d228502e18f30f150b7ce94f0789d6b689f75261b623f0fdc1eec642aab", size = 865369, upload-time = "2025-01-30T11:39:23.038Z" }, + { url = "https://files.pythonhosted.org/packages/c9/48/15d5f415504572dd4b92b52db5de7a5befc76bb75340ba9f36f71306a66d/pyzmq-26.2.1-cp313-cp313-manylinux_2_28_x86_64.whl", hash = "sha256:f1f31661a80cc46aba381bed475a9135b213ba23ca7ff6797251af31510920ce", size = 865676, upload-time = "2025-01-30T11:39:25.173Z" }, + { url = "https://files.pythonhosted.org/packages/7e/35/2d91bcc7ccbb56043dd4d2c1763f24a8de5f05e06a134f767a7fb38e149c/pyzmq-26.2.1-cp313-cp313-musllinux_1_1_aarch64.whl", hash = "sha256:290c96f479504439b6129a94cefd67a174b68ace8a8e3f551b2239a64cfa131a", size = 1201457, upload-time = "2025-01-30T11:39:27.022Z" }, + { url = "https://files.pythonhosted.org/packages/6d/bb/aa7c5119307a5762b8dca6c9db73e3ab4bccf32b15d7c4f376271ff72b2b/pyzmq-26.2.1-cp313-cp313-musllinux_1_1_i686.whl", hash = "sha256:f2c307fbe86e18ab3c885b7e01de942145f539165c3360e2af0f094dd440acd9", size = 1513035, upload-time = "2025-01-30T11:39:29.756Z" }, + { url = "https://files.pythonhosted.org/packages/4f/4c/527e6650c2fccec7750b783301329c8a8716d59423818afb67282304ce5a/pyzmq-26.2.1-cp313-cp313-musllinux_1_1_x86_64.whl", hash = "sha256:b314268e716487bfb86fcd6f84ebbe3e5bec5fac75fdf42bc7d90fdb33f618ad", size = 1411881, upload-time = "2025-01-30T11:39:32.631Z" }, + { url = "https://files.pythonhosted.org/packages/89/9f/e4412ea1b3e220acc21777a5edba8885856403d29c6999aaf00a9459eb03/pyzmq-26.2.1-cp313-cp313-win32.whl", hash = "sha256:edb550616f567cd5603b53bb52a5f842c0171b78852e6fc7e392b02c2a1504bb", size = 581354, upload-time = "2025-01-30T11:39:34.568Z" }, + { url = "https://files.pythonhosted.org/packages/55/cd/f89dd3e9fc2da0d1619a82c4afb600c86b52bc72d7584953d460bc8d5027/pyzmq-26.2.1-cp313-cp313-win_amd64.whl", hash = "sha256:100a826a029c8ef3d77a1d4c97cbd6e867057b5806a7276f2bac1179f893d3bf", size = 643560, upload-time = "2025-01-30T11:39:36.905Z" }, + { url = "https://files.pythonhosted.org/packages/a7/99/5de4f8912860013f1116f818a0047659bc20d71d1bc1d48f874bdc2d7b9c/pyzmq-26.2.1-cp313-cp313-win_arm64.whl", hash = "sha256:6991ee6c43e0480deb1b45d0c7c2bac124a6540cba7db4c36345e8e092da47ce", size = 558037, upload-time = "2025-01-30T11:39:38.753Z" }, + { url = "https://files.pythonhosted.org/packages/06/0b/63b6d7a2f07a77dbc9768c6302ae2d7518bed0c6cee515669ca0d8ec743e/pyzmq-26.2.1-cp313-cp313t-macosx_10_13_x86_64.whl", hash = "sha256:25e720dba5b3a3bb2ad0ad5d33440babd1b03438a7a5220511d0c8fa677e102e", size = 938580, upload-time = "2025-01-30T11:39:40.536Z" }, + { url = "https://files.pythonhosted.org/packages/85/38/e5e2c3ffa23ea5f95f1c904014385a55902a11a67cd43c10edf61a653467/pyzmq-26.2.1-cp313-cp313t-macosx_10_15_universal2.whl", hash = "sha256:9ec6abfb701437142ce9544bd6a236addaf803a32628d2260eb3dbd9a60e2891", size = 1339670, upload-time = "2025-01-30T11:39:42.492Z" }, + { url = "https://files.pythonhosted.org/packages/d2/87/da5519ed7f8b31e4beee8f57311ec02926822fe23a95120877354cd80144/pyzmq-26.2.1-cp313-cp313t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:2e1eb9d2bfdf5b4e21165b553a81b2c3bd5be06eeddcc4e08e9692156d21f1f6", size = 660983, upload-time = "2025-01-30T11:39:44.503Z" }, + { url = "https://files.pythonhosted.org/packages/f6/e8/1ca6a2d59562e04d326a026c9e3f791a6f1a276ebde29da478843a566fdb/pyzmq-26.2.1-cp313-cp313t-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:90dc731d8e3e91bcd456aa7407d2eba7ac6f7860e89f3766baabb521f2c1de4a", size = 896509, upload-time = "2025-01-30T11:39:46.388Z" }, + { url = "https://files.pythonhosted.org/packages/5c/e5/0b4688f7c74bea7e4f1e920da973fcd7d20175f4f1181cb9b692429c6bb9/pyzmq-26.2.1-cp313-cp313t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:0b6a93d684278ad865fc0b9e89fe33f6ea72d36da0e842143891278ff7fd89c3", size = 853196, upload-time = "2025-01-30T11:39:48.192Z" }, + { url = "https://files.pythonhosted.org/packages/8f/35/c17241da01195001828319e98517683dad0ac4df6fcba68763d61b630390/pyzmq-26.2.1-cp313-cp313t-manylinux_2_28_x86_64.whl", hash = "sha256:c1bb37849e2294d519117dd99b613c5177934e5c04a5bb05dd573fa42026567e", size = 855133, upload-time = "2025-01-30T11:39:50.097Z" }, + { url = "https://files.pythonhosted.org/packages/d2/14/268ee49bbecc3f72e225addeac7f0e2bd5808747b78c7bf7f87ed9f9d5a8/pyzmq-26.2.1-cp313-cp313t-musllinux_1_1_aarch64.whl", hash = "sha256:632a09c6d8af17b678d84df442e9c3ad8e4949c109e48a72f805b22506c4afa7", size = 1191612, upload-time = "2025-01-30T11:39:52.05Z" }, + { url = "https://files.pythonhosted.org/packages/5e/02/6394498620b1b4349b95c534f3ebc3aef95f39afbdced5ed7ee315c49c14/pyzmq-26.2.1-cp313-cp313t-musllinux_1_1_i686.whl", hash = "sha256:fc409c18884eaf9ddde516d53af4f2db64a8bc7d81b1a0c274b8aa4e929958e8", size = 1500824, upload-time = "2025-01-30T11:39:54.148Z" }, + { url = "https://files.pythonhosted.org/packages/17/fc/b79f0b72891cbb9917698add0fede71dfb64e83fa3481a02ed0e78c34be7/pyzmq-26.2.1-cp313-cp313t-musllinux_1_1_x86_64.whl", hash = "sha256:17f88622b848805d3f6427ce1ad5a2aa3cf61f12a97e684dab2979802024d460", size = 1399943, upload-time = "2025-01-30T11:39:58.293Z" }, + { url = "https://files.pythonhosted.org/packages/d2/bb/fe5b78f58dd7846a8a5255d74c3aa475ed6450c68338554222a929695b29/pyzmq-26.2.1-cp38-cp38-macosx_10_15_universal2.whl", hash = "sha256:36d4e7307db7c847fe37413f333027d31c11d5e6b3bacbb5022661ac635942ba", size = 1345877, upload-time = "2025-01-30T11:40:20.712Z" }, + { url = "https://files.pythonhosted.org/packages/cd/74/b77cab27649917e8a7304c0a4b57f138a092177106a680cccc541189af40/pyzmq-26.2.1-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:1c6ae0e95d0a4b0cfe30f648a18e764352d5415279bdf34424decb33e79935b8", size = 942846, upload-time = "2025-01-30T11:40:22.711Z" }, + { url = "https://files.pythonhosted.org/packages/8c/18/aae170eb81d5b4d65082ffc7a115487d5985e0733d053b67a2320cf9065e/pyzmq-26.2.1-cp38-cp38-manylinux_2_12_i686.manylinux2010_i686.whl", hash = "sha256:5b4fc44f5360784cc02392f14235049665caaf7c0fe0b04d313e763d3338e463", size = 913016, upload-time = "2025-01-30T11:40:24.607Z" }, + { url = "https://files.pythonhosted.org/packages/6c/15/d333cb6d96b3740b5b3fba6ff48fb9076266a85da140b02d435429d93779/pyzmq-26.2.1-cp38-cp38-manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:51431f6b2750eb9b9d2b2952d3cc9b15d0215e1b8f37b7a3239744d9b487325d", size = 867683, upload-time = "2025-01-30T11:40:26.599Z" }, + { url = "https://files.pythonhosted.org/packages/2b/21/bf8e5e27abc0b08416544fc4563d45052ba9219b794d76c83b7e5e026f8e/pyzmq-26.2.1-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:bdbc78ae2065042de48a65f1421b8af6b76a0386bb487b41955818c3c1ce7bed", size = 679167, upload-time = "2025-01-30T11:40:29.666Z" }, + { url = "https://files.pythonhosted.org/packages/7d/e1/79b567380a967cd525bac814a68585a8cdd5c5ba5bff3c890d3ed559e55c/pyzmq-26.2.1-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:d14f50d61a89b0925e4d97a0beba6053eb98c426c5815d949a43544f05a0c7ec", size = 1212285, upload-time = "2025-01-30T11:40:31.854Z" }, + { url = "https://files.pythonhosted.org/packages/a5/c1/339456da6fded90d05c7930686bed1ae6cb5d42fcdb4619ee959cb81eb18/pyzmq-26.2.1-cp38-cp38-musllinux_1_1_i686.whl", hash = "sha256:004837cb958988c75d8042f5dac19a881f3d9b3b75b2f574055e22573745f841", size = 1521549, upload-time = "2025-01-30T11:40:34.858Z" }, + { url = "https://files.pythonhosted.org/packages/b2/26/4b1d9ce3152658535c43b4dc8d0d107c534ba3ef0cf9d4e46b1f87f46e6e/pyzmq-26.2.1-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:0b2007f28ce1b8acebdf4812c1aab997a22e57d6a73b5f318b708ef9bcabbe95", size = 1422824, upload-time = "2025-01-30T11:40:36.882Z" }, + { url = "https://files.pythonhosted.org/packages/b5/1a/eea539099f165c9e9a496eeadc181091022a8e401554eaa7a1e8eb056235/pyzmq-26.2.1-cp38-cp38-win32.whl", hash = "sha256:269c14904da971cb5f013100d1aaedb27c0a246728c341d5d61ddd03f463f2f3", size = 583745, upload-time = "2025-01-30T11:40:39.148Z" }, + { url = "https://files.pythonhosted.org/packages/95/74/7dddec65ba0df90489a16221ca4db4616bf4b0aac42650d3708b54007286/pyzmq-26.2.1-cp38-cp38-win_amd64.whl", hash = "sha256:31fff709fef3b991cfe7189d2cfe0c413a1d0e82800a182cfa0c2e3668cd450f", size = 648270, upload-time = "2025-01-30T11:40:41.785Z" }, + { url = "https://files.pythonhosted.org/packages/8d/a4/42e404040ccb3f65bd3b40e368dc96fb04b8e7eea1ecd3ac2ef0e70c51f3/pyzmq-26.2.1-cp39-cp39-macosx_10_15_universal2.whl", hash = "sha256:a4bffcadfd40660f26d1b3315a6029fd4f8f5bf31a74160b151f5c577b2dc81b", size = 1346647, upload-time = "2025-01-30T11:40:44.018Z" }, + { url = "https://files.pythonhosted.org/packages/d5/d9/045ee93500e3f8cbd2a7b30a9533cba7b857b51b3bb4ec44fa61eb6d36ef/pyzmq-26.2.1-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:e76ad4729c2f1cf74b6eb1bdd05f6aba6175999340bd51e6caee49a435a13bf5", size = 943305, upload-time = "2025-01-30T11:40:46.012Z" }, + { url = "https://files.pythonhosted.org/packages/5c/3b/9437cae0bfd3889dc7741ed9c132dc09c2a1fcae05a2e1b1af41a23a77a2/pyzmq-26.2.1-cp39-cp39-manylinux_2_12_i686.manylinux2010_i686.whl", hash = "sha256:8b0f5bab40a16e708e78a0c6ee2425d27e1a5d8135c7a203b4e977cee37eb4aa", size = 913424, upload-time = "2025-01-30T11:40:47.902Z" }, + { url = "https://files.pythonhosted.org/packages/5c/16/f1f0e36c9c15247901379b45bd3f7cc15f540b62c9c34c28e735550014b4/pyzmq-26.2.1-cp39-cp39-manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:e8e47050412f0ad3a9b2287779758073cbf10e460d9f345002d4779e43bb0136", size = 867471, upload-time = "2025-01-30T11:40:50.076Z" }, + { url = "https://files.pythonhosted.org/packages/70/68/3a0dd3b6386d725ffb98378cd046e15333fbcc1e2b3b48dbcda73259a752/pyzmq-26.2.1-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:7f18ce33f422d119b13c1363ed4cce245b342b2c5cbbb76753eabf6aa6f69c7d", size = 679051, upload-time = "2025-01-30T11:40:51.984Z" }, + { url = "https://files.pythonhosted.org/packages/46/9a/0c57cd9c0aae885a096f0c7ebd658f6c7fda49973e484bf7f1c47288beae/pyzmq-26.2.1-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:ceb0d78b7ef106708a7e2c2914afe68efffc0051dc6a731b0dbacd8b4aee6d68", size = 1208959, upload-time = "2025-01-30T11:40:54.083Z" }, + { url = "https://files.pythonhosted.org/packages/61/f7/22dcf86ab2a4d458a300698972212be327a66e35785649e9f4bad2260f1c/pyzmq-26.2.1-cp39-cp39-musllinux_1_1_i686.whl", hash = "sha256:7ebdd96bd637fd426d60e86a29ec14b8c1ab64b8d972f6a020baf08a30d1cf46", size = 1521237, upload-time = "2025-01-30T11:40:56.619Z" }, + { url = "https://files.pythonhosted.org/packages/b4/20/854bb34ac377efbe15d791d6e0bf991d8127cc6d471cd9a2666a13b4f3ba/pyzmq-26.2.1-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:03719e424150c6395b9513f53a5faadcc1ce4b92abdf68987f55900462ac7eec", size = 1420720, upload-time = "2025-01-30T11:40:58.844Z" }, + { url = "https://files.pythonhosted.org/packages/6d/e3/07816d8b50a506f6f59d0023b8fefa109d5549a874b9d250137e85dc4305/pyzmq-26.2.1-cp39-cp39-win32.whl", hash = "sha256:ef5479fac31df4b304e96400fc67ff08231873ee3537544aa08c30f9d22fce38", size = 584311, upload-time = "2025-01-30T11:41:01.713Z" }, + { url = "https://files.pythonhosted.org/packages/9f/78/eeb040669d0ac1fc3c061c8053e96a49e5c612041f462b026ad154001ac1/pyzmq-26.2.1-cp39-cp39-win_amd64.whl", hash = "sha256:f92a002462154c176dac63a8f1f6582ab56eb394ef4914d65a9417f5d9fde218", size = 647856, upload-time = "2025-01-30T11:41:03.714Z" }, + { url = "https://files.pythonhosted.org/packages/2c/c9/55eb55eda712573ca759e17b9018a2f9dbc4dd34bc7c862c36d574a40b1f/pyzmq-26.2.1-cp39-cp39-win_arm64.whl", hash = "sha256:1fd4b3efc6f62199886440d5e27dd3ccbcb98dfddf330e7396f1ff421bfbb3c2", size = 562372, upload-time = "2025-01-30T11:41:05.748Z" }, + { url = "https://files.pythonhosted.org/packages/65/d1/e630a75cfb2534574a1258fda54d02f13cf80b576d4ce6d2aa478dc67829/pyzmq-26.2.1-pp310-pypy310_pp73-macosx_10_15_x86_64.whl", hash = "sha256:380816d298aed32b1a97b4973a4865ef3be402a2e760204509b52b6de79d755d", size = 847743, upload-time = "2025-01-30T11:41:10.214Z" }, + { url = "https://files.pythonhosted.org/packages/27/df/f94a711b4f6c4b41e227f9a938103f52acf4c2e949d91cbc682495a48155/pyzmq-26.2.1-pp310-pypy310_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:97cbb368fd0debdbeb6ba5966aa28e9a1ae3396c7386d15569a6ca4be4572b99", size = 570991, upload-time = "2025-01-30T11:41:12.232Z" }, + { url = "https://files.pythonhosted.org/packages/bf/08/0c6f97fb3c9dbfa23382f0efaf8f9aa1396a08a3358974eaae3ee659ed5c/pyzmq-26.2.1-pp310-pypy310_pp73-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:abf7b5942c6b0dafcc2823ddd9154f419147e24f8df5b41ca8ea40a6db90615c", size = 799664, upload-time = "2025-01-30T11:41:14.291Z" }, + { url = "https://files.pythonhosted.org/packages/05/14/f4d4fd8bb8988c667845734dd756e9ee65b9a17a010d5f288dfca14a572d/pyzmq-26.2.1-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:3fe6e28a8856aea808715f7a4fc11f682b9d29cac5d6262dd8fe4f98edc12d53", size = 758156, upload-time = "2025-01-30T11:41:17.049Z" }, + { url = "https://files.pythonhosted.org/packages/e3/fe/72e7e166bda3885810bee7b23049133e142f7c80c295bae02c562caeea16/pyzmq-26.2.1-pp310-pypy310_pp73-win_amd64.whl", hash = "sha256:bd8fdee945b877aa3bffc6a5a8816deb048dab0544f9df3731ecd0e54d8c84c9", size = 556563, upload-time = "2025-01-30T11:41:19.14Z" }, + { url = "https://files.pythonhosted.org/packages/c9/e9/892d0c9654a7ec5ea0b06b40f87b3f255d1440d8b5500dc9bf4b7079de95/pyzmq-26.2.1-pp38-pypy38_pp73-macosx_10_9_x86_64.whl", hash = "sha256:70b3a46ecd9296e725ccafc17d732bfc3cdab850b54bd913f843a0a54dfb2c04", size = 847718, upload-time = "2025-01-30T11:41:33.048Z" }, + { url = "https://files.pythonhosted.org/packages/b1/4f/1e820f2706df3940f1a1bcbc072515ac5346f2c0e20c300623cf968eb35a/pyzmq-26.2.1-pp38-pypy38_pp73-manylinux_2_12_i686.manylinux2010_i686.whl", hash = "sha256:59660e15c797a3b7a571c39f8e0b62a1f385f98ae277dfe95ca7eaf05b5a0f12", size = 807438, upload-time = "2025-01-30T11:41:35.965Z" }, + { url = "https://files.pythonhosted.org/packages/ff/ce/a575e9dedc47a83425faa7be99154bf206b3924c5acb0f76212f45933d2d/pyzmq-26.2.1-pp38-pypy38_pp73-manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:0f50db737d688e96ad2a083ad2b453e22865e7e19c7f17d17df416e91ddf67eb", size = 762214, upload-time = "2025-01-30T11:41:38.848Z" }, + { url = "https://files.pythonhosted.org/packages/ed/89/641e79c58155d8093e4f9acce823121d2402b5ed8a6bf1b5f3c47a2586fa/pyzmq-26.2.1-pp38-pypy38_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a003200b6cd64e89b5725ff7e284a93ab24fd54bbac8b4fa46b1ed57be693c27", size = 570989, upload-time = "2025-01-30T11:41:40.938Z" }, + { url = "https://files.pythonhosted.org/packages/3a/b2/439341a8304f4a99027a4170349638e9ff0063bbc97bbf2104d53b7e13b3/pyzmq-26.2.1-pp38-pypy38_pp73-win_amd64.whl", hash = "sha256:f9ba5def063243793dec6603ad1392f735255cbc7202a3a484c14f99ec290705", size = 556559, upload-time = "2025-01-30T11:41:43.884Z" }, + { url = "https://files.pythonhosted.org/packages/d9/6b/f27dfd4b7b3d6a8bd39ab1469fb8f8685c597d6772cbf3b39b1c4d798eee/pyzmq-26.2.1-pp39-pypy39_pp73-macosx_10_15_x86_64.whl", hash = "sha256:1238c2448c58b9c8d6565579393148414a42488a5f916b3f322742e561f6ae0d", size = 847735, upload-time = "2025-01-30T11:41:45.985Z" }, + { url = "https://files.pythonhosted.org/packages/f5/1f/fe0698f36c619bc960e97efe9a8ece412a7dc4c80e0bd603cde81731c6ca/pyzmq-26.2.1-pp39-pypy39_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:8eddb3784aed95d07065bcf94d07e8c04024fdb6b2386f08c197dfe6b3528fda", size = 570986, upload-time = "2025-01-30T11:41:48.16Z" }, + { url = "https://files.pythonhosted.org/packages/91/2e/f7f6c00d16db2b1936f3cd3b8362c391e40dd16a646b92ebf2f3b28206ee/pyzmq-26.2.1-pp39-pypy39_pp73-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:f0f19c2097fffb1d5b07893d75c9ee693e9cbc809235cf3f2267f0ef6b015f24", size = 799658, upload-time = "2025-01-30T11:41:50.349Z" }, + { url = "https://files.pythonhosted.org/packages/50/98/aa114911fcb65645099d6db5694a49975ef442f2c34532ea5365b6ec6da8/pyzmq-26.2.1-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:0995fd3530f2e89d6b69a2202e340bbada3191014352af978fa795cb7a446331", size = 758151, upload-time = "2025-01-30T11:41:52.702Z" }, + { url = "https://files.pythonhosted.org/packages/53/58/9909ad7a3112999a30464c5c92937c9eec5f5e6905a1eee45fd99788ce56/pyzmq-26.2.1-pp39-pypy39_pp73-manylinux_2_28_x86_64.whl", hash = "sha256:7c6160fe513654e65665332740f63de29ce0d165e053c0c14a161fa60dd0da01", size = 756685, upload-time = "2025-01-30T11:41:55.737Z" }, + { url = "https://files.pythonhosted.org/packages/01/28/1c0f44e609b91a1168aaf4ac38511645fd725593b41cd54ef06744d502ff/pyzmq-26.2.1-pp39-pypy39_pp73-win_amd64.whl", hash = "sha256:8ec8e3aea6146b761d6c57fcf8f81fcb19f187afecc19bf1701a48db9617a217", size = 556558, upload-time = "2025-01-30T11:41:57.95Z" }, ] [[package]] @@ -4090,9 +4090,9 @@ dependencies = [ { name = "nh3", marker = "python_full_version < '3.9'" }, { name = "pygments", marker = "python_full_version < '3.9'" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/fe/b5/536c775084d239df6345dccf9b043419c7e3308bc31be4c7882196abc62e/readme_renderer-43.0.tar.gz", hash = "sha256:1818dd28140813509eeed8d62687f7cd4f7bad90d4db586001c5dc09d4fde311", size = 31768 } +sdist = { url = "https://files.pythonhosted.org/packages/fe/b5/536c775084d239df6345dccf9b043419c7e3308bc31be4c7882196abc62e/readme_renderer-43.0.tar.gz", hash = "sha256:1818dd28140813509eeed8d62687f7cd4f7bad90d4db586001c5dc09d4fde311", size = 31768, upload-time = "2024-02-26T16:10:59.415Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/45/be/3ea20dc38b9db08387cf97997a85a7d51527ea2057d71118feb0aa8afa55/readme_renderer-43.0-py3-none-any.whl", hash = "sha256:19db308d86ecd60e5affa3b2a98f017af384678c63c88e5d4556a380e674f3f9", size = 13301 }, + { url = "https://files.pythonhosted.org/packages/45/be/3ea20dc38b9db08387cf97997a85a7d51527ea2057d71118feb0aa8afa55/readme_renderer-43.0-py3-none-any.whl", hash = "sha256:19db308d86ecd60e5affa3b2a98f017af384678c63c88e5d4556a380e674f3f9", size = 13301, upload-time = "2024-02-26T16:10:57.945Z" }, ] [[package]] @@ -4118,9 +4118,9 @@ dependencies = [ { name = "nh3", marker = "python_full_version >= '3.9'" }, { name = "pygments", marker = "python_full_version >= '3.9'" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/5a/a9/104ec9234c8448c4379768221ea6df01260cd6c2ce13182d4eac531c8342/readme_renderer-44.0.tar.gz", hash = "sha256:8712034eabbfa6805cacf1402b4eeb2a73028f72d1166d6f5cb7f9c047c5d1e1", size = 32056 } +sdist = { url = "https://files.pythonhosted.org/packages/5a/a9/104ec9234c8448c4379768221ea6df01260cd6c2ce13182d4eac531c8342/readme_renderer-44.0.tar.gz", hash = "sha256:8712034eabbfa6805cacf1402b4eeb2a73028f72d1166d6f5cb7f9c047c5d1e1", size = 32056, upload-time = "2024-07-08T15:00:57.805Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/e1/67/921ec3024056483db83953ae8e48079ad62b92db7880013ca77632921dd0/readme_renderer-44.0-py3-none-any.whl", hash = "sha256:2fbca89b81a08526aadf1357a8c2ae889ec05fb03f5da67f9769c9a592166151", size = 13310 }, + { url = "https://files.pythonhosted.org/packages/e1/67/921ec3024056483db83953ae8e48079ad62b92db7880013ca77632921dd0/readme_renderer-44.0-py3-none-any.whl", hash = "sha256:2fbca89b81a08526aadf1357a8c2ae889ec05fb03f5da67f9769c9a592166151", size = 13310, upload-time = "2024-07-08T15:00:56.577Z" }, ] [[package]] @@ -4136,9 +4136,9 @@ dependencies = [ { name = "attrs", marker = "python_full_version < '3.9'" }, { name = "rpds-py", version = "0.20.1", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.9'" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/99/5b/73ca1f8e72fff6fa52119dbd185f73a907b1989428917b24cff660129b6d/referencing-0.35.1.tar.gz", hash = "sha256:25b42124a6c8b632a425174f24087783efb348a6f1e0008e63cd4466fedf703c", size = 62991 } +sdist = { url = "https://files.pythonhosted.org/packages/99/5b/73ca1f8e72fff6fa52119dbd185f73a907b1989428917b24cff660129b6d/referencing-0.35.1.tar.gz", hash = "sha256:25b42124a6c8b632a425174f24087783efb348a6f1e0008e63cd4466fedf703c", size = 62991, upload-time = "2024-05-01T20:26:04.574Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/b7/59/2056f61236782a2c86b33906c025d4f4a0b17be0161b63b70fd9e8775d36/referencing-0.35.1-py3-none-any.whl", hash = "sha256:eda6d3234d62814d1c64e305c1331c9a3a6132da475ab6382eaa997b21ee75de", size = 26684 }, + { url = "https://files.pythonhosted.org/packages/b7/59/2056f61236782a2c86b33906c025d4f4a0b17be0161b63b70fd9e8775d36/referencing-0.35.1-py3-none-any.whl", hash = "sha256:eda6d3234d62814d1c64e305c1331c9a3a6132da475ab6382eaa997b21ee75de", size = 26684, upload-time = "2024-05-01T20:26:02.078Z" }, ] [[package]] @@ -4164,110 +4164,110 @@ dependencies = [ { name = "rpds-py", version = "0.22.3", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.9'" }, { name = "typing-extensions", marker = "python_full_version >= '3.9' and python_full_version < '3.13'" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/2f/db/98b5c277be99dd18bfd91dd04e1b759cad18d1a338188c936e92f921c7e2/referencing-0.36.2.tar.gz", hash = "sha256:df2e89862cd09deabbdba16944cc3f10feb6b3e6f18e902f7cc25609a34775aa", size = 74744 } +sdist = { url = "https://files.pythonhosted.org/packages/2f/db/98b5c277be99dd18bfd91dd04e1b759cad18d1a338188c936e92f921c7e2/referencing-0.36.2.tar.gz", hash = "sha256:df2e89862cd09deabbdba16944cc3f10feb6b3e6f18e902f7cc25609a34775aa", size = 74744, upload-time = "2025-01-25T08:48:16.138Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/c1/b1/3baf80dc6d2b7bc27a95a67752d0208e410351e3feb4eb78de5f77454d8d/referencing-0.36.2-py3-none-any.whl", hash = "sha256:e8699adbbf8b5c7de96d8ffa0eb5c158b3beafce084968e2ea8bb08c6794dcd0", size = 26775 }, + { url = "https://files.pythonhosted.org/packages/c1/b1/3baf80dc6d2b7bc27a95a67752d0208e410351e3feb4eb78de5f77454d8d/referencing-0.36.2-py3-none-any.whl", hash = "sha256:e8699adbbf8b5c7de96d8ffa0eb5c158b3beafce084968e2ea8bb08c6794dcd0", size = 26775, upload-time = "2025-01-25T08:48:14.241Z" }, ] [[package]] name = "regex" version = "2024.11.6" source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/8e/5f/bd69653fbfb76cf8604468d3b4ec4c403197144c7bfe0e6a5fc9e02a07cb/regex-2024.11.6.tar.gz", hash = "sha256:7ab159b063c52a0333c884e4679f8d7a85112ee3078fe3d9004b2dd875585519", size = 399494 } -wheels = [ - { url = "https://files.pythonhosted.org/packages/95/3c/4651f6b130c6842a8f3df82461a8950f923925db8b6961063e82744bddcc/regex-2024.11.6-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:ff590880083d60acc0433f9c3f713c51f7ac6ebb9adf889c79a261ecf541aa91", size = 482674 }, - { url = "https://files.pythonhosted.org/packages/15/51/9f35d12da8434b489c7b7bffc205c474a0a9432a889457026e9bc06a297a/regex-2024.11.6-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:658f90550f38270639e83ce492f27d2c8d2cd63805c65a13a14d36ca126753f0", size = 287684 }, - { url = "https://files.pythonhosted.org/packages/bd/18/b731f5510d1b8fb63c6b6d3484bfa9a59b84cc578ac8b5172970e05ae07c/regex-2024.11.6-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:164d8b7b3b4bcb2068b97428060b2a53be050085ef94eca7f240e7947f1b080e", size = 284589 }, - { url = "https://files.pythonhosted.org/packages/78/a2/6dd36e16341ab95e4c6073426561b9bfdeb1a9c9b63ab1b579c2e96cb105/regex-2024.11.6-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d3660c82f209655a06b587d55e723f0b813d3a7db2e32e5e7dc64ac2a9e86fde", size = 782511 }, - { url = "https://files.pythonhosted.org/packages/1b/2b/323e72d5d2fd8de0d9baa443e1ed70363ed7e7b2fb526f5950c5cb99c364/regex-2024.11.6-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:d22326fcdef5e08c154280b71163ced384b428343ae16a5ab2b3354aed12436e", size = 821149 }, - { url = "https://files.pythonhosted.org/packages/90/30/63373b9ea468fbef8a907fd273e5c329b8c9535fee36fc8dba5fecac475d/regex-2024.11.6-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:f1ac758ef6aebfc8943560194e9fd0fa18bcb34d89fd8bd2af18183afd8da3a2", size = 809707 }, - { url = "https://files.pythonhosted.org/packages/f2/98/26d3830875b53071f1f0ae6d547f1d98e964dd29ad35cbf94439120bb67a/regex-2024.11.6-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:997d6a487ff00807ba810e0f8332c18b4eb8d29463cfb7c820dc4b6e7562d0cf", size = 781702 }, - { url = "https://files.pythonhosted.org/packages/87/55/eb2a068334274db86208ab9d5599ffa63631b9f0f67ed70ea7c82a69bbc8/regex-2024.11.6-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:02a02d2bb04fec86ad61f3ea7f49c015a0681bf76abb9857f945d26159d2968c", size = 771976 }, - { url = "https://files.pythonhosted.org/packages/74/c0/be707bcfe98254d8f9d2cff55d216e946f4ea48ad2fd8cf1428f8c5332ba/regex-2024.11.6-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:f02f93b92358ee3f78660e43b4b0091229260c5d5c408d17d60bf26b6c900e86", size = 697397 }, - { url = "https://files.pythonhosted.org/packages/49/dc/bb45572ceb49e0f6509f7596e4ba7031f6819ecb26bc7610979af5a77f45/regex-2024.11.6-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:06eb1be98df10e81ebaded73fcd51989dcf534e3c753466e4b60c4697a003b67", size = 768726 }, - { url = "https://files.pythonhosted.org/packages/5a/db/f43fd75dc4c0c2d96d0881967897926942e935d700863666f3c844a72ce6/regex-2024.11.6-cp310-cp310-musllinux_1_2_i686.whl", hash = "sha256:040df6fe1a5504eb0f04f048e6d09cd7c7110fef851d7c567a6b6e09942feb7d", size = 775098 }, - { url = "https://files.pythonhosted.org/packages/99/d7/f94154db29ab5a89d69ff893159b19ada89e76b915c1293e98603d39838c/regex-2024.11.6-cp310-cp310-musllinux_1_2_ppc64le.whl", hash = "sha256:fdabbfc59f2c6edba2a6622c647b716e34e8e3867e0ab975412c5c2f79b82da2", size = 839325 }, - { url = "https://files.pythonhosted.org/packages/f7/17/3cbfab1f23356fbbf07708220ab438a7efa1e0f34195bf857433f79f1788/regex-2024.11.6-cp310-cp310-musllinux_1_2_s390x.whl", hash = "sha256:8447d2d39b5abe381419319f942de20b7ecd60ce86f16a23b0698f22e1b70008", size = 843277 }, - { url = "https://files.pythonhosted.org/packages/7e/f2/48b393b51900456155de3ad001900f94298965e1cad1c772b87f9cfea011/regex-2024.11.6-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:da8f5fc57d1933de22a9e23eec290a0d8a5927a5370d24bda9a6abe50683fe62", size = 773197 }, - { url = "https://files.pythonhosted.org/packages/45/3f/ef9589aba93e084cd3f8471fded352826dcae8489b650d0b9b27bc5bba8a/regex-2024.11.6-cp310-cp310-win32.whl", hash = "sha256:b489578720afb782f6ccf2840920f3a32e31ba28a4b162e13900c3e6bd3f930e", size = 261714 }, - { url = "https://files.pythonhosted.org/packages/42/7e/5f1b92c8468290c465fd50c5318da64319133231415a8aa6ea5ab995a815/regex-2024.11.6-cp310-cp310-win_amd64.whl", hash = "sha256:5071b2093e793357c9d8b2929dfc13ac5f0a6c650559503bb81189d0a3814519", size = 274042 }, - { url = "https://files.pythonhosted.org/packages/58/58/7e4d9493a66c88a7da6d205768119f51af0f684fe7be7bac8328e217a52c/regex-2024.11.6-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:5478c6962ad548b54a591778e93cd7c456a7a29f8eca9c49e4f9a806dcc5d638", size = 482669 }, - { url = "https://files.pythonhosted.org/packages/34/4c/8f8e631fcdc2ff978609eaeef1d6994bf2f028b59d9ac67640ed051f1218/regex-2024.11.6-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:2c89a8cc122b25ce6945f0423dc1352cb9593c68abd19223eebbd4e56612c5b7", size = 287684 }, - { url = "https://files.pythonhosted.org/packages/c5/1b/f0e4d13e6adf866ce9b069e191f303a30ab1277e037037a365c3aad5cc9c/regex-2024.11.6-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:94d87b689cdd831934fa3ce16cc15cd65748e6d689f5d2b8f4f4df2065c9fa20", size = 284589 }, - { url = "https://files.pythonhosted.org/packages/25/4d/ab21047f446693887f25510887e6820b93f791992994f6498b0318904d4a/regex-2024.11.6-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:1062b39a0a2b75a9c694f7a08e7183a80c63c0d62b301418ffd9c35f55aaa114", size = 792121 }, - { url = "https://files.pythonhosted.org/packages/45/ee/c867e15cd894985cb32b731d89576c41a4642a57850c162490ea34b78c3b/regex-2024.11.6-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:167ed4852351d8a750da48712c3930b031f6efdaa0f22fa1933716bfcd6bf4a3", size = 831275 }, - { url = "https://files.pythonhosted.org/packages/b3/12/b0f480726cf1c60f6536fa5e1c95275a77624f3ac8fdccf79e6727499e28/regex-2024.11.6-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:2d548dafee61f06ebdb584080621f3e0c23fff312f0de1afc776e2a2ba99a74f", size = 818257 }, - { url = "https://files.pythonhosted.org/packages/bf/ce/0d0e61429f603bac433910d99ef1a02ce45a8967ffbe3cbee48599e62d88/regex-2024.11.6-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f2a19f302cd1ce5dd01a9099aaa19cae6173306d1302a43b627f62e21cf18ac0", size = 792727 }, - { url = "https://files.pythonhosted.org/packages/e4/c1/243c83c53d4a419c1556f43777ccb552bccdf79d08fda3980e4e77dd9137/regex-2024.11.6-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:bec9931dfb61ddd8ef2ebc05646293812cb6b16b60cf7c9511a832b6f1854b55", size = 780667 }, - { url = "https://files.pythonhosted.org/packages/c5/f4/75eb0dd4ce4b37f04928987f1d22547ddaf6c4bae697623c1b05da67a8aa/regex-2024.11.6-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:9714398225f299aa85267fd222f7142fcb5c769e73d7733344efc46f2ef5cf89", size = 776963 }, - { url = "https://files.pythonhosted.org/packages/16/5d/95c568574e630e141a69ff8a254c2f188b4398e813c40d49228c9bbd9875/regex-2024.11.6-cp311-cp311-musllinux_1_2_i686.whl", hash = "sha256:202eb32e89f60fc147a41e55cb086db2a3f8cb82f9a9a88440dcfc5d37faae8d", size = 784700 }, - { url = "https://files.pythonhosted.org/packages/8e/b5/f8495c7917f15cc6fee1e7f395e324ec3e00ab3c665a7dc9d27562fd5290/regex-2024.11.6-cp311-cp311-musllinux_1_2_ppc64le.whl", hash = "sha256:4181b814e56078e9b00427ca358ec44333765f5ca1b45597ec7446d3a1ef6e34", size = 848592 }, - { url = "https://files.pythonhosted.org/packages/1c/80/6dd7118e8cb212c3c60b191b932dc57db93fb2e36fb9e0e92f72a5909af9/regex-2024.11.6-cp311-cp311-musllinux_1_2_s390x.whl", hash = "sha256:068376da5a7e4da51968ce4c122a7cd31afaaec4fccc7856c92f63876e57b51d", size = 852929 }, - { url = "https://files.pythonhosted.org/packages/11/9b/5a05d2040297d2d254baf95eeeb6df83554e5e1df03bc1a6687fc4ba1f66/regex-2024.11.6-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:ac10f2c4184420d881a3475fb2c6f4d95d53a8d50209a2500723d831036f7c45", size = 781213 }, - { url = "https://files.pythonhosted.org/packages/26/b7/b14e2440156ab39e0177506c08c18accaf2b8932e39fb092074de733d868/regex-2024.11.6-cp311-cp311-win32.whl", hash = "sha256:c36f9b6f5f8649bb251a5f3f66564438977b7ef8386a52460ae77e6070d309d9", size = 261734 }, - { url = "https://files.pythonhosted.org/packages/80/32/763a6cc01d21fb3819227a1cc3f60fd251c13c37c27a73b8ff4315433a8e/regex-2024.11.6-cp311-cp311-win_amd64.whl", hash = "sha256:02e28184be537f0e75c1f9b2f8847dc51e08e6e171c6bde130b2687e0c33cf60", size = 274052 }, - { url = "https://files.pythonhosted.org/packages/ba/30/9a87ce8336b172cc232a0db89a3af97929d06c11ceaa19d97d84fa90a8f8/regex-2024.11.6-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:52fb28f528778f184f870b7cf8f225f5eef0a8f6e3778529bdd40c7b3920796a", size = 483781 }, - { url = "https://files.pythonhosted.org/packages/01/e8/00008ad4ff4be8b1844786ba6636035f7ef926db5686e4c0f98093612add/regex-2024.11.6-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:fdd6028445d2460f33136c55eeb1f601ab06d74cb3347132e1c24250187500d9", size = 288455 }, - { url = "https://files.pythonhosted.org/packages/60/85/cebcc0aff603ea0a201667b203f13ba75d9fc8668fab917ac5b2de3967bc/regex-2024.11.6-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:805e6b60c54bf766b251e94526ebad60b7de0c70f70a4e6210ee2891acb70bf2", size = 284759 }, - { url = "https://files.pythonhosted.org/packages/94/2b/701a4b0585cb05472a4da28ee28fdfe155f3638f5e1ec92306d924e5faf0/regex-2024.11.6-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:b85c2530be953a890eaffde05485238f07029600e8f098cdf1848d414a8b45e4", size = 794976 }, - { url = "https://files.pythonhosted.org/packages/4b/bf/fa87e563bf5fee75db8915f7352e1887b1249126a1be4813837f5dbec965/regex-2024.11.6-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:bb26437975da7dc36b7efad18aa9dd4ea569d2357ae6b783bf1118dabd9ea577", size = 833077 }, - { url = "https://files.pythonhosted.org/packages/a1/56/7295e6bad94b047f4d0834e4779491b81216583c00c288252ef625c01d23/regex-2024.11.6-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:abfa5080c374a76a251ba60683242bc17eeb2c9818d0d30117b4486be10c59d3", size = 823160 }, - { url = "https://files.pythonhosted.org/packages/fb/13/e3b075031a738c9598c51cfbc4c7879e26729c53aa9cca59211c44235314/regex-2024.11.6-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:70b7fa6606c2881c1db9479b0eaa11ed5dfa11c8d60a474ff0e095099f39d98e", size = 796896 }, - { url = "https://files.pythonhosted.org/packages/24/56/0b3f1b66d592be6efec23a795b37732682520b47c53da5a32c33ed7d84e3/regex-2024.11.6-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:0c32f75920cf99fe6b6c539c399a4a128452eaf1af27f39bce8909c9a3fd8cbe", size = 783997 }, - { url = "https://files.pythonhosted.org/packages/f9/a1/eb378dada8b91c0e4c5f08ffb56f25fcae47bf52ad18f9b2f33b83e6d498/regex-2024.11.6-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:982e6d21414e78e1f51cf595d7f321dcd14de1f2881c5dc6a6e23bbbbd68435e", size = 781725 }, - { url = "https://files.pythonhosted.org/packages/83/f2/033e7dec0cfd6dda93390089864732a3409246ffe8b042e9554afa9bff4e/regex-2024.11.6-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:a7c2155f790e2fb448faed6dd241386719802296ec588a8b9051c1f5c481bc29", size = 789481 }, - { url = "https://files.pythonhosted.org/packages/83/23/15d4552ea28990a74e7696780c438aadd73a20318c47e527b47a4a5a596d/regex-2024.11.6-cp312-cp312-musllinux_1_2_ppc64le.whl", hash = "sha256:149f5008d286636e48cd0b1dd65018548944e495b0265b45e1bffecce1ef7f39", size = 852896 }, - { url = "https://files.pythonhosted.org/packages/e3/39/ed4416bc90deedbfdada2568b2cb0bc1fdb98efe11f5378d9892b2a88f8f/regex-2024.11.6-cp312-cp312-musllinux_1_2_s390x.whl", hash = "sha256:e5364a4502efca094731680e80009632ad6624084aff9a23ce8c8c6820de3e51", size = 860138 }, - { url = "https://files.pythonhosted.org/packages/93/2d/dd56bb76bd8e95bbce684326302f287455b56242a4f9c61f1bc76e28360e/regex-2024.11.6-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:0a86e7eeca091c09e021db8eb72d54751e527fa47b8d5787caf96d9831bd02ad", size = 787692 }, - { url = "https://files.pythonhosted.org/packages/0b/55/31877a249ab7a5156758246b9c59539abbeba22461b7d8adc9e8475ff73e/regex-2024.11.6-cp312-cp312-win32.whl", hash = "sha256:32f9a4c643baad4efa81d549c2aadefaeba12249b2adc5af541759237eee1c54", size = 262135 }, - { url = "https://files.pythonhosted.org/packages/38/ec/ad2d7de49a600cdb8dd78434a1aeffe28b9d6fc42eb36afab4a27ad23384/regex-2024.11.6-cp312-cp312-win_amd64.whl", hash = "sha256:a93c194e2df18f7d264092dc8539b8ffb86b45b899ab976aa15d48214138e81b", size = 273567 }, - { url = "https://files.pythonhosted.org/packages/90/73/bcb0e36614601016552fa9344544a3a2ae1809dc1401b100eab02e772e1f/regex-2024.11.6-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:a6ba92c0bcdf96cbf43a12c717eae4bc98325ca3730f6b130ffa2e3c3c723d84", size = 483525 }, - { url = "https://files.pythonhosted.org/packages/0f/3f/f1a082a46b31e25291d830b369b6b0c5576a6f7fb89d3053a354c24b8a83/regex-2024.11.6-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:525eab0b789891ac3be914d36893bdf972d483fe66551f79d3e27146191a37d4", size = 288324 }, - { url = "https://files.pythonhosted.org/packages/09/c9/4e68181a4a652fb3ef5099e077faf4fd2a694ea6e0f806a7737aff9e758a/regex-2024.11.6-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:086a27a0b4ca227941700e0b31425e7a28ef1ae8e5e05a33826e17e47fbfdba0", size = 284617 }, - { url = "https://files.pythonhosted.org/packages/fc/fd/37868b75eaf63843165f1d2122ca6cb94bfc0271e4428cf58c0616786dce/regex-2024.11.6-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:bde01f35767c4a7899b7eb6e823b125a64de314a8ee9791367c9a34d56af18d0", size = 795023 }, - { url = "https://files.pythonhosted.org/packages/c4/7c/d4cd9c528502a3dedb5c13c146e7a7a539a3853dc20209c8e75d9ba9d1b2/regex-2024.11.6-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:b583904576650166b3d920d2bcce13971f6f9e9a396c673187f49811b2769dc7", size = 833072 }, - { url = "https://files.pythonhosted.org/packages/4f/db/46f563a08f969159c5a0f0e722260568425363bea43bb7ae370becb66a67/regex-2024.11.6-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:1c4de13f06a0d54fa0d5ab1b7138bfa0d883220965a29616e3ea61b35d5f5fc7", size = 823130 }, - { url = "https://files.pythonhosted.org/packages/db/60/1eeca2074f5b87df394fccaa432ae3fc06c9c9bfa97c5051aed70e6e00c2/regex-2024.11.6-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:3cde6e9f2580eb1665965ce9bf17ff4952f34f5b126beb509fee8f4e994f143c", size = 796857 }, - { url = "https://files.pythonhosted.org/packages/10/db/ac718a08fcee981554d2f7bb8402f1faa7e868c1345c16ab1ebec54b0d7b/regex-2024.11.6-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:0d7f453dca13f40a02b79636a339c5b62b670141e63efd511d3f8f73fba162b3", size = 784006 }, - { url = "https://files.pythonhosted.org/packages/c2/41/7da3fe70216cea93144bf12da2b87367590bcf07db97604edeea55dac9ad/regex-2024.11.6-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:59dfe1ed21aea057a65c6b586afd2a945de04fc7db3de0a6e3ed5397ad491b07", size = 781650 }, - { url = "https://files.pythonhosted.org/packages/a7/d5/880921ee4eec393a4752e6ab9f0fe28009435417c3102fc413f3fe81c4e5/regex-2024.11.6-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:b97c1e0bd37c5cd7902e65f410779d39eeda155800b65fc4d04cc432efa9bc6e", size = 789545 }, - { url = "https://files.pythonhosted.org/packages/dc/96/53770115e507081122beca8899ab7f5ae28ae790bfcc82b5e38976df6a77/regex-2024.11.6-cp313-cp313-musllinux_1_2_ppc64le.whl", hash = "sha256:f9d1e379028e0fc2ae3654bac3cbbef81bf3fd571272a42d56c24007979bafb6", size = 853045 }, - { url = "https://files.pythonhosted.org/packages/31/d3/1372add5251cc2d44b451bd94f43b2ec78e15a6e82bff6a290ef9fd8f00a/regex-2024.11.6-cp313-cp313-musllinux_1_2_s390x.whl", hash = "sha256:13291b39131e2d002a7940fb176e120bec5145f3aeb7621be6534e46251912c4", size = 860182 }, - { url = "https://files.pythonhosted.org/packages/ed/e3/c446a64984ea9f69982ba1a69d4658d5014bc7a0ea468a07e1a1265db6e2/regex-2024.11.6-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:4f51f88c126370dcec4908576c5a627220da6c09d0bff31cfa89f2523843316d", size = 787733 }, - { url = "https://files.pythonhosted.org/packages/2b/f1/e40c8373e3480e4f29f2692bd21b3e05f296d3afebc7e5dcf21b9756ca1c/regex-2024.11.6-cp313-cp313-win32.whl", hash = "sha256:63b13cfd72e9601125027202cad74995ab26921d8cd935c25f09c630436348ff", size = 262122 }, - { url = "https://files.pythonhosted.org/packages/45/94/bc295babb3062a731f52621cdc992d123111282e291abaf23faa413443ea/regex-2024.11.6-cp313-cp313-win_amd64.whl", hash = "sha256:2b3361af3198667e99927da8b84c1b010752fa4b1115ee30beaa332cabc3ef1a", size = 273545 }, - { url = "https://files.pythonhosted.org/packages/44/0f/207b37e6e08d548fac0aa00bf0b7464126315d58ab5161216b8cb3abb2aa/regex-2024.11.6-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:3a51ccc315653ba012774efca4f23d1d2a8a8f278a6072e29c7147eee7da446b", size = 482777 }, - { url = "https://files.pythonhosted.org/packages/5a/5a/586bafa294c5d2451265d3685815606c61e620f469cac3b946fff0a4aa48/regex-2024.11.6-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:ad182d02e40de7459b73155deb8996bbd8e96852267879396fb274e8700190e3", size = 287751 }, - { url = "https://files.pythonhosted.org/packages/08/92/9df786fad8a4e0766bfc9a2e334c5f0757356070c9639b2ec776b8cdef3d/regex-2024.11.6-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:ba9b72e5643641b7d41fa1f6d5abda2c9a263ae835b917348fc3c928182ad467", size = 284552 }, - { url = "https://files.pythonhosted.org/packages/0a/27/0b3cf7d9fbe43301aa3473d54406019a7380abe4e3c9ae250bac13c4fdb3/regex-2024.11.6-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:40291b1b89ca6ad8d3f2b82782cc33807f1406cf68c8d440861da6304d8ffbbd", size = 783587 }, - { url = "https://files.pythonhosted.org/packages/89/38/499b32cbb61163af60a5c5ff26aacea7836fe7e3d821e76af216e996088c/regex-2024.11.6-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:cdf58d0e516ee426a48f7b2c03a332a4114420716d55769ff7108c37a09951bf", size = 822904 }, - { url = "https://files.pythonhosted.org/packages/3f/a4/e3b11c643e5ae1059a08aeef971973f0c803d2a9ae2e7a86f97c68146a6c/regex-2024.11.6-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:a36fdf2af13c2b14738f6e973aba563623cb77d753bbbd8d414d18bfaa3105dd", size = 809900 }, - { url = "https://files.pythonhosted.org/packages/5a/c8/dc7153ceb5bcc344f5c4f0291ea45925a5f00009afa3849e91561ac2e847/regex-2024.11.6-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:d1cee317bfc014c2419a76bcc87f071405e3966da434e03e13beb45f8aced1a6", size = 785105 }, - { url = "https://files.pythonhosted.org/packages/2a/29/841489ea52013062b22625fbaf49b0916aeb62bae2e56425ac30f9dead46/regex-2024.11.6-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:50153825ee016b91549962f970d6a4442fa106832e14c918acd1c8e479916c4f", size = 773033 }, - { url = "https://files.pythonhosted.org/packages/3e/4e/4a0da5e87f7c2dc73a8505785d5af2b1a19c66f4645b93caa50b7eb08242/regex-2024.11.6-cp38-cp38-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:ea1bfda2f7162605f6e8178223576856b3d791109f15ea99a9f95c16a7636fb5", size = 702374 }, - { url = "https://files.pythonhosted.org/packages/94/6e/444e66346600d11e8a0f4bb31611973cffa772d5033ba1cf1f15de8a0d52/regex-2024.11.6-cp38-cp38-musllinux_1_2_aarch64.whl", hash = "sha256:df951c5f4a1b1910f1a99ff42c473ff60f8225baa1cdd3539fe2819d9543e9df", size = 769990 }, - { url = "https://files.pythonhosted.org/packages/da/28/95c3ed6cd51b27f54e59940400e2a3ddd3f8bbbc3aaf947e57a67104ecbd/regex-2024.11.6-cp38-cp38-musllinux_1_2_i686.whl", hash = "sha256:072623554418a9911446278f16ecb398fb3b540147a7828c06e2011fa531e773", size = 775345 }, - { url = "https://files.pythonhosted.org/packages/07/5d/0cd19cf44d96a7aa31526611c24235d21d27c23b65201cb2c5cac508dd42/regex-2024.11.6-cp38-cp38-musllinux_1_2_ppc64le.whl", hash = "sha256:f654882311409afb1d780b940234208a252322c24a93b442ca714d119e68086c", size = 840379 }, - { url = "https://files.pythonhosted.org/packages/2a/13/ec3f8d85b789ee1c6ffbdfd4092fd901416716317ee17bf51aa2890bac96/regex-2024.11.6-cp38-cp38-musllinux_1_2_s390x.whl", hash = "sha256:89d75e7293d2b3e674db7d4d9b1bee7f8f3d1609428e293771d1a962617150cc", size = 845842 }, - { url = "https://files.pythonhosted.org/packages/50/cb/7170247e65afea2bf9204bcb2682f292b0a3a57d112478da199b84d59792/regex-2024.11.6-cp38-cp38-musllinux_1_2_x86_64.whl", hash = "sha256:f65557897fc977a44ab205ea871b690adaef6b9da6afda4790a2484b04293a5f", size = 775026 }, - { url = "https://files.pythonhosted.org/packages/cc/06/c817c9201f09b7d9dd033039ba90d8197c91e9fe2984141f2d1de270c159/regex-2024.11.6-cp38-cp38-win32.whl", hash = "sha256:6f44ec28b1f858c98d3036ad5d7d0bfc568bdd7a74f9c24e25f41ef1ebfd81a4", size = 261738 }, - { url = "https://files.pythonhosted.org/packages/cf/69/c39e16320400842eb4358c982ef5fc680800866f35ebfd4dd38a22967ce0/regex-2024.11.6-cp38-cp38-win_amd64.whl", hash = "sha256:bb8f74f2f10dbf13a0be8de623ba4f9491faf58c24064f32b65679b021ed0001", size = 274094 }, - { url = "https://files.pythonhosted.org/packages/89/23/c4a86df398e57e26f93b13ae63acce58771e04bdde86092502496fa57f9c/regex-2024.11.6-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:5704e174f8ccab2026bd2f1ab6c510345ae8eac818b613d7d73e785f1310f839", size = 482682 }, - { url = "https://files.pythonhosted.org/packages/3c/8b/45c24ab7a51a1658441b961b86209c43e6bb9d39caf1e63f46ce6ea03bc7/regex-2024.11.6-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:220902c3c5cc6af55d4fe19ead504de80eb91f786dc102fbd74894b1551f095e", size = 287679 }, - { url = "https://files.pythonhosted.org/packages/7a/d1/598de10b17fdafc452d11f7dada11c3be4e379a8671393e4e3da3c4070df/regex-2024.11.6-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:5e7e351589da0850c125f1600a4c4ba3c722efefe16b297de54300f08d734fbf", size = 284578 }, - { url = "https://files.pythonhosted.org/packages/49/70/c7eaa219efa67a215846766fde18d92d54cb590b6a04ffe43cef30057622/regex-2024.11.6-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:5056b185ca113c88e18223183aa1a50e66507769c9640a6ff75859619d73957b", size = 782012 }, - { url = "https://files.pythonhosted.org/packages/89/e5/ef52c7eb117dd20ff1697968219971d052138965a4d3d9b95e92e549f505/regex-2024.11.6-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:2e34b51b650b23ed3354b5a07aab37034d9f923db2a40519139af34f485f77d0", size = 820580 }, - { url = "https://files.pythonhosted.org/packages/5f/3f/9f5da81aff1d4167ac52711acf789df13e789fe6ac9545552e49138e3282/regex-2024.11.6-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:5670bce7b200273eee1840ef307bfa07cda90b38ae56e9a6ebcc9f50da9c469b", size = 809110 }, - { url = "https://files.pythonhosted.org/packages/86/44/2101cc0890c3621b90365c9ee8d7291a597c0722ad66eccd6ffa7f1bcc09/regex-2024.11.6-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:08986dce1339bc932923e7d1232ce9881499a0e02925f7402fb7c982515419ef", size = 780919 }, - { url = "https://files.pythonhosted.org/packages/ce/2e/3e0668d8d1c7c3c0d397bf54d92fc182575b3a26939aed5000d3cc78760f/regex-2024.11.6-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:93c0b12d3d3bc25af4ebbf38f9ee780a487e8bf6954c115b9f015822d3bb8e48", size = 771515 }, - { url = "https://files.pythonhosted.org/packages/a6/49/1bc4584254355e3dba930a3a2fd7ad26ccba3ebbab7d9100db0aff2eedb0/regex-2024.11.6-cp39-cp39-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:764e71f22ab3b305e7f4c21f1a97e1526a25ebdd22513e251cf376760213da13", size = 696957 }, - { url = "https://files.pythonhosted.org/packages/c8/dd/42879c1fc8a37a887cd08e358af3d3ba9e23038cd77c7fe044a86d9450ba/regex-2024.11.6-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:f056bf21105c2515c32372bbc057f43eb02aae2fda61052e2f7622c801f0b4e2", size = 768088 }, - { url = "https://files.pythonhosted.org/packages/89/96/c05a0fe173cd2acd29d5e13c1adad8b706bcaa71b169e1ee57dcf2e74584/regex-2024.11.6-cp39-cp39-musllinux_1_2_i686.whl", hash = "sha256:69ab78f848845569401469da20df3e081e6b5a11cb086de3eed1d48f5ed57c95", size = 774752 }, - { url = "https://files.pythonhosted.org/packages/b5/f3/a757748066255f97f14506483436c5f6aded7af9e37bca04ec30c90ca683/regex-2024.11.6-cp39-cp39-musllinux_1_2_ppc64le.whl", hash = "sha256:86fddba590aad9208e2fa8b43b4c098bb0ec74f15718bb6a704e3c63e2cef3e9", size = 838862 }, - { url = "https://files.pythonhosted.org/packages/5c/93/c6d2092fd479dcaeea40fc8fa673822829181ded77d294a7f950f1dda6e2/regex-2024.11.6-cp39-cp39-musllinux_1_2_s390x.whl", hash = "sha256:684d7a212682996d21ca12ef3c17353c021fe9de6049e19ac8481ec35574a70f", size = 842622 }, - { url = "https://files.pythonhosted.org/packages/ff/9c/daa99532c72f25051a90ef90e1413a8d54413a9e64614d9095b0c1c154d0/regex-2024.11.6-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:a03e02f48cd1abbd9f3b7e3586d97c8f7a9721c436f51a5245b3b9483044480b", size = 772713 }, - { url = "https://files.pythonhosted.org/packages/13/5d/61a533ccb8c231b474ac8e3a7d70155b00dfc61af6cafdccd1947df6d735/regex-2024.11.6-cp39-cp39-win32.whl", hash = "sha256:41758407fc32d5c3c5de163888068cfee69cb4c2be844e7ac517a52770f9af57", size = 261756 }, - { url = "https://files.pythonhosted.org/packages/dc/7b/e59b7f7c91ae110d154370c24133f947262525b5d6406df65f23422acc17/regex-2024.11.6-cp39-cp39-win_amd64.whl", hash = "sha256:b2837718570f95dd41675328e111345f9b7095d821bac435aac173ac80b19983", size = 274110 }, +sdist = { url = "https://files.pythonhosted.org/packages/8e/5f/bd69653fbfb76cf8604468d3b4ec4c403197144c7bfe0e6a5fc9e02a07cb/regex-2024.11.6.tar.gz", hash = "sha256:7ab159b063c52a0333c884e4679f8d7a85112ee3078fe3d9004b2dd875585519", size = 399494, upload-time = "2024-11-06T20:12:31.635Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/95/3c/4651f6b130c6842a8f3df82461a8950f923925db8b6961063e82744bddcc/regex-2024.11.6-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:ff590880083d60acc0433f9c3f713c51f7ac6ebb9adf889c79a261ecf541aa91", size = 482674, upload-time = "2024-11-06T20:08:57.575Z" }, + { url = "https://files.pythonhosted.org/packages/15/51/9f35d12da8434b489c7b7bffc205c474a0a9432a889457026e9bc06a297a/regex-2024.11.6-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:658f90550f38270639e83ce492f27d2c8d2cd63805c65a13a14d36ca126753f0", size = 287684, upload-time = "2024-11-06T20:08:59.787Z" }, + { url = "https://files.pythonhosted.org/packages/bd/18/b731f5510d1b8fb63c6b6d3484bfa9a59b84cc578ac8b5172970e05ae07c/regex-2024.11.6-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:164d8b7b3b4bcb2068b97428060b2a53be050085ef94eca7f240e7947f1b080e", size = 284589, upload-time = "2024-11-06T20:09:01.896Z" }, + { url = "https://files.pythonhosted.org/packages/78/a2/6dd36e16341ab95e4c6073426561b9bfdeb1a9c9b63ab1b579c2e96cb105/regex-2024.11.6-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d3660c82f209655a06b587d55e723f0b813d3a7db2e32e5e7dc64ac2a9e86fde", size = 782511, upload-time = "2024-11-06T20:09:04.062Z" }, + { url = "https://files.pythonhosted.org/packages/1b/2b/323e72d5d2fd8de0d9baa443e1ed70363ed7e7b2fb526f5950c5cb99c364/regex-2024.11.6-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:d22326fcdef5e08c154280b71163ced384b428343ae16a5ab2b3354aed12436e", size = 821149, upload-time = "2024-11-06T20:09:06.237Z" }, + { url = "https://files.pythonhosted.org/packages/90/30/63373b9ea468fbef8a907fd273e5c329b8c9535fee36fc8dba5fecac475d/regex-2024.11.6-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:f1ac758ef6aebfc8943560194e9fd0fa18bcb34d89fd8bd2af18183afd8da3a2", size = 809707, upload-time = "2024-11-06T20:09:07.715Z" }, + { url = "https://files.pythonhosted.org/packages/f2/98/26d3830875b53071f1f0ae6d547f1d98e964dd29ad35cbf94439120bb67a/regex-2024.11.6-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:997d6a487ff00807ba810e0f8332c18b4eb8d29463cfb7c820dc4b6e7562d0cf", size = 781702, upload-time = "2024-11-06T20:09:10.101Z" }, + { url = "https://files.pythonhosted.org/packages/87/55/eb2a068334274db86208ab9d5599ffa63631b9f0f67ed70ea7c82a69bbc8/regex-2024.11.6-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:02a02d2bb04fec86ad61f3ea7f49c015a0681bf76abb9857f945d26159d2968c", size = 771976, upload-time = "2024-11-06T20:09:11.566Z" }, + { url = "https://files.pythonhosted.org/packages/74/c0/be707bcfe98254d8f9d2cff55d216e946f4ea48ad2fd8cf1428f8c5332ba/regex-2024.11.6-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:f02f93b92358ee3f78660e43b4b0091229260c5d5c408d17d60bf26b6c900e86", size = 697397, upload-time = "2024-11-06T20:09:13.119Z" }, + { url = "https://files.pythonhosted.org/packages/49/dc/bb45572ceb49e0f6509f7596e4ba7031f6819ecb26bc7610979af5a77f45/regex-2024.11.6-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:06eb1be98df10e81ebaded73fcd51989dcf534e3c753466e4b60c4697a003b67", size = 768726, upload-time = "2024-11-06T20:09:14.85Z" }, + { url = "https://files.pythonhosted.org/packages/5a/db/f43fd75dc4c0c2d96d0881967897926942e935d700863666f3c844a72ce6/regex-2024.11.6-cp310-cp310-musllinux_1_2_i686.whl", hash = "sha256:040df6fe1a5504eb0f04f048e6d09cd7c7110fef851d7c567a6b6e09942feb7d", size = 775098, upload-time = "2024-11-06T20:09:16.504Z" }, + { url = "https://files.pythonhosted.org/packages/99/d7/f94154db29ab5a89d69ff893159b19ada89e76b915c1293e98603d39838c/regex-2024.11.6-cp310-cp310-musllinux_1_2_ppc64le.whl", hash = "sha256:fdabbfc59f2c6edba2a6622c647b716e34e8e3867e0ab975412c5c2f79b82da2", size = 839325, upload-time = "2024-11-06T20:09:18.698Z" }, + { url = "https://files.pythonhosted.org/packages/f7/17/3cbfab1f23356fbbf07708220ab438a7efa1e0f34195bf857433f79f1788/regex-2024.11.6-cp310-cp310-musllinux_1_2_s390x.whl", hash = "sha256:8447d2d39b5abe381419319f942de20b7ecd60ce86f16a23b0698f22e1b70008", size = 843277, upload-time = "2024-11-06T20:09:21.725Z" }, + { url = "https://files.pythonhosted.org/packages/7e/f2/48b393b51900456155de3ad001900f94298965e1cad1c772b87f9cfea011/regex-2024.11.6-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:da8f5fc57d1933de22a9e23eec290a0d8a5927a5370d24bda9a6abe50683fe62", size = 773197, upload-time = "2024-11-06T20:09:24.092Z" }, + { url = "https://files.pythonhosted.org/packages/45/3f/ef9589aba93e084cd3f8471fded352826dcae8489b650d0b9b27bc5bba8a/regex-2024.11.6-cp310-cp310-win32.whl", hash = "sha256:b489578720afb782f6ccf2840920f3a32e31ba28a4b162e13900c3e6bd3f930e", size = 261714, upload-time = "2024-11-06T20:09:26.36Z" }, + { url = "https://files.pythonhosted.org/packages/42/7e/5f1b92c8468290c465fd50c5318da64319133231415a8aa6ea5ab995a815/regex-2024.11.6-cp310-cp310-win_amd64.whl", hash = "sha256:5071b2093e793357c9d8b2929dfc13ac5f0a6c650559503bb81189d0a3814519", size = 274042, upload-time = "2024-11-06T20:09:28.762Z" }, + { url = "https://files.pythonhosted.org/packages/58/58/7e4d9493a66c88a7da6d205768119f51af0f684fe7be7bac8328e217a52c/regex-2024.11.6-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:5478c6962ad548b54a591778e93cd7c456a7a29f8eca9c49e4f9a806dcc5d638", size = 482669, upload-time = "2024-11-06T20:09:31.064Z" }, + { url = "https://files.pythonhosted.org/packages/34/4c/8f8e631fcdc2ff978609eaeef1d6994bf2f028b59d9ac67640ed051f1218/regex-2024.11.6-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:2c89a8cc122b25ce6945f0423dc1352cb9593c68abd19223eebbd4e56612c5b7", size = 287684, upload-time = "2024-11-06T20:09:32.915Z" }, + { url = "https://files.pythonhosted.org/packages/c5/1b/f0e4d13e6adf866ce9b069e191f303a30ab1277e037037a365c3aad5cc9c/regex-2024.11.6-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:94d87b689cdd831934fa3ce16cc15cd65748e6d689f5d2b8f4f4df2065c9fa20", size = 284589, upload-time = "2024-11-06T20:09:35.504Z" }, + { url = "https://files.pythonhosted.org/packages/25/4d/ab21047f446693887f25510887e6820b93f791992994f6498b0318904d4a/regex-2024.11.6-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:1062b39a0a2b75a9c694f7a08e7183a80c63c0d62b301418ffd9c35f55aaa114", size = 792121, upload-time = "2024-11-06T20:09:37.701Z" }, + { url = "https://files.pythonhosted.org/packages/45/ee/c867e15cd894985cb32b731d89576c41a4642a57850c162490ea34b78c3b/regex-2024.11.6-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:167ed4852351d8a750da48712c3930b031f6efdaa0f22fa1933716bfcd6bf4a3", size = 831275, upload-time = "2024-11-06T20:09:40.371Z" }, + { url = "https://files.pythonhosted.org/packages/b3/12/b0f480726cf1c60f6536fa5e1c95275a77624f3ac8fdccf79e6727499e28/regex-2024.11.6-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:2d548dafee61f06ebdb584080621f3e0c23fff312f0de1afc776e2a2ba99a74f", size = 818257, upload-time = "2024-11-06T20:09:43.059Z" }, + { url = "https://files.pythonhosted.org/packages/bf/ce/0d0e61429f603bac433910d99ef1a02ce45a8967ffbe3cbee48599e62d88/regex-2024.11.6-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f2a19f302cd1ce5dd01a9099aaa19cae6173306d1302a43b627f62e21cf18ac0", size = 792727, upload-time = "2024-11-06T20:09:48.19Z" }, + { url = "https://files.pythonhosted.org/packages/e4/c1/243c83c53d4a419c1556f43777ccb552bccdf79d08fda3980e4e77dd9137/regex-2024.11.6-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:bec9931dfb61ddd8ef2ebc05646293812cb6b16b60cf7c9511a832b6f1854b55", size = 780667, upload-time = "2024-11-06T20:09:49.828Z" }, + { url = "https://files.pythonhosted.org/packages/c5/f4/75eb0dd4ce4b37f04928987f1d22547ddaf6c4bae697623c1b05da67a8aa/regex-2024.11.6-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:9714398225f299aa85267fd222f7142fcb5c769e73d7733344efc46f2ef5cf89", size = 776963, upload-time = "2024-11-06T20:09:51.819Z" }, + { url = "https://files.pythonhosted.org/packages/16/5d/95c568574e630e141a69ff8a254c2f188b4398e813c40d49228c9bbd9875/regex-2024.11.6-cp311-cp311-musllinux_1_2_i686.whl", hash = "sha256:202eb32e89f60fc147a41e55cb086db2a3f8cb82f9a9a88440dcfc5d37faae8d", size = 784700, upload-time = "2024-11-06T20:09:53.982Z" }, + { url = "https://files.pythonhosted.org/packages/8e/b5/f8495c7917f15cc6fee1e7f395e324ec3e00ab3c665a7dc9d27562fd5290/regex-2024.11.6-cp311-cp311-musllinux_1_2_ppc64le.whl", hash = "sha256:4181b814e56078e9b00427ca358ec44333765f5ca1b45597ec7446d3a1ef6e34", size = 848592, upload-time = "2024-11-06T20:09:56.222Z" }, + { url = "https://files.pythonhosted.org/packages/1c/80/6dd7118e8cb212c3c60b191b932dc57db93fb2e36fb9e0e92f72a5909af9/regex-2024.11.6-cp311-cp311-musllinux_1_2_s390x.whl", hash = "sha256:068376da5a7e4da51968ce4c122a7cd31afaaec4fccc7856c92f63876e57b51d", size = 852929, upload-time = "2024-11-06T20:09:58.642Z" }, + { url = "https://files.pythonhosted.org/packages/11/9b/5a05d2040297d2d254baf95eeeb6df83554e5e1df03bc1a6687fc4ba1f66/regex-2024.11.6-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:ac10f2c4184420d881a3475fb2c6f4d95d53a8d50209a2500723d831036f7c45", size = 781213, upload-time = "2024-11-06T20:10:00.867Z" }, + { url = "https://files.pythonhosted.org/packages/26/b7/b14e2440156ab39e0177506c08c18accaf2b8932e39fb092074de733d868/regex-2024.11.6-cp311-cp311-win32.whl", hash = "sha256:c36f9b6f5f8649bb251a5f3f66564438977b7ef8386a52460ae77e6070d309d9", size = 261734, upload-time = "2024-11-06T20:10:03.361Z" }, + { url = "https://files.pythonhosted.org/packages/80/32/763a6cc01d21fb3819227a1cc3f60fd251c13c37c27a73b8ff4315433a8e/regex-2024.11.6-cp311-cp311-win_amd64.whl", hash = "sha256:02e28184be537f0e75c1f9b2f8847dc51e08e6e171c6bde130b2687e0c33cf60", size = 274052, upload-time = "2024-11-06T20:10:05.179Z" }, + { url = "https://files.pythonhosted.org/packages/ba/30/9a87ce8336b172cc232a0db89a3af97929d06c11ceaa19d97d84fa90a8f8/regex-2024.11.6-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:52fb28f528778f184f870b7cf8f225f5eef0a8f6e3778529bdd40c7b3920796a", size = 483781, upload-time = "2024-11-06T20:10:07.07Z" }, + { url = "https://files.pythonhosted.org/packages/01/e8/00008ad4ff4be8b1844786ba6636035f7ef926db5686e4c0f98093612add/regex-2024.11.6-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:fdd6028445d2460f33136c55eeb1f601ab06d74cb3347132e1c24250187500d9", size = 288455, upload-time = "2024-11-06T20:10:09.117Z" }, + { url = "https://files.pythonhosted.org/packages/60/85/cebcc0aff603ea0a201667b203f13ba75d9fc8668fab917ac5b2de3967bc/regex-2024.11.6-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:805e6b60c54bf766b251e94526ebad60b7de0c70f70a4e6210ee2891acb70bf2", size = 284759, upload-time = "2024-11-06T20:10:11.155Z" }, + { url = "https://files.pythonhosted.org/packages/94/2b/701a4b0585cb05472a4da28ee28fdfe155f3638f5e1ec92306d924e5faf0/regex-2024.11.6-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:b85c2530be953a890eaffde05485238f07029600e8f098cdf1848d414a8b45e4", size = 794976, upload-time = "2024-11-06T20:10:13.24Z" }, + { url = "https://files.pythonhosted.org/packages/4b/bf/fa87e563bf5fee75db8915f7352e1887b1249126a1be4813837f5dbec965/regex-2024.11.6-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:bb26437975da7dc36b7efad18aa9dd4ea569d2357ae6b783bf1118dabd9ea577", size = 833077, upload-time = "2024-11-06T20:10:15.37Z" }, + { url = "https://files.pythonhosted.org/packages/a1/56/7295e6bad94b047f4d0834e4779491b81216583c00c288252ef625c01d23/regex-2024.11.6-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:abfa5080c374a76a251ba60683242bc17eeb2c9818d0d30117b4486be10c59d3", size = 823160, upload-time = "2024-11-06T20:10:19.027Z" }, + { url = "https://files.pythonhosted.org/packages/fb/13/e3b075031a738c9598c51cfbc4c7879e26729c53aa9cca59211c44235314/regex-2024.11.6-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:70b7fa6606c2881c1db9479b0eaa11ed5dfa11c8d60a474ff0e095099f39d98e", size = 796896, upload-time = "2024-11-06T20:10:21.85Z" }, + { url = "https://files.pythonhosted.org/packages/24/56/0b3f1b66d592be6efec23a795b37732682520b47c53da5a32c33ed7d84e3/regex-2024.11.6-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:0c32f75920cf99fe6b6c539c399a4a128452eaf1af27f39bce8909c9a3fd8cbe", size = 783997, upload-time = "2024-11-06T20:10:24.329Z" }, + { url = "https://files.pythonhosted.org/packages/f9/a1/eb378dada8b91c0e4c5f08ffb56f25fcae47bf52ad18f9b2f33b83e6d498/regex-2024.11.6-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:982e6d21414e78e1f51cf595d7f321dcd14de1f2881c5dc6a6e23bbbbd68435e", size = 781725, upload-time = "2024-11-06T20:10:28.067Z" }, + { url = "https://files.pythonhosted.org/packages/83/f2/033e7dec0cfd6dda93390089864732a3409246ffe8b042e9554afa9bff4e/regex-2024.11.6-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:a7c2155f790e2fb448faed6dd241386719802296ec588a8b9051c1f5c481bc29", size = 789481, upload-time = "2024-11-06T20:10:31.612Z" }, + { url = "https://files.pythonhosted.org/packages/83/23/15d4552ea28990a74e7696780c438aadd73a20318c47e527b47a4a5a596d/regex-2024.11.6-cp312-cp312-musllinux_1_2_ppc64le.whl", hash = "sha256:149f5008d286636e48cd0b1dd65018548944e495b0265b45e1bffecce1ef7f39", size = 852896, upload-time = "2024-11-06T20:10:34.054Z" }, + { url = "https://files.pythonhosted.org/packages/e3/39/ed4416bc90deedbfdada2568b2cb0bc1fdb98efe11f5378d9892b2a88f8f/regex-2024.11.6-cp312-cp312-musllinux_1_2_s390x.whl", hash = "sha256:e5364a4502efca094731680e80009632ad6624084aff9a23ce8c8c6820de3e51", size = 860138, upload-time = "2024-11-06T20:10:36.142Z" }, + { url = "https://files.pythonhosted.org/packages/93/2d/dd56bb76bd8e95bbce684326302f287455b56242a4f9c61f1bc76e28360e/regex-2024.11.6-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:0a86e7eeca091c09e021db8eb72d54751e527fa47b8d5787caf96d9831bd02ad", size = 787692, upload-time = "2024-11-06T20:10:38.394Z" }, + { url = "https://files.pythonhosted.org/packages/0b/55/31877a249ab7a5156758246b9c59539abbeba22461b7d8adc9e8475ff73e/regex-2024.11.6-cp312-cp312-win32.whl", hash = "sha256:32f9a4c643baad4efa81d549c2aadefaeba12249b2adc5af541759237eee1c54", size = 262135, upload-time = "2024-11-06T20:10:40.367Z" }, + { url = "https://files.pythonhosted.org/packages/38/ec/ad2d7de49a600cdb8dd78434a1aeffe28b9d6fc42eb36afab4a27ad23384/regex-2024.11.6-cp312-cp312-win_amd64.whl", hash = "sha256:a93c194e2df18f7d264092dc8539b8ffb86b45b899ab976aa15d48214138e81b", size = 273567, upload-time = "2024-11-06T20:10:43.467Z" }, + { url = "https://files.pythonhosted.org/packages/90/73/bcb0e36614601016552fa9344544a3a2ae1809dc1401b100eab02e772e1f/regex-2024.11.6-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:a6ba92c0bcdf96cbf43a12c717eae4bc98325ca3730f6b130ffa2e3c3c723d84", size = 483525, upload-time = "2024-11-06T20:10:45.19Z" }, + { url = "https://files.pythonhosted.org/packages/0f/3f/f1a082a46b31e25291d830b369b6b0c5576a6f7fb89d3053a354c24b8a83/regex-2024.11.6-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:525eab0b789891ac3be914d36893bdf972d483fe66551f79d3e27146191a37d4", size = 288324, upload-time = "2024-11-06T20:10:47.177Z" }, + { url = "https://files.pythonhosted.org/packages/09/c9/4e68181a4a652fb3ef5099e077faf4fd2a694ea6e0f806a7737aff9e758a/regex-2024.11.6-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:086a27a0b4ca227941700e0b31425e7a28ef1ae8e5e05a33826e17e47fbfdba0", size = 284617, upload-time = "2024-11-06T20:10:49.312Z" }, + { url = "https://files.pythonhosted.org/packages/fc/fd/37868b75eaf63843165f1d2122ca6cb94bfc0271e4428cf58c0616786dce/regex-2024.11.6-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:bde01f35767c4a7899b7eb6e823b125a64de314a8ee9791367c9a34d56af18d0", size = 795023, upload-time = "2024-11-06T20:10:51.102Z" }, + { url = "https://files.pythonhosted.org/packages/c4/7c/d4cd9c528502a3dedb5c13c146e7a7a539a3853dc20209c8e75d9ba9d1b2/regex-2024.11.6-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:b583904576650166b3d920d2bcce13971f6f9e9a396c673187f49811b2769dc7", size = 833072, upload-time = "2024-11-06T20:10:52.926Z" }, + { url = "https://files.pythonhosted.org/packages/4f/db/46f563a08f969159c5a0f0e722260568425363bea43bb7ae370becb66a67/regex-2024.11.6-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:1c4de13f06a0d54fa0d5ab1b7138bfa0d883220965a29616e3ea61b35d5f5fc7", size = 823130, upload-time = "2024-11-06T20:10:54.828Z" }, + { url = "https://files.pythonhosted.org/packages/db/60/1eeca2074f5b87df394fccaa432ae3fc06c9c9bfa97c5051aed70e6e00c2/regex-2024.11.6-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:3cde6e9f2580eb1665965ce9bf17ff4952f34f5b126beb509fee8f4e994f143c", size = 796857, upload-time = "2024-11-06T20:10:56.634Z" }, + { url = "https://files.pythonhosted.org/packages/10/db/ac718a08fcee981554d2f7bb8402f1faa7e868c1345c16ab1ebec54b0d7b/regex-2024.11.6-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:0d7f453dca13f40a02b79636a339c5b62b670141e63efd511d3f8f73fba162b3", size = 784006, upload-time = "2024-11-06T20:10:59.369Z" }, + { url = "https://files.pythonhosted.org/packages/c2/41/7da3fe70216cea93144bf12da2b87367590bcf07db97604edeea55dac9ad/regex-2024.11.6-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:59dfe1ed21aea057a65c6b586afd2a945de04fc7db3de0a6e3ed5397ad491b07", size = 781650, upload-time = "2024-11-06T20:11:02.042Z" }, + { url = "https://files.pythonhosted.org/packages/a7/d5/880921ee4eec393a4752e6ab9f0fe28009435417c3102fc413f3fe81c4e5/regex-2024.11.6-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:b97c1e0bd37c5cd7902e65f410779d39eeda155800b65fc4d04cc432efa9bc6e", size = 789545, upload-time = "2024-11-06T20:11:03.933Z" }, + { url = "https://files.pythonhosted.org/packages/dc/96/53770115e507081122beca8899ab7f5ae28ae790bfcc82b5e38976df6a77/regex-2024.11.6-cp313-cp313-musllinux_1_2_ppc64le.whl", hash = "sha256:f9d1e379028e0fc2ae3654bac3cbbef81bf3fd571272a42d56c24007979bafb6", size = 853045, upload-time = "2024-11-06T20:11:06.497Z" }, + { url = "https://files.pythonhosted.org/packages/31/d3/1372add5251cc2d44b451bd94f43b2ec78e15a6e82bff6a290ef9fd8f00a/regex-2024.11.6-cp313-cp313-musllinux_1_2_s390x.whl", hash = "sha256:13291b39131e2d002a7940fb176e120bec5145f3aeb7621be6534e46251912c4", size = 860182, upload-time = "2024-11-06T20:11:09.06Z" }, + { url = "https://files.pythonhosted.org/packages/ed/e3/c446a64984ea9f69982ba1a69d4658d5014bc7a0ea468a07e1a1265db6e2/regex-2024.11.6-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:4f51f88c126370dcec4908576c5a627220da6c09d0bff31cfa89f2523843316d", size = 787733, upload-time = "2024-11-06T20:11:11.256Z" }, + { url = "https://files.pythonhosted.org/packages/2b/f1/e40c8373e3480e4f29f2692bd21b3e05f296d3afebc7e5dcf21b9756ca1c/regex-2024.11.6-cp313-cp313-win32.whl", hash = "sha256:63b13cfd72e9601125027202cad74995ab26921d8cd935c25f09c630436348ff", size = 262122, upload-time = "2024-11-06T20:11:13.161Z" }, + { url = "https://files.pythonhosted.org/packages/45/94/bc295babb3062a731f52621cdc992d123111282e291abaf23faa413443ea/regex-2024.11.6-cp313-cp313-win_amd64.whl", hash = "sha256:2b3361af3198667e99927da8b84c1b010752fa4b1115ee30beaa332cabc3ef1a", size = 273545, upload-time = "2024-11-06T20:11:15Z" }, + { url = "https://files.pythonhosted.org/packages/44/0f/207b37e6e08d548fac0aa00bf0b7464126315d58ab5161216b8cb3abb2aa/regex-2024.11.6-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:3a51ccc315653ba012774efca4f23d1d2a8a8f278a6072e29c7147eee7da446b", size = 482777, upload-time = "2024-11-06T20:11:16.752Z" }, + { url = "https://files.pythonhosted.org/packages/5a/5a/586bafa294c5d2451265d3685815606c61e620f469cac3b946fff0a4aa48/regex-2024.11.6-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:ad182d02e40de7459b73155deb8996bbd8e96852267879396fb274e8700190e3", size = 287751, upload-time = "2024-11-06T20:11:18.913Z" }, + { url = "https://files.pythonhosted.org/packages/08/92/9df786fad8a4e0766bfc9a2e334c5f0757356070c9639b2ec776b8cdef3d/regex-2024.11.6-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:ba9b72e5643641b7d41fa1f6d5abda2c9a263ae835b917348fc3c928182ad467", size = 284552, upload-time = "2024-11-06T20:11:21.005Z" }, + { url = "https://files.pythonhosted.org/packages/0a/27/0b3cf7d9fbe43301aa3473d54406019a7380abe4e3c9ae250bac13c4fdb3/regex-2024.11.6-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:40291b1b89ca6ad8d3f2b82782cc33807f1406cf68c8d440861da6304d8ffbbd", size = 783587, upload-time = "2024-11-06T20:11:23.17Z" }, + { url = "https://files.pythonhosted.org/packages/89/38/499b32cbb61163af60a5c5ff26aacea7836fe7e3d821e76af216e996088c/regex-2024.11.6-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:cdf58d0e516ee426a48f7b2c03a332a4114420716d55769ff7108c37a09951bf", size = 822904, upload-time = "2024-11-06T20:11:25.49Z" }, + { url = "https://files.pythonhosted.org/packages/3f/a4/e3b11c643e5ae1059a08aeef971973f0c803d2a9ae2e7a86f97c68146a6c/regex-2024.11.6-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:a36fdf2af13c2b14738f6e973aba563623cb77d753bbbd8d414d18bfaa3105dd", size = 809900, upload-time = "2024-11-06T20:11:27.382Z" }, + { url = "https://files.pythonhosted.org/packages/5a/c8/dc7153ceb5bcc344f5c4f0291ea45925a5f00009afa3849e91561ac2e847/regex-2024.11.6-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:d1cee317bfc014c2419a76bcc87f071405e3966da434e03e13beb45f8aced1a6", size = 785105, upload-time = "2024-11-06T20:11:29.428Z" }, + { url = "https://files.pythonhosted.org/packages/2a/29/841489ea52013062b22625fbaf49b0916aeb62bae2e56425ac30f9dead46/regex-2024.11.6-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:50153825ee016b91549962f970d6a4442fa106832e14c918acd1c8e479916c4f", size = 773033, upload-time = "2024-11-06T20:11:32.175Z" }, + { url = "https://files.pythonhosted.org/packages/3e/4e/4a0da5e87f7c2dc73a8505785d5af2b1a19c66f4645b93caa50b7eb08242/regex-2024.11.6-cp38-cp38-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:ea1bfda2f7162605f6e8178223576856b3d791109f15ea99a9f95c16a7636fb5", size = 702374, upload-time = "2024-11-06T20:11:34.182Z" }, + { url = "https://files.pythonhosted.org/packages/94/6e/444e66346600d11e8a0f4bb31611973cffa772d5033ba1cf1f15de8a0d52/regex-2024.11.6-cp38-cp38-musllinux_1_2_aarch64.whl", hash = "sha256:df951c5f4a1b1910f1a99ff42c473ff60f8225baa1cdd3539fe2819d9543e9df", size = 769990, upload-time = "2024-11-06T20:11:36.813Z" }, + { url = "https://files.pythonhosted.org/packages/da/28/95c3ed6cd51b27f54e59940400e2a3ddd3f8bbbc3aaf947e57a67104ecbd/regex-2024.11.6-cp38-cp38-musllinux_1_2_i686.whl", hash = "sha256:072623554418a9911446278f16ecb398fb3b540147a7828c06e2011fa531e773", size = 775345, upload-time = "2024-11-06T20:11:39.079Z" }, + { url = "https://files.pythonhosted.org/packages/07/5d/0cd19cf44d96a7aa31526611c24235d21d27c23b65201cb2c5cac508dd42/regex-2024.11.6-cp38-cp38-musllinux_1_2_ppc64le.whl", hash = "sha256:f654882311409afb1d780b940234208a252322c24a93b442ca714d119e68086c", size = 840379, upload-time = "2024-11-06T20:11:41.208Z" }, + { url = "https://files.pythonhosted.org/packages/2a/13/ec3f8d85b789ee1c6ffbdfd4092fd901416716317ee17bf51aa2890bac96/regex-2024.11.6-cp38-cp38-musllinux_1_2_s390x.whl", hash = "sha256:89d75e7293d2b3e674db7d4d9b1bee7f8f3d1609428e293771d1a962617150cc", size = 845842, upload-time = "2024-11-06T20:11:43.709Z" }, + { url = "https://files.pythonhosted.org/packages/50/cb/7170247e65afea2bf9204bcb2682f292b0a3a57d112478da199b84d59792/regex-2024.11.6-cp38-cp38-musllinux_1_2_x86_64.whl", hash = "sha256:f65557897fc977a44ab205ea871b690adaef6b9da6afda4790a2484b04293a5f", size = 775026, upload-time = "2024-11-06T20:11:46.11Z" }, + { url = "https://files.pythonhosted.org/packages/cc/06/c817c9201f09b7d9dd033039ba90d8197c91e9fe2984141f2d1de270c159/regex-2024.11.6-cp38-cp38-win32.whl", hash = "sha256:6f44ec28b1f858c98d3036ad5d7d0bfc568bdd7a74f9c24e25f41ef1ebfd81a4", size = 261738, upload-time = "2024-11-06T20:11:48.611Z" }, + { url = "https://files.pythonhosted.org/packages/cf/69/c39e16320400842eb4358c982ef5fc680800866f35ebfd4dd38a22967ce0/regex-2024.11.6-cp38-cp38-win_amd64.whl", hash = "sha256:bb8f74f2f10dbf13a0be8de623ba4f9491faf58c24064f32b65679b021ed0001", size = 274094, upload-time = "2024-11-06T20:11:50.641Z" }, + { url = "https://files.pythonhosted.org/packages/89/23/c4a86df398e57e26f93b13ae63acce58771e04bdde86092502496fa57f9c/regex-2024.11.6-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:5704e174f8ccab2026bd2f1ab6c510345ae8eac818b613d7d73e785f1310f839", size = 482682, upload-time = "2024-11-06T20:11:52.65Z" }, + { url = "https://files.pythonhosted.org/packages/3c/8b/45c24ab7a51a1658441b961b86209c43e6bb9d39caf1e63f46ce6ea03bc7/regex-2024.11.6-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:220902c3c5cc6af55d4fe19ead504de80eb91f786dc102fbd74894b1551f095e", size = 287679, upload-time = "2024-11-06T20:11:55.011Z" }, + { url = "https://files.pythonhosted.org/packages/7a/d1/598de10b17fdafc452d11f7dada11c3be4e379a8671393e4e3da3c4070df/regex-2024.11.6-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:5e7e351589da0850c125f1600a4c4ba3c722efefe16b297de54300f08d734fbf", size = 284578, upload-time = "2024-11-06T20:11:57.033Z" }, + { url = "https://files.pythonhosted.org/packages/49/70/c7eaa219efa67a215846766fde18d92d54cb590b6a04ffe43cef30057622/regex-2024.11.6-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:5056b185ca113c88e18223183aa1a50e66507769c9640a6ff75859619d73957b", size = 782012, upload-time = "2024-11-06T20:11:59.218Z" }, + { url = "https://files.pythonhosted.org/packages/89/e5/ef52c7eb117dd20ff1697968219971d052138965a4d3d9b95e92e549f505/regex-2024.11.6-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:2e34b51b650b23ed3354b5a07aab37034d9f923db2a40519139af34f485f77d0", size = 820580, upload-time = "2024-11-06T20:12:01.969Z" }, + { url = "https://files.pythonhosted.org/packages/5f/3f/9f5da81aff1d4167ac52711acf789df13e789fe6ac9545552e49138e3282/regex-2024.11.6-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:5670bce7b200273eee1840ef307bfa07cda90b38ae56e9a6ebcc9f50da9c469b", size = 809110, upload-time = "2024-11-06T20:12:04.786Z" }, + { url = "https://files.pythonhosted.org/packages/86/44/2101cc0890c3621b90365c9ee8d7291a597c0722ad66eccd6ffa7f1bcc09/regex-2024.11.6-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:08986dce1339bc932923e7d1232ce9881499a0e02925f7402fb7c982515419ef", size = 780919, upload-time = "2024-11-06T20:12:06.944Z" }, + { url = "https://files.pythonhosted.org/packages/ce/2e/3e0668d8d1c7c3c0d397bf54d92fc182575b3a26939aed5000d3cc78760f/regex-2024.11.6-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:93c0b12d3d3bc25af4ebbf38f9ee780a487e8bf6954c115b9f015822d3bb8e48", size = 771515, upload-time = "2024-11-06T20:12:09.9Z" }, + { url = "https://files.pythonhosted.org/packages/a6/49/1bc4584254355e3dba930a3a2fd7ad26ccba3ebbab7d9100db0aff2eedb0/regex-2024.11.6-cp39-cp39-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:764e71f22ab3b305e7f4c21f1a97e1526a25ebdd22513e251cf376760213da13", size = 696957, upload-time = "2024-11-06T20:12:12.319Z" }, + { url = "https://files.pythonhosted.org/packages/c8/dd/42879c1fc8a37a887cd08e358af3d3ba9e23038cd77c7fe044a86d9450ba/regex-2024.11.6-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:f056bf21105c2515c32372bbc057f43eb02aae2fda61052e2f7622c801f0b4e2", size = 768088, upload-time = "2024-11-06T20:12:15.149Z" }, + { url = "https://files.pythonhosted.org/packages/89/96/c05a0fe173cd2acd29d5e13c1adad8b706bcaa71b169e1ee57dcf2e74584/regex-2024.11.6-cp39-cp39-musllinux_1_2_i686.whl", hash = "sha256:69ab78f848845569401469da20df3e081e6b5a11cb086de3eed1d48f5ed57c95", size = 774752, upload-time = "2024-11-06T20:12:17.416Z" }, + { url = "https://files.pythonhosted.org/packages/b5/f3/a757748066255f97f14506483436c5f6aded7af9e37bca04ec30c90ca683/regex-2024.11.6-cp39-cp39-musllinux_1_2_ppc64le.whl", hash = "sha256:86fddba590aad9208e2fa8b43b4c098bb0ec74f15718bb6a704e3c63e2cef3e9", size = 838862, upload-time = "2024-11-06T20:12:19.639Z" }, + { url = "https://files.pythonhosted.org/packages/5c/93/c6d2092fd479dcaeea40fc8fa673822829181ded77d294a7f950f1dda6e2/regex-2024.11.6-cp39-cp39-musllinux_1_2_s390x.whl", hash = "sha256:684d7a212682996d21ca12ef3c17353c021fe9de6049e19ac8481ec35574a70f", size = 842622, upload-time = "2024-11-06T20:12:21.841Z" }, + { url = "https://files.pythonhosted.org/packages/ff/9c/daa99532c72f25051a90ef90e1413a8d54413a9e64614d9095b0c1c154d0/regex-2024.11.6-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:a03e02f48cd1abbd9f3b7e3586d97c8f7a9721c436f51a5245b3b9483044480b", size = 772713, upload-time = "2024-11-06T20:12:24.785Z" }, + { url = "https://files.pythonhosted.org/packages/13/5d/61a533ccb8c231b474ac8e3a7d70155b00dfc61af6cafdccd1947df6d735/regex-2024.11.6-cp39-cp39-win32.whl", hash = "sha256:41758407fc32d5c3c5de163888068cfee69cb4c2be844e7ac517a52770f9af57", size = 261756, upload-time = "2024-11-06T20:12:26.975Z" }, + { url = "https://files.pythonhosted.org/packages/dc/7b/e59b7f7c91ae110d154370c24133f947262525b5d6406df65f23422acc17/regex-2024.11.6-cp39-cp39-win_amd64.whl", hash = "sha256:b2837718570f95dd41675328e111345f9b7095d821bac435aac173ac80b19983", size = 274110, upload-time = "2024-11-06T20:12:29.368Z" }, ] [[package]] @@ -4281,9 +4281,9 @@ dependencies = [ { name = "urllib3", version = "2.2.3", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.9'" }, { name = "urllib3", version = "2.3.0", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.9'" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/63/70/2bf7780ad2d390a8d301ad0b550f1581eadbd9a20f896afe06353c2a2913/requests-2.32.3.tar.gz", hash = "sha256:55365417734eb18255590a9ff9eb97e9e1da868d4ccd6402399eaf68af20a760", size = 131218 } +sdist = { url = "https://files.pythonhosted.org/packages/63/70/2bf7780ad2d390a8d301ad0b550f1581eadbd9a20f896afe06353c2a2913/requests-2.32.3.tar.gz", hash = "sha256:55365417734eb18255590a9ff9eb97e9e1da868d4ccd6402399eaf68af20a760", size = 131218, upload-time = "2024-05-29T15:37:49.536Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/f9/9b/335f9764261e915ed497fcdeb11df5dfd6f7bf257d4a6a2a686d80da4d54/requests-2.32.3-py3-none-any.whl", hash = "sha256:70761cfe03c773ceb22aa2f671b4757976145175cdfca038c02654d061d6dcc6", size = 64928 }, + { url = "https://files.pythonhosted.org/packages/f9/9b/335f9764261e915ed497fcdeb11df5dfd6f7bf257d4a6a2a686d80da4d54/requests-2.32.3-py3-none-any.whl", hash = "sha256:70761cfe03c773ceb22aa2f671b4757976145175cdfca038c02654d061d6dcc6", size = 64928, upload-time = "2024-05-29T15:37:47.027Z" }, ] [[package]] @@ -4293,9 +4293,9 @@ source = { registry = "https://pypi.org/simple" } dependencies = [ { name = "requests" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/f3/61/d7545dafb7ac2230c70d38d31cbfe4cc64f7144dc41f6e4e4b78ecd9f5bb/requests-toolbelt-1.0.0.tar.gz", hash = "sha256:7681a0a3d047012b5bdc0ee37d7f8f07ebe76ab08caeccfc3921ce23c88d5bc6", size = 206888 } +sdist = { url = "https://files.pythonhosted.org/packages/f3/61/d7545dafb7ac2230c70d38d31cbfe4cc64f7144dc41f6e4e4b78ecd9f5bb/requests-toolbelt-1.0.0.tar.gz", hash = "sha256:7681a0a3d047012b5bdc0ee37d7f8f07ebe76ab08caeccfc3921ce23c88d5bc6", size = 206888, upload-time = "2023-05-01T04:11:33.229Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/3f/51/d4db610ef29373b879047326cbf6fa98b6c1969d6f6dc423279de2b1be2c/requests_toolbelt-1.0.0-py2.py3-none-any.whl", hash = "sha256:cccfdd665f0a24fcf4726e690f65639d272bb0637b9b92dfd91a5568ccf6bd06", size = 54481 }, + { url = "https://files.pythonhosted.org/packages/3f/51/d4db610ef29373b879047326cbf6fa98b6c1969d6f6dc423279de2b1be2c/requests_toolbelt-1.0.0-py2.py3-none-any.whl", hash = "sha256:cccfdd665f0a24fcf4726e690f65639d272bb0637b9b92dfd91a5568ccf6bd06", size = 54481, upload-time = "2023-05-01T04:11:28.427Z" }, ] [[package]] @@ -4305,27 +4305,27 @@ source = { registry = "https://pypi.org/simple" } dependencies = [ { name = "six" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/28/ea/a9387748e2d111c3c2b275ba970b735e04e15cdb1eb30693b6b5708c4dbd/rfc3339_validator-0.1.4.tar.gz", hash = "sha256:138a2abdf93304ad60530167e51d2dfb9549521a836871b88d7f4695d0022f6b", size = 5513 } +sdist = { url = "https://files.pythonhosted.org/packages/28/ea/a9387748e2d111c3c2b275ba970b735e04e15cdb1eb30693b6b5708c4dbd/rfc3339_validator-0.1.4.tar.gz", hash = "sha256:138a2abdf93304ad60530167e51d2dfb9549521a836871b88d7f4695d0022f6b", size = 5513, upload-time = "2021-05-12T16:37:54.178Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/7b/44/4e421b96b67b2daff264473f7465db72fbdf36a07e05494f50300cc7b0c6/rfc3339_validator-0.1.4-py2.py3-none-any.whl", hash = "sha256:24f6ec1eda14ef823da9e36ec7113124b39c04d50a4d3d3a3c2859577e7791fa", size = 3490 }, + { url = "https://files.pythonhosted.org/packages/7b/44/4e421b96b67b2daff264473f7465db72fbdf36a07e05494f50300cc7b0c6/rfc3339_validator-0.1.4-py2.py3-none-any.whl", hash = "sha256:24f6ec1eda14ef823da9e36ec7113124b39c04d50a4d3d3a3c2859577e7791fa", size = 3490, upload-time = "2021-05-12T16:37:52.536Z" }, ] [[package]] name = "rfc3986" version = "2.0.0" source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/85/40/1520d68bfa07ab5a6f065a186815fb6610c86fe957bc065754e47f7b0840/rfc3986-2.0.0.tar.gz", hash = "sha256:97aacf9dbd4bfd829baad6e6309fa6573aaf1be3f6fa735c8ab05e46cecb261c", size = 49026 } +sdist = { url = "https://files.pythonhosted.org/packages/85/40/1520d68bfa07ab5a6f065a186815fb6610c86fe957bc065754e47f7b0840/rfc3986-2.0.0.tar.gz", hash = "sha256:97aacf9dbd4bfd829baad6e6309fa6573aaf1be3f6fa735c8ab05e46cecb261c", size = 49026, upload-time = "2022-01-10T00:52:30.832Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/ff/9a/9afaade874b2fa6c752c36f1548f718b5b83af81ed9b76628329dab81c1b/rfc3986-2.0.0-py2.py3-none-any.whl", hash = "sha256:50b1502b60e289cb37883f3dfd34532b8873c7de9f49bb546641ce9cbd256ebd", size = 31326 }, + { url = "https://files.pythonhosted.org/packages/ff/9a/9afaade874b2fa6c752c36f1548f718b5b83af81ed9b76628329dab81c1b/rfc3986-2.0.0-py2.py3-none-any.whl", hash = "sha256:50b1502b60e289cb37883f3dfd34532b8873c7de9f49bb546641ce9cbd256ebd", size = 31326, upload-time = "2022-01-10T00:52:29.594Z" }, ] [[package]] name = "rfc3986-validator" version = "0.1.1" source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/da/88/f270de456dd7d11dcc808abfa291ecdd3f45ff44e3b549ffa01b126464d0/rfc3986_validator-0.1.1.tar.gz", hash = "sha256:3d44bde7921b3b9ec3ae4e3adca370438eccebc676456449b145d533b240d055", size = 6760 } +sdist = { url = "https://files.pythonhosted.org/packages/da/88/f270de456dd7d11dcc808abfa291ecdd3f45ff44e3b549ffa01b126464d0/rfc3986_validator-0.1.1.tar.gz", hash = "sha256:3d44bde7921b3b9ec3ae4e3adca370438eccebc676456449b145d533b240d055", size = 6760, upload-time = "2019-10-28T16:00:19.144Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/9e/51/17023c0f8f1869d8806b979a2bffa3f861f26a3f1a66b094288323fba52f/rfc3986_validator-0.1.1-py2.py3-none-any.whl", hash = "sha256:2f235c432ef459970b4306369336b9d5dbdda31b510ca1e327636e01f528bfa9", size = 4242 }, + { url = "https://files.pythonhosted.org/packages/9e/51/17023c0f8f1869d8806b979a2bffa3f861f26a3f1a66b094288323fba52f/rfc3986_validator-0.1.1-py2.py3-none-any.whl", hash = "sha256:2f235c432ef459970b4306369336b9d5dbdda31b510ca1e327636e01f528bfa9", size = 4242, upload-time = "2019-10-28T16:00:13.976Z" }, ] [[package]] @@ -4337,9 +4337,9 @@ dependencies = [ { name = "pygments" }, { name = "typing-extensions", marker = "python_full_version < '3.11'" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/ab/3a/0316b28d0761c6734d6bc14e770d85506c986c85ffb239e688eeaab2c2bc/rich-13.9.4.tar.gz", hash = "sha256:439594978a49a09530cff7ebc4b5c7103ef57baf48d5ea3184f21d9a2befa098", size = 223149 } +sdist = { url = "https://files.pythonhosted.org/packages/ab/3a/0316b28d0761c6734d6bc14e770d85506c986c85ffb239e688eeaab2c2bc/rich-13.9.4.tar.gz", hash = "sha256:439594978a49a09530cff7ebc4b5c7103ef57baf48d5ea3184f21d9a2befa098", size = 223149, upload-time = "2024-11-01T16:43:57.873Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/19/71/39c7c0d87f8d4e6c020a393182060eaefeeae6c01dab6a84ec346f2567df/rich-13.9.4-py3-none-any.whl", hash = "sha256:6049d5e6ec054bf2779ab3358186963bac2ea89175919d699e378b99738c2a90", size = 242424 }, + { url = "https://files.pythonhosted.org/packages/19/71/39c7c0d87f8d4e6c020a393182060eaefeeae6c01dab6a84ec346f2567df/rich-13.9.4-py3-none-any.whl", hash = "sha256:6049d5e6ec054bf2779ab3358186963bac2ea89175919d699e378b99738c2a90", size = 242424, upload-time = "2024-11-01T16:43:55.817Z" }, ] [[package]] @@ -4351,110 +4351,110 @@ resolution-markers = [ "python_full_version < '3.9' and platform_machine == 'aarch64' and sys_platform == 'linux'", "(python_full_version < '3.9' and platform_machine != 'arm64' and sys_platform == 'darwin') or (python_full_version < '3.9' and platform_machine != 'aarch64' and sys_platform == 'linux') or (python_full_version < '3.9' and sys_platform != 'darwin' and sys_platform != 'linux')", ] -sdist = { url = "https://files.pythonhosted.org/packages/25/cb/8e919951f55d109d658f81c9b49d0cc3b48637c50792c5d2e77032b8c5da/rpds_py-0.20.1.tar.gz", hash = "sha256:e1791c4aabd117653530dccd24108fa03cc6baf21f58b950d0a73c3b3b29a350", size = 25931 } -wheels = [ - { url = "https://files.pythonhosted.org/packages/ae/0e/d7e7e9280988a7bc56fd326042baca27f4f55fad27dc8aa64e5e0e894e5d/rpds_py-0.20.1-cp310-cp310-macosx_10_12_x86_64.whl", hash = "sha256:a649dfd735fff086e8a9d0503a9f0c7d01b7912a333c7ae77e1515c08c146dad", size = 327335 }, - { url = "https://files.pythonhosted.org/packages/4c/72/027185f213d53ae66765c575229829b202fbacf3d55fe2bd9ff4e29bb157/rpds_py-0.20.1-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:f16bc1334853e91ddaaa1217045dd7be166170beec337576818461268a3de67f", size = 318250 }, - { url = "https://files.pythonhosted.org/packages/2b/e7/b4eb3e6ff541c83d3b46f45f855547e412ab60c45bef64520fafb00b9b42/rpds_py-0.20.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:14511a539afee6f9ab492b543060c7491c99924314977a55c98bfa2ee29ce78c", size = 361206 }, - { url = "https://files.pythonhosted.org/packages/e7/80/cb9a4b4cad31bcaa37f38dae7a8be861f767eb2ca4f07a146b5ffcfbee09/rpds_py-0.20.1-cp310-cp310-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:3ccb8ac2d3c71cda472b75af42818981bdacf48d2e21c36331b50b4f16930163", size = 369921 }, - { url = "https://files.pythonhosted.org/packages/95/1b/463b11e7039e18f9e778568dbf7338c29bbc1f8996381115201c668eb8c8/rpds_py-0.20.1-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:c142b88039b92e7e0cb2552e8967077e3179b22359e945574f5e2764c3953dcf", size = 403673 }, - { url = "https://files.pythonhosted.org/packages/86/98/1ef4028e9d5b76470bf7f8f2459be07ac5c9621270a2a5e093f8d8a8cc2c/rpds_py-0.20.1-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:f19169781dddae7478a32301b499b2858bc52fc45a112955e798ee307e294977", size = 430267 }, - { url = "https://files.pythonhosted.org/packages/25/8e/41d7e3e6d3a4a6c94375020477705a3fbb6515717901ab8f94821cf0a0d9/rpds_py-0.20.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:13c56de6518e14b9bf6edde23c4c39dac5b48dcf04160ea7bce8fca8397cdf86", size = 360569 }, - { url = "https://files.pythonhosted.org/packages/4f/6a/8839340464d4e1bbfaf0482e9d9165a2309c2c17427e4dcb72ce3e5cc5d6/rpds_py-0.20.1-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:925d176a549f4832c6f69fa6026071294ab5910e82a0fe6c6228fce17b0706bd", size = 382584 }, - { url = "https://files.pythonhosted.org/packages/64/96/7a7f938d3796a6a3ec08ed0e8a5ecd436fbd516a3684ab1fa22d46d6f6cc/rpds_py-0.20.1-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:78f0b6877bfce7a3d1ff150391354a410c55d3cdce386f862926a4958ad5ab7e", size = 546560 }, - { url = "https://files.pythonhosted.org/packages/15/c7/19fb4f1247a3c90a99eca62909bf76ee988f9b663e47878a673d9854ec5c/rpds_py-0.20.1-cp310-cp310-musllinux_1_2_i686.whl", hash = "sha256:3dd645e2b0dcb0fd05bf58e2e54c13875847687d0b71941ad2e757e5d89d4356", size = 549359 }, - { url = "https://files.pythonhosted.org/packages/d2/4c/445eb597a39a883368ea2f341dd6e48a9d9681b12ebf32f38a827b30529b/rpds_py-0.20.1-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:4f676e21db2f8c72ff0936f895271e7a700aa1f8d31b40e4e43442ba94973899", size = 527567 }, - { url = "https://files.pythonhosted.org/packages/4f/71/4c44643bffbcb37311fc7fe221bcf139c8d660bc78f746dd3a05741372c8/rpds_py-0.20.1-cp310-none-win32.whl", hash = "sha256:648386ddd1e19b4a6abab69139b002bc49ebf065b596119f8f37c38e9ecee8ff", size = 200412 }, - { url = "https://files.pythonhosted.org/packages/f4/33/9d0529d74099e090ec9ab15eb0a049c56cca599eaaca71bfedbdbca656a9/rpds_py-0.20.1-cp310-none-win_amd64.whl", hash = "sha256:d9ecb51120de61e4604650666d1f2b68444d46ae18fd492245a08f53ad2b7711", size = 218563 }, - { url = "https://files.pythonhosted.org/packages/a0/2e/a6ded84019a05b8f23e0fe6a632f62ae438a8c5e5932d3dfc90c73418414/rpds_py-0.20.1-cp311-cp311-macosx_10_12_x86_64.whl", hash = "sha256:762703bdd2b30983c1d9e62b4c88664df4a8a4d5ec0e9253b0231171f18f6d75", size = 327194 }, - { url = "https://files.pythonhosted.org/packages/68/11/d3f84c69de2b2086be3d6bd5e9d172825c096b13842ab7e5f8f39f06035b/rpds_py-0.20.1-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:0b581f47257a9fce535c4567782a8976002d6b8afa2c39ff616edf87cbeff712", size = 318126 }, - { url = "https://files.pythonhosted.org/packages/18/c0/13f1bce9c901511e5e4c0b77a99dbb946bb9a177ca88c6b480e9cb53e304/rpds_py-0.20.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:842c19a6ce894493563c3bd00d81d5100e8e57d70209e84d5491940fdb8b9e3a", size = 361119 }, - { url = "https://files.pythonhosted.org/packages/06/31/3bd721575671f22a37476c2d7b9e34bfa5185bdcee09f7fedde3b29f3adb/rpds_py-0.20.1-cp311-cp311-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:42cbde7789f5c0bcd6816cb29808e36c01b960fb5d29f11e052215aa85497c93", size = 369532 }, - { url = "https://files.pythonhosted.org/packages/20/22/3eeb0385f33251b4fd0f728e6a3801dc8acc05e714eb7867cefe635bf4ab/rpds_py-0.20.1-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:6c8e9340ce5a52f95fa7d3b552b35c7e8f3874d74a03a8a69279fd5fca5dc751", size = 403703 }, - { url = "https://files.pythonhosted.org/packages/10/e1/8dde6174e7ac5b9acd3269afca2e17719bc7e5088c68f44874d2ad9e4560/rpds_py-0.20.1-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:8ba6f89cac95c0900d932c9efb7f0fb6ca47f6687feec41abcb1bd5e2bd45535", size = 429868 }, - { url = "https://files.pythonhosted.org/packages/19/51/a3cc1a5238acfc2582033e8934d034301f9d4931b9bf7c7ccfabc4ca0880/rpds_py-0.20.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:4a916087371afd9648e1962e67403c53f9c49ca47b9680adbeef79da3a7811b0", size = 360539 }, - { url = "https://files.pythonhosted.org/packages/cd/8c/3c87471a44bd4114e2b0aec90f298f6caaac4e8db6af904d5dd2279f5c61/rpds_py-0.20.1-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:200a23239781f46149e6a415f1e870c5ef1e712939fe8fa63035cd053ac2638e", size = 382467 }, - { url = "https://files.pythonhosted.org/packages/d0/9b/95073fe3e0f130e6d561e106818b6568ef1f2df3352e7f162ab912da837c/rpds_py-0.20.1-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:58b1d5dd591973d426cbb2da5e27ba0339209832b2f3315928c9790e13f159e8", size = 546669 }, - { url = "https://files.pythonhosted.org/packages/de/4c/7ab3669e02bb06fedebcfd64d361b7168ba39dfdf385e4109440f2e7927b/rpds_py-0.20.1-cp311-cp311-musllinux_1_2_i686.whl", hash = "sha256:6b73c67850ca7cae0f6c56f71e356d7e9fa25958d3e18a64927c2d930859b8e4", size = 549304 }, - { url = "https://files.pythonhosted.org/packages/f1/e8/ad5da336cd42adbdafe0ecd40dcecdae01fd3d703c621c7637615a008d3a/rpds_py-0.20.1-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:d8761c3c891cc51e90bc9926d6d2f59b27beaf86c74622c8979380a29cc23ac3", size = 527637 }, - { url = "https://files.pythonhosted.org/packages/02/f1/1b47b9e5b941c2659c9b7e4ef41b6f07385a6500c638fa10c066e4616ecb/rpds_py-0.20.1-cp311-none-win32.whl", hash = "sha256:cd945871335a639275eee904caef90041568ce3b42f402c6959b460d25ae8732", size = 200488 }, - { url = "https://files.pythonhosted.org/packages/85/f6/c751c1adfa31610055acfa1cc667cf2c2d7011a73070679c448cf5856905/rpds_py-0.20.1-cp311-none-win_amd64.whl", hash = "sha256:7e21b7031e17c6b0e445f42ccc77f79a97e2687023c5746bfb7a9e45e0921b84", size = 218475 }, - { url = "https://files.pythonhosted.org/packages/e7/10/4e8dcc08b58a548098dbcee67a4888751a25be7a6dde0a83d4300df48bfa/rpds_py-0.20.1-cp312-cp312-macosx_10_12_x86_64.whl", hash = "sha256:36785be22066966a27348444b40389f8444671630063edfb1a2eb04318721e17", size = 329749 }, - { url = "https://files.pythonhosted.org/packages/d2/e4/61144f3790e12fd89e6153d77f7915ad26779735fef8ee9c099cba6dfb4a/rpds_py-0.20.1-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:142c0a5124d9bd0e2976089484af5c74f47bd3298f2ed651ef54ea728d2ea42c", size = 321032 }, - { url = "https://files.pythonhosted.org/packages/fa/e0/99205aabbf3be29ef6c58ef9b08feed51ba6532fdd47461245cb58dd9897/rpds_py-0.20.1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:dbddc10776ca7ebf2a299c41a4dde8ea0d8e3547bfd731cb87af2e8f5bf8962d", size = 363931 }, - { url = "https://files.pythonhosted.org/packages/ac/bd/bce2dddb518b13a7e77eed4be234c9af0c9c6d403d01c5e6ae8eb447ab62/rpds_py-0.20.1-cp312-cp312-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:15a842bb369e00295392e7ce192de9dcbf136954614124a667f9f9f17d6a216f", size = 373343 }, - { url = "https://files.pythonhosted.org/packages/43/15/112b7c553066cb91264691ba7fb119579c440a0ae889da222fa6fc0d411a/rpds_py-0.20.1-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:be5ef2f1fc586a7372bfc355986226484e06d1dc4f9402539872c8bb99e34b01", size = 406304 }, - { url = "https://files.pythonhosted.org/packages/af/8d/2da52aef8ae5494a382b0c0025ba5b68f2952db0f2a4c7534580e8ca83cc/rpds_py-0.20.1-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:dbcf360c9e3399b056a238523146ea77eeb2a596ce263b8814c900263e46031a", size = 423022 }, - { url = "https://files.pythonhosted.org/packages/c8/1b/f23015cb293927c93bdb4b94a48bfe77ad9d57359c75db51f0ff0cf482ff/rpds_py-0.20.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ecd27a66740ffd621d20b9a2f2b5ee4129a56e27bfb9458a3bcc2e45794c96cb", size = 364937 }, - { url = "https://files.pythonhosted.org/packages/7b/8b/6da8636b2ea2e2f709e56656e663b6a71ecd9a9f9d9dc21488aade122026/rpds_py-0.20.1-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:d0b937b2a1988f184a3e9e577adaa8aede21ec0b38320d6009e02bd026db04fa", size = 386301 }, - { url = "https://files.pythonhosted.org/packages/20/af/2ae192797bffd0d6d558145b5a36e7245346ff3e44f6ddcb82f0eb8512d4/rpds_py-0.20.1-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:6889469bfdc1eddf489729b471303739bf04555bb151fe8875931f8564309afc", size = 549452 }, - { url = "https://files.pythonhosted.org/packages/07/dd/9f6520712a5108cd7d407c9db44a3d59011b385c58e320d58ebf67757a9e/rpds_py-0.20.1-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:19b73643c802f4eaf13d97f7855d0fb527fbc92ab7013c4ad0e13a6ae0ed23bd", size = 554370 }, - { url = "https://files.pythonhosted.org/packages/5e/0e/b1bdc7ea0db0946d640ab8965146099093391bb5d265832994c47461e3c5/rpds_py-0.20.1-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:3c6afcf2338e7f374e8edc765c79fbcb4061d02b15dd5f8f314a4af2bdc7feb5", size = 530940 }, - { url = "https://files.pythonhosted.org/packages/ae/d3/ffe907084299484fab60a7955f7c0e8a295c04249090218c59437010f9f4/rpds_py-0.20.1-cp312-none-win32.whl", hash = "sha256:dc73505153798c6f74854aba69cc75953888cf9866465196889c7cdd351e720c", size = 203164 }, - { url = "https://files.pythonhosted.org/packages/1f/ba/9cbb57423c4bfbd81c473913bebaed151ad4158ee2590a4e4b3e70238b48/rpds_py-0.20.1-cp312-none-win_amd64.whl", hash = "sha256:8bbe951244a838a51289ee53a6bae3a07f26d4e179b96fc7ddd3301caf0518eb", size = 220750 }, - { url = "https://files.pythonhosted.org/packages/b5/01/fee2e1d1274c92fff04aa47d805a28d62c2aa971d1f49f5baea1c6e670d9/rpds_py-0.20.1-cp313-cp313-macosx_10_12_x86_64.whl", hash = "sha256:6ca91093a4a8da4afae7fe6a222c3b53ee4eef433ebfee4d54978a103435159e", size = 329359 }, - { url = "https://files.pythonhosted.org/packages/b0/cf/4aeffb02b7090029d7aeecbffb9a10e1c80f6f56d7e9a30e15481dc4099c/rpds_py-0.20.1-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:b9c2fe36d1f758b28121bef29ed1dee9b7a2453e997528e7d1ac99b94892527c", size = 320543 }, - { url = "https://files.pythonhosted.org/packages/17/69/85cf3429e9ccda684ba63ff36b5866d5f9451e921cc99819341e19880334/rpds_py-0.20.1-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:f009c69bc8c53db5dfab72ac760895dc1f2bc1b62ab7408b253c8d1ec52459fc", size = 363107 }, - { url = "https://files.pythonhosted.org/packages/ef/de/7df88dea9c3eeb832196d23b41f0f6fc5f9a2ee9b2080bbb1db8731ead9c/rpds_py-0.20.1-cp313-cp313-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:6740a3e8d43a32629bb9b009017ea5b9e713b7210ba48ac8d4cb6d99d86c8ee8", size = 372027 }, - { url = "https://files.pythonhosted.org/packages/d1/b8/88675399d2038580743c570a809c43a900e7090edc6553f8ffb66b23c965/rpds_py-0.20.1-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:32b922e13d4c0080d03e7b62991ad7f5007d9cd74e239c4b16bc85ae8b70252d", size = 405031 }, - { url = "https://files.pythonhosted.org/packages/e1/aa/cca639f6d17caf00bab51bdc70fcc0bdda3063e5662665c4fdf60443c474/rpds_py-0.20.1-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:fe00a9057d100e69b4ae4a094203a708d65b0f345ed546fdef86498bf5390982", size = 422271 }, - { url = "https://files.pythonhosted.org/packages/c4/07/bf8a949d2ec4626c285579c9d6b356c692325f1a4126e947736b416e1fc4/rpds_py-0.20.1-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:49fe9b04b6fa685bd39237d45fad89ba19e9163a1ccaa16611a812e682913496", size = 363625 }, - { url = "https://files.pythonhosted.org/packages/11/f0/06675c6a58d6ce34547879138810eb9aab0c10e5607ea6c2e4dc56b703c8/rpds_py-0.20.1-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:aa7ac11e294304e615b43f8c441fee5d40094275ed7311f3420d805fde9b07b4", size = 385906 }, - { url = "https://files.pythonhosted.org/packages/bf/ac/2d1f50374eb8e41030fad4e87f81751e1c39e3b5d4bee8c5618830d8a6ac/rpds_py-0.20.1-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:6aa97af1558a9bef4025f8f5d8c60d712e0a3b13a2fe875511defc6ee77a1ab7", size = 549021 }, - { url = "https://files.pythonhosted.org/packages/f7/d4/a7d70a7cc71df772eeadf4bce05e32e780a9fe44a511a5b091c7a85cb767/rpds_py-0.20.1-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:483b29f6f7ffa6af845107d4efe2e3fa8fb2693de8657bc1849f674296ff6a5a", size = 553800 }, - { url = "https://files.pythonhosted.org/packages/87/81/dc30bc449ccba63ad23a0f6633486d4e0e6955f45f3715a130dacabd6ad0/rpds_py-0.20.1-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:37fe0f12aebb6a0e3e17bb4cd356b1286d2d18d2e93b2d39fe647138458b4bcb", size = 531076 }, - { url = "https://files.pythonhosted.org/packages/50/80/fb62ab48f3b5cfe704ead6ad372da1922ddaa76397055e02eb507054c979/rpds_py-0.20.1-cp313-none-win32.whl", hash = "sha256:a624cc00ef2158e04188df5e3016385b9353638139a06fb77057b3498f794782", size = 202804 }, - { url = "https://files.pythonhosted.org/packages/d9/30/a3391e76d0b3313f33bdedd394a519decae3a953d2943e3dabf80ae32447/rpds_py-0.20.1-cp313-none-win_amd64.whl", hash = "sha256:b71b8666eeea69d6363248822078c075bac6ed135faa9216aa85f295ff009b1e", size = 220502 }, - { url = "https://files.pythonhosted.org/packages/53/ef/b1883734ea0cd9996de793cdc38c32a28143b04911d1e570090acd8a9162/rpds_py-0.20.1-cp38-cp38-macosx_10_12_x86_64.whl", hash = "sha256:5b48e790e0355865197ad0aca8cde3d8ede347831e1959e158369eb3493d2191", size = 327757 }, - { url = "https://files.pythonhosted.org/packages/54/63/47d34dc4ddb3da73e78e10c9009dcf8edc42d355a221351c05c822c2a50b/rpds_py-0.20.1-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:3e310838a5801795207c66c73ea903deda321e6146d6f282e85fa7e3e4854804", size = 318785 }, - { url = "https://files.pythonhosted.org/packages/f7/e1/d6323be4afbe3013f28725553b7bfa80b3f013f91678af258f579f8ea8f9/rpds_py-0.20.1-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:2249280b870e6a42c0d972339e9cc22ee98730a99cd7f2f727549af80dd5a963", size = 361511 }, - { url = "https://files.pythonhosted.org/packages/ab/d3/c40e4d9ecd571f0f50fe69bc53fe608d7b2c49b30738b480044990260838/rpds_py-0.20.1-cp38-cp38-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:e79059d67bea28b53d255c1437b25391653263f0e69cd7dec170d778fdbca95e", size = 370201 }, - { url = "https://files.pythonhosted.org/packages/f1/b6/96a4a9977a8a06c2c49d90aa571346aff1642abf15066a39a0b4817bf049/rpds_py-0.20.1-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:2b431c777c9653e569986ecf69ff4a5dba281cded16043d348bf9ba505486f36", size = 403866 }, - { url = "https://files.pythonhosted.org/packages/cd/8f/702b52287949314b498a311f92b5ee0ba30c702a27e0e6b560e2da43b8d5/rpds_py-0.20.1-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:da584ff96ec95e97925174eb8237e32f626e7a1a97888cdd27ee2f1f24dd0ad8", size = 430163 }, - { url = "https://files.pythonhosted.org/packages/c4/ce/af016c81fda833bf125b20d1677d816f230cad2ab189f46bcbfea3c7a375/rpds_py-0.20.1-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:02a0629ec053fc013808a85178524e3cb63a61dbc35b22499870194a63578fb9", size = 360776 }, - { url = "https://files.pythonhosted.org/packages/08/a7/988e179c9bef55821abe41762228d65077e0570ca75c9efbcd1bc6e263b4/rpds_py-0.20.1-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:fbf15aff64a163db29a91ed0868af181d6f68ec1a3a7d5afcfe4501252840bad", size = 383008 }, - { url = "https://files.pythonhosted.org/packages/96/b0/e4077f7f1b9622112ae83254aedfb691490278793299bc06dcf54ec8c8e4/rpds_py-0.20.1-cp38-cp38-musllinux_1_2_aarch64.whl", hash = "sha256:07924c1b938798797d60c6308fa8ad3b3f0201802f82e4a2c41bb3fafb44cc28", size = 546371 }, - { url = "https://files.pythonhosted.org/packages/e4/5e/1d4dd08ec0352cfe516ea93ea1993c2f656f893c87dafcd9312bd07f65f7/rpds_py-0.20.1-cp38-cp38-musllinux_1_2_i686.whl", hash = "sha256:4a5a844f68776a7715ecb30843b453f07ac89bad393431efbf7accca3ef599c1", size = 549809 }, - { url = "https://files.pythonhosted.org/packages/57/ac/a716b4729ff23ec034b7d2ff76a86e6f0753c4098401bdfdf55b2efe90e6/rpds_py-0.20.1-cp38-cp38-musllinux_1_2_x86_64.whl", hash = "sha256:518d2ca43c358929bf08f9079b617f1c2ca6e8848f83c1225c88caeac46e6cbc", size = 528492 }, - { url = "https://files.pythonhosted.org/packages/e0/ed/a0b58a9ecef79918169eacdabd14eb4c5c86ce71184ed56b80c6eb425828/rpds_py-0.20.1-cp38-none-win32.whl", hash = "sha256:3aea7eed3e55119635a74bbeb80b35e776bafccb70d97e8ff838816c124539f1", size = 200512 }, - { url = "https://files.pythonhosted.org/packages/5f/c3/222e25124283afc76c473fcd2c547e82ec57683fa31cb4d6c6eb44e5d57a/rpds_py-0.20.1-cp38-none-win_amd64.whl", hash = "sha256:7dca7081e9a0c3b6490a145593f6fe3173a94197f2cb9891183ef75e9d64c425", size = 218627 }, - { url = "https://files.pythonhosted.org/packages/d6/87/e7e0fcbfdc0d0e261534bcc885f6ae6253095b972e32f8b8b1278c78a2a9/rpds_py-0.20.1-cp39-cp39-macosx_10_12_x86_64.whl", hash = "sha256:b41b6321805c472f66990c2849e152aff7bc359eb92f781e3f606609eac877ad", size = 327867 }, - { url = "https://files.pythonhosted.org/packages/93/a0/17836b7961fc82586e9b818abdee2a27e2e605a602bb8c0d43f02092f8c2/rpds_py-0.20.1-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:0a90c373ea2975519b58dece25853dbcb9779b05cc46b4819cb1917e3b3215b6", size = 318893 }, - { url = "https://files.pythonhosted.org/packages/dc/03/deb81d8ea3a8b974e7b03cfe8c8c26616ef8f4980dd430d8dd0a2f1b4d8e/rpds_py-0.20.1-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:16d4477bcb9fbbd7b5b0e4a5d9b493e42026c0bf1f06f723a9353f5153e75d30", size = 361664 }, - { url = "https://files.pythonhosted.org/packages/16/49/d9938603731745c7b6babff97ca61ff3eb4619e7128b5ab0111ad4e91d6d/rpds_py-0.20.1-cp39-cp39-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:84b8382a90539910b53a6307f7c35697bc7e6ffb25d9c1d4e998a13e842a5e83", size = 369796 }, - { url = "https://files.pythonhosted.org/packages/87/d2/480b36c69cdc373853401b6aab6a281cf60f6d72b1545d82c0d23d9dd77c/rpds_py-0.20.1-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:4888e117dd41b9d34194d9e31631af70d3d526efc363085e3089ab1a62c32ed1", size = 403860 }, - { url = "https://files.pythonhosted.org/packages/31/7c/f6d909cb57761293308dbef14f1663d84376f2e231892a10aafc57b42037/rpds_py-0.20.1-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:5265505b3d61a0f56618c9b941dc54dc334dc6e660f1592d112cd103d914a6db", size = 430793 }, - { url = "https://files.pythonhosted.org/packages/d4/62/c9bd294c4b5f84d9cc2c387b548ae53096ad7e71ac5b02b6310e9dc85aa4/rpds_py-0.20.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:e75ba609dba23f2c95b776efb9dd3f0b78a76a151e96f96cc5b6b1b0004de66f", size = 360927 }, - { url = "https://files.pythonhosted.org/packages/c1/a7/15d927d83a44da8307a432b1cac06284b6657706d099a98cc99fec34ad51/rpds_py-0.20.1-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:1791ff70bc975b098fe6ecf04356a10e9e2bd7dc21fa7351c1742fdeb9b4966f", size = 382660 }, - { url = "https://files.pythonhosted.org/packages/4c/28/0630719c18456238bb07d59c4302fed50a13aa8035ec23dbfa80d116f9bc/rpds_py-0.20.1-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:d126b52e4a473d40232ec2052a8b232270ed1f8c9571aaf33f73a14cc298c24f", size = 546888 }, - { url = "https://files.pythonhosted.org/packages/b9/75/3c9bda11b9c15d680b315f898af23825159314d4b56568f24b53ace8afcd/rpds_py-0.20.1-cp39-cp39-musllinux_1_2_i686.whl", hash = "sha256:c14937af98c4cc362a1d4374806204dd51b1e12dded1ae30645c298e5a5c4cb1", size = 550088 }, - { url = "https://files.pythonhosted.org/packages/70/f1/8fe7d04c194218171220a412057429defa9e2da785de0777c4d39309337e/rpds_py-0.20.1-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:3d089d0b88996df627693639d123c8158cff41c0651f646cd8fd292c7da90eaf", size = 528270 }, - { url = "https://files.pythonhosted.org/packages/d6/62/41b0020f4b00af042b008e679dbe25a2f5bce655139a81f8b812f9068e52/rpds_py-0.20.1-cp39-none-win32.whl", hash = "sha256:653647b8838cf83b2e7e6a0364f49af96deec64d2a6578324db58380cff82aca", size = 200658 }, - { url = "https://files.pythonhosted.org/packages/05/01/e64bb8889f2dcc951e53de33d8b8070456397ae4e10edc35e6cb9908f5c8/rpds_py-0.20.1-cp39-none-win_amd64.whl", hash = "sha256:fa41a64ac5b08b292906e248549ab48b69c5428f3987b09689ab2441f267d04d", size = 218883 }, - { url = "https://files.pythonhosted.org/packages/b6/fa/7959429e69569d0f6e7d27f80451402da0409349dd2b07f6bcbdd5fad2d3/rpds_py-0.20.1-pp310-pypy310_pp73-macosx_10_12_x86_64.whl", hash = "sha256:7a07ced2b22f0cf0b55a6a510078174c31b6d8544f3bc00c2bcee52b3d613f74", size = 328209 }, - { url = "https://files.pythonhosted.org/packages/25/97/5dfdb091c30267ff404d2fd9e70c7a6d6ffc65ca77fffe9456e13b719066/rpds_py-0.20.1-pp310-pypy310_pp73-macosx_11_0_arm64.whl", hash = "sha256:68cb0a499f2c4a088fd2f521453e22ed3527154136a855c62e148b7883b99f9a", size = 319499 }, - { url = "https://files.pythonhosted.org/packages/7c/98/cf2608722400f5f9bb4c82aa5ac09026f3ac2ebea9d4059d3533589ed0b6/rpds_py-0.20.1-pp310-pypy310_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:fa3060d885657abc549b2a0f8e1b79699290e5d83845141717c6c90c2df38311", size = 361795 }, - { url = "https://files.pythonhosted.org/packages/89/de/0e13dd43c785c60e63933e96fbddda0b019df6862f4d3019bb49c3861131/rpds_py-0.20.1-pp310-pypy310_pp73-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:95f3b65d2392e1c5cec27cff08fdc0080270d5a1a4b2ea1d51d5f4a2620ff08d", size = 370604 }, - { url = "https://files.pythonhosted.org/packages/8a/fc/fe3c83c77f82b8059eeec4e998064913d66212b69b3653df48f58ad33d3d/rpds_py-0.20.1-pp310-pypy310_pp73-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:2cc3712a4b0b76a1d45a9302dd2f53ff339614b1c29603a911318f2357b04dd2", size = 404177 }, - { url = "https://files.pythonhosted.org/packages/94/30/5189518bfb80a41f664daf32b46645c7fbdcc89028a0f1bfa82e806e0fbb/rpds_py-0.20.1-pp310-pypy310_pp73-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:5d4eea0761e37485c9b81400437adb11c40e13ef513375bbd6973e34100aeb06", size = 430108 }, - { url = "https://files.pythonhosted.org/packages/67/0e/6f069feaff5c298375cd8c55e00ecd9bd79c792ce0893d39448dc0097857/rpds_py-0.20.1-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:7f5179583d7a6cdb981151dd349786cbc318bab54963a192692d945dd3f6435d", size = 361184 }, - { url = "https://files.pythonhosted.org/packages/27/9f/ce3e2ae36f392c3ef1988c06e9e0b4c74f64267dad7c223003c34da11adb/rpds_py-0.20.1-pp310-pypy310_pp73-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:2fbb0ffc754490aff6dabbf28064be47f0f9ca0b9755976f945214965b3ace7e", size = 384140 }, - { url = "https://files.pythonhosted.org/packages/5f/d5/89d44504d0bc7a1135062cb520a17903ff002f458371b8d9160af3b71e52/rpds_py-0.20.1-pp310-pypy310_pp73-musllinux_1_2_aarch64.whl", hash = "sha256:a94e52537a0e0a85429eda9e49f272ada715506d3b2431f64b8a3e34eb5f3e75", size = 546589 }, - { url = "https://files.pythonhosted.org/packages/8f/8f/e1c2db4fcca3947d9a28ec9553700b4dc8038f0eff575f579e75885b0661/rpds_py-0.20.1-pp310-pypy310_pp73-musllinux_1_2_i686.whl", hash = "sha256:92b68b79c0da2a980b1c4197e56ac3dd0c8a149b4603747c4378914a68706979", size = 550059 }, - { url = "https://files.pythonhosted.org/packages/67/29/00a9e986df36721b5def82fff60995c1ee8827a7d909a6ec8929fb4cc668/rpds_py-0.20.1-pp310-pypy310_pp73-musllinux_1_2_x86_64.whl", hash = "sha256:93da1d3db08a827eda74356f9f58884adb254e59b6664f64cc04cdff2cc19b0d", size = 529131 }, - { url = "https://files.pythonhosted.org/packages/a3/32/95364440560ec476b19c6a2704259e710c223bf767632ebaa72cc2a1760f/rpds_py-0.20.1-pp310-pypy310_pp73-win_amd64.whl", hash = "sha256:754bbed1a4ca48479e9d4182a561d001bbf81543876cdded6f695ec3d465846b", size = 219677 }, - { url = "https://files.pythonhosted.org/packages/ed/bf/ad8492e972c90a3d48a38e2b5095c51a8399d5b57e83f2d5d1649490f72b/rpds_py-0.20.1-pp39-pypy39_pp73-macosx_10_12_x86_64.whl", hash = "sha256:ca449520e7484534a2a44faf629362cae62b660601432d04c482283c47eaebab", size = 328046 }, - { url = "https://files.pythonhosted.org/packages/75/fd/84f42386165d6d555acb76c6d39c90b10c9dcf25116daf4f48a0a9d6867a/rpds_py-0.20.1-pp39-pypy39_pp73-macosx_11_0_arm64.whl", hash = "sha256:9c4cb04a16b0f199a8c9bf807269b2f63b7b5b11425e4a6bd44bd6961d28282c", size = 319306 }, - { url = "https://files.pythonhosted.org/packages/6c/8a/abcd5119a0573f9588ad71a3fde3c07ddd1d1393cfee15a6ba7495c256f1/rpds_py-0.20.1-pp39-pypy39_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:bb63804105143c7e24cee7db89e37cb3f3941f8e80c4379a0b355c52a52b6780", size = 362558 }, - { url = "https://files.pythonhosted.org/packages/9d/65/1c2bb10afd4bd32800227a658ae9097bc1d08a4e5048a57a9bd2efdf6306/rpds_py-0.20.1-pp39-pypy39_pp73-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:55cd1fa4ecfa6d9f14fbd97ac24803e6f73e897c738f771a9fe038f2f11ff07c", size = 370811 }, - { url = "https://files.pythonhosted.org/packages/6c/ee/f4bab2b9e51ced30351cfd210647885391463ae682028c79760e7db28e4e/rpds_py-0.20.1-pp39-pypy39_pp73-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:0f8f741b6292c86059ed175d80eefa80997125b7c478fb8769fd9ac8943a16c0", size = 404660 }, - { url = "https://files.pythonhosted.org/packages/48/0f/9d04d0939682f0c97be827fc51ff986555ffb573e6781bd5132441f0ce25/rpds_py-0.20.1-pp39-pypy39_pp73-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:0fc212779bf8411667234b3cdd34d53de6c2b8b8b958e1e12cb473a5f367c338", size = 430490 }, - { url = "https://files.pythonhosted.org/packages/0d/f2/e9b90fd8416d59941b6a12f2c2e1d898b63fd092f5a7a6f98236cb865764/rpds_py-0.20.1-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:0ad56edabcdb428c2e33bbf24f255fe2b43253b7d13a2cdbf05de955217313e6", size = 361448 }, - { url = "https://files.pythonhosted.org/packages/0b/83/1cc776dce7bedb17d6f4ea62eafccee8a57a4678f4fac414ab69fb9b6b0b/rpds_py-0.20.1-pp39-pypy39_pp73-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:0a3a1e9ee9728b2c1734f65d6a1d376c6f2f6fdcc13bb007a08cc4b1ff576dc5", size = 383681 }, - { url = "https://files.pythonhosted.org/packages/17/5c/e0cdd6b0a8373fdef3667af2778dd9ff3abf1bbb9c7bd92c603c91440eb0/rpds_py-0.20.1-pp39-pypy39_pp73-musllinux_1_2_aarch64.whl", hash = "sha256:e13de156137b7095442b288e72f33503a469aa1980ed856b43c353ac86390519", size = 546203 }, - { url = "https://files.pythonhosted.org/packages/1b/a8/81fc9cbc01e7ef6d10652aedc1de4e8473934773e2808ba49094e03575df/rpds_py-0.20.1-pp39-pypy39_pp73-musllinux_1_2_i686.whl", hash = "sha256:07f59760ef99f31422c49038964b31c4dfcfeb5d2384ebfc71058a7c9adae2d2", size = 549855 }, - { url = "https://files.pythonhosted.org/packages/b3/87/99648693d3c1bbce088119bc61ecaab62e5f9c713894edc604ffeca5ae88/rpds_py-0.20.1-pp39-pypy39_pp73-musllinux_1_2_x86_64.whl", hash = "sha256:59240685e7da61fb78f65a9f07f8108e36a83317c53f7b276b4175dc44151684", size = 528625 }, - { url = "https://files.pythonhosted.org/packages/05/c3/10c68a08849f1fa45d205e54141fa75d316013e3d701ef01770ee1220bb8/rpds_py-0.20.1-pp39-pypy39_pp73-win_amd64.whl", hash = "sha256:83cba698cfb3c2c5a7c3c6bac12fe6c6a51aae69513726be6411076185a8b24a", size = 219991 }, +sdist = { url = "https://files.pythonhosted.org/packages/25/cb/8e919951f55d109d658f81c9b49d0cc3b48637c50792c5d2e77032b8c5da/rpds_py-0.20.1.tar.gz", hash = "sha256:e1791c4aabd117653530dccd24108fa03cc6baf21f58b950d0a73c3b3b29a350", size = 25931, upload-time = "2024-10-31T14:30:20.522Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/ae/0e/d7e7e9280988a7bc56fd326042baca27f4f55fad27dc8aa64e5e0e894e5d/rpds_py-0.20.1-cp310-cp310-macosx_10_12_x86_64.whl", hash = "sha256:a649dfd735fff086e8a9d0503a9f0c7d01b7912a333c7ae77e1515c08c146dad", size = 327335, upload-time = "2024-10-31T14:26:20.076Z" }, + { url = "https://files.pythonhosted.org/packages/4c/72/027185f213d53ae66765c575229829b202fbacf3d55fe2bd9ff4e29bb157/rpds_py-0.20.1-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:f16bc1334853e91ddaaa1217045dd7be166170beec337576818461268a3de67f", size = 318250, upload-time = "2024-10-31T14:26:22.17Z" }, + { url = "https://files.pythonhosted.org/packages/2b/e7/b4eb3e6ff541c83d3b46f45f855547e412ab60c45bef64520fafb00b9b42/rpds_py-0.20.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:14511a539afee6f9ab492b543060c7491c99924314977a55c98bfa2ee29ce78c", size = 361206, upload-time = "2024-10-31T14:26:24.746Z" }, + { url = "https://files.pythonhosted.org/packages/e7/80/cb9a4b4cad31bcaa37f38dae7a8be861f767eb2ca4f07a146b5ffcfbee09/rpds_py-0.20.1-cp310-cp310-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:3ccb8ac2d3c71cda472b75af42818981bdacf48d2e21c36331b50b4f16930163", size = 369921, upload-time = "2024-10-31T14:26:28.137Z" }, + { url = "https://files.pythonhosted.org/packages/95/1b/463b11e7039e18f9e778568dbf7338c29bbc1f8996381115201c668eb8c8/rpds_py-0.20.1-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:c142b88039b92e7e0cb2552e8967077e3179b22359e945574f5e2764c3953dcf", size = 403673, upload-time = "2024-10-31T14:26:31.42Z" }, + { url = "https://files.pythonhosted.org/packages/86/98/1ef4028e9d5b76470bf7f8f2459be07ac5c9621270a2a5e093f8d8a8cc2c/rpds_py-0.20.1-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:f19169781dddae7478a32301b499b2858bc52fc45a112955e798ee307e294977", size = 430267, upload-time = "2024-10-31T14:26:33.148Z" }, + { url = "https://files.pythonhosted.org/packages/25/8e/41d7e3e6d3a4a6c94375020477705a3fbb6515717901ab8f94821cf0a0d9/rpds_py-0.20.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:13c56de6518e14b9bf6edde23c4c39dac5b48dcf04160ea7bce8fca8397cdf86", size = 360569, upload-time = "2024-10-31T14:26:35.151Z" }, + { url = "https://files.pythonhosted.org/packages/4f/6a/8839340464d4e1bbfaf0482e9d9165a2309c2c17427e4dcb72ce3e5cc5d6/rpds_py-0.20.1-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:925d176a549f4832c6f69fa6026071294ab5910e82a0fe6c6228fce17b0706bd", size = 382584, upload-time = "2024-10-31T14:26:37.444Z" }, + { url = "https://files.pythonhosted.org/packages/64/96/7a7f938d3796a6a3ec08ed0e8a5ecd436fbd516a3684ab1fa22d46d6f6cc/rpds_py-0.20.1-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:78f0b6877bfce7a3d1ff150391354a410c55d3cdce386f862926a4958ad5ab7e", size = 546560, upload-time = "2024-10-31T14:26:40.679Z" }, + { url = "https://files.pythonhosted.org/packages/15/c7/19fb4f1247a3c90a99eca62909bf76ee988f9b663e47878a673d9854ec5c/rpds_py-0.20.1-cp310-cp310-musllinux_1_2_i686.whl", hash = "sha256:3dd645e2b0dcb0fd05bf58e2e54c13875847687d0b71941ad2e757e5d89d4356", size = 549359, upload-time = "2024-10-31T14:26:42.71Z" }, + { url = "https://files.pythonhosted.org/packages/d2/4c/445eb597a39a883368ea2f341dd6e48a9d9681b12ebf32f38a827b30529b/rpds_py-0.20.1-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:4f676e21db2f8c72ff0936f895271e7a700aa1f8d31b40e4e43442ba94973899", size = 527567, upload-time = "2024-10-31T14:26:45.402Z" }, + { url = "https://files.pythonhosted.org/packages/4f/71/4c44643bffbcb37311fc7fe221bcf139c8d660bc78f746dd3a05741372c8/rpds_py-0.20.1-cp310-none-win32.whl", hash = "sha256:648386ddd1e19b4a6abab69139b002bc49ebf065b596119f8f37c38e9ecee8ff", size = 200412, upload-time = "2024-10-31T14:26:49.634Z" }, + { url = "https://files.pythonhosted.org/packages/f4/33/9d0529d74099e090ec9ab15eb0a049c56cca599eaaca71bfedbdbca656a9/rpds_py-0.20.1-cp310-none-win_amd64.whl", hash = "sha256:d9ecb51120de61e4604650666d1f2b68444d46ae18fd492245a08f53ad2b7711", size = 218563, upload-time = "2024-10-31T14:26:51.639Z" }, + { url = "https://files.pythonhosted.org/packages/a0/2e/a6ded84019a05b8f23e0fe6a632f62ae438a8c5e5932d3dfc90c73418414/rpds_py-0.20.1-cp311-cp311-macosx_10_12_x86_64.whl", hash = "sha256:762703bdd2b30983c1d9e62b4c88664df4a8a4d5ec0e9253b0231171f18f6d75", size = 327194, upload-time = "2024-10-31T14:26:54.135Z" }, + { url = "https://files.pythonhosted.org/packages/68/11/d3f84c69de2b2086be3d6bd5e9d172825c096b13842ab7e5f8f39f06035b/rpds_py-0.20.1-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:0b581f47257a9fce535c4567782a8976002d6b8afa2c39ff616edf87cbeff712", size = 318126, upload-time = "2024-10-31T14:26:56.089Z" }, + { url = "https://files.pythonhosted.org/packages/18/c0/13f1bce9c901511e5e4c0b77a99dbb946bb9a177ca88c6b480e9cb53e304/rpds_py-0.20.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:842c19a6ce894493563c3bd00d81d5100e8e57d70209e84d5491940fdb8b9e3a", size = 361119, upload-time = "2024-10-31T14:26:58.354Z" }, + { url = "https://files.pythonhosted.org/packages/06/31/3bd721575671f22a37476c2d7b9e34bfa5185bdcee09f7fedde3b29f3adb/rpds_py-0.20.1-cp311-cp311-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:42cbde7789f5c0bcd6816cb29808e36c01b960fb5d29f11e052215aa85497c93", size = 369532, upload-time = "2024-10-31T14:27:00.155Z" }, + { url = "https://files.pythonhosted.org/packages/20/22/3eeb0385f33251b4fd0f728e6a3801dc8acc05e714eb7867cefe635bf4ab/rpds_py-0.20.1-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:6c8e9340ce5a52f95fa7d3b552b35c7e8f3874d74a03a8a69279fd5fca5dc751", size = 403703, upload-time = "2024-10-31T14:27:02.072Z" }, + { url = "https://files.pythonhosted.org/packages/10/e1/8dde6174e7ac5b9acd3269afca2e17719bc7e5088c68f44874d2ad9e4560/rpds_py-0.20.1-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:8ba6f89cac95c0900d932c9efb7f0fb6ca47f6687feec41abcb1bd5e2bd45535", size = 429868, upload-time = "2024-10-31T14:27:04.453Z" }, + { url = "https://files.pythonhosted.org/packages/19/51/a3cc1a5238acfc2582033e8934d034301f9d4931b9bf7c7ccfabc4ca0880/rpds_py-0.20.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:4a916087371afd9648e1962e67403c53f9c49ca47b9680adbeef79da3a7811b0", size = 360539, upload-time = "2024-10-31T14:27:07.048Z" }, + { url = "https://files.pythonhosted.org/packages/cd/8c/3c87471a44bd4114e2b0aec90f298f6caaac4e8db6af904d5dd2279f5c61/rpds_py-0.20.1-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:200a23239781f46149e6a415f1e870c5ef1e712939fe8fa63035cd053ac2638e", size = 382467, upload-time = "2024-10-31T14:27:08.647Z" }, + { url = "https://files.pythonhosted.org/packages/d0/9b/95073fe3e0f130e6d561e106818b6568ef1f2df3352e7f162ab912da837c/rpds_py-0.20.1-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:58b1d5dd591973d426cbb2da5e27ba0339209832b2f3315928c9790e13f159e8", size = 546669, upload-time = "2024-10-31T14:27:10.626Z" }, + { url = "https://files.pythonhosted.org/packages/de/4c/7ab3669e02bb06fedebcfd64d361b7168ba39dfdf385e4109440f2e7927b/rpds_py-0.20.1-cp311-cp311-musllinux_1_2_i686.whl", hash = "sha256:6b73c67850ca7cae0f6c56f71e356d7e9fa25958d3e18a64927c2d930859b8e4", size = 549304, upload-time = "2024-10-31T14:27:14.114Z" }, + { url = "https://files.pythonhosted.org/packages/f1/e8/ad5da336cd42adbdafe0ecd40dcecdae01fd3d703c621c7637615a008d3a/rpds_py-0.20.1-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:d8761c3c891cc51e90bc9926d6d2f59b27beaf86c74622c8979380a29cc23ac3", size = 527637, upload-time = "2024-10-31T14:27:15.887Z" }, + { url = "https://files.pythonhosted.org/packages/02/f1/1b47b9e5b941c2659c9b7e4ef41b6f07385a6500c638fa10c066e4616ecb/rpds_py-0.20.1-cp311-none-win32.whl", hash = "sha256:cd945871335a639275eee904caef90041568ce3b42f402c6959b460d25ae8732", size = 200488, upload-time = "2024-10-31T14:27:18.666Z" }, + { url = "https://files.pythonhosted.org/packages/85/f6/c751c1adfa31610055acfa1cc667cf2c2d7011a73070679c448cf5856905/rpds_py-0.20.1-cp311-none-win_amd64.whl", hash = "sha256:7e21b7031e17c6b0e445f42ccc77f79a97e2687023c5746bfb7a9e45e0921b84", size = 218475, upload-time = "2024-10-31T14:27:20.13Z" }, + { url = "https://files.pythonhosted.org/packages/e7/10/4e8dcc08b58a548098dbcee67a4888751a25be7a6dde0a83d4300df48bfa/rpds_py-0.20.1-cp312-cp312-macosx_10_12_x86_64.whl", hash = "sha256:36785be22066966a27348444b40389f8444671630063edfb1a2eb04318721e17", size = 329749, upload-time = "2024-10-31T14:27:21.968Z" }, + { url = "https://files.pythonhosted.org/packages/d2/e4/61144f3790e12fd89e6153d77f7915ad26779735fef8ee9c099cba6dfb4a/rpds_py-0.20.1-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:142c0a5124d9bd0e2976089484af5c74f47bd3298f2ed651ef54ea728d2ea42c", size = 321032, upload-time = "2024-10-31T14:27:24.397Z" }, + { url = "https://files.pythonhosted.org/packages/fa/e0/99205aabbf3be29ef6c58ef9b08feed51ba6532fdd47461245cb58dd9897/rpds_py-0.20.1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:dbddc10776ca7ebf2a299c41a4dde8ea0d8e3547bfd731cb87af2e8f5bf8962d", size = 363931, upload-time = "2024-10-31T14:27:26.05Z" }, + { url = "https://files.pythonhosted.org/packages/ac/bd/bce2dddb518b13a7e77eed4be234c9af0c9c6d403d01c5e6ae8eb447ab62/rpds_py-0.20.1-cp312-cp312-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:15a842bb369e00295392e7ce192de9dcbf136954614124a667f9f9f17d6a216f", size = 373343, upload-time = "2024-10-31T14:27:27.864Z" }, + { url = "https://files.pythonhosted.org/packages/43/15/112b7c553066cb91264691ba7fb119579c440a0ae889da222fa6fc0d411a/rpds_py-0.20.1-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:be5ef2f1fc586a7372bfc355986226484e06d1dc4f9402539872c8bb99e34b01", size = 406304, upload-time = "2024-10-31T14:27:29.776Z" }, + { url = "https://files.pythonhosted.org/packages/af/8d/2da52aef8ae5494a382b0c0025ba5b68f2952db0f2a4c7534580e8ca83cc/rpds_py-0.20.1-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:dbcf360c9e3399b056a238523146ea77eeb2a596ce263b8814c900263e46031a", size = 423022, upload-time = "2024-10-31T14:27:31.547Z" }, + { url = "https://files.pythonhosted.org/packages/c8/1b/f23015cb293927c93bdb4b94a48bfe77ad9d57359c75db51f0ff0cf482ff/rpds_py-0.20.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ecd27a66740ffd621d20b9a2f2b5ee4129a56e27bfb9458a3bcc2e45794c96cb", size = 364937, upload-time = "2024-10-31T14:27:33.447Z" }, + { url = "https://files.pythonhosted.org/packages/7b/8b/6da8636b2ea2e2f709e56656e663b6a71ecd9a9f9d9dc21488aade122026/rpds_py-0.20.1-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:d0b937b2a1988f184a3e9e577adaa8aede21ec0b38320d6009e02bd026db04fa", size = 386301, upload-time = "2024-10-31T14:27:35.8Z" }, + { url = "https://files.pythonhosted.org/packages/20/af/2ae192797bffd0d6d558145b5a36e7245346ff3e44f6ddcb82f0eb8512d4/rpds_py-0.20.1-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:6889469bfdc1eddf489729b471303739bf04555bb151fe8875931f8564309afc", size = 549452, upload-time = "2024-10-31T14:27:38.316Z" }, + { url = "https://files.pythonhosted.org/packages/07/dd/9f6520712a5108cd7d407c9db44a3d59011b385c58e320d58ebf67757a9e/rpds_py-0.20.1-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:19b73643c802f4eaf13d97f7855d0fb527fbc92ab7013c4ad0e13a6ae0ed23bd", size = 554370, upload-time = "2024-10-31T14:27:40.111Z" }, + { url = "https://files.pythonhosted.org/packages/5e/0e/b1bdc7ea0db0946d640ab8965146099093391bb5d265832994c47461e3c5/rpds_py-0.20.1-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:3c6afcf2338e7f374e8edc765c79fbcb4061d02b15dd5f8f314a4af2bdc7feb5", size = 530940, upload-time = "2024-10-31T14:27:42.074Z" }, + { url = "https://files.pythonhosted.org/packages/ae/d3/ffe907084299484fab60a7955f7c0e8a295c04249090218c59437010f9f4/rpds_py-0.20.1-cp312-none-win32.whl", hash = "sha256:dc73505153798c6f74854aba69cc75953888cf9866465196889c7cdd351e720c", size = 203164, upload-time = "2024-10-31T14:27:44.578Z" }, + { url = "https://files.pythonhosted.org/packages/1f/ba/9cbb57423c4bfbd81c473913bebaed151ad4158ee2590a4e4b3e70238b48/rpds_py-0.20.1-cp312-none-win_amd64.whl", hash = "sha256:8bbe951244a838a51289ee53a6bae3a07f26d4e179b96fc7ddd3301caf0518eb", size = 220750, upload-time = "2024-10-31T14:27:46.411Z" }, + { url = "https://files.pythonhosted.org/packages/b5/01/fee2e1d1274c92fff04aa47d805a28d62c2aa971d1f49f5baea1c6e670d9/rpds_py-0.20.1-cp313-cp313-macosx_10_12_x86_64.whl", hash = "sha256:6ca91093a4a8da4afae7fe6a222c3b53ee4eef433ebfee4d54978a103435159e", size = 329359, upload-time = "2024-10-31T14:27:48.866Z" }, + { url = "https://files.pythonhosted.org/packages/b0/cf/4aeffb02b7090029d7aeecbffb9a10e1c80f6f56d7e9a30e15481dc4099c/rpds_py-0.20.1-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:b9c2fe36d1f758b28121bef29ed1dee9b7a2453e997528e7d1ac99b94892527c", size = 320543, upload-time = "2024-10-31T14:27:51.354Z" }, + { url = "https://files.pythonhosted.org/packages/17/69/85cf3429e9ccda684ba63ff36b5866d5f9451e921cc99819341e19880334/rpds_py-0.20.1-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:f009c69bc8c53db5dfab72ac760895dc1f2bc1b62ab7408b253c8d1ec52459fc", size = 363107, upload-time = "2024-10-31T14:27:53.196Z" }, + { url = "https://files.pythonhosted.org/packages/ef/de/7df88dea9c3eeb832196d23b41f0f6fc5f9a2ee9b2080bbb1db8731ead9c/rpds_py-0.20.1-cp313-cp313-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:6740a3e8d43a32629bb9b009017ea5b9e713b7210ba48ac8d4cb6d99d86c8ee8", size = 372027, upload-time = "2024-10-31T14:27:55.244Z" }, + { url = "https://files.pythonhosted.org/packages/d1/b8/88675399d2038580743c570a809c43a900e7090edc6553f8ffb66b23c965/rpds_py-0.20.1-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:32b922e13d4c0080d03e7b62991ad7f5007d9cd74e239c4b16bc85ae8b70252d", size = 405031, upload-time = "2024-10-31T14:27:57.688Z" }, + { url = "https://files.pythonhosted.org/packages/e1/aa/cca639f6d17caf00bab51bdc70fcc0bdda3063e5662665c4fdf60443c474/rpds_py-0.20.1-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:fe00a9057d100e69b4ae4a094203a708d65b0f345ed546fdef86498bf5390982", size = 422271, upload-time = "2024-10-31T14:27:59.526Z" }, + { url = "https://files.pythonhosted.org/packages/c4/07/bf8a949d2ec4626c285579c9d6b356c692325f1a4126e947736b416e1fc4/rpds_py-0.20.1-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:49fe9b04b6fa685bd39237d45fad89ba19e9163a1ccaa16611a812e682913496", size = 363625, upload-time = "2024-10-31T14:28:01.915Z" }, + { url = "https://files.pythonhosted.org/packages/11/f0/06675c6a58d6ce34547879138810eb9aab0c10e5607ea6c2e4dc56b703c8/rpds_py-0.20.1-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:aa7ac11e294304e615b43f8c441fee5d40094275ed7311f3420d805fde9b07b4", size = 385906, upload-time = "2024-10-31T14:28:03.796Z" }, + { url = "https://files.pythonhosted.org/packages/bf/ac/2d1f50374eb8e41030fad4e87f81751e1c39e3b5d4bee8c5618830d8a6ac/rpds_py-0.20.1-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:6aa97af1558a9bef4025f8f5d8c60d712e0a3b13a2fe875511defc6ee77a1ab7", size = 549021, upload-time = "2024-10-31T14:28:05.704Z" }, + { url = "https://files.pythonhosted.org/packages/f7/d4/a7d70a7cc71df772eeadf4bce05e32e780a9fe44a511a5b091c7a85cb767/rpds_py-0.20.1-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:483b29f6f7ffa6af845107d4efe2e3fa8fb2693de8657bc1849f674296ff6a5a", size = 553800, upload-time = "2024-10-31T14:28:07.684Z" }, + { url = "https://files.pythonhosted.org/packages/87/81/dc30bc449ccba63ad23a0f6633486d4e0e6955f45f3715a130dacabd6ad0/rpds_py-0.20.1-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:37fe0f12aebb6a0e3e17bb4cd356b1286d2d18d2e93b2d39fe647138458b4bcb", size = 531076, upload-time = "2024-10-31T14:28:10.545Z" }, + { url = "https://files.pythonhosted.org/packages/50/80/fb62ab48f3b5cfe704ead6ad372da1922ddaa76397055e02eb507054c979/rpds_py-0.20.1-cp313-none-win32.whl", hash = "sha256:a624cc00ef2158e04188df5e3016385b9353638139a06fb77057b3498f794782", size = 202804, upload-time = "2024-10-31T14:28:12.877Z" }, + { url = "https://files.pythonhosted.org/packages/d9/30/a3391e76d0b3313f33bdedd394a519decae3a953d2943e3dabf80ae32447/rpds_py-0.20.1-cp313-none-win_amd64.whl", hash = "sha256:b71b8666eeea69d6363248822078c075bac6ed135faa9216aa85f295ff009b1e", size = 220502, upload-time = "2024-10-31T14:28:14.597Z" }, + { url = "https://files.pythonhosted.org/packages/53/ef/b1883734ea0cd9996de793cdc38c32a28143b04911d1e570090acd8a9162/rpds_py-0.20.1-cp38-cp38-macosx_10_12_x86_64.whl", hash = "sha256:5b48e790e0355865197ad0aca8cde3d8ede347831e1959e158369eb3493d2191", size = 327757, upload-time = "2024-10-31T14:28:16.323Z" }, + { url = "https://files.pythonhosted.org/packages/54/63/47d34dc4ddb3da73e78e10c9009dcf8edc42d355a221351c05c822c2a50b/rpds_py-0.20.1-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:3e310838a5801795207c66c73ea903deda321e6146d6f282e85fa7e3e4854804", size = 318785, upload-time = "2024-10-31T14:28:18.381Z" }, + { url = "https://files.pythonhosted.org/packages/f7/e1/d6323be4afbe3013f28725553b7bfa80b3f013f91678af258f579f8ea8f9/rpds_py-0.20.1-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:2249280b870e6a42c0d972339e9cc22ee98730a99cd7f2f727549af80dd5a963", size = 361511, upload-time = "2024-10-31T14:28:20.292Z" }, + { url = "https://files.pythonhosted.org/packages/ab/d3/c40e4d9ecd571f0f50fe69bc53fe608d7b2c49b30738b480044990260838/rpds_py-0.20.1-cp38-cp38-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:e79059d67bea28b53d255c1437b25391653263f0e69cd7dec170d778fdbca95e", size = 370201, upload-time = "2024-10-31T14:28:22.314Z" }, + { url = "https://files.pythonhosted.org/packages/f1/b6/96a4a9977a8a06c2c49d90aa571346aff1642abf15066a39a0b4817bf049/rpds_py-0.20.1-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:2b431c777c9653e569986ecf69ff4a5dba281cded16043d348bf9ba505486f36", size = 403866, upload-time = "2024-10-31T14:28:24.135Z" }, + { url = "https://files.pythonhosted.org/packages/cd/8f/702b52287949314b498a311f92b5ee0ba30c702a27e0e6b560e2da43b8d5/rpds_py-0.20.1-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:da584ff96ec95e97925174eb8237e32f626e7a1a97888cdd27ee2f1f24dd0ad8", size = 430163, upload-time = "2024-10-31T14:28:26.021Z" }, + { url = "https://files.pythonhosted.org/packages/c4/ce/af016c81fda833bf125b20d1677d816f230cad2ab189f46bcbfea3c7a375/rpds_py-0.20.1-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:02a0629ec053fc013808a85178524e3cb63a61dbc35b22499870194a63578fb9", size = 360776, upload-time = "2024-10-31T14:28:27.852Z" }, + { url = "https://files.pythonhosted.org/packages/08/a7/988e179c9bef55821abe41762228d65077e0570ca75c9efbcd1bc6e263b4/rpds_py-0.20.1-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:fbf15aff64a163db29a91ed0868af181d6f68ec1a3a7d5afcfe4501252840bad", size = 383008, upload-time = "2024-10-31T14:28:30.029Z" }, + { url = "https://files.pythonhosted.org/packages/96/b0/e4077f7f1b9622112ae83254aedfb691490278793299bc06dcf54ec8c8e4/rpds_py-0.20.1-cp38-cp38-musllinux_1_2_aarch64.whl", hash = "sha256:07924c1b938798797d60c6308fa8ad3b3f0201802f82e4a2c41bb3fafb44cc28", size = 546371, upload-time = "2024-10-31T14:28:33.062Z" }, + { url = "https://files.pythonhosted.org/packages/e4/5e/1d4dd08ec0352cfe516ea93ea1993c2f656f893c87dafcd9312bd07f65f7/rpds_py-0.20.1-cp38-cp38-musllinux_1_2_i686.whl", hash = "sha256:4a5a844f68776a7715ecb30843b453f07ac89bad393431efbf7accca3ef599c1", size = 549809, upload-time = "2024-10-31T14:28:35.285Z" }, + { url = "https://files.pythonhosted.org/packages/57/ac/a716b4729ff23ec034b7d2ff76a86e6f0753c4098401bdfdf55b2efe90e6/rpds_py-0.20.1-cp38-cp38-musllinux_1_2_x86_64.whl", hash = "sha256:518d2ca43c358929bf08f9079b617f1c2ca6e8848f83c1225c88caeac46e6cbc", size = 528492, upload-time = "2024-10-31T14:28:37.516Z" }, + { url = "https://files.pythonhosted.org/packages/e0/ed/a0b58a9ecef79918169eacdabd14eb4c5c86ce71184ed56b80c6eb425828/rpds_py-0.20.1-cp38-none-win32.whl", hash = "sha256:3aea7eed3e55119635a74bbeb80b35e776bafccb70d97e8ff838816c124539f1", size = 200512, upload-time = "2024-10-31T14:28:39.484Z" }, + { url = "https://files.pythonhosted.org/packages/5f/c3/222e25124283afc76c473fcd2c547e82ec57683fa31cb4d6c6eb44e5d57a/rpds_py-0.20.1-cp38-none-win_amd64.whl", hash = "sha256:7dca7081e9a0c3b6490a145593f6fe3173a94197f2cb9891183ef75e9d64c425", size = 218627, upload-time = "2024-10-31T14:28:41.479Z" }, + { url = "https://files.pythonhosted.org/packages/d6/87/e7e0fcbfdc0d0e261534bcc885f6ae6253095b972e32f8b8b1278c78a2a9/rpds_py-0.20.1-cp39-cp39-macosx_10_12_x86_64.whl", hash = "sha256:b41b6321805c472f66990c2849e152aff7bc359eb92f781e3f606609eac877ad", size = 327867, upload-time = "2024-10-31T14:28:44.167Z" }, + { url = "https://files.pythonhosted.org/packages/93/a0/17836b7961fc82586e9b818abdee2a27e2e605a602bb8c0d43f02092f8c2/rpds_py-0.20.1-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:0a90c373ea2975519b58dece25853dbcb9779b05cc46b4819cb1917e3b3215b6", size = 318893, upload-time = "2024-10-31T14:28:46.753Z" }, + { url = "https://files.pythonhosted.org/packages/dc/03/deb81d8ea3a8b974e7b03cfe8c8c26616ef8f4980dd430d8dd0a2f1b4d8e/rpds_py-0.20.1-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:16d4477bcb9fbbd7b5b0e4a5d9b493e42026c0bf1f06f723a9353f5153e75d30", size = 361664, upload-time = "2024-10-31T14:28:49.782Z" }, + { url = "https://files.pythonhosted.org/packages/16/49/d9938603731745c7b6babff97ca61ff3eb4619e7128b5ab0111ad4e91d6d/rpds_py-0.20.1-cp39-cp39-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:84b8382a90539910b53a6307f7c35697bc7e6ffb25d9c1d4e998a13e842a5e83", size = 369796, upload-time = "2024-10-31T14:28:52.263Z" }, + { url = "https://files.pythonhosted.org/packages/87/d2/480b36c69cdc373853401b6aab6a281cf60f6d72b1545d82c0d23d9dd77c/rpds_py-0.20.1-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:4888e117dd41b9d34194d9e31631af70d3d526efc363085e3089ab1a62c32ed1", size = 403860, upload-time = "2024-10-31T14:28:54.388Z" }, + { url = "https://files.pythonhosted.org/packages/31/7c/f6d909cb57761293308dbef14f1663d84376f2e231892a10aafc57b42037/rpds_py-0.20.1-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:5265505b3d61a0f56618c9b941dc54dc334dc6e660f1592d112cd103d914a6db", size = 430793, upload-time = "2024-10-31T14:28:56.811Z" }, + { url = "https://files.pythonhosted.org/packages/d4/62/c9bd294c4b5f84d9cc2c387b548ae53096ad7e71ac5b02b6310e9dc85aa4/rpds_py-0.20.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:e75ba609dba23f2c95b776efb9dd3f0b78a76a151e96f96cc5b6b1b0004de66f", size = 360927, upload-time = "2024-10-31T14:28:58.868Z" }, + { url = "https://files.pythonhosted.org/packages/c1/a7/15d927d83a44da8307a432b1cac06284b6657706d099a98cc99fec34ad51/rpds_py-0.20.1-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:1791ff70bc975b098fe6ecf04356a10e9e2bd7dc21fa7351c1742fdeb9b4966f", size = 382660, upload-time = "2024-10-31T14:29:01.261Z" }, + { url = "https://files.pythonhosted.org/packages/4c/28/0630719c18456238bb07d59c4302fed50a13aa8035ec23dbfa80d116f9bc/rpds_py-0.20.1-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:d126b52e4a473d40232ec2052a8b232270ed1f8c9571aaf33f73a14cc298c24f", size = 546888, upload-time = "2024-10-31T14:29:03.923Z" }, + { url = "https://files.pythonhosted.org/packages/b9/75/3c9bda11b9c15d680b315f898af23825159314d4b56568f24b53ace8afcd/rpds_py-0.20.1-cp39-cp39-musllinux_1_2_i686.whl", hash = "sha256:c14937af98c4cc362a1d4374806204dd51b1e12dded1ae30645c298e5a5c4cb1", size = 550088, upload-time = "2024-10-31T14:29:07.107Z" }, + { url = "https://files.pythonhosted.org/packages/70/f1/8fe7d04c194218171220a412057429defa9e2da785de0777c4d39309337e/rpds_py-0.20.1-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:3d089d0b88996df627693639d123c8158cff41c0651f646cd8fd292c7da90eaf", size = 528270, upload-time = "2024-10-31T14:29:09.933Z" }, + { url = "https://files.pythonhosted.org/packages/d6/62/41b0020f4b00af042b008e679dbe25a2f5bce655139a81f8b812f9068e52/rpds_py-0.20.1-cp39-none-win32.whl", hash = "sha256:653647b8838cf83b2e7e6a0364f49af96deec64d2a6578324db58380cff82aca", size = 200658, upload-time = "2024-10-31T14:29:12.234Z" }, + { url = "https://files.pythonhosted.org/packages/05/01/e64bb8889f2dcc951e53de33d8b8070456397ae4e10edc35e6cb9908f5c8/rpds_py-0.20.1-cp39-none-win_amd64.whl", hash = "sha256:fa41a64ac5b08b292906e248549ab48b69c5428f3987b09689ab2441f267d04d", size = 218883, upload-time = "2024-10-31T14:29:14.846Z" }, + { url = "https://files.pythonhosted.org/packages/b6/fa/7959429e69569d0f6e7d27f80451402da0409349dd2b07f6bcbdd5fad2d3/rpds_py-0.20.1-pp310-pypy310_pp73-macosx_10_12_x86_64.whl", hash = "sha256:7a07ced2b22f0cf0b55a6a510078174c31b6d8544f3bc00c2bcee52b3d613f74", size = 328209, upload-time = "2024-10-31T14:29:17.44Z" }, + { url = "https://files.pythonhosted.org/packages/25/97/5dfdb091c30267ff404d2fd9e70c7a6d6ffc65ca77fffe9456e13b719066/rpds_py-0.20.1-pp310-pypy310_pp73-macosx_11_0_arm64.whl", hash = "sha256:68cb0a499f2c4a088fd2f521453e22ed3527154136a855c62e148b7883b99f9a", size = 319499, upload-time = "2024-10-31T14:29:19.527Z" }, + { url = "https://files.pythonhosted.org/packages/7c/98/cf2608722400f5f9bb4c82aa5ac09026f3ac2ebea9d4059d3533589ed0b6/rpds_py-0.20.1-pp310-pypy310_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:fa3060d885657abc549b2a0f8e1b79699290e5d83845141717c6c90c2df38311", size = 361795, upload-time = "2024-10-31T14:29:22.395Z" }, + { url = "https://files.pythonhosted.org/packages/89/de/0e13dd43c785c60e63933e96fbddda0b019df6862f4d3019bb49c3861131/rpds_py-0.20.1-pp310-pypy310_pp73-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:95f3b65d2392e1c5cec27cff08fdc0080270d5a1a4b2ea1d51d5f4a2620ff08d", size = 370604, upload-time = "2024-10-31T14:29:25.552Z" }, + { url = "https://files.pythonhosted.org/packages/8a/fc/fe3c83c77f82b8059eeec4e998064913d66212b69b3653df48f58ad33d3d/rpds_py-0.20.1-pp310-pypy310_pp73-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:2cc3712a4b0b76a1d45a9302dd2f53ff339614b1c29603a911318f2357b04dd2", size = 404177, upload-time = "2024-10-31T14:29:27.82Z" }, + { url = "https://files.pythonhosted.org/packages/94/30/5189518bfb80a41f664daf32b46645c7fbdcc89028a0f1bfa82e806e0fbb/rpds_py-0.20.1-pp310-pypy310_pp73-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:5d4eea0761e37485c9b81400437adb11c40e13ef513375bbd6973e34100aeb06", size = 430108, upload-time = "2024-10-31T14:29:30.768Z" }, + { url = "https://files.pythonhosted.org/packages/67/0e/6f069feaff5c298375cd8c55e00ecd9bd79c792ce0893d39448dc0097857/rpds_py-0.20.1-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:7f5179583d7a6cdb981151dd349786cbc318bab54963a192692d945dd3f6435d", size = 361184, upload-time = "2024-10-31T14:29:32.993Z" }, + { url = "https://files.pythonhosted.org/packages/27/9f/ce3e2ae36f392c3ef1988c06e9e0b4c74f64267dad7c223003c34da11adb/rpds_py-0.20.1-pp310-pypy310_pp73-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:2fbb0ffc754490aff6dabbf28064be47f0f9ca0b9755976f945214965b3ace7e", size = 384140, upload-time = "2024-10-31T14:29:35.356Z" }, + { url = "https://files.pythonhosted.org/packages/5f/d5/89d44504d0bc7a1135062cb520a17903ff002f458371b8d9160af3b71e52/rpds_py-0.20.1-pp310-pypy310_pp73-musllinux_1_2_aarch64.whl", hash = "sha256:a94e52537a0e0a85429eda9e49f272ada715506d3b2431f64b8a3e34eb5f3e75", size = 546589, upload-time = "2024-10-31T14:29:37.711Z" }, + { url = "https://files.pythonhosted.org/packages/8f/8f/e1c2db4fcca3947d9a28ec9553700b4dc8038f0eff575f579e75885b0661/rpds_py-0.20.1-pp310-pypy310_pp73-musllinux_1_2_i686.whl", hash = "sha256:92b68b79c0da2a980b1c4197e56ac3dd0c8a149b4603747c4378914a68706979", size = 550059, upload-time = "2024-10-31T14:29:40.342Z" }, + { url = "https://files.pythonhosted.org/packages/67/29/00a9e986df36721b5def82fff60995c1ee8827a7d909a6ec8929fb4cc668/rpds_py-0.20.1-pp310-pypy310_pp73-musllinux_1_2_x86_64.whl", hash = "sha256:93da1d3db08a827eda74356f9f58884adb254e59b6664f64cc04cdff2cc19b0d", size = 529131, upload-time = "2024-10-31T14:29:42.993Z" }, + { url = "https://files.pythonhosted.org/packages/a3/32/95364440560ec476b19c6a2704259e710c223bf767632ebaa72cc2a1760f/rpds_py-0.20.1-pp310-pypy310_pp73-win_amd64.whl", hash = "sha256:754bbed1a4ca48479e9d4182a561d001bbf81543876cdded6f695ec3d465846b", size = 219677, upload-time = "2024-10-31T14:29:45.332Z" }, + { url = "https://files.pythonhosted.org/packages/ed/bf/ad8492e972c90a3d48a38e2b5095c51a8399d5b57e83f2d5d1649490f72b/rpds_py-0.20.1-pp39-pypy39_pp73-macosx_10_12_x86_64.whl", hash = "sha256:ca449520e7484534a2a44faf629362cae62b660601432d04c482283c47eaebab", size = 328046, upload-time = "2024-10-31T14:29:48.968Z" }, + { url = "https://files.pythonhosted.org/packages/75/fd/84f42386165d6d555acb76c6d39c90b10c9dcf25116daf4f48a0a9d6867a/rpds_py-0.20.1-pp39-pypy39_pp73-macosx_11_0_arm64.whl", hash = "sha256:9c4cb04a16b0f199a8c9bf807269b2f63b7b5b11425e4a6bd44bd6961d28282c", size = 319306, upload-time = "2024-10-31T14:29:51.212Z" }, + { url = "https://files.pythonhosted.org/packages/6c/8a/abcd5119a0573f9588ad71a3fde3c07ddd1d1393cfee15a6ba7495c256f1/rpds_py-0.20.1-pp39-pypy39_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:bb63804105143c7e24cee7db89e37cb3f3941f8e80c4379a0b355c52a52b6780", size = 362558, upload-time = "2024-10-31T14:29:53.551Z" }, + { url = "https://files.pythonhosted.org/packages/9d/65/1c2bb10afd4bd32800227a658ae9097bc1d08a4e5048a57a9bd2efdf6306/rpds_py-0.20.1-pp39-pypy39_pp73-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:55cd1fa4ecfa6d9f14fbd97ac24803e6f73e897c738f771a9fe038f2f11ff07c", size = 370811, upload-time = "2024-10-31T14:29:56.672Z" }, + { url = "https://files.pythonhosted.org/packages/6c/ee/f4bab2b9e51ced30351cfd210647885391463ae682028c79760e7db28e4e/rpds_py-0.20.1-pp39-pypy39_pp73-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:0f8f741b6292c86059ed175d80eefa80997125b7c478fb8769fd9ac8943a16c0", size = 404660, upload-time = "2024-10-31T14:29:59.276Z" }, + { url = "https://files.pythonhosted.org/packages/48/0f/9d04d0939682f0c97be827fc51ff986555ffb573e6781bd5132441f0ce25/rpds_py-0.20.1-pp39-pypy39_pp73-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:0fc212779bf8411667234b3cdd34d53de6c2b8b8b958e1e12cb473a5f367c338", size = 430490, upload-time = "2024-10-31T14:30:01.543Z" }, + { url = "https://files.pythonhosted.org/packages/0d/f2/e9b90fd8416d59941b6a12f2c2e1d898b63fd092f5a7a6f98236cb865764/rpds_py-0.20.1-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:0ad56edabcdb428c2e33bbf24f255fe2b43253b7d13a2cdbf05de955217313e6", size = 361448, upload-time = "2024-10-31T14:30:04.294Z" }, + { url = "https://files.pythonhosted.org/packages/0b/83/1cc776dce7bedb17d6f4ea62eafccee8a57a4678f4fac414ab69fb9b6b0b/rpds_py-0.20.1-pp39-pypy39_pp73-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:0a3a1e9ee9728b2c1734f65d6a1d376c6f2f6fdcc13bb007a08cc4b1ff576dc5", size = 383681, upload-time = "2024-10-31T14:30:07.717Z" }, + { url = "https://files.pythonhosted.org/packages/17/5c/e0cdd6b0a8373fdef3667af2778dd9ff3abf1bbb9c7bd92c603c91440eb0/rpds_py-0.20.1-pp39-pypy39_pp73-musllinux_1_2_aarch64.whl", hash = "sha256:e13de156137b7095442b288e72f33503a469aa1980ed856b43c353ac86390519", size = 546203, upload-time = "2024-10-31T14:30:10.156Z" }, + { url = "https://files.pythonhosted.org/packages/1b/a8/81fc9cbc01e7ef6d10652aedc1de4e8473934773e2808ba49094e03575df/rpds_py-0.20.1-pp39-pypy39_pp73-musllinux_1_2_i686.whl", hash = "sha256:07f59760ef99f31422c49038964b31c4dfcfeb5d2384ebfc71058a7c9adae2d2", size = 549855, upload-time = "2024-10-31T14:30:13.691Z" }, + { url = "https://files.pythonhosted.org/packages/b3/87/99648693d3c1bbce088119bc61ecaab62e5f9c713894edc604ffeca5ae88/rpds_py-0.20.1-pp39-pypy39_pp73-musllinux_1_2_x86_64.whl", hash = "sha256:59240685e7da61fb78f65a9f07f8108e36a83317c53f7b276b4175dc44151684", size = 528625, upload-time = "2024-10-31T14:30:16.191Z" }, + { url = "https://files.pythonhosted.org/packages/05/c3/10c68a08849f1fa45d205e54141fa75d316013e3d701ef01770ee1220bb8/rpds_py-0.20.1-pp39-pypy39_pp73-win_amd64.whl", hash = "sha256:83cba698cfb3c2c5a7c3c6bac12fe6c6a51aae69513726be6411076185a8b24a", size = 219991, upload-time = "2024-10-31T14:30:18.49Z" }, ] [[package]] @@ -4475,110 +4475,110 @@ resolution-markers = [ "python_full_version == '3.9.*' and platform_machine == 'aarch64' and sys_platform == 'linux'", "(python_full_version == '3.9.*' and platform_machine != 'arm64' and sys_platform == 'darwin') or (python_full_version == '3.9.*' and platform_machine != 'aarch64' and sys_platform == 'linux') or (python_full_version == '3.9.*' and sys_platform != 'darwin' and sys_platform != 'linux')", ] -sdist = { url = "https://files.pythonhosted.org/packages/01/80/cce854d0921ff2f0a9fa831ba3ad3c65cee3a46711addf39a2af52df2cfd/rpds_py-0.22.3.tar.gz", hash = "sha256:e32fee8ab45d3c2db6da19a5323bc3362237c8b653c70194414b892fd06a080d", size = 26771 } -wheels = [ - { url = "https://files.pythonhosted.org/packages/42/2a/ead1d09e57449b99dcc190d8d2323e3a167421d8f8fdf0f217c6f6befe47/rpds_py-0.22.3-cp310-cp310-macosx_10_12_x86_64.whl", hash = "sha256:6c7b99ca52c2c1752b544e310101b98a659b720b21db00e65edca34483259967", size = 359514 }, - { url = "https://files.pythonhosted.org/packages/8f/7e/1254f406b7793b586c68e217a6a24ec79040f85e030fff7e9049069284f4/rpds_py-0.22.3-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:be2eb3f2495ba669d2a985f9b426c1797b7d48d6963899276d22f23e33d47e37", size = 349031 }, - { url = "https://files.pythonhosted.org/packages/aa/da/17c6a2c73730d426df53675ff9cc6653ac7a60b6438d03c18e1c822a576a/rpds_py-0.22.3-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:70eb60b3ae9245ddea20f8a4190bd79c705a22f8028aaf8bbdebe4716c3fab24", size = 381485 }, - { url = "https://files.pythonhosted.org/packages/aa/13/2dbacd820466aa2a3c4b747afb18d71209523d353cf865bf8f4796c969ea/rpds_py-0.22.3-cp310-cp310-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:4041711832360a9b75cfb11b25a6a97c8fb49c07b8bd43d0d02b45d0b499a4ff", size = 386794 }, - { url = "https://files.pythonhosted.org/packages/6d/62/96905d0a35ad4e4bc3c098b2f34b2e7266e211d08635baa690643d2227be/rpds_py-0.22.3-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:64607d4cbf1b7e3c3c8a14948b99345eda0e161b852e122c6bb71aab6d1d798c", size = 423523 }, - { url = "https://files.pythonhosted.org/packages/eb/1b/d12770f2b6a9fc2c3ec0d810d7d440f6d465ccd8b7f16ae5385952c28b89/rpds_py-0.22.3-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:81e69b0a0e2537f26d73b4e43ad7bc8c8efb39621639b4434b76a3de50c6966e", size = 446695 }, - { url = "https://files.pythonhosted.org/packages/4d/cf/96f1fd75512a017f8e07408b6d5dbeb492d9ed46bfe0555544294f3681b3/rpds_py-0.22.3-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:bc27863442d388870c1809a87507727b799c8460573cfbb6dc0eeaef5a11b5ec", size = 381959 }, - { url = "https://files.pythonhosted.org/packages/ab/f0/d1c5b501c8aea85aeb938b555bfdf7612110a2f8cdc21ae0482c93dd0c24/rpds_py-0.22.3-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:e79dd39f1e8c3504be0607e5fc6e86bb60fe3584bec8b782578c3b0fde8d932c", size = 410420 }, - { url = "https://files.pythonhosted.org/packages/33/3b/45b6c58fb6aad5a569ae40fb890fc494c6b02203505a5008ee6dc68e65f7/rpds_py-0.22.3-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:e0fa2d4ec53dc51cf7d3bb22e0aa0143966119f42a0c3e4998293a3dd2856b09", size = 557620 }, - { url = "https://files.pythonhosted.org/packages/83/62/3fdd2d3d47bf0bb9b931c4c73036b4ab3ec77b25e016ae26fab0f02be2af/rpds_py-0.22.3-cp310-cp310-musllinux_1_2_i686.whl", hash = "sha256:fda7cb070f442bf80b642cd56483b5548e43d366fe3f39b98e67cce780cded00", size = 584202 }, - { url = "https://files.pythonhosted.org/packages/04/f2/5dced98b64874b84ca824292f9cee2e3f30f3bcf231d15a903126684f74d/rpds_py-0.22.3-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:cff63a0272fcd259dcc3be1657b07c929c466b067ceb1c20060e8d10af56f5bf", size = 552787 }, - { url = "https://files.pythonhosted.org/packages/67/13/2273dea1204eda0aea0ef55145da96a9aa28b3f88bb5c70e994f69eda7c3/rpds_py-0.22.3-cp310-cp310-win32.whl", hash = "sha256:9bd7228827ec7bb817089e2eb301d907c0d9827a9e558f22f762bb690b131652", size = 220088 }, - { url = "https://files.pythonhosted.org/packages/4e/80/8c8176b67ad7f4a894967a7a4014ba039626d96f1d4874d53e409b58d69f/rpds_py-0.22.3-cp310-cp310-win_amd64.whl", hash = "sha256:9beeb01d8c190d7581a4d59522cd3d4b6887040dcfc744af99aa59fef3e041a8", size = 231737 }, - { url = "https://files.pythonhosted.org/packages/15/ad/8d1ddf78f2805a71253fcd388017e7b4a0615c22c762b6d35301fef20106/rpds_py-0.22.3-cp311-cp311-macosx_10_12_x86_64.whl", hash = "sha256:d20cfb4e099748ea39e6f7b16c91ab057989712d31761d3300d43134e26e165f", size = 359773 }, - { url = "https://files.pythonhosted.org/packages/c8/75/68c15732293a8485d79fe4ebe9045525502a067865fa4278f178851b2d87/rpds_py-0.22.3-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:68049202f67380ff9aa52f12e92b1c30115f32e6895cd7198fa2a7961621fc5a", size = 349214 }, - { url = "https://files.pythonhosted.org/packages/3c/4c/7ce50f3070083c2e1b2bbd0fb7046f3da55f510d19e283222f8f33d7d5f4/rpds_py-0.22.3-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:fb4f868f712b2dd4bcc538b0a0c1f63a2b1d584c925e69a224d759e7070a12d5", size = 380477 }, - { url = "https://files.pythonhosted.org/packages/9a/e9/835196a69cb229d5c31c13b8ae603bd2da9a6695f35fe4270d398e1db44c/rpds_py-0.22.3-cp311-cp311-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:bc51abd01f08117283c5ebf64844a35144a0843ff7b2983e0648e4d3d9f10dbb", size = 386171 }, - { url = "https://files.pythonhosted.org/packages/f9/8e/33fc4eba6683db71e91e6d594a2cf3a8fbceb5316629f0477f7ece5e3f75/rpds_py-0.22.3-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:0f3cec041684de9a4684b1572fe28c7267410e02450f4561700ca5a3bc6695a2", size = 422676 }, - { url = "https://files.pythonhosted.org/packages/37/47/2e82d58f8046a98bb9497a8319604c92b827b94d558df30877c4b3c6ccb3/rpds_py-0.22.3-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:7ef9d9da710be50ff6809fed8f1963fecdfecc8b86656cadfca3bc24289414b0", size = 446152 }, - { url = "https://files.pythonhosted.org/packages/e1/78/79c128c3e71abbc8e9739ac27af11dc0f91840a86fce67ff83c65d1ba195/rpds_py-0.22.3-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:59f4a79c19232a5774aee369a0c296712ad0e77f24e62cad53160312b1c1eaa1", size = 381300 }, - { url = "https://files.pythonhosted.org/packages/c9/5b/2e193be0e8b228c1207f31fa3ea79de64dadb4f6a4833111af8145a6bc33/rpds_py-0.22.3-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:1a60bce91f81ddaac922a40bbb571a12c1070cb20ebd6d49c48e0b101d87300d", size = 409636 }, - { url = "https://files.pythonhosted.org/packages/c2/3f/687c7100b762d62186a1c1100ffdf99825f6fa5ea94556844bbbd2d0f3a9/rpds_py-0.22.3-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:e89391e6d60251560f0a8f4bd32137b077a80d9b7dbe6d5cab1cd80d2746f648", size = 556708 }, - { url = "https://files.pythonhosted.org/packages/8c/a2/c00cbc4b857e8b3d5e7f7fc4c81e23afd8c138b930f4f3ccf9a41a23e9e4/rpds_py-0.22.3-cp311-cp311-musllinux_1_2_i686.whl", hash = "sha256:e3fb866d9932a3d7d0c82da76d816996d1667c44891bd861a0f97ba27e84fc74", size = 583554 }, - { url = "https://files.pythonhosted.org/packages/d0/08/696c9872cf56effdad9ed617ac072f6774a898d46b8b8964eab39ec562d2/rpds_py-0.22.3-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:1352ae4f7c717ae8cba93421a63373e582d19d55d2ee2cbb184344c82d2ae55a", size = 552105 }, - { url = "https://files.pythonhosted.org/packages/18/1f/4df560be1e994f5adf56cabd6c117e02de7c88ee238bb4ce03ed50da9d56/rpds_py-0.22.3-cp311-cp311-win32.whl", hash = "sha256:b0b4136a252cadfa1adb705bb81524eee47d9f6aab4f2ee4fa1e9d3cd4581f64", size = 220199 }, - { url = "https://files.pythonhosted.org/packages/b8/1b/c29b570bc5db8237553002788dc734d6bd71443a2ceac2a58202ec06ef12/rpds_py-0.22.3-cp311-cp311-win_amd64.whl", hash = "sha256:8bd7c8cfc0b8247c8799080fbff54e0b9619e17cdfeb0478ba7295d43f635d7c", size = 231775 }, - { url = "https://files.pythonhosted.org/packages/75/47/3383ee3bd787a2a5e65a9b9edc37ccf8505c0a00170e3a5e6ea5fbcd97f7/rpds_py-0.22.3-cp312-cp312-macosx_10_12_x86_64.whl", hash = "sha256:27e98004595899949bd7a7b34e91fa7c44d7a97c40fcaf1d874168bb652ec67e", size = 352334 }, - { url = "https://files.pythonhosted.org/packages/40/14/aa6400fa8158b90a5a250a77f2077c0d0cd8a76fce31d9f2b289f04c6dec/rpds_py-0.22.3-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:1978d0021e943aae58b9b0b196fb4895a25cc53d3956b8e35e0b7682eefb6d56", size = 342111 }, - { url = "https://files.pythonhosted.org/packages/7d/06/395a13bfaa8a28b302fb433fb285a67ce0ea2004959a027aea8f9c52bad4/rpds_py-0.22.3-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:655ca44a831ecb238d124e0402d98f6212ac527a0ba6c55ca26f616604e60a45", size = 384286 }, - { url = "https://files.pythonhosted.org/packages/43/52/d8eeaffab047e6b7b7ef7f00d5ead074a07973968ffa2d5820fa131d7852/rpds_py-0.22.3-cp312-cp312-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:feea821ee2a9273771bae61194004ee2fc33f8ec7db08117ef9147d4bbcbca8e", size = 391739 }, - { url = "https://files.pythonhosted.org/packages/83/31/52dc4bde85c60b63719610ed6f6d61877effdb5113a72007679b786377b8/rpds_py-0.22.3-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:22bebe05a9ffc70ebfa127efbc429bc26ec9e9b4ee4d15a740033efda515cf3d", size = 427306 }, - { url = "https://files.pythonhosted.org/packages/70/d5/1bab8e389c2261dba1764e9e793ed6830a63f830fdbec581a242c7c46bda/rpds_py-0.22.3-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:3af6e48651c4e0d2d166dc1b033b7042ea3f871504b6805ba5f4fe31581d8d38", size = 442717 }, - { url = "https://files.pythonhosted.org/packages/82/a1/a45f3e30835b553379b3a56ea6c4eb622cf11e72008229af840e4596a8ea/rpds_py-0.22.3-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:e67ba3c290821343c192f7eae1d8fd5999ca2dc99994114643e2f2d3e6138b15", size = 385721 }, - { url = "https://files.pythonhosted.org/packages/a6/27/780c942de3120bdd4d0e69583f9c96e179dfff082f6ecbb46b8d6488841f/rpds_py-0.22.3-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:02fbb9c288ae08bcb34fb41d516d5eeb0455ac35b5512d03181d755d80810059", size = 415824 }, - { url = "https://files.pythonhosted.org/packages/94/0b/aa0542ca88ad20ea719b06520f925bae348ea5c1fdf201b7e7202d20871d/rpds_py-0.22.3-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:f56a6b404f74ab372da986d240e2e002769a7d7102cc73eb238a4f72eec5284e", size = 561227 }, - { url = "https://files.pythonhosted.org/packages/0d/92/3ed77d215f82c8f844d7f98929d56cc321bb0bcfaf8f166559b8ec56e5f1/rpds_py-0.22.3-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:0a0461200769ab3b9ab7e513f6013b7a97fdeee41c29b9db343f3c5a8e2b9e61", size = 587424 }, - { url = "https://files.pythonhosted.org/packages/09/42/cacaeb047a22cab6241f107644f230e2935d4efecf6488859a7dd82fc47d/rpds_py-0.22.3-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:8633e471c6207a039eff6aa116e35f69f3156b3989ea3e2d755f7bc41754a4a7", size = 555953 }, - { url = "https://files.pythonhosted.org/packages/e6/52/c921dc6d5f5d45b212a456c1f5b17df1a471127e8037eb0972379e39dff4/rpds_py-0.22.3-cp312-cp312-win32.whl", hash = "sha256:593eba61ba0c3baae5bc9be2f5232430453fb4432048de28399ca7376de9c627", size = 221339 }, - { url = "https://files.pythonhosted.org/packages/f2/c7/f82b5be1e8456600395366f86104d1bd8d0faed3802ad511ef6d60c30d98/rpds_py-0.22.3-cp312-cp312-win_amd64.whl", hash = "sha256:d115bffdd417c6d806ea9069237a4ae02f513b778e3789a359bc5856e0404cc4", size = 235786 }, - { url = "https://files.pythonhosted.org/packages/d0/bf/36d5cc1f2c609ae6e8bf0fc35949355ca9d8790eceb66e6385680c951e60/rpds_py-0.22.3-cp313-cp313-macosx_10_12_x86_64.whl", hash = "sha256:ea7433ce7e4bfc3a85654aeb6747babe3f66eaf9a1d0c1e7a4435bbdf27fea84", size = 351657 }, - { url = "https://files.pythonhosted.org/packages/24/2a/f1e0fa124e300c26ea9382e59b2d582cba71cedd340f32d1447f4f29fa4e/rpds_py-0.22.3-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:6dd9412824c4ce1aca56c47b0991e65bebb7ac3f4edccfd3f156150c96a7bf25", size = 341829 }, - { url = "https://files.pythonhosted.org/packages/cf/c2/0da1231dd16953845bed60d1a586fcd6b15ceaeb965f4d35cdc71f70f606/rpds_py-0.22.3-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:20070c65396f7373f5df4005862fa162db5d25d56150bddd0b3e8214e8ef45b4", size = 384220 }, - { url = "https://files.pythonhosted.org/packages/c7/73/a4407f4e3a00a9d4b68c532bf2d873d6b562854a8eaff8faa6133b3588ec/rpds_py-0.22.3-cp313-cp313-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:0b09865a9abc0ddff4e50b5ef65467cd94176bf1e0004184eb915cbc10fc05c5", size = 391009 }, - { url = "https://files.pythonhosted.org/packages/a9/c3/04b7353477ab360fe2563f5f0b176d2105982f97cd9ae80a9c5a18f1ae0f/rpds_py-0.22.3-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:3453e8d41fe5f17d1f8e9c383a7473cd46a63661628ec58e07777c2fff7196dc", size = 426989 }, - { url = "https://files.pythonhosted.org/packages/8d/e6/e4b85b722bcf11398e17d59c0f6049d19cd606d35363221951e6d625fcb0/rpds_py-0.22.3-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:f5d36399a1b96e1a5fdc91e0522544580dbebeb1f77f27b2b0ab25559e103b8b", size = 441544 }, - { url = "https://files.pythonhosted.org/packages/27/fc/403e65e56f65fff25f2973216974976d3f0a5c3f30e53758589b6dc9b79b/rpds_py-0.22.3-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:009de23c9c9ee54bf11303a966edf4d9087cd43a6003672e6aa7def643d06518", size = 385179 }, - { url = "https://files.pythonhosted.org/packages/57/9b/2be9ff9700d664d51fd96b33d6595791c496d2778cb0b2a634f048437a55/rpds_py-0.22.3-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:1aef18820ef3e4587ebe8b3bc9ba6e55892a6d7b93bac6d29d9f631a3b4befbd", size = 415103 }, - { url = "https://files.pythonhosted.org/packages/bb/a5/03c2ad8ca10994fcf22dd2150dd1d653bc974fa82d9a590494c84c10c641/rpds_py-0.22.3-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:f60bd8423be1d9d833f230fdbccf8f57af322d96bcad6599e5a771b151398eb2", size = 560916 }, - { url = "https://files.pythonhosted.org/packages/ba/2e/be4fdfc8b5b576e588782b56978c5b702c5a2307024120d8aeec1ab818f0/rpds_py-0.22.3-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:62d9cfcf4948683a18a9aff0ab7e1474d407b7bab2ca03116109f8464698ab16", size = 587062 }, - { url = "https://files.pythonhosted.org/packages/67/e0/2034c221937709bf9c542603d25ad43a68b4b0a9a0c0b06a742f2756eb66/rpds_py-0.22.3-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:9253fc214112405f0afa7db88739294295f0e08466987f1d70e29930262b4c8f", size = 555734 }, - { url = "https://files.pythonhosted.org/packages/ea/ce/240bae07b5401a22482b58e18cfbabaa392409b2797da60223cca10d7367/rpds_py-0.22.3-cp313-cp313-win32.whl", hash = "sha256:fb0ba113b4983beac1a2eb16faffd76cb41e176bf58c4afe3e14b9c681f702de", size = 220663 }, - { url = "https://files.pythonhosted.org/packages/cb/f0/d330d08f51126330467edae2fa4efa5cec8923c87551a79299380fdea30d/rpds_py-0.22.3-cp313-cp313-win_amd64.whl", hash = "sha256:c58e2339def52ef6b71b8f36d13c3688ea23fa093353f3a4fee2556e62086ec9", size = 235503 }, - { url = "https://files.pythonhosted.org/packages/f7/c4/dbe1cc03df013bf2feb5ad00615038050e7859f381e96fb5b7b4572cd814/rpds_py-0.22.3-cp313-cp313t-macosx_10_12_x86_64.whl", hash = "sha256:f82a116a1d03628a8ace4859556fb39fd1424c933341a08ea3ed6de1edb0283b", size = 347698 }, - { url = "https://files.pythonhosted.org/packages/a4/3a/684f66dd6b0f37499cad24cd1c0e523541fd768576fa5ce2d0a8799c3cba/rpds_py-0.22.3-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:3dfcbc95bd7992b16f3f7ba05af8a64ca694331bd24f9157b49dadeeb287493b", size = 337330 }, - { url = "https://files.pythonhosted.org/packages/82/eb/e022c08c2ce2e8f7683baa313476492c0e2c1ca97227fe8a75d9f0181e95/rpds_py-0.22.3-cp313-cp313t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:59259dc58e57b10e7e18ce02c311804c10c5a793e6568f8af4dead03264584d1", size = 380022 }, - { url = "https://files.pythonhosted.org/packages/e4/21/5a80e653e4c86aeb28eb4fea4add1f72e1787a3299687a9187105c3ee966/rpds_py-0.22.3-cp313-cp313t-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:5725dd9cc02068996d4438d397e255dcb1df776b7ceea3b9cb972bdb11260a83", size = 390754 }, - { url = "https://files.pythonhosted.org/packages/37/a4/d320a04ae90f72d080b3d74597074e62be0a8ecad7d7321312dfe2dc5a6a/rpds_py-0.22.3-cp313-cp313t-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:99b37292234e61325e7a5bb9689e55e48c3f5f603af88b1642666277a81f1fbd", size = 423840 }, - { url = "https://files.pythonhosted.org/packages/87/70/674dc47d93db30a6624279284e5631be4c3a12a0340e8e4f349153546728/rpds_py-0.22.3-cp313-cp313t-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:27b1d3b3915a99208fee9ab092b8184c420f2905b7d7feb4aeb5e4a9c509b8a1", size = 438970 }, - { url = "https://files.pythonhosted.org/packages/3f/64/9500f4d66601d55cadd21e90784cfd5d5f4560e129d72e4339823129171c/rpds_py-0.22.3-cp313-cp313t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f612463ac081803f243ff13cccc648578e2279295048f2a8d5eb430af2bae6e3", size = 383146 }, - { url = "https://files.pythonhosted.org/packages/4d/45/630327addb1d17173adcf4af01336fd0ee030c04798027dfcb50106001e0/rpds_py-0.22.3-cp313-cp313t-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:f73d3fef726b3243a811121de45193c0ca75f6407fe66f3f4e183c983573e130", size = 408294 }, - { url = "https://files.pythonhosted.org/packages/5f/ef/8efb3373cee54ea9d9980b772e5690a0c9e9214045a4e7fa35046e399fee/rpds_py-0.22.3-cp313-cp313t-musllinux_1_2_aarch64.whl", hash = "sha256:3f21f0495edea7fdbaaa87e633a8689cd285f8f4af5c869f27bc8074638ad69c", size = 556345 }, - { url = "https://files.pythonhosted.org/packages/54/01/151d3b9ef4925fc8f15bfb131086c12ec3c3d6dd4a4f7589c335bf8e85ba/rpds_py-0.22.3-cp313-cp313t-musllinux_1_2_i686.whl", hash = "sha256:1e9663daaf7a63ceccbbb8e3808fe90415b0757e2abddbfc2e06c857bf8c5e2b", size = 582292 }, - { url = "https://files.pythonhosted.org/packages/30/89/35fc7a6cdf3477d441c7aca5e9bbf5a14e0f25152aed7f63f4e0b141045d/rpds_py-0.22.3-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:a76e42402542b1fae59798fab64432b2d015ab9d0c8c47ba7addddbaf7952333", size = 553855 }, - { url = "https://files.pythonhosted.org/packages/8f/e0/830c02b2457c4bd20a8c5bb394d31d81f57fbefce2dbdd2e31feff4f7003/rpds_py-0.22.3-cp313-cp313t-win32.whl", hash = "sha256:69803198097467ee7282750acb507fba35ca22cc3b85f16cf45fb01cb9097730", size = 219100 }, - { url = "https://files.pythonhosted.org/packages/f8/30/7ac943f69855c2db77407ae363484b915d861702dbba1aa82d68d57f42be/rpds_py-0.22.3-cp313-cp313t-win_amd64.whl", hash = "sha256:f5cf2a0c2bdadf3791b5c205d55a37a54025c6e18a71c71f82bb536cf9a454bf", size = 233794 }, - { url = "https://files.pythonhosted.org/packages/db/0f/a8ad17ddac7c880f48d5da50733dd25bfc35ba2be1bec9f23453e8c7a123/rpds_py-0.22.3-cp39-cp39-macosx_10_12_x86_64.whl", hash = "sha256:378753b4a4de2a7b34063d6f95ae81bfa7b15f2c1a04a9518e8644e81807ebea", size = 359735 }, - { url = "https://files.pythonhosted.org/packages/0c/41/430903669397ea3ee76865e0b53ea236e8dc0ffbecde47b2c4c783ad6759/rpds_py-0.22.3-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:3445e07bf2e8ecfeef6ef67ac83de670358abf2996916039b16a218e3d95e97e", size = 348724 }, - { url = "https://files.pythonhosted.org/packages/c9/5c/3496f4f0ee818297544f2d5f641c49dde8ae156392e6834b79c0609ba006/rpds_py-0.22.3-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:7b2513ba235829860b13faa931f3b6846548021846ac808455301c23a101689d", size = 381782 }, - { url = "https://files.pythonhosted.org/packages/b6/dc/db0523ce0cd16ce579185cc9aa9141992de956d0a9c469ecfd1fb5d54ddc/rpds_py-0.22.3-cp39-cp39-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:eaf16ae9ae519a0e237a0f528fd9f0197b9bb70f40263ee57ae53c2b8d48aeb3", size = 387036 }, - { url = "https://files.pythonhosted.org/packages/85/2a/9525c2427d2c257f877348918136a5d4e1b945c205a256e53bec61e54551/rpds_py-0.22.3-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:583f6a1993ca3369e0f80ba99d796d8e6b1a3a2a442dd4e1a79e652116413091", size = 424566 }, - { url = "https://files.pythonhosted.org/packages/b9/1c/f8c012a39794b84069635709f559c0309103d5d74b3f5013916e6ca4f174/rpds_py-0.22.3-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:4617e1915a539a0d9a9567795023de41a87106522ff83fbfaf1f6baf8e85437e", size = 447203 }, - { url = "https://files.pythonhosted.org/packages/93/f5/c1c772364570d35b98ba64f36ec90c3c6d0b932bc4d8b9b4efef6dc64b07/rpds_py-0.22.3-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:0c150c7a61ed4a4f4955a96626574e9baf1adf772c2fb61ef6a5027e52803543", size = 382283 }, - { url = "https://files.pythonhosted.org/packages/10/06/f94f61313f94fc75c3c3aa74563f80bbd990e5b25a7c1a38cee7d5d0309b/rpds_py-0.22.3-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:2fa4331c200c2521512595253f5bb70858b90f750d39b8cbfd67465f8d1b596d", size = 410022 }, - { url = "https://files.pythonhosted.org/packages/3f/b0/37ab416a9528419920dfb64886c220f58fcbd66b978e0a91b66e9ee9a993/rpds_py-0.22.3-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:214b7a953d73b5e87f0ebece4a32a5bd83c60a3ecc9d4ec8f1dca968a2d91e99", size = 557817 }, - { url = "https://files.pythonhosted.org/packages/2c/5d/9daa18adcd676dd3b2817c8a7cec3f3ebeeb0ce0d05a1b63bf994fc5114f/rpds_py-0.22.3-cp39-cp39-musllinux_1_2_i686.whl", hash = "sha256:f47ad3d5f3258bd7058d2d506852217865afefe6153a36eb4b6928758041d831", size = 585099 }, - { url = "https://files.pythonhosted.org/packages/41/3f/ad4e58035d3f848410aa3d59857b5f238bafab81c8b4a844281f80445d62/rpds_py-0.22.3-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:f276b245347e6e36526cbd4a266a417796fc531ddf391e43574cf6466c492520", size = 552818 }, - { url = "https://files.pythonhosted.org/packages/b8/19/123acae8f4cab3c9463097c3ced3cc87c46f405056e249c874940e045309/rpds_py-0.22.3-cp39-cp39-win32.whl", hash = "sha256:bbb232860e3d03d544bc03ac57855cd82ddf19c7a07651a7c0fdb95e9efea8b9", size = 220246 }, - { url = "https://files.pythonhosted.org/packages/8b/8d/9db93e48d96ace1f6713c71ce72e2d94b71d82156c37b6a54e0930486f00/rpds_py-0.22.3-cp39-cp39-win_amd64.whl", hash = "sha256:cfbc454a2880389dbb9b5b398e50d439e2e58669160f27b60e5eca11f68ae17c", size = 231932 }, - { url = "https://files.pythonhosted.org/packages/8b/63/e29f8ee14fcf383574f73b6bbdcbec0fbc2e5fc36b4de44d1ac389b1de62/rpds_py-0.22.3-pp310-pypy310_pp73-macosx_10_12_x86_64.whl", hash = "sha256:d48424e39c2611ee1b84ad0f44fb3b2b53d473e65de061e3f460fc0be5f1939d", size = 360786 }, - { url = "https://files.pythonhosted.org/packages/d3/e0/771ee28b02a24e81c8c0e645796a371350a2bb6672753144f36ae2d2afc9/rpds_py-0.22.3-pp310-pypy310_pp73-macosx_11_0_arm64.whl", hash = "sha256:24e8abb5878e250f2eb0d7859a8e561846f98910326d06c0d51381fed59357bd", size = 350589 }, - { url = "https://files.pythonhosted.org/packages/cf/49/abad4c4a1e6f3adf04785a99c247bfabe55ed868133e2d1881200aa5d381/rpds_py-0.22.3-pp310-pypy310_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:4b232061ca880db21fa14defe219840ad9b74b6158adb52ddf0e87bead9e8493", size = 381848 }, - { url = "https://files.pythonhosted.org/packages/3a/7d/f4bc6d6fbe6af7a0d2b5f2ee77079efef7c8528712745659ec0026888998/rpds_py-0.22.3-pp310-pypy310_pp73-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:ac0a03221cdb5058ce0167ecc92a8c89e8d0decdc9e99a2ec23380793c4dcb96", size = 387879 }, - { url = "https://files.pythonhosted.org/packages/13/b0/575c797377fdcd26cedbb00a3324232e4cb2c5d121f6e4b0dbf8468b12ef/rpds_py-0.22.3-pp310-pypy310_pp73-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:eb0c341fa71df5a4595f9501df4ac5abfb5a09580081dffbd1ddd4654e6e9123", size = 423916 }, - { url = "https://files.pythonhosted.org/packages/54/78/87157fa39d58f32a68d3326f8a81ad8fb99f49fe2aa7ad9a1b7d544f9478/rpds_py-0.22.3-pp310-pypy310_pp73-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:bf9db5488121b596dbfc6718c76092fda77b703c1f7533a226a5a9f65248f8ad", size = 448410 }, - { url = "https://files.pythonhosted.org/packages/59/69/860f89996065a88be1b6ff2d60e96a02b920a262d8aadab99e7903986597/rpds_py-0.22.3-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:0b8db6b5b2d4491ad5b6bdc2bc7c017eec108acbf4e6785f42a9eb0ba234f4c9", size = 382841 }, - { url = "https://files.pythonhosted.org/packages/bd/d7/bc144e10d27e3cb350f98df2492a319edd3caaf52ddfe1293f37a9afbfd7/rpds_py-0.22.3-pp310-pypy310_pp73-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:b3d504047aba448d70cf6fa22e06cb09f7cbd761939fdd47604f5e007675c24e", size = 409662 }, - { url = "https://files.pythonhosted.org/packages/14/2a/6bed0b05233c291a94c7e89bc76ffa1c619d4e1979fbfe5d96024020c1fb/rpds_py-0.22.3-pp310-pypy310_pp73-musllinux_1_2_aarch64.whl", hash = "sha256:e61b02c3f7a1e0b75e20c3978f7135fd13cb6cf551bf4a6d29b999a88830a338", size = 558221 }, - { url = "https://files.pythonhosted.org/packages/11/23/cd8f566de444a137bc1ee5795e47069a947e60810ba4152886fe5308e1b7/rpds_py-0.22.3-pp310-pypy310_pp73-musllinux_1_2_i686.whl", hash = "sha256:e35ba67d65d49080e8e5a1dd40101fccdd9798adb9b050ff670b7d74fa41c566", size = 583780 }, - { url = "https://files.pythonhosted.org/packages/8d/63/79c3602afd14d501f751e615a74a59040328da5ef29ed5754ae80d236b84/rpds_py-0.22.3-pp310-pypy310_pp73-musllinux_1_2_x86_64.whl", hash = "sha256:26fd7cac7dd51011a245f29a2cc6489c4608b5a8ce8d75661bb4a1066c52dfbe", size = 553619 }, - { url = "https://files.pythonhosted.org/packages/9f/2e/c5c1689e80298d4e94c75b70faada4c25445739d91b94c211244a3ed7ed1/rpds_py-0.22.3-pp310-pypy310_pp73-win_amd64.whl", hash = "sha256:177c7c0fce2855833819c98e43c262007f42ce86651ffbb84f37883308cb0e7d", size = 233338 }, - { url = "https://files.pythonhosted.org/packages/bc/b7/d2c205723e3b4d75b03215694f0297a1b4b395bf834cb5896ad9bbb90f90/rpds_py-0.22.3-pp39-pypy39_pp73-macosx_10_12_x86_64.whl", hash = "sha256:bb47271f60660803ad11f4c61b42242b8c1312a31c98c578f79ef9387bbde21c", size = 360594 }, - { url = "https://files.pythonhosted.org/packages/d8/8f/c3515f5234cf6055046d4cfe9c80a3742a20acfa7d0b1b290f0d7f56a8db/rpds_py-0.22.3-pp39-pypy39_pp73-macosx_11_0_arm64.whl", hash = "sha256:70fb28128acbfd264eda9bf47015537ba3fe86e40d046eb2963d75024be4d055", size = 349594 }, - { url = "https://files.pythonhosted.org/packages/6b/98/5b487cb06afc484befe350c87fda37f4ce11333f04f3380aba43dcf5bce2/rpds_py-0.22.3-pp39-pypy39_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:44d61b4b7d0c2c9ac019c314e52d7cbda0ae31078aabd0f22e583af3e0d79723", size = 381138 }, - { url = "https://files.pythonhosted.org/packages/5e/3a/12308d2c51b3fdfc173619943b7dc5ba41b4850c47112eeda38d9c54ed12/rpds_py-0.22.3-pp39-pypy39_pp73-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:5f0e260eaf54380380ac3808aa4ebe2d8ca28b9087cf411649f96bad6900c728", size = 387828 }, - { url = "https://files.pythonhosted.org/packages/17/b2/c242241ab5a2a206e093f24ccbfa519c4bbf10a762ac90bffe1766c225e0/rpds_py-0.22.3-pp39-pypy39_pp73-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:b25bc607423935079e05619d7de556c91fb6adeae9d5f80868dde3468657994b", size = 424634 }, - { url = "https://files.pythonhosted.org/packages/d5/c7/52a1b15012139f3ba740f291f1d03c6b632938ba61bc605f24c101952493/rpds_py-0.22.3-pp39-pypy39_pp73-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:fb6116dfb8d1925cbdb52595560584db42a7f664617a1f7d7f6e32f138cdf37d", size = 447862 }, - { url = "https://files.pythonhosted.org/packages/55/3e/4d3ed8fd01bad77e8ed101116fe63b03f1011940d9596a8f4d82ac80cacd/rpds_py-0.22.3-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:a63cbdd98acef6570c62b92a1e43266f9e8b21e699c363c0fef13bd530799c11", size = 382506 }, - { url = "https://files.pythonhosted.org/packages/30/78/df59d6f92470a84369a3757abeae1cfd7f7239c8beb6d948949bf78317d2/rpds_py-0.22.3-pp39-pypy39_pp73-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:2b8f60e1b739a74bab7e01fcbe3dddd4657ec685caa04681df9d562ef15b625f", size = 410534 }, - { url = "https://files.pythonhosted.org/packages/38/97/ea45d1edd9b753b20084b52dd5db6ee5e1ac3e036a27149972398a413858/rpds_py-0.22.3-pp39-pypy39_pp73-musllinux_1_2_aarch64.whl", hash = "sha256:2e8b55d8517a2fda8d95cb45d62a5a8bbf9dd0ad39c5b25c8833efea07b880ca", size = 557453 }, - { url = "https://files.pythonhosted.org/packages/08/cd/3a1b35eb9da27ffbb981cfffd32a01c7655c4431ccb278cb3064f8887462/rpds_py-0.22.3-pp39-pypy39_pp73-musllinux_1_2_i686.whl", hash = "sha256:2de29005e11637e7a2361fa151f780ff8eb2543a0da1413bb951e9f14b699ef3", size = 584412 }, - { url = "https://files.pythonhosted.org/packages/87/91/31d1c5aeb1606f71188259e0ba6ed6f5c21a3c72f58b51db6a8bd0aa2b5d/rpds_py-0.22.3-pp39-pypy39_pp73-musllinux_1_2_x86_64.whl", hash = "sha256:666ecce376999bf619756a24ce15bb14c5bfaf04bf00abc7e663ce17c3f34fe7", size = 553446 }, - { url = "https://files.pythonhosted.org/packages/e7/ad/03b5ccd1ab492c9dece85b3bf1c96453ab8c47983936fae6880f688f60b3/rpds_py-0.22.3-pp39-pypy39_pp73-win_amd64.whl", hash = "sha256:5246b14ca64a8675e0a7161f7af68fe3e910e6b90542b4bfb5439ba752191df6", size = 233013 }, +sdist = { url = "https://files.pythonhosted.org/packages/01/80/cce854d0921ff2f0a9fa831ba3ad3c65cee3a46711addf39a2af52df2cfd/rpds_py-0.22.3.tar.gz", hash = "sha256:e32fee8ab45d3c2db6da19a5323bc3362237c8b653c70194414b892fd06a080d", size = 26771, upload-time = "2024-12-04T15:34:14.949Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/42/2a/ead1d09e57449b99dcc190d8d2323e3a167421d8f8fdf0f217c6f6befe47/rpds_py-0.22.3-cp310-cp310-macosx_10_12_x86_64.whl", hash = "sha256:6c7b99ca52c2c1752b544e310101b98a659b720b21db00e65edca34483259967", size = 359514, upload-time = "2024-12-04T15:31:31.341Z" }, + { url = "https://files.pythonhosted.org/packages/8f/7e/1254f406b7793b586c68e217a6a24ec79040f85e030fff7e9049069284f4/rpds_py-0.22.3-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:be2eb3f2495ba669d2a985f9b426c1797b7d48d6963899276d22f23e33d47e37", size = 349031, upload-time = "2024-12-04T15:31:32.973Z" }, + { url = "https://files.pythonhosted.org/packages/aa/da/17c6a2c73730d426df53675ff9cc6653ac7a60b6438d03c18e1c822a576a/rpds_py-0.22.3-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:70eb60b3ae9245ddea20f8a4190bd79c705a22f8028aaf8bbdebe4716c3fab24", size = 381485, upload-time = "2024-12-04T15:31:34.586Z" }, + { url = "https://files.pythonhosted.org/packages/aa/13/2dbacd820466aa2a3c4b747afb18d71209523d353cf865bf8f4796c969ea/rpds_py-0.22.3-cp310-cp310-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:4041711832360a9b75cfb11b25a6a97c8fb49c07b8bd43d0d02b45d0b499a4ff", size = 386794, upload-time = "2024-12-04T15:31:37.237Z" }, + { url = "https://files.pythonhosted.org/packages/6d/62/96905d0a35ad4e4bc3c098b2f34b2e7266e211d08635baa690643d2227be/rpds_py-0.22.3-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:64607d4cbf1b7e3c3c8a14948b99345eda0e161b852e122c6bb71aab6d1d798c", size = 423523, upload-time = "2024-12-04T15:31:39.259Z" }, + { url = "https://files.pythonhosted.org/packages/eb/1b/d12770f2b6a9fc2c3ec0d810d7d440f6d465ccd8b7f16ae5385952c28b89/rpds_py-0.22.3-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:81e69b0a0e2537f26d73b4e43ad7bc8c8efb39621639b4434b76a3de50c6966e", size = 446695, upload-time = "2024-12-04T15:31:40.477Z" }, + { url = "https://files.pythonhosted.org/packages/4d/cf/96f1fd75512a017f8e07408b6d5dbeb492d9ed46bfe0555544294f3681b3/rpds_py-0.22.3-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:bc27863442d388870c1809a87507727b799c8460573cfbb6dc0eeaef5a11b5ec", size = 381959, upload-time = "2024-12-04T15:31:41.665Z" }, + { url = "https://files.pythonhosted.org/packages/ab/f0/d1c5b501c8aea85aeb938b555bfdf7612110a2f8cdc21ae0482c93dd0c24/rpds_py-0.22.3-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:e79dd39f1e8c3504be0607e5fc6e86bb60fe3584bec8b782578c3b0fde8d932c", size = 410420, upload-time = "2024-12-04T15:31:43.407Z" }, + { url = "https://files.pythonhosted.org/packages/33/3b/45b6c58fb6aad5a569ae40fb890fc494c6b02203505a5008ee6dc68e65f7/rpds_py-0.22.3-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:e0fa2d4ec53dc51cf7d3bb22e0aa0143966119f42a0c3e4998293a3dd2856b09", size = 557620, upload-time = "2024-12-04T15:31:45.271Z" }, + { url = "https://files.pythonhosted.org/packages/83/62/3fdd2d3d47bf0bb9b931c4c73036b4ab3ec77b25e016ae26fab0f02be2af/rpds_py-0.22.3-cp310-cp310-musllinux_1_2_i686.whl", hash = "sha256:fda7cb070f442bf80b642cd56483b5548e43d366fe3f39b98e67cce780cded00", size = 584202, upload-time = "2024-12-04T15:31:47.21Z" }, + { url = "https://files.pythonhosted.org/packages/04/f2/5dced98b64874b84ca824292f9cee2e3f30f3bcf231d15a903126684f74d/rpds_py-0.22.3-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:cff63a0272fcd259dcc3be1657b07c929c466b067ceb1c20060e8d10af56f5bf", size = 552787, upload-time = "2024-12-04T15:31:49.142Z" }, + { url = "https://files.pythonhosted.org/packages/67/13/2273dea1204eda0aea0ef55145da96a9aa28b3f88bb5c70e994f69eda7c3/rpds_py-0.22.3-cp310-cp310-win32.whl", hash = "sha256:9bd7228827ec7bb817089e2eb301d907c0d9827a9e558f22f762bb690b131652", size = 220088, upload-time = "2024-12-04T15:31:51.303Z" }, + { url = "https://files.pythonhosted.org/packages/4e/80/8c8176b67ad7f4a894967a7a4014ba039626d96f1d4874d53e409b58d69f/rpds_py-0.22.3-cp310-cp310-win_amd64.whl", hash = "sha256:9beeb01d8c190d7581a4d59522cd3d4b6887040dcfc744af99aa59fef3e041a8", size = 231737, upload-time = "2024-12-04T15:31:52.611Z" }, + { url = "https://files.pythonhosted.org/packages/15/ad/8d1ddf78f2805a71253fcd388017e7b4a0615c22c762b6d35301fef20106/rpds_py-0.22.3-cp311-cp311-macosx_10_12_x86_64.whl", hash = "sha256:d20cfb4e099748ea39e6f7b16c91ab057989712d31761d3300d43134e26e165f", size = 359773, upload-time = "2024-12-04T15:31:53.773Z" }, + { url = "https://files.pythonhosted.org/packages/c8/75/68c15732293a8485d79fe4ebe9045525502a067865fa4278f178851b2d87/rpds_py-0.22.3-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:68049202f67380ff9aa52f12e92b1c30115f32e6895cd7198fa2a7961621fc5a", size = 349214, upload-time = "2024-12-04T15:31:57.443Z" }, + { url = "https://files.pythonhosted.org/packages/3c/4c/7ce50f3070083c2e1b2bbd0fb7046f3da55f510d19e283222f8f33d7d5f4/rpds_py-0.22.3-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:fb4f868f712b2dd4bcc538b0a0c1f63a2b1d584c925e69a224d759e7070a12d5", size = 380477, upload-time = "2024-12-04T15:31:58.713Z" }, + { url = "https://files.pythonhosted.org/packages/9a/e9/835196a69cb229d5c31c13b8ae603bd2da9a6695f35fe4270d398e1db44c/rpds_py-0.22.3-cp311-cp311-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:bc51abd01f08117283c5ebf64844a35144a0843ff7b2983e0648e4d3d9f10dbb", size = 386171, upload-time = "2024-12-04T15:32:01.33Z" }, + { url = "https://files.pythonhosted.org/packages/f9/8e/33fc4eba6683db71e91e6d594a2cf3a8fbceb5316629f0477f7ece5e3f75/rpds_py-0.22.3-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:0f3cec041684de9a4684b1572fe28c7267410e02450f4561700ca5a3bc6695a2", size = 422676, upload-time = "2024-12-04T15:32:03.223Z" }, + { url = "https://files.pythonhosted.org/packages/37/47/2e82d58f8046a98bb9497a8319604c92b827b94d558df30877c4b3c6ccb3/rpds_py-0.22.3-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:7ef9d9da710be50ff6809fed8f1963fecdfecc8b86656cadfca3bc24289414b0", size = 446152, upload-time = "2024-12-04T15:32:05.109Z" }, + { url = "https://files.pythonhosted.org/packages/e1/78/79c128c3e71abbc8e9739ac27af11dc0f91840a86fce67ff83c65d1ba195/rpds_py-0.22.3-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:59f4a79c19232a5774aee369a0c296712ad0e77f24e62cad53160312b1c1eaa1", size = 381300, upload-time = "2024-12-04T15:32:06.404Z" }, + { url = "https://files.pythonhosted.org/packages/c9/5b/2e193be0e8b228c1207f31fa3ea79de64dadb4f6a4833111af8145a6bc33/rpds_py-0.22.3-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:1a60bce91f81ddaac922a40bbb571a12c1070cb20ebd6d49c48e0b101d87300d", size = 409636, upload-time = "2024-12-04T15:32:07.568Z" }, + { url = "https://files.pythonhosted.org/packages/c2/3f/687c7100b762d62186a1c1100ffdf99825f6fa5ea94556844bbbd2d0f3a9/rpds_py-0.22.3-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:e89391e6d60251560f0a8f4bd32137b077a80d9b7dbe6d5cab1cd80d2746f648", size = 556708, upload-time = "2024-12-04T15:32:09.141Z" }, + { url = "https://files.pythonhosted.org/packages/8c/a2/c00cbc4b857e8b3d5e7f7fc4c81e23afd8c138b930f4f3ccf9a41a23e9e4/rpds_py-0.22.3-cp311-cp311-musllinux_1_2_i686.whl", hash = "sha256:e3fb866d9932a3d7d0c82da76d816996d1667c44891bd861a0f97ba27e84fc74", size = 583554, upload-time = "2024-12-04T15:32:11.17Z" }, + { url = "https://files.pythonhosted.org/packages/d0/08/696c9872cf56effdad9ed617ac072f6774a898d46b8b8964eab39ec562d2/rpds_py-0.22.3-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:1352ae4f7c717ae8cba93421a63373e582d19d55d2ee2cbb184344c82d2ae55a", size = 552105, upload-time = "2024-12-04T15:32:12.701Z" }, + { url = "https://files.pythonhosted.org/packages/18/1f/4df560be1e994f5adf56cabd6c117e02de7c88ee238bb4ce03ed50da9d56/rpds_py-0.22.3-cp311-cp311-win32.whl", hash = "sha256:b0b4136a252cadfa1adb705bb81524eee47d9f6aab4f2ee4fa1e9d3cd4581f64", size = 220199, upload-time = "2024-12-04T15:32:13.903Z" }, + { url = "https://files.pythonhosted.org/packages/b8/1b/c29b570bc5db8237553002788dc734d6bd71443a2ceac2a58202ec06ef12/rpds_py-0.22.3-cp311-cp311-win_amd64.whl", hash = "sha256:8bd7c8cfc0b8247c8799080fbff54e0b9619e17cdfeb0478ba7295d43f635d7c", size = 231775, upload-time = "2024-12-04T15:32:15.137Z" }, + { url = "https://files.pythonhosted.org/packages/75/47/3383ee3bd787a2a5e65a9b9edc37ccf8505c0a00170e3a5e6ea5fbcd97f7/rpds_py-0.22.3-cp312-cp312-macosx_10_12_x86_64.whl", hash = "sha256:27e98004595899949bd7a7b34e91fa7c44d7a97c40fcaf1d874168bb652ec67e", size = 352334, upload-time = "2024-12-04T15:32:16.432Z" }, + { url = "https://files.pythonhosted.org/packages/40/14/aa6400fa8158b90a5a250a77f2077c0d0cd8a76fce31d9f2b289f04c6dec/rpds_py-0.22.3-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:1978d0021e943aae58b9b0b196fb4895a25cc53d3956b8e35e0b7682eefb6d56", size = 342111, upload-time = "2024-12-04T15:32:18.336Z" }, + { url = "https://files.pythonhosted.org/packages/7d/06/395a13bfaa8a28b302fb433fb285a67ce0ea2004959a027aea8f9c52bad4/rpds_py-0.22.3-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:655ca44a831ecb238d124e0402d98f6212ac527a0ba6c55ca26f616604e60a45", size = 384286, upload-time = "2024-12-04T15:32:19.589Z" }, + { url = "https://files.pythonhosted.org/packages/43/52/d8eeaffab047e6b7b7ef7f00d5ead074a07973968ffa2d5820fa131d7852/rpds_py-0.22.3-cp312-cp312-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:feea821ee2a9273771bae61194004ee2fc33f8ec7db08117ef9147d4bbcbca8e", size = 391739, upload-time = "2024-12-04T15:32:20.772Z" }, + { url = "https://files.pythonhosted.org/packages/83/31/52dc4bde85c60b63719610ed6f6d61877effdb5113a72007679b786377b8/rpds_py-0.22.3-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:22bebe05a9ffc70ebfa127efbc429bc26ec9e9b4ee4d15a740033efda515cf3d", size = 427306, upload-time = "2024-12-04T15:32:23.138Z" }, + { url = "https://files.pythonhosted.org/packages/70/d5/1bab8e389c2261dba1764e9e793ed6830a63f830fdbec581a242c7c46bda/rpds_py-0.22.3-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:3af6e48651c4e0d2d166dc1b033b7042ea3f871504b6805ba5f4fe31581d8d38", size = 442717, upload-time = "2024-12-04T15:32:24.399Z" }, + { url = "https://files.pythonhosted.org/packages/82/a1/a45f3e30835b553379b3a56ea6c4eb622cf11e72008229af840e4596a8ea/rpds_py-0.22.3-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:e67ba3c290821343c192f7eae1d8fd5999ca2dc99994114643e2f2d3e6138b15", size = 385721, upload-time = "2024-12-04T15:32:26.464Z" }, + { url = "https://files.pythonhosted.org/packages/a6/27/780c942de3120bdd4d0e69583f9c96e179dfff082f6ecbb46b8d6488841f/rpds_py-0.22.3-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:02fbb9c288ae08bcb34fb41d516d5eeb0455ac35b5512d03181d755d80810059", size = 415824, upload-time = "2024-12-04T15:32:27.742Z" }, + { url = "https://files.pythonhosted.org/packages/94/0b/aa0542ca88ad20ea719b06520f925bae348ea5c1fdf201b7e7202d20871d/rpds_py-0.22.3-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:f56a6b404f74ab372da986d240e2e002769a7d7102cc73eb238a4f72eec5284e", size = 561227, upload-time = "2024-12-04T15:32:29.722Z" }, + { url = "https://files.pythonhosted.org/packages/0d/92/3ed77d215f82c8f844d7f98929d56cc321bb0bcfaf8f166559b8ec56e5f1/rpds_py-0.22.3-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:0a0461200769ab3b9ab7e513f6013b7a97fdeee41c29b9db343f3c5a8e2b9e61", size = 587424, upload-time = "2024-12-04T15:32:31.039Z" }, + { url = "https://files.pythonhosted.org/packages/09/42/cacaeb047a22cab6241f107644f230e2935d4efecf6488859a7dd82fc47d/rpds_py-0.22.3-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:8633e471c6207a039eff6aa116e35f69f3156b3989ea3e2d755f7bc41754a4a7", size = 555953, upload-time = "2024-12-04T15:32:32.486Z" }, + { url = "https://files.pythonhosted.org/packages/e6/52/c921dc6d5f5d45b212a456c1f5b17df1a471127e8037eb0972379e39dff4/rpds_py-0.22.3-cp312-cp312-win32.whl", hash = "sha256:593eba61ba0c3baae5bc9be2f5232430453fb4432048de28399ca7376de9c627", size = 221339, upload-time = "2024-12-04T15:32:33.768Z" }, + { url = "https://files.pythonhosted.org/packages/f2/c7/f82b5be1e8456600395366f86104d1bd8d0faed3802ad511ef6d60c30d98/rpds_py-0.22.3-cp312-cp312-win_amd64.whl", hash = "sha256:d115bffdd417c6d806ea9069237a4ae02f513b778e3789a359bc5856e0404cc4", size = 235786, upload-time = "2024-12-04T15:32:34.985Z" }, + { url = "https://files.pythonhosted.org/packages/d0/bf/36d5cc1f2c609ae6e8bf0fc35949355ca9d8790eceb66e6385680c951e60/rpds_py-0.22.3-cp313-cp313-macosx_10_12_x86_64.whl", hash = "sha256:ea7433ce7e4bfc3a85654aeb6747babe3f66eaf9a1d0c1e7a4435bbdf27fea84", size = 351657, upload-time = "2024-12-04T15:32:36.241Z" }, + { url = "https://files.pythonhosted.org/packages/24/2a/f1e0fa124e300c26ea9382e59b2d582cba71cedd340f32d1447f4f29fa4e/rpds_py-0.22.3-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:6dd9412824c4ce1aca56c47b0991e65bebb7ac3f4edccfd3f156150c96a7bf25", size = 341829, upload-time = "2024-12-04T15:32:37.607Z" }, + { url = "https://files.pythonhosted.org/packages/cf/c2/0da1231dd16953845bed60d1a586fcd6b15ceaeb965f4d35cdc71f70f606/rpds_py-0.22.3-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:20070c65396f7373f5df4005862fa162db5d25d56150bddd0b3e8214e8ef45b4", size = 384220, upload-time = "2024-12-04T15:32:38.854Z" }, + { url = "https://files.pythonhosted.org/packages/c7/73/a4407f4e3a00a9d4b68c532bf2d873d6b562854a8eaff8faa6133b3588ec/rpds_py-0.22.3-cp313-cp313-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:0b09865a9abc0ddff4e50b5ef65467cd94176bf1e0004184eb915cbc10fc05c5", size = 391009, upload-time = "2024-12-04T15:32:40.137Z" }, + { url = "https://files.pythonhosted.org/packages/a9/c3/04b7353477ab360fe2563f5f0b176d2105982f97cd9ae80a9c5a18f1ae0f/rpds_py-0.22.3-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:3453e8d41fe5f17d1f8e9c383a7473cd46a63661628ec58e07777c2fff7196dc", size = 426989, upload-time = "2024-12-04T15:32:41.325Z" }, + { url = "https://files.pythonhosted.org/packages/8d/e6/e4b85b722bcf11398e17d59c0f6049d19cd606d35363221951e6d625fcb0/rpds_py-0.22.3-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:f5d36399a1b96e1a5fdc91e0522544580dbebeb1f77f27b2b0ab25559e103b8b", size = 441544, upload-time = "2024-12-04T15:32:42.589Z" }, + { url = "https://files.pythonhosted.org/packages/27/fc/403e65e56f65fff25f2973216974976d3f0a5c3f30e53758589b6dc9b79b/rpds_py-0.22.3-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:009de23c9c9ee54bf11303a966edf4d9087cd43a6003672e6aa7def643d06518", size = 385179, upload-time = "2024-12-04T15:32:44.331Z" }, + { url = "https://files.pythonhosted.org/packages/57/9b/2be9ff9700d664d51fd96b33d6595791c496d2778cb0b2a634f048437a55/rpds_py-0.22.3-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:1aef18820ef3e4587ebe8b3bc9ba6e55892a6d7b93bac6d29d9f631a3b4befbd", size = 415103, upload-time = "2024-12-04T15:32:46.599Z" }, + { url = "https://files.pythonhosted.org/packages/bb/a5/03c2ad8ca10994fcf22dd2150dd1d653bc974fa82d9a590494c84c10c641/rpds_py-0.22.3-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:f60bd8423be1d9d833f230fdbccf8f57af322d96bcad6599e5a771b151398eb2", size = 560916, upload-time = "2024-12-04T15:32:47.916Z" }, + { url = "https://files.pythonhosted.org/packages/ba/2e/be4fdfc8b5b576e588782b56978c5b702c5a2307024120d8aeec1ab818f0/rpds_py-0.22.3-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:62d9cfcf4948683a18a9aff0ab7e1474d407b7bab2ca03116109f8464698ab16", size = 587062, upload-time = "2024-12-04T15:32:49.274Z" }, + { url = "https://files.pythonhosted.org/packages/67/e0/2034c221937709bf9c542603d25ad43a68b4b0a9a0c0b06a742f2756eb66/rpds_py-0.22.3-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:9253fc214112405f0afa7db88739294295f0e08466987f1d70e29930262b4c8f", size = 555734, upload-time = "2024-12-04T15:32:50.528Z" }, + { url = "https://files.pythonhosted.org/packages/ea/ce/240bae07b5401a22482b58e18cfbabaa392409b2797da60223cca10d7367/rpds_py-0.22.3-cp313-cp313-win32.whl", hash = "sha256:fb0ba113b4983beac1a2eb16faffd76cb41e176bf58c4afe3e14b9c681f702de", size = 220663, upload-time = "2024-12-04T15:32:51.878Z" }, + { url = "https://files.pythonhosted.org/packages/cb/f0/d330d08f51126330467edae2fa4efa5cec8923c87551a79299380fdea30d/rpds_py-0.22.3-cp313-cp313-win_amd64.whl", hash = "sha256:c58e2339def52ef6b71b8f36d13c3688ea23fa093353f3a4fee2556e62086ec9", size = 235503, upload-time = "2024-12-04T15:32:53.195Z" }, + { url = "https://files.pythonhosted.org/packages/f7/c4/dbe1cc03df013bf2feb5ad00615038050e7859f381e96fb5b7b4572cd814/rpds_py-0.22.3-cp313-cp313t-macosx_10_12_x86_64.whl", hash = "sha256:f82a116a1d03628a8ace4859556fb39fd1424c933341a08ea3ed6de1edb0283b", size = 347698, upload-time = "2024-12-04T15:32:54.569Z" }, + { url = "https://files.pythonhosted.org/packages/a4/3a/684f66dd6b0f37499cad24cd1c0e523541fd768576fa5ce2d0a8799c3cba/rpds_py-0.22.3-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:3dfcbc95bd7992b16f3f7ba05af8a64ca694331bd24f9157b49dadeeb287493b", size = 337330, upload-time = "2024-12-04T15:32:55.993Z" }, + { url = "https://files.pythonhosted.org/packages/82/eb/e022c08c2ce2e8f7683baa313476492c0e2c1ca97227fe8a75d9f0181e95/rpds_py-0.22.3-cp313-cp313t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:59259dc58e57b10e7e18ce02c311804c10c5a793e6568f8af4dead03264584d1", size = 380022, upload-time = "2024-12-04T15:32:57.374Z" }, + { url = "https://files.pythonhosted.org/packages/e4/21/5a80e653e4c86aeb28eb4fea4add1f72e1787a3299687a9187105c3ee966/rpds_py-0.22.3-cp313-cp313t-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:5725dd9cc02068996d4438d397e255dcb1df776b7ceea3b9cb972bdb11260a83", size = 390754, upload-time = "2024-12-04T15:32:58.726Z" }, + { url = "https://files.pythonhosted.org/packages/37/a4/d320a04ae90f72d080b3d74597074e62be0a8ecad7d7321312dfe2dc5a6a/rpds_py-0.22.3-cp313-cp313t-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:99b37292234e61325e7a5bb9689e55e48c3f5f603af88b1642666277a81f1fbd", size = 423840, upload-time = "2024-12-04T15:32:59.997Z" }, + { url = "https://files.pythonhosted.org/packages/87/70/674dc47d93db30a6624279284e5631be4c3a12a0340e8e4f349153546728/rpds_py-0.22.3-cp313-cp313t-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:27b1d3b3915a99208fee9ab092b8184c420f2905b7d7feb4aeb5e4a9c509b8a1", size = 438970, upload-time = "2024-12-04T15:33:02.057Z" }, + { url = "https://files.pythonhosted.org/packages/3f/64/9500f4d66601d55cadd21e90784cfd5d5f4560e129d72e4339823129171c/rpds_py-0.22.3-cp313-cp313t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f612463ac081803f243ff13cccc648578e2279295048f2a8d5eb430af2bae6e3", size = 383146, upload-time = "2024-12-04T15:33:03.414Z" }, + { url = "https://files.pythonhosted.org/packages/4d/45/630327addb1d17173adcf4af01336fd0ee030c04798027dfcb50106001e0/rpds_py-0.22.3-cp313-cp313t-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:f73d3fef726b3243a811121de45193c0ca75f6407fe66f3f4e183c983573e130", size = 408294, upload-time = "2024-12-04T15:33:05.504Z" }, + { url = "https://files.pythonhosted.org/packages/5f/ef/8efb3373cee54ea9d9980b772e5690a0c9e9214045a4e7fa35046e399fee/rpds_py-0.22.3-cp313-cp313t-musllinux_1_2_aarch64.whl", hash = "sha256:3f21f0495edea7fdbaaa87e633a8689cd285f8f4af5c869f27bc8074638ad69c", size = 556345, upload-time = "2024-12-04T15:33:06.9Z" }, + { url = "https://files.pythonhosted.org/packages/54/01/151d3b9ef4925fc8f15bfb131086c12ec3c3d6dd4a4f7589c335bf8e85ba/rpds_py-0.22.3-cp313-cp313t-musllinux_1_2_i686.whl", hash = "sha256:1e9663daaf7a63ceccbbb8e3808fe90415b0757e2abddbfc2e06c857bf8c5e2b", size = 582292, upload-time = "2024-12-04T15:33:08.304Z" }, + { url = "https://files.pythonhosted.org/packages/30/89/35fc7a6cdf3477d441c7aca5e9bbf5a14e0f25152aed7f63f4e0b141045d/rpds_py-0.22.3-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:a76e42402542b1fae59798fab64432b2d015ab9d0c8c47ba7addddbaf7952333", size = 553855, upload-time = "2024-12-04T15:33:10Z" }, + { url = "https://files.pythonhosted.org/packages/8f/e0/830c02b2457c4bd20a8c5bb394d31d81f57fbefce2dbdd2e31feff4f7003/rpds_py-0.22.3-cp313-cp313t-win32.whl", hash = "sha256:69803198097467ee7282750acb507fba35ca22cc3b85f16cf45fb01cb9097730", size = 219100, upload-time = "2024-12-04T15:33:11.343Z" }, + { url = "https://files.pythonhosted.org/packages/f8/30/7ac943f69855c2db77407ae363484b915d861702dbba1aa82d68d57f42be/rpds_py-0.22.3-cp313-cp313t-win_amd64.whl", hash = "sha256:f5cf2a0c2bdadf3791b5c205d55a37a54025c6e18a71c71f82bb536cf9a454bf", size = 233794, upload-time = "2024-12-04T15:33:12.888Z" }, + { url = "https://files.pythonhosted.org/packages/db/0f/a8ad17ddac7c880f48d5da50733dd25bfc35ba2be1bec9f23453e8c7a123/rpds_py-0.22.3-cp39-cp39-macosx_10_12_x86_64.whl", hash = "sha256:378753b4a4de2a7b34063d6f95ae81bfa7b15f2c1a04a9518e8644e81807ebea", size = 359735, upload-time = "2024-12-04T15:33:14.251Z" }, + { url = "https://files.pythonhosted.org/packages/0c/41/430903669397ea3ee76865e0b53ea236e8dc0ffbecde47b2c4c783ad6759/rpds_py-0.22.3-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:3445e07bf2e8ecfeef6ef67ac83de670358abf2996916039b16a218e3d95e97e", size = 348724, upload-time = "2024-12-04T15:33:15.67Z" }, + { url = "https://files.pythonhosted.org/packages/c9/5c/3496f4f0ee818297544f2d5f641c49dde8ae156392e6834b79c0609ba006/rpds_py-0.22.3-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:7b2513ba235829860b13faa931f3b6846548021846ac808455301c23a101689d", size = 381782, upload-time = "2024-12-04T15:33:17.133Z" }, + { url = "https://files.pythonhosted.org/packages/b6/dc/db0523ce0cd16ce579185cc9aa9141992de956d0a9c469ecfd1fb5d54ddc/rpds_py-0.22.3-cp39-cp39-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:eaf16ae9ae519a0e237a0f528fd9f0197b9bb70f40263ee57ae53c2b8d48aeb3", size = 387036, upload-time = "2024-12-04T15:33:18.555Z" }, + { url = "https://files.pythonhosted.org/packages/85/2a/9525c2427d2c257f877348918136a5d4e1b945c205a256e53bec61e54551/rpds_py-0.22.3-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:583f6a1993ca3369e0f80ba99d796d8e6b1a3a2a442dd4e1a79e652116413091", size = 424566, upload-time = "2024-12-04T15:33:20.475Z" }, + { url = "https://files.pythonhosted.org/packages/b9/1c/f8c012a39794b84069635709f559c0309103d5d74b3f5013916e6ca4f174/rpds_py-0.22.3-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:4617e1915a539a0d9a9567795023de41a87106522ff83fbfaf1f6baf8e85437e", size = 447203, upload-time = "2024-12-04T15:33:21.846Z" }, + { url = "https://files.pythonhosted.org/packages/93/f5/c1c772364570d35b98ba64f36ec90c3c6d0b932bc4d8b9b4efef6dc64b07/rpds_py-0.22.3-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:0c150c7a61ed4a4f4955a96626574e9baf1adf772c2fb61ef6a5027e52803543", size = 382283, upload-time = "2024-12-04T15:33:23.292Z" }, + { url = "https://files.pythonhosted.org/packages/10/06/f94f61313f94fc75c3c3aa74563f80bbd990e5b25a7c1a38cee7d5d0309b/rpds_py-0.22.3-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:2fa4331c200c2521512595253f5bb70858b90f750d39b8cbfd67465f8d1b596d", size = 410022, upload-time = "2024-12-04T15:33:24.585Z" }, + { url = "https://files.pythonhosted.org/packages/3f/b0/37ab416a9528419920dfb64886c220f58fcbd66b978e0a91b66e9ee9a993/rpds_py-0.22.3-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:214b7a953d73b5e87f0ebece4a32a5bd83c60a3ecc9d4ec8f1dca968a2d91e99", size = 557817, upload-time = "2024-12-04T15:33:26.379Z" }, + { url = "https://files.pythonhosted.org/packages/2c/5d/9daa18adcd676dd3b2817c8a7cec3f3ebeeb0ce0d05a1b63bf994fc5114f/rpds_py-0.22.3-cp39-cp39-musllinux_1_2_i686.whl", hash = "sha256:f47ad3d5f3258bd7058d2d506852217865afefe6153a36eb4b6928758041d831", size = 585099, upload-time = "2024-12-04T15:33:27.794Z" }, + { url = "https://files.pythonhosted.org/packages/41/3f/ad4e58035d3f848410aa3d59857b5f238bafab81c8b4a844281f80445d62/rpds_py-0.22.3-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:f276b245347e6e36526cbd4a266a417796fc531ddf391e43574cf6466c492520", size = 552818, upload-time = "2024-12-04T15:33:29.249Z" }, + { url = "https://files.pythonhosted.org/packages/b8/19/123acae8f4cab3c9463097c3ced3cc87c46f405056e249c874940e045309/rpds_py-0.22.3-cp39-cp39-win32.whl", hash = "sha256:bbb232860e3d03d544bc03ac57855cd82ddf19c7a07651a7c0fdb95e9efea8b9", size = 220246, upload-time = "2024-12-04T15:33:30.672Z" }, + { url = "https://files.pythonhosted.org/packages/8b/8d/9db93e48d96ace1f6713c71ce72e2d94b71d82156c37b6a54e0930486f00/rpds_py-0.22.3-cp39-cp39-win_amd64.whl", hash = "sha256:cfbc454a2880389dbb9b5b398e50d439e2e58669160f27b60e5eca11f68ae17c", size = 231932, upload-time = "2024-12-04T15:33:32.092Z" }, + { url = "https://files.pythonhosted.org/packages/8b/63/e29f8ee14fcf383574f73b6bbdcbec0fbc2e5fc36b4de44d1ac389b1de62/rpds_py-0.22.3-pp310-pypy310_pp73-macosx_10_12_x86_64.whl", hash = "sha256:d48424e39c2611ee1b84ad0f44fb3b2b53d473e65de061e3f460fc0be5f1939d", size = 360786, upload-time = "2024-12-04T15:33:33.635Z" }, + { url = "https://files.pythonhosted.org/packages/d3/e0/771ee28b02a24e81c8c0e645796a371350a2bb6672753144f36ae2d2afc9/rpds_py-0.22.3-pp310-pypy310_pp73-macosx_11_0_arm64.whl", hash = "sha256:24e8abb5878e250f2eb0d7859a8e561846f98910326d06c0d51381fed59357bd", size = 350589, upload-time = "2024-12-04T15:33:35.159Z" }, + { url = "https://files.pythonhosted.org/packages/cf/49/abad4c4a1e6f3adf04785a99c247bfabe55ed868133e2d1881200aa5d381/rpds_py-0.22.3-pp310-pypy310_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:4b232061ca880db21fa14defe219840ad9b74b6158adb52ddf0e87bead9e8493", size = 381848, upload-time = "2024-12-04T15:33:36.736Z" }, + { url = "https://files.pythonhosted.org/packages/3a/7d/f4bc6d6fbe6af7a0d2b5f2ee77079efef7c8528712745659ec0026888998/rpds_py-0.22.3-pp310-pypy310_pp73-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:ac0a03221cdb5058ce0167ecc92a8c89e8d0decdc9e99a2ec23380793c4dcb96", size = 387879, upload-time = "2024-12-04T15:33:38.057Z" }, + { url = "https://files.pythonhosted.org/packages/13/b0/575c797377fdcd26cedbb00a3324232e4cb2c5d121f6e4b0dbf8468b12ef/rpds_py-0.22.3-pp310-pypy310_pp73-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:eb0c341fa71df5a4595f9501df4ac5abfb5a09580081dffbd1ddd4654e6e9123", size = 423916, upload-time = "2024-12-04T15:33:39.696Z" }, + { url = "https://files.pythonhosted.org/packages/54/78/87157fa39d58f32a68d3326f8a81ad8fb99f49fe2aa7ad9a1b7d544f9478/rpds_py-0.22.3-pp310-pypy310_pp73-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:bf9db5488121b596dbfc6718c76092fda77b703c1f7533a226a5a9f65248f8ad", size = 448410, upload-time = "2024-12-04T15:33:41.729Z" }, + { url = "https://files.pythonhosted.org/packages/59/69/860f89996065a88be1b6ff2d60e96a02b920a262d8aadab99e7903986597/rpds_py-0.22.3-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:0b8db6b5b2d4491ad5b6bdc2bc7c017eec108acbf4e6785f42a9eb0ba234f4c9", size = 382841, upload-time = "2024-12-04T15:33:43.169Z" }, + { url = "https://files.pythonhosted.org/packages/bd/d7/bc144e10d27e3cb350f98df2492a319edd3caaf52ddfe1293f37a9afbfd7/rpds_py-0.22.3-pp310-pypy310_pp73-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:b3d504047aba448d70cf6fa22e06cb09f7cbd761939fdd47604f5e007675c24e", size = 409662, upload-time = "2024-12-04T15:33:44.748Z" }, + { url = "https://files.pythonhosted.org/packages/14/2a/6bed0b05233c291a94c7e89bc76ffa1c619d4e1979fbfe5d96024020c1fb/rpds_py-0.22.3-pp310-pypy310_pp73-musllinux_1_2_aarch64.whl", hash = "sha256:e61b02c3f7a1e0b75e20c3978f7135fd13cb6cf551bf4a6d29b999a88830a338", size = 558221, upload-time = "2024-12-04T15:33:46.459Z" }, + { url = "https://files.pythonhosted.org/packages/11/23/cd8f566de444a137bc1ee5795e47069a947e60810ba4152886fe5308e1b7/rpds_py-0.22.3-pp310-pypy310_pp73-musllinux_1_2_i686.whl", hash = "sha256:e35ba67d65d49080e8e5a1dd40101fccdd9798adb9b050ff670b7d74fa41c566", size = 583780, upload-time = "2024-12-04T15:33:48.247Z" }, + { url = "https://files.pythonhosted.org/packages/8d/63/79c3602afd14d501f751e615a74a59040328da5ef29ed5754ae80d236b84/rpds_py-0.22.3-pp310-pypy310_pp73-musllinux_1_2_x86_64.whl", hash = "sha256:26fd7cac7dd51011a245f29a2cc6489c4608b5a8ce8d75661bb4a1066c52dfbe", size = 553619, upload-time = "2024-12-04T15:33:50.449Z" }, + { url = "https://files.pythonhosted.org/packages/9f/2e/c5c1689e80298d4e94c75b70faada4c25445739d91b94c211244a3ed7ed1/rpds_py-0.22.3-pp310-pypy310_pp73-win_amd64.whl", hash = "sha256:177c7c0fce2855833819c98e43c262007f42ce86651ffbb84f37883308cb0e7d", size = 233338, upload-time = "2024-12-04T15:33:51.954Z" }, + { url = "https://files.pythonhosted.org/packages/bc/b7/d2c205723e3b4d75b03215694f0297a1b4b395bf834cb5896ad9bbb90f90/rpds_py-0.22.3-pp39-pypy39_pp73-macosx_10_12_x86_64.whl", hash = "sha256:bb47271f60660803ad11f4c61b42242b8c1312a31c98c578f79ef9387bbde21c", size = 360594, upload-time = "2024-12-04T15:33:53.482Z" }, + { url = "https://files.pythonhosted.org/packages/d8/8f/c3515f5234cf6055046d4cfe9c80a3742a20acfa7d0b1b290f0d7f56a8db/rpds_py-0.22.3-pp39-pypy39_pp73-macosx_11_0_arm64.whl", hash = "sha256:70fb28128acbfd264eda9bf47015537ba3fe86e40d046eb2963d75024be4d055", size = 349594, upload-time = "2024-12-04T15:33:54.96Z" }, + { url = "https://files.pythonhosted.org/packages/6b/98/5b487cb06afc484befe350c87fda37f4ce11333f04f3380aba43dcf5bce2/rpds_py-0.22.3-pp39-pypy39_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:44d61b4b7d0c2c9ac019c314e52d7cbda0ae31078aabd0f22e583af3e0d79723", size = 381138, upload-time = "2024-12-04T15:33:57.074Z" }, + { url = "https://files.pythonhosted.org/packages/5e/3a/12308d2c51b3fdfc173619943b7dc5ba41b4850c47112eeda38d9c54ed12/rpds_py-0.22.3-pp39-pypy39_pp73-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:5f0e260eaf54380380ac3808aa4ebe2d8ca28b9087cf411649f96bad6900c728", size = 387828, upload-time = "2024-12-04T15:33:59.232Z" }, + { url = "https://files.pythonhosted.org/packages/17/b2/c242241ab5a2a206e093f24ccbfa519c4bbf10a762ac90bffe1766c225e0/rpds_py-0.22.3-pp39-pypy39_pp73-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:b25bc607423935079e05619d7de556c91fb6adeae9d5f80868dde3468657994b", size = 424634, upload-time = "2024-12-04T15:34:01.019Z" }, + { url = "https://files.pythonhosted.org/packages/d5/c7/52a1b15012139f3ba740f291f1d03c6b632938ba61bc605f24c101952493/rpds_py-0.22.3-pp39-pypy39_pp73-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:fb6116dfb8d1925cbdb52595560584db42a7f664617a1f7d7f6e32f138cdf37d", size = 447862, upload-time = "2024-12-04T15:34:03.302Z" }, + { url = "https://files.pythonhosted.org/packages/55/3e/4d3ed8fd01bad77e8ed101116fe63b03f1011940d9596a8f4d82ac80cacd/rpds_py-0.22.3-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:a63cbdd98acef6570c62b92a1e43266f9e8b21e699c363c0fef13bd530799c11", size = 382506, upload-time = "2024-12-04T15:34:04.847Z" }, + { url = "https://files.pythonhosted.org/packages/30/78/df59d6f92470a84369a3757abeae1cfd7f7239c8beb6d948949bf78317d2/rpds_py-0.22.3-pp39-pypy39_pp73-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:2b8f60e1b739a74bab7e01fcbe3dddd4657ec685caa04681df9d562ef15b625f", size = 410534, upload-time = "2024-12-04T15:34:06.506Z" }, + { url = "https://files.pythonhosted.org/packages/38/97/ea45d1edd9b753b20084b52dd5db6ee5e1ac3e036a27149972398a413858/rpds_py-0.22.3-pp39-pypy39_pp73-musllinux_1_2_aarch64.whl", hash = "sha256:2e8b55d8517a2fda8d95cb45d62a5a8bbf9dd0ad39c5b25c8833efea07b880ca", size = 557453, upload-time = "2024-12-04T15:34:08.069Z" }, + { url = "https://files.pythonhosted.org/packages/08/cd/3a1b35eb9da27ffbb981cfffd32a01c7655c4431ccb278cb3064f8887462/rpds_py-0.22.3-pp39-pypy39_pp73-musllinux_1_2_i686.whl", hash = "sha256:2de29005e11637e7a2361fa151f780ff8eb2543a0da1413bb951e9f14b699ef3", size = 584412, upload-time = "2024-12-04T15:34:09.616Z" }, + { url = "https://files.pythonhosted.org/packages/87/91/31d1c5aeb1606f71188259e0ba6ed6f5c21a3c72f58b51db6a8bd0aa2b5d/rpds_py-0.22.3-pp39-pypy39_pp73-musllinux_1_2_x86_64.whl", hash = "sha256:666ecce376999bf619756a24ce15bb14c5bfaf04bf00abc7e663ce17c3f34fe7", size = 553446, upload-time = "2024-12-04T15:34:11.215Z" }, + { url = "https://files.pythonhosted.org/packages/e7/ad/03b5ccd1ab492c9dece85b3bf1c96453ab8c47983936fae6880f688f60b3/rpds_py-0.22.3-pp39-pypy39_pp73-win_amd64.whl", hash = "sha256:5246b14ca64a8675e0a7161f7af68fe3e910e6b90542b4bfb5439ba752191df6", size = 233013, upload-time = "2024-12-04T15:34:12.743Z" }, ] [[package]] @@ -4593,28 +4593,28 @@ resolution-markers = [ dependencies = [ { name = "numpy", version = "1.24.4", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.9'" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/84/a9/2bf119f3f9cff1f376f924e39cfae18dec92a1514784046d185731301281/scipy-1.10.1.tar.gz", hash = "sha256:2cf9dfb80a7b4589ba4c40ce7588986d6d5cebc5457cad2c2880f6bc2d42f3a5", size = 42407997 } -wheels = [ - { url = "https://files.pythonhosted.org/packages/0a/ac/b1f1bbf7b01d96495f35be003b881f10f85bf6559efb6e9578da832c2140/scipy-1.10.1-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:e7354fd7527a4b0377ce55f286805b34e8c54b91be865bac273f527e1b839019", size = 35093243 }, - { url = "https://files.pythonhosted.org/packages/ea/e5/452086ebed676ce4000ceb5eeeb0ee4f8c6f67c7e70fb9323a370ff95c1f/scipy-1.10.1-cp310-cp310-macosx_12_0_arm64.whl", hash = "sha256:4b3f429188c66603a1a5c549fb414e4d3bdc2a24792e061ffbd607d3d75fd84e", size = 28772969 }, - { url = "https://files.pythonhosted.org/packages/04/0b/a1b119c869b79a2ab459b7f9fd7e2dea75a9c7d432e64e915e75586bd00b/scipy-1.10.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:1553b5dcddd64ba9a0d95355e63fe6c3fc303a8fd77c7bc91e77d61363f7433f", size = 30886961 }, - { url = "https://files.pythonhosted.org/packages/1f/4b/3bacad9a166350cb2e518cea80ab891016933cc1653f15c90279512c5fa9/scipy-1.10.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:4c0ff64b06b10e35215abce517252b375e580a6125fd5fdf6421b98efbefb2d2", size = 34422544 }, - { url = "https://files.pythonhosted.org/packages/ec/e3/b06ac3738bf365e89710205a471abe7dceec672a51c244b469bc5d1291c7/scipy-1.10.1-cp310-cp310-win_amd64.whl", hash = "sha256:fae8a7b898c42dffe3f7361c40d5952b6bf32d10c4569098d276b4c547905ee1", size = 42484848 }, - { url = "https://files.pythonhosted.org/packages/e7/53/053cd3669be0d474deae8fe5f757bff4c4f480b8a410231e0631c068873d/scipy-1.10.1-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:0f1564ea217e82c1bbe75ddf7285ba0709ecd503f048cb1236ae9995f64217bd", size = 35003170 }, - { url = "https://files.pythonhosted.org/packages/0d/3e/d05b9de83677195886fb79844fcca19609a538db63b1790fa373155bc3cf/scipy-1.10.1-cp311-cp311-macosx_12_0_arm64.whl", hash = "sha256:d925fa1c81b772882aa55bcc10bf88324dadb66ff85d548c71515f6689c6dac5", size = 28717513 }, - { url = "https://files.pythonhosted.org/packages/a5/3d/b69746c50e44893da57a68457da3d7e5bb75f6a37fbace3769b70d017488/scipy-1.10.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:aaea0a6be54462ec027de54fca511540980d1e9eea68b2d5c1dbfe084797be35", size = 30687257 }, - { url = "https://files.pythonhosted.org/packages/21/cd/fe2d4af234b80dc08c911ce63fdaee5badcdde3e9bcd9a68884580652ef0/scipy-1.10.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:15a35c4242ec5f292c3dd364a7c71a61be87a3d4ddcc693372813c0b73c9af1d", size = 34124096 }, - { url = "https://files.pythonhosted.org/packages/65/76/903324159e4a3566e518c558aeb21571d642f781d842d8dd0fd9c6b0645a/scipy-1.10.1-cp311-cp311-win_amd64.whl", hash = "sha256:43b8e0bcb877faf0abfb613d51026cd5cc78918e9530e375727bf0625c82788f", size = 42238704 }, - { url = "https://files.pythonhosted.org/packages/a0/e3/37508a11dae501349d7c16e4dd18c706a023629eedc650ee094593887a89/scipy-1.10.1-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:5678f88c68ea866ed9ebe3a989091088553ba12c6090244fdae3e467b1139c35", size = 35041063 }, - { url = "https://files.pythonhosted.org/packages/93/4a/50c436de1353cce8b66b26e49a687f10b91fe7465bf34e4565d810153003/scipy-1.10.1-cp38-cp38-macosx_12_0_arm64.whl", hash = "sha256:39becb03541f9e58243f4197584286e339029e8908c46f7221abeea4b749fa88", size = 28797694 }, - { url = "https://files.pythonhosted.org/packages/d2/b5/ff61b79ad0ebd15d87ade10e0f4e80114dd89fac34a5efade39e99048c91/scipy-1.10.1-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:bce5869c8d68cf383ce240e44c1d9ae7c06078a9396df68ce88a1230f93a30c1", size = 31024657 }, - { url = "https://files.pythonhosted.org/packages/69/f0/fb07a9548e48b687b8bf2fa81d71aba9cfc548d365046ca1c791e24db99d/scipy-1.10.1-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:07c3457ce0b3ad5124f98a86533106b643dd811dd61b548e78cf4c8786652f6f", size = 34540352 }, - { url = "https://files.pythonhosted.org/packages/32/8e/7f403535ddf826348c9b8417791e28712019962f7e90ff845896d6325d09/scipy-1.10.1-cp38-cp38-win_amd64.whl", hash = "sha256:049a8bbf0ad95277ffba9b3b7d23e5369cc39e66406d60422c8cfef40ccc8415", size = 42215036 }, - { url = "https://files.pythonhosted.org/packages/d9/7d/78b8035bc93c869b9f17261c87aae97a9cdb937f65f0d453c2831aa172fc/scipy-1.10.1-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:cd9f1027ff30d90618914a64ca9b1a77a431159df0e2a195d8a9e8a04c78abf9", size = 35158611 }, - { url = "https://files.pythonhosted.org/packages/e7/f0/55d81813b1a4cb79ce7dc8290eac083bf38bfb36e1ada94ea13b7b1a5f79/scipy-1.10.1-cp39-cp39-macosx_12_0_arm64.whl", hash = "sha256:79c8e5a6c6ffaf3a2262ef1be1e108a035cf4f05c14df56057b64acc5bebffb6", size = 28902591 }, - { url = "https://files.pythonhosted.org/packages/77/d1/722c457b319eed1d642e0a14c9be37eb475f0e6ed1f3401fa480d5d6d36e/scipy-1.10.1-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:51af417a000d2dbe1ec6c372dfe688e041a7084da4fdd350aeb139bd3fb55353", size = 30960654 }, - { url = "https://files.pythonhosted.org/packages/5d/30/b2a2a5bf1a3beefb7609fb871dcc6aef7217c69cef19a4631b7ab5622a8a/scipy-1.10.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:1b4735d6c28aad3cdcf52117e0e91d6b39acd4272f3f5cd9907c24ee931ad601", size = 34458863 }, - { url = "https://files.pythonhosted.org/packages/35/20/0ec6246bbb43d18650c9a7cad6602e1a84fd8f9564a9b84cc5faf1e037d0/scipy-1.10.1-cp39-cp39-win_amd64.whl", hash = "sha256:7ff7f37b1bf4417baca958d254e8e2875d0cc23aaadbe65b3d5b3077b0eb23ea", size = 42509516 }, +sdist = { url = "https://files.pythonhosted.org/packages/84/a9/2bf119f3f9cff1f376f924e39cfae18dec92a1514784046d185731301281/scipy-1.10.1.tar.gz", hash = "sha256:2cf9dfb80a7b4589ba4c40ce7588986d6d5cebc5457cad2c2880f6bc2d42f3a5", size = 42407997, upload-time = "2023-02-19T21:20:13.395Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/0a/ac/b1f1bbf7b01d96495f35be003b881f10f85bf6559efb6e9578da832c2140/scipy-1.10.1-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:e7354fd7527a4b0377ce55f286805b34e8c54b91be865bac273f527e1b839019", size = 35093243, upload-time = "2023-02-19T20:33:55.754Z" }, + { url = "https://files.pythonhosted.org/packages/ea/e5/452086ebed676ce4000ceb5eeeb0ee4f8c6f67c7e70fb9323a370ff95c1f/scipy-1.10.1-cp310-cp310-macosx_12_0_arm64.whl", hash = "sha256:4b3f429188c66603a1a5c549fb414e4d3bdc2a24792e061ffbd607d3d75fd84e", size = 28772969, upload-time = "2023-02-19T20:34:39.318Z" }, + { url = "https://files.pythonhosted.org/packages/04/0b/a1b119c869b79a2ab459b7f9fd7e2dea75a9c7d432e64e915e75586bd00b/scipy-1.10.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:1553b5dcddd64ba9a0d95355e63fe6c3fc303a8fd77c7bc91e77d61363f7433f", size = 30886961, upload-time = "2023-02-19T20:35:33.724Z" }, + { url = "https://files.pythonhosted.org/packages/1f/4b/3bacad9a166350cb2e518cea80ab891016933cc1653f15c90279512c5fa9/scipy-1.10.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:4c0ff64b06b10e35215abce517252b375e580a6125fd5fdf6421b98efbefb2d2", size = 34422544, upload-time = "2023-02-19T20:37:03.859Z" }, + { url = "https://files.pythonhosted.org/packages/ec/e3/b06ac3738bf365e89710205a471abe7dceec672a51c244b469bc5d1291c7/scipy-1.10.1-cp310-cp310-win_amd64.whl", hash = "sha256:fae8a7b898c42dffe3f7361c40d5952b6bf32d10c4569098d276b4c547905ee1", size = 42484848, upload-time = "2023-02-19T20:39:09.467Z" }, + { url = "https://files.pythonhosted.org/packages/e7/53/053cd3669be0d474deae8fe5f757bff4c4f480b8a410231e0631c068873d/scipy-1.10.1-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:0f1564ea217e82c1bbe75ddf7285ba0709ecd503f048cb1236ae9995f64217bd", size = 35003170, upload-time = "2023-02-19T20:40:53.274Z" }, + { url = "https://files.pythonhosted.org/packages/0d/3e/d05b9de83677195886fb79844fcca19609a538db63b1790fa373155bc3cf/scipy-1.10.1-cp311-cp311-macosx_12_0_arm64.whl", hash = "sha256:d925fa1c81b772882aa55bcc10bf88324dadb66ff85d548c71515f6689c6dac5", size = 28717513, upload-time = "2023-02-19T20:42:20.82Z" }, + { url = "https://files.pythonhosted.org/packages/a5/3d/b69746c50e44893da57a68457da3d7e5bb75f6a37fbace3769b70d017488/scipy-1.10.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:aaea0a6be54462ec027de54fca511540980d1e9eea68b2d5c1dbfe084797be35", size = 30687257, upload-time = "2023-02-19T20:43:48.139Z" }, + { url = "https://files.pythonhosted.org/packages/21/cd/fe2d4af234b80dc08c911ce63fdaee5badcdde3e9bcd9a68884580652ef0/scipy-1.10.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:15a35c4242ec5f292c3dd364a7c71a61be87a3d4ddcc693372813c0b73c9af1d", size = 34124096, upload-time = "2023-02-19T20:45:27.415Z" }, + { url = "https://files.pythonhosted.org/packages/65/76/903324159e4a3566e518c558aeb21571d642f781d842d8dd0fd9c6b0645a/scipy-1.10.1-cp311-cp311-win_amd64.whl", hash = "sha256:43b8e0bcb877faf0abfb613d51026cd5cc78918e9530e375727bf0625c82788f", size = 42238704, upload-time = "2023-02-19T20:47:26.366Z" }, + { url = "https://files.pythonhosted.org/packages/a0/e3/37508a11dae501349d7c16e4dd18c706a023629eedc650ee094593887a89/scipy-1.10.1-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:5678f88c68ea866ed9ebe3a989091088553ba12c6090244fdae3e467b1139c35", size = 35041063, upload-time = "2023-02-19T20:49:02.296Z" }, + { url = "https://files.pythonhosted.org/packages/93/4a/50c436de1353cce8b66b26e49a687f10b91fe7465bf34e4565d810153003/scipy-1.10.1-cp38-cp38-macosx_12_0_arm64.whl", hash = "sha256:39becb03541f9e58243f4197584286e339029e8908c46f7221abeea4b749fa88", size = 28797694, upload-time = "2023-02-19T20:50:19.381Z" }, + { url = "https://files.pythonhosted.org/packages/d2/b5/ff61b79ad0ebd15d87ade10e0f4e80114dd89fac34a5efade39e99048c91/scipy-1.10.1-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:bce5869c8d68cf383ce240e44c1d9ae7c06078a9396df68ce88a1230f93a30c1", size = 31024657, upload-time = "2023-02-19T20:51:49.175Z" }, + { url = "https://files.pythonhosted.org/packages/69/f0/fb07a9548e48b687b8bf2fa81d71aba9cfc548d365046ca1c791e24db99d/scipy-1.10.1-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:07c3457ce0b3ad5124f98a86533106b643dd811dd61b548e78cf4c8786652f6f", size = 34540352, upload-time = "2023-02-19T20:53:30.821Z" }, + { url = "https://files.pythonhosted.org/packages/32/8e/7f403535ddf826348c9b8417791e28712019962f7e90ff845896d6325d09/scipy-1.10.1-cp38-cp38-win_amd64.whl", hash = "sha256:049a8bbf0ad95277ffba9b3b7d23e5369cc39e66406d60422c8cfef40ccc8415", size = 42215036, upload-time = "2023-02-19T20:55:09.639Z" }, + { url = "https://files.pythonhosted.org/packages/d9/7d/78b8035bc93c869b9f17261c87aae97a9cdb937f65f0d453c2831aa172fc/scipy-1.10.1-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:cd9f1027ff30d90618914a64ca9b1a77a431159df0e2a195d8a9e8a04c78abf9", size = 35158611, upload-time = "2023-02-19T20:56:02.715Z" }, + { url = "https://files.pythonhosted.org/packages/e7/f0/55d81813b1a4cb79ce7dc8290eac083bf38bfb36e1ada94ea13b7b1a5f79/scipy-1.10.1-cp39-cp39-macosx_12_0_arm64.whl", hash = "sha256:79c8e5a6c6ffaf3a2262ef1be1e108a035cf4f05c14df56057b64acc5bebffb6", size = 28902591, upload-time = "2023-02-19T20:56:45.728Z" }, + { url = "https://files.pythonhosted.org/packages/77/d1/722c457b319eed1d642e0a14c9be37eb475f0e6ed1f3401fa480d5d6d36e/scipy-1.10.1-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:51af417a000d2dbe1ec6c372dfe688e041a7084da4fdd350aeb139bd3fb55353", size = 30960654, upload-time = "2023-02-19T20:57:32.091Z" }, + { url = "https://files.pythonhosted.org/packages/5d/30/b2a2a5bf1a3beefb7609fb871dcc6aef7217c69cef19a4631b7ab5622a8a/scipy-1.10.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:1b4735d6c28aad3cdcf52117e0e91d6b39acd4272f3f5cd9907c24ee931ad601", size = 34458863, upload-time = "2023-02-19T20:58:23.601Z" }, + { url = "https://files.pythonhosted.org/packages/35/20/0ec6246bbb43d18650c9a7cad6602e1a84fd8f9564a9b84cc5faf1e037d0/scipy-1.10.1-cp39-cp39-win_amd64.whl", hash = "sha256:7ff7f37b1bf4417baca958d254e8e2875d0cc23aaadbe65b3d5b3077b0eb23ea", size = 42509516, upload-time = "2023-02-19T20:59:26.296Z" }, ] [[package]] @@ -4629,32 +4629,32 @@ resolution-markers = [ dependencies = [ { name = "numpy", version = "2.0.2", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version == '3.9.*'" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/ae/00/48c2f661e2816ccf2ecd77982f6605b2950afe60f60a52b4cbbc2504aa8f/scipy-1.13.1.tar.gz", hash = "sha256:095a87a0312b08dfd6a6155cbbd310a8c51800fc931b8c0b84003014b874ed3c", size = 57210720 } -wheels = [ - { url = "https://files.pythonhosted.org/packages/33/59/41b2529908c002ade869623b87eecff3e11e3ce62e996d0bdcb536984187/scipy-1.13.1-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:20335853b85e9a49ff7572ab453794298bcf0354d8068c5f6775a0eabf350aca", size = 39328076 }, - { url = "https://files.pythonhosted.org/packages/d5/33/f1307601f492f764062ce7dd471a14750f3360e33cd0f8c614dae208492c/scipy-1.13.1-cp310-cp310-macosx_12_0_arm64.whl", hash = "sha256:d605e9c23906d1994f55ace80e0125c587f96c020037ea6aa98d01b4bd2e222f", size = 30306232 }, - { url = "https://files.pythonhosted.org/packages/c0/66/9cd4f501dd5ea03e4a4572ecd874936d0da296bd04d1c45ae1a4a75d9c3a/scipy-1.13.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:cfa31f1def5c819b19ecc3a8b52d28ffdcc7ed52bb20c9a7589669dd3c250989", size = 33743202 }, - { url = "https://files.pythonhosted.org/packages/a3/ba/7255e5dc82a65adbe83771c72f384d99c43063648456796436c9a5585ec3/scipy-1.13.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f26264b282b9da0952a024ae34710c2aff7d27480ee91a2e82b7b7073c24722f", size = 38577335 }, - { url = "https://files.pythonhosted.org/packages/49/a5/bb9ded8326e9f0cdfdc412eeda1054b914dfea952bda2097d174f8832cc0/scipy-1.13.1-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:eccfa1906eacc02de42d70ef4aecea45415f5be17e72b61bafcfd329bdc52e94", size = 38820728 }, - { url = "https://files.pythonhosted.org/packages/12/30/df7a8fcc08f9b4a83f5f27cfaaa7d43f9a2d2ad0b6562cced433e5b04e31/scipy-1.13.1-cp310-cp310-win_amd64.whl", hash = "sha256:2831f0dc9c5ea9edd6e51e6e769b655f08ec6db6e2e10f86ef39bd32eb11da54", size = 46210588 }, - { url = "https://files.pythonhosted.org/packages/b4/15/4a4bb1b15bbd2cd2786c4f46e76b871b28799b67891f23f455323a0cdcfb/scipy-1.13.1-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:27e52b09c0d3a1d5b63e1105f24177e544a222b43611aaf5bc44d4a0979e32f9", size = 39333805 }, - { url = "https://files.pythonhosted.org/packages/ba/92/42476de1af309c27710004f5cdebc27bec62c204db42e05b23a302cb0c9a/scipy-1.13.1-cp311-cp311-macosx_12_0_arm64.whl", hash = "sha256:54f430b00f0133e2224c3ba42b805bfd0086fe488835effa33fa291561932326", size = 30317687 }, - { url = "https://files.pythonhosted.org/packages/80/ba/8be64fe225360a4beb6840f3cbee494c107c0887f33350d0a47d55400b01/scipy-1.13.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:e89369d27f9e7b0884ae559a3a956e77c02114cc60a6058b4e5011572eea9299", size = 33694638 }, - { url = "https://files.pythonhosted.org/packages/36/07/035d22ff9795129c5a847c64cb43c1fa9188826b59344fee28a3ab02e283/scipy-1.13.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:a78b4b3345f1b6f68a763c6e25c0c9a23a9fd0f39f5f3d200efe8feda560a5fa", size = 38569931 }, - { url = "https://files.pythonhosted.org/packages/d9/10/f9b43de37e5ed91facc0cfff31d45ed0104f359e4f9a68416cbf4e790241/scipy-1.13.1-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:45484bee6d65633752c490404513b9ef02475b4284c4cfab0ef946def50b3f59", size = 38838145 }, - { url = "https://files.pythonhosted.org/packages/4a/48/4513a1a5623a23e95f94abd675ed91cfb19989c58e9f6f7d03990f6caf3d/scipy-1.13.1-cp311-cp311-win_amd64.whl", hash = "sha256:5713f62f781eebd8d597eb3f88b8bf9274e79eeabf63afb4a737abc6c84ad37b", size = 46196227 }, - { url = "https://files.pythonhosted.org/packages/f2/7b/fb6b46fbee30fc7051913068758414f2721003a89dd9a707ad49174e3843/scipy-1.13.1-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:5d72782f39716b2b3509cd7c33cdc08c96f2f4d2b06d51e52fb45a19ca0c86a1", size = 39357301 }, - { url = "https://files.pythonhosted.org/packages/dc/5a/2043a3bde1443d94014aaa41e0b50c39d046dda8360abd3b2a1d3f79907d/scipy-1.13.1-cp312-cp312-macosx_12_0_arm64.whl", hash = "sha256:017367484ce5498445aade74b1d5ab377acdc65e27095155e448c88497755a5d", size = 30363348 }, - { url = "https://files.pythonhosted.org/packages/e7/cb/26e4a47364bbfdb3b7fb3363be6d8a1c543bcd70a7753ab397350f5f189a/scipy-1.13.1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:949ae67db5fa78a86e8fa644b9a6b07252f449dcf74247108c50e1d20d2b4627", size = 33406062 }, - { url = "https://files.pythonhosted.org/packages/88/ab/6ecdc526d509d33814835447bbbeedbebdec7cca46ef495a61b00a35b4bf/scipy-1.13.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:de3ade0e53bc1f21358aa74ff4830235d716211d7d077e340c7349bc3542e884", size = 38218311 }, - { url = "https://files.pythonhosted.org/packages/0b/00/9f54554f0f8318100a71515122d8f4f503b1a2c4b4cfab3b4b68c0eb08fa/scipy-1.13.1-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:2ac65fb503dad64218c228e2dc2d0a0193f7904747db43014645ae139c8fad16", size = 38442493 }, - { url = "https://files.pythonhosted.org/packages/3e/df/963384e90733e08eac978cd103c34df181d1fec424de383cdc443f418dd4/scipy-1.13.1-cp312-cp312-win_amd64.whl", hash = "sha256:cdd7dacfb95fea358916410ec61bbc20440f7860333aee6d882bb8046264e949", size = 45910955 }, - { url = "https://files.pythonhosted.org/packages/7f/29/c2ea58c9731b9ecb30b6738113a95d147e83922986b34c685b8f6eefde21/scipy-1.13.1-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:436bbb42a94a8aeef855d755ce5a465479c721e9d684de76bf61a62e7c2b81d5", size = 39352927 }, - { url = "https://files.pythonhosted.org/packages/5c/c0/e71b94b20ccf9effb38d7147c0064c08c622309fd487b1b677771a97d18c/scipy-1.13.1-cp39-cp39-macosx_12_0_arm64.whl", hash = "sha256:8335549ebbca860c52bf3d02f80784e91a004b71b059e3eea9678ba994796a24", size = 30324538 }, - { url = "https://files.pythonhosted.org/packages/6d/0f/aaa55b06d474817cea311e7b10aab2ea1fd5d43bc6a2861ccc9caec9f418/scipy-1.13.1-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d533654b7d221a6a97304ab63c41c96473ff04459e404b83275b60aa8f4b7004", size = 33732190 }, - { url = "https://files.pythonhosted.org/packages/35/f5/d0ad1a96f80962ba65e2ce1de6a1e59edecd1f0a7b55990ed208848012e0/scipy-1.13.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:637e98dcf185ba7f8e663e122ebf908c4702420477ae52a04f9908707456ba4d", size = 38612244 }, - { url = "https://files.pythonhosted.org/packages/8d/02/1165905f14962174e6569076bcc3315809ae1291ed14de6448cc151eedfd/scipy-1.13.1-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:a014c2b3697bde71724244f63de2476925596c24285c7a637364761f8710891c", size = 38845637 }, - { url = "https://files.pythonhosted.org/packages/3e/77/dab54fe647a08ee4253963bcd8f9cf17509c8ca64d6335141422fe2e2114/scipy-1.13.1-cp39-cp39-win_amd64.whl", hash = "sha256:392e4ec766654852c25ebad4f64e4e584cf19820b980bc04960bca0b0cd6eaa2", size = 46227440 }, +sdist = { url = "https://files.pythonhosted.org/packages/ae/00/48c2f661e2816ccf2ecd77982f6605b2950afe60f60a52b4cbbc2504aa8f/scipy-1.13.1.tar.gz", hash = "sha256:095a87a0312b08dfd6a6155cbbd310a8c51800fc931b8c0b84003014b874ed3c", size = 57210720, upload-time = "2024-05-23T03:29:26.079Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/33/59/41b2529908c002ade869623b87eecff3e11e3ce62e996d0bdcb536984187/scipy-1.13.1-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:20335853b85e9a49ff7572ab453794298bcf0354d8068c5f6775a0eabf350aca", size = 39328076, upload-time = "2024-05-23T03:19:01.687Z" }, + { url = "https://files.pythonhosted.org/packages/d5/33/f1307601f492f764062ce7dd471a14750f3360e33cd0f8c614dae208492c/scipy-1.13.1-cp310-cp310-macosx_12_0_arm64.whl", hash = "sha256:d605e9c23906d1994f55ace80e0125c587f96c020037ea6aa98d01b4bd2e222f", size = 30306232, upload-time = "2024-05-23T03:19:09.089Z" }, + { url = "https://files.pythonhosted.org/packages/c0/66/9cd4f501dd5ea03e4a4572ecd874936d0da296bd04d1c45ae1a4a75d9c3a/scipy-1.13.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:cfa31f1def5c819b19ecc3a8b52d28ffdcc7ed52bb20c9a7589669dd3c250989", size = 33743202, upload-time = "2024-05-23T03:19:15.138Z" }, + { url = "https://files.pythonhosted.org/packages/a3/ba/7255e5dc82a65adbe83771c72f384d99c43063648456796436c9a5585ec3/scipy-1.13.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f26264b282b9da0952a024ae34710c2aff7d27480ee91a2e82b7b7073c24722f", size = 38577335, upload-time = "2024-05-23T03:19:21.984Z" }, + { url = "https://files.pythonhosted.org/packages/49/a5/bb9ded8326e9f0cdfdc412eeda1054b914dfea952bda2097d174f8832cc0/scipy-1.13.1-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:eccfa1906eacc02de42d70ef4aecea45415f5be17e72b61bafcfd329bdc52e94", size = 38820728, upload-time = "2024-05-23T03:19:28.225Z" }, + { url = "https://files.pythonhosted.org/packages/12/30/df7a8fcc08f9b4a83f5f27cfaaa7d43f9a2d2ad0b6562cced433e5b04e31/scipy-1.13.1-cp310-cp310-win_amd64.whl", hash = "sha256:2831f0dc9c5ea9edd6e51e6e769b655f08ec6db6e2e10f86ef39bd32eb11da54", size = 46210588, upload-time = "2024-05-23T03:19:35.661Z" }, + { url = "https://files.pythonhosted.org/packages/b4/15/4a4bb1b15bbd2cd2786c4f46e76b871b28799b67891f23f455323a0cdcfb/scipy-1.13.1-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:27e52b09c0d3a1d5b63e1105f24177e544a222b43611aaf5bc44d4a0979e32f9", size = 39333805, upload-time = "2024-05-23T03:19:43.081Z" }, + { url = "https://files.pythonhosted.org/packages/ba/92/42476de1af309c27710004f5cdebc27bec62c204db42e05b23a302cb0c9a/scipy-1.13.1-cp311-cp311-macosx_12_0_arm64.whl", hash = "sha256:54f430b00f0133e2224c3ba42b805bfd0086fe488835effa33fa291561932326", size = 30317687, upload-time = "2024-05-23T03:19:48.799Z" }, + { url = "https://files.pythonhosted.org/packages/80/ba/8be64fe225360a4beb6840f3cbee494c107c0887f33350d0a47d55400b01/scipy-1.13.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:e89369d27f9e7b0884ae559a3a956e77c02114cc60a6058b4e5011572eea9299", size = 33694638, upload-time = "2024-05-23T03:19:55.104Z" }, + { url = "https://files.pythonhosted.org/packages/36/07/035d22ff9795129c5a847c64cb43c1fa9188826b59344fee28a3ab02e283/scipy-1.13.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:a78b4b3345f1b6f68a763c6e25c0c9a23a9fd0f39f5f3d200efe8feda560a5fa", size = 38569931, upload-time = "2024-05-23T03:20:01.82Z" }, + { url = "https://files.pythonhosted.org/packages/d9/10/f9b43de37e5ed91facc0cfff31d45ed0104f359e4f9a68416cbf4e790241/scipy-1.13.1-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:45484bee6d65633752c490404513b9ef02475b4284c4cfab0ef946def50b3f59", size = 38838145, upload-time = "2024-05-23T03:20:09.173Z" }, + { url = "https://files.pythonhosted.org/packages/4a/48/4513a1a5623a23e95f94abd675ed91cfb19989c58e9f6f7d03990f6caf3d/scipy-1.13.1-cp311-cp311-win_amd64.whl", hash = "sha256:5713f62f781eebd8d597eb3f88b8bf9274e79eeabf63afb4a737abc6c84ad37b", size = 46196227, upload-time = "2024-05-23T03:20:16.433Z" }, + { url = "https://files.pythonhosted.org/packages/f2/7b/fb6b46fbee30fc7051913068758414f2721003a89dd9a707ad49174e3843/scipy-1.13.1-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:5d72782f39716b2b3509cd7c33cdc08c96f2f4d2b06d51e52fb45a19ca0c86a1", size = 39357301, upload-time = "2024-05-23T03:20:23.538Z" }, + { url = "https://files.pythonhosted.org/packages/dc/5a/2043a3bde1443d94014aaa41e0b50c39d046dda8360abd3b2a1d3f79907d/scipy-1.13.1-cp312-cp312-macosx_12_0_arm64.whl", hash = "sha256:017367484ce5498445aade74b1d5ab377acdc65e27095155e448c88497755a5d", size = 30363348, upload-time = "2024-05-23T03:20:29.885Z" }, + { url = "https://files.pythonhosted.org/packages/e7/cb/26e4a47364bbfdb3b7fb3363be6d8a1c543bcd70a7753ab397350f5f189a/scipy-1.13.1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:949ae67db5fa78a86e8fa644b9a6b07252f449dcf74247108c50e1d20d2b4627", size = 33406062, upload-time = "2024-05-23T03:20:36.012Z" }, + { url = "https://files.pythonhosted.org/packages/88/ab/6ecdc526d509d33814835447bbbeedbebdec7cca46ef495a61b00a35b4bf/scipy-1.13.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:de3ade0e53bc1f21358aa74ff4830235d716211d7d077e340c7349bc3542e884", size = 38218311, upload-time = "2024-05-23T03:20:42.086Z" }, + { url = "https://files.pythonhosted.org/packages/0b/00/9f54554f0f8318100a71515122d8f4f503b1a2c4b4cfab3b4b68c0eb08fa/scipy-1.13.1-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:2ac65fb503dad64218c228e2dc2d0a0193f7904747db43014645ae139c8fad16", size = 38442493, upload-time = "2024-05-23T03:20:48.292Z" }, + { url = "https://files.pythonhosted.org/packages/3e/df/963384e90733e08eac978cd103c34df181d1fec424de383cdc443f418dd4/scipy-1.13.1-cp312-cp312-win_amd64.whl", hash = "sha256:cdd7dacfb95fea358916410ec61bbc20440f7860333aee6d882bb8046264e949", size = 45910955, upload-time = "2024-05-23T03:20:55.091Z" }, + { url = "https://files.pythonhosted.org/packages/7f/29/c2ea58c9731b9ecb30b6738113a95d147e83922986b34c685b8f6eefde21/scipy-1.13.1-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:436bbb42a94a8aeef855d755ce5a465479c721e9d684de76bf61a62e7c2b81d5", size = 39352927, upload-time = "2024-05-23T03:21:01.95Z" }, + { url = "https://files.pythonhosted.org/packages/5c/c0/e71b94b20ccf9effb38d7147c0064c08c622309fd487b1b677771a97d18c/scipy-1.13.1-cp39-cp39-macosx_12_0_arm64.whl", hash = "sha256:8335549ebbca860c52bf3d02f80784e91a004b71b059e3eea9678ba994796a24", size = 30324538, upload-time = "2024-05-23T03:21:07.634Z" }, + { url = "https://files.pythonhosted.org/packages/6d/0f/aaa55b06d474817cea311e7b10aab2ea1fd5d43bc6a2861ccc9caec9f418/scipy-1.13.1-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d533654b7d221a6a97304ab63c41c96473ff04459e404b83275b60aa8f4b7004", size = 33732190, upload-time = "2024-05-23T03:21:14.41Z" }, + { url = "https://files.pythonhosted.org/packages/35/f5/d0ad1a96f80962ba65e2ce1de6a1e59edecd1f0a7b55990ed208848012e0/scipy-1.13.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:637e98dcf185ba7f8e663e122ebf908c4702420477ae52a04f9908707456ba4d", size = 38612244, upload-time = "2024-05-23T03:21:21.827Z" }, + { url = "https://files.pythonhosted.org/packages/8d/02/1165905f14962174e6569076bcc3315809ae1291ed14de6448cc151eedfd/scipy-1.13.1-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:a014c2b3697bde71724244f63de2476925596c24285c7a637364761f8710891c", size = 38845637, upload-time = "2024-05-23T03:21:28.729Z" }, + { url = "https://files.pythonhosted.org/packages/3e/77/dab54fe647a08ee4253963bcd8f9cf17509c8ca64d6335141422fe2e2114/scipy-1.13.1-cp39-cp39-win_amd64.whl", hash = "sha256:392e4ec766654852c25ebad4f64e4e584cf19820b980bc04960bca0b0cd6eaa2", size = 46227440, upload-time = "2024-05-23T03:21:35.888Z" }, ] [[package]] @@ -4675,47 +4675,47 @@ resolution-markers = [ dependencies = [ { name = "numpy", version = "2.2.2", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.10'" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/76/c6/8eb0654ba0c7d0bb1bf67bf8fbace101a8e4f250f7722371105e8b6f68fc/scipy-1.15.1.tar.gz", hash = "sha256:033a75ddad1463970c96a88063a1df87ccfddd526437136b6ee81ff0312ebdf6", size = 59407493 } -wheels = [ - { url = "https://files.pythonhosted.org/packages/86/53/b204ce5a4433f1864001b9d16f103b9c25f5002a602ae83585d0ea5f9c4a/scipy-1.15.1-cp310-cp310-macosx_10_13_x86_64.whl", hash = "sha256:c64ded12dcab08afff9e805a67ff4480f5e69993310e093434b10e85dc9d43e1", size = 41414518 }, - { url = "https://files.pythonhosted.org/packages/c7/fc/54ffa7a8847f7f303197a6ba65a66104724beba2e38f328135a78f0dc480/scipy-1.15.1-cp310-cp310-macosx_12_0_arm64.whl", hash = "sha256:5b190b935e7db569960b48840e5bef71dc513314cc4e79a1b7d14664f57fd4ff", size = 32519265 }, - { url = "https://files.pythonhosted.org/packages/f1/77/a98b8ba03d6f371dc31a38719affd53426d4665729dcffbed4afe296784a/scipy-1.15.1-cp310-cp310-macosx_14_0_arm64.whl", hash = "sha256:4b17d4220df99bacb63065c76b0d1126d82bbf00167d1730019d2a30d6ae01ea", size = 24792859 }, - { url = "https://files.pythonhosted.org/packages/a7/78/70bb9f0df7444b18b108580934bfef774822e28fd34a68e5c263c7d2828a/scipy-1.15.1-cp310-cp310-macosx_14_0_x86_64.whl", hash = "sha256:63b9b6cd0333d0eb1a49de6f834e8aeaefe438df8f6372352084535ad095219e", size = 27886506 }, - { url = "https://files.pythonhosted.org/packages/14/a7/f40f6033e06de4176ddd6cc8c3ae9f10a226c3bca5d6b4ab883bc9914a14/scipy-1.15.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:9f151e9fb60fbf8e52426132f473221a49362091ce7a5e72f8aa41f8e0da4f25", size = 38375041 }, - { url = "https://files.pythonhosted.org/packages/17/03/390a1c5c61fd76b0fa4b3c5aa3bdd7e60f6c46f712924f1a9df5705ec046/scipy-1.15.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:21e10b1dd56ce92fba3e786007322542361984f8463c6d37f6f25935a5a6ef52", size = 40597556 }, - { url = "https://files.pythonhosted.org/packages/4e/70/fa95b3ae026b97eeca58204a90868802e5155ac71b9d7bdee92b68115dd3/scipy-1.15.1-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:5dff14e75cdbcf07cdaa1c7707db6017d130f0af9ac41f6ce443a93318d6c6e0", size = 42938505 }, - { url = "https://files.pythonhosted.org/packages/d6/07/427859116bdd71847c898180f01802691f203c3e2455a1eb496130ff07c5/scipy-1.15.1-cp310-cp310-win_amd64.whl", hash = "sha256:f82fcf4e5b377f819542fbc8541f7b5fbcf1c0017d0df0bc22c781bf60abc4d8", size = 43909663 }, - { url = "https://files.pythonhosted.org/packages/8e/2e/7b71312da9c2dabff53e7c9a9d08231bc34d9d8fdabe88a6f1155b44591c/scipy-1.15.1-cp311-cp311-macosx_10_13_x86_64.whl", hash = "sha256:5bd8d27d44e2c13d0c1124e6a556454f52cd3f704742985f6b09e75e163d20d2", size = 41424362 }, - { url = "https://files.pythonhosted.org/packages/81/8c/ab85f1aa1cc200c796532a385b6ebf6a81089747adc1da7482a062acc46c/scipy-1.15.1-cp311-cp311-macosx_12_0_arm64.whl", hash = "sha256:be3deeb32844c27599347faa077b359584ba96664c5c79d71a354b80a0ad0ce0", size = 32535910 }, - { url = "https://files.pythonhosted.org/packages/3b/9c/6f4b787058daa8d8da21ddff881b4320e28de4704a65ec147adb50cb2230/scipy-1.15.1-cp311-cp311-macosx_14_0_arm64.whl", hash = "sha256:5eb0ca35d4b08e95da99a9f9c400dc9f6c21c424298a0ba876fdc69c7afacedf", size = 24809398 }, - { url = "https://files.pythonhosted.org/packages/16/2b/949460a796df75fc7a1ee1becea202cf072edbe325ebe29f6d2029947aa7/scipy-1.15.1-cp311-cp311-macosx_14_0_x86_64.whl", hash = "sha256:74bb864ff7640dea310a1377d8567dc2cb7599c26a79ca852fc184cc851954ac", size = 27918045 }, - { url = "https://files.pythonhosted.org/packages/5f/36/67fe249dd7ccfcd2a38b25a640e3af7e59d9169c802478b6035ba91dfd6d/scipy-1.15.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:667f950bf8b7c3a23b4199db24cb9bf7512e27e86d0e3813f015b74ec2c6e3df", size = 38332074 }, - { url = "https://files.pythonhosted.org/packages/fc/da/452e1119e6f720df3feb588cce3c42c5e3d628d4bfd4aec097bd30b7de0c/scipy-1.15.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:395be70220d1189756068b3173853029a013d8c8dd5fd3d1361d505b2aa58fa7", size = 40588469 }, - { url = "https://files.pythonhosted.org/packages/7f/71/5f94aceeac99a4941478af94fe9f459c6752d497035b6b0761a700f5f9ff/scipy-1.15.1-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:ce3a000cd28b4430426db2ca44d96636f701ed12e2b3ca1f2b1dd7abdd84b39a", size = 42965214 }, - { url = "https://files.pythonhosted.org/packages/af/25/caa430865749d504271757cafd24066d596217e83326155993980bc22f97/scipy-1.15.1-cp311-cp311-win_amd64.whl", hash = "sha256:3fe1d95944f9cf6ba77aa28b82dd6bb2a5b52f2026beb39ecf05304b8392864b", size = 43896034 }, - { url = "https://files.pythonhosted.org/packages/d8/6e/a9c42d0d39e09ed7fd203d0ac17adfea759cba61ab457671fe66e523dbec/scipy-1.15.1-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:c09aa9d90f3500ea4c9b393ee96f96b0ccb27f2f350d09a47f533293c78ea776", size = 41478318 }, - { url = "https://files.pythonhosted.org/packages/04/ee/e3e535c81828618878a7433992fecc92fa4df79393f31a8fea1d05615091/scipy-1.15.1-cp312-cp312-macosx_12_0_arm64.whl", hash = "sha256:0ac102ce99934b162914b1e4a6b94ca7da0f4058b6d6fd65b0cef330c0f3346f", size = 32596696 }, - { url = "https://files.pythonhosted.org/packages/c4/5e/b1b0124be8e76f87115f16b8915003eec4b7060298117715baf13f51942c/scipy-1.15.1-cp312-cp312-macosx_14_0_arm64.whl", hash = "sha256:09c52320c42d7f5c7748b69e9f0389266fd4f82cf34c38485c14ee976cb8cb04", size = 24870366 }, - { url = "https://files.pythonhosted.org/packages/14/36/c00cb73eefda85946172c27913ab995c6ad4eee00fa4f007572e8c50cd51/scipy-1.15.1-cp312-cp312-macosx_14_0_x86_64.whl", hash = "sha256:cdde8414154054763b42b74fe8ce89d7f3d17a7ac5dd77204f0e142cdc9239e9", size = 28007461 }, - { url = "https://files.pythonhosted.org/packages/68/94/aff5c51b3799349a9d1e67a056772a0f8a47db371e83b498d43467806557/scipy-1.15.1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:4c9d8fc81d6a3b6844235e6fd175ee1d4c060163905a2becce8e74cb0d7554ce", size = 38068174 }, - { url = "https://files.pythonhosted.org/packages/b0/3c/0de11ca154e24a57b579fb648151d901326d3102115bc4f9a7a86526ce54/scipy-1.15.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:0fb57b30f0017d4afa5fe5f5b150b8f807618819287c21cbe51130de7ccdaed2", size = 40249869 }, - { url = "https://files.pythonhosted.org/packages/15/09/472e8d0a6b33199d1bb95e49bedcabc0976c3724edd9b0ef7602ccacf41e/scipy-1.15.1-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:491d57fe89927fa1aafbe260f4cfa5ffa20ab9f1435025045a5315006a91b8f5", size = 42629068 }, - { url = "https://files.pythonhosted.org/packages/ff/ba/31c7a8131152822b3a2cdeba76398ffb404d81d640de98287d236da90c49/scipy-1.15.1-cp312-cp312-win_amd64.whl", hash = "sha256:900f3fa3db87257510f011c292a5779eb627043dd89731b9c461cd16ef76ab3d", size = 43621992 }, - { url = "https://files.pythonhosted.org/packages/2b/bf/dd68965a4c5138a630eeed0baec9ae96e5d598887835bdde96cdd2fe4780/scipy-1.15.1-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:100193bb72fbff37dbd0bf14322314fc7cbe08b7ff3137f11a34d06dc0ee6b85", size = 41441136 }, - { url = "https://files.pythonhosted.org/packages/ef/5e/4928581312922d7e4d416d74c416a660addec4dd5ea185401df2269ba5a0/scipy-1.15.1-cp313-cp313-macosx_12_0_arm64.whl", hash = "sha256:2114a08daec64980e4b4cbdf5bee90935af66d750146b1d2feb0d3ac30613692", size = 32533699 }, - { url = "https://files.pythonhosted.org/packages/32/90/03f99c43041852837686898c66767787cd41c5843d7a1509c39ffef683e9/scipy-1.15.1-cp313-cp313-macosx_14_0_arm64.whl", hash = "sha256:6b3e71893c6687fc5e29208d518900c24ea372a862854c9888368c0b267387ab", size = 24807289 }, - { url = "https://files.pythonhosted.org/packages/9d/52/bfe82b42ae112eaba1af2f3e556275b8727d55ac6e4932e7aef337a9d9d4/scipy-1.15.1-cp313-cp313-macosx_14_0_x86_64.whl", hash = "sha256:837299eec3d19b7e042923448d17d95a86e43941104d33f00da7e31a0f715d3c", size = 27929844 }, - { url = "https://files.pythonhosted.org/packages/f6/77/54ff610bad600462c313326acdb035783accc6a3d5f566d22757ad297564/scipy-1.15.1-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:82add84e8a9fb12af5c2c1a3a3f1cb51849d27a580cb9e6bd66226195142be6e", size = 38031272 }, - { url = "https://files.pythonhosted.org/packages/f1/26/98585cbf04c7cf503d7eb0a1966df8a268154b5d923c5fe0c1ed13154c49/scipy-1.15.1-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:070d10654f0cb6abd295bc96c12656f948e623ec5f9a4eab0ddb1466c000716e", size = 40210217 }, - { url = "https://files.pythonhosted.org/packages/fd/3f/3d2285eb6fece8bc5dbb2f9f94d61157d61d155e854fd5fea825b8218f12/scipy-1.15.1-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:55cc79ce4085c702ac31e49b1e69b27ef41111f22beafb9b49fea67142b696c4", size = 42587785 }, - { url = "https://files.pythonhosted.org/packages/48/7d/5b5251984bf0160d6533695a74a5fddb1fa36edd6f26ffa8c871fbd4782a/scipy-1.15.1-cp313-cp313-win_amd64.whl", hash = "sha256:c352c1b6d7cac452534517e022f8f7b8d139cd9f27e6fbd9f3cbd0bfd39f5bef", size = 43640439 }, - { url = "https://files.pythonhosted.org/packages/e7/b8/0e092f592d280496de52e152582030f8a270b194f87f890e1a97c5599b81/scipy-1.15.1-cp313-cp313t-macosx_10_13_x86_64.whl", hash = "sha256:0458839c9f873062db69a03de9a9765ae2e694352c76a16be44f93ea45c28d2b", size = 41619862 }, - { url = "https://files.pythonhosted.org/packages/f6/19/0b6e1173aba4db9e0b7aa27fe45019857fb90d6904038b83927cbe0a6c1d/scipy-1.15.1-cp313-cp313t-macosx_12_0_arm64.whl", hash = "sha256:af0b61c1de46d0565b4b39c6417373304c1d4f5220004058bdad3061c9fa8a95", size = 32610387 }, - { url = "https://files.pythonhosted.org/packages/e7/02/754aae3bd1fa0f2479ade3cfdf1732ecd6b05853f63eee6066a32684563a/scipy-1.15.1-cp313-cp313t-macosx_14_0_arm64.whl", hash = "sha256:71ba9a76c2390eca6e359be81a3e879614af3a71dfdabb96d1d7ab33da6f2364", size = 24883814 }, - { url = "https://files.pythonhosted.org/packages/1f/ac/d7906201604a2ea3b143bb0de51b3966f66441ba50b7dc182c4505b3edf9/scipy-1.15.1-cp313-cp313t-macosx_14_0_x86_64.whl", hash = "sha256:14eaa373c89eaf553be73c3affb11ec6c37493b7eaaf31cf9ac5dffae700c2e0", size = 27944865 }, - { url = "https://files.pythonhosted.org/packages/84/9d/8f539002b5e203723af6a6f513a45e0a7671e9dabeedb08f417ac17e4edc/scipy-1.15.1-cp313-cp313t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f735bc41bd1c792c96bc426dece66c8723283695f02df61dcc4d0a707a42fc54", size = 39883261 }, - { url = "https://files.pythonhosted.org/packages/97/c0/62fd3bab828bcccc9b864c5997645a3b86372a35941cdaf677565c25c98d/scipy-1.15.1-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:2722a021a7929d21168830790202a75dbb20b468a8133c74a2c0230c72626b6c", size = 42093299 }, - { url = "https://files.pythonhosted.org/packages/e4/1f/5d46a8d94e9f6d2c913cbb109e57e7eed914de38ea99e2c4d69a9fc93140/scipy-1.15.1-cp313-cp313t-win_amd64.whl", hash = "sha256:bc7136626261ac1ed988dca56cfc4ab5180f75e0ee52e58f1e6aa74b5f3eacd5", size = 43181730 }, +sdist = { url = "https://files.pythonhosted.org/packages/76/c6/8eb0654ba0c7d0bb1bf67bf8fbace101a8e4f250f7722371105e8b6f68fc/scipy-1.15.1.tar.gz", hash = "sha256:033a75ddad1463970c96a88063a1df87ccfddd526437136b6ee81ff0312ebdf6", size = 59407493, upload-time = "2025-01-11T00:06:16.883Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/86/53/b204ce5a4433f1864001b9d16f103b9c25f5002a602ae83585d0ea5f9c4a/scipy-1.15.1-cp310-cp310-macosx_10_13_x86_64.whl", hash = "sha256:c64ded12dcab08afff9e805a67ff4480f5e69993310e093434b10e85dc9d43e1", size = 41414518, upload-time = "2025-01-10T23:59:19.173Z" }, + { url = "https://files.pythonhosted.org/packages/c7/fc/54ffa7a8847f7f303197a6ba65a66104724beba2e38f328135a78f0dc480/scipy-1.15.1-cp310-cp310-macosx_12_0_arm64.whl", hash = "sha256:5b190b935e7db569960b48840e5bef71dc513314cc4e79a1b7d14664f57fd4ff", size = 32519265, upload-time = "2025-01-10T23:59:27.6Z" }, + { url = "https://files.pythonhosted.org/packages/f1/77/a98b8ba03d6f371dc31a38719affd53426d4665729dcffbed4afe296784a/scipy-1.15.1-cp310-cp310-macosx_14_0_arm64.whl", hash = "sha256:4b17d4220df99bacb63065c76b0d1126d82bbf00167d1730019d2a30d6ae01ea", size = 24792859, upload-time = "2025-01-10T23:59:33.906Z" }, + { url = "https://files.pythonhosted.org/packages/a7/78/70bb9f0df7444b18b108580934bfef774822e28fd34a68e5c263c7d2828a/scipy-1.15.1-cp310-cp310-macosx_14_0_x86_64.whl", hash = "sha256:63b9b6cd0333d0eb1a49de6f834e8aeaefe438df8f6372352084535ad095219e", size = 27886506, upload-time = "2025-01-10T23:59:39.288Z" }, + { url = "https://files.pythonhosted.org/packages/14/a7/f40f6033e06de4176ddd6cc8c3ae9f10a226c3bca5d6b4ab883bc9914a14/scipy-1.15.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:9f151e9fb60fbf8e52426132f473221a49362091ce7a5e72f8aa41f8e0da4f25", size = 38375041, upload-time = "2025-01-10T23:59:47.066Z" }, + { url = "https://files.pythonhosted.org/packages/17/03/390a1c5c61fd76b0fa4b3c5aa3bdd7e60f6c46f712924f1a9df5705ec046/scipy-1.15.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:21e10b1dd56ce92fba3e786007322542361984f8463c6d37f6f25935a5a6ef52", size = 40597556, upload-time = "2025-01-10T23:59:55.199Z" }, + { url = "https://files.pythonhosted.org/packages/4e/70/fa95b3ae026b97eeca58204a90868802e5155ac71b9d7bdee92b68115dd3/scipy-1.15.1-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:5dff14e75cdbcf07cdaa1c7707db6017d130f0af9ac41f6ce443a93318d6c6e0", size = 42938505, upload-time = "2025-01-11T00:00:04.734Z" }, + { url = "https://files.pythonhosted.org/packages/d6/07/427859116bdd71847c898180f01802691f203c3e2455a1eb496130ff07c5/scipy-1.15.1-cp310-cp310-win_amd64.whl", hash = "sha256:f82fcf4e5b377f819542fbc8541f7b5fbcf1c0017d0df0bc22c781bf60abc4d8", size = 43909663, upload-time = "2025-01-11T00:00:15.339Z" }, + { url = "https://files.pythonhosted.org/packages/8e/2e/7b71312da9c2dabff53e7c9a9d08231bc34d9d8fdabe88a6f1155b44591c/scipy-1.15.1-cp311-cp311-macosx_10_13_x86_64.whl", hash = "sha256:5bd8d27d44e2c13d0c1124e6a556454f52cd3f704742985f6b09e75e163d20d2", size = 41424362, upload-time = "2025-01-11T00:00:22.985Z" }, + { url = "https://files.pythonhosted.org/packages/81/8c/ab85f1aa1cc200c796532a385b6ebf6a81089747adc1da7482a062acc46c/scipy-1.15.1-cp311-cp311-macosx_12_0_arm64.whl", hash = "sha256:be3deeb32844c27599347faa077b359584ba96664c5c79d71a354b80a0ad0ce0", size = 32535910, upload-time = "2025-01-11T00:00:29.569Z" }, + { url = "https://files.pythonhosted.org/packages/3b/9c/6f4b787058daa8d8da21ddff881b4320e28de4704a65ec147adb50cb2230/scipy-1.15.1-cp311-cp311-macosx_14_0_arm64.whl", hash = "sha256:5eb0ca35d4b08e95da99a9f9c400dc9f6c21c424298a0ba876fdc69c7afacedf", size = 24809398, upload-time = "2025-01-11T00:00:36.218Z" }, + { url = "https://files.pythonhosted.org/packages/16/2b/949460a796df75fc7a1ee1becea202cf072edbe325ebe29f6d2029947aa7/scipy-1.15.1-cp311-cp311-macosx_14_0_x86_64.whl", hash = "sha256:74bb864ff7640dea310a1377d8567dc2cb7599c26a79ca852fc184cc851954ac", size = 27918045, upload-time = "2025-01-11T00:00:42.627Z" }, + { url = "https://files.pythonhosted.org/packages/5f/36/67fe249dd7ccfcd2a38b25a640e3af7e59d9169c802478b6035ba91dfd6d/scipy-1.15.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:667f950bf8b7c3a23b4199db24cb9bf7512e27e86d0e3813f015b74ec2c6e3df", size = 38332074, upload-time = "2025-01-11T00:00:52.633Z" }, + { url = "https://files.pythonhosted.org/packages/fc/da/452e1119e6f720df3feb588cce3c42c5e3d628d4bfd4aec097bd30b7de0c/scipy-1.15.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:395be70220d1189756068b3173853029a013d8c8dd5fd3d1361d505b2aa58fa7", size = 40588469, upload-time = "2025-01-11T00:01:00.149Z" }, + { url = "https://files.pythonhosted.org/packages/7f/71/5f94aceeac99a4941478af94fe9f459c6752d497035b6b0761a700f5f9ff/scipy-1.15.1-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:ce3a000cd28b4430426db2ca44d96636f701ed12e2b3ca1f2b1dd7abdd84b39a", size = 42965214, upload-time = "2025-01-11T00:01:10.131Z" }, + { url = "https://files.pythonhosted.org/packages/af/25/caa430865749d504271757cafd24066d596217e83326155993980bc22f97/scipy-1.15.1-cp311-cp311-win_amd64.whl", hash = "sha256:3fe1d95944f9cf6ba77aa28b82dd6bb2a5b52f2026beb39ecf05304b8392864b", size = 43896034, upload-time = "2025-01-11T00:01:40.933Z" }, + { url = "https://files.pythonhosted.org/packages/d8/6e/a9c42d0d39e09ed7fd203d0ac17adfea759cba61ab457671fe66e523dbec/scipy-1.15.1-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:c09aa9d90f3500ea4c9b393ee96f96b0ccb27f2f350d09a47f533293c78ea776", size = 41478318, upload-time = "2025-01-11T00:01:53.571Z" }, + { url = "https://files.pythonhosted.org/packages/04/ee/e3e535c81828618878a7433992fecc92fa4df79393f31a8fea1d05615091/scipy-1.15.1-cp312-cp312-macosx_12_0_arm64.whl", hash = "sha256:0ac102ce99934b162914b1e4a6b94ca7da0f4058b6d6fd65b0cef330c0f3346f", size = 32596696, upload-time = "2025-01-11T00:02:03.859Z" }, + { url = "https://files.pythonhosted.org/packages/c4/5e/b1b0124be8e76f87115f16b8915003eec4b7060298117715baf13f51942c/scipy-1.15.1-cp312-cp312-macosx_14_0_arm64.whl", hash = "sha256:09c52320c42d7f5c7748b69e9f0389266fd4f82cf34c38485c14ee976cb8cb04", size = 24870366, upload-time = "2025-01-11T00:02:12.434Z" }, + { url = "https://files.pythonhosted.org/packages/14/36/c00cb73eefda85946172c27913ab995c6ad4eee00fa4f007572e8c50cd51/scipy-1.15.1-cp312-cp312-macosx_14_0_x86_64.whl", hash = "sha256:cdde8414154054763b42b74fe8ce89d7f3d17a7ac5dd77204f0e142cdc9239e9", size = 28007461, upload-time = "2025-01-11T00:02:20.237Z" }, + { url = "https://files.pythonhosted.org/packages/68/94/aff5c51b3799349a9d1e67a056772a0f8a47db371e83b498d43467806557/scipy-1.15.1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:4c9d8fc81d6a3b6844235e6fd175ee1d4c060163905a2becce8e74cb0d7554ce", size = 38068174, upload-time = "2025-01-11T00:02:30.21Z" }, + { url = "https://files.pythonhosted.org/packages/b0/3c/0de11ca154e24a57b579fb648151d901326d3102115bc4f9a7a86526ce54/scipy-1.15.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:0fb57b30f0017d4afa5fe5f5b150b8f807618819287c21cbe51130de7ccdaed2", size = 40249869, upload-time = "2025-01-11T00:02:41.811Z" }, + { url = "https://files.pythonhosted.org/packages/15/09/472e8d0a6b33199d1bb95e49bedcabc0976c3724edd9b0ef7602ccacf41e/scipy-1.15.1-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:491d57fe89927fa1aafbe260f4cfa5ffa20ab9f1435025045a5315006a91b8f5", size = 42629068, upload-time = "2025-01-11T00:02:53.118Z" }, + { url = "https://files.pythonhosted.org/packages/ff/ba/31c7a8131152822b3a2cdeba76398ffb404d81d640de98287d236da90c49/scipy-1.15.1-cp312-cp312-win_amd64.whl", hash = "sha256:900f3fa3db87257510f011c292a5779eb627043dd89731b9c461cd16ef76ab3d", size = 43621992, upload-time = "2025-01-11T00:03:04.53Z" }, + { url = "https://files.pythonhosted.org/packages/2b/bf/dd68965a4c5138a630eeed0baec9ae96e5d598887835bdde96cdd2fe4780/scipy-1.15.1-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:100193bb72fbff37dbd0bf14322314fc7cbe08b7ff3137f11a34d06dc0ee6b85", size = 41441136, upload-time = "2025-01-11T00:03:17.245Z" }, + { url = "https://files.pythonhosted.org/packages/ef/5e/4928581312922d7e4d416d74c416a660addec4dd5ea185401df2269ba5a0/scipy-1.15.1-cp313-cp313-macosx_12_0_arm64.whl", hash = "sha256:2114a08daec64980e4b4cbdf5bee90935af66d750146b1d2feb0d3ac30613692", size = 32533699, upload-time = "2025-01-11T00:03:26.894Z" }, + { url = "https://files.pythonhosted.org/packages/32/90/03f99c43041852837686898c66767787cd41c5843d7a1509c39ffef683e9/scipy-1.15.1-cp313-cp313-macosx_14_0_arm64.whl", hash = "sha256:6b3e71893c6687fc5e29208d518900c24ea372a862854c9888368c0b267387ab", size = 24807289, upload-time = "2025-01-11T00:03:34.263Z" }, + { url = "https://files.pythonhosted.org/packages/9d/52/bfe82b42ae112eaba1af2f3e556275b8727d55ac6e4932e7aef337a9d9d4/scipy-1.15.1-cp313-cp313-macosx_14_0_x86_64.whl", hash = "sha256:837299eec3d19b7e042923448d17d95a86e43941104d33f00da7e31a0f715d3c", size = 27929844, upload-time = "2025-01-11T00:03:42.934Z" }, + { url = "https://files.pythonhosted.org/packages/f6/77/54ff610bad600462c313326acdb035783accc6a3d5f566d22757ad297564/scipy-1.15.1-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:82add84e8a9fb12af5c2c1a3a3f1cb51849d27a580cb9e6bd66226195142be6e", size = 38031272, upload-time = "2025-01-11T00:03:52.509Z" }, + { url = "https://files.pythonhosted.org/packages/f1/26/98585cbf04c7cf503d7eb0a1966df8a268154b5d923c5fe0c1ed13154c49/scipy-1.15.1-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:070d10654f0cb6abd295bc96c12656f948e623ec5f9a4eab0ddb1466c000716e", size = 40210217, upload-time = "2025-01-11T00:04:05.615Z" }, + { url = "https://files.pythonhosted.org/packages/fd/3f/3d2285eb6fece8bc5dbb2f9f94d61157d61d155e854fd5fea825b8218f12/scipy-1.15.1-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:55cc79ce4085c702ac31e49b1e69b27ef41111f22beafb9b49fea67142b696c4", size = 42587785, upload-time = "2025-01-11T00:04:16.702Z" }, + { url = "https://files.pythonhosted.org/packages/48/7d/5b5251984bf0160d6533695a74a5fddb1fa36edd6f26ffa8c871fbd4782a/scipy-1.15.1-cp313-cp313-win_amd64.whl", hash = "sha256:c352c1b6d7cac452534517e022f8f7b8d139cd9f27e6fbd9f3cbd0bfd39f5bef", size = 43640439, upload-time = "2025-01-11T00:05:28.233Z" }, + { url = "https://files.pythonhosted.org/packages/e7/b8/0e092f592d280496de52e152582030f8a270b194f87f890e1a97c5599b81/scipy-1.15.1-cp313-cp313t-macosx_10_13_x86_64.whl", hash = "sha256:0458839c9f873062db69a03de9a9765ae2e694352c76a16be44f93ea45c28d2b", size = 41619862, upload-time = "2025-01-11T00:04:26.419Z" }, + { url = "https://files.pythonhosted.org/packages/f6/19/0b6e1173aba4db9e0b7aa27fe45019857fb90d6904038b83927cbe0a6c1d/scipy-1.15.1-cp313-cp313t-macosx_12_0_arm64.whl", hash = "sha256:af0b61c1de46d0565b4b39c6417373304c1d4f5220004058bdad3061c9fa8a95", size = 32610387, upload-time = "2025-01-11T00:04:35.474Z" }, + { url = "https://files.pythonhosted.org/packages/e7/02/754aae3bd1fa0f2479ade3cfdf1732ecd6b05853f63eee6066a32684563a/scipy-1.15.1-cp313-cp313t-macosx_14_0_arm64.whl", hash = "sha256:71ba9a76c2390eca6e359be81a3e879614af3a71dfdabb96d1d7ab33da6f2364", size = 24883814, upload-time = "2025-01-11T00:04:46.708Z" }, + { url = "https://files.pythonhosted.org/packages/1f/ac/d7906201604a2ea3b143bb0de51b3966f66441ba50b7dc182c4505b3edf9/scipy-1.15.1-cp313-cp313t-macosx_14_0_x86_64.whl", hash = "sha256:14eaa373c89eaf553be73c3affb11ec6c37493b7eaaf31cf9ac5dffae700c2e0", size = 27944865, upload-time = "2025-01-11T00:04:54.43Z" }, + { url = "https://files.pythonhosted.org/packages/84/9d/8f539002b5e203723af6a6f513a45e0a7671e9dabeedb08f417ac17e4edc/scipy-1.15.1-cp313-cp313t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f735bc41bd1c792c96bc426dece66c8723283695f02df61dcc4d0a707a42fc54", size = 39883261, upload-time = "2025-01-11T00:05:01.015Z" }, + { url = "https://files.pythonhosted.org/packages/97/c0/62fd3bab828bcccc9b864c5997645a3b86372a35941cdaf677565c25c98d/scipy-1.15.1-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:2722a021a7929d21168830790202a75dbb20b468a8133c74a2c0230c72626b6c", size = 42093299, upload-time = "2025-01-11T00:05:10.873Z" }, + { url = "https://files.pythonhosted.org/packages/e4/1f/5d46a8d94e9f6d2c913cbb109e57e7eed914de38ea99e2c4d69a9fc93140/scipy-1.15.1-cp313-cp313t-win_amd64.whl", hash = "sha256:bc7136626261ac1ed988dca56cfc4ab5180f75e0ee52e58f1e6aa74b5f3eacd5", size = 43181730, upload-time = "2025-01-11T00:05:20.145Z" }, ] [[package]] @@ -4726,18 +4726,18 @@ dependencies = [ { name = "cryptography", marker = "(python_full_version < '3.10' and platform_machine != 'arm64') or sys_platform != 'darwin'" }, { name = "jeepney", marker = "(python_full_version < '3.10' and platform_machine != 'arm64') or sys_platform != 'darwin'" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/53/a4/f48c9d79cb507ed1373477dbceaba7401fd8a23af63b837fa61f1dcd3691/SecretStorage-3.3.3.tar.gz", hash = "sha256:2403533ef369eca6d2ba81718576c5e0f564d5cca1b58f73a8b23e7d4eeebd77", size = 19739 } +sdist = { url = "https://files.pythonhosted.org/packages/53/a4/f48c9d79cb507ed1373477dbceaba7401fd8a23af63b837fa61f1dcd3691/SecretStorage-3.3.3.tar.gz", hash = "sha256:2403533ef369eca6d2ba81718576c5e0f564d5cca1b58f73a8b23e7d4eeebd77", size = 19739, upload-time = "2022-08-13T16:22:46.976Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/54/24/b4293291fa1dd830f353d2cb163295742fa87f179fcc8a20a306a81978b7/SecretStorage-3.3.3-py3-none-any.whl", hash = "sha256:f356e6628222568e3af06f2eba8df495efa13b3b63081dafd4f7d9a7b7bc9f99", size = 15221 }, + { url = "https://files.pythonhosted.org/packages/54/24/b4293291fa1dd830f353d2cb163295742fa87f179fcc8a20a306a81978b7/SecretStorage-3.3.3-py3-none-any.whl", hash = "sha256:f356e6628222568e3af06f2eba8df495efa13b3b63081dafd4f7d9a7b7bc9f99", size = 15221, upload-time = "2022-08-13T16:22:44.457Z" }, ] [[package]] name = "send2trash" version = "1.8.3" source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/fd/3a/aec9b02217bb79b87bbc1a21bc6abc51e3d5dcf65c30487ac96c0908c722/Send2Trash-1.8.3.tar.gz", hash = "sha256:b18e7a3966d99871aefeb00cfbcfdced55ce4871194810fc71f4aa484b953abf", size = 17394 } +sdist = { url = "https://files.pythonhosted.org/packages/fd/3a/aec9b02217bb79b87bbc1a21bc6abc51e3d5dcf65c30487ac96c0908c722/Send2Trash-1.8.3.tar.gz", hash = "sha256:b18e7a3966d99871aefeb00cfbcfdced55ce4871194810fc71f4aa484b953abf", size = 17394, upload-time = "2024-04-07T00:01:09.267Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/40/b0/4562db6223154aa4e22f939003cb92514c79f3d4dccca3444253fd17f902/Send2Trash-1.8.3-py3-none-any.whl", hash = "sha256:0c31227e0bd08961c7665474a3d1ef7193929fedda4233843689baa056be46c9", size = 18072 }, + { url = "https://files.pythonhosted.org/packages/40/b0/4562db6223154aa4e22f939003cb92514c79f3d4dccca3444253fd17f902/Send2Trash-1.8.3-py3-none-any.whl", hash = "sha256:0c31227e0bd08961c7665474a3d1ef7193929fedda4233843689baa056be46c9", size = 18072, upload-time = "2024-04-07T00:01:07.438Z" }, ] [[package]] @@ -4749,9 +4749,9 @@ resolution-markers = [ "python_full_version < '3.9' and platform_machine == 'aarch64' and sys_platform == 'linux'", "(python_full_version < '3.9' and platform_machine != 'arm64' and sys_platform == 'darwin') or (python_full_version < '3.9' and platform_machine != 'aarch64' and sys_platform == 'linux') or (python_full_version < '3.9' and sys_platform != 'darwin' and sys_platform != 'linux')", ] -sdist = { url = "https://files.pythonhosted.org/packages/ed/22/a438e0caa4576f8c383fa4d35f1cc01655a46c75be358960d815bfbb12bd/setuptools-75.3.0.tar.gz", hash = "sha256:fba5dd4d766e97be1b1681d98712680ae8f2f26d7881245f2ce9e40714f1a686", size = 1351577 } +sdist = { url = "https://files.pythonhosted.org/packages/ed/22/a438e0caa4576f8c383fa4d35f1cc01655a46c75be358960d815bfbb12bd/setuptools-75.3.0.tar.gz", hash = "sha256:fba5dd4d766e97be1b1681d98712680ae8f2f26d7881245f2ce9e40714f1a686", size = 1351577, upload-time = "2024-10-29T10:23:25.911Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/90/12/282ee9bce8b58130cb762fbc9beabd531549952cac11fc56add11dcb7ea0/setuptools-75.3.0-py3-none-any.whl", hash = "sha256:f2504966861356aa38616760c0f66568e535562374995367b4e69c7143cf6bcd", size = 1251070 }, + { url = "https://files.pythonhosted.org/packages/90/12/282ee9bce8b58130cb762fbc9beabd531549952cac11fc56add11dcb7ea0/setuptools-75.3.0-py3-none-any.whl", hash = "sha256:f2504966861356aa38616760c0f66568e535562374995367b4e69c7143cf6bcd", size = 1251070, upload-time = "2024-10-29T10:23:24.074Z" }, ] [[package]] @@ -4772,45 +4772,45 @@ resolution-markers = [ "python_full_version == '3.9.*' and platform_machine == 'aarch64' and sys_platform == 'linux'", "(python_full_version == '3.9.*' and platform_machine != 'arm64' and sys_platform == 'darwin') or (python_full_version == '3.9.*' and platform_machine != 'aarch64' and sys_platform == 'linux') or (python_full_version == '3.9.*' and sys_platform != 'darwin' and sys_platform != 'linux')", ] -sdist = { url = "https://files.pythonhosted.org/packages/92/ec/089608b791d210aec4e7f97488e67ab0d33add3efccb83a056cbafe3a2a6/setuptools-75.8.0.tar.gz", hash = "sha256:c5afc8f407c626b8313a86e10311dd3f661c6cd9c09d4bf8c15c0e11f9f2b0e6", size = 1343222 } +sdist = { url = "https://files.pythonhosted.org/packages/92/ec/089608b791d210aec4e7f97488e67ab0d33add3efccb83a056cbafe3a2a6/setuptools-75.8.0.tar.gz", hash = "sha256:c5afc8f407c626b8313a86e10311dd3f661c6cd9c09d4bf8c15c0e11f9f2b0e6", size = 1343222, upload-time = "2025-01-08T18:28:23.98Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/69/8a/b9dc7678803429e4a3bc9ba462fa3dd9066824d3c607490235c6a796be5a/setuptools-75.8.0-py3-none-any.whl", hash = "sha256:e3982f444617239225d675215d51f6ba05f845d4eec313da4418fdbb56fb27e3", size = 1228782 }, + { url = "https://files.pythonhosted.org/packages/69/8a/b9dc7678803429e4a3bc9ba462fa3dd9066824d3c607490235c6a796be5a/setuptools-75.8.0-py3-none-any.whl", hash = "sha256:e3982f444617239225d675215d51f6ba05f845d4eec313da4418fdbb56fb27e3", size = 1228782, upload-time = "2025-01-08T18:28:20.912Z" }, ] [[package]] name = "six" version = "1.17.0" source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/94/e7/b2c673351809dca68a0e064b6af791aa332cf192da575fd474ed7d6f16a2/six-1.17.0.tar.gz", hash = "sha256:ff70335d468e7eb6ec65b95b99d3a2836546063f63acc5171de367e834932a81", size = 34031 } +sdist = { url = "https://files.pythonhosted.org/packages/94/e7/b2c673351809dca68a0e064b6af791aa332cf192da575fd474ed7d6f16a2/six-1.17.0.tar.gz", hash = "sha256:ff70335d468e7eb6ec65b95b99d3a2836546063f63acc5171de367e834932a81", size = 34031, upload-time = "2024-12-04T17:35:28.174Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/b7/ce/149a00dd41f10bc29e5921b496af8b574d8413afcd5e30dfa0ed46c2cc5e/six-1.17.0-py2.py3-none-any.whl", hash = "sha256:4721f391ed90541fddacab5acf947aa0d3dc7d27b2e1e8eda2be8970586c3274", size = 11050 }, + { url = "https://files.pythonhosted.org/packages/b7/ce/149a00dd41f10bc29e5921b496af8b574d8413afcd5e30dfa0ed46c2cc5e/six-1.17.0-py2.py3-none-any.whl", hash = "sha256:4721f391ed90541fddacab5acf947aa0d3dc7d27b2e1e8eda2be8970586c3274", size = 11050, upload-time = "2024-12-04T17:35:26.475Z" }, ] [[package]] name = "smmap" version = "5.0.2" source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/44/cd/a040c4b3119bbe532e5b0732286f805445375489fceaec1f48306068ee3b/smmap-5.0.2.tar.gz", hash = "sha256:26ea65a03958fa0c8a1c7e8c7a58fdc77221b8910f6be2131affade476898ad5", size = 22329 } +sdist = { url = "https://files.pythonhosted.org/packages/44/cd/a040c4b3119bbe532e5b0732286f805445375489fceaec1f48306068ee3b/smmap-5.0.2.tar.gz", hash = "sha256:26ea65a03958fa0c8a1c7e8c7a58fdc77221b8910f6be2131affade476898ad5", size = 22329, upload-time = "2025-01-02T07:14:40.909Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/04/be/d09147ad1ec7934636ad912901c5fd7667e1c858e19d355237db0d0cd5e4/smmap-5.0.2-py3-none-any.whl", hash = "sha256:b30115f0def7d7531d22a0fb6502488d879e75b260a9db4d0819cfb25403af5e", size = 24303 }, + { url = "https://files.pythonhosted.org/packages/04/be/d09147ad1ec7934636ad912901c5fd7667e1c858e19d355237db0d0cd5e4/smmap-5.0.2-py3-none-any.whl", hash = "sha256:b30115f0def7d7531d22a0fb6502488d879e75b260a9db4d0819cfb25403af5e", size = 24303, upload-time = "2025-01-02T07:14:38.724Z" }, ] [[package]] name = "sniffio" version = "1.3.1" source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/a2/87/a6771e1546d97e7e041b6ae58d80074f81b7d5121207425c964ddf5cfdbd/sniffio-1.3.1.tar.gz", hash = "sha256:f4324edc670a0f49750a81b895f35c3adb843cca46f0530f79fc1babb23789dc", size = 20372 } +sdist = { url = "https://files.pythonhosted.org/packages/a2/87/a6771e1546d97e7e041b6ae58d80074f81b7d5121207425c964ddf5cfdbd/sniffio-1.3.1.tar.gz", hash = "sha256:f4324edc670a0f49750a81b895f35c3adb843cca46f0530f79fc1babb23789dc", size = 20372, upload-time = "2024-02-25T23:20:04.057Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/e9/44/75a9c9421471a6c4805dbf2356f7c181a29c1879239abab1ea2cc8f38b40/sniffio-1.3.1-py3-none-any.whl", hash = "sha256:2f6da418d1f1e0fddd844478f41680e794e6051915791a034ff65e5f100525a2", size = 10235 }, + { url = "https://files.pythonhosted.org/packages/e9/44/75a9c9421471a6c4805dbf2356f7c181a29c1879239abab1ea2cc8f38b40/sniffio-1.3.1-py3-none-any.whl", hash = "sha256:2f6da418d1f1e0fddd844478f41680e794e6051915791a034ff65e5f100525a2", size = 10235, upload-time = "2024-02-25T23:20:01.196Z" }, ] [[package]] name = "soupsieve" version = "2.6" source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/d7/ce/fbaeed4f9fb8b2daa961f90591662df6a86c1abf25c548329a86920aedfb/soupsieve-2.6.tar.gz", hash = "sha256:e2e68417777af359ec65daac1057404a3c8a5455bb8abc36f1a9866ab1a51abb", size = 101569 } +sdist = { url = "https://files.pythonhosted.org/packages/d7/ce/fbaeed4f9fb8b2daa961f90591662df6a86c1abf25c548329a86920aedfb/soupsieve-2.6.tar.gz", hash = "sha256:e2e68417777af359ec65daac1057404a3c8a5455bb8abc36f1a9866ab1a51abb", size = 101569, upload-time = "2024-08-13T13:39:12.166Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/d1/c2/fe97d779f3ef3b15f05c94a2f1e3d21732574ed441687474db9d342a7315/soupsieve-2.6-py3-none-any.whl", hash = "sha256:e72c4ff06e4fb6e4b5a9f0f55fe6e81514581fca1515028625d0f299c602ccc9", size = 36186 }, + { url = "https://files.pythonhosted.org/packages/d1/c2/fe97d779f3ef3b15f05c94a2f1e3d21732574ed441687474db9d342a7315/soupsieve-2.6-py3-none-any.whl", hash = "sha256:e72c4ff06e4fb6e4b5a9f0f55fe6e81514581fca1515028625d0f299c602ccc9", size = 36186, upload-time = "2024-08-13T13:39:10.986Z" }, ] [[package]] @@ -4822,14 +4822,14 @@ dependencies = [ { name = "executing" }, { name = "pure-eval" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/28/e3/55dcc2cfbc3ca9c29519eb6884dd1415ecb53b0e934862d3559ddcb7e20b/stack_data-0.6.3.tar.gz", hash = "sha256:836a778de4fec4dcd1dcd89ed8abff8a221f58308462e1c4aa2a3cf30148f0b9", size = 44707 } +sdist = { url = "https://files.pythonhosted.org/packages/28/e3/55dcc2cfbc3ca9c29519eb6884dd1415ecb53b0e934862d3559ddcb7e20b/stack_data-0.6.3.tar.gz", hash = "sha256:836a778de4fec4dcd1dcd89ed8abff8a221f58308462e1c4aa2a3cf30148f0b9", size = 44707, upload-time = "2023-09-30T13:58:05.479Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/f1/7b/ce1eafaf1a76852e2ec9b22edecf1daa58175c090266e9f6c64afcd81d91/stack_data-0.6.3-py3-none-any.whl", hash = "sha256:d5558e0c25a4cb0853cddad3d77da9891a08cb85dd9f9f91b9f8cd66e511e695", size = 24521 }, + { url = "https://files.pythonhosted.org/packages/f1/7b/ce1eafaf1a76852e2ec9b22edecf1daa58175c090266e9f6c64afcd81d91/stack_data-0.6.3-py3-none-any.whl", hash = "sha256:d5558e0c25a4cb0853cddad3d77da9891a08cb85dd9f9f91b9f8cd66e511e695", size = 24521, upload-time = "2023-09-30T13:58:03.53Z" }, ] [[package]] name = "supervision" -version = "0.26.0rc4" +version = "0.26.0rc7" source = { editable = "." } dependencies = [ { name = "defusedxml" }, @@ -4850,6 +4850,12 @@ dependencies = [ ] [package.optional-dependencies] +metrics = [ + { name = "pandas", version = "2.0.3", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.9'" }, + { name = "pandas", version = "2.2.3", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.9'" }, +] + +[package.dev-dependencies] build = [ { name = "build" }, { name = "twine" }, @@ -4877,42 +4883,46 @@ docs = [ { name = "mkdocstrings-python", version = "1.11.1", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.9'" }, { name = "mkdocstrings-python", version = "1.13.0", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.9'" }, ] -metrics = [ - { name = "pandas", version = "2.0.3", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.9'" }, - { name = "pandas", version = "2.2.3", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.9'" }, -] [package.metadata] requires-dist = [ - { name = "build", marker = "extra == 'build'", specifier = ">=0.10,<1.3" }, { name = "defusedxml", specifier = ">=0.7.1" }, - { name = "docutils", marker = "extra == 'dev'", specifier = "!=0.21" }, - { name = "ipywidgets", marker = "extra == 'dev'", specifier = ">=8.1.1" }, - { name = "jupytext", marker = "extra == 'dev'", specifier = ">=1.16.1" }, { name = "matplotlib", specifier = ">=3.6.0" }, - { name = "mike", marker = "extra == 'docs'", specifier = ">=2.0.0" }, - { name = "mkdocs-git-committers-plugin-2", marker = "python_full_version >= '3.8' and python_full_version < '4' and extra == 'docs'", specifier = ">=2.4.1" }, - { name = "mkdocs-git-revision-date-localized-plugin", marker = "extra == 'docs'", specifier = ">=1.2.4" }, - { name = "mkdocs-jupyter", marker = "extra == 'docs'", specifier = ">=0.24.3" }, - { name = "mkdocs-material", extras = ["imaging"], marker = "extra == 'docs'", specifier = ">=9.5.5" }, - { name = "mkdocstrings", marker = "extra == 'docs'", specifier = ">=0.25.2,<0.29.0" }, - { name = "mkdocstrings-python", marker = "extra == 'docs'", specifier = ">=1.10.9" }, - { name = "nbconvert", marker = "extra == 'dev'", specifier = ">=7.14.2" }, - { name = "notebook", marker = "extra == 'dev'", specifier = ">=6.5.3,<8.0.0" }, { name = "numpy", specifier = ">=1.21.2" }, { name = "opencv-python", specifier = ">=4.5.5.64" }, { name = "pandas", marker = "extra == 'metrics'", specifier = ">=2.0.0" }, { name = "pillow", specifier = ">=9.4" }, - { name = "pytest", marker = "extra == 'dev'", specifier = ">=7.2.2,<9.0.0" }, { name = "pyyaml", specifier = ">=5.3" }, { name = "requests", specifier = ">=2.26.0" }, { name = "scipy", specifier = ">=1.10.0" }, - { name = "tox", marker = "extra == 'dev'", specifier = ">=4.11.4" }, { name = "tqdm", specifier = ">=4.62.3" }, - { name = "twine", marker = "extra == 'build'", specifier = ">=5.1.1,<7.0.0" }, - { name = "wheel", marker = "extra == 'build'", specifier = ">=0.40,<0.46" }, ] -provides-extras = ["metrics", "dev", "docs", "build"] +provides-extras = ["metrics"] + +[package.metadata.requires-dev] +build = [ + { name = "build", specifier = ">=0.10,<1.3" }, + { name = "twine", specifier = ">=5.1.1,<7.0.0" }, + { name = "wheel", specifier = ">=0.40,<0.46" }, +] +dev = [ + { name = "docutils", specifier = "!=0.21" }, + { name = "ipywidgets", specifier = ">=8.1.1" }, + { name = "jupytext", specifier = ">=1.16.1" }, + { name = "nbconvert", specifier = ">=7.14.2" }, + { name = "notebook", specifier = ">=6.5.3,<8.0.0" }, + { name = "pytest", specifier = ">=7.2.2,<9.0.0" }, + { name = "tox", specifier = ">=4.11.4" }, +] +docs = [ + { name = "mike", specifier = ">=2.0.0" }, + { name = "mkdocs-git-committers-plugin-2", marker = "python_full_version >= '3.8' and python_full_version < '4'", specifier = ">=2.4.1" }, + { name = "mkdocs-git-revision-date-localized-plugin", specifier = ">=1.2.4" }, + { name = "mkdocs-jupyter", specifier = ">=0.24.3" }, + { name = "mkdocs-material", extras = ["imaging"], specifier = ">=9.5.5" }, + { name = "mkdocstrings", specifier = ">=0.25.2,<0.30.0" }, + { name = "mkdocstrings-python", specifier = ">=1.10.9" }, +] [[package]] name = "terminado" @@ -4924,9 +4934,9 @@ dependencies = [ { name = "pywinpty", version = "2.0.15", source = { registry = "https://pypi.org/simple" }, marker = "(python_full_version == '3.9.*' and os_name == 'nt' and platform_machine != 'arm64' and sys_platform == 'darwin') or (python_full_version >= '3.9' and os_name == 'nt' and platform_machine != 'aarch64' and sys_platform == 'linux') or (python_full_version >= '3.9' and os_name == 'nt' and sys_platform != 'darwin' and sys_platform != 'linux')" }, { name = "tornado" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/8a/11/965c6fd8e5cc254f1fe142d547387da17a8ebfd75a3455f637c663fb38a0/terminado-0.18.1.tar.gz", hash = "sha256:de09f2c4b85de4765f7714688fff57d3e75bad1f909b589fde880460c753fd2e", size = 32701 } +sdist = { url = "https://files.pythonhosted.org/packages/8a/11/965c6fd8e5cc254f1fe142d547387da17a8ebfd75a3455f637c663fb38a0/terminado-0.18.1.tar.gz", hash = "sha256:de09f2c4b85de4765f7714688fff57d3e75bad1f909b589fde880460c753fd2e", size = 32701, upload-time = "2024-03-12T14:34:39.026Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/6a/9e/2064975477fdc887e47ad42157e214526dcad8f317a948dee17e1659a62f/terminado-0.18.1-py3-none-any.whl", hash = "sha256:a4468e1b37bb318f8a86514f65814e1afc977cf29b3992a4500d9dd305dcceb0", size = 14154 }, + { url = "https://files.pythonhosted.org/packages/6a/9e/2064975477fdc887e47ad42157e214526dcad8f317a948dee17e1659a62f/terminado-0.18.1-py3-none-any.whl", hash = "sha256:a4468e1b37bb318f8a86514f65814e1afc977cf29b3992a4500d9dd305dcceb0", size = 14154, upload-time = "2024-03-12T14:34:36.569Z" }, ] [[package]] @@ -4941,9 +4951,9 @@ resolution-markers = [ dependencies = [ { name = "webencodings", marker = "python_full_version < '3.9'" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/75/be/24179dfaa1d742c9365cbd0e3f0edc5d3aa3abad415a2327c5a6ff8ca077/tinycss2-1.2.1.tar.gz", hash = "sha256:8cff3a8f066c2ec677c06dbc7b45619804a6938478d9d73c284b29d14ecb0627", size = 65957 } +sdist = { url = "https://files.pythonhosted.org/packages/75/be/24179dfaa1d742c9365cbd0e3f0edc5d3aa3abad415a2327c5a6ff8ca077/tinycss2-1.2.1.tar.gz", hash = "sha256:8cff3a8f066c2ec677c06dbc7b45619804a6938478d9d73c284b29d14ecb0627", size = 65957, upload-time = "2022-10-18T07:04:56.49Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/da/99/fd23634d6962c2791fb8cb6ccae1f05dcbfc39bce36bba8b1c9a8d92eae8/tinycss2-1.2.1-py3-none-any.whl", hash = "sha256:2b80a96d41e7c3914b8cda8bc7f705a4d9c49275616e886103dd839dfc847847", size = 21824 }, + { url = "https://files.pythonhosted.org/packages/da/99/fd23634d6962c2791fb8cb6ccae1f05dcbfc39bce36bba8b1c9a8d92eae8/tinycss2-1.2.1-py3-none-any.whl", hash = "sha256:2b80a96d41e7c3914b8cda8bc7f705a4d9c49275616e886103dd839dfc847847", size = 21824, upload-time = "2022-10-18T07:04:54.003Z" }, ] [[package]] @@ -4967,66 +4977,66 @@ resolution-markers = [ dependencies = [ { name = "webencodings", marker = "python_full_version >= '3.9'" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/7a/fd/7a5ee21fd08ff70d3d33a5781c255cbe779659bd03278feb98b19ee550f4/tinycss2-1.4.0.tar.gz", hash = "sha256:10c0972f6fc0fbee87c3edb76549357415e94548c1ae10ebccdea16fb404a9b7", size = 87085 } +sdist = { url = "https://files.pythonhosted.org/packages/7a/fd/7a5ee21fd08ff70d3d33a5781c255cbe779659bd03278feb98b19ee550f4/tinycss2-1.4.0.tar.gz", hash = "sha256:10c0972f6fc0fbee87c3edb76549357415e94548c1ae10ebccdea16fb404a9b7", size = 87085, upload-time = "2024-10-24T14:58:29.895Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/e6/34/ebdc18bae6aa14fbee1a08b63c015c72b64868ff7dae68808ab500c492e2/tinycss2-1.4.0-py3-none-any.whl", hash = "sha256:3a49cf47b7675da0b15d0c6e1df8df4ebd96e9394bb905a5775adb0d884c5289", size = 26610 }, + { url = "https://files.pythonhosted.org/packages/e6/34/ebdc18bae6aa14fbee1a08b63c015c72b64868ff7dae68808ab500c492e2/tinycss2-1.4.0-py3-none-any.whl", hash = "sha256:3a49cf47b7675da0b15d0c6e1df8df4ebd96e9394bb905a5775adb0d884c5289", size = 26610, upload-time = "2024-10-24T14:58:28.029Z" }, ] [[package]] name = "tomli" version = "2.2.1" source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/18/87/302344fed471e44a87289cf4967697d07e532f2421fdaf868a303cbae4ff/tomli-2.2.1.tar.gz", hash = "sha256:cd45e1dc79c835ce60f7404ec8119f2eb06d38b1deba146f07ced3bbc44505ff", size = 17175 } -wheels = [ - { url = "https://files.pythonhosted.org/packages/43/ca/75707e6efa2b37c77dadb324ae7d9571cb424e61ea73fad7c56c2d14527f/tomli-2.2.1-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:678e4fa69e4575eb77d103de3df8a895e1591b48e740211bd1067378c69e8249", size = 131077 }, - { url = "https://files.pythonhosted.org/packages/c7/16/51ae563a8615d472fdbffc43a3f3d46588c264ac4f024f63f01283becfbb/tomli-2.2.1-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:023aa114dd824ade0100497eb2318602af309e5a55595f76b626d6d9f3b7b0a6", size = 123429 }, - { url = "https://files.pythonhosted.org/packages/f1/dd/4f6cd1e7b160041db83c694abc78e100473c15d54620083dbd5aae7b990e/tomli-2.2.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:ece47d672db52ac607a3d9599a9d48dcb2f2f735c6c2d1f34130085bb12b112a", size = 226067 }, - { url = "https://files.pythonhosted.org/packages/a9/6b/c54ede5dc70d648cc6361eaf429304b02f2871a345bbdd51e993d6cdf550/tomli-2.2.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:6972ca9c9cc9f0acaa56a8ca1ff51e7af152a9f87fb64623e31d5c83700080ee", size = 236030 }, - { url = "https://files.pythonhosted.org/packages/1f/47/999514fa49cfaf7a92c805a86c3c43f4215621855d151b61c602abb38091/tomli-2.2.1-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:c954d2250168d28797dd4e3ac5cf812a406cd5a92674ee4c8f123c889786aa8e", size = 240898 }, - { url = "https://files.pythonhosted.org/packages/73/41/0a01279a7ae09ee1573b423318e7934674ce06eb33f50936655071d81a24/tomli-2.2.1-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:8dd28b3e155b80f4d54beb40a441d366adcfe740969820caf156c019fb5c7ec4", size = 229894 }, - { url = "https://files.pythonhosted.org/packages/55/18/5d8bc5b0a0362311ce4d18830a5d28943667599a60d20118074ea1b01bb7/tomli-2.2.1-cp311-cp311-musllinux_1_2_i686.whl", hash = "sha256:e59e304978767a54663af13c07b3d1af22ddee3bb2fb0618ca1593e4f593a106", size = 245319 }, - { url = "https://files.pythonhosted.org/packages/92/a3/7ade0576d17f3cdf5ff44d61390d4b3febb8a9fc2b480c75c47ea048c646/tomli-2.2.1-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:33580bccab0338d00994d7f16f4c4ec25b776af3ffaac1ed74e0b3fc95e885a8", size = 238273 }, - { url = "https://files.pythonhosted.org/packages/72/6f/fa64ef058ac1446a1e51110c375339b3ec6be245af9d14c87c4a6412dd32/tomli-2.2.1-cp311-cp311-win32.whl", hash = "sha256:465af0e0875402f1d226519c9904f37254b3045fc5084697cefb9bdde1ff99ff", size = 98310 }, - { url = "https://files.pythonhosted.org/packages/6a/1c/4a2dcde4a51b81be3530565e92eda625d94dafb46dbeb15069df4caffc34/tomli-2.2.1-cp311-cp311-win_amd64.whl", hash = "sha256:2d0f2fdd22b02c6d81637a3c95f8cd77f995846af7414c5c4b8d0545afa1bc4b", size = 108309 }, - { url = "https://files.pythonhosted.org/packages/52/e1/f8af4c2fcde17500422858155aeb0d7e93477a0d59a98e56cbfe75070fd0/tomli-2.2.1-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:4a8f6e44de52d5e6c657c9fe83b562f5f4256d8ebbfe4ff922c495620a7f6cea", size = 132762 }, - { url = "https://files.pythonhosted.org/packages/03/b8/152c68bb84fc00396b83e7bbddd5ec0bd3dd409db4195e2a9b3e398ad2e3/tomli-2.2.1-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:8d57ca8095a641b8237d5b079147646153d22552f1c637fd3ba7f4b0b29167a8", size = 123453 }, - { url = "https://files.pythonhosted.org/packages/c8/d6/fc9267af9166f79ac528ff7e8c55c8181ded34eb4b0e93daa767b8841573/tomli-2.2.1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:4e340144ad7ae1533cb897d406382b4b6fede8890a03738ff1683af800d54192", size = 233486 }, - { url = "https://files.pythonhosted.org/packages/5c/51/51c3f2884d7bab89af25f678447ea7d297b53b5a3b5730a7cb2ef6069f07/tomli-2.2.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:db2b95f9de79181805df90bedc5a5ab4c165e6ec3fe99f970d0e302f384ad222", size = 242349 }, - { url = "https://files.pythonhosted.org/packages/ab/df/bfa89627d13a5cc22402e441e8a931ef2108403db390ff3345c05253935e/tomli-2.2.1-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:40741994320b232529c802f8bc86da4e1aa9f413db394617b9a256ae0f9a7f77", size = 252159 }, - { url = "https://files.pythonhosted.org/packages/9e/6e/fa2b916dced65763a5168c6ccb91066f7639bdc88b48adda990db10c8c0b/tomli-2.2.1-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:400e720fe168c0f8521520190686ef8ef033fb19fc493da09779e592861b78c6", size = 237243 }, - { url = "https://files.pythonhosted.org/packages/b4/04/885d3b1f650e1153cbb93a6a9782c58a972b94ea4483ae4ac5cedd5e4a09/tomli-2.2.1-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:02abe224de6ae62c19f090f68da4e27b10af2b93213d36cf44e6e1c5abd19fdd", size = 259645 }, - { url = "https://files.pythonhosted.org/packages/9c/de/6b432d66e986e501586da298e28ebeefd3edc2c780f3ad73d22566034239/tomli-2.2.1-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:b82ebccc8c8a36f2094e969560a1b836758481f3dc360ce9a3277c65f374285e", size = 244584 }, - { url = "https://files.pythonhosted.org/packages/1c/9a/47c0449b98e6e7d1be6cbac02f93dd79003234ddc4aaab6ba07a9a7482e2/tomli-2.2.1-cp312-cp312-win32.whl", hash = "sha256:889f80ef92701b9dbb224e49ec87c645ce5df3fa2cc548664eb8a25e03127a98", size = 98875 }, - { url = "https://files.pythonhosted.org/packages/ef/60/9b9638f081c6f1261e2688bd487625cd1e660d0a85bd469e91d8db969734/tomli-2.2.1-cp312-cp312-win_amd64.whl", hash = "sha256:7fc04e92e1d624a4a63c76474610238576942d6b8950a2d7f908a340494e67e4", size = 109418 }, - { url = "https://files.pythonhosted.org/packages/04/90/2ee5f2e0362cb8a0b6499dc44f4d7d48f8fff06d28ba46e6f1eaa61a1388/tomli-2.2.1-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:f4039b9cbc3048b2416cc57ab3bda989a6fcf9b36cf8937f01a6e731b64f80d7", size = 132708 }, - { url = "https://files.pythonhosted.org/packages/c0/ec/46b4108816de6b385141f082ba99e315501ccd0a2ea23db4a100dd3990ea/tomli-2.2.1-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:286f0ca2ffeeb5b9bd4fcc8d6c330534323ec51b2f52da063b11c502da16f30c", size = 123582 }, - { url = "https://files.pythonhosted.org/packages/a0/bd/b470466d0137b37b68d24556c38a0cc819e8febe392d5b199dcd7f578365/tomli-2.2.1-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a92ef1a44547e894e2a17d24e7557a5e85a9e1d0048b0b5e7541f76c5032cb13", size = 232543 }, - { url = "https://files.pythonhosted.org/packages/d9/e5/82e80ff3b751373f7cead2815bcbe2d51c895b3c990686741a8e56ec42ab/tomli-2.2.1-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:9316dc65bed1684c9a98ee68759ceaed29d229e985297003e494aa825ebb0281", size = 241691 }, - { url = "https://files.pythonhosted.org/packages/05/7e/2a110bc2713557d6a1bfb06af23dd01e7dde52b6ee7dadc589868f9abfac/tomli-2.2.1-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:e85e99945e688e32d5a35c1ff38ed0b3f41f43fad8df0bdf79f72b2ba7bc5272", size = 251170 }, - { url = "https://files.pythonhosted.org/packages/64/7b/22d713946efe00e0adbcdfd6d1aa119ae03fd0b60ebed51ebb3fa9f5a2e5/tomli-2.2.1-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:ac065718db92ca818f8d6141b5f66369833d4a80a9d74435a268c52bdfa73140", size = 236530 }, - { url = "https://files.pythonhosted.org/packages/38/31/3a76f67da4b0cf37b742ca76beaf819dca0ebef26d78fc794a576e08accf/tomli-2.2.1-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:d920f33822747519673ee656a4b6ac33e382eca9d331c87770faa3eef562aeb2", size = 258666 }, - { url = "https://files.pythonhosted.org/packages/07/10/5af1293da642aded87e8a988753945d0cf7e00a9452d3911dd3bb354c9e2/tomli-2.2.1-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:a198f10c4d1b1375d7687bc25294306e551bf1abfa4eace6650070a5c1ae2744", size = 243954 }, - { url = "https://files.pythonhosted.org/packages/5b/b9/1ed31d167be802da0fc95020d04cd27b7d7065cc6fbefdd2f9186f60d7bd/tomli-2.2.1-cp313-cp313-win32.whl", hash = "sha256:d3f5614314d758649ab2ab3a62d4f2004c825922f9e370b29416484086b264ec", size = 98724 }, - { url = "https://files.pythonhosted.org/packages/c7/32/b0963458706accd9afcfeb867c0f9175a741bf7b19cd424230714d722198/tomli-2.2.1-cp313-cp313-win_amd64.whl", hash = "sha256:a38aa0308e754b0e3c67e344754dff64999ff9b513e691d0e786265c93583c69", size = 109383 }, - { url = "https://files.pythonhosted.org/packages/6e/c2/61d3e0f47e2b74ef40a68b9e6ad5984f6241a942f7cd3bbfbdbd03861ea9/tomli-2.2.1-py3-none-any.whl", hash = "sha256:cb55c73c5f4408779d0cf3eef9f762b9c9f147a77de7b258bef0a5628adc85cc", size = 14257 }, +sdist = { url = "https://files.pythonhosted.org/packages/18/87/302344fed471e44a87289cf4967697d07e532f2421fdaf868a303cbae4ff/tomli-2.2.1.tar.gz", hash = "sha256:cd45e1dc79c835ce60f7404ec8119f2eb06d38b1deba146f07ced3bbc44505ff", size = 17175, upload-time = "2024-11-27T22:38:36.873Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/43/ca/75707e6efa2b37c77dadb324ae7d9571cb424e61ea73fad7c56c2d14527f/tomli-2.2.1-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:678e4fa69e4575eb77d103de3df8a895e1591b48e740211bd1067378c69e8249", size = 131077, upload-time = "2024-11-27T22:37:54.956Z" }, + { url = "https://files.pythonhosted.org/packages/c7/16/51ae563a8615d472fdbffc43a3f3d46588c264ac4f024f63f01283becfbb/tomli-2.2.1-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:023aa114dd824ade0100497eb2318602af309e5a55595f76b626d6d9f3b7b0a6", size = 123429, upload-time = "2024-11-27T22:37:56.698Z" }, + { url = "https://files.pythonhosted.org/packages/f1/dd/4f6cd1e7b160041db83c694abc78e100473c15d54620083dbd5aae7b990e/tomli-2.2.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:ece47d672db52ac607a3d9599a9d48dcb2f2f735c6c2d1f34130085bb12b112a", size = 226067, upload-time = "2024-11-27T22:37:57.63Z" }, + { url = "https://files.pythonhosted.org/packages/a9/6b/c54ede5dc70d648cc6361eaf429304b02f2871a345bbdd51e993d6cdf550/tomli-2.2.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:6972ca9c9cc9f0acaa56a8ca1ff51e7af152a9f87fb64623e31d5c83700080ee", size = 236030, upload-time = "2024-11-27T22:37:59.344Z" }, + { url = "https://files.pythonhosted.org/packages/1f/47/999514fa49cfaf7a92c805a86c3c43f4215621855d151b61c602abb38091/tomli-2.2.1-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:c954d2250168d28797dd4e3ac5cf812a406cd5a92674ee4c8f123c889786aa8e", size = 240898, upload-time = "2024-11-27T22:38:00.429Z" }, + { url = "https://files.pythonhosted.org/packages/73/41/0a01279a7ae09ee1573b423318e7934674ce06eb33f50936655071d81a24/tomli-2.2.1-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:8dd28b3e155b80f4d54beb40a441d366adcfe740969820caf156c019fb5c7ec4", size = 229894, upload-time = "2024-11-27T22:38:02.094Z" }, + { url = "https://files.pythonhosted.org/packages/55/18/5d8bc5b0a0362311ce4d18830a5d28943667599a60d20118074ea1b01bb7/tomli-2.2.1-cp311-cp311-musllinux_1_2_i686.whl", hash = "sha256:e59e304978767a54663af13c07b3d1af22ddee3bb2fb0618ca1593e4f593a106", size = 245319, upload-time = "2024-11-27T22:38:03.206Z" }, + { url = "https://files.pythonhosted.org/packages/92/a3/7ade0576d17f3cdf5ff44d61390d4b3febb8a9fc2b480c75c47ea048c646/tomli-2.2.1-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:33580bccab0338d00994d7f16f4c4ec25b776af3ffaac1ed74e0b3fc95e885a8", size = 238273, upload-time = "2024-11-27T22:38:04.217Z" }, + { url = "https://files.pythonhosted.org/packages/72/6f/fa64ef058ac1446a1e51110c375339b3ec6be245af9d14c87c4a6412dd32/tomli-2.2.1-cp311-cp311-win32.whl", hash = "sha256:465af0e0875402f1d226519c9904f37254b3045fc5084697cefb9bdde1ff99ff", size = 98310, upload-time = "2024-11-27T22:38:05.908Z" }, + { url = "https://files.pythonhosted.org/packages/6a/1c/4a2dcde4a51b81be3530565e92eda625d94dafb46dbeb15069df4caffc34/tomli-2.2.1-cp311-cp311-win_amd64.whl", hash = "sha256:2d0f2fdd22b02c6d81637a3c95f8cd77f995846af7414c5c4b8d0545afa1bc4b", size = 108309, upload-time = "2024-11-27T22:38:06.812Z" }, + { url = "https://files.pythonhosted.org/packages/52/e1/f8af4c2fcde17500422858155aeb0d7e93477a0d59a98e56cbfe75070fd0/tomli-2.2.1-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:4a8f6e44de52d5e6c657c9fe83b562f5f4256d8ebbfe4ff922c495620a7f6cea", size = 132762, upload-time = "2024-11-27T22:38:07.731Z" }, + { url = "https://files.pythonhosted.org/packages/03/b8/152c68bb84fc00396b83e7bbddd5ec0bd3dd409db4195e2a9b3e398ad2e3/tomli-2.2.1-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:8d57ca8095a641b8237d5b079147646153d22552f1c637fd3ba7f4b0b29167a8", size = 123453, upload-time = "2024-11-27T22:38:09.384Z" }, + { url = "https://files.pythonhosted.org/packages/c8/d6/fc9267af9166f79ac528ff7e8c55c8181ded34eb4b0e93daa767b8841573/tomli-2.2.1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:4e340144ad7ae1533cb897d406382b4b6fede8890a03738ff1683af800d54192", size = 233486, upload-time = "2024-11-27T22:38:10.329Z" }, + { url = "https://files.pythonhosted.org/packages/5c/51/51c3f2884d7bab89af25f678447ea7d297b53b5a3b5730a7cb2ef6069f07/tomli-2.2.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:db2b95f9de79181805df90bedc5a5ab4c165e6ec3fe99f970d0e302f384ad222", size = 242349, upload-time = "2024-11-27T22:38:11.443Z" }, + { url = "https://files.pythonhosted.org/packages/ab/df/bfa89627d13a5cc22402e441e8a931ef2108403db390ff3345c05253935e/tomli-2.2.1-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:40741994320b232529c802f8bc86da4e1aa9f413db394617b9a256ae0f9a7f77", size = 252159, upload-time = "2024-11-27T22:38:13.099Z" }, + { url = "https://files.pythonhosted.org/packages/9e/6e/fa2b916dced65763a5168c6ccb91066f7639bdc88b48adda990db10c8c0b/tomli-2.2.1-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:400e720fe168c0f8521520190686ef8ef033fb19fc493da09779e592861b78c6", size = 237243, upload-time = "2024-11-27T22:38:14.766Z" }, + { url = "https://files.pythonhosted.org/packages/b4/04/885d3b1f650e1153cbb93a6a9782c58a972b94ea4483ae4ac5cedd5e4a09/tomli-2.2.1-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:02abe224de6ae62c19f090f68da4e27b10af2b93213d36cf44e6e1c5abd19fdd", size = 259645, upload-time = "2024-11-27T22:38:15.843Z" }, + { url = "https://files.pythonhosted.org/packages/9c/de/6b432d66e986e501586da298e28ebeefd3edc2c780f3ad73d22566034239/tomli-2.2.1-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:b82ebccc8c8a36f2094e969560a1b836758481f3dc360ce9a3277c65f374285e", size = 244584, upload-time = "2024-11-27T22:38:17.645Z" }, + { url = "https://files.pythonhosted.org/packages/1c/9a/47c0449b98e6e7d1be6cbac02f93dd79003234ddc4aaab6ba07a9a7482e2/tomli-2.2.1-cp312-cp312-win32.whl", hash = "sha256:889f80ef92701b9dbb224e49ec87c645ce5df3fa2cc548664eb8a25e03127a98", size = 98875, upload-time = "2024-11-27T22:38:19.159Z" }, + { url = "https://files.pythonhosted.org/packages/ef/60/9b9638f081c6f1261e2688bd487625cd1e660d0a85bd469e91d8db969734/tomli-2.2.1-cp312-cp312-win_amd64.whl", hash = "sha256:7fc04e92e1d624a4a63c76474610238576942d6b8950a2d7f908a340494e67e4", size = 109418, upload-time = "2024-11-27T22:38:20.064Z" }, + { url = "https://files.pythonhosted.org/packages/04/90/2ee5f2e0362cb8a0b6499dc44f4d7d48f8fff06d28ba46e6f1eaa61a1388/tomli-2.2.1-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:f4039b9cbc3048b2416cc57ab3bda989a6fcf9b36cf8937f01a6e731b64f80d7", size = 132708, upload-time = "2024-11-27T22:38:21.659Z" }, + { url = "https://files.pythonhosted.org/packages/c0/ec/46b4108816de6b385141f082ba99e315501ccd0a2ea23db4a100dd3990ea/tomli-2.2.1-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:286f0ca2ffeeb5b9bd4fcc8d6c330534323ec51b2f52da063b11c502da16f30c", size = 123582, upload-time = "2024-11-27T22:38:22.693Z" }, + { url = "https://files.pythonhosted.org/packages/a0/bd/b470466d0137b37b68d24556c38a0cc819e8febe392d5b199dcd7f578365/tomli-2.2.1-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a92ef1a44547e894e2a17d24e7557a5e85a9e1d0048b0b5e7541f76c5032cb13", size = 232543, upload-time = "2024-11-27T22:38:24.367Z" }, + { url = "https://files.pythonhosted.org/packages/d9/e5/82e80ff3b751373f7cead2815bcbe2d51c895b3c990686741a8e56ec42ab/tomli-2.2.1-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:9316dc65bed1684c9a98ee68759ceaed29d229e985297003e494aa825ebb0281", size = 241691, upload-time = "2024-11-27T22:38:26.081Z" }, + { url = "https://files.pythonhosted.org/packages/05/7e/2a110bc2713557d6a1bfb06af23dd01e7dde52b6ee7dadc589868f9abfac/tomli-2.2.1-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:e85e99945e688e32d5a35c1ff38ed0b3f41f43fad8df0bdf79f72b2ba7bc5272", size = 251170, upload-time = "2024-11-27T22:38:27.921Z" }, + { url = "https://files.pythonhosted.org/packages/64/7b/22d713946efe00e0adbcdfd6d1aa119ae03fd0b60ebed51ebb3fa9f5a2e5/tomli-2.2.1-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:ac065718db92ca818f8d6141b5f66369833d4a80a9d74435a268c52bdfa73140", size = 236530, upload-time = "2024-11-27T22:38:29.591Z" }, + { url = "https://files.pythonhosted.org/packages/38/31/3a76f67da4b0cf37b742ca76beaf819dca0ebef26d78fc794a576e08accf/tomli-2.2.1-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:d920f33822747519673ee656a4b6ac33e382eca9d331c87770faa3eef562aeb2", size = 258666, upload-time = "2024-11-27T22:38:30.639Z" }, + { url = "https://files.pythonhosted.org/packages/07/10/5af1293da642aded87e8a988753945d0cf7e00a9452d3911dd3bb354c9e2/tomli-2.2.1-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:a198f10c4d1b1375d7687bc25294306e551bf1abfa4eace6650070a5c1ae2744", size = 243954, upload-time = "2024-11-27T22:38:31.702Z" }, + { url = "https://files.pythonhosted.org/packages/5b/b9/1ed31d167be802da0fc95020d04cd27b7d7065cc6fbefdd2f9186f60d7bd/tomli-2.2.1-cp313-cp313-win32.whl", hash = "sha256:d3f5614314d758649ab2ab3a62d4f2004c825922f9e370b29416484086b264ec", size = 98724, upload-time = "2024-11-27T22:38:32.837Z" }, + { url = "https://files.pythonhosted.org/packages/c7/32/b0963458706accd9afcfeb867c0f9175a741bf7b19cd424230714d722198/tomli-2.2.1-cp313-cp313-win_amd64.whl", hash = "sha256:a38aa0308e754b0e3c67e344754dff64999ff9b513e691d0e786265c93583c69", size = 109383, upload-time = "2024-11-27T22:38:34.455Z" }, + { url = "https://files.pythonhosted.org/packages/6e/c2/61d3e0f47e2b74ef40a68b9e6ad5984f6241a942f7cd3bbfbdbd03861ea9/tomli-2.2.1-py3-none-any.whl", hash = "sha256:cb55c73c5f4408779d0cf3eef9f762b9c9f147a77de7b258bef0a5628adc85cc", size = 14257, upload-time = "2024-11-27T22:38:35.385Z" }, ] [[package]] name = "tornado" version = "6.4.2" source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/59/45/a0daf161f7d6f36c3ea5fc0c2de619746cc3dd4c76402e9db545bd920f63/tornado-6.4.2.tar.gz", hash = "sha256:92bad5b4746e9879fd7bf1eb21dce4e3fc5128d71601f80005afa39237ad620b", size = 501135 } +sdist = { url = "https://files.pythonhosted.org/packages/59/45/a0daf161f7d6f36c3ea5fc0c2de619746cc3dd4c76402e9db545bd920f63/tornado-6.4.2.tar.gz", hash = "sha256:92bad5b4746e9879fd7bf1eb21dce4e3fc5128d71601f80005afa39237ad620b", size = 501135, upload-time = "2024-11-22T03:06:38.036Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/26/7e/71f604d8cea1b58f82ba3590290b66da1e72d840aeb37e0d5f7291bd30db/tornado-6.4.2-cp38-abi3-macosx_10_9_universal2.whl", hash = "sha256:e828cce1123e9e44ae2a50a9de3055497ab1d0aeb440c5ac23064d9e44880da1", size = 436299 }, - { url = "https://files.pythonhosted.org/packages/96/44/87543a3b99016d0bf54fdaab30d24bf0af2e848f1d13d34a3a5380aabe16/tornado-6.4.2-cp38-abi3-macosx_10_9_x86_64.whl", hash = "sha256:072ce12ada169c5b00b7d92a99ba089447ccc993ea2143c9ede887e0937aa803", size = 434253 }, - { url = "https://files.pythonhosted.org/packages/cb/fb/fdf679b4ce51bcb7210801ef4f11fdac96e9885daa402861751353beea6e/tornado-6.4.2-cp38-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:1a017d239bd1bb0919f72af256a970624241f070496635784d9bf0db640d3fec", size = 437602 }, - { url = "https://files.pythonhosted.org/packages/4f/3b/e31aeffffc22b475a64dbeb273026a21b5b566f74dee48742817626c47dc/tornado-6.4.2-cp38-abi3-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:c36e62ce8f63409301537222faffcef7dfc5284f27eec227389f2ad11b09d946", size = 436972 }, - { url = "https://files.pythonhosted.org/packages/22/55/b78a464de78051a30599ceb6983b01d8f732e6f69bf37b4ed07f642ac0fc/tornado-6.4.2-cp38-abi3-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:bca9eb02196e789c9cb5c3c7c0f04fb447dc2adffd95265b2c7223a8a615ccbf", size = 437173 }, - { url = "https://files.pythonhosted.org/packages/79/5e/be4fb0d1684eb822c9a62fb18a3e44a06188f78aa466b2ad991d2ee31104/tornado-6.4.2-cp38-abi3-musllinux_1_2_aarch64.whl", hash = "sha256:304463bd0772442ff4d0f5149c6f1c2135a1fae045adf070821c6cdc76980634", size = 437892 }, - { url = "https://files.pythonhosted.org/packages/f5/33/4f91fdd94ea36e1d796147003b490fe60a0215ac5737b6f9c65e160d4fe0/tornado-6.4.2-cp38-abi3-musllinux_1_2_i686.whl", hash = "sha256:c82c46813ba483a385ab2a99caeaedf92585a1f90defb5693351fa7e4ea0bf73", size = 437334 }, - { url = "https://files.pythonhosted.org/packages/2b/ae/c1b22d4524b0e10da2f29a176fb2890386f7bd1f63aacf186444873a88a0/tornado-6.4.2-cp38-abi3-musllinux_1_2_x86_64.whl", hash = "sha256:932d195ca9015956fa502c6b56af9eb06106140d844a335590c1ec7f5277d10c", size = 437261 }, - { url = "https://files.pythonhosted.org/packages/b5/25/36dbd49ab6d179bcfc4c6c093a51795a4f3bed380543a8242ac3517a1751/tornado-6.4.2-cp38-abi3-win32.whl", hash = "sha256:2876cef82e6c5978fde1e0d5b1f919d756968d5b4282418f3146b79b58556482", size = 438463 }, - { url = "https://files.pythonhosted.org/packages/61/cc/58b1adeb1bb46228442081e746fcdbc4540905c87e8add7c277540934edb/tornado-6.4.2-cp38-abi3-win_amd64.whl", hash = "sha256:908b71bf3ff37d81073356a5fadcc660eb10c1476ee6e2725588626ce7e5ca38", size = 438907 }, + { url = "https://files.pythonhosted.org/packages/26/7e/71f604d8cea1b58f82ba3590290b66da1e72d840aeb37e0d5f7291bd30db/tornado-6.4.2-cp38-abi3-macosx_10_9_universal2.whl", hash = "sha256:e828cce1123e9e44ae2a50a9de3055497ab1d0aeb440c5ac23064d9e44880da1", size = 436299, upload-time = "2024-11-22T03:06:20.162Z" }, + { url = "https://files.pythonhosted.org/packages/96/44/87543a3b99016d0bf54fdaab30d24bf0af2e848f1d13d34a3a5380aabe16/tornado-6.4.2-cp38-abi3-macosx_10_9_x86_64.whl", hash = "sha256:072ce12ada169c5b00b7d92a99ba089447ccc993ea2143c9ede887e0937aa803", size = 434253, upload-time = "2024-11-22T03:06:22.39Z" }, + { url = "https://files.pythonhosted.org/packages/cb/fb/fdf679b4ce51bcb7210801ef4f11fdac96e9885daa402861751353beea6e/tornado-6.4.2-cp38-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:1a017d239bd1bb0919f72af256a970624241f070496635784d9bf0db640d3fec", size = 437602, upload-time = "2024-11-22T03:06:24.214Z" }, + { url = "https://files.pythonhosted.org/packages/4f/3b/e31aeffffc22b475a64dbeb273026a21b5b566f74dee48742817626c47dc/tornado-6.4.2-cp38-abi3-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:c36e62ce8f63409301537222faffcef7dfc5284f27eec227389f2ad11b09d946", size = 436972, upload-time = "2024-11-22T03:06:25.559Z" }, + { url = "https://files.pythonhosted.org/packages/22/55/b78a464de78051a30599ceb6983b01d8f732e6f69bf37b4ed07f642ac0fc/tornado-6.4.2-cp38-abi3-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:bca9eb02196e789c9cb5c3c7c0f04fb447dc2adffd95265b2c7223a8a615ccbf", size = 437173, upload-time = "2024-11-22T03:06:27.584Z" }, + { url = "https://files.pythonhosted.org/packages/79/5e/be4fb0d1684eb822c9a62fb18a3e44a06188f78aa466b2ad991d2ee31104/tornado-6.4.2-cp38-abi3-musllinux_1_2_aarch64.whl", hash = "sha256:304463bd0772442ff4d0f5149c6f1c2135a1fae045adf070821c6cdc76980634", size = 437892, upload-time = "2024-11-22T03:06:28.933Z" }, + { url = "https://files.pythonhosted.org/packages/f5/33/4f91fdd94ea36e1d796147003b490fe60a0215ac5737b6f9c65e160d4fe0/tornado-6.4.2-cp38-abi3-musllinux_1_2_i686.whl", hash = "sha256:c82c46813ba483a385ab2a99caeaedf92585a1f90defb5693351fa7e4ea0bf73", size = 437334, upload-time = "2024-11-22T03:06:30.428Z" }, + { url = "https://files.pythonhosted.org/packages/2b/ae/c1b22d4524b0e10da2f29a176fb2890386f7bd1f63aacf186444873a88a0/tornado-6.4.2-cp38-abi3-musllinux_1_2_x86_64.whl", hash = "sha256:932d195ca9015956fa502c6b56af9eb06106140d844a335590c1ec7f5277d10c", size = 437261, upload-time = "2024-11-22T03:06:32.458Z" }, + { url = "https://files.pythonhosted.org/packages/b5/25/36dbd49ab6d179bcfc4c6c093a51795a4f3bed380543a8242ac3517a1751/tornado-6.4.2-cp38-abi3-win32.whl", hash = "sha256:2876cef82e6c5978fde1e0d5b1f919d756968d5b4282418f3146b79b58556482", size = 438463, upload-time = "2024-11-22T03:06:34.71Z" }, + { url = "https://files.pythonhosted.org/packages/61/cc/58b1adeb1bb46228442081e746fcdbc4540905c87e8add7c277540934edb/tornado-6.4.2-cp38-abi3-win_amd64.whl", hash = "sha256:908b71bf3ff37d81073356a5fadcc660eb10c1476ee6e2725588626ce7e5ca38", size = 438907, upload-time = "2024-11-22T03:06:36.71Z" }, ] [[package]] @@ -5048,9 +5058,9 @@ dependencies = [ { name = "typing-extensions", marker = "python_full_version < '3.11'" }, { name = "virtualenv" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/cf/7b/97f757e159983737bdd8fb513f4c263cd411a846684814ed5433434a1fa9/tox-4.24.1.tar.gz", hash = "sha256:083a720adbc6166fff0b7d1df9d154f9d00bfccb9403b8abf6bc0ee435d6a62e", size = 194742 } +sdist = { url = "https://files.pythonhosted.org/packages/cf/7b/97f757e159983737bdd8fb513f4c263cd411a846684814ed5433434a1fa9/tox-4.24.1.tar.gz", hash = "sha256:083a720adbc6166fff0b7d1df9d154f9d00bfccb9403b8abf6bc0ee435d6a62e", size = 194742, upload-time = "2025-01-21T18:58:43.742Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/ab/04/b0d1c1b44c98583cab9eabb4acdba964fdf6b6c597c53cfb8870fd08cbbf/tox-4.24.1-py3-none-any.whl", hash = "sha256:57ba7df7d199002c6df8c2db9e6484f3de6ca8f42013c083ea2d4d1e5c6bdc75", size = 171829 }, + { url = "https://files.pythonhosted.org/packages/ab/04/b0d1c1b44c98583cab9eabb4acdba964fdf6b6c597c53cfb8870fd08cbbf/tox-4.24.1-py3-none-any.whl", hash = "sha256:57ba7df7d199002c6df8c2db9e6484f3de6ca8f42013c083ea2d4d1e5c6bdc75", size = 171829, upload-time = "2025-01-21T18:58:39.799Z" }, ] [[package]] @@ -5060,18 +5070,18 @@ source = { registry = "https://pypi.org/simple" } dependencies = [ { name = "colorama", marker = "sys_platform == 'win32'" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/a8/4b/29b4ef32e036bb34e4ab51796dd745cdba7ed47ad142a9f4a1eb8e0c744d/tqdm-4.67.1.tar.gz", hash = "sha256:f8aef9c52c08c13a65f30ea34f4e5aac3fd1a34959879d7e59e63027286627f2", size = 169737 } +sdist = { url = "https://files.pythonhosted.org/packages/a8/4b/29b4ef32e036bb34e4ab51796dd745cdba7ed47ad142a9f4a1eb8e0c744d/tqdm-4.67.1.tar.gz", hash = "sha256:f8aef9c52c08c13a65f30ea34f4e5aac3fd1a34959879d7e59e63027286627f2", size = 169737, upload-time = "2024-11-24T20:12:22.481Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/d0/30/dc54f88dd4a2b5dc8a0279bdd7270e735851848b762aeb1c1184ed1f6b14/tqdm-4.67.1-py3-none-any.whl", hash = "sha256:26445eca388f82e72884e0d580d5464cd801a3ea01e63e5601bdff9ba6a48de2", size = 78540 }, + { url = "https://files.pythonhosted.org/packages/d0/30/dc54f88dd4a2b5dc8a0279bdd7270e735851848b762aeb1c1184ed1f6b14/tqdm-4.67.1-py3-none-any.whl", hash = "sha256:26445eca388f82e72884e0d580d5464cd801a3ea01e63e5601bdff9ba6a48de2", size = 78540, upload-time = "2024-11-24T20:12:19.698Z" }, ] [[package]] name = "traitlets" version = "5.14.3" source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/eb/79/72064e6a701c2183016abbbfedaba506d81e30e232a68c9f0d6f6fcd1574/traitlets-5.14.3.tar.gz", hash = "sha256:9ed0579d3502c94b4b3732ac120375cda96f923114522847de4b3bb98b96b6b7", size = 161621 } +sdist = { url = "https://files.pythonhosted.org/packages/eb/79/72064e6a701c2183016abbbfedaba506d81e30e232a68c9f0d6f6fcd1574/traitlets-5.14.3.tar.gz", hash = "sha256:9ed0579d3502c94b4b3732ac120375cda96f923114522847de4b3bb98b96b6b7", size = 161621, upload-time = "2024-04-19T11:11:49.746Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/00/c0/8f5d070730d7836adc9c9b6408dec68c6ced86b304a9b26a14df072a6e8c/traitlets-5.14.3-py3-none-any.whl", hash = "sha256:b74e89e397b1ed28cc831db7aea759ba6640cb3de13090ca145426688ff1ac4f", size = 85359 }, + { url = "https://files.pythonhosted.org/packages/00/c0/8f5d070730d7836adc9c9b6408dec68c6ced86b304a9b26a14df072a6e8c/traitlets-5.14.3-py3-none-any.whl", hash = "sha256:b74e89e397b1ed28cc831db7aea759ba6640cb3de13090ca145426688ff1ac4f", size = 85359, upload-time = "2024-04-19T11:11:46.763Z" }, ] [[package]] @@ -5094,45 +5104,45 @@ dependencies = [ { name = "urllib3", version = "2.2.3", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.9'" }, { name = "urllib3", version = "2.3.0", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.9'" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/c8/a2/6df94fc5c8e2170d21d7134a565c3a8fb84f9797c1dd65a5976aaf714418/twine-6.1.0.tar.gz", hash = "sha256:be324f6272eff91d07ee93f251edf232fc647935dd585ac003539b42404a8dbd", size = 168404 } +sdist = { url = "https://files.pythonhosted.org/packages/c8/a2/6df94fc5c8e2170d21d7134a565c3a8fb84f9797c1dd65a5976aaf714418/twine-6.1.0.tar.gz", hash = "sha256:be324f6272eff91d07ee93f251edf232fc647935dd585ac003539b42404a8dbd", size = 168404, upload-time = "2025-01-21T18:45:26.758Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/7c/b6/74e927715a285743351233f33ea3c684528a0d374d2e43ff9ce9585b73fe/twine-6.1.0-py3-none-any.whl", hash = "sha256:a47f973caf122930bf0fbbf17f80b83bc1602c9ce393c7845f289a3001dc5384", size = 40791 }, + { url = "https://files.pythonhosted.org/packages/7c/b6/74e927715a285743351233f33ea3c684528a0d374d2e43ff9ce9585b73fe/twine-6.1.0-py3-none-any.whl", hash = "sha256:a47f973caf122930bf0fbbf17f80b83bc1602c9ce393c7845f289a3001dc5384", size = 40791, upload-time = "2025-01-21T18:45:24.584Z" }, ] [[package]] name = "types-python-dateutil" version = "2.9.0.20241206" source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/a9/60/47d92293d9bc521cd2301e423a358abfac0ad409b3a1606d8fbae1321961/types_python_dateutil-2.9.0.20241206.tar.gz", hash = "sha256:18f493414c26ffba692a72369fea7a154c502646301ebfe3d56a04b3767284cb", size = 13802 } +sdist = { url = "https://files.pythonhosted.org/packages/a9/60/47d92293d9bc521cd2301e423a358abfac0ad409b3a1606d8fbae1321961/types_python_dateutil-2.9.0.20241206.tar.gz", hash = "sha256:18f493414c26ffba692a72369fea7a154c502646301ebfe3d56a04b3767284cb", size = 13802, upload-time = "2024-12-06T02:56:41.019Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/0f/b3/ca41df24db5eb99b00d97f89d7674a90cb6b3134c52fb8121b6d8d30f15c/types_python_dateutil-2.9.0.20241206-py3-none-any.whl", hash = "sha256:e248a4bc70a486d3e3ec84d0dc30eec3a5f979d6e7ee4123ae043eedbb987f53", size = 14384 }, + { url = "https://files.pythonhosted.org/packages/0f/b3/ca41df24db5eb99b00d97f89d7674a90cb6b3134c52fb8121b6d8d30f15c/types_python_dateutil-2.9.0.20241206-py3-none-any.whl", hash = "sha256:e248a4bc70a486d3e3ec84d0dc30eec3a5f979d6e7ee4123ae043eedbb987f53", size = 14384, upload-time = "2024-12-06T02:56:39.412Z" }, ] [[package]] name = "typing-extensions" version = "4.12.2" source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/df/db/f35a00659bc03fec321ba8bce9420de607a1d37f8342eee1863174c69557/typing_extensions-4.12.2.tar.gz", hash = "sha256:1a7ead55c7e559dd4dee8856e3a88b41225abfe1ce8df57b7c13915fe121ffb8", size = 85321 } +sdist = { url = "https://files.pythonhosted.org/packages/df/db/f35a00659bc03fec321ba8bce9420de607a1d37f8342eee1863174c69557/typing_extensions-4.12.2.tar.gz", hash = "sha256:1a7ead55c7e559dd4dee8856e3a88b41225abfe1ce8df57b7c13915fe121ffb8", size = 85321, upload-time = "2024-06-07T18:52:15.995Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/26/9f/ad63fc0248c5379346306f8668cda6e2e2e9c95e01216d2b8ffd9ff037d0/typing_extensions-4.12.2-py3-none-any.whl", hash = "sha256:04e5ca0351e0f3f85c6853954072df659d0d13fac324d0072316b67d7794700d", size = 37438 }, + { url = "https://files.pythonhosted.org/packages/26/9f/ad63fc0248c5379346306f8668cda6e2e2e9c95e01216d2b8ffd9ff037d0/typing_extensions-4.12.2-py3-none-any.whl", hash = "sha256:04e5ca0351e0f3f85c6853954072df659d0d13fac324d0072316b67d7794700d", size = 37438, upload-time = "2024-06-07T18:52:13.582Z" }, ] [[package]] name = "tzdata" version = "2025.1" source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/43/0f/fa4723f22942480be4ca9527bbde8d43f6c3f2fe8412f00e7f5f6746bc8b/tzdata-2025.1.tar.gz", hash = "sha256:24894909e88cdb28bd1636c6887801df64cb485bd593f2fd83ef29075a81d694", size = 194950 } +sdist = { url = "https://files.pythonhosted.org/packages/43/0f/fa4723f22942480be4ca9527bbde8d43f6c3f2fe8412f00e7f5f6746bc8b/tzdata-2025.1.tar.gz", hash = "sha256:24894909e88cdb28bd1636c6887801df64cb485bd593f2fd83ef29075a81d694", size = 194950, upload-time = "2025-01-21T19:49:38.686Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/0f/dd/84f10e23edd882c6f968c21c2434fe67bd4a528967067515feca9e611e5e/tzdata-2025.1-py2.py3-none-any.whl", hash = "sha256:7e127113816800496f027041c570f50bcd464a020098a3b6b199517772303639", size = 346762 }, + { url = "https://files.pythonhosted.org/packages/0f/dd/84f10e23edd882c6f968c21c2434fe67bd4a528967067515feca9e611e5e/tzdata-2025.1-py2.py3-none-any.whl", hash = "sha256:7e127113816800496f027041c570f50bcd464a020098a3b6b199517772303639", size = 346762, upload-time = "2025-01-21T19:49:37.187Z" }, ] [[package]] name = "uri-template" version = "1.3.0" source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/31/c7/0336f2bd0bcbada6ccef7aaa25e443c118a704f828a0620c6fa0207c1b64/uri-template-1.3.0.tar.gz", hash = "sha256:0e00f8eb65e18c7de20d595a14336e9f337ead580c70934141624b6d1ffdacc7", size = 21678 } +sdist = { url = "https://files.pythonhosted.org/packages/31/c7/0336f2bd0bcbada6ccef7aaa25e443c118a704f828a0620c6fa0207c1b64/uri-template-1.3.0.tar.gz", hash = "sha256:0e00f8eb65e18c7de20d595a14336e9f337ead580c70934141624b6d1ffdacc7", size = 21678, upload-time = "2023-06-21T01:49:05.374Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/e7/00/3fca040d7cf8a32776d3d81a00c8ee7457e00f80c649f1e4a863c8321ae9/uri_template-1.3.0-py3-none-any.whl", hash = "sha256:a44a133ea12d44a0c0f06d7d42a52d71282e77e2f937d8abd5655b8d56fc1363", size = 11140 }, + { url = "https://files.pythonhosted.org/packages/e7/00/3fca040d7cf8a32776d3d81a00c8ee7457e00f80c649f1e4a863c8321ae9/uri_template-1.3.0-py3-none-any.whl", hash = "sha256:a44a133ea12d44a0c0f06d7d42a52d71282e77e2f937d8abd5655b8d56fc1363", size = 11140, upload-time = "2023-06-21T01:49:03.467Z" }, ] [[package]] @@ -5144,9 +5154,9 @@ resolution-markers = [ "python_full_version < '3.9' and platform_machine == 'aarch64' and sys_platform == 'linux'", "(python_full_version < '3.9' and platform_machine != 'arm64' and sys_platform == 'darwin') or (python_full_version < '3.9' and platform_machine != 'aarch64' and sys_platform == 'linux') or (python_full_version < '3.9' and sys_platform != 'darwin' and sys_platform != 'linux')", ] -sdist = { url = "https://files.pythonhosted.org/packages/ed/63/22ba4ebfe7430b76388e7cd448d5478814d3032121827c12a2cc287e2260/urllib3-2.2.3.tar.gz", hash = "sha256:e7d814a81dad81e6caf2ec9fdedb284ecc9c73076b62654547cc64ccdcae26e9", size = 300677 } +sdist = { url = "https://files.pythonhosted.org/packages/ed/63/22ba4ebfe7430b76388e7cd448d5478814d3032121827c12a2cc287e2260/urllib3-2.2.3.tar.gz", hash = "sha256:e7d814a81dad81e6caf2ec9fdedb284ecc9c73076b62654547cc64ccdcae26e9", size = 300677, upload-time = "2024-09-12T10:52:18.401Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/ce/d9/5f4c13cecde62396b0d3fe530a50ccea91e7dfc1ccf0e09c228841bb5ba8/urllib3-2.2.3-py3-none-any.whl", hash = "sha256:ca899ca043dcb1bafa3e262d73aa25c465bfb49e0bd9dd5d59f1d0acba2f8fac", size = 126338 }, + { url = "https://files.pythonhosted.org/packages/ce/d9/5f4c13cecde62396b0d3fe530a50ccea91e7dfc1ccf0e09c228841bb5ba8/urllib3-2.2.3-py3-none-any.whl", hash = "sha256:ca899ca043dcb1bafa3e262d73aa25c465bfb49e0bd9dd5d59f1d0acba2f8fac", size = 126338, upload-time = "2024-09-12T10:52:16.589Z" }, ] [[package]] @@ -5167,18 +5177,18 @@ resolution-markers = [ "python_full_version == '3.9.*' and platform_machine == 'aarch64' and sys_platform == 'linux'", "(python_full_version == '3.9.*' and platform_machine != 'arm64' and sys_platform == 'darwin') or (python_full_version == '3.9.*' and platform_machine != 'aarch64' and sys_platform == 'linux') or (python_full_version == '3.9.*' and sys_platform != 'darwin' and sys_platform != 'linux')", ] -sdist = { url = "https://files.pythonhosted.org/packages/aa/63/e53da845320b757bf29ef6a9062f5c669fe997973f966045cb019c3f4b66/urllib3-2.3.0.tar.gz", hash = "sha256:f8c5449b3cf0861679ce7e0503c7b44b5ec981bec0d1d3795a07f1ba96f0204d", size = 307268 } +sdist = { url = "https://files.pythonhosted.org/packages/aa/63/e53da845320b757bf29ef6a9062f5c669fe997973f966045cb019c3f4b66/urllib3-2.3.0.tar.gz", hash = "sha256:f8c5449b3cf0861679ce7e0503c7b44b5ec981bec0d1d3795a07f1ba96f0204d", size = 307268, upload-time = "2024-12-22T07:47:30.032Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/c8/19/4ec628951a74043532ca2cf5d97b7b14863931476d117c471e8e2b1eb39f/urllib3-2.3.0-py3-none-any.whl", hash = "sha256:1cee9ad369867bfdbbb48b7dd50374c0967a0bb7710050facf0dd6911440e3df", size = 128369 }, + { url = "https://files.pythonhosted.org/packages/c8/19/4ec628951a74043532ca2cf5d97b7b14863931476d117c471e8e2b1eb39f/urllib3-2.3.0-py3-none-any.whl", hash = "sha256:1cee9ad369867bfdbbb48b7dd50374c0967a0bb7710050facf0dd6911440e3df", size = 128369, upload-time = "2024-12-22T07:47:28.074Z" }, ] [[package]] name = "verspec" version = "0.1.0" source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/e7/44/8126f9f0c44319b2efc65feaad589cadef4d77ece200ae3c9133d58464d0/verspec-0.1.0.tar.gz", hash = "sha256:c4504ca697b2056cdb4bfa7121461f5a0e81809255b41c03dda4ba823637c01e", size = 27123 } +sdist = { url = "https://files.pythonhosted.org/packages/e7/44/8126f9f0c44319b2efc65feaad589cadef4d77ece200ae3c9133d58464d0/verspec-0.1.0.tar.gz", hash = "sha256:c4504ca697b2056cdb4bfa7121461f5a0e81809255b41c03dda4ba823637c01e", size = 27123, upload-time = "2020-11-30T02:24:09.646Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/a4/ce/3b6fee91c85626eaf769d617f1be9d2e15c1cca027bbdeb2e0d751469355/verspec-0.1.0-py3-none-any.whl", hash = "sha256:741877d5633cc9464c45a469ae2a31e801e6dbbaa85b9675d481cda100f11c31", size = 19640 }, + { url = "https://files.pythonhosted.org/packages/a4/ce/3b6fee91c85626eaf769d617f1be9d2e15c1cca027bbdeb2e0d751469355/verspec-0.1.0-py3-none-any.whl", hash = "sha256:741877d5633cc9464c45a469ae2a31e801e6dbbaa85b9675d481cda100f11c31", size = 19640, upload-time = "2020-11-30T02:24:08.387Z" }, ] [[package]] @@ -5191,9 +5201,9 @@ dependencies = [ { name = "filelock", version = "3.17.0", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.9'" }, { name = "platformdirs" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/a7/ca/f23dcb02e161a9bba141b1c08aa50e8da6ea25e6d780528f1d385a3efe25/virtualenv-20.29.1.tar.gz", hash = "sha256:b8b8970138d32fb606192cb97f6cd4bb644fa486be9308fb9b63f81091b5dc35", size = 7658028 } +sdist = { url = "https://files.pythonhosted.org/packages/a7/ca/f23dcb02e161a9bba141b1c08aa50e8da6ea25e6d780528f1d385a3efe25/virtualenv-20.29.1.tar.gz", hash = "sha256:b8b8970138d32fb606192cb97f6cd4bb644fa486be9308fb9b63f81091b5dc35", size = 7658028, upload-time = "2025-01-17T17:32:23.085Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/89/9b/599bcfc7064fbe5740919e78c5df18e5dceb0887e676256a1061bb5ae232/virtualenv-20.29.1-py3-none-any.whl", hash = "sha256:4e4cb403c0b0da39e13b46b1b2476e505cb0046b25f242bee80f62bf990b2779", size = 4282379 }, + { url = "https://files.pythonhosted.org/packages/89/9b/599bcfc7064fbe5740919e78c5df18e5dceb0887e676256a1061bb5ae232/virtualenv-20.29.1-py3-none-any.whl", hash = "sha256:4e4cb403c0b0da39e13b46b1b2476e505cb0046b25f242bee80f62bf990b2779", size = 4282379, upload-time = "2025-01-17T17:32:19.864Z" }, ] [[package]] @@ -5205,42 +5215,42 @@ resolution-markers = [ "python_full_version < '3.9' and platform_machine == 'aarch64' and sys_platform == 'linux'", "(python_full_version < '3.9' and platform_machine != 'arm64' and sys_platform == 'darwin') or (python_full_version < '3.9' and platform_machine != 'aarch64' and sys_platform == 'linux') or (python_full_version < '3.9' and sys_platform != 'darwin' and sys_platform != 'linux')", ] -sdist = { url = "https://files.pythonhosted.org/packages/4f/38/764baaa25eb5e35c9a043d4c4588f9836edfe52a708950f4b6d5f714fd42/watchdog-4.0.2.tar.gz", hash = "sha256:b4dfbb6c49221be4535623ea4474a4d6ee0a9cef4a80b20c28db4d858b64e270", size = 126587 } -wheels = [ - { url = "https://files.pythonhosted.org/packages/46/b0/219893d41c16d74d0793363bf86df07d50357b81f64bba4cb94fe76e7af4/watchdog-4.0.2-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:ede7f010f2239b97cc79e6cb3c249e72962404ae3865860855d5cbe708b0fd22", size = 100257 }, - { url = "https://files.pythonhosted.org/packages/6d/c6/8e90c65693e87d98310b2e1e5fd7e313266990853b489e85ce8396cc26e3/watchdog-4.0.2-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:a2cffa171445b0efa0726c561eca9a27d00a1f2b83846dbd5a4f639c4f8ca8e1", size = 92249 }, - { url = "https://files.pythonhosted.org/packages/6f/cd/2e306756364a934532ff8388d90eb2dc8bb21fe575cd2b33d791ce05a02f/watchdog-4.0.2-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:c50f148b31b03fbadd6d0b5980e38b558046b127dc483e5e4505fcef250f9503", size = 92888 }, - { url = "https://files.pythonhosted.org/packages/de/78/027ad372d62f97642349a16015394a7680530460b1c70c368c506cb60c09/watchdog-4.0.2-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:7c7d4bf585ad501c5f6c980e7be9c4f15604c7cc150e942d82083b31a7548930", size = 100256 }, - { url = "https://files.pythonhosted.org/packages/59/a9/412b808568c1814d693b4ff1cec0055dc791780b9dc947807978fab86bc1/watchdog-4.0.2-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:914285126ad0b6eb2258bbbcb7b288d9dfd655ae88fa28945be05a7b475a800b", size = 92252 }, - { url = "https://files.pythonhosted.org/packages/04/57/179d76076cff264982bc335dd4c7da6d636bd3e9860bbc896a665c3447b6/watchdog-4.0.2-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:984306dc4720da5498b16fc037b36ac443816125a3705dfde4fd90652d8028ef", size = 92888 }, - { url = "https://files.pythonhosted.org/packages/92/f5/ea22b095340545faea37ad9a42353b265ca751f543da3fb43f5d00cdcd21/watchdog-4.0.2-cp312-cp312-macosx_10_9_universal2.whl", hash = "sha256:1cdcfd8142f604630deef34722d695fb455d04ab7cfe9963055df1fc69e6727a", size = 100342 }, - { url = "https://files.pythonhosted.org/packages/cb/d2/8ce97dff5e465db1222951434e3115189ae54a9863aef99c6987890cc9ef/watchdog-4.0.2-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:d7ab624ff2f663f98cd03c8b7eedc09375a911794dfea6bf2a359fcc266bff29", size = 92306 }, - { url = "https://files.pythonhosted.org/packages/49/c4/1aeba2c31b25f79b03b15918155bc8c0b08101054fc727900f1a577d0d54/watchdog-4.0.2-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:132937547a716027bd5714383dfc40dc66c26769f1ce8a72a859d6a48f371f3a", size = 92915 }, - { url = "https://files.pythonhosted.org/packages/79/63/eb8994a182672c042d85a33507475c50c2ee930577524dd97aea05251527/watchdog-4.0.2-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:cd67c7df93eb58f360c43802acc945fa8da70c675b6fa37a241e17ca698ca49b", size = 100343 }, - { url = "https://files.pythonhosted.org/packages/ce/82/027c0c65c2245769580605bcd20a1dc7dfd6c6683c8c4e2ef43920e38d27/watchdog-4.0.2-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:bcfd02377be80ef3b6bc4ce481ef3959640458d6feaae0bd43dd90a43da90a7d", size = 92313 }, - { url = "https://files.pythonhosted.org/packages/2a/89/ad4715cbbd3440cb0d336b78970aba243a33a24b1a79d66f8d16b4590d6a/watchdog-4.0.2-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:980b71510f59c884d684b3663d46e7a14b457c9611c481e5cef08f4dd022eed7", size = 92919 }, - { url = "https://files.pythonhosted.org/packages/55/08/1a9086a3380e8828f65b0c835b86baf29ebb85e5e94a2811a2eb4f889cfd/watchdog-4.0.2-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:aa160781cafff2719b663c8a506156e9289d111d80f3387cf3af49cedee1f040", size = 100255 }, - { url = "https://files.pythonhosted.org/packages/6c/3e/064974628cf305831f3f78264800bd03b3358ec181e3e9380a36ff156b93/watchdog-4.0.2-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:f6ee8dedd255087bc7fe82adf046f0b75479b989185fb0bdf9a98b612170eac7", size = 92257 }, - { url = "https://files.pythonhosted.org/packages/23/69/1d2ad9c12d93bc1e445baa40db46bc74757f3ffc3a3be592ba8dbc51b6e5/watchdog-4.0.2-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:0b4359067d30d5b864e09c8597b112fe0a0a59321a0f331498b013fb097406b4", size = 92886 }, - { url = "https://files.pythonhosted.org/packages/68/eb/34d3173eceab490d4d1815ba9a821e10abe1da7a7264a224e30689b1450c/watchdog-4.0.2-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:770eef5372f146997638d737c9a3c597a3b41037cfbc5c41538fc27c09c3a3f9", size = 100254 }, - { url = "https://files.pythonhosted.org/packages/18/a1/4bbafe7ace414904c2cc9bd93e472133e8ec11eab0b4625017f0e34caad8/watchdog-4.0.2-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:eeea812f38536a0aa859972d50c76e37f4456474b02bd93674d1947cf1e39578", size = 92249 }, - { url = "https://files.pythonhosted.org/packages/f3/11/ec5684e0ca692950826af0de862e5db167523c30c9cbf9b3f4ce7ec9cc05/watchdog-4.0.2-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:b2c45f6e1e57ebb4687690c05bc3a2c1fb6ab260550c4290b8abb1335e0fd08b", size = 92891 }, - { url = "https://files.pythonhosted.org/packages/3b/9a/6f30f023324de7bad8a3eb02b0afb06bd0726003a3550e9964321315df5a/watchdog-4.0.2-pp310-pypy310_pp73-macosx_10_15_x86_64.whl", hash = "sha256:10b6683df70d340ac3279eff0b2766813f00f35a1d37515d2c99959ada8f05fa", size = 91775 }, - { url = "https://files.pythonhosted.org/packages/87/62/8be55e605d378a154037b9ba484e00a5478e627b69c53d0f63e3ef413ba6/watchdog-4.0.2-pp310-pypy310_pp73-macosx_11_0_arm64.whl", hash = "sha256:f7c739888c20f99824f7aa9d31ac8a97353e22d0c0e54703a547a218f6637eb3", size = 92255 }, - { url = "https://files.pythonhosted.org/packages/6b/59/12e03e675d28f450bade6da6bc79ad6616080b317c472b9ae688d2495a03/watchdog-4.0.2-pp38-pypy38_pp73-macosx_10_9_x86_64.whl", hash = "sha256:c100d09ac72a8a08ddbf0629ddfa0b8ee41740f9051429baa8e31bb903ad7508", size = 91682 }, - { url = "https://files.pythonhosted.org/packages/ef/69/241998de9b8e024f5c2fbdf4324ea628b4231925305011ca8b7e1c3329f6/watchdog-4.0.2-pp38-pypy38_pp73-macosx_11_0_arm64.whl", hash = "sha256:f5315a8c8dd6dd9425b974515081fc0aadca1d1d61e078d2246509fd756141ee", size = 92249 }, - { url = "https://files.pythonhosted.org/packages/70/3f/2173b4d9581bc9b5df4d7f2041b6c58b5e5448407856f68d4be9981000d0/watchdog-4.0.2-pp39-pypy39_pp73-macosx_10_15_x86_64.whl", hash = "sha256:2d468028a77b42cc685ed694a7a550a8d1771bb05193ba7b24006b8241a571a1", size = 91773 }, - { url = "https://files.pythonhosted.org/packages/f0/de/6fff29161d5789048f06ef24d94d3ddcc25795f347202b7ea503c3356acb/watchdog-4.0.2-pp39-pypy39_pp73-macosx_11_0_arm64.whl", hash = "sha256:f15edcae3830ff20e55d1f4e743e92970c847bcddc8b7509bcd172aa04de506e", size = 92250 }, - { url = "https://files.pythonhosted.org/packages/8a/b1/25acf6767af6f7e44e0086309825bd8c098e301eed5868dc5350642124b9/watchdog-4.0.2-py3-none-manylinux2014_aarch64.whl", hash = "sha256:936acba76d636f70db8f3c66e76aa6cb5136a936fc2a5088b9ce1c7a3508fc83", size = 82947 }, - { url = "https://files.pythonhosted.org/packages/e8/90/aebac95d6f954bd4901f5d46dcd83d68e682bfd21798fd125a95ae1c9dbf/watchdog-4.0.2-py3-none-manylinux2014_armv7l.whl", hash = "sha256:e252f8ca942a870f38cf785aef420285431311652d871409a64e2a0a52a2174c", size = 82942 }, - { url = "https://files.pythonhosted.org/packages/15/3a/a4bd8f3b9381824995787488b9282aff1ed4667e1110f31a87b871ea851c/watchdog-4.0.2-py3-none-manylinux2014_i686.whl", hash = "sha256:0e83619a2d5d436a7e58a1aea957a3c1ccbf9782c43c0b4fed80580e5e4acd1a", size = 82947 }, - { url = "https://files.pythonhosted.org/packages/09/cc/238998fc08e292a4a18a852ed8274159019ee7a66be14441325bcd811dfd/watchdog-4.0.2-py3-none-manylinux2014_ppc64.whl", hash = "sha256:88456d65f207b39f1981bf772e473799fcdc10801062c36fd5ad9f9d1d463a73", size = 82946 }, - { url = "https://files.pythonhosted.org/packages/80/f1/d4b915160c9d677174aa5fae4537ae1f5acb23b3745ab0873071ef671f0a/watchdog-4.0.2-py3-none-manylinux2014_ppc64le.whl", hash = "sha256:32be97f3b75693a93c683787a87a0dc8db98bb84701539954eef991fb35f5fbc", size = 82947 }, - { url = "https://files.pythonhosted.org/packages/db/02/56ebe2cf33b352fe3309588eb03f020d4d1c061563d9858a9216ba004259/watchdog-4.0.2-py3-none-manylinux2014_s390x.whl", hash = "sha256:c82253cfc9be68e3e49282831afad2c1f6593af80c0daf1287f6a92657986757", size = 82944 }, - { url = "https://files.pythonhosted.org/packages/01/d2/c8931ff840a7e5bd5dcb93f2bb2a1fd18faf8312e9f7f53ff1cf76ecc8ed/watchdog-4.0.2-py3-none-manylinux2014_x86_64.whl", hash = "sha256:c0b14488bd336c5b1845cee83d3e631a1f8b4e9c5091ec539406e4a324f882d8", size = 82947 }, - { url = "https://files.pythonhosted.org/packages/d0/d8/cdb0c21a4a988669d7c210c75c6a2c9a0e16a3b08d9f7e633df0d9a16ad8/watchdog-4.0.2-py3-none-win32.whl", hash = "sha256:0d8a7e523ef03757a5aa29f591437d64d0d894635f8a50f370fe37f913ce4e19", size = 82935 }, - { url = "https://files.pythonhosted.org/packages/99/2e/b69dfaae7a83ea64ce36538cc103a3065e12c447963797793d5c0a1d5130/watchdog-4.0.2-py3-none-win_amd64.whl", hash = "sha256:c344453ef3bf875a535b0488e3ad28e341adbd5a9ffb0f7d62cefacc8824ef2b", size = 82934 }, - { url = "https://files.pythonhosted.org/packages/b0/0b/43b96a9ecdd65ff5545b1b13b687ca486da5c6249475b1a45f24d63a1858/watchdog-4.0.2-py3-none-win_ia64.whl", hash = "sha256:baececaa8edff42cd16558a639a9b0ddf425f93d892e8392a56bf904f5eff22c", size = 82933 }, +sdist = { url = "https://files.pythonhosted.org/packages/4f/38/764baaa25eb5e35c9a043d4c4588f9836edfe52a708950f4b6d5f714fd42/watchdog-4.0.2.tar.gz", hash = "sha256:b4dfbb6c49221be4535623ea4474a4d6ee0a9cef4a80b20c28db4d858b64e270", size = 126587, upload-time = "2024-08-11T07:38:01.623Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/46/b0/219893d41c16d74d0793363bf86df07d50357b81f64bba4cb94fe76e7af4/watchdog-4.0.2-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:ede7f010f2239b97cc79e6cb3c249e72962404ae3865860855d5cbe708b0fd22", size = 100257, upload-time = "2024-08-11T07:37:04.209Z" }, + { url = "https://files.pythonhosted.org/packages/6d/c6/8e90c65693e87d98310b2e1e5fd7e313266990853b489e85ce8396cc26e3/watchdog-4.0.2-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:a2cffa171445b0efa0726c561eca9a27d00a1f2b83846dbd5a4f639c4f8ca8e1", size = 92249, upload-time = "2024-08-11T07:37:06.364Z" }, + { url = "https://files.pythonhosted.org/packages/6f/cd/2e306756364a934532ff8388d90eb2dc8bb21fe575cd2b33d791ce05a02f/watchdog-4.0.2-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:c50f148b31b03fbadd6d0b5980e38b558046b127dc483e5e4505fcef250f9503", size = 92888, upload-time = "2024-08-11T07:37:08.275Z" }, + { url = "https://files.pythonhosted.org/packages/de/78/027ad372d62f97642349a16015394a7680530460b1c70c368c506cb60c09/watchdog-4.0.2-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:7c7d4bf585ad501c5f6c980e7be9c4f15604c7cc150e942d82083b31a7548930", size = 100256, upload-time = "2024-08-11T07:37:11.017Z" }, + { url = "https://files.pythonhosted.org/packages/59/a9/412b808568c1814d693b4ff1cec0055dc791780b9dc947807978fab86bc1/watchdog-4.0.2-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:914285126ad0b6eb2258bbbcb7b288d9dfd655ae88fa28945be05a7b475a800b", size = 92252, upload-time = "2024-08-11T07:37:13.098Z" }, + { url = "https://files.pythonhosted.org/packages/04/57/179d76076cff264982bc335dd4c7da6d636bd3e9860bbc896a665c3447b6/watchdog-4.0.2-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:984306dc4720da5498b16fc037b36ac443816125a3705dfde4fd90652d8028ef", size = 92888, upload-time = "2024-08-11T07:37:15.077Z" }, + { url = "https://files.pythonhosted.org/packages/92/f5/ea22b095340545faea37ad9a42353b265ca751f543da3fb43f5d00cdcd21/watchdog-4.0.2-cp312-cp312-macosx_10_9_universal2.whl", hash = "sha256:1cdcfd8142f604630deef34722d695fb455d04ab7cfe9963055df1fc69e6727a", size = 100342, upload-time = "2024-08-11T07:37:16.393Z" }, + { url = "https://files.pythonhosted.org/packages/cb/d2/8ce97dff5e465db1222951434e3115189ae54a9863aef99c6987890cc9ef/watchdog-4.0.2-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:d7ab624ff2f663f98cd03c8b7eedc09375a911794dfea6bf2a359fcc266bff29", size = 92306, upload-time = "2024-08-11T07:37:17.997Z" }, + { url = "https://files.pythonhosted.org/packages/49/c4/1aeba2c31b25f79b03b15918155bc8c0b08101054fc727900f1a577d0d54/watchdog-4.0.2-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:132937547a716027bd5714383dfc40dc66c26769f1ce8a72a859d6a48f371f3a", size = 92915, upload-time = "2024-08-11T07:37:19.967Z" }, + { url = "https://files.pythonhosted.org/packages/79/63/eb8994a182672c042d85a33507475c50c2ee930577524dd97aea05251527/watchdog-4.0.2-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:cd67c7df93eb58f360c43802acc945fa8da70c675b6fa37a241e17ca698ca49b", size = 100343, upload-time = "2024-08-11T07:37:21.935Z" }, + { url = "https://files.pythonhosted.org/packages/ce/82/027c0c65c2245769580605bcd20a1dc7dfd6c6683c8c4e2ef43920e38d27/watchdog-4.0.2-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:bcfd02377be80ef3b6bc4ce481ef3959640458d6feaae0bd43dd90a43da90a7d", size = 92313, upload-time = "2024-08-11T07:37:23.314Z" }, + { url = "https://files.pythonhosted.org/packages/2a/89/ad4715cbbd3440cb0d336b78970aba243a33a24b1a79d66f8d16b4590d6a/watchdog-4.0.2-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:980b71510f59c884d684b3663d46e7a14b457c9611c481e5cef08f4dd022eed7", size = 92919, upload-time = "2024-08-11T07:37:24.715Z" }, + { url = "https://files.pythonhosted.org/packages/55/08/1a9086a3380e8828f65b0c835b86baf29ebb85e5e94a2811a2eb4f889cfd/watchdog-4.0.2-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:aa160781cafff2719b663c8a506156e9289d111d80f3387cf3af49cedee1f040", size = 100255, upload-time = "2024-08-11T07:37:26.862Z" }, + { url = "https://files.pythonhosted.org/packages/6c/3e/064974628cf305831f3f78264800bd03b3358ec181e3e9380a36ff156b93/watchdog-4.0.2-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:f6ee8dedd255087bc7fe82adf046f0b75479b989185fb0bdf9a98b612170eac7", size = 92257, upload-time = "2024-08-11T07:37:28.253Z" }, + { url = "https://files.pythonhosted.org/packages/23/69/1d2ad9c12d93bc1e445baa40db46bc74757f3ffc3a3be592ba8dbc51b6e5/watchdog-4.0.2-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:0b4359067d30d5b864e09c8597b112fe0a0a59321a0f331498b013fb097406b4", size = 92886, upload-time = "2024-08-11T07:37:29.52Z" }, + { url = "https://files.pythonhosted.org/packages/68/eb/34d3173eceab490d4d1815ba9a821e10abe1da7a7264a224e30689b1450c/watchdog-4.0.2-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:770eef5372f146997638d737c9a3c597a3b41037cfbc5c41538fc27c09c3a3f9", size = 100254, upload-time = "2024-08-11T07:37:30.888Z" }, + { url = "https://files.pythonhosted.org/packages/18/a1/4bbafe7ace414904c2cc9bd93e472133e8ec11eab0b4625017f0e34caad8/watchdog-4.0.2-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:eeea812f38536a0aa859972d50c76e37f4456474b02bd93674d1947cf1e39578", size = 92249, upload-time = "2024-08-11T07:37:32.193Z" }, + { url = "https://files.pythonhosted.org/packages/f3/11/ec5684e0ca692950826af0de862e5db167523c30c9cbf9b3f4ce7ec9cc05/watchdog-4.0.2-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:b2c45f6e1e57ebb4687690c05bc3a2c1fb6ab260550c4290b8abb1335e0fd08b", size = 92891, upload-time = "2024-08-11T07:37:34.212Z" }, + { url = "https://files.pythonhosted.org/packages/3b/9a/6f30f023324de7bad8a3eb02b0afb06bd0726003a3550e9964321315df5a/watchdog-4.0.2-pp310-pypy310_pp73-macosx_10_15_x86_64.whl", hash = "sha256:10b6683df70d340ac3279eff0b2766813f00f35a1d37515d2c99959ada8f05fa", size = 91775, upload-time = "2024-08-11T07:37:35.567Z" }, + { url = "https://files.pythonhosted.org/packages/87/62/8be55e605d378a154037b9ba484e00a5478e627b69c53d0f63e3ef413ba6/watchdog-4.0.2-pp310-pypy310_pp73-macosx_11_0_arm64.whl", hash = "sha256:f7c739888c20f99824f7aa9d31ac8a97353e22d0c0e54703a547a218f6637eb3", size = 92255, upload-time = "2024-08-11T07:37:37.596Z" }, + { url = "https://files.pythonhosted.org/packages/6b/59/12e03e675d28f450bade6da6bc79ad6616080b317c472b9ae688d2495a03/watchdog-4.0.2-pp38-pypy38_pp73-macosx_10_9_x86_64.whl", hash = "sha256:c100d09ac72a8a08ddbf0629ddfa0b8ee41740f9051429baa8e31bb903ad7508", size = 91682, upload-time = "2024-08-11T07:37:38.901Z" }, + { url = "https://files.pythonhosted.org/packages/ef/69/241998de9b8e024f5c2fbdf4324ea628b4231925305011ca8b7e1c3329f6/watchdog-4.0.2-pp38-pypy38_pp73-macosx_11_0_arm64.whl", hash = "sha256:f5315a8c8dd6dd9425b974515081fc0aadca1d1d61e078d2246509fd756141ee", size = 92249, upload-time = "2024-08-11T07:37:40.143Z" }, + { url = "https://files.pythonhosted.org/packages/70/3f/2173b4d9581bc9b5df4d7f2041b6c58b5e5448407856f68d4be9981000d0/watchdog-4.0.2-pp39-pypy39_pp73-macosx_10_15_x86_64.whl", hash = "sha256:2d468028a77b42cc685ed694a7a550a8d1771bb05193ba7b24006b8241a571a1", size = 91773, upload-time = "2024-08-11T07:37:42.095Z" }, + { url = "https://files.pythonhosted.org/packages/f0/de/6fff29161d5789048f06ef24d94d3ddcc25795f347202b7ea503c3356acb/watchdog-4.0.2-pp39-pypy39_pp73-macosx_11_0_arm64.whl", hash = "sha256:f15edcae3830ff20e55d1f4e743e92970c847bcddc8b7509bcd172aa04de506e", size = 92250, upload-time = "2024-08-11T07:37:44.052Z" }, + { url = "https://files.pythonhosted.org/packages/8a/b1/25acf6767af6f7e44e0086309825bd8c098e301eed5868dc5350642124b9/watchdog-4.0.2-py3-none-manylinux2014_aarch64.whl", hash = "sha256:936acba76d636f70db8f3c66e76aa6cb5136a936fc2a5088b9ce1c7a3508fc83", size = 82947, upload-time = "2024-08-11T07:37:45.388Z" }, + { url = "https://files.pythonhosted.org/packages/e8/90/aebac95d6f954bd4901f5d46dcd83d68e682bfd21798fd125a95ae1c9dbf/watchdog-4.0.2-py3-none-manylinux2014_armv7l.whl", hash = "sha256:e252f8ca942a870f38cf785aef420285431311652d871409a64e2a0a52a2174c", size = 82942, upload-time = "2024-08-11T07:37:46.722Z" }, + { url = "https://files.pythonhosted.org/packages/15/3a/a4bd8f3b9381824995787488b9282aff1ed4667e1110f31a87b871ea851c/watchdog-4.0.2-py3-none-manylinux2014_i686.whl", hash = "sha256:0e83619a2d5d436a7e58a1aea957a3c1ccbf9782c43c0b4fed80580e5e4acd1a", size = 82947, upload-time = "2024-08-11T07:37:48.941Z" }, + { url = "https://files.pythonhosted.org/packages/09/cc/238998fc08e292a4a18a852ed8274159019ee7a66be14441325bcd811dfd/watchdog-4.0.2-py3-none-manylinux2014_ppc64.whl", hash = "sha256:88456d65f207b39f1981bf772e473799fcdc10801062c36fd5ad9f9d1d463a73", size = 82946, upload-time = "2024-08-11T07:37:50.279Z" }, + { url = "https://files.pythonhosted.org/packages/80/f1/d4b915160c9d677174aa5fae4537ae1f5acb23b3745ab0873071ef671f0a/watchdog-4.0.2-py3-none-manylinux2014_ppc64le.whl", hash = "sha256:32be97f3b75693a93c683787a87a0dc8db98bb84701539954eef991fb35f5fbc", size = 82947, upload-time = "2024-08-11T07:37:51.55Z" }, + { url = "https://files.pythonhosted.org/packages/db/02/56ebe2cf33b352fe3309588eb03f020d4d1c061563d9858a9216ba004259/watchdog-4.0.2-py3-none-manylinux2014_s390x.whl", hash = "sha256:c82253cfc9be68e3e49282831afad2c1f6593af80c0daf1287f6a92657986757", size = 82944, upload-time = "2024-08-11T07:37:52.855Z" }, + { url = "https://files.pythonhosted.org/packages/01/d2/c8931ff840a7e5bd5dcb93f2bb2a1fd18faf8312e9f7f53ff1cf76ecc8ed/watchdog-4.0.2-py3-none-manylinux2014_x86_64.whl", hash = "sha256:c0b14488bd336c5b1845cee83d3e631a1f8b4e9c5091ec539406e4a324f882d8", size = 82947, upload-time = "2024-08-11T07:37:55.172Z" }, + { url = "https://files.pythonhosted.org/packages/d0/d8/cdb0c21a4a988669d7c210c75c6a2c9a0e16a3b08d9f7e633df0d9a16ad8/watchdog-4.0.2-py3-none-win32.whl", hash = "sha256:0d8a7e523ef03757a5aa29f591437d64d0d894635f8a50f370fe37f913ce4e19", size = 82935, upload-time = "2024-08-11T07:37:56.668Z" }, + { url = "https://files.pythonhosted.org/packages/99/2e/b69dfaae7a83ea64ce36538cc103a3065e12c447963797793d5c0a1d5130/watchdog-4.0.2-py3-none-win_amd64.whl", hash = "sha256:c344453ef3bf875a535b0488e3ad28e341adbd5a9ffb0f7d62cefacc8824ef2b", size = 82934, upload-time = "2024-08-11T07:37:57.991Z" }, + { url = "https://files.pythonhosted.org/packages/b0/0b/43b96a9ecdd65ff5545b1b13b687ca486da5c6249475b1a45f24d63a1858/watchdog-4.0.2-py3-none-win_ia64.whl", hash = "sha256:baececaa8edff42cd16558a639a9b0ddf425f93d892e8392a56bf904f5eff22c", size = 82933, upload-time = "2024-08-11T07:37:59.573Z" }, ] [[package]] @@ -5261,46 +5271,46 @@ resolution-markers = [ "python_full_version == '3.9.*' and platform_machine == 'aarch64' and sys_platform == 'linux'", "(python_full_version == '3.9.*' and platform_machine != 'arm64' and sys_platform == 'darwin') or (python_full_version == '3.9.*' and platform_machine != 'aarch64' and sys_platform == 'linux') or (python_full_version == '3.9.*' and sys_platform != 'darwin' and sys_platform != 'linux')", ] -sdist = { url = "https://files.pythonhosted.org/packages/db/7d/7f3d619e951c88ed75c6037b246ddcf2d322812ee8ea189be89511721d54/watchdog-6.0.0.tar.gz", hash = "sha256:9ddf7c82fda3ae8e24decda1338ede66e1c99883db93711d8fb941eaa2d8c282", size = 131220 } -wheels = [ - { url = "https://files.pythonhosted.org/packages/0c/56/90994d789c61df619bfc5ce2ecdabd5eeff564e1eb47512bd01b5e019569/watchdog-6.0.0-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:d1cdb490583ebd691c012b3d6dae011000fe42edb7a82ece80965b42abd61f26", size = 96390 }, - { url = "https://files.pythonhosted.org/packages/55/46/9a67ee697342ddf3c6daa97e3a587a56d6c4052f881ed926a849fcf7371c/watchdog-6.0.0-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:bc64ab3bdb6a04d69d4023b29422170b74681784ffb9463ed4870cf2f3e66112", size = 88389 }, - { url = "https://files.pythonhosted.org/packages/44/65/91b0985747c52064d8701e1075eb96f8c40a79df889e59a399453adfb882/watchdog-6.0.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:c897ac1b55c5a1461e16dae288d22bb2e412ba9807df8397a635d88f671d36c3", size = 89020 }, - { url = "https://files.pythonhosted.org/packages/e0/24/d9be5cd6642a6aa68352ded4b4b10fb0d7889cb7f45814fb92cecd35f101/watchdog-6.0.0-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:6eb11feb5a0d452ee41f824e271ca311a09e250441c262ca2fd7ebcf2461a06c", size = 96393 }, - { url = "https://files.pythonhosted.org/packages/63/7a/6013b0d8dbc56adca7fdd4f0beed381c59f6752341b12fa0886fa7afc78b/watchdog-6.0.0-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:ef810fbf7b781a5a593894e4f439773830bdecb885e6880d957d5b9382a960d2", size = 88392 }, - { url = "https://files.pythonhosted.org/packages/d1/40/b75381494851556de56281e053700e46bff5b37bf4c7267e858640af5a7f/watchdog-6.0.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:afd0fe1b2270917c5e23c2a65ce50c2a4abb63daafb0d419fde368e272a76b7c", size = 89019 }, - { url = "https://files.pythonhosted.org/packages/39/ea/3930d07dafc9e286ed356a679aa02d777c06e9bfd1164fa7c19c288a5483/watchdog-6.0.0-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:bdd4e6f14b8b18c334febb9c4425a878a2ac20efd1e0b231978e7b150f92a948", size = 96471 }, - { url = "https://files.pythonhosted.org/packages/12/87/48361531f70b1f87928b045df868a9fd4e253d9ae087fa4cf3f7113be363/watchdog-6.0.0-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:c7c15dda13c4eb00d6fb6fc508b3c0ed88b9d5d374056b239c4ad1611125c860", size = 88449 }, - { url = "https://files.pythonhosted.org/packages/5b/7e/8f322f5e600812e6f9a31b75d242631068ca8f4ef0582dd3ae6e72daecc8/watchdog-6.0.0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:6f10cb2d5902447c7d0da897e2c6768bca89174d0c6e1e30abec5421af97a5b0", size = 89054 }, - { url = "https://files.pythonhosted.org/packages/68/98/b0345cabdce2041a01293ba483333582891a3bd5769b08eceb0d406056ef/watchdog-6.0.0-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:490ab2ef84f11129844c23fb14ecf30ef3d8a6abafd3754a6f75ca1e6654136c", size = 96480 }, - { url = "https://files.pythonhosted.org/packages/85/83/cdf13902c626b28eedef7ec4f10745c52aad8a8fe7eb04ed7b1f111ca20e/watchdog-6.0.0-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:76aae96b00ae814b181bb25b1b98076d5fc84e8a53cd8885a318b42b6d3a5134", size = 88451 }, - { url = "https://files.pythonhosted.org/packages/fe/c4/225c87bae08c8b9ec99030cd48ae9c4eca050a59bf5c2255853e18c87b50/watchdog-6.0.0-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:a175f755fc2279e0b7312c0035d52e27211a5bc39719dd529625b1930917345b", size = 89057 }, - { url = "https://files.pythonhosted.org/packages/05/52/7223011bb760fce8ddc53416beb65b83a3ea6d7d13738dde75eeb2c89679/watchdog-6.0.0-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:e6f0e77c9417e7cd62af82529b10563db3423625c5fce018430b249bf977f9e8", size = 96390 }, - { url = "https://files.pythonhosted.org/packages/9c/62/d2b21bc4e706d3a9d467561f487c2938cbd881c69f3808c43ac1ec242391/watchdog-6.0.0-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:90c8e78f3b94014f7aaae121e6b909674df5b46ec24d6bebc45c44c56729af2a", size = 88386 }, - { url = "https://files.pythonhosted.org/packages/ea/22/1c90b20eda9f4132e4603a26296108728a8bfe9584b006bd05dd94548853/watchdog-6.0.0-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:e7631a77ffb1f7d2eefa4445ebbee491c720a5661ddf6df3498ebecae5ed375c", size = 89017 }, - { url = "https://files.pythonhosted.org/packages/30/ad/d17b5d42e28a8b91f8ed01cb949da092827afb9995d4559fd448d0472763/watchdog-6.0.0-pp310-pypy310_pp73-macosx_10_15_x86_64.whl", hash = "sha256:c7ac31a19f4545dd92fc25d200694098f42c9a8e391bc00bdd362c5736dbf881", size = 87902 }, - { url = "https://files.pythonhosted.org/packages/5c/ca/c3649991d140ff6ab67bfc85ab42b165ead119c9e12211e08089d763ece5/watchdog-6.0.0-pp310-pypy310_pp73-macosx_11_0_arm64.whl", hash = "sha256:9513f27a1a582d9808cf21a07dae516f0fab1cf2d7683a742c498b93eedabb11", size = 88380 }, - { url = "https://files.pythonhosted.org/packages/5b/79/69f2b0e8d3f2afd462029031baafb1b75d11bb62703f0e1022b2e54d49ee/watchdog-6.0.0-pp39-pypy39_pp73-macosx_10_15_x86_64.whl", hash = "sha256:7a0e56874cfbc4b9b05c60c8a1926fedf56324bb08cfbc188969777940aef3aa", size = 87903 }, - { url = "https://files.pythonhosted.org/packages/e2/2b/dc048dd71c2e5f0f7ebc04dd7912981ec45793a03c0dc462438e0591ba5d/watchdog-6.0.0-pp39-pypy39_pp73-macosx_11_0_arm64.whl", hash = "sha256:e6439e374fc012255b4ec786ae3c4bc838cd7309a540e5fe0952d03687d8804e", size = 88381 }, - { url = "https://files.pythonhosted.org/packages/a9/c7/ca4bf3e518cb57a686b2feb4f55a1892fd9a3dd13f470fca14e00f80ea36/watchdog-6.0.0-py3-none-manylinux2014_aarch64.whl", hash = "sha256:7607498efa04a3542ae3e05e64da8202e58159aa1fa4acddf7678d34a35d4f13", size = 79079 }, - { url = "https://files.pythonhosted.org/packages/5c/51/d46dc9332f9a647593c947b4b88e2381c8dfc0942d15b8edc0310fa4abb1/watchdog-6.0.0-py3-none-manylinux2014_armv7l.whl", hash = "sha256:9041567ee8953024c83343288ccc458fd0a2d811d6a0fd68c4c22609e3490379", size = 79078 }, - { url = "https://files.pythonhosted.org/packages/d4/57/04edbf5e169cd318d5f07b4766fee38e825d64b6913ca157ca32d1a42267/watchdog-6.0.0-py3-none-manylinux2014_i686.whl", hash = "sha256:82dc3e3143c7e38ec49d61af98d6558288c415eac98486a5c581726e0737c00e", size = 79076 }, - { url = "https://files.pythonhosted.org/packages/ab/cc/da8422b300e13cb187d2203f20b9253e91058aaf7db65b74142013478e66/watchdog-6.0.0-py3-none-manylinux2014_ppc64.whl", hash = "sha256:212ac9b8bf1161dc91bd09c048048a95ca3a4c4f5e5d4a7d1b1a7d5752a7f96f", size = 79077 }, - { url = "https://files.pythonhosted.org/packages/2c/3b/b8964e04ae1a025c44ba8e4291f86e97fac443bca31de8bd98d3263d2fcf/watchdog-6.0.0-py3-none-manylinux2014_ppc64le.whl", hash = "sha256:e3df4cbb9a450c6d49318f6d14f4bbc80d763fa587ba46ec86f99f9e6876bb26", size = 79078 }, - { url = "https://files.pythonhosted.org/packages/62/ae/a696eb424bedff7407801c257d4b1afda455fe40821a2be430e173660e81/watchdog-6.0.0-py3-none-manylinux2014_s390x.whl", hash = "sha256:2cce7cfc2008eb51feb6aab51251fd79b85d9894e98ba847408f662b3395ca3c", size = 79077 }, - { url = "https://files.pythonhosted.org/packages/b5/e8/dbf020b4d98251a9860752a094d09a65e1b436ad181faf929983f697048f/watchdog-6.0.0-py3-none-manylinux2014_x86_64.whl", hash = "sha256:20ffe5b202af80ab4266dcd3e91aae72bf2da48c0d33bdb15c66658e685e94e2", size = 79078 }, - { url = "https://files.pythonhosted.org/packages/07/f6/d0e5b343768e8bcb4cda79f0f2f55051bf26177ecd5651f84c07567461cf/watchdog-6.0.0-py3-none-win32.whl", hash = "sha256:07df1fdd701c5d4c8e55ef6cf55b8f0120fe1aef7ef39a1c6fc6bc2e606d517a", size = 79065 }, - { url = "https://files.pythonhosted.org/packages/db/d9/c495884c6e548fce18a8f40568ff120bc3a4b7b99813081c8ac0c936fa64/watchdog-6.0.0-py3-none-win_amd64.whl", hash = "sha256:cbafb470cf848d93b5d013e2ecb245d4aa1c8fd0504e863ccefa32445359d680", size = 79070 }, - { url = "https://files.pythonhosted.org/packages/33/e8/e40370e6d74ddba47f002a32919d91310d6074130fe4e17dabcafc15cbf1/watchdog-6.0.0-py3-none-win_ia64.whl", hash = "sha256:a1914259fa9e1454315171103c6a30961236f508b9b623eae470268bbcc6a22f", size = 79067 }, +sdist = { url = "https://files.pythonhosted.org/packages/db/7d/7f3d619e951c88ed75c6037b246ddcf2d322812ee8ea189be89511721d54/watchdog-6.0.0.tar.gz", hash = "sha256:9ddf7c82fda3ae8e24decda1338ede66e1c99883db93711d8fb941eaa2d8c282", size = 131220, upload-time = "2024-11-01T14:07:13.037Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/0c/56/90994d789c61df619bfc5ce2ecdabd5eeff564e1eb47512bd01b5e019569/watchdog-6.0.0-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:d1cdb490583ebd691c012b3d6dae011000fe42edb7a82ece80965b42abd61f26", size = 96390, upload-time = "2024-11-01T14:06:24.793Z" }, + { url = "https://files.pythonhosted.org/packages/55/46/9a67ee697342ddf3c6daa97e3a587a56d6c4052f881ed926a849fcf7371c/watchdog-6.0.0-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:bc64ab3bdb6a04d69d4023b29422170b74681784ffb9463ed4870cf2f3e66112", size = 88389, upload-time = "2024-11-01T14:06:27.112Z" }, + { url = "https://files.pythonhosted.org/packages/44/65/91b0985747c52064d8701e1075eb96f8c40a79df889e59a399453adfb882/watchdog-6.0.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:c897ac1b55c5a1461e16dae288d22bb2e412ba9807df8397a635d88f671d36c3", size = 89020, upload-time = "2024-11-01T14:06:29.876Z" }, + { url = "https://files.pythonhosted.org/packages/e0/24/d9be5cd6642a6aa68352ded4b4b10fb0d7889cb7f45814fb92cecd35f101/watchdog-6.0.0-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:6eb11feb5a0d452ee41f824e271ca311a09e250441c262ca2fd7ebcf2461a06c", size = 96393, upload-time = "2024-11-01T14:06:31.756Z" }, + { url = "https://files.pythonhosted.org/packages/63/7a/6013b0d8dbc56adca7fdd4f0beed381c59f6752341b12fa0886fa7afc78b/watchdog-6.0.0-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:ef810fbf7b781a5a593894e4f439773830bdecb885e6880d957d5b9382a960d2", size = 88392, upload-time = "2024-11-01T14:06:32.99Z" }, + { url = "https://files.pythonhosted.org/packages/d1/40/b75381494851556de56281e053700e46bff5b37bf4c7267e858640af5a7f/watchdog-6.0.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:afd0fe1b2270917c5e23c2a65ce50c2a4abb63daafb0d419fde368e272a76b7c", size = 89019, upload-time = "2024-11-01T14:06:34.963Z" }, + { url = "https://files.pythonhosted.org/packages/39/ea/3930d07dafc9e286ed356a679aa02d777c06e9bfd1164fa7c19c288a5483/watchdog-6.0.0-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:bdd4e6f14b8b18c334febb9c4425a878a2ac20efd1e0b231978e7b150f92a948", size = 96471, upload-time = "2024-11-01T14:06:37.745Z" }, + { url = "https://files.pythonhosted.org/packages/12/87/48361531f70b1f87928b045df868a9fd4e253d9ae087fa4cf3f7113be363/watchdog-6.0.0-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:c7c15dda13c4eb00d6fb6fc508b3c0ed88b9d5d374056b239c4ad1611125c860", size = 88449, upload-time = "2024-11-01T14:06:39.748Z" }, + { url = "https://files.pythonhosted.org/packages/5b/7e/8f322f5e600812e6f9a31b75d242631068ca8f4ef0582dd3ae6e72daecc8/watchdog-6.0.0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:6f10cb2d5902447c7d0da897e2c6768bca89174d0c6e1e30abec5421af97a5b0", size = 89054, upload-time = "2024-11-01T14:06:41.009Z" }, + { url = "https://files.pythonhosted.org/packages/68/98/b0345cabdce2041a01293ba483333582891a3bd5769b08eceb0d406056ef/watchdog-6.0.0-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:490ab2ef84f11129844c23fb14ecf30ef3d8a6abafd3754a6f75ca1e6654136c", size = 96480, upload-time = "2024-11-01T14:06:42.952Z" }, + { url = "https://files.pythonhosted.org/packages/85/83/cdf13902c626b28eedef7ec4f10745c52aad8a8fe7eb04ed7b1f111ca20e/watchdog-6.0.0-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:76aae96b00ae814b181bb25b1b98076d5fc84e8a53cd8885a318b42b6d3a5134", size = 88451, upload-time = "2024-11-01T14:06:45.084Z" }, + { url = "https://files.pythonhosted.org/packages/fe/c4/225c87bae08c8b9ec99030cd48ae9c4eca050a59bf5c2255853e18c87b50/watchdog-6.0.0-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:a175f755fc2279e0b7312c0035d52e27211a5bc39719dd529625b1930917345b", size = 89057, upload-time = "2024-11-01T14:06:47.324Z" }, + { url = "https://files.pythonhosted.org/packages/05/52/7223011bb760fce8ddc53416beb65b83a3ea6d7d13738dde75eeb2c89679/watchdog-6.0.0-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:e6f0e77c9417e7cd62af82529b10563db3423625c5fce018430b249bf977f9e8", size = 96390, upload-time = "2024-11-01T14:06:49.325Z" }, + { url = "https://files.pythonhosted.org/packages/9c/62/d2b21bc4e706d3a9d467561f487c2938cbd881c69f3808c43ac1ec242391/watchdog-6.0.0-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:90c8e78f3b94014f7aaae121e6b909674df5b46ec24d6bebc45c44c56729af2a", size = 88386, upload-time = "2024-11-01T14:06:50.536Z" }, + { url = "https://files.pythonhosted.org/packages/ea/22/1c90b20eda9f4132e4603a26296108728a8bfe9584b006bd05dd94548853/watchdog-6.0.0-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:e7631a77ffb1f7d2eefa4445ebbee491c720a5661ddf6df3498ebecae5ed375c", size = 89017, upload-time = "2024-11-01T14:06:51.717Z" }, + { url = "https://files.pythonhosted.org/packages/30/ad/d17b5d42e28a8b91f8ed01cb949da092827afb9995d4559fd448d0472763/watchdog-6.0.0-pp310-pypy310_pp73-macosx_10_15_x86_64.whl", hash = "sha256:c7ac31a19f4545dd92fc25d200694098f42c9a8e391bc00bdd362c5736dbf881", size = 87902, upload-time = "2024-11-01T14:06:53.119Z" }, + { url = "https://files.pythonhosted.org/packages/5c/ca/c3649991d140ff6ab67bfc85ab42b165ead119c9e12211e08089d763ece5/watchdog-6.0.0-pp310-pypy310_pp73-macosx_11_0_arm64.whl", hash = "sha256:9513f27a1a582d9808cf21a07dae516f0fab1cf2d7683a742c498b93eedabb11", size = 88380, upload-time = "2024-11-01T14:06:55.19Z" }, + { url = "https://files.pythonhosted.org/packages/5b/79/69f2b0e8d3f2afd462029031baafb1b75d11bb62703f0e1022b2e54d49ee/watchdog-6.0.0-pp39-pypy39_pp73-macosx_10_15_x86_64.whl", hash = "sha256:7a0e56874cfbc4b9b05c60c8a1926fedf56324bb08cfbc188969777940aef3aa", size = 87903, upload-time = "2024-11-01T14:06:57.052Z" }, + { url = "https://files.pythonhosted.org/packages/e2/2b/dc048dd71c2e5f0f7ebc04dd7912981ec45793a03c0dc462438e0591ba5d/watchdog-6.0.0-pp39-pypy39_pp73-macosx_11_0_arm64.whl", hash = "sha256:e6439e374fc012255b4ec786ae3c4bc838cd7309a540e5fe0952d03687d8804e", size = 88381, upload-time = "2024-11-01T14:06:58.193Z" }, + { url = "https://files.pythonhosted.org/packages/a9/c7/ca4bf3e518cb57a686b2feb4f55a1892fd9a3dd13f470fca14e00f80ea36/watchdog-6.0.0-py3-none-manylinux2014_aarch64.whl", hash = "sha256:7607498efa04a3542ae3e05e64da8202e58159aa1fa4acddf7678d34a35d4f13", size = 79079, upload-time = "2024-11-01T14:06:59.472Z" }, + { url = "https://files.pythonhosted.org/packages/5c/51/d46dc9332f9a647593c947b4b88e2381c8dfc0942d15b8edc0310fa4abb1/watchdog-6.0.0-py3-none-manylinux2014_armv7l.whl", hash = "sha256:9041567ee8953024c83343288ccc458fd0a2d811d6a0fd68c4c22609e3490379", size = 79078, upload-time = "2024-11-01T14:07:01.431Z" }, + { url = "https://files.pythonhosted.org/packages/d4/57/04edbf5e169cd318d5f07b4766fee38e825d64b6913ca157ca32d1a42267/watchdog-6.0.0-py3-none-manylinux2014_i686.whl", hash = "sha256:82dc3e3143c7e38ec49d61af98d6558288c415eac98486a5c581726e0737c00e", size = 79076, upload-time = "2024-11-01T14:07:02.568Z" }, + { url = "https://files.pythonhosted.org/packages/ab/cc/da8422b300e13cb187d2203f20b9253e91058aaf7db65b74142013478e66/watchdog-6.0.0-py3-none-manylinux2014_ppc64.whl", hash = "sha256:212ac9b8bf1161dc91bd09c048048a95ca3a4c4f5e5d4a7d1b1a7d5752a7f96f", size = 79077, upload-time = "2024-11-01T14:07:03.893Z" }, + { url = "https://files.pythonhosted.org/packages/2c/3b/b8964e04ae1a025c44ba8e4291f86e97fac443bca31de8bd98d3263d2fcf/watchdog-6.0.0-py3-none-manylinux2014_ppc64le.whl", hash = "sha256:e3df4cbb9a450c6d49318f6d14f4bbc80d763fa587ba46ec86f99f9e6876bb26", size = 79078, upload-time = "2024-11-01T14:07:05.189Z" }, + { url = "https://files.pythonhosted.org/packages/62/ae/a696eb424bedff7407801c257d4b1afda455fe40821a2be430e173660e81/watchdog-6.0.0-py3-none-manylinux2014_s390x.whl", hash = "sha256:2cce7cfc2008eb51feb6aab51251fd79b85d9894e98ba847408f662b3395ca3c", size = 79077, upload-time = "2024-11-01T14:07:06.376Z" }, + { url = "https://files.pythonhosted.org/packages/b5/e8/dbf020b4d98251a9860752a094d09a65e1b436ad181faf929983f697048f/watchdog-6.0.0-py3-none-manylinux2014_x86_64.whl", hash = "sha256:20ffe5b202af80ab4266dcd3e91aae72bf2da48c0d33bdb15c66658e685e94e2", size = 79078, upload-time = "2024-11-01T14:07:07.547Z" }, + { url = "https://files.pythonhosted.org/packages/07/f6/d0e5b343768e8bcb4cda79f0f2f55051bf26177ecd5651f84c07567461cf/watchdog-6.0.0-py3-none-win32.whl", hash = "sha256:07df1fdd701c5d4c8e55ef6cf55b8f0120fe1aef7ef39a1c6fc6bc2e606d517a", size = 79065, upload-time = "2024-11-01T14:07:09.525Z" }, + { url = "https://files.pythonhosted.org/packages/db/d9/c495884c6e548fce18a8f40568ff120bc3a4b7b99813081c8ac0c936fa64/watchdog-6.0.0-py3-none-win_amd64.whl", hash = "sha256:cbafb470cf848d93b5d013e2ecb245d4aa1c8fd0504e863ccefa32445359d680", size = 79070, upload-time = "2024-11-01T14:07:10.686Z" }, + { url = "https://files.pythonhosted.org/packages/33/e8/e40370e6d74ddba47f002a32919d91310d6074130fe4e17dabcafc15cbf1/watchdog-6.0.0-py3-none-win_ia64.whl", hash = "sha256:a1914259fa9e1454315171103c6a30961236f508b9b623eae470268bbcc6a22f", size = 79067, upload-time = "2024-11-01T14:07:11.845Z" }, ] [[package]] name = "wcwidth" version = "0.2.13" source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/6c/63/53559446a878410fc5a5974feb13d31d78d752eb18aeba59c7fef1af7598/wcwidth-0.2.13.tar.gz", hash = "sha256:72ea0c06399eb286d978fdedb6923a9eb47e1c486ce63e9b4e64fc18303972b5", size = 101301 } +sdist = { url = "https://files.pythonhosted.org/packages/6c/63/53559446a878410fc5a5974feb13d31d78d752eb18aeba59c7fef1af7598/wcwidth-0.2.13.tar.gz", hash = "sha256:72ea0c06399eb286d978fdedb6923a9eb47e1c486ce63e9b4e64fc18303972b5", size = 101301, upload-time = "2024-01-06T02:10:57.829Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/fd/84/fd2ba7aafacbad3c4201d395674fc6348826569da3c0937e75505ead3528/wcwidth-0.2.13-py2.py3-none-any.whl", hash = "sha256:3da69048e4540d84af32131829ff948f1e022c1c6bdb8d6102117aac784f6859", size = 34166 }, + { url = "https://files.pythonhosted.org/packages/fd/84/fd2ba7aafacbad3c4201d395674fc6348826569da3c0937e75505ead3528/wcwidth-0.2.13-py2.py3-none-any.whl", hash = "sha256:3da69048e4540d84af32131829ff948f1e022c1c6bdb8d6102117aac784f6859", size = 34166, upload-time = "2024-01-06T02:10:55.763Z" }, ] [[package]] @@ -5312,9 +5322,9 @@ resolution-markers = [ "python_full_version < '3.9' and platform_machine == 'aarch64' and sys_platform == 'linux'", "(python_full_version < '3.9' and platform_machine != 'arm64' and sys_platform == 'darwin') or (python_full_version < '3.9' and platform_machine != 'aarch64' and sys_platform == 'linux') or (python_full_version < '3.9' and sys_platform != 'darwin' and sys_platform != 'linux')", ] -sdist = { url = "https://files.pythonhosted.org/packages/fe/f8/53150a5bda7e042840b14f0236e1c0a4819d403658e3d453237983addfac/webcolors-24.8.0.tar.gz", hash = "sha256:08b07af286a01bcd30d583a7acadf629583d1f79bfef27dd2c2c5c263817277d", size = 42392 } +sdist = { url = "https://files.pythonhosted.org/packages/fe/f8/53150a5bda7e042840b14f0236e1c0a4819d403658e3d453237983addfac/webcolors-24.8.0.tar.gz", hash = "sha256:08b07af286a01bcd30d583a7acadf629583d1f79bfef27dd2c2c5c263817277d", size = 42392, upload-time = "2024-08-10T08:52:31.226Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/f0/33/12020ba99beaff91682b28dc0bbf0345bbc3244a4afbae7644e4fa348f23/webcolors-24.8.0-py3-none-any.whl", hash = "sha256:fc4c3b59358ada164552084a8ebee637c221e4059267d0f8325b3b560f6c7f0a", size = 15027 }, + { url = "https://files.pythonhosted.org/packages/f0/33/12020ba99beaff91682b28dc0bbf0345bbc3244a4afbae7644e4fa348f23/webcolors-24.8.0-py3-none-any.whl", hash = "sha256:fc4c3b59358ada164552084a8ebee637c221e4059267d0f8325b3b560f6c7f0a", size = 15027, upload-time = "2024-08-10T08:52:28.707Z" }, ] [[package]] @@ -5335,45 +5345,45 @@ resolution-markers = [ "python_full_version == '3.9.*' and platform_machine == 'aarch64' and sys_platform == 'linux'", "(python_full_version == '3.9.*' and platform_machine != 'arm64' and sys_platform == 'darwin') or (python_full_version == '3.9.*' and platform_machine != 'aarch64' and sys_platform == 'linux') or (python_full_version == '3.9.*' and sys_platform != 'darwin' and sys_platform != 'linux')", ] -sdist = { url = "https://files.pythonhosted.org/packages/7b/29/061ec845fb58521848f3739e466efd8250b4b7b98c1b6c5bf4d40b419b7e/webcolors-24.11.1.tar.gz", hash = "sha256:ecb3d768f32202af770477b8b65f318fa4f566c22948673a977b00d589dd80f6", size = 45064 } +sdist = { url = "https://files.pythonhosted.org/packages/7b/29/061ec845fb58521848f3739e466efd8250b4b7b98c1b6c5bf4d40b419b7e/webcolors-24.11.1.tar.gz", hash = "sha256:ecb3d768f32202af770477b8b65f318fa4f566c22948673a977b00d589dd80f6", size = 45064, upload-time = "2024-11-11T07:43:24.224Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/60/e8/c0e05e4684d13459f93d312077a9a2efbe04d59c393bc2b8802248c908d4/webcolors-24.11.1-py3-none-any.whl", hash = "sha256:515291393b4cdf0eb19c155749a096f779f7d909f7cceea072791cb9095b92e9", size = 14934 }, + { url = "https://files.pythonhosted.org/packages/60/e8/c0e05e4684d13459f93d312077a9a2efbe04d59c393bc2b8802248c908d4/webcolors-24.11.1-py3-none-any.whl", hash = "sha256:515291393b4cdf0eb19c155749a096f779f7d909f7cceea072791cb9095b92e9", size = 14934, upload-time = "2024-11-11T07:43:22.529Z" }, ] [[package]] name = "webencodings" version = "0.5.1" source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/0b/02/ae6ceac1baeda530866a85075641cec12989bd8d31af6d5ab4a3e8c92f47/webencodings-0.5.1.tar.gz", hash = "sha256:b36a1c245f2d304965eb4e0a82848379241dc04b865afcc4aab16748587e1923", size = 9721 } +sdist = { url = "https://files.pythonhosted.org/packages/0b/02/ae6ceac1baeda530866a85075641cec12989bd8d31af6d5ab4a3e8c92f47/webencodings-0.5.1.tar.gz", hash = "sha256:b36a1c245f2d304965eb4e0a82848379241dc04b865afcc4aab16748587e1923", size = 9721, upload-time = "2017-04-05T20:21:34.189Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/f4/24/2a3e3df732393fed8b3ebf2ec078f05546de641fe1b667ee316ec1dcf3b7/webencodings-0.5.1-py2.py3-none-any.whl", hash = "sha256:a0af1213f3c2226497a97e2b3aa01a7e4bee4f403f95be16fc9acd2947514a78", size = 11774 }, + { url = "https://files.pythonhosted.org/packages/f4/24/2a3e3df732393fed8b3ebf2ec078f05546de641fe1b667ee316ec1dcf3b7/webencodings-0.5.1-py2.py3-none-any.whl", hash = "sha256:a0af1213f3c2226497a97e2b3aa01a7e4bee4f403f95be16fc9acd2947514a78", size = 11774, upload-time = "2017-04-05T20:21:32.581Z" }, ] [[package]] name = "websocket-client" version = "1.8.0" source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/e6/30/fba0d96b4b5fbf5948ed3f4681f7da2f9f64512e1d303f94b4cc174c24a5/websocket_client-1.8.0.tar.gz", hash = "sha256:3239df9f44da632f96012472805d40a23281a991027ce11d2f45a6f24ac4c3da", size = 54648 } +sdist = { url = "https://files.pythonhosted.org/packages/e6/30/fba0d96b4b5fbf5948ed3f4681f7da2f9f64512e1d303f94b4cc174c24a5/websocket_client-1.8.0.tar.gz", hash = "sha256:3239df9f44da632f96012472805d40a23281a991027ce11d2f45a6f24ac4c3da", size = 54648, upload-time = "2024-04-23T22:16:16.976Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/5a/84/44687a29792a70e111c5c477230a72c4b957d88d16141199bf9acb7537a3/websocket_client-1.8.0-py3-none-any.whl", hash = "sha256:17b44cc997f5c498e809b22cdf2d9c7a9e71c02c8cc2b6c56e7c2d1239bfa526", size = 58826 }, + { url = "https://files.pythonhosted.org/packages/5a/84/44687a29792a70e111c5c477230a72c4b957d88d16141199bf9acb7537a3/websocket_client-1.8.0-py3-none-any.whl", hash = "sha256:17b44cc997f5c498e809b22cdf2d9c7a9e71c02c8cc2b6c56e7c2d1239bfa526", size = 58826, upload-time = "2024-04-23T22:16:14.422Z" }, ] [[package]] name = "wheel" version = "0.45.1" source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/8a/98/2d9906746cdc6a6ef809ae6338005b3f21bb568bea3165cfc6a243fdc25c/wheel-0.45.1.tar.gz", hash = "sha256:661e1abd9198507b1409a20c02106d9670b2576e916d58f520316666abca6729", size = 107545 } +sdist = { url = "https://files.pythonhosted.org/packages/8a/98/2d9906746cdc6a6ef809ae6338005b3f21bb568bea3165cfc6a243fdc25c/wheel-0.45.1.tar.gz", hash = "sha256:661e1abd9198507b1409a20c02106d9670b2576e916d58f520316666abca6729", size = 107545, upload-time = "2024-11-23T00:18:23.513Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/0b/2c/87f3254fd8ffd29e4c02732eee68a83a1d3c346ae39bc6822dcbcb697f2b/wheel-0.45.1-py3-none-any.whl", hash = "sha256:708e7481cc80179af0e556bbf0cc00b8444c7321e2700b8d8580231d13017248", size = 72494 }, + { url = "https://files.pythonhosted.org/packages/0b/2c/87f3254fd8ffd29e4c02732eee68a83a1d3c346ae39bc6822dcbcb697f2b/wheel-0.45.1-py3-none-any.whl", hash = "sha256:708e7481cc80179af0e556bbf0cc00b8444c7321e2700b8d8580231d13017248", size = 72494, upload-time = "2024-11-23T00:18:21.207Z" }, ] [[package]] name = "widgetsnbextension" version = "4.0.13" source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/56/fc/238c424fd7f4ebb25f8b1da9a934a3ad7c848286732ae04263661eb0fc03/widgetsnbextension-4.0.13.tar.gz", hash = "sha256:ffcb67bc9febd10234a362795f643927f4e0c05d9342c727b65d2384f8feacb6", size = 1164730 } +sdist = { url = "https://files.pythonhosted.org/packages/56/fc/238c424fd7f4ebb25f8b1da9a934a3ad7c848286732ae04263661eb0fc03/widgetsnbextension-4.0.13.tar.gz", hash = "sha256:ffcb67bc9febd10234a362795f643927f4e0c05d9342c727b65d2384f8feacb6", size = 1164730, upload-time = "2024-08-22T12:18:22.534Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/21/02/88b65cc394961a60c43c70517066b6b679738caf78506a5da7b88ffcb643/widgetsnbextension-4.0.13-py3-none-any.whl", hash = "sha256:74b2692e8500525cc38c2b877236ba51d34541e6385eeed5aec15a70f88a6c71", size = 2335872 }, + { url = "https://files.pythonhosted.org/packages/21/02/88b65cc394961a60c43c70517066b6b679738caf78506a5da7b88ffcb643/widgetsnbextension-4.0.13-py3-none-any.whl", hash = "sha256:74b2692e8500525cc38c2b877236ba51d34541e6385eeed5aec15a70f88a6c71", size = 2335872, upload-time = "2024-08-22T12:18:19.491Z" }, ] [[package]] @@ -5385,9 +5395,9 @@ resolution-markers = [ "python_full_version < '3.9' and platform_machine == 'aarch64' and sys_platform == 'linux'", "(python_full_version < '3.9' and platform_machine != 'arm64' and sys_platform == 'darwin') or (python_full_version < '3.9' and platform_machine != 'aarch64' and sys_platform == 'linux') or (python_full_version < '3.9' and sys_platform != 'darwin' and sys_platform != 'linux')", ] -sdist = { url = "https://files.pythonhosted.org/packages/54/bf/5c0000c44ebc80123ecbdddba1f5dcd94a5ada602a9c225d84b5aaa55e86/zipp-3.20.2.tar.gz", hash = "sha256:bc9eb26f4506fda01b81bcde0ca78103b6e62f991b381fec825435c836edbc29", size = 24199 } +sdist = { url = "https://files.pythonhosted.org/packages/54/bf/5c0000c44ebc80123ecbdddba1f5dcd94a5ada602a9c225d84b5aaa55e86/zipp-3.20.2.tar.gz", hash = "sha256:bc9eb26f4506fda01b81bcde0ca78103b6e62f991b381fec825435c836edbc29", size = 24199, upload-time = "2024-09-13T13:44:16.101Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/62/8b/5ba542fa83c90e09eac972fc9baca7a88e7e7ca4b221a89251954019308b/zipp-3.20.2-py3-none-any.whl", hash = "sha256:a817ac80d6cf4b23bf7f2828b7cabf326f15a001bea8b1f9b49631780ba28350", size = 9200 }, + { url = "https://files.pythonhosted.org/packages/62/8b/5ba542fa83c90e09eac972fc9baca7a88e7e7ca4b221a89251954019308b/zipp-3.20.2-py3-none-any.whl", hash = "sha256:a817ac80d6cf4b23bf7f2828b7cabf326f15a001bea8b1f9b49631780ba28350", size = 9200, upload-time = "2024-09-13T13:44:14.38Z" }, ] [[package]] @@ -5408,7 +5418,7 @@ resolution-markers = [ "python_full_version == '3.9.*' and platform_machine == 'aarch64' and sys_platform == 'linux'", "(python_full_version == '3.9.*' and platform_machine != 'arm64' and sys_platform == 'darwin') or (python_full_version == '3.9.*' and platform_machine != 'aarch64' and sys_platform == 'linux') or (python_full_version == '3.9.*' and sys_platform != 'darwin' and sys_platform != 'linux')", ] -sdist = { url = "https://files.pythonhosted.org/packages/3f/50/bad581df71744867e9468ebd0bcd6505de3b275e06f202c2cb016e3ff56f/zipp-3.21.0.tar.gz", hash = "sha256:2c9958f6430a2040341a52eb608ed6dd93ef4392e02ffe219417c1b28b5dd1f4", size = 24545 } +sdist = { url = "https://files.pythonhosted.org/packages/3f/50/bad581df71744867e9468ebd0bcd6505de3b275e06f202c2cb016e3ff56f/zipp-3.21.0.tar.gz", hash = "sha256:2c9958f6430a2040341a52eb608ed6dd93ef4392e02ffe219417c1b28b5dd1f4", size = 24545, upload-time = "2024-11-10T15:05:20.202Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/b7/1a/7e4798e9339adc931158c9d69ecc34f5e6791489d469f5e50ec15e35f458/zipp-3.21.0-py3-none-any.whl", hash = "sha256:ac1bbe05fd2991f160ebce24ffbac5f6d11d83dc90891255885223d42b3cd931", size = 9630 }, + { url = "https://files.pythonhosted.org/packages/b7/1a/7e4798e9339adc931158c9d69ecc34f5e6791489d469f5e50ec15e35f458/zipp-3.21.0-py3-none-any.whl", hash = "sha256:ac1bbe05fd2991f160ebce24ffbac5f6d11d83dc90891255885223d42b3cd931", size = 9630, upload-time = "2024-11-10T15:05:19.275Z" }, ] From f7d4da9b1d0b18cb1c88ccbe25113b6fa1ecea91 Mon Sep 17 00:00:00 2001 From: Onuralp SEZER Date: Fri, 11 Jul 2025 17:16:39 +0300 Subject: [PATCH 299/420] =?UTF-8?q?ci:=20=F0=9F=91=B7=20update=20CI=20inst?= =?UTF-8?q?allation=20commands=20to=20use=20--group=20instead=20of=20--ext?= =?UTF-8?q?ra=20because=20of=20pep=20rule=20"pep-0735"?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .github/workflows/publish-docs.yml | 2 +- .github/workflows/publish-pre-release.yml | 2 +- .github/workflows/publish-release.yml | 2 +- .github/workflows/publish-testpypi.yml | 2 +- .github/workflows/test-doc.yml | 4 +--- .github/workflows/uv-test.yml | 2 +- 6 files changed, 6 insertions(+), 8 deletions(-) diff --git a/.github/workflows/publish-docs.yml b/.github/workflows/publish-docs.yml index 2982210933..3b05352ef8 100644 --- a/.github/workflows/publish-docs.yml +++ b/.github/workflows/publish-docs.yml @@ -51,7 +51,7 @@ jobs: - name: 🏗️ Install dependencies run: | - uv pip install -r pyproject.toml --extra docs + uv pip install -r pyproject.toml --group docs # Install mkdocs-material-insiders using the GitHub App token uv pip install "git+https://roboflow:${{ steps.mkdocs_token.outputs.token }}@github.com/roboflow/mkdocs-material-insiders.git@9.5.49-insiders-4.53.14#egg=mkdocs-material[imaging]" diff --git a/.github/workflows/publish-pre-release.yml b/.github/workflows/publish-pre-release.yml index 56755aeaf7..f6e410eeb0 100644 --- a/.github/workflows/publish-pre-release.yml +++ b/.github/workflows/publish-pre-release.yml @@ -37,7 +37,7 @@ jobs: - name: 🏗️ Build source and wheel distributions run: | - uv pip install -r pyproject.toml --extra build + uv pip install -r pyproject.toml --group build uv build uv run twine check --strict dist/* diff --git a/.github/workflows/publish-release.yml b/.github/workflows/publish-release.yml index a66c4e0266..2ba7536f9f 100644 --- a/.github/workflows/publish-release.yml +++ b/.github/workflows/publish-release.yml @@ -35,7 +35,7 @@ jobs: - name: 🏗️ Build source and wheel distributions run: | - uv pip install -r pyproject.toml --extra build + uv pip install -r pyproject.toml --group build uv build uv run twine check --strict dist/* diff --git a/.github/workflows/publish-testpypi.yml b/.github/workflows/publish-testpypi.yml index 674516f98f..69dd746d13 100644 --- a/.github/workflows/publish-testpypi.yml +++ b/.github/workflows/publish-testpypi.yml @@ -32,7 +32,7 @@ jobs: - name: 🏗️ Build source and wheel distributions run: | - uv pip install -r pyproject.toml --extra build + uv pip install -r pyproject.toml --group build uv build uv run twine check --strict dist/* diff --git a/.github/workflows/test-doc.yml b/.github/workflows/test-doc.yml index 751db9fc4a..01930690be 100644 --- a/.github/workflows/test-doc.yml +++ b/.github/workflows/test-doc.yml @@ -29,11 +29,9 @@ jobs: python-version: ${{ matrix.python-version }} activate-environment: true - - name: 🏗️ Install dependencies run: | - uv pip install -r pyproject.toml --extra docs - + uv pip install -r pyproject.toml --group docs - name: 🧪 Test Docs Build run: uv run mkdocs build --verbose diff --git a/.github/workflows/uv-test.yml b/.github/workflows/uv-test.yml index ac87dfc01e..59904ae9c1 100644 --- a/.github/workflows/uv-test.yml +++ b/.github/workflows/uv-test.yml @@ -26,7 +26,7 @@ jobs: - name: 🚀 Install Packages - run: uv pip install -r pyproject.toml --extra dev --extra docs --extra metrics + run: uv pip install -r pyproject.toml --group dev --group docs --extra metrics - name: 🧪 Run the Import test run: uv run python -c "import supervision; from supervision import assets; from supervision import metrics; print(supervision.__version__)" From 89f4242e6ffbe44a8daf56d494adef8b43e5a2a8 Mon Sep 17 00:00:00 2001 From: Onuralp SEZER Date: Fri, 11 Jul 2025 17:30:29 +0300 Subject: [PATCH 300/420] =?UTF-8?q?docs:=20=F0=9F=93=9D=20add=20usage=20ex?= =?UTF-8?q?amples=20for=20from=5Flmm=20with=20Moondream=20results=20in=20D?= =?UTF-8?q?etections=20class?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Onuralp SEZER --- supervision/detection/core.py | 29 +++++++++++++++++++++++++++++ 1 file changed, 29 insertions(+) diff --git a/supervision/detection/core.py b/supervision/detection/core.py index f4b0cf3e5f..28cdb27e5d 100644 --- a/supervision/detection/core.py +++ b/supervision/detection/core.py @@ -892,6 +892,35 @@ def from_lmm( detections.data # {'class_name': array(['cat', 'dog'], dtype=' Date: Fri, 11 Jul 2025 17:40:25 +0300 Subject: [PATCH 301/420] =?UTF-8?q?feat:=20=F0=9F=9A=80=20implement=20reso?= =?UTF-8?q?lution=20validation=20function=20and=20refactor=20related=20cod?= =?UTF-8?q?e?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- supervision/detection/vlm.py | 30 +++++++----------------------- supervision/validators/__init__.py | 10 ++++++++++ 2 files changed, 17 insertions(+), 23 deletions(-) diff --git a/supervision/detection/vlm.py b/supervision/detection/vlm.py index 193c52ef42..ed62a44979 100644 --- a/supervision/detection/vlm.py +++ b/supervision/detection/vlm.py @@ -14,6 +14,7 @@ polygon_to_xyxy, ) from supervision.utils.internal import deprecated +from supervision.validators import validate_resolution @deprecated( @@ -126,11 +127,7 @@ def from_paligemma( the class labels for each bounding box. """ - w, h = resolution_wh - if w <= 0 or h <= 0: - raise ValueError( - f"Both dimensions in resolution_wh must be positive. Got ({w}, {h})." - ) + w, h = validate_resolution(resolution_wh) pattern = re.compile( r"(?) ([\w\s\-]+)" @@ -189,14 +186,9 @@ def from_qwen_2_5_vl( class_name (np.ndarray): An array of shape `(n,)` containing the class labels for each bounding box """ - in_w, in_h = input_wh - out_w, out_h = resolution_wh - if in_w <= 0 or in_h <= 0 or out_w <= 0 or out_h <= 0: - raise ValueError( - f"Both input and resolution dimensions must be positive. " - f"Got input_wh=({in_w}, {in_h}), resolution_wh=({out_w}, {out_h})." - ) + in_w, in_h = validate_resolution(input_wh) + out_w, out_h = validate_resolution(resolution_wh) pattern = re.compile(r"```json\s*(.*?)\s*```", re.DOTALL) @@ -325,7 +317,7 @@ def from_florence_2( f"Expected string to end in location tags, but got {result}" ) - w, h = resolution_wh + w, h = validate_resolution(resolution_wh) xyxy = np.array([match.groups()], dtype=np.float32) xyxy *= np.array([w, h, w, h]) / 1000 result_string = result[: match.start()] @@ -371,11 +363,7 @@ def from_google_gemini( """ - w, h = resolution_wh - if w <= 0 or h <= 0: - raise ValueError( - f"Both dimensions in resolution_wh must be positive. Got ({w}, {h})." - ) + w, h = validate_resolution(resolution_wh) lines = result.splitlines() for i, line in enumerate(lines): @@ -444,11 +432,7 @@ def from_google_gemini_2_5( masks: Optional[np.ndarray]: An array of shape `(n, h, w)` containing the segmentation masks for each bounding box """ - w, h = resolution_wh - if w <= 0 or h <= 0: - raise ValueError( - f"Both dimensions in resolution_wh must be positive. Got ({w}, {h})." - ) + w, h = validate_resolution(resolution_wh) lines = result.splitlines() for i, line in enumerate(lines): diff --git a/supervision/validators/__init__.py b/supervision/validators/__init__.py index 29ac0da9b3..7b1f00ebae 100644 --- a/supervision/validators/__init__.py +++ b/supervision/validators/__init__.py @@ -138,3 +138,13 @@ def validate_keypoints_fields( validate_class_id(class_id, n) validate_keypoint_confidence(confidence, n, m) validate_data(data, n) + + +def validate_resolution(resolution): + w, h = resolution + if w <= 0 or h <= 0: + raise ValueError( + f"Both dimensions in resolution must be positive. Got ({w}, {h})." + ) + + return w, h From 656b9c6c89b101f69326e3e65be920e18c7e9a8a Mon Sep 17 00:00:00 2001 From: Onuralp SEZER Date: Fri, 11 Jul 2025 18:08:33 +0300 Subject: [PATCH 302/420] =?UTF-8?q?fix:=20=F0=9F=90=9E=20update=20from=5Fm?= =?UTF-8?q?oondream=20function=20to=20remove=20class=5Fid=20return=20and?= =?UTF-8?q?=20adjust=20return=20type?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- supervision/detection/vlm.py | 15 ++++----------- 1 file changed, 4 insertions(+), 11 deletions(-) diff --git a/supervision/detection/vlm.py b/supervision/detection/vlm.py index ff05030bd8..7eea95eb7e 100644 --- a/supervision/detection/vlm.py +++ b/supervision/detection/vlm.py @@ -415,7 +415,7 @@ def from_google_gemini( def from_moondream( result: dict, resolution_wh: Tuple[int, int], -) -> Tuple[np.ndarray, np.ndarray]: +) -> Tuple[np.ndarray]: """ Parse and scale bounding boxes from moondream JSON output. @@ -443,11 +443,6 @@ def from_moondream( Returns: xyxy (np.ndarray): An array of shape `(n, 4)` containing the bounding boxes coordinates in format `[x1, y1, x2, y2]` - class_id (Optional[np.ndarray]): An array of shape `(n,)` containing - the class indices for each bounding box (or None if `classes` is not - provided) - class_name (np.ndarray): An array of shape `(n,)` containing - the class labels for each bounding box """ # docs w, h = resolution_wh @@ -457,7 +452,7 @@ def from_moondream( ) if "objects" not in result or not isinstance(result["objects"], list): - return np.empty((0, 4)), np.empty((0,), dtype=int) + return np.empty((0, 4)) denormalize_xyxy = [] @@ -478,10 +473,8 @@ def from_moondream( ) if not denormalize_xyxy: - return np.empty((0, 4)), np.empty((0,), dtype=int) + return np.empty((0, 4)) xyxy = np.array(denormalize_xyxy, dtype=float) - num_detections = len(xyxy) - class_id = np.arange(num_detections) - return xyxy, class_id + return xyxy From 99415f1da14fa331b053ed383082d5b21104afc2 Mon Sep 17 00:00:00 2001 From: Onuralp SEZER Date: Fri, 11 Jul 2025 18:08:43 +0300 Subject: [PATCH 303/420] =?UTF-8?q?test:=20=F0=9F=A7=AA=20add=20parameteri?= =?UTF-8?q?zed=20tests=20for=20from=5Fmoondream=20function=20in=20test=5Fv?= =?UTF-8?q?lm.py?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- test/detection/test_vlm.py | 101 +++++++++++++++++++++++++++++++++++++ 1 file changed, 101 insertions(+) diff --git a/test/detection/test_vlm.py b/test/detection/test_vlm.py index 2148ded9a2..bf578dd776 100644 --- a/test/detection/test_vlm.py +++ b/test/detection/test_vlm.py @@ -6,6 +6,7 @@ from supervision.detection.vlm import ( from_google_gemini, + from_moondream, from_paligemma, from_qwen_2_5_vl, ) @@ -375,3 +376,103 @@ def test_from_google_gemini() -> None: xyxy, np.array([[12.8, 4.8, 76.8, 52.8], [64.0, 24.0, 128.0, 72.0]]) ) np.testing.assert_array_equal(class_name, np.array(["cat", "dog"])) + + +@pytest.mark.parametrize( + "exception, result, resolution_wh, expected_results", + [ + ( + does_not_raise(), + {}, + (640, 480), + np.empty((0, 4)), + ), # empty dict + ( + does_not_raise(), + {"objects": []}, + (640, 480), + np.empty((0, 4)), + ), # empty objects list + ( + does_not_raise(), + {"objects": "not a list"}, + (640, 480), + np.empty((0, 4)), + ), # objects is not a list + ( + does_not_raise(), + { + "objects": [ + {"x_min": 0.1, "y_min": 0.2, "x_max": 0.3, "y_max": 0.4}, + ] + }, + (640, 480), + np.array([[64.0, 96.0, 192.0, 192.0]]), + ), # single box + ( + does_not_raise(), + { + "objects": [ + {"x_min": 0.1, "y_min": 0.2, "x_max": 0.3, "y_max": 0.4}, + {"x_min": 0.5, "y_min": 0.6, "x_max": 0.7, "y_max": 0.8}, + ] + }, + (640, 480), + np.array([[64.0, 96.0, 192.0, 192.0], [320.0, 288.0, 448.0, 384.0]]), + ), # multiple boxes + ( + does_not_raise(), + { + "objects": [ + {"x_min": 0.1, "y_min": 0.2}, # missing x_max, y_max + {"x_min": 0.5, "y_min": 0.6, "x_max": 0.7, "y_max": 0.8}, + ] + }, + (640, 480), + np.array([[320.0, 288.0, 448.0, 384.0]]), + ), # partial valid boxes + ( + does_not_raise(), + { + "objects": [ + {"x_min": 0.0, "y_min": 0.0, "x_max": 1.0, "y_max": 1.0}, + ] + }, + (1000, 800), + np.array([[0.0, 0.0, 1000.0, 800.0]]), + ), # full image box + ( + pytest.raises(ValueError), + { + "objects": [ + {"x_min": 0.1, "y_min": 0.2, "x_max": 0.3, "y_max": 0.4}, + ] + }, + (0, 480), + None, + ), # zero width -> ValueError + ( + pytest.raises(ValueError), + { + "objects": [ + {"x_min": 0.1, "y_min": 0.2, "x_max": 0.3, "y_max": 0.4}, + ] + }, + (640, -100), + None, + ), # negative height -> ValueError + ], +) +def test_from_moondream( + exception, + result: dict, + resolution_wh: Tuple[int, int], + expected_results, +) -> None: + with exception: + xyxy = from_moondream( + result=result, + resolution_wh=resolution_wh, + ) + if expected_results is not None: + np.testing.assert_array_equal(xyxy, expected_results) From c613005f690a40add3cf92912817b39de786580a Mon Sep 17 00:00:00 2001 From: Onuralp SEZER Date: Fri, 11 Jul 2025 18:10:50 +0300 Subject: [PATCH 304/420] =?UTF-8?q?fix:=20=F0=9F=90=9E=20update=20Detectio?= =?UTF-8?q?ns=20class=20to=20remove=20class=5Fid=20return=20from=20from=5F?= =?UTF-8?q?moondream=20function?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- supervision/detection/core.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/supervision/detection/core.py b/supervision/detection/core.py index 28cdb27e5d..d90d5cf653 100644 --- a/supervision/detection/core.py +++ b/supervision/detection/core.py @@ -1101,8 +1101,8 @@ def from_vlm( return cls(xyxy=xyxy, data=data) if vlm == VLM.MOONDREAM: - xyxy, class_id = from_moondream(result, **kwargs) - return cls(xyxy=xyxy, class_id=class_id) + xyxy = from_moondream(result, **kwargs) + return cls(xyxy=xyxy) return cls.empty() From d002b8afbf2d3a7c585e9a6a0733e1a80e030899 Mon Sep 17 00:00:00 2001 From: Onuralp SEZER Date: Fri, 11 Jul 2025 18:14:35 +0300 Subject: [PATCH 305/420] =?UTF-8?q?fix:=20=F0=9F=90=9E=20remove=20unused?= =?UTF-8?q?=20class=5Fid=20references=20in=20Detections=20class=20from=5Fv?= =?UTF-8?q?lm=20method?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- supervision/detection/core.py | 6 ------ 1 file changed, 6 deletions(-) diff --git a/supervision/detection/core.py b/supervision/detection/core.py index d90d5cf653..1f1214172d 100644 --- a/supervision/detection/core.py +++ b/supervision/detection/core.py @@ -908,7 +908,6 @@ def from_lmm( 'y_max': 0.4961046129465103}] } - detections = sv.Detections.from_vlm( sv.VLM.MOONDREAM, moondream_result, @@ -919,8 +918,6 @@ def from_lmm( # array([[1752.28, 818.82, 2165.72, 1229.14], # [1908.01, 1346.67, 2585.99, 2024.11]]) - detections.class_id - # array([0, 1]) """ # filler logic mapping old from_lmm to new from_vlm @@ -1054,7 +1051,6 @@ def from_vlm( 'y_max': 0.4961046129465103}] } - detections = sv.Detections.from_vlm( sv.VLM.MOONDREAM, moondream_result, @@ -1065,8 +1061,6 @@ def from_vlm( # array([[1752.28, 818.82, 2165.72, 1229.14], # [1908.01, 1346.67, 2585.99, 2024.11]]) - detections.class_id - # array([0, 1]) ``` """ From ca86f6e64db3021e58b513382232fb872187d645 Mon Sep 17 00:00:00 2001 From: soumik12345 <19soumik.rakshit96@gmail.com> Date: Fri, 11 Jul 2025 21:00:42 +0530 Subject: [PATCH 306/420] chore: address feedback --- supervision/detection/core.py | 4 ++-- supervision/detection/vlm.py | 30 +++++++++++++++++++++++------- 2 files changed, 25 insertions(+), 9 deletions(-) diff --git a/supervision/detection/core.py b/supervision/detection/core.py index af91dc5deb..2ca06ffa6f 100644 --- a/supervision/detection/core.py +++ b/supervision/detection/core.py @@ -1043,9 +1043,9 @@ def from_vlm( or vlm == VLM.GOOGLE_GEMINI_2_5_FLASH_PREVIEW or vlm == VLM.GOOGLE_GEMINI_2_5_PRO_PREVIEW ): - xyxy, class_name = from_google_gemini(result, **kwargs) + xyxy, class_id, class_name = from_google_gemini(result, **kwargs) data = {CLASS_NAME_DATA_FIELD: class_name} - return cls(xyxy=xyxy, data=data) + return cls(xyxy=xyxy, class_id=class_id, data=data) return cls.empty() diff --git a/supervision/detection/vlm.py b/supervision/detection/vlm.py index 0f254868f9..c0e0a398b1 100644 --- a/supervision/detection/vlm.py +++ b/supervision/detection/vlm.py @@ -53,8 +53,8 @@ class VLM(Enum): VLM.PALIGEMMA: ["resolution_wh", "classes"], VLM.FLORENCE_2: ["resolution_wh"], VLM.QWEN_2_5_VL: ["input_wh", "resolution_wh", "classes"], - VLM.GOOGLE_GEMINI_2_0: ["resolution_wh"], - VLM.GOOGLE_GEMINI_2_5: ["resolution_wh"], + VLM.GOOGLE_GEMINI_2_0: ["resolution_wh", "classes"], + VLM.GOOGLE_GEMINI_2_5: ["resolution_wh", "classes"], } SUPPORTED_TASKS_FLORENCE_2 = [ @@ -335,7 +335,8 @@ def from_florence_2( def from_google_gemini( result: str, resolution_wh: Tuple[int, int], -) -> Tuple[np.ndarray, np.ndarray]: + classes: Optional[List[str]] = None, +) -> Tuple[np.ndarray, Optional[np.ndarray], np.ndarray]: """ Parse and scale bounding boxes from Google Gemini style [JSON output](https://ai.google.dev/gemini-api/docs/vision?lang=python). @@ -359,11 +360,16 @@ def from_google_gemini( Args: result: String containing the JSON snippet enclosed by triple backticks. resolution_wh: (output_width, output_height) to which we rescale the boxes. + classes: Optional list of valid class names. If provided, returned boxes/labels + are filtered to only those classes found here. Returns: xyxy (np.ndarray): An array of shape `(n, 4)` containing the bounding boxes coordinates in format `[x1, y1, x2, y2]` - labels: (np.ndarray): An array of shape `(n,)` containing + class_id (Optional[np.ndarray]): An array of shape `(n,)` containing + the class indices for each bounding box (or None if `classes` is not + provided) + class_name (np.ndarray): An array of shape `(n,)` containing the class labels for each bounding box """ @@ -384,7 +390,7 @@ def from_google_gemini( try: data = json.loads(result) except json.JSONDecodeError: - return np.empty((0, 4)), np.empty((0,), dtype=str) + return np.empty((0, 4)), None, np.empty((0,), dtype=str) labels = [] xyxy = [] @@ -403,6 +409,16 @@ def from_google_gemini( ) if not xyxy: - return np.empty((0, 4)), np.empty((0,), dtype=str) + return np.empty((0, 4)), None, np.empty((0,), dtype=str) + + xyxy = np.array(xyxy) + class_name = np.array(labels) + class_id = None + + if classes is not None: + mask = np.array([name in classes for name in class_name], dtype=bool) + xyxy = xyxy[mask] + class_name = class_name[mask] + class_id = np.array([classes.index(name) for name in class_name]) - return np.array(xyxy), np.array(labels) + return xyxy, class_id, class_name From b860edd8f50879da58cfb42dd95b3f14b8bed6b0 Mon Sep 17 00:00:00 2001 From: soumik12345 <19soumik.rakshit96@gmail.com> Date: Fri, 11 Jul 2025 21:04:50 +0530 Subject: [PATCH 307/420] update: test_from_google_gemini --- test/detection/test_vlm.py | 151 +++++++++++++++++++++++++++++++++---- 1 file changed, 136 insertions(+), 15 deletions(-) diff --git a/test/detection/test_vlm.py b/test/detection/test_vlm.py index 2148ded9a2..04e969df16 100644 --- a/test/detection/test_vlm.py +++ b/test/detection/test_vlm.py @@ -359,19 +359,140 @@ def test_from_qwen_2_5_vl( np.testing.assert_array_equal(class_name, expected_results[2]) -def test_from_google_gemini() -> None: - result = """```json +@pytest.mark.parametrize( + "exception, result, resolution_wh, classes, expected_results", [ - {"box_2d": [10, 20, 110, 120], "label": "cat"}, - {"box_2d": [50, 100, 150, 200], "label": "dog"} - ] - ```""" - resolution_wh = (640, 480) - xyxy, class_name = from_google_gemini( - result=result, - resolution_wh=resolution_wh, - ) - np.testing.assert_array_equal( - xyxy, np.array([[12.8, 4.8, 76.8, 52.8], [64.0, 24.0, 128.0, 72.0]]) - ) - np.testing.assert_array_equal(class_name, np.array(["cat", "dog"])) + ( + does_not_raise(), + "random text", + (1000, 1000), + None, + (np.empty((0, 4)), None, np.empty(0, dtype=str)), + ), + ( + does_not_raise(), + "```json\ninvalid json\n```", + (1000, 1000), + None, + (np.empty((0, 4)), None, np.empty(0, dtype=str)), + ), + ( + does_not_raise(), + "```json\n[]\n```", + (1000, 1000), + None, + (np.empty((0, 4)), None, np.empty(0, dtype=str)), + ), + ( + does_not_raise(), + """```json + [ + {"box_2d": [100, 200, 300, 400], "label": "cat"} + ] + ```""", + (1000, 500), + None, + ( + np.array([[200.0, 50.0, 400.0, 150.0]]), + None, + np.array(["cat"], dtype=str), + ), + ), + ( + does_not_raise(), + """```json + [ + {"box_2d": [10, 20, 110, 120], "label": "cat"}, + {"box_2d": [50, 100, 150, 200], "label": "dog"} + ] + ```""", + (640, 480), + None, + ( + np.array([[12.8, 4.8, 76.8, 52.8], [64.0, 24.0, 128.0, 72.0]]), + None, + np.array(["cat", "dog"], dtype=str), + ), + ), + ( + does_not_raise(), + """```json + [ + {"box_2d": [10, 20, 110, 120], "label": "cat"} + ] + ```""", + (640, 480), + ["dog", "person"], + (np.empty((0, 4)), np.empty(0, dtype=int), np.empty(0, dtype=str)), + ), + ( + does_not_raise(), + """```json + [ + {"box_2d": [10, 20, 110, 120], "label": "cat"}, + {"box_2d": [50, 100, 150, 200], "label": "dog"} + ] + ```""", + (640, 480), + ["person", "dog"], + ( + np.array([[64.0, 24.0, 128.0, 72.0]]), + np.array([1]), + np.array(["dog"], dtype=str), + ), + ), + ( + does_not_raise(), + """```json + [ + {"box_2d": [10, 20, 110, 120], "label": "cat"}, + {"box_2d": [50, 100, 150, 200], "label": "dog"} + ] + ```""", + (640, 480), + ["cat", "dog"], + ( + np.array([[12.8, 4.8, 76.8, 52.8], [64.0, 24.0, 128.0, 72.0]]), + np.array([0, 1]), + np.array(["cat", "dog"]), + ), + ), + ( + pytest.raises(ValueError), + """```json + [ + {"box_2d": [10, 20, 110, 120], "label": "cat"} + ] + ```""", + (0, 480), + None, + None, + ), + ( + pytest.raises(ValueError), + """```json + [ + {"box_2d": [10, 20, 110, 120], "label": "cat"} + ] + ```""", + (640, -100), + None, + None, + ), + ], +) +def test_from_google_gemini( + exception, + result: str, + resolution_wh: Tuple[int, int], + classes: Optional[List[str]], + expected_results: Tuple[np.ndarray, Optional[np.ndarray], np.ndarray], +) -> None: + with exception: + xyxy, class_id, class_name = from_google_gemini( + result=result, resolution_wh=resolution_wh, classes=classes + ) + if expected_results is not None: + np.testing.assert_array_equal(xyxy, expected_results[0]) + np.testing.assert_array_equal(class_id, expected_results[1]) + np.testing.assert_array_equal(class_name, expected_results[2]) From 857aad66fccdedab10c686d842630d2ff2474a15 Mon Sep 17 00:00:00 2001 From: soumik12345 <19soumik.rakshit96@gmail.com> Date: Fri, 11 Jul 2025 21:10:19 +0530 Subject: [PATCH 308/420] update: docstring --- supervision/detection/core.py | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/supervision/detection/core.py b/supervision/detection/core.py index 2ca06ffa6f..e95927ce8b 100644 --- a/supervision/detection/core.py +++ b/supervision/detection/core.py @@ -866,6 +866,9 @@ def from_lmm( detections.data # {'class_name': array(['cat', 'dog'], dtype=' Date: Fri, 11 Jul 2025 21:40:04 +0530 Subject: [PATCH 309/420] update: docstring --- supervision/detection/core.py | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/supervision/detection/core.py b/supervision/detection/core.py index e95927ce8b..95a3e843f5 100644 --- a/supervision/detection/core.py +++ b/supervision/detection/core.py @@ -860,6 +860,7 @@ def from_lmm( qwen_2_5_vl_result, input_wh=(1000, 1000), resolution_wh=(1000, 1000), + classes=['cat', 'dog'], ) detections.xyxy # array([[139., 768., 315., 954.], [366., 679., 536., 849.]]) @@ -886,6 +887,7 @@ def from_lmm( sv.LMM.GOOGLE_GEMINI_2_0, gemini_response_text, resolution_wh=(IMAGE.size[0], IMAGE.size[1]), + classes=['cat', 'dog'], ) detections.xyxy @@ -986,6 +988,7 @@ def from_vlm( qwen_2_5_vl_result, input_wh=(1000, 1000), resolution_wh=(1000, 1000), + classes=['cat', 'dog'], ) detections.xyxy # array([[139., 768., 315., 954.], [366., 679., 536., 849.]]) @@ -1012,6 +1015,7 @@ def from_vlm( sv.VLM.GOOGLE_GEMINI_2_0, gemini_response_text, resolution_wh=(IMAGE.size[0], IMAGE.size[1]), + classes=['cat', 'dog'], ) detections.xyxy From fe0cefd1dc8d530082e205a700370ecee0c20dfe Mon Sep 17 00:00:00 2001 From: soumik12345 <19soumik.rakshit96@gmail.com> Date: Fri, 11 Jul 2025 21:44:14 +0530 Subject: [PATCH 310/420] chore: add comments to testcase parameters --- test/detection/test_vlm.py | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/test/detection/test_vlm.py b/test/detection/test_vlm.py index 04e969df16..195829c397 100644 --- a/test/detection/test_vlm.py +++ b/test/detection/test_vlm.py @@ -368,21 +368,21 @@ def test_from_qwen_2_5_vl( (1000, 1000), None, (np.empty((0, 4)), None, np.empty(0, dtype=str)), - ), + ), # random text without JSON format ( does_not_raise(), "```json\ninvalid json\n```", (1000, 1000), None, (np.empty((0, 4)), None, np.empty(0, dtype=str)), - ), + ), # invalid JSON within code blocks ( does_not_raise(), "```json\n[]\n```", (1000, 1000), None, (np.empty((0, 4)), None, np.empty(0, dtype=str)), - ), + ), # empty JSON array ( does_not_raise(), """```json @@ -397,7 +397,7 @@ def test_from_qwen_2_5_vl( None, np.array(["cat"], dtype=str), ), - ), + ), # single valid box with coordinate scaling ( does_not_raise(), """```json @@ -413,7 +413,7 @@ def test_from_qwen_2_5_vl( None, np.array(["cat", "dog"], dtype=str), ), - ), + ), # multiple valid boxes without class filtering ( does_not_raise(), """```json @@ -424,7 +424,7 @@ def test_from_qwen_2_5_vl( (640, 480), ["dog", "person"], (np.empty((0, 4)), np.empty(0, dtype=int), np.empty(0, dtype=str)), - ), + ), # class mismatch with filter ( does_not_raise(), """```json @@ -440,7 +440,7 @@ def test_from_qwen_2_5_vl( np.array([1]), np.array(["dog"], dtype=str), ), - ), + ), # partial class filtering ( does_not_raise(), """```json @@ -456,7 +456,7 @@ def test_from_qwen_2_5_vl( np.array([0, 1]), np.array(["cat", "dog"]), ), - ), + ), # complete class filtering with multiple boxes ( pytest.raises(ValueError), """```json @@ -467,7 +467,7 @@ def test_from_qwen_2_5_vl( (0, 480), None, None, - ), + ), # zero resolution width -> ValueError ( pytest.raises(ValueError), """```json @@ -478,7 +478,7 @@ def test_from_qwen_2_5_vl( (640, -100), None, None, - ), + ), # negative resolution height -> ValueError ], ) def test_from_google_gemini( From 62e80b82ac3957f11626e03ae487f028f371418e Mon Sep 17 00:00:00 2001 From: SkalskiP Date: Fri, 11 Jul 2025 19:05:18 +0200 Subject: [PATCH 311/420] update docstring examples --- supervision/detection/core.py | 68 +++++++++++++++++++++++++---------- 1 file changed, 49 insertions(+), 19 deletions(-) diff --git a/supervision/detection/core.py b/supervision/detection/core.py index 1f1214172d..f2d931a64a 100644 --- a/supervision/detection/core.py +++ b/supervision/detection/core.py @@ -844,6 +844,9 @@ def from_lmm( detections.class_id # array([0]) + + detections.data + # {'class_name': array(['cat'], dtype=' Date: Fri, 11 Jul 2025 20:16:07 +0300 Subject: [PATCH 312/420] refactor: simplify return statement in from_moondream function --- supervision/detection/vlm.py | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/supervision/detection/vlm.py b/supervision/detection/vlm.py index 7eea95eb7e..4e6a38d6cb 100644 --- a/supervision/detection/vlm.py +++ b/supervision/detection/vlm.py @@ -475,6 +475,4 @@ def from_moondream( if not denormalize_xyxy: return np.empty((0, 4)) - xyxy = np.array(denormalize_xyxy, dtype=float) - - return xyxy + return np.array(denormalize_xyxy, dtype=float) From 641b343c7fa29c01712c3b11f5b8abc16d759454 Mon Sep 17 00:00:00 2001 From: Onuralp SEZER Date: Fri, 11 Jul 2025 20:17:28 +0300 Subject: [PATCH 313/420] =?UTF-8?q?docs:=20=F0=9F=93=9D=20update=20resolut?= =?UTF-8?q?ion=20parameter=20to=20fixed=20values=20in=20Detections=20class?= =?UTF-8?q?=20methods?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- supervision/detection/core.py | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/supervision/detection/core.py b/supervision/detection/core.py index f2d931a64a..5cc290c0fc 100644 --- a/supervision/detection/core.py +++ b/supervision/detection/core.py @@ -889,7 +889,7 @@ def from_lmm( detections = sv.Detections.from_lmm( sv.LMM.GOOGLE_GEMINI_2_0, gemini_response_text, - resolution_wh=(IMAGE.size[0], IMAGE.size[1]), + resolution_wh=(1000, 1000), ) detections.xyxy @@ -926,7 +926,7 @@ def from_lmm( detections = sv.Detections.from_vmm( sv.LMM.MOONDREAM, moondream_result, - resolution_wh=(IMAGE.size[0], IMAGE.size[1]), + resolution_wh=(1000, 1000), ) detections.xyxy @@ -1047,7 +1047,7 @@ def from_vlm( detections = sv.Detections.from_vlm( sv.VLM.GOOGLE_GEMINI_2_0, gemini_response_text, - resolution_wh=(IMAGE.size[0], IMAGE.size[1]), + resolution_wh=(1000, 1000), ) detections.xyxy @@ -1084,7 +1084,7 @@ def from_vlm( detections = sv.Detections.from_vlm( sv.VLM.MOONDREAM, moondream_result, - resolution_wh=(IMAGE.size[0], IMAGE.size[1]), + resolution_wh=(1000, 1000), ) detections.xyxy From 3218da8cbd00658c40f82dd0a628b5e4e11c4c44 Mon Sep 17 00:00:00 2001 From: Onuralp SEZER Date: Fri, 11 Jul 2025 21:39:45 +0300 Subject: [PATCH 314/420] =?UTF-8?q?test:=20=F0=9F=A7=AA=20re-add=20paramet?= =?UTF-8?q?erized=20tests=20for=20from=5Fmoondream=20function?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- supervision/detection/core.py | 5 +- supervision/detection/vlm.py | 1 - test/detection/test_vlm.py | 100 ++++++++++++++++++++++++++++++++++ 3 files changed, 101 insertions(+), 5 deletions(-) diff --git a/supervision/detection/core.py b/supervision/detection/core.py index 1f04746d26..7d14200055 100644 --- a/supervision/detection/core.py +++ b/supervision/detection/core.py @@ -1135,10 +1135,7 @@ def from_vlm( return cls(xyxy=xyxy, mask=mask, data=data) - if ( - vlm == VLM.GOOGLE_GEMINI_2_0 - or vlm == VLM.GOOGLE_GEMINI_2_5 - ): + if vlm == VLM.GOOGLE_GEMINI_2_0 or vlm == VLM.GOOGLE_GEMINI_2_5: xyxy, class_id, class_name = from_google_gemini(result, **kwargs) data = {CLASS_NAME_DATA_FIELD: class_name} return cls(xyxy=xyxy, class_id=class_id, data=data) diff --git a/supervision/detection/vlm.py b/supervision/detection/vlm.py index 8271b77885..022060f64d 100644 --- a/supervision/detection/vlm.py +++ b/supervision/detection/vlm.py @@ -427,7 +427,6 @@ def from_google_gemini( return xyxy, class_id, class_name - def from_moondream( result: dict, resolution_wh: Tuple[int, int], diff --git a/test/detection/test_vlm.py b/test/detection/test_vlm.py index 3e6be1d052..c652996910 100644 --- a/test/detection/test_vlm.py +++ b/test/detection/test_vlm.py @@ -497,3 +497,103 @@ def test_from_google_gemini( np.testing.assert_array_equal(xyxy, expected_results[0]) np.testing.assert_array_equal(class_id, expected_results[1]) np.testing.assert_array_equal(class_name, expected_results[2]) + + +@pytest.mark.parametrize( + "exception, result, resolution_wh, expected_results", + [ + ( + does_not_raise(), + {}, + (640, 480), + np.empty((0, 4)), + ), # empty dict + ( + does_not_raise(), + {"objects": []}, + (640, 480), + np.empty((0, 4)), + ), # empty objects list + ( + does_not_raise(), + {"objects": "not a list"}, + (640, 480), + np.empty((0, 4)), + ), # objects is not a list + ( + does_not_raise(), + { + "objects": [ + {"x_min": 0.1, "y_min": 0.2, "x_max": 0.3, "y_max": 0.4}, + ] + }, + (640, 480), + np.array([[64.0, 96.0, 192.0, 192.0]]), + ), # single box + ( + does_not_raise(), + { + "objects": [ + {"x_min": 0.1, "y_min": 0.2, "x_max": 0.3, "y_max": 0.4}, + {"x_min": 0.5, "y_min": 0.6, "x_max": 0.7, "y_max": 0.8}, + ] + }, + (640, 480), + np.array([[64.0, 96.0, 192.0, 192.0], [320.0, 288.0, 448.0, 384.0]]), + ), # multiple boxes + ( + does_not_raise(), + { + "objects": [ + {"x_min": 0.1, "y_min": 0.2}, # missing x_max, y_max + {"x_min": 0.5, "y_min": 0.6, "x_max": 0.7, "y_max": 0.8}, + ] + }, + (640, 480), + np.array([[320.0, 288.0, 448.0, 384.0]]), + ), # partial valid boxes + ( + does_not_raise(), + { + "objects": [ + {"x_min": 0.0, "y_min": 0.0, "x_max": 1.0, "y_max": 1.0}, + ] + }, + (1000, 800), + np.array([[0.0, 0.0, 1000.0, 800.0]]), + ), # full image box + ( + pytest.raises(ValueError), + { + "objects": [ + {"x_min": 0.1, "y_min": 0.2, "x_max": 0.3, "y_max": 0.4}, + ] + }, + (0, 480), + None, + ), # zero width -> ValueError + ( + pytest.raises(ValueError), + { + "objects": [ + {"x_min": 0.1, "y_min": 0.2, "x_max": 0.3, "y_max": 0.4}, + ] + }, + (640, -100), + None, + ), # negative height -> ValueError + ], +) +def test_from_moondream( + exception, + result: dict, + resolution_wh: Tuple[int, int], + expected_results, +) -> None: + with exception: + xyxy = from_moondream( + result=result, + resolution_wh=resolution_wh, + ) + if expected_results is not None: + np.testing.assert_array_equal(xyxy, expected_results) From 2378d8bdca83aa3877f8967aaba6a17bff016a03 Mon Sep 17 00:00:00 2001 From: Ashp116 Date: Sat, 12 Jul 2025 14:50:43 -0400 Subject: [PATCH 315/420] UPDATE: Code review fix and docs updated --- docs/detection/utils.md | 6 ++++++ supervision/detection/utils.py | 31 ++++++++++++++++++++----------- 2 files changed, 26 insertions(+), 11 deletions(-) diff --git a/docs/detection/utils.md b/docs/detection/utils.md index 323b295428..95b3d5b78a 100644 --- a/docs/detection/utils.md +++ b/docs/detection/utils.md @@ -5,6 +5,12 @@ status: new # Detection Utils +
    +

    box_iou

    +
    + +:::supervision.detection.utils.box_iou + diff --git a/supervision/detection/utils.py b/supervision/detection/utils.py index a9ee8225bb..09e4a87a01 100644 --- a/supervision/detection/utils.py +++ b/supervision/detection/utils.py @@ -48,32 +48,41 @@ def polygon_to_mask(polygon: np.ndarray, resolution_wh: Tuple[int, int]) -> np.n return mask -def box_iou(box1: np.ndarray, box2: np.ndarray) -> float: +def box_iou(box_true: Union[List[float], np.ndarray], box_detection: Union[List[float], np.ndarray]) -> float: """ Compute the Intersection over Union (IoU) between two bounding boxes. + Both `box_true` and `box_detection` should be in (x_min, y_min, x_max, y_max) format. + + Note: + Use `box_iou` when computing IoU between two individual boxes. + For comparing multiple boxes (arrays of boxes), use `box_iou_batch` for better performance. + Args: - box1 (np.ndarray): A bounding box represented as [x1, y1, x2, y2]. - box2 (np.ndarray): A bounding box represented as [x1, y1, x2, y2]. + box_true (Union[List[float], np.ndarray]): A single bounding box represented as [x_min, y_min, x_max, y_max]. + box_detection (Union[List[float], np.ndarray]): A single bounding box represented as [x_min, y_min, x_max, y_max]. Returns: - float: The IoU value between box1 and box2. + float: The IoU value between the two boxes. Ranges from 0.0 (no overlap) to 1.0 (perfect overlap). """ - inter_x1 = max(box1[0], box2[0]) - inter_y1 = max(box1[1], box2[1]) - inter_x2 = min(box1[2], box2[2]) - inter_y2 = min(box1[3], box2[3]) + box_true = np.array(box_true) + box_detection = np.array(box_detection) + + inter_x1 = max(box_true[0], box_detection[0]) + inter_y1 = max(box_true[1], box_detection[1]) + inter_x2 = min(box_true[2], box_detection[2]) + inter_y2 = min(box_true[3], box_detection[3]) inter_w = max(0, inter_x2 - inter_x1) inter_h = max(0, inter_y2 - inter_y1) inter_area = inter_w * inter_h - area1 = (box1[2] - box1[0]) * (box1[3] - box1[1]) - area2 = (box2[2] - box2[0]) * (box2[3] - box2[1]) + area_true = (box_true[2] - box_true[0]) * (box_true[3] - box_true[1]) + area_detection = (box_detection[2] - box_detection[0]) * (box_detection[3] - box_detection[1]) - union_area = area1 + area2 - inter_area + union_area = area_true + area_detection - inter_area return inter_area / union_area + 1e-6 From ee7782b551904ba45d9cdfab996c872d1fcf3037 Mon Sep 17 00:00:00 2001 From: "pre-commit-ci[bot]" <66853113+pre-commit-ci[bot]@users.noreply.github.com> Date: Sat, 12 Jul 2025 18:52:09 +0000 Subject: [PATCH 316/420] =?UTF-8?q?fix(pre=5Fcommit):=20=F0=9F=8E=A8=20aut?= =?UTF-8?q?o=20format=20pre-commit=20hooks?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- supervision/detection/utils.py | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/supervision/detection/utils.py b/supervision/detection/utils.py index 09e4a87a01..1239cd6a3c 100644 --- a/supervision/detection/utils.py +++ b/supervision/detection/utils.py @@ -48,16 +48,19 @@ def polygon_to_mask(polygon: np.ndarray, resolution_wh: Tuple[int, int]) -> np.n return mask -def box_iou(box_true: Union[List[float], np.ndarray], box_detection: Union[List[float], np.ndarray]) -> float: +def box_iou( + box_true: Union[List[float], np.ndarray], + box_detection: Union[List[float], np.ndarray], +) -> float: """ Compute the Intersection over Union (IoU) between two bounding boxes. Both `box_true` and `box_detection` should be in (x_min, y_min, x_max, y_max) format. - + Note: Use `box_iou` when computing IoU between two individual boxes. For comparing multiple boxes (arrays of boxes), use `box_iou_batch` for better performance. - + Args: box_true (Union[List[float], np.ndarray]): A single bounding box represented as [x_min, y_min, x_max, y_max]. box_detection (Union[List[float], np.ndarray]): A single bounding box represented as [x_min, y_min, x_max, y_max]. @@ -80,7 +83,9 @@ def box_iou(box_true: Union[List[float], np.ndarray], box_detection: Union[List[ inter_area = inter_w * inter_h area_true = (box_true[2] - box_true[0]) * (box_true[3] - box_true[1]) - area_detection = (box_detection[2] - box_detection[0]) * (box_detection[3] - box_detection[1]) + area_detection = (box_detection[2] - box_detection[0]) * ( + box_detection[3] - box_detection[1] + ) union_area = area_true + area_detection - inter_area From d2ffd04aede28d3baeae3e19b4d5871f7f9d8009 Mon Sep 17 00:00:00 2001 From: Ashp116 Date: Sat, 12 Jul 2025 14:54:26 -0400 Subject: [PATCH 317/420] Precommit --- supervision/detection/utils.py | 26 ++++++++++++++++---------- 1 file changed, 16 insertions(+), 10 deletions(-) diff --git a/supervision/detection/utils.py b/supervision/detection/utils.py index 09e4a87a01..61cdfc7120 100644 --- a/supervision/detection/utils.py +++ b/supervision/detection/utils.py @@ -48,23 +48,29 @@ def polygon_to_mask(polygon: np.ndarray, resolution_wh: Tuple[int, int]) -> np.n return mask -def box_iou(box_true: Union[List[float], np.ndarray], box_detection: Union[List[float], np.ndarray]) -> float: +def box_iou( + box_true: Union[List[float], np.ndarray], + box_detection: Union[List[float], np.ndarray] +) -> float: """ Compute the Intersection over Union (IoU) between two bounding boxes. - Both `box_true` and `box_detection` should be in (x_min, y_min, x_max, y_max) format. - + Both `box_true` and `box_detection` should be in (x_min, y_min, x_max, y_max) + format. + Note: Use `box_iou` when computing IoU between two individual boxes. - For comparing multiple boxes (arrays of boxes), use `box_iou_batch` for better performance. - + For comparing multiple boxes (arrays of boxes), use `box_iou_batch` for better + performance. + Args: - box_true (Union[List[float], np.ndarray]): A single bounding box represented as [x_min, y_min, x_max, y_max]. - box_detection (Union[List[float], np.ndarray]): A single bounding box represented as [x_min, y_min, x_max, y_max]. + box_true (Union[List[float], np.ndarray]): A single bounding box represented as + [x_min, y_min, x_max, y_max]. + box_detection (Union[List[float], np.ndarray]): A single bounding box represented as + [x_min, y_min, x_max, y_max]. Returns: - float: The IoU value between the two boxes. - Ranges from 0.0 (no overlap) to 1.0 (perfect overlap). + float: IoU score between the two boxes. """ box_true = np.array(box_true) box_detection = np.array(box_detection) @@ -814,7 +820,7 @@ def move_oriented_boxes( ]) offset = np.array([5, 5]) - sv.move_oriented_boxes(xyxy=xyxy, offset=offset) + sv.move_oriented_boxes(xyxy=xyxyxyxy, offset=offset) # array([ # [ # [25, 15], From 2f44aab2b5e23351f18f4291c860da25a9fb0c56 Mon Sep 17 00:00:00 2001 From: "pre-commit-ci[bot]" <66853113+pre-commit-ci[bot]@users.noreply.github.com> Date: Sat, 12 Jul 2025 18:56:08 +0000 Subject: [PATCH 318/420] =?UTF-8?q?fix(pre=5Fcommit):=20=F0=9F=8E=A8=20aut?= =?UTF-8?q?o=20format=20pre-commit=20hooks?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- supervision/detection/utils.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/supervision/detection/utils.py b/supervision/detection/utils.py index 19af07a0cc..f01d2bf7a4 100644 --- a/supervision/detection/utils.py +++ b/supervision/detection/utils.py @@ -50,7 +50,7 @@ def polygon_to_mask(polygon: np.ndarray, resolution_wh: Tuple[int, int]) -> np.n def box_iou( box_true: Union[List[float], np.ndarray], - box_detection: Union[List[float], np.ndarray] + box_detection: Union[List[float], np.ndarray], ) -> float: """ Compute the Intersection over Union (IoU) between two bounding boxes. From a118599233e7ac40e3648bea6f28da31de568c7e Mon Sep 17 00:00:00 2001 From: Ashp116 Date: Sat, 12 Jul 2025 14:57:18 -0400 Subject: [PATCH 319/420] Precommit --- supervision/detection/utils.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/supervision/detection/utils.py b/supervision/detection/utils.py index f01d2bf7a4..51bcc35eae 100644 --- a/supervision/detection/utils.py +++ b/supervision/detection/utils.py @@ -66,8 +66,8 @@ def box_iou( Args: box_true (Union[List[float], np.ndarray]): A single bounding box represented as [x_min, y_min, x_max, y_max]. - box_detection (Union[List[float], np.ndarray]): A single bounding box represented as - [x_min, y_min, x_max, y_max]. + box_detection (Union[List[float], np.ndarray]): + A single bounding box represented as [x_min, y_min, x_max, y_max]. Returns: float: IoU score between the two boxes. From 92599ad497383e1fb782e007a4c970f4a8a26940 Mon Sep 17 00:00:00 2001 From: Ashp116 Date: Sat, 12 Jul 2025 15:59:59 -0400 Subject: [PATCH 320/420] UPDATE: Updated documentation --- supervision/detection/utils.py | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/supervision/detection/utils.py b/supervision/detection/utils.py index 51bcc35eae..c4c9d1e26a 100644 --- a/supervision/detection/utils.py +++ b/supervision/detection/utils.py @@ -70,7 +70,9 @@ def box_iou( A single bounding box represented as [x_min, y_min, x_max, y_max]. Returns: - float: IoU score between the two boxes. + IoU (float): IoU score between the two boxes. Ranges from 0.0 (no overlap) + to 1.0 (perfect overlap). + """ box_true = np.array(box_true) box_detection = np.array(box_detection) @@ -101,6 +103,11 @@ def box_iou_batch(boxes_true: np.ndarray, boxes_detection: np.ndarray) -> np.nda `boxes_true` and `boxes_detection`. Both sets of boxes are expected to be in `(x_min, y_min, x_max, y_max)` format. + Note: + Use `box_iou` when computing IoU between two individual boxes. + For comparing multiple boxes (arrays of boxes), use `box_iou_batch` for better + performance. + Args: boxes_true (np.ndarray): 2D `np.ndarray` representing ground-truth boxes. `shape = (N, 4)` where `N` is number of true objects. From d1c27f2d2b3253c33ea3c6efbd599321b8d97bf9 Mon Sep 17 00:00:00 2001 From: Ashp116 Date: Sat, 12 Jul 2025 18:13:37 -0400 Subject: [PATCH 321/420] FIX: Fixed docsstrings --- supervision/detection/utils.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/supervision/detection/utils.py b/supervision/detection/utils.py index c4c9d1e26a..347e4f6461 100644 --- a/supervision/detection/utils.py +++ b/supervision/detection/utils.py @@ -829,7 +829,7 @@ def move_oriented_boxes( ]) offset = np.array([5, 5]) - sv.move_oriented_boxes(xyxy=xyxyxyxy, offset=offset) + sv.move_oriented_boxes(xyxy=xyxy, offset=offset) # array([ # [ # [25, 15], From c7ebfeb4bc72f1e601525526e2c2793d69cb34b2 Mon Sep 17 00:00:00 2001 From: Onuralp SEZER Date: Mon, 14 Jul 2025 10:58:59 +0300 Subject: [PATCH 322/420] =?UTF-8?q?feat:=20=F0=9F=9A=80=20enhance=20Google?= =?UTF-8?q?=20Gemini=202.5=20integration=20to=20include=20confidence=20sco?= =?UTF-8?q?res=20in=20detection=20results?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- supervision/detection/core.py | 4 ++-- supervision/detection/vlm.py | 15 ++++++++++++--- 2 files changed, 14 insertions(+), 5 deletions(-) diff --git a/supervision/detection/core.py b/supervision/detection/core.py index ddcf125e74..d3d593a670 100644 --- a/supervision/detection/core.py +++ b/supervision/detection/core.py @@ -1041,9 +1041,9 @@ def from_vlm( return cls(xyxy=xyxy, data=data) if vlm == VLM.GOOGLE_GEMINI_2_5: - xyxy, class_id, class_name, mask = from_google_gemini_2_5(result, **kwargs) + xyxy, class_id, class_name, mask, confidence = from_google_gemini_2_5(result, **kwargs) data = {CLASS_NAME_DATA_FIELD: class_name} - return cls(xyxy=xyxy, class_id=class_id, mask=mask, data=data) + return cls(xyxy=xyxy, class_id=class_id, mask=mask, confidence=confidence, data=data) return cls.empty() diff --git a/supervision/detection/vlm.py b/supervision/detection/vlm.py index ed62a44979..3d8a323830 100644 --- a/supervision/detection/vlm.py +++ b/supervision/detection/vlm.py @@ -402,7 +402,7 @@ def from_google_gemini( def from_google_gemini_2_5( result: str, resolution_wh: Tuple[int, int], -) -> Tuple[np.ndarray, np.ndarray, np.ndarray, Optional[np.ndarray]]: +) -> Tuple[np.ndarray, np.ndarray, np.ndarray, Optional[np.ndarray], Optional[np.ndarray]]: """ Parse and scale bounding boxes and masks from Google Gemini 2.5 style [JSON output](https://ai.google.dev/gemini-api/docs/vision?lang=python). @@ -454,7 +454,8 @@ def from_google_gemini_2_5( class_name: list = [] class_id: list = [] xyxy: list = [] - masks: Optional[list] = [] + masks: list = [] + confidence: list = [] for item in data: if "box_2d" not in item or "label" not in item: @@ -497,6 +498,14 @@ def from_google_gemini_2_5( else: masks.append(np.zeros((h, w), dtype=bool)) + + if "confidence" in item: + # if confidence is provided + confidence.append(item["confidence"]) + else: + # if confidence is not provided, we assume 0 + confidence.append(0.0) + if not xyxy: return ( np.empty((0, 4)), @@ -511,4 +520,4 @@ def from_google_gemini_2_5( for label in class_name: class_id.append(unique_labels.index(label)) - return np.array(xyxy), np.array(class_id), np.array(class_name), mask + return np.array(xyxy), np.array(class_id), np.array(class_name), mask, np.array(confidence) From 3152f5f0ea6ff399f3c2f4a361fc0fc82c65cfed Mon Sep 17 00:00:00 2001 From: Onuralp SEZER Date: Mon, 14 Jul 2025 10:59:49 +0300 Subject: [PATCH 323/420] =?UTF-8?q?docs:=20=F0=9F=93=9D=20add=20docs=20to?= =?UTF-8?q?=20confidence=20scores=20parameter=20to=20from=5Fgoogle=5Fgemin?= =?UTF-8?q?i=5F2=5F5=20function?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- supervision/detection/vlm.py | 3 +++ 1 file changed, 3 insertions(+) diff --git a/supervision/detection/vlm.py b/supervision/detection/vlm.py index 3d8a323830..80335cec47 100644 --- a/supervision/detection/vlm.py +++ b/supervision/detection/vlm.py @@ -431,6 +431,9 @@ def from_google_gemini_2_5( the class indices for each bounding box masks: Optional[np.ndarray]: An array of shape `(n, h, w)` containing the segmentation masks for each bounding box + confidence: Optional[np.ndarray]: An array of shape `(n,)` containing + the confidence scores for each bounding box. If not provided, + it defaults to 0.0 for each box. """ w, h = validate_resolution(resolution_wh) From 6bae8bc6e60d540a520635e9413090314496b4c2 Mon Sep 17 00:00:00 2001 From: Onuralp SEZER Date: Mon, 14 Jul 2025 11:02:19 +0300 Subject: [PATCH 324/420] =?UTF-8?q?formatting:=20=20=F0=9F=A7=B9=20code=20?= =?UTF-8?q?readability=20by=20formatting=20return=20statements=20and=20fun?= =?UTF-8?q?ction=20signatures=20in=20Google=20Gemini=202.5=20integration?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- supervision/detection/core.py | 12 ++++++++++-- supervision/detection/vlm.py | 13 ++++++++++--- 2 files changed, 20 insertions(+), 5 deletions(-) diff --git a/supervision/detection/core.py b/supervision/detection/core.py index d3d593a670..d030d853a8 100644 --- a/supervision/detection/core.py +++ b/supervision/detection/core.py @@ -1041,9 +1041,17 @@ def from_vlm( return cls(xyxy=xyxy, data=data) if vlm == VLM.GOOGLE_GEMINI_2_5: - xyxy, class_id, class_name, mask, confidence = from_google_gemini_2_5(result, **kwargs) + xyxy, class_id, class_name, mask, confidence = from_google_gemini_2_5( + result, **kwargs + ) data = {CLASS_NAME_DATA_FIELD: class_name} - return cls(xyxy=xyxy, class_id=class_id, mask=mask, confidence=confidence, data=data) + return cls( + xyxy=xyxy, + class_id=class_id, + mask=mask, + confidence=confidence, + data=data, + ) return cls.empty() diff --git a/supervision/detection/vlm.py b/supervision/detection/vlm.py index 80335cec47..bd9c5399e6 100644 --- a/supervision/detection/vlm.py +++ b/supervision/detection/vlm.py @@ -402,7 +402,9 @@ def from_google_gemini( def from_google_gemini_2_5( result: str, resolution_wh: Tuple[int, int], -) -> Tuple[np.ndarray, np.ndarray, np.ndarray, Optional[np.ndarray], Optional[np.ndarray]]: +) -> Tuple[ + np.ndarray, np.ndarray, np.ndarray, Optional[np.ndarray], Optional[np.ndarray] +]: """ Parse and scale bounding boxes and masks from Google Gemini 2.5 style [JSON output](https://ai.google.dev/gemini-api/docs/vision?lang=python). @@ -501,7 +503,6 @@ def from_google_gemini_2_5( else: masks.append(np.zeros((h, w), dtype=bool)) - if "confidence" in item: # if confidence is provided confidence.append(item["confidence"]) @@ -523,4 +524,10 @@ def from_google_gemini_2_5( for label in class_name: class_id.append(unique_labels.index(label)) - return np.array(xyxy), np.array(class_id), np.array(class_name), mask, np.array(confidence) + return ( + np.array(xyxy), + np.array(class_id), + np.array(class_name), + mask, + np.array(confidence), + ) From 2bf448f285ec87f242def597fafb58bdd859b21e Mon Sep 17 00:00:00 2001 From: Onuralp SEZER Date: Mon, 14 Jul 2025 13:09:58 +0300 Subject: [PATCH 325/420] =?UTF-8?q?refactor:=20=F0=9F=A7=B9=20remove=20tes?= =?UTF-8?q?t=20file=20for=20from=5Fflorence=5F2=20function=20and=20merge?= =?UTF-8?q?=20into=20main=20test=5Fvlm=20file?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Onuralp SEZER --- test/detection/test_vlm.py | 286 +++++++++++++++++++++++++ test/detection/test_vlm_florence_2.py | 291 -------------------------- 2 files changed, 286 insertions(+), 291 deletions(-) delete mode 100644 test/detection/test_vlm_florence_2.py diff --git a/test/detection/test_vlm.py b/test/detection/test_vlm.py index c652996910..7b9acb0c70 100644 --- a/test/detection/test_vlm.py +++ b/test/detection/test_vlm.py @@ -1,3 +1,4 @@ +from contextlib import ExitStack as DoesNotRaise from contextlib import nullcontext as does_not_raise from typing import List, Optional, Tuple @@ -5,6 +6,7 @@ import pytest from supervision.detection.vlm import ( + from_florence_2, from_google_gemini, from_moondream, from_paligemma, @@ -597,3 +599,287 @@ def test_from_moondream( ) if expected_results is not None: np.testing.assert_array_equal(xyxy, expected_results) + + +@pytest.mark.parametrize( + "florence_result, resolution_wh, expected_results, exception", + [ + ( # Object detection: empty + {"": {"bboxes": [], "labels": []}}, + (10, 10), + (np.array([], dtype=np.float32), np.array([]), None, None), + DoesNotRaise(), + ), + ( # Object detection: two detections + { + "": { + "bboxes": [[4, 4, 6, 6], [5, 5, 7, 7]], + "labels": ["car", "door"], + } + }, + (10, 10), + ( + np.array([[4, 4, 6, 6], [5, 5, 7, 7]], dtype=np.float32), + np.array(["car", "door"]), + None, + None, + ), + DoesNotRaise(), + ), + ( # Caption: unsupported + {"": "A green car parked in front of a yellow building."}, + (10, 10), + None, + pytest.raises(ValueError), + ), + ( # Detailed Caption: unsupported + { + "": "The image shows a blue Volkswagen Beetle parked " + "in front of a yellow building with two brown doors, surrounded by " + "trees and a clear blue sky." + }, + (10, 10), + None, + pytest.raises(ValueError), + ), + ( # More Detailed Caption: unsupported + { + "": "The image shows a vintage Volkswagen " + "Beetle car parked on a " + "cobblestone street in front of a yellow building with two wooden " + "doors. The car is painted in a bright turquoise color and has a " + "white stripe running along the side. It has two doors on either side " + "of the car, one on top of the other, and a small window on the " + "front. The building appears to be old and dilapidated, with peeling " + "paint and crumbling walls. The sky is blue and there are trees in " + "the background." + }, + (10, 10), + None, + pytest.raises(ValueError), + ), + ( # Caption to Phrase Grounding: empty + {"": {"bboxes": [], "labels": []}}, + (10, 10), + (np.array([], dtype=np.float32), np.array([]), None, None), + DoesNotRaise(), + ), + ( # Caption to Phrase Grounding: two detections + { + "": { + "bboxes": [[4, 4, 6, 6], [5, 5, 7, 7]], + "labels": ["a green car", "a yellow building"], + } + }, + (10, 10), + ( + np.array([[4, 4, 6, 6], [5, 5, 7, 7]], dtype=np.float32), + np.array(["a green car", "a yellow building"]), + None, + None, + ), + DoesNotRaise(), + ), + ( # Dense Region caption: empty + {"": {"bboxes": [], "labels": []}}, + (10, 10), + (np.array([], dtype=np.float32), np.array([]), None, None), + DoesNotRaise(), + ), + ( # Caption to Phrase Grounding: two detections + { + "": { + "bboxes": [[4, 4, 6, 6], [5, 5, 7, 7]], + "labels": ["a green car", "a yellow building"], + } + }, + (10, 10), + ( + np.array([[4, 4, 6, 6], [5, 5, 7, 7]], dtype=np.float32), + np.array(["a green car", "a yellow building"]), + None, + None, + ), + DoesNotRaise(), + ), + ( # Region proposal + { + "": { + "bboxes": [[4, 4, 6, 6], [5, 5, 7, 7]], + "labels": ["", ""], + } + }, + (10, 10), + ( + np.array([[4, 4, 6, 6], [5, 5, 7, 7]], dtype=np.float32), + None, + None, + None, + ), + DoesNotRaise(), + ), + ( # Referring Expression Segmentation + { + "": { + "polygons": [[[1, 1, 2, 1, 2, 2, 1, 2]]], + "labels": [""], + } + }, + (10, 10), + ( + np.array([[1.0, 1.0, 2.0, 2.0]], dtype=np.float32), + None, + np.array( + [ + [ + [0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + [0, 1, 1, 0, 0, 0, 0, 0, 0, 0], + [0, 1, 1, 0, 0, 0, 0, 0, 0, 0], + [0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + [0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + [0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + [0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + [0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + [0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + [0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + ] + ], + dtype=bool, + ), + None, + ), + DoesNotRaise(), + ), + ( # Referring Expression Segmentation + { + "": { + "polygons": [[[1, 1, 2, 1, 2, 2, 1, 2]]], + "labels": [""], + } + }, + (10, 10), + ( + np.array([[1.0, 1.0, 2.0, 2.0]], dtype=np.float32), + None, + np.array( + [ + [ + [0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + [0, 1, 1, 0, 0, 0, 0, 0, 0, 0], + [0, 1, 1, 0, 0, 0, 0, 0, 0, 0], + [0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + [0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + [0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + [0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + [0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + [0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + [0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + ] + ], + dtype=bool, + ), + None, + ), + DoesNotRaise(), + ), + ( # OCR: unsupported + {"": "A"}, + (10, 10), + None, + pytest.raises(ValueError), + ), + ( # OCR with Region: obb boxes + { + "": { + "quad_boxes": [[2, 2, 6, 4, 5, 6, 1, 5], [4, 4, 5, 5, 4, 6, 3, 5]], + "labels": ["some text", "other text"], + } + }, + (10, 10), + ( + np.array([[1, 2, 6, 6], [3, 4, 5, 6]], dtype=np.float32), + np.array(["some text", "other text"]), + None, + np.array( + [[[2, 2], [6, 4], [5, 6], [1, 5]], [[4, 4], [5, 5], [4, 6], [3, 5]]] + ), + ), + DoesNotRaise(), + ), + ( # Open Vocabulary Detection + { + "": { + "bboxes": [[4, 4, 6, 6], [5, 5, 7, 7]], + "bboxes_labels": ["cat", "cat"], + "polygon": [], + "polygons_labels": [], + } + }, + (10, 10), + ( + np.array([[4, 4, 6, 6], [5, 5, 7, 7]], dtype=np.float32), + np.array(["cat", "cat"]), + None, + None, + ), + DoesNotRaise(), + ), + ( # Region to Category: empty + {"": "No object detected."}, + (10, 10), + (np.empty((0, 4), dtype=np.float32), np.array([]), None, None), + DoesNotRaise(), + ), + ( # Region to Category: detected + {"": "some object"}, + (10, 10), + ( + np.array([[3, 4, 5, 6]], dtype=np.float32), + np.array(["some object"]), + None, + None, + ), + DoesNotRaise(), + ), + ( # Region to Description: empty + {"": "No object detected."}, + (10, 10), + (np.empty((0, 4), dtype=np.float32), np.array([]), None, None), + DoesNotRaise(), + ), + ( # Region to Description: detected + {"": "descr"}, + (10, 10), + ( + np.array([[3, 4, 5, 6]], dtype=np.float32), + np.array(["descr"]), + None, + None, + ), + DoesNotRaise(), + ), + ], +) +def test_florence_2( + florence_result: dict, + resolution_wh: Tuple[int, int], + expected_results: Tuple[ + np.ndarray, Optional[np.ndarray], Optional[np.ndarray], Optional[np.ndarray] + ], + exception: Exception, +) -> None: + with exception: + result = from_florence_2(florence_result, resolution_wh) + np.testing.assert_array_equal(result[0], expected_results[0]) + if expected_results[1] is None: + assert result[1] is None + else: + np.testing.assert_array_equal(result[1], expected_results[1]) + if expected_results[2] is None: + assert result[2] is None + else: + np.testing.assert_array_equal(result[2], expected_results[2]) + if expected_results[3] is None: + assert result[3] is None + else: + np.testing.assert_array_equal(result[3], expected_results[3]) diff --git a/test/detection/test_vlm_florence_2.py b/test/detection/test_vlm_florence_2.py deleted file mode 100644 index 0fbe647b85..0000000000 --- a/test/detection/test_vlm_florence_2.py +++ /dev/null @@ -1,291 +0,0 @@ -from contextlib import ExitStack as DoesNotRaise -from typing import Optional, Tuple - -import numpy as np -import pytest - -from supervision.detection.vlm import from_florence_2 - - -@pytest.mark.parametrize( - "florence_result, resolution_wh, expected_results, exception", - [ - ( # Object detection: empty - {"": {"bboxes": [], "labels": []}}, - (10, 10), - (np.array([], dtype=np.float32), np.array([]), None, None), - DoesNotRaise(), - ), - ( # Object detection: two detections - { - "": { - "bboxes": [[4, 4, 6, 6], [5, 5, 7, 7]], - "labels": ["car", "door"], - } - }, - (10, 10), - ( - np.array([[4, 4, 6, 6], [5, 5, 7, 7]], dtype=np.float32), - np.array(["car", "door"]), - None, - None, - ), - DoesNotRaise(), - ), - ( # Caption: unsupported - {"": "A green car parked in front of a yellow building."}, - (10, 10), - None, - pytest.raises(ValueError), - ), - ( # Detailed Caption: unsupported - { - "": "The image shows a blue Volkswagen Beetle parked " - "in front of a yellow building with two brown doors, surrounded by " - "trees and a clear blue sky." - }, - (10, 10), - None, - pytest.raises(ValueError), - ), - ( # More Detailed Caption: unsupported - { - "": "The image shows a vintage Volkswagen " - "Beetle car parked on a " - "cobblestone street in front of a yellow building with two wooden " - "doors. The car is painted in a bright turquoise color and has a " - "white stripe running along the side. It has two doors on either side " - "of the car, one on top of the other, and a small window on the " - "front. The building appears to be old and dilapidated, with peeling " - "paint and crumbling walls. The sky is blue and there are trees in " - "the background." - }, - (10, 10), - None, - pytest.raises(ValueError), - ), - ( # Caption to Phrase Grounding: empty - {"": {"bboxes": [], "labels": []}}, - (10, 10), - (np.array([], dtype=np.float32), np.array([]), None, None), - DoesNotRaise(), - ), - ( # Caption to Phrase Grounding: two detections - { - "": { - "bboxes": [[4, 4, 6, 6], [5, 5, 7, 7]], - "labels": ["a green car", "a yellow building"], - } - }, - (10, 10), - ( - np.array([[4, 4, 6, 6], [5, 5, 7, 7]], dtype=np.float32), - np.array(["a green car", "a yellow building"]), - None, - None, - ), - DoesNotRaise(), - ), - ( # Dense Region caption: empty - {"": {"bboxes": [], "labels": []}}, - (10, 10), - (np.array([], dtype=np.float32), np.array([]), None, None), - DoesNotRaise(), - ), - ( # Caption to Phrase Grounding: two detections - { - "": { - "bboxes": [[4, 4, 6, 6], [5, 5, 7, 7]], - "labels": ["a green car", "a yellow building"], - } - }, - (10, 10), - ( - np.array([[4, 4, 6, 6], [5, 5, 7, 7]], dtype=np.float32), - np.array(["a green car", "a yellow building"]), - None, - None, - ), - DoesNotRaise(), - ), - ( # Region proposal - { - "": { - "bboxes": [[4, 4, 6, 6], [5, 5, 7, 7]], - "labels": ["", ""], - } - }, - (10, 10), - ( - np.array([[4, 4, 6, 6], [5, 5, 7, 7]], dtype=np.float32), - None, - None, - None, - ), - DoesNotRaise(), - ), - ( # Referring Expression Segmentation - { - "": { - "polygons": [[[1, 1, 2, 1, 2, 2, 1, 2]]], - "labels": [""], - } - }, - (10, 10), - ( - np.array([[1.0, 1.0, 2.0, 2.0]], dtype=np.float32), - None, - np.array( - [ - [ - [0, 0, 0, 0, 0, 0, 0, 0, 0, 0], - [0, 1, 1, 0, 0, 0, 0, 0, 0, 0], - [0, 1, 1, 0, 0, 0, 0, 0, 0, 0], - [0, 0, 0, 0, 0, 0, 0, 0, 0, 0], - [0, 0, 0, 0, 0, 0, 0, 0, 0, 0], - [0, 0, 0, 0, 0, 0, 0, 0, 0, 0], - [0, 0, 0, 0, 0, 0, 0, 0, 0, 0], - [0, 0, 0, 0, 0, 0, 0, 0, 0, 0], - [0, 0, 0, 0, 0, 0, 0, 0, 0, 0], - [0, 0, 0, 0, 0, 0, 0, 0, 0, 0], - ] - ], - dtype=bool, - ), - None, - ), - DoesNotRaise(), - ), - ( # Referring Expression Segmentation - { - "": { - "polygons": [[[1, 1, 2, 1, 2, 2, 1, 2]]], - "labels": [""], - } - }, - (10, 10), - ( - np.array([[1.0, 1.0, 2.0, 2.0]], dtype=np.float32), - None, - np.array( - [ - [ - [0, 0, 0, 0, 0, 0, 0, 0, 0, 0], - [0, 1, 1, 0, 0, 0, 0, 0, 0, 0], - [0, 1, 1, 0, 0, 0, 0, 0, 0, 0], - [0, 0, 0, 0, 0, 0, 0, 0, 0, 0], - [0, 0, 0, 0, 0, 0, 0, 0, 0, 0], - [0, 0, 0, 0, 0, 0, 0, 0, 0, 0], - [0, 0, 0, 0, 0, 0, 0, 0, 0, 0], - [0, 0, 0, 0, 0, 0, 0, 0, 0, 0], - [0, 0, 0, 0, 0, 0, 0, 0, 0, 0], - [0, 0, 0, 0, 0, 0, 0, 0, 0, 0], - ] - ], - dtype=bool, - ), - None, - ), - DoesNotRaise(), - ), - ( # OCR: unsupported - {"": "A"}, - (10, 10), - None, - pytest.raises(ValueError), - ), - ( # OCR with Region: obb boxes - { - "": { - "quad_boxes": [[2, 2, 6, 4, 5, 6, 1, 5], [4, 4, 5, 5, 4, 6, 3, 5]], - "labels": ["some text", "other text"], - } - }, - (10, 10), - ( - np.array([[1, 2, 6, 6], [3, 4, 5, 6]], dtype=np.float32), - np.array(["some text", "other text"]), - None, - np.array( - [[[2, 2], [6, 4], [5, 6], [1, 5]], [[4, 4], [5, 5], [4, 6], [3, 5]]] - ), - ), - DoesNotRaise(), - ), - ( # Open Vocabulary Detection - { - "": { - "bboxes": [[4, 4, 6, 6], [5, 5, 7, 7]], - "bboxes_labels": ["cat", "cat"], - "polygon": [], - "polygons_labels": [], - } - }, - (10, 10), - ( - np.array([[4, 4, 6, 6], [5, 5, 7, 7]], dtype=np.float32), - np.array(["cat", "cat"]), - None, - None, - ), - DoesNotRaise(), - ), - ( # Region to Category: empty - {"": "No object detected."}, - (10, 10), - (np.empty((0, 4), dtype=np.float32), np.array([]), None, None), - DoesNotRaise(), - ), - ( # Region to Category: detected - {"": "some object"}, - (10, 10), - ( - np.array([[3, 4, 5, 6]], dtype=np.float32), - np.array(["some object"]), - None, - None, - ), - DoesNotRaise(), - ), - ( # Region to Description: empty - {"": "No object detected."}, - (10, 10), - (np.empty((0, 4), dtype=np.float32), np.array([]), None, None), - DoesNotRaise(), - ), - ( # Region to Description: detected - {"": "descr"}, - (10, 10), - ( - np.array([[3, 4, 5, 6]], dtype=np.float32), - np.array(["descr"]), - None, - None, - ), - DoesNotRaise(), - ), - ], -) -def test_florence_2( - florence_result: dict, - resolution_wh: Tuple[int, int], - expected_results: Tuple[ - np.ndarray, Optional[np.ndarray], Optional[np.ndarray], Optional[np.ndarray] - ], - exception: Exception, -) -> None: - with exception: - result = from_florence_2(florence_result, resolution_wh) - np.testing.assert_array_equal(result[0], expected_results[0]) - if expected_results[1] is None: - assert result[1] is None - else: - np.testing.assert_array_equal(result[1], expected_results[1]) - if expected_results[2] is None: - assert result[2] is None - else: - np.testing.assert_array_equal(result[2], expected_results[2]) - if expected_results[3] is None: - assert result[3] is None - else: - np.testing.assert_array_equal(result[3], expected_results[3]) From 9ce4632f47fa114ffdef32d33da285cb51793771 Mon Sep 17 00:00:00 2001 From: soumik12345 <19soumik.rakshit96@gmail.com> Date: Mon, 14 Jul 2025 16:18:04 +0530 Subject: [PATCH 326/420] chore: add usage examples in docstrings --- supervision/detection/utils.py | 32 ++++++++++++++++++++++++++++++++ 1 file changed, 32 insertions(+) diff --git a/supervision/detection/utils.py b/supervision/detection/utils.py index 347e4f6461..8edfc22435 100644 --- a/supervision/detection/utils.py +++ b/supervision/detection/utils.py @@ -73,6 +73,17 @@ def box_iou( IoU (float): IoU score between the two boxes. Ranges from 0.0 (no overlap) to 1.0 (perfect overlap). + Examples: + ```python + import numpy as np + from supervision.detection.utils import box_iou + + box_true = np.array([100, 100, 200, 200]) + box_detection = np.array([150, 150, 250, 250]) + + box_iou(box_true=box_true, box_detection=box_detection) + # 0.14285714285714285 + ``` """ box_true = np.array(box_true) box_detection = np.array(box_detection) @@ -118,6 +129,27 @@ def box_iou_batch(boxes_true: np.ndarray, boxes_detection: np.ndarray) -> np.nda np.ndarray: Pairwise IoU of boxes from `boxes_true` and `boxes_detection`. `shape = (N, M)` where `N` is number of true objects and `M` is number of detected objects. + + Examples: + ```python + import numpy as np + from supervision.detection.utils import box_iou_batch + + boxes_true = np.array([ + [100, 100, 200, 200], + [300, 300, 400, 400] + ]) + boxes_detection = np.array([ + [150, 150, 250, 250], + [320, 320, 420, 420] + ]) + + box_iou_batch(boxes_true=boxes_true, boxes_detection=boxes_detection) + # array([ + # [0.14285714, 0. ], + # [0. , 0.47058824] + # ]) + ``` """ def box_area(box): From 8e437f89fa96aab58ef1459046660cefd46abefc Mon Sep 17 00:00:00 2001 From: "pre-commit-ci[bot]" <66853113+pre-commit-ci[bot]@users.noreply.github.com> Date: Mon, 14 Jul 2025 10:49:31 +0000 Subject: [PATCH 327/420] =?UTF-8?q?fix(pre=5Fcommit):=20=F0=9F=8E=A8=20aut?= =?UTF-8?q?o=20format=20pre-commit=20hooks?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- supervision/detection/utils.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/supervision/detection/utils.py b/supervision/detection/utils.py index 8edfc22435..d864db5c56 100644 --- a/supervision/detection/utils.py +++ b/supervision/detection/utils.py @@ -129,7 +129,7 @@ def box_iou_batch(boxes_true: np.ndarray, boxes_detection: np.ndarray) -> np.nda np.ndarray: Pairwise IoU of boxes from `boxes_true` and `boxes_detection`. `shape = (N, M)` where `N` is number of true objects and `M` is number of detected objects. - + Examples: ```python import numpy as np From 5d866fd8a190368a765783581b344df536ec49aa Mon Sep 17 00:00:00 2001 From: Onuralp SEZER Date: Mon, 14 Jul 2025 14:14:03 +0300 Subject: [PATCH 328/420] =?UTF-8?q?refactor:=20=20=E2=9C=A8=20=20improve?= =?UTF-8?q?=20validate=5Fresolution=20function=20to=20have=20type,value=20?= =?UTF-8?q?check=20similar=20to=20other=20validate=20functions?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- supervision/validators/__init__.py | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) diff --git a/supervision/validators/__init__.py b/supervision/validators/__init__.py index 7b1f00ebae..4d21493baf 100644 --- a/supervision/validators/__init__.py +++ b/supervision/validators/__init__.py @@ -1,4 +1,4 @@ -from typing import Any, Dict +from typing import Any, Dict, Tuple import numpy as np @@ -140,11 +140,18 @@ def validate_keypoints_fields( validate_data(data, n) -def validate_resolution(resolution): +def validate_resolution(resolution: Any) -> Tuple[int, int]: + if not (isinstance(resolution, tuple) and len(resolution) == 2): + raise ValueError( + f"resolution must be a tuple of two integers, got {type(resolution)} with value {resolution}" + ) w, h = resolution + if not (isinstance(w, int) and isinstance(h, int)): + raise ValueError( + f"Both elements in resolution must be integers. Got types ({type(w)}, {type(h)})" + ) if w <= 0 or h <= 0: raise ValueError( f"Both dimensions in resolution must be positive. Got ({w}, {h})." ) - return w, h From 4ed667da88fed7dfaef43ae3239f43af0985e6ba Mon Sep 17 00:00:00 2001 From: Onuralp SEZER Date: Mon, 14 Jul 2025 14:24:37 +0300 Subject: [PATCH 329/420] =?UTF-8?q?fix:=20=F0=9F=90=9E=20rename=20from=5Fg?= =?UTF-8?q?oogle=5Fgemini=20to=20from=5Fgoogle=5Fgemini=5F2=5F0=20keep=20n?= =?UTF-8?q?ames=20consistent?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- supervision/detection/core.py | 4 ++-- supervision/detection/vlm.py | 2 +- supervision/validators/__init__.py | 10 ++++++++-- test/detection/test_vlm.py | 4 ++-- 4 files changed, 13 insertions(+), 7 deletions(-) diff --git a/supervision/detection/core.py b/supervision/detection/core.py index 07cb2618b1..b0a4fe635a 100644 --- a/supervision/detection/core.py +++ b/supervision/detection/core.py @@ -37,7 +37,7 @@ LMM, VLM, from_florence_2, - from_google_gemini, + from_google_gemini_2_0, from_google_gemini_2_5, from_moondream, from_paligemma, @@ -1137,7 +1137,7 @@ def from_vlm( return cls(xyxy=xyxy, mask=mask, data=data) if vlm == VLM.GOOGLE_GEMINI_2_0 or vlm == VLM.GOOGLE_GEMINI_2_5: - xyxy, class_id, class_name = from_google_gemini(result, **kwargs) + xyxy, class_id, class_name = from_google_gemini_2_0(result, **kwargs) data = {CLASS_NAME_DATA_FIELD: class_name} return cls(xyxy=xyxy, class_id=class_id, data=data) diff --git a/supervision/detection/vlm.py b/supervision/detection/vlm.py index 4be54be505..a9f6e78117 100644 --- a/supervision/detection/vlm.py +++ b/supervision/detection/vlm.py @@ -330,7 +330,7 @@ def from_florence_2( assert False, f"Unimplemented task: {task}" -def from_google_gemini( +def from_google_gemini_2_0( result: str, resolution_wh: Tuple[int, int], classes: Optional[List[str]] = None, diff --git a/supervision/validators/__init__.py b/supervision/validators/__init__.py index 4d21493baf..f40b6f8313 100644 --- a/supervision/validators/__init__.py +++ b/supervision/validators/__init__.py @@ -143,12 +143,18 @@ def validate_keypoints_fields( def validate_resolution(resolution: Any) -> Tuple[int, int]: if not (isinstance(resolution, tuple) and len(resolution) == 2): raise ValueError( - f"resolution must be a tuple of two integers, got {type(resolution)} with value {resolution}" + f""" + resolution must be a tuple of two integers, got + {type(resolution)} with value {resolution} + """ ) w, h = resolution if not (isinstance(w, int) and isinstance(h, int)): raise ValueError( - f"Both elements in resolution must be integers. Got types ({type(w)}, {type(h)})" + f""" + Both elements in resolution must be integers. + Got types ({type(w)}, {type(h)}) + """ ) if w <= 0 or h <= 0: raise ValueError( diff --git a/test/detection/test_vlm.py b/test/detection/test_vlm.py index 7b9acb0c70..c2762f5de8 100644 --- a/test/detection/test_vlm.py +++ b/test/detection/test_vlm.py @@ -7,7 +7,7 @@ from supervision.detection.vlm import ( from_florence_2, - from_google_gemini, + from_google_gemini_2_0, from_moondream, from_paligemma, from_qwen_2_5_vl, @@ -492,7 +492,7 @@ def test_from_google_gemini( expected_results: Tuple[np.ndarray, Optional[np.ndarray], np.ndarray], ) -> None: with exception: - xyxy, class_id, class_name = from_google_gemini( + xyxy, class_id, class_name = from_google_gemini_2_0( result=result, resolution_wh=resolution_wh, classes=classes ) if expected_results is not None: From 18cd73f55a9196cbd0362b4625e826ec5d088ff5 Mon Sep 17 00:00:00 2001 From: soumik12345 <19soumik.rakshit96@gmail.com> Date: Mon, 14 Jul 2025 17:03:23 +0530 Subject: [PATCH 330/420] chore: import box_iou to supervision/__init__.py --- supervision/__init__.py | 2 ++ supervision/detection/utils.py | 10 +++++----- 2 files changed, 7 insertions(+), 5 deletions(-) diff --git a/supervision/__init__.py b/supervision/__init__.py index 3a11f76acb..964ac1a80a 100644 --- a/supervision/__init__.py +++ b/supervision/__init__.py @@ -58,6 +58,7 @@ from supervision.detection.tools.polygon_zone import PolygonZone, PolygonZoneAnnotator from supervision.detection.tools.smoother import DetectionsSmoother from supervision.detection.utils import ( + box_iou, box_iou_batch, box_iou_batch_with_jaccard, calculate_masks_centroids, @@ -181,6 +182,7 @@ "VertexLabelAnnotator", "VideoInfo", "VideoSink", + "box_iou", "box_iou_batch", "box_iou_batch_with_jaccard", "box_non_max_merge", diff --git a/supervision/detection/utils.py b/supervision/detection/utils.py index d864db5c56..9f3e56bd87 100644 --- a/supervision/detection/utils.py +++ b/supervision/detection/utils.py @@ -76,13 +76,13 @@ def box_iou( Examples: ```python import numpy as np - from supervision.detection.utils import box_iou + import supervision as sv box_true = np.array([100, 100, 200, 200]) box_detection = np.array([150, 150, 250, 250]) - box_iou(box_true=box_true, box_detection=box_detection) - # 0.14285714285714285 + sv.box_iou(box_true=box_true, box_detection=box_detection) + # 0.14285814285714285 ``` """ box_true = np.array(box_true) @@ -133,7 +133,7 @@ def box_iou_batch(boxes_true: np.ndarray, boxes_detection: np.ndarray) -> np.nda Examples: ```python import numpy as np - from supervision.detection.utils import box_iou_batch + import supervision as sv boxes_true = np.array([ [100, 100, 200, 200], @@ -144,7 +144,7 @@ def box_iou_batch(boxes_true: np.ndarray, boxes_detection: np.ndarray) -> np.nda [320, 320, 420, 420] ]) - box_iou_batch(boxes_true=boxes_true, boxes_detection=boxes_detection) + sv.box_iou_batch(boxes_true=boxes_true, boxes_detection=boxes_detection) # array([ # [0.14285714, 0. ], # [0. , 0.47058824] From 3b112ffb46b82b7750f999d74333fd69ba98ec58 Mon Sep 17 00:00:00 2001 From: Onuralp SEZER Date: Mon, 14 Jul 2025 15:11:12 +0300 Subject: [PATCH 331/420] =?UTF-8?q?refactor:=20=E2=9C=A8=20update=20from?= =?UTF-8?q?=5Fgoogle=5Fgemini=5F2=5F5=20function=20to=20include=20optional?= =?UTF-8?q?=20classes=20parameter=20and=20adjust=20return=20values?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- supervision/detection/core.py | 2 +- supervision/detection/vlm.py | 51 ++++++++++++++++++++--------------- 2 files changed, 30 insertions(+), 23 deletions(-) diff --git a/supervision/detection/core.py b/supervision/detection/core.py index b0a4fe635a..2478721b30 100644 --- a/supervision/detection/core.py +++ b/supervision/detection/core.py @@ -1146,7 +1146,7 @@ def from_vlm( return cls(xyxy=xyxy) if vlm == VLM.GOOGLE_GEMINI_2_5: - xyxy, class_id, class_name, mask, confidence = from_google_gemini_2_5( + xyxy, class_id, class_name, confidence, mask = from_google_gemini_2_5( result, **kwargs ) data = {CLASS_NAME_DATA_FIELD: class_name} diff --git a/supervision/detection/vlm.py b/supervision/detection/vlm.py index a9f6e78117..bc9e6f6b54 100644 --- a/supervision/detection/vlm.py +++ b/supervision/detection/vlm.py @@ -421,6 +421,7 @@ def from_google_gemini_2_0( def from_google_gemini_2_5( result: str, resolution_wh: Tuple[int, int], + classes: Optional[List[str]] = None ) -> Tuple[ np.ndarray, np.ndarray, np.ndarray, Optional[np.ndarray], Optional[np.ndarray] ]: @@ -445,15 +446,15 @@ def from_google_gemini_2_5( Returns: xyxy (np.ndarray): An array of shape `(n, 4)` containing the bounding boxes coordinates in format `[x1, y1, x2, y2]` - class_name: (np.ndarray): An array of shape `(n,)` containing - the class labels for each bounding box - class_id [np.ndarray]: An array of shape `(n,)` containing + class_id (np.ndarray): An array of shape `(n,)` containing the class indices for each bounding box - masks: Optional[np.ndarray]: An array of shape `(n, h, w)` containing - the segmentation masks for each bounding box + class_name (np.ndarray): An array of shape `(n,)` containing + the class labels for each bounding box confidence: Optional[np.ndarray]: An array of shape `(n,)` containing the confidence scores for each bounding box. If not provided, it defaults to 0.0 for each box. + masks (Optional[np.ndarray]): An array of shape `(n, h, w)` containing + the segmentation masks for each bounding box """ w, h = validate_resolution(resolution_wh) @@ -472,13 +473,14 @@ def from_google_gemini_2_5( np.empty((0,), dtype=str), np.empty((0,), dtype=int), None, + ) - class_name: list = [] - class_id: list = [] xyxy: list = [] - masks: list = [] + class_id: list = [] + class_name: list = [] confidence: list = [] + masks: list = [] for item in data: if "box_2d" not in item or "label" not in item: @@ -522,32 +524,34 @@ def from_google_gemini_2_5( masks.append(np.zeros((h, w), dtype=bool)) if "confidence" in item: - # if confidence is provided confidence.append(item["confidence"]) else: - # if confidence is not provided, we assume 0 confidence.append(0.0) if not xyxy: return ( np.empty((0, 4)), - np.empty((0,), dtype=str), - np.empty((0,), dtype=int), + np.array([], dtype=int), + np.array([], dtype=str), + np.array([], dtype=np.float32), None, ) - mask = np.array(masks) if masks is not None else None - unique_labels = list(set(class_name)) - for label in class_name: - class_id.append(unique_labels.index(label)) + if classes is not None: + mask = np.array([name in classes for name in class_name], dtype=bool) + xyxy = xyxy[mask] + class_name = class_name[mask] + class_id = np.array([classes.index(name) for name in class_name], dtype=int) + masks = [masks[i] for i in range(len(masks)) if mask[i]] + return ( - np.array(xyxy), - np.array(class_id), - np.array(class_name), - mask, - np.array(confidence), + np.array(xyxy, dtype=float), + np.array(class_id, dtype=int), + np.array(class_name, dtype=str), + np.array(confidence, dtype=float), + np.array(masks) if masks is not None else None, ) @@ -574,10 +578,13 @@ def from_moondream( ] } - Args: result: Dictionary containing the JSON output from the model. resolution_wh: (output_width, output_height) to which we rescale the boxes. + + Returns: + xyxy (np.ndarray): An array of shape `(n, 4)` containing + the bounding boxes coordinates in format `[x1, y1, x2, y2]` """ w, h = resolution_wh From 377f7db0ad3b20eb04e625e6868216ef5fbf5137 Mon Sep 17 00:00:00 2001 From: Onuralp SEZER Date: Mon, 14 Jul 2025 15:22:10 +0300 Subject: [PATCH 332/420] =?UTF-8?q?feat:=20=E2=9C=A8=20add=20confidence=20?= =?UTF-8?q?field=20to=20the=20result=20of=20from=5Fgoogle=5Fgemini=5F2=5F5?= =?UTF-8?q?=20function?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- supervision/detection/vlm.py | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/supervision/detection/vlm.py b/supervision/detection/vlm.py index bc9e6f6b54..acee682622 100644 --- a/supervision/detection/vlm.py +++ b/supervision/detection/vlm.py @@ -435,7 +435,9 @@ def from_google_gemini_2_5( { "box_2d": [x1, y1, x2, y2], "mask": "data:image/png;base64,...", - "label": "some class name"}, + "label": "some class name", + "confidence": 0.95, + }, ... ] ``` From 74d5f0f9a6fccca44b0f0ab8f1d622bbb261318d Mon Sep 17 00:00:00 2001 From: "pre-commit-ci[bot]" <66853113+pre-commit-ci[bot]@users.noreply.github.com> Date: Mon, 14 Jul 2025 13:07:17 +0000 Subject: [PATCH 333/420] =?UTF-8?q?fix(pre=5Fcommit):=20=F0=9F=8E=A8=20aut?= =?UTF-8?q?o=20format=20pre-commit=20hooks?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- supervision/detection/utils.py | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/supervision/detection/utils.py b/supervision/detection/utils.py index 87b58ad223..c700aeb05e 100644 --- a/supervision/detection/utils.py +++ b/supervision/detection/utils.py @@ -108,7 +108,9 @@ def box_iou( return inter_area / union_area + 1e-6 -def box_iou_batch(boxes_true: np.ndarray, boxes_detection: np.ndarray, match_metric: str = "IOU") -> np.ndarray: +def box_iou_batch( + boxes_true: np.ndarray, boxes_detection: np.ndarray, match_metric: str = "IOU" +) -> np.ndarray: """ Compute Intersection over Union (IoU) of two sets of bounding boxes - `boxes_true` and `boxes_detection`. Both sets From 1a83005a44729335d24e4544264eed1d1d64e5ad Mon Sep 17 00:00:00 2001 From: SkalskiP Date: Mon, 14 Jul 2025 15:12:27 +0200 Subject: [PATCH 334/420] add docs table style --- docs/stylesheets/extra.css | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) diff --git a/docs/stylesheets/extra.css b/docs/stylesheets/extra.css index 9e92501624..a341cda61f 100644 --- a/docs/stylesheets/extra.css +++ b/docs/stylesheets/extra.css @@ -248,3 +248,23 @@ body[data-md-url$="/cookbooks/"] .md-content { .md-search { flex-grow: 0; } + +/* Table style */ + +th, td { + border: 1px solid var(--md-typeset-table-color); +} + +.md-typeset__table { + line-height: 1.5; +} + +.md-typeset__table table:not([class]) { + font-size: 0.6rem; + border-collapse: collapse; +} + +.md-typeset__table table:not([class]) td, +.md-typeset__table table:not([class]) th { + padding: 10px; +} \ No newline at end of file From 6c4a2a8d44efb624d5e2467ac729b9d9c8e70109 Mon Sep 17 00:00:00 2001 From: Onuralp SEZER Date: Mon, 14 Jul 2025 16:50:41 +0300 Subject: [PATCH 335/420] =?UTF-8?q?test:=20=F0=9F=A7=AA=20add=20gemini=5F2?= =?UTF-8?q?=5F5=20test=20and=20fix=20failed=20cases=20in=20gemini=5F2=5F5?= =?UTF-8?q?=20function=20for=20better=20to=20handle=20different=20cases?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Onuralp SEZER --- supervision/detection/vlm.py | 128 +++++++++++++--------- test/detection/test_vlm.py | 202 +++++++++++++++++++++++++++++++++++ 2 files changed, 278 insertions(+), 52 deletions(-) diff --git a/supervision/detection/vlm.py b/supervision/detection/vlm.py index acee682622..1294b1d48d 100644 --- a/supervision/detection/vlm.py +++ b/supervision/detection/vlm.py @@ -421,9 +421,13 @@ def from_google_gemini_2_0( def from_google_gemini_2_5( result: str, resolution_wh: Tuple[int, int], - classes: Optional[List[str]] = None + classes: Optional[List[str]] = None, ) -> Tuple[ - np.ndarray, np.ndarray, np.ndarray, Optional[np.ndarray], Optional[np.ndarray] + np.ndarray, + Optional[np.ndarray], + np.ndarray, + Optional[np.ndarray], + Optional[np.ndarray], ]: """ Parse and scale bounding boxes and masks from Google Gemini 2.5 style @@ -444,6 +448,9 @@ def from_google_gemini_2_5( Args: result: String containing the JSON snippet enclosed by triple backticks. + resolution_wh: (output_width, output_height) to which we rescale the boxes. + classes: Optional list of valid class names. If provided, returned boxes/labels + are filtered to only those classes found here. Returns: xyxy (np.ndarray): An array of shape `(n, 4)` containing @@ -472,22 +479,21 @@ def from_google_gemini_2_5( except json.JSONDecodeError: return ( np.empty((0, 4)), - np.empty((0,), dtype=str), - np.empty((0,), dtype=int), + np.array([], dtype=int), + np.array([], dtype=str), + np.array([], dtype=float), None, - ) - xyxy: list = [] - class_id: list = [] - class_name: list = [] - confidence: list = [] - masks: list = [] + xyxy_list: list = [] + labels_list: list = [] + confidence_list: Optional[list] = [] + masks_list: Optional[list] = [] for item in data: if "box_2d" not in item or "label" not in item: continue - class_name.append(item["label"]) + labels_list.append(item["label"]) box = item["box_2d"] # Gemini bbox order is [y_min, x_min, y_max, x_max] absolute_bbox = denormalize_boxes( @@ -495,65 +501,83 @@ def from_google_gemini_2_5( resolution_wh=(w, h), normalization_factor=1000, ) - xyxy.append(absolute_bbox) + xyxy_list.append(absolute_bbox) if "mask" in item: - png_str = item["mask"] - if not png_str.startswith("data:image/png;base64,"): - masks.append(np.zeros((h, w), dtype=bool)) - continue - - png_str = png_str.removeprefix("data:image/png;base64,") - png_str = base64.b64decode(png_str) - mask_img = Image.open(io.BytesIO(png_str)) - - y_min, y_max = int(absolute_bbox[1]), int(absolute_bbox[3]) - x_min, x_max = int(absolute_bbox[0]), int(absolute_bbox[2]) - - bbox_height = y_max - y_min - bbox_width = x_max - x_min - - if bbox_height > 0 and bbox_width > 0: - mask_img = mask_img.resize( - (bbox_width, bbox_height), resample=Image.Resampling.BILINEAR - ) - np_mask = np.zeros((h, w), dtype=bool) - np_mask[y_min:y_max, x_min:x_max] = np.array(mask_img) > 0 - masks.append(np_mask) - else: - masks.append(np.zeros((h, w), dtype=bool)) + if masks_list is not None: + png_str = item["mask"] + if not png_str.startswith("data:image/png;base64,"): + masks_list.append(np.zeros((h, w), dtype=bool)) + continue + + png_str = png_str.removeprefix("data:image/png;base64,") + png_str = base64.b64decode(png_str) + mask_img = Image.open(io.BytesIO(png_str)) + + y_min, y_max = int(absolute_bbox[1]), int(absolute_bbox[3]) + x_min, x_max = int(absolute_bbox[0]), int(absolute_bbox[2]) + + bbox_height = y_max - y_min + bbox_width = x_max - x_min + + if bbox_height > 0 and bbox_width > 0: + mask_img = mask_img.resize( + (bbox_width, bbox_height), resample=Image.Resampling.BILINEAR + ) + np_mask = np.zeros((h, w), dtype=bool) + np_mask[y_min:y_max, x_min:x_max] = np.array(mask_img) > 0 + masks_list.append(np_mask) + else: + masks_list.append(np.zeros((h, w), dtype=bool)) else: - masks.append(np.zeros((h, w), dtype=bool)) + masks_list = None if "confidence" in item: - confidence.append(item["confidence"]) + if confidence_list is not None: + confidence_list.append(item["confidence"]) else: - confidence.append(0.0) + confidence_list = None - if not xyxy: + if not xyxy_list: return ( np.empty((0, 4)), - np.array([], dtype=int), + np.array([], dtype=int), np.array([], dtype=str), - np.array([], dtype=np.float32), + np.array([], dtype=float), None, ) + xyxy = np.array(xyxy_list, dtype=float) + class_name = np.array(labels_list) + class_id: np.ndarray if classes is not None: mask = np.array([name in classes for name in class_name], dtype=bool) xyxy = xyxy[mask] class_name = class_name[mask] - class_id = np.array([classes.index(name) for name in class_name], dtype=int) - masks = [masks[i] for i in range(len(masks)) if mask[i]] - + class_id = np.array([classes.index(name) for name in class_name]) + if masks_list is not None: + masks_list = [masks_list[i] for i, m in enumerate(mask) if m] + + if confidence_list is not None: + confidence_list = [c for c, m in zip(confidence_list, mask) if m] + else: + # When classes is None, generate class_id based on unique labels + unique_labels = sorted(list(set(class_name))) + label_to_id = {label: i for i, label in enumerate(unique_labels)} + class_id = np.array([label_to_id[name] for name in class_name]) + + confidence = ( + np.array(confidence_list, dtype=float) if confidence_list is not None else None + ) + masks = np.array(masks_list) if masks_list is not None else None return ( - np.array(xyxy, dtype=float), - np.array(class_id, dtype=int), - np.array(class_name, dtype=str), - np.array(confidence, dtype=float), - np.array(masks) if masks is not None else None, + xyxy, + class_id, + class_name, + confidence, + masks, ) @@ -583,7 +607,7 @@ def from_moondream( Args: result: Dictionary containing the JSON output from the model. resolution_wh: (output_width, output_height) to which we rescale the boxes. - + Returns: xyxy (np.ndarray): An array of shape `(n, 4)` containing the bounding boxes coordinates in format `[x1, y1, x2, y2]` @@ -596,7 +620,7 @@ def from_moondream( ) if "objects" not in result or not isinstance(result["objects"], list): - return np.empty((0, 4)) + return np.empty((0, 4), dtype=float) denormalize_xyxy = [] diff --git a/test/detection/test_vlm.py b/test/detection/test_vlm.py index c2762f5de8..2135600be2 100644 --- a/test/detection/test_vlm.py +++ b/test/detection/test_vlm.py @@ -8,6 +8,7 @@ from supervision.detection.vlm import ( from_florence_2, from_google_gemini_2_0, + from_google_gemini_2_5, from_moondream, from_paligemma, from_qwen_2_5_vl, @@ -883,3 +884,204 @@ def test_florence_2( assert result[3] is None else: np.testing.assert_array_equal(result[3], expected_results[3]) + + +@pytest.mark.parametrize( + "exception, result, resolution_wh, classes, expected_results", + [ + ( + does_not_raise(), + "random text", + (1000, 1000), + None, + ( + np.empty((0, 4)), + np.empty(0, dtype=int), + np.empty(0, dtype=str), + np.empty(0, dtype=float), + None, + ), + ), + ( + does_not_raise(), + "```json\ninvalid json\n```", + (1000, 1000), + None, + ( + np.empty((0, 4)), + np.empty(0, dtype=int), + np.empty(0, dtype=str), + np.empty(0, dtype=float), + None, + ), + ), + ( + does_not_raise(), + "```json\n[]\n```", + (1000, 1000), + None, + ( + np.empty((0, 4)), + np.empty(0, dtype=int), + np.empty(0, dtype=str), + np.empty(0, dtype=float), + None, + ), + ), + ( + does_not_raise(), + """```json + [ + {"box_2d": [100, 200, 300, 400], "label": "cat", "confidence": 0.8} + ] + ```""", + (1000, 500), + None, + ( + np.array([[200.0, 50.0, 400.0, 150.0]]), + np.array([0]), + np.array(["cat"], dtype=str), + np.array([0.8]), + None, + ), + ), + ( + does_not_raise(), + """```json + [ + {"box_2d": [10, 20, 110, 120], "label": "cat", "confidence": 0.8}, + {"box_2d": [50, 100, 150, 200], "label": "dog", "confidence": 0.9} + ] + ```""", + (640, 480), + None, + ( + np.array([[12.8, 4.8, 76.8, 52.8], [64.0, 24.0, 128.0, 72.0]]), + np.array([0, 1]), + np.array(["cat", "dog"], dtype=str), + np.array([0.8, 0.9]), + None, + ), + ), + ( + does_not_raise(), + """```json + [ + {"box_2d": [10, 20, 110, 120], "label": "cat", "confidence": 0.8} + ] + ```""", + (640, 480), + ["dog", "person"], + ( + np.empty((0, 4)), + np.empty(0, dtype=int), + np.empty(0, dtype=str), + np.empty(0, dtype=float), + None, + ), + ), + ( + does_not_raise(), + """```json + [ + {"box_2d": [10, 20, 110, 120], "label": "cat", "confidence": 0.8}, + {"box_2d": [50, 100, 150, 200], "label": "dog", "confidence": 0.9} + ] + ```""", + (640, 480), + ["person", "dog"], + ( + np.array([[64.0, 24.0, 128.0, 72.0]]), + np.array([1]), + np.array(["dog"], dtype=str), + np.array([0.9]), + None, + ), + ), + ( + does_not_raise(), + """```json + [ + {"box_2d": [10, 20, 110, 120], "label": "cat", "confidence": 0.8}, + {"box_2d": [50, 100, 150, 200], "label": "dog", "confidence": 0.9} + ] + ```""", + (640, 480), + ["cat", "dog"], + ( + np.array([[12.8, 4.8, 76.8, 52.8], [64.0, 24.0, 128.0, 72.0]]), + np.array([0, 1]), + np.array(["cat", "dog"]), + np.array([0.8, 0.9]), + None, + ), + ), + ( + pytest.raises(ValueError), + """```json + [ + {"box_2d": [10, 20, 110, 120], "label": "cat"} + ] + ```""", + (0, 480), + None, + None, + ), + ( + pytest.raises(ValueError), + """```json + [ + {"box_2d": [10, 20, 110, 120], "label": "cat"} + ] + ```""", + (640, -100), + None, + None, + ), + ], +) +def test_from_google_gemini_2_5( + exception, + result: str, + resolution_wh: Tuple[int, int], + classes: Optional[List[str]], + expected_results: Optional[ + Tuple[np.ndarray, np.ndarray, np.ndarray, np.ndarray, np.ndarray] + ], +): + with exception: + ( + xyxy, + class_id, + class_name, + confidence, + masks, + ) = from_google_gemini_2_5( + result=result, resolution_wh=resolution_wh, classes=classes + ) + + if expected_results is None: + return + + assert xyxy.shape == expected_results[0].shape + assert np.allclose(xyxy, expected_results[0]) + + assert class_id.shape == expected_results[1].shape + assert np.array_equal(class_id, expected_results[1]) + + assert class_name.shape == expected_results[2].shape + assert np.array_equal(class_name, expected_results[2]) + + if confidence is None: + assert expected_results[3] is None + else: + assert expected_results[3] is not None + assert confidence.shape == expected_results[3].shape + assert np.allclose(confidence, expected_results[3]) + + if masks is None: + assert expected_results[4] is None + else: + assert masks is not None + assert masks.shape == expected_results[4].shape + assert np.array_equal(masks, expected_results[4]) From 076f9e293f0b337f9c029d80dcc9589e9594f1f5 Mon Sep 17 00:00:00 2001 From: Onuralp SEZER Date: Mon, 14 Jul 2025 17:18:03 +0300 Subject: [PATCH 336/420] =?UTF-8?q?fix:=20=F0=9F=90=9E=20fix=20mask=20filt?= =?UTF-8?q?ering=20in=20from=5Fgoogle=5Fgemini=5F2=5F5=20to=20detect=20pro?= =?UTF-8?q?perly?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- supervision/detection/vlm.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/supervision/detection/vlm.py b/supervision/detection/vlm.py index 1294b1d48d..2d3806ec1e 100644 --- a/supervision/detection/vlm.py +++ b/supervision/detection/vlm.py @@ -557,10 +557,10 @@ def from_google_gemini_2_5( class_name = class_name[mask] class_id = np.array([classes.index(name) for name in class_name]) if masks_list is not None: - masks_list = [masks_list[i] for i, m in enumerate(mask) if m] + masks_list = [m for m, keep in zip(masks_list, mask) if keep] if confidence_list is not None: - confidence_list = [c for c, m in zip(confidence_list, mask) if m] + confidence_list = [c for c, keep in zip(confidence_list, mask) if keep] else: # When classes is None, generate class_id based on unique labels unique_labels = sorted(list(set(class_name))) From b87a504d22ab4caed31007b03dca2eae762dfa6e Mon Sep 17 00:00:00 2001 From: Onuralp SEZER Date: Mon, 14 Jul 2025 17:26:59 +0300 Subject: [PATCH 337/420] =?UTF-8?q?fix:=20=F0=9F=90=9E=20remove=20GOOGLE?= =?UTF-8?q?=5FGEMINI=5F2=5F5=20from=20gemini=5F2=5F0=20check=20and=20only?= =?UTF-8?q?=20use=20new=20gemini=5F2=5F5=20func?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- supervision/detection/core.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/supervision/detection/core.py b/supervision/detection/core.py index 2478721b30..246ff2882f 100644 --- a/supervision/detection/core.py +++ b/supervision/detection/core.py @@ -1136,7 +1136,7 @@ def from_vlm( return cls(xyxy=xyxy, mask=mask, data=data) - if vlm == VLM.GOOGLE_GEMINI_2_0 or vlm == VLM.GOOGLE_GEMINI_2_5: + if vlm == VLM.GOOGLE_GEMINI_2_0: xyxy, class_id, class_name = from_google_gemini_2_0(result, **kwargs) data = {CLASS_NAME_DATA_FIELD: class_name} return cls(xyxy=xyxy, class_id=class_id, data=data) From 129eb89c20fe19c58ab5ee5fc306950ce1c893d2 Mon Sep 17 00:00:00 2001 From: Onuralp SEZER Date: Mon, 14 Jul 2025 17:29:25 +0300 Subject: [PATCH 338/420] =?UTF-8?q?fix:=20=F0=9F=90=9E=20add=20missing=20n?= =?UTF-8?q?ewline=20at=20end=20of=20extra.css=20file?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- docs/stylesheets/extra.css | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/stylesheets/extra.css b/docs/stylesheets/extra.css index a341cda61f..2910d5ff00 100644 --- a/docs/stylesheets/extra.css +++ b/docs/stylesheets/extra.css @@ -267,4 +267,4 @@ th, td { .md-typeset__table table:not([class]) td, .md-typeset__table table:not([class]) th { padding: 10px; -} \ No newline at end of file +} From 9517987b7b427049747a1b3cd41d9f2549d70314 Mon Sep 17 00:00:00 2001 From: soumik12345 <19soumik.rakshit96@gmail.com> Date: Mon, 14 Jul 2025 20:19:32 +0530 Subject: [PATCH 339/420] chore: make pre-commit happy --- supervision/detection/overlap_filter.py | 3 ++- supervision/detection/utils.py | 6 ++++-- 2 files changed, 6 insertions(+), 3 deletions(-) diff --git a/supervision/detection/overlap_filter.py b/supervision/detection/overlap_filter.py index b763cf2c48..26edeaefc9 100644 --- a/supervision/detection/overlap_filter.py +++ b/supervision/detection/overlap_filter.py @@ -319,7 +319,8 @@ def group_overlapping_masks( predictions (npt.NDArray[np.float64]): An array of shape `(n, 5)` containing the bounding boxes coordinates in format `[x1, y1, x2, y2]` and the confidence scores. - masks (npt.NDArray[np.float64]): A 3D array of binary masks corresponding to the predictions. + masks (npt.NDArray[np.float64]): A 3D array of binary masks corresponding to + the predictions. iou_threshold (float): The intersection-over-union threshold to use for non-maximum suppression. Defaults to 0.5. match_metric (str): Metric used for matching detections in slices. diff --git a/supervision/detection/utils.py b/supervision/detection/utils.py index c700aeb05e..b44cd2b6b1 100644 --- a/supervision/detection/utils.py +++ b/supervision/detection/utils.py @@ -185,7 +185,8 @@ def box_area(box): ) else: raise ValueError( - f"match_metric {match_metric} is not supported, only 'IOU' and 'IOS' are supported" + f"match_metric {match_metric} is not supported, " + "only 'IOU' and 'IOS' are supported" ) ious = np.nan_to_num(ious) @@ -237,7 +238,8 @@ def _mask_iou_batch_split( ) else: raise ValueError( - f"match_metric {match_metric} is not supported, only 'IOU' and 'IOS' are supported" + f"match_metric {match_metric} is not supported, " + "only 'IOU' and 'IOS' are supported" ) ious = np.nan_to_num(ious) From 2c63511af6243c5c7c77cd26eaf6cd4136bc7854 Mon Sep 17 00:00:00 2001 From: Onuralp SEZER Date: Mon, 14 Jul 2025 17:53:39 +0300 Subject: [PATCH 340/420] =?UTF-8?q?docs:=20=E2=9C=8F=EF=B8=8F=20add=20usag?= =?UTF-8?q?e=20tips=20and=20examples=20for=20Google=20Gemini=202.5=20in=20?= =?UTF-8?q?core.py?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- supervision/detection/core.py | 176 ++++++++++++++++++++++++++++++++++ supervision/detection/vlm.py | 1 - 2 files changed, 176 insertions(+), 1 deletion(-) diff --git a/supervision/detection/core.py b/supervision/detection/core.py index 246ff2882f..677a0a120a 100644 --- a/supervision/detection/core.py +++ b/supervision/detection/core.py @@ -901,8 +901,94 @@ def from_lmm( detections.xyxy # array([[543., 40., 728., 200.], [653., 352., 820., 522.]]) + detections.data + # {'class_name': array(['cat', 'dog'], dtype=' Date: Mon, 14 Jul 2025 14:57:21 +0000 Subject: [PATCH 341/420] =?UTF-8?q?fix(pre=5Fcommit):=20=F0=9F=8E=A8=20aut?= =?UTF-8?q?o=20format=20pre-commit=20hooks?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- supervision/detection/core.py | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/supervision/detection/core.py b/supervision/detection/core.py index 677a0a120a..4ecb98ba05 100644 --- a/supervision/detection/core.py +++ b/supervision/detection/core.py @@ -923,7 +923,7 @@ def from_lmm( For each detected object, provide: - "label": exact class name from the list above - - "confidence": how certain you are (0.0 to 1.0) + - "confidence": how certain you are (0.0 to 1.0) - "box_2d": bounding box [ymin, xmin, ymax, xmax] normalized 0-1000 - "mask": binary mask of the object in the image, as a base64 encoded string @@ -938,7 +938,7 @@ def from_lmm( "mask": "..." }, { - "label": "kite", + "label": "kite", "confidence": 0.80, "box_2d": [50, 150, 250, 350], "mask": "..." @@ -996,7 +996,7 @@ def from_lmm( detections.class_id # array([0, 1]) ``` - + Examples: ```python @@ -1179,7 +1179,7 @@ def from_vlm( For each detected object, provide: - "label": exact class name from the list above - - "confidence": how certain you are (0.0 to 1.0) + - "confidence": how certain you are (0.0 to 1.0) - "box_2d": bounding box [ymin, xmin, ymax, xmax] normalized 0-1000 - "mask": binary mask of the object in the image, as a base64 encoded string @@ -1194,7 +1194,7 @@ def from_vlm( "mask": "..." }, { - "label": "kite", + "label": "kite", "confidence": 0.80, "box_2d": [50, 150, 250, 350], "mask": "..." From 8c4a1e5a5e7f585148f8c5b76334daf2ae954362 Mon Sep 17 00:00:00 2001 From: Onuralp SEZER Date: Mon, 14 Jul 2025 17:58:40 +0300 Subject: [PATCH 342/420] =?UTF-8?q?fix:=20=F0=9F=90=9E=20correct=20formatt?= =?UTF-8?q?ing=20and=20remove=20trailing=20whitespace=20in=20core.py?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- supervision/detection/core.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/supervision/detection/core.py b/supervision/detection/core.py index 4ecb98ba05..0ab7f03b77 100644 --- a/supervision/detection/core.py +++ b/supervision/detection/core.py @@ -1029,7 +1029,7 @@ def from_lmm( # array([[1752.28, 818.82, 2165.72, 1229.14], # [1908.01, 1346.67, 2585.99, 2024.11]]) ``` - """ + """ # noqa: E501 # filler logic mapping old from_lmm to new from_vlm lmm_to_vlm = { @@ -1286,7 +1286,7 @@ def from_vlm( ``` - """ + """ # noqa: E501 vlm = validate_vlm_parameters(vlm, result, kwargs) if vlm == VLM.PALIGEMMA: From c2abb24c2641b0c4a2a7afe0ac2b83c0df9d806d Mon Sep 17 00:00:00 2001 From: Onuralp SEZER Date: Mon, 14 Jul 2025 18:36:07 +0300 Subject: [PATCH 343/420] =?UTF-8?q?test:=20=F0=9F=A7=AA=20add=20test=20cas?= =?UTF-8?q?e=20for=20gemini=202.5=20segmentation?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- test/detection/test_vlm.py | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/test/detection/test_vlm.py b/test/detection/test_vlm.py index 2135600be2..d18e03b49e 100644 --- a/test/detection/test_vlm.py +++ b/test/detection/test_vlm.py @@ -1038,6 +1038,23 @@ def test_florence_2( None, None, ), + ( + does_not_raise(), + """```json + [ + {"box_2d": [10, 20, 110, 120], "mask": "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAAKCAAAAACoWZBhAAAADElEQVR4nGNgoCcAAABuAAFIXXpjAAAAAElFTkSuQmCC", "label": "cat"} + ] + ```""", # noqa E501 // docs + (10, 10), + ["cat"], + ( + np.array([[0.2, 0.1, 1.2, 1.1]]), + np.array([0]), + np.array(["cat"]), + None, + np.array([np.zeros((10, 10), dtype=bool)]), + ), + ), ], ) def test_from_google_gemini_2_5( From d29fb8ad056cda3773a476fbf851522b9cff00c2 Mon Sep 17 00:00:00 2001 From: Onuralp SEZER Date: Mon, 14 Jul 2025 18:48:17 +0300 Subject: [PATCH 344/420] =?UTF-8?q?test:=20=F0=9F=A7=AA=20add=20test=20cas?= =?UTF-8?q?e=20for=20Google=20Gemini=202.5=20with=20sample=20JSON=20output?= =?UTF-8?q?=20for=202=20masks?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- test/detection/test_vlm.py | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) diff --git a/test/detection/test_vlm.py b/test/detection/test_vlm.py index d18e03b49e..6464c234fc 100644 --- a/test/detection/test_vlm.py +++ b/test/detection/test_vlm.py @@ -1055,6 +1055,26 @@ def test_florence_2( np.array([np.zeros((10, 10), dtype=bool)]), ), ), + ( + does_not_raise(), + """```json + [ + {"box_2d": [100, 100, 200, 200], "mask": "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAAKCAAAAACoWZBhAAAADElEQVR4nGNgoCcAAABuAAFIXXpjAAAAAElFTkSuQmCC", "label": "cat", "confidence": 0.8}, + {"box_2d": [300, 300, 400, 400], "mask": "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAAKCAAAAACoWZBhAAAADElEQVR4nGNgoCcAAABuAAFIXXpjAAAAAElFTkSuQmCC", "label": "dog", "confidence": 0.9} + ] + ```""", # noqa E501 // docs + (10, 10), + ["cat", "dog"], + ( + np.array([[1.0, 1.0, 2.0, 2.0], [3.0, 3.0, 4.0, 4.0]]), + np.array([0, 1]), + np.array(["cat", "dog"]), + np.array([0.8, 0.9]), + np.array( + [np.zeros((10, 10), dtype=bool), np.zeros((10, 10), dtype=bool)], + ), + ), + ), ], ) def test_from_google_gemini_2_5( From 328c34ab8bc0a10b6cd07ae7540e7d534aee47f9 Mon Sep 17 00:00:00 2001 From: Onuralp SEZER Date: Mon, 14 Jul 2025 19:59:44 +0300 Subject: [PATCH 345/420] =?UTF-8?q?feat:=20=E2=9C=A8=20add=20MOONDREAM=20e?= =?UTF-8?q?num=20and=20allowed=20arguments=20in=20VLM?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- supervision/detection/vlm.py | 2 ++ 1 file changed, 2 insertions(+) diff --git a/supervision/detection/vlm.py b/supervision/detection/vlm.py index 09fa580db8..664bb6f705 100644 --- a/supervision/detection/vlm.py +++ b/supervision/detection/vlm.py @@ -27,6 +27,7 @@ class LMM(Enum): QWEN_2_5_VL = "qwen_2_5_vl" GOOGLE_GEMINI_2_0 = "gemini_2_0" GOOGLE_GEMINI_2_5 = "gemini_2_5" + MOONDREAM = "moondream" class VLM(Enum): @@ -62,6 +63,7 @@ class VLM(Enum): VLM.QWEN_2_5_VL: ["input_wh", "resolution_wh", "classes"], VLM.GOOGLE_GEMINI_2_0: ["resolution_wh", "classes"], VLM.GOOGLE_GEMINI_2_5: ["resolution_wh", "classes"], + VLM.MOONDREAM: ["resolution_wh"], } SUPPORTED_TASKS_FLORENCE_2 = [ From 00fab37e58052f121b0c993b3b4053feed937b5b Mon Sep 17 00:00:00 2001 From: Onuralp SEZER Date: Mon, 14 Jul 2025 20:12:11 +0300 Subject: [PATCH 346/420] =?UTF-8?q?feat:=20=F0=9F=9A=80=20dropping=20pytho?= =?UTF-8?q?n=203.8=20support=20and=20upgrade=20all=20codes=20to=20python3.?= =?UTF-8?q?9=20syntax=20style=20as=20min?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Onuralp SEZER --- .github/workflows/uv-test.yml | 2 +- .pre-commit-config.yaml | 6 ++ docs/stylesheets/extra.css | 2 +- .../count_people_in_zone/inference_example.py | 15 ++- .../ultralytics_example.py | 15 ++- .../time_in_zone/inference_file_example.py | 3 +- .../inference_naive_stream_example.py | 3 +- .../time_in_zone/inference_stream_example.py | 5 +- examples/time_in_zone/scripts/draw_zones.py | 4 +- .../time_in_zone/ultralytics_file_example.py | 3 +- .../ultralytics_naive_stream_example.py | 3 +- .../ultralytics_stream_example.py | 5 +- examples/time_in_zone/utils/general.py | 8 +- examples/time_in_zone/utils/timers.py | 5 +- .../traffic_analysis/inference_example.py | 15 +-- .../traffic_analysis/ultralytics_example.py | 15 +-- pyproject.toml | 9 +- supervision/annotators/core.py | 46 +++++----- supervision/annotators/utils.py | 8 +- supervision/assets/list.py | 3 +- supervision/classification/core.py | 6 +- supervision/dataset/core.py | 62 ++++++------- supervision/dataset/formats/coco.py | 26 +++--- supervision/dataset/formats/pascal_voc.py | 14 +-- supervision/dataset/formats/yolo.py | 26 +++--- supervision/dataset/utils.py | 20 ++-- supervision/detection/core.py | 53 +++++------ supervision/detection/line_zone.py | 27 +++--- supervision/detection/overlap_filter.py | 9 +- supervision/detection/tools/csv_sink.py | 22 ++--- .../detection/tools/inference_slicer.py | 22 ++--- supervision/detection/tools/json_sink.py | 18 ++-- supervision/detection/tools/polygon_zone.py | 3 +- supervision/detection/tools/transformers.py | 20 ++-- supervision/detection/utils.py | 50 +++++----- supervision/detection/vlm.py | 36 ++++---- supervision/draw/color.py | 15 ++- supervision/draw/utils.py | 6 +- supervision/geometry/core.py | 9 +- supervision/keypoint/annotators.py | 22 ++--- supervision/keypoint/core.py | 33 +++---- supervision/keypoint/skeletons.py | 9 +- supervision/metrics/core.py | 2 +- supervision/metrics/detection.py | 34 +++---- supervision/metrics/f1_score.py | 28 +++--- supervision/metrics/mean_average_precision.py | 56 +++++------ supervision/metrics/mean_average_recall.py | 30 +++--- supervision/metrics/precision.py | 28 +++--- supervision/metrics/recall.py | 28 +++--- supervision/tracker/byte_tracker/core.py | 20 ++-- .../tracker/byte_tracker/kalman_filter.py | 12 +-- supervision/tracker/byte_tracker/matching.py | 10 +- .../byte_tracker/single_object_track.py | 3 +- supervision/utils/conversion.py | 3 +- supervision/utils/file.py | 22 ++--- supervision/utils/image.py | 92 +++++++++---------- supervision/utils/internal.py | 28 +++--- supervision/utils/iterables.py | 9 +- supervision/utils/notebook.py | 12 +-- supervision/utils/video.py | 15 +-- supervision/validators/__init__.py | 6 +- test/classification/test_core.py | 4 +- test/dataset/formats/test_coco.py | 24 ++--- test/dataset/formats/test_pascal_voc.py | 4 +- test/dataset/formats/test_yolo.py | 12 +-- test/dataset/test_core.py | 4 +- test/dataset/test_utils.py | 20 ++-- test/detection/test_core.py | 6 +- test/detection/test_csv.py | 16 ++-- test/detection/test_json.py | 10 +- test/detection/test_line_counter.py | 46 +++++----- test/detection/test_overlap_filter.py | 4 +- test/detection/test_utils.py | 20 ++-- test/detection/test_vlm.py | 26 +++--- test/detection/tools/test_inference_slicer.py | 16 ++-- test/test_utils.py | 22 ++--- test/tracker/test_byte_tracker.py | 4 +- test/utils/conftest.py | 9 +- test/utils/test_file.py | 4 +- test/utils/test_image.py | 20 ++-- test/utils/test_internal.py | 4 +- 81 files changed, 690 insertions(+), 706 deletions(-) diff --git a/.github/workflows/uv-test.yml b/.github/workflows/uv-test.yml index 59904ae9c1..1aa2882ec8 100644 --- a/.github/workflows/uv-test.yml +++ b/.github/workflows/uv-test.yml @@ -12,7 +12,7 @@ jobs: fail-fast: false matrix: os: [ubuntu-latest, windows-latest, macos-latest] - python-version: ["3.8", "3.9", "3.10", "3.11", "3.12", "3.13"] + python-version: ["3.9", "3.10", "3.11", "3.12", "3.13"] runs-on: ${{ matrix.os }} steps: - name: 📥 Checkout the repository diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index 7efab7c74f..69a30f2e5a 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -53,3 +53,9 @@ repos: - id: codespell additional_dependencies: - tomli + + + - repo: https://github.com/venomlab/pyproject-pyupgrade + rev: v0.1.1 + hooks: + - id: ppyupgrade diff --git a/docs/stylesheets/extra.css b/docs/stylesheets/extra.css index a341cda61f..2910d5ff00 100644 --- a/docs/stylesheets/extra.css +++ b/docs/stylesheets/extra.css @@ -267,4 +267,4 @@ th, td { .md-typeset__table table:not([class]) td, .md-typeset__table table:not([class]) th { padding: 10px; -} \ No newline at end of file +} diff --git a/examples/count_people_in_zone/inference_example.py b/examples/count_people_in_zone/inference_example.py index 38018c160f..2225594f0d 100644 --- a/examples/count_people_in_zone/inference_example.py +++ b/examples/count_people_in_zone/inference_example.py @@ -1,7 +1,6 @@ import argparse import json import os -from typing import List, Tuple import cv2 import numpy as np @@ -14,7 +13,7 @@ COLORS = sv.ColorPalette.DEFAULT -def load_zones_config(file_path: str) -> List[np.ndarray]: +def load_zones_config(file_path: str) -> list[np.ndarray]: """ Load polygon zone configurations from a JSON file. @@ -28,14 +27,14 @@ def load_zones_config(file_path: str) -> List[np.ndarray]: Returns: List[np.ndarray]: A list of polygons, each represented as a NumPy array. """ - with open(file_path, "r") as file: + with open(file_path) as file: data = json.load(file) return [np.array(polygon, np.int32) for polygon in data["polygons"]] def initiate_annotators( - polygons: List[np.ndarray], resolution_wh: Tuple[int, int] -) -> Tuple[List[sv.PolygonZone], List[sv.PolygonZoneAnnotator], List[sv.BoxAnnotator]]: + polygons: list[np.ndarray], resolution_wh: tuple[int, int] +) -> tuple[list[sv.PolygonZone], list[sv.PolygonZoneAnnotator], list[sv.BoxAnnotator]]: line_thickness = sv.calculate_optimal_line_thickness(resolution_wh=resolution_wh) text_scale = sv.calculate_optimal_text_scale(resolution_wh=resolution_wh) @@ -93,9 +92,9 @@ def detect( def annotate( frame: np.ndarray, - zones: List[sv.PolygonZone], - zone_annotators: List[sv.PolygonZoneAnnotator], - box_annotators: List[sv.BoxAnnotator], + zones: list[sv.PolygonZone], + zone_annotators: list[sv.PolygonZoneAnnotator], + box_annotators: list[sv.BoxAnnotator], detections: sv.Detections, ) -> np.ndarray: """ diff --git a/examples/count_people_in_zone/ultralytics_example.py b/examples/count_people_in_zone/ultralytics_example.py index 041695973a..f18acfb2b7 100644 --- a/examples/count_people_in_zone/ultralytics_example.py +++ b/examples/count_people_in_zone/ultralytics_example.py @@ -1,6 +1,5 @@ import argparse import json -from typing import List, Tuple import cv2 import numpy as np @@ -12,7 +11,7 @@ COLORS = sv.ColorPalette.DEFAULT -def load_zones_config(file_path: str) -> List[np.ndarray]: +def load_zones_config(file_path: str) -> list[np.ndarray]: """ Load polygon zone configurations from a JSON file. @@ -26,14 +25,14 @@ def load_zones_config(file_path: str) -> List[np.ndarray]: Returns: List[np.ndarray]: A list of polygons, each represented as a NumPy array. """ - with open(file_path, "r") as file: + with open(file_path) as file: data = json.load(file) return [np.array(polygon, np.int32) for polygon in data["polygons"]] def initiate_annotators( - polygons: List[np.ndarray], resolution_wh: Tuple[int, int] -) -> Tuple[List[sv.PolygonZone], List[sv.PolygonZoneAnnotator], List[sv.BoxAnnotator]]: + polygons: list[np.ndarray], resolution_wh: tuple[int, int] +) -> tuple[list[sv.PolygonZone], list[sv.PolygonZoneAnnotator], list[sv.BoxAnnotator]]: line_thickness = sv.calculate_optimal_line_thickness(resolution_wh=resolution_wh) text_scale = sv.calculate_optimal_text_scale(resolution_wh=resolution_wh) @@ -90,9 +89,9 @@ def detect( def annotate( frame: np.ndarray, - zones: List[sv.PolygonZone], - zone_annotators: List[sv.PolygonZoneAnnotator], - box_annotators: List[sv.BoxAnnotator], + zones: list[sv.PolygonZone], + zone_annotators: list[sv.PolygonZoneAnnotator], + box_annotators: list[sv.BoxAnnotator], detections: sv.Detections, ) -> np.ndarray: """ diff --git a/examples/time_in_zone/inference_file_example.py b/examples/time_in_zone/inference_file_example.py index f49554644d..6dcaf353b5 100644 --- a/examples/time_in_zone/inference_file_example.py +++ b/examples/time_in_zone/inference_file_example.py @@ -1,5 +1,4 @@ import argparse -from typing import List import cv2 import numpy as np @@ -22,7 +21,7 @@ def main( model_id: str, confidence: float, iou: float, - classes: List[int], + classes: list[int], ) -> None: model = get_model(model_id=model_id) tracker = sv.ByteTrack(minimum_matching_threshold=0.5) diff --git a/examples/time_in_zone/inference_naive_stream_example.py b/examples/time_in_zone/inference_naive_stream_example.py index 21880269f1..98f60d9d04 100644 --- a/examples/time_in_zone/inference_naive_stream_example.py +++ b/examples/time_in_zone/inference_naive_stream_example.py @@ -1,5 +1,4 @@ import argparse -from typing import List import cv2 import numpy as np @@ -22,7 +21,7 @@ def main( model_id: str, confidence: float, iou: float, - classes: List[int], + classes: list[int], ) -> None: model = get_model(model_id=model_id) tracker = sv.ByteTrack(minimum_matching_threshold=0.5) diff --git a/examples/time_in_zone/inference_stream_example.py b/examples/time_in_zone/inference_stream_example.py index 0dfdf660b2..91056d1376 100644 --- a/examples/time_in_zone/inference_stream_example.py +++ b/examples/time_in_zone/inference_stream_example.py @@ -1,5 +1,4 @@ import argparse -from typing import List import cv2 import numpy as np @@ -18,7 +17,7 @@ class CustomSink: - def __init__(self, zone_configuration_path: str, classes: List[int]): + def __init__(self, zone_configuration_path: str, classes: list[int]): self.classes = classes self.tracker = sv.ByteTrack(minimum_matching_threshold=0.5) self.fps_monitor = sv.FPSMonitor() @@ -83,7 +82,7 @@ def main( model_id: str, confidence: float, iou: float, - classes: List[int], + classes: list[int], ) -> None: sink = CustomSink(zone_configuration_path=zone_configuration_path, classes=classes) diff --git a/examples/time_in_zone/scripts/draw_zones.py b/examples/time_in_zone/scripts/draw_zones.py index 3afae9e706..0e09a865a9 100644 --- a/examples/time_in_zone/scripts/draw_zones.py +++ b/examples/time_in_zone/scripts/draw_zones.py @@ -1,7 +1,7 @@ import argparse import json import os -from typing import Any, Optional, Tuple +from typing import Any, Optional import cv2 import numpy as np @@ -19,7 +19,7 @@ WINDOW_NAME = "Draw Zones" POLYGONS = [[]] -current_mouse_position: Optional[Tuple[int, int]] = None +current_mouse_position: Optional[tuple[int, int]] = None def resolve_source(source_path: str) -> Optional[np.ndarray]: diff --git a/examples/time_in_zone/ultralytics_file_example.py b/examples/time_in_zone/ultralytics_file_example.py index b470b7a315..1b83108df5 100644 --- a/examples/time_in_zone/ultralytics_file_example.py +++ b/examples/time_in_zone/ultralytics_file_example.py @@ -1,5 +1,4 @@ import argparse -from typing import List import cv2 import numpy as np @@ -23,7 +22,7 @@ def main( device: str, confidence: float, iou: float, - classes: List[int], + classes: list[int], ) -> None: model = YOLO(weights) tracker = sv.ByteTrack(minimum_matching_threshold=0.5) diff --git a/examples/time_in_zone/ultralytics_naive_stream_example.py b/examples/time_in_zone/ultralytics_naive_stream_example.py index d692214367..58abc210aa 100644 --- a/examples/time_in_zone/ultralytics_naive_stream_example.py +++ b/examples/time_in_zone/ultralytics_naive_stream_example.py @@ -1,5 +1,4 @@ import argparse -from typing import List import cv2 import numpy as np @@ -23,7 +22,7 @@ def main( device: str, confidence: float, iou: float, - classes: List[int], + classes: list[int], ) -> None: model = YOLO(weights) tracker = sv.ByteTrack(minimum_matching_threshold=0.5) diff --git a/examples/time_in_zone/ultralytics_stream_example.py b/examples/time_in_zone/ultralytics_stream_example.py index 8b8ecd6075..ca5000a4dd 100644 --- a/examples/time_in_zone/ultralytics_stream_example.py +++ b/examples/time_in_zone/ultralytics_stream_example.py @@ -1,5 +1,4 @@ import argparse -from typing import List import cv2 import numpy as np @@ -19,7 +18,7 @@ class CustomSink: - def __init__(self, zone_configuration_path: str, classes: List[int]): + def __init__(self, zone_configuration_path: str, classes: list[int]): self.classes = classes self.tracker = sv.ByteTrack(minimum_matching_threshold=0.8) self.fps_monitor = sv.FPSMonitor() @@ -84,7 +83,7 @@ def main( device: str, confidence: float, iou: float, - classes: List[int], + classes: list[int], ) -> None: model = YOLO(weights) diff --git a/examples/time_in_zone/utils/general.py b/examples/time_in_zone/utils/general.py index 803d116aae..a40b36cc1b 100644 --- a/examples/time_in_zone/utils/general.py +++ b/examples/time_in_zone/utils/general.py @@ -1,11 +1,11 @@ import json -from typing import Generator, List +from collections.abc import Generator import cv2 import numpy as np -def load_zones_config(file_path: str) -> List[np.ndarray]: +def load_zones_config(file_path: str) -> list[np.ndarray]: """ Load polygon zone configurations from a JSON file. @@ -19,12 +19,12 @@ def load_zones_config(file_path: str) -> List[np.ndarray]: Returns: List[np.ndarray]: A list of polygons, each represented as a NumPy array. """ - with open(file_path, "r") as file: + with open(file_path) as file: data = json.load(file) return [np.array(polygon, np.int32) for polygon in data] -def find_in_list(array: np.ndarray, search_list: List[int]) -> np.ndarray: +def find_in_list(array: np.ndarray, search_list: list[int]) -> np.ndarray: """Determines if elements of a numpy array are present in a list. Args: diff --git a/examples/time_in_zone/utils/timers.py b/examples/time_in_zone/utils/timers.py index 7afa9af39d..f5bef51c31 100644 --- a/examples/time_in_zone/utils/timers.py +++ b/examples/time_in_zone/utils/timers.py @@ -1,5 +1,4 @@ from datetime import datetime -from typing import Dict import numpy as np @@ -26,7 +25,7 @@ def __init__(self, fps: int = 30) -> None: """ self.fps = fps self.frame_id = 0 - self.tracker_id2frame_id: Dict[int, int] = {} + self.tracker_id2frame_id: dict[int, int] = {} def tick(self, detections: sv.Detections) -> np.ndarray: """Processes the current frame, updating time durations for each tracker. @@ -63,7 +62,7 @@ class ClockBasedTimer: def __init__(self) -> None: """Initializes the ClockBasedTimer.""" - self.tracker_id2start_time: Dict[int, datetime] = {} + self.tracker_id2start_time: dict[int, datetime] = {} def tick(self, detections: sv.Detections) -> np.ndarray: """Processes the current frame, updating time durations for each tracker. diff --git a/examples/traffic_analysis/inference_example.py b/examples/traffic_analysis/inference_example.py index d98abcc515..6cd4e4bd2b 100644 --- a/examples/traffic_analysis/inference_example.py +++ b/examples/traffic_analysis/inference_example.py @@ -1,6 +1,7 @@ import argparse import os -from typing import Dict, Iterable, List, Optional, Set +from collections.abc import Iterable +from typing import Optional import cv2 import numpy as np @@ -29,14 +30,14 @@ class DetectionsManager: def __init__(self) -> None: - self.tracker_id_to_zone_id: Dict[int, int] = {} - self.counts: Dict[int, Dict[int, Set[int]]] = {} + self.tracker_id_to_zone_id: dict[int, int] = {} + self.counts: dict[int, dict[int, set[int]]] = {} def update( self, detections_all: sv.Detections, - detections_in_zones: List[sv.Detections], - detections_out_zones: List[sv.Detections], + detections_in_zones: list[sv.Detections], + detections_out_zones: list[sv.Detections], ) -> sv.Detections: for zone_in_id, detections_in_zone in enumerate(detections_in_zones): for tracker_id in detections_in_zone.tracker_id: @@ -59,9 +60,9 @@ def update( def initiate_polygon_zones( - polygons: List[np.ndarray], + polygons: list[np.ndarray], triggering_anchors: Iterable[sv.Position] = [sv.Position.CENTER], -) -> List[sv.PolygonZone]: +) -> list[sv.PolygonZone]: return [ sv.PolygonZone( polygon=polygon, diff --git a/examples/traffic_analysis/ultralytics_example.py b/examples/traffic_analysis/ultralytics_example.py index 269967f50c..4beb18260e 100644 --- a/examples/traffic_analysis/ultralytics_example.py +++ b/examples/traffic_analysis/ultralytics_example.py @@ -1,5 +1,6 @@ import argparse -from typing import Dict, Iterable, List, Optional, Set +from collections.abc import Iterable +from typing import Optional import cv2 import numpy as np @@ -27,14 +28,14 @@ class DetectionsManager: def __init__(self) -> None: - self.tracker_id_to_zone_id: Dict[int, int] = {} - self.counts: Dict[int, Dict[int, Set[int]]] = {} + self.tracker_id_to_zone_id: dict[int, int] = {} + self.counts: dict[int, dict[int, set[int]]] = {} def update( self, detections_all: sv.Detections, - detections_in_zones: List[sv.Detections], - detections_out_zones: List[sv.Detections], + detections_in_zones: list[sv.Detections], + detections_out_zones: list[sv.Detections], ) -> sv.Detections: for zone_in_id, detections_in_zone in enumerate(detections_in_zones): for tracker_id in detections_in_zone.tracker_id: @@ -57,9 +58,9 @@ def update( def initiate_polygon_zones( - polygons: List[np.ndarray], + polygons: list[np.ndarray], triggering_anchors: Iterable[sv.Position] = [sv.Position.CENTER], -) -> List[sv.PolygonZone]: +) -> list[sv.PolygonZone]: return [ sv.PolygonZone( polygon=polygon, diff --git a/pyproject.toml b/pyproject.toml index 30e0afb72d..aa5a387e1f 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -4,7 +4,7 @@ description = "A set of easy-to-use utils that will come in handy in any Compute license = { text = "MIT" } version = "0.26.0rc7" readme = "README.md" -requires-python = ">=3.8" +requires-python = ">=3.9" authors = [ { name = "Piotr Skalski", email = "piotr.skalski92@gmail.com" } ] @@ -75,7 +75,7 @@ docs = [ "mkdocstrings-python>=1.10.9", "mike>=2.0.0", "mkdocs-jupyter>=0.24.3", - "mkdocs-git-committers-plugin-2>=2.4.1; python_version >= '3.8' and python_version < '4'", + "mkdocs-git-committers-plugin-2>=2.4.1; python_version >= '3.9' and python_version < '4'", "mkdocs-git-revision-date-localized-plugin>=1.2.4" ] build = [ @@ -93,7 +93,7 @@ check = true imports = ["cv2", "supervision"] [tool.ruff] -target-version = "py38" +target-version = "py39" # Exclude a variety of commonly ignored directories. exclude = [ @@ -220,6 +220,9 @@ count = true quiet-level = 3 ignore-words-list = "STrack,sTrack,strack" +[tool.pyupgrade] +py39-plus = true + [tool.setuptools] include-package-data = false diff --git a/supervision/annotators/core.py b/supervision/annotators/core.py index b539573753..44c643c845 100644 --- a/supervision/annotators/core.py +++ b/supervision/annotators/core.py @@ -1,6 +1,6 @@ from functools import lru_cache from math import sqrt -from typing import List, Optional, Tuple, Union +from typing import Optional, Union import cv2 import numpy as np @@ -1010,7 +1010,7 @@ def annotate( self, scene: ImageType, detections: Detections, - labels: Optional[List[str]] = None, + labels: Optional[list[str]] = None, custom_color_lookup: Optional[np.ndarray] = None, ) -> ImageType: """ @@ -1075,7 +1075,7 @@ def annotate( return scene - def _validate_labels(self, labels: Optional[List[str]], detections: Detections): + def _validate_labels(self, labels: Optional[list[str]], detections: Detections): if labels is not None and len(labels) != len(detections): raise ValueError( f"The number of labels ({len(labels)}) does not match the " @@ -1086,7 +1086,7 @@ def _validate_labels(self, labels: Optional[List[str]], detections: Detections): def _get_label_properties( self, detections: Detections, - labels: List[str], + labels: list[str], ) -> np.ndarray: """ Calculate the numerical properties required to draw the labels on the image. @@ -1128,8 +1128,8 @@ def _get_label_properties( @staticmethod def _get_labels_text( - detections: Detections, custom_labels: Optional[List[str]] - ) -> List[str]: + detections: Detections, custom_labels: Optional[list[str]] + ) -> list[str]: if custom_labels is not None: return [str(label) for label in custom_labels] @@ -1146,7 +1146,7 @@ def _get_labels_text( def _draw_labels( self, scene: np.ndarray, - labels: List[str], + labels: list[str], label_properties: np.ndarray, detections: Detections, custom_color_lookup: Optional[np.ndarray], @@ -1202,8 +1202,8 @@ def _draw_labels( @staticmethod def draw_rounded_rectangle( scene: np.ndarray, - xyxy: Tuple[int, int, int, int], - color: Tuple[int, int, int], + xyxy: tuple[int, int, int, int], + color: tuple[int, int, int], border_radius: int, ) -> np.ndarray: x1, y1, x2, y2 = xyxy @@ -1291,7 +1291,7 @@ def annotate( self, scene: ImageType, detections: Detections, - labels: Optional[List[str]] = None, + labels: Optional[list[str]] = None, custom_color_lookup: Optional[np.ndarray] = None, ) -> ImageType: """ @@ -1355,7 +1355,7 @@ def annotate( return scene - def _validate_labels(self, labels: Optional[List[str]], detections: Detections): + def _validate_labels(self, labels: Optional[list[str]], detections: Detections): if labels is not None and len(labels) != len(detections): raise ValueError( f"The number of labels ({len(labels)}) does not match the " @@ -1364,7 +1364,7 @@ def _validate_labels(self, labels: Optional[List[str]], detections: Detections): ) def _get_label_properties( - self, draw, detections: Detections, labels: List[str] + self, draw, detections: Detections, labels: list[str] ) -> np.ndarray: """ Calculate the numerical properties required to draw the labels on the image. @@ -1402,8 +1402,8 @@ def _get_label_properties( @staticmethod def _get_labels_text( - detections: Detections, custom_labels: Optional[List[str]] - ) -> List[str]: + detections: Detections, custom_labels: Optional[list[str]] + ) -> list[str]: if custom_labels is not None: return custom_labels @@ -1420,7 +1420,7 @@ def _get_labels_text( def _draw_labels( self, draw, - labels: List[str], + labels: list[str], label_properties: np.ndarray, detections: Detections, custom_color_lookup: Optional[np.ndarray], @@ -1494,9 +1494,9 @@ class IconAnnotator(BaseAnnotator): def __init__( self, - icon_resolution_wh: Tuple[int, int] = (64, 64), + icon_resolution_wh: tuple[int, int] = (64, 64), icon_position: Position = Position.TOP_CENTER, - offset_xy: Tuple[int, int] = (0, 0), + offset_xy: tuple[int, int] = (0, 0), ): """ Args: @@ -1512,7 +1512,7 @@ def __init__( @ensure_cv2_image_for_annotation def annotate( - self, scene: ImageType, detections: Detections, icon_path: Union[str, List[str]] + self, scene: ImageType, detections: Detections, icon_path: Union[str, list[str]] ) -> ImageType: """ Annotates the given scene with given icons. @@ -2322,8 +2322,8 @@ def annotate( @staticmethod def calculate_border_coordinates( - anchor_xy: Tuple[int, int], border_wh: Tuple[int, int], position: Position - ) -> Tuple[Tuple[int, int], Tuple[int, int]]: + anchor_xy: tuple[int, int], border_wh: tuple[int, int], position: Position + ) -> tuple[tuple[int, int], tuple[int, int]]: cx, cy = anchor_xy width, height = border_wh @@ -2351,7 +2351,7 @@ def calculate_border_coordinates( @staticmethod def validate_custom_values( - custom_values: Optional[Union[np.ndarray, List[float]]], detections: Detections + custom_values: Optional[Union[np.ndarray, list[float]]], detections: Detections ) -> None: if custom_values is None: if detections.confidence is None: @@ -2485,8 +2485,8 @@ def annotate( @staticmethod def calculate_crop_coordinates( - anchor: Tuple[int, int], crop_wh: Tuple[int, int], position: Position - ) -> Tuple[Tuple[int, int], Tuple[int, int]]: + anchor: tuple[int, int], crop_wh: tuple[int, int], position: Position + ) -> tuple[tuple[int, int], tuple[int, int]]: anchor_x, anchor_y = anchor width, height = crop_wh diff --git a/supervision/annotators/utils.py b/supervision/annotators/utils.py index 74d25a65b1..7cdfc89002 100644 --- a/supervision/annotators/utils.py +++ b/supervision/annotators/utils.py @@ -1,5 +1,5 @@ from enum import Enum -from typing import Optional, Tuple, Union +from typing import Optional, Union import numpy as np @@ -70,10 +70,10 @@ def resolve_color_idx( def resolve_text_background_xyxy( - center_coordinates: Tuple[int, int], - text_wh: Tuple[int, int], + center_coordinates: tuple[int, int], + text_wh: tuple[int, int], position: Position, -) -> Tuple[int, int, int, int]: +) -> tuple[int, int, int, int]: center_x, center_y = center_coordinates text_w, text_h = text_wh diff --git a/supervision/assets/list.py b/supervision/assets/list.py index 926adeba85..01bdadc350 100644 --- a/supervision/assets/list.py +++ b/supervision/assets/list.py @@ -1,5 +1,4 @@ from enum import Enum -from typing import Dict, Tuple BASE_VIDEO_URL = "https://media.roboflow.com/supervision/video-examples/" @@ -39,7 +38,7 @@ def list(cls): return list(map(lambda c: c.value, cls)) -VIDEO_ASSETS: Dict[str, Tuple[str, str]] = { +VIDEO_ASSETS: dict[str, tuple[str, str]] = { VideoAssets.VEHICLES.value: ( f"{BASE_VIDEO_URL}{VideoAssets.VEHICLES.value}", "8155ff4e4de08cfa25f39de96483f918", diff --git a/supervision/classification/core.py b/supervision/classification/core.py index df4b1be060..184a67fe60 100644 --- a/supervision/classification/core.py +++ b/supervision/classification/core.py @@ -1,7 +1,7 @@ from __future__ import annotations from dataclasses import dataclass -from typing import Any, Optional, Tuple +from typing import Any import numpy as np @@ -28,7 +28,7 @@ def _validate_confidence(confidence: Any, n: int) -> None: @dataclass class Classifications: class_id: np.ndarray - confidence: Optional[np.ndarray] = None + confidence: np.ndarray | None = None def __post_init__(self) -> None: """ @@ -154,7 +154,7 @@ def from_timm(cls, timm_results) -> Classifications: class_id = np.arange(len(confidence)) return cls(class_id=class_id, confidence=confidence) - def get_top_k(self, k: int) -> Tuple[np.ndarray, np.ndarray]: + def get_top_k(self, k: int) -> tuple[np.ndarray, np.ndarray]: """ Retrieve the top k class IDs and confidences, ordered in descending order by confidence. diff --git a/supervision/dataset/core.py b/supervision/dataset/core.py index be72128bd5..0d5d5e9fc9 100644 --- a/supervision/dataset/core.py +++ b/supervision/dataset/core.py @@ -2,10 +2,10 @@ import os from abc import ABC, abstractmethod +from collections.abc import Iterator from dataclasses import dataclass from itertools import chain from pathlib import Path -from typing import Dict, Iterator, List, Optional, Tuple, Union import cv2 import numpy as np @@ -45,9 +45,9 @@ def __len__(self) -> int: def split( self, split_ratio: float = 0.8, - random_state: Optional[int] = None, + random_state: int | None = None, shuffle: bool = True, - ) -> Tuple[BaseDataset, BaseDataset]: + ) -> tuple[BaseDataset, BaseDataset]: pass @@ -71,9 +71,9 @@ class DetectionDataset(BaseDataset): def __init__( self, - classes: List[str], - images: Union[List[str], Dict[str, np.ndarray]], - annotations: Dict[str, Detections], + classes: list[str], + images: list[str] | dict[str, np.ndarray], + annotations: dict[str, Detections], ) -> None: self.classes = classes @@ -86,7 +86,7 @@ def __init__( # Eliminate duplicates while preserving order self.image_paths = list(dict.fromkeys(images)) - self._images_in_memory: Dict[str, np.ndarray] = {} + self._images_in_memory: dict[str, np.ndarray] = {} def _get_image(self, image_path: str) -> np.ndarray: """Assumes that image is in dataset""" @@ -97,7 +97,7 @@ def _get_image(self, image_path: str) -> np.ndarray: def __len__(self) -> int: return len(self._images_in_memory) or len(self.image_paths) - def __getitem__(self, i: int) -> Tuple[str, np.ndarray, Detections]: + def __getitem__(self, i: int) -> tuple[str, np.ndarray, Detections]: """ Returns: Tuple[str, np.ndarray, Detections]: The image path, image data, @@ -108,7 +108,7 @@ def __getitem__(self, i: int) -> Tuple[str, np.ndarray, Detections]: annotation = self.annotations[image_path] return image_path, image, annotation - def __iter__(self) -> Iterator[Tuple[str, np.ndarray, Detections]]: + def __iter__(self) -> Iterator[tuple[str, np.ndarray, Detections]]: """ Iterate over the images and annotations in the dataset. @@ -146,9 +146,9 @@ def __eq__(self, other) -> bool: def split( self, split_ratio: float = 0.8, - random_state: Optional[int] = None, + random_state: int | None = None, shuffle: bool = True, - ) -> Tuple[DetectionDataset, DetectionDataset]: + ) -> tuple[DetectionDataset, DetectionDataset]: """ Splits the dataset into two parts (training and testing) using the provided split_ratio. @@ -182,8 +182,8 @@ def split( shuffle=shuffle, ) - train_input: Union[List[str], Dict[str, np.ndarray]] - test_input: Union[List[str], Dict[str, np.ndarray]] + train_input: list[str] | dict[str, np.ndarray] + test_input: list[str] | dict[str, np.ndarray] if self._images_in_memory: train_input = {path: self._images_in_memory[path] for path in train_paths} test_input = {path: self._images_in_memory[path] for path in test_paths} @@ -206,7 +206,7 @@ def split( return train_dataset, test_dataset @classmethod - def merge(cls, dataset_list: List[DetectionDataset]) -> DetectionDataset: + def merge(cls, dataset_list: list[DetectionDataset]) -> DetectionDataset: """ Merge a list of `DetectionDataset` objects into a single `DetectionDataset` object. @@ -300,8 +300,8 @@ def is_lazy(dataset: DetectionDataset) -> bool: def as_pascal_voc( self, - images_directory_path: Optional[str] = None, - annotations_directory_path: Optional[str] = None, + images_directory_path: str | None = None, + annotations_directory_path: str | None = None, min_image_area_percentage: float = 0.0, max_image_area_percentage: float = 1.0, approximation_percentage: float = 0.0, @@ -474,9 +474,9 @@ def from_yolo( def as_yolo( self, - images_directory_path: Optional[str] = None, - annotations_directory_path: Optional[str] = None, - data_yaml_path: Optional[str] = None, + images_directory_path: str | None = None, + annotations_directory_path: str | None = None, + data_yaml_path: str | None = None, min_image_area_percentage: float = 0.0, max_image_area_percentage: float = 1.0, approximation_percentage: float = 0.0, @@ -575,8 +575,8 @@ def from_coco( def as_coco( self, - images_directory_path: Optional[str] = None, - annotations_path: Optional[str] = None, + images_directory_path: str | None = None, + annotations_path: str | None = None, min_image_area_percentage: float = 0.0, max_image_area_percentage: float = 1.0, approximation_percentage: float = 0.0, @@ -647,9 +647,9 @@ class ClassificationDataset(BaseDataset): def __init__( self, - classes: List[str], - images: Union[List[str], Dict[str, np.ndarray]], - annotations: Dict[str, Classifications], + classes: list[str], + images: list[str] | dict[str, np.ndarray], + annotations: dict[str, Classifications], ) -> None: self.classes = classes @@ -662,7 +662,7 @@ def __init__( # Eliminate duplicates while preserving order self.image_paths = list(dict.fromkeys(images)) - self._images_in_memory: Dict[str, np.ndarray] = {} + self._images_in_memory: dict[str, np.ndarray] = {} if isinstance(images, dict): self._images_in_memory = images warn_deprecated( @@ -680,7 +680,7 @@ def _get_image(self, image_path: str) -> np.ndarray: def __len__(self) -> int: return len(self._images_in_memory) or len(self.image_paths) - def __getitem__(self, i: int) -> Tuple[str, np.ndarray, Classifications]: + def __getitem__(self, i: int) -> tuple[str, np.ndarray, Classifications]: """ Returns: Tuple[str, np.ndarray, Classifications]: The image path, image data, @@ -691,7 +691,7 @@ def __getitem__(self, i: int) -> Tuple[str, np.ndarray, Classifications]: annotation = self.annotations[image_path] return image_path, image, annotation - def __iter__(self) -> Iterator[Tuple[str, np.ndarray, Classifications]]: + def __iter__(self) -> Iterator[tuple[str, np.ndarray, Classifications]]: """ Iterate over the images and annotations in the dataset. @@ -729,9 +729,9 @@ def __eq__(self, other) -> bool: def split( self, split_ratio: float = 0.8, - random_state: Optional[int] = None, + random_state: int | None = None, shuffle: bool = True, - ) -> Tuple[ClassificationDataset, ClassificationDataset]: + ) -> tuple[ClassificationDataset, ClassificationDataset]: """ Splits the dataset into two parts (training and testing) using the provided split_ratio. @@ -764,8 +764,8 @@ def split( shuffle=shuffle, ) - train_input: Union[List[str], Dict[str, np.ndarray]] - test_input: Union[List[str], Dict[str, np.ndarray]] + train_input: list[str] | dict[str, np.ndarray] + test_input: list[str] | dict[str, np.ndarray] if self._images_in_memory: train_input = {path: self._images_in_memory[path] for path in train_paths} test_input = {path: self._images_in_memory[path] for path in test_paths} diff --git a/supervision/dataset/formats/coco.py b/supervision/dataset/formats/coco.py index 879ecfb230..ab032d471f 100644 --- a/supervision/dataset/formats/coco.py +++ b/supervision/dataset/formats/coco.py @@ -1,7 +1,7 @@ import os from datetime import datetime from pathlib import Path -from typing import TYPE_CHECKING, Dict, List, Tuple +from typing import TYPE_CHECKING import numpy as np import numpy.typing as npt @@ -24,7 +24,7 @@ from supervision.dataset.core import DetectionDataset -def coco_categories_to_classes(coco_categories: List[dict]) -> List[str]: +def coco_categories_to_classes(coco_categories: list[dict]) -> list[str]: return [ category["name"] for category in sorted(coco_categories, key=lambda category: category["id"]) @@ -32,8 +32,8 @@ def coco_categories_to_classes(coco_categories: List[dict]) -> List[str]: def build_coco_class_index_mapping( - coco_categories: List[dict], target_classes: List[str] -) -> Dict[int, int]: + coco_categories: list[dict], target_classes: list[str] +) -> dict[int, int]: source_class_to_index = { category["name"]: category["id"] for category in coco_categories } @@ -43,7 +43,7 @@ def build_coco_class_index_mapping( } -def classes_to_coco_categories(classes: List[str]) -> List[dict]: +def classes_to_coco_categories(classes: list[str]) -> list[dict]: return [ { "id": class_id, @@ -55,8 +55,8 @@ def classes_to_coco_categories(classes: List[str]) -> List[dict]: def group_coco_annotations_by_image_id( - coco_annotations: List[dict], -) -> Dict[int, List[dict]]: + coco_annotations: list[dict], +) -> dict[int, list[dict]]: annotations = {} for annotation in coco_annotations: image_id = annotation["image_id"] @@ -67,7 +67,7 @@ def group_coco_annotations_by_image_id( def coco_annotations_to_masks( - image_annotations: List[dict], resolution_wh: Tuple[int, int] + image_annotations: list[dict], resolution_wh: tuple[int, int] ) -> npt.NDArray[np.bool_]: return np.array( [ @@ -90,8 +90,8 @@ def coco_annotations_to_masks( def coco_annotations_to_detections( - image_annotations: List[dict], - resolution_wh: Tuple[int, int], + image_annotations: list[dict], + resolution_wh: tuple[int, int], with_masks: bool, use_iscrowd: bool = True, ) -> Detections: @@ -134,7 +134,7 @@ def detections_to_coco_annotations( min_image_area_percentage: float = 0.0, max_image_area_percentage: float = 1.0, approximation_percentage: float = 0.75, -) -> Tuple[List[Dict], int]: +) -> tuple[list[dict], int]: coco_annotations = [] for xyxy, mask, _, class_id, _, _ in detections: box_width, box_height = xyxy[2] - xyxy[0], xyxy[3] - xyxy[1] @@ -173,7 +173,7 @@ def detections_to_coco_annotations( return coco_annotations, annotation_id -def get_coco_class_index_mapping(annotations_path: str) -> Dict[int, int]: +def get_coco_class_index_mapping(annotations_path: str) -> dict[int, int]: """ Generates a mapping from sequential class indices to original COCO class ids. @@ -217,7 +217,7 @@ def load_coco_annotations( annotations_path: str, force_masks: bool = False, use_iscrowd: bool = True, -) -> Tuple[List[str], List[str], Dict[str, Detections]]: +) -> tuple[list[str], list[str], dict[str, Detections]]: coco_data = read_json_file(file_path=annotations_path) classes = coco_categories_to_classes(coco_categories=coco_data["categories"]) diff --git a/supervision/dataset/formats/pascal_voc.py b/supervision/dataset/formats/pascal_voc.py index 49c59a39bf..8eddfb96f0 100644 --- a/supervision/dataset/formats/pascal_voc.py +++ b/supervision/dataset/formats/pascal_voc.py @@ -1,6 +1,6 @@ import os from pathlib import Path -from typing import Dict, List, Optional, Tuple +from typing import Optional from xml.etree.ElementTree import Element, SubElement import cv2 @@ -51,9 +51,9 @@ def object_to_pascal_voc( def detections_to_pascal_voc( detections: Detections, - classes: List[str], + classes: list[str], filename: str, - image_shape: Tuple[int, int, int], + image_shape: tuple[int, int, int], min_image_area_percentage: float = 0.0, max_image_area_percentage: float = 1.0, approximation_percentage: float = 0.75, @@ -138,7 +138,7 @@ def load_pascal_voc_annotations( images_directory_path: str, annotations_directory_path: str, force_masks: bool = False, -) -> Tuple[List[str], List[str], Dict[str, Detections]]: +) -> tuple[list[str], list[str], dict[str, Detections]]: """ Loads PASCAL VOC XML annotations and returns the image name, a Detections instance, and a list of class names. @@ -163,7 +163,7 @@ def load_pascal_voc_annotations( ) ] - classes: List[str] = [] + classes: list[str] = [] annotations = {} for image_path in image_paths: @@ -187,8 +187,8 @@ def load_pascal_voc_annotations( def detections_from_xml_obj( - root: Element, classes: List[str], resolution_wh, force_masks: bool = False -) -> Tuple[Detections, List[str]]: + root: Element, classes: list[str], resolution_wh, force_masks: bool = False +) -> tuple[Detections, list[str]]: """ Converts an XML object in Pascal VOC format to a Detections object. Expected XML format: diff --git a/supervision/dataset/formats/yolo.py b/supervision/dataset/formats/yolo.py index 7e5a9d4541..7903e598b1 100644 --- a/supervision/dataset/formats/yolo.py +++ b/supervision/dataset/formats/yolo.py @@ -1,6 +1,6 @@ import os from pathlib import Path -from typing import TYPE_CHECKING, Dict, List, Optional, Tuple +from typing import TYPE_CHECKING, Optional import numpy as np from PIL import Image @@ -21,7 +21,7 @@ from supervision.dataset.core import DetectionDataset -def _parse_box(values: List[str]) -> np.ndarray: +def _parse_box(values: list[str]) -> np.ndarray: x_center, y_center, width, height = values return np.array( [ @@ -40,12 +40,12 @@ def _box_to_polygon(box: np.ndarray) -> np.ndarray: ) -def _parse_polygon(values: List[str]) -> np.ndarray: +def _parse_polygon(values: list[str]) -> np.ndarray: return np.array(values, dtype=np.float32).reshape(-1, 2) def _polygons_to_masks( - polygons: List[np.ndarray], resolution_wh: Tuple[int, int] + polygons: list[np.ndarray], resolution_wh: tuple[int, int] ) -> np.ndarray: return np.array( [ @@ -56,11 +56,11 @@ def _polygons_to_masks( ) -def _with_mask(lines: List[str]) -> bool: +def _with_mask(lines: list[str]) -> bool: return any([len(line.split()) > 5 for line in lines]) -def _extract_class_names(file_path: str) -> List[str]: +def _extract_class_names(file_path: str) -> list[str]: data = read_yaml_file(file_path=file_path) names = data["names"] if isinstance(names, dict): @@ -74,8 +74,8 @@ def _image_name_to_annotation_name(image_name: str) -> str: def yolo_annotations_to_detections( - lines: List[str], - resolution_wh: Tuple[int, int], + lines: list[str], + resolution_wh: tuple[int, int], with_masks: bool, is_obb: bool = False, ) -> Detections: @@ -127,7 +127,7 @@ def load_yolo_annotations( data_yaml_path: str, force_masks: bool = False, is_obb: bool = False, -) -> Tuple[List[str], List[str], Dict[str, Detections]]: +) -> tuple[list[str], list[str], dict[str, Detections]]: """ Loads YOLO annotations and returns class names, images, and their corresponding detections. @@ -204,7 +204,7 @@ def load_yolo_annotations( def object_to_yolo( xyxy: np.ndarray, class_id: int, - image_shape: Tuple[int, int, int], + image_shape: tuple[int, int, int], polygon: Optional[np.ndarray] = None, ) -> str: h, w, _ = image_shape @@ -225,11 +225,11 @@ def object_to_yolo( def detections_to_yolo_annotations( detections: Detections, - image_shape: Tuple[int, int, int], + image_shape: tuple[int, int, int], min_image_area_percentage: float = 0.0, max_image_area_percentage: float = 1.0, approximation_percentage: float = 0.75, -) -> List[str]: +) -> list[str]: annotation = [] for xyxy, mask, _, class_id, _, _ in detections: if class_id is None: @@ -283,7 +283,7 @@ def save_yolo_annotations( save_text_file(lines=lines, file_path=yolo_annotations_path) -def save_data_yaml(data_yaml_path: str, classes: List[str]) -> None: +def save_data_yaml(data_yaml_path: str, classes: list[str]) -> None: data = {"nc": len(classes), "names": classes} Path(data_yaml_path).parent.mkdir(parents=True, exist_ok=True) save_yaml_file(data=data, file_path=data_yaml_path) diff --git a/supervision/dataset/utils.py b/supervision/dataset/utils.py index 6c30eeab0b..487ff1d9bf 100644 --- a/supervision/dataset/utils.py +++ b/supervision/dataset/utils.py @@ -3,7 +3,7 @@ import random import shutil from pathlib import Path -from typing import TYPE_CHECKING, Dict, List, Optional, Tuple, TypeVar, Union +from typing import TYPE_CHECKING, Optional, TypeVar, Union import cv2 import numpy as np @@ -27,7 +27,7 @@ def approximate_mask_with_polygons( min_image_area_percentage: float = 0.0, max_image_area_percentage: float = 1.0, approximation_percentage: float = 0.75, -) -> List[np.ndarray]: +) -> list[np.ndarray]: height, width = mask.shape image_area = height * width minimum_detection_area = min_image_area_percentage * image_area @@ -50,7 +50,7 @@ def approximate_mask_with_polygons( ] -def merge_class_lists(class_lists: List[List[str]]) -> List[str]: +def merge_class_lists(class_lists: list[list[str]]) -> list[str]: unique_classes = set() for class_list in class_lists: @@ -61,8 +61,8 @@ def merge_class_lists(class_lists: List[List[str]]) -> List[str]: def build_class_index_mapping( - source_classes: List[str], target_classes: List[str] -) -> Dict[int, int]: + source_classes: list[str], target_classes: list[str] +) -> dict[int, int]: """Returns the index map of source classes -> target classes.""" index_mapping = {} @@ -79,7 +79,7 @@ def build_class_index_mapping( def map_detections_class_id( - source_to_target_mapping: Dict[int, int], detections: Detections + source_to_target_mapping: dict[int, int], detections: Detections ) -> Detections: if detections.class_id is None: raise ValueError("Detections must have class_id attribute.") @@ -112,11 +112,11 @@ def save_dataset_images( def train_test_split( - data: List[T], + data: list[T], train_ratio: float = 0.8, random_state: Optional[int] = None, shuffle: bool = True, -) -> Tuple[List[T], List[T]]: +) -> tuple[list[T], list[T]]: """ Splits the data into two parts using the provided train_ratio. @@ -140,7 +140,7 @@ def train_test_split( def rle_to_mask( - rle: Union[npt.NDArray[np.int_], List[int]], resolution_wh: Tuple[int, int] + rle: Union[npt.NDArray[np.int_], list[int]], resolution_wh: tuple[int, int] ) -> npt.NDArray[np.bool_]: """ Converts run-length encoding (RLE) to a binary mask. @@ -195,7 +195,7 @@ def rle_to_mask( return decoded_rle.reshape((height, width), order="F") -def mask_to_rle(mask: npt.NDArray[np.bool_]) -> List[int]: +def mask_to_rle(mask: npt.NDArray[np.bool_]) -> list[int]: """ Converts a binary mask into a run-length encoding (RLE). diff --git a/supervision/detection/core.py b/supervision/detection/core.py index 7d14200055..7fb53df45d 100644 --- a/supervision/detection/core.py +++ b/supervision/detection/core.py @@ -1,8 +1,9 @@ from __future__ import annotations +from collections.abc import Iterator from dataclasses import dataclass, field from enum import Enum -from typing import Any, Dict, Iterator, List, Optional, Tuple, Union +from typing import Any import numpy as np @@ -137,12 +138,12 @@ class simplifies data manipulation and filtering, providing a uniform API for """ # noqa: E501 // docs xyxy: np.ndarray - mask: Optional[np.ndarray] = None - confidence: Optional[np.ndarray] = None - class_id: Optional[np.ndarray] = None - tracker_id: Optional[np.ndarray] = None - data: Dict[str, Union[np.ndarray, List]] = field(default_factory=dict) - metadata: Dict[str, Any] = field(default_factory=dict) + mask: np.ndarray | None = None + confidence: np.ndarray | None = None + class_id: np.ndarray | None = None + tracker_id: np.ndarray | None = None + data: dict[str, np.ndarray | list] = field(default_factory=dict) + metadata: dict[str, Any] = field(default_factory=dict) def __post_init__(self): validate_detections_fields( @@ -163,13 +164,13 @@ def __len__(self): def __iter__( self, ) -> Iterator[ - Tuple[ + tuple[ np.ndarray, - Optional[np.ndarray], - Optional[float], - Optional[int], - Optional[int], - Dict[str, Union[np.ndarray, List]], + np.ndarray | None, + float | None, + int | None, + int | None, + dict[str, np.ndarray | list], ] ]: """ @@ -458,7 +459,7 @@ def from_mmdetection(cls, mmdet_results) -> Detections: @classmethod def from_transformers( - cls, transformers_results: dict, id2label: Optional[Dict[int, str]] = None + cls, transformers_results: dict, id2label: dict[int, str] | None = None ) -> Detections: """ Creates a Detections instance from object detection or panoptic, semantic @@ -581,7 +582,7 @@ class IDs, and confidences of the predictions. ) @classmethod - def from_inference(cls, roboflow_result: Union[dict, Any]) -> Detections: + def from_inference(cls, roboflow_result: dict | Any) -> Detections: """ Create a `sv.Detections` object from the [Roboflow](https://roboflow.com/) API inference result or the [Inference](https://inference.roboflow.com/) @@ -633,7 +634,7 @@ def from_inference(cls, roboflow_result: Union[dict, Any]) -> Detections: ) @classmethod - def from_sam(cls, sam_result: List[dict]) -> Detections: + def from_sam(cls, sam_result: list[dict]) -> Detections: """ Creates a Detections instance from [Segment Anything Model](https://github.com/facebookresearch/segment-anything) @@ -676,7 +677,7 @@ def from_sam(cls, sam_result: List[dict]) -> Detections: @classmethod def from_azure_analyze_image( - cls, azure_result: dict, class_map: Optional[Dict[int, str]] = None + cls, azure_result: dict, class_map: dict[int, str] | None = None ) -> Detections: """ Creates a Detections instance from [Azure Image Analysis 4.0]( @@ -808,9 +809,7 @@ def from_paddledet(cls, paddledet_result) -> Detections: "`Detections.from_lmm` property is deprecated and will be removed in " "`supervision-0.31.0`. Use Detections.from_vlm instead." ) - def from_lmm( - cls, lmm: Union[LMM, str], result: Union[str, dict], **kwargs: Any - ) -> Detections: + def from_lmm(cls, lmm: LMM | str, result: str | dict, **kwargs: Any) -> Detections: """ Creates a Detections object from the given result string based on the specified Large Multimodal Model (LMM). @@ -974,9 +973,7 @@ def from_lmm( return cls.from_vlm(vlm=vlm, result=result, **kwargs) @classmethod - def from_vlm( - cls, vlm: Union[VLM, str], result: Union[str, dict], **kwargs: Any - ) -> Detections: + def from_vlm(cls, vlm: VLM | str, result: str | dict, **kwargs: Any) -> Detections: """ Creates a Detections object from the given result string based on the specified Vision Language Model (VLM). @@ -1282,7 +1279,7 @@ def is_empty(self) -> bool: return self == empty_detections @classmethod - def merge(cls, detections_list: List[Detections]) -> Detections: + def merge(cls, detections_list: list[Detections]) -> Detections: """ Merge a list of Detections objects into a single Detections object. @@ -1452,8 +1449,8 @@ def get_anchors_coordinates(self, anchor: Position) -> np.ndarray: raise ValueError(f"{anchor} is not supported.") def __getitem__( - self, index: Union[int, slice, List[int], np.ndarray, str] - ) -> Union[Detections, List, np.ndarray, None]: + self, index: int | slice | list[int] | np.ndarray | str + ) -> Detections | list | np.ndarray | None: """ Get a subset of the Detections object or access an item from its data field. @@ -1501,7 +1498,7 @@ def __getitem__( metadata=self.metadata, ) - def __setitem__(self, key: str, value: Union[np.ndarray, List]): + def __setitem__(self, key: str, value: np.ndarray | list): """ Set a value in the data dictionary of the Detections object. @@ -1774,7 +1771,7 @@ def merge_inner_detection_object_pair( def merge_inner_detections_objects( - detections: List[Detections], threshold=0.5 + detections: list[Detections], threshold=0.5 ) -> Detections: """ Given N detections each of length 1 (exactly one object inside), combine them into a diff --git a/supervision/detection/line_zone.py b/supervision/detection/line_zone.py index b63660bc46..ad9260bd60 100644 --- a/supervision/detection/line_zone.py +++ b/supervision/detection/line_zone.py @@ -1,8 +1,9 @@ import math import warnings from collections import Counter, defaultdict, deque +from collections.abc import Iterable from functools import lru_cache -from typing import Any, Deque, Dict, Iterable, List, Literal, Optional, Tuple +from typing import Any, Deque, Literal, Optional import cv2 import numpy as np @@ -99,7 +100,7 @@ def __init__( self.vector = Vector(start=start, end=end) self.limits = self._calculate_region_of_interest_limits(vector=self.vector) self.crossing_history_length = max(2, minimum_crossing_threshold + 1) - self.crossing_state_history: Dict[int, Deque[bool]] = defaultdict( + self.crossing_state_history: dict[int, Deque[bool]] = defaultdict( lambda: deque(maxlen=self.crossing_history_length) ) self._in_count_per_class: Counter = Counter() @@ -107,7 +108,7 @@ def __init__( self.triggering_anchors = triggering_anchors if not list(self.triggering_anchors): raise ValueError("Triggering anchors cannot be empty.") - self.class_id_to_name: Dict[int, str] = {} + self.class_id_to_name: dict[int, str] = {} @property def in_count(self) -> int: @@ -118,14 +119,14 @@ def out_count(self) -> int: return sum(self._out_count_per_class.values()) @property - def in_count_per_class(self) -> Dict[int, int]: + def in_count_per_class(self) -> dict[int, int]: return dict(self._in_count_per_class) @property - def out_count_per_class(self) -> Dict[int, int]: + def out_count_per_class(self) -> dict[int, int]: return dict(self._out_count_per_class) - def trigger(self, detections: Detections) -> Tuple[np.ndarray, np.ndarray]: + def trigger(self, detections: Detections) -> tuple[np.ndarray, np.ndarray]: """ Update the `in_count` and `out_count` based on the objects that cross the line. @@ -160,7 +161,7 @@ def trigger(self, detections: Detections) -> Tuple[np.ndarray, np.ndarray]: self._compute_anchor_sides(detections) ) - class_ids: List[Optional[int]] = ( + class_ids: list[Optional[int]] = ( list(detections.class_id) if detections.class_id is not None else [None] * len(detections) @@ -200,7 +201,7 @@ def trigger(self, detections: Detections) -> Tuple[np.ndarray, np.ndarray]: return crossed_in, crossed_out @staticmethod - def _calculate_region_of_interest_limits(vector: Vector) -> Tuple[Vector, Vector]: + def _calculate_region_of_interest_limits(vector: Vector) -> tuple[Vector, Vector]: magnitude = vector.magnitude if magnitude == 0: @@ -233,7 +234,7 @@ def _calculate_region_of_interest_limits(vector: Vector) -> Tuple[Vector, Vector def _compute_anchor_sides( self, detections: Detections - ) -> Tuple[npt.NDArray[np.bool_], npt.NDArray[np.bool_], npt.NDArray[np.bool_]]: + ) -> tuple[npt.NDArray[np.bool_], npt.NDArray[np.bool_], npt.NDArray[np.bool_]]: """ Find if detections' anchors are within the limit of the line zone and which anchors are on its left and right side. @@ -471,7 +472,7 @@ def _calculate_anchor_in_frame( text_height: int, is_in_count: bool, label_dimension: int, - ) -> Tuple[int, int]: + ) -> tuple[int, int]: """ Calculate insertion anchor in frame to position the center of the count image. @@ -663,7 +664,7 @@ def _make_label_image( annotation = np.zeros((*annotation_shape, 3), dtype=np.uint8) annotation_alpha = np.zeros((*annotation_shape, 1), dtype=np.uint8) - text_args: Dict[str, Any] = dict( + text_args: dict[str, Any] = dict( text=text, text_anchor=annotation_center, text_scale=text_scale, @@ -756,8 +757,8 @@ def __init__( def annotate( self, frame: np.ndarray, - line_zones: List[LineZone], - line_zone_labels: Optional[List[str]] = None, + line_zones: list[LineZone], + line_zone_labels: Optional[list[str]] = None, ) -> np.ndarray: """ Draws a table with the number of objects of each class that crossed each line. diff --git a/supervision/detection/overlap_filter.py b/supervision/detection/overlap_filter.py index 133e2f6d11..43dac24425 100644 --- a/supervision/detection/overlap_filter.py +++ b/supervision/detection/overlap_filter.py @@ -1,7 +1,6 @@ from __future__ import annotations from enum import Enum -from typing import List, Union import numpy as np import numpy.typing as npt @@ -149,7 +148,7 @@ def box_non_max_suppression( def group_overlapping_boxes( predictions: npt.NDArray[np.float64], iou_threshold: float = 0.5 -) -> List[List[int]]: +) -> list[list[int]]: """ Apply greedy version of non-maximum merging to avoid detecting too many overlapping bounding boxes for a given object. @@ -165,7 +164,7 @@ def group_overlapping_boxes( List[List[int]]: Groups of prediction indices be merged. Each group may have 1 or more elements. """ - merge_groups: List[List[int]] = [] + merge_groups: list[list[int]] = [] scores = predictions[:, 4] order = scores.argsort() @@ -192,7 +191,7 @@ def group_overlapping_boxes( def box_non_max_merge( predictions: npt.NDArray[np.float64], iou_threshold: float = 0.5, -) -> List[List[int]]: +) -> list[list[int]]: """ Apply greedy version of non-maximum merging per category to avoid detecting too many overlapping bounding boxes for a given object. @@ -254,7 +253,7 @@ def list(cls): return list(map(lambda c: c.value, cls)) @classmethod - def from_value(cls, value: Union[OverlapFilter, str]) -> OverlapFilter: + def from_value(cls, value: OverlapFilter | str) -> OverlapFilter: if isinstance(value, cls): return value if isinstance(value, str): diff --git a/supervision/detection/tools/csv_sink.py b/supervision/detection/tools/csv_sink.py index ea7e58bb84..5a899fee13 100644 --- a/supervision/detection/tools/csv_sink.py +++ b/supervision/detection/tools/csv_sink.py @@ -2,7 +2,7 @@ import csv import os -from typing import Any, Dict, List, Optional +from typing import Any from supervision.detection.core import Detections @@ -61,8 +61,8 @@ def __init__(self, file_name: str = "output.csv") -> None: None """ self.file_name = file_name - self.file: Optional[open] = None - self.writer: Optional[csv.writer] = None + self.file: open | None = None + self.writer: csv.writer | None = None self.header_written = False self.field_names = [] @@ -72,9 +72,9 @@ def __enter__(self) -> CSVSink: def __exit__( self, - exc_type: Optional[type], - exc_val: Optional[Exception], - exc_tb: Optional[Any], + exc_type: type | None, + exc_val: Exception | None, + exc_tb: Any | None, ) -> None: self.close() @@ -104,8 +104,8 @@ def close(self) -> None: @staticmethod def parse_detection_data( - detections: Detections, custom_data: Optional[Dict[str, Any]] = None - ) -> List[Dict[str, Any]]: + detections: Detections, custom_data: dict[str, Any] | None = None + ) -> list[dict[str, Any]]: parsed_rows = [] for i in range(len(detections.xyxy)): row = { @@ -137,7 +137,7 @@ def parse_detection_data( return parsed_rows def append( - self, detections: Detections, custom_data: Optional[Dict[str, Any]] = None + self, detections: Detections, custom_data: dict[str, Any] | None = None ) -> None: """ Append detection data to the CSV file. @@ -173,8 +173,8 @@ def append( @staticmethod def parse_field_names( - detections: Detections, custom_data: Dict[str, Any] - ) -> List[str]: + detections: Detections, custom_data: dict[str, Any] + ) -> list[str]: dynamic_header = sorted( set(custom_data.keys()) | set(getattr(detections, "data", {}).keys()) ) diff --git a/supervision/detection/tools/inference_slicer.py b/supervision/detection/tools/inference_slicer.py index 05469dd61f..0bf5a103bf 100644 --- a/supervision/detection/tools/inference_slicer.py +++ b/supervision/detection/tools/inference_slicer.py @@ -1,6 +1,6 @@ import warnings from concurrent.futures import ThreadPoolExecutor, as_completed -from typing import Callable, Optional, Tuple, Union +from typing import Callable, Optional, Union import numpy as np @@ -18,7 +18,7 @@ def move_detections( detections: Detections, offset: np.ndarray, - resolution_wh: Optional[Tuple[int, int]] = None, + resolution_wh: Optional[tuple[int, int]] = None, ) -> Detections: """ Args: @@ -86,9 +86,9 @@ class InferenceSlicer: def __init__( self, callback: Callable[[np.ndarray], Detections], - slice_wh: Tuple[int, int] = (320, 320), - overlap_ratio_wh: Optional[Tuple[float, float]] = (0.2, 0.2), - overlap_wh: Optional[Tuple[int, int]] = None, + slice_wh: tuple[int, int] = (320, 320), + overlap_ratio_wh: Optional[tuple[float, float]] = (0.2, 0.2), + overlap_wh: Optional[tuple[int, int]] = None, overlap_filter: Union[OverlapFilter, str] = OverlapFilter.NON_MAX_SUPPRESSION, iou_threshold: float = 0.5, thread_workers: int = 1, @@ -198,10 +198,10 @@ def _run_callback(self, image, offset) -> Detections: @staticmethod def _generate_offset( - resolution_wh: Tuple[int, int], - slice_wh: Tuple[int, int], - overlap_ratio_wh: Optional[Tuple[float, float]], - overlap_wh: Optional[Tuple[int, int]], + resolution_wh: tuple[int, int], + slice_wh: tuple[int, int], + overlap_ratio_wh: Optional[tuple[float, float]], + overlap_wh: Optional[tuple[int, int]], ) -> np.ndarray: """ Generate offset coordinates for slicing an image based on the given resolution, @@ -260,8 +260,8 @@ def _generate_offset( @staticmethod def _validate_overlap( - overlap_ratio_wh: Optional[Tuple[float, float]], - overlap_wh: Optional[Tuple[int, int]], + overlap_ratio_wh: Optional[tuple[float, float]], + overlap_wh: Optional[tuple[int, int]], ) -> None: if overlap_ratio_wh is not None and overlap_wh is not None: raise ValueError( diff --git a/supervision/detection/tools/json_sink.py b/supervision/detection/tools/json_sink.py index b8927c5f3c..42fb187c70 100644 --- a/supervision/detection/tools/json_sink.py +++ b/supervision/detection/tools/json_sink.py @@ -2,7 +2,7 @@ import json import os -from typing import Any, Dict, List, Optional +from typing import Any from supervision.detection.core import Detections @@ -51,8 +51,8 @@ def __init__(self, file_name: str = "output.json") -> None: None """ self.file_name = file_name - self.file: Optional[open] = None - self.data: List[Dict[str, Any]] = [] + self.file: open | None = None + self.data: list[dict[str, Any]] = [] def __enter__(self) -> JSONSink: self.open() @@ -60,9 +60,9 @@ def __enter__(self) -> JSONSink: def __exit__( self, - exc_type: Optional[type], - exc_val: Optional[Exception], - exc_tb: Optional[Any], + exc_type: type | None, + exc_val: Exception | None, + exc_tb: Any | None, ) -> None: self.write_and_close() @@ -92,8 +92,8 @@ def write_and_close(self) -> None: @staticmethod def parse_detection_data( - detections: Detections, custom_data: Optional[Dict[str, Any]] = None - ) -> List[Dict[str, Any]]: + detections: Detections, custom_data: dict[str, Any] | None = None + ) -> list[dict[str, Any]]: parsed_rows = [] for i in range(len(detections.xyxy)): row = { @@ -126,7 +126,7 @@ def parse_detection_data( return parsed_rows def append( - self, detections: Detections, custom_data: Optional[Dict[str, Any]] = None + self, detections: Detections, custom_data: dict[str, Any] | None = None ) -> None: """ Append detection data to the JSON file. diff --git a/supervision/detection/tools/polygon_zone.py b/supervision/detection/tools/polygon_zone.py index 5cd976b1e8..0b1141ce98 100644 --- a/supervision/detection/tools/polygon_zone.py +++ b/supervision/detection/tools/polygon_zone.py @@ -1,5 +1,6 @@ +from collections.abc import Iterable from dataclasses import replace -from typing import Iterable, Optional +from typing import Optional import cv2 import numpy as np diff --git a/supervision/detection/tools/transformers.py b/supervision/detection/tools/transformers.py index 047c1f9427..433aa48f5d 100644 --- a/supervision/detection/tools/transformers.py +++ b/supervision/detection/tools/transformers.py @@ -1,5 +1,5 @@ import io -from typing import Any, Dict, Optional +from typing import Any, Optional import numpy as np from PIL import Image @@ -9,7 +9,7 @@ def process_transformers_detection_result( - detection_result: dict, id2label: Optional[Dict[int, str]] + detection_result: dict, id2label: Optional[dict[int, str]] ) -> dict: """ Process the result of Transformers object detection functions such as @@ -38,7 +38,7 @@ class IDs, and data. def process_transformers_v4_segmentation_result( - segmentation_result: dict, id2label: Optional[Dict[int, str]] + segmentation_result: dict, id2label: Optional[dict[int, str]] ) -> dict: """ Process the result of Transformers segmentation functions such as @@ -77,7 +77,7 @@ def process_transformers_v4_segmentation_result( def process_transformers_v5_segmentation_result( - segmentation_result: dict, id2label: Optional[Dict[int, str]] + segmentation_result: dict, id2label: Optional[dict[int, str]] ) -> dict: """ Process the result of Transformers segmentation functions such as @@ -107,7 +107,7 @@ def process_transformers_v5_segmentation_result( def process_transformers_v5_semantic_or_instance_segmentation_result( - segmentation_result: dict, id2label: Optional[Dict[int, str]] + segmentation_result: dict, id2label: Optional[dict[int, str]] ) -> dict: """ Process the result of Transformers segmentation functions such as @@ -143,7 +143,7 @@ def process_transformers_v5_semantic_or_instance_segmentation_result( def process_transformers_v4_panoptic_segmentation_result( - segmentation_result: dict, id2label: Optional[Dict[int, str]] + segmentation_result: dict, id2label: Optional[dict[int, str]] ) -> dict: """ Process the result of the Transformers function `post_process_panoptic` (v4). @@ -177,7 +177,7 @@ class IDs, and data. def process_transformers_v5_panoptic_segmentation_result( - segmentation_array: np.ndarray, id2label: Optional[Dict[int, str]] + segmentation_array: np.ndarray, id2label: Optional[dict[int, str]] ) -> dict: """ Process the result of the Transformers function @@ -220,9 +220,9 @@ def png_string_to_segmentation_array(png_string: bytes) -> np.ndarray: def append_class_names_to_data( class_ids: np.ndarray, - id2label: Optional[Dict[int, str]], - data: Optional[Dict[str, Any]] = None, -) -> Dict[str, Any]: + id2label: Optional[dict[int, str]], + data: Optional[dict[str, Any]] = None, +) -> dict[str, Any]: """ Helper function to create or append to a data dictionary with class names if available. diff --git a/supervision/detection/utils.py b/supervision/detection/utils.py index 13c3f1a69b..63180c2917 100644 --- a/supervision/detection/utils.py +++ b/supervision/detection/utils.py @@ -1,5 +1,5 @@ from itertools import chain -from typing import Any, Dict, List, Optional, Tuple, Union +from typing import Any, Optional, Union import cv2 import numpy as np @@ -30,7 +30,7 @@ def xyxy_to_polygons(box: np.ndarray) -> np.ndarray: return polygon -def polygon_to_mask(polygon: np.ndarray, resolution_wh: Tuple[int, int]) -> np.ndarray: +def polygon_to_mask(polygon: np.ndarray, resolution_wh: tuple[int, int]) -> np.ndarray: """Generate a mask from a polygon. Args: @@ -49,8 +49,8 @@ def polygon_to_mask(polygon: np.ndarray, resolution_wh: Tuple[int, int]) -> np.n def box_iou( - box_true: Union[List[float], np.ndarray], - box_detection: Union[List[float], np.ndarray], + box_true: Union[list[float], np.ndarray], + box_detection: Union[list[float], np.ndarray], ) -> float: """ Compute the Intersection over Union (IoU) between two bounding boxes. @@ -283,7 +283,7 @@ def oriented_box_iou_batch( return ious -def clip_boxes(xyxy: np.ndarray, resolution_wh: Tuple[int, int]) -> np.ndarray: +def clip_boxes(xyxy: np.ndarray, resolution_wh: tuple[int, int]) -> np.ndarray: """ Clips bounding boxes coordinates to fit within the frame resolution. @@ -535,7 +535,7 @@ def xyxy_to_xcycarh(xyxy: np.ndarray) -> np.ndarray: def denormalize_boxes( normalized_xyxy: np.ndarray, - resolution_wh: Tuple[int, int], + resolution_wh: tuple[int, int], normalization_factor: float = 1.0, ) -> np.ndarray: """ @@ -615,7 +615,7 @@ def mask_to_xyxy(masks: np.ndarray) -> np.ndarray: return xyxy -def mask_to_polygons(mask: np.ndarray) -> List[np.ndarray]: +def mask_to_polygons(mask: np.ndarray) -> list[np.ndarray]: """ Converts a binary mask to a list of polygons. @@ -642,10 +642,10 @@ def mask_to_polygons(mask: np.ndarray) -> List[np.ndarray]: def filter_polygons_by_area( - polygons: List[np.ndarray], + polygons: list[np.ndarray], min_area: Optional[float] = None, max_area: Optional[float] = None, -) -> List[np.ndarray]: +) -> list[np.ndarray]: """ Filters a list of polygons based on their area. @@ -779,13 +779,13 @@ def extract_ultralytics_masks(yolov8_results) -> Optional[np.ndarray]: def process_roboflow_result( roboflow_result: dict, -) -> Tuple[ +) -> tuple[ np.ndarray, np.ndarray, np.ndarray, Optional[np.ndarray], Optional[np.ndarray], - Dict[str, Union[List[np.ndarray], np.ndarray]], + dict[str, Union[list[np.ndarray], np.ndarray]], ]: if not roboflow_result["predictions"]: return ( @@ -940,7 +940,7 @@ def move_oriented_boxes( def move_masks( masks: npt.NDArray[np.bool_], offset: npt.NDArray[np.int32], - resolution_wh: Tuple[int, int], + resolution_wh: tuple[int, int], ) -> npt.NDArray[np.bool_]: """ Offset the masks in an array by the specified (x, y) amount. @@ -1086,7 +1086,7 @@ def sum_over_mask(indices: np.ndarray, axis: tuple) -> np.ndarray: return np.column_stack((centroid_x, centroid_y)).astype(int) -def is_data_equal(data_a: Dict[str, np.ndarray], data_b: Dict[str, np.ndarray]) -> bool: +def is_data_equal(data_a: dict[str, np.ndarray], data_b: dict[str, np.ndarray]) -> bool: """ Compares the data payloads of two Detections instances. @@ -1101,7 +1101,7 @@ def is_data_equal(data_a: Dict[str, np.ndarray], data_b: Dict[str, np.ndarray]) ) -def is_metadata_equal(metadata_a: Dict[str, Any], metadata_b: Dict[str, Any]) -> bool: +def is_metadata_equal(metadata_a: dict[str, Any], metadata_b: dict[str, Any]) -> bool: """ Compares the metadata payloads of two Detections instances. @@ -1123,8 +1123,8 @@ def is_metadata_equal(metadata_a: Dict[str, Any], metadata_b: Dict[str, Any]) -> def merge_data( - data_list: List[Dict[str, Union[npt.NDArray[np.generic], List]]], -) -> Dict[str, Union[npt.NDArray[np.generic], List]]: + data_list: list[dict[str, Union[npt.NDArray[np.generic], list]]], +) -> dict[str, Union[npt.NDArray[np.generic], list]]: """ Merges the data payloads of a list of Detections instances. @@ -1183,7 +1183,7 @@ def merge_data( return merged_data -def merge_metadata(metadata_list: List[Dict[str, Any]]) -> Dict[str, Any]: +def merge_metadata(metadata_list: list[dict[str, Any]]) -> dict[str, Any]: """ Merge metadata from a list of metadata dictionaries. @@ -1210,7 +1210,7 @@ def merge_metadata(metadata_list: List[Dict[str, Any]]) -> Dict[str, Any]: if not all(keys_set == all_keys_sets[0] for keys_set in all_keys_sets): raise ValueError("All metadata dictionaries must have the same keys to merge.") - merged_metadata: Dict[str, Any] = {} + merged_metadata: dict[str, Any] = {} for metadata in metadata_list: for key, value in metadata.items(): if key not in merged_metadata: @@ -1239,9 +1239,9 @@ def merge_metadata(metadata_list: List[Dict[str, Any]]) -> Dict[str, Any]: def get_data_item( - data: Dict[str, Union[np.ndarray, List]], - index: Union[int, slice, List[int], np.ndarray], -) -> Dict[str, Union[np.ndarray, List]]: + data: dict[str, Union[np.ndarray, list]], + index: Union[int, slice, list[int], np.ndarray], +) -> dict[str, Union[np.ndarray, list]]: """ Retrieve a subset of the data dictionary based on the given index. @@ -1469,7 +1469,7 @@ def spread_out_boxes( return pad_boxes(xyxy_padded, px=-1) -def _jaccard(box_a: List[float], box_b: List[float], is_crowd: bool) -> float: +def _jaccard(box_a: list[float], box_b: list[float], is_crowd: bool) -> float: """ Calculate the Jaccard index (intersection over union) between two bounding boxes. If a gt object is marked as "iscrowd", a dt is allowed to match any subregion @@ -1511,9 +1511,9 @@ def _jaccard(box_a: List[float], box_b: List[float], is_crowd: bool) -> float: def box_iou_batch_with_jaccard( - boxes_true: List[List[float]], - boxes_detection: List[List[float]], - is_crowd: List[bool], + boxes_true: list[list[float]], + boxes_detection: list[list[float]], + is_crowd: list[bool], ) -> np.ndarray: """ Calculate the intersection over union (IoU) between detection bounding boxes (dt) diff --git a/supervision/detection/vlm.py b/supervision/detection/vlm.py index 022060f64d..b44c769d3f 100644 --- a/supervision/detection/vlm.py +++ b/supervision/detection/vlm.py @@ -1,7 +1,7 @@ import json import re from enum import Enum -from typing import Any, Dict, List, Optional, Tuple, Union +from typing import Any, Optional, Union import numpy as np @@ -34,7 +34,7 @@ class VLM(Enum): MOONDREAM = "moondream" -RESULT_TYPES: Dict[VLM, type] = { +RESULT_TYPES: dict[VLM, type] = { VLM.PALIGEMMA: str, VLM.FLORENCE_2: dict, VLM.QWEN_2_5_VL: str, @@ -43,7 +43,7 @@ class VLM(Enum): VLM.MOONDREAM: dict, } -REQUIRED_ARGUMENTS: Dict[VLM, List[str]] = { +REQUIRED_ARGUMENTS: dict[VLM, list[str]] = { VLM.PALIGEMMA: ["resolution_wh"], VLM.FLORENCE_2: ["resolution_wh"], VLM.QWEN_2_5_VL: ["input_wh", "resolution_wh"], @@ -52,7 +52,7 @@ class VLM(Enum): VLM.MOONDREAM: ["resolution_wh"], } -ALLOWED_ARGUMENTS: Dict[VLM, List[str]] = { +ALLOWED_ARGUMENTS: dict[VLM, list[str]] = { VLM.PALIGEMMA: ["resolution_wh", "classes"], VLM.FLORENCE_2: ["resolution_wh"], VLM.QWEN_2_5_VL: ["input_wh", "resolution_wh", "classes"], @@ -75,7 +75,7 @@ class VLM(Enum): def validate_vlm_parameters( - vlm: Union[VLM, str], result: Any, kwargs: Dict[str, Any] + vlm: Union[VLM, str], result: Any, kwargs: dict[str, Any] ) -> VLM: if isinstance(vlm, str): try: @@ -104,8 +104,8 @@ def validate_vlm_parameters( def from_paligemma( - result: str, resolution_wh: Tuple[int, int], classes: Optional[List[str]] = None -) -> Tuple[np.ndarray, Optional[np.ndarray], np.ndarray]: + result: str, resolution_wh: tuple[int, int], classes: Optional[list[str]] = None +) -> tuple[np.ndarray, Optional[np.ndarray], np.ndarray]: """ Parse bounding boxes from paligemma-formatted text, scale them to the specified resolution, and optionally filter by classes. @@ -157,10 +157,10 @@ def from_paligemma( def from_qwen_2_5_vl( result: str, - input_wh: Tuple[int, int], - resolution_wh: Tuple[int, int], - classes: Optional[List[str]] = None, -) -> Tuple[np.ndarray, Optional[np.ndarray], np.ndarray]: + input_wh: tuple[int, int], + resolution_wh: tuple[int, int], + classes: Optional[list[str]] = None, +) -> tuple[np.ndarray, Optional[np.ndarray], np.ndarray]: """ Parse and scale bounding boxes from Qwen-2.5-VL style JSON output. @@ -241,8 +241,8 @@ def from_qwen_2_5_vl( def from_florence_2( - result: dict, resolution_wh: Tuple[int, int] -) -> Tuple[ + result: dict, resolution_wh: tuple[int, int] +) -> tuple[ np.ndarray, Optional[np.ndarray], Optional[np.ndarray], Optional[np.ndarray] ]: """ @@ -337,9 +337,9 @@ def from_florence_2( def from_google_gemini( result: str, - resolution_wh: Tuple[int, int], - classes: Optional[List[str]] = None, -) -> Tuple[np.ndarray, Optional[np.ndarray], np.ndarray]: + resolution_wh: tuple[int, int], + classes: Optional[list[str]] = None, +) -> tuple[np.ndarray, Optional[np.ndarray], np.ndarray]: """ Parse and scale bounding boxes from Google Gemini style [JSON output](https://ai.google.dev/gemini-api/docs/vision?lang=python). @@ -429,8 +429,8 @@ def from_google_gemini( def from_moondream( result: dict, - resolution_wh: Tuple[int, int], -) -> Tuple[np.ndarray]: + resolution_wh: tuple[int, int], +) -> tuple[np.ndarray]: """ Parse and scale bounding boxes from moondream JSON output. diff --git a/supervision/draw/color.py b/supervision/draw/color.py index e52df5a00a..705d5922cc 100644 --- a/supervision/draw/color.py +++ b/supervision/draw/color.py @@ -1,7 +1,6 @@ from __future__ import annotations from dataclasses import dataclass -from typing import List, Tuple, Union import matplotlib.pyplot as plt @@ -132,7 +131,7 @@ def from_hex(cls, color_hex: str) -> Color: return cls(r, g, b) @classmethod - def from_rgb_tuple(cls, color_tuple: Tuple[int, int, int]) -> Color: + def from_rgb_tuple(cls, color_tuple: tuple[int, int, int]) -> Color: """ Create a Color instance from an RGB tuple. @@ -155,7 +154,7 @@ def from_rgb_tuple(cls, color_tuple: Tuple[int, int, int]) -> Color: return cls(r=r, g=g, b=b) @classmethod - def from_bgr_tuple(cls, color_tuple: Tuple[int, int, int]) -> Color: + def from_bgr_tuple(cls, color_tuple: tuple[int, int, int]) -> Color: """ Create a Color instance from a BGR tuple. @@ -194,7 +193,7 @@ def as_hex(self) -> str: """ return f"#{self.r:02x}{self.g:02x}{self.b:02x}" - def as_rgb(self) -> Tuple[int, int, int]: + def as_rgb(self) -> tuple[int, int, int]: """ Returns the color as an RGB tuple. @@ -211,7 +210,7 @@ def as_rgb(self) -> Tuple[int, int, int]: """ return self.r, self.g, self.b - def as_bgr(self) -> Tuple[int, int, int]: + def as_bgr(self) -> tuple[int, int, int]: """ Returns the color as a BGR tuple. @@ -274,7 +273,7 @@ def __eq__(self, other): @dataclass class ColorPalette: - colors: List[Color] + colors: list[Color] @classproperty def DEFAULT(cls) -> ColorPalette: @@ -323,7 +322,7 @@ def LEGACY(cls) -> ColorPalette: return ColorPalette.from_hex(color_hex_list=LEGACY_COLOR_PALETTE) @classmethod - def from_hex(cls, color_hex_list: List[str]) -> ColorPalette: + def from_hex(cls, color_hex_list: list[str]) -> ColorPalette: """ Create a ColorPalette instance from a list of hex strings. @@ -412,7 +411,7 @@ def __len__(self) -> int: return len(self.colors) -def unify_to_bgr(color: Union[Tuple[int, int, int], Color]) -> Tuple[int, int, int]: +def unify_to_bgr(color: tuple[int, int, int] | Color) -> tuple[int, int, int]: """ Converts a color input in multiple formats to a standardized BGR format. diff --git a/supervision/draw/utils.py b/supervision/draw/utils.py index 0c3767ff70..87a96a2a3b 100644 --- a/supervision/draw/utils.py +++ b/supervision/draw/utils.py @@ -1,5 +1,5 @@ import os -from typing import Optional, Tuple, Union +from typing import Optional, Union import cv2 import numpy as np @@ -343,7 +343,7 @@ def draw_image( return scene -def calculate_optimal_text_scale(resolution_wh: Tuple[int, int]) -> float: +def calculate_optimal_text_scale(resolution_wh: tuple[int, int]) -> float: """ Calculate font scale based on the resolution of an image. @@ -357,7 +357,7 @@ def calculate_optimal_text_scale(resolution_wh: Tuple[int, int]) -> float: return min(resolution_wh) * 1e-3 -def calculate_optimal_line_thickness(resolution_wh: Tuple[int, int]) -> int: +def calculate_optimal_line_thickness(resolution_wh: tuple[int, int]) -> int: """ Calculate line thickness based on the resolution of an image. diff --git a/supervision/geometry/core.py b/supervision/geometry/core.py index a884a9daac..bfa18787cb 100644 --- a/supervision/geometry/core.py +++ b/supervision/geometry/core.py @@ -3,7 +3,6 @@ from dataclasses import dataclass from enum import Enum from math import sqrt -from typing import Tuple class Position(Enum): @@ -32,10 +31,10 @@ class Point: x: float y: float - def as_xy_int_tuple(self) -> Tuple[int, int]: + def as_xy_int_tuple(self) -> tuple[int, int]: return int(self.x), int(self.y) - def as_xy_float_tuple(self) -> Tuple[float, float]: + def as_xy_float_tuple(self) -> tuple[float, float]: return self.x, self.y @@ -99,7 +98,7 @@ class Rect: height: float @classmethod - def from_xyxy(cls, xyxy: Tuple[float, float, float, float]) -> Rect: + def from_xyxy(cls, xyxy: tuple[float, float, float, float]) -> Rect: x1, y1, x2, y2 = xyxy return cls(x=x1, y=y1, width=x2 - x1, height=y2 - y1) @@ -119,7 +118,7 @@ def pad(self, padding) -> Rect: height=self.height + 2 * padding, ) - def as_xyxy_int_tuple(self) -> Tuple[int, int, int, int]: + def as_xyxy_int_tuple(self) -> tuple[int, int, int, int]: return ( int(self.x), int(self.y), diff --git a/supervision/keypoint/annotators.py b/supervision/keypoint/annotators.py index 7537b264a8..9a44c5ebb9 100644 --- a/supervision/keypoint/annotators.py +++ b/supervision/keypoint/annotators.py @@ -1,6 +1,6 @@ from abc import ABC, abstractmethod from logging import warn -from typing import List, Optional, Tuple, Union +from typing import Optional, Union import cv2 import numpy as np @@ -106,7 +106,7 @@ def __init__( self, color: Color = Color.ROBOFLOW, thickness: int = 2, - edges: Optional[List[Tuple[int, int]]] = None, + edges: Optional[list[tuple[int, int]]] = None, ) -> None: """ Args: @@ -196,8 +196,8 @@ class VertexLabelAnnotator: def __init__( self, - color: Union[Color, List[Color]] = Color.ROBOFLOW, - text_color: Union[Color, List[Color]] = Color.WHITE, + color: Union[Color, list[Color]] = Color.ROBOFLOW, + text_color: Union[Color, list[Color]] = Color.WHITE, text_scale: float = 0.5, text_thickness: int = 1, text_padding: int = 10, @@ -220,8 +220,8 @@ def __init__( smart_position (bool): Spread out the labels to avoid overlap. """ self.border_radius: int = border_radius - self.color: Union[Color, List[Color]] = color - self.text_color: Union[Color, List[Color]] = text_color + self.color: Union[Color, list[Color]] = color + self.text_color: Union[Color, list[Color]] = text_color self.text_scale: float = text_scale self.text_thickness: int = text_thickness self.text_padding: int = text_padding @@ -231,7 +231,7 @@ def annotate( self, scene: ImageType, key_points: KeyPoints, - labels: Optional[List[str]] = None, + labels: Optional[list[str]] = None, ) -> ImageType: """ A class that draws labels of skeleton vertices on images. It uses specified key @@ -394,8 +394,8 @@ def get_text_bounding_box( font: int, text_scale: float, text_thickness: int, - center_coordinates: Tuple[int, int], - ) -> Tuple[int, int, int, int]: + center_coordinates: tuple[int, int], + ) -> tuple[int, int, int, int]: text_w, text_h = cv2.getTextSize( text=text, fontFace=font, @@ -412,7 +412,7 @@ def get_text_bounding_box( @staticmethod def preprocess_and_validate_labels( - labels: Optional[List[str]], points_count: int, skeletons_count: int + labels: Optional[list[str]], points_count: int, skeletons_count: int ) -> np.ndarray: if labels and len(labels) != points_count: raise ValueError( @@ -426,7 +426,7 @@ def preprocess_and_validate_labels( @staticmethod def preprocess_and_validate_colors( - colors: Optional[Union[Color, List[Color]]], + colors: Optional[Union[Color, list[Color]]], points_count: int, skeletons_count: int, ) -> np.ndarray: diff --git a/supervision/keypoint/core.py b/supervision/keypoint/core.py index 6167f4bbf8..89bfe0b88f 100644 --- a/supervision/keypoint/core.py +++ b/supervision/keypoint/core.py @@ -1,7 +1,8 @@ from __future__ import annotations +from collections.abc import Iterable, Iterator from dataclasses import dataclass, field -from typing import Any, Dict, Iterable, Iterator, List, Optional, Tuple, Union +from typing import Any import numpy as np import numpy.typing as npt @@ -103,9 +104,9 @@ class simplifies data manipulation and filtering, providing a uniform API for """ # noqa: E501 // docs xy: npt.NDArray[np.float32] - class_id: Optional[npt.NDArray[np.int_]] = None - confidence: Optional[npt.NDArray[np.float32]] = None - data: Dict[str, Union[npt.NDArray[Any], List]] = field(default_factory=dict) + class_id: npt.NDArray[np.int_] | None = None + confidence: npt.NDArray[np.float32] | None = None + data: dict[str, npt.NDArray[Any] | list] = field(default_factory=dict) def __post_init__(self): validate_keypoints_fields( @@ -124,13 +125,13 @@ def __len__(self) -> int: def __iter__( self, ) -> Iterator[ - Tuple[ + tuple[ np.ndarray, - Optional[np.ndarray], - Optional[float], - Optional[int], - Optional[int], - Dict[str, Union[np.ndarray, List]], + np.ndarray | None, + float | None, + int | None, + int | None, + dict[str, np.ndarray | list], ] ]: """ @@ -156,7 +157,7 @@ def __eq__(self, other: KeyPoints) -> bool: ) @classmethod - def from_inference(cls, inference_result: Union[dict, Any]) -> KeyPoints: + def from_inference(cls, inference_result: dict | Any) -> KeyPoints: """ Create a `sv.KeyPoints` object from the [Roboflow](https://roboflow.com/) API inference result or the [Inference](https://inference.roboflow.com/) @@ -239,7 +240,7 @@ def from_inference(cls, inference_result: Union[dict, Any]) -> KeyPoints: @classmethod def from_mediapipe( - cls, mediapipe_results, resolution_wh: Tuple[int, int] + cls, mediapipe_results, resolution_wh: tuple[int, int] ) -> KeyPoints: """ Creates a `sv.KeyPoints` instance from a @@ -598,8 +599,8 @@ def from_transformers(cls, transfomers_results: Any) -> KeyPoints: return cls.empty() def __getitem__( - self, index: Union[int, slice, List[int], np.ndarray, str] - ) -> Union[KeyPoints, List, np.ndarray, None]: + self, index: int | slice | list[int] | np.ndarray | str + ) -> KeyPoints | list | np.ndarray | None: """ Get a subset of the `sv.KeyPoints` object or access an item from its data field. @@ -649,7 +650,7 @@ def __getitem__( data=get_data_item(self.data, index), ) - def __setitem__(self, key: str, value: Union[np.ndarray, List]): + def __setitem__(self, key: str, value: np.ndarray | list): """ Set a value in the data dictionary of the `sv.KeyPoints` object. @@ -710,7 +711,7 @@ def is_empty(self) -> bool: return self == empty_keypoints def as_detections( - self, selected_keypoint_indices: Optional[Iterable[int]] = None + self, selected_keypoint_indices: Iterable[int] | None = None ) -> Detections: """ Convert a KeyPoints object to a Detections object. This diff --git a/supervision/keypoint/skeletons.py b/supervision/keypoint/skeletons.py index a5ac7b3a38..64a22aef1f 100644 --- a/supervision/keypoint/skeletons.py +++ b/supervision/keypoint/skeletons.py @@ -1,7 +1,6 @@ from enum import Enum -from typing import Dict, Tuple -Edges = Tuple[Tuple[int, int], ...] +Edges = tuple[tuple[int, int], ...] class Skeleton(Enum): @@ -2637,11 +2636,11 @@ class Skeleton(Enum): ) -SKELETONS_BY_EDGE_COUNT: Dict[int, Edges] = {} -SKELETONS_BY_VERTEX_COUNT: Dict[int, Edges] = {} +SKELETONS_BY_EDGE_COUNT: dict[int, Edges] = {} +SKELETONS_BY_VERTEX_COUNT: dict[int, Edges] = {} for skeleton in Skeleton: SKELETONS_BY_EDGE_COUNT[len(skeleton.value)] = skeleton.value - unique_vertices = set(vertex for edge in skeleton.value for vertex in edge) + unique_vertices = {vertex for edge in skeleton.value for vertex in edge} SKELETONS_BY_VERTEX_COUNT[len(unique_vertices)] = skeleton.value diff --git a/supervision/metrics/core.py b/supervision/metrics/core.py index def5999a02..75bc51526e 100644 --- a/supervision/metrics/core.py +++ b/supervision/metrics/core.py @@ -11,7 +11,7 @@ class Metric(ABC): """ @abstractmethod - def update(self, *args, **kwargs) -> "Metric": + def update(self, *args, **kwargs) -> Metric: """ Add data to the metric, without computing the result. Return the metric itself to allow method chaining. diff --git a/supervision/metrics/detection.py b/supervision/metrics/detection.py index ee6d2b61fa..3f1f96d57d 100644 --- a/supervision/metrics/detection.py +++ b/supervision/metrics/detection.py @@ -1,7 +1,7 @@ from __future__ import annotations from dataclasses import dataclass -from typing import Callable, List, Optional, Tuple +from typing import Callable import matplotlib import matplotlib.pyplot as plt @@ -41,7 +41,7 @@ def detections_to_tensor( return np.concatenate(arrays_to_concat, axis=1) -def validate_input_tensors(predictions: List[np.ndarray], targets: List[np.ndarray]): +def validate_input_tensors(predictions: list[np.ndarray], targets: list[np.ndarray]): """ Checks for shape consistency of input tensors. """ @@ -86,16 +86,16 @@ class ConfusionMatrix: """ matrix: np.ndarray - classes: List[str] + classes: list[str] conf_threshold: float iou_threshold: float @classmethod def from_detections( cls, - predictions: List[Detections], - targets: List[Detections], - classes: List[str], + predictions: list[Detections], + targets: list[Detections], + classes: list[str], conf_threshold: float = 0.3, iou_threshold: float = 0.5, ) -> ConfusionMatrix: @@ -162,9 +162,9 @@ def from_detections( @classmethod def from_tensors( cls, - predictions: List[np.ndarray], - targets: List[np.ndarray], - classes: List[str], + predictions: list[np.ndarray], + targets: list[np.ndarray], + classes: list[str], conf_threshold: float = 0.3, iou_threshold: float = 0.5, ) -> ConfusionMatrix: @@ -405,11 +405,11 @@ def callback(image: np.ndarray) -> sv.Detections: def plot( self, - save_path: Optional[str] = None, - title: Optional[str] = None, - classes: Optional[List[str]] = None, + save_path: str | None = None, + title: str | None = None, + classes: list[str] | None = None, normalize: bool = False, - fig_size: Tuple[int, int] = (12, 10), + fig_size: tuple[int, int] = (12, 10), ) -> matplotlib.figure.Figure: """ Create confusion matrix plot and save it at selected location. @@ -518,8 +518,8 @@ class MeanAveragePrecision: @classmethod def from_detections( cls, - predictions: List[Detections], - targets: List[Detections], + predictions: list[Detections], + targets: list[Detections], ) -> MeanAveragePrecision: """ Calculate mean average precision based on predicted and ground-truth detections. @@ -615,8 +615,8 @@ def callback(image: np.ndarray) -> sv.Detections: @classmethod def from_tensors( cls, - predictions: List[np.ndarray], - targets: List[np.ndarray], + predictions: list[np.ndarray], + targets: list[np.ndarray], ) -> MeanAveragePrecision: """ Calculate Mean Average Precision based on predicted and ground-truth diff --git a/supervision/metrics/f1_score.py b/supervision/metrics/f1_score.py index 98cb5f2657..193eb91575 100644 --- a/supervision/metrics/f1_score.py +++ b/supervision/metrics/f1_score.py @@ -2,7 +2,7 @@ from copy import deepcopy from dataclasses import dataclass -from typing import TYPE_CHECKING, List, Optional, Tuple, Union +from typing import TYPE_CHECKING import numpy as np from matplotlib import pyplot as plt @@ -89,8 +89,8 @@ def __init__( self._metric_target = metric_target self.averaging_method = averaging_method - self._predictions_list: List[Detections] = [] - self._targets_list: List[Detections] = [] + self._predictions_list: list[Detections] = [] + self._targets_list: list[Detections] = [] def reset(self) -> None: """ @@ -101,8 +101,8 @@ def reset(self) -> None: def update( self, - predictions: Union[Detections, List[Detections]], - targets: Union[Detections, List[Detections]], + predictions: Detections | list[Detections], + targets: Detections | list[Detections], ) -> F1Score: """ Add new predictions and targets to the metric, but do not compute the result. @@ -160,7 +160,7 @@ def compute(self) -> F1ScoreResult: return result def _compute( - self, predictions_list: List[Detections], targets_list: List[Detections] + self, predictions_list: list[Detections], targets_list: list[Detections] ) -> F1ScoreResult: iou_thresholds = np.linspace(0.5, 0.95, 10) stats = [] @@ -242,7 +242,7 @@ def _compute_f1_for_classes( prediction_confidence: np.ndarray, prediction_class_ids: np.ndarray, true_class_ids: np.ndarray, - ) -> Tuple[np.ndarray, np.ndarray, np.ndarray]: + ) -> tuple[np.ndarray, np.ndarray, np.ndarray]: sorted_indices = np.argsort(-prediction_confidence) matches = matches[sorted_indices] prediction_class_ids = prediction_class_ids[sorted_indices] @@ -435,10 +435,10 @@ def _filter_detections_by_size( def _filter_predictions_and_targets_by_size( self, - predictions_list: List[Detections], - targets_list: List[Detections], + predictions_list: list[Detections], + targets_list: list[Detections], size_category: ObjectSizeCategory, - ) -> Tuple[List[Detections], List[Detections]]: + ) -> tuple[list[Detections], list[Detections]]: """ Filter predictions and targets by object size category. """ @@ -499,9 +499,9 @@ def f1_75(self) -> float: iou_thresholds: np.ndarray matched_classes: np.ndarray - small_objects: Optional[F1ScoreResult] - medium_objects: Optional[F1ScoreResult] - large_objects: Optional[F1ScoreResult] + small_objects: F1ScoreResult | None + medium_objects: F1ScoreResult | None + large_objects: F1ScoreResult | None def __str__(self) -> str: """ @@ -553,7 +553,7 @@ def __str__(self) -> str: return out_str - def to_pandas(self) -> "pd.DataFrame": + def to_pandas(self) -> pd.DataFrame: """ Convert the result to a pandas DataFrame. diff --git a/supervision/metrics/mean_average_precision.py b/supervision/metrics/mean_average_precision.py index 8e8d18d740..7e1b1e6af9 100644 --- a/supervision/metrics/mean_average_precision.py +++ b/supervision/metrics/mean_average_precision.py @@ -7,7 +7,7 @@ from copy import deepcopy from dataclasses import dataclass from enum import Enum -from typing import TYPE_CHECKING, Any, Dict, List, Optional, Tuple, Union +from typing import TYPE_CHECKING, Any import numpy as np from matplotlib import pyplot as plt @@ -71,9 +71,9 @@ def map75(self) -> float: ap_per_class: np.ndarray iou_thresholds: np.ndarray matched_classes: np.ndarray - small_objects: Optional[MeanAveragePrecisionResult] = None - medium_objects: Optional[MeanAveragePrecisionResult] = None - large_objects: Optional[MeanAveragePrecisionResult] = None + small_objects: MeanAveragePrecisionResult | None = None + medium_objects: MeanAveragePrecisionResult | None = None + large_objects: MeanAveragePrecisionResult | None = None def __str__(self) -> str: """ @@ -106,7 +106,7 @@ def __str__(self) -> str: = {self.large_objects.map50_95:.3f}" ) - def to_pandas(self) -> "pd.DataFrame": + def to_pandas(self) -> pd.DataFrame: """ Convert the result to a pandas DataFrame. @@ -218,7 +218,7 @@ class EvaluationDataset: Reference: https://github.com/rafaelpadilla/review_object_detection_metrics """ - def __init__(self, targets: Optional[Dict[str, Any]] = None): + def __init__(self, targets: dict[str, Any] | None = None): """ Constructor of EvaluationDataset object used to evaluate models with Mean Average Precision. @@ -273,9 +273,9 @@ def create_class_members(self): def get_annotation_ids( self, - img_ids: List[int] = [], - cat_ids: List[int] = [], - area_range: Tuple[float, float] = [], + img_ids: list[int] = [], + cat_ids: list[int] = [], + area_range: tuple[float, float] = [], iscrowd: bool = False, ): """ @@ -328,10 +328,10 @@ def get_annotation_ids( def get_category_ids( self, - cat_names: List[str] = [], - supercategory_names: List[str] = [], - cat_ids: List[int] = [], - ) -> List[int]: + cat_names: list[str] = [], + supercategory_names: list[str] = [], + cat_ids: list[int] = [], + ) -> list[int]: """ Get category ids that satisfy given filter conditions. Args: @@ -374,9 +374,9 @@ def get_category_ids( def get_image_ids( self, - img_ids: List[int] = [], - cat_ids: List[int] = [], - ) -> List[int]: + img_ids: list[int] = [], + cat_ids: list[int] = [], + ) -> list[int]: """ Get image ids that satisfy given filter conditions. Args: @@ -398,7 +398,7 @@ def get_image_ids( ids &= set(self.cat_to_imgs[cat_id]) return list(ids) - def get_annotations(self, ids: List[int] = []) -> List[dict]: + def get_annotations(self, ids: list[int] = []) -> list[dict]: """ Get annotations with the specified ids. Args: @@ -408,7 +408,7 @@ def get_annotations(self, ids: List[int] = []) -> List[dict]: """ return [self.anns[idx] for idx in ids] - def load_predictions(self, predictions: List[Dict]) -> "EvaluationDataset": + def load_predictions(self, predictions: list[dict]) -> EvaluationDataset: """ Load prediction result into an EvaluationDataset object. Args: @@ -628,8 +628,8 @@ def _compute_iou(self, img_id: int, cat_id: int) -> np.ndarray: return iou def _evaluate_image( - self, img_id: int, cat_id: int, area_range: Tuple[int, int], max_det: int - ) -> Union[Dict[str, Any], None]: + self, img_id: int, cat_id: int, area_range: tuple[int, int], max_det: int + ) -> dict[str, Any] | None: """ Perform evaluation for single category and image. Args: @@ -988,7 +988,7 @@ def _summarize( self.params.iou_thrs[0], self.params.iou_thrs[-1] ) if iou_thr is None - else "{:0.2f}".format(iou_thr) + else f"{iou_thr:0.2f}" ) all_object_sizes = list(ObjectSize) area_range_idx = all_object_sizes.index(area_range) @@ -1145,8 +1145,8 @@ def __init__( self, metric_target: MetricTarget = MetricTarget.BOXES, class_agnostic: bool = False, - class_mapping: Optional[Dict[int, int]] = None, - image_indices: Optional[List[int]] = None, + class_mapping: dict[int, int] | None = None, + image_indices: list[int] | None = None, ): """ Initialize the Mean Average Precision metric. @@ -1161,8 +1161,8 @@ def __init__( self._metric_target = metric_target self._class_agnostic = class_agnostic - self._predictions_list: List[Detections] = [] - self._targets_list: List[Detections] = [] + self._predictions_list: list[Detections] = [] + self._targets_list: list[Detections] = [] self._class_mapping = class_mapping self._image_indices = image_indices @@ -1175,8 +1175,8 @@ def reset(self) -> None: def update( self, - predictions: Union[Detections, List[Detections]], - targets: Union[Detections, List[Detections]], + predictions: Detections | list[Detections], + targets: Detections | list[Detections], ) -> MeanAveragePrecision: """ Add new predictions and targets to the metric, but do not compute the result. @@ -1245,7 +1245,7 @@ def _prepare_targets(self, targets): } annotations.append(dict_annotation) # Category list - all_cat_ids = set([annotation.get("category_id") for annotation in annotations]) + all_cat_ids = {annotation.get("category_id") for annotation in annotations} categories = [{"id": cat_id} for cat_id in all_cat_ids] # Create coco dictionary return { diff --git a/supervision/metrics/mean_average_recall.py b/supervision/metrics/mean_average_recall.py index 464c203a40..37aa2d4e6a 100644 --- a/supervision/metrics/mean_average_recall.py +++ b/supervision/metrics/mean_average_recall.py @@ -2,7 +2,7 @@ from copy import deepcopy from dataclasses import dataclass -from typing import TYPE_CHECKING, List, Optional, Tuple, Union +from typing import TYPE_CHECKING import numpy as np from matplotlib import pyplot as plt @@ -87,8 +87,8 @@ def __init__( """ self._metric_target = metric_target - self._predictions_list: List[Detections] = [] - self._targets_list: List[Detections] = [] + self._predictions_list: list[Detections] = [] + self._targets_list: list[Detections] = [] self.max_detections = np.array([1, 10, 100]) @@ -101,8 +101,8 @@ def reset(self) -> None: def update( self, - predictions: Union[Detections, List[Detections]], - targets: Union[Detections, List[Detections]], + predictions: Detections | list[Detections], + targets: Detections | list[Detections], ) -> MeanAverageRecall: """ Add new predictions and targets to the metric, but do not compute the result. @@ -160,7 +160,7 @@ def compute(self) -> MeanAverageRecallResult: return result def _compute( - self, predictions_list: List[Detections], targets_list: List[Detections] + self, predictions_list: list[Detections], targets_list: list[Detections] ) -> MeanAverageRecallResult: iou_thresholds = np.linspace(0.5, 0.95, 10) stats = [] @@ -242,7 +242,7 @@ def _compute_average_recall_for_classes( prediction_confidence: np.ndarray, prediction_class_ids: np.ndarray, true_class_ids: np.ndarray, - ) -> Tuple[np.ndarray, np.ndarray, np.ndarray]: + ) -> tuple[np.ndarray, np.ndarray, np.ndarray]: sorted_indices = np.argsort(-prediction_confidence) matches = matches[sorted_indices] prediction_class_ids = prediction_class_ids[sorted_indices] @@ -309,7 +309,7 @@ def _compute_confusion_matrix( sorted_prediction_class_ids: np.ndarray, unique_classes: np.ndarray, class_counts: np.ndarray, - max_detections: Optional[int] = None, + max_detections: int | None = None, ) -> np.ndarray: """ Compute the confusion matrix for each class and IoU threshold. @@ -443,10 +443,10 @@ def _filter_detections_by_size( def _filter_predictions_and_targets_by_size( self, - predictions_list: List[Detections], - targets_list: List[Detections], + predictions_list: list[Detections], + targets_list: list[Detections], size_category: ObjectSizeCategory, - ) -> Tuple[List[Detections], List[Detections]]: + ) -> tuple[list[Detections], list[Detections]]: new_predictions_list = [] new_targets_list = [] for predictions, targets in zip(predictions_list, targets_list): @@ -536,9 +536,9 @@ def mAR_at_100(self) -> float: iou_thresholds: np.ndarray matched_classes: np.ndarray - small_objects: Optional[MeanAverageRecallResult] - medium_objects: Optional[MeanAverageRecallResult] - large_objects: Optional[MeanAverageRecallResult] + small_objects: MeanAverageRecallResult | None + medium_objects: MeanAverageRecallResult | None + large_objects: MeanAverageRecallResult | None def __str__(self) -> str: """ @@ -591,7 +591,7 @@ def __str__(self) -> str: return out_str - def to_pandas(self) -> "pd.DataFrame": + def to_pandas(self) -> pd.DataFrame: """ Convert the result to a pandas DataFrame. diff --git a/supervision/metrics/precision.py b/supervision/metrics/precision.py index a5d4011e83..e77b78eb6e 100644 --- a/supervision/metrics/precision.py +++ b/supervision/metrics/precision.py @@ -2,7 +2,7 @@ from copy import deepcopy from dataclasses import dataclass -from typing import TYPE_CHECKING, List, Optional, Tuple, Union +from typing import TYPE_CHECKING import numpy as np from matplotlib import pyplot as plt @@ -92,8 +92,8 @@ def __init__( self._metric_target = metric_target self.averaging_method = averaging_method - self._predictions_list: List[Detections] = [] - self._targets_list: List[Detections] = [] + self._predictions_list: list[Detections] = [] + self._targets_list: list[Detections] = [] def reset(self) -> None: """ @@ -104,8 +104,8 @@ def reset(self) -> None: def update( self, - predictions: Union[Detections, List[Detections]], - targets: Union[Detections, List[Detections]], + predictions: Detections | list[Detections], + targets: Detections | list[Detections], ) -> Precision: """ Add new predictions and targets to the metric, but do not compute the result. @@ -163,7 +163,7 @@ def compute(self) -> PrecisionResult: return result def _compute( - self, predictions_list: List[Detections], targets_list: List[Detections] + self, predictions_list: list[Detections], targets_list: list[Detections] ) -> PrecisionResult: iou_thresholds = np.linspace(0.5, 0.95, 10) stats = [] @@ -245,7 +245,7 @@ def _compute_precision_for_classes( prediction_confidence: np.ndarray, prediction_class_ids: np.ndarray, true_class_ids: np.ndarray, - ) -> Tuple[np.ndarray, np.ndarray, np.ndarray]: + ) -> tuple[np.ndarray, np.ndarray, np.ndarray]: sorted_indices = np.argsort(-prediction_confidence) matches = matches[sorted_indices] prediction_class_ids = prediction_class_ids[sorted_indices] @@ -438,10 +438,10 @@ def _filter_detections_by_size( def _filter_predictions_and_targets_by_size( self, - predictions_list: List[Detections], - targets_list: List[Detections], + predictions_list: list[Detections], + targets_list: list[Detections], size_category: ObjectSizeCategory, - ) -> Tuple[List[Detections], List[Detections]]: + ) -> tuple[list[Detections], list[Detections]]: """ Filter predictions and targets by object size category. """ @@ -502,9 +502,9 @@ def precision_at_75(self) -> float: iou_thresholds: np.ndarray matched_classes: np.ndarray - small_objects: Optional[PrecisionResult] - medium_objects: Optional[PrecisionResult] - large_objects: Optional[PrecisionResult] + small_objects: PrecisionResult | None + medium_objects: PrecisionResult | None + large_objects: PrecisionResult | None def __str__(self) -> str: """ @@ -558,7 +558,7 @@ def __str__(self) -> str: return out_str - def to_pandas(self) -> "pd.DataFrame": + def to_pandas(self) -> pd.DataFrame: """ Convert the result to a pandas DataFrame. diff --git a/supervision/metrics/recall.py b/supervision/metrics/recall.py index b3586ff7d4..1e1ae3e04d 100644 --- a/supervision/metrics/recall.py +++ b/supervision/metrics/recall.py @@ -2,7 +2,7 @@ from copy import deepcopy from dataclasses import dataclass -from typing import TYPE_CHECKING, List, Optional, Tuple, Union +from typing import TYPE_CHECKING import numpy as np from matplotlib import pyplot as plt @@ -93,8 +93,8 @@ def __init__( self._metric_target = metric_target self.averaging_method = averaging_method - self._predictions_list: List[Detections] = [] - self._targets_list: List[Detections] = [] + self._predictions_list: list[Detections] = [] + self._targets_list: list[Detections] = [] def reset(self) -> None: """ @@ -105,8 +105,8 @@ def reset(self) -> None: def update( self, - predictions: Union[Detections, List[Detections]], - targets: Union[Detections, List[Detections]], + predictions: Detections | list[Detections], + targets: Detections | list[Detections], ) -> Recall: """ Add new predictions and targets to the metric, but do not compute the result. @@ -164,7 +164,7 @@ def compute(self) -> RecallResult: return result def _compute( - self, predictions_list: List[Detections], targets_list: List[Detections] + self, predictions_list: list[Detections], targets_list: list[Detections] ) -> RecallResult: iou_thresholds = np.linspace(0.5, 0.95, 10) stats = [] @@ -246,7 +246,7 @@ def _compute_recall_for_classes( prediction_confidence: np.ndarray, prediction_class_ids: np.ndarray, true_class_ids: np.ndarray, - ) -> Tuple[np.ndarray, np.ndarray, np.ndarray]: + ) -> tuple[np.ndarray, np.ndarray, np.ndarray]: sorted_indices = np.argsort(-prediction_confidence) matches = matches[sorted_indices] prediction_class_ids = prediction_class_ids[sorted_indices] @@ -437,10 +437,10 @@ def _filter_detections_by_size( def _filter_predictions_and_targets_by_size( self, - predictions_list: List[Detections], - targets_list: List[Detections], + predictions_list: list[Detections], + targets_list: list[Detections], size_category: ObjectSizeCategory, - ) -> Tuple[List[Detections], List[Detections]]: + ) -> tuple[list[Detections], list[Detections]]: """ Filter predictions and targets by object size category. """ @@ -501,9 +501,9 @@ def recall_at_75(self) -> float: iou_thresholds: np.ndarray matched_classes: np.ndarray - small_objects: Optional[RecallResult] - medium_objects: Optional[RecallResult] - large_objects: Optional[RecallResult] + small_objects: RecallResult | None + medium_objects: RecallResult | None + large_objects: RecallResult | None def __str__(self) -> str: """ @@ -557,7 +557,7 @@ def __str__(self) -> str: return out_str - def to_pandas(self) -> "pd.DataFrame": + def to_pandas(self) -> pd.DataFrame: """ Convert the result to a pandas DataFrame. diff --git a/supervision/tracker/byte_tracker/core.py b/supervision/tracker/byte_tracker/core.py index cb46af7339..7b5067636d 100644 --- a/supervision/tracker/byte_tracker/core.py +++ b/supervision/tracker/byte_tracker/core.py @@ -1,5 +1,3 @@ -from typing import List, Tuple - import numpy as np from supervision.detection.core import Detections @@ -55,9 +53,9 @@ def __init__( self.kalman_filter = KalmanFilter() self.shared_kalman = KalmanFilter() - self.tracked_tracks: List[STrack] = [] - self.lost_tracks: List[STrack] = [] - self.removed_tracks: List[STrack] = [] + self.tracked_tracks: list[STrack] = [] + self.lost_tracks: list[STrack] = [] + self.removed_tracks: list[STrack] = [] # Warning, possible bug: If you also set internal_id to start at 1, # all traces will be connected across objects. @@ -150,7 +148,7 @@ def reset(self) -> None: self.lost_tracks = [] self.removed_tracks = [] - def update_with_tensors(self, tensors: np.ndarray) -> List[STrack]: + def update_with_tensors(self, tensors: np.ndarray) -> list[STrack]: """ Updates the tracker with the provided tensors and returns the updated tracks. @@ -315,8 +313,8 @@ def update_with_tensors(self, tensors: np.ndarray) -> List[STrack]: def joint_tracks( - track_list_a: List[STrack], track_list_b: List[STrack] -) -> List[STrack]: + track_list_a: list[STrack], track_list_b: list[STrack] +) -> list[STrack]: """ Joins two lists of tracks, ensuring that the resulting list does not contain tracks with duplicate internal_track_id values. @@ -340,7 +338,7 @@ def joint_tracks( return result -def sub_tracks(track_list_a: List[STrack], track_list_b: List[STrack]) -> List[int]: +def sub_tracks(track_list_a: list[STrack], track_list_b: list[STrack]) -> list[int]: """ Returns a list of tracks from track_list_a after removing any tracks that share the same internal_track_id with tracks in track_list_b. @@ -362,8 +360,8 @@ def sub_tracks(track_list_a: List[STrack], track_list_b: List[STrack]) -> List[i def remove_duplicate_tracks( - tracks_a: List[STrack], tracks_b: List[STrack] -) -> Tuple[List[STrack], List[STrack]]: + tracks_a: list[STrack], tracks_b: list[STrack] +) -> tuple[list[STrack], list[STrack]]: pairwise_distance = matching.iou_distance(tracks_a, tracks_b) matching_pairs = np.where(pairwise_distance < 0.15) diff --git a/supervision/tracker/byte_tracker/kalman_filter.py b/supervision/tracker/byte_tracker/kalman_filter.py index f55fa6d76b..5b678ec54c 100644 --- a/supervision/tracker/byte_tracker/kalman_filter.py +++ b/supervision/tracker/byte_tracker/kalman_filter.py @@ -1,5 +1,3 @@ -from typing import Tuple - import numpy as np import scipy.linalg @@ -30,7 +28,7 @@ def __init__(self): self._std_weight_position = 1.0 / 20 self._std_weight_velocity = 1.0 / 160 - def initiate(self, measurement: np.ndarray) -> Tuple[np.ndarray, np.ndarray]: + def initiate(self, measurement: np.ndarray) -> tuple[np.ndarray, np.ndarray]: """ Create track from an unassociated measurement. @@ -62,7 +60,7 @@ def initiate(self, measurement: np.ndarray) -> Tuple[np.ndarray, np.ndarray]: def predict( self, mean: np.ndarray, covariance: np.ndarray - ) -> Tuple[np.ndarray, np.ndarray]: + ) -> tuple[np.ndarray, np.ndarray]: """ Run Kalman filter prediction step. @@ -101,7 +99,7 @@ def predict( def project( self, mean: np.ndarray, covariance: np.ndarray - ) -> Tuple[np.ndarray, np.ndarray]: + ) -> tuple[np.ndarray, np.ndarray]: """ Project state distribution to measurement space. @@ -129,7 +127,7 @@ def project( def multi_predict( self, mean: np.ndarray, covariance: np.ndarray - ) -> Tuple[np.ndarray, np.ndarray]: + ) -> tuple[np.ndarray, np.ndarray]: """ Run Kalman filter prediction step (Vectorized version). @@ -171,7 +169,7 @@ def multi_predict( def update( self, mean: np.ndarray, covariance: np.ndarray, measurement: np.ndarray - ) -> Tuple[np.ndarray, np.ndarray]: + ) -> tuple[np.ndarray, np.ndarray]: """ Run Kalman filter correction step. diff --git a/supervision/tracker/byte_tracker/matching.py b/supervision/tracker/byte_tracker/matching.py index eb774d4c40..5850dc9ed4 100644 --- a/supervision/tracker/byte_tracker/matching.py +++ b/supervision/tracker/byte_tracker/matching.py @@ -1,6 +1,6 @@ from __future__ import annotations -from typing import TYPE_CHECKING, List, Tuple +from typing import TYPE_CHECKING import numpy as np from scipy.optimize import linear_sum_assignment @@ -13,7 +13,7 @@ def indices_to_matches( cost_matrix: np.ndarray, indices: np.ndarray, thresh: float -) -> Tuple[np.ndarray, tuple, tuple]: +) -> tuple[np.ndarray, tuple, tuple]: matched_cost = cost_matrix[tuple(zip(*indices))] matched_mask = matched_cost <= thresh @@ -25,7 +25,7 @@ def indices_to_matches( def linear_assignment( cost_matrix: np.ndarray, thresh: float -) -> Tuple[np.ndarray, Tuple[int], Tuple[int, int]]: +) -> tuple[np.ndarray, tuple[int], tuple[int, int]]: if cost_matrix.size == 0: return ( np.empty((0, 2), dtype=int), @@ -40,7 +40,7 @@ def linear_assignment( return indices_to_matches(cost_matrix, indices, thresh) -def iou_distance(atracks: List[STrack], btracks: List[STrack]) -> np.ndarray: +def iou_distance(atracks: list[STrack], btracks: list[STrack]) -> np.ndarray: if (len(atracks) > 0 and isinstance(atracks[0], np.ndarray)) or ( len(btracks) > 0 and isinstance(btracks[0], np.ndarray) ): @@ -58,7 +58,7 @@ def iou_distance(atracks: List[STrack], btracks: List[STrack]) -> np.ndarray: return cost_matrix -def fuse_score(cost_matrix: np.ndarray, stracks: List[STrack]) -> np.ndarray: +def fuse_score(cost_matrix: np.ndarray, stracks: list[STrack]) -> np.ndarray: if cost_matrix.size == 0: return cost_matrix iou_sim = 1 - cost_matrix diff --git a/supervision/tracker/byte_tracker/single_object_track.py b/supervision/tracker/byte_tracker/single_object_track.py index 3b9bfdf2d0..b204137067 100644 --- a/supervision/tracker/byte_tracker/single_object_track.py +++ b/supervision/tracker/byte_tracker/single_object_track.py @@ -1,7 +1,6 @@ from __future__ import annotations from enum import Enum -from typing import List import numpy as np import numpy.typing as npt @@ -57,7 +56,7 @@ def predict(self) -> None: ) @staticmethod - def multi_predict(stracks: List[STrack], shared_kalman: KalmanFilter) -> None: + def multi_predict(stracks: list[STrack], shared_kalman: KalmanFilter) -> None: if len(stracks) > 0: multi_mean = [] multi_covariance = [] diff --git a/supervision/utils/conversion.py b/supervision/utils/conversion.py index 646d7dcf25..79ec500300 100644 --- a/supervision/utils/conversion.py +++ b/supervision/utils/conversion.py @@ -1,5 +1,4 @@ from functools import wraps -from typing import List import cv2 import numpy as np @@ -80,7 +79,7 @@ def wrapper(self, scene: ImageType, *args, **kwargs): return wrapper -def images_to_cv2(images: List[ImageType]) -> List[np.ndarray]: +def images_to_cv2(images: list[ImageType]) -> list[np.ndarray]: """ Converts images provided either as Pillow images or OpenCV images into OpenCV format. diff --git a/supervision/utils/file.py b/supervision/utils/file.py index 987bf64f3e..82c32ef3d0 100644 --- a/supervision/utils/file.py +++ b/supervision/utils/file.py @@ -1,6 +1,6 @@ import json from pathlib import Path -from typing import Dict, List, Optional, Union +from typing import Optional, Union import numpy as np import yaml @@ -14,12 +14,12 @@ def default(self, obj): return float(obj) if isinstance(obj, np.ndarray): return obj.tolist() - return super(NumpyJsonEncoder, self).default(obj) + return super().default(obj) def list_files_with_extensions( - directory: Union[str, Path], extensions: Optional[List[str]] = None -) -> List[Path]: + directory: Union[str, Path], extensions: Optional[list[str]] = None +) -> list[Path]: """ List files in a directory with specified extensions or all files if no extensions are provided. @@ -57,7 +57,7 @@ def list_files_with_extensions( return files_with_extensions -def read_txt_file(file_path: Union[str, Path], skip_empty: bool = False) -> List[str]: +def read_txt_file(file_path: Union[str, Path], skip_empty: bool = False) -> list[str]: """ Read a text file and return a list of strings without newline characters. Optionally skip empty lines. @@ -70,7 +70,7 @@ def read_txt_file(file_path: Union[str, Path], skip_empty: bool = False) -> List Returns: List[str]: A list of strings representing the lines in the text file. """ - with open(str(file_path), "r") as file: + with open(str(file_path)) as file: if skip_empty: lines = [line.rstrip("\n") for line in file if line.strip()] else: @@ -79,7 +79,7 @@ def read_txt_file(file_path: Union[str, Path], skip_empty: bool = False) -> List return lines -def save_text_file(lines: List[str], file_path: Union[str, Path]) -> None: +def save_text_file(lines: list[str], file_path: Union[str, Path]) -> None: """ Write a list of strings to a text file, each string on a new line. @@ -92,7 +92,7 @@ def save_text_file(lines: List[str], file_path: Union[str, Path]) -> None: file.write(line + "\n") -def read_json_file(file_path: Union[str, Path]) -> Dict: +def read_json_file(file_path: Union[str, Path]) -> dict: """ Read a json file and return a dict. @@ -102,7 +102,7 @@ def read_json_file(file_path: Union[str, Path]) -> Dict: Returns: dict: A dict of annotations information """ - with open(str(file_path), "r") as file: + with open(str(file_path)) as file: data = json.load(file) return data @@ -120,7 +120,7 @@ def save_json_file(data: dict, file_path: Union[str, Path], indent: int = 3) -> json.dump(data, fp, cls=NumpyJsonEncoder, indent=indent) -def read_yaml_file(file_path: Union[str, Path]) -> Dict: +def read_yaml_file(file_path: Union[str, Path]) -> dict: """ Read a yaml file and return a dict. @@ -130,7 +130,7 @@ def read_yaml_file(file_path: Union[str, Path]) -> Dict: Returns: dict: A dict of content information """ - with open(str(file_path), "r") as file: + with open(str(file_path)) as file: data = yaml.safe_load(file) return data diff --git a/supervision/utils/image.py b/supervision/utils/image.py index 37025656b3..b34872fcf8 100644 --- a/supervision/utils/image.py +++ b/supervision/utils/image.py @@ -3,7 +3,7 @@ import os import shutil from functools import partial -from typing import Callable, List, Literal, Optional, Tuple, Union +from typing import Callable, Literal, Optional, Union import cv2 import numpy as np @@ -28,7 +28,7 @@ @ensure_cv2_image_for_processing def crop_image( image: ImageType, - xyxy: Union[npt.NDArray[int], List[int], Tuple[int, int, int, int]], + xyxy: Union[npt.NDArray[int], list[int], tuple[int, int, int, int]], ) -> ImageType: """ Crops the given image based on the given bounding box. @@ -146,7 +146,7 @@ def scale_image(image: ImageType, scale_factor: float) -> ImageType: @ensure_cv2_image_for_processing def resize_image( image: ImageType, - resolution_wh: Tuple[int, int], + resolution_wh: tuple[int, int], keep_aspect_ratio: bool = False, ) -> ImageType: """ @@ -219,8 +219,8 @@ def resize_image( @ensure_cv2_image_for_processing def letterbox_image( image: ImageType, - resolution_wh: Tuple[int, int], - color: Union[Tuple[int, int, int], Color] = Color.BLACK, + resolution_wh: tuple[int, int], + color: Union[tuple[int, int, int], Color] = Color.BLACK, ) -> ImageType: """ Resizes and pads an image to a specified resolution with a given color, maintaining @@ -302,7 +302,7 @@ def letterbox_image( def overlay_image( image: npt.NDArray[np.uint8], overlay: npt.NDArray[np.uint8], - anchor: Tuple[int, int], + anchor: tuple[int, int], ) -> npt.NDArray[np.uint8]: """ Places an image onto a scene at a given anchor point, handling cases where @@ -435,22 +435,22 @@ def __exit__(self, exc_type, exc_value, exc_traceback): def create_tiles( - images: List[ImageType], - grid_size: Optional[Tuple[Optional[int], Optional[int]]] = None, - single_tile_size: Optional[Tuple[int, int]] = None, + images: list[ImageType], + grid_size: Optional[tuple[Optional[int], Optional[int]]] = None, + single_tile_size: Optional[tuple[int, int]] = None, tile_scaling: Literal["min", "max", "avg"] = "avg", - tile_padding_color: Union[Tuple[int, int, int], Color] = Color.from_hex("#D9D9D9"), + tile_padding_color: Union[tuple[int, int, int], Color] = Color.from_hex("#D9D9D9"), tile_margin: int = 10, - tile_margin_color: Union[Tuple[int, int, int], Color] = Color.from_hex("#BFBEBD"), + tile_margin_color: Union[tuple[int, int, int], Color] = Color.from_hex("#BFBEBD"), return_type: Literal["auto", "cv2", "pillow"] = "auto", - titles: Optional[List[Optional[str]]] = None, - titles_anchors: Optional[Union[Point, List[Optional[Point]]]] = None, - titles_color: Union[Tuple[int, int, int], Color] = Color.from_hex("#262523"), + titles: Optional[list[Optional[str]]] = None, + titles_anchors: Optional[Union[Point, list[Optional[Point]]]] = None, + titles_color: Union[tuple[int, int, int], Color] = Color.from_hex("#262523"), titles_scale: Optional[float] = None, titles_thickness: int = 1, titles_padding: int = 10, titles_text_font: int = cv2.FONT_HERSHEY_SIMPLEX, - titles_background_color: Union[Tuple[int, int, int], Color] = Color.from_hex( + titles_background_color: Union[tuple[int, int, int], Color] = Color.from_hex( "#D9D9D9" ), default_title_placement: RelativePosition = "top", @@ -579,7 +579,7 @@ def create_tiles( return tiles -def _negotiate_tiles_format(images: List[ImageType]) -> Literal["cv2", "pillow"]: +def _negotiate_tiles_format(images: list[ImageType]) -> Literal["cv2", "pillow"]: number_of_np_arrays = sum(issubclass(type(i), np.ndarray) for i in images) if number_of_np_arrays >= (len(images) // 2): return "cv2" @@ -587,8 +587,8 @@ def _negotiate_tiles_format(images: List[ImageType]) -> Literal["cv2", "pillow"] def _calculate_aggregated_images_shape( - images: List[np.ndarray], aggregator: Callable[[List[int]], float] -) -> Tuple[int, int]: + images: list[np.ndarray], aggregator: Callable[[list[int]], float] +) -> tuple[int, int]: height = round(aggregator([i.shape[0] for i in images])) width = round(aggregator([i.shape[1] for i in images])) return width, height @@ -602,8 +602,8 @@ def _calculate_aggregated_images_shape( def _aggregate_images_shape( - images: List[np.ndarray], mode: Literal["min", "max", "avg"] -) -> Tuple[int, int]: + images: list[np.ndarray], mode: Literal["min", "max", "avg"] +) -> tuple[int, int]: if mode not in SHAPE_AGGREGATION_FUN: raise ValueError( f"Could not aggregate images shape - provided unknown mode: {mode}. " @@ -613,8 +613,8 @@ def _aggregate_images_shape( def _establish_grid_size( - images: List[np.ndarray], grid_size: Optional[Tuple[Optional[int], Optional[int]]] -) -> Tuple[int, int]: + images: list[np.ndarray], grid_size: Optional[tuple[Optional[int], Optional[int]]] +) -> tuple[int, int]: if grid_size is None or all(e is None for e in grid_size): return _negotiate_grid_size(images=images) if grid_size[0] is None: @@ -624,7 +624,7 @@ def _establish_grid_size( return grid_size -def _negotiate_grid_size(images: List[np.ndarray]) -> Tuple[int, int]: +def _negotiate_grid_size(images: list[np.ndarray]) -> tuple[int, int]: if len(images) <= MAX_COLUMNS_FOR_SINGLE_ROW_GRID: return 1, len(images) nearest_sqrt = math.ceil(np.sqrt(len(images))) @@ -636,20 +636,20 @@ def _negotiate_grid_size(images: List[np.ndarray]) -> Tuple[int, int]: def _generate_tiles( - images: List[np.ndarray], - grid_size: Tuple[int, int], - single_tile_size: Tuple[int, int], - tile_padding_color: Tuple[int, int, int], + images: list[np.ndarray], + grid_size: tuple[int, int], + single_tile_size: tuple[int, int], + tile_padding_color: tuple[int, int, int], tile_margin: int, - tile_margin_color: Tuple[int, int, int], - titles: Optional[List[Optional[str]]], - titles_anchors: List[Optional[Point]], - titles_color: Tuple[int, int, int], + tile_margin_color: tuple[int, int, int], + titles: Optional[list[Optional[str]]], + titles_anchors: list[Optional[Point]], + titles_color: tuple[int, int, int], titles_scale: Optional[float], titles_thickness: int, titles_padding: int, titles_text_font: int, - titles_background_color: Tuple[int, int, int], + titles_background_color: tuple[int, int, int], default_title_placement: RelativePosition, ) -> np.ndarray: images = _draw_texts( @@ -685,17 +685,17 @@ def _generate_tiles( def _draw_texts( - images: List[np.ndarray], - titles: Optional[List[Optional[str]]], - titles_anchors: List[Optional[Point]], - titles_color: Tuple[int, int, int], + images: list[np.ndarray], + titles: Optional[list[Optional[str]]], + titles_anchors: list[Optional[Point]], + titles_color: tuple[int, int, int], titles_scale: Optional[float], titles_thickness: int, titles_padding: int, titles_text_font: int, - titles_background_color: Tuple[int, int, int], + titles_background_color: tuple[int, int, int], default_title_placement: RelativePosition, -) -> List[np.ndarray]: +) -> list[np.ndarray]: if titles is None: return images titles_anchors = _prepare_default_titles_anchors( @@ -729,10 +729,10 @@ def _draw_texts( def _prepare_default_titles_anchors( - images: List[np.ndarray], - titles_anchors: List[Optional[Point]], + images: list[np.ndarray], + titles_anchors: list[Optional[Point]], default_title_placement: RelativePosition, -) -> List[Point]: +) -> list[Point]: result = [] for image, anchor in zip(images, titles_anchors): if anchor is not None: @@ -748,11 +748,11 @@ def _prepare_default_titles_anchors( def _merge_tiles_elements( - tiles_elements: List[List[np.ndarray]], - grid_size: Tuple[int, int], - single_tile_size: Tuple[int, int], + tiles_elements: list[list[np.ndarray]], + grid_size: tuple[int, int], + single_tile_size: tuple[int, int], tile_margin: int, - tile_margin_color: Tuple[int, int, int], + tile_margin_color: tuple[int, int, int], ) -> np.ndarray: vertical_padding = ( np.ones((single_tile_size[1], tile_margin, 3)) * tile_margin_color @@ -783,6 +783,6 @@ def _merge_tiles_elements( def _generate_color_image( - shape: Tuple[int, int], color: Tuple[int, int, int] + shape: tuple[int, int], color: tuple[int, int, int] ) -> np.ndarray: return np.ones((*shape[::-1], 3), dtype=np.uint8) * color diff --git a/supervision/utils/internal.py b/supervision/utils/internal.py index 10f4a450d5..94b5465c37 100644 --- a/supervision/utils/internal.py +++ b/supervision/utils/internal.py @@ -2,7 +2,7 @@ import inspect import os import warnings -from typing import Any, Callable, Generic, Optional, Set, TypeVar +from typing import Any, Callable, Generic, Optional, TypeVar class SupervisionWarnings(Warning): @@ -161,7 +161,7 @@ def __get__(self, owner_self: Any, owner_cls: Optional[type] = None) -> T: return self.fget(owner_cls) -def get_instance_variables(instance: Any, include_properties=False) -> Set[str]: +def get_instance_variables(instance: Any, include_properties=False) -> set[str]: """ Get the public variables of a class instance. @@ -179,22 +179,18 @@ def get_instance_variables(instance: Any, include_properties=False) -> Set[str]: if isinstance(instance, type): raise ValueError("Only class instances are supported, not classes.") - fields = set( - ( - name - for name, val in inspect.getmembers(instance) - if not callable(val) and not name.startswith("_") - ) - ) + fields = { + name + for name, val in inspect.getmembers(instance) + if not callable(val) and not name.startswith("_") + } if not include_properties: - properties = set( - ( - name - for name, val in inspect.getmembers(instance.__class__) - if isinstance(val, property) - ) - ) + properties = { + name + for name, val in inspect.getmembers(instance.__class__) + if isinstance(val, property) + } fields -= properties return fields diff --git a/supervision/utils/iterables.py b/supervision/utils/iterables.py index 29601d6249..66116740dc 100644 --- a/supervision/utils/iterables.py +++ b/supervision/utils/iterables.py @@ -1,11 +1,12 @@ -from typing import Generator, Iterable, List, TypeVar +from collections.abc import Generator, Iterable +from typing import TypeVar V = TypeVar("V") def create_batches( sequence: Iterable[V], batch_size: int -) -> Generator[List[V], None, None]: +) -> Generator[list[V], None, None]: """ Provides a generator that yields chunks of the input sequence of the size specified by the `batch_size` parameter. The last @@ -40,7 +41,7 @@ def create_batches( yield current_batch -def fill(sequence: List[V], desired_size: int, content: V) -> List[V]: +def fill(sequence: list[V], desired_size: int, content: V) -> list[V]: """ Fill the sequence with padding elements until the sequence reaches the desired size. @@ -70,7 +71,7 @@ def fill(sequence: List[V], desired_size: int, content: V) -> List[V]: return sequence -def find_duplicates(sequence: List) -> List: +def find_duplicates(sequence: list) -> list: """ Find all duplicate elements in the input sequence. """ diff --git a/supervision/utils/notebook.py b/supervision/utils/notebook.py index e40ed2b59e..5e7091f8bd 100644 --- a/supervision/utils/notebook.py +++ b/supervision/utils/notebook.py @@ -1,4 +1,4 @@ -from typing import List, Optional, Tuple +from typing import Optional import cv2 import matplotlib.pyplot as plt @@ -9,7 +9,7 @@ def plot_image( - image: ImageType, size: Tuple[int, int] = (12, 12), cmap: Optional[str] = "gray" + image: ImageType, size: tuple[int, int] = (12, 12), cmap: Optional[str] = "gray" ) -> None: """ Plots image using matplotlib. @@ -46,10 +46,10 @@ def plot_image( def plot_images_grid( - images: List[ImageType], - grid_size: Tuple[int, int], - titles: Optional[List[str]] = None, - size: Tuple[int, int] = (12, 12), + images: list[ImageType], + grid_size: tuple[int, int], + titles: Optional[list[str]] = None, + size: tuple[int, int] = (12, 12), cmap: Optional[str] = "gray", ) -> None: """ diff --git a/supervision/utils/video.py b/supervision/utils/video.py index 67f5191d39..32d1879b30 100644 --- a/supervision/utils/video.py +++ b/supervision/utils/video.py @@ -2,8 +2,9 @@ import time from collections import deque +from collections.abc import Generator from dataclasses import dataclass -from typing import Callable, Generator, Optional, Tuple +from typing import Callable import cv2 import numpy as np @@ -40,7 +41,7 @@ class VideoInfo: width: int height: int fps: int - total_frames: Optional[int] = None + total_frames: int | None = None @classmethod def from_video_path(cls, video_path: str) -> VideoInfo: @@ -56,7 +57,7 @@ def from_video_path(cls, video_path: str) -> VideoInfo: return VideoInfo(width, height, fps, total_frames) @property - def resolution_wh(self) -> Tuple[int, int]: + def resolution_wh(self) -> tuple[int, int]: return self.width, self.height @@ -118,7 +119,7 @@ def __exit__(self, exc_type, exc_value, exc_traceback): def _validate_and_setup_video( - source_path: str, start: int, end: Optional[int], iterative_seek: bool = False + source_path: str, start: int, end: int | None, iterative_seek: bool = False ): video = cv2.VideoCapture(source_path) if not video.isOpened(): @@ -145,9 +146,9 @@ def get_video_frames_generator( source_path: str, stride: int = 1, start: int = 0, - end: Optional[int] = None, + end: int | None = None, iterative_seek: bool = False, -) -> Generator[np.ndarray, None, None]: +) -> Generator[np.ndarray]: """ Get a generator that yields the frames of the video. @@ -196,7 +197,7 @@ def process_video( source_path: str, target_path: str, callback: Callable[[np.ndarray, int], np.ndarray], - max_frames: Optional[int] = None, + max_frames: int | None = None, show_progress: bool = False, progress_message: str = "Processing video", ) -> None: diff --git a/supervision/validators/__init__.py b/supervision/validators/__init__.py index 29ac0da9b3..cc92648c03 100644 --- a/supervision/validators/__init__.py +++ b/supervision/validators/__init__.py @@ -79,7 +79,7 @@ def validate_tracker_id(tracker_id: Any, n: int) -> None: ) -def validate_data(data: Dict[str, Any], n: int) -> None: +def validate_data(data: dict[str, Any], n: int) -> None: for key, value in data.items(): if isinstance(value, list): if len(value) != n: @@ -115,7 +115,7 @@ def validate_detections_fields( class_id: Any, confidence: Any, tracker_id: Any, - data: Dict[str, Any], + data: dict[str, Any], ) -> None: validate_xyxy(xyxy) n = len(xyxy) @@ -130,7 +130,7 @@ def validate_keypoints_fields( xy: Any, class_id: Any, confidence: Any, - data: Dict[str, Any], + data: dict[str, Any], ) -> None: n = len(xy) m = len(xy[0]) if len(xy) > 0 else 0 diff --git a/test/classification/test_core.py b/test/classification/test_core.py index 83a441b18d..9ab04e63bc 100644 --- a/test/classification/test_core.py +++ b/test/classification/test_core.py @@ -1,5 +1,5 @@ from contextlib import ExitStack as DoesNotRaise -from typing import Optional, Tuple +from typing import Optional import numpy as np import pytest @@ -51,7 +51,7 @@ def test_top_k( class_id: np.ndarray, confidence: Optional[np.ndarray], k: int, - expected_result: Optional[Tuple[np.ndarray, np.ndarray]], + expected_result: Optional[tuple[np.ndarray, np.ndarray]], exception: Exception, ) -> None: with exception: diff --git a/test/dataset/formats/test_coco.py b/test/dataset/formats/test_coco.py index b8f5346198..d9748cf360 100644 --- a/test/dataset/formats/test_coco.py +++ b/test/dataset/formats/test_coco.py @@ -1,5 +1,5 @@ from contextlib import ExitStack as DoesNotRaise -from typing import Dict, List, Optional, Tuple, Union +from typing import Optional, Union import numpy as np import pytest @@ -19,9 +19,9 @@ def mock_coco_annotation( annotation_id: int = 0, image_id: int = 0, category_id: int = 0, - bbox: Tuple[float, float, float, float] = (0.0, 0.0, 0.0, 0.0), + bbox: tuple[float, float, float, float] = (0.0, 0.0, 0.0, 0.0), area: float = 0.0, - segmentation: Optional[Union[List[list], Dict]] = None, + segmentation: Optional[Union[list[list], dict]] = None, iscrowd: bool = False, ) -> dict: if not segmentation: @@ -78,7 +78,7 @@ def mock_coco_annotation( ], ) def test_coco_categories_to_classes( - coco_categories: List[dict], expected_result: List[str], exception: Exception + coco_categories: list[dict], expected_result: list[str], exception: Exception ) -> None: with exception: result = coco_categories_to_classes(coco_categories=coco_categories) @@ -94,7 +94,7 @@ def test_coco_categories_to_classes( ], ) def test_classes_to_coco_categories_and_back_to_classes( - classes: List[str], exception: Exception + classes: list[str], exception: Exception ) -> None: with exception: coco_categories = classes_to_coco_categories(classes=classes) @@ -154,7 +154,7 @@ def test_classes_to_coco_categories_and_back_to_classes( ], ) def test_group_coco_annotations_by_image_id( - coco_annotations: List[dict], expected_result: dict, exception: Exception + coco_annotations: list[dict], expected_result: dict, exception: Exception ) -> None: with exception: result = group_coco_annotations_by_image_id(coco_annotations=coco_annotations) @@ -582,8 +582,8 @@ def test_group_coco_annotations_by_image_id( ], ) def test_coco_annotations_to_detections( - image_annotations: List[dict], - resolution_wh: Tuple[int, int], + image_annotations: list[dict], + resolution_wh: tuple[int, int], with_masks: bool, use_iscrowd: bool, expected_result: Detections, @@ -646,9 +646,9 @@ def test_coco_annotations_to_detections( ], ) def test_build_coco_class_index_mapping( - coco_categories: List[dict], - target_classes: List[str], - expected_result: Dict[int, int], + coco_categories: list[dict], + target_classes: list[str], + expected_result: dict[int, int], exception: Exception, ) -> None: with exception: @@ -774,7 +774,7 @@ def test_detections_to_coco_annotations( detections: Detections, image_id: int, annotation_id: int, - expected_result: List[Dict], + expected_result: list[dict], exception: Exception, ) -> None: with exception: diff --git a/test/dataset/formats/test_pascal_voc.py b/test/dataset/formats/test_pascal_voc.py index 80d83cc70f..3006e22793 100644 --- a/test/dataset/formats/test_pascal_voc.py +++ b/test/dataset/formats/test_pascal_voc.py @@ -1,5 +1,5 @@ from contextlib import ExitStack as DoesNotRaise -from typing import List, Optional +from typing import Optional import numpy as np import pytest @@ -84,7 +84,7 @@ def test_object_to_pascal_voc( ) def test_parse_polygon_points( polygon_element, - expected_result: List[list], + expected_result: list[list], exception, ): with exception: diff --git a/test/dataset/formats/test_yolo.py b/test/dataset/formats/test_yolo.py index 70f0e362a1..62774a5d85 100644 --- a/test/dataset/formats/test_yolo.py +++ b/test/dataset/formats/test_yolo.py @@ -1,5 +1,5 @@ from contextlib import ExitStack as DoesNotRaise -from typing import List, Optional, Tuple +from typing import Optional import numpy as np import pytest @@ -13,7 +13,7 @@ from supervision.detection.core import Detections -def _mock_simple_mask(resolution_wh: Tuple[int, int], box: List[int]) -> np.ndarray: +def _mock_simple_mask(resolution_wh: tuple[int, int], box: list[int]) -> np.ndarray: x_min, y_min, x_max, y_max = box mask = np.full(resolution_wh, False, dtype=bool) mask[y_min:y_max, x_min:x_max] = True @@ -57,7 +57,7 @@ def _arrays_almost_equal( ], ) def test_with_mask( - lines: List[str], expected_result: Optional[bool], exception: Exception + lines: list[str], expected_result: Optional[bool], exception: Exception ) -> None: with exception: result = _with_mask(lines=lines) @@ -171,8 +171,8 @@ def test_with_mask( ], ) def test_yolo_annotations_to_detections( - lines: List[str], - resolution_wh: Tuple[int, int], + lines: list[str], + resolution_wh: tuple[int, int], with_masks: bool, expected_result: Optional[Detections], exception: Exception, @@ -267,7 +267,7 @@ def test_image_name_to_annotation_name( def test_object_to_yolo( xyxy: np.ndarray, class_id: int, - image_shape: Tuple[int, int, int], + image_shape: tuple[int, int, int], polygon: Optional[np.ndarray], expected_result: Optional[str], exception: Exception, diff --git a/test/dataset/test_core.py b/test/dataset/test_core.py index 1a898cf6a3..3cc19a8055 100644 --- a/test/dataset/test_core.py +++ b/test/dataset/test_core.py @@ -1,5 +1,5 @@ from contextlib import ExitStack as DoesNotRaise -from typing import List, Optional +from typing import Optional import pytest @@ -158,7 +158,7 @@ ], ) def test_dataset_merge( - dataset_list: List[DetectionDataset], + dataset_list: list[DetectionDataset], expected_result: Optional[DetectionDataset], exception: Exception, ) -> None: diff --git a/test/dataset/test_utils.py b/test/dataset/test_utils.py index dcbe6d19e5..758e6d4cb2 100644 --- a/test/dataset/test_utils.py +++ b/test/dataset/test_utils.py @@ -1,5 +1,5 @@ from contextlib import ExitStack as DoesNotRaise -from typing import Dict, List, Optional, Tuple, TypeVar +from typing import Optional, TypeVar import numpy as np import numpy.typing as npt @@ -74,11 +74,11 @@ ], ) def test_train_test_split( - data: List[T], + data: list[T], train_ratio: float, random_state: int, shuffle: bool, - expected_result: Optional[Tuple[List[T], List[T]]], + expected_result: Optional[tuple[list[T], list[T]]], exception: Exception, ) -> None: with exception: @@ -118,7 +118,7 @@ def test_train_test_split( ], ) def test_merge_class_maps( - class_lists: List[List[str]], expected_result: List[str], exception: Exception + class_lists: list[list[str]], expected_result: list[str], exception: Exception ) -> None: with exception: result = merge_class_lists(class_lists=class_lists) @@ -163,9 +163,9 @@ def test_merge_class_maps( ], ) def test_build_class_index_mapping( - source_classes: List[str], - target_classes: List[str], - expected_result: Optional[Dict[int, int]], + source_classes: list[str], + target_classes: list[str], + expected_result: Optional[dict[int, int]], exception: Exception, ) -> None: with exception: @@ -223,7 +223,7 @@ def test_build_class_index_mapping( ], ) def test_map_detections_class_id( - source_to_target_mapping: Dict[int, int], + source_to_target_mapping: dict[int, int], detections: Detections, expected_result: Optional[Detections], exception: Exception, @@ -287,7 +287,7 @@ def test_map_detections_class_id( ], ) def test_mask_to_rle( - mask: npt.NDArray[np.bool_], expected_rle: List[int], exception: Exception + mask: npt.NDArray[np.bool_], expected_rle: list[int], exception: Exception ) -> None: with exception: result = mask_to_rle(mask=mask) @@ -354,7 +354,7 @@ def test_mask_to_rle( ) def test_rle_to_mask( rle: npt.NDArray[np.int_], - resolution_wh: Tuple[int, int], + resolution_wh: tuple[int, int], expected_mask: npt.NDArray[np.bool_], exception: Exception, ) -> None: diff --git a/test/detection/test_core.py b/test/detection/test_core.py index dfa784fcb4..c0270f70ec 100644 --- a/test/detection/test_core.py +++ b/test/detection/test_core.py @@ -1,5 +1,5 @@ from contextlib import ExitStack as DoesNotRaise -from typing import List, Optional, Union +from typing import Optional, Union import numpy as np import pytest @@ -233,7 +233,7 @@ ) def test_getitem( detections: Detections, - index: Union[int, slice, List[int], np.ndarray], + index: Union[int, slice, list[int], np.ndarray], expected_result: Optional[Detections], exception: Exception, ) -> None: @@ -505,7 +505,7 @@ def test_getitem( ], ) def test_merge( - detections_list: List[Detections], + detections_list: list[Detections], expected_result: Optional[Detections], exception: Exception, ) -> None: diff --git a/test/detection/test_csv.py b/test/detection/test_csv.py index 0c51a0e3c1..bad4b8a111 100644 --- a/test/detection/test_csv.py +++ b/test/detection/test_csv.py @@ -1,6 +1,6 @@ import csv import os -from typing import Any, Dict, List +from typing import Any import pytest @@ -192,11 +192,11 @@ ) def test_csv_sink( detections: mock_detections, - custom_data: Dict[str, Any], + custom_data: dict[str, Any], second_detections: mock_detections, - second_custom_data: Dict[str, Any], + second_custom_data: dict[str, Any], file_name: str, - expected_result: List[List[Any]], + expected_result: list[list[Any]], ) -> None: with sv.CSVSink(file_name) as sink: sink.append(detections, custom_data) @@ -389,11 +389,11 @@ def test_csv_sink( ) def test_csv_sink_manual( detections: mock_detections, - custom_data: Dict[str, Any], + custom_data: dict[str, Any], second_detections: mock_detections, - second_custom_data: Dict[str, Any], + second_custom_data: dict[str, Any], file_name: str, - expected_result: List[List[Any]], + expected_result: list[list[Any]], ) -> None: sink = sv.CSVSink(file_name) sink.open() @@ -405,7 +405,7 @@ def test_csv_sink_manual( def assert_csv_equal(file_name, expected_rows): - with open(file_name, mode="r", newline="") as file: + with open(file_name, newline="") as file: reader = csv.reader(file) for i, row in enumerate(reader): assert [str(item) for item in expected_rows[i]] == row, ( diff --git a/test/detection/test_json.py b/test/detection/test_json.py index b6c8524df0..4dd422e196 100644 --- a/test/detection/test_json.py +++ b/test/detection/test_json.py @@ -1,6 +1,6 @@ import json import os -from typing import Any, Dict, List +from typing import Any import pytest @@ -226,11 +226,11 @@ ) def test_json_sink( detections: mock_detections, - custom_data: Dict[str, Any], + custom_data: dict[str, Any], second_detections: mock_detections, - second_custom_data: Dict[str, Any], + second_custom_data: dict[str, Any], file_name: str, - expected_result: List[List[Any]], + expected_result: list[list[Any]], ) -> None: with sv.JSONSink(file_name) as sink: sink.append(detections, custom_data) @@ -240,7 +240,7 @@ def test_json_sink( def assert_json_equal(file_name, expected_rows): - with open(file_name, "r") as file: + with open(file_name) as file: data = json.load(file) assert data == expected_rows, ( f"Data in JSON file didn't match expected output: {data} != {expected_rows}" diff --git a/test/detection/test_line_counter.py b/test/detection/test_line_counter.py index 0119cf86ed..7291a1c5e9 100644 --- a/test/detection/test_line_counter.py +++ b/test/detection/test_line_counter.py @@ -1,5 +1,5 @@ from contextlib import ExitStack as DoesNotRaise -from typing import List, Optional, Tuple +from typing import Optional import pytest @@ -65,7 +65,7 @@ ) def test_calculate_region_of_interest_limits( vector: Vector, - expected_result: Optional[Tuple[Vector, Vector]], + expected_result: Optional[tuple[Vector, Vector]], exception: Exception, ) -> None: with exception: @@ -233,9 +233,9 @@ def test_calculate_region_of_interest_limits( ) def test_line_zone_one_detection_default_anchors( vector: Vector, - xyxy_sequence: List[List[float]], - expected_crossed_in: List[bool], - expected_crossed_out: List[bool], + xyxy_sequence: list[list[float]], + expected_crossed_in: list[bool], + expected_crossed_out: list[bool], ) -> None: line_zone = LineZone(start=vector.start, end=vector.end) @@ -395,10 +395,10 @@ def test_line_zone_one_detection_default_anchors( ) def test_line_zone_one_detection( vector: Vector, - xyxy_sequence: List[List[float]], - triggering_anchors: List[Position], - expected_crossed_in: List[bool], - expected_crossed_out: List[bool], + xyxy_sequence: list[list[float]], + triggering_anchors: list[Position], + expected_crossed_in: list[bool], + expected_crossed_out: list[bool], ) -> None: line_zone = LineZone( start=vector.start, end=vector.end, triggering_anchors=triggering_anchors @@ -467,10 +467,10 @@ def test_line_zone_one_detection( ) def test_line_zone_multiple_detections( vector: Vector, - xyxy_sequence: List[List[List[float]]], - anchors: List[Position], - expected_crossed_in: List[List[bool]], - expected_crossed_out: List[List[bool]], + xyxy_sequence: list[list[list[float]]], + anchors: list[Position], + expected_crossed_in: list[list[bool]], + expected_crossed_out: list[list[bool]], exception: Exception, ) -> None: with exception: @@ -576,11 +576,11 @@ def test_line_zone_multiple_detections( ) def test_line_zone_one_detection_long_horizon( vector: Vector, - xyxy_sequence: List[List[float]], - triggering_anchors: List[Position], + xyxy_sequence: list[list[float]], + triggering_anchors: list[Position], minimum_crossing_threshold: int, - expected_crossed_in: List[bool], - expected_crossed_out: List[bool], + expected_crossed_in: list[bool], + expected_crossed_out: list[bool], ) -> None: line_zone = LineZone( start=vector.start, @@ -741,13 +741,13 @@ def test_line_zone_one_detection_long_horizon( ) def test_line_zone_long_horizon_disappearing_detections( vector: Vector, - xyxy_sequence: List[List[Optional[List[float]]]], - anchors: List[Position], + xyxy_sequence: list[list[Optional[list[float]]]], + anchors: list[Position], minimum_crossing_threshold: int, - expected_crossed_in: List[List[bool]], - expected_crossed_out: List[List[bool]], - expected_count_in: List[int], - expected_count_out: List[int], + expected_crossed_in: list[list[bool]], + expected_crossed_out: list[list[bool]], + expected_count_in: list[int], + expected_count_out: list[int], exception: Exception, ) -> None: with exception: diff --git a/test/detection/test_overlap_filter.py b/test/detection/test_overlap_filter.py index f628c30f9c..b9d319e132 100644 --- a/test/detection/test_overlap_filter.py +++ b/test/detection/test_overlap_filter.py @@ -1,5 +1,5 @@ from contextlib import ExitStack as DoesNotRaise -from typing import List, Optional +from typing import Optional import numpy as np import pytest @@ -127,7 +127,7 @@ def test_group_overlapping_boxes( predictions: np.ndarray, iou_threshold: float, - expected_result: List[List[int]], + expected_result: list[list[int]], exception: Exception, ) -> None: with exception: diff --git a/test/detection/test_utils.py b/test/detection/test_utils.py index 8808588b24..99762c9136 100644 --- a/test/detection/test_utils.py +++ b/test/detection/test_utils.py @@ -1,5 +1,5 @@ from contextlib import ExitStack as DoesNotRaise -from typing import Any, Dict, List, Optional, Tuple +from typing import Any, Optional import numpy as np import numpy.typing as npt @@ -66,7 +66,7 @@ ) def test_clip_boxes( xyxy: np.ndarray, - resolution_wh: Tuple[int, int], + resolution_wh: tuple[int, int], expected_result: np.ndarray, ) -> None: result = clip_boxes(xyxy=xyxy, resolution_wh=resolution_wh) @@ -152,10 +152,10 @@ def test_clip_boxes( ], ) def test_filter_polygons_by_area( - polygons: List[np.ndarray], + polygons: list[np.ndarray], min_area: Optional[float], max_area: Optional[float], - expected_result: List[np.ndarray], + expected_result: list[np.ndarray], exception: Exception, ) -> None: with exception: @@ -372,7 +372,7 @@ def test_filter_polygons_by_area( ) def test_process_roboflow_result( roboflow_result: dict, - expected_result: Tuple[ + expected_result: tuple[ np.ndarray, np.ndarray, np.ndarray, Optional[np.ndarray], np.ndarray ], exception: Exception, @@ -698,7 +698,7 @@ def test_move_boxes( def test_move_masks( masks: np.ndarray, offset: np.ndarray, - resolution_wh: Tuple[int, int], + resolution_wh: tuple[int, int], expected_result: np.ndarray, exception: Exception, ) -> None: @@ -1032,8 +1032,8 @@ def test_calculate_masks_centroids( ], ) def test_merge_data( - data_list: List[Dict[str, Any]], - expected_result: Optional[Dict[str, Any]], + data_list: list[dict[str, Any]], + expected_result: Optional[dict[str, Any]], exception: Exception, ): with exception: @@ -1207,9 +1207,9 @@ def test_merge_data( ], ) def test_get_data_item( - data: Dict[str, Any], + data: dict[str, Any], index: Any, - expected_result: Optional[Dict[str, Any]], + expected_result: Optional[dict[str, Any]], exception: Exception, ): with exception: diff --git a/test/detection/test_vlm.py b/test/detection/test_vlm.py index 7b9acb0c70..b405ec3312 100644 --- a/test/detection/test_vlm.py +++ b/test/detection/test_vlm.py @@ -1,6 +1,6 @@ from contextlib import ExitStack as DoesNotRaise from contextlib import nullcontext as does_not_raise -from typing import List, Optional, Tuple +from typing import Optional import numpy as np import pytest @@ -183,9 +183,9 @@ def test_from_paligemma( exception, result: str, - resolution_wh: Tuple[int, int], - classes: Optional[List[str]], - expected_results: Tuple[np.ndarray, Optional[np.ndarray], np.ndarray], + resolution_wh: tuple[int, int], + classes: Optional[list[str]], + expected_results: tuple[np.ndarray, Optional[np.ndarray], np.ndarray], ) -> None: with exception: result = from_paligemma( @@ -344,9 +344,9 @@ def test_from_paligemma( def test_from_qwen_2_5_vl( exception, result: str, - input_wh: Tuple[int, int], - resolution_wh: Tuple[int, int], - classes: Optional[List[str]], + input_wh: tuple[int, int], + resolution_wh: tuple[int, int], + classes: Optional[list[str]], expected_results, ) -> None: with exception: @@ -487,9 +487,9 @@ def test_from_qwen_2_5_vl( def test_from_google_gemini( exception, result: str, - resolution_wh: Tuple[int, int], - classes: Optional[List[str]], - expected_results: Tuple[np.ndarray, Optional[np.ndarray], np.ndarray], + resolution_wh: tuple[int, int], + classes: Optional[list[str]], + expected_results: tuple[np.ndarray, Optional[np.ndarray], np.ndarray], ) -> None: with exception: xyxy, class_id, class_name = from_google_gemini( @@ -589,7 +589,7 @@ def test_from_google_gemini( def test_from_moondream( exception, result: dict, - resolution_wh: Tuple[int, int], + resolution_wh: tuple[int, int], expected_results, ) -> None: with exception: @@ -862,8 +862,8 @@ def test_from_moondream( ) def test_florence_2( florence_result: dict, - resolution_wh: Tuple[int, int], - expected_results: Tuple[ + resolution_wh: tuple[int, int], + expected_results: tuple[ np.ndarray, Optional[np.ndarray], Optional[np.ndarray], Optional[np.ndarray] ], exception: Exception, diff --git a/test/detection/tools/test_inference_slicer.py b/test/detection/tools/test_inference_slicer.py index e484f51345..84f3b803e6 100644 --- a/test/detection/tools/test_inference_slicer.py +++ b/test/detection/tools/test_inference_slicer.py @@ -1,5 +1,5 @@ from contextlib import ExitStack as DoesNotRaise -from typing import Optional, Tuple +from typing import Optional import numpy as np import pytest @@ -46,10 +46,10 @@ def callback(_: np.ndarray) -> Detections: ) def test_inference_slicer_overlap( mock_callback, - slice_wh: Tuple[int, int], - overlap_ratio_wh: Optional[Tuple[float, float]], - overlap_wh: Optional[Tuple[int, int]], - expected_overlap: Optional[Tuple[int, int]], + slice_wh: tuple[int, int], + overlap_ratio_wh: Optional[tuple[float, float]], + overlap_wh: Optional[tuple[int, int]], + expected_overlap: Optional[tuple[int, int]], exception: Exception, ) -> None: with exception: @@ -167,9 +167,9 @@ def test_inference_slicer_overlap( ], ) def test_generate_offset( - resolution_wh: Tuple[int, int], - slice_wh: Tuple[int, int], - overlap_wh: Optional[Tuple[int, int]], + resolution_wh: tuple[int, int], + slice_wh: tuple[int, int], + overlap_wh: Optional[tuple[int, int]], expected_offsets: np.ndarray, ) -> None: offsets = InferenceSlicer._generate_offset( diff --git a/test/test_utils.py b/test/test_utils.py index ce1bc13654..8e5ca0160e 100644 --- a/test/test_utils.py +++ b/test/test_utils.py @@ -1,4 +1,4 @@ -from typing import Any, Dict, List, Optional +from typing import Any, Optional import numpy as np import numpy.typing as npt @@ -9,13 +9,13 @@ def mock_detections( xyxy: npt.NDArray[np.float32], - mask: Optional[List[np.ndarray]] = None, - confidence: Optional[List[float]] = None, - class_id: Optional[List[int]] = None, - tracker_id: Optional[List[int]] = None, - data: Optional[Dict[str, List[Any]]] = None, + mask: Optional[list[np.ndarray]] = None, + confidence: Optional[list[float]] = None, + class_id: Optional[list[int]] = None, + tracker_id: Optional[list[int]] = None, + data: Optional[dict[str, list[Any]]] = None, ) -> Detections: - def convert_data(data: Dict[str, List[Any]]): + def convert_data(data: dict[str, list[Any]]): return {k: np.array(v) for k, v in data.items()} return Detections( @@ -34,11 +34,11 @@ def convert_data(data: Dict[str, List[Any]]): def mock_keypoints( xy: npt.NDArray[np.float32], - confidence: Optional[List[float]] = None, - class_id: Optional[List[int]] = None, - data: Optional[Dict[str, List[Any]]] = None, + confidence: Optional[list[float]] = None, + class_id: Optional[list[int]] = None, + data: Optional[dict[str, list[Any]]] = None, ) -> KeyPoints: - def convert_data(data: Dict[str, List[Any]]): + def convert_data(data: dict[str, list[Any]]): return {k: np.array(v) for k, v in data.items()} return KeyPoints( diff --git a/test/tracker/test_byte_tracker.py b/test/tracker/test_byte_tracker.py index 98efeb0938..7ca94bbfd8 100644 --- a/test/tracker/test_byte_tracker.py +++ b/test/tracker/test_byte_tracker.py @@ -1,5 +1,3 @@ -from typing import List - import numpy as np import pytest @@ -32,7 +30,7 @@ ], ) def test_byte_tracker( - detections: List[sv.Detections], + detections: list[sv.Detections], expected_results: sv.Detections, ) -> None: byte_tracker = sv.ByteTrack() diff --git a/test/utils/conftest.py b/test/utils/conftest.py index 4230571b28..967037dd39 100644 --- a/test/utils/conftest.py +++ b/test/utils/conftest.py @@ -1,5 +1,4 @@ import os -from typing import List import cv2 import numpy as np @@ -21,7 +20,7 @@ def empty_pillow_image() -> Image.Image: @fixture(scope="function") -def all_images() -> List[np.ndarray]: +def all_images() -> list[np.ndarray]: return [cv2.imread(path) for path in ALL_IMAGES_LIST] @@ -31,17 +30,17 @@ def one_image() -> np.ndarray: @fixture(scope="function") -def two_images() -> List[np.ndarray]: +def two_images() -> list[np.ndarray]: return [cv2.imread(path) for path in ALL_IMAGES_LIST[:2]] @fixture(scope="function") -def three_images() -> List[np.ndarray]: +def three_images() -> list[np.ndarray]: return [cv2.imread(path) for path in ALL_IMAGES_LIST[:3]] @fixture(scope="function") -def four_images() -> List[np.ndarray]: +def four_images() -> list[np.ndarray]: return [cv2.imread(path) for path in ALL_IMAGES_LIST[:4]] diff --git a/test/utils/test_file.py b/test/utils/test_file.py index 7a8dd37f48..9a4a4d33f8 100644 --- a/test/utils/test_file.py +++ b/test/utils/test_file.py @@ -1,6 +1,6 @@ import os from contextlib import ExitStack as DoesNotRaise -from typing import List, Optional +from typing import Optional import pytest @@ -56,7 +56,7 @@ def setup_and_teardown_files(): def test_read_txt_file( file_name: str, skip_empty: bool, - expected_result: Optional[List[str]], + expected_result: Optional[list[str]], exception: Exception, ): with exception: diff --git a/test/utils/test_image.py b/test/utils/test_image.py index 80caf98945..39640330e7 100644 --- a/test/utils/test_image.py +++ b/test/utils/test_image.py @@ -1,5 +1,3 @@ -from typing import List - import numpy as np import pytest from PIL import Image, ImageChops @@ -125,7 +123,7 @@ def test_create_tiles_with_one_image_and_enforced_grid( def test_create_tiles_with_two_images( - two_images: List[np.ndarray], two_images_tile: np.ndarray + two_images: list[np.ndarray], two_images_tile: np.ndarray ) -> None: # when result = create_tiles(images=two_images, single_tile_size=(240, 240)) @@ -135,7 +133,7 @@ def test_create_tiles_with_two_images( def test_create_tiles_with_three_images( - three_images: List[np.ndarray], three_images_tile: np.ndarray + three_images: list[np.ndarray], three_images_tile: np.ndarray ) -> None: # when result = create_tiles(images=three_images, single_tile_size=(240, 240)) @@ -145,7 +143,7 @@ def test_create_tiles_with_three_images( def test_create_tiles_with_four_images( - four_images: List[np.ndarray], + four_images: list[np.ndarray], four_images_tile: np.ndarray, ) -> None: # when @@ -156,7 +154,7 @@ def test_create_tiles_with_four_images( def test_create_tiles_with_all_images( - all_images: List[np.ndarray], + all_images: list[np.ndarray], all_images_tile: np.ndarray, ) -> None: # when @@ -167,7 +165,7 @@ def test_create_tiles_with_all_images( def test_create_tiles_with_all_images_and_custom_grid( - all_images: List[np.ndarray], all_images_tile_and_custom_grid: np.ndarray + all_images: list[np.ndarray], all_images_tile_and_custom_grid: np.ndarray ) -> None: # when result = create_tiles( @@ -181,7 +179,7 @@ def test_create_tiles_with_all_images_and_custom_grid( def test_create_tiles_with_all_images_and_custom_colors( - all_images: List[np.ndarray], all_images_tile_and_custom_colors: np.ndarray + all_images: list[np.ndarray], all_images_tile_and_custom_colors: np.ndarray ) -> None: # when result = create_tiles( @@ -196,7 +194,7 @@ def test_create_tiles_with_all_images_and_custom_colors( def test_create_tiles_with_all_images_and_titles( - all_images: List[np.ndarray], + all_images: list[np.ndarray], all_images_tile_and_custom_colors_and_titles: np.ndarray, ) -> None: # when @@ -211,7 +209,7 @@ def test_create_tiles_with_all_images_and_titles( def test_create_tiles_with_all_images_and_titles_with_custom_configs( - all_images: List[np.ndarray], + all_images: list[np.ndarray], all_images_tile_and_titles_with_custom_configs: np.ndarray, ) -> None: # when @@ -238,7 +236,7 @@ def test_create_tiles_with_all_images_and_titles_with_custom_configs( def test_create_tiles_with_all_images_and_custom_grid_to_small_to_fit_images( - all_images: List[np.ndarray], + all_images: list[np.ndarray], ) -> None: with pytest.raises(ValueError): _ = create_tiles(images=all_images, grid_size=(2, 2)) diff --git a/test/utils/test_internal.py b/test/utils/test_internal.py index 872822a7c4..07674f39cb 100644 --- a/test/utils/test_internal.py +++ b/test/utils/test_internal.py @@ -1,6 +1,6 @@ from contextlib import ExitStack as DoesNotRaise from dataclasses import dataclass, field -from typing import Any, Set +from typing import Any import numpy as np import pytest @@ -202,7 +202,7 @@ def __private_property(self): def test_get_instance_variables( input_instance: Any, include_properties: bool, - expected: Set[str], + expected: set[str], exception: Exception, ) -> None: with exception: From 5d883447a365100ccf482446e9a62039f552aa42 Mon Sep 17 00:00:00 2001 From: Onuralp SEZER Date: Mon, 14 Jul 2025 20:21:35 +0300 Subject: [PATCH 347/420] =?UTF-8?q?docs:=20=F0=9F=93=9D=20update=20Python?= =?UTF-8?q?=20version=20requirement=20to=203.9=20in=20docs=20and=20clean?= =?UTF-8?q?=20up=20code?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .pre-commit-config.yaml | 6 ------ README.md | 2 +- docs/index.md | 2 +- pyproject.toml | 2 +- supervision/detection/line_zone.py | 4 ++-- supervision/metrics/mean_average_precision.py | 4 +--- supervision/tracker/byte_tracker/single_object_track.py | 4 +--- supervision/validators/__init__.py | 2 +- 8 files changed, 8 insertions(+), 18 deletions(-) diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index 69a30f2e5a..7efab7c74f 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -53,9 +53,3 @@ repos: - id: codespell additional_dependencies: - tomli - - - - repo: https://github.com/venomlab/pyproject-pyupgrade - rev: v0.1.1 - hooks: - - id: ppyupgrade diff --git a/README.md b/README.md index 2aa3cef0fe..43d7cf6fd8 100644 --- a/README.md +++ b/README.md @@ -37,7 +37,7 @@ ## 💻 install Pip install the supervision package in a -[**Python>=3.8**](https://www.python.org/) environment. +[**Python>=3.9**](https://www.python.org/) environment. ```bash pip install supervision diff --git a/docs/index.md b/docs/index.md index 9833877497..1a1be7727d 100644 --- a/docs/index.md +++ b/docs/index.md @@ -37,7 +37,7 @@ We write your reusable computer vision tools. Whether you need to load your data ## 💻 Install You can install `supervision` in a -[**Python>=3.8**](https://www.python.org/) environment. +[**Python>=3.9**](https://www.python.org/) environment. !!! example "Installation" diff --git a/pyproject.toml b/pyproject.toml index aa5a387e1f..3cb92e3498 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -128,7 +128,7 @@ indent-width = 4 [tool.ruff.lint] # Enable pycodestyle (`E`) and Pyflakes (`F`) codes by default. -select = ["E", "F", "I", "A", "Q", "W", "RUF"] +select = ["E", "F", "I", "A", "Q", "W", "RUF", "UP"] ignore = [] # Allow autofix for all enabled rules (when `--fix`) is provided. fixable = [ diff --git a/supervision/detection/line_zone.py b/supervision/detection/line_zone.py index ad9260bd60..b94fc531fb 100644 --- a/supervision/detection/line_zone.py +++ b/supervision/detection/line_zone.py @@ -3,7 +3,7 @@ from collections import Counter, defaultdict, deque from collections.abc import Iterable from functools import lru_cache -from typing import Any, Deque, Literal, Optional +from typing import Any, Literal, Optional import cv2 import numpy as np @@ -100,7 +100,7 @@ def __init__( self.vector = Vector(start=start, end=end) self.limits = self._calculate_region_of_interest_limits(vector=self.vector) self.crossing_history_length = max(2, minimum_crossing_threshold + 1) - self.crossing_state_history: dict[int, Deque[bool]] = defaultdict( + self.crossing_state_history: dict[int, deque[bool]] = defaultdict( lambda: deque(maxlen=self.crossing_history_length) ) self._in_count_per_class: Counter = Counter() diff --git a/supervision/metrics/mean_average_precision.py b/supervision/metrics/mean_average_precision.py index 7e1b1e6af9..89e461fc1e 100644 --- a/supervision/metrics/mean_average_precision.py +++ b/supervision/metrics/mean_average_precision.py @@ -984,9 +984,7 @@ def _summarize( titleStr = "Average Precision" if use_ap else "Average Recall" typeStr = "(AP)" if use_ap else "(AR)" iou_str = ( - "{:0.2f}:{:0.2f}".format( - self.params.iou_thrs[0], self.params.iou_thrs[-1] - ) + f"{self.params.iou_thrs[0]:0.2f}:{self.params.iou_thrs[-1]:0.2f}" if iou_thr is None else f"{iou_thr:0.2f}" ) diff --git a/supervision/tracker/byte_tracker/single_object_track.py b/supervision/tracker/byte_tracker/single_object_track.py index b204137067..c757330013 100644 --- a/supervision/tracker/byte_tracker/single_object_track.py +++ b/supervision/tracker/byte_tracker/single_object_track.py @@ -172,6 +172,4 @@ def tlwh_to_tlbr(tlwh) -> npt.NDArray[np.float32]: return ret def __repr__(self) -> str: - return "OT_{}_({}-{})".format( - self.internal_track_id, self.start_frame, self.frame_id - ) + return f"OT_{self.internal_track_id}_({self.start_frame}-{self.frame_id})" diff --git a/supervision/validators/__init__.py b/supervision/validators/__init__.py index cc92648c03..328be67d9d 100644 --- a/supervision/validators/__init__.py +++ b/supervision/validators/__init__.py @@ -1,4 +1,4 @@ -from typing import Any, Dict +from typing import Any import numpy as np From 4ea79f36349f3735d70a2dfcdddcd0a208192ce5 Mon Sep 17 00:00:00 2001 From: "pre-commit-ci[bot]" <66853113+pre-commit-ci[bot]@users.noreply.github.com> Date: Mon, 14 Jul 2025 17:24:59 +0000 Subject: [PATCH 348/420] =?UTF-8?q?chore(pre=5Fcommit):=20=E2=AC=86=20pre?= =?UTF-8?q?=5Fcommit=20autoupdate?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit updates: - [github.com/astral-sh/ruff-pre-commit: v0.12.2 → v0.12.3](https://github.com/astral-sh/ruff-pre-commit/compare/v0.12.2...v0.12.3) --- .pre-commit-config.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index 7efab7c74f..98d8d3648d 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -32,7 +32,7 @@ repos: additional_dependencies: ["bandit[toml]"] - repo: https://github.com/astral-sh/ruff-pre-commit - rev: v0.12.2 + rev: v0.12.3 hooks: - id: ruff args: [--fix, --exit-non-zero-on-fix] From 886bc16fd41eb4db01782a296ed19d64065ca7d1 Mon Sep 17 00:00:00 2001 From: "pre-commit-ci[bot]" <66853113+pre-commit-ci[bot]@users.noreply.github.com> Date: Mon, 14 Jul 2025 17:25:37 +0000 Subject: [PATCH 349/420] =?UTF-8?q?fix(pre=5Fcommit):=20=F0=9F=8E=A8=20aut?= =?UTF-8?q?o=20format=20pre-commit=20hooks?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- docs/stylesheets/extra.css | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/stylesheets/extra.css b/docs/stylesheets/extra.css index a341cda61f..2910d5ff00 100644 --- a/docs/stylesheets/extra.css +++ b/docs/stylesheets/extra.css @@ -267,4 +267,4 @@ th, td { .md-typeset__table table:not([class]) td, .md-typeset__table table:not([class]) th { padding: 10px; -} \ No newline at end of file +} From 2b052430bd562b79934d43dd971a74a076e6af67 Mon Sep 17 00:00:00 2001 From: SkalskiP Date: Mon, 14 Jul 2025 19:32:14 +0200 Subject: [PATCH 350/420] updated `from_lmm` docs --- supervision/detection/core.py | 152 +++++++++++++++++++--------------- 1 file changed, 85 insertions(+), 67 deletions(-) diff --git a/supervision/detection/core.py b/supervision/detection/core.py index 0ab7f03b77..0b8c48d245 100644 --- a/supervision/detection/core.py +++ b/supervision/detection/core.py @@ -815,6 +815,15 @@ def from_lmm( """ Creates a Detections object from the given result string based on the specified Large Multimodal Model (LMM). + + | Name | Enum (sv.LMM) | Tasks | Required parameters | Optional parameters | + |---------------------|----------------------|-------------------------|-----------------------------|---------------------| + | PaliGemma | `PALIGEMMA` | detection | `resolution_wh` | `classes` | + | PaliGemma 2 | `PALIGEMMA` | detection | `resolution_wh` | `classes` | + | Qwen2.5-VL | `QWEN_2_5_VL` | detection | `resolution_wh`, `input_wh` | `classes` | + | Google Gemini 2.0 | `GOOGLE_GEMINI_2_0` | detection | `resolution_wh` | `classes` | + | Google Gemini 2.5 | `GOOGLE_GEMINI_2_5` | detection, segmentation | `resolution_wh` | `classes` | + | Moondream | `MOONDREAM` | detection | `resolution_wh` | | Args: lmm (Union[LMM, str]): The type of LMM (Large Multimodal Model) to use. @@ -828,9 +837,10 @@ def from_lmm( ValueError: If the LMM is invalid, required arguments are missing, or disallowed arguments are provided. ValueError: If the specified LMM is not supported. - - Examples: + + !!! example "PaliGemma" ```python + import supervision as sv paligemma_result = " cat" @@ -850,7 +860,7 @@ def from_lmm( # {'class_name': array(['cat'], dtype=' Date: Mon, 14 Jul 2025 17:32:49 +0000 Subject: [PATCH 351/420] =?UTF-8?q?fix(pre=5Fcommit):=20=F0=9F=8E=A8=20aut?= =?UTF-8?q?o=20format=20pre-commit=20hooks?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- supervision/detection/core.py | 52 +++++++++++++++++------------------ 1 file changed, 26 insertions(+), 26 deletions(-) diff --git a/supervision/detection/core.py b/supervision/detection/core.py index 0b8c48d245..6d682b4601 100644 --- a/supervision/detection/core.py +++ b/supervision/detection/core.py @@ -815,7 +815,7 @@ def from_lmm( """ Creates a Detections object from the given result string based on the specified Large Multimodal Model (LMM). - + | Name | Enum (sv.LMM) | Tasks | Required parameters | Optional parameters | |---------------------|----------------------|-------------------------|-----------------------------|---------------------| | PaliGemma | `PALIGEMMA` | detection | `resolution_wh` | `classes` | @@ -837,10 +837,10 @@ def from_lmm( ValueError: If the LMM is invalid, required arguments are missing, or disallowed arguments are provided. ValueError: If the specified LMM is not supported. - + !!! example "PaliGemma" ```python - + import supervision as sv paligemma_result = " cat" @@ -919,35 +919,35 @@ def from_lmm( ``` !!! example "Gemini 2.5" - + ??? tip "Prompt engineering" - + To get the best results from Google Gemini 2.5, use the following prompt. - - This prompt is designed to detect all visible objects in the image, - including small, distant, or partially visible ones, and to return + + This prompt is designed to detect all visible objects in the image, + including small, distant, or partially visible ones, and to return tight bounding boxes. - + ``` - Carefully examine this image and detect ALL visible objects, including + Carefully examine this image and detect ALL visible objects, including small, distant, or partially visible ones. - - IMPORTANT: Focus on finding as many objects as possible, even if you are + + IMPORTANT: Focus on finding as many objects as possible, even if you are only moderately confident. - + Make sure each bounding box is as tight as possible. - + Valid object classes: {class_list} - + For each detected object, provide: - "label": the exact class name from the list above - "confidence": your certainty (between 0.0 and 1.0) - "box_2d": the bounding box [ymin, xmin, ymax, xmax] normalized to 0–1000 - "mask": the binary mask of the object as a base64-encoded string - - Detect everything that matches the valid classes. Do not be + + Detect everything that matches the valid classes. Do not be conservative; include objects even with moderate confidence. - + Return a JSON array, for example: [ { @@ -964,10 +964,10 @@ def from_lmm( } ] ``` - - When using the google-genai library, it is recommended to set + + When using the google-genai library, it is recommended to set thinking_budget=0 in thinking_config for more direct and faster responses. - + ```python from google.generativeai import types @@ -980,15 +980,15 @@ def from_lmm( ) ) ``` - + For a shorter prompt focused only on segmentation masks, you can use: - + ``` - Return a JSON list of segmentation masks. Each entry should include the - 2D bounding box in the "box_2d" key, the segmentation mask in the "mask" + Return a JSON list of segmentation masks. Each entry should include the + 2D bounding box in the "box_2d" key, the segmentation mask in the "mask" key, and the text label in the "label" key. Use descriptive labels. ``` - + ```python import supervision as sv From 85ec990aa455be435de5de76564ae04222661969 Mon Sep 17 00:00:00 2001 From: Onuralp SEZER Date: Mon, 14 Jul 2025 20:48:35 +0300 Subject: [PATCH 352/420] =?UTF-8?q?docs:=20=F0=9F=93=9D=20improve=20docume?= =?UTF-8?q?ntation=20for=20VLM=20parameters?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Onuralp SEZER --- supervision/detection/core.py | 141 +++++++++++++++++++--------------- 1 file changed, 79 insertions(+), 62 deletions(-) diff --git a/supervision/detection/core.py b/supervision/detection/core.py index 6d682b4601..6edd807383 100644 --- a/supervision/detection/core.py +++ b/supervision/detection/core.py @@ -1037,7 +1037,7 @@ def from_lmm( ] } - detections = sv.Detections.from_vmm( + detections = sv.Detections.from_lmm( sv.LMM.MOONDREAM, moondream_result, resolution_wh=(1000, 1000), @@ -1084,11 +1084,21 @@ def from_vlm( cls, vlm: Union[VLM, str], result: Union[str, dict], **kwargs: Any ) -> Detections: """ + Creates a Detections object from the given result string based on the specified Vision Language Model (VLM). + | Name | Enum (sv.VLM) | Tasks | Required parameters | Optional parameters | + |---------------------|----------------------|-------------------------|-----------------------------|---------------------| + | PaliGemma | `PALIGEMMA` | detection | `resolution_wh` | `classes` | + | PaliGemma 2 | `PALIGEMMA` | detection | `resolution_wh` | `classes` | + | Qwen2.5-VL | `QWEN_2_5_VL` | detection | `resolution_wh`, `input_wh` | `classes` | + | Google Gemini 2.0 | `GOOGLE_GEMINI_2_0` | detection | `resolution_wh` | `classes` | + | Google Gemini 2.5 | `GOOGLE_GEMINI_2_5` | detection, segmentation | `resolution_wh` | `classes` | + | Moondream | `MOONDREAM` | detection | `resolution_wh` | | + Args: - vlm (Union[VLM, str]): The type of VLM (Large Multimodal Model) to use. + vlm (Union[VLM, str]): The type of VLM (Vision Language Model) to use. result (str): The result string containing the detection data. **kwargs (Any): Additional keyword arguments required by the specified VLM. @@ -1100,8 +1110,9 @@ def from_vlm( disallowed arguments are provided. ValueError: If the specified VLM is not supported. - Examples: + !!! example "PaliGemma" ```python + import supervision as sv paligemma_result = " cat" @@ -1121,7 +1132,7 @@ def from_vlm( # {'class_name': array(['cat'], dtype=' Date: Mon, 14 Jul 2025 20:50:54 +0300 Subject: [PATCH 353/420] =?UTF-8?q?chore:=20=F0=9F=A7=B9formatting=20fix?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- supervision/detection/core.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/supervision/detection/core.py b/supervision/detection/core.py index 6edd807383..ed3cdf152f 100644 --- a/supervision/detection/core.py +++ b/supervision/detection/core.py @@ -942,7 +942,7 @@ def from_lmm( For each detected object, provide: - "label": the exact class name from the list above - "confidence": your certainty (between 0.0 and 1.0) - - "box_2d": the bounding box [ymin, xmin, ymax, xmax] normalized to 0–1000 + - "box_2d": the bounding box [ymin, xmin, ymax, xmax] normalized to 0-1000 - "mask": the binary mask of the object as a base64-encoded string Detect everything that matches the valid classes. Do not be @@ -1214,7 +1214,7 @@ def from_vlm( For each detected object, provide: - "label": the exact class name from the list above - "confidence": your certainty (between 0.0 and 1.0) - - "box_2d": the bounding box [ymin, xmin, ymax, xmax] normalized to 0–1000 + - "box_2d": the bounding box [ymin, xmin, ymax, xmax] normalized to 0-1000 - "mask": the binary mask of the object as a base64-encoded string Detect everything that matches the valid classes. Do not be From efe59cb91c665004247d2d326c0e1895984cd0f4 Mon Sep 17 00:00:00 2001 From: Onuralp SEZER Date: Mon, 14 Jul 2025 20:57:07 +0300 Subject: [PATCH 354/420] =?UTF-8?q?chore:=20=F0=9F=A7=B9=20use=20same=20va?= =?UTF-8?q?r=20name=20compare=20to=20other=20functions?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- supervision/detection/vlm.py | 17 +++++++++-------- 1 file changed, 9 insertions(+), 8 deletions(-) diff --git a/supervision/detection/vlm.py b/supervision/detection/vlm.py index 664bb6f705..030db73ef2 100644 --- a/supervision/detection/vlm.py +++ b/supervision/detection/vlm.py @@ -389,14 +389,15 @@ def from_google_gemini_2_0( return np.empty((0, 4)), None, np.empty((0,), dtype=str) labels = [] - xyxy = [] + boxes_list = [] + for item in data: if "box_2d" not in item or "label" not in item: continue labels.append(item["label"]) box = item["box_2d"] # Gemini bbox order is [y_min, x_min, y_max, x_max] - xyxy.append( + boxes_list.append( denormalize_boxes( np.array([box[1], box[0], box[3], box[2]]).astype(np.float64), resolution_wh=(w, h), @@ -404,10 +405,10 @@ def from_google_gemini_2_0( ) ) - if not xyxy: + if not boxes_list: return np.empty((0, 4)), None, np.empty((0,), dtype=str) - xyxy = np.array(xyxy) + xyxy = np.array(boxes_list) class_name = np.array(labels) class_id = None @@ -487,7 +488,7 @@ def from_google_gemini_2_5( None, ) - xyxy_list: list = [] + boxes_list: list = [] labels_list: list = [] confidence_list: Optional[list] = [] masks_list: Optional[list] = [] @@ -503,7 +504,7 @@ def from_google_gemini_2_5( resolution_wh=(w, h), normalization_factor=1000, ) - xyxy_list.append(absolute_bbox) + boxes_list.append(absolute_bbox) if "mask" in item: if masks_list is not None: @@ -540,7 +541,7 @@ def from_google_gemini_2_5( else: confidence_list = None - if not xyxy_list: + if not boxes_list: return ( np.empty((0, 4)), np.array([], dtype=int), @@ -549,7 +550,7 @@ def from_google_gemini_2_5( None, ) - xyxy = np.array(xyxy_list, dtype=float) + xyxy = np.array(boxes_list, dtype=float) class_name = np.array(labels_list) class_id: np.ndarray From 1337b7ffd5308f6d98eb38d15ebf1701e83e716e Mon Sep 17 00:00:00 2001 From: soumik12345 <19soumik.rakshit96@gmail.com> Date: Tue, 15 Jul 2025 00:28:23 +0530 Subject: [PATCH 355/420] update: changelog + deprecation for supervision 0.26.0 --- docs/changelog.md | 33 +++++++++++++++++++++++++++++++++ docs/deprecated.md | 10 ++++++++++ 2 files changed, 43 insertions(+) diff --git a/docs/changelog.md b/docs/changelog.md index 3cfb3b69ec..00519cc6e4 100644 --- a/docs/changelog.md +++ b/docs/changelog.md @@ -1,5 +1,38 @@ # Changelog +### 0.26.0 Jul 16, 2025 + +- Updates to `LabelAnnotator`: ([#1820](https://github.com/roboflow/supervision/pull/1820)) + - `LabelAnnotator` now has the ability to ensure labels stay within frame boundaries using the `smart_position` parameter. + - Labels now properly render text with newlines. New `max_line_length parameter` in `LabelAnnotator` for controling automatic text wrapping. + - `LableAnnoatator` now automatically prevents overlapping multiline labels and more effective label distribution with size-aware positioning. + - `LabelAnnotator` now supports non-string labels. ([#1825](https://github.com/roboflow/supervision/pull/1825)) + +- `Detections.from_vlm` now supports: + - bounding boxes and segmentation masks response from [Google Gemini models](https://ai.google.dev/gemini-api/docs/vision). ([#1792](https://github.com/roboflow/supervision/pull/1792)) + - bounding boxes response from [Moondream](https://github.com/vikhyat/moondream). ([#1878](https://github.com/roboflow/supervision/pull/1878)) + - bounding noxes response from [Qwen-2.5 VL](https://github.com/QwenLM/Qwen2.5-VL). ([#1709](https://github.com/roboflow/supervision/pull/1790)) + +- Align Supervision's mAP implementation (`sv.MeanAveragePrecision`) with [pycocotools](https://github.com/ppwwyyxx/cocoapi), the official COCO evaluation tool, thus ensuring accurate, reliable, and standardized metrics. You can refer to the table [here](https://github.com/roboflow/model-leaderboard/pull/92#issue-3175929645) that documents the accuracy of Supervision’s mAP implementation with respect to pycocotools’ implementation. ([#1834](https://github.com/roboflow/supervision/pull/1834)) + +- Added support for IOS matching metric for `Detections.with_nms` and `Detections.with_nmm` for handling non-max suppression and non-maximum merging of both bounding boxes and masks. ([#1774](https://github.com/roboflow/supervision/pull/1774)) + +- Added new function `box_iou` that efficiently computes the Intersection over Union (IoU) between two individual bounding boxes. ([#1874](https://github.com/roboflow/supervision/pull/1874)) + +- Added support for frame limitations and progress bar in `sv.process_video`. ([#1816](https://github.com/roboflow/supervision/pull/1816)) + +- Supervision’s documentation theme now has a fresh look that is consistent with the documentations of all Roboflow open-source projects. ([#1858](https://github.com/roboflow/supervision/pull/1858)) + +- Added `xyxy_to_xcycarh` conversion function. ([#1823](https://github.com/roboflow/supervision/pull/1823)) + +- Added support for creating KeyPoints objects from [Transformers](https://huggingface.co/docs/transformers/index) inference results. ([#1788](https://github.com/roboflow/supervision/pull/1788)) + +- Fix loosing `sv.Detections.data` when detections filtering. ([#1767](https://github.com/roboflow/supervision/pull/1767)) + +- Make `TraceAnnotator` better handle pending tracks by centralizing the configuration of pending track identifiers and colors, and updating the annotation logic to skip pending tracks. ([#1828](https://github.com/roboflow/supervision/pull/1828)) + +- Improve HSV color mapping in `HeatMapAnnotator` by 20x. ([#1786](https://github.com/roboflow/supervision/pull/1786)) + ### 0.25.0 Nov 12, 2024 - No removals or deprecations in this release! diff --git a/docs/deprecated.md b/docs/deprecated.md index e71407eb01..00a334aa13 100644 --- a/docs/deprecated.md +++ b/docs/deprecated.md @@ -19,6 +19,16 @@ These features are phased out due to better alternatives or potential issues in # Removed +### 0.26.0 + +- The `DetectionDataset.images` property has been removed in `supervision-0.26.0`. Please loop over images with `for path, image, annotation in dataset:`, as that does not require loading all images into memory. + +- Constructing `DetectionDataset` with parameter `images` as `Dict[str, np.ndarray]` is deprecated and has been removed in `supervision-0.26.0`. Please pass a list of paths `List[str]` instead. + +- The name `BoundingBoxAnnotator` is deprecated and has been removed in `supervision-0.26.0`. It has been renamed to [`BoxAnnotator`](https://supervision.roboflow.com/0.22.0/detection/annotators/#supervision.annotators.core.BoxAnnotator). + +- `supervision-0.26.0` drops `python3.8` support and upgrade all codes to `python3.9` syntax style. + ### 0.25.0 No removals in this version! From b2776cadf7040e337ed81b2bcdacdbc29debd88b Mon Sep 17 00:00:00 2001 From: soumik12345 <19soumik.rakshit96@gmail.com> Date: Tue, 15 Jul 2025 00:32:03 +0530 Subject: [PATCH 356/420] chore: make pre-commit happy --- docs/changelog.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/docs/changelog.md b/docs/changelog.md index 00519cc6e4..84a05e396b 100644 --- a/docs/changelog.md +++ b/docs/changelog.md @@ -4,7 +4,7 @@ - Updates to `LabelAnnotator`: ([#1820](https://github.com/roboflow/supervision/pull/1820)) - `LabelAnnotator` now has the ability to ensure labels stay within frame boundaries using the `smart_position` parameter. - - Labels now properly render text with newlines. New `max_line_length parameter` in `LabelAnnotator` for controling automatic text wrapping. + - Labels now properly render text with newlines. New `max_line_length parameter` in `LabelAnnotator` for controlling automatic text wrapping. - `LableAnnoatator` now automatically prevents overlapping multiline labels and more effective label distribution with size-aware positioning. - `LabelAnnotator` now supports non-string labels. ([#1825](https://github.com/roboflow/supervision/pull/1825)) @@ -27,7 +27,7 @@ - Added support for creating KeyPoints objects from [Transformers](https://huggingface.co/docs/transformers/index) inference results. ([#1788](https://github.com/roboflow/supervision/pull/1788)) -- Fix loosing `sv.Detections.data` when detections filtering. ([#1767](https://github.com/roboflow/supervision/pull/1767)) +- Fix losing `sv.Detections.data` when detections filtering. ([#1767](https://github.com/roboflow/supervision/pull/1767)) - Make `TraceAnnotator` better handle pending tracks by centralizing the configuration of pending track identifiers and colors, and updating the annotation logic to skip pending tracks. ([#1828](https://github.com/roboflow/supervision/pull/1828)) From 9443a433fc66313bb76b76089f0ff3d8bb32dae9 Mon Sep 17 00:00:00 2001 From: Onuralp SEZER Date: Mon, 14 Jul 2025 22:03:00 +0300 Subject: [PATCH 357/420] =?UTF-8?q?fix:=20=F0=9F=90=9Equick=20typo=20fix.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- docs/changelog.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/changelog.md b/docs/changelog.md index 84a05e396b..cd8ca3eadf 100644 --- a/docs/changelog.md +++ b/docs/changelog.md @@ -11,7 +11,7 @@ - `Detections.from_vlm` now supports: - bounding boxes and segmentation masks response from [Google Gemini models](https://ai.google.dev/gemini-api/docs/vision). ([#1792](https://github.com/roboflow/supervision/pull/1792)) - bounding boxes response from [Moondream](https://github.com/vikhyat/moondream). ([#1878](https://github.com/roboflow/supervision/pull/1878)) - - bounding noxes response from [Qwen-2.5 VL](https://github.com/QwenLM/Qwen2.5-VL). ([#1709](https://github.com/roboflow/supervision/pull/1790)) + - bounding boxes response from [Qwen-2.5 VL](https://github.com/QwenLM/Qwen2.5-VL). ([#1709](https://github.com/roboflow/supervision/pull/1790)) - Align Supervision's mAP implementation (`sv.MeanAveragePrecision`) with [pycocotools](https://github.com/ppwwyyxx/cocoapi), the official COCO evaluation tool, thus ensuring accurate, reliable, and standardized metrics. You can refer to the table [here](https://github.com/roboflow/model-leaderboard/pull/92#issue-3175929645) that documents the accuracy of Supervision’s mAP implementation with respect to pycocotools’ implementation. ([#1834](https://github.com/roboflow/supervision/pull/1834)) From edfe0a944acefc9bb0e20168c559531dd7fe04d9 Mon Sep 17 00:00:00 2001 From: Onuralp SEZER Date: Tue, 15 Jul 2025 00:16:40 +0300 Subject: [PATCH 358/420] =?UTF-8?q?refactor:=20=F0=9F=9B=A0=EF=B8=8F=20upd?= =?UTF-8?q?ate=20type=20hints=20to=20use=20built-in=20types=20in=20VLM=20a?= =?UTF-8?q?nd=20validation=20functions?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .pre-commit-config.yaml | 8 ++++++++ supervision/detection/vlm.py | 8 ++++---- supervision/validators/__init__.py | 3 ++- test/detection/test_vlm.py | 6 +++--- 4 files changed, 17 insertions(+), 8 deletions(-) diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index 98d8d3648d..85b49dfb6e 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -53,3 +53,11 @@ repos: - id: codespell additional_dependencies: - tomli + + - repo: https://github.com/asottile/pyupgrade + rev: v3.20.0 + hooks: + - id: pyupgrade + args: ["--py39-plus"] + additional_dependencies: + - tomli diff --git a/supervision/detection/vlm.py b/supervision/detection/vlm.py index c07f417091..d98405e3a8 100644 --- a/supervision/detection/vlm.py +++ b/supervision/detection/vlm.py @@ -118,7 +118,7 @@ def from_paligemma( Args: result: String containing paligemma-formatted locations and labels. - resolution_wh: Tuple (width, height) to which we scale the box coordinates. + resolution_wh: tuple (width, height) to which we scale the box coordinates. classes: Optional list of valid class names. If provided, boxes and labels not in this list are filtered out. @@ -423,9 +423,9 @@ def from_google_gemini_2_0( def from_google_gemini_2_5( result: str, - resolution_wh: Tuple[int, int], - classes: Optional[List[str]] = None, -) -> Tuple[ + resolution_wh: tuple[int, int], + classes: Optional[list[str]] = None, +) -> tuple[ np.ndarray, Optional[np.ndarray], np.ndarray, diff --git a/supervision/validators/__init__.py b/supervision/validators/__init__.py index 5a2ffc9860..97fedabdd9 100644 --- a/supervision/validators/__init__.py +++ b/supervision/validators/__init__.py @@ -1,4 +1,5 @@ from typing import Any + import numpy as np @@ -139,7 +140,7 @@ def validate_keypoints_fields( validate_data(data, n) -def validate_resolution(resolution: Any) -> Tuple[int, int]: +def validate_resolution(resolution: Any) -> tuple[int, int]: if not (isinstance(resolution, tuple) and len(resolution) == 2): raise ValueError( f""" diff --git a/test/detection/test_vlm.py b/test/detection/test_vlm.py index 54a7cf47bd..93e030a6f8 100644 --- a/test/detection/test_vlm.py +++ b/test/detection/test_vlm.py @@ -1080,10 +1080,10 @@ def test_florence_2( def test_from_google_gemini_2_5( exception, result: str, - resolution_wh: Tuple[int, int], - classes: Optional[List[str]], + resolution_wh: tuple[int, int], + classes: Optional[list[str]], expected_results: Optional[ - Tuple[np.ndarray, np.ndarray, np.ndarray, np.ndarray, np.ndarray] + tuple[np.ndarray, np.ndarray, np.ndarray, np.ndarray, np.ndarray] ], ): with exception: From 63cc934cd4c9d435ea1d20079b7f070fd05f3e9b Mon Sep 17 00:00:00 2001 From: Onuralp SEZER Date: Tue, 15 Jul 2025 00:17:52 +0300 Subject: [PATCH 359/420] =?UTF-8?q?chore:=20=F0=9F=A7=B9=20remove=20unused?= =?UTF-8?q?=20pyupgrade=20configuration=20from=20pyproject.toml?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- pyproject.toml | 3 --- 1 file changed, 3 deletions(-) diff --git a/pyproject.toml b/pyproject.toml index 3cb92e3498..d96a0ae07e 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -220,9 +220,6 @@ count = true quiet-level = 3 ignore-words-list = "STrack,sTrack,strack" -[tool.pyupgrade] -py39-plus = true - [tool.setuptools] include-package-data = false From 1d3e887fcaecc0ecac2c6faef726884bf885787d Mon Sep 17 00:00:00 2001 From: Onuralp SEZER Date: Tue, 15 Jul 2025 00:58:35 +0300 Subject: [PATCH 360/420] =?UTF-8?q?chore:=20=F0=9F=A7=B9=20update=20requir?= =?UTF-8?q?ements=20and=20change=20default=20weights=20file=20in=20ultraly?= =?UTF-8?q?tics=5Fexample.py=20for=20count=20people=20example?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- examples/count_people_in_zone/requirements.txt | 6 +++--- examples/count_people_in_zone/ultralytics_example.py | 2 +- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/examples/count_people_in_zone/requirements.txt b/examples/count_people_in_zone/requirements.txt index e07ecb06c1..a8f583e8c1 100644 --- a/examples/count_people_in_zone/requirements.txt +++ b/examples/count_people_in_zone/requirements.txt @@ -1,5 +1,5 @@ gdown -inference==0.9.17 -supervision>=0.20.0 +inference +supervision tqdm -ultralytics<=8.3.40 +ultralytics diff --git a/examples/count_people_in_zone/ultralytics_example.py b/examples/count_people_in_zone/ultralytics_example.py index f18acfb2b7..2290948025 100644 --- a/examples/count_people_in_zone/ultralytics_example.py +++ b/examples/count_people_in_zone/ultralytics_example.py @@ -134,7 +134,7 @@ def annotate( ) parser.add_argument( "--source_weights_path", - default="yolov8x.pt", + default="yolo11x.pt", help="Path to the source weights file", type=str, ) From 667e6491ac96f5f62ec5ac12b6791e8c2472c053 Mon Sep 17 00:00:00 2001 From: Onuralp SEZER Date: Tue, 15 Jul 2025 02:13:44 +0200 Subject: [PATCH 361/420] =?UTF-8?q?chore:=20=F0=9F=A7=B9=20update=20uv=20l?= =?UTF-8?q?ock=20file?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- uv.lock | 2961 +++++-------------------------------------------------- 1 file changed, 272 insertions(+), 2689 deletions(-) diff --git a/uv.lock b/uv.lock index 6fd5f87922..4dd081c415 100644 --- a/uv.lock +++ b/uv.lock @@ -1,6 +1,6 @@ version = 1 revision = 2 -requires-python = ">=3.8" +requires-python = ">=3.9" resolution-markers = [ "python_full_version >= '3.12' and sys_platform == 'darwin'", "python_full_version >= '3.12' and platform_machine == 'aarch64' and sys_platform == 'linux'", @@ -11,57 +11,20 @@ resolution-markers = [ "python_full_version == '3.10.*' and sys_platform == 'darwin'", "python_full_version == '3.10.*' and platform_machine == 'aarch64' and sys_platform == 'linux'", "(python_full_version == '3.10.*' and platform_machine != 'aarch64' and sys_platform == 'linux') or (python_full_version == '3.10.*' and sys_platform != 'darwin' and sys_platform != 'linux')", - "python_full_version == '3.9.*' and platform_machine == 'arm64' and sys_platform == 'darwin'", - "python_full_version == '3.9.*' and platform_machine == 'aarch64' and sys_platform == 'linux'", - "(python_full_version == '3.9.*' and platform_machine != 'arm64' and sys_platform == 'darwin') or (python_full_version == '3.9.*' and platform_machine != 'aarch64' and sys_platform == 'linux') or (python_full_version == '3.9.*' and sys_platform != 'darwin' and sys_platform != 'linux')", - "python_full_version < '3.9' and platform_machine == 'arm64' and sys_platform == 'darwin'", - "python_full_version < '3.9' and platform_machine == 'aarch64' and sys_platform == 'linux'", - "(python_full_version < '3.9' and platform_machine != 'arm64' and sys_platform == 'darwin') or (python_full_version < '3.9' and platform_machine != 'aarch64' and sys_platform == 'linux') or (python_full_version < '3.9' and sys_platform != 'darwin' and sys_platform != 'linux')", -] - -[[package]] -name = "anyio" -version = "4.5.2" -source = { registry = "https://pypi.org/simple" } -resolution-markers = [ - "python_full_version < '3.9' and platform_machine == 'arm64' and sys_platform == 'darwin'", - "python_full_version < '3.9' and platform_machine == 'aarch64' and sys_platform == 'linux'", - "(python_full_version < '3.9' and platform_machine != 'arm64' and sys_platform == 'darwin') or (python_full_version < '3.9' and platform_machine != 'aarch64' and sys_platform == 'linux') or (python_full_version < '3.9' and sys_platform != 'darwin' and sys_platform != 'linux')", -] -dependencies = [ - { name = "exceptiongroup", marker = "python_full_version < '3.9'" }, - { name = "idna", marker = "python_full_version < '3.9'" }, - { name = "sniffio", marker = "python_full_version < '3.9'" }, - { name = "typing-extensions", version = "4.13.2", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.9'" }, -] -sdist = { url = "https://files.pythonhosted.org/packages/4d/f9/9a7ce600ebe7804daf90d4d48b1c0510a4561ddce43a596be46676f82343/anyio-4.5.2.tar.gz", hash = "sha256:23009af4ed04ce05991845451e11ef02fc7c5ed29179ac9a420e5ad0ac7ddc5b", size = 171293, upload-time = "2024-10-13T22:18:03.307Z" } -wheels = [ - { url = "https://files.pythonhosted.org/packages/1b/b4/f7e396030e3b11394436358ca258a81d6010106582422f23443c16ca1873/anyio-4.5.2-py3-none-any.whl", hash = "sha256:c011ee36bc1e8ba40e5a81cb9df91925c218fe9b778554e0b56a21e1b5d4716f", size = 89766, upload-time = "2024-10-13T22:18:01.524Z" }, + "python_full_version < '3.10' and platform_machine == 'arm64' and sys_platform == 'darwin'", + "python_full_version < '3.10' and platform_machine == 'aarch64' and sys_platform == 'linux'", + "(python_full_version < '3.10' and platform_machine != 'arm64' and sys_platform == 'darwin') or (python_full_version < '3.10' and platform_machine != 'aarch64' and sys_platform == 'linux') or (python_full_version < '3.10' and sys_platform != 'darwin' and sys_platform != 'linux')", ] [[package]] name = "anyio" version = "4.9.0" source = { registry = "https://pypi.org/simple" } -resolution-markers = [ - "python_full_version >= '3.12' and sys_platform == 'darwin'", - "python_full_version >= '3.12' and platform_machine == 'aarch64' and sys_platform == 'linux'", - "(python_full_version >= '3.12' and platform_machine != 'aarch64' and sys_platform == 'linux') or (python_full_version >= '3.12' and sys_platform != 'darwin' and sys_platform != 'linux')", - "python_full_version == '3.11.*' and sys_platform == 'darwin'", - "python_full_version == '3.11.*' and platform_machine == 'aarch64' and sys_platform == 'linux'", - "(python_full_version == '3.11.*' and platform_machine != 'aarch64' and sys_platform == 'linux') or (python_full_version == '3.11.*' and sys_platform != 'darwin' and sys_platform != 'linux')", - "python_full_version == '3.10.*' and sys_platform == 'darwin'", - "python_full_version == '3.10.*' and platform_machine == 'aarch64' and sys_platform == 'linux'", - "(python_full_version == '3.10.*' and platform_machine != 'aarch64' and sys_platform == 'linux') or (python_full_version == '3.10.*' and sys_platform != 'darwin' and sys_platform != 'linux')", - "python_full_version == '3.9.*' and platform_machine == 'arm64' and sys_platform == 'darwin'", - "python_full_version == '3.9.*' and platform_machine == 'aarch64' and sys_platform == 'linux'", - "(python_full_version == '3.9.*' and platform_machine != 'arm64' and sys_platform == 'darwin') or (python_full_version == '3.9.*' and platform_machine != 'aarch64' and sys_platform == 'linux') or (python_full_version == '3.9.*' and sys_platform != 'darwin' and sys_platform != 'linux')", -] dependencies = [ - { name = "exceptiongroup", marker = "python_full_version >= '3.9' and python_full_version < '3.11'" }, - { name = "idna", marker = "python_full_version >= '3.9'" }, - { name = "sniffio", marker = "python_full_version >= '3.9'" }, - { name = "typing-extensions", version = "4.14.1", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.9' and python_full_version < '3.13'" }, + { name = "exceptiongroup", marker = "python_full_version < '3.11'" }, + { name = "idna" }, + { name = "sniffio" }, + { name = "typing-extensions", marker = "python_full_version < '3.13'" }, ] sdist = { url = "https://files.pythonhosted.org/packages/95/7d/4c1bd541d4dffa1b52bd83fb8527089e097a106fc90b467a7313b105f840/anyio-4.9.0.tar.gz", hash = "sha256:673c0c244e15788651a4ff38710fea9675823028a6f08a5eda409e0c9840a028", size = 190949, upload-time = "2025-03-17T00:02:54.77Z" } wheels = [ @@ -108,11 +71,6 @@ wheels = [ { url = "https://files.pythonhosted.org/packages/8b/95/143cd64feb24a15fa4b189a3e1e7efbaeeb00f39a51e99b26fc62fbacabd/argon2_cffi_bindings-21.2.0-cp36-abi3-win32.whl", hash = "sha256:603ca0aba86b1349b147cab91ae970c63118a0f30444d4bc80355937c950c082", size = 27698, upload-time = "2021-12-01T09:09:27.87Z" }, { url = "https://files.pythonhosted.org/packages/37/2c/e34e47c7dee97ba6f01a6203e0383e15b60fb85d78ac9a15cd066f6fe28b/argon2_cffi_bindings-21.2.0-cp36-abi3-win_amd64.whl", hash = "sha256:b2ef1c30440dbbcba7a5dc3e319408b59676e2e039e2ae11a8775ecf482b192f", size = 30817, upload-time = "2021-12-01T09:09:30.267Z" }, { url = "https://files.pythonhosted.org/packages/5a/e4/bf8034d25edaa495da3c8a3405627d2e35758e44ff6eaa7948092646fdcc/argon2_cffi_bindings-21.2.0-cp38-abi3-macosx_10_9_universal2.whl", hash = "sha256:e415e3f62c8d124ee16018e491a009937f8cf7ebf5eb430ffc5de21b900dad93", size = 53104, upload-time = "2021-12-01T09:09:31.335Z" }, - { url = "https://files.pythonhosted.org/packages/34/da/d105a3235ae86c1c1a80c1e9c46953e6e53cc8c4c61fb3c5ac8a39bbca48/argon2_cffi_bindings-21.2.0-pp38-pypy38_pp73-macosx_10_9_x86_64.whl", hash = "sha256:3b9ef65804859d335dc6b31582cad2c5166f0c3e7975f324d9ffaa34ee7e6583", size = 23689, upload-time = "2021-12-01T09:09:40.511Z" }, - { url = "https://files.pythonhosted.org/packages/43/f3/20bc53a6e50471dfea16a63dc9b69d2a9ec78fd2b9532cc25f8317e121d9/argon2_cffi_bindings-21.2.0-pp38-pypy38_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d4966ef5848d820776f5f562a7d45fdd70c2f330c961d0d745b784034bd9f48d", size = 28122, upload-time = "2021-12-01T09:09:42.818Z" }, - { url = "https://files.pythonhosted.org/packages/2e/f1/48888db30b6a4a0c78ab7bc7444058a1135b223b6a2a5f2ac7d6780e7443/argon2_cffi_bindings-21.2.0-pp38-pypy38_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:20ef543a89dee4db46a1a6e206cd015360e5a75822f76df533845c3cbaf72670", size = 27882, upload-time = "2021-12-01T09:09:43.93Z" }, - { url = "https://files.pythonhosted.org/packages/ee/0f/a2260a207f21ce2ff4cad00a417c31597f08eafb547e00615bcbf403d8ea/argon2_cffi_bindings-21.2.0-pp38-pypy38_pp73-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:ed2937d286e2ad0cc79a7087d3c272832865f779430e0cc2b4f3718d3159b0cb", size = 30745, upload-time = "2021-12-01T09:09:41.73Z" }, - { url = "https://files.pythonhosted.org/packages/ed/55/f8ba268bc9005d0ca57a862e8f1b55bf1775e97a36bd30b0a8fb568c265c/argon2_cffi_bindings-21.2.0-pp38-pypy38_pp73-win_amd64.whl", hash = "sha256:5e00316dabdaea0b2dd82d141cc66889ced0cdcbfa599e8b471cf22c620c329a", size = 28587, upload-time = "2021-12-01T09:09:45.508Z" }, ] [[package]] @@ -121,8 +79,7 @@ version = "1.3.0" source = { registry = "https://pypi.org/simple" } dependencies = [ { name = "python-dateutil" }, - { name = "types-python-dateutil", version = "2.9.0.20241206", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.9'" }, - { name = "types-python-dateutil", version = "2.9.0.20250708", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.9'" }, + { name = "types-python-dateutil" }, ] sdist = { url = "https://files.pythonhosted.org/packages/2e/00/0f6e8fcdb23ea632c866620cc872729ff43ed91d284c866b515c6342b173/arrow-1.3.0.tar.gz", hash = "sha256:d4540617648cb5f895730f1ad8c82a65f2dad0166f57b75f3ca54759c4d67a85", size = 131960, upload-time = "2023-09-30T22:11:18.25Z" } wheels = [ @@ -138,56 +95,12 @@ wheels = [ { url = "https://files.pythonhosted.org/packages/25/8a/c46dcc25341b5bce5472c718902eb3d38600a903b14fa6aeecef3f21a46f/asttokens-3.0.0-py3-none-any.whl", hash = "sha256:e3078351a059199dd5138cb1c706e6430c05eff2ff136af5eb4790f9d28932e2", size = 26918, upload-time = "2024-11-30T04:30:10.946Z" }, ] -[[package]] -name = "astunparse" -version = "1.6.3" -source = { registry = "https://pypi.org/simple" } -dependencies = [ - { name = "six", marker = "python_full_version < '3.9'" }, - { name = "wheel", marker = "python_full_version < '3.9'" }, -] -sdist = { url = "https://files.pythonhosted.org/packages/f3/af/4182184d3c338792894f34a62672919db7ca008c89abee9b564dd34d8029/astunparse-1.6.3.tar.gz", hash = "sha256:5ad93a8456f0d084c3456d059fd9a92cce667963232cbf763eac3bc5b7940872", size = 18290, upload-time = "2019-12-22T18:12:13.129Z" } -wheels = [ - { url = "https://files.pythonhosted.org/packages/2b/03/13dde6512ad7b4557eb792fbcf0c653af6076b81e5941d36ec61f7ce6028/astunparse-1.6.3-py2.py3-none-any.whl", hash = "sha256:c2652417f2c8b5bb325c885ae329bdf3f86424075c4fd1a128674bc6fba4b8e8", size = 12732, upload-time = "2019-12-22T18:12:11.297Z" }, -] - -[[package]] -name = "async-lru" -version = "2.0.4" -source = { registry = "https://pypi.org/simple" } -resolution-markers = [ - "python_full_version < '3.9' and platform_machine == 'arm64' and sys_platform == 'darwin'", - "python_full_version < '3.9' and platform_machine == 'aarch64' and sys_platform == 'linux'", - "(python_full_version < '3.9' and platform_machine != 'arm64' and sys_platform == 'darwin') or (python_full_version < '3.9' and platform_machine != 'aarch64' and sys_platform == 'linux') or (python_full_version < '3.9' and sys_platform != 'darwin' and sys_platform != 'linux')", -] -dependencies = [ - { name = "typing-extensions", version = "4.13.2", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.9'" }, -] -sdist = { url = "https://files.pythonhosted.org/packages/80/e2/2b4651eff771f6fd900d233e175ddc5e2be502c7eb62c0c42f975c6d36cd/async-lru-2.0.4.tar.gz", hash = "sha256:b8a59a5df60805ff63220b2a0c5b5393da5521b113cd5465a44eb037d81a5627", size = 10019, upload-time = "2023-07-27T19:12:18.631Z" } -wheels = [ - { url = "https://files.pythonhosted.org/packages/fa/9f/3c3503693386c4b0f245eaf5ca6198e3b28879ca0a40bde6b0e319793453/async_lru-2.0.4-py3-none-any.whl", hash = "sha256:ff02944ce3c288c5be660c42dbcca0742b32c3b279d6dceda655190240b99224", size = 6111, upload-time = "2023-07-27T19:12:17.164Z" }, -] - [[package]] name = "async-lru" version = "2.0.5" source = { registry = "https://pypi.org/simple" } -resolution-markers = [ - "python_full_version >= '3.12' and sys_platform == 'darwin'", - "python_full_version >= '3.12' and platform_machine == 'aarch64' and sys_platform == 'linux'", - "(python_full_version >= '3.12' and platform_machine != 'aarch64' and sys_platform == 'linux') or (python_full_version >= '3.12' and sys_platform != 'darwin' and sys_platform != 'linux')", - "python_full_version == '3.11.*' and sys_platform == 'darwin'", - "python_full_version == '3.11.*' and platform_machine == 'aarch64' and sys_platform == 'linux'", - "(python_full_version == '3.11.*' and platform_machine != 'aarch64' and sys_platform == 'linux') or (python_full_version == '3.11.*' and sys_platform != 'darwin' and sys_platform != 'linux')", - "python_full_version == '3.10.*' and sys_platform == 'darwin'", - "python_full_version == '3.10.*' and platform_machine == 'aarch64' and sys_platform == 'linux'", - "(python_full_version == '3.10.*' and platform_machine != 'aarch64' and sys_platform == 'linux') or (python_full_version == '3.10.*' and sys_platform != 'darwin' and sys_platform != 'linux')", - "python_full_version == '3.9.*' and platform_machine == 'arm64' and sys_platform == 'darwin'", - "python_full_version == '3.9.*' and platform_machine == 'aarch64' and sys_platform == 'linux'", - "(python_full_version == '3.9.*' and platform_machine != 'arm64' and sys_platform == 'darwin') or (python_full_version == '3.9.*' and platform_machine != 'aarch64' and sys_platform == 'linux') or (python_full_version == '3.9.*' and sys_platform != 'darwin' and sys_platform != 'linux')", -] dependencies = [ - { name = "typing-extensions", version = "4.14.1", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.9' and python_full_version < '3.11'" }, + { name = "typing-extensions", marker = "python_full_version < '3.11'" }, ] sdist = { url = "https://files.pythonhosted.org/packages/b2/4d/71ec4d3939dc755264f680f6c2b4906423a304c3d18e96853f0a595dfe97/async_lru-2.0.5.tar.gz", hash = "sha256:481d52ccdd27275f42c43a928b4a50c3bfb2d67af4e78b170e3e0bb39c66e5bb", size = 10380, upload-time = "2025-03-16T17:25:36.919Z" } wheels = [ @@ -207,23 +120,11 @@ wheels = [ name = "babel" version = "2.17.0" source = { registry = "https://pypi.org/simple" } -dependencies = [ - { name = "pytz", marker = "python_full_version < '3.9'" }, -] sdist = { url = "https://files.pythonhosted.org/packages/7d/6b/d52e42361e1aa00709585ecc30b3f9684b3ab62530771402248b1b1d6240/babel-2.17.0.tar.gz", hash = "sha256:0c54cffb19f690cdcc52a3b50bcbf71e07a808d1c80d549f2459b9d2cf0afb9d", size = 9951852, upload-time = "2025-02-01T15:17:41.026Z" } wheels = [ { url = "https://files.pythonhosted.org/packages/b7/b8/3fe70c75fe32afc4bb507f75563d39bc5642255d1d94f1f23604725780bf/babel-2.17.0-py3-none-any.whl", hash = "sha256:4d0b53093fdfb4b21c92b5213dba5a1b23885afa8383709427046b21c366e5f2", size = 10182537, upload-time = "2025-02-01T15:17:37.39Z" }, ] -[[package]] -name = "backcall" -version = "0.2.0" -source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/a2/40/764a663805d84deee23043e1426a9175567db89c8b3287b5c2ad9f71aa93/backcall-0.2.0.tar.gz", hash = "sha256:5cbdbf27be5e7cfadb448baf0aa95508f91f2bbc6c6437cd9cd06e2a4c215e1e", size = 18041, upload-time = "2020-06-09T15:11:32.931Z" } -wheels = [ - { url = "https://files.pythonhosted.org/packages/4c/1c/ff6546b6c12603d8dd1070aa3c3d273ad4c07f5771689a7b69a550e8c951/backcall-0.2.0-py2.py3-none-any.whl", hash = "sha256:fbbce6a29f263178a1f7915c1940bde0ec2b2a967566fe1c65c1dfb7422bd255", size = 11157, upload-time = "2020-06-09T15:11:30.87Z" }, -] - [[package]] name = "backports-tarfile" version = "1.2.0" @@ -233,42 +134,10 @@ wheels = [ { url = "https://files.pythonhosted.org/packages/b9/fa/123043af240e49752f1c4bd24da5053b6bd00cad78c2be53c0d1e8b975bc/backports.tarfile-1.2.0-py3-none-any.whl", hash = "sha256:77e284d754527b01fb1e6fa8a1afe577858ebe4e9dad8919e34c862cb399bc34", size = 30181, upload-time = "2024-05-28T17:01:53.112Z" }, ] -[[package]] -name = "backrefs" -version = "5.7.post1" -source = { registry = "https://pypi.org/simple" } -resolution-markers = [ - "python_full_version < '3.9' and platform_machine == 'arm64' and sys_platform == 'darwin'", - "python_full_version < '3.9' and platform_machine == 'aarch64' and sys_platform == 'linux'", - "(python_full_version < '3.9' and platform_machine != 'arm64' and sys_platform == 'darwin') or (python_full_version < '3.9' and platform_machine != 'aarch64' and sys_platform == 'linux') or (python_full_version < '3.9' and sys_platform != 'darwin' and sys_platform != 'linux')", -] -sdist = { url = "https://files.pythonhosted.org/packages/df/30/903f35159c87ff1d92aa3fcf8cb52de97632a21e0ae43ed940f5d033e01a/backrefs-5.7.post1.tar.gz", hash = "sha256:8b0f83b770332ee2f1c8244f4e03c77d127a0fa529328e6a0e77fa25bee99678", size = 6582270, upload-time = "2024-06-16T18:38:20.166Z" } -wheels = [ - { url = "https://files.pythonhosted.org/packages/24/bb/47fc255d1060dcfd55b460236380edd8ebfc5b2a42a0799ca90c9fc983e3/backrefs-5.7.post1-py310-none-any.whl", hash = "sha256:c5e3fd8fd185607a7cb1fefe878cfb09c34c0be3c18328f12c574245f1c0287e", size = 380429, upload-time = "2024-06-16T18:38:10.131Z" }, - { url = "https://files.pythonhosted.org/packages/89/72/39ef491caef3abae945f5a5fd72830d3b596bfac0630508629283585e213/backrefs-5.7.post1-py311-none-any.whl", hash = "sha256:712ea7e494c5bf3291156e28954dd96d04dc44681d0e5c030adf2623d5606d51", size = 392234, upload-time = "2024-06-16T18:38:12.283Z" }, - { url = "https://files.pythonhosted.org/packages/6a/00/33403f581b732ca70fdebab558e8bbb426a29c34e0c3ed674a479b74beea/backrefs-5.7.post1-py312-none-any.whl", hash = "sha256:a6142201c8293e75bce7577ac29e1a9438c12e730d73a59efdd1b75528d1a6c5", size = 398110, upload-time = "2024-06-16T18:38:14.257Z" }, - { url = "https://files.pythonhosted.org/packages/5d/ea/df0ac74a26838f6588aa012d5d801831448b87d0a7d0aefbbfabbe894870/backrefs-5.7.post1-py38-none-any.whl", hash = "sha256:ec61b1ee0a4bfa24267f6b67d0f8c5ffdc8e0d7dc2f18a2685fd1d8d9187054a", size = 369477, upload-time = "2024-06-16T18:38:16.196Z" }, - { url = "https://files.pythonhosted.org/packages/6f/e8/e43f535c0a17a695e5768670fc855a0e5d52dc0d4135b3915bfa355f65ac/backrefs-5.7.post1-py39-none-any.whl", hash = "sha256:05c04af2bf752bb9a6c9dcebb2aff2fab372d3d9d311f2a138540e307756bd3a", size = 380429, upload-time = "2024-06-16T18:38:18.079Z" }, -] - [[package]] name = "backrefs" version = "5.9" source = { registry = "https://pypi.org/simple" } -resolution-markers = [ - "python_full_version >= '3.12' and sys_platform == 'darwin'", - "python_full_version >= '3.12' and platform_machine == 'aarch64' and sys_platform == 'linux'", - "(python_full_version >= '3.12' and platform_machine != 'aarch64' and sys_platform == 'linux') or (python_full_version >= '3.12' and sys_platform != 'darwin' and sys_platform != 'linux')", - "python_full_version == '3.11.*' and sys_platform == 'darwin'", - "python_full_version == '3.11.*' and platform_machine == 'aarch64' and sys_platform == 'linux'", - "(python_full_version == '3.11.*' and platform_machine != 'aarch64' and sys_platform == 'linux') or (python_full_version == '3.11.*' and sys_platform != 'darwin' and sys_platform != 'linux')", - "python_full_version == '3.10.*' and sys_platform == 'darwin'", - "python_full_version == '3.10.*' and platform_machine == 'aarch64' and sys_platform == 'linux'", - "(python_full_version == '3.10.*' and platform_machine != 'aarch64' and sys_platform == 'linux') or (python_full_version == '3.10.*' and sys_platform != 'darwin' and sys_platform != 'linux')", - "python_full_version == '3.9.*' and platform_machine == 'arm64' and sys_platform == 'darwin'", - "python_full_version == '3.9.*' and platform_machine == 'aarch64' and sys_platform == 'linux'", - "(python_full_version == '3.9.*' and platform_machine != 'arm64' and sys_platform == 'darwin') or (python_full_version == '3.9.*' and platform_machine != 'aarch64' and sys_platform == 'linux') or (python_full_version == '3.9.*' and sys_platform != 'darwin' and sys_platform != 'linux')", -] sdist = { url = "https://files.pythonhosted.org/packages/eb/a7/312f673df6a79003279e1f55619abbe7daebbb87c17c976ddc0345c04c7b/backrefs-5.9.tar.gz", hash = "sha256:808548cb708d66b82ee231f962cb36faaf4f2baab032f2fbb783e9c2fdddaa59", size = 5765857, upload-time = "2025-06-22T19:34:13.97Z" } wheels = [ { url = "https://files.pythonhosted.org/packages/19/4d/798dc1f30468134906575156c089c492cf79b5a5fd373f07fe26c4d046bf/backrefs-5.9-py310-none-any.whl", hash = "sha256:db8e8ba0e9de81fcd635f440deab5ae5f2591b54ac1ebe0550a2ca063488cd9f", size = 380267, upload-time = "2025-06-22T19:34:05.252Z" }, @@ -285,57 +154,19 @@ version = "4.13.4" source = { registry = "https://pypi.org/simple" } dependencies = [ { name = "soupsieve" }, - { name = "typing-extensions", version = "4.13.2", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.9'" }, - { name = "typing-extensions", version = "4.14.1", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.9'" }, + { name = "typing-extensions" }, ] sdist = { url = "https://files.pythonhosted.org/packages/d8/e4/0c4c39e18fd76d6a628d4dd8da40543d136ce2d1752bd6eeeab0791f4d6b/beautifulsoup4-4.13.4.tar.gz", hash = "sha256:dbb3c4e1ceae6aefebdaf2423247260cd062430a410e38c66f2baa50a8437195", size = 621067, upload-time = "2025-04-15T17:05:13.836Z" } wheels = [ { url = "https://files.pythonhosted.org/packages/50/cd/30110dc0ffcf3b131156077b90e9f60ed75711223f306da4db08eff8403b/beautifulsoup4-4.13.4-py3-none-any.whl", hash = "sha256:9bbbb14bfde9d79f38b8cd5f8c7c85f4b8f2523190ebed90e950a8dea4cb1c4b", size = 187285, upload-time = "2025-04-15T17:05:12.221Z" }, ] -[[package]] -name = "bleach" -version = "6.1.0" -source = { registry = "https://pypi.org/simple" } -resolution-markers = [ - "python_full_version < '3.9' and platform_machine == 'arm64' and sys_platform == 'darwin'", - "python_full_version < '3.9' and platform_machine == 'aarch64' and sys_platform == 'linux'", - "(python_full_version < '3.9' and platform_machine != 'arm64' and sys_platform == 'darwin') or (python_full_version < '3.9' and platform_machine != 'aarch64' and sys_platform == 'linux') or (python_full_version < '3.9' and sys_platform != 'darwin' and sys_platform != 'linux')", -] -dependencies = [ - { name = "six", marker = "python_full_version < '3.9'" }, - { name = "webencodings", marker = "python_full_version < '3.9'" }, -] -sdist = { url = "https://files.pythonhosted.org/packages/6d/10/77f32b088738f40d4f5be801daa5f327879eadd4562f36a2b5ab975ae571/bleach-6.1.0.tar.gz", hash = "sha256:0a31f1837963c41d46bbf1331b8778e1308ea0791db03cc4e7357b97cf42a8fe", size = 202119, upload-time = "2023-10-06T19:30:51.304Z" } -wheels = [ - { url = "https://files.pythonhosted.org/packages/ea/63/da7237f805089ecc28a3f36bca6a21c31fcbc2eb380f3b8f1be3312abd14/bleach-6.1.0-py3-none-any.whl", hash = "sha256:3225f354cfc436b9789c66c4ee030194bee0568fbf9cbdad3bc8b5c26c5f12b6", size = 162750, upload-time = "2023-10-06T19:30:49.408Z" }, -] - -[package.optional-dependencies] -css = [ - { name = "tinycss2", version = "1.2.1", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.9'" }, -] - [[package]] name = "bleach" version = "6.2.0" source = { registry = "https://pypi.org/simple" } -resolution-markers = [ - "python_full_version >= '3.12' and sys_platform == 'darwin'", - "python_full_version >= '3.12' and platform_machine == 'aarch64' and sys_platform == 'linux'", - "(python_full_version >= '3.12' and platform_machine != 'aarch64' and sys_platform == 'linux') or (python_full_version >= '3.12' and sys_platform != 'darwin' and sys_platform != 'linux')", - "python_full_version == '3.11.*' and sys_platform == 'darwin'", - "python_full_version == '3.11.*' and platform_machine == 'aarch64' and sys_platform == 'linux'", - "(python_full_version == '3.11.*' and platform_machine != 'aarch64' and sys_platform == 'linux') or (python_full_version == '3.11.*' and sys_platform != 'darwin' and sys_platform != 'linux')", - "python_full_version == '3.10.*' and sys_platform == 'darwin'", - "python_full_version == '3.10.*' and platform_machine == 'aarch64' and sys_platform == 'linux'", - "(python_full_version == '3.10.*' and platform_machine != 'aarch64' and sys_platform == 'linux') or (python_full_version == '3.10.*' and sys_platform != 'darwin' and sys_platform != 'linux')", - "python_full_version == '3.9.*' and platform_machine == 'arm64' and sys_platform == 'darwin'", - "python_full_version == '3.9.*' and platform_machine == 'aarch64' and sys_platform == 'linux'", - "(python_full_version == '3.9.*' and platform_machine != 'arm64' and sys_platform == 'darwin') or (python_full_version == '3.9.*' and platform_machine != 'aarch64' and sys_platform == 'linux') or (python_full_version == '3.9.*' and sys_platform != 'darwin' and sys_platform != 'linux')", -] dependencies = [ - { name = "webencodings", marker = "python_full_version >= '3.9'" }, + { name = "webencodings" }, ] sdist = { url = "https://files.pythonhosted.org/packages/76/9a/0e33f5054c54d349ea62c277191c020c2d6ef1d65ab2cb1993f91ec846d1/bleach-6.2.0.tar.gz", hash = "sha256:123e894118b8a599fd80d3ec1a6d4cc7ce4e5882b1317a7e1ba69b56e95f991f", size = 203083, upload-time = "2024-10-29T18:30:40.477Z" } wheels = [ @@ -344,7 +175,7 @@ wheels = [ [package.optional-dependencies] css = [ - { name = "tinycss2", version = "1.4.0", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.9'" }, + { name = "tinycss2" }, ] [[package]] @@ -353,8 +184,7 @@ version = "1.2.2.post1" source = { registry = "https://pypi.org/simple" } dependencies = [ { name = "colorama", marker = "(python_full_version < '3.10' and os_name == 'nt' and platform_machine != 'arm64' and sys_platform == 'darwin') or (os_name == 'nt' and platform_machine != 'aarch64' and sys_platform == 'linux') or (os_name == 'nt' and sys_platform != 'darwin' and sys_platform != 'linux')" }, - { name = "importlib-metadata", version = "8.5.0", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.9'" }, - { name = "importlib-metadata", version = "8.7.0", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.9' and python_full_version < '3.10.2'" }, + { name = "importlib-metadata", marker = "python_full_version < '3.10.2'" }, { name = "packaging" }, { name = "pyproject-hooks" }, { name = "tomli", marker = "python_full_version < '3.11'" }, @@ -364,38 +194,10 @@ wheels = [ { url = "https://files.pythonhosted.org/packages/84/c2/80633736cd183ee4a62107413def345f7e6e3c01563dbca1417363cf957e/build-1.2.2.post1-py3-none-any.whl", hash = "sha256:1d61c0887fa860c01971625baae8bdd338e517b836a2f70dd1f7aa3a6b2fc5b5", size = 22950, upload-time = "2024-10-06T17:22:23.299Z" }, ] -[[package]] -name = "cachetools" -version = "5.5.2" -source = { registry = "https://pypi.org/simple" } -resolution-markers = [ - "python_full_version < '3.9' and platform_machine == 'arm64' and sys_platform == 'darwin'", - "python_full_version < '3.9' and platform_machine == 'aarch64' and sys_platform == 'linux'", - "(python_full_version < '3.9' and platform_machine != 'arm64' and sys_platform == 'darwin') or (python_full_version < '3.9' and platform_machine != 'aarch64' and sys_platform == 'linux') or (python_full_version < '3.9' and sys_platform != 'darwin' and sys_platform != 'linux')", -] -sdist = { url = "https://files.pythonhosted.org/packages/6c/81/3747dad6b14fa2cf53fcf10548cf5aea6913e96fab41a3c198676f8948a5/cachetools-5.5.2.tar.gz", hash = "sha256:1a661caa9175d26759571b2e19580f9d6393969e5dfca11fdb1f947a23e640d4", size = 28380, upload-time = "2025-02-20T21:01:19.524Z" } -wheels = [ - { url = "https://files.pythonhosted.org/packages/72/76/20fa66124dbe6be5cafeb312ece67de6b61dd91a0247d1ea13db4ebb33c2/cachetools-5.5.2-py3-none-any.whl", hash = "sha256:d26a22bcc62eb95c3beabd9f1ee5e820d3d2704fe2967cbe350e20c8ffcd3f0a", size = 10080, upload-time = "2025-02-20T21:01:16.647Z" }, -] - [[package]] name = "cachetools" version = "6.1.0" source = { registry = "https://pypi.org/simple" } -resolution-markers = [ - "python_full_version >= '3.12' and sys_platform == 'darwin'", - "python_full_version >= '3.12' and platform_machine == 'aarch64' and sys_platform == 'linux'", - "(python_full_version >= '3.12' and platform_machine != 'aarch64' and sys_platform == 'linux') or (python_full_version >= '3.12' and sys_platform != 'darwin' and sys_platform != 'linux')", - "python_full_version == '3.11.*' and sys_platform == 'darwin'", - "python_full_version == '3.11.*' and platform_machine == 'aarch64' and sys_platform == 'linux'", - "(python_full_version == '3.11.*' and platform_machine != 'aarch64' and sys_platform == 'linux') or (python_full_version == '3.11.*' and sys_platform != 'darwin' and sys_platform != 'linux')", - "python_full_version == '3.10.*' and sys_platform == 'darwin'", - "python_full_version == '3.10.*' and platform_machine == 'aarch64' and sys_platform == 'linux'", - "(python_full_version == '3.10.*' and platform_machine != 'aarch64' and sys_platform == 'linux') or (python_full_version == '3.10.*' and sys_platform != 'darwin' and sys_platform != 'linux')", - "python_full_version == '3.9.*' and platform_machine == 'arm64' and sys_platform == 'darwin'", - "python_full_version == '3.9.*' and platform_machine == 'aarch64' and sys_platform == 'linux'", - "(python_full_version == '3.9.*' and platform_machine != 'arm64' and sys_platform == 'darwin') or (python_full_version == '3.9.*' and platform_machine != 'aarch64' and sys_platform == 'linux') or (python_full_version == '3.9.*' and sys_platform != 'darwin' and sys_platform != 'linux')", -] sdist = { url = "https://files.pythonhosted.org/packages/8a/89/817ad5d0411f136c484d535952aef74af9b25e0d99e90cdffbe121e6d628/cachetools-6.1.0.tar.gz", hash = "sha256:b4c4f404392848db3ce7aac34950d17be4d864da4b8b66911008e430bc544587", size = 30714, upload-time = "2025-06-16T18:51:03.07Z" } wheels = [ { url = "https://files.pythonhosted.org/packages/00/f0/2ef431fe4141f5e334759d73e81120492b23b2824336883a91ac04ba710b/cachetools-6.1.0-py3-none-any.whl", hash = "sha256:1c7bb3cf9193deaf3508b7c5f2a79986c13ea38965c5adcff1f84519cf39163e", size = 11189, upload-time = "2025-06-16T18:51:01.514Z" }, @@ -413,51 +215,16 @@ wheels = [ { url = "https://files.pythonhosted.org/packages/93/d8/ba13451aa6b745c49536e87b6bf8f629b950e84bd0e8308f7dc6883b67e2/cairocffi-1.7.1-py3-none-any.whl", hash = "sha256:9803a0e11f6c962f3b0ae2ec8ba6ae45e957a146a004697a1ac1bbf16b073b3f", size = 75611, upload-time = "2024-06-18T10:55:59.489Z" }, ] -[[package]] -name = "cairosvg" -version = "2.7.1" -source = { registry = "https://pypi.org/simple" } -resolution-markers = [ - "python_full_version < '3.9' and platform_machine == 'arm64' and sys_platform == 'darwin'", - "python_full_version < '3.9' and platform_machine == 'aarch64' and sys_platform == 'linux'", - "(python_full_version < '3.9' and platform_machine != 'arm64' and sys_platform == 'darwin') or (python_full_version < '3.9' and platform_machine != 'aarch64' and sys_platform == 'linux') or (python_full_version < '3.9' and sys_platform != 'darwin' and sys_platform != 'linux')", -] -dependencies = [ - { name = "cairocffi", marker = "python_full_version < '3.9'" }, - { name = "cssselect2", version = "0.7.0", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.9'" }, - { name = "defusedxml", marker = "python_full_version < '3.9'" }, - { name = "pillow", marker = "python_full_version < '3.9'" }, - { name = "tinycss2", version = "1.2.1", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.9'" }, -] -sdist = { url = "https://files.pythonhosted.org/packages/d5/e6/ec5900b724e3c44af7f6f51f719919137284e5da4aabe96508baec8a1b40/CairoSVG-2.7.1.tar.gz", hash = "sha256:432531d72347291b9a9ebfb6777026b607563fd8719c46ee742db0aef7271ba0", size = 8399085, upload-time = "2023-08-05T09:08:05.75Z" } -wheels = [ - { url = "https://files.pythonhosted.org/packages/01/a5/1866b42151f50453f1a0d28fc4c39f5be5f412a2e914f33449c42daafdf1/CairoSVG-2.7.1-py3-none-any.whl", hash = "sha256:8a5222d4e6c3f86f1f7046b63246877a63b49923a1cd202184c3a634ef546b3b", size = 43235, upload-time = "2023-08-05T09:08:01.583Z" }, -] - [[package]] name = "cairosvg" version = "2.8.2" source = { registry = "https://pypi.org/simple" } -resolution-markers = [ - "python_full_version >= '3.12' and sys_platform == 'darwin'", - "python_full_version >= '3.12' and platform_machine == 'aarch64' and sys_platform == 'linux'", - "(python_full_version >= '3.12' and platform_machine != 'aarch64' and sys_platform == 'linux') or (python_full_version >= '3.12' and sys_platform != 'darwin' and sys_platform != 'linux')", - "python_full_version == '3.11.*' and sys_platform == 'darwin'", - "python_full_version == '3.11.*' and platform_machine == 'aarch64' and sys_platform == 'linux'", - "(python_full_version == '3.11.*' and platform_machine != 'aarch64' and sys_platform == 'linux') or (python_full_version == '3.11.*' and sys_platform != 'darwin' and sys_platform != 'linux')", - "python_full_version == '3.10.*' and sys_platform == 'darwin'", - "python_full_version == '3.10.*' and platform_machine == 'aarch64' and sys_platform == 'linux'", - "(python_full_version == '3.10.*' and platform_machine != 'aarch64' and sys_platform == 'linux') or (python_full_version == '3.10.*' and sys_platform != 'darwin' and sys_platform != 'linux')", - "python_full_version == '3.9.*' and platform_machine == 'arm64' and sys_platform == 'darwin'", - "python_full_version == '3.9.*' and platform_machine == 'aarch64' and sys_platform == 'linux'", - "(python_full_version == '3.9.*' and platform_machine != 'arm64' and sys_platform == 'darwin') or (python_full_version == '3.9.*' and platform_machine != 'aarch64' and sys_platform == 'linux') or (python_full_version == '3.9.*' and sys_platform != 'darwin' and sys_platform != 'linux')", -] dependencies = [ - { name = "cairocffi", marker = "python_full_version >= '3.9'" }, - { name = "cssselect2", version = "0.8.0", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.9'" }, - { name = "defusedxml", marker = "python_full_version >= '3.9'" }, - { name = "pillow", marker = "python_full_version >= '3.9'" }, - { name = "tinycss2", version = "1.4.0", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.9'" }, + { name = "cairocffi" }, + { name = "cssselect2" }, + { name = "defusedxml" }, + { name = "pillow" }, + { name = "tinycss2" }, ] sdist = { url = "https://files.pythonhosted.org/packages/ab/b9/5106168bd43d7cd8b7cc2a2ee465b385f14b63f4c092bb89eee2d48c8e67/cairosvg-2.8.2.tar.gz", hash = "sha256:07cbf4e86317b27a92318a4cac2a4bb37a5e9c1b8a27355d06874b22f85bef9f", size = 8398590, upload-time = "2025-05-15T06:56:32.653Z" } wheels = [ @@ -528,14 +295,6 @@ wheels = [ { url = "https://files.pythonhosted.org/packages/f1/47/d7145bf2dc04684935d57d67dff9d6d795b2ba2796806bb109864be3a151/cffi-1.17.1-cp313-cp313-musllinux_1_1_x86_64.whl", hash = "sha256:72e72408cad3d5419375fc87d289076ee319835bdfa2caad331e377589aebba9", size = 488469, upload-time = "2024-09-04T20:44:41.616Z" }, { url = "https://files.pythonhosted.org/packages/bf/ee/f94057fa6426481d663b88637a9a10e859e492c73d0384514a17d78ee205/cffi-1.17.1-cp313-cp313-win32.whl", hash = "sha256:e03eab0a8677fa80d646b5ddece1cbeaf556c313dcfac435ba11f107ba117b5d", size = 172475, upload-time = "2024-09-04T20:44:43.733Z" }, { url = "https://files.pythonhosted.org/packages/7c/fc/6a8cb64e5f0324877d503c854da15d76c1e50eb722e320b15345c4d0c6de/cffi-1.17.1-cp313-cp313-win_amd64.whl", hash = "sha256:f6a16c31041f09ead72d69f583767292f750d24913dadacf5756b966aacb3f1a", size = 182009, upload-time = "2024-09-04T20:44:45.309Z" }, - { url = "https://files.pythonhosted.org/packages/48/08/15bf6b43ae9bd06f6b00ad8a91f5a8fe1069d4c9fab550a866755402724e/cffi-1.17.1-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:636062ea65bd0195bc012fea9321aca499c0504409f413dc88af450b57ffd03b", size = 182457, upload-time = "2024-09-04T20:44:47.892Z" }, - { url = "https://files.pythonhosted.org/packages/c2/5b/f1523dd545f92f7df468e5f653ffa4df30ac222f3c884e51e139878f1cb5/cffi-1.17.1-cp38-cp38-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:c7eac2ef9b63c79431bc4b25f1cd649d7f061a28808cbc6c47b534bd789ef964", size = 425932, upload-time = "2024-09-04T20:44:49.491Z" }, - { url = "https://files.pythonhosted.org/packages/53/93/7e547ab4105969cc8c93b38a667b82a835dd2cc78f3a7dad6130cfd41e1d/cffi-1.17.1-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:e221cf152cff04059d011ee126477f0d9588303eb57e88923578ace7baad17f9", size = 448585, upload-time = "2024-09-04T20:44:51.671Z" }, - { url = "https://files.pythonhosted.org/packages/56/c4/a308f2c332006206bb511de219efeff090e9d63529ba0a77aae72e82248b/cffi-1.17.1-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:31000ec67d4221a71bd3f67df918b1f88f676f1c3b535a7eb473255fdc0b83fc", size = 456268, upload-time = "2024-09-04T20:44:53.51Z" }, - { url = "https://files.pythonhosted.org/packages/ca/5b/b63681518265f2f4060d2b60755c1c77ec89e5e045fc3773b72735ddaad5/cffi-1.17.1-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:6f17be4345073b0a7b8ea599688f692ac3ef23ce28e5df79c04de519dbc4912c", size = 436592, upload-time = "2024-09-04T20:44:55.085Z" }, - { url = "https://files.pythonhosted.org/packages/bb/19/b51af9f4a4faa4a8ac5a0e5d5c2522dcd9703d07fac69da34a36c4d960d3/cffi-1.17.1-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:0e2b1fac190ae3ebfe37b979cc1ce69c81f4e4fe5746bb401dca63a9062cdaf1", size = 446512, upload-time = "2024-09-04T20:44:57.135Z" }, - { url = "https://files.pythonhosted.org/packages/e2/63/2bed8323890cb613bbecda807688a31ed11a7fe7afe31f8faaae0206a9a3/cffi-1.17.1-cp38-cp38-win32.whl", hash = "sha256:7596d6620d3fa590f677e9ee430df2958d2d6d6de2feeae5b20e82c00b76fbf8", size = 171576, upload-time = "2024-09-04T20:44:58.535Z" }, - { url = "https://files.pythonhosted.org/packages/2f/70/80c33b044ebc79527447fd4fbc5455d514c3bb840dede4455de97da39b4d/cffi-1.17.1-cp38-cp38-win_amd64.whl", hash = "sha256:78122be759c3f8a014ce010908ae03364d00a1f81ab5c7f4a7a5120607ea56e1", size = 181229, upload-time = "2024-09-04T20:44:59.963Z" }, { url = "https://files.pythonhosted.org/packages/b9/ea/8bb50596b8ffbc49ddd7a1ad305035daa770202a6b782fc164647c2673ad/cffi-1.17.1-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:b2ab587605f4ba0bf81dc0cb08a41bd1c0a5906bd59243d56bad7668a6fc6c16", size = 182220, upload-time = "2024-09-04T20:45:01.577Z" }, { url = "https://files.pythonhosted.org/packages/ae/11/e77c8cd24f58285a82c23af484cf5b124a376b32644e445960d1a4654c3a/cffi-1.17.1-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:28b16024becceed8c6dfbc75629e27788d8a3f9030691a1dbf9821a128b22c36", size = 178605, upload-time = "2024-09-04T20:45:03.837Z" }, { url = "https://files.pythonhosted.org/packages/ed/65/25a8dc32c53bf5b7b6c2686b42ae2ad58743f7ff644844af7cdb29b49361/cffi-1.17.1-cp39-cp39-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:1d599671f396c4723d016dbddb72fe8e0397082b0a77a4fab8028923bec050e8", size = 424910, upload-time = "2024-09-04T20:45:05.315Z" }, @@ -617,19 +376,6 @@ wheels = [ { url = "https://files.pythonhosted.org/packages/78/be/8392efc43487ac051eee6c36d5fbd63032d78f7728cb37aebcc98191f1ff/charset_normalizer-3.4.2-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:4a476b06fbcf359ad25d34a057b7219281286ae2477cc5ff5e3f70a246971148", size = 149166, upload-time = "2025-05-02T08:33:15.458Z" }, { url = "https://files.pythonhosted.org/packages/44/96/392abd49b094d30b91d9fbda6a69519e95802250b777841cf3bda8fe136c/charset_normalizer-3.4.2-cp313-cp313-win32.whl", hash = "sha256:aaeeb6a479c7667fbe1099af9617c83aaca22182d6cf8c53966491a0f1b7ffb7", size = 98064, upload-time = "2025-05-02T08:33:17.06Z" }, { url = "https://files.pythonhosted.org/packages/e9/b0/0200da600134e001d91851ddc797809e2fe0ea72de90e09bec5a2fbdaccb/charset_normalizer-3.4.2-cp313-cp313-win_amd64.whl", hash = "sha256:aa6af9e7d59f9c12b33ae4e9450619cf2488e2bbe9b44030905877f0b2324980", size = 105641, upload-time = "2025-05-02T08:33:18.753Z" }, - { url = "https://files.pythonhosted.org/packages/4c/fd/f700cfd4ad876def96d2c769d8a32d808b12d1010b6003dc6639157f99ee/charset_normalizer-3.4.2-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:76af085e67e56c8816c3ccf256ebd136def2ed9654525348cfa744b6802b69eb", size = 198257, upload-time = "2025-05-02T08:33:45.511Z" }, - { url = "https://files.pythonhosted.org/packages/3a/95/6eec4cbbbd119e6a402e3bfd16246785cc52ce64cf21af2ecdf7b3a08e91/charset_normalizer-3.4.2-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:e45ba65510e2647721e35323d6ef54c7974959f6081b58d4ef5d87c60c84919a", size = 143453, upload-time = "2025-05-02T08:33:47.463Z" }, - { url = "https://files.pythonhosted.org/packages/b6/b3/d4f913660383b3d93dbe6f687a312ea9f7e89879ae883c4e8942048174d4/charset_normalizer-3.4.2-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:046595208aae0120559a67693ecc65dd75d46f7bf687f159127046628178dc45", size = 153130, upload-time = "2025-05-02T08:33:50.568Z" }, - { url = "https://files.pythonhosted.org/packages/e5/69/7540141529eabc55bf19cc05cd9b61c2078bebfcdbd3e799af99b777fc28/charset_normalizer-3.4.2-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:75d10d37a47afee94919c4fab4c22b9bc2a8bf7d4f46f87363bcf0573f3ff4f5", size = 145688, upload-time = "2025-05-02T08:33:52.828Z" }, - { url = "https://files.pythonhosted.org/packages/2e/bb/d76d3d6e340fb0967c43c564101e28a78c9a363ea62f736a68af59ee3683/charset_normalizer-3.4.2-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:6333b3aa5a12c26b2a4d4e7335a28f1475e0e5e17d69d55141ee3cab736f66d1", size = 147418, upload-time = "2025-05-02T08:33:54.718Z" }, - { url = "https://files.pythonhosted.org/packages/3e/ef/b7c1f39c0dc3808160c8b72e0209c2479393966313bfebc833533cfff9cc/charset_normalizer-3.4.2-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:e8323a9b031aa0393768b87f04b4164a40037fb2a3c11ac06a03ffecd3618027", size = 150066, upload-time = "2025-05-02T08:33:56.597Z" }, - { url = "https://files.pythonhosted.org/packages/20/26/4e47cc23d2a4a5eb6ed7d6f0f8cda87d753e2f8abc936d5cf5ad2aae8518/charset_normalizer-3.4.2-cp38-cp38-musllinux_1_2_aarch64.whl", hash = "sha256:24498ba8ed6c2e0b56d4acbf83f2d989720a93b41d712ebd4f4979660db4417b", size = 144499, upload-time = "2025-05-02T08:33:58.637Z" }, - { url = "https://files.pythonhosted.org/packages/d7/9c/efdf59dd46593cecad0548d36a702683a0bdc056793398a9cd1e1546ad21/charset_normalizer-3.4.2-cp38-cp38-musllinux_1_2_i686.whl", hash = "sha256:844da2b5728b5ce0e32d863af26f32b5ce61bc4273a9c720a9f3aa9df73b1455", size = 152954, upload-time = "2025-05-02T08:34:00.552Z" }, - { url = "https://files.pythonhosted.org/packages/59/b3/4e8b73f7299d9aaabd7cd26db4a765f741b8e57df97b034bb8de15609002/charset_normalizer-3.4.2-cp38-cp38-musllinux_1_2_ppc64le.whl", hash = "sha256:65c981bdbd3f57670af8b59777cbfae75364b483fa8a9f420f08094531d54a01", size = 155876, upload-time = "2025-05-02T08:34:02.527Z" }, - { url = "https://files.pythonhosted.org/packages/53/cb/6fa0ccf941a069adce3edb8a1e430bc80e4929f4d43b5140fdf8628bdf7d/charset_normalizer-3.4.2-cp38-cp38-musllinux_1_2_s390x.whl", hash = "sha256:3c21d4fca343c805a52c0c78edc01e3477f6dd1ad7c47653241cf2a206d4fc58", size = 153186, upload-time = "2025-05-02T08:34:04.481Z" }, - { url = "https://files.pythonhosted.org/packages/ac/c6/80b93fabc626b75b1665ffe405e28c3cef0aae9237c5c05f15955af4edd8/charset_normalizer-3.4.2-cp38-cp38-musllinux_1_2_x86_64.whl", hash = "sha256:dc7039885fa1baf9be153a0626e337aa7ec8bf96b0128605fb0d77788ddc1681", size = 148007, upload-time = "2025-05-02T08:34:06.888Z" }, - { url = "https://files.pythonhosted.org/packages/41/eb/c7367ac326a2628e4f05b5c737c86fe4a8eb3ecc597a4243fc65720b3eeb/charset_normalizer-3.4.2-cp38-cp38-win32.whl", hash = "sha256:8272b73e1c5603666618805fe821edba66892e2870058c94c53147602eab29c7", size = 97923, upload-time = "2025-05-02T08:34:08.792Z" }, - { url = "https://files.pythonhosted.org/packages/7c/02/1c82646582ccf2c757fa6af69b1a3ea88744b8d2b4ab93b7686b2533e023/charset_normalizer-3.4.2-cp38-cp38-win_amd64.whl", hash = "sha256:70f7172939fdf8790425ba31915bfbe8335030f05b9913d7ae00a87d4395620a", size = 105020, upload-time = "2025-05-02T08:34:10.6Z" }, { url = "https://files.pythonhosted.org/packages/28/f8/dfb01ff6cc9af38552c69c9027501ff5a5117c4cc18dcd27cb5259fa1888/charset_normalizer-3.4.2-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:005fa3432484527f9732ebd315da8da8001593e2cf46a3d817669f062c3d9ed4", size = 201671, upload-time = "2025-05-02T08:34:12.696Z" }, { url = "https://files.pythonhosted.org/packages/32/fb/74e26ee556a9dbfe3bd264289b67be1e6d616329403036f6507bb9f3f29c/charset_normalizer-3.4.2-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:e92fca20c46e9f5e1bb485887d074918b13543b1c2a1185e69bb8d17ab6236a7", size = 144744, upload-time = "2025-05-02T08:34:14.665Z" }, { url = "https://files.pythonhosted.org/packages/ad/06/8499ee5aa7addc6f6d72e068691826ff093329fe59891e83b092ae4c851c/charset_normalizer-3.4.2-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:50bf98d5e563b83cc29471fa114366e6806bc06bc7a25fd59641e41445327836", size = 154993, upload-time = "2025-05-02T08:34:17.134Z" }, @@ -651,12 +397,9 @@ name = "click" version = "8.1.8" source = { registry = "https://pypi.org/simple" } resolution-markers = [ - "python_full_version == '3.9.*' and platform_machine == 'arm64' and sys_platform == 'darwin'", - "python_full_version == '3.9.*' and platform_machine == 'aarch64' and sys_platform == 'linux'", - "(python_full_version == '3.9.*' and platform_machine != 'arm64' and sys_platform == 'darwin') or (python_full_version == '3.9.*' and platform_machine != 'aarch64' and sys_platform == 'linux') or (python_full_version == '3.9.*' and sys_platform != 'darwin' and sys_platform != 'linux')", - "python_full_version < '3.9' and platform_machine == 'arm64' and sys_platform == 'darwin'", - "python_full_version < '3.9' and platform_machine == 'aarch64' and sys_platform == 'linux'", - "(python_full_version < '3.9' and platform_machine != 'arm64' and sys_platform == 'darwin') or (python_full_version < '3.9' and platform_machine != 'aarch64' and sys_platform == 'linux') or (python_full_version < '3.9' and sys_platform != 'darwin' and sys_platform != 'linux')", + "python_full_version < '3.10' and platform_machine == 'arm64' and sys_platform == 'darwin'", + "python_full_version < '3.10' and platform_machine == 'aarch64' and sys_platform == 'linux'", + "(python_full_version < '3.10' and platform_machine != 'arm64' and sys_platform == 'darwin') or (python_full_version < '3.10' and platform_machine != 'aarch64' and sys_platform == 'linux') or (python_full_version < '3.10' and sys_platform != 'darwin' and sys_platform != 'linux')", ] dependencies = [ { name = "colorama", marker = "python_full_version < '3.10' and sys_platform == 'win32'" }, @@ -710,84 +453,17 @@ wheels = [ { url = "https://files.pythonhosted.org/packages/e6/75/49e5bfe642f71f272236b5b2d2691cf915a7283cc0ceda56357b61daa538/comm-0.2.2-py3-none-any.whl", hash = "sha256:e6fb86cb70ff661ee8c9c14e7d36d6de3b4066f1441be4063df9c5009f0a64d3", size = 7180, upload-time = "2024-03-12T16:53:39.226Z" }, ] -[[package]] -name = "contourpy" -version = "1.1.1" -source = { registry = "https://pypi.org/simple" } -resolution-markers = [ - "python_full_version < '3.9' and platform_machine == 'arm64' and sys_platform == 'darwin'", - "python_full_version < '3.9' and platform_machine == 'aarch64' and sys_platform == 'linux'", - "(python_full_version < '3.9' and platform_machine != 'arm64' and sys_platform == 'darwin') or (python_full_version < '3.9' and platform_machine != 'aarch64' and sys_platform == 'linux') or (python_full_version < '3.9' and sys_platform != 'darwin' and sys_platform != 'linux')", -] -dependencies = [ - { name = "numpy", version = "1.24.4", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.9'" }, -] -sdist = { url = "https://files.pythonhosted.org/packages/b1/7d/087ee4295e7580d3f7eb8a8a4e0ec8c7847e60f34135248ccf831cf5bbfc/contourpy-1.1.1.tar.gz", hash = "sha256:96ba37c2e24b7212a77da85004c38e7c4d155d3e72a45eeaf22c1f03f607e8ab", size = 13433167, upload-time = "2023-09-16T10:25:49.501Z" } -wheels = [ - { url = "https://files.pythonhosted.org/packages/fb/7f/c44a51a83a093bf5c84e07dd1e3cfe9f68c47b6499bd05a9de0c6dbdc2bc/contourpy-1.1.1-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:46e24f5412c948d81736509377e255f6040e94216bf1a9b5ea1eaa9d29f6ec1b", size = 247207, upload-time = "2023-09-16T10:20:32.848Z" }, - { url = "https://files.pythonhosted.org/packages/a9/65/544d66da0716b20084874297ff7596704e435cf011512f8e576638e83db2/contourpy-1.1.1-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:0e48694d6a9c5a26ee85b10130c77a011a4fedf50a7279fa0bdaf44bafb4299d", size = 232428, upload-time = "2023-09-16T10:20:36.337Z" }, - { url = "https://files.pythonhosted.org/packages/5b/e6/697085cc34a294bd399548fd99562537a75408f113e3a815807e206246f0/contourpy-1.1.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a66045af6cf00e19d02191ab578a50cb93b2028c3eefed999793698e9ea768ae", size = 285304, upload-time = "2023-09-16T10:20:40.182Z" }, - { url = "https://files.pythonhosted.org/packages/69/4b/52d0d2e85c59f00f6ddbd6fea819f267008c58ee7708da96d112a293e91c/contourpy-1.1.1-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:4ebf42695f75ee1a952f98ce9775c873e4971732a87334b099dde90b6af6a916", size = 322655, upload-time = "2023-09-16T10:20:44.175Z" }, - { url = "https://files.pythonhosted.org/packages/82/fc/3decc656a547a6d5d5b4249f81c72668a1f3259a62b2def2504120d38746/contourpy-1.1.1-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:f6aec19457617ef468ff091669cca01fa7ea557b12b59a7908b9474bb9674cf0", size = 296430, upload-time = "2023-09-16T10:20:47.767Z" }, - { url = "https://files.pythonhosted.org/packages/f1/6b/e4b0f8708f22dd7c321f87eadbb98708975e115ac6582eb46d1f32197ce6/contourpy-1.1.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:462c59914dc6d81e0b11f37e560b8a7c2dbab6aca4f38be31519d442d6cde1a1", size = 301672, upload-time = "2023-09-16T10:20:51.395Z" }, - { url = "https://files.pythonhosted.org/packages/c3/87/201410522a756e605069078833d806147cad8532fdc164a96689d05c5afc/contourpy-1.1.1-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:6d0a8efc258659edc5299f9ef32d8d81de8b53b45d67bf4bfa3067f31366764d", size = 820145, upload-time = "2023-09-16T10:20:58.426Z" }, - { url = "https://files.pythonhosted.org/packages/b4/d9/42680a17d43edda04ab2b3f11125cf97b61bce5d3b52721a42960bf748bd/contourpy-1.1.1-cp310-cp310-win32.whl", hash = "sha256:d6ab42f223e58b7dac1bb0af32194a7b9311065583cc75ff59dcf301afd8a431", size = 399542, upload-time = "2023-09-16T10:21:02.719Z" }, - { url = "https://files.pythonhosted.org/packages/55/14/0dc1884e3c04f9b073a47283f5d424926644250891db392a07c56f05e5c5/contourpy-1.1.1-cp310-cp310-win_amd64.whl", hash = "sha256:549174b0713d49871c6dee90a4b499d3f12f5e5f69641cd23c50a4542e2ca1eb", size = 477974, upload-time = "2023-09-16T10:21:07.565Z" }, - { url = "https://files.pythonhosted.org/packages/8b/4f/be28a39cd5e988b8d3c2cc642c2c7ffeeb28fe80a86df71b6d1e473c5038/contourpy-1.1.1-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:407d864db716a067cc696d61fa1ef6637fedf03606e8417fe2aeed20a061e6b2", size = 248613, upload-time = "2023-09-16T10:21:10.695Z" }, - { url = "https://files.pythonhosted.org/packages/2c/8e/656f8e7cd316aa68d9824744773e90dbd71f847429d10c82001e927480a2/contourpy-1.1.1-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:dfe80c017973e6a4c367e037cb31601044dd55e6bfacd57370674867d15a899b", size = 233603, upload-time = "2023-09-16T10:21:13.771Z" }, - { url = "https://files.pythonhosted.org/packages/60/2a/4d4bd4541212ab98f3411f21bf58b0b246f333ae996e9f57e1acf12bcc45/contourpy-1.1.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:e30aaf2b8a2bac57eb7e1650df1b3a4130e8d0c66fc2f861039d507a11760e1b", size = 287037, upload-time = "2023-09-16T10:21:17.622Z" }, - { url = "https://files.pythonhosted.org/packages/24/67/8abf919443381585a4eee74069e311c736350549dae02d3d014fef93d50a/contourpy-1.1.1-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:3de23ca4f381c3770dee6d10ead6fff524d540c0f662e763ad1530bde5112532", size = 323274, upload-time = "2023-09-16T10:21:21.404Z" }, - { url = "https://files.pythonhosted.org/packages/2a/e5/6da11329dd35a2f2e404a95e5374b5702de6ac52e776e8b87dd6ea4b29d0/contourpy-1.1.1-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:566f0e41df06dfef2431defcfaa155f0acfa1ca4acbf8fd80895b1e7e2ada40e", size = 297801, upload-time = "2023-09-16T10:21:25.155Z" }, - { url = "https://files.pythonhosted.org/packages/b7/f6/78f60fa0b6ae64971178e2542e8b3ad3ba5f4f379b918ab7b18038a3f897/contourpy-1.1.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:b04c2f0adaf255bf756cf08ebef1be132d3c7a06fe6f9877d55640c5e60c72c5", size = 302821, upload-time = "2023-09-16T10:21:28.663Z" }, - { url = "https://files.pythonhosted.org/packages/da/25/6062395a1c6a06f46a577da821318886b8b939453a098b9cd61671bb497b/contourpy-1.1.1-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:d0c188ae66b772d9d61d43c6030500344c13e3f73a00d1dc241da896f379bb62", size = 820121, upload-time = "2023-09-16T10:21:36.251Z" }, - { url = "https://files.pythonhosted.org/packages/41/5e/64e78b1e8682cbab10c13fc1a2c070d30acedb805ab2f42afbd3d88f7225/contourpy-1.1.1-cp311-cp311-win32.whl", hash = "sha256:0683e1ae20dc038075d92e0e0148f09ffcefab120e57f6b4c9c0f477ec171f33", size = 401590, upload-time = "2023-09-16T10:21:40.42Z" }, - { url = "https://files.pythonhosted.org/packages/e5/76/94bc17eb868f8c7397f8fdfdeae7661c1b9a35f3a7219da308596e8c252a/contourpy-1.1.1-cp311-cp311-win_amd64.whl", hash = "sha256:8636cd2fc5da0fb102a2504fa2c4bea3cbc149533b345d72cdf0e7a924decc45", size = 480534, upload-time = "2023-09-16T10:21:45.724Z" }, - { url = "https://files.pythonhosted.org/packages/94/0f/07a5e26fec7176658f6aecffc615900ff1d303baa2b67bc37fd98ce67c87/contourpy-1.1.1-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:560f1d68a33e89c62da5da4077ba98137a5e4d3a271b29f2f195d0fba2adcb6a", size = 249799, upload-time = "2023-09-16T10:21:48.797Z" }, - { url = "https://files.pythonhosted.org/packages/32/0b/d7baca3f60d3b3a77c9ba1307c7792befd3c1c775a26c649dca1bfa9b6ba/contourpy-1.1.1-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:24216552104ae8f3b34120ef84825400b16eb6133af2e27a190fdc13529f023e", size = 232739, upload-time = "2023-09-16T10:21:51.854Z" }, - { url = "https://files.pythonhosted.org/packages/6d/62/a385b4d4b5718e3a933de5791528f45f1f5b364d3c79172ad0309c832041/contourpy-1.1.1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:56de98a2fb23025882a18b60c7f0ea2d2d70bbbcfcf878f9067234b1c4818442", size = 282171, upload-time = "2023-09-16T10:21:55.794Z" }, - { url = "https://files.pythonhosted.org/packages/91/21/8c6819747fea53557f3963ca936035b3e8bed87d591f5278ad62516a059d/contourpy-1.1.1-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:07d6f11dfaf80a84c97f1a5ba50d129d9303c5b4206f776e94037332e298dda8", size = 321182, upload-time = "2023-09-16T10:21:59.576Z" }, - { url = "https://files.pythonhosted.org/packages/22/29/d75da9002f9df09c755b12cf0357eb91b081c858e604f4e92b4b8bfc3c15/contourpy-1.1.1-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:f1eaac5257a8f8a047248d60e8f9315c6cff58f7803971170d952555ef6344a7", size = 295869, upload-time = "2023-09-16T10:22:03.248Z" }, - { url = "https://files.pythonhosted.org/packages/a7/47/4e7e66159f881c131e3b97d1cc5c0ea72be62bdd292c7f63fd13937d07f4/contourpy-1.1.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:19557fa407e70f20bfaba7d55b4d97b14f9480856c4fb65812e8a05fe1c6f9bf", size = 298756, upload-time = "2023-09-16T10:22:06.663Z" }, - { url = "https://files.pythonhosted.org/packages/d3/bb/bffc99bc3172942b5eda8027ca0cb80ddd336fcdd634d68adce957d37231/contourpy-1.1.1-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:081f3c0880712e40effc5f4c3b08feca6d064cb8cfbb372ca548105b86fd6c3d", size = 818441, upload-time = "2023-09-16T10:22:13.805Z" }, - { url = "https://files.pythonhosted.org/packages/da/1b/904baf0aaaf6c6e2247801dcd1ff0d7bf84352839927d356b28ae804cbb0/contourpy-1.1.1-cp312-cp312-win32.whl", hash = "sha256:059c3d2a94b930f4dafe8105bcdc1b21de99b30b51b5bce74c753686de858cb6", size = 410294, upload-time = "2023-09-16T10:22:18.055Z" }, - { url = "https://files.pythonhosted.org/packages/75/d4/c3b7a9a0d1f99b528e5a46266b0b9f13aad5a0dd1156d071418df314c427/contourpy-1.1.1-cp312-cp312-win_amd64.whl", hash = "sha256:f44d78b61740e4e8c71db1cf1fd56d9050a4747681c59ec1094750a658ceb970", size = 486678, upload-time = "2023-09-16T10:22:23.249Z" }, - { url = "https://files.pythonhosted.org/packages/02/7e/ffaba1bf3719088be3ad6983a5e85e1fc9edccd7b406b98e433436ecef74/contourpy-1.1.1-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:70e5a10f8093d228bb2b552beeb318b8928b8a94763ef03b858ef3612b29395d", size = 247023, upload-time = "2023-09-16T10:22:26.954Z" }, - { url = "https://files.pythonhosted.org/packages/a6/82/29f5ff4ae074c3230e266bc9efef449ebde43721a727b989dd8ef8f97d73/contourpy-1.1.1-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:8394e652925a18ef0091115e3cc191fef350ab6dc3cc417f06da66bf98071ae9", size = 232380, upload-time = "2023-09-16T10:22:30.423Z" }, - { url = "https://files.pythonhosted.org/packages/9b/cb/08f884c4c2efd433a38876b1b8069bfecef3f2d21ff0ce635d455962f70f/contourpy-1.1.1-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:c5bd5680f844c3ff0008523a71949a3ff5e4953eb7701b28760805bc9bcff217", size = 285830, upload-time = "2023-09-16T10:22:33.787Z" }, - { url = "https://files.pythonhosted.org/packages/8e/57/cd4d4c99d999a25e9d518f628b4793e64b1ecb8ad3147f8469d8d4a80678/contourpy-1.1.1-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:66544f853bfa85c0d07a68f6c648b2ec81dafd30f272565c37ab47a33b220684", size = 322038, upload-time = "2023-09-16T10:22:37.627Z" }, - { url = "https://files.pythonhosted.org/packages/32/b6/c57ed305a6f86731107fc183e97c7e6a6005d145f5c5228a44718082ad12/contourpy-1.1.1-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:e0c02b75acfea5cab07585d25069207e478d12309557f90a61b5a3b4f77f46ce", size = 295797, upload-time = "2023-09-16T10:22:41.952Z" }, - { url = "https://files.pythonhosted.org/packages/8e/71/7f20855592cc929bc206810432b991ec4c702dc26b0567b132e52c85536f/contourpy-1.1.1-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:41339b24471c58dc1499e56783fedc1afa4bb018bcd035cfb0ee2ad2a7501ef8", size = 301124, upload-time = "2023-09-16T10:22:45.993Z" }, - { url = "https://files.pythonhosted.org/packages/86/6d/52c2fc80f433e7cdc8624d82e1422ad83ad461463cf16a1953bbc7d10eb1/contourpy-1.1.1-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:f29fb0b3f1217dfe9362ec55440d0743fe868497359f2cf93293f4b2701b8251", size = 819787, upload-time = "2023-09-16T10:22:53.511Z" }, - { url = "https://files.pythonhosted.org/packages/d0/b0/f8d4548e89f929d6c5ca329df9afad6190af60079ec77d8c31eb48cf6f82/contourpy-1.1.1-cp38-cp38-win32.whl", hash = "sha256:f9dc7f933975367251c1b34da882c4f0e0b2e24bb35dc906d2f598a40b72bfc7", size = 400031, upload-time = "2023-09-16T10:22:57.78Z" }, - { url = "https://files.pythonhosted.org/packages/96/1b/b05cd42c8d21767a0488b883b38658fb9a45f86c293b7b42521a8113dc5d/contourpy-1.1.1-cp38-cp38-win_amd64.whl", hash = "sha256:498e53573e8b94b1caeb9e62d7c2d053c263ebb6aa259c81050766beb50ff8d9", size = 477949, upload-time = "2023-09-16T10:23:02.587Z" }, - { url = "https://files.pythonhosted.org/packages/16/d9/8a15ff67fc27c65939e454512955e1b240ec75cd201d82e115b3b63ef76d/contourpy-1.1.1-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:ba42e3810999a0ddd0439e6e5dbf6d034055cdc72b7c5c839f37a7c274cb4eba", size = 247396, upload-time = "2023-09-16T10:23:06.429Z" }, - { url = "https://files.pythonhosted.org/packages/09/fe/086e6847ee53da10ddf0b6c5e5f877ab43e68e355d2f4c85f67561ee8a57/contourpy-1.1.1-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:6c06e4c6e234fcc65435223c7b2a90f286b7f1b2733058bdf1345d218cc59e34", size = 232598, upload-time = "2023-09-16T10:23:11.009Z" }, - { url = "https://files.pythonhosted.org/packages/a3/9c/662925239e1185c6cf1da8c334e4c61bddcfa8e528f4b51083b613003170/contourpy-1.1.1-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:ca6fab080484e419528e98624fb5c4282148b847e3602dc8dbe0cb0669469887", size = 286436, upload-time = "2023-09-16T10:23:14.624Z" }, - { url = "https://files.pythonhosted.org/packages/d3/7e/417cdf65da7140981079eda6a81ecd593ae0239bf8c738f2e2b3f6df8920/contourpy-1.1.1-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:93df44ab351119d14cd1e6b52a5063d3336f0754b72736cc63db59307dabb718", size = 322629, upload-time = "2023-09-16T10:23:18.203Z" }, - { url = "https://files.pythonhosted.org/packages/a8/22/ffd88aef74cc045698c5e5c400e8b7cd62311199c109245ac7827290df2c/contourpy-1.1.1-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:eafbef886566dc1047d7b3d4b14db0d5b7deb99638d8e1be4e23a7c7ac59ff0f", size = 297117, upload-time = "2023-09-16T10:23:21.586Z" }, - { url = "https://files.pythonhosted.org/packages/2b/c0/24c34c41a180f875419b536125799c61e2330b997d77a5a818a3bc3e08cd/contourpy-1.1.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:efe0fab26d598e1ec07d72cf03eaeeba8e42b4ecf6b9ccb5a356fde60ff08b85", size = 301855, upload-time = "2023-09-16T10:23:25.584Z" }, - { url = "https://files.pythonhosted.org/packages/bf/ec/f9877f6378a580cd683bd76c8a781dcd972e82965e0da951a739d3364677/contourpy-1.1.1-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:f08e469821a5e4751c97fcd34bcb586bc243c39c2e39321822060ba902eac49e", size = 820597, upload-time = "2023-09-16T10:23:33.133Z" }, - { url = "https://files.pythonhosted.org/packages/e1/3a/c41f4bc7122d3a06388acae1bed6f50a665c1031863ca42bd701094dcb1f/contourpy-1.1.1-cp39-cp39-win32.whl", hash = "sha256:bfc8a5e9238232a45ebc5cb3bfee71f1167064c8d382cadd6076f0d51cff1da0", size = 400031, upload-time = "2023-09-16T10:23:37.546Z" }, - { url = "https://files.pythonhosted.org/packages/87/2b/9b49451f7412cc1a79198e94a771a4e52d65c479aae610b1161c0290ef2c/contourpy-1.1.1-cp39-cp39-win_amd64.whl", hash = "sha256:c84fdf3da00c2827d634de4fcf17e3e067490c4aea82833625c4c8e6cdea0887", size = 435965, upload-time = "2023-09-16T10:23:42.512Z" }, - { url = "https://files.pythonhosted.org/packages/e6/3c/fc36884b6793e2066a6ff25c86e21b8bd62553456b07e964c260bcf22711/contourpy-1.1.1-pp38-pypy38_pp73-macosx_10_9_x86_64.whl", hash = "sha256:229a25f68046c5cf8067d6d6351c8b99e40da11b04d8416bf8d2b1d75922521e", size = 246493, upload-time = "2023-09-16T10:23:45.721Z" }, - { url = "https://files.pythonhosted.org/packages/3d/85/f4c5b09ce79828ed4553a8ae2ebdf937794f57b45848b1f5c95d9744ecc2/contourpy-1.1.1-pp38-pypy38_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:a10dab5ea1bd4401c9483450b5b0ba5416be799bbd50fc7a6cc5e2a15e03e8a3", size = 289240, upload-time = "2023-09-16T10:23:49.207Z" }, - { url = "https://files.pythonhosted.org/packages/18/d3/9d7c0a372baf5130c1417a4b8275079d5379c11355436cb9fc78af7d7559/contourpy-1.1.1-pp38-pypy38_pp73-win_amd64.whl", hash = "sha256:4f9147051cb8fdb29a51dc2482d792b3b23e50f8f57e3720ca2e3d438b7adf23", size = 476043, upload-time = "2023-09-16T10:23:54.495Z" }, - { url = "https://files.pythonhosted.org/packages/e7/12/643242c3d9b031ca19f9a440f63e568dd883a04711056ca5d607f9bda888/contourpy-1.1.1-pp39-pypy39_pp73-macosx_10_9_x86_64.whl", hash = "sha256:a75cc163a5f4531a256f2c523bd80db509a49fc23721b36dd1ef2f60ff41c3cb", size = 246247, upload-time = "2023-09-16T10:23:58.204Z" }, - { url = "https://files.pythonhosted.org/packages/e1/37/95716fe235bf441422059e4afcd4b9b7c5821851c2aee992a06d1e9f831a/contourpy-1.1.1-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:3b53d5769aa1f2d4ea407c65f2d1d08002952fac1d9e9d307aa2e1023554a163", size = 289029, upload-time = "2023-09-16T10:24:02.085Z" }, - { url = "https://files.pythonhosted.org/packages/e5/fd/14852c4a688031e0d8a20d9a1b60078d45507186ef17042093835be2f01a/contourpy-1.1.1-pp39-pypy39_pp73-win_amd64.whl", hash = "sha256:11b836b7dbfb74e049c302bbf74b4b8f6cb9d0b6ca1bf86cfa8ba144aedadd9c", size = 476043, upload-time = "2023-09-16T10:24:07.292Z" }, -] - [[package]] name = "contourpy" version = "1.3.0" source = { registry = "https://pypi.org/simple" } resolution-markers = [ - "python_full_version == '3.9.*' and platform_machine == 'arm64' and sys_platform == 'darwin'", - "python_full_version == '3.9.*' and platform_machine == 'aarch64' and sys_platform == 'linux'", - "(python_full_version == '3.9.*' and platform_machine != 'arm64' and sys_platform == 'darwin') or (python_full_version == '3.9.*' and platform_machine != 'aarch64' and sys_platform == 'linux') or (python_full_version == '3.9.*' and sys_platform != 'darwin' and sys_platform != 'linux')", + "python_full_version < '3.10' and platform_machine == 'arm64' and sys_platform == 'darwin'", + "python_full_version < '3.10' and platform_machine == 'aarch64' and sys_platform == 'linux'", + "(python_full_version < '3.10' and platform_machine != 'arm64' and sys_platform == 'darwin') or (python_full_version < '3.10' and platform_machine != 'aarch64' and sys_platform == 'linux') or (python_full_version < '3.10' and sys_platform != 'darwin' and sys_platform != 'linux')", ] dependencies = [ - { name = "numpy", version = "2.0.2", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version == '3.9.*'" }, + { name = "numpy", version = "2.0.2", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.10'" }, ] sdist = { url = "https://files.pythonhosted.org/packages/f5/f6/31a8f28b4a2a4fa0e01085e542f3081ab0588eff8e589d39d775172c9792/contourpy-1.3.0.tar.gz", hash = "sha256:7ffa0db17717a8ffb127efd0c95a4362d996b892c2904db72428d5b52e1938a4", size = 13464370, upload-time = "2024-08-27T21:00:03.328Z" } wheels = [ @@ -973,45 +649,13 @@ wheels = [ { url = "https://files.pythonhosted.org/packages/38/6a/69fc67e5266bff68a91bcb81dff8fb0aba4d79a78521a08812048913e16f/cryptography-45.0.5-pp311-pypy311_pp73-manylinux_2_34_x86_64.whl", hash = "sha256:5aa1e32983d4443e310f726ee4b071ab7569f58eedfdd65e9675484a4eb67bd1", size = 4385593, upload-time = "2025-07-02T13:06:15.689Z" }, ] -[[package]] -name = "cssselect2" -version = "0.7.0" -source = { registry = "https://pypi.org/simple" } -resolution-markers = [ - "python_full_version < '3.9' and platform_machine == 'arm64' and sys_platform == 'darwin'", - "python_full_version < '3.9' and platform_machine == 'aarch64' and sys_platform == 'linux'", - "(python_full_version < '3.9' and platform_machine != 'arm64' and sys_platform == 'darwin') or (python_full_version < '3.9' and platform_machine != 'aarch64' and sys_platform == 'linux') or (python_full_version < '3.9' and sys_platform != 'darwin' and sys_platform != 'linux')", -] -dependencies = [ - { name = "tinycss2", version = "1.2.1", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.9'" }, - { name = "webencodings", marker = "python_full_version < '3.9'" }, -] -sdist = { url = "https://files.pythonhosted.org/packages/e7/fc/326cb6f988905998f09bb54a3f5d98d4462ba119363c0dfad29750d48c09/cssselect2-0.7.0.tar.gz", hash = "sha256:1ccd984dab89fc68955043aca4e1b03e0cf29cad9880f6e28e3ba7a74b14aa5a", size = 35888, upload-time = "2022-09-19T12:55:11.876Z" } -wheels = [ - { url = "https://files.pythonhosted.org/packages/9d/3a/e39436efe51894243ff145a37c4f9a030839b97779ebcc4f13b3ba21c54e/cssselect2-0.7.0-py3-none-any.whl", hash = "sha256:fd23a65bfd444595913f02fc71f6b286c29261e354c41d722ca7a261a49b5969", size = 15586, upload-time = "2022-09-19T12:55:07.56Z" }, -] - [[package]] name = "cssselect2" version = "0.8.0" source = { registry = "https://pypi.org/simple" } -resolution-markers = [ - "python_full_version >= '3.12' and sys_platform == 'darwin'", - "python_full_version >= '3.12' and platform_machine == 'aarch64' and sys_platform == 'linux'", - "(python_full_version >= '3.12' and platform_machine != 'aarch64' and sys_platform == 'linux') or (python_full_version >= '3.12' and sys_platform != 'darwin' and sys_platform != 'linux')", - "python_full_version == '3.11.*' and sys_platform == 'darwin'", - "python_full_version == '3.11.*' and platform_machine == 'aarch64' and sys_platform == 'linux'", - "(python_full_version == '3.11.*' and platform_machine != 'aarch64' and sys_platform == 'linux') or (python_full_version == '3.11.*' and sys_platform != 'darwin' and sys_platform != 'linux')", - "python_full_version == '3.10.*' and sys_platform == 'darwin'", - "python_full_version == '3.10.*' and platform_machine == 'aarch64' and sys_platform == 'linux'", - "(python_full_version == '3.10.*' and platform_machine != 'aarch64' and sys_platform == 'linux') or (python_full_version == '3.10.*' and sys_platform != 'darwin' and sys_platform != 'linux')", - "python_full_version == '3.9.*' and platform_machine == 'arm64' and sys_platform == 'darwin'", - "python_full_version == '3.9.*' and platform_machine == 'aarch64' and sys_platform == 'linux'", - "(python_full_version == '3.9.*' and platform_machine != 'arm64' and sys_platform == 'darwin') or (python_full_version == '3.9.*' and platform_machine != 'aarch64' and sys_platform == 'linux') or (python_full_version == '3.9.*' and sys_platform != 'darwin' and sys_platform != 'linux')", -] dependencies = [ - { name = "tinycss2", version = "1.4.0", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.9'" }, - { name = "webencodings", marker = "python_full_version >= '3.9'" }, + { name = "tinycss2" }, + { name = "webencodings" }, ] sdist = { url = "https://files.pythonhosted.org/packages/9f/86/fd7f58fc498b3166f3a7e8e0cddb6e620fe1da35b02248b1bd59e95dbaaa/cssselect2-0.8.0.tar.gz", hash = "sha256:7674ffb954a3b46162392aee2a3a0aedb2e14ecf99fcc28644900f4e6e3e9d3a", size = 35716, upload-time = "2025-03-05T14:46:07.988Z" } wheels = [ @@ -1049,10 +693,6 @@ wheels = [ { url = "https://files.pythonhosted.org/packages/ba/f1/6f2ee3f991327ad9e4c2f8b82611a467052a0fb0e247390192580e89f7ff/debugpy-1.8.14-cp313-cp313-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:0f920c7f9af409d90f5fd26e313e119d908b0dd2952c2393cd3247a462331f15", size = 4217514, upload-time = "2025-04-10T19:46:34.336Z" }, { url = "https://files.pythonhosted.org/packages/79/28/b9d146f8f2dc535c236ee09ad3e5ac899adb39d7a19b49f03ac95d216beb/debugpy-1.8.14-cp313-cp313-win32.whl", hash = "sha256:3784ec6e8600c66cbdd4ca2726c72d8ca781e94bce2f396cc606d458146f8f4e", size = 5254756, upload-time = "2025-04-10T19:46:36.199Z" }, { url = "https://files.pythonhosted.org/packages/e0/62/a7b4a57013eac4ccaef6977966e6bec5c63906dd25a86e35f155952e29a1/debugpy-1.8.14-cp313-cp313-win_amd64.whl", hash = "sha256:684eaf43c95a3ec39a96f1f5195a7ff3d4144e4a18d69bb66beeb1a6de605d6e", size = 5297119, upload-time = "2025-04-10T19:46:38.141Z" }, - { url = "https://files.pythonhosted.org/packages/c8/8e/08924875dc5f0ae5c15684376256b0ff0507ef920d61a33bd1222619b159/debugpy-1.8.14-cp38-cp38-macosx_14_0_x86_64.whl", hash = "sha256:d5582bcbe42917bc6bbe5c12db1bffdf21f6bfc28d4554b738bf08d50dc0c8c3", size = 2077185, upload-time = "2025-04-10T19:46:39.61Z" }, - { url = "https://files.pythonhosted.org/packages/49/dc/6d7f8e0cce44309d3b5a701bca15a9076d0d02a99df8e629580205e008fb/debugpy-1.8.14-cp38-cp38-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:5349b7c3735b766a281873fbe32ca9cca343d4cc11ba4a743f84cb854339ff35", size = 3631418, upload-time = "2025-04-10T19:46:41.512Z" }, - { url = "https://files.pythonhosted.org/packages/99/a1/39c036ab61c6d87b9e6fba21a851b7fb10d8bbaa60f5558c979496d17037/debugpy-1.8.14-cp38-cp38-win32.whl", hash = "sha256:7118d462fe9724c887d355eef395fae68bc764fd862cdca94e70dcb9ade8a23d", size = 5212840, upload-time = "2025-04-10T19:46:43.073Z" }, - { url = "https://files.pythonhosted.org/packages/f1/8b/675a183a51ebc6ae729b288cc65aa1f686a91a4e9e760bed244f8caa07fd/debugpy-1.8.14-cp38-cp38-win_amd64.whl", hash = "sha256:d235e4fa78af2de4e5609073972700523e372cf5601742449970110d565ca28c", size = 5246434, upload-time = "2025-04-10T19:46:44.934Z" }, { url = "https://files.pythonhosted.org/packages/85/6f/96ba96545f55b6a675afa08c96b42810de9b18c7ad17446bbec82762127a/debugpy-1.8.14-cp39-cp39-macosx_14_0_x86_64.whl", hash = "sha256:413512d35ff52c2fb0fd2d65e69f373ffd24f0ecb1fac514c04a668599c5ce7f", size = 2077696, upload-time = "2025-04-10T19:46:46.817Z" }, { url = "https://files.pythonhosted.org/packages/fa/84/f378a2dd837d94de3c85bca14f1db79f8fcad7e20b108b40d59da56a6d22/debugpy-1.8.14-cp39-cp39-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:4c9156f7524a0d70b7a7e22b2e311d8ba76a15496fb00730e46dcdeedb9e1eea", size = 3554846, upload-time = "2025-04-10T19:46:48.72Z" }, { url = "https://files.pythonhosted.org/packages/db/52/88824fe5d6893f59933f664c6e12783749ab537a2101baf5c713164d8aa2/debugpy-1.8.14-cp39-cp39-win32.whl", hash = "sha256:b44985f97cc3dd9d52c42eb59ee9d7ee0c4e7ecd62bca704891f997de4cef23d", size = 5209350, upload-time = "2025-04-10T19:46:50.284Z" }, @@ -1087,38 +727,10 @@ wheels = [ { url = "https://files.pythonhosted.org/packages/91/a1/cf2472db20f7ce4a6be1253a81cfdf85ad9c7885ffbed7047fb72c24cf87/distlib-0.3.9-py2.py3-none-any.whl", hash = "sha256:47f8c22fd27c27e25a65601af709b38e4f0a45ea4fc2e710f65755fa8caaaf87", size = 468973, upload-time = "2024-10-09T18:35:44.272Z" }, ] -[[package]] -name = "docutils" -version = "0.20.1" -source = { registry = "https://pypi.org/simple" } -resolution-markers = [ - "python_full_version < '3.9' and platform_machine == 'arm64' and sys_platform == 'darwin'", - "python_full_version < '3.9' and platform_machine == 'aarch64' and sys_platform == 'linux'", - "(python_full_version < '3.9' and platform_machine != 'arm64' and sys_platform == 'darwin') or (python_full_version < '3.9' and platform_machine != 'aarch64' and sys_platform == 'linux') or (python_full_version < '3.9' and sys_platform != 'darwin' and sys_platform != 'linux')", -] -sdist = { url = "https://files.pythonhosted.org/packages/1f/53/a5da4f2c5739cf66290fac1431ee52aff6851c7c8ffd8264f13affd7bcdd/docutils-0.20.1.tar.gz", hash = "sha256:f08a4e276c3a1583a86dce3e34aba3fe04d02bba2dd51ed16106244e8a923e3b", size = 2058365, upload-time = "2023-05-16T23:39:19.748Z" } -wheels = [ - { url = "https://files.pythonhosted.org/packages/26/87/f238c0670b94533ac0353a4e2a1a771a0cc73277b88bff23d3ae35a256c1/docutils-0.20.1-py3-none-any.whl", hash = "sha256:96f387a2c5562db4476f09f13bbab2192e764cac08ebbf3a34a95d9b1e4a59d6", size = 572666, upload-time = "2023-05-16T23:39:15.976Z" }, -] - [[package]] name = "docutils" version = "0.21.2" source = { registry = "https://pypi.org/simple" } -resolution-markers = [ - "python_full_version >= '3.12' and sys_platform == 'darwin'", - "python_full_version >= '3.12' and platform_machine == 'aarch64' and sys_platform == 'linux'", - "(python_full_version >= '3.12' and platform_machine != 'aarch64' and sys_platform == 'linux') or (python_full_version >= '3.12' and sys_platform != 'darwin' and sys_platform != 'linux')", - "python_full_version == '3.11.*' and sys_platform == 'darwin'", - "python_full_version == '3.11.*' and platform_machine == 'aarch64' and sys_platform == 'linux'", - "(python_full_version == '3.11.*' and platform_machine != 'aarch64' and sys_platform == 'linux') or (python_full_version == '3.11.*' and sys_platform != 'darwin' and sys_platform != 'linux')", - "python_full_version == '3.10.*' and sys_platform == 'darwin'", - "python_full_version == '3.10.*' and platform_machine == 'aarch64' and sys_platform == 'linux'", - "(python_full_version == '3.10.*' and platform_machine != 'aarch64' and sys_platform == 'linux') or (python_full_version == '3.10.*' and sys_platform != 'darwin' and sys_platform != 'linux')", - "python_full_version == '3.9.*' and platform_machine == 'arm64' and sys_platform == 'darwin'", - "python_full_version == '3.9.*' and platform_machine == 'aarch64' and sys_platform == 'linux'", - "(python_full_version == '3.9.*' and platform_machine != 'arm64' and sys_platform == 'darwin') or (python_full_version == '3.9.*' and platform_machine != 'aarch64' and sys_platform == 'linux') or (python_full_version == '3.9.*' and sys_platform != 'darwin' and sys_platform != 'linux')", -] sdist = { url = "https://files.pythonhosted.org/packages/ae/ed/aefcc8cd0ba62a0560c3c18c33925362d46c6075480bfa4df87b28e169a9/docutils-0.21.2.tar.gz", hash = "sha256:3a6b18732edf182daa3cd12775bbb338cf5691468f91eeeb109deff6ebfa986f", size = 2204444, upload-time = "2024-04-23T18:57:18.24Z" } wheels = [ { url = "https://files.pythonhosted.org/packages/8f/d7/9322c609343d929e75e7e5e6255e614fcc67572cfd083959cdef3b7aad79/docutils-0.21.2-py3-none-any.whl", hash = "sha256:dafca5b9e384f0e419294eb4d2ff9fa826435bf15f15b7bd45723e8ad76811b2", size = 587408, upload-time = "2024-04-23T18:57:14.835Z" }, @@ -1129,8 +741,7 @@ name = "exceptiongroup" version = "1.3.0" source = { registry = "https://pypi.org/simple" } dependencies = [ - { name = "typing-extensions", version = "4.13.2", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.9'" }, - { name = "typing-extensions", version = "4.14.1", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.9' and python_full_version < '3.11'" }, + { name = "typing-extensions", marker = "python_full_version < '3.11'" }, ] sdist = { url = "https://files.pythonhosted.org/packages/0b/9f/a65090624ecf468cdca03533906e7c69ed7588582240cfe7cc9e770b50eb/exceptiongroup-1.3.0.tar.gz", hash = "sha256:b241f5885f560bc56a59ee63ca4c6a8bfa46ae4ad651af316d4e81817bb9fd88", size = 29749, upload-time = "2025-05-10T17:42:51.123Z" } wheels = [ @@ -1155,123 +766,19 @@ wheels = [ { url = "https://files.pythonhosted.org/packages/90/2b/0817a2b257fe88725c25589d89aec060581aabf668707a8d03b2e9e0cb2a/fastjsonschema-2.21.1-py3-none-any.whl", hash = "sha256:c9e5b7e908310918cf494a434eeb31384dd84a98b57a30bcb1f535015b554667", size = 23924, upload-time = "2024-12-02T10:55:07.599Z" }, ] -[[package]] -name = "filelock" -version = "3.16.1" -source = { registry = "https://pypi.org/simple" } -resolution-markers = [ - "python_full_version < '3.9' and platform_machine == 'arm64' and sys_platform == 'darwin'", - "python_full_version < '3.9' and platform_machine == 'aarch64' and sys_platform == 'linux'", - "(python_full_version < '3.9' and platform_machine != 'arm64' and sys_platform == 'darwin') or (python_full_version < '3.9' and platform_machine != 'aarch64' and sys_platform == 'linux') or (python_full_version < '3.9' and sys_platform != 'darwin' and sys_platform != 'linux')", -] -sdist = { url = "https://files.pythonhosted.org/packages/9d/db/3ef5bb276dae18d6ec2124224403d1d67bccdbefc17af4cc8f553e341ab1/filelock-3.16.1.tar.gz", hash = "sha256:c249fbfcd5db47e5e2d6d62198e565475ee65e4831e2561c8e313fa7eb961435", size = 18037, upload-time = "2024-09-17T19:02:01.779Z" } -wheels = [ - { url = "https://files.pythonhosted.org/packages/b9/f8/feced7779d755758a52d1f6635d990b8d98dc0a29fa568bbe0625f18fdf3/filelock-3.16.1-py3-none-any.whl", hash = "sha256:2082e5703d51fbf98ea75855d9d5527e33d8ff23099bec374a134febee6946b0", size = 16163, upload-time = "2024-09-17T19:02:00.268Z" }, -] - [[package]] name = "filelock" version = "3.18.0" source = { registry = "https://pypi.org/simple" } -resolution-markers = [ - "python_full_version >= '3.12' and sys_platform == 'darwin'", - "python_full_version >= '3.12' and platform_machine == 'aarch64' and sys_platform == 'linux'", - "(python_full_version >= '3.12' and platform_machine != 'aarch64' and sys_platform == 'linux') or (python_full_version >= '3.12' and sys_platform != 'darwin' and sys_platform != 'linux')", - "python_full_version == '3.11.*' and sys_platform == 'darwin'", - "python_full_version == '3.11.*' and platform_machine == 'aarch64' and sys_platform == 'linux'", - "(python_full_version == '3.11.*' and platform_machine != 'aarch64' and sys_platform == 'linux') or (python_full_version == '3.11.*' and sys_platform != 'darwin' and sys_platform != 'linux')", - "python_full_version == '3.10.*' and sys_platform == 'darwin'", - "python_full_version == '3.10.*' and platform_machine == 'aarch64' and sys_platform == 'linux'", - "(python_full_version == '3.10.*' and platform_machine != 'aarch64' and sys_platform == 'linux') or (python_full_version == '3.10.*' and sys_platform != 'darwin' and sys_platform != 'linux')", - "python_full_version == '3.9.*' and platform_machine == 'arm64' and sys_platform == 'darwin'", - "python_full_version == '3.9.*' and platform_machine == 'aarch64' and sys_platform == 'linux'", - "(python_full_version == '3.9.*' and platform_machine != 'arm64' and sys_platform == 'darwin') or (python_full_version == '3.9.*' and platform_machine != 'aarch64' and sys_platform == 'linux') or (python_full_version == '3.9.*' and sys_platform != 'darwin' and sys_platform != 'linux')", -] sdist = { url = "https://files.pythonhosted.org/packages/0a/10/c23352565a6544bdc5353e0b15fc1c563352101f30e24bf500207a54df9a/filelock-3.18.0.tar.gz", hash = "sha256:adbc88eabb99d2fec8c9c1b229b171f18afa655400173ddc653d5d01501fb9f2", size = 18075, upload-time = "2025-03-14T07:11:40.47Z" } wheels = [ { url = "https://files.pythonhosted.org/packages/4d/36/2a115987e2d8c300a974597416d9de88f2444426de9571f4b59b2cca3acc/filelock-3.18.0-py3-none-any.whl", hash = "sha256:c401f4f8377c4464e6db25fff06205fd89bdd83b65eb0488ed1b160f780e21de", size = 16215, upload-time = "2025-03-14T07:11:39.145Z" }, ] -[[package]] -name = "fonttools" -version = "4.57.0" -source = { registry = "https://pypi.org/simple" } -resolution-markers = [ - "python_full_version < '3.9' and platform_machine == 'arm64' and sys_platform == 'darwin'", - "python_full_version < '3.9' and platform_machine == 'aarch64' and sys_platform == 'linux'", - "(python_full_version < '3.9' and platform_machine != 'arm64' and sys_platform == 'darwin') or (python_full_version < '3.9' and platform_machine != 'aarch64' and sys_platform == 'linux') or (python_full_version < '3.9' and sys_platform != 'darwin' and sys_platform != 'linux')", -] -sdist = { url = "https://files.pythonhosted.org/packages/03/2d/a9a0b6e3a0cf6bd502e64fc16d894269011930cabfc89aee20d1635b1441/fonttools-4.57.0.tar.gz", hash = "sha256:727ece10e065be2f9dd239d15dd5d60a66e17eac11aea47d447f9f03fdbc42de", size = 3492448, upload-time = "2025-04-03T11:07:13.898Z" } -wheels = [ - { url = "https://files.pythonhosted.org/packages/db/17/3ddfd1881878b3f856065130bb603f5922e81ae8a4eb53bce0ea78f765a8/fonttools-4.57.0-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:babe8d1eb059a53e560e7bf29f8e8f4accc8b6cfb9b5fd10e485bde77e71ef41", size = 2756260, upload-time = "2025-04-03T11:05:28.582Z" }, - { url = "https://files.pythonhosted.org/packages/26/2b/6957890c52c030b0bf9e0add53e5badab4682c6ff024fac9a332bb2ae063/fonttools-4.57.0-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:81aa97669cd726349eb7bd43ca540cf418b279ee3caba5e2e295fb4e8f841c02", size = 2284691, upload-time = "2025-04-03T11:05:31.526Z" }, - { url = "https://files.pythonhosted.org/packages/cc/8e/c043b4081774e5eb06a834cedfdb7d432b4935bc8c4acf27207bdc34dfc4/fonttools-4.57.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:f0e9618630edd1910ad4f07f60d77c184b2f572c8ee43305ea3265675cbbfe7e", size = 4566077, upload-time = "2025-04-03T11:05:33.559Z" }, - { url = "https://files.pythonhosted.org/packages/59/bc/e16ae5d9eee6c70830ce11d1e0b23d6018ddfeb28025fda092cae7889c8b/fonttools-4.57.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:34687a5d21f1d688d7d8d416cb4c5b9c87fca8a1797ec0d74b9fdebfa55c09ab", size = 4608729, upload-time = "2025-04-03T11:05:35.49Z" }, - { url = "https://files.pythonhosted.org/packages/25/13/e557bf10bb38e4e4c436d3a9627aadf691bc7392ae460910447fda5fad2b/fonttools-4.57.0-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:69ab81b66ebaa8d430ba56c7a5f9abe0183afefd3a2d6e483060343398b13fb1", size = 4759646, upload-time = "2025-04-03T11:05:37.963Z" }, - { url = "https://files.pythonhosted.org/packages/bc/c9/5e2952214d4a8e31026bf80beb18187199b7001e60e99a6ce19773249124/fonttools-4.57.0-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:d639397de852f2ccfb3134b152c741406752640a266d9c1365b0f23d7b88077f", size = 4941652, upload-time = "2025-04-03T11:05:40.089Z" }, - { url = "https://files.pythonhosted.org/packages/df/04/e80242b3d9ec91a1f785d949edc277a13ecfdcfae744de4b170df9ed77d8/fonttools-4.57.0-cp310-cp310-win32.whl", hash = "sha256:cc066cb98b912f525ae901a24cd381a656f024f76203bc85f78fcc9e66ae5aec", size = 2159432, upload-time = "2025-04-03T11:05:41.754Z" }, - { url = "https://files.pythonhosted.org/packages/33/ba/e858cdca275daf16e03c0362aa43734ea71104c3b356b2100b98543dba1b/fonttools-4.57.0-cp310-cp310-win_amd64.whl", hash = "sha256:7a64edd3ff6a7f711a15bd70b4458611fb240176ec11ad8845ccbab4fe6745db", size = 2203869, upload-time = "2025-04-03T11:05:43.712Z" }, - { url = "https://files.pythonhosted.org/packages/81/1f/e67c99aa3c6d3d2f93d956627e62a57ae0d35dc42f26611ea2a91053f6d6/fonttools-4.57.0-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:3871349303bdec958360eedb619169a779956503ffb4543bb3e6211e09b647c4", size = 2757392, upload-time = "2025-04-03T11:05:45.715Z" }, - { url = "https://files.pythonhosted.org/packages/aa/f1/f75770d0ddc67db504850898d96d75adde238c35313409bfcd8db4e4a5fe/fonttools-4.57.0-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:c59375e85126b15a90fcba3443eaac58f3073ba091f02410eaa286da9ad80ed8", size = 2285609, upload-time = "2025-04-03T11:05:47.977Z" }, - { url = "https://files.pythonhosted.org/packages/f5/d3/bc34e4953cb204bae0c50b527307dce559b810e624a733351a654cfc318e/fonttools-4.57.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:967b65232e104f4b0f6370a62eb33089e00024f2ce143aecbf9755649421c683", size = 4873292, upload-time = "2025-04-03T11:05:49.921Z" }, - { url = "https://files.pythonhosted.org/packages/41/b8/d5933559303a4ab18c799105f4c91ee0318cc95db4a2a09e300116625e7a/fonttools-4.57.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:39acf68abdfc74e19de7485f8f7396fa4d2418efea239b7061d6ed6a2510c746", size = 4902503, upload-time = "2025-04-03T11:05:52.17Z" }, - { url = "https://files.pythonhosted.org/packages/32/13/acb36bfaa316f481153ce78de1fa3926a8bad42162caa3b049e1afe2408b/fonttools-4.57.0-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:9d077f909f2343daf4495ba22bb0e23b62886e8ec7c109ee8234bdbd678cf344", size = 5077351, upload-time = "2025-04-03T11:05:54.162Z" }, - { url = "https://files.pythonhosted.org/packages/b5/23/6d383a2ca83b7516d73975d8cca9d81a01acdcaa5e4db8579e4f3de78518/fonttools-4.57.0-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:46370ac47a1e91895d40e9ad48effbe8e9d9db1a4b80888095bc00e7beaa042f", size = 5275067, upload-time = "2025-04-03T11:05:57.375Z" }, - { url = "https://files.pythonhosted.org/packages/bc/ca/31b8919c6da0198d5d522f1d26c980201378c087bdd733a359a1e7485769/fonttools-4.57.0-cp311-cp311-win32.whl", hash = "sha256:ca2aed95855506b7ae94e8f1f6217b7673c929e4f4f1217bcaa236253055cb36", size = 2158263, upload-time = "2025-04-03T11:05:59.567Z" }, - { url = "https://files.pythonhosted.org/packages/13/4c/de2612ea2216eb45cfc8eb91a8501615dd87716feaf5f8fb65cbca576289/fonttools-4.57.0-cp311-cp311-win_amd64.whl", hash = "sha256:17168a4670bbe3775f3f3f72d23ee786bd965395381dfbb70111e25e81505b9d", size = 2204968, upload-time = "2025-04-03T11:06:02.16Z" }, - { url = "https://files.pythonhosted.org/packages/cb/98/d4bc42d43392982eecaaca117d79845734d675219680cd43070bb001bc1f/fonttools-4.57.0-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:889e45e976c74abc7256d3064aa7c1295aa283c6bb19810b9f8b604dfe5c7f31", size = 2751824, upload-time = "2025-04-03T11:06:03.782Z" }, - { url = "https://files.pythonhosted.org/packages/1a/62/7168030eeca3742fecf45f31e63b5ef48969fa230a672216b805f1d61548/fonttools-4.57.0-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:0425c2e052a5f1516c94e5855dbda706ae5a768631e9fcc34e57d074d1b65b92", size = 2283072, upload-time = "2025-04-03T11:06:05.533Z" }, - { url = "https://files.pythonhosted.org/packages/5d/82/121a26d9646f0986ddb35fbbaf58ef791c25b59ecb63ffea2aab0099044f/fonttools-4.57.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:44c26a311be2ac130f40a96769264809d3b0cb297518669db437d1cc82974888", size = 4788020, upload-time = "2025-04-03T11:06:07.249Z" }, - { url = "https://files.pythonhosted.org/packages/5b/26/e0f2fb662e022d565bbe280a3cfe6dafdaabf58889ff86fdef2d31ff1dde/fonttools-4.57.0-cp312-cp312-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:84c41ba992df5b8d680b89fd84c6a1f2aca2b9f1ae8a67400c8930cd4ea115f6", size = 4859096, upload-time = "2025-04-03T11:06:09.469Z" }, - { url = "https://files.pythonhosted.org/packages/9e/44/9075e323347b1891cdece4b3f10a3b84a8f4c42a7684077429d9ce842056/fonttools-4.57.0-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:ea1e9e43ca56b0c12440a7c689b1350066595bebcaa83baad05b8b2675129d98", size = 4964356, upload-time = "2025-04-03T11:06:11.294Z" }, - { url = "https://files.pythonhosted.org/packages/48/28/caa8df32743462fb966be6de6a79d7f30393859636d7732e82efa09fbbb4/fonttools-4.57.0-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:84fd56c78d431606332a0627c16e2a63d243d0d8b05521257d77c6529abe14d8", size = 5226546, upload-time = "2025-04-03T11:06:13.6Z" }, - { url = "https://files.pythonhosted.org/packages/f6/46/95ab0f0d2e33c5b1a4fc1c0efe5e286ba9359602c0a9907adb1faca44175/fonttools-4.57.0-cp312-cp312-win32.whl", hash = "sha256:f4376819c1c778d59e0a31db5dc6ede854e9edf28bbfa5b756604727f7f800ac", size = 2146776, upload-time = "2025-04-03T11:06:15.643Z" }, - { url = "https://files.pythonhosted.org/packages/06/5d/1be5424bb305880e1113631f49a55ea7c7da3a5fe02608ca7c16a03a21da/fonttools-4.57.0-cp312-cp312-win_amd64.whl", hash = "sha256:57e30241524879ea10cdf79c737037221f77cc126a8cdc8ff2c94d4a522504b9", size = 2193956, upload-time = "2025-04-03T11:06:17.534Z" }, - { url = "https://files.pythonhosted.org/packages/e9/2f/11439f3af51e4bb75ac9598c29f8601aa501902dcedf034bdc41f47dd799/fonttools-4.57.0-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:408ce299696012d503b714778d89aa476f032414ae57e57b42e4b92363e0b8ef", size = 2739175, upload-time = "2025-04-03T11:06:19.583Z" }, - { url = "https://files.pythonhosted.org/packages/25/52/677b55a4c0972dc3820c8dba20a29c358197a78229daa2ea219fdb19e5d5/fonttools-4.57.0-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:bbceffc80aa02d9e8b99f2a7491ed8c4a783b2fc4020119dc405ca14fb5c758c", size = 2276583, upload-time = "2025-04-03T11:06:21.753Z" }, - { url = "https://files.pythonhosted.org/packages/64/79/184555f8fa77b827b9460a4acdbbc0b5952bb6915332b84c615c3a236826/fonttools-4.57.0-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:f022601f3ee9e1f6658ed6d184ce27fa5216cee5b82d279e0f0bde5deebece72", size = 4766437, upload-time = "2025-04-03T11:06:23.521Z" }, - { url = "https://files.pythonhosted.org/packages/f8/ad/c25116352f456c0d1287545a7aa24e98987b6d99c5b0456c4bd14321f20f/fonttools-4.57.0-cp313-cp313-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:4dea5893b58d4637ffa925536462ba626f8a1b9ffbe2f5c272cdf2c6ebadb817", size = 4838431, upload-time = "2025-04-03T11:06:25.423Z" }, - { url = "https://files.pythonhosted.org/packages/53/ae/398b2a833897297797a44f519c9af911c2136eb7aa27d3f1352c6d1129fa/fonttools-4.57.0-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:dff02c5c8423a657c550b48231d0a48d7e2b2e131088e55983cfe74ccc2c7cc9", size = 4951011, upload-time = "2025-04-03T11:06:27.41Z" }, - { url = "https://files.pythonhosted.org/packages/b7/5d/7cb31c4bc9ffb9a2bbe8b08f8f53bad94aeb158efad75da645b40b62cb73/fonttools-4.57.0-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:767604f244dc17c68d3e2dbf98e038d11a18abc078f2d0f84b6c24571d9c0b13", size = 5205679, upload-time = "2025-04-03T11:06:29.804Z" }, - { url = "https://files.pythonhosted.org/packages/4c/e4/6934513ec2c4d3d69ca1bc3bd34d5c69dafcbf68c15388dd3bb062daf345/fonttools-4.57.0-cp313-cp313-win32.whl", hash = "sha256:8e2e12d0d862f43d51e5afb8b9751c77e6bec7d2dc00aad80641364e9df5b199", size = 2144833, upload-time = "2025-04-03T11:06:31.737Z" }, - { url = "https://files.pythonhosted.org/packages/c4/0d/2177b7fdd23d017bcfb702fd41e47d4573766b9114da2fddbac20dcc4957/fonttools-4.57.0-cp313-cp313-win_amd64.whl", hash = "sha256:f1d6bc9c23356908db712d282acb3eebd4ae5ec6d8b696aa40342b1d84f8e9e3", size = 2190799, upload-time = "2025-04-03T11:06:34.784Z" }, - { url = "https://files.pythonhosted.org/packages/8a/3f/c16dbbec7221783f37dcc2022d5a55f0d704ffc9feef67930f6eb517e8ce/fonttools-4.57.0-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:9d57b4e23ebbe985125d3f0cabbf286efa191ab60bbadb9326091050d88e8213", size = 2753756, upload-time = "2025-04-03T11:06:36.875Z" }, - { url = "https://files.pythonhosted.org/packages/48/9f/5b4a3d6aed5430b159dd3494bb992d4e45102affa3725f208e4f0aedc6a3/fonttools-4.57.0-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:579ba873d7f2a96f78b2e11028f7472146ae181cae0e4d814a37a09e93d5c5cc", size = 2283179, upload-time = "2025-04-03T11:06:39.095Z" }, - { url = "https://files.pythonhosted.org/packages/17/b2/4e887b674938b4c3848029a4134ac90dd8653ea80b4f464fa1edeae37f25/fonttools-4.57.0-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:6e3e1ec10c29bae0ea826b61f265ec5c858c5ba2ce2e69a71a62f285cf8e4595", size = 4647139, upload-time = "2025-04-03T11:06:41.315Z" }, - { url = "https://files.pythonhosted.org/packages/a5/0e/b6314a09a4d561aaa7e09de43fa700917be91e701f07df6178865962666c/fonttools-4.57.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:a1968f2a2003c97c4ce6308dc2498d5fd4364ad309900930aa5a503c9851aec8", size = 4691211, upload-time = "2025-04-03T11:06:43.566Z" }, - { url = "https://files.pythonhosted.org/packages/bf/1d/b9f4b70d165c25f5c9aee61eb6ae90b0e9b5787b2c0a45e4f3e50a839274/fonttools-4.57.0-cp38-cp38-musllinux_1_2_aarch64.whl", hash = "sha256:aff40f8ac6763d05c2c8f6d240c6dac4bb92640a86d9b0c3f3fff4404f34095c", size = 4873755, upload-time = "2025-04-03T11:06:45.457Z" }, - { url = "https://files.pythonhosted.org/packages/3b/fa/a731c8f42ae2c6761d1c22bd3c90241d5b2b13cabb70598abc74a828b51f/fonttools-4.57.0-cp38-cp38-musllinux_1_2_x86_64.whl", hash = "sha256:d07f1b64008e39fceae7aa99e38df8385d7d24a474a8c9872645c4397b674481", size = 5070072, upload-time = "2025-04-03T11:06:47.853Z" }, - { url = "https://files.pythonhosted.org/packages/1f/1e/6a988230109a2ba472e5de0a4c3936d49718cfc4b700b6bad53eca414bcf/fonttools-4.57.0-cp38-cp38-win32.whl", hash = "sha256:51d8482e96b28fb28aa8e50b5706f3cee06de85cbe2dce80dbd1917ae22ec5a6", size = 1484098, upload-time = "2025-04-03T11:06:50.167Z" }, - { url = "https://files.pythonhosted.org/packages/dc/7a/2b3666e8c13d035adf656a8ae391380656144760353c97f74747c64fd3e5/fonttools-4.57.0-cp38-cp38-win_amd64.whl", hash = "sha256:03290e818782e7edb159474144fca11e36a8ed6663d1fcbd5268eb550594fd8e", size = 1529536, upload-time = "2025-04-03T11:06:52.468Z" }, - { url = "https://files.pythonhosted.org/packages/d2/c7/3bddafbb95447f6fbabdd0b399bf468649321fd4029e356b4f6bd70fbc1b/fonttools-4.57.0-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:7339e6a3283e4b0ade99cade51e97cde3d54cd6d1c3744459e886b66d630c8b3", size = 2758942, upload-time = "2025-04-03T11:06:54.679Z" }, - { url = "https://files.pythonhosted.org/packages/d4/a2/8dd7771022e365c90e428b1607174c3297d5c0a2cc2cf4cdccb2221945b7/fonttools-4.57.0-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:05efceb2cb5f6ec92a4180fcb7a64aa8d3385fd49cfbbe459350229d1974f0b1", size = 2285959, upload-time = "2025-04-03T11:06:56.792Z" }, - { url = "https://files.pythonhosted.org/packages/58/5a/2fd29c5e38b14afe1fae7d472373e66688e7c7a98554252f3cf44371e033/fonttools-4.57.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a97bb05eb24637714a04dee85bdf0ad1941df64fe3b802ee4ac1c284a5f97b7c", size = 4571677, upload-time = "2025-04-03T11:06:59.002Z" }, - { url = "https://files.pythonhosted.org/packages/bf/30/b77cf81923f1a67ff35d6765a9db4718c0688eb8466c464c96a23a2e28d4/fonttools-4.57.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:541cb48191a19ceb1a2a4b90c1fcebd22a1ff7491010d3cf840dd3a68aebd654", size = 4616644, upload-time = "2025-04-03T11:07:01.238Z" }, - { url = "https://files.pythonhosted.org/packages/06/33/376605898d8d553134144dff167506a49694cb0e0cf684c14920fbc1e99f/fonttools-4.57.0-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:cdef9a056c222d0479a1fdb721430f9efd68268014c54e8166133d2643cb05d9", size = 4761314, upload-time = "2025-04-03T11:07:03.162Z" }, - { url = "https://files.pythonhosted.org/packages/48/e4/e0e48f5bae04bc1a1c6b4fcd7d1ca12b29f1fe74221534b7ff83ed0db8fe/fonttools-4.57.0-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:3cf97236b192a50a4bf200dc5ba405aa78d4f537a2c6e4c624bb60466d5b03bd", size = 4945563, upload-time = "2025-04-03T11:07:05.313Z" }, - { url = "https://files.pythonhosted.org/packages/61/98/2dacfc6d70f2d93bde1bbf814286be343cb17f53057130ad3b843144dd00/fonttools-4.57.0-cp39-cp39-win32.whl", hash = "sha256:e952c684274a7714b3160f57ec1d78309f955c6335c04433f07d36c5eb27b1f9", size = 2159997, upload-time = "2025-04-03T11:07:07.467Z" }, - { url = "https://files.pythonhosted.org/packages/93/fa/e61cc236f40d504532d2becf90c297bfed8e40abc0c8b08375fbb83eff29/fonttools-4.57.0-cp39-cp39-win_amd64.whl", hash = "sha256:a2a722c0e4bfd9966a11ff55c895c817158fcce1b2b6700205a376403b546ad9", size = 2204508, upload-time = "2025-04-03T11:07:09.632Z" }, - { url = "https://files.pythonhosted.org/packages/90/27/45f8957c3132917f91aaa56b700bcfc2396be1253f685bd5c68529b6f610/fonttools-4.57.0-py3-none-any.whl", hash = "sha256:3122c604a675513c68bd24c6a8f9091f1c2376d18e8f5fe5a101746c81b3e98f", size = 1093605, upload-time = "2025-04-03T11:07:11.341Z" }, -] - [[package]] name = "fonttools" version = "4.58.5" source = { registry = "https://pypi.org/simple" } -resolution-markers = [ - "python_full_version >= '3.12' and sys_platform == 'darwin'", - "python_full_version >= '3.12' and platform_machine == 'aarch64' and sys_platform == 'linux'", - "(python_full_version >= '3.12' and platform_machine != 'aarch64' and sys_platform == 'linux') or (python_full_version >= '3.12' and sys_platform != 'darwin' and sys_platform != 'linux')", - "python_full_version == '3.11.*' and sys_platform == 'darwin'", - "python_full_version == '3.11.*' and platform_machine == 'aarch64' and sys_platform == 'linux'", - "(python_full_version == '3.11.*' and platform_machine != 'aarch64' and sys_platform == 'linux') or (python_full_version == '3.11.*' and sys_platform != 'darwin' and sys_platform != 'linux')", - "python_full_version == '3.10.*' and sys_platform == 'darwin'", - "python_full_version == '3.10.*' and platform_machine == 'aarch64' and sys_platform == 'linux'", - "(python_full_version == '3.10.*' and platform_machine != 'aarch64' and sys_platform == 'linux') or (python_full_version == '3.10.*' and sys_platform != 'darwin' and sys_platform != 'linux')", - "python_full_version == '3.9.*' and platform_machine == 'arm64' and sys_platform == 'darwin'", - "python_full_version == '3.9.*' and platform_machine == 'aarch64' and sys_platform == 'linux'", - "(python_full_version == '3.9.*' and platform_machine != 'arm64' and sys_platform == 'darwin') or (python_full_version == '3.9.*' and platform_machine != 'aarch64' and sys_platform == 'linux') or (python_full_version == '3.9.*' and sys_platform != 'darwin' and sys_platform != 'linux')", -] sdist = { url = "https://files.pythonhosted.org/packages/52/97/5735503e58d3816b0989955ef9b2df07e4c99b246469bd8b3823a14095da/fonttools-4.58.5.tar.gz", hash = "sha256:b2a35b0a19f1837284b3a23dd64fd7761b8911d50911ecd2bdbaf5b2d1b5df9c", size = 3526243, upload-time = "2025-07-03T14:04:47.736Z" } wheels = [ { url = "https://files.pythonhosted.org/packages/0b/cd/d2a50d9e9e9f01491993acd557051a05b0bbe57eb47710c6381dca741ac9/fonttools-4.58.5-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:d500d399aa4e92d969a0d21052696fa762385bb23c3e733703af4a195ad9f34c", size = 2749015, upload-time = "2025-07-03T14:03:15.683Z" }, @@ -1362,44 +869,12 @@ wheels = [ { url = "https://files.pythonhosted.org/packages/1d/9a/4114a9057db2f1462d5c8f8390ab7383925fe1ac012eaa42402ad65c2963/GitPython-3.1.44-py3-none-any.whl", hash = "sha256:9e0e10cda9bed1ee64bc9a6de50e7e38a9c9943241cd7f585f6df3ed28011110", size = 207599, upload-time = "2025-01-02T07:32:40.731Z" }, ] -[[package]] -name = "griffe" -version = "1.4.0" -source = { registry = "https://pypi.org/simple" } -resolution-markers = [ - "python_full_version < '3.9' and platform_machine == 'arm64' and sys_platform == 'darwin'", - "python_full_version < '3.9' and platform_machine == 'aarch64' and sys_platform == 'linux'", - "(python_full_version < '3.9' and platform_machine != 'arm64' and sys_platform == 'darwin') or (python_full_version < '3.9' and platform_machine != 'aarch64' and sys_platform == 'linux') or (python_full_version < '3.9' and sys_platform != 'darwin' and sys_platform != 'linux')", -] -dependencies = [ - { name = "astunparse", marker = "python_full_version < '3.9'" }, - { name = "colorama", marker = "python_full_version < '3.9'" }, -] -sdist = { url = "https://files.pythonhosted.org/packages/05/e9/b2c86ad9d69053e497a24ceb25d661094fb321ab4ed39a8b71793dcbae82/griffe-1.4.0.tar.gz", hash = "sha256:8fccc585896d13f1221035d32c50dec65830c87d23f9adb9b1e6f3d63574f7f5", size = 381028, upload-time = "2024-10-11T12:53:54.414Z" } -wheels = [ - { url = "https://files.pythonhosted.org/packages/22/7c/e9e66869c2e4c9b378474e49c993128ec0131ef4721038b6d06e50538caf/griffe-1.4.0-py3-none-any.whl", hash = "sha256:e589de8b8c137e99a46ec45f9598fc0ac5b6868ce824b24db09c02d117b89bc5", size = 127015, upload-time = "2024-10-11T12:53:52.383Z" }, -] - [[package]] name = "griffe" version = "1.7.3" source = { registry = "https://pypi.org/simple" } -resolution-markers = [ - "python_full_version >= '3.12' and sys_platform == 'darwin'", - "python_full_version >= '3.12' and platform_machine == 'aarch64' and sys_platform == 'linux'", - "(python_full_version >= '3.12' and platform_machine != 'aarch64' and sys_platform == 'linux') or (python_full_version >= '3.12' and sys_platform != 'darwin' and sys_platform != 'linux')", - "python_full_version == '3.11.*' and sys_platform == 'darwin'", - "python_full_version == '3.11.*' and platform_machine == 'aarch64' and sys_platform == 'linux'", - "(python_full_version == '3.11.*' and platform_machine != 'aarch64' and sys_platform == 'linux') or (python_full_version == '3.11.*' and sys_platform != 'darwin' and sys_platform != 'linux')", - "python_full_version == '3.10.*' and sys_platform == 'darwin'", - "python_full_version == '3.10.*' and platform_machine == 'aarch64' and sys_platform == 'linux'", - "(python_full_version == '3.10.*' and platform_machine != 'aarch64' and sys_platform == 'linux') or (python_full_version == '3.10.*' and sys_platform != 'darwin' and sys_platform != 'linux')", - "python_full_version == '3.9.*' and platform_machine == 'arm64' and sys_platform == 'darwin'", - "python_full_version == '3.9.*' and platform_machine == 'aarch64' and sys_platform == 'linux'", - "(python_full_version == '3.9.*' and platform_machine != 'arm64' and sys_platform == 'darwin') or (python_full_version == '3.9.*' and platform_machine != 'aarch64' and sys_platform == 'linux') or (python_full_version == '3.9.*' and sys_platform != 'darwin' and sys_platform != 'linux')", -] dependencies = [ - { name = "colorama", marker = "python_full_version >= '3.9'" }, + { name = "colorama" }, ] sdist = { url = "https://files.pythonhosted.org/packages/a9/3e/5aa9a61f7c3c47b0b52a1d930302992229d191bf4bc76447b324b731510a/griffe-1.7.3.tar.gz", hash = "sha256:52ee893c6a3a968b639ace8015bec9d36594961e156e23315c8e8e51401fa50b", size = 395137, upload-time = "2025-04-23T11:29:09.147Z" } wheels = [ @@ -1433,8 +908,7 @@ name = "httpx" version = "0.28.1" source = { registry = "https://pypi.org/simple" } dependencies = [ - { name = "anyio", version = "4.5.2", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.9'" }, - { name = "anyio", version = "4.9.0", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.9'" }, + { name = "anyio" }, { name = "certifi" }, { name = "httpcore" }, { name = "idna" }, @@ -1467,84 +941,22 @@ wheels = [ [[package]] name = "importlib-metadata" -version = "8.5.0" +version = "8.7.0" source = { registry = "https://pypi.org/simple" } -resolution-markers = [ - "python_full_version < '3.9' and platform_machine == 'arm64' and sys_platform == 'darwin'", - "python_full_version < '3.9' and platform_machine == 'aarch64' and sys_platform == 'linux'", - "(python_full_version < '3.9' and platform_machine != 'arm64' and sys_platform == 'darwin') or (python_full_version < '3.9' and platform_machine != 'aarch64' and sys_platform == 'linux') or (python_full_version < '3.9' and sys_platform != 'darwin' and sys_platform != 'linux')", -] dependencies = [ - { name = "zipp", version = "3.20.2", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.9'" }, -] -sdist = { url = "https://files.pythonhosted.org/packages/cd/12/33e59336dca5be0c398a7482335911a33aa0e20776128f038019f1a95f1b/importlib_metadata-8.5.0.tar.gz", hash = "sha256:71522656f0abace1d072b9e5481a48f07c138e00f079c38c8f883823f9c26bd7", size = 55304, upload-time = "2024-09-11T14:56:08.937Z" } -wheels = [ - { url = "https://files.pythonhosted.org/packages/a0/d9/a1e041c5e7caa9a05c925f4bdbdfb7f006d1f74996af53467bc394c97be7/importlib_metadata-8.5.0-py3-none-any.whl", hash = "sha256:45e54197d28b7a7f1559e60b95e7c567032b602131fbd588f1497f47880aa68b", size = 26514, upload-time = "2024-09-11T14:56:07.019Z" }, -] - -[[package]] -name = "importlib-metadata" -version = "8.7.0" -source = { registry = "https://pypi.org/simple" } -resolution-markers = [ - "python_full_version >= '3.12' and sys_platform == 'darwin'", - "python_full_version >= '3.12' and platform_machine == 'aarch64' and sys_platform == 'linux'", - "(python_full_version >= '3.12' and platform_machine != 'aarch64' and sys_platform == 'linux') or (python_full_version >= '3.12' and sys_platform != 'darwin' and sys_platform != 'linux')", - "python_full_version == '3.11.*' and sys_platform == 'darwin'", - "python_full_version == '3.11.*' and platform_machine == 'aarch64' and sys_platform == 'linux'", - "(python_full_version == '3.11.*' and platform_machine != 'aarch64' and sys_platform == 'linux') or (python_full_version == '3.11.*' and sys_platform != 'darwin' and sys_platform != 'linux')", - "python_full_version == '3.10.*' and sys_platform == 'darwin'", - "python_full_version == '3.10.*' and platform_machine == 'aarch64' and sys_platform == 'linux'", - "(python_full_version == '3.10.*' and platform_machine != 'aarch64' and sys_platform == 'linux') or (python_full_version == '3.10.*' and sys_platform != 'darwin' and sys_platform != 'linux')", - "python_full_version == '3.9.*' and platform_machine == 'arm64' and sys_platform == 'darwin'", - "python_full_version == '3.9.*' and platform_machine == 'aarch64' and sys_platform == 'linux'", - "(python_full_version == '3.9.*' and platform_machine != 'arm64' and sys_platform == 'darwin') or (python_full_version == '3.9.*' and platform_machine != 'aarch64' and sys_platform == 'linux') or (python_full_version == '3.9.*' and sys_platform != 'darwin' and sys_platform != 'linux')", -] -dependencies = [ - { name = "zipp", version = "3.23.0", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.9'" }, + { name = "zipp" }, ] sdist = { url = "https://files.pythonhosted.org/packages/76/66/650a33bd90f786193e4de4b3ad86ea60b53c89b669a5c7be931fac31cdb0/importlib_metadata-8.7.0.tar.gz", hash = "sha256:d13b81ad223b890aa16c5471f2ac3056cf76c5f10f82d6f9292f0b415f389000", size = 56641, upload-time = "2025-04-27T15:29:01.736Z" } wheels = [ { url = "https://files.pythonhosted.org/packages/20/b0/36bd937216ec521246249be3bf9855081de4c5e06a0c9b4219dbeda50373/importlib_metadata-8.7.0-py3-none-any.whl", hash = "sha256:e5dd1551894c77868a30651cef00984d50e1002d06942a7101d34870c5f02afd", size = 27656, upload-time = "2025-04-27T15:29:00.214Z" }, ] -[[package]] -name = "importlib-resources" -version = "6.4.5" -source = { registry = "https://pypi.org/simple" } -resolution-markers = [ - "python_full_version < '3.9' and platform_machine == 'arm64' and sys_platform == 'darwin'", - "python_full_version < '3.9' and platform_machine == 'aarch64' and sys_platform == 'linux'", - "(python_full_version < '3.9' and platform_machine != 'arm64' and sys_platform == 'darwin') or (python_full_version < '3.9' and platform_machine != 'aarch64' and sys_platform == 'linux') or (python_full_version < '3.9' and sys_platform != 'darwin' and sys_platform != 'linux')", -] -dependencies = [ - { name = "zipp", version = "3.20.2", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.9'" }, -] -sdist = { url = "https://files.pythonhosted.org/packages/98/be/f3e8c6081b684f176b761e6a2fef02a0be939740ed6f54109a2951d806f3/importlib_resources-6.4.5.tar.gz", hash = "sha256:980862a1d16c9e147a59603677fa2aa5fd82b87f223b6cb870695bcfce830065", size = 43372, upload-time = "2024-09-09T17:03:14.677Z" } -wheels = [ - { url = "https://files.pythonhosted.org/packages/e1/6a/4604f9ae2fa62ef47b9de2fa5ad599589d28c9fd1d335f32759813dfa91e/importlib_resources-6.4.5-py3-none-any.whl", hash = "sha256:ac29d5f956f01d5e4bb63102a5a19957f1b9175e45649977264a1416783bb717", size = 36115, upload-time = "2024-09-09T17:03:13.39Z" }, -] - [[package]] name = "importlib-resources" version = "6.5.2" source = { registry = "https://pypi.org/simple" } -resolution-markers = [ - "python_full_version >= '3.12' and sys_platform == 'darwin'", - "python_full_version >= '3.12' and platform_machine == 'aarch64' and sys_platform == 'linux'", - "(python_full_version >= '3.12' and platform_machine != 'aarch64' and sys_platform == 'linux') or (python_full_version >= '3.12' and sys_platform != 'darwin' and sys_platform != 'linux')", - "python_full_version == '3.11.*' and sys_platform == 'darwin'", - "python_full_version == '3.11.*' and platform_machine == 'aarch64' and sys_platform == 'linux'", - "(python_full_version == '3.11.*' and platform_machine != 'aarch64' and sys_platform == 'linux') or (python_full_version == '3.11.*' and sys_platform != 'darwin' and sys_platform != 'linux')", - "python_full_version == '3.10.*' and sys_platform == 'darwin'", - "python_full_version == '3.10.*' and platform_machine == 'aarch64' and sys_platform == 'linux'", - "(python_full_version == '3.10.*' and platform_machine != 'aarch64' and sys_platform == 'linux') or (python_full_version == '3.10.*' and sys_platform != 'darwin' and sys_platform != 'linux')", - "python_full_version == '3.9.*' and platform_machine == 'arm64' and sys_platform == 'darwin'", - "python_full_version == '3.9.*' and platform_machine == 'aarch64' and sys_platform == 'linux'", - "(python_full_version == '3.9.*' and platform_machine != 'arm64' and sys_platform == 'darwin') or (python_full_version == '3.9.*' and platform_machine != 'aarch64' and sys_platform == 'linux') or (python_full_version == '3.9.*' and sys_platform != 'darwin' and sys_platform != 'linux')", -] dependencies = [ - { name = "zipp", version = "3.23.0", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version == '3.9.*'" }, + { name = "zipp", marker = "python_full_version < '3.10'" }, ] sdist = { url = "https://files.pythonhosted.org/packages/cf/8c/f834fbf984f691b4f7ff60f50b514cc3de5cc08abfc3295564dd89c5e2e7/importlib_resources-6.5.2.tar.gz", hash = "sha256:185f87adef5bcc288449d98fb4fba07cea78bc036455dd44c5fc4a2fe78fed2c", size = 44693, upload-time = "2025-01-03T18:51:56.698Z" } wheels = [ @@ -1568,8 +980,7 @@ dependencies = [ { name = "appnope", marker = "sys_platform == 'darwin'" }, { name = "comm" }, { name = "debugpy" }, - { name = "ipython", version = "8.12.3", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.9'" }, - { name = "ipython", version = "8.18.1", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version == '3.9.*'" }, + { name = "ipython", version = "8.18.1", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.10'" }, { name = "ipython", version = "8.37.0", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version == '3.10.*'" }, { name = "ipython", version = "9.4.0", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.11'" }, { name = "jupyter-client" }, @@ -1579,8 +990,7 @@ dependencies = [ { name = "packaging" }, { name = "psutil" }, { name = "pyzmq" }, - { name = "tornado", version = "6.4.2", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.9'" }, - { name = "tornado", version = "6.5.1", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.9'" }, + { name = "tornado" }, { name = "traitlets" }, ] sdist = { url = "https://files.pythonhosted.org/packages/e9/5c/67594cb0c7055dc50814b21731c22a601101ea3b1b50a9a1b090e11f5d0f/ipykernel-6.29.5.tar.gz", hash = "sha256:f093a22c4a40f8828f8e330a9c297cb93dcab13bd9678ded6de8e5cf81c56215", size = 163367, upload-time = "2024-07-01T14:07:22.543Z" } @@ -1588,56 +998,27 @@ wheels = [ { url = "https://files.pythonhosted.org/packages/94/5c/368ae6c01c7628438358e6d337c19b05425727fbb221d2a3c4303c372f42/ipykernel-6.29.5-py3-none-any.whl", hash = "sha256:afdb66ba5aa354b09b91379bac28ae4afebbb30e8b39510c9690afb7a10421b5", size = 117173, upload-time = "2024-07-01T14:07:19.603Z" }, ] -[[package]] -name = "ipython" -version = "8.12.3" -source = { registry = "https://pypi.org/simple" } -resolution-markers = [ - "python_full_version < '3.9' and platform_machine == 'arm64' and sys_platform == 'darwin'", - "python_full_version < '3.9' and platform_machine == 'aarch64' and sys_platform == 'linux'", - "(python_full_version < '3.9' and platform_machine != 'arm64' and sys_platform == 'darwin') or (python_full_version < '3.9' and platform_machine != 'aarch64' and sys_platform == 'linux') or (python_full_version < '3.9' and sys_platform != 'darwin' and sys_platform != 'linux')", -] -dependencies = [ - { name = "appnope", marker = "python_full_version < '3.9' and sys_platform == 'darwin'" }, - { name = "backcall", marker = "python_full_version < '3.9'" }, - { name = "colorama", marker = "python_full_version < '3.9' and sys_platform == 'win32'" }, - { name = "decorator", marker = "python_full_version < '3.9'" }, - { name = "jedi", marker = "python_full_version < '3.9'" }, - { name = "matplotlib-inline", marker = "python_full_version < '3.9'" }, - { name = "pexpect", marker = "python_full_version < '3.9' and sys_platform != 'win32'" }, - { name = "pickleshare", marker = "python_full_version < '3.9'" }, - { name = "prompt-toolkit", marker = "python_full_version < '3.9'" }, - { name = "pygments", marker = "python_full_version < '3.9'" }, - { name = "stack-data", marker = "python_full_version < '3.9'" }, - { name = "traitlets", marker = "python_full_version < '3.9'" }, - { name = "typing-extensions", version = "4.13.2", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.9'" }, -] -sdist = { url = "https://files.pythonhosted.org/packages/9e/6a/44ef299b1762f5a73841e87fae8a73a8cc8aee538d6dc8c77a5afe1fd2ce/ipython-8.12.3.tar.gz", hash = "sha256:3910c4b54543c2ad73d06579aa771041b7d5707b033bd488669b4cf544e3b363", size = 5470171, upload-time = "2023-09-29T09:14:37.468Z" } -wheels = [ - { url = "https://files.pythonhosted.org/packages/8d/97/8fe103906cd81bc42d3b0175b5534a9f67dccae47d6451131cf8d0d70bb2/ipython-8.12.3-py3-none-any.whl", hash = "sha256:b0340d46a933d27c657b211a329d0be23793c36595acf9e6ef4164bc01a1804c", size = 798307, upload-time = "2023-09-29T09:14:34.431Z" }, -] - [[package]] name = "ipython" version = "8.18.1" source = { registry = "https://pypi.org/simple" } resolution-markers = [ - "python_full_version == '3.9.*' and platform_machine == 'arm64' and sys_platform == 'darwin'", - "python_full_version == '3.9.*' and platform_machine == 'aarch64' and sys_platform == 'linux'", - "(python_full_version == '3.9.*' and platform_machine != 'arm64' and sys_platform == 'darwin') or (python_full_version == '3.9.*' and platform_machine != 'aarch64' and sys_platform == 'linux') or (python_full_version == '3.9.*' and sys_platform != 'darwin' and sys_platform != 'linux')", + "python_full_version < '3.10' and platform_machine == 'arm64' and sys_platform == 'darwin'", + "python_full_version < '3.10' and platform_machine == 'aarch64' and sys_platform == 'linux'", + "(python_full_version < '3.10' and platform_machine != 'arm64' and sys_platform == 'darwin') or (python_full_version < '3.10' and platform_machine != 'aarch64' and sys_platform == 'linux') or (python_full_version < '3.10' and sys_platform != 'darwin' and sys_platform != 'linux')", ] dependencies = [ - { name = "colorama", marker = "python_full_version == '3.9.*' and sys_platform == 'win32'" }, - { name = "decorator", marker = "python_full_version == '3.9.*'" }, - { name = "exceptiongroup", marker = "python_full_version == '3.9.*'" }, - { name = "jedi", marker = "python_full_version == '3.9.*'" }, - { name = "matplotlib-inline", marker = "python_full_version == '3.9.*'" }, - { name = "pexpect", marker = "python_full_version == '3.9.*' and sys_platform != 'win32'" }, - { name = "prompt-toolkit", marker = "python_full_version == '3.9.*'" }, - { name = "pygments", marker = "python_full_version == '3.9.*'" }, - { name = "stack-data", marker = "python_full_version == '3.9.*'" }, - { name = "traitlets", marker = "python_full_version == '3.9.*'" }, - { name = "typing-extensions", version = "4.14.1", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version == '3.9.*'" }, + { name = "colorama", marker = "python_full_version < '3.10' and sys_platform == 'win32'" }, + { name = "decorator", marker = "python_full_version < '3.10'" }, + { name = "exceptiongroup", marker = "python_full_version < '3.10'" }, + { name = "jedi", marker = "python_full_version < '3.10'" }, + { name = "matplotlib-inline", marker = "python_full_version < '3.10'" }, + { name = "pexpect", marker = "python_full_version < '3.10' and sys_platform != 'win32'" }, + { name = "prompt-toolkit", marker = "python_full_version < '3.10'" }, + { name = "pygments", marker = "python_full_version < '3.10'" }, + { name = "stack-data", marker = "python_full_version < '3.10'" }, + { name = "traitlets", marker = "python_full_version < '3.10'" }, + { name = "typing-extensions", marker = "python_full_version < '3.10'" }, ] sdist = { url = "https://files.pythonhosted.org/packages/b1/b9/3ba6c45a6df813c09a48bac313c22ff83efa26cbb55011218d925a46e2ad/ipython-8.18.1.tar.gz", hash = "sha256:ca6f079bb33457c66e233e4580ebfc4128855b4cf6370dddd73842a9563e8a27", size = 5486330, upload-time = "2023-11-27T09:58:34.596Z" } wheels = [ @@ -1664,7 +1045,7 @@ dependencies = [ { name = "pygments", marker = "python_full_version == '3.10.*'" }, { name = "stack-data", marker = "python_full_version == '3.10.*'" }, { name = "traitlets", marker = "python_full_version == '3.10.*'" }, - { name = "typing-extensions", version = "4.14.1", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version == '3.10.*'" }, + { name = "typing-extensions", marker = "python_full_version == '3.10.*'" }, ] sdist = { url = "https://files.pythonhosted.org/packages/85/31/10ac88f3357fc276dc8a64e8880c82e80e7459326ae1d0a211b40abf6665/ipython-8.37.0.tar.gz", hash = "sha256:ca815841e1a41a1e6b73a0b08f3038af9b2252564d01fc405356d34033012216", size = 5606088, upload-time = "2025-05-31T16:39:09.613Z" } wheels = [ @@ -1694,7 +1075,7 @@ dependencies = [ { name = "pygments", marker = "python_full_version >= '3.11'" }, { name = "stack-data", marker = "python_full_version >= '3.11'" }, { name = "traitlets", marker = "python_full_version >= '3.11'" }, - { name = "typing-extensions", version = "4.14.1", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version == '3.11.*'" }, + { name = "typing-extensions", marker = "python_full_version == '3.11.*'" }, ] sdist = { url = "https://files.pythonhosted.org/packages/54/80/406f9e3bde1c1fd9bf5a0be9d090f8ae623e401b7670d8f6fdf2ab679891/ipython-9.4.0.tar.gz", hash = "sha256:c033c6d4e7914c3d9768aabe76bbe87ba1dc66a92a05db6bfa1125d81f2ee270", size = 4385338, upload-time = "2025-07-01T11:11:30.606Z" } wheels = [ @@ -1719,8 +1100,7 @@ version = "8.1.7" source = { registry = "https://pypi.org/simple" } dependencies = [ { name = "comm" }, - { name = "ipython", version = "8.12.3", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.9'" }, - { name = "ipython", version = "8.18.1", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version == '3.9.*'" }, + { name = "ipython", version = "8.18.1", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.10'" }, { name = "ipython", version = "8.37.0", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version == '3.10.*'" }, { name = "ipython", version = "9.4.0", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.11'" }, { name = "jupyterlab-widgets" }, @@ -1749,8 +1129,7 @@ name = "jaraco-classes" version = "3.4.0" source = { registry = "https://pypi.org/simple" } dependencies = [ - { name = "more-itertools", version = "10.5.0", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.9'" }, - { name = "more-itertools", version = "10.7.0", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.9'" }, + { name = "more-itertools" }, ] sdist = { url = "https://files.pythonhosted.org/packages/06/c0/ed4a27bc5571b99e3cff68f8a9fa5b56ff7df1c2251cc715a652ddd26402/jaraco.classes-3.4.0.tar.gz", hash = "sha256:47a024b51d0239c0dd8c8540c6c7f484be3b8fcf0b2d85c13825780d3b3f3acd", size = 11780, upload-time = "2024-03-31T07:27:36.643Z" } wheels = [ @@ -1769,43 +1148,12 @@ wheels = [ { url = "https://files.pythonhosted.org/packages/ff/db/0c52c4cf5e4bd9f5d7135ec7669a3a767af21b3a308e1ed3674881e52b62/jaraco.context-6.0.1-py3-none-any.whl", hash = "sha256:f797fc481b490edb305122c9181830a3a5b76d84ef6d1aef2fb9b47ab956f9e4", size = 6825, upload-time = "2024-08-20T03:39:25.966Z" }, ] -[[package]] -name = "jaraco-functools" -version = "4.1.0" -source = { registry = "https://pypi.org/simple" } -resolution-markers = [ - "python_full_version < '3.9' and platform_machine == 'arm64' and sys_platform == 'darwin'", - "python_full_version < '3.9' and platform_machine == 'aarch64' and sys_platform == 'linux'", - "(python_full_version < '3.9' and platform_machine != 'arm64' and sys_platform == 'darwin') or (python_full_version < '3.9' and platform_machine != 'aarch64' and sys_platform == 'linux') or (python_full_version < '3.9' and sys_platform != 'darwin' and sys_platform != 'linux')", -] -dependencies = [ - { name = "more-itertools", version = "10.5.0", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.9'" }, -] -sdist = { url = "https://files.pythonhosted.org/packages/ab/23/9894b3df5d0a6eb44611c36aec777823fc2e07740dabbd0b810e19594013/jaraco_functools-4.1.0.tar.gz", hash = "sha256:70f7e0e2ae076498e212562325e805204fc092d7b4c17e0e86c959e249701a9d", size = 19159, upload-time = "2024-09-27T19:47:09.122Z" } -wheels = [ - { url = "https://files.pythonhosted.org/packages/9f/4f/24b319316142c44283d7540e76c7b5a6dbd5db623abd86bb7b3491c21018/jaraco.functools-4.1.0-py3-none-any.whl", hash = "sha256:ad159f13428bc4acbf5541ad6dec511f91573b90fba04df61dafa2a1231cf649", size = 10187, upload-time = "2024-09-27T19:47:07.14Z" }, -] - [[package]] name = "jaraco-functools" version = "4.2.1" source = { registry = "https://pypi.org/simple" } -resolution-markers = [ - "python_full_version >= '3.12' and sys_platform == 'darwin'", - "python_full_version >= '3.12' and platform_machine == 'aarch64' and sys_platform == 'linux'", - "(python_full_version >= '3.12' and platform_machine != 'aarch64' and sys_platform == 'linux') or (python_full_version >= '3.12' and sys_platform != 'darwin' and sys_platform != 'linux')", - "python_full_version == '3.11.*' and sys_platform == 'darwin'", - "python_full_version == '3.11.*' and platform_machine == 'aarch64' and sys_platform == 'linux'", - "(python_full_version == '3.11.*' and platform_machine != 'aarch64' and sys_platform == 'linux') or (python_full_version == '3.11.*' and sys_platform != 'darwin' and sys_platform != 'linux')", - "python_full_version == '3.10.*' and sys_platform == 'darwin'", - "python_full_version == '3.10.*' and platform_machine == 'aarch64' and sys_platform == 'linux'", - "(python_full_version == '3.10.*' and platform_machine != 'aarch64' and sys_platform == 'linux') or (python_full_version == '3.10.*' and sys_platform != 'darwin' and sys_platform != 'linux')", - "python_full_version == '3.9.*' and platform_machine == 'arm64' and sys_platform == 'darwin'", - "python_full_version == '3.9.*' and platform_machine == 'aarch64' and sys_platform == 'linux'", - "(python_full_version == '3.9.*' and platform_machine != 'arm64' and sys_platform == 'darwin') or (python_full_version == '3.9.*' and platform_machine != 'aarch64' and sys_platform == 'linux') or (python_full_version == '3.9.*' and sys_platform != 'darwin' and sys_platform != 'linux')", -] dependencies = [ - { name = "more-itertools", version = "10.7.0", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.9'" }, + { name = "more-itertools" }, ] sdist = { url = "https://files.pythonhosted.org/packages/49/1c/831faaaa0f090b711c355c6d8b2abf277c72133aab472b6932b03322294c/jaraco_functools-4.2.1.tar.gz", hash = "sha256:be634abfccabce56fa3053f8c7ebe37b682683a4ee7793670ced17bab0087353", size = 19661, upload-time = "2025-06-21T19:22:03.201Z" } wheels = [ @@ -1838,8 +1186,7 @@ name = "jinja2" version = "3.1.6" source = { registry = "https://pypi.org/simple" } dependencies = [ - { name = "markupsafe", version = "2.1.5", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.9'" }, - { name = "markupsafe", version = "3.0.2", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.9'" }, + { name = "markupsafe" }, ] sdist = { url = "https://files.pythonhosted.org/packages/df/bf/f7da0350254c0ed7c72f3e33cef02e048281fec7ecec5f032d4aac52226b/jinja2-3.1.6.tar.gz", hash = "sha256:0137fb05990d35f1275a587e9aee6d56da821fc83491a0fb838183be43f66d6d", size = 245115, upload-time = "2025-03-05T20:05:02.478Z" } wheels = [ @@ -1864,63 +1211,15 @@ wheels = [ { url = "https://files.pythonhosted.org/packages/71/92/5e77f98553e9e75130c78900d000368476aed74276eb8ae8796f65f00918/jsonpointer-3.0.0-py2.py3-none-any.whl", hash = "sha256:13e088adc14fca8b6aa8177c044e12701e6ad4b28ff10e65f2267a90109c9942", size = 7595, upload-time = "2024-06-10T19:24:40.698Z" }, ] -[[package]] -name = "jsonschema" -version = "4.23.0" -source = { registry = "https://pypi.org/simple" } -resolution-markers = [ - "python_full_version < '3.9' and platform_machine == 'arm64' and sys_platform == 'darwin'", - "python_full_version < '3.9' and platform_machine == 'aarch64' and sys_platform == 'linux'", - "(python_full_version < '3.9' and platform_machine != 'arm64' and sys_platform == 'darwin') or (python_full_version < '3.9' and platform_machine != 'aarch64' and sys_platform == 'linux') or (python_full_version < '3.9' and sys_platform != 'darwin' and sys_platform != 'linux')", -] -dependencies = [ - { name = "attrs", marker = "python_full_version < '3.9'" }, - { name = "importlib-resources", version = "6.4.5", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.9'" }, - { name = "jsonschema-specifications", version = "2023.12.1", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.9'" }, - { name = "pkgutil-resolve-name", marker = "python_full_version < '3.9'" }, - { name = "referencing", version = "0.35.1", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.9'" }, - { name = "rpds-py", version = "0.20.1", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.9'" }, -] -sdist = { url = "https://files.pythonhosted.org/packages/38/2e/03362ee4034a4c917f697890ccd4aec0800ccf9ded7f511971c75451deec/jsonschema-4.23.0.tar.gz", hash = "sha256:d71497fef26351a33265337fa77ffeb82423f3ea21283cd9467bb03999266bc4", size = 325778, upload-time = "2024-07-08T18:40:05.546Z" } -wheels = [ - { url = "https://files.pythonhosted.org/packages/69/4a/4f9dbeb84e8850557c02365a0eee0649abe5eb1d84af92a25731c6c0f922/jsonschema-4.23.0-py3-none-any.whl", hash = "sha256:fbadb6f8b144a8f8cf9f0b89ba94501d143e50411a1278633f56a7acf7fd5566", size = 88462, upload-time = "2024-07-08T18:40:00.165Z" }, -] - -[package.optional-dependencies] -format-nongpl = [ - { name = "fqdn", marker = "python_full_version < '3.9'" }, - { name = "idna", marker = "python_full_version < '3.9'" }, - { name = "isoduration", marker = "python_full_version < '3.9'" }, - { name = "jsonpointer", marker = "python_full_version < '3.9'" }, - { name = "rfc3339-validator", marker = "python_full_version < '3.9'" }, - { name = "rfc3986-validator", marker = "python_full_version < '3.9'" }, - { name = "uri-template", marker = "python_full_version < '3.9'" }, - { name = "webcolors", version = "24.8.0", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.9'" }, -] - [[package]] name = "jsonschema" version = "4.24.0" source = { registry = "https://pypi.org/simple" } -resolution-markers = [ - "python_full_version >= '3.12' and sys_platform == 'darwin'", - "python_full_version >= '3.12' and platform_machine == 'aarch64' and sys_platform == 'linux'", - "(python_full_version >= '3.12' and platform_machine != 'aarch64' and sys_platform == 'linux') or (python_full_version >= '3.12' and sys_platform != 'darwin' and sys_platform != 'linux')", - "python_full_version == '3.11.*' and sys_platform == 'darwin'", - "python_full_version == '3.11.*' and platform_machine == 'aarch64' and sys_platform == 'linux'", - "(python_full_version == '3.11.*' and platform_machine != 'aarch64' and sys_platform == 'linux') or (python_full_version == '3.11.*' and sys_platform != 'darwin' and sys_platform != 'linux')", - "python_full_version == '3.10.*' and sys_platform == 'darwin'", - "python_full_version == '3.10.*' and platform_machine == 'aarch64' and sys_platform == 'linux'", - "(python_full_version == '3.10.*' and platform_machine != 'aarch64' and sys_platform == 'linux') or (python_full_version == '3.10.*' and sys_platform != 'darwin' and sys_platform != 'linux')", - "python_full_version == '3.9.*' and platform_machine == 'arm64' and sys_platform == 'darwin'", - "python_full_version == '3.9.*' and platform_machine == 'aarch64' and sys_platform == 'linux'", - "(python_full_version == '3.9.*' and platform_machine != 'arm64' and sys_platform == 'darwin') or (python_full_version == '3.9.*' and platform_machine != 'aarch64' and sys_platform == 'linux') or (python_full_version == '3.9.*' and sys_platform != 'darwin' and sys_platform != 'linux')", -] dependencies = [ - { name = "attrs", marker = "python_full_version >= '3.9'" }, - { name = "jsonschema-specifications", version = "2025.4.1", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.9'" }, - { name = "referencing", version = "0.36.2", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.9'" }, - { name = "rpds-py", version = "0.26.0", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.9'" }, + { name = "attrs" }, + { name = "jsonschema-specifications" }, + { name = "referencing" }, + { name = "rpds-py" }, ] sdist = { url = "https://files.pythonhosted.org/packages/bf/d3/1cf5326b923a53515d8f3a2cd442e6d7e94fcc444716e879ea70a0ce3177/jsonschema-4.24.0.tar.gz", hash = "sha256:0b4e8069eb12aedfa881333004bccaec24ecef5a8a6a4b6df142b2cc9599d196", size = 353480, upload-time = "2025-05-26T18:48:10.459Z" } wheels = [ @@ -1929,54 +1228,22 @@ wheels = [ [package.optional-dependencies] format-nongpl = [ - { name = "fqdn", marker = "python_full_version >= '3.9'" }, - { name = "idna", marker = "python_full_version >= '3.9'" }, - { name = "isoduration", marker = "python_full_version >= '3.9'" }, - { name = "jsonpointer", marker = "python_full_version >= '3.9'" }, - { name = "rfc3339-validator", marker = "python_full_version >= '3.9'" }, - { name = "rfc3986-validator", marker = "python_full_version >= '3.9'" }, - { name = "uri-template", marker = "python_full_version >= '3.9'" }, - { name = "webcolors", version = "24.11.1", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.9'" }, -] - -[[package]] -name = "jsonschema-specifications" -version = "2023.12.1" -source = { registry = "https://pypi.org/simple" } -resolution-markers = [ - "python_full_version < '3.9' and platform_machine == 'arm64' and sys_platform == 'darwin'", - "python_full_version < '3.9' and platform_machine == 'aarch64' and sys_platform == 'linux'", - "(python_full_version < '3.9' and platform_machine != 'arm64' and sys_platform == 'darwin') or (python_full_version < '3.9' and platform_machine != 'aarch64' and sys_platform == 'linux') or (python_full_version < '3.9' and sys_platform != 'darwin' and sys_platform != 'linux')", -] -dependencies = [ - { name = "importlib-resources", version = "6.4.5", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.9'" }, - { name = "referencing", version = "0.35.1", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.9'" }, -] -sdist = { url = "https://files.pythonhosted.org/packages/f8/b9/cc0cc592e7c195fb8a650c1d5990b10175cf13b4c97465c72ec841de9e4b/jsonschema_specifications-2023.12.1.tar.gz", hash = "sha256:48a76787b3e70f5ed53f1160d2b81f586e4ca6d1548c5de7085d1682674764cc", size = 13983, upload-time = "2023-12-25T15:16:53.63Z" } -wheels = [ - { url = "https://files.pythonhosted.org/packages/ee/07/44bd408781594c4d0a027666ef27fab1e441b109dc3b76b4f836f8fd04fe/jsonschema_specifications-2023.12.1-py3-none-any.whl", hash = "sha256:87e4fdf3a94858b8a2ba2778d9ba57d8a9cafca7c7489c46ba0d30a8bc6a9c3c", size = 18482, upload-time = "2023-12-25T15:16:51.997Z" }, + { name = "fqdn" }, + { name = "idna" }, + { name = "isoduration" }, + { name = "jsonpointer" }, + { name = "rfc3339-validator" }, + { name = "rfc3986-validator" }, + { name = "uri-template" }, + { name = "webcolors" }, ] [[package]] name = "jsonschema-specifications" version = "2025.4.1" source = { registry = "https://pypi.org/simple" } -resolution-markers = [ - "python_full_version >= '3.12' and sys_platform == 'darwin'", - "python_full_version >= '3.12' and platform_machine == 'aarch64' and sys_platform == 'linux'", - "(python_full_version >= '3.12' and platform_machine != 'aarch64' and sys_platform == 'linux') or (python_full_version >= '3.12' and sys_platform != 'darwin' and sys_platform != 'linux')", - "python_full_version == '3.11.*' and sys_platform == 'darwin'", - "python_full_version == '3.11.*' and platform_machine == 'aarch64' and sys_platform == 'linux'", - "(python_full_version == '3.11.*' and platform_machine != 'aarch64' and sys_platform == 'linux') or (python_full_version == '3.11.*' and sys_platform != 'darwin' and sys_platform != 'linux')", - "python_full_version == '3.10.*' and sys_platform == 'darwin'", - "python_full_version == '3.10.*' and platform_machine == 'aarch64' and sys_platform == 'linux'", - "(python_full_version == '3.10.*' and platform_machine != 'aarch64' and sys_platform == 'linux') or (python_full_version == '3.10.*' and sys_platform != 'darwin' and sys_platform != 'linux')", - "python_full_version == '3.9.*' and platform_machine == 'arm64' and sys_platform == 'darwin'", - "python_full_version == '3.9.*' and platform_machine == 'aarch64' and sys_platform == 'linux'", - "(python_full_version == '3.9.*' and platform_machine != 'arm64' and sys_platform == 'darwin') or (python_full_version == '3.9.*' and platform_machine != 'aarch64' and sys_platform == 'linux') or (python_full_version == '3.9.*' and sys_platform != 'darwin' and sys_platform != 'linux')", -] dependencies = [ - { name = "referencing", version = "0.36.2", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.9'" }, + { name = "referencing" }, ] sdist = { url = "https://files.pythonhosted.org/packages/bf/ce/46fbd9c8119cfc3581ee5643ea49464d168028cfb5caff5fc0596d0cf914/jsonschema_specifications-2025.4.1.tar.gz", hash = "sha256:630159c9f4dbea161a6a2205c3011cc4f18ff381b189fff48bb39b9bf26ae608", size = 15513, upload-time = "2025-04-23T12:34:07.418Z" } wheels = [ @@ -1988,13 +1255,11 @@ name = "jupyter-client" version = "8.6.3" source = { registry = "https://pypi.org/simple" } dependencies = [ - { name = "importlib-metadata", version = "8.5.0", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.9'" }, - { name = "importlib-metadata", version = "8.7.0", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version == '3.9.*'" }, + { name = "importlib-metadata", marker = "python_full_version < '3.10'" }, { name = "jupyter-core" }, { name = "python-dateutil" }, { name = "pyzmq" }, - { name = "tornado", version = "6.4.2", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.9'" }, - { name = "tornado", version = "6.5.1", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.9'" }, + { name = "tornado" }, { name = "traitlets" }, ] sdist = { url = "https://files.pythonhosted.org/packages/71/22/bf9f12fdaeae18019a468b68952a60fe6dbab5d67cd2a103cac7659b41ca/jupyter_client-8.6.3.tar.gz", hash = "sha256:35b3a0947c4a6e9d589eb97d7d4cd5e90f910ee73101611f01283732bd6d9419", size = 342019, upload-time = "2024-09-17T10:44:17.613Z" } @@ -2007,8 +1272,7 @@ name = "jupyter-core" version = "5.8.1" source = { registry = "https://pypi.org/simple" } dependencies = [ - { name = "platformdirs", version = "4.3.6", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.9'" }, - { name = "platformdirs", version = "4.3.8", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.9'" }, + { name = "platformdirs" }, { name = "pywin32", marker = "platform_python_implementation != 'PyPy' and sys_platform == 'win32'" }, { name = "traitlets" }, ] @@ -2017,56 +1281,19 @@ wheels = [ { url = "https://files.pythonhosted.org/packages/2f/57/6bffd4b20b88da3800c5d691e0337761576ee688eb01299eae865689d2df/jupyter_core-5.8.1-py3-none-any.whl", hash = "sha256:c28d268fc90fb53f1338ded2eb410704c5449a358406e8a948b75706e24863d0", size = 28880, upload-time = "2025-05-27T07:38:15.137Z" }, ] -[[package]] -name = "jupyter-events" -version = "0.10.0" -source = { registry = "https://pypi.org/simple" } -resolution-markers = [ - "python_full_version < '3.9' and platform_machine == 'arm64' and sys_platform == 'darwin'", - "python_full_version < '3.9' and platform_machine == 'aarch64' and sys_platform == 'linux'", - "(python_full_version < '3.9' and platform_machine != 'arm64' and sys_platform == 'darwin') or (python_full_version < '3.9' and platform_machine != 'aarch64' and sys_platform == 'linux') or (python_full_version < '3.9' and sys_platform != 'darwin' and sys_platform != 'linux')", -] -dependencies = [ - { name = "jsonschema", version = "4.23.0", source = { registry = "https://pypi.org/simple" }, extra = ["format-nongpl"], marker = "python_full_version < '3.9'" }, - { name = "python-json-logger", marker = "python_full_version < '3.9'" }, - { name = "pyyaml", marker = "python_full_version < '3.9'" }, - { name = "referencing", version = "0.35.1", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.9'" }, - { name = "rfc3339-validator", marker = "python_full_version < '3.9'" }, - { name = "rfc3986-validator", marker = "python_full_version < '3.9'" }, - { name = "traitlets", marker = "python_full_version < '3.9'" }, -] -sdist = { url = "https://files.pythonhosted.org/packages/8d/53/7537a1aa558229bb0b1b178d814c9d68a9c697d3aecb808a1cb2646acf1f/jupyter_events-0.10.0.tar.gz", hash = "sha256:670b8229d3cc882ec782144ed22e0d29e1c2d639263f92ca8383e66682845e22", size = 61516, upload-time = "2024-03-18T17:41:58.642Z" } -wheels = [ - { url = "https://files.pythonhosted.org/packages/a5/94/059180ea70a9a326e1815176b2370da56376da347a796f8c4f0b830208ef/jupyter_events-0.10.0-py3-none-any.whl", hash = "sha256:4b72130875e59d57716d327ea70d3ebc3af1944d3717e5a498b8a06c6c159960", size = 18777, upload-time = "2024-03-18T17:41:56.155Z" }, -] - [[package]] name = "jupyter-events" version = "0.12.0" source = { registry = "https://pypi.org/simple" } -resolution-markers = [ - "python_full_version >= '3.12' and sys_platform == 'darwin'", - "python_full_version >= '3.12' and platform_machine == 'aarch64' and sys_platform == 'linux'", - "(python_full_version >= '3.12' and platform_machine != 'aarch64' and sys_platform == 'linux') or (python_full_version >= '3.12' and sys_platform != 'darwin' and sys_platform != 'linux')", - "python_full_version == '3.11.*' and sys_platform == 'darwin'", - "python_full_version == '3.11.*' and platform_machine == 'aarch64' and sys_platform == 'linux'", - "(python_full_version == '3.11.*' and platform_machine != 'aarch64' and sys_platform == 'linux') or (python_full_version == '3.11.*' and sys_platform != 'darwin' and sys_platform != 'linux')", - "python_full_version == '3.10.*' and sys_platform == 'darwin'", - "python_full_version == '3.10.*' and platform_machine == 'aarch64' and sys_platform == 'linux'", - "(python_full_version == '3.10.*' and platform_machine != 'aarch64' and sys_platform == 'linux') or (python_full_version == '3.10.*' and sys_platform != 'darwin' and sys_platform != 'linux')", - "python_full_version == '3.9.*' and platform_machine == 'arm64' and sys_platform == 'darwin'", - "python_full_version == '3.9.*' and platform_machine == 'aarch64' and sys_platform == 'linux'", - "(python_full_version == '3.9.*' and platform_machine != 'arm64' and sys_platform == 'darwin') or (python_full_version == '3.9.*' and platform_machine != 'aarch64' and sys_platform == 'linux') or (python_full_version == '3.9.*' and sys_platform != 'darwin' and sys_platform != 'linux')", -] dependencies = [ - { name = "jsonschema", version = "4.24.0", source = { registry = "https://pypi.org/simple" }, extra = ["format-nongpl"], marker = "python_full_version >= '3.9'" }, - { name = "packaging", marker = "python_full_version >= '3.9'" }, - { name = "python-json-logger", marker = "python_full_version >= '3.9'" }, - { name = "pyyaml", marker = "python_full_version >= '3.9'" }, - { name = "referencing", version = "0.36.2", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.9'" }, - { name = "rfc3339-validator", marker = "python_full_version >= '3.9'" }, - { name = "rfc3986-validator", marker = "python_full_version >= '3.9'" }, - { name = "traitlets", marker = "python_full_version >= '3.9'" }, + { name = "jsonschema", extra = ["format-nongpl"] }, + { name = "packaging" }, + { name = "python-json-logger" }, + { name = "pyyaml" }, + { name = "referencing" }, + { name = "rfc3339-validator" }, + { name = "rfc3986-validator" }, + { name = "traitlets" }, ] sdist = { url = "https://files.pythonhosted.org/packages/9d/c3/306d090461e4cf3cd91eceaff84bede12a8e52cd821c2d20c9a4fd728385/jupyter_events-0.12.0.tar.gz", hash = "sha256:fc3fce98865f6784c9cd0a56a20644fc6098f21c8c33834a8d9fe383c17e554b", size = 62196, upload-time = "2025-02-03T17:23:41.485Z" } wheels = [ @@ -2078,89 +1305,38 @@ name = "jupyter-lsp" version = "2.2.5" source = { registry = "https://pypi.org/simple" } dependencies = [ - { name = "importlib-metadata", version = "8.5.0", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.9'" }, - { name = "importlib-metadata", version = "8.7.0", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version == '3.9.*'" }, - { name = "jupyter-server", version = "2.14.2", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.9'" }, - { name = "jupyter-server", version = "2.16.0", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.9'" }, + { name = "importlib-metadata", marker = "python_full_version < '3.10'" }, + { name = "jupyter-server" }, ] sdist = { url = "https://files.pythonhosted.org/packages/85/b4/3200b0b09c12bc3b72d943d923323c398eff382d1dcc7c0dbc8b74630e40/jupyter-lsp-2.2.5.tar.gz", hash = "sha256:793147a05ad446f809fd53ef1cd19a9f5256fd0a2d6b7ce943a982cb4f545001", size = 48741, upload-time = "2024-04-09T17:59:44.918Z" } wheels = [ { url = "https://files.pythonhosted.org/packages/07/e0/7bd7cff65594fd9936e2f9385701e44574fc7d721331ff676ce440b14100/jupyter_lsp-2.2.5-py3-none-any.whl", hash = "sha256:45fbddbd505f3fbfb0b6cb2f1bc5e15e83ab7c79cd6e89416b248cb3c00c11da", size = 69146, upload-time = "2024-04-09T17:59:43.388Z" }, ] -[[package]] -name = "jupyter-server" -version = "2.14.2" -source = { registry = "https://pypi.org/simple" } -resolution-markers = [ - "python_full_version < '3.9' and platform_machine == 'arm64' and sys_platform == 'darwin'", - "python_full_version < '3.9' and platform_machine == 'aarch64' and sys_platform == 'linux'", - "(python_full_version < '3.9' and platform_machine != 'arm64' and sys_platform == 'darwin') or (python_full_version < '3.9' and platform_machine != 'aarch64' and sys_platform == 'linux') or (python_full_version < '3.9' and sys_platform != 'darwin' and sys_platform != 'linux')", -] -dependencies = [ - { name = "anyio", version = "4.5.2", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.9'" }, - { name = "argon2-cffi", marker = "python_full_version < '3.9'" }, - { name = "jinja2", marker = "python_full_version < '3.9'" }, - { name = "jupyter-client", marker = "python_full_version < '3.9'" }, - { name = "jupyter-core", marker = "python_full_version < '3.9'" }, - { name = "jupyter-events", version = "0.10.0", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.9'" }, - { name = "jupyter-server-terminals", marker = "python_full_version < '3.9'" }, - { name = "nbconvert", marker = "python_full_version < '3.9'" }, - { name = "nbformat", marker = "python_full_version < '3.9'" }, - { name = "overrides", marker = "python_full_version < '3.9'" }, - { name = "packaging", marker = "python_full_version < '3.9'" }, - { name = "prometheus-client", version = "0.21.1", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.9'" }, - { name = "pywinpty", version = "2.0.14", source = { registry = "https://pypi.org/simple" }, marker = "(python_full_version < '3.9' and os_name == 'nt' and platform_machine != 'arm64' and sys_platform == 'darwin') or (python_full_version < '3.9' and os_name == 'nt' and platform_machine != 'aarch64' and sys_platform == 'linux') or (python_full_version < '3.9' and os_name == 'nt' and sys_platform != 'darwin' and sys_platform != 'linux')" }, - { name = "pyzmq", marker = "python_full_version < '3.9'" }, - { name = "send2trash", marker = "python_full_version < '3.9'" }, - { name = "terminado", marker = "python_full_version < '3.9'" }, - { name = "tornado", version = "6.4.2", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.9'" }, - { name = "traitlets", marker = "python_full_version < '3.9'" }, - { name = "websocket-client", marker = "python_full_version < '3.9'" }, -] -sdist = { url = "https://files.pythonhosted.org/packages/0c/34/88b47749c7fa9358e10eac356c4b97d94a91a67d5c935a73f69bc4a31118/jupyter_server-2.14.2.tar.gz", hash = "sha256:66095021aa9638ced276c248b1d81862e4c50f292d575920bbe960de1c56b12b", size = 719933, upload-time = "2024-07-12T18:31:43.019Z" } -wheels = [ - { url = "https://files.pythonhosted.org/packages/57/e1/085edea6187a127ca8ea053eb01f4e1792d778b4d192c74d32eb6730fed6/jupyter_server-2.14.2-py3-none-any.whl", hash = "sha256:47ff506127c2f7851a17bf4713434208fc490955d0e8632e95014a9a9afbeefd", size = 383556, upload-time = "2024-07-12T18:31:39.724Z" }, -] - [[package]] name = "jupyter-server" version = "2.16.0" source = { registry = "https://pypi.org/simple" } -resolution-markers = [ - "python_full_version >= '3.12' and sys_platform == 'darwin'", - "python_full_version >= '3.12' and platform_machine == 'aarch64' and sys_platform == 'linux'", - "(python_full_version >= '3.12' and platform_machine != 'aarch64' and sys_platform == 'linux') or (python_full_version >= '3.12' and sys_platform != 'darwin' and sys_platform != 'linux')", - "python_full_version == '3.11.*' and sys_platform == 'darwin'", - "python_full_version == '3.11.*' and platform_machine == 'aarch64' and sys_platform == 'linux'", - "(python_full_version == '3.11.*' and platform_machine != 'aarch64' and sys_platform == 'linux') or (python_full_version == '3.11.*' and sys_platform != 'darwin' and sys_platform != 'linux')", - "python_full_version == '3.10.*' and sys_platform == 'darwin'", - "python_full_version == '3.10.*' and platform_machine == 'aarch64' and sys_platform == 'linux'", - "(python_full_version == '3.10.*' and platform_machine != 'aarch64' and sys_platform == 'linux') or (python_full_version == '3.10.*' and sys_platform != 'darwin' and sys_platform != 'linux')", - "python_full_version == '3.9.*' and platform_machine == 'arm64' and sys_platform == 'darwin'", - "python_full_version == '3.9.*' and platform_machine == 'aarch64' and sys_platform == 'linux'", - "(python_full_version == '3.9.*' and platform_machine != 'arm64' and sys_platform == 'darwin') or (python_full_version == '3.9.*' and platform_machine != 'aarch64' and sys_platform == 'linux') or (python_full_version == '3.9.*' and sys_platform != 'darwin' and sys_platform != 'linux')", -] dependencies = [ - { name = "anyio", version = "4.9.0", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.9'" }, - { name = "argon2-cffi", marker = "python_full_version >= '3.9'" }, - { name = "jinja2", marker = "python_full_version >= '3.9'" }, - { name = "jupyter-client", marker = "python_full_version >= '3.9'" }, - { name = "jupyter-core", marker = "python_full_version >= '3.9'" }, - { name = "jupyter-events", version = "0.12.0", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.9'" }, - { name = "jupyter-server-terminals", marker = "python_full_version >= '3.9'" }, - { name = "nbconvert", marker = "python_full_version >= '3.9'" }, - { name = "nbformat", marker = "python_full_version >= '3.9'" }, - { name = "overrides", marker = "python_full_version >= '3.9'" }, - { name = "packaging", marker = "python_full_version >= '3.9'" }, - { name = "prometheus-client", version = "0.22.1", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.9'" }, - { name = "pywinpty", version = "2.0.15", source = { registry = "https://pypi.org/simple" }, marker = "(python_full_version == '3.9.*' and os_name == 'nt' and platform_machine != 'arm64' and sys_platform == 'darwin') or (python_full_version >= '3.9' and os_name == 'nt' and platform_machine != 'aarch64' and sys_platform == 'linux') or (python_full_version >= '3.9' and os_name == 'nt' and sys_platform != 'darwin' and sys_platform != 'linux')" }, - { name = "pyzmq", marker = "python_full_version >= '3.9'" }, - { name = "send2trash", marker = "python_full_version >= '3.9'" }, - { name = "terminado", marker = "python_full_version >= '3.9'" }, - { name = "tornado", version = "6.5.1", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.9'" }, - { name = "traitlets", marker = "python_full_version >= '3.9'" }, - { name = "websocket-client", marker = "python_full_version >= '3.9'" }, + { name = "anyio" }, + { name = "argon2-cffi" }, + { name = "jinja2" }, + { name = "jupyter-client" }, + { name = "jupyter-core" }, + { name = "jupyter-events" }, + { name = "jupyter-server-terminals" }, + { name = "nbconvert" }, + { name = "nbformat" }, + { name = "overrides" }, + { name = "packaging" }, + { name = "prometheus-client" }, + { name = "pywinpty", marker = "(python_full_version < '3.10' and os_name == 'nt' and platform_machine != 'arm64' and sys_platform == 'darwin') or (os_name == 'nt' and platform_machine != 'aarch64' and sys_platform == 'linux') or (os_name == 'nt' and sys_platform != 'darwin' and sys_platform != 'linux')" }, + { name = "pyzmq" }, + { name = "send2trash" }, + { name = "terminado" }, + { name = "tornado" }, + { name = "traitlets" }, + { name = "websocket-client" }, ] sdist = { url = "https://files.pythonhosted.org/packages/41/c8/ba2bbcd758c47f1124c4ca14061e8ce60d9c6fd537faee9534a95f83521a/jupyter_server-2.16.0.tar.gz", hash = "sha256:65d4b44fdf2dcbbdfe0aa1ace4a842d4aaf746a2b7b168134d5aaed35621b7f6", size = 728177, upload-time = "2025-05-12T16:44:46.245Z" } wheels = [ @@ -2172,8 +1348,7 @@ name = "jupyter-server-terminals" version = "0.5.3" source = { registry = "https://pypi.org/simple" } dependencies = [ - { name = "pywinpty", version = "2.0.14", source = { registry = "https://pypi.org/simple" }, marker = "(python_full_version < '3.9' and os_name == 'nt' and platform_machine != 'arm64' and sys_platform == 'darwin') or (python_full_version < '3.9' and os_name == 'nt' and platform_machine != 'aarch64' and sys_platform == 'linux') or (python_full_version < '3.9' and os_name == 'nt' and sys_platform != 'darwin' and sys_platform != 'linux')" }, - { name = "pywinpty", version = "2.0.15", source = { registry = "https://pypi.org/simple" }, marker = "(python_full_version == '3.9.*' and os_name == 'nt' and platform_machine != 'arm64' and sys_platform == 'darwin') or (python_full_version >= '3.9' and os_name == 'nt' and platform_machine != 'aarch64' and sys_platform == 'linux') or (python_full_version >= '3.9' and os_name == 'nt' and sys_platform != 'darwin' and sys_platform != 'linux')" }, + { name = "pywinpty", marker = "(python_full_version < '3.10' and os_name == 'nt' and platform_machine != 'arm64' and sys_platform == 'darwin') or (os_name == 'nt' and platform_machine != 'aarch64' and sys_platform == 'linux') or (os_name == 'nt' and sys_platform != 'darwin' and sys_platform != 'linux')" }, { name = "terminado" }, ] sdist = { url = "https://files.pythonhosted.org/packages/fc/d5/562469734f476159e99a55426d697cbf8e7eb5efe89fb0e0b4f83a3d3459/jupyter_server_terminals-0.5.3.tar.gz", hash = "sha256:5ae0295167220e9ace0edcfdb212afd2b01ee8d179fe6f23c899590e9b8a5269", size = 31430, upload-time = "2024-03-12T14:37:03.049Z" } @@ -2181,72 +1356,26 @@ wheels = [ { url = "https://files.pythonhosted.org/packages/07/2d/2b32cdbe8d2a602f697a649798554e4f072115438e92249624e532e8aca6/jupyter_server_terminals-0.5.3-py3-none-any.whl", hash = "sha256:41ee0d7dc0ebf2809c668e0fc726dfaf258fcd3e769568996ca731b6194ae9aa", size = 13656, upload-time = "2024-03-12T14:37:00.708Z" }, ] -[[package]] -name = "jupyterlab" -version = "4.3.8" -source = { registry = "https://pypi.org/simple" } -resolution-markers = [ - "python_full_version < '3.9' and platform_machine == 'arm64' and sys_platform == 'darwin'", - "python_full_version < '3.9' and platform_machine == 'aarch64' and sys_platform == 'linux'", - "(python_full_version < '3.9' and platform_machine != 'arm64' and sys_platform == 'darwin') or (python_full_version < '3.9' and platform_machine != 'aarch64' and sys_platform == 'linux') or (python_full_version < '3.9' and sys_platform != 'darwin' and sys_platform != 'linux')", -] -dependencies = [ - { name = "async-lru", version = "2.0.4", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.9'" }, - { name = "httpx", marker = "python_full_version < '3.9'" }, - { name = "importlib-metadata", version = "8.5.0", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.9'" }, - { name = "importlib-resources", version = "6.4.5", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.9'" }, - { name = "ipykernel", marker = "python_full_version < '3.9'" }, - { name = "jinja2", marker = "python_full_version < '3.9'" }, - { name = "jupyter-core", marker = "python_full_version < '3.9'" }, - { name = "jupyter-lsp", marker = "python_full_version < '3.9'" }, - { name = "jupyter-server", version = "2.14.2", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.9'" }, - { name = "jupyterlab-server", marker = "python_full_version < '3.9'" }, - { name = "notebook-shim", marker = "python_full_version < '3.9'" }, - { name = "packaging", marker = "python_full_version < '3.9'" }, - { name = "setuptools", version = "75.3.2", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.9'" }, - { name = "tomli", marker = "python_full_version < '3.9'" }, - { name = "tornado", version = "6.4.2", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.9'" }, - { name = "traitlets", marker = "python_full_version < '3.9'" }, -] -sdist = { url = "https://files.pythonhosted.org/packages/c1/8e/9d3d91a0492be047167850419e43ba72e7950145ba2ff60824366bcae50f/jupyterlab-4.3.8.tar.gz", hash = "sha256:2ffd0e7b82786dba54743f4d1646130642ed81cb9e52f0a31e79416f6e5ba2e7", size = 21826824, upload-time = "2025-06-24T16:49:34.005Z" } -wheels = [ - { url = "https://files.pythonhosted.org/packages/e6/15/ef346ab227f161cba2dcffe3ffeb8b4e4d2630600408f8276945d49fc868/jupyterlab-4.3.8-py3-none-any.whl", hash = "sha256:8c6451ef224a18b457975fd52010e45a7aef58b719dfb242c5f253e0e48ea047", size = 11682103, upload-time = "2025-06-24T16:49:28.459Z" }, -] - [[package]] name = "jupyterlab" version = "4.4.4" source = { registry = "https://pypi.org/simple" } -resolution-markers = [ - "python_full_version >= '3.12' and sys_platform == 'darwin'", - "python_full_version >= '3.12' and platform_machine == 'aarch64' and sys_platform == 'linux'", - "(python_full_version >= '3.12' and platform_machine != 'aarch64' and sys_platform == 'linux') or (python_full_version >= '3.12' and sys_platform != 'darwin' and sys_platform != 'linux')", - "python_full_version == '3.11.*' and sys_platform == 'darwin'", - "python_full_version == '3.11.*' and platform_machine == 'aarch64' and sys_platform == 'linux'", - "(python_full_version == '3.11.*' and platform_machine != 'aarch64' and sys_platform == 'linux') or (python_full_version == '3.11.*' and sys_platform != 'darwin' and sys_platform != 'linux')", - "python_full_version == '3.10.*' and sys_platform == 'darwin'", - "python_full_version == '3.10.*' and platform_machine == 'aarch64' and sys_platform == 'linux'", - "(python_full_version == '3.10.*' and platform_machine != 'aarch64' and sys_platform == 'linux') or (python_full_version == '3.10.*' and sys_platform != 'darwin' and sys_platform != 'linux')", - "python_full_version == '3.9.*' and platform_machine == 'arm64' and sys_platform == 'darwin'", - "python_full_version == '3.9.*' and platform_machine == 'aarch64' and sys_platform == 'linux'", - "(python_full_version == '3.9.*' and platform_machine != 'arm64' and sys_platform == 'darwin') or (python_full_version == '3.9.*' and platform_machine != 'aarch64' and sys_platform == 'linux') or (python_full_version == '3.9.*' and sys_platform != 'darwin' and sys_platform != 'linux')", -] dependencies = [ - { name = "async-lru", version = "2.0.5", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.9'" }, - { name = "httpx", marker = "python_full_version >= '3.9'" }, - { name = "importlib-metadata", version = "8.7.0", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version == '3.9.*'" }, - { name = "ipykernel", marker = "python_full_version >= '3.9'" }, - { name = "jinja2", marker = "python_full_version >= '3.9'" }, - { name = "jupyter-core", marker = "python_full_version >= '3.9'" }, - { name = "jupyter-lsp", marker = "python_full_version >= '3.9'" }, - { name = "jupyter-server", version = "2.16.0", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.9'" }, - { name = "jupyterlab-server", marker = "python_full_version >= '3.9'" }, - { name = "notebook-shim", marker = "python_full_version >= '3.9'" }, - { name = "packaging", marker = "python_full_version >= '3.9'" }, - { name = "setuptools", version = "80.9.0", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.9'" }, - { name = "tomli", marker = "python_full_version >= '3.9' and python_full_version < '3.11'" }, - { name = "tornado", version = "6.5.1", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.9'" }, - { name = "traitlets", marker = "python_full_version >= '3.9'" }, + { name = "async-lru" }, + { name = "httpx" }, + { name = "importlib-metadata", marker = "python_full_version < '3.10'" }, + { name = "ipykernel" }, + { name = "jinja2" }, + { name = "jupyter-core" }, + { name = "jupyter-lsp" }, + { name = "jupyter-server" }, + { name = "jupyterlab-server" }, + { name = "notebook-shim" }, + { name = "packaging" }, + { name = "setuptools" }, + { name = "tomli", marker = "python_full_version < '3.11'" }, + { name = "tornado" }, + { name = "traitlets" }, ] sdist = { url = "https://files.pythonhosted.org/packages/e2/4d/7ca5b46ea56742880d71a768a9e6fb8f8482228427eb89492d55c5d0bb7d/jupyterlab-4.4.4.tar.gz", hash = "sha256:163fee1ef702e0a057f75d2eed3ed1da8a986d59eb002cbeb6f0c2779e6cd153", size = 23044296, upload-time = "2025-06-28T13:07:20.708Z" } wheels = [ @@ -2268,14 +1397,11 @@ version = "2.27.3" source = { registry = "https://pypi.org/simple" } dependencies = [ { name = "babel" }, - { name = "importlib-metadata", version = "8.5.0", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.9'" }, - { name = "importlib-metadata", version = "8.7.0", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version == '3.9.*'" }, + { name = "importlib-metadata", marker = "python_full_version < '3.10'" }, { name = "jinja2" }, { name = "json5" }, - { name = "jsonschema", version = "4.23.0", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.9'" }, - { name = "jsonschema", version = "4.24.0", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.9'" }, - { name = "jupyter-server", version = "2.14.2", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.9'" }, - { name = "jupyter-server", version = "2.16.0", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.9'" }, + { name = "jsonschema" }, + { name = "jupyter-server" }, { name = "packaging" }, { name = "requests" }, ] @@ -2293,109 +1419,35 @@ wheels = [ { url = "https://files.pythonhosted.org/packages/43/6a/ca128561b22b60bd5a0c4ea26649e68c8556b82bc70a0c396eebc977fe86/jupyterlab_widgets-3.0.15-py3-none-any.whl", hash = "sha256:d59023d7d7ef71400d51e6fee9a88867f6e65e10a4201605d2d7f3e8f012a31c", size = 216571, upload-time = "2025-05-05T12:32:29.534Z" }, ] -[[package]] -name = "jupytext" -version = "1.17.1" -source = { registry = "https://pypi.org/simple" } -resolution-markers = [ - "python_full_version < '3.9' and platform_machine == 'arm64' and sys_platform == 'darwin'", - "python_full_version < '3.9' and platform_machine == 'aarch64' and sys_platform == 'linux'", - "(python_full_version < '3.9' and platform_machine != 'arm64' and sys_platform == 'darwin') or (python_full_version < '3.9' and platform_machine != 'aarch64' and sys_platform == 'linux') or (python_full_version < '3.9' and sys_platform != 'darwin' and sys_platform != 'linux')", -] -dependencies = [ - { name = "markdown-it-py", marker = "python_full_version < '3.9'" }, - { name = "mdit-py-plugins", marker = "python_full_version < '3.9'" }, - { name = "nbformat", marker = "python_full_version < '3.9'" }, - { name = "packaging", marker = "python_full_version < '3.9'" }, - { name = "pyyaml", marker = "python_full_version < '3.9'" }, - { name = "tomli", marker = "python_full_version < '3.9'" }, -] -sdist = { url = "https://files.pythonhosted.org/packages/6e/d9/b7acd3bed66c194cec1915c5bbec30994dbb50693ec209e5b115c28ddf63/jupytext-1.17.1.tar.gz", hash = "sha256:c02fda8af76ffd6e064a04cf2d3cc8aae242b2f0e38c42b4cd80baf89c3325d3", size = 3746897, upload-time = "2025-04-26T21:16:11.453Z" } -wheels = [ - { url = "https://files.pythonhosted.org/packages/12/b7/e7e3d34c8095c19228874b1babedfb5d901374e40d51ae66f2a90203be53/jupytext-1.17.1-py3-none-any.whl", hash = "sha256:99145b1e1fa96520c21ba157de7d354ffa4904724dcebdcd70b8413688a312de", size = 164286, upload-time = "2025-04-26T21:16:09.636Z" }, -] - [[package]] name = "jupytext" version = "1.17.2" source = { registry = "https://pypi.org/simple" } -resolution-markers = [ - "python_full_version >= '3.12' and sys_platform == 'darwin'", - "python_full_version >= '3.12' and platform_machine == 'aarch64' and sys_platform == 'linux'", - "(python_full_version >= '3.12' and platform_machine != 'aarch64' and sys_platform == 'linux') or (python_full_version >= '3.12' and sys_platform != 'darwin' and sys_platform != 'linux')", - "python_full_version == '3.11.*' and sys_platform == 'darwin'", - "python_full_version == '3.11.*' and platform_machine == 'aarch64' and sys_platform == 'linux'", - "(python_full_version == '3.11.*' and platform_machine != 'aarch64' and sys_platform == 'linux') or (python_full_version == '3.11.*' and sys_platform != 'darwin' and sys_platform != 'linux')", - "python_full_version == '3.10.*' and sys_platform == 'darwin'", - "python_full_version == '3.10.*' and platform_machine == 'aarch64' and sys_platform == 'linux'", - "(python_full_version == '3.10.*' and platform_machine != 'aarch64' and sys_platform == 'linux') or (python_full_version == '3.10.*' and sys_platform != 'darwin' and sys_platform != 'linux')", - "python_full_version == '3.9.*' and platform_machine == 'arm64' and sys_platform == 'darwin'", - "python_full_version == '3.9.*' and platform_machine == 'aarch64' and sys_platform == 'linux'", - "(python_full_version == '3.9.*' and platform_machine != 'arm64' and sys_platform == 'darwin') or (python_full_version == '3.9.*' and platform_machine != 'aarch64' and sys_platform == 'linux') or (python_full_version == '3.9.*' and sys_platform != 'darwin' and sys_platform != 'linux')", -] dependencies = [ - { name = "markdown-it-py", marker = "python_full_version >= '3.9'" }, - { name = "mdit-py-plugins", marker = "python_full_version >= '3.9'" }, - { name = "nbformat", marker = "python_full_version >= '3.9'" }, - { name = "packaging", marker = "python_full_version >= '3.9'" }, - { name = "pyyaml", marker = "python_full_version >= '3.9'" }, - { name = "tomli", marker = "python_full_version >= '3.9' and python_full_version < '3.11'" }, + { name = "markdown-it-py" }, + { name = "mdit-py-plugins" }, + { name = "nbformat" }, + { name = "packaging" }, + { name = "pyyaml" }, + { name = "tomli", marker = "python_full_version < '3.11'" }, ] sdist = { url = "https://files.pythonhosted.org/packages/30/ce/0bd5290ca4978777154e2683413dca761781aacf57f7dc0146f5210df8b1/jupytext-1.17.2.tar.gz", hash = "sha256:772d92898ac1f2ded69106f897b34af48ce4a85c985fa043a378ff5a65455f02", size = 3748577, upload-time = "2025-06-01T21:31:48.231Z" } wheels = [ { url = "https://files.pythonhosted.org/packages/ed/f1/82ea8e783433707cafd9790099a2d19f113c22f32a31c8bb5abdc7a61dbb/jupytext-1.17.2-py3-none-any.whl", hash = "sha256:4f85dc43bb6a24b75491c5c434001ad5ef563932f68f15dd3e1c8ce12a4a426b", size = 164401, upload-time = "2025-06-01T21:31:46.319Z" }, ] -[[package]] -name = "keyring" -version = "25.5.0" -source = { registry = "https://pypi.org/simple" } -resolution-markers = [ - "python_full_version < '3.9' and platform_machine == 'arm64' and sys_platform == 'darwin'", - "python_full_version < '3.9' and platform_machine == 'aarch64' and sys_platform == 'linux'", - "(python_full_version < '3.9' and platform_machine != 'arm64' and sys_platform == 'darwin') or (python_full_version < '3.9' and platform_machine != 'aarch64' and sys_platform == 'linux') or (python_full_version < '3.9' and sys_platform != 'darwin' and sys_platform != 'linux')", -] -dependencies = [ - { name = "importlib-metadata", version = "8.5.0", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.9'" }, - { name = "importlib-resources", version = "6.4.5", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.9'" }, - { name = "jaraco-classes", marker = "python_full_version < '3.9'" }, - { name = "jaraco-context", marker = "python_full_version < '3.9'" }, - { name = "jaraco-functools", version = "4.1.0", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.9'" }, - { name = "jeepney", marker = "python_full_version < '3.9' and sys_platform == 'linux'" }, - { name = "pywin32-ctypes", marker = "python_full_version < '3.9' and sys_platform == 'win32'" }, - { name = "secretstorage", marker = "python_full_version < '3.9' and sys_platform == 'linux'" }, -] -sdist = { url = "https://files.pythonhosted.org/packages/f6/24/64447b13df6a0e2797b586dad715766d756c932ce8ace7f67bd384d76ae0/keyring-25.5.0.tar.gz", hash = "sha256:4c753b3ec91717fe713c4edd522d625889d8973a349b0e582622f49766de58e6", size = 62675, upload-time = "2024-10-26T15:40:12.344Z" } -wheels = [ - { url = "https://files.pythonhosted.org/packages/32/c9/353c156fa2f057e669106e5d6bcdecf85ef8d3536ce68ca96f18dc7b6d6f/keyring-25.5.0-py3-none-any.whl", hash = "sha256:e67f8ac32b04be4714b42fe84ce7dad9c40985b9ca827c592cc303e7c26d9741", size = 39096, upload-time = "2024-10-26T15:40:10.296Z" }, -] - [[package]] name = "keyring" version = "25.6.0" source = { registry = "https://pypi.org/simple" } -resolution-markers = [ - "python_full_version >= '3.12' and sys_platform == 'darwin'", - "python_full_version >= '3.12' and platform_machine == 'aarch64' and sys_platform == 'linux'", - "(python_full_version >= '3.12' and platform_machine != 'aarch64' and sys_platform == 'linux') or (python_full_version >= '3.12' and sys_platform != 'darwin' and sys_platform != 'linux')", - "python_full_version == '3.11.*' and sys_platform == 'darwin'", - "python_full_version == '3.11.*' and platform_machine == 'aarch64' and sys_platform == 'linux'", - "(python_full_version == '3.11.*' and platform_machine != 'aarch64' and sys_platform == 'linux') or (python_full_version == '3.11.*' and sys_platform != 'darwin' and sys_platform != 'linux')", - "python_full_version == '3.10.*' and sys_platform == 'darwin'", - "python_full_version == '3.10.*' and platform_machine == 'aarch64' and sys_platform == 'linux'", - "(python_full_version == '3.10.*' and platform_machine != 'aarch64' and sys_platform == 'linux') or (python_full_version == '3.10.*' and sys_platform != 'darwin' and sys_platform != 'linux')", - "python_full_version == '3.9.*' and platform_machine == 'arm64' and sys_platform == 'darwin'", - "python_full_version == '3.9.*' and platform_machine == 'aarch64' and sys_platform == 'linux'", - "(python_full_version == '3.9.*' and platform_machine != 'arm64' and sys_platform == 'darwin') or (python_full_version == '3.9.*' and platform_machine != 'aarch64' and sys_platform == 'linux') or (python_full_version == '3.9.*' and sys_platform != 'darwin' and sys_platform != 'linux')", -] dependencies = [ - { name = "importlib-metadata", version = "8.7.0", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.9' and python_full_version < '3.12'" }, - { name = "jaraco-classes", marker = "python_full_version >= '3.9'" }, - { name = "jaraco-context", marker = "python_full_version >= '3.9'" }, - { name = "jaraco-functools", version = "4.2.1", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.9'" }, - { name = "jeepney", marker = "python_full_version >= '3.9' and sys_platform == 'linux'" }, - { name = "pywin32-ctypes", marker = "python_full_version >= '3.9' and sys_platform == 'win32'" }, - { name = "secretstorage", marker = "python_full_version >= '3.9' and sys_platform == 'linux'" }, + { name = "importlib-metadata", marker = "python_full_version < '3.12'" }, + { name = "jaraco-classes" }, + { name = "jaraco-context" }, + { name = "jaraco-functools" }, + { name = "jeepney", marker = "sys_platform == 'linux'" }, + { name = "pywin32-ctypes", marker = "sys_platform == 'win32'" }, + { name = "secretstorage", marker = "sys_platform == 'linux'" }, ] sdist = { url = "https://files.pythonhosted.org/packages/70/09/d904a6e96f76ff214be59e7aa6ef7190008f52a0ab6689760a98de0bf37d/keyring-25.6.0.tar.gz", hash = "sha256:0b39998aa941431eb3d9b0d4b2460bc773b9df6fed7621c2dfb291a7e0187a66", size = 62750, upload-time = "2024-12-25T15:26:45.782Z" } wheels = [ @@ -2407,12 +1459,9 @@ name = "kiwisolver" version = "1.4.7" source = { registry = "https://pypi.org/simple" } resolution-markers = [ - "python_full_version == '3.9.*' and platform_machine == 'arm64' and sys_platform == 'darwin'", - "python_full_version == '3.9.*' and platform_machine == 'aarch64' and sys_platform == 'linux'", - "(python_full_version == '3.9.*' and platform_machine != 'arm64' and sys_platform == 'darwin') or (python_full_version == '3.9.*' and platform_machine != 'aarch64' and sys_platform == 'linux') or (python_full_version == '3.9.*' and sys_platform != 'darwin' and sys_platform != 'linux')", - "python_full_version < '3.9' and platform_machine == 'arm64' and sys_platform == 'darwin'", - "python_full_version < '3.9' and platform_machine == 'aarch64' and sys_platform == 'linux'", - "(python_full_version < '3.9' and platform_machine != 'arm64' and sys_platform == 'darwin') or (python_full_version < '3.9' and platform_machine != 'aarch64' and sys_platform == 'linux') or (python_full_version < '3.9' and sys_platform != 'darwin' and sys_platform != 'linux')", + "python_full_version < '3.10' and platform_machine == 'arm64' and sys_platform == 'darwin'", + "python_full_version < '3.10' and platform_machine == 'aarch64' and sys_platform == 'linux'", + "(python_full_version < '3.10' and platform_machine != 'arm64' and sys_platform == 'darwin') or (python_full_version < '3.10' and platform_machine != 'aarch64' and sys_platform == 'linux') or (python_full_version < '3.10' and sys_platform != 'darwin' and sys_platform != 'linux')", ] sdist = { url = "https://files.pythonhosted.org/packages/85/4d/2255e1c76304cbd60b48cee302b66d1dde4468dc5b1160e4b7cb43778f2a/kiwisolver-1.4.7.tar.gz", hash = "sha256:9893ff81bd7107f7b685d3017cc6583daadb4fc26e4a888350df530e41980a60", size = 97286, upload-time = "2024-09-04T09:39:44.302Z" } wheels = [ @@ -2480,21 +1529,6 @@ wheels = [ { url = "https://files.pythonhosted.org/packages/a8/b2/15f7f556df0a6e5b3772a1e076a9d9f6c538ce5f05bd590eca8106508e06/kiwisolver-1.4.7-cp313-cp313-win32.whl", hash = "sha256:f4c9aee212bc89d4e13f58be11a56cc8036cabad119259d12ace14b34476fd07", size = 46364, upload-time = "2024-09-04T09:05:27.184Z" }, { url = "https://files.pythonhosted.org/packages/0b/db/32e897e43a330eee8e4770bfd2737a9584b23e33587a0812b8e20aac38f7/kiwisolver-1.4.7-cp313-cp313-win_amd64.whl", hash = "sha256:8a3ec5aa8e38fc4c8af308917ce12c536f1c88452ce554027e55b22cbbfbff76", size = 55887, upload-time = "2024-09-04T09:05:28.372Z" }, { url = "https://files.pythonhosted.org/packages/c8/a4/df2bdca5270ca85fd25253049eb6708d4127be2ed0e5c2650217450b59e9/kiwisolver-1.4.7-cp313-cp313-win_arm64.whl", hash = "sha256:76c8094ac20ec259471ac53e774623eb62e6e1f56cd8690c67ce6ce4fcb05650", size = 48530, upload-time = "2024-09-04T09:05:30.225Z" }, - { url = "https://files.pythonhosted.org/packages/57/d6/620247574d9e26fe24384087879e8399e309f0051782f95238090afa6ccc/kiwisolver-1.4.7-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:5d5abf8f8ec1f4e22882273c423e16cae834c36856cac348cfbfa68e01c40f3a", size = 122325, upload-time = "2024-09-04T09:05:31.648Z" }, - { url = "https://files.pythonhosted.org/packages/bd/c6/572ad7d73dbd898cffa9050ffd7ff7e78a055a1d9b7accd6b4d1f50ec858/kiwisolver-1.4.7-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:aeb3531b196ef6f11776c21674dba836aeea9d5bd1cf630f869e3d90b16cfade", size = 65679, upload-time = "2024-09-04T09:05:32.934Z" }, - { url = "https://files.pythonhosted.org/packages/14/a7/bb8ab10e12cc8764f4da0245d72dee4731cc720bdec0f085d5e9c6005b98/kiwisolver-1.4.7-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:b7d755065e4e866a8086c9bdada157133ff466476a2ad7861828e17b6026e22c", size = 64267, upload-time = "2024-09-04T09:05:34.11Z" }, - { url = "https://files.pythonhosted.org/packages/54/a4/3b5a2542429e182a4df0528214e76803f79d016110f5e67c414a0357cd7d/kiwisolver-1.4.7-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:08471d4d86cbaec61f86b217dd938a83d85e03785f51121e791a6e6689a3be95", size = 1387236, upload-time = "2024-09-04T09:05:35.97Z" }, - { url = "https://files.pythonhosted.org/packages/a6/d7/bc3005e906c1673953a3e31ee4f828157d5e07a62778d835dd937d624ea0/kiwisolver-1.4.7-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:7bbfcb7165ce3d54a3dfbe731e470f65739c4c1f85bb1018ee912bae139e263b", size = 1500555, upload-time = "2024-09-04T09:05:37.552Z" }, - { url = "https://files.pythonhosted.org/packages/09/a7/87cb30741f13b7af08446795dca6003491755805edc9c321fe996c1320b8/kiwisolver-1.4.7-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:5d34eb8494bea691a1a450141ebb5385e4b69d38bb8403b5146ad279f4b30fa3", size = 1431684, upload-time = "2024-09-04T09:05:39.75Z" }, - { url = "https://files.pythonhosted.org/packages/37/a4/1e4e2d8cdaa42c73d523413498445247e615334e39401ae49dae74885429/kiwisolver-1.4.7-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:9242795d174daa40105c1d86aba618e8eab7bf96ba8c3ee614da8302a9f95503", size = 1125811, upload-time = "2024-09-04T09:05:41.31Z" }, - { url = "https://files.pythonhosted.org/packages/76/36/ae40d7a3171e06f55ac77fe5536079e7be1d8be2a8210e08975c7f9b4d54/kiwisolver-1.4.7-cp38-cp38-manylinux_2_5_x86_64.manylinux1_x86_64.whl", hash = "sha256:a0f64a48bb81af7450e641e3fe0b0394d7381e342805479178b3d335d60ca7cf", size = 1179987, upload-time = "2024-09-04T09:05:42.893Z" }, - { url = "https://files.pythonhosted.org/packages/d8/5d/6e4894b9fdf836d8bd095729dff123bbbe6ad0346289287b45c800fae656/kiwisolver-1.4.7-cp38-cp38-musllinux_1_2_aarch64.whl", hash = "sha256:8e045731a5416357638d1700927529e2b8ab304811671f665b225f8bf8d8f933", size = 2186817, upload-time = "2024-09-04T09:05:44.474Z" }, - { url = "https://files.pythonhosted.org/packages/f0/2d/603079b2c2fd62890be0b0ebfc8bb6dda8a5253ca0758885596565b0dfc1/kiwisolver-1.4.7-cp38-cp38-musllinux_1_2_i686.whl", hash = "sha256:4322872d5772cae7369f8351da1edf255a604ea7087fe295411397d0cfd9655e", size = 2332538, upload-time = "2024-09-04T09:05:46.206Z" }, - { url = "https://files.pythonhosted.org/packages/bb/2a/9a28279c865c38a27960db38b07179143aafc94877945c209bfc553d9dd3/kiwisolver-1.4.7-cp38-cp38-musllinux_1_2_ppc64le.whl", hash = "sha256:e1631290ee9271dffe3062d2634c3ecac02c83890ada077d225e081aca8aab89", size = 2293890, upload-time = "2024-09-04T09:05:47.819Z" }, - { url = "https://files.pythonhosted.org/packages/1a/4d/4da8967f3bf13c764984b8fbae330683ee5fbd555b4a5624ad2b9decc0ab/kiwisolver-1.4.7-cp38-cp38-musllinux_1_2_s390x.whl", hash = "sha256:edcfc407e4eb17e037bca59be0e85a2031a2ac87e4fed26d3e9df88b4165f92d", size = 2434677, upload-time = "2024-09-04T09:05:49.459Z" }, - { url = "https://files.pythonhosted.org/packages/08/e9/a97a2b6b74dd850fa5974309367e025c06093a143befe9b962d0baebb4f0/kiwisolver-1.4.7-cp38-cp38-musllinux_1_2_x86_64.whl", hash = "sha256:4d05d81ecb47d11e7f8932bd8b61b720bf0b41199358f3f5e36d38e28f0532c5", size = 2250339, upload-time = "2024-09-04T09:05:51.165Z" }, - { url = "https://files.pythonhosted.org/packages/8a/e7/55507a387ba1766e69f5e13a79e1aefabdafe0532bee5d1972dfc42b3d16/kiwisolver-1.4.7-cp38-cp38-win32.whl", hash = "sha256:b38ac83d5f04b15e515fd86f312479d950d05ce2368d5413d46c088dda7de90a", size = 46932, upload-time = "2024-09-04T09:05:52.49Z" }, - { url = "https://files.pythonhosted.org/packages/52/77/7e04cca2ff1dc6ee6b7654cebe233de72b7a3ec5616501b6f3144fb70740/kiwisolver-1.4.7-cp38-cp38-win_amd64.whl", hash = "sha256:d83db7cde68459fc803052a55ace60bea2bae361fc3b7a6d5da07e11954e4b09", size = 55836, upload-time = "2024-09-04T09:05:54.078Z" }, { url = "https://files.pythonhosted.org/packages/11/88/37ea0ea64512997b13d69772db8dcdc3bfca5442cda3a5e4bb943652ee3e/kiwisolver-1.4.7-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:3f9362ecfca44c863569d3d3c033dbe8ba452ff8eed6f6b5806382741a1334bd", size = 122449, upload-time = "2024-09-04T09:05:55.311Z" }, { url = "https://files.pythonhosted.org/packages/4e/45/5a5c46078362cb3882dcacad687c503089263c017ca1241e0483857791eb/kiwisolver-1.4.7-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:e8df2eb9b2bac43ef8b082e06f750350fbbaf2887534a5be97f6cf07b19d9583", size = 65757, upload-time = "2024-09-04T09:05:56.906Z" }, { url = "https://files.pythonhosted.org/packages/8a/be/a6ae58978772f685d48dd2e84460937761c53c4bbd84e42b0336473d9775/kiwisolver-1.4.7-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:f32d6edbc638cde7652bd690c3e728b25332acbadd7cad670cc4a02558d9c417", size = 64312, upload-time = "2024-09-04T09:05:58.384Z" }, @@ -2517,12 +1551,6 @@ wheels = [ { url = "https://files.pythonhosted.org/packages/81/e1/c64f50987f85b68b1c52b464bb5bf73e71570c0f7782d626d1eb283ad620/kiwisolver-1.4.7-pp310-pypy310_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a91b5f9f1205845d488c928e8570dcb62b893372f63b8b6e98b863ebd2368ff2", size = 80906, upload-time = "2024-09-04T09:06:28.48Z" }, { url = "https://files.pythonhosted.org/packages/fd/71/1687c5c0a0be2cee39a5c9c389e546f9c6e215e46b691d00d9f646892083/kiwisolver-1.4.7-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:40fa14dbd66b8b8f470d5fc79c089a66185619d31645f9b0773b88b19f7223c4", size = 79951, upload-time = "2024-09-04T09:06:29.966Z" }, { url = "https://files.pythonhosted.org/packages/ea/8b/d7497df4a1cae9367adf21665dd1f896c2a7aeb8769ad77b662c5e2bcce7/kiwisolver-1.4.7-pp310-pypy310_pp73-win_amd64.whl", hash = "sha256:eb542fe7933aa09d8d8f9d9097ef37532a7df6497819d16efe4359890a2f417a", size = 55715, upload-time = "2024-09-04T09:06:31.489Z" }, - { url = "https://files.pythonhosted.org/packages/64/f3/2403d90821fffe496df16f6996cb328b90b0d80c06d2938a930a7732b4f1/kiwisolver-1.4.7-pp38-pypy38_pp73-macosx_10_9_x86_64.whl", hash = "sha256:bfa1acfa0c54932d5607e19a2c24646fb4c1ae2694437789129cf099789a3b00", size = 59662, upload-time = "2024-09-04T09:06:33.551Z" }, - { url = "https://files.pythonhosted.org/packages/fa/7d/8f409736a4a6ac04354fa530ebf46682ddb1539b0bae15f4731ff2c575bc/kiwisolver-1.4.7-pp38-pypy38_pp73-macosx_11_0_arm64.whl", hash = "sha256:eee3ea935c3d227d49b4eb85660ff631556841f6e567f0f7bda972df6c2c9935", size = 57753, upload-time = "2024-09-04T09:06:35.095Z" }, - { url = "https://files.pythonhosted.org/packages/4c/a5/3937c9abe8eedb1356071739ad437a0b486cbad27d54f4ec4733d24882ac/kiwisolver-1.4.7-pp38-pypy38_pp73-manylinux_2_12_i686.manylinux2010_i686.whl", hash = "sha256:f3160309af4396e0ed04db259c3ccbfdc3621b5559b5453075e5de555e1f3a1b", size = 103564, upload-time = "2024-09-04T09:06:36.756Z" }, - { url = "https://files.pythonhosted.org/packages/b2/18/a5ae23888f010b90d5eb8d196fed30e268056b2ded54d25b38a193bb70e9/kiwisolver-1.4.7-pp38-pypy38_pp73-manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:a17f6a29cf8935e587cc8a4dbfc8368c55edc645283db0ce9801016f83526c2d", size = 95264, upload-time = "2024-09-04T09:06:38.786Z" }, - { url = "https://files.pythonhosted.org/packages/f9/d0/c4240ae86306d4395e9701f1d7e6ddcc6d60c28cb0127139176cfcfc9ebe/kiwisolver-1.4.7-pp38-pypy38_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:10849fb2c1ecbfae45a693c070e0320a91b35dd4bcf58172c023b994283a124d", size = 78197, upload-time = "2024-09-04T09:06:40.453Z" }, - { url = "https://files.pythonhosted.org/packages/62/db/62423f0ab66813376a35c1e7da488ebdb4e808fcb54b7cec33959717bda1/kiwisolver-1.4.7-pp38-pypy38_pp73-win_amd64.whl", hash = "sha256:ac542bf38a8a4be2dc6b15248d36315ccc65f0743f7b1a76688ffb6b5129a5c2", size = 56080, upload-time = "2024-09-04T09:06:42.061Z" }, { url = "https://files.pythonhosted.org/packages/d5/df/ce37d9b26f07ab90880923c94d12a6ff4d27447096b4c849bfc4339ccfdf/kiwisolver-1.4.7-pp39-pypy39_pp73-macosx_10_15_x86_64.whl", hash = "sha256:8b01aac285f91ca889c800042c35ad3b239e704b150cfd3382adfc9dcc780e39", size = 58666, upload-time = "2024-09-04T09:06:43.756Z" }, { url = "https://files.pythonhosted.org/packages/b0/d3/e4b04f43bc629ac8e186b77b2b1a251cdfa5b7610fa189dc0db622672ce6/kiwisolver-1.4.7-pp39-pypy39_pp73-macosx_11_0_arm64.whl", hash = "sha256:48be928f59a1f5c8207154f935334d374e79f2b5d212826307d072595ad76a2e", size = 57088, upload-time = "2024-09-04T09:06:45.406Z" }, { url = "https://files.pythonhosted.org/packages/30/1c/752df58e2d339e670a535514d2db4fe8c842ce459776b8080fbe08ebb98e/kiwisolver-1.4.7-pp39-pypy39_pp73-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:f37cfe618a117e50d8c240555331160d73d0411422b59b5ee217843d7b693608", size = 84321, upload-time = "2024-09-04T09:06:47.557Z" }, @@ -2629,43 +1657,12 @@ wheels = [ { url = "https://files.pythonhosted.org/packages/3a/1d/50ad811d1c5dae091e4cf046beba925bcae0a610e79ae4c538f996f63ed5/kiwisolver-1.4.8-pp310-pypy310_pp73-win_amd64.whl", hash = "sha256:65ea09a5a3faadd59c2ce96dc7bf0f364986a315949dc6374f04396b0d60e09b", size = 71762, upload-time = "2024-12-24T18:30:48.903Z" }, ] -[[package]] -name = "markdown" -version = "3.7" -source = { registry = "https://pypi.org/simple" } -resolution-markers = [ - "python_full_version < '3.9' and platform_machine == 'arm64' and sys_platform == 'darwin'", - "python_full_version < '3.9' and platform_machine == 'aarch64' and sys_platform == 'linux'", - "(python_full_version < '3.9' and platform_machine != 'arm64' and sys_platform == 'darwin') or (python_full_version < '3.9' and platform_machine != 'aarch64' and sys_platform == 'linux') or (python_full_version < '3.9' and sys_platform != 'darwin' and sys_platform != 'linux')", -] -dependencies = [ - { name = "importlib-metadata", version = "8.5.0", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.9'" }, -] -sdist = { url = "https://files.pythonhosted.org/packages/54/28/3af612670f82f4c056911fbbbb42760255801b3068c48de792d354ff4472/markdown-3.7.tar.gz", hash = "sha256:2ae2471477cfd02dbbf038d5d9bc226d40def84b4fe2986e49b59b6b472bbed2", size = 357086, upload-time = "2024-08-16T15:55:17.812Z" } -wheels = [ - { url = "https://files.pythonhosted.org/packages/3f/08/83871f3c50fc983b88547c196d11cf8c3340e37c32d2e9d6152abe2c61f7/Markdown-3.7-py3-none-any.whl", hash = "sha256:7eb6df5690b81a1d7942992c97fad2938e956e79df20cbc6186e9c3a77b1c803", size = 106349, upload-time = "2024-08-16T15:55:16.176Z" }, -] - [[package]] name = "markdown" version = "3.8.2" source = { registry = "https://pypi.org/simple" } -resolution-markers = [ - "python_full_version >= '3.12' and sys_platform == 'darwin'", - "python_full_version >= '3.12' and platform_machine == 'aarch64' and sys_platform == 'linux'", - "(python_full_version >= '3.12' and platform_machine != 'aarch64' and sys_platform == 'linux') or (python_full_version >= '3.12' and sys_platform != 'darwin' and sys_platform != 'linux')", - "python_full_version == '3.11.*' and sys_platform == 'darwin'", - "python_full_version == '3.11.*' and platform_machine == 'aarch64' and sys_platform == 'linux'", - "(python_full_version == '3.11.*' and platform_machine != 'aarch64' and sys_platform == 'linux') or (python_full_version == '3.11.*' and sys_platform != 'darwin' and sys_platform != 'linux')", - "python_full_version == '3.10.*' and sys_platform == 'darwin'", - "python_full_version == '3.10.*' and platform_machine == 'aarch64' and sys_platform == 'linux'", - "(python_full_version == '3.10.*' and platform_machine != 'aarch64' and sys_platform == 'linux') or (python_full_version == '3.10.*' and sys_platform != 'darwin' and sys_platform != 'linux')", - "python_full_version == '3.9.*' and platform_machine == 'arm64' and sys_platform == 'darwin'", - "python_full_version == '3.9.*' and platform_machine == 'aarch64' and sys_platform == 'linux'", - "(python_full_version == '3.9.*' and platform_machine != 'arm64' and sys_platform == 'darwin') or (python_full_version == '3.9.*' and platform_machine != 'aarch64' and sys_platform == 'linux') or (python_full_version == '3.9.*' and sys_platform != 'darwin' and sys_platform != 'linux')", -] dependencies = [ - { name = "importlib-metadata", version = "8.7.0", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version == '3.9.*'" }, + { name = "importlib-metadata", marker = "python_full_version < '3.10'" }, ] sdist = { url = "https://files.pythonhosted.org/packages/d7/c2/4ab49206c17f75cb08d6311171f2d65798988db4360c4d1485bd0eedd67c/markdown-3.8.2.tar.gz", hash = "sha256:247b9a70dd12e27f67431ce62523e675b866d254f900c4fe75ce3dda62237c45", size = 362071, upload-time = "2025-06-19T17:12:44.483Z" } wheels = [ @@ -2684,87 +1681,10 @@ wheels = [ { url = "https://files.pythonhosted.org/packages/42/d7/1ec15b46af6af88f19b8e5ffea08fa375d433c998b8a7639e76935c14f1f/markdown_it_py-3.0.0-py3-none-any.whl", hash = "sha256:355216845c60bd96232cd8d8c40e8f9765cc86f46880e43a8fd22dc1a1a8cab1", size = 87528, upload-time = "2023-06-03T06:41:11.019Z" }, ] -[[package]] -name = "markupsafe" -version = "2.1.5" -source = { registry = "https://pypi.org/simple" } -resolution-markers = [ - "python_full_version < '3.9' and platform_machine == 'arm64' and sys_platform == 'darwin'", - "python_full_version < '3.9' and platform_machine == 'aarch64' and sys_platform == 'linux'", - "(python_full_version < '3.9' and platform_machine != 'arm64' and sys_platform == 'darwin') or (python_full_version < '3.9' and platform_machine != 'aarch64' and sys_platform == 'linux') or (python_full_version < '3.9' and sys_platform != 'darwin' and sys_platform != 'linux')", -] -sdist = { url = "https://files.pythonhosted.org/packages/87/5b/aae44c6655f3801e81aa3eef09dbbf012431987ba564d7231722f68df02d/MarkupSafe-2.1.5.tar.gz", hash = "sha256:d283d37a890ba4c1ae73ffadf8046435c76e7bc2247bbb63c00bd1a709c6544b", size = 19384, upload-time = "2024-02-02T16:31:22.863Z" } -wheels = [ - { url = "https://files.pythonhosted.org/packages/e4/54/ad5eb37bf9d51800010a74e4665425831a9db4e7c4e0fde4352e391e808e/MarkupSafe-2.1.5-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:a17a92de5231666cfbe003f0e4b9b3a7ae3afb1ec2845aadc2bacc93ff85febc", size = 18206, upload-time = "2024-02-02T16:30:04.105Z" }, - { url = "https://files.pythonhosted.org/packages/6a/4a/a4d49415e600bacae038c67f9fecc1d5433b9d3c71a4de6f33537b89654c/MarkupSafe-2.1.5-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:72b6be590cc35924b02c78ef34b467da4ba07e4e0f0454a2c5907f473fc50ce5", size = 14079, upload-time = "2024-02-02T16:30:06.5Z" }, - { url = "https://files.pythonhosted.org/packages/0a/7b/85681ae3c33c385b10ac0f8dd025c30af83c78cec1c37a6aa3b55e67f5ec/MarkupSafe-2.1.5-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:e61659ba32cf2cf1481e575d0462554625196a1f2fc06a1c777d3f48e8865d46", size = 26620, upload-time = "2024-02-02T16:30:08.31Z" }, - { url = "https://files.pythonhosted.org/packages/7c/52/2b1b570f6b8b803cef5ac28fdf78c0da318916c7d2fe9402a84d591b394c/MarkupSafe-2.1.5-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:2174c595a0d73a3080ca3257b40096db99799265e1c27cc5a610743acd86d62f", size = 25818, upload-time = "2024-02-02T16:30:09.577Z" }, - { url = "https://files.pythonhosted.org/packages/29/fe/a36ba8c7ca55621620b2d7c585313efd10729e63ef81e4e61f52330da781/MarkupSafe-2.1.5-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:ae2ad8ae6ebee9d2d94b17fb62763125f3f374c25618198f40cbb8b525411900", size = 25493, upload-time = "2024-02-02T16:30:11.488Z" }, - { url = "https://files.pythonhosted.org/packages/60/ae/9c60231cdfda003434e8bd27282b1f4e197ad5a710c14bee8bea8a9ca4f0/MarkupSafe-2.1.5-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:075202fa5b72c86ad32dc7d0b56024ebdbcf2048c0ba09f1cde31bfdd57bcfff", size = 30630, upload-time = "2024-02-02T16:30:13.144Z" }, - { url = "https://files.pythonhosted.org/packages/65/dc/1510be4d179869f5dafe071aecb3f1f41b45d37c02329dfba01ff59e5ac5/MarkupSafe-2.1.5-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:598e3276b64aff0e7b3451b72e94fa3c238d452e7ddcd893c3ab324717456bad", size = 29745, upload-time = "2024-02-02T16:30:14.222Z" }, - { url = "https://files.pythonhosted.org/packages/30/39/8d845dd7d0b0613d86e0ef89549bfb5f61ed781f59af45fc96496e897f3a/MarkupSafe-2.1.5-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:fce659a462a1be54d2ffcacea5e3ba2d74daa74f30f5f143fe0c58636e355fdd", size = 30021, upload-time = "2024-02-02T16:30:16.032Z" }, - { url = "https://files.pythonhosted.org/packages/c7/5c/356a6f62e4f3c5fbf2602b4771376af22a3b16efa74eb8716fb4e328e01e/MarkupSafe-2.1.5-cp310-cp310-win32.whl", hash = "sha256:d9fad5155d72433c921b782e58892377c44bd6252b5af2f67f16b194987338a4", size = 16659, upload-time = "2024-02-02T16:30:17.079Z" }, - { url = "https://files.pythonhosted.org/packages/69/48/acbf292615c65f0604a0c6fc402ce6d8c991276e16c80c46a8f758fbd30c/MarkupSafe-2.1.5-cp310-cp310-win_amd64.whl", hash = "sha256:bf50cd79a75d181c9181df03572cdce0fbb75cc353bc350712073108cba98de5", size = 17213, upload-time = "2024-02-02T16:30:18.251Z" }, - { url = "https://files.pythonhosted.org/packages/11/e7/291e55127bb2ae67c64d66cef01432b5933859dfb7d6949daa721b89d0b3/MarkupSafe-2.1.5-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:629ddd2ca402ae6dbedfceeba9c46d5f7b2a61d9749597d4307f943ef198fc1f", size = 18219, upload-time = "2024-02-02T16:30:19.988Z" }, - { url = "https://files.pythonhosted.org/packages/6b/cb/aed7a284c00dfa7c0682d14df85ad4955a350a21d2e3b06d8240497359bf/MarkupSafe-2.1.5-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:5b7b716f97b52c5a14bffdf688f971b2d5ef4029127f1ad7a513973cfd818df2", size = 14098, upload-time = "2024-02-02T16:30:21.063Z" }, - { url = "https://files.pythonhosted.org/packages/1c/cf/35fe557e53709e93feb65575c93927942087e9b97213eabc3fe9d5b25a55/MarkupSafe-2.1.5-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:6ec585f69cec0aa07d945b20805be741395e28ac1627333b1c5b0105962ffced", size = 29014, upload-time = "2024-02-02T16:30:22.926Z" }, - { url = "https://files.pythonhosted.org/packages/97/18/c30da5e7a0e7f4603abfc6780574131221d9148f323752c2755d48abad30/MarkupSafe-2.1.5-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:b91c037585eba9095565a3556f611e3cbfaa42ca1e865f7b8015fe5c7336d5a5", size = 28220, upload-time = "2024-02-02T16:30:24.76Z" }, - { url = "https://files.pythonhosted.org/packages/0c/40/2e73e7d532d030b1e41180807a80d564eda53babaf04d65e15c1cf897e40/MarkupSafe-2.1.5-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:7502934a33b54030eaf1194c21c692a534196063db72176b0c4028e140f8f32c", size = 27756, upload-time = "2024-02-02T16:30:25.877Z" }, - { url = "https://files.pythonhosted.org/packages/18/46/5dca760547e8c59c5311b332f70605d24c99d1303dd9a6e1fc3ed0d73561/MarkupSafe-2.1.5-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:0e397ac966fdf721b2c528cf028494e86172b4feba51d65f81ffd65c63798f3f", size = 33988, upload-time = "2024-02-02T16:30:26.935Z" }, - { url = "https://files.pythonhosted.org/packages/6d/c5/27febe918ac36397919cd4a67d5579cbbfa8da027fa1238af6285bb368ea/MarkupSafe-2.1.5-cp311-cp311-musllinux_1_1_i686.whl", hash = "sha256:c061bb86a71b42465156a3ee7bd58c8c2ceacdbeb95d05a99893e08b8467359a", size = 32718, upload-time = "2024-02-02T16:30:28.111Z" }, - { url = "https://files.pythonhosted.org/packages/f8/81/56e567126a2c2bc2684d6391332e357589a96a76cb9f8e5052d85cb0ead8/MarkupSafe-2.1.5-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:3a57fdd7ce31c7ff06cdfbf31dafa96cc533c21e443d57f5b1ecc6cdc668ec7f", size = 33317, upload-time = "2024-02-02T16:30:29.214Z" }, - { url = "https://files.pythonhosted.org/packages/00/0b/23f4b2470accb53285c613a3ab9ec19dc944eaf53592cb6d9e2af8aa24cc/MarkupSafe-2.1.5-cp311-cp311-win32.whl", hash = "sha256:397081c1a0bfb5124355710fe79478cdbeb39626492b15d399526ae53422b906", size = 16670, upload-time = "2024-02-02T16:30:30.915Z" }, - { url = "https://files.pythonhosted.org/packages/b7/a2/c78a06a9ec6d04b3445a949615c4c7ed86a0b2eb68e44e7541b9d57067cc/MarkupSafe-2.1.5-cp311-cp311-win_amd64.whl", hash = "sha256:2b7c57a4dfc4f16f7142221afe5ba4e093e09e728ca65c51f5620c9aaeb9a617", size = 17224, upload-time = "2024-02-02T16:30:32.09Z" }, - { url = "https://files.pythonhosted.org/packages/53/bd/583bf3e4c8d6a321938c13f49d44024dbe5ed63e0a7ba127e454a66da974/MarkupSafe-2.1.5-cp312-cp312-macosx_10_9_universal2.whl", hash = "sha256:8dec4936e9c3100156f8a2dc89c4b88d5c435175ff03413b443469c7c8c5f4d1", size = 18215, upload-time = "2024-02-02T16:30:33.081Z" }, - { url = "https://files.pythonhosted.org/packages/48/d6/e7cd795fc710292c3af3a06d80868ce4b02bfbbf370b7cee11d282815a2a/MarkupSafe-2.1.5-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:3c6b973f22eb18a789b1460b4b91bf04ae3f0c4234a0a6aa6b0a92f6f7b951d4", size = 14069, upload-time = "2024-02-02T16:30:34.148Z" }, - { url = "https://files.pythonhosted.org/packages/51/b5/5d8ec796e2a08fc814a2c7d2584b55f889a55cf17dd1a90f2beb70744e5c/MarkupSafe-2.1.5-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:ac07bad82163452a6884fe8fa0963fb98c2346ba78d779ec06bd7a6262132aee", size = 29452, upload-time = "2024-02-02T16:30:35.149Z" }, - { url = "https://files.pythonhosted.org/packages/0a/0d/2454f072fae3b5a137c119abf15465d1771319dfe9e4acbb31722a0fff91/MarkupSafe-2.1.5-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f5dfb42c4604dddc8e4305050aa6deb084540643ed5804d7455b5df8fe16f5e5", size = 28462, upload-time = "2024-02-02T16:30:36.166Z" }, - { url = "https://files.pythonhosted.org/packages/2d/75/fd6cb2e68780f72d47e6671840ca517bda5ef663d30ada7616b0462ad1e3/MarkupSafe-2.1.5-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:ea3d8a3d18833cf4304cd2fc9cbb1efe188ca9b5efef2bdac7adc20594a0e46b", size = 27869, upload-time = "2024-02-02T16:30:37.834Z" }, - { url = "https://files.pythonhosted.org/packages/b0/81/147c477391c2750e8fc7705829f7351cf1cd3be64406edcf900dc633feb2/MarkupSafe-2.1.5-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:d050b3361367a06d752db6ead6e7edeb0009be66bc3bae0ee9d97fb326badc2a", size = 33906, upload-time = "2024-02-02T16:30:39.366Z" }, - { url = "https://files.pythonhosted.org/packages/8b/ff/9a52b71839d7a256b563e85d11050e307121000dcebc97df120176b3ad93/MarkupSafe-2.1.5-cp312-cp312-musllinux_1_1_i686.whl", hash = "sha256:bec0a414d016ac1a18862a519e54b2fd0fc8bbfd6890376898a6c0891dd82e9f", size = 32296, upload-time = "2024-02-02T16:30:40.413Z" }, - { url = "https://files.pythonhosted.org/packages/88/07/2dc76aa51b481eb96a4c3198894f38b480490e834479611a4053fbf08623/MarkupSafe-2.1.5-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:58c98fee265677f63a4385256a6d7683ab1832f3ddd1e66fe948d5880c21a169", size = 33038, upload-time = "2024-02-02T16:30:42.243Z" }, - { url = "https://files.pythonhosted.org/packages/96/0c/620c1fb3661858c0e37eb3cbffd8c6f732a67cd97296f725789679801b31/MarkupSafe-2.1.5-cp312-cp312-win32.whl", hash = "sha256:8590b4ae07a35970728874632fed7bd57b26b0102df2d2b233b6d9d82f6c62ad", size = 16572, upload-time = "2024-02-02T16:30:43.326Z" }, - { url = "https://files.pythonhosted.org/packages/3f/14/c3554d512d5f9100a95e737502f4a2323a1959f6d0d01e0d0997b35f7b10/MarkupSafe-2.1.5-cp312-cp312-win_amd64.whl", hash = "sha256:823b65d8706e32ad2df51ed89496147a42a2a6e01c13cfb6ffb8b1e92bc910bb", size = 17127, upload-time = "2024-02-02T16:30:44.418Z" }, - { url = "https://files.pythonhosted.org/packages/f8/ff/2c942a82c35a49df5de3a630ce0a8456ac2969691b230e530ac12314364c/MarkupSafe-2.1.5-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:656f7526c69fac7f600bd1f400991cc282b417d17539a1b228617081106feb4a", size = 18192, upload-time = "2024-02-02T16:30:57.715Z" }, - { url = "https://files.pythonhosted.org/packages/4f/14/6f294b9c4f969d0c801a4615e221c1e084722ea6114ab2114189c5b8cbe0/MarkupSafe-2.1.5-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:97cafb1f3cbcd3fd2b6fbfb99ae11cdb14deea0736fc2b0952ee177f2b813a46", size = 14072, upload-time = "2024-02-02T16:30:58.844Z" }, - { url = "https://files.pythonhosted.org/packages/81/d4/fd74714ed30a1dedd0b82427c02fa4deec64f173831ec716da11c51a50aa/MarkupSafe-2.1.5-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:1f3fbcb7ef1f16e48246f704ab79d79da8a46891e2da03f8783a5b6fa41a9532", size = 26928, upload-time = "2024-02-02T16:30:59.922Z" }, - { url = "https://files.pythonhosted.org/packages/c7/bd/50319665ce81bb10e90d1cf76f9e1aa269ea6f7fa30ab4521f14d122a3df/MarkupSafe-2.1.5-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:fa9db3f79de01457b03d4f01b34cf91bc0048eb2c3846ff26f66687c2f6d16ab", size = 26106, upload-time = "2024-02-02T16:31:01.582Z" }, - { url = "https://files.pythonhosted.org/packages/4c/6f/f2b0f675635b05f6afd5ea03c094557bdb8622fa8e673387444fe8d8e787/MarkupSafe-2.1.5-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:ffee1f21e5ef0d712f9033568f8344d5da8cc2869dbd08d87c84656e6a2d2f68", size = 25781, upload-time = "2024-02-02T16:31:02.71Z" }, - { url = "https://files.pythonhosted.org/packages/51/e0/393467cf899b34a9d3678e78961c2c8cdf49fb902a959ba54ece01273fb1/MarkupSafe-2.1.5-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:5dedb4db619ba5a2787a94d877bc8ffc0566f92a01c0ef214865e54ecc9ee5e0", size = 30518, upload-time = "2024-02-02T16:31:04.392Z" }, - { url = "https://files.pythonhosted.org/packages/f6/02/5437e2ad33047290dafced9df741d9efc3e716b75583bbd73a9984f1b6f7/MarkupSafe-2.1.5-cp38-cp38-musllinux_1_1_i686.whl", hash = "sha256:30b600cf0a7ac9234b2638fbc0fb6158ba5bdcdf46aeb631ead21248b9affbc4", size = 29669, upload-time = "2024-02-02T16:31:05.53Z" }, - { url = "https://files.pythonhosted.org/packages/0e/7d/968284145ffd9d726183ed6237c77938c021abacde4e073020f920e060b2/MarkupSafe-2.1.5-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:8dd717634f5a044f860435c1d8c16a270ddf0ef8588d4887037c5028b859b0c3", size = 29933, upload-time = "2024-02-02T16:31:06.636Z" }, - { url = "https://files.pythonhosted.org/packages/bf/f3/ecb00fc8ab02b7beae8699f34db9357ae49d9f21d4d3de6f305f34fa949e/MarkupSafe-2.1.5-cp38-cp38-win32.whl", hash = "sha256:daa4ee5a243f0f20d528d939d06670a298dd39b1ad5f8a72a4275124a7819eff", size = 16656, upload-time = "2024-02-02T16:31:07.767Z" }, - { url = "https://files.pythonhosted.org/packages/92/21/357205f03514a49b293e214ac39de01fadd0970a6e05e4bf1ddd0ffd0881/MarkupSafe-2.1.5-cp38-cp38-win_amd64.whl", hash = "sha256:619bc166c4f2de5caa5a633b8b7326fbe98e0ccbfacabd87268a2b15ff73a029", size = 17206, upload-time = "2024-02-02T16:31:08.843Z" }, - { url = "https://files.pythonhosted.org/packages/0f/31/780bb297db036ba7b7bbede5e1d7f1e14d704ad4beb3ce53fb495d22bc62/MarkupSafe-2.1.5-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:7a68b554d356a91cce1236aa7682dc01df0edba8d043fd1ce607c49dd3c1edcf", size = 18193, upload-time = "2024-02-02T16:31:10.155Z" }, - { url = "https://files.pythonhosted.org/packages/6c/77/d77701bbef72892affe060cdacb7a2ed7fd68dae3b477a8642f15ad3b132/MarkupSafe-2.1.5-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:db0b55e0f3cc0be60c1f19efdde9a637c32740486004f20d1cff53c3c0ece4d2", size = 14073, upload-time = "2024-02-02T16:31:11.442Z" }, - { url = "https://files.pythonhosted.org/packages/d9/a7/1e558b4f78454c8a3a0199292d96159eb4d091f983bc35ef258314fe7269/MarkupSafe-2.1.5-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:3e53af139f8579a6d5f7b76549125f0d94d7e630761a2111bc431fd820e163b8", size = 26486, upload-time = "2024-02-02T16:31:12.488Z" }, - { url = "https://files.pythonhosted.org/packages/5f/5a/360da85076688755ea0cceb92472923086993e86b5613bbae9fbc14136b0/MarkupSafe-2.1.5-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:17b950fccb810b3293638215058e432159d2b71005c74371d784862b7e4683f3", size = 25685, upload-time = "2024-02-02T16:31:13.726Z" }, - { url = "https://files.pythonhosted.org/packages/6a/18/ae5a258e3401f9b8312f92b028c54d7026a97ec3ab20bfaddbdfa7d8cce8/MarkupSafe-2.1.5-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:4c31f53cdae6ecfa91a77820e8b151dba54ab528ba65dfd235c80b086d68a465", size = 25338, upload-time = "2024-02-02T16:31:14.812Z" }, - { url = "https://files.pythonhosted.org/packages/0b/cc/48206bd61c5b9d0129f4d75243b156929b04c94c09041321456fd06a876d/MarkupSafe-2.1.5-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:bff1b4290a66b490a2f4719358c0cdcd9bafb6b8f061e45c7a2460866bf50c2e", size = 30439, upload-time = "2024-02-02T16:31:15.946Z" }, - { url = "https://files.pythonhosted.org/packages/d1/06/a41c112ab9ffdeeb5f77bc3e331fdadf97fa65e52e44ba31880f4e7f983c/MarkupSafe-2.1.5-cp39-cp39-musllinux_1_1_i686.whl", hash = "sha256:bc1667f8b83f48511b94671e0e441401371dfd0f0a795c7daa4a3cd1dde55bea", size = 29531, upload-time = "2024-02-02T16:31:17.13Z" }, - { url = "https://files.pythonhosted.org/packages/02/8c/ab9a463301a50dab04d5472e998acbd4080597abc048166ded5c7aa768c8/MarkupSafe-2.1.5-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:5049256f536511ee3f7e1b3f87d1d1209d327e818e6ae1365e8653d7e3abb6a6", size = 29823, upload-time = "2024-02-02T16:31:18.247Z" }, - { url = "https://files.pythonhosted.org/packages/bc/29/9bc18da763496b055d8e98ce476c8e718dcfd78157e17f555ce6dd7d0895/MarkupSafe-2.1.5-cp39-cp39-win32.whl", hash = "sha256:00e046b6dd71aa03a41079792f8473dc494d564611a8f89bbbd7cb93295ebdcf", size = 16658, upload-time = "2024-02-02T16:31:19.583Z" }, - { url = "https://files.pythonhosted.org/packages/f6/f8/4da07de16f10551ca1f640c92b5f316f9394088b183c6a57183df6de5ae4/MarkupSafe-2.1.5-cp39-cp39-win_amd64.whl", hash = "sha256:fa173ec60341d6bb97a89f5ea19c85c5643c1e7dedebc22f5181eb73573142c5", size = 17211, upload-time = "2024-02-02T16:31:20.96Z" }, -] - [[package]] name = "markupsafe" version = "3.0.2" source = { registry = "https://pypi.org/simple" } -resolution-markers = [ - "python_full_version >= '3.12' and sys_platform == 'darwin'", - "python_full_version >= '3.12' and platform_machine == 'aarch64' and sys_platform == 'linux'", - "(python_full_version >= '3.12' and platform_machine != 'aarch64' and sys_platform == 'linux') or (python_full_version >= '3.12' and sys_platform != 'darwin' and sys_platform != 'linux')", - "python_full_version == '3.11.*' and sys_platform == 'darwin'", - "python_full_version == '3.11.*' and platform_machine == 'aarch64' and sys_platform == 'linux'", - "(python_full_version == '3.11.*' and platform_machine != 'aarch64' and sys_platform == 'linux') or (python_full_version == '3.11.*' and sys_platform != 'darwin' and sys_platform != 'linux')", - "python_full_version == '3.10.*' and sys_platform == 'darwin'", - "python_full_version == '3.10.*' and platform_machine == 'aarch64' and sys_platform == 'linux'", - "(python_full_version == '3.10.*' and platform_machine != 'aarch64' and sys_platform == 'linux') or (python_full_version == '3.10.*' and sys_platform != 'darwin' and sys_platform != 'linux')", - "python_full_version == '3.9.*' and platform_machine == 'arm64' and sys_platform == 'darwin'", - "python_full_version == '3.9.*' and platform_machine == 'aarch64' and sys_platform == 'linux'", - "(python_full_version == '3.9.*' and platform_machine != 'arm64' and sys_platform == 'darwin') or (python_full_version == '3.9.*' and platform_machine != 'aarch64' and sys_platform == 'linux') or (python_full_version == '3.9.*' and sys_platform != 'darwin' and sys_platform != 'linux')", -] sdist = { url = "https://files.pythonhosted.org/packages/b2/97/5d42485e71dfc078108a86d6de8fa46db44a1a9295e89c5d6d4a06e23a62/markupsafe-3.0.2.tar.gz", hash = "sha256:ee55d3edf80167e48ea11a923c7386f4669df67d7994554387f84e7d8b0a2bf0", size = 20537, upload-time = "2024-10-18T15:21:54.129Z" } wheels = [ { url = "https://files.pythonhosted.org/packages/04/90/d08277ce111dd22f77149fd1a5d4653eeb3b3eaacbdfcbae5afb2600eebd/MarkupSafe-3.0.2-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:7e94c425039cde14257288fd61dcfb01963e658efbc0ff54f5306b06054700f8", size = 14357, upload-time = "2024-10-18T15:20:51.44Z" }, @@ -2829,97 +1749,26 @@ wheels = [ { url = "https://files.pythonhosted.org/packages/b3/73/085399401383ce949f727afec55ec3abd76648d04b9f22e1c0e99cb4bec3/MarkupSafe-3.0.2-cp39-cp39-win_amd64.whl", hash = "sha256:6e296a513ca3d94054c2c881cc913116e90fd030ad1c656b3869762b754f5f8a", size = 15506, upload-time = "2024-10-18T15:21:52.974Z" }, ] -[[package]] -name = "matplotlib" -version = "3.7.5" -source = { registry = "https://pypi.org/simple" } -resolution-markers = [ - "python_full_version < '3.9' and platform_machine == 'arm64' and sys_platform == 'darwin'", - "python_full_version < '3.9' and platform_machine == 'aarch64' and sys_platform == 'linux'", - "(python_full_version < '3.9' and platform_machine != 'arm64' and sys_platform == 'darwin') or (python_full_version < '3.9' and platform_machine != 'aarch64' and sys_platform == 'linux') or (python_full_version < '3.9' and sys_platform != 'darwin' and sys_platform != 'linux')", -] -dependencies = [ - { name = "contourpy", version = "1.1.1", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.9'" }, - { name = "cycler", marker = "python_full_version < '3.9'" }, - { name = "fonttools", version = "4.57.0", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.9'" }, - { name = "importlib-resources", version = "6.4.5", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.9'" }, - { name = "kiwisolver", version = "1.4.7", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.9'" }, - { name = "numpy", version = "1.24.4", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.9'" }, - { name = "packaging", marker = "python_full_version < '3.9'" }, - { name = "pillow", marker = "python_full_version < '3.9'" }, - { name = "pyparsing", version = "3.1.4", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.9'" }, - { name = "python-dateutil", marker = "python_full_version < '3.9'" }, -] -sdist = { url = "https://files.pythonhosted.org/packages/b6/f0/3836719cc3982fbba3b840d18a59db1d0ee9ac7986f24e8c0a092851b67b/matplotlib-3.7.5.tar.gz", hash = "sha256:1e5c971558ebc811aa07f54c7b7c677d78aa518ef4c390e14673a09e0860184a", size = 38098611, upload-time = "2024-02-16T10:50:56.19Z" } -wheels = [ - { url = "https://files.pythonhosted.org/packages/f5/b0/3808e86c41e5d97822d77e89d7f3cb0890725845c050d87ec53732a8b150/matplotlib-3.7.5-cp310-cp310-macosx_10_12_universal2.whl", hash = "sha256:4a87b69cb1cb20943010f63feb0b2901c17a3b435f75349fd9865713bfa63925", size = 8322924, upload-time = "2024-02-16T10:48:06.184Z" }, - { url = "https://files.pythonhosted.org/packages/5b/05/726623be56391ba1740331ad9f1cd30e1adec61c179ddac134957a6dc2e7/matplotlib-3.7.5-cp310-cp310-macosx_10_12_x86_64.whl", hash = "sha256:d3ce45010fefb028359accebb852ca0c21bd77ec0f281952831d235228f15810", size = 7438436, upload-time = "2024-02-16T10:48:10.294Z" }, - { url = "https://files.pythonhosted.org/packages/15/83/89cdef49ef1e320060ec951ba33c132df211561d866c3ed144c81fd110b2/matplotlib-3.7.5-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:fbea1e762b28400393d71be1a02144aa16692a3c4c676ba0178ce83fc2928fdd", size = 7341849, upload-time = "2024-02-16T10:48:13.249Z" }, - { url = "https://files.pythonhosted.org/packages/94/29/39fc4acdc296dd86e09cecb65c14966e1cf18e0f091b9cbd9bd3f0c19ee4/matplotlib-3.7.5-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:ec0e1adc0ad70ba8227e957551e25a9d2995e319c29f94a97575bb90fa1d4469", size = 11354141, upload-time = "2024-02-16T10:48:16.963Z" }, - { url = "https://files.pythonhosted.org/packages/54/36/44c5eeb0d83ae1e3ed34d264d7adee947c4fd56c4a9464ce822de094995a/matplotlib-3.7.5-cp310-cp310-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:6738c89a635ced486c8a20e20111d33f6398a9cbebce1ced59c211e12cd61455", size = 11457668, upload-time = "2024-02-16T10:48:21.339Z" }, - { url = "https://files.pythonhosted.org/packages/b7/e2/f68aeaedf0ef57cbb793637ee82e62e64ea26cee908db0fe4f8e24d502c0/matplotlib-3.7.5-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:1210b7919b4ed94b5573870f316bca26de3e3b07ffdb563e79327dc0e6bba515", size = 11580088, upload-time = "2024-02-16T10:48:25.415Z" }, - { url = "https://files.pythonhosted.org/packages/d9/f7/7c88d34afc38943aa5e4e04d27fc9da5289a48c264c0d794f60c9cda0949/matplotlib-3.7.5-cp310-cp310-win32.whl", hash = "sha256:068ebcc59c072781d9dcdb82f0d3f1458271c2de7ca9c78f5bd672141091e9e1", size = 7339332, upload-time = "2024-02-16T10:48:29.319Z" }, - { url = "https://files.pythonhosted.org/packages/91/99/e5f6f7c9438279581c4a2308d264fe24dc98bb80e3b2719f797227e54ddc/matplotlib-3.7.5-cp310-cp310-win_amd64.whl", hash = "sha256:f098ffbaab9df1e3ef04e5a5586a1e6b1791380698e84938d8640961c79b1fc0", size = 7506405, upload-time = "2024-02-16T10:48:32.499Z" }, - { url = "https://files.pythonhosted.org/packages/5e/c6/45d0485e59d70b7a6a81eade5d0aed548b42cc65658c0ce0f813b9249165/matplotlib-3.7.5-cp311-cp311-macosx_10_12_universal2.whl", hash = "sha256:f65342c147572673f02a4abec2d5a23ad9c3898167df9b47c149f32ce61ca078", size = 8325506, upload-time = "2024-02-16T10:48:36.192Z" }, - { url = "https://files.pythonhosted.org/packages/0e/0a/83bd8589f3597745f624fbcc7da1140088b2f4160ca51c71553c561d0df5/matplotlib-3.7.5-cp311-cp311-macosx_10_12_x86_64.whl", hash = "sha256:4ddf7fc0e0dc553891a117aa083039088d8a07686d4c93fb8a810adca68810af", size = 7439905, upload-time = "2024-02-16T10:48:38.951Z" }, - { url = "https://files.pythonhosted.org/packages/84/c1/a7705b24f8f9b4d7ceea0002c13bae50cf9423f299f56d8c47a5cd2627d2/matplotlib-3.7.5-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:0ccb830fc29442360d91be48527809f23a5dcaee8da5f4d9b2d5b867c1b087b8", size = 7342895, upload-time = "2024-02-16T10:48:41.61Z" }, - { url = "https://files.pythonhosted.org/packages/94/6e/55d7d8310c96a7459c883aa4be3f5a9338a108278484cbd5c95d480d1cef/matplotlib-3.7.5-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:efc6bb28178e844d1f408dd4d6341ee8a2e906fc9e0fa3dae497da4e0cab775d", size = 11358830, upload-time = "2024-02-16T10:48:44.984Z" }, - { url = "https://files.pythonhosted.org/packages/55/57/3b36afe104216db1cf2f3889c394b403ea87eda77c4815227c9524462ba8/matplotlib-3.7.5-cp311-cp311-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:3b15c4c2d374f249f324f46e883340d494c01768dd5287f8bc00b65b625ab56c", size = 11462575, upload-time = "2024-02-16T10:48:48.437Z" }, - { url = "https://files.pythonhosted.org/packages/f3/0b/fabcf5f66b12fab5c4110d06a6c0fed875c7e63bc446403f58f9dadc9999/matplotlib-3.7.5-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:3d028555421912307845e59e3de328260b26d055c5dac9b182cc9783854e98fb", size = 11584280, upload-time = "2024-02-16T10:48:53.022Z" }, - { url = "https://files.pythonhosted.org/packages/47/a9/1ad7df27a9da70b62109584632f83fe6ef45774701199c44d5777107c240/matplotlib-3.7.5-cp311-cp311-win32.whl", hash = "sha256:fe184b4625b4052fa88ef350b815559dd90cc6cc8e97b62f966e1ca84074aafa", size = 7340429, upload-time = "2024-02-16T10:48:56.505Z" }, - { url = "https://files.pythonhosted.org/packages/e3/b1/1b6c34b89173d6c206dc5a4028e8518b4dfee3569c13bdc0c88d0486cae7/matplotlib-3.7.5-cp311-cp311-win_amd64.whl", hash = "sha256:084f1f0f2f1010868c6f1f50b4e1c6f2fb201c58475494f1e5b66fed66093647", size = 7507112, upload-time = "2024-02-16T10:48:59.659Z" }, - { url = "https://files.pythonhosted.org/packages/75/dc/4e341a3ef36f3e7321aec0741317f12c7a23264be708a97972bf018c34af/matplotlib-3.7.5-cp312-cp312-macosx_10_12_universal2.whl", hash = "sha256:34bceb9d8ddb142055ff27cd7135f539f2f01be2ce0bafbace4117abe58f8fe4", size = 8323797, upload-time = "2024-02-16T10:49:02.872Z" }, - { url = "https://files.pythonhosted.org/packages/af/83/bbb482d678362ceb68cc59ec4fc705dde636025969361dac77be868541ef/matplotlib-3.7.5-cp312-cp312-macosx_10_12_x86_64.whl", hash = "sha256:c5a2134162273eb8cdfd320ae907bf84d171de948e62180fa372a3ca7cf0f433", size = 7439549, upload-time = "2024-02-16T10:49:05.743Z" }, - { url = "https://files.pythonhosted.org/packages/1a/ee/e49a92d9e369b2b9e4373894171cb4e641771cd7f81bde1d8b6fb8c60842/matplotlib-3.7.5-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:039ad54683a814002ff37bf7981aa1faa40b91f4ff84149beb53d1eb64617980", size = 7341788, upload-time = "2024-02-16T10:49:09.143Z" }, - { url = "https://files.pythonhosted.org/packages/48/79/89cb2fc5ddcfc3d440a739df04dbe6e4e72b1153d1ebd32b45d42eb71d27/matplotlib-3.7.5-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:4d742ccd1b09e863b4ca58291728db645b51dab343eebb08d5d4b31b308296ce", size = 11356329, upload-time = "2024-02-16T10:49:12.156Z" }, - { url = "https://files.pythonhosted.org/packages/ff/25/84f181cdae5c9eba6fd1c2c35642aec47233425fe3b0d6fccdb323fb36e0/matplotlib-3.7.5-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:743b1c488ca6a2bc7f56079d282e44d236bf375968bfd1b7ba701fd4d0fa32d6", size = 11577813, upload-time = "2024-02-16T10:49:15.986Z" }, - { url = "https://files.pythonhosted.org/packages/9f/24/b2db065d40e58033b3350222fb8bbb0ffcb834029df9c1f9349dd9c7dd45/matplotlib-3.7.5-cp312-cp312-win_amd64.whl", hash = "sha256:fbf730fca3e1f23713bc1fae0a57db386e39dc81ea57dc305c67f628c1d7a342", size = 7507667, upload-time = "2024-02-16T10:49:19.6Z" }, - { url = "https://files.pythonhosted.org/packages/e3/72/50a38c8fd5dc845b06f8e71c9da802db44b81baabf4af8be78bb8a5622ea/matplotlib-3.7.5-cp38-cp38-macosx_10_12_universal2.whl", hash = "sha256:cfff9b838531698ee40e40ea1a8a9dc2c01edb400b27d38de6ba44c1f9a8e3d2", size = 8322659, upload-time = "2024-02-16T10:49:23.206Z" }, - { url = "https://files.pythonhosted.org/packages/b1/ea/129163dcd21db6da5d559a8160c4a74c1dc5f96ac246a3d4248b43c7648d/matplotlib-3.7.5-cp38-cp38-macosx_10_12_x86_64.whl", hash = "sha256:1dbcca4508bca7847fe2d64a05b237a3dcaec1f959aedb756d5b1c67b770c5ee", size = 7438408, upload-time = "2024-02-16T10:49:27.462Z" }, - { url = "https://files.pythonhosted.org/packages/aa/59/4d13e5b6298b1ca5525eea8c68d3806ae93ab6d0bb17ca9846aa3156b92b/matplotlib-3.7.5-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:4cdf4ef46c2a1609a50411b66940b31778db1e4b73d4ecc2eaa40bd588979b13", size = 7341782, upload-time = "2024-02-16T10:49:32.173Z" }, - { url = "https://files.pythonhosted.org/packages/9e/c4/f562df04b08487731743511ff274ae5d31dce2ff3e5621f8b070d20ab54a/matplotlib-3.7.5-cp38-cp38-manylinux_2_12_i686.manylinux2010_i686.whl", hash = "sha256:167200ccfefd1674b60e957186dfd9baf58b324562ad1a28e5d0a6b3bea77905", size = 9196487, upload-time = "2024-02-16T10:49:37.971Z" }, - { url = "https://files.pythonhosted.org/packages/30/33/cc27211d2ffeee4fd7402dca137b6e8a83f6dcae3d4be8d0ad5068555561/matplotlib-3.7.5-cp38-cp38-manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:53e64522934df6e1818b25fd48cf3b645b11740d78e6ef765fbb5fa5ce080d02", size = 9213051, upload-time = "2024-02-16T10:49:43.916Z" }, - { url = "https://files.pythonhosted.org/packages/9b/9d/8bd37c86b79312c9dbcfa379dec32303f9b38e8456e0829d7e666a0e0a05/matplotlib-3.7.5-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d3e3bc79b2d7d615067bd010caff9243ead1fc95cf735c16e4b2583173f717eb", size = 11370807, upload-time = "2024-02-16T10:49:47.701Z" }, - { url = "https://files.pythonhosted.org/packages/c0/1e/b24a07a849c8d458f1b3724f49029f0dedf748bdedb4d5f69491314838b6/matplotlib-3.7.5-cp38-cp38-win32.whl", hash = "sha256:6b641b48c6819726ed47c55835cdd330e53747d4efff574109fd79b2d8a13748", size = 7340461, upload-time = "2024-02-16T10:49:51.597Z" }, - { url = "https://files.pythonhosted.org/packages/16/51/58b0b9de42fe1e665736d9286f88b5f1556a0e22bed8a71f468231761083/matplotlib-3.7.5-cp38-cp38-win_amd64.whl", hash = "sha256:f0b60993ed3488b4532ec6b697059897891927cbfc2b8d458a891b60ec03d9d7", size = 7507471, upload-time = "2024-02-16T10:49:54.353Z" }, - { url = "https://files.pythonhosted.org/packages/0d/00/17487e9e8949ca623af87f6c8767408efe7530b7e1f4d6897fa7fa940834/matplotlib-3.7.5-cp39-cp39-macosx_10_12_universal2.whl", hash = "sha256:090964d0afaff9c90e4d8de7836757e72ecfb252fb02884016d809239f715651", size = 8323175, upload-time = "2024-02-16T10:49:57.743Z" }, - { url = "https://files.pythonhosted.org/packages/6a/84/be0acd521fa9d6697657cf35878153f8009a42b4b75237aebc302559a8a9/matplotlib-3.7.5-cp39-cp39-macosx_10_12_x86_64.whl", hash = "sha256:9fc6fcfbc55cd719bc0bfa60bde248eb68cf43876d4c22864603bdd23962ba25", size = 7438737, upload-time = "2024-02-16T10:50:00.683Z" }, - { url = "https://files.pythonhosted.org/packages/17/39/175f36a6d68d0cf47a4fecbae9728048355df23c9feca8688f1476b198e6/matplotlib-3.7.5-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:5e7cc3078b019bb863752b8b60e8b269423000f1603cb2299608231996bd9d54", size = 7341916, upload-time = "2024-02-16T10:50:05.04Z" }, - { url = "https://files.pythonhosted.org/packages/36/c0/9a1c2a79f85c15d41b60877cbc333694ed80605e5c97a33880c4ecfd5bf1/matplotlib-3.7.5-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:1e4e9a868e8163abaaa8259842d85f949a919e1ead17644fb77a60427c90473c", size = 11352264, upload-time = "2024-02-16T10:50:08.955Z" }, - { url = "https://files.pythonhosted.org/packages/a6/39/b0204e0e7a899b0676733366a55ccafa723799b719bc7f2e85e5ecde26a0/matplotlib-3.7.5-cp39-cp39-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:fa7ebc995a7d747dacf0a717d0eb3aa0f0c6a0e9ea88b0194d3a3cd241a1500f", size = 11454722, upload-time = "2024-02-16T10:50:13.231Z" }, - { url = "https://files.pythonhosted.org/packages/d8/39/64dd1d36c79e72e614977db338d180cf204cf658927c05a8ef2d47feb4c0/matplotlib-3.7.5-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:3785bfd83b05fc0e0c2ae4c4a90034fe693ef96c679634756c50fe6efcc09856", size = 11576343, upload-time = "2024-02-16T10:50:17.626Z" }, - { url = "https://files.pythonhosted.org/packages/31/b4/e77bc11394d858bdf15e356980fceb4ac9604b0fa8212ef3ca4f1dc166b8/matplotlib-3.7.5-cp39-cp39-win32.whl", hash = "sha256:29b058738c104d0ca8806395f1c9089dfe4d4f0f78ea765c6c704469f3fffc81", size = 7340455, upload-time = "2024-02-16T10:50:21.448Z" }, - { url = "https://files.pythonhosted.org/packages/4a/84/081820c596b9555ecffc6819ee71f847f2fbb0d7c70a42c1eeaa54edf3e0/matplotlib-3.7.5-cp39-cp39-win_amd64.whl", hash = "sha256:fd4028d570fa4b31b7b165d4a685942ae9cdc669f33741e388c01857d9723eab", size = 7507711, upload-time = "2024-02-16T10:50:24.387Z" }, - { url = "https://files.pythonhosted.org/packages/27/6c/1bb10f3d6f337b9faa2e96a251bd87ba5fed85a608df95eb4d69acc109f0/matplotlib-3.7.5-pp38-pypy38_pp73-macosx_10_12_x86_64.whl", hash = "sha256:2a9a3f4d6a7f88a62a6a18c7e6a84aedcaf4faf0708b4ca46d87b19f1b526f88", size = 7397285, upload-time = "2024-02-16T10:50:27.375Z" }, - { url = "https://files.pythonhosted.org/packages/b2/36/66cfea213e9ba91cda9e257542c249ed235d49021af71c2e8007107d7d4c/matplotlib-3.7.5-pp38-pypy38_pp73-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:b9b3fd853d4a7f008a938df909b96db0b454225f935d3917520305b90680579c", size = 7552612, upload-time = "2024-02-16T10:50:30.65Z" }, - { url = "https://files.pythonhosted.org/packages/77/df/16655199bf984c37c6a816b854bc032b56aef521aadc04f27928422f3c91/matplotlib-3.7.5-pp38-pypy38_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f0ad550da9f160737d7890217c5eeed4337d07e83ca1b2ca6535078f354e7675", size = 7515564, upload-time = "2024-02-16T10:50:33.589Z" }, - { url = "https://files.pythonhosted.org/packages/5b/c8/3534c3705a677b71abb6be33609ba129fdeae2ea4e76b2fd3ab62c86fab3/matplotlib-3.7.5-pp38-pypy38_pp73-win_amd64.whl", hash = "sha256:20da7924a08306a861b3f2d1da0d1aa9a6678e480cf8eacffe18b565af2813e7", size = 7521336, upload-time = "2024-02-16T10:50:36.4Z" }, - { url = "https://files.pythonhosted.org/packages/20/a0/c5c0d410798b387ed3a177a5a7eba21055dd9c41d4b15bd0861241a5a60e/matplotlib-3.7.5-pp39-pypy39_pp73-macosx_10_12_x86_64.whl", hash = "sha256:b45c9798ea6bb920cb77eb7306409756a7fab9db9b463e462618e0559aecb30e", size = 7397931, upload-time = "2024-02-16T10:50:39.477Z" }, - { url = "https://files.pythonhosted.org/packages/c3/2f/9e9509727d4c7d1b8e2c88e9330a97d54a1dd20bd316a0c8d2f8b38c4513/matplotlib-3.7.5-pp39-pypy39_pp73-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:a99866267da1e561c7776fe12bf4442174b79aac1a47bd7e627c7e4d077ebd83", size = 7553224, upload-time = "2024-02-16T10:50:42.82Z" }, - { url = "https://files.pythonhosted.org/packages/89/0c/5f3e403dcf5c23799c92b0139dd00e41caf23983e9281f5bfeba3065e7d2/matplotlib-3.7.5-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:2b6aa62adb6c268fc87d80f963aca39c64615c31830b02697743c95590ce3fbb", size = 7513250, upload-time = "2024-02-16T10:50:46.504Z" }, - { url = "https://files.pythonhosted.org/packages/87/e0/03eba0a8c3775ef910dbb3a287114a64c47abbcaeab2543c59957f155a86/matplotlib-3.7.5-pp39-pypy39_pp73-win_amd64.whl", hash = "sha256:e530ab6a0afd082d2e9c17eb1eb064a63c5b09bb607b2b74fa41adbe3e162286", size = 7521729, upload-time = "2024-02-16T10:50:50.063Z" }, -] - [[package]] name = "matplotlib" version = "3.9.4" source = { registry = "https://pypi.org/simple" } resolution-markers = [ - "python_full_version == '3.9.*' and platform_machine == 'arm64' and sys_platform == 'darwin'", - "python_full_version == '3.9.*' and platform_machine == 'aarch64' and sys_platform == 'linux'", - "(python_full_version == '3.9.*' and platform_machine != 'arm64' and sys_platform == 'darwin') or (python_full_version == '3.9.*' and platform_machine != 'aarch64' and sys_platform == 'linux') or (python_full_version == '3.9.*' and sys_platform != 'darwin' and sys_platform != 'linux')", + "python_full_version < '3.10' and platform_machine == 'arm64' and sys_platform == 'darwin'", + "python_full_version < '3.10' and platform_machine == 'aarch64' and sys_platform == 'linux'", + "(python_full_version < '3.10' and platform_machine != 'arm64' and sys_platform == 'darwin') or (python_full_version < '3.10' and platform_machine != 'aarch64' and sys_platform == 'linux') or (python_full_version < '3.10' and sys_platform != 'darwin' and sys_platform != 'linux')", ] dependencies = [ - { name = "contourpy", version = "1.3.0", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version == '3.9.*'" }, - { name = "cycler", marker = "python_full_version == '3.9.*'" }, - { name = "fonttools", version = "4.58.5", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version == '3.9.*'" }, - { name = "importlib-resources", version = "6.5.2", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version == '3.9.*'" }, - { name = "kiwisolver", version = "1.4.7", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version == '3.9.*'" }, - { name = "numpy", version = "2.0.2", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version == '3.9.*'" }, - { name = "packaging", marker = "python_full_version == '3.9.*'" }, - { name = "pillow", marker = "python_full_version == '3.9.*'" }, - { name = "pyparsing", version = "3.2.3", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version == '3.9.*'" }, - { name = "python-dateutil", marker = "python_full_version == '3.9.*'" }, + { name = "contourpy", version = "1.3.0", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.10'" }, + { name = "cycler", marker = "python_full_version < '3.10'" }, + { name = "fonttools", marker = "python_full_version < '3.10'" }, + { name = "importlib-resources", marker = "python_full_version < '3.10'" }, + { name = "kiwisolver", version = "1.4.7", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.10'" }, + { name = "numpy", version = "2.0.2", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.10'" }, + { name = "packaging", marker = "python_full_version < '3.10'" }, + { name = "pillow", marker = "python_full_version < '3.10'" }, + { name = "pyparsing", marker = "python_full_version < '3.10'" }, + { name = "python-dateutil", marker = "python_full_version < '3.10'" }, ] sdist = { url = "https://files.pythonhosted.org/packages/df/17/1747b4154034befd0ed33b52538f5eb7752d05bb51c5e2a31470c3bc7d52/matplotlib-3.9.4.tar.gz", hash = "sha256:1e00e8be7393cbdc6fedfa8a6fba02cf3e83814b285db1c60b906a023ba41bc3", size = 36106529, upload-time = "2024-12-13T05:56:34.184Z" } wheels = [ @@ -2983,13 +1832,13 @@ resolution-markers = [ dependencies = [ { name = "contourpy", version = "1.3.2", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.10'" }, { name = "cycler", marker = "python_full_version >= '3.10'" }, - { name = "fonttools", version = "4.58.5", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.10'" }, + { name = "fonttools", marker = "python_full_version >= '3.10'" }, { name = "kiwisolver", version = "1.4.8", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.10'" }, { name = "numpy", version = "2.2.6", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version == '3.10.*'" }, { name = "numpy", version = "2.3.1", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.11'" }, { name = "packaging", marker = "python_full_version >= '3.10'" }, { name = "pillow", marker = "python_full_version >= '3.10'" }, - { name = "pyparsing", version = "3.2.3", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.10'" }, + { name = "pyparsing", marker = "python_full_version >= '3.10'" }, { name = "python-dateutil", marker = "python_full_version >= '3.10'" }, ] sdist = { url = "https://files.pythonhosted.org/packages/26/91/d49359a21893183ed2a5b6c76bec40e0b1dcbf8ca148f864d134897cfc75/matplotlib-3.10.3.tar.gz", hash = "sha256:2f82d2c5bb7ae93aaaa4cd42aca65d76ce6376f83304fa3a630b569aca274df0", size = 34799811, upload-time = "2025-05-08T19:10:54.39Z" } @@ -3076,17 +1925,13 @@ name = "mike" version = "2.1.3" source = { registry = "https://pypi.org/simple" } dependencies = [ - { name = "importlib-metadata", version = "8.5.0", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.9'" }, - { name = "importlib-metadata", version = "8.7.0", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.9'" }, - { name = "importlib-resources", version = "6.4.5", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.9'" }, - { name = "importlib-resources", version = "6.5.2", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.9'" }, + { name = "importlib-metadata" }, + { name = "importlib-resources" }, { name = "jinja2" }, { name = "mkdocs" }, - { name = "pyparsing", version = "3.1.4", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.9'" }, - { name = "pyparsing", version = "3.2.3", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.9'" }, + { name = "pyparsing" }, { name = "pyyaml" }, - { name = "pyyaml-env-tag", version = "0.1", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.9'" }, - { name = "pyyaml-env-tag", version = "1.1", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.9'" }, + { name = "pyyaml-env-tag" }, { name = "verspec" }, ] sdist = { url = "https://files.pythonhosted.org/packages/ab/f7/2933f1a1fb0e0f077d5d6a92c6c7f8a54e6128241f116dff4df8b6050bbf/mike-2.1.3.tar.gz", hash = "sha256:abd79b8ea483fb0275b7972825d3082e5ae67a41820f8d8a0dc7a3f49944e810", size = 38119, upload-time = "2024-08-13T05:02:14.167Z" } @@ -3099,8 +1944,7 @@ name = "mistune" version = "3.1.3" source = { registry = "https://pypi.org/simple" } dependencies = [ - { name = "typing-extensions", version = "4.13.2", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.9'" }, - { name = "typing-extensions", version = "4.14.1", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.9' and python_full_version < '3.11'" }, + { name = "typing-extensions", marker = "python_full_version < '3.11'" }, ] sdist = { url = "https://files.pythonhosted.org/packages/c4/79/bda47f7dd7c3c55770478d6d02c9960c430b0cf1773b72366ff89126ea31/mistune-3.1.3.tar.gz", hash = "sha256:a7035c21782b2becb6be62f8f25d3df81ccb4d6fa477a6525b15af06539f02a0", size = 94347, upload-time = "2025-03-19T14:27:24.955Z" } wheels = [ @@ -3116,69 +1960,31 @@ dependencies = [ { name = "click", version = "8.2.1", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.10'" }, { name = "colorama", marker = "sys_platform == 'win32'" }, { name = "ghp-import" }, - { name = "importlib-metadata", version = "8.5.0", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.9'" }, - { name = "importlib-metadata", version = "8.7.0", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version == '3.9.*'" }, + { name = "importlib-metadata", marker = "python_full_version < '3.10'" }, { name = "jinja2" }, - { name = "markdown", version = "3.7", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.9'" }, - { name = "markdown", version = "3.8.2", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.9'" }, - { name = "markupsafe", version = "2.1.5", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.9'" }, - { name = "markupsafe", version = "3.0.2", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.9'" }, + { name = "markdown" }, + { name = "markupsafe" }, { name = "mergedeep" }, { name = "mkdocs-get-deps" }, { name = "packaging" }, { name = "pathspec" }, { name = "pyyaml" }, - { name = "pyyaml-env-tag", version = "0.1", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.9'" }, - { name = "pyyaml-env-tag", version = "1.1", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.9'" }, - { name = "watchdog", version = "4.0.2", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.9'" }, - { name = "watchdog", version = "6.0.0", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.9'" }, + { name = "pyyaml-env-tag" }, + { name = "watchdog" }, ] sdist = { url = "https://files.pythonhosted.org/packages/bc/c6/bbd4f061bd16b378247f12953ffcb04786a618ce5e904b8c5a01a0309061/mkdocs-1.6.1.tar.gz", hash = "sha256:7b432f01d928c084353ab39c57282f29f92136665bdd6abf7c1ec8d822ef86f2", size = 3889159, upload-time = "2024-08-30T12:24:06.899Z" } wheels = [ { url = "https://files.pythonhosted.org/packages/22/5b/dbc6a8cddc9cfa9c4971d59fb12bb8d42e161b7e7f8cc89e49137c5b279c/mkdocs-1.6.1-py3-none-any.whl", hash = "sha256:db91759624d1647f3f34aa0c3f327dd2601beae39a366d6e064c03468d35c20e", size = 3864451, upload-time = "2024-08-30T12:24:05.054Z" }, ] -[[package]] -name = "mkdocs-autorefs" -version = "1.2.0" -source = { registry = "https://pypi.org/simple" } -resolution-markers = [ - "python_full_version < '3.9' and platform_machine == 'arm64' and sys_platform == 'darwin'", - "python_full_version < '3.9' and platform_machine == 'aarch64' and sys_platform == 'linux'", - "(python_full_version < '3.9' and platform_machine != 'arm64' and sys_platform == 'darwin') or (python_full_version < '3.9' and platform_machine != 'aarch64' and sys_platform == 'linux') or (python_full_version < '3.9' and sys_platform != 'darwin' and sys_platform != 'linux')", -] -dependencies = [ - { name = "markdown", version = "3.7", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.9'" }, - { name = "markupsafe", version = "2.1.5", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.9'" }, - { name = "mkdocs", marker = "python_full_version < '3.9'" }, -] -sdist = { url = "https://files.pythonhosted.org/packages/fb/ae/0f1154c614d6a8b8a36fff084e5b82af3a15f7d2060cf0dcdb1c53297a71/mkdocs_autorefs-1.2.0.tar.gz", hash = "sha256:a86b93abff653521bda71cf3fc5596342b7a23982093915cb74273f67522190f", size = 40262, upload-time = "2024-09-01T18:29:18.514Z" } -wheels = [ - { url = "https://files.pythonhosted.org/packages/71/26/4d39d52ea2219604053a4d05b98e90d6a335511cc01806436ec4886b1028/mkdocs_autorefs-1.2.0-py3-none-any.whl", hash = "sha256:d588754ae89bd0ced0c70c06f58566a4ee43471eeeee5202427da7de9ef85a2f", size = 16522, upload-time = "2024-09-01T18:29:16.605Z" }, -] - [[package]] name = "mkdocs-autorefs" version = "1.4.2" source = { registry = "https://pypi.org/simple" } -resolution-markers = [ - "python_full_version >= '3.12' and sys_platform == 'darwin'", - "python_full_version >= '3.12' and platform_machine == 'aarch64' and sys_platform == 'linux'", - "(python_full_version >= '3.12' and platform_machine != 'aarch64' and sys_platform == 'linux') or (python_full_version >= '3.12' and sys_platform != 'darwin' and sys_platform != 'linux')", - "python_full_version == '3.11.*' and sys_platform == 'darwin'", - "python_full_version == '3.11.*' and platform_machine == 'aarch64' and sys_platform == 'linux'", - "(python_full_version == '3.11.*' and platform_machine != 'aarch64' and sys_platform == 'linux') or (python_full_version == '3.11.*' and sys_platform != 'darwin' and sys_platform != 'linux')", - "python_full_version == '3.10.*' and sys_platform == 'darwin'", - "python_full_version == '3.10.*' and platform_machine == 'aarch64' and sys_platform == 'linux'", - "(python_full_version == '3.10.*' and platform_machine != 'aarch64' and sys_platform == 'linux') or (python_full_version == '3.10.*' and sys_platform != 'darwin' and sys_platform != 'linux')", - "python_full_version == '3.9.*' and platform_machine == 'arm64' and sys_platform == 'darwin'", - "python_full_version == '3.9.*' and platform_machine == 'aarch64' and sys_platform == 'linux'", - "(python_full_version == '3.9.*' and platform_machine != 'arm64' and sys_platform == 'darwin') or (python_full_version == '3.9.*' and platform_machine != 'aarch64' and sys_platform == 'linux') or (python_full_version == '3.9.*' and sys_platform != 'darwin' and sys_platform != 'linux')", -] dependencies = [ - { name = "markdown", version = "3.8.2", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.9'" }, - { name = "markupsafe", version = "3.0.2", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.9'" }, - { name = "mkdocs", marker = "python_full_version >= '3.9'" }, + { name = "markdown" }, + { name = "markupsafe" }, + { name = "mkdocs" }, ] sdist = { url = "https://files.pythonhosted.org/packages/47/0c/c9826f35b99c67fa3a7cddfa094c1a6c43fafde558c309c6e4403e5b37dc/mkdocs_autorefs-1.4.2.tar.gz", hash = "sha256:e2ebe1abd2b67d597ed19378c0fff84d73d1dbce411fce7a7cc6f161888b6749", size = 54961, upload-time = "2025-05-20T13:09:09.886Z" } wheels = [ @@ -3190,11 +1996,9 @@ name = "mkdocs-get-deps" version = "0.2.0" source = { registry = "https://pypi.org/simple" } dependencies = [ - { name = "importlib-metadata", version = "8.5.0", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.9'" }, - { name = "importlib-metadata", version = "8.7.0", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version == '3.9.*'" }, + { name = "importlib-metadata", marker = "python_full_version < '3.10'" }, { name = "mergedeep" }, - { name = "platformdirs", version = "4.3.6", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.9'" }, - { name = "platformdirs", version = "4.3.8", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.9'" }, + { name = "platformdirs" }, { name = "pyyaml" }, ] sdist = { url = "https://files.pythonhosted.org/packages/98/f5/ed29cd50067784976f25ed0ed6fcd3c2ce9eb90650aa3b2796ddf7b6870b/mkdocs_get_deps-0.2.0.tar.gz", hash = "sha256:162b3d129c7fad9b19abfdcb9c1458a651628e4b1dea628ac68790fb3061c60c", size = 10239, upload-time = "2023-11-20T17:51:09.981Z" } @@ -3231,53 +2035,17 @@ wheels = [ { url = "https://files.pythonhosted.org/packages/53/b6/106fcc15287e7228658fbd0ad9e8b0d775becced0a089cc39984641f4a0f/mkdocs_git_revision_date_localized_plugin-1.4.7-py3-none-any.whl", hash = "sha256:056c0a90242409148f1dc94d5c9d2c25b5b8ddd8de45489fa38f7fa7ccad2bc4", size = 25382, upload-time = "2025-05-28T18:26:18.907Z" }, ] -[[package]] -name = "mkdocs-jupyter" -version = "0.24.8" -source = { registry = "https://pypi.org/simple" } -resolution-markers = [ - "python_full_version < '3.9' and platform_machine == 'arm64' and sys_platform == 'darwin'", - "python_full_version < '3.9' and platform_machine == 'aarch64' and sys_platform == 'linux'", - "(python_full_version < '3.9' and platform_machine != 'arm64' and sys_platform == 'darwin') or (python_full_version < '3.9' and platform_machine != 'aarch64' and sys_platform == 'linux') or (python_full_version < '3.9' and sys_platform != 'darwin' and sys_platform != 'linux')", -] -dependencies = [ - { name = "ipykernel", marker = "python_full_version < '3.9'" }, - { name = "jupytext", version = "1.17.1", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.9'" }, - { name = "mkdocs", marker = "python_full_version < '3.9'" }, - { name = "mkdocs-material", marker = "python_full_version < '3.9'" }, - { name = "nbconvert", marker = "python_full_version < '3.9'" }, - { name = "pygments", marker = "python_full_version < '3.9'" }, -] -sdist = { url = "https://files.pythonhosted.org/packages/43/91/817bf07f4b1ce9b50d7d33e059e6cd5792951971a530b64665dd6cbf1324/mkdocs_jupyter-0.24.8.tar.gz", hash = "sha256:09a762f484d540d9c0e944d34b28cb536a32869e224b460e2fc791b143f76940", size = 1531510, upload-time = "2024-07-02T22:42:16.457Z" } -wheels = [ - { url = "https://files.pythonhosted.org/packages/e1/48/1e320da0e16e926ba4a9a8800df48963fce27b1287c8d1859041a2f85e26/mkdocs_jupyter-0.24.8-py3-none-any.whl", hash = "sha256:36438a0a653eee2c27c6a8f7006e645f18693699c9b8ac44ffde830ddb08fa16", size = 1444481, upload-time = "2024-07-02T22:42:14.242Z" }, -] - [[package]] name = "mkdocs-jupyter" version = "0.25.1" source = { registry = "https://pypi.org/simple" } -resolution-markers = [ - "python_full_version >= '3.12' and sys_platform == 'darwin'", - "python_full_version >= '3.12' and platform_machine == 'aarch64' and sys_platform == 'linux'", - "(python_full_version >= '3.12' and platform_machine != 'aarch64' and sys_platform == 'linux') or (python_full_version >= '3.12' and sys_platform != 'darwin' and sys_platform != 'linux')", - "python_full_version == '3.11.*' and sys_platform == 'darwin'", - "python_full_version == '3.11.*' and platform_machine == 'aarch64' and sys_platform == 'linux'", - "(python_full_version == '3.11.*' and platform_machine != 'aarch64' and sys_platform == 'linux') or (python_full_version == '3.11.*' and sys_platform != 'darwin' and sys_platform != 'linux')", - "python_full_version == '3.10.*' and sys_platform == 'darwin'", - "python_full_version == '3.10.*' and platform_machine == 'aarch64' and sys_platform == 'linux'", - "(python_full_version == '3.10.*' and platform_machine != 'aarch64' and sys_platform == 'linux') or (python_full_version == '3.10.*' and sys_platform != 'darwin' and sys_platform != 'linux')", - "python_full_version == '3.9.*' and platform_machine == 'arm64' and sys_platform == 'darwin'", - "python_full_version == '3.9.*' and platform_machine == 'aarch64' and sys_platform == 'linux'", - "(python_full_version == '3.9.*' and platform_machine != 'arm64' and sys_platform == 'darwin') or (python_full_version == '3.9.*' and platform_machine != 'aarch64' and sys_platform == 'linux') or (python_full_version == '3.9.*' and sys_platform != 'darwin' and sys_platform != 'linux')", -] dependencies = [ - { name = "ipykernel", marker = "python_full_version >= '3.9'" }, - { name = "jupytext", version = "1.17.2", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.9'" }, - { name = "mkdocs", marker = "python_full_version >= '3.9'" }, - { name = "mkdocs-material", marker = "python_full_version >= '3.9'" }, - { name = "nbconvert", marker = "python_full_version >= '3.9'" }, - { name = "pygments", marker = "python_full_version >= '3.9'" }, + { name = "ipykernel" }, + { name = "jupytext" }, + { name = "mkdocs" }, + { name = "mkdocs-material" }, + { name = "nbconvert" }, + { name = "pygments" }, ] sdist = { url = "https://files.pythonhosted.org/packages/6c/23/6ffb8d2fd2117aa860a04c6fe2510b21bc3c3c085907ffdd851caba53152/mkdocs_jupyter-0.25.1.tar.gz", hash = "sha256:0e9272ff4947e0ec683c92423a4bfb42a26477c103ab1a6ab8277e2dcc8f7afe", size = 1626747, upload-time = "2024-10-15T14:56:32.373Z" } wheels = [ @@ -3290,18 +2058,15 @@ version = "9.6.15" source = { registry = "https://pypi.org/simple" } dependencies = [ { name = "babel" }, - { name = "backrefs", version = "5.7.post1", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.9'" }, - { name = "backrefs", version = "5.9", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.9'" }, + { name = "backrefs" }, { name = "colorama" }, { name = "jinja2" }, - { name = "markdown", version = "3.7", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.9'" }, - { name = "markdown", version = "3.8.2", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.9'" }, + { name = "markdown" }, { name = "mkdocs" }, { name = "mkdocs-material-extensions" }, { name = "paginate" }, { name = "pygments" }, - { name = "pymdown-extensions", version = "10.15", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.9'" }, - { name = "pymdown-extensions", version = "10.16", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.9'" }, + { name = "pymdown-extensions" }, { name = "requests" }, ] sdist = { url = "https://files.pythonhosted.org/packages/95/c1/f804ba2db2ddc2183e900befe7dad64339a34fa935034e1ab405289d0a97/mkdocs_material-9.6.15.tar.gz", hash = "sha256:64adf8fa8dba1a17905b6aee1894a5aafd966d4aeb44a11088519b0f5ca4f1b5", size = 3951836, upload-time = "2025-07-01T10:14:15.671Z" } @@ -3311,8 +2076,7 @@ wheels = [ [package.optional-dependencies] imaging = [ - { name = "cairosvg", version = "2.7.1", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.9'" }, - { name = "cairosvg", version = "2.8.2", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.9'" }, + { name = "cairosvg" }, { name = "pillow" }, ] @@ -3325,192 +2089,57 @@ wheels = [ { url = "https://files.pythonhosted.org/packages/5b/54/662a4743aa81d9582ee9339d4ffa3c8fd40a4965e033d77b9da9774d3960/mkdocs_material_extensions-1.3.1-py3-none-any.whl", hash = "sha256:adff8b62700b25cb77b53358dad940f3ef973dd6db797907c49e3c2ef3ab4e31", size = 8728, upload-time = "2023-11-22T19:09:43.465Z" }, ] -[[package]] -name = "mkdocstrings" -version = "0.26.1" -source = { registry = "https://pypi.org/simple" } -resolution-markers = [ - "python_full_version < '3.9' and platform_machine == 'arm64' and sys_platform == 'darwin'", - "python_full_version < '3.9' and platform_machine == 'aarch64' and sys_platform == 'linux'", - "(python_full_version < '3.9' and platform_machine != 'arm64' and sys_platform == 'darwin') or (python_full_version < '3.9' and platform_machine != 'aarch64' and sys_platform == 'linux') or (python_full_version < '3.9' and sys_platform != 'darwin' and sys_platform != 'linux')", -] -dependencies = [ - { name = "click", version = "8.1.8", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.9'" }, - { name = "importlib-metadata", version = "8.5.0", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.9'" }, - { name = "jinja2", marker = "python_full_version < '3.9'" }, - { name = "markdown", version = "3.7", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.9'" }, - { name = "markupsafe", version = "2.1.5", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.9'" }, - { name = "mkdocs", marker = "python_full_version < '3.9'" }, - { name = "mkdocs-autorefs", version = "1.2.0", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.9'" }, - { name = "platformdirs", version = "4.3.6", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.9'" }, - { name = "pymdown-extensions", version = "10.15", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.9'" }, - { name = "typing-extensions", version = "4.13.2", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.9'" }, -] -sdist = { url = "https://files.pythonhosted.org/packages/e6/bf/170ff04de72227f715d67da32950c7b8434449f3805b2ec3dd1085db4d7c/mkdocstrings-0.26.1.tar.gz", hash = "sha256:bb8b8854d6713d5348ad05b069a09f3b79edbc6a0f33a34c6821141adb03fe33", size = 92677, upload-time = "2024-09-06T10:26:06.736Z" } -wheels = [ - { url = "https://files.pythonhosted.org/packages/23/cc/8ba127aaee5d1e9046b0d33fa5b3d17da95a9d705d44902792e0569257fd/mkdocstrings-0.26.1-py3-none-any.whl", hash = "sha256:29738bfb72b4608e8e55cc50fb8a54f325dc7ebd2014e4e3881a49892d5983cf", size = 29643, upload-time = "2024-09-06T10:26:04.498Z" }, -] - [[package]] name = "mkdocstrings" version = "0.29.1" source = { registry = "https://pypi.org/simple" } -resolution-markers = [ - "python_full_version >= '3.12' and sys_platform == 'darwin'", - "python_full_version >= '3.12' and platform_machine == 'aarch64' and sys_platform == 'linux'", - "(python_full_version >= '3.12' and platform_machine != 'aarch64' and sys_platform == 'linux') or (python_full_version >= '3.12' and sys_platform != 'darwin' and sys_platform != 'linux')", - "python_full_version == '3.11.*' and sys_platform == 'darwin'", - "python_full_version == '3.11.*' and platform_machine == 'aarch64' and sys_platform == 'linux'", - "(python_full_version == '3.11.*' and platform_machine != 'aarch64' and sys_platform == 'linux') or (python_full_version == '3.11.*' and sys_platform != 'darwin' and sys_platform != 'linux')", - "python_full_version == '3.10.*' and sys_platform == 'darwin'", - "python_full_version == '3.10.*' and platform_machine == 'aarch64' and sys_platform == 'linux'", - "(python_full_version == '3.10.*' and platform_machine != 'aarch64' and sys_platform == 'linux') or (python_full_version == '3.10.*' and sys_platform != 'darwin' and sys_platform != 'linux')", - "python_full_version == '3.9.*' and platform_machine == 'arm64' and sys_platform == 'darwin'", - "python_full_version == '3.9.*' and platform_machine == 'aarch64' and sys_platform == 'linux'", - "(python_full_version == '3.9.*' and platform_machine != 'arm64' and sys_platform == 'darwin') or (python_full_version == '3.9.*' and platform_machine != 'aarch64' and sys_platform == 'linux') or (python_full_version == '3.9.*' and sys_platform != 'darwin' and sys_platform != 'linux')", -] dependencies = [ - { name = "importlib-metadata", version = "8.7.0", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version == '3.9.*'" }, - { name = "jinja2", marker = "python_full_version >= '3.9'" }, - { name = "markdown", version = "3.8.2", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.9'" }, - { name = "markupsafe", version = "3.0.2", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.9'" }, - { name = "mkdocs", marker = "python_full_version >= '3.9'" }, - { name = "mkdocs-autorefs", version = "1.4.2", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.9'" }, - { name = "pymdown-extensions", version = "10.16", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.9'" }, + { name = "importlib-metadata", marker = "python_full_version < '3.10'" }, + { name = "jinja2" }, + { name = "markdown" }, + { name = "markupsafe" }, + { name = "mkdocs" }, + { name = "mkdocs-autorefs" }, + { name = "pymdown-extensions" }, ] sdist = { url = "https://files.pythonhosted.org/packages/41/e8/d22922664a627a0d3d7ff4a6ca95800f5dde54f411982591b4621a76225d/mkdocstrings-0.29.1.tar.gz", hash = "sha256:8722f8f8c5cd75da56671e0a0c1bbed1df9946c0cef74794d6141b34011abd42", size = 1212686, upload-time = "2025-03-31T08:33:11.997Z" } wheels = [ { url = "https://files.pythonhosted.org/packages/98/14/22533a578bf8b187e05d67e2c1721ce10e3f526610eebaf7a149d557ea7a/mkdocstrings-0.29.1-py3-none-any.whl", hash = "sha256:37a9736134934eea89cbd055a513d40a020d87dfcae9e3052c2a6b8cd4af09b6", size = 1631075, upload-time = "2025-03-31T08:33:09.661Z" }, ] -[[package]] -name = "mkdocstrings-python" -version = "1.11.1" -source = { registry = "https://pypi.org/simple" } -resolution-markers = [ - "python_full_version < '3.9' and platform_machine == 'arm64' and sys_platform == 'darwin'", - "python_full_version < '3.9' and platform_machine == 'aarch64' and sys_platform == 'linux'", - "(python_full_version < '3.9' and platform_machine != 'arm64' and sys_platform == 'darwin') or (python_full_version < '3.9' and platform_machine != 'aarch64' and sys_platform == 'linux') or (python_full_version < '3.9' and sys_platform != 'darwin' and sys_platform != 'linux')", -] -dependencies = [ - { name = "griffe", version = "1.4.0", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.9'" }, - { name = "mkdocs-autorefs", version = "1.2.0", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.9'" }, - { name = "mkdocstrings", version = "0.26.1", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.9'" }, -] -sdist = { url = "https://files.pythonhosted.org/packages/fc/ba/534c934cd0a809f51c91332d6ed278782ee4126b8ba8db02c2003f162b47/mkdocstrings_python-1.11.1.tar.gz", hash = "sha256:8824b115c5359304ab0b5378a91f6202324a849e1da907a3485b59208b797322", size = 166890, upload-time = "2024-09-03T17:20:54.904Z" } -wheels = [ - { url = "https://files.pythonhosted.org/packages/2f/f2/2a2c48fda645ac6bbe73bcc974587a579092b6868e6ff8bc6d177f4db38a/mkdocstrings_python-1.11.1-py3-none-any.whl", hash = "sha256:a21a1c05acef129a618517bb5aae3e33114f569b11588b1e7af3e9d4061a71af", size = 109297, upload-time = "2024-09-03T17:20:52.621Z" }, -] - [[package]] name = "mkdocstrings-python" version = "1.16.12" source = { registry = "https://pypi.org/simple" } -resolution-markers = [ - "python_full_version >= '3.12' and sys_platform == 'darwin'", - "python_full_version >= '3.12' and platform_machine == 'aarch64' and sys_platform == 'linux'", - "(python_full_version >= '3.12' and platform_machine != 'aarch64' and sys_platform == 'linux') or (python_full_version >= '3.12' and sys_platform != 'darwin' and sys_platform != 'linux')", - "python_full_version == '3.11.*' and sys_platform == 'darwin'", - "python_full_version == '3.11.*' and platform_machine == 'aarch64' and sys_platform == 'linux'", - "(python_full_version == '3.11.*' and platform_machine != 'aarch64' and sys_platform == 'linux') or (python_full_version == '3.11.*' and sys_platform != 'darwin' and sys_platform != 'linux')", - "python_full_version == '3.10.*' and sys_platform == 'darwin'", - "python_full_version == '3.10.*' and platform_machine == 'aarch64' and sys_platform == 'linux'", - "(python_full_version == '3.10.*' and platform_machine != 'aarch64' and sys_platform == 'linux') or (python_full_version == '3.10.*' and sys_platform != 'darwin' and sys_platform != 'linux')", - "python_full_version == '3.9.*' and platform_machine == 'arm64' and sys_platform == 'darwin'", - "python_full_version == '3.9.*' and platform_machine == 'aarch64' and sys_platform == 'linux'", - "(python_full_version == '3.9.*' and platform_machine != 'arm64' and sys_platform == 'darwin') or (python_full_version == '3.9.*' and platform_machine != 'aarch64' and sys_platform == 'linux') or (python_full_version == '3.9.*' and sys_platform != 'darwin' and sys_platform != 'linux')", -] dependencies = [ - { name = "griffe", version = "1.7.3", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.9'" }, - { name = "mkdocs-autorefs", version = "1.4.2", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.9'" }, - { name = "mkdocstrings", version = "0.29.1", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.9'" }, - { name = "typing-extensions", version = "4.14.1", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.9' and python_full_version < '3.11'" }, + { name = "griffe" }, + { name = "mkdocs-autorefs" }, + { name = "mkdocstrings" }, + { name = "typing-extensions", marker = "python_full_version < '3.11'" }, ] sdist = { url = "https://files.pythonhosted.org/packages/bf/ed/b886f8c714fd7cccc39b79646b627dbea84cd95c46be43459ef46852caf0/mkdocstrings_python-1.16.12.tar.gz", hash = "sha256:9b9eaa066e0024342d433e332a41095c4e429937024945fea511afe58f63175d", size = 206065, upload-time = "2025-06-03T12:52:49.276Z" } wheels = [ { url = "https://files.pythonhosted.org/packages/3b/dd/a24ee3de56954bfafb6ede7cd63c2413bb842cc48eb45e41c43a05a33074/mkdocstrings_python-1.16.12-py3-none-any.whl", hash = "sha256:22ded3a63b3d823d57457a70ff9860d5a4de9e8b1e482876fc9baabaf6f5f374", size = 124287, upload-time = "2025-06-03T12:52:47.819Z" }, ] -[[package]] -name = "more-itertools" -version = "10.5.0" -source = { registry = "https://pypi.org/simple" } -resolution-markers = [ - "python_full_version < '3.9' and platform_machine == 'arm64' and sys_platform == 'darwin'", - "python_full_version < '3.9' and platform_machine == 'aarch64' and sys_platform == 'linux'", - "(python_full_version < '3.9' and platform_machine != 'arm64' and sys_platform == 'darwin') or (python_full_version < '3.9' and platform_machine != 'aarch64' and sys_platform == 'linux') or (python_full_version < '3.9' and sys_platform != 'darwin' and sys_platform != 'linux')", -] -sdist = { url = "https://files.pythonhosted.org/packages/51/78/65922308c4248e0eb08ebcbe67c95d48615cc6f27854b6f2e57143e9178f/more-itertools-10.5.0.tar.gz", hash = "sha256:5482bfef7849c25dc3c6dd53a6173ae4795da2a41a80faea6700d9f5846c5da6", size = 121020, upload-time = "2024-09-05T15:28:22.081Z" } -wheels = [ - { url = "https://files.pythonhosted.org/packages/48/7e/3a64597054a70f7c86eb0a7d4fc315b8c1ab932f64883a297bdffeb5f967/more_itertools-10.5.0-py3-none-any.whl", hash = "sha256:037b0d3203ce90cca8ab1defbbdac29d5f993fc20131f3664dc8d6acfa872aef", size = 60952, upload-time = "2024-09-05T15:28:20.141Z" }, -] - [[package]] name = "more-itertools" version = "10.7.0" source = { registry = "https://pypi.org/simple" } -resolution-markers = [ - "python_full_version >= '3.12' and sys_platform == 'darwin'", - "python_full_version >= '3.12' and platform_machine == 'aarch64' and sys_platform == 'linux'", - "(python_full_version >= '3.12' and platform_machine != 'aarch64' and sys_platform == 'linux') or (python_full_version >= '3.12' and sys_platform != 'darwin' and sys_platform != 'linux')", - "python_full_version == '3.11.*' and sys_platform == 'darwin'", - "python_full_version == '3.11.*' and platform_machine == 'aarch64' and sys_platform == 'linux'", - "(python_full_version == '3.11.*' and platform_machine != 'aarch64' and sys_platform == 'linux') or (python_full_version == '3.11.*' and sys_platform != 'darwin' and sys_platform != 'linux')", - "python_full_version == '3.10.*' and sys_platform == 'darwin'", - "python_full_version == '3.10.*' and platform_machine == 'aarch64' and sys_platform == 'linux'", - "(python_full_version == '3.10.*' and platform_machine != 'aarch64' and sys_platform == 'linux') or (python_full_version == '3.10.*' and sys_platform != 'darwin' and sys_platform != 'linux')", - "python_full_version == '3.9.*' and platform_machine == 'arm64' and sys_platform == 'darwin'", - "python_full_version == '3.9.*' and platform_machine == 'aarch64' and sys_platform == 'linux'", - "(python_full_version == '3.9.*' and platform_machine != 'arm64' and sys_platform == 'darwin') or (python_full_version == '3.9.*' and platform_machine != 'aarch64' and sys_platform == 'linux') or (python_full_version == '3.9.*' and sys_platform != 'darwin' and sys_platform != 'linux')", -] sdist = { url = "https://files.pythonhosted.org/packages/ce/a0/834b0cebabbfc7e311f30b46c8188790a37f89fc8d756660346fe5abfd09/more_itertools-10.7.0.tar.gz", hash = "sha256:9fddd5403be01a94b204faadcff459ec3568cf110265d3c54323e1e866ad29d3", size = 127671, upload-time = "2025-04-22T14:17:41.838Z" } wheels = [ { url = "https://files.pythonhosted.org/packages/2b/9f/7ba6f94fc1e9ac3d2b853fdff3035fb2fa5afbed898c4a72b8a020610594/more_itertools-10.7.0-py3-none-any.whl", hash = "sha256:d43980384673cb07d2f7d2d918c616b30c659c089ee23953f601d6609c67510e", size = 65278, upload-time = "2025-04-22T14:17:40.49Z" }, ] -[[package]] -name = "nbclient" -version = "0.10.1" -source = { registry = "https://pypi.org/simple" } -resolution-markers = [ - "python_full_version < '3.9' and platform_machine == 'arm64' and sys_platform == 'darwin'", - "python_full_version < '3.9' and platform_machine == 'aarch64' and sys_platform == 'linux'", - "(python_full_version < '3.9' and platform_machine != 'arm64' and sys_platform == 'darwin') or (python_full_version < '3.9' and platform_machine != 'aarch64' and sys_platform == 'linux') or (python_full_version < '3.9' and sys_platform != 'darwin' and sys_platform != 'linux')", -] -dependencies = [ - { name = "jupyter-client", marker = "python_full_version < '3.9'" }, - { name = "jupyter-core", marker = "python_full_version < '3.9'" }, - { name = "nbformat", marker = "python_full_version < '3.9'" }, - { name = "traitlets", marker = "python_full_version < '3.9'" }, -] -sdist = { url = "https://files.pythonhosted.org/packages/06/db/25929926860ba8a3f6123d2d0a235e558e0e4be7b46e9db063a7dfefa0a2/nbclient-0.10.1.tar.gz", hash = "sha256:3e93e348ab27e712acd46fccd809139e356eb9a31aab641d1a7991a6eb4e6f68", size = 62273, upload-time = "2024-11-29T08:28:38.47Z" } -wheels = [ - { url = "https://files.pythonhosted.org/packages/26/1a/ed6d1299b1a00c1af4a033fdee565f533926d819e084caf0d2832f6f87c6/nbclient-0.10.1-py3-none-any.whl", hash = "sha256:949019b9240d66897e442888cfb618f69ef23dc71c01cb5fced8499c2cfc084d", size = 25344, upload-time = "2024-11-29T08:28:21.844Z" }, -] - [[package]] name = "nbclient" version = "0.10.2" source = { registry = "https://pypi.org/simple" } -resolution-markers = [ - "python_full_version >= '3.12' and sys_platform == 'darwin'", - "python_full_version >= '3.12' and platform_machine == 'aarch64' and sys_platform == 'linux'", - "(python_full_version >= '3.12' and platform_machine != 'aarch64' and sys_platform == 'linux') or (python_full_version >= '3.12' and sys_platform != 'darwin' and sys_platform != 'linux')", - "python_full_version == '3.11.*' and sys_platform == 'darwin'", - "python_full_version == '3.11.*' and platform_machine == 'aarch64' and sys_platform == 'linux'", - "(python_full_version == '3.11.*' and platform_machine != 'aarch64' and sys_platform == 'linux') or (python_full_version == '3.11.*' and sys_platform != 'darwin' and sys_platform != 'linux')", - "python_full_version == '3.10.*' and sys_platform == 'darwin'", - "python_full_version == '3.10.*' and platform_machine == 'aarch64' and sys_platform == 'linux'", - "(python_full_version == '3.10.*' and platform_machine != 'aarch64' and sys_platform == 'linux') or (python_full_version == '3.10.*' and sys_platform != 'darwin' and sys_platform != 'linux')", - "python_full_version == '3.9.*' and platform_machine == 'arm64' and sys_platform == 'darwin'", - "python_full_version == '3.9.*' and platform_machine == 'aarch64' and sys_platform == 'linux'", - "(python_full_version == '3.9.*' and platform_machine != 'arm64' and sys_platform == 'darwin') or (python_full_version == '3.9.*' and platform_machine != 'aarch64' and sys_platform == 'linux') or (python_full_version == '3.9.*' and sys_platform != 'darwin' and sys_platform != 'linux')", -] dependencies = [ - { name = "jupyter-client", marker = "python_full_version >= '3.9'" }, - { name = "jupyter-core", marker = "python_full_version >= '3.9'" }, - { name = "nbformat", marker = "python_full_version >= '3.9'" }, - { name = "traitlets", marker = "python_full_version >= '3.9'" }, + { name = "jupyter-client" }, + { name = "jupyter-core" }, + { name = "nbformat" }, + { name = "traitlets" }, ] sdist = { url = "https://files.pythonhosted.org/packages/87/66/7ffd18d58eae90d5721f9f39212327695b749e23ad44b3881744eaf4d9e8/nbclient-0.10.2.tar.gz", hash = "sha256:90b7fc6b810630db87a6d0c2250b1f0ab4cf4d3c27a299b0cde78a4ed3fd9193", size = 62424, upload-time = "2024-12-19T10:32:27.164Z" } wheels = [ @@ -3523,19 +2152,15 @@ version = "7.16.6" source = { registry = "https://pypi.org/simple" } dependencies = [ { name = "beautifulsoup4" }, - { name = "bleach", version = "6.1.0", source = { registry = "https://pypi.org/simple" }, extra = ["css"], marker = "python_full_version < '3.9'" }, - { name = "bleach", version = "6.2.0", source = { registry = "https://pypi.org/simple" }, extra = ["css"], marker = "python_full_version >= '3.9'" }, + { name = "bleach", extra = ["css"] }, { name = "defusedxml" }, - { name = "importlib-metadata", version = "8.5.0", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.9'" }, - { name = "importlib-metadata", version = "8.7.0", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version == '3.9.*'" }, + { name = "importlib-metadata", marker = "python_full_version < '3.10'" }, { name = "jinja2" }, { name = "jupyter-core" }, { name = "jupyterlab-pygments" }, - { name = "markupsafe", version = "2.1.5", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.9'" }, - { name = "markupsafe", version = "3.0.2", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.9'" }, + { name = "markupsafe" }, { name = "mistune" }, - { name = "nbclient", version = "0.10.1", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.9'" }, - { name = "nbclient", version = "0.10.2", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.9'" }, + { name = "nbclient" }, { name = "nbformat" }, { name = "packaging" }, { name = "pandocfilters" }, @@ -3553,8 +2178,7 @@ version = "5.10.4" source = { registry = "https://pypi.org/simple" } dependencies = [ { name = "fastjsonschema" }, - { name = "jsonschema", version = "4.23.0", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.9'" }, - { name = "jsonschema", version = "4.24.0", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.9'" }, + { name = "jsonschema" }, { name = "jupyter-core" }, { name = "traitlets" }, ] @@ -3603,51 +2227,16 @@ wheels = [ { url = "https://files.pythonhosted.org/packages/23/fc/8ce756c032c70ae3dd1d48a3552577a325475af2a2f629604b44f571165c/nh3-0.2.21-cp38-abi3-win_amd64.whl", hash = "sha256:bb0014948f04d7976aabae43fcd4cb7f551f9f8ce785a4c9ef66e6c2590f8629", size = 535283, upload-time = "2025-02-25T13:38:43.355Z" }, ] -[[package]] -name = "notebook" -version = "7.3.3" -source = { registry = "https://pypi.org/simple" } -resolution-markers = [ - "python_full_version < '3.9' and platform_machine == 'arm64' and sys_platform == 'darwin'", - "python_full_version < '3.9' and platform_machine == 'aarch64' and sys_platform == 'linux'", - "(python_full_version < '3.9' and platform_machine != 'arm64' and sys_platform == 'darwin') or (python_full_version < '3.9' and platform_machine != 'aarch64' and sys_platform == 'linux') or (python_full_version < '3.9' and sys_platform != 'darwin' and sys_platform != 'linux')", -] -dependencies = [ - { name = "jupyter-server", version = "2.14.2", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.9'" }, - { name = "jupyterlab", version = "4.3.8", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.9'" }, - { name = "jupyterlab-server", marker = "python_full_version < '3.9'" }, - { name = "notebook-shim", marker = "python_full_version < '3.9'" }, - { name = "tornado", version = "6.4.2", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.9'" }, -] -sdist = { url = "https://files.pythonhosted.org/packages/71/0f/7781fed05f79d1047c039dfd17fbd6e6670bcf5ad330baa997bcc62525b5/notebook-7.3.3.tar.gz", hash = "sha256:707a313fb882d35f921989eb3d204de942ed5132a44e4aa1fe0e8f24bb9dc25d", size = 12758099, upload-time = "2025-03-14T13:40:57.001Z" } -wheels = [ - { url = "https://files.pythonhosted.org/packages/f2/bf/5e5fcf79c559600b738d7577c8360bfd4cfa705400af06f23b3a049e44b6/notebook-7.3.3-py3-none-any.whl", hash = "sha256:b193df0878956562d5171c8e25c9252b8e86c9fcc16163b8ee3fe6c5e3f422f7", size = 13142886, upload-time = "2025-03-14T13:40:52.754Z" }, -] - [[package]] name = "notebook" version = "7.4.4" source = { registry = "https://pypi.org/simple" } -resolution-markers = [ - "python_full_version >= '3.12' and sys_platform == 'darwin'", - "python_full_version >= '3.12' and platform_machine == 'aarch64' and sys_platform == 'linux'", - "(python_full_version >= '3.12' and platform_machine != 'aarch64' and sys_platform == 'linux') or (python_full_version >= '3.12' and sys_platform != 'darwin' and sys_platform != 'linux')", - "python_full_version == '3.11.*' and sys_platform == 'darwin'", - "python_full_version == '3.11.*' and platform_machine == 'aarch64' and sys_platform == 'linux'", - "(python_full_version == '3.11.*' and platform_machine != 'aarch64' and sys_platform == 'linux') or (python_full_version == '3.11.*' and sys_platform != 'darwin' and sys_platform != 'linux')", - "python_full_version == '3.10.*' and sys_platform == 'darwin'", - "python_full_version == '3.10.*' and platform_machine == 'aarch64' and sys_platform == 'linux'", - "(python_full_version == '3.10.*' and platform_machine != 'aarch64' and sys_platform == 'linux') or (python_full_version == '3.10.*' and sys_platform != 'darwin' and sys_platform != 'linux')", - "python_full_version == '3.9.*' and platform_machine == 'arm64' and sys_platform == 'darwin'", - "python_full_version == '3.9.*' and platform_machine == 'aarch64' and sys_platform == 'linux'", - "(python_full_version == '3.9.*' and platform_machine != 'arm64' and sys_platform == 'darwin') or (python_full_version == '3.9.*' and platform_machine != 'aarch64' and sys_platform == 'linux') or (python_full_version == '3.9.*' and sys_platform != 'darwin' and sys_platform != 'linux')", -] dependencies = [ - { name = "jupyter-server", version = "2.16.0", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.9'" }, - { name = "jupyterlab", version = "4.4.4", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.9'" }, - { name = "jupyterlab-server", marker = "python_full_version >= '3.9'" }, - { name = "notebook-shim", marker = "python_full_version >= '3.9'" }, - { name = "tornado", version = "6.5.1", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.9'" }, + { name = "jupyter-server" }, + { name = "jupyterlab" }, + { name = "jupyterlab-server" }, + { name = "notebook-shim" }, + { name = "tornado" }, ] sdist = { url = "https://files.pythonhosted.org/packages/b1/4e/a40b5a94eb01fc51746db7854296d88b84905ab18ee0fcef853a60d708a3/notebook-7.4.4.tar.gz", hash = "sha256:392fd501e266f2fb3466c6fcd3331163a2184968cb5c5accf90292e01dfe528c", size = 13883628, upload-time = "2025-06-30T13:04:18.099Z" } wheels = [ @@ -3659,62 +2248,21 @@ name = "notebook-shim" version = "0.2.4" source = { registry = "https://pypi.org/simple" } dependencies = [ - { name = "jupyter-server", version = "2.14.2", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.9'" }, - { name = "jupyter-server", version = "2.16.0", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.9'" }, + { name = "jupyter-server" }, ] sdist = { url = "https://files.pythonhosted.org/packages/54/d2/92fa3243712b9a3e8bafaf60aac366da1cada3639ca767ff4b5b3654ec28/notebook_shim-0.2.4.tar.gz", hash = "sha256:b4b2cfa1b65d98307ca24361f5b30fe785b53c3fd07b7a47e89acb5e6ac638cb", size = 13167, upload-time = "2024-02-14T23:35:18.353Z" } wheels = [ { url = "https://files.pythonhosted.org/packages/f9/33/bd5b9137445ea4b680023eb0469b2bb969d61303dedb2aac6560ff3d14a1/notebook_shim-0.2.4-py3-none-any.whl", hash = "sha256:411a5be4e9dc882a074ccbcae671eda64cceb068767e9a3419096986560e1cef", size = 13307, upload-time = "2024-02-14T23:35:16.286Z" }, ] -[[package]] -name = "numpy" -version = "1.24.4" -source = { registry = "https://pypi.org/simple" } -resolution-markers = [ - "python_full_version < '3.9' and platform_machine == 'arm64' and sys_platform == 'darwin'", - "python_full_version < '3.9' and platform_machine == 'aarch64' and sys_platform == 'linux'", - "(python_full_version < '3.9' and platform_machine != 'arm64' and sys_platform == 'darwin') or (python_full_version < '3.9' and platform_machine != 'aarch64' and sys_platform == 'linux') or (python_full_version < '3.9' and sys_platform != 'darwin' and sys_platform != 'linux')", -] -sdist = { url = "https://files.pythonhosted.org/packages/a4/9b/027bec52c633f6556dba6b722d9a0befb40498b9ceddd29cbe67a45a127c/numpy-1.24.4.tar.gz", hash = "sha256:80f5e3a4e498641401868df4208b74581206afbee7cf7b8329daae82676d9463", size = 10911229, upload-time = "2023-06-26T13:39:33.218Z" } -wheels = [ - { url = "https://files.pythonhosted.org/packages/6b/80/6cdfb3e275d95155a34659163b83c09e3a3ff9f1456880bec6cc63d71083/numpy-1.24.4-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:c0bfb52d2169d58c1cdb8cc1f16989101639b34c7d3ce60ed70b19c63eba0b64", size = 19789140, upload-time = "2023-06-26T13:22:33.184Z" }, - { url = "https://files.pythonhosted.org/packages/64/5f/3f01d753e2175cfade1013eea08db99ba1ee4bdb147ebcf3623b75d12aa7/numpy-1.24.4-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:ed094d4f0c177b1b8e7aa9cba7d6ceed51c0e569a5318ac0ca9a090680a6a1b1", size = 13854297, upload-time = "2023-06-26T13:22:59.541Z" }, - { url = "https://files.pythonhosted.org/packages/5a/b3/2f9c21d799fa07053ffa151faccdceeb69beec5a010576b8991f614021f7/numpy-1.24.4-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:79fc682a374c4a8ed08b331bef9c5f582585d1048fa6d80bc6c35bc384eee9b4", size = 13995611, upload-time = "2023-06-26T13:23:22.167Z" }, - { url = "https://files.pythonhosted.org/packages/10/be/ae5bf4737cb79ba437879915791f6f26d92583c738d7d960ad94e5c36adf/numpy-1.24.4-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:7ffe43c74893dbf38c2b0a1f5428760a1a9c98285553c89e12d70a96a7f3a4d6", size = 17282357, upload-time = "2023-06-26T13:23:51.446Z" }, - { url = "https://files.pythonhosted.org/packages/c0/64/908c1087be6285f40e4b3e79454552a701664a079321cff519d8c7051d06/numpy-1.24.4-cp310-cp310-win32.whl", hash = "sha256:4c21decb6ea94057331e111a5bed9a79d335658c27ce2adb580fb4d54f2ad9bc", size = 12429222, upload-time = "2023-06-26T13:24:13.849Z" }, - { url = "https://files.pythonhosted.org/packages/22/55/3d5a7c1142e0d9329ad27cece17933b0e2ab4e54ddc5c1861fbfeb3f7693/numpy-1.24.4-cp310-cp310-win_amd64.whl", hash = "sha256:b4bea75e47d9586d31e892a7401f76e909712a0fd510f58f5337bea9572c571e", size = 14841514, upload-time = "2023-06-26T13:24:38.129Z" }, - { url = "https://files.pythonhosted.org/packages/a9/cc/5ed2280a27e5dab12994c884f1f4d8c3bd4d885d02ae9e52a9d213a6a5e2/numpy-1.24.4-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:f136bab9c2cfd8da131132c2cf6cc27331dd6fae65f95f69dcd4ae3c3639c810", size = 19775508, upload-time = "2023-06-26T13:25:08.882Z" }, - { url = "https://files.pythonhosted.org/packages/c0/bc/77635c657a3668cf652806210b8662e1aff84b818a55ba88257abf6637a8/numpy-1.24.4-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:e2926dac25b313635e4d6cf4dc4e51c8c0ebfed60b801c799ffc4c32bf3d1254", size = 13840033, upload-time = "2023-06-26T13:25:33.417Z" }, - { url = "https://files.pythonhosted.org/packages/a7/4c/96cdaa34f54c05e97c1c50f39f98d608f96f0677a6589e64e53104e22904/numpy-1.24.4-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:222e40d0e2548690405b0b3c7b21d1169117391c2e82c378467ef9ab4c8f0da7", size = 13991951, upload-time = "2023-06-26T13:25:55.725Z" }, - { url = "https://files.pythonhosted.org/packages/22/97/dfb1a31bb46686f09e68ea6ac5c63fdee0d22d7b23b8f3f7ea07712869ef/numpy-1.24.4-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:7215847ce88a85ce39baf9e89070cb860c98fdddacbaa6c0da3ffb31b3350bd5", size = 17278923, upload-time = "2023-06-26T13:26:25.658Z" }, - { url = "https://files.pythonhosted.org/packages/35/e2/76a11e54139654a324d107da1d98f99e7aa2a7ef97cfd7c631fba7dbde71/numpy-1.24.4-cp311-cp311-win32.whl", hash = "sha256:4979217d7de511a8d57f4b4b5b2b965f707768440c17cb70fbf254c4b225238d", size = 12422446, upload-time = "2023-06-26T13:26:49.302Z" }, - { url = "https://files.pythonhosted.org/packages/d8/ec/ebef2f7d7c28503f958f0f8b992e7ce606fb74f9e891199329d5f5f87404/numpy-1.24.4-cp311-cp311-win_amd64.whl", hash = "sha256:b7b1fc9864d7d39e28f41d089bfd6353cb5f27ecd9905348c24187a768c79694", size = 14834466, upload-time = "2023-06-26T13:27:16.029Z" }, - { url = "https://files.pythonhosted.org/packages/11/10/943cfb579f1a02909ff96464c69893b1d25be3731b5d3652c2e0cf1281ea/numpy-1.24.4-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:1452241c290f3e2a312c137a9999cdbf63f78864d63c79039bda65ee86943f61", size = 19780722, upload-time = "2023-06-26T13:27:49.573Z" }, - { url = "https://files.pythonhosted.org/packages/a7/ae/f53b7b265fdc701e663fbb322a8e9d4b14d9cb7b2385f45ddfabfc4327e4/numpy-1.24.4-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:04640dab83f7c6c85abf9cd729c5b65f1ebd0ccf9de90b270cd61935eef0197f", size = 13843102, upload-time = "2023-06-26T13:28:12.288Z" }, - { url = "https://files.pythonhosted.org/packages/25/6f/2586a50ad72e8dbb1d8381f837008a0321a3516dfd7cb57fc8cf7e4bb06b/numpy-1.24.4-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a5425b114831d1e77e4b5d812b69d11d962e104095a5b9c3b641a218abcc050e", size = 14039616, upload-time = "2023-06-26T13:28:35.659Z" }, - { url = "https://files.pythonhosted.org/packages/98/5d/5738903efe0ecb73e51eb44feafba32bdba2081263d40c5043568ff60faf/numpy-1.24.4-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:dd80e219fd4c71fc3699fc1dadac5dcf4fd882bfc6f7ec53d30fa197b8ee22dc", size = 17316263, upload-time = "2023-06-26T13:29:09.272Z" }, - { url = "https://files.pythonhosted.org/packages/d1/57/8d328f0b91c733aa9aa7ee540dbc49b58796c862b4fbcb1146c701e888da/numpy-1.24.4-cp38-cp38-win32.whl", hash = "sha256:4602244f345453db537be5314d3983dbf5834a9701b7723ec28923e2889e0bb2", size = 12455660, upload-time = "2023-06-26T13:29:33.434Z" }, - { url = "https://files.pythonhosted.org/packages/69/65/0d47953afa0ad569d12de5f65d964321c208492064c38fe3b0b9744f8d44/numpy-1.24.4-cp38-cp38-win_amd64.whl", hash = "sha256:692f2e0f55794943c5bfff12b3f56f99af76f902fc47487bdfe97856de51a706", size = 14868112, upload-time = "2023-06-26T13:29:58.385Z" }, - { url = "https://files.pythonhosted.org/packages/9a/cd/d5b0402b801c8a8b56b04c1e85c6165efab298d2f0ab741c2406516ede3a/numpy-1.24.4-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:2541312fbf09977f3b3ad449c4e5f4bb55d0dbf79226d7724211acc905049400", size = 19816549, upload-time = "2023-06-26T13:30:36.976Z" }, - { url = "https://files.pythonhosted.org/packages/14/27/638aaa446f39113a3ed38b37a66243e21b38110d021bfcb940c383e120f2/numpy-1.24.4-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:9667575fb6d13c95f1b36aca12c5ee3356bf001b714fc354eb5465ce1609e62f", size = 13879950, upload-time = "2023-06-26T13:31:01.787Z" }, - { url = "https://files.pythonhosted.org/packages/8f/27/91894916e50627476cff1a4e4363ab6179d01077d71b9afed41d9e1f18bf/numpy-1.24.4-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:f3a86ed21e4f87050382c7bc96571755193c4c1392490744ac73d660e8f564a9", size = 14030228, upload-time = "2023-06-26T13:31:26.696Z" }, - { url = "https://files.pythonhosted.org/packages/7a/7c/d7b2a0417af6428440c0ad7cb9799073e507b1a465f827d058b826236964/numpy-1.24.4-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:d11efb4dbecbdf22508d55e48d9c8384db795e1b7b51ea735289ff96613ff74d", size = 17311170, upload-time = "2023-06-26T13:31:56.615Z" }, - { url = "https://files.pythonhosted.org/packages/18/9d/e02ace5d7dfccee796c37b995c63322674daf88ae2f4a4724c5dd0afcc91/numpy-1.24.4-cp39-cp39-win32.whl", hash = "sha256:6620c0acd41dbcb368610bb2f4d83145674040025e5536954782467100aa8835", size = 12454918, upload-time = "2023-06-26T13:32:16.8Z" }, - { url = "https://files.pythonhosted.org/packages/63/38/6cc19d6b8bfa1d1a459daf2b3fe325453153ca7019976274b6f33d8b5663/numpy-1.24.4-cp39-cp39-win_amd64.whl", hash = "sha256:befe2bf740fd8373cf56149a5c23a0f601e82869598d41f8e188a0e9869926f8", size = 14867441, upload-time = "2023-06-26T13:32:40.521Z" }, - { url = "https://files.pythonhosted.org/packages/a4/fd/8dff40e25e937c94257455c237b9b6bf5a30d42dd1cc11555533be099492/numpy-1.24.4-pp38-pypy38_pp73-macosx_10_9_x86_64.whl", hash = "sha256:31f13e25b4e304632a4619d0e0777662c2ffea99fcae2029556b17d8ff958aef", size = 19156590, upload-time = "2023-06-26T13:33:10.36Z" }, - { url = "https://files.pythonhosted.org/packages/42/e7/4bf953c6e05df90c6d351af69966384fed8e988d0e8c54dad7103b59f3ba/numpy-1.24.4-pp38-pypy38_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:95f7ac6540e95bc440ad77f56e520da5bf877f87dca58bd095288dce8940532a", size = 16705744, upload-time = "2023-06-26T13:33:36.703Z" }, - { url = "https://files.pythonhosted.org/packages/fc/dd/9106005eb477d022b60b3817ed5937a43dad8fd1f20b0610ea8a32fcb407/numpy-1.24.4-pp38-pypy38_pp73-win_amd64.whl", hash = "sha256:e98f220aa76ca2a977fe435f5b04d7b3470c0a2e6312907b37ba6068f26787f2", size = 14734290, upload-time = "2023-06-26T13:34:05.409Z" }, -] - [[package]] name = "numpy" version = "2.0.2" source = { registry = "https://pypi.org/simple" } resolution-markers = [ - "python_full_version == '3.9.*' and platform_machine == 'arm64' and sys_platform == 'darwin'", - "python_full_version == '3.9.*' and platform_machine == 'aarch64' and sys_platform == 'linux'", - "(python_full_version == '3.9.*' and platform_machine != 'arm64' and sys_platform == 'darwin') or (python_full_version == '3.9.*' and platform_machine != 'aarch64' and sys_platform == 'linux') or (python_full_version == '3.9.*' and sys_platform != 'darwin' and sys_platform != 'linux')", + "python_full_version < '3.10' and platform_machine == 'arm64' and sys_platform == 'darwin'", + "python_full_version < '3.10' and platform_machine == 'aarch64' and sys_platform == 'linux'", + "(python_full_version < '3.10' and platform_machine != 'arm64' and sys_platform == 'darwin') or (python_full_version < '3.10' and platform_machine != 'aarch64' and sys_platform == 'linux') or (python_full_version < '3.10' and sys_platform != 'darwin' and sys_platform != 'linux')", ] sdist = { url = "https://files.pythonhosted.org/packages/a9/75/10dd1f8116a8b796cb2c737b674e02d02e80454bda953fa7e65d8c12b016/numpy-2.0.2.tar.gz", hash = "sha256:883c987dee1880e2a864ab0dc9892292582510604156762362d9326444636e78", size = 18902015, upload-time = "2024-08-26T20:19:40.945Z" } wheels = [ @@ -3902,8 +2450,7 @@ name = "opencv-python" version = "4.11.0.86" source = { registry = "https://pypi.org/simple" } dependencies = [ - { name = "numpy", version = "1.24.4", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.9'" }, - { name = "numpy", version = "2.0.2", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version == '3.9.*'" }, + { name = "numpy", version = "2.0.2", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.10'" }, { name = "numpy", version = "2.2.6", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version == '3.10.*'" }, { name = "numpy", version = "2.3.1", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.11'" }, ] @@ -3944,74 +2491,17 @@ wheels = [ { url = "https://files.pythonhosted.org/packages/90/96/04b8e52da071d28f5e21a805b19cb9390aa17a47462ac87f5e2696b9566d/paginate-0.5.7-py2.py3-none-any.whl", hash = "sha256:b885e2af73abcf01d9559fd5216b57ef722f8c42affbb63942377668e35c7591", size = 13746, upload-time = "2024-08-25T14:17:22.55Z" }, ] -[[package]] -name = "pandas" -version = "2.0.3" -source = { registry = "https://pypi.org/simple" } -resolution-markers = [ - "python_full_version < '3.9' and platform_machine == 'arm64' and sys_platform == 'darwin'", - "python_full_version < '3.9' and platform_machine == 'aarch64' and sys_platform == 'linux'", - "(python_full_version < '3.9' and platform_machine != 'arm64' and sys_platform == 'darwin') or (python_full_version < '3.9' and platform_machine != 'aarch64' and sys_platform == 'linux') or (python_full_version < '3.9' and sys_platform != 'darwin' and sys_platform != 'linux')", -] -dependencies = [ - { name = "numpy", version = "1.24.4", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.9'" }, - { name = "python-dateutil", marker = "python_full_version < '3.9'" }, - { name = "pytz", marker = "python_full_version < '3.9'" }, - { name = "tzdata", marker = "python_full_version < '3.9'" }, -] -sdist = { url = "https://files.pythonhosted.org/packages/b1/a7/824332581e258b5aa4f3763ecb2a797e5f9a54269044ba2e50ac19936b32/pandas-2.0.3.tar.gz", hash = "sha256:c02f372a88e0d17f36d3093a644c73cfc1788e876a7c4bcb4020a77512e2043c", size = 5284455, upload-time = "2023-06-28T23:19:33.371Z" } -wheels = [ - { url = "https://files.pythonhosted.org/packages/3c/b2/0d4a5729ce1ce11630c4fc5d5522a33b967b3ca146c210f58efde7c40e99/pandas-2.0.3-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:e4c7c9f27a4185304c7caf96dc7d91bc60bc162221152de697c98eb0b2648dd8", size = 11760908, upload-time = "2023-06-28T23:15:57.001Z" }, - { url = "https://files.pythonhosted.org/packages/4a/f6/f620ca62365d83e663a255a41b08d2fc2eaf304e0b8b21bb6d62a7390fe3/pandas-2.0.3-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:f167beed68918d62bffb6ec64f2e1d8a7d297a038f86d4aed056b9493fca407f", size = 10823486, upload-time = "2023-06-28T23:16:06.863Z" }, - { url = "https://files.pythonhosted.org/packages/c2/59/cb4234bc9b968c57e81861b306b10cd8170272c57b098b724d3de5eda124/pandas-2.0.3-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:ce0c6f76a0f1ba361551f3e6dceaff06bde7514a374aa43e33b588ec10420183", size = 11571897, upload-time = "2023-06-28T23:16:14.208Z" }, - { url = "https://files.pythonhosted.org/packages/e3/59/35a2892bf09ded9c1bf3804461efe772836a5261ef5dfb4e264ce813ff99/pandas-2.0.3-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ba619e410a21d8c387a1ea6e8a0e49bb42216474436245718d7f2e88a2f8d7c0", size = 12306421, upload-time = "2023-06-28T23:16:23.26Z" }, - { url = "https://files.pythonhosted.org/packages/94/71/3a0c25433c54bb29b48e3155b959ac78f4c4f2f06f94d8318aac612cb80f/pandas-2.0.3-cp310-cp310-win32.whl", hash = "sha256:3ef285093b4fe5058eefd756100a367f27029913760773c8bf1d2d8bebe5d210", size = 9540792, upload-time = "2023-06-28T23:16:30.876Z" }, - { url = "https://files.pythonhosted.org/packages/ed/30/b97456e7063edac0e5a405128065f0cd2033adfe3716fb2256c186bd41d0/pandas-2.0.3-cp310-cp310-win_amd64.whl", hash = "sha256:9ee1a69328d5c36c98d8e74db06f4ad518a1840e8ccb94a4ba86920986bb617e", size = 10664333, upload-time = "2023-06-28T23:16:39.209Z" }, - { url = "https://files.pythonhosted.org/packages/b3/92/a5e5133421b49e901a12e02a6a7ef3a0130e10d13db8cb657fdd0cba3b90/pandas-2.0.3-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:b084b91d8d66ab19f5bb3256cbd5ea661848338301940e17f4492b2ce0801fe8", size = 11645672, upload-time = "2023-06-28T23:16:47.601Z" }, - { url = "https://files.pythonhosted.org/packages/8f/bb/aea1fbeed5b474cb8634364718abe9030d7cc7a30bf51f40bd494bbc89a2/pandas-2.0.3-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:37673e3bdf1551b95bf5d4ce372b37770f9529743d2498032439371fc7b7eb26", size = 10693229, upload-time = "2023-06-28T23:16:56.397Z" }, - { url = "https://files.pythonhosted.org/packages/d6/90/e7d387f1a416b14e59290baa7a454a90d719baebbf77433ff1bdcc727800/pandas-2.0.3-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:b9cb1e14fdb546396b7e1b923ffaeeac24e4cedd14266c3497216dd4448e4f2d", size = 11581591, upload-time = "2023-06-28T23:17:04.234Z" }, - { url = "https://files.pythonhosted.org/packages/d0/28/88b81881c056376254618fad622a5e94b5126db8c61157ea1910cd1c040a/pandas-2.0.3-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:d9cd88488cceb7635aebb84809d087468eb33551097d600c6dad13602029c2df", size = 12219370, upload-time = "2023-06-28T23:17:11.783Z" }, - { url = "https://files.pythonhosted.org/packages/e4/a5/212b9039e25bf8ebb97e417a96660e3dc925dacd3f8653d531b8f7fd9be4/pandas-2.0.3-cp311-cp311-win32.whl", hash = "sha256:694888a81198786f0e164ee3a581df7d505024fbb1f15202fc7db88a71d84ebd", size = 9482935, upload-time = "2023-06-28T23:17:21.376Z" }, - { url = "https://files.pythonhosted.org/packages/9e/71/756a1be6bee0209d8c0d8c5e3b9fc72c00373f384a4017095ec404aec3ad/pandas-2.0.3-cp311-cp311-win_amd64.whl", hash = "sha256:6a21ab5c89dcbd57f78d0ae16630b090eec626360085a4148693def5452d8a6b", size = 10607692, upload-time = "2023-06-28T23:17:28.824Z" }, - { url = "https://files.pythonhosted.org/packages/78/a8/07dd10f90ca915ed914853cd57f79bfc22e1ef4384ab56cb4336d2fc1f2a/pandas-2.0.3-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:9e4da0d45e7f34c069fe4d522359df7d23badf83abc1d1cef398895822d11061", size = 11653303, upload-time = "2023-06-28T23:17:36.329Z" }, - { url = "https://files.pythonhosted.org/packages/53/c3/f8e87361f7fdf42012def602bfa2a593423c729f5cb7c97aed7f51be66ac/pandas-2.0.3-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:32fca2ee1b0d93dd71d979726b12b61faa06aeb93cf77468776287f41ff8fdc5", size = 10710932, upload-time = "2023-06-28T23:17:49.875Z" }, - { url = "https://files.pythonhosted.org/packages/a7/87/828d50c81ce0f434163bf70b925a0eec6076808e0bca312a79322b141f66/pandas-2.0.3-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:258d3624b3ae734490e4d63c430256e716f488c4fcb7c8e9bde2d3aa46c29089", size = 11684018, upload-time = "2023-06-28T23:18:05.845Z" }, - { url = "https://files.pythonhosted.org/packages/f8/7f/5b047effafbdd34e52c9e2d7e44f729a0655efafb22198c45cf692cdc157/pandas-2.0.3-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:9eae3dc34fa1aa7772dd3fc60270d13ced7346fcbcfee017d3132ec625e23bb0", size = 12353723, upload-time = "2023-06-28T23:18:17.631Z" }, - { url = "https://files.pythonhosted.org/packages/ea/ae/26a2eda7fa581347d69e51f93892493b2074ef3352ac71033c9f32c52389/pandas-2.0.3-cp38-cp38-win32.whl", hash = "sha256:f3421a7afb1a43f7e38e82e844e2bca9a6d793d66c1a7f9f0ff39a795bbc5e02", size = 9646403, upload-time = "2023-06-28T23:18:24.328Z" }, - { url = "https://files.pythonhosted.org/packages/c3/6c/ea362eef61f05553aaf1a24b3e96b2d0603f5dc71a3bd35688a24ed88843/pandas-2.0.3-cp38-cp38-win_amd64.whl", hash = "sha256:69d7f3884c95da3a31ef82b7618af5710dba95bb885ffab339aad925c3e8ce78", size = 10777638, upload-time = "2023-06-28T23:18:30.947Z" }, - { url = "https://files.pythonhosted.org/packages/f8/c7/cfef920b7b457dff6928e824896cb82367650ea127d048ee0b820026db4f/pandas-2.0.3-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:5247fb1ba347c1261cbbf0fcfba4a3121fbb4029d95d9ef4dc45406620b25c8b", size = 11834160, upload-time = "2023-06-28T23:18:40.332Z" }, - { url = "https://files.pythonhosted.org/packages/6c/1c/689c9d99bc4e5d366a5fd871f0bcdee98a6581e240f96b78d2d08f103774/pandas-2.0.3-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:81af086f4543c9d8bb128328b5d32e9986e0c84d3ee673a2ac6fb57fd14f755e", size = 10862752, upload-time = "2023-06-28T23:18:50.016Z" }, - { url = "https://files.pythonhosted.org/packages/cc/b8/4d082f41c27c95bf90485d1447b647cc7e5680fea75e315669dc6e4cb398/pandas-2.0.3-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:1994c789bf12a7c5098277fb43836ce090f1073858c10f9220998ac74f37c69b", size = 11715852, upload-time = "2023-06-28T23:19:00.594Z" }, - { url = "https://files.pythonhosted.org/packages/9e/0d/91a9fd2c202f2b1d97a38ab591890f86480ecbb596cbc56d035f6f23fdcc/pandas-2.0.3-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:5ec591c48e29226bcbb316e0c1e9423622bc7a4eaf1ef7c3c9fa1a3981f89641", size = 12398496, upload-time = "2023-06-28T23:19:11.78Z" }, - { url = "https://files.pythonhosted.org/packages/26/7d/d8aa0a2c4f3f5f8ea59fb946c8eafe8f508090ca73e2b08a9af853c1103e/pandas-2.0.3-cp39-cp39-win32.whl", hash = "sha256:04dbdbaf2e4d46ca8da896e1805bc04eb85caa9a82e259e8eed00254d5e0c682", size = 9630766, upload-time = "2023-06-28T23:19:18.182Z" }, - { url = "https://files.pythonhosted.org/packages/9a/f2/0ad053856debbe90c83de1b4f05915f85fd2146f20faf9daa3b320d36df3/pandas-2.0.3-cp39-cp39-win_amd64.whl", hash = "sha256:1168574b036cd8b93abc746171c9b4f1b83467438a5e45909fed645cf8692dbc", size = 10755902, upload-time = "2023-06-28T23:19:25.151Z" }, -] - [[package]] name = "pandas" version = "2.3.1" source = { registry = "https://pypi.org/simple" } -resolution-markers = [ - "python_full_version >= '3.12' and sys_platform == 'darwin'", - "python_full_version >= '3.12' and platform_machine == 'aarch64' and sys_platform == 'linux'", - "(python_full_version >= '3.12' and platform_machine != 'aarch64' and sys_platform == 'linux') or (python_full_version >= '3.12' and sys_platform != 'darwin' and sys_platform != 'linux')", - "python_full_version == '3.11.*' and sys_platform == 'darwin'", - "python_full_version == '3.11.*' and platform_machine == 'aarch64' and sys_platform == 'linux'", - "(python_full_version == '3.11.*' and platform_machine != 'aarch64' and sys_platform == 'linux') or (python_full_version == '3.11.*' and sys_platform != 'darwin' and sys_platform != 'linux')", - "python_full_version == '3.10.*' and sys_platform == 'darwin'", - "python_full_version == '3.10.*' and platform_machine == 'aarch64' and sys_platform == 'linux'", - "(python_full_version == '3.10.*' and platform_machine != 'aarch64' and sys_platform == 'linux') or (python_full_version == '3.10.*' and sys_platform != 'darwin' and sys_platform != 'linux')", - "python_full_version == '3.9.*' and platform_machine == 'arm64' and sys_platform == 'darwin'", - "python_full_version == '3.9.*' and platform_machine == 'aarch64' and sys_platform == 'linux'", - "(python_full_version == '3.9.*' and platform_machine != 'arm64' and sys_platform == 'darwin') or (python_full_version == '3.9.*' and platform_machine != 'aarch64' and sys_platform == 'linux') or (python_full_version == '3.9.*' and sys_platform != 'darwin' and sys_platform != 'linux')", -] dependencies = [ - { name = "numpy", version = "2.0.2", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version == '3.9.*'" }, + { name = "numpy", version = "2.0.2", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.10'" }, { name = "numpy", version = "2.2.6", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version == '3.10.*'" }, { name = "numpy", version = "2.3.1", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.11'" }, - { name = "python-dateutil", marker = "python_full_version >= '3.9'" }, - { name = "pytz", marker = "python_full_version >= '3.9'" }, - { name = "tzdata", marker = "python_full_version >= '3.9'" }, + { name = "python-dateutil" }, + { name = "pytz" }, + { name = "tzdata" }, ] sdist = { url = "https://files.pythonhosted.org/packages/d1/6f/75aa71f8a14267117adeeed5d21b204770189c0a0025acbdc03c337b28fc/pandas-2.3.1.tar.gz", hash = "sha256:0a95b9ac964fe83ce317827f80304d37388ea77616b1425f0ae41c9d2d0d7bb2", size = 4487493, upload-time = "2025-07-07T19:20:04.079Z" } wheels = [ @@ -4097,15 +2587,6 @@ wheels = [ { url = "https://files.pythonhosted.org/packages/9e/c3/059298687310d527a58bb01f3b1965787ee3b40dce76752eda8b44e9a2c5/pexpect-4.9.0-py2.py3-none-any.whl", hash = "sha256:7236d1e080e4936be2dc3e326cec0af72acf9212a7e1d060210e70a47e253523", size = 63772, upload-time = "2023-11-25T06:56:14.81Z" }, ] -[[package]] -name = "pickleshare" -version = "0.7.5" -source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/d8/b6/df3c1c9b616e9c0edbc4fbab6ddd09df9535849c64ba51fcb6531c32d4d8/pickleshare-0.7.5.tar.gz", hash = "sha256:87683d47965c1da65cdacaf31c8441d12b8044cdec9aca500cd78fc2c683afca", size = 6161, upload-time = "2018-09-25T19:17:37.249Z" } -wheels = [ - { url = "https://files.pythonhosted.org/packages/9a/41/220f49aaea88bc6fa6cba8d05ecf24676326156c23b991e80b3f2fc24c77/pickleshare-0.7.5-py2.py3-none-any.whl", hash = "sha256:9649af414d74d4df115d5d718f82acb59c9d418196b7b4290ed47a12ce62df56", size = 6877, upload-time = "2018-09-25T19:17:35.817Z" }, -] - [[package]] name = "pillow" version = "10.4.0" @@ -4156,16 +2637,6 @@ wheels = [ { url = "https://files.pythonhosted.org/packages/7b/f9/cfaa5082ca9bc4a6de66ffe1c12c2d90bf09c309a5f52b27759a596900e7/pillow-10.4.0-cp313-cp313-win32.whl", hash = "sha256:551d3fd6e9dc15e4c1eb6fc4ba2b39c0c7933fa113b220057a34f4bb3268a060", size = 2235603, upload-time = "2024-07-01T09:47:03.918Z" }, { url = "https://files.pythonhosted.org/packages/01/6a/30ff0eef6e0c0e71e55ded56a38d4859bf9d3634a94a88743897b5f96936/pillow-10.4.0-cp313-cp313-win_amd64.whl", hash = "sha256:030abdbe43ee02e0de642aee345efa443740aa4d828bfe8e2eb11922ea6a21ea", size = 2554972, upload-time = "2024-07-01T09:47:06.152Z" }, { url = "https://files.pythonhosted.org/packages/48/2c/2e0a52890f269435eee38b21c8218e102c621fe8d8df8b9dd06fabf879ba/pillow-10.4.0-cp313-cp313-win_arm64.whl", hash = "sha256:5b001114dd152cfd6b23befeb28d7aee43553e2402c9f159807bf55f33af8a8d", size = 2243375, upload-time = "2024-07-01T09:47:09.065Z" }, - { url = "https://files.pythonhosted.org/packages/56/70/f40009702a477ce87d8d9faaa4de51d6562b3445d7a314accd06e4ffb01d/pillow-10.4.0-cp38-cp38-macosx_10_10_x86_64.whl", hash = "sha256:8d4d5063501b6dd4024b8ac2f04962d661222d120381272deea52e3fc52d3736", size = 3509213, upload-time = "2024-07-01T09:47:11.662Z" }, - { url = "https://files.pythonhosted.org/packages/10/43/105823d233c5e5d31cea13428f4474ded9d961652307800979a59d6a4276/pillow-10.4.0-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:7c1ee6f42250df403c5f103cbd2768a28fe1a0ea1f0f03fe151c8741e1469c8b", size = 3375883, upload-time = "2024-07-01T09:47:14.453Z" }, - { url = "https://files.pythonhosted.org/packages/3c/ad/7850c10bac468a20c918f6a5dbba9ecd106ea1cdc5db3c35e33a60570408/pillow-10.4.0-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:b15e02e9bb4c21e39876698abf233c8c579127986f8207200bc8a8f6bb27acf2", size = 4330810, upload-time = "2024-07-01T09:47:16.695Z" }, - { url = "https://files.pythonhosted.org/packages/84/4c/69bbed9e436ac22f9ed193a2b64f64d68fcfbc9f4106249dc7ed4889907b/pillow-10.4.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:7a8d4bade9952ea9a77d0c3e49cbd8b2890a399422258a77f357b9cc9be8d680", size = 4444341, upload-time = "2024-07-01T09:47:19.334Z" }, - { url = "https://files.pythonhosted.org/packages/8f/4f/c183c63828a3f37bf09644ce94cbf72d4929b033b109160a5379c2885932/pillow-10.4.0-cp38-cp38-manylinux_2_28_aarch64.whl", hash = "sha256:43efea75eb06b95d1631cb784aa40156177bf9dd5b4b03ff38979e048258bc6b", size = 4356005, upload-time = "2024-07-01T09:47:21.805Z" }, - { url = "https://files.pythonhosted.org/packages/fb/ad/435fe29865f98a8fbdc64add8875a6e4f8c97749a93577a8919ec6f32c64/pillow-10.4.0-cp38-cp38-manylinux_2_28_x86_64.whl", hash = "sha256:950be4d8ba92aca4b2bb0741285a46bfae3ca699ef913ec8416c1b78eadd64cd", size = 4525201, upload-time = "2024-07-01T09:47:24.457Z" }, - { url = "https://files.pythonhosted.org/packages/80/74/be8bf8acdfd70e91f905a12ae13cfb2e17c0f1da745c40141e26d0971ff5/pillow-10.4.0-cp38-cp38-musllinux_1_2_aarch64.whl", hash = "sha256:d7480af14364494365e89d6fddc510a13e5a2c3584cb19ef65415ca57252fb84", size = 4460635, upload-time = "2024-07-01T09:47:26.841Z" }, - { url = "https://files.pythonhosted.org/packages/e4/90/763616e66dc9ad59c9b7fb58f863755e7934ef122e52349f62c7742b82d3/pillow-10.4.0-cp38-cp38-musllinux_1_2_x86_64.whl", hash = "sha256:73664fe514b34c8f02452ffb73b7a92c6774e39a647087f83d67f010eb9a0cf0", size = 4590283, upload-time = "2024-07-01T09:47:29.247Z" }, - { url = "https://files.pythonhosted.org/packages/69/66/03002cb5b2c27bb519cba63b9f9aa3709c6f7a5d3b285406c01f03fb77e5/pillow-10.4.0-cp38-cp38-win32.whl", hash = "sha256:e88d5e6ad0d026fba7bdab8c3f225a69f063f116462c49892b0149e21b6c0a0e", size = 2235185, upload-time = "2024-07-01T09:47:32.205Z" }, - { url = "https://files.pythonhosted.org/packages/f2/75/3cb820b2812405fc7feb3d0deb701ef0c3de93dc02597115e00704591bc9/pillow-10.4.0-cp38-cp38-win_amd64.whl", hash = "sha256:5161eef006d335e46895297f642341111945e2c1c899eb406882a6c61a4357ab", size = 2554594, upload-time = "2024-07-01T09:47:34.285Z" }, { url = "https://files.pythonhosted.org/packages/31/85/955fa5400fa8039921f630372cfe5056eed6e1b8e0430ee4507d7de48832/pillow-10.4.0-cp39-cp39-macosx_10_10_x86_64.whl", hash = "sha256:0ae24a547e8b711ccaaf99c9ae3cd975470e1a30caa80a6aaee9a2f19c05701d", size = 3509283, upload-time = "2024-07-01T09:47:36.394Z" }, { url = "https://files.pythonhosted.org/packages/23/9c/343827267eb28d41cd82b4180d33b10d868af9077abcec0af9793aa77d2d/pillow-10.4.0-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:298478fe4f77a4408895605f3482b6cc6222c018b2ce565c2b6b9c354ac3229b", size = 3375691, upload-time = "2024-07-01T09:47:38.853Z" }, { url = "https://files.pythonhosted.org/packages/60/a3/7ebbeabcd341eab722896d1a5b59a3df98c4b4d26cf4b0385f8aa94296f7/pillow-10.4.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:134ace6dc392116566980ee7436477d844520a26a4b1bd4053f6f47d096997fd", size = 4328295, upload-time = "2024-07-01T09:47:41.765Z" }, @@ -4193,121 +2664,28 @@ wheels = [ { url = "https://files.pythonhosted.org/packages/37/ae/2dbfc38cc4fd14aceea14bc440d5151b21f64c4c3ba3f6f4191610b7ee5d/pillow-10.4.0-pp39-pypy39_pp73-win_amd64.whl", hash = "sha256:cfdd747216947628af7b259d274771d84db2268ca062dd5faf373639d00113a3", size = 2554652, upload-time = "2024-07-01T09:48:38.789Z" }, ] -[[package]] -name = "pkgutil-resolve-name" -version = "1.3.10" -source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/70/f2/f2891a9dc37398696ddd945012b90ef8d0a034f0012e3f83c3f7a70b0f79/pkgutil_resolve_name-1.3.10.tar.gz", hash = "sha256:357d6c9e6a755653cfd78893817c0853af365dd51ec97f3d358a819373bbd174", size = 5054, upload-time = "2021-07-21T08:19:05.096Z" } -wheels = [ - { url = "https://files.pythonhosted.org/packages/c9/5c/3d4882ba113fd55bdba9326c1e4c62a15e674a2501de4869e6bd6301f87e/pkgutil_resolve_name-1.3.10-py3-none-any.whl", hash = "sha256:ca27cc078d25c5ad71a9de0a7a330146c4e014c2462d9af19c6b828280649c5e", size = 4734, upload-time = "2021-07-21T08:19:03.106Z" }, -] - -[[package]] -name = "platformdirs" -version = "4.3.6" -source = { registry = "https://pypi.org/simple" } -resolution-markers = [ - "python_full_version < '3.9' and platform_machine == 'arm64' and sys_platform == 'darwin'", - "python_full_version < '3.9' and platform_machine == 'aarch64' and sys_platform == 'linux'", - "(python_full_version < '3.9' and platform_machine != 'arm64' and sys_platform == 'darwin') or (python_full_version < '3.9' and platform_machine != 'aarch64' and sys_platform == 'linux') or (python_full_version < '3.9' and sys_platform != 'darwin' and sys_platform != 'linux')", -] -sdist = { url = "https://files.pythonhosted.org/packages/13/fc/128cc9cb8f03208bdbf93d3aa862e16d376844a14f9a0ce5cf4507372de4/platformdirs-4.3.6.tar.gz", hash = "sha256:357fb2acbc885b0419afd3ce3ed34564c13c9b95c89360cd9563f73aa5e2b907", size = 21302, upload-time = "2024-09-17T19:06:50.688Z" } -wheels = [ - { url = "https://files.pythonhosted.org/packages/3c/a6/bc1012356d8ece4d66dd75c4b9fc6c1f6650ddd5991e421177d9f8f671be/platformdirs-4.3.6-py3-none-any.whl", hash = "sha256:73e575e1408ab8103900836b97580d5307456908a03e92031bab39e4554cc3fb", size = 18439, upload-time = "2024-09-17T19:06:49.212Z" }, -] - [[package]] name = "platformdirs" version = "4.3.8" source = { registry = "https://pypi.org/simple" } -resolution-markers = [ - "python_full_version >= '3.12' and sys_platform == 'darwin'", - "python_full_version >= '3.12' and platform_machine == 'aarch64' and sys_platform == 'linux'", - "(python_full_version >= '3.12' and platform_machine != 'aarch64' and sys_platform == 'linux') or (python_full_version >= '3.12' and sys_platform != 'darwin' and sys_platform != 'linux')", - "python_full_version == '3.11.*' and sys_platform == 'darwin'", - "python_full_version == '3.11.*' and platform_machine == 'aarch64' and sys_platform == 'linux'", - "(python_full_version == '3.11.*' and platform_machine != 'aarch64' and sys_platform == 'linux') or (python_full_version == '3.11.*' and sys_platform != 'darwin' and sys_platform != 'linux')", - "python_full_version == '3.10.*' and sys_platform == 'darwin'", - "python_full_version == '3.10.*' and platform_machine == 'aarch64' and sys_platform == 'linux'", - "(python_full_version == '3.10.*' and platform_machine != 'aarch64' and sys_platform == 'linux') or (python_full_version == '3.10.*' and sys_platform != 'darwin' and sys_platform != 'linux')", - "python_full_version == '3.9.*' and platform_machine == 'arm64' and sys_platform == 'darwin'", - "python_full_version == '3.9.*' and platform_machine == 'aarch64' and sys_platform == 'linux'", - "(python_full_version == '3.9.*' and platform_machine != 'arm64' and sys_platform == 'darwin') or (python_full_version == '3.9.*' and platform_machine != 'aarch64' and sys_platform == 'linux') or (python_full_version == '3.9.*' and sys_platform != 'darwin' and sys_platform != 'linux')", -] sdist = { url = "https://files.pythonhosted.org/packages/fe/8b/3c73abc9c759ecd3f1f7ceff6685840859e8070c4d947c93fae71f6a0bf2/platformdirs-4.3.8.tar.gz", hash = "sha256:3d512d96e16bcb959a814c9f348431070822a6496326a4be0911c40b5a74c2bc", size = 21362, upload-time = "2025-05-07T22:47:42.121Z" } wheels = [ { url = "https://files.pythonhosted.org/packages/fe/39/979e8e21520d4e47a0bbe349e2713c0aac6f3d853d0e5b34d76206c439aa/platformdirs-4.3.8-py3-none-any.whl", hash = "sha256:ff7059bb7eb1179e2685604f4aaf157cfd9535242bd23742eadc3c13542139b4", size = 18567, upload-time = "2025-05-07T22:47:40.376Z" }, ] -[[package]] -name = "pluggy" -version = "1.5.0" -source = { registry = "https://pypi.org/simple" } -resolution-markers = [ - "python_full_version < '3.9' and platform_machine == 'arm64' and sys_platform == 'darwin'", - "python_full_version < '3.9' and platform_machine == 'aarch64' and sys_platform == 'linux'", - "(python_full_version < '3.9' and platform_machine != 'arm64' and sys_platform == 'darwin') or (python_full_version < '3.9' and platform_machine != 'aarch64' and sys_platform == 'linux') or (python_full_version < '3.9' and sys_platform != 'darwin' and sys_platform != 'linux')", -] -sdist = { url = "https://files.pythonhosted.org/packages/96/2d/02d4312c973c6050a18b314a5ad0b3210edb65a906f868e31c111dede4a6/pluggy-1.5.0.tar.gz", hash = "sha256:2cffa88e94fdc978c4c574f15f9e59b7f4201d439195c3715ca9e2486f1d0cf1", size = 67955, upload-time = "2024-04-20T21:34:42.531Z" } -wheels = [ - { url = "https://files.pythonhosted.org/packages/88/5f/e351af9a41f866ac3f1fac4ca0613908d9a41741cfcf2228f4ad853b697d/pluggy-1.5.0-py3-none-any.whl", hash = "sha256:44e1ad92c8ca002de6377e165f3e0f1be63266ab4d554740532335b9d75ea669", size = 20556, upload-time = "2024-04-20T21:34:40.434Z" }, -] - [[package]] name = "pluggy" version = "1.6.0" source = { registry = "https://pypi.org/simple" } -resolution-markers = [ - "python_full_version >= '3.12' and sys_platform == 'darwin'", - "python_full_version >= '3.12' and platform_machine == 'aarch64' and sys_platform == 'linux'", - "(python_full_version >= '3.12' and platform_machine != 'aarch64' and sys_platform == 'linux') or (python_full_version >= '3.12' and sys_platform != 'darwin' and sys_platform != 'linux')", - "python_full_version == '3.11.*' and sys_platform == 'darwin'", - "python_full_version == '3.11.*' and platform_machine == 'aarch64' and sys_platform == 'linux'", - "(python_full_version == '3.11.*' and platform_machine != 'aarch64' and sys_platform == 'linux') or (python_full_version == '3.11.*' and sys_platform != 'darwin' and sys_platform != 'linux')", - "python_full_version == '3.10.*' and sys_platform == 'darwin'", - "python_full_version == '3.10.*' and platform_machine == 'aarch64' and sys_platform == 'linux'", - "(python_full_version == '3.10.*' and platform_machine != 'aarch64' and sys_platform == 'linux') or (python_full_version == '3.10.*' and sys_platform != 'darwin' and sys_platform != 'linux')", - "python_full_version == '3.9.*' and platform_machine == 'arm64' and sys_platform == 'darwin'", - "python_full_version == '3.9.*' and platform_machine == 'aarch64' and sys_platform == 'linux'", - "(python_full_version == '3.9.*' and platform_machine != 'arm64' and sys_platform == 'darwin') or (python_full_version == '3.9.*' and platform_machine != 'aarch64' and sys_platform == 'linux') or (python_full_version == '3.9.*' and sys_platform != 'darwin' and sys_platform != 'linux')", -] sdist = { url = "https://files.pythonhosted.org/packages/f9/e2/3e91f31a7d2b083fe6ef3fa267035b518369d9511ffab804f839851d2779/pluggy-1.6.0.tar.gz", hash = "sha256:7dcc130b76258d33b90f61b658791dede3486c3e6bfb003ee5c9bfb396dd22f3", size = 69412, upload-time = "2025-05-15T12:30:07.975Z" } wheels = [ { url = "https://files.pythonhosted.org/packages/54/20/4d324d65cc6d9205fabedc306948156824eb9f0ee1633355a8f7ec5c66bf/pluggy-1.6.0-py3-none-any.whl", hash = "sha256:e920276dd6813095e9377c0bc5566d94c932c33b27a3e3945d8389c374dd4746", size = 20538, upload-time = "2025-05-15T12:30:06.134Z" }, ] -[[package]] -name = "prometheus-client" -version = "0.21.1" -source = { registry = "https://pypi.org/simple" } -resolution-markers = [ - "python_full_version < '3.9' and platform_machine == 'arm64' and sys_platform == 'darwin'", - "python_full_version < '3.9' and platform_machine == 'aarch64' and sys_platform == 'linux'", - "(python_full_version < '3.9' and platform_machine != 'arm64' and sys_platform == 'darwin') or (python_full_version < '3.9' and platform_machine != 'aarch64' and sys_platform == 'linux') or (python_full_version < '3.9' and sys_platform != 'darwin' and sys_platform != 'linux')", -] -sdist = { url = "https://files.pythonhosted.org/packages/62/14/7d0f567991f3a9af8d1cd4f619040c93b68f09a02b6d0b6ab1b2d1ded5fe/prometheus_client-0.21.1.tar.gz", hash = "sha256:252505a722ac04b0456be05c05f75f45d760c2911ffc45f2a06bcaed9f3ae3fb", size = 78551, upload-time = "2024-12-03T14:59:12.164Z" } -wheels = [ - { url = "https://files.pythonhosted.org/packages/ff/c2/ab7d37426c179ceb9aeb109a85cda8948bb269b7561a0be870cc656eefe4/prometheus_client-0.21.1-py3-none-any.whl", hash = "sha256:594b45c410d6f4f8888940fe80b5cc2521b305a1fafe1c58609ef715a001f301", size = 54682, upload-time = "2024-12-03T14:59:10.935Z" }, -] - [[package]] name = "prometheus-client" version = "0.22.1" source = { registry = "https://pypi.org/simple" } -resolution-markers = [ - "python_full_version >= '3.12' and sys_platform == 'darwin'", - "python_full_version >= '3.12' and platform_machine == 'aarch64' and sys_platform == 'linux'", - "(python_full_version >= '3.12' and platform_machine != 'aarch64' and sys_platform == 'linux') or (python_full_version >= '3.12' and sys_platform != 'darwin' and sys_platform != 'linux')", - "python_full_version == '3.11.*' and sys_platform == 'darwin'", - "python_full_version == '3.11.*' and platform_machine == 'aarch64' and sys_platform == 'linux'", - "(python_full_version == '3.11.*' and platform_machine != 'aarch64' and sys_platform == 'linux') or (python_full_version == '3.11.*' and sys_platform != 'darwin' and sys_platform != 'linux')", - "python_full_version == '3.10.*' and sys_platform == 'darwin'", - "python_full_version == '3.10.*' and platform_machine == 'aarch64' and sys_platform == 'linux'", - "(python_full_version == '3.10.*' and platform_machine != 'aarch64' and sys_platform == 'linux') or (python_full_version == '3.10.*' and sys_platform != 'darwin' and sys_platform != 'linux')", - "python_full_version == '3.9.*' and platform_machine == 'arm64' and sys_platform == 'darwin'", - "python_full_version == '3.9.*' and platform_machine == 'aarch64' and sys_platform == 'linux'", - "(python_full_version == '3.9.*' and platform_machine != 'arm64' and sys_platform == 'darwin') or (python_full_version == '3.9.*' and platform_machine != 'aarch64' and sys_platform == 'linux') or (python_full_version == '3.9.*' and sys_platform != 'darwin' and sys_platform != 'linux')", -] sdist = { url = "https://files.pythonhosted.org/packages/5e/cf/40dde0a2be27cc1eb41e333d1a674a74ce8b8b0457269cc640fd42b07cf7/prometheus_client-0.22.1.tar.gz", hash = "sha256:190f1331e783cf21eb60bca559354e0a4d4378facecf78f5428c39b675d20d28", size = 69746, upload-time = "2025-06-02T14:29:01.152Z" } wheels = [ { url = "https://files.pythonhosted.org/packages/32/ae/ec06af4fe3ee72d16973474f122541746196aaa16cea6f66d18b963c6177/prometheus_client-0.22.1-py3-none-any.whl", hash = "sha256:cca895342e308174341b2cbf99a56bef291fbc0ef7b9e5412a0f26d653ba7094", size = 58694, upload-time = "2025-06-02T14:29:00.068Z" }, @@ -4376,127 +2754,35 @@ wheels = [ { url = "https://files.pythonhosted.org/packages/c7/21/705964c7812476f378728bdf590ca4b771ec72385c533964653c68e86bdc/pygments-2.19.2-py3-none-any.whl", hash = "sha256:86540386c03d588bb81d44bc3928634ff26449851e99741617ecb9037ee5ec0b", size = 1225217, upload-time = "2025-06-21T13:39:07.939Z" }, ] -[[package]] -name = "pymdown-extensions" -version = "10.15" -source = { registry = "https://pypi.org/simple" } -resolution-markers = [ - "python_full_version < '3.9' and platform_machine == 'arm64' and sys_platform == 'darwin'", - "python_full_version < '3.9' and platform_machine == 'aarch64' and sys_platform == 'linux'", - "(python_full_version < '3.9' and platform_machine != 'arm64' and sys_platform == 'darwin') or (python_full_version < '3.9' and platform_machine != 'aarch64' and sys_platform == 'linux') or (python_full_version < '3.9' and sys_platform != 'darwin' and sys_platform != 'linux')", -] -dependencies = [ - { name = "markdown", version = "3.7", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.9'" }, - { name = "pyyaml", marker = "python_full_version < '3.9'" }, -] -sdist = { url = "https://files.pythonhosted.org/packages/08/92/a7296491dbf5585b3a987f3f3fc87af0e632121ff3e490c14b5f2d2b4eb5/pymdown_extensions-10.15.tar.gz", hash = "sha256:0e5994e32155f4b03504f939e501b981d306daf7ec2aa1cd2eb6bd300784f8f7", size = 852320, upload-time = "2025-04-27T23:48:29.183Z" } -wheels = [ - { url = "https://files.pythonhosted.org/packages/a7/d1/c54e608505776ce4e7966d03358ae635cfd51dff1da6ee421c090dbc797b/pymdown_extensions-10.15-py3-none-any.whl", hash = "sha256:46e99bb272612b0de3b7e7caf6da8dd5f4ca5212c0b273feb9304e236c484e5f", size = 265845, upload-time = "2025-04-27T23:48:27.359Z" }, -] - [[package]] name = "pymdown-extensions" version = "10.16" source = { registry = "https://pypi.org/simple" } -resolution-markers = [ - "python_full_version >= '3.12' and sys_platform == 'darwin'", - "python_full_version >= '3.12' and platform_machine == 'aarch64' and sys_platform == 'linux'", - "(python_full_version >= '3.12' and platform_machine != 'aarch64' and sys_platform == 'linux') or (python_full_version >= '3.12' and sys_platform != 'darwin' and sys_platform != 'linux')", - "python_full_version == '3.11.*' and sys_platform == 'darwin'", - "python_full_version == '3.11.*' and platform_machine == 'aarch64' and sys_platform == 'linux'", - "(python_full_version == '3.11.*' and platform_machine != 'aarch64' and sys_platform == 'linux') or (python_full_version == '3.11.*' and sys_platform != 'darwin' and sys_platform != 'linux')", - "python_full_version == '3.10.*' and sys_platform == 'darwin'", - "python_full_version == '3.10.*' and platform_machine == 'aarch64' and sys_platform == 'linux'", - "(python_full_version == '3.10.*' and platform_machine != 'aarch64' and sys_platform == 'linux') or (python_full_version == '3.10.*' and sys_platform != 'darwin' and sys_platform != 'linux')", - "python_full_version == '3.9.*' and platform_machine == 'arm64' and sys_platform == 'darwin'", - "python_full_version == '3.9.*' and platform_machine == 'aarch64' and sys_platform == 'linux'", - "(python_full_version == '3.9.*' and platform_machine != 'arm64' and sys_platform == 'darwin') or (python_full_version == '3.9.*' and platform_machine != 'aarch64' and sys_platform == 'linux') or (python_full_version == '3.9.*' and sys_platform != 'darwin' and sys_platform != 'linux')", -] dependencies = [ - { name = "markdown", version = "3.8.2", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.9'" }, - { name = "pyyaml", marker = "python_full_version >= '3.9'" }, + { name = "markdown" }, + { name = "pyyaml" }, ] sdist = { url = "https://files.pythonhosted.org/packages/1a/0a/c06b542ac108bfc73200677309cd9188a3a01b127a63f20cadc18d873d88/pymdown_extensions-10.16.tar.gz", hash = "sha256:71dac4fca63fabeffd3eb9038b756161a33ec6e8d230853d3cecf562155ab3de", size = 853197, upload-time = "2025-06-21T17:56:36.974Z" } wheels = [ { url = "https://files.pythonhosted.org/packages/98/d4/10bb14004d3c792811e05e21b5e5dcae805aacb739bd12a0540967b99592/pymdown_extensions-10.16-py3-none-any.whl", hash = "sha256:f5dd064a4db588cb2d95229fc4ee63a1b16cc8b4d0e6145c0899ed8723da1df2", size = 266143, upload-time = "2025-06-21T17:56:35.356Z" }, ] -[[package]] -name = "pyparsing" -version = "3.1.4" -source = { registry = "https://pypi.org/simple" } -resolution-markers = [ - "python_full_version < '3.9' and platform_machine == 'arm64' and sys_platform == 'darwin'", - "python_full_version < '3.9' and platform_machine == 'aarch64' and sys_platform == 'linux'", - "(python_full_version < '3.9' and platform_machine != 'arm64' and sys_platform == 'darwin') or (python_full_version < '3.9' and platform_machine != 'aarch64' and sys_platform == 'linux') or (python_full_version < '3.9' and sys_platform != 'darwin' and sys_platform != 'linux')", -] -sdist = { url = "https://files.pythonhosted.org/packages/83/08/13f3bce01b2061f2bbd582c9df82723de943784cf719a35ac886c652043a/pyparsing-3.1.4.tar.gz", hash = "sha256:f86ec8d1a83f11977c9a6ea7598e8c27fc5cddfa5b07ea2241edbbde1d7bc032", size = 900231, upload-time = "2024-08-25T15:00:47.416Z" } -wheels = [ - { url = "https://files.pythonhosted.org/packages/e5/0c/0e3c05b1c87bb6a1c76d281b0f35e78d2d80ac91b5f8f524cebf77f51049/pyparsing-3.1.4-py3-none-any.whl", hash = "sha256:a6a7ee4235a3f944aa1fa2249307708f893fe5717dc603503c6c7969c070fb7c", size = 104100, upload-time = "2024-08-25T15:00:45.361Z" }, -] - [[package]] name = "pyparsing" version = "3.2.3" source = { registry = "https://pypi.org/simple" } -resolution-markers = [ - "python_full_version >= '3.12' and sys_platform == 'darwin'", - "python_full_version >= '3.12' and platform_machine == 'aarch64' and sys_platform == 'linux'", - "(python_full_version >= '3.12' and platform_machine != 'aarch64' and sys_platform == 'linux') or (python_full_version >= '3.12' and sys_platform != 'darwin' and sys_platform != 'linux')", - "python_full_version == '3.11.*' and sys_platform == 'darwin'", - "python_full_version == '3.11.*' and platform_machine == 'aarch64' and sys_platform == 'linux'", - "(python_full_version == '3.11.*' and platform_machine != 'aarch64' and sys_platform == 'linux') or (python_full_version == '3.11.*' and sys_platform != 'darwin' and sys_platform != 'linux')", - "python_full_version == '3.10.*' and sys_platform == 'darwin'", - "python_full_version == '3.10.*' and platform_machine == 'aarch64' and sys_platform == 'linux'", - "(python_full_version == '3.10.*' and platform_machine != 'aarch64' and sys_platform == 'linux') or (python_full_version == '3.10.*' and sys_platform != 'darwin' and sys_platform != 'linux')", - "python_full_version == '3.9.*' and platform_machine == 'arm64' and sys_platform == 'darwin'", - "python_full_version == '3.9.*' and platform_machine == 'aarch64' and sys_platform == 'linux'", - "(python_full_version == '3.9.*' and platform_machine != 'arm64' and sys_platform == 'darwin') or (python_full_version == '3.9.*' and platform_machine != 'aarch64' and sys_platform == 'linux') or (python_full_version == '3.9.*' and sys_platform != 'darwin' and sys_platform != 'linux')", -] sdist = { url = "https://files.pythonhosted.org/packages/bb/22/f1129e69d94ffff626bdb5c835506b3a5b4f3d070f17ea295e12c2c6f60f/pyparsing-3.2.3.tar.gz", hash = "sha256:b9c13f1ab8b3b542f72e28f634bad4de758ab3ce4546e4301970ad6fa77c38be", size = 1088608, upload-time = "2025-03-25T05:01:28.114Z" } wheels = [ { url = "https://files.pythonhosted.org/packages/05/e7/df2285f3d08fee213f2d041540fa4fc9ca6c2d44cf36d3a035bf2a8d2bcc/pyparsing-3.2.3-py3-none-any.whl", hash = "sha256:a749938e02d6fd0b59b356ca504a24982314bb090c383e3cf201c95ef7e2bfcf", size = 111120, upload-time = "2025-03-25T05:01:24.908Z" }, ] -[[package]] -name = "pyproject-api" -version = "1.8.0" -source = { registry = "https://pypi.org/simple" } -resolution-markers = [ - "python_full_version < '3.9' and platform_machine == 'arm64' and sys_platform == 'darwin'", - "python_full_version < '3.9' and platform_machine == 'aarch64' and sys_platform == 'linux'", - "(python_full_version < '3.9' and platform_machine != 'arm64' and sys_platform == 'darwin') or (python_full_version < '3.9' and platform_machine != 'aarch64' and sys_platform == 'linux') or (python_full_version < '3.9' and sys_platform != 'darwin' and sys_platform != 'linux')", -] -dependencies = [ - { name = "packaging", marker = "python_full_version < '3.9'" }, - { name = "tomli", marker = "python_full_version < '3.9'" }, -] -sdist = { url = "https://files.pythonhosted.org/packages/bb/19/441e0624a8afedd15bbcce96df1b80479dd0ff0d965f5ce8fde4f2f6ffad/pyproject_api-1.8.0.tar.gz", hash = "sha256:77b8049f2feb5d33eefcc21b57f1e279636277a8ac8ad6b5871037b243778496", size = 22340, upload-time = "2024-09-18T23:18:37.805Z" } -wheels = [ - { url = "https://files.pythonhosted.org/packages/ba/f4/3c4ddfcc0c19c217c6de513842d286de8021af2f2ab79bbb86c00342d778/pyproject_api-1.8.0-py3-none-any.whl", hash = "sha256:3d7d347a047afe796fd5d1885b1e391ba29be7169bd2f102fcd378f04273d228", size = 13100, upload-time = "2024-09-18T23:18:35.927Z" }, -] - [[package]] name = "pyproject-api" version = "1.9.1" source = { registry = "https://pypi.org/simple" } -resolution-markers = [ - "python_full_version >= '3.12' and sys_platform == 'darwin'", - "python_full_version >= '3.12' and platform_machine == 'aarch64' and sys_platform == 'linux'", - "(python_full_version >= '3.12' and platform_machine != 'aarch64' and sys_platform == 'linux') or (python_full_version >= '3.12' and sys_platform != 'darwin' and sys_platform != 'linux')", - "python_full_version == '3.11.*' and sys_platform == 'darwin'", - "python_full_version == '3.11.*' and platform_machine == 'aarch64' and sys_platform == 'linux'", - "(python_full_version == '3.11.*' and platform_machine != 'aarch64' and sys_platform == 'linux') or (python_full_version == '3.11.*' and sys_platform != 'darwin' and sys_platform != 'linux')", - "python_full_version == '3.10.*' and sys_platform == 'darwin'", - "python_full_version == '3.10.*' and platform_machine == 'aarch64' and sys_platform == 'linux'", - "(python_full_version == '3.10.*' and platform_machine != 'aarch64' and sys_platform == 'linux') or (python_full_version == '3.10.*' and sys_platform != 'darwin' and sys_platform != 'linux')", - "python_full_version == '3.9.*' and platform_machine == 'arm64' and sys_platform == 'darwin'", - "python_full_version == '3.9.*' and platform_machine == 'aarch64' and sys_platform == 'linux'", - "(python_full_version == '3.9.*' and platform_machine != 'arm64' and sys_platform == 'darwin') or (python_full_version == '3.9.*' and platform_machine != 'aarch64' and sys_platform == 'linux') or (python_full_version == '3.9.*' and sys_platform != 'darwin' and sys_platform != 'linux')", -] dependencies = [ - { name = "packaging", marker = "python_full_version >= '3.9'" }, - { name = "tomli", marker = "python_full_version >= '3.9' and python_full_version < '3.11'" }, + { name = "packaging" }, + { name = "tomli", marker = "python_full_version < '3.11'" }, ] sdist = { url = "https://files.pythonhosted.org/packages/19/fd/437901c891f58a7b9096511750247535e891d2d5a5a6eefbc9386a2b41d5/pyproject_api-1.9.1.tar.gz", hash = "sha256:43c9918f49daab37e302038fc1aed54a8c7a91a9fa935d00b9a485f37e0f5335", size = 22710, upload-time = "2025-05-12T14:41:58.025Z" } wheels = [ @@ -4512,54 +2798,18 @@ wheels = [ { url = "https://files.pythonhosted.org/packages/bd/24/12818598c362d7f300f18e74db45963dbcb85150324092410c8b49405e42/pyproject_hooks-1.2.0-py3-none-any.whl", hash = "sha256:9e5c6bfa8dcc30091c74b0cf803c81fdd29d94f01992a7707bc97babb1141913", size = 10216, upload-time = "2024-09-29T09:24:11.978Z" }, ] -[[package]] -name = "pytest" -version = "8.3.5" -source = { registry = "https://pypi.org/simple" } -resolution-markers = [ - "python_full_version < '3.9' and platform_machine == 'arm64' and sys_platform == 'darwin'", - "python_full_version < '3.9' and platform_machine == 'aarch64' and sys_platform == 'linux'", - "(python_full_version < '3.9' and platform_machine != 'arm64' and sys_platform == 'darwin') or (python_full_version < '3.9' and platform_machine != 'aarch64' and sys_platform == 'linux') or (python_full_version < '3.9' and sys_platform != 'darwin' and sys_platform != 'linux')", -] -dependencies = [ - { name = "colorama", marker = "python_full_version < '3.9' and sys_platform == 'win32'" }, - { name = "exceptiongroup", marker = "python_full_version < '3.9'" }, - { name = "iniconfig", marker = "python_full_version < '3.9'" }, - { name = "packaging", marker = "python_full_version < '3.9'" }, - { name = "pluggy", version = "1.5.0", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.9'" }, - { name = "tomli", marker = "python_full_version < '3.9'" }, -] -sdist = { url = "https://files.pythonhosted.org/packages/ae/3c/c9d525a414d506893f0cd8a8d0de7706446213181570cdbd766691164e40/pytest-8.3.5.tar.gz", hash = "sha256:f4efe70cc14e511565ac476b57c279e12a855b11f48f212af1080ef2263d3845", size = 1450891, upload-time = "2025-03-02T12:54:54.503Z" } -wheels = [ - { url = "https://files.pythonhosted.org/packages/30/3d/64ad57c803f1fa1e963a7946b6e0fea4a70df53c1a7fed304586539c2bac/pytest-8.3.5-py3-none-any.whl", hash = "sha256:c69214aa47deac29fad6c2a4f590b9c4a9fdb16a403176fe154b79c0b4d4d820", size = 343634, upload-time = "2025-03-02T12:54:52.069Z" }, -] - [[package]] name = "pytest" version = "8.4.1" source = { registry = "https://pypi.org/simple" } -resolution-markers = [ - "python_full_version >= '3.12' and sys_platform == 'darwin'", - "python_full_version >= '3.12' and platform_machine == 'aarch64' and sys_platform == 'linux'", - "(python_full_version >= '3.12' and platform_machine != 'aarch64' and sys_platform == 'linux') or (python_full_version >= '3.12' and sys_platform != 'darwin' and sys_platform != 'linux')", - "python_full_version == '3.11.*' and sys_platform == 'darwin'", - "python_full_version == '3.11.*' and platform_machine == 'aarch64' and sys_platform == 'linux'", - "(python_full_version == '3.11.*' and platform_machine != 'aarch64' and sys_platform == 'linux') or (python_full_version == '3.11.*' and sys_platform != 'darwin' and sys_platform != 'linux')", - "python_full_version == '3.10.*' and sys_platform == 'darwin'", - "python_full_version == '3.10.*' and platform_machine == 'aarch64' and sys_platform == 'linux'", - "(python_full_version == '3.10.*' and platform_machine != 'aarch64' and sys_platform == 'linux') or (python_full_version == '3.10.*' and sys_platform != 'darwin' and sys_platform != 'linux')", - "python_full_version == '3.9.*' and platform_machine == 'arm64' and sys_platform == 'darwin'", - "python_full_version == '3.9.*' and platform_machine == 'aarch64' and sys_platform == 'linux'", - "(python_full_version == '3.9.*' and platform_machine != 'arm64' and sys_platform == 'darwin') or (python_full_version == '3.9.*' and platform_machine != 'aarch64' and sys_platform == 'linux') or (python_full_version == '3.9.*' and sys_platform != 'darwin' and sys_platform != 'linux')", -] dependencies = [ - { name = "colorama", marker = "python_full_version >= '3.9' and sys_platform == 'win32'" }, - { name = "exceptiongroup", marker = "python_full_version >= '3.9' and python_full_version < '3.11'" }, - { name = "iniconfig", marker = "python_full_version >= '3.9'" }, - { name = "packaging", marker = "python_full_version >= '3.9'" }, - { name = "pluggy", version = "1.6.0", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.9'" }, - { name = "pygments", marker = "python_full_version >= '3.9'" }, - { name = "tomli", marker = "python_full_version >= '3.9' and python_full_version < '3.11'" }, + { name = "colorama", marker = "sys_platform == 'win32'" }, + { name = "exceptiongroup", marker = "python_full_version < '3.11'" }, + { name = "iniconfig" }, + { name = "packaging" }, + { name = "pluggy" }, + { name = "pygments" }, + { name = "tomli", marker = "python_full_version < '3.11'" }, ] sdist = { url = "https://files.pythonhosted.org/packages/08/ba/45911d754e8eba3d5a841a5ce61a65a685ff1798421ac054f85aa8747dfb/pytest-8.4.1.tar.gz", hash = "sha256:7c67fd69174877359ed9371ec3af8a3d2b04741818c51e5e99cc1742251fa93c", size = 1517714, upload-time = "2025-06-18T05:48:06.109Z" } wheels = [ @@ -4583,8 +2833,7 @@ name = "python-json-logger" version = "3.3.0" source = { registry = "https://pypi.org/simple" } dependencies = [ - { name = "typing-extensions", version = "4.13.2", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.9'" }, - { name = "typing-extensions", version = "4.14.1", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version == '3.9.*'" }, + { name = "typing-extensions", marker = "python_full_version < '3.10'" }, ] sdist = { url = "https://files.pythonhosted.org/packages/9e/de/d3144a0bceede957f961e975f3752760fbe390d57fbe194baf709d8f1f7b/python_json_logger-3.3.0.tar.gz", hash = "sha256:12b7e74b17775e7d565129296105bbe3910842d9d0eb083fc83a6a617aa8df84", size = 16642, upload-time = "2025-03-07T07:08:27.301Z" } wheels = [ @@ -4617,8 +2866,6 @@ wheels = [ { url = "https://files.pythonhosted.org/packages/1c/09/9c1b978ffc4ae53999e89c19c77ba882d9fce476729f23ef55211ea1c034/pywin32-310-cp313-cp313-win32.whl", hash = "sha256:5d241a659c496ada3253cd01cfaa779b048e90ce4b2b38cd44168ad555ce74ab", size = 8794384, upload-time = "2025-03-17T00:56:04.383Z" }, { url = "https://files.pythonhosted.org/packages/45/3c/b4640f740ffebadd5d34df35fecba0e1cfef8fde9f3e594df91c28ad9b50/pywin32-310-cp313-cp313-win_amd64.whl", hash = "sha256:667827eb3a90208ddbdcc9e860c81bde63a135710e21e4cb3348968e4bd5249e", size = 9503039, upload-time = "2025-03-17T00:56:06.207Z" }, { url = "https://files.pythonhosted.org/packages/b4/f4/f785020090fb050e7fb6d34b780f2231f302609dc964672f72bfaeb59a28/pywin32-310-cp313-cp313-win_arm64.whl", hash = "sha256:e308f831de771482b7cf692a1f308f8fca701b2d8f9dde6cc440c7da17e47b33", size = 8458152, upload-time = "2025-03-17T00:56:07.819Z" }, - { url = "https://files.pythonhosted.org/packages/46/65/9c5b79424e344b976394f2b1bb4bedfa4cd013143b72b301a66e4b8943fe/pywin32-310-cp38-cp38-win32.whl", hash = "sha256:0867beb8addefa2e3979d4084352e4ac6e991ca45373390775f7084cc0209b9c", size = 8853889, upload-time = "2025-03-17T00:55:38.177Z" }, - { url = "https://files.pythonhosted.org/packages/0c/3b/05f848971b3a44b35cd48ea0c6c648745be8bc5a3fc9f4df6f135c7f1e07/pywin32-310-cp38-cp38-win_amd64.whl", hash = "sha256:30f0a9b3138fb5e07eb4973b7077e1883f558e40c578c6925acc7a94c34eaa36", size = 9609017, upload-time = "2025-03-17T00:55:40.483Z" }, { url = "https://files.pythonhosted.org/packages/a2/cd/d09d434630edb6a0c44ad5079611279a67530296cfe0451e003de7f449ff/pywin32-310-cp39-cp39-win32.whl", hash = "sha256:851c8d927af0d879221e616ae1f66145253537bbdd321a77e8ef701b443a9a1a", size = 8848099, upload-time = "2025-03-17T00:55:42.415Z" }, { url = "https://files.pythonhosted.org/packages/93/ff/2a8c10315ffbdee7b3883ac0d1667e267ca8b3f6f640d81d43b87a82c0c7/pywin32-310-cp39-cp39-win_amd64.whl", hash = "sha256:96867217335559ac619f00ad70e513c0fcf84b8a3af9fc2bba3b59b97da70475", size = 9602031, upload-time = "2025-03-17T00:55:44.512Z" }, ] @@ -4632,32 +2879,10 @@ wheels = [ { url = "https://files.pythonhosted.org/packages/de/3d/8161f7711c017e01ac9f008dfddd9410dff3674334c233bde66e7ba65bbf/pywin32_ctypes-0.2.3-py3-none-any.whl", hash = "sha256:8a1513379d709975552d202d942d9837758905c8d01eb82b8bcc30918929e7b8", size = 30756, upload-time = "2024-08-14T10:15:33.187Z" }, ] -[[package]] -name = "pywinpty" -version = "2.0.14" -source = { registry = "https://pypi.org/simple" } -resolution-markers = [ - "(python_full_version < '3.9' and platform_machine != 'arm64' and sys_platform == 'darwin') or (python_full_version < '3.9' and platform_machine != 'aarch64' and sys_platform == 'linux') or (python_full_version < '3.9' and sys_platform != 'darwin' and sys_platform != 'linux')", -] -sdist = { url = "https://files.pythonhosted.org/packages/f1/82/90f8750423cba4b9b6c842df227609fb60704482d7abf6dd47e2babc055a/pywinpty-2.0.14.tar.gz", hash = "sha256:18bd9529e4a5daf2d9719aa17788ba6013e594ae94c5a0c27e83df3278b0660e", size = 27769, upload-time = "2024-10-17T16:01:43.197Z" } -wheels = [ - { url = "https://files.pythonhosted.org/packages/07/09/56376af256eab8cc5f8982a3b138d387136eca27fa1a8a68660e8ed59e4b/pywinpty-2.0.14-cp310-none-win_amd64.whl", hash = "sha256:0b149c2918c7974f575ba79f5a4aad58bd859a52fa9eb1296cc22aa412aa411f", size = 1397115, upload-time = "2024-10-17T16:04:46.736Z" }, - { url = "https://files.pythonhosted.org/packages/be/e2/af1a99c0432e4e58c9ac8e334ee191790ec9793d33559189b9d2069bdc1d/pywinpty-2.0.14-cp311-none-win_amd64.whl", hash = "sha256:cf2a43ac7065b3e0dc8510f8c1f13a75fb8fde805efa3b8cff7599a1ef497bc7", size = 1397223, upload-time = "2024-10-17T16:04:33.08Z" }, - { url = "https://files.pythonhosted.org/packages/ad/79/759ae767a3b78d340446efd54dd1fe4f7dafa4fc7be96ed757e44bcdba54/pywinpty-2.0.14-cp312-none-win_amd64.whl", hash = "sha256:55dad362ef3e9408ade68fd173e4f9032b3ce08f68cfe7eacb2c263ea1179737", size = 1397207, upload-time = "2024-10-17T16:04:14.633Z" }, - { url = "https://files.pythonhosted.org/packages/7d/34/b77b3c209bf2eaa6455390c8d5449241637f5957f41636a2204065d52bfa/pywinpty-2.0.14-cp313-none-win_amd64.whl", hash = "sha256:074fb988a56ec79ca90ed03a896d40707131897cefb8f76f926e3834227f2819", size = 1396698, upload-time = "2024-10-17T16:04:15.172Z" }, - { url = "https://files.pythonhosted.org/packages/d8/ef/85e1b0ef7864fa2c579b1c1efce92c5f6fa238c8e73cf9f53deee08f8605/pywinpty-2.0.14-cp39-none-win_amd64.whl", hash = "sha256:5725fd56f73c0531ec218663bd8c8ff5acc43c78962fab28564871b5fce053fd", size = 1397396, upload-time = "2024-10-17T16:05:30.319Z" }, -] - [[package]] name = "pywinpty" version = "2.0.15" source = { registry = "https://pypi.org/simple" } -resolution-markers = [ - "(python_full_version >= '3.12' and platform_machine != 'aarch64' and sys_platform == 'linux') or (python_full_version >= '3.12' and sys_platform != 'darwin' and sys_platform != 'linux')", - "(python_full_version == '3.11.*' and platform_machine != 'aarch64' and sys_platform == 'linux') or (python_full_version == '3.11.*' and sys_platform != 'darwin' and sys_platform != 'linux')", - "(python_full_version == '3.10.*' and platform_machine != 'aarch64' and sys_platform == 'linux') or (python_full_version == '3.10.*' and sys_platform != 'darwin' and sys_platform != 'linux')", - "(python_full_version == '3.9.*' and platform_machine != 'arm64' and sys_platform == 'darwin') or (python_full_version == '3.9.*' and platform_machine != 'aarch64' and sys_platform == 'linux') or (python_full_version == '3.9.*' and sys_platform != 'darwin' and sys_platform != 'linux')", -] sdist = { url = "https://files.pythonhosted.org/packages/2d/7c/917f9c4681bb8d34bfbe0b79d36bbcd902651aeab48790df3d30ba0202fb/pywinpty-2.0.15.tar.gz", hash = "sha256:312cf39153a8736c617d45ce8b6ad6cd2107de121df91c455b10ce6bba7a39b2", size = 29017, upload-time = "2025-02-03T21:53:23.265Z" } wheels = [ { url = "https://files.pythonhosted.org/packages/a6/b7/855db919ae526d2628f3f2e6c281c4cdff7a9a8af51bb84659a9f07b1861/pywinpty-2.0.15-cp310-cp310-win_amd64.whl", hash = "sha256:8e7f5de756a615a38b96cd86fa3cd65f901ce54ce147a3179c45907fa11b4c4e", size = 1405161, upload-time = "2025-02-03T21:56:25.008Z" }, @@ -4710,13 +2935,6 @@ wheels = [ { url = "https://files.pythonhosted.org/packages/fe/0f/25911a9f080464c59fab9027482f822b86bf0608957a5fcc6eaac85aa515/PyYAML-6.0.2-cp313-cp313-musllinux_1_1_x86_64.whl", hash = "sha256:68ccc6023a3400877818152ad9a1033e3db8625d899c72eacb5a668902e4d652", size = 751597, upload-time = "2024-08-06T20:32:56.985Z" }, { url = "https://files.pythonhosted.org/packages/14/0d/e2c3b43bbce3cf6bd97c840b46088a3031085179e596d4929729d8d68270/PyYAML-6.0.2-cp313-cp313-win32.whl", hash = "sha256:bc2fa7c6b47d6bc618dd7fb02ef6fdedb1090ec036abab80d4681424b84c1183", size = 140527, upload-time = "2024-08-06T20:33:03.001Z" }, { url = "https://files.pythonhosted.org/packages/fa/de/02b54f42487e3d3c6efb3f89428677074ca7bf43aae402517bc7cca949f3/PyYAML-6.0.2-cp313-cp313-win_amd64.whl", hash = "sha256:8388ee1976c416731879ac16da0aff3f63b286ffdd57cdeb95f3f2e085687563", size = 156446, upload-time = "2024-08-06T20:33:04.33Z" }, - { url = "https://files.pythonhosted.org/packages/74/d9/323a59d506f12f498c2097488d80d16f4cf965cee1791eab58b56b19f47a/PyYAML-6.0.2-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:24471b829b3bf607e04e88d79542a9d48bb037c2267d7927a874e6c205ca7e9a", size = 183218, upload-time = "2024-08-06T20:33:06.411Z" }, - { url = "https://files.pythonhosted.org/packages/74/cc/20c34d00f04d785f2028737e2e2a8254e1425102e730fee1d6396f832577/PyYAML-6.0.2-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d7fded462629cfa4b685c5416b949ebad6cec74af5e2d42905d41e257e0869f5", size = 728067, upload-time = "2024-08-06T20:33:07.879Z" }, - { url = "https://files.pythonhosted.org/packages/20/52/551c69ca1501d21c0de51ddafa8c23a0191ef296ff098e98358f69080577/PyYAML-6.0.2-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:d84a1718ee396f54f3a086ea0a66d8e552b2ab2017ef8b420e92edbc841c352d", size = 757812, upload-time = "2024-08-06T20:33:12.542Z" }, - { url = "https://files.pythonhosted.org/packages/fd/7f/2c3697bba5d4aa5cc2afe81826d73dfae5f049458e44732c7a0938baa673/PyYAML-6.0.2-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:9056c1ecd25795207ad294bcf39f2db3d845767be0ea6e6a34d856f006006083", size = 746531, upload-time = "2024-08-06T20:33:14.391Z" }, - { url = "https://files.pythonhosted.org/packages/8c/ab/6226d3df99900e580091bb44258fde77a8433511a86883bd4681ea19a858/PyYAML-6.0.2-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:82d09873e40955485746739bcb8b4586983670466c23382c19cffecbf1fd8706", size = 800820, upload-time = "2024-08-06T20:33:16.586Z" }, - { url = "https://files.pythonhosted.org/packages/a0/99/a9eb0f3e710c06c5d922026f6736e920d431812ace24aae38228d0d64b04/PyYAML-6.0.2-cp38-cp38-win32.whl", hash = "sha256:43fa96a3ca0d6b1812e01ced1044a003533c47f6ee8aca31724f78e93ccc089a", size = 145514, upload-time = "2024-08-06T20:33:22.414Z" }, - { url = "https://files.pythonhosted.org/packages/75/8a/ee831ad5fafa4431099aa4e078d4c8efd43cd5e48fbc774641d233b683a9/PyYAML-6.0.2-cp38-cp38-win_amd64.whl", hash = "sha256:01179a4a8559ab5de078078f37e5c1a30d76bb88519906844fd7bdea1b7729ff", size = 162702, upload-time = "2024-08-06T20:33:23.813Z" }, { url = "https://files.pythonhosted.org/packages/65/d8/b7a1db13636d7fb7d4ff431593c510c8b8fca920ade06ca8ef20015493c5/PyYAML-6.0.2-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:688ba32a1cffef67fd2e9398a2efebaea461578b0923624778664cc1c914db5d", size = 184777, upload-time = "2024-08-06T20:33:25.896Z" }, { url = "https://files.pythonhosted.org/packages/0a/02/6ec546cd45143fdf9840b2c6be8d875116a64076218b61d68e12548e5839/PyYAML-6.0.2-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:a8786accb172bd8afb8be14490a16625cbc387036876ab6ba70912730faf8e1f", size = 172318, upload-time = "2024-08-06T20:33:27.212Z" }, { url = "https://files.pythonhosted.org/packages/0e/9a/8cc68be846c972bda34f6c2a93abb644fb2476f4dcc924d52175786932c9/PyYAML-6.0.2-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d8e03406cac8513435335dbab54c0d385e4a49e4945d2909a581c83647ca0290", size = 720891, upload-time = "2024-08-06T20:33:28.974Z" }, @@ -4728,43 +2946,12 @@ wheels = [ { url = "https://files.pythonhosted.org/packages/19/87/5124b1c1f2412bb95c59ec481eaf936cd32f0fe2a7b16b97b81c4c017a6a/PyYAML-6.0.2-cp39-cp39-win_amd64.whl", hash = "sha256:39693e1f8320ae4f43943590b49779ffb98acb81f788220ea932a6b6c51004d8", size = 162312, upload-time = "2024-08-06T20:33:49.073Z" }, ] -[[package]] -name = "pyyaml-env-tag" -version = "0.1" -source = { registry = "https://pypi.org/simple" } -resolution-markers = [ - "python_full_version < '3.9' and platform_machine == 'arm64' and sys_platform == 'darwin'", - "python_full_version < '3.9' and platform_machine == 'aarch64' and sys_platform == 'linux'", - "(python_full_version < '3.9' and platform_machine != 'arm64' and sys_platform == 'darwin') or (python_full_version < '3.9' and platform_machine != 'aarch64' and sys_platform == 'linux') or (python_full_version < '3.9' and sys_platform != 'darwin' and sys_platform != 'linux')", -] -dependencies = [ - { name = "pyyaml", marker = "python_full_version < '3.9'" }, -] -sdist = { url = "https://files.pythonhosted.org/packages/fb/8e/da1c6c58f751b70f8ceb1eb25bc25d524e8f14fe16edcce3f4e3ba08629c/pyyaml_env_tag-0.1.tar.gz", hash = "sha256:70092675bda14fdec33b31ba77e7543de9ddc88f2e5b99160396572d11525bdb", size = 5631, upload-time = "2020-11-12T02:38:26.239Z" } -wheels = [ - { url = "https://files.pythonhosted.org/packages/5a/66/bbb1dd374f5c870f59c5bb1db0e18cbe7fa739415a24cbd95b2d1f5ae0c4/pyyaml_env_tag-0.1-py3-none-any.whl", hash = "sha256:af31106dec8a4d68c60207c1886031cbf839b68aa7abccdb19868200532c2069", size = 3911, upload-time = "2020-11-12T02:38:24.638Z" }, -] - [[package]] name = "pyyaml-env-tag" version = "1.1" source = { registry = "https://pypi.org/simple" } -resolution-markers = [ - "python_full_version >= '3.12' and sys_platform == 'darwin'", - "python_full_version >= '3.12' and platform_machine == 'aarch64' and sys_platform == 'linux'", - "(python_full_version >= '3.12' and platform_machine != 'aarch64' and sys_platform == 'linux') or (python_full_version >= '3.12' and sys_platform != 'darwin' and sys_platform != 'linux')", - "python_full_version == '3.11.*' and sys_platform == 'darwin'", - "python_full_version == '3.11.*' and platform_machine == 'aarch64' and sys_platform == 'linux'", - "(python_full_version == '3.11.*' and platform_machine != 'aarch64' and sys_platform == 'linux') or (python_full_version == '3.11.*' and sys_platform != 'darwin' and sys_platform != 'linux')", - "python_full_version == '3.10.*' and sys_platform == 'darwin'", - "python_full_version == '3.10.*' and platform_machine == 'aarch64' and sys_platform == 'linux'", - "(python_full_version == '3.10.*' and platform_machine != 'aarch64' and sys_platform == 'linux') or (python_full_version == '3.10.*' and sys_platform != 'darwin' and sys_platform != 'linux')", - "python_full_version == '3.9.*' and platform_machine == 'arm64' and sys_platform == 'darwin'", - "python_full_version == '3.9.*' and platform_machine == 'aarch64' and sys_platform == 'linux'", - "(python_full_version == '3.9.*' and platform_machine != 'arm64' and sys_platform == 'darwin') or (python_full_version == '3.9.*' and platform_machine != 'aarch64' and sys_platform == 'linux') or (python_full_version == '3.9.*' and sys_platform != 'darwin' and sys_platform != 'linux')", -] dependencies = [ - { name = "pyyaml", marker = "python_full_version >= '3.9'" }, + { name = "pyyaml" }, ] sdist = { url = "https://files.pythonhosted.org/packages/eb/2e/79c822141bfd05a853236b504869ebc6b70159afc570e1d5a20641782eaa/pyyaml_env_tag-1.1.tar.gz", hash = "sha256:2eb38b75a2d21ee0475d6d97ec19c63287a7e140231e4214969d0eac923cd7ff", size = 5737, upload-time = "2025-05-13T15:24:01.64Z" } wheels = [ @@ -4819,15 +3006,6 @@ wheels = [ { url = "https://files.pythonhosted.org/packages/64/39/dc2db178c26a42228c5ac94a9cc595030458aa64c8d796a7727947afbf55/pyzmq-27.0.0-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:20d5cb29e8c5f76a127c75b6e7a77e846bc4b655c373baa098c26a61b7ecd0ef", size = 1885199, upload-time = "2025-06-13T14:07:57.166Z" }, { url = "https://files.pythonhosted.org/packages/c7/21/dae7b06a1f8cdee5d8e7a63d99c5d129c401acc40410bef2cbf42025e26f/pyzmq-27.0.0-cp313-cp313t-win32.whl", hash = "sha256:a20528da85c7ac7a19b7384e8c3f8fa707841fd85afc4ed56eda59d93e3d98ad", size = 575439, upload-time = "2025-06-13T14:07:58.959Z" }, { url = "https://files.pythonhosted.org/packages/eb/bc/1709dc55f0970cf4cb8259e435e6773f9946f41a045c2cb90e870b7072da/pyzmq-27.0.0-cp313-cp313t-win_amd64.whl", hash = "sha256:d8229f2efece6a660ee211d74d91dbc2a76b95544d46c74c615e491900dc107f", size = 639933, upload-time = "2025-06-13T14:08:00.777Z" }, - { url = "https://files.pythonhosted.org/packages/f2/b3/22246a851440818b0d3e090374dcfa946df05d1a6aa04753c1766c658731/pyzmq-27.0.0-cp38-cp38-macosx_10_15_universal2.whl", hash = "sha256:f4162dbbd9c5c84fb930a36f290b08c93e35fce020d768a16fc8891a2f72bab8", size = 1331592, upload-time = "2025-06-13T14:08:02.158Z" }, - { url = "https://files.pythonhosted.org/packages/2e/3d/2117f17ab0df09746ae9c4206a7d6462a8c2c12e60ec17a9eb5b89163784/pyzmq-27.0.0-cp38-cp38-manylinux2014_i686.manylinux_2_17_i686.whl", hash = "sha256:4e7d0a8d460fba526cc047333bdcbf172a159b8bd6be8c3eb63a416ff9ba1477", size = 906951, upload-time = "2025-06-13T14:08:04.064Z" }, - { url = "https://files.pythonhosted.org/packages/71/42/710a69e2080429379116e51b5171a3a0c49ca52e3baa32b90bfe9bf28bae/pyzmq-27.0.0-cp38-cp38-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:29f44e3c26b9783816ba9ce274110435d8f5b19bbd82f7a6c7612bb1452a3597", size = 863706, upload-time = "2025-06-13T14:08:06.005Z" }, - { url = "https://files.pythonhosted.org/packages/5a/19/dbff1b4a6aca1a83b0840f84c3ae926a19c0771b54e18a89683e1f0f74f0/pyzmq-27.0.0-cp38-cp38-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:6e435540fa1da54667f0026cf1e8407fe6d8a11f1010b7f06b0b17214ebfcf5e", size = 668309, upload-time = "2025-06-13T14:08:07.811Z" }, - { url = "https://files.pythonhosted.org/packages/7b/b8/67762cafb1cd6c106e25c550e6e6d6f08b2c80817ebcd205a663c6537936/pyzmq-27.0.0-cp38-cp38-musllinux_1_2_aarch64.whl", hash = "sha256:51f5726de3532b8222e569990c8aa34664faa97038304644679a51d906e60c6e", size = 1657313, upload-time = "2025-06-13T14:08:09.238Z" }, - { url = "https://files.pythonhosted.org/packages/77/55/6ba61edd52392bce073ba6887110c3312eaa76b5d06245db92f2c24718d2/pyzmq-27.0.0-cp38-cp38-musllinux_1_2_i686.whl", hash = "sha256:42c7555123679637c99205b1aa9e8f7d90fe29d4c243c719e347d4852545216c", size = 2034552, upload-time = "2025-06-13T14:08:11.46Z" }, - { url = "https://files.pythonhosted.org/packages/41/49/6fa93097c8e8f44af6c06d5783a2f07fa33644bbd073b2c36347d094676e/pyzmq-27.0.0-cp38-cp38-musllinux_1_2_x86_64.whl", hash = "sha256:a979b7cf9e33d86c4949df527a3018767e5f53bc3b02adf14d4d8db1db63ccc0", size = 1894114, upload-time = "2025-06-13T14:08:12.98Z" }, - { url = "https://files.pythonhosted.org/packages/a0/fa/967b2427bb0cadcc3a1530db2f88dfbfd46d781df2a386a096d7524df6cf/pyzmq-27.0.0-cp38-cp38-win32.whl", hash = "sha256:26b72c5ae20bf59061c3570db835edb81d1e0706ff141747055591c4b41193f8", size = 568222, upload-time = "2025-06-13T14:08:14.432Z" }, - { url = "https://files.pythonhosted.org/packages/b7/11/20bbfcc6395d5f2f5247aa88fef477f907f8139913666aec2a17af7ccaf1/pyzmq-27.0.0-cp38-cp38-win_amd64.whl", hash = "sha256:55a0155b148fe0428285a30922f7213539aa84329a5ad828bca4bbbc665c70a4", size = 629837, upload-time = "2025-06-13T14:08:15.818Z" }, { url = "https://files.pythonhosted.org/packages/19/dc/95210fe17e5d7dba89bd663e1d88f50a8003f296284731b09f1d95309a42/pyzmq-27.0.0-cp39-cp39-macosx_10_15_universal2.whl", hash = "sha256:100f6e5052ba42b2533011d34a018a5ace34f8cac67cb03cfa37c8bdae0ca617", size = 1330656, upload-time = "2025-06-13T14:08:17.414Z" }, { url = "https://files.pythonhosted.org/packages/d3/7e/63f742b578316258e03ecb393d35c0964348d80834bdec8a100ed7bb9c91/pyzmq-27.0.0-cp39-cp39-manylinux2014_i686.manylinux_2_17_i686.whl", hash = "sha256:bf6c6b061efd00404b9750e2cfbd9507492c8d4b3721ded76cb03786131be2ed", size = 906522, upload-time = "2025-06-13T14:08:18.945Z" }, { url = "https://files.pythonhosted.org/packages/1f/bf/f0b2b67f5a9bfe0fbd0e978a2becd901f802306aa8e29161cb0963094352/pyzmq-27.0.0-cp39-cp39-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:ee05728c0b0b2484a9fc20466fa776fffb65d95f7317a3419985b8c908563861", size = 863545, upload-time = "2025-06-13T14:08:20.386Z" }, @@ -4848,105 +3026,35 @@ wheels = [ { url = "https://files.pythonhosted.org/packages/ab/ba/64af397e0f421453dc68e31d5e0784d554bf39013a2de0872056e96e58af/pyzmq-27.0.0-pp311-pypy311_pp73-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:14fe7aaac86e4e93ea779a821967360c781d7ac5115b3f1a171ced77065a0174", size = 567400, upload-time = "2025-06-13T14:08:46.855Z" }, { url = "https://files.pythonhosted.org/packages/63/87/ec956cbe98809270b59a22891d5758edae147a258e658bf3024a8254c855/pyzmq-27.0.0-pp311-pypy311_pp73-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:6ad0562d4e6abb785be3e4dd68599c41be821b521da38c402bc9ab2a8e7ebc7e", size = 747031, upload-time = "2025-06-13T14:08:48.419Z" }, { url = "https://files.pythonhosted.org/packages/be/8a/4a3764a68abc02e2fbb0668d225b6fda5cd39586dd099cee8b2ed6ab0452/pyzmq-27.0.0-pp311-pypy311_pp73-win_amd64.whl", hash = "sha256:9df43a2459cd3a3563404c1456b2c4c69564daa7dbaf15724c09821a3329ce46", size = 544726, upload-time = "2025-06-13T14:08:49.903Z" }, - { url = "https://files.pythonhosted.org/packages/2c/be/0351cdff40fb2edb27ee539927a33ac6e57eedc49c7df83ec12fc8af713d/pyzmq-27.0.0-pp38-pypy38_pp73-macosx_10_15_x86_64.whl", hash = "sha256:8c86ea8fe85e2eb0ffa00b53192c401477d5252f6dd1db2e2ed21c1c30d17e5e", size = 835930, upload-time = "2025-06-13T14:08:51.366Z" }, - { url = "https://files.pythonhosted.org/packages/0a/28/066bf1513ce1295d8c97b89cd6ef635d76dfef909678cca766491b5dc228/pyzmq-27.0.0-pp38-pypy38_pp73-manylinux2014_i686.manylinux_2_17_i686.whl", hash = "sha256:c45fee3968834cd291a13da5fac128b696c9592a9493a0f7ce0b47fa03cc574d", size = 799870, upload-time = "2025-06-13T14:08:53.041Z" }, - { url = "https://files.pythonhosted.org/packages/56/0d/2987f3aaaf3fc46cf68a7dfdc162b97ab6d03c2c36ba1c7066cae1b802f1/pyzmq-27.0.0-pp38-pypy38_pp73-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:cae73bb6898c4e045fbed5024cb587e4110fddb66f6163bcab5f81f9d4b9c496", size = 758369, upload-time = "2025-06-13T14:08:54.579Z" }, - { url = "https://files.pythonhosted.org/packages/71/3f/b87443f4b9f9a6b5ac0fb50878272bdfc08ed620273098a6658290747d95/pyzmq-27.0.0-pp38-pypy38_pp73-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:26d542258c7a1f35a9cff3d887687d3235006134b0ac1c62a6fe1ad3ac10440e", size = 567393, upload-time = "2025-06-13T14:08:56.098Z" }, - { url = "https://files.pythonhosted.org/packages/bf/27/dad5a16cc1a94af54e5105ef9c1970bdea015aaed09b089ff95e6a4498fd/pyzmq-27.0.0-pp38-pypy38_pp73-win_amd64.whl", hash = "sha256:04cd50ef3b28e35ced65740fb9956a5b3f77a6ff32fcd887e3210433f437dd0f", size = 544723, upload-time = "2025-06-13T14:08:57.651Z" }, { url = "https://files.pythonhosted.org/packages/03/f6/11b2a6c8cd13275c31cddc3f89981a1b799a3c41dec55289fa18dede96b5/pyzmq-27.0.0-pp39-pypy39_pp73-macosx_10_15_x86_64.whl", hash = "sha256:39ddd3ba0a641f01d8f13a3cfd4c4924eb58e660d8afe87e9061d6e8ca6f7ac3", size = 835944, upload-time = "2025-06-13T14:08:59.189Z" }, { url = "https://files.pythonhosted.org/packages/73/34/aa39076f4e07ae1912fa4b966fe24e831e01d736d4c1c7e8a3aa28a555b5/pyzmq-27.0.0-pp39-pypy39_pp73-manylinux2014_i686.manylinux_2_17_i686.whl", hash = "sha256:8ca7e6a0388dd9e1180b14728051068f4efe83e0d2de058b5ff92c63f399a73f", size = 799869, upload-time = "2025-06-13T14:09:00.758Z" }, - { url = "https://files.pythonhosted.org/packages/65/f3/81ed6b3dd242408ee79c0d8a88734644acf208baee8666ecd7e52664cf55/pyzmq-27.0.0-pp39-pypy39_pp73-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:2524c40891be6a3106885a3935d58452dd83eb7a5742a33cc780a1ad4c49dec0", size = 758371, upload-time = "2025-06-13T14:09:02.461Z" }, - { url = "https://files.pythonhosted.org/packages/e1/04/dac4ca674764281caf744e8adefd88f7e325e1605aba0f9a322094b903fa/pyzmq-27.0.0-pp39-pypy39_pp73-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:6a56e3e5bd2d62a01744fd2f1ce21d760c7c65f030e9522738d75932a14ab62a", size = 567393, upload-time = "2025-06-13T14:09:04.037Z" }, - { url = "https://files.pythonhosted.org/packages/51/8b/619a9ee2fa4d3c724fbadde946427735ade64da03894b071bbdc3b789d83/pyzmq-27.0.0-pp39-pypy39_pp73-win_amd64.whl", hash = "sha256:096af9e133fec3a72108ddefba1e42985cb3639e9de52cfd336b6fc23aa083e9", size = 544715, upload-time = "2025-06-13T14:09:05.579Z" }, -] - -[[package]] -name = "readme-renderer" -version = "43.0" -source = { registry = "https://pypi.org/simple" } -resolution-markers = [ - "python_full_version < '3.9' and platform_machine == 'arm64' and sys_platform == 'darwin'", - "python_full_version < '3.9' and platform_machine == 'aarch64' and sys_platform == 'linux'", - "(python_full_version < '3.9' and platform_machine != 'arm64' and sys_platform == 'darwin') or (python_full_version < '3.9' and platform_machine != 'aarch64' and sys_platform == 'linux') or (python_full_version < '3.9' and sys_platform != 'darwin' and sys_platform != 'linux')", -] -dependencies = [ - { name = "docutils", version = "0.20.1", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.9'" }, - { name = "nh3", marker = "python_full_version < '3.9'" }, - { name = "pygments", marker = "python_full_version < '3.9'" }, -] -sdist = { url = "https://files.pythonhosted.org/packages/fe/b5/536c775084d239df6345dccf9b043419c7e3308bc31be4c7882196abc62e/readme_renderer-43.0.tar.gz", hash = "sha256:1818dd28140813509eeed8d62687f7cd4f7bad90d4db586001c5dc09d4fde311", size = 31768, upload-time = "2024-02-26T16:10:59.415Z" } -wheels = [ - { url = "https://files.pythonhosted.org/packages/45/be/3ea20dc38b9db08387cf97997a85a7d51527ea2057d71118feb0aa8afa55/readme_renderer-43.0-py3-none-any.whl", hash = "sha256:19db308d86ecd60e5affa3b2a98f017af384678c63c88e5d4556a380e674f3f9", size = 13301, upload-time = "2024-02-26T16:10:57.945Z" }, + { url = "https://files.pythonhosted.org/packages/65/f3/81ed6b3dd242408ee79c0d8a88734644acf208baee8666ecd7e52664cf55/pyzmq-27.0.0-pp39-pypy39_pp73-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:2524c40891be6a3106885a3935d58452dd83eb7a5742a33cc780a1ad4c49dec0", size = 758371, upload-time = "2025-06-13T14:09:02.461Z" }, + { url = "https://files.pythonhosted.org/packages/e1/04/dac4ca674764281caf744e8adefd88f7e325e1605aba0f9a322094b903fa/pyzmq-27.0.0-pp39-pypy39_pp73-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:6a56e3e5bd2d62a01744fd2f1ce21d760c7c65f030e9522738d75932a14ab62a", size = 567393, upload-time = "2025-06-13T14:09:04.037Z" }, + { url = "https://files.pythonhosted.org/packages/51/8b/619a9ee2fa4d3c724fbadde946427735ade64da03894b071bbdc3b789d83/pyzmq-27.0.0-pp39-pypy39_pp73-win_amd64.whl", hash = "sha256:096af9e133fec3a72108ddefba1e42985cb3639e9de52cfd336b6fc23aa083e9", size = 544715, upload-time = "2025-06-13T14:09:05.579Z" }, ] [[package]] name = "readme-renderer" version = "44.0" source = { registry = "https://pypi.org/simple" } -resolution-markers = [ - "python_full_version >= '3.12' and sys_platform == 'darwin'", - "python_full_version >= '3.12' and platform_machine == 'aarch64' and sys_platform == 'linux'", - "(python_full_version >= '3.12' and platform_machine != 'aarch64' and sys_platform == 'linux') or (python_full_version >= '3.12' and sys_platform != 'darwin' and sys_platform != 'linux')", - "python_full_version == '3.11.*' and sys_platform == 'darwin'", - "python_full_version == '3.11.*' and platform_machine == 'aarch64' and sys_platform == 'linux'", - "(python_full_version == '3.11.*' and platform_machine != 'aarch64' and sys_platform == 'linux') or (python_full_version == '3.11.*' and sys_platform != 'darwin' and sys_platform != 'linux')", - "python_full_version == '3.10.*' and sys_platform == 'darwin'", - "python_full_version == '3.10.*' and platform_machine == 'aarch64' and sys_platform == 'linux'", - "(python_full_version == '3.10.*' and platform_machine != 'aarch64' and sys_platform == 'linux') or (python_full_version == '3.10.*' and sys_platform != 'darwin' and sys_platform != 'linux')", - "python_full_version == '3.9.*' and platform_machine == 'arm64' and sys_platform == 'darwin'", - "python_full_version == '3.9.*' and platform_machine == 'aarch64' and sys_platform == 'linux'", - "(python_full_version == '3.9.*' and platform_machine != 'arm64' and sys_platform == 'darwin') or (python_full_version == '3.9.*' and platform_machine != 'aarch64' and sys_platform == 'linux') or (python_full_version == '3.9.*' and sys_platform != 'darwin' and sys_platform != 'linux')", -] dependencies = [ - { name = "docutils", version = "0.21.2", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.9'" }, - { name = "nh3", marker = "python_full_version >= '3.9'" }, - { name = "pygments", marker = "python_full_version >= '3.9'" }, + { name = "docutils" }, + { name = "nh3" }, + { name = "pygments" }, ] sdist = { url = "https://files.pythonhosted.org/packages/5a/a9/104ec9234c8448c4379768221ea6df01260cd6c2ce13182d4eac531c8342/readme_renderer-44.0.tar.gz", hash = "sha256:8712034eabbfa6805cacf1402b4eeb2a73028f72d1166d6f5cb7f9c047c5d1e1", size = 32056, upload-time = "2024-07-08T15:00:57.805Z" } wheels = [ { url = "https://files.pythonhosted.org/packages/e1/67/921ec3024056483db83953ae8e48079ad62b92db7880013ca77632921dd0/readme_renderer-44.0-py3-none-any.whl", hash = "sha256:2fbca89b81a08526aadf1357a8c2ae889ec05fb03f5da67f9769c9a592166151", size = 13310, upload-time = "2024-07-08T15:00:56.577Z" }, ] -[[package]] -name = "referencing" -version = "0.35.1" -source = { registry = "https://pypi.org/simple" } -resolution-markers = [ - "python_full_version < '3.9' and platform_machine == 'arm64' and sys_platform == 'darwin'", - "python_full_version < '3.9' and platform_machine == 'aarch64' and sys_platform == 'linux'", - "(python_full_version < '3.9' and platform_machine != 'arm64' and sys_platform == 'darwin') or (python_full_version < '3.9' and platform_machine != 'aarch64' and sys_platform == 'linux') or (python_full_version < '3.9' and sys_platform != 'darwin' and sys_platform != 'linux')", -] -dependencies = [ - { name = "attrs", marker = "python_full_version < '3.9'" }, - { name = "rpds-py", version = "0.20.1", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.9'" }, -] -sdist = { url = "https://files.pythonhosted.org/packages/99/5b/73ca1f8e72fff6fa52119dbd185f73a907b1989428917b24cff660129b6d/referencing-0.35.1.tar.gz", hash = "sha256:25b42124a6c8b632a425174f24087783efb348a6f1e0008e63cd4466fedf703c", size = 62991, upload-time = "2024-05-01T20:26:04.574Z" } -wheels = [ - { url = "https://files.pythonhosted.org/packages/b7/59/2056f61236782a2c86b33906c025d4f4a0b17be0161b63b70fd9e8775d36/referencing-0.35.1-py3-none-any.whl", hash = "sha256:eda6d3234d62814d1c64e305c1331c9a3a6132da475ab6382eaa997b21ee75de", size = 26684, upload-time = "2024-05-01T20:26:02.078Z" }, -] - [[package]] name = "referencing" version = "0.36.2" source = { registry = "https://pypi.org/simple" } -resolution-markers = [ - "python_full_version >= '3.12' and sys_platform == 'darwin'", - "python_full_version >= '3.12' and platform_machine == 'aarch64' and sys_platform == 'linux'", - "(python_full_version >= '3.12' and platform_machine != 'aarch64' and sys_platform == 'linux') or (python_full_version >= '3.12' and sys_platform != 'darwin' and sys_platform != 'linux')", - "python_full_version == '3.11.*' and sys_platform == 'darwin'", - "python_full_version == '3.11.*' and platform_machine == 'aarch64' and sys_platform == 'linux'", - "(python_full_version == '3.11.*' and platform_machine != 'aarch64' and sys_platform == 'linux') or (python_full_version == '3.11.*' and sys_platform != 'darwin' and sys_platform != 'linux')", - "python_full_version == '3.10.*' and sys_platform == 'darwin'", - "python_full_version == '3.10.*' and platform_machine == 'aarch64' and sys_platform == 'linux'", - "(python_full_version == '3.10.*' and platform_machine != 'aarch64' and sys_platform == 'linux') or (python_full_version == '3.10.*' and sys_platform != 'darwin' and sys_platform != 'linux')", - "python_full_version == '3.9.*' and platform_machine == 'arm64' and sys_platform == 'darwin'", - "python_full_version == '3.9.*' and platform_machine == 'aarch64' and sys_platform == 'linux'", - "(python_full_version == '3.9.*' and platform_machine != 'arm64' and sys_platform == 'darwin') or (python_full_version == '3.9.*' and platform_machine != 'aarch64' and sys_platform == 'linux') or (python_full_version == '3.9.*' and sys_platform != 'darwin' and sys_platform != 'linux')", -] dependencies = [ - { name = "attrs", marker = "python_full_version >= '3.9'" }, - { name = "rpds-py", version = "0.26.0", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.9'" }, - { name = "typing-extensions", version = "4.14.1", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.9' and python_full_version < '3.13'" }, + { name = "attrs" }, + { name = "rpds-py" }, + { name = "typing-extensions", marker = "python_full_version < '3.13'" }, ] sdist = { url = "https://files.pythonhosted.org/packages/2f/db/98b5c277be99dd18bfd91dd04e1b759cad18d1a338188c936e92f921c7e2/referencing-0.36.2.tar.gz", hash = "sha256:df2e89862cd09deabbdba16944cc3f10feb6b3e6f18e902f7cc25609a34775aa", size = 74744, upload-time = "2025-01-25T08:48:16.138Z" } wheels = [ @@ -4961,8 +3069,7 @@ dependencies = [ { name = "certifi" }, { name = "charset-normalizer" }, { name = "idna" }, - { name = "urllib3", version = "2.2.3", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.9'" }, - { name = "urllib3", version = "2.5.0", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.9'" }, + { name = "urllib3" }, ] sdist = { url = "https://files.pythonhosted.org/packages/e1/0a/929373653770d8a0d7ea76c37de6e41f11eb07559b103b1c02cafb3f7cf8/requests-2.32.4.tar.gz", hash = "sha256:27d0316682c8a29834d3264820024b62a36942083d52caf2f14c0591336d3422", size = 135258, upload-time = "2025-06-09T16:43:07.34Z" } wheels = [ @@ -5018,147 +3125,17 @@ source = { registry = "https://pypi.org/simple" } dependencies = [ { name = "markdown-it-py" }, { name = "pygments" }, - { name = "typing-extensions", version = "4.13.2", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.9'" }, - { name = "typing-extensions", version = "4.14.1", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.9' and python_full_version < '3.11'" }, + { name = "typing-extensions", marker = "python_full_version < '3.11'" }, ] sdist = { url = "https://files.pythonhosted.org/packages/a1/53/830aa4c3066a8ab0ae9a9955976fb770fe9c6102117c8ec4ab3ea62d89e8/rich-14.0.0.tar.gz", hash = "sha256:82f1bc23a6a21ebca4ae0c45af9bdbc492ed20231dcb63f297d6d1021a9d5725", size = 224078, upload-time = "2025-03-30T14:15:14.23Z" } wheels = [ { url = "https://files.pythonhosted.org/packages/0d/9b/63f4c7ebc259242c89b3acafdb37b41d1185c07ff0011164674e9076b491/rich-14.0.0-py3-none-any.whl", hash = "sha256:1c9491e1951aac09caffd42f448ee3d04e58923ffe14993f6e83068dc395d7e0", size = 243229, upload-time = "2025-03-30T14:15:12.283Z" }, ] -[[package]] -name = "rpds-py" -version = "0.20.1" -source = { registry = "https://pypi.org/simple" } -resolution-markers = [ - "python_full_version < '3.9' and platform_machine == 'arm64' and sys_platform == 'darwin'", - "python_full_version < '3.9' and platform_machine == 'aarch64' and sys_platform == 'linux'", - "(python_full_version < '3.9' and platform_machine != 'arm64' and sys_platform == 'darwin') or (python_full_version < '3.9' and platform_machine != 'aarch64' and sys_platform == 'linux') or (python_full_version < '3.9' and sys_platform != 'darwin' and sys_platform != 'linux')", -] -sdist = { url = "https://files.pythonhosted.org/packages/25/cb/8e919951f55d109d658f81c9b49d0cc3b48637c50792c5d2e77032b8c5da/rpds_py-0.20.1.tar.gz", hash = "sha256:e1791c4aabd117653530dccd24108fa03cc6baf21f58b950d0a73c3b3b29a350", size = 25931, upload-time = "2024-10-31T14:30:20.522Z" } -wheels = [ - { url = "https://files.pythonhosted.org/packages/ae/0e/d7e7e9280988a7bc56fd326042baca27f4f55fad27dc8aa64e5e0e894e5d/rpds_py-0.20.1-cp310-cp310-macosx_10_12_x86_64.whl", hash = "sha256:a649dfd735fff086e8a9d0503a9f0c7d01b7912a333c7ae77e1515c08c146dad", size = 327335, upload-time = "2024-10-31T14:26:20.076Z" }, - { url = "https://files.pythonhosted.org/packages/4c/72/027185f213d53ae66765c575229829b202fbacf3d55fe2bd9ff4e29bb157/rpds_py-0.20.1-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:f16bc1334853e91ddaaa1217045dd7be166170beec337576818461268a3de67f", size = 318250, upload-time = "2024-10-31T14:26:22.17Z" }, - { url = "https://files.pythonhosted.org/packages/2b/e7/b4eb3e6ff541c83d3b46f45f855547e412ab60c45bef64520fafb00b9b42/rpds_py-0.20.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:14511a539afee6f9ab492b543060c7491c99924314977a55c98bfa2ee29ce78c", size = 361206, upload-time = "2024-10-31T14:26:24.746Z" }, - { url = "https://files.pythonhosted.org/packages/e7/80/cb9a4b4cad31bcaa37f38dae7a8be861f767eb2ca4f07a146b5ffcfbee09/rpds_py-0.20.1-cp310-cp310-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:3ccb8ac2d3c71cda472b75af42818981bdacf48d2e21c36331b50b4f16930163", size = 369921, upload-time = "2024-10-31T14:26:28.137Z" }, - { url = "https://files.pythonhosted.org/packages/95/1b/463b11e7039e18f9e778568dbf7338c29bbc1f8996381115201c668eb8c8/rpds_py-0.20.1-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:c142b88039b92e7e0cb2552e8967077e3179b22359e945574f5e2764c3953dcf", size = 403673, upload-time = "2024-10-31T14:26:31.42Z" }, - { url = "https://files.pythonhosted.org/packages/86/98/1ef4028e9d5b76470bf7f8f2459be07ac5c9621270a2a5e093f8d8a8cc2c/rpds_py-0.20.1-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:f19169781dddae7478a32301b499b2858bc52fc45a112955e798ee307e294977", size = 430267, upload-time = "2024-10-31T14:26:33.148Z" }, - { url = "https://files.pythonhosted.org/packages/25/8e/41d7e3e6d3a4a6c94375020477705a3fbb6515717901ab8f94821cf0a0d9/rpds_py-0.20.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:13c56de6518e14b9bf6edde23c4c39dac5b48dcf04160ea7bce8fca8397cdf86", size = 360569, upload-time = "2024-10-31T14:26:35.151Z" }, - { url = "https://files.pythonhosted.org/packages/4f/6a/8839340464d4e1bbfaf0482e9d9165a2309c2c17427e4dcb72ce3e5cc5d6/rpds_py-0.20.1-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:925d176a549f4832c6f69fa6026071294ab5910e82a0fe6c6228fce17b0706bd", size = 382584, upload-time = "2024-10-31T14:26:37.444Z" }, - { url = "https://files.pythonhosted.org/packages/64/96/7a7f938d3796a6a3ec08ed0e8a5ecd436fbd516a3684ab1fa22d46d6f6cc/rpds_py-0.20.1-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:78f0b6877bfce7a3d1ff150391354a410c55d3cdce386f862926a4958ad5ab7e", size = 546560, upload-time = "2024-10-31T14:26:40.679Z" }, - { url = "https://files.pythonhosted.org/packages/15/c7/19fb4f1247a3c90a99eca62909bf76ee988f9b663e47878a673d9854ec5c/rpds_py-0.20.1-cp310-cp310-musllinux_1_2_i686.whl", hash = "sha256:3dd645e2b0dcb0fd05bf58e2e54c13875847687d0b71941ad2e757e5d89d4356", size = 549359, upload-time = "2024-10-31T14:26:42.71Z" }, - { url = "https://files.pythonhosted.org/packages/d2/4c/445eb597a39a883368ea2f341dd6e48a9d9681b12ebf32f38a827b30529b/rpds_py-0.20.1-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:4f676e21db2f8c72ff0936f895271e7a700aa1f8d31b40e4e43442ba94973899", size = 527567, upload-time = "2024-10-31T14:26:45.402Z" }, - { url = "https://files.pythonhosted.org/packages/4f/71/4c44643bffbcb37311fc7fe221bcf139c8d660bc78f746dd3a05741372c8/rpds_py-0.20.1-cp310-none-win32.whl", hash = "sha256:648386ddd1e19b4a6abab69139b002bc49ebf065b596119f8f37c38e9ecee8ff", size = 200412, upload-time = "2024-10-31T14:26:49.634Z" }, - { url = "https://files.pythonhosted.org/packages/f4/33/9d0529d74099e090ec9ab15eb0a049c56cca599eaaca71bfedbdbca656a9/rpds_py-0.20.1-cp310-none-win_amd64.whl", hash = "sha256:d9ecb51120de61e4604650666d1f2b68444d46ae18fd492245a08f53ad2b7711", size = 218563, upload-time = "2024-10-31T14:26:51.639Z" }, - { url = "https://files.pythonhosted.org/packages/a0/2e/a6ded84019a05b8f23e0fe6a632f62ae438a8c5e5932d3dfc90c73418414/rpds_py-0.20.1-cp311-cp311-macosx_10_12_x86_64.whl", hash = "sha256:762703bdd2b30983c1d9e62b4c88664df4a8a4d5ec0e9253b0231171f18f6d75", size = 327194, upload-time = "2024-10-31T14:26:54.135Z" }, - { url = "https://files.pythonhosted.org/packages/68/11/d3f84c69de2b2086be3d6bd5e9d172825c096b13842ab7e5f8f39f06035b/rpds_py-0.20.1-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:0b581f47257a9fce535c4567782a8976002d6b8afa2c39ff616edf87cbeff712", size = 318126, upload-time = "2024-10-31T14:26:56.089Z" }, - { url = "https://files.pythonhosted.org/packages/18/c0/13f1bce9c901511e5e4c0b77a99dbb946bb9a177ca88c6b480e9cb53e304/rpds_py-0.20.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:842c19a6ce894493563c3bd00d81d5100e8e57d70209e84d5491940fdb8b9e3a", size = 361119, upload-time = "2024-10-31T14:26:58.354Z" }, - { url = "https://files.pythonhosted.org/packages/06/31/3bd721575671f22a37476c2d7b9e34bfa5185bdcee09f7fedde3b29f3adb/rpds_py-0.20.1-cp311-cp311-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:42cbde7789f5c0bcd6816cb29808e36c01b960fb5d29f11e052215aa85497c93", size = 369532, upload-time = "2024-10-31T14:27:00.155Z" }, - { url = "https://files.pythonhosted.org/packages/20/22/3eeb0385f33251b4fd0f728e6a3801dc8acc05e714eb7867cefe635bf4ab/rpds_py-0.20.1-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:6c8e9340ce5a52f95fa7d3b552b35c7e8f3874d74a03a8a69279fd5fca5dc751", size = 403703, upload-time = "2024-10-31T14:27:02.072Z" }, - { url = "https://files.pythonhosted.org/packages/10/e1/8dde6174e7ac5b9acd3269afca2e17719bc7e5088c68f44874d2ad9e4560/rpds_py-0.20.1-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:8ba6f89cac95c0900d932c9efb7f0fb6ca47f6687feec41abcb1bd5e2bd45535", size = 429868, upload-time = "2024-10-31T14:27:04.453Z" }, - { url = "https://files.pythonhosted.org/packages/19/51/a3cc1a5238acfc2582033e8934d034301f9d4931b9bf7c7ccfabc4ca0880/rpds_py-0.20.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:4a916087371afd9648e1962e67403c53f9c49ca47b9680adbeef79da3a7811b0", size = 360539, upload-time = "2024-10-31T14:27:07.048Z" }, - { url = "https://files.pythonhosted.org/packages/cd/8c/3c87471a44bd4114e2b0aec90f298f6caaac4e8db6af904d5dd2279f5c61/rpds_py-0.20.1-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:200a23239781f46149e6a415f1e870c5ef1e712939fe8fa63035cd053ac2638e", size = 382467, upload-time = "2024-10-31T14:27:08.647Z" }, - { url = "https://files.pythonhosted.org/packages/d0/9b/95073fe3e0f130e6d561e106818b6568ef1f2df3352e7f162ab912da837c/rpds_py-0.20.1-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:58b1d5dd591973d426cbb2da5e27ba0339209832b2f3315928c9790e13f159e8", size = 546669, upload-time = "2024-10-31T14:27:10.626Z" }, - { url = "https://files.pythonhosted.org/packages/de/4c/7ab3669e02bb06fedebcfd64d361b7168ba39dfdf385e4109440f2e7927b/rpds_py-0.20.1-cp311-cp311-musllinux_1_2_i686.whl", hash = "sha256:6b73c67850ca7cae0f6c56f71e356d7e9fa25958d3e18a64927c2d930859b8e4", size = 549304, upload-time = "2024-10-31T14:27:14.114Z" }, - { url = "https://files.pythonhosted.org/packages/f1/e8/ad5da336cd42adbdafe0ecd40dcecdae01fd3d703c621c7637615a008d3a/rpds_py-0.20.1-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:d8761c3c891cc51e90bc9926d6d2f59b27beaf86c74622c8979380a29cc23ac3", size = 527637, upload-time = "2024-10-31T14:27:15.887Z" }, - { url = "https://files.pythonhosted.org/packages/02/f1/1b47b9e5b941c2659c9b7e4ef41b6f07385a6500c638fa10c066e4616ecb/rpds_py-0.20.1-cp311-none-win32.whl", hash = "sha256:cd945871335a639275eee904caef90041568ce3b42f402c6959b460d25ae8732", size = 200488, upload-time = "2024-10-31T14:27:18.666Z" }, - { url = "https://files.pythonhosted.org/packages/85/f6/c751c1adfa31610055acfa1cc667cf2c2d7011a73070679c448cf5856905/rpds_py-0.20.1-cp311-none-win_amd64.whl", hash = "sha256:7e21b7031e17c6b0e445f42ccc77f79a97e2687023c5746bfb7a9e45e0921b84", size = 218475, upload-time = "2024-10-31T14:27:20.13Z" }, - { url = "https://files.pythonhosted.org/packages/e7/10/4e8dcc08b58a548098dbcee67a4888751a25be7a6dde0a83d4300df48bfa/rpds_py-0.20.1-cp312-cp312-macosx_10_12_x86_64.whl", hash = "sha256:36785be22066966a27348444b40389f8444671630063edfb1a2eb04318721e17", size = 329749, upload-time = "2024-10-31T14:27:21.968Z" }, - { url = "https://files.pythonhosted.org/packages/d2/e4/61144f3790e12fd89e6153d77f7915ad26779735fef8ee9c099cba6dfb4a/rpds_py-0.20.1-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:142c0a5124d9bd0e2976089484af5c74f47bd3298f2ed651ef54ea728d2ea42c", size = 321032, upload-time = "2024-10-31T14:27:24.397Z" }, - { url = "https://files.pythonhosted.org/packages/fa/e0/99205aabbf3be29ef6c58ef9b08feed51ba6532fdd47461245cb58dd9897/rpds_py-0.20.1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:dbddc10776ca7ebf2a299c41a4dde8ea0d8e3547bfd731cb87af2e8f5bf8962d", size = 363931, upload-time = "2024-10-31T14:27:26.05Z" }, - { url = "https://files.pythonhosted.org/packages/ac/bd/bce2dddb518b13a7e77eed4be234c9af0c9c6d403d01c5e6ae8eb447ab62/rpds_py-0.20.1-cp312-cp312-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:15a842bb369e00295392e7ce192de9dcbf136954614124a667f9f9f17d6a216f", size = 373343, upload-time = "2024-10-31T14:27:27.864Z" }, - { url = "https://files.pythonhosted.org/packages/43/15/112b7c553066cb91264691ba7fb119579c440a0ae889da222fa6fc0d411a/rpds_py-0.20.1-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:be5ef2f1fc586a7372bfc355986226484e06d1dc4f9402539872c8bb99e34b01", size = 406304, upload-time = "2024-10-31T14:27:29.776Z" }, - { url = "https://files.pythonhosted.org/packages/af/8d/2da52aef8ae5494a382b0c0025ba5b68f2952db0f2a4c7534580e8ca83cc/rpds_py-0.20.1-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:dbcf360c9e3399b056a238523146ea77eeb2a596ce263b8814c900263e46031a", size = 423022, upload-time = "2024-10-31T14:27:31.547Z" }, - { url = "https://files.pythonhosted.org/packages/c8/1b/f23015cb293927c93bdb4b94a48bfe77ad9d57359c75db51f0ff0cf482ff/rpds_py-0.20.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ecd27a66740ffd621d20b9a2f2b5ee4129a56e27bfb9458a3bcc2e45794c96cb", size = 364937, upload-time = "2024-10-31T14:27:33.447Z" }, - { url = "https://files.pythonhosted.org/packages/7b/8b/6da8636b2ea2e2f709e56656e663b6a71ecd9a9f9d9dc21488aade122026/rpds_py-0.20.1-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:d0b937b2a1988f184a3e9e577adaa8aede21ec0b38320d6009e02bd026db04fa", size = 386301, upload-time = "2024-10-31T14:27:35.8Z" }, - { url = "https://files.pythonhosted.org/packages/20/af/2ae192797bffd0d6d558145b5a36e7245346ff3e44f6ddcb82f0eb8512d4/rpds_py-0.20.1-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:6889469bfdc1eddf489729b471303739bf04555bb151fe8875931f8564309afc", size = 549452, upload-time = "2024-10-31T14:27:38.316Z" }, - { url = "https://files.pythonhosted.org/packages/07/dd/9f6520712a5108cd7d407c9db44a3d59011b385c58e320d58ebf67757a9e/rpds_py-0.20.1-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:19b73643c802f4eaf13d97f7855d0fb527fbc92ab7013c4ad0e13a6ae0ed23bd", size = 554370, upload-time = "2024-10-31T14:27:40.111Z" }, - { url = "https://files.pythonhosted.org/packages/5e/0e/b1bdc7ea0db0946d640ab8965146099093391bb5d265832994c47461e3c5/rpds_py-0.20.1-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:3c6afcf2338e7f374e8edc765c79fbcb4061d02b15dd5f8f314a4af2bdc7feb5", size = 530940, upload-time = "2024-10-31T14:27:42.074Z" }, - { url = "https://files.pythonhosted.org/packages/ae/d3/ffe907084299484fab60a7955f7c0e8a295c04249090218c59437010f9f4/rpds_py-0.20.1-cp312-none-win32.whl", hash = "sha256:dc73505153798c6f74854aba69cc75953888cf9866465196889c7cdd351e720c", size = 203164, upload-time = "2024-10-31T14:27:44.578Z" }, - { url = "https://files.pythonhosted.org/packages/1f/ba/9cbb57423c4bfbd81c473913bebaed151ad4158ee2590a4e4b3e70238b48/rpds_py-0.20.1-cp312-none-win_amd64.whl", hash = "sha256:8bbe951244a838a51289ee53a6bae3a07f26d4e179b96fc7ddd3301caf0518eb", size = 220750, upload-time = "2024-10-31T14:27:46.411Z" }, - { url = "https://files.pythonhosted.org/packages/b5/01/fee2e1d1274c92fff04aa47d805a28d62c2aa971d1f49f5baea1c6e670d9/rpds_py-0.20.1-cp313-cp313-macosx_10_12_x86_64.whl", hash = "sha256:6ca91093a4a8da4afae7fe6a222c3b53ee4eef433ebfee4d54978a103435159e", size = 329359, upload-time = "2024-10-31T14:27:48.866Z" }, - { url = "https://files.pythonhosted.org/packages/b0/cf/4aeffb02b7090029d7aeecbffb9a10e1c80f6f56d7e9a30e15481dc4099c/rpds_py-0.20.1-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:b9c2fe36d1f758b28121bef29ed1dee9b7a2453e997528e7d1ac99b94892527c", size = 320543, upload-time = "2024-10-31T14:27:51.354Z" }, - { url = "https://files.pythonhosted.org/packages/17/69/85cf3429e9ccda684ba63ff36b5866d5f9451e921cc99819341e19880334/rpds_py-0.20.1-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:f009c69bc8c53db5dfab72ac760895dc1f2bc1b62ab7408b253c8d1ec52459fc", size = 363107, upload-time = "2024-10-31T14:27:53.196Z" }, - { url = "https://files.pythonhosted.org/packages/ef/de/7df88dea9c3eeb832196d23b41f0f6fc5f9a2ee9b2080bbb1db8731ead9c/rpds_py-0.20.1-cp313-cp313-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:6740a3e8d43a32629bb9b009017ea5b9e713b7210ba48ac8d4cb6d99d86c8ee8", size = 372027, upload-time = "2024-10-31T14:27:55.244Z" }, - { url = "https://files.pythonhosted.org/packages/d1/b8/88675399d2038580743c570a809c43a900e7090edc6553f8ffb66b23c965/rpds_py-0.20.1-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:32b922e13d4c0080d03e7b62991ad7f5007d9cd74e239c4b16bc85ae8b70252d", size = 405031, upload-time = "2024-10-31T14:27:57.688Z" }, - { url = "https://files.pythonhosted.org/packages/e1/aa/cca639f6d17caf00bab51bdc70fcc0bdda3063e5662665c4fdf60443c474/rpds_py-0.20.1-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:fe00a9057d100e69b4ae4a094203a708d65b0f345ed546fdef86498bf5390982", size = 422271, upload-time = "2024-10-31T14:27:59.526Z" }, - { url = "https://files.pythonhosted.org/packages/c4/07/bf8a949d2ec4626c285579c9d6b356c692325f1a4126e947736b416e1fc4/rpds_py-0.20.1-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:49fe9b04b6fa685bd39237d45fad89ba19e9163a1ccaa16611a812e682913496", size = 363625, upload-time = "2024-10-31T14:28:01.915Z" }, - { url = "https://files.pythonhosted.org/packages/11/f0/06675c6a58d6ce34547879138810eb9aab0c10e5607ea6c2e4dc56b703c8/rpds_py-0.20.1-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:aa7ac11e294304e615b43f8c441fee5d40094275ed7311f3420d805fde9b07b4", size = 385906, upload-time = "2024-10-31T14:28:03.796Z" }, - { url = "https://files.pythonhosted.org/packages/bf/ac/2d1f50374eb8e41030fad4e87f81751e1c39e3b5d4bee8c5618830d8a6ac/rpds_py-0.20.1-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:6aa97af1558a9bef4025f8f5d8c60d712e0a3b13a2fe875511defc6ee77a1ab7", size = 549021, upload-time = "2024-10-31T14:28:05.704Z" }, - { url = "https://files.pythonhosted.org/packages/f7/d4/a7d70a7cc71df772eeadf4bce05e32e780a9fe44a511a5b091c7a85cb767/rpds_py-0.20.1-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:483b29f6f7ffa6af845107d4efe2e3fa8fb2693de8657bc1849f674296ff6a5a", size = 553800, upload-time = "2024-10-31T14:28:07.684Z" }, - { url = "https://files.pythonhosted.org/packages/87/81/dc30bc449ccba63ad23a0f6633486d4e0e6955f45f3715a130dacabd6ad0/rpds_py-0.20.1-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:37fe0f12aebb6a0e3e17bb4cd356b1286d2d18d2e93b2d39fe647138458b4bcb", size = 531076, upload-time = "2024-10-31T14:28:10.545Z" }, - { url = "https://files.pythonhosted.org/packages/50/80/fb62ab48f3b5cfe704ead6ad372da1922ddaa76397055e02eb507054c979/rpds_py-0.20.1-cp313-none-win32.whl", hash = "sha256:a624cc00ef2158e04188df5e3016385b9353638139a06fb77057b3498f794782", size = 202804, upload-time = "2024-10-31T14:28:12.877Z" }, - { url = "https://files.pythonhosted.org/packages/d9/30/a3391e76d0b3313f33bdedd394a519decae3a953d2943e3dabf80ae32447/rpds_py-0.20.1-cp313-none-win_amd64.whl", hash = "sha256:b71b8666eeea69d6363248822078c075bac6ed135faa9216aa85f295ff009b1e", size = 220502, upload-time = "2024-10-31T14:28:14.597Z" }, - { url = "https://files.pythonhosted.org/packages/53/ef/b1883734ea0cd9996de793cdc38c32a28143b04911d1e570090acd8a9162/rpds_py-0.20.1-cp38-cp38-macosx_10_12_x86_64.whl", hash = "sha256:5b48e790e0355865197ad0aca8cde3d8ede347831e1959e158369eb3493d2191", size = 327757, upload-time = "2024-10-31T14:28:16.323Z" }, - { url = "https://files.pythonhosted.org/packages/54/63/47d34dc4ddb3da73e78e10c9009dcf8edc42d355a221351c05c822c2a50b/rpds_py-0.20.1-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:3e310838a5801795207c66c73ea903deda321e6146d6f282e85fa7e3e4854804", size = 318785, upload-time = "2024-10-31T14:28:18.381Z" }, - { url = "https://files.pythonhosted.org/packages/f7/e1/d6323be4afbe3013f28725553b7bfa80b3f013f91678af258f579f8ea8f9/rpds_py-0.20.1-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:2249280b870e6a42c0d972339e9cc22ee98730a99cd7f2f727549af80dd5a963", size = 361511, upload-time = "2024-10-31T14:28:20.292Z" }, - { url = "https://files.pythonhosted.org/packages/ab/d3/c40e4d9ecd571f0f50fe69bc53fe608d7b2c49b30738b480044990260838/rpds_py-0.20.1-cp38-cp38-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:e79059d67bea28b53d255c1437b25391653263f0e69cd7dec170d778fdbca95e", size = 370201, upload-time = "2024-10-31T14:28:22.314Z" }, - { url = "https://files.pythonhosted.org/packages/f1/b6/96a4a9977a8a06c2c49d90aa571346aff1642abf15066a39a0b4817bf049/rpds_py-0.20.1-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:2b431c777c9653e569986ecf69ff4a5dba281cded16043d348bf9ba505486f36", size = 403866, upload-time = "2024-10-31T14:28:24.135Z" }, - { url = "https://files.pythonhosted.org/packages/cd/8f/702b52287949314b498a311f92b5ee0ba30c702a27e0e6b560e2da43b8d5/rpds_py-0.20.1-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:da584ff96ec95e97925174eb8237e32f626e7a1a97888cdd27ee2f1f24dd0ad8", size = 430163, upload-time = "2024-10-31T14:28:26.021Z" }, - { url = "https://files.pythonhosted.org/packages/c4/ce/af016c81fda833bf125b20d1677d816f230cad2ab189f46bcbfea3c7a375/rpds_py-0.20.1-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:02a0629ec053fc013808a85178524e3cb63a61dbc35b22499870194a63578fb9", size = 360776, upload-time = "2024-10-31T14:28:27.852Z" }, - { url = "https://files.pythonhosted.org/packages/08/a7/988e179c9bef55821abe41762228d65077e0570ca75c9efbcd1bc6e263b4/rpds_py-0.20.1-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:fbf15aff64a163db29a91ed0868af181d6f68ec1a3a7d5afcfe4501252840bad", size = 383008, upload-time = "2024-10-31T14:28:30.029Z" }, - { url = "https://files.pythonhosted.org/packages/96/b0/e4077f7f1b9622112ae83254aedfb691490278793299bc06dcf54ec8c8e4/rpds_py-0.20.1-cp38-cp38-musllinux_1_2_aarch64.whl", hash = "sha256:07924c1b938798797d60c6308fa8ad3b3f0201802f82e4a2c41bb3fafb44cc28", size = 546371, upload-time = "2024-10-31T14:28:33.062Z" }, - { url = "https://files.pythonhosted.org/packages/e4/5e/1d4dd08ec0352cfe516ea93ea1993c2f656f893c87dafcd9312bd07f65f7/rpds_py-0.20.1-cp38-cp38-musllinux_1_2_i686.whl", hash = "sha256:4a5a844f68776a7715ecb30843b453f07ac89bad393431efbf7accca3ef599c1", size = 549809, upload-time = "2024-10-31T14:28:35.285Z" }, - { url = "https://files.pythonhosted.org/packages/57/ac/a716b4729ff23ec034b7d2ff76a86e6f0753c4098401bdfdf55b2efe90e6/rpds_py-0.20.1-cp38-cp38-musllinux_1_2_x86_64.whl", hash = "sha256:518d2ca43c358929bf08f9079b617f1c2ca6e8848f83c1225c88caeac46e6cbc", size = 528492, upload-time = "2024-10-31T14:28:37.516Z" }, - { url = "https://files.pythonhosted.org/packages/e0/ed/a0b58a9ecef79918169eacdabd14eb4c5c86ce71184ed56b80c6eb425828/rpds_py-0.20.1-cp38-none-win32.whl", hash = "sha256:3aea7eed3e55119635a74bbeb80b35e776bafccb70d97e8ff838816c124539f1", size = 200512, upload-time = "2024-10-31T14:28:39.484Z" }, - { url = "https://files.pythonhosted.org/packages/5f/c3/222e25124283afc76c473fcd2c547e82ec57683fa31cb4d6c6eb44e5d57a/rpds_py-0.20.1-cp38-none-win_amd64.whl", hash = "sha256:7dca7081e9a0c3b6490a145593f6fe3173a94197f2cb9891183ef75e9d64c425", size = 218627, upload-time = "2024-10-31T14:28:41.479Z" }, - { url = "https://files.pythonhosted.org/packages/d6/87/e7e0fcbfdc0d0e261534bcc885f6ae6253095b972e32f8b8b1278c78a2a9/rpds_py-0.20.1-cp39-cp39-macosx_10_12_x86_64.whl", hash = "sha256:b41b6321805c472f66990c2849e152aff7bc359eb92f781e3f606609eac877ad", size = 327867, upload-time = "2024-10-31T14:28:44.167Z" }, - { url = "https://files.pythonhosted.org/packages/93/a0/17836b7961fc82586e9b818abdee2a27e2e605a602bb8c0d43f02092f8c2/rpds_py-0.20.1-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:0a90c373ea2975519b58dece25853dbcb9779b05cc46b4819cb1917e3b3215b6", size = 318893, upload-time = "2024-10-31T14:28:46.753Z" }, - { url = "https://files.pythonhosted.org/packages/dc/03/deb81d8ea3a8b974e7b03cfe8c8c26616ef8f4980dd430d8dd0a2f1b4d8e/rpds_py-0.20.1-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:16d4477bcb9fbbd7b5b0e4a5d9b493e42026c0bf1f06f723a9353f5153e75d30", size = 361664, upload-time = "2024-10-31T14:28:49.782Z" }, - { url = "https://files.pythonhosted.org/packages/16/49/d9938603731745c7b6babff97ca61ff3eb4619e7128b5ab0111ad4e91d6d/rpds_py-0.20.1-cp39-cp39-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:84b8382a90539910b53a6307f7c35697bc7e6ffb25d9c1d4e998a13e842a5e83", size = 369796, upload-time = "2024-10-31T14:28:52.263Z" }, - { url = "https://files.pythonhosted.org/packages/87/d2/480b36c69cdc373853401b6aab6a281cf60f6d72b1545d82c0d23d9dd77c/rpds_py-0.20.1-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:4888e117dd41b9d34194d9e31631af70d3d526efc363085e3089ab1a62c32ed1", size = 403860, upload-time = "2024-10-31T14:28:54.388Z" }, - { url = "https://files.pythonhosted.org/packages/31/7c/f6d909cb57761293308dbef14f1663d84376f2e231892a10aafc57b42037/rpds_py-0.20.1-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:5265505b3d61a0f56618c9b941dc54dc334dc6e660f1592d112cd103d914a6db", size = 430793, upload-time = "2024-10-31T14:28:56.811Z" }, - { url = "https://files.pythonhosted.org/packages/d4/62/c9bd294c4b5f84d9cc2c387b548ae53096ad7e71ac5b02b6310e9dc85aa4/rpds_py-0.20.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:e75ba609dba23f2c95b776efb9dd3f0b78a76a151e96f96cc5b6b1b0004de66f", size = 360927, upload-time = "2024-10-31T14:28:58.868Z" }, - { url = "https://files.pythonhosted.org/packages/c1/a7/15d927d83a44da8307a432b1cac06284b6657706d099a98cc99fec34ad51/rpds_py-0.20.1-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:1791ff70bc975b098fe6ecf04356a10e9e2bd7dc21fa7351c1742fdeb9b4966f", size = 382660, upload-time = "2024-10-31T14:29:01.261Z" }, - { url = "https://files.pythonhosted.org/packages/4c/28/0630719c18456238bb07d59c4302fed50a13aa8035ec23dbfa80d116f9bc/rpds_py-0.20.1-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:d126b52e4a473d40232ec2052a8b232270ed1f8c9571aaf33f73a14cc298c24f", size = 546888, upload-time = "2024-10-31T14:29:03.923Z" }, - { url = "https://files.pythonhosted.org/packages/b9/75/3c9bda11b9c15d680b315f898af23825159314d4b56568f24b53ace8afcd/rpds_py-0.20.1-cp39-cp39-musllinux_1_2_i686.whl", hash = "sha256:c14937af98c4cc362a1d4374806204dd51b1e12dded1ae30645c298e5a5c4cb1", size = 550088, upload-time = "2024-10-31T14:29:07.107Z" }, - { url = "https://files.pythonhosted.org/packages/70/f1/8fe7d04c194218171220a412057429defa9e2da785de0777c4d39309337e/rpds_py-0.20.1-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:3d089d0b88996df627693639d123c8158cff41c0651f646cd8fd292c7da90eaf", size = 528270, upload-time = "2024-10-31T14:29:09.933Z" }, - { url = "https://files.pythonhosted.org/packages/d6/62/41b0020f4b00af042b008e679dbe25a2f5bce655139a81f8b812f9068e52/rpds_py-0.20.1-cp39-none-win32.whl", hash = "sha256:653647b8838cf83b2e7e6a0364f49af96deec64d2a6578324db58380cff82aca", size = 200658, upload-time = "2024-10-31T14:29:12.234Z" }, - { url = "https://files.pythonhosted.org/packages/05/01/e64bb8889f2dcc951e53de33d8b8070456397ae4e10edc35e6cb9908f5c8/rpds_py-0.20.1-cp39-none-win_amd64.whl", hash = "sha256:fa41a64ac5b08b292906e248549ab48b69c5428f3987b09689ab2441f267d04d", size = 218883, upload-time = "2024-10-31T14:29:14.846Z" }, - { url = "https://files.pythonhosted.org/packages/b6/fa/7959429e69569d0f6e7d27f80451402da0409349dd2b07f6bcbdd5fad2d3/rpds_py-0.20.1-pp310-pypy310_pp73-macosx_10_12_x86_64.whl", hash = "sha256:7a07ced2b22f0cf0b55a6a510078174c31b6d8544f3bc00c2bcee52b3d613f74", size = 328209, upload-time = "2024-10-31T14:29:17.44Z" }, - { url = "https://files.pythonhosted.org/packages/25/97/5dfdb091c30267ff404d2fd9e70c7a6d6ffc65ca77fffe9456e13b719066/rpds_py-0.20.1-pp310-pypy310_pp73-macosx_11_0_arm64.whl", hash = "sha256:68cb0a499f2c4a088fd2f521453e22ed3527154136a855c62e148b7883b99f9a", size = 319499, upload-time = "2024-10-31T14:29:19.527Z" }, - { url = "https://files.pythonhosted.org/packages/7c/98/cf2608722400f5f9bb4c82aa5ac09026f3ac2ebea9d4059d3533589ed0b6/rpds_py-0.20.1-pp310-pypy310_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:fa3060d885657abc549b2a0f8e1b79699290e5d83845141717c6c90c2df38311", size = 361795, upload-time = "2024-10-31T14:29:22.395Z" }, - { url = "https://files.pythonhosted.org/packages/89/de/0e13dd43c785c60e63933e96fbddda0b019df6862f4d3019bb49c3861131/rpds_py-0.20.1-pp310-pypy310_pp73-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:95f3b65d2392e1c5cec27cff08fdc0080270d5a1a4b2ea1d51d5f4a2620ff08d", size = 370604, upload-time = "2024-10-31T14:29:25.552Z" }, - { url = "https://files.pythonhosted.org/packages/8a/fc/fe3c83c77f82b8059eeec4e998064913d66212b69b3653df48f58ad33d3d/rpds_py-0.20.1-pp310-pypy310_pp73-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:2cc3712a4b0b76a1d45a9302dd2f53ff339614b1c29603a911318f2357b04dd2", size = 404177, upload-time = "2024-10-31T14:29:27.82Z" }, - { url = "https://files.pythonhosted.org/packages/94/30/5189518bfb80a41f664daf32b46645c7fbdcc89028a0f1bfa82e806e0fbb/rpds_py-0.20.1-pp310-pypy310_pp73-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:5d4eea0761e37485c9b81400437adb11c40e13ef513375bbd6973e34100aeb06", size = 430108, upload-time = "2024-10-31T14:29:30.768Z" }, - { url = "https://files.pythonhosted.org/packages/67/0e/6f069feaff5c298375cd8c55e00ecd9bd79c792ce0893d39448dc0097857/rpds_py-0.20.1-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:7f5179583d7a6cdb981151dd349786cbc318bab54963a192692d945dd3f6435d", size = 361184, upload-time = "2024-10-31T14:29:32.993Z" }, - { url = "https://files.pythonhosted.org/packages/27/9f/ce3e2ae36f392c3ef1988c06e9e0b4c74f64267dad7c223003c34da11adb/rpds_py-0.20.1-pp310-pypy310_pp73-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:2fbb0ffc754490aff6dabbf28064be47f0f9ca0b9755976f945214965b3ace7e", size = 384140, upload-time = "2024-10-31T14:29:35.356Z" }, - { url = "https://files.pythonhosted.org/packages/5f/d5/89d44504d0bc7a1135062cb520a17903ff002f458371b8d9160af3b71e52/rpds_py-0.20.1-pp310-pypy310_pp73-musllinux_1_2_aarch64.whl", hash = "sha256:a94e52537a0e0a85429eda9e49f272ada715506d3b2431f64b8a3e34eb5f3e75", size = 546589, upload-time = "2024-10-31T14:29:37.711Z" }, - { url = "https://files.pythonhosted.org/packages/8f/8f/e1c2db4fcca3947d9a28ec9553700b4dc8038f0eff575f579e75885b0661/rpds_py-0.20.1-pp310-pypy310_pp73-musllinux_1_2_i686.whl", hash = "sha256:92b68b79c0da2a980b1c4197e56ac3dd0c8a149b4603747c4378914a68706979", size = 550059, upload-time = "2024-10-31T14:29:40.342Z" }, - { url = "https://files.pythonhosted.org/packages/67/29/00a9e986df36721b5def82fff60995c1ee8827a7d909a6ec8929fb4cc668/rpds_py-0.20.1-pp310-pypy310_pp73-musllinux_1_2_x86_64.whl", hash = "sha256:93da1d3db08a827eda74356f9f58884adb254e59b6664f64cc04cdff2cc19b0d", size = 529131, upload-time = "2024-10-31T14:29:42.993Z" }, - { url = "https://files.pythonhosted.org/packages/a3/32/95364440560ec476b19c6a2704259e710c223bf767632ebaa72cc2a1760f/rpds_py-0.20.1-pp310-pypy310_pp73-win_amd64.whl", hash = "sha256:754bbed1a4ca48479e9d4182a561d001bbf81543876cdded6f695ec3d465846b", size = 219677, upload-time = "2024-10-31T14:29:45.332Z" }, - { url = "https://files.pythonhosted.org/packages/ed/bf/ad8492e972c90a3d48a38e2b5095c51a8399d5b57e83f2d5d1649490f72b/rpds_py-0.20.1-pp39-pypy39_pp73-macosx_10_12_x86_64.whl", hash = "sha256:ca449520e7484534a2a44faf629362cae62b660601432d04c482283c47eaebab", size = 328046, upload-time = "2024-10-31T14:29:48.968Z" }, - { url = "https://files.pythonhosted.org/packages/75/fd/84f42386165d6d555acb76c6d39c90b10c9dcf25116daf4f48a0a9d6867a/rpds_py-0.20.1-pp39-pypy39_pp73-macosx_11_0_arm64.whl", hash = "sha256:9c4cb04a16b0f199a8c9bf807269b2f63b7b5b11425e4a6bd44bd6961d28282c", size = 319306, upload-time = "2024-10-31T14:29:51.212Z" }, - { url = "https://files.pythonhosted.org/packages/6c/8a/abcd5119a0573f9588ad71a3fde3c07ddd1d1393cfee15a6ba7495c256f1/rpds_py-0.20.1-pp39-pypy39_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:bb63804105143c7e24cee7db89e37cb3f3941f8e80c4379a0b355c52a52b6780", size = 362558, upload-time = "2024-10-31T14:29:53.551Z" }, - { url = "https://files.pythonhosted.org/packages/9d/65/1c2bb10afd4bd32800227a658ae9097bc1d08a4e5048a57a9bd2efdf6306/rpds_py-0.20.1-pp39-pypy39_pp73-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:55cd1fa4ecfa6d9f14fbd97ac24803e6f73e897c738f771a9fe038f2f11ff07c", size = 370811, upload-time = "2024-10-31T14:29:56.672Z" }, - { url = "https://files.pythonhosted.org/packages/6c/ee/f4bab2b9e51ced30351cfd210647885391463ae682028c79760e7db28e4e/rpds_py-0.20.1-pp39-pypy39_pp73-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:0f8f741b6292c86059ed175d80eefa80997125b7c478fb8769fd9ac8943a16c0", size = 404660, upload-time = "2024-10-31T14:29:59.276Z" }, - { url = "https://files.pythonhosted.org/packages/48/0f/9d04d0939682f0c97be827fc51ff986555ffb573e6781bd5132441f0ce25/rpds_py-0.20.1-pp39-pypy39_pp73-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:0fc212779bf8411667234b3cdd34d53de6c2b8b8b958e1e12cb473a5f367c338", size = 430490, upload-time = "2024-10-31T14:30:01.543Z" }, - { url = "https://files.pythonhosted.org/packages/0d/f2/e9b90fd8416d59941b6a12f2c2e1d898b63fd092f5a7a6f98236cb865764/rpds_py-0.20.1-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:0ad56edabcdb428c2e33bbf24f255fe2b43253b7d13a2cdbf05de955217313e6", size = 361448, upload-time = "2024-10-31T14:30:04.294Z" }, - { url = "https://files.pythonhosted.org/packages/0b/83/1cc776dce7bedb17d6f4ea62eafccee8a57a4678f4fac414ab69fb9b6b0b/rpds_py-0.20.1-pp39-pypy39_pp73-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:0a3a1e9ee9728b2c1734f65d6a1d376c6f2f6fdcc13bb007a08cc4b1ff576dc5", size = 383681, upload-time = "2024-10-31T14:30:07.717Z" }, - { url = "https://files.pythonhosted.org/packages/17/5c/e0cdd6b0a8373fdef3667af2778dd9ff3abf1bbb9c7bd92c603c91440eb0/rpds_py-0.20.1-pp39-pypy39_pp73-musllinux_1_2_aarch64.whl", hash = "sha256:e13de156137b7095442b288e72f33503a469aa1980ed856b43c353ac86390519", size = 546203, upload-time = "2024-10-31T14:30:10.156Z" }, - { url = "https://files.pythonhosted.org/packages/1b/a8/81fc9cbc01e7ef6d10652aedc1de4e8473934773e2808ba49094e03575df/rpds_py-0.20.1-pp39-pypy39_pp73-musllinux_1_2_i686.whl", hash = "sha256:07f59760ef99f31422c49038964b31c4dfcfeb5d2384ebfc71058a7c9adae2d2", size = 549855, upload-time = "2024-10-31T14:30:13.691Z" }, - { url = "https://files.pythonhosted.org/packages/b3/87/99648693d3c1bbce088119bc61ecaab62e5f9c713894edc604ffeca5ae88/rpds_py-0.20.1-pp39-pypy39_pp73-musllinux_1_2_x86_64.whl", hash = "sha256:59240685e7da61fb78f65a9f07f8108e36a83317c53f7b276b4175dc44151684", size = 528625, upload-time = "2024-10-31T14:30:16.191Z" }, - { url = "https://files.pythonhosted.org/packages/05/c3/10c68a08849f1fa45d205e54141fa75d316013e3d701ef01770ee1220bb8/rpds_py-0.20.1-pp39-pypy39_pp73-win_amd64.whl", hash = "sha256:83cba698cfb3c2c5a7c3c6bac12fe6c6a51aae69513726be6411076185a8b24a", size = 219991, upload-time = "2024-10-31T14:30:18.49Z" }, -] - [[package]] name = "rpds-py" version = "0.26.0" source = { registry = "https://pypi.org/simple" } -resolution-markers = [ - "python_full_version >= '3.12' and sys_platform == 'darwin'", - "python_full_version >= '3.12' and platform_machine == 'aarch64' and sys_platform == 'linux'", - "(python_full_version >= '3.12' and platform_machine != 'aarch64' and sys_platform == 'linux') or (python_full_version >= '3.12' and sys_platform != 'darwin' and sys_platform != 'linux')", - "python_full_version == '3.11.*' and sys_platform == 'darwin'", - "python_full_version == '3.11.*' and platform_machine == 'aarch64' and sys_platform == 'linux'", - "(python_full_version == '3.11.*' and platform_machine != 'aarch64' and sys_platform == 'linux') or (python_full_version == '3.11.*' and sys_platform != 'darwin' and sys_platform != 'linux')", - "python_full_version == '3.10.*' and sys_platform == 'darwin'", - "python_full_version == '3.10.*' and platform_machine == 'aarch64' and sys_platform == 'linux'", - "(python_full_version == '3.10.*' and platform_machine != 'aarch64' and sys_platform == 'linux') or (python_full_version == '3.10.*' and sys_platform != 'darwin' and sys_platform != 'linux')", - "python_full_version == '3.9.*' and platform_machine == 'arm64' and sys_platform == 'darwin'", - "python_full_version == '3.9.*' and platform_machine == 'aarch64' and sys_platform == 'linux'", - "(python_full_version == '3.9.*' and platform_machine != 'arm64' and sys_platform == 'darwin') or (python_full_version == '3.9.*' and platform_machine != 'aarch64' and sys_platform == 'linux') or (python_full_version == '3.9.*' and sys_platform != 'darwin' and sys_platform != 'linux')", -] sdist = { url = "https://files.pythonhosted.org/packages/a5/aa/4456d84bbb54adc6a916fb10c9b374f78ac840337644e4a5eda229c81275/rpds_py-0.26.0.tar.gz", hash = "sha256:20dae58a859b0906f0685642e591056f1e787f3a8b39c8e8749a45dc7d26bdb0", size = 27385, upload-time = "2025-07-01T15:57:13.958Z" } wheels = [ { url = "https://files.pythonhosted.org/packages/b9/31/1459645f036c3dfeacef89e8e5825e430c77dde8489f3b99eaafcd4a60f5/rpds_py-0.26.0-cp310-cp310-macosx_10_12_x86_64.whl", hash = "sha256:4c70c70f9169692b36307a95f3d8c0a9fcd79f7b4a383aad5eaa0e9718b79b37", size = 372466, upload-time = "2025-07-01T15:53:40.55Z" }, @@ -5306,53 +3283,17 @@ wheels = [ { url = "https://files.pythonhosted.org/packages/2c/07/c554b6ed0064b6e0350a622714298e930b3cf5a3d445a2e25c412268abcf/rpds_py-0.26.0-pp39-pypy39_pp73-win_amd64.whl", hash = "sha256:69a607203441e07e9a8a529cff1d5b73f6a160f22db1097211e6212a68567d11", size = 232048, upload-time = "2025-07-01T15:57:12.473Z" }, ] -[[package]] -name = "scipy" -version = "1.10.1" -source = { registry = "https://pypi.org/simple" } -resolution-markers = [ - "python_full_version < '3.9' and platform_machine == 'arm64' and sys_platform == 'darwin'", - "python_full_version < '3.9' and platform_machine == 'aarch64' and sys_platform == 'linux'", - "(python_full_version < '3.9' and platform_machine != 'arm64' and sys_platform == 'darwin') or (python_full_version < '3.9' and platform_machine != 'aarch64' and sys_platform == 'linux') or (python_full_version < '3.9' and sys_platform != 'darwin' and sys_platform != 'linux')", -] -dependencies = [ - { name = "numpy", version = "1.24.4", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.9'" }, -] -sdist = { url = "https://files.pythonhosted.org/packages/84/a9/2bf119f3f9cff1f376f924e39cfae18dec92a1514784046d185731301281/scipy-1.10.1.tar.gz", hash = "sha256:2cf9dfb80a7b4589ba4c40ce7588986d6d5cebc5457cad2c2880f6bc2d42f3a5", size = 42407997, upload-time = "2023-02-19T21:20:13.395Z" } -wheels = [ - { url = "https://files.pythonhosted.org/packages/0a/ac/b1f1bbf7b01d96495f35be003b881f10f85bf6559efb6e9578da832c2140/scipy-1.10.1-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:e7354fd7527a4b0377ce55f286805b34e8c54b91be865bac273f527e1b839019", size = 35093243, upload-time = "2023-02-19T20:33:55.754Z" }, - { url = "https://files.pythonhosted.org/packages/ea/e5/452086ebed676ce4000ceb5eeeb0ee4f8c6f67c7e70fb9323a370ff95c1f/scipy-1.10.1-cp310-cp310-macosx_12_0_arm64.whl", hash = "sha256:4b3f429188c66603a1a5c549fb414e4d3bdc2a24792e061ffbd607d3d75fd84e", size = 28772969, upload-time = "2023-02-19T20:34:39.318Z" }, - { url = "https://files.pythonhosted.org/packages/04/0b/a1b119c869b79a2ab459b7f9fd7e2dea75a9c7d432e64e915e75586bd00b/scipy-1.10.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:1553b5dcddd64ba9a0d95355e63fe6c3fc303a8fd77c7bc91e77d61363f7433f", size = 30886961, upload-time = "2023-02-19T20:35:33.724Z" }, - { url = "https://files.pythonhosted.org/packages/1f/4b/3bacad9a166350cb2e518cea80ab891016933cc1653f15c90279512c5fa9/scipy-1.10.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:4c0ff64b06b10e35215abce517252b375e580a6125fd5fdf6421b98efbefb2d2", size = 34422544, upload-time = "2023-02-19T20:37:03.859Z" }, - { url = "https://files.pythonhosted.org/packages/ec/e3/b06ac3738bf365e89710205a471abe7dceec672a51c244b469bc5d1291c7/scipy-1.10.1-cp310-cp310-win_amd64.whl", hash = "sha256:fae8a7b898c42dffe3f7361c40d5952b6bf32d10c4569098d276b4c547905ee1", size = 42484848, upload-time = "2023-02-19T20:39:09.467Z" }, - { url = "https://files.pythonhosted.org/packages/e7/53/053cd3669be0d474deae8fe5f757bff4c4f480b8a410231e0631c068873d/scipy-1.10.1-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:0f1564ea217e82c1bbe75ddf7285ba0709ecd503f048cb1236ae9995f64217bd", size = 35003170, upload-time = "2023-02-19T20:40:53.274Z" }, - { url = "https://files.pythonhosted.org/packages/0d/3e/d05b9de83677195886fb79844fcca19609a538db63b1790fa373155bc3cf/scipy-1.10.1-cp311-cp311-macosx_12_0_arm64.whl", hash = "sha256:d925fa1c81b772882aa55bcc10bf88324dadb66ff85d548c71515f6689c6dac5", size = 28717513, upload-time = "2023-02-19T20:42:20.82Z" }, - { url = "https://files.pythonhosted.org/packages/a5/3d/b69746c50e44893da57a68457da3d7e5bb75f6a37fbace3769b70d017488/scipy-1.10.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:aaea0a6be54462ec027de54fca511540980d1e9eea68b2d5c1dbfe084797be35", size = 30687257, upload-time = "2023-02-19T20:43:48.139Z" }, - { url = "https://files.pythonhosted.org/packages/21/cd/fe2d4af234b80dc08c911ce63fdaee5badcdde3e9bcd9a68884580652ef0/scipy-1.10.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:15a35c4242ec5f292c3dd364a7c71a61be87a3d4ddcc693372813c0b73c9af1d", size = 34124096, upload-time = "2023-02-19T20:45:27.415Z" }, - { url = "https://files.pythonhosted.org/packages/65/76/903324159e4a3566e518c558aeb21571d642f781d842d8dd0fd9c6b0645a/scipy-1.10.1-cp311-cp311-win_amd64.whl", hash = "sha256:43b8e0bcb877faf0abfb613d51026cd5cc78918e9530e375727bf0625c82788f", size = 42238704, upload-time = "2023-02-19T20:47:26.366Z" }, - { url = "https://files.pythonhosted.org/packages/a0/e3/37508a11dae501349d7c16e4dd18c706a023629eedc650ee094593887a89/scipy-1.10.1-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:5678f88c68ea866ed9ebe3a989091088553ba12c6090244fdae3e467b1139c35", size = 35041063, upload-time = "2023-02-19T20:49:02.296Z" }, - { url = "https://files.pythonhosted.org/packages/93/4a/50c436de1353cce8b66b26e49a687f10b91fe7465bf34e4565d810153003/scipy-1.10.1-cp38-cp38-macosx_12_0_arm64.whl", hash = "sha256:39becb03541f9e58243f4197584286e339029e8908c46f7221abeea4b749fa88", size = 28797694, upload-time = "2023-02-19T20:50:19.381Z" }, - { url = "https://files.pythonhosted.org/packages/d2/b5/ff61b79ad0ebd15d87ade10e0f4e80114dd89fac34a5efade39e99048c91/scipy-1.10.1-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:bce5869c8d68cf383ce240e44c1d9ae7c06078a9396df68ce88a1230f93a30c1", size = 31024657, upload-time = "2023-02-19T20:51:49.175Z" }, - { url = "https://files.pythonhosted.org/packages/69/f0/fb07a9548e48b687b8bf2fa81d71aba9cfc548d365046ca1c791e24db99d/scipy-1.10.1-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:07c3457ce0b3ad5124f98a86533106b643dd811dd61b548e78cf4c8786652f6f", size = 34540352, upload-time = "2023-02-19T20:53:30.821Z" }, - { url = "https://files.pythonhosted.org/packages/32/8e/7f403535ddf826348c9b8417791e28712019962f7e90ff845896d6325d09/scipy-1.10.1-cp38-cp38-win_amd64.whl", hash = "sha256:049a8bbf0ad95277ffba9b3b7d23e5369cc39e66406d60422c8cfef40ccc8415", size = 42215036, upload-time = "2023-02-19T20:55:09.639Z" }, - { url = "https://files.pythonhosted.org/packages/d9/7d/78b8035bc93c869b9f17261c87aae97a9cdb937f65f0d453c2831aa172fc/scipy-1.10.1-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:cd9f1027ff30d90618914a64ca9b1a77a431159df0e2a195d8a9e8a04c78abf9", size = 35158611, upload-time = "2023-02-19T20:56:02.715Z" }, - { url = "https://files.pythonhosted.org/packages/e7/f0/55d81813b1a4cb79ce7dc8290eac083bf38bfb36e1ada94ea13b7b1a5f79/scipy-1.10.1-cp39-cp39-macosx_12_0_arm64.whl", hash = "sha256:79c8e5a6c6ffaf3a2262ef1be1e108a035cf4f05c14df56057b64acc5bebffb6", size = 28902591, upload-time = "2023-02-19T20:56:45.728Z" }, - { url = "https://files.pythonhosted.org/packages/77/d1/722c457b319eed1d642e0a14c9be37eb475f0e6ed1f3401fa480d5d6d36e/scipy-1.10.1-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:51af417a000d2dbe1ec6c372dfe688e041a7084da4fdd350aeb139bd3fb55353", size = 30960654, upload-time = "2023-02-19T20:57:32.091Z" }, - { url = "https://files.pythonhosted.org/packages/5d/30/b2a2a5bf1a3beefb7609fb871dcc6aef7217c69cef19a4631b7ab5622a8a/scipy-1.10.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:1b4735d6c28aad3cdcf52117e0e91d6b39acd4272f3f5cd9907c24ee931ad601", size = 34458863, upload-time = "2023-02-19T20:58:23.601Z" }, - { url = "https://files.pythonhosted.org/packages/35/20/0ec6246bbb43d18650c9a7cad6602e1a84fd8f9564a9b84cc5faf1e037d0/scipy-1.10.1-cp39-cp39-win_amd64.whl", hash = "sha256:7ff7f37b1bf4417baca958d254e8e2875d0cc23aaadbe65b3d5b3077b0eb23ea", size = 42509516, upload-time = "2023-02-19T20:59:26.296Z" }, -] - [[package]] name = "scipy" version = "1.13.1" source = { registry = "https://pypi.org/simple" } resolution-markers = [ - "python_full_version == '3.9.*' and platform_machine == 'arm64' and sys_platform == 'darwin'", - "python_full_version == '3.9.*' and platform_machine == 'aarch64' and sys_platform == 'linux'", - "(python_full_version == '3.9.*' and platform_machine != 'arm64' and sys_platform == 'darwin') or (python_full_version == '3.9.*' and platform_machine != 'aarch64' and sys_platform == 'linux') or (python_full_version == '3.9.*' and sys_platform != 'darwin' and sys_platform != 'linux')", + "python_full_version < '3.10' and platform_machine == 'arm64' and sys_platform == 'darwin'", + "python_full_version < '3.10' and platform_machine == 'aarch64' and sys_platform == 'linux'", + "(python_full_version < '3.10' and platform_machine != 'arm64' and sys_platform == 'darwin') or (python_full_version < '3.10' and platform_machine != 'aarch64' and sys_platform == 'linux') or (python_full_version < '3.10' and sys_platform != 'darwin' and sys_platform != 'linux')", ] dependencies = [ - { name = "numpy", version = "2.0.2", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version == '3.9.*'" }, + { name = "numpy", version = "2.0.2", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.10'" }, ] sdist = { url = "https://files.pythonhosted.org/packages/ae/00/48c2f661e2816ccf2ecd77982f6605b2950afe60f60a52b4cbbc2504aa8f/scipy-1.13.1.tar.gz", hash = "sha256:095a87a0312b08dfd6a6155cbbd310a8c51800fc931b8c0b84003014b874ed3c", size = 57210720, upload-time = "2024-05-23T03:29:26.079Z" } wheels = [ @@ -5520,38 +3461,10 @@ wheels = [ { url = "https://files.pythonhosted.org/packages/40/b0/4562db6223154aa4e22f939003cb92514c79f3d4dccca3444253fd17f902/Send2Trash-1.8.3-py3-none-any.whl", hash = "sha256:0c31227e0bd08961c7665474a3d1ef7193929fedda4233843689baa056be46c9", size = 18072, upload-time = "2024-04-07T00:01:07.438Z" }, ] -[[package]] -name = "setuptools" -version = "75.3.2" -source = { registry = "https://pypi.org/simple" } -resolution-markers = [ - "python_full_version < '3.9' and platform_machine == 'arm64' and sys_platform == 'darwin'", - "python_full_version < '3.9' and platform_machine == 'aarch64' and sys_platform == 'linux'", - "(python_full_version < '3.9' and platform_machine != 'arm64' and sys_platform == 'darwin') or (python_full_version < '3.9' and platform_machine != 'aarch64' and sys_platform == 'linux') or (python_full_version < '3.9' and sys_platform != 'darwin' and sys_platform != 'linux')", -] -sdist = { url = "https://files.pythonhosted.org/packages/5c/01/771ea46cce201dd42cff043a5eea929d1c030fb3d1c2ee2729d02ca7814c/setuptools-75.3.2.tar.gz", hash = "sha256:3c1383e1038b68556a382c1e8ded8887cd20141b0eb5708a6c8d277de49364f5", size = 1354489, upload-time = "2025-03-12T00:02:19.004Z" } -wheels = [ - { url = "https://files.pythonhosted.org/packages/15/65/3f0dba35760d902849d39d38c0a72767794b1963227b69a587f8a336d08c/setuptools-75.3.2-py3-none-any.whl", hash = "sha256:90ab613b6583fc02d5369cbca13ea26ea0e182d1df2d943ee9cbe81d4c61add9", size = 1251198, upload-time = "2025-03-12T00:02:17.554Z" }, -] - [[package]] name = "setuptools" version = "80.9.0" source = { registry = "https://pypi.org/simple" } -resolution-markers = [ - "python_full_version >= '3.12' and sys_platform == 'darwin'", - "python_full_version >= '3.12' and platform_machine == 'aarch64' and sys_platform == 'linux'", - "(python_full_version >= '3.12' and platform_machine != 'aarch64' and sys_platform == 'linux') or (python_full_version >= '3.12' and sys_platform != 'darwin' and sys_platform != 'linux')", - "python_full_version == '3.11.*' and sys_platform == 'darwin'", - "python_full_version == '3.11.*' and platform_machine == 'aarch64' and sys_platform == 'linux'", - "(python_full_version == '3.11.*' and platform_machine != 'aarch64' and sys_platform == 'linux') or (python_full_version == '3.11.*' and sys_platform != 'darwin' and sys_platform != 'linux')", - "python_full_version == '3.10.*' and sys_platform == 'darwin'", - "python_full_version == '3.10.*' and platform_machine == 'aarch64' and sys_platform == 'linux'", - "(python_full_version == '3.10.*' and platform_machine != 'aarch64' and sys_platform == 'linux') or (python_full_version == '3.10.*' and sys_platform != 'darwin' and sys_platform != 'linux')", - "python_full_version == '3.9.*' and platform_machine == 'arm64' and sys_platform == 'darwin'", - "python_full_version == '3.9.*' and platform_machine == 'aarch64' and sys_platform == 'linux'", - "(python_full_version == '3.9.*' and platform_machine != 'arm64' and sys_platform == 'darwin') or (python_full_version == '3.9.*' and platform_machine != 'aarch64' and sys_platform == 'linux') or (python_full_version == '3.9.*' and sys_platform != 'darwin' and sys_platform != 'linux')", -] sdist = { url = "https://files.pythonhosted.org/packages/18/5d/3bf57dcd21979b887f014ea83c24ae194cfcd12b9e0fda66b957c69d1fca/setuptools-80.9.0.tar.gz", hash = "sha256:f36b47402ecde768dbfafc46e8e4207b4360c654f1f3bb84475f0a28628fb19c", size = 1319958, upload-time = "2025-05-27T00:56:51.443Z" } wheels = [ { url = "https://files.pythonhosted.org/packages/a3/dc/17031897dae0efacfea57dfd3a82fdd2a2aeb58e0ff71b77b87e44edc772/setuptools-80.9.0-py3-none-any.whl", hash = "sha256:062d34222ad13e0cc312a4c02d73f059e86a4acbfbdea8f8f76b28c99f306922", size = 1201486, upload-time = "2025-05-27T00:56:49.664Z" }, @@ -5613,19 +3526,16 @@ version = "0.26.0rc7" source = { editable = "." } dependencies = [ { name = "defusedxml" }, - { name = "matplotlib", version = "3.7.5", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.9'" }, - { name = "matplotlib", version = "3.9.4", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version == '3.9.*'" }, + { name = "matplotlib", version = "3.9.4", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.10'" }, { name = "matplotlib", version = "3.10.3", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.10'" }, - { name = "numpy", version = "1.24.4", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.9'" }, - { name = "numpy", version = "2.0.2", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version == '3.9.*'" }, + { name = "numpy", version = "2.0.2", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.10'" }, { name = "numpy", version = "2.2.6", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version == '3.10.*'" }, { name = "numpy", version = "2.3.1", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.11'" }, { name = "opencv-python" }, { name = "pillow" }, { name = "pyyaml" }, { name = "requests" }, - { name = "scipy", version = "1.10.1", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.9'" }, - { name = "scipy", version = "1.13.1", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version == '3.9.*'" }, + { name = "scipy", version = "1.13.1", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.10'" }, { name = "scipy", version = "1.15.3", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version == '3.10.*'" }, { name = "scipy", version = "1.16.0", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.11'" }, { name = "tqdm" }, @@ -5633,8 +3543,7 @@ dependencies = [ [package.optional-dependencies] metrics = [ - { name = "pandas", version = "2.0.3", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.9'" }, - { name = "pandas", version = "2.3.1", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.9'" }, + { name = "pandas" }, ] [package.dev-dependencies] @@ -5644,30 +3553,22 @@ build = [ { name = "wheel" }, ] dev = [ - { name = "docutils", version = "0.20.1", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.9'" }, - { name = "docutils", version = "0.21.2", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.9'" }, + { name = "docutils" }, { name = "ipywidgets" }, - { name = "jupytext", version = "1.17.1", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.9'" }, - { name = "jupytext", version = "1.17.2", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.9'" }, + { name = "jupytext" }, { name = "nbconvert" }, - { name = "notebook", version = "7.3.3", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.9'" }, - { name = "notebook", version = "7.4.4", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.9'" }, - { name = "pytest", version = "8.3.5", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.9'" }, - { name = "pytest", version = "8.4.1", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.9'" }, - { name = "tox", version = "4.25.0", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.9'" }, - { name = "tox", version = "4.27.0", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.9'" }, + { name = "notebook" }, + { name = "pytest" }, + { name = "tox" }, ] docs = [ { name = "mike" }, { name = "mkdocs-git-committers-plugin-2", marker = "python_full_version < '4'" }, { name = "mkdocs-git-revision-date-localized-plugin" }, - { name = "mkdocs-jupyter", version = "0.24.8", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.9'" }, - { name = "mkdocs-jupyter", version = "0.25.1", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.9'" }, + { name = "mkdocs-jupyter" }, { name = "mkdocs-material", extra = ["imaging"] }, - { name = "mkdocstrings", version = "0.26.1", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.9'" }, - { name = "mkdocstrings", version = "0.29.1", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.9'" }, - { name = "mkdocstrings-python", version = "1.11.1", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.9'" }, - { name = "mkdocstrings-python", version = "1.16.12", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.9'" }, + { name = "mkdocstrings" }, + { name = "mkdocstrings-python" }, ] [package.metadata] @@ -5702,7 +3603,7 @@ dev = [ ] docs = [ { name = "mike", specifier = ">=2.0.0" }, - { name = "mkdocs-git-committers-plugin-2", marker = "python_full_version >= '3.8' and python_full_version < '4'", specifier = ">=2.4.1" }, + { name = "mkdocs-git-committers-plugin-2", marker = "python_full_version >= '3.9' and python_full_version < '4'", specifier = ">=2.4.1" }, { name = "mkdocs-git-revision-date-localized-plugin", specifier = ">=1.2.4" }, { name = "mkdocs-jupyter", specifier = ">=0.24.3" }, { name = "mkdocs-material", extras = ["imaging"], specifier = ">=9.5.5" }, @@ -5716,53 +3617,20 @@ version = "0.18.1" source = { registry = "https://pypi.org/simple" } dependencies = [ { name = "ptyprocess", marker = "os_name != 'nt'" }, - { name = "pywinpty", version = "2.0.14", source = { registry = "https://pypi.org/simple" }, marker = "(python_full_version < '3.9' and os_name == 'nt' and platform_machine != 'arm64' and sys_platform == 'darwin') or (python_full_version < '3.9' and os_name == 'nt' and platform_machine != 'aarch64' and sys_platform == 'linux') or (python_full_version < '3.9' and os_name == 'nt' and sys_platform != 'darwin' and sys_platform != 'linux')" }, - { name = "pywinpty", version = "2.0.15", source = { registry = "https://pypi.org/simple" }, marker = "(python_full_version == '3.9.*' and os_name == 'nt' and platform_machine != 'arm64' and sys_platform == 'darwin') or (python_full_version >= '3.9' and os_name == 'nt' and platform_machine != 'aarch64' and sys_platform == 'linux') or (python_full_version >= '3.9' and os_name == 'nt' and sys_platform != 'darwin' and sys_platform != 'linux')" }, - { name = "tornado", version = "6.4.2", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.9'" }, - { name = "tornado", version = "6.5.1", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.9'" }, + { name = "pywinpty", marker = "(python_full_version < '3.10' and os_name == 'nt' and platform_machine != 'arm64' and sys_platform == 'darwin') or (os_name == 'nt' and platform_machine != 'aarch64' and sys_platform == 'linux') or (os_name == 'nt' and sys_platform != 'darwin' and sys_platform != 'linux')" }, + { name = "tornado" }, ] sdist = { url = "https://files.pythonhosted.org/packages/8a/11/965c6fd8e5cc254f1fe142d547387da17a8ebfd75a3455f637c663fb38a0/terminado-0.18.1.tar.gz", hash = "sha256:de09f2c4b85de4765f7714688fff57d3e75bad1f909b589fde880460c753fd2e", size = 32701, upload-time = "2024-03-12T14:34:39.026Z" } wheels = [ { url = "https://files.pythonhosted.org/packages/6a/9e/2064975477fdc887e47ad42157e214526dcad8f317a948dee17e1659a62f/terminado-0.18.1-py3-none-any.whl", hash = "sha256:a4468e1b37bb318f8a86514f65814e1afc977cf29b3992a4500d9dd305dcceb0", size = 14154, upload-time = "2024-03-12T14:34:36.569Z" }, ] -[[package]] -name = "tinycss2" -version = "1.2.1" -source = { registry = "https://pypi.org/simple" } -resolution-markers = [ - "python_full_version < '3.9' and platform_machine == 'arm64' and sys_platform == 'darwin'", - "python_full_version < '3.9' and platform_machine == 'aarch64' and sys_platform == 'linux'", - "(python_full_version < '3.9' and platform_machine != 'arm64' and sys_platform == 'darwin') or (python_full_version < '3.9' and platform_machine != 'aarch64' and sys_platform == 'linux') or (python_full_version < '3.9' and sys_platform != 'darwin' and sys_platform != 'linux')", -] -dependencies = [ - { name = "webencodings", marker = "python_full_version < '3.9'" }, -] -sdist = { url = "https://files.pythonhosted.org/packages/75/be/24179dfaa1d742c9365cbd0e3f0edc5d3aa3abad415a2327c5a6ff8ca077/tinycss2-1.2.1.tar.gz", hash = "sha256:8cff3a8f066c2ec677c06dbc7b45619804a6938478d9d73c284b29d14ecb0627", size = 65957, upload-time = "2022-10-18T07:04:56.49Z" } -wheels = [ - { url = "https://files.pythonhosted.org/packages/da/99/fd23634d6962c2791fb8cb6ccae1f05dcbfc39bce36bba8b1c9a8d92eae8/tinycss2-1.2.1-py3-none-any.whl", hash = "sha256:2b80a96d41e7c3914b8cda8bc7f705a4d9c49275616e886103dd839dfc847847", size = 21824, upload-time = "2022-10-18T07:04:54.003Z" }, -] - [[package]] name = "tinycss2" version = "1.4.0" source = { registry = "https://pypi.org/simple" } -resolution-markers = [ - "python_full_version >= '3.12' and sys_platform == 'darwin'", - "python_full_version >= '3.12' and platform_machine == 'aarch64' and sys_platform == 'linux'", - "(python_full_version >= '3.12' and platform_machine != 'aarch64' and sys_platform == 'linux') or (python_full_version >= '3.12' and sys_platform != 'darwin' and sys_platform != 'linux')", - "python_full_version == '3.11.*' and sys_platform == 'darwin'", - "python_full_version == '3.11.*' and platform_machine == 'aarch64' and sys_platform == 'linux'", - "(python_full_version == '3.11.*' and platform_machine != 'aarch64' and sys_platform == 'linux') or (python_full_version == '3.11.*' and sys_platform != 'darwin' and sys_platform != 'linux')", - "python_full_version == '3.10.*' and sys_platform == 'darwin'", - "python_full_version == '3.10.*' and platform_machine == 'aarch64' and sys_platform == 'linux'", - "(python_full_version == '3.10.*' and platform_machine != 'aarch64' and sys_platform == 'linux') or (python_full_version == '3.10.*' and sys_platform != 'darwin' and sys_platform != 'linux')", - "python_full_version == '3.9.*' and platform_machine == 'arm64' and sys_platform == 'darwin'", - "python_full_version == '3.9.*' and platform_machine == 'aarch64' and sys_platform == 'linux'", - "(python_full_version == '3.9.*' and platform_machine != 'arm64' and sys_platform == 'darwin') or (python_full_version == '3.9.*' and platform_machine != 'aarch64' and sys_platform == 'linux') or (python_full_version == '3.9.*' and sys_platform != 'darwin' and sys_platform != 'linux')", -] dependencies = [ - { name = "webencodings", marker = "python_full_version >= '3.9'" }, + { name = "webencodings" }, ] sdist = { url = "https://files.pythonhosted.org/packages/7a/fd/7a5ee21fd08ff70d3d33a5781c255cbe779659bd03278feb98b19ee550f4/tinycss2-1.4.0.tar.gz", hash = "sha256:10c0972f6fc0fbee87c3edb76549357415e94548c1ae10ebccdea16fb404a9b7", size = 87085, upload-time = "2024-10-24T14:58:29.895Z" } wheels = [ @@ -5808,47 +3676,10 @@ wheels = [ { url = "https://files.pythonhosted.org/packages/6e/c2/61d3e0f47e2b74ef40a68b9e6ad5984f6241a942f7cd3bbfbdbd03861ea9/tomli-2.2.1-py3-none-any.whl", hash = "sha256:cb55c73c5f4408779d0cf3eef9f762b9c9f147a77de7b258bef0a5628adc85cc", size = 14257, upload-time = "2024-11-27T22:38:35.385Z" }, ] -[[package]] -name = "tornado" -version = "6.4.2" -source = { registry = "https://pypi.org/simple" } -resolution-markers = [ - "python_full_version < '3.9' and platform_machine == 'arm64' and sys_platform == 'darwin'", - "python_full_version < '3.9' and platform_machine == 'aarch64' and sys_platform == 'linux'", - "(python_full_version < '3.9' and platform_machine != 'arm64' and sys_platform == 'darwin') or (python_full_version < '3.9' and platform_machine != 'aarch64' and sys_platform == 'linux') or (python_full_version < '3.9' and sys_platform != 'darwin' and sys_platform != 'linux')", -] -sdist = { url = "https://files.pythonhosted.org/packages/59/45/a0daf161f7d6f36c3ea5fc0c2de619746cc3dd4c76402e9db545bd920f63/tornado-6.4.2.tar.gz", hash = "sha256:92bad5b4746e9879fd7bf1eb21dce4e3fc5128d71601f80005afa39237ad620b", size = 501135, upload-time = "2024-11-22T03:06:38.036Z" } -wheels = [ - { url = "https://files.pythonhosted.org/packages/26/7e/71f604d8cea1b58f82ba3590290b66da1e72d840aeb37e0d5f7291bd30db/tornado-6.4.2-cp38-abi3-macosx_10_9_universal2.whl", hash = "sha256:e828cce1123e9e44ae2a50a9de3055497ab1d0aeb440c5ac23064d9e44880da1", size = 436299, upload-time = "2024-11-22T03:06:20.162Z" }, - { url = "https://files.pythonhosted.org/packages/96/44/87543a3b99016d0bf54fdaab30d24bf0af2e848f1d13d34a3a5380aabe16/tornado-6.4.2-cp38-abi3-macosx_10_9_x86_64.whl", hash = "sha256:072ce12ada169c5b00b7d92a99ba089447ccc993ea2143c9ede887e0937aa803", size = 434253, upload-time = "2024-11-22T03:06:22.39Z" }, - { url = "https://files.pythonhosted.org/packages/cb/fb/fdf679b4ce51bcb7210801ef4f11fdac96e9885daa402861751353beea6e/tornado-6.4.2-cp38-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:1a017d239bd1bb0919f72af256a970624241f070496635784d9bf0db640d3fec", size = 437602, upload-time = "2024-11-22T03:06:24.214Z" }, - { url = "https://files.pythonhosted.org/packages/4f/3b/e31aeffffc22b475a64dbeb273026a21b5b566f74dee48742817626c47dc/tornado-6.4.2-cp38-abi3-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:c36e62ce8f63409301537222faffcef7dfc5284f27eec227389f2ad11b09d946", size = 436972, upload-time = "2024-11-22T03:06:25.559Z" }, - { url = "https://files.pythonhosted.org/packages/22/55/b78a464de78051a30599ceb6983b01d8f732e6f69bf37b4ed07f642ac0fc/tornado-6.4.2-cp38-abi3-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:bca9eb02196e789c9cb5c3c7c0f04fb447dc2adffd95265b2c7223a8a615ccbf", size = 437173, upload-time = "2024-11-22T03:06:27.584Z" }, - { url = "https://files.pythonhosted.org/packages/79/5e/be4fb0d1684eb822c9a62fb18a3e44a06188f78aa466b2ad991d2ee31104/tornado-6.4.2-cp38-abi3-musllinux_1_2_aarch64.whl", hash = "sha256:304463bd0772442ff4d0f5149c6f1c2135a1fae045adf070821c6cdc76980634", size = 437892, upload-time = "2024-11-22T03:06:28.933Z" }, - { url = "https://files.pythonhosted.org/packages/f5/33/4f91fdd94ea36e1d796147003b490fe60a0215ac5737b6f9c65e160d4fe0/tornado-6.4.2-cp38-abi3-musllinux_1_2_i686.whl", hash = "sha256:c82c46813ba483a385ab2a99caeaedf92585a1f90defb5693351fa7e4ea0bf73", size = 437334, upload-time = "2024-11-22T03:06:30.428Z" }, - { url = "https://files.pythonhosted.org/packages/2b/ae/c1b22d4524b0e10da2f29a176fb2890386f7bd1f63aacf186444873a88a0/tornado-6.4.2-cp38-abi3-musllinux_1_2_x86_64.whl", hash = "sha256:932d195ca9015956fa502c6b56af9eb06106140d844a335590c1ec7f5277d10c", size = 437261, upload-time = "2024-11-22T03:06:32.458Z" }, - { url = "https://files.pythonhosted.org/packages/b5/25/36dbd49ab6d179bcfc4c6c093a51795a4f3bed380543a8242ac3517a1751/tornado-6.4.2-cp38-abi3-win32.whl", hash = "sha256:2876cef82e6c5978fde1e0d5b1f919d756968d5b4282418f3146b79b58556482", size = 438463, upload-time = "2024-11-22T03:06:34.71Z" }, - { url = "https://files.pythonhosted.org/packages/61/cc/58b1adeb1bb46228442081e746fcdbc4540905c87e8add7c277540934edb/tornado-6.4.2-cp38-abi3-win_amd64.whl", hash = "sha256:908b71bf3ff37d81073356a5fadcc660eb10c1476ee6e2725588626ce7e5ca38", size = 438907, upload-time = "2024-11-22T03:06:36.71Z" }, -] - [[package]] name = "tornado" version = "6.5.1" source = { registry = "https://pypi.org/simple" } -resolution-markers = [ - "python_full_version >= '3.12' and sys_platform == 'darwin'", - "python_full_version >= '3.12' and platform_machine == 'aarch64' and sys_platform == 'linux'", - "(python_full_version >= '3.12' and platform_machine != 'aarch64' and sys_platform == 'linux') or (python_full_version >= '3.12' and sys_platform != 'darwin' and sys_platform != 'linux')", - "python_full_version == '3.11.*' and sys_platform == 'darwin'", - "python_full_version == '3.11.*' and platform_machine == 'aarch64' and sys_platform == 'linux'", - "(python_full_version == '3.11.*' and platform_machine != 'aarch64' and sys_platform == 'linux') or (python_full_version == '3.11.*' and sys_platform != 'darwin' and sys_platform != 'linux')", - "python_full_version == '3.10.*' and sys_platform == 'darwin'", - "python_full_version == '3.10.*' and platform_machine == 'aarch64' and sys_platform == 'linux'", - "(python_full_version == '3.10.*' and platform_machine != 'aarch64' and sys_platform == 'linux') or (python_full_version == '3.10.*' and sys_platform != 'darwin' and sys_platform != 'linux')", - "python_full_version == '3.9.*' and platform_machine == 'arm64' and sys_platform == 'darwin'", - "python_full_version == '3.9.*' and platform_machine == 'aarch64' and sys_platform == 'linux'", - "(python_full_version == '3.9.*' and platform_machine != 'arm64' and sys_platform == 'darwin') or (python_full_version == '3.9.*' and platform_machine != 'aarch64' and sys_platform == 'linux') or (python_full_version == '3.9.*' and sys_platform != 'darwin' and sys_platform != 'linux')", -] sdist = { url = "https://files.pythonhosted.org/packages/51/89/c72771c81d25d53fe33e3dca61c233b665b2780f21820ba6fd2c6793c12b/tornado-6.5.1.tar.gz", hash = "sha256:84ceece391e8eb9b2b95578db65e920d2a61070260594819589609ba9bc6308c", size = 509934, upload-time = "2025-05-22T18:15:38.788Z" } wheels = [ { url = "https://files.pythonhosted.org/packages/77/89/f4532dee6843c9e0ebc4e28d4be04c67f54f60813e4bf73d595fe7567452/tornado-6.5.1-cp39-abi3-macosx_10_9_universal2.whl", hash = "sha256:d50065ba7fd11d3bd41bcad0825227cc9a95154bad83239357094c36708001f7", size = 441948, upload-time = "2025-05-22T18:15:20.862Z" }, @@ -5864,63 +3695,22 @@ wheels = [ { url = "https://files.pythonhosted.org/packages/55/a7/535c44c7bea4578e48281d83c615219f3ab19e6abc67625ef637c73987be/tornado-6.5.1-cp39-abi3-win_arm64.whl", hash = "sha256:02420a0eb7bf617257b9935e2b754d1b63897525d8a289c9d65690d580b4dcf7", size = 443596, upload-time = "2025-05-22T18:15:37.433Z" }, ] -[[package]] -name = "tox" -version = "4.25.0" -source = { registry = "https://pypi.org/simple" } -resolution-markers = [ - "python_full_version < '3.9' and platform_machine == 'arm64' and sys_platform == 'darwin'", - "python_full_version < '3.9' and platform_machine == 'aarch64' and sys_platform == 'linux'", - "(python_full_version < '3.9' and platform_machine != 'arm64' and sys_platform == 'darwin') or (python_full_version < '3.9' and platform_machine != 'aarch64' and sys_platform == 'linux') or (python_full_version < '3.9' and sys_platform != 'darwin' and sys_platform != 'linux')", -] -dependencies = [ - { name = "cachetools", version = "5.5.2", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.9'" }, - { name = "chardet", marker = "python_full_version < '3.9'" }, - { name = "colorama", marker = "python_full_version < '3.9'" }, - { name = "filelock", version = "3.16.1", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.9'" }, - { name = "packaging", marker = "python_full_version < '3.9'" }, - { name = "platformdirs", version = "4.3.6", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.9'" }, - { name = "pluggy", version = "1.5.0", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.9'" }, - { name = "pyproject-api", version = "1.8.0", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.9'" }, - { name = "tomli", marker = "python_full_version < '3.9'" }, - { name = "typing-extensions", version = "4.13.2", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.9'" }, - { name = "virtualenv", marker = "python_full_version < '3.9'" }, -] -sdist = { url = "https://files.pythonhosted.org/packages/fe/87/692478f0a194f1cad64803692642bd88c12c5b64eee16bf178e4a32e979c/tox-4.25.0.tar.gz", hash = "sha256:dd67f030317b80722cf52b246ff42aafd3ed27ddf331c415612d084304cf5e52", size = 196255, upload-time = "2025-03-27T15:13:37.519Z" } -wheels = [ - { url = "https://files.pythonhosted.org/packages/f9/38/33348de6fc4b1afb3d76d8485c8aecbdabcfb3af8da53d40c792332e2b37/tox-4.25.0-py3-none-any.whl", hash = "sha256:4dfdc7ba2cc6fdc6688dde1b21e7b46ff6c41795fb54586c91a3533317b5255c", size = 172420, upload-time = "2025-03-27T15:13:35.703Z" }, -] - [[package]] name = "tox" version = "4.27.0" source = { registry = "https://pypi.org/simple" } -resolution-markers = [ - "python_full_version >= '3.12' and sys_platform == 'darwin'", - "python_full_version >= '3.12' and platform_machine == 'aarch64' and sys_platform == 'linux'", - "(python_full_version >= '3.12' and platform_machine != 'aarch64' and sys_platform == 'linux') or (python_full_version >= '3.12' and sys_platform != 'darwin' and sys_platform != 'linux')", - "python_full_version == '3.11.*' and sys_platform == 'darwin'", - "python_full_version == '3.11.*' and platform_machine == 'aarch64' and sys_platform == 'linux'", - "(python_full_version == '3.11.*' and platform_machine != 'aarch64' and sys_platform == 'linux') or (python_full_version == '3.11.*' and sys_platform != 'darwin' and sys_platform != 'linux')", - "python_full_version == '3.10.*' and sys_platform == 'darwin'", - "python_full_version == '3.10.*' and platform_machine == 'aarch64' and sys_platform == 'linux'", - "(python_full_version == '3.10.*' and platform_machine != 'aarch64' and sys_platform == 'linux') or (python_full_version == '3.10.*' and sys_platform != 'darwin' and sys_platform != 'linux')", - "python_full_version == '3.9.*' and platform_machine == 'arm64' and sys_platform == 'darwin'", - "python_full_version == '3.9.*' and platform_machine == 'aarch64' and sys_platform == 'linux'", - "(python_full_version == '3.9.*' and platform_machine != 'arm64' and sys_platform == 'darwin') or (python_full_version == '3.9.*' and platform_machine != 'aarch64' and sys_platform == 'linux') or (python_full_version == '3.9.*' and sys_platform != 'darwin' and sys_platform != 'linux')", -] dependencies = [ - { name = "cachetools", version = "6.1.0", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.9'" }, - { name = "chardet", marker = "python_full_version >= '3.9'" }, - { name = "colorama", marker = "python_full_version >= '3.9'" }, - { name = "filelock", version = "3.18.0", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.9'" }, - { name = "packaging", marker = "python_full_version >= '3.9'" }, - { name = "platformdirs", version = "4.3.8", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.9'" }, - { name = "pluggy", version = "1.6.0", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.9'" }, - { name = "pyproject-api", version = "1.9.1", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.9'" }, - { name = "tomli", marker = "python_full_version >= '3.9' and python_full_version < '3.11'" }, - { name = "typing-extensions", version = "4.14.1", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.9' and python_full_version < '3.11'" }, - { name = "virtualenv", marker = "python_full_version >= '3.9'" }, + { name = "cachetools" }, + { name = "chardet" }, + { name = "colorama" }, + { name = "filelock" }, + { name = "packaging" }, + { name = "platformdirs" }, + { name = "pluggy" }, + { name = "pyproject-api" }, + { name = "tomli", marker = "python_full_version < '3.11'" }, + { name = "typing-extensions", marker = "python_full_version < '3.11'" }, + { name = "virtualenv" }, ] sdist = { url = "https://files.pythonhosted.org/packages/a5/b7/19c01717747076f63c54d871ada081cd711a7c9a7572f2225675c3858b94/tox-4.27.0.tar.gz", hash = "sha256:b97d5ecc0c0d5755bcc5348387fef793e1bfa68eb33746412f4c60881d7f5f57", size = 198351, upload-time = "2025-06-17T15:17:50.585Z" } wheels = [ @@ -5954,94 +3744,34 @@ version = "6.1.0" source = { registry = "https://pypi.org/simple" } dependencies = [ { name = "id" }, - { name = "importlib-metadata", version = "8.5.0", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.9'" }, - { name = "importlib-metadata", version = "8.7.0", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version == '3.9.*'" }, - { name = "keyring", version = "25.5.0", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.9' and platform_machine != 'ppc64le' and platform_machine != 's390x'" }, - { name = "keyring", version = "25.6.0", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.9' and platform_machine != 'ppc64le' and platform_machine != 's390x'" }, + { name = "importlib-metadata", marker = "python_full_version < '3.10'" }, + { name = "keyring", marker = "platform_machine != 'ppc64le' and platform_machine != 's390x'" }, { name = "packaging" }, - { name = "readme-renderer", version = "43.0", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.9'" }, - { name = "readme-renderer", version = "44.0", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.9'" }, + { name = "readme-renderer" }, { name = "requests" }, { name = "requests-toolbelt" }, { name = "rfc3986" }, { name = "rich" }, - { name = "urllib3", version = "2.2.3", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.9'" }, - { name = "urllib3", version = "2.5.0", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.9'" }, + { name = "urllib3" }, ] sdist = { url = "https://files.pythonhosted.org/packages/c8/a2/6df94fc5c8e2170d21d7134a565c3a8fb84f9797c1dd65a5976aaf714418/twine-6.1.0.tar.gz", hash = "sha256:be324f6272eff91d07ee93f251edf232fc647935dd585ac003539b42404a8dbd", size = 168404, upload-time = "2025-01-21T18:45:26.758Z" } wheels = [ { url = "https://files.pythonhosted.org/packages/7c/b6/74e927715a285743351233f33ea3c684528a0d374d2e43ff9ce9585b73fe/twine-6.1.0-py3-none-any.whl", hash = "sha256:a47f973caf122930bf0fbbf17f80b83bc1602c9ce393c7845f289a3001dc5384", size = 40791, upload-time = "2025-01-21T18:45:24.584Z" }, ] -[[package]] -name = "types-python-dateutil" -version = "2.9.0.20241206" -source = { registry = "https://pypi.org/simple" } -resolution-markers = [ - "python_full_version < '3.9' and platform_machine == 'arm64' and sys_platform == 'darwin'", - "python_full_version < '3.9' and platform_machine == 'aarch64' and sys_platform == 'linux'", - "(python_full_version < '3.9' and platform_machine != 'arm64' and sys_platform == 'darwin') or (python_full_version < '3.9' and platform_machine != 'aarch64' and sys_platform == 'linux') or (python_full_version < '3.9' and sys_platform != 'darwin' and sys_platform != 'linux')", -] -sdist = { url = "https://files.pythonhosted.org/packages/a9/60/47d92293d9bc521cd2301e423a358abfac0ad409b3a1606d8fbae1321961/types_python_dateutil-2.9.0.20241206.tar.gz", hash = "sha256:18f493414c26ffba692a72369fea7a154c502646301ebfe3d56a04b3767284cb", size = 13802, upload-time = "2024-12-06T02:56:41.019Z" } -wheels = [ - { url = "https://files.pythonhosted.org/packages/0f/b3/ca41df24db5eb99b00d97f89d7674a90cb6b3134c52fb8121b6d8d30f15c/types_python_dateutil-2.9.0.20241206-py3-none-any.whl", hash = "sha256:e248a4bc70a486d3e3ec84d0dc30eec3a5f979d6e7ee4123ae043eedbb987f53", size = 14384, upload-time = "2024-12-06T02:56:39.412Z" }, -] - [[package]] name = "types-python-dateutil" version = "2.9.0.20250708" source = { registry = "https://pypi.org/simple" } -resolution-markers = [ - "python_full_version >= '3.12' and sys_platform == 'darwin'", - "python_full_version >= '3.12' and platform_machine == 'aarch64' and sys_platform == 'linux'", - "(python_full_version >= '3.12' and platform_machine != 'aarch64' and sys_platform == 'linux') or (python_full_version >= '3.12' and sys_platform != 'darwin' and sys_platform != 'linux')", - "python_full_version == '3.11.*' and sys_platform == 'darwin'", - "python_full_version == '3.11.*' and platform_machine == 'aarch64' and sys_platform == 'linux'", - "(python_full_version == '3.11.*' and platform_machine != 'aarch64' and sys_platform == 'linux') or (python_full_version == '3.11.*' and sys_platform != 'darwin' and sys_platform != 'linux')", - "python_full_version == '3.10.*' and sys_platform == 'darwin'", - "python_full_version == '3.10.*' and platform_machine == 'aarch64' and sys_platform == 'linux'", - "(python_full_version == '3.10.*' and platform_machine != 'aarch64' and sys_platform == 'linux') or (python_full_version == '3.10.*' and sys_platform != 'darwin' and sys_platform != 'linux')", - "python_full_version == '3.9.*' and platform_machine == 'arm64' and sys_platform == 'darwin'", - "python_full_version == '3.9.*' and platform_machine == 'aarch64' and sys_platform == 'linux'", - "(python_full_version == '3.9.*' and platform_machine != 'arm64' and sys_platform == 'darwin') or (python_full_version == '3.9.*' and platform_machine != 'aarch64' and sys_platform == 'linux') or (python_full_version == '3.9.*' and sys_platform != 'darwin' and sys_platform != 'linux')", -] sdist = { url = "https://files.pythonhosted.org/packages/c9/95/6bdde7607da2e1e99ec1c1672a759d42f26644bbacf939916e086db34870/types_python_dateutil-2.9.0.20250708.tar.gz", hash = "sha256:ccdbd75dab2d6c9696c350579f34cffe2c281e4c5f27a585b2a2438dd1d5c8ab", size = 15834, upload-time = "2025-07-08T03:14:03.382Z" } wheels = [ { url = "https://files.pythonhosted.org/packages/72/52/43e70a8e57fefb172c22a21000b03ebcc15e47e97f5cb8495b9c2832efb4/types_python_dateutil-2.9.0.20250708-py3-none-any.whl", hash = "sha256:4d6d0cc1cc4d24a2dc3816024e502564094497b713f7befda4d5bc7a8e3fd21f", size = 17724, upload-time = "2025-07-08T03:14:02.593Z" }, ] -[[package]] -name = "typing-extensions" -version = "4.13.2" -source = { registry = "https://pypi.org/simple" } -resolution-markers = [ - "python_full_version < '3.9' and platform_machine == 'arm64' and sys_platform == 'darwin'", - "python_full_version < '3.9' and platform_machine == 'aarch64' and sys_platform == 'linux'", - "(python_full_version < '3.9' and platform_machine != 'arm64' and sys_platform == 'darwin') or (python_full_version < '3.9' and platform_machine != 'aarch64' and sys_platform == 'linux') or (python_full_version < '3.9' and sys_platform != 'darwin' and sys_platform != 'linux')", -] -sdist = { url = "https://files.pythonhosted.org/packages/f6/37/23083fcd6e35492953e8d2aaaa68b860eb422b34627b13f2ce3eb6106061/typing_extensions-4.13.2.tar.gz", hash = "sha256:e6c81219bd689f51865d9e372991c540bda33a0379d5573cddb9a3a23f7caaef", size = 106967, upload-time = "2025-04-10T14:19:05.416Z" } -wheels = [ - { url = "https://files.pythonhosted.org/packages/8b/54/b1ae86c0973cc6f0210b53d508ca3641fb6d0c56823f288d108bc7ab3cc8/typing_extensions-4.13.2-py3-none-any.whl", hash = "sha256:a439e7c04b49fec3e5d3e2beaa21755cadbbdc391694e28ccdd36ca4a1408f8c", size = 45806, upload-time = "2025-04-10T14:19:03.967Z" }, -] - [[package]] name = "typing-extensions" version = "4.14.1" source = { registry = "https://pypi.org/simple" } -resolution-markers = [ - "python_full_version >= '3.12' and sys_platform == 'darwin'", - "python_full_version >= '3.12' and platform_machine == 'aarch64' and sys_platform == 'linux'", - "(python_full_version >= '3.12' and platform_machine != 'aarch64' and sys_platform == 'linux') or (python_full_version >= '3.12' and sys_platform != 'darwin' and sys_platform != 'linux')", - "python_full_version == '3.11.*' and sys_platform == 'darwin'", - "python_full_version == '3.11.*' and platform_machine == 'aarch64' and sys_platform == 'linux'", - "(python_full_version == '3.11.*' and platform_machine != 'aarch64' and sys_platform == 'linux') or (python_full_version == '3.11.*' and sys_platform != 'darwin' and sys_platform != 'linux')", - "python_full_version == '3.10.*' and sys_platform == 'darwin'", - "python_full_version == '3.10.*' and platform_machine == 'aarch64' and sys_platform == 'linux'", - "(python_full_version == '3.10.*' and platform_machine != 'aarch64' and sys_platform == 'linux') or (python_full_version == '3.10.*' and sys_platform != 'darwin' and sys_platform != 'linux')", - "python_full_version == '3.9.*' and platform_machine == 'arm64' and sys_platform == 'darwin'", - "python_full_version == '3.9.*' and platform_machine == 'aarch64' and sys_platform == 'linux'", - "(python_full_version == '3.9.*' and platform_machine != 'arm64' and sys_platform == 'darwin') or (python_full_version == '3.9.*' and platform_machine != 'aarch64' and sys_platform == 'linux') or (python_full_version == '3.9.*' and sys_platform != 'darwin' and sys_platform != 'linux')", -] sdist = { url = "https://files.pythonhosted.org/packages/98/5a/da40306b885cc8c09109dc2e1abd358d5684b1425678151cdaed4731c822/typing_extensions-4.14.1.tar.gz", hash = "sha256:38b39f4aeeab64884ce9f74c94263ef78f3c22467c8724005483154c26648d36", size = 107673, upload-time = "2025-07-04T13:28:34.16Z" } wheels = [ { url = "https://files.pythonhosted.org/packages/b5/00/d631e67a838026495268c2f6884f3711a15a9a2a96cd244fdaea53b823fb/typing_extensions-4.14.1-py3-none-any.whl", hash = "sha256:d1e1e3b58374dc93031d6eda2420a48ea44a36c2b4766a4fdeb3710755731d76", size = 43906, upload-time = "2025-07-04T13:28:32.743Z" }, @@ -6065,38 +3795,10 @@ wheels = [ { url = "https://files.pythonhosted.org/packages/e7/00/3fca040d7cf8a32776d3d81a00c8ee7457e00f80c649f1e4a863c8321ae9/uri_template-1.3.0-py3-none-any.whl", hash = "sha256:a44a133ea12d44a0c0f06d7d42a52d71282e77e2f937d8abd5655b8d56fc1363", size = 11140, upload-time = "2023-06-21T01:49:03.467Z" }, ] -[[package]] -name = "urllib3" -version = "2.2.3" -source = { registry = "https://pypi.org/simple" } -resolution-markers = [ - "python_full_version < '3.9' and platform_machine == 'arm64' and sys_platform == 'darwin'", - "python_full_version < '3.9' and platform_machine == 'aarch64' and sys_platform == 'linux'", - "(python_full_version < '3.9' and platform_machine != 'arm64' and sys_platform == 'darwin') or (python_full_version < '3.9' and platform_machine != 'aarch64' and sys_platform == 'linux') or (python_full_version < '3.9' and sys_platform != 'darwin' and sys_platform != 'linux')", -] -sdist = { url = "https://files.pythonhosted.org/packages/ed/63/22ba4ebfe7430b76388e7cd448d5478814d3032121827c12a2cc287e2260/urllib3-2.2.3.tar.gz", hash = "sha256:e7d814a81dad81e6caf2ec9fdedb284ecc9c73076b62654547cc64ccdcae26e9", size = 300677, upload-time = "2024-09-12T10:52:18.401Z" } -wheels = [ - { url = "https://files.pythonhosted.org/packages/ce/d9/5f4c13cecde62396b0d3fe530a50ccea91e7dfc1ccf0e09c228841bb5ba8/urllib3-2.2.3-py3-none-any.whl", hash = "sha256:ca899ca043dcb1bafa3e262d73aa25c465bfb49e0bd9dd5d59f1d0acba2f8fac", size = 126338, upload-time = "2024-09-12T10:52:16.589Z" }, -] - [[package]] name = "urllib3" version = "2.5.0" source = { registry = "https://pypi.org/simple" } -resolution-markers = [ - "python_full_version >= '3.12' and sys_platform == 'darwin'", - "python_full_version >= '3.12' and platform_machine == 'aarch64' and sys_platform == 'linux'", - "(python_full_version >= '3.12' and platform_machine != 'aarch64' and sys_platform == 'linux') or (python_full_version >= '3.12' and sys_platform != 'darwin' and sys_platform != 'linux')", - "python_full_version == '3.11.*' and sys_platform == 'darwin'", - "python_full_version == '3.11.*' and platform_machine == 'aarch64' and sys_platform == 'linux'", - "(python_full_version == '3.11.*' and platform_machine != 'aarch64' and sys_platform == 'linux') or (python_full_version == '3.11.*' and sys_platform != 'darwin' and sys_platform != 'linux')", - "python_full_version == '3.10.*' and sys_platform == 'darwin'", - "python_full_version == '3.10.*' and platform_machine == 'aarch64' and sys_platform == 'linux'", - "(python_full_version == '3.10.*' and platform_machine != 'aarch64' and sys_platform == 'linux') or (python_full_version == '3.10.*' and sys_platform != 'darwin' and sys_platform != 'linux')", - "python_full_version == '3.9.*' and platform_machine == 'arm64' and sys_platform == 'darwin'", - "python_full_version == '3.9.*' and platform_machine == 'aarch64' and sys_platform == 'linux'", - "(python_full_version == '3.9.*' and platform_machine != 'arm64' and sys_platform == 'darwin') or (python_full_version == '3.9.*' and platform_machine != 'aarch64' and sys_platform == 'linux') or (python_full_version == '3.9.*' and sys_platform != 'darwin' and sys_platform != 'linux')", -] sdist = { url = "https://files.pythonhosted.org/packages/15/22/9ee70a2574a4f4599c47dd506532914ce044817c7752a79b6a51286319bc/urllib3-2.5.0.tar.gz", hash = "sha256:3fc47733c7e419d4bc3f6b3dc2b4f890bb743906a30d56ba4a5bfa4bbff92760", size = 393185, upload-time = "2025-06-18T14:07:41.644Z" } wheels = [ { url = "https://files.pythonhosted.org/packages/a7/c2/fe1e52489ae3122415c51f387e221dd0773709bad6c6cdaa599e8a2c5185/urllib3-2.5.0-py3-none-any.whl", hash = "sha256:e6b01673c0fa6a13e374b50871808eb3bf7046c4b125b216f6bf1cc604cff0dc", size = 129795, upload-time = "2025-06-18T14:07:40.39Z" }, @@ -6117,81 +3819,18 @@ version = "20.31.2" source = { registry = "https://pypi.org/simple" } dependencies = [ { name = "distlib" }, - { name = "filelock", version = "3.16.1", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.9'" }, - { name = "filelock", version = "3.18.0", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.9'" }, - { name = "platformdirs", version = "4.3.6", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.9'" }, - { name = "platformdirs", version = "4.3.8", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.9'" }, + { name = "filelock" }, + { name = "platformdirs" }, ] sdist = { url = "https://files.pythonhosted.org/packages/56/2c/444f465fb2c65f40c3a104fd0c495184c4f2336d65baf398e3c75d72ea94/virtualenv-20.31.2.tar.gz", hash = "sha256:e10c0a9d02835e592521be48b332b6caee6887f332c111aa79a09b9e79efc2af", size = 6076316, upload-time = "2025-05-08T17:58:23.811Z" } wheels = [ { url = "https://files.pythonhosted.org/packages/f3/40/b1c265d4b2b62b58576588510fc4d1fe60a86319c8de99fd8e9fec617d2c/virtualenv-20.31.2-py3-none-any.whl", hash = "sha256:36efd0d9650ee985f0cad72065001e66d49a6f24eb44d98980f630686243cf11", size = 6057982, upload-time = "2025-05-08T17:58:21.15Z" }, ] -[[package]] -name = "watchdog" -version = "4.0.2" -source = { registry = "https://pypi.org/simple" } -resolution-markers = [ - "python_full_version < '3.9' and platform_machine == 'arm64' and sys_platform == 'darwin'", - "python_full_version < '3.9' and platform_machine == 'aarch64' and sys_platform == 'linux'", - "(python_full_version < '3.9' and platform_machine != 'arm64' and sys_platform == 'darwin') or (python_full_version < '3.9' and platform_machine != 'aarch64' and sys_platform == 'linux') or (python_full_version < '3.9' and sys_platform != 'darwin' and sys_platform != 'linux')", -] -sdist = { url = "https://files.pythonhosted.org/packages/4f/38/764baaa25eb5e35c9a043d4c4588f9836edfe52a708950f4b6d5f714fd42/watchdog-4.0.2.tar.gz", hash = "sha256:b4dfbb6c49221be4535623ea4474a4d6ee0a9cef4a80b20c28db4d858b64e270", size = 126587, upload-time = "2024-08-11T07:38:01.623Z" } -wheels = [ - { url = "https://files.pythonhosted.org/packages/46/b0/219893d41c16d74d0793363bf86df07d50357b81f64bba4cb94fe76e7af4/watchdog-4.0.2-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:ede7f010f2239b97cc79e6cb3c249e72962404ae3865860855d5cbe708b0fd22", size = 100257, upload-time = "2024-08-11T07:37:04.209Z" }, - { url = "https://files.pythonhosted.org/packages/6d/c6/8e90c65693e87d98310b2e1e5fd7e313266990853b489e85ce8396cc26e3/watchdog-4.0.2-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:a2cffa171445b0efa0726c561eca9a27d00a1f2b83846dbd5a4f639c4f8ca8e1", size = 92249, upload-time = "2024-08-11T07:37:06.364Z" }, - { url = "https://files.pythonhosted.org/packages/6f/cd/2e306756364a934532ff8388d90eb2dc8bb21fe575cd2b33d791ce05a02f/watchdog-4.0.2-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:c50f148b31b03fbadd6d0b5980e38b558046b127dc483e5e4505fcef250f9503", size = 92888, upload-time = "2024-08-11T07:37:08.275Z" }, - { url = "https://files.pythonhosted.org/packages/de/78/027ad372d62f97642349a16015394a7680530460b1c70c368c506cb60c09/watchdog-4.0.2-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:7c7d4bf585ad501c5f6c980e7be9c4f15604c7cc150e942d82083b31a7548930", size = 100256, upload-time = "2024-08-11T07:37:11.017Z" }, - { url = "https://files.pythonhosted.org/packages/59/a9/412b808568c1814d693b4ff1cec0055dc791780b9dc947807978fab86bc1/watchdog-4.0.2-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:914285126ad0b6eb2258bbbcb7b288d9dfd655ae88fa28945be05a7b475a800b", size = 92252, upload-time = "2024-08-11T07:37:13.098Z" }, - { url = "https://files.pythonhosted.org/packages/04/57/179d76076cff264982bc335dd4c7da6d636bd3e9860bbc896a665c3447b6/watchdog-4.0.2-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:984306dc4720da5498b16fc037b36ac443816125a3705dfde4fd90652d8028ef", size = 92888, upload-time = "2024-08-11T07:37:15.077Z" }, - { url = "https://files.pythonhosted.org/packages/92/f5/ea22b095340545faea37ad9a42353b265ca751f543da3fb43f5d00cdcd21/watchdog-4.0.2-cp312-cp312-macosx_10_9_universal2.whl", hash = "sha256:1cdcfd8142f604630deef34722d695fb455d04ab7cfe9963055df1fc69e6727a", size = 100342, upload-time = "2024-08-11T07:37:16.393Z" }, - { url = "https://files.pythonhosted.org/packages/cb/d2/8ce97dff5e465db1222951434e3115189ae54a9863aef99c6987890cc9ef/watchdog-4.0.2-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:d7ab624ff2f663f98cd03c8b7eedc09375a911794dfea6bf2a359fcc266bff29", size = 92306, upload-time = "2024-08-11T07:37:17.997Z" }, - { url = "https://files.pythonhosted.org/packages/49/c4/1aeba2c31b25f79b03b15918155bc8c0b08101054fc727900f1a577d0d54/watchdog-4.0.2-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:132937547a716027bd5714383dfc40dc66c26769f1ce8a72a859d6a48f371f3a", size = 92915, upload-time = "2024-08-11T07:37:19.967Z" }, - { url = "https://files.pythonhosted.org/packages/79/63/eb8994a182672c042d85a33507475c50c2ee930577524dd97aea05251527/watchdog-4.0.2-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:cd67c7df93eb58f360c43802acc945fa8da70c675b6fa37a241e17ca698ca49b", size = 100343, upload-time = "2024-08-11T07:37:21.935Z" }, - { url = "https://files.pythonhosted.org/packages/ce/82/027c0c65c2245769580605bcd20a1dc7dfd6c6683c8c4e2ef43920e38d27/watchdog-4.0.2-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:bcfd02377be80ef3b6bc4ce481ef3959640458d6feaae0bd43dd90a43da90a7d", size = 92313, upload-time = "2024-08-11T07:37:23.314Z" }, - { url = "https://files.pythonhosted.org/packages/2a/89/ad4715cbbd3440cb0d336b78970aba243a33a24b1a79d66f8d16b4590d6a/watchdog-4.0.2-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:980b71510f59c884d684b3663d46e7a14b457c9611c481e5cef08f4dd022eed7", size = 92919, upload-time = "2024-08-11T07:37:24.715Z" }, - { url = "https://files.pythonhosted.org/packages/55/08/1a9086a3380e8828f65b0c835b86baf29ebb85e5e94a2811a2eb4f889cfd/watchdog-4.0.2-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:aa160781cafff2719b663c8a506156e9289d111d80f3387cf3af49cedee1f040", size = 100255, upload-time = "2024-08-11T07:37:26.862Z" }, - { url = "https://files.pythonhosted.org/packages/6c/3e/064974628cf305831f3f78264800bd03b3358ec181e3e9380a36ff156b93/watchdog-4.0.2-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:f6ee8dedd255087bc7fe82adf046f0b75479b989185fb0bdf9a98b612170eac7", size = 92257, upload-time = "2024-08-11T07:37:28.253Z" }, - { url = "https://files.pythonhosted.org/packages/23/69/1d2ad9c12d93bc1e445baa40db46bc74757f3ffc3a3be592ba8dbc51b6e5/watchdog-4.0.2-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:0b4359067d30d5b864e09c8597b112fe0a0a59321a0f331498b013fb097406b4", size = 92886, upload-time = "2024-08-11T07:37:29.52Z" }, - { url = "https://files.pythonhosted.org/packages/68/eb/34d3173eceab490d4d1815ba9a821e10abe1da7a7264a224e30689b1450c/watchdog-4.0.2-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:770eef5372f146997638d737c9a3c597a3b41037cfbc5c41538fc27c09c3a3f9", size = 100254, upload-time = "2024-08-11T07:37:30.888Z" }, - { url = "https://files.pythonhosted.org/packages/18/a1/4bbafe7ace414904c2cc9bd93e472133e8ec11eab0b4625017f0e34caad8/watchdog-4.0.2-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:eeea812f38536a0aa859972d50c76e37f4456474b02bd93674d1947cf1e39578", size = 92249, upload-time = "2024-08-11T07:37:32.193Z" }, - { url = "https://files.pythonhosted.org/packages/f3/11/ec5684e0ca692950826af0de862e5db167523c30c9cbf9b3f4ce7ec9cc05/watchdog-4.0.2-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:b2c45f6e1e57ebb4687690c05bc3a2c1fb6ab260550c4290b8abb1335e0fd08b", size = 92891, upload-time = "2024-08-11T07:37:34.212Z" }, - { url = "https://files.pythonhosted.org/packages/3b/9a/6f30f023324de7bad8a3eb02b0afb06bd0726003a3550e9964321315df5a/watchdog-4.0.2-pp310-pypy310_pp73-macosx_10_15_x86_64.whl", hash = "sha256:10b6683df70d340ac3279eff0b2766813f00f35a1d37515d2c99959ada8f05fa", size = 91775, upload-time = "2024-08-11T07:37:35.567Z" }, - { url = "https://files.pythonhosted.org/packages/87/62/8be55e605d378a154037b9ba484e00a5478e627b69c53d0f63e3ef413ba6/watchdog-4.0.2-pp310-pypy310_pp73-macosx_11_0_arm64.whl", hash = "sha256:f7c739888c20f99824f7aa9d31ac8a97353e22d0c0e54703a547a218f6637eb3", size = 92255, upload-time = "2024-08-11T07:37:37.596Z" }, - { url = "https://files.pythonhosted.org/packages/6b/59/12e03e675d28f450bade6da6bc79ad6616080b317c472b9ae688d2495a03/watchdog-4.0.2-pp38-pypy38_pp73-macosx_10_9_x86_64.whl", hash = "sha256:c100d09ac72a8a08ddbf0629ddfa0b8ee41740f9051429baa8e31bb903ad7508", size = 91682, upload-time = "2024-08-11T07:37:38.901Z" }, - { url = "https://files.pythonhosted.org/packages/ef/69/241998de9b8e024f5c2fbdf4324ea628b4231925305011ca8b7e1c3329f6/watchdog-4.0.2-pp38-pypy38_pp73-macosx_11_0_arm64.whl", hash = "sha256:f5315a8c8dd6dd9425b974515081fc0aadca1d1d61e078d2246509fd756141ee", size = 92249, upload-time = "2024-08-11T07:37:40.143Z" }, - { url = "https://files.pythonhosted.org/packages/70/3f/2173b4d9581bc9b5df4d7f2041b6c58b5e5448407856f68d4be9981000d0/watchdog-4.0.2-pp39-pypy39_pp73-macosx_10_15_x86_64.whl", hash = "sha256:2d468028a77b42cc685ed694a7a550a8d1771bb05193ba7b24006b8241a571a1", size = 91773, upload-time = "2024-08-11T07:37:42.095Z" }, - { url = "https://files.pythonhosted.org/packages/f0/de/6fff29161d5789048f06ef24d94d3ddcc25795f347202b7ea503c3356acb/watchdog-4.0.2-pp39-pypy39_pp73-macosx_11_0_arm64.whl", hash = "sha256:f15edcae3830ff20e55d1f4e743e92970c847bcddc8b7509bcd172aa04de506e", size = 92250, upload-time = "2024-08-11T07:37:44.052Z" }, - { url = "https://files.pythonhosted.org/packages/8a/b1/25acf6767af6f7e44e0086309825bd8c098e301eed5868dc5350642124b9/watchdog-4.0.2-py3-none-manylinux2014_aarch64.whl", hash = "sha256:936acba76d636f70db8f3c66e76aa6cb5136a936fc2a5088b9ce1c7a3508fc83", size = 82947, upload-time = "2024-08-11T07:37:45.388Z" }, - { url = "https://files.pythonhosted.org/packages/e8/90/aebac95d6f954bd4901f5d46dcd83d68e682bfd21798fd125a95ae1c9dbf/watchdog-4.0.2-py3-none-manylinux2014_armv7l.whl", hash = "sha256:e252f8ca942a870f38cf785aef420285431311652d871409a64e2a0a52a2174c", size = 82942, upload-time = "2024-08-11T07:37:46.722Z" }, - { url = "https://files.pythonhosted.org/packages/15/3a/a4bd8f3b9381824995787488b9282aff1ed4667e1110f31a87b871ea851c/watchdog-4.0.2-py3-none-manylinux2014_i686.whl", hash = "sha256:0e83619a2d5d436a7e58a1aea957a3c1ccbf9782c43c0b4fed80580e5e4acd1a", size = 82947, upload-time = "2024-08-11T07:37:48.941Z" }, - { url = "https://files.pythonhosted.org/packages/09/cc/238998fc08e292a4a18a852ed8274159019ee7a66be14441325bcd811dfd/watchdog-4.0.2-py3-none-manylinux2014_ppc64.whl", hash = "sha256:88456d65f207b39f1981bf772e473799fcdc10801062c36fd5ad9f9d1d463a73", size = 82946, upload-time = "2024-08-11T07:37:50.279Z" }, - { url = "https://files.pythonhosted.org/packages/80/f1/d4b915160c9d677174aa5fae4537ae1f5acb23b3745ab0873071ef671f0a/watchdog-4.0.2-py3-none-manylinux2014_ppc64le.whl", hash = "sha256:32be97f3b75693a93c683787a87a0dc8db98bb84701539954eef991fb35f5fbc", size = 82947, upload-time = "2024-08-11T07:37:51.55Z" }, - { url = "https://files.pythonhosted.org/packages/db/02/56ebe2cf33b352fe3309588eb03f020d4d1c061563d9858a9216ba004259/watchdog-4.0.2-py3-none-manylinux2014_s390x.whl", hash = "sha256:c82253cfc9be68e3e49282831afad2c1f6593af80c0daf1287f6a92657986757", size = 82944, upload-time = "2024-08-11T07:37:52.855Z" }, - { url = "https://files.pythonhosted.org/packages/01/d2/c8931ff840a7e5bd5dcb93f2bb2a1fd18faf8312e9f7f53ff1cf76ecc8ed/watchdog-4.0.2-py3-none-manylinux2014_x86_64.whl", hash = "sha256:c0b14488bd336c5b1845cee83d3e631a1f8b4e9c5091ec539406e4a324f882d8", size = 82947, upload-time = "2024-08-11T07:37:55.172Z" }, - { url = "https://files.pythonhosted.org/packages/d0/d8/cdb0c21a4a988669d7c210c75c6a2c9a0e16a3b08d9f7e633df0d9a16ad8/watchdog-4.0.2-py3-none-win32.whl", hash = "sha256:0d8a7e523ef03757a5aa29f591437d64d0d894635f8a50f370fe37f913ce4e19", size = 82935, upload-time = "2024-08-11T07:37:56.668Z" }, - { url = "https://files.pythonhosted.org/packages/99/2e/b69dfaae7a83ea64ce36538cc103a3065e12c447963797793d5c0a1d5130/watchdog-4.0.2-py3-none-win_amd64.whl", hash = "sha256:c344453ef3bf875a535b0488e3ad28e341adbd5a9ffb0f7d62cefacc8824ef2b", size = 82934, upload-time = "2024-08-11T07:37:57.991Z" }, - { url = "https://files.pythonhosted.org/packages/b0/0b/43b96a9ecdd65ff5545b1b13b687ca486da5c6249475b1a45f24d63a1858/watchdog-4.0.2-py3-none-win_ia64.whl", hash = "sha256:baececaa8edff42cd16558a639a9b0ddf425f93d892e8392a56bf904f5eff22c", size = 82933, upload-time = "2024-08-11T07:37:59.573Z" }, -] - [[package]] name = "watchdog" version = "6.0.0" source = { registry = "https://pypi.org/simple" } -resolution-markers = [ - "python_full_version >= '3.12' and sys_platform == 'darwin'", - "python_full_version >= '3.12' and platform_machine == 'aarch64' and sys_platform == 'linux'", - "(python_full_version >= '3.12' and platform_machine != 'aarch64' and sys_platform == 'linux') or (python_full_version >= '3.12' and sys_platform != 'darwin' and sys_platform != 'linux')", - "python_full_version == '3.11.*' and sys_platform == 'darwin'", - "python_full_version == '3.11.*' and platform_machine == 'aarch64' and sys_platform == 'linux'", - "(python_full_version == '3.11.*' and platform_machine != 'aarch64' and sys_platform == 'linux') or (python_full_version == '3.11.*' and sys_platform != 'darwin' and sys_platform != 'linux')", - "python_full_version == '3.10.*' and sys_platform == 'darwin'", - "python_full_version == '3.10.*' and platform_machine == 'aarch64' and sys_platform == 'linux'", - "(python_full_version == '3.10.*' and platform_machine != 'aarch64' and sys_platform == 'linux') or (python_full_version == '3.10.*' and sys_platform != 'darwin' and sys_platform != 'linux')", - "python_full_version == '3.9.*' and platform_machine == 'arm64' and sys_platform == 'darwin'", - "python_full_version == '3.9.*' and platform_machine == 'aarch64' and sys_platform == 'linux'", - "(python_full_version == '3.9.*' and platform_machine != 'arm64' and sys_platform == 'darwin') or (python_full_version == '3.9.*' and platform_machine != 'aarch64' and sys_platform == 'linux') or (python_full_version == '3.9.*' and sys_platform != 'darwin' and sys_platform != 'linux')", -] sdist = { url = "https://files.pythonhosted.org/packages/db/7d/7f3d619e951c88ed75c6037b246ddcf2d322812ee8ea189be89511721d54/watchdog-6.0.0.tar.gz", hash = "sha256:9ddf7c82fda3ae8e24decda1338ede66e1c99883db93711d8fb941eaa2d8c282", size = 131220, upload-time = "2024-11-01T14:07:13.037Z" } wheels = [ { url = "https://files.pythonhosted.org/packages/0c/56/90994d789c61df619bfc5ce2ecdabd5eeff564e1eb47512bd01b5e019569/watchdog-6.0.0-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:d1cdb490583ebd691c012b3d6dae011000fe42edb7a82ece80965b42abd61f26", size = 96390, upload-time = "2024-11-01T14:06:24.793Z" }, @@ -6234,38 +3873,10 @@ wheels = [ { url = "https://files.pythonhosted.org/packages/fd/84/fd2ba7aafacbad3c4201d395674fc6348826569da3c0937e75505ead3528/wcwidth-0.2.13-py2.py3-none-any.whl", hash = "sha256:3da69048e4540d84af32131829ff948f1e022c1c6bdb8d6102117aac784f6859", size = 34166, upload-time = "2024-01-06T02:10:55.763Z" }, ] -[[package]] -name = "webcolors" -version = "24.8.0" -source = { registry = "https://pypi.org/simple" } -resolution-markers = [ - "python_full_version < '3.9' and platform_machine == 'arm64' and sys_platform == 'darwin'", - "python_full_version < '3.9' and platform_machine == 'aarch64' and sys_platform == 'linux'", - "(python_full_version < '3.9' and platform_machine != 'arm64' and sys_platform == 'darwin') or (python_full_version < '3.9' and platform_machine != 'aarch64' and sys_platform == 'linux') or (python_full_version < '3.9' and sys_platform != 'darwin' and sys_platform != 'linux')", -] -sdist = { url = "https://files.pythonhosted.org/packages/fe/f8/53150a5bda7e042840b14f0236e1c0a4819d403658e3d453237983addfac/webcolors-24.8.0.tar.gz", hash = "sha256:08b07af286a01bcd30d583a7acadf629583d1f79bfef27dd2c2c5c263817277d", size = 42392, upload-time = "2024-08-10T08:52:31.226Z" } -wheels = [ - { url = "https://files.pythonhosted.org/packages/f0/33/12020ba99beaff91682b28dc0bbf0345bbc3244a4afbae7644e4fa348f23/webcolors-24.8.0-py3-none-any.whl", hash = "sha256:fc4c3b59358ada164552084a8ebee637c221e4059267d0f8325b3b560f6c7f0a", size = 15027, upload-time = "2024-08-10T08:52:28.707Z" }, -] - [[package]] name = "webcolors" version = "24.11.1" source = { registry = "https://pypi.org/simple" } -resolution-markers = [ - "python_full_version >= '3.12' and sys_platform == 'darwin'", - "python_full_version >= '3.12' and platform_machine == 'aarch64' and sys_platform == 'linux'", - "(python_full_version >= '3.12' and platform_machine != 'aarch64' and sys_platform == 'linux') or (python_full_version >= '3.12' and sys_platform != 'darwin' and sys_platform != 'linux')", - "python_full_version == '3.11.*' and sys_platform == 'darwin'", - "python_full_version == '3.11.*' and platform_machine == 'aarch64' and sys_platform == 'linux'", - "(python_full_version == '3.11.*' and platform_machine != 'aarch64' and sys_platform == 'linux') or (python_full_version == '3.11.*' and sys_platform != 'darwin' and sys_platform != 'linux')", - "python_full_version == '3.10.*' and sys_platform == 'darwin'", - "python_full_version == '3.10.*' and platform_machine == 'aarch64' and sys_platform == 'linux'", - "(python_full_version == '3.10.*' and platform_machine != 'aarch64' and sys_platform == 'linux') or (python_full_version == '3.10.*' and sys_platform != 'darwin' and sys_platform != 'linux')", - "python_full_version == '3.9.*' and platform_machine == 'arm64' and sys_platform == 'darwin'", - "python_full_version == '3.9.*' and platform_machine == 'aarch64' and sys_platform == 'linux'", - "(python_full_version == '3.9.*' and platform_machine != 'arm64' and sys_platform == 'darwin') or (python_full_version == '3.9.*' and platform_machine != 'aarch64' and sys_platform == 'linux') or (python_full_version == '3.9.*' and sys_platform != 'darwin' and sys_platform != 'linux')", -] sdist = { url = "https://files.pythonhosted.org/packages/7b/29/061ec845fb58521848f3739e466efd8250b4b7b98c1b6c5bf4d40b419b7e/webcolors-24.11.1.tar.gz", hash = "sha256:ecb3d768f32202af770477b8b65f318fa4f566c22948673a977b00d589dd80f6", size = 45064, upload-time = "2024-11-11T07:43:24.224Z" } wheels = [ { url = "https://files.pythonhosted.org/packages/60/e8/c0e05e4684d13459f93d312077a9a2efbe04d59c393bc2b8802248c908d4/webcolors-24.11.1-py3-none-any.whl", hash = "sha256:515291393b4cdf0eb19c155749a096f779f7d909f7cceea072791cb9095b92e9", size = 14934, upload-time = "2024-11-11T07:43:22.529Z" }, @@ -6307,38 +3918,10 @@ wheels = [ { url = "https://files.pythonhosted.org/packages/ca/51/5447876806d1088a0f8f71e16542bf350918128d0a69437df26047c8e46f/widgetsnbextension-4.0.14-py3-none-any.whl", hash = "sha256:4875a9eaf72fbf5079dc372a51a9f268fc38d46f767cbf85c43a36da5cb9b575", size = 2196503, upload-time = "2025-04-10T13:01:23.086Z" }, ] -[[package]] -name = "zipp" -version = "3.20.2" -source = { registry = "https://pypi.org/simple" } -resolution-markers = [ - "python_full_version < '3.9' and platform_machine == 'arm64' and sys_platform == 'darwin'", - "python_full_version < '3.9' and platform_machine == 'aarch64' and sys_platform == 'linux'", - "(python_full_version < '3.9' and platform_machine != 'arm64' and sys_platform == 'darwin') or (python_full_version < '3.9' and platform_machine != 'aarch64' and sys_platform == 'linux') or (python_full_version < '3.9' and sys_platform != 'darwin' and sys_platform != 'linux')", -] -sdist = { url = "https://files.pythonhosted.org/packages/54/bf/5c0000c44ebc80123ecbdddba1f5dcd94a5ada602a9c225d84b5aaa55e86/zipp-3.20.2.tar.gz", hash = "sha256:bc9eb26f4506fda01b81bcde0ca78103b6e62f991b381fec825435c836edbc29", size = 24199, upload-time = "2024-09-13T13:44:16.101Z" } -wheels = [ - { url = "https://files.pythonhosted.org/packages/62/8b/5ba542fa83c90e09eac972fc9baca7a88e7e7ca4b221a89251954019308b/zipp-3.20.2-py3-none-any.whl", hash = "sha256:a817ac80d6cf4b23bf7f2828b7cabf326f15a001bea8b1f9b49631780ba28350", size = 9200, upload-time = "2024-09-13T13:44:14.38Z" }, -] - [[package]] name = "zipp" version = "3.23.0" source = { registry = "https://pypi.org/simple" } -resolution-markers = [ - "python_full_version >= '3.12' and sys_platform == 'darwin'", - "python_full_version >= '3.12' and platform_machine == 'aarch64' and sys_platform == 'linux'", - "(python_full_version >= '3.12' and platform_machine != 'aarch64' and sys_platform == 'linux') or (python_full_version >= '3.12' and sys_platform != 'darwin' and sys_platform != 'linux')", - "python_full_version == '3.11.*' and sys_platform == 'darwin'", - "python_full_version == '3.11.*' and platform_machine == 'aarch64' and sys_platform == 'linux'", - "(python_full_version == '3.11.*' and platform_machine != 'aarch64' and sys_platform == 'linux') or (python_full_version == '3.11.*' and sys_platform != 'darwin' and sys_platform != 'linux')", - "python_full_version == '3.10.*' and sys_platform == 'darwin'", - "python_full_version == '3.10.*' and platform_machine == 'aarch64' and sys_platform == 'linux'", - "(python_full_version == '3.10.*' and platform_machine != 'aarch64' and sys_platform == 'linux') or (python_full_version == '3.10.*' and sys_platform != 'darwin' and sys_platform != 'linux')", - "python_full_version == '3.9.*' and platform_machine == 'arm64' and sys_platform == 'darwin'", - "python_full_version == '3.9.*' and platform_machine == 'aarch64' and sys_platform == 'linux'", - "(python_full_version == '3.9.*' and platform_machine != 'arm64' and sys_platform == 'darwin') or (python_full_version == '3.9.*' and platform_machine != 'aarch64' and sys_platform == 'linux') or (python_full_version == '3.9.*' and sys_platform != 'darwin' and sys_platform != 'linux')", -] sdist = { url = "https://files.pythonhosted.org/packages/e3/02/0f2892c661036d50ede074e376733dca2ae7c6eb617489437771209d4180/zipp-3.23.0.tar.gz", hash = "sha256:a07157588a12518c9d4034df3fbbee09c814741a33ff63c05fa29d26a2404166", size = 25547, upload-time = "2025-06-08T17:06:39.4Z" } wheels = [ { url = "https://files.pythonhosted.org/packages/2e/54/647ade08bf0db230bfea292f893923872fd20be6ac6f53b2b936ba839d75/zipp-3.23.0-py3-none-any.whl", hash = "sha256:071652d6115ed432f5ce1d34c336c0adfd6a884660d1e9712a256d3d3bd4b14e", size = 10276, upload-time = "2025-06-08T17:06:38.034Z" }, From 2c986abf5ef747a0b8aab0c3ebd87335f6379dd6 Mon Sep 17 00:00:00 2001 From: soumik12345 <19soumik.rakshit96@gmail.com> Date: Tue, 15 Jul 2025 12:20:07 +0530 Subject: [PATCH 362/420] add: remove_noisy_segments in the changelog --- docs/changelog.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/docs/changelog.md b/docs/changelog.md index cd8ca3eadf..654a4c3674 100644 --- a/docs/changelog.md +++ b/docs/changelog.md @@ -19,6 +19,8 @@ - Added new function `box_iou` that efficiently computes the Intersection over Union (IoU) between two individual bounding boxes. ([#1874](https://github.com/roboflow/supervision/pull/1874)) +- Added the function `remove_noisy_segments` for removing the connected components from a mask that are far away from the main component and that also are smaller than a threshold. ([#1885](https://github.com/roboflow/supervision/pull/1885)) + - Added support for frame limitations and progress bar in `sv.process_video`. ([#1816](https://github.com/roboflow/supervision/pull/1816)) - Supervision’s documentation theme now has a fresh look that is consistent with the documentations of all Roboflow open-source projects. ([#1858](https://github.com/roboflow/supervision/pull/1858)) From fb16bd9ee1a005a1dbdede7375a32058f16a891d Mon Sep 17 00:00:00 2001 From: soumik12345 <19soumik.rakshit96@gmail.com> Date: Tue, 15 Jul 2025 13:07:01 +0530 Subject: [PATCH 363/420] chore: change match_metric to overlap_metric --- supervision/detection/core.py | 17 ++++++------- supervision/detection/overlap_filter.py | 32 +++++++++++++++++++++++++ 2 files changed, 41 insertions(+), 8 deletions(-) diff --git a/supervision/detection/core.py b/supervision/detection/core.py index ed77649654..6bbfbf4aa5 100644 --- a/supervision/detection/core.py +++ b/supervision/detection/core.py @@ -16,6 +16,7 @@ box_non_max_suppression, mask_non_max_merge, mask_non_max_suppression, + OverlapMetric, ) from supervision.detection.tools.transformers import ( process_transformers_detection_result, @@ -1572,7 +1573,7 @@ def with_nms( self, threshold: float = 0.5, class_agnostic: bool = False, - match_metric: str = "IOU", + overlap_metric: OverlapMetric = OverlapMetric.IOU, ) -> Detections: """ Performs non-max suppression on detection set. If the detections result @@ -1585,7 +1586,7 @@ def with_nms( class_agnostic (bool): Whether to perform class-agnostic non-maximum suppression. If True, the class_id of each detection will be ignored. Defaults to False. - match_metric (str): Metric used for matching detections in slices. + overlap_metric (OverlapMetric): Metric used for matching detections in slices. "IOU" or "IOS". Defaults "IOU". Returns: @@ -1623,13 +1624,13 @@ def with_nms( predictions=predictions, masks=self.mask, iou_threshold=threshold, - match_metric=match_metric, + match_metric=overlap_metric, ) else: indices = box_non_max_suppression( predictions=predictions, iou_threshold=threshold, - match_metric=match_metric, + match_metric=overlap_metric, ) return self[indices] @@ -1638,7 +1639,7 @@ def with_nmm( self, threshold: float = 0.5, class_agnostic: bool = False, - match_metric: str = "IOU", + overlap_metric: OverlapMetric = OverlapMetric.IOU, ) -> Detections: """ Perform non-maximum merging on the current set of object detections. @@ -1649,7 +1650,7 @@ def with_nmm( class_agnostic (bool): Whether to perform class-agnostic non-maximum merging. If True, the class_id of each detection will be ignored. Defaults to False. - match_metric (str): Metric used for matching detections in slices. + overlap_metric (OverlapMetric): Metric used for matching detections in slices. "IOU" or "IOS". Defaults "IOU". Returns: @@ -1689,13 +1690,13 @@ def with_nmm( predictions=predictions, masks=self.mask, iou_threshold=threshold, - match_metric=match_metric, + match_metric=overlap_metric, ) else: merge_groups = box_non_max_merge( predictions=predictions, iou_threshold=threshold, - match_metric=match_metric, + match_metric=overlap_metric, ) result = [] diff --git a/supervision/detection/overlap_filter.py b/supervision/detection/overlap_filter.py index 26edeaefc9..ab70c54e44 100644 --- a/supervision/detection/overlap_filter.py +++ b/supervision/detection/overlap_filter.py @@ -406,3 +406,35 @@ def from_value(cls, value: Union[OverlapFilter, str]) -> OverlapFilter: f"Invalid value type: {type(value)}. Must be an instance of " f"{cls.__name__} or str." ) + + +class OverlapMetric(Enum): + """ + Enum specifying the metric for measuring overlap between detections. + + Attributes: + IOU: Intersection over Union. + IOS: Intersection over Similarity. + """ + + IOU = "IOU" + IOS = "IOS" + + @classmethod + def list(cls): + return list(map(lambda c: c.value, cls)) + + @classmethod + def from_value(cls, value: Union[OverlapFilter, str]) -> OverlapFilter: + if isinstance(value, cls): + return value + if isinstance(value, str): + value = value.lower() + try: + return cls(value) + except ValueError: + raise ValueError(f"Invalid value: {value}. Must be one of {cls.list()}") + raise ValueError( + f"Invalid value type: {type(value)}. Must be an instance of " + f"{cls.__name__} or str." + ) From 42e9c5ffcba2945bc5edc24acd0222e249333cf1 Mon Sep 17 00:00:00 2001 From: "pre-commit-ci[bot]" <66853113+pre-commit-ci[bot]@users.noreply.github.com> Date: Tue, 15 Jul 2025 07:37:22 +0000 Subject: [PATCH 364/420] =?UTF-8?q?fix(pre=5Fcommit):=20=F0=9F=8E=A8=20aut?= =?UTF-8?q?o=20format=20pre-commit=20hooks?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- supervision/detection/core.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/supervision/detection/core.py b/supervision/detection/core.py index 6bbfbf4aa5..a9857617be 100644 --- a/supervision/detection/core.py +++ b/supervision/detection/core.py @@ -12,11 +12,11 @@ ORIENTED_BOX_COORDINATES, ) from supervision.detection.overlap_filter import ( + OverlapMetric, box_non_max_merge, box_non_max_suppression, mask_non_max_merge, mask_non_max_suppression, - OverlapMetric, ) from supervision.detection.tools.transformers import ( process_transformers_detection_result, From 7849831e12d0af323edbd25bb75ced0fb616223b Mon Sep 17 00:00:00 2001 From: soumik12345 <19soumik.rakshit96@gmail.com> Date: Tue, 15 Jul 2025 13:08:40 +0530 Subject: [PATCH 365/420] chore: make pre-commit happy --- supervision/detection/core.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/supervision/detection/core.py b/supervision/detection/core.py index a9857617be..c428356ab3 100644 --- a/supervision/detection/core.py +++ b/supervision/detection/core.py @@ -1586,8 +1586,8 @@ def with_nms( class_agnostic (bool): Whether to perform class-agnostic non-maximum suppression. If True, the class_id of each detection will be ignored. Defaults to False. - overlap_metric (OverlapMetric): Metric used for matching detections in slices. - "IOU" or "IOS". Defaults "IOU". + overlap_metric (OverlapMetric): Metric used for matching detections + in slices. Returns: Detections: A new Detections object containing the subset of detections From 3fed5f9a259e9c4c00c243216bb05232bb5b7d7d Mon Sep 17 00:00:00 2001 From: soumik12345 <19soumik.rakshit96@gmail.com> Date: Tue, 15 Jul 2025 14:17:41 +0530 Subject: [PATCH 366/420] update: docs --- docs/detection/double_detection_filter.md | 6 ++++++ supervision/detection/overlap_filter.py | 8 ++++++-- 2 files changed, 12 insertions(+), 2 deletions(-) diff --git a/docs/detection/double_detection_filter.md b/docs/detection/double_detection_filter.md index b026637152..5c450ce4d7 100644 --- a/docs/detection/double_detection_filter.md +++ b/docs/detection/double_detection_filter.md @@ -10,6 +10,12 @@ comments: true :::supervision.detection.overlap_filter.OverlapFilter + + +:::supervision.detection.overlap_filter.OverlapMetric + diff --git a/supervision/detection/overlap_filter.py b/supervision/detection/overlap_filter.py index ab70c54e44..9cff643ff2 100644 --- a/supervision/detection/overlap_filter.py +++ b/supervision/detection/overlap_filter.py @@ -413,8 +413,12 @@ class OverlapMetric(Enum): Enum specifying the metric for measuring overlap between detections. Attributes: - IOU: Intersection over Union. - IOS: Intersection over Similarity. + IOU: Intersection over Union. A region-overlap metric that compares + two shapes (usually bounding boxes or masks) by normalising the + shared area with the area of their union. + IOS: Intersection over Smaller, a region-overlap metric that compares + two shapes (usually bounding boxes or masks) by normalising the + shared area with the smaller of the two shapes. """ IOU = "IOU" From fd25f4bf81bf8701e7c20fa0393e0a4cf6e16b12 Mon Sep 17 00:00:00 2001 From: soumik12345 <19soumik.rakshit96@gmail.com> Date: Tue, 15 Jul 2025 15:01:25 +0530 Subject: [PATCH 367/420] add: docs for mask_non_max_merge --- docs/detection/double_detection_filter.md | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/docs/detection/double_detection_filter.md b/docs/detection/double_detection_filter.md index 5c450ce4d7..fbe944cf5d 100644 --- a/docs/detection/double_detection_filter.md +++ b/docs/detection/double_detection_filter.md @@ -33,3 +33,9 @@ comments: true
    :::supervision.detection.overlap_filter.box_non_max_merge + + + +:::supervision.detection.overlap_filter.mask_non_max_merge From ebf4b930b79b4636a34af85696dfe80e7f9e47b8 Mon Sep 17 00:00:00 2001 From: soumik12345 <19soumik.rakshit96@gmail.com> Date: Tue, 15 Jul 2025 15:01:36 +0530 Subject: [PATCH 368/420] add: test for mask_non_max_merge --- test/detection/test_overlap_filter.py | 172 ++++++++++++++++++++++++++ 1 file changed, 172 insertions(+) diff --git a/test/detection/test_overlap_filter.py b/test/detection/test_overlap_filter.py index f628c30f9c..e302afb161 100644 --- a/test/detection/test_overlap_filter.py +++ b/test/detection/test_overlap_filter.py @@ -8,6 +8,7 @@ box_non_max_suppression, group_overlapping_boxes, mask_non_max_suppression, + mask_non_max_merge, ) @@ -447,3 +448,174 @@ def test_mask_non_max_suppression( predictions=predictions, masks=masks, iou_threshold=iou_threshold ) assert np.array_equal(result, expected_result) + + +@pytest.mark.parametrize( + "predictions, masks, iou_threshold, expected_result, exception", + [ + ( + np.empty((0, 6)), + np.empty((0, 5, 5)), + 0.5, + [], + DoesNotRaise(), + ), # empty predictions and masks + ( + np.array([[0, 0, 0, 0, 0.8]]), + np.array( + [ + [ + [False, False, False, False, False], + [False, True, True, True, False], + [False, True, True, True, False], + [False, True, True, True, False], + [False, False, False, False, False], + ] + ] + ), + 0.5, + [[0]], + DoesNotRaise(), + ), # single mask with no category + ( + np.array([[0, 0, 0, 0, 0.8, 0]]), + np.array( + [ + [ + [False, False, False, False, False], + [False, True, True, True, False], + [False, True, True, True, False], + [False, True, True, True, False], + [False, False, False, False, False], + ] + ] + ), + 0.5, + [[0]], + DoesNotRaise(), + ), # single mask with category + ( + np.array([[0, 0, 0, 0, 0.9], [0, 0, 0, 0, 0.8]]), + np.array( + [ + [ + [False, False, False, False, False], + [False, True, True, False, False], + [False, True, True, False, False], + [False, False, False, False, False], + [False, False, False, False, False], + ], + [ + [False, False, False, False, False], + [False, False, False, False, False], + [False, False, False, True, True], + [False, False, False, True, True], + [False, False, False, False, False], + ], + ] + ), + 0.5, + [[0], [1]], + DoesNotRaise(), + ), # two masks non-overlapping with no category + ( + np.array([[0, 0, 0, 0, 0.9], [0, 0, 0, 0, 0.8]]), + np.array( + [ + [ + [False, False, False, False, False], + [False, True, True, True, False], + [False, True, True, True, False], + [False, True, True, True, False], + [False, False, False, False, False], + ], + [ + [False, False, False, False, False], + [False, False, True, True, True], + [False, False, True, True, True], + [False, False, True, True, True], + [False, False, False, False, False], + ], + ] + ), + 0.2, + [[0, 1]], + DoesNotRaise(), + ), # two masks partially overlapping with no category + ( + np.array([[0, 0, 0, 0, 0.9, 0], [0, 0, 0, 0, 0.8, 1]]), + np.array( + [ + [ + [False, False, False, False, False], + [False, True, True, True, False], + [False, True, True, True, False], + [False, True, True, True, False], + [False, False, False, False, False], + ], + [ + [False, False, False, False, False], + [False, False, True, True, True], + [False, False, True, True, True], + [False, False, True, True, True], + [False, False, False, False, False], + ], + ] + ), + 0.2, + [[0], [1]], + DoesNotRaise(), + ), # two masks partially overlapping with different category + ( + np.array( + [ + [0, 0, 0, 0, 0.9, 0], + [0, 0, 0, 0, 0.8, 0], + [0, 0, 0, 0, 0.85, 1], + ] + ), + np.array( + [ + [ # mask 0, class 0 + [False, False, False, False, False], + [False, True, True, True, False], + [False, True, True, True, False], + [False, True, True, True, False], + [False, False, False, False, False], + ], + [ # mask 1, class 0 + [False, False, False, False, False], + [False, False, True, True, True], + [False, False, True, True, True], + [False, False, True, True, True], + [False, False, False, False, False], + ], + [ # mask 2, class 1 + [False, False, False, False, False], + [False, False, False, True, True], + [False, False, False, True, True], + [False, False, False, False, False], + [False, False, False, False, False], + ], + ] + ), + 0.2, + [[0, 1], [2]], + DoesNotRaise(), + ), # three masks, two overlapping with same class + ], +) +def test_mask_non_max_merge( + predictions: np.ndarray, + masks: np.ndarray, + iou_threshold: float, + expected_result: List[List[int]], + exception: Exception, +) -> None: + with exception: + result = mask_non_max_merge( + predictions=predictions, masks=masks, iou_threshold=iou_threshold + ) + result = sorted([sorted(group) for group in result]) + expected_result = sorted([sorted(group) for group in expected_result]) + assert result == expected_result From b3024e780d3baaf83571fa649776921c5be59bd9 Mon Sep 17 00:00:00 2001 From: soumik12345 <19soumik.rakshit96@gmail.com> Date: Tue, 15 Jul 2025 15:01:57 +0530 Subject: [PATCH 369/420] chore: make pre-commit happy --- test/detection/test_overlap_filter.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/test/detection/test_overlap_filter.py b/test/detection/test_overlap_filter.py index e302afb161..08cd870fe3 100644 --- a/test/detection/test_overlap_filter.py +++ b/test/detection/test_overlap_filter.py @@ -7,8 +7,8 @@ from supervision.detection.overlap_filter import ( box_non_max_suppression, group_overlapping_boxes, - mask_non_max_suppression, mask_non_max_merge, + mask_non_max_suppression, ) From 007d8f5dadcbf4acc862775fcf51b2e5f72f464b Mon Sep 17 00:00:00 2001 From: soumik12345 <19soumik.rakshit96@gmail.com> Date: Tue, 15 Jul 2025 15:34:24 +0530 Subject: [PATCH 370/420] chore: make enum comparisons --- supervision/detection/core.py | 2 +- supervision/detection/overlap_filter.py | 83 +++--------- supervision/detection/utils.py | 70 +++++++--- test/detection/test_overlap_filter.py | 172 ------------------------ 4 files changed, 75 insertions(+), 252 deletions(-) diff --git a/supervision/detection/core.py b/supervision/detection/core.py index c428356ab3..3b343b467e 100644 --- a/supervision/detection/core.py +++ b/supervision/detection/core.py @@ -12,7 +12,6 @@ ORIENTED_BOX_COORDINATES, ) from supervision.detection.overlap_filter import ( - OverlapMetric, box_non_max_merge, box_non_max_suppression, mask_non_max_merge, @@ -36,6 +35,7 @@ merge_metadata, process_roboflow_result, xywh_to_xyxy, + OverlapMetric, ) from supervision.detection.vlm import ( LMM, diff --git a/supervision/detection/overlap_filter.py b/supervision/detection/overlap_filter.py index 9cff643ff2..34bfb024a5 100644 --- a/supervision/detection/overlap_filter.py +++ b/supervision/detection/overlap_filter.py @@ -7,6 +7,7 @@ import numpy.typing as npt from supervision.detection.utils import box_iou_batch, mask_iou_batch +from supervision.detection.utils import OverlapMetric def resize_masks(masks: np.ndarray, max_dimension: int = 640) -> np.ndarray: @@ -42,7 +43,7 @@ def mask_non_max_suppression( predictions: np.ndarray, masks: np.ndarray, iou_threshold: float = 0.5, - match_metric: str = "IOU", + overlap_metric: OverlapMetric = OverlapMetric.IOU, mask_dimension: int = 640, ) -> np.ndarray: """ @@ -58,8 +59,7 @@ def mask_non_max_suppression( dimensions of each mask. iou_threshold (float): The intersection-over-union threshold to use for non-maximum suppression. - match_metric (str): Metric used for matching detections in slices. - "IOU" or "IOS". Defaults "IOU". + overlap_metric (OverlapMetric): Metric used for matching detections in slices. mask_dimension (int): The dimension to which the masks should be resized before computing IOU values. Defaults to 640. @@ -84,7 +84,7 @@ def mask_non_max_suppression( predictions = predictions[sort_index] masks = masks[sort_index] masks_resized = resize_masks(masks, mask_dimension) - ious = mask_iou_batch(masks_resized, masks_resized, match_metric) + ious = mask_iou_batch(masks_resized, masks_resized, overlap_metric) categories = predictions[:, 5] keep = np.ones(rows, dtype=bool) @@ -97,7 +97,7 @@ def mask_non_max_suppression( def box_non_max_suppression( - predictions: np.ndarray, iou_threshold: float = 0.5, match_metric: str = "IOU" + predictions: np.ndarray, iou_threshold: float = 0.5, overlap_metric: OverlapMetric = OverlapMetric.IOU ) -> np.ndarray: """ Perform Non-Maximum Suppression (NMS) on object detection predictions. @@ -108,8 +108,7 @@ def box_non_max_suppression( or `(x_min, y_min, x_max, y_max, score, class)`. iou_threshold (float): The intersection-over-union threshold to use for non-maximum suppression. - match_metric (str): Metric used for matching detections in slices. - "IOU" or "IOS". Defaults "IOU". + overlap_metric (OverlapMetric): Metric used for matching detections in slices. Returns: np.ndarray: A boolean array indicating which predictions to keep after n @@ -135,7 +134,7 @@ def box_non_max_suppression( boxes = predictions[:, :4] categories = predictions[:, 5] - ious = box_iou_batch(boxes, boxes, match_metric) + ious = box_iou_batch(boxes, boxes, overlap_metric) ious = ious - np.eye(rows) keep = np.ones(rows, dtype=bool) @@ -155,7 +154,7 @@ def box_non_max_suppression( def group_overlapping_boxes( predictions: npt.NDArray[np.float64], iou_threshold: float = 0.5, - match_metric: str = "IOU", + overlap_metric: OverlapMetric = OverlapMetric.IOU, ) -> List[List[int]]: """ Apply greedy version of non-maximum merging to avoid detecting too many @@ -167,8 +166,7 @@ def group_overlapping_boxes( and the confidence scores. iou_threshold (float): The intersection-over-union threshold to use for non-maximum suppression. Defaults to 0.5. - match_metric (str): Metric used for matching detections in slices. - "IOU" or "IOS". Defaults "IOU". + overlap_metric (OverlapMetric): Metric used for matching detections in slices. Returns: List[List[int]]: Groups of prediction indices be merged. @@ -189,7 +187,7 @@ def group_overlapping_boxes( merge_candidate = np.expand_dims(predictions[idx], axis=0) ious = box_iou_batch( - predictions[order][:, :4], merge_candidate[:, :4], match_metric + predictions[order][:, :4], merge_candidate[:, :4], overlap_metric ) ious = ious.flatten() @@ -205,7 +203,7 @@ def mask_non_max_merge( masks: np.ndarray, iou_threshold: float = 0.5, mask_dimension: int = 640, - match_metric: str = "IOU", + overlap_metric: OverlapMetric = OverlapMetric.IOU, ) -> List[List[int]]: """ Perform Non-Maximum Merging (NMM) on segmentation predictions. @@ -222,8 +220,7 @@ def mask_non_max_merge( to use for non-maximum suppression. mask_dimension (int): The dimension to which the masks should be resized before computing IOU values. Defaults to 640. - match_metric (str): Metric used for matching detections in slices. - "IOU" or "IOS". Defaults "IOU". + overlap_metric (OverlapMetric): Metric used for matching detections in slices. Returns: np.ndarray: A boolean array indicating which predictions to keep after @@ -236,7 +233,7 @@ def mask_non_max_merge( masks_resized = resize_masks(masks, mask_dimension) if predictions.shape[1] == 5: return group_overlapping_masks( - predictions, masks_resized, iou_threshold, match_metric + predictions, masks_resized, iou_threshold, overlap_metric ) category_ids = predictions[:, 5] @@ -247,7 +244,7 @@ def mask_non_max_merge( predictions[curr_indices], masks_resized[curr_indices], iou_threshold, - match_metric, + overlap_metric, ) for merge_class_group in merge_class_groups: @@ -264,7 +261,7 @@ def mask_non_max_merge( def box_non_max_merge( predictions: npt.NDArray[np.float64], iou_threshold: float = 0.5, - match_metric: str = "IOU", + overlap_metric: OverlapMetric = OverlapMetric.IOU, ) -> List[List[int]]: """ Apply greedy version of non-maximum merging per category to avoid detecting @@ -277,22 +274,21 @@ def box_non_max_merge( detections of different classes to be merged. iou_threshold (float): The intersection-over-union threshold to use for non-maximum suppression. Defaults to 0.5. - match_metric (str): Metric used for matching detections in slices. - "IOU" or "IOS". Defaults "IOU". + overlap_metric (OverlapMetric): Metric used for matching detections in slices. Returns: List[List[int]]: Groups of prediction indices be merged. Each group may have 1 or more elements. """ if predictions.shape[1] == 5: - return group_overlapping_boxes(predictions, iou_threshold, match_metric) + return group_overlapping_boxes(predictions, iou_threshold, overlap_metric) category_ids = predictions[:, 5] merge_groups = [] for category_id in np.unique(category_ids): curr_indices = np.where(category_ids == category_id)[0] merge_class_groups = group_overlapping_boxes( - predictions[curr_indices], iou_threshold, match_metric + predictions[curr_indices], iou_threshold, overlap_metric ) for merge_class_group in merge_class_groups: @@ -310,7 +306,7 @@ def group_overlapping_masks( predictions: npt.NDArray[np.float64], masks: npt.NDArray[np.float64], iou_threshold: float = 0.5, - match_metric: str = "IOU", + overlap_metric: OverlapMetric = OverlapMetric.IOU, ) -> List[List[int]]: """ Apply greedy version of non-maximum merging to avoid detecting too many @@ -323,8 +319,7 @@ def group_overlapping_masks( the predictions. iou_threshold (float): The intersection-over-union threshold to use for non-maximum suppression. Defaults to 0.5. - match_metric (str): Metric used for matching detections in slices. - "IOU" or "IOS". Defaults "IOU". + overlap_metric (OverlapMetric): Metric used for matching detections in slices. Returns: List[List[int]]: Groups of prediction indices be merged. @@ -348,7 +343,7 @@ def group_overlapping_masks( candidate_groups = [idx] while len(order) > 0: # 'IOU or IOS' of the calculate mask and the remaining mask - ious = mask_iou_batch(masks[order], merge_candidate, match_metric) + ious = mask_iou_batch(masks[order], merge_candidate, overlap_metric) above_threshold: np.ndarray = ious.flatten() >= iou_threshold # if no mask is above threshold, break if not above_threshold.any(): @@ -406,39 +401,3 @@ def from_value(cls, value: Union[OverlapFilter, str]) -> OverlapFilter: f"Invalid value type: {type(value)}. Must be an instance of " f"{cls.__name__} or str." ) - - -class OverlapMetric(Enum): - """ - Enum specifying the metric for measuring overlap between detections. - - Attributes: - IOU: Intersection over Union. A region-overlap metric that compares - two shapes (usually bounding boxes or masks) by normalising the - shared area with the area of their union. - IOS: Intersection over Smaller, a region-overlap metric that compares - two shapes (usually bounding boxes or masks) by normalising the - shared area with the smaller of the two shapes. - """ - - IOU = "IOU" - IOS = "IOS" - - @classmethod - def list(cls): - return list(map(lambda c: c.value, cls)) - - @classmethod - def from_value(cls, value: Union[OverlapFilter, str]) -> OverlapFilter: - if isinstance(value, cls): - return value - if isinstance(value, str): - value = value.lower() - try: - return cls(value) - except ValueError: - raise ValueError(f"Invalid value: {value}. Must be one of {cls.list()}") - raise ValueError( - f"Invalid value type: {type(value)}. Must be an instance of " - f"{cls.__name__} or str." - ) diff --git a/supervision/detection/utils.py b/supervision/detection/utils.py index b44cd2b6b1..6367014470 100644 --- a/supervision/detection/utils.py +++ b/supervision/detection/utils.py @@ -1,4 +1,7 @@ +from __future__ import annotations + from itertools import chain +from enum import Enum from typing import Any, Dict, List, Optional, Tuple, Union import cv2 @@ -11,6 +14,42 @@ MIN_POLYGON_POINT_COUNT = 3 +class OverlapMetric(Enum): + """ + Enum specifying the metric for measuring overlap between detections. + + Attributes: + IOU: Intersection over Union. A region-overlap metric that compares + two shapes (usually bounding boxes or masks) by normalising the + shared area with the area of their union. + IOS: Intersection over Smaller, a region-overlap metric that compares + two shapes (usually bounding boxes or masks) by normalising the + shared area with the smaller of the two shapes. + """ + + IOU = "IOU" + IOS = "IOS" + + @classmethod + def list(cls): + return list(map(lambda c: c.value, cls)) + + @classmethod + def from_value(cls, value: Union[OverlapMetric, str]) -> OverlapMetric: + if isinstance(value, cls): + return value + if isinstance(value, str): + value = value.lower() + try: + return cls(value) + except ValueError: + raise ValueError(f"Invalid value: {value}. Must be one of {cls.list()}") + raise ValueError( + f"Invalid value type: {type(value)}. Must be an instance of " + f"{cls.__name__} or str." + ) + + def xyxy_to_polygons(box: np.ndarray) -> np.ndarray: """ Convert an array of boxes to an array of polygons. @@ -109,7 +148,7 @@ def box_iou( def box_iou_batch( - boxes_true: np.ndarray, boxes_detection: np.ndarray, match_metric: str = "IOU" + boxes_true: np.ndarray, boxes_detection: np.ndarray, overlap_metric: OverlapMetric = OverlapMetric.IOU ) -> np.ndarray: """ Compute Intersection over Union (IoU) of two sets of bounding boxes - @@ -126,8 +165,7 @@ def box_iou_batch( `shape = (N, 4)` where `N` is number of true objects. boxes_detection (np.ndarray): 2D `np.ndarray` representing detection boxes. `shape = (M, 4)` where `M` is number of detected objects. - match_metric (str): Metric used for matching detections in slices. - "IOU" or "IOS". Defaults "IOU". + overlap_metric (OverlapMetric): Metric used for matching detections in slices. Returns: np.ndarray: Pairwise IoU of boxes from `boxes_true` and `boxes_detection`. @@ -167,7 +205,7 @@ def box_area(box): area_inter = np.prod(np.clip(bottom_right - top_left, a_min=0, a_max=None), 2) - if match_metric.upper() == "IOU": + if overlap_metric == OverlapMetric.IOU: union_area = area_true[:, None] + area_detection - area_inter ious = np.divide( area_inter, @@ -175,7 +213,7 @@ def box_area(box): out=np.zeros_like(area_inter, dtype=float), where=union_area != 0, ) - elif match_metric.upper() == "IOS": + elif overlap_metric == OverlapMetric.IOS: small_area = np.minimum(area_true[:, None], area_detection) ious = np.divide( area_inter, @@ -185,7 +223,7 @@ def box_area(box): ) else: raise ValueError( - f"match_metric {match_metric} is not supported, " + f"overlap_metric {overlap_metric} is not supported, " "only 'IOU' and 'IOS' are supported" ) @@ -196,7 +234,7 @@ def box_area(box): def _mask_iou_batch_split( masks_true: np.ndarray, masks_detection: np.ndarray, - match_metric: str = "IOU", + overlap_metric: OverlapMetric = OverlapMetric.IOU, ) -> np.ndarray: """ Internal function. @@ -206,8 +244,7 @@ def _mask_iou_batch_split( Args: masks_true (np.ndarray): 3D `np.ndarray` representing ground-truth masks. masks_detection (np.ndarray): 3D `np.ndarray` representing detection masks. - match_metric (str): Metric used for matching detections in slices. - "IOU" or "IOS". Defaults "IOU". + overlap_metric (OverlapMetric): Metric used for matching detections in slices. Returns: np.ndarray: Pairwise IoU of masks from `masks_true` and `masks_detection`. @@ -219,7 +256,7 @@ def _mask_iou_batch_split( masks_true_area = masks_true.sum(axis=(1, 2)) # (area1, area2, ...) masks_detection_area = masks_detection.sum(axis=(1, 2)) # (area1) - if match_metric.upper() == "IOU": + if overlap_metric == OverlapMetric.IOU: union_area = masks_true_area[:, None] + masks_detection_area - intersection_area ious = np.divide( intersection_area, @@ -227,7 +264,7 @@ def _mask_iou_batch_split( out=np.zeros_like(intersection_area, dtype=float), where=union_area != 0, ) - elif match_metric.upper() == "IOS": + elif overlap_metric == OverlapMetric.IOS: # ios = intersection_area / min(area1, area2) small_area = np.minimum(masks_true_area[:, None], masks_detection_area) ious = np.divide( @@ -238,7 +275,7 @@ def _mask_iou_batch_split( ) else: raise ValueError( - f"match_metric {match_metric} is not supported, " + f"overlap_metric {overlap_metric} is not supported, " "only 'IOU' and 'IOS' are supported" ) @@ -249,7 +286,7 @@ def _mask_iou_batch_split( def mask_iou_batch( masks_true: np.ndarray, masks_detection: np.ndarray, - match_metric: str = "IOU", + overlap_metric: OverlapMetric = OverlapMetric.IOU, memory_limit: int = 1024 * 5, ) -> np.ndarray: """ @@ -259,8 +296,7 @@ def mask_iou_batch( Args: masks_true (np.ndarray): 3D `np.ndarray` representing ground-truth masks. masks_detection (np.ndarray): 3D `np.ndarray` representing detection masks. - match_metric (str): Metric used for matching detections in slices. - "IOU" or "IOS". Defaults "IOU". + overlap_metric (OverlapMetric): Metric used for matching detections in slices. memory_limit (int): memory limit in MB, default is 1024 * 5 MB (5GB). Returns: @@ -275,7 +311,7 @@ def mask_iou_batch( / 1024 ) if memory <= memory_limit: - return _mask_iou_batch_split(masks_true, masks_detection, match_metric) + return _mask_iou_batch_split(masks_true, masks_detection, overlap_metric) ious = [] step = max( @@ -292,7 +328,7 @@ def mask_iou_batch( for i in range(0, masks_true.shape[0], step): ious.append( _mask_iou_batch_split( - masks_true[i : i + step], masks_detection, match_metric + masks_true[i : i + step], masks_detection, overlap_metric ) ) diff --git a/test/detection/test_overlap_filter.py b/test/detection/test_overlap_filter.py index 08cd870fe3..f628c30f9c 100644 --- a/test/detection/test_overlap_filter.py +++ b/test/detection/test_overlap_filter.py @@ -7,7 +7,6 @@ from supervision.detection.overlap_filter import ( box_non_max_suppression, group_overlapping_boxes, - mask_non_max_merge, mask_non_max_suppression, ) @@ -448,174 +447,3 @@ def test_mask_non_max_suppression( predictions=predictions, masks=masks, iou_threshold=iou_threshold ) assert np.array_equal(result, expected_result) - - -@pytest.mark.parametrize( - "predictions, masks, iou_threshold, expected_result, exception", - [ - ( - np.empty((0, 6)), - np.empty((0, 5, 5)), - 0.5, - [], - DoesNotRaise(), - ), # empty predictions and masks - ( - np.array([[0, 0, 0, 0, 0.8]]), - np.array( - [ - [ - [False, False, False, False, False], - [False, True, True, True, False], - [False, True, True, True, False], - [False, True, True, True, False], - [False, False, False, False, False], - ] - ] - ), - 0.5, - [[0]], - DoesNotRaise(), - ), # single mask with no category - ( - np.array([[0, 0, 0, 0, 0.8, 0]]), - np.array( - [ - [ - [False, False, False, False, False], - [False, True, True, True, False], - [False, True, True, True, False], - [False, True, True, True, False], - [False, False, False, False, False], - ] - ] - ), - 0.5, - [[0]], - DoesNotRaise(), - ), # single mask with category - ( - np.array([[0, 0, 0, 0, 0.9], [0, 0, 0, 0, 0.8]]), - np.array( - [ - [ - [False, False, False, False, False], - [False, True, True, False, False], - [False, True, True, False, False], - [False, False, False, False, False], - [False, False, False, False, False], - ], - [ - [False, False, False, False, False], - [False, False, False, False, False], - [False, False, False, True, True], - [False, False, False, True, True], - [False, False, False, False, False], - ], - ] - ), - 0.5, - [[0], [1]], - DoesNotRaise(), - ), # two masks non-overlapping with no category - ( - np.array([[0, 0, 0, 0, 0.9], [0, 0, 0, 0, 0.8]]), - np.array( - [ - [ - [False, False, False, False, False], - [False, True, True, True, False], - [False, True, True, True, False], - [False, True, True, True, False], - [False, False, False, False, False], - ], - [ - [False, False, False, False, False], - [False, False, True, True, True], - [False, False, True, True, True], - [False, False, True, True, True], - [False, False, False, False, False], - ], - ] - ), - 0.2, - [[0, 1]], - DoesNotRaise(), - ), # two masks partially overlapping with no category - ( - np.array([[0, 0, 0, 0, 0.9, 0], [0, 0, 0, 0, 0.8, 1]]), - np.array( - [ - [ - [False, False, False, False, False], - [False, True, True, True, False], - [False, True, True, True, False], - [False, True, True, True, False], - [False, False, False, False, False], - ], - [ - [False, False, False, False, False], - [False, False, True, True, True], - [False, False, True, True, True], - [False, False, True, True, True], - [False, False, False, False, False], - ], - ] - ), - 0.2, - [[0], [1]], - DoesNotRaise(), - ), # two masks partially overlapping with different category - ( - np.array( - [ - [0, 0, 0, 0, 0.9, 0], - [0, 0, 0, 0, 0.8, 0], - [0, 0, 0, 0, 0.85, 1], - ] - ), - np.array( - [ - [ # mask 0, class 0 - [False, False, False, False, False], - [False, True, True, True, False], - [False, True, True, True, False], - [False, True, True, True, False], - [False, False, False, False, False], - ], - [ # mask 1, class 0 - [False, False, False, False, False], - [False, False, True, True, True], - [False, False, True, True, True], - [False, False, True, True, True], - [False, False, False, False, False], - ], - [ # mask 2, class 1 - [False, False, False, False, False], - [False, False, False, True, True], - [False, False, False, True, True], - [False, False, False, False, False], - [False, False, False, False, False], - ], - ] - ), - 0.2, - [[0, 1], [2]], - DoesNotRaise(), - ), # three masks, two overlapping with same class - ], -) -def test_mask_non_max_merge( - predictions: np.ndarray, - masks: np.ndarray, - iou_threshold: float, - expected_result: List[List[int]], - exception: Exception, -) -> None: - with exception: - result = mask_non_max_merge( - predictions=predictions, masks=masks, iou_threshold=iou_threshold - ) - result = sorted([sorted(group) for group in result]) - expected_result = sorted([sorted(group) for group in expected_result]) - assert result == expected_result From ae77077853c46f983b4e93cafc518ced9c27653a Mon Sep 17 00:00:00 2001 From: "pre-commit-ci[bot]" <66853113+pre-commit-ci[bot]@users.noreply.github.com> Date: Tue, 15 Jul 2025 10:04:55 +0000 Subject: [PATCH 371/420] =?UTF-8?q?fix(pre=5Fcommit):=20=F0=9F=8E=A8=20aut?= =?UTF-8?q?o=20format=20pre-commit=20hooks?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- supervision/detection/core.py | 2 +- supervision/detection/overlap_filter.py | 7 ++++--- supervision/detection/utils.py | 6 ++++-- 3 files changed, 9 insertions(+), 6 deletions(-) diff --git a/supervision/detection/core.py b/supervision/detection/core.py index 3b343b467e..cdaf00d01e 100644 --- a/supervision/detection/core.py +++ b/supervision/detection/core.py @@ -23,6 +23,7 @@ process_transformers_v5_segmentation_result, ) from supervision.detection.utils import ( + OverlapMetric, box_iou_batch, calculate_masks_centroids, extract_ultralytics_masks, @@ -35,7 +36,6 @@ merge_metadata, process_roboflow_result, xywh_to_xyxy, - OverlapMetric, ) from supervision.detection.vlm import ( LMM, diff --git a/supervision/detection/overlap_filter.py b/supervision/detection/overlap_filter.py index 34bfb024a5..47f5876baf 100644 --- a/supervision/detection/overlap_filter.py +++ b/supervision/detection/overlap_filter.py @@ -6,8 +6,7 @@ import numpy as np import numpy.typing as npt -from supervision.detection.utils import box_iou_batch, mask_iou_batch -from supervision.detection.utils import OverlapMetric +from supervision.detection.utils import OverlapMetric, box_iou_batch, mask_iou_batch def resize_masks(masks: np.ndarray, max_dimension: int = 640) -> np.ndarray: @@ -97,7 +96,9 @@ def mask_non_max_suppression( def box_non_max_suppression( - predictions: np.ndarray, iou_threshold: float = 0.5, overlap_metric: OverlapMetric = OverlapMetric.IOU + predictions: np.ndarray, + iou_threshold: float = 0.5, + overlap_metric: OverlapMetric = OverlapMetric.IOU, ) -> np.ndarray: """ Perform Non-Maximum Suppression (NMS) on object detection predictions. diff --git a/supervision/detection/utils.py b/supervision/detection/utils.py index 6367014470..e06979ba51 100644 --- a/supervision/detection/utils.py +++ b/supervision/detection/utils.py @@ -1,7 +1,7 @@ from __future__ import annotations -from itertools import chain from enum import Enum +from itertools import chain from typing import Any, Dict, List, Optional, Tuple, Union import cv2 @@ -148,7 +148,9 @@ def box_iou( def box_iou_batch( - boxes_true: np.ndarray, boxes_detection: np.ndarray, overlap_metric: OverlapMetric = OverlapMetric.IOU + boxes_true: np.ndarray, + boxes_detection: np.ndarray, + overlap_metric: OverlapMetric = OverlapMetric.IOU, ) -> np.ndarray: """ Compute Intersection over Union (IoU) of two sets of bounding boxes - From 4977fd64b145d2af540445c27902a1697a528262 Mon Sep 17 00:00:00 2001 From: soumik12345 <19soumik.rakshit96@gmail.com> Date: Tue, 15 Jul 2025 15:43:44 +0530 Subject: [PATCH 372/420] add: test_mask_non_max_merge --- test/detection/test_overlap_filter.py | 183 ++++++++++++++++++++++++++ 1 file changed, 183 insertions(+) diff --git a/test/detection/test_overlap_filter.py b/test/detection/test_overlap_filter.py index f628c30f9c..8968780b5d 100644 --- a/test/detection/test_overlap_filter.py +++ b/test/detection/test_overlap_filter.py @@ -8,6 +8,7 @@ box_non_max_suppression, group_overlapping_boxes, mask_non_max_suppression, + mask_non_max_merge, ) @@ -447,3 +448,185 @@ def test_mask_non_max_suppression( predictions=predictions, masks=masks, iou_threshold=iou_threshold ) assert np.array_equal(result, expected_result) + + +@pytest.mark.parametrize( + "predictions, masks, iou_threshold, expected_result, exception", + [ + ( + np.empty((0, 6)), + np.empty((0, 5, 5)), + 0.5, + [], + DoesNotRaise(), + ), # empty predictions and masks + ( + np.array([[0, 0, 0, 0, 0.8]]), + np.array( + [ + [ + [False, False, False, False, False], + [False, True, True, True, False], + [False, True, True, True, False], + [False, True, True, True, False], + [False, False, False, False, False], + ] + ] + ), + 0.5, + [[0]], + DoesNotRaise(), + ), # single mask with no category + ( + np.array([[0, 0, 0, 0, 0.8, 0]]), + np.array( + [ + [ + [False, False, False, False, False], + [False, True, True, True, False], + [False, True, True, True, False], + [False, True, True, True, False], + [False, False, False, False, False], + ] + ] + ), + 0.5, + [[0]], + DoesNotRaise(), + ), # single mask with category + ( + np.array([[0, 0, 0, 0, 0.8], [0, 0, 0, 0, 0.9]]), + np.array( + [ + [ + [False, False, False, False, False], + [False, True, True, False, False], + [False, True, True, False, False], + [False, False, False, False, False], + [False, False, False, False, False], + ], + [ + [False, False, False, False, False], + [False, False, False, False, False], + [False, False, False, True, True], + [False, False, False, True, True], + [False, False, False, False, False], + ], + ] + ), + 0.5, + [[0], [1]], + DoesNotRaise(), + ), # two masks non-overlapping with no category + ( + np.array([[0, 0, 0, 0, 0.8], [0, 0, 0, 0, 0.9]]), + np.array( + [ + [ + [False, False, False, False, False], + [False, True, True, True, False], + [False, True, True, True, False], + [False, True, True, True, False], + [False, False, False, False, False], + ], + [ + [False, False, False, False, False], + [False, False, True, True, True], + [False, False, True, True, True], + [False, False, True, True, True], + [False, False, False, False, False], + ], + ] + ), + 0.4, + [[0, 1]], + DoesNotRaise(), + ), # two masks partially overlapping with no category, merge + ( + np.array([[0, 0, 0, 0, 0.8], [0, 0, 0, 0, 0.9]]), + np.array( + [ + [ + [False, False, False, False, False], + [False, True, True, True, False], + [False, True, True, True, False], + [False, True, True, True, False], + [False, False, False, False, False], + ], + [ + [False, False, False, False, False], + [False, False, True, True, True], + [False, False, True, True, True], + [False, False, True, True, True], + [False, False, False, False, False], + ], + ] + ), + 0.6, + [[0, 1]], + DoesNotRaise(), + ), # two masks partially overlapping with no category, no merge + ( + np.array([[0, 0, 0, 0, 0.8, 0], [0, 0, 0, 0, 0.9, 1]]), + np.array( + [ + [ + [False, False, False, False, False], + [False, True, True, True, False], + [False, True, True, True, False], + [False, True, True, True, False], + [False, False, False, False, False], + ], + [ + [False, False, False, False, False], + [False, False, True, True, True], + [False, False, True, True, True], + [False, False, True, True, True], + [False, False, False, False, False], + ], + ] + ), + 0.4, + [[0], [1]], + DoesNotRaise(), + ), # two masks partially overlapping with different categories + ( + np.array([[0, 0, 0, 0, 0.8, 0], [0, 0, 0, 0, 0.9, 0]]), + np.array( + [ + [ + [False, False, False, False, False], + [False, True, True, True, False], + [False, True, True, True, False], + [False, True, True, True, False], + [False, False, False, False, False], + ], + [ + [False, False, False, False, False], + [False, False, True, True, True], + [False, False, True, True, True], + [False, False, True, True, True], + [False, False, False, False, False], + ], + ] + ), + 0.4, + [[0, 1]], + DoesNotRaise(), + ), # two masks partially overlapping with same category + ], +) +def test_mask_non_max_merge( + predictions: np.ndarray, + masks: np.ndarray, + iou_threshold: float, + expected_result: List[List[int]], + exception: Exception, +) -> None: + with exception: + result = mask_non_max_merge( + predictions=predictions, masks=masks, iou_threshold=iou_threshold + ) + sorted_result = sorted([sorted(group) for group in result]) + sorted_expected_result = sorted([sorted(group) for group in expected_result]) + assert sorted_result == sorted_expected_result From 9a38ebd15e591b1addcfa528492f5ff1320746b0 Mon Sep 17 00:00:00 2001 From: "pre-commit-ci[bot]" <66853113+pre-commit-ci[bot]@users.noreply.github.com> Date: Tue, 15 Jul 2025 10:14:03 +0000 Subject: [PATCH 373/420] =?UTF-8?q?fix(pre=5Fcommit):=20=F0=9F=8E=A8=20aut?= =?UTF-8?q?o=20format=20pre-commit=20hooks?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- test/detection/test_overlap_filter.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/test/detection/test_overlap_filter.py b/test/detection/test_overlap_filter.py index 8968780b5d..b956b25b38 100644 --- a/test/detection/test_overlap_filter.py +++ b/test/detection/test_overlap_filter.py @@ -7,8 +7,8 @@ from supervision.detection.overlap_filter import ( box_non_max_suppression, group_overlapping_boxes, - mask_non_max_suppression, mask_non_max_merge, + mask_non_max_suppression, ) From 2adb64b949df2abf14a574a49d460ca9c6fd223e Mon Sep 17 00:00:00 2001 From: Onuralp SEZER Date: Tue, 15 Jul 2025 12:15:55 +0200 Subject: [PATCH 374/420] =?UTF-8?q?chore:=20=F0=9F=A7=B9=20update=20requir?= =?UTF-8?q?ements=20files=20to=20remove=20version=20constraints?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- examples/heatmap_and_track/requirements.txt | 4 ++-- examples/speed_estimation/ultralytics_example.py | 2 +- examples/time_in_zone/requirements.txt | 7 +++---- examples/tracking/requirements.txt | 6 +++--- examples/traffic_analysis/requirements.txt | 6 +++--- 5 files changed, 12 insertions(+), 13 deletions(-) diff --git a/examples/heatmap_and_track/requirements.txt b/examples/heatmap_and_track/requirements.txt index dcf7f53fab..d12cf36a23 100644 --- a/examples/heatmap_and_track/requirements.txt +++ b/examples/heatmap_and_track/requirements.txt @@ -1,2 +1,2 @@ -supervision[assets]==0.19.0 -ultralytics<=8.3.40 +supervision +ultralytics \ No newline at end of file diff --git a/examples/speed_estimation/ultralytics_example.py b/examples/speed_estimation/ultralytics_example.py index 63a4c7ea57..4a63931409 100644 --- a/examples/speed_estimation/ultralytics_example.py +++ b/examples/speed_estimation/ultralytics_example.py @@ -70,7 +70,7 @@ def parse_arguments() -> argparse.Namespace: args = parse_arguments() video_info = sv.VideoInfo.from_video_path(video_path=args.source_video_path) - model = YOLO("yolov8x.pt") + model = YOLO("yolo11x.pt") byte_track = sv.ByteTrack( frame_rate=video_info.fps, track_activation_threshold=args.confidence_threshold diff --git a/examples/time_in_zone/requirements.txt b/examples/time_in_zone/requirements.txt index 58e3b78d80..9f9446c836 100644 --- a/examples/time_in_zone/requirements.txt +++ b/examples/time_in_zone/requirements.txt @@ -1,5 +1,4 @@ -opencv-python -supervision>=0.20.0 -ultralytics<=8.3.40 -inference==0.9.17 +supervision +ultralytics +inference pytube diff --git a/examples/tracking/requirements.txt b/examples/tracking/requirements.txt index f31453c46f..80c28300d2 100644 --- a/examples/tracking/requirements.txt +++ b/examples/tracking/requirements.txt @@ -1,4 +1,4 @@ -inference==0.9.17 -supervision==0.19.0 +inference +supervision tqdm -ultralytics<=8.3.40 +ultralytics diff --git a/examples/traffic_analysis/requirements.txt b/examples/traffic_analysis/requirements.txt index e07ecb06c1..a8f583e8c1 100644 --- a/examples/traffic_analysis/requirements.txt +++ b/examples/traffic_analysis/requirements.txt @@ -1,5 +1,5 @@ gdown -inference==0.9.17 -supervision>=0.20.0 +inference +supervision tqdm -ultralytics<=8.3.40 +ultralytics From 7ea8c2e43c466c49e905acb6f77aa10c73c56279 Mon Sep 17 00:00:00 2001 From: soumik12345 <19soumik.rakshit96@gmail.com> Date: Tue, 15 Jul 2025 15:46:10 +0530 Subject: [PATCH 375/420] chore: remove excessive comments in group_overlapping_masks --- supervision/detection/overlap_filter.py | 7 ------- 1 file changed, 7 deletions(-) diff --git a/supervision/detection/overlap_filter.py b/supervision/detection/overlap_filter.py index 47f5876baf..4333303124 100644 --- a/supervision/detection/overlap_filter.py +++ b/supervision/detection/overlap_filter.py @@ -339,27 +339,20 @@ def group_overlapping_masks( merge_groups.append([idx]) break - # calculate mask merge_candidate = masks[idx][None, ...] candidate_groups = [idx] while len(order) > 0: - # 'IOU or IOS' of the calculate mask and the remaining mask ious = mask_iou_batch(masks[order], merge_candidate, overlap_metric) above_threshold: np.ndarray = ious.flatten() >= iou_threshold - # if no mask is above threshold, break if not above_threshold.any(): break - # get indexes that meet the threshold above_idx = order[above_threshold] - # update merge_candidate merge_candidate = np.logical_or.reduce( np.concatenate([masks[above_idx], merge_candidate]), axis=0, keepdims=True, ) - # add indexes that meet the criteria to the candidate_groups candidate_groups.extend(np.flip(above_idx).tolist()) - # update order, masks order = order[~above_threshold] merge_groups.append(candidate_groups) From f68a6bc362b0c12c1759ea0de7677f0b7f4dc314 Mon Sep 17 00:00:00 2001 From: "pre-commit-ci[bot]" <66853113+pre-commit-ci[bot]@users.noreply.github.com> Date: Tue, 15 Jul 2025 10:16:23 +0000 Subject: [PATCH 376/420] =?UTF-8?q?fix(pre=5Fcommit):=20=F0=9F=8E=A8=20aut?= =?UTF-8?q?o=20format=20pre-commit=20hooks?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- examples/heatmap_and_track/requirements.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/examples/heatmap_and_track/requirements.txt b/examples/heatmap_and_track/requirements.txt index d12cf36a23..a248de2927 100644 --- a/examples/heatmap_and_track/requirements.txt +++ b/examples/heatmap_and_track/requirements.txt @@ -1,2 +1,2 @@ supervision -ultralytics \ No newline at end of file +ultralytics From c11a7de9499a4d5f7c3c40d9628413c3b83441b8 Mon Sep 17 00:00:00 2001 From: soumik12345 <19soumik.rakshit96@gmail.com> Date: Tue, 15 Jul 2025 15:58:26 +0530 Subject: [PATCH 377/420] chore: refactor docs for --- docs/detection/double_detection_filter.md | 6 ------ docs/detection/utils.md | 6 ++++++ 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/docs/detection/double_detection_filter.md b/docs/detection/double_detection_filter.md index fbe944cf5d..24384a13a2 100644 --- a/docs/detection/double_detection_filter.md +++ b/docs/detection/double_detection_filter.md @@ -10,12 +10,6 @@ comments: true :::supervision.detection.overlap_filter.OverlapFilter - - -:::supervision.detection.overlap_filter.OverlapMetric - diff --git a/docs/detection/utils.md b/docs/detection/utils.md index 5cef5d74cd..cd18be6454 100644 --- a/docs/detection/utils.md +++ b/docs/detection/utils.md @@ -5,6 +5,12 @@ status: new # Detection Utils + + +:::supervision.detection.overlap_filter.OverlapMetric + From 84c9a34f924a825ebee9c16c88c867dcfb09dec4 Mon Sep 17 00:00:00 2001 From: soumik12345 <19soumik.rakshit96@gmail.com> Date: Tue, 15 Jul 2025 15:58:38 +0530 Subject: [PATCH 378/420] update: docstring --- supervision/detection/core.py | 26 +++++++++++++++----------- 1 file changed, 15 insertions(+), 11 deletions(-) diff --git a/supervision/detection/core.py b/supervision/detection/core.py index cdaf00d01e..a74c266995 100644 --- a/supervision/detection/core.py +++ b/supervision/detection/core.py @@ -1586,8 +1586,8 @@ def with_nms( class_agnostic (bool): Whether to perform class-agnostic non-maximum suppression. If True, the class_id of each detection will be ignored. Defaults to False. - overlap_metric (OverlapMetric): Metric used for matching detections - in slices. + overlap_metric (OverlapMetric): Metric used for measuring overlap between + detections in slices. Returns: Detections: A new Detections object containing the subset of detections @@ -1624,13 +1624,13 @@ def with_nms( predictions=predictions, masks=self.mask, iou_threshold=threshold, - match_metric=overlap_metric, + overlap_metric=overlap_metric, ) else: indices = box_non_max_suppression( predictions=predictions, iou_threshold=threshold, - match_metric=overlap_metric, + overlap_metric=overlap_metric, ) return self[indices] @@ -1650,8 +1650,8 @@ def with_nmm( class_agnostic (bool): Whether to perform class-agnostic non-maximum merging. If True, the class_id of each detection will be ignored. Defaults to False. - overlap_metric (OverlapMetric): Metric used for matching detections in slices. - "IOU" or "IOS". Defaults "IOU". + overlap_metric (OverlapMetric): Metric used for measuring overlap between + detections in slices. Returns: Detections: A new Detections object containing the subset of detections @@ -1690,13 +1690,13 @@ def with_nmm( predictions=predictions, masks=self.mask, iou_threshold=threshold, - match_metric=overlap_metric, + overlap_metric=overlap_metric, ) else: merge_groups = box_non_max_merge( predictions=predictions, iou_threshold=threshold, - match_metric=overlap_metric, + overlap_metric=overlap_metric, ) result = [] @@ -1803,7 +1803,9 @@ def merge_inner_detection_object_pair( def merge_inner_detections_objects( - detections: List[Detections], threshold=0.5, match_metric: str = "IOU" + detections: List[Detections], + threshold=0.5, + overlap_metric: OverlapMetric = OverlapMetric.IOU, ) -> Detections: """ Given N detections each of length 1 (exactly one object inside), combine them into a @@ -1816,9 +1818,11 @@ def merge_inner_detections_objects( detections_1 = detections[0] for detections_2 in detections[1:]: if detections_1.mask is not None and detections_2.mask is not None: - iou = mask_iou_batch(detections_1.mask, detections_2.mask, match_metric)[0] + iou = mask_iou_batch(detections_1.mask, detections_2.mask, overlap_metric)[ + 0 + ] else: - iou = box_iou_batch(detections_1.xyxy, detections_2.xyxy, match_metric)[0] + iou = box_iou_batch(detections_1.xyxy, detections_2.xyxy, overlap_metric)[0] if iou < threshold: break detections_1 = merge_inner_detection_object_pair(detections_1, detections_2) From b792db72fd535194a2e6f17948c8b3c5feda6028 Mon Sep 17 00:00:00 2001 From: Onuralp SEZER Date: Tue, 15 Jul 2025 12:29:47 +0200 Subject: [PATCH 379/420] =?UTF-8?q?chore:=20=F0=9F=A7=B9=20update=20requir?= =?UTF-8?q?ements.txt=20to=20remove=20version=20constraints=20for=20depend?= =?UTF-8?q?encies?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- examples/speed_estimation/requirements.txt | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/examples/speed_estimation/requirements.txt b/examples/speed_estimation/requirements.txt index 343a687d6e..bb55ebd19f 100644 --- a/examples/speed_estimation/requirements.txt +++ b/examples/speed_estimation/requirements.txt @@ -1,6 +1,6 @@ -supervision>=0.20.0 -tqdm==4.66.3 +supervision +tqdm requests -ultralytics==8.0.237 +ultralytics super-gradients==3.5.0 -inference==0.9.17 +inference From bcbbc578546c390fe763d82036a1b564af24716d Mon Sep 17 00:00:00 2001 From: soumik12345 <19soumik.rakshit96@gmail.com> Date: Tue, 15 Jul 2025 16:34:22 +0530 Subject: [PATCH 380/420] chore: configure mkdocs to add mathjax support --- docs/javascripts/mathjax.js | 19 +++++++++++++++++++ mkdocs.yml | 4 ++++ 2 files changed, 23 insertions(+) create mode 100644 docs/javascripts/mathjax.js diff --git a/docs/javascripts/mathjax.js b/docs/javascripts/mathjax.js new file mode 100644 index 0000000000..160fedef3f --- /dev/null +++ b/docs/javascripts/mathjax.js @@ -0,0 +1,19 @@ +window.MathJax = { + tex: { + inlineMath: [["\\(", "\\)"]], + displayMath: [["\\[", "\\]"]], + processEscapes: true, + processEnvironments: true + }, + options: { + ignoreHtmlClass: ".*|", + processHtmlClass: "arithmatex" + } + }; + + document$.subscribe(() => { + MathJax.startup.output.clearCache() + MathJax.typesetClear() + MathJax.texReset() + MathJax.typesetPromise() + }) diff --git a/mkdocs.yml b/mkdocs.yml index dae49493e9..d31209398c 100644 --- a/mkdocs.yml +++ b/mkdocs.yml @@ -168,12 +168,16 @@ markdown_extensions: anchor_linenums: true line_spans: __span pygments_lang_class: true + - pymdownx.arithmatex: + generic: true extra_javascript: - "javascripts/init_kapa_widget.js" - "javascripts/cookbooks-card.js" - "javascripts/segment.js" + - "javascripts/mathjax.js" - "https://cdnjs.cloudflare.com/ajax/libs/dompurify/3.0.8/purify.min.js" + - "https://unpkg.com/mathjax@3/es5/tex-mml-chtml.js" # Messages shown during document build # Reference: https://www.mkdocs.org/user-guide/configuration/#validation From 9400270e34d49a851bf67a571c52da7403444ae3 Mon Sep 17 00:00:00 2001 From: "pre-commit-ci[bot]" <66853113+pre-commit-ci[bot]@users.noreply.github.com> Date: Tue, 15 Jul 2025 11:05:26 +0000 Subject: [PATCH 381/420] =?UTF-8?q?fix(pre=5Fcommit):=20=F0=9F=8E=A8=20aut?= =?UTF-8?q?o=20format=20pre-commit=20hooks?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- docs/javascripts/mathjax.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/docs/javascripts/mathjax.js b/docs/javascripts/mathjax.js index 160fedef3f..0c7803cf76 100644 --- a/docs/javascripts/mathjax.js +++ b/docs/javascripts/mathjax.js @@ -10,8 +10,8 @@ window.MathJax = { processHtmlClass: "arithmatex" } }; - - document$.subscribe(() => { + + document$.subscribe(() => { MathJax.startup.output.clearCache() MathJax.typesetClear() MathJax.texReset() From af31b96199df8b0cdd487a6531a6f95061519566 Mon Sep 17 00:00:00 2001 From: soumik12345 <19soumik.rakshit96@gmail.com> Date: Tue, 15 Jul 2025 16:41:54 +0530 Subject: [PATCH 382/420] update: docstring for box_iou to add formula --- supervision/detection/utils.py | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/supervision/detection/utils.py b/supervision/detection/utils.py index 13c3f1a69b..733775e890 100644 --- a/supervision/detection/utils.py +++ b/supervision/detection/utils.py @@ -52,11 +52,14 @@ def box_iou( box_true: Union[List[float], np.ndarray], box_detection: Union[List[float], np.ndarray], ) -> float: - """ + r""" Compute the Intersection over Union (IoU) between two bounding boxes. - Both `box_true` and `box_detection` should be in (x_min, y_min, x_max, y_max) - format. + Mathematically, it is defined as: + + \[ + \text{IoU} = \frac{|\text{box}_{\text{true}} \cap \text{box}_{\text{detection}}|}{|\text{box}_{\text{true}} \cup \text{box}_{\text{detection}}|} + \] Note: Use `box_iou` when computing IoU between two individual boxes. @@ -1473,8 +1476,7 @@ def _jaccard(box_a: List[float], box_b: List[float], is_crowd: bool) -> float: """ Calculate the Jaccard index (intersection over union) between two bounding boxes. If a gt object is marked as "iscrowd", a dt is allowed to match any subregion - of the gt. Choosing gt' in the crowd gt that best matches the dt can be done using - gt'=intersect(dt,gt). Since by definition union(gt',dt)=dt, computing + of the gt. Choosing gt'=intersect(dt,gt). Since by definition union(gt',dt)=dt, computing iou(gt,dt,iscrowd) = iou(gt',dt) = area(intersect(gt,dt)) / area(dt) Args: From 7c1168fbc6d04b3cde4feb7b495905c4f92214ec Mon Sep 17 00:00:00 2001 From: soumik12345 <19soumik.rakshit96@gmail.com> Date: Tue, 15 Jul 2025 16:46:10 +0530 Subject: [PATCH 383/420] chore: make pre-commit happy --- supervision/detection/utils.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/supervision/detection/utils.py b/supervision/detection/utils.py index 733775e890..0c0179194b 100644 --- a/supervision/detection/utils.py +++ b/supervision/detection/utils.py @@ -87,7 +87,7 @@ def box_iou( sv.box_iou(box_true=box_true, box_detection=box_detection) # 0.14285814285714285 ``` - """ + """ # noqa: E501 box_true = np.array(box_true) box_detection = np.array(box_detection) @@ -1486,7 +1486,7 @@ def _jaccard(box_a: List[float], box_b: List[float], is_crowd: bool) -> float: Returns: float: Jaccard index between the two bounding boxes. - """ + """ # noqa: E501 # Smallest number to avoid division by zero EPS = np.spacing(1) From 9f3ffdd26dafedbc3dcb8447d13dfc28fea6df2d Mon Sep 17 00:00:00 2001 From: Soumik Rakshit <19soumik.rakshit96@gmail.com> Date: Tue, 15 Jul 2025 17:17:39 +0530 Subject: [PATCH 384/420] fix: typo in utils.py --- supervision/detection/utils.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/supervision/detection/utils.py b/supervision/detection/utils.py index 0c0179194b..e0844b7549 100644 --- a/supervision/detection/utils.py +++ b/supervision/detection/utils.py @@ -52,7 +52,7 @@ def box_iou( box_true: Union[List[float], np.ndarray], box_detection: Union[List[float], np.ndarray], ) -> float: - r""" + """ Compute the Intersection over Union (IoU) between two bounding boxes. Mathematically, it is defined as: From cf179b9dfe202ebab0be85e951131505f8f4dc71 Mon Sep 17 00:00:00 2001 From: "pre-commit-ci[bot]" <66853113+pre-commit-ci[bot]@users.noreply.github.com> Date: Tue, 15 Jul 2025 11:47:55 +0000 Subject: [PATCH 385/420] =?UTF-8?q?fix(pre=5Fcommit):=20=F0=9F=8E=A8=20aut?= =?UTF-8?q?o=20format=20pre-commit=20hooks?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- supervision/detection/utils.py | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/supervision/detection/utils.py b/supervision/detection/utils.py index e0844b7549..c485e8919e 100644 --- a/supervision/detection/utils.py +++ b/supervision/detection/utils.py @@ -57,9 +57,9 @@ def box_iou( Mathematically, it is defined as: - \[ - \text{IoU} = \frac{|\text{box}_{\text{true}} \cap \text{box}_{\text{detection}}|}{|\text{box}_{\text{true}} \cup \text{box}_{\text{detection}}|} - \] + \\[ + \text{IoU} = \frac{|\text{box}_{\text{true}} \\cap \text{box}_{\text{detection}}|}{|\text{box}_{\text{true}} \\cup \text{box}_{\text{detection}}|} + \\] Note: Use `box_iou` when computing IoU between two individual boxes. From a5155e23f295827013e8e245d8d2569f3092e8de Mon Sep 17 00:00:00 2001 From: "pre-commit-ci[bot]" <66853113+pre-commit-ci[bot]@users.noreply.github.com> Date: Tue, 15 Jul 2025 12:27:31 +0000 Subject: [PATCH 386/420] =?UTF-8?q?fix(pre=5Fcommit):=20=F0=9F=8E=A8=20aut?= =?UTF-8?q?o=20format=20pre-commit=20hooks?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- supervision/detection/overlap_filter.py | 1 - supervision/detection/utils.py | 30 ++++++++++++------------- 2 files changed, 15 insertions(+), 16 deletions(-) diff --git a/supervision/detection/overlap_filter.py b/supervision/detection/overlap_filter.py index 0a751b0b37..fe0076ed75 100644 --- a/supervision/detection/overlap_filter.py +++ b/supervision/detection/overlap_filter.py @@ -156,7 +156,6 @@ def group_overlapping_boxes( iou_threshold: float = 0.5, overlap_metric: OverlapMetric = OverlapMetric.IOU, ) -> list[list[int]]: - """ Apply greedy version of non-maximum merging to avoid detecting too many overlapping bounding boxes for a given object. diff --git a/supervision/detection/utils.py b/supervision/detection/utils.py index 00c84dcf47..1fff408a14 100644 --- a/supervision/detection/utils.py +++ b/supervision/detection/utils.py @@ -35,7 +35,7 @@ def list(cls): return list(map(lambda c: c.value, cls)) @classmethod - def from_value(cls, value: Union[OverlapMetric, str]) -> OverlapMetric: + def from_value(cls, value: OverlapMetric | str) -> OverlapMetric: if isinstance(value, cls): return value if isinstance(value, str): @@ -88,8 +88,8 @@ def polygon_to_mask(polygon: np.ndarray, resolution_wh: tuple[int, int]) -> np.n def box_iou( - box_true: Union[list[float], np.ndarray], - box_detection: Union[list[float], np.ndarray], + box_true: list[float] | np.ndarray, + box_detection: list[float] | np.ndarray, ) -> float: """ Compute the Intersection over Union (IoU) between two bounding boxes. @@ -418,7 +418,7 @@ def clip_boxes(xyxy: np.ndarray, resolution_wh: tuple[int, int]) -> np.ndarray: return result -def pad_boxes(xyxy: np.ndarray, px: int, py: Optional[int] = None) -> np.ndarray: +def pad_boxes(xyxy: np.ndarray, px: int, py: int | None = None) -> np.ndarray: """ Pads bounding boxes coordinates with a constant padding. @@ -736,8 +736,8 @@ def mask_to_polygons(mask: np.ndarray) -> list[np.ndarray]: def filter_polygons_by_area( polygons: list[np.ndarray], - min_area: Optional[float] = None, - max_area: Optional[float] = None, + min_area: float | None = None, + max_area: float | None = None, ) -> list[np.ndarray]: """ Filters a list of polygons based on their area. @@ -834,7 +834,7 @@ def approximate_polygon( return np.squeeze(approximated_points, axis=1) -def extract_ultralytics_masks(yolov8_results) -> Optional[np.ndarray]: +def extract_ultralytics_masks(yolov8_results) -> np.ndarray | None: if not yolov8_results.masks: return None @@ -876,9 +876,9 @@ def process_roboflow_result( np.ndarray, np.ndarray, np.ndarray, - Optional[np.ndarray], - Optional[np.ndarray], - dict[str, Union[list[np.ndarray], np.ndarray]], + np.ndarray | None, + np.ndarray | None, + dict[str, list[np.ndarray] | np.ndarray], ]: if not roboflow_result["predictions"]: return ( @@ -1216,8 +1216,8 @@ def is_metadata_equal(metadata_a: dict[str, Any], metadata_b: dict[str, Any]) -> def merge_data( - data_list: list[dict[str, Union[npt.NDArray[np.generic], list]]], -) -> dict[str, Union[npt.NDArray[np.generic], list]]: + data_list: list[dict[str, npt.NDArray[np.generic] | list]], +) -> dict[str, npt.NDArray[np.generic] | list]: """ Merges the data payloads of a list of Detections instances. @@ -1332,9 +1332,9 @@ def merge_metadata(metadata_list: list[dict[str, Any]]) -> dict[str, Any]: def get_data_item( - data: dict[str, Union[np.ndarray, list]], - index: Union[int, slice, list[int], np.ndarray], -) -> dict[str, Union[np.ndarray, list]]: + data: dict[str, np.ndarray | list], + index: int | slice | list[int] | np.ndarray, +) -> dict[str, np.ndarray | list]: """ Retrieve a subset of the data dictionary based on the given index. From b6cd9dd3f352d4c02325a05be0c97dc15fb64a77 Mon Sep 17 00:00:00 2001 From: Onuralp SEZER Date: Tue, 15 Jul 2025 15:30:08 +0300 Subject: [PATCH 387/420] =?UTF-8?q?chore:=20=F0=9F=A7=B9=20clean=20up=20un?= =?UTF-8?q?used=20imports=20and=20optimize=20code=20structure=20and=20conv?= =?UTF-8?q?ert=20more=20List=20to=20list?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- supervision/detection/core.py | 2 +- supervision/detection/overlap_filter.py | 12 ++++++------ supervision/detection/utils.py | 2 +- test/detection/test_overlap_filter.py | 2 +- 4 files changed, 9 insertions(+), 9 deletions(-) diff --git a/supervision/detection/core.py b/supervision/detection/core.py index 03dbce2460..03d82ae0cf 100644 --- a/supervision/detection/core.py +++ b/supervision/detection/core.py @@ -2052,7 +2052,7 @@ def merge_inner_detections_objects( def merge_inner_detections_objects_without_iou( - detections: List[Detections], + detections: list[Detections], ) -> Detections: """ Given N detections each of length 1 (exactly one object inside), combine them into a diff --git a/supervision/detection/overlap_filter.py b/supervision/detection/overlap_filter.py index fe0076ed75..3cace6647e 100644 --- a/supervision/detection/overlap_filter.py +++ b/supervision/detection/overlap_filter.py @@ -169,7 +169,7 @@ def group_overlapping_boxes( overlap_metric (OverlapMetric): Metric used for matching detections in slices. Returns: - List[List[int]]: Groups of prediction indices be merged. + list[list[int]]: Groups of prediction indices be merged. Each group may have 1 or more elements. """ merge_groups: list[list[int]] = [] @@ -204,7 +204,7 @@ def mask_non_max_merge( iou_threshold: float = 0.5, mask_dimension: int = 640, overlap_metric: OverlapMetric = OverlapMetric.IOU, -) -> List[List[int]]: +) -> list[list[int]]: """ Perform Non-Maximum Merging (NMM) on segmentation predictions. @@ -277,7 +277,7 @@ def box_non_max_merge( overlap_metric (OverlapMetric): Metric used for matching detections in slices. Returns: - List[List[int]]: Groups of prediction indices be merged. + list[list[int]]: Groups of prediction indices be merged. Each group may have 1 or more elements. """ if predictions.shape[1] == 5: @@ -307,7 +307,7 @@ def group_overlapping_masks( masks: npt.NDArray[np.float64], iou_threshold: float = 0.5, overlap_metric: OverlapMetric = OverlapMetric.IOU, -) -> List[List[int]]: +) -> list[list[int]]: """ Apply greedy version of non-maximum merging to avoid detecting too many @@ -322,10 +322,10 @@ def group_overlapping_masks( overlap_metric (OverlapMetric): Metric used for matching detections in slices. Returns: - List[List[int]]: Groups of prediction indices be merged. + list[list[int]]: Groups of prediction indices be merged. Each group may have 1 or more elements. """ - merge_groups: List[List[int]] = [] + merge_groups: list[list[int]] = [] scores = predictions[:, 4] order = scores.argsort() diff --git a/supervision/detection/utils.py b/supervision/detection/utils.py index 1fff408a14..eba62509e9 100644 --- a/supervision/detection/utils.py +++ b/supervision/detection/utils.py @@ -2,7 +2,7 @@ from enum import Enum from itertools import chain -from typing import Any, Optional, Union +from typing import Any import cv2 import numpy as np diff --git a/test/detection/test_overlap_filter.py b/test/detection/test_overlap_filter.py index c1c6c5e2ce..f655f0e958 100644 --- a/test/detection/test_overlap_filter.py +++ b/test/detection/test_overlap_filter.py @@ -620,7 +620,7 @@ def test_mask_non_max_merge( predictions: np.ndarray, masks: np.ndarray, iou_threshold: float, - expected_result: List[List[int]], + expected_result: list[list[int]], exception: Exception, ) -> None: with exception: From 212e69b5a48637553a9512029cfd6734e720d43f Mon Sep 17 00:00:00 2001 From: Onuralp SEZER Date: Tue, 15 Jul 2025 16:36:01 +0300 Subject: [PATCH 388/420] =?UTF-8?q?refactor:=20=F0=9F=A7=AA=20type=20hints?= =?UTF-8?q?=20to=20use=20the=20new=20union=20syntax=20for=20optional=20typ?= =?UTF-8?q?es?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - Updated type hints across multiple files to replace `Optional[X]` with `X | None` for better readability and consistency. - Added `from __future__ import annotations` to files to enable postponed evaluation of type annotations. - Adjusted function signatures and variable types in various modules including `polygon_zone.py`, `smoother.py`, `transformers.py`, `vlm.py`, and others. - Ensured compatibility with Python 3.10+ type hinting features. Signed-off-by: Onuralp SEZER --- .pre-commit-config.yaml | 2 +- .../scripts/download_from_youtube.py | 5 +- examples/time_in_zone/scripts/draw_zones.py | 8 +- .../traffic_analysis/inference_example.py | 5 +- .../traffic_analysis/ultralytics_example.py | 5 +- supervision/annotators/core.py | 151 +++++++++--------- supervision/annotators/utils.py | 17 +- supervision/assets/downloader.py | 5 +- supervision/dataset/formats/pascal_voc.py | 5 +- supervision/dataset/formats/yolo.py | 8 +- supervision/dataset/utils.py | 12 +- supervision/detection/line_zone.py | 12 +- .../detection/tools/inference_slicer.py | 20 +-- supervision/detection/tools/polygon_zone.py | 5 +- supervision/detection/tools/smoother.py | 5 +- supervision/detection/tools/transformers.py | 20 +-- supervision/detection/vlm.py | 36 ++--- supervision/draw/utils.py | 7 +- supervision/keypoint/annotators.py | 19 +-- supervision/metrics/detection.py | 2 +- supervision/utils/file.py | 17 +- supervision/utils/image.py | 47 +++--- supervision/utils/internal.py | 7 +- supervision/utils/notebook.py | 8 +- supervision/utils/video.py | 3 +- test/annotators/test_utils.py | 5 +- test/classification/test_core.py | 7 +- test/dataset/formats/test_coco.py | 5 +- test/dataset/formats/test_pascal_voc.py | 5 +- test/dataset/formats/test_yolo.py | 13 +- test/dataset/test_core.py | 5 +- test/dataset/test_utils.py | 10 +- test/detection/test_core.py | 11 +- test/detection/test_line_counter.py | 7 +- test/detection/test_overlap_filter.py | 7 +- test/detection/test_utils.py | 14 +- test/detection/test_vlm.py | 22 +-- test/detection/tools/test_inference_slicer.py | 11 +- test/draw/test_color.py | 7 +- test/metrics/test_detection.py | 15 +- test/test_utils.py | 20 +-- test/utils/test_file.py | 5 +- 42 files changed, 320 insertions(+), 280 deletions(-) diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index 85b49dfb6e..24e432cd54 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -58,6 +58,6 @@ repos: rev: v3.20.0 hooks: - id: pyupgrade - args: ["--py39-plus"] + args: ["--py310-plus"] additional_dependencies: - tomli diff --git a/examples/time_in_zone/scripts/download_from_youtube.py b/examples/time_in_zone/scripts/download_from_youtube.py index ff7d94c3fd..d867363175 100644 --- a/examples/time_in_zone/scripts/download_from_youtube.py +++ b/examples/time_in_zone/scripts/download_from_youtube.py @@ -1,11 +1,12 @@ +from __future__ import annotations + import argparse import os -from typing import Optional from pytube import YouTube -def main(url: str, output_path: Optional[str], file_name: Optional[str]) -> None: +def main(url: str, output_path: str | None, file_name: str | None) -> None: yt = YouTube(url) stream = yt.streams.get_highest_resolution() diff --git a/examples/time_in_zone/scripts/draw_zones.py b/examples/time_in_zone/scripts/draw_zones.py index 0e09a865a9..74508ccd1b 100644 --- a/examples/time_in_zone/scripts/draw_zones.py +++ b/examples/time_in_zone/scripts/draw_zones.py @@ -1,7 +1,9 @@ +from __future__ import annotations + import argparse import json import os -from typing import Any, Optional +from typing import Any import cv2 import numpy as np @@ -19,10 +21,10 @@ WINDOW_NAME = "Draw Zones" POLYGONS = [[]] -current_mouse_position: Optional[tuple[int, int]] = None +current_mouse_position: tuple[int, int] | None = None -def resolve_source(source_path: str) -> Optional[np.ndarray]: +def resolve_source(source_path: str) -> np.ndarray | None: if not os.path.exists(source_path): return None diff --git a/examples/traffic_analysis/inference_example.py b/examples/traffic_analysis/inference_example.py index 6cd4e4bd2b..f7530ce752 100644 --- a/examples/traffic_analysis/inference_example.py +++ b/examples/traffic_analysis/inference_example.py @@ -1,7 +1,8 @@ +from __future__ import annotations + import argparse import os from collections.abc import Iterable -from typing import Optional import cv2 import numpy as np @@ -78,7 +79,7 @@ def __init__( roboflow_api_key: str, model_id: str, source_video_path: str, - target_video_path: Optional[str] = None, + target_video_path: str | None = None, confidence_threshold: float = 0.3, iou_threshold: float = 0.7, ) -> None: diff --git a/examples/traffic_analysis/ultralytics_example.py b/examples/traffic_analysis/ultralytics_example.py index 4beb18260e..4df8940515 100644 --- a/examples/traffic_analysis/ultralytics_example.py +++ b/examples/traffic_analysis/ultralytics_example.py @@ -1,6 +1,7 @@ +from __future__ import annotations + import argparse from collections.abc import Iterable -from typing import Optional import cv2 import numpy as np @@ -75,7 +76,7 @@ def __init__( self, source_weights_path: str, source_video_path: str, - target_video_path: Optional[str] = None, + target_video_path: str | None = None, confidence_threshold: float = 0.3, iou_threshold: float = 0.7, ) -> None: diff --git a/supervision/annotators/core.py b/supervision/annotators/core.py index e3607224a2..4462351adf 100644 --- a/supervision/annotators/core.py +++ b/supervision/annotators/core.py @@ -1,6 +1,7 @@ +from __future__ import annotations + from functools import lru_cache from math import sqrt -from typing import Optional, Union import cv2 import numpy as np @@ -65,14 +66,14 @@ class _BaseLabelAnnotator(BaseAnnotator): def __init__( self, - color: Union[Color, ColorPalette] = ColorPalette.DEFAULT, - text_color: Union[Color, ColorPalette] = Color.WHITE, + color: Color | ColorPalette = ColorPalette.DEFAULT, + text_color: Color | ColorPalette = Color.WHITE, text_padding: int = 10, text_position: Position = Position.TOP_LEFT, color_lookup: ColorLookup = ColorLookup.CLASS, border_radius: int = 0, smart_position: bool = False, - max_line_length: Optional[int] = None, + max_line_length: int | None = None, ): """ Initializes the _BaseLabelAnnotator. @@ -95,14 +96,14 @@ def __init__( line before wrapping the text. None means no wrapping. """ - self.color: Union[Color, ColorPalette] = color - self.text_color: Union[Color, ColorPalette] = text_color + self.color: Color | ColorPalette = color + self.text_color: Color | ColorPalette = text_color self.text_padding: int = text_padding self.text_anchor: Position = text_position self.color_lookup: ColorLookup = color_lookup self.border_radius: int = border_radius self.smart_position = smart_position - self.max_line_length: Optional[int] = max_line_length + self.max_line_length: int | None = max_line_length def _adjust_labels_in_frame( self, @@ -155,7 +156,7 @@ class BoxAnnotator(BaseAnnotator): def __init__( self, - color: Union[Color, ColorPalette] = ColorPalette.DEFAULT, + color: Color | ColorPalette = ColorPalette.DEFAULT, thickness: int = 2, color_lookup: ColorLookup = ColorLookup.CLASS, ): @@ -167,7 +168,7 @@ def __init__( color_lookup (ColorLookup): Strategy for mapping colors to annotations. Options are `INDEX`, `CLASS`, `TRACK`. """ - self.color: Union[Color, ColorPalette] = color + self.color: Color | ColorPalette = color self.thickness: int = thickness self.color_lookup: ColorLookup = color_lookup @@ -176,7 +177,7 @@ def annotate( self, scene: ImageType, detections: Detections, - custom_color_lookup: Optional[np.ndarray] = None, + custom_color_lookup: np.ndarray | None = None, ) -> ImageType: """ Annotates the given scene with bounding boxes based on the provided detections. @@ -238,7 +239,7 @@ class OrientedBoxAnnotator(BaseAnnotator): def __init__( self, - color: Union[Color, ColorPalette] = ColorPalette.DEFAULT, + color: Color | ColorPalette = ColorPalette.DEFAULT, thickness: int = 2, color_lookup: ColorLookup = ColorLookup.CLASS, ): @@ -250,7 +251,7 @@ def __init__( color_lookup (ColorLookup): Strategy for mapping colors to annotations. Options are `INDEX`, `CLASS`, `TRACK`. """ - self.color: Union[Color, ColorPalette] = color + self.color: Color | ColorPalette = color self.thickness: int = thickness self.color_lookup: ColorLookup = color_lookup @@ -259,7 +260,7 @@ def annotate( self, scene: ImageType, detections: Detections, - custom_color_lookup: Optional[np.ndarray] = None, + custom_color_lookup: np.ndarray | None = None, ) -> ImageType: """ Annotates the given scene with oriented bounding boxes based on the provided detections. @@ -327,7 +328,7 @@ class MaskAnnotator(BaseAnnotator): def __init__( self, - color: Union[Color, ColorPalette] = ColorPalette.DEFAULT, + color: Color | ColorPalette = ColorPalette.DEFAULT, opacity: float = 0.5, color_lookup: ColorLookup = ColorLookup.CLASS, ): @@ -339,7 +340,7 @@ def __init__( color_lookup (ColorLookup): Strategy for mapping colors to annotations. Options are `INDEX`, `CLASS`, `TRACK`. """ - self.color: Union[Color, ColorPalette] = color + self.color: Color | ColorPalette = color self.opacity = opacity self.color_lookup: ColorLookup = color_lookup @@ -348,7 +349,7 @@ def annotate( self, scene: ImageType, detections: Detections, - custom_color_lookup: Optional[np.ndarray] = None, + custom_color_lookup: np.ndarray | None = None, ) -> ImageType: """ Annotates the given scene with masks based on the provided detections. @@ -417,7 +418,7 @@ class PolygonAnnotator(BaseAnnotator): def __init__( self, - color: Union[Color, ColorPalette] = ColorPalette.DEFAULT, + color: Color | ColorPalette = ColorPalette.DEFAULT, thickness: int = 2, color_lookup: ColorLookup = ColorLookup.CLASS, ): @@ -429,7 +430,7 @@ def __init__( color_lookup (ColorLookup): Strategy for mapping colors to annotations. Options are `INDEX`, `CLASS`, `TRACK`. """ - self.color: Union[Color, ColorPalette] = color + self.color: Color | ColorPalette = color self.thickness: int = thickness self.color_lookup: ColorLookup = color_lookup @@ -438,7 +439,7 @@ def annotate( self, scene: ImageType, detections: Detections, - custom_color_lookup: Optional[np.ndarray] = None, + custom_color_lookup: np.ndarray | None = None, ) -> ImageType: """ Annotates the given scene with polygons based on the provided detections. @@ -504,7 +505,7 @@ class ColorAnnotator(BaseAnnotator): def __init__( self, - color: Union[Color, ColorPalette] = ColorPalette.DEFAULT, + color: Color | ColorPalette = ColorPalette.DEFAULT, opacity: float = 0.5, color_lookup: ColorLookup = ColorLookup.CLASS, ): @@ -516,7 +517,7 @@ def __init__( color_lookup (ColorLookup): Strategy for mapping colors to annotations. Options are `INDEX`, `CLASS`, `TRACK`. """ - self.color: Union[Color, ColorPalette] = color + self.color: Color | ColorPalette = color self.color_lookup: ColorLookup = color_lookup self.opacity = opacity @@ -525,7 +526,7 @@ def annotate( self, scene: ImageType, detections: Detections, - custom_color_lookup: Optional[np.ndarray] = None, + custom_color_lookup: np.ndarray | None = None, ) -> ImageType: """ Annotates the given scene with box masks based on the provided detections. @@ -596,7 +597,7 @@ class HaloAnnotator(BaseAnnotator): def __init__( self, - color: Union[Color, ColorPalette] = ColorPalette.DEFAULT, + color: Color | ColorPalette = ColorPalette.DEFAULT, opacity: float = 0.8, kernel_size: int = 40, color_lookup: ColorLookup = ColorLookup.CLASS, @@ -611,7 +612,7 @@ def __init__( color_lookup (ColorLookup): Strategy for mapping colors to annotations. Options are `INDEX`, `CLASS`, `TRACK`. """ - self.color: Union[Color, ColorPalette] = color + self.color: Color | ColorPalette = color self.opacity = opacity self.color_lookup: ColorLookup = color_lookup self.kernel_size: int = kernel_size @@ -621,7 +622,7 @@ def annotate( self, scene: ImageType, detections: Detections, - custom_color_lookup: Optional[np.ndarray] = None, + custom_color_lookup: np.ndarray | None = None, ) -> ImageType: """ Annotates the given scene with halos based on the provided detections. @@ -694,7 +695,7 @@ class EllipseAnnotator(BaseAnnotator): def __init__( self, - color: Union[Color, ColorPalette] = ColorPalette.DEFAULT, + color: Color | ColorPalette = ColorPalette.DEFAULT, thickness: int = 2, start_angle: int = -45, end_angle: int = 235, @@ -710,7 +711,7 @@ def __init__( color_lookup (ColorLookup): Strategy for mapping colors to annotations. Options are `INDEX`, `CLASS`, `TRACK`. """ - self.color: Union[Color, ColorPalette] = color + self.color: Color | ColorPalette = color self.thickness: int = thickness self.start_angle: int = start_angle self.end_angle: int = end_angle @@ -721,7 +722,7 @@ def annotate( self, scene: ImageType, detections: Detections, - custom_color_lookup: Optional[np.ndarray] = None, + custom_color_lookup: np.ndarray | None = None, ) -> ImageType: """ Annotates the given scene with ellipses based on the provided detections. @@ -789,7 +790,7 @@ class BoxCornerAnnotator(BaseAnnotator): def __init__( self, - color: Union[Color, ColorPalette] = ColorPalette.DEFAULT, + color: Color | ColorPalette = ColorPalette.DEFAULT, thickness: int = 4, corner_length: int = 15, color_lookup: ColorLookup = ColorLookup.CLASS, @@ -803,7 +804,7 @@ def __init__( color_lookup (ColorLookup): Strategy for mapping colors to annotations. Options are `INDEX`, `CLASS`, `TRACK`. """ - self.color: Union[Color, ColorPalette] = color + self.color: Color | ColorPalette = color self.thickness: int = thickness self.corner_length: int = corner_length self.color_lookup: ColorLookup = color_lookup @@ -813,7 +814,7 @@ def annotate( self, scene: ImageType, detections: Detections, - custom_color_lookup: Optional[np.ndarray] = None, + custom_color_lookup: np.ndarray | None = None, ) -> ImageType: """ Annotates the given scene with box corners based on the provided detections. @@ -880,7 +881,7 @@ class CircleAnnotator(BaseAnnotator): def __init__( self, - color: Union[Color, ColorPalette] = ColorPalette.DEFAULT, + color: Color | ColorPalette = ColorPalette.DEFAULT, thickness: int = 2, color_lookup: ColorLookup = ColorLookup.CLASS, ): @@ -893,7 +894,7 @@ def __init__( Options are `INDEX`, `CLASS`, `TRACK`. """ - self.color: Union[Color, ColorPalette] = color + self.color: Color | ColorPalette = color self.thickness: int = thickness self.color_lookup: ColorLookup = color_lookup @@ -902,7 +903,7 @@ def annotate( self, scene: ImageType, detections: Detections, - custom_color_lookup: Optional[np.ndarray] = None, + custom_color_lookup: np.ndarray | None = None, ) -> ImageType: """ Annotates the given scene with circles based on the provided detections. @@ -969,12 +970,12 @@ class DotAnnotator(BaseAnnotator): def __init__( self, - color: Union[Color, ColorPalette] = ColorPalette.DEFAULT, + color: Color | ColorPalette = ColorPalette.DEFAULT, radius: int = 4, position: Position = Position.CENTER, color_lookup: ColorLookup = ColorLookup.CLASS, outline_thickness: int = 0, - outline_color: Union[Color, ColorPalette] = Color.BLACK, + outline_color: Color | ColorPalette = Color.BLACK, ): """ Args: @@ -989,19 +990,19 @@ def __init__( use for outline. It is activated by setting outline_thickness to a value greater than 0. """ - self.color: Union[Color, ColorPalette] = color + self.color: Color | ColorPalette = color self.radius: int = radius self.position: Position = position self.color_lookup: ColorLookup = color_lookup self.outline_thickness = outline_thickness - self.outline_color: Union[Color, ColorPalette] = outline_color + self.outline_color: Color | ColorPalette = outline_color @ensure_cv2_image_for_annotation def annotate( self, scene: ImageType, detections: Detections, - custom_color_lookup: Optional[np.ndarray] = None, + custom_color_lookup: np.ndarray | None = None, ) -> ImageType: """ Annotates the given scene with dots based on the provided detections. @@ -1075,8 +1076,8 @@ class LabelAnnotator(_BaseLabelAnnotator): def __init__( self, - color: Union[Color, ColorPalette] = ColorPalette.DEFAULT, - text_color: Union[Color, ColorPalette] = Color.WHITE, + color: Color | ColorPalette = ColorPalette.DEFAULT, + text_color: Color | ColorPalette = Color.WHITE, text_scale: float = 0.5, text_thickness: int = 1, text_padding: int = 10, @@ -1084,7 +1085,7 @@ def __init__( color_lookup: ColorLookup = ColorLookup.CLASS, border_radius: int = 0, smart_position: bool = False, - max_line_length: Optional[int] = None, + max_line_length: int | None = None, ): self.text_scale: float = text_scale self.text_thickness: int = text_thickness @@ -1104,8 +1105,8 @@ def annotate( self, scene: ImageType, # Ensure scene is initially a NumPy array here detections: Detections, - labels: Optional[list[str]] = None, - custom_color_lookup: Optional[np.ndarray] = None, + labels: list[str] | None = None, + custom_color_lookup: np.ndarray | None = None, ) -> np.ndarray: assert isinstance(scene, np.ndarray) validate_labels(labels, detections) @@ -1189,7 +1190,7 @@ def _draw_labels( labels: list[str], label_properties: np.ndarray, detections: Detections, - custom_color_lookup: Optional[np.ndarray], + custom_color_lookup: np.ndarray | None, ) -> None: assert len(labels) == len(label_properties) == len(detections), ( f"Number of label properties ({len(label_properties)}), " @@ -1316,16 +1317,16 @@ class RichLabelAnnotator(_BaseLabelAnnotator): def __init__( self, - color: Union[Color, ColorPalette] = ColorPalette.DEFAULT, - text_color: Union[Color, ColorPalette] = Color.WHITE, - font_path: Optional[str] = None, + color: Color | ColorPalette = ColorPalette.DEFAULT, + text_color: Color | ColorPalette = Color.WHITE, + font_path: str | None = None, font_size: int = 10, text_padding: int = 10, text_position: Position = Position.TOP_LEFT, color_lookup: ColorLookup = ColorLookup.CLASS, border_radius: int = 0, smart_position: bool = False, - max_line_length: Optional[int] = None, + max_line_length: int | None = None, ): self.font_path = font_path self.font_size = font_size @@ -1346,8 +1347,8 @@ def annotate( self, scene: ImageType, detections: Detections, - labels: Optional[list[str]] = None, - custom_color_lookup: Optional[np.ndarray] = None, + labels: list[str] | None = None, + custom_color_lookup: np.ndarray | None = None, ) -> ImageType: assert isinstance(scene, Image.Image) validate_labels(labels, detections) @@ -1427,7 +1428,7 @@ def _draw_labels( labels: list[str], label_properties: np.ndarray, detections: Detections, - custom_color_lookup: Optional[np.ndarray], + custom_color_lookup: np.ndarray | None, ) -> None: assert len(labels) == len(label_properties) == len(detections), ( f"Number of label properties ({len(label_properties)}), " @@ -1485,7 +1486,7 @@ def _draw_labels( y_position += line_height + self.text_padding @staticmethod - def _load_font(font_size: int, font_path: Optional[str]): + def _load_font(font_size: int, font_path: str | None): def load_default_font(size): try: return ImageFont.load_default(size) @@ -1527,7 +1528,7 @@ def __init__( @ensure_cv2_image_for_annotation def annotate( - self, scene: ImageType, detections: Detections, icon_path: Union[str, list[str]] + self, scene: ImageType, detections: Detections, icon_path: str | list[str] ) -> ImageType: """ Annotates the given scene with given icons. @@ -1677,7 +1678,7 @@ class TraceAnnotator(BaseAnnotator): def __init__( self, - color: Union[Color, ColorPalette] = ColorPalette.DEFAULT, + color: Color | ColorPalette = ColorPalette.DEFAULT, position: Position = Position.CENTER, trace_length: int = 30, thickness: int = 2, @@ -1695,7 +1696,7 @@ def __init__( color_lookup (ColorLookup): Strategy for mapping colors to annotations. Options are `INDEX`, `CLASS`, `TRACK`. """ - self.color: Union[Color, ColorPalette] = color + self.color: Color | ColorPalette = color self.trace = Trace(max_size=trace_length, anchor=position) self.thickness = thickness self.color_lookup: ColorLookup = color_lookup @@ -1705,7 +1706,7 @@ def annotate( self, scene: ImageType, detections: Detections, - custom_color_lookup: Optional[np.ndarray] = None, + custom_color_lookup: np.ndarray | None = None, ) -> ImageType: """ Draws trace paths on the frame based on the detection coordinates provided. @@ -1812,7 +1813,7 @@ def __init__( self.kernel_size = kernel_size self.top_hue = top_hue self.low_hue = low_hue - self.heat_mask: Optional[npt.NDArray[np.float32]] = None + self.heat_mask: npt.NDArray[np.float32] | None = None @ensure_cv2_image_for_annotation def annotate(self, scene: ImageType, detections: Detections) -> ImageType: @@ -1963,13 +1964,13 @@ class TriangleAnnotator(BaseAnnotator): def __init__( self, - color: Union[Color, ColorPalette] = ColorPalette.DEFAULT, + color: Color | ColorPalette = ColorPalette.DEFAULT, base: int = 10, height: int = 10, position: Position = Position.TOP_CENTER, color_lookup: ColorLookup = ColorLookup.CLASS, outline_thickness: int = 0, - outline_color: Union[Color, ColorPalette] = Color.BLACK, + outline_color: Color | ColorPalette = Color.BLACK, ): """ Args: @@ -1985,20 +1986,20 @@ def __init__( use for outline. It is activated by setting outline_thickness to a value greater than 0. """ - self.color: Union[Color, ColorPalette] = color + self.color: Color | ColorPalette = color self.base: int = base self.height: int = height self.position: Position = position self.color_lookup: ColorLookup = color_lookup self.outline_thickness: int = outline_thickness - self.outline_color: Union[Color, ColorPalette] = outline_color + self.outline_color: Color | ColorPalette = outline_color @ensure_cv2_image_for_annotation def annotate( self, scene: ImageType, detections: Detections, - custom_color_lookup: Optional[np.ndarray] = None, + custom_color_lookup: np.ndarray | None = None, ) -> ImageType: """ Annotates the given scene with triangles based on the provided detections. @@ -2081,7 +2082,7 @@ class RoundBoxAnnotator(BaseAnnotator): def __init__( self, - color: Union[Color, ColorPalette] = ColorPalette.DEFAULT, + color: Color | ColorPalette = ColorPalette.DEFAULT, thickness: int = 2, color_lookup: ColorLookup = ColorLookup.CLASS, roundness: float = 0.6, @@ -2098,7 +2099,7 @@ def __init__( By default roundness percent is calculated based on smaller side length (width or height). """ - self.color: Union[Color, ColorPalette] = color + self.color: Color | ColorPalette = color self.thickness: int = thickness self.color_lookup: ColorLookup = color_lookup if not 0 < roundness <= 1.0: @@ -2110,7 +2111,7 @@ def annotate( self, scene: ImageType, detections: Detections, - custom_color_lookup: Optional[np.ndarray] = None, + custom_color_lookup: np.ndarray | None = None, ) -> ImageType: """ Annotates the given scene with bounding boxes with rounded edges @@ -2214,11 +2215,11 @@ def __init__( self, height: int = 16, width: int = 80, - color: Union[Color, ColorPalette] = ColorPalette.DEFAULT, + color: Color | ColorPalette = ColorPalette.DEFAULT, border_color: Color = Color.BLACK, position: Position = Position.TOP_CENTER, color_lookup: ColorLookup = ColorLookup.CLASS, - border_thickness: Optional[int] = None, + border_thickness: int | None = None, ): """ Args: @@ -2234,7 +2235,7 @@ def __init__( """ self.height: int = height self.width: int = width - self.color: Union[Color, ColorPalette] = color + self.color: Color | ColorPalette = color self.border_color: Color = border_color self.position: Position = position self.color_lookup: ColorLookup = color_lookup @@ -2247,8 +2248,8 @@ def annotate( self, scene: ImageType, detections: Detections, - custom_color_lookup: Optional[np.ndarray] = None, - custom_values: Optional[np.ndarray] = None, + custom_color_lookup: np.ndarray | None = None, + custom_values: np.ndarray | None = None, ) -> ImageType: """ Annotates the given scene with percentage bars based on the provided @@ -2366,7 +2367,7 @@ def calculate_border_coordinates( @staticmethod def validate_custom_values( - custom_values: Optional[Union[np.ndarray, list[float]]], detections: Detections + custom_values: np.ndarray | list[float] | None, detections: Detections ) -> None: if custom_values is None: if detections.confidence is None: @@ -2400,7 +2401,7 @@ def __init__( self, position: Position = Position.TOP_CENTER, scale_factor: float = 2.0, - border_color: Union[Color, ColorPalette] = ColorPalette.DEFAULT, + border_color: Color | ColorPalette = ColorPalette.DEFAULT, border_thickness: int = 2, border_color_lookup: ColorLookup = ColorLookup.CLASS, ): @@ -2419,7 +2420,7 @@ def __init__( """ self.position: Position = position self.scale_factor: float = scale_factor - self.border_color: Union[Color, ColorPalette] = border_color + self.border_color: Color | ColorPalette = border_color self.border_thickness: int = border_thickness self.border_color_lookup: ColorLookup = border_color_lookup @@ -2428,7 +2429,7 @@ def annotate( self, scene: ImageType, detections: Detections, - custom_color_lookup: Optional[np.ndarray] = None, + custom_color_lookup: np.ndarray | None = None, ) -> ImageType: """ Annotates the provided scene with scaled and cropped parts of the image based diff --git a/supervision/annotators/utils.py b/supervision/annotators/utils.py index f51dfb1934..a84e2049d4 100644 --- a/supervision/annotators/utils.py +++ b/supervision/annotators/utils.py @@ -1,6 +1,7 @@ +from __future__ import annotations + import textwrap from enum import Enum -from typing import Optional, Union import numpy as np @@ -35,7 +36,7 @@ def list(cls): def resolve_color_idx( detections: Detections, detection_idx: int, - color_lookup: Union[ColorLookup, np.ndarray] = ColorLookup.CLASS, + color_lookup: ColorLookup | np.ndarray = ColorLookup.CLASS, ) -> int: if detection_idx >= len(detections): raise ValueError( @@ -124,17 +125,17 @@ def resolve_text_background_xyxy( ) -def get_color_by_index(color: Union[Color, ColorPalette], idx: int) -> Color: +def get_color_by_index(color: Color | ColorPalette, idx: int) -> Color: if isinstance(color, ColorPalette): return color.by_idx(idx) return color def resolve_color( - color: Union[Color, ColorPalette], + color: Color | ColorPalette, detections: Detections, detection_idx: int, - color_lookup: Union[ColorLookup, np.ndarray] = ColorLookup.CLASS, + color_lookup: ColorLookup | np.ndarray = ColorLookup.CLASS, ) -> Color: idx = resolve_color_idx( detections=detections, @@ -189,7 +190,7 @@ def wrap_text(text: str, max_line_length=None) -> list[str]: return all_lines if all_lines else [""] -def validate_labels(labels: Optional[list[str]], detections: Detections): +def validate_labels(labels: list[str] | None, detections: Detections): """ Validates that the number of provided labels matches the number of detections. @@ -211,7 +212,7 @@ def validate_labels(labels: Optional[list[str]], detections: Detections): def get_labels_text( - detections: Detections, custom_labels: Optional[list[str]] + detections: Detections, custom_labels: list[str] | None ) -> list[str]: """ Retrieves the text labels for the detections. @@ -309,7 +310,7 @@ def snap_boxes(xyxy: np.ndarray, resolution_wh: tuple[int, int]) -> np.ndarray: class Trace: def __init__( self, - max_size: Optional[int] = None, + max_size: int | None = None, start_frame_id: int = 0, anchor: Position = Position.CENTER, ) -> None: diff --git a/supervision/assets/downloader.py b/supervision/assets/downloader.py index c8e3e56d5c..dbdd84ce1e 100644 --- a/supervision/assets/downloader.py +++ b/supervision/assets/downloader.py @@ -1,8 +1,9 @@ +from __future__ import annotations + import os from hashlib import new as hash_new from pathlib import Path from shutil import copyfileobj -from typing import Union from requests import get from tqdm.auto import tqdm @@ -32,7 +33,7 @@ def is_md5_hash_matching(filename: str, original_md5_hash: str) -> bool: return computed_md5_hash.hexdigest() == original_md5_hash -def download_assets(asset_name: Union[VideoAssets, str]) -> str: +def download_assets(asset_name: VideoAssets | str) -> str: """ Download a specified asset if it doesn't already exist or is corrupted. diff --git a/supervision/dataset/formats/pascal_voc.py b/supervision/dataset/formats/pascal_voc.py index 8eddfb96f0..fb068ccca0 100644 --- a/supervision/dataset/formats/pascal_voc.py +++ b/supervision/dataset/formats/pascal_voc.py @@ -1,6 +1,7 @@ +from __future__ import annotations + import os from pathlib import Path -from typing import Optional from xml.etree.ElementTree import Element, SubElement import cv2 @@ -15,7 +16,7 @@ def object_to_pascal_voc( - xyxy: np.ndarray, name: str, polygon: Optional[np.ndarray] = None + xyxy: np.ndarray, name: str, polygon: np.ndarray | None = None ) -> Element: root = Element("object") diff --git a/supervision/dataset/formats/yolo.py b/supervision/dataset/formats/yolo.py index 7903e598b1..f065aefd08 100644 --- a/supervision/dataset/formats/yolo.py +++ b/supervision/dataset/formats/yolo.py @@ -1,6 +1,8 @@ +from __future__ import annotations + import os from pathlib import Path -from typing import TYPE_CHECKING, Optional +from typing import TYPE_CHECKING import numpy as np from PIL import Image @@ -205,7 +207,7 @@ def object_to_yolo( xyxy: np.ndarray, class_id: int, image_shape: tuple[int, int, int], - polygon: Optional[np.ndarray] = None, + polygon: np.ndarray | None = None, ) -> str: h, w, _ = image_shape if polygon is None: @@ -260,7 +262,7 @@ def detections_to_yolo_annotations( def save_yolo_annotations( - dataset: "DetectionDataset", + dataset: DetectionDataset, annotations_directory_path: str, min_image_area_percentage: float = 0.0, max_image_area_percentage: float = 1.0, diff --git a/supervision/dataset/utils.py b/supervision/dataset/utils.py index 487ff1d9bf..9c02c41569 100644 --- a/supervision/dataset/utils.py +++ b/supervision/dataset/utils.py @@ -1,9 +1,11 @@ +from __future__ import annotations + import copy import os import random import shutil from pathlib import Path -from typing import TYPE_CHECKING, Optional, TypeVar, Union +from typing import TYPE_CHECKING, TypeVar import cv2 import numpy as np @@ -98,9 +100,7 @@ def map_detections_class_id( return detections_copy -def save_dataset_images( - dataset: "DetectionDataset", images_directory_path: str -) -> None: +def save_dataset_images(dataset: DetectionDataset, images_directory_path: str) -> None: Path(images_directory_path).mkdir(parents=True, exist_ok=True) for image_path in dataset.image_paths: final_path = os.path.join(images_directory_path, Path(image_path).name) @@ -114,7 +114,7 @@ def save_dataset_images( def train_test_split( data: list[T], train_ratio: float = 0.8, - random_state: Optional[int] = None, + random_state: int | None = None, shuffle: bool = True, ) -> tuple[list[T], list[T]]: """ @@ -140,7 +140,7 @@ def train_test_split( def rle_to_mask( - rle: Union[npt.NDArray[np.int_], list[int]], resolution_wh: tuple[int, int] + rle: npt.NDArray[np.int_] | list[int], resolution_wh: tuple[int, int] ) -> npt.NDArray[np.bool_]: """ Converts run-length encoding (RLE) to a binary mask. diff --git a/supervision/detection/line_zone.py b/supervision/detection/line_zone.py index b94fc531fb..bf7e42da92 100644 --- a/supervision/detection/line_zone.py +++ b/supervision/detection/line_zone.py @@ -1,9 +1,11 @@ +from __future__ import annotations + import math import warnings from collections import Counter, defaultdict, deque from collections.abc import Iterable from functools import lru_cache -from typing import Any, Literal, Optional +from typing import Any, Literal import cv2 import numpy as np @@ -161,7 +163,7 @@ def trigger(self, detections: Detections) -> tuple[np.ndarray, np.ndarray]: self._compute_anchor_sides(detections) ) - class_ids: list[Optional[int]] = ( + class_ids: list[int | None] = ( list(detections.class_id) if detections.class_id is not None else [None] * len(detections) @@ -325,8 +327,8 @@ def __init__( text_scale: float = 0.5, text_offset: float = 1.5, text_padding: int = 10, - custom_in_text: Optional[str] = None, - custom_out_text: Optional[str] = None, + custom_in_text: str | None = None, + custom_out_text: str | None = None, display_in_count: bool = True, display_out_count: bool = True, display_text_box: bool = True, @@ -758,7 +760,7 @@ def annotate( self, frame: np.ndarray, line_zones: list[LineZone], - line_zone_labels: Optional[list[str]] = None, + line_zone_labels: list[str] | None = None, ) -> np.ndarray: """ Draws a table with the number of objects of each class that crossed each line. diff --git a/supervision/detection/tools/inference_slicer.py b/supervision/detection/tools/inference_slicer.py index dd01f6d149..e0ffb3bfea 100644 --- a/supervision/detection/tools/inference_slicer.py +++ b/supervision/detection/tools/inference_slicer.py @@ -1,6 +1,8 @@ +from __future__ import annotations + import warnings +from collections.abc import Callable from concurrent.futures import ThreadPoolExecutor, as_completed -from typing import Callable, Optional, Union import numpy as np @@ -18,7 +20,7 @@ def move_detections( detections: Detections, offset: np.ndarray, - resolution_wh: Optional[tuple[int, int]] = None, + resolution_wh: tuple[int, int] | None = None, ) -> Detections: """ Args: @@ -89,9 +91,9 @@ def __init__( self, callback: Callable[[np.ndarray], Detections], slice_wh: tuple[int, int] = (320, 320), - overlap_ratio_wh: Optional[tuple[float, float]] = (0.2, 0.2), - overlap_wh: Optional[tuple[int, int]] = None, - overlap_filter: Union[OverlapFilter, str] = OverlapFilter.NON_MAX_SUPPRESSION, + overlap_ratio_wh: tuple[float, float] | None = (0.2, 0.2), + overlap_wh: tuple[int, int] | None = None, + overlap_filter: OverlapFilter | str = OverlapFilter.NON_MAX_SUPPRESSION, iou_threshold: float = 0.5, match_metric: str = "IOU", thread_workers: int = 1, @@ -208,8 +210,8 @@ def _run_callback(self, image, offset) -> Detections: def _generate_offset( resolution_wh: tuple[int, int], slice_wh: tuple[int, int], - overlap_ratio_wh: Optional[tuple[float, float]], - overlap_wh: Optional[tuple[int, int]], + overlap_ratio_wh: tuple[float, float] | None, + overlap_wh: tuple[int, int] | None, ) -> np.ndarray: """ Generate offset coordinates for slicing an image based on the given resolution, @@ -268,8 +270,8 @@ def _generate_offset( @staticmethod def _validate_overlap( - overlap_ratio_wh: Optional[tuple[float, float]], - overlap_wh: Optional[tuple[int, int]], + overlap_ratio_wh: tuple[float, float] | None, + overlap_wh: tuple[int, int] | None, ) -> None: if overlap_ratio_wh is not None and overlap_wh is not None: raise ValueError( diff --git a/supervision/detection/tools/polygon_zone.py b/supervision/detection/tools/polygon_zone.py index 0b1141ce98..40c753371b 100644 --- a/supervision/detection/tools/polygon_zone.py +++ b/supervision/detection/tools/polygon_zone.py @@ -1,6 +1,7 @@ +from __future__ import annotations + from collections.abc import Iterable from dataclasses import replace -from typing import Optional import cv2 import numpy as np @@ -154,7 +155,7 @@ def __init__( self.display_in_zone_count = display_in_zone_count self.opacity = opacity - def annotate(self, scene: np.ndarray, label: Optional[str] = None) -> np.ndarray: + def annotate(self, scene: np.ndarray, label: str | None = None) -> np.ndarray: """ Annotates the polygon zone within a frame with a count of detected objects. diff --git a/supervision/detection/tools/smoother.py b/supervision/detection/tools/smoother.py index 933d4fa4bc..2c1137c0dc 100644 --- a/supervision/detection/tools/smoother.py +++ b/supervision/detection/tools/smoother.py @@ -1,7 +1,8 @@ +from __future__ import annotations + import warnings from collections import defaultdict, deque from copy import deepcopy -from typing import Optional import numpy as np @@ -95,7 +96,7 @@ def update_with_detections(self, detections: Detections) -> Detections: return self.get_smoothed_detections() - def get_track(self, track_id: int) -> Optional[Detections]: + def get_track(self, track_id: int) -> Detections | None: track = self.tracks.get(track_id, None) if track is None: return None diff --git a/supervision/detection/tools/transformers.py b/supervision/detection/tools/transformers.py index 433aa48f5d..97eb03cee6 100644 --- a/supervision/detection/tools/transformers.py +++ b/supervision/detection/tools/transformers.py @@ -1,5 +1,7 @@ +from __future__ import annotations + import io -from typing import Any, Optional +from typing import Any import numpy as np from PIL import Image @@ -9,7 +11,7 @@ def process_transformers_detection_result( - detection_result: dict, id2label: Optional[dict[int, str]] + detection_result: dict, id2label: dict[int, str] | None ) -> dict: """ Process the result of Transformers object detection functions such as @@ -38,7 +40,7 @@ class IDs, and data. def process_transformers_v4_segmentation_result( - segmentation_result: dict, id2label: Optional[dict[int, str]] + segmentation_result: dict, id2label: dict[int, str] | None ) -> dict: """ Process the result of Transformers segmentation functions such as @@ -77,7 +79,7 @@ def process_transformers_v4_segmentation_result( def process_transformers_v5_segmentation_result( - segmentation_result: dict, id2label: Optional[dict[int, str]] + segmentation_result: dict, id2label: dict[int, str] | None ) -> dict: """ Process the result of Transformers segmentation functions such as @@ -107,7 +109,7 @@ def process_transformers_v5_segmentation_result( def process_transformers_v5_semantic_or_instance_segmentation_result( - segmentation_result: dict, id2label: Optional[dict[int, str]] + segmentation_result: dict, id2label: dict[int, str] | None ) -> dict: """ Process the result of Transformers segmentation functions such as @@ -143,7 +145,7 @@ def process_transformers_v5_semantic_or_instance_segmentation_result( def process_transformers_v4_panoptic_segmentation_result( - segmentation_result: dict, id2label: Optional[dict[int, str]] + segmentation_result: dict, id2label: dict[int, str] | None ) -> dict: """ Process the result of the Transformers function `post_process_panoptic` (v4). @@ -177,7 +179,7 @@ class IDs, and data. def process_transformers_v5_panoptic_segmentation_result( - segmentation_array: np.ndarray, id2label: Optional[dict[int, str]] + segmentation_array: np.ndarray, id2label: dict[int, str] | None ) -> dict: """ Process the result of the Transformers function @@ -220,8 +222,8 @@ def png_string_to_segmentation_array(png_string: bytes) -> np.ndarray: def append_class_names_to_data( class_ids: np.ndarray, - id2label: Optional[dict[int, str]], - data: Optional[dict[str, Any]] = None, + id2label: dict[int, str] | None, + data: dict[str, Any] | None = None, ) -> dict[str, Any]: """ Helper function to create or append to a data dictionary with class names if diff --git a/supervision/detection/vlm.py b/supervision/detection/vlm.py index d98405e3a8..3adec2bcf6 100644 --- a/supervision/detection/vlm.py +++ b/supervision/detection/vlm.py @@ -1,9 +1,11 @@ +from __future__ import annotations + import base64 import io import json import re from enum import Enum -from typing import Any, Optional, Union +from typing import Any import numpy as np from PIL import Image @@ -80,9 +82,7 @@ class VLM(Enum): ] -def validate_vlm_parameters( - vlm: Union[VLM, str], result: Any, kwargs: dict[str, Any] -) -> VLM: +def validate_vlm_parameters(vlm: VLM | str, result: Any, kwargs: dict[str, Any]) -> VLM: if isinstance(vlm, str): try: vlm = VLM(vlm.lower()) @@ -110,8 +110,8 @@ def validate_vlm_parameters( def from_paligemma( - result: str, resolution_wh: tuple[int, int], classes: Optional[list[str]] = None -) -> tuple[np.ndarray, Optional[np.ndarray], np.ndarray]: + result: str, resolution_wh: tuple[int, int], classes: list[str] | None = None +) -> tuple[np.ndarray, np.ndarray | None, np.ndarray]: """ Parse bounding boxes from paligemma-formatted text, scale them to the specified resolution, and optionally filter by classes. @@ -161,8 +161,8 @@ def from_qwen_2_5_vl( result: str, input_wh: tuple[int, int], resolution_wh: tuple[int, int], - classes: Optional[list[str]] = None, -) -> tuple[np.ndarray, Optional[np.ndarray], np.ndarray]: + classes: list[str] | None = None, +) -> tuple[np.ndarray, np.ndarray | None, np.ndarray]: """ Parse and scale bounding boxes from Qwen-2.5-VL style JSON output. @@ -239,9 +239,7 @@ def from_qwen_2_5_vl( def from_florence_2( result: dict, resolution_wh: tuple[int, int] -) -> tuple[ - np.ndarray, Optional[np.ndarray], Optional[np.ndarray], Optional[np.ndarray] -]: +) -> tuple[np.ndarray, np.ndarray | None, np.ndarray | None, np.ndarray | None]: """ Parse results from the Florence 2 multi-model model. https://huggingface.co/microsoft/Florence-2-large @@ -335,8 +333,8 @@ def from_florence_2( def from_google_gemini_2_0( result: str, resolution_wh: tuple[int, int], - classes: Optional[list[str]] = None, -) -> tuple[np.ndarray, Optional[np.ndarray], np.ndarray]: + classes: list[str] | None = None, +) -> tuple[np.ndarray, np.ndarray | None, np.ndarray]: """ Parse and scale bounding boxes from Google Gemini style [JSON output](https://ai.google.dev/gemini-api/docs/vision?lang=python). @@ -424,13 +422,13 @@ def from_google_gemini_2_0( def from_google_gemini_2_5( result: str, resolution_wh: tuple[int, int], - classes: Optional[list[str]] = None, + classes: list[str] | None = None, ) -> tuple[ np.ndarray, - Optional[np.ndarray], + np.ndarray | None, np.ndarray, - Optional[np.ndarray], - Optional[np.ndarray], + np.ndarray | None, + np.ndarray | None, ]: """ Parse and scale bounding boxes and masks from Google Gemini 2.5 style @@ -490,8 +488,8 @@ def from_google_gemini_2_5( boxes_list: list = [] labels_list: list = [] - confidence_list: Optional[list] = [] - masks_list: Optional[list] = [] + confidence_list: list | None = [] + masks_list: list | None = [] for item in data: if "box_2d" not in item or "label" not in item: diff --git a/supervision/draw/utils.py b/supervision/draw/utils.py index 87a96a2a3b..ed4a903746 100644 --- a/supervision/draw/utils.py +++ b/supervision/draw/utils.py @@ -1,5 +1,6 @@ +from __future__ import annotations + import os -from typing import Optional, Union import cv2 import numpy as np @@ -215,7 +216,7 @@ def draw_text( text_thickness: int = 1, text_padding: int = 10, text_font: int = cv2.FONT_HERSHEY_SIMPLEX, - background_color: Optional[Color] = None, + background_color: Color | None = None, ) -> np.ndarray: """ Draw text with background on a scene. @@ -282,7 +283,7 @@ def draw_text( def draw_image( - scene: np.ndarray, image: Union[str, np.ndarray], opacity: float, rect: Rect + scene: np.ndarray, image: str | np.ndarray, opacity: float, rect: Rect ) -> np.ndarray: """ Draws an image onto a given scene with specified opacity and dimensions. diff --git a/supervision/keypoint/annotators.py b/supervision/keypoint/annotators.py index 9a44c5ebb9..5d74ea11ce 100644 --- a/supervision/keypoint/annotators.py +++ b/supervision/keypoint/annotators.py @@ -1,6 +1,7 @@ +from __future__ import annotations + from abc import ABC, abstractmethod from logging import warn -from typing import Optional, Union import cv2 import numpy as np @@ -106,7 +107,7 @@ def __init__( self, color: Color = Color.ROBOFLOW, thickness: int = 2, - edges: Optional[list[tuple[int, int]]] = None, + edges: list[tuple[int, int]] | None = None, ) -> None: """ Args: @@ -196,8 +197,8 @@ class VertexLabelAnnotator: def __init__( self, - color: Union[Color, list[Color]] = Color.ROBOFLOW, - text_color: Union[Color, list[Color]] = Color.WHITE, + color: Color | list[Color] = Color.ROBOFLOW, + text_color: Color | list[Color] = Color.WHITE, text_scale: float = 0.5, text_thickness: int = 1, text_padding: int = 10, @@ -220,8 +221,8 @@ def __init__( smart_position (bool): Spread out the labels to avoid overlap. """ self.border_radius: int = border_radius - self.color: Union[Color, list[Color]] = color - self.text_color: Union[Color, list[Color]] = text_color + self.color: Color | list[Color] = color + self.text_color: Color | list[Color] = text_color self.text_scale: float = text_scale self.text_thickness: int = text_thickness self.text_padding: int = text_padding @@ -231,7 +232,7 @@ def annotate( self, scene: ImageType, key_points: KeyPoints, - labels: Optional[list[str]] = None, + labels: list[str] | None = None, ) -> ImageType: """ A class that draws labels of skeleton vertices on images. It uses specified key @@ -412,7 +413,7 @@ def get_text_bounding_box( @staticmethod def preprocess_and_validate_labels( - labels: Optional[list[str]], points_count: int, skeletons_count: int + labels: list[str] | None, points_count: int, skeletons_count: int ) -> np.ndarray: if labels and len(labels) != points_count: raise ValueError( @@ -426,7 +427,7 @@ def preprocess_and_validate_labels( @staticmethod def preprocess_and_validate_colors( - colors: Optional[Union[Color, list[Color]]], + colors: Color | list[Color] | None, points_count: int, skeletons_count: int, ) -> np.ndarray: diff --git a/supervision/metrics/detection.py b/supervision/metrics/detection.py index 3f1f96d57d..1a55de55f8 100644 --- a/supervision/metrics/detection.py +++ b/supervision/metrics/detection.py @@ -1,7 +1,7 @@ from __future__ import annotations +from collections.abc import Callable from dataclasses import dataclass -from typing import Callable import matplotlib import matplotlib.pyplot as plt diff --git a/supervision/utils/file.py b/supervision/utils/file.py index 82c32ef3d0..c3a04ff26b 100644 --- a/supervision/utils/file.py +++ b/supervision/utils/file.py @@ -1,6 +1,7 @@ +from __future__ import annotations + import json from pathlib import Path -from typing import Optional, Union import numpy as np import yaml @@ -18,7 +19,7 @@ def default(self, obj): def list_files_with_extensions( - directory: Union[str, Path], extensions: Optional[list[str]] = None + directory: str | Path, extensions: list[str] | None = None ) -> list[Path]: """ List files in a directory with specified extensions or @@ -57,7 +58,7 @@ def list_files_with_extensions( return files_with_extensions -def read_txt_file(file_path: Union[str, Path], skip_empty: bool = False) -> list[str]: +def read_txt_file(file_path: str | Path, skip_empty: bool = False) -> list[str]: """ Read a text file and return a list of strings without newline characters. Optionally skip empty lines. @@ -79,7 +80,7 @@ def read_txt_file(file_path: Union[str, Path], skip_empty: bool = False) -> list return lines -def save_text_file(lines: list[str], file_path: Union[str, Path]) -> None: +def save_text_file(lines: list[str], file_path: str | Path) -> None: """ Write a list of strings to a text file, each string on a new line. @@ -92,7 +93,7 @@ def save_text_file(lines: list[str], file_path: Union[str, Path]) -> None: file.write(line + "\n") -def read_json_file(file_path: Union[str, Path]) -> dict: +def read_json_file(file_path: str | Path) -> dict: """ Read a json file and return a dict. @@ -107,7 +108,7 @@ def read_json_file(file_path: Union[str, Path]) -> dict: return data -def save_json_file(data: dict, file_path: Union[str, Path], indent: int = 3) -> None: +def save_json_file(data: dict, file_path: str | Path, indent: int = 3) -> None: """ Write a dict to a json file. @@ -120,7 +121,7 @@ def save_json_file(data: dict, file_path: Union[str, Path], indent: int = 3) -> json.dump(data, fp, cls=NumpyJsonEncoder, indent=indent) -def read_yaml_file(file_path: Union[str, Path]) -> dict: +def read_yaml_file(file_path: str | Path) -> dict: """ Read a yaml file and return a dict. @@ -135,7 +136,7 @@ def read_yaml_file(file_path: Union[str, Path]) -> dict: return data -def save_yaml_file(data: dict, file_path: Union[str, Path]) -> None: +def save_yaml_file(data: dict, file_path: str | Path) -> None: """ Save a dict to a json file. diff --git a/supervision/utils/image.py b/supervision/utils/image.py index b34872fcf8..6960986768 100644 --- a/supervision/utils/image.py +++ b/supervision/utils/image.py @@ -1,9 +1,12 @@ +from __future__ import annotations + import itertools import math import os import shutil +from collections.abc import Callable from functools import partial -from typing import Callable, Literal, Optional, Union +from typing import Literal import cv2 import numpy as np @@ -28,7 +31,7 @@ @ensure_cv2_image_for_processing def crop_image( image: ImageType, - xyxy: Union[npt.NDArray[int], list[int], tuple[int, int, int, int]], + xyxy: npt.NDArray[int] | list[int] | tuple[int, int, int, int], ) -> ImageType: """ Crops the given image based on the given bounding box. @@ -220,7 +223,7 @@ def resize_image( def letterbox_image( image: ImageType, resolution_wh: tuple[int, int], - color: Union[tuple[int, int, int], Color] = Color.BLACK, + color: tuple[int, int, int] | Color = Color.BLACK, ) -> ImageType: """ Resizes and pads an image to a specified resolution with a given color, maintaining @@ -412,7 +415,7 @@ def __enter__(self): return self - def save_image(self, image: np.ndarray, image_name: Optional[str] = None): + def save_image(self, image: np.ndarray, image_name: str | None = None): """ Save a given image in the target directory. @@ -436,23 +439,21 @@ def __exit__(self, exc_type, exc_value, exc_traceback): def create_tiles( images: list[ImageType], - grid_size: Optional[tuple[Optional[int], Optional[int]]] = None, - single_tile_size: Optional[tuple[int, int]] = None, + grid_size: tuple[int | None, int | None] | None = None, + single_tile_size: tuple[int, int] | None = None, tile_scaling: Literal["min", "max", "avg"] = "avg", - tile_padding_color: Union[tuple[int, int, int], Color] = Color.from_hex("#D9D9D9"), + tile_padding_color: tuple[int, int, int] | Color = Color.from_hex("#D9D9D9"), tile_margin: int = 10, - tile_margin_color: Union[tuple[int, int, int], Color] = Color.from_hex("#BFBEBD"), + tile_margin_color: tuple[int, int, int] | Color = Color.from_hex("#BFBEBD"), return_type: Literal["auto", "cv2", "pillow"] = "auto", - titles: Optional[list[Optional[str]]] = None, - titles_anchors: Optional[Union[Point, list[Optional[Point]]]] = None, - titles_color: Union[tuple[int, int, int], Color] = Color.from_hex("#262523"), - titles_scale: Optional[float] = None, + titles: list[str | None] | None = None, + titles_anchors: Point | list[Point | None] | None = None, + titles_color: tuple[int, int, int] | Color = Color.from_hex("#262523"), + titles_scale: float | None = None, titles_thickness: int = 1, titles_padding: int = 10, titles_text_font: int = cv2.FONT_HERSHEY_SIMPLEX, - titles_background_color: Union[tuple[int, int, int], Color] = Color.from_hex( - "#D9D9D9" - ), + titles_background_color: tuple[int, int, int] | Color = Color.from_hex("#D9D9D9"), default_title_placement: RelativePosition = "top", ) -> ImageType: """ @@ -613,7 +614,7 @@ def _aggregate_images_shape( def _establish_grid_size( - images: list[np.ndarray], grid_size: Optional[tuple[Optional[int], Optional[int]]] + images: list[np.ndarray], grid_size: tuple[int | None, int | None] | None ) -> tuple[int, int]: if grid_size is None or all(e is None for e in grid_size): return _negotiate_grid_size(images=images) @@ -642,10 +643,10 @@ def _generate_tiles( tile_padding_color: tuple[int, int, int], tile_margin: int, tile_margin_color: tuple[int, int, int], - titles: Optional[list[Optional[str]]], - titles_anchors: list[Optional[Point]], + titles: list[str | None] | None, + titles_anchors: list[Point | None], titles_color: tuple[int, int, int], - titles_scale: Optional[float], + titles_scale: float | None, titles_thickness: int, titles_padding: int, titles_text_font: int, @@ -686,10 +687,10 @@ def _generate_tiles( def _draw_texts( images: list[np.ndarray], - titles: Optional[list[Optional[str]]], - titles_anchors: list[Optional[Point]], + titles: list[str | None] | None, + titles_anchors: list[Point | None], titles_color: tuple[int, int, int], - titles_scale: Optional[float], + titles_scale: float | None, titles_thickness: int, titles_padding: int, titles_text_font: int, @@ -730,7 +731,7 @@ def _draw_texts( def _prepare_default_titles_anchors( images: list[np.ndarray], - titles_anchors: list[Optional[Point]], + titles_anchors: list[Point | None], default_title_placement: RelativePosition, ) -> list[Point]: result = [] diff --git a/supervision/utils/internal.py b/supervision/utils/internal.py index 94b5465c37..242a41729e 100644 --- a/supervision/utils/internal.py +++ b/supervision/utils/internal.py @@ -1,8 +1,11 @@ +from __future__ import annotations + import functools import inspect import os import warnings -from typing import Any, Callable, Generic, Optional, TypeVar +from collections.abc import Callable +from typing import Any, Generic, TypeVar class SupervisionWarnings(Warning): @@ -144,7 +147,7 @@ def __init__(self, fget: Callable[..., T]): """ self.fget = fget - def __get__(self, owner_self: Any, owner_cls: Optional[type] = None) -> T: + def __get__(self, owner_self: Any, owner_cls: type | None = None) -> T: """ Override the __get__ method to return the result of the function call. diff --git a/supervision/utils/notebook.py b/supervision/utils/notebook.py index 5e7091f8bd..9262f12bc4 100644 --- a/supervision/utils/notebook.py +++ b/supervision/utils/notebook.py @@ -1,4 +1,4 @@ -from typing import Optional +from __future__ import annotations import cv2 import matplotlib.pyplot as plt @@ -9,7 +9,7 @@ def plot_image( - image: ImageType, size: tuple[int, int] = (12, 12), cmap: Optional[str] = "gray" + image: ImageType, size: tuple[int, int] = (12, 12), cmap: str | None = "gray" ) -> None: """ Plots image using matplotlib. @@ -48,9 +48,9 @@ def plot_image( def plot_images_grid( images: list[ImageType], grid_size: tuple[int, int], - titles: Optional[list[str]] = None, + titles: list[str] | None = None, size: tuple[int, int] = (12, 12), - cmap: Optional[str] = "gray", + cmap: str | None = "gray", ) -> None: """ Plots images in a grid using matplotlib. diff --git a/supervision/utils/video.py b/supervision/utils/video.py index 32d1879b30..3b281b4e22 100644 --- a/supervision/utils/video.py +++ b/supervision/utils/video.py @@ -2,9 +2,8 @@ import time from collections import deque -from collections.abc import Generator +from collections.abc import Callable, Generator from dataclasses import dataclass -from typing import Callable import cv2 import numpy as np diff --git a/test/annotators/test_utils.py b/test/annotators/test_utils.py index 588f0242a6..2fdccec116 100644 --- a/test/annotators/test_utils.py +++ b/test/annotators/test_utils.py @@ -1,5 +1,6 @@ +from __future__ import annotations + from contextlib import ExitStack as DoesNotRaise -from typing import Optional import numpy as np import pytest @@ -97,7 +98,7 @@ def test_resolve_color_idx( detections: Detections, detection_idx: int, color_lookup: ColorLookup, - expected_result: Optional[int], + expected_result: int | None, exception: Exception, ) -> None: with exception: diff --git a/test/classification/test_core.py b/test/classification/test_core.py index 9ab04e63bc..958ed901bc 100644 --- a/test/classification/test_core.py +++ b/test/classification/test_core.py @@ -1,5 +1,6 @@ +from __future__ import annotations + from contextlib import ExitStack as DoesNotRaise -from typing import Optional import numpy as np import pytest @@ -49,9 +50,9 @@ ) def test_top_k( class_id: np.ndarray, - confidence: Optional[np.ndarray], + confidence: np.ndarray | None, k: int, - expected_result: Optional[tuple[np.ndarray, np.ndarray]], + expected_result: tuple[np.ndarray, np.ndarray] | None, exception: Exception, ) -> None: with exception: diff --git a/test/dataset/formats/test_coco.py b/test/dataset/formats/test_coco.py index d9748cf360..bde8566c33 100644 --- a/test/dataset/formats/test_coco.py +++ b/test/dataset/formats/test_coco.py @@ -1,5 +1,6 @@ +from __future__ import annotations + from contextlib import ExitStack as DoesNotRaise -from typing import Optional, Union import numpy as np import pytest @@ -21,7 +22,7 @@ def mock_coco_annotation( category_id: int = 0, bbox: tuple[float, float, float, float] = (0.0, 0.0, 0.0, 0.0), area: float = 0.0, - segmentation: Optional[Union[list[list], dict]] = None, + segmentation: list[list] | dict | None = None, iscrowd: bool = False, ) -> dict: if not segmentation: diff --git a/test/dataset/formats/test_pascal_voc.py b/test/dataset/formats/test_pascal_voc.py index 3006e22793..27600c5030 100644 --- a/test/dataset/formats/test_pascal_voc.py +++ b/test/dataset/formats/test_pascal_voc.py @@ -1,5 +1,6 @@ +from __future__ import annotations + from contextlib import ExitStack as DoesNotRaise -from typing import Optional import numpy as np import pytest @@ -60,7 +61,7 @@ def are_xml_elements_equal(elem1, elem2): def test_object_to_pascal_voc( xyxy: np.ndarray, name: str, - polygon: Optional[np.ndarray], + polygon: np.ndarray | None, expected_result, exception: Exception, ): diff --git a/test/dataset/formats/test_yolo.py b/test/dataset/formats/test_yolo.py index 62774a5d85..4b032603f7 100644 --- a/test/dataset/formats/test_yolo.py +++ b/test/dataset/formats/test_yolo.py @@ -1,5 +1,6 @@ +from __future__ import annotations + from contextlib import ExitStack as DoesNotRaise -from typing import Optional import numpy as np import pytest @@ -57,7 +58,7 @@ def _arrays_almost_equal( ], ) def test_with_mask( - lines: list[str], expected_result: Optional[bool], exception: Exception + lines: list[str], expected_result: bool | None, exception: Exception ) -> None: with exception: result = _with_mask(lines=lines) @@ -174,7 +175,7 @@ def test_yolo_annotations_to_detections( lines: list[str], resolution_wh: tuple[int, int], with_masks: bool, - expected_result: Optional[Detections], + expected_result: Detections | None, exception: Exception, ) -> None: with exception: @@ -202,7 +203,7 @@ def test_yolo_annotations_to_detections( ], ) def test_image_name_to_annotation_name( - image_name: str, expected_result: Optional[str], exception: Exception + image_name: str, expected_result: str | None, exception: Exception ) -> None: with exception: result = _image_name_to_annotation_name(image_name=image_name) @@ -268,8 +269,8 @@ def test_object_to_yolo( xyxy: np.ndarray, class_id: int, image_shape: tuple[int, int, int], - polygon: Optional[np.ndarray], - expected_result: Optional[str], + polygon: np.ndarray | None, + expected_result: str | None, exception: Exception, ) -> None: with exception: diff --git a/test/dataset/test_core.py b/test/dataset/test_core.py index 3cc19a8055..5ad3a3ef64 100644 --- a/test/dataset/test_core.py +++ b/test/dataset/test_core.py @@ -1,5 +1,6 @@ +from __future__ import annotations + from contextlib import ExitStack as DoesNotRaise -from typing import Optional import pytest @@ -159,7 +160,7 @@ ) def test_dataset_merge( dataset_list: list[DetectionDataset], - expected_result: Optional[DetectionDataset], + expected_result: DetectionDataset | None, exception: Exception, ) -> None: with exception: diff --git a/test/dataset/test_utils.py b/test/dataset/test_utils.py index 758e6d4cb2..0b5a79f2d0 100644 --- a/test/dataset/test_utils.py +++ b/test/dataset/test_utils.py @@ -1,5 +1,7 @@ +from __future__ import annotations + from contextlib import ExitStack as DoesNotRaise -from typing import Optional, TypeVar +from typing import TypeVar import numpy as np import numpy.typing as npt @@ -78,7 +80,7 @@ def test_train_test_split( train_ratio: float, random_state: int, shuffle: bool, - expected_result: Optional[tuple[list[T], list[T]]], + expected_result: tuple[list[T], list[T]] | None, exception: Exception, ) -> None: with exception: @@ -165,7 +167,7 @@ def test_merge_class_maps( def test_build_class_index_mapping( source_classes: list[str], target_classes: list[str], - expected_result: Optional[dict[int, int]], + expected_result: dict[int, int] | None, exception: Exception, ) -> None: with exception: @@ -225,7 +227,7 @@ def test_build_class_index_mapping( def test_map_detections_class_id( source_to_target_mapping: dict[int, int], detections: Detections, - expected_result: Optional[Detections], + expected_result: Detections | None, exception: Exception, ) -> None: with exception: diff --git a/test/detection/test_core.py b/test/detection/test_core.py index c0270f70ec..c57bea4098 100644 --- a/test/detection/test_core.py +++ b/test/detection/test_core.py @@ -1,5 +1,6 @@ +from __future__ import annotations + from contextlib import ExitStack as DoesNotRaise -from typing import Optional, Union import numpy as np import pytest @@ -233,8 +234,8 @@ ) def test_getitem( detections: Detections, - index: Union[int, slice, list[int], np.ndarray], - expected_result: Optional[Detections], + index: int | slice | list[int] | np.ndarray, + expected_result: Detections | None, exception: Exception, ) -> None: with exception: @@ -506,7 +507,7 @@ def test_getitem( ) def test_merge( detections_list: list[Detections], - expected_result: Optional[Detections], + expected_result: Detections | None, exception: Exception, ) -> None: with exception: @@ -808,7 +809,7 @@ def test_equal( def test_merge_inner_detection_object_pair( detection_1: Detections, detection_2: Detections, - expected_result: Optional[Detections], + expected_result: Detections | None, exception: Exception, ): with exception: diff --git a/test/detection/test_line_counter.py b/test/detection/test_line_counter.py index 7291a1c5e9..f7227fa602 100644 --- a/test/detection/test_line_counter.py +++ b/test/detection/test_line_counter.py @@ -1,5 +1,6 @@ +from __future__ import annotations + from contextlib import ExitStack as DoesNotRaise -from typing import Optional import pytest @@ -65,7 +66,7 @@ ) def test_calculate_region_of_interest_limits( vector: Vector, - expected_result: Optional[tuple[Vector, Vector]], + expected_result: tuple[Vector, Vector] | None, exception: Exception, ) -> None: with exception: @@ -741,7 +742,7 @@ def test_line_zone_one_detection_long_horizon( ) def test_line_zone_long_horizon_disappearing_detections( vector: Vector, - xyxy_sequence: list[list[Optional[list[float]]]], + xyxy_sequence: list[list[list[float] | None]], anchors: list[Position], minimum_crossing_threshold: int, expected_crossed_in: list[list[bool]], diff --git a/test/detection/test_overlap_filter.py b/test/detection/test_overlap_filter.py index f655f0e958..d870f89712 100644 --- a/test/detection/test_overlap_filter.py +++ b/test/detection/test_overlap_filter.py @@ -1,5 +1,6 @@ +from __future__ import annotations + from contextlib import ExitStack as DoesNotRaise -from typing import Optional import numpy as np import pytest @@ -234,7 +235,7 @@ def test_group_overlapping_boxes( def test_box_non_max_suppression( predictions: np.ndarray, iou_threshold: float, - expected_result: Optional[np.ndarray], + expected_result: np.ndarray | None, exception: Exception, ) -> None: with exception: @@ -440,7 +441,7 @@ def test_mask_non_max_suppression( predictions: np.ndarray, masks: np.ndarray, iou_threshold: float, - expected_result: Optional[np.ndarray], + expected_result: np.ndarray | None, exception: Exception, ) -> None: with exception: diff --git a/test/detection/test_utils.py b/test/detection/test_utils.py index 99762c9136..eb76b996f8 100644 --- a/test/detection/test_utils.py +++ b/test/detection/test_utils.py @@ -1,5 +1,7 @@ +from __future__ import annotations + from contextlib import ExitStack as DoesNotRaise -from typing import Any, Optional +from typing import Any import numpy as np import numpy.typing as npt @@ -153,8 +155,8 @@ def test_clip_boxes( ) def test_filter_polygons_by_area( polygons: list[np.ndarray], - min_area: Optional[float], - max_area: Optional[float], + min_area: float | None, + max_area: float | None, expected_result: list[np.ndarray], exception: Exception, ) -> None: @@ -373,7 +375,7 @@ def test_filter_polygons_by_area( def test_process_roboflow_result( roboflow_result: dict, expected_result: tuple[ - np.ndarray, np.ndarray, np.ndarray, Optional[np.ndarray], np.ndarray + np.ndarray, np.ndarray, np.ndarray, np.ndarray | None, np.ndarray ], exception: Exception, ) -> None: @@ -1033,7 +1035,7 @@ def test_calculate_masks_centroids( ) def test_merge_data( data_list: list[dict[str, Any]], - expected_result: Optional[dict[str, Any]], + expected_result: dict[str, Any] | None, exception: Exception, ): with exception: @@ -1209,7 +1211,7 @@ def test_merge_data( def test_get_data_item( data: dict[str, Any], index: Any, - expected_result: Optional[dict[str, Any]], + expected_result: dict[str, Any] | None, exception: Exception, ): with exception: diff --git a/test/detection/test_vlm.py b/test/detection/test_vlm.py index 93e030a6f8..1b4c2f1894 100644 --- a/test/detection/test_vlm.py +++ b/test/detection/test_vlm.py @@ -1,6 +1,7 @@ +from __future__ import annotations + from contextlib import ExitStack as DoesNotRaise from contextlib import nullcontext as does_not_raise -from typing import Optional import numpy as np import pytest @@ -185,8 +186,8 @@ def test_from_paligemma( exception, result: str, resolution_wh: tuple[int, int], - classes: Optional[list[str]], - expected_results: tuple[np.ndarray, Optional[np.ndarray], np.ndarray], + classes: list[str] | None, + expected_results: tuple[np.ndarray, np.ndarray | None, np.ndarray], ) -> None: with exception: result = from_paligemma( @@ -347,7 +348,7 @@ def test_from_qwen_2_5_vl( result: str, input_wh: tuple[int, int], resolution_wh: tuple[int, int], - classes: Optional[list[str]], + classes: list[str] | None, expected_results, ) -> None: with exception: @@ -489,8 +490,8 @@ def test_from_google_gemini( exception, result: str, resolution_wh: tuple[int, int], - classes: Optional[list[str]], - expected_results: tuple[np.ndarray, Optional[np.ndarray], np.ndarray], + classes: list[str] | None, + expected_results: tuple[np.ndarray, np.ndarray | None, np.ndarray], ) -> None: with exception: xyxy, class_id, class_name = from_google_gemini_2_0( @@ -865,7 +866,7 @@ def test_florence_2( florence_result: dict, resolution_wh: tuple[int, int], expected_results: tuple[ - np.ndarray, Optional[np.ndarray], Optional[np.ndarray], Optional[np.ndarray] + np.ndarray, np.ndarray | None, np.ndarray | None, np.ndarray | None ], exception: Exception, ) -> None: @@ -1081,10 +1082,9 @@ def test_from_google_gemini_2_5( exception, result: str, resolution_wh: tuple[int, int], - classes: Optional[list[str]], - expected_results: Optional[ - tuple[np.ndarray, np.ndarray, np.ndarray, np.ndarray, np.ndarray] - ], + classes: list[str] | None, + expected_results: None + | (tuple[np.ndarray, np.ndarray, np.ndarray, np.ndarray, np.ndarray]), ): with exception: ( diff --git a/test/detection/tools/test_inference_slicer.py b/test/detection/tools/test_inference_slicer.py index 84f3b803e6..af29723a58 100644 --- a/test/detection/tools/test_inference_slicer.py +++ b/test/detection/tools/test_inference_slicer.py @@ -1,5 +1,6 @@ +from __future__ import annotations + from contextlib import ExitStack as DoesNotRaise -from typing import Optional import numpy as np import pytest @@ -47,9 +48,9 @@ def callback(_: np.ndarray) -> Detections: def test_inference_slicer_overlap( mock_callback, slice_wh: tuple[int, int], - overlap_ratio_wh: Optional[tuple[float, float]], - overlap_wh: Optional[tuple[int, int]], - expected_overlap: Optional[tuple[int, int]], + overlap_ratio_wh: tuple[float, float] | None, + overlap_wh: tuple[int, int] | None, + expected_overlap: tuple[int, int] | None, exception: Exception, ) -> None: with exception: @@ -169,7 +170,7 @@ def test_inference_slicer_overlap( def test_generate_offset( resolution_wh: tuple[int, int], slice_wh: tuple[int, int], - overlap_wh: Optional[tuple[int, int]], + overlap_wh: tuple[int, int] | None, expected_offsets: np.ndarray, ) -> None: offsets = InferenceSlicer._generate_offset( diff --git a/test/draw/test_color.py b/test/draw/test_color.py index b9dbc440d0..05ad686274 100644 --- a/test/draw/test_color.py +++ b/test/draw/test_color.py @@ -1,5 +1,6 @@ +from __future__ import annotations + from contextlib import ExitStack as DoesNotRaise -from typing import Optional import pytest @@ -25,7 +26,7 @@ ], ) def test_color_from_hex( - color_hex, expected_result: Optional[Color], exception: Exception + color_hex, expected_result: Color | None, exception: Exception ) -> None: with exception: result = Color.from_hex(color_hex=color_hex) @@ -44,7 +45,7 @@ def test_color_from_hex( ], ) def test_color_as_hex( - color: Color, expected_result: Optional[str], exception: Exception + color: Color, expected_result: str | None, exception: Exception ) -> None: with exception: result = color.as_hex() diff --git a/test/metrics/test_detection.py b/test/metrics/test_detection.py index b2313bdd10..f5be7ac694 100644 --- a/test/metrics/test_detection.py +++ b/test/metrics/test_detection.py @@ -1,5 +1,6 @@ +from __future__ import annotations + from contextlib import ExitStack as DoesNotRaise -from typing import Optional, Union import numpy as np import pytest @@ -103,9 +104,7 @@ def update_ideal_conf_matrix(conf_matrix: np.ndarray, class_ids: np.ndarray): return conf_matrix -def worsen_ideal_conf_matrix( - conf_matrix: np.ndarray, class_ids: Union[np.ndarray, list] -): +def worsen_ideal_conf_matrix(conf_matrix: np.ndarray, class_ids: np.ndarray | list): for class_id in class_ids: class_id = int(class_id) conf_matrix[class_id, class_id] -= 1 @@ -177,7 +176,7 @@ def worsen_ideal_conf_matrix( def test_detections_to_tensor( detections: Detections, with_confidence: bool, - expected_result: Optional[np.ndarray], + expected_result: np.ndarray | None, exception: Exception, ): with exception: @@ -343,7 +342,7 @@ def test_from_tensors( classes, conf_threshold, iou_threshold, - expected_result: Optional[np.ndarray], + expected_result: np.ndarray | None, exception: Exception, ): with exception: @@ -380,7 +379,7 @@ def test_evaluate_detection_batch( num_classes, conf_threshold, iou_threshold, - expected_result: Optional[np.ndarray], + expected_result: np.ndarray | None, exception: Exception, ): with exception: @@ -408,7 +407,7 @@ def test_evaluate_detection_batch( ) def test_drop_extra_matches( matches, - expected_result: Optional[np.ndarray], + expected_result: np.ndarray | None, exception: Exception, ): with exception: diff --git a/test/test_utils.py b/test/test_utils.py index 8e5ca0160e..19fffad5bb 100644 --- a/test/test_utils.py +++ b/test/test_utils.py @@ -1,4 +1,6 @@ -from typing import Any, Optional +from __future__ import annotations + +from typing import Any import numpy as np import numpy.typing as npt @@ -9,11 +11,11 @@ def mock_detections( xyxy: npt.NDArray[np.float32], - mask: Optional[list[np.ndarray]] = None, - confidence: Optional[list[float]] = None, - class_id: Optional[list[int]] = None, - tracker_id: Optional[list[int]] = None, - data: Optional[dict[str, list[Any]]] = None, + mask: list[np.ndarray] | None = None, + confidence: list[float] | None = None, + class_id: list[int] | None = None, + tracker_id: list[int] | None = None, + data: dict[str, list[Any]] | None = None, ) -> Detections: def convert_data(data: dict[str, list[Any]]): return {k: np.array(v) for k, v in data.items()} @@ -34,9 +36,9 @@ def convert_data(data: dict[str, list[Any]]): def mock_keypoints( xy: npt.NDArray[np.float32], - confidence: Optional[list[float]] = None, - class_id: Optional[list[int]] = None, - data: Optional[dict[str, list[Any]]] = None, + confidence: list[float] | None = None, + class_id: list[int] | None = None, + data: dict[str, list[Any]] | None = None, ) -> KeyPoints: def convert_data(data: dict[str, list[Any]]): return {k: np.array(v) for k, v in data.items()} diff --git a/test/utils/test_file.py b/test/utils/test_file.py index 9a4a4d33f8..71f5bdebfe 100644 --- a/test/utils/test_file.py +++ b/test/utils/test_file.py @@ -1,6 +1,7 @@ +from __future__ import annotations + import os from contextlib import ExitStack as DoesNotRaise -from typing import Optional import pytest @@ -56,7 +57,7 @@ def setup_and_teardown_files(): def test_read_txt_file( file_name: str, skip_empty: bool, - expected_result: Optional[list[str]], + expected_result: list[str] | None, exception: Exception, ): with exception: From fa5fcbb26484aec9b3824ed660ed478ec66f8e60 Mon Sep 17 00:00:00 2001 From: SkalskiP Date: Tue, 15 Jul 2025 19:23:55 +0200 Subject: [PATCH 389/420] utils split across multiple files; internal and external imports working; utils tests split across multiple files; tests working locally --- supervision/__init__.py | 58 +- supervision/annotators/core.py | 11 +- supervision/dataset/formats/coco.py | 8 +- supervision/dataset/formats/pascal_voc.py | 2 +- supervision/dataset/formats/yolo.py | 2 +- supervision/dataset/utils.py | 8 +- supervision/detection/core.py | 29 +- supervision/detection/line_zone.py | 2 +- supervision/detection/overlap_filter.py | 396 ---- .../detection/tools/inference_slicer.py | 5 +- supervision/detection/tools/polygon_zone.py | 3 +- supervision/detection/tools/transformers.py | 2 +- supervision/detection/utils.py | 1667 ----------------- supervision/detection/utils/__init__.py | 0 supervision/detection/utils/boxes.py | 333 ++++ supervision/detection/utils/converters.py | 272 +++ supervision/detection/utils/internal.py | 331 ++++ supervision/detection/utils/iou_and_nms.py | 795 ++++++++ supervision/detection/utils/masks.py | 260 +++ supervision/detection/utils/polygons.py | 85 + supervision/detection/vlm.py | 7 +- supervision/keypoint/annotators.py | 2 +- supervision/keypoint/core.py | 2 +- supervision/metrics/detection.py | 2 +- supervision/metrics/f1_score.py | 8 +- supervision/metrics/mean_average_recall.py | 8 +- supervision/metrics/precision.py | 7 +- supervision/metrics/recall.py | 8 +- supervision/tracker/byte_tracker/core.py | 2 +- supervision/tracker/byte_tracker/matching.py | 2 +- test/detection/test_utils.py | 1642 ---------------- test/detection/tools/test_inference_slicer.py | 2 +- test/detection/utils/__init__.py | 0 test/detection/utils/test_boxes.py | 144 ++ test/detection/utils/test_converters.py | 127 ++ test/detection/utils/test_internal.py | 786 ++++++++ .../test_iou_and_nms.py} | 10 +- test/detection/utils/test_masks.py | 498 +++++ test/detection/utils/test_polygons.py | 102 + 39 files changed, 3818 insertions(+), 3810 deletions(-) delete mode 100644 supervision/detection/overlap_filter.py delete mode 100644 supervision/detection/utils.py create mode 100644 supervision/detection/utils/__init__.py create mode 100644 supervision/detection/utils/boxes.py create mode 100644 supervision/detection/utils/converters.py create mode 100644 supervision/detection/utils/internal.py create mode 100644 supervision/detection/utils/iou_and_nms.py create mode 100644 supervision/detection/utils/masks.py create mode 100644 supervision/detection/utils/polygons.py delete mode 100644 test/detection/test_utils.py create mode 100644 test/detection/utils/__init__.py create mode 100644 test/detection/utils/test_boxes.py create mode 100644 test/detection/utils/test_converters.py create mode 100644 test/detection/utils/test_internal.py rename test/detection/{test_overlap_filter.py => utils/test_iou_and_nms.py} (99%) create mode 100644 test/detection/utils/test_masks.py create mode 100644 test/detection/utils/test_polygons.py diff --git a/supervision/__init__.py b/supervision/__init__.py index 76019aefda..62da646015 100644 --- a/supervision/__init__.py +++ b/supervision/__init__.py @@ -46,43 +46,51 @@ LineZoneAnnotator, LineZoneAnnotatorMulticlass, ) -from supervision.detection.overlap_filter import ( +from supervision.detection.utils.iou_and_nms import ( + box_iou, + box_iou_batch, + box_iou_batch_with_jaccard, + oriented_box_iou_batch, + mask_iou_batch, OverlapFilter, + OverlapMetric, box_non_max_merge, box_non_max_suppression, mask_non_max_suppression, ) -from supervision.detection.tools.csv_sink import CSVSink -from supervision.detection.tools.inference_slicer import InferenceSlicer -from supervision.detection.tools.json_sink import JSONSink -from supervision.detection.tools.polygon_zone import PolygonZone, PolygonZoneAnnotator -from supervision.detection.tools.smoother import DetectionsSmoother -from supervision.detection.utils import ( - box_iou, - box_iou_batch, - box_iou_batch_with_jaccard, +from supervision.detection.utils.masks import ( + move_masks, calculate_masks_centroids, - clip_boxes, contains_holes, - contains_multiple_segments, - denormalize_boxes, - filter_polygons_by_area, - mask_iou_batch, - mask_to_polygons, - mask_to_xyxy, - move_boxes, - move_masks, - oriented_box_iou_batch, - pad_boxes, - polygon_to_mask, - polygon_to_xyxy, - scale_boxes, + contains_multiple_segments +) +from supervision.detection.utils.converters import ( xcycwh_to_xyxy, xywh_to_xyxy, xyxy_to_polygons, xyxy_to_xcycarh, xyxy_to_xywh, + mask_to_polygons, + mask_to_xyxy, + polygon_to_mask, + polygon_to_xyxy, +) +from supervision.detection.utils.boxes import ( + clip_boxes, + denormalize_boxes, + move_boxes, + pad_boxes, + scale_boxes, +) +from supervision.detection.utils.polygons import ( + filter_polygons_by_area, + approximate_polygon ) +from supervision.detection.tools.csv_sink import CSVSink +from supervision.detection.tools.inference_slicer import InferenceSlicer +from supervision.detection.tools.json_sink import JSONSink +from supervision.detection.tools.polygon_zone import PolygonZone, PolygonZoneAnnotator +from supervision.detection.tools.smoother import DetectionsSmoother from supervision.detection.vlm import LMM, VLM from supervision.draw.color import Color, ColorPalette from supervision.draw.utils import ( @@ -167,6 +175,7 @@ "MeanAveragePrecision", "OrientedBoxAnnotator", "OverlapFilter", + "OverlapMetric", "PercentageBarAnnotator", "PixelateAnnotator", "Point", @@ -235,4 +244,5 @@ "xyxy_to_polygons", "xyxy_to_xcycarh", "xyxy_to_xywh", + "approximate_polygon" ] diff --git a/supervision/annotators/core.py b/supervision/annotators/core.py index 4462351adf..096198c59f 100644 --- a/supervision/annotators/core.py +++ b/supervision/annotators/core.py @@ -22,13 +22,10 @@ ) from supervision.config import ORIENTED_BOX_COORDINATES from supervision.detection.core import Detections -from supervision.detection.utils import ( - clip_boxes, - mask_to_polygons, - polygon_to_mask, - spread_out_boxes, - xyxy_to_polygons, -) +from supervision.detection.utils.boxes import spread_out_boxes, clip_boxes +from supervision.detection.utils.converters import mask_to_polygons, xyxy_to_polygons, \ + polygon_to_mask + from supervision.draw.color import Color, ColorPalette from supervision.draw.utils import draw_polygon, draw_rounded_rectangle, draw_text from supervision.geometry.core import Point, Position, Rect diff --git a/supervision/dataset/formats/coco.py b/supervision/dataset/formats/coco.py index ab032d471f..34fb3fe194 100644 --- a/supervision/dataset/formats/coco.py +++ b/supervision/dataset/formats/coco.py @@ -13,11 +13,9 @@ rle_to_mask, ) from supervision.detection.core import Detections -from supervision.detection.utils import ( - contains_holes, - contains_multiple_segments, - polygon_to_mask, -) +from supervision.detection.utils.converters import polygon_to_mask +from supervision.detection.utils.masks import contains_holes, contains_multiple_segments + from supervision.utils.file import read_json_file, save_json_file if TYPE_CHECKING: diff --git a/supervision/dataset/formats/pascal_voc.py b/supervision/dataset/formats/pascal_voc.py index fb068ccca0..c5172c33da 100644 --- a/supervision/dataset/formats/pascal_voc.py +++ b/supervision/dataset/formats/pascal_voc.py @@ -11,7 +11,7 @@ from supervision.dataset.utils import approximate_mask_with_polygons from supervision.detection.core import Detections -from supervision.detection.utils import polygon_to_mask, polygon_to_xyxy +from supervision.detection.utils.converters import polygon_to_mask, polygon_to_xyxy from supervision.utils.file import list_files_with_extensions diff --git a/supervision/dataset/formats/yolo.py b/supervision/dataset/formats/yolo.py index f065aefd08..8af010fa92 100644 --- a/supervision/dataset/formats/yolo.py +++ b/supervision/dataset/formats/yolo.py @@ -10,7 +10,7 @@ from supervision.config import ORIENTED_BOX_COORDINATES from supervision.dataset.utils import approximate_mask_with_polygons from supervision.detection.core import Detections -from supervision.detection.utils import polygon_to_mask, polygon_to_xyxy +from supervision.detection.utils.converters import polygon_to_mask, polygon_to_xyxy from supervision.utils.file import ( list_files_with_extensions, read_txt_file, diff --git a/supervision/dataset/utils.py b/supervision/dataset/utils.py index 9c02c41569..eb9af0b289 100644 --- a/supervision/dataset/utils.py +++ b/supervision/dataset/utils.py @@ -12,11 +12,9 @@ import numpy.typing as npt from supervision.detection.core import Detections -from supervision.detection.utils import ( - approximate_polygon, - filter_polygons_by_area, - mask_to_polygons, -) +from supervision.detection.utils.converters import mask_to_polygons +from supervision.detection.utils.polygons import filter_polygons_by_area, \ + approximate_polygon if TYPE_CHECKING: from supervision.dataset.core import DetectionDataset diff --git a/supervision/detection/core.py b/supervision/detection/core.py index 03d82ae0cf..d492c52e78 100644 --- a/supervision/detection/core.py +++ b/supervision/detection/core.py @@ -12,32 +12,23 @@ CLASS_NAME_DATA_FIELD, ORIENTED_BOX_COORDINATES, ) -from supervision.detection.overlap_filter import ( - box_non_max_merge, - box_non_max_suppression, - mask_non_max_merge, - mask_non_max_suppression, -) from supervision.detection.tools.transformers import ( process_transformers_detection_result, process_transformers_v4_segmentation_result, process_transformers_v5_segmentation_result, ) -from supervision.detection.utils import ( +from supervision.detection.utils.converters import mask_to_xyxy, xywh_to_xyxy +from supervision.detection.utils.internal import get_data_item, is_data_equal, \ + is_metadata_equal, extract_ultralytics_masks, process_roboflow_result, merge_data, \ + merge_metadata +from supervision.detection.utils.iou_and_nms import ( OverlapMetric, - box_iou_batch, - calculate_masks_centroids, - extract_ultralytics_masks, - get_data_item, - is_data_equal, - is_metadata_equal, - mask_iou_batch, - mask_to_xyxy, - merge_data, - merge_metadata, - process_roboflow_result, - xywh_to_xyxy, + box_non_max_merge, + box_non_max_suppression, + mask_non_max_merge, + mask_non_max_suppression, mask_iou_batch, box_iou_batch, ) +from supervision.detection.utils.masks import calculate_masks_centroids from supervision.detection.vlm import ( LMM, VLM, diff --git a/supervision/detection/line_zone.py b/supervision/detection/line_zone.py index bf7e42da92..9baa2edb28 100644 --- a/supervision/detection/line_zone.py +++ b/supervision/detection/line_zone.py @@ -13,7 +13,7 @@ from supervision.config import CLASS_NAME_DATA_FIELD from supervision.detection.core import Detections -from supervision.detection.utils import cross_product +from supervision.detection.utils.internal import cross_product from supervision.draw.color import Color from supervision.draw.utils import draw_rectangle, draw_text from supervision.geometry.core import Point, Position, Rect, Vector diff --git a/supervision/detection/overlap_filter.py b/supervision/detection/overlap_filter.py deleted file mode 100644 index 3cace6647e..0000000000 --- a/supervision/detection/overlap_filter.py +++ /dev/null @@ -1,396 +0,0 @@ -from __future__ import annotations - -from enum import Enum - -import numpy as np -import numpy.typing as npt - -from supervision.detection.utils import OverlapMetric, box_iou_batch, mask_iou_batch - - -def resize_masks(masks: np.ndarray, max_dimension: int = 640) -> np.ndarray: - """ - Resize all masks in the array to have a maximum dimension of max_dimension, - maintaining aspect ratio. - - Args: - masks (np.ndarray): 3D array of binary masks with shape (N, H, W). - max_dimension (int): The maximum dimension for the resized masks. - - Returns: - np.ndarray: Array of resized masks. - """ - max_height = np.max(masks.shape[1]) - max_width = np.max(masks.shape[2]) - scale = min(max_dimension / max_height, max_dimension / max_width) - - new_height = int(scale * max_height) - new_width = int(scale * max_width) - - x = np.linspace(0, max_width - 1, new_width).astype(int) - y = np.linspace(0, max_height - 1, new_height).astype(int) - xv, yv = np.meshgrid(x, y) - - resized_masks = masks[:, yv, xv] - - resized_masks = resized_masks.reshape(masks.shape[0], new_height, new_width) - return resized_masks - - -def mask_non_max_suppression( - predictions: np.ndarray, - masks: np.ndarray, - iou_threshold: float = 0.5, - overlap_metric: OverlapMetric = OverlapMetric.IOU, - mask_dimension: int = 640, -) -> np.ndarray: - """ - Perform Non-Maximum Suppression (NMS) on segmentation predictions. - - Args: - predictions (np.ndarray): A 2D array of object detection predictions in - the format of `(x_min, y_min, x_max, y_max, score)` - or `(x_min, y_min, x_max, y_max, score, class)`. Shape: `(N, 5)` or - `(N, 6)`, where N is the number of predictions. - masks (np.ndarray): A 3D array of binary masks corresponding to the predictions. - Shape: `(N, H, W)`, where N is the number of predictions, and H, W are the - dimensions of each mask. - iou_threshold (float): The intersection-over-union threshold - to use for non-maximum suppression. - overlap_metric (OverlapMetric): Metric used for matching detections in slices. - mask_dimension (int): The dimension to which the masks should be - resized before computing IOU values. Defaults to 640. - - Returns: - np.ndarray: A boolean array indicating which predictions to keep after - non-maximum suppression. - - Raises: - AssertionError: If `iou_threshold` is not within the closed - range from `0` to `1`. - """ - assert 0 <= iou_threshold <= 1, ( - "Value of `iou_threshold` must be in the closed range from 0 to 1, " - f"{iou_threshold} given." - ) - rows, columns = predictions.shape - - if columns == 5: - predictions = np.c_[predictions, np.zeros(rows)] - - sort_index = predictions[:, 4].argsort()[::-1] - predictions = predictions[sort_index] - masks = masks[sort_index] - masks_resized = resize_masks(masks, mask_dimension) - ious = mask_iou_batch(masks_resized, masks_resized, overlap_metric) - categories = predictions[:, 5] - - keep = np.ones(rows, dtype=bool) - for i in range(rows): - if keep[i]: - condition = (ious[i] > iou_threshold) & (categories[i] == categories) - keep[i + 1 :] = np.where(condition[i + 1 :], False, keep[i + 1 :]) - - return keep[sort_index.argsort()] - - -def box_non_max_suppression( - predictions: np.ndarray, - iou_threshold: float = 0.5, - overlap_metric: OverlapMetric = OverlapMetric.IOU, -) -> np.ndarray: - """ - Perform Non-Maximum Suppression (NMS) on object detection predictions. - - Args: - predictions (np.ndarray): An array of object detection predictions in - the format of `(x_min, y_min, x_max, y_max, score)` - or `(x_min, y_min, x_max, y_max, score, class)`. - iou_threshold (float): The intersection-over-union threshold - to use for non-maximum suppression. - overlap_metric (OverlapMetric): Metric used for matching detections in slices. - - Returns: - np.ndarray: A boolean array indicating which predictions to keep after n - on-maximum suppression. - - Raises: - AssertionError: If `iou_threshold` is not within the - closed range from `0` to `1`. - """ - assert 0 <= iou_threshold <= 1, ( - "Value of `iou_threshold` must be in the closed range from 0 to 1, " - f"{iou_threshold} given." - ) - rows, columns = predictions.shape - - # add column #5 - category filled with zeros for agnostic nms - if columns == 5: - predictions = np.c_[predictions, np.zeros(rows)] - - # sort predictions column #4 - score - sort_index = np.flip(predictions[:, 4].argsort()) - predictions = predictions[sort_index] - - boxes = predictions[:, :4] - categories = predictions[:, 5] - ious = box_iou_batch(boxes, boxes, overlap_metric) - ious = ious - np.eye(rows) - - keep = np.ones(rows, dtype=bool) - - for index, (iou, category) in enumerate(zip(ious, categories)): - if not keep[index]: - continue - - # drop detections with iou > iou_threshold and - # same category as current detections - condition = (iou > iou_threshold) & (categories == category) - keep = keep & ~condition - - return keep[sort_index.argsort()] - - -def group_overlapping_boxes( - predictions: npt.NDArray[np.float64], - iou_threshold: float = 0.5, - overlap_metric: OverlapMetric = OverlapMetric.IOU, -) -> list[list[int]]: - """ - Apply greedy version of non-maximum merging to avoid detecting too many - overlapping bounding boxes for a given object. - - Args: - predictions (npt.NDArray[np.float64]): An array of shape `(n, 5)` containing - the bounding boxes coordinates in format `[x1, y1, x2, y2]` - and the confidence scores. - iou_threshold (float): The intersection-over-union threshold - to use for non-maximum suppression. Defaults to 0.5. - overlap_metric (OverlapMetric): Metric used for matching detections in slices. - - Returns: - list[list[int]]: Groups of prediction indices be merged. - Each group may have 1 or more elements. - """ - merge_groups: list[list[int]] = [] - - scores = predictions[:, 4] - order = scores.argsort() - - while len(order) > 0: - idx = int(order[-1]) - - order = order[:-1] - if len(order) == 0: - merge_groups.append([idx]) - break - - merge_candidate = np.expand_dims(predictions[idx], axis=0) - ious = box_iou_batch( - predictions[order][:, :4], merge_candidate[:, :4], overlap_metric - ) - ious = ious.flatten() - - above_threshold = ious >= iou_threshold - merge_group = [idx, *np.flip(order[above_threshold]).tolist()] - merge_groups.append(merge_group) - order = order[~above_threshold] - return merge_groups - - -def mask_non_max_merge( - predictions: np.ndarray, - masks: np.ndarray, - iou_threshold: float = 0.5, - mask_dimension: int = 640, - overlap_metric: OverlapMetric = OverlapMetric.IOU, -) -> list[list[int]]: - """ - Perform Non-Maximum Merging (NMM) on segmentation predictions. - - Args: - predictions (np.ndarray): A 2D array of object detection predictions in - the format of `(x_min, y_min, x_max, y_max, score)` - or `(x_min, y_min, x_max, y_max, score, class)`. Shape: `(N, 5)` or - `(N, 6)`, where N is the number of predictions. - masks (np.ndarray): A 3D array of binary masks corresponding to the predictions. - Shape: `(N, H, W)`, where N is the number of predictions, and H, W are the - dimensions of each mask. - iou_threshold (float): The intersection-over-union threshold - to use for non-maximum suppression. - mask_dimension (int): The dimension to which the masks should be - resized before computing IOU values. Defaults to 640. - overlap_metric (OverlapMetric): Metric used for matching detections in slices. - - Returns: - np.ndarray: A boolean array indicating which predictions to keep after - non-maximum suppression. - - Raises: - AssertionError: If `iou_threshold` is not within the closed - range from `0` to `1`. - """ - masks_resized = resize_masks(masks, mask_dimension) - if predictions.shape[1] == 5: - return group_overlapping_masks( - predictions, masks_resized, iou_threshold, overlap_metric - ) - - category_ids = predictions[:, 5] - merge_groups = [] - for category_id in np.unique(category_ids): - curr_indices = np.where(category_ids == category_id)[0] - merge_class_groups = group_overlapping_masks( - predictions[curr_indices], - masks_resized[curr_indices], - iou_threshold, - overlap_metric, - ) - - for merge_class_group in merge_class_groups: - merge_groups.append(curr_indices[merge_class_group].tolist()) - - for merge_group in merge_groups: - if len(merge_group) == 0: - raise ValueError( - f"Empty group detected when non-max-merging detections: {merge_groups}" - ) - return merge_groups - - -def box_non_max_merge( - predictions: npt.NDArray[np.float64], - iou_threshold: float = 0.5, - overlap_metric: OverlapMetric = OverlapMetric.IOU, -) -> list[list[int]]: - """ - Apply greedy version of non-maximum merging per category to avoid detecting - too many overlapping bounding boxes for a given object. - - Args: - predictions (npt.NDArray[np.float64]): An array of shape `(n, 5)` or `(n, 6)` - containing the bounding boxes coordinates in format `[x1, y1, x2, y2]`, - the confidence scores and class_ids. Omit class_id column to allow - detections of different classes to be merged. - iou_threshold (float): The intersection-over-union threshold - to use for non-maximum suppression. Defaults to 0.5. - overlap_metric (OverlapMetric): Metric used for matching detections in slices. - - Returns: - list[list[int]]: Groups of prediction indices be merged. - Each group may have 1 or more elements. - """ - if predictions.shape[1] == 5: - return group_overlapping_boxes(predictions, iou_threshold, overlap_metric) - - category_ids = predictions[:, 5] - merge_groups = [] - for category_id in np.unique(category_ids): - curr_indices = np.where(category_ids == category_id)[0] - merge_class_groups = group_overlapping_boxes( - predictions[curr_indices], iou_threshold, overlap_metric - ) - - for merge_class_group in merge_class_groups: - merge_groups.append(curr_indices[merge_class_group].tolist()) - - for merge_group in merge_groups: - if len(merge_group) == 0: - raise ValueError( - f"Empty group detected when non-max-merging detections: {merge_groups}" - ) - return merge_groups - - -def group_overlapping_masks( - predictions: npt.NDArray[np.float64], - masks: npt.NDArray[np.float64], - iou_threshold: float = 0.5, - overlap_metric: OverlapMetric = OverlapMetric.IOU, -) -> list[list[int]]: - """ - Apply greedy version of non-maximum merging to avoid detecting too many - - Args: - predictions (npt.NDArray[np.float64]): An array of shape `(n, 5)` containing - the bounding boxes coordinates in format `[x1, y1, x2, y2]` - and the confidence scores. - masks (npt.NDArray[np.float64]): A 3D array of binary masks corresponding to - the predictions. - iou_threshold (float): The intersection-over-union threshold - to use for non-maximum suppression. Defaults to 0.5. - overlap_metric (OverlapMetric): Metric used for matching detections in slices. - - Returns: - list[list[int]]: Groups of prediction indices be merged. - Each group may have 1 or more elements. - """ - merge_groups: list[list[int]] = [] - - scores = predictions[:, 4] - order = scores.argsort() - - while len(order) > 0: - idx = int(order[-1]) - - order = order[:-1] - if len(order) == 0: - merge_groups.append([idx]) - break - - merge_candidate = masks[idx][None, ...] - candidate_groups = [idx] - while len(order) > 0: - ious = mask_iou_batch(masks[order], merge_candidate, overlap_metric) - above_threshold: np.ndarray = ious.flatten() >= iou_threshold - if not above_threshold.any(): - break - above_idx = order[above_threshold] - merge_candidate = np.logical_or.reduce( - np.concatenate([masks[above_idx], merge_candidate]), - axis=0, - keepdims=True, - ) - candidate_groups.extend(np.flip(above_idx).tolist()) - order = order[~above_threshold] - - merge_groups.append(candidate_groups) - return merge_groups - - -class OverlapFilter(Enum): - """ - Enum specifying the strategy for filtering overlapping detections. - - Attributes: - NONE: Do not filter detections based on overlap. - NON_MAX_SUPPRESSION: Filter detections using non-max suppression. This means, - detections that overlap by more than a set threshold will be discarded, - except for the one with the highest confidence. - NON_MAX_MERGE: Merge detections with non-max merging. This means, - detections that overlap by more than a set threshold will be merged - into a single detection. - """ - - NONE = "none" - NON_MAX_SUPPRESSION = "non_max_suppression" - NON_MAX_MERGE = "non_max_merge" - - @classmethod - def list(cls): - return list(map(lambda c: c.value, cls)) - - @classmethod - def from_value(cls, value: OverlapFilter | str) -> OverlapFilter: - if isinstance(value, cls): - return value - if isinstance(value, str): - value = value.lower() - try: - return cls(value) - except ValueError: - raise ValueError(f"Invalid value: {value}. Must be one of {cls.list()}") - raise ValueError( - f"Invalid value type: {type(value)}. Must be an instance of " - f"{cls.__name__} or str." - ) diff --git a/supervision/detection/tools/inference_slicer.py b/supervision/detection/tools/inference_slicer.py index e0ffb3bfea..ff4a44b280 100644 --- a/supervision/detection/tools/inference_slicer.py +++ b/supervision/detection/tools/inference_slicer.py @@ -8,8 +8,9 @@ from supervision.config import ORIENTED_BOX_COORDINATES from supervision.detection.core import Detections -from supervision.detection.overlap_filter import OverlapFilter -from supervision.detection.utils import move_boxes, move_masks, move_oriented_boxes +from supervision.detection.utils.boxes import move_boxes, move_oriented_boxes +from supervision.detection.utils.iou_and_nms import OverlapFilter +from supervision.detection.utils.masks import move_masks from supervision.utils.image import crop_image from supervision.utils.internal import ( SupervisionWarnings, diff --git a/supervision/detection/tools/polygon_zone.py b/supervision/detection/tools/polygon_zone.py index 40c753371b..952da5141b 100644 --- a/supervision/detection/tools/polygon_zone.py +++ b/supervision/detection/tools/polygon_zone.py @@ -8,7 +8,8 @@ import numpy.typing as npt from supervision import Detections -from supervision.detection.utils import clip_boxes, polygon_to_mask +from supervision.detection.utils.boxes import clip_boxes +from supervision.detection.utils.converters import polygon_to_mask from supervision.draw.color import Color from supervision.draw.utils import draw_filled_polygon, draw_polygon, draw_text from supervision.geometry.core import Position diff --git a/supervision/detection/tools/transformers.py b/supervision/detection/tools/transformers.py index 97eb03cee6..0358464e26 100644 --- a/supervision/detection/tools/transformers.py +++ b/supervision/detection/tools/transformers.py @@ -7,7 +7,7 @@ from PIL import Image from supervision.config import CLASS_NAME_DATA_FIELD -from supervision.detection.utils import mask_to_xyxy +from supervision.detection.utils.converters import mask_to_xyxy def process_transformers_detection_result( diff --git a/supervision/detection/utils.py b/supervision/detection/utils.py deleted file mode 100644 index cd33f183b0..0000000000 --- a/supervision/detection/utils.py +++ /dev/null @@ -1,1667 +0,0 @@ -from __future__ import annotations - -from enum import Enum -from itertools import chain -from typing import Any - -import cv2 -import numpy as np -import numpy.typing as npt - -from supervision.config import CLASS_NAME_DATA_FIELD -from supervision.geometry.core import Vector - -MIN_POLYGON_POINT_COUNT = 3 - - -class OverlapMetric(Enum): - """ - Enum specifying the metric for measuring overlap between detections. - - Attributes: - IOU: Intersection over Union. A region-overlap metric that compares - two shapes (usually bounding boxes or masks) by normalising the - shared area with the area of their union. - IOS: Intersection over Smaller, a region-overlap metric that compares - two shapes (usually bounding boxes or masks) by normalising the - shared area with the smaller of the two shapes. - """ - - IOU = "IOU" - IOS = "IOS" - - @classmethod - def list(cls): - return list(map(lambda c: c.value, cls)) - - @classmethod - def from_value(cls, value: OverlapMetric | str) -> OverlapMetric: - if isinstance(value, cls): - return value - if isinstance(value, str): - value = value.lower() - try: - return cls(value) - except ValueError: - raise ValueError(f"Invalid value: {value}. Must be one of {cls.list()}") - raise ValueError( - f"Invalid value type: {type(value)}. Must be an instance of " - f"{cls.__name__} or str." - ) - - -def xyxy_to_polygons(box: np.ndarray) -> np.ndarray: - """ - Convert an array of boxes to an array of polygons. - Retains the input datatype. - - Args: - box (np.ndarray): An array of boxes (N, 4), where each box is represented as a - list of four coordinates in the format `(x_min, y_min, x_max, y_max)`. - - Returns: - np.ndarray: An array of polygons (N, 4, 2), where each polygon is - represented as a list of four coordinates in the format `(x, y)`. - """ - polygon = np.zeros((box.shape[0], 4, 2), dtype=box.dtype) - polygon[:, :, 0] = box[:, [0, 2, 2, 0]] - polygon[:, :, 1] = box[:, [1, 1, 3, 3]] - return polygon - - -def polygon_to_mask(polygon: np.ndarray, resolution_wh: tuple[int, int]) -> np.ndarray: - """Generate a mask from a polygon. - - Args: - polygon (np.ndarray): The polygon for which the mask should be generated, - given as a list of vertices. - resolution_wh (Tuple[int, int]): The width and height of the desired resolution. - - Returns: - np.ndarray: The generated 2D mask, where the polygon is marked with - `1`'s and the rest is filled with `0`'s. - """ - width, height = map(int, resolution_wh) - mask = np.zeros((height, width), dtype=np.uint8) - cv2.fillPoly(mask, [polygon.astype(np.int32)], color=1) - return mask - - -def box_iou( - box_true: list[float] | np.ndarray, - box_detection: list[float] | np.ndarray, -) -> float: - """ - Compute the Intersection over Union (IoU) between two bounding boxes. - - Mathematically, it is defined as: - - \\[ - \text{IoU} = \frac{|\text{box}_{\text{true}} \\cap \text{box}_{\text{detection}}|}{|\text{box}_{\text{true}} \\cup \text{box}_{\text{detection}}|} - \\] - - Note: - Use `box_iou` when computing IoU between two individual boxes. - For comparing multiple boxes (arrays of boxes), use `box_iou_batch` for better - performance. - - Args: - box_true (Union[List[float], np.ndarray]): A single bounding box represented as - [x_min, y_min, x_max, y_max]. - box_detection (Union[List[float], np.ndarray]): - A single bounding box represented as [x_min, y_min, x_max, y_max]. - - Returns: - IoU (float): IoU score between the two boxes. Ranges from 0.0 (no overlap) - to 1.0 (perfect overlap). - - Examples: - ```python - import numpy as np - import supervision as sv - - box_true = np.array([100, 100, 200, 200]) - box_detection = np.array([150, 150, 250, 250]) - - sv.box_iou(box_true=box_true, box_detection=box_detection) - # 0.14285814285714285 - ``` - """ # noqa: E501 - box_true = np.array(box_true) - box_detection = np.array(box_detection) - - inter_x1 = max(box_true[0], box_detection[0]) - inter_y1 = max(box_true[1], box_detection[1]) - inter_x2 = min(box_true[2], box_detection[2]) - inter_y2 = min(box_true[3], box_detection[3]) - - inter_w = max(0, inter_x2 - inter_x1) - inter_h = max(0, inter_y2 - inter_y1) - - inter_area = inter_w * inter_h - - area_true = (box_true[2] - box_true[0]) * (box_true[3] - box_true[1]) - area_detection = (box_detection[2] - box_detection[0]) * ( - box_detection[3] - box_detection[1] - ) - - union_area = area_true + area_detection - inter_area - - return inter_area / union_area + 1e-6 - - -def box_iou_batch( - boxes_true: np.ndarray, - boxes_detection: np.ndarray, - overlap_metric: OverlapMetric = OverlapMetric.IOU, -) -> np.ndarray: - """ - Compute Intersection over Union (IoU) of two sets of bounding boxes - - `boxes_true` and `boxes_detection`. Both sets - of boxes are expected to be in `(x_min, y_min, x_max, y_max)` format. - - Note: - Use `box_iou` when computing IoU between two individual boxes. - For comparing multiple boxes (arrays of boxes), use `box_iou_batch` for better - performance. - - Args: - boxes_true (np.ndarray): 2D `np.ndarray` representing ground-truth boxes. - `shape = (N, 4)` where `N` is number of true objects. - boxes_detection (np.ndarray): 2D `np.ndarray` representing detection boxes. - `shape = (M, 4)` where `M` is number of detected objects. - overlap_metric (OverlapMetric): Metric used for matching detections in slices. - - Returns: - np.ndarray: Pairwise IoU of boxes from `boxes_true` and `boxes_detection`. - `shape = (N, M)` where `N` is number of true objects and - `M` is number of detected objects. - - Examples: - ```python - import numpy as np - import supervision as sv - - boxes_true = np.array([ - [100, 100, 200, 200], - [300, 300, 400, 400] - ]) - boxes_detection = np.array([ - [150, 150, 250, 250], - [320, 320, 420, 420] - ]) - - sv.box_iou_batch(boxes_true=boxes_true, boxes_detection=boxes_detection) - # array([ - # [0.14285714, 0. ], - # [0. , 0.47058824] - # ]) - ``` - """ - - def box_area(box): - return (box[2] - box[0]) * (box[3] - box[1]) - - area_true = box_area(boxes_true.T) - area_detection = box_area(boxes_detection.T) - - top_left = np.maximum(boxes_true[:, None, :2], boxes_detection[:, :2]) - bottom_right = np.minimum(boxes_true[:, None, 2:], boxes_detection[:, 2:]) - - area_inter = np.prod(np.clip(bottom_right - top_left, a_min=0, a_max=None), 2) - - if overlap_metric == OverlapMetric.IOU: - union_area = area_true[:, None] + area_detection - area_inter - ious = np.divide( - area_inter, - union_area, - out=np.zeros_like(area_inter, dtype=float), - where=union_area != 0, - ) - elif overlap_metric == OverlapMetric.IOS: - small_area = np.minimum(area_true[:, None], area_detection) - ious = np.divide( - area_inter, - small_area, - out=np.zeros_like(area_inter, dtype=float), - where=small_area != 0, - ) - else: - raise ValueError( - f"overlap_metric {overlap_metric} is not supported, " - "only 'IOU' and 'IOS' are supported" - ) - - ious = np.nan_to_num(ious) - return ious - - -def _mask_iou_batch_split( - masks_true: np.ndarray, - masks_detection: np.ndarray, - overlap_metric: OverlapMetric = OverlapMetric.IOU, -) -> np.ndarray: - """ - Internal function. - Compute Intersection over Union (IoU) of two sets of masks - - `masks_true` and `masks_detection`. - - Args: - masks_true (np.ndarray): 3D `np.ndarray` representing ground-truth masks. - masks_detection (np.ndarray): 3D `np.ndarray` representing detection masks. - overlap_metric (OverlapMetric): Metric used for matching detections in slices. - - Returns: - np.ndarray: Pairwise IoU of masks from `masks_true` and `masks_detection`. - """ - intersection_area = np.logical_and(masks_true[:, None], masks_detection).sum( - axis=(2, 3) - ) - - masks_true_area = masks_true.sum(axis=(1, 2)) # (area1, area2, ...) - masks_detection_area = masks_detection.sum(axis=(1, 2)) # (area1) - - if overlap_metric == OverlapMetric.IOU: - union_area = masks_true_area[:, None] + masks_detection_area - intersection_area - ious = np.divide( - intersection_area, - union_area, - out=np.zeros_like(intersection_area, dtype=float), - where=union_area != 0, - ) - elif overlap_metric == OverlapMetric.IOS: - # ios = intersection_area / min(area1, area2) - small_area = np.minimum(masks_true_area[:, None], masks_detection_area) - ious = np.divide( - intersection_area, - small_area, - out=np.zeros_like(intersection_area, dtype=float), - where=small_area != 0, - ) - else: - raise ValueError( - f"overlap_metric {overlap_metric} is not supported, " - "only 'IOU' and 'IOS' are supported" - ) - - ious = np.nan_to_num(ious) - return ious - - -def mask_iou_batch( - masks_true: np.ndarray, - masks_detection: np.ndarray, - overlap_metric: OverlapMetric = OverlapMetric.IOU, - memory_limit: int = 1024 * 5, -) -> np.ndarray: - """ - Compute Intersection over Union (IoU) of two sets of masks - - `masks_true` and `masks_detection`. - - Args: - masks_true (np.ndarray): 3D `np.ndarray` representing ground-truth masks. - masks_detection (np.ndarray): 3D `np.ndarray` representing detection masks. - overlap_metric (OverlapMetric): Metric used for matching detections in slices. - memory_limit (int): memory limit in MB, default is 1024 * 5 MB (5GB). - - Returns: - np.ndarray: Pairwise IoU of masks from `masks_true` and `masks_detection`. - """ - memory = ( - masks_true.shape[0] - * masks_true.shape[1] - * masks_true.shape[2] - * masks_detection.shape[0] - / 1024 - / 1024 - ) - if memory <= memory_limit: - return _mask_iou_batch_split(masks_true, masks_detection, overlap_metric) - - ious = [] - step = max( - memory_limit - * 1024 - * 1024 - // ( - masks_detection.shape[0] - * masks_detection.shape[1] - * masks_detection.shape[2] - ), - 1, - ) - for i in range(0, masks_true.shape[0], step): - ious.append( - _mask_iou_batch_split( - masks_true[i : i + step], masks_detection, overlap_metric - ) - ) - - return np.vstack(ious) - - -def oriented_box_iou_batch( - boxes_true: np.ndarray, boxes_detection: np.ndarray -) -> np.ndarray: - """ - Compute Intersection over Union (IoU) of two sets of oriented bounding boxes - - `boxes_true` and `boxes_detection`. Both sets of boxes are expected to be in - `((x1, y1), (x2, y2), (x3, y3), (x4, y4))` format. - - Args: - boxes_true (np.ndarray): a `np.ndarray` representing ground-truth boxes. - `shape = (N, 4, 2)` where `N` is number of true objects. - boxes_detection (np.ndarray): a `np.ndarray` representing detection boxes. - `shape = (M, 4, 2)` where `M` is number of detected objects. - - Returns: - np.ndarray: Pairwise IoU of boxes from `boxes_true` and `boxes_detection`. - `shape = (N, M)` where `N` is number of true objects and - `M` is number of detected objects. - """ - - boxes_true = boxes_true.reshape(-1, 4, 2) - boxes_detection = boxes_detection.reshape(-1, 4, 2) - - max_height = int(max(boxes_true[:, :, 0].max(), boxes_detection[:, :, 0].max()) + 1) - # adding 1 because we are 0-indexed - max_width = int(max(boxes_true[:, :, 1].max(), boxes_detection[:, :, 1].max()) + 1) - - mask_true = np.zeros((boxes_true.shape[0], max_height, max_width)) - for i, box_true in enumerate(boxes_true): - mask_true[i] = polygon_to_mask(box_true, (max_width, max_height)) - - mask_detection = np.zeros((boxes_detection.shape[0], max_height, max_width)) - for i, box_detection in enumerate(boxes_detection): - mask_detection[i] = polygon_to_mask(box_detection, (max_width, max_height)) - - ious = mask_iou_batch(mask_true, mask_detection) - return ious - - -def clip_boxes(xyxy: np.ndarray, resolution_wh: tuple[int, int]) -> np.ndarray: - """ - Clips bounding boxes coordinates to fit within the frame resolution. - - Args: - xyxy (np.ndarray): A numpy array of shape `(N, 4)` where each - row corresponds to a bounding box in - the format `(x_min, y_min, x_max, y_max)`. - resolution_wh (Tuple[int, int]): A tuple of the form `(width, height)` - representing the resolution of the frame. - - Returns: - np.ndarray: A numpy array of shape `(N, 4)` where each row - corresponds to a bounding box with coordinates clipped to fit - within the frame resolution. - - Examples: - ```python - import numpy as np - import supervision as sv - - xyxy = np.array([ - [10, 20, 300, 200], - [15, 25, 350, 450], - [-10, -20, 30, 40] - ]) - - sv.clip_boxes(xyxy=xyxy, resolution_wh=(320, 240)) - # array([ - # [ 10, 20, 300, 200], - # [ 15, 25, 320, 240], - # [ 0, 0, 30, 40] - # ]) - ``` - """ - result = np.copy(xyxy) - width, height = resolution_wh - result[:, [0, 2]] = result[:, [0, 2]].clip(0, width) - result[:, [1, 3]] = result[:, [1, 3]].clip(0, height) - return result - - -def pad_boxes(xyxy: np.ndarray, px: int, py: int | None = None) -> np.ndarray: - """ - Pads bounding boxes coordinates with a constant padding. - - Args: - xyxy (np.ndarray): A numpy array of shape `(N, 4)` where each - row corresponds to a bounding box in the format - `(x_min, y_min, x_max, y_max)`. - px (int): The padding value to be added to both the left and right sides of - each bounding box. - py (Optional[int]): The padding value to be added to both the top and bottom - sides of each bounding box. If not provided, `px` will be used for both - dimensions. - - Returns: - np.ndarray: A numpy array of shape `(N, 4)` where each row corresponds to a - bounding box with coordinates padded according to the provided padding - values. - - Examples: - ```python - import numpy as np - import supervision as sv - - xyxy = np.array([ - [10, 20, 30, 40], - [15, 25, 35, 45] - ]) - - sv.pad_boxes(xyxy=xyxy, px=5, py=10) - # array([ - # [ 5, 10, 35, 50], - # [10, 15, 40, 55] - # ]) - ``` - """ - if py is None: - py = px - - result = xyxy.copy() - result[:, [0, 1]] -= [px, py] - result[:, [2, 3]] += [px, py] - - return result - - -def xywh_to_xyxy(xywh: np.ndarray) -> np.ndarray: - """ - Converts bounding box coordinates from `(x, y, width, height)` - format to `(x_min, y_min, x_max, y_max)` format. - - Args: - xywh (np.ndarray): A numpy array of shape `(N, 4)` where each row - corresponds to a bounding box in the format `(x, y, width, height)`. - - Returns: - np.ndarray: A numpy array of shape `(N, 4)` where each row corresponds - to a bounding box in the format `(x_min, y_min, x_max, y_max)`. - - Examples: - ```python - import numpy as np - import supervision as sv - - xywh = np.array([ - [10, 20, 30, 40], - [15, 25, 35, 45] - ]) - - sv.xywh_to_xyxy(xywh=xywh) - # array([ - # [10, 20, 40, 60], - # [15, 25, 50, 70] - # ]) - ``` - """ - xyxy = xywh.copy() - xyxy[:, 2] = xywh[:, 0] + xywh[:, 2] - xyxy[:, 3] = xywh[:, 1] + xywh[:, 3] - return xyxy - - -def xyxy_to_xywh(xyxy: np.ndarray) -> np.ndarray: - """ - Converts bounding box coordinates from `(x_min, y_min, x_max, y_max)` - format to `(x, y, width, height)` format. - - Args: - xyxy (np.ndarray): A numpy array of shape `(N, 4)` where each row - corresponds to a bounding box in the format `(x_min, y_min, x_max, - y_max)`. - - Returns: - np.ndarray: A numpy array of shape `(N, 4)` where each row corresponds - to a bounding box in the format `(x, y, width, height)`. - - Examples: - ```python - import numpy as np - import supervision as sv - - xyxy = np.array([ - [10, 20, 40, 60], - [15, 25, 50, 70] - ]) - - sv.xyxy_to_xywh(xyxy=xyxy) - # array([ - # [10, 20, 30, 40], - # [15, 25, 35, 45] - # ]) - ``` - """ - xywh = xyxy.copy() - xywh[:, 2] = xyxy[:, 2] - xyxy[:, 0] - xywh[:, 3] = xyxy[:, 3] - xyxy[:, 1] - return xywh - - -def xcycwh_to_xyxy(xcycwh: np.ndarray) -> np.ndarray: - """ - Converts bounding box coordinates from `(center_x, center_y, width, height)` - format to `(x_min, y_min, x_max, y_max)` format. - - Args: - xcycwh (np.ndarray): A numpy array of shape `(N, 4)` where each row - corresponds to a bounding box in the format `(center_x, center_y, width, - height)`. - - Returns: - np.ndarray: A numpy array of shape `(N, 4)` where each row corresponds - to a bounding box in the format `(x_min, y_min, x_max, y_max)`. - - Examples: - ```python - import numpy as np - import supervision as sv - - xcycwh = np.array([ - [50, 50, 20, 30], - [30, 40, 10, 15] - ]) - - sv.xcycwh_to_xyxy(xcycwh=xcycwh) - # array([ - # [40, 35, 60, 65], - # [25, 32.5, 35, 47.5] - # ]) - ``` - """ - xyxy = xcycwh.copy() - xyxy[:, 0] = xcycwh[:, 0] - xcycwh[:, 2] / 2 - xyxy[:, 1] = xcycwh[:, 1] - xcycwh[:, 3] / 2 - xyxy[:, 2] = xcycwh[:, 0] + xcycwh[:, 2] / 2 - xyxy[:, 3] = xcycwh[:, 1] + xcycwh[:, 3] / 2 - return xyxy - - -def xyxy_to_xcycarh(xyxy: np.ndarray) -> np.ndarray: - """ - Converts bounding box coordinates from `(x_min, y_min, x_max, y_max)` - into measurement space to format `(center x, center y, aspect ratio, height)`, - where the aspect ratio is `width / height`. - - Args: - xyxy (np.ndarray): Bounding box in format `(x1, y1, x2, y2)`. - Expected shape is `(N, 4)`. - Returns: - np.ndarray: Bounding box in format - `(center x, center y, aspect ratio, height)`. Shape `(N, 4)`. - - Examples: - ```python - import numpy as np - import supervision as sv - - xyxy = np.array([ - [10, 20, 40, 60], - [15, 25, 50, 70] - ]) - - sv.xyxy_to_xcycarh(xyxy=xyxy) - # array([ - # [25. , 40. , 0.75, 40. ], - # [32.5 , 47.5 , 0.77777778, 45. ] - # ]) - ``` - - """ - if xyxy.size == 0: - return np.empty((0, 4), dtype=float) - - x1, y1, x2, y2 = xyxy.T - width = x2 - x1 - height = y2 - y1 - center_x = x1 + width / 2 - center_y = y1 + height / 2 - - aspect_ratio = np.divide( - width, - height, - out=np.zeros_like(width, dtype=float), - where=height != 0, - ) - result = np.column_stack((center_x, center_y, aspect_ratio, height)) - return result.astype(float) - - -def denormalize_boxes( - normalized_xyxy: np.ndarray, - resolution_wh: tuple[int, int], - normalization_factor: float = 1.0, -) -> np.ndarray: - """ - Convert normalized xyxy coordinates to absolute XYXY coordinates. By default, assumes - normalized values are between 0 and 1, but supports custom ranges via normalization_factor parameter. - Args: - normalized_xyxy (np.ndarray): A numpy array of shape `(N, 4)` where each row contains - normalized coordinates in format `(x1, y1, x2, y2)` with values between 0 and normalization_factor. - resolution_wh (Tuple[int, int]): A tuple of the form `(width, height)` representing - the target resolution. - normalization_factor (float): The maximum value of the normalization range. For example: - - normalization_factor=1.0 means input coordinates are normalized between 0 and 1 - - normalization_factor=100.0 means input coordinates are normalized between 0 and 100 - - normalization_factor=1000.0 means input coordinates are normalized between 0 and 1000 - Returns: - np.ndarray: A numpy array of shape `(N, 4)` containing the absolute coordinates - in format `(x1, y1, x2, y2)`. - Examples: - ```python - import numpy as np - import supervision as sv - # Example with default normalization (0-1) - normalized_xyxy = np.array([ - [0.1, 0.2, 0.5, 0.6], - [0.3, 0.4, 0.7, 0.8] - ]) - resolution_wh = (100, 200) - sv.denormalize_boxes(normalized_xyxy, resolution_wh) - # array([ - # [ 10., 40., 50., 120.], - # [ 30., 80., 70., 160.] - # ]) - # Example with custom normalization (0-100) - normalized_xyxy = np.array([ - [10., 20., 50., 60.], - [30., 40., 70., 80.] - ]) - sv.denormalize_boxes(normalized_xyxy, resolution_wh, max_value=100.0) - # array([ - # [ 10., 40., 50., 120.], - # [ 30., 80., 70., 160.] - # ]) - ``` - """ # noqa E501 // docs - width, height = resolution_wh - result = normalized_xyxy.copy() - - result[[0, 2]] = (result[[0, 2]] * width) / normalization_factor - result[[1, 3]] = (result[[1, 3]] * height) / normalization_factor - - return result - - -def mask_to_xyxy(masks: np.ndarray) -> np.ndarray: - """ - Converts a 3D `np.array` of 2D bool masks into a 2D `np.array` of bounding boxes. - - Parameters: - masks (np.ndarray): A 3D `np.array` of shape `(N, W, H)` - containing 2D bool masks - - Returns: - np.ndarray: A 2D `np.array` of shape `(N, 4)` containing the bounding boxes - `(x_min, y_min, x_max, y_max)` for each mask - """ - n = masks.shape[0] - xyxy = np.zeros((n, 4), dtype=int) - - for i, mask in enumerate(masks): - rows, cols = np.where(mask) - - if len(rows) > 0 and len(cols) > 0: - x_min, x_max = np.min(cols), np.max(cols) - y_min, y_max = np.min(rows), np.max(rows) - xyxy[i, :] = [x_min, y_min, x_max, y_max] - - return xyxy - - -def mask_to_polygons(mask: np.ndarray) -> list[np.ndarray]: - """ - Converts a binary mask to a list of polygons. - - Parameters: - mask (np.ndarray): A binary mask represented as a 2D NumPy array of - shape `(H, W)`, where H and W are the height and width of - the mask, respectively. - - Returns: - List[np.ndarray]: A list of polygons, where each polygon is represented by a - NumPy array of shape `(N, 2)`, containing the `x`, `y` coordinates - of the points. Polygons with fewer points than `MIN_POLYGON_POINT_COUNT = 3` - are excluded from the output. - """ - - contours, _ = cv2.findContours( - mask.astype(np.uint8), cv2.RETR_TREE, cv2.CHAIN_APPROX_SIMPLE - ) - return [ - np.squeeze(contour, axis=1) - for contour in contours - if contour.shape[0] >= MIN_POLYGON_POINT_COUNT - ] - - -def filter_polygons_by_area( - polygons: list[np.ndarray], - min_area: float | None = None, - max_area: float | None = None, -) -> list[np.ndarray]: - """ - Filters a list of polygons based on their area. - - Parameters: - polygons (List[np.ndarray]): A list of polygons, where each polygon is - represented by a NumPy array of shape `(N, 2)`, - containing the `x`, `y` coordinates of the points. - min_area (Optional[float]): The minimum area threshold. - Only polygons with an area greater than or equal to this value - will be included in the output. If set to None, - no minimum area constraint will be applied. - max_area (Optional[float]): The maximum area threshold. - Only polygons with an area less than or equal to this value - will be included in the output. If set to None, - no maximum area constraint will be applied. - - Returns: - List[np.ndarray]: A new list of polygons containing only those with - areas within the specified thresholds. - """ - if min_area is None and max_area is None: - return polygons - ares = [cv2.contourArea(polygon) for polygon in polygons] - return [ - polygon - for polygon, area in zip(polygons, ares) - if (min_area is None or area >= min_area) - and (max_area is None or area <= max_area) - ] - - -def polygon_to_xyxy(polygon: np.ndarray) -> np.ndarray: - """ - Converts a polygon represented by a NumPy array into a bounding box. - - Parameters: - polygon (np.ndarray): A polygon represented by a NumPy array of shape `(N, 2)`, - containing the `x`, `y` coordinates of the points. - - Returns: - np.ndarray: A 1D NumPy array containing the bounding box - `(x_min, y_min, x_max, y_max)` of the input polygon. - """ - x_min, y_min = np.min(polygon, axis=0) - x_max, y_max = np.max(polygon, axis=0) - return np.array([x_min, y_min, x_max, y_max]) - - -def approximate_polygon( - polygon: np.ndarray, percentage: float, epsilon_step: float = 0.05 -) -> np.ndarray: - """ - Approximates a given polygon by reducing a certain percentage of points. - - This function uses the Ramer-Douglas-Peucker algorithm to simplify the input - polygon by reducing the number of points - while preserving the general shape. - - Parameters: - polygon (np.ndarray): A 2D NumPy array of shape `(N, 2)` containing - the `x`, `y` coordinates of the input polygon's points. - percentage (float): The percentage of points to be removed from the - input polygon, in the range `[0, 1)`. - epsilon_step (float): Approximation accuracy step. - Epsilon is the maximum distance between the original curve - and its approximation. - - Returns: - np.ndarray: A new 2D NumPy array of shape `(M, 2)`, - where `M <= N * (1 - percentage)`, containing - the `x`, `y` coordinates of the - approximated polygon's points. - """ - - if percentage < 0 or percentage >= 1: - raise ValueError("Percentage must be in the range [0, 1).") - - target_points = max(int(len(polygon) * (1 - percentage)), 3) - - if len(polygon) <= target_points: - return polygon - - epsilon = 0 - approximated_points = polygon - while True: - epsilon += epsilon_step - new_approximated_points = cv2.approxPolyDP(polygon, epsilon, closed=True) - if len(new_approximated_points) > target_points: - approximated_points = new_approximated_points - else: - break - - return np.squeeze(approximated_points, axis=1) - - -def extract_ultralytics_masks(yolov8_results) -> np.ndarray | None: - if not yolov8_results.masks: - return None - - orig_shape = yolov8_results.orig_shape - inference_shape = tuple(yolov8_results.masks.data.shape[1:]) - - pad = (0, 0) - - if inference_shape != orig_shape: - gain = min( - inference_shape[0] / orig_shape[0], - inference_shape[1] / orig_shape[1], - ) - pad = ( - (inference_shape[1] - orig_shape[1] * gain) / 2, - (inference_shape[0] - orig_shape[0] * gain) / 2, - ) - - top, left = int(pad[1]), int(pad[0]) - bottom, right = int(inference_shape[0] - pad[1]), int(inference_shape[1] - pad[0]) - - mask_maps = [] - masks = yolov8_results.masks.data.cpu().numpy() - for i in range(masks.shape[0]): - mask = masks[i] - mask = mask[top:bottom, left:right] - - if mask.shape != orig_shape: - mask = cv2.resize(mask, (orig_shape[1], orig_shape[0])) - - mask_maps.append(mask) - - return np.asarray(mask_maps, dtype=bool) - - -def process_roboflow_result( - roboflow_result: dict, -) -> tuple[ - np.ndarray, - np.ndarray, - np.ndarray, - np.ndarray | None, - np.ndarray | None, - dict[str, list[np.ndarray] | np.ndarray], -]: - if not roboflow_result["predictions"]: - return ( - np.empty((0, 4)), - np.empty(0), - np.empty(0), - None, - None, - {CLASS_NAME_DATA_FIELD: np.empty(0)}, - ) - - xyxy = [] - confidence = [] - class_id = [] - class_name = [] - masks = [] - tracker_ids = [] - - image_width = int(roboflow_result["image"]["width"]) - image_height = int(roboflow_result["image"]["height"]) - - for prediction in roboflow_result["predictions"]: - x = prediction["x"] - y = prediction["y"] - width = prediction["width"] - height = prediction["height"] - x_min = x - width / 2 - y_min = y - height / 2 - x_max = x_min + width - y_max = y_min + height - - if "points" not in prediction: - xyxy.append([x_min, y_min, x_max, y_max]) - class_id.append(prediction["class_id"]) - class_name.append(prediction["class"]) - confidence.append(prediction["confidence"]) - if "tracker_id" in prediction: - tracker_ids.append(prediction["tracker_id"]) - elif len(prediction["points"]) >= 3: - polygon = np.array( - [[point["x"], point["y"]] for point in prediction["points"]], dtype=int - ) - mask = polygon_to_mask(polygon, resolution_wh=(image_width, image_height)) - xyxy.append([x_min, y_min, x_max, y_max]) - class_id.append(prediction["class_id"]) - class_name.append(prediction["class"]) - confidence.append(prediction["confidence"]) - masks.append(mask) - if "tracker_id" in prediction: - tracker_ids.append(prediction["tracker_id"]) - - xyxy = np.array(xyxy) if len(xyxy) > 0 else np.empty((0, 4)) - confidence = np.array(confidence) if len(confidence) > 0 else np.empty(0) - class_id = np.array(class_id).astype(int) if len(class_id) > 0 else np.empty(0) - class_name = np.array(class_name) if len(class_name) > 0 else np.empty(0) - masks = np.array(masks, dtype=bool) if len(masks) > 0 else None - tracker_id = np.array(tracker_ids).astype(int) if len(tracker_ids) > 0 else None - data = {CLASS_NAME_DATA_FIELD: class_name} - - return xyxy, confidence, class_id, masks, tracker_id, data - - -def move_boxes( - xyxy: npt.NDArray[np.float64], offset: npt.NDArray[np.int32] -) -> npt.NDArray[np.float64]: - """ - Parameters: - xyxy (npt.NDArray[np.float64]): An array of shape `(n, 4)` containing the - bounding boxes coordinates in format `[x1, y1, x2, y2]` - offset (np.array): An array of shape `(2,)` containing offset values in format - is `[dx, dy]`. - - Returns: - npt.NDArray[np.float64]: Repositioned bounding boxes. - - Examples: - ```python - import numpy as np - import supervision as sv - - xyxy = np.array([ - [10, 10, 20, 20], - [30, 30, 40, 40] - ]) - offset = np.array([5, 5]) - - sv.move_boxes(xyxy=xyxy, offset=offset) - # array([ - # [15, 15, 25, 25], - # [35, 35, 45, 45] - # ]) - ``` - """ - return xyxy + np.hstack([offset, offset]) - - -def move_oriented_boxes( - xyxyxyxy: npt.NDArray[np.float64], offset: npt.NDArray[np.int32] -) -> npt.NDArray[np.float64]: - """ - Parameters: - xyxyxyxy (npt.NDArray[np.float64]): An array of shape `(n, 4, 2)` containing the - oriented bounding boxes coordinates in format - `[[x1, y1], [x2, y2], [x3, y3], [x3, y3]]` - offset (np.array): An array of shape `(2,)` containing offset values in format - is `[dx, dy]`. - - Returns: - npt.NDArray[np.float64]: Repositioned bounding boxes. - - Examples: - ```python - import numpy as np - import supervision as sv - - xyxyxyxy = np.array([ - [ - [20, 10], - [10, 20], - [20, 30], - [30, 20] - ], - [ - [30 ,30], - [20, 40], - [30, 50], - [40, 40] - ] - ]) - offset = np.array([5, 5]) - - sv.move_oriented_boxes(xyxy=xyxy, offset=offset) - # array([ - # [ - # [25, 15], - # [15, 25], - # [25, 35], - # [35, 25] - # ], - # [ - # [35, 35], - # [25, 45], - # [35, 55], - # [45, 45] - # ] - # ]) - ``` - """ - return xyxyxyxy + offset - - -def move_masks( - masks: npt.NDArray[np.bool_], - offset: npt.NDArray[np.int32], - resolution_wh: tuple[int, int], -) -> npt.NDArray[np.bool_]: - """ - Offset the masks in an array by the specified (x, y) amount. - - Args: - masks (npt.NDArray[np.bool_]): A 3D array of binary masks corresponding to the - predictions. Shape: `(N, H, W)`, where N is the number of predictions, and - H, W are the dimensions of each mask. - offset (npt.NDArray[np.int32]): An array of shape `(2,)` containing int values - `[dx, dy]`. Supports both positive and negative values for bidirectional - movement. - resolution_wh (Tuple[int, int]): The width and height of the desired mask - resolution. - - Returns: - (npt.NDArray[np.bool_]) repositioned masks, optionally padded to the specified - shape. - - Examples: - ```python - import numpy as np - import supervision as sv - - mask = np.array([[[False, False, False, False], - [False, True, True, False], - [False, True, True, False], - [False, False, False, False]]], dtype=bool) - - offset = np.array([1, 1]) - sv.move_masks(mask, offset, resolution_wh=(4, 4)) - # array([[[False, False, False, False], - # [False, False, False, False], - # [False, False, True, True], - # [False, False, True, True]]], dtype=bool) - - offset = np.array([-2, 2]) - sv.move_masks(mask, offset, resolution_wh=(4, 4)) - # array([[[False, False, False, False], - # [False, False, False, False], - # [False, False, False, False], - # [True, False, False, False]]], dtype=bool) - ``` - """ - mask_array = np.full((masks.shape[0], resolution_wh[1], resolution_wh[0]), False) - - if offset[0] < 0: - source_x_start = -offset[0] - source_x_end = min(masks.shape[2], resolution_wh[0] - offset[0]) - destination_x_start = 0 - destination_x_end = min(resolution_wh[0], masks.shape[2] + offset[0]) - else: - source_x_start = 0 - source_x_end = min(masks.shape[2], resolution_wh[0] - offset[0]) - destination_x_start = offset[0] - destination_x_end = offset[0] + source_x_end - source_x_start - - if offset[1] < 0: - source_y_start = -offset[1] - source_y_end = min(masks.shape[1], resolution_wh[1] - offset[1]) - destination_y_start = 0 - destination_y_end = min(resolution_wh[1], masks.shape[1] + offset[1]) - else: - source_y_start = 0 - source_y_end = min(masks.shape[1], resolution_wh[1] - offset[1]) - destination_y_start = offset[1] - destination_y_end = offset[1] + source_y_end - source_y_start - - if source_x_end > source_x_start and source_y_end > source_y_start: - mask_array[ - :, - destination_y_start:destination_y_end, - destination_x_start:destination_x_end, - ] = masks[:, source_y_start:source_y_end, source_x_start:source_x_end] - - return mask_array - - -def scale_boxes( - xyxy: npt.NDArray[np.float64], factor: float -) -> npt.NDArray[np.float64]: - """ - Scale the dimensions of bounding boxes. - - Parameters: - xyxy (npt.NDArray[np.float64]): An array of shape `(n, 4)` containing the - bounding boxes coordinates in format `[x1, y1, x2, y2]` - factor (float): A float value representing the factor by which the box - dimensions are scaled. A factor greater than 1 enlarges the boxes, while a - factor less than 1 shrinks them. - - Returns: - npt.NDArray[np.float64]: Scaled bounding boxes. - - Examples: - ```python - import numpy as np - import supervision as sv - - xyxy = np.array([ - [10, 10, 20, 20], - [30, 30, 40, 40] - ]) - - sv.scale_boxes(xyxy=xyxy, factor=1.5) - # array([ - # [ 7.5, 7.5, 22.5, 22.5], - # [27.5, 27.5, 42.5, 42.5] - # ]) - ``` - """ - centers = (xyxy[:, :2] + xyxy[:, 2:]) / 2 - new_sizes = (xyxy[:, 2:] - xyxy[:, :2]) * factor - return np.concatenate((centers - new_sizes / 2, centers + new_sizes / 2), axis=1) - - -def calculate_masks_centroids(masks: np.ndarray) -> np.ndarray: - """ - Calculate the centroids of binary masks in a tensor. - - Parameters: - masks (np.ndarray): A 3D NumPy array of shape (num_masks, height, width). - Each 2D array in the tensor represents a binary mask. - - Returns: - A 2D NumPy array of shape (num_masks, 2), where each row contains the x and y - coordinates (in that order) of the centroid of the corresponding mask. - """ - num_masks, height, width = masks.shape - total_pixels = masks.sum(axis=(1, 2)) - - # offset for 1-based indexing - vertical_indices, horizontal_indices = np.indices((height, width)) + 0.5 - # avoid division by zero for empty masks - total_pixels[total_pixels == 0] = 1 - - def sum_over_mask(indices: np.ndarray, axis: tuple) -> np.ndarray: - return np.tensordot(masks, indices, axes=axis) - - aggregation_axis = ([1, 2], [0, 1]) - centroid_x = sum_over_mask(horizontal_indices, aggregation_axis) / total_pixels - centroid_y = sum_over_mask(vertical_indices, aggregation_axis) / total_pixels - - return np.column_stack((centroid_x, centroid_y)).astype(int) - - -def is_data_equal(data_a: dict[str, np.ndarray], data_b: dict[str, np.ndarray]) -> bool: - """ - Compares the data payloads of two Detections instances. - - Args: - data_a, data_b: The data payloads of the instances. - - Returns: - True if the data payloads are equal, False otherwise. - """ - return set(data_a.keys()) == set(data_b.keys()) and all( - np.array_equal(data_a[key], data_b[key]) for key in data_a - ) - - -def is_metadata_equal(metadata_a: dict[str, Any], metadata_b: dict[str, Any]) -> bool: - """ - Compares the metadata payloads of two Detections instances. - - Args: - metadata_a, metadata_b: The metadata payloads of the instances. - - Returns: - True if the metadata payloads are equal, False otherwise. - """ - return set(metadata_a.keys()) == set(metadata_b.keys()) and all( - np.array_equal(metadata_a[key], metadata_b[key]) - if ( - isinstance(metadata_a[key], np.ndarray) - and isinstance(metadata_b[key], np.ndarray) - ) - else metadata_a[key] == metadata_b[key] - for key in metadata_a - ) - - -def merge_data( - data_list: list[dict[str, npt.NDArray[np.generic] | list]], -) -> dict[str, npt.NDArray[np.generic] | list]: - """ - Merges the data payloads of a list of Detections instances. - - Warning: Assumes that empty detections were filtered-out before passing data to - this function. - - Args: - data_list: The data payloads of the Detections instances. Each data payload - is a dictionary with the same keys, and the values are either lists or - npt.NDArray[np.generic]. - - Returns: - A single data payload containing the merged data, preserving the original data - types (list or npt.NDArray[np.generic]). - - Raises: - ValueError: If data values within a single object have different lengths or if - dictionaries have different keys. - """ - if not data_list: - return {} - - all_keys_sets = [set(data.keys()) for data in data_list] - if not all(keys_set == all_keys_sets[0] for keys_set in all_keys_sets): - raise ValueError("All data dictionaries must have the same keys to merge.") - - for data in data_list: - lengths = [len(value) for value in data.values()] - if len(set(lengths)) > 1: - raise ValueError( - "All data values within a single object must have equal length." - ) - - merged_data = {key: [] for key in all_keys_sets[0]} - for data in data_list: - for key in data: - merged_data[key].append(data[key]) - - for key in merged_data: - if all(isinstance(item, list) for item in merged_data[key]): - merged_data[key] = list(chain.from_iterable(merged_data[key])) - elif all(isinstance(item, np.ndarray) for item in merged_data[key]): - ndim = merged_data[key][0].ndim - if ndim == 1: - merged_data[key] = np.hstack(merged_data[key]) - elif ndim > 1: - merged_data[key] = np.vstack(merged_data[key]) - else: - raise ValueError(f"Unexpected array dimension for key '{key}'.") - else: - raise ValueError( - f"Inconsistent data types for key '{key}'. Only np.ndarray and list " - f"types are allowed." - ) - - return merged_data - - -def merge_metadata(metadata_list: list[dict[str, Any]]) -> dict[str, Any]: - """ - Merge metadata from a list of metadata dictionaries. - - This function combines the metadata dictionaries. If a key appears in more than one - dictionary, the values must be identical for the merge to succeed. - - Warning: Assumes that empty detections were filtered-out before passing metadata to - this function. - - Args: - metadata_list (List[Dict[str, Any]]): A list of metadata dictionaries to merge. - - Returns: - Dict[str, Any]: A single merged metadata dictionary. - - Raises: - ValueError: If there are conflicting values for the same key or if - dictionaries have different keys. - """ - if not metadata_list: - return {} - - all_keys_sets = [set(metadata.keys()) for metadata in metadata_list] - if not all(keys_set == all_keys_sets[0] for keys_set in all_keys_sets): - raise ValueError("All metadata dictionaries must have the same keys to merge.") - - merged_metadata: dict[str, Any] = {} - for metadata in metadata_list: - for key, value in metadata.items(): - if key not in merged_metadata: - merged_metadata[key] = value - continue - - other_value = merged_metadata[key] - if isinstance(value, np.ndarray) and isinstance(other_value, np.ndarray): - if not np.array_equal(merged_metadata[key], value): - raise ValueError( - f"Conflicting metadata for key: '{key}': " - "{type(value)}, {type(other_value)}." - ) - elif isinstance(value, np.ndarray) or isinstance(other_value, np.ndarray): - # Since [] == np.array([]). - raise ValueError( - f"Conflicting metadata for key: '{key}': " - "{type(value)}, {type(other_value)}." - ) - else: - print("hm") - if merged_metadata[key] != value: - raise ValueError(f"Conflicting metadata for key: '{key}'.") - - return merged_metadata - - -def get_data_item( - data: dict[str, np.ndarray | list], - index: int | slice | list[int] | np.ndarray, -) -> dict[str, np.ndarray | list]: - """ - Retrieve a subset of the data dictionary based on the given index. - - Args: - data: The data dictionary of the Detections object. - index: The index or indices specifying the subset to retrieve. - - Returns: - A subset of the data dictionary corresponding to the specified index. - """ - subset_data = {} - for key, value in data.items(): - if isinstance(value, np.ndarray): - subset_data[key] = value[index] - elif isinstance(value, list): - if isinstance(index, slice): - subset_data[key] = value[index] - elif isinstance(index, list): - subset_data[key] = [value[i] for i in index] - elif isinstance(index, np.ndarray): - if index.dtype == bool: - subset_data[key] = [ - value[i] for i, index_value in enumerate(index) if index_value - ] - else: - subset_data[key] = [value[i] for i in index] - elif isinstance(index, int): - subset_data[key] = [value[index]] - else: - raise TypeError(f"Unsupported index type: {type(index)}") - else: - raise TypeError(f"Unsupported data type for key '{key}': {type(value)}") - - return subset_data - - -def contains_holes(mask: npt.NDArray[np.bool_]) -> bool: - """ - Checks if the binary mask contains holes (background pixels fully enclosed by - foreground pixels). - - Args: - mask (npt.NDArray[np.bool_]): 2D binary mask where `True` indicates foreground - object and `False` indicates background. - - Returns: - True if holes are detected, False otherwise. - - Examples: - ```python - import numpy as np - import supervision as sv - - mask = np.array([ - [0, 0, 0, 0, 0], - [0, 1, 1, 1, 0], - [0, 1, 0, 1, 0], - [0, 1, 1, 1, 0], - [0, 0, 0, 0, 0] - ]).astype(bool) - - sv.contains_holes(mask=mask) - # True - - mask = np.array([ - [0, 0, 0, 0, 0], - [0, 1, 1, 1, 0], - [0, 1, 1, 1, 0], - [0, 1, 1, 1, 0], - [0, 0, 0, 0, 0] - ]).astype(bool) - - sv.contains_holes(mask=mask) - # False - ``` - - ![contains_holes](https://media.roboflow.com/supervision-docs/contains-holes.png){ align=center width="800" } - """ # noqa E501 // docs - mask_uint8 = mask.astype(np.uint8) - _, hierarchy = cv2.findContours(mask_uint8, cv2.RETR_CCOMP, cv2.CHAIN_APPROX_SIMPLE) - - if hierarchy is not None: - parent_contour_index = 3 - for h in hierarchy[0]: - if h[parent_contour_index] != -1: - return True - return False - - -def contains_multiple_segments( - mask: npt.NDArray[np.bool_], connectivity: int = 4 -) -> bool: - """ - Checks if the binary mask contains multiple unconnected foreground segments. - - Args: - mask (npt.NDArray[np.bool_]): 2D binary mask where `True` indicates foreground - object and `False` indicates background. - connectivity (int) : Default: 4 is 4-way connectivity, which means that - foreground pixels are the part of the same segment/component - if their edges touch. - Alternatively: 8 for 8-way connectivity, when foreground pixels are - connected by their edges or corners touch. - - Returns: - True when the mask contains multiple not connected components, False otherwise. - - Raises: - ValueError: If connectivity(int) parameter value is not 4 or 8. - - Examples: - ```python - import numpy as np - import supervision as sv - - mask = np.array([ - [0, 0, 0, 0, 0, 0], - [0, 1, 1, 0, 1, 1], - [0, 1, 1, 0, 1, 1], - [0, 0, 0, 0, 0, 0], - [0, 1, 1, 1, 0, 0], - [0, 1, 1, 1, 0, 0] - ]).astype(bool) - - sv.contains_multiple_segments(mask=mask, connectivity=4) - # True - - mask = np.array([ - [0, 0, 0, 0, 0, 0], - [0, 1, 1, 1, 1, 1], - [0, 1, 1, 1, 1, 1], - [0, 1, 1, 1, 1, 1], - [0, 1, 1, 1, 1, 1], - [0, 0, 0, 0, 0, 0] - ]).astype(bool) - - sv.contains_multiple_segments(mask=mask, connectivity=4) - # False - ``` - - ![contains_multiple_segments](https://media.roboflow.com/supervision-docs/contains-multiple-segments.png){ align=center width="800" } - """ # noqa E501 // docs - if connectivity != 4 and connectivity != 8: - raise ValueError( - "Incorrect connectivity value. Possible connectivity values: 4 or 8." - ) - mask_uint8 = mask.astype(np.uint8) - labels = np.zeros_like(mask_uint8, dtype=np.int32) - number_of_labels, _ = cv2.connectedComponents( - mask_uint8, labels, connectivity=connectivity - ) - return number_of_labels > 2 - - -def cross_product(anchors: np.ndarray, vector: Vector) -> np.ndarray: - """ - Get array of cross products of each anchor with a vector. - Args: - anchors: Array of anchors of shape (number of anchors, detections, 2) - vector: Vector to calculate cross product with - - Returns: - Array of cross products of shape (number of anchors, detections) - """ - vector_at_zero = np.array( - [ - vector.end.x - vector.start.x, - vector.end.y - vector.start.y, - ] - ) - vector_start = np.array([vector.start.x, vector.start.y]) - return np.cross(vector_at_zero, anchors - vector_start) - - -def spread_out_boxes( - xyxy: np.ndarray, - max_iterations: int = 100, -) -> np.ndarray: - """ - Spread out boxes that overlap with each other. - - Args: - xyxy: Numpy array of shape (N, 4) where N is the number of boxes. - max_iterations: Maximum number of iterations to run the algorithm for. - """ - if len(xyxy) == 0: - return xyxy - - xyxy_padded = pad_boxes(xyxy, px=1) - for _ in range(max_iterations): - # NxN - iou = box_iou_batch(xyxy_padded, xyxy_padded) - np.fill_diagonal(iou, 0) - if np.all(iou == 0): - break - - overlap_mask = iou > 0 - - # Nx2 - centers = (xyxy_padded[:, :2] + xyxy_padded[:, 2:]) / 2 - - # NxNx2 - delta_centers = centers[:, np.newaxis, :] - centers[np.newaxis, :, :] - delta_centers *= overlap_mask[:, :, np.newaxis] - - # Nx2 - delta_sum = np.sum(delta_centers, axis=1) - delta_magnitude = np.linalg.norm(delta_sum, axis=1, keepdims=True) - direction_vectors = np.divide( - delta_sum, - delta_magnitude, - out=np.zeros_like(delta_sum), - where=delta_magnitude != 0, - ) - - force_vectors = np.sum(iou, axis=1) - force_vectors = force_vectors[:, np.newaxis] * direction_vectors - - force_vectors *= 10 - force_vectors[(force_vectors > 0) & (force_vectors < 2)] = 2 - force_vectors[(force_vectors < 0) & (force_vectors > -2)] = -2 - - force_vectors = force_vectors.astype(int) - - xyxy_padded[:, [0, 1]] += force_vectors - xyxy_padded[:, [2, 3]] += force_vectors - - return pad_boxes(xyxy_padded, px=-1) - - -def _jaccard(box_a: list[float], box_b: list[float], is_crowd: bool) -> float: - """ - Calculate the Jaccard index (intersection over union) between two bounding boxes. - If a gt object is marked as "iscrowd", a dt is allowed to match any subregion - of the gt. Choosing gt'=intersect(dt,gt). Since by definition union(gt',dt)=dt, computing - iou(gt,dt,iscrowd) = iou(gt',dt) = area(intersect(gt,dt)) / area(dt) - - Args: - box_a (List[float]): Box coordinates in the format [x, y, width, height]. - box_b (List[float]): Box coordinates in the format [x, y, width, height]. - iscrowd (bool): Flag indicating if the second box is a crowd region or not. - - Returns: - float: Jaccard index between the two bounding boxes. - """ # noqa: E501 - # Smallest number to avoid division by zero - EPS = np.spacing(1) - - xa, ya, x2a, y2a = box_a[0], box_a[1], box_a[0] + box_a[2], box_a[1] + box_a[3] - xb, yb, x2b, y2b = box_b[0], box_b[1], box_b[0] + box_b[2], box_b[1] + box_b[3] - - # Innermost left x - xi = max(xa, xb) - # Innermost right x - x2i = min(x2a, x2b) - # Same for y - yi = max(ya, yb) - y2i = min(y2a, y2b) - - # Calculate areas - Aa = max(x2a - xa, 0.0) * max(y2a - ya, 0.0) - Ab = max(x2b - xb, 0.0) * max(y2b - yb, 0.0) - Ai = max(x2i - xi, 0.0) * max(y2i - yi, 0.0) - - if is_crowd: - return Ai / (Aa + EPS) - - return Ai / (Aa + Ab - Ai + EPS) - - -def box_iou_batch_with_jaccard( - boxes_true: list[list[float]], - boxes_detection: list[list[float]], - is_crowd: list[bool], -) -> np.ndarray: - """ - Calculate the intersection over union (IoU) between detection bounding boxes (dt) - and ground-truth bounding boxes (gt). - Reference: https://github.com/rafaelpadilla/review_object_detection_metrics - - Args: - boxes_true (List[List[float]]): List of ground-truth bounding boxes in the \ - format [x, y, width, height]. - boxes_detection (List[List[float]]): List of detection bounding boxes in the \ - format [x, y, width, height]. - is_crowd (List[bool]): List indicating if each ground-truth bounding box \ - is a crowd region or not. - - Returns: - np.ndarray: Array of IoU values of shape (len(dt), len(gt)). - - Examples: - ```python - import numpy as np - import supervision as sv - - boxes_true = [ - [10, 20, 30, 40], # x, y, w, h - [15, 25, 35, 45] - ] - boxes_detection = [ - [12, 22, 28, 38], - [16, 26, 36, 46] - ] - is_crowd = [False, False] - - ious = sv.box_iou_batch_with_jaccard( - boxes_true=boxes_true, - boxes_detection=boxes_detection, - is_crowd=is_crowd - ) - # array([ - # [0.8866..., 0.4960...], - # [0.4000..., 0.8622...] - # ]) - ``` - """ - assert len(is_crowd) == len(boxes_true), ( - "`is_crowd` must have the same length as `boxes_true`" - ) - if len(boxes_detection) == 0 or len(boxes_true) == 0: - return np.array([]) - ious = np.zeros((len(boxes_detection), len(boxes_true)), dtype=np.float64) - for g_idx, g in enumerate(boxes_true): - for d_idx, d in enumerate(boxes_detection): - ious[d_idx, g_idx] = _jaccard(d, g, is_crowd[g_idx]) - return ious diff --git a/supervision/detection/utils/__init__.py b/supervision/detection/utils/__init__.py new file mode 100644 index 0000000000..e69de29bb2 diff --git a/supervision/detection/utils/boxes.py b/supervision/detection/utils/boxes.py new file mode 100644 index 0000000000..0beb390384 --- /dev/null +++ b/supervision/detection/utils/boxes.py @@ -0,0 +1,333 @@ +from __future__ import annotations + +import numpy as np +import numpy.typing as npt + +from supervision.detection.utils.iou_and_nms import box_iou_batch + + +def clip_boxes(xyxy: np.ndarray, resolution_wh: tuple[int, int]) -> np.ndarray: + """ + Clips bounding boxes coordinates to fit within the frame resolution. + + Args: + xyxy (np.ndarray): A numpy array of shape `(N, 4)` where each + row corresponds to a bounding box in + the format `(x_min, y_min, x_max, y_max)`. + resolution_wh (Tuple[int, int]): A tuple of the form `(width, height)` + representing the resolution of the frame. + + Returns: + np.ndarray: A numpy array of shape `(N, 4)` where each row + corresponds to a bounding box with coordinates clipped to fit + within the frame resolution. + + Examples: + ```python + import numpy as np + import supervision as sv + + xyxy = np.array([ + [10, 20, 300, 200], + [15, 25, 350, 450], + [-10, -20, 30, 40] + ]) + + sv.clip_boxes(xyxy=xyxy, resolution_wh=(320, 240)) + # array([ + # [ 10, 20, 300, 200], + # [ 15, 25, 320, 240], + # [ 0, 0, 30, 40] + # ]) + ``` + """ + result = np.copy(xyxy) + width, height = resolution_wh + result[:, [0, 2]] = result[:, [0, 2]].clip(0, width) + result[:, [1, 3]] = result[:, [1, 3]].clip(0, height) + return result + + +def pad_boxes(xyxy: np.ndarray, px: int, py: int | None = None) -> np.ndarray: + """ + Pads bounding boxes coordinates with a constant padding. + + Args: + xyxy (np.ndarray): A numpy array of shape `(N, 4)` where each + row corresponds to a bounding box in the format + `(x_min, y_min, x_max, y_max)`. + px (int): The padding value to be added to both the left and right sides of + each bounding box. + py (Optional[int]): The padding value to be added to both the top and bottom + sides of each bounding box. If not provided, `px` will be used for both + dimensions. + + Returns: + np.ndarray: A numpy array of shape `(N, 4)` where each row corresponds to a + bounding box with coordinates padded according to the provided padding + values. + + Examples: + ```python + import numpy as np + import supervision as sv + + xyxy = np.array([ + [10, 20, 30, 40], + [15, 25, 35, 45] + ]) + + sv.pad_boxes(xyxy=xyxy, px=5, py=10) + # array([ + # [ 5, 10, 35, 50], + # [10, 15, 40, 55] + # ]) + ``` + """ + if py is None: + py = px + + result = xyxy.copy() + result[:, [0, 1]] -= [px, py] + result[:, [2, 3]] += [px, py] + + return result + + +def denormalize_boxes( + normalized_xyxy: np.ndarray, + resolution_wh: tuple[int, int], + normalization_factor: float = 1.0, +) -> np.ndarray: + """ + Convert normalized xyxy coordinates to absolute XYXY coordinates. By default, assumes + normalized values are between 0 and 1, but supports custom ranges via normalization_factor parameter. + Args: + normalized_xyxy (np.ndarray): A numpy array of shape `(N, 4)` where each row contains + normalized coordinates in format `(x1, y1, x2, y2)` with values between 0 and normalization_factor. + resolution_wh (Tuple[int, int]): A tuple of the form `(width, height)` representing + the target resolution. + normalization_factor (float): The maximum value of the normalization range. For example: + - normalization_factor=1.0 means input coordinates are normalized between 0 and 1 + - normalization_factor=100.0 means input coordinates are normalized between 0 and 100 + - normalization_factor=1000.0 means input coordinates are normalized between 0 and 1000 + Returns: + np.ndarray: A numpy array of shape `(N, 4)` containing the absolute coordinates + in format `(x1, y1, x2, y2)`. + Examples: + ```python + import numpy as np + import supervision as sv + # Example with default normalization (0-1) + normalized_xyxy = np.array([ + [0.1, 0.2, 0.5, 0.6], + [0.3, 0.4, 0.7, 0.8] + ]) + resolution_wh = (100, 200) + sv.denormalize_boxes(normalized_xyxy, resolution_wh) + # array([ + # [ 10., 40., 50., 120.], + # [ 30., 80., 70., 160.] + # ]) + # Example with custom normalization (0-100) + normalized_xyxy = np.array([ + [10., 20., 50., 60.], + [30., 40., 70., 80.] + ]) + sv.denormalize_boxes(normalized_xyxy, resolution_wh, max_value=100.0) + # array([ + # [ 10., 40., 50., 120.], + # [ 30., 80., 70., 160.] + # ]) + ``` + """ # noqa E501 // docs + width, height = resolution_wh + result = normalized_xyxy.copy() + + result[[0, 2]] = (result[[0, 2]] * width) / normalization_factor + result[[1, 3]] = (result[[1, 3]] * height) / normalization_factor + + return result + + +def move_boxes( + xyxy: npt.NDArray[np.float64], offset: npt.NDArray[np.int32] +) -> npt.NDArray[np.float64]: + """ + Parameters: + xyxy (npt.NDArray[np.float64]): An array of shape `(n, 4)` containing the + bounding boxes coordinates in format `[x1, y1, x2, y2]` + offset (np.array): An array of shape `(2,)` containing offset values in format + is `[dx, dy]`. + + Returns: + npt.NDArray[np.float64]: Repositioned bounding boxes. + + Examples: + ```python + import numpy as np + import supervision as sv + + xyxy = np.array([ + [10, 10, 20, 20], + [30, 30, 40, 40] + ]) + offset = np.array([5, 5]) + + sv.move_boxes(xyxy=xyxy, offset=offset) + # array([ + # [15, 15, 25, 25], + # [35, 35, 45, 45] + # ]) + ``` + """ + return xyxy + np.hstack([offset, offset]) + + +def move_oriented_boxes( + xyxyxyxy: npt.NDArray[np.float64], offset: npt.NDArray[np.int32] +) -> npt.NDArray[np.float64]: + """ + Parameters: + xyxyxyxy (npt.NDArray[np.float64]): An array of shape `(n, 4, 2)` containing the + oriented bounding boxes coordinates in format + `[[x1, y1], [x2, y2], [x3, y3], [x3, y3]]` + offset (np.array): An array of shape `(2,)` containing offset values in format + is `[dx, dy]`. + + Returns: + npt.NDArray[np.float64]: Repositioned bounding boxes. + + Examples: + ```python + import numpy as np + import supervision as sv + + xyxyxyxy = np.array([ + [ + [20, 10], + [10, 20], + [20, 30], + [30, 20] + ], + [ + [30 ,30], + [20, 40], + [30, 50], + [40, 40] + ] + ]) + offset = np.array([5, 5]) + + sv.move_oriented_boxes(xyxy=xyxy, offset=offset) + # array([ + # [ + # [25, 15], + # [15, 25], + # [25, 35], + # [35, 25] + # ], + # [ + # [35, 35], + # [25, 45], + # [35, 55], + # [45, 45] + # ] + # ]) + ``` + """ + return xyxyxyxy + offset + + +def scale_boxes( + xyxy: npt.NDArray[np.float64], factor: float +) -> npt.NDArray[np.float64]: + """ + Scale the dimensions of bounding boxes. + + Parameters: + xyxy (npt.NDArray[np.float64]): An array of shape `(n, 4)` containing the + bounding boxes coordinates in format `[x1, y1, x2, y2]` + factor (float): A float value representing the factor by which the box + dimensions are scaled. A factor greater than 1 enlarges the boxes, while a + factor less than 1 shrinks them. + + Returns: + npt.NDArray[np.float64]: Scaled bounding boxes. + + Examples: + ```python + import numpy as np + import supervision as sv + + xyxy = np.array([ + [10, 10, 20, 20], + [30, 30, 40, 40] + ]) + + sv.scale_boxes(xyxy=xyxy, factor=1.5) + # array([ + # [ 7.5, 7.5, 22.5, 22.5], + # [27.5, 27.5, 42.5, 42.5] + # ]) + ``` + """ + centers = (xyxy[:, :2] + xyxy[:, 2:]) / 2 + new_sizes = (xyxy[:, 2:] - xyxy[:, :2]) * factor + return np.concatenate((centers - new_sizes / 2, centers + new_sizes / 2), axis=1) + + +def spread_out_boxes( + xyxy: np.ndarray, + max_iterations: int = 100, +) -> np.ndarray: + """ + Spread out boxes that overlap with each other. + + Args: + xyxy: Numpy array of shape (N, 4) where N is the number of boxes. + max_iterations: Maximum number of iterations to run the algorithm for. + """ + if len(xyxy) == 0: + return xyxy + + xyxy_padded = pad_boxes(xyxy, px=1) + for _ in range(max_iterations): + # NxN + iou = box_iou_batch(xyxy_padded, xyxy_padded) + np.fill_diagonal(iou, 0) + if np.all(iou == 0): + break + + overlap_mask = iou > 0 + + # Nx2 + centers = (xyxy_padded[:, :2] + xyxy_padded[:, 2:]) / 2 + + # NxNx2 + delta_centers = centers[:, np.newaxis, :] - centers[np.newaxis, :, :] + delta_centers *= overlap_mask[:, :, np.newaxis] + + # Nx2 + delta_sum = np.sum(delta_centers, axis=1) + delta_magnitude = np.linalg.norm(delta_sum, axis=1, keepdims=True) + direction_vectors = np.divide( + delta_sum, + delta_magnitude, + out=np.zeros_like(delta_sum), + where=delta_magnitude != 0, + ) + + force_vectors = np.sum(iou, axis=1) + force_vectors = force_vectors[:, np.newaxis] * direction_vectors + + force_vectors *= 10 + force_vectors[(force_vectors > 0) & (force_vectors < 2)] = 2 + force_vectors[(force_vectors < 0) & (force_vectors > -2)] = -2 + + force_vectors = force_vectors.astype(int) + + xyxy_padded[:, [0, 1]] += force_vectors + xyxy_padded[:, [2, 3]] += force_vectors + + return pad_boxes(xyxy_padded, px=-1) diff --git a/supervision/detection/utils/converters.py b/supervision/detection/utils/converters.py new file mode 100644 index 0000000000..9e02783a04 --- /dev/null +++ b/supervision/detection/utils/converters.py @@ -0,0 +1,272 @@ +import cv2 +import numpy as np + +MIN_POLYGON_POINT_COUNT = 3 + + +def xyxy_to_polygons(box: np.ndarray) -> np.ndarray: + """ + Convert an array of boxes to an array of polygons. + Retains the input datatype. + + Args: + box (np.ndarray): An array of boxes (N, 4), where each box is represented as a + list of four coordinates in the format `(x_min, y_min, x_max, y_max)`. + + Returns: + np.ndarray: An array of polygons (N, 4, 2), where each polygon is + represented as a list of four coordinates in the format `(x, y)`. + """ + polygon = np.zeros((box.shape[0], 4, 2), dtype=box.dtype) + polygon[:, :, 0] = box[:, [0, 2, 2, 0]] + polygon[:, :, 1] = box[:, [1, 1, 3, 3]] + return polygon + + +def polygon_to_mask(polygon: np.ndarray, resolution_wh: tuple[int, int]) -> np.ndarray: + """Generate a mask from a polygon. + + Args: + polygon (np.ndarray): The polygon for which the mask should be generated, + given as a list of vertices. + resolution_wh (Tuple[int, int]): The width and height of the desired resolution. + + Returns: + np.ndarray: The generated 2D mask, where the polygon is marked with + `1`'s and the rest is filled with `0`'s. + """ + width, height = map(int, resolution_wh) + mask = np.zeros((height, width), dtype=np.uint8) + cv2.fillPoly(mask, [polygon.astype(np.int32)], color=1) + return mask + + +def xywh_to_xyxy(xywh: np.ndarray) -> np.ndarray: + """ + Converts bounding box coordinates from `(x, y, width, height)` + format to `(x_min, y_min, x_max, y_max)` format. + + Args: + xywh (np.ndarray): A numpy array of shape `(N, 4)` where each row + corresponds to a bounding box in the format `(x, y, width, height)`. + + Returns: + np.ndarray: A numpy array of shape `(N, 4)` where each row corresponds + to a bounding box in the format `(x_min, y_min, x_max, y_max)`. + + Examples: + ```python + import numpy as np + import supervision as sv + + xywh = np.array([ + [10, 20, 30, 40], + [15, 25, 35, 45] + ]) + + sv.xywh_to_xyxy(xywh=xywh) + # array([ + # [10, 20, 40, 60], + # [15, 25, 50, 70] + # ]) + ``` + """ + xyxy = xywh.copy() + xyxy[:, 2] = xywh[:, 0] + xywh[:, 2] + xyxy[:, 3] = xywh[:, 1] + xywh[:, 3] + return xyxy + + +def xyxy_to_xywh(xyxy: np.ndarray) -> np.ndarray: + """ + Converts bounding box coordinates from `(x_min, y_min, x_max, y_max)` + format to `(x, y, width, height)` format. + + Args: + xyxy (np.ndarray): A numpy array of shape `(N, 4)` where each row + corresponds to a bounding box in the format `(x_min, y_min, x_max, + y_max)`. + + Returns: + np.ndarray: A numpy array of shape `(N, 4)` where each row corresponds + to a bounding box in the format `(x, y, width, height)`. + + Examples: + ```python + import numpy as np + import supervision as sv + + xyxy = np.array([ + [10, 20, 40, 60], + [15, 25, 50, 70] + ]) + + sv.xyxy_to_xywh(xyxy=xyxy) + # array([ + # [10, 20, 30, 40], + # [15, 25, 35, 45] + # ]) + ``` + """ + xywh = xyxy.copy() + xywh[:, 2] = xyxy[:, 2] - xyxy[:, 0] + xywh[:, 3] = xyxy[:, 3] - xyxy[:, 1] + return xywh + + +def xcycwh_to_xyxy(xcycwh: np.ndarray) -> np.ndarray: + """ + Converts bounding box coordinates from `(center_x, center_y, width, height)` + format to `(x_min, y_min, x_max, y_max)` format. + + Args: + xcycwh (np.ndarray): A numpy array of shape `(N, 4)` where each row + corresponds to a bounding box in the format `(center_x, center_y, width, + height)`. + + Returns: + np.ndarray: A numpy array of shape `(N, 4)` where each row corresponds + to a bounding box in the format `(x_min, y_min, x_max, y_max)`. + + Examples: + ```python + import numpy as np + import supervision as sv + + xcycwh = np.array([ + [50, 50, 20, 30], + [30, 40, 10, 15] + ]) + + sv.xcycwh_to_xyxy(xcycwh=xcycwh) + # array([ + # [40, 35, 60, 65], + # [25, 32.5, 35, 47.5] + # ]) + ``` + """ + xyxy = xcycwh.copy() + xyxy[:, 0] = xcycwh[:, 0] - xcycwh[:, 2] / 2 + xyxy[:, 1] = xcycwh[:, 1] - xcycwh[:, 3] / 2 + xyxy[:, 2] = xcycwh[:, 0] + xcycwh[:, 2] / 2 + xyxy[:, 3] = xcycwh[:, 1] + xcycwh[:, 3] / 2 + return xyxy + + +def xyxy_to_xcycarh(xyxy: np.ndarray) -> np.ndarray: + """ + Converts bounding box coordinates from `(x_min, y_min, x_max, y_max)` + into measurement space to format `(center x, center y, aspect ratio, height)`, + where the aspect ratio is `width / height`. + + Args: + xyxy (np.ndarray): Bounding box in format `(x1, y1, x2, y2)`. + Expected shape is `(N, 4)`. + Returns: + np.ndarray: Bounding box in format + `(center x, center y, aspect ratio, height)`. Shape `(N, 4)`. + + Examples: + ```python + import numpy as np + import supervision as sv + + xyxy = np.array([ + [10, 20, 40, 60], + [15, 25, 50, 70] + ]) + + sv.xyxy_to_xcycarh(xyxy=xyxy) + # array([ + # [25. , 40. , 0.75, 40. ], + # [32.5 , 47.5 , 0.77777778, 45. ] + # ]) + ``` + + """ + if xyxy.size == 0: + return np.empty((0, 4), dtype=float) + + x1, y1, x2, y2 = xyxy.T + width = x2 - x1 + height = y2 - y1 + center_x = x1 + width / 2 + center_y = y1 + height / 2 + + aspect_ratio = np.divide( + width, + height, + out=np.zeros_like(width, dtype=float), + where=height != 0, + ) + result = np.column_stack((center_x, center_y, aspect_ratio, height)) + return result.astype(float) + + +def mask_to_xyxy(masks: np.ndarray) -> np.ndarray: + """ + Converts a 3D `np.array` of 2D bool masks into a 2D `np.array` of bounding boxes. + + Parameters: + masks (np.ndarray): A 3D `np.array` of shape `(N, W, H)` + containing 2D bool masks + + Returns: + np.ndarray: A 2D `np.array` of shape `(N, 4)` containing the bounding boxes + `(x_min, y_min, x_max, y_max)` for each mask + """ + n = masks.shape[0] + xyxy = np.zeros((n, 4), dtype=int) + + for i, mask in enumerate(masks): + rows, cols = np.where(mask) + + if len(rows) > 0 and len(cols) > 0: + x_min, x_max = np.min(cols), np.max(cols) + y_min, y_max = np.min(rows), np.max(rows) + xyxy[i, :] = [x_min, y_min, x_max, y_max] + + return xyxy + + +def mask_to_polygons(mask: np.ndarray) -> list[np.ndarray]: + """ + Converts a binary mask to a list of polygons. + + Parameters: + mask (np.ndarray): A binary mask represented as a 2D NumPy array of + shape `(H, W)`, where H and W are the height and width of + the mask, respectively. + + Returns: + List[np.ndarray]: A list of polygons, where each polygon is represented by a + NumPy array of shape `(N, 2)`, containing the `x`, `y` coordinates + of the points. Polygons with fewer points than `MIN_POLYGON_POINT_COUNT = 3` + are excluded from the output. + """ + + contours, _ = cv2.findContours( + mask.astype(np.uint8), cv2.RETR_TREE, cv2.CHAIN_APPROX_SIMPLE + ) + return [ + np.squeeze(contour, axis=1) + for contour in contours + if contour.shape[0] >= MIN_POLYGON_POINT_COUNT + ] + + +def polygon_to_xyxy(polygon: np.ndarray) -> np.ndarray: + """ + Converts a polygon represented by a NumPy array into a bounding box. + + Parameters: + polygon (np.ndarray): A polygon represented by a NumPy array of shape `(N, 2)`, + containing the `x`, `y` coordinates of the points. + + Returns: + np.ndarray: A 1D NumPy array containing the bounding box + `(x_min, y_min, x_max, y_max)` of the input polygon. + """ + x_min, y_min = np.min(polygon, axis=0) + x_max, y_max = np.max(polygon, axis=0) + return np.array([x_min, y_min, x_max, y_max]) diff --git a/supervision/detection/utils/internal.py b/supervision/detection/utils/internal.py new file mode 100644 index 0000000000..2bcaf955c4 --- /dev/null +++ b/supervision/detection/utils/internal.py @@ -0,0 +1,331 @@ +from __future__ import annotations + +from itertools import chain +from typing import Any + +import cv2 +import numpy as np +import numpy.typing as npt + +from supervision.config import CLASS_NAME_DATA_FIELD +from supervision.detection.utils.converters import polygon_to_mask +from supervision.geometry.core import Vector + + +def extract_ultralytics_masks(yolov8_results) -> np.ndarray | None: + if not yolov8_results.masks: + return None + + orig_shape = yolov8_results.orig_shape + inference_shape = tuple(yolov8_results.masks.data.shape[1:]) + + pad = (0, 0) + + if inference_shape != orig_shape: + gain = min( + inference_shape[0] / orig_shape[0], + inference_shape[1] / orig_shape[1], + ) + pad = ( + (inference_shape[1] - orig_shape[1] * gain) / 2, + (inference_shape[0] - orig_shape[0] * gain) / 2, + ) + + top, left = int(pad[1]), int(pad[0]) + bottom, right = int(inference_shape[0] - pad[1]), int(inference_shape[1] - pad[0]) + + mask_maps = [] + masks = yolov8_results.masks.data.cpu().numpy() + for i in range(masks.shape[0]): + mask = masks[i] + mask = mask[top:bottom, left:right] + + if mask.shape != orig_shape: + mask = cv2.resize(mask, (orig_shape[1], orig_shape[0])) + + mask_maps.append(mask) + + return np.asarray(mask_maps, dtype=bool) + + +def process_roboflow_result( + roboflow_result: dict, +) -> tuple[ + np.ndarray, + np.ndarray, + np.ndarray, + np.ndarray | None, + np.ndarray | None, + dict[str, list[np.ndarray] | np.ndarray], +]: + if not roboflow_result["predictions"]: + return ( + np.empty((0, 4)), + np.empty(0), + np.empty(0), + None, + None, + {CLASS_NAME_DATA_FIELD: np.empty(0)}, + ) + + xyxy = [] + confidence = [] + class_id = [] + class_name = [] + masks = [] + tracker_ids = [] + + image_width = int(roboflow_result["image"]["width"]) + image_height = int(roboflow_result["image"]["height"]) + + for prediction in roboflow_result["predictions"]: + x = prediction["x"] + y = prediction["y"] + width = prediction["width"] + height = prediction["height"] + x_min = x - width / 2 + y_min = y - height / 2 + x_max = x_min + width + y_max = y_min + height + + if "points" not in prediction: + xyxy.append([x_min, y_min, x_max, y_max]) + class_id.append(prediction["class_id"]) + class_name.append(prediction["class"]) + confidence.append(prediction["confidence"]) + if "tracker_id" in prediction: + tracker_ids.append(prediction["tracker_id"]) + elif len(prediction["points"]) >= 3: + polygon = np.array( + [[point["x"], point["y"]] for point in prediction["points"]], dtype=int + ) + mask = polygon_to_mask(polygon, resolution_wh=(image_width, image_height)) + xyxy.append([x_min, y_min, x_max, y_max]) + class_id.append(prediction["class_id"]) + class_name.append(prediction["class"]) + confidence.append(prediction["confidence"]) + masks.append(mask) + if "tracker_id" in prediction: + tracker_ids.append(prediction["tracker_id"]) + + xyxy = np.array(xyxy) if len(xyxy) > 0 else np.empty((0, 4)) + confidence = np.array(confidence) if len(confidence) > 0 else np.empty(0) + class_id = np.array(class_id).astype(int) if len(class_id) > 0 else np.empty(0) + class_name = np.array(class_name) if len(class_name) > 0 else np.empty(0) + masks = np.array(masks, dtype=bool) if len(masks) > 0 else None + tracker_id = np.array(tracker_ids).astype(int) if len(tracker_ids) > 0 else None + data = {CLASS_NAME_DATA_FIELD: class_name} + + return xyxy, confidence, class_id, masks, tracker_id, data + + +def is_data_equal(data_a: dict[str, np.ndarray], data_b: dict[str, np.ndarray]) -> bool: + """ + Compares the data payloads of two Detections instances. + + Args: + data_a, data_b: The data payloads of the instances. + + Returns: + True if the data payloads are equal, False otherwise. + """ + return set(data_a.keys()) == set(data_b.keys()) and all( + np.array_equal(data_a[key], data_b[key]) for key in data_a + ) + + +def is_metadata_equal(metadata_a: dict[str, Any], metadata_b: dict[str, Any]) -> bool: + """ + Compares the metadata payloads of two Detections instances. + + Args: + metadata_a, metadata_b: The metadata payloads of the instances. + + Returns: + True if the metadata payloads are equal, False otherwise. + """ + return set(metadata_a.keys()) == set(metadata_b.keys()) and all( + np.array_equal(metadata_a[key], metadata_b[key]) + if ( + isinstance(metadata_a[key], np.ndarray) + and isinstance(metadata_b[key], np.ndarray) + ) + else metadata_a[key] == metadata_b[key] + for key in metadata_a + ) + + +def merge_data( + data_list: list[dict[str, npt.NDArray[np.generic] | list]], +) -> dict[str, npt.NDArray[np.generic] | list]: + """ + Merges the data payloads of a list of Detections instances. + + Warning: Assumes that empty detections were filtered-out before passing data to + this function. + + Args: + data_list: The data payloads of the Detections instances. Each data payload + is a dictionary with the same keys, and the values are either lists or + npt.NDArray[np.generic]. + + Returns: + A single data payload containing the merged data, preserving the original data + types (list or npt.NDArray[np.generic]). + + Raises: + ValueError: If data values within a single object have different lengths or if + dictionaries have different keys. + """ + if not data_list: + return {} + + all_keys_sets = [set(data.keys()) for data in data_list] + if not all(keys_set == all_keys_sets[0] for keys_set in all_keys_sets): + raise ValueError("All data dictionaries must have the same keys to merge.") + + for data in data_list: + lengths = [len(value) for value in data.values()] + if len(set(lengths)) > 1: + raise ValueError( + "All data values within a single object must have equal length." + ) + + merged_data = {key: [] for key in all_keys_sets[0]} + for data in data_list: + for key in data: + merged_data[key].append(data[key]) + + for key in merged_data: + if all(isinstance(item, list) for item in merged_data[key]): + merged_data[key] = list(chain.from_iterable(merged_data[key])) + elif all(isinstance(item, np.ndarray) for item in merged_data[key]): + ndim = merged_data[key][0].ndim + if ndim == 1: + merged_data[key] = np.hstack(merged_data[key]) + elif ndim > 1: + merged_data[key] = np.vstack(merged_data[key]) + else: + raise ValueError(f"Unexpected array dimension for key '{key}'.") + else: + raise ValueError( + f"Inconsistent data types for key '{key}'. Only np.ndarray and list " + f"types are allowed." + ) + + return merged_data + + +def merge_metadata(metadata_list: list[dict[str, Any]]) -> dict[str, Any]: + """ + Merge metadata from a list of metadata dictionaries. + + This function combines the metadata dictionaries. If a key appears in more than one + dictionary, the values must be identical for the merge to succeed. + + Warning: Assumes that empty detections were filtered-out before passing metadata to + this function. + + Args: + metadata_list (List[Dict[str, Any]]): A list of metadata dictionaries to merge. + + Returns: + Dict[str, Any]: A single merged metadata dictionary. + + Raises: + ValueError: If there are conflicting values for the same key or if + dictionaries have different keys. + """ + if not metadata_list: + return {} + + all_keys_sets = [set(metadata.keys()) for metadata in metadata_list] + if not all(keys_set == all_keys_sets[0] for keys_set in all_keys_sets): + raise ValueError("All metadata dictionaries must have the same keys to merge.") + + merged_metadata: dict[str, Any] = {} + for metadata in metadata_list: + for key, value in metadata.items(): + if key not in merged_metadata: + merged_metadata[key] = value + continue + + other_value = merged_metadata[key] + if isinstance(value, np.ndarray) and isinstance(other_value, np.ndarray): + if not np.array_equal(merged_metadata[key], value): + raise ValueError( + f"Conflicting metadata for key: '{key}': " + "{type(value)}, {type(other_value)}." + ) + elif isinstance(value, np.ndarray) or isinstance(other_value, np.ndarray): + # Since [] == np.array([]). + raise ValueError( + f"Conflicting metadata for key: '{key}': " + "{type(value)}, {type(other_value)}." + ) + else: + print("hm") + if merged_metadata[key] != value: + raise ValueError(f"Conflicting metadata for key: '{key}'.") + + return merged_metadata + + +def get_data_item( + data: dict[str, np.ndarray | list], + index: int | slice | list[int] | np.ndarray, +) -> dict[str, np.ndarray | list]: + """ + Retrieve a subset of the data dictionary based on the given index. + + Args: + data: The data dictionary of the Detections object. + index: The index or indices specifying the subset to retrieve. + + Returns: + A subset of the data dictionary corresponding to the specified index. + """ + subset_data = {} + for key, value in data.items(): + if isinstance(value, np.ndarray): + subset_data[key] = value[index] + elif isinstance(value, list): + if isinstance(index, slice): + subset_data[key] = value[index] + elif isinstance(index, list): + subset_data[key] = [value[i] for i in index] + elif isinstance(index, np.ndarray): + if index.dtype == bool: + subset_data[key] = [ + value[i] for i, index_value in enumerate(index) if index_value + ] + else: + subset_data[key] = [value[i] for i in index] + elif isinstance(index, int): + subset_data[key] = [value[index]] + else: + raise TypeError(f"Unsupported index type: {type(index)}") + else: + raise TypeError(f"Unsupported data type for key '{key}': {type(value)}") + + return subset_data + + +def cross_product(anchors: np.ndarray, vector: Vector) -> np.ndarray: + """ + Get array of cross products of each anchor with a vector. + Args: + anchors: Array of anchors of shape (number of anchors, detections, 2) + vector: Vector to calculate cross product with + + Returns: + Array of cross products of shape (number of anchors, detections) + """ + vector_at_zero = np.array( + [ + vector.end.x - vector.start.x, + vector.end.y - vector.start.y, + ] + ) + vector_start = np.array([vector.start.x, vector.start.y]) + return np.cross(vector_at_zero, anchors - vector_start) diff --git a/supervision/detection/utils/iou_and_nms.py b/supervision/detection/utils/iou_and_nms.py new file mode 100644 index 0000000000..07602a2dea --- /dev/null +++ b/supervision/detection/utils/iou_and_nms.py @@ -0,0 +1,795 @@ +from __future__ import annotations + +from enum import Enum + +import numpy as np +import numpy.typing as npt + +from supervision.detection.utils.converters import polygon_to_mask +from supervision.detection.utils.masks import resize_masks + + +class OverlapFilter(Enum): + """ + Enum specifying the strategy for filtering overlapping detections. + + Attributes: + NONE: Do not filter detections based on overlap. + NON_MAX_SUPPRESSION: Filter detections using non-max suppression. This means, + detections that overlap by more than a set threshold will be discarded, + except for the one with the highest confidence. + NON_MAX_MERGE: Merge detections with non-max merging. This means, + detections that overlap by more than a set threshold will be merged + into a single detection. + """ + + NONE = "none" + NON_MAX_SUPPRESSION = "non_max_suppression" + NON_MAX_MERGE = "non_max_merge" + + @classmethod + def list(cls): + return list(map(lambda c: c.value, cls)) + + @classmethod + def from_value(cls, value: OverlapFilter | str) -> OverlapFilter: + if isinstance(value, cls): + return value + if isinstance(value, str): + value = value.lower() + try: + return cls(value) + except ValueError: + raise ValueError(f"Invalid value: {value}. Must be one of {cls.list()}") + raise ValueError( + f"Invalid value type: {type(value)}. Must be an instance of " + f"{cls.__name__} or str." + ) + + +class OverlapMetric(Enum): + """ + Enum specifying the metric for measuring overlap between detections. + + Attributes: + IOU: Intersection over Union. A region-overlap metric that compares + two shapes (usually bounding boxes or masks) by normalising the + shared area with the area of their union. + IOS: Intersection over Smaller, a region-overlap metric that compares + two shapes (usually bounding boxes or masks) by normalising the + shared area with the smaller of the two shapes. + """ + + IOU = "IOU" + IOS = "IOS" + + @classmethod + def list(cls): + return list(map(lambda c: c.value, cls)) + + @classmethod + def from_value(cls, value: OverlapMetric | str) -> OverlapMetric: + if isinstance(value, cls): + return value + if isinstance(value, str): + value = value.lower() + try: + return cls(value) + except ValueError: + raise ValueError(f"Invalid value: {value}. Must be one of {cls.list()}") + raise ValueError( + f"Invalid value type: {type(value)}. Must be an instance of " + f"{cls.__name__} or str." + ) + + +def box_iou( + box_true: list[float] | np.ndarray, + box_detection: list[float] | np.ndarray, +) -> float: + """ + Compute the Intersection over Union (IoU) between two bounding boxes. + + Mathematically, it is defined as: + + \\[ + \text{IoU} = \frac{|\text{box}_{\text{true}} \\cap \text{box}_{\text{detection}}|}{|\text{box}_{\text{true}} \\cup \text{box}_{\text{detection}}|} + \\] + + Note: + Use `box_iou` when computing IoU between two individual boxes. + For comparing multiple boxes (arrays of boxes), use `box_iou_batch` for better + performance. + + Args: + box_true (Union[List[float], np.ndarray]): A single bounding box represented as + [x_min, y_min, x_max, y_max]. + box_detection (Union[List[float], np.ndarray]): + A single bounding box represented as [x_min, y_min, x_max, y_max]. + + Returns: + IoU (float): IoU score between the two boxes. Ranges from 0.0 (no overlap) + to 1.0 (perfect overlap). + + Examples: + ```python + import numpy as np + import supervision as sv + + box_true = np.array([100, 100, 200, 200]) + box_detection = np.array([150, 150, 250, 250]) + + sv.box_iou(box_true=box_true, box_detection=box_detection) + # 0.14285814285714285 + ``` + """ # noqa: E501 + box_true = np.array(box_true) + box_detection = np.array(box_detection) + + inter_x1 = max(box_true[0], box_detection[0]) + inter_y1 = max(box_true[1], box_detection[1]) + inter_x2 = min(box_true[2], box_detection[2]) + inter_y2 = min(box_true[3], box_detection[3]) + + inter_w = max(0, inter_x2 - inter_x1) + inter_h = max(0, inter_y2 - inter_y1) + + inter_area = inter_w * inter_h + + area_true = (box_true[2] - box_true[0]) * (box_true[3] - box_true[1]) + area_detection = (box_detection[2] - box_detection[0]) * ( + box_detection[3] - box_detection[1] + ) + + union_area = area_true + area_detection - inter_area + + return inter_area / union_area + 1e-6 + + +def box_iou_batch( + boxes_true: np.ndarray, + boxes_detection: np.ndarray, + overlap_metric: OverlapMetric = OverlapMetric.IOU, +) -> np.ndarray: + """ + Compute Intersection over Union (IoU) of two sets of bounding boxes - + `boxes_true` and `boxes_detection`. Both sets + of boxes are expected to be in `(x_min, y_min, x_max, y_max)` format. + + Note: + Use `box_iou` when computing IoU between two individual boxes. + For comparing multiple boxes (arrays of boxes), use `box_iou_batch` for better + performance. + + Args: + boxes_true (np.ndarray): 2D `np.ndarray` representing ground-truth boxes. + `shape = (N, 4)` where `N` is number of true objects. + boxes_detection (np.ndarray): 2D `np.ndarray` representing detection boxes. + `shape = (M, 4)` where `M` is number of detected objects. + overlap_metric (OverlapMetric): Metric used for matching detections in slices. + + Returns: + np.ndarray: Pairwise IoU of boxes from `boxes_true` and `boxes_detection`. + `shape = (N, M)` where `N` is number of true objects and + `M` is number of detected objects. + + Examples: + ```python + import numpy as np + import supervision as sv + + boxes_true = np.array([ + [100, 100, 200, 200], + [300, 300, 400, 400] + ]) + boxes_detection = np.array([ + [150, 150, 250, 250], + [320, 320, 420, 420] + ]) + + sv.box_iou_batch(boxes_true=boxes_true, boxes_detection=boxes_detection) + # array([ + # [0.14285714, 0. ], + # [0. , 0.47058824] + # ]) + ``` + """ + + def box_area(box): + return (box[2] - box[0]) * (box[3] - box[1]) + + area_true = box_area(boxes_true.T) + area_detection = box_area(boxes_detection.T) + + top_left = np.maximum(boxes_true[:, None, :2], boxes_detection[:, :2]) + bottom_right = np.minimum(boxes_true[:, None, 2:], boxes_detection[:, 2:]) + + area_inter = np.prod(np.clip(bottom_right - top_left, a_min=0, a_max=None), 2) + + if overlap_metric == OverlapMetric.IOU: + union_area = area_true[:, None] + area_detection - area_inter + ious = np.divide( + area_inter, + union_area, + out=np.zeros_like(area_inter, dtype=float), + where=union_area != 0, + ) + elif overlap_metric == OverlapMetric.IOS: + small_area = np.minimum(area_true[:, None], area_detection) + ious = np.divide( + area_inter, + small_area, + out=np.zeros_like(area_inter, dtype=float), + where=small_area != 0, + ) + else: + raise ValueError( + f"overlap_metric {overlap_metric} is not supported, " + "only 'IOU' and 'IOS' are supported" + ) + + ious = np.nan_to_num(ious) + return ious + + +def _jaccard(box_a: list[float], box_b: list[float], is_crowd: bool) -> float: + """ + Calculate the Jaccard index (intersection over union) between two bounding boxes. + If a gt object is marked as "iscrowd", a dt is allowed to match any subregion + of the gt. Choosing gt'=intersect(dt,gt). Since by definition union(gt',dt)=dt, computing + iou(gt,dt,iscrowd) = iou(gt',dt) = area(intersect(gt,dt)) / area(dt) + + Args: + box_a (List[float]): Box coordinates in the format [x, y, width, height]. + box_b (List[float]): Box coordinates in the format [x, y, width, height]. + iscrowd (bool): Flag indicating if the second box is a crowd region or not. + + Returns: + float: Jaccard index between the two bounding boxes. + """ # noqa: E501 + # Smallest number to avoid division by zero + EPS = np.spacing(1) + + xa, ya, x2a, y2a = box_a[0], box_a[1], box_a[0] + box_a[2], box_a[1] + box_a[3] + xb, yb, x2b, y2b = box_b[0], box_b[1], box_b[0] + box_b[2], box_b[1] + box_b[3] + + # Innermost left x + xi = max(xa, xb) + # Innermost right x + x2i = min(x2a, x2b) + # Same for y + yi = max(ya, yb) + y2i = min(y2a, y2b) + + # Calculate areas + Aa = max(x2a - xa, 0.0) * max(y2a - ya, 0.0) + Ab = max(x2b - xb, 0.0) * max(y2b - yb, 0.0) + Ai = max(x2i - xi, 0.0) * max(y2i - yi, 0.0) + + if is_crowd: + return Ai / (Aa + EPS) + + return Ai / (Aa + Ab - Ai + EPS) + + +def box_iou_batch_with_jaccard( + boxes_true: list[list[float]], + boxes_detection: list[list[float]], + is_crowd: list[bool], +) -> np.ndarray: + """ + Calculate the intersection over union (IoU) between detection bounding boxes (dt) + and ground-truth bounding boxes (gt). + Reference: https://github.com/rafaelpadilla/review_object_detection_metrics + + Args: + boxes_true (List[List[float]]): List of ground-truth bounding boxes in the \ + format [x, y, width, height]. + boxes_detection (List[List[float]]): List of detection bounding boxes in the \ + format [x, y, width, height]. + is_crowd (List[bool]): List indicating if each ground-truth bounding box \ + is a crowd region or not. + + Returns: + np.ndarray: Array of IoU values of shape (len(dt), len(gt)). + + Examples: + ```python + import numpy as np + import supervision as sv + + boxes_true = [ + [10, 20, 30, 40], # x, y, w, h + [15, 25, 35, 45] + ] + boxes_detection = [ + [12, 22, 28, 38], + [16, 26, 36, 46] + ] + is_crowd = [False, False] + + ious = sv.box_iou_batch_with_jaccard( + boxes_true=boxes_true, + boxes_detection=boxes_detection, + is_crowd=is_crowd + ) + # array([ + # [0.8866..., 0.4960...], + # [0.4000..., 0.8622...] + # ]) + ``` + """ + assert len(is_crowd) == len(boxes_true), ( + "`is_crowd` must have the same length as `boxes_true`" + ) + if len(boxes_detection) == 0 or len(boxes_true) == 0: + return np.array([]) + ious = np.zeros((len(boxes_detection), len(boxes_true)), dtype=np.float64) + for g_idx, g in enumerate(boxes_true): + for d_idx, d in enumerate(boxes_detection): + ious[d_idx, g_idx] = _jaccard(d, g, is_crowd[g_idx]) + return ious + + +def oriented_box_iou_batch( + boxes_true: np.ndarray, boxes_detection: np.ndarray +) -> np.ndarray: + """ + Compute Intersection over Union (IoU) of two sets of oriented bounding boxes - + `boxes_true` and `boxes_detection`. Both sets of boxes are expected to be in + `((x1, y1), (x2, y2), (x3, y3), (x4, y4))` format. + + Args: + boxes_true (np.ndarray): a `np.ndarray` representing ground-truth boxes. + `shape = (N, 4, 2)` where `N` is number of true objects. + boxes_detection (np.ndarray): a `np.ndarray` representing detection boxes. + `shape = (M, 4, 2)` where `M` is number of detected objects. + + Returns: + np.ndarray: Pairwise IoU of boxes from `boxes_true` and `boxes_detection`. + `shape = (N, M)` where `N` is number of true objects and + `M` is number of detected objects. + """ + + boxes_true = boxes_true.reshape(-1, 4, 2) + boxes_detection = boxes_detection.reshape(-1, 4, 2) + + max_height = int(max(boxes_true[:, :, 0].max(), boxes_detection[:, :, 0].max()) + 1) + # adding 1 because we are 0-indexed + max_width = int(max(boxes_true[:, :, 1].max(), boxes_detection[:, :, 1].max()) + 1) + + mask_true = np.zeros((boxes_true.shape[0], max_height, max_width)) + for i, box_true in enumerate(boxes_true): + mask_true[i] = polygon_to_mask(box_true, (max_width, max_height)) + + mask_detection = np.zeros((boxes_detection.shape[0], max_height, max_width)) + for i, box_detection in enumerate(boxes_detection): + mask_detection[i] = polygon_to_mask(box_detection, (max_width, max_height)) + + ious = mask_iou_batch(mask_true, mask_detection) + return ious + + +def _mask_iou_batch_split( + masks_true: np.ndarray, + masks_detection: np.ndarray, + overlap_metric: OverlapMetric = OverlapMetric.IOU, +) -> np.ndarray: + """ + Internal function. + Compute Intersection over Union (IoU) of two sets of masks - + `masks_true` and `masks_detection`. + + Args: + masks_true (np.ndarray): 3D `np.ndarray` representing ground-truth masks. + masks_detection (np.ndarray): 3D `np.ndarray` representing detection masks. + overlap_metric (OverlapMetric): Metric used for matching detections in slices. + + Returns: + np.ndarray: Pairwise IoU of masks from `masks_true` and `masks_detection`. + """ + intersection_area = np.logical_and(masks_true[:, None], masks_detection).sum( + axis=(2, 3) + ) + + masks_true_area = masks_true.sum(axis=(1, 2)) # (area1, area2, ...) + masks_detection_area = masks_detection.sum(axis=(1, 2)) # (area1) + + if overlap_metric == OverlapMetric.IOU: + union_area = masks_true_area[:, None] + masks_detection_area - intersection_area + ious = np.divide( + intersection_area, + union_area, + out=np.zeros_like(intersection_area, dtype=float), + where=union_area != 0, + ) + elif overlap_metric == OverlapMetric.IOS: + # ios = intersection_area / min(area1, area2) + small_area = np.minimum(masks_true_area[:, None], masks_detection_area) + ious = np.divide( + intersection_area, + small_area, + out=np.zeros_like(intersection_area, dtype=float), + where=small_area != 0, + ) + else: + raise ValueError( + f"overlap_metric {overlap_metric} is not supported, " + "only 'IOU' and 'IOS' are supported" + ) + + ious = np.nan_to_num(ious) + return ious + + +def mask_iou_batch( + masks_true: np.ndarray, + masks_detection: np.ndarray, + overlap_metric: OverlapMetric = OverlapMetric.IOU, + memory_limit: int = 1024 * 5, +) -> np.ndarray: + """ + Compute Intersection over Union (IoU) of two sets of masks - + `masks_true` and `masks_detection`. + + Args: + masks_true (np.ndarray): 3D `np.ndarray` representing ground-truth masks. + masks_detection (np.ndarray): 3D `np.ndarray` representing detection masks. + overlap_metric (OverlapMetric): Metric used for matching detections in slices. + memory_limit (int): memory limit in MB, default is 1024 * 5 MB (5GB). + + Returns: + np.ndarray: Pairwise IoU of masks from `masks_true` and `masks_detection`. + """ + memory = ( + masks_true.shape[0] + * masks_true.shape[1] + * masks_true.shape[2] + * masks_detection.shape[0] + / 1024 + / 1024 + ) + if memory <= memory_limit: + return _mask_iou_batch_split(masks_true, masks_detection, overlap_metric) + + ious = [] + step = max( + memory_limit + * 1024 + * 1024 + // ( + masks_detection.shape[0] + * masks_detection.shape[1] + * masks_detection.shape[2] + ), + 1, + ) + for i in range(0, masks_true.shape[0], step): + ious.append( + _mask_iou_batch_split( + masks_true[i : i + step], masks_detection, overlap_metric + ) + ) + + return np.vstack(ious) + + +def mask_non_max_suppression( + predictions: np.ndarray, + masks: np.ndarray, + iou_threshold: float = 0.5, + overlap_metric: OverlapMetric = OverlapMetric.IOU, + mask_dimension: int = 640, +) -> np.ndarray: + """ + Perform Non-Maximum Suppression (NMS) on segmentation predictions. + + Args: + predictions (np.ndarray): A 2D array of object detection predictions in + the format of `(x_min, y_min, x_max, y_max, score)` + or `(x_min, y_min, x_max, y_max, score, class)`. Shape: `(N, 5)` or + `(N, 6)`, where N is the number of predictions. + masks (np.ndarray): A 3D array of binary masks corresponding to the predictions. + Shape: `(N, H, W)`, where N is the number of predictions, and H, W are the + dimensions of each mask. + iou_threshold (float): The intersection-over-union threshold + to use for non-maximum suppression. + overlap_metric (OverlapMetric): Metric used for matching detections in slices. + mask_dimension (int): The dimension to which the masks should be + resized before computing IOU values. Defaults to 640. + + Returns: + np.ndarray: A boolean array indicating which predictions to keep after + non-maximum suppression. + + Raises: + AssertionError: If `iou_threshold` is not within the closed + range from `0` to `1`. + """ + assert 0 <= iou_threshold <= 1, ( + "Value of `iou_threshold` must be in the closed range from 0 to 1, " + f"{iou_threshold} given." + ) + rows, columns = predictions.shape + + if columns == 5: + predictions = np.c_[predictions, np.zeros(rows)] + + sort_index = predictions[:, 4].argsort()[::-1] + predictions = predictions[sort_index] + masks = masks[sort_index] + masks_resized = resize_masks(masks, mask_dimension) + ious = mask_iou_batch(masks_resized, masks_resized, overlap_metric) + categories = predictions[:, 5] + + keep = np.ones(rows, dtype=bool) + for i in range(rows): + if keep[i]: + condition = (ious[i] > iou_threshold) & (categories[i] == categories) + keep[i + 1 :] = np.where(condition[i + 1 :], False, keep[i + 1 :]) + + return keep[sort_index.argsort()] + + +def box_non_max_suppression( + predictions: np.ndarray, + iou_threshold: float = 0.5, + overlap_metric: OverlapMetric = OverlapMetric.IOU, +) -> np.ndarray: + """ + Perform Non-Maximum Suppression (NMS) on object detection predictions. + + Args: + predictions (np.ndarray): An array of object detection predictions in + the format of `(x_min, y_min, x_max, y_max, score)` + or `(x_min, y_min, x_max, y_max, score, class)`. + iou_threshold (float): The intersection-over-union threshold + to use for non-maximum suppression. + overlap_metric (OverlapMetric): Metric used for matching detections in slices. + + Returns: + np.ndarray: A boolean array indicating which predictions to keep after n + on-maximum suppression. + + Raises: + AssertionError: If `iou_threshold` is not within the + closed range from `0` to `1`. + """ + assert 0 <= iou_threshold <= 1, ( + "Value of `iou_threshold` must be in the closed range from 0 to 1, " + f"{iou_threshold} given." + ) + rows, columns = predictions.shape + + # add column #5 - category filled with zeros for agnostic nms + if columns == 5: + predictions = np.c_[predictions, np.zeros(rows)] + + # sort predictions column #4 - score + sort_index = np.flip(predictions[:, 4].argsort()) + predictions = predictions[sort_index] + + boxes = predictions[:, :4] + categories = predictions[:, 5] + ious = box_iou_batch(boxes, boxes, overlap_metric) + ious = ious - np.eye(rows) + + keep = np.ones(rows, dtype=bool) + + for index, (iou, category) in enumerate(zip(ious, categories)): + if not keep[index]: + continue + + # drop detections with iou > iou_threshold and + # same category as current detections + condition = (iou > iou_threshold) & (categories == category) + keep = keep & ~condition + + return keep[sort_index.argsort()] + + +def _group_overlapping_masks( + predictions: npt.NDArray[np.float64], + masks: npt.NDArray[np.float64], + iou_threshold: float = 0.5, + overlap_metric: OverlapMetric = OverlapMetric.IOU, +) -> list[list[int]]: + """ + Apply greedy version of non-maximum merging to avoid detecting too many + + Args: + predictions (npt.NDArray[np.float64]): An array of shape `(n, 5)` containing + the bounding boxes coordinates in format `[x1, y1, x2, y2]` + and the confidence scores. + masks (npt.NDArray[np.float64]): A 3D array of binary masks corresponding to + the predictions. + iou_threshold (float): The intersection-over-union threshold + to use for non-maximum suppression. Defaults to 0.5. + overlap_metric (OverlapMetric): Metric used for matching detections in slices. + + Returns: + list[list[int]]: Groups of prediction indices be merged. + Each group may have 1 or more elements. + """ + merge_groups: list[list[int]] = [] + + scores = predictions[:, 4] + order = scores.argsort() + + while len(order) > 0: + idx = int(order[-1]) + + order = order[:-1] + if len(order) == 0: + merge_groups.append([idx]) + break + + merge_candidate = masks[idx][None, ...] + candidate_groups = [idx] + while len(order) > 0: + ious = mask_iou_batch(masks[order], merge_candidate, overlap_metric) + above_threshold: np.ndarray = ious.flatten() >= iou_threshold + if not above_threshold.any(): + break + above_idx = order[above_threshold] + merge_candidate = np.logical_or.reduce( + np.concatenate([masks[above_idx], merge_candidate]), + axis=0, + keepdims=True, + ) + candidate_groups.extend(np.flip(above_idx).tolist()) + order = order[~above_threshold] + + merge_groups.append(candidate_groups) + return merge_groups + + +def mask_non_max_merge( + predictions: np.ndarray, + masks: np.ndarray, + iou_threshold: float = 0.5, + mask_dimension: int = 640, + overlap_metric: OverlapMetric = OverlapMetric.IOU, +) -> list[list[int]]: + """ + Perform Non-Maximum Merging (NMM) on segmentation predictions. + + Args: + predictions (np.ndarray): A 2D array of object detection predictions in + the format of `(x_min, y_min, x_max, y_max, score)` + or `(x_min, y_min, x_max, y_max, score, class)`. Shape: `(N, 5)` or + `(N, 6)`, where N is the number of predictions. + masks (np.ndarray): A 3D array of binary masks corresponding to the predictions. + Shape: `(N, H, W)`, where N is the number of predictions, and H, W are the + dimensions of each mask. + iou_threshold (float): The intersection-over-union threshold + to use for non-maximum suppression. + mask_dimension (int): The dimension to which the masks should be + resized before computing IOU values. Defaults to 640. + overlap_metric (OverlapMetric): Metric used for matching detections in slices. + + Returns: + np.ndarray: A boolean array indicating which predictions to keep after + non-maximum suppression. + + Raises: + AssertionError: If `iou_threshold` is not within the closed + range from `0` to `1`. + """ + masks_resized = resize_masks(masks, mask_dimension) + if predictions.shape[1] == 5: + return _group_overlapping_masks( + predictions, masks_resized, iou_threshold, overlap_metric + ) + + category_ids = predictions[:, 5] + merge_groups = [] + for category_id in np.unique(category_ids): + curr_indices = np.where(category_ids == category_id)[0] + merge_class_groups = _group_overlapping_masks( + predictions[curr_indices], + masks_resized[curr_indices], + iou_threshold, + overlap_metric, + ) + + for merge_class_group in merge_class_groups: + merge_groups.append(curr_indices[merge_class_group].tolist()) + + for merge_group in merge_groups: + if len(merge_group) == 0: + raise ValueError( + f"Empty group detected when non-max-merging detections: {merge_groups}" + ) + return merge_groups + + +def _group_overlapping_boxes( + predictions: npt.NDArray[np.float64], + iou_threshold: float = 0.5, + overlap_metric: OverlapMetric = OverlapMetric.IOU, +) -> list[list[int]]: + """ + Apply greedy version of non-maximum merging to avoid detecting too many + overlapping bounding boxes for a given object. + + Args: + predictions (npt.NDArray[np.float64]): An array of shape `(n, 5)` containing + the bounding boxes coordinates in format `[x1, y1, x2, y2]` + and the confidence scores. + iou_threshold (float): The intersection-over-union threshold + to use for non-maximum suppression. Defaults to 0.5. + overlap_metric (OverlapMetric): Metric used for matching detections in slices. + + Returns: + list[list[int]]: Groups of prediction indices be merged. + Each group may have 1 or more elements. + """ + merge_groups: list[list[int]] = [] + + scores = predictions[:, 4] + order = scores.argsort() + + while len(order) > 0: + idx = int(order[-1]) + + order = order[:-1] + if len(order) == 0: + merge_groups.append([idx]) + break + + merge_candidate = np.expand_dims(predictions[idx], axis=0) + ious = box_iou_batch( + predictions[order][:, :4], merge_candidate[:, :4], overlap_metric + ) + ious = ious.flatten() + + above_threshold = ious >= iou_threshold + merge_group = [idx, *np.flip(order[above_threshold]).tolist()] + merge_groups.append(merge_group) + order = order[~above_threshold] + return merge_groups + + +def box_non_max_merge( + predictions: npt.NDArray[np.float64], + iou_threshold: float = 0.5, + overlap_metric: OverlapMetric = OverlapMetric.IOU, +) -> list[list[int]]: + """ + Apply greedy version of non-maximum merging per category to avoid detecting + too many overlapping bounding boxes for a given object. + + Args: + predictions (npt.NDArray[np.float64]): An array of shape `(n, 5)` or `(n, 6)` + containing the bounding boxes coordinates in format `[x1, y1, x2, y2]`, + the confidence scores and class_ids. Omit class_id column to allow + detections of different classes to be merged. + iou_threshold (float): The intersection-over-union threshold + to use for non-maximum suppression. Defaults to 0.5. + overlap_metric (OverlapMetric): Metric used for matching detections in slices. + + Returns: + list[list[int]]: Groups of prediction indices be merged. + Each group may have 1 or more elements. + """ + if predictions.shape[1] == 5: + return _group_overlapping_boxes(predictions, iou_threshold, overlap_metric) + + category_ids = predictions[:, 5] + merge_groups = [] + for category_id in np.unique(category_ids): + curr_indices = np.where(category_ids == category_id)[0] + merge_class_groups = _group_overlapping_boxes( + predictions[curr_indices], iou_threshold, overlap_metric + ) + + for merge_class_group in merge_class_groups: + merge_groups.append(curr_indices[merge_class_group].tolist()) + + for merge_group in merge_groups: + if len(merge_group) == 0: + raise ValueError( + f"Empty group detected when non-max-merging detections: {merge_groups}" + ) + return merge_groups diff --git a/supervision/detection/utils/masks.py b/supervision/detection/utils/masks.py new file mode 100644 index 0000000000..f2063a884c --- /dev/null +++ b/supervision/detection/utils/masks.py @@ -0,0 +1,260 @@ +import cv2 +import numpy as np +import numpy.typing as npt + + +def move_masks( + masks: npt.NDArray[np.bool_], + offset: npt.NDArray[np.int32], + resolution_wh: tuple[int, int], +) -> npt.NDArray[np.bool_]: + """ + Offset the masks in an array by the specified (x, y) amount. + + Args: + masks (npt.NDArray[np.bool_]): A 3D array of binary masks corresponding to the + predictions. Shape: `(N, H, W)`, where N is the number of predictions, and + H, W are the dimensions of each mask. + offset (npt.NDArray[np.int32]): An array of shape `(2,)` containing int values + `[dx, dy]`. Supports both positive and negative values for bidirectional + movement. + resolution_wh (Tuple[int, int]): The width and height of the desired mask + resolution. + + Returns: + (npt.NDArray[np.bool_]) repositioned masks, optionally padded to the specified + shape. + + Examples: + ```python + import numpy as np + import supervision as sv + + mask = np.array([[[False, False, False, False], + [False, True, True, False], + [False, True, True, False], + [False, False, False, False]]], dtype=bool) + + offset = np.array([1, 1]) + sv.move_masks(mask, offset, resolution_wh=(4, 4)) + # array([[[False, False, False, False], + # [False, False, False, False], + # [False, False, True, True], + # [False, False, True, True]]], dtype=bool) + + offset = np.array([-2, 2]) + sv.move_masks(mask, offset, resolution_wh=(4, 4)) + # array([[[False, False, False, False], + # [False, False, False, False], + # [False, False, False, False], + # [True, False, False, False]]], dtype=bool) + ``` + """ + mask_array = np.full((masks.shape[0], resolution_wh[1], resolution_wh[0]), False) + + if offset[0] < 0: + source_x_start = -offset[0] + source_x_end = min(masks.shape[2], resolution_wh[0] - offset[0]) + destination_x_start = 0 + destination_x_end = min(resolution_wh[0], masks.shape[2] + offset[0]) + else: + source_x_start = 0 + source_x_end = min(masks.shape[2], resolution_wh[0] - offset[0]) + destination_x_start = offset[0] + destination_x_end = offset[0] + source_x_end - source_x_start + + if offset[1] < 0: + source_y_start = -offset[1] + source_y_end = min(masks.shape[1], resolution_wh[1] - offset[1]) + destination_y_start = 0 + destination_y_end = min(resolution_wh[1], masks.shape[1] + offset[1]) + else: + source_y_start = 0 + source_y_end = min(masks.shape[1], resolution_wh[1] - offset[1]) + destination_y_start = offset[1] + destination_y_end = offset[1] + source_y_end - source_y_start + + if source_x_end > source_x_start and source_y_end > source_y_start: + mask_array[ + :, + destination_y_start:destination_y_end, + destination_x_start:destination_x_end, + ] = masks[:, source_y_start:source_y_end, source_x_start:source_x_end] + + return mask_array + + +def calculate_masks_centroids(masks: np.ndarray) -> np.ndarray: + """ + Calculate the centroids of binary masks in a tensor. + + Parameters: + masks (np.ndarray): A 3D NumPy array of shape (num_masks, height, width). + Each 2D array in the tensor represents a binary mask. + + Returns: + A 2D NumPy array of shape (num_masks, 2), where each row contains the x and y + coordinates (in that order) of the centroid of the corresponding mask. + """ + num_masks, height, width = masks.shape + total_pixels = masks.sum(axis=(1, 2)) + + # offset for 1-based indexing + vertical_indices, horizontal_indices = np.indices((height, width)) + 0.5 + # avoid division by zero for empty masks + total_pixels[total_pixels == 0] = 1 + + def sum_over_mask(indices: np.ndarray, axis: tuple) -> np.ndarray: + return np.tensordot(masks, indices, axes=axis) + + aggregation_axis = ([1, 2], [0, 1]) + centroid_x = sum_over_mask(horizontal_indices, aggregation_axis) / total_pixels + centroid_y = sum_over_mask(vertical_indices, aggregation_axis) / total_pixels + + return np.column_stack((centroid_x, centroid_y)).astype(int) + + +def contains_holes(mask: npt.NDArray[np.bool_]) -> bool: + """ + Checks if the binary mask contains holes (background pixels fully enclosed by + foreground pixels). + + Args: + mask (npt.NDArray[np.bool_]): 2D binary mask where `True` indicates foreground + object and `False` indicates background. + + Returns: + True if holes are detected, False otherwise. + + Examples: + ```python + import numpy as np + import supervision as sv + + mask = np.array([ + [0, 0, 0, 0, 0], + [0, 1, 1, 1, 0], + [0, 1, 0, 1, 0], + [0, 1, 1, 1, 0], + [0, 0, 0, 0, 0] + ]).astype(bool) + + sv.contains_holes(mask=mask) + # True + + mask = np.array([ + [0, 0, 0, 0, 0], + [0, 1, 1, 1, 0], + [0, 1, 1, 1, 0], + [0, 1, 1, 1, 0], + [0, 0, 0, 0, 0] + ]).astype(bool) + + sv.contains_holes(mask=mask) + # False + ``` + + ![contains_holes](https://media.roboflow.com/supervision-docs/contains-holes.png){ align=center width="800" } + """ # noqa E501 // docs + mask_uint8 = mask.astype(np.uint8) + _, hierarchy = cv2.findContours(mask_uint8, cv2.RETR_CCOMP, cv2.CHAIN_APPROX_SIMPLE) + + if hierarchy is not None: + parent_contour_index = 3 + for h in hierarchy[0]: + if h[parent_contour_index] != -1: + return True + return False + + +def contains_multiple_segments( + mask: npt.NDArray[np.bool_], connectivity: int = 4 +) -> bool: + """ + Checks if the binary mask contains multiple unconnected foreground segments. + + Args: + mask (npt.NDArray[np.bool_]): 2D binary mask where `True` indicates foreground + object and `False` indicates background. + connectivity (int) : Default: 4 is 4-way connectivity, which means that + foreground pixels are the part of the same segment/component + if their edges touch. + Alternatively: 8 for 8-way connectivity, when foreground pixels are + connected by their edges or corners touch. + + Returns: + True when the mask contains multiple not connected components, False otherwise. + + Raises: + ValueError: If connectivity(int) parameter value is not 4 or 8. + + Examples: + ```python + import numpy as np + import supervision as sv + + mask = np.array([ + [0, 0, 0, 0, 0, 0], + [0, 1, 1, 0, 1, 1], + [0, 1, 1, 0, 1, 1], + [0, 0, 0, 0, 0, 0], + [0, 1, 1, 1, 0, 0], + [0, 1, 1, 1, 0, 0] + ]).astype(bool) + + sv.contains_multiple_segments(mask=mask, connectivity=4) + # True + + mask = np.array([ + [0, 0, 0, 0, 0, 0], + [0, 1, 1, 1, 1, 1], + [0, 1, 1, 1, 1, 1], + [0, 1, 1, 1, 1, 1], + [0, 1, 1, 1, 1, 1], + [0, 0, 0, 0, 0, 0] + ]).astype(bool) + + sv.contains_multiple_segments(mask=mask, connectivity=4) + # False + ``` + + ![contains_multiple_segments](https://media.roboflow.com/supervision-docs/contains-multiple-segments.png){ align=center width="800" } + """ # noqa E501 // docs + if connectivity != 4 and connectivity != 8: + raise ValueError( + "Incorrect connectivity value. Possible connectivity values: 4 or 8." + ) + mask_uint8 = mask.astype(np.uint8) + labels = np.zeros_like(mask_uint8, dtype=np.int32) + number_of_labels, _ = cv2.connectedComponents( + mask_uint8, labels, connectivity=connectivity + ) + return number_of_labels > 2 + + +def resize_masks(masks: np.ndarray, max_dimension: int = 640) -> np.ndarray: + """ + Resize all masks in the array to have a maximum dimension of max_dimension, + maintaining aspect ratio. + + Args: + masks (np.ndarray): 3D array of binary masks with shape (N, H, W). + max_dimension (int): The maximum dimension for the resized masks. + + Returns: + np.ndarray: Array of resized masks. + """ + max_height = np.max(masks.shape[1]) + max_width = np.max(masks.shape[2]) + scale = min(max_dimension / max_height, max_dimension / max_width) + + new_height = int(scale * max_height) + new_width = int(scale * max_width) + + x = np.linspace(0, max_width - 1, new_width).astype(int) + y = np.linspace(0, max_height - 1, new_height).astype(int) + xv, yv = np.meshgrid(x, y) + + resized_masks = masks[:, yv, xv] + + return resized_masks.reshape(masks.shape[0], new_height, new_width) diff --git a/supervision/detection/utils/polygons.py b/supervision/detection/utils/polygons.py new file mode 100644 index 0000000000..3998e70055 --- /dev/null +++ b/supervision/detection/utils/polygons.py @@ -0,0 +1,85 @@ +import cv2 +import numpy as np + + +def filter_polygons_by_area( + polygons: list[np.ndarray], + min_area: float | None = None, + max_area: float | None = None, +) -> list[np.ndarray]: + """ + Filters a list of polygons based on their area. + + Parameters: + polygons (List[np.ndarray]): A list of polygons, where each polygon is + represented by a NumPy array of shape `(N, 2)`, + containing the `x`, `y` coordinates of the points. + min_area (Optional[float]): The minimum area threshold. + Only polygons with an area greater than or equal to this value + will be included in the output. If set to None, + no minimum area constraint will be applied. + max_area (Optional[float]): The maximum area threshold. + Only polygons with an area less than or equal to this value + will be included in the output. If set to None, + no maximum area constraint will be applied. + + Returns: + List[np.ndarray]: A new list of polygons containing only those with + areas within the specified thresholds. + """ + if min_area is None and max_area is None: + return polygons + ares = [cv2.contourArea(polygon) for polygon in polygons] + return [ + polygon + for polygon, area in zip(polygons, ares) + if (min_area is None or area >= min_area) + and (max_area is None or area <= max_area) + ] + + +def approximate_polygon( + polygon: np.ndarray, percentage: float, epsilon_step: float = 0.05 +) -> np.ndarray: + """ + Approximates a given polygon by reducing a certain percentage of points. + + This function uses the Ramer-Douglas-Peucker algorithm to simplify the input + polygon by reducing the number of points + while preserving the general shape. + + Parameters: + polygon (np.ndarray): A 2D NumPy array of shape `(N, 2)` containing + the `x`, `y` coordinates of the input polygon's points. + percentage (float): The percentage of points to be removed from the + input polygon, in the range `[0, 1)`. + epsilon_step (float): Approximation accuracy step. + Epsilon is the maximum distance between the original curve + and its approximation. + + Returns: + np.ndarray: A new 2D NumPy array of shape `(M, 2)`, + where `M <= N * (1 - percentage)`, containing + the `x`, `y` coordinates of the + approximated polygon's points. + """ + + if percentage < 0 or percentage >= 1: + raise ValueError("Percentage must be in the range [0, 1).") + + target_points = max(int(len(polygon) * (1 - percentage)), 3) + + if len(polygon) <= target_points: + return polygon + + epsilon = 0 + approximated_points = polygon + while True: + epsilon += epsilon_step + new_approximated_points = cv2.approxPolyDP(polygon, epsilon, closed=True) + if len(new_approximated_points) > target_points: + approximated_points = new_approximated_points + else: + break + + return np.squeeze(approximated_points, axis=1) \ No newline at end of file diff --git a/supervision/detection/vlm.py b/supervision/detection/vlm.py index 3adec2bcf6..d6f293afdc 100644 --- a/supervision/detection/vlm.py +++ b/supervision/detection/vlm.py @@ -10,11 +10,8 @@ import numpy as np from PIL import Image -from supervision.detection.utils import ( - denormalize_boxes, - polygon_to_mask, - polygon_to_xyxy, -) +from supervision.detection.utils.boxes import denormalize_boxes +from supervision.detection.utils.converters import polygon_to_mask, polygon_to_xyxy from supervision.utils.internal import deprecated from supervision.validators import validate_resolution diff --git a/supervision/keypoint/annotators.py b/supervision/keypoint/annotators.py index 5d74ea11ce..d83d7d5e0f 100644 --- a/supervision/keypoint/annotators.py +++ b/supervision/keypoint/annotators.py @@ -7,7 +7,7 @@ import numpy as np from supervision.annotators.base import ImageType -from supervision.detection.utils import pad_boxes, spread_out_boxes +from supervision.detection.utils.boxes import pad_boxes, spread_out_boxes from supervision.draw.color import Color from supervision.draw.utils import draw_rounded_rectangle from supervision.geometry.core import Rect diff --git a/supervision/keypoint/core.py b/supervision/keypoint/core.py index 89bfe0b88f..0d57c56183 100644 --- a/supervision/keypoint/core.py +++ b/supervision/keypoint/core.py @@ -9,7 +9,7 @@ from supervision.config import CLASS_NAME_DATA_FIELD from supervision.detection.core import Detections -from supervision.detection.utils import get_data_item, is_data_equal +from supervision.detection.utils.internal import get_data_item, is_data_equal from supervision.validators import validate_keypoints_fields diff --git a/supervision/metrics/detection.py b/supervision/metrics/detection.py index 1a55de55f8..438b6a8020 100644 --- a/supervision/metrics/detection.py +++ b/supervision/metrics/detection.py @@ -9,7 +9,7 @@ from supervision.dataset.core import DetectionDataset from supervision.detection.core import Detections -from supervision.detection.utils import box_iou_batch +from supervision.detection.utils.iou_and_nms import box_iou_batch def detections_to_tensor( diff --git a/supervision/metrics/f1_score.py b/supervision/metrics/f1_score.py index 193eb91575..c68ebbad39 100644 --- a/supervision/metrics/f1_score.py +++ b/supervision/metrics/f1_score.py @@ -9,11 +9,9 @@ from supervision.config import ORIENTED_BOX_COORDINATES from supervision.detection.core import Detections -from supervision.detection.utils import ( - box_iou_batch, - mask_iou_batch, - oriented_box_iou_batch, -) +from supervision.detection.utils.iou_and_nms import box_iou_batch, mask_iou_batch, \ + oriented_box_iou_batch + from supervision.draw.color import LEGACY_COLOR_PALETTE from supervision.metrics.core import AveragingMethod, Metric, MetricTarget from supervision.metrics.utils.object_size import ( diff --git a/supervision/metrics/mean_average_recall.py b/supervision/metrics/mean_average_recall.py index 37aa2d4e6a..b96582d9ef 100644 --- a/supervision/metrics/mean_average_recall.py +++ b/supervision/metrics/mean_average_recall.py @@ -9,11 +9,9 @@ from supervision.config import ORIENTED_BOX_COORDINATES from supervision.detection.core import Detections -from supervision.detection.utils import ( - box_iou_batch, - mask_iou_batch, - oriented_box_iou_batch, -) +from supervision.detection.utils.iou_and_nms import box_iou_batch, mask_iou_batch, \ + oriented_box_iou_batch + from supervision.draw.color import LEGACY_COLOR_PALETTE from supervision.metrics.core import Metric, MetricTarget from supervision.metrics.utils.object_size import ( diff --git a/supervision/metrics/precision.py b/supervision/metrics/precision.py index e77b78eb6e..4916094adf 100644 --- a/supervision/metrics/precision.py +++ b/supervision/metrics/precision.py @@ -9,11 +9,8 @@ from supervision.config import ORIENTED_BOX_COORDINATES from supervision.detection.core import Detections -from supervision.detection.utils import ( - box_iou_batch, - mask_iou_batch, - oriented_box_iou_batch, -) +from supervision.detection.utils.iou_and_nms import box_iou_batch, mask_iou_batch, \ + oriented_box_iou_batch from supervision.draw.color import LEGACY_COLOR_PALETTE from supervision.metrics.core import AveragingMethod, Metric, MetricTarget from supervision.metrics.utils.object_size import ( diff --git a/supervision/metrics/recall.py b/supervision/metrics/recall.py index 1e1ae3e04d..582eb8bad5 100644 --- a/supervision/metrics/recall.py +++ b/supervision/metrics/recall.py @@ -9,11 +9,9 @@ from supervision.config import ORIENTED_BOX_COORDINATES from supervision.detection.core import Detections -from supervision.detection.utils import ( - box_iou_batch, - mask_iou_batch, - oriented_box_iou_batch, -) +from supervision.detection.utils.iou_and_nms import box_iou_batch, mask_iou_batch, \ + oriented_box_iou_batch + from supervision.draw.color import LEGACY_COLOR_PALETTE from supervision.metrics.core import AveragingMethod, Metric, MetricTarget from supervision.metrics.utils.object_size import ( diff --git a/supervision/tracker/byte_tracker/core.py b/supervision/tracker/byte_tracker/core.py index 7b5067636d..9c75299eeb 100644 --- a/supervision/tracker/byte_tracker/core.py +++ b/supervision/tracker/byte_tracker/core.py @@ -1,7 +1,7 @@ import numpy as np from supervision.detection.core import Detections -from supervision.detection.utils import box_iou_batch +from supervision.detection.utils.iou_and_nms import box_iou_batch from supervision.tracker.byte_tracker import matching from supervision.tracker.byte_tracker.kalman_filter import KalmanFilter from supervision.tracker.byte_tracker.single_object_track import STrack, TrackState diff --git a/supervision/tracker/byte_tracker/matching.py b/supervision/tracker/byte_tracker/matching.py index 5850dc9ed4..bdd8196e1f 100644 --- a/supervision/tracker/byte_tracker/matching.py +++ b/supervision/tracker/byte_tracker/matching.py @@ -5,7 +5,7 @@ import numpy as np from scipy.optimize import linear_sum_assignment -from supervision.detection.utils import box_iou_batch +from supervision.detection.utils.iou_and_nms import box_iou_batch if TYPE_CHECKING: from supervision.tracker.byte_tracker.core import STrack diff --git a/test/detection/test_utils.py b/test/detection/test_utils.py deleted file mode 100644 index eb76b996f8..0000000000 --- a/test/detection/test_utils.py +++ /dev/null @@ -1,1642 +0,0 @@ -from __future__ import annotations - -from contextlib import ExitStack as DoesNotRaise -from typing import Any - -import numpy as np -import numpy.typing as npt -import pytest - -from supervision.config import CLASS_NAME_DATA_FIELD -from supervision.detection.utils import ( - calculate_masks_centroids, - clip_boxes, - contains_holes, - contains_multiple_segments, - filter_polygons_by_area, - get_data_item, - merge_data, - merge_metadata, - move_boxes, - move_masks, - process_roboflow_result, - scale_boxes, - xcycwh_to_xyxy, - xywh_to_xyxy, - xyxy_to_xcycarh, - xyxy_to_xywh, -) - -TEST_MASK = np.zeros((1, 1000, 1000), dtype=bool) -TEST_MASK[:, 300:351, 200:251] = True - - -@pytest.mark.parametrize( - "xyxy, resolution_wh, expected_result", - [ - ( - np.empty(shape=(0, 4)), - (1280, 720), - np.empty(shape=(0, 4)), - ), - ( - np.array([[1.0, 1.0, 1279.0, 719.0]]), - (1280, 720), - np.array([[1.0, 1.0, 1279.0, 719.0]]), - ), - ( - np.array([[-1.0, 1.0, 1279.0, 719.0]]), - (1280, 720), - np.array([[0.0, 1.0, 1279.0, 719.0]]), - ), - ( - np.array([[1.0, -1.0, 1279.0, 719.0]]), - (1280, 720), - np.array([[1.0, 0.0, 1279.0, 719.0]]), - ), - ( - np.array([[1.0, 1.0, 1281.0, 719.0]]), - (1280, 720), - np.array([[1.0, 1.0, 1280.0, 719.0]]), - ), - ( - np.array([[1.0, 1.0, 1279.0, 721.0]]), - (1280, 720), - np.array([[1.0, 1.0, 1279.0, 720.0]]), - ), - ], -) -def test_clip_boxes( - xyxy: np.ndarray, - resolution_wh: tuple[int, int], - expected_result: np.ndarray, -) -> None: - result = clip_boxes(xyxy=xyxy, resolution_wh=resolution_wh) - assert np.array_equal(result, expected_result) - - -@pytest.mark.parametrize( - "polygons, min_area, max_area, expected_result, exception", - [ - ( - [np.array([[0, 0], [0, 10], [10, 10], [10, 0]])], - None, - None, - [np.array([[0, 0], [0, 10], [10, 10], [10, 0]])], - DoesNotRaise(), - ), # single polygon without area constraints - ( - [np.array([[0, 0], [0, 10], [10, 10], [10, 0]])], - 50, - None, - [np.array([[0, 0], [0, 10], [10, 10], [10, 0]])], - DoesNotRaise(), - ), # single polygon with min_area constraint - ( - [np.array([[0, 0], [0, 10], [10, 10], [10, 0]])], - None, - 50, - [], - DoesNotRaise(), - ), # single polygon with max_area constraint - ( - [ - np.array([[0, 0], [0, 10], [10, 10], [10, 0]]), - np.array([[0, 0], [0, 20], [20, 20], [20, 0]]), - ], - 200, - None, - [np.array([[0, 0], [0, 20], [20, 20], [20, 0]])], - DoesNotRaise(), - ), # two polygons with min_area constraint - ( - [ - np.array([[0, 0], [0, 10], [10, 10], [10, 0]]), - np.array([[0, 0], [0, 20], [20, 20], [20, 0]]), - ], - None, - 200, - [np.array([[0, 0], [0, 10], [10, 10], [10, 0]])], - DoesNotRaise(), - ), # two polygons with max_area constraint - ( - [ - np.array([[0, 0], [0, 10], [10, 10], [10, 0]]), - np.array([[0, 0], [0, 20], [20, 20], [20, 0]]), - ], - 200, - 200, - [], - DoesNotRaise(), - ), # two polygons with both area constraints - ( - [ - np.array([[0, 0], [0, 10], [10, 10], [10, 0]]), - np.array([[0, 0], [0, 20], [20, 20], [20, 0]]), - ], - 100, - 100, - [np.array([[0, 0], [0, 10], [10, 10], [10, 0]])], - DoesNotRaise(), - ), # two polygons with min_area and - # max_area equal to the area of the first polygon - ( - [ - np.array([[0, 0], [0, 10], [10, 10], [10, 0]]), - np.array([[0, 0], [0, 20], [20, 20], [20, 0]]), - ], - 400, - 400, - [np.array([[0, 0], [0, 20], [20, 20], [20, 0]])], - DoesNotRaise(), - ), # two polygons with min_area and - # max_area equal to the area of the second polygon - ], -) -def test_filter_polygons_by_area( - polygons: list[np.ndarray], - min_area: float | None, - max_area: float | None, - expected_result: list[np.ndarray], - exception: Exception, -) -> None: - with exception: - result = filter_polygons_by_area( - polygons=polygons, min_area=min_area, max_area=max_area - ) - assert len(result) == len(expected_result) - for result_polygon, expected_result_polygon in zip(result, expected_result): - assert np.array_equal(result_polygon, expected_result_polygon) - - -@pytest.mark.parametrize( - "roboflow_result, expected_result, exception", - [ - ( - {"predictions": [], "image": {"width": 1000, "height": 1000}}, - ( - np.empty((0, 4)), - np.empty(0), - np.empty(0), - None, - None, - {CLASS_NAME_DATA_FIELD: np.empty(0)}, - ), - DoesNotRaise(), - ), # empty result - ( - { - "predictions": [ - { - "x": 200.0, - "y": 300.0, - "width": 50.0, - "height": 50.0, - "confidence": 0.9, - "class_id": 0, - "class": "person", - } - ], - "image": {"width": 1000, "height": 1000}, - }, - ( - np.array([[175.0, 275.0, 225.0, 325.0]]), - np.array([0.9]), - np.array([0]), - None, - None, - {CLASS_NAME_DATA_FIELD: np.array(["person"])}, - ), - DoesNotRaise(), - ), # single correct object detection result - ( - { - "predictions": [ - { - "x": 200.0, - "y": 300.0, - "width": 50.0, - "height": 50.0, - "confidence": 0.9, - "class_id": 0, - "class": "person", - "tracker_id": 1, - }, - { - "x": 500.0, - "y": 500.0, - "width": 100.0, - "height": 100.0, - "confidence": 0.8, - "class_id": 7, - "class": "truck", - "tracker_id": 2, - }, - ], - "image": {"width": 1000, "height": 1000}, - }, - ( - np.array([[175.0, 275.0, 225.0, 325.0], [450.0, 450.0, 550.0, 550.0]]), - np.array([0.9, 0.8]), - np.array([0, 7]), - None, - np.array([1, 2]), - {CLASS_NAME_DATA_FIELD: np.array(["person", "truck"])}, - ), - DoesNotRaise(), - ), # two correct object detection result - ( - { - "predictions": [ - { - "x": 200.0, - "y": 300.0, - "width": 50.0, - "height": 50.0, - "confidence": 0.9, - "class_id": 0, - "class": "person", - "points": [], - "tracker_id": None, - } - ], - "image": {"width": 1000, "height": 1000}, - }, - ( - np.empty((0, 4)), - np.empty(0), - np.empty(0), - None, - None, - {CLASS_NAME_DATA_FIELD: np.empty(0)}, - ), - DoesNotRaise(), - ), # single incorrect instance segmentation result with no points - ( - { - "predictions": [ - { - "x": 200.0, - "y": 300.0, - "width": 50.0, - "height": 50.0, - "confidence": 0.9, - "class_id": 0, - "class": "person", - "points": [{"x": 200.0, "y": 300.0}, {"x": 250.0, "y": 300.0}], - } - ], - "image": {"width": 1000, "height": 1000}, - }, - ( - np.empty((0, 4)), - np.empty(0), - np.empty(0), - None, - None, - {CLASS_NAME_DATA_FIELD: np.empty(0)}, - ), - DoesNotRaise(), - ), # single incorrect instance segmentation result with no enough points - ( - { - "predictions": [ - { - "x": 200.0, - "y": 300.0, - "width": 50.0, - "height": 50.0, - "confidence": 0.9, - "class_id": 0, - "class": "person", - "points": [ - {"x": 200.0, "y": 300.0}, - {"x": 250.0, "y": 300.0}, - {"x": 250.0, "y": 350.0}, - {"x": 200.0, "y": 350.0}, - ], - } - ], - "image": {"width": 1000, "height": 1000}, - }, - ( - np.array([[175.0, 275.0, 225.0, 325.0]]), - np.array([0.9]), - np.array([0]), - TEST_MASK, - None, - {CLASS_NAME_DATA_FIELD: np.array(["person"])}, - ), - DoesNotRaise(), - ), # single incorrect instance segmentation result with no enough points - ( - { - "predictions": [ - { - "x": 200.0, - "y": 300.0, - "width": 50.0, - "height": 50.0, - "confidence": 0.9, - "class_id": 0, - "class": "person", - "points": [ - {"x": 200.0, "y": 300.0}, - {"x": 250.0, "y": 300.0}, - {"x": 250.0, "y": 350.0}, - {"x": 200.0, "y": 350.0}, - ], - }, - { - "x": 500.0, - "y": 500.0, - "width": 100.0, - "height": 100.0, - "confidence": 0.8, - "class_id": 7, - "class": "truck", - "points": [], - }, - ], - "image": {"width": 1000, "height": 1000}, - }, - ( - np.array([[175.0, 275.0, 225.0, 325.0]]), - np.array([0.9]), - np.array([0]), - TEST_MASK, - None, - {CLASS_NAME_DATA_FIELD: np.array(["person"])}, - ), - DoesNotRaise(), - ), # two instance segmentation results - one correct, one incorrect - ], -) -def test_process_roboflow_result( - roboflow_result: dict, - expected_result: tuple[ - np.ndarray, np.ndarray, np.ndarray, np.ndarray | None, np.ndarray - ], - exception: Exception, -) -> None: - with exception: - result = process_roboflow_result(roboflow_result=roboflow_result) - assert np.array_equal(result[0], expected_result[0]) - assert np.array_equal(result[1], expected_result[1]) - assert np.array_equal(result[2], expected_result[2]) - assert (result[3] is None and expected_result[3] is None) or ( - np.array_equal(result[3], expected_result[3]) - ) - assert (result[4] is None and expected_result[4] is None) or ( - np.array_equal(result[4], expected_result[4]) - ) - for key in result[5]: - if isinstance(result[5][key], np.ndarray): - assert np.array_equal(result[5][key], expected_result[5][key]), ( - f"Mismatch in arrays for key {key}" - ) - else: - assert result[5][key] == expected_result[5][key], ( - f"Mismatch in non-array data for key {key}" - ) - - -@pytest.mark.parametrize( - "xyxy, offset, expected_result, exception", - [ - ( - np.empty(shape=(0, 4)), - np.array([0, 0]), - np.empty(shape=(0, 4)), - DoesNotRaise(), - ), # empty xyxy array - ( - np.array([[0, 0, 10, 10]]), - np.array([0, 0]), - np.array([[0, 0, 10, 10]]), - DoesNotRaise(), - ), # single box with zero offset - ( - np.array([[0, 0, 10, 10]]), - np.array([10, 10]), - np.array([[10, 10, 20, 20]]), - DoesNotRaise(), - ), # single box with non-zero offset - ( - np.array([[0, 0, 10, 10], [0, 0, 10, 10]]), - np.array([10, 10]), - np.array([[10, 10, 20, 20], [10, 10, 20, 20]]), - DoesNotRaise(), - ), # two boxes with non-zero offset - ( - np.array([[0, 0, 10, 10], [0, 0, 10, 10]]), - np.array([-10, -10]), - np.array([[-10, -10, 0, 0], [-10, -10, 0, 0]]), - DoesNotRaise(), - ), # two boxes with negative offset - ], -) -def test_move_boxes( - xyxy: np.ndarray, - offset: np.ndarray, - expected_result: np.ndarray, - exception: Exception, -) -> None: - with exception: - result = move_boxes(xyxy=xyxy, offset=offset) - assert np.array_equal(result, expected_result) - - -@pytest.mark.parametrize( - "masks, offset, resolution_wh, expected_result, exception", - [ - ( - np.array( - [ - [ - [False, False, False, False], - [False, True, True, False], - [False, True, True, False], - [False, False, False, False], - ] - ], - dtype=bool, - ), - np.array([0, 0]), - (4, 4), - np.array( - [ - [ - [False, False, False, False], - [False, True, True, False], - [False, True, True, False], - [False, False, False, False], - ] - ], - dtype=bool, - ), - DoesNotRaise(), - ), - ( - np.array( - [ - [ - [False, False, False, False], - [False, True, True, False], - [False, True, True, False], - [False, False, False, False], - ] - ], - dtype=bool, - ), - np.array([-1, -1]), - (4, 4), - np.array( - [ - [ - [True, True, False, False], - [True, True, False, False], - [False, False, False, False], - [False, False, False, False], - ] - ], - dtype=bool, - ), - DoesNotRaise(), - ), - ( - np.array( - [ - [ - [False, False, False, False], - [False, True, True, False], - [False, True, True, False], - [False, False, False, False], - ] - ], - dtype=bool, - ), - np.array([-2, -2]), - (4, 4), - np.array( - [ - [ - [True, False, False, False], - [False, False, False, False], - [False, False, False, False], - [False, False, False, False], - ] - ], - dtype=bool, - ), - DoesNotRaise(), - ), - ( - np.array( - [ - [ - [False, False, False, False], - [False, True, True, False], - [False, True, True, False], - [False, False, False, False], - ] - ], - dtype=bool, - ), - np.array([-3, -3]), - (4, 4), - np.array( - [ - [ - [False, False, False, False], - [False, False, False, False], - [False, False, False, False], - [False, False, False, False], - ] - ], - dtype=bool, - ), - DoesNotRaise(), - ), - ( - np.array( - [ - [ - [False, False, False, False], - [False, True, True, False], - [False, True, True, False], - [False, False, False, False], - ] - ], - dtype=bool, - ), - np.array([-2, -1]), - (4, 4), - np.array( - [ - [ - [True, False, False, False], - [True, False, False, False], - [False, False, False, False], - [False, False, False, False], - ] - ], - dtype=bool, - ), - DoesNotRaise(), - ), - ( - np.array( - [ - [ - [False, False, False, False], - [False, True, True, False], - [False, True, True, False], - [False, False, False, False], - ] - ], - dtype=bool, - ), - np.array([-1, -2]), - (4, 4), - np.array( - [ - [ - [True, True, False, False], - [False, False, False, False], - [False, False, False, False], - [False, False, False, False], - ] - ], - dtype=bool, - ), - DoesNotRaise(), - ), - ( - np.array( - [ - [ - [False, False, False, False], - [False, True, True, False], - [False, True, True, False], - [False, False, False, False], - ] - ], - dtype=bool, - ), - np.array([-2, 2]), - (4, 4), - np.array( - [ - [ - [False, False, False, False], - [False, False, False, False], - [False, False, False, False], - [True, False, False, False], - ] - ], - dtype=bool, - ), - DoesNotRaise(), - ), - ( - np.array( - [ - [ - [False, False, False, False], - [False, True, True, False], - [False, True, True, False], - [False, False, False, False], - ] - ], - dtype=bool, - ), - np.array([3, 3]), - (4, 4), - np.array( - [ - [ - [False, False, False, False], - [False, False, False, False], - [False, False, False, False], - [False, False, False, False], - ] - ], - dtype=bool, - ), - DoesNotRaise(), - ), - ( - np.array( - [ - [ - [False, False, False, False], - [False, True, True, False], - [False, True, True, False], - [False, False, False, False], - ] - ], - dtype=bool, - ), - np.array([3, 3]), - (6, 6), - np.array( - [ - [ - [False, False, False, False, False, False], - [False, False, False, False, False, False], - [False, False, False, False, False, False], - [False, False, False, False, False, False], - [False, False, False, False, True, True], - [False, False, False, False, True, True], - ] - ], - dtype=bool, - ), - DoesNotRaise(), - ), - ], -) -def test_move_masks( - masks: np.ndarray, - offset: np.ndarray, - resolution_wh: tuple[int, int], - expected_result: np.ndarray, - exception: Exception, -) -> None: - with exception: - result = move_masks(masks=masks, offset=offset, resolution_wh=resolution_wh) - np.testing.assert_array_equal(result, expected_result) - - -@pytest.mark.parametrize( - "xyxy, factor, expected_result, exception", - [ - ( - np.empty(shape=(0, 4)), - 2.0, - np.empty(shape=(0, 4)), - DoesNotRaise(), - ), # empty xyxy array - ( - np.array([[0, 0, 10, 10]]), - 1.0, - np.array([[0, 0, 10, 10]]), - DoesNotRaise(), - ), # single box with factor equal to 1.0 - ( - np.array([[0, 0, 10, 10]]), - 2.0, - np.array([[-5, -5, 15, 15]]), - DoesNotRaise(), - ), # single box with factor equal to 2.0 - ( - np.array([[0, 0, 10, 10]]), - 0.5, - np.array([[2.5, 2.5, 7.5, 7.5]]), - DoesNotRaise(), - ), # single box with factor equal to 0.5 - ( - np.array([[0, 0, 10, 10], [10, 10, 30, 30]]), - 2.0, - np.array([[-5, -5, 15, 15], [0, 0, 40, 40]]), - DoesNotRaise(), - ), # two boxes with factor equal to 2.0 - ], -) -def test_scale_boxes( - xyxy: np.ndarray, - factor: float, - expected_result: np.ndarray, - exception: Exception, -) -> None: - with exception: - result = scale_boxes(xyxy=xyxy, factor=factor) - assert np.array_equal(result, expected_result) - - -@pytest.mark.parametrize( - "masks, expected_result, exception", - [ - ( - np.array( - [ - [ - [0, 0, 0, 0], - [0, 0, 0, 0], - [0, 0, 0, 0], - [0, 0, 0, 0], - ] - ] - ), - np.array([[0, 0]]), - DoesNotRaise(), - ), # single mask with all zeros - ( - np.array( - [ - [ - [1, 1, 1, 1], - [1, 1, 1, 1], - [1, 1, 1, 1], - [1, 1, 1, 1], - ] - ] - ), - np.array([[2, 2]]), - DoesNotRaise(), - ), # single mask with all ones - ( - np.array( - [ - [ - [0, 1, 1, 0], - [1, 1, 1, 1], - [1, 1, 1, 1], - [0, 1, 1, 0], - ] - ] - ), - np.array([[2, 2]]), - DoesNotRaise(), - ), # single mask with symmetric ones - ( - np.array( - [ - [ - [0, 0, 0, 0], - [0, 0, 1, 1], - [0, 0, 1, 1], - [0, 0, 0, 0], - ] - ] - ), - np.array([[3, 2]]), - DoesNotRaise(), - ), # single mask with asymmetric ones - ( - np.array( - [ - [ - [0, 1, 1, 0], - [1, 1, 1, 1], - [1, 1, 1, 1], - [0, 1, 1, 0], - ], - [ - [0, 0, 0, 0], - [0, 0, 1, 1], - [0, 0, 1, 1], - [0, 0, 0, 0], - ], - ] - ), - np.array([[2, 2], [3, 2]]), - DoesNotRaise(), - ), # two masks - ], -) -def test_calculate_masks_centroids( - masks: np.ndarray, - expected_result: np.ndarray, - exception: Exception, -) -> None: - with exception: - result = calculate_masks_centroids(masks=masks) - assert np.array_equal(result, expected_result) - - -@pytest.mark.parametrize( - "data_list, expected_result, exception", - [ - ( - [], - {}, - DoesNotRaise(), - ), # empty data list - ( - [{}], - {}, - DoesNotRaise(), - ), # single empty data dict - ( - [{}, {}], - {}, - DoesNotRaise(), - ), # two empty data dicts - ( - [ - {"test_1": []}, - ], - {"test_1": []}, - DoesNotRaise(), - ), # single data dict with a single field name and empty list values - ( - [ - {"test_1": []}, - {"test_1": []}, - ], - {"test_1": []}, - DoesNotRaise(), - ), # two data dicts with the same field name and empty list values - ( - [ - {"test_1": np.array([])}, - ], - {"test_1": np.array([])}, - DoesNotRaise(), - ), # single data dict with a single field name and empty np.array values - ( - [ - {"test_1": np.array([])}, - {"test_1": np.array([])}, - ], - {"test_1": np.array([])}, - DoesNotRaise(), - ), # two data dicts with the same field name and empty np.array values - ( - [ - {"test_1": [1, 2, 3]}, - ], - {"test_1": [1, 2, 3]}, - DoesNotRaise(), - ), # single data dict with a single field name and list values - ( - [ - {"test_1": []}, - {"test_1": [3, 2, 1]}, - ], - {"test_1": [3, 2, 1]}, - DoesNotRaise(), - ), # two data dicts with the same field name; one of with empty list as value - ( - [ - {"test_1": [1, 2, 3]}, - {"test_1": [3, 2, 1]}, - ], - {"test_1": [1, 2, 3, 3, 2, 1]}, - DoesNotRaise(), - ), # two data dicts with the same field name and list values - ( - [ - {"test_1": [1, 2, 3]}, - {"test_1": [3, 2, 1]}, - {"test_1": [1, 2, 3]}, - ], - {"test_1": [1, 2, 3, 3, 2, 1, 1, 2, 3]}, - DoesNotRaise(), - ), # three data dicts with the same field name and list values - ( - [ - {"test_1": [1, 2, 3]}, - {"test_2": [3, 2, 1]}, - ], - None, - pytest.raises(ValueError), - ), # two data dicts with different field names - ( - [ - {"test_1": np.array([1, 2, 3])}, - {"test_1": np.array([3, 2, 1])}, - ], - {"test_1": np.array([1, 2, 3, 3, 2, 1])}, - DoesNotRaise(), - ), # two data dicts with the same field name and np.array values as 1D arrays - ( - [ - {"test_1": np.array([[1, 2, 3]])}, - {"test_1": np.array([[3, 2, 1]])}, - ], - {"test_1": np.array([[1, 2, 3], [3, 2, 1]])}, - DoesNotRaise(), - ), # two data dicts with the same field name and np.array values as 2D arrays - ( - [ - {"test_1": np.array([1, 2, 3]), "test_2": np.array(["a", "b", "c"])}, - {"test_1": np.array([3, 2, 1]), "test_2": np.array(["c", "b", "a"])}, - ], - { - "test_1": np.array([1, 2, 3, 3, 2, 1]), - "test_2": np.array(["a", "b", "c", "c", "b", "a"]), - }, - DoesNotRaise(), - ), # two data dicts with the same field names and np.array values - ( - [ - {"test_1": [1, 2, 3], "test_2": np.array(["a", "b", "c"])}, - {"test_1": [3, 2, 1], "test_2": np.array(["c", "b", "a"])}, - ], - { - "test_1": [1, 2, 3, 3, 2, 1], - "test_2": np.array(["a", "b", "c", "c", "b", "a"]), - }, - DoesNotRaise(), - ), # two data dicts with the same field names and mixed values - ( - [ - {"test_1": np.array([1, 2, 3])}, - {"test_1": np.array([[3, 2, 1]])}, - ], - None, - pytest.raises(ValueError), - ), # two data dicts with the same field name and 1D and 2D arrays values - ( - [ - {"test_1": np.array([1, 2, 3]), "test_2": np.array(["a", "b"])}, - {"test_1": np.array([3, 2, 1]), "test_2": np.array(["c", "b", "a"])}, - ], - None, - pytest.raises(ValueError), - ), # two data dicts with the same field name and different length arrays values - ( - [{}, {"test_1": [1, 2, 3]}], - None, - pytest.raises(ValueError), - ), # two data dicts; one empty and one non-empty dict - ( - [{"test_1": [], "test_2": []}, {"test_1": [1, 2, 3], "test_2": [1, 2, 3]}], - {"test_1": [1, 2, 3], "test_2": [1, 2, 3]}, - DoesNotRaise(), - ), # two data dicts; one empty and one non-empty dict; same keys - ( - [{"test_1": []}, {"test_1": [1, 2, 3], "test_2": [4, 5, 6]}], - None, - pytest.raises(ValueError), - ), # two data dicts; one empty and one non-empty dict; different keys - ( - [ - { - "test_1": [1, 2, 3], - "test_2": [4, 5, 6], - "test_3": [7, 8, 9], - }, - {"test_1": [1, 2, 3], "test_2": [4, 5, 6]}, - ], - None, - pytest.raises(ValueError), - ), # two data dicts; one with three keys, one with two keys - ( - [ - {"test_1": [1, 2, 3]}, - {"test_1": [1, 2, 3], "test_2": [1, 2, 3]}, - ], - None, - pytest.raises(ValueError), - ), # some keys missing in one dict - ( - [ - {"test_1": [1, 2, 3], "test_2": ["a", "b"]}, - {"test_1": [4, 5], "test_2": ["c", "d", "e"]}, - ], - None, - pytest.raises(ValueError), - ), # different value lengths for the same key - ], -) -def test_merge_data( - data_list: list[dict[str, Any]], - expected_result: dict[str, Any] | None, - exception: Exception, -): - with exception: - result = merge_data(data_list=data_list) - if expected_result is None: - assert False, f"Expected an error, but got result {result}" - - for key in result: - if isinstance(result[key], np.ndarray): - assert np.array_equal(result[key], expected_result[key]), ( - f"Mismatch in arrays for key {key}" - ) - else: - assert result[key] == expected_result[key], ( - f"Mismatch in non-array data for key {key}" - ) - - -@pytest.mark.parametrize( - "data, index, expected_result, exception", - [ - ({}, 0, {}, DoesNotRaise()), # empty data dict - ( - { - "test_1": [1, 2, 3], - }, - 0, - { - "test_1": [1], - }, - DoesNotRaise(), - ), # data dict with a single list field and integer index - ( - { - "test_1": np.array([1, 2, 3]), - }, - 0, - { - "test_1": np.array([1]), - }, - DoesNotRaise(), - ), # data dict with a single np.array field and integer index - ( - { - "test_1": [1, 2, 3], - }, - slice(0, 2), - { - "test_1": [1, 2], - }, - DoesNotRaise(), - ), # data dict with a single list field and slice index - ( - { - "test_1": np.array([1, 2, 3]), - }, - slice(0, 2), - { - "test_1": np.array([1, 2]), - }, - DoesNotRaise(), - ), # data dict with a single np.array field and slice index - ( - { - "test_1": [1, 2, 3], - }, - -1, - { - "test_1": [3], - }, - DoesNotRaise(), - ), # data dict with a single list field and negative integer index - ( - { - "test_1": np.array([1, 2, 3]), - }, - -1, - { - "test_1": np.array([3]), - }, - DoesNotRaise(), - ), # data dict with a single np.array field and negative integer index - ( - { - "test_1": [1, 2, 3], - }, - [0, 2], - { - "test_1": [1, 3], - }, - DoesNotRaise(), - ), # data dict with a single list field and integer list index - ( - { - "test_1": np.array([1, 2, 3]), - }, - [0, 2], - { - "test_1": np.array([1, 3]), - }, - DoesNotRaise(), - ), # data dict with a single np.array field and integer list index - ( - { - "test_1": [1, 2, 3], - }, - np.array([0, 2]), - { - "test_1": [1, 3], - }, - DoesNotRaise(), - ), # data dict with a single list field and integer np.array index - ( - { - "test_1": np.array([1, 2, 3]), - }, - np.array([0, 2]), - { - "test_1": np.array([1, 3]), - }, - DoesNotRaise(), - ), # data dict with a single np.array field and integer np.array index - ( - { - "test_1": np.array([1, 2, 3]), - }, - np.array([True, True, True]), - { - "test_1": np.array([1, 2, 3]), - }, - DoesNotRaise(), - ), # data dict with a single np.array field and all-true bool np.array index - ( - { - "test_1": np.array([1, 2, 3]), - }, - np.array([False, False, False]), - { - "test_1": np.array([]), - }, - DoesNotRaise(), - ), # data dict with a single np.array field and all-false bool np.array index - ( - { - "test_1": np.array([1, 2, 3]), - }, - np.array([False, True, False]), - { - "test_1": np.array([2]), - }, - DoesNotRaise(), - ), # data dict with a single np.array field and mixed bool np.array index - ( - {"test_1": np.array([1, 2, 3]), "test_2": ["a", "b", "c"]}, - 0, - {"test_1": np.array([1]), "test_2": ["a"]}, - DoesNotRaise(), - ), # data dict with two fields and integer index - ( - {"test_1": np.array([1, 2, 3]), "test_2": ["a", "b", "c"]}, - -1, - {"test_1": np.array([3]), "test_2": ["c"]}, - DoesNotRaise(), - ), # data dict with two fields and negative integer index - ( - {"test_1": np.array([1, 2, 3]), "test_2": ["a", "b", "c"]}, - np.array([False, True, False]), - {"test_1": np.array([2]), "test_2": ["b"]}, - DoesNotRaise(), - ), # data dict with two fields and mixed bool np.array index - ], -) -def test_get_data_item( - data: dict[str, Any], - index: Any, - expected_result: dict[str, Any] | None, - exception: Exception, -): - with exception: - result = get_data_item(data=data, index=index) - for key in result: - if isinstance(result[key], np.ndarray): - assert np.array_equal(result[key], expected_result[key]), ( - f"Mismatch in arrays for key {key}" - ) - else: - assert result[key] == expected_result[key], ( - f"Mismatch in non-array data for key {key}" - ) - - -@pytest.mark.parametrize( - "mask, expected_result, exception", - [ - ( - np.array([[0, 0, 0, 0], [0, 1, 1, 0], [0, 1, 0, 0], [0, 1, 1, 0]]).astype( - bool - ), - False, - DoesNotRaise(), - ), # foreground object in one continuous piece - ( - np.array([[1, 0, 0, 0], [1, 0, 0, 0], [0, 0, 0, 0], [0, 1, 1, 0]]).astype( - bool - ), - False, - DoesNotRaise(), - ), # foreground object in 2 separate elements - ( - np.array([[0, 0, 0, 0], [0, 0, 0, 0], [0, 0, 0, 0], [0, 0, 0, 0]]).astype( - bool - ), - False, - DoesNotRaise(), - ), # no foreground pixels in mask - ( - np.array([[1, 1, 1, 1], [1, 1, 1, 1], [1, 1, 1, 1], [1, 1, 1, 1]]).astype( - bool - ), - False, - DoesNotRaise(), - ), # only foreground pixels in mask - ( - np.array([[1, 1, 1, 0], [1, 0, 1, 0], [1, 1, 1, 0], [0, 0, 0, 0]]).astype( - bool - ), - True, - DoesNotRaise(), - ), # foreground object has 1 hole - ( - np.array([[1, 1, 1, 0], [1, 0, 1, 1], [1, 1, 0, 1], [0, 1, 1, 1]]).astype( - bool - ), - True, - DoesNotRaise(), - ), # foreground object has 2 holes - ], -) -def test_contains_holes( - mask: npt.NDArray[np.bool_], expected_result: bool, exception: Exception -) -> None: - with exception: - result = contains_holes(mask) - assert result == expected_result - - -@pytest.mark.parametrize( - "mask, connectivity, expected_result, exception", - [ - ( - np.array([[0, 0, 0, 0], [0, 1, 1, 0], [0, 1, 0, 0], [0, 1, 1, 0]]).astype( - bool - ), - 4, - False, - DoesNotRaise(), - ), # foreground object in one continuous piece - ( - np.array([[1, 0, 0, 0], [1, 0, 0, 0], [0, 0, 0, 0], [0, 1, 1, 0]]).astype( - bool - ), - 4, - True, - DoesNotRaise(), - ), # foreground object in 2 separate elements - ( - np.array([[0, 0, 0, 0], [0, 0, 0, 0], [0, 0, 0, 0], [0, 0, 0, 0]]).astype( - bool - ), - 4, - False, - DoesNotRaise(), - ), # no foreground pixels in mask - ( - np.array([[1, 1, 1, 1], [1, 1, 1, 1], [1, 1, 1, 1], [1, 1, 1, 1]]).astype( - bool - ), - 4, - False, - DoesNotRaise(), - ), # only foreground pixels in mask - ( - np.array([[1, 1, 1, 0], [1, 0, 1, 1], [1, 1, 0, 1], [0, 1, 1, 1]]).astype( - bool - ), - 4, - False, - DoesNotRaise(), - ), # foreground object has 2 holes, but is in single piece - ( - np.array([[1, 1, 0, 0], [1, 1, 0, 1], [1, 0, 1, 1], [0, 0, 1, 1]]).astype( - bool - ), - 4, - True, - DoesNotRaise(), - ), # foreground object in 2 elements with respect to 4-way connectivity - ( - np.array([[1, 1, 0, 0], [1, 1, 0, 1], [1, 0, 1, 1], [0, 0, 1, 1]]).astype( - bool - ), - 8, - False, - DoesNotRaise(), - ), # foreground object in single piece with respect to 8-way connectivity - ( - np.array([[1, 1, 0, 0], [1, 1, 0, 1], [1, 0, 1, 1], [0, 0, 1, 1]]).astype( - bool - ), - 5, - None, - pytest.raises(ValueError), - ), # Incorrect connectivity parameter value, raises ValueError - ], -) -def test_contains_multiple_segments( - mask: npt.NDArray[np.bool_], - connectivity: int, - expected_result: bool, - exception: Exception, -) -> None: - with exception: - result = contains_multiple_segments(mask=mask, connectivity=connectivity) - assert result == expected_result - - -@pytest.mark.parametrize( - "xywh, expected_result", - [ - (np.array([[10, 20, 30, 40]]), np.array([[10, 20, 40, 60]])), # standard case - (np.array([[0, 0, 0, 0]]), np.array([[0, 0, 0, 0]])), # zero size bounding box - ( - np.array([[50, 50, 100, 100]]), - np.array([[50, 50, 150, 150]]), - ), # large bounding box - ( - np.array([[-10, -20, 30, 40]]), - np.array([[-10, -20, 20, 20]]), - ), # negative coordinates - (np.array([[50, 50, 0, 30]]), np.array([[50, 50, 50, 80]])), # zero width - (np.array([[50, 50, 20, 0]]), np.array([[50, 50, 70, 50]])), # zero height - (np.array([]).reshape(0, 4), np.array([]).reshape(0, 4)), # empty array - ], -) -def test_xywh_to_xyxy(xywh: np.ndarray, expected_result: np.ndarray) -> None: - result = xywh_to_xyxy(xywh) - np.testing.assert_array_equal(result, expected_result) - - -@pytest.mark.parametrize( - "xyxy, expected_result", - [ - (np.array([[10, 20, 40, 60]]), np.array([[10, 20, 30, 40]])), # standard case - (np.array([[0, 0, 0, 0]]), np.array([[0, 0, 0, 0]])), # zero size bounding box - ( - np.array([[50, 50, 150, 150]]), - np.array([[50, 50, 100, 100]]), - ), # large bounding box - ( - np.array([[-10, -20, 20, 20]]), - np.array([[-10, -20, 30, 40]]), - ), # negative coordinates - (np.array([[50, 50, 50, 80]]), np.array([[50, 50, 0, 30]])), # zero width - (np.array([[50, 50, 70, 50]]), np.array([[50, 50, 20, 0]])), # zero height - (np.array([]).reshape(0, 4), np.array([]).reshape(0, 4)), # empty array - ], -) -def test_xyxy_to_xywh(xyxy: np.ndarray, expected_result: np.ndarray) -> None: - result = xyxy_to_xywh(xyxy) - np.testing.assert_array_equal(result, expected_result) - - -@pytest.mark.parametrize( - "xyxy, expected_result", - [ - # Empty and zero cases - (np.array([]).reshape(0, 4), np.array([]).reshape(0, 4)), # empty array - ( - np.array([[0, 0, 0, 0]]), - np.array([[0, 0, 0.0, 0]]), - ), # zero size bounding box - ( - np.array([[10, 10, 10, 10]]), - np.array([[10, 10, 0.0, 0]]), - ), # point (x1=x2, y1=y2) - # Zero width/height cases - (np.array([[50, 50, 80, 50]]), np.array([[65, 50, 0.0, 0]])), # zero height - (np.array([[50, 50, 50, 80]]), np.array([[50, 65, 0.0, 30]])), # zero width - # Standard cases - (np.array([[10, 20, 40, 60]]), np.array([[25, 40, 0.75, 40]])), # standard case - ( - np.array([[-30, -40, -10, -20]]), - np.array([[-20, -30, 1.0, 20]]), - ), # all negative values - ( - np.array([[0.1, 0.2, 0.4, 0.6]]), - np.array([[0.25, 0.4, 0.75, 0.4]]), - ), # values between 0-1 - # Different aspect ratios - ( - np.array([[10, 20, 50, 100]]), - np.array([[30, 60, 0.5, 80]]), - ), # tall rectangle (height > width) - ( - np.array([[20, 10, 100, 50]]), - np.array([[60, 30, 2.0, 40]]), - ), # wide rectangle (width > height) - ( - np.array([[50, 50, 150, 150]]), - np.array([[100, 100, 1.0, 100]]), - ), # height == width - # Multiple boxes in one array - ( - np.array([[0, 0, 0, 0], [10, 20, 40, 60]]), - np.array([[0, 0, 0.0, 0], [25, 40, 0.75, 40]]), - ), # one zero-sized box and one normal box - ], -) -def test_xyxy_to_xcycarh(xyxy: np.ndarray, expected_result: np.ndarray) -> None: - result = xyxy_to_xcycarh(xyxy) - np.testing.assert_allclose(result, expected_result) - - -@pytest.mark.parametrize( - "xcycwh, expected_result", - [ - (np.array([[50, 50, 20, 30]]), np.array([[40, 35, 60, 65]])), # standard case - (np.array([[0, 0, 0, 0]]), np.array([[0, 0, 0, 0]])), # zero size bounding box - ( - np.array([[50, 50, 100, 100]]), - np.array([[0, 0, 100, 100]]), - ), # large bounding box centered at (50, 50) - ( - np.array([[-10, -10, 20, 30]]), - np.array([[-20, -25, 0, 5]]), - ), # negative coordinates - (np.array([[50, 50, 0, 30]]), np.array([[50, 35, 50, 65]])), # zero width - (np.array([[50, 50, 20, 0]]), np.array([[40, 50, 60, 50]])), # zero height - (np.array([]).reshape(0, 4), np.array([]).reshape(0, 4)), # empty array - ], -) -def test_xcycwh_to_xyxy(xcycwh: np.ndarray, expected_result: np.ndarray) -> None: - result = xcycwh_to_xyxy(xcycwh) - np.testing.assert_array_equal(result, expected_result) - - -@pytest.mark.parametrize( - "metadata_list, expected_result, exception", - [ - # Identical metadata with a single key - ([{"key1": "value1"}, {"key1": "value1"}], {"key1": "value1"}, DoesNotRaise()), - # Identical metadata with multiple keys - ( - [ - {"key1": "value1", "key2": "value2"}, - {"key1": "value1", "key2": "value2"}, - ], - {"key1": "value1", "key2": "value2"}, - DoesNotRaise(), - ), - # Conflicting values for the same key - ([{"key1": "value1"}, {"key1": "value2"}], None, pytest.raises(ValueError)), - # Different sets of keys across dictionaries - ([{"key1": "value1"}, {"key2": "value2"}], None, pytest.raises(ValueError)), - # Empty metadata list - ([], {}, DoesNotRaise()), - # Empty metadata dictionaries - ([{}, {}], {}, DoesNotRaise()), - # Different declaration order for keys - ( - [ - {"key1": "value1", "key2": "value2"}, - {"key2": "value2", "key1": "value1"}, - ], - {"key1": "value1", "key2": "value2"}, - DoesNotRaise(), - ), - # Nested metadata dictionaries - ( - [{"key1": {"sub_key": "sub_value"}}, {"key1": {"sub_key": "sub_value"}}], - {"key1": {"sub_key": "sub_value"}}, - DoesNotRaise(), - ), - # Large metadata dictionaries with many keys - ( - [ - {f"key{i}": f"value{i}" for i in range(100)}, - {f"key{i}": f"value{i}" for i in range(100)}, - ], - {f"key{i}": f"value{i}" for i in range(100)}, - DoesNotRaise(), - ), - # Mixed types in list metadata values - ( - [{"key1": ["value1", 2, True]}, {"key1": ["value1", 2, True]}], - {"key1": ["value1", 2, True]}, - DoesNotRaise(), - ), - # Identical lists across metadata dictionaries - ( - [{"key1": [1, 2, 3]}, {"key1": [1, 2, 3]}], - {"key1": [1, 2, 3]}, - DoesNotRaise(), - ), - # Identical numpy arrays across metadata dictionaries - ( - [{"key1": np.array([1, 2, 3])}, {"key1": np.array([1, 2, 3])}], - {"key1": np.array([1, 2, 3])}, - DoesNotRaise(), - ), - # Identical numpy arrays across metadata dictionaries, different datatype - ( - [ - {"key1": np.array([1, 2, 3], dtype=np.int32)}, - {"key1": np.array([1, 2, 3], dtype=np.int64)}, - ], - {"key1": np.array([1, 2, 3])}, - DoesNotRaise(), - ), - # Conflicting lists for the same key - ([{"key1": [1, 2, 3]}, {"key1": [4, 5, 6]}], None, pytest.raises(ValueError)), - # Conflicting numpy arrays for the same key - ( - [{"key1": np.array([1, 2, 3])}, {"key1": np.array([4, 5, 6])}], - None, - pytest.raises(ValueError), - ), - # Mixed data types: list and numpy array for the same key - ( - [{"key1": [1, 2, 3]}, {"key1": np.array([1, 2, 3])}], - None, - pytest.raises(ValueError), - ), - # Empty lists and numpy arrays for the same key - ([{"key1": []}, {"key1": np.array([])}], None, pytest.raises(ValueError)), - # Identical multi-dimensional lists across metadata dictionaries - ( - [{"key1": [[1, 2], [3, 4]]}, {"key1": [[1, 2], [3, 4]]}], - {"key1": [[1, 2], [3, 4]]}, - DoesNotRaise(), - ), - # Identical multi-dimensional numpy arrays across metadata dictionaries - ( - [ - {"key1": np.arange(4).reshape(2, 2)}, - {"key1": np.arange(4).reshape(2, 2)}, - ], - {"key1": np.arange(4).reshape(2, 2)}, - DoesNotRaise(), - ), - # Conflicting multi-dimensional lists for the same key - ( - [{"key1": [[1, 2], [3, 4]]}, {"key1": [[5, 6], [7, 8]]}], - None, - pytest.raises(ValueError), - ), - # Conflicting multi-dimensional numpy arrays for the same key - ( - [ - {"key1": np.arange(4).reshape(2, 2)}, - {"key1": np.arange(4, 8).reshape(2, 2)}, - ], - None, - pytest.raises(ValueError), - ), - # Mixed types with multi-dimensional list and array for the same key - ( - [{"key1": [[1, 2], [3, 4]]}, {"key1": np.arange(4).reshape(2, 2)}], - None, - pytest.raises(ValueError), - ), - # Identical higher-dimensional (3D) numpy arrays across - # metadata dictionaries - ( - [ - {"key1": np.arange(8).reshape(2, 2, 2)}, - {"key1": np.arange(8).reshape(2, 2, 2)}, - ], - {"key1": np.arange(8).reshape(2, 2, 2)}, - DoesNotRaise(), - ), - # Differently-shaped higher-dimensional (3D) numpy arrays - # across metadata dictionaries - ( - [ - {"key1": np.arange(8).reshape(2, 2, 2)}, - {"key1": np.arange(8).reshape(4, 1, 2)}, - ], - None, - pytest.raises(ValueError), - ), - ], -) -def test_merge_metadata(metadata_list, expected_result, exception): - with exception: - result = merge_metadata(metadata_list) - if expected_result is None: - assert result is None, f"Expected an error, but got a result {result}" - for key, value in result.items(): - assert key in expected_result - if isinstance(value, np.ndarray): - np.testing.assert_array_equal(value, expected_result[key]) - else: - assert value == expected_result[key] diff --git a/test/detection/tools/test_inference_slicer.py b/test/detection/tools/test_inference_slicer.py index af29723a58..ba66cbe10c 100644 --- a/test/detection/tools/test_inference_slicer.py +++ b/test/detection/tools/test_inference_slicer.py @@ -6,7 +6,7 @@ import pytest from supervision.detection.core import Detections -from supervision.detection.overlap_filter import OverlapFilter +from supervision.detection.utils.iou_and_nms import OverlapFilter from supervision.detection.tools.inference_slicer import InferenceSlicer diff --git a/test/detection/utils/__init__.py b/test/detection/utils/__init__.py new file mode 100644 index 0000000000..e69de29bb2 diff --git a/test/detection/utils/test_boxes.py b/test/detection/utils/test_boxes.py new file mode 100644 index 0000000000..d6bf1acccf --- /dev/null +++ b/test/detection/utils/test_boxes.py @@ -0,0 +1,144 @@ +from __future__ import annotations + +from contextlib import ExitStack as DoesNotRaise + +import numpy as np +import pytest + +from supervision.detection.utils.boxes import clip_boxes, move_boxes, scale_boxes + + +@pytest.mark.parametrize( + "xyxy, resolution_wh, expected_result", + [ + ( + np.empty(shape=(0, 4)), + (1280, 720), + np.empty(shape=(0, 4)), + ), + ( + np.array([[1.0, 1.0, 1279.0, 719.0]]), + (1280, 720), + np.array([[1.0, 1.0, 1279.0, 719.0]]), + ), + ( + np.array([[-1.0, 1.0, 1279.0, 719.0]]), + (1280, 720), + np.array([[0.0, 1.0, 1279.0, 719.0]]), + ), + ( + np.array([[1.0, -1.0, 1279.0, 719.0]]), + (1280, 720), + np.array([[1.0, 0.0, 1279.0, 719.0]]), + ), + ( + np.array([[1.0, 1.0, 1281.0, 719.0]]), + (1280, 720), + np.array([[1.0, 1.0, 1280.0, 719.0]]), + ), + ( + np.array([[1.0, 1.0, 1279.0, 721.0]]), + (1280, 720), + np.array([[1.0, 1.0, 1279.0, 720.0]]), + ), + ], +) +def test_clip_boxes( + xyxy: np.ndarray, + resolution_wh: tuple[int, int], + expected_result: np.ndarray, +) -> None: + result = clip_boxes(xyxy=xyxy, resolution_wh=resolution_wh) + assert np.array_equal(result, expected_result) + + +@pytest.mark.parametrize( + "xyxy, offset, expected_result, exception", + [ + ( + np.empty(shape=(0, 4)), + np.array([0, 0]), + np.empty(shape=(0, 4)), + DoesNotRaise(), + ), # empty xyxy array + ( + np.array([[0, 0, 10, 10]]), + np.array([0, 0]), + np.array([[0, 0, 10, 10]]), + DoesNotRaise(), + ), # single box with zero offset + ( + np.array([[0, 0, 10, 10]]), + np.array([10, 10]), + np.array([[10, 10, 20, 20]]), + DoesNotRaise(), + ), # single box with non-zero offset + ( + np.array([[0, 0, 10, 10], [0, 0, 10, 10]]), + np.array([10, 10]), + np.array([[10, 10, 20, 20], [10, 10, 20, 20]]), + DoesNotRaise(), + ), # two boxes with non-zero offset + ( + np.array([[0, 0, 10, 10], [0, 0, 10, 10]]), + np.array([-10, -10]), + np.array([[-10, -10, 0, 0], [-10, -10, 0, 0]]), + DoesNotRaise(), + ), # two boxes with negative offset + ], +) +def test_move_boxes( + xyxy: np.ndarray, + offset: np.ndarray, + expected_result: np.ndarray, + exception: Exception, +) -> None: + with exception: + result = move_boxes(xyxy=xyxy, offset=offset) + assert np.array_equal(result, expected_result) + + +@pytest.mark.parametrize( + "xyxy, factor, expected_result, exception", + [ + ( + np.empty(shape=(0, 4)), + 2.0, + np.empty(shape=(0, 4)), + DoesNotRaise(), + ), # empty xyxy array + ( + np.array([[0, 0, 10, 10]]), + 1.0, + np.array([[0, 0, 10, 10]]), + DoesNotRaise(), + ), # single box with factor equal to 1.0 + ( + np.array([[0, 0, 10, 10]]), + 2.0, + np.array([[-5, -5, 15, 15]]), + DoesNotRaise(), + ), # single box with factor equal to 2.0 + ( + np.array([[0, 0, 10, 10]]), + 0.5, + np.array([[2.5, 2.5, 7.5, 7.5]]), + DoesNotRaise(), + ), # single box with factor equal to 0.5 + ( + np.array([[0, 0, 10, 10], [10, 10, 30, 30]]), + 2.0, + np.array([[-5, -5, 15, 15], [0, 0, 40, 40]]), + DoesNotRaise(), + ), # two boxes with factor equal to 2.0 + ], +) +def test_scale_boxes( + xyxy: np.ndarray, + factor: float, + expected_result: np.ndarray, + exception: Exception, +) -> None: + with exception: + result = scale_boxes(xyxy=xyxy, factor=factor) + assert np.array_equal(result, expected_result) \ No newline at end of file diff --git a/test/detection/utils/test_converters.py b/test/detection/utils/test_converters.py new file mode 100644 index 0000000000..55146a9956 --- /dev/null +++ b/test/detection/utils/test_converters.py @@ -0,0 +1,127 @@ +from __future__ import annotations + +import numpy as np +import pytest + +from supervision.detection.utils.converters import xywh_to_xyxy, xyxy_to_xywh, \ + xyxy_to_xcycarh, xcycwh_to_xyxy + + +@pytest.mark.parametrize( + "xywh, expected_result", + [ + (np.array([[10, 20, 30, 40]]), np.array([[10, 20, 40, 60]])), # standard case + (np.array([[0, 0, 0, 0]]), np.array([[0, 0, 0, 0]])), # zero size bounding box + ( + np.array([[50, 50, 100, 100]]), + np.array([[50, 50, 150, 150]]), + ), # large bounding box + ( + np.array([[-10, -20, 30, 40]]), + np.array([[-10, -20, 20, 20]]), + ), # negative coordinates + (np.array([[50, 50, 0, 30]]), np.array([[50, 50, 50, 80]])), # zero width + (np.array([[50, 50, 20, 0]]), np.array([[50, 50, 70, 50]])), # zero height + (np.array([]).reshape(0, 4), np.array([]).reshape(0, 4)), # empty array + ], +) +def test_xywh_to_xyxy(xywh: np.ndarray, expected_result: np.ndarray) -> None: + result = xywh_to_xyxy(xywh) + np.testing.assert_array_equal(result, expected_result) + + +@pytest.mark.parametrize( + "xyxy, expected_result", + [ + (np.array([[10, 20, 40, 60]]), np.array([[10, 20, 30, 40]])), # standard case + (np.array([[0, 0, 0, 0]]), np.array([[0, 0, 0, 0]])), # zero size bounding box + ( + np.array([[50, 50, 150, 150]]), + np.array([[50, 50, 100, 100]]), + ), # large bounding box + ( + np.array([[-10, -20, 20, 20]]), + np.array([[-10, -20, 30, 40]]), + ), # negative coordinates + (np.array([[50, 50, 50, 80]]), np.array([[50, 50, 0, 30]])), # zero width + (np.array([[50, 50, 70, 50]]), np.array([[50, 50, 20, 0]])), # zero height + (np.array([]).reshape(0, 4), np.array([]).reshape(0, 4)), # empty array + ], +) +def test_xyxy_to_xywh(xyxy: np.ndarray, expected_result: np.ndarray) -> None: + result = xyxy_to_xywh(xyxy) + np.testing.assert_array_equal(result, expected_result) + + +@pytest.mark.parametrize( + "xyxy, expected_result", + [ + # Empty and zero cases + (np.array([]).reshape(0, 4), np.array([]).reshape(0, 4)), # empty array + ( + np.array([[0, 0, 0, 0]]), + np.array([[0, 0, 0.0, 0]]), + ), # zero size bounding box + ( + np.array([[10, 10, 10, 10]]), + np.array([[10, 10, 0.0, 0]]), + ), # point (x1=x2, y1=y2) + # Zero width/height cases + (np.array([[50, 50, 80, 50]]), np.array([[65, 50, 0.0, 0]])), # zero height + (np.array([[50, 50, 50, 80]]), np.array([[50, 65, 0.0, 30]])), # zero width + # Standard cases + (np.array([[10, 20, 40, 60]]), np.array([[25, 40, 0.75, 40]])), # standard case + ( + np.array([[-30, -40, -10, -20]]), + np.array([[-20, -30, 1.0, 20]]), + ), # all negative values + ( + np.array([[0.1, 0.2, 0.4, 0.6]]), + np.array([[0.25, 0.4, 0.75, 0.4]]), + ), # values between 0-1 + # Different aspect ratios + ( + np.array([[10, 20, 50, 100]]), + np.array([[30, 60, 0.5, 80]]), + ), # tall rectangle (height > width) + ( + np.array([[20, 10, 100, 50]]), + np.array([[60, 30, 2.0, 40]]), + ), # wide rectangle (width > height) + ( + np.array([[50, 50, 150, 150]]), + np.array([[100, 100, 1.0, 100]]), + ), # height == width + # Multiple boxes in one array + ( + np.array([[0, 0, 0, 0], [10, 20, 40, 60]]), + np.array([[0, 0, 0.0, 0], [25, 40, 0.75, 40]]), + ), # one zero-sized box and one normal box + ], +) +def test_xyxy_to_xcycarh(xyxy: np.ndarray, expected_result: np.ndarray) -> None: + result = xyxy_to_xcycarh(xyxy) + np.testing.assert_allclose(result, expected_result) + + +@pytest.mark.parametrize( + "xcycwh, expected_result", + [ + (np.array([[50, 50, 20, 30]]), np.array([[40, 35, 60, 65]])), # standard case + (np.array([[0, 0, 0, 0]]), np.array([[0, 0, 0, 0]])), # zero size bounding box + ( + np.array([[50, 50, 100, 100]]), + np.array([[0, 0, 100, 100]]), + ), # large bounding box centered at (50, 50) + ( + np.array([[-10, -10, 20, 30]]), + np.array([[-20, -25, 0, 5]]), + ), # negative coordinates + (np.array([[50, 50, 0, 30]]), np.array([[50, 35, 50, 65]])), # zero width + (np.array([[50, 50, 20, 0]]), np.array([[40, 50, 60, 50]])), # zero height + (np.array([]).reshape(0, 4), np.array([]).reshape(0, 4)), # empty array + ], +) +def test_xcycwh_to_xyxy(xcycwh: np.ndarray, expected_result: np.ndarray) -> None: + result = xcycwh_to_xyxy(xcycwh) + np.testing.assert_array_equal(result, expected_result) \ No newline at end of file diff --git a/test/detection/utils/test_internal.py b/test/detection/utils/test_internal.py new file mode 100644 index 0000000000..525cf3b359 --- /dev/null +++ b/test/detection/utils/test_internal.py @@ -0,0 +1,786 @@ +from __future__ import annotations + +from contextlib import ExitStack as DoesNotRaise +from typing import Any + +import numpy as np +import pytest + +from supervision.config import CLASS_NAME_DATA_FIELD +from supervision.detection.utils.internal import process_roboflow_result, merge_data, \ + get_data_item, merge_metadata + +TEST_MASK = np.zeros((1, 1000, 1000), dtype=bool) +TEST_MASK[:, 300:351, 200:251] = True + + +@pytest.mark.parametrize( + "roboflow_result, expected_result, exception", + [ + ( + {"predictions": [], "image": {"width": 1000, "height": 1000}}, + ( + np.empty((0, 4)), + np.empty(0), + np.empty(0), + None, + None, + {CLASS_NAME_DATA_FIELD: np.empty(0)}, + ), + DoesNotRaise(), + ), # empty result + ( + { + "predictions": [ + { + "x": 200.0, + "y": 300.0, + "width": 50.0, + "height": 50.0, + "confidence": 0.9, + "class_id": 0, + "class": "person", + } + ], + "image": {"width": 1000, "height": 1000}, + }, + ( + np.array([[175.0, 275.0, 225.0, 325.0]]), + np.array([0.9]), + np.array([0]), + None, + None, + {CLASS_NAME_DATA_FIELD: np.array(["person"])}, + ), + DoesNotRaise(), + ), # single correct object detection result + ( + { + "predictions": [ + { + "x": 200.0, + "y": 300.0, + "width": 50.0, + "height": 50.0, + "confidence": 0.9, + "class_id": 0, + "class": "person", + "tracker_id": 1, + }, + { + "x": 500.0, + "y": 500.0, + "width": 100.0, + "height": 100.0, + "confidence": 0.8, + "class_id": 7, + "class": "truck", + "tracker_id": 2, + }, + ], + "image": {"width": 1000, "height": 1000}, + }, + ( + np.array([[175.0, 275.0, 225.0, 325.0], [450.0, 450.0, 550.0, 550.0]]), + np.array([0.9, 0.8]), + np.array([0, 7]), + None, + np.array([1, 2]), + {CLASS_NAME_DATA_FIELD: np.array(["person", "truck"])}, + ), + DoesNotRaise(), + ), # two correct object detection result + ( + { + "predictions": [ + { + "x": 200.0, + "y": 300.0, + "width": 50.0, + "height": 50.0, + "confidence": 0.9, + "class_id": 0, + "class": "person", + "points": [], + "tracker_id": None, + } + ], + "image": {"width": 1000, "height": 1000}, + }, + ( + np.empty((0, 4)), + np.empty(0), + np.empty(0), + None, + None, + {CLASS_NAME_DATA_FIELD: np.empty(0)}, + ), + DoesNotRaise(), + ), # single incorrect instance segmentation result with no points + ( + { + "predictions": [ + { + "x": 200.0, + "y": 300.0, + "width": 50.0, + "height": 50.0, + "confidence": 0.9, + "class_id": 0, + "class": "person", + "points": [{"x": 200.0, "y": 300.0}, {"x": 250.0, "y": 300.0}], + } + ], + "image": {"width": 1000, "height": 1000}, + }, + ( + np.empty((0, 4)), + np.empty(0), + np.empty(0), + None, + None, + {CLASS_NAME_DATA_FIELD: np.empty(0)}, + ), + DoesNotRaise(), + ), # single incorrect instance segmentation result with no enough points + ( + { + "predictions": [ + { + "x": 200.0, + "y": 300.0, + "width": 50.0, + "height": 50.0, + "confidence": 0.9, + "class_id": 0, + "class": "person", + "points": [ + {"x": 200.0, "y": 300.0}, + {"x": 250.0, "y": 300.0}, + {"x": 250.0, "y": 350.0}, + {"x": 200.0, "y": 350.0}, + ], + } + ], + "image": {"width": 1000, "height": 1000}, + }, + ( + np.array([[175.0, 275.0, 225.0, 325.0]]), + np.array([0.9]), + np.array([0]), + TEST_MASK, + None, + {CLASS_NAME_DATA_FIELD: np.array(["person"])}, + ), + DoesNotRaise(), + ), # single incorrect instance segmentation result with no enough points + ( + { + "predictions": [ + { + "x": 200.0, + "y": 300.0, + "width": 50.0, + "height": 50.0, + "confidence": 0.9, + "class_id": 0, + "class": "person", + "points": [ + {"x": 200.0, "y": 300.0}, + {"x": 250.0, "y": 300.0}, + {"x": 250.0, "y": 350.0}, + {"x": 200.0, "y": 350.0}, + ], + }, + { + "x": 500.0, + "y": 500.0, + "width": 100.0, + "height": 100.0, + "confidence": 0.8, + "class_id": 7, + "class": "truck", + "points": [], + }, + ], + "image": {"width": 1000, "height": 1000}, + }, + ( + np.array([[175.0, 275.0, 225.0, 325.0]]), + np.array([0.9]), + np.array([0]), + TEST_MASK, + None, + {CLASS_NAME_DATA_FIELD: np.array(["person"])}, + ), + DoesNotRaise(), + ), # two instance segmentation results - one correct, one incorrect + ], +) +def test_process_roboflow_result( + roboflow_result: dict, + expected_result: tuple[ + np.ndarray, np.ndarray, np.ndarray, np.ndarray | None, np.ndarray + ], + exception: Exception, +) -> None: + with exception: + result = process_roboflow_result(roboflow_result=roboflow_result) + assert np.array_equal(result[0], expected_result[0]) + assert np.array_equal(result[1], expected_result[1]) + assert np.array_equal(result[2], expected_result[2]) + assert (result[3] is None and expected_result[3] is None) or ( + np.array_equal(result[3], expected_result[3]) + ) + assert (result[4] is None and expected_result[4] is None) or ( + np.array_equal(result[4], expected_result[4]) + ) + for key in result[5]: + if isinstance(result[5][key], np.ndarray): + assert np.array_equal(result[5][key], expected_result[5][key]), ( + f"Mismatch in arrays for key {key}" + ) + else: + assert result[5][key] == expected_result[5][key], ( + f"Mismatch in non-array data for key {key}" + ) + +@pytest.mark.parametrize( + "data_list, expected_result, exception", + [ + ( + [], + {}, + DoesNotRaise(), + ), # empty data list + ( + [{}], + {}, + DoesNotRaise(), + ), # single empty data dict + ( + [{}, {}], + {}, + DoesNotRaise(), + ), # two empty data dicts + ( + [ + {"test_1": []}, + ], + {"test_1": []}, + DoesNotRaise(), + ), # single data dict with a single field name and empty list values + ( + [ + {"test_1": []}, + {"test_1": []}, + ], + {"test_1": []}, + DoesNotRaise(), + ), # two data dicts with the same field name and empty list values + ( + [ + {"test_1": np.array([])}, + ], + {"test_1": np.array([])}, + DoesNotRaise(), + ), # single data dict with a single field name and empty np.array values + ( + [ + {"test_1": np.array([])}, + {"test_1": np.array([])}, + ], + {"test_1": np.array([])}, + DoesNotRaise(), + ), # two data dicts with the same field name and empty np.array values + ( + [ + {"test_1": [1, 2, 3]}, + ], + {"test_1": [1, 2, 3]}, + DoesNotRaise(), + ), # single data dict with a single field name and list values + ( + [ + {"test_1": []}, + {"test_1": [3, 2, 1]}, + ], + {"test_1": [3, 2, 1]}, + DoesNotRaise(), + ), # two data dicts with the same field name; one of with empty list as value + ( + [ + {"test_1": [1, 2, 3]}, + {"test_1": [3, 2, 1]}, + ], + {"test_1": [1, 2, 3, 3, 2, 1]}, + DoesNotRaise(), + ), # two data dicts with the same field name and list values + ( + [ + {"test_1": [1, 2, 3]}, + {"test_1": [3, 2, 1]}, + {"test_1": [1, 2, 3]}, + ], + {"test_1": [1, 2, 3, 3, 2, 1, 1, 2, 3]}, + DoesNotRaise(), + ), # three data dicts with the same field name and list values + ( + [ + {"test_1": [1, 2, 3]}, + {"test_2": [3, 2, 1]}, + ], + None, + pytest.raises(ValueError), + ), # two data dicts with different field names + ( + [ + {"test_1": np.array([1, 2, 3])}, + {"test_1": np.array([3, 2, 1])}, + ], + {"test_1": np.array([1, 2, 3, 3, 2, 1])}, + DoesNotRaise(), + ), # two data dicts with the same field name and np.array values as 1D arrays + ( + [ + {"test_1": np.array([[1, 2, 3]])}, + {"test_1": np.array([[3, 2, 1]])}, + ], + {"test_1": np.array([[1, 2, 3], [3, 2, 1]])}, + DoesNotRaise(), + ), # two data dicts with the same field name and np.array values as 2D arrays + ( + [ + {"test_1": np.array([1, 2, 3]), "test_2": np.array(["a", "b", "c"])}, + {"test_1": np.array([3, 2, 1]), "test_2": np.array(["c", "b", "a"])}, + ], + { + "test_1": np.array([1, 2, 3, 3, 2, 1]), + "test_2": np.array(["a", "b", "c", "c", "b", "a"]), + }, + DoesNotRaise(), + ), # two data dicts with the same field names and np.array values + ( + [ + {"test_1": [1, 2, 3], "test_2": np.array(["a", "b", "c"])}, + {"test_1": [3, 2, 1], "test_2": np.array(["c", "b", "a"])}, + ], + { + "test_1": [1, 2, 3, 3, 2, 1], + "test_2": np.array(["a", "b", "c", "c", "b", "a"]), + }, + DoesNotRaise(), + ), # two data dicts with the same field names and mixed values + ( + [ + {"test_1": np.array([1, 2, 3])}, + {"test_1": np.array([[3, 2, 1]])}, + ], + None, + pytest.raises(ValueError), + ), # two data dicts with the same field name and 1D and 2D arrays values + ( + [ + {"test_1": np.array([1, 2, 3]), "test_2": np.array(["a", "b"])}, + {"test_1": np.array([3, 2, 1]), "test_2": np.array(["c", "b", "a"])}, + ], + None, + pytest.raises(ValueError), + ), # two data dicts with the same field name and different length arrays values + ( + [{}, {"test_1": [1, 2, 3]}], + None, + pytest.raises(ValueError), + ), # two data dicts; one empty and one non-empty dict + ( + [{"test_1": [], "test_2": []}, {"test_1": [1, 2, 3], "test_2": [1, 2, 3]}], + {"test_1": [1, 2, 3], "test_2": [1, 2, 3]}, + DoesNotRaise(), + ), # two data dicts; one empty and one non-empty dict; same keys + ( + [{"test_1": []}, {"test_1": [1, 2, 3], "test_2": [4, 5, 6]}], + None, + pytest.raises(ValueError), + ), # two data dicts; one empty and one non-empty dict; different keys + ( + [ + { + "test_1": [1, 2, 3], + "test_2": [4, 5, 6], + "test_3": [7, 8, 9], + }, + {"test_1": [1, 2, 3], "test_2": [4, 5, 6]}, + ], + None, + pytest.raises(ValueError), + ), # two data dicts; one with three keys, one with two keys + ( + [ + {"test_1": [1, 2, 3]}, + {"test_1": [1, 2, 3], "test_2": [1, 2, 3]}, + ], + None, + pytest.raises(ValueError), + ), # some keys missing in one dict + ( + [ + {"test_1": [1, 2, 3], "test_2": ["a", "b"]}, + {"test_1": [4, 5], "test_2": ["c", "d", "e"]}, + ], + None, + pytest.raises(ValueError), + ), # different value lengths for the same key + ], +) +def test_merge_data( + data_list: list[dict[str, Any]], + expected_result: dict[str, Any] | None, + exception: Exception, +): + with exception: + result = merge_data(data_list=data_list) + if expected_result is None: + assert False, f"Expected an error, but got result {result}" + + for key in result: + if isinstance(result[key], np.ndarray): + assert np.array_equal(result[key], expected_result[key]), ( + f"Mismatch in arrays for key {key}" + ) + else: + assert result[key] == expected_result[key], ( + f"Mismatch in non-array data for key {key}" + ) + + +@pytest.mark.parametrize( + "data, index, expected_result, exception", + [ + ({}, 0, {}, DoesNotRaise()), # empty data dict + ( + { + "test_1": [1, 2, 3], + }, + 0, + { + "test_1": [1], + }, + DoesNotRaise(), + ), # data dict with a single list field and integer index + ( + { + "test_1": np.array([1, 2, 3]), + }, + 0, + { + "test_1": np.array([1]), + }, + DoesNotRaise(), + ), # data dict with a single np.array field and integer index + ( + { + "test_1": [1, 2, 3], + }, + slice(0, 2), + { + "test_1": [1, 2], + }, + DoesNotRaise(), + ), # data dict with a single list field and slice index + ( + { + "test_1": np.array([1, 2, 3]), + }, + slice(0, 2), + { + "test_1": np.array([1, 2]), + }, + DoesNotRaise(), + ), # data dict with a single np.array field and slice index + ( + { + "test_1": [1, 2, 3], + }, + -1, + { + "test_1": [3], + }, + DoesNotRaise(), + ), # data dict with a single list field and negative integer index + ( + { + "test_1": np.array([1, 2, 3]), + }, + -1, + { + "test_1": np.array([3]), + }, + DoesNotRaise(), + ), # data dict with a single np.array field and negative integer index + ( + { + "test_1": [1, 2, 3], + }, + [0, 2], + { + "test_1": [1, 3], + }, + DoesNotRaise(), + ), # data dict with a single list field and integer list index + ( + { + "test_1": np.array([1, 2, 3]), + }, + [0, 2], + { + "test_1": np.array([1, 3]), + }, + DoesNotRaise(), + ), # data dict with a single np.array field and integer list index + ( + { + "test_1": [1, 2, 3], + }, + np.array([0, 2]), + { + "test_1": [1, 3], + }, + DoesNotRaise(), + ), # data dict with a single list field and integer np.array index + ( + { + "test_1": np.array([1, 2, 3]), + }, + np.array([0, 2]), + { + "test_1": np.array([1, 3]), + }, + DoesNotRaise(), + ), # data dict with a single np.array field and integer np.array index + ( + { + "test_1": np.array([1, 2, 3]), + }, + np.array([True, True, True]), + { + "test_1": np.array([1, 2, 3]), + }, + DoesNotRaise(), + ), # data dict with a single np.array field and all-true bool np.array index + ( + { + "test_1": np.array([1, 2, 3]), + }, + np.array([False, False, False]), + { + "test_1": np.array([]), + }, + DoesNotRaise(), + ), # data dict with a single np.array field and all-false bool np.array index + ( + { + "test_1": np.array([1, 2, 3]), + }, + np.array([False, True, False]), + { + "test_1": np.array([2]), + }, + DoesNotRaise(), + ), # data dict with a single np.array field and mixed bool np.array index + ( + {"test_1": np.array([1, 2, 3]), "test_2": ["a", "b", "c"]}, + 0, + {"test_1": np.array([1]), "test_2": ["a"]}, + DoesNotRaise(), + ), # data dict with two fields and integer index + ( + {"test_1": np.array([1, 2, 3]), "test_2": ["a", "b", "c"]}, + -1, + {"test_1": np.array([3]), "test_2": ["c"]}, + DoesNotRaise(), + ), # data dict with two fields and negative integer index + ( + {"test_1": np.array([1, 2, 3]), "test_2": ["a", "b", "c"]}, + np.array([False, True, False]), + {"test_1": np.array([2]), "test_2": ["b"]}, + DoesNotRaise(), + ), # data dict with two fields and mixed bool np.array index + ], +) +def test_get_data_item( + data: dict[str, Any], + index: Any, + expected_result: dict[str, Any] | None, + exception: Exception, +): + with exception: + result = get_data_item(data=data, index=index) + for key in result: + if isinstance(result[key], np.ndarray): + assert np.array_equal(result[key], expected_result[key]), ( + f"Mismatch in arrays for key {key}" + ) + else: + assert result[key] == expected_result[key], ( + f"Mismatch in non-array data for key {key}" + ) + + +@pytest.mark.parametrize( + "metadata_list, expected_result, exception", + [ + # Identical metadata with a single key + ([{"key1": "value1"}, {"key1": "value1"}], {"key1": "value1"}, DoesNotRaise()), + # Identical metadata with multiple keys + ( + [ + {"key1": "value1", "key2": "value2"}, + {"key1": "value1", "key2": "value2"}, + ], + {"key1": "value1", "key2": "value2"}, + DoesNotRaise(), + ), + # Conflicting values for the same key + ([{"key1": "value1"}, {"key1": "value2"}], None, pytest.raises(ValueError)), + # Different sets of keys across dictionaries + ([{"key1": "value1"}, {"key2": "value2"}], None, pytest.raises(ValueError)), + # Empty metadata list + ([], {}, DoesNotRaise()), + # Empty metadata dictionaries + ([{}, {}], {}, DoesNotRaise()), + # Different declaration order for keys + ( + [ + {"key1": "value1", "key2": "value2"}, + {"key2": "value2", "key1": "value1"}, + ], + {"key1": "value1", "key2": "value2"}, + DoesNotRaise(), + ), + # Nested metadata dictionaries + ( + [{"key1": {"sub_key": "sub_value"}}, {"key1": {"sub_key": "sub_value"}}], + {"key1": {"sub_key": "sub_value"}}, + DoesNotRaise(), + ), + # Large metadata dictionaries with many keys + ( + [ + {f"key{i}": f"value{i}" for i in range(100)}, + {f"key{i}": f"value{i}" for i in range(100)}, + ], + {f"key{i}": f"value{i}" for i in range(100)}, + DoesNotRaise(), + ), + # Mixed types in list metadata values + ( + [{"key1": ["value1", 2, True]}, {"key1": ["value1", 2, True]}], + {"key1": ["value1", 2, True]}, + DoesNotRaise(), + ), + # Identical lists across metadata dictionaries + ( + [{"key1": [1, 2, 3]}, {"key1": [1, 2, 3]}], + {"key1": [1, 2, 3]}, + DoesNotRaise(), + ), + # Identical numpy arrays across metadata dictionaries + ( + [{"key1": np.array([1, 2, 3])}, {"key1": np.array([1, 2, 3])}], + {"key1": np.array([1, 2, 3])}, + DoesNotRaise(), + ), + # Identical numpy arrays across metadata dictionaries, different datatype + ( + [ + {"key1": np.array([1, 2, 3], dtype=np.int32)}, + {"key1": np.array([1, 2, 3], dtype=np.int64)}, + ], + {"key1": np.array([1, 2, 3])}, + DoesNotRaise(), + ), + # Conflicting lists for the same key + ([{"key1": [1, 2, 3]}, {"key1": [4, 5, 6]}], None, pytest.raises(ValueError)), + # Conflicting numpy arrays for the same key + ( + [{"key1": np.array([1, 2, 3])}, {"key1": np.array([4, 5, 6])}], + None, + pytest.raises(ValueError), + ), + # Mixed data types: list and numpy array for the same key + ( + [{"key1": [1, 2, 3]}, {"key1": np.array([1, 2, 3])}], + None, + pytest.raises(ValueError), + ), + # Empty lists and numpy arrays for the same key + ([{"key1": []}, {"key1": np.array([])}], None, pytest.raises(ValueError)), + # Identical multi-dimensional lists across metadata dictionaries + ( + [{"key1": [[1, 2], [3, 4]]}, {"key1": [[1, 2], [3, 4]]}], + {"key1": [[1, 2], [3, 4]]}, + DoesNotRaise(), + ), + # Identical multi-dimensional numpy arrays across metadata dictionaries + ( + [ + {"key1": np.arange(4).reshape(2, 2)}, + {"key1": np.arange(4).reshape(2, 2)}, + ], + {"key1": np.arange(4).reshape(2, 2)}, + DoesNotRaise(), + ), + # Conflicting multi-dimensional lists for the same key + ( + [{"key1": [[1, 2], [3, 4]]}, {"key1": [[5, 6], [7, 8]]}], + None, + pytest.raises(ValueError), + ), + # Conflicting multi-dimensional numpy arrays for the same key + ( + [ + {"key1": np.arange(4).reshape(2, 2)}, + {"key1": np.arange(4, 8).reshape(2, 2)}, + ], + None, + pytest.raises(ValueError), + ), + # Mixed types with multi-dimensional list and array for the same key + ( + [{"key1": [[1, 2], [3, 4]]}, {"key1": np.arange(4).reshape(2, 2)}], + None, + pytest.raises(ValueError), + ), + # Identical higher-dimensional (3D) numpy arrays across + # metadata dictionaries + ( + [ + {"key1": np.arange(8).reshape(2, 2, 2)}, + {"key1": np.arange(8).reshape(2, 2, 2)}, + ], + {"key1": np.arange(8).reshape(2, 2, 2)}, + DoesNotRaise(), + ), + # Differently-shaped higher-dimensional (3D) numpy arrays + # across metadata dictionaries + ( + [ + {"key1": np.arange(8).reshape(2, 2, 2)}, + {"key1": np.arange(8).reshape(4, 1, 2)}, + ], + None, + pytest.raises(ValueError), + ), + ], +) +def test_merge_metadata(metadata_list, expected_result, exception): + with exception: + result = merge_metadata(metadata_list) + if expected_result is None: + assert result is None, f"Expected an error, but got a result {result}" + for key, value in result.items(): + assert key in expected_result + if isinstance(value, np.ndarray): + np.testing.assert_array_equal(value, expected_result[key]) + else: + assert value == expected_result[key] diff --git a/test/detection/test_overlap_filter.py b/test/detection/utils/test_iou_and_nms.py similarity index 99% rename from test/detection/test_overlap_filter.py rename to test/detection/utils/test_iou_and_nms.py index d870f89712..abd19b880d 100644 --- a/test/detection/test_overlap_filter.py +++ b/test/detection/utils/test_iou_and_nms.py @@ -5,12 +5,8 @@ import numpy as np import pytest -from supervision.detection.overlap_filter import ( - box_non_max_suppression, - group_overlapping_boxes, - mask_non_max_merge, - mask_non_max_suppression, -) +from supervision.detection.utils.iou_and_nms import box_non_max_suppression, \ + mask_non_max_suppression, mask_non_max_merge, _group_overlapping_boxes @pytest.mark.parametrize( @@ -133,7 +129,7 @@ def test_group_overlapping_boxes( exception: Exception, ) -> None: with exception: - result = group_overlapping_boxes( + result = _group_overlapping_boxes( predictions=predictions, iou_threshold=iou_threshold ) diff --git a/test/detection/utils/test_masks.py b/test/detection/utils/test_masks.py new file mode 100644 index 0000000000..15fb4945ce --- /dev/null +++ b/test/detection/utils/test_masks.py @@ -0,0 +1,498 @@ +from __future__ import annotations + +from contextlib import ExitStack as DoesNotRaise + +import numpy as np +import numpy.typing as npt +import pytest + +from supervision.detection.utils.masks import move_masks, calculate_masks_centroids, \ + contains_holes, contains_multiple_segments + + +@pytest.mark.parametrize( + "masks, offset, resolution_wh, expected_result, exception", + [ + ( + np.array( + [ + [ + [False, False, False, False], + [False, True, True, False], + [False, True, True, False], + [False, False, False, False], + ] + ], + dtype=bool, + ), + np.array([0, 0]), + (4, 4), + np.array( + [ + [ + [False, False, False, False], + [False, True, True, False], + [False, True, True, False], + [False, False, False, False], + ] + ], + dtype=bool, + ), + DoesNotRaise(), + ), + ( + np.array( + [ + [ + [False, False, False, False], + [False, True, True, False], + [False, True, True, False], + [False, False, False, False], + ] + ], + dtype=bool, + ), + np.array([-1, -1]), + (4, 4), + np.array( + [ + [ + [True, True, False, False], + [True, True, False, False], + [False, False, False, False], + [False, False, False, False], + ] + ], + dtype=bool, + ), + DoesNotRaise(), + ), + ( + np.array( + [ + [ + [False, False, False, False], + [False, True, True, False], + [False, True, True, False], + [False, False, False, False], + ] + ], + dtype=bool, + ), + np.array([-2, -2]), + (4, 4), + np.array( + [ + [ + [True, False, False, False], + [False, False, False, False], + [False, False, False, False], + [False, False, False, False], + ] + ], + dtype=bool, + ), + DoesNotRaise(), + ), + ( + np.array( + [ + [ + [False, False, False, False], + [False, True, True, False], + [False, True, True, False], + [False, False, False, False], + ] + ], + dtype=bool, + ), + np.array([-3, -3]), + (4, 4), + np.array( + [ + [ + [False, False, False, False], + [False, False, False, False], + [False, False, False, False], + [False, False, False, False], + ] + ], + dtype=bool, + ), + DoesNotRaise(), + ), + ( + np.array( + [ + [ + [False, False, False, False], + [False, True, True, False], + [False, True, True, False], + [False, False, False, False], + ] + ], + dtype=bool, + ), + np.array([-2, -1]), + (4, 4), + np.array( + [ + [ + [True, False, False, False], + [True, False, False, False], + [False, False, False, False], + [False, False, False, False], + ] + ], + dtype=bool, + ), + DoesNotRaise(), + ), + ( + np.array( + [ + [ + [False, False, False, False], + [False, True, True, False], + [False, True, True, False], + [False, False, False, False], + ] + ], + dtype=bool, + ), + np.array([-1, -2]), + (4, 4), + np.array( + [ + [ + [True, True, False, False], + [False, False, False, False], + [False, False, False, False], + [False, False, False, False], + ] + ], + dtype=bool, + ), + DoesNotRaise(), + ), + ( + np.array( + [ + [ + [False, False, False, False], + [False, True, True, False], + [False, True, True, False], + [False, False, False, False], + ] + ], + dtype=bool, + ), + np.array([-2, 2]), + (4, 4), + np.array( + [ + [ + [False, False, False, False], + [False, False, False, False], + [False, False, False, False], + [True, False, False, False], + ] + ], + dtype=bool, + ), + DoesNotRaise(), + ), + ( + np.array( + [ + [ + [False, False, False, False], + [False, True, True, False], + [False, True, True, False], + [False, False, False, False], + ] + ], + dtype=bool, + ), + np.array([3, 3]), + (4, 4), + np.array( + [ + [ + [False, False, False, False], + [False, False, False, False], + [False, False, False, False], + [False, False, False, False], + ] + ], + dtype=bool, + ), + DoesNotRaise(), + ), + ( + np.array( + [ + [ + [False, False, False, False], + [False, True, True, False], + [False, True, True, False], + [False, False, False, False], + ] + ], + dtype=bool, + ), + np.array([3, 3]), + (6, 6), + np.array( + [ + [ + [False, False, False, False, False, False], + [False, False, False, False, False, False], + [False, False, False, False, False, False], + [False, False, False, False, False, False], + [False, False, False, False, True, True], + [False, False, False, False, True, True], + ] + ], + dtype=bool, + ), + DoesNotRaise(), + ), + ], +) +def test_move_masks( + masks: np.ndarray, + offset: np.ndarray, + resolution_wh: tuple[int, int], + expected_result: np.ndarray, + exception: Exception, +) -> None: + with exception: + result = move_masks(masks=masks, offset=offset, resolution_wh=resolution_wh) + np.testing.assert_array_equal(result, expected_result) + + +@pytest.mark.parametrize( + "masks, expected_result, exception", + [ + ( + np.array( + [ + [ + [0, 0, 0, 0], + [0, 0, 0, 0], + [0, 0, 0, 0], + [0, 0, 0, 0], + ] + ] + ), + np.array([[0, 0]]), + DoesNotRaise(), + ), # single mask with all zeros + ( + np.array( + [ + [ + [1, 1, 1, 1], + [1, 1, 1, 1], + [1, 1, 1, 1], + [1, 1, 1, 1], + ] + ] + ), + np.array([[2, 2]]), + DoesNotRaise(), + ), # single mask with all ones + ( + np.array( + [ + [ + [0, 1, 1, 0], + [1, 1, 1, 1], + [1, 1, 1, 1], + [0, 1, 1, 0], + ] + ] + ), + np.array([[2, 2]]), + DoesNotRaise(), + ), # single mask with symmetric ones + ( + np.array( + [ + [ + [0, 0, 0, 0], + [0, 0, 1, 1], + [0, 0, 1, 1], + [0, 0, 0, 0], + ] + ] + ), + np.array([[3, 2]]), + DoesNotRaise(), + ), # single mask with asymmetric ones + ( + np.array( + [ + [ + [0, 1, 1, 0], + [1, 1, 1, 1], + [1, 1, 1, 1], + [0, 1, 1, 0], + ], + [ + [0, 0, 0, 0], + [0, 0, 1, 1], + [0, 0, 1, 1], + [0, 0, 0, 0], + ], + ] + ), + np.array([[2, 2], [3, 2]]), + DoesNotRaise(), + ), # two masks + ], +) +def test_calculate_masks_centroids( + masks: np.ndarray, + expected_result: np.ndarray, + exception: Exception, +) -> None: + with exception: + result = calculate_masks_centroids(masks=masks) + assert np.array_equal(result, expected_result) + + +@pytest.mark.parametrize( + "mask, expected_result, exception", + [ + ( + np.array([[0, 0, 0, 0], [0, 1, 1, 0], [0, 1, 0, 0], [0, 1, 1, 0]]).astype( + bool + ), + False, + DoesNotRaise(), + ), # foreground object in one continuous piece + ( + np.array([[1, 0, 0, 0], [1, 0, 0, 0], [0, 0, 0, 0], [0, 1, 1, 0]]).astype( + bool + ), + False, + DoesNotRaise(), + ), # foreground object in 2 separate elements + ( + np.array([[0, 0, 0, 0], [0, 0, 0, 0], [0, 0, 0, 0], [0, 0, 0, 0]]).astype( + bool + ), + False, + DoesNotRaise(), + ), # no foreground pixels in mask + ( + np.array([[1, 1, 1, 1], [1, 1, 1, 1], [1, 1, 1, 1], [1, 1, 1, 1]]).astype( + bool + ), + False, + DoesNotRaise(), + ), # only foreground pixels in mask + ( + np.array([[1, 1, 1, 0], [1, 0, 1, 0], [1, 1, 1, 0], [0, 0, 0, 0]]).astype( + bool + ), + True, + DoesNotRaise(), + ), # foreground object has 1 hole + ( + np.array([[1, 1, 1, 0], [1, 0, 1, 1], [1, 1, 0, 1], [0, 1, 1, 1]]).astype( + bool + ), + True, + DoesNotRaise(), + ), # foreground object has 2 holes + ], +) +def test_contains_holes( + mask: npt.NDArray[np.bool_], expected_result: bool, exception: Exception +) -> None: + with exception: + result = contains_holes(mask) + assert result == expected_result + + +@pytest.mark.parametrize( + "mask, connectivity, expected_result, exception", + [ + ( + np.array([[0, 0, 0, 0], [0, 1, 1, 0], [0, 1, 0, 0], [0, 1, 1, 0]]).astype( + bool + ), + 4, + False, + DoesNotRaise(), + ), # foreground object in one continuous piece + ( + np.array([[1, 0, 0, 0], [1, 0, 0, 0], [0, 0, 0, 0], [0, 1, 1, 0]]).astype( + bool + ), + 4, + True, + DoesNotRaise(), + ), # foreground object in 2 separate elements + ( + np.array([[0, 0, 0, 0], [0, 0, 0, 0], [0, 0, 0, 0], [0, 0, 0, 0]]).astype( + bool + ), + 4, + False, + DoesNotRaise(), + ), # no foreground pixels in mask + ( + np.array([[1, 1, 1, 1], [1, 1, 1, 1], [1, 1, 1, 1], [1, 1, 1, 1]]).astype( + bool + ), + 4, + False, + DoesNotRaise(), + ), # only foreground pixels in mask + ( + np.array([[1, 1, 1, 0], [1, 0, 1, 1], [1, 1, 0, 1], [0, 1, 1, 1]]).astype( + bool + ), + 4, + False, + DoesNotRaise(), + ), # foreground object has 2 holes, but is in single piece + ( + np.array([[1, 1, 0, 0], [1, 1, 0, 1], [1, 0, 1, 1], [0, 0, 1, 1]]).astype( + bool + ), + 4, + True, + DoesNotRaise(), + ), # foreground object in 2 elements with respect to 4-way connectivity + ( + np.array([[1, 1, 0, 0], [1, 1, 0, 1], [1, 0, 1, 1], [0, 0, 1, 1]]).astype( + bool + ), + 8, + False, + DoesNotRaise(), + ), # foreground object in single piece with respect to 8-way connectivity + ( + np.array([[1, 1, 0, 0], [1, 1, 0, 1], [1, 0, 1, 1], [0, 0, 1, 1]]).astype( + bool + ), + 5, + None, + pytest.raises(ValueError), + ), # Incorrect connectivity parameter value, raises ValueError + ], +) +def test_contains_multiple_segments( + mask: npt.NDArray[np.bool_], + connectivity: int, + expected_result: bool, + exception: Exception, +) -> None: + with exception: + result = contains_multiple_segments(mask=mask, connectivity=connectivity) + assert result == expected_result diff --git a/test/detection/utils/test_polygons.py b/test/detection/utils/test_polygons.py new file mode 100644 index 0000000000..a3c02342db --- /dev/null +++ b/test/detection/utils/test_polygons.py @@ -0,0 +1,102 @@ +from __future__ import annotations + +from contextlib import ExitStack as DoesNotRaise + +import numpy as np +import pytest + +from supervision.detection.utils.polygons import filter_polygons_by_area + + +@pytest.mark.parametrize( + "polygons, min_area, max_area, expected_result, exception", + [ + ( + [np.array([[0, 0], [0, 10], [10, 10], [10, 0]])], + None, + None, + [np.array([[0, 0], [0, 10], [10, 10], [10, 0]])], + DoesNotRaise(), + ), # single polygon without area constraints + ( + [np.array([[0, 0], [0, 10], [10, 10], [10, 0]])], + 50, + None, + [np.array([[0, 0], [0, 10], [10, 10], [10, 0]])], + DoesNotRaise(), + ), # single polygon with min_area constraint + ( + [np.array([[0, 0], [0, 10], [10, 10], [10, 0]])], + None, + 50, + [], + DoesNotRaise(), + ), # single polygon with max_area constraint + ( + [ + np.array([[0, 0], [0, 10], [10, 10], [10, 0]]), + np.array([[0, 0], [0, 20], [20, 20], [20, 0]]), + ], + 200, + None, + [np.array([[0, 0], [0, 20], [20, 20], [20, 0]])], + DoesNotRaise(), + ), # two polygons with min_area constraint + ( + [ + np.array([[0, 0], [0, 10], [10, 10], [10, 0]]), + np.array([[0, 0], [0, 20], [20, 20], [20, 0]]), + ], + None, + 200, + [np.array([[0, 0], [0, 10], [10, 10], [10, 0]])], + DoesNotRaise(), + ), # two polygons with max_area constraint + ( + [ + np.array([[0, 0], [0, 10], [10, 10], [10, 0]]), + np.array([[0, 0], [0, 20], [20, 20], [20, 0]]), + ], + 200, + 200, + [], + DoesNotRaise(), + ), # two polygons with both area constraints + ( + [ + np.array([[0, 0], [0, 10], [10, 10], [10, 0]]), + np.array([[0, 0], [0, 20], [20, 20], [20, 0]]), + ], + 100, + 100, + [np.array([[0, 0], [0, 10], [10, 10], [10, 0]])], + DoesNotRaise(), + ), # two polygons with min_area and + # max_area equal to the area of the first polygon + ( + [ + np.array([[0, 0], [0, 10], [10, 10], [10, 0]]), + np.array([[0, 0], [0, 20], [20, 20], [20, 0]]), + ], + 400, + 400, + [np.array([[0, 0], [0, 20], [20, 20], [20, 0]])], + DoesNotRaise(), + ), # two polygons with min_area and + # max_area equal to the area of the second polygon + ], +) +def test_filter_polygons_by_area( + polygons: list[np.ndarray], + min_area: float | None, + max_area: float | None, + expected_result: list[np.ndarray], + exception: Exception, +) -> None: + with exception: + result = filter_polygons_by_area( + polygons=polygons, min_area=min_area, max_area=max_area + ) + assert len(result) == len(expected_result) + for result_polygon, expected_result_polygon in zip(result, expected_result): + assert np.array_equal(result_polygon, expected_result_polygon) \ No newline at end of file From 592a649b502badf58c53c512a9d54ec369c2eb4e Mon Sep 17 00:00:00 2001 From: "pre-commit-ci[bot]" <66853113+pre-commit-ci[bot]@users.noreply.github.com> Date: Tue, 15 Jul 2025 17:25:55 +0000 Subject: [PATCH 390/420] =?UTF-8?q?fix(pre=5Fcommit):=20=F0=9F=8E=A8=20aut?= =?UTF-8?q?o=20format=20pre-commit=20hooks?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- supervision/__init__.py | 62 +++++++++---------- supervision/annotators/core.py | 10 +-- supervision/dataset/formats/coco.py | 1 - supervision/dataset/utils.py | 6 +- supervision/detection/core.py | 16 +++-- supervision/detection/utils/polygons.py | 2 +- supervision/metrics/f1_score.py | 8 ++- supervision/metrics/mean_average_recall.py | 8 ++- supervision/metrics/precision.py | 7 ++- supervision/metrics/recall.py | 8 ++- test/detection/tools/test_inference_slicer.py | 2 +- test/detection/utils/test_boxes.py | 2 +- test/detection/utils/test_converters.py | 10 ++- test/detection/utils/test_internal.py | 9 ++- test/detection/utils/test_iou_and_nms.py | 8 ++- test/detection/utils/test_masks.py | 8 ++- test/detection/utils/test_polygons.py | 2 +- 17 files changed, 103 insertions(+), 66 deletions(-) diff --git a/supervision/__init__.py b/supervision/__init__.py index 62da646015..3e5c418cc3 100644 --- a/supervision/__init__.py +++ b/supervision/__init__.py @@ -46,51 +46,51 @@ LineZoneAnnotator, LineZoneAnnotatorMulticlass, ) +from supervision.detection.tools.csv_sink import CSVSink +from supervision.detection.tools.inference_slicer import InferenceSlicer +from supervision.detection.tools.json_sink import JSONSink +from supervision.detection.tools.polygon_zone import PolygonZone, PolygonZoneAnnotator +from supervision.detection.tools.smoother import DetectionsSmoother +from supervision.detection.utils.boxes import ( + clip_boxes, + denormalize_boxes, + move_boxes, + pad_boxes, + scale_boxes, +) +from supervision.detection.utils.converters import ( + mask_to_polygons, + mask_to_xyxy, + polygon_to_mask, + polygon_to_xyxy, + xcycwh_to_xyxy, + xywh_to_xyxy, + xyxy_to_polygons, + xyxy_to_xcycarh, + xyxy_to_xywh, +) from supervision.detection.utils.iou_and_nms import ( + OverlapFilter, + OverlapMetric, box_iou, box_iou_batch, box_iou_batch_with_jaccard, - oriented_box_iou_batch, - mask_iou_batch, - OverlapFilter, - OverlapMetric, box_non_max_merge, box_non_max_suppression, + mask_iou_batch, mask_non_max_suppression, + oriented_box_iou_batch, ) from supervision.detection.utils.masks import ( - move_masks, calculate_masks_centroids, contains_holes, - contains_multiple_segments -) -from supervision.detection.utils.converters import ( - xcycwh_to_xyxy, - xywh_to_xyxy, - xyxy_to_polygons, - xyxy_to_xcycarh, - xyxy_to_xywh, - mask_to_polygons, - mask_to_xyxy, - polygon_to_mask, - polygon_to_xyxy, -) -from supervision.detection.utils.boxes import ( - clip_boxes, - denormalize_boxes, - move_boxes, - pad_boxes, - scale_boxes, + contains_multiple_segments, + move_masks, ) from supervision.detection.utils.polygons import ( + approximate_polygon, filter_polygons_by_area, - approximate_polygon ) -from supervision.detection.tools.csv_sink import CSVSink -from supervision.detection.tools.inference_slicer import InferenceSlicer -from supervision.detection.tools.json_sink import JSONSink -from supervision.detection.tools.polygon_zone import PolygonZone, PolygonZoneAnnotator -from supervision.detection.tools.smoother import DetectionsSmoother from supervision.detection.vlm import LMM, VLM from supervision.draw.color import Color, ColorPalette from supervision.draw.utils import ( @@ -192,6 +192,7 @@ "VertexLabelAnnotator", "VideoInfo", "VideoSink", + "approximate_polygon", "box_iou", "box_iou_batch", "box_iou_batch_with_jaccard", @@ -244,5 +245,4 @@ "xyxy_to_polygons", "xyxy_to_xcycarh", "xyxy_to_xywh", - "approximate_polygon" ] diff --git a/supervision/annotators/core.py b/supervision/annotators/core.py index 096198c59f..6c142db198 100644 --- a/supervision/annotators/core.py +++ b/supervision/annotators/core.py @@ -22,10 +22,12 @@ ) from supervision.config import ORIENTED_BOX_COORDINATES from supervision.detection.core import Detections -from supervision.detection.utils.boxes import spread_out_boxes, clip_boxes -from supervision.detection.utils.converters import mask_to_polygons, xyxy_to_polygons, \ - polygon_to_mask - +from supervision.detection.utils.boxes import clip_boxes, spread_out_boxes +from supervision.detection.utils.converters import ( + mask_to_polygons, + polygon_to_mask, + xyxy_to_polygons, +) from supervision.draw.color import Color, ColorPalette from supervision.draw.utils import draw_polygon, draw_rounded_rectangle, draw_text from supervision.geometry.core import Point, Position, Rect diff --git a/supervision/dataset/formats/coco.py b/supervision/dataset/formats/coco.py index 34fb3fe194..b4827f29d4 100644 --- a/supervision/dataset/formats/coco.py +++ b/supervision/dataset/formats/coco.py @@ -15,7 +15,6 @@ from supervision.detection.core import Detections from supervision.detection.utils.converters import polygon_to_mask from supervision.detection.utils.masks import contains_holes, contains_multiple_segments - from supervision.utils.file import read_json_file, save_json_file if TYPE_CHECKING: diff --git a/supervision/dataset/utils.py b/supervision/dataset/utils.py index eb9af0b289..7405011407 100644 --- a/supervision/dataset/utils.py +++ b/supervision/dataset/utils.py @@ -13,8 +13,10 @@ from supervision.detection.core import Detections from supervision.detection.utils.converters import mask_to_polygons -from supervision.detection.utils.polygons import filter_polygons_by_area, \ - approximate_polygon +from supervision.detection.utils.polygons import ( + approximate_polygon, + filter_polygons_by_area, +) if TYPE_CHECKING: from supervision.dataset.core import DetectionDataset diff --git a/supervision/detection/core.py b/supervision/detection/core.py index d492c52e78..a616a821fe 100644 --- a/supervision/detection/core.py +++ b/supervision/detection/core.py @@ -18,15 +18,23 @@ process_transformers_v5_segmentation_result, ) from supervision.detection.utils.converters import mask_to_xyxy, xywh_to_xyxy -from supervision.detection.utils.internal import get_data_item, is_data_equal, \ - is_metadata_equal, extract_ultralytics_masks, process_roboflow_result, merge_data, \ - merge_metadata +from supervision.detection.utils.internal import ( + extract_ultralytics_masks, + get_data_item, + is_data_equal, + is_metadata_equal, + merge_data, + merge_metadata, + process_roboflow_result, +) from supervision.detection.utils.iou_and_nms import ( OverlapMetric, + box_iou_batch, box_non_max_merge, box_non_max_suppression, + mask_iou_batch, mask_non_max_merge, - mask_non_max_suppression, mask_iou_batch, box_iou_batch, + mask_non_max_suppression, ) from supervision.detection.utils.masks import calculate_masks_centroids from supervision.detection.vlm import ( diff --git a/supervision/detection/utils/polygons.py b/supervision/detection/utils/polygons.py index 3998e70055..c2773f2b5d 100644 --- a/supervision/detection/utils/polygons.py +++ b/supervision/detection/utils/polygons.py @@ -82,4 +82,4 @@ def approximate_polygon( else: break - return np.squeeze(approximated_points, axis=1) \ No newline at end of file + return np.squeeze(approximated_points, axis=1) diff --git a/supervision/metrics/f1_score.py b/supervision/metrics/f1_score.py index c68ebbad39..a327eebe24 100644 --- a/supervision/metrics/f1_score.py +++ b/supervision/metrics/f1_score.py @@ -9,9 +9,11 @@ from supervision.config import ORIENTED_BOX_COORDINATES from supervision.detection.core import Detections -from supervision.detection.utils.iou_and_nms import box_iou_batch, mask_iou_batch, \ - oriented_box_iou_batch - +from supervision.detection.utils.iou_and_nms import ( + box_iou_batch, + mask_iou_batch, + oriented_box_iou_batch, +) from supervision.draw.color import LEGACY_COLOR_PALETTE from supervision.metrics.core import AveragingMethod, Metric, MetricTarget from supervision.metrics.utils.object_size import ( diff --git a/supervision/metrics/mean_average_recall.py b/supervision/metrics/mean_average_recall.py index b96582d9ef..07933cf014 100644 --- a/supervision/metrics/mean_average_recall.py +++ b/supervision/metrics/mean_average_recall.py @@ -9,9 +9,11 @@ from supervision.config import ORIENTED_BOX_COORDINATES from supervision.detection.core import Detections -from supervision.detection.utils.iou_and_nms import box_iou_batch, mask_iou_batch, \ - oriented_box_iou_batch - +from supervision.detection.utils.iou_and_nms import ( + box_iou_batch, + mask_iou_batch, + oriented_box_iou_batch, +) from supervision.draw.color import LEGACY_COLOR_PALETTE from supervision.metrics.core import Metric, MetricTarget from supervision.metrics.utils.object_size import ( diff --git a/supervision/metrics/precision.py b/supervision/metrics/precision.py index 4916094adf..04b4e256ba 100644 --- a/supervision/metrics/precision.py +++ b/supervision/metrics/precision.py @@ -9,8 +9,11 @@ from supervision.config import ORIENTED_BOX_COORDINATES from supervision.detection.core import Detections -from supervision.detection.utils.iou_and_nms import box_iou_batch, mask_iou_batch, \ - oriented_box_iou_batch +from supervision.detection.utils.iou_and_nms import ( + box_iou_batch, + mask_iou_batch, + oriented_box_iou_batch, +) from supervision.draw.color import LEGACY_COLOR_PALETTE from supervision.metrics.core import AveragingMethod, Metric, MetricTarget from supervision.metrics.utils.object_size import ( diff --git a/supervision/metrics/recall.py b/supervision/metrics/recall.py index 582eb8bad5..4a555072d1 100644 --- a/supervision/metrics/recall.py +++ b/supervision/metrics/recall.py @@ -9,9 +9,11 @@ from supervision.config import ORIENTED_BOX_COORDINATES from supervision.detection.core import Detections -from supervision.detection.utils.iou_and_nms import box_iou_batch, mask_iou_batch, \ - oriented_box_iou_batch - +from supervision.detection.utils.iou_and_nms import ( + box_iou_batch, + mask_iou_batch, + oriented_box_iou_batch, +) from supervision.draw.color import LEGACY_COLOR_PALETTE from supervision.metrics.core import AveragingMethod, Metric, MetricTarget from supervision.metrics.utils.object_size import ( diff --git a/test/detection/tools/test_inference_slicer.py b/test/detection/tools/test_inference_slicer.py index ba66cbe10c..2185b77f20 100644 --- a/test/detection/tools/test_inference_slicer.py +++ b/test/detection/tools/test_inference_slicer.py @@ -6,8 +6,8 @@ import pytest from supervision.detection.core import Detections -from supervision.detection.utils.iou_and_nms import OverlapFilter from supervision.detection.tools.inference_slicer import InferenceSlicer +from supervision.detection.utils.iou_and_nms import OverlapFilter @pytest.fixture diff --git a/test/detection/utils/test_boxes.py b/test/detection/utils/test_boxes.py index d6bf1acccf..919989287a 100644 --- a/test/detection/utils/test_boxes.py +++ b/test/detection/utils/test_boxes.py @@ -141,4 +141,4 @@ def test_scale_boxes( ) -> None: with exception: result = scale_boxes(xyxy=xyxy, factor=factor) - assert np.array_equal(result, expected_result) \ No newline at end of file + assert np.array_equal(result, expected_result) diff --git a/test/detection/utils/test_converters.py b/test/detection/utils/test_converters.py index 55146a9956..e13b150042 100644 --- a/test/detection/utils/test_converters.py +++ b/test/detection/utils/test_converters.py @@ -3,8 +3,12 @@ import numpy as np import pytest -from supervision.detection.utils.converters import xywh_to_xyxy, xyxy_to_xywh, \ - xyxy_to_xcycarh, xcycwh_to_xyxy +from supervision.detection.utils.converters import ( + xcycwh_to_xyxy, + xywh_to_xyxy, + xyxy_to_xcycarh, + xyxy_to_xywh, +) @pytest.mark.parametrize( @@ -124,4 +128,4 @@ def test_xyxy_to_xcycarh(xyxy: np.ndarray, expected_result: np.ndarray) -> None: ) def test_xcycwh_to_xyxy(xcycwh: np.ndarray, expected_result: np.ndarray) -> None: result = xcycwh_to_xyxy(xcycwh) - np.testing.assert_array_equal(result, expected_result) \ No newline at end of file + np.testing.assert_array_equal(result, expected_result) diff --git a/test/detection/utils/test_internal.py b/test/detection/utils/test_internal.py index 525cf3b359..0164d32362 100644 --- a/test/detection/utils/test_internal.py +++ b/test/detection/utils/test_internal.py @@ -7,8 +7,12 @@ import pytest from supervision.config import CLASS_NAME_DATA_FIELD -from supervision.detection.utils.internal import process_roboflow_result, merge_data, \ - get_data_item, merge_metadata +from supervision.detection.utils.internal import ( + get_data_item, + merge_data, + merge_metadata, + process_roboflow_result, +) TEST_MASK = np.zeros((1, 1000, 1000), dtype=bool) TEST_MASK[:, 300:351, 200:251] = True @@ -245,6 +249,7 @@ def test_process_roboflow_result( f"Mismatch in non-array data for key {key}" ) + @pytest.mark.parametrize( "data_list, expected_result, exception", [ diff --git a/test/detection/utils/test_iou_and_nms.py b/test/detection/utils/test_iou_and_nms.py index abd19b880d..8039bf2425 100644 --- a/test/detection/utils/test_iou_and_nms.py +++ b/test/detection/utils/test_iou_and_nms.py @@ -5,8 +5,12 @@ import numpy as np import pytest -from supervision.detection.utils.iou_and_nms import box_non_max_suppression, \ - mask_non_max_suppression, mask_non_max_merge, _group_overlapping_boxes +from supervision.detection.utils.iou_and_nms import ( + _group_overlapping_boxes, + box_non_max_suppression, + mask_non_max_merge, + mask_non_max_suppression, +) @pytest.mark.parametrize( diff --git a/test/detection/utils/test_masks.py b/test/detection/utils/test_masks.py index 15fb4945ce..2097f6082c 100644 --- a/test/detection/utils/test_masks.py +++ b/test/detection/utils/test_masks.py @@ -6,8 +6,12 @@ import numpy.typing as npt import pytest -from supervision.detection.utils.masks import move_masks, calculate_masks_centroids, \ - contains_holes, contains_multiple_segments +from supervision.detection.utils.masks import ( + calculate_masks_centroids, + contains_holes, + contains_multiple_segments, + move_masks, +) @pytest.mark.parametrize( diff --git a/test/detection/utils/test_polygons.py b/test/detection/utils/test_polygons.py index a3c02342db..c1ac0f3ae0 100644 --- a/test/detection/utils/test_polygons.py +++ b/test/detection/utils/test_polygons.py @@ -99,4 +99,4 @@ def test_filter_polygons_by_area( ) assert len(result) == len(expected_result) for result_polygon, expected_result_polygon in zip(result, expected_result): - assert np.array_equal(result_polygon, expected_result_polygon) \ No newline at end of file + assert np.array_equal(result_polygon, expected_result_polygon) From d52fcf17a82f4bd49792276b777516db4a43e6c1 Mon Sep 17 00:00:00 2001 From: Onuralp SEZER Date: Tue, 15 Jul 2025 20:41:38 +0300 Subject: [PATCH 391/420] =?UTF-8?q?fix:=20=F0=9F=90=9B=20add=20future=20an?= =?UTF-8?q?notations=20import=20for=20compatibility=20and=20fix=20tests?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- supervision/detection/utils/polygons.py | 2 ++ 1 file changed, 2 insertions(+) diff --git a/supervision/detection/utils/polygons.py b/supervision/detection/utils/polygons.py index c2773f2b5d..c3ded1e70c 100644 --- a/supervision/detection/utils/polygons.py +++ b/supervision/detection/utils/polygons.py @@ -1,3 +1,5 @@ +from __future__ import annotations + import cv2 import numpy as np From 6b905f2d186784324a9ed76fc6a9bfc5433c9439 Mon Sep 17 00:00:00 2001 From: SkalskiP Date: Tue, 15 Jul 2025 19:56:04 +0200 Subject: [PATCH 392/420] works with python 3.9; docs update --- docs/detection/double_detection_filter.md | 35 ------ docs/detection/utils.md | 144 ---------------------- docs/detection/utils/boxes.md | 36 ++++++ docs/detection/utils/converters.md | 60 +++++++++ docs/detection/utils/iou_and_nms.md | 72 +++++++++++ docs/detection/utils/masks.md | 24 ++++ docs/detection/utils/polygons.md | 18 +++ mkdocs.yml | 7 +- supervision/detection/utils/boxes.py | 33 ++--- supervision/detection/utils/masks.py | 2 + supervision/detection/utils/polygons.py | 2 + 11 files changed, 237 insertions(+), 196 deletions(-) delete mode 100644 docs/detection/double_detection_filter.md delete mode 100644 docs/detection/utils.md create mode 100644 docs/detection/utils/boxes.md create mode 100644 docs/detection/utils/converters.md create mode 100644 docs/detection/utils/iou_and_nms.md create mode 100644 docs/detection/utils/masks.md create mode 100644 docs/detection/utils/polygons.md diff --git a/docs/detection/double_detection_filter.md b/docs/detection/double_detection_filter.md deleted file mode 100644 index 24384a13a2..0000000000 --- a/docs/detection/double_detection_filter.md +++ /dev/null @@ -1,35 +0,0 @@ ---- -comments: true ---- - -# Double Detection Filter - - - -:::supervision.detection.overlap_filter.OverlapFilter - - - -:::supervision.detection.overlap_filter.box_non_max_suppression - - - -:::supervision.detection.overlap_filter.mask_non_max_suppression - - - -:::supervision.detection.overlap_filter.box_non_max_merge - - - -:::supervision.detection.overlap_filter.mask_non_max_merge diff --git a/docs/detection/utils.md b/docs/detection/utils.md deleted file mode 100644 index cd18be6454..0000000000 --- a/docs/detection/utils.md +++ /dev/null @@ -1,144 +0,0 @@ ---- -comments: true -status: new ---- - -# Detection Utils - - - -:::supervision.detection.overlap_filter.OverlapMetric - -
    -

    box_iou

    -
    - -:::supervision.detection.utils.box_iou - - - -:::supervision.detection.utils.box_iou_batch - - - -:::supervision.detection.utils.box_iou_batch_with_jaccard - - - -:::supervision.detection.utils.mask_iou_batch - - - -:::supervision.detection.utils.oriented_box_iou_batch - - - -:::supervision.detection.utils.polygon_to_mask - - - -:::supervision.detection.utils.mask_to_xyxy - - - -:::supervision.detection.utils.mask_to_polygons - - - -:::supervision.detection.utils.polygon_to_xyxy - - - -:::supervision.detection.utils.filter_polygons_by_area - - - -:::supervision.detection.utils.move_boxes - - - -:::supervision.detection.utils.move_masks - - - -:::supervision.detection.utils.scale_boxes - - - -:::supervision.detection.utils.clip_boxes - - - -:::supervision.detection.utils.pad_boxes - - - -:::supervision.detection.utils.xywh_to_xyxy - - - -:::supervision.detection.utils.xyxy_to_xywh - - - -:::supervision.detection.utils.denormalize_boxes - - - -:::supervision.detection.utils.xyxy_to_xcycarh - - - -:::supervision.detection.utils.xcycwh_to_xyxy - - - -:::supervision.detection.utils.contains_holes - - - -:::supervision.detection.utils.contains_multiple_segments diff --git a/docs/detection/utils/boxes.md b/docs/detection/utils/boxes.md new file mode 100644 index 0000000000..499578da95 --- /dev/null +++ b/docs/detection/utils/boxes.md @@ -0,0 +1,36 @@ +--- +comments: true +status: new +--- + +# Boxes Utils + + + +:::supervision.detection.utils.boxes.move_boxes + + + +:::supervision.detection.utils.boxes.scale_boxes + + + +:::supervision.detection.utils.boxes.clip_boxes + + + +:::supervision.detection.utils.boxes.pad_boxes + + + +:::supervision.detection.utils.boxes.denormalize_boxes \ No newline at end of file diff --git a/docs/detection/utils/converters.md b/docs/detection/utils/converters.md new file mode 100644 index 0000000000..48bec65fe4 --- /dev/null +++ b/docs/detection/utils/converters.md @@ -0,0 +1,60 @@ +--- +comments: true +status: new +--- + +# Converters Utils + + + +:::supervision.detection.utils.converters.xyxy_to_xywh + + + +:::supervision.detection.utils.converters.xywh_to_xyxy + + + +:::supervision.detection.utils.converters.xyxy_to_xcycarh + + + +:::supervision.detection.utils.converters.xcycwh_to_xyxy + + + +:::supervision.detection.utils.converters.xyxy_to_polygons + + + +:::supervision.detection.utils.converters.mask_to_xyxy + + + +:::supervision.detection.utils.converters.mask_to_polygons + + + +:::supervision.detection.utils.converters.polygon_to_mask + + + +:::supervision.detection.utils.converters.polygon_to_xyxy diff --git a/docs/detection/utils/iou_and_nms.md b/docs/detection/utils/iou_and_nms.md new file mode 100644 index 0000000000..2b4e4fc334 --- /dev/null +++ b/docs/detection/utils/iou_and_nms.md @@ -0,0 +1,72 @@ +--- +comments: true +status: new +--- + +# IoU and NMS Utils + + + +:::supervision.detection.utils.iou_and_nms.OverlapFilter + + + +:::supervision.detection.utils.iou_and_nms.OverlapMetric + +
    +

    box_iou

    +
    + +:::supervision.detection.utils.iou_and_nms.box_iou + + + +:::supervision.detection.utils.iou_and_nms.box_iou_batch + + + +:::supervision.detection.utils.iou_and_nms.box_iou_batch_with_jaccard + + + +:::supervision.detection.utils.iou_and_nms.mask_iou_batch + + + +:::supervision.detection.utils.iou_and_nms.oriented_box_iou_batch + + + +:::supervision.detection.utils.iou_and_nms.box_non_max_suppression + + + +:::supervision.detection.utils.iou_and_nms.mask_non_max_suppression + + + +:::supervision.detection.utils.iou_and_nms.box_non_max_merge + + + +:::supervision.detection.utils.iou_and_nms.mask_non_max_merge diff --git a/docs/detection/utils/masks.md b/docs/detection/utils/masks.md new file mode 100644 index 0000000000..cf4737621b --- /dev/null +++ b/docs/detection/utils/masks.md @@ -0,0 +1,24 @@ +--- +comments: true +status: new +--- + +# Masks Utils + + + +:::supervision.detection.utils.masks.move_masks + + + +:::supervision.detection.utils.masks.contains_holes + + + +:::supervision.detection.utils.masks.contains_multiple_segments \ No newline at end of file diff --git a/docs/detection/utils/polygons.md b/docs/detection/utils/polygons.md new file mode 100644 index 0000000000..cd9525345a --- /dev/null +++ b/docs/detection/utils/polygons.md @@ -0,0 +1,18 @@ +--- +comments: true +status: new +--- + +# Polygons Utils + + + +:::supervision.detection.utils.polygons.filter_polygons_by_area + + + +:::supervision.detection.utils.polygons.approximate_polygon diff --git a/mkdocs.yml b/mkdocs.yml index d31209398c..f25015348a 100644 --- a/mkdocs.yml +++ b/mkdocs.yml @@ -42,8 +42,11 @@ nav: - Detection and Segmentation: - Core: detection/core.md - Annotators: detection/annotators.md - - Double Detection Filter: detection/double_detection_filter.md - - Utils: detection/utils.md + - Converters: detection/utils/converters.md + - IoU and NMS: detection/utils/iou_and_nms.md + - Boxes: detection/utils/boxes.md + - Masks: detection/utils/masks.md + - Polygons: detection/utils/polygons.md - Keypoint Detection: - Core: keypoint/core.md - Annotators: keypoint/annotators.md diff --git a/supervision/detection/utils/boxes.py b/supervision/detection/utils/boxes.py index 0beb390384..3b01fcb68b 100644 --- a/supervision/detection/utils/boxes.py +++ b/supervision/detection/utils/boxes.py @@ -100,25 +100,27 @@ def denormalize_boxes( normalization_factor: float = 1.0, ) -> np.ndarray: """ - Convert normalized xyxy coordinates to absolute XYXY coordinates. By default, assumes - normalized values are between 0 and 1, but supports custom ranges via normalization_factor parameter. + Converts normalized bounding box coordinates to absolute pixel values. + Args: - normalized_xyxy (np.ndarray): A numpy array of shape `(N, 4)` where each row contains - normalized coordinates in format `(x1, y1, x2, y2)` with values between 0 and normalization_factor. - resolution_wh (Tuple[int, int]): A tuple of the form `(width, height)` representing - the target resolution. - normalization_factor (float): The maximum value of the normalization range. For example: - - normalization_factor=1.0 means input coordinates are normalized between 0 and 1 - - normalization_factor=100.0 means input coordinates are normalized between 0 and 100 - - normalization_factor=1000.0 means input coordinates are normalized between 0 and 1000 + normalized_xyxy (np.ndarray): A numpy array of shape `(N, 4)` where each row + contains normalized coordinates in the format `(x_min, y_min, x_max, y_max)`, + with values between 0 and `normalization_factor`. + resolution_wh (Tuple[int, int]): A tuple `(width, height)` representing the + target image resolution. + normalization_factor (float, optional): The normalization range of the input + coordinates. Defaults to 1.0. + Returns: - np.ndarray: A numpy array of shape `(N, 4)` containing the absolute coordinates - in format `(x1, y1, x2, y2)`. + np.ndarray: An array of shape `(N, 4)` with absolute coordinates in + `(x_min, y_min, x_max, y_max)` format. + Examples: ```python import numpy as np import supervision as sv - # Example with default normalization (0-1) + + # Default normalization (0-1) normalized_xyxy = np.array([ [0.1, 0.2, 0.5, 0.6], [0.3, 0.4, 0.7, 0.8] @@ -129,12 +131,13 @@ def denormalize_boxes( # [ 10., 40., 50., 120.], # [ 30., 80., 70., 160.] # ]) - # Example with custom normalization (0-100) + + # Custom normalization (0-100) normalized_xyxy = np.array([ [10., 20., 50., 60.], [30., 40., 70., 80.] ]) - sv.denormalize_boxes(normalized_xyxy, resolution_wh, max_value=100.0) + sv.denormalize_boxes(normalized_xyxy, resolution_wh, normalization_factor=100.0) # array([ # [ 10., 40., 50., 120.], # [ 30., 80., 70., 160.] diff --git a/supervision/detection/utils/masks.py b/supervision/detection/utils/masks.py index f2063a884c..c5cfee0172 100644 --- a/supervision/detection/utils/masks.py +++ b/supervision/detection/utils/masks.py @@ -1,3 +1,5 @@ +from __future__ import annotations + import cv2 import numpy as np import numpy.typing as npt diff --git a/supervision/detection/utils/polygons.py b/supervision/detection/utils/polygons.py index 3998e70055..6da145c891 100644 --- a/supervision/detection/utils/polygons.py +++ b/supervision/detection/utils/polygons.py @@ -1,3 +1,5 @@ +from __future__ import annotations + import cv2 import numpy as np From b507ed90dd3fe815f41268e9106c162293dabce7 Mon Sep 17 00:00:00 2001 From: "pre-commit-ci[bot]" <66853113+pre-commit-ci[bot]@users.noreply.github.com> Date: Tue, 15 Jul 2025 17:56:34 +0000 Subject: [PATCH 393/420] =?UTF-8?q?fix(pre=5Fcommit):=20=F0=9F=8E=A8=20aut?= =?UTF-8?q?o=20format=20pre-commit=20hooks?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- docs/detection/utils/boxes.md | 2 +- docs/detection/utils/masks.md | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/docs/detection/utils/boxes.md b/docs/detection/utils/boxes.md index 499578da95..63a3231755 100644 --- a/docs/detection/utils/boxes.md +++ b/docs/detection/utils/boxes.md @@ -33,4 +33,4 @@ status: new

    denormalize_boxes

    -:::supervision.detection.utils.boxes.denormalize_boxes \ No newline at end of file +:::supervision.detection.utils.boxes.denormalize_boxes diff --git a/docs/detection/utils/masks.md b/docs/detection/utils/masks.md index cf4737621b..9e53a6baa1 100644 --- a/docs/detection/utils/masks.md +++ b/docs/detection/utils/masks.md @@ -21,4 +21,4 @@ status: new

    contains_multiple_segments

    -:::supervision.detection.utils.masks.contains_multiple_segments \ No newline at end of file +:::supervision.detection.utils.masks.contains_multiple_segments From 5b42be9b4a7b15c7d0b29ee38fd3cd6b151d359b Mon Sep 17 00:00:00 2001 From: SkalskiP Date: Tue, 15 Jul 2025 20:10:35 +0200 Subject: [PATCH 394/420] make sure only recently updated pages have new status --- docs/detection/tools/line_zone.md | 1 - docs/keypoint/annotators.md | 1 - docs/keypoint/core.md | 1 - docs/metrics/common_values.md | 1 - docs/metrics/f1_score.md | 1 - docs/metrics/mean_average_recall.md | 1 - docs/metrics/precision.md | 1 - docs/metrics/recall.md | 1 - docs/trackers.md | 1 - 9 files changed, 9 deletions(-) diff --git a/docs/detection/tools/line_zone.md b/docs/detection/tools/line_zone.md index 014687f9cc..8bca3cfd40 100644 --- a/docs/detection/tools/line_zone.md +++ b/docs/detection/tools/line_zone.md @@ -1,6 +1,5 @@ --- comments: true -status: new ---
    diff --git a/docs/keypoint/annotators.md b/docs/keypoint/annotators.md index 30a970ecde..32f30626bb 100644 --- a/docs/keypoint/annotators.md +++ b/docs/keypoint/annotators.md @@ -1,6 +1,5 @@ --- comments: true -status: new --- # Annotators diff --git a/docs/keypoint/core.md b/docs/keypoint/core.md index 7354babab0..6f42c254d5 100644 --- a/docs/keypoint/core.md +++ b/docs/keypoint/core.md @@ -1,6 +1,5 @@ --- comments: true -status: new --- # Keypoint Detection diff --git a/docs/metrics/common_values.md b/docs/metrics/common_values.md index b7600f3f11..c1ab8634ea 100644 --- a/docs/metrics/common_values.md +++ b/docs/metrics/common_values.md @@ -1,6 +1,5 @@ --- comments: true -status: new --- # Common Values diff --git a/docs/metrics/f1_score.md b/docs/metrics/f1_score.md index e31a955773..5cf0cd77f1 100644 --- a/docs/metrics/f1_score.md +++ b/docs/metrics/f1_score.md @@ -1,6 +1,5 @@ --- comments: true -status: new --- # F1 Score diff --git a/docs/metrics/mean_average_recall.md b/docs/metrics/mean_average_recall.md index 5cc0bf0a22..06fd991a5e 100644 --- a/docs/metrics/mean_average_recall.md +++ b/docs/metrics/mean_average_recall.md @@ -1,6 +1,5 @@ --- comments: true -status: new --- # Mean Average Recall diff --git a/docs/metrics/precision.md b/docs/metrics/precision.md index c704452ee4..2689f0556b 100644 --- a/docs/metrics/precision.md +++ b/docs/metrics/precision.md @@ -1,6 +1,5 @@ --- comments: true -status: new --- # Precision diff --git a/docs/metrics/recall.md b/docs/metrics/recall.md index 78dde8334c..516fd7cdeb 100644 --- a/docs/metrics/recall.md +++ b/docs/metrics/recall.md @@ -1,6 +1,5 @@ --- comments: true -status: new --- # Recall diff --git a/docs/trackers.md b/docs/trackers.md index 47f7006193..cb44441f1d 100644 --- a/docs/trackers.md +++ b/docs/trackers.md @@ -1,6 +1,5 @@ --- comments: true -status: new --- # ByteTrack From ab9d12882873b2539e6a8960b4e8806b368089a6 Mon Sep 17 00:00:00 2001 From: SkalskiP Date: Tue, 15 Jul 2025 20:21:27 +0200 Subject: [PATCH 395/420] mark from_lmm as deprecated in docs --- supervision/detection/core.py | 4 +++ supervision/detection/vlm.py | 62 +++++++++++++++++++++++++++++++++++ 2 files changed, 66 insertions(+) diff --git a/supervision/detection/core.py b/supervision/detection/core.py index a616a821fe..bb52c579fc 100644 --- a/supervision/detection/core.py +++ b/supervision/detection/core.py @@ -815,6 +815,10 @@ def from_paddledet(cls, paddledet_result) -> Detections: ) def from_lmm(cls, lmm: LMM | str, result: str | dict, **kwargs: Any) -> Detections: """ + !!! deprecated "Deprecated" + `Detections.from_lmm` is **deprecated** and will be removed in `supervision-0.31.0`. + Please use `Detections.from_vlm` instead. + Creates a Detections object from the given result string based on the specified Large Multimodal Model (LMM). diff --git a/supervision/detection/vlm.py b/supervision/detection/vlm.py index d6f293afdc..a35cd37942 100644 --- a/supervision/detection/vlm.py +++ b/supervision/detection/vlm.py @@ -21,6 +21,18 @@ "`supervision-0.31.0`. Use VLM instead." ) class LMM(Enum): + """ + Enum specifying supported Large Multimodal Models (LMMs). + + Attributes: + PALIGEMMA: Google’s PaliGemma vision-language model. + FLORENCE_2: Microsoft Florence-2 vision-language model. + QWEN_2_5_VL: Qwen2.5-VL open vision-language model from Alibaba. + GOOGLE_GEMINI_2_0: Google Gemini 2.0 vision-language model. + GOOGLE_GEMINI_2_5: Google Gemini 2.5 vision-language model. + MOONDREAM: The Moondream vision-language model. + """ + PALIGEMMA = "paligemma" FLORENCE_2 = "florence_2" QWEN_2_5_VL = "qwen_2_5_vl" @@ -28,8 +40,39 @@ class LMM(Enum): GOOGLE_GEMINI_2_5 = "gemini_2_5" MOONDREAM = "moondream" + @classmethod + def list(cls): + return list(map(lambda c: c.value, cls)) + + @classmethod + def from_value(cls, value: LMM | str) -> LMM: + if isinstance(value, cls): + return value + if isinstance(value, str): + value = value.lower() + try: + return cls(value) + except ValueError: + raise ValueError(f"Invalid value: {value}. Must be one of {cls.list()}") + raise ValueError( + f"Invalid value type: {type(value)}. Must be an instance of " + f"{cls.__name__} or str." + ) + class VLM(Enum): + """ + Enum specifying supported Vision-Language Models (VLMs). + + Attributes: + PALIGEMMA: Google’s PaliGemma vision-language model. + FLORENCE_2: Microsoft Florence-2 vision-language model. + QWEN_2_5_VL: Qwen2.5-VL open vision-language model from Alibaba. + GOOGLE_GEMINI_2_0: Google Gemini 2.0 vision-language model. + GOOGLE_GEMINI_2_5: Google Gemini 2.5 vision-language model. + MOONDREAM: The Moondream vision-language model. + """ + PALIGEMMA = "paligemma" FLORENCE_2 = "florence_2" QWEN_2_5_VL = "qwen_2_5_vl" @@ -37,6 +80,25 @@ class VLM(Enum): GOOGLE_GEMINI_2_5 = "gemini_2_5" MOONDREAM = "moondream" + @classmethod + def list(cls): + return list(map(lambda c: c.value, cls)) + + @classmethod + def from_value(cls, value: VLM | str) -> VLM: + if isinstance(value, cls): + return value + if isinstance(value, str): + value = value.lower() + try: + return cls(value) + except ValueError: + raise ValueError(f"Invalid value: {value}. Must be one of {cls.list()}") + raise ValueError( + f"Invalid value type: {type(value)}. Must be an instance of " + f"{cls.__name__} or str." + ) + RESULT_TYPES: dict[VLM, type] = { VLM.PALIGEMMA: str, From b8d646ac9871b8c8d302b659bd43609d47af97f1 Mon Sep 17 00:00:00 2001 From: Onuralp SEZER Date: Tue, 15 Jul 2025 21:23:28 +0300 Subject: [PATCH 396/420] =?UTF-8?q?fix:=20=F0=9F=90=9E=20type=20annotation?= =?UTF-8?q?s=20for=20internal.py=20vars?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- supervision/detection/utils/internal.py | 39 +++++++++++++++---------- 1 file changed, 23 insertions(+), 16 deletions(-) diff --git a/supervision/detection/utils/internal.py b/supervision/detection/utils/internal.py index 2bcaf955c4..bc6579a8b9 100644 --- a/supervision/detection/utils/internal.py +++ b/supervision/detection/utils/internal.py @@ -68,12 +68,12 @@ def process_roboflow_result( {CLASS_NAME_DATA_FIELD: np.empty(0)}, ) - xyxy = [] - confidence = [] - class_id = [] - class_name = [] - masks = [] - tracker_ids = [] + xyxy: list[list[float]] = [] + confidence: list[float] = [] + class_id: list[int] = [] + class_name: list[str] = [] + masks: list[np.ndarray] = [] + tracker_ids: list[int] = [] image_width = int(roboflow_result["image"]["width"]) image_height = int(roboflow_result["image"]["height"]) @@ -108,15 +108,22 @@ def process_roboflow_result( if "tracker_id" in prediction: tracker_ids.append(prediction["tracker_id"]) - xyxy = np.array(xyxy) if len(xyxy) > 0 else np.empty((0, 4)) - confidence = np.array(confidence) if len(confidence) > 0 else np.empty(0) - class_id = np.array(class_id).astype(int) if len(class_id) > 0 else np.empty(0) - class_name = np.array(class_name) if len(class_name) > 0 else np.empty(0) - masks = np.array(masks, dtype=bool) if len(masks) > 0 else None - tracker_id = np.array(tracker_ids).astype(int) if len(tracker_ids) > 0 else None - data = {CLASS_NAME_DATA_FIELD: class_name} - - return xyxy, confidence, class_id, masks, tracker_id, data + xyxy_arr = np.array(xyxy) if len(xyxy) > 0 else np.empty((0, 4)) + confidence_arr = np.array(confidence) if len(confidence) > 0 else np.empty(0) + class_id_arr = np.array(class_id).astype(int) if len(class_id) > 0 else np.empty(0) + class_name_arr = np.array(class_name) if len(class_name) > 0 else np.empty(0) + masks_arr = np.array(masks, dtype=bool) if len(masks) > 0 else None + tracker_id_arr = np.array(tracker_ids).astype(int) if len(tracker_ids) > 0 else None + data: dict[str, np.ndarray] = {CLASS_NAME_DATA_FIELD: class_name_arr} + + return ( + xyxy_arr, + confidence_arr, + class_id_arr, + masks_arr, + tracker_id_arr, + data, + ) def is_data_equal(data_a: dict[str, np.ndarray], data_b: dict[str, np.ndarray]) -> bool: @@ -285,7 +292,7 @@ def get_data_item( Returns: A subset of the data dictionary corresponding to the specified index. """ - subset_data = {} + subset_data: dict[str, np.ndarray | list] = {} for key, value in data.items(): if isinstance(value, np.ndarray): subset_data[key] = value[index] From 3ba5c122111d614bdff349ac850f2c73d45a8933 Mon Sep 17 00:00:00 2001 From: "pre-commit-ci[bot]" <66853113+pre-commit-ci[bot]@users.noreply.github.com> Date: Tue, 15 Jul 2025 18:26:11 +0000 Subject: [PATCH 397/420] =?UTF-8?q?fix(pre=5Fcommit):=20=F0=9F=8E=A8=20aut?= =?UTF-8?q?o=20format=20pre-commit=20hooks?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- supervision/detection/core.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/supervision/detection/core.py b/supervision/detection/core.py index bb52c579fc..ad7bff5e17 100644 --- a/supervision/detection/core.py +++ b/supervision/detection/core.py @@ -818,7 +818,7 @@ def from_lmm(cls, lmm: LMM | str, result: str | dict, **kwargs: Any) -> Detectio !!! deprecated "Deprecated" `Detections.from_lmm` is **deprecated** and will be removed in `supervision-0.31.0`. Please use `Detections.from_vlm` instead. - + Creates a Detections object from the given result string based on the specified Large Multimodal Model (LMM). From 8710bde5b2f8d09b64503ebd94d71ffb6b78988e Mon Sep 17 00:00:00 2001 From: Onuralp SEZER Date: Tue, 15 Jul 2025 21:31:13 +0300 Subject: [PATCH 398/420] =?UTF-8?q?docs:=20=F0=9F=93=9D=20=20add=20docstri?= =?UTF-8?q?ng=20to=20validate=5Fvlm=5Fparameters?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- supervision/detection/vlm.py | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/supervision/detection/vlm.py b/supervision/detection/vlm.py index a35cd37942..e9af3d28c9 100644 --- a/supervision/detection/vlm.py +++ b/supervision/detection/vlm.py @@ -142,6 +142,20 @@ def from_value(cls, value: VLM | str) -> VLM: def validate_vlm_parameters(vlm: VLM | str, result: Any, kwargs: dict[str, Any]) -> VLM: + """ + Validates the parameters and result type for a given Vision-Language Model (VLM). + + Args: + vlm: The VLM enum or string specifying the model. + result: The result object to validate (type depends on VLM). + kwargs: Dictionary of arguments to validate against required/allowed lists. + + Returns: + VLM: The validated VLM enum value. + + Raises: + ValueError: If the VLM, result type, or arguments are invalid. + """ if isinstance(vlm, str): try: vlm = VLM(vlm.lower()) From 334d8e650605bd6bea61d731f944586c4a2b0864 Mon Sep 17 00:00:00 2001 From: Onuralp SEZER Date: Tue, 15 Jul 2025 21:34:24 +0300 Subject: [PATCH 399/420] =?UTF-8?q?fix:=20=F0=9F=90=9E=20correct=20possess?= =?UTF-8?q?ive=20form=20in=20docstring=20for=20LMM=20and=20VLM=20enums?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- supervision/detection/vlm.py | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/supervision/detection/vlm.py b/supervision/detection/vlm.py index e9af3d28c9..1a5ad231e6 100644 --- a/supervision/detection/vlm.py +++ b/supervision/detection/vlm.py @@ -25,8 +25,8 @@ class LMM(Enum): Enum specifying supported Large Multimodal Models (LMMs). Attributes: - PALIGEMMA: Google’s PaliGemma vision-language model. - FLORENCE_2: Microsoft Florence-2 vision-language model. + PALIGEMMA: Google's PaliGemma vision-language model. + FLORENCE_2: Microsoft's Florence-2 vision-language model. QWEN_2_5_VL: Qwen2.5-VL open vision-language model from Alibaba. GOOGLE_GEMINI_2_0: Google Gemini 2.0 vision-language model. GOOGLE_GEMINI_2_5: Google Gemini 2.5 vision-language model. @@ -65,8 +65,8 @@ class VLM(Enum): Enum specifying supported Vision-Language Models (VLMs). Attributes: - PALIGEMMA: Google’s PaliGemma vision-language model. - FLORENCE_2: Microsoft Florence-2 vision-language model. + PALIGEMMA: Google's PaliGemma vision-language model. + FLORENCE_2: Microsoft's Florence-2 vision-language model. QWEN_2_5_VL: Qwen2.5-VL open vision-language model from Alibaba. GOOGLE_GEMINI_2_0: Google Gemini 2.0 vision-language model. GOOGLE_GEMINI_2_5: Google Gemini 2.5 vision-language model. From 2dca99d0dc77747d903b473aa4549249ebcffdb0 Mon Sep 17 00:00:00 2001 From: SkalskiP Date: Tue, 15 Jul 2025 20:35:44 +0200 Subject: [PATCH 400/420] added mask_non_max_merge to quick imports --- supervision/__init__.py | 2 ++ 1 file changed, 2 insertions(+) diff --git a/supervision/__init__.py b/supervision/__init__.py index 3e5c418cc3..2e227b57c9 100644 --- a/supervision/__init__.py +++ b/supervision/__init__.py @@ -79,6 +79,7 @@ box_non_max_suppression, mask_iou_batch, mask_non_max_suppression, + mask_non_max_merge, oriented_box_iou_batch, ) from supervision.detection.utils.masks import ( @@ -222,6 +223,7 @@ "list_files_with_extensions", "mask_iou_batch", "mask_non_max_suppression", + "mask_non_max_merge", "mask_to_polygons", "mask_to_rle", "mask_to_xyxy", From facc64bb3a41da2724a5834058affd18a2e274e1 Mon Sep 17 00:00:00 2001 From: "pre-commit-ci[bot]" <66853113+pre-commit-ci[bot]@users.noreply.github.com> Date: Tue, 15 Jul 2025 18:38:06 +0000 Subject: [PATCH 401/420] =?UTF-8?q?fix(pre=5Fcommit):=20=F0=9F=8E=A8=20aut?= =?UTF-8?q?o=20format=20pre-commit=20hooks?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- supervision/__init__.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/supervision/__init__.py b/supervision/__init__.py index 2e227b57c9..925628be3c 100644 --- a/supervision/__init__.py +++ b/supervision/__init__.py @@ -78,8 +78,8 @@ box_non_max_merge, box_non_max_suppression, mask_iou_batch, - mask_non_max_suppression, mask_non_max_merge, + mask_non_max_suppression, oriented_box_iou_batch, ) from supervision.detection.utils.masks import ( @@ -222,8 +222,8 @@ "letterbox_image", "list_files_with_extensions", "mask_iou_batch", - "mask_non_max_suppression", "mask_non_max_merge", + "mask_non_max_suppression", "mask_to_polygons", "mask_to_rle", "mask_to_xyxy", From 14d3b7938791b763c7ae21e4dbe60c7a7a3c10d5 Mon Sep 17 00:00:00 2001 From: soumik12345 <19soumik.rakshit96@gmail.com> Date: Wed, 16 Jul 2025 00:17:00 +0530 Subject: [PATCH 402/420] fix: formula in box_iou docstring --- supervision/detection/utils/iou_and_nms.py | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/supervision/detection/utils/iou_and_nms.py b/supervision/detection/utils/iou_and_nms.py index 07602a2dea..b795ccd956 100644 --- a/supervision/detection/utils/iou_and_nms.py +++ b/supervision/detection/utils/iou_and_nms.py @@ -92,9 +92,7 @@ def box_iou( Mathematically, it is defined as: - \\[ - \text{IoU} = \frac{|\text{box}_{\text{true}} \\cap \text{box}_{\text{detection}}|}{|\text{box}_{\text{true}} \\cup \text{box}_{\text{detection}}|} - \\] + $$ IoU(A, B) = \\frac{|A \\cap B|}{|A \\cup B|} $$ Note: Use `box_iou` when computing IoU between two individual boxes. From 1bc672afd3bfd4bc2b28ae98563825aaaf7273ab Mon Sep 17 00:00:00 2001 From: "pre-commit-ci[bot]" <66853113+pre-commit-ci[bot]@users.noreply.github.com> Date: Tue, 15 Jul 2025 18:47:19 +0000 Subject: [PATCH 403/420] =?UTF-8?q?fix(pre=5Fcommit):=20=F0=9F=8E=A8=20aut?= =?UTF-8?q?o=20format=20pre-commit=20hooks?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- supervision/detection/utils/iou_and_nms.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/supervision/detection/utils/iou_and_nms.py b/supervision/detection/utils/iou_and_nms.py index b795ccd956..b0be153b41 100644 --- a/supervision/detection/utils/iou_and_nms.py +++ b/supervision/detection/utils/iou_and_nms.py @@ -120,7 +120,7 @@ def box_iou( sv.box_iou(box_true=box_true, box_detection=box_detection) # 0.14285814285714285 ``` - """ # noqa: E501 + """ box_true = np.array(box_true) box_detection = np.array(box_detection) From d854e23e9a13074255eda041ace298cf4cde48d6 Mon Sep 17 00:00:00 2001 From: SkalskiP Date: Tue, 15 Jul 2025 20:55:12 +0200 Subject: [PATCH 404/420] fix latex problems --- supervision/detection/utils/iou_and_nms.py | 10 ++++------ supervision/metrics/mean_average_precision.py | 2 -- 2 files changed, 4 insertions(+), 8 deletions(-) diff --git a/supervision/detection/utils/iou_and_nms.py b/supervision/detection/utils/iou_and_nms.py index 07602a2dea..56bdff71b6 100644 --- a/supervision/detection/utils/iou_and_nms.py +++ b/supervision/detection/utils/iou_and_nms.py @@ -87,14 +87,12 @@ def box_iou( box_true: list[float] | np.ndarray, box_detection: list[float] | np.ndarray, ) -> float: - """ + r""" Compute the Intersection over Union (IoU) between two bounding boxes. - Mathematically, it is defined as: - - \\[ - \text{IoU} = \frac{|\text{box}_{\text{true}} \\cap \text{box}_{\text{detection}}|}{|\text{box}_{\text{true}} \\cup \text{box}_{\text{detection}}|} - \\] + \[ + \text{IoU} = \frac{|\text{box}_{\text{true}} \cap \text{box}_{\text{detection}}|}{|\text{box}_{\text{true}} \cup \text{box}_{\text{detection}}|} + \] Note: Use `box_iou` when computing IoU between two individual boxes. diff --git a/supervision/metrics/mean_average_precision.py b/supervision/metrics/mean_average_precision.py index 89e461fc1e..5100f39ac1 100644 --- a/supervision/metrics/mean_average_precision.py +++ b/supervision/metrics/mean_average_precision.py @@ -214,8 +214,6 @@ class EvaluationDataset: """ Class used representing a dataset in the right format needed by the `COCOEvaluator` class. - - Reference: https://github.com/rafaelpadilla/review_object_detection_metrics """ def __init__(self, targets: dict[str, Any] | None = None): From a135bd6268360e2eb65eba69d9bec775e44b8ba3 Mon Sep 17 00:00:00 2001 From: SkalskiP Date: Tue, 15 Jul 2025 21:12:50 +0200 Subject: [PATCH 405/420] add deprecation message to old mAP --- supervision/metrics/detection.py | 16 +++++++++++++++- 1 file changed, 15 insertions(+), 1 deletion(-) diff --git a/supervision/metrics/detection.py b/supervision/metrics/detection.py index 438b6a8020..52bf96e005 100644 --- a/supervision/metrics/detection.py +++ b/supervision/metrics/detection.py @@ -10,6 +10,7 @@ from supervision.dataset.core import DetectionDataset from supervision.detection.core import Detections from supervision.detection.utils.iou_and_nms import box_iou_batch +from supervision.utils.internal import deprecated def detections_to_tensor( @@ -492,10 +493,23 @@ def plot( ) return fig - +@deprecated( + "`MeanAveragePrecision` is deprecated and will be removed in " + "`supervision-0.31.0`. Use " + "`supervision.metrics.mean_average_precision.MeanAveragePrecision` instead." +) @dataclass(frozen=True) class MeanAveragePrecision: """ + !!! deprecated "Deprecated" + `MeanAveragePrecision` is **deprecated** and will be removed in + `supervision-0.31.0`. + + The current implementation provides results that are inconsistent with + `pycocotools`. Please use + `supervision.metrics.mean_average_precision.MeanAveragePrecision` instead, + which matches the results of `pycocotools` and is now the recommended approach. + Mean Average Precision for object detection tasks. Attributes: From c4ede20a2d0628f2b34e73aac9f0176efc696a61 Mon Sep 17 00:00:00 2001 From: SkalskiP Date: Tue, 15 Jul 2025 21:13:46 +0200 Subject: [PATCH 406/420] add deprecation message to old mAP --- supervision/metrics/detection.py | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/supervision/metrics/detection.py b/supervision/metrics/detection.py index 52bf96e005..946ccd21b3 100644 --- a/supervision/metrics/detection.py +++ b/supervision/metrics/detection.py @@ -496,7 +496,8 @@ def plot( @deprecated( "`MeanAveragePrecision` is deprecated and will be removed in " "`supervision-0.31.0`. Use " - "`supervision.metrics.mean_average_precision.MeanAveragePrecision` instead." + "`supervision.metrics.mean_average_precision.MeanAveragePrecision` instead. The " + "deprecated implementation provides results that are inconsistent with pycocotools." ) @dataclass(frozen=True) class MeanAveragePrecision: @@ -505,7 +506,7 @@ class MeanAveragePrecision: `MeanAveragePrecision` is **deprecated** and will be removed in `supervision-0.31.0`. - The current implementation provides results that are inconsistent with + The deprecated implementation provides results that are inconsistent with `pycocotools`. Please use `supervision.metrics.mean_average_precision.MeanAveragePrecision` instead, which matches the results of `pycocotools` and is now the recommended approach. From 5397031cee9e8ab4e5c46fb49eec714219a102a4 Mon Sep 17 00:00:00 2001 From: "pre-commit-ci[bot]" <66853113+pre-commit-ci[bot]@users.noreply.github.com> Date: Tue, 15 Jul 2025 19:14:40 +0000 Subject: [PATCH 407/420] =?UTF-8?q?fix(pre=5Fcommit):=20=F0=9F=8E=A8=20aut?= =?UTF-8?q?o=20format=20pre-commit=20hooks?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- supervision/metrics/detection.py | 1 + 1 file changed, 1 insertion(+) diff --git a/supervision/metrics/detection.py b/supervision/metrics/detection.py index 946ccd21b3..bc39346921 100644 --- a/supervision/metrics/detection.py +++ b/supervision/metrics/detection.py @@ -493,6 +493,7 @@ def plot( ) return fig + @deprecated( "`MeanAveragePrecision` is deprecated and will be removed in " "`supervision-0.31.0`. Use " From 880a9e8eb52840bc61b8431a144f6a8cf0e588e3 Mon Sep 17 00:00:00 2001 From: SkalskiP Date: Tue, 15 Jul 2025 21:21:05 +0200 Subject: [PATCH 408/420] fix double decorator bug --- supervision/metrics/detection.py | 16 +++++++++++----- 1 file changed, 11 insertions(+), 5 deletions(-) diff --git a/supervision/metrics/detection.py b/supervision/metrics/detection.py index bc39346921..17a417958f 100644 --- a/supervision/metrics/detection.py +++ b/supervision/metrics/detection.py @@ -500,7 +500,6 @@ def plot( "`supervision.metrics.mean_average_precision.MeanAveragePrecision` instead. The " "deprecated implementation provides results that are inconsistent with pycocotools." ) -@dataclass(frozen=True) class MeanAveragePrecision: """ !!! deprecated "Deprecated" @@ -526,10 +525,17 @@ class MeanAveragePrecision: provided for each individual class. """ - map50_95: float - map50: float - map75: float - per_class_ap50_95: np.ndarray + def __init__( + self, + map50_95: float, + map50: float, + map75: float, + per_class_ap50_95: np.ndarray, + ): + self.map50_95 = map50_95 + self.map50 = map50 + self.map75 = map75 + self.per_class_ap50_95 = per_class_ap50_95 @classmethod def from_detections( From bbadfb3cbdedad30b5eef6912aa4ea29761f919e Mon Sep 17 00:00:00 2001 From: SkalskiP Date: Tue, 15 Jul 2025 21:27:48 +0200 Subject: [PATCH 409/420] Revert "fix double decorator bug" This reverts commit 880a9e8eb52840bc61b8431a144f6a8cf0e588e3. --- supervision/metrics/detection.py | 16 +++++----------- 1 file changed, 5 insertions(+), 11 deletions(-) diff --git a/supervision/metrics/detection.py b/supervision/metrics/detection.py index 17a417958f..bc39346921 100644 --- a/supervision/metrics/detection.py +++ b/supervision/metrics/detection.py @@ -500,6 +500,7 @@ def plot( "`supervision.metrics.mean_average_precision.MeanAveragePrecision` instead. The " "deprecated implementation provides results that are inconsistent with pycocotools." ) +@dataclass(frozen=True) class MeanAveragePrecision: """ !!! deprecated "Deprecated" @@ -525,17 +526,10 @@ class MeanAveragePrecision: provided for each individual class. """ - def __init__( - self, - map50_95: float, - map50: float, - map75: float, - per_class_ap50_95: np.ndarray, - ): - self.map50_95 = map50_95 - self.map50 = map50 - self.map75 = map75 - self.per_class_ap50_95 = per_class_ap50_95 + map50_95: float + map50: float + map75: float + per_class_ap50_95: np.ndarray @classmethod def from_detections( From 2b47d8e4ccb9d679be764b23d9da085755c74850 Mon Sep 17 00:00:00 2001 From: SkalskiP Date: Tue, 15 Jul 2025 21:28:58 +0200 Subject: [PATCH 410/420] fix double decorator bug --- supervision/metrics/detection.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/supervision/metrics/detection.py b/supervision/metrics/detection.py index bc39346921..dcc90726f1 100644 --- a/supervision/metrics/detection.py +++ b/supervision/metrics/detection.py @@ -500,7 +500,7 @@ def plot( "`supervision.metrics.mean_average_precision.MeanAveragePrecision` instead. The " "deprecated implementation provides results that are inconsistent with pycocotools." ) -@dataclass(frozen=True) +@dataclass() class MeanAveragePrecision: """ !!! deprecated "Deprecated" From 5d6f5bfde3516f7c86ac2b318899f6df7190c02f Mon Sep 17 00:00:00 2001 From: Onuralp SEZER Date: Tue, 15 Jul 2025 22:41:25 +0300 Subject: [PATCH 411/420] fix(deprecated): change MeanAveragePrecision to frozen dataclass and enhance deprecated decorator for classes --- supervision/metrics/detection.py | 2 +- supervision/utils/internal.py | 24 ++++++++++++++++++------ 2 files changed, 19 insertions(+), 7 deletions(-) diff --git a/supervision/metrics/detection.py b/supervision/metrics/detection.py index dcc90726f1..bc39346921 100644 --- a/supervision/metrics/detection.py +++ b/supervision/metrics/detection.py @@ -500,7 +500,7 @@ def plot( "`supervision.metrics.mean_average_precision.MeanAveragePrecision` instead. The " "deprecated implementation provides results that are inconsistent with pycocotools." ) -@dataclass() +@dataclass(frozen=True) class MeanAveragePrecision: """ !!! deprecated "Deprecated" diff --git a/supervision/utils/internal.py b/supervision/utils/internal.py index 242a41729e..1cced171d7 100644 --- a/supervision/utils/internal.py +++ b/supervision/utils/internal.py @@ -114,13 +114,25 @@ def wrapper(*args, **kwargs): def deprecated(reason: str): - def decorator(func): - @functools.wraps(func) - def wrapper(*args, **kwargs): - warn_deprecated(f"{func.__name__} is deprecated: {reason}") - return func(*args, **kwargs) + def decorator(cls_or_func): + if inspect.isclass(cls_or_func): + original_init = cls_or_func.__init__ - return wrapper + @functools.wraps(original_init) + def new_init(self, *args, **kwargs): + warn_deprecated(f"{cls_or_func.__name__} is deprecated: {reason}") + original_init(self, *args, **kwargs) + + cls_or_func.__init__ = new_init + return cls_or_func + else: + + @functools.wraps(cls_or_func) + def wrapper(*args, **kwargs): + warn_deprecated(f"{cls_or_func.__name__} is deprecated: {reason}") + return cls_or_func(*args, **kwargs) + + return wrapper return decorator From 4e832b2cf4bcd7dbdf23b44f8edea2e6a2ef66cf Mon Sep 17 00:00:00 2001 From: SkalskiP Date: Tue, 15 Jul 2025 22:12:22 +0200 Subject: [PATCH 412/420] bump version from `0.26.0rc7` to `0.26.0rc8` --- pyproject.toml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pyproject.toml b/pyproject.toml index d96a0ae07e..a198889bee 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -2,7 +2,7 @@ name = "supervision" description = "A set of easy-to-use utils that will come in handy in any Computer Vision project" license = { text = "MIT" } -version = "0.26.0rc7" +version = "0.26.0rc8" readme = "README.md" requires-python = ">=3.9" authors = [ From 3ff1414fc28c73000063f3b977abf3fb1e8c972b Mon Sep 17 00:00:00 2001 From: soumik12345 <19soumik.rakshit96@gmail.com> Date: Wed, 16 Jul 2025 02:20:01 +0530 Subject: [PATCH 413/420] update: changelog --- docs/changelog.md | 30 ++++++++++++------------------ docs/deprecated.md | 6 ++---- 2 files changed, 14 insertions(+), 22 deletions(-) diff --git a/docs/changelog.md b/docs/changelog.md index 654a4c3674..f2ddfad57a 100644 --- a/docs/changelog.md +++ b/docs/changelog.md @@ -2,28 +2,24 @@ ### 0.26.0 Jul 16, 2025 -- Updates to `LabelAnnotator`: ([#1820](https://github.com/roboflow/supervision/pull/1820)) - - `LabelAnnotator` now has the ability to ensure labels stay within frame boundaries using the `smart_position` parameter. - - Labels now properly render text with newlines. New `max_line_length parameter` in `LabelAnnotator` for controlling automatic text wrapping. - - `LableAnnoatator` now automatically prevents overlapping multiline labels and more effective label distribution with size-aware positioning. - - `LabelAnnotator` now supports non-string labels. ([#1825](https://github.com/roboflow/supervision/pull/1825)) +!!! failure "Removed" + `supervision-0.26.0` drops `python3.8` support and upgrade all codes to `python3.9` syntax style. -- `Detections.from_vlm` now supports: - - bounding boxes and segmentation masks response from [Google Gemini models](https://ai.google.dev/gemini-api/docs/vision). ([#1792](https://github.com/roboflow/supervision/pull/1792)) - - bounding boxes response from [Moondream](https://github.com/vikhyat/moondream). ([#1878](https://github.com/roboflow/supervision/pull/1878)) - - bounding boxes response from [Qwen-2.5 VL](https://github.com/QwenLM/Qwen2.5-VL). ([#1709](https://github.com/roboflow/supervision/pull/1790)) +- Supervision’s documentation theme now has a fresh look that is consistent with the documentations of all Roboflow open-source projects. ([#1858](https://github.com/roboflow/supervision/pull/1858)) -- Align Supervision's mAP implementation (`sv.MeanAveragePrecision`) with [pycocotools](https://github.com/ppwwyyxx/cocoapi), the official COCO evaluation tool, thus ensuring accurate, reliable, and standardized metrics. You can refer to the table [here](https://github.com/roboflow/model-leaderboard/pull/92#issue-3175929645) that documents the accuracy of Supervision’s mAP implementation with respect to pycocotools’ implementation. ([#1834](https://github.com/roboflow/supervision/pull/1834)) +- `sv.LabelAnnotator` now has the ability to ensure labels stay within frame boundaries using the smart_position parameter and control automatic text wrapping for long multi-line labels using the max_line_length parameter ([#1820](https://github.com/roboflow/supervision/pull/1820)) and support non-string labels. ([#1825](https://github.com/roboflow/supervision/pull/1825)). -- Added support for IOS matching metric for `Detections.with_nms` and `Detections.with_nmm` for handling non-max suppression and non-maximum merging of both bounding boxes and masks. ([#1774](https://github.com/roboflow/supervision/pull/1774)) +- `sv.Detections.from_vlm` now supports bounding boxes and segmentation masks response from [Google Gemini models](https://ai.google.dev/gemini-api/docs/vision). ([#1792](https://github.com/roboflow/supervision/pull/1792)) +- `sv.Detections.from_vlm` now supports bounding boxes response from [Moondream](https://github.com/vikhyat/moondream). ([#1878](https://github.com/roboflow/supervision/pull/1878)) +- `sv.Detections.from_vlm` now supports bounding boxes response from [Qwen-2.5 VL](https://github.com/QwenLM/Qwen2.5-VL). ([#1709](https://github.com/roboflow/supervision/pull/1790)) -- Added new function `box_iou` that efficiently computes the Intersection over Union (IoU) between two individual bounding boxes. ([#1874](https://github.com/roboflow/supervision/pull/1874)) +- Align Supervision's mAP implementation (`sv.MeanAveragePrecision`) with [pycocotools](https://github.com/ppwwyyxx/cocoapi), the official COCO evaluation tool, thus ensuring accurate, reliable, and standardized metrics. This enabled us to build an updated version of the [Computer Vision Model Leaderboard](https://leaderboard.roboflow.com/). ([#1834](https://github.com/roboflow/supervision/pull/1834)) -- Added the function `remove_noisy_segments` for removing the connected components from a mask that are far away from the main component and that also are smaller than a threshold. ([#1885](https://github.com/roboflow/supervision/pull/1885)) +- Added support for IOS overlap metric (a region-overlap score between two shapes that indicates how much of the smaller object is covered by the bigger one) for `sv.Detections.with_nms` and `sv.Detections.with_nmm`, `sv.box_iou_batch`, and `sv.mask_iou_batch`. ([#1774](https://github.com/roboflow/supervision/pull/1774)) -- Added support for frame limitations and progress bar in `sv.process_video`. ([#1816](https://github.com/roboflow/supervision/pull/1816)) +- Added `sv.box_iou` that efficiently computes the Intersection over Union (IoU) between two individual bounding boxes. ([#1874](https://github.com/roboflow/supervision/pull/1874)) -- Supervision’s documentation theme now has a fresh look that is consistent with the documentations of all Roboflow open-source projects. ([#1858](https://github.com/roboflow/supervision/pull/1858)) +- Added support for frame limitations and progress bar in `sv.process_video`. ([#1816](https://github.com/roboflow/supervision/pull/1816)) - Added `xyxy_to_xcycarh` conversion function. ([#1823](https://github.com/roboflow/supervision/pull/1823)) @@ -31,9 +27,7 @@ - Fix losing `sv.Detections.data` when detections filtering. ([#1767](https://github.com/roboflow/supervision/pull/1767)) -- Make `TraceAnnotator` better handle pending tracks by centralizing the configuration of pending track identifiers and colors, and updating the annotation logic to skip pending tracks. ([#1828](https://github.com/roboflow/supervision/pull/1828)) - -- Improve HSV color mapping in `HeatMapAnnotator` by 20x. ([#1786](https://github.com/roboflow/supervision/pull/1786)) +- Improve the speed of HSV color mapping in `sv.HeatMapAnnotator` massively; improving the performance of the operation on a 1920x1080 frame by ~28x ([#1786](https://github.com/roboflow/supervision/pull/1786)) ### 0.25.0 Nov 12, 2024 diff --git a/docs/deprecated.md b/docs/deprecated.md index 00a334aa13..90c7a79c67 100644 --- a/docs/deprecated.md +++ b/docs/deprecated.md @@ -21,11 +21,9 @@ These features are phased out due to better alternatives or potential issues in ### 0.26.0 -- The `DetectionDataset.images` property has been removed in `supervision-0.26.0`. Please loop over images with `for path, image, annotation in dataset:`, as that does not require loading all images into memory. +- The `sv.DetectionDataset.images` property has been removed in `supervision-0.26.0`. Please loop over images with `for path, image, annotation in dataset:`, as that does not require loading all images into memory. Also, constructing `sv.DetectionDataset` with parameter `images` as `Dict[str, np.ndarray]` is deprecated and has been removed in `supervision-0.26.0`. Please pass a list of paths `List[str]` instead. -- Constructing `DetectionDataset` with parameter `images` as `Dict[str, np.ndarray]` is deprecated and has been removed in `supervision-0.26.0`. Please pass a list of paths `List[str]` instead. - -- The name `BoundingBoxAnnotator` is deprecated and has been removed in `supervision-0.26.0`. It has been renamed to [`BoxAnnotator`](https://supervision.roboflow.com/0.22.0/detection/annotators/#supervision.annotators.core.BoxAnnotator). +- The name `sv.BoundingBoxAnnotator` is deprecated and has been removed in `supervision-0.26.0`. It has been renamed to [`sv.BoxAnnotator`](https://supervision.roboflow.com/0.22.0/detection/annotators/#supervision.annotators.core.BoxAnnotator). - `supervision-0.26.0` drops `python3.8` support and upgrade all codes to `python3.9` syntax style. From 77c45355ffedc71e139878315ae911f8031bfe88 Mon Sep 17 00:00:00 2001 From: soumik12345 <19soumik.rakshit96@gmail.com> Date: Wed, 16 Jul 2025 03:31:03 +0530 Subject: [PATCH 414/420] chore: address feedback --- docs/changelog.md | 161 +++++++++++++++++++++++++++++++++++++++------- 1 file changed, 138 insertions(+), 23 deletions(-) diff --git a/docs/changelog.md b/docs/changelog.md index f2ddfad57a..55eed91a39 100644 --- a/docs/changelog.md +++ b/docs/changelog.md @@ -5,29 +5,144 @@ !!! failure "Removed" `supervision-0.26.0` drops `python3.8` support and upgrade all codes to `python3.9` syntax style. -- Supervision’s documentation theme now has a fresh look that is consistent with the documentations of all Roboflow open-source projects. ([#1858](https://github.com/roboflow/supervision/pull/1858)) - -- `sv.LabelAnnotator` now has the ability to ensure labels stay within frame boundaries using the smart_position parameter and control automatic text wrapping for long multi-line labels using the max_line_length parameter ([#1820](https://github.com/roboflow/supervision/pull/1820)) and support non-string labels. ([#1825](https://github.com/roboflow/supervision/pull/1825)). - -- `sv.Detections.from_vlm` now supports bounding boxes and segmentation masks response from [Google Gemini models](https://ai.google.dev/gemini-api/docs/vision). ([#1792](https://github.com/roboflow/supervision/pull/1792)) -- `sv.Detections.from_vlm` now supports bounding boxes response from [Moondream](https://github.com/vikhyat/moondream). ([#1878](https://github.com/roboflow/supervision/pull/1878)) -- `sv.Detections.from_vlm` now supports bounding boxes response from [Qwen-2.5 VL](https://github.com/QwenLM/Qwen2.5-VL). ([#1709](https://github.com/roboflow/supervision/pull/1790)) - -- Align Supervision's mAP implementation (`sv.MeanAveragePrecision`) with [pycocotools](https://github.com/ppwwyyxx/cocoapi), the official COCO evaluation tool, thus ensuring accurate, reliable, and standardized metrics. This enabled us to build an updated version of the [Computer Vision Model Leaderboard](https://leaderboard.roboflow.com/). ([#1834](https://github.com/roboflow/supervision/pull/1834)) - -- Added support for IOS overlap metric (a region-overlap score between two shapes that indicates how much of the smaller object is covered by the bigger one) for `sv.Detections.with_nms` and `sv.Detections.with_nmm`, `sv.box_iou_batch`, and `sv.mask_iou_batch`. ([#1774](https://github.com/roboflow/supervision/pull/1774)) - -- Added `sv.box_iou` that efficiently computes the Intersection over Union (IoU) between two individual bounding boxes. ([#1874](https://github.com/roboflow/supervision/pull/1874)) - -- Added support for frame limitations and progress bar in `sv.process_video`. ([#1816](https://github.com/roboflow/supervision/pull/1816)) - -- Added `xyxy_to_xcycarh` conversion function. ([#1823](https://github.com/roboflow/supervision/pull/1823)) - -- Added support for creating KeyPoints objects from [Transformers](https://huggingface.co/docs/transformers/index) inference results. ([#1788](https://github.com/roboflow/supervision/pull/1788)) - -- Fix losing `sv.Detections.data` when detections filtering. ([#1767](https://github.com/roboflow/supervision/pull/1767)) - -- Improve the speed of HSV color mapping in `sv.HeatMapAnnotator` massively; improving the performance of the operation on a 1920x1080 frame by ~28x ([#1786](https://github.com/roboflow/supervision/pull/1786)) +!!! info "Tip" + Supervision’s documentation theme now has a fresh look that is consistent with the documentations of all Roboflow open-source projects. ([#1858](https://github.com/roboflow/supervision/pull/1858)) + +- Added [#1774](https://github.com/roboflow/supervision/pull/1774): Support for IOS overlap metric (a region-overlap score between two shapes that indicates how much of the smaller object is covered by the bigger one) for `sv.Detections.with_nms` and `sv.Detections.with_nmm`, `sv.box_iou_batch`, and `sv.mask_iou_batch`. + + ```python + import cv2 + import supervision as sv + from inference import get_model + + model = get_model(model_id="yolov11m-seg-640") + image = cv2.imread("") + results = model.infer(image)[0] + detections = sv.Detections.from_inference(results) + detections = detections.with_nmm(overlap_metric=sv.OverlapMetric.IOU) + ``` + +- Added [#1874](https://github.com/roboflow/supervision/pull/1874): `sv.box_iou` that efficiently computes the Intersection over Union (IoU) between two individual bounding boxes. + +- Added [#1816](https://github.com/roboflow/supervision/pull/1816): Support for frame limitations and progress bar in `sv.process_video`. + + ```python + import numpy as np + import supervision as sv + from inference import get_model + + model = get_model("yolov11m-640") + box_annotator = sv.BoxAnnotator() + + def callback(frame: np.ndarray, _: int) -> np.ndarray: + results = model.infer(frame,verbose=False)[0] + detections = sv.Detections.from_inference(results) + return box_annotator.annotate(frame.copy(), detections=detections) + + sv.process_video( + source_path="", + target_path="", + callback=callback, + max_frames=100, + show_progress=True, + ) + ``` + +- Added [#1788](https://github.com/roboflow/supervision/pull/1788): Support for creating `sv.KeyPoints` objects using [ViTPose](https://huggingface.co/docs/transformers/en/model_doc/vitpose) and [ViTPose++](https://huggingface.co/docs/transformers/en/model_doc/vitpose#vitpose-models) inference results from [Transformers](https://huggingface.co/docs/transformers/index). + +- Added [#1823](https://github.com/roboflow/supervision/pull/1823): `sv.xyxy_to_xcycarh` function to convert bounding box coordinates from `(x_min, y_min, x_max, y_max)` into measurement space to format `(center x, center y, aspect ratio, height)`, where the aspect ratio is `width / height`. + +- Added [#1788](https://github.com/roboflow/supervision/pull/1788): `sv.xyxy_to_xywh` function to convert bounding box coordinates from `(x_min, y_min, x_max, y_max)` format to `(x, y, width, height)` format. + +- Changed [#1820](https://github.com/roboflow/supervision/pull/1820): `sv.LabelAnnotator` now has the ability to ensure labels stay within frame boundaries using the smart_position parameter and control automatic text wrapping for long multi-line labels using the max_line_length parameter. + +- Changed [#1825](https://github.com/roboflow/supervision/pull/1825): `sv.LabelAnnotator` now supports non-string labels. + +- Changed [#1792](https://github.com/roboflow/supervision/pull/1792): `sv.Detections.from_vlm` now supports bounding boxes and segmentation masks response from [Google Gemini models](https://ai.google.dev/gemini-api/docs/vision). + + ```python + import supervision as sv + + gemini_response_text = \"\"\"```json + [ + {"box_2d": [543, 40, 728, 200], "label": "cat", "id": 1}, + {"box_2d": [653, 352, 820, 522], "label": "dog", "id": 2} + ] + ```\"\"\" + + detections = sv.Detections.from_vlm( + sv.VLM.GOOGLE_GEMINI_2_5, + gemini_response_text, + resolution_wh=(1000, 1000), + classes=['cat', 'dog'], + ) + ``` + +- Changed [#1878](https://github.com/roboflow/supervision/pull/1878): `sv.Detections.from_vlm` now supports bounding boxes response from [Moondream](https://github.com/vikhyat/moondream). + + ```python + import supervision as sv + + moondream_result = { + 'objects': [ + { + 'x_min': 0.5704046934843063, + 'y_min': 0.20069346576929092, + 'x_max': 0.7049859315156937, + 'y_max': 0.3012596592307091 + }, + { + 'x_min': 0.6210969910025597, + 'y_min': 0.3300672620534897, + 'x_max': 0.8417936339974403, + 'y_max': 0.4961046129465103 + } + ] + } + + detections = sv.Detections.from_vlm( + sv.VLM.MOONDREAM, + moondream_result, + resolution_wh=(1000, 1000), + ) + ``` + +- Changed [#1709](https://github.com/roboflow/supervision/pull/1790): `sv.Detections.from_vlm` now supports bounding boxes response from [Qwen-2.5 VL](https://github.com/QwenLM/Qwen2.5-VL). + + ```python + import supervision as sv + + qwen_2_5_vl_result = \"\"\"```json + [ + {"bbox_2d": [139, 768, 315, 954], "label": "cat"}, + {"bbox_2d": [366, 679, 536, 849], "label": "dog"} + ] + ```\"\"\" + detections = sv.Detections.from_vlm( + sv.VLM.QWEN_2_5_VL, + qwen_2_5_vl_result, + input_wh=(1000, 1000), + resolution_wh=(1000, 1000), + classes=['cat', 'dog'], + ) + ``` + +- Changed [#1786](https://github.com/roboflow/supervision/pull/1786): Improved the speed of HSV color mapping in `sv.HeatMapAnnotator` massively, improving the performance of the operation on a 1920x1080 frame by ~28x. + +- Fix [#1834](https://github.com/roboflow/supervision/pull/1834): Supervision's mAP implementation (`sv.MeanAveragePrecision`) has been aligned with [pycocotools](https://github.com/ppwwyyxx/cocoapi), the official COCO evaluation tool, thus ensuring accurate, reliable, and standardized metrics. This enabled us to build an updated version of the [Computer Vision Model Leaderboard](https://leaderboard.roboflow.com/). + + ```python + import supervision as sv + from supervision.metrics import MeanAveragePrecision + + predictions = sv.Detections(...) + targets = sv.Detections(...) + + map_metric = MeanAveragePrecision() + map_score = map_metric.update(predictions, targets).compute() + ``` + +- Fix [#1767](https://github.com/roboflow/supervision/pull/1767): Fixed losing `sv.Detections.data` when detections filtering. ### 0.25.0 Nov 12, 2024 From 6046e88eb1c937f84cf2de2383a41fb26d3a89bf Mon Sep 17 00:00:00 2001 From: "pre-commit-ci[bot]" <66853113+pre-commit-ci[bot]@users.noreply.github.com> Date: Tue, 15 Jul 2025 22:01:26 +0000 Subject: [PATCH 415/420] =?UTF-8?q?fix(pre=5Fcommit):=20=F0=9F=8E=A8=20aut?= =?UTF-8?q?o=20format=20pre-commit=20hooks?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- docs/changelog.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/changelog.md b/docs/changelog.md index 55eed91a39..6399df0bd1 100644 --- a/docs/changelog.md +++ b/docs/changelog.md @@ -52,7 +52,7 @@ - Added [#1823](https://github.com/roboflow/supervision/pull/1823): `sv.xyxy_to_xcycarh` function to convert bounding box coordinates from `(x_min, y_min, x_max, y_max)` into measurement space to format `(center x, center y, aspect ratio, height)`, where the aspect ratio is `width / height`. -- Added [#1788](https://github.com/roboflow/supervision/pull/1788): `sv.xyxy_to_xywh` function to convert bounding box coordinates from `(x_min, y_min, x_max, y_max)` format to `(x, y, width, height)` format. +- Added [#1788](https://github.com/roboflow/supervision/pull/1788): `sv.xyxy_to_xywh` function to convert bounding box coordinates from `(x_min, y_min, x_max, y_max)` format to `(x, y, width, height)` format. - Changed [#1820](https://github.com/roboflow/supervision/pull/1820): `sv.LabelAnnotator` now has the ability to ensure labels stay within frame boundaries using the smart_position parameter and control automatic text wrapping for long multi-line labels using the max_line_length parameter. From 0f56a405c6910ba0c54d7f34126aa8c968464a6d Mon Sep 17 00:00:00 2001 From: SkalskiP Date: Wed, 16 Jul 2025 01:04:51 +0200 Subject: [PATCH 416/420] updates before `supervision-0.26.0` release --- docs/changelog.md | 129 ++++++++++++++++++++++------------- docs/deprecated.md | 32 +++------ docs/detection/annotators.md | 30 ++++---- docs/keypoint/core.md | 1 + 4 files changed, 106 insertions(+), 86 deletions(-) diff --git a/docs/changelog.md b/docs/changelog.md index 6399df0bd1..2f38009516 100644 --- a/docs/changelog.md +++ b/docs/changelog.md @@ -8,67 +8,65 @@ !!! info "Tip" Supervision’s documentation theme now has a fresh look that is consistent with the documentations of all Roboflow open-source projects. ([#1858](https://github.com/roboflow/supervision/pull/1858)) -- Added [#1774](https://github.com/roboflow/supervision/pull/1774): Support for IOS overlap metric (a region-overlap score between two shapes that indicates how much of the smaller object is covered by the bigger one) for `sv.Detections.with_nms` and `sv.Detections.with_nmm`, `sv.box_iou_batch`, and `sv.mask_iou_batch`. - - ```python - import cv2 - import supervision as sv - from inference import get_model - - model = get_model(model_id="yolov11m-seg-640") - image = cv2.imread("") - results = model.infer(image)[0] - detections = sv.Detections.from_inference(results) - detections = detections.with_nmm(overlap_metric=sv.OverlapMetric.IOU) - ``` - -- Added [#1874](https://github.com/roboflow/supervision/pull/1874): `sv.box_iou` that efficiently computes the Intersection over Union (IoU) between two individual bounding boxes. - -- Added [#1816](https://github.com/roboflow/supervision/pull/1816): Support for frame limitations and progress bar in `sv.process_video`. +- Added [#1774](https://github.com/roboflow/supervision/pull/1774): Support for the IOS (Intersection over Smallest) overlap metric that measures how much of the smaller object is covered by the larger one in [`sv.Detections.with_nms`](https://supervision.roboflow.com/0.26.0/detection/core/#supervision.detection.core.Detections.with_nms), [`sv.Detections.with_nmm`](https://supervision.roboflow.com/0.26.0/detection/core/#supervision.detection.core.Detections.with_nmm), [`sv.box_iou_batch`](https://supervision.roboflow.com/0.26.0/detection/utils/iou_and_nms/#supervision.detection.utils.iou_and_nms.box_iou_batch), and [`sv.mask_iou_batch`](https://supervision.roboflow.com/0.26.0/detection/utils/iou_and_nms/#supervision.detection.utils.iou_and_nms.mask_iou_batch). ```python import numpy as np import supervision as sv - from inference import get_model - - model = get_model("yolov11m-640") - box_annotator = sv.BoxAnnotator() - - def callback(frame: np.ndarray, _: int) -> np.ndarray: - results = model.infer(frame,verbose=False)[0] - detections = sv.Detections.from_inference(results) - return box_annotator.annotate(frame.copy(), detections=detections) - - sv.process_video( - source_path="", - target_path="", - callback=callback, - max_frames=100, - show_progress=True, + + boxes_true = np.array([ + [100, 100, 200, 200], + [300, 300, 400, 400] + ]) + boxes_detection = np.array([ + [150, 150, 250, 250], + [320, 320, 420, 420] + ]) + + sv.box_iou_batch( + boxes_true=boxes_true, + boxes_detection=boxes_detection, + overlap_metric=sv.OverlapMetric.IOU + ) + + # array([[0.14285714, 0. ], + # [0. , 0.47058824]]) + + sv.box_iou_batch( + boxes_true=boxes_true, + boxes_detection=boxes_detection, + overlap_metric=sv.OverlapMetric.IOS ) + + # array([[0.25, 0. ], + # [0. , 0.64]]) ``` -- Added [#1788](https://github.com/roboflow/supervision/pull/1788): Support for creating `sv.KeyPoints` objects using [ViTPose](https://huggingface.co/docs/transformers/en/model_doc/vitpose) and [ViTPose++](https://huggingface.co/docs/transformers/en/model_doc/vitpose#vitpose-models) inference results from [Transformers](https://huggingface.co/docs/transformers/index). +- Added [#1874](https://github.com/roboflow/supervision/pull/1874): [`sv.box_iou`](https://supervision.roboflow.com/0.26.0/detection/utils/iou_and_nms/#supervision.detection.utils.iou_and_nms.box_iou) that efficiently computes the Intersection over Union (IoU) between two individual bounding boxes. + +- Added [#1816](https://github.com/roboflow/supervision/pull/1816): Support for frame limitations and progress bar in [`sv.process_video`](https://supervision.roboflow.com/0.26.0/utils/video/#supervision.utils.video.process_video). + +- Added [#1788](https://github.com/roboflow/supervision/pull/1788): Support for creating [`sv.KeyPoints`](https://supervision.roboflow.com/0.26.0/keypoint/core/#supervision.keypoint.core.KeyPoints) objects from [ViTPose](https://huggingface.co/docs/transformers/en/model_doc/vitpose) and [ViTPose++](https://huggingface.co/docs/transformers/en/model_doc/vitpose#vitpose-models) inference results via [`sv.KeyPoints.from_transformers`](https://supervision.roboflow.com/0.26.0/keypoint/core/#supervision.keypoint.core.KeyPoints.from_transformers). -- Added [#1823](https://github.com/roboflow/supervision/pull/1823): `sv.xyxy_to_xcycarh` function to convert bounding box coordinates from `(x_min, y_min, x_max, y_max)` into measurement space to format `(center x, center y, aspect ratio, height)`, where the aspect ratio is `width / height`. +- Added [#1823](https://github.com/roboflow/supervision/pull/1823): [`sv.xyxy_to_xcycarh`](https://supervision.roboflow.com/0.26.0/detection/utils/converters/#supervision.detection.utils.converters.xyxy_to_xcycarh) function to convert bounding box coordinates from `(x_min, y_min, x_max, y_max)` into measurement space to format `(center x, center y, aspect ratio, height)`, where the aspect ratio is `width / height`. -- Added [#1788](https://github.com/roboflow/supervision/pull/1788): `sv.xyxy_to_xywh` function to convert bounding box coordinates from `(x_min, y_min, x_max, y_max)` format to `(x, y, width, height)` format. +- Added [#1788](https://github.com/roboflow/supervision/pull/1788): [`sv.xyxy_to_xywh`](https://supervision.roboflow.com/0.26.0/detection/utils/converters/#supervision.detection.utils.converters.xyxy_to_xywh) function to convert bounding box coordinates from `(x_min, y_min, x_max, y_max)` format to `(x, y, width, height)` format. -- Changed [#1820](https://github.com/roboflow/supervision/pull/1820): `sv.LabelAnnotator` now has the ability to ensure labels stay within frame boundaries using the smart_position parameter and control automatic text wrapping for long multi-line labels using the max_line_length parameter. +- Changed [#1820](https://github.com/roboflow/supervision/pull/1820): [`sv.LabelAnnotator`](https://supervision.roboflow.com/0.26.0/detection/annotators/#supervision.annotators.core.LabelAnnotator) now supports the `smart_position` parameter to automatically keep labels within frame boundaries, and the `max_line_length` parameter to control text wrapping for long or multi-line labels. -- Changed [#1825](https://github.com/roboflow/supervision/pull/1825): `sv.LabelAnnotator` now supports non-string labels. +- Changed [#1825](https://github.com/roboflow/supervision/pull/1825): [`sv.LabelAnnotator`](https://supervision.roboflow.com/0.26.0/detection/annotators/#supervision.annotators.core.LabelAnnotator) now supports non-string labels. -- Changed [#1792](https://github.com/roboflow/supervision/pull/1792): `sv.Detections.from_vlm` now supports bounding boxes and segmentation masks response from [Google Gemini models](https://ai.google.dev/gemini-api/docs/vision). +- Changed [#1792](https://github.com/roboflow/supervision/pull/1792): [`sv.Detections.from_vlm`](https://supervision.roboflow.com/0.26.0/detection/core/#supervision.detection.core.Detections.from_vlm) now supports parsing bounding boxes and segmentation masks from responses generated by [Google Gemini models](https://ai.google.dev/gemini-api/docs/vision). ```python import supervision as sv - gemini_response_text = \"\"\"```json + gemini_response_text = """```json [ {"box_2d": [543, 40, 728, 200], "label": "cat", "id": 1}, {"box_2d": [653, 352, 820, 522], "label": "dog", "id": 2} ] - ```\"\"\" + ```""" detections = sv.Detections.from_vlm( sv.VLM.GOOGLE_GEMINI_2_5, @@ -76,9 +74,18 @@ resolution_wh=(1000, 1000), classes=['cat', 'dog'], ) + + detections.xyxy + # array([[543., 40., 728., 200.], [653., 352., 820., 522.]]) + + detections.data + # {'class_name': array(['cat', 'dog'], dtype='Nov 12, 2024 diff --git a/docs/deprecated.md b/docs/deprecated.md index 90c7a79c67..47ebcc16a7 100644 --- a/docs/deprecated.md +++ b/docs/deprecated.md @@ -7,29 +7,19 @@ status: deprecated These features are phased out due to better alternatives or potential issues in future versions. Deprecated functionalities are supported for **five subsequent releases**, providing time for users to transition to updated methods. -- Constructing [`DetectionDataset`](https://supervision.roboflow.com/latest/datasets/core/#supervision.dataset.core.DetectionDataset) and [`ClassificationDataset`](https://supervision.roboflow.com/latest/datasets/core/#supervision.dataset.core.ClassificationDataset) with parameter `images` as `Dict[str, np.ndarray]` will be removed in `supervision-0.26.0`. Please pass a list of paths `List[str]` instead. - -- The `DetectionDataset.images` property will be removed in `supervision-0.26.0`. Please loop over images with `for path, image, annotation in dataset:`, as that does not require loading all images into memory. - -- `BoundingBoxAnnotator` has been renamed to `BoxAnnotator` after the old implementation of [`BoxAnnotator`](https://supervision.roboflow.com/latest/detection/annotators/#supervision.annotators.core.BoxAnnotator) has been removed. `BoundingBoxAnnotator` will be removed in `supervision-0.26.0`. - `overlap_filter_strategy` in [`InferenceSlicer.__init__`](https://supervision.roboflow.com/latest/detection/tools/inference_slicer/) is deprecated and will be removed in `supervision-0.27.0`. Use `overlap_strategy` instead. - - `overlap_ratio_wh` in [`InferenceSlicer.__init__`](https://supervision.roboflow.com/latest/detection/tools/inference_slicer/) is deprecated and will be removed in `supervision-0.27.0`. Use `overlap_wh` instead. +- `sv.LMM` enum is deprecated and will be removed in `supervision-0.31.0`. Use `sv.VLM` instead. +- [`sv.Detections.from_lmm`](https://supervision.roboflow.com/0.26.0/detection/core/#supervision.detection.core.Detections.from_lmm) property is deprecated and will be removed in `supervision-0.31.0`. Use [`sv.Detections.from_vlm`](https://supervision.roboflow.com/0.26.0/detection/core/#supervision.detection.core.Detections.from_vlm) instead. # Removed ### 0.26.0 - The `sv.DetectionDataset.images` property has been removed in `supervision-0.26.0`. Please loop over images with `for path, image, annotation in dataset:`, as that does not require loading all images into memory. Also, constructing `sv.DetectionDataset` with parameter `images` as `Dict[str, np.ndarray]` is deprecated and has been removed in `supervision-0.26.0`. Please pass a list of paths `List[str]` instead. - - The name `sv.BoundingBoxAnnotator` is deprecated and has been removed in `supervision-0.26.0`. It has been renamed to [`sv.BoxAnnotator`](https://supervision.roboflow.com/0.22.0/detection/annotators/#supervision.annotators.core.BoxAnnotator). -- `supervision-0.26.0` drops `python3.8` support and upgrade all codes to `python3.9` syntax style. - -### 0.25.0 - -No removals in this version! ### 0.24.0 @@ -43,12 +33,12 @@ No removals in this version! ### 0.22.0 -- `Detections.from_roboflow` is removed as of `supervision-0.22.0`. Use [`Detections.from_inference`](detection/core.md/#supervision.detection.core.Detections.from_inference) instead. -- The method `Color.white()` was removed as of `supervision-0.22.0`. Use the constant `Color.WHITE` instead. -- The method `Color.black()` was removed as of `supervision-0.22.0`. Use the constant `Color.BLACK` instead. -- The method `Color.red()` was removed as of `supervision-0.22.0`. Use the constant `Color.RED` instead. -- The method `Color.green()` was removed as of `supervision-0.22.0`. Use the constant `Color.GREEN` instead. -- The method `Color.blue()` was removed as of `supervision-0.22.0`. Use the constant `Color.BLUE` instead. -- The method `ColorPalette.default()` was removed as of `supervision-0.22.0`. Use the constant [`ColorPalette.DEFAULT`](/utils/draw/#supervision.draw.color.ColorPalette.DEFAULT) instead. -- `BoxAnnotator` was removed as of `supervision-0.22.0`, however `BoundingBoxAnnotator` was immediately renamed to `BoxAnnotator`. Use [`BoxAnnotator`](detection/annotators.md/#supervision.annotators.core.BoxAnnotator) and [`LabelAnnotator`](detection/annotators.md/#supervision.annotators.core.LabelAnnotator) instead of the old `BoxAnnotator`. -- The method `FPSMonitor.__call__` was removed as of `supervision-0.22.0`. Use the attribute [`FPSMonitor.fps`](utils/video.md/#supervision.utils.video.FPSMonitor.fps) instead. +- `sv.Detections.from_roboflow` is removed as of `supervision-0.22.0`. Use [`Detections.from_inference`](detection/core.md/#supervision.detection.core.Detections.from_inference) instead. +- The method `sv.Color.white()` was removed as of `supervision-0.22.0`. Use the constant `sv.Color.WHITE` instead. +- The method `sv.Color.black()` was removed as of `supervision-0.22.0`. Use the constant `sv.Color.BLACK` instead. +- The method `sv.Color.red()` was removed as of `supervision-0.22.0`. Use the constant `sv.Color.RED` instead. +- The method `sv.Color.green()` was removed as of `supervision-0.22.0`. Use the constant `sv.Color.GREEN` instead. +- The method `sv.Color.blue()` was removed as of `supervision-0.22.0`. Use the constant `sv.Color.BLUE` instead. +- The method `sv.ColorPalette.default()` was removed as of `supervision-0.22.0`. Use the constant [`ColorPalette.DEFAULT`](/utils/draw/#supervision.draw.color.ColorPalette.DEFAULT) instead. +- `sv.BoxAnnotator` was removed as of `supervision-0.22.0`, however `sv.BoundingBoxAnnotator` was immediately renamed to `sv.BoxAnnotator`. Use [`BoxAnnotator`](detection/annotators.md/#supervision.annotators.core.BoxAnnotator) and [`LabelAnnotator`](detection/annotators.md/#supervision.annotators.core.LabelAnnotator) instead of the old `sv.BoxAnnotator`. +- The method `sv.FPSMonitor.__call__` was removed as of `supervision-0.22.0`. Use the attribute [`sv.FPSMonitor.fps`](utils/video.md/#supervision.utils.video.FPSMonitor.fps) instead. diff --git a/docs/detection/annotators.md b/docs/detection/annotators.md index afe64ace07..938c49ff48 100644 --- a/docs/detection/annotators.md +++ b/docs/detection/annotators.md @@ -28,28 +28,26 @@ Annotators accept detections and apply box or mask visualizations to the detecti
    - + === "BoxCorner" diff --git a/docs/keypoint/core.md b/docs/keypoint/core.md index 6f42c254d5..7354babab0 100644 --- a/docs/keypoint/core.md +++ b/docs/keypoint/core.md @@ -1,5 +1,6 @@ --- comments: true +status: new --- # Keypoint Detection From d1aa1726f56f2a39804d9c29156f0c681e68e310 Mon Sep 17 00:00:00 2001 From: "pre-commit-ci[bot]" <66853113+pre-commit-ci[bot]@users.noreply.github.com> Date: Tue, 15 Jul 2025 23:05:13 +0000 Subject: [PATCH 417/420] =?UTF-8?q?fix(pre=5Fcommit):=20=F0=9F=8E=A8=20aut?= =?UTF-8?q?o=20format=20pre-commit=20hooks?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- docs/changelog.md | 38 +++++++++++++++++++------------------- 1 file changed, 19 insertions(+), 19 deletions(-) diff --git a/docs/changelog.md b/docs/changelog.md index 2f38009516..73efcf0b1f 100644 --- a/docs/changelog.md +++ b/docs/changelog.md @@ -13,7 +13,7 @@ ```python import numpy as np import supervision as sv - + boxes_true = np.array([ [100, 100, 200, 200], [300, 300, 400, 400] @@ -22,22 +22,22 @@ [150, 150, 250, 250], [320, 320, 420, 420] ]) - + sv.box_iou_batch( - boxes_true=boxes_true, - boxes_detection=boxes_detection, + boxes_true=boxes_true, + boxes_detection=boxes_detection, overlap_metric=sv.OverlapMetric.IOU ) - + # array([[0.14285714, 0. ], # [0. , 0.47058824]]) - + sv.box_iou_batch( - boxes_true=boxes_true, - boxes_detection=boxes_detection, + boxes_true=boxes_true, + boxes_detection=boxes_detection, overlap_metric=sv.OverlapMetric.IOS ) - + # array([[0.25, 0. ], # [0. , 0.64]]) ``` @@ -74,13 +74,13 @@ resolution_wh=(1000, 1000), classes=['cat', 'dog'], ) - + detections.xyxy # array([[543., 40., 728., 200.], [653., 352., 820., 522.]]) - + detections.data # {'class_name': array(['cat', 'dog'], dtype=' Date: Wed, 16 Jul 2025 01:50:34 +0200 Subject: [PATCH 418/420] =?UTF-8?q?docs:=20=F0=9F=93=9D=20enhance=20prompt?= =?UTF-8?q?=20engineering=20tips=20for=20Qwen2.5-VL=20and=20Moondream=20mo?= =?UTF-8?q?dels?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- supervision/detection/core.py | 64 +++++++++++++++++++++++++++++++++++ 1 file changed, 64 insertions(+) diff --git a/supervision/detection/core.py b/supervision/detection/core.py index ad7bff5e17..c8f2664ba1 100644 --- a/supervision/detection/core.py +++ b/supervision/detection/core.py @@ -1137,6 +1137,53 @@ def from_vlm(cls, vlm: VLM | str, result: str | dict, **kwargs: Any) -> Detectio ``` !!! example "Qwen2.5-VL" + + ??? tip "Prompt engineering" + + To get the best results from Qwen2.5-VL, use clear and descriptive prompts + that specify exactly what you want to detect. + + **For general object detection, use this comprehensive prompt:** + + ``` + Detect all objects in the image and return their locations and labels. + ``` + + **For specific object detection with detailed descriptions:** + + ``` + Detect the red object that is leading in this image and return its location and label. + ``` + + **For simple, targeted detection:** + + ``` + leading blue truck + ``` + + **Additional effective prompts:** + + ``` + Find all people and vehicles in this scene + ``` + + ``` + Locate all animals in the image + ``` + + ``` + Identify traffic signs and their positions + ``` + + **Tips for better results:** + + - Use descriptive language that clearly specifies what to look for + - Include color, size, or position descriptors when targeting specific objects + - Be specific about the type of objects you want to detect + - The model responds well to both detailed instructions and concise phrases + - Results are returned in JSON format with `bbox_2d` coordinates and `label` fields + + ```python import supervision as sv @@ -1293,6 +1340,23 @@ def from_vlm(cls, vlm: VLM | str, result: str | dict, **kwargs: Any) -> Detectio ``` !!! example "Moondream" + + + ??? tip "Prompt engineering" + + To get the best results from Moondream, use optimized prompts that leverage + its object detection capabilities effectively. + + **For general object detection, use this simple prompt:** + + ``` + objects + ``` + + This single-word prompt instructs Moondream to detect all visible objects + and return them in the proper JSON format with normalized coordinates. + + ```python import supervision as sv From 462146b34ea65861c94b290c1554effa97d96ab2 Mon Sep 17 00:00:00 2001 From: Onuralp SEZER Date: Wed, 16 Jul 2025 02:30:12 +0200 Subject: [PATCH 419/420] =?UTF-8?q?docs:=20=F0=9F=93=9D=20add=20prompt=20e?= =?UTF-8?q?ngineering=20tips=20for=20Qwen2.5-VL=20and=20Moondream=20models?= =?UTF-8?q?=20for=20from=5Flmm?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- supervision/detection/core.py | 64 +++++++++++++++++++++++++++++++++++ 1 file changed, 64 insertions(+) diff --git a/supervision/detection/core.py b/supervision/detection/core.py index c8f2664ba1..efaa366a35 100644 --- a/supervision/detection/core.py +++ b/supervision/detection/core.py @@ -867,6 +867,53 @@ def from_lmm(cls, lmm: LMM | str, result: str | dict, **kwargs: Any) -> Detectio ``` !!! example "Qwen2.5-VL" + + ??? tip "Prompt engineering" + + To get the best results from Qwen2.5-VL, use clear and descriptive prompts + that specify exactly what you want to detect. + + **For general object detection, use this comprehensive prompt:** + + ``` + Detect all objects in the image and return their locations and labels. + ``` + + **For specific object detection with detailed descriptions:** + + ``` + Detect the red object that is leading in this image and return its location and label. + ``` + + **For simple, targeted detection:** + + ``` + leading blue truck + ``` + + **Additional effective prompts:** + + ``` + Find all people and vehicles in this scene + ``` + + ``` + Locate all animals in the image + ``` + + ``` + Identify traffic signs and their positions + ``` + + **Tips for better results:** + + - Use descriptive language that clearly specifies what to look for + - Include color, size, or position descriptors when targeting specific objects + - Be specific about the type of objects you want to detect + - The model responds well to both detailed instructions and concise phrases + - Results are returned in JSON format with `bbox_2d` coordinates and `label` fields + + ```python import supervision as sv @@ -1023,6 +1070,23 @@ def from_lmm(cls, lmm: LMM | str, result: str | dict, **kwargs: Any) -> Detectio ``` !!! example "Moondream" + + + ??? tip "Prompt engineering" + + To get the best results from Moondream, use optimized prompts that leverage + its object detection capabilities effectively. + + **For general object detection, use this simple prompt:** + + ``` + objects + ``` + + This single-word prompt instructs Moondream to detect all visible objects + and return them in the proper JSON format with normalized coordinates. + + ```python import supervision as sv From a1e402987b349d1591d85706ebf951a039290c86 Mon Sep 17 00:00:00 2001 From: SkalskiP Date: Wed, 16 Jul 2025 02:33:29 +0200 Subject: [PATCH 420/420] bump version from `0.26.0rc8` to `0.26.0` --- pyproject.toml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pyproject.toml b/pyproject.toml index a198889bee..1b830697a2 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -2,7 +2,7 @@ name = "supervision" description = "A set of easy-to-use utils that will come in handy in any Computer Vision project" license = { text = "MIT" } -version = "0.26.0rc8" +version = "0.26.0" readme = "README.md" requires-python = ">=3.9" authors = [