diff --git a/.github/pull-request-template.md b/.github/pull-request-template.md
index 3292afa..58490ba 100644
--- a/.github/pull-request-template.md
+++ b/.github/pull-request-template.md
@@ -15,16 +15,5 @@ YES | NO
### What are the relevant tickets?
- Include links to Jira Software and/or Jira Service Management tickets here.
-### Developer
-- [ ] All new ENV is documented in README
-- [ ] All new ENV has been added to staging and production environments
-- [ ] All related Jira tickets are linked in commit message(s)
-- [ ] Stakeholder approval has been confirmed (or is not needed)
-
-### Code Reviewer(s)
-- [ ] The commit message is clear and follows our guidelines (not just this PR message)
-- [ ] There are appropriate tests covering any new functionality
-- [ ] The provided documentation is sufficient for understanding any new functionality introduced
-- [ ] Any manual tests have been performed and verified
-- [ ] New dependencies are appropriate or there were no changes
-
+### Code review
+* Code review best practices are documented [here](https://mitlibraries.github.io/guides/collaboration/code_review.html) and you are encouraged to have a constructive dialogue with your reviewers about their preferences and expectations.
\ No newline at end of file
diff --git a/Makefile b/Makefile
index 7c747ef..60fa35b 100644
--- a/Makefile
+++ b/Makefile
@@ -42,7 +42,7 @@ ruff:
pipenv run ruff check .
safety: # Check for security vulnerabilities and verify Pipfile.lock is up-to-date
- pipenv run pip-audit --ignore-vuln GHSA-4xh5-x5gv-qwph
+ pipenv run pip-audit
pipenv verify
# apply changes to resolve any linting errors
diff --git a/Pipfile b/Pipfile
index 17c2e1e..83e017c 100644
--- a/Pipfile
+++ b/Pipfile
@@ -6,6 +6,8 @@ name = "pypi"
[packages]
attrs = "*"
beautifulsoup4 = "==4.12.3"
+boto3 = "*"
+boto3-stubs = "*"
click = "*"
jsonlines = "*"
lxml = "*"
@@ -20,6 +22,7 @@ timdex-dataset-api = {git = "https://github.com/MITLibraries/timdex-dataset-api.
black = "*"
coveralls = "*"
ipython = "*"
+moto = "*"
mypy = "*"
pre-commit = "*"
pytest = "*"
diff --git a/Pipfile.lock b/Pipfile.lock
index a97b739..5247270 100644
--- a/Pipfile.lock
+++ b/Pipfile.lock
@@ -1,7 +1,7 @@
{
"_meta": {
"hash": {
- "sha256": "6432ebf0e764b76e7e48ae090333f263c32e4002fc0432d5d03c7f29eb1f44c8"
+ "sha256": "0b3c74e7df8698e17816079d87a906378aff0fb10cd9eed23b4535097efb1f3b"
},
"pipfile-spec": 6,
"requires": {
@@ -36,78 +36,97 @@
},
"boto3": {
"hashes": [
- "sha256:8985a840d57671aa3c6124b0c178e79be97e3447de4b5819156071793f82ee5c"
+ "sha256:163df55a774402fa940e95a152c308a33fb0f49cbcb5ec1725936e48635512f7",
+ "sha256:f7fe002c39806d5efe9105f0d74e836f001230e9520b4502c752dd4951f60041"
],
+ "index": "pypi",
+ "markers": "python_version >= '3.9'",
+ "version": "==1.42.3"
+ },
+ "boto3-stubs": {
+ "hashes": [
+ "sha256:70912cc1c051d99759d2638e7b7dc8dbde61b492ec4fa573ac739de723ec6399",
+ "sha256:d09484b34c8381c0d698b3a23593bd5631e78d0ad6a06591bcc7d358ff42d5aa"
+ ],
+ "index": "pypi",
"markers": "python_version >= '3.9'",
- "version": "==1.40.56"
+ "version": "==1.42.3"
},
"botocore": {
"hashes": [
- "sha256:0962dfc9bfb0afa1855042a88a72cc722cc7f9c08f51d2c5c88181d525a59a27",
- "sha256:b29df3418a299609632cab240ee79275463b176ebeb3adc841ba367a3fa0c4db"
+ "sha256:6bad2e512ab85926bbfb391a9486bb3120f4be71419e2f70b556d99783dcb1ce",
+ "sha256:fa174f53224ab2adc3a01bb3215b41d314df2f6578381a4a0051bd60d5c718d9"
],
"markers": "python_version >= '3.9'",
- "version": "==1.40.56"
+ "version": "==1.42.3"
+ },
+ "botocore-stubs": {
+ "hashes": [
+ "sha256:66abcf697136fe8c1337b97f83a8d72b28ed7971459974fa3d99ae2057a8f6e9",
+ "sha256:fa18ae8da1b548de7ebd9ce047141ce61901a9ef494e2bf85e568c056c9cd0c1"
+ ],
+ "markers": "python_version >= '3.9'",
+ "version": "==1.42.3"
},
"certifi": {
"hashes": [
- "sha256:0f212c2744a9bb6de0c56639a6f68afe01ecd92d91f14ae897c4fe7bbeeef0de",
- "sha256:47c09d31ccf2acf0be3f701ea53595ee7e0b8fa08801c6624be771df09ae7b43"
+ "sha256:97de8790030bbd5c2d96b7ec782fc2f7820ef8dba6db909ccf95449f2d062d4b",
+ "sha256:d8ab5478f2ecd78af242878415affce761ca6bc54a22a27e026d7c25357c3316"
],
"markers": "python_version >= '3.7'",
- "version": "==2025.10.5"
+ "version": "==2025.11.12"
},
"click": {
"hashes": [
- "sha256:9b9f285302c6e3064f4330c05f05b81945b2a39544279343e6e7c5f27a9baddc",
- "sha256:e7b8232224eba16f4ebe410c25ced9f7875cb5f3263ffc93cc3e8da705e229c4"
+ "sha256:12ff4785d337a1bb490bb7e9c2b1ee5da3112e94a8622f26a6c77f5d2fc6842a",
+ "sha256:981153a64e25f12d547d3426c367a4857371575ee7ad18df2a6183ab0545b2a6"
],
"index": "pypi",
"markers": "python_version >= '3.10'",
- "version": "==8.3.0"
+ "version": "==8.3.1"
},
"duckdb": {
"hashes": [
- "sha256:055a31d715facbc8416ef01cbaad8e7c007a48f73733e1504593ece9870749e3",
- "sha256:09f0c95022615bb6593240e9aded18c825b71a7708b4d5feac8010b6835a0218",
- "sha256:0b5ed2dd2b5c7d8f8add6b90be1a75f782b2d947cad9b4ef180e93ba8fe2c712",
- "sha256:0b900f801b05c42b7c0b38d0f8679c5a0cafdef9a4f5f5bd0c194a24fc94312f",
- "sha256:2c2f363942232019fae10efd9b92c9dde590a955600898c6588a2abbbf322f5d",
- "sha256:2e51c03335992d79190e9230a8bb69d5504e22a0705e6057bbc454cf4742db18",
- "sha256:3141afe3e59a238bd79accb3b5b505ad6bde7e648a67ecb32a87d29baa1d507c",
- "sha256:33bde9de3b5c1a70d6ba212821afaad5d49de2644c85ae021bac9c8d36d358c2",
- "sha256:352afa65795588a540d414c1fd4f3aa125c320c524f26f6d9017788a7efd6245",
- "sha256:359fd08fa84c7ad303334778b3d20c1ef391bf0a7523753f5b4fc582eb63e309",
- "sha256:409a2dea728953a4d7500fcbe4f96d5e021cc996cb73c2aa45d788fbcfc2ecac",
- "sha256:4457538386e403cb12efdfb1cd3a1cf4a47b3947e5b46dc6cd6e306af23f5ad4",
- "sha256:451534c2a51f6d9ffb44937605b4db2226e39664520c548bd9ed090060d14c54",
- "sha256:4b9036e19b51efca43b2cfc639810d4db7c4a75c42132c7c6fee946f1d0e194b",
- "sha256:50458f77161f28928dc805578b13e874b883e1e67e686c7173ae629f01b951e9",
- "sha256:569fe3ecb5ee537cafe3b5823a3798e39b9b7058a374231858beb85e8346c509",
- "sha256:600f886e72d3efbce6629e696d95d9401d012664b547239d0957372d08b32309",
- "sha256:69872aec744cde965cd1ec257cbc275867b40c26e154cef18916c2b219a351b6",
- "sha256:6fe0089bb487a8b47c5b7a189cf83c186faf2da95848cc9d892a5e3384f6ff91",
- "sha256:70bf6ad12dd103d0e2babacb8167af243b08987b5ef6806bf0f68fcd27493c03",
- "sha256:727094fc2ee39ac2227d7cd16c6cf5eacd747c0303d9a4b8c9b8e8a7f31bcbfd",
- "sha256:753dbc58f1be72fbd111882fcb40a3ca3a11183b1fae70ee3d9ee7314312448e",
- "sha256:7947440cb61279b7f6acdc624f0c72d700b3591f178dd3c064d4fe40f257fc85",
- "sha256:844ca95c1a9df1fab6b45a4be77e867f4b1663d74813ba2695a995dba59f4012",
- "sha256:8f9685dc88a18d5a47157a4ea1e5bc3e069cde42356f959650897369db6eef15",
- "sha256:934464e710ee057c9e43ed2eee60e8fad207be9fe387cf21dd42e05fde9c61f9",
- "sha256:94b2c9c8d2e1b04452534f3e6988d6752b462c55ead10c3b2ecd746e9c9dc604",
- "sha256:9e3190bb3e696d8380ccc68ef77ca982244f5debc2cad64aaceb83f14a57438e",
- "sha256:d5b51c838a2a6d3eec537e3852d432d83d1c213fc14431760734c0b5a8c86d7b",
- "sha256:da0857a3f1bb3c4e4f8ceee9028dff7b6738c60dca9256b43861b1ab17fbdaf7",
- "sha256:dc06efeba54e0e8bc9af4ab0abbbb6037e0f96f49c98d1bb93a878df70ec0158",
- "sha256:dfd79a499d2d7d6447c5d31db2781fbd11c80e3b1834232a84f3aa08cfb3f329",
- "sha256:e03a3b89dcf69e9f41ce0f512a307bccb1818aa2e8ebd6e98f36cc1360c20a9f",
- "sha256:e130343c5d7fc87dff9cd002f7ec7791e9e76020bd23a47d0ac2ba6775b9fb91",
- "sha256:e1dbe3ed4e6a11bf93424f42d73f1428c12d9fdaf724996dfee8982299a5a9e4",
- "sha256:f7b5c1a0809e0123f4b8cc18b749d573f6e96f33472f5486283df2afd802a3f1",
- "sha256:f8ea19fbb6b5ee327c9485273989fbcdbd32f5fc3ce97058aeaf3cd020284ac3"
+ "sha256:0c2315b693f201787c9892f31eb9a0484d3c648edb3578a86dc8c1284dd2873a",
+ "sha256:125cd89dbfd40846f216032b11e5eeaf2be13ee4d6745b82413ddd213ddc4d99",
+ "sha256:128c97dab574a438d7c8d020670b21c68792267d88e65a7773667b556541fa9b",
+ "sha256:19d2c2f3cdf0242cad42e803602bbc2636706fc1d2d260ffac815ea2e3a018e8",
+ "sha256:20c45b4ead1ea4d23a1be1cd4f1dfc635e58b55f0dd11e38781369be6c549903",
+ "sha256:2d3c39429b3ce1ee33d86daa94bed75a1f5b0fcf4d66d0839a6fcee398894548",
+ "sha256:2e552451054534970dc999e69ca5ae5c606458548c43fb66d772117760485096",
+ "sha256:2f7c61617d2b1da3da5d7e215be616ad45aa3221c4b9e2c4d1c28ed09bc3c1c4",
+ "sha256:389fa9abe4ca37d091332a2f8c3ebd713f18e87dc4cb5e8efd3e5aa8ddf8885f",
+ "sha256:422be8c6bdc98366c97f464b204b81b892bf962abeae6b0184104b8233da4f19",
+ "sha256:43ac632f40ab1aede9b4ce3c09ea043f26f3db97b83c07c632c84ebd7f7c0f4a",
+ "sha256:449fa37cdefa85bf925681e551157f3cb6434ee85c8329d2f72d52e432e8810f",
+ "sha256:459b1855bd06a226a2838da4f14c8863fd87a62e63d414a7f7f682a7c616511a",
+ "sha256:4d757dae8c63eeb001517ce4cfba768f87f90628c5d22f230773c1fe0b430c5c",
+ "sha256:4da7aafa94800f475d287814ad91993cf1f912c16f76ff4b411769da40c4b7da",
+ "sha256:769440f4507c20542ae2e5b87f6c6c6d3f148c0aa8f912528f6c97e9aedf6a21",
+ "sha256:77db030b48321bf785767b7b1800bf657dd2584f6df0a77e05201ecd22017da2",
+ "sha256:7a496a04458590dcec8e928122ebe2ecbb42c3e1de4119f5461f7bf547acbe79",
+ "sha256:7be8c0c40f2264b91500b89c688f743e1c7764966e988f680b1f19416b00052e",
+ "sha256:85f0c36c1b5f378d96dd7d8c6d312317f4f547a567e8b76cacb2590a31d931f3",
+ "sha256:9106c7292cff824e9497233bb16867ab3bca82885a11f1b533e7ecabf8073b34",
+ "sha256:9356fe17af2711e0a5ace4b20a0373e03163545fd7516e0c3c40428f44597052",
+ "sha256:946a8374c0252db3fa41165ab9952b48adc8de06561a6b5fd62025ac700e492f",
+ "sha256:995ec9c1fc3ce5fbfe5950b980ede2a9d51b35fdf2e3f873ce94c22fc3355fdc",
+ "sha256:a456adbc3459c9dcd99052fad20bd5f8ef642be5b04d09590376b2eb3eb84f5c",
+ "sha256:b2d882672b61bc6117a2c524cf64ea519d2e829295951d214f04e126f1549b09",
+ "sha256:bdd2d808806ceeeec33ba89665a0bb707af8815f2ca40e6c4c581966c0628ba1",
+ "sha256:c45e0e682ee9073c36dc34d7ad8033210bfea0cab80cc98d1eca516227b35fdf",
+ "sha256:c5feb658ed728cfc42d6fe5ff4e2035faf438a3f10c875f3cfa39ef9e2a2c004",
+ "sha256:c6a21732dd52a76f1e61484c06d65800b18f57fe29e8102a7466c201a2221604",
+ "sha256:c6d41fea4f9038663e6b9c325075a843fd105eaff0ec3d5fe31dfa9014114c3e",
+ "sha256:d4af73198e56ba3bc1b2a05eaaf93d162615c225c031685f2a20ef6b2798ed33",
+ "sha256:de646227fc2c53101ac84e86e444e7561aa077387aca8b37052f3803ee690a17",
+ "sha256:df81acee3b15ecb2c72eb8f8579fb5922f6f56c71f5c8892ea3bc6fab39aa2c4",
+ "sha256:dfcc56a83420c0dec0b83e97a6b33addac1b7554b8828894f9d203955591218c",
+ "sha256:e1c80934cb15879844a752776a1ea3d1405635f307f5bb8b87c99f5a5564d33a",
+ "sha256:f1fac31babda2045d4cdefe6d0fd2ebdd8d4c2a333fbcc11607cfeaec202d18d"
],
"markers": "python_full_version >= '3.9.0'",
- "version": "==1.4.2.dev27"
+ "version": "==1.4.2"
},
"duckdb-engine": {
"hashes": [
@@ -291,83 +310,83 @@
},
"numpy": {
"hashes": [
- "sha256:035796aaaddfe2f9664b9a9372f089cfc88bd795a67bd1bfe15e6e770934cf64",
- "sha256:043885b4f7e6e232d7df4f51ffdef8c36320ee9d5f227b380ea636722c7ed12e",
- "sha256:04a69abe45b49c5955923cf2c407843d1c85013b424ae8a560bba16c92fe44a0",
- "sha256:0f2bcc76f1e05e5ab58893407c63d90b2029908fa41f9f1cc51eecce936c3365",
- "sha256:13b9062e4f5c7ee5c7e5be96f29ba71bc5a37fed3d1d77c37390ae00724d296d",
- "sha256:15eea9f306b98e0be91eb344a94c0e630689ef302e10c2ce5f7e11905c704f9c",
- "sha256:15fb27364ed84114438fff8aaf998c9e19adbeba08c0b75409f8c452a8692c52",
- "sha256:1b219560ae2c1de48ead517d085bc2d05b9433f8e49d0955c82e8cd37bd7bf36",
- "sha256:22758999b256b595cf0b1d102b133bb61866ba5ceecf15f759623b64c020c9ec",
- "sha256:2ec646892819370cf3558f518797f16597b4e4669894a2ba712caccc9da53f1f",
- "sha256:3634093d0b428e6c32c3a69b78e554f0cd20ee420dcad5a9f3b2a63762ce4197",
- "sha256:36dc13af226aeab72b7abad501d370d606326a0029b9f435eacb3b8c94b8a8b7",
- "sha256:3da3491cee49cf16157e70f607c03a217ea6647b1cea4819c4f48e53d49139b9",
- "sha256:40cc556d5abbc54aabe2b1ae287042d7bdb80c08edede19f0c0afb36ae586f37",
- "sha256:4121c5beb58a7f9e6dfdee612cb24f4df5cd4db6e8261d7f4d7450a997a65d6a",
- "sha256:4635239814149e06e2cb9db3dd584b2fa64316c96f10656983b8026a82e6e4db",
- "sha256:4c01835e718bcebe80394fd0ac66c07cbb90147ebbdad3dcecd3f25de2ae7e2c",
- "sha256:4ee6a571d1e4f0ea6d5f22d6e5fbd6ed1dc2b18542848e1e7301bd190500c9d7",
- "sha256:56209416e81a7893036eea03abcb91c130643eb14233b2515c90dcac963fe99d",
- "sha256:5e199c087e2aa71c8f9ce1cb7a8e10677dc12457e7cc1be4798632da37c3e86e",
- "sha256:62b2198c438058a20b6704351b35a1d7db881812d8512d67a69c9de1f18ca05f",
- "sha256:64c5825affc76942973a70acf438a8ab618dbd692b84cd5ec40a0a0509edc09a",
- "sha256:65611ecbb00ac9846efe04db15cbe6186f562f6bb7e5e05f077e53a599225d16",
- "sha256:6d34ed9db9e6395bb6cd33286035f73a59b058169733a9db9f85e650b88df37e",
- "sha256:6d9cd732068e8288dbe2717177320723ccec4fb064123f0caf9bbd90ab5be868",
- "sha256:6e274603039f924c0fe5cb73438fa9246699c78a6df1bd3decef9ae592ae1c05",
- "sha256:77b84453f3adcb994ddbd0d1c5d11db2d6bda1a2b7fd5ac5bd4649d6f5dc682e",
- "sha256:7c26b0b2bf58009ed1f38a641f3db4be8d960a417ca96d14e5b06df1506d41ff",
- "sha256:7fd09cc5d65bda1e79432859c40978010622112e9194e581e3415a3eccc7f43f",
- "sha256:817e719a868f0dacde4abdfc5c1910b301877970195db9ab6a5e2c4bd5b121f7",
- "sha256:81b3a59793523e552c4a96109dde028aa4448ae06ccac5a76ff6532a85558a7f",
- "sha256:81c3e6d8c97295a7360d367f9f8553973651b76907988bb6066376bc2252f24e",
- "sha256:838f045478638b26c375ee96ea89464d38428c69170360b23a1a50fa4baa3562",
- "sha256:84f01a4d18b2cc4ade1814a08e5f3c907b079c847051d720fad15ce37aa930b6",
- "sha256:85597b2d25ddf655495e2363fe044b0ae999b75bc4d630dc0d886484b03a5eb0",
- "sha256:85d9fb2d8cd998c84d13a79a09cc0c1091648e848e4e6249b0ccd7f6b487fa26",
- "sha256:85e071da78d92a214212cacea81c6da557cab307f2c34b5f85b628e94803f9c0",
- "sha256:863e3b5f4d9915aaf1b8ec79ae560ad21f0b8d5e3adc31e73126491bb86dee1d",
- "sha256:86966db35c4040fdca64f0816a1c1dd8dbd027d90fca5a57e00e1ca4cd41b879",
- "sha256:8ab1c5f5ee40d6e01cbe96de5863e39b215a4d24e7d007cad56c7184fdf4aeef",
- "sha256:8b5a9a39c45d852b62693d9b3f3e0fe052541f804296ff401a72a1b60edafb29",
- "sha256:8dc20bde86802df2ed8397a08d793da0ad7a5fd4ea3ac85d757bf5dd4ad7c252",
- "sha256:957e92defe6c08211eb77902253b14fe5b480ebc5112bc741fd5e9cd0608f847",
- "sha256:962064de37b9aef801d33bc579690f8bfe6c5e70e29b61783f60bcba838a14d6",
- "sha256:985f1e46358f06c2a09921e8921e2c98168ed4ae12ccd6e5e87a4f1857923f32",
- "sha256:9984bd645a8db6ca15d850ff996856d8762c51a2239225288f08f9050ca240a0",
- "sha256:9cb177bc55b010b19798dc5497d540dea67fd13a8d9e882b2dae71de0cf09eb3",
- "sha256:9d729d60f8d53a7361707f4b68a9663c968882dd4f09e0d58c044c8bf5faee7b",
- "sha256:a13fc473b6db0be619e45f11f9e81260f7302f8d180c49a22b6e6120022596b3",
- "sha256:a49d797192a8d950ca59ee2d0337a4d804f713bb5c3c50e8db26d49666e351dc",
- "sha256:a700a4031bc0fd6936e78a752eefb79092cecad2599ea9c8039c548bc097f9bc",
- "sha256:a7b2f9a18b5ff9824a6af80de4f37f4ec3c2aab05ef08f51c77a093f5b89adda",
- "sha256:a7d018bfedb375a8d979ac758b120ba846a7fe764911a64465fd87b8729f4a6a",
- "sha256:b6c231c9c2fadbae4011ca5e7e83e12dc4a5072f1a1d85a0a7b3ed754d145a40",
- "sha256:bafa7d87d4c99752d07815ed7a2c0964f8ab311eb8168f41b910bd01d15b6032",
- "sha256:bd0c630cf256b0a7fd9d0a11c9413b42fef5101219ce6ed5a09624f5a65392c7",
- "sha256:c090d4860032b857d94144d1a9976b8e36709e40386db289aaf6672de2a81966",
- "sha256:c2f91f496a87235c6aaf6d3f3d89b17dba64996abadccb289f48456cff931ca9",
- "sha256:d149aee5c72176d9ddbc6803aef9c0f6d2ceeea7626574fc68518da5476fa346",
- "sha256:d5e081bc082825f8b139f9e9fe42942cb4054524598aaeb177ff476cc76d09d2",
- "sha256:d7315ed1dab0286adca467377c8381cd748f3dc92235f22a7dfc42745644a96a",
- "sha256:dabc42f9c6577bcc13001b8810d300fe814b4cfbe8a92c873f269484594f9786",
- "sha256:e1708fac43ef8b419c975926ce1eaf793b0c13b7356cfab6ab0dc34c0a02ac0f",
- "sha256:e73d63fd04e3a9d6bc187f5455d81abfad05660b212c8804bf3b407e984cd2bc",
- "sha256:e78aecd2800b32e8347ce49316d3eaf04aed849cd5b38e0af39f829a4e59f5eb",
- "sha256:e8370eb6925bb8c1c4264fec52b0384b44f675f191df91cbe0140ec9f0955646",
- "sha256:ecb63014bb7f4ce653f8be7f1df8cbc6093a5a2811211770f6606cc92b5a78fd",
- "sha256:ed759bf7a70342f7817d88376eb7142fab9fef8320d6019ef87fae05a99874e1",
- "sha256:ef1b5a3e808bc40827b5fa2c8196151a4c5abe110e1726949d7abddfe5c7ae11",
- "sha256:f77e5b3d3da652b474cc80a14084927a5e86a5eccf54ca8ca5cbd697bf7f2667",
- "sha256:faba246fb30ea2a526c2e9645f61612341de1a83fb1e0c5edf4ddda5a9c10996",
- "sha256:fc8a63918b04b8571789688b2780ab2b4a33ab44bfe8ccea36d3eba51228c953",
- "sha256:fdebe771ca06bb8d6abce84e51dca9f7921fe6ad34a0c914541b063e9a68928b",
- "sha256:fea80f4f4cf83b54c3a051f2f727870ee51e22f0248d3114b8e755d160b38cfb"
+ "sha256:00dc4e846108a382c5869e77c6ed514394bdeb3403461d25a829711041217d5b",
+ "sha256:0472f11f6ec23a74a906a00b48a4dcf3849209696dff7c189714511268d103ae",
+ "sha256:04822c00b5fd0323c8166d66c701dc31b7fbd252c100acd708c48f763968d6a3",
+ "sha256:052e8c42e0c49d2575621c158934920524f6c5da05a1d3b9bab5d8e259e045f0",
+ "sha256:09a1bea522b25109bf8e6f3027bd810f7c1085c64a0c7ce050c1676ad0ba010b",
+ "sha256:0cd00b7b36e35398fa2d16af7b907b65304ef8bb4817a550e06e5012929830fa",
+ "sha256:0d8163f43acde9a73c2a33605353a4f1bc4798745a8b1d73183b28e5b435ae28",
+ "sha256:1062fde1dcf469571705945b0f221b73928f34a20c904ffb45db101907c3454e",
+ "sha256:11e06aa0af8c0f05104d56450d6093ee639e15f24ecf62d417329d06e522e017",
+ "sha256:17531366a2e3a9e30762c000f2c43a9aaa05728712e25c11ce1dbe700c53ad41",
+ "sha256:1978155dd49972084bd6ef388d66ab70f0c323ddee6f693d539376498720fb7e",
+ "sha256:1ed1ec893cff7040a02c8aa1c8611b94d395590d553f6b53629a4461dc7f7b63",
+ "sha256:2dcd0808a421a482a080f89859a18beb0b3d1e905b81e617a188bd80422d62e9",
+ "sha256:2e2eb32ddb9ccb817d620ac1d8dae7c3f641c1e5f55f531a33e8ab97960a75b8",
+ "sha256:2feae0d2c91d46e59fcd62784a3a83b3fb677fead592ce51b5a6fbb4f95965ff",
+ "sha256:3095bdb8dd297e5920b010e96134ed91d852d81d490e787beca7e35ae1d89cf7",
+ "sha256:30bc11310e8153ca664b14c5f1b73e94bd0503681fcf136a163de856f3a50139",
+ "sha256:3101e5177d114a593d79dd79658650fe28b5a0d8abeb8ce6f437c0e6df5be1a4",
+ "sha256:396084a36abdb603546b119d96528c2f6263921c50df3c8fd7cb28873a237748",
+ "sha256:3997b5b3c9a771e157f9aae01dd579ee35ad7109be18db0e85dbdbe1de06e952",
+ "sha256:414802f3b97f3c1eef41e530aaba3b3c1620649871d8cb38c6eaff034c2e16bd",
+ "sha256:51c1e14eb1e154ebd80e860722f9e6ed6ec89714ad2db2d3aa33c31d7c12179b",
+ "sha256:51c55fe3451421f3a6ef9a9c1439e82101c57a2c9eab9feb196a62b1a10b58ce",
+ "sha256:5ee6609ac3604fa7780e30a03e5e241a7956f8e2fcfe547d51e3afa5247ac47f",
+ "sha256:612a95a17655e213502f60cfb9bf9408efdc9eb1d5f50535cc6eb365d11b42b5",
+ "sha256:6203fdf9f3dc5bdaed7319ad8698e685c7a3be10819f41d32a0723e611733b42",
+ "sha256:63c0e9e7eea69588479ebf4a8a270d5ac22763cc5854e9a7eae952a3908103f7",
+ "sha256:66f85ce62c70b843bab1fb14a05d5737741e74e28c7b8b5a064de10142fad248",
+ "sha256:6cf9b429b21df6b99f4dee7a1218b8b7ffbbe7df8764dc0bd60ce8a0708fed1e",
+ "sha256:70b37199913c1bd300ff6e2693316c6f869c7ee16378faf10e4f5e3275b299c3",
+ "sha256:727fd05b57df37dc0bcf1a27767a3d9a78cbbc92822445f32cc3436ba797337b",
+ "sha256:74ae7b798248fe62021dbf3c914245ad45d1a6b0cb4a29ecb4b31d0bfbc4cc3e",
+ "sha256:784db1dcdab56bf0517743e746dfb0f885fc68d948aba86eeec2cba234bdf1c0",
+ "sha256:86945f2ee6d10cdfd67bcb4069c1662dd711f7e2a4343db5cecec06b87cf31aa",
+ "sha256:86d835afea1eaa143012a2d7a3f45a3adce2d7adc8b4961f0b362214d800846a",
+ "sha256:872a5cf366aec6bb1147336480fef14c9164b154aeb6542327de4970282cd2f5",
+ "sha256:8b973c57ff8e184109db042c842423ff4f60446239bd585a5131cc47f06f789d",
+ "sha256:8cba086a43d54ca804ce711b2a940b16e452807acebe7852ff327f1ecd49b0d4",
+ "sha256:8f7f0e05112916223d3f438f293abf0727e1181b5983f413dfa2fefc4098245c",
+ "sha256:900218e456384ea676e24ea6a0417f030a3b07306d29d7ad843957b40a9d8d52",
+ "sha256:93eebbcf1aafdf7e2ddd44c2923e2672e1010bddc014138b229e49725b4d6be5",
+ "sha256:9c75442b2209b8470d6d5d8b1c25714270686f14c749028d2199c54e29f20b4d",
+ "sha256:9ee2197ef8c4f0dfe405d835f3b6a14f5fee7782b5de51ba06fb65fc9b36e9f1",
+ "sha256:a414504bef8945eae5f2d7cb7be2d4af77c5d1cb5e20b296c2c25b61dff2900c",
+ "sha256:a4b9159734b326535f4dd01d947f919c6eefd2d9827466a696c44ced82dfbc18",
+ "sha256:a80afd79f45f3c4a7d341f13acbe058d1ca8ac017c165d3fa0d3de6bc1a079d7",
+ "sha256:aa5bc7c5d59d831d9773d1170acac7893ce3a5e130540605770ade83280e7188",
+ "sha256:acfd89508504a19ed06ef963ad544ec6664518c863436306153e13e94605c218",
+ "sha256:aeffcab3d4b43712bb7a60b65f6044d444e75e563ff6180af8f98dd4b905dfd2",
+ "sha256:afaffc4393205524af9dfa400fa250143a6c3bc646c08c9f5e25a9f4b4d6a903",
+ "sha256:b0c7088a73aef3d687c4deef8452a3ac7c1be4e29ed8bf3b366c8111128ac60c",
+ "sha256:b46b4ec24f7293f23adcd2d146960559aaf8020213de8ad1909dba6c013bf89c",
+ "sha256:b501b5fa195cc9e24fe102f21ec0a44dffc231d2af79950b451e0d99cea02234",
+ "sha256:bf06bc2af43fa8d32d30fae16ad965663e966b1a3202ed407b84c989c3221e82",
+ "sha256:c804e3a5aba5460c73955c955bdbd5c08c354954e9270a2c1565f62e866bdc39",
+ "sha256:c8a9958e88b65c3b27e22ca2a076311636850b612d6bbfb76e8d156aacde2aaf",
+ "sha256:cc0a57f895b96ec78969c34f682c602bf8da1a0270b09bc65673df2e7638ec20",
+ "sha256:cc8920d2ec5fa99875b670bb86ddeb21e295cb07aa331810d9e486e0b969d946",
+ "sha256:ccc933afd4d20aad3c00bcef049cb40049f7f196e0397f1109dba6fed63267b0",
+ "sha256:ce581db493ea1a96c0556360ede6607496e8bf9b3a8efa66e06477267bc831e9",
+ "sha256:d0f23b44f57077c1ede8c5f26b30f706498b4862d3ff0a7298b8411dd2f043ff",
+ "sha256:d21644de1b609825ede2f48be98dfde4656aefc713654eeee280e37cadc4e0ad",
+ "sha256:d6889ec4ec662a1a37eb4b4fb26b6100841804dac55bd9df579e326cdc146227",
+ "sha256:de5672f4a7b200c15a4127042170a694d4df43c992948f5e1af57f0174beed10",
+ "sha256:e6a0bc88393d65807d751a614207b7129a310ca4fe76a74e5c7da5fa5671417e",
+ "sha256:ed89927b86296067b4f81f108a2271d8926467a8868e554eaf370fc27fa3ccaf",
+ "sha256:ee3888d9ff7c14604052b2ca5535a30216aa0a58e948cdd3eeb8d3415f638769",
+ "sha256:f0963b55cdd70fad460fa4c1341f12f976bb26cb66021a5580329bd498988310",
+ "sha256:f16417ec91f12f814b10bafe79ef77e70113a2f5f7018640e7425ff979253425",
+ "sha256:f28620fe26bee16243be2b7b874da327312240a7cdc38b769a697578d2100013",
+ "sha256:f4255143f5160d0de972d28c8f9665d882b5f61309d8362fdd3e103cf7bf010c",
+ "sha256:ffac52f28a7849ad7576293c0cb7b9f08304e8f7d738a8cb8a90ec4c55a998eb",
+ "sha256:ffe22d2b05504f786c867c8395de703937f934272eb67586817b46188b4ded6d",
+ "sha256:fffe29a1ef00883599d1dc2c51aa2e5d80afe49523c261a74933df395c15c520"
],
"markers": "python_version >= '3.11'",
- "version": "==2.3.4"
+ "version": "==2.3.5"
},
"packaging": {
"hashes": [
@@ -440,52 +459,59 @@
},
"pyarrow": {
"hashes": [
- "sha256:067c66ca29aaedae08218569a114e413b26e742171f526e828e1064fcdec13f4",
- "sha256:072116f65604b822a7f22945a7a6e581cfa28e3454fdcc6939d4ff6090126623",
- "sha256:0c4e75d13eb76295a49e0ea056eb18dbd87d81450bfeb8afa19a7e5a75ae2ad7",
- "sha256:186aa00bca62139f75b7de8420f745f2af12941595bbbfa7ed3870ff63e25636",
- "sha256:1e005378c4a2c6db3ada3ad4c217b381f6c886f0a80d6a316fe586b90f77efd7",
- "sha256:203003786c9fd253ebcafa44b03c06983c9c8d06c3145e37f1b76a1f317aeae1",
- "sha256:222c39e2c70113543982c6b34f3077962b44fca38c0bd9e68bb6781534425c10",
- "sha256:26bfd95f6bff443ceae63c65dc7e048670b7e98bc892210acba7e4995d3d4b51",
- "sha256:3a302f0e0963db37e0a24a70c56cf91a4faa0bca51c23812279ca2e23481fccd",
- "sha256:3a81486adc665c7eb1a2bde0224cfca6ceaba344a82a971ef059678417880eb8",
- "sha256:3b4d97e297741796fead24867a8dabf86c87e4584ccc03167e4a811f50fdf74d",
- "sha256:40ebfcb54a4f11bcde86bc586cbd0272bac0d516cfa539c799c2453768477569",
- "sha256:479ee41399fcddc46159a551705b89c05f11e8b8cb8e968f7fec64f62d91985e",
- "sha256:5051f2dccf0e283ff56335760cbc8622cf52264d67e359d5569541ac11b6d5bc",
- "sha256:555ca6935b2cbca2c0e932bedd853e9bc523098c39636de9ad4693b5b1df86d6",
- "sha256:585e7224f21124dd57836b1530ac8f2df2afc43c861d7bf3d58a4870c42ae36c",
- "sha256:58c30a1729f82d201627c173d91bd431db88ea74dcaa3885855bc6203e433b82",
- "sha256:6299449adf89df38537837487a4f8d3bd91ec94354fdd2a7d30bc11c48ef6e79",
- "sha256:65f8e85f79031449ec8706b74504a316805217b35b6099155dd7e227eef0d4b6",
- "sha256:689f448066781856237eca8d1975b98cace19b8dd2ab6145bf49475478bcaa10",
- "sha256:69cbbdf0631396e9925e048cfa5bce4e8c3d3b41562bbd70c685a8eb53a91e61",
- "sha256:731c7022587006b755d0bdb27626a1a3bb004bb56b11fb30d98b6c1b4718579d",
- "sha256:7be45519b830f7c24b21d630a31d48bcebfd5d4d7f9d3bdb49da9cdf6d764edb",
- "sha256:898afce396b80fdda05e3086b4256f8677c671f7b1d27a6976fa011d3fd0a86e",
- "sha256:8d58d8497814274d3d20214fbb24abcad2f7e351474357d552a8d53bce70c70e",
- "sha256:9b0b14b49ac10654332a805aedfc0147fb3469cbf8ea951b3d040dab12372594",
- "sha256:9d9f8bcb4c3be7738add259738abdeddc363de1b80e3310e04067aa1ca596634",
- "sha256:a7a102574faa3f421141a64c10216e078df467ab9576684d5cd696952546e2da",
- "sha256:a7f6524e3747e35f80744537c78e7302cd41deee8baa668d56d55f77d9c464b3",
- "sha256:b6b27cf01e243871390474a211a7922bfbe3bda21e39bc9160daf0da3fe48876",
- "sha256:b7ae0bbdc8c6674259b25bef5d2a1d6af5d39d7200c819cf99e07f7dfef1c51e",
- "sha256:bd04ec08f7f8bd113c55868bd3fc442a9db67c27af098c5f814a3091e71cc61a",
- "sha256:c077f48aab61738c237802836fc3844f85409a46015635198761b0d6a688f87b",
- "sha256:cdc4c17afda4dab2a9c0b79148a43a7f4e1094916b3e18d8975bfd6d6d52241f",
- "sha256:cf56ec8b0a5c8c9d7021d6fd754e688104f9ebebf1bf4449613c9531f5346a18",
- "sha256:d2fe8e7f3ce329a71b7ddd7498b3cfac0eeb200c2789bd840234f0dc271a8efe",
- "sha256:dc56bc708f2d8ac71bd1dcb927e458c93cec10b98eb4120206a4091db7b67b99",
- "sha256:e563271e2c5ff4d4a4cbeb2c83d5cf0d4938b891518e676025f7268c6fe5fe26",
- "sha256:e72a8ec6b868e258a2cd2672d91f2860ad532d590ce94cdf7d5e7ec674ccf03d",
- "sha256:e99310a4ebd4479bcd1964dff9e14af33746300cb014aa4a3781738ac63baf4a",
- "sha256:f522e5709379d72fb3da7785aa489ff0bb87448a9dc5a75f45763a795a089ebd",
- "sha256:fc0d2f88b81dcf3ccf9a6ae17f89183762c8a94a5bdcfa09e05cfe413acf0503",
- "sha256:fee33b0ca46f4c85443d6c450357101e47d53e6c3f008d658c27a2d020d44c79"
+ "sha256:001ea83a58024818826a9e3f89bf9310a114f7e26dfe404a4c32686f97bd7901",
+ "sha256:00626d9dc0f5ef3a75fe63fd68b9c7c8302d2b5bbc7f74ecaedba83447a24f84",
+ "sha256:0c34fe18094686194f204a3b1787a27456897d8a2d62caf84b61e8dfbc0252ae",
+ "sha256:12fe549c9b10ac98c91cf791d2945e878875d95508e1a5d14091a7aaa66d9cf8",
+ "sha256:1a812a5b727bc09c3d7ea072c4eebf657c2f7066155506ba31ebf4792f88f016",
+ "sha256:252be4a05f9d9185bb8c18e83764ebcfea7185076c07a7a662253af3a8c07941",
+ "sha256:334f900ff08ce0423407af97e6c26ad5d4e3b0763645559ece6fbf3747d6a8f5",
+ "sha256:35ad0f0378c9359b3f297299c3309778bb03b8612f987399a0333a560b43862d",
+ "sha256:3d600dc583260d845c7d8a6db540339dd883081925da2bd1c5cb808f720b3cd9",
+ "sha256:3e294c5eadfb93d78b0763e859a0c16d4051fc1c5231ae8956d61cb0b5666f5a",
+ "sha256:3e739edd001b04f654b166204fc7a9de896cf6007eaff33409ee9e50ceaff754",
+ "sha256:44729980b6c50a5f2bfcc2668d36c569ce17f8b17bccaf470c4313dcbbf13c9d",
+ "sha256:44d2d26cda26d18f7af7db71453b7b783788322d756e81730acb98f24eb90ace",
+ "sha256:4c19236ae2402a8663a2c8f21f1870a03cc57f0bef7e4b6eb3238cc82944de80",
+ "sha256:69763ab2445f632d90b504a815a2a033f74332997052b721002298ed6de40f2e",
+ "sha256:6dda1ddac033d27421c20d7a7943eec60be44e0db4e079f33cc5af3b8280ccde",
+ "sha256:6f9762274496c244d951c819348afbcf212714902742225f649cf02823a6a10f",
+ "sha256:710624ab925dc2b05a6229d47f6f0dac1c1155e6ed559be7109f684eba048a48",
+ "sha256:7388ac685cab5b279a41dfe0a6ccd99e4dbf322edfb63e02fc0443bf24134e91",
+ "sha256:77718810bd3066158db1e95a63c160ad7ce08c6b0710bc656055033e39cdad88",
+ "sha256:7a820d8ae11facf32585507c11f04e3f38343c1e784c9b5a8b1da5c930547fe2",
+ "sha256:8382ad21458075c2e66a82a29d650f963ce51c7708c7c0ff313a8c206c4fd5e8",
+ "sha256:84378110dd9a6c06323b41b56e129c504d157d1a983ce8f5443761eb5256bafc",
+ "sha256:854794239111d2b88b40b6ef92aa478024d1e5074f364033e73e21e3f76b25e0",
+ "sha256:92843c305330aa94a36e706c16209cd4df274693e777ca47112617db7d0ef3d7",
+ "sha256:9bddc2cade6561f6820d4cd73f99a0243532ad506bc510a75a5a65a522b2d74d",
+ "sha256:a4893d31e5ef780b6edcaf63122df0f8d321088bb0dee4c8c06eccb1ca28d145",
+ "sha256:a9d9ffdc2ab696f6b15b4d1f7cec6658e1d788124418cb30030afbae31c64746",
+ "sha256:ac93252226cf288753d8b46280f4edf3433bf9508b6977f8dd8526b521a1bbb9",
+ "sha256:b41f37cabfe2463232684de44bad753d6be08a7a072f6a83447eeaf0e4d2a215",
+ "sha256:b883fe6fd85adad7932b3271c38ac289c65b7337c2c132e9569f9d3940620730",
+ "sha256:b9d71701ce97c95480fecb0039ec5bb889e75f110da72005743451339262f4ce",
+ "sha256:ba95112d15fd4f1105fb2402c4eab9068f0554435e9b7085924bcfaac2cc306f",
+ "sha256:bba208d9c7decf9961998edf5c65e3ea4355d5818dd6cd0f6809bec1afb951cc",
+ "sha256:bd0d42297ace400d8febe55f13fdf46e86754842b860c978dfec16f081e5c653",
+ "sha256:bea79263d55c24a32b0d79c00a1c58bb2ee5f0757ed95656b01c0fb310c5af3d",
+ "sha256:c064e28361c05d72eed8e744c9605cbd6d2bb7481a511c74071fd9b24bc65d7d",
+ "sha256:c3200cb41cdbc65156e5f8c908d739b0dfed57e890329413da2748d1a2cd1a4e",
+ "sha256:c6c791b09c57ed76a18b03f2631753a4960eefbbca80f846da8baefc6491fcfe",
+ "sha256:c6ec3675d98915bf1ec8b3c7986422682f7232ea76cad276f4c8abd5b7319b70",
+ "sha256:ce20fe000754f477c8a9125543f1936ea5b8867c5406757c224d745ed033e691",
+ "sha256:cedb9dd9358e4ea1d9bce3665ce0797f6adf97ff142c8e25b46ba9cdd508e9b6",
+ "sha256:e0a15757fccb38c410947df156f9749ae4a3c89b2393741a50521f39a8cf202a",
+ "sha256:e6e95176209257803a8b3d0394f21604e796dadb643d2f7ca21b66c9c0b30c9a",
+ "sha256:e70ff90c64419709d38c8932ea9fe1cc98415c4f87ea8da81719e43f02534bc9",
+ "sha256:ec1a15968a9d80da01e1d30349b2b0d7cc91e96588ee324ce1b5228175043e95",
+ "sha256:ec5d40dd494882704fb876c16fa7261a69791e784ae34e6b5992e977bd2e238c",
+ "sha256:f633074f36dbc33d5c05b5dc75371e5660f1dbf9c8b1d95669def05e5425989c",
+ "sha256:f7fe3dbe871294ba70d789be16b6e7e52b418311e166e0e3cba9522f0f437fb1",
+ "sha256:f963ba8c3b0199f9d6b794c90ec77545e05eadc83973897a4523c9e8d84e9340"
],
- "markers": "python_version >= '3.9'",
- "version": "==21.0.0"
+ "markers": "python_version >= '3.10'",
+ "version": "==22.0.0"
},
"python-dateutil": {
"hashes": [
@@ -505,20 +531,20 @@
},
"s3transfer": {
"hashes": [
- "sha256:ea3b790c7077558ed1f02a3072fb3cb992bbbd253392f4b6e9e8976941c7d456",
- "sha256:eff12264e7c8b4985074ccce27a3b38a485bb7f7422cc8046fee9be4983e4125"
+ "sha256:18e25d66fed509e3868dc1572b3f427ff947dd2c56f844a5bf09481ad3f3b2fe",
+ "sha256:8e990f13268025792229cd52fa10cb7163744bf56e719e0b9cb925ab79abf920"
],
"markers": "python_version >= '3.9'",
- "version": "==0.14.0"
+ "version": "==0.16.0"
},
"sentry-sdk": {
"hashes": [
- "sha256:8598cc6edcfe74cb8074ba6a7c15338cdee93d63d3eb9b9943b4b568354ad5b6",
- "sha256:f8716b50c927d3beb41bc88439dc6bcd872237b596df5b14613e2ade104aee02"
+ "sha256:8218891d5e41b4ea8d61d2aed62ed10c80e39d9f2959d6f939efbf056857e050",
+ "sha256:d72f8c61025b7d1d9e52510d03a6247b280094a327dd900d987717a4fce93412"
],
"index": "pypi",
"markers": "python_version >= '3.6'",
- "version": "==2.42.1"
+ "version": "==2.47.0"
},
"six": {
"hashes": [
@@ -533,19 +559,19 @@
"s3"
],
"hashes": [
- "sha256:5c20f09026875e6dec708e9610e0cd13d24d91f0a2c12e6511b9e478a566b4a0",
- "sha256:f52cb9bc897c7676dfc6996735332bd2465dfb048c73bfa9dfcdc829f48018cc"
+ "sha256:87e695c5148bbb988f15cec00971602765874163be85acb1c9fb8abc012e6599",
+ "sha256:f394b143851d8091011832ac8113ea4aba6b92e6c35f6e677ddaaccb169d7cb9"
],
"markers": "python_version >= '3.9' and python_version < '4.0'",
- "version": "==7.4.1"
+ "version": "==7.5.0"
},
"soupsieve": {
"hashes": [
- "sha256:6e60cc5c1ffaf1cebcc12e8188320b72071e922c2e897f737cadce79ad5d30c4",
- "sha256:ad282f9b6926286d2ead4750552c8a6142bc4c783fd66b0293547c8fe6ae126a"
+ "sha256:0cc76456a30e20f5d7f2e14a98a4ae2ee4e5abdc7c5ea0aafe795f344bc7984c",
+ "sha256:e2dd4a40a628cb5f28f6d4b0db8800b8f581b65bb380b97de22ba5ca8d72572f"
],
- "markers": "python_version >= '3.8'",
- "version": "==2.7"
+ "markers": "python_version >= '3.9'",
+ "version": "==2.8"
},
"sqlalchemy": {
"hashes": [
@@ -612,16 +638,32 @@
},
"timdex-dataset-api": {
"git": "https://github.com/MITLibraries/timdex-dataset-api.git",
- "ref": "ef34e4ad2702a0aa6fbe16ccaf3966928040d0ce"
+ "ref": "2ff19dac114c56bd03ddabc04379828b9c2a719a"
+ },
+ "types-awscrt": {
+ "hashes": [
+ "sha256:3f5d1e6c99b0b551af6365f9c04d8ce2effbcfe18bb719a34501efea279ae7bb",
+ "sha256:41e01e14d646877bd310e7e3c49ff193f8361480b9568e97b1639775009bbefa"
+ ],
+ "markers": "python_version >= '3.8'",
+ "version": "==0.29.2"
},
"types-python-dateutil": {
"hashes": [
- "sha256:b9a5232c8921cf7661b29c163ccc56055c418ab2c6eabe8f917cbcc73a4c4157",
- "sha256:c3826289c170c93ebd8360c3485311187df740166dbab9dd3b792e69f2bc1f9c"
+ "sha256:8a47f2c3920f52a994056b8786309b43143faa5a64d4cbb2722d6addabdf1a58",
+ "sha256:9cf9c1c582019753b8639a081deefd7e044b9fa36bd8217f565c6c4e36ee0624"
],
"index": "pypi",
"markers": "python_version >= '3.9'",
- "version": "==2.9.0.20251008"
+ "version": "==2.9.0.20251115"
+ },
+ "types-s3transfer": {
+ "hashes": [
+ "sha256:1e617b14a9d3ce5be565f4b187fafa1d96075546b52072121f8fda8e0a444aed",
+ "sha256:43a523e0c43a88e447dfda5f4f6b63bf3da85316fdd2625f650817f2b170b5f7"
+ ],
+ "markers": "python_version >= '3.8'",
+ "version": "==0.15.0"
},
"typing-extensions": {
"hashes": [
@@ -641,124 +683,124 @@
},
"urllib3": {
"hashes": [
- "sha256:3fc47733c7e419d4bc3f6b3dc2b4f890bb743906a30d56ba4a5bfa4bbff92760",
- "sha256:e6b01673c0fa6a13e374b50871808eb3bf7046c4b125b216f6bf1cc604cff0dc"
+ "sha256:c90f7a39f716c572c4e3e58509581ebd83f9b59cced005b7db7ad2d22b0db99f",
+ "sha256:cb9bcef5a4b345d5da5d145dc3e30834f58e8018828cbc724d30b4cb7d4d49f1"
],
"markers": "python_version >= '3.9'",
- "version": "==2.5.0"
+ "version": "==2.6.0"
},
"wrapt": {
"hashes": [
- "sha256:02482fb0df89857e35427dfb844319417e14fae05878f295ee43fa3bf3b15502",
- "sha256:028f19ec29e204fe725139d4a8b09f77ecfb64f8f02b7ab5ee822c85e330b68b",
- "sha256:03442f2b45fa3f2b98a94a1917f52fb34670de8f96c0a009c02dbd512d855a3d",
- "sha256:04c7c8393f25b11c0faa5d907dd9eb462e87e4e7ba55e308a046d7ed37f4bbe2",
- "sha256:04f7a5f92c5f7324a1735043cc467b1295a1c5b4e0c1395472b7c44706e3dc61",
- "sha256:057f02c13cce7b26c79624c06a3e1c2353e6dc9708525232232f6768118042ca",
- "sha256:06b78cb6b9320f57737a52fede882640d93cface98332d1a3df0c5696ec9ae9f",
- "sha256:094d348ce7e6ce37bf6ed9a6ecc11886c96f447b3ffebc7539ca197daa9a997e",
- "sha256:0a921b657a224e40e4bc161b5d33934583b34f0c9c5bdda4e6ac66f9d2fcb849",
- "sha256:0b9ad4fab76a0086dc364c4f17f39ad289600e73ef5c6e9ab529aff22cac1ac3",
- "sha256:1147a84c8fc852426580af8b6e33138461ddbc65aa459a25ea539374d32069fa",
- "sha256:12c37784b77bf043bf65cc96c7195a5db474b8e54173208af076bdbb61df7b3e",
- "sha256:1316972a72c67936a07dbb48e2464356d91dd9674335aaec087b60094d87750b",
- "sha256:1724dd7b84d419c80ba839da81ad78b02ac30df626e5aefcb18e94632a965f13",
- "sha256:17ba1bdc52d0c783481850996aa26cea5237720769197335abea2ae6b4c23bc0",
- "sha256:17d0b5c42495ba142a1cee52b76414f9210591c84aae94dffda70240753bfb3c",
- "sha256:1a91075a5383a7cbfe46aed1845ef7c3f027e8e20e7d9a8a75e36ebc9b0dd15e",
- "sha256:1fd4c95536975895f32571073446e614d5e2810b666b64955586dcddfd438fd3",
- "sha256:2356f76cb99b3de5b4e5b8210367fbbb81c7309fe39b622f5d199dd88eb7f765",
- "sha256:2b79bf04c722035b1c474980dc1a64369feab7b703d6fe67da2d8664ed0bc980",
- "sha256:2ca35b83497276c2ca0b072d2c00da2edde4c2a6c8c650eafcd1a006c17ab231",
- "sha256:2fc55d0da29318a5da33c2827aef8946bba046ac609a4784a90faff73c511174",
- "sha256:309dd467a94ee38a7aa5752bda64e660aeab5723b26200d0b65a375dad9add09",
- "sha256:35a542cc7a962331d0279735c30995b024e852cf40481e384fd63caaa391cbb9",
- "sha256:39c5b45b056d630545e40674d1f5e1b51864b3546f25ab6a4a331943de96262e",
- "sha256:3c7d3bee7be7a2665286103f4d1f15405c8074e6e1f89dac5774f9357c9a3809",
- "sha256:3e02ab8c0ac766a5a6e81cd3b6cc39200c69051826243182175555872522bd5a",
- "sha256:43dc0550ae15e33e6bb45a82a5e1b5495be2587fbaa996244b509921810ee49f",
- "sha256:49e982b7860d325094978292a49e0418833fc7fc42c0dc7cd0b7524d7d06ee74",
- "sha256:52878edc13dc151c58a9966621d67163a80654bc6cff4b2e1c79fa62d0352b26",
- "sha256:59dc94afc4542c7d9b9447fb2ae1168b5a29064eca4061dbbf3b3c26df268334",
- "sha256:5aad54ff45da9784573099696fd84841c7e559ce312f02afa6aa7e89b58e2c2f",
- "sha256:5d3ebd784804f146b7ea55359beb138e23cc18e5a5cc2cf26ad438723c00ce3a",
- "sha256:5d6691d4a711504a0bc10de789842ad6ac627bed22937b10f37a1211a8ab7bb3",
- "sha256:5e09ffd31001dce71c2c2a4fc201bdba9a2f9f62b23700cf24af42266e784741",
- "sha256:623242959cb0c53f76baeb929be79f5f6a9a1673ef51628072b91bf299af2212",
- "sha256:65f50e356c425c061e1e17fe687ff30e294fed9bf3441dc1f13ef73859c2a817",
- "sha256:680f707e1d26acbc60926659799b15659f077df5897a6791c7c598a5d4a211c4",
- "sha256:6e5c86389d9964050ce50babe247d172a5e3911d59a64023b90db2b4fa00ae7c",
- "sha256:73c6f734aecb1a030d9a265c13a425897e1ea821b73249bb14471445467ca71c",
- "sha256:75e5c049eb583835f7a0e0e311d9dde9bfbaac723a6dd89d052540f9b2809977",
- "sha256:79a53d86c2aff7b32cc77267e3a308365d1fcb881e74bc9cbe26f63ee90e37f0",
- "sha256:79bdd84570267f3f43d609c892ae2d30b91ee4b8614c2cbfd311a2965f1c9bdb",
- "sha256:7a0efbbc06d3e2077476a04f55859819d23206600b4c33f791359a8e6fa3c362",
- "sha256:7fec8a9455c029c8cf4ff143a53b6e7c463268d42be6c17efa847ebd2f809965",
- "sha256:804e88f824b76240a1b670330637ccfd2d18b9efa3bb4f02eb20b2f64880b324",
- "sha256:806e2e73186eb5e3546f39fb5d0405040e0088db0fc8b2f667fd1863de2b3c99",
- "sha256:81d234718aabe632d179fac52c7f69f0f99fbaac4d4bcd670e62462bbcbfcad7",
- "sha256:827e6e3a3a560f6ec1f5ee92d4319c21a0549384f896ec692f3201eda31ebd11",
- "sha256:829c8d46465dbae49dba91516f11200a2b5ea91eae8afaccbc035f0b651eb9c4",
- "sha256:887f2a667e3cbfb19e204032d42ad7dedaa43972e4861dc7a3d51ae951d9b578",
- "sha256:895870602d65d7338edb3b6a717d856632ad9f14f7ff566214e4fb11f0816649",
- "sha256:8c8349ebfc3cd98bc9105e0112dd8c8ac1f3c7cb5601f9d02248cae83a63f748",
- "sha256:8d851e526891216f89fcb7a1820dad9bd503ba3468fb9635ee28e93c781aa98e",
- "sha256:8e08d4edb13cafe7b3260f31d4de033f73d3205774540cf583bffaa4bec97db9",
- "sha256:9054829da4be461e3ad3192e4b6bbf1fc18af64c9975ce613aec191924e004dc",
- "sha256:93c8b4f4d54fd401a817abbfc9bf482aa72fd447f8adf19ce81d035b3f5c762c",
- "sha256:93cb5bff1fcd89b75f869e4f69566a91ab2c9f13e8edf0241fd5777b2fa6d48e",
- "sha256:98223acaa25b1449d993a3f4ffc8b5a03535e4041b37bf6a25459a0c74ee4cfc",
- "sha256:9b15940ae9debc8b40b15dc57e1ce4433f7fb9d3f8761c7fab1ddd94cb999d99",
- "sha256:9c100b0598f3763274f2033bcc0454de7486409f85bc6da58b49e5971747eb36",
- "sha256:9d72c725cefbcc8ebab85c8352e5062ae87b6e323858e934e16b54ced580435a",
- "sha256:9e070c3491397fba0445b8977900271eca9656570cca7c900d9b9352186703a0",
- "sha256:a1cb62f686c50e9dab5983c68f6c8e9cbf14a6007935e683662898a7d892fa69",
- "sha256:a55e8edd08e2eece131d90d82cd1521962d9152829b22c56e68539526d605825",
- "sha256:a7cebcee61f21b1e46aa32db8d9d93826d0fbf1ad85defc2ccfb93b4adef1435",
- "sha256:a93e0f8b376c0735b2f4daf58018b4823614d2b896cb72b6641c4d3dbdca1d75",
- "sha256:ac3d8beac68e4863c703b844fcc82693f83f933b37d2a54e9d513b2aab9c76aa",
- "sha256:af01695c2b7bbd8d67b869d8e3de2b123a7bfbee0185bdd138c2775f75373b83",
- "sha256:b42d13603da4416c43c430dbc6313c8d7ff745c40942f146ed4f6dd02c7d2547",
- "sha256:b4a7f8023b8ce8a36370154733c747f8d65c8697cb977d8b6efeb89291fff23e",
- "sha256:b6a18c813196e18146b8d041e20875bdb0cb09b94ac1d1e1146e0fa87b2deb0d",
- "sha256:b7e221abb6c5387819db9323dac3c875b459695057449634f1111955d753c621",
- "sha256:b952ffd77133a5a2798ee3feb18e51b0a299d2f440961e5bb7737dbb02e57289",
- "sha256:b95733c2360c4a8656ee93c7af78e84c0bd617da04a236d7a456c8faa34e7a2d",
- "sha256:b96fdaa4611e05c7231937930567d3c16782be9dbcf03eb9f60d83e57dd2f129",
- "sha256:be7e316c2accd5a31dbcc230de19e2a846a325f8967fdea72704d00e38e6af06",
- "sha256:bed9b04900204721a24bcefc652ca267b01c1e8ad8bc8c0cff81558a45a3aadc",
- "sha256:c16f6d4eea98080f6659a8a7fc559d4a0a337ee66960659265cad2c8a40f7c0f",
- "sha256:c2c476aa3fc2b9899c3f7b20963fac4f952e7edb74a31fc92f7745389a2e3618",
- "sha256:c6961f05e58d919153ba311b397b7b904b907132b7b8344dde47865d4bb5ec89",
- "sha256:c8bbd2472abf8c33480ad2314b1f8fac45d592aba6cc093e8839a7b2045660e6",
- "sha256:c92b5a82d28491e3f14f037e1aae99a27a5e6e0bb161e65f52c0445a3fa7c940",
- "sha256:d61214525eaf88e0d0edf3d1ad5b5889863c6f88e588c6cdc6aa4ee5d1f10a4a",
- "sha256:d6ebfe9283209220ed9de80a3e9442aab8fc2be5a9bbf8491b99e02ca9349a89",
- "sha256:d731a4f22ed6ffa4cb551b4d2b0c24ff940c27a88edaf8e3490a5ee3a05aef71",
- "sha256:d7c532cc9f0a9e6017f8d3c37f478a3e3a5dffa955ebba556274e5e916c058f7",
- "sha256:d87c285ff04e26083c4b03546e7b74df7ba4f1f32f1dcb92e9ac13c2dbb4c379",
- "sha256:db2eea83c43f84e4e41dbbb4c1de371a53166e55f900a6b130c3ef51c6345c1a",
- "sha256:e0eb6d155d02c7525b7ec09856cda5e611fc6eb9ab40d140e1f35f27ac7d5eae",
- "sha256:e25fde03c480061b8234d8ee4863eb5f40a9be4fb258ce105b364de38fc6bcf9",
- "sha256:e2ea096db28d5eb64d381af0e93464621ace38a7003a364b6b5ffb7dd713aabe",
- "sha256:e50bcbd5b65dac21b82319fcf18486e6ac439947e9305034b00704eb7405f553",
- "sha256:e52e50ea0a72ea48d1291cf8b8aaedcc99072d9dc5baba6b820486dcf4c67da8",
- "sha256:e64a3a1fd9a308ab9b815a2ad7a65b679730629dbf85f8fc3f7f970d634ee5df",
- "sha256:e761f2d2f8dbc80384af3d547b522a80e67db3e319c7b02e7fd97aded0a8a678",
- "sha256:e7ca0562606d7bad2736b2c18f61295d61f50cd3f4bfc51753df13614dbcce1b",
- "sha256:ea56817176834edf143df1109ae8fdaa087be82fdad3492648de0baa8ae82bf2",
- "sha256:ec5028d26011a53c76bd91bb6198b30b438c6e0f7adb45f2ad84fe2655b6a104",
- "sha256:ee44215e7d13e112a8fc74e12ed1a1f41cab2bc07b11cc703f2398cd114b261c",
- "sha256:f2c7b7fead096dbf1dcc455b7f59facb05de3f5bfb04f60a69f98cdfe6049e5f",
- "sha256:f460e1eb8e75a17c3918c8e35ba57625721eef2439ef0bcf05304ac278a65e1d",
- "sha256:f4b8f8644602803add6848c81b7d214cfd397b1ebab2130dc8530570d888155c",
- "sha256:f73318741b141223a4674ba96992aa2291b1b3f7a5e85cb3c2c964f86171eb45",
- "sha256:f8255c380a79f6752d0b920e69a5d656d863675d9c433eeb5548518ee2c8d9da",
- "sha256:fe089d9f5a4a3dea0108a8ae34bced114d0c4cca417bada1c5e8f42d98af9050",
- "sha256:fe6eafac3bc3c957ab6597a0c0654a0a308868458d00d218743e5b5fae51951c"
+ "sha256:09c7476ab884b74dce081ad9bfd07fe5822d8600abade571cb1f66d5fc915af6",
+ "sha256:0e17283f533a0d24d6e5429a7d11f250a58d28b4ae5186f8f47853e3e70d2590",
+ "sha256:115cae4beed3542e37866469a8a1f2b9ec549b4463572b000611e9946b86e6f6",
+ "sha256:1218573502a8235bb8a7ecaed12736213b22dcde9feab115fa2989d42b5ded45",
+ "sha256:17fb85fa4abc26a5184d93b3efd2dcc14deb4b09edcdb3535a536ad34f0b4dba",
+ "sha256:1e9b121e9aeb15df416c2c960b8255a49d44b4038016ee17af03975992d03931",
+ "sha256:1f186e26ea0a55f809f232e92cc8556a0977e00183c3ebda039a807a42be1494",
+ "sha256:1fdbb34da15450f2b1d735a0e969c24bdb8d8924892380126e2a293d9902078c",
+ "sha256:23097ed8bc4c93b7bf36fa2113c6c733c976316ce0ee2c816f64ca06102034ef",
+ "sha256:2879af909312d0baf35f08edeea918ee3af7ab57c37fe47cb6a373c9f2749c7b",
+ "sha256:2afa23318136709c4b23d87d543b425c399887b4057936cd20386d5b1422b6fa",
+ "sha256:2da620b31a90cdefa9cd0c2b661882329e2e19d1d7b9b920189956b76c564d75",
+ "sha256:35cdbd478607036fee40273be8ed54a451f5f23121bd9d4be515158f9498f7ad",
+ "sha256:36982b26f190f4d737f04a492a68accbfc6fa042c3f42326fdfbb6c5b7a20a31",
+ "sha256:3793ac154afb0e5b45d1233cb94d354ef7a983708cc3bb12563853b1d8d53747",
+ "sha256:386fb54d9cd903ee0012c09291336469eb7b244f7183d40dc3e86a16a4bace62",
+ "sha256:3cd1a4bd9a7a619922a8557e1318232e7269b5fb69d4ba97b04d20450a6bf970",
+ "sha256:3d32794fe940b7000f0519904e247f902f0149edbe6316c710a8562fb6738841",
+ "sha256:3d366aa598d69416b5afedf1faa539fac40c1d80a42f6b236c88c73a3c8f2d41",
+ "sha256:3e271346f01e9c8b1130a6a3b0e11908049fe5be2d365a5f402778049147e7e9",
+ "sha256:3f373a4ab5dbc528a94334f9fe444395b23c2f5332adab9ff4ea82f5a9e33bc1",
+ "sha256:3fa272ca34332581e00bf7773e993d4f632594eb2d1b0b162a9038df0fd971dd",
+ "sha256:47434236c396d04875180171ee1f3815ca1eada05e24a1ee99546320d54d1d1b",
+ "sha256:47b0f8bafe90f7736151f61482c583c86b0693d80f075a58701dd1549b0010a9",
+ "sha256:4811e15d88ee62dbf5c77f2c3ff3932b1e3ac92323ba3912f51fc4016ce81ecf",
+ "sha256:49989061a9977a8cbd6d20f2efa813f24bf657c6990a42967019ce779a878dbf",
+ "sha256:4ae879acc449caa9ed43fc36ba08392b9412ee67941748d31d94e3cedb36628c",
+ "sha256:4b55cacc57e1dc2d0991dbe74c6419ffd415fb66474a02335cb10efd1aa3f84f",
+ "sha256:4d2ce1bf1a48c5277d7969259232b57645aae5686dba1eaeade39442277afbca",
+ "sha256:4da7384b0e5d4cae05c97cd6f94faaf78cc8b0f791fc63af43436d98c4ab37bb",
+ "sha256:4e54bbf554ee29fcceee24fa41c4d091398b911da6e7f5d7bffda963c9aed2e1",
+ "sha256:50844efc8cdf63b2d90cd3d62d4947a28311e6266ce5235a219d21b195b4ec2c",
+ "sha256:5a4939eae35db6b6cec8e7aa0e833dcca0acad8231672c26c2a9ab7a0f8ac9c8",
+ "sha256:5dc1b852337c6792aa111ca8becff5bacf576bf4a0255b0f05eb749da6a1643e",
+ "sha256:5e53b428f65ece6d9dad23cb87e64506392b720a0b45076c05354d27a13351a1",
+ "sha256:61c4956171c7434634401db448371277d07032a81cc21c599c22953374781395",
+ "sha256:641e94e789b5f6b4822bb8d8ebbdfc10f4e4eae7756d648b717d980f657a9eb9",
+ "sha256:64b103acdaa53b7caf409e8d45d39a8442fe6dcfec6ba3f3d141e0cc2b5b4dbd",
+ "sha256:68424221a2dc00d634b54f92441914929c5ffb1c30b3b837343978343a3512a3",
+ "sha256:6bd1a18f5a797fe740cb3d7a0e853a8ce6461cc62023b630caec80171a6b8097",
+ "sha256:6c72328f668cf4c503ffcf9434c2b71fdd624345ced7941bc6693e61bbe36bef",
+ "sha256:6d2d947d266d99a1477cd005b23cbd09465276e302515e122df56bb9511aca1b",
+ "sha256:7164a55f5e83a9a0b031d3ffab4d4e36bbec42e7025db560f225489fa929e509",
+ "sha256:7b219cb2182f230676308cdcacd428fa837987b89e4b7c5c9025088b8a6c9faf",
+ "sha256:7d539241e87b650cbc4c3ac9f32c8d1ac8a54e510f6dca3f6ab60dcfd48c9b10",
+ "sha256:7de3cc939be0e1174969f943f3b44e0d79b6f9a82198133a5b7fc6cc92882f16",
+ "sha256:8330b42d769965e96e01fa14034b28a2a7600fbf7e8f0cc90ebb36d492c993e4",
+ "sha256:837e31620e06b16030b1d126ed78e9383815cbac914693f54926d816d35d8edf",
+ "sha256:83ce30937f0ba0d28818807b303a412440c4b63e39d3d8fc036a94764b728c92",
+ "sha256:85df8d92158cb8f3965aecc27cf821461bb5f40b450b03facc5d9f0d4d6ddec6",
+ "sha256:8639b843c9efd84675f1e100ed9e99538ebea7297b62c4b45a7042edb84db03e",
+ "sha256:89a82053b193837bf93c0f8a57ded6e4b6d88033a499dadff5067e912c2a41e9",
+ "sha256:8bacfe6e001749a3b64db47bcf0341da757c95959f592823a93931a422395013",
+ "sha256:8ec3303e8a81932171f455f792f8df500fc1a09f20069e5c16bd7049ab4e8e38",
+ "sha256:90897ea1cf0679763b62e79657958cd54eae5659f6360fc7d2ccc6f906342183",
+ "sha256:908f8c6c71557f4deaa280f55d0728c3bca0960e8c3dd5ceeeafb3c19942719d",
+ "sha256:91bcc576260a274b169c3098e9a3519fb01f2989f6d3d386ef9cbf8653de1374",
+ "sha256:9219a1d946a9b32bb23ccae66bdb61e35c62773ce7ca6509ceea70f344656b7b",
+ "sha256:949520bccc1fa227274da7d03bf238be15389cd94e32e4297b92337df9b7a349",
+ "sha256:98d873ed6c8b4ee2418f7afce666751854d6d03e3c0ec2a399bb039cd2ae89db",
+ "sha256:9c9c635e78497cacb81e84f8b11b23e0aacac7a136e73b8e5b2109a1d9fc468f",
+ "sha256:9ca66b38dd642bf90c59b6738af8070747b610115a39af2498535f62b5cdc1c3",
+ "sha256:a453257f19c31b31ba593c30d997d6e5be39e3b5ad9148c2af5a7314061c63eb",
+ "sha256:a52f93d95c8d38fed0669da2ebdb0b0376e895d84596a976c15a9eb45e3eccb3",
+ "sha256:a9a83618c4f0757557c077ef71d708ddd9847ed66b7cc63416632af70d3e2308",
+ "sha256:ab594f346517010050126fcd822697b25a7031d815bb4fbc238ccbe568216489",
+ "sha256:ad3ee9d0f254851c71780966eb417ef8e72117155cff04821ab9b60549694a55",
+ "sha256:aea9c7224c302bc8bfc892b908537f56c430802560e827b75ecbde81b604598b",
+ "sha256:b4c2e3d777e38e913b8ce3a6257af72fb608f86a1df471cb1d4339755d0a807c",
+ "sha256:b667189cf8efe008f55bbda321890bef628a67ab4147ebf90d182f2dadc78790",
+ "sha256:b89ef9223d665ab255ae42cc282d27d69704d94be0deffc8b9d919179a609684",
+ "sha256:be9e84e91d6497ba62594158d3d31ec0486c60055c49179edc51ee43d095f79c",
+ "sha256:bf4cb76f36be5de950ce13e22e7fdf462b35b04665a12b64f3ac5c1bbbcf3728",
+ "sha256:bfb5539005259f8127ea9c885bdc231978c06b7a980e63a8a61c8c4c979719d0",
+ "sha256:c046781d422f0830de6329fa4b16796096f28a92c8aef3850674442cdcb87b7f",
+ "sha256:c1be685ac7700c966b8610ccc63c3187a72e33cab53526a27b2a285a662cd4f7",
+ "sha256:c1c91405fcf1d501fa5d55df21e58ea49e6b879ae829f1039faaf7e5e509b41e",
+ "sha256:c235095d6d090aa903f1db61f892fffb779c1eaeb2a50e566b52001f7a0f66ed",
+ "sha256:c4012a2bd37059d04f8209916aa771dfb564cccb86079072bdcd48a308b6a5c5",
+ "sha256:c5ef2f2b8a53b7caee2f797ef166a390fef73979b15778a4a153e4b5fedce8fa",
+ "sha256:c654eafb01afac55246053d67a4b9a984a3567c3808bb7df2f8de1c1caba2e1c",
+ "sha256:c8d60527d1ecfc131426b10d93ab5d53e08a09c5fa0175f6b21b3252080c70a9",
+ "sha256:c9e850f5b7fc67af856ff054c71690d54fa940c3ef74209ad9f935b4f66a0233",
+ "sha256:cbeb0971e13b4bd81d34169ed57a6dda017328d1a22b62fda45e1d21dd06148f",
+ "sha256:d1a8a09a004ef100e614beec82862d11fc17d601092c3599afd22b1f36e4137e",
+ "sha256:d67956c676be5a24102c7407a71f4126d30de2a569a1c7871c9f3cabc94225d7",
+ "sha256:d6cc985b9c8b235bd933990cdbf0f891f8e010b65a3911f7a55179cd7b0fc57b",
+ "sha256:d7b822c61ed04ee6ad64bc90d13368ad6eb094db54883b5dde2182f67a7f22c0",
+ "sha256:df0b6d3b95932809c5b3fecc18fda0f1e07452d05e2662a0b35548985f256e28",
+ "sha256:e042d653a4745be832d5aa190ff80ee4f02c34b21f4b785745eceacd0907b815",
+ "sha256:e2f84e9af2060e3904a32cea9bb6db23ce3f91cfd90c6b426757cf7cc01c45c7",
+ "sha256:e3612dc06b436968dfb9142c62e5dfa9eb5924f91120b3c8ff501ad878f90eb3",
+ "sha256:e505629359cb5f751e16e30cf3f91a1d3ddb4552480c205947da415d597f7ac2",
+ "sha256:e60690ba71a57424c8d9ff28f8d006b7ad7772c22a4af432188572cd7fa004a1",
+ "sha256:e76e3f91f864e89db8b8d2a8311d57df93f01ad6bb1e9b9976d1f2e83e18315c",
+ "sha256:eb7cffe572ad0a141a7886a1d2efa5bef0bf7fe021deeea76b3ab334d2c38218",
+ "sha256:ec65a78fbd9d6f083a15d7613b2800d5663dbb6bb96003899c834beaa68b242c",
+ "sha256:eda8e4ecd662d48c28bb86be9e837c13e45c58b8300e43ba3c9b4fa9900302f7",
+ "sha256:f26f8e2ca19564e2e1fdbb6a0e47f36e0efbab1acc31e15471fad88f828c75f6",
+ "sha256:f49027b0b9503bf6c8cdc297ca55006b80c2f5dd36cecc72c6835ab6e10e8a25",
+ "sha256:f73f9f7a0ebd0db139253d27e5fc8d2866ceaeef19c30ab5d69dcbe35e1a6981",
+ "sha256:fa4184e74197af3adad3c889a1af95b53bb0466bced92ea99a0c014e48323eec",
+ "sha256:fb1a5b72cbd751813adc02ef01ada0b0d05d3dcbc32976ce189a1279d80ad4a2",
+ "sha256:fb3a86e703868561c5cad155a15c36c716e1ab513b7065bd2ac8ed353c503333",
+ "sha256:fc007fdf480c77301ab1afdbb6ab22a5deee8885f3b1ed7afcb7e5e84a0e27be",
+ "sha256:fe21b118b9f58859b5ebaa4b130dee18669df4bd111daad082b7beb8799ad16b",
+ "sha256:fec0d993ecba3991645b4857837277469c8cc4c554a7e24d064d1ca291cfb81f"
],
"markers": "python_version >= '3.8'",
- "version": "==2.0.0"
+ "version": "==2.0.1"
}
},
"develop": {
@@ -772,19 +814,19 @@
},
"anyio": {
"hashes": [
- "sha256:0287e96f4d26d4149305414d4e3bc32f0dcd0862365a4bddea19d7a1ec38c4fc",
- "sha256:82a8d0b81e318cc5ce71a5f1f8b5c4e63619620b63141ef8c995fa0db95a57c4"
+ "sha256:73c693b567b0c55130c104d0b43a9baf3aa6a31fc6110116509f27bf75e21ec0",
+ "sha256:dad2376a628f98eeca4881fc56cd06affd18f659b17a747d3ff0307ced94b1bb"
],
"markers": "python_version >= '3.9'",
- "version": "==4.11.0"
+ "version": "==4.12.0"
},
"asttokens": {
"hashes": [
- "sha256:0dcd8baa8d62b0c1d118b399b2ddba3c4aff271d0d7a9e0d4c1681c79035bbc7",
- "sha256:e3078351a059199dd5138cb1c706e6430c05eff2ff136af5eb4790f9d28932e2"
+ "sha256:15a3ebc0f43c2d0a50eeafea25e19046c68398e487b9f1f5b517f7c0f40f976a",
+ "sha256:71a4ee5de0bde6a31d64f6b13f2293ac190344478f081c3d1bccfcf5eacb0cb7"
],
"markers": "python_version >= '3.8'",
- "version": "==3.0.0"
+ "version": "==3.0.1"
},
"authlib": {
"hashes": [
@@ -796,32 +838,36 @@
},
"black": {
"hashes": [
- "sha256:0172a012f725b792c358d57fe7b6b6e8e67375dd157f64fa7a3097b3ed3e2175",
- "sha256:0474bca9a0dd1b51791fcc507a4e02078a1c63f6d4e4ae5544b9848c7adfb619",
- "sha256:154b06d618233fe468236ba1f0e40823d4eb08b26f5e9261526fde34916b9140",
- "sha256:1b9dc70c21ef8b43248f1d86aedd2aaf75ae110b958a7909ad8463c4aa0880b0",
- "sha256:2ab0ce111ef026790e9b13bd216fa7bc48edd934ffc4cbf78808b235793cbc92",
- "sha256:3bec74ee60f8dfef564b573a96b8930f7b6a538e846123d5ad77ba14a8d7a64f",
- "sha256:456386fe87bad41b806d53c062e2974615825c7a52159cde7ccaeb0695fa28fa",
- "sha256:474b34c1342cdc157d307b56c4c65bce916480c4a8f6551fdc6bf9b486a7c4ae",
- "sha256:77e7060a00c5ec4b3367c55f39cf9b06e68965a4f2e61cecacd6d0d9b7ec945a",
- "sha256:846d58e3ce7879ec1ffe816bb9df6d006cd9590515ed5d17db14e17666b2b357",
- "sha256:8e46eecf65a095fa62e53245ae2795c90bdecabd53b50c448d0a8bcd0d2e74c4",
- "sha256:9101ee58ddc2442199a25cb648d46ba22cd580b00ca4b44234a324e3ec7a0f7e",
- "sha256:a16b14a44c1af60a210d8da28e108e13e75a284bf21a9afa6b4571f96ab8bb9d",
- "sha256:aaf319612536d502fdd0e88ce52d8f1352b2c0a955cc2798f79eeca9d3af0608",
- "sha256:b756fc75871cb1bcac5499552d771822fd9db5a2bb8db2a7247936ca48f39831",
- "sha256:c0372a93e16b3954208417bfe448e09b0de5cc721d521866cd9e0acac3c04a1f",
- "sha256:ce41ed2614b706fd55fd0b4a6909d06b5bab344ffbfadc6ef34ae50adba3d4f7",
- "sha256:d119957b37cc641596063cd7db2656c5be3752ac17877017b2ffcdb9dfc4d2b1",
- "sha256:e3c1f4cd5e93842774d9ee4ef6cd8d17790e65f44f7cdbaab5f2cf8ccf22a823",
- "sha256:e593466de7b998374ea2585a471ba90553283fb9beefcfa430d84a2651ed5933",
- "sha256:ef69351df3c84485a8beb6f7b8f9721e2009e20ef80a8d619e2d1788b7816d47",
- "sha256:f96b6726d690c96c60ba682955199f8c39abc1ae0c3a494a9c62c0184049a713"
+ "sha256:0a1d40348b6621cc20d3d7530a5b8d67e9714906dfd7346338249ad9c6cedf2b",
+ "sha256:0c0f7c461df55cf32929b002335883946a4893d759f2df343389c4396f3b6b37",
+ "sha256:1032639c90208c15711334d681de2e24821af0575573db2810b0763bcd62e0f0",
+ "sha256:35690a383f22dd3e468c85dc4b915217f87667ad9cce781d7b42678ce63c4170",
+ "sha256:43945853a31099c7c0ff8dface53b4de56c41294fa6783c0441a8b1d9bf668bc",
+ "sha256:51c65d7d60bb25429ea2bf0731c32b2a2442eb4bd3b2afcb47830f0b13e58bfd",
+ "sha256:5bd4a22a0b37401c8e492e994bce79e614f91b14d9ea911f44f36e262195fdda",
+ "sha256:6cb2d54a39e0ef021d6c5eef442e10fd71fcb491be6413d083a320ee768329dd",
+ "sha256:6cced12b747c4c76bc09b4db057c319d8545307266f41aaee665540bc0e04e96",
+ "sha256:7eebd4744dfe92ef1ee349dc532defbf012a88b087bb7ddd688ff59a447b080e",
+ "sha256:80e7486ad3535636657aa180ad32a7d67d7c273a80e12f1b4bfa0823d54e8fac",
+ "sha256:895571922a35434a9d8ca67ef926da6bc9ad464522a5fe0db99b394ef1c0675a",
+ "sha256:92285c37b93a1698dcbc34581867b480f1ba3a7b92acf1fe0467b04d7a4da0dc",
+ "sha256:936c4dd07669269f40b497440159a221ee435e3fddcf668e0c05244a9be71993",
+ "sha256:9815ccee1e55717fe9a4b924cae1646ef7f54e0f990da39a34fc7b264fcf80a2",
+ "sha256:9a323ac32f5dc75ce7470501b887250be5005a01602e931a15e45593f70f6e08",
+ "sha256:a3bb5ce32daa9ff0605d73b6f19da0b0e6c1f8f2d75594db539fdfed722f2b06",
+ "sha256:aa211411e94fdf86519996b7f5f05e71ba34835d8f0c0f03c00a26271da02664",
+ "sha256:ae263af2f496940438e5be1a0c1020e13b09154f3af4df0835ea7f9fe7bfa409",
+ "sha256:cb4f4b65d717062191bdec8e4a442539a8ea065e6af1c4f4d36f0cdb5f71e170",
+ "sha256:d81a44cbc7e4f73a9d6ae449ec2317ad81512d1e7dce7d57f6333fd6259737bc",
+ "sha256:dae49ef7369c6caa1a1833fd5efb7c3024bb7e4499bf64833f65ad27791b1545",
+ "sha256:e3f562da087791e96cefcd9dda058380a442ab322a02e222add53736451f604b",
+ "sha256:ec311e22458eec32a807f029b2646f661e6859c3f61bc6d9ffb67958779f392e",
+ "sha256:f42c0ea7f59994490f4dccd64e6b2dd49ac57c7c84f38b8faab50f8759db245c",
+ "sha256:f9786c24d8e9bd5f20dc7a7f0cdd742644656987f6ea6947629306f937726c03"
],
"index": "pypi",
"markers": "python_version >= '3.9'",
- "version": "==25.9.0"
+ "version": "==25.11.0"
},
"boolean.py": {
"hashes": [
@@ -830,24 +876,40 @@
],
"version": "==5.0"
},
+ "boto3": {
+ "hashes": [
+ "sha256:163df55a774402fa940e95a152c308a33fb0f49cbcb5ec1725936e48635512f7",
+ "sha256:f7fe002c39806d5efe9105f0d74e836f001230e9520b4502c752dd4951f60041"
+ ],
+ "markers": "python_version >= '3.9'",
+ "version": "==1.42.3"
+ },
+ "botocore": {
+ "hashes": [
+ "sha256:6bad2e512ab85926bbfb391a9486bb3120f4be71419e2f70b556d99783dcb1ce",
+ "sha256:fa174f53224ab2adc3a01bb3215b41d314df2f6578381a4a0051bd60d5c718d9"
+ ],
+ "markers": "python_version >= '3.9'",
+ "version": "==1.42.3"
+ },
"cachecontrol": {
"extras": [
"filecache"
],
"hashes": [
- "sha256:73e7efec4b06b20d9267b441c1f733664f989fb8688391b670ca812d70795d11",
- "sha256:b35e44a3113f17d2a31c1e6b27b9de6d4405f84ae51baa8c1d3cc5b633010cae"
+ "sha256:b7ac014ff72ee199b5f8af1de29d60239954f223e948196fa3d84adaffc71d2b",
+ "sha256:e6220afafa4c22a47dd0badb319f84475d79108100d04e26e8542ef7d3ab05a1"
],
- "markers": "python_version >= '3.9'",
- "version": "==0.14.3"
+ "markers": "python_version >= '3.10'",
+ "version": "==0.14.4"
},
"certifi": {
"hashes": [
- "sha256:0f212c2744a9bb6de0c56639a6f68afe01ecd92d91f14ae897c4fe7bbeeef0de",
- "sha256:47c09d31ccf2acf0be3f701ea53595ee7e0b8fa08801c6624be771df09ae7b43"
+ "sha256:97de8790030bbd5c2d96b7ec782fc2f7820ef8dba6db909ccf95449f2d062d4b",
+ "sha256:d8ab5478f2ecd78af242878415affce761ca6bc54a22a27e026d7c25357c3316"
],
"markers": "python_version >= '3.7'",
- "version": "==2025.10.5"
+ "version": "==2025.11.12"
},
"cffi": {
"hashes": [
@@ -941,11 +1003,11 @@
},
"cfgv": {
"hashes": [
- "sha256:b7265b1f29fd3316bfcd2b330d63d024f2bfd8bcb8b0272f8e19a504856c48f9",
- "sha256:e52591d4c5f5dead8e0f673fb16db7949d2cfb3f7da4582893288f0ded8fe560"
+ "sha256:a8dc6b26ad22ff227d2634a65cb388215ce6cc96bbcc5cfde7641ae87e8dacc0",
+ "sha256:d5b1034354820651caa73ede66a6294d6e95c1b00acc5e9b098e917404669132"
],
- "markers": "python_version >= '3.8'",
- "version": "==3.4.0"
+ "markers": "python_version >= '3.10'",
+ "version": "==3.5.0"
},
"charset-normalizer": {
"hashes": [
@@ -1068,121 +1130,121 @@
},
"click": {
"hashes": [
- "sha256:9b9f285302c6e3064f4330c05f05b81945b2a39544279343e6e7c5f27a9baddc",
- "sha256:e7b8232224eba16f4ebe410c25ced9f7875cb5f3263ffc93cc3e8da705e229c4"
+ "sha256:12ff4785d337a1bb490bb7e9c2b1ee5da3112e94a8622f26a6c77f5d2fc6842a",
+ "sha256:981153a64e25f12d547d3426c367a4857371575ee7ad18df2a6183ab0545b2a6"
],
"markers": "python_version >= '3.10'",
- "version": "==8.3.0"
+ "version": "==8.3.1"
},
"coverage": {
"extras": [
"toml"
],
"hashes": [
- "sha256:037b2d064c2f8cc8716fe4d39cb705779af3fbf1ba318dc96a1af858888c7bb5",
- "sha256:05791e528a18f7072bf5998ba772fe29db4da1234c45c2087866b5ba4dea710e",
- "sha256:0d7f0616c557cbc3d1c2090334eddcbb70e1ae3a40b07222d62b3aa47f608fab",
- "sha256:0efa742f431529699712b92ecdf22de8ff198df41e43aeaaadf69973eb93f17a",
- "sha256:10ad04ac3a122048688387828b4537bc9cf60c0bf4869c1e9989c46e45690b82",
- "sha256:167bd504ac1ca2af7ff3b81d245dfea0292c5032ebef9d66cc08a7d28c1b8050",
- "sha256:16ce17ceb5d211f320b62df002fa7016b7442ea0fd260c11cec8ce7730954893",
- "sha256:214b622259dd0cf435f10241f1333d32caa64dbc27f8790ab693428a141723de",
- "sha256:24d6f3128f1b2d20d84b24f4074475457faedc3d4613a7e66b5e769939c7d969",
- "sha256:258d9967520cca899695d4eb7ea38be03f06951d6ca2f21fb48b1235f791e601",
- "sha256:269bfe913b7d5be12ab13a95f3a76da23cf147be7fa043933320ba5625f0a8de",
- "sha256:2727d47fce3ee2bac648528e41455d1b0c46395a087a229deac75e9f88ba5a05",
- "sha256:314c24e700d7027ae3ab0d95fbf8d53544fca1f20345fd30cd219b737c6e58d3",
- "sha256:3d4ba9a449e9364a936a27322b20d32d8b166553bfe63059bd21527e681e2fad",
- "sha256:3d4ed4de17e692ba6415b0587bc7f12bc80915031fc9db46a23ce70fc88c9841",
- "sha256:3d58ecaa865c5b9fa56e35efc51d1014d4c0d22838815b9fce57a27dd9576847",
- "sha256:4036cc9c7983a2b1f2556d574d2eb2154ac6ed55114761685657e38782b23f52",
- "sha256:424538266794db2861db4922b05d729ade0940ee69dcf0591ce8f69784db0e11",
- "sha256:4b7589765348d78fb4e5fb6ea35d07564e387da2fc5efff62e0222971f155f68",
- "sha256:4c1eeb3fb8eb9e0190bebafd0462936f75717687117339f708f395fe455acc73",
- "sha256:4d3ffa07a08657306cd2215b0da53761c4d73cb54d9143b9303a6481ec0cd415",
- "sha256:5693e57a065760dcbeb292d60cc4d0231a6d4b6b6f6a3191561e1d5e8820b745",
- "sha256:587c38849b853b157706407e9ebdca8fd12f45869edb56defbef2daa5fb0812b",
- "sha256:596763d2f9a0ee7eec6e643e29660def2eef297e1de0d334c78c08706f1cb785",
- "sha256:59a6e5a265f7cfc05f76e3bb53eca2e0dfe90f05e07e849930fecd6abb8f40b4",
- "sha256:5a03eaf7ec24078ad64a07f02e30060aaf22b91dedf31a6b24d0d98d2bba7f48",
- "sha256:5ef83b107f50db3f9ae40f69e34b3bd9337456c5a7fe3461c7abf8b75dd666a2",
- "sha256:630d0bd7a293ad2fc8b4b94e5758c8b2536fdf36c05f1681270203e463cbfa9b",
- "sha256:695340f698a5f56f795b2836abe6fb576e7c53d48cd155ad2f80fd24bc63a040",
- "sha256:6fbcee1a8f056af07ecd344482f711f563a9eb1c2cad192e87df00338ec3cdb0",
- "sha256:7161edd3426c8d19bdccde7d49e6f27f748f3c31cc350c5de7c633fea445d866",
- "sha256:73feb83bb41c32811973b8565f3705caf01d928d972b72042b44e97c71fd70d1",
- "sha256:765c0bc8fe46f48e341ef737c91c715bd2a53a12792592296a095f0c237e09cf",
- "sha256:7ab934dd13b1c5e94b692b1e01bd87e4488cb746e3a50f798cb9464fd128374b",
- "sha256:7db53b5cdd2917b6eaadd0b1251cf4e7d96f4a8d24e174bdbdf2f65b5ea7994d",
- "sha256:80027673e9d0bd6aef86134b0771845e2da85755cf686e7c7c59566cf5a89115",
- "sha256:81b335f03ba67309a95210caf3eb43bd6fe75a4e22ba653ef97b4696c56c7ec2",
- "sha256:865965bf955d92790f1facd64fe7ff73551bd2c1e7e6b26443934e9701ba30b9",
- "sha256:8badf70446042553a773547a61fecaa734b55dc738cacf20c56ab04b77425e43",
- "sha256:8c934bd088eed6174210942761e38ee81d28c46de0132ebb1801dbe36a390dcc",
- "sha256:9516add7256b6713ec08359b7b05aeff8850c98d357784c7205b2e60aa2513fa",
- "sha256:9c49e77811cf9d024b95faf86c3f059b11c0c9be0b0d61bc598f453703bd6fd1",
- "sha256:9cbabd8f4d0d3dc571d77ae5bdbfa6afe5061e679a9d74b6797c48d143307088",
- "sha256:9ed43fa22c6436f7957df036331f8fe4efa7af132054e1844918866cd228af6c",
- "sha256:a09c1211959903a479e389685b7feb8a17f59ec5a4ef9afde7650bd5eabc2777",
- "sha256:a1839d08406e4cba2953dcc0ffb312252f14d7c4c96919f70167611f4dee2623",
- "sha256:a386c1061bf98e7ea4758e4313c0ab5ecf57af341ef0f43a0bf26c2477b5c268",
- "sha256:a3b6a5f8b2524fd6c1066bc85bfd97e78709bb5e37b5b94911a6506b65f47186",
- "sha256:a3d0e2087dba64c86a6b254f43e12d264b636a39e88c5cc0a01a7c71bcfdab7e",
- "sha256:a61e37a403a778e2cda2a6a39abcc895f1d984071942a41074b5c7ee31642007",
- "sha256:aef1747ede4bd8ca9cfc04cc3011516500c6891f1b33a94add3253f6f876b7b7",
- "sha256:b56efee146c98dbf2cf5cffc61b9829d1e94442df4d7398b26892a53992d3547",
- "sha256:b5c2705afa83f49bd91962a4094b6b082f94aef7626365ab3f8f4bd159c5acf3",
- "sha256:b679e171f1c104a5668550ada700e3c4937110dbdd153b7ef9055c4f1a1ee3cc",
- "sha256:b971bdefdd75096163dd4261c74be813c4508477e39ff7b92191dea19f24cd37",
- "sha256:bab7ec4bb501743edc63609320aaec8cd9188b396354f482f4de4d40a9d10721",
- "sha256:bc1fbea96343b53f65d5351d8fd3b34fd415a2670d7c300b06d3e14a5af4f552",
- "sha256:c6f31f281012235ad08f9a560976cc2fc9c95c17604ff3ab20120fe480169bca",
- "sha256:c770885b28fb399aaf2a65bbd1c12bf6f307ffd112d6a76c5231a94276f0c497",
- "sha256:c79cae102bb3b1801e2ef1511fb50e91ec83a1ce466b2c7c25010d884336de46",
- "sha256:c9f08ea03114a637dab06cedb2e914da9dc67fa52c6015c018ff43fdde25b9c2",
- "sha256:ca61691ba8c5b6797deb221a0d09d7470364733ea9c69425a640f1f01b7c5bf0",
- "sha256:cacb29f420cfeb9283b803263c3b9a068924474ff19ca126ba9103e1278dfa44",
- "sha256:cc3f49e65ea6e0d5d9bd60368684fe52a704d46f9e7fc413918f18d046ec40e1",
- "sha256:cdbcd376716d6b7fbfeedd687a6c4be019c5a5671b35f804ba76a4c0a778cba4",
- "sha256:ce37f215223af94ef0f75ac68ea096f9f8e8c8ec7d6e8c346ee45c0d363f0479",
- "sha256:ce9f3bde4e9b031eaf1eb61df95c1401427029ea1bfddb8621c1161dcb0fa02e",
- "sha256:cee6291bb4fed184f1c2b663606a115c743df98a537c969c3c64b49989da96c2",
- "sha256:cf9e6ff4ca908ca15c157c409d608da77a56a09877b97c889b98fb2c32b6465e",
- "sha256:d06f4fc7acf3cabd6d74941d53329e06bab00a8fe10e4df2714f0b134bfc64ef",
- "sha256:d66c0104aec3b75e5fd897e7940188ea1892ca1d0235316bf89286d6a22568c0",
- "sha256:d91ebeac603812a09cf6a886ba6e464f3bbb367411904ae3790dfe28311b15ad",
- "sha256:d9a03ec6cb9f40a5c360f138b88266fd8f58408d71e89f536b4f91d85721d075",
- "sha256:dadbcce51a10c07b7c72b0ce4a25e4b6dcb0c0372846afb8e5b6307a121eb99f",
- "sha256:dba82204769d78c3fd31b35c3d5f46e06511936c5019c39f98320e05b08f794d",
- "sha256:dbbf012be5f32533a490709ad597ad8a8ff80c582a95adc8d62af664e532f9ca",
- "sha256:df01d6c4c81e15a7c88337b795bb7595a8596e92310266b5072c7e301168efbd",
- "sha256:e0eb0a2dcc62478eb5b4cbb80b97bdee852d7e280b90e81f11b407d0b81c4287",
- "sha256:e24045453384e0ae2a587d562df2a04d852672eb63051d16096d3f08aa4c7c2f",
- "sha256:e44a86a47bbdf83b0a3ea4d7df5410d6b1a0de984fbd805fa5101f3624b9abe0",
- "sha256:e4dc07e95495923d6fd4d6c27bf70769425b71c89053083843fd78f378558996",
- "sha256:e89641f5175d65e2dbb44db15fe4ea48fade5d5bbb9868fdc2b4fce22f4a469d",
- "sha256:e9570ad567f880ef675673992222746a124b9595506826b210fbe0ce3f0499cd",
- "sha256:eb53f1e8adeeb2e78962bade0c08bfdc461853c7969706ed901821e009b35e31",
- "sha256:eb92e47c92fcbcdc692f428da67db33337fa213756f7adb6a011f7b5a7a20740",
- "sha256:ef55537ff511b5e0a43edb4c50a7bf7ba1c3eea20b4f49b1490f1e8e0e42c591",
- "sha256:f39ae2f63f37472c17b4990f794035c9890418b1b8cca75c01193f3c8d3e01be",
- "sha256:f413ce6e07e0d0dc9c433228727b619871532674b45165abafe201f200cc215f",
- "sha256:f91f927a3215b8907e214af77200250bb6aae36eca3f760f89780d13e495388d",
- "sha256:f9ea02ef40bb83823b2b04964459d281688fe173e20643870bb5d2edf68bc836",
- "sha256:fcc0a4aa589de34bc56e1a80a740ee0f8c47611bdfb28cd1849de60660f3799d",
- "sha256:fcc15fc462707b0680cff6242c48625da7f9a16a28a41bb8fd7a4280920e676c"
+ "sha256:01d24af36fedda51c2b1aca56e4330a3710f83b02a5ff3743a6b015ffa7c9384",
+ "sha256:04a79245ab2b7a61688958f7a855275997134bc84f4a03bc240cf64ff132abf6",
+ "sha256:083631eeff5eb9992c923e14b810a179798bb598e6a0dd60586819fc23be6e60",
+ "sha256:099d11698385d572ceafb3288a5b80fe1fc58bf665b3f9d362389de488361d3d",
+ "sha256:09a86acaaa8455f13d6a99221d9654df249b33937b4e212b4e5a822065f12aa7",
+ "sha256:159d50c0b12e060b15ed3d39f87ed43d4f7f7ad40b8a534f4dd331adbb51104a",
+ "sha256:172cf3a34bfef42611963e2b661302a8931f44df31629e5b1050567d6b90287d",
+ "sha256:22a7aade354a72dff3b59c577bfd18d6945c61f97393bc5fb7bd293a4237024b",
+ "sha256:24cff9d1f5743f67db7ba46ff284018a6e9aeb649b67aa1e70c396aa1b7cb23c",
+ "sha256:29644c928772c78512b48e14156b81255000dcfd4817574ff69def189bcb3647",
+ "sha256:297bc2da28440f5ae51c845a47c8175a4db0553a53827886e4fb25c66633000c",
+ "sha256:2fd8354ed5d69775ac42986a691fbf68b4084278710cee9d7c3eaa0c28fa982a",
+ "sha256:313672140638b6ddb2c6455ddeda41c6a0b208298034544cfca138978c6baed6",
+ "sha256:31b8b2e38391a56e3cea39d22a23faaa7c3fc911751756ef6d2621d2a9daf742",
+ "sha256:32b75c2ba3f324ee37af3ccee5b30458038c50b349ad9b88cee85096132a575b",
+ "sha256:33baadc0efd5c7294f436a632566ccc1f72c867f82833eb59820ee37dc811c6f",
+ "sha256:3ff651dcd36d2fea66877cd4a82de478004c59b849945446acb5baf9379a1b64",
+ "sha256:40c867af715f22592e0d0fb533a33a71ec9e0f73a6945f722a0c85c8c1cbe3a2",
+ "sha256:42435d46d6461a3b305cdfcad7cdd3248787771f53fe18305548cba474e6523b",
+ "sha256:459443346509476170d553035e4a3eed7b860f4fe5242f02de1010501956ce87",
+ "sha256:4648158fd8dd9381b5847622df1c90ff314efbfc1df4550092ab6013c238a5fc",
+ "sha256:47324fffca8d8eae7e185b5bb20c14645f23350f870c1649003618ea91a78941",
+ "sha256:473dc45d69694069adb7680c405fb1e81f60b2aff42c81e2f2c3feaf544d878c",
+ "sha256:4b59b501455535e2e5dde5881739897967b272ba25988c89145c12d772810ccb",
+ "sha256:4c589361263ab2953e3c4cd2a94db94c4ad4a8e572776ecfbad2389c626e4507",
+ "sha256:51777647a749abdf6f6fd8c7cffab12de68ab93aab15efc72fbbb83036c2a068",
+ "sha256:52ca620260bd8cd6027317bdd8b8ba929be1d741764ee765b42c4d79a408601e",
+ "sha256:5560c7e0d82b42eb1951e4f68f071f8017c824ebfd5a6ebe42c60ac16c6c2434",
+ "sha256:5734b5d913c3755e72f70bf6cc37a0518d4f4745cde760c5d8e12005e62f9832",
+ "sha256:583f9adbefd278e9de33c33d6846aa8f5d164fa49b47144180a0e037f0688bb9",
+ "sha256:58c1c6aa677f3a1411fe6fb28ec3a942e4f665df036a3608816e0847fad23296",
+ "sha256:5b3c889c0b8b283a24d721a9eabc8ccafcfc3aebf167e4cd0d0e23bf8ec4e339",
+ "sha256:5bcead88c8423e1855e64b8057d0544e33e4080b95b240c2a355334bb7ced937",
+ "sha256:5ea5a9f7dc8877455b13dd1effd3202e0bca72f6f3ab09f9036b1bcf728f69ac",
+ "sha256:5f3738279524e988d9da2893f307c2093815c623f8d05a8f79e3eff3a7a9e553",
+ "sha256:68b0d0a2d84f333de875666259dadf28cc67858bc8fd8b3f1eae84d3c2bec455",
+ "sha256:6d907ddccbca819afa2cd014bc69983b146cca2735a0b1e6259b2a6c10be1e70",
+ "sha256:6e1a8c066dabcde56d5d9fed6a66bc19a2883a3fe051f0c397a41fc42aedd4cc",
+ "sha256:6ff7651cc01a246908eac162a6a86fc0dbab6de1ad165dfb9a1e2ec660b44984",
+ "sha256:737c3814903be30695b2de20d22bcc5428fdae305c61ba44cdc8b3252984c49c",
+ "sha256:73f9e7fbd51a221818fd11b7090eaa835a353ddd59c236c57b2199486b116c6d",
+ "sha256:76336c19a9ef4a94b2f8dc79f8ac2da3f193f625bb5d6f51a328cd19bfc19933",
+ "sha256:7670d860e18b1e3ee5930b17a7d55ae6287ec6e55d9799982aa103a2cc1fa2ef",
+ "sha256:79a44421cd5fba96aa57b5e3b5a4d3274c449d4c622e8f76882d76635501fd13",
+ "sha256:7c1059b600aec6ef090721f8f633f60ed70afaffe8ecab85b59df748f24b31fe",
+ "sha256:8638cbb002eaa5d7c8d04da667813ce1067080b9a91099801a0053086e52b736",
+ "sha256:874fe69a0785d96bd066059cd4368022cebbec1a8958f224f0016979183916e6",
+ "sha256:8787b0f982e020adb732b9f051f3e49dd5054cebbc3f3432061278512a2b1360",
+ "sha256:8bb5b894b3ec09dcd6d3743229dc7f2c42ef7787dc40596ae04c0edda487371e",
+ "sha256:907e0df1b71ba77463687a74149c6122c3f6aac56c2510a5d906b2f368208560",
+ "sha256:90d58ac63bc85e0fb919f14d09d6caa63f35a5512a2205284b7816cafd21bb03",
+ "sha256:9157a5e233c40ce6613dead4c131a006adfda70e557b6856b97aceed01b0e27a",
+ "sha256:91b810a163ccad2e43b1faa11d70d3cf4b6f3d83f9fd5f2df82a32d47b648e0d",
+ "sha256:950411f1eb5d579999c5f66c62a40961f126fc71e5e14419f004471957b51508",
+ "sha256:99d5415c73ca12d558e07776bd957c4222c687b9f1d26fa0e1b57e3598bdcde8",
+ "sha256:9b57e2d0ddd5f0582bae5437c04ee71c46cd908e7bc5d4d0391f9a41e812dd12",
+ "sha256:9bb44c889fb68004e94cab71f6a021ec83eac9aeabdbb5a5a88821ec46e1da73",
+ "sha256:a00594770eb715854fb1c57e0dea08cce6720cfbc531accdb9850d7c7770396c",
+ "sha256:a1783ed5bd0d5938d4435014626568dc7f93e3cb99bc59188cc18857c47aa3c4",
+ "sha256:a1c59b7dc169809a88b21a936eccf71c3895a78f5592051b1af8f4d59c2b4f92",
+ "sha256:aa124a3683d2af98bd9d9c2bfa7a5076ca7e5ab09fdb96b81fa7d89376ae928f",
+ "sha256:aa7d48520a32cb21c7a9b31f81799e8eaec7239db36c3b670be0fa2403828d1d",
+ "sha256:b1518ecbad4e6173f4c6e6c4a46e49555ea5679bf3feda5edb1b935c7c44e8a0",
+ "sha256:b1aab7302a87bafebfe76b12af681b56ff446dc6f32ed178ff9c092ca776e6bc",
+ "sha256:b2089cc445f2dc0af6f801f0d1355c025b76c24481935303cf1af28f636688f0",
+ "sha256:b365adc70a6936c6b0582dc38746b33b2454148c02349345412c6e743efb646d",
+ "sha256:b527a08cdf15753279b7afb2339a12073620b761d79b81cbe2cdebdb43d90daa",
+ "sha256:bc13baf85cd8a4cfcf4a35c7bc9d795837ad809775f782f697bf630b7e200211",
+ "sha256:bcec6f47e4cb8a4c2dc91ce507f6eefc6a1b10f58df32cdc61dff65455031dfc",
+ "sha256:c406a71f544800ef7e9e0000af706b88465f3573ae8b8de37e5f96c59f689ad1",
+ "sha256:c5a6f20bf48b8866095c6820641e7ffbe23f2ac84a2efc218d91235e404c7777",
+ "sha256:c87395744f5c77c866d0f5a43d97cc39e17c7f1cb0115e54a2fe67ca75c5d14d",
+ "sha256:ca8ecfa283764fdda3eae1bdb6afe58bf78c2c3ec2b2edcb05a671f0bba7b3f9",
+ "sha256:cb2a1b6ab9fe833714a483a915de350abc624a37149649297624c8d57add089c",
+ "sha256:ccf3b2ede91decd2fb53ec73c1f949c3e034129d1e0b07798ff1d02ea0c8fa4a",
+ "sha256:ce61969812d6a98a981d147d9ac583a36ac7db7766f2e64a9d4d059c2fe29d07",
+ "sha256:d6c2e26b481c9159c2773a37947a9718cfdc58893029cdfb177531793e375cfc",
+ "sha256:d7e0d0303c13b54db495eb636bc2465b2fb8475d4c8bcec8fe4b5ca454dfbae8",
+ "sha256:d8842f17095b9868a05837b7b1b73495293091bed870e099521ada176aa3e00e",
+ "sha256:d93fbf446c31c0140208dcd07c5d882029832e8ed7891a39d6d44bd65f2316c3",
+ "sha256:dcbb630ab034e86d2a0f79aefd2be07e583202f41e037602d438c80044957baa",
+ "sha256:e0d68c1f7eabbc8abe582d11fa393ea483caf4f44b0af86881174769f185c94d",
+ "sha256:e0f483ab4f749039894abaf80c2f9e7ed77bbf3c737517fb88c8e8e305896a17",
+ "sha256:e71bba6a40883b00c6d571599b4627f50c360b3d0d02bfc658168936be74027b",
+ "sha256:e84da3a0fd233aeec797b981c51af1cabac74f9bd67be42458365b30d11b5291",
+ "sha256:e949ebf60c717c3df63adb4a1a366c096c8d7fd8472608cd09359e1bd48ef59f",
+ "sha256:f3433ffd541380f3a0e423cff0f4926d55b0cc8c1d160fdc3be24a4c03aa65f7",
+ "sha256:f7ba9da4726e446d8dd8aae5a6cd872511184a5d861de80a86ef970b5dacce3e",
+ "sha256:f7bbb321d4adc9f65e402c677cd1c8e4c2d0105d3ce285b51b4d87f1d5db5245",
+ "sha256:f999813dddeb2a56aab5841e687b68169da0d3f6fc78ccf50952fa2463746022",
+ "sha256:fc11e0a4e372cb5f282f16ef90d4a585034050ccda536451901abfb19a57f40c",
+ "sha256:fdba9f15849534594f60b47c9a30bc70409b54947319a7c4fd0e8e3d8d2f355d"
],
"markers": "python_version >= '3.10'",
- "version": "==7.11.0"
+ "version": "==7.12.0"
},
"coveralls": {
"hashes": [
- "sha256:7a6b1fa9848332c7b2221afb20f3df90272ac0167060f41b5fe90429b30b1809",
- "sha256:7b2a0a2bcef94f295e3cf28dcc55ca40b71c77d1c2446b538e85f0f7bc21aa69"
+ "sha256:3940f613eac6b3c14d1425741929e1d15f57666f5e7ae0572bbe92357bd6f7ee",
+ "sha256:7c21ffa2808d3052fa0cfca3842a9f3d21cc8eada02538c192d932199e5f07d4"
],
"index": "pypi",
- "markers": "python_version < '3.13' and python_version >= '3.8'",
- "version": "==4.0.1"
+ "markers": "python_version >= '3.10' and python_version < '4.0'",
+ "version": "==4.0.2"
},
"cryptography": {
"hashes": [
@@ -1246,11 +1308,11 @@
},
"cyclonedx-python-lib": {
"hashes": [
- "sha256:55693fca8edaecc3363b24af14e82cc6e659eb1e8353e58b587c42652ce0fb52",
- "sha256:86935f2c88a7b47a529b93c724dbd3e903bc573f6f8bd977628a7ca1b5dadea1"
+ "sha256:7fb85a4371fa3a203e5be577ac22b7e9a7157f8b0058b7448731474d6dea7bf0",
+ "sha256:94f4aae97db42a452134dafdddcfab9745324198201c4777ed131e64c8380759"
],
- "markers": "python_version >= '3.8' and python_version < '4.0'",
- "version": "==9.1.0"
+ "markers": "python_version >= '3.9' and python_version < '4.0'",
+ "version": "==11.6.0"
},
"decorator": {
"hashes": [
@@ -1355,12 +1417,12 @@
},
"ipython": {
"hashes": [
- "sha256:5603d6d5d356378be5043e69441a072b50a5b33b4503428c77b04cb8ce7bc731",
- "sha256:5f77efafc886d2f023442479b8149e7d86547ad0a979e9da9f045d252f648196"
+ "sha256:8e4ce129a627eb9dd221c41b1d2cdaed4ef7c9da8c17c63f6f578fe231141f83",
+ "sha256:ebe6d1d58d7d988fbf23ff8ff6d8e1622cfdb194daf4b7b73b792c4ec3b85385"
],
"index": "pypi",
"markers": "python_version >= '3.11'",
- "version": "==9.6.0"
+ "version": "==9.8.0"
},
"ipython-pygments-lexers": {
"hashes": [
@@ -1386,6 +1448,14 @@
"markers": "python_version >= '3.7'",
"version": "==3.1.6"
},
+ "jmespath": {
+ "hashes": [
+ "sha256:02e2e4cc71b5bcab88332eebf907519190dd9e6e82107fa7f83b1003a6252980",
+ "sha256:90261b206d6defd58fdd5e85f478bf633a2901798906be2ad389150c5c60edbe"
+ ],
+ "markers": "python_version >= '3.7'",
+ "version": "==1.0.1"
+ },
"joblib": {
"hashes": [
"sha256:3faa5c39054b2f03ca547da9b2f52fde67c06240c31853f306aea97f13647b55",
@@ -1394,6 +1464,88 @@
"markers": "python_version >= '3.9'",
"version": "==1.5.2"
},
+ "librt": {
+ "hashes": [
+ "sha256:04f8ce401d4f6380cfc42af0f4e67342bf34c820dae01343f58f472dbac75dcf",
+ "sha256:05f385a414de3f950886ea0aad8f109650d4b712cf9cc14cc17f5f62a9ab240b",
+ "sha256:0765b0fe0927d189ee14b087cd595ae636bef04992e03fe6dfdaa383866c8a46",
+ "sha256:078cd77064d1640cb7b0650871a772956066174d92c8aeda188a489b58495179",
+ "sha256:09262cb2445b6f15d09141af20b95bb7030c6f13b00e876ad8fdd1a9045d6aa5",
+ "sha256:0c74c26736008481c9f6d0adf1aedb5a52aff7361fea98276d1f965c0256ee70",
+ "sha256:0e0f2b79993fec23a685b3e8107ba5f8675eeae286675a216da0b09574fa1e47",
+ "sha256:10a95ad074e2a98c9e4abc7f5b7d40e5ecbfa84c04c6ab8a70fabf59bd429b88",
+ "sha256:14b345eb7afb61b9fdcdfda6738946bd11b8e0f6be258666b0646af3b9bb5916",
+ "sha256:17000df14f552e86877d67e4ab7966912224efc9368e998c96a6974a8d609bf9",
+ "sha256:1b51ba7d9d5d9001494769eca8c0988adce25d0a970c3ba3f2eb9df9d08036fc",
+ "sha256:1ef42ff4edd369e84433ce9b188a64df0837f4f69e3d34d3b34d4955c599d03f",
+ "sha256:25b1b60cb059471c0c0c803e07d0dfdc79e41a0a122f288b819219ed162672a3",
+ "sha256:26b8026393920320bb9a811b691d73c5981385d537ffc5b6e22e53f7b65d4122",
+ "sha256:324462fe7e3896d592b967196512491ec60ca6e49c446fe59f40743d08c97917",
+ "sha256:349b6873ebccfc24c9efd244e49da9f8a5c10f60f07575e248921aae2123fc42",
+ "sha256:36a8e337461150b05ca2c7bdedb9e591dfc262c5230422cea398e89d0c746cdc",
+ "sha256:36b2ec8c15030002c7f688b4863e7be42820d7c62d9c6eece3db54a2400f0530",
+ "sha256:38320386a48a15033da295df276aea93a92dfa94a862e06893f75ea1d8bbe89d",
+ "sha256:3ac2a7835434b31def8ed5355dd9b895bbf41642d61967522646d1d8b9681106",
+ "sha256:3caa0634c02d5ff0b2ae4a28052e0d8c5f20d497623dc13f629bd4a9e2a6efad",
+ "sha256:3e84a4121a7ae360ca4da436548a9c1ca8ca134a5ced76c893cc5944426164bd",
+ "sha256:3f0e4bd9bcb0ee34fa3dbedb05570da50b285f49e52c07a241da967840432513",
+ "sha256:4018904c83eab49c814e2494b4e22501a93cdb6c9f9425533fe693c3117126f9",
+ "sha256:408a36ddc75e91918cb15b03460bdc8a015885025d67e68c6f78f08c3a88f522",
+ "sha256:45660d26569cc22ed30adf583389d8a0d1b468f8b5e518fcf9bfe2cd298f9dd1",
+ "sha256:4aa4a93a353ccff20df6e34fa855ae8fd788832c88f40a9070e3ddd3356a9f0e",
+ "sha256:4bca9e4c260233fba37b15c4ec2f78aa99c1a79fbf902d19dd4a763c5c3fb751",
+ "sha256:514f3f363d1ebc423357d36222c37e5c8e6674b6eae8d7195ac9a64903722057",
+ "sha256:54f3b2177fb892d47f8016f1087d21654b44f7fc4cf6571c1c6b3ea531ab0fcf",
+ "sha256:57705e8eec76c5b77130d729c0f70190a9773366c555c5457c51eace80afd873",
+ "sha256:5cc22f7f5c0cc50ed69f4b15b9c51d602aabc4500b433aaa2ddd29e578f452f7",
+ "sha256:61348cc488b18d1b1ff9f3e5fcd5ac43ed22d3e13e862489d2267c2337285c08",
+ "sha256:64645b757d617ad5f98c08e07620bc488d4bced9ced91c6279cec418f16056fa",
+ "sha256:669ff2495728009a96339c5ad2612569c6d8be4474e68f3f3ac85d7c3261f5f5",
+ "sha256:6bac97e51f66da2ca012adddbe9fd656b17f7368d439de30898f24b39512f40f",
+ "sha256:6d46aa46aa29b067f0b8b84f448fd9719aaf5f4c621cc279164d76a9dc9ab3e8",
+ "sha256:71f0a5918aebbea1e7db2179a8fe87e8a8732340d9e8b8107401fb407eda446e",
+ "sha256:74418f718083009108dc9a42c21bf2e4802d49638a1249e13677585fcc9ca176",
+ "sha256:760c25ed6ac968e24803eb5f7deb17ce026902d39865e83036bacbf5cf242aa8",
+ "sha256:822ca79e28720a76a935c228d37da6579edef048a17cd98d406a2484d10eda78",
+ "sha256:86605d5bac340beb030cbc35859325982a79047ebdfba1e553719c7126a2389d",
+ "sha256:87597e3d57ec0120a3e1d857a708f80c02c42ea6b00227c728efbc860f067c45",
+ "sha256:8983c5c06ac9c990eac5eb97a9f03fe41dc7e9d7993df74d9e8682a1056f596c",
+ "sha256:8c659f9fb8a2f16dc4131b803fa0144c1dadcb3ab24bb7914d01a6da58ae2457",
+ "sha256:8e695f25d1a425ad7a272902af8ab8c8d66c1998b177e4b5f5e7b4e215d0c88a",
+ "sha256:8f8ed5053ef9fb08d34f1fd80ff093ccbd1f67f147633a84cf4a7d9b09c0f089",
+ "sha256:92267f865c7bbd12327a0d394666948b9bf4b51308b52947c0cc453bfa812f5d",
+ "sha256:98e4bbecbef8d2a60ecf731d735602feee5ac0b32117dbbc765e28b054bac912",
+ "sha256:9e716f9012148a81f02f46a04fc4c663420c6fbfeacfac0b5e128cf43b4413d3",
+ "sha256:9f2a6623057989ebc469cd9cc8fe436c40117a0147627568d03f84aef7854c55",
+ "sha256:a218f85081fc3f70cddaed694323a1ad7db5ca028c379c214e3a7c11c0850523",
+ "sha256:aa346e202e6e1ebc01fe1c69509cffe486425884b96cb9ce155c99da1ecbe0e9",
+ "sha256:ad8ba80cdcea04bea7b78fcd4925bfbf408961e9d8397d2ee5d3ec121e20c08c",
+ "sha256:afb39550205cc5e5c935762c6bf6a2bb34f7d21a68eadb25e2db7bf3593fecc0",
+ "sha256:b2922a0e8fa97395553c304edc3bd36168d8eeec26b92478e292e5d4445c1ef0",
+ "sha256:b47395091e7e0ece1e6ebac9b98bf0c9084d1e3d3b2739aa566be7e56e3f7bf2",
+ "sha256:c0ecf4786ad0404b072196b5df774b1bb23c8aacdcacb6c10b4128bc7b00bd01",
+ "sha256:c5b31bed2c2f2fa1fcb4815b75f931121ae210dc89a3d607fb1725f5907f1437",
+ "sha256:c724a884e642aa2bbad52bb0203ea40406ad742368a5f90da1b220e970384aae",
+ "sha256:cb92741c2b4ea63c09609b064b26f7f5d9032b61ae222558c55832ec3ad0bcaf",
+ "sha256:ced0925a18fddcff289ef54386b2fc230c5af3c83b11558571124bfc485b8c07",
+ "sha256:cf1115207a5049d1f4b7b4b72de0e52f228d6c696803d94843907111cbf80610",
+ "sha256:d3c9a07eafdc70556f8c220da4a538e715668c0c63cabcc436a026e4e89950bf",
+ "sha256:d7769c579663a6f8dbf34878969ac71befa42067ce6bf78e6370bf0d1194997c",
+ "sha256:d8f89c8d20dfa648a3f0a56861946eb00e5b00d6b00eea14bc5532b2fcfa8ef1",
+ "sha256:d998b432ed9ffccc49b820e913c8f327a82026349e9c34fa3690116f6b70770f",
+ "sha256:dcbe48f6a03979384f27086484dc2a14959be1613cb173458bd58f714f2c48f3",
+ "sha256:e17b5b42c8045867ca9d1f54af00cc2275198d38de18545edaa7833d7e9e4ac8",
+ "sha256:e18875e17ef69ba7dfa9623f2f95f3eda6f70b536079ee6d5763ecdfe6cc9040",
+ "sha256:e61ab234624c9ffca0248a707feffe6fac2343758a36725d8eb8a6efef0f8c30",
+ "sha256:ecc2c526547eacd20cb9fbba19a5268611dbc70c346499656d6cf30fae328977",
+ "sha256:f33462b19503ba68d80dac8a1354402675849259fb3ebf53b67de86421735a3a",
+ "sha256:fbedeb9b48614d662822ee514567d2d49a8012037fc7b4cd63f282642c2f4b7d",
+ "sha256:fd98cacf4e0fabcd4005c452cb8a31750258a85cab9a59fb3559e8078da408d7",
+ "sha256:fdcd095b1b812d756fa5452aca93b962cf620694c0cadb192cec2bb77dcca9a2"
+ ],
+ "markers": "python_version >= '3.9'",
+ "version": "==0.6.3"
+ },
"license-expression": {
"hashes": [
"sha256:421788fdcadb41f049d2dc934ce666626265aeccefddd25e162a26f23bcbf8a4",
@@ -1507,19 +1659,19 @@
},
"marshmallow": {
"hashes": [
- "sha256:72f14ef346f81269dbddee891bac547dda1501e9e08b6a809756ea3dbb7936a1",
- "sha256:e1d860bd262737cb2d34e1541b84cb52c32c72c9474e3fe6f30f137ef8b0d97f"
+ "sha256:9901660499be3b880dc92d6b5ee0b9a79e94265b7793f71021f92040c07129f1",
+ "sha256:daa9862f74e2f7864980d25c29b4ea72944cde48aa17537e3bd5797a4ae62d71"
],
- "markers": "python_version >= '3.9'",
- "version": "==4.0.1"
+ "markers": "python_version >= '3.10'",
+ "version": "==4.1.0"
},
"matplotlib-inline": {
"hashes": [
- "sha256:8423b23ec666be3d16e16b60bdd8ac4e86e840ebd1dd11a30b9f117f2fa0ab90",
- "sha256:df192d39a4ff8f21b1895d72e6a13f5fcc5099f00fa84384e0ea28c2cc0653ca"
+ "sha256:d56ce5156ba6085e00a9d54fead6ed29a9c47e215cd1bba2e976ef39f5710a76",
+ "sha256:e1ee949c340d771fc39e241ea75683deb94762c8fa5f2927ec57c83c4dffa9fe"
],
- "markers": "python_version >= '3.8'",
- "version": "==0.1.7"
+ "markers": "python_version >= '3.9'",
+ "version": "==0.2.1"
},
"mdurl": {
"hashes": [
@@ -1529,6 +1681,15 @@
"markers": "python_version >= '3.7'",
"version": "==0.1.2"
},
+ "moto": {
+ "hashes": [
+ "sha256:45298ef7b88561b839f6fe3e9da2a6e2ecd10283c7bf3daf43a07a97465885f9",
+ "sha256:b65aa8fc9032c5c574415451e14fd7da4e43fd50b8bdcb5f10289ad382c25bcf"
+ ],
+ "index": "pypi",
+ "markers": "python_version >= '3.9'",
+ "version": "==5.1.18"
+ },
"msgpack": {
"hashes": [
"sha256:0051fffef5a37ca2cd16978ae4f0aef92f164df86823871b5162812bebecd8e2",
@@ -1599,48 +1760,48 @@
},
"mypy": {
"hashes": [
- "sha256:01199871b6110a2ce984bde85acd481232d17413868c9807e95c1b0739a58914",
- "sha256:030c52d0ea8144e721e49b1f68391e39553d7451f0c3f8a7565b59e19fcb608b",
- "sha256:06a398102a5f203d7477b2923dda3634c36727fa5c237d8f859ef90c42a9924b",
- "sha256:07b8b0f580ca6d289e69209ec9d3911b4a26e5abfde32228a288eb79df129fcc",
- "sha256:0e2785a84b34a72ba55fb5daf079a1003a34c05b22238da94fcae2bbe46f3544",
- "sha256:1331eb7fd110d60c24999893320967594ff84c38ac6d19e0a76c5fd809a84c86",
- "sha256:1379451880512ffce14505493bd9fe469e0697543717298242574882cf8cdb8d",
- "sha256:20c02215a080e3a2be3aa50506c67242df1c151eaba0dcbc1e4e557922a26075",
- "sha256:22a1748707dd62b58d2ae53562ffc4d7f8bcc727e8ac7cbc69c053ddc874d47e",
- "sha256:22f27105f1525ec024b5c630c0b9f36d5c1cc4d447d61fe51ff4bd60633f47ac",
- "sha256:25a9c8fb67b00599f839cf472713f54249a62efd53a54b565eb61956a7e3296b",
- "sha256:33eca32dd124b29400c31d7cf784e795b050ace0e1f91b8dc035672725617e34",
- "sha256:3ca30b50a51e7ba93b00422e486cbb124f1c56a535e20eff7b2d6ab72b3b2e37",
- "sha256:448acd386266989ef11662ce3c8011fd2a7b632e0ec7d61a98edd8e27472225b",
- "sha256:592ec214750bc00741af1f80cbf96b5013d81486b7bb24cb052382c19e40b428",
- "sha256:5d6c838e831a062f5f29d11c9057c6009f60cb294fea33a98422688181fe2893",
- "sha256:62f0e1e988ad41c2a110edde6c398383a889d95b36b3e60bcf155f5164c4fdce",
- "sha256:664dc726e67fa54e14536f6e1224bcfce1d9e5ac02426d2326e2bb4e081d1ce8",
- "sha256:6ca1e64b24a700ab5ce10133f7ccd956a04715463d30498e64ea8715236f9c9c",
- "sha256:749b5f83198f1ca64345603118a6f01a4e99ad4bf9d103ddc5a3200cc4614adf",
- "sha256:776bb00de1778caf4db739c6e83919c1d85a448f71979b6a0edd774ea8399341",
- "sha256:7a780ca61fc239e4865968ebc5240bb3bf610ef59ac398de9a7421b54e4a207e",
- "sha256:7ab28cc197f1dd77a67e1c6f35cd1f8e8b73ed2217e4fc005f9e6a504e46e7ba",
- "sha256:7fb95f97199ea11769ebe3638c29b550b5221e997c63b14ef93d2e971606ebed",
- "sha256:807d9315ab9d464125aa9fcf6d84fde6e1dc67da0b6f80e7405506b8ac72bc7f",
- "sha256:8795a039bab805ff0c1dfdb8cd3344642c2b99b8e439d057aba30850b8d3423d",
- "sha256:a2afc0fa0b0e91b4599ddfe0f91e2c26c2b5a5ab263737e998d6817874c5f7c8",
- "sha256:a3c47adf30d65e89b2dcd2fa32f3aeb5e94ca970d2c15fcb25e297871c8e4764",
- "sha256:a431a6f1ef14cf8c144c6b14793a23ec4eae3db28277c358136e79d7d062f62d",
- "sha256:aa5e07ac1a60a253445797e42b8b2963c9675563a94f11291ab40718b016a7a0",
- "sha256:c1eab0cf6294dafe397c261a75f96dc2c31bffe3b944faa24db5def4e2b0f77c",
- "sha256:c2b9c7e284ee20e7598d6f42e13ca40b4928e6957ed6813d1ab6348aa3f47133",
- "sha256:c3ad2afadd1e9fea5cf99a45a822346971ede8685cc581ed9cd4d42eaf940986",
- "sha256:d6985ed057513e344e43a26cc1cd815c7a94602fb6a3130a34798625bc2f07b6",
- "sha256:d8068d0afe682c7c4897c0f7ce84ea77f6de953262b12d07038f4d296d547074",
- "sha256:d924eef3795cc89fecf6bedc6ed32b33ac13e8321344f6ddbf8ee89f706c05cb",
- "sha256:ed4482847168439651d3feee5833ccedbf6657e964572706a2adb1f7fa4dfe2e",
- "sha256:f9e171c465ad3901dc652643ee4bffa8e9fef4d7d0eece23b428908c77a76a66"
+ "sha256:0c01c99d626380752e527d5ce8e69ffbba2046eb8a060db0329690849cf9b6f9",
+ "sha256:0dde5cb375cb94deff0d4b548b993bec52859d1651e073d63a1386d392a95495",
+ "sha256:0e3c3d1e1d62e678c339e7ade72746a9e0325de42cd2cccc51616c7b2ed1a018",
+ "sha256:0ea4fd21bb48f0da49e6d3b37ef6bd7e8228b9fe41bbf4d80d9364d11adbd43c",
+ "sha256:0fb3115cb8fa7c5f887c8a8d81ccdcb94cff334684980d847e5a62e926910e1d",
+ "sha256:11f7254c15ab3f8ed68f8e8f5cbe88757848df793e31c36aaa4d4f9783fd08ab",
+ "sha256:120cffe120cca5c23c03c77f84abc0c14c5d2e03736f6c312480020082f1994b",
+ "sha256:16f76ff3f3fd8137aadf593cb4607d82634fca675e8211ad75c43d86033ee6c6",
+ "sha256:1cf9c59398db1c68a134b0b5354a09a1e124523f00bacd68e553b8bd16ff3299",
+ "sha256:318ba74f75899b0e78b847d8c50821e4c9637c79d9a59680fc1259f29338cb3e",
+ "sha256:3210d87b30e6af9c8faed61be2642fcbe60ef77cec64fa1ef810a630a4cf671c",
+ "sha256:34ec1ac66d31644f194b7c163d7f8b8434f1b49719d403a5d26c87fff7e913f7",
+ "sha256:37af5166f9475872034b56c5efdcf65ee25394e9e1d172907b84577120714364",
+ "sha256:3ad925b14a0bb99821ff6f734553294aa6a3440a8cb082fe1f5b84dfb662afb1",
+ "sha256:510c014b722308c9bd377993bcbf9a07d7e0692e5fa8fc70e639c1eb19fc6bee",
+ "sha256:6016c52ab209919b46169651b362068f632efcd5eb8ef9d1735f6f86da7853b2",
+ "sha256:6148ede033982a8c5ca1143de34c71836a09f105068aaa8b7d5edab2b053e6c8",
+ "sha256:63ea6a00e4bd6822adbfc75b02ab3653a17c02c4347f5bb0cf1d5b9df3a05835",
+ "sha256:7686ed65dbabd24d20066f3115018d2dce030d8fa9db01aa9f0a59b6813e9f9e",
+ "sha256:7a500ab5c444268a70565e374fc803972bfd1f09545b13418a5174e29883dab7",
+ "sha256:8f44f2ae3c58421ee05fe609160343c25f70e3967f6e32792b5a78006a9d850f",
+ "sha256:a18d8abdda14035c5718acb748faec09571432811af129bf0d9e7b2d6699bf18",
+ "sha256:a31e4c28e8ddb042c84c5e977e28a21195d086aaffaf08b016b78e19c9ef8106",
+ "sha256:a9ac09e52bb0f7fb912f5d2a783345c72441a08ef56ce3e17c1752af36340a39",
+ "sha256:b9d491295825182fba01b6ffe2c6fe4e5a49dbf4e2bb4d1217b6ced3b4797bc6",
+ "sha256:c14a98bc63fd867530e8ec82f217dae29d0550c86e70debc9667fff1ec83284e",
+ "sha256:c3385246593ac2b97f155a0e9639be906e73534630f663747c71908dfbf26134",
+ "sha256:cabbee74f29aa9cd3b444ec2f1e4fa5a9d0d746ce7567a6a609e224429781f53",
+ "sha256:cb64b0ba5980466a0f3f9990d1c582bcab8db12e29815ecb57f1408d99b4bff7",
+ "sha256:cf7d84f497f78b682edd407f14a7b6e1a2212b433eedb054e2081380b7395aa3",
+ "sha256:e2c1101ab41d01303103ab6ef82cbbfedb81c1a060c868fa7cc013d573d37ab5",
+ "sha256:f188dcf16483b3e59f9278c4ed939ec0254aa8a60e8fc100648d9ab5ee95a431",
+ "sha256:f2e36bed3c6d9b5f35d28b63ca4b727cb0228e480826ffc8953d1892ddc8999d",
+ "sha256:f3e19e3b897562276bb331074d64c076dbdd3e79213f36eed4e592272dabd760",
+ "sha256:f6b874ca77f733222641e5c46e4711648c4037ea13646fd0cdc814c2eaec2528",
+ "sha256:f75e60aca3723a23511948539b0d7ed514dda194bc3755eae0bfc7a6b4887aa7",
+ "sha256:fc51a5b864f73a3a182584b1ac75c404396a17eced54341629d8bdcb644a5bba",
+ "sha256:fd4a985b2e32f23bead72e2fb4bbe5d6aceee176be471243bd831d5b2644672d"
],
"index": "pypi",
"markers": "python_version >= '3.9'",
- "version": "==1.18.2"
+ "version": "==1.19.0"
},
"mypy-extensions": {
"hashes": [
@@ -1668,11 +1829,11 @@
},
"packageurl-python": {
"hashes": [
- "sha256:a7be3f3ba70d705f738ace9bf6124f31920245a49fa69d4b416da7037dd2de61",
- "sha256:f0e55452ab37b5c192c443de1458e3f3b4d8ac27f747df6e8c48adeab081d321"
+ "sha256:1252ce3a102372ca6f86eb968e16f9014c4ba511c5c37d95a7f023e2ca6e5c25",
+ "sha256:31a85c2717bc41dd818f3c62908685ff9eebcb68588213745b14a6ee9e7df7c9"
],
"markers": "python_version >= '3.8'",
- "version": "==0.17.5"
+ "version": "==0.17.6"
},
"packaging": {
"hashes": [
@@ -1708,11 +1869,11 @@
},
"pip": {
"hashes": [
- "sha256:578283f006390f85bb6282dffb876454593d637f5d1be494b5202ce4877e71f2",
- "sha256:6d67a2b4e7f14d8b31b8b52648866fa717f45a1eb70e83002f4331d07e953717"
+ "sha256:8d0538dbbd7babbd207f261ed969c65de439f6bc9e5dbd3b3b9a77f25d95f343",
+ "sha256:9655943313a94722b7774661c21049070f6bbb0a1516bf02f7c8d5d9201514cd"
],
"markers": "python_version >= '3.9'",
- "version": "==25.2"
+ "version": "==25.3"
},
"pip-api": {
"hashes": [
@@ -1724,12 +1885,12 @@
},
"pip-audit": {
"hashes": [
- "sha256:0b998410b58339d7a231e5aa004326a294e4c7c6295289cdc9d5e1ef07b1f44d",
- "sha256:348b16e60895749a0839875d7cc27ebd692e1584ebe5d5cb145941c8e25a80bd"
+ "sha256:16e02093872fac97580303f0848fa3ad64f7ecf600736ea7835a2b24de49613f",
+ "sha256:427ea5bf61d1d06b98b1ae29b7feacc00288a2eced52c9c58ceed5253ef6c2a4"
],
"index": "pypi",
- "markers": "python_version >= '3.9'",
- "version": "==2.9.0"
+ "markers": "python_version >= '3.10'",
+ "version": "==2.10.0"
},
"pip-requirements-parser": {
"hashes": [
@@ -1741,11 +1902,11 @@
},
"platformdirs": {
"hashes": [
- "sha256:70ddccdd7c99fc5942e9fc25636a8b34d04c24b335100223152c2803e4063312",
- "sha256:e578a81bb873cbb89a41fcc904c7ef523cc18284b7e3b3ccf06aca1403b7ebd3"
+ "sha256:61d5cdcc6065745cdd94f0f878977f8de9437be93de97c1c12f853c9c0cdcbda",
+ "sha256:d03afa3963c806a9bed9d5125c8f4cb2fdaf74a55ab60e5d59b3fde758104d31"
],
"markers": "python_version >= '3.10'",
- "version": "==4.5.0"
+ "version": "==4.5.1"
},
"pluggy": {
"hashes": [
@@ -1757,12 +1918,12 @@
},
"pre-commit": {
"hashes": [
- "sha256:2b0747ad7e6e967169136edffee14c16e148a778a54e4f967921aa1ebf2308d8",
- "sha256:499fe450cc9d42e9d58e606262795ecb64dd05438943c62b66f6a8673da30b16"
+ "sha256:25e2ce09595174d9c97860a95609f9f852c0614ba602de3561e267547f2335e1",
+ "sha256:dc5a065e932b19fc1d4c653c6939068fe54325af8e741e74e88db4d28a4dd66b"
],
"index": "pypi",
- "markers": "python_version >= '3.9'",
- "version": "==4.3.0"
+ "markers": "python_version >= '3.10'",
+ "version": "==4.5.0"
},
"prompt-toolkit": {
"hashes": [
@@ -1772,21 +1933,6 @@
"markers": "python_version >= '3.8'",
"version": "==3.0.52"
},
- "psutil": {
- "hashes": [
- "sha256:092b6350145007389c1cfe5716050f02030a05219d90057ea867d18fe8d372fc",
- "sha256:146a704f224fb2ded2be3da5ac67fc32b9ea90c45b51676f9114a6ac45616967",
- "sha256:295c4025b5cd880f7445e4379e6826f7307e3d488947bf9834e865e7847dc5f7",
- "sha256:2a95104eae85d088891716db676f780c1404fc15d47fde48a46a5d61e8f5ad2c",
- "sha256:5457cf741ca13da54624126cd5d333871b454ab133999a9a103fb097a7d7d21a",
- "sha256:8fa59d7b1f01f0337f12cd10dbd76e4312a4d3c730a4fedcbdd4e5447a8b8460",
- "sha256:92ebc58030fb054fa0f26c3206ef01c31c29d67aee1367e3483c16665c25c8d2",
- "sha256:98629cd8567acefcc45afe2f4ba1e9290f579eacf490a917967decce4b74ee9b",
- "sha256:9b4f17c5f65e44f69bd3a3406071a47b79df45cf2236d1f717970afcb526bcd3"
- ],
- "markers": "python_version >= '3.6'",
- "version": "==7.1.1"
- },
"ptyprocess": {
"hashes": [
"sha256:4b41f3967fce3af57cc7e94b888626c18bf37a083e3651ca8feeb66d492fef35",
@@ -1819,134 +1965,138 @@
},
"pydantic": {
"hashes": [
- "sha256:1da1c82b0fc140bb0103bc1441ffe062154c8d38491189751ee00fd8ca65ce74",
- "sha256:6986454a854bc3bc6e5443e1369e06a3a456af9d339eda45510f517d9ea5c6bf"
+ "sha256:4d351024c75c0f085a9febbb665ce8c0c6ec5d30e903bdb6394b7ede26aebb49",
+ "sha256:e561593fccf61e8a20fc46dfc2dfe075b8be7d0188df33f221ad1f0139180f9d"
],
"markers": "python_version >= '3.9'",
- "version": "==2.12.3"
+ "version": "==2.12.5"
},
"pydantic-core": {
"hashes": [
- "sha256:025ba34a4cf4fb32f917d5d188ab5e702223d3ba603be4d8aca2f82bede432a4",
- "sha256:09c2a60e55b357284b5f31f5ab275ba9f7f70b7525e18a132ec1f9160b4f1f03",
- "sha256:0c19cb355224037c83642429b8ce261ae108e1c5fbf5c028bac63c77b0f8646e",
- "sha256:0cf2a1f599efe57fa0051312774280ee0f650e11152325e41dfd3018ef2c1b57",
- "sha256:0f184d657fa4947ae5ec9c47bd7e917730fa1cbb78195037e32dcbab50aca5ee",
- "sha256:15dd504af121caaf2c95cb90c0ebf71603c53de98305621b94da0f967e572def",
- "sha256:170ee6835f6c71081d031ef1c3b4dc4a12b9efa6a9540f93f95b82f3c7571ae8",
- "sha256:19f3684868309db5263a11bace3c45d93f6f24afa2ffe75a647583df22a2ff89",
- "sha256:1affa4798520b148d7182da0615d648e752de4ab1a9566b7471bc803d88a062d",
- "sha256:1b65077a4693a98b90ec5ad8f203ad65802a1b9b6d4a7e48066925a7e1606706",
- "sha256:1cae8851e174c83633f0833e90636832857297900133705ee158cf79d40f03e6",
- "sha256:1e5ab4fc177dd41536b3c32b2ea11380dd3d4619a385860621478ac2d25ceb00",
- "sha256:1ed810568aeffed3edc78910af32af911c835cc39ebbfacd1f0ab5dd53028e5c",
- "sha256:2442d9a4d38f3411f22eb9dd0912b7cbf4b7d5b6c92c4173b75d3e1ccd84e36e",
- "sha256:26895a4268ae5a2849269f4991cdc97236e4b9c010e51137becf25182daac405",
- "sha256:285b643d75c0e30abda9dc1077395624f314a37e3c09ca402d4015ef5979f1a2",
- "sha256:28ff11666443a1a8cf2a044d6a545ebffa8382b5f7973f22c36109205e65dc80",
- "sha256:2dfe3aa529c8f501babf6e502936b9e8d4698502b2cfab41e17a028d91b1ac7b",
- "sha256:304c54176af2c143bd181d82e77c15c41cbacea8872a2225dd37e6544dce9999",
- "sha256:30a9876226dda131a741afeab2702e2d127209bde3c65a2b8133f428bc5d006b",
- "sha256:31a41030b1d9ca497634092b46481b937ff9397a86f9f51bd41c4767b6fc04af",
- "sha256:3619320641fd212aaf5997b6ca505e97540b7e16418f4a241f44cdf108ffb50d",
- "sha256:37e516bca9264cbf29612539801ca3cd5d1be465f940417b002905e6ed79d38a",
- "sha256:3a926768ea49a8af4d36abd6a8968b8790f7f76dd7cbd5a4c180db2b4ac9a3a2",
- "sha256:3a95d4590b1f1a43bf33ca6d647b990a88f4a3824a8c4572c708f0b45a5290ed",
- "sha256:3adf61415efa6ce977041ba9745183c0e1f637ca849773afa93833e04b163feb",
- "sha256:3d88d0054d3fa11ce936184896bed3c1c5441d6fa483b498fac6a5d0dd6f64a9",
- "sha256:3f1ea6f48a045745d0d9f325989d8abd3f1eaf47dd00485912d1a3a63c623a8d",
- "sha256:44e7625332683b6c1c8b980461475cde9595eff94447500e80716db89b0da005",
- "sha256:491535d45cd7ad7e4a2af4a5169b0d07bebf1adfd164b0368da8aa41e19907a5",
- "sha256:4a9ab037b71927babc6d9e7fc01aea9e66dc2a4a34dff06ef0724a4049629f94",
- "sha256:4c973add636efc61de22530b2ef83a65f39b6d6f656df97f678720e20de26caa",
- "sha256:4f5d640aeebb438517150fdeec097739614421900e4a08db4a3ef38898798537",
- "sha256:523e7da4d43b113bf8e7b49fa4ec0c35bf4fe66b2230bfc5c13cc498f12c6c3e",
- "sha256:54d86c0cada6aba4ec4c047d0e348cbad7063b87ae0f005d9f8c9ad04d4a92a2",
- "sha256:557a0aab88664cc552285316809cab897716a372afaf8efdbef756f8b890e894",
- "sha256:5729225de81fb65b70fdb1907fcf08c75d498f4a6f15af005aabb1fdadc19dfa",
- "sha256:5a28fcedd762349519276c36634e71853b4541079cab4acaaac60c4421827308",
- "sha256:5b66584e549e2e32a1398df11da2e0a7eff45d5c2d9db9d5667c5e6ac764d77e",
- "sha256:5cf90535979089df02e6f17ffd076f07237efa55b7343d98760bde8743c4b265",
- "sha256:61760c3925d4633290292bad462e0f737b840508b4f722247d8729684f6539ae",
- "sha256:62637c769dee16eddb7686bf421be48dfc2fae93832c25e25bc7242e698361ba",
- "sha256:6273ea2c8ffdac7b7fda2653c49682db815aebf4a89243a6feccf5e36c18c347",
- "sha256:646e76293345954acea6966149683047b7b2ace793011922208c8e9da12b0062",
- "sha256:664b3199193262277b8b3cd1e754fb07f2c6023289c815a1e1e8fb415cb247b1",
- "sha256:66c529f862fdba70558061bb936fe00ddbaaa0c647fd26e4a4356ef1d6561891",
- "sha256:6916b9b7d134bff5440098a4deb80e4cb623e68974a87883299de9124126c2a8",
- "sha256:692c622c8f859a17c156492783902d8370ac7e121a611bd6fe92cc71acf9ee8d",
- "sha256:6c1fe4c5404c448b13188dd8bd2ebc2bdd7e6727fa61ff481bcc2cca894018da",
- "sha256:6c9024169becccf0cb470ada03ee578d7348c119a0d42af3dcf9eda96e3a247c",
- "sha256:6cb9cf7e761f4f8a8589a45e49ed3c0d92d1d696a45a6feaee8c904b26efc2db",
- "sha256:6d55fb8b1e8929b341cc313a81a26e0d48aa3b519c1dbaadec3a6a2b4fcad025",
- "sha256:6e0fc40d84448f941df9b3334c4b78fe42f36e3bf631ad54c3047a0cdddc2514",
- "sha256:70e47929a9d4a1905a67e4b687d5946026390568a8e952b92824118063cee4d5",
- "sha256:711156b6afb5cb1cb7c14a2cc2c4a8b4c717b69046f13c6b332d8a0a8f41ca3e",
- "sha256:7533c76fa647fade2d7ec75ac5cc079ab3f34879626dae5689b27790a6cf5a5c",
- "sha256:7b2a054a8725f05b4b6503357e0ac1c4e8234ad3b0c2ac130d6ffc66f0e170e2",
- "sha256:7b74e18052fea4aa8dea2fb7dbc23d15439695da6cbe6cfc1b694af1115df09d",
- "sha256:82df1f432b37d832709fbcc0e24394bba04a01b6ecf1ee87578145c19cde12ac",
- "sha256:833eebfd75a26d17470b58768c1834dfc90141b7afc6eb0429c21fc5a21dcfb8",
- "sha256:84d8854db5f55fead3b579f04bda9a36461dab0730c5d570e1526483e7bb8431",
- "sha256:85e050ad9e5f6fe1004eec65c914332e52f429bc0ae12d6fa2092407a462c746",
- "sha256:94dab0940b0d1fb28bcab847adf887c66a27a40291eedf0b473be58761c9799a",
- "sha256:98f348cbb44fae6e9653c1055db7e29de67ea6a9ca03a5fa2c2e11a47cff0e47",
- "sha256:9be1c01adb2ecc4e464392c36d17f97e9110fbbc906bcbe1c943b5b87a74aabd",
- "sha256:a1351f5bbdbbabc689727cb91649a00cb9ee7203e0a6e54e9f5ba9e22e384b84",
- "sha256:a1b2cfec3879afb742a7b0bcfa53e4f22ba96571c9e54d6a3afe1052d17d843b",
- "sha256:a238dd3feee263eeaeb7dc44aea4ba1364682c4f9f9467e6af5596ba322c2332",
- "sha256:a26d950449aae348afe1ac8be5525a00ae4235309b729ad4d3399623125b43c9",
- "sha256:a44ac1738591472c3d020f61c6df1e4015180d6262ebd39bf2aeb52571b60f12",
- "sha256:a870c307bf1ee91fc58a9a61338ff780d01bfae45922624816878dce784095d2",
- "sha256:a8c2e340d7e454dc3340d3d2e8f23558ebe78c98aa8f68851b04dcb7bc37abdc",
- "sha256:ab06d77e053d660a6faaf04894446df7b0a7e7aba70c2797465a0a1af00fc887",
- "sha256:b0d9db5a161c99375a0c68c058e227bee1d89303300802601d76a3d01f74e258",
- "sha256:b1eb1754fce47c63d2ff57fdb88c351a6c0150995890088b33767a10218eaa4e",
- "sha256:b568af94267729d76e6ee5ececda4e283d07bbb28e8148bb17adad93d025d25a",
- "sha256:b69d1973354758007f46cf2d44a4f3d0933f10b6dc9bf15cf1356e037f6f731a",
- "sha256:b9f5f30c402ed58f90c70e12eff65547d3ab74685ffe8283c719e6bead8ef53f",
- "sha256:bd8a5028425820731d8c6c098ab642d7b8b999758e24acae03ed38a66eca8335",
- "sha256:c173ddcd86afd2535e2b695217e82191580663a1d1928239f877f5a1649ef39f",
- "sha256:c4d1e854aaf044487d31143f541f7aafe7b482ae72a022c664b2de2e466ed0ad",
- "sha256:c53ff33e603a9c1179a9364b0a24694f183717b2e0da2b5ad43c316c956901b2",
- "sha256:ca2322da745bf2eeb581fc9ea3bbb31147702163ccbcbf12a3bb630e4bf05e1d",
- "sha256:ca4df25762cf71308c446e33c9b1fdca2923a3f13de616e2a949f38bf21ff5a8",
- "sha256:cc8e85a63085a137d286e2791037f5fdfff0aabb8b899483ca9c496dd5797338",
- "sha256:d081a1f3800f05409ed868ebb2d74ac39dd0c1ff6c035b5162356d76030736d4",
- "sha256:d175600d975b7c244af6eb9c9041f10059f20b8bbffec9e33fdd5ee3f67cdc42",
- "sha256:d1e2906efb1031a532600679b424ef1d95d9f9fb507f813951f23320903adbd7",
- "sha256:d25e97bc1f5f8f7985bdc2335ef9e73843bb561eb1fa6831fdfc295c1c2061cf",
- "sha256:d34f950ae05a83e0ede899c595f312ca976023ea1db100cd5aa188f7005e3ab0",
- "sha256:d405d14bea042f166512add3091c1af40437c2e7f86988f3915fabd27b1e9cd2",
- "sha256:d55bbac04711e2980645af68b97d445cdbcce70e5216de444a6c4b6943ebcccd",
- "sha256:d682cf1d22bab22a5be08539dca3d1593488a99998f9f412137bc323179067ff",
- "sha256:d72f2b5e6e82ab8f94ea7d0d42f83c487dc159c5240d8f83beae684472864e2d",
- "sha256:d95b253b88f7d308b1c0b417c4624f44553ba4762816f94e6986819b9c273fb2",
- "sha256:dd96e5d15385d301733113bcaa324c8bcf111275b7675a9c6e88bfb19fc05e3b",
- "sha256:de2cfbb09e88f0f795fd90cf955858fc2c691df65b1f21f0aa00b99f3fbc661d",
- "sha256:de7c42f897e689ee6f9e93c4bec72b99ae3b32a2ade1c7e4798e690ff5246e02",
- "sha256:df649916b81822543d1c8e0e1d079235f68acdc7d270c911e8425045a8cfc57e",
- "sha256:e04e2f7f8916ad3ddd417a7abdd295276a0bf216993d9318a5d61cc058209166",
- "sha256:e1d778fb7849a42d0ee5927ab0f7453bf9f85eef8887a546ec87db5ddb178945",
- "sha256:e4dab9484ec605c3016df9ad4fd4f9a390bc5d816a3b10c6550f8424bb80b18c",
- "sha256:e6ab5ab30ef325b443f379ddb575a34969c333004fca5a1daa0133a6ffaad616",
- "sha256:e7393f1d64792763a48924ba31d1e44c2cfbc05e3b1c2c9abb4ceeadd912cced",
- "sha256:e8cd3577c796be7231dcf80badcf2e0835a46665eaafd8ace124d886bab4d700",
- "sha256:e9205d97ed08a82ebb9a307e92914bb30e18cdf6f6b12ca4bedadb1588a0bfe1",
- "sha256:eae547b7315d055b0de2ec3965643b0ab82ad0106a7ffd29615ee9f266a02827",
- "sha256:ec22626a2d14620a83ca583c6f5a4080fa3155282718b6055c2ea48d3ef35970",
- "sha256:eca1124aced216b2500dc2609eade086d718e8249cb9696660ab447d50a758bd",
- "sha256:ecde6dedd6fff127c273c76821bb754d793be1024bc33314a120f83a3c69460c",
- "sha256:ed97fd56a561f5eb5706cebe94f1ad7c13b84d98312a05546f2ad036bafe87f4",
- "sha256:ef9ee5471edd58d1fcce1c80ffc8783a650e3e3a193fe90d52e43bb4d87bff1f",
- "sha256:f52679ff4218d713b3b33f88c89ccbf3a5c2c12ba665fb80ccc4192b4608dbab",
- "sha256:f8e49c9c364a7edcbe2a310f12733aad95b022495ef2a8d653f645e5d20c1564",
- "sha256:f9672ab4d398e1b602feadcffcdd3af44d5f5e6ddc15bc7d15d376d47e8e19f8",
- "sha256:fc3b4c5a1fd3a311563ed866c2c9b62da06cb6398bee186484ce95c820db71cb",
- "sha256:fc3b4cc4539e055cfa39a3763c939f9d409eb40e85813257dcd761985a108554"
+ "sha256:0177272f88ab8312479336e1d777f6b124537d47f2123f89cb37e0accea97f90",
+ "sha256:01a3d0ab748ee531f4ea6c3e48ad9dac84ddba4b0d82291f87248f2f9de8d740",
+ "sha256:0384e2e1021894b1ff5a786dbf94771e2986ebe2869533874d7e43bc79c6f504",
+ "sha256:03b77d184b9eb40240ae9fd676ca364ce1085f203e1b1256f8ab9984dca80a84",
+ "sha256:03ca43e12fab6023fc79d28ca6b39b05f794ad08ec2feccc59a339b02f2b3d33",
+ "sha256:05a2c8852530ad2812cb7914dc61a1125dc4e06252ee98e5638a12da6cc6fb6c",
+ "sha256:070259a8818988b9a84a449a2a7337c7f430a22acc0859c6b110aa7212a6d9c0",
+ "sha256:08daa51ea16ad373ffd5e7606252cc32f07bc72b28284b6bc9c6df804816476e",
+ "sha256:0cbaad15cb0c90aa221d43c00e77bb33c93e8d36e0bf74760cd00e732d10a6a0",
+ "sha256:100baa204bb412b74fe285fb0f3a385256dad1d1879f0a5cb1499ed2e83d132a",
+ "sha256:112e305c3314f40c93998e567879e887a3160bb8689ef3d2c04b6cc62c33ac34",
+ "sha256:16f80f7abe3351f8ea6858914ddc8c77e02578544a0ebc15b4c2e1a0e813b0b2",
+ "sha256:1746d4a3d9a794cacae06a5eaaccb4b8643a131d45fbc9af23e353dc0a5ba5c3",
+ "sha256:1962293292865bca8e54702b08a4f26da73adc83dd1fcf26fbc875b35d81c815",
+ "sha256:1d1d9764366c73f996edd17abb6d9d7649a7eb690006ab6adbda117717099b14",
+ "sha256:1f8d33a7f4d5a7889e60dc39856d76d09333d8a6ed0f5f1190635cbec70ec4ba",
+ "sha256:22f0fb8c1c583a3b6f24df2470833b40207e907b90c928cc8d3594b76f874375",
+ "sha256:239edca560d05757817c13dc17c50766136d21f7cd0fac50295499ae24f90fdf",
+ "sha256:242a206cd0318f95cd21bdacff3fcc3aab23e79bba5cac3db5a841c9ef9c6963",
+ "sha256:25e1c2af0fce638d5f1988b686f3b3ea8cd7de5f244ca147c777769e798a9cd1",
+ "sha256:266fb4cbf5e3cbd0b53669a6d1b039c45e3ce651fd5442eff4d07c2cc8d66808",
+ "sha256:2782c870e99878c634505236d81e5443092fba820f0373997ff75f90f68cd553",
+ "sha256:287dad91cfb551c363dc62899a80e9e14da1f0e2b6ebde82c806612ca2a13ef1",
+ "sha256:29452c56df2ed968d18d7e21f4ab0ac55e71dc59524872f6fc57dcf4a3249ed2",
+ "sha256:299e0a22e7ae2b85c1a57f104538b2656e8ab1873511fd718a1c1c6f149b77b5",
+ "sha256:2a5e06546e19f24c6a96a129142a75cee553cc018ffee48a460059b1185f4470",
+ "sha256:2b761d210c9ea91feda40d25b4efe82a1707da2ef62901466a42492c028553a2",
+ "sha256:2c010c6ded393148374c0f6f0bf89d206bf3217f201faa0635dcd56bd1520f6b",
+ "sha256:2ff4321e56e879ee8d2a879501c8e469414d948f4aba74a2d4593184eb326660",
+ "sha256:3006c3dd9ba34b0c094c544c6006cc79e87d8612999f1a5d43b769b89181f23c",
+ "sha256:33cb885e759a705b426baada1fe68cbb0a2e68e34c5d0d0289a364cf01709093",
+ "sha256:346285d28e4c8017da95144c7f3acd42740d637ff41946af5ce6e5e420502dd5",
+ "sha256:34a64bc3441dc1213096a20fe27e8e128bd3ff89921706e83c0b1ac971276594",
+ "sha256:35b44f37a3199f771c3eaa53051bc8a70cd7b54f333531c59e29fd4db5d15008",
+ "sha256:378bec5c66998815d224c9ca994f1e14c0c21cb95d2f52b6021cc0b2a58f2a5a",
+ "sha256:3f37a19d7ebcdd20b96485056ba9e8b304e27d9904d233d7b1015db320e51f0a",
+ "sha256:3f84d5c1b4ab906093bdc1ff10484838aca54ef08de4afa9de0f5f14d69639cd",
+ "sha256:4009935984bd36bd2c774e13f9a09563ce8de4abaa7226f5108262fa3e637284",
+ "sha256:406bf18d345822d6c21366031003612b9c77b3e29ffdb0f612367352aab7d586",
+ "sha256:4819fa52133c9aa3c387b3328f25c1facc356491e6135b459f1de698ff64d869",
+ "sha256:482c982f814460eabe1d3bb0adfdc583387bd4691ef00b90575ca0d2b6fe2294",
+ "sha256:4bc36bbc0b7584de96561184ad7f012478987882ebf9f9c389b23f432ea3d90f",
+ "sha256:506d766a8727beef16b7adaeb8ee6217c64fc813646b424d0804d67c16eddb66",
+ "sha256:56121965f7a4dc965bff783d70b907ddf3d57f6eba29b6d2e5dabfaf07799c51",
+ "sha256:58133647260ea01e4d0500089a8c4f07bd7aa6ce109682b1426394988d8aaacc",
+ "sha256:5921a4d3ca3aee735d9fd163808f5e8dd6c6972101e4adbda9a4667908849b97",
+ "sha256:5a4e67afbc95fa5c34cf27d9089bca7fcab4e51e57278d710320a70b956d1b9a",
+ "sha256:5cb1b2f9742240e4bb26b652a5aeb840aa4b417c7748b6f8387927bc6e45e40d",
+ "sha256:62de39db01b8d593e45871af2af9e497295db8d73b085f6bfd0b18c83c70a8f9",
+ "sha256:634e8609e89ceecea15e2d61bc9ac3718caaaa71963717bf3c8f38bfde64242c",
+ "sha256:63510af5e38f8955b8ee5687740d6ebf7c2a0886d15a6d65c32814613681bc07",
+ "sha256:650ae77860b45cfa6e2cdafc42618ceafab3a2d9a3811fcfbd3bbf8ac3c40d36",
+ "sha256:6561e94ba9dacc9c61bce40e2d6bdc3bfaa0259d3ff36ace3b1e6901936d2e3e",
+ "sha256:65840751b72fbfd82c3c640cff9284545342a4f1eb1586ad0636955b261b0b05",
+ "sha256:6cb58b9c66f7e4179a2d5e0f849c48eff5c1fca560994d6eb6543abf955a149e",
+ "sha256:6f52298fbd394f9ed112d56f3d11aabd0d5bd27beb3084cc3d8ad069483b8941",
+ "sha256:707625ef0983fcfb461acfaf14de2067c5942c6bb0f3b4c99158bed6fedd3cf3",
+ "sha256:72f6c8b11857a856bcfa48c86f5368439f74453563f951e473514579d44aa612",
+ "sha256:753e230374206729bf0a807954bcc6c150d3743928a73faffee51ac6557a03c3",
+ "sha256:76d0819de158cd855d1cbb8fcafdf6f5cf1eb8e470abe056d5d161106e38062b",
+ "sha256:76ee27c6e9c7f16f47db7a94157112a2f3a00e958bc626e2f4ee8bec5c328fbe",
+ "sha256:77b63866ca88d804225eaa4af3e664c5faf3568cea95360d21f4725ab6e07146",
+ "sha256:79ec52ec461e99e13791ec6508c722742ad745571f234ea6255bed38c6480f11",
+ "sha256:7b93a4d08587e2b7e7882de461e82b6ed76d9026ce91ca7915e740ecc7855f60",
+ "sha256:7da7087d756b19037bc2c06edc6c170eeef3c3bafcb8f532ff17d64dc427adfd",
+ "sha256:7f3bf998340c6d4b0c9a2f02d6a400e51f123b59565d74dc60d252ce888c260b",
+ "sha256:80aa89cad80b32a912a65332f64a4450ed00966111b6615ca6816153d3585a8c",
+ "sha256:8566def80554c3faa0e65ac30ab0932b9e3a5cd7f8323764303d468e5c37595a",
+ "sha256:873e0d5b4fb9b89ef7c2d2a963ea7d02879d9da0da8d9d4933dee8ee86a8b460",
+ "sha256:88942d3a3dff3afc8288c21e565e476fc278902ae4d6d134f1eeda118cc830b1",
+ "sha256:8bfeaf8735be79f225f3fefab7f941c712aaca36f1128c9d7e2352ee1aa87bdf",
+ "sha256:8e7c86f27c585ef37c35e56a96363ab8de4e549a95512445b85c96d3e2f7c1bf",
+ "sha256:915c3d10f81bec3a74fbd4faebe8391013ba61e5a1a8d48c4455b923bdda7858",
+ "sha256:93e8740d7503eb008aa2df04d3b9735f845d43ae845e6dcd2be0b55a2da43cd2",
+ "sha256:941103c9be18ac8daf7b7adca8228f8ed6bb7a1849020f643b3a14d15b1924d9",
+ "sha256:97aeba56665b4c3235a0e52b2c2f5ae9cd071b8a8310ad27bddb3f7fb30e9aa2",
+ "sha256:a39455728aabd58ceabb03c90e12f71fd30fa69615760a075b9fec596456ccc3",
+ "sha256:a3a52f6156e73e7ccb0f8cced536adccb7042be67cb45f9562e12b319c119da6",
+ "sha256:a668ce24de96165bb239160b3d854943128f4334822900534f2fe947930e5770",
+ "sha256:a75dafbf87d6276ddc5b2bf6fae5254e3d0876b626eb24969a574fff9149ee5d",
+ "sha256:aabf5777b5c8ca26f7824cb4a120a740c9588ed58df9b2d196ce92fba42ff8dc",
+ "sha256:aec5cf2fd867b4ff45b9959f8b20ea3993fc93e63c7363fe6851424c8a7e7c23",
+ "sha256:b2379fa7ed44ddecb5bfe4e48577d752db9fc10be00a6b7446e9663ba143de26",
+ "sha256:b4ececa40ac28afa90871c2cc2b9ffd2ff0bf749380fbdf57d165fd23da353aa",
+ "sha256:b5819cd790dbf0c5eb9f82c73c16b39a65dd6dd4d1439dcdea7816ec9adddab8",
+ "sha256:b74557b16e390ec12dca509bce9264c3bbd128f8a2c376eaa68003d7f327276d",
+ "sha256:b80aa5095cd3109962a298ce14110ae16b8c1aece8b72f9dafe81cf597ad80b3",
+ "sha256:b93590ae81f7010dbe380cdeab6f515902ebcbefe0b9327cc4804d74e93ae69d",
+ "sha256:b96d5f26b05d03cc60f11a7761a5ded1741da411e7fe0909e27a5e6a0cb7b034",
+ "sha256:bd3d54f38609ff308209bd43acea66061494157703364ae40c951f83ba99a1a9",
+ "sha256:bfea2a5f0b4d8d43adf9d7b8bf019fb46fdd10a2e5cde477fbcb9d1fa08c68e1",
+ "sha256:c007fe8a43d43b3969e8469004e9845944f1a80e6acd47c150856bb87f230c56",
+ "sha256:c1df3d34aced70add6f867a8cf413e299177e0c22660cc767218373d0779487b",
+ "sha256:c23e27686783f60290e36827f9c626e63154b82b116d7fe9adba1fda36da706c",
+ "sha256:c8d8b4eb992936023be7dee581270af5c6e0697a8559895f527f5b7105ecd36a",
+ "sha256:c9e19dd6e28fdcaa5a1de679aec4141f691023916427ef9bae8584f9c2fb3b0e",
+ "sha256:d0d2568a8c11bf8225044aa94409e21da0cb09dcdafe9ecd10250b2baad531a9",
+ "sha256:d38548150c39b74aeeb0ce8ee1d8e82696f4a4e16ddc6de7b1d8823f7de4b9b5",
+ "sha256:d3a978c4f57a597908b7e697229d996d77a6d3c94901e9edee593adada95ce1a",
+ "sha256:d5160812ea7a8a2ffbe233d8da666880cad0cbaf5d4de74ae15c313213d62556",
+ "sha256:dc799088c08fa04e43144b164feb0c13f9a0bc40503f8df3e9fde58a3c0c101e",
+ "sha256:df3959765b553b9440adfd3c795617c352154e497a4eaf3752555cfb5da8fc49",
+ "sha256:dfa8a0c812ac681395907e71e1274819dec685fec28273a28905df579ef137e2",
+ "sha256:e25c479382d26a2a41b7ebea1043564a937db462816ea07afa8a44c0866d52f9",
+ "sha256:e4f4a984405e91527a0d62649ee21138f8e3d0ef103be488c1dc11a80d7f184b",
+ "sha256:e536c98a7626a98feb2d3eaf75944ef6f3dbee447e1f841eae16f2f0a72d8ddc",
+ "sha256:e56ba91f47764cc14f1daacd723e3e82d1a89d783f0f5afe9c364b8bb491ccdb",
+ "sha256:e672ba74fbc2dc8eea59fb6d4aed6845e6905fc2a8afe93175d94a83ba2a01a0",
+ "sha256:e7b576130c69225432866fe2f4a469a85a54ade141d96fd396dffcf607b558f8",
+ "sha256:e8465ab91a4bd96d36dde3263f06caa6a8a6019e4113f24dc753d79a8b3a3f82",
+ "sha256:e96cea19e34778f8d59fe40775a7a574d95816eb150850a85a7a4c8f4b94ac69",
+ "sha256:ece5c59f0ce7d001e017643d8d24da587ea1f74f6993467d85ae8a5ef9d4f42b",
+ "sha256:eceb81a8d74f9267ef4081e246ffd6d129da5d87e37a77c9bde550cb04870c1c",
+ "sha256:ed2e99c456e3fadd05c991f8f437ef902e00eedf34320ba2b0842bd1c3ca3a75",
+ "sha256:f0cd744688278965817fd0839c4a4116add48d23890d468bc436f78beb28abf5",
+ "sha256:f14f8f046c14563f8eb3f45f499cc658ab8d10072961e07225e507adb700e93f",
+ "sha256:f15489ba13d61f670dcc96772e733aad1a6f9c429cc27574c6cdaed82d0146ad",
+ "sha256:f31d95a179f8d64d90f6831d71fa93290893a33148d890ba15de25642c5d075b",
+ "sha256:f41a7489d32336dbf2199c8c0a215390a751c5b014c2c1c5366e817202e9cdf7",
+ "sha256:f41eb9797986d6ebac5e8edff36d5cef9de40def462311b3eb3eeded1431e425",
+ "sha256:f547144f2966e1e16ae626d8ce72b4cfa0caedc7fa28052001c94fb2fcaa1c52"
],
"markers": "python_version >= '3.9'",
- "version": "==2.41.4"
+ "version": "==2.41.5"
},
"pygments": {
"hashes": [
@@ -1966,20 +2116,28 @@
},
"pytest": {
"hashes": [
- "sha256:86c0d0b93306b961d58d62a4db4879f27fe25513d4b969df351abdddb3c30e01",
- "sha256:872f880de3fc3a5bdc88a11b39c9710c3497a547cfa9320bc3c5e62fbf272e79"
+ "sha256:3e9c069ea73583e255c3b21cf46b8d3c56f6e3a1a8f6da94ccb0fcf57b9d73c8",
+ "sha256:67be0030d194df2dfa7b556f2e56fb3c3315bd5c8822c6951162b92b32ce7dad"
],
"index": "pypi",
- "markers": "python_version >= '3.9'",
- "version": "==8.4.2"
+ "markers": "python_version >= '3.10'",
+ "version": "==9.0.1"
+ },
+ "python-dateutil": {
+ "hashes": [
+ "sha256:37dd54208da7e1cd875388217d5e00ebd4179249f90fb72437e91a35459a0ad3",
+ "sha256:a8b2bc7bffae282281c8140a97d3aa9c14da0b136dfe83f850eea9a5f7470427"
+ ],
+ "markers": "python_version >= '2.7' and python_version not in '3.0, 3.1, 3.2'",
+ "version": "==2.9.0.post0"
},
"pytokens": {
"hashes": [
- "sha256:532d6421364e5869ea57a9523bf385f02586d4662acbcc0342afd69511b4dd43",
- "sha256:74d4b318c67f4295c13782ddd9abcb7e297ec5630ad060eb90abf7ebbefe59f8"
+ "sha256:2f932b14ed08de5fcf0b391ace2642f858f1394c0857202959000b68ed7a458a",
+ "sha256:95b2b5eaf832e469d141a378872480ede3f251a5a5041b8ec6e581d3ac71bbf3"
],
"markers": "python_version >= '3.8'",
- "version": "==0.2.0"
+ "version": "==0.3.0"
},
"pyyaml": {
"hashes": [
@@ -2062,124 +2220,124 @@
},
"regex": {
"hashes": [
- "sha256:07a3fd25d9074923e4d7258b551ae35ab6bdfe01904b8f0d5341c7d8b20eb18d",
- "sha256:0879dd3251a42d2e9b938e1e03b1e9f60de90b4d153015193f5077a376a18439",
- "sha256:08a15d40ce28362eac3e78e83d75475147869c1ff86bc93285f43b4f4431a741",
- "sha256:08f52122c352eb44c3421dab78b9b73a8a77a282cc8314ae576fcaa92b780d10",
- "sha256:0967c5b86f274800a34a4ed862dfab56928144d03cb18821c5153f8777947796",
- "sha256:0ff1307f531a5d8cf5c20ea517254551ff0a8dc722193aab66c656c5a900ea68",
- "sha256:16b0f1c2e2d566c562d5c384c2b492646be0a19798532fdc1fdedacc66e3223f",
- "sha256:17bbcde374bef1c5fad9b131f0e28a6a24856dd90368d8c0201e2b5a69533daa",
- "sha256:182c452279365a93a9f45874f7f191ec1c51e1f1eb41bf2b16563f1a40c1da3a",
- "sha256:185d2b18c062820b3a40d8fefa223a83f10b20a674bf6e8c4a432e8dfd844627",
- "sha256:1a32d77aeaea58a13230100dd8797ac1a84c457f3af2fdf0d81ea689d5a9105b",
- "sha256:1a56a54be3897d62f54290190fbcd754bff6932934529fbf5b29933da28fcd43",
- "sha256:1cb976810ac1416a67562c2e5ba0accf6f928932320fef302e08100ed681b38e",
- "sha256:1e11d3e5887b8b096f96b4154dfb902f29c723a9556639586cd140e77e28b313",
- "sha256:1f5799ea1787aa6de6c150377d11afad39a38afd033f0c5247aecb997978c422",
- "sha256:1fa1186966b2621b1769fd467c7b22e317e6ba2d2cdcecc42ea3089ef04a8521",
- "sha256:2003cc82a579107e70d013482acce8ba773293f2db534fb532738395c557ff34",
- "sha256:238e67264b4013e74136c49f883734f68656adf8257bfa13b515626b31b20f8e",
- "sha256:275cd1c2ed8c4a78ebfa489618d7aee762e8b4732da73573c3e38236ec5f65de",
- "sha256:281d87fa790049c2b7c1b4253121edd80b392b19b5a3d28dc2a77579cb2a58ec",
- "sha256:2b841698f93db3ccc36caa1900d2a3be281d9539b822dc012f08fc80b46a3224",
- "sha256:2e9117d1d35fc2addae6281019ecc70dc21c30014b0004f657558b91c6a8f1a7",
- "sha256:2ee3663f2c334959016b56e3bd0dd187cbc73f948e3a3af14c3caaa0c3035d10",
- "sha256:33535dcf34f47821381e341f7b715cbd027deda4223af4d3932adcd371d3192a",
- "sha256:345c9df49a15bf6460534b104b336581bc5f35c286cac526416e7a63d389b09b",
- "sha256:37be9296598a30c6a20236248cb8b2c07ffd54d095b75d3a2a2ee5babdc51df1",
- "sha256:39a7e8083959cb1c4ff74e483eecb5a65d3b3e1d821b256e54baf61782c906c6",
- "sha256:3a36b4005770044bf08edecc798f0e41a75795b9e7c9c12fe29da8d792ef870c",
- "sha256:3bfeff0b08f296ab28b4332a7e03ca31c437ee78b541ebc874bbf540e5932f8d",
- "sha256:413bfea20a484c524858125e92b9ce6ffdd0a4b97d4ff96b5859aa119b0f1bdd",
- "sha256:436b4c4352fe0762e3bfa34a5567079baa2ef22aa9c37cf4d128979ccfcad842",
- "sha256:44383bc0c933388516c2692c9a7503e1f4a67e982f20b9a29d2fb70c6494f147",
- "sha256:4663ff2fc367735ae7b90b4f0e05b25554446df4addafc76fdaacaaa0ba852b5",
- "sha256:4f13450328a6634348d47a88367e06b64c9d84980ef6a748f717b13f8ce64e87",
- "sha256:4f375c61bfc3138b13e762fe0ae76e3bdca92497816936534a0177201666f44f",
- "sha256:563824a08c7c03d96856d84b46fdb3bbb7cfbdf79da7ef68725cda2ce169c72a",
- "sha256:59bba9f7125536f23fdab5deeea08da0c287a64c1d3acc1c7e99515809824de8",
- "sha256:5b5cb5b6344c4c4c24b2dc87b0bfee78202b07ef7633385df70da7fcf6f7cec6",
- "sha256:5c084889ab2c59765a0d5ac602fd1c3c244f9b3fcc9a65fdc7ba6b74c5287490",
- "sha256:5c259cb363299a0d90d63b5c0d7568ee98419861618a95ee9d91a41cb9954462",
- "sha256:5f97236a67307b775f30a74ef722b64b38b7ab7ba3bb4a2508518a5de545459c",
- "sha256:6040a86f95438a0114bba16e51dfe27f1bc004fd29fe725f54a586f6d522b079",
- "sha256:63b81eef3656072e4ca87c58084c7a9c2b81d41a300b157be635a8a675aacfb8",
- "sha256:651c58aecbab7e97bdf8ec76298a28d2bf2b6238c099ec6bf32e6d41e2f9a9cb",
- "sha256:6c531155bf9179345e85032052a1e5fe1a696a6abf9cea54b97e8baefff970fd",
- "sha256:7888475787cbfee4a7cd32998eeffe9a28129fa44ae0f691b96cb3939183ef41",
- "sha256:78d76dd2957d62501084e7012ddafc5fcd406dd982b7a9ca1ea76e8eaaf73e7e",
- "sha256:7a44d9c00f7a0a02d3b777429281376370f3d13d2c75ae74eb94e11ebcf4a7fc",
- "sha256:7b426ae7952f3dc1e73a86056d520bd4e5f021397484a6835902fc5648bcacce",
- "sha256:7c9f2c68ac6cb3de94eea08a437a75eaa2bd33f9e97c84836ca0b610a5804368",
- "sha256:7d6606524fa77b3912c9ef52a42ef63c6cfbfc1077e9dc6296cd5da0da286044",
- "sha256:7e24af51e907d7457cc4a72691ec458320b9ae67dc492f63209f01eecb09de32",
- "sha256:842d449a8fefe546f311656cf8c0d6729b08c09a185f1cad94c756210286d6a8",
- "sha256:8668e5f067e31a47699ebb354f43aeb9c0ef136f915bd864243098524482ac43",
- "sha256:883df76ee42d9ecb82b37ff8d01caea5895b3f49630a64d21111078bbf8ef64c",
- "sha256:89f8b9ea3830c79468e26b0e21c3585f69f105157c2154a36f6b7839f8afb351",
- "sha256:8cbaf8ceb88f96ae2356d01b9adf5e6306fa42fa6f7eab6b97794e37c959ac26",
- "sha256:8f3e6d202fb52c2153f532043bbcf618fd177df47b0b306741eb9b60ba96edc3",
- "sha256:912e9df4e89d383681268d38ad8f5780d7cccd94ba0e9aa09ca7ab7ab4f8e7eb",
- "sha256:92f565ff9beb9f51bc7cc8c578a7e92eb5c4576b69043a4c58cd05d73fda83c5",
- "sha256:956d89e0c92d471e8f7eee73f73fdff5ed345886378c45a43175a77538a1ffe4",
- "sha256:98fd84c4e4ea185b3bb5bf065261ab45867d8875032f358a435647285c722673",
- "sha256:99018c331fb2529084a0c9b4c713dfa49fafb47c7712422e49467c13a636c656",
- "sha256:9b8c72a242683dcc72d37595c4f1278dfd7642b769e46700a8df11eab19dfd82",
- "sha256:9c9bb421cbe7012c744a5a56cf4d6c80829c72edb1a2991677299c988d6339c8",
- "sha256:9e72e3b84b170fec02193d32620a0a7060a22e52c46e45957dcd14742e0d28fb",
- "sha256:a0ec8bdd88d2e2659c3518087ee34b37e20bd169419ffead4240a7004e8ed03b",
- "sha256:a32433fe3deb4b2d8eda88790d2808fed0dc097e84f5e683b4cd4f42edef6cca",
- "sha256:a5b7a26b51a9df473ec16a1934d117443a775ceb7b39b78670b2e21893c330c9",
- "sha256:a6ce7973384c37bdf0f371a843f95a6e6f4e1489e10e0cf57330198df72959c5",
- "sha256:a8d7b7a0a3df9952f9965342159e0c1f05384c0f056a47ce8b61034f8cecbe83",
- "sha256:a93e97338e1c8ea2649e130dcfbe8cd69bba5e1e163834752ab64dcb4de6d5ed",
- "sha256:a9639ab7540cfea45ef57d16dcbea2e22de351998d614c3ad2f9778fa3bdd788",
- "sha256:abbea548b1076eaf8635caf1071c9d86efdf0fa74abe71fca26c05a2d64cda80",
- "sha256:af7b2661dcc032da1fae82069b5ebf2ac1dfcd5359ef8b35e1367bfc92181432",
- "sha256:b103a752b6f1632ca420225718d6ed83f6a6ced3016dd0a4ab9a6825312de566",
- "sha256:b1249e9ff581c5b658c8f0437f883b01f1edcf424a16388591e7c05e5e9e8b0c",
- "sha256:b24b29402f264f70a3c81f45974323b41764ff7159655360543b7cabb73e7d2f",
- "sha256:b2b7f19a764d5e966d5a62bf2c28a8b4093cc864c6734510bdb4aeb840aec5e6",
- "sha256:b2eb48bd9848d66fd04826382f5e8491ae633de3233a3d64d58ceb4ecfa2113a",
- "sha256:b4e10434279cc8567f99ca6e018e9025d14f2fded2a603380b6be2090f476426",
- "sha256:b52bf9282fdf401e4f4e721f0f61fc4b159b1307244517789702407dd74e38ca",
- "sha256:b577601bfe1d33913fcd9276d7607bbac827c4798d9e14d04bf37d417a6c41cb",
- "sha256:b5d4ece8628d6e364302006366cea3ee887db397faebacc5dacf8ef19e064cf8",
- "sha256:b6f259118ba87b814a8ec475380aee5f5ae97a75852a3507cf31d055b01b5b40",
- "sha256:b7690f95404a1293923a296981fd943cca12c31a41af9c21ba3edd06398fc193",
- "sha256:b83601f84fde939ae3478bb32a3aef36f61b58c3208d825c7e8ce1a735f143f2",
- "sha256:bca7feecc72ee33579e9f6ddf8babbe473045717a0e7dbc347099530f96e8b9a",
- "sha256:be19e7de499940cd72475fb8e46ab2ecb1cf5906bebdd18a89f9329afb1df82f",
- "sha256:bfdf4e9aa3e7b7d02fda97509b4ceeed34542361694ecc0a81db1688373ecfbd",
- "sha256:c037aadf4d64bdc38af7db3dbd34877a057ce6524eefcb2914d6d41c56f968cc",
- "sha256:c5cdaf5b6d37c7da1967dbe729d819461aab6a98a072feef65bbcff0a6e60649",
- "sha256:c70dfe58b0a00b36aa04cdb0f798bf3e0adc31747641f69e191109fd8572c9a9",
- "sha256:ce81c5544a5453f61cb6f548ed358cfb111e3b23f3cd42d250a4077a6be2a7b6",
- "sha256:ceabc62a0e879169cd1bf066063bd6991c3e41e437628936a2ce66e0e2071c32",
- "sha256:d10bcde58bbdf18146f3a69ec46dd03233b94a4a5632af97aa5378da3a47d288",
- "sha256:d36591ce06d047d0c0fe2fc5f14bfbd5b4525d08a7b6a279379085e13f0e3d0e",
- "sha256:d614986dc68506be8f00474f4f6960e03e4ca9883f7df47744800e7d7c08a494",
- "sha256:d7e481f9710e8e24228ce2c77b41db7662a3f68853395da86a292b49dadca2aa",
- "sha256:d80e8eb79009bdb0936658c44ca06e2fbbca67792013e3818eea3f5f228971c2",
- "sha256:d8d286760ee5b77fd21cf6b33cc45e0bffd1deeda59ca65b9be996f590a9828a",
- "sha256:d97d73818c642c938db14c0668167f8d39520ca9d983604575ade3fda193afcc",
- "sha256:d9a4953575f300a7bab71afa4cd4ac061c7697c89590a2902b536783eeb49a4f",
- "sha256:e248cc9446081119128ed002a3801f8031e0c219b5d3c64d3cc627da29ac0a33",
- "sha256:e9bf7f6699f490e4e43c44757aa179dab24d1960999c84ab5c3d5377714ed473",
- "sha256:ea7a3c283ce0f06fe789365841e9174ba05f8db16e2fd6ae00a02df9572c04c0",
- "sha256:ebf1baebef1c4088ad5a5623decec6b52950f0e4d7a0ae4d48f0a99f8c9cb7d7",
- "sha256:ec13647907bb9d15fd192bbfe89ff06612e098a5709e7d6ecabbdd8f7908fc45",
- "sha256:ec41a905908496ce4906dab20fb103c814558db1d69afc12c2f384549c17936a",
- "sha256:ec506e8114fa12d21616deb44800f536d6bf2e1a69253dbf611f69af92395c99",
- "sha256:f4b1b1991617055b46aff6f6db24888c1f05f4db9801349d23f09ed0714a9335",
- "sha256:f668fe1fd3358c5423355a289a4a003e58005ce829d217b828f80bd605a90145",
- "sha256:f76deef1f1019a17dad98f408b8f7afc4bd007cbe835ae77b737e8c7f19ae575",
- "sha256:f7ada5d9dceafaab92646aa00c10a9efd9b09942dd9b0d7c5a4b73db92cc7e61",
- "sha256:fd8aba965604d70306eb90a35528f776e59112a7114a5162824d43b76fa27f58"
+ "sha256:04d2765516395cf7dda331a244a3282c0f5ae96075f728629287dfa6f76ba70a",
+ "sha256:087511f5c8b7dfbe3a03f5d5ad0c2a33861b1fc387f21f6f60825a44865a385a",
+ "sha256:08b884f4226602ad40c5d55f52bf91a9df30f513864e0054bad40c0e9cf1afb7",
+ "sha256:0d31e08426ff4b5b650f68839f5af51a92a5b51abd8554a60c2fbc7c71f25d0b",
+ "sha256:0f9397d561a4c16829d4e6ff75202c1c08b68a3bdbfe29dbfcdb31c9830907c6",
+ "sha256:10483eefbfb0adb18ee9474498c9a32fcf4e594fbca0543bb94c48bac6183e2e",
+ "sha256:149eb0bba95231fb4f6d37c8f760ec9fa6fabf65bab555e128dde5f2475193ec",
+ "sha256:1e00ec2970aab10dc5db34af535f21fcf32b4a31d99e34963419636e2f85ae39",
+ "sha256:1eb1ebf6822b756c723e09f5186473d93236c06c579d2cc0671a722d2ab14281",
+ "sha256:1fedc720f9bb2494ce31a58a1631f9c82df6a09b49c19517ea5cc280b4541e01",
+ "sha256:1ff0d190c7f68ae7769cd0313fe45820ba07ffebfddfaa89cc1eb70827ba0ddc",
+ "sha256:2292cd5a90dab247f9abe892ac584cb24f0f54680c73fcb4a7493c66c2bf2467",
+ "sha256:22b29dda7e1f7062a52359fca6e58e548e28c6686f205e780b02ad8ef710de36",
+ "sha256:22c12d837298651e5550ac1d964e4ff57c3f56965fc1812c90c9fb2028eaf267",
+ "sha256:22dd622a402aad4558277305350699b2be14bc59f64d64ae1d928ce7d072dced",
+ "sha256:22e7d1cdfa88ef33a2ae6aa0d707f9255eb286ffbd90045f1088246833223aee",
+ "sha256:28ba4d69171fc6e9896337d4fc63a43660002b7da53fc15ac992abcf3410917c",
+ "sha256:2ab815eb8a96379a27c3b6157fcb127c8f59c36f043c1678110cea492868f1d5",
+ "sha256:2b441a4ae2c8049106e8b39973bfbddfb25a179dda2bdb99b0eeb60c40a6a3af",
+ "sha256:2fa2eed3f76677777345d2f81ee89f5de2f5745910e805f7af7386a920fa7313",
+ "sha256:32f74f35ff0f25a5021373ac61442edcb150731fbaa28286bbc8bb1582c89d02",
+ "sha256:3809988f0a8b8c9dcc0f92478d6501fac7200b9ec56aecf0ec21f4a2ec4b6009",
+ "sha256:3839967cf4dc4b985e1570fd8d91078f0c519f30491c60f9ac42a8db039be204",
+ "sha256:38af559ad934a7b35147716655d4a2f79fcef2d695ddfe06a06ba40ae631fa7e",
+ "sha256:3a91e4a29938bc1a082cc28fdea44be420bf2bebe2665343029723892eb073e1",
+ "sha256:3b30bc921d50365775c09a7ed446359e5c0179e9e2512beec4a60cbcef6ddd50",
+ "sha256:3b3a5f320136873cc5561098dfab677eea139521cb9a9e8db98b7e64aef44cbc",
+ "sha256:3bf28b1873a8af8bbb58c26cc56ea6e534d80053b41fb511a35795b6de507e6a",
+ "sha256:3e0b11b2b2433d1c39c7c7a30e3f3d0aeeea44c2a8d0bae28f6b95f639927a69",
+ "sha256:3e816cc9aac1cd3cc9a4ec4d860f06d40f994b5c7b4d03b93345f44e08cc68bf",
+ "sha256:3f8bf11a4827cc7ce5a53d4ef6cddd5ad25595d3c1435ef08f76825851343154",
+ "sha256:435bbad13e57eb5606a68443af62bed3556de2f46deb9f7d4237bc2f1c9fb3a0",
+ "sha256:43b4fb020e779ca81c1b5255015fe2b82816c76ec982354534ad9ec09ad7c9e3",
+ "sha256:442d86cf1cfe4faabf97db7d901ef58347efd004934da045c745e7b5bd57ac49",
+ "sha256:44f264d4bf02f3176467d90b294d59bf1db9fe53c141ff772f27a8b456b2a9ed",
+ "sha256:454d9b4ae7881afbc25015b8627c16d88a597479b9dea82b8c6e7e2e07240dc7",
+ "sha256:4aecb6f461316adf9f1f0f6a4a1a3d79e045f9b71ec76055a791affa3b285850",
+ "sha256:4bf146dca15cdd53224a1bf46d628bd7590e4a07fbb69e720d561aea43a32b38",
+ "sha256:4c5238d32f3c5269d9e87be0cf096437b7622b6920f5eac4fd202468aaeb34d2",
+ "sha256:4e1e592789704459900728d88d41a46fe3969b82ab62945560a31732ffc19a6d",
+ "sha256:509dc827f89c15c66a0c216331260d777dd6c81e9a4e4f830e662b0bb296c313",
+ "sha256:51c1c1847128238f54930edb8805b660305dca164645a9fd29243f5610beea34",
+ "sha256:5cf77eac15bd264986c4a2c63353212c095b40f3affb2bc6b4ef80c4776c1a28",
+ "sha256:5d9903ca42bfeec4cebedba8022a7c97ad2aab22e09573ce9976ba01b65e4361",
+ "sha256:61a08bcb0ec14ff4e0ed2044aad948d0659604f824cbd50b55e30b0ec6f09c73",
+ "sha256:62ba394a3dda9ad41c7c780f60f6e4a70988741415ae96f6d1bf6c239cf01379",
+ "sha256:639431bdc89d6429f6721625e8129413980ccd62e9d3f496be618a41d205f160",
+ "sha256:64350685ff08b1d3a6fff33f45a9ca183dc1d58bbfe4981604e70ec9801bbc26",
+ "sha256:6538241f45eb5a25aa575dbba1069ad786f68a4f2773a29a2bd3dd1f9de787be",
+ "sha256:669dcfb2e38f9e8c69507bace46f4889e3abbfd9b0c29719202883c0a603598f",
+ "sha256:66d559b21d3640203ab9075797a55165d79017520685fb407b9234d72ab63c62",
+ "sha256:6dd329a1b61c0ee95ba95385fb0c07ea0d3fe1a21e1349fa2bec272636217118",
+ "sha256:728a9d2d173a65b62bdc380b7932dd8e74ed4295279a8fe1021204ce210803e7",
+ "sha256:732aea6de26051af97b94bc98ed86448821f839d058e5d259c72bf6d73ad0fc0",
+ "sha256:74d04244852ff73b32eeede4f76f51c5bcf44bc3c207bc3e6cf1c5c45b890708",
+ "sha256:7521684c8c7c4f6e88e35ec89680ee1aa8358d3f09d27dfbdf62c446f5d4c695",
+ "sha256:75fa6f0056e7efb1f42a1c34e58be24072cb9e61a601340cc1196ae92326a4f9",
+ "sha256:78c2d02bb6e1da0720eedc0bad578049cad3f71050ef8cd065ecc87691bed2b0",
+ "sha256:795ea137b1d809eb6836b43748b12634291c0ed55ad50a7d72d21edf1cd565c4",
+ "sha256:7a50cd39f73faa34ec18d6720ee25ef10c4c1839514186fcda658a06c06057a2",
+ "sha256:7a7c7fdf755032ffdd72c77e3d8096bdcb0eb92e89e17571a196f03d88b11b3c",
+ "sha256:7be0277469bf3bd7a34a9c57c1b6a724532a0d235cd0dc4e7f4316f982c28b19",
+ "sha256:7eb542fd347ce61e1321b0a6b945d5701528dca0cd9759c2e3bb8bd57e47964d",
+ "sha256:7fe6e5440584e94cc4b3f5f4d98a25e29ca12dccf8873679a635638349831b98",
+ "sha256:81519e25707fc076978c6143b81ea3dc853f176895af05bf7ec51effe818aeec",
+ "sha256:838441333bc90b829406d4a03cb4b8bf7656231b84358628b0406d803931ef32",
+ "sha256:849202cd789e5f3cf5dcc7822c34b502181b4824a65ff20ce82da5524e45e8e9",
+ "sha256:856a25c73b697f2ce2a24e7968285579e62577a048526161a2c0f53090bea9f9",
+ "sha256:87eb52a81ef58c7ba4d45c3ca74e12aa4b4e77816f72ca25258a85b3ea96cb48",
+ "sha256:885b26aa3ee56433b630502dc3d36ba78d186a00cc535d3806e6bfd9ed3c70ab",
+ "sha256:8a3d571bd95fade53c86c0517f859477ff3a93c3fde10c9e669086f038e0f207",
+ "sha256:8e026094aa12b43f4fd74576714e987803a315c76edb6b098b9809db5de58f74",
+ "sha256:9697a52e57576c83139d7c6f213d64485d3df5bf84807c35fa409e6c970801c6",
+ "sha256:9b5aca4d5dfd7fbfbfbdaf44850fcc7709a01146a797536a8f84952e940cca76",
+ "sha256:9ddc42e68114e161e51e272f667d640f97e84a2b9ef14b7477c53aac20c2d59a",
+ "sha256:9f95fbaa0ee1610ec0fc6b26668e9917a582ba80c52cc6d9ada15e30aa9ab9ad",
+ "sha256:a12ab1f5c29b4e93db518f5e3872116b7e9b1646c9f9f426f777b50d44a09e8c",
+ "sha256:a295ca2bba5c1c885826ce3125fa0b9f702a1be547d821c01d65f199e10c01e2",
+ "sha256:a4cb042b615245d5ff9b3794f56be4138b5adc35a4166014d31d1814744148c7",
+ "sha256:adad1a1bcf1c9e76346e091d22d23ac54ef28e1365117d99521631078dfec9de",
+ "sha256:b4774ff32f18e0504bfc4e59a3e71e18d83bc1e171a3c8ed75013958a03b2f14",
+ "sha256:b6f78f98741dcc89607c16b1e9426ee46ce4bf31ac5e6b0d40e81c89f3481ea5",
+ "sha256:b7f9ee819f94c6abfa56ec7b1dbab586f41ebbdc0a57e6524bd5e7f487a878c7",
+ "sha256:ba0d8a5d7f04f73ee7d01d974d47c5834f8a1b0224390e4fe7c12a3a92a78ecc",
+ "sha256:bac4200befe50c670c405dc33af26dad5a3b6b255dd6c000d92fe4629f9ed6a5",
+ "sha256:bc8ab71e2e31b16e40868a40a69007bc305e1109bd4658eb6cad007e0bf67c41",
+ "sha256:bce22519c989bb72a7e6b36a199384c53db7722fe669ba891da75907fe3587db",
+ "sha256:bf3490bcbb985a1ae97b2ce9ad1c0f06a852d5b19dde9b07bdf25bf224248c95",
+ "sha256:c1e448051717a334891f2b9a620fe36776ebf3dd8ec46a0b877c8ae69575feb4",
+ "sha256:c54f768482cef41e219720013cd05933b6f971d9562544d691c68699bf2b6801",
+ "sha256:c56b4d162ca2b43318ac671c65bd4d563e841a694ac70e1a976ac38fcf4ca1d2",
+ "sha256:c9c30003b9347c24bcc210958c5d167b9e4f9be786cb380a7d32f14f9b84674f",
+ "sha256:cc4076a5b4f36d849fd709284b4a3b112326652f3b0466f04002a6c15a0c96c1",
+ "sha256:cfe6d3f0c9e3b7e8c0c694b24d25e677776f5ca26dce46fd6b0489f9c8339391",
+ "sha256:d6c2d5919075a1f2e413c00b056ea0c2f065b3f5fe83c3d07d325ab92dce51d6",
+ "sha256:d8b4a27eebd684319bdf473d39f1d79eed36bf2cd34bd4465cdb4618d82b3d56",
+ "sha256:dbe6095001465294f13f1adcd3311e50dd84e5a71525f20a10bd16689c61ce0b",
+ "sha256:dd16e78eb18ffdb25ee33a0682d17912e8cc8a770e885aeee95020046128f1ce",
+ "sha256:ddd76a9f58e6a00f8772e72cff8ebcff78e022be95edf018766707c730593e1e",
+ "sha256:df9eb838c44f570283712e7cff14c16329a9f0fb19ca492d21d4b7528ee6821e",
+ "sha256:dfec44d532be4c07088c3de2876130ff0fbeeacaa89a137decbbb5f665855a0f",
+ "sha256:e18bc3f73bd41243c9b38a6d9f2366cd0e0137a9aebe2d8ff76c5b67d4c0a3f4",
+ "sha256:e43586ce5bd28f9f285a6e729466841368c4a0353f6fd08d4ce4630843d3648a",
+ "sha256:e6b49cd2aad93a1790ce9cffb18964f6d3a4b0b3dbdbd5de094b65296fce6e58",
+ "sha256:e6c7a21dffba883234baefe91bc3388e629779582038f75d2a5be918e250f0ed",
+ "sha256:e721d1b46e25c481dc5ded6f4b3f66c897c58d2e8cfdf77bbced84339108b0b9",
+ "sha256:eadade04221641516fa25139273505a1c19f9bf97589a05bc4cfcd8b4a618031",
+ "sha256:ee3a83ce492074c35a74cc76cf8235d49e77b757193a5365ff86e3f2f93db9fd",
+ "sha256:f117efad42068f9715677c8523ed2be1518116d1c49b1dd17987716695181efe",
+ "sha256:f3b5a391c7597ffa96b41bd5cbd2ed0305f515fcbb367dfa72735679d5502364",
+ "sha256:f4ff94e58e84aedb9c9fce66d4ef9f27a190285b451420f297c9a09f2b9abee9",
+ "sha256:f99be08cfead2020c7ca6e396c13543baea32343b7a9a5780c462e323bd8872f",
+ "sha256:fd0a5e563c756de210bb964789b5abe4f114dacae9104a47e1a649b910361536",
+ "sha256:feff9e54ec0dd3833d659257f5c3f5322a12eee58ffa360984b716f8b92983f4",
+ "sha256:ffcca5b9efe948ba0661e9df0fa50d2bc4b097c70b9810212d6b62f05d83b2dd"
],
"markers": "python_version >= '3.9'",
- "version": "==2025.10.23"
+ "version": "==2025.11.3"
},
"requests": {
"hashes": [
@@ -2189,6 +2347,14 @@
"markers": "python_version >= '3.9'",
"version": "==2.32.5"
},
+ "responses": {
+ "hashes": [
+ "sha256:0c710af92def29c8352ceadff0c3fe340ace27cf5af1bbe46fb71275bcd2831c",
+ "sha256:9374d047a575c8f781b94454db5cab590b6029505f488d12899ddb10a4af1cf4"
+ ],
+ "markers": "python_version >= '3.8'",
+ "version": "==0.25.8"
+ },
"rich": {
"hashes": [
"sha256:73ff50c7c0c1c77c8243079283f4edb376f0f6442433aecb8ce7e6d0b92d1fe4",
@@ -2199,107 +2365,121 @@
},
"ruamel-yaml": {
"hashes": [
- "sha256:148f6488d698b7a5eded5ea793a025308b25eca97208181b6a026037f391f701",
- "sha256:dbfca74b018c4c3fba0b9cc9ee33e53c371194a9000e694995e620490fd40700"
+ "sha256:048f26d64245bae57a4f9ef6feb5b552a386830ef7a826f235ffb804c59efbba",
+ "sha256:a6e587512f3c998b2225d68aa1f35111c29fad14aed561a26e73fab729ec5e5a"
],
"markers": "python_version >= '3.8'",
- "version": "==0.18.15"
+ "version": "==0.18.16"
},
"ruamel.yaml.clib": {
"hashes": [
- "sha256:090782b5fb9d98df96509eecdbcaffd037d47389a89492320280d52f91330d78",
- "sha256:0a54e5e40a7a691a426c2703b09b0d61a14294d25cfacc00631aa6f9c964df0d",
- "sha256:10d9595b6a19778f3269399eff6bab642608e5966183abc2adbe558a42d4efc9",
- "sha256:16a60d69f4057ad9a92f3444e2367c08490daed6428291aa16cefb445c29b0e9",
- "sha256:18c041b28f3456ddef1f1951d4492dbebe0f8114157c1b3c981a4611c2020792",
- "sha256:1c1acc3a0209ea9042cc3cfc0790edd2eddd431a2ec3f8283d081e4d5018571e",
- "sha256:1f118b707eece8cf84ecbc3e3ec94d9db879d85ed608f95870d39b2d2efa5dca",
- "sha256:2070bf0ad1540d5c77a664de07ebcc45eebd1ddcab71a7a06f26936920692beb",
- "sha256:26a8de280ab0d22b6e3ec745b4a5a07151a0f74aad92dd76ab9c8d8d7087720d",
- "sha256:275f938692013a3883edbd848edde6d9f26825d65c9a2eb1db8baa1adc96a05d",
- "sha256:27c070cf3888e90d992be75dd47292ff9aa17dafd36492812a6a304a1aedc182",
- "sha256:29757bdb7c142f9595cc1b62ec49a3d1c83fab9cef92db52b0ccebaad4eafb98",
- "sha256:4ccba93c1e5a40af45b2f08e4591969fa4697eae951c708f3f83dcbf9f6c6bb1",
- "sha256:4f4a150a737fccae13fb51234d41304ff2222e3b7d4c8e9428ed1a6ab48389b8",
- "sha256:557df28dbccf79b152fe2d1b935f6063d9cc431199ea2b0e84892f35c03bb0ee",
- "sha256:5ac5ff9425d8acb8f59ac5b96bcb7fd3d272dc92d96a7c730025928ffcc88a7a",
- "sha256:5bae1a073ca4244620425cd3d3aa9746bde590992b98ee8c7c8be8c597ca0d4e",
- "sha256:5e56ac47260c0eed992789fa0b8efe43404a9adb608608631a948cee4fc2b052",
- "sha256:6aeadc170090ff1889f0d2c3057557f9cd71f975f17535c26a5d37af98f19c27",
- "sha256:6d5472f63a31b042aadf5ed28dd3ef0523da49ac17f0463e10fda9c4a2773352",
- "sha256:70eda7703b8126f5e52fcf276e6c0f40b0d314674f896fc58c47b0aef2b9ae83",
- "sha256:7df6f6e9d0e33c7b1d435defb185095386c469109de723d514142632a7b9d07f",
- "sha256:7e4f9da7e7549946e02a6122dcad00b7c1168513acb1f8a726b1aaf504a99d32",
- "sha256:803f5044b13602d58ea378576dd75aa759f52116a0232608e8fdada4da33752e",
- "sha256:808c7190a0fe7ae7014c42f73897cf8e9ef14ff3aa533450e51b1e72ec5239ad",
- "sha256:81f6d3b19bc703679a5705c6a16dabdc79823c71d791d73c65949be7f3012c02",
- "sha256:83bbd8354f6abb3fdfb922d1ed47ad8d1db3ea72b0523dac8d07cdacfe1c0fcf",
- "sha256:8dd3c2cc49caa7a8d64b67146462aed6723a0495e44bf0aa0a2e94beaa8432f6",
- "sha256:915748cfc25b8cfd81b14d00f4bfdb2ab227a30d6d43459034533f4d1c207a2a",
- "sha256:94f3efb718f8f49b031f2071ec7a27dd20cbfe511b4dfd54ecee54c956da2b31",
- "sha256:9bd8fe07f49c170e09d76773fb86ad9135e0beee44f36e1576a201b0676d3d1d",
- "sha256:9bf6b699223afe6c7fe9f2ef76e0bfa6dd892c21e94ce8c957478987ade76cd8",
- "sha256:a05ba88adf3d7189a974b2de7a9d56731548d35dc0a822ec3dc669caa7019b29",
- "sha256:a0ac90efbc7a77b0d796c03c8cc4e62fd710b3f1e4c32947713ef2ef52e09543",
- "sha256:a0cb71ccc6ef9ce36eecb6272c81afdc2f565950cdcec33ae8e6cd8f7fc86f27",
- "sha256:a37f40a859b503304dd740686359fcf541d6fb3ff7fc10f539af7f7150917c68",
- "sha256:a911aa73588d9a8b08d662b9484bc0567949529824a55d3885b77e8dd62a127a",
- "sha256:aef953f3b8bd0b50bd52a2e52fb54a6a2171a1889d8dea4a5959d46c6624c451",
- "sha256:b28caeaf3e670c08cb7e8de221266df8494c169bd6ed8875493fab45be9607a4",
- "sha256:b30110b29484adc597df6bd92a37b90e63a8c152ca8136aad100a02f8ba6d1b6",
- "sha256:b5b0f7e294700b615a3bcf6d28b26e6da94e8eba63b079f4ec92e9ba6c0d6b54",
- "sha256:c099cafc1834d3c5dac305865d04235f7c21c167c8dd31ebc3d6bbc357e2f023",
- "sha256:d73a0187718f6eec5b2f729b0f98e4603f7bd9c48aa65d01227d1a5dcdfbe9e8",
- "sha256:d8354515ab62f95a07deaf7f845886cc50e2f345ceab240a3d2d09a9f7d77853",
- "sha256:dba72975485f2b87b786075e18a6e5d07dc2b4d8973beb2732b9b2816f1bad70",
- "sha256:dd7546c851e59c06197a7c651335755e74aa383a835878ca86d2c650c07a2f85",
- "sha256:df3ec9959241d07bc261f4983d25a1205ff37703faf42b474f15d54d88b4f8c9",
- "sha256:e1d1735d97fd8a48473af048739379975651fab186f8a25a9f683534e6904179",
- "sha256:e501c096aa3889133d674605ebd018471bc404a59cbc17da3c5924421c54d97c",
- "sha256:e7cb9ad1d525d40f7d87b6df7c0ff916a66bc52cb61b66ac1b2a16d0c1b07640",
- "sha256:f4e97a1cf0b7a30af9e1d9dad10a5671157b9acee790d9e26996391f49b965a2",
- "sha256:f8b2acb0ffdd2ce8208accbec2dca4a06937d556fdcaefd6473ba1b5daa7e3c4",
- "sha256:fb04c5650de6668b853623eceadcdb1a9f2fee381f5d7b6bc842ee7c239eeec4",
- "sha256:fbc08c02e9b147a11dfcaa1ac8a83168b699863493e183f7c0c8b12850b7d259",
- "sha256:ff86876889ea478b1381089e55cf9e345707b312beda4986f823e1d95e8c0f59"
+ "sha256:014181cdec565c8745b7cbc4de3bf2cc8ced05183d986e6d1200168e5bb59490",
+ "sha256:04d21dc9c57d9608225da28285900762befbb0165ae48482c15d8d4989d4af14",
+ "sha256:05c70f7f86be6f7bee53794d80050a28ae7e13e4a0087c1839dcdefd68eb36b6",
+ "sha256:0ba6604bbc3dfcef844631932d06a1a4dcac3fee904efccf582261948431628a",
+ "sha256:11e5499db1ccbc7f4b41f0565e4f799d863ea720e01d3e99fa0b7b5fcd7802c9",
+ "sha256:1b45498cc81a4724a2d42273d6cfc243c0547ad7c6b87b4f774cb7bcc131c98d",
+ "sha256:1bb7b728fd9f405aa00b4a0b17ba3f3b810d0ccc5f77f7373162e9b5f0ff75d5",
+ "sha256:1f66f600833af58bea694d5892453f2270695b92200280ee8c625ec5a477eed3",
+ "sha256:27dc656e84396e6d687f97c6e65fb284d100483628f02d95464fd731743a4afe",
+ "sha256:2812ff359ec1f30129b62372e5f22a52936fac13d5d21e70373dbca5d64bb97c",
+ "sha256:2b216904750889133d9222b7b873c199d48ecbb12912aca78970f84a5aa1a4bc",
+ "sha256:331fb180858dd8534f0e61aa243b944f25e73a4dae9962bd44c46d1761126bbf",
+ "sha256:3cb75a3c14f1d6c3c2a94631e362802f70e83e20d1f2b2ef3026c05b415c4900",
+ "sha256:3eb199178b08956e5be6288ee0b05b2fb0b5c1f309725ad25d9c6ea7e27f962a",
+ "sha256:424ead8cef3939d690c4b5c85ef5b52155a231ff8b252961b6516ed7cf05f6aa",
+ "sha256:45702dfbea1420ba3450bb3dd9a80b33f0badd57539c6aac09f42584303e0db6",
+ "sha256:468858e5cbde0198337e6a2a78eda8c3fb148bdf4c6498eaf4bc9ba3f8e780bd",
+ "sha256:46895c17ead5e22bea5e576f1db7e41cb273e8d062c04a6a49013d9f60996c25",
+ "sha256:46e4cc8c43ef6a94885f72512094e482114a8a706d3c555a34ed4b0d20200600",
+ "sha256:480894aee0b29752560a9de46c0e5f84a82602f2bc5c6cde8db9a345319acfdf",
+ "sha256:4b293a37dc97e2b1e8a1aec62792d1e52027087c8eea4fc7b5abd2bdafdd6642",
+ "sha256:4be366220090d7c3424ac2b71c90d1044ea34fca8c0b88f250064fd06087e614",
+ "sha256:4d1032919280ebc04a80e4fb1e93f7a738129857eaec9448310e638c8bccefcf",
+ "sha256:4d3b58ab2454b4747442ac76fab66739c72b1e2bb9bd173d7694b9f9dbc9c000",
+ "sha256:4dcec721fddbb62e60c2801ba08c87010bd6b700054a09998c4d09c08147b8fb",
+ "sha256:512571ad41bba04eac7268fe33f7f4742210ca26a81fe0c75357fa682636c690",
+ "sha256:542d77b72786a35563f97069b9379ce762944e67055bea293480f7734b2c7e5e",
+ "sha256:56ea19c157ed8c74b6be51b5fa1c3aff6e289a041575f0556f66e5fb848bb137",
+ "sha256:5d3c9210219cbc0f22706f19b154c9a798ff65a6beeafbf77fc9c057ec806f7d",
+ "sha256:5fea0932358e18293407feb921d4f4457db837b67ec1837f87074667449f9401",
+ "sha256:617d35dc765715fa86f8c3ccdae1e4229055832c452d4ec20856136acc75053f",
+ "sha256:64da03cbe93c1e91af133f5bec37fd24d0d4ba2418eaf970d7166b0a26a148a2",
+ "sha256:65f48245279f9bb301d1276f9679b82e4c080a1ae25e679f682ac62446fac471",
+ "sha256:6f1d38cbe622039d111b69e9ca945e7e3efebb30ba998867908773183357f3ed",
+ "sha256:713cd68af9dfbe0bb588e144a61aad8dcc00ef92a82d2e87183ca662d242f524",
+ "sha256:71845d377c7a47afc6592aacfea738cc8a7e876d586dfba814501d8c53c1ba60",
+ "sha256:753faf20b3a5906faf1fc50e4ddb8c074cb9b251e00b14c18b28492f933ac8ef",
+ "sha256:7e74ea87307303ba91073b63e67f2c667e93f05a8c63079ee5b7a5c8d0d7b043",
+ "sha256:88eea8baf72f0ccf232c22124d122a7f26e8a24110a0273d9bcddcb0f7e1fa03",
+ "sha256:923816815974425fbb1f1bf57e85eca6e14d8adc313c66db21c094927ad01815",
+ "sha256:9b6f7d74d094d1f3a4e157278da97752f16ee230080ae331fcc219056ca54f77",
+ "sha256:a8220fd4c6f98485e97aea65e1df76d4fed1678ede1fe1d0eed2957230d287c4",
+ "sha256:ab0df0648d86a7ecbd9c632e8f8d6b21bb21b5fc9d9e095c796cacf32a728d2d",
+ "sha256:ac9b8d5fa4bb7fd2917ab5027f60d4234345fd366fe39aa711d5dca090aa1467",
+ "sha256:badd1d7283f3e5894779a6ea8944cc765138b96804496c91812b2829f70e18a7",
+ "sha256:bdc06ad71173b915167702f55d0f3f027fc61abd975bd308a0968c02db4a4c3e",
+ "sha256:bf0846d629e160223805db9fe8cc7aec16aaa11a07310c50c8c7164efa440aec",
+ "sha256:bfd309b316228acecfa30670c3887dcedf9b7a44ea39e2101e75d2654522acd4",
+ "sha256:c583229f336682b7212a43d2fa32c30e643d3076178fb9f7a6a14dde85a2d8bd",
+ "sha256:cb15a2e2a90c8475df45c0949793af1ff413acfb0a716b8b94e488ea95ce7cff",
+ "sha256:d290eda8f6ada19e1771b54e5706b8f9807e6bb08e873900d5ba114ced13e02c",
+ "sha256:da3d6adadcf55a93c214d23941aef4abfd45652110aed6580e814152f385b862",
+ "sha256:dcc7f3162d3711fd5d52e2267e44636e3e566d1e5675a5f0b30e98f2c4af7974",
+ "sha256:def5663361f6771b18646620fca12968aae730132e104688766cf8a3b1d65922",
+ "sha256:e5e9f630c73a490b758bf14d859a39f375e6999aea5ddd2e2e9da89b9953486a",
+ "sha256:e9fde97ecb7bb9c41261c2ce0da10323e9227555c674989f8d9eb7572fc2098d",
+ "sha256:ef71831bd61fbdb7aa0399d5c4da06bea37107ab5c79ff884cc07f2450910262",
+ "sha256:f4421ab780c37210a07d138e56dd4b51f8642187cdfb433eb687fe8c11de0144",
+ "sha256:f6d3655e95a80325b84c4e14c080b2470fe4f33b6846f288379ce36154993fb1",
+ "sha256:fd4c928ddf6bce586285daa6d90680b9c291cfd045fc40aad34e445d57b1bf51",
+ "sha256:fe239bdfdae2302e93bd6e8264bd9b71290218fff7084a9db250b55caaccf43f"
],
"markers": "python_version >= '3.9'",
- "version": "==0.2.14"
+ "version": "==0.2.15"
},
"ruff": {
"hashes": [
- "sha256:0826b8764f94229604fa255918d1cc45e583e38c21c203248b0bfc9a0e930be5",
- "sha256:083bfc1f30f4a391ae09c6f4f99d83074416b471775b59288956f5bc18e82f8b",
- "sha256:0ea6a864d2fb41a4b6d5b456ed164302a0d96f4daac630aeba829abfb059d020",
- "sha256:1dd86253060c4772867c61791588627320abcb6ed1577a90ef432ee319729b69",
- "sha256:39f1c392244e338b21d42ab29b8a6392a722c5090032eb49bb4d6defcdb34345",
- "sha256:59d599cdff9c7f925a017f6f2c256c908b094e55967f93f2821b1439928746a1",
- "sha256:5a6e74c0efd78515a1d13acbfe6c90f0f5bd822aa56b4a6d43a9ffb2ae6e56cd",
- "sha256:5c9e6cf6cd4acae0febbce29497accd3632fe2025c0c583c8b87e8dbdeae5f61",
- "sha256:7382fa12a26cce1f95070ce450946bec357727aaa428983036362579eadcc5cf",
- "sha256:747d583400f6125ec11a4c14d1c8474bf75d8b419ad22a111a537ec1a952d192",
- "sha256:a6fa2458527794ecdfbe45f654e42c61f2503a230545a91af839653a0a93dbc6",
- "sha256:cabcaa9ccf8089fb4fdb78d17cc0e28241520f50f4c2e88cb6261ed083d85151",
- "sha256:cbc52160465913a1a3f424c81c62ac8096b6a491468e7d872cb9444a860bc33d",
- "sha256:d6191903d39ac156921398e9c86b7354d15e3c93772e7dbf26c9fcae59ceccd5",
- "sha256:dd0bf2be3ae8521e1093a487c4aa3b455882f139787770698530d28ed3fbb37c",
- "sha256:e037ea374aaaff4103240ae79168c0945ae3d5ae8db190603de3b4012bd1def6",
- "sha256:e3b443c4c9f16ae850906b8d0a707b2a4c16f8d2f0a7fe65c475c5886665ce44",
- "sha256:ed04f0e04f7a4587244e5c9d7df50e6b5bf2705d75059f409a6421c593a35896",
- "sha256:f6fa757cd717f791009f7669fefb09121cc5f7d9bd0ef211371fad68c2b8b224"
+ "sha256:15f04cb45c051159baebb0f0037f404f1dc2f15a927418f29730f411a79bc4e7",
+ "sha256:1af35c2d62633d4da0521178e8a2641c636d2a7153da0bac1b30cfd4ccd91344",
+ "sha256:1d62cb310c4fbcb9ee4ac023fe17f984ae1e12b8a4a02e3d21489f9a2a5f730c",
+ "sha256:21d48fa744c9d1cb8d71eb0a740c4dd02751a5de9db9a730a8ef75ca34cf138e",
+ "sha256:25add4575ffecc53d60eed3f24b1e934493631b48ebbc6ebaf9d8517924aca4b",
+ "sha256:2c87e09b3cd9d126fc67a9ecd3b5b1d3ded2b9c7fce3f16e315346b9d05cfb52",
+ "sha256:2e2fcbefe91f9fad0916850edf0854530c15bd1926b6b779de47e9ab619ea38f",
+ "sha256:4c943d847b7f02f7db4201a0600ea7d244d8a404fbb639b439e987edcf2baf9a",
+ "sha256:774ed0dd87d6ce925e3b8496feb3a00ac564bea52b9feb551ecd17e0a23d1eed",
+ "sha256:7aaf2974f378e6b01d1e257c6948207aec6a9b5ba53fab23d0182efb887a0e4a",
+ "sha256:8cdb162a7159f4ca36ce980a18c43d8f036966e7f73f866ac8f493b75e0c27e9",
+ "sha256:965a582c93c63fe715fd3e3f8aa37c4b776777203d8e1d8aa3cc0c14424a4b99",
+ "sha256:9eeb0b24242b5bbff3011409a739929f497f3fb5fe3b5698aba5e77e8c833097",
+ "sha256:a9d70721066a296f45786ec31916dc287b44040f553da21564de0ab4d45a869b",
+ "sha256:cb6e8bf7b4f627548daa1b69283dac5a296bfe9ce856703b03130732e20ddfe2",
+ "sha256:e5758ca513c43ad8a4ef13f0f081f80f08008f410790f3611a21a92421ab045b",
+ "sha256:ec071e9c82eca417f6111fd39f7043acb53cd3fde9b1f95bbed745962e345afb",
+ "sha256:eed28f6fafcc9591994c42254f5a5c5ca40e69a30721d2ab18bb0bb3baac3ab6",
+ "sha256:f74f7ba163b6e85a8d81a590363bf71618847e5078d90827749bfda1d88c9cdf"
],
"index": "pypi",
"markers": "python_version >= '3.7'",
- "version": "==0.14.1"
+ "version": "==0.14.8"
+ },
+ "s3transfer": {
+ "hashes": [
+ "sha256:18e25d66fed509e3868dc1572b3f427ff947dd2c56f844a5bf09481ad3f3b2fe",
+ "sha256:8e990f13268025792229cd52fa10cb7163744bf56e719e0b9cb925ab79abf920"
+ ],
+ "markers": "python_version >= '3.9'",
+ "version": "==0.16.0"
},
"safety": {
"hashes": [
- "sha256:2e148cd9a4ad2e387d2c142878b7b5a3a9cb9e6538167043faa1ba7023a032be",
- "sha256:754f8d6068d1504503b0346cbd3cb0e67015d2abc1d842f3a4e4b662cb4f44ec"
+ "sha256:65e71db45eb832e8840e3456333d44c23927423753d5610596a09e909a66d2bf",
+ "sha256:daec15a393cafc32b846b7ef93f9c952a1708863e242341ab5bde2e4beabb54e"
],
"index": "pypi",
- "markers": "python_version >= '3.8'",
- "version": "==3.6.2"
+ "markers": "python_version >= '3.9'",
+ "version": "==3.7.0"
},
"safety-schemas": {
"hashes": [
@@ -2309,14 +2489,6 @@
"markers": "python_version >= '3.8'",
"version": "==0.0.16"
},
- "setuptools": {
- "hashes": [
- "sha256:062d34222ad13e0cc312a4c02d73f059e86a4acbfbdea8f8f76b28c99f306922",
- "sha256:f36b47402ecde768dbfafc46e8e4207b4360c654f1f3bb84475f0a28628fb19c"
- ],
- "markers": "python_version >= '3.9'",
- "version": "==80.9.0"
- },
"shellingham": {
"hashes": [
"sha256:7ecfff8f2fd72616f7481040475a65b2bf8af90a56c89140852d1120324e8686",
@@ -2325,13 +2497,13 @@
"markers": "python_version >= '3.7'",
"version": "==1.5.4"
},
- "sniffio": {
+ "six": {
"hashes": [
- "sha256:2f6da418d1f1e0fddd844478f41680e794e6051915791a034ff65e5f100525a2",
- "sha256:f4324edc670a0f49750a81b895f35c3adb843cca46f0530f79fc1babb23789dc"
+ "sha256:4721f391ed90541fddacab5acf947aa0d3dc7d27b2e1e8eda2be8970586c3274",
+ "sha256:ff70335d468e7eb6ec65b95b99d3a2836546063f63acc5171de367e834932a81"
],
- "markers": "python_version >= '3.7'",
- "version": "==1.3.1"
+ "markers": "python_version >= '2.7' and python_version not in '3.0, 3.1, 3.2'",
+ "version": "==1.17.0"
},
"sortedcontainers": {
"hashes": [
@@ -2355,13 +2527,61 @@
"markers": "python_version >= '3.9'",
"version": "==9.1.2"
},
- "toml": {
+ "tomli": {
+ "hashes": [
+ "sha256:00b5f5d95bbfc7d12f91ad8c593a1659b6387b43f054104cda404be6bda62456",
+ "sha256:0a154a9ae14bfcf5d8917a59b51ffd5a3ac1fd149b71b47a3a104ca4edcfa845",
+ "sha256:0c95ca56fbe89e065c6ead5b593ee64b84a26fca063b5d71a1122bf26e533999",
+ "sha256:0eea8cc5c5e9f89c9b90c4896a8deefc74f518db5927d0e0e8d4a80953d774d0",
+ "sha256:1cb4ed918939151a03f33d4242ccd0aa5f11b3547d0cf30f7c74a408a5b99878",
+ "sha256:4021923f97266babc6ccab9f5068642a0095faa0a51a246a6a02fccbb3514eaf",
+ "sha256:4c2ef0244c75aba9355561272009d934953817c49f47d768070c3c94355c2aa3",
+ "sha256:4dc4ce8483a5d429ab602f111a93a6ab1ed425eae3122032db7e9acf449451be",
+ "sha256:4f195fe57ecceac95a66a75ac24d9d5fbc98ef0962e09b2eddec5d39375aae52",
+ "sha256:5192f562738228945d7b13d4930baffda67b69425a7f0da96d360b0a3888136b",
+ "sha256:5e01decd096b1530d97d5d85cb4dff4af2d8347bd35686654a004f8dea20fc67",
+ "sha256:64be704a875d2a59753d80ee8a533c3fe183e3f06807ff7dc2232938ccb01549",
+ "sha256:70a251f8d4ba2d9ac2542eecf008b3c8a9fc5c3f9f02c56a9d7952612be2fdba",
+ "sha256:73ee0b47d4dad1c5e996e3cd33b8a76a50167ae5f96a2607cbe8cc773506ab22",
+ "sha256:74bf8464ff93e413514fefd2be591c3b0b23231a77f901db1eb30d6f712fc42c",
+ "sha256:792262b94d5d0a466afb5bc63c7daa9d75520110971ee269152083270998316f",
+ "sha256:7b0882799624980785240ab732537fcfc372601015c00f7fc367c55308c186f6",
+ "sha256:883b1c0d6398a6a9d29b508c331fa56adbcdff647f6ace4dfca0f50e90dfd0ba",
+ "sha256:88bd15eb972f3664f5ed4b57c1634a97153b4bac4479dcb6a495f41921eb7f45",
+ "sha256:8a35dd0e643bb2610f156cca8db95d213a90015c11fee76c946aa62b7ae7e02f",
+ "sha256:940d56ee0410fa17ee1f12b817b37a4d4e4dc4d27340863cc67236c74f582e77",
+ "sha256:97d5eec30149fd3294270e889b4234023f2c69747e555a27bd708828353ab606",
+ "sha256:a0e285d2649b78c0d9027570d4da3425bdb49830a6156121360b3f8511ea3441",
+ "sha256:a1f7f282fe248311650081faafa5f4732bdbfef5d45fe3f2e702fbc6f2d496e0",
+ "sha256:a4ea38c40145a357d513bffad0ed869f13c1773716cf71ccaa83b0fa0cc4e42f",
+ "sha256:a56212bdcce682e56b0aaf79e869ba5d15a6163f88d5451cbde388d48b13f530",
+ "sha256:ad805ea85eda330dbad64c7ea7a4556259665bdf9d2672f5dccc740eb9d3ca05",
+ "sha256:b273fcbd7fc64dc3600c098e39136522650c49bca95df2d11cf3b626422392c8",
+ "sha256:b5870b50c9db823c595983571d1296a6ff3e1b88f734a4c8f6fc6188397de005",
+ "sha256:b74a0e59ec5d15127acdabd75ea17726ac4c5178ae51b85bfe39c4f8a278e879",
+ "sha256:be71c93a63d738597996be9528f4abe628d1adf5e6eb11607bc8fe1a510b5dae",
+ "sha256:c22a8bf253bacc0cf11f35ad9808b6cb75ada2631c2d97c971122583b129afbc",
+ "sha256:c4665508bcbac83a31ff8ab08f424b665200c0e1e645d2bd9ab3d3e557b6185b",
+ "sha256:c5f3ffd1e098dfc032d4d3af5c0ac64f6d286d98bc148698356847b80fa4de1b",
+ "sha256:cebc6fe843e0733ee827a282aca4999b596241195f43b4cc371d64fc6639da9e",
+ "sha256:d1381caf13ab9f300e30dd8feadb3de072aeb86f1d34a8569453ff32a7dea4bf",
+ "sha256:d7d86942e56ded512a594786a5ba0a5e521d02529b3826e7761a05138341a2ac",
+ "sha256:e31d432427dcbf4d86958c184b9bfd1e96b5b71f8eb17e6d02531f434fd335b8",
+ "sha256:e95b1af3c5b07d9e643909b5abbec77cd9f1217e6d0bca72b0234736b9fb1f1b",
+ "sha256:f85209946d1fe94416debbb88d00eb92ce9cd5266775424ff81bc959e001acaf",
+ "sha256:feb0dacc61170ed7ab602d3d972a58f14ee3ee60494292d384649a3dc38ef463",
+ "sha256:ff72b71b5d10d22ecb084d345fc26f42b5143c5533db5e2eaba7d2d335358876"
+ ],
+ "markers": "python_version >= '3.8'",
+ "version": "==2.3.0"
+ },
+ "tomli-w": {
"hashes": [
- "sha256:806143ae5bfb6a3c6e736a764057db0e6a0e05e338b5630894a5f779cabb4f9b",
- "sha256:b3bda1d108d5dd99f4a20d24d9c348e91c4db7ab1b749200bded2f839ccbe68f"
+ "sha256:188306098d013b691fcadc011abd66727d3c414c571bb01b1a174ba8c983cf90",
+ "sha256:2dd14fac5a47c27be9cd4c976af5a12d87fb1f0b4512f81d69cce3b35ae25021"
],
- "markers": "python_version >= '2.6' and python_version not in '3.0, 3.1, 3.2'",
- "version": "==0.10.2"
+ "markers": "python_version >= '3.9'",
+ "version": "==1.2.0"
},
"tomlkit": {
"hashes": [
@@ -2413,19 +2633,19 @@
},
"urllib3": {
"hashes": [
- "sha256:3fc47733c7e419d4bc3f6b3dc2b4f890bb743906a30d56ba4a5bfa4bbff92760",
- "sha256:e6b01673c0fa6a13e374b50871808eb3bf7046c4b125b216f6bf1cc604cff0dc"
+ "sha256:c90f7a39f716c572c4e3e58509581ebd83f9b59cced005b7db7ad2d22b0db99f",
+ "sha256:cb9bcef5a4b345d5da5d145dc3e30834f58e8018828cbc724d30b4cb7d4d49f1"
],
"markers": "python_version >= '3.9'",
- "version": "==2.5.0"
+ "version": "==2.6.0"
},
"virtualenv": {
"hashes": [
- "sha256:4f1a845d131133bdff10590489610c98c168ff99dc75d6c96853801f7f67af44",
- "sha256:63d106565078d8c8d0b206d48080f938a8b25361e19432d2c9db40d2899c810a"
+ "sha256:643d3914d73d3eeb0c552cbb12d7e82adf0e504dbf86a3182f8771a153a1971c",
+ "sha256:c21c9cede36c9753eeade68ba7d523529f228a403463376cf821eaae2b650f1b"
],
"markers": "python_version >= '3.8'",
- "version": "==20.35.3"
+ "version": "==20.35.4"
},
"wcwidth": {
"hashes": [
@@ -2434,6 +2654,22 @@
],
"markers": "python_version >= '3.6'",
"version": "==0.2.14"
+ },
+ "werkzeug": {
+ "hashes": [
+ "sha256:2ad50fb9ed09cc3af22c54698351027ace879a0b60a3b5edf5730b2f7d876905",
+ "sha256:cd3cd98b1b92dc3b7b3995038826c68097dcb16f9baa63abe35f20eafeb9fe5e"
+ ],
+ "markers": "python_version >= '3.9'",
+ "version": "==3.1.4"
+ },
+ "xmltodict": {
+ "hashes": [
+ "sha256:54306780b7c2175a3967cad1db92f218207e5bc1aba697d887807c0fb68b7649",
+ "sha256:62d0fddb0dcbc9f642745d8bbf4d81fd17d6dfaec5a15b5c1876300aad92af0d"
+ ],
+ "markers": "python_version >= '3.9'",
+ "version": "==1.0.2"
}
}
}
diff --git a/README.md b/README.md
index f722b04..fdf7962 100644
--- a/README.md
+++ b/README.md
@@ -77,6 +77,7 @@ Options:
-s, --source [alma|aspace|dspace|jpal|libguides|gismit|gisogm|researchdatabases|whoas|zenodo]
Source records were harvested from, must
choose from list of options [required]
+ -e, --exclusion-list-path TEXT S3 or local path to exclusion list.
-r, --run-id TEXT Identifier for Transmogrifier run. This can
be used to group transformed records
produced by Transmogrifier, even if they
diff --git a/pyproject.toml b/pyproject.toml
index 0b69c7b..f5aab2a 100644
--- a/pyproject.toml
+++ b/pyproject.toml
@@ -38,6 +38,7 @@ ignore = [
"D205",
"D212",
"D402",
+ "G004",
"PLR0912",
"PLR0913",
"PLR0915",
diff --git a/tests/conftest.py b/tests/conftest.py
index 292574f..132721a 100644
--- a/tests/conftest.py
+++ b/tests/conftest.py
@@ -1,5 +1,7 @@
+import boto3
import pytest
from click.testing import CliRunner
+from moto import mock_aws
import transmogrifier.models as timdex
from transmogrifier.config import SOURCES, load_external_config
@@ -19,6 +21,7 @@ def _test_config():
SOURCES["cool-repo"] = {
"name": "A Cool Repository",
"base-url": "https://example.com/",
+ "transform-class": "transmogrifier.sources.xml.datacite.Datacite",
}
@@ -39,6 +42,24 @@ def _bad_config():
SOURCES.pop("bad-module-path")
+@pytest.fixture(scope="session")
+def mock_s3():
+ with mock_aws():
+ s3 = boto3.client("s3", region_name="us-east-1")
+ s3.create_bucket(Bucket="test-bucket")
+ yield s3
+
+
+@pytest.fixture(scope="session")
+def mock_s3_exclusion_list(mock_s3):
+ mock_s3.put_object(
+ Bucket="test-bucket",
+ Key="libguides/config/libguides-exclusions.csv",
+ Body="https://libguides.mit.edu/excluded1\n"
+ "https://libguides.mit.edu/excluded2\n",
+ )
+
+
@pytest.fixture
def runner():
return CliRunner()
@@ -257,33 +278,33 @@ def empty_dataset_location(tmp_path):
@pytest.fixture
-def libguides_input_file():
+def source_input_file():
return (
"tests/fixtures/dataset/libguides-2024-06-03-full-extracted-records-to-index.xml"
)
@pytest.fixture
-def empty_libguides_input_file():
+def empty_source_input_file():
return (
"tests/fixtures/dataset/libguides-2024-06-04-full-extracted-records-to-index.xml"
)
@pytest.fixture
-def libguides_transformer(monkeypatch, run_id, libguides_input_file):
+def source_transformer(monkeypatch, run_id, source_input_file):
return Transformer.load(
- "libguides",
- libguides_input_file,
+ "cool-repo",
+ source_input_file,
run_id=run_id,
)
@pytest.fixture
-def libguides_transformer_with_timestamp(monkeypatch, run_id, libguides_input_file):
+def source_transformer_with_timestamp(monkeypatch, run_id, source_input_file):
return Transformer.load(
- "libguides",
- libguides_input_file,
+ "cool-repo",
+ source_input_file,
run_id=run_id,
run_timestamp="2024-06-03T15:30:45",
)
diff --git a/tests/sources/test_transformer.py b/tests/sources/test_transformer.py
index dadbcee..d67fcd0 100644
--- a/tests/sources/test_transformer.py
+++ b/tests/sources/test_transformer.py
@@ -13,13 +13,23 @@
from transmogrifier.sources.xml.datacite import Datacite
+def test_load_exclusion_list(source_transformer, mock_s3_exclusion_list):
+ source_transformer.exclusion_list_path = (
+ "s3://test-bucket/libguides/config/libguides-exclusions.csv"
+ )
+ assert source_transformer.load_exclusion_list() == [
+ "https://libguides.mit.edu/excluded1",
+ "https://libguides.mit.edu/excluded2",
+ ]
+
+
def test_transformer_get_transformer_returns_correct_class_name():
assert Transformer.get_transformer("jpal") == Datacite
def test_transformer_get_transformer_source_missing_class_name_raises_error():
with pytest.raises(KeyError):
- Transformer.get_transformer("cool-repo")
+ Transformer.get_transformer("wrong-repo")
@pytest.mark.usefixtures("_bad_config")
@@ -84,9 +94,9 @@ def test_create_locations_from_spatial_subjects_success(timdex_record_required_f
def test_transformer_get_run_data_from_source_file_and_run_id(
- libguides_transformer, libguides_input_file, run_id
+ source_transformer, source_input_file, run_id
):
- assert libguides_transformer.get_run_data(libguides_input_file, run_id) == {
+ assert source_transformer.get_run_data(source_input_file, run_id) == {
"source": "libguides",
"run_date": "2024-06-03",
"run_type": "full",
@@ -96,11 +106,11 @@ def test_transformer_get_run_data_from_source_file_and_run_id(
def test_transformer_get_run_data_with_explicit_run_timestamp(
- libguides_transformer, libguides_input_file, run_id
+ source_transformer, source_input_file, run_id
):
run_timestamp = "2024-06-03T15:30:45"
- assert libguides_transformer.get_run_data(
- libguides_input_file,
+ assert source_transformer.get_run_data(
+ source_input_file,
run_id=run_id,
run_timestamp=run_timestamp,
) == {
@@ -113,31 +123,31 @@ def test_transformer_get_run_data_with_explicit_run_timestamp(
def test_transformer_get_run_data_mints_timestamp_from_run_date(
- libguides_transformer, libguides_input_file, run_id
+ source_transformer, source_input_file, run_id
):
- result = libguides_transformer.get_run_data(libguides_input_file, run_id)
+ result = source_transformer.get_run_data(source_input_file, run_id)
assert result["run_timestamp"] == "2024-06-03T00:00:00"
def test_transformer_get_run_data_no_source_file_raise_error(
- monkeypatch, libguides_transformer
+ monkeypatch, source_transformer
):
monkeypatch.setenv("WORKSPACE", "dev")
with pytest.raises(
ValueError,
match="'source_file' parameter is required outside of test environments",
):
- libguides_transformer.get_run_data(None, "run-abc-123")
+ source_transformer.get_run_data(None, "run-abc-123")
-def test_transformer_next_iter_yields_dataset_records(libguides_transformer):
- assert isinstance(next(libguides_transformer), DatasetRecord)
+def test_transformer_next_iter_yields_dataset_records(source_transformer):
+ assert isinstance(next(source_transformer), DatasetRecord)
def test_transform_next_iter_sets_valid_source_and_transformed_records(
- libguides_transformer,
+ source_transformer,
):
- record = next(libguides_transformer)
+ record = next(source_transformer)
# parse source record XML
assert isinstance(record.source_record, bytes)
@@ -151,10 +161,10 @@ def test_transform_next_iter_sets_valid_source_and_transformed_records(
def test_transform_next_iter_uses_run_data_parsed_from_source_file(
- libguides_transformer, libguides_input_file, run_id
+ source_transformer, source_input_file, run_id
):
- record = next(libguides_transformer)
- run_data = libguides_transformer.get_run_data(libguides_input_file, run_id)
+ record = next(source_transformer)
+ run_data = source_transformer.get_run_data(source_input_file, run_id)
assert (
record.run_date
== datetime.datetime.strptime(run_data["run_date"], "%Y-%m-%d")
@@ -175,7 +185,7 @@ def test_transform_next_iter_uses_run_data_parsed_from_source_file(
],
)
def test_transformer_action_column_based_on_transformation_exception_handling(
- libguides_transformer, transform_exception, expected_action
+ source_transformer, transform_exception, expected_action
):
"""While Transmogrifier is often considered just an application to transform a source
record into a TIMDEX record, it also serves the purpose of determining if a source
@@ -189,17 +199,17 @@ def test_transformer_action_column_based_on_transformation_exception_handling(
"""
if transform_exception:
- with mock.patch.object(libguides_transformer, "transform") as mocked_transform:
+ with mock.patch.object(source_transformer, "transform") as mocked_transform:
mocked_transform.side_effect = transform_exception
- record = next(libguides_transformer)
+ record = next(source_transformer)
assert mocked_transform.called
else:
- record = next(libguides_transformer)
+ record = next(source_transformer)
assert record.action == expected_action
-def test_transformer_provenance_object_added_to_transformed_record(libguides_transformer):
- dataset_record = next(libguides_transformer)
+def test_transformer_provenance_object_added_to_transformed_record(source_transformer):
+ dataset_record = next(source_transformer)
transformed_record = json.loads(dataset_record.transformed_record)
assert transformed_record["timdex_provenance"] == {
"source": "libguides",
@@ -210,10 +220,10 @@ def test_transformer_provenance_object_added_to_transformed_record(libguides_tra
def test_transformer_provenance_object_run_record_offset_increments(
- libguides_transformer,
+ source_transformer,
):
for i in range(4):
- dataset_record = next(libguides_transformer)
+ dataset_record = next(source_transformer)
if dataset_record.action != "index":
continue
transformed_record = json.loads(dataset_record.transformed_record)
@@ -221,9 +231,9 @@ def test_transformer_provenance_object_run_record_offset_increments(
def test_transformer_load_with_run_timestamp_parameter(
- libguides_transformer_with_timestamp, libguides_input_file, run_id
+ source_transformer_with_timestamp, source_input_file, run_id
):
- assert libguides_transformer_with_timestamp.run_data == {
+ assert source_transformer_with_timestamp.run_data == {
"source": "libguides",
"run_date": "2024-06-03",
"run_type": "full",
@@ -233,9 +243,9 @@ def test_transformer_load_with_run_timestamp_parameter(
def test_transformer_load_without_run_timestamp_parameter(
- libguides_transformer, libguides_input_file, run_id
+ source_transformer, source_input_file, run_id
):
- assert libguides_transformer.run_data == {
+ assert source_transformer.run_data == {
"source": "libguides",
"run_date": "2024-06-03",
"run_type": "full",
@@ -245,10 +255,11 @@ def test_transformer_load_without_run_timestamp_parameter(
def test_transformer_dataset_write_includes_run_timestamp_column(
- tmp_path, libguides_transformer
+ tmp_path,
+ source_transformer,
):
dataset_location = tmp_path / "dataset"
- written_files = libguides_transformer.write_to_parquet_dataset(str(dataset_location))
+ written_files = source_transformer.write_to_parquet_dataset(str(dataset_location))
parquet_file = written_files[0]
assert "run_timestamp" in parquet_file.metadata.schema.names
diff --git a/tests/sources/xml/test_libguides.py b/tests/sources/xml/test_libguides.py
new file mode 100644
index 0000000..901e4a1
--- /dev/null
+++ b/tests/sources/xml/test_libguides.py
@@ -0,0 +1,150 @@
+import transmogrifier.models as timdex
+from tests.sources.xml.test_springshare import (
+ SPRINGSHARE_FIXTURES_PREFIX,
+ create_oaidc_source_record_stub,
+)
+from transmogrifier.sources.xml.libguides import LibGuides
+
+LIBGUIDES_FIXTURES_PREFIX = f"{SPRINGSHARE_FIXTURES_PREFIX}/libguides"
+
+
+def test_libguides_transform_with_all_fields_transforms_correctly():
+ source_records = LibGuides.parse_source_file(
+ f"{LIBGUIDES_FIXTURES_PREFIX}/libguides_record_all_fields.xml"
+ )
+ output_records = LibGuides("libguides", source_records)
+ timdex_record = output_records.transform(next(output_records.source_records))
+ assert timdex_record == timdex.TimdexRecord(
+ source="LibGuides",
+ source_link="https://libguides.mit.edu/materials",
+ timdex_record_id="libguides:guides-175846",
+ title="Materials Science & Engineering",
+ citation="Materials Science & Engineering. MIT Libraries. libguides. "
+ "https://libguides.mit.edu/materials",
+ content_type=["libguides"],
+ contributors=None,
+ dates=[
+ timdex.Date(value="2008-06-19T17:55:27", kind="Created"),
+ ],
+ format="electronic resource",
+ identifiers=[
+ timdex.Identifier(value="oai:libguides.com:guides/175846", kind="OAI-PMH")
+ ],
+ links=[
+ timdex.Link(
+ url="https://libguides.mit.edu/materials",
+ kind="LibGuide URL",
+ text="LibGuide URL",
+ )
+ ],
+ publishers=[timdex.Publisher(name="MIT Libraries")],
+ subjects=[
+ timdex.Subject(
+ value=["Engineering", "Science"],
+ kind="Subject scheme not provided",
+ ),
+ ],
+ summary=["Useful databases and other research tips for materials science."],
+ )
+
+
+def test_libguides_transform_with_optional_fields_blank_transforms_correctly():
+ source_records = LibGuides.parse_source_file(
+ f"{LIBGUIDES_FIXTURES_PREFIX}/libguides_record_optional_fields_blank.xml"
+ )
+ output_records = LibGuides("libguides", source_records)
+ timdex_record = output_records.transform(next(output_records.source_records))
+ assert timdex_record == timdex.TimdexRecord(
+ source="LibGuides",
+ source_link="https://libguides.mit.edu/materials",
+ timdex_record_id="libguides:guides-175846",
+ title="Materials Science & Engineering",
+ citation="Materials Science & Engineering. libguides. "
+ "https://libguides.mit.edu/materials",
+ content_type=["libguides"],
+ format="electronic resource",
+ identifiers=[
+ timdex.Identifier(value="oai:libguides.com:guides/175846", kind="OAI-PMH")
+ ],
+ links=[
+ timdex.Link(
+ url="https://libguides.mit.edu/materials",
+ kind="LibGuide URL",
+ text="LibGuide URL",
+ )
+ ],
+ )
+
+
+def test_libguides_transform_with_optional_fields_missing_transforms_correctly():
+ source_records = LibGuides.parse_source_file(
+ f"{LIBGUIDES_FIXTURES_PREFIX}/libguides_record_optional_fields_missing.xml"
+ )
+ output_records = LibGuides("libguides", source_records)
+ timdex_record = output_records.transform(next(output_records.source_records))
+ assert timdex_record == timdex.TimdexRecord(
+ source="LibGuides",
+ source_link="https://libguides.mit.edu/materials",
+ timdex_record_id="libguides:guides-175846",
+ title="Materials Science & Engineering",
+ citation="Materials Science & Engineering. libguides. "
+ "https://libguides.mit.edu/materials",
+ content_type=["libguides"],
+ format="electronic resource",
+ identifiers=[
+ timdex.Identifier(value="oai:libguides.com:guides/175846", kind="OAI-PMH")
+ ],
+ links=[
+ timdex.Link(
+ url="https://libguides.mit.edu/materials",
+ kind="LibGuide URL",
+ text="LibGuide URL",
+ )
+ ],
+ )
+
+
+def test_libguides_record_is_excluded_returns_true_for_excluded_record(
+ mock_s3_exclusion_list,
+):
+ source_record = create_oaidc_source_record_stub(
+ header_insert=(
+ """
+ https://libguides.mit.edu/1234
+ """
+ ),
+ metadata_insert=(
+ """
+ https://libguides.mit.edu/excluded1
+ """
+ ),
+ )
+ output_records = LibGuides(
+ "libguides",
+ iter(source_record),
+ exclusion_list_path="s3://test-bucket/libguides/config/libguides-exclusions.csv",
+ )
+ assert output_records.record_is_excluded(source_record) is True
+
+
+def test_libguides_record_is_excluded_returns_false_for_non_excluded_record(
+ mock_s3_exclusion_list,
+):
+ source_record = create_oaidc_source_record_stub(
+ header_insert=(
+ """
+ https://libguides.mit.edu/5678
+ """
+ ),
+ metadata_insert=(
+ """
+ https://libguides.mit.edu/someotherguide
+ """
+ ),
+ )
+ output_records = LibGuides(
+ "libguides",
+ iter(source_record),
+ exclusion_list_path="s3://test-bucket/libguides/config/libguides-exclusions.csv",
+ )
+ assert output_records.record_is_excluded(source_record) is False
diff --git a/tests/sources/xml/test_springshare.py b/tests/sources/xml/test_springshare.py
index 83ffb62..c5298dd 100644
--- a/tests/sources/xml/test_springshare.py
+++ b/tests/sources/xml/test_springshare.py
@@ -9,7 +9,6 @@
from transmogrifier.sources.xml.springshare import SpringshareOaiDc
SPRINGSHARE_FIXTURES_PREFIX = "tests/fixtures/oai_dc/springshare"
-LIBGUIDES_FIXTURES_PREFIX = f"{SPRINGSHARE_FIXTURES_PREFIX}/libguides"
RESEARCHDATABASES_FIXTURES_PREFIX = f"{SPRINGSHARE_FIXTURES_PREFIX}/research_databases"
@@ -214,112 +213,6 @@ def test_get_source_link_raises_skipped_record_event_if_required_fields_missing(
springshare.get_source_link(source_record)
-###########################
-# Springshare - LibGuides
-###########################
-
-
-def test_springshare_libguides_transform_with_all_fields_transforms_correctly():
- source_records = SpringshareOaiDc.parse_source_file(
- f"{LIBGUIDES_FIXTURES_PREFIX}/libguides_record_all_fields.xml"
- )
- output_records = SpringshareOaiDc("libguides", source_records)
- timdex_record = output_records.transform(next(output_records.source_records))
- assert timdex_record == timdex.TimdexRecord(
- source="LibGuides",
- source_link="https://libguides.mit.edu/materials",
- timdex_record_id="libguides:guides-175846",
- title="Materials Science & Engineering",
- citation="Ye Li. Materials Science & Engineering. MIT Libraries. libguides. "
- "https://libguides.mit.edu/materials",
- content_type=["libguides"],
- contributors=[
- timdex.Contributor(
- value="Ye Li",
- kind="Creator",
- )
- ],
- dates=[
- timdex.Date(value="2008-06-19T17:55:27", kind="Created"),
- ],
- format="electronic resource",
- identifiers=[
- timdex.Identifier(value="oai:libguides.com:guides/175846", kind="OAI-PMH")
- ],
- links=[
- timdex.Link(
- url="https://libguides.mit.edu/materials",
- kind="LibGuide URL",
- text="LibGuide URL",
- )
- ],
- publishers=[timdex.Publisher(name="MIT Libraries")],
- subjects=[
- timdex.Subject(
- value=["Engineering", "Science"],
- kind="Subject scheme not provided",
- ),
- ],
- summary=["Useful databases and other research tips for materials science."],
- )
-
-
-def test_springshare_libguides_transform_with_optional_fields_blank_transforms_correctly():
- source_records = SpringshareOaiDc.parse_source_file(
- f"{LIBGUIDES_FIXTURES_PREFIX}/libguides_record_optional_fields_blank.xml"
- )
- output_records = SpringshareOaiDc("libguides", source_records)
- timdex_record = output_records.transform(next(output_records.source_records))
- assert timdex_record == timdex.TimdexRecord(
- source="LibGuides",
- source_link="https://libguides.mit.edu/materials",
- timdex_record_id="libguides:guides-175846",
- title="Materials Science & Engineering",
- citation="Materials Science & Engineering. libguides. "
- "https://libguides.mit.edu/materials",
- content_type=["libguides"],
- format="electronic resource",
- identifiers=[
- timdex.Identifier(value="oai:libguides.com:guides/175846", kind="OAI-PMH")
- ],
- links=[
- timdex.Link(
- url="https://libguides.mit.edu/materials",
- kind="LibGuide URL",
- text="LibGuide URL",
- )
- ],
- )
-
-
-def test_springshare_libguides_transform_with_optional_fields_missing_transforms_correctly():
- source_records = SpringshareOaiDc.parse_source_file(
- f"{LIBGUIDES_FIXTURES_PREFIX}/libguides_record_optional_fields_missing.xml"
- )
- output_records = SpringshareOaiDc("libguides", source_records)
- timdex_record = output_records.transform(next(output_records.source_records))
- assert timdex_record == timdex.TimdexRecord(
- source="LibGuides",
- source_link="https://libguides.mit.edu/materials",
- timdex_record_id="libguides:guides-175846",
- title="Materials Science & Engineering",
- citation="Materials Science & Engineering. libguides. "
- "https://libguides.mit.edu/materials",
- content_type=["libguides"],
- format="electronic resource",
- identifiers=[
- timdex.Identifier(value="oai:libguides.com:guides/175846", kind="OAI-PMH")
- ],
- links=[
- timdex.Link(
- url="https://libguides.mit.edu/materials",
- kind="LibGuide URL",
- text="LibGuide URL",
- )
- ],
- )
-
-
####################################
# Springshare - Research Databases
####################################
diff --git a/tests/test_cli.py b/tests/test_cli.py
index 5cab729..c8acd2b 100644
--- a/tests/test_cli.py
+++ b/tests/test_cli.py
@@ -5,14 +5,14 @@
def test_transform_no_sentry_not_verbose(
- caplog, monkeypatch, runner, libguides_input_file, empty_dataset_location
+ caplog, monkeypatch, runner, source_input_file, empty_dataset_location
):
monkeypatch.delenv("SENTRY_DSN", raising=False)
result = runner.invoke(
main,
[
"-i",
- libguides_input_file,
+ source_input_file,
"--output-location",
empty_dataset_location,
"-s",
@@ -28,7 +28,7 @@ def test_transform_no_sentry_not_verbose(
def test_transform_with_sentry_and_verbose(
- caplog, monkeypatch, runner, libguides_input_file, empty_dataset_location
+ caplog, monkeypatch, runner, source_input_file, empty_dataset_location
):
monkeypatch.setenv("SENTRY_DSN", "https://1234567890@00000.ingest.sentry.io/123456")
monkeypatch.setenv("STATUS_UPDATE_INTERVAL", "10")
@@ -36,7 +36,7 @@ def test_transform_with_sentry_and_verbose(
main,
[
"-i",
- libguides_input_file,
+ source_input_file,
"--output-location",
empty_dataset_location,
"-s",
@@ -56,8 +56,8 @@ def test_transform_with_sentry_and_verbose(
def test_transform_no_records(
caplog,
runner,
- libguides_input_file,
- empty_libguides_input_file,
+ source_input_file,
+ empty_source_input_file,
empty_dataset_location,
):
caplog.set_level("DEBUG")
@@ -65,7 +65,7 @@ def test_transform_no_records(
main,
[
"-i",
- empty_libguides_input_file,
+ empty_source_input_file,
"--output-location",
empty_dataset_location,
"-s",
@@ -77,13 +77,13 @@ def test_transform_no_records(
def test_transform_deleted_records(
- caplog, runner, libguides_input_file, empty_dataset_location
+ caplog, runner, source_input_file, empty_dataset_location
):
result = runner.invoke(
main,
[
"-i",
- libguides_input_file,
+ source_input_file,
"--output-location",
empty_dataset_location,
"-s",
@@ -200,7 +200,7 @@ def test_transform_no_memory_fault_for_threaded_bs4_parsing(monkeypatch, tmp_pat
"run",
"transform",
"-s",
- "libguides",
+ "researchdatabases",
"-i",
"tests/fixtures/dataset/libguides-2025-01-09-full-extracted-records-to-index.xml",
"-o",
diff --git a/transmogrifier/cli.py b/transmogrifier/cli.py
index 2c6a769..78b5fdd 100644
--- a/transmogrifier/cli.py
+++ b/transmogrifier/cli.py
@@ -33,6 +33,12 @@
type=click.Choice(list(SOURCES.keys()), case_sensitive=False),
help="Source records were harvested from, must choose from list of options",
)
+@click.option(
+ "-e",
+ "--exclusion-list-path",
+ required=False,
+ help="S3 or local path to exclusion list.",
+)
@click.option(
"-r",
"--run-id",
@@ -56,6 +62,7 @@ def main(
source: str,
input_file: str,
output_location: str,
+ exclusion_list_path: str,
run_id: str,
run_timestamp: str,
verbose: bool, # noqa: FBT001
@@ -69,6 +76,7 @@ def main(
transformer = Transformer.load(
source,
input_file,
+ exclusion_list_path=exclusion_list_path,
run_id=run_id,
run_timestamp=run_timestamp,
)
diff --git a/transmogrifier/config.py b/transmogrifier/config.py
index bd014e9..e532b10 100644
--- a/transmogrifier/config.py
+++ b/transmogrifier/config.py
@@ -102,7 +102,7 @@
"libguides": {
"name": "LibGuides",
"base-url": "https://libguides.mit.edu/",
- "transform-class": "transmogrifier.sources.xml.springshare.SpringshareOaiDc",
+ "transform-class": "transmogrifier.sources.xml.libguides.LibGuides",
},
"mitlibwebsite": {
"name": "MIT Libraries Website",
diff --git a/transmogrifier/sources/transformer.py b/transmogrifier/sources/transformer.py
index 2ce7fc1..9a76cf5 100644
--- a/transmogrifier/sources/transformer.py
+++ b/transmogrifier/sources/transformer.py
@@ -14,6 +14,7 @@
from importlib import import_module
from typing import TYPE_CHECKING, final
+import smart_open # type: ignore[import-untyped]
from bs4 import Tag # type: ignore[import-untyped]
from timdex_dataset_api import ( # type: ignore[import-untyped, import-not-found]
DatasetRecord,
@@ -23,7 +24,10 @@
import transmogrifier.models as timdex
from transmogrifier.config import SOURCES
from transmogrifier.exceptions import DeletedRecordEvent, SkippedRecordEvent
-from transmogrifier.helpers import generate_citation, validate_date
+from transmogrifier.helpers import (
+ generate_citation,
+ validate_date,
+)
if TYPE_CHECKING:
from collections.abc import Callable, Iterator
@@ -43,6 +47,7 @@ def __init__(
self,
source: str,
source_records: Iterator[dict[str, JSON] | Tag],
+ exclusion_list_path: str | None = None,
source_file: str | None = None,
run_id: str | None = None,
run_timestamp: str | None = None,
@@ -52,12 +57,16 @@ def __init__(
Args:
source: Source repository label. Must match a source key from config.SOURCES.
+ exclusion_list_path: S3 or local filepath to exclusion list CSV file.
+ exclsion_list: The exclusion list for this particular source.
source_records: A set of source records to be processed.
source_file: Filepath of the input source file.
run_id: A unique identifier associated with this ETL run.
run_timestamp: A timestamp associated with this ETL run.
"""
self.source: str = source
+ self.exclusion_list_path: str | None = exclusion_list_path
+ self._exclusion_list: list[str] | None = None
self.source_base_url: str = SOURCES[source]["base-url"]
self.source_name = SOURCES[source]["name"]
self.source_records: Iterator[JSON | Tag] = source_records
@@ -78,6 +87,32 @@ def __init__(
def run_record_offset(self) -> int:
return self.processed_record_count - 1
+ @property
+ def exclusion_list(self) -> list[str] | None:
+ if self.exclusion_list_path and self._exclusion_list is None:
+ self._exclusion_list = self.load_exclusion_list()
+ return self._exclusion_list
+
+ def load_exclusion_list(self) -> list[str]:
+ """
+ Load a CSV file from path (S3 or local filesystem) and return values as a list.
+
+ CSV file has no headers and contains identifiers to exclude, one per line.
+
+ Args:
+ exclusion_list_path: Path to exclusion list file (s3://bucket/key or local
+ path).
+ """
+ with smart_open.open(self.exclusion_list_path, "r") as exclusion_list:
+ rows = exclusion_list.readlines()
+ exclusion_list = [row.strip() for row in rows if row.strip()]
+ logger.info(
+ f"Loaded exclusion list from {self.exclusion_list_path} with "
+ f"{len(exclusion_list)} entries"
+ )
+ logger.debug(exclusion_list)
+ return exclusion_list
+
@final
def __iter__(self) -> Iterator[DatasetRecord]:
"""Iterate over transformed records."""
@@ -155,6 +190,7 @@ def load(
cls,
source: str,
source_file: str,
+ exclusion_list_path: str = "",
run_id: str | None = None,
run_timestamp: str | None = None,
) -> Transformer:
@@ -172,6 +208,7 @@ def load(
return transformer_class(
source,
source_records,
+ exclusion_list_path,
source_file=source_file,
run_id=run_id,
run_timestamp=run_timestamp,
@@ -302,6 +339,12 @@ def transform(self, source_record: dict[str, JSON] | Tag) -> timdex.TimdexRecord
if self.record_is_deleted(source_record):
timdex_record_id = self.get_timdex_record_id(source_record)
raise DeletedRecordEvent(timdex_record_id)
+ if self.record_is_excluded(source_record):
+ source_record_id = self.get_source_record_id(source_record)
+ logger.info(
+ f"Record ID {source_record_id} is in exclusion list, skipping record."
+ )
+ raise SkippedRecordEvent(source_record_id)
timdex_record = timdex.TimdexRecord(
source=self.source_name,
@@ -317,6 +360,15 @@ def transform(self, source_record: dict[str, JSON] | Tag) -> timdex.TimdexRecord
return timdex_record
+ def record_is_excluded(self, _source_record: dict[str, JSON] | Tag) -> bool:
+ """
+ Determine whether a source record should be excluded.
+
+ Args:
+ source_record: A single source record.
+ """
+ return False
+
def write_to_parquet_dataset(self, dataset_location: str) -> list:
"""Write output to TIMDEX dataset."""
timdex_dataset = TIMDEXDataset(location=dataset_location)
diff --git a/transmogrifier/sources/xml/libguides.py b/transmogrifier/sources/xml/libguides.py
new file mode 100644
index 0000000..d4c5faf
--- /dev/null
+++ b/transmogrifier/sources/xml/libguides.py
@@ -0,0 +1,38 @@
+import logging
+
+from bs4 import Tag # type: ignore[import-untyped]
+
+from transmogrifier.sources.xml.springshare import SpringshareOaiDc
+
+logger = logging.getLogger(__name__)
+
+
+class LibGuides(SpringshareOaiDc):
+ """LibGuides transformer that extends SpringshareOaiDc."""
+
+ def record_is_excluded(self, source_record: Tag) -> bool:
+ """
+ Determine whether a source record should be excluded.
+
+ Args:
+ source_record: A single source record.
+ """
+ source_link = self.get_source_link(source_record)
+ excluded = source_link in self.exclusion_list if self.exclusion_list else False
+ if excluded:
+ logger.info(
+ f"Record ID {self.get_source_record_id(source_record)} with source link "
+ f"'{source_link}' excluded"
+ )
+ return excluded
+
+ @classmethod
+ def get_contributors(cls, _source_record: Tag) -> None:
+ """
+ Override get_contributors to always return None for LibGuides records.
+
+ Args:
+ _source_record: A BeautifulSoup Tag representing a
+ single OAI DC record in XML.
+ """
+ return None # noqa: RET501
diff --git a/transmogrifier/sources/xml/springshare.py b/transmogrifier/sources/xml/springshare.py
index b6c4cab..3717daf 100644
--- a/transmogrifier/sources/xml/springshare.py
+++ b/transmogrifier/sources/xml/springshare.py
@@ -17,7 +17,6 @@ class SpringshareOaiDc(OaiDc):
Springshare transformer that extends generic OAI DC transformer.
This transformer is used for:
- - libguides
- researchdatabases
"""